Американские инженеры разработали алгоритм для манипуляторов, позволяющий им учиться хватать бананы и другие предметы, и бросать их в заданную точку. Во время работы алгоритм рассчитывает параметры броска с помощью физического симулятора, а также нейросети, которая вносит свои корректировки, рассказывают авторы в блоге Google. Статья с описанием разработки опубликована на сайте Принстонского университета.
Захват предметов — одна из наиболее быстро развивающихся областей робототехники, наработки из которой можно применять в сортирующих товар роботах и других устройствах. Обычно после захвата роботы аккуратно перекладывают предмет на другое место. Однако это ограничивает область их работы длиной манипулятора. Расширить область можно с помощью броска, однако это гораздо более сложная задача, требующая от робота понимания механики полета после ускорения. Кроме того, задача осложняется тем, что на полет и место приземления предмета влияют не только параметры броска, но и параметры самого предмета, которые зачастую сложно измерить, такие как расположение центра масс.
Инженеры под руководством Томаса Фанкхауса (Thomas Funkhouse) из Google и Принстонского университета разработали алгоритм, позволяющий роботам захватывать и бросать произвольные предметы в заданную точку. Разработчики выбрали необычный подход и решили объединить захват и бросок в единую задачу, потому что это тесно связанные между собой проблемы.
Во время работы алгоритм получает в качестве исходных данных снимок с камеры глубины, расположенной над корзиной с предметами. На этом снимке содержатся данные как о цвете, так и о глубине (расстоянии). Получив эти данные, алгоритм обрабатывает снимок с помощью нейросети, размечая на нем пространственные признаки. Параллельно с этим физическая симуляция позволяет примерно рассчитать скорость, при которой робот должен отпустить предмет, чтобы он попал в нужную корзину. Эти данные объединяются и подаются на две другие нейросети, которые рассчитывают вероятности успеха для различных захватов и скорости отпускания. Алгоритм повторяет эти действия, поворачивая исходный снимок на 16 углов. В результате робот выполняет такой захват и соответствующее ему ускорение, для которого была рассчитана максимальная вероятность успешного исполнения.
Инженеры создали самообучаемую систему, которая дает роботу задание, а затем следит за успешностью выполнения. После того, как робот разбросал предметы из общей корзины по мелким корзинам, он может поднять раму и все объекты скатятся обратно. Таким образом робот научился бросать незнакомые ему предметы в нужные отсеки корзины с точностью 82,3 процента. На обучение у робота ушло около десяти тысяч попыток.
Недавно в Японии прошел конкурс ROBOCON, в котором соревновались разработчики роботов, бросающих бутылки, частично заполненные водой. Как и в известном челлендже, задача роботов заключалась в том, чтобы после приземления бутылка приземлилась на плоскую поверхность вниз дном и не упала.
Григорий Копиев
Пока лишь со скоростью 1,6 миллиметра в секунду
Американские инженеры разработали робота, способного автономно передвигаться в толще сыпучего материала, проталкивая себя вперед с помощью двух конечностей, напоминающих плавники. В испытаниях робот продемонстрировал способность передвигаться в песке на глубине около 127 миллиметров со скоростью до 1,6 миллиметра в секунду. Статья опубликована в журнале Advanced Intelligent Systems. Сыпучие материалы, такие как песок, мягкие почвы, снег или лунный реголит, представляют собой довольно сложную среду для передвижения. Объекты, движущиеся в их толще, испытывают высокое сопротивление, возрастающее с глубиной погружения. Кроме того, сыпучая среда ограничивает возможности зондирования и обнаружения препятствий. Тем не менее инженеры пытаются создать роботов, способных передвигаться в таких условиях. Например, американские разработчики представили прототип робочервя, способного двигаться в толще песка. Для снижения сопротивления он выдувает перед собой воздух, и одновременно разматывает мягкую оболочку своей передней части, выталкивая ее вперед, в то время как остальное тело остается неподвижным. Это позволяет значительно снизить сопротивление движению. Однако для его работы требуется воздух, который приходится подводить с поверхности. Создать робота, который смог бы передвигаться в песке автономно, решили инженеры под руководством Ника Гравиша (Nick Gravish) из Калифорнийского университета в Сан-Диего. Разработанный ими робот перемещается, проталкивая себя вперед через толщу сыпучей среды с помощью двух гибких конечностей, напоминающих плавники морской черепахи. Конечности состоят из пяти звеньев. Каждое звено способно вращаться относительно предыдущего, но углы их отклонений ограничиваются с помощью фиксаторов. В движение оба плавника приводятся через червячную трансмиссию с помощью единственного электромотора. При этом трансмиссия воздействует только на первые ближайшие к корпусу звенья. Благодаря фиксаторам, ограничивающим углы поворотов звеньев, при движении вперед конечности изгибаются, испытывая меньшее сопротивление среды, а при движении назад наоборот, распрямляются, позволяя роботу отталкиваться от песка. На концах конечностей разработчики поместили сенсоры, с помощью которых робот может обнаруживать расположенные сверху объекты. Корпус робота длиной около 26 сантиметров имеет прямоугольное сечение и утолщение в передней части, которое позволяет снизить сопротивление песка при движении. Нос робота заострен и имеет наклонную поверхность сверху, которая необходима для компенсации подъемной силы, возникающей при движении в песке. С этой же целью по бокам после проведенных тестов пришлось разместить два дополнительных наклонных неподвижных плавника, так как робот имел тенденцию задирать нос при движении под действием выталкивающей силы. Чтобы избежать попадания песчинок в механизм, конечности поместили в чехлы из нейлоновой ткани. Разработчики протестировали робота, погруженного на глубину 127 миллиметров в песок, сначала в небольшом искусственном резервуаре, а после в естественных условиях в песке на пляже. В сухом песке робот смог развить скорость 1,6 миллиметра в секунду. В более влажном песке на пляже робот двигался медленнее, со скоростью около 0,57 миллиметра в секунду. В будущем инженеры планируют увеличить скорость передвижения робота, а также научить его самостоятельно погружаться в песок. Ранее мы рассказывали об исследовании, в котором физики выяснили, что происходит со структурой песка при передвижении по нему с помощью прыжков. Они обнаружили, что при правильно подобранном времени задержки между приземлениями и новым толчком, можно увеличить высоту прыжка на 20 процентов и даже больше.