【无人机设计与控制】四旋翼飞行无人机姿态控制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.
相关推荐
AI科技星1 小时前
全域数学视角下N维广义数系的推广与本源恒等式构建【乖乖数学】
人工智能·机器学习·数学建模·数据挖掘
人道领域1 小时前
【数据结构与算法分析】二叉树面试通关手册:遍历图解 · 分类对比 · 代码模板
数据结构·算法·leetcode·深度优先
水蓝烟雨1 小时前
2901. 最长相邻不相等子序列 II
算法·leetcode
郝学胜-神的一滴1 小时前
二分类任务核心:BCE 损失函数从原理到 PyTorch 实战
人工智能·pytorch·python·算法·机器学习·分类·数据挖掘
.5481 小时前
Two Pointers(双指针)
java·数据结构·算法
sali-tec1 小时前
C# 基于OpenCv的视觉工作流-章58-相机标定
图像处理·人工智能·数码相机·opencv·算法·计算机视觉
承渊政道1 小时前
【动态规划算法】(回文串问题解题框架与经典案例)
数据结构·c++·学习·算法·leetcode·动态规划·哈希算法
一水鉴天1 小时前
同构异质三表总装体系确立与入表机制闭环验证 20260502(腾讯元宝)
人工智能·算法·机器学习
qyzm1 小时前
Codeforces Round 1073 (Div. 2)
数据结构·python·算法
深邃-3 小时前
【数据结构与算法】-二叉树(2):实现顺序结构二叉树(堆的实现),向上调整算法,向下调整算法,堆排序,TOP-K问题
数据结构·算法·二叉树·排序算法·堆排序··top-k