news 2026/9/6 16:22:38

基于PD控制器的四旋翼无人机研究(Matlab代码实现)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于PD控制器的四旋翼无人机研究(Matlab代码实现)

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

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

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

💥1 概述

近年来,无人机( UAV) 越来越多地应用于环保、电力、交通、测绘、安防、农业等民用领域。随着现代技术的进步,特别是人工智能技术的快速发展,未来无人机 + 行业应用的模式具有广阔的应用前景。目前无人机的智能化水平还有待提高,许多应用背后都有无人机操作员在控制无人机,要提高无人机的自动化和智能化水平,还需科研工作者进行大量研究。

四旋翼无人机是 MIMO 系统,其动力学模型,可表示为:

系统方框图如图 1 所示。外环产生指令信号 θd 和 ψd ,并将其传递至内环系统,采用双环控制方法设计内外环的控制律。

本文的程序为AscTec 鹈鹕四旋翼无人机的 PD 控制器的增益,并使用它们来控制四旋翼飞行器所需的高度、横滚、俯仰和偏航角。阶跃响应在不同的时刻开始。为所有变量提供比较值(过冲、上升时间和SS误差)。

一、引言

四旋翼无人机作为一种多旋翼无人机,因其结构简单、操控灵活、垂直起降及高机动性等特点,在军事侦察、航拍、农业植保、电力巡线等领域得到广泛应用。然而,四旋翼无人机本质上是一个非线性、强耦合、欠驱动的多输入多输出(MIMO)系统,飞行过程中易受外部扰动影响,这对控制系统的设计提出了极高要求。PD(比例-微分)控制作为一种经典线性控制方法,因其结构简单、易于实现且鲁棒性较好,被广泛应用于四旋翼无人机的姿态与位置控制中。

二、PD控制器原理

PD控制器由比例(P)和微分(D)两部分组成:

  • 比例部分:根据当前误差(期望值与实际值之间的差异)产生控制输出,其大小与误差成正比。比例项能够快速响应偏差,使系统向目标值靠近。
  • 微分部分:根据误差的变化率来调整控制输出,用于抑制系统的震荡和提高响应速度。微分项能够预测系统的变化趋势,提前调整控制量,减少超调并改善系统的动态性能。

PD控制器的控制规律为:

u(t)=Kp​⋅e(t)+Kd​⋅dtde(t)​

其中,u(t) 为控制输出,e(t) 为误差,Kp​ 为比例增益,Kd​ 为微分增益。

三、四旋翼无人机动力学模型

四旋翼无人机的动力学模型可分解为平移运动和旋转运动两部分:

  • 平移运动:描述无人机在惯性坐标系下的位置变化,受升力和重力影响。
  • 旋转运动:描述无人机在机体坐标系下的姿态变化,受螺旋桨产生的力矩和转动惯量影响。

无人机是一个刚体,螺旋桨产生的拉力与电机转速的平方成正比。机体质量均匀分布,采用分层控制或解耦控制的思想设计控制器,将姿态控制作为内环,位置控制作为外环。

四、基于PD控制器的四旋翼无人机控制设计
1. 控制架构

采用内外环控制结构:

  • 内环(姿态环):控制无人机的姿态角(横滚角 ϕ、俯仰角 θ、偏航角 ψ),实现稳定飞行。
  • 外环(位置环):控制无人机的空间位置(x,y,z),通过调整姿态角实现位置跟踪。
2. 姿态控制

姿态控制的目标是使无人机的实际姿态跟踪期望姿态。将期望姿态与实际姿态的偏差作为姿态PD控制器的输入,控制器的输出为相应的控制力矩,通过调节四个旋翼的转速来产生所需的控制力矩。

例如,对于横滚角控制:

  • 期望横滚角 ϕd​ 与实际横滚角 ϕ 的偏差 eϕ​=ϕd​−ϕ 经过比例和微分运算后,得到横滚控制力矩 τϕ​。
  • 通过改变左右旋翼的转速差来产生该力矩,使横滚角逐渐趋近于期望横滚角。
3. 位置控制

位置控制的目标是使无人机的实际位置跟踪期望位置。位置PD控制器的输入为期望位置与实际位置的偏差,输出为期望姿态(主要是滚转角和俯仰角),将该期望姿态作为姿态PD控制器的输入,通过姿态控制来实现位置的控制。

例如,对于 x 方向位置控制:

  • 期望 x 坐标 xd​ 与实际 x 坐标 x 的偏差 ex​=xd​−x 经过比例和微分运算后,得到期望滚转角 ϕd​。
  • 姿态PD控制器根据该期望滚转角与实际滚转角的偏差产生滚转控制力矩,使飞行器在 x 方向上的位置逐渐趋近于期望位置。
五、仿真与实验验证
1. 仿真平台搭建

使用MATLAB/Simulink搭建四旋翼无人机的动力学模型,并设计PD控制器。仿真模型包括:

  • 无人机模型:模拟四旋翼无人机的动态特性,包括质量、惯性矩、旋翼转速等参数。
  • PD控制器:根据目标值和实际值的差值,计算控制量,用于调整无人机的姿态和位置。
  • 传感器模型:模拟无人机上的传感器,如陀螺仪、加速度计、GPS等,提供姿态和位置信息。
  • 执行器模型:模拟无人机的旋翼,根据控制量调整旋翼转速,实现姿态和位置调整。
2. 参数调整与优化

PD控制器的性能严重依赖于比例增益 Kp​ 和微分增益 Kd​ 的选取。参数调节是一个迭代优化的过程,可以通过试凑法、Ziegler-Nichols法或其他优化算法进行。

  • 先调内环(姿态控制):单独调节姿态控制器的增益,使其能够快速稳定地跟踪期望姿态。
  • 再调外环(位置控制):在姿态控制器稳定的基础上调节位置控制器的增益,使其能够快速准确地跟踪期望位置。
3. 仿真结果分析

通过仿真验证PD控制器在四旋翼无人机飞行控制中的有效性。仿真结果表明,合适的PD增益能够使无人机在较短时间内达到稳定状态,且具有较小的超调和稳态误差。微分项的存在有助于抑制振荡,提高系统的稳定性。

4. 实际飞行测试

在仿真验证的基础上,进行实际飞行测试,验证控制算法在实际应用中的效果,并根据测试结果进行参数调整和优化。

六、PD控制器的优缺点及改进方向
1. 优点
  • 结构简单:易于实现,计算量小,对硬件要求低,适合在嵌入式系统中应用。
  • 响应快速:无积分项延迟,对突发干扰(如阵风导致的姿态偏移)能快速修正,响应时间通常≤0.1s,适合动态飞行场景。
  • 抗超调能力强:微分项通过抑制误差变化率,有效减少姿态或位置调整过程中的超调。
2. 缺点
  • 无法消除稳态误差:对于持续干扰(如电机推力不平衡导致的微小偏航角),PD控制因无积分项,难以完全消除稳态误差。
  • 对模型参数敏感:PD参数需与四旋翼动力学参数匹配,当参数变化(如挂载payload导致质量增加)时,控制性能下降。
  • 噪声放大风险:微分项对传感器噪声敏感,可能导致控制指令震荡,增加能耗与机械损耗。
3. 改进方向
  • 结合机器学习:利用机器学习(如强化学习)在线优化PD参数,适应复杂动态场景(如高速飞行、负载变化)。
  • 与非线性控制方法结合:在大角度机动时保持PD控制的简洁性与非线性控制的全局稳定性。
  • 开发轻量化PD控制算法:针对微型四旋翼(如200g以下)开发轻量化PD控制算法,在算力受限的情况下平衡控制精度与能耗。
七、结论与展望

PD控制作为一种经典的控制方法,在四旋翼无人机控制中具有重要的应用价值。通过合理设计PD控制系统和整定控制器参数,可以实现四旋翼无人机的稳定飞行和精准控制。随着控制理论的不断发展,PD控制与其他先进控制方法的结合将为四旋翼无人机的控制带来更好的性能。未来,四旋翼无人机将在更多领域得到广泛应用,其控制技术也将不断进步和完善。

📚2 运行结果

运行视频

基于PD控制器的四旋翼无人机研究(Matlab代码实现)_哔哩哔哩_bilibili

基于PD控制器的四旋翼无人机研究(Matlab代码实现)

部分代码:

% 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

🎉3参考文献

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

[1]杨宗月,时正华.四旋翼无人机非线性轨迹跟踪控制[J].计算机与现代化,2023(04):95-100.

[2]宋志强,方武,刘孝赵.基于PD控制的四旋翼无人机着陆控制研究[J].计算机应用与软件,2020,37(09):324-327.

[3]刘栩粼,胡德清.基于前馈补偿的PD四旋翼无人机轨迹跟踪控制[J].舰船电子工程,2022,42(07):55-60.

🌈4 Matlab代码实现

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/21 21:11:31

RVC语音克隆入门教程:3步完成模型训练,轻松制作AI翻唱作品

RVC语音克隆入门教程:3步完成模型训练,轻松制作AI翻唱作品 1. 引言:从声音模仿到声音创造 你有没有想过,让AI用你喜欢的歌手声音来唱你写的歌?或者,把你自己的声音变成电影角色的音色,给短视频…

作者头像 李华
网站建设 2026/9/4 9:26:32

深入解析CODESYS自由编码器:从基础配置到高级应用

1. 初识自由编码器:它到底是什么,能帮你做什么? 如果你刚开始接触CODESYS,尤其是涉及到运动控制部分,听到“自由编码器”这个词可能会有点懵。这名字听起来挺玄乎,但说白了,它就是一个虚拟的、可…

作者头像 李华
网站建设 2026/8/22 21:13:56

嵌入式AI桌面机器人状态驱动架构设计

1. 桌面AI机器人系统架构解析:从状态建模到多模态响应控制在嵌入式AI边缘设备开发中,“桌面AI机器人”这类交互式终端已突破传统单任务控制器范畴,演变为融合感知、决策、执行与呈现的闭环系统。本项目所实现的“AI小智绝区零桌面小电视”&am…

作者头像 李华
网站建设 2026/9/2 23:33:12

茉莉花插件:Zotero中文文献管理效率提升指南

茉莉花插件:Zotero中文文献管理效率提升指南 【免费下载链接】jasminum A Zotero add-on to retrive CNKI meta data. 一个简单的Zotero 插件,用于识别中文元数据 项目地址: https://gitcode.com/gh_mirrors/ja/jasminum 一、痛点诊断&#xff1a…

作者头像 李华
网站建设 2026/8/31 5:46:50

3分钟解锁WeMod全功能:开源工具本地部署指南

3分钟解锁WeMod全功能:开源工具本地部署指南 【免费下载链接】Wemod-Patcher WeMod patcher allows you to get some WeMod Pro features absolutely free 项目地址: https://gitcode.com/gh_mirrors/we/Wemod-Patcher 价值主张:免费获取专业游戏…

作者头像 李华
网站建设 2026/9/3 15:59:12

XXMI-Launcher:告别多游戏模组管理烦恼的开源工具

XXMI-Launcher:告别多游戏模组管理烦恼的开源工具 【免费下载链接】XXMI-Launcher Modding platform for GI, HSR, WW and ZZZ 项目地址: https://gitcode.com/gh_mirrors/xx/XXMI-Launcher XXMI-Launcher 是一款专为二次元游戏玩家设计的开源模组管理平台&a…

作者头像 李华