Управление движением квадрокоптера по заранее заданной траектории

УДК 681.51

УПРАВЛЕНИЕ ДВИЖЕНИЕМ КВАДРОКОПТЕРА ПО ЗАРАНЕЕ ЗАДАННОЙ ТРАЕКТОРИИ П.А. Гриценко, А.С. Кремлев, Г.М. Шмигельский

Разработан программный продукт, включающий в себя визуализатор и программу управления квадрокоптером, способную решать задачу формирования и отслеживания траектории полета. Приложение предназначено для системы управления квадрокоптером в автоматическом режиме в местах, где невозможно использовать сигнал от спутника (GPS) или сторонних датчиков, но известен подробный план местности или здания, а также при решении задач, где возникает необходимость вмешательства человека. Реализация разработанного алгоритма на квадрокоптере позволяет избежать постоянных обменов сигналами со станцией; как следствие, снижается потребление электроэнергии приемника и повышается время полета. Апробация программного приложения была выполнена на квадрокоптере Ar Drone компании Parrot. В результате работы программы квадрокоптер повторил заданную траекторию с погрешностью не более 5%.

Ключевые слова: квадрокоптер, траекторное управление, БПЛА, полет по траектории.

Введение

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

Большинство работ, посвященных решению задач мониторинга местности при помощи БПЛА, связано с движением летательного аппарата по известной траектории. В частности, в работе [4] авторами предлагается система управления, реализующая движение квадрокоптера по прямой линии, соединяющей начальную и конечную точки траектории, с заданной скоростью на заданной высоте над поверхностью земли с учетом рельефа местности. В [5] рассмотрен алгоритм передвижения квадрокоптера вдоль любой траектории в пространстве, при котором квадрокоптер способен следовать за движущимся объектом с известными координатами и скоростью.

В настоящей работе предлагается алгоритм полета квадрокоптера по заранее заданной траектории в автономном режиме, реализованный в программном приложении. Актуальность задачи состоит в том, что полет происходит в закрытом помещении с неизвестными объектами [6-8]. В такой постановке задачи, когда автоматическая система не может однозначно идентифицировать препятствие либо происходит сбой в выполнении задания, либо возникает необходимость дополнительного вмешательства человека при формировании и контроле выполнения пролета по заданной траектории БПЛА [9, 10].

Способ задания траектории

Для формирования траектории создана область рисования компьютерной мышью в окне программы, итоговая траектория представляет собой множество точек на декартовой плоскости с координатами (х, у). Полученные данные имеют числовое представление в форме массива точек. Этот массив разбивается на небольшие части - отрезки кривой, аппроксимирующие первоначальную траекторию (рис. 1).

Рис. 1. Окно приложения: траектория, заданная мышью

П.А. Гриценко, А.С. Кремлев, Г.М. Шмигельский

Аналитический расчет траектории

Перемещение квадрокоптера по траектории складывается из движений следующих типов:

- движение по прямой, соединяющей точки начала и конца элемента-отрезка;

- вращение вокруг вертикальной оси, проходящей через центр квадрокоптера.

Длина продольного перемещения вычисляется как расстояние между двумя точками (в пикселях), умноженное на коэффициент соответствия. Коэффициент соответствия рассчитывается в зависимости от размеров площадки для полета и области рисования на дисплее.

Расчет угла поворота происходит в несколько этапов (рис. 2).

1. Угол а определяется следующим выражением:

( \

а = агссоБ

Уо - У

- У 2 )2 +(*2 - *1 )2

180 л

2. Второй и последующие углы р,- рассчитываются по формуле

Р,. = атссоБ

.-1 )2 +

где ,= 1, ..., N-1; N - количество отрезков.

180 л

Е

А

Рис. 2. Расчет угла поворота Для определения направления поворота квадрокоптера используются несколько условий:

- если у1 > у,.-! и

- если у1 < у,-1 и

+ х,.-1 > х.+1, то поворот направо, иначе - налево;

(-,-1 М (+1 У'-1 М + х/-1 < х.+1, то поворот направо, иначе - н;

Используемый инструментарий

Инструментом для создания оконного приложения был выбран язык программирования С++, реализованный в среде разработки 4.8, что позволило создать исполняемые файлы для различных операционных систем [11]. Вся программа реализована на следующих стандартных классах в

- QThread - класс, обеспечивающий платформонезависимые потоки;

- QWidget - базовый класс для всех объектов пользовательского интерфейса;

- QUdpSocket - класс, предоставляющий возможность использования ИБР (ИБР - это протокол пользовательских датаграмм (блоков информации));

- QMouseEvent - класс, содержащий параметры событий мыши;

- QGraphicsView - класс, предоставляющий виджет для отображения содержимого QGraphicsScene;

- QGraphicsScene - класс, предоставляющий поверхность для управления большим числом графических двумерных элементов.

х

Программа обеспечивает выполнение следующих функций:

- ручное управление летательным аппаратом при помощи клавиатуры или мыши;

- полет по заданной траектории;

- обмен данными между компьютером и летательным аппаратом по каналу беспроводной связи Wi-Fi;

- возможность отслеживать данные с датчиков летательного аппарата.

Использовано программное обеспечение, распространяемое по свободным лицензиям. Программа может работать под управлением операционных систем Windows XP/Vista/7/8, а также Linux. Рекомендуемые системные требования к компьютеру для запуска и работы программы: 50 МБ свободного места на диске; 512 МБ оперативной памяти; процессор с частотой 1 ГГц.

Выбор исполнительного устройства, апробация программного приложения на реальном объекте

В качестве исполнительного устройства при реализации программы движения по траектории был выбран квадрокоптер Ar Drone (рис. 3). К его преимуществам перед аналогами можно отнести наличие беспроводной связи, простое формирование команд управления, встроенные датчики, такие как гироскоп и акселерометр, штатная автоматическая система стабилизации, взлета и посадки.

Рис. 3. Квадрокоптер Ar Drone

Связь компьютера с квадрокоптером осуществляется посредством Wi-Fi, а управление организовано в виде UDP-датаграмм. Общий вид команд управления Ar Drone задается следующим образом:

AT*PCMD=%d,%d,%d,%d,%d,%d<LF>, где аргумент 1 - порядковый номер команды; аргумент 2 - флаг, разрешающий комбинированные команды; аргументы 3-6 определяют движение влево-вправо, вперед-назад, вверх-вниз и вращение вокруг вертикальной оси соответственно. Все значения находятся в интервале [-1; 1].

При нажатии кнопки «Полет» в главном окне приложения (рис. 1) квадрокоптеру отправляется команда на взлет, после получения которой он автоматически поднимается на заданную высоту. Рассчитанные углы и расстояния между точками формируют управляющее воздействие для Ar Drone, отправляемое в режиме реального времени с использованием данных с датчиков для более точного следования по траектории. Движение осуществляется в горизонтальной плоскости без учета изменения высоты летательного аппарата относительно земли. При достижении конечной точки траектории приложение отправляет квадрокоптеру команду посадки.

В экспериментах квадрокоптер под управлением разработанной программы повторил заданную траекторию с погрешностью не более 5%.

Заключение

Предложен способ управления летательным аппаратом c компьютера по беспроводной связи, который позволяет задавать и отслеживать траекторию полета БПЛА. Сформированная в результате реализации программы траектория предназначена для системы управления квадрокоптером в автоматическом режиме в местах, где невозможно использовать сигнал от спутника (GPS) или сторонних датчиков, но известен подробный план местности или здания. Реализация разработанного алгоритма на квадрокоптере позволяет избежать постоянных обменов сигналами со станцией; как следствие, снижается потребление электроэнергии приемника и повышается время полета, что дает возможность летательному аппарату преодолевать большее расстояние по сравнению с ручным управлением. При проведении экспериментов на квадрокоптере Ar Drone компании Parrot по прохождению заранее заданной траектории в автоматическом режиме летательный аппарат ни разу не потерял связь с наземной станцией, выполняя траекторию с погрешностью не более 5%.

Исследование выполнено при поддержке министерства образования и науки Российской Федерации, соглашение № 14.В37.21.0421 и гос. контракт № 16.740.11.0553.

Т.А. Акунов, Н.А. Дударенко, Н.А. Полинова, А.В. Ушаков

Литература

1. Ситников Д.В., Бурьян Ю.А., Русских Г.С. Автопилот мультикоптера // Известия Тульского государственного университета. Технические науки. - 2012. - № 7. - С. 213-221.

2. Рубин Д.Т., Конев В.Н., Стариковский А.В., Шептунов А.А., Смирнов А. С., Толстая А.М. Разработка квадрокоптеров со специальными свойствами для проведения разведывательных операций // Спецтехника и связь. - 2012. - № 1.- С. 28-30.

3. Эпов М.И., Злыгостев И.Н. Применение беспилотных летательных аппаратов в аэрогеофизической разведке // Интерэкспо Гео-Сибирь. - 2012. - Т. 2. -№ 3.- С. 22-27.

4. Белоконь С.А., Золотухин Ю.Н., Нестеров А.А., М.Н. Филиппов. Управление квадрокоптером на основе организации движения по желаемой траектории в пространстве состояний // Труды XIII Международной конференции «Проблемы управления и моделирования в сложных системах». - Самара: Самарский научный центр РАН, 2011. - С. 217-222.

5. Puls T., Hein A. 3D trajectory control for quadrocopter // Intelligent Robots and System (IROS), IEEE/RSJ International Conference on, 2010. - P. 640-645.

6. Бобцов А.А., Шаветов С.В. Управление по выходу линейным параметрически неопределенным объектом в условиях возмущающих воздействий и неучтенной динамики // Научно-технический вестник СПбГУ ИТМО. - 2011. - № 1 (71). - С. 33-39.

7. Чеботарев С.Г., Кремлев А.С. Анализ линейных систем с переменными параметрами для синтеза интервальных наблюдателей // Научно-технический вестник информационных технологий, механики и оптики. - 2012. - № 6. - С. 50-53.

8. Бобцов А.А., Пыркин А.А. К задаче управления параметрически не определенным линейным объектом с запаздыванием в канале управления // Научно-технический вестник СПбГУ ИТМО. - 2011. -№ 3 (73). - С. 138.

9. Андреев В.Л., Иванов Р.В., Козлов Е.Б., Потупчик С.Г., Соколов П.В. Системы управления малоразмерными дистанционно пилотируемыми самолетами // Изв. вузов. Приборостроение. - 2011. - Т. 54. - № 8. - С. 48-57.

10. Литвинов Ю.В., Бушуев А.Б., Гриценко П.А., Шмигельский Г.М. Полет квадрокоптера по произвольно задаваемой траектории // Материалы IX международной научно-практической конференции «Современные научные достижения-2013». - Технические науки: Прага. Издательский дом «Образование и наука» ООО. - 2013. - Часть 77. - 96 с.

11. Бланшет Ж., Саммерфилд М. QT4 программирование GUI на С++. - 2-е изд. - ООО КУДИЦ-Образ, 2008. - 738 с.

Гриценко Полина Андреевна - Санкт-Петербургский национальный исследовательский университет

информационных технологий, механики и оптики, студент, Polina.gritsenko@gmail.com

Кремлев Артем Сергеевич - Санкт-Петербургский национальный исследовательский университет

информационных технологий, механики и оптики, кандидат технических наук, доцент, kremlev_artem@mail.ru

Шмигельский Григорий Михайлович - Санкт-Петербургский национальный исследовательский университет

информационных технологий, механики и оптики, студент, Gri6ka16@gmail.com

УДК 62.50: 681.50.1

ИССЛЕДОВАНИЕ ПРОЦЕССОВ В НЕПРЕРЫВНЫХ СИСТЕМАХ С КРАТНЫМИ КОМПЛЕКСНО-СОПРЯЖЕННЫМИ СОБСТВЕННЫМИ ЧИСЛАМИ ИХ МАТРИЦ СОСТОЯНИЯ Т.А. Акунов, Н.А. Дударенко, Н.А. Полинова, А.В. Ушаков

Рассматривается устойчивая непрерывная система, матрица состояния которой обладает спектром кратных комплексно-сопряженных собственных чисел, кратность которых равна размерности ее вектора состояния. Особое внимание обращается на ситуацию, когда модуль вещественной части собственного числа меньше единицы. Устанавливается, что в этой ситуации уже при малой колебательности собственных чисел появляется заметный выброс в процессах по норме свободного движения по вектору состояния и величина выброса тем больше, чем меньше по модулю вещественная составляющая собственного числа и чем больше его кратность и мнимая часть. Ключевые слова: комплексно-сопряженные собственные числа, кратность, свободное движение, норма, выброс.

Введение. Постановка задачи

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