robossembler.org/docs/technologies/machine-learning-in-robotics.md

9.4 KiB
Raw Blame History

id title
machine-learning-in-robotics Применение машинного обучения в робототехнике

События

Conference on Robot Learning

Крупнейшая мировая конференция по обучению роботов (в 2020 году опубликовано 160 докладов и всё доступно для изучения)

Официальный Сайт | Youtube

Организации

Columbia Artificial Intelligence and Robotics Lab

Github

Проекты лаборатории:

Decentralized Multi-arm Motion Planner

Децентрализованный планировщик движений для ассамблей роботов манипуляторов. Планировщик обучен на 1-4 манипуляторах, но при этом показал свою работоспособность на произвольном количестве манипуляторов. То есть является масштабируемым.

В проекте использованы следующие python-библиотеки: PyTorch 1.6.0, pybullet, numpy, numpy-quaternion, ray, tensorboardX. Для визуализации симуляций в Blender одним из авторов была разработана библиотека pybullet-blender-recorder. Доступны предварительно обученные модели.

Сайт | Github | Видео | Paper

AdaGrasp: Learning an Adaptive Gripper-Aware Grasping Policy

Разработка универсальной стратегии захвата для всех популярных моделей устройств механического захвата. Исследователи обучали модель на разных приспособлениях.

Сайт | Github | Видео | Paper

Исследования

Sachin Vidyasagaran'2020

Видео-обзор исследования по основным алгоритмам обучения с подкреплением Используемое ПО: OpenAI Gym Исследование проводилось на базе виртуальной среды FetchReach-v1 от OpenAI. Обзор решений для обучения роботов от OpenAI Результат(в случае с манипулятором): DDPG показал крайне низкую производительность - достижение приемлемого результата к 600 эпохе обучения, остальные три намного лучше

  • Deep Deterministic Policy Gradient (DDPG) - 600
  • HindSight Experience Replay (DDPG+HER) - 100
  • Twin-Delayed DDPG (TD3+HER) - 150
  • Extended Twin-Delayed DDPG (ETD3+HER) - 100

Инструменты машинного обучения

OpenAI Gym

Наиболее распространённая библиотека для обучения с подкреплением

https://gym.openai.com

Gym-UnrealCV

Github

Реалистичные виртуальные миры для обучения с подкреплением. UnrealCV используется для связи Unreal Engine и Gym.

Unity ML Agents

Github

Проект для обучения агентов на Unity, интегрирована с gym. Среды мультяшные, не очень фотореалистичные.

Gym Ignition

Github | Документация | Пример применения (видео)

Фреймворк для создания воспроизводимых виртуальных сред для обучения с подкреплением. В Gym-ignition представлена попытка создания унифицированного программного интерфейса как для реальных роботов и сред, так и для виртуальных.

Фреймворк состоит из следующих компонентов:

  • ScenarI/O (Scene Interfaces for Robot Input / Output) - слой абстракции C++ для взаимодействия с виртуальными и реальными роботами. Этот слой позволяет скрыть детали реализации конкретного физического движка.
  • Gazebo ScenarI/O: Реализация интерфейсов ScenarI/O для взаимодействия с симулятором Ignition Gazebo. Предоставляются python-биндинги набором функций, сопоставимым с популярными альтернативами - например, pybullet и mujoco-py.
  • gym_ignition: python-пакет с набором инструментов для создания OpenAI Gym сред и обучения в них роботов. Пакет предоставляет такие абстрации как Task и Runtime для облегчения создания сред, которые могут запускаться прозрачно во всех реализациях ScenarI/O (различные симуляторы, реальные роботы, ...). Пакет также содержит функции для расчёта инверсной кинематики и динамики с несколькими физическими телами, поддерживающей плавающих роботов на основе библиотеки iDynTree.
  • gym_ignition_environments: Демонстрационные среды с образцовой структурой, созданные с помощью gym_ignition и gym-ignition-models.

MoPA-RL

Website | Github | Paper | Video

Фреймворк сочетает преимущества обучения с подкреплением без модели (model-free RL) и планировщика движения (motion planner, MP) на основе выборки с минимальными знаниями о конкретных задачах. Для задач, требующих касания манипулятором или его приспособлением других предметов целесообразно использовать RL-policy, а в задачах, где нужно перемещение манипулятора в сложных стеснённых условиях, используется планировщик. Ключевая роль алгоритма состоит в том, что в ходе решения задач выбирается либо планировщик движения, либо прямое выполнение политики обучения с подкреплением. Тем самым достигается высокая производительность. В симуляциях использовался движок физики Mujoco.

AirSim

Github

Open source симулятор для автономных транспортных средств от Microsoft AI & Research. Интересен тем, что поддерживаются оба игровых движка для рендеринга - Unreal Engine и Unity(пока экспериментальная поддержка). Разработаны python-обёртки для OpenAI Gym и ROS.

Для поддержки URDF в AirSim разработан форк - UrdfSim ([Github]](https://github.com/mitchellspryn/UrdfSim)).

RelMoGen

Leveraging Motion Generation in Reinforcement Learning for Mobile Manipulation | Paper

Gibson Environments

Сайт | Github

Набор виртуальных сред (в основном жилые помещения для людей) для обучение мобильных роботов. Используется bullet и gym-подобный интерфейс для взаимодействия с агентом.