zl程序教程

您现在的位置是:首页 >  其他

当前栏目

四旋翼飞行器建模与PID控制器设计(Matlab&Simulink)

ampMATLAB建模 设计 控制器 pid simulink
2023-09-14 09:05:24 时间

 👨‍🎓个人主页:研学社的博客   

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

四旋翼飞行器可简称为四旋翼,其研究历史悠久。仅在 1903 Wright Brothers 首次成功试飞世界上第一架飞机后的第 4 年,法国 Breguet 兄弟就制造了第一架以燃油发动机为动力的旋翼式直升机 Gyroplane 一号,如图 1-5 所示。 1921 年美国空军 Dayton基地工程师设计制造另一型号四旋翼直升机进行飞行试验。1924 年法国工程师设计制造的 Oehmichen 2 号被认为是第一架可靠、实用的垂直起降飞行器,如图 1-6 所示,其先后执行了上千余次飞行试验,并且能够十四分钟内完成 1000m 航距的绕飞。1956 年美国工程师设计制造了 Convertawings 号四旋翼直升机,并采用分散控制法控制螺旋桨推力实现飞行器的稳定飞行。然而,在此后的几十年中,由于四旋翼飞行器各方面的技术限制,使其体积庞大,控制系统效率低下且稳定性差,难以精确控制飞行状态,因此始
终不具备实际的应用价值,发展缓慢。直到 2000 年左右,伴随新材料、动力系统、轻 型 MEMS 传感器以及计算机技术的快速发展,四旋翼飞行器的研究设计才获得极大的 进步。

PID 控制法是最早发展与应用的控制方法,因其算法简单、参数整定难度较小、工作可靠、易于实现,被广泛应用于各工业控制领域中。PID 控制作为经典的控制算法,其对模型确定的线性系统具有较好的控制效果,而对四旋翼飞行器这类难以精确建模、强耦合、非线性的系统,常规 PID 控制难以满足设计要求,因而采用各种改进的 PID 控制方法。如文献[9] 设计了一种微分 PID 控制器,可以抑制四旋翼自身或外界的高频信号干扰,却不会降低响应的速度。文献[10] 根据专家经验编辑模糊规则,设计模糊 PID 控制器对姿态进行控制,通过实验证实此控制器比普通的 PID 控制器控制性能更优。文献[11]针对移动目标跟踪的问题设计了一种模糊 PI 控制算法,不管是在室内和室外、白天或晚上都可以跟踪速度不断变化的目标,通过四旋翼飞行器移动目标跟踪实验证明了此
算法的有效性。文献 [12] 提出了一种基于反步法的 PID 非线性控制策略,该策略包括反馈线性化、线运动的 PD 控制器、旋转运动的基于反步法的 PID 控制器,通过仿真证明了该非线性控制策略在四旋翼飞行器动态调节控制中的有效性。文献[13] 在线性 PID 控制系统中加入惯性力矩补偿项以消除一些非线性影响因素,通过仿真与物理实验表明此非线性 PID 控制系统能使飞行器在有限干扰下获得良好的姿态控制效果。文献 [14] 设计了一种强鲁棒性的 PID 控制器,它的鲁棒性是通过加权互补灵敏度函数的范数来保证。

📚2 运行结果

 

 

​ 

可视化代码:

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 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]袁琨.四旋翼飞行器建模与控制器设计研究[J].中国设备工程,2023(06):114-116.

[2]曹仁赢. 四旋翼飞行器控制系统设计与研究[D].华东交通大学,2020.DOI:10.27147/d.cnki.ghdju.2020.000343.

🌈4 Matlab代码实现