DiffAero:一个用于高效四旋翼策略学习的GPU加速可微仿真框架
摘要
DiffAero 是一个面向四旋翼控制策略学习的GPU加速、完全可微仿真框架,支持环境级与智能体级并行、多种动力学模型以及可定制传感器。它能够在消费级硬件上数小时内完成鲁棒飞行策略的学习,并以开源形式发布。
查看缓存全文
缓存时间: 2026/06/05 02:10
# 面向高效四旋翼策略学习的GPU加速可微分仿真框架
来源:https://arxiv.org/html/2509.10247
Xinhong Zhang, Runqing Wang, Yunfan Ren, Jian Sun, Hao Fang, Jie Chen, 以及 Gang Wang∗本研究部分受国家自然科学基金项目(批准号:U23B2059、62173034、62088101)及中关村学院(批准号:20240307)资助。Xinhong Zhang、Runqing Wang、Jian Sun、Hao Fang 和 Gang Wang 就职于北京理工大学自主智能无人系统全国重点实验室,北京 100081,邮箱:\{xhzhang, bitwrq, sunjian, fangh, gangwang\}@bit\.edu\.cn。Xinhong Zhang 同时就职于北京中关村学院,北京 100094。Yunfan Ren 就职于香港大学机械工程系,邮箱:renyf@connect\.hku\.hk。Jie Chen 就职于哈尔滨工业大学,同时就职于北京理工大学自主智能无人系统全国重点实验室,北京 100081,邮箱:chenjie@bit\.edu\.cn。∗通讯作者。
###### 摘要
本文介绍 DiffAero——一个轻量级、GPU加速且完全可微分的仿真框架,专为高效四旋翼控制策略学习而设计。DiffAero 同时支持环境级和智能体级并行,并在统一的 GPU 原生训练接口中集成了多种动力学模型、可定制传感器组合(IMU、深度相机和 LiDAR)以及多样化飞行任务。通过在 GPU 上全面并行化物理仿真与渲染,DiffAero 消除了 CPU-GPU 数据传输瓶颈,实现了数量级级别的仿真吞吐量提升。与现有仿真器不同,DiffAero 不仅提供高性能仿真,还作为研究平台支持探索可微分及混合学习算法。大量基准测试和真实飞行实验表明,DiffAero 与混合学习算法相结合,可在消费级硬件上数小时内学得鲁棒的飞行策略。代码已开源,详见 https://github\.com/flyingbitac/diffaero。
## 一、引言
四旋翼飞行器——及其组成的集群——因其灵活的机动性和机载感知能力,正被越来越多地部署于复杂环境中,用于空中巡检、环境监测和高速竞速等任务。传统自主飞行架构将飞行功能分解为感知、定位、建图、规划和控制等模块\[1,2\]。尽管这种模块化设计清晰,但分层流水线带来了延迟和累积误差,限制了对四旋翼动力学性能的充分发挥\[3\]。此外,模块间的紧耦合使得设计和调参工作繁琐且脆弱。
端到端学习通过训练神经飞行策略,将原始传感器观测直接映射为控制指令,从而简化了自主飞行栈并实现更紧密的反馈回路,克服了上述局限\[4\]。强化学习(RL)方法通过最大化期望累积奖励的交互过程来训练飞行策略\[5\]。然而,RL 方法——尤其是无模型 RL——通常需要数百万次仿真交互才能习得熟练行为,在处理高维观测(如深度图像)或优化稀疏奖励时尤为如此\[6,7\]。模仿学习(IL)则通过利用专家演示来降低样本复杂度,但由于高度依赖演示的多样性和质量,其泛化能力有限,且数据采集的实际负担较重\[8\]。
参见图1:DiffAero 中任务环境的可视化效果。(a) 位置控制。(b) 竞速。(c) 室外障碍物设置下的避障任务。(d) 室内障碍物设置下的避障任务。为清晰起见,已省略天花板。加速飞行策略学习可从两个方向入手:提升仿真性能,或提高学习算法的数据效率。现有基于 GPU 的无人机仿真器通常构建于已有的物理和渲染引擎之上,从而限制了其仿真和渲染性能。此外,缺乏可微分性和统一学习接口,阻碍了跨范式新型数据高效混合算法的开发与基准测试\[9,10,11\]。
在本文中,聚焦于四旋翼自主飞行,我们旨在通过同时提升仿真性能和数据效率来加速四旋翼策略学习。我们提出了一个GPU加速、可微分且可扩展的航空机器人仿真框架——**DiffAero**,支持高性能交互式四旋翼仿真。与 Aerial Gym\[12\] 相比,DiffAero 在物理仿真和深度渲染方面分别实现了 $1.8\times$ 和 $9.6\times$ 的加速。据我们所知,这是首个在 GPU 上完全执行物理仿真与视觉渲染、同时支持多种动力学模型的可微分仿真框架。通过融合高性能仿真、统一学习接口、学习算法和部署工具,可在消费级硬件上数小时内完成鲁棒可泛化飞行策略的训练、评估与部署。
总体而言,本文的主要贡献概括如下:
1. 我们提出了 DiffAero,一个 GPU 加速的可微分四旋翼仿真器,同时并行化物理仿真与渲染。与现有平台相比,其性能提升达数量级,且 VRAM 占用极小。
2. DiffAero 提供了一个模块化、可扩展的框架,支持四种可微分动力学模型、三种传感器模态和三种飞行任务。其基于 PyTorch 的接口统一了四种学习形式化方法和三种学习范式。这种灵活性使 DiffAero 能够作为学习算法的基准平台,支持研究人员探索从可微分策略学习到多智能体协同等广泛问题。
3. 我们展示了 DiffAero 作为使能研究平台,在探索和评估四旋翼学习算法方面的作用。通过仿真和真实飞行实验,我们证明该框架有助于开发数据高效的可微分及混合学习算法,并实现无缝的仿真到现实迁移,从而加速基于学习的四旋翼飞行控制研究。此外,源代码已向社区开放。
## 二、相关工作
表一:面向交互式策略学习的主流无人机仿真框架特性对比
- 1D 代表深度相机,I 代表 IMU,L 代表 LiDAR。2物理仿真的 FPS 结果在 $8,192$ 个并行环境下测得。3深度相机渲染的 FPS 结果在 $2,048$ 个并行环境下、深度图像分辨率为 $64\times 64$ 的条件下测得,OmniDrones 除外(不支持深度相机)。4数据来自\[10\]。注意,VisFly 的 GPU 并行化支持标记为(✓),因为 VisFly 中渲染的图像以存储在 RAM 中的 NumPy 数组形式返回,导致其仿真性能受 I/O 速度严重限制。
### 二-A 基于学习的自主飞行
基于学习的端到端策略可直接从原始观测进行控制,绕过传统模块化流水线的局限。模仿学习方法通过监督策略网络来模仿专家演示,已在特技飞行\[13\]、导航\[3\]和竞速\[8\]等多种任务中得到应用,但其性能高度依赖多样化演示且泛化能力不足\[14\]。强化学习允许利用仿真产生的数据和奖励来交互式训练飞行策略,在无人机竞速中展示了冠军级别的成果\[7\]。
虽然大多数 RL 方法将四旋翼动力学视为黑箱,但近期研究将可微分仿真与学习过程相结合,将动力学作为解析梯度引入,从而实现更高效的数据驱动训练以及对视觉特征的直接优化。可微分仿真方法\[14\]实现了四旋翼集群从深度图像进行端到端敏捷导航。尽管这些方法数据效率高且能处理高维输入,但设计有效的可微分奖励信号仍具挑战性。此外,类似于人工势场法,学习智能体容易陷入局部最优。SHAC\[15\] 等混合算法通过整合 RL 与可微分学习技术,允许分别灵活地为直接梯度反向传播和终态价值优化设计奖励信号。
### 二-B 无人机仿真器
早期的无人机仿真器(如 Gazebo\[16\])因集成 ROS 以及对物理和传感器仿真的灵活支持而广受欢迎,但在数据生成方面的性能和可扩展性存在局限。以视觉真实感为主要目标,Flightmare\[17\] 和 AirSim\[18\] 借助游戏引擎提供了具有逼真环境渲染的快速仿真,而 Menagerie\[19\] 和 PyBulletDrones\[20\] 则基于 Mujoco\[21\] 和 PyBullet\[22\] 追求高保真物理仿真,但视觉真实感仍较为有限。
近期的仿真器,如 OmniDrones\[9\]、Aerial Gym Simulator\[12\] 和 AirGym\[11\],利用 NVIDIA Omniverse Isaac Sim 和 Isaac Gym\[23\] 探索了用于并行仿真和渲染的 GPU 加速,通过将仿真器状态直接作为 PyTorch\[24\] 张量访问,最大限度地减少了 CPU-GPU 数据传输。然而,这些框架资源消耗大,对系统环境要求严格,且光栅化渲染管线仍然限制了渲染性能。VisFly\[10\] 引入了可微分仿真,但由于图像在 RAM 和 VRAM 之间传输导致的 I/O 速度瓶颈,其性能受到限制,且未提供兼容 RL 与可微分学习算法的统一接口。为克服上述问题,我们完全基于 PyTorch 从头开发了一个新型仿真框架,提供完全 GPU 并行化的可微分仿真能力,同时保持轻量、灵活、易于安装和用户友好的特性。
## 三、DiffAero 仿真框架
参见图2:所开发仿真框架概览。该仿真框架由三个模块化组件构成:(1) 仿真环境,(2) 学习智能体,以及 (3) 导出与部署工具。仿真环境与学习智能体的解耦模块化设计支持近乎任意的模块组合,从而提供高度可定制的训练配置。此外,DiffAero 配备了运行于 GPU 上的类 Gym 学习接口,支持环境与智能体之间的数据直接传输,从而降低数据传输 I/O 开销。DiffAero 还集成了导出与部署工具,用于部署和评估训练好的策略。在本节中,我们介绍 DiffAero 的核心特性和构建模块。DiffAero 是一个可微分、高性能的四旋翼仿真工具包,能够利用现代 GPU 的并行计算能力,同时仿真多个环境,每个环境中包含多个四旋翼实例。
DiffAero 由以下主要组件构成:(1) 高性能、灵活的仿真框架,包括三种四旋翼动力学模型、三种传感器模态和三种飞行任务,并配备类 Gym 交互学习接口;(2) 基于 PyTorch\[24\] 实现的交互式学习库,包含四种可配置网络架构和多种学习算法,针对 GPU 并行仿真所产生的数据进行了训练优化;以及 (3) 用于在其他仿真器或真实四旋翼平台上导出和部署训练好的控制策略的工具集,支持研究人员高效评估性能。DiffAero 的整体概览如图2所示。
### 三-A 可微分动力学
现有的可微分物理引擎\[25,26\] 主要支持通用刚体动力学,并以关节力矩作为动作输入,这与四旋翼仿真的需求不匹配。我们的框架不追求通用性,而是专门针对四旋翼进行定制,实现了四种不同复杂度和保真度的动力学模型,以支持并行、GPU 加速的多保真度四旋翼仿真。
第一种动力学模型为完整四旋翼动力学\[27\],定义如下:
$$\begin{cases}\begin{aligned} \dot{\mathbf{p}}=&\mathbf{v}\\ \dot{\mathbf{v}}=&\mathbf{g}-c\mathbf{z}_{B}-\mathbf{RDR^{\top}v}\\ \dot{\mathbf{q}}=&\frac{1}{2}\mathbf{q}\odot\begin{bmatrix}0\\ \mathbf{\omega}\end{bmatrix}\\ \dot{\mathbf{\omega}}=&\mathbf{J}^{-1}(\mathbf{\tau-\omega\times J\omega})\end{aligned}\end{cases} \quad (1)$$
其中 $\mathbf{p}$ 和 $\mathbf{v}$ 分别为世界坐标系下的位置和速度,$\mathbf{q}$ 和 $\mathbf{\omega}$ 分别表示机体坐标系下的姿态四元数和角速度,$\mathbf{g}$ 为重力加速度向量,$\mathbf{z}_{B}$ 为机体坐标系 z 轴方向的单位向量,$\mathbf{R}$、$\mathbf{D}$ 和 $\mathbf{J}$ 分别为定义在机体坐标系下的旋转矩阵、阻力矩阵和惯性矩阵,$c$ 和 $\tau$ 分别表示合转子推力和力矩,$\odot$ 表示四元数乘积。我们采用几何控制器\[28\],以推力和机体角速率指令作为输入,生成期望的合推力和力矩。动力学模型(1)...相似文章
从噪声到控制:Parameterized Diffusion Policies
本文介绍了参数化扩散策略(Parameterized Diffusion Policy, PDP)框架,该框架通过以低维潜在参数为条件,使扩散策略变得可控,从而实现无需重新训练即可进行平滑的行为插值和自适应。在仿真和真实机器人实验中,该方法在复杂的多模态机器人任务上展现了更优的性能。
Fast-dDrive: 用于自动驾驶的高效块扩散VLM
Fast-dDrive是一种用于端到端自动驾驶的块扩散VLA模型,实现了最先进的轨迹精度,同时相比自回归基线提供了超过12倍的吞吐量加速,解决了高保真规划与边缘部署高效推理之间的权衡。
MuJoCo-Drones-Gym:用于控制与强化学习的GPU加速多无人机仿真器
本文介绍MuJoCo-Drones-Gym,一个基于MuJoCo的GPU加速多无人机仿真器,支持灵活的物理模型、动作接口和观测空间,适用于强化学习与控制研究。
NVIDIA OmniDreams:用于闭环自动驾驶仿真的实时生成式世界模型
NVIDIA推出OmniDreams,这是一个基于Cosmos扩散模型构建的生成式世界模型,用于实时动作条件视频生成,能够在复杂的未见场景中实现自动驾驶策略评估的闭环仿真。
RAD-2:在生成器-判别器框架中扩展强化学习
RAD-2 提出了一个用于自动驾驶的统一生成器-判别器框架,将基于扩散的轨迹生成与强化学习优化的重排序相结合,与基于扩散的规划器相比,碰撞率降低了56%。该方法引入了 Temporally Consistent Group Relative Policy Optimization 和 BEV-Warp 仿真环境等技术,以实现高效的大规模训练。