1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 基于PID控制的四旋翼飞行器仿真(Matlab代码实现)

基于PID控制的四旋翼飞行器仿真(Matlab代码实现)

时间:2020-01-02 08:23:37

相关推荐

基于PID控制的四旋翼飞行器仿真(Matlab代码实现)

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

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

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

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现

💥1 概述

近几年,随着科技发展,各种传感器技术和通信技术不断突破,无人机技术也发展迅速,在军事侦察、交通巡逻、景色航拍、高空电缆巡检等诸多应用领域已经发挥了重要的作用。四旋翼无人机以其具有的操作灵活、地形上限制小、携带时方便以及成本低廉等特点,更加紧密贴近了我们的日常生活,因此,对无人机进行研究具有很大的学术价值和意义。

传统的PID由比例、积分、微分三部分组成,通过调节Kp、Ki、Kd的数值可以实现不同的控制效果如图所示。PID控制算法的核心是用偏差来消除偏差,该算法可以对控制系统进行有效的估计:

📚2 运行结果

部分代码:

I = [Ixx 0 0;0 Iyy 0;0 0 Izz];

Jtp = 104e-6;

Ke = 6.3e-3;

Km = 6.3e-3;

L = 15e-6;

b = 54.2e-6;

l = 0.24;

g = 9.81;

n = 0.9;

N = 5.6;

h = 1e-3;

R = 0.6;

d = 1.1e-6; % drag factor

% Motor Controller Design

Kp_position = 5;

Ki_position = 0;

Kd_position = 10;

Kp_angle = 5*2;

Ki_angle = 0;

Kd_angle = 10*2;

Kp_motor = 1;

Ki_motor = 10;

Kd_motor = 0;

%w'=Apw+Bpv+Cp

Ap = -22.5;

Bp = 509;

Cp = 489;

a1 = Ap;

b1 = Bp;

c1 = 1;

d1 = 0;

sys_c_m = ss(a1,b1,c1,d1);

Gc_m = tf(sys_c_m);

sys_d_m = c2d(sys_c_m,h,'zoh');

Gd_m = tf(sys_d_m);

Cc_m = tf([Kp_motor Ki_motor],[1 0]);

sys_c_mctrl = ss(Cc_m);

sys_d_mctrl = c2d(sys_c_mctrl,h,'tustin');

Cd_m = tf(sys_d_mctrl);

LGd_m = Gd_m*Cd_m;

Td_m = feedback(LGd_m,1);

figure(1)

margin(LGd_m)

hold on

grid on

figure(2)

step(Td_m)

hold on

grid on

num = [1];

den = [1 0 0];

Gc_p = tf(num,den);

sys_c_p = ss(Gc_p);

sys_d_p = c2d(sys_c_p,h,'zoh');

Gd_p = tf(sys_d_p);

🎉3 参考文献

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

[1]耿增显,孟庆茂,赵嶷飞,韩红蓉. 基于Simulink四旋翼无人机PID控制[C]//.第九届中国指挥控制大会论文集.,:540-545.DOI:10.26914/kihy..011229.

[2]汪震东,张艳.四旋翼无人机预测-PID复合控制研究[J].控制工程,,28(07):1390-1397.DOI:10.14107/ki.kzgc.0156.

[3]李国洪,卫鹏飞,高冉.基于四旋翼无人机的粒子群PID控制研究[J].工业控制计算机,,35(02):102-104.

🌈4 Matlab代码实现

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。