[Самолет] Моделирование ПИД-управления квадрокоптера на основе Matlab [включая исходный код Matlab, выпуск 1277]

MATLAB

Во-первых, четырехроторный самолет Profile

0 ПредисловиеБлагодаря своим преимуществам вертикального взлета и посадки, высокой маневренности и удобной эксплуатации квадрокоптеры широко использовались в военных и гражданских целях, что стало предметом исследований многих ученых. Квадротор — это нелинейная, сильно связанная система с недостаточным приводом, имеющая четыре входа и шесть выходов. Его точность управления ориентацией и проблемы защиты от помех всегда были в центре внимания исследований. В настоящее время наиболее распространенные алгоритмы управления воздушным судном в Китае в основном включают: метод обратного шага, адаптивное управление, управление H, управление скользящим режимом, управление активным подавлением помех и т. д., которые имеют важное теоретическое и практическое значение для реализации управления ориентацией самолета. квадрокоптер. В литературе предлагается использовать алгоритм обратного шага для настройки законов управления четырьмя подсистемами летательного аппарата вверх и вниз, вперед и назад, влево и вправо и рысканья, чтобы реализовать точное отслеживание заданной траектории квадрокоптера. . В процессе построения функции Ляпунова алгоритм основан на предположении, что ее производная меньше нуля, поэтому его применение ограничено. Ввиду проблем традиционного дискретного линейного скользящего режима, применяемого в управлении квадрокоптером, таких как большая ошибка слежения, низкая скорость отклика и невозможность сходимости за конечное время, предлагается адаптивный дискретный терминальный скользящий режим с компенсацией наблюдателя помех, чтобы сделать время отклика быстрее. , Эффект отслеживания более идеален, а надежность выше. В литературе наблюдатель состояния линейного расширения используется для оценки внутренней неопределенной помехи и внешней помехи квадрокоптера в реальном времени, а затем используется управление с обратной связью по линейному состоянию для компенсации расчетного значения возмущения в режиме онлайн, чтобы реализовать управление ориентацией квадрокоптера.

1 Создание динамической модели квадрокоптера 1.1 Силовой анализ квадрокоптераДля каждого винта самолета профиль асимметричен: при вращении ротора скорость воздуха на верхней поверхности больше, чем на нижней, поэтому давление воздуха на верхней поверхности меньше, чем на нижней поверхности, а разница давлений между верхней и нижней поверхностями образует подъемную силу, как показано на рис. 1. Покажите. Роторы 1 и 3 вращаются против часовой стрелки, а роторы 2 и 4 вращаются по часовой стрелке. Согласно теории импульса элемента лопасти, подъемная сила Fi, создаваемая каждым ротором, пропорциональна квадрату скорости двигателя ωi, то есть Fi=kFω2i (i=1, 2, 3, 4), где kF — коэффициент подъемной силы. .在这里插入图片描述Рис.1 Диаграмма силового анализа квадрокоптера Когда ротор вращается, сопротивление воздуха препятствует его вращению. Это сопротивление образует антикрутящий момент, действующий на тело.Когда четыре ротора вращаются с одинаковой скоростью, противодействующие моменты, создаваемые роторами, уравновешивают друг друга. Квадротор может управлять своим движением, изменяя скорость вращения двух пар передних и задних винтов. При условии, что скорости вращения четырех винтов равны, увеличение или уменьшение скорости вращения четырех винтов одновременно может привести к подъему или снижению самолета. Если сумма подъемной силы, создаваемой четырьмя роторами, равна силе тяжести тела, самолет может зависнуть в воздухе. Скорость вращения роторов 2 и 4 оставить неизменной, а скорость вращения ротора 1 или ротора 3 изменить. Под действием момента l(F3-F1) или l(F1-F3) (где l - расстояние от двигателя оси к центру самолета), возможно наклонное движение. При неизменной частоте вращения несущего винта 1 и несущего винта 3 и изменении частоты вращения несущего винта 2 или несущего винта 4 самолет может совершать креновое движение под действием момента l(F4-F2) или l(F2-F4). Если скорость вращения несущего винта 1 и несущего винта 3 изменить одновременно или скорость вращения несущего винта 2 и 4 изменить одновременно, а общая подъемная сила самолета остается равной силе тяжести тела , самолет будет совершать рыскание под действием противодействующего крутящего момента. Можно видеть, что подъемная сила для реализации вертикального движения самолета и вращательный момент для реализации движения по тангажу, крену и рысканью могут быть выражены как在这里插入图片描述В формуле: F——подъемная сила вертикального движения самолета; Mx, My, Mz - вращательные моменты квадрокоптера по тангажу, крену и рысканию; kF - коэффициент подъемной силы; kM — коэффициент момента вращения.

1. 2 создание кинетической моделиДля описания пространственного положения и состояния движения самолета необходимо ввести географическую систему координат n(X, Y, Z) и несущую систему координат b(x, y, z). Географическая система координат также называется системой координат северо-восточного неба.Система координат авианосца привязана к самолету, а начало координат - центр самолета. Начало географической системы координат и несущей системы координат совпадают, а несущую систему координат можно получить, повернув географическую систему координат вокруг осей X, Y и Z соответственно. Матрица преобразования из географической системы координат в система координат носителя может быть выражена как在这里插入图片描述 在这里插入图片描述Из уравнений (5) и (2) можно получить вектор подъемной силы несущего винта в направлениях осей X, Y и Z самолета в географической системе координат n:在这里插入图片描述 在这里插入图片描述В процессе малоскоростного полета вектор угловой скорости мал, и второй член в левой части уравнения (8) можно приближенно считать равным нулю, тогда уравнение (8) можно упростить как在这里插入图片描述Преобразуйте формулу (10), чтобы получить:在这里插入图片描述Из уравнений (7) и (11) можно получить нелинейную динамическую модель квадрокоптера в условиях малоскоростного полета:在这里插入图片描述Из уравнения (12) видно, что прямолинейное движение квадрокоптера не влияет на угловое движение, но угловое движение будет влиять на линейное движение. Принимая u1, u2, u3 и u4 в качестве входных данных системы, путем изменения значений этих четырех входных переменных можно изменить три линейных смещения и три угловых смещения самолета, тем самым реализуя управление движением самолета.

2 Построение и моделирование системы управления квадрокоптераКлассический ПИД-алгоритм имеет простую структуру, проектирует закон обратной связи по отклонению, не зависит от конкретной математической модели объекта управления и обладает хорошими характеристиками во многих процессах управления. Хотя постоянно появляются различные новые алгоритмы управления, доминирующее положение алгоритма ПИД-регулирования в промышленном управлении не изменилось. В данной работе, исходя из ситуации, когда квадрокоптер часто сталкивается с неопределенными внешними возмущениями во время полета, разработан ПИД-регулятор на основе малых возмущений, как показано на рисунке 2.在这里插入图片描述Рис. 2 Структурная схема ПИД-регулятора在这里插入图片描述

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

在这里插入图片描述

clc
clear all
close all

%% 开始仿真
sim('PID_control_for_a_quadrotor');
figure('name','垂直速率随时间变化曲线')
plot(t,dzn,'b:',t,dz,'r-','Linewidth',2);
xlabel('时间(s)');
ylabel('垂直速率(m/s)');
legend('期望','实际');
title('垂直速率随时间变化曲线');
grid on;

figure('name','俯仰角速率随时间变化曲线')
plot(t,dthetan,'b:',t,dtheta,'r-','Linewidth',2);
xlabel('时间(s)');
ylabel('俯仰角速率(rad/s)');
legend('期望','实际');
title('俯仰角速率随时间变化曲线');
grid on;

figure('name','滚转角速率随时间变化曲线')
plot(t,dphin,'b:',t,dphi,'r-','Linewidth',2);
xlabel('时间(s)');
ylabel('滚转角速率(rad/s)');
legend('期望','实际');
title('滚转角速率随时间变化曲线');
grid on;

figure('name','偏航角速率随时间变化曲线')
plot(t,dpsin,'b:',t,dpsi,'r-','Linewidth',2);
xlabel('时间(s)');
ylabel('偏航角速率(rad/s)');
legend('期望','实际');
title('偏航角速率随时间变化曲线');
grid on;


3. Результаты операции

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

4. Версия Matlab и ссылки

1 матлаб версия 2014a

2 ссылки[1] Bao Ziyang, Yu Jizhou, Yang Shan, Интеллектуальный алгоритм оптимизации и его пример в MATLAB (2-е издание) [M], Electronic Industry Press, 2016. [2] Zhang Yan, Wu Shuigen, Исходный код алгоритма оптимизации MATLAB [M], Tsinghua University Press, 2017. [3] Чжан Пин, Моделирование управления ориентацией и симуляция квадрокоптера [J], Приложение «Двигатель и управление», 2019, 46(12) [4] Лю Янь, Ян Му. Исследование и разработка системы управления полетом квадрокоптера [J]. Промышленные технологии Шаньдун, 2019, (07)