Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇;...

35
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ КАФЕДРА КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ И СИСТЕМ Любич Леонард Яковлевич Выпускная квалификационная работа бакалавра Автоматическое управление посадкой квадрокоптера на движущееся основание Направление 010400 Прикладная математика и информатика Научный руководитель, кандидат физ.-мат. наук, доцент Сотникова М. В. Санкт-Петербург 2016

Upload: others

Post on 27-Jun-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

КАФЕДРА КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ И СИСТЕМ

Любич Леонард Яковлевич

Выпускная квалификационная работа бакалавра

Автоматическое управление посадкой

квадрокоптера на движущееся основание

Направление 010400

Прикладная математика и информатика

Научный руководитель,

кандидат физ.-мат. наук,

доцент

Сотникова М. В.

Санкт-Петербург

2016

Page 2: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

Содержание

Введение .................................................................................................................. 3

Глава 1. Постановка задачи ................................................................................... 5

1.1. Общая схема мисии автопосадки .......................................................... 6

1.2. Моделирование динамики квадрокоптера ........................................... 9

1.3. Система компьютерного зрения .......................................................... 13

1.4. Математическая постановка задачи .................................................... 16

Глава 2. Разработка алгоритма управления ...................................................... 18

2.1. Алгоритм Backstepping ......................................................................... 19

2.2. Общая схема алгоритма Backstepping ................................................. 20

2.3. Применение алгоритма Backstepping к квадрокоптеру .................... 22

Глава 3. Программная реализация алгоритма управления .............................. 25

3.1. Алгоритм Backstepping ......................................................................... 25

3.2. Трехмерная имитация системы компьютерного зрения ................... 28

3.3. Результаты имитационного моделирования ...................................... 31

Выводы .................................................................................................................. 34

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

Page 3: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

3

Введение

Развитие систем с использованием беспилотных летательных

аппаратов (БЛА) является современной тенденцией в аэрокосмических

исследованиях. Беспилотным летательным аппаратом называется

движущийся объект, на борту которого в процессе полета отсутствует

человек. Такие БЛА могут пилотироваться дистанционно или автономно

следовать по предварительно запрограммированному пути. БЛА в основном

используются в военных операциях. Однако они находят приложение и в

гражданских нуждах, таких как пожаротушение. В целом, беспилотные

аппараты предпочтительны при выполнении неподходящих для

пилотируемых аппаратов миссий.

Существует широкий спектр геометрических конфигураций, средств

управления и общего функционирования БЛА. Аппараты с лопастными

моторами имеют ряд преимуществ перед вариантами с фиксированными

крыльями. К ним в первую очередь относятся способность вертикально

взлетать и садиться, а также возможность парить над неподвижной точкой.

Кроме того, БЛА вертолетного типа могут перемещаться в диапазоне низких

скоростей.

Одну из возможных конфигураций моторов вертолета представляет так

называемый квадрокоптер – летательный аппарат с 4-мя основными винтами

и отсутствующим хвостовым. Все несущие винты расположены в одной

плоскости. Управление движением квадрокоптера достигается за счет

изменения скоростей вращения каждого пропеллера.

Рис. 1. Квадрокоптер

Page 4: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

4

Целью данной работы является реализация управления посадкой

квадрокоптера на движущуюся платформу. Движение платформы

происходит в горизонтальной плоскости, что может соответствовать участку

земли или другому подвижному объекту с очень малыми колебаниями по

вертикали. Основным и единственным координатором движения является

сам БЛА, оценивающий обстановку по видеоданным, получаемым с

бортовой камеры.

Квадрокоптер представляет из себя транспортное средство с четырьмя

входными силами, которые преобразуются в шесть управляющих

воздействий. Существует ряд способов управления движением такой

системы. Могут применяться методы управления линейными системами

(PID-контроллер, LQR). Однако, поскольку квадрокоптер является

нелинейной системой, для должной функциональности необходимо

применение нелинейных способов управления. Наиболее употребимыми

являются методы Backstepping, Sliding и метод линеаризации обратной связи.

В работе используется закон управления Backstepping, примененный к

квадрокоптеру для разработки надежной системы стабилизации и

преследования траектории.

Нелинейный Backstepping позволяет построить закон управления для

следования желаемой траектории. В рамках работы таковой является

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

считается неопределенной. Считается, что посадочная область двигается с

небольшой скоростью и ее траектория является непрерывно

дифференцируемой, поэтому в течение малых промежутков времени её

можно приближать линейной. Это учитывается при симуляции миссии

полета.

В работе описана математическая модель квадрокоптера, система

компьютерного зрения, построена общая схема полета при выполнении

миссии посадки и синтезирован закон управления для нее. Также

представлены результаты имитационного моделирования тестовых полетов.

Page 5: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

5

Глава 1. Постановка задачи

Пусть имеется один квадрокоптер с симметрично расположенными

винтами и жестко прикрепленной ко дну видеокамерой. Также есть круговая

плоская платформа, которая двигается в горизонтальной плоскости в

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

превосходит расстояние от центра масс до края любого из винтов. На

стартовом этапе квадрокоптер находится на земле, моторы выключены.

Целевым является состояние, когда квадрокоптер сел на движущуюся

платформу.

Требуется:

построить математическую модель динамики квадрокоптера в

виде системы обыкновенных дифференциальных уравнений

второго порядка;

выбрать алгоритм обнаружения по видеоданным, поступающим с

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

квадрокоптера;

построить закон управления, который обеспечивает

стабилизацию аппарата и следованию за траекторией движения

платформы;

построить алгоритм перехода квадрокоптера из начального

состояния в область посадки;

реализовать программно симуляцию этого перехода;

получить и проанализировать результаты, сделать выводы.

Предполагается, что квадрокоптер не может работать в штормовых

условиях: сильном дожде, порывистом ветре, высокой турбулентности.

Page 6: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

6

1.1. Общая схема миссии автопосадки

Для летательных аппаратов углы поворота вокруг осей прямоугольной

системы координат приняты следующие названия: угол крена (roll), угол

тангажа (pitch) и угол рыскания (yaw).

Риc. 2. Крен, тангаж и рыскание.

Потребуем выполнения следующих условий при посадке [1]:

Крен и тангаж в момент посадки должны быть нулевыми

𝜃𝑑𝑒𝑠 = 0, 𝜑𝑑𝑒𝑠 = 0.

Точка посадки должна быть в центре платформы

𝑥 = 𝑥𝑐𝑝𝑙𝑎𝑡

, 𝑦 = 𝑦𝑐𝑝𝑙𝑎𝑡

.

На завершающем этапе вертикальная скорость квадрокоптера

относительно платформы должна подчиняться условию

�̇� ≤ 0.5 м с⁄ .

Единственное, чем может руководствоваться автопилотная система, –

получаемые с бортовой камеры кадры. По ним система должна быть

способна вычислить свое положение относительно платформы. Такой подход

в иностранной литературе называется image-based [1]. Главный минус

подхода заключается в том, что потеря цели на кадре лишает квадрокоптер

Page 7: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

7

возможности оценить свое положение относительно платформы. Для

компенсации этого недостатка обычно добавляется GPS-навигация.

В работе предполагается, что квадрокоптер изначально находится в

небольшой удаленности от платформы.

Ниже представлена блок-схема режимов котроллера во время полета и

их детальное описание.

Режим поиска

В этом режиме квадрокоптер, начиная полет из начального состояния,

набирает высоту до тех пор, пока платформа не будет обнаружена на кадре,

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

некоторой ограниченной области, не выходя за ее пределы. Обозначим

характерный радиус этой области через 𝑅𝑝. Пусть FOV (field of view) – угол

обзора камеры. Тогда высота, с которой цель может быть гарантированно

обнаружена, вычисляется по формуле

𝑧𝑠𝑒𝑎𝑟𝑐ℎ =𝑅𝑝

𝑡𝑔(𝑚𝑖𝑛{𝐹𝑂𝑉} 2⁄ ) (1)

К каждому получаемому с камеры кадру применяется алгоритм

обнаружения области платформы.

Режим отслеживания

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

начинает выполнять задачу позиционирования над платформой на заданной

высоте.

К каждому кадру по-прежнему применяется алгоритм обнаружения. В

случае потери цели контроллер возвращается в режим поиска.

Режим сближения

После выполнения задачи позиционирования квадрокоптер

выравнивается с центром платформы. Это способствует уменьшению

вероятности расхождения с ней во время финального снижения.

Режим посадки

Данный режим управляет вертикальной скоростью квадрокоптера,

Page 8: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

8

который должен приземлиться как можно ближе к заданной точке посадки.

При сближении БЛА (следовательно, и камеры) с целью, ее

изображение полностью заполняет кадр. В следствие этого, система

видеонаблюдения оказывается не в состоянии определить положение

квадрокоптера относительно платформы. Данная проблема может быть

решена изменением внешнего вида платформы с добавлением

дополнительных ориентиров. В данной работе этот вопрос не

рассматривается.

При разработке программного комплекса имитационного

моделирования в среде MATLAB-Simulink математическая модель,

регулятор и платформа реализуются в виде отдельных подсистем, связанных

друг с другом. При этом режимы полета выбираются в процессе

моделирования в зависимости от текущего состояния системы.

Рис. 3. Схема миссии.

Page 9: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

9

Особенность подхода image-based control состоит в том, что целевое

состояние системы изначально выбирается как желаемый образ цели на

кадре, а впоследствии преобразуется в желаемое положение квадрокоптера.

1.2. Моделирование динамики квадрокоптера

Математическая модель квадрокоптера необходима для разработки

регуляторов, а также для их тестирования в имитационных полетах.

Используемые предположения [1]:

квадрокоптер имеет жесткую структуру;

квадрокоптер симметричен;

осевая нагрузка моторов направлена вертикально;

масса постоянна.

Рис. 4. Системы координат.

Будем использовать две системы координат:

1. связанная с Землей ортогональная система координат 𝑂𝑖𝑥𝑖𝑦𝑖𝑧𝑖.

Ось 𝑂𝑖𝑥𝑖 направлена на восток, ось 𝑂𝑖𝑦𝑖 на север, ось 𝑂𝑖𝑧𝑖

Page 10: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

10

дополняет до правой тройки;

2. связанная с телом квадрокоптера ортогональная система

координат 𝑂𝑏𝑥𝑏𝑦𝑏𝑧𝑏. Ось 𝑂𝑏𝑥𝑏 направлена вправо, ось 𝑂𝑏𝑦𝑏

вперед, ось 𝑂𝑏𝑧𝑏 дополняет до правой тройки.

Введем следующие обозначения:

положение: 𝑃 = (𝑥, 𝑦, 𝑧)𝑇;

скорость: 𝑉 = (𝑢, 𝑣, 𝑤)𝑇;

углы Эйлера: 𝜃 = (𝜑, 𝜃, 𝜓)𝑇;

угловые скорости: 𝜔 = (𝑝, 𝑞, 𝑟)𝑇 .

Переход от системы координат 𝑂𝑏𝑥𝑏𝑦𝑏𝑧𝑏 к системе координат 𝑂𝑖𝑥𝑖𝑦𝑖𝑧𝑖

осуществляется при помощи матрицы поворота [3]:

𝑇𝐼𝐵 = [

𝐶𝜓𝐶 𝜃 𝑆𝜓𝐶 𝜃 −𝑆 𝜃𝐶𝜓𝑆 𝜃𝑆𝜑 − 𝑆𝜓𝐶𝜑 𝑆𝜓𝑆 𝜃𝑆𝜑 + 𝐶𝜓𝐶𝜑 𝐶 𝜃𝑆𝜑𝐶𝜓𝑆 𝜃𝐶𝜑 + 𝑆𝜓𝑆𝜑 𝑆𝜓𝑆 𝜃𝐶𝜑 − 𝐶𝜓𝑆𝜑 𝐶 𝜃𝐶𝜑

], (2)

где 𝐶𝛾 = 𝑐𝑜𝑠(𝛾), 𝑆𝛾 = 𝑠𝑖𝑛(𝛾).

Обратный переход осуществляется матрицей 𝑇𝐵𝐼 = 𝑇𝐼𝐵−1= 𝑇𝐼𝐵

𝑇.

Запишем кинематические дифференциальные уравнения для углов

Эйлера через угловые скорости [1]:

[

�̇�

�̇� �̇�

] = [

1 𝑠𝑖𝑛𝜑𝑡𝑔𝜃 𝑐𝑜𝑠𝜑𝑡𝑔𝜃0 𝑐𝑜𝑠𝜑 −𝑠𝑖𝑛𝜑

0 𝑠𝑖𝑛𝜑 𝑐𝑜𝑠𝜃⁄ 𝑐𝑜𝑠𝜑 𝑐𝑜𝑠𝜃⁄] [𝑝𝑞𝑟], (3)

где 𝜑, 𝜃, 𝜓 – крен, тангаж и рыскание соответственно.

Из второго закона Ньютона могут быть получены уравнения движения

квадрокоптера [1]:

𝐹 =𝑑

𝑑𝑡(𝑚𝑉), (4)

𝑀 =𝑑𝐻

𝑑𝑡. (5)

Распишем уравнения (4), (5) в скалярной форме:

Page 11: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

11

[

𝐹𝑥𝐹𝑦𝐹𝑧

] = [−𝑚𝑔 +𝑚�̇�

𝑚�̇�𝑚�̇�

], (6)

[

𝑀𝑥𝑀𝑦𝑀𝑧

] = [

𝐼𝑥�̇� + (𝐼𝑧 − 𝐼𝑦)𝑞𝑟

𝐼𝑦�̇� + (𝐼𝑥 − 𝐼𝑧)𝑟𝑝

𝐼𝑧�̇� + (𝐼𝑦 − 𝐼𝑥)𝑝𝑞], (7)

где 𝐹𝑖 , 𝑀𝑖 – это проекции сил и моментов сил (уравнения записаны в системе

координат 𝑂𝑏𝑥𝑏𝑦𝑏𝑧𝑏).

Совместное управление 𝑈1 есть суммарная подъемная сила, вызванная

четырьмя моторами одновременно. Вращение по углу тангажа возникает при

возрастании (падении) скорости заднего мотора, тогда как скорость

переднего убывает (растет). Движение по крену получается ускорением

(замедлением) правого мотора совместно с замедлением (ускорением)

левого. Угол рыскания изменяется, когда одновременно растут (падают)

скорости вращения переднего и заднего моторов, а боковых падают (растут).

Динамическая модель квадрокоптера [9] в виде системы ОДУ имеет

вид:

{

�̈� =

1

𝐼𝑥[(𝐼𝑧 − 𝐼𝑦)𝑞𝑟 +𝑀𝑥 +𝑀𝑥𝑑]

�̈� =1

𝐼𝑦[(𝐼𝑧 − 𝐼𝑥)𝑟𝑝 +𝑀𝑦 +𝑀𝑦𝑑]

�̈� =1

𝐼𝑧[(𝐼𝑥 − 𝐼𝑦)𝑝𝑞 +𝑀𝑧 +𝑀𝑧𝑑]

�̈� =𝐹𝑥𝑚

�̈� =𝐹𝑦

𝑚

�̈� = −𝑔 +𝐹𝑧𝑚

. (8)

Здесь 𝑀𝑖 – это моменты управляемых сил, 𝑀𝑖𝑑 – моменты внешних

возмущений, 𝐹𝑖 – управляемые силы, 𝐹𝑖𝑑 – силы внешних возмущений, m –

масса квадрокоптера, 𝑙 – расстояние от центра масс до винта. Эти величины

вычисляются по формулам:

Page 12: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

12

𝑀𝑥 =𝑙

𝐼𝑥𝑈2,𝑀𝑦 =

𝑙

𝐼𝑦𝑈3,𝑀𝑧 =

𝑙

𝐼𝑧𝑈4,

𝑀𝑥𝑑 = −𝐽𝑟𝐼𝑥𝑞Ω,𝑀𝑦𝑑 = −

𝐽𝑟𝐼𝑦𝑝Ω,𝑀𝑧𝑑 = 0,

𝐹𝑥 = (𝑐𝑜𝑠 𝜓𝑠𝑖𝑛 𝜃𝑐𝑜𝑠𝜑 + 𝑠𝑖𝑛 𝜓𝑠𝑖𝑛𝜑)𝑈1,

(9)

𝐹𝑦 = (𝑠𝑖𝑛 𝜓𝑠𝑖𝑛 𝜃𝑐𝑜𝑠𝜑 − 𝑠𝑖𝑛 𝜓𝑠𝑖𝑛𝜑)𝑈1,

𝐹𝑧 = (𝑐𝑜𝑠𝜑𝑐𝑜𝑠𝜃)𝑈1. (10)

Управляющие сигналы 𝑈1, 𝑈2, 𝑈3, 𝑈4 и возмущение Ω находятся через

скорости моторов по следующим формулам:

𝑈1 = 𝑏(Ω12 + Ω2

2 + Ω32 + Ω4

2),

𝑈2 = 𝑏(−Ω22 + Ω4

2),

𝑈3 = 𝑏(−Ω12 + Ω3

2),

𝑈4 = 𝑑(−Ω12 + Ω2

2 − Ω32 + Ω4

2),

Ω = −Ω1 + Ω2 − Ω3 + Ω4.

(11)

Динамическую модель, описанную системой (8), можно переписать в

виде LTI-модели в ss-форме. Определим вектор состояния:

𝑋𝑇 = [𝜑 �̇� 𝜃 �̇� 𝜓 �̇� 𝑧 �̇� 𝑥 �̇� 𝑦 �̇�],

𝑥1 = 𝜑, 𝑥2 = �̇� = 𝑥1̇, 𝑥3 = 𝜃, 𝑥4 = �̇� = 𝑥3̇, 𝑥5 = 𝜓, 𝑥6 = �̇� = 𝑥5̇,

𝑥7 = 𝑧, 𝑥8 = �̇�, 𝑥9 = 𝑥, 𝑥10 = �̇�, 𝑥11 = 𝑦, 𝑥12 = �̇�.

(12)

�̇� = 𝑓(𝑋, 𝑢) =

(

𝑥2𝑥4𝑥6𝑎1 + 𝑥4𝑎2Ω + 𝑏1𝑈2

𝑥4𝑥2𝑥6𝑎3 + 𝑥2𝑎4Ω + 𝑏2𝑈3

𝑥6𝑥4𝑥6𝑎5 + 𝑏3𝑈4

𝑥8

−𝑔 + (𝑐𝑜𝑠𝑥1𝑐𝑜𝑠𝑥3)1

𝑚𝑈1

𝑥10

𝑢𝑥1

𝑚𝑈1

𝑥12

𝑢𝑦1

𝑚𝑈1 )

, (13)

Page 13: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

13

где

𝑎1 = (𝐼𝑦 − 𝐼𝑧) 𝐼𝑥⁄ , 𝑎2 = −𝐽𝑟 𝐼𝑥⁄ , 𝑎3 = (𝐼𝑧 − 𝐼𝑥) 𝐼𝑦⁄ , 𝑎4 = −𝐽𝑟 𝐼𝑦⁄ ,

𝑎5 = (𝐼𝑥 − 𝐼𝑦) 𝐼𝑧⁄ , 𝑏1 = 𝑙 𝐼𝑥⁄ , 𝑏2 = 𝑙 𝐼𝑦⁄ , 𝑏3 = 𝑙 𝐼𝑧⁄ ,

𝑢𝑥 = (𝑐𝑜𝑠𝑥1𝑠𝑖𝑛 𝑥3𝑐𝑜𝑠𝑥5 + 𝑠𝑖𝑛 𝑥1𝑠𝑖𝑛𝑥5),

𝑢𝑦 = (𝑠𝑖𝑛𝑥1𝑠𝑖𝑛𝑥3𝑐𝑜𝑠𝑥5 − 𝑠𝑖𝑛 𝑥1𝑠𝑖𝑛𝑥5).

1.3. Система компьютерного зрения

Бортовая камера является неподвижной и направлена вертикально

вниз. Она используется для определения положения квадрокоптера

относительно платформы.

Характеристики цели могут быть разнообразны и многочисленны.

Геометрическая конструкция и другие свойства цели существенно влияют на

сложность алгоритма обнаружения, поэтому целесообразно определить их

заранее. Можно выделить следующие основные требования:

предпочтительны простые геометрические формы (круги или

квадраты);

размеры: с одной стороны целевая граница должна быть

достаточно малой, чтобы помещаться в кадр изображения при

сближении квадрокоптера с платформой; с другой стороны, при

слишком малых размерах цель будет занимать недостаточное

количество пикселей для качественной работы алгоритмов

компьютерного зрения;

цвет платформы следует выбрать таким, чтобы он не

существовал в изобилии в природе (например, красный).

Из вышеуказанных характеристик очевидно, что на изображении

камеры цель будет отображаться как некоторое красное пятно. Требуется

разработать соответствующий алгоритм обработки изображений, который

обнаруживает и выявляет свойства красных пятен на кадре, состоящий из

следующих этапов:

Page 14: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

14

1. поиск красных пикселей;

2. конвертация изображения в бинарное;

3. извлечение свойств пятен.

Поиск красных пикселей

Обнаружение объекта производится путем сканирования всех пикселей

захваченного изображения. При использовании цветовой модели RGB

каждый пиксель представлен 3х-элементным вектором. «Чистому» красному

пискелю будет соответствовать значение [255, 0, 0]. В реальной ситуации

такие значения почти не встречаются, поэтому нужно допустить

определенное отклонение и включить в рассмотрение «красноподобные»

пиксели. Ниже представлены некоторые варианты критерия «красноты» [1]:

√(𝑅 − 255)2 + 𝐺2 + 𝐵2 < 𝜀1

𝑅 > 𝜀2 ∙ 𝐺 && 𝑅 > 𝜀2 ∙ 𝐵

𝑅 > 𝜀3 ∙ (𝐺 + 𝐵)

Конвертация в бинарное изображение

Черный цвет присваивается пикселям, которые по какому-либо из

критериев приняты красными, все остальные принимаются белыми. Путем

таких преобразований платформа на изображении примет вид сплошной

черной кляксы.

Извлечение свойств пятен

Важно отметить, что вполне возможно множественное появление

черных клякс на кадрах. Необходимо построить фильтр для исключения

шумовых пятен. Затем, учитывая что нужные сгустки пискселей

обнаружены, можно вычислить некоторые их свойства: площадь, периметр,

центр, координаты краев.

По кадру на изображении можно вычислить позицию соответствующей

пикселю точки относительно камеры. Введя плоскую ортогональную

систему координат на изображении, центр которой находится в центре кадра,

порядковый номер каждого пискеля можно принять за его координаты в этой

Page 15: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

15

системе. По расстоянию между пикселями 𝑑𝑝 и известному реальному

расстоянию 𝑑𝑟𝑒𝑎𝑙 можно вычислить высоту, с которой захвачено

изображение:

𝑧 =𝑠𝑐𝑓𝑑𝑟𝑒𝑎𝑙𝑑𝑝

, (15)

где 𝑓это фокусное расстояние, 𝑠𝑐 это масштабирующий множитель.

Относительное горизонтальное положение точки вычисляется как

𝑥 =𝑧(𝑥𝑝 − 𝑥𝑜)

𝑠𝑐𝑓, 𝑦 =

𝑧(𝑦𝑝 − 𝑦𝑜)

𝑠𝑐𝑓. (16)

Координаты центра пятна вычисляются по формулам:

𝑥𝑡𝑎𝑟𝑔𝑒𝑡 = (𝑚𝑖𝑛(𝑐𝑖𝑟𝑐𝑙𝑒𝑥) + 𝑚𝑎𝑥(𝑐𝑖𝑟𝑐𝑙𝑒𝑥))/2,

𝑦𝑡𝑎𝑟𝑔𝑒𝑡 = (𝑚𝑖𝑛(𝑐𝑖𝑟𝑐𝑙𝑒𝑦) + 𝑚𝑎𝑥(𝑐𝑖𝑟𝑐𝑙𝑒𝑦))/2. (17)

Для фильтрации пятен можно ввести два критерия [1]:

занимаемая область на изображении должна быть не менее, чем

пороговое значение 𝜀𝐴𝑟𝑒𝑎;

показатель округлости области |периметр

2𝜋−диаметр

2| должен быть

меньше 𝜀𝑅.

Заканчивая обзор системы зрения, отдельно подчеркнем, что

координатная плоскость камеры в системе координат тела имеет

собственную ориентацию, что требуется учитывать при составлении

отношений между точкой на изображении и точкой в пространстве. Это

должно быть учтено при составлении отношений между точкой на

изображении и точкой в пространстве. Матрица перехода имеет вид:

𝑇𝐶𝐼 = 𝑇𝐶𝐵 ∙ 𝑇𝐵𝐼 . (18)

Построенная система зрения позволяет выявлять траекторию

перемещения центра платформы в пространстве, руководствуясь только

видеоданными с камеры. Следование этой траектории является целью

управления в процессе полета квадрокоптера.

Как видно на рис. 5, на кадре обнаружено множество черных элементов

Page 16: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

16

разного размера. С помощью представленного выше подхода возможно

выделить самую крупную область, наиболее похожую на цель.

Рис.5. Пример работы алгоритма обнаружения красных пикселей.

1.4. Математическая постановка задачи

Пусть круговая платформа с центром (𝑥𝑐 , 𝑦𝑐) движется по некоторому

закону:

{

𝑥 = 𝑥𝑝𝑙𝑎𝑡(𝑡)

𝑦 = 𝑦𝑝𝑙𝑎𝑡(𝑡)

𝑧 = 0

,

а перемещение квадрокоптера в пространстве задается изменением его

координат (𝑥, 𝑦, 𝑧) = [𝑥(𝑡), 𝑦(𝑡), 𝑧(𝑡)].

Динамика квадрокоптера описывается системой (16).

Вектор управления определяется как 𝑢 = (𝑈1, 𝑈2, 𝑈3, 𝑈4)𝑇. Все

компоненты зависят от настраиваемых параметров. Следовательно,

обозначив набор параметров через 𝐾, управление становится функцией этих

параметров: 𝑢 = 𝑢(𝐾).

Требуется построить управление 𝑢 = 𝑢(𝐾) для системы (16):

{lim𝑡→∞

|𝑥 − 𝑥𝑝𝑙𝑎𝑡(𝑡)| = 0

lim𝑡→∞

|𝑦 − 𝑦𝑝𝑙𝑎𝑡(𝑡)| = 0,

и обеспечить выполнение условия

𝑧 = 0 ⟹ {|𝑥 − 𝑥𝑐| < Δ|𝑦 − 𝑦𝑐| < Δ

,

где Δ обозначает разницу между радиусом платформы и радиусом

Page 17: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

17

окружности, описывающей квадрокоптер.

Основные идеи и принципы построения решения могут быть

почерпнуты в [1]. Также в этом источнике глубоко рассматривается image-

based подход.

Управление квадрокоптером является сложной задачей из-за его

нелинейного поведения. В [2] описывается моделирование и управление

кавдрокоптером.

В [3] автор производит сравнение линейных и нелинейных методов

управления квадрокоптерами.

Нелинейный метод управления Backstepping довольно подробно

описывается [4].

Управление летательным аппаратом с 4 винтами при помощи

компьютерного зрения исследуется в работе [5].

Вопрос навигации летательных аппаратов с использованием данных,

получаемых с бортовой камеры описан в [6].

Для управления квадрокоптером существует целый ряд различных

методов. Их можно подразделить на линейные, такие как LQR и PID,

рассматриваемые в [7], и нелинейные, в частности Backstepping и Sliding [9].

В [8] автор дает общую схему синтеза управления квадрокоптером.

Page 18: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

18

Глава 2. Разработка алгоритма управления

Квадрокоптер является неустойчивой системой, поэтому для

управления таким аппаратом требуется контроллер с обратной связью.

Backstepping – подход к синтезу регуляторов для нелинейных систем,

основанный на теории устойчивости Ляпунова [4].Метод разработан в 1990г.

П. Кокотовичем для построения алгоритмов управления системами

определенной структуры. Эти системы имеют рекурсивную структуру, т.е.

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

данные из стабильной внешней по отношению к ней подсистемы.

Построенная в предыдущей главе математическая модель

квадрокоптера (1) имеет вышеописанную структуру. Первые три ОДУ

представляют подсистему, отвечающую за вращение БЛА в пространстве. В

свою очередь следующие три уравнения описывают горизонтальные

перемещения [8]. Причем вторая подсистема зависит от выходного состояния

первой. Следовательно, применительно к построенной модель backstepping

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

которой будут использованы при дальнейшей стабилизации по позиции и

скоростям.

Верно построенный закон управления Backstepping обеспечивает

асимптотическую сходимость вектора состояния системы к желаемой

величине. Применительно к данной работе это позволит квадрокоптеру

совершать следование за центром платформы с целью максимального

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

движения самого квадрокоптера, аппарат, используя методы компьютерного

зрения, самостоятельно определит целевую траекторию и будет следовать по

ней.

Page 19: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

19

2.1. Метод управления Backstepping

Рассмотрим систему следующего вида:

{

�̇� = 𝑓𝑥(𝑥) + 𝑔𝑥(𝑥)𝑧1𝑧1̇ = 𝑓1(𝑥, 𝑧1) + 𝑔1(𝑥, 𝑧1)𝑧2

⋮𝑧�̇� = 𝑓𝑖(𝑥, 𝑧1, 𝑧2, … , 𝑧𝑖−1, 𝑧𝑖) + 𝑔𝑖(𝑥, 𝑧1, 𝑧2, … , 𝑧𝑖−1, 𝑧𝑖)𝑧𝑖+1

⋮𝑧�̇� = 𝑓𝑘(𝑥, 𝑧1, 𝑧2, … , 𝑧𝑘−1, 𝑧𝑘) + 𝑔𝑘(𝑥, 𝑧1, 𝑧2, … , 𝑧𝑘−1, 𝑧𝑘)𝑢

, (19)

где 𝑥 ∈ 𝑅𝑛, 𝑧𝑖 ∈ 𝑅1, 𝑢 ∈ 𝑅1 - вход в систему, 𝑓𝑖(0) = 0.

При построении управления для системы (19) будем пользоваться

теоремой Ляпунова об устойивости.

Теорема Ляпунова об асимптотической устойчивости. Пусть

имеется система 𝑑𝑥

𝑑𝑡= 𝑓(𝑥, 𝑡). При этом считается, что множество 𝑍 =

{(𝑡, 𝑥) | 𝑡 ≥ 0, ‖𝑥‖ ≤ 𝐻} является областью существования и

единственности решения задачи Коши. Если для системы существует

положительно определенная функция Ляпунова 𝑉(𝑡, 𝑥), непрерывно

дифференцируемая по совокупности своих аргументов, допускающая

бесконечно малый высший предел и имеющая отрицательно определенную

производную �̇�(𝑡, 𝑥) по времени в силу системы, то нулевое решение 𝑥 =

0рассматриваемой системы асимптотически устойчиво по Ляпунову.

Пусть первая в (19) подсистема �̇� = 𝑓𝑥(𝑥) + 𝑔𝑥(𝑥)𝑢𝑥(𝑥)

стабилизирована некоторым известным управлением 𝑢𝑥(𝑥): 𝑢𝑥(0) = 0. Пусть

также известна функция Ляпунова 𝑉𝑥для стабилизированной системы.

Управление 𝑢, построенное с помощью Backstepping, даст

непосредственноестабилизирующее воздействие на состояние 𝑧𝑘. В свою

очередь состояние 𝑧𝑘 действует как стабилизирующее управление для

состояния 𝑧𝑘−1. Это процесс продолжается аналогичным образом, и каждое

состояние 𝑧𝑖 стабилизируется фиктивным управлением 𝑧𝑖+1. Проход в

обратном направлении от управления 𝑢 до управления 𝑧1 послужил

причиной названия метода Backstepping, т.е. «шагание назад».

Page 20: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

20

Таким образом, подход Backstepping состоит в определении того, как

стабилизировать подсистему 𝑥 с помощью выхода подсистемы 𝑧1, приводом

которой является 𝑧2, и так далее. Процесс «спускается вниз» до тех пор, пока

не будет построено последнее управление 𝑢. Пошаговая схема:

1. �̇� = 𝑓𝑥(𝑥) + 𝑔𝑥(𝑥)𝑢𝑥(𝑥) стабилизирована, функция Ляпунова 𝑉𝑥;

2. Управление 𝑢1(𝑥, 𝑧1) строится так, что 𝑧1 сходится к 𝑢𝑥. При

построении используется 𝑉1(𝑥, 𝑧1) = 𝑉𝑥(𝑥) +1

2(𝑧1 − 𝑢𝑥(𝑥))

2;

3. Управление 𝑢2(𝑥, 𝑧1, 𝑧2) строится так, что 𝑧2 сходится к 𝑢1. При

построении используется 𝑉2(𝑥, 𝑧1, 𝑧2) = 𝑉1(𝑥, 𝑧1) +1

2(𝑧2 −

𝑢1(𝑥, 𝑧1))2;

4. Далее все аналогично, пока не будет построено последнее

управление 𝑢.

2.2. Общая схема алгоритма Backstepping

Одношаговая процедура

Рассмотрим простую систему:

{�̇� = 𝑓𝑥(𝑥) + 𝑔𝑥(𝑥)𝑧1

𝑧1̇ = 𝑓1(𝑥, 𝑧1) + 𝑔1(𝑥, 𝑧1)𝑢1. (20)

Вместо того, чтобы проектировать управление с обратной связью 𝑢1,

вводится новое управление 𝑢𝑎1и используется новый закон:

𝑢1(𝑥, 𝑧1) =1

𝑔1(𝑥, 𝑧1)(𝑢𝑎1 − 𝑓1(𝑥, 𝑧1)). (21)

Перепишем систему (20) после подстановки управления (21):

{

�̇� = 𝑓𝑥(𝑥) + 𝑔𝑥(𝑥)𝑧1

𝑧1̇ = 𝑓1(𝑥, 𝑧1) + 𝑔1(𝑥, 𝑧1)1

𝑔1(𝑥, 𝑧1)(𝑢𝑎1 − 𝑓1(𝑥, 𝑧1))

, (22)

{�̇� = 𝑓𝑥(𝑥) + 𝑔𝑥(𝑥)𝑧1

𝑧1̇ = 𝑢𝑎1. (23)

Считая известными закон управления 𝑢𝑥(𝑥) и функцию Ляпунова 𝑉𝑥(𝑥)

Page 21: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

21

для первой подситемы (23), получим управление для второй подсистемы:

𝑢𝑎1(𝑥, 𝑧1) = −𝜕𝑉𝑥𝜕𝑥𝑔𝑥(𝑥) − 𝑘1(𝑧1 − 𝑢𝑥(𝑥)) +

𝜕𝑢𝑥𝜕𝑥

(𝑓𝑥(𝑥)

+ 𝑔𝑥(𝑥)𝑧1),

(24)

где 𝑘1 > 0.

Итоговый стабилизирующий закон управления:

𝑢1(𝑥, 𝑧1) =1

𝑔1(𝑥, 𝑧1)(−𝜕𝑉𝑥𝜕𝑥𝑔𝑥(𝑥) − 𝑘1(𝑧1 − 𝑢𝑥(𝑥))

+𝜕𝑢𝑥𝜕𝑥

(𝑓𝑥(𝑥) + 𝑔𝑥(𝑥)𝑧1) − 𝑓1(𝑥, 𝑧1).

(25)

Соответствующая функция Ляпунова:

𝑉1(𝑥, 𝑧1) = 𝑉𝑥(𝑥) +1

2(𝑧1 − 𝑢𝑥(𝑥))

2. (26)

Таким образом, исходная система (20) теперь имеет известные

стабилизирующее управление и функцию Ляпунова для него. По методу

Backstepping теперь эта система может рассматриваться как часть более

сложной системы.

Многошаговая процедура

Исходная система имеет рекурсивную структуру:

{

{

{

{

{{{

�̇� = 𝑓𝑥(𝑥) + 𝑔𝑥(𝑥)𝑧1𝑧1̇ = 𝑓1(𝑥, 𝑧1) + 𝑔1(𝑥, 𝑧1)𝑢1

𝑧2̇ = 𝑓2(𝑥, 𝑧1, 𝑧2) + 𝑔2(𝑥, 𝑧1, 𝑧2)𝑧3⋮

𝑧�̇� = 𝑓𝑖(𝑥, 𝑧1, 𝑧2, … , 𝑧𝑖−1, 𝑧𝑖) + 𝑔𝑖(𝑥, 𝑧1, 𝑧2, … , 𝑧𝑖−1, 𝑧𝑖)𝑧𝑖+1⋮

�̇�𝑘−1 = 𝑓𝑘−1(𝑥, 𝑧1, 𝑧2, … , 𝑧𝑘−2, 𝑧𝑘−1) + 𝑔𝑘−1(𝑥, 𝑧1, 𝑧2, … , 𝑧𝑘−2, 𝑧𝑘−1)𝑧𝑘𝑧�̇� = 𝑓𝑘(𝑥, 𝑧1, 𝑧2, … , 𝑧𝑘−1, 𝑧𝑘) + 𝑔𝑘(𝑥, 𝑧1, 𝑧2, … , 𝑧𝑘−1, 𝑧𝑘)𝑢

(27)

и может быть стабилизирована обратной связью нахождением управления и

функции Ляпунова для интегратора подсистемы (𝑥, 𝑧1) в (27), после чего

процесс выходит из этой внутренней подсистемы и продолжается, пока не

будет получен стабилизирующий закон управления 𝑢.

На i-ом шаге система (27) эквивалентна:

Page 22: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

22

{

[ �̇��̇�1�̇�2⋮�̇�𝑖−2�̇�𝑖−1]

⏞ ≜�̇�𝑖−1

= [𝑓𝑖−2(𝑥𝑖−2) + 𝑔𝑖−2(𝑥𝑖−2)𝑧𝑖−2

𝑓𝑖−1(𝑥𝑖)]

⏞ ≜𝑓𝑖−1(𝑥𝑖−1)

+ [0

𝑔𝑖−1(𝑥𝑖)]

⏞ ≜𝑔𝑖−1(𝑥𝑖−1)

𝑧�̇� = 𝑓𝑖(𝑥𝑖) + 𝑔𝑖(𝑥𝑖)𝑢𝑖

. (28)

Управление:

𝑢𝑖(𝑥, 𝑧1, … , 𝑧𝑖⏞ ≜𝑥𝑖

)

=1

𝑔𝑖(𝑥𝑖)[−𝜕𝑉𝑖−1𝜕𝑥𝑖−1

𝑔𝑖−1(𝑥𝑖−1) − 𝑘𝑖(𝑧𝑖 − 𝑢𝑖−1(𝑥𝑖−1)

+𝜕𝑢𝑖−1𝜕𝑥𝑖−1

(𝑓𝑖−1(𝑥𝑖−1) + 𝑔𝑖−1(𝑥𝑖−1)𝑧𝑖) − 𝑓𝑖(𝑥𝑖−1)],

(29)

где 𝑘𝑖 > 0.

Функция Ляпунова:

𝑉𝑖(𝑥𝑖) = 𝑉𝑖−1(𝑥𝑖−1) +1

2(𝑧𝑖 − 𝑢𝑖−1(𝑥𝑖−1))

2. (30)

На шаге 𝑖 = 𝑘 может быть получено конечное управление

𝑢(𝑥, 𝑧1, 𝑧2, … , 𝑧𝑘) = 𝑢𝑘(𝑥𝑘).

2.3. Применение алгоритма Backstepping к квадрокоптеру

Математическая модель квадрокоптера описывается системой

обыкновенных дифференциальных уравнений (8). В ней первые три

уравнения описывают подсистему угловых вращений, а последующие три –

горизонтальных перемещений. Будем работать с системой, представленной в

state-space форме (13). Для начала рассмотрим входное управление для

вращательной подсистемы, из которой в дальнейшем выведем управление

координатами.

Пусть 𝑋 = 𝑋𝑑 — желаемое состояние модели, которое считается

целевой траекторией движения квадрокоптера. Построим управление,

обеспечивающее следование по этой траектории системой.

Page 23: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

23

Для первого уравнения системы (13) введем ошибку преследования:

𝑧1 = 𝑥1𝑑 − 𝑥1 (31)

и функцию Ляпунова:

𝑉(𝑧1) =1

2𝑧12, (32)

производная которой имеет вид:

�̇�(𝑧1) = 𝑧1(�̇�1𝑑 − �̇�1). (33)

Представляя виртуальное входное управление 𝑥2для стабилизации 𝑧1

𝑥2 = �̇�1𝑑 + 𝑘1𝑧1, (34)

где 𝑘1 > 0, получаем производную функции Ляпунова в виде:

�̇�(𝑧1) = −𝑘1𝑧12. (35)

Введя обозначения:

𝑧2 = 𝑥2 − �̇�1𝑑 − 𝑘1𝑧1,

𝑉(𝑧1, 𝑧2) =1

2(𝑧12 + 𝑧2

2). (36)

следует, что производная функции Ляпунова 𝑉(𝑧1, 𝑧2) выражается:

�̇�(𝑧1, 𝑧2) = 𝑧2(𝑎1𝑥4𝑥6 + 𝑎2𝑥4Ω + 𝑏1𝑈2) − 𝑧2(�̈�1𝑑 − 𝑘1(𝑧2

+ 𝑘1𝑧1)) − 𝑧1𝑧2 − 𝑘1𝑧12,

(37)

и должно выполняться: �̇�(𝑧1, 𝑧2) < 0.

Таким образом, 𝑈2 может быть вычислено:

𝑈2 =1

𝑏1(𝑧1 − 𝑎1𝑥4𝑥6 − 𝑎2𝑥4Ω − 𝑏1𝑈2 − 𝑘1(𝑧2 + 𝑘1𝑧1)) − 𝑘2𝑧2) (38)

По той же процедуре вычисляются 𝑈3 и 𝑈4

𝑈3 =1

𝑏2(𝑧3 − 𝑎3𝑥2𝑥6 − 𝑎4𝑥2Ω − 𝑘3(𝑧4 + 𝑘3𝑧3) − 𝑘4𝑧4), (39)

𝑈4 =1

𝑏3(𝑧5 − 𝑎5𝑥2𝑥4 − 𝑘5(𝑧2 + 𝑘1𝑧1) − 𝑘6𝑧6). (40)

Получив входные управления (38-40) для вращательной подсистемы,

можно вычислить входы 𝑈1, 𝑢𝑥 и 𝑢𝑦 для нижней подсистемы [7]:

𝑈1 =𝑚

𝑐𝑜𝑠𝑥1𝑐𝑜𝑠𝑥3(𝑧7 + 𝑔 − 𝑘7(𝑧8 + 𝑘7𝑧7)) − 𝑘8𝑧8), (41)

Page 24: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

24

𝑢𝑥 =𝑚

𝑈1(𝑧9 − 𝑘9(𝑧10 + 𝑘9𝑧9) − 𝑘10𝑧10), (42)

𝑢𝑦 =𝑚

𝑈1(𝑧11 − 𝑘11(𝑧12 + 𝑘11𝑧11) − 𝑘12𝑧12). (43)

Здесь

𝑧3 = 𝑥3𝑑 − 𝑥3

𝑧4 = 𝑥4 − �̇�3𝑑 − 𝑘3𝑧3

𝑧5 = 𝑥5𝑑 − 𝑥5

𝑧6 = 𝑥6 − �̇�5𝑑 − 𝑘5𝑧5

𝑧7 = 𝑥7𝑑 − 𝑥7

𝑧8 = 𝑥8 − �̇�7𝑑 − 𝑘7𝑧7

𝑧9 = 𝑥9𝑑 − 𝑥9

𝑧10 = 𝑥10 − �̇�9𝑑 − 𝑘9𝑧9

𝑧11 = 𝑥11𝑑 − 𝑥11

𝑧12 = 𝑥12 − �̇�11𝑑 − 𝑘11𝑧11.

Все коэффициенты (𝑘1, … , 𝑘12) положительны. За счет них происходит

определение интенсивности реакции на отклонение вектора состояния от

желаемой траектории.

Page 25: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

25

Глава 3. Программная реализация алгоритма

управления

Для проверки разработки программного кода и вычислений

использовался высокоуровневый язык и интерактивная среда для

программирования и численных расчетов MATLAB. Для симуляции

динамики квадрокоптера и тестирования миссии автопосадки был выбрана

графическая среда имитационного моделирования Simulink.

3.1. Алгоритм Backstepping

В первую очередь была построена математическая модель

квадракоптера, а также проведена ее стабилизация контроллером

Backstepping.

Рис.6. Модель квадрокоптера.

Блок «Динамическая модель квадрокоптера» принимает на вход вектор

состояния, вектор управления и скорости вращения моторов в предыдущий

Page 26: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

26

момент времени. На выходе получаем производную вектора

состояниямодели (13) �̇� = 𝑓(𝑋, 𝑈) в текущий момент времени.

Полученный сигнал поступает на «Интегратор», а затем вместе с

желаемой траекторией передается в контроллер. Подсистема Backstepping

Controller преобразует входной сигнал, формируя новое управление.

Сигнал управления, проходя через блок «Скорости моторов», замыкает

систему и вновь подается в модель динамики квадрокоптера для

формирования нового вектора состояния. Нижний набор блоков (на рис. 6)

требуется для задания желаемой траектории.

Зададим в качестве начальной позиции [𝑥, 𝑦, 𝑧] = [−5,−5, 1],

начальной ориентации [𝜑, 𝜃, 𝜓] = [𝜋 4⁄ , 𝜋 4⁄ , 𝜋 4⁄ ]. Проверим

работоспособность алгоритма backstepping, задав желаемый закон движения:

{𝑥 = 𝑠𝑖𝑛𝑡𝑦 = 𝑡𝑧 = 0

.

Желаемые углы крена, тангажа и рыскания нулевые.

Результат имитации отображены на последующих графиках:

Рис.7. Графики изменения координат X и Y в период [0;20].

Page 27: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

27

Рис. 8. Графики изменения координаты Z и угла крена в период [0; 20].

Рис. 9. Графики изменения углов тангажа и рыскания в период [0; 20].

Page 28: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

28

3.2. Трехмерная имитация системы компьютерного

зрения

Для наглядности имитации полета и посадки квадрокоптера в среде

Simulink была создана 3D-сцена. В нее помимо фона было добавлено 4

основных элемента: схематичный трехмерный макет квадрокоптера, круговая

посадочная поверхность, а также две точки обзора (viewpoint, кратко VP).

Первая VP соответствует бортовой камере, жесткой сцепленной с днищем

летательного аппарата, вторая – стороннему наблюдателю.

Рис. 10. Квадрокоптер, вид снизу.

Рис.11. Платформа, вид со стороны.

Page 29: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

29

Рис. 12. Квадрокоптер парит над платформой, вид со стороны.

Составляющие модели квадрокоптера:

4 двигателя реализованы в виде одинаковых параллелепипедов

размером 0.15м ×0.15м×0.01м.;

Центральный элемент, содержащий центр масс представляет

собой параллелепипед размером 0.2м ×0.2м×0.1м.;

4 связующих звена в виде одинаковых цилиндров высотой 0.3м и

радиусом 0.02м каждый.

От платформы в 3D-сцену добавлена только верхняя посадочная

поверхность в виде плоского круга радиусом 0.6м.

Для построения управления в данной работе принимаются решения,

основанные только на данных обработки получаемых изображений с

бортовой камеры. Для захвата видео в процессе полета использовались

инструменты библиотеки Simulink 3D Animation. Кадры передаются

функциям библиотеки 8-битными изображениями, получаемыми с VP,

прикрепленной к нижней части коптера.

Ниже показан пример части изображения и его обработанного

варианта, снятого камерой с 5 метров над платформой (Рис. 13). Кадр

обрабатывается алгоритмом, описанным в главе 1.2.

Page 30: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

30

Рис. 13. Квадрокоптер обнаружил цель.

Рис. 14. Подсистема компьютерного зрения.

Simulink-модель на рис.14 строит текущее состояние системы с

помощью двух блоков: «math data to 3D» и «3D-проекция». Первый

преобразует координаты, второй формирует изображение бортовой камеры.

Сигнал «Кадр» содержит 8-битное изображение, подаваемое в блок для его

обработки. Внутри происходят вычисления, и на выходе имеются бинарное

изображение, координаты центра цели на кадре, а также режим полета. Далее

координаты центра платформы используются для определения

горизонтальной коррекции движения.

Page 31: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

31

3.3. Результаты имитационного моделирования

Следующие значения констант и параметров модели были выбраны

при реализации программного полета [2]:

Обозначение Название Значение

𝑚 Масса квадрокоптера 0.65 кг

𝐼𝑥 Момент инерции отн. оси 𝑥 7.5 ⋅ 10−3кг ⋅ м2

𝐼𝑦 Момент инерции отн. оси y 7.5 ⋅ 10−3кг ⋅ м2

𝐼𝑧 Момент инерции отн. оси z 1.3 ⋅ 10−2кг ⋅ м2

𝑏 Коэффициент тяги 3 ⋅ 10−5Н ⋅ с2

𝑑 Коэффициент сопротивления 7.5 ⋅ 10−7Н ⋅ м ⋅ с2

𝐽𝑟 Инерция двигателя 6 ⋅ 10−5 кг ⋅ м2

𝑙 Длина рукоятки 0.3 м

Построенный закон управления Backstepping содержит 12 числовых

задаваемых параметров. Их вариация влияет на реакцию регулятора на

отклонение системы от желаемого состояния, и, следовательно, на скорость

сходимости.

Для симуляции полета были выбраны следующие значения:

𝑘1 = 5, 𝑘2 = 5, 𝑘3 = 5, 𝑘4 = 5, 𝑘5 = 5, 𝑘6 = 5,

𝑘7 = 0.5, 𝑘8 = 0.5, 𝑘9 = 5, 𝑘10 = 1, 𝑘11 = 5, 𝑘12 = 1.

Стоит отметить, что выбор оптимального набора коэффициентов

𝑘𝑖выходит за рамки данной работы.

Квадрокоптер находится в начальной позиции:

𝑥0 = −1, 𝑦0 = −1, 𝑧0 = 0.

Платформа движется прямолинейно:

𝑥𝑝𝑙𝑎𝑡(𝑡) = 0, 𝑦𝑝𝑙𝑎𝑡(𝑡) = 𝑡.

В результате моделирования было показано, что автопилотируемый

аппарат взлетел, и приземлился на цель за 6 с секунд. Ниже представлены

графики изменения положения во время полета, а также отклонение от

Page 32: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

32

желаемой прямолинейной траектории.

Рис.15. Квадрокотер сел на цель, вид сверху.

Рис. 16. Графики изменения горизонтальных координат квадрокоптера.

По графику видно, что после старта квадрокоптер некоторое время

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

высоты до появления цели в поле зрения камеры.

Цель впервые была обнаружена на камере на высоте около 5 метров.

После посадки центр масс квадрокоптера оказался смещен на 6-7 см от

центра платформы, что является следствием неспособности камеры

Page 33: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

33

захватывать цель полностью во время финальной стадии снижения.

Рис. 17. График изменения высоты полета квадрокоптера.

Рис. 18. График отклонения движения от прямолинейного.

Page 34: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

34

Выводы

В данной работе была рассмотрена проблема автоматической посадки

квадрокоптера, основанной на методах компьютерного зрения.

В ходе работы построена нелинейная математическая модель динамики

квадрокоптера, представленная в среде имитационного моделирования

Simulink, а также программно реализован аналог бортовой камеры.

Для удовлетворения требования максимально точной посадки

квадрокоптера синтезирован регулятор движения Backstepping,

обеспечивающий следование желаемой траектории. Данный метод основан

на теории Ляпунова, следовательно, результатом его является

асимптотическая сходимость траектории движения к желаемой. Подход

Backstepping является одним из самых популярных в области управления

движением квадрокоптера, для которого построена нелинейная модель. В то

же время, в дальнейшем необходимо построить и другие типы регуляторов

(PID, Sliding и др.) с целью анализа качества/скорости работы и выбора

наиболее подходящего.

В работе представлен результат решения в случае прямолинейного

движения платформы и при данных предположениях продемонстрирована

эффективная работа алгоритма.

При выполнении данной работы получены следующие результаты.

1. Построена математическая, имитационная модели

квадрокоптера.

2. Для этой модели синтезирован закон управления Backstepping.

3. Программно смоделирована бортовая камера и разработан

алгоритм обработки поступающих кадров.

4. Реализован алгоритм автоматической посадки на цель,

находящуюся в поле зрения камеры.

5. Проведено имитационное моделирование полета полета

квадрокоптера.

Page 35: Любич Леонард Яковлевичуглы Эйлера: 𝜃=(𝜑,𝜃, )𝑇; угловые скорости: =( , , )𝑇. Iереход от системы координат

35

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

[1]. Mendes, A. S. “Vision-based automatic landing of a quadrotor UAV on

a floating platfrorm”, Master of Science thesis, Faculty of AerospaceEngineering,

Delft University of Technology, 2012

[2].G.M. Hoffmann, H. Huang, S.L.Waslander, C.J.Tomlin,“Quadrotor

Helicopter Flight Dynamics and Control: Theoryand Experiment”, American

Institute of Aeronautics andAstronautics, pp. 01-20, 2007.

[3].Y.M.Younes, M.A.A.Jarrah and A.A.Jhemi, “Linear vsNonlinear

Control Technology for a Quadrotor Vehicle”,Proceeding of the 7th International

Symposium onMechatronics and its Application, Shajah,UAE, April 20-22,2010.

[4]. T. Madani and A. Benallegue, “Backstepping Contol for aQuadrotor

Helicopter”, Proceeding of International Conferenceon Intelligent Robots and

System, pp. 3255-3260, October 9-15, 2006.

[5]. L. R. G. Carrillo, E. Randon, A. Sanchez, A. Dzul and R. Lozano,

”Stabilization and trajectory tracking of a quad-rotor using vision”, JournalL of

Intelligent and Robotic Systems, 61(1-4), 2011, pp 103- 118.

[6]. Sinopoli, B., Micheli, M., Donato, G., and Koo, T. J., “Vision based

Navigation for an Unmanned Aerial Vehicle,” In Proceedings of IEEE

International Conference on Robotics and Automation, 2001, pp. 1757–1765.

[7]. S. Bouabdallah, A.Noth and R. Siegwart, “PID vs LQ

ControlTechniques applies to an Indoor Micro Quadrotor”,International

Conference on Intelligent Robots and Systems,vol.3, pp. 2451 – 2456, 2004.

[8]. S. Bouabdallah P. Murrieri and R. Siegwart, “Design andcontrol of an

Indoor Micro Quadrotor”, Proceeding of IEEEInternational Conference on

Robotics and Automation NewOrieans, pp. 4393-4398, April 2004.

[9]. S. Bouabdallah and R. Siegwart, “Backstepping and

SlidingmodeTechniques Applied to an Indoor Micro Quadrotor”,Proceeding of

IEEE International Conference on Robotics andAutomation Barcelona, Spain, pp.

2259-2264, April 2005.