【无人机设计与技术】设计内部和外部 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.

相关推荐
daad77714 小时前
记录无人机的compass
无人机
CS_Zero2 天前
无人机避障仿真系统:Gazebo+PX4+ROS2+Fast-LIO2+SUPER框架联调
无人机·ros2
灵翼飞航科技有限公司2 天前
2026款WF-EN系列多功能发动机测试台(适用DLE、林巴赫、Rotax等发动机)
功能测试·测试工具·无人机
24年生活经验_小旻18 天前
ROS2+Ardupilot+Gazebo通信仿真基本环境搭建
无人机
嘉子的秃头日记19 天前
TRO 2026|无人机能不能像积木一样,拼出不同形态?
无人机
YOLO数据集集合20 天前
无人机航拍地质灾害智能识别 山体滑坡实例分割数据集落地实战 | 泥石流监测 道路险情封堵 深度学习模型训练方案10296期
人工智能·深度学习·yolo·目标检测·无人机
海砥装备HardAus20 天前
大载重工业无人机高空风扰建模与ADRC自抗扰抗风控制实现
无人机·adrc·工业无人机
海砥装备HardAus20 天前
大载重工业无人机动力容错控制:单电机失效下的应急重构算法设计
算法·重构·嵌入式·无人机
中科固源20 天前
飞控里的“暗战”:无人机软件栈中的控制权风险
网络安全·无人机·低空经济
YOLO数据集集合20 天前
无人机风电设备智能巡检 风机叶片缺陷目标检测数据集实战 | 表面腐蚀漏油识别 工业视觉质检 深度学习模型训练落地10337期
人工智能·深度学习·目标检测·计算机视觉·无人机