Швейцарские инженеры разработали для четвероногого робота на колесах алгоритм управления, основанный на обучении с подкреплением с внутренней мотивацией, для выполнения задач одновременного движения на задних колесах и манипуляции предметами с помощью передних конечностей.
Робот под управлением алгоритма научился успешно выполнять тестовые задания — открывать запертую дверь, и выбрасывать лежащую на столе коробку в контейнер. Доклад с описанием алгоритма опубликован в рамках конференции CoRL 2023.
Четвероногий робот ANYmal, способный передвигаться по сложному рельефу, был создан в 2016 году инженерами из Швейцарской высшей технической школы Цюриха. Через некоторое время появилась его модифицированная версия с установленными на концах ног колесами, благодаря которым робот получил возможность передвигаться, комбинируя езду и ходьбу. Позднее инженеры из компании Swiss-Mile научили этого робота удерживать вертикальное положение, балансируя на двух задних колесах. Две верхние конечности в этом случае могут использоваться в качестве манипуляторов для взаимодействия с окружающими предметами.
Однако для того, чтобы реализовать одновременное выполнение действий верхними конечностями и передвижение на задних колесах, необходимо решить довольно сложную алгоритмическую задачу. Обычно ее стараются упростить путем разделения на две части: задачу локомоции и задачу взаимодействия с объектом, которые затем дополнительно разбиваются на ряд этапов. Такой подход не универсален и требует множества ручных настроек под каждый конкретный сценарий.
Марко Хуттер (Marco Hutter) и его коллеги из Швейцарской высшей технической школы Цюриха разработали для четвероногого колесного робота алгоритм, основанный на методе обучения с подкреплением, мотивированным любопытством (curiosity-driven learning), который позволил решить задачу одновременной локомоции на задних колесах и манипуляций с объектами как единое целое. Как известно обучение с подкреплением — это подход, в котором агент самостоятельно обучается взаимодействовать с окружающей средой методом проб и ошибок. Он выбирает, какие действия совершить, чтобы выполнить поставленную задачу, и в результате получает отклик от среды в виде награды или штрафа — числовой сигнал, который используется алгоритмом для определения того, насколько успешно выполнено действие. Конечная цель — найти последовательности действий, которая приводит к получению максимальной суммарной награды.
В данном случае вместо множества отдельных наград, получаемых за подзадачи, разработчики решили использовать одну награду, которую агент получает от среды за правильное выполнение конечной цели задания. Например, в одной из тестовых ситуаций получение награды происходит за раскрытие запертой двери, а в другой — за перемещение лежащей на столе коробки в корзину.
Для того чтобы агент смог за разумное время сам найти правильную последовательность действий для получения итоговой награды, разработчики применили концепцию обучения, мотивированного любопытством, реализованную в методе случайной сетевой дистилляции (Random Network Distillation). Агент в нем имеет механизм внутренней мотивации, стимулирующей его получать новый опыт. Технически это выражается в виде дополнительного вознаграждения, которое агент получает за изучение новых, еще неисследованных областей в пространстве состояний. Для этого агент пытается предсказать результаты собственных действий и получает награду в зависимости от того, насколько точны эти предсказания — чем точнее, тем меньше величина получаемого вознаграждения. Это побуждает агента исследовать среду и пробовать действия, которые он еще не выполнял, приобретая новые навыки.
Обучение алгоритма выполнялось на графической карте Nvidia RTX 2080 Ti. На каждый полный цикл, включающий в себя для обеспечения сходимости величины вознаграждения 2000 обновлений политики, требовалось около одного часа. Обученный алгоритм сначала проверяли в симуляции, а затем переносили на реального робота Swiss-Mile в лаборатории. С первым заданием, в котором робот должен подъехать к закрытой двери и распахнуть ее, нажав на дверную ручку правым колесом, одновременно толкая дверь вперед, робот справился более 15 раз подряд без единого сбоя.
В задаче взаимодействия с предметом, робот с обученным алгоритмом надежно обхватывал лежащую перед ним на столе коробку колесами на передних конечностях, после чего поворачивался к стоящему рядом со столом контейнеру и выбрасывал коробку в него. С этим заданием робот справился более 5 раз подряд. Правда, в одном из тестов, робот не удержал и выронил объект обратно на стол, однако затем снова подобрал его, после чего закончил задание успешно.
Способность самостоятельно обучаться и выполнять сложные действия может пригодиться роботам не только на земле, но и на других планетах. Специалисты из Лаборатории реактивного движения NASA предложили исследовать Марс с помощью команды из робособак. Каждый член робособачей стаи будет отличаться от других, иметь свою роль в группе и помогать остальным.
Автор: Андрей Фокин