👨🎓个人主页
💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
摘要:本文为四旋翼无人机(UAV)的跟踪控制提供了新的结果。无人机有四个输入自由度,即四个旋翼推力的大小,用于控制六个平移和旋转自由度,实现四个输出的渐近跟踪,即车辆质心的三个位置变量和一个车身固定轴的方向。引入了全球定义的四旋翼无人机刚体动力学模型作为分析的基础。在特殊的欧几里得群SE(3)上开发了一种非线性跟踪控制器,并显示出它具有几乎是全局的理想闭环性质。几个数值示例,包括四旋翼飞行器从最初颠倒中恢复的示例,说明了控制器的多功能性。
众所周知,四旋翼无人机(UAV)通常是一种欠驱动和非线性系统,控制它们是一个挑战,尤其是在进行激进机动时。本项目的目标是研究用于控制四旋翼无人机的非线性几何控制方法。几何控制理论研究状态空间的几何结构如何影响控制问题。在控制系统工程中,动态系统的底层几何特征往往没有得到仔细考虑。微分几何控制技术利用这些几何特性进行控制系统的设计与分析。其目标是将系统动态和控制输入表示在非线性流形上,而不是局部坐标图中。基于系统动态的几何特性,这种基于微分几何的方法被用于建模和控制系统。此外,设计控制器的意图是使其具备全局稳定性,即系统能够从任何初始状态恢复。本文简要讨论并分析了四旋翼系统在平滑非线性几何配置空间中的配置,运用微分几何的原理进行分析,从而避免了在局部坐标图中可能出现的任何奇点。进一步地,通过在相同空间中定义误差函数并利用几何特性,可以构建一个几乎全局定义的非线性几何控制器。最后,仿真结果展示了非线性几何控制器的稳定性和能力。
四旋翼无人机(QR)是一种近年来受到越来越多关注的无人机类型,其许多应用场景正在被积极研究。可能的应用包括搜索与救援、监视、在紧急情况下可靠地运送食品和药品以及在建筑和运输中的物体操作。它已经在多智能体任务、测绘、探索、运输以及娱乐(如特技表演)等许多任务中证明了自己的价值。
对于大多数线性控制器,动态通常在平衡点附近线性化,一组线性微分方程描述系统动态。在线性化点附近应用线性控制的部分原因是避免与建模和控制系统的非线性相关的困难。然而,线性控制将系统限制在小角度运动范围内,因为优化不会允许偏离线性化点太大的大角度。这种建模和控制方法对于需要快速激进机动的应用来说是不够的。非线性控制系统通常由非线性微分方程控制,能够以更现实的方式表示动态。非线性几何控制是一种基于微分几何概念的建模方法的非线性模型控制技术。这种方法产生了一个全局定义的无坐标动态模型,避免了奇点问题(例如欧拉角表示中的万向节锁定),并能够设计出几乎全局收敛的控制器。必须研究四旋翼无人机的建模和控制的各个方面,因为可以预期非线性将对动态的表示以及控制设计的稳定性、准确性和类型产生重大影响。可以研究这种非线性方法与线性方法相比在稳定性和性能方面的优缺点。
四旋翼无人机几何跟踪控制研究综述
一、几何跟踪控制的基本概念与优势
几何跟踪控制是一种直接在三维空间中设计控制器的方法,避免了传统参数化方法(如欧拉角)的奇异性问题。其核心思想是通过定义几何轨迹和跟踪误差,实现对无人机位置和姿态的全局控制,无需显式依赖时间参数。主要步骤包括:
- 几何轨迹定义:轨迹可以是直线、圆、螺旋线等平滑曲线,通过数学表达式或路径点序列描述。
- 误差定义:实际与期望位置/姿态的差异,通常用李群(如SE(3))上的几何距离表示。
- 控制律设计:基于非线性动力学模型设计控制器,确保误差收敛。
优势:
- 避免奇异性:采用旋转矩阵或四元数代替欧拉角,适用于大角度机动。
- 强鲁棒性:直接处理非线性动力学,减少模型简化带来的误差。
- 全局稳定性:在SE(3)群上设计控制器,保证几乎全局稳定的闭环性能。
二、与传统控制方法的对比
传统方法如PID控制依赖线性化模型,在复杂任务中表现受限:
- PID控制:需简化动力学模型,难以处理强耦合和非线性特性,易出现超调和振荡。
- 滑模控制:虽能抑制干扰,但存在抖振问题,需结合自适应或模糊逻辑优化。
- 模型预测控制(MPC) :计算复杂度高,实时性较差,适用于离线轨迹规划。
几何跟踪控制的优势在于直接利用刚体运动学,无需局部线性化,特别适合高速机动和复杂轨迹跟踪任务。
三、关键技术详解
-
动力学建模
基于牛顿-欧拉方程建立六自由度模型,考虑质量分布、惯性矩阵和空气阻力。坐标系转换(机体坐标系与地面坐标系)通过旋转矩阵实现。
示例公式:其中,R∈SO(3为旋转矩阵,ω为角速度,p和v为位置和速度。
-
姿态控制
采用反步法(Backstepping)或滑模控制设计内环控制器,结合动态面技术优化微分爆炸问题。例如,积分反步控制通过引入虚拟姿态角指令,解耦位置和姿态环。 -
轨迹规划
- 最小跳跃轨迹:生成时间最优路径,通过航点序列定义。
- B样条曲线:平滑轨迹生成,结合动力学约束优化。
- 强化学习:适应动态环境,实时调整轨迹。
四、主流方法与研究现状
-
SE(3)上的几何控制
Lee等提出的方法在SE(3)群上构建全局模型,通过非线性跟踪控制器实现位置和姿态的渐近跟踪,即使无人机初始倒置也能恢复稳定。 -
积分反步控制
结合李亚普诺夫函数和积分项,增强抗干扰能力,鲁棒性提升约10%。 -
混合控制策略
- 滑模+PID:外环PID生成期望姿态,内环滑模抑制扰动。
- 模糊自适应控制:动态调整参数,适应质量变化或风扰。
性能对比:
方法 | 跟踪误差(RMSE) | 抗扰能力 | 计算复杂度 |
---|---|---|---|
几何跟踪(SE(3)) | 0.05 m | 高 | 中 |
滑模控制 | 0.08 m | 极高 | 高 |
自适应PID | 0.12 m | 中 | 低 |
五、硬件配置要求
几何跟踪控制对硬件的要求较高,需高精度传感器和快速执行器:
-
传感器:
- IMU:集成陀螺仪和加速度计,测量姿态角与角速度(如MPU6050或APM 2.6)。
- 视觉模块:OpenMV或光流传感器,用于室内定位和目标跟踪。
- GPS/气压计:提供全局位置和高度参考。
-
执行器:
- 无刷电机(BLDC) :920 kV以上,搭配30A电调(ESC)和9英寸螺旋桨。
- 飞行控制器:PX4或STM32系列,支持实时控制算法部署。
六、实验验证与案例分析
-
SE(3)控制仿真
在Matlab中实现无人机从倒置状态恢复并跟踪螺旋轨迹,位置误差小于0.1 m,姿态收敛时间<2 s。 -
适应性PID测试
对比矩形和螺旋路径跟踪,适应性PID较传统PID误差降低10%,尤其在硬转弯场景表现优异。 -
增量式PID抗扰实验
在Python平台模拟风扰,增量式PID的收敛时间比标准PID快30%,超调量减少50%。
七、未来研究方向
- 智能化控制:融合深度强化学习预测轨迹,动态调整控制律。
- 多机协同:研究编队飞行中的几何跟踪一致性,解决避障与通信延迟问题。
- 复杂环境适应:结合视觉SLAM和抗风扰算法,提升室内/复杂地形下的鲁棒性。
- 硬件优化:开发低功耗高算力控制器,支持实时非线性优化。
八、结论
几何跟踪控制通过全局建模和先进控制策略,显著提升了四旋翼无人机在复杂任务中的性能。未来,随着智能算法和硬件的进步,其在自主导航、协同作业等领域的应用潜力将进一步释放。
📚2 运行结果
部分代码:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% INTIALIZING - INTIAL PARAMETERS x,v,R,w %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Intial position
x_quad_0 = [0;0;0];
% xQ0 = [1;3;2];
% Intial velocity
v_quad_0 = zeros(3,1);
% Initial orientation
% R0 = RPYtoRot_ZXY(0*pi/180, 0*pi/180, 0*pi/180);
R0 = eye(3);
% Intial angular velocity
w0= zeros(3,1);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Concatenating the entire initial condition into a single vector
x0 = [x_quad_0; v_quad_0; reshape(R0,9,1); w0];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%% SIMULATION
odeopts = odeset('RelTol', 1e-8, 'AbsTol', 1e-9) ;
% odeopts = [] ;
[t, x] = ode15s(@odefun_quadDynamics, [0 20], x0, odeopts, quad_params) ;
% Computing Various Quantities
disp('Evaluating...') ;
index = round(linspace(1, length(t), round(1*length(t))));
% ind = 0:length(t);
for i = index
[~,xd_,f_,M_] = odefun_quadDynamics(t(i),x(i,:)',quad_params);
xd(i,:) = xd_';
pos_err_fx(i) = norm(x(i,1:3)-xd(i,1:3));
vel_err_fx(i) = norm(x(i,4:6)-xd(i,4:6));
f(i,1)= f_;
M(i,:)= M_';
end
%%% Plotting graphs
plott(t,x,xd,pos_err_fx,vel_err_fx);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%% CASE 2 %%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
case 2
clear;
%%% INITIALZING SYSTEM PARAMETERS %%%
% moment of Inertia in Kg(m^2)
quad_params.params.mass = 0.5 ;
% moment of Inertia in Kg(m^2)
quad_params.params.J = diag([0.557, 0.557, 1.05]*10e-2);
% acceleration via gravity contant
quad_params.params.g = 9.81 ;
% interial fram axis
quad_params.params.e1 = [1;0;0] ;
quad_params.params.e2 = [0;1;0] ;
quad_params.params.e3 = [0;0;1] ;
% distance of center of mass from fram center in m
quad_params.params.d = 0.315;
% fixed constant in m
quad_params.params.c = 8.004*10e-4;
🎉3 参考文献
部分理论来源于网络,如有侵权请联系删除。