Швейцарские инженеры разработали алгоритм управления нестабильным роботом с манипулятором, способный одновременно учитывать текущую задачу манипулятора и балансировать корпус. Разработчики продемонстрировали работу алгоритма на примере робота, передвигающегося на шаре, научив его перемещаться в заданную точку, даже при наличии внешних возмущений, а также открывать дверь. Посвященная разработке статья будет опубликована в журнале IEEE Robotics and Automation Letters, а ее препринт доступен на arXiv.org.
Многие роботы, к примеру, практически все колесные, стабильны и не падают при остановке. Некоторые же имеют нестабильную конструкцию и им необходимо постоянно поддерживать баланс. К примеру, нестабильны многие двуногие роботы. Сама по себе задача балансирования в таких роботах достаточно давно изучена и решена, однако не всегда алгоритмы балансирования позволяют одновременно стабилизировать положение робота и выполнять другую задачу с помощью его рук. А те алгоритмы, которые способны выполнять обе задачи, делают это в два отдельных этапа, что делает их слабоприменимыми в сильно нестабильных роботах, таких как балансирующий на шаре робот Rezero.
Инженеры из Швейцарской высшей технической школы Цюриха под руководством Марко Хюттера (Marco Hutter) разработали алгоритм управления нестабильным роботом, который планирует движения для балансировки всего робота и выполнения задачи манипулятора в один этап, что повышает стабильность и расширяет возможности робота. Инженеры использовали в своей роботе робота Rezero, но они отмечают, что тот же принцип управления можно использовать и в других динамически балансирующих роботов, в том числе человекоподобных. Rezero стоит на шаре, который приводится в движение тремя колесами над ним. В верхней части установлен манипулятор с тремя степенями свободы.
Разработчики написали единый алгоритм, который учитывает состояние всех базовых частей робота (трех колес, управляющих шаром, и трех моторов, соединяющих сегменты манипулятора), а также отслеживает угловую и линейную скорость робота. Алгоритм получает двухсоставные задания, к примеру, требуемые положения конца манипулятора и основания шара, и в один этап рассчитывает команды для шести электромоторов в двигательной системе и манипуляторе. При этом он постоянно корректирует расчеты, сравнивая их с показаниями датчиков, что позволяет справляться с внешними возмущениями, например, от человека.
Ранее мы рассказывали о других нестабильных роботах. Например, недавно американские инженеры представили автономную версию одноногого робота Salto. Его стабилизация — еще более сложная задача, потому что он не может стоять на месте и вынужден постоянно подпрыгивать, корректируя свою траекторию в короткий момент, когда его нога касается пола. А британский инженеры создал нестабильного робота с четырьмя колесами Илона, что позволяет ему двигаться в любую сторону, несмотря на то, что колеса статично закреплены и не поворачиваются.