УДК 62-523.8
РО!: 10.17586/0021-3454-2015-58-8-593-599
АЛГОРИТМЫ УПРАВЛЕНИЯ ЛЕТАЮЩИМ РОБОТОМ ПРИ СЛЕЖЕНИИ ЗА ПОДВИЖНЫМ ОБЪЕКТОМ
Буй Ван Шон, А. Б. Бушуев, Г. М. Шмигельский, Ю. В. Литвинов, Е. Г. Щаев
Университет ИТМО, 197101, Санкт-Петербург, Россия E-mail: yurl13@yandex.ru
Рассматриваются алгоритмы управления беспилотным летательным аппаратом (квадрокоптером), позволяющие решать задачи слежения за подвижным объектом с использованием технического зрения на основе встроенной в квадрокоп-тер видеокамеры. Разработан алгоритм перемещения квадрокоптера по заданной траектории, который базируется на аппроксимации исходной кривой небольшими отрезками и позволяет упростить процесс управления использованием только двух команд: движение вперед и поворот вокруг вертикальной оси (по углу рыскания). Представлены способы идентификации объектов на цифровом изображении, основанные на выделении контуров (границ); проанализированы методы определения перемещений объекта слежения с учетом непостоянности фона, вызванной движением камеры. Разработан алгоритм измерения расстояния до объекта слежения с использованием одной камеры, который является модификацией метода стереоскопического зрения (жесткое крепление камеры к квадрокоптеру, учитывается специфика его полета). Алгоритм основан на сравнении двух кадров, снятых с различной высоты полета. Предложен метод, позволяющий измерять расстояние до нескольких целей независимо от их положения в кадре, что может быть использовано для безопасного прохождения препятствий на маршруте. Совместное использование описанных алгоритмов позволяет получить полный набор параметров, определяющих местоположение и движение цели, на основе которого возможно выработать команды управления полетом летающего робота, необходимые для организации полноценной системы слежения беспилотных летательных аппаратов за подвижными объектами с помощью технического зрения.
Ключевые слова: квадрокоптер, траекторное управление, БПЛА, слежение, подвижный объект, техническое зрение.
Введение. Все большее распространение в различных сферах деятельности получают летающие роботы, или беспилотные летательные аппараты (БПЛА), в частности, квадрокоп-теры, представляющие собой платформу с четырьмя несущими винтами, попарно вращающимися в противоположные стороны. Квадрокоптеры обладают рядом преимуществ (простота конструкции, большая маневренность, компактность и малая собственная масса при существенной массе полезной нагрузки) и могут быть использованы как недорогое и эффективное средство при картографировании, аэрофотосъемке в местах чрезвычайных ситуаций, доставке небольших грузов, а также для слежения за подвижными объектами (животные, люди, транспортные средства и т. п.).
В большинстве работ, посвященных решению задач мониторинга местности при помощи БПЛА, рассматривается движение летательного аппарата по известной траектории. В частности, в работе [1 ] предлагается система управления, реализующая движение квадрокопте-ра при заданной скорости с учетом рельефа местности по прямой линии, соединяющей начальную и конечную точки траектории. В работе [2] рассмотрен алгоритм передвижения квадрокоптера вдоль любой траектории в пространстве, при котором квадрокоптер способен следовать за движущимся объектом с известными координатами и скоростью.
В настоящей работе предлагаются алгоритмы идентификации и анализа перемещения объектов на изображении, полученном с фронтальной камеры квадрокоптера. На основе этих алгоритмов формируются команды управления полетом для идентификации препятствий, автоматической корректировки траектории, поиска конкретных объектов на маршруте и автономного сопровождения выбранной цели. Актуальность работы состоит в том, что существующие решения на разных этапах выполнения поставленной задачи требуют либо значительного количества исходных данных о маршруте следования, которые могут быть заранее неизвестны, либо вмешательства человека в процесс управления для корректировки полета. В любом случае функция летательного аппарата именно как беспилотного не реализуется в достаточной мере. Однако использование технического зрения как инструмента автоматизации процесса управления БПЛА позволяет усовершенствовать существующие системы и свести к минимуму необходимость участия человека в процессе управления.
Способ задания траектории. Для формирования первоначальной траектории была разработана программа [3, 4]. Траектория представляет собой множество точек на декартовой плоскости с координатами (х, у), эти данные могут быть представлены в форме массива точек, который разбивается на небольшие части — отрезки кривой, аппроксимирующие первоначальную траекторию.
На рис. 1 представлено окно программного приложения (а — траектория, задаваемая на экране монитора, б — аппроксимированная первоначальная траектория).
а) б)
ИЬу'« Ч
- а 5ГП
г *г «г
> -I 334 ЙОЙ
1 -V № 0«!
5Щ/5* ¡т/не
¡итИгугЫ К
г «г
> -I 334 ЙОЙ
1 'Ч КР СЧ1 1Г1/11К ЧЩ&'У.'Г*® 5Щ/5*
Рис. 1
Аналитический расчет траектории. Перемещение квадрокоптера по траектории включает в себя движение по прямой, соединяющей точки начала и конца элемента-отрезка, и вращение вокруг вертикальной оси, проходящей через центр квадрокоптера. Длина продольного перемещения рассчитывается как расстояние (в пикселах) между двумя точками, умноженное на коэффициент соответствия (зависит от размеров площадки для полета и области рисования на дисплее).
Расчет угла поворота происходит в несколько этапов (рис. 2):
1) первый угол (а) определяется следующим выражением
(
а — агссоБ
Л
Уо - У1
180
\1(У1 -У2)2 +(х2 -Х1 )
к
2) второй и последующие углы ( Р^) рассчитываются по формуле
(
( ~ Х- )(л-+1 ~ Х,-_1) + (у,- - У,-_1) (У,-+1 - У,-_1) 180
у
где - = 1 - (N -1), N — число отрезков траектории.
С(Х2, У2) _ К(Х4, У4)
а В(Х1, у1) щхъ уз)
-4(хо, уо)
Рис. 2
На основании сформированной траектории вырабатываются команды управления и передаются в БПЛА, который в процессе полета должен обнаружить и идентифицировать объект, за которым необходимо вести слежение, используя бортовую видеокамеру [5].
Идентификация объектов на изображениях. Существует много различных алгоритмов, которые обеспечивают решение задачи идентификации объектов на изображении [6]. Все они предназначены для распознавания лишь определенного класса объектов (лица, рукописный текст, автомобильные номерные знаки и т.п.). Следовательно, для решения задачи необходимо заранее определить, за какими именно объектами квадрокоптер будет выполнять слежение. Однако любой из методов идентификации основан на базовых алгоритмах обработки и анализа изображений, эти методы прямо или косвенно опираются на наличие границы между фоном и распознаваемым объектом. Рассмотрим некоторые базовые методы поиска объектов на изображении.
Контурный анализ использует самый простой способ поиска объекта на изображении — выделение и анализ его контура. Этот метод предполагает анализ свойств сигнала яркости — разрывность и однородность. Согласно первому подходу, деление изображения на области сводится к поиску резких перепадов сигнала яркости. Второй подход основан на разбиении изображения на однородные участки по заранее выбранному критерию. Практическая реализация этих двух подходов состоит в применении так называемых масок (фильтров) [5]. Маска представляет собой матрицу коэффициентов (некоторый двумерный массив). Процесс фильтрации основан на простом перемещении маски фильтра между точками изображения и выделении точек, значение яркости которых существенно отличается от окружающего фона. Найденные точки образуют линии, которые будут являться границами объектов на изображении. После выделения всех границ можно решать задачу распознавания конкретных объектов на изображении. Алгоритмы поиска индивидуальны для каждой конкретной задачи [7], но все они основываются на анализе формы границ и цвета в заданной области в соответствии с характерными для установленного класса объектов критериями.
Метод Канни [8] — один из наиболее эффективных для выделения границ объекта. При определении границ используют два порога (для „слабых" и „сильных" границ). „Слабые" границы отмечаются в результирующем изображении только тогда, когда они соединены с „сильными". Для зашумленных изображений этот метод обеспечивает наилучшее выделение границ по сравнению с остальными методами, но требует существенно большего времени.
Анализ перемещения объекта слежения. Решение задачи слежения за подвижными объектами с помощью камеры всегда сводится к покадровому анализу видеопотока [6]. Однако существует два различных подхода. Один из них основан на сравнении двух смежных кадров, полученных с камеры [9]. Каждый новый кадр сравнивается с предыдущим, в результате чего на новом выделяются области, в которых произошли изменения, что соответствует перемещению какого-либо объекта на изображении. Также к найденным областям можно применять алгоритмы идентификации и выделять нужные объекты. Традиционно используемый алгоритм довольно прост в реализации и обеспечивает требуемое быстродействие. Но даже при незначительных скоростях полета квадрокоптера затруднительно отделить постоянно меняющийся фон от движущегося объекта. Поэтому оптимальным решением задачи слежения за объектом с помощью подвижной камеры является поиск объекта на каждом новом кадре и сравнение его положения с положением на предыдущем снимке [10]. При таком подходе можно пренебречь изменением фона, а привязка непосредственно к цели позволяет сузить область поиска на новом кадре, опираясь на положение объекта в предыдущем, что положительно скажется на быстродействии всей системы в целом. Приведенный алгоритм позволяет обнаружить движение цели только в двумерной плоскости. Существующий метод анализа размера цели малоэффективен, так как определить, насколько приблизился или отдалился объект, с приемлемой точностью невозможно. В связи с этим возникает задача измерения расстояния до объекта слежения.
Измерение расстояния до объекта слежения. Квадрокоптер при слежении за объектом должен находиться на заданном расстоянии от объекта. Измерить это расстояние с помощью камеры можно, только используя метод стереоскопического зрения [11]. Так как используемая в настоящей работе модель квадрокоптера оборудована только одной фронтальной камерой, реализовать этот метод возможно с помощью двух снимков, сделанных с разных точек полета [12, 13]. Однако вследствие жесткой связи камеры и квадрокоптера, а также особенностей его управления точное перемещение камеры в горизонтальной плоскости довольно сложный процесс, который требует внесения изменений в систему стабилизации полета. Поэтому для измерения расстояния до каких-либо объектов на изображении был разработан алгоритм, основанный на периодическом изменении высоты полета на заданную величину и сравнении двух соседних снимков. Схематично работа данного алгоритма показана на рис. 3 (Н1 и Н2 — высота полета в метрах, АН — изменение высоты в метрах, ф — половина угла обзора в градусах, лх — расстояние до объекта в метрах, К1 и К2 — кадры, полученные с камеры на разной высоте, Н' — захватываемая объективом камеры высота в метрах, АН' — изменение положения цели на изображении в пикселах).
Н
Н1
АН
■>ф
К1
АН'' \ к > <
••> Н' >
К,
Рис. 3
В зависимости от расстояния до цели объектив камеры захватывает различное расстояние по вертикали [14] на линии объекта, которое определяется формулой:
Н' = Лх ^Ф.
(1)
Л
Н
х
2
Так как камера, которой оборудован квадрокоптер, имеет формат съемки 1280x720, ка-
h'
ждому пикселу на изображении соответствует реальная высота 360 ' Изменение высоты Ah полета квадрокоптера вызовет соответствующее перемещение Ah' объекта слежения на изображении, а следовательно, эквивалентом одному пикселу по высоте будет -Ah:
Ah'
h ' Ah ,, „ ^ Ah
1 пкс о-=-^ h' = 360-' (2)
360 Ah ' Ah'
Подставив (2) в (1), получим формулу для вычисления расстояния до объекта слежения:
360Ah
sr =-' (3)
r tg(9)Ah' V '
Изменение высоты будет являться разностью показаний высотомера на высотах h1 и h2, Ah' рассчитывается на основе анализа кадров К1 и К2.
На основании полученных таким образом данных о местоположении объекта вырабатываются команды управления тягой двигателей квадрокоптера, что позволяет изменять траекторию полета в соответствии с движениями объекта слежения, выдерживая заданное расстояние до него.
Заключение. В результате проведенных исследований на примере квадрокоптера ArDrone были разработаны алгоритмы:
— задания и формирования команд управления для произвольной пространственной траектории полета квадрокоптера;
— выделения контура объекта слежения;
— определения расстояния до объекта слежения с помощью бортовой видеокамеры;
— формирования команд управления квадрокоптером для организации слежения за подвижным объектом'
СПИСОК ЛИТЕРАТУРЫ
1. Белоконь С. А., Золотухин Ю. Н., Нестеров А. А., Филиппов М. Н. Управление квадрокоптером на основе организации движения по желаемой траектории в пространстве состояний // Тр. XIII Междунар. конф. „Проблемы управления и моделирования в сложных системах". Самара: Самарский научный центр РАН, 2011. С. 217—222.
2. Puls T., Hein A. 3D trajectory control for quadrocopter // Intelligent Robots and System (IROS), IEEE/RSJ Intern. Conf. 2010. P. 640—645
3. Литвинов Ю. В., Бушуев А. Б., Гриценко П. А., Шмигельский Г. М. Полет квадрокоптера по произвольно задаваемой траектории // Сб. матер. IX МНПК „Современные научные достижения - 2013". Ч. 77. Прага: Образование и наука, 2013. 96 с.
4. Шмигельский Г. М., Гриценко П. А., Бобцов А. А., Кремлёв А. С., Литвинов Ю. В. Свид. о гос. рег. программы для ЭВМ № 2013614903 от 22.05.2013.
5. Литвинов Ю. В., Мазулина В. В., Фролов С. Н. Использование веб-камеры для обнаружения препятствия на пути движения мобильного робота // Сб. матер. МНПК „Системы обработки информации. Информационные проблемы теории акустических, радиоэлектронных и информационных систем". Харьков, 2013. Вып. 7 (114). С. 34—36.
6. Форсайт Д., Понс Ж. Компьютерное зрение. Современный подход. М.: Вильямс, 2004. 928 с.
7. Шапиро Л., Стокманн Дж. Компьютерное зрение. М.: Бином. Лаборатория знаний, 2006. 752 с.
8. Герман Е. В. Алгоритмы совмещения разнородных изображений в бортовых системах визуализации: Дис. ... канд. техн. наук. Рязань: Рязанский государственный радиотехнический университет, 2014. 180 с.
9. Shapiro L., Stockman G. Textbook: Computer Vision. NJ: Prentice-Hall, Upper Saddle River, 2000.
10. CVonline: On-Line Compendium of Computer Vision / Ed. by R. B. Fisher. Division of Informatics, University of Edinburgh, 2012.
11. Кравков С. В. Глаз и его работа. М.—Л., 1950.
12. Валюс Н. А. Стереоскопия. М., 1962.
13. Валюс Н. А. Стерео: фотография, кино, телевидение. М., 1986.
14. Бегунов Б. Н. Геометрическая оптика. М.: Изд-во МГУ, 1966.
Сведения об авторах
Буй Ван Шон — студент; Университет ИТМО, кафедра систем управления и ин-
форматики; E-mail: bui.son1412@gmail.com Александр Борисович Бушуев — канд. техн. наук, доцент; Университет ИТМО, кафедра систем
управления и информатики; E-mail: bushuev@inbox.ru Григорий Михайлович Шмигельский — студент; Университет ИТМО, кафедра систем управления и информатики; E-mail: gri6ka16@gmail.com Юрий Володарович Литвинов — канд. техн. наук, доцент; Университет ИТМО, кафедра систем
управления и информатики; E-mail: yurl13@yandex.ru Егор Геннадьевич Щаев — студент; Университет ИТМО, кафедра систем управления и ин-
форматики; E-mail: egor-94@bk.ru
Рекомендована кафедрой Поступила в редакцию
систем управления и информатики 18.03.15 г.
Ссылка для цитирования: Буй Ван Шон, Бушуев А. Б., Шмигельский Г. М., Литвинов Ю. В., Щаев Е. Г. Алгоритмы управления летающим роботом при слежении за подвижным объектом // Изв. вузов. Приборостроение. 2015. Т. 58, № 8. С. 593—599.
ALGORITHMS FOR CONTROLLING A FLYING ROBOT WHEN THE ROBOT IS TRACKING A MOVING OBJECT
Bui Van Shon, A. B. Bushuev, G. M. Shmigelsky, Yu. V. Litviniv, E. G. Shchaev
ITMO University, 197101, Saint Petersburg, Russia E-mail: yurl13@yandex.ru
Algorithms for controlling an unmanned aerial vehicle (quadrocopter) are considered. The algorithms allow solving the problem of tracking moving objects with the use of video camera mounted on the quadrocopter. An algorithm of quadrocopter piloting along a predetermined path was developed. The algorithm applies an approximation of the original curve with small segments and it allows for simplification of the controlling by utilization of only two commands: forward movement and rotation about the vertical axis (yaw). An approach to object identification from its digital image, based on edge detection is presented. Methods of obtaining of the tracking object displacement while accounting for background inconstancy caused by the camera movements are analyzed. An algorithm for measuring distance to the tracking object using a single camera is developed. The algorithm is based on comparison of two frames taken from different altitudes, and it is a modification of the method of stereoscopic vision when the camera is hard mounted on the quadrocopter. For multiple targets in a frame, a method to measure distances to the targets is proposed. The method applicability does not depend on the targets position in the frame and therefore may be used for safe passing over obstacles along the route. Combined application of the above algorithms is reported to allow obtaining of the full set of parameters describing target position and movement, the parameters may serve as a base for creation of control commands for flying robot necessary to implement a valuable system of tracking moving objects with the use of unmanned aerial vehicles
Keywords: quadrocopter, trajectory control, UAV, tracking, moving object, Vision Systems.
Data on authors
Bui Van Shon — Student; ITMO University, Department of Control Systems and Infor-
matics; E-mail: bui.son1412@gmail.com Alexander B. Bushuev — PhD, Associate Professor; ITMO University, Department of Control Systems and Informatics; E-mail: bushuev@inbox.ru Grigory M. Shmigelsky — Student; ITMO University, ITMO University, Department of Control Systems and Informatics; E-mail: gri6ka16@gmail.com Yury V. Litvinov — PhD, Associate Professor; ITMO University, Department of Control Sys-
tems and Informatics; E-mail: yurl13@yandex.ru
Egor G. Shchaev — Student; ITMO University, Department of Control Systems and Infor-
matics; E-mail: egor-94@bk.ru
Reference for citation: Bui Van Shon, Bushuev A. B., Shmigelsky G. M., Litvinov Yu. V., Shchaev E. G. Algorithms for controlling a flying robot when the robot is tracking a moving object // Izvestiya Vysshikh Ucheb-nykh Zavedeniy. Priborostroenie. 2015. Vol. 58, N 8. P. 593—599 (in Russian).
DOI: 10.17586/0021-3454-2015-58-8-593-599