【无人机设计与技术】设计内部和外部 PID 回路,用于控制四轴飞行器的姿态和位移

摘要

本文设计了一个用于四轴飞行器控制的内部和外部PID回路。外部PID回路控制飞行器的位移,而内部PID回路则用于控制飞行器的姿态。这种控制结构能够有效调节飞行器的姿态和位移,实现平稳飞行并响应给定的轨迹。通过Simulink仿真模型对控制效果进行了验证,结果显示该设计能够稳定飞行器并具有较好的动态响应和稳态误差特性。

理论

四轴飞行器具有复杂的非线性和耦合特性,因此控制其姿态和位移是一项具有挑战性的任务。通过将控制器分为两个PID回路,外部回路控制位置,而内部回路控制姿态,可以有效地分解控制任务。

姿态控制(内部PID回路):姿态角度包括偏航角(Yaw, ψ)、俯仰角(Pitch, θ)和横滚角(Roll, φ)。内部PID控制器的任务是调节这些角度,使得飞行器的姿态稳定。姿态控制器的输入是期望角度和实际角度之间的误差。

位置控制(外部PID回路):位置控制用于调节飞行器在空间中的位置(x, y, z)。通过将期望位置和实际位置之间的误差输入外部PID控制器,生成所需的姿态角度作为内部PID控制器的输入。

PID控制器的公式如下:

实验结果

通过MATLAB Simulink模型进行仿真,飞行器能够稳定在设定的姿态和位移上。下图展示了飞行器在不同时间点的姿态和位移响应。该控制系统的动态响应具有良好的稳定性,且稳态误差较小。飞行器能够跟踪给定的轨迹,姿态角度和位移误差控制在合理范围内。

姿态响应:仿真结果显示,偏航、俯仰和横滚角度能够迅速达到稳定状态,并且稳态误差接近于零。 位移响应:位移响应同样表现出良好的动态特性,飞行器能够按照给定的轨迹移动,且位移误差较小。

部分代码

以下是用于四轴飞行器姿态和位移控制的部分MATLAB代码:

复制代码
% 定义系统参数
Kp_attitude = 1.5;
Ki_attitude = 0.1;
Kd_attitude = 0.5;

Kp_position = 2.0;
Ki_position = 0.2;
Kd_position = 0.6;

% 姿态控制器(内部回路)
phi_error = phi_d - phi;
theta_error = theta_d - theta;
psi_error = psi_d - psi;

u_phi = Kp_attitude * phi_error + Ki_attitude * integral(phi_error) + Kd_attitude * derivative(phi_error);
u_theta = Kp_attitude * theta_error + Ki_attitude * integral(theta_error) + Kd_attitude * derivative(theta_error);
u_psi = Kp_attitude * psi_error + Ki_attitude * integral(psi_error) + Kd_attitude * derivative(psi_error);

% 位置控制器(外部回路)
x_error = x_d - x;
y_error = y_d - y;
z_error = z_d - z;

u_x = Kp_position * x_error + Ki_position * integral(x_error) + Kd_position * derivative(x_error);
u_y = Kp_position * y_error + Ki_position * integral(y_error) + Kd_position * derivative(y_error);
u_z = Kp_position * z_error + Ki_position * integral(z_error) + Kd_position * derivative(z_error);

% 将控制信号输入飞行器模型
QuadcopterModel(u_phi, u_theta, u_psi, u_x, u_y, u_z);

参考文献

  1. Bouabdallah, S., Murrieri, P., & Siegwart, R. (2004). Design and control of an indoor micro quadrotor. Proceedings of the 2004 IEEE International Conference on Robotics and Automation (ICRA), 3, 4393-4398.

  2. Castillo, P., Lozano, R., & Dzul, A. (2005). Modelling and control of mini-flying machines. Springer. Pounds, P., Mahony, R., & Corke, P. (2006). Modelling and control of a quad-rotor robot. Proceedings of the 2006 Australasian Conference on Robotics and Automation (ACRA), 44(4), 299-308.

相关推荐
moonsims4 小时前
Lattice Mesh 如何在 Anduril 的 Fury 无人战机或反无人机系统 中落地应用-扮演“神经系统”和“数据链路桥梁”的核心角色
无人机
AI浩10 小时前
用于无人机目标检测的三模态融合 Transformer
目标检测·transformer·无人机
EW Frontier11 小时前
【分享转发私信免费获取】CounterUAVHub 项目技术方案解析:轻量化静态站点构建无人机反制数据平台【附python代码】
无人机·counteruavhub·无人机反制数据平台
通信仿真爱好者13 小时前
第【19】期--基于监督学习的无人机安全通信的联合轨迹优化与功率分配研究--python完整代码+文档
深度学习·无人机·轨迹优化·物理层安全·功率优化
小O的算法实验室13 小时前
2026年IEEE TVT,基于双四元数运动优化的新型无人机三维路径规划方法及应用
无人机
GIS数据转换器1 天前
城市排水生命线安全运行监测平台深度解析
java·运维·人工智能·python·安全·数据挖掘·无人机
渡之1 天前
GRiM-Net 深度解析 | 无人机 GNSS 拒止场景下两阶段跨视角视觉定位框架
深度学习·算法·动态规划·无人机
海砥装备HardAus1 天前
大载重工业吊运无人机动力学耦合与负载抑制底层控制技术
无人机·pid·工业无人机
YOLO数据集集合2 天前
无人机航拍桥梁巡检数据集 | 桥梁结构缺陷检测 深度学习目标检测数据10338期
深度学习·yolo·目标检测·计算机视觉·无人机
海砥装备HardAus2 天前
工业重载吊运无人机:载荷摆动产生机理与主流抑摆控制方案详解
无人机·pid·加速度·大载重无人机