Содержание к диссертации
Введение
ГЛАВА 1. Обзор систем навигации и возвращения 13
1.1 Обзор разведывательных роботов, требования к разрабатываемой системе и ограничения 13
1.2 Навигация и возвращение по данным об абсолютных координатах 16
1.2.1 Глобальная спутниковая навигация GPS и ГЛОНАСС 16
1.2.2 Устанавливаемые радио и ультразвуковые маяки 17
1.2.3 Одновременная локализация и картографирование SLAM 17
1.3 Навигация и возвращение по счислению координат (относительные датчики) 20
1.3.1 Колесная одометрия 21
1.3.2 Колесная одометрия с коррекцией
1.4 Недостатки традиционных датчиков в задаче автоматического возвращения 22
1.5 Визуальная одометрия 24
1.6 Сравнение рассмотренных способов измерения координат в задаче автоматического возвращения 26
1.7 Постановка задачи 27
Выводы 28
ГЛАВА 2. Разработка визуального одометра 29
2.1 Принцип работы визуального одометра 29
2.2 Выравнивание изображений 33
2.3 Поиск особых точек
2.3.1 Метод Гарриса 37
2.3.2 Метод FAST 37
2.3.3 Метод SURF 38
2.4 Поиск стерео-соответствия и слежение за особыми точками методом Люкаса и Кенеда 39
2.5 Модель телекамеры и вычисление пространственных координат особых точек 40
2.6 Фильтрация особых точек 43
2.7 Вычисление перемещения робота
2.7.1 Вычисление 6-ти координат. 45
2.7.2 Вычисление только пройденного пути и угла курса. 47 Стр.
2.7.3 Вычисление пройденного пути, угла курса и бокового смещения. 48
2.8 Проверка визуального одометра на модели 49
2.8.1 Поиск особых точек 50
2.8.2 Слежение за особыми точками. 50
2.8.3 Определение расстояния до точек, угол обзора и наклона телекамер. 52
2.8.4 Моделирование работы алгоритма в целом 53
2.9 Экспериментальная проверка алгоритма. 53
Выводы 59
ГЛАВА 3. Разработка системы управления с визуальным одометром 60
3.1 Структура системы управления 60
3.2 Объект управления 62
3.3 Принцип управления 63
3.4 Модель системы управления с визуальным одометром
3.4.1 Модель робота 64
3.4.2 Модель блока тактического управления 65
3.4.3 Модель привода 66
3.4.4 Модель визуального одометра 67
3.4.5 Модель системы управления в целом 69
3.5 Моделирование движения робота с визуальным одометром 69
Объезд препятствия. 70
3.6 Экспериментальная проверка системы управления 72
Выводы 76
ГЛАВА 4. Разработка алгоритмов описания траектории и автоматического возвращения по ней 77
4.1 Алгоритм сохранения траектории 77
4.1.1 Аппроксимация данных визуального одометра кривыми 3-го порядка 78
4.1.2 Сглаживание 80
4.1.3 Удаление петель 81
4.1.4 Естественная параметризация
4.2 Возвращение по сохраненной траектории 83
4.3 Система управления мобильного робота для автоматического возвращения
по данным визуального одометра 84
4.4 Программная проверка алгоритмов 85
Выводы 88 Стр.
ГЛАВА 5. Комплексирование данных визуального одометра и других датчиков на основе нового алгоритма оценки точности его показаний 89
5.1 Оценка точности показаний визуального одометра 90
5.1.1 Обусловленность 91
5.1.2 Расстояние до точек 92
5.1.3 Рассогласование телекамер по времени 93
5.1.4 Количество особых точек 94
5.2 Объединение показаний 94
5.2.1 Объединяемые источники 94
5.2.2 Визуальный одометр 96
5.2.3 Гироскоп 96
5.2.4 Колесная одометрия 97
5.2.5 Сигналы управления 98
5.2.6 Объединение визуального одометра, гироскопа и сигналов управления 99
5.2.7 Объединение колесной одометрии и гироскопа 100
5.2.8 Объединение визуальной одометрии, гироскопа и колесной одометрии и сигналов управления 101
5.3 Мультисенсорная система автономной навигации 102
5.4 Система автоматического возвращения по объединенным данным визуального одометра, сигналов управления и других датчиков 103
5.6 Структура программного обеспечения 104
5.7 Проверка системы автоматического возвращения 106
Выводы 110
ГЛАВА 6. Экспериментальные исследования 111
6.1 Последовательность проведения экспериментов 111
6.2 Определение основных параметром системы 1 6.2.1 Определение точности возвращения мобильного робота 115
6.2.2 Движение в условиях измененной среды 118
6.2.3 Движение в исходную точку с предварительным разворотом 119
6.2.4 Движение робота по траектории с замкнутым участком 120
6.2.5 Движение с проскальзыванием колес 125
6.3 Определение точности возвращения в различных условиях 128 Стр.
6.3.1 Движение на улице по Y-образной траектории с замкнутым участком в
изменяющейся среде.. 128
6.3.2 Движение по Г-образной траектории по траве и грунту в изменяющейся среде...129
6.3.3 Движение по S-образной траектории по грунту и траве при изменении освещенности с проскальзыванием колес, изменениями в среде и въездом в ворота 130
6.3.4 Движение на спортивной площадке по Y-образной траектории с замкнутым участком и объездом препятствий. 132
6.4 Движение в условиях, неблагоприятных для визуальной одометрии 133
6.4.1 Движение по чистому асфальту. 133
6.4.2 Движение в сумерках 134
6.5 Анализ полученных результатов экспериментальных исследований 135
Выводы 140
Заключение 141
Список использованных источников 144
- Устанавливаемые радио и ультразвуковые маяки
- Поиск стерео-соответствия и слежение за особыми точками методом Люкаса и Кенеда
- Модель системы управления с визуальным одометром
- Естественная параметризация
Устанавливаемые радио и ультразвуковые маяки
Довольно подробный обзор современного состояния визуальной одометрии приведен в [64]. Существуют реализации визуальной одометрии со стерео камерами, такие как в работе Дэвида Нистера [56], который ввел термин «визуальная одометрия», и монокулярным зрением. Как и в 80-е годы, так и в настоящее время монокулярный подход используют для упрощения системы, в частности чтобы избежать использования синхронизированных стереокамер, и для снижения требований к вычислительным ресурсам. Тем не менее реализации со стереокамерами позволяют избежать «масштабной неопределенности» (англ. scale ambiguity) и сложных и ненадежных процедур инициализации глубины ориентиров [70], которые в работах о монокулярной одометрии занимают большую часть, чем поиск самих ориентиров или вычисление перемещения. Стерео-зрение позволяет непосредственно при сравнении двух изображений определить пространственные координаты наблюдаемых точек, позволяет работать с более абстрактными и примитивными ориентирами – точками, и не требует их классификации. В результате стереосистема менее требовательна к наблюдаемой сцене. Поэтому в данной работе выбран подход с использованием стерео-зрения.
В отличие от закрытых коммерческих проектов существует весьма немного готовых реализаций стерео визуальной одометрии с открытым исходным кодом. Очевидна трудоемкость реализации подобного программного обеспечения, например, проект «libviso2» [49] содержит более 10000 строк кода. К тому же синхронизированные телекамеры не доступны на потребительском рынке, изготавливаются в небольшом количестве как отладочные наборы и стоят существенно дороже обычных телекамер [48]. Наиболее развитым открытым решением, найденным в ходе обзора, была библиотека «libvisio2». В ее основе лежат методы, позволившие авторам получить высокую точность, но несколько нетрадиционные для визуальной одометрии. В частности, положение особых точек анализируется не только при анализе стерео 30 соответствия, но и подобно методам монокулярного зрения. Для дальнейшей обработки используется специфический алгоритм, основанный на фильтре Калмана. В публикациях, связанных с этим программным обеспечением [46] и [47], главным образом так же описывается не визуальная одометрия в целом в системе навигации, а детали реализации этих специфических методов. Так предметом данного исследования являлось применение известного метода визуальной одометрии в составе мультисенсорной навигации, было принято решение использовать более простые и традиционные алгоритмы.
Другие найденные решения с открытым исходным кодом посвящены монокулярному подходу. Наиболее стремительно сегодня развивается одновременная локализация и картографирование (SLAM), и автору удалось найти несколько программ, посвященных этому направлению, например как реализация в составе робототехнической среды ROS [60]. Но несмотря на то, что некоторые авторы определяют визуальную одометрию как подмножество или этап решения задачи (SLAM) эти задачи принципиально отличаются с точки зрения реализации [64; 70] и назначения. Визуальная одометрия предназначена для локальной навигации, как например колесная одометрия или инерциальная подсистема, и уже на начальном этапе поиска ориентиров (особых точек) ее цели расходятся со SLAM: одометру нужно как можно быстрее найти как можно больше простых ориентиров для оценки смещения робота за время смены кадров, а SLAM требует описания объектов для дальнейшего распознавания сцены. Поэтому реализации, связанные со SLAM, так же не были использованы в работе.
Кроме того, как будет показано далее, для исследования применения визуальной одометрии в составе мультисенсорной навигации, необходимо было анализировать погрешности, возникающие на различных этапах визуальной одометрии. Для этого требовалось прозрачное программное обеспечение с подробным описанием.
С другой стороны, в открытом доступе имеется множество публикаций, посвященных визуальной одометрии, но не имеющих открытой программной реализации. Поэтому, была поставлена задача разработки макетно-методического образца визуального одометра по ним. В целом, в работе был использован типовой собирательный алгоритм визуальной одометрии, отраженный с небольшими вариациями в [30; 34; 44; 56; 57; 64] и [72], состоящий из известных методов обработки изображений.
Выравнивание изображений. Все вводимые стереоизображения проходят процедуру предобработки, заключающуюся, главным образом, в удалении тангенциальных и радиальных искажений и выравнивании эпиполярных линий. Удаление искажений производится при решении практически любой задачи, связанной с техническим зрением. Процедура позволяет избавиться от ошибок, обусловленных физическими свойствами объективов телекамер.
Так как расстояние до какой-либо точки пространства вычисляется из разности положения ее проекции на левом и правом изображениях, необходимо на правом изображении находить точки, точно соответствующие точкам левого. Выравнивание эпиполярных линий -выравнивание изображений таким образом, чтобы точки левого изображения и соответствующие им точки правого изображения лежали на одних горизонтальных линиях, что упрощает процесс установления стереосоответствия и характерно для обработки стереоизображений.
Поиск особых точек. Выделение особых точек является центральной задачей визуальной одометрии. Особая точка сцены или точечная особенность - это такая точка, изображение которой можно устойчиво отличать от изображений всех соседних с ней точек. От точности и скорости поиска особых точек напрямую зависят точность и быстродействие всей системы. Вопрос заключается в том, смещение каких именно точек пространства будет вычисляться, как выделить эти точки на изображении и возможно ли будет наблюдать их смещение от кадра к кадру с течением времени? На сегодняшний день существует множество методов выделения особых точек. Подавляющее большинство таких алгоритмов анализирует функцию интенсивности в окрестности некоторой точки и сравнивает ее значение с пороговым. В работе рассмотрено несколько популярных методов выделения особых точек:
Поиск стерео-соответствия и слежение за особыми точками методом Люкаса и Кенеда
Дополнительно, при изменении параметров функции, влияющих на ее быстродействие, фиксировалось среднее время обработки 1-го кадра.
Виртуальная камера (угол обзора камеры по ширине составляет 45, разрешение 640х480 пикселей) 300 раз дискретно перемещается вдоль одной из осей с различным шагом либо поворачивается вокруг одной из осей. Оценивалась работа алгоритмов Люкаса-Кенеда и SURF в различных условиях: изменялась освещенность, вводился шум и размытие изображений, менялись параметры программных функций.
В ходе моделирования установлено, что с использованием алгоритма Люкаса и Кенеда при смещении 240 пикселей в стереопаре при заданных параметрах камер (база 100 мм, угол 45, разрешение 640х480 пикс.) удается устанавливать стереосоответствие для объектов, расположенных на расстоянии от 300 до 3000 мм от камер с потерей до 50% выделенных особых точек. При выделении и отслеживании точек методом SURF удается установить стереосоответствие более 75% особых точек, но производительность и общее число особых точек при этом ниже.
Алгоритм поиска особых точек FAST в связке алгоритмом слежения за особыми точками Люкаса и Кенеда работает быстрее всех ( 50 кадров/с) и в нормальных условиях позволяет находить больше всего особых точек (сотни), но их сложно отслеживать, и в течение 10-ти кадров по оценке пространственного фильтра не остается годных для вычисления координат особых точек. При снижении яркости изображений и введении шума алгоритм FAST становится неработоспособным. Алгоритм FAST в связке с алгоритмом Люкаса и Кенеда может применяться при работе визуального одометра на устройствах с ограниченными вычислительными ресурсами: микроконтроллерах мощнее ARM M4 с частотой более 180 МГц, одноплатных компьютерах с архитектурой ARM Cortex A7 и старше.
Алгоритм SURF позволяет найти меньше особых точек, но их количество (30..50 шт) стабильно в различных сценах с различной текстурой, освещенностью и шумом. При этом процент отслеживаемых точек 70%, что больше других алгоритмов. Тем не менее, производительность данного алгоритма на ноутбуке с процессором Intel Core i3 при полном использовании одного ядра не превышает 10 кадров/с. К тому же точность показаний не увеличивается из-за малого количества точек. Этот алгоритм возможно применять только временно, в конкретных сценах, где другие алгоритмы не позволили найти особые точки.
Для использования в системе навигации для автоматического возвращения был выбран классический алгоритм Гарриса в связке с алгоритмом Люкаса и Кенеда. Он работает в большинстве сцен, инвариантен к освещенности, позволяет гибко настраивать параметры, влияющие на производительность и количество находимых особых точек. 2.8.3 Определение расстояния до точек, угол обзора и наклона телекамер.
Чтобы вычислить перемещение робота необходимо знать пространственные координаты нескольких точек среды относительно робота в текущий и предыдущий момент времени. Расстояние до точек вычисляется по формуле
x! -xr где T - расстояние между камерами (база), / -фокусное расстояние, Х1и Хг- координаты проекций точки на левом и правом изображениях. Чем больше расстояние до точки, тем меньше разница положения точки на изображениях и больше ошибка. В ходе моделирования установлено, что при угле обзора телекамеры в 45 в кадр попадает слишком мало особых и их изображения слишком быстро движутся в плоскости кадра, чтобы их можно было надежно отлеживать. При угле обзора 60 координаты точек на расстоянии до 5-ти метров определяются с точностью до 20 мм, что при большом количестве точек достаточно для точного вычисления перемещения робота. При угле обзора 75 в среднем координаты точек на расстоянии до 3,5 метров определяются с достаточной точностью. При большем угле (от 90) рабочая область визуального одометра составляет не более 1,5 м, что значительно снижает возможное количество объектов, на которых выделяются особые точки. Для системы автоматического возвращения к оператору выбран угол обзора телекамеры 75, применение которого позволяет находить и отслеживать больше всего особых точек в сцене, особенно при повороте робота.
Дополнительно точность определения координат особых точек повышается при наклоне телекамеры к подстилающей поверхности: во-первых, больше особых точек оказывается ближе к роботу; во-вторых глубина точки (расстояние до точки вдоль оси телекамеры) является наиболее чувствительной к погрешности определения положения изображения особой точки, а в случае наклона телекамеры вклад координаты глубины в определение пространственных координат точки снижается. Чрезмерный наклон телекамеры так же имеет свои недостатки. Во-первых, затрудняется ориентирование оператора. Во-вторых, изображения точек на подстилающей поверхности близко к роботу движутся в кадре существенно быстрее, чем удаленные точки, и отследить их перемещение сложнее. По результатам моделирования, для системы автоматического возвращения выбран наклон телекамеры 10..15 к подстилающей поверхности. 2.8.4 Моделирование работы алгоритма в целом
Чтобы убедиться в работоспособности алгоритма в целом была смоделирована другая ситуация. Камеры, не меняя ориентацию в пространстве, перемещались по траектории, представляющей собой ромб. Погрешность выхода в начальную точку по координате X составила 5% относительно суммарного пройденного по X пути. Соответствующая погрешность по Z составила 0.5% (Рис. 2.9).
Модель системы управления с визуальным одометром
На предыдущем этапе визуальный одометр не был включен в контур системы управления роботом, а низкая частота получения данных и высокая дисперсия могли быть не достаточны для управления. Для оценки возможности использования предложенного способа измерения пути как датчика обратной связи по положению была спроектирована система управления для того же лабораторного трехколесного робота, который использовался в эксперименте, но с визуальным одометром в обратной связи. Было выполнено моделирование и экспериментальная проверка этой системы. В ее модели были учтены несовершенства визуального одометра: дискретизация измерений по времени; квантование, обусловленное разрешением телекамер; внесены шумы, имитирующие неточности в каждой итерации. Система управления была реализована и установлена мобильный робот, экспериментально проверены ее точность и быстродействие.
В главе 1 был предложен метод визуальной одометрии, позволяющий вычислять текущие координаты мобильного робота с помощью системы 3-х мерного технического зрения. Макет такой системы был собран и установлен на лабораторный мобильный робот, после чего экспериментально определены характеристики визуального одометра, представленные в Таблице 2.3. При этом визуальный одометр не был задействован в контуре системы управления робота, оценивались точность и время вычисления координат.
Для проверки предложенного способа измерения пути была разработана система управления для того же лабораторного трехколесного робота, который использовался в эксперименте в Главе 2, но с визуальным одометром в обратной связи. Структура системы изображена на Рис. 3.1.
Система состоит из следующих блоков: 1. Группа блоков «ПК» (персональный компьютер) реализована в программном виде на мобильном компьютере (ноутбуке), устанавливаемом на роботе. Оператор записывает координаты целевых точек траектории в текстовый файл. Далее робот движется в автоматическом режиме. 1.1. «Стратегический уровень управления» выдает на выходе координаты X и Y очередной точки; 1.2. «Тактический уровень управления» на основе оценок ошибок по положению , и оценки текущего угла курса робота формирует сигналы управления линейной V и угловой скоростями; в состав блока входит также программный интерфейс обмена данными с роботом. 1.3. «Визуальный одометр» - блок, реализующий алгоритм визуальной одометрии. Блок оценивает текущие координаты и угол курса робота , анализируя последовательность пар изображений img1 и img2, поступающих со стереокамеры. 2. Группа блоков «Робот» подключается к ПК через 2 USB порта (1 для телекамеры и 1 для платы робота). 2.1. «Блок управления приводами» - вычислительное устройство, пересчитывающее поступающие с ПК V и в угловые скорости левого и правого приводов. Здесь реализована локальная обратная связь по скорости: с энкодеров приводов принимаются оценки угловых скоростей левого и правого колес. 2.2. «Привод 1(2)» - состоит из мотор-редуктора, энкодера и силового драйвера; 2.3. Под блоком «Механическая часть» понимается конструкция робота; 3.2 Объект управления Объектом управления является существующий лабораторный трехколесный мобильный робот, (Рис. 3.2), который использовался в экспериментальных исследованиях визуального одометра. Рис. 3.2. Мобильный трехколесный робот: а) – разобраный; б) – с визуальным одометром. В Таблице 3.1 приведены характеристики робота. Таблица 3.1. Характеристики мобильного робота Характеристика Обознач. Величина Ед. изм. Масса робота ЗО кг Радиус приводного колеса 0.105 м Расстояние между приводными колесами 0.370 м Мощность каждого привода ЗО Вт Максимальная скорость робота 0,9 м/с Максимальное ускорение робота 1,75 м/cc Максимальная угловая скорость робота 1,8 рад/с Максимальное угловое ускорение робота 3,5 рад/cc Передаточное отношение редукторов 100 63
Естественная параметризация
Система позволяет объединить показания визуального одометра и других традиционных датчиков автономной навигации с учетом их дисперсий, а так же использовать сигналы управления. Визуальный одометр VO вычисляет линейную и угловую скорости робота и , а так же делает оценку дисперсии каждого измерения . Инерциальная подсистема G так же дает на выходе значение угловой скорости робота и оценку его дисперсии . С помощью колесной одометрии W оценивается линейная и угловая скорость робота и с некоторой дисперсией . Аналогично могут использоваться показания и других относительных датчиков Rn. Блок комплексирования данных датчиков F, учитывая текущие оценки их дисперсий, объединяет показания визуального одометра VO и инерциальной подсистемы G. Относительные датчики объединены в группу R. Учитываются так же сигналы управления C: v и w с заданной дисперсией , характеризующей точность модели управления. На выходе блок комплексирования данных F дает оценки линейной и угловой скорости и , интегрирование которых позволяет оценивать текущие координаты робота x, y и угол курса . Блок автономной навигации NVG аппроксимирует и сохраняет пройденную роботом траекторию по алгоритму, описанному в главе 4, удаляя петли, заломы и шум.
Разработанная мультисенсорная система автономной навигации с использованием данных визуального одометра была использована в системе управления мобильного робота для решения задачи его автоматического возвращения. Структура полученной системы показана на Рис. 5.5.
Система управления выполняет описание траектории по данным визуальной одометрии и автоматическое возвращение по ней. В обычном режиме “manual” оператор управляет движением мобильного робота в конечную точку с помощью джойстика J, задавая линейную и угловую скорости v и w . Эти сигналы принимаются через приемопередатчик RF и поступают в систему управления приводами D, где преобразуются в угловые скорости колес и . Система управления приводами имеет локальную обратную связь по угловой скорости колес и , измеряемыми с помощью энкодеров. Визуальный одометр VO вычисляет линейную и угловую скорости робота и , а так же делает оценку дисперсии каждого измерения . Инерциальный гироскоп G дает на выходе значение угловой скорости робота и оценку ее дисперсии . Блок комплексирования датчиков F объединяет показания датчиков, учитывая текущие оценки их дисперсий. Используются так же сигналы управления C: v и w с заданной дисперсией , характеризующей точность модели управления. Блок навигации NVG сохраняет пройденную роботом траекторию, удаляя петли и шум. При потере связи блок RF переключат систему в режим ”auto”, в котором робот возвращается по сохраненной траектории автоматически. Для этого блок NVG выдает координаты x и y ранней точки траектории. Робот движется в эту точку, используя для определения текущих координат те же датчики, объединяемые в F.
В ходе диссертационной работы было разработано программное обеспечение (ПО), реализующее все описанные алгоритмы и обеспечивающее интерфейсы для работы с рассмотренным оборудованием. Программное обеспечение построено по модульному принципу, что позволило отдельно и независимо отлаживать реализации различных алгоритмов, изменять и сравнивать методы, использованные в различных блоках систем навигации и управления. Для разработки ПО использованы только кроссплатформенные зависимости: OpenCV, LibUSB, Boost, SDL, Intel TBB. В результате, разработанное в такой форме ПО и любые его части могут быть легко перенесены и использованы на бортовом компьютере любого мобильного робота с соизмеримыми вычислительными ресурсами. На Рис. 5.6 показана структура ПО.
SyncCameraDriver – драйвер и программное обеспечение для управления и захвата синхронизированного видео-потока с разработанной совместно с «ООО Сибо Тек» стерео-камеры. При разработке использованы: библиотека LibUSB для реализации драйвера, OpenCV для представления видео-данных, Intel TBB для организации параллельной передачи 2-х изображений. IMUDriver – программное обеспечение для коммуникации и обработки информации изготовленного инерциального измерителя угловой скорости. JoyControl – программы для управления роботом с помощью джойстика. RobotControl – программное обеспечения для коммуникации, управления и получения обратной связи от роботов: 3-х колесного лабораторного (главы 2 и 3) и 4-х колесного (глава 6). Supplier – группа программ для первичной обработки изображений. Модуль Loader – осуществляет ввод изображений из драйвера и подсчет кадров, Resizer, Smoother и ROIFocuser - масштабирование, сглаживание и обрезку соответственно, Illustrator – анимация работы этих модулей. Модули основаны на OpenCV.
Stereo Supplier – группа программ, организующих многопоточную предобработку изображений для поддержания их синхронного захвата. Кроме функций группы Supplier содержит модуль SNormalizer – программа для выравнивания яркости левого и правого изображения с поиском общей области, SRemapper – выравнивание изображений в соответствии с калибровкой. Для организации параллельных вычислений используется Intel TBB.
VO – реализация визуальной одометрии. Модуль Core – алгоритм визуальной одометрии, Filter – предварительна фильтрация результатов измерений (комплементарный фильтр), Rater – программное обеспечение, реализующее оценку точности каждого показания визуального одометра с помощью предложенного в этой главе алгоритма. Filters – пространственная фильтрация особых точек по взаимному положению по аналогии с работой Хиршмюллера [42]. MotionEsimator – модуль, позволяющий вычислить перемещение робота одним из 3-х способов, рассмотренных в главе 2. Программы основаны на OpenCV.
Vision – набор функций для работы с особыми точками. Features – модуль, позволяющий выделять особые точки изображения одним из 3-х способов: методом Гарриса, FAST или SURF. Matching – набор программ для сопоставления точек левого и правого изображения. Для особых точек, найденных методами Гарриса и FAST используется метод Люкаса и Кенеда с увеличенным по ширине окном поиска. Для метода SURF сравниваются векторы дескрипторов. Tracking – реализация слежения за смещением особых точек, осуществляется теми же средствами, что и поиск стерео-соответствия, но с другими настройками.
NVG – группа программ для мультисенсорной навигации. Модуль SensorPort принимает на вход показания датчиков различной размерности, преобразует их и готовит данные для комплексирования. CLTFusion – комплексирование показаний датчиков с помощью взвешенного среднего с учетом дисперсий, на выходе выдает линейную и угловую скорость робота. Integrator – интегрирование скоростей и счисление полученных приращений для определения текущих координат робота.
PathSaver – описание и сохранение траектории робота в соответствии с принципами, описанными в главе 4. Модуль BasicGeometry и BasicCurves содержат математические соотношения для описания, поиска длин, касательных, нормалей и пересечений, прямых, окружностей, прямоугольников, полиномов 2-го и 3-го порядка. Approximator – программа для аппроксимации точек кривыми 2-го или 3-го порядка. Spline – программа для построения и анализа сплайна.