Trust Me, I know what I'm doing: самостоятельная адаптация модульного робота под среду выполнения задачи
Друзья, с момента основания проекта прошло уже 20 лет и мы рады сообщать вам, что сайт, наконец, переехали на новую платформу.
Какое-то время продолжим трудится на общее благо по адресу
На новой платформе мы уделили особое внимание удобству поиска материалов.
Особенно рекомендуем познакомиться с работой рубрикатора.
Спасибо, ждём вас на N-N-N.ru
Невозможно представить научно-фантастический мир будущего без роботов. Будь то андроиды из вселенной Чужих, антропоморфные роботы-машины из Трансформеров, робопес по кличке Аксель или огромный робот-убийца ED-209 фильма «Робокоп», который многим зрителям напоминал цыпленка. Но что общего между ними? Помимо силы, скорости, выносливости и прочих, так сказать, физических особенностей? Интеллект.
А что есть интеллект? Умение думать, анализировать данные и принимать решения, если говорить утрировано и в двух словах. Сегодня мы с вами будем знакомиться с первым в мире модульным роботом, который способен анализировать обстановку в полевых условиях, перестраиваясь для достижения поставленной задачи. Как ученым удалось научить робота быстро думать и принимать верные решения, как этот робот работает и насколько хорошо? Все это исследовательская группа описывает в своем докладе, в который мы и погрузимся.
Основа основ
Для начала стоит немного рассказать о том, как выглядит испытываемый робот. Он не совсем обычен, его особенности конструкции раскрыты в самом названии — модульный самореконфигурируемый робот (MSRR). Слово «робот» нам всем понятно. Разберемся, что значат первые два. Модульный: данный робот состоит из модулей, которые являются по сути самостоятельными роботами. Соединяя эти модули можно получить конструкцию любой сложности (практически), в зависимости от необходимой задачи. То есть, индивидуальные мини-роботы (модули) могут спокойно выполнять какие-то задачи сами по себе, а для более сложных задач они собираются вместе, как могучие рейнджеры объединяются в Мегазорда (дети 90-ых поймут что за бред я сейчас написал :) ).
Внешний вид модульного робота.
Исследователи отмечают, что ранее уже проводились исследования в области модульных роботов, способных решать какие-то задачи. Однако ранее такие роботы могли решать либо простые задачи, либо сложные задачи, пути решения которых уже были запрограммированы в них человеком. По сути они самостоятельно не принимали решений, оценивая обстановку и сложность необходимой для выполнения задачи.
Ученые провели ряд испытаний, каждое из которых отличалось от предыдущего. Робот же должен был выполнить определенную задачу (какую именно чуть позже) перестроившись под новую среду. Двойной тулуп, конечно, никто его не просил сделать, но результаты все же поразили ученых. А теперь и мы с ними ознакомимся.
Испытание «Мегазорда»
Испытания робота проходили в три этапа, каждый из которых имел свою задачу. Проходили испытания в помещении, где с помощью коробок формировалась «рабочая среда» робота, которая на каждом этапе менялась исследователями. Представьте себе лабиринт, который меняется каждый раз когда вы в него заходите. Робот изначально не программировался на каждую новую среду, для него это были абсолютно новые условия. Единственное, что знал робот наверняка это свои способности. Прежде всего это оценка окружающей среды, далее робот выбирал из библиотеки своих возможностей те, которые эффективнее всего способствуют выполнению задачи.
Как я уже говорил ранее, было всего три этапа испытания с разными задачами и средой:
- Исследовать среду, найти все розовые/зеленые объекты и синюю метку, перенести объекты в точку сброса;
- Исследовать среду, найти почтовый ящик, поместить в ящик макетную плату;
- Исследовать среду, найти посылку, наклеить на нее марку.
Задачи кажутся довольно простыми, но это для нас. Зашли в комнату, осмотрелись, нашли все нужное и готово. Но не стоит сравнивать один из самых сложных компьютеров в мире (наш мозг) и маленького робота.
На первом этапе перед роботом была поставлена задача взять 2 объекта — «металлический мусор», помеченный розовым и зеленым цветом, и доставить его в точку сброса для «переработки». Точка сброса была помечена синим квадратом на стене.
Задача поставлена, рабочая среда готова, робот запущен. Первое, что он делает, это сканирование пространства и создание трехмерной карты, по которой он и будет ориентироваться в дальнейшем.
Схема зоны испытания первого этапа (слева) и трехмерная карта рабочей среды модульного робота (справа).
Рассмотрим действия робота на примере первого этапа испытаний, детали которого вы видите на схеме и снимке выше.
Зеленая метка на схеме это местоположение обычной банки из-под газировки, доступ к которой ничем не загражден. Розовая метка это моток проволоки, который расположен в узком пространстве между двумя мусорными баками. Также по всей площади были расположены различные препятствия.
Сначала робот выбрал самую подходящую форму для передвижения — «машина». Обнаружив розовый объект, робот проанализировал его положение и сделал вывод, что такая форма не даст ему возможности заполучить объект. Потому он перестроился в форму «хобот» и вытащил объект. Вернувшись в форму машины, робот взял объект и отнес его к точке сброса, положение которой ему уже известно благодаря сканированию и созданию карты.
А — первый этап (слева направо: вид рабочей среды, сканирование среды, реконфигурация робота, захват розового объекта, перенос объекта, захват зеленого объекта); B — второй этап (верхние 2 снимка) и третий этап (нижние 2 снимка).
На втором этапе среда была уже другая, потому предыдущая тактика робота уже не была бы эффективна. На снимках выше мы видим, что робот перешел в форму «змейка», чтобы подняться по ступенькам и оставить объект в почтовый ящик. То есть робот, оценив ситуацию, понял, что наличие определенных модулей будет не только лишним, но и может привести к провалу, потому отсоединил их.
На третьем этапе у робота возникли проблемы с поиском цели (метки куда он должен поместить почтовую марку), но спустя пару минут он смог ее обнаружить. Метка расположена на высоте 25 см от пола, потому изначальная конфигурация робота («машина») не эффективна. Робот перестроился в вертикальную конфигурацию и приклеил марку.
Рецепт робота-головоломки
Как мы уже поняли, наш Мегазорд состоит из нескольких маленьких роботов-модулей, способных совершать разнообразные движения сами по себе, что дает большому роботу преимущество мобильности и, само собой, способность реконфигурироваться.
Внешний вид модуля. Стрелками показано как модуль может изменять положение (горизонтальные и вертикальные повороты и наклон).
Каждый модуль (каждая грань куба равна 80 мм) оснащен электроперманентными магнитами, которые позволяют модулям соединяться друг с другом вне зависимости от стороны соединения. Также этот магнит позволяет присоединять ферромагнитные объекты (к примеру, для переноски в точку сброса или расчистки пути для робота). Также каждый индивидуальный модуль оснащен своей батареей (примерный срок работы — 1 час), микроконтроллером и Wi-Fi чипом. Управление всеми модулями осуществлялось в беспроводном режиме центральным компьютером, а для обеспечения Wi-Fi среды использовался обычный бытовой роутер.
Внешний вид основной части робота (камера, стойка, RGB-D камера и база).
База основы робота это небольшая коробка (90х70х70 мм) из тонких металлических пластин, что позволяет модулям присоединяться к базе посредством магнетизма. Вычислительные процессы выполнялись с помощью процессора Intel Atom 1,92 ГГц, 4 ГБ ОП и 64 ГБ хранилища. Также в базу был вмонтирован USB Wi-Fi адаптер.
Самым важным этапом в выполнении поставленной задачи является ее понимание. Это правило применимо и для людей, и для маленьких умных роботов. Дабы понять что и как делать, робот сканирует окружающую среду. Осуществляется это посредством RGB-D камеры.
Положение объектов интереса (A, B — первый этап, С — второй и D — третий), а также пример того, как «видит» робот во время испытания с объектом внутри узкого проема (Е).
Когда система сканирования распознает необходимый объект, активируется функция характеризации информации, полученной из трехмерной карты среды. Так формируется сетка пространства, на которой желтым помечены участки, недоступные для робота. Далее система находит ближайшую точку доступа к объекту (под углом 20° от самого робота). Если расстояние от этой точки до объекта больше чем граничное значение, а объект расположен на полу, система определяет, что объект расположен в проеме. Если же объект определен системой в положении над полом, то она оценивает это как ступеньки. Если же значение расстояния от точки до объекта ниже граничного показателя, то система принимает решение использовать конфигурацию «free» (то есть изначальную) или же «high» (для подъема на определенную высоту).
Таблица конфигураций робота и для чего они применяются.
Спецификация задачи робота довольно проста. Рассмотрим на примере с почтовым ящиком:
- выполнить «исследование» если и только если робот не видит почтовый ящик;
- выполнить «движение к ящику» если и только если робот видит ящик и еще не достиг его;
- выполнить «сброс» (объекта в ящик) если и только если робот видит ящик и прибыл к нему.
Схематически это можно изобразить следующим образом (знаком «!» отмечены действия со значением true и false, в зависимости от варианта):
Сам процесс смены конфигурации начинается с того, что система определяет необходимость сего процесса. Если такова имеется, направленная вниз камера засекает участок 0.75 м на 0.5 м, где процесс реконфигурации может пройти успешно и без помех со стороны каких-то объектов. Контроллер определяет изначальную и конечную конфигурации, после чего передает сигнал на модули, обладающие меткой AprilTag (напоминает внешне QR-код). Модули получают команду разъединиться, переместится в нужное положение и соединиться уже в новой конфигурации.
В данном видео показан весь процесс испытания робота, от сканирования среды до выполнения поставленной задачи.Самым любопытным элементом этого робота-трансформера является все же не умение менять конфигурацию модулей, а умение самостоятельно решать как ее менять, подстраиваясь под обстоятельства.
В архитектуре системы используется фреймворк, дающий возможность любому пользователю, используя самый обычный словарный запас, поставить перед роботом задачу и сформировать центральный контроллер, который в свою очередь будет управлять модулями в зависимости от среды выполнения задачи. Фундаментом всего этого является LTLMoP (Linear Temporal Logic MissiOn Planning), позволяющее создавать контроллеры на базе предоставленных пользователем высокоуровневых инструкций.
Для более детального ознакомления с исследованием рекомендую доклад исследователей и дополнительные материалы к нему.
Эпилог
Данная система очень интересна, хоть и не лишена недостатков. Так, к примеру, пользователь дает задачу роботу поместить объект в почтовый ящик, но не бросать объект пока ящик не будет обнаружен. Другими словами робот не может просто так взять и со словами «F*ck it, I quit!» прервать выполнение задачи. При этом, если у робота не получится обнаружить ящик, система попросит пользователя внести уточняющие данные. Получается робот не такой уж и самостоятельный? Нет, конечно это еще не Т-1000, но первые шаги к этому уже есть. Ведь робот сам решает какая из конфигураций, доступных ему, подходит для выполнения задачи наилучшим образом. Назвать это мыслительным процессом нельзя, тут все достаточно просто и линейно.
Однако, пусть этот маленький трансформер и требует помощь со стороны человека, он все же может принять решение. Будем надеяться, что мы сейчас не наблюдаем становление будущего Альтрона. :)
Автор: Dmytro_Kikot
- Источник(и):
- Войдите на сайт для отправки комментариев