m基于内外环PD控制算法的四旋翼无人机飞行控制simulink仿真

简介: m基于内外环PD控制算法的四旋翼无人机飞行控制simulink仿真

1.算法仿真效果
matlab2022a仿真结果如下:

0da7370d93358f16d02f5713ae34e0d2_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
a9d7590ec60360c45e207ff883b981c6_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
8e82e04f434b41bddbf45e01dc9ca5a9_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
be1123b9cf981552332700f1544cc5e7_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

2.算法涉及理论知识概要
随着无人飞行器技术的不断发展,其在各个领域有着越来越多的应用,如商业领域通过无人机进行物件派送,在农业领域通过无人机进行农作物的监控,在军事领域通过无人机进行敌情监控等。无人机相对于载人飞机而言,最大的区别是其无人驾驶和自动飞行功能,由于飞行器省去了飞行员的质量,因此其质量较轻,可以充分利用空气动力来抵消大部分自身重量。

   四旋翼飞行器由于其飞行动力来自四个相互独立的电机,因此四旋翼飞行器也被称为四轴飞行器。通过四个电机可以快速实现四旋翼飞行器的起降,任意高度的控制悬停,翻滚飞行以及小曲率转弯等飞行功能。图给出了四旋翼飞行器的实物图和数学模型简化图。

918b8b5234d5fa6c4f758084f060bb1e_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

    四旋翼飞行器的四个电机为十字型等间隔分布。其中第一个电机和第三个电机选择方向为顺时针旋转,第二个电机和第四个电机选择方向为逆时针旋转。通过这四个电机可以给四旋翼飞行器产生四个上升动力,此外也可以通过改变四个电机的旋转速度,是的无人机产生各种不同的飞行动作。如果要保证四旋翼飞行器的飞行状态为悬停状态,那么只要保证四个电机的选择速度相同,且保证四个电机产生的动力和飞行器自身的重力相同就可以实现;如果四个电机产生的动力大于飞行器自身的重量,那么飞行器将上升;如果四个电机产生的动力小于飞行器自身的重量,那么飞行器将下降。如果其中2个电机产生的动力较大,2个电机产生的动力较小,那么飞行器将出现角度切斜的飞行状态。

b089df0e0059702852d1fd633ab9a71a_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
bb9a20de727027c7287a8b57e0256dbe_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

   一种基于内外环的四旋翼飞行器的PD控制系统,将四旋翼飞行器的位置控制系统作为外环控制环节,将四旋翼飞行器的姿态控制系统作为内环控制环节。下面对该控制系统的基本原理和实现方式进行介绍,基于内外环的四旋翼飞行器的PD控制的基本结构如下图所示: 

555cce4c3179ac3891cecb46a8980b94_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

  四旋翼飞行器是无人机中较为常用的一个机种,其具有垂直起飞和降落的功能,其可以在各种复杂地形中进行飞行和起降,随着无人飞行器技术的不断发展,四旋翼飞行器有着越来越多的应用,如农业,商业,军事等多个领域。相对于传统的固定翼飞行器,四旋翼飞行器具有诸多优势,其可靠性较高,机动性较高,使用成本较低。四旋翼飞行器是一种非线性极强的系统。其涉及了多个学科的新的研究领域,包括物理、机械、数学、电力电子、控制算法、传感器、无线通信、数字图像采集等多个领域。

    PID控制器是一种应用及其广发的控制系统,其包括比例控制器,微分控制器以及积分控制三个部分构成,然后通过MATLAB仿真分析了PID控制器中比例参数,微分参数以及积分参数对控制器的影响。当控制反馈误差较大的时候,可以逐渐增加比例参数,适度的减少微分控制参数,并将积分控制可以设置一个较小值甚至为零。当控制反馈误差适中的时候,设置较小的比例参数,同时适当的增加积分参数。当控制反馈误差较小的时候,此时需要设置较大的比例系数和积分系数,并且根据系统的稳定性情况,合理设置微分控制参数。最后介绍了一种基于内外环PD控制器的的四旋翼飞行器控制系统,该控制系统包括位置控制模块,姿态位置转换模块,姿态控制模块,升力反解计算模块以及四旋翼飞行器模块。

3.MATLAB核心程序

c1e94fe8643841212abd3d06d513cd2f_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

```SEL = 3;

if SEL == 1

load data.mat

time11 = A.time;
Roll_des1 = A.signals(1).values;
Pitch_des1 = A.signals(2).values;
Yaw_des1 = A.signals(3).values;

load data0.mat
time10 = A.time;
Roll_des0 = A.signals(1).values;
Pitch_des0 = A.signals(2).values;
Yaw_des0 = A.signals(3).values;

figure;
plot(time10(1:10:end),Roll_des0(1:10:end),'b','linewidth',2);
hold on
plot(time11,Roll_des1,'r','linewidth',2);
xlabel('times');
ylabel('Roll');
legend('PID控制器','内外环PD控制器');
grid on

figure;
plot(time10(1:10:end),Pitch_des0(1:10:end),'b','linewidth',2);
hold on
plot(time11,Pitch_des1,'r','linewidth',2);
xlabel('times');
ylabel('Pitch');
legend('PID控制器','内外环PD控制器');
grid on

end

if SEL == 3

load data.mat
time1 = E.time;
x1 = E.signals(1).values;
y1 = E.signals(2).values;
z1 = E.signals(3).values;

load data0.mat
time0 = E.time;
x0 = E.signals(1).values;
y0 = E.signals(2).values;
z0 = E.signals(3).values;

figure;
plot(time0(1:10:end),x0(1:10:end),'b','linewidth',2);
hold on
plot(time1,x1,'r','linewidth',2);

xlabel('times');
ylabel('x');
legend('PID控制器','内外环PD控制器');
grid on

figure;
plot(time0(1:10:end),y0(1:10:end),'b','linewidth',2);
hold on
plot(time1,y1,'r','linewidth',2);
xlabel('times');
ylabel('y');
legend('PID控制器','内外环PD控制器');
grid on

figure;
plot(time0(1:10:end),z0(1:10:end),'b','linewidth',2);
hold on
plot(time1,z1,'r','linewidth',2);
xlabel('times');
ylabel('z');
legend('PID控制器','内外环PD控制器');
grid on

figure;
plot3(x0,y0,z0,'b','linewidth',2);
hold on
plot3(x1,y1,z1,'r','linewidth',2);
legend('PID控制器','内外环PD控制器');
xlabel('x');
ylabel('y');
zlabel('z');
grid on

end

if SEL ==2
load data0.mat
time0 = F.time;
fai0 = F.signals(1).values;
theta0 = F.signals(2).values;
psi0 = F.signals(3).values;
load data.mat
time1 = F.time;
fai1 = F.signals(1).values;
theta1 = F.signals(2).values;
psi1 = F.signals(3).values;

figure;
plot(time0(1:10:end),fai0(1:10:end),'b','linewidth',2);
hold on
plot(time1,fai1,'r','linewidth',2);
xlabel('times');
ylabel('横滚角');
legend('PID控制器','内外环PD控制器');
grid on
figure;
plot(time0(1:10:end),theta0(1:10:end),'b','linewidth',2);
hold on
plot(time1,theta1,'r','linewidth',2);

xlabel('times');
ylabel('俯仰角');
legend('PID控制器','内外环PD控制器');
grid on
figure;
plot(time0(1:10:end),psi0(1:10:end),'b','linewidth',2);
hold on
plot(time1,psi1,'r','linewidth',2);
legend('PID控制器','内外环PD控制器');

xlabel('times');
ylabel('偏航角');
grid on
end
```

相关文章
|
2月前
|
算法
基于MPPT算法的光伏并网发电系统simulink建模与仿真
本课题基于MATLAB/Simulink搭建光伏并网发电系统模型,集成PV模块、MPPT算法、PWM控制与并网电路,实现最大功率跟踪与电能高效并网。通过仿真验证系统在不同环境下的动态响应与稳定性,采用SVPWM与电流闭环控制,确保输出电流与电网同频同相,满足并网电能质量要求。
|
3月前
|
传感器 机器学习/深度学习 算法
【UASNs、AUV】无人机自主水下传感网络中遗传算法的路径规划问题研究(Matlab代码实现)
【UASNs、AUV】无人机自主水下传感网络中遗传算法的路径规划问题研究(Matlab代码实现)
117 0
|
2月前
|
机器学习/深度学习 算法 数据可视化
基于MVO多元宇宙优化的DBSCAN聚类算法matlab仿真
本程序基于MATLAB实现MVO优化的DBSCAN聚类算法,通过多元宇宙优化自动搜索最优参数Eps与MinPts,提升聚类精度。对比传统DBSCAN,MVO-DBSCAN有效克服参数依赖问题,适应复杂数据分布,增强鲁棒性,适用于非均匀密度数据集的高效聚类分析。
|
2月前
|
开发框架 算法 .NET
基于ADMM无穷范数检测算法的MIMO通信系统信号检测MATLAB仿真,对比ML,MMSE,ZF以及LAMA
简介:本文介绍基于ADMM的MIMO信号检测算法,结合无穷范数优化与交替方向乘子法,降低计算复杂度并提升检测性能。涵盖MATLAB 2024b实现效果图、核心代码及详细注释,并对比ML、MMSE、ZF、OCD_MMSE与LAMA等算法。重点分析LAMA基于消息传递的低复杂度优势,适用于大规模MIMO系统,为通信系统检测提供理论支持与实践方案。(238字)
|
3月前
|
机器学习/深度学习 算法 安全
【无人机三维路径规划】基于非支配排序的鱼鹰优化算法NSOOA求解无人机三维路径规划研究(Matlab代码实现)
【无人机三维路径规划】基于非支配排序的鱼鹰优化算法NSOOA求解无人机三维路径规划研究(Matlab代码实现)
108 0
|
3月前
|
算法 数据建模 调度
【INC-MPPT】增量导纳算法追踪光伏的最大功率点用于光伏的并网接入研究(Simulink仿真实现)
【INC-MPPT】增量导纳算法追踪光伏的最大功率点用于光伏的并网接入研究(Simulink仿真实现)
124 0
|
2月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
243 0
|
2月前
|
数据采集 分布式计算 并行计算
mRMR算法实现特征选择-MATLAB
mRMR算法实现特征选择-MATLAB
178 2
|
3月前
|
传感器 机器学习/深度学习 编解码
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
217 3
|
3月前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
154 6

热门文章

最新文章