Если у вас возникли проблемы с чтением статьи из-за платного доступа, воспользуйтесь ссылкой из моего личного блога здесь

В этой статье содержится подробная информация о sim2real в роботизированных манипуляциях для следующих задач:

  • Восприятие для манипуляции (DOPE / SD-MaskRCNN).
  • Захватывающий (Dex-Net 3.0 / 6DOF GraspNet).
  • Сквозные политики. (Контактные задачи манипуляции и манипуляции кубиком Рубика в руке)
  • Методы управляемой рандомизации доменов (ADR / Sim-Opt).

Разрыв в реальности:

С годами алгоритмы DeepRL овладевают все более впечатляющими навыками моделирования (DQN / AlphaGo / OpenAI Five). Как для алгоритмов глубокого обучения, так и для алгоритмов RL требуются очень большие объемы данных. Более того, в алгоритмах RL существует риск для окружающей среды или робота на этапе разведки. Моделирование обещает получение огромных объемов данных (может выполняться параллельно и намного быстрее, чем в реальном времени с минимальными затратами) и не сломает вашего робота во время исследования. Но эти политики, полностью обученные моделированию, не могут быть обобщены на реальном роботе. Этот разрыв между впечатляющей производительностью моделирования и низкой производительностью известен как разрыв в реальности.

Вот несколько способов преодолеть разрыв в реальности:

  • Идентификация системы. Определите точные физические / геометрические / визуальные параметры окружающей среды, относящиеся к задаче, и смоделируйте их в симуляции.
  • Адаптация предметной области. Перенесите методы обучения для переноса / точной настройки политик, обученных в симуляции, в реальности.
  • Рандомизация домена. Произведите случайное моделирование, чтобы охватить реальность как один из вариантов.

В основном мы сосредоточимся на методах рандомизации предметной области и их расширении, используемом в некоторых недавних и успешных передачах sim2real при манипуляциях с роботами.

Рандомизация домена

Формально рандомизация домена определяется как:

Таким образом, рандомизация домена пытается найти общие параметры π политики, которые работают в широком диапазоне рандомизированных симуляций P_ {mu}. Итак, есть надежда, что политика, которая работает с широким диапазоном рандомизации, также работает в реальном мире, предполагая, что реальный мир - это просто еще одна рандомизация, охватываемая рандомизацией.

В зависимости от того, как выбирается эта рандомизация моделирования, у нас есть 2 типа:

  • Рандомизация домена. Фиксированное распределение рандомизации в диапазоне, который часто выбирается вручную. Мы увидим, как это было использовано в задачах восприятия и схватывания для повышения эффективности данных.
  • Управляемая рандомизация домена. Для изменения распределения рандомизации можно использовать моделирование или реальные эксперименты. Мы увидим, как это было использовано при обучении политик end2end для сложных и сложных задач. Некоторые из управляемых рандомизаций домена действительно выглядят как адаптация домена.

Рандомизация домена:

Некоторые из первых примеров использования рандомизации предметной области использовались для локализации объектов на примитивных фигурах [2] и толкании столешницы [3]. Мы рассмотрим примеры более сложных задач, таких как сегментация и оценка позы, с акцентом на то, какие рандомизации были выбраны и насколько хороша производительность передачи.

Рандомизация домена в восприятии:

SD Mask R-CNN: SD (синтетические данные) Mask R-CNN обучает сегментацию экземпляров, не зависящую от категории, полностью на основе синтетического набора данных с производительностью, превосходящей производительность, точно настроенную из набора данных COCO.

Симулятор: pybullet

Рандомизация: поскольку эта сеть использует изображения глубины в качестве входных данных, необходимые рандомизации минимальны (реалистичные по глубине изображения легче генерировать по сравнению с фотореалистичными).

  • Выберите число n ∈ p (λ = 5) объектов и поместите его в корзину с помощью динамического моделирования. Это позволит выбрать разные объекты и разные позы объектов.
  • Пример внутренней камеры K и внешней камеры (R, t) ∈ SE (3) в окрестности реальной внутренней камеры и внешней настройки.
  • Выполните рендеринг как изображения глубины D, так и маски объекта переднего плана M.

Mask-RCNN, обученная сегментации экземпляров полностью на синтетических данных (SD-Mask R-CNN), сравнивается с парой базовых методов сегментации, а маска R-CNN, обученная на наборе данных COCO и уточненная (FT Mask R-CNN) на МУДРОСТЬ-настоящий поезд. Используемый здесь набор тестов WISDOM-real-test представляет собой набор реальных данных, собранных с помощью камер глубины с высоким и низким разрешением и вручную маркированных масок сегментации.

Из исследования абляции оба показателя растут по мере увеличения количества выборок синтетических данных, что указывает на то, что большее количество данных может помочь улучшить производительность. Однако увеличение количества уникальных объектов дает неоднозначные результаты (может быть из-за ограниченного количества объектов в WISDOM-real-test).

Некоторое качественное сравнение результатов сегментации из SD Mask R-CNN

DOPE (оценка позы глубокого объекта): DOPE решает проблему оценки позы объектов YCB полностью с использованием синтетического набора данных, который содержит рандомизированные и фотореалистичные изображения RGB.

Симулятор: UE4 с подключаемым модулем NDDS.

Рандомизация домена:

  • Количество / типов / трехмерных поз / текстур на объектах-отвлекающих примитивных трехмерных формах.
  • Номера / текстуры / 3D позы интересующих объектов из набора объектов YCB.
  • Равномерное / текстурированное или изображения из COCO в качестве фоновых изображений.
  • Направленные огни с произвольной ориентацией и интенсивностью.

Фотореалистично:

  • Падающие объекты YCB в фотореалистичных сценах из стандартных виртуальных сред UE4. Эти сцены запечатлены в разных позах камеры.

Обратите внимание, что рандомизация встроенных функций камеры здесь не нужна, поскольку метод регрессирует тепловые карты трехмерного блока и векторных полей к центроиду. Он использует эту прогнозируемую 2D-информацию / свойства камеры (явно) / размеры объекта для прогнозирования 3D-позы.

График ADD (Среднее расстояние до 3D-точек на ограничивающих прямоугольниках) зависимости скорости прохождения от порогового значения расстояния ниже измеряет успешное обнаружение позы в пределах этого порога (чем выше, тем лучше). Обратите внимание на то, что необходимы как динамические, так и фотореалистичные изображения для получения сопоставимой производительности с методом, обученным на реальных данных (PoseCNN).

Некоторые качественные сравнения DOPE с PoseCNN (реальные данные) показаны ниже. Обратите внимание, как DOPE производит более плотные коробки и более устойчивые к условиям освещения.

Рандомизация домена в процессе рассмотрения:

Давайте рассмотрим несколько примеров рандомизации предметной области, применяемой к роботизированному захвату (как захват на основе всасывания, так и параллельный захват челюстями), с акцентом на то, какие аспекты рандомизируются и их успех передается в захват реального робота.

Dex-Net 3.0:

Всасывание GQ (качество захвата) -CNN берет участок изображения глубины с центром в точке всасывания и выдает показатель качества. Процесс создания этикеток показателей качества проиллюстрирован ниже:

Вот примеры еще нескольких меток, созданных с помощью трехмерных моделей с аннотациями устойчивости:

Симулятор: пользовательская квазистатическая физическая модель, которая имитирует образование уплотнения и способность противостоять гравитации и случайным внешним воздействиям.

Рандомизация: графическая модель показывает параметры рандомизации, используемые в Dex-Net 3.0.

Вот явно перечисленные рандомизации:

  • Равномерно выберите трехмерный объект O из обучающей выборки.
  • Выберите позу покоя T_s и пример плоского возмущения из U ([- 0.1, 0.1], [-1.0, 1.0], [0, 2π)) и примените плоское возмущение (x, y, θ) к T_s, чтобы получить позу объекта. К
  • Коэффициент трения μ выбирается из N _ + (0,5, 0,1)
  • Поза камеры T_c выбирается в сферических координатах (r, θ, ϕ) ∈ U ([0,5, 0,7], (0, 2π, 0,01π, 0,1π)), где оптическая ось камеры пересекает стол.
  • Захваты всасывания равномерно отбираются на поверхности трехмерной сетки объекта.

Для каждой такой выборки захвата рассчитывается показатель сопротивления гаечному ключу, и облако точек для трехмерной объектной сетки визуализируется с использованием выборки позы камеры и известного внутреннего свойства камеры.

Политика передачи нулевого кадра (CEM), которая оптимизирует образцы в соответствии с всасывающим GQ-CNN, показана на видео ниже:

6DOF GraspNet:

Платформа GraspNet состоит из двух компонентов, каждый из которых принимает облако точек, соответствующее целевому объекту:

  • VAE (вариационный автокодер) предсказывает образцы захвата с 6 степенями свободы, которые имеют высокий охват на целевом объекте.
  • Оценщик захвата, который берет образец захвата с 6 степенями свободы в дополнение к облаку точек, дает оценки качества. Что позже используется для уточнения захвата, взятого с помощью VAE.

Градиент на оценщике захвата можно использовать для дальнейшего уточнения отобранных захватов.

Обучение обеих сетей требует положительных меток понимания, которые полностью создаются в симуляции.

Симулятор: симулятор NVIDIA FleX.

Генерация синтетических данных:

  • Объект взят из подмножества ShapeNet.
  • Схема выборки, основанная на подходе, используется для создания образцов захвата. Для моделирования выбираются образцы, которые не находятся в коллизии и имеют ненулевой объем объекта.
  • Сетка объекта и захват в выбранной позе загружаются в симуляцию. Поверхностное трение и плотность объекта остаются постоянными (никаких рандомизаций! Правда?). Захват закрывается, и выполняется заданное встряхивающее движение. Захваты, удерживающие объект между захватами, отмечены как положительные захваты.
  • Жесткие отрицательные захваты образуются вблизи положительных захватов, которые либо сталкиваются с захватом, либо нулевой объем объекта между захватами.

Визуализация генерации данных схватывания:

Некоторые из положительных образцов на мисках и ящиках показаны ниже:

Производительность GraspNet с 6 степенями свободы на ранее невидимых объектах YCB:

Управляемая рандомизация домена:

Ранее мы видели несколько примеров рандомизированного моделирования, которые приводят к успешному переходу к реальным робототехническим задачам. Эти рандомизации были тщательно выбраны в соответствии с номинальными значениями реального мира и часто настраивались для передачи в реальном мире. Это становится утомительным, когда есть большое количество параметров для выбора, а очень широкая рандомизация часто приводит к недопустимым / неоптимальным решениям в моделировании. Мы рассмотрим две стратегии для автоматизации этого:

  • Автоматическая рандомизация домена в контексте решения кода Рубика.
  • Sim-Opt в контексте задач манипулирования с большим количеством контактов, которые используют развертывание политики в реальном мире.

Автоматическая рандомизация домена (ADR):

Давайте кратко рассмотрим общую структуру, используемую для решения кубика Рубика, прежде чем углубляться в алгоритм ADR. Вот хороший обзор всего фреймворка:

Хотя часть видения сети также полностью обучается моделированию с помощью ADR, давайте сосредоточимся на части политики жесткого контроллера, которая управляет кубиком Рубика. Отметим, что оптимальная последовательность поворотов граней кубика Рубика решается по алгоритму Коциембы.

Задача решения кубика Рубика теперь сводится к задаче успешного выполнения вращения граней и действий переворачивания, чтобы убедиться, что грань, которую нужно повернуть, находится наверху.

Теневая рука робота используется для выполнения переворотов и вращений кубика Рубика. Вот подробности входов и выходов сети политик и функций вознаграждения.

Входные данные: наблюдаемое положение кончиков пальцев, наблюдаемая поза куба, поза куба цели, шумная относительная ориентация куба, углы грани ворот, шумные относительные углы граней куба.

Выходы: теневая рука имеет 20 суставов, которые можно активировать, а политика выводит дискретное пространство действий из 11 ячеек на сустав.

Функция вознаграждения: сочетание:

  • Расстояние между текущим состоянием куба и состоянием цели.
  • Дополнительная награда за достижение цели.
  • Штраф за урон кубиком.

Также эпизоды прерываются на основании 50 последовательных успехов / выпадения куба или тайм-аута при попытке достичь цели.

Симулятор: MuJoCo

Кроме того, много усилий было вложено в моделирование деталей динамики куба Рубика и руки робота Тени.

Алгоритм ADR:

По сравнению с наивной рандомизацией домена:

  • Учебный план: ADR постепенно увеличивает сложность задачи, облегчая конвергенцию политики.
  • Автоматически: устраняет необходимость ручной настройки параметров, которая может быть не интуитивно понятной для большого набора параметров.

Рандомизация:

  • Физические параметры симулятора, такие как трение между кубом, рукой робота, размер куба, параметры модели руки и т. Д.
  • Настраиваемые параметры физики, такие как задержка действия, дисперсия временного шага.
  • Шум наблюдения за позами куба, положениями пальцев на уровне эпизода, а также на уровне каждого шага.

Все параметры моделирования выбираются из равномерного распределения в диапазоне (ϕ_L, ϕ_H). Таким образом, распределение параметров симулятора для параметров d определяется выражением:

А энтропия используется для измерения сложности распределения обучения, которая для продукта равномерного распределения равна:

Пороговые значения (t_L, t_H) производительности задачи (то есть количество успехов в данном эпизоде) используются для настройки параметров ϕ. ADR начинается с одного значения параметра моделирования. На каждой итерации выбирается одно из граничных (ϕ_L или ϕ_H) значений одного из параметров рандомизации ϕ_i, и производительность оценивается и добавляется в буфер (D_L или D_H). После того, как буфер имеет адекватный размер, в зависимости от того, выше ли общая производительность t_H или ниже t_L, диапазон ϕ_i увеличивается или диапазон ϕ_i уменьшается соответственно.

Sim2Sim: Польза обучения по учебной программе была изучена в контексте передачи Sim2sim, заключающейся в приведении куба в ориентацию на цель. Набор тестов представляет собой предварительно настроенную вручную схему рандомизации домена, которая никогда не была представлена ​​в ADR. Как можно видеть, энтропия рандомизации домена растет, как и производительность в среде тестового моделирования.

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

Sim2Real: в таблице ниже показана эффективность политики обучения ADR в Sim и Real для разных объемов обучения. Обратите внимание, как энтропия P_ϕ продолжает расти по мере обучения.

Вот успешное выполнение решения кубика Рубика из случайного перемешивания:

Перспектива метаобучения: поскольку у политики LSTM недостаточно возможностей для запоминания всех вариаций динамики, она учится адаптировать политику к конкретным экземплярам динамики во время выполнения (например, идентификации онлайн-системы).

Это изучается путем нарушения памяти LSTM / изменения динамики на лету или ограничения случайного соединения. Как можно видеть каждое из возмущений, количество времени, необходимое для выполнения подцели, внезапно увеличивается по мере того, как вносится возмущение, и после нескольких выполнений политика калибруется в соответствии с новой динамикой, и производительность возвращается к соответствующему базовому уровню.

Sim-Opt:

Фреймворк Sim-opt пытается найти параметры распределения моделирования, которые делают несоответствие между наблюдаемой траекторией в моделировании и в реальном мире, выполняя обученную политику.

Он демонстрирует подход с двумя реальными роботизированными задачами на двух разных роботизированных руках:

  • Открытие ящика с Франкой Эмикой Панда.
  • Задание поворота колышка в отверстие с ABB YuMi.

Вот обзор фреймворка SimOpt:

Просто напомним, рандомизация предметной области пытается найти θ (параметры политики) так, чтобы одна и та же политика распространялась на несколько рандомизаций ξ ∈ P_ϕ динамики симулятора.

SimOpt пытается минимизировать следующие целевые параметры симулятора ϕ

Чтобы уменьшить количество операций роботов в реальном мире, ϕ обновляется только после того, как политика полностью сойдется в моделировании. Итерационные обновления ϕ выполняются следующим образом:

Вот полный алгоритм SimOpt:

Количество итераций sim-opt итерации составляет всего N = 3 итерации.

Вот некоторые подробности рандомизации симулятора. Давайте посмотрим на задачу качания колышка в отверстии:

Симулятор: NVIDIA FleX

Случайное моделирование:

  • Задания с поворотным стержнем в отверстии.

Адаптация указанной выше матрицы ковариации параметров моделирования и соответствующих состояний в конце политики после полного обучения.

Хотя параметры моделирования являются довольно исчерпывающими, входные данные для политики минимальны. Совместные позиции 7 DoF и трехмерное положение привязки являются исходными данными для политики. Функция вознаграждения - это комбинация расстояния от колышка до отверстия, совмещения угла с отверстием и успешности задания.

Тот факт, что SimOpt должен запускать реальное выполнение робота в цикле обучения, кажется, многого требует. Однако обратите внимание, что на этапе выполнения в реальном мире не требуется никакой функции вознаграждения / полного наблюдения за состоянием. Все, что нужно, - это просто запустить изученную политику на реальном роботе. Это похоже на идентификацию системы «на лету», так что политика, обученная на P_ϕ (ξ), обобщается на реальном роботе.

На видео ниже показано выполнение политики, обученной с помощью SimOpt.

Вывод:

Мы видели несколько примеров успешной передачи sim2real для политик управления восприятием, схватыванием и обратной связью. Во всех примерах было уделено много внимания тому, чтобы симуляция была максимально реалистичной, и были выбраны параметры для рандомизации. Мы также видели примеры управляемой рандомизации доменов, которые упрощают задачу ручной настройки во время передачи sim2real и позволяют избежать проблем конвергенции политик из-за очень широких спецификаций политик.

Наконец, оставлю вас с комиксом (или поучительным рассказом?)

Ссылки