【论文阅读】使用强化学习为无人机设计神经网络控制器
Learning to Fly: Computational Controller Design for Hybrid UAVs withReinforcement Learning
学习飞行:使用强化学习为无人机设计神经网络控制器
前言
通过为混合无人机训练一个无模式、与模型无关的神经网络控制器来自动化这个设计过程。
提出了一个神经网络控制器设计,其中包含一个由强化学习训练的新型误差卷积输入。
控制器有两个主要特点:
-
首先,它不区分飞行模式,相同的控制器结构可以用于各种动力学的直升机。
-
其次,我们的控制器适用于真实模型,无需任何额外的参数调整过程,缩小了虚拟仿真和真实制造之间的差距。
背景
多旋翼无人机
- 飞行灵活性和稳定的悬停能力
固定翼无人机
- 平飞时更节能
混合动力无人机
-
为多旋翼飞行器配备一对固定翼的新型混合动力无人机激起了飞机界的兴趣
-
这些飞行器可以在悬停和飞行模式之间快速切换,实现高度稳定、节能的飞行
难题
-
由于混合动力无人机在飞行过程中的空气动力学会发生巨大变化,那么控制器的设计尤为复杂
-
经典设计中:专家分别设计了直升机模式和飞机飞行模式的控制器,以及用于这两种模式之间切换的控制器。但是由于转子和机翼都处于活动状态时的动力学复杂性,因此为过渡阶段设计控制器尤其具有挑战性。
方法
提出了一种为真实混合无人机设计无模式、与模型无关的神经网络控制器的自动方法。
-
首先,无模式速度跟踪控制器在飞行过程中直接与全动态一起工作。控制器不需要区分垂起或者飞行模式,也不需要明确处理模式之间的转换
- 例如,控制器将完全根据输入速度自动定位尾座混合动力无人机——它会将其设置为直升机方向(用于较低速度)和平面方向(用于较高速度)。
-
其次,与模型无关的神经网络控制器的架构几乎可以用于任何混合无人机配置。将来,这可以允许在训练一个混合无人机模型中获得的知识直接转移到另一个设计的控制器上。
提出了一种方法来提高混合无人机的训练神经网络控制器的鲁棒性,并缩小模拟和真实飞行之间的现实差距。
-
这种方法可以很容易地应用于在仿真环境中训练混合动力无人机
-
为了缩小仿真与现实之间存在的差距,在状态向量中提出了一种新的误差积分块作为网络输入,从而能够消除难以手动消除的稳态漂移误差。
-
还设计了一个由噪声和延迟模式增强的模拟基础设施,以及一个为混合无人机提供新颖奖励函数的强化学习框架。
提出一个计算管道来设计混合无人机的控制器
-
用户通过从组件数据集中选择和匹配零件来设计混合无人机的几何结构。
-
构建了一个数值模拟器来重现无人机的真实实验环境,其中考虑了随机传感器噪声、系统识别的方差和控制信号的延迟
混合无人机控制算法的核心是一个新颖且统一的神经网络控制器,以支持无模式运动控制。
-
目标是解决最先进的混合无人机控制算法中的两个长期挑战
-
首先,希望自动化单架飞机的飞行模式转换。
- 为此,将所有模式及其离散转换(通常在混合控制器中硬编码)替换为无模式连续神经网络。
-
其次,目标是自动从在虚拟模拟器中训练的网络转移到可以驾驶真实混合动力无人机的控制器。
- 通过合并误差积分项来构建一个新的状态向量作为网络的输入,从而能够使用通用解决方案来消除即使手动修复也难以修复的稳态漂移误差。
-
模型
混合无人机系统的状态变量由12维向量表示
q = (x, y, z, φ, θ,ψ , u,v, w, ω, β,γ )
-
按顺序细分为四个三维向量
-
位置x=(x, y, z)
-
欧拉角(即滚转、俯仰和偏航) φ = (φ, θ,ψ )
-
速度 u = (u,v, w)
-
角速度 ω = (ω, β,γ )
-
根据牛顿第二定律,系统线性动量的时间导数可以写成

m为质量、fG为重力、T为推力、fL为升力、fD为阻力
按照欧拉旋转方程,系统角动量的时间导数可以写成

J为惯性张量、λ为螺旋桨扭矩-推力比、 T为螺旋桨推力、d为螺旋桨方向、r为螺旋桨在机体框架中的位置、s为机翼中心、N为螺旋桨数量、M为机翼数量
我们遵循平面模型 [Cory 和 Tedrake 2008] 来近似每个机翼上的升力和阻力

ρ 为空气密度、α 为攻角、S 为机翼的表面积
在动力学模型中,螺旋桨、机翼和机身之间的空气动力学相互作用被忽略。
神经网络模型

输入为:角度、角速度、 误差、积分
-
神经网络有两层,每层有64个tanh单元
- Tanh 函数采用任意实数值,并将其映射到[-1, 1]范围内。大的正值被映射为接近 1 的值,大的负值被映射为接近-1 的值,而接近零的值则被映射为零值附近的值。
神经网络控制器的混合无人机的输入状态向量定义为

-
Du、Dv、Dw为局部坐标系中目标速度分量与当前速度分量之间的差值
-
Dψ为目标与当前偏航角之间的差值
-
Iu、Iv、Iw、Iψ为Du、Dv、Dw、Dψ的卷积积分
与混合无人机系统的状态变量由12维向量表示相比
-
首先,从状态中删除位置,仅跟踪无人机运动控制的速度
- 我们使用速度跟踪控制器,不仅因为它可以作为机载定位系统并不总是可用的各种类型混合动力无人机的统一控制表示,还因为它为飞行员提供了一个更直观的框架。
-
其次,记录速度差
- 不是记录两个向量以减少空间的维度
-
最后,在末尾附加一个四维积分项
- 以补偿有关速度和偏航角的累积误差项
重新定义
-
滚转角、俯仰角

-
速度

-
卷积积分

-
那么原来的S可以改写为

-
则状态向量由滚转角、俯仰角、角速度、线速度及偏航角构成的误差向量,以及误差向量的时间积分组成
-
定义D为目标状态向量和当前状态向量在由当前偏航角指定的局部坐标系中的差值。

强化学习框架
马尔科夫决策过程
(Markov Decision Process, MDP)
- (S, A, P, R, s0,γ , H)
S 是状态集、A 是动作集、 P(s ′|s, a) 是过渡函数,它是给定电流 s 和动作 a 的下一个状态 s ′ 的分布、 R(s, a) 是智能体从状态 s 采取行动 a 后可以获得的标量奖励、s0是开始状态、 γ是折扣因子、 H是最大标准
策略πθ (a|s)对在状态 s 中选择行动 a 的概率进行建模,目标是找到最大化预期有限范围奖励的策略 π(a|s) 的参数 θ

p为概率分布,p(s0)为初始状态分布、τ=(s0,a0,…,sH,aH)
状态 s 是定义的 13 维向量,动作 a 由代表每个转子推力的 N 个值组成。策略π是我们的神经网络控制器。使用PPO算法来训练控制器。
PPO算法是一种策略梯度类算法,旨在改进传统的策略优化方法,通过限制策略更新的幅度来提高训练的稳定性和效率。它通过引入剪辑机制,确保每次策略更新不会偏离当前策略太多,从而避免了过大的参数更新导致的不稳定性
奖励机制
奖励R由五项组成
速度跟踪误差、能源效率、飞行稳定性、误差积分、方向

d是恒定的奖励、cv是速度惩罚、ca是行动惩罚、cw是稳定惩罚、cI是积分惩罚、cψ是方向惩罚、wv,wa,ww,wI,wψ是各自对应的权重
-
使无人机能够在速度空间中匹配规定的轨迹,同时优化其他运动目标。
- 方向成本 c通过惩罚d来鼓励控制器尽可能直线地沿着所需的方向飞行。由于我们的速度是在重新定向的坐标系中定义的,因此沿任意曲线行进且航向与切线方向一致且速度与v大小相同的无人机也具有接近于零的速度成本。术语 c 考虑了每个时间步长的偏航角ψ,以惩罚那些不需要的转弯运动。由于无人机的控制不受实际偏航值的影响,而是受偏航误差的影响,因此我们总是将训练期间ψ为零。
训练
使用OpenAI Baselines中的PPO算法
- 在每条轨迹的开始时,随机生成目标速度和初始状态,无人机尝试在模拟器中以 100Hz 的速度跟踪该速度。奖励在每个时间步长收集。模拟在固定持续时间(在我们的实验中为 20 秒)后终止,或者无人机无法保持稳定的飞行状态,之后模拟以新的目标速度和初始状态重新开始。当模拟时间步长总数达到4096 时,该迭代终止。我们使用相同的超参数计对所有模型运行了 3000 万个时间步长的 PPO。在具有 112 个 CPU 内核和 500G 内存的工作站上,训练每个模型需要 70 分钟,并使用 32 次并行 MPI 调用,并且通常在训练结束之前就实现了收敛。
消融测试
-
控制变量法
-
奖励中的权重
-
传感器噪声、信号延迟
-
控制器中的积分块
-
速度差作为控制器的输入
-
测试
-
四旋翼
-
工字型垂起四旋翼翼
-
X翼
Tanh 经常与其他激活函数进行比较,它们各有优缺点
Tanh 与 Sigmoid
- 两个函数都具有相似的 S 形。不过,Sigmoid 函数的输出值在一定范围内,而 Tanh 函数的输出值在[-1, 1]范围内。由于 Tanh 的输出是以零为中心的,因此在网络的隐藏层中,它往往比 Sigmoid 更受青睐,因为它往往会导致更快的收敛。
Tanh 与 ReLU
- ReLU及其变体,如Leaky ReLU和SiLU,已成为许多现代计算机视觉架构的默认选择。与 Tanh 不同,ReLU 的计算成本并不高,而且有助于缓解梯度消失问题,即在反向传播过程中梯度变得极小。不过,在需要有界输出的特定情况下,Tanh 仍然很有价值。你可以在Ultralytics YOLO11 等模型中看到现代激活函数的应用。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)