Карты для робота: Уроки ориентации
До сих пор для подобных систем используются лазерные дальномеры и видеокамеры, позволяющие роботам фиксировать свою ориентацию в пространстве и пройденный маршрут. Но нередко это приводит к печальным последствиям: таких роботов легко запутать. Небольшие изменения в обстановке не дают им узнать уже пройденные места, сбивая роботов с пути и вызывая многочисленные ошибки при генерации карт.
Решение этих проблем пришло от самой матушки-природы: Марк Камминс (Mark Cummins) и Поль Ньюман (Paul Newman) из Оксфорда обратились к механизмам запоминания и распознавания, которые используются в нашим собственным мозгом. Благодаря новому подходу роботы приобретают способность распознавать ранее изученные места, даже если часть объектов в них была перемещена, или если они приближаются к ним под совершенно незнакомым углом.
Механизм этот не так прост, как это может показаться на первый взгляд. Для робота, который не обладает информацией о сущности конкретных объектов, которые его окружают, мир выглядит довольно хаотичным и вдобавок быстро меняющимся скоплением предметов. А ведь, выполняя свою миссию, он может вернуться в уже посещенное место спустя не только часы, но и месяцы, и за это время здесь может измениться слишком многое. Ему необходимо научиться выделять и отбрасывать несущественные детали — к примеру, припаркованные машины — но при этом уметь и оставлять в памяти все самое важное, чтобы не принять незнакомое место за уже известное.
Для этого оксфордские ученые разработали специальное программное обеспечение — FabMap. Для каждого места программа создает в памяти робота своего рода визуальный «словарь», состоящий из тысячи отдельных «слов», и обновляет его каждые 2 секунды.
Здесь под «словом» можно понимать отдельные объекты (к примеру, сиденье припаркованного велосипеда), которые FabMap способна объединять в группы, если они часто фигурируют в связи друг с другом. Например, «слово» «сиденье велосипеда» будет ассоциироваться с «велосипедным колесом» и «велосипедной цепью», и все вместе они составят класс объектов «велосипед».
Теперь, если робот снова посетит место, но велосипедист уже уедет, автомат отметит, что исчезла лишь одна группа «слов» — «велосипед», и не запутается, как обычные роботы, которые могут и со счета сбиться от того, как много всего исчезло — и сиденье, и колесо, и цепь, и так далее. Эта способность программы позволяет не придавать чересчур большого значения изменению отдельных предметов и в разы повышает способности роботов эффективно ориентироваться в нашем изменчивом мире.
FabMap не только увеличивает узнаваемость уже известных мест, но и снижает количество ложных узнаваний. Дело в том, что, к примеру, две похожие кирпичные стены с окном нередко ставят роботов в тупик: те путают их друг с другом. Однако иерархический подход FabMap, с составлением «словаря» и группированием «слов», позволяет этого избежать. Вместо того, чтобы «узнавать» сотни схожих элементов двух разных стен с окном — скажем, одинаковых кирпичей, которых будет заведомо больше, чем различающихся элементов, — программа воспринимает стену с окном, как цельный объект, и важней для нее будут такие детали, как высота окна или его расположение.
Возможности FabMap ученые уже проверили в деле, оснастив программой и необходимым оборудованием (лазером и камерами) небольшого мобильного робота, и отправив его прогуляться по центру Оксфорда. И действительно, несмотря на то, что обстановка здесь была весьма изменчивой, робот с легкостью узнавал места и даже вносил необходимые поправки в составляемые во время путешествия карты. Из примерно 10 тыс. снимков, сделанных в процессе, робот ошибся лишь один раз, неверно «узнав» место, где на самом деле еще не был никогда.
Затем исследователи установили то же оборудование на автомобиль и проехали около 1 тыс. км по окрестностям города. Робот составил эффективные карты местности — это самая обширная полученная роботом карта в истории.
Читайте также о молекуле, которая служит естественным компасом для насекомых: «Ориентация в магнитном поле».
По публикации New Scientist Tech