В Google разработали роборуку TossingBot, способную захватывать и бросать произвольные предметы в ящики, расположенные за пределами ее максимального диапазона досягаемости. Система может совершать более 500 захватов и бросков в час (или более 600 при точности захвата 85%).
Робот достиг скорости захвата в два раза превышающей предыдущие показатели, научившись бросать объекты. Бросание произвольных предметов — особенно сложная задача, поскольку она зависит от многочисленных внешних факторов и уникальных физических свойств объекта.
Если взять отвертку за ручку рядом с центром масс и постараться далеко бросить, она упадет намного ближе, чем если схватить ее за наконечник. Мяч для пинг-понга приземлится ближе из-за сопротивления воздуха. На практике оказывается невозможным вручную спроектировать решение, которое точно предсказывает эти факторы для каждого случайного объекта. Благодаря глубокому обучению, роботы могут учиться на собственном опыте.
Особенность TossingBot в том, что робот учится бросать, интегрируя простую физику и глубокое обучение. Физика предоставляет предварительные модели того, как устроен мир, которые можно использовать в разработке.
В случае броска это формулы баллистики для оценки скорости броска, необходимой для приземления объекта в нужном месте. Нейронные сети прогнозируют корректировки на основе этой оценки, чтобы компенсировать неизвестную динамику, а также шум и изменчивость реального мира. Исследователи назвали эту гибридную формулировку остаточной физикой, и она позволяет TossingBot достигать точности броска 85%.
Алгоритм работы TossingBot
Сначала нейронная сеть кластеризирует объекты и строит тепловую карту. Затем строится карта высот и по ней вычисляются пространственные особенности µ в модуле восприятия. Параллельно целевое местоположение p для объекта выбранной группы подается на контроллер, чтобы оценить начальную скорости броска v, которая затем соединяется с µ и подается в модули захвата и бросания.
Модуль захвата предсказывает вероятность успеха захвата. Модуль бросания выдает прогноз остатков для каждой выборки, которые добавляются к v, чтобы получить окончательные прогнозы начальной скорости броска. Далее карты высот разворачиваются таким образом, чтобы учесть 16 углов при соприкосновении с захватывающим механизмом. Манипулятор захватывает объект наилучшим образом и выполняет бросок с учетом рассчитанной начальной скорости.
Ограничения и дальнейшая работа
Хотя результаты TossingBot многообещающие, у него есть свои ограничения.
Требуется дополнительная работа, чтобы изучить технику броска с учетом хрупкости объектов. Робота необходимо научить ловить объекты способами, которые способны смягчить посадку. Пока что TossingBot выполняет расчеты исходя только из визуальных данных. Способность ощущать объекты (например, момент силы или тактильные свойства) позволит роботу быстрее изучать объекты.