💥💥💞💞歡迎來到本部落格❤️❤️💥💥
🏆部落客優勢:🌞🌞🌞部落格内容盡量做到思維缜密,邏輯清晰,為了友善讀者。
⛳️座右銘:行百裡者,半于九十。
目錄
💥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 參考文獻
部分理論來源于網絡,如有侵權請聯系删除。