Файл: Цуканов Александр Валерьевич Выпускная квалификационная работа бакалавра.pdf
Добавлен: 24.10.2023
Просмотров: 214
Скачиваний: 5
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
что углы атаки α, скольжения β и крена γ устанавливаются мгновенно при изменении положений соответствующих органов управления БПЛА. Такое предположение об идеальности системы управления БПЛА позволяет считать его
безынерционным вращающимся объектом
, для которого выполняются условия равенства нулю главных центральных моментов инерции, а следовательно оказываются равны нулю и суммы проекций моментов всех действующих на БПЛА сил относительно его центра масс [2].
Возможность практического применения данной модели дополнительно обосновывается тем, что движение центра масс БПЛА
обладает большой инерционностью, а его колебания вокруг ЦМ вызывают сравнительно малые отклонения траектории полета БПЛА [2], что вписывается в решение поставленной задачи.
Положение центра масс относительно неподвижной земной системы координат определяется следующими
кинематическими уравнениями [1]
:
Совместив полученные уравнения,
получим следующую математическую модель, представляющую собой систему из шести дифференциальных уравнений, описывающих положение и движения центра масс БПЛА [5]:
В данной системе уравнений тройка координат (H; L; Z) представляет собой координаты положения центра масс летательного аппарата в нормальной земной неподвижной системе координат (п 1.1.1). Перегрузки
n
X
,
13
безынерционным вращающимся объектом
, для которого выполняются условия равенства нулю главных центральных моментов инерции, а следовательно оказываются равны нулю и суммы проекций моментов всех действующих на БПЛА сил относительно его центра масс [2].
Возможность практического применения данной модели дополнительно обосновывается тем, что движение центра масс БПЛА
обладает большой инерционностью, а его колебания вокруг ЦМ вызывают сравнительно малые отклонения траектории полета БПЛА [2], что вписывается в решение поставленной задачи.
Положение центра масс относительно неподвижной земной системы координат определяется следующими
кинематическими уравнениями [1]
:
Совместив полученные уравнения,
получим следующую математическую модель, представляющую собой систему из шести дифференциальных уравнений, описывающих положение и движения центра масс БПЛА [5]:
В данной системе уравнений тройка координат (H; L; Z) представляет собой координаты положения центра масс летательного аппарата в нормальной земной неподвижной системе координат (п 1.1.1). Перегрузки
n
X
,
13
n
Y
и угол крена в данной системе рассматриваются
в качестве управлений
движением ЛА
. Углы
ᵱ и ᵱ задают направление траектории, а именно
‒
касательную к ней. Соответственно они так же задают направление вектора земной скорости V. На рис. 3 ниже показано, как задаётся вектор земной скорости БПЛА и угол крена летательного аппарата:
Рис. 3. Параметры, задающие положение траектории БПЛА в пространстве
14
Y
и угол крена в данной системе рассматриваются
в качестве управлений
движением ЛА
. Углы
ᵱ и ᵱ задают направление траектории, а именно
‒
касательную к ней. Соответственно они так же задают направление вектора земной скорости V. На рис. 3 ниже показано, как задаётся вектор земной скорости БПЛА и угол крена летательного аппарата:
Рис. 3. Параметры, задающие положение траектории БПЛА в пространстве
14
ГЛАВА 2. ЗАДАЧА ТЕРМИНАЛЬНОГО
УПРАВЛЕНИЯ
Рассмотрим задачу терминального управления полётом летательного аппарата, которое приводило бы БПЛА из заданного начального состояния
(V
0
; H
0
; L
0
; Z
0
;
ᵱ
0
;
ᵱ
0
), (
n
X0
;
n
Y0
;
ᵯ
0
) при t=0 в некоторое конечное состояние
(V
*
; H
*
; L
*
; Z
*
;
ᵱ
*
;
ᵱ
*
), (
n
X*
;
n
Y*
;
ᵯ
*
) при t=Δt. Допустим, что Δt уже известно заранее. Заданные состояния называются
граничными условиями задачи терминального управления [5].
2.1 Решение задачи терминального управления
Для того, чтобы получить траекторию, необходимо определить функции L, Z и H, благодаря которым траектория БПЛА и описывается. Для этого воспользуемся обратными методами динамики. Для получения функций управлений введём новые управления по формулам u
1
=
n
X
,
u
2
=
n
Y
*cos(
ᵯ
), u
3
=
n
Y
*sin(
ᵯ
). Тогда уравнения математической модели движения БПЛА являются линейными по новым управлениям:
(2.1.1)
Далее для получения управлений приведём систему дифференциальных уравнений (2.1.1) к каноническому виду, введя новые переменные состояния [4]: x
1
=H, x
2
=L, x
3
=Z, x
4
=V*sin(
ᵱ
), x
5
=V*cos(
ᵱ
)*cos(
ᵱ
), x
6
= V*cos(
ᵱ
)*sin(
ᵱ
).
Заметим, что благодаря данной замене выполняются соотношения
15
Новые переменные состояний с ограничениями {|
ᵱ
|<π/2; |
ᵱ
|<π; V>0}
определяют гладкую невырожденную замену переменных, так как старые переменные состояния могут быть выражены с помощью новых по формулам:
Таким образом,
в новых переменных получаем систему дифференциальных уравнений в каноническом виде:
Выражая x
4
, x
5
, x
6
через x
1
, x
2
, x
3
, можно получить систему из трёх дифференциальных уравнений, которые разрешимы относительно новых управлений:
Из полученного выше следует, что для любой траектории, заданной функциями от времени x
1
(t), x
2
(t), x
3
(t), будут найдены реализующие эту траекторию управления. Однако, задача заключается в поиске траектории,
удовлетворяющей наложенным на неё граничным условиям, поэтому
16
необходимо показать, при каких условиях функции x
1
(t), x
2
(t), x
3
(t) будут подходить под граничные условия. Итак, граничные условия на переменные состояния и на управления определяют граничные значения функций x
1
(t),
x
2
(t), x
3
(t) на концах отрезка времени [0; Δt], а также их первые и вторые производные (граничные условия для новых переменных состояния и управлений легко получить, подставляя изначальные граничные значения задачи в формулы, по которым производилась замена переменных). По сути любые гладкие функции, удовлетворяющие полученным граничным условиям, будут являться решением терминальной задачи.
2.2 Построение пространственной траектории
Ранее было показано (п. 2.1), что для траектории, заданной гладкими функциями x
1
(t), x
2
(t), x
3
(t) и удовлетворяющей условиям, полученных из граничных условий для переменных состояния, обязательно найдутся реализующие её управления. Например, такие функции можно найти среди многочленов пятой степени, в силу того что на каждую функцию накладывается по 6 ограничений. В случае полиномов меньшей степени система получится замкнутой
(не получится подобрать полином,
удовлетворяющий заданным ограничениям). В случае полиномов большей степени получится избыточная система (не получится явно задать коэффициенты полинома).
Допустим, что f(t) ‒полином пятой степени. Следовательно, для него должны выполняться ограничения:
17
1
(t), x
2
(t), x
3
(t) будут подходить под граничные условия. Итак, граничные условия на переменные состояния и на управления определяют граничные значения функций x
1
(t),
x
2
(t), x
3
(t) на концах отрезка времени [0; Δt], а также их первые и вторые производные (граничные условия для новых переменных состояния и управлений легко получить, подставляя изначальные граничные значения задачи в формулы, по которым производилась замена переменных). По сути любые гладкие функции, удовлетворяющие полученным граничным условиям, будут являться решением терминальной задачи.
2.2 Построение пространственной траектории
Ранее было показано (п. 2.1), что для траектории, заданной гладкими функциями x
1
(t), x
2
(t), x
3
(t) и удовлетворяющей условиям, полученных из граничных условий для переменных состояния, обязательно найдутся реализующие её управления. Например, такие функции можно найти среди многочленов пятой степени, в силу того что на каждую функцию накладывается по 6 ограничений. В случае полиномов меньшей степени система получится замкнутой
(не получится подобрать полином,
удовлетворяющий заданным ограничениям). В случае полиномов большей степени получится избыточная система (не получится явно задать коэффициенты полинома).
Допустим, что f(t) ‒полином пятой степени. Следовательно, для него должны выполняться ограничения:
17
Запишем многочлен f(t) в виде:
Очевидно, что при любых значениях параметра C
ij
, полином удовлетворяет граничным условиям при t=0. Чтобы граничные условия выполнялись и при t=Δt, параметры C
ij должны удовлетворять системе,
которую можно легко получить,
записав соотношения условий,
накладываемых на функцию в конечной точке траектории при t=Δt:
Учитывая тот факт, что Δt≠0, можно сказать, что определитель матрицы СЛАУ равен 2(Δt)
9
, а следовательно решение этой системы линейных алгебраических уравнений существует, причём единственное.
Найдя решение, а следовательно x
1
(t), x
2
(t), x
3
(t), можно будет определить функции L(t), Z(t) и H(t), которые определяют пространственную траекторию движения БПЛА, удовлетворяющую начальному и конечному условию задачи терминального управления.
18
ГЛАВА 3. ПОИСК ОПТИМАЛЬНОЙ ТРАЕКТОРИИ
В предыдущей главе было показано, как с помощью полиномов пятой степени можно получить пространственную траекторию
БПЛА,
удовлетворяющую наложенным на неё начальным и конечным условиям на промежутке времени t. Было показано, что время t ‒это единственный параметр, который характеризует вид полиномов, описывающих траекторию полёта в данной задаче.
Из естественных соображений следуют ограничения, накладываемые на переменные состояния и параметры управления летательного аппарата.
Очевидно, что любой БПЛА имеет максимальную и минимальную скорость,
ограничения высоты и т.д. Поэтому введём дополнительные ограничения на переменные состояния:
H
min
≤ H ≤ H
max
; L
min
≤ L ≤ L
max
;
Z
min
≤ Z ≤ Z
max
;
V
min
≤ V ≤ V
max
;
ᵱ
min
≤
ᵱ
≤
ᵱ
max
;
ᵱ
min
≤
ᵱ
≤
ᵱ
max
; и управления: n
X
min
≤
n
X
≤
n
X
max
; n
Y
min
≤
n
Y
≤
n
Y
max
;
ᵯ
min
≤
ᵯ
≤
ᵯ
max
Поиск минимальной по времени движения БПЛА траектории с заданной точностью ε > 0 заключается в переборе по времени t (в порядке возрастания) траекторий, увеличивая время манёвра t на величину
δ > 0
(причём δ ≥
ε
)
. Начальным значением для t (назовём его t
0
) будем считать минимальное время, за которое можно перейти из начального состояния в конечное, двигаясь прямолинейно с максимально возможной скоростью:
Конечным значением для перебора можно считать t
max
= (t
0
+ 5)*15.
Опытным путём было установлено, что полученного значения t
max было достаточно для максимального значения порога перебора, т.е., если искомое
19
время лежало в отрезке [t
0
; t
max
], то оно находилось предложенным ниже алгоритмом, иначе условия, накладываемые на параметры и управления, не удовлетворялись.
Отметим, что на каждом шаге перебора необходимо проверять,
удовлетворяет ли траектория и реализующие её управления условиям,
которые накладываются на решение максимальными и минимальными значениями переменных состояния и управлений. Если была найдена удовлетворяющая граничным условиям траектория ― то необходимо уменьшить соответствующее значение времени t на величину
δ
, а потом уменьшить значение
δ в 2 раза (проводить уменьшение, пока
δ не станет равным ε). Если была найдена траектория, не удовлетворяющая наложенным на неё
ограничениям,
то значение t необходимо увеличить на соответствующую величину
δ.
Первая траектория, которая удовлетворяет этим ограничениям при
δ
=ε,
и есть оптимальная по времени с точностью ε.
20
0
; t
max
], то оно находилось предложенным ниже алгоритмом, иначе условия, накладываемые на параметры и управления, не удовлетворялись.
Отметим, что на каждом шаге перебора необходимо проверять,
удовлетворяет ли траектория и реализующие её управления условиям,
которые накладываются на решение максимальными и минимальными значениями переменных состояния и управлений. Если была найдена удовлетворяющая граничным условиям траектория ― то необходимо уменьшить соответствующее значение времени t на величину
δ
, а потом уменьшить значение
δ в 2 раза (проводить уменьшение, пока
δ не станет равным ε). Если была найдена траектория, не удовлетворяющая наложенным на неё
ограничениям,
то значение t необходимо увеличить на соответствующую величину
δ.
Первая траектория, которая удовлетворяет этим ограничениям при
δ
=ε,
и есть оптимальная по времени с точностью ε.
20
Рис. 4. Блок схема алгоритма поиска оптимальной траектории
21
ГЛАВА 4. РЕАЛИЗАЦИЯ ПРОГРАММНОГО
КОМПЛЕКСА
Для реализации программного комплекса был выбран вычислительный пакет MATLAB в виду удобно реализованных математических операций и наличия огромного количества уже встроенных функций. Аргументом в пользу выбора MATLAB оказалось наличие инструментария разработки интерфейсов для приложений на базе MATLAB, а так же наличие встроенных утилит отрисовки графики.
4.1 Разработка интерфейса и функций в MATLAB
Графический интерфейс программного комплекса был реализован при помощи пакета GUIDE (Graphical User Interface Design Environment) [6].
Интерфейс состоит из:
● полей ввода ограничений на переменные состояния и управления
БПЛА (заполнены заранее для удобства пользователя)
● полей ввода, характеризующих положение и управления БПЛА в начальной и конечной точке траектории
● кнопки, показывающей детальную информацию о переменных состояния
● кнопки, нажатие которой запустит алгоритм поиска оптимальной по времени траектории
● поля, сообщающего о неудаче поиска или о нахождении оптимальной траектории
● поля, показывающего полученное оптимальное время
22
● группы кнопок для отображения пространственной траектории полёта и графиков переменных, описывающих движение БПЛА
по полученной траектории
● группы кнопок для отображения управлений, реализующих полученную траекторию.
Рис. 5. Скриншот интерфейса приложения
При нажатии кнопки «Найти оптимальную траекторию» происходит следующее:
1. Считывание данных из полей ограничений и
полей,
описывающих начальное и конечное положение БПЛА.
2. Запуск реализованной .m функции «
optimum_finder
» (код функции содержится в приложении). Эта функция отвечает за создание переменных, необходимых для работы алгоритма
23
построения траектории, за преобразование переменных, создание логических флагов и за сохранение результатов работы. Если перебор по времени t завершился неудачей и траекторию невозможно было найти на отрезке времени [0; Δt], то функция возвращает логический флаг
flagTimeout = true
3. Далее «
optimum_finder
» в цикле по времени запускает .m функцию «
trajectory_finder
» (код функции содержится в приложении), которая в свою очередь уже занимается решением
СЛАУ (процесс описан в главе 3), поиском численных значений полиномов, описывающих траекторию, поиском значений оставшихся переменных и управлений, необходимых для реализации траектории.
Также эта функция проверяет полученную траекторию на то, удовлетворяет ли она заданным ограничениям и управляет алгоритмом поиска оптимального времени (описано в главе 4). Функция возвращает логический флаг
flagFound = true
, если процесс поиска оптимального значения t с точностью ε был завершён успешно.
4. После завершения выполнения алгоритма поиска оптимальной траектории, соответствующей полученному времени t, в случае нахождения траектории, сохраняются в рабочее пространство приложения все необходимые для графиков данные и выводится время, за которое должен быть совершён манёвр. В случае, когда траектория не может быть найдена, появляется соответствующая надписьуведомление.
24
flagTimeout = true
3. Далее «
optimum_finder
» в цикле по времени запускает .m функцию «
trajectory_finder
» (код функции содержится в приложении), которая в свою очередь уже занимается решением
СЛАУ (процесс описан в главе 3), поиском численных значений полиномов, описывающих траекторию, поиском значений оставшихся переменных и управлений, необходимых для реализации траектории.
Также эта функция проверяет полученную траекторию на то, удовлетворяет ли она заданным ограничениям и управляет алгоритмом поиска оптимального времени (описано в главе 4). Функция возвращает логический флаг
flagFound = true
, если процесс поиска оптимального значения t с точностью ε был завершён успешно.
4. После завершения выполнения алгоритма поиска оптимальной траектории, соответствующей полученному времени t, в случае нахождения траектории, сохраняются в рабочее пространство приложения все необходимые для графиков данные и выводится время, за которое должен быть совершён манёвр. В случае, когда траектория не может быть найдена, появляется соответствующая надписьуведомление.
24