Это последняя часть серии сообщений в блогах, в которых мы обсуждаем использование рандомизации доменов для решения технических проблем при создании статьи. В конечном итоге статья была принята к публикации на Международной конференции IEEE / RSJ по интеллектуальным роботам и системам 2022 года (IROS 2022) и стала финалистом премии Лучшая статья.

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

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

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

Преодоление разрыва Sim2Real

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

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

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

Рандомизация визуальных атрибутов

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

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

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

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

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

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

Положение и ориентация камеры также рандомизировались в начале каждого эпизода симуляции. Камера была инициализирована в постоянном положении с точки зрения базы робота, и она всегда смотрела на точку обзора, изначально находящуюся в центре ткани. Положение самой точки обзора было равномерно рандомизировано в начале каждого эпизода в плоскости x,y в пределах максимального радиуса 3 см, что соответственно меняет ориентацию камеры.

Для рандомизации положения камеры случайное число в диапазоне [-0,5 м, 0,5 м] было равномерно выбрано для каждого измерения и добавлено к исходной координате. Вращение камеры также рандомизировано, но изменен только угол поворота по оси z в координатах камеры, которая указывает на точку наблюдения, поскольку положение и точка ограничивают две другие оси.

Вращение вокруг оси z было изменено числом, равномерно выбранным из [-0,9 рад, 0,9 рад]. Последний аспект, который рандомизируется, связанный с камерами, — это фокусная ширина и высота камеры. Фокусная высота инфракрасной камеры RealSense составляет 14 градусов, поэтому фокусная высота при моделировании была равномерно выбрана между 13 и 15 градусами в каждом эпизоде.

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

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

Изображения, снятые в моделировании, не страдают от таких эффектов, как размытие, как видно из приведенного выше наблюдения RGB, в то время как это присуще реальным камерам из-за размера изображения, расстояния до интересующего объекта и условий освещения. Чтобы включить тот же эффект в изображения, полученные при моделировании, к изображениям добавлялось случайное размытие по Гауссу на каждом временном шаге, как показано ниже. Изображения RGB также преобразуются в оттенки серого и уменьшаются перед применением случайного размытия.

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

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

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

Идентификация наборов полезных параметров ткани началась с выборки параметров из униформы для виртуальных пружин-демпферов MuJoCo и их параметров d, k и b.

Каждая виртуальная пружина-демпфер тканевой сетки использовала одинаковые значения d, k и b на основе выборки. Фактически цель этого процесса состоит в том, чтобы отфильтровать диапазоны параметров, которые создают чрезмерно демпфированные или слишком дрожащие ткани.

Затем манипулировали смоделированными тканями с выбранными параметрами, используя успешную демонстрационную траекторию, собранную во время идентификации робота, которая обсуждалась в предыдущем сообщении в блоге. Из выбранных параметров одежды были выбраны 20 лучших комбинаций параметров d, k и b, которые обеспечивают наивысшую награду RL в конце сгиба, что дало набор смоделированных тканей, которые затем использовались для фактического обучения RL. . Во время обучения RL ткань, используемая для каждого эпизода манипуляции, была равномерно отобрана из набора идентифицированных тканей.

Заключение

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

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

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

Ссылки на все посты из серии можно найти здесь: Часть 1, Часть 2 и Часть 3.