УДК 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) • (+1 - х,.-1) + (у, - у,--1) • (у,+1 - у,-)
.-1 )2 + (у, - у,-1 )2) • ((+1 - х,. )2 + (у,+1 - у, )2)
где ,= 1, ..., N-1; N - количество отрезков.
180 л
Е(х4,у4)
А(хо,уо)
Рис. 2. Расчет угла поворота Для определения направления поворота квадрокоптера используются несколько условий:
- если у1 > у,.-! и
- если у1 < у,-1 и
+ х,.-1 > х.+1, то поворот направо, иначе - налево;
(х,.- х,-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 с.
Гриценко Полина Андреевна - Санкт-Петербургский национальный исследовательский университет
информационных технологий, механики и оптики, студент, [email protected]
Кремлев Артем Сергеевич - Санкт-Петербургский национальный исследовательский университет
информационных технологий, механики и оптики, кандидат технических наук, доцент, [email protected]
Шмигельский Григорий Михайлович - Санкт-Петербургский национальный исследовательский университет
информационных технологий, механики и оптики, студент, [email protected]
УДК 62.50: 681.50.1
ИССЛЕДОВАНИЕ ПРОЦЕССОВ В НЕПРЕРЫВНЫХ СИСТЕМАХ С КРАТНЫМИ КОМПЛЕКСНО-СОПРЯЖЕННЫМИ СОБСТВЕННЫМИ ЧИСЛАМИ ИХ МАТРИЦ СОСТОЯНИЯ Т.А. Акунов, Н.А. Дударенко, Н.А. Полинова, А.В. Ушаков
Рассматривается устойчивая непрерывная система, матрица состояния которой обладает спектром кратных комплексно-сопряженных собственных чисел, кратность которых равна размерности ее вектора состояния. Особое внимание обращается на ситуацию, когда модуль вещественной части собственного числа меньше единицы. Устанавливается, что в этой ситуации уже при малой колебательности собственных чисел появляется заметный выброс в процессах по норме свободного движения по вектору состояния и величина выброса тем больше, чем меньше по модулю вещественная составляющая собственного числа и чем больше его кратность и мнимая часть. Ключевые слова: комплексно-сопряженные собственные числа, кратность, свободное движение, норма, выброс.
Введение. Постановка задачи
Ставится задача исследования свободного движения устойчивой линейной непрерывной многомерной динамической системы по норме вектора состояния с целью изучения влияния на это поведение кратности собственных чисел ее матрицы состояния и значения их модуля. В работе поставленная задача