Маркеры ставятся автоматически в местах поворотов?
Постараюсь вкратце объяснить, как работает локализация.Робот устанавливает «пространственные» маркеры (происходит запись центральной части изображения с ассоциированными данными в дерево поиска AVM). Данные маркеров (которые хранятся в AVM) содержат горизонтальный угол (азимут), длину пути от начала координат и X, Y координаты местоположения (относительно исходной позиции, откуда робот начал построение карты). Информация маркерных данных основана на прослеживании перемещений маркеров в кадре (горизонтальное смещение даёт азимут, а изменение размеров/масштаба используется для измерения пройденного пути). Обобщение всех данных, принадлежащих распознанным маркерам во входном (текущем) изображении, даёт текущее значение азимута и длинны пройденного пути. Если мы располагаем информацией о направлении движения и длине пройденного пути от предыдущей позиции, а так же знаем X, Y координаты предыдущей позиции, тогда мы можем рассчитать следующие координаты текущей позиции. Эта информация будет записана в новый маркер (хранимый в AVM) который будет создаваться для неизвестного (нового) изображения, полученного из видеокамеры и т.д.
Множество маркеров внутри AVM даёт карту местоположений (робот видит маркеры и определяет своё местоположение).
Таким образом помечаются не только «повороты», а все картинки/изображения которые робот видел по маршруту. Алгоритма AVM буквально «зохавывает» пространство.
Карта расширяется автоматически по мере прокладки новых маршрутов?
В карте нет такого понятия как «новые» и «старые» маршруты. Маршрут прокладывается по предварительно сформированной навигационной карте от текущего местоположения робота до целевой позиции, выбранной пользователем. Для этого программа вначале «решает» лабиринт, затем аппроксимирует точки маршрута к маркерам, записанным в карте, после чего начинает управлять роботам, направляя его на первую промежуточную точку маршрута (большой красный круг). Как только промежуточная точка достигнута, выбирается направление на следующую точку маршрута, и т.д. пока не доедем до целевой позиции (большой зелёный круг). Чем дальше будем проезжать в режиме “Marker mode” от исходной (стартовой) позиции, тем больше (в геометрическом отношении) будет становиться карта навигации. Для повышения детализации карты (в особенности поворотов), необходимо проходить маршрут (или части маршрута) несколько раз, а затем сохранять карту на диск (желательно под разными именами, что бы можно было корректировать обучение). Так же хочу обратить внимание, что запись в карту навигации происходит так же и в режиме «Navigate by map». Так что если по ходу следования встретятся «новые виды» из камеры, то они так же будут занесены в память AVM (так как вся навигация/локализация построена именно на «зрительной» памяти, режим навигации не может ограничиваться только картинками, полученными в режиме «Marker mode»).
В каких единицах измеряются координаты X,Y и как вычисляются расстояния?
В «относительных» единицах (они получены на основе входных изображений). Но я думаю, что можно подобрать коэффициент перевода этих координат, к примеру, в метрическую систему.