您现在的位置:首页 >> 智能控制 >> 内容

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

时间:2023/5/20 15:49:20 点击:

  核心提示:08_081_m,包括程序操作录像+word版论文+参考文献...

1.完整项目描述和程序获取

>面包多安全交易平台:https://mbd.pub/o/bread/ZJmVmJly

>如果链接失效,可以直接打开本站店铺搜索相关店铺:

点击店铺

>如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。

2.部分仿真图预览




3.算法概述

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

4.部分源码

........................................................

 

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

08_081_m

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168