Американские инженеры научили четвероногого робота Mini Cheetah приземляться на ноги после падения под произвольным углом вплоть до 90 градусов. В начале падения нейросеть за две миллисекунды рассчитывает траекторию движения, необходимую для горизонтального приземления. Поскольку для переворота необходимо перераспределять массу, разработчики утяжелили ноги робота, вставив в них сотни монет. Статья опубликована на arXiv.org.
Кошки в течение первых нескольких недель жизни начинают проявлять рефлекс выпрямления при падении, благодаря которому они приземляются на лапы, даже если изначально падали спиной вниз. Физики довольно долго пытались точно объяснить механику переворота и в итоге в конце 1960-х годов пришли к выводу, что падающая кошка совмещает два типа вращательных движений, изгибая спину в полете. Это надежный и практичный метод, но он не подходит для ходячих роботов, потому что обычно их конструкция не позволяет так изгибать тело.
Инженеры из во главе с Хай Линем (Hai Lin) из американского Университета Нотр-Дам разработали метод переворота в падении, который гипотетически подходит для большинства четвероногих роботов. Они проверили его работу на Mini Cheetah — четвероногом роботе, который инженеры из Массачусетского технологического института создали для разработки и отладки новых алгоритмов. У него классическая конструкция с ногами из двух секций, приводимых в движение электромоторами. Ноги Mini Cheetah могут двигаться в плоскости вдоль тела и поворачиваться вбок, но авторы решили не усложнять задачу и рассмотрели только вращение ног робота вдоль тела без учета других движений. Единственное аппаратное отличие от обычного Mini Cheetah — утяжеленные ноги. Инженеры сделали пластиковые насадки, в которые положили по 80 пятицентовых монет. Это позволяет менять распределение массы, двигая ногами, и тем самым поворачивать тело в нужную сторону.
Авторы опробовали разные подходы к управлению и в итоге остановились на нейросетевом контроллере. Он берет изначальное состояние робота (угол тела к полу и углы сегментов ног) и создает на его основе траекторию движений до самого контакта пола. Траектория состоит из набора состояний и крутящих моментов электромоторов ног, необходимых, чтобы прийти в следующие состояния. Она разбита на этапы, идущие каждую миллисекунду. Для обучения контроллера разработчики сгенерировали 400 пар типа изначальное состояние — траектория. Они использовали метод дифференциального динамического программирования, позволяющий искать оптимальную траекторию движения. С помощью этого датасета нейросеть научилась самостоятельно предсказывать оптимальную траекторию от изначального состояния к приземлению в горизонтальном положении, затрачивая на это две миллисекунды.
Инженеры протестировали алгоритм, сначала в симуляции, а затем в реальности, сбрасывая робота со стремянки. Тесты показали, что алгоритм хорошо справляется со своей задачей. Реальное поведение робота немного отличается от расчетного, авторы связывают это с тем, что не очень аккуратно смоделировали массу и размер ног, а также тем, что на самом деле робот двигается в разные стороны, а не только в одной плоскости, как рассматривает модель.
Недавно другая группа инженеров тоже научила четвероногого робота разворачиваться в «полете», двигая ногами, но в иных условиях. Они смоделировали невесомость, закрепив робота боком на платформе, почти не испытывающей трения с поверхностью. В результате робот научился маневрировать ногами в свободном «полете» и отталкиваться от поверхностей под заданным углом.
Григорий Копиев