🤖 Робота обучили ловить коробки весом до 2 кг на расстоянии до 7 метров, ориентируясь на данные с камеры
Группа исследователей из университетов США и Сингапура научила гуманоидного робота Unitree G1 ловить брошенные ему коробки весом от 500 г до 2 кг на расстоянии от 2.5 до 7 метров с помощью нового метода Reflex. Коробку робот видит только через RGB-D камеру на своём торсе. Коробка летит около секунды, за это время робот выходит на правильную траекторию, принимает коробку на предплечья, прижимает к груди и гасит удар, не теряя равновесия. Раньше для подобных задач роботам требовался захват движения (motion capture), Reflex обходится без него. Авторы планируют выложить код в репозиторий на GitHub. Видео и демо доступны на сайте проекта.
Задача сочетает три проблемы. Первая: управление всем телом. Коробку нужно принять на предплечья, прижать к торсу и погасить её импульс, переставляя ноги и удерживая равновесие. Вторая: задержка. Коробка долетает примерно за секунду, а медианная задержка от съёмки кадра до команды контроллера равна 69 мс. Реагировать на последний кадр поздно, поэтому гуманоидный робот должен предсказать, куда летит коробка, и заранее выбрать точку, где ее поймать. Третья: эгоцентрическое зрение. Камера двигается вместе с роботом, движение коробки в кадре смешивается с движением самой камеры, а перед контактом коробку закрывают руки робота.
Авторы разделили пайплайн на две части: зрение превращает историю кадров в восьмимерный латентный вектор, который описывает динамику коробки, а контроллер по этому вектору и состоянию робота 50 раз в секунду выдаёт целевые углы для 29 суставов. Обучение идёт в симуляторе Isaac Lab.
На реальном роботе Unitree G1 каждое условие проверяли всего 20 бросками, так что погрешность доходит до ±20 пунктов. С 2.5 метров гуманоидный робот поймал 65% бросков, с 5 метров 40%, с 7 метров 15%. Трое людей на тех же дистанциях ловили 85%, 68% и 28%, то есть с 7м коробку плохо ловят и люди. Маленькую и большую коробки, а также утяжелённые до 2 кг робот ловил реже: от 20% до 60% бросков. Даже когда коробку бросали не прямо в робота, а немного левее или правее, он поймал 8 бросков из 20.
UPD: код опубликован
#Stateoftheart
Post #1982
826
- 👍 7
- ❤🔥 3
- ❤ 2
- 🤨 1