Создание программно-аппаратного комплекса пространственной навигации и мониторинга мультироторного БПЛА на основе модифицированного алгоритма визуальной одометрии

Наука и Образование

МГТУ им. Н.Э. Баумана

Наука и Образование. МГТУ им. Н.Э. Баумана. Электрон. журн. 2016. № 09. С. 74-91.

DOI: 10.7463/0916.0844955

Представлена в редакцию: Исправлена:

© МГТУ им. Н.Э. Баумана

УДК 62-523.8

Создание программно-аппаратного комплекса пространственной навигации и мониторинга мультироторного БПЛА на основе модифицированного алгоритма визуальной одометрии

Кочкаров А. А.1*, Калинов И. А.1

01.08.2016 15.08.2016

ако chk3i@amail.com 1ОАО "РТИ", Москва, Россия

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

Ключевые слова: визуальная одометрия, программно-аппаратный комплекс, мониторинг, БПЛА, патрулирование, квадрокоптер, SLAM, PTAM, фильтры глубины, моделирование

Введение

Малые беспилотные летательные аппараты [1] (БПЛА) играют важную роль в задачах ликвидации последствий различного рода катастроф, стихийных бедствий, производственного контроля и охраны окружающей среды [2, 3]. Для таких задач навигации на основе только информации, полученной при помощи спутниковых систем, недостаточно. Полностью автономная система навигации малого БПЛА должна опираться на локализованную систему. Для получения такой системы с минимальным весом и экономии энергии нужно комбинировать одну камеру, смотрящую вниз, и инерциальное измерительное уст-

ройство[4]. Такой набор инструментов позволяет полностью автономно преодолеть малому БПЛА заданный маршрут, при этот попутно сняв необходимые показания. На данный момент большая часть систем монокулярной визуальной одометрии для малых БПЛА использует подходы RGB-D [5] и стереосистемы SLAM [6], однако прямые методы, основанные на минимизации фотометрической ошибки, набирают все большую популярность. В настоящей работе представлено описание алгоритма полупрямой визуальной одометрии. Он сочетает в себе факторы успеха метода на основе обнаружения контрольных точек, их параллельного отслеживания, составления карты и выбора ключевого кадра. При всех описанных преимуществах точность и скорость работы алгоритма не хуже, чем у прямых методов. Высокая частота кадров при визуальной одометрии для малого БПЛА повышает надежность и увеличивает скорость маневров в полете.

1. Выбор аппаратной платформы

Для создания программно-аппаратного комплекса первичной задачей является выбор аппаратной платформы, а для создания такого комплекса на основе БПЛА изначально стоит выбрать тип БПЛА. Наиболее адаптивными для экспериментов и являются мульти-роторные БПЛА. Небольшой научный коллектив, купив такой БПЛА, может проводить на нем независимые эксперименты и разработки любого навесного оборудования. Мультиро-торные БПЛА универсальны в плане использования различных компонент, их легко модернизовать со временем, меняя всего несколько частей, что является немаловажным фактором в эпоху такого быстрого развития технологи. Также неоценимым плюсом выбора мультироторных БПЛА является их дешевизна по сравнению с другими БПЛА промышленного производства.

Типичный мультиротор - это дистанционно-управляемый или автономный мульти-роторный БПЛА с тремя (триротор), четырьмя (квадроротор), шестью (гексоротор), восемью (окторотор) или, реже, двенадцатью бесколлекторными электродвигателями с винта-ми[7]. Причем, винтов может быть по одному на двигатель или коаксиально по два. Общим для всех аппаратов данного класса является, пожалуй, конструктив и принцип полета. Центральная часть мультиротора - «фюзеляж» служит для размещения оборудования, нагрузки и батареи. Радиально от центра на балках устанавливаются микроэлектродвигатели с несущими винтами, образуя звездообразную компоновку всего аппарата. Такая симметричная компоновка, тем не менее, предполагает наличие передней и задней частей, относительно которых сориентировано направление движения. В полете мультиротор поддерживает горизонтальное положение относительно поверхности земли, может зависать, перемещаться в стороны, вверх и вниз. При наличии дополнительного оборудования есть возможность осуществлять полуавтономные и автономные полеты.

Наиболее популярной платформой для экспериментов является квадроротор. Данная разновидность мультироторных БПЛА является наиболее адаптивной и устойчивой к быстрому прототипированию, дополнительной установке оборудования и различным экспериментам. Также стоит отметить огромное число открытых проектов по тематике разви-

тия квадроторов и возможность использовать полученные результаты в своих исследованиях. В работе [8] Был проведен анализ восьми открытых платформ конструирования квадрокоптеров: Arducopter, Openpilot, Paparazzi, Pixhawk, Mikrokopter, Kkmulticopter, Multiwii, Aeroqua; с точки зрения аппаратного и программного обеспечения. Начиная с различных спецификаций магнетометров, барометров, радио приемников и передатчиков, средств коммуникации, системы управления, заканчивая, принципами навигации, различными фильтрами, такими как: фильтр Калмана и нелинейным сложным фильтром, основанном на ортогональной группе, применяемыми в алгоритмах управлением квадрокопте-ра, также были рассмотрены различные схемы реализации пропорционально-интегро-дифференцирующего (ПИД) регулятора. Таким образом был проведен полный сравнительный анализ и обзор публично доступных проектов с открытым исходным кодом с точки зрения аппаратного и программного обеспечения для последующего использования в подборе оптимальных характеристик для создания и использования своего собственного дрона для выполнения задачи мониторинга открытых пространств. Наиболее адаптивными платформами для задачи мониторинга пространств на данный момент является Pixhawk, Openpilot и ArduPilot, используя некоторые решения, представленные в данных проектах, можно реализовать экспериментальный стенд для решения задач мониторинга пространств. Для экспериментов была выбрана наиболее адаптивная платформа Pixhawk.

2. Модифицированный алгоритм визуальной одометрии

При разработке программного комплекса для программно-аппаратного комплекса на основе квадроторной платформы можно опираться на принципы управления квадротор-ной системы при помощи GPS сигнала, но существуют задачи, для которых навигации на основе только информации, полученной при помощи спутниковых систем, недостаточно. Полностью автономная система навигации малого БПЛА должна опираться на локализованную систему.

2.1 Описание работы системы визуальной одометрии

На рисунке 1 представлена блок-схема алгоритма неявно прямой визуальной одометрии (НПВО), он использует два параллельных потока: один для оценки передвижения камеры, другой для отображения карты и среды мониторинга в режиме реального времени. Разделения на два потока позволяет нам расширять карту пространства независимо от выполнения отслеживания передвижения, занимающее определенное время.

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

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

; Инициализация : фильтров ! тубины

I_______________J новую точку

Рис. 1 Блок-схема работы алгоритма визуальной одометрии

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

2.2 Сравнение работы алгоритмов визуальной одометрии

Большая часть алгоритмов монокулярной визуальной одометрии для малых БПЛА опираются на технологию параллельного отслеживания и построения карты (PTAM -Parallel Tracking and Mapping) [9], который в свою очередь базируется на методе SLAM -методе одновременной локализации и построения карты, который обеспечивает надежность за счет отслеживания и отображения сотен контрольных точек. Он работает в режиме реального времени и одновременно выполняет задачи отображения пунктов назначения и оценки передвижения, опираясь на эффективную корректировку, основанную на обработке изображений с разных углов обзора. Тем не менее, PTAM был разработан для приложений дополненной реальности в небольших пространствах, но в нескольких модификациях, например, при ограничении числа кадров, что обеспечивает его полноценную работу в условиях пространств с застройкой городского типа[2].

Предлагаемый алгоритм полупрямой визуальной одометрии использует функцию нахождения контрольных точек. При этом нахождение контрольных точек является неявным результатом прямой оценки движения, нежели явного нахождения контрольных точек и сопоставление их положения в каждом кадре. Таким образом, извлечение контрольных точек требуется только, когда ключевой кадр выбран для инициализации новых фильтров глубины (трехмерных точек) (см. рис. 1). Существенно увеличивается скорость работы алгоритма из-за извлечения контрольных точек только в ключевых кадрах, а не во всех. Также увеличивается точность вследствие использования субпиксельной функции извлечения контрольных точек. В отличии от прямых методов используется много небольших участков, а не несколько больших плоских участков, что положительно сказывается на скорости работы алгоритма и его надежности. Предлагаемая разреженная модель изображения для оценки и выравнивания движения связана с плотной моделью изображения, однако далее будет показано, что разреженной информации о глубине достаточно, чтобы получить грубую оценку движения и функции поиска контрольных точек. Как только контрольные точки и первоначальное положение камеры будут найдены, алгоритм будет использовать только контрольные точки, тем самым объясняется его название «полупрямой». Этот прием позволяет нам быстро устанавливать рамки для обработки в новом изображении.

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

Результатом работы является карта с контрольными трехмерными точками, чья надёжность была проверена. Научной новизной в данной работе является изобретение полупрямого алгоритма визуальной одометрии, которые работает быстрее и надёжнее (точнее позиционирует БПЛА и не наносит на карту ошибочные точки), чем установленные на современных малых БПЛА, также новизной является интеграция вероятностного отображения точек на карте, который устойчив к ошибочным измерениям.

При загрузке алгоритм оценивает начальную позицию по первым двум ключевым кадрам и начальной карте - локальному способу позиционирования БПЛА в пространстве. Изначально предполагается локально плоская схема пространства и оценивается начальная проективное преобразование. Исходная карта при этом определяется с первых двух углов обзора методом триангуляции.

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

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

В блоке построения карты изображение делится на клетки, например, 30*30. Новый фильтр глубины инициализируется в углу, который имеет максимальное значение рейтинга Ши-Томаса[10], если там еще нет соответствия двухмерной к трехмерным картам. Это приводит к равномерному распределению контрольных точек по изображению. Эта же сетка используется для перепроицирования карты перед выравниванием. Стоит обратить внимание, что углы с максимальным значением рейтинга Ши-Томаса извлекаются на каждом уровне пирамиды изображения, для нахождения наилучших углов независимо от масштаба.

Для сравнения результатов работы использовался модифицированный алгоритм РТАМ [11], берется именно модифицированный алгоритм в силу того, что оригинальный алгоритм недостаточно надежен в высокочастотных повторяющихся текстурах, модифицированная версия справляется с этой задачей лучше. Алгоритм НПВО показал высокую точность и эффективность, частично это объясняется применяемый фильтром глубины, который отсеивает большую часть ошибочных измерений и положений трехмерных точек. Также данный фильтр обеспечивает высокую надежность и точность при монотонной, но высокочастотной текстуре (трава, асфальт) в силу высокой частоты обновления кадров. На рис.2 показана работа алгоритма как в обычных условиях на рисунках сверху, так и в условия высокочастотной монотонной структуры на рисунках снизу.

Рис. 2 Примеры работы разработанного алгоритма в различные условия

Ниже приведено сравнение работы алгоритма НПВО и PTAM (см. рис. 3). PTAM дает очень много ошибочных измерений, что может привести к невыполнению миссии, стоит заметить, что именно этот алгоритм сейчас применяется на большей части малых БПЛА, что дает алгоритму НПВО широкие перспективы применения.

Рис. 3 Сравнение работы НПВО и РТАМ

Эксперименты проводились на наборах данных получаемых с камеры, прикрепленной к малому БПЛА и смотрящей вниз. Видео с камеры обрабатывалось на одноплатном компьютере Odroid-U2 [12], который был установлен непосредственно на БПЛА, так же оно транслировалось на внешний компьютер для обработки. Стоит заметить, что в результате эксперимента алгоритм отработал с двумя разными режимами настроек. На одноплатном компьютере были выставлены настройки позволяющими уменьшить скорость

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

Таблица 1 Характеристики двух режимов работы

Быстрый Точный

Максимальное количество контрольных точек в изображении 120 200

Максимальное количество ключевых кадров в изображении 10 50

Локальная оценка с разных углов обзора нет да

Следующим этапом сравнения были тесты на точность. Точность оценивается на наборе данных, которые берут начало на земле, имеет длину траектории порядка 100 метров и среднюю высоту 1,5 метра. На рис. 4 приведено сравнения отношения суммарной ошибки позиционирования к пройдённому пути, а на рис. 5 приведено сравнение ошибок определения углов связанной системы координат.

0 "л 1Ш 1Л11 2Ш ЯБр

С

Рис. 4 Отношения суммарной ошибки позиционирования к пройдённому пути

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

Разница же в точности быстрого и точного режимов алгоритма не является существенной, быстрый режим достаточно точно определяет позицию БПЛА, что позволяет говорить о его применимости на одноплатном компьютере, установленном борту БПЛА, что в свою очередь позволяет создать полностью автономный БПЛА.

I' и-

-—-г---—--I-—I

Рис. 5 Сравнение ошибок определения углов связанной системы координат

Сравнение скорости работы алгоритмов показало, что ноутбук способен обрабатывать кадры быстрее, чем 300 кадров в секунду, в то время как на одноплатном компьютере частота работы алгоритма составляет 55 кадров в секунду. Результаты работы алгоритма РТАМ отработал на тех же устройствах составляют 91 и 27 кадров в секунду соответственно, стоит отметить, что режим для работы алгоритма НПВО был выбран «быстрый».

3. Методы патрулирования

Для решения задач патрулирования изначально нужно выбрать метод патрулирования и оптимальную высоту. Для нахождения оптимальной высоты была проведена серия опытов по распознанию лица, напечатанного в реальном масштабе с разных высот. Экспериментально было установлено, что оптимальная высота для детектирования лежит в промежутке от 10 до 20 метров, именно в этом интервале высот детектирования давало 100% результат. Высота же может менять в этом промежутке в зависимости от целей миссии, и как следствия скорости пролета.

Когда оптимальная высота выбрана, в нашем случае это 13 метров, можно перейти к расчету площади замета за один пролет. В данном эксперименте использовалась камера с углом обзора по горизонтали в 60О, это подразумевает под собой, что треугольник является равносторонним, тогда его сторона a может быть вычислена по формуле: и = -=, при

V 3

высоте 13 метров a=15 метров. То есть за пролет длинною 100 метров будет заметено 1500 метров квадратных. Существует два принципиально разных подхода по патрулированию

территории на БПЛА квадроторного типа. Первый условно назовем «змейкой», второй «спиралью». Схематичное изображения обоих представлено на рис. 6.

Рис. 6 Патрулирование «змейкой» и «спиралью»

Эти подходы могут применяться в зависимости от различных условий, например, в зависимости от площади и фигуры территории для мониторинга. Для сравнения времени мониторинга при помощи этих двух методов, возьмем тестовую территорию 100*100 метров. Змейкой вполне понятно как ее замести, если же пользоваться техникой спирали, то существует два выбора:

1. Квадрат 100*100 вписан в последнюю окружность,

2. Последняя окружность вписана в квадрат 100*100.

Результаты сравнения приведены в таблице 2.

Таблица 2 Сравнение результатов патрулирования территории различными методами

Змейка Спираль 1 Спираль 2

Скорость БПЛА 3м/с~11 км/ч 3м/с~11 км/ч 3м/с~11 км/ч

Общая длинна траектории 805м 1358м 756м

Площадь покрытия 10500 м2 15700 м2 7850 м2

Время выполнения миссии 4,47 минуты 7,54 минут 4,2 минуты

Как видно из таблицы, наиболее быстрым методом является «спираль 2», но стоит отметить, что при таком методе не заметаются края квадрата, так как последняя концентрическая окружность вписана в квадрат. Метод «спираль 1» наоборот покрывает большую площадь территории, чем необходимо. Оптимальным для площади такой фигуры является замет змейкой, он дает 100% замет территории с небольшим увеличением времени по сравнению с методом «спираль 2». Стоит отметить, что при мониторинге территории сложной фигуры наиболее оптимально использовать комбинацию этих методов и несколько БПЛА.

4. Поиск лиц при патрулировании

Для задания маршрута патрулирования использовалась библиотека DroneKit для языка Python, также она поддерживается другими платформами. Эта библиотека дает огромные возможности по созданию миссии для БПЛА. Она позволяет подключится к

БПЛА, запустить его, настроить скорость вращения винтов, ПИД-регулятор, обменяться координатами с другим БПЛА и запустить параллельное выполнение задач. Стоит отметить, что код этот библиотеки может быть встроен в любой код на языке Python, что дает возможность использовать ее совместно с библиотекой OpebCV для поиска лиц.

Задача патрулирования и обнаружения ставилась так: на территории 100м*100м требовалось найти лицо человека первым БПЛА, передать свои координаты второму БПЛА, который в свою очередь должен был доставить к месту детектирования лица особый предмет. Стоит заметить, что такой разнесенный подход является инновационным, так как на данный момент для выполнения подобный задач используют один БПЛА или несколько идентичных БПЛА со всей навесной аппаратурой. Подход разделения функций предложенный в этой работе позволяет решить несколько проблем:

1 Увеличить полезную массу груза на втором БПЛА за счет отказа от оборудования для мониторинга

2 Уменьшить стоимость доставляющего БПЛА, за счет того же отказа

3 Уменьшить стоимость БПЛА для мониторинга за счет отказа его в качестве доставляющего БПЛА

Тем самым подход с разнесением функций позволяет уменьшить стоимость обоих БПЛА и увеличить полезный вес доставляемого груза.

В дневное время алгоритм работает безошибочно, но также он работает и в ночное при небольшой подсветке лица, о чем свидетельствует рис. 7.

Стоит отметить, что алгоритм может быть оптимизирован так как сейчас детектируются лица, которые расположены по пути пролета БПЛА, иными словами перевернутое лицо алгоритм не будет детектировано, на данный момент эта проблема решается за счет само пересечений при замете территории.

Рис. 7 Детектирование лица в темное время суток

5. Моделирование мониторинга пространств с плотной застройкой

С целью отработки алгоритма при мониторинге пространств с плотной застрой была разработана модель. Для привязки моделирования к реальному месту было принято решение создать модель реального города. За основу для модели был выбран город Анапа, его карта с источника Яндекс карты приведена на рис. 8.

Рис. 8 Карта города Анапы

На карте отлично видна прямоугольная сетка улиц, именно поэтому для модели была выбрана карта этого города. При создании модели реальный размер карты был уменьшен в 10 раз, в результате получилась модель пространства 500 х 300 метров, для экспериментов были выбраны 3 района с характерными размерами:

1 100 х 175 метров;

2 125 х 125 метров;

3 110 х 150 метров.

Основные характеристики данных районов представлены в таблице 3.

Район 1 Район 2 Район 3

Размер 100 м х 175 м 125 м х 125 м 110 м х 150 м

Площадь 17500 м2 15625 м2 16500 м2

Число лиц 12 25 20

Длинна змейки 1 1750 м 1625 м 1510 м

Длинна змейки 2 900 м 1000 м 970 м

Общая длинна 2650 м 2625 м 2480 м

Скорость патрулирования 3 м/с 3 м/с 3 м/с

Время патрулирования 14,72 минут 14,58 минут 13,78 минут

Работа модели показала, что для мониторинга всего района с плотной застройкой, а именно препятствий в виде домов одного пролета змейкой недостаточно, так как часть лиц может быть закрыта препятствиями. В результате было принято покрыть каждый район второй змейкой и сделать полный облет сетки улиц. Такой подход обеспечил детектирование всех лиц на заданной территории. Среднее время патрулирования района около 14 минут. При патрулировании одним квадротором общее время патрулирования всех трех районов чуть больше 43 минут, такое время мониторинга доступно в компьютерной модели, но время работы реального квадротора меньше. При увеличении скорости полета до 5 м/с общее время мониторинга всех трех районов составит немногим меньше 26 минут, что является вполне реальной величиной для времени работы квадротора с хорошим аккумулятором. Карта модели вместе с общими маршрутами патрулирования и картой лиц приведена на рисунке 9.

Г

!

р—*

н - —-  , 1 -* 1 ——г § [ •к # г— —«4" А

ф * —_ :— Ь д« — ! 1- 1 Р —•— --. 1 "Л тл|

-Ь——[-г ин

Рис. 9 Карта патрулирования трех районов с картой расположения лиц

Таким образом было проведено моделирование мониторинга пространства с плотной застройкой. Результаты показали, что наличие препятствий в виде домов требует повторный замет территории второй змейкой, время патрулирования увеличивается в среднем в полтора раза, но в результате достигается цель полного обнаружения лиц. Моделирование показало успешную работу алгоритма мониторинга и детектирования лиц.

Заключение

В данной работе был предложен программно-аппаратный комплекс для мониторинга пространств на базе квадроторной платформы при помощи на алгоритма полупрямой визуальной одометрии, он работает быстрее и точнее, чем текущие алгоритмы. Выигрыш в скорости работы алгоритма получается из-за отсутствия функции извлечения контрольных точек на этапе обработки передвижения, в отличие от прямых методов, которые основаны на интенсивности изображения. Особенно алгоритм полезен для одноплатных компьютеров, которые можно установить на борт БПЛА, так как на таких устройствах он может работать со скоростью более 50 кадров в секунду, что позволяет сделать БПЛА полностью автономным. Высокая частота обновления кадров при оценке движения в сочетании с устойчивостью фильтра ошибочных измерений обеспечивают повышенную надёжность в пространствах с высокочастотной монотонной структурой. Также были рассмотрены методы патрулирования пространства, и было проведено сравнение их скорости работы. Разработан алгоритм покрытия и мониторинга пространства одним квадротором и алгоритм поиска человеческого лица, которые показали эффективную совместную работу. Опробовано автономное взаимодействие двух квадроторов с целью передачи своих координат от одного другому и последующего вылета второго на место дислоцирования первого. Разработана инновационная концепция разнесения функций и оборудования на несколько БПЛА таким образом, что первый выполнял только задачу поиска лица, а второй только задачу доставки, что позволило снизить стоимость каждого БПЛА и увеличить полезную массу груза на втором БПЛА за счет отказа от оборудования для мониторинга. Проведено успешное моделирования мониторинга пространств с плотной застройкой с целью детектирования лиц, которое показало отличную работу алгоритма патрулирования змейкой, также показало, что наличие препятствий в виде домов требует повторный замет территории второй змейкой, время патрулирования увеличивается в среднем в полтора раза, но в результате достигается цель полного обнаружения лиц.

Работа выполнена при поддержке РФФИ (грант № 16-01-00342, грант № 16-2904268) и гранта Президента РФ (НШ-6831.2016.8).

Список литературы

1. Каримов А.Х. Цели и задачи, решаемые беспилотными авиационными комплексами нового поколения // Труды МАИ. Электрон. журн. 2011. № 47. С. 1-9. Режим доступа: http://www.mai.щ/science/tшdy/puЫished.php?ГО=26767 (дата обращения 01.09.16).

2. Калинов И.А. Создания малого автономного беспилотного летательного аппарата на базе мультиротора с использованием алгоритма полупрямой визуальной одометрии // Интеллектуальные системы, управление и мехатроника - 2016: Материалы Всероссийской на-уч.-тех. конф., Севастополь 19-21 мая 2016 г. 2016. Севастополь: Изд-во СевГУ. 2016. С. 150-154.

3. Малинецкий Г.Г., Кочкаров А.А. Будущее российского оружия и междисциплинарные подходы // Интеллект и технологии. 2014. № 1(7). С. 48-51.

4. Forster C., Lynen S., Kneip L., and Scaramuzza D. Collaborative Monocular SLAM with Multiple Micro Aerial Vehicles // Proc. IEEE/RSJ Int. Conf. on Intelligent Robots and Systems. 2013. Pp. 3962-3970. DOI: 10.1109/IR0S.2013.6696923

5. Kerl C., Sturm J., and Cremers D. Robust Odometry Estimation for RGB-D Cameras // Proc. IEEE Int. Conf. on Robotics and Automation. 2013. Pp. 3748-3754.

DOI: 10.1109/ICRA.2013.6631104

6. Meilland M., Comport A.I. On unifying key-frame and voxelbased dense visual SLAM at large scales // Proc. IEEE/RSJ Int. Conf. on Intelligent Robots and Systems. 2013. Pp. 3677-3683. DOI: 1Q.11Q9/IROS.2013.6696881

7. Ерохин E., Коломиец A. Мультикоптеры: новый вид // UAV.ru: веб-сайт. Режим доступа http://www.uav.ru/articles/multicopters.pdf (дата обращения 30.06.2016).

8. Калинов И.А. Особенности применения платформ конструирования квадрокоптеров с доступным исходным кодом для решения задач мониторинга открытых пространств при помощи построения интеллектуальных систем // Материалы девятнадцатого научно-практического семинара «Новые информационные технологии в автоматизированных системах». Москва. 2016. С. 245-251.

9. Klein G. and Murray D. Parallel Tracking and Mapping for Small AR Workspaces // IEEE and ACM International Symposium on Mixed and Augmented Reality. 2007. Pp. 225-234.

DOI: 10.1109/ISMAR.2007.4538852

10. Wu M., Ramakrishnan N., Lam S.-K., and Srikanthan T. Low-complexity pruning for accelerating corner detection // In Circuits and Systems (ISCAS). 2012 IEEE International Symposium on. Pp. 1684-1687, DOI: 10.1109/ISCAS.2012.6271582

11. Weiss S., Achtelik M.W., Lynen S., Achtelik M.C., Kneip L., Chli M., and Siegwart R. Monocular Vision for Long-term MicroAerial Vehicle State Estimation: A Compendium // Journal of Field Robotics. 2013. Vol. 30, no. 5. Pp. 803-831. DOI: 10.1002/rob.21466

12. Odroid U2 user manual // astataruf: веб-сайт. Режим доступа https://astataruf.files.wordpress.com/2015/11/odroid-x2-user-manual.pdf (дата обращения 30.06.2016).

Science ¿Education

of the Baumail MSTU

Science and Education of the Bauman MSTU, 2016, no. 09, pp. 74-91.

DOI: 10.7463/0916.0844955

Received: 01.08.2016

Revised: 15.08.2016

© Bauman Moscow State Technical Unversity

Developing a Multi-rotor UAV-based HardwareSoftware System for Spatial Navigation and Monitoring Using a Modified Algorithm of Visual Odometry

A.A. Kochkarov1*, I.A. Kalinov1

akochkai@gmaiI.com :OJSC "RTI", Moscow, Russia

Keywords: visual odometry, hardware and software system, monitoring, UAV, patrols, quadrotor,

SLAM, PTAM, depth filters, modeling

The paper objective is to present a hardware and software system based on the multi-rotor type UAV aimed at monitoring the space and detecting the human faces. The quad-rotor system-based hardware system was implemented for use under control of the flight Pixhawk controller, which was chosen as a result of a comparative analysis of the publicly available projects with open source code in terms of hardware and software for further using in the selection of the optimal characteristics to create and use its own drone to fulfill the tasks of open space monitoring. The software package is based on semi-direct visual odometry algorithm, which is discussed in detail both in terms of the algorithm, and in terms of implementation approach. The semi-direct approach eliminates the difficulties associated with the resource-intensive extraction of the control points, and at the same time is a reliable method in terms of the motion estimation. The algorithm operates directly the pixel intensity, which results in a sub-pixel precision in the processing of the large volumes of frames. The probabilistic imaging technique explicitly recognizing the abnormal measurements to assess the three-dimensional coordinates of the point reduces the amount of the abnormal measurements, and improves both the quality of measurements and their reliability. Such an approach enhances the reliability of motion estimation in the case of the monotonous, repetitive or highly specific texture. This is an algorithm of unapparent direct visual odometry. The paper provides a comparison of this algorithm with other popular algorithm of visual odometry, PTAM, in terms of accuracy in determining the position, the number of erroneous points on the 3D map, the total error of position and the error determining the angles of related coordinate system. In addition, the paper discusses different approaches to the space (territory) monitoring, namely patrol methods such as "snake" and "spiral" with the parallel operation of the face detection algorithm. Also the paper discusses the results of computer implementation of these approaches and simulation of densely built-up land.

References

1. Karimov A.Kh. Goals and tasks solved by new generation of unmanned aviation complexes. Trudy MAI, 2011, no. 47, pp. 1-9. Available at:

http://www.mai.ru/science/trudy/published.php?ID=26767 (accessed 01.09.16). (in Russian).

2. Kalinov I.A. [Creation of a small autonomous unmanned aerial vehicle based on multirotor system using half-implicit visual odometry algorithm]. Intellektual'nye sistemy, upravlenie i mekhatronika - 2016: Materialy Vserossiyskoy nauch.-tekh. konf. [Intelligent systems, control and mechatronics - 2016: Proc. Russian sci-tech. conf.]. Sevastopol', SevGU Publ., 2016, pp. 150-154. (in Russian).

3. Malinetskiy G.G., Kochkarov A.A. The future of Russian arms and interdisciplinary approaches. Intellekt i tekhnologii, 2014, no. 1(7), pp. 48-51. (in Russian).

4. Forster C., Lynen S., Kneip L., and Scaramuzza D. Collaborative Monocular SLAM with Multiple Micro Aerial Vehicles. Proc. IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, 2013, pp. 3962-3970. DOI: 10.1109/IR0S.2013.6696923

5. Kerl C., Sturm J., and Cremers D. Robust Odometry Estimation for RGB-D Cameras. Proc. IEEE Int. Conf. on Robotics and Automation, 2013, pp. 3748-3754.

DOI: 10.1109/ICRA.2013.6631104

6. Meilland M., Comport A.I. On unifying key-frame and voxelbased dense visual SLAM at large scales. Proc. IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, 2013, pp. 3677-3683. DOI: 1Q.11Q9/IROS.2013.6696881

7. Erokhin E., Kolomiets A. Mul'tikoptery: novyy vid [Multicopters: new kind]. UAV.ru: website. Available at: http://www.uav.ru/articles/multicopters.pdf (accessed 30.06.2016). (in Russian).

8. Kalinov I.A. [Features of applying construction quadcopters open source projects for solving tasks connected with monitoring open spaces by the construction of intelligent systems]. Materialy devyatnadtsatogo nauchno-prakticheskogo seminara "Novye informatsionnye tekhnologii v avtomatizirovannykh sistemakh" [Proc. 19th research-to-practice workshop "New information technologies in automated systems"]. Moscow, 2016, pp. 245-251. (in Russian).

9. Klein G. and Murray D. Parallel Tracking and Mapping for Small AR Workspaces. IEEE and ACM International Symposium on Mixed and Augmented Reality, 2007, pp. 225-234.

DOI: 10.1109/ISMAR.2007.4538852

10. Wu M., Ramakrishnan N., Lam S.-K., and Srikanthan T. Low-complexity pruning for accelerating corner detection. In Circuits and Systems (ISCAS). 2012 IEEE International Symposium on, pp. 1684-1687, DOI: 10.1109/ISCAS.2012.6271582

11. Weiss S., Achtelik M.W., Lynen S., Achtelik M.C., Kneip L., Chli M., and Siegwart R. Monocular Vision for Long-term MicroAerial Vehicle State Estimation: A Compendium. Journal of Field Robotics, 2013, vol. 30, no. 5, pp. 803-831. DOI: 10.1002/rob.21466

12. Odroid U2 user manual. astataruf: website. Available at

https://astataruf.files.wordpress.com/2015/11/odroid-x2-user-manual.pdf (accessed 30.06.2016).