【无人机】四旋翼无人机的几何跟踪控制研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
🎁完整资源、论文复现、期刊合作、论文辅导及科研仿真定制事宜点击:
👉👉👉本文完整资源下载
⛳️座右铭:行百里者,半于九十。
⛳️赠与读者
👨💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能解答你胸中升起的一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。
或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎
💥第一部分——内容介绍
摘要
四旋翼无人机的轨迹跟踪控制长期依赖欧拉角等局部坐标表示,但这类方法在剧烈机动或大角度姿态变化时会遭遇奇异性和万向节锁死问题。几何跟踪控制通过在SO(3)和SE(3)李群上直接设计控制律,从根本上规避了坐标奇异,并提供了几乎全局的稳定性保证。本文系统梳理了几何跟踪控制的理论基础、核心方法学进展与当前研究前沿。首先阐述四旋翼在SE(3)上的全局动力学建模及其微分平坦特性,分析欧拉角方法的固有局限。进而以Lee等人的开创性工作为线索,剖析几何跟踪控制器的误差定义逻辑、李雅普诺夫稳定性证明机制及收敛域条件。在此基础上,综述扰动观测器增强、容错分配、负载系统扩展等鲁棒性改进路径,以及滑模几何控制、混合四元数控制等变体方法。最后讨论几何控制与数据驱动方法融合、执行器约束处理及多机协同等未来方向。
关键词:四旋翼无人机;几何控制;SE(3);李群;轨迹跟踪;非线性控制
1 引言
四旋翼无人机凭借垂直起降、悬停机动和结构简洁等优势,已在航拍测绘、电力巡检、农业植保及搜索救援等领域获得广泛应用。这些任务的自动化程度不断提升,对轨迹跟踪的精度和鲁棒性提出了越来越高的要求。然而,四旋翼本质上是一个欠驱动、强耦合的非线性系统:四个旋翼推力仅提供四个独立控制输入,却需要控制六个自由度的运动。这一内在矛盾使得控制器设计始终面临挑战。
长期以来,工程实践中占主导地位的是基于欧拉角或四元数的级联控制方案:外环位置控制器根据位置误差计算出期望姿态,内环姿态控制器跟踪该期望姿态。这类方法直观易懂、调参方便,在悬停和温和机动条件下表现良好。但其理论基础存在一个根本性缺陷:欧拉角表示在俯仰角达到±90°时出现奇异性(万向节锁死),意味着控制器在剧烈爬升、翻转或大角度协调转弯时可能失效。即便采用四元数避免了三角函数奇异,级联结构的稳定性分析仍依赖于对动力学模型的线性化近似或时间尺度分离假设,难以给出严格的大范围稳定性保证。
几何控制方法的出现为上述困境提供了系统性解决方案。其核心思想是将四旋翼的构型空间视为李群SE(3)——位置在欧几里得空间中演化,姿态在特殊正交群SO(3)上演化——并直接在流形上定义跟踪误差、设计控制律和分析稳定性。由于SO(3)和SE(3)是紧致或局部紧致的微分流形,不存在欧拉角那样的坐标奇点,控制律得以在整个姿态空间上光滑定义。Lee等人在2010年发表的SE(3)几何跟踪控制工作奠定了这一方向的理论基石,证明了闭环系统具有“几乎全局”的指数稳定性。此后十余年间,几何控制从理论走向实验验证,从理想模型走向扰动补偿,从单体控制走向任务扩展,逐步成为无人机非线性控制领域最具活力的研究方向之一。
本文旨在系统梳理四旋翼几何跟踪控制的发展脉络与前沿进展。第二节分析问题根源,阐明欧拉角方法的局限与几何方法的必要性。第三节深入剖析几何跟踪控制的核心理论框架,包括SE(3)建模、误差定义逻辑与稳定性证明机制。第四节综述方法学前沿进展,涵盖鲁棒性增强、执行器约束处理及任务扩展。第五节讨论开放问题与未来方向,第六节总结全文。
2 问题根源:为什么坐标表示成为瓶颈
2.1 四旋翼的欠驱动本质
理解几何控制的必要性,需先审视四旋翼控制问题的结构。四旋翼有四个控制输入——四个旋翼的转速或推力——但需要控制六个自由度。这一欠驱动特性意味着位置和姿态动力学之间存在不可解耦的耦合关系:水平运动必须通过姿态倾斜产生的推力分量来实现,而姿态变化又必然扰动位置。
在级联控制框架下,这一耦合被“分而治之”:位置环计算期望的推力方向,姿态环跟踪该方向。然而,这种分解在数学上并不严格——位置环的稳定性依赖于姿态环的快速收敛假设,而姿态环的参考指令又依赖于位置环的输出。当机动足够剧烈时,两个时间尺度的分离假设不再成立,级联结构的稳定性保证随之瓦解。
2.2 欧拉角表示的固有缺陷
欧拉角方法的核心问题在于其参数化方式。用三个角度(滚转、俯仰、偏航)描述姿态,必然存在至少一个奇点——这是拓扑学的基本结论:SO(3)不可被单一坐标系光滑覆盖。具体而言,当俯仰角为±90°时,滚转和偏航的旋转轴重合,姿态的自由度实际从三个退化为两个,旋转矩阵的雅可比变得奇异。
这一缺陷在悬停和小角度飞行时无足轻重,但在以下场景中成为致命问题:穿越狭窄空间的快速爬升、追踪高速机动目标时的急剧俯仰变化、以及特技飞行中的翻转动作。更隐蔽的问题是,即使飞行轨迹不经过奇点,欧拉角表示的旋转矩阵在数值计算中也可能积累误差,导致控制性能逐渐退化。
四元数虽然避免了三角函数奇点,但单位四元数对SO(3)是双覆盖的(q和-q表示同一旋转),这意味着姿态误差的符号选择需要额外逻辑。更重要的是,四元数级的稳定性分析仍然不如直接在SO(3)上分析来得自然和严格。
2.3 几何方法的范式转换
几何控制的思路是拒绝“先参数化、再设计控制器”的传统路径,转而直接在构型流形上工作。姿态就是旋转矩阵R∈SO(3),位置就是向量p∈ℝ³,构型就是(p, R)∈SE(3)。跟踪误差不是两个坐标之差,而是流形上两点之间的“几何距离”,通过群运算自然定义。
这一转换带来的收益是多方面的:控制律在整个流形上定义,不受坐标奇点影响;稳定性分析基于李雅普诺夫函数在流形上的性质,无需线性化;误差度量的几何意义明确,便于物理直觉的引入。正如一篇综述所指出的,“几何控制不将非线性视为需要补偿的‘误差’,而是作为动力学的自然特征加以利用”。
3 核心方法学:几何跟踪控制的逻辑与构造
3.1 问题设定与构型误差
几何跟踪控制的目标是使四旋翼的构型H_B^I = (p_B, R_B)跟踪时变的期望构型H_D^I = (p_D, R_D)。Lee等人选择的是右群误差——即从当前构型到期望构型的相对变换,表示为H_{e,r} = H_D^{-1} H_B。这一选择并非唯一,左误差同样可行,但右误差在推导中更自然地对应于体坐标系下的误差表达。
构型误差被分解为位置误差ξ_e和姿态误差R_{e,r}。位置误差是期望坐标系下表达的当前位置偏差;姿态误差是R_D^T R_B,表征从期望姿态到实际姿态的旋转。对应的速度误差也需要在流形上相容地定义:姿态角速度误差e_ω = ω - R^T R_D ω_D,其中ω_D是期望角速度。
姿态误差的度量函数Ψ(R, R_D) = ½ tr(I - R^T R_D)具有清晰的几何意义:它在两姿态重合时为零,随角度偏差增大而增大,在180°偏差处达到最大值。这一度量是整个稳定性分析的基础。
3.2 控制律的构造逻辑
几何跟踪控制律的推导遵循一条清晰的逻辑链:构造李雅普诺夫候选函数→求导→令导数负定→从负定条件反推控制输入。
位置环的控制目标可归结为一个核心问题:需要多大的推力和什么方向的推力,才能使位置误差收敛?答案由期望加速度决定。期望加速度由比例-微分反馈加前馈组成:a_d = -K_p e_p - K_v e_v + p̈_D + g e_3。由此反解出所需推力的大小和方向,方向确定了期望旋转矩阵R_D的第三列(体轴z方向)。
姿态环则接收R_D作为参考,设计力矩使实际姿态R跟踪R_D。力矩控制律的形式为:τ = -K_R e_R - K_ω e_ω + ω × Jω - J(ω̂ R^T R_D ω_D - R^T R_D ω̇_D)。前三项构成比例-微分反馈加陀螺补偿,后两项是前馈补偿项,用于抵消期望角速度变化带来的动力学效应。
3.3 稳定性保证与收敛域
几何跟踪控制最引人注目的理论结果是其稳定性品质:几乎全局的指数稳定性。这意味着除一个测度为零的初始条件集合外,从任何初始状态出发,跟踪误差都指数收敛到零。
稳定性证明的关键在于李雅普诺夫函数的构造和收敛域条件的确定。姿态误差度量Ψ(R, R_D)必须小于2(即姿态偏差不超过180°),且初始角速度误差需满足一个与惯量矩阵和姿态增益相关的条件:
‖e_ω(0)‖² < (2/λ_max(J)) k_R (2 - Ψ(R(0), R_D(0)))
这一条件的物理含义是:初始“能量”不能太大,以至于系统在控制力矩的“纠正能力”范围内无法拉回。当初始姿态偏差接近180°时,允许的初始角速度趋近于零——这反映了姿态控制的一个基本困难:当飞行器“倒扣”时,控制方向的符号变得模糊,需要更大的控制权限才能恢复。
这一“几乎全局”而非“全局”的特性并非缺陷,而是SO(3)拓扑性质的必然结果:不存在一个连续的状态反馈律能全局渐近稳定SO(3)上的姿态,因为SO(3)不是可缩空间。几何控制的贡献在于,它将不稳定的初始条件集合压缩到最小——仅包括那些精确位于特定“反稳定点”上的状态。
4 前沿进展:从理想模型到真实世界
4.1 扰动观测器增强的鲁棒几何控制
标准几何控制假设系统参数精确已知且无外部扰动。实际飞行中,负载变化、风扰和模型不确定性会显著劣化跟踪性能。Yan等人(2025)提出了一种扰动观测器增强的几何跟踪控制方案:在平移和旋转动力学中分别设计非线性扰动观测器,实时估计未知外力和外力矩,并将估计值前馈补偿到控制律中。仿真表明,在负载突变和持续风扰下,该方案比标准几何控制的位置跟踪误差降低了一个数量级。
这种“几何控制+扰动估计”的架构具有一般性:几何控制提供名义稳定性保证,观测器负责处理不确定性。类似思路也被用于四旋翼悬挂负载系统:负载摆动被视为“匹配扰动”,通过观测器估计后从控制中补偿,避免了为摆动角度安装额外传感器。
4.2 滑模几何控制与有限时间收敛
另一条鲁棒性增强路径是将几何误差定义与滑模控制结合。滑模控制的优势在于对匹配扰动的不变性,而几何框架避免了滑模面定义中的坐标奇点。武汉理工大学的研究团队(2023)针对倾轴四旋翼设计了滑模几何控制器:位置环和姿态环分别基于李雅普诺夫方法推导滑模控制律,并引入扰动观测器增强抗扰能力。仿真结果显示,在相同扰动条件下,滑模几何控制器的轨迹跟踪精度优于标准几何控制器。
混合四元数-几何控制是另一变体。有研究将几何跟踪控制(位置环)与基于四元数的姿态控制(姿态环)结合,利用四元数在有限时间收敛方面的优势,同时保持位置环的几何特性。这种“混合”策略的动机在于:姿态环需要快速响应,四元数方法在实现有限时间或固定时间收敛方面有更成熟的理论工具。
4.3 容错与执行器约束
实际四旋翼的旋翼推力存在上下界,且电机故障可能导致执行器失效。几何控制框架下的容错分配问题受到关注。由于几何控制直接输出期望的合力和合力矩(即wrench),而实际控制输入是四个旋翼推力,从wrench到推力的映射(分配矩阵的逆)在推力受限或故障时可能不可行。
解决思路包括:在控制律中显式引入输入约束,如设计有界控制律或使用控制障碍函数;或在分配层面进行重构,优先保证关键方向的控制权限。这些工作仍处于发展阶段,尚未形成像标准几何控制那样成熟的框架。
4.4 从跟踪到任务:负载、编队与运动规划
几何控制的适用性已从单体轨迹跟踪扩展到更复杂的任务场景。四旋翼悬挂负载系统是重要方向:负载的摆动动力学使系统成为欠驱动+欠驱动的嵌套结构,几何控制框架被推广到这一系统,通过定义负载位置的期望轨迹来间接控制摆动。多机协同方面,几何控制为编队保持提供了单体层面的稳定基础,上层编队控制器只需生成各机的期望轨迹。
运动规划与几何控制的结合也值得关注。四旋翼的微分平坦特性意味着,从平坦输出(位置和偏航角)及其导数可以解析地构造出全状态轨迹和控制输入。这使得多项式轨迹规划(如最小化snap)与几何控制天然兼容:规划器生成光滑的平坦输出轨迹,几何控制器跟踪由平坦性导出的姿态和角速度参考。
5 开放问题与未来方向
5.1 几何控制与学习方法的融合
纯模型驱动的几何控制在参数不确定性和未建模动态面前仍然脆弱。一个活跃的方向是将几何控制作为“结构先验”嵌入学习框架:用几何控制提供名义控制律和安全保证,用学习模块(神经网络或高斯过程)补偿残差动力学。这种混合架构的挑战在于保持稳定性证明的严格性——学习模块的引入不能破坏几何控制原有的收敛保证。
5.2 执行器约束下的几何控制
几乎所有几何控制的理论工作都假设控制输入无约束,但实际旋翼的推力必然有界。当期望wrench超出可达集时,控制律的输出可能不可行,导致分配失败或饱和非线性引发的失稳。在流形上显式处理输入约束需要新的数学工具,如控制障碍函数与李雅普诺夫函数的结合,或约束优化形式的几何控制。
5.3 分布式多机几何控制
将几何控制的单体稳定性保证扩展到多机系统面临新的挑战:通信延迟、局部信息约束和耦合动力学。被动分解(passive decomposition)是一个有前景的框架,它将多机系统的动力学分解为形状动力学(内部构型)和锁定动力学(整体运动),并保持闭环系统的无源性。如何在几何控制框架下实现这一分解,同时保证编队误差的收敛,仍是开放问题。
5.4 从仿真到实验的鸿沟
几何控制的实验验证仍主要集中在室内运动捕捉环境。室外GPS环境下的位姿估计噪声、磁干扰和通信延迟对几何控制的影响尚未被充分研究。扰动观测器虽然提供了一种补偿途径,但观测器本身的收敛速度和噪声敏感性与几何控制器的带宽匹配问题需要更系统的分析。
6 结论
四旋翼几何跟踪控制的核心贡献在于:它用一个数学上优雅、物理上直观的框架,替代了依赖坐标参数化的传统控制方法。通过在SE(3)流形上定义误差和设计控制律,几何控制消除了欧拉角方法的奇异性隐患,并提供了几乎全局的指数稳定性保证。Lee等人的开创性工作建立了这一框架的基本范式,此后十五年的研究将其从理论构造推向扰动鲁棒、任务扩展和执行器约束等多个维度。
几何控制并非万能。它对模型精度的依赖、对输入约束的处理不足、以及在强扰动下的性能退化,都是实际部署中必须面对的问题。但它的价值在于提供了一个正确的骨架:坐标-free的误差定义、基于李雅普诺夫理论的稳定性保证、与微分平坦轨迹规划的天然兼容。未来的工作将在这个骨架上填充“肌肉”——学习补偿、约束处理、分布式扩展——而不是替换骨架本身。当无人机需要在更复杂、更不确定的环境中执行更激进的任务时,这种几何优先的设计哲学将显示出越来越强的生命力。
📚第二部分——运行结果
摘要:本文为四旋翼无人机(UAV)的跟踪控制提供了新的结果。无人机有四个输入自由度,即四个旋翼推力的大小,用于控制六个平移和旋转自由度,实现四个输出的渐近跟踪,即车辆质心的三个位置变量和一个车身固定轴的方向。引入了全球定义的四旋翼无人机刚体动力学模型作为分析的基础。在特殊的欧几里得群SE(3)上开发了一种非线性跟踪控制器,并显示出它具有几乎是全局的理想闭环性质。几个数值示例,包括四旋翼飞行器从最初颠倒中恢复的示例,说明了控制器的多功能性。


众所周知,四旋翼无人机(UAV)通常是一种欠驱动和非线性系统,控制它们是一个挑战,尤其是在进行激进机动时。本项目的目标是研究用于控制四旋翼无人机的非线性几何控制方法。几何控制理论研究状态空间的几何结构如何影响控制问题。在控制系统工程中,动态系统的底层几何特征往往没有得到仔细考虑。微分几何控制技术利用这些几何特性进行控制系统的设计与分析。其目标是将系统动态和控制输入表示在非线性流形上,而不是局部坐标图中。基于系统动态的几何特性,这种基于微分几何的方法被用于建模和控制系统。此外,设计控制器的意图是使其具备全局稳定性,即系统能够从任何初始状态恢复。本文简要讨论并分析了四旋翼系统在平滑非线性几何配置空间中的配置,运用微分几何的原理进行分析,从而避免了在局部坐标图中可能出现的任何奇点。进一步地,通过在相同空间中定义误差函数并利用几何特性,可以构建一个几乎全局定义的非线性几何控制器。最后,仿真结果展示了非线性几何控制器的稳定性和能力。
四旋翼无人机(QR)是一种近年来受到越来越多关注的无人机类型,其许多应用场景正在被积极研究。可能的应用包括搜索与救援、监视、在紧急情况下可靠地运送食品和药品以及在建筑和运输中的物体操作。它已经在多智能体任务、测绘、探索、运输以及娱乐(如特技表演)等许多任务中证明了自己的价值。
对于大多数线性控制器,动态通常在平衡点附近线性化,一组线性微分方程描述系统动态。在线性化点附近应用线性控制的部分原因是避免与建模和控制系统的非线性相关的困难。然而,线性控制将系统限制在小角度运动范围内,因为优化不会允许偏离线性化点太大的大角度。这种建模和控制方法对于需要快速激进机动的应用来说是不够的。非线性控制系统通常由非线性微分方程控制,能够以更现实的方式表示动态。非线性几何控制是一种基于微分几何概念的建模方法的非线性模型控制技术。这种方法产生了一个全局定义的无坐标动态模型,避免了奇点问题(例如欧拉角表示中的万向节锁定),并能够设计出几乎全局收敛的控制器。必须研究四旋翼无人机的建模和控制的各个方面,因为可以预期非线性将对动态的表示以及控制设计的稳定性、准确性和类型产生重大影响。可以研究这种非线性方法与线性方法相比在稳定性和性能方面的优缺点。




部分代码:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% 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);
🎉第三部分——参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。(文章内容仅供参考,具体效果以运行结果为准)
🌈第四部分——本文完整资源下载
资料获取,更多粉丝福利,MATLAB|Simulink|Python|数据|文档等完整资源获取
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)