Назад в библиотеку

Алгоритм нахождения возможного пути перемещения автономного мобильного робота

Автор: М. А. Таранухин, А. О. Одиноченко
Источник:Работы Одесcкого политехнического университета

Разработан алгоритм нахождения пути для автономного мобильного робота, способного перемещаться по горизонтальной поверхности, Предложенный подход базируется на обработке данных от нового датчика Kinect, который выдаёт синхронизированные RGB – кадр и кадр дальности. Испытания алгоритма на базе робота – электромобиля показали его работоспособность и эффективность.

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

Исследованиям в этой области посвящено большое количество работ, что привело к значительным достижениям в разработке конструкторских и алгоритмических решений для автономных мобильных роботов. Подтверждением может служить, например, организация соревнований по передвижению автономных роботов на большие расстояния, как по пустынной местности, так и в городских условиях [1]. Тем не менее, актуальность дальнейших разработок алгоритмов передвижения автономных роботов является очевидной, вследствие ещё недостаточно широкого использования роботов в человеческой деятельности,

Для успешного передвижения таких роботов одним из важных факторов является решение навигационной задачи в ближней зоне движения, которая реализуется с помощью систем технического зрения, лазерных дальномеров и других сенсоров [2…6].

Эффективность решения этой задачи в значительной мере зависит от прогресса в области систем технического зрения.Причём, необходимо отметить особую сложность комплексирования данных от камер, дальномеров, ультразвуковых датчиков и т. п. в единую 3D карту окружающего робота пространства, и поиска пути возможного передвижения, адекватного конструкции робота. Представляется перспективной разработка алгоритмов решения навигационной задачи в ближней зоне движения робота на базе обработки сигналов от недавно разработанного датчика (Kinect) с совмещёнными видеоизображением и кадром дальностей. Т. е. в датчике Kinect задача комплексирования уже решена конструкцией самого сенсорного устройства и алгоритмами его калибровки [7].

В статье представлены результаты разработки и реализации алгоритма нахождения возможного пути перемещения (на базе обработки сигналов от Kinect) для автономного мобильного робота, который может перемещаться по ровной горизонтальной поверхности.

Разработанный алгоритм можно разделить на три функциональные части:

  1. расчёт текущей позиции робота в пространстве;
  2. анализ окружающего пространства путём построения карты горизонтальной плоскости перед роботом, по которой он может передвигаться  (то, что не лежит в этой плоскости, представляет собой препятствие);
  3. логика передвижения робота, отдающая команды исполнительным механизмам в соответствии с результатами выполнения первых двух частей и учитывающая конструктивные ограничения робота.

Задача расчета текущей позиции робота в пространстве известна как Simultaneous localization and mapping (SLAM, [8]. Решение базируется на кадрах дальности и RGB – изображении, полученных с сенсора Kinect и включает такие этапы:

На первом этапе находятся особые точки на каждом кадре, производится их сопоставление и выполняется трилатерация [9].

Для нахождения особых точек был использован хорошо зарекомендовавший себя на практике метод Speeded Up Robust Features (SURF) [10], реализованный во многих открытых библиотеках программ. Идентифицировав одни и те же особые точки на разных кадрах RGB – изображений и зная расстояния до них ri (из соответствующих кадров дальности) мы можем рассчитать перемещение робота, относительно предыдущей позиции, и, в конечном итоге, относительные координаты x, y, z робота.

С геометрической точки зрения задача трилатерации представляет собой нахождение координат точки пересечения трех сфер, которые определяются путём решения системы уравнений

Решение данной системы уравнений даёт вектор смещения t = (x, y, z).

Для определения координат робота необходимо найти углы поворота вокруг каждой из осей. Углы поворота представим в виде матрицы поворота R, которая имеет вид:

Зная вектор смещения, а так же имея по три точки с текущего и предыдущего кадра, легко найти матрицу поворота путем решения трех систем линейных уравнений вида:

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

Для уменьшения погрешности определения вектора смещения, определяемой погрешностями в данных от сенсора Kinect, необходимо производить вышеуказанные вычисления для разных групп из трёх особых точек и результирующий вектор смещения находить как центр распределения всех полученных векторов.

Анализ окружающего пространства и выбор возможных направлений движения робота осуществляется на основе определения препятствий, встречаемых на его пути. Для определения препятствий производится анализ множества точек на RGB – кадре и кадре дальности, полученных на выходе сенсора Kinect. Цель анализа – разбиение облака точек на два множества: точки, принадлежащие поверхности движения (и, следовательно, не являющиеся препятствием для движения) и точки, не принадлежащие поверхности движения (следовательно, являющиеся препятствиями). В качестве критерия разбиения учитывалось уравнение плоскости, построенное по трем точкам А, B, C, лежащим на поверхности движения. Если при подстановке в уравнение произвольной точки из облака получаем тождественное равенство нулю, то точка считается принадлежащей плоскости, т. е. поверхности движения. В противном случае, точка относится к множеству препятствий.

На основании координат точек из множества препятствий производится анализ расстояний от электромобиля до препятствий. Следует отметить, что особый интерес представляют наиболее близко расположенные препятствия. Для этого из всего облака точек препятствий, выбирают элементы с минимальным расстоянием до робота для каждого из направлений (то есть для каждого угла азимута анализируются все видимые сенсором углы места). Полученный массив точек является «линией препятствий» и используется для определения направления движения.

На рис. 1 схематически изображено расположение линии препятствий, полученных в результате анализа. Свободной зоной для движения робота считается последовательность точек линии, длиной не менее n элементов, каждый из которых находится не ближе, чем на расстоянии Q, т. е. удовлетворяет условию:

Логика передвижения робота зависит от его функционального назначения и учёта его конструктивных ограничений. Для проверки эффективности предложенного алгоритма был использован рекламный робот на базе электромобиля. Габаритные размеры робота 1,2м × 0,6м × 0,6м. Исполнительные механизмы – два двигателя постоянного тока, вращающие задние колёса, и третий двигатель, поворачивающий передние колёса. Робот оборудован сенсором Kinect и типовым ноутбуком, который производил все вычисления. В задачу робота входило прямолинейное движение до появления препятствия на пути. При наличии препятствия осуществляется поворот налево до исчезновения препятствия на новом прямолинейном пути. При невозможности движения налево производится поворот направо Если и это невозможно, то робот отъезжает назад, пока не появится возможность повернуть налево или направо и двигаться вперёд. Если движение невозможно, то робот останавливается до появления возможности движения. Испытания робота производились в большом зале, где случайным образом была расставлена мебель, стояли и передвигались люди, что классифицируется как сложная и динамично меняющаяся окружающая обстановка. В ходе испытаний робот демонстрировал квазислучайное передвижение по залу, избегая при этом наезда на людей и препятствия. Все участки зала посещались роботом с примерно одинаковой частотой.

Графическое представление линии преград.

Рисунок 1 – Графическое представление линии преград.

Выводы

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

Литература

  1. Thrun, S. Stanley:the robot that won the DARPA Grand Challenge / S. Thrun // Journal of Field Robotics. – 2006. – Vol. 23, №9. – P. 661 – 692.
  2. Носков, В. П. Навигация мобильных роботов по дальнометрическим изображениям / В. П. Носков, А. В. Носков // Мехатроника, автоматизация, управление. – 2005. – №12. – С. 16 – 21.
  3. Носков, В. П. Формирование объединенной модели внешней среды на основе информации видеокамеры и дальномера / В. П. Носков, И. В. Рубцов // Мехатроника, автоматизация, управление. – 2007. – №8. – С. 2 – 5.
  4. Черноножкин, В. А. Система локальной навигации для наземных мобильных роботов / В. А. Черноножкин, С. А. Половко // Научно – технический вестник СПбГУ ИТМО. – 2008. – №57. – С. 13 – 22.
  5. Forsyth, D. A. Computer Vision:A Modern Approach / D. A. Forsyth, J. Ponce // Robotics and Autonomous Systems. – 2006. – Vol. 11, №3. – P. 84 – 92.
  6. Altermatt, M. SLAM with corner features based on a relative map / M. Altermatt, A. Martinelli // Intelligent Robots and Systems. – 2004. – Vol. 2, №1. – P. 1053 – 1058.
  7. Use the power of Kinect to change the world [Electronic resource]. – Access mode: http://www.microsoft.com/en-us/kinectforwindows
  8. Zisserman, A. Multiple View Geometry in Computer Vision / A. Zisserman, R. Hartley. – Cambridge University Press. –. 2004, – 576 p.
  9. Monolakis, D. E. Efficient Solution and Performance Analysis of 3–D Position Estimation by Trilateration // D. E. Monolakis //  IEEE Trans. Aerosp. Electron. System. – 1996. – Vol. 32, №4. – P. 1239 – 1248.
  10. Bay, H. Speeded – Up Robust Features (SURF) // H. Bay, A. Ess, T. Tuytelaars, L. Van Gool // Journal Computer Vision and Image Understanding. – 2008. – Vol. 110, Issue 3. – P. 346 – 359.