Васильев Иван
Анатольевич
Санкт-Петербург, ЦНИИ
РТК, нач. лаб., к.т.н.
Введение
Здесь под движением мобильного робота по ориентирам
понимается движение мобильного робота по траектории в целевую точку, используя
показания сенсоров, которые в некоторые моменты времени производят сканирование
внешней среды для определения координат робота относительно некоторых выделенных
объектов. Причем в разные моменты времени объекты могут быть, вообще говоря,
различными.
В зависимости от целей определения координат виды
движений могут быть:
·
с запоминанием
пройденной траектории;
·
с построением карты, то
есть, запоминаем расположение всех препятствий в некоторой однократно
выделенной системе координат;
·
с объездом препятствий
на пути следования;
·
при движении по заранее
известной карте местности.
Перечисленные режимы могут использоваться
одновременно.
При движении по ориентирам возникают следующие задачи:
·
определение ориентира:
·
определение координат
робота, относительно ориентира;
·
определение координат
робота в некоторой базовой системе координат (БСК).
В данной работе предполагается, что
сенсором внешней среды является лазерный сканирующий дальномер, рабочий
диапазон углов которого 0 – 180° с дискретностью 0.5°, а диапазон расстояния 0.5 – 80 м с точностью 10 см. В качестве
датчиков внутреннего состояния робота подразумеваются датчики оборотов колес –
одометры.
Под определением ориентира понимается выделение на
сцене таких наблюдаемых объектов, которые могут быть ориентирами. Задачу
автоматического выбора объекта, который удобен для того, чтобы стать
ориентиром, по причине ее сложности здесь не рассматриваем.
Заранее составляется база объектов, которые могут
присутствовать на сцене работы и, одновременно, их конфигурация удобна для
определения координат.
Этими объектами могут быть:
·
Апертуры, то есть
дверные проемы, проемы между столбами, проемы между зданиями и т.д.
·
Монолиты, то есть
отдельные неразрывные объекты – здания, отдельные столбы, отдельно стоящие
деревья и т.п.
·
Сильно удаленные точки,
то есть характерный издалека видимый объект, расстояние до которого значительно
превышает его размеры;
·
Различные, заранее
известные комбинации предыдущих объектов.
Ориентиры-апертуры должны рассматриваться только в том
случае, когда расстояния до них не превосходят критических, значения которых
зависят от размеров проемов.
Под монолитами здесь надо понимать объекты, которые
видны с расстояния, намного превышающего его размеры. Если это не так, то под
монолитом понимается и относительно более крупный объект, у которого всегда
можно выделить характерную точку – например, угол дома или ось центра тяжести.
Сильно удаленные точки – это такие объекты, размеры
которых с удовлетворительной точностью установить невозможно, но направление на
них устанавливается хорошо. Здесь нет четкой границы между монолитами и такими
объектами. Для сильно удаленной точки может подойти проем в стене, например 1
метр с расстояния в несколько десятков метров.
Комбинации объектов можно использовать лишь в тех
случаях, когда взаимное расположение их достаточно хорошо известно, например,
исходя из топографической карты. Это может значительно увеличить точность
определения координат робота.
Набор ориентиров, видимо, должен быть подобран таким
образом, чтобы в любой момент времени движущийся робот имел возможность
наблюдать не менее двух ориентиров одновременно. Причем, очень желательно,
чтобы один из ориентиров был, условно говоря, «старым», то есть наблюдаемым в
предыдущий момент времени, а другой – только что появившимся в области
видимости.
Определение координат робота, относительно проемов
производится следующим образом. Рассмотрим рисунок 1.
Рис.1 Определение координат относительно апертуры |
Рис.2 Смещение апертуры в зависимости от точки
наблюдения. |
Здесь проем обозначен буквами A и B, начало
системы координат робота обозначено буквой R, расстояние от центра координат робота до границ
проема обозначено буквами a и b, размер проема – буквой d, углы на границы проема – буквами g и d. Требуется найти координаты робота в СК проема (x0, y0) и
ориентацию робота – угол a.
По теореме косинусов находим угол при вершине A:
;
Отсюда сразу находим координаты:
Остается найти угол ориентации:
При работе с апертурами требуется учитывать, что
характерные размеры проема, который является определяющим для вычисления
координат, из-за конечности размеров границ проема, изменяются в зависимости от
угла наблюдения, см. рис.2.
Определение координат робота относительно монолитов
гораздо сложнее. Здесь невозможно определение координат по единственному
измерению, требуется знать не только текущее измерение, но и измерения с
предыдущего шага. Но и эта информация не дает полной картины – см. рис. 3.
Видно, что невозможно одновременно разделить сдвиг
робота и поворот. Поэтому, требуется производить раздельные движения. Так как
шестиколесный робот довольно хорошо держит направление прямо даже по
пересеченной местности, то, зная, что робот едет на данном участке прямо и,
пренебрегая возможной неточностью такого движения, можно рассчитать величину
его прямолинейного перемещения.
Рассмотрим рисунок 4 для определения прямолинейного
перемещения.
Рис. 3. Смешанное движение по единственному ориентиру. |
Рис. 4 Прямолинейное движение робота. |
Рис. 5. Движение на сильно удаленную точку. |
В этом случае вычисление перемещения выполняется очень
просто:
Для определения угла поворота, при повороте на месте
(т.е. для т.н. «танкового» разворота) требуется вычесть начальный угол из
конечного:
Так называемую сильно удаленную точку, расстояние до
которой настолько больше ее размера, что угловая видимость этого объекта
меньше, чем угловая точность дальномера, можно использовать лишь для контроля
направления движения (см. рис. 5).
При таком движении управление формируется лишь по
величине рассогласования по углу Da.
Под базовой системой координат (БСК) здесь понимается
некоторая однократно выделенная система, относительно которой вычисляются
координаты робота в процессе движения.
Для общего случая, когда координаты ориентиров заранее
неизвестны в БСК, алгоритм определения координат робота следующий.
1.
Считается, что при
старте координаты робота в БСК известны. Можно их считать нулевыми, то есть
принять, что начало базовой системы координат совпадает с тем местом, где
произошел старт. Если такое начало БСК, по каким либо причинам неудобно, то
можно перед стартом вывести робот в точку с известными координатами, или робот
сам определяет свои начальные координаты, относительно заранее известных
ориентиров.
2.
Определяются координаты
препятствия в СК робота и пересчитываются в БСК.
3.
При движении смещения
робота определяются уже по отношению к известному (по п. 2) ориентиру.
Следовательно, становятся известными текущие координаты робота в БСК.
4.
Проверка на то, что
робот выполнил поставленную задачу, то есть переместился в указанное место.
Если это так, то конец. Если нет, то продолжаем.
5.
Проверка на попадание в
зону видимости нового ориентира. Если нового ориентира нет, то переход к пункту
3, если есть новый ориентир, то переход к пункту 2.
Заключение.
Описанные методы и алгоритмы управления мобильным
роботом, ориентируясь на некоторые искусственные или естественные маркеры,
оказались широко применимыми. Во введении описывается лазерный сканирующий
дальномер, применяемый для движения по ориентирам.
В действительности, для этих целей даже лучше подходит
телекамера из соства системы технического зрения (СТЗ). Телекамера даёт большую
надёжность при распознавании ориентира как ориентира, видимого на предыдущем
такте управления.