摘要
本文针对四旋翼无人机姿态控制系统进行了基于自抗扰控制(ADRC)的建模与仿真研究。通过MATLAB/Simulink仿真平台,实现了无人机的姿态控制模型,并采用自抗扰控制器(ADRC)对无人机的姿态进行控制。本文详细介绍了自抗扰控制器的设计方法和应用,通过对无人机的俯仰角、滚转角和偏航角的控制,验证了ADRC控制器在四旋翼无人机系统中的高效性和鲁棒性。仿真结果表明,ADRC控制器能够在不同扰动条件下保持系统的稳定性和快速响应。
理论
四旋翼无人机的动力学与运动学模型
四旋翼无人机的动力学模型基于牛顿-欧拉方程,其描述了旋翼产生的推力和力矩作用下无人机的运动特性。动力学方程如下:
[ m \ddot{r} = R F - mg ]
[ I \dot{\omega} = \tau - \omega \times I \omega ]
其中,(m) 为无人机质量,(R) 为旋转矩阵,(F) 为总推力,(\omega) 为角速度,(I) 为惯性矩阵,(\tau) 为力矩。
自抗扰控制器(ADRC)
ADRC 是一种非线性控制方法,通过扩张状态观测器(ESO)实时估计系统状态及外部扰动,并通过非线性误差反馈控制(NLSEF)来补偿系统中的不确定性。自抗扰控制的核心部分包括:
-
扩张状态观测器(ESO):用于实时观测系统状态和外部扰动,更新后的状态用于补偿未知扰动。
-
非线性误差反馈(NLSEF):通过对误差的非线性函数计算输出,增强系统的动态性能。
ADRC 控制器设计可以分为三个环节:
-
跟踪微分器(TD):对期望轨迹进行平滑处理。
-
扩张状态观测器(ESO):估计系统状态及外界扰动。
-
非线性状态误差反馈(NLSEF):基于ESO估计的状态进行非线性反馈控制。
实验结果
通过MATLAB/Simulink仿真平台,对无人机姿态控制进行了测试,分别验证了系统在俯仰、滚转和偏航角控制中的表现。
-
连续型ADRC控制仿真:系统响应曲线表明,ADRC控制器在俯仰角、滚转角和偏航角控制中的表现快速、平稳,具有较好的动态特性和稳态性能。
-
离散型ADRC控制仿真:与连续型相比,离散型ADRC控制器在数字化控制中的响应同样迅速,能够有效应对突加扰动,保持系统的稳定性。
仿真结果显示,无论在连续控制还是离散控制中,ADRC控制器都能够在较短时间内使系统稳定,且具有较强的抗扰动能力。
部分代码
以下为ADRC姿态控制的部分MATLAB代码:
% 初始化参数
m = 1.5; % 无人机质量
g = 9.81; % 重力加速度
% ADRC控制器参数
beta1_yaw = 30; beta2_yaw = 300; beta3_yaw = 1000;
beta1_pitch = 150; beta2_pitch = 300; beta3_pitch = 1000;
beta1_roll = 180; beta2_roll = 120; beta3_roll = 1000;
% 控制器设计
sim_time = 20; % 仿真时间
yaw_ref = 5; % 偏航角参考值
pitch_ref = 3; % 俯仰角参考值
roll_ref = 2; % 滚转角参考值
% 调用Simulink仿真模型
sim('quadcopter_ADRC_model');
% 绘制结果
figure;
subplot(3,1,1);
plot(tout, yaw_response, 'r', 'LineWidth', 2);
title('偏航角控制响应');
xlabel('时间(s)');
ylabel('角度(°)');
subplot(3,1,2);
plot(tout, pitch_response, 'b', 'LineWidth', 2);
title('俯仰角控制响应');
xlabel('时间(s)');
ylabel('角度(°)');
subplot(3,1,3);
plot(tout, roll_response, 'g', 'LineWidth', 2);
title('滚转角控制响应');
xlabel('时间(s)');
ylabel('角度(°)');
参考文献
❝
Han, J. (2009). Auto-Disturbance-Rejection Control Technique . Control Theory and Applications, 30(12), 1553-1564.
Gao, Z. (2006). Scaling and Bandwidth-Parameterization Based Controller Tuning . Proceedings of the American Control Conference, 4989-4996.
Bouabdallah, S., Murrieri, P., & Siegwart, R. (2004). Design and Control of an Indoor Micro Quadrotor . Proceedings of the IEEE International Conference on Robotics and Automation.