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

1.算法仿真效果

matlab2022a仿真结果如下:



2.算法涉及理论知识概要

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


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


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


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


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


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


3.MATLAB核心程序



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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 230,825评论 6 546
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 99,814评论 3 429
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 178,980评论 0 384
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 64,064评论 1 319
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 72,779评论 6 414
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 56,109评论 1 330
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 44,099评论 3 450
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 43,287评论 0 291
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 49,799评论 1 338
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 41,515评论 3 361
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 43,750评论 1 375
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 39,221评论 5 365
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 44,933评论 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 35,327评论 0 28
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 36,667评论 1 296
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 52,492评论 3 400
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 48,703评论 2 380

推荐阅读更多精彩内容