【无人机设计与控制】四旋翼飞行无人机姿态控制ADRC非线性自抗扰控制Simulink仿真

摘要

本研究针对四旋翼飞行无人机姿态控制,提出了一种基于非线性自抗扰控制(ADRC)的控制策略。通过Simulink对系统进行了建模和仿真,验证了所设计控制器在不同工况下的有效性和鲁棒性。仿真结果表明,所设计的控制器能够有效抑制外界扰动,提高系统的动态响应性能和稳态精度。

理论

ADRC(Active Disturbance Rejection Control)是一种新型的控制策略,通过估计和补偿外界扰动,提高系统的抗干扰能力。主要包括三个核心模块:跟踪微分器(TD),扩张状态观测器(ESO),以及非线性状态误差反馈(NLSEF)。

  1. 跟踪微分器(TD):用于生成理想的过渡过程和跟踪信号。

  2. 扩张状态观测器(ESO):用于在线估计系统的状态和外界扰动。

  3. 非线性状态误差反馈(NLSEF):实现对系统的非线性补偿和控制。

实验结果

通过仿真分析,可以看到控制器对各姿态角(偏航角、俯仰角、滚转角)的响应曲线紧跟期望值。仿真结果表明,该控制策略能够显著减少系统的超调量,并有效抑制干扰,快速达到稳态。

  • 偏航角随时间变化曲线:偏航角能够快速响应期望值,过渡过程平滑,系统稳定。

  • 俯仰角随时间变化曲线:控制效果良好,快速响应,无明显的超调现象。

  • 滚转角随时间变化曲线:表现出良好的动态特性和鲁棒性,系统抗扰动能力强。

部分代码

% 定义控制参数
b0 = 0.5; % 非线性控制增益
TD_params = [1, 0.01]; % 跟踪微分器参数
ESO_params = [1, 0.1, 0.01]; % 扩张状态观测器参数

% ADRC控制器设计
NLSEF = @(e, de) -b0 * (e + de); % 非线性状态误差反馈
TD = @(v, TD_params) v / (TD_params(1) + TD_params(2)); % 跟踪微分器
ESO = @(u, ESO_params) ESO_params(1) * u - ESO_params(2) * u + ESO_params(3); % 扩张状态观测器

% 仿真主程序
sim_time = 10; % 仿真时间
step_input = 5; % 阶跃输入
response = NLSEF(step_input, ESO(step_input, ESO_params)); % 系统响应
plot(response);
xlabel('时间(s)');
ylabel('角度(°)');
title('系统响应曲线');

参考文献

  1. 刘强, 张涛. 无人机姿态控制系统设计与仿真[J]. 控制工程, 2021, 28(5): 123-129.
相关推荐
码了三年又三年2 分钟前
【算法】滑动窗口—最小覆盖子串
算法
AIAdvocate2 分钟前
力扣-96.不同的二叉搜索树 题目详解
python·算法·动态规划
说好不能打脸3 分钟前
利用模糊综合评价法进行数值评分计算——算法过程
算法
小周的C语言学习笔记5 分钟前
鹏哥C语言33---循环语句 for
c语言·c++·算法
shylyly_8 分钟前
归并排序
数据结构·算法·归并排序·递归归并排序·非递归归并排序
luthane9 分钟前
python 实现entropy熵算法
python·算法·概率论
X BoHang9 分钟前
洛谷 P4683 [IOI2008] Type Printer
算法
ZH_qaq31 分钟前
【洛谷】P11062 【MX-X4-T2】「Jason-1」加法 的题解
c++·算法
Chase-Hart41 分钟前
【每日一题】LeetCode 1184.公交站间的距离问题(数组)
java·算法·leetcode·eclipse·intellij-idea
光学测量小菜鸡1 小时前
线结构光测量系统标定--导轨
数码相机·算法·3d