Недостатки картографической навигации связаны со следующими требованиями:
а) на местности должно быть достаточное количество стационарных, хорошо различимых деталей, по которым будет производиться сопоставление сенсоров должно быть ровно столько, сколько необходимо (в зависимости от поставленной задачи);
б) должна быть доступна значительная чувствительная и вычислительная мощность.
Проблема построения карты очень тесно связана с возможностями восприятия, она может быть определена следующим образом: «что сенсоры способны увидеть из заданного положения робота с данным множеством измерений?».
Представление, используемое для карты, должно обеспечивать возможность объединения на карте новой информации, поступающей от сенсоров. Также оно должно доставлять необходимую информацию для планирования маршрута и уклонения от препятствий.
Три главных шага в обработке сенсорных данных для построения карты:
а) извлечение характерных признаков из необработанных сенсорных данных;
б) объединение данных от сенсоров различных типов;
в) автоматизированное создание абстрактной модели местности.
Один из самых энергоемких аспектов картографической навигации – сопоставление карт. Сопоставление происходит при первоначальном извлечении характерных признаков, далее определяется точное соответствие между изображением и характеристиками модели. Работа по сопоставлению карт в сфере машинного зрения чаще всего фокусируется на общей проблеме сопоставления изображения, полученного из случайного положения и ориентации, по отношению к модели.
Алгоритмы сравнения можно разделить на алгоритмы, основанные на анализе изображения и основанные на анализе характерных признаков. Первые отличаются от вторых тем, что, во-первых, по карте сопоставить данные очень информативной точки на местности проще, чем данные представляющие собой малый набор особенностей. Вычисления в алгоритмах основанных на анализе характерных признаков быстрее, чем в алгоритмах основанных на анализе изображения и не требуют хороших предварительных головных вычислений. А вычисления в алгоритмах основанных на анализе изображения могут выполняться на меньшем количестве точек, чем требуется для вычисления в алгоритмах основанных на анализе характерных признаков, могут управляться не идеальной моделью местности и являются более точными.
Как и в навигации по ориентирам, выгодно использовать приблизительное вычисление положения, основанные на одометрии, для создания примерной визуальной сцены (по имеющейся карте), которую будет «видеть» робот. Далее, эта созданная сцена сравнивается с тем, что сейчас видит робот. Эта процедура эффективно снижает время необходимое для нахождения соответствий.
Одна из проблем систем позиционирования, основанных на анализе характерных признаков, заключается в том, что окрестность, находящаяся недалеко от положения робота, неопределенна. На практике это серьезная проблема, особенно если для установления характерных признаков используются ультразвуковые сенсоры, которые страдают недостаточным угловым разрешением.
В картографическом позиционировании выделяют два общих способа представления карт: геометрическое и топологическое. На геометрической карте объекты представляются в соответствии с их абсолютными геометрическими отношениями. Это может быть сеточная карта или более абстрактная линейная или полигональная карта. С другой стороны - топологический подход, он больше базируется на протоколировании геометрических отношений между отслеженными особенностями, чем на их абсолютное положение в координатах относительно некоторой системы отсчета. В отличии от геометрических карт, топологические карт могут строиться и поддерживаться без какой-либо положения робота. Как результат, этот подход может использоваться для интеграции карт больших территорий, так как все связи между узлами скорее относительные, чем абсолютные [8].
3.2 Выбор модели представления знаний в системе навигации
Навигация мобильных роботов является актуальной задачей современной робототехники. При этом процесс навигации включает в себя следующие этапы:
а) составление карты среды;
б) коррекция траектории движения робота;
в) планирование маршрута (выбор оптимального пути, ведущего к цели);
г) управление локальными перемещениями;
д) обход роботом опасных участков трассы.
Алгоритмическое решение этих задач, очевидно, должно опираться на информацию о рельефе поверхности, которая может быть известна априори, дополняться в процессе перемещения робота. Для прокладки маршрута используется глобальная информация о районе перемещения, например, в виде матрицы рельефа, каждый элемент которой соответствует определенному участку поверхности. Индексы отдельного элемента матрицы определяют линейные координаты участка местности, а значение элемента – относительную высоту этого участка.
Управление локальными перемещениями по известному маршруту осуществляется на основании информации о характере поверхности в ближней окрестности робота.
Если определить маршрут движения как последовательность опорных пунктов (подцелей) движения, включающую исходное и конечное (целевое) положения робота, то задача прокладки маршрута включает формирование некоторого множества подцелей и последующий выбор такого его подмножества, которое оптимизирует движение робота.
Процессу прокладки маршрута движения робота предшествует составление карты среды. С локальными перемещениями робота связаны задачи коррекции траектории движения и обхода опасных участков поверхности.
3.2.1 Составление карты среды
Сначала формируется карта рабочей зоны робота, при этом внешняя среда дискретизируется, и каждому участку, содержащему препятствие, ставится в соответствие информация о типе этого препятствия. Также предполагается, что для определения проходимости участков среды используется дистантная сенсорная подсистема сканирования на основе лазерного дальномера, а определение пройденного пути осуществляется с помощью одометрической подсистемы с применением метода пассивного колеса. Построение карты происходит одновременно с исследованием внешней среды.
Пусть в начальный момент времени внешняя среда не исследована, а робот находится в центре свободного участка 0 (рисунок 3.1), который считается началом координат создаваемой карты.
Рисунок 3.1 – Траектория движения робота при составлении карты
Участки с номерами 1-8 считаются потенциально проходимыми. Для уточнения их проходимости робот осуществляет последовательное сканирование данных участков. Сканирование начинается с участка номер 1. Если данный участок свободен, то выполняется перемещение в среде в направлении центра первого участка как показано на Рисунке 3.1. Причем величина перемещения равна максимальному из габаритных размеров участков, на которые дискретизируется среда. После этого считается, что робот переместился в центр следующего свободного участка. При этом координаты центра данного участка, рассчитываемые по формулам 3.1 и 3.2, наносятся на карту.
; (3.1) . (3.2)Здесь
, – абсцисса и ордината центра предыдущего участка, – величина перемещения, – курсовой угол робота.В формуле (3.1) выбирается знак «+», если i-й участок расположен правее i-1 и знак «-», если левее. В формуле (3.2) знак «+» выбирается, если i-й участок расположен выше, чем i-1-й, и «-», если ниже. Также наряду с координатами центра каждому участку ставятся в соответствие индексы смещения по координатным осям X, Y относительно начального участка 0 (рисунок 3.1). Это делается для того, чтобы упорядочить хранение карты среды в памяти робота в соответствии с индексами участков. После того, как робот нанес информацию о первом участке на карту, он сканирует проходимость участков 2, 3, ..., 8 двигаясь против часовой стрелки по периметру участка 0, как показано на Рисунке 3.1. Если какой-то из данных участков оказывается занятым, то робот определяет, находится ли на нем препятствие либо цель и вносит информацию о данном участке на карту. После обследования участков 1-8 робот расширяет зону исследований и переходит к сканированию участков 9-23 и т.д. Данный процесс продолжается до тех пор, пока во внешней среде не останется ни одного неисследованного участка. После этого в памяти робота формируется карта его рабочей зоны.
Исходя из этого, строим алгоритм составления карты местности (рис.3.2).
Рисунок 3.2 – Алгоритм составления карты местности
Зная смещение робота (
, ) относительно центра текущего участка можно определить индексы данного участка по следующим формулам: ; (3.4) . (3.5)После составления карты среды робот должен использовать ее в процессе перемещений к цели. Однако полученная карта не может быть абсолютно точной из-за погрешностей измерений. Поэтому робот после каждого перемещения должен выполнять уточнение карты, позиции на ней. Составление карты местности в виде алгоритма приведено в приложении С.