四旋翼飞行器PD控制算法及其Matlab实现
创作时间:
作者:
@小白创作中心
四旋翼飞行器PD控制算法及其Matlab实现
引用
CSDN
1.
https://blog.csdn.net/Matlab88888/article/details/139558943
四旋翼飞行器是一种受到广泛应用的无人飞行器,其飞行稳定性和控制是实现各种任务的关键。PD(比例-微分)控制是一种常用的控制算法,用于稳定四旋翼飞行器的姿态(姿态角和角速度)。PD控制器由两部分组成:比例(P)和微分(D)部分。比例部分负责根据当前误差(期望值与实际值之间的差异)产生控制输出,其大小与误差成正比。微分部分则根据误差的变化率来调整控制输出,用于抑制系统的震荡和提高响应速度。综合考虑比例和微分部分的影响,PD控制器能够实现快速而稳定的系统响应。在四旋翼飞行器中,PD控制器通常用于控制姿态,即飞行器的倾斜角度和角速度,以实现期望的飞行姿态。通过测量飞行器的姿态和角速度,并与期望值进行比较,PD控制器可以生成适当的控制指令,通过调节电机的转速来稳定飞行器并实现期望的飞行动作。四旋翼飞行器PD控制通过比例和微分控制器的组合,能够实现稳定而高效的飞行姿态控制,为各种应用场景提供了可靠的飞行控制方案。
主函数部分代码:
clc
clear all
close all
global Jtp Ixx Iyy Izz b d l m g Kpz Kdz Kpp Kdp Kpt Kdt Kpps Kdps ZdF PhidF ThetadF PsidF ztime phitime thetatime psitime Zinit Phiinit Thetainit Psiinit Uone Utwo Uthree Ufour Ez Ep Et Eps
% Read the gain values
GainsK = importdata('Gains.mat');
Kpz = GainsK(1,1); % Height P controller
Kdz = GainsK(1,2); % Height D controller
Kpp = GainsK(1,3); % Roll P controller
Kdp = GainsK(1,4); % Roll D controller
Kpt = GainsK(1,5); % Pitch P controller
Kdt = GainsK(1,6); % Pitch D controller
Kpps = GainsK(1,7); % Yaw P controller
Kdps = GainsK(1,8); % Yaw D controller
%
% % % Best Gains of the controllers
%
% Kpp = 30
% Kdp = 5
%
% Kpt = 30
% Kdt = 5
%
% Kpps = 30
% Kdps = 5
%
% Kpz = 40
% Kdz = 12
% % save gains data
% Gains = [Kpz Kdz Kpp Kdp Kpt Kdt Kpps Kdps];
% save('Gains.mat','Gains') % Write the optimal gains in a .mat file
% Quadrotor constants
Ixx = 8.1*10^(-3); % Quadrotor moment of inertia around X axis
Iyy = 8.1*10^(-3); % Quadrotor moment of inertia around Y axis
Izz = 14.2*10^(-3); % Quadrotor moment of inertia around Z axis
Jtp = 104*10^(-6); % Total rotational moment of inertia around the propeller axis
b = 54.2*10^(5-6); % Thrust factor
d = 1.1*10^(-6); % Drag factor
l = 0.24; % Distance to the center of the Quadrotor
m = 1; % Mass of the Quadrotor in Kg
g = 9.81; % Gravitational acceleration
stepsize = 0.01;
t = 0.00000000000000:stepsize:5.00000000000000; % simulation time
% Initial conditions for the Quadrotor
x0 = [];
for i = 1:12,
x0 = [x0;0]; % Initial position is the origin O(0,0,0), linear and angular velocities/accelerations = 0
end
% Initial values
Zinit = 0;
Phiinit = pi/3;
Thetainit = pi/2;
Psiinit = -pi/5;
x0(1) = 3; % Xinit
x0(3) = 4; % Yinit
x0(5) = Zinit; % Zinit
x0(7) = Phiinit; % Phiinit
x0(9) = Thetainit; % Thetainit
x0(11) = Psiinit; % Psiinit
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。
[1]杨瑞,李国洪,李智,等.基于改进蜣螂优化算法的四旋翼自切换控制[J/OL].天津理工大学学报:1-8[2024-06-09].http://kns.cnki.net/kcms/detail/12.1374.n.20240430.0926.014.html.
[2]黄捷,李泽毅.四旋翼无人机编队变换能耗优化仿真教学[J].实验技术与管理,2024,41(04):102-108.DOI:10.16791/j.cnki.sjg.2024.04.015.
热门推荐
亚洲第一大锂辉石单脉矿权今日开标 参与竞标人士和知情人士:参与企业在5家左右
四川轻化工大学奖学金有哪些,一般多少钱?
澳门食安局发布诺如病毒防控指南:食品传播是重要途径,这些预防措施需谨记
帕萨特的保养项目和注意事项
北京购房指南:专家解答五大购房场景
完成增值税申报后发现发票未勾选?这份处理指南请收好
如何在Windows 10中查找保存的密码?这里提供详细的步骤
玄奘唯识法相宗体系的构建,除佛教因素外是更深层次的逻辑学试探
杰夫·蒂格:詹姆斯需要休息一下,我认为他可能会在今年之后退役
詹姆斯赛季结束后如何选择?三种未来情景及顶薪前景详解
“左撇子更聪明”,其实是个谎言?
揭秘!7大绝妙景物描写法,你掌握了几种?让文字‘活’起来!
购买玉石时如何有效辨别真伪的实用技巧与建议
鉴别翡翠玉手镯的四大要素
劳动合同赔偿金的计算标准有哪些
去澳洲悉尼科技大学留学究竟好不好?悉尼科技大学都有哪些优势专业?
狭窄性腱鞘炎诊疗全解析:保守治疗与手术治疗的选择
天穿节:一个关于女娲补天的民俗节日
利好利空继续交织 2025年大宗商品市场能否探底回升?
元朝统治多少年?探秘这个草原帝国的兴衰历程
元朝灭亡的迅速:探究背后的历史原因
曹妃甸特色产品与工艺品:从地理标志到非遗传承
影响期货委托成交速度的关键因素解析
献血=献血浆?根本不是一回事!
双向储能逆变器在多个领域的应用
顺风车主如何接单?接单流程与技巧详解
发展餐饮标准化,推动全产业链定制和均衡营养事业
新中医诊疗古法“新”用 贴近群众解病忧
从康熙开始,满清皇族的血统就不纯正了,已经融入汉族血脉!
鸡蛋和猪肝可以一起吃吗