Исследователи из MIT разработали алгоритм для робота который учится играть в Дженга.
Дженга (Jenga) — это настольная игра, в которой 54 деревянных прямоугольных блока складываютс в башню из 18 уровней (по три блока в каждом), причём блоки в каждом уровне ориентированы перпендикулярно блокам предыдущего уровня. Цель игры состоит в том, чтобы аккуратно извлечь блок и поместить его на вершину башни, таким образом, выстраивая новый уровень и не опрокидывая всю конструкцию.
Чтобы решить эту сложную задачу, индустриальный робот ABB IRB 120 оснащается специальным захватом с датчиком для измерения силы и внешней камерой. Эти сенсоры используется, чтобы робот мог видеть и чувствовать башню и её отдельные блоки.
Когда робот осторожно толкает блок, компьютер воспринимает визуальную и тактильную обратную связь от камеры и датчика силы и сравнивает эти измерения с движениями, которые делал ранее. Далее учитываются результаты этих шагов: был ли блок успешно извлечен, в данной конфигурации и выдвинутый с определенной силой. Это позволяет роботу в режиме реального времени «понять» — продолжать ли толкать или перемещаться блок, чтобы башня не упала.
В ходе обучения игре, робот сначала выбирал случайный блок и место на блоке, на которое нужно нажать. Затем он прикладывал небольшое усилие, пытаясь вытолкнуть блок из башни.
Для каждой попытки манипуляции с блоком, записывались соответствующие визуальные и силовые измерения, и делалась отметка — была ли попытка успешной.
Вместо того, чтобы выполнять десятки тысяч таких попыток (которые потребовали бы столько же раз строить башню) — робот обучался всего за 300 попыток. Такой результат достигался при помощи группировки измерений и результатов в кластеры, представляющие собой определённое поведение блоков.
Подобная технология машинного обучения годится не только для игр, но может быть использована в задачах, которые требуют точного физического взаимодействия: например, для работы на сборочных линиях.
Ссылки
MIT robot combines vision and touch to learn the game of Jenga
По теме
Нейронная сеть учится играть в Марио
Робот для игры в воздушный хоккей
Arduino играет в Connect 4