Американские инженеры разработали алгоритм управления четвероногим роботом, позволяющий ему моментально вслепую, без визуальных датчиков, адаптироваться к изменению рельефа или внешним нагрузкам, и при этом полностью основанный на машинном обучении. Разработчики показали, что робот без проблем адаптируется к ходьбе по намазанной маслом пленке или к тому, что ему на спину кладут восьмикилограммовый груз, меняющий динамику его движений. Краткое описание алгоритма и экспериментов опубликовано в блоге Facebook* AI, а статья и видео с примерами доступны на сайте авторов.
Главное преимущество четвероногих и вообще ходячих роботов перед колесными заключается в их проходимости и умению балансировать даже при внешних возмущениях. Например, несколько лет назад инженеры Boston Dynamics любили выкладывать ролики, на которых они бьют свои разработки ногами, проверяя их способность устоять на ногах, или отправляют их ходить по тонкому льду, демонстрируя адаптацию к поверхностям с разным уровнем скольжения.
Классический подход к созданию алгоритмов управления ходячими роботами — это создание контроллера, основанного на модели движений робота. Например, часто применяется метод управления на основе прогнозирующих моделей (MPC) или линейно-квадратичный регулятор (LQR). Но такой подход требует большого объема ручных корректировок и точного описания динамики робота и окружающего мира. В последние годы все чаще как в четвероногих роботах, так и в других устройствах, применяют алгоритмы машинного обучения, позволяющие роботу самому выучить оптимальные движения, причем самый перспективный подход — обучение в виртуальной среде с последующим переносом выученного навыка на реальную машину.
Инженеры под руководством Джитендры Малика (Jitendra Malik) из Калифорнийского университета в Беркли и Facebook AI Research создали полностью выученный алгоритм управления четвероногим роботом, позволяющий ему на ходу адаптироваться к изменениям условий, не используя визуальные датчики.
Работу алгоритма можно описать следующим образом. Для идеальной адаптации к внешним условиям роботу нужно знать параметры среды, такие как наклон, трение поверхности, высота препятствия под ногой и прочие. В реальности, особенно с учетом того, что разработчики в рамках этой работы отказались от визуальных датчиков, единственный способ понять свойства среды — косвенный, основанный на сравнении команд и тем, как на самом деле двигается робот во время их выполнения.
В каждый момент времени робот анализирует свое текущее состояние и предыдущее действие, и на основе всех этих данных рассчитывает следующее действие. Так работает основной алгоритм. Но помимо него разработчики также создали адаптационный модуль. Его задача заключается в том, чтобы понять свойства окружающей среды. Для этого он анализирует состояния робота и его действия за последние 0,5 секунды и с помощью одномерной сверточной нейросети превращает их в вектор, кодирующий внешние условия. Этот вектор вместе с состояниями и действиями за последние полсекунды подается на модуль расчета движений.
Авторы обучали алгоритм в виртуальной среде в две стадии. Сначала они обучали основной алгоритм расчета движений и алгоритм, кодирующий внешние условия (на этом этапе у него был доступ к параметрам среды). Затем, когда базовый навык движений и кодировщик условий были выучены, разработчики уже без данных о среде обучали модуль адаптации по состоянию и действиям робота вычислять вектор внешних условий и тем самым адаптироваться к их изменениям.
После виртуального обучения разработчики развернули алгоритм на китайском четвероногом роботе Unitree A1. Во время испытаний робот ни разу не упал при ходьбе по песку, грязи, горным тропинкам и высокой траве. Также он успешно работал в 80 процентах случаев при ходьбе по камням и неровному поролону, и в 70 процентах при спуске вниз по горной тропинке. Наконец, они показали, что робот успешно справляется, когда на него во время ходьбы кладут груз массой до восьми килограмм, тем самым меняя динамику его движений.
Другая группа американских инженеров недавно научила четвероногого робота автономно перепрыгивать препятствия на пути.
*Facebook принадлежит компании Meta, деятельность которой в России запрещена.
Григорий Копиев