НАВИГАЦИЯ БЛА С ПОМОЩЬЮ БОРТОВОЙ ВИДЕОКАМЕРЫ: АЛГОРИТМ И КОМПЬЮТЕРНАЯ МОДЕЛЬ
Б.А. Залесский1, В.Б. Шувалов2
1Объединенный институт проблем информатики Национальной академии наук Беларуси, Минск, Беларусь
2Национальный исследовательский ядерный университет «МИФИ», Москва, Россия
zalesky@bas-net.by, vbshuvalov@yandex.ru
Содержание
2. Алгоритм обеспечивающий навигацию и возвращение БЛА в начальную точку полета
3. Описание экспериментов и их результаты
Аннотация
Предлагается алгоритм навигации беспилотного летательного аппарата, оснащенного помимо традиционного оборудования, включающего в себя автопилот и бесплатформенную инерциальную навигационную систему, бортовым вычислителем и видеокамерой, желательно, расположенной на гиростабилизированной платформе. Алгоритм предназначен для решения задачи возвращения летательного аппарата в начальную точку полета в автономном режиме, без использования сигналов внешних навигационных систем, таких, например, как ГЛОНАСС и GPS, во время полета в точку старта. Идея алгоритма заключается в сравнении каждого текущего кадра, снятого при «возвращении домой», с кадрами, снятыми во время полета от исходной точки в заданную точку или точку возвращения.
В случае, когда имеется заранее запасенная видеопоследовательность или последовательность изображений, например, космических, целиком покрывающая какой-либо реализуемый маршрут летательного аппарата от исходной точки в точку назначения и пригодная для решения задачи распознавания, алгоритм обеспечивает не только возвращение аппарата, но и его полет в точку назначения без использования сигналов внешних навигационных систем на протяжении всей миссии.
Приводятся результаты компьютерного моделирования и визуализации решения задачи возвращения летательного аппарата. Моделирование полета беспилотного летательного аппараты выполнялась сначала с помощью последовательностей кадров, снятых смартфоном, а затем на видеопоследовательностях, сделанных бортовой видеокамерой квадракоптера DJI Fantom 3 Professional. Были протестированы две программные реализации алгоритма, первая из которых была реализована на языке научного программирования MATLAB, в вторая – в виде C# приложения интегрированной среды разработки Visual Studio 2013.
Вычислительные эксперименты показали устойчивость и достаточную точность предложенного алгоритма.
Ключевые слова: БЛА, автономный полет, навигация, бортовая видеокамера
В связи с быстро возросшим в последние годы числом беспилотных летательных аппаратов (БЛА) различных типов, используемых в самых разнообразных целях, задачи навигации стали особенно актуальными. Особую сложность представляет навигация БЛА малых и средних размеров в автономном режиме. Аппараты данного класса, нашедшие широкое применение, имеют сравнительно простые бесплатформенные инерциальные навигационные системы (БИНС), не способные обеспечить полет по заданной траектории при отсутствии сигналов спутниковых или иных внешних навигационных систем. При пропадании внешнего навигационного сигнала такие аппараты уже через нескольких минут не могут оценить свои координаты с нужной точностью из-за погрешностей БИНС, вследствие чего они нередко теряются, улетая по ошибочно вычисленной траектории.
В последние годы для решения задачи возвращения БЛА, летящих в автономном режиме (без использования ГЛОНАСС/GPS), в начальную точку полета стали использоваться бортовые видеокамеры, позволяющие при комплексном использовании с БИНС повысить точность оценки траектории полета. Однако, до сих пор задача возвращения остается не решенной полностью, несмотря на имеющееся существенное продвижение в данной области [1-3].
Больший прогресс здесь достигнут в условиях, когда БЛА оборудован БИНС, одной видеокамерой, дальномером и ГЛОНАСС/GPS приемником или, по крайней мере, двумя видеокамерами и высотомером. Использование внешнего навигационного сигнала значительно облегчает навигацию и повышает ее точность. В настоящее время для практической навигации используются БИНС, оборудованные ГЛОНАСС/GPS приемником, обеспечивающие надежный полет БЛА в автономном режиме при наличии навигационного сигнала.
В [4-6] описаны решения задачи навигации БЛА, представляющие собой версии достаточно сложного алгоритма SLAM, для систем без ГЛОНАСС/GPS приемника, оборудованных двумя видеокамерами и высотомером. Один из основных шагов этого алгоритма заключается в построении оценки 3D сцены, наблюдаемой бортовыми видеокамерами, посредством сопоставления так называемых особых точек (центров отличающихся от фона локальных областей изображений, например, углов объектов или выделяющихся цветом пятен) на актуальных в текущий момент кадрах видеопоследовательностей, а затем и координат дрона на основе 3D оценки сцены. Однако, данные решения окружающей БЛА, пригодны для навигации внутри помещений или в городских условиях на малых высотах. Их применение в случае полета на большие расстояния или на больших высотах весьма затруднительно из-за большого объема вычислений, необходимых для навигации, а также значительных ошибок, возникающих при восстановлении 3D сцены.
Сформулируем задачу в общем виде, не ориентируясь на конкретные технические характеристики систем. Предположим, что имеется беспилотный летательный аппарат, оснащенный наряду с автопилотом, БИНС, бортовым вычислителем и видеокамерой, установленной на гиростабилизированной платформе, которая обеспечивает строго вертикальную направленность оптической оси. Будем рассматривать случай, когда БЛА успешно двигался от стартовой позиции по заданной траектории, возможно, используя сигналы внешней (например, спутниковой) системы навигации. Во время движения в памяти вычислителя накапливалась последовательность перекрывающихся кадров ландшафта, снятая бортовой видеокамерой. В какой-то момент времени пропал сигнал внешней системы навигации, вследствие чего БИНС не может более оценивать координаты БЛА с заданной точностью.
Требуется вернуть БЛА в начальную точку полета с допустимой погрешностью в автономном режиме (без применения внешних навигационных сигналов), используя БИНС и гиростабилизированную бортовую видеокамеру. Предполагается, что возвращаемый аппарат не оборудован дальномером или не может им воспользоваться.
Для упрощения описания решения будем пока предполагать, что в момент потери внешнего навигационного сигнала БЛА находится над точкой местности, присутствующей на одном из последних кадров видеопоследовательности, снятой бортовой камерой при полете по заданной траектории. Такая ситуация вполне реальна, например, для квадракоптера. В противном случае в алгоритм нужно включить шаги, отвечающие за поиск участка местности, над которым ранее пролетал БЛА. Проблемы поиска таких участков обычно обсуждается отдельно.
В статье предлагается алгоритм для решения сформулированной задачи возвращения БЛА в исходную точку. В нем описан не только способ определения местоположения аппарата на основе сопоставления кадров видеопоследовательности, снятых бортовой видеокамерой на пути к цели, с текущим кадром, но и способы навигации аппарата, обеспечивающие более надежное и точное решение. Особенностью алгоритма является необязательность выполнения привязки кадров видео и координат самого БЛА к географической или какой-либо иной неподвижной относительно поверхности Земли системе координат.
Идея алгоритма заключается в использовании перекрывающихся кадров видеопоследовательности, снятой ранее при полете по заданной траектории (при наличии внешнего навигационного сигнала) от исходной точки, для оценки текущего местоположения, а также в оценке направления и величины вектора скорости аппарата относительно наиболее подходящего в данный момент кадра упомянутого видео.
Приводится также описание компьютерной модели, имитирующей полет летательного аппарата на обратном пути и результаты вычислительных экспериментов.
Для наглядности можно предполагать, что речь идет о навигации квадракоптера, несмотря на то, что предлагаемый алгоритм ориентирован, в том числе, на управление БЛА самолетного типа (в настоящее время можно приобрести несколько моделей квадракоптеров, удовлетворяющий сформулированным требованиям, например, DJI Fantom 3 Professional весом 1280 грамм, изображенный на рис. 1). Хотя, с нашей точки зрения, управление квадракоптером проще тем, что в момент потери навигационного сигнала квадракоптер может зависнуть или немедленно начать движение в нужном направлении без выполнения петли, необходимой для БЛА самолетного типа. Приведенный для примера квадракоптер Fantom 3 Professional оборудован автопилотом, ИНС, в которой присутствует высотомер, гиростабилизированной платформой с установленной на ней бортовой камерой, позволяющей получать видео с разрешением от 1280x720p до 4096x2160p с частотой от 24 до 60 кадр/сек. Установленное на квадракоптере оборудование обладает характеристиками, достаточными для решения задачи автоматического возвращения в начальную точку в автономном режиме – недостает только бортового вычислителя, в качестве которого можно было бы использовать процессоры, работающие в современных смартфонах.
Как упоминалось во введении, речь идет о навигации БЛА на основе совместного использования БИНС и бортовой видеокамеры, ориентированной с помощью гироплатформы строго в вертикальном направлении. В общем случае, наличие стабилизирующей платформы для камеры не обязательно, но желательно, потому что при ее использовании точность навигации заметно возрастает, а решение задачи легче понимается. Для упрощения описания алгоритма будем предполагать, что БЛА является квадракоптером, который может быстро менять свою траекторию – двигаться практически в любом направлении без необходимости выполнять дополнительные маневры.
Рис. 1. Квадракоптер Fantom 3 Professional с видеокамерой на гироплатформе
Обозначим через последовательность сохраненных частично перекрывающихся кадров, полученных при движении БЛА по заданной траектории от исходной точки до точки, в которой возникла необходимость применить алгоритм автономной навигации (например, до точки, в которой пропал внешний навигационный сигнал), а кадры, полученные при возвращении в исходную точку – . Степень перекрытия сохраненных соседних кадров , которые используются для навигации, зависит от качества видеопоследовательности, свойств ландшафта, над которым пролетал аппарат, и объема памяти бортового запоминающего устройства. С помощью несложных вычислений нетрудно убедиться в том, что для запоминания маршрута длиной около сотни километров перекрывающимися кадрами достаточно нескольких гигабайт памяти, поэтому для хранения кадров достаточно иметь, например, обычный малоразмерный флэш-накопитель.
Будем называть номера кадров еще и дискретным временем, считая что БЛА летел по заданной траектории до момента времени , а начиная с момента времени он начал полет в автономном режиме так, что , и предполагать, что размер кадров равен (камера упомянутого квадракоптера, приведенного для примера, имеет разрешения 1280x720 и 1920x1080 пикселов).
В предлагаемом алгоритме навигации БЛА (предназначенном для возвращения в исходную точку без корректирующих навигационных сигналов) в отличие от большинства известных, не обязательно оценивать его координаты в какой-либо неподвижной глобальной системе координат или «интегрировать» траекторию на основе ее локальных характеристик (обычно, скорости и ускорения), полученных ИНС, так как такие интегральные оценки, как правило, вычисляются с заметными погрешностями. Вместо этого предлагается оценивать координаты аппарата по его расположению относительно кадров видео, снятого при полете по заданной траектории от исходной точки до момента времени . В таком случае не нужно производить какие-либо геометрические преобразования кадров или строить мозаику путем их сшивки, что, с нашей точки зрения, является плюсом предлагаемого алгоритма из-за заметного снижения нагрузки на бортовой вычислитель и уменьшения влияния геометрических искажений.
Упомянутые принципы навигации аналогичны принципам ориентирования на местности человека и животных, которые не хранят в памяти траекторию движения в виде цифровой кривой или последовательности координат, а вместо этого оценивают свое местоположение и направление движения на основе окружающей их в данный момент обстановки. Люди и животные находят знакомые им особенности окружающей их сцены и двигаются в направлении ближайших известных им особенностей, характеризующих выбранный маршрут.
Применяемые в настоящее время бортовые камеры имеют угол зрения, примерно, равный , поэтому можно считать, что радиус реальный сцены, наблюдаемой камерой, равен высоте. Камера БЛА, находящегося на высоте 100 метров, «видит» область ландшафта диаметром около 200 метров. На большей высоте область местности, наблюдаемой камерой, будет еще больше, поэтому далее будем использовать для навигации, в общем случае, центральную часть кадра в виде круга или квадрата, которую будем обозначать .
В силу сделанных упрощающих предположений в момент времени +1 (потери внешнего навигационного сигнала) аппарат находится над областью местности, большая часть которой присутствует на нескольких кадрах .
Для перехода в режим автономной навигации обычно используется один из двух маневров: либо аппарат поднимается вверх, либо опускается вниз. Каждый из предлагаемых маневров имеет свои преимущества и недостатки. После подъема аппарата вверх его камера «видит» бóльшую территорию, следовательно, больше информации может быть использовано для оценки его положения относительно одного из кадров . Однако, на большей высоте полет может стать менее устойчивым из-за усиления движения воздуха. Если опустить аппарат ниже, на кадрах бортовой видеокамеры будет отображаться меньшая территория, но в этом случае изображение наблюдаемой в текущий момент времени местности, лежащей под БЛА, будет расположено, по крайней мере, внутри части кадров .
Далее будет предполагаться, что БЛА в момент времени опустился до некоторой допустимой высоты (например, до половины или трети высоты ).
Для простоты опишем алгоритм схематически, опуская мелкие технические детали.
Входными данными алгоритма являются:
- последовательность перекрывающихся кадров , снятых бортовой камерой при полете по заданной траектории (при наличии внешнего навигационного сигнала);
- последовательность высот , на которых кадры были сделаны;
- текущий кадр .
Работа алгоритма начинается в момент дискретного времени с оценки положения аппарата по нескольким последним кадрам , снятым при полете по заданной траектории. На указанной последовательности кадров вычисляется область наибольшего соответствия локальной центральной области кадра , лежащего непосредственно под БЛА в текущий момент времени (см. рис.2). Поиск области наибольшего соответствия осуществляется на заранее заданном расстоянии от границ кадров для того, чтобы избежать ошибок, связанных с возможными граничными эффектами. Для поиска соответствия между областями кадров и могут использоваться разные методы, в том числе, корреляционные или основанные на сравнении характерных точек (key points) [7,8]. Вычислительные эксперименты с реальными видеопоследовательностями, снятыми с борта БЛА, показали применимость тех и других методов.
После нахождения области , принадлежащей одному из кадров , наиболее близкой к , проверяется гипотеза о реальном их соответствии. Это можно сделать, например, на основе коэффициента корреляции или путем сравнения характерных признаков.
Далее вычисляется вектор , начинающийся в пикселе изображения , который соответствует середине найденной области , и оканчивающийся в середине этого изображения . Полученный вектор преобразуется с помощью масштабирования и порота в вектор реального перемещения БЛА, для его движения в точку местности, соответствующую центру кадра . Длина вектора равна , где – фокусное расстояние камеры, а его направление выражается через угол рысканья дрона, который равен углу между вектором и вектором курса дрона относительно кадра .
Рис. 2. Первые шаги работы алгоритма. На кадре изображена найденная область , соответствующая центральной части текущего кадра и вектор , а также соответствующий ему вектор на кадре . Красной стрелкой обозначен вектор курса БЛА
Квадракоптеру дается команда переместиться в направлении вектора на расстояние равное его длине. Теоретически после выполнения этой команды квадракоптер должен оказаться над точкой местности, соответствующей центру кадра , однако, практически – он переместиться в направлении этой точки с некоторой ошибкой. Из-за возможной ошибки упомянутые действия следует повторить несколько раз для текущих кадров до тех пор, пока в некоторый момент времени длина вычисленного в очередной раз вектора не окажется меньше наперед заданной точности, измеряемой в пикселах изображения . Затем описанные действия нужно повторить для текущего и одного из ближайших предшествующих кадров, например, для . Таким образом, до момента времени , пока БЛА не окажется в точке местности, соответствующей с заданной точностью центру кадра , навигация осуществляется именно по этому . В следующий момент осуществляется переход к предыдущему сохраненному при полете по заданной траектории кадру . В общем случае, переход к предыдущему сохраненному кадру происходит в момент времени . Процесс повторяется до момента достижения начального сохраненного кадра .
Заметим, что при реальной навигации БЛА для повышения надежности алгоритма можно (и скорее всего, нужно) использовать разные модификации описанной выше схемы, включающие, например, использование межкадровой информации и различные стабилизирующие фильтры такие, как фильтр Калмана и т. д. Однако, в данной работе мы ограничимся описанием основных принципов предложенного подхода и покажем с помощью компьютерного моделирования процесса навигации БЛА его работоспособность.
Ниже приведено пошаговое описание алгоритма.
Шаг 1. В момент времени начала работы алгоритма выделить центральную часть текущего кадра . Положить .
Шаг 2. Найти на ранее запасенных кадрах область наилучшего соответствия области (рис.2) с помощью корреляционного или другого алгоритма [7‑8].
Шаг 3. Проверить гипотезу о реальности найденного соответствия и . Если гипотеза не верна, STOP, иначе запомнить номер кадра , на котором соответствие найдено.
Шаг 4. Найти вектор , соединяющий центр найденной области наилучшего соответствия с центром кадра , на котором это соответствие найдено.
Шаг 5. Найти вектор реального перемещения БЛА в точку местности, соответствующую центру кадра , используя угол между вектором курса БЛА на изображении и найденным вектором , а также высоту, на которой был снят кадр , и калибровочные характеристики камеры.
Шаг 6. Если длина вектора меньше наперед заданной погрешности , идти на шаг 9.
Шаг 7. Отдать команду на перемещение БЛА на вектор .
Шаг 8. Выделить центральную часть текущего кадра . Идти на Шаг 2.
Шаг 9. Если , присвоить , идти на Шаг 2, иначе STOP.
В следующем разделе представлены результаты работы предложенного алгоритма.
Для тестирования алгоритма были использованы несколько видеопоследовательностей, снятых видеокамерами, в том числе и установленной на борту БЛА Fantom 3 Professional, а также USB-камерой. Из-за отсутствия возможности интегрировать разработанный алгоритм в состав ИНС, при проведении вычислительных экспериментов пришлось моделировать полет летательного аппарата с помощью компьютера таким образом, чтобы он соответствовал отснятому видео.
При моделировании полета вместо вектора реального перемещения на местности вычислялась его проекция на текущий кадр (снятый при возвращении) на основе сопоставления направлений векторов курса БЛА на и и оценки соотношения масштабов сцены на этих изображениях.
После этого в качества центра локальной области , находящейся непосредственно под БЛА, использовалась область соответствующего размера того же самого (не нового) изображения , центр которой выбирался в концевой точке вектора . Далее для выбранной находилась область наилучшего соответствия на том же . Вычисления повторялись до того момента, пока центр найденной области соответствия не становился близким с заданной точностью к центру кадра .
Следующим шагом моделирования был выбор нового «текущего» кадра (который, в общем случае, может отличаться от ). Для этого на серии соседних кадров видеопоследовательности (не содержащей ), снятой на обратном пути находилась область , далекая от границы кадра, наиболее близкая к последней . В качестве нового кадра выбирался тот, которому принадлежала найденная область . Моделирование продолжалось с выполнения Шага 2 с учетом описанной выше специфики.
Модельные эксперименты продемонстрировали работоспособность предложенного алгоритма на имеющихся видеопоследовательностях. На рис. 3 приведены этапы моделирования навигации БЛА на нескольких видеопоследовательностях, снятых камерой Fantom 3 Professional, изображенного на рис. 1.
В проведенных экспериментах задача навигации состояла в перемещении виртуального БЛА в точку поверхности, соответствующую центру кадра , снятого при полете по заданной траектории от исходной точки.
На рис. 3 справа изображен текущий кадр , снятый «при возвращении домой». На нем в качестве начальной области был выбран красный квадрат, лежащий подальше от центра. Второй красный квадрат на правом рисунке, соответствующий результату навигации, изображен ближе к центру. Желтым цветом отмечен центр текущего кадра.
На левом изображении рис. 3 красными квадратами изображены, найденные с помощью алгоритма, области соответствия квадратам текущего (правого) изображения . Нетрудно заметить, что в результате виртуального маневрирования текущие области соответствия оказались квадратами, расположенными достаточно близко к центрам своих изображений, что соответствует выбранному способу навигации.
Рис. 3. На правой картинке изображен один из кадров, снятых при возвращении БЛА в начальную точку, который был выбран в качестве текущего . На левой – кадр , соответствующий кадру , снятый при полете от исходной точки. Квадратами отмечены найденные области соответствия
На рис. 4 приведены результаты найденных соответствий на изображениях и видеопоследовательностей, снятых при полете квадракоптера из начальной точки и при возвращении в нее. Цветовые характеристики кадров отличаются из-за различия (примерно, четырехкратного) высот съемки.
Результаты моделирования показали устойчивость нахождения областей , соответствующих областям , и адекватность вычисленных векторов перемещения ,
|
|
|
|
|
|
Рис. 4. Примеры найденных соответствий областей на видеопоследовательностях, снятых с борта квадракоптера при полете из исходной точки и возвращении в нее
на основе которых выполняется предложенный способ навигации БЛА по видеопоследовательности. Точность вычисленной алгоритмом оценки «реальных» (модельных) траекторий движения дрона, построенных по кадрам видеопоследовательностей, снятых бортовой камерой квадракоптера DJI Fantom 3, составила 1-2 пиксела.
Следует заметить, что точность и надежность предложенного алгоритма напрямую зависит от точности и надежности результатов поиска соответствующих областей на кадрах видеопоследовательностей, снятых при полете от точки старта и при возвращении домой. В настоящее время известно несколько различных алгоритмов, которые могли бы применяться для решения указанной задачи. Авторы провели сравнительный анализ корреляционных алгоритмов, а также SIFT, SURF, KAZE, AKAZE, LATCH и других. Тестирование проводилось на видеопоследовательностях с городскими, природными и сельскими ландшафтами европейского типа. Например, при использовании алгоритмов корреляционного типа и SURF надежность поиска центров соответствующих областей (измеряемая долей правильно найденных соответствий) достигала более 95%, а точность корректно установленных соответствий составила 2-4 метра. Достигнутые характеристики обеспечивают надежную навигацию дронов в автономном полете.
Предложен алгоритм решения задачи возвращения БЛА, оснащенного одной бортовой видеокамерой без дальномера, в исходную точку при отсутствии внешних навигационных сигналов на основе видеопоследовательностей, снятых на пути от исходной точки.
Приведены результаты компьютерного моделирования процесса навигации БЛА на нескольких видеопоследовательностях с городскими и природными ландшафтами европейского типа. Во всех проведенных вычислительных экспериментах виртуальный квадракоптер вернулся в исходную точку, при этом погрешность оценки его траектории полета не превосходила одного-двух пикселов, что в пересчете в метрические единицы, в худшем случае (на большой высоте), дает два-четыре метра.
Авторы осознают, что практические результаты работы предложенного алгоритма будут зависеть от характеристик технических систем, на которых он будет применяться. Они будут рады принять участие в адаптации алгоритма для его использования при навигации реальных малых дронов.
1. Бесспутниковая навигация БПЛА: Научно-технический дайджест министерства обороны Российской Федерации. 13-26 мая 2012, стр. 22.
2. Тищенко И.П., Степанов Д.Н., Фраленко В.П. Разработка системы моделирования автономного полета беспилотного летательного аппарата. Программные продукты и системы, 3(12),2012, стр. 3-21.
3. Степанов Д.Н. Методы и алгоритмы определения положения и ориентации беспилотного летательного аппарата с применением бортовых видеокамер. Программные продукты и системы, 1(105),2014, стр. 150-157.
4. Engel J., Sturm J., Cremers D. Camera-Based Navigation of a Low-Cost Quadrocopter. RSJ International Conference on Intelligent Robots and Systems (IROS 2012), 7-12 Oct. 2012, Portugal. P. 2815-2821.
5. Blösch M. , Weiss S., Scaramuzza D., Siegwart R. Vision Based MAV Navigation in Unknown and Unstructured Environments. 2010 IEEE International Conference on Robotics and Automation (ICRA 2010), 3-7 May 2010, USA. P. 1-9.
6. Brockers R. et al. Towards autonomous navigation of miniature UAV. Proc. IEEE Conf. on Computer Vision and Pattern Recognition Workshops (CVPR2 014), 23-28 June 2014, USA. P. 645-651.
7. Lowe D. Object recognition from local scale invariant features. Proc. Int. Conf. on Computer Vision ICCV. Corfu, 1999. P. 1150–1157.
8. Bay H. Et al. Surf: Speeded up robust features Proc. 9th Europ. Conf. on Computer Vision ECCV. Graz, 2006. P. 404–417.
AUTONOMOUS NAVIGATION OF DRONE BY ONBOARD VIDEO CAMERA: ALGORITHM AND COMPUTER MODELING
B.A. Zalesky1, V.B. Shuvalov2
1United Institute of Informatics Problems of National Academy of Sciences, Minsk, Belarus
2National Research Nuclear University MEPhI (Moscow Engineering Physics Institute), Moscow, Russian Federation
zalesky@bas-net.by, vbshuvalov@yandex.ru
Abstract
The algorithm of autonomous navigation of an unmanned aerial vehicle (UAV) equipped with an autopilot, onboard inertial navigation system, onboard computer and one video camera, preferably mounted on a gyro platform, is proposed. It is designed to return the autonomously flying UAV to the starting point of its route without the use of external navigation signals such as GPS or GLONASS. The idea of the algorithm consists in comparison each of the current frame, made by the onboard camcorder during UAV return home, with frames shot by the camcorder while the apparatus flight from the starting point along a predetermined path.
The offered algorithm can also provide autonomous navigation of the unit without use of external navigation signals throughout the flight. For this it needs a pre-stored video sequence, or a sequence of pictures, for example, satellite imagery, completely covering any realized route of the apparatus from the starting point to the destination point, and suitable for solving the problem of recognition.
Results of computer modeling of the autonomous navigation process and its visualization are presented. Simulation of the UAV flight has been done, first, based on videosequences made by smartphones, and then with help of movies captured by the onboard camcorder of the quadcopter DJI Fantom 3 Professional.
Computational experiments have shown robustness and sufficient accuracy of the offered algorithm.
Keywords: UAV, autonomously flying, navigation, onboard video camera
1. Bessputnikovaya navigaciya BPLA: Nauchno-tehnicheskiy daidjest ministerstva oborony Rossiyskoy Federacii [Navigation of UAV without use of satellites: Science and Technology Digest of Ministry of Defence of the Russian Federation]. 2012, May 13-26, p. 22.
2. Tishenko I.P., Stepanov D.N., Fralenko V.P. Razrabotka sistemy modelirovaniya avtonomnogo poleta bespilotnogo letatelnogo apparata [Development of system simulating autonomous flight of unmanned aerial vehicle]. Programnye produkty i sistemy. - Programnye produkty i sistemy [Software Products and Systems], 2012, 3(12), p. 3-21.
3. Stepanov D.N. Metody i algoritmy opredelenya polozheniya i orientacii bespilotnogo letalnogo apparata s primeneniem bortovyh videokamer [Methods and algorithms for determining position and orientation of unmanned aerial vehicle with use of onboard videocameras]. Programnye produkty i sistemy [Software Products and Systems], 2014, 1(105), p. 150-157.
4. Engel J., Sturm J., Cremers D. Camera-Based Navigation of a Low-Cost Quadrocopter. RSJ International Conference on Intelligent Robots and Systems (IROS 2012), 7-12 Oct. 2012, Portugal. P. 2815-2821.
5. Blösch M. , Weiss S., Scaramuzza D., Siegwart R. Vision Based MAV Navigation in Unknown and Unstructured Environments. 2010 IEEE International Conference on Robotics and Automation (ICRA 2010), 3-7 May 2010, USA. P. 1-9.
6. Brockers R. et al. Towards autonomous navigation of miniature UAV. Proc. IEEE Conf. on Computer Vision and Pattern Recognition Workshops (CVPR2 014), 23-28 June 2014, USA. P. 645-651.
7. Lowe D. Object recognition from local scale invariant features. Proc. Int. Conf. on Computer Vision ICCV. Corfu, 1999. P. 1150–1157.
8. Bay H. Et al. Surf: Speeded up robust features Proc. 9th Europ. Conf. on Computer Vision ECCV. Graz, 2006. P. 404–417.