Содержание к диссертации
Введение
Глава 1. Анализ проблем и существующих методов решения задач навигации для мобильного робота 12
1.1. Задачи, решаемые мобильными роботами 12
1.2. Средства очувствления мобильных роботов 17
1.2.1. Навигация мобильного робота в искусственной среде с помощью сканирующего дальномера 20
1.3. Задачи навигации мобильного робота 21
1.4. Существующие методы решения задачи локальной навигации 24
1.4.1. Поиск экстремума функции различия 24
1.4.2. Совмещение сканов методом/СР 27
1.4.3. Выделение характерных черт 29
1.5. Решение задач глобальной навигации. Вероятностные алгоритмы 30
1.5.1. Метод фильтрация Калмана 32
1.5.2. Метод фильтрации частиц 34
1.5.3. Метод локализации Монте-Карло 37
Выводы 40
Глава 2. Решение задачи локализации с помощью определения параметров движения 41
2.1. Задача определения угловой и линейной скорости по дальнометрическим измерениям 42
2.1.1. Математическая модель относительного движения точек в дальнометрическом изображении 42
2.1.1.1. Движение мобильного робота без проскальзывания 42
2.1.1.2. Движение мобильного робота с учетом проскальзывания 45
2.1.2. Уравнение связи движения робота с функцией сечения рельефа 47
2.1.3. Дискретизация задачи 50
2.1.4. Определение параметров движения 53
2.1.4.1. Определение оценок с помощью псевдообратной матрицы 54
2.1.4.2. Определение оценок с помощью метода рекуррентной фильтрации 55
2.1.4.3. Выбор параметров фильтра 58
2.1.5. Исследование работы алгоритма рекуррентной фильтрации в среде MatLab 61
2.2. Исследование работы разработанного алгоритма при движении мобильного робота в частных случаях 64
2.2.1. Движение мобильного робота вдоль плоской стены 64
2.2.2. Вращение робота в цилиндрическом рельефе 65
2.2.3. Движение робота к плоской стене 66
2.2.4. Поведение матрицы ковариации ошибок оценок 67
2.3. Исследование поведения оценок параметров движения мобильного робота во времени 68
2.4. Получение оценок координат положения мобильного робота при движении 72
2.4.1. Интегрирование уравнений движения 72
2.4.2. Использование расширенного фильтра Калмана 74
2.5. Предварительная обработка дальнометрического изображения 77
2.6. Исследование шумов 79
2.6.1. Подтверждение нормальности распределения 79
2.7. Точность определения параметров движения 83
2.7.1. Точность метода рекуррентной фильтрации 83
2.7.2. Точность определения координат робота 86
2.8. Определение линейной и угловой скоростей робота в среде с динамическими препятствиями 89
2.9. Комплексирование дальнометрических данных с информацией от других датчиков мобильного робота 90
2.9.1. Комплексирование с данными гироскопа 91
2.9.2. Комплексирование с данными спутниковой навигационной системы (СНС) 96
2.10. Построение карты 103
2.10.1. Виды описаний окружающей среды 103
2.10.2. Построение сетчатой карты для мобильного робота, оснащенного лазерным дальномером 104
2.11. Решение задачи глобальной навигации 106
2.11.1. Предсказание положения мобильного робота 106
2.11.2. Коррекция положения робота 107
Выводы 112
Глава 3. Управление мобильным роботом по данным лазерного дальномера 114
3.1. Обеспечение движения вдоль стены 116
3.2. Движение в заданную точку на карте 122
3.2.1. Планирование пути по карте 122
3.2.2. Модификация алгоритма поиска пути в точку для безопасного движения робота 124
3.2.3. Движение по траектории 128
Выводы 130
Глава 4. Моделирование и экспериментальные исследования 131
4.1. Разработка системы управления мобильного робота 131
4.1.1. Состав оборудования мобильного робототехнического
комплекса 132
4.1.2. Программное обеспечение системы управления мобильного робототехнического комплекса 135
4.1.2.1. Архитектура системы управления 135
4.1.2.2. Межзадачное взаимодействие 138
4.1.2.3. Пользовательский интерфейс системы управления 139
4.1.3. Тестирование работы системы управления в среде
Player/Stage 141
4.2. Результаты экспериментов 142
4.2.1. Локализация робота и построение карты 142
4.2.2. Движение в заданную точку 147
Выводы 149
Выводы и заключение 150
Литература
- Навигация мобильного робота в искусственной среде с помощью сканирующего дальномера
- Движение мобильного робота с учетом проскальзывания
- Движение в заданную точку на карте
- Программное обеспечение системы управления мобильного робототехнического комплекса
Введение к работе
Современная робототехника в целом и мобильная робототехника в частности развиваются семимильными шагами. Прогресс достигается благодаря усовершенствованию исполнительных механизмов, вычислительных средств, и, главным образом, сенсорных систем. Основной тенденцией современной мобильной робототехники является переход от телеуправляемых систем, которые требуют непосредственного участия человека для выполнения всех действий робота, к автономным системам, в которых оператор лишь указывает конечные и промежуточные цели.
Разработки мобильных роботов ведутся в рамках проведения инопланетных исследований, где большая задержка сигнала не позволяет осуществлять телеуправление, в военных исследованиях для создания автоматических боевых машин, способных скрытно осуществлять разведку и даже решать боевые задачи без участия оператора. Также автоматизация мобильных роботов необходима для облегчения работы оператора, который может не успевать воспринимать поток информации, поступающий от сенсорных систем робота. Помимо перечисленных экстремальных областей мобильные роботы находят применение и в обычной жизни для создания роботов-помощников, роботов-пылесосов и т.п.. Информационные системы таких мобильных роботов должны удовлетворять следующим требованиям:
обеспечение автоматического движения;
обеспечение безопасности транспортного средства;
определение положения мобильного робота в пространстве;
составление описания рабочей зоны.
Удовлетворение этих требований возможно с помощью оснащения современных мобильных роботов различными сенсорами: одометрическими датчиками, системами спутниковой навигации, инерциальными измерительными системами, видеокамерами, сонарами и лазерными
7 сканирующими дальномерами. Обилие и широкое разнообразие сенсорных систем, которыми оснащаются современные мобильные роботы, и в то же время рост вычислительной мощности бортовых систем управления позволяет разрабатывать различные методы обработки сенсорной информации для решения задач навигации и управления мобильными роботами.
Ключевой проблемой мобильной робототехники является решение задачи навигации, что подразумевает под собой определение положения мобильного робота в рабочем пространстве — локализацию и составление представления, описания окружающего мира - картографию. Информация о текущем положении робота необходима для решения большинства встречающихся задач управления: прохождения заданной траектории, поиска пути в заданную точку, возвращения в исходное положение. Информация об окружающем мире, которая чаще всего представляется в виде карты или плана местности, необходима для запоминания пройденного маршрута, планирования траектории в обход статических препятствий, слежения за динамическими объектами. Задача локализации является наиболее сложной, хотя она может быть решена при помощи датчиков спутниковых навигационных систем (СНС) таких как GPS и ГЛОНАСС, но на настоящий момент в большинстве случаев эти системы не позволяют получить точности, необходимой для управления мобильным роботом. Кроме того, их применение ограничивается зонами доступности сигнала спутников, что делает невозможным определение положения робота внутри зданий, а также вблизи высоких сооружений и деревьев. Наиболее точное решение навигационной задачи может быть получено с помощью систем технического зрения на основе видеокамер, лазерных дальномеров и других сенсоров. Такие системы также позволяют формировать описание окружающей робот зоны, выявлять потенциальные опасности, находить ориентиры целей. Информационный поток с таких датчиков довольно высок (от 5 КБайт/сек. для лазерного дальномера до 8 Мбайт/сек. для видеокамер), поэтому методы обработки такой информации требуют сложных алгоритмов,
8 значительных вычислительных мощностей и получили развитие только в последнее время.
Среди датчиков, входящих в системы технического зрения мобильных роботов, большой популярностью среди разработчиков пользуются лазерные сканирующие дальномеры. Эти датчики позволяют измерять расстояния до ближайших объектов за счет излучения пучка лучей лазера в плоскости. Результатом измерения является массив дальностей до ближайших объектов, находящихся на пути лучей - своеобразное изображение сечения окружающего мира в плоскости, называемое также сканом. Лазерные дальномеры имеют высокую точность измерения расстояния (до 10-15 мм.) при больших диапазонах (до 80 м.) и скоростях измерения (до 75 сканов в секунду). Они могут применяться на мобильных роботах, двигающихся по пересеченной местности, для составления цифрового описания рельефа рабочей зоны и определения её проходимости. Более эффективное использование лазерного дальномера возможно в искусственных средах, например офисных и производственных помещениях, где движение совершается в плоскости и сечение рельефа неизменно с высотой. Измерение такого рельефа может быть получено с помощью лазерного дальномера, установленного на мобильном роботе в плоскости, параллельной поверхности движения. В этом случае, информации сканирующего дальномера оказывается достаточно для решения задачи навигации и управления мобильного робота. Эта проблема — навигация и управление мобильным роботом, оснащенным лазерным дальномером, в искусственной среде решается в диссертационной работе.
Другая проблема, исследуемая в диссертации — комплексирование данных от различных датчиков мобильного робота, устанавливаемых для получения большей точности и надежности решения задачи навигации. Различные датчики могут использоваться как совместно для получения более точной информации о положении робота, чем позволяет каждый из датчиков (например, интеграция данных глобального позиционирования с данными
9,
инерциальной навигационной системы), так и по отдельности, в случае недоступности показаний какого-либо из них (например, пропадание сигнала спутника в городских условиях). Разрабатываемые методы навигации и управления должны учитывать специфику используемых датчиков, возможности по комплексированию информации с доступных сенсоров.
Исследования в области развития методов навигации и управления мобильными роботами ведутся во многих научных центрах нашей страны — в МГТУ им. Баумана [4],[5],[6], ИПМ им. М.В. Келдыша РАН [7] в ЦНИИ Робототехники в Санкт-Петербурге [28], и в Институте проблем механики РАН, а также в университетах США - Карнеги Меллон (Carnegie Mellon University) [18], Стэнфорд (Stanford University) [24], Германии - Бонн (University of Bonn) [14], Австралии - Сидней (The University of Sidney) [22] и других стран.
Целью диссертационной работы является решение задачи навигации мобильного робота в искусственной среде по данным сканирующего лазерного дальномера и информации от других датчиков, а также разработка методов управления мобильным роботом по дальнометрическим данным.
В соответствии с этим в работе поставлены и решены следующие задачи.
Анализ существующих методов решения задачи навигации.
Разработка метода определения линейной и угловых скоростей мобильного робота по данным лазерного дальномера и решение задачи локализации.
Разработка методов комплексирования данных дальномера с информацией от других датчиков робота.
Разработка методов управления движением робота и планирования пути в заданную точку на карте.
Проведение экспериментальных исследований на компьютерной модели и на макете мобильного робота.
В работе используется сочетание классических подходов к решению кинематической задачи плоского движения твердого тела с применением
10 методов фильтрации Калмана и других вероятностных методов, позволяющих учесть неточность измерений лазерного дальномера и других датчиков мобильного робота. Достоверность полученных результатов подтверждается численными и натурными экспериментами
Изложение материалов исследования в диссертации построено следующим образом. В первой главе диссертационной работы представлен аналитический ч обзор существующих разработок мобильных роботов и проведен анализ проблем, возникающих при решении задач навигации мобильного робота, оснащенного лазерным дальномером. Значительное внимание уделено существующим, в том числе, вероятностным методам решения задачи локализации робота и построения плана рабочей сцены.
Вторая глава посвящена аналитическому выводу метода определения характеристик движения мобильного робота - линейной и угловой скоростей по изменению дальнометрического изображения. С помощью разработанного метода аналитически установлены зависимости между движением робота и изменением дальнометрического изображения в частных случаях. Проведено исследование точности разработанного метода и разработаны методы комплексирования данных дальномера с информацией от других датчиков. Предложен способ описания окружающего мира с помощью сетчатой карты и вероятностный метод коррекции накапливающейся ошибки при определении положения мобильного робота.
В третьей главе предложены методы управления мобильным роботом с использованием дальнометрических данных при выполнении движения по естественным ориентирам. Также предложен улучшенный метод планирования пути в заданную точку с использованием результатов решения задачи навигации: положения робота и построенной карты местности.
Четвертая глава содержит материалы, полученные при экспериментальных исследованиях работы разработанных алгоритмов навигации и управления, реализованных на компьютерной модели мобильного
робота в специальном пакете Player/Stage, а также на макете мобильного робота, созданного в центре «Робототехника» МГТУ им. Баумана.
В заключение работы приведена общая характеристика выполненных исследований и основные выводы по результатам диссертации.
На защиту выносятся:
Способ определения линейной и угловых скоростей мобильного робота по данным лазерного дальномера.
Метод решения задачи локализации мобильного робота.
Метод определения точности решения навигационной задачи.
Метод комплексирования данных дальномера с информацией от других датчиков робота.
Методы планирования пути и управления движением мобильного робота по карте.
Навигация мобильного робота в искусственной среде с помощью сканирующего дальномера
Задача картографии для мобильного робота, оснащенного лазерным дальномером, сводится к построению плоского плана местности. Он может быть получен за счет перевода точек дальнометрических изображений, измеренных в различных положениях робота, в общую неподвижную систему координат плана.
Задачи локализации и картографии для робота, оснащенного лазерным дальномером, тесно связаны друг с другом: если определены положения мобильного робота в различные моменты времени, то преобразования, переводящие дальнометрические изображения в общий план местности, могут быть легко получены. Обычно эти две проблемы мобильной робототехники решаются совместно и в мировой литературе [14,17,19,20] получили название SLAM — simultaneous localization and mapping — одновременная локализация робота и построение карты.
Рассмотрим известные методы решения проблемы навигации мобильного робота в локальном случае. Как уже говорилось выше, решение этой задачи сводится к определению взаимного положения двух сканов, полученных в разных точках. Каждый из сканов представляет собой набор точек в плоскости, поэтому эта задача может быть рассмотрена как поиск преобразования, состоящего из поворота и перемещения, переводящего один набор точек в плоскости наиболее близко к другому набору точек.
Один из часто цитируемых вариантов определения взаимного положения двух сканов, использованный в ряде успешных проектов [4,5,6], это метод построения функции различия двух сканов.
Функция различия - Ф определяется для двух дальнометрических изображений, имеющих зону перекрытия (рис. 1.5(a)). Один из сканов считается опорным, а второй - пробным. Аргументами функции Ф являются положение пробного скана на плоскости относительно опорного — две координаты и ориентация (х, у, ф). Для каждой точки опорного скана определяется разность между измеренной длиной р,- и расстоянием от центра опорного скана до пересечения с пробным сканом рх (рис. 1.7): Д-=1РХ-Р/
Естественно, такие действия можно произвести только для тех лучей, которые попадают в зону взаимного перекрытия двух дальнометрических изображений в исследуемом положении. Значение функции корреляции зависит от полученных разностей таким образом, что её экстремум (обычно минимум) соответствует взаимному расположению двух сканов, при котором их точки располагаются наиболее близко друг к другу, например: Ф=Ш2 (1-1) Обычно такие функции называют функциями взаимной корреляции двух сканов. Теперь задача поиска преобразования сводится к поиску положения второго скана (значений хт, ут, ф,„), при котором достигается экстремум функции Ф: (хт Ут Ч т) = аг8тт(ф) (L2) х,у, р
Результатом поиска является относительное изменение положение мобильного робота (хт, ут фт), которое произошло за промежуток времени, прошедший между получением рассматриваемых сканов. Эти значения могут быть использованы для обновления положения мобильного робота относительно некоторой неподвижной системы координат, то есть для решения задачи локальной навигации.
Область значений аргументов для поиска хт, ут, ц т может определяться здравым смыслом, кинематикой робота, показаниями одометрических датчиков и управляющими действиями. Поиск экстремума может быть осуществлен перебором, но более эффективны стандартные численные методы поиска экстремума, такие как, например, метод наискорейшего спуска, хотя в этом случае существует опасность нахождения локального минимума. Также к недостаткам этого метода стоит отнести отсутствие правильного решения и индикации случая, когда функция различия Ф не имеет явного экстремума, например, в случае движения робота по коридору или вдоль стены. Требуются дополнительные проверки для распознавания таких случаев.
Рассмотрим связь между функцией корреляции и вероятностными законами измерений. Измерения лазерного дальномера в каждом направлении подчиняются нормальному закону распределения: -. (р,-Рг)2 QV27C где pi — плотность вероятности события получения дальности рі в результате измерения расстояния в z -м направлении луча дальномера, pt — измеренная длина, рх — фактическое расстояние до препятствия в рассматриваемом направлении, о - параметр распределения. Если считать измерения в каждом направлении независимыми друг от друга, то вероятность события получения пробного дальнометрического изображения в какой-либо точке (х, у, ф) относительно опорного скана равняется произведению отдельных вероятностей, полученных для каждого луча из общей зоны перекрытия сканов:
Движение мобильного робота с учетом проскальзывания
Пусть теперь движение робота в плоскости не стеснено условием отсутствия бокового проскальзывания или центр вращения робота не совпадает с центром координат дальномера (рис. 2.2). В этом случае линейная скорость робота имеет проекции на обе оси системы координат, связанной с дальномером XL и YL. Тогда запишем кинематические уравнения для движения робота в неподвижной системе координат следующим образом: хо - х0 J o=Uy0 » С2-9) [ ф0 = со где \)х , \)у — проекции вектора скорости точки О на оси абсолютной системы координат, а со, по-прежнему, угловая скорость робота. Тогда, произведя те же вычисления, из соотношения (2.3) с учетом (2.4-6) получим уравнение движения неподвижной точки в связанной системе координат в следующей форме: Г x = oy-(iocas(po+.y0j/n po) [у = -ах - (- х0 sin ф0 + у0 cos р0) Заметив, что последние слагаемые в правой части представляют собой проекции вектора линейной скорости на оси связанной системы координат: { и =i0cos(p0 + j0.sm(p0 =1) со фо+Uj. smq 0 Vу=— ХцйІПЩ + y(lcosq Q = —Vy sintyQ+\)x cosy),) получим уравнение аналогичное (2.7):
Модель мобильного робота. Движение с проскальзыванием Заметим, что если вектор линейной скорости совпадает с осью X связанной системы, т.е. отсутствует боковое проскальзывание (как было в предыдущем пункте), то уравнения (2.7) и (2.10) совпадают.
Получим уравнение, записанное в полярной системе координат, связанной с роботом, аналогичное уравнению (2.8): v(/ = -(o + \ox sin \\f-vy cos \\fj/ p p = -u sin \/ - vx COS \\f
Уравнение связи движения робота с функцией сечения рельефа Рассмотрим процесс измерения расстояний до сечения статического рельефа дальнометрическим сканнером, установленным на мобильном роботе. Поскольку рельеф статический, каждая его точка удовлетворяет соотношению (2.7) (или (2.9) - в полярных координатах). Пусть робот движется с неизвестными угловой скоростью ю(/) и линейной скоростью u(V), t О.
Необходимо найти зависимость, связывающую изменение измеряемых расстояний до сечения рельефа и параметры движения мобильного робота.
Будем считать, что положение абсолютной системы координат OQXQYQ определяется положением связанной с роботом системы координат OXY в начальный момент. Пусть рельеф описывается соотношением (рис.2.3), заданным в абсолютной системе координат g{x0,y0) = 0.
Предположим, что в процессе движения рельеф, обозреваемый роботом, описывается некоторым соотношением: f(x,y,t)=0, при этом в начальный момент времени, в силу принятого предположения относительно выбора абсолютной системы координат выполняется соотношение f{x,y,t0)=g(x,y). (2.11) Получим теперь уравнение, описывающее поведение функции f{x,y,t). Полный дифференциал f{x,y,t) имеет вид: df = Ldx + dy + -dt = 0. (2.12) дх ду dt Рис. 2.3. Вид поверхности f(x,y,t)=0 в пространстве (x,y,t) Рассмотрим два случая. а) робот движется без бокового проскальзывания. Подставляя в (2.12) соотношения для дифференциалов dx и dy из уравнений относительного движения (2.7), получим уравнение в частных производных функции Дхда): (coy - и)/, - dtxfy +//=0 или ( /;-х/;)о-/ + //= 0. (2.13) Это уравнение связывает параметры движения робота с функцией, описывающей сечение рельефа. Если более предпочтительными являются уравнения в полярных координатах, т.е. эволюция рельефа задается в виде: Л(р,Ч/,ґ) = 0 h(p,y,Q)=e(pw), (2.14) то соответствующее уравнение с учетом (2.9) имеет вид: ( „-„„Л -h (D + cosy + h - ID + h\ = 0, (2.15) V. 9 J где h p, h , h t -частные производные функции h(p,\\f,t). Вообще говоря, уравнения (2.13) и (2.15) представляют собой уравнения в частных производных относительно функций f(x,y,t) или h(p,\\!,t) с краевым условием (2.11) или (2.14) при условии, что заданы функции, определяющие собственное движение робота. Однако в рассматриваемой нами проблеме мы имеем дело с некоторым аналогом обратной задачи. Действительно, для всех моментов времени / мы знаем функцию f(x,y) (или h(p,\\f)), получаемую в результате измерения сечения рельефа в процессе движения. При фиксировании параметра t, который задает в пространстве (0,x,y,t) (или (0,р ,\}/ ,t )) поверхность 7г (рис.2.2), мы имеем линию /(х,.у) которую мы называем «сканом» (или «изохроном»), и которая представляет собой видимую роботом часть сечения рельефа в момент t. б) произвольное движение робота в плоскости. В этом случае уравнение движения робота имеет вид (2.9), а уравнение движения неподвижной точки рельефа относительно системы координат, связанной с роботом, описывается соотношением (2.10). Тогда основное уравнение для определения параметров собственного движения (в нашем случае это со, vx, vy) будет иметь вид: Ь/;-х/ -/;и, -/х + //= (2Л6) Так же как и в предыдущем случае, оно связывает движение мобильного робота с функцией сечения рельефа, является линейным относительно со, их, иу и параметризировано по х и у. Аналогично можем получить соответствующее уравнение в полярной системе координат: -A + sin \\f COS\\J cos ці + h vx + sin\\f - h и + h\ = 0. P J V P 2.1.3. Дискретизация задачи До сих пор мы считали, что измерения производятся непрерывно. В действительности же, измерения производятся в дискретные (равностоящие) моменты времени. При этом в каждый момент времени в качестве измерения мы получаем конечное множество пар координат точек рельефа в полярной системе координат Sp" = {(р \ч/А )}, или, после перевода в декартовую систему координат, Scar = {(xt , v ). которое выше мы назвали сканом, и которое задает видимый роботом рельеф в момент t=tk. (Заметим, что при этом движение робота, а следовательно, и относительное движение точек, принадлежащих рельефу, по-прежнему описывается непрерывным образом, т.е. обоснованными дифференциальными уравнениями (2.1) и (2.7) или (2.9) и (2.10) соответственно). Такая дискретизация измерений приводит к тому, что функция J[x y,t), описывающая эволюцию рельефа, превращается в решетчатую функцию: /{ УІА)=0, (2.18) где к = 0,1,2,... - номер скана по времени, / = 0,1,2,...,N - номер измерения внутри к-ого скана. Заметим, что время h между соседними сканами не обязательно мало. Действительно, на интервале (tk, tk+{) параметры движение робота со(ґ) и и(/) могут существенно изменяться, однако мы ищем постоянные (на этом шаге) со . и иА, эквивалентные со (t) и v(t) в том смысле, что и та и другая пара переводит робот в одинаковые состояния {хк+\,Ук+и ф +і) в силу уравнений движения (2.1) или (2.9).
Движение в заданную точку на карте
Изображение, формируемое дальномером, содержит ограниченную информацию об окружающем мире. Поэтому нетрудно представить такое сечение рельефа, на котором предложенные выше методы не смогут решить задачу следования вдоль стены. Кроме того, с использованием методов управления мобильным роботом по текущему скану, принципиально не возможно решение задачи движения в заданную точку, возврата в исходную позицию, так как робот не имеет информации о своем положении и достаточного описания окружающего мира. Для решения этих задач необходимо применять методы управления второго типа - методы, в которых робот использует представление об окружающем мире и своём собственном положении в нем.
Использование информации о собственном положении робота, полученной с помощью решения задачи локализации по дальнометрическим данным, например, методом, изложенным в главе 2, позволяет ставить задачу перемещения мобильного робота в целевую точку, с определенными координатами в рабочей зоне, которая должна быть достигнута с определенной точностью. Этот способ задания может быть использован, в том числе, и для решения рассмотренной выше задачи движения вдоль стены: на каждом шаге алгоритма может быть поставлена цель - точка, отстоящая от стены на заданном расстоянии. Движение, направленное на достижение этой точки, будет эквивалентно движению вдоль стены.
Использование карты местности, полученной в ходе решения навигационной задачи, позволяет искать путь в заданную точку с учетом препятствий нанесенных на карту. Существует множество широко известных методов, которые позволяют на сетчатой карте найти путь в заданную точку. Это такие алгоритмы, как волновой алгоритм, алгоритм Дейкстра, алгоритм А и др. [15]. Полученная траектория движения может удовлетворять различным критериям оптимальности.
При использовании указанных алгоритмов для планирования траектории движения робота, оснащенного лазерным дальномером, в точку необходимо учесть следующие особенности.
Во-первых, изменение карты, в случае появления новых объектов в зоне движения мобильного робота и в случае изменения координат робота, в результате уточнения решения навигационной задачи.
Во-вторых, неточность определения положения робота и, связанную с этим, повышенную опасность столкновения с препятствиями.
Изменение карты, в силу дискретности описания, неточности измерений лазерного дальномера, ошибок в решении навигационной задачи и изменений рельефа рабочей зоны, может происходить на каждом шаге алгоритма локализации робота, предложенного в главе 2. Соответственно, маршрут движения робота может быть перепланирован с новым начальным положением и новым состоянием карты также на каждом шаге. Однако, в случае когда существуют два альтернативных маршрута проезда в целевую точку примерно одинаковой длины, частое перепланирование может привести к ситуации, когда после начала движения по одному выбранному маршруту, второй путь оказывается предпочтительней и наоборот.
Время, затрачиваемое на планирование маршрута, зависит от размера карты и расстояния между точками. В общем случае, это время недетерминировано и реализация алгоритма поиска пути в реальном времени является затруднительной.
Для решения этих проблем, в работе использован и развит известный алгоритм поиска пути в целевую точку [15], [4] и управления движением робота.
В качестве исходного алгоритма поиска пути в точку на карте был использован волновой алгоритм, позволяющий найти кратчайший маршрут между двумя точками на сетчатой карте. Каждая клетка карты соответствует занятой или свободной для движения точке плоскости. Волновой алгоритм позволяет найти путь между двумя свободными клетками карты в виде последовательно связанных свободных клеток. Размеры робота учитываются за счет увеличения препятствий, то есть клетки, соответствующие точкам плоскости движения, расположенным вблизи препятствий на расстоянии, не превышающем размеры мобильного робота, также помечаются как занятые.
Расширение алгоритма состоит в следующих шагах.
После того, как маршрут в заданную точку найден, определяются опорные точки маршрута. Это такие центральные точки последовательных клеток, составляющих маршрут, каждая из которых находится в прямой видимости из позиций соответствующих соседним точкам. Условие прямой видимости означает, что прямая, проведенная между последовательно выбранными точками маршрута, не пересекает клетки карты, помеченные как препятствие.
Программное обеспечение системы управления мобильного робототехнического комплекса
В состав бортовой части (рис. 4.1) входит точка доступа к беспроводной сети (4), к которой подключается бортовая вычислительная машина (8) в промышленном формате PC 104.
Лазерный дальномер (7) соединяется с бортовым компьютером через последовательный высокоскоростной интерфейс. Данные дальномера используются для навигации и управления мобильным роботом. Сканирующий дальномер фирмы SICK LMS200 позволяет получать дальнометрические изображения с частотой до 75 Гц, точностью до 10мм [35], угловым диапазоном 180 и линейным до 80м. Лазерный дальномер установлен на шасси для получения сканов сечения рельефа в горизонтальной плоскости таким образом, чтобы направление оси дальномера совпадало направлением движения робота.
Для обеспечения безопасности системы, робот оснащен блоком дополнительных датчиков (11) (разработка МГТУ «Станкин»), в состав которого входят инерциальные датчики, определяющие угловое положение робота и блок обработки инфракрасных датчиков, установленных на шасси в направлении, противоположном направлению дальномера. Этот блок передает результаты измерений в бортовую вычислительную машину с частотой 100 Гц по стандартному последовательному интерфейсу.
Для управления приводами мобильного робота, бортовой PC оснащён платой с цифроаналоговым преобразователем (10). С помощью него выдаются управляющие напряжения (-10В..+10В) на блок пропорционального управления приводами правых и левых колес (12).
Питание робота осуществляется за счет аккумуляторов, входящих в состав шасси «Вездеход», и преобразователя напряжения, стабилизирующего напряжение питания цифровой части мобильного комплекса (13). Для контроля напряжения на аккумуляторах бортовая вычислительная машина оснащена аналого-цифровым преобразователем (9).
К бортовой точке доступа (4) комплекса, через сетевой интерфейс Ethernet подключаются сетевые камеры (5) обзора. Эти камеры осуществляют вещание в сеть, и изображение с них может быть получено на любом узле сети (ноутбук пульта оператора или бортовой компьютер) с помощью стандартного программного обеспечения.
В состав пультовой части входит ноутбук (1), на экране которого отображается информация о текущем состоянии мобильного робота, а также данные датчиков: лазерного дальномера и камер, установленных на роботе. Для управления в ручном режиме пульт оператора оснащен джойстиком (3).
Связь между пультовой и бортовой частью осуществляется через точки доступа (2), (4) к беспроводной сети WiFi. АЛ.2. Программное обеспечение системы управления мобильного робототехнического комплекса В разделе рассмотрена реализация алгоритмов навигации и управления, предложенных в главах 2 и 3 диссертационной работы, в программном обеспечении системы управления мобильного робота.
Архитектура системы управления
Система управления мобильного робота организована как распределенная система, в которой каждый модуль выполняет определенную функцию и является отдельным процессом в операционной системе. Такое построение позволяет обеспечить следующие свойства системы: независимость работы отдельных модулей; возможность разработки и отладки каждого модуля по отдельности; масштабируемость: возможность переноса отдельных модулей с бортовой вычислительной машины на пультовую для распределения нагрузки вычислительных мощностей; открытость: использование стандартных средств межпроцессного взаимодействия, позволяющих добавлять модули с новыми функциональными возможностями без изменения ранее созданных модулей и общей структуры всей системы. Разработаны следующие модули, обеспечивающие выполнение требований к мобильному робототехническому комплексу (рис. 4.3).
1) Модуль интерфейса пользователя. Отвечает за визуализацию состояния робота, отображение информации датчиков и взаимодействие с пользователем: обработку команд джойстика, передачу команд автоматического управления соответствующим модулям.
2) Модуль управления приводами. Осуществляет выдачу через АЦП сигналов управления на привода шасси, согласно заданным значениям угловой и линейной скоростей.
3) Модуль взаимодействия с дальномером. Отвечает за получение дальнометрических изображений и настройку параметров работы дальномера через последовательный интерфейс.
4) Модуль оценки положения мобильного робота. Реализует разработанный в диссертационной работе алгоритм определения оценок угловой и линейной скоростей робота (см. 2.1.4) и их интегрирование с помощью фильтра Калмана (см. 2.4.2) для получения оценок координат положения робота и матрицы ковариации ошибок оценок.
5) Модуль построения карты. Осуществляет совмещение дальнометрических данных согласно полученным оценкам положения робота в единую карту рабочей зоны робота. Отвечает за коррекцию положения робота с помощью алгоритма "фильтра частиц" (см. 2.11.2).
6) Модуль автоматического движения робота вдоль стены. Реализует алгоритмы автоматического управления движением робота (см. 3.1).
7) Модуль автоматического движения робота в заданную точку. Реализует алгоритмы планирования безопасного маршрута в заданную точку и автоматического движения робота по нему (см. 3.2).