Автор: Поповский Александр Борисович

Рубрика: Информатика

Опубликовано в Молодой учёный №9 (9) сентябрь 2009 г.

Статья просмотрена: 78 раз

Библиографическое описание:

Поповский А. Б. Монокулярная навигация транспортного робота // Молодой ученый. — 2009. — №9. — С. 28-31.

Навигация всегда была и есть нетривиальной и сложной системой мобильного робота. Именно от выбора системы навигации зависит общая конструкция робота, его технико-тактические характеристики и цена. Последний критерий играет, пожалуй, самую значительную роль, так как машины даже с хорошей навигацией, но высокой ценой не получают массового распространения. Существует множество подходов к решению вопроса ориентации мобильного робота, и чаще всего используется комплексный метод, включающий в себя всевозможные датчики, дальномеры, камеры, тепловизоры и прочее. Как правило, получившиеся роботы уникальны, их тяжело, невыгодно и сложно тиражировать. Использование же систем навигации из коммерческих образцов (например, роботов-пылесосов, игрушек) в транспортной машине не представляется адекватным.

            В данной работе предлагается достаточно новый и оригинальный способ навигации – монокулярное зрение. Основная идея – использовать в качестве источника информации об окружающем мире всего лишь одну видеокамеру. Вся сложность навигации при этом ложится на программное обеспечение, но максимально упрощается и удешевляется конструкция робота, появляется возможность его массового тиражирования.

Впервые метод монокулярной навигации был предложен в [1].  Суть алгоритма заключалась в следующем:

1.полученное с камеры изображение переводится в HSI-шкалу

2.трапециевидный участок перед роботом учитывается как беспрепятственный и по нему строится гистограмма частоты появления цветов (то есть три массива H, S и I по 255 элементов в каждом)

3.происходит «прогон» всего изображения и составляющие цвета каждого пикселя сравнивается с гистограммой: если они превышают некоторый порог (threshold), то пиксель является свободной зоной, иначе объявляется препятствием

Со временем данный алгоритм был дополнен и слегка модифицирован. Так, вместо HSI-шкалы в [2] предлагается использовать C1C2C3-шкалу. Это позволяет нивелировать тени от сторонних объектов и блики от солнца. Но даже C1C2C3 не является идеальной цветовой схемой, так как она не решает проблемы «зашумленности» изображения и невозможность распознавания препятствий на поверхностях со сложной текстурой.

Мною были протестированы различные методы определения препятствий: нормализованный и ненормализованный RGB, HSI, HSL, C1C2C3, H-method, Sobel, Sharr. Прежде всего, для ровных монотонных поверхностей вместо C1C2C3 гораздо лучше использовать метод Собеля (Sobel method): фильтрация изображения специальной маской и разбиение на чёрные-белые точки. Ниже представлены рисунки для сравнения методов (рис.1-4).

Рис. 1. Базовое изображение

Рис. 2. Метод HSI

Рис. 3. Метод C1C2C3

Рис. 4. Метод Собеля

Для поверхностей с текстурой нужен другой метод, не учитывающий интенсивность цвета и позволяющий брать диапазон от среднего значения. Таким стал H-method. Дело в том, что гомогенные поверхности с текстурой (паркет, линолеум, трава) характеризуются равномерным распределением оттенка на небольшом промежутке в пределах среднего значения. В H-методе изображение переводится в шкалу HSI, создаётся один массив по составляющей Hue, и пиксели, оттенок которых попадает в диапазон ±5% от среднего значения, объявляются свободными от препятствий. Ниже показан сравнительный пример использования H-метода, HSI и C1C2C3 (рис.5-8).

Рис. 5. Базовое изображение

Рис. 6. Метод HSI

Рис. 7. Метод C1C2C3

Рис. 8. H-метод

После разбиения изображения на препятствия и свободные зоны робот должен определить траекторию пути. Сделать это можно двумя способами. Первый способ – классический, заключается в построении декартовых систем локальной и глобальной карт. Для этого принимается допущение, что поверхность пола – ровная, и не имеет подъёмов и спусков, внутри помещений это правило выполняется полностью. Далее можно заметить, что первая чёрная линия снизу обязательно является препятствием. Чтобы найти расстояние до этого препятствия, нужно знать лишь следующие параметры робота: высоту камеры (CamHeight), угол наклона (CamSlant) к горизонту, угловое (CamResolutionY и CamResolutionX) и пиксельное разрешение камеры по вертикали (ScreenHeight) и горизонтали (ScreenHeight). Расстояния до объекта c координатами ScreenY и ScreenX по осям Y и X считаются по следующим формулам:

Изображение на рис.5, отображённое в двумерную локальную карту при масштабе              1 пиксель = 1 сантиметр показано на рис.9. Штриховыми линиями обозначен угол обзора камеры робота. Большинство бюджетных веб-камер имеют низкое угловое разрешение (порядка 200 по вертикали и 400 по горизонтали), поэтому их нужно укреплять как можно ближе к полу. Это способствует уменьшению «слепой зоны» робота и позволяет более точно позиционировать препятствия. Недостатками этого способа построения траекторий являются отсутствие универсальности (только условия плоского пола), требования к наличию информации о геометрических характеристиках робота, скоростях движения и разворота, либо наличие алгоритма определения их эмпирическим путём.

Второй способ построения траектории движения заключается в непосредственной связи распознанного изображения с сервоприводами робота через минимальные манипуляции с данными. Подобная методика была опробована в [2]. По изображению робот определяет возможные пути движения и совмещает их с данными, полученными от глобального навигационного устройства (например, GPS). В классической теории построения искусственного интеллекта последний должен обладать внутренней моделью мира (локальной или глобальной картой), здесь же предлагается парадигма: «мир – лучшая модель себя». В самом деле, с учётом зашумленности достаточно сложно построить точную карту местности по одному изображению и практически нереально определить на ней высоты. С другой стороны, можно просто определить вероятные вектора движения, последовательно анализируя участки распознанного изображения, и сопоставить их с глобальным направлением перемещения робота. Основным недостатком такого метода является возможность возникновения тупиковых ситуаций – например, езда по кругу. Но в целом его можно использовать в открытом пространстве: на дорогах, насыпях, трассах.

Результатом данного исследования стало создание транспортного робота «Циклоп» (рис. 10-11). Его основными компонентами являются: транспортная тележка с двумя сервоприводами, ноутбук, плата расширения Arduino, блок питания из 6 элементов АА и веб-камера. Низкая скорость движения (15 см/с) и относительно небольшие размеры (460х330х200мм) позволили тестировать робота как внутри помещения, так и снаружи.

Робот показал лучшие возможности навигации на асфальте, в условиях открытого пространства. Не было допущено ни одной ошибки первого рода (не распознаётся препятствие) и минимальное, около 5%, ошибок второго рода (свободный участок распознается как препятствие), которые не являются критичными. Скорость распознавания и построения траектории движения в среднем составила 120 мс, т.е. около 8 раз в секунду. При размере локальной карты в 2,5 метра это могло бы позволить роботу развить максимальную безопасную скорость в 8-10 м/с (28-36 км/ч).

Рис. 10-11 Робот «Циклоп»

В помещении при передвижении по линолеуму робот достаточно часто избирал неправильный маршрут, локальная карта строилась неточно. Кроме того, из-за различной скорости работы сервоприводов, возникли сложности с позиционированием: так на 2,5 пройденных метра отклонение от намеченного маршрута составило 12 сантиметров (4.8%).

В целом, представленная методика навигации показала высокую эффективность, прежде всего в условиях городской асфальтовой дороги. Незначительное усовершенствование алгоритмов обнаружение препятствий позволило бы внедрить данную систему в управление легковыми транспортными средствами. На первоначальном этапе, это могла бы быть система помощи водителю, а в дальнейшем – полное автопилотирование автомобилем.

Литература

  1. I. Ulrich and I. Nourbakhsh, “Appearance-based obstacle detection with monocular color vision,” in Proc. AAAI Nat. Conf. on Artificial Intell., Austin, TX, 2000.
  2. D.Song, Hyan Nam Lee, “Vision-based Motion Planning for an Autonomous Motorcycle on Ill-Structured Road”, Dept. of Computer Science, Texas A&M University
Основные термины (генерируются автоматически): транспортного робота, конструкция робота, мобильного робота, траектории движения, построения траектории движения, движения транспортного робота, навигация транспортного робота, системой мобильного робота, общая конструкция робота, ориентации мобильного робота, среднего значения, обзора камеры робота, создание транспортного робота, инерционного транспортного робота, «слепой зоны» робота, следующие параметры робота, геометрических характеристиках робота, направлением перемещения робота, сервоприводами робота, Похожая статья.

Обсуждение

Социальные комментарии Cackle
Задать вопрос