March 16, 2020

Как робот понимает куда ему ехать?

Чтобы добраться из пункта А в пункт Б, роботам необходимо спланировать маршрут заранее. Для этого нужна как минимум карта и хотя уже есть Google Maps или OpenStreetMaps, они имеют ограничение ибо они разработаны в основном для машин. А так как роботы ездят по тротуарам, им нужна точная карта как по ним безопасно передвигаться и где переезжать улицу. Так как же эта карта
генерируется?


Первым этапом создания карты для доставки роботов является поиск интересующей области и создание предварительной 2D-карт поверх спутниковых снимков в виде простых линий. Зеленые - тротуары, красные - переходы, фиолетовые - дорожные проезды. После чего система может рассчитать расстояние и время и определить самый короткий и безопасный путь для робота.


Следующий шаг - показать роботам, как выглядит мир. По аналогии с детьми, роботам нужно взять за руку "родителя", когда они впервые исследуют местность. Когда робот начинает движение, камеры и множество датчиков на роботе начинают собирать данные об окружающем мире. Затем сервер может создать автономную трехмерную карту мира из этих линий, которые робот может использовать. Как и у ребенка, у робота теперь есть модель мира где он понимает где находится в любой момент времени.


Сервер соберет эту карту вместе на основе данных линии, собранных роботом
ранее. Например, если одна и та же крыша была обнаружена двумя роботами, то программное обеспечение выясняет, как это связано с остальной частью карты. Каждая цветная линия на изображении ниже представляет собой отдельный фрагмент карты, добавленный на карту.


Последний этап процесса, прежде чем роботы смогут ездить полностью автономно- это определение где тротуар и насколько он широкий. Это создается путем обработки
изображения с камеры, записанные роботом во время исследования области в качестве эталона, а также включение ранее созданной 2D-карты на основе спутниковых снимков.
Во время этого процесса на карту добавляется более подробная информация для точного определения безопасных зон, в которых могут ездить роботы.

Конечно, мир вокруг нас постоянно меняется. Каждый день что-то строится или реставрируется. Может ли это повлиять на нанесенные на карту области для роботов? На самом деле, программное обеспечение робота обрабатывает
небольшие и средние изменения в области довольно хорошо. 3D-модели имеют настолько большое количество данных, что даже если срубят дерево или снесут здание - это не будет проблемой, так как в роботе хранится огромное количество данных и каждый день он продолжает их собирать и постоянно обновляет карты. Но что, если все изменится? Карту обновляют при помощи сбора новых данных одним роботом, после чего все другие роботы могут снова ездить автономно.