论文题目:Champion-level drone racing using deep reinforcement learning
发文单位:苏黎世大学、慕尼黑英特尔实验室、怀俄明州杰克逊英特尔实验室
级别:Nature(2023)
首次展示了一个完全自主的无人机系统 Swift,在真实世界竞技环境中实现了世界冠军级的 FPV(第一人称视角)无人机竞速性能。该系统仅依赖 机载传感器 和 计算资源,无需外部定位系统(如动作捕捉系统),在对抗多位世界冠军级人类选手的比赛中,取得了显著优势。这一成果代表了机器人学和人工智能领域的重要里程碑,标志着强化学习在真实世界物理系统中的首次冠军级应用。
研究背景与挑战
FPV 无人机竞速是一项高强度的体育竞技,要求飞行员以超过 100 km/h 的速度,在复杂三维赛道中完成高机动动作。人类飞行员通过头戴式显示器实时接收机载摄像头画面,依靠极高反应速度与空间感知能力完成飞行。
构建一个能达到人类冠军水平的完全自主系统面临两大核心挑战:
- 感知挑战:无人机必须仅凭机载摄像头与惯性传感器,在快速飞行中实时估计自身位置与姿态,且误差不能累积。
- 控制挑战:控制系统必须在物理极限下操作无人机,包括高达 5 倍重力的加速度、极高角速度,同时避免碰撞。
此前的研究要么依赖外部动作捕捉系统(不公平),要么在真实世界中性能远逊于人类。
Swift 系统架构
Swift 系统由两个核心模块组成:
感知系统(Perception System)
- 视觉-惯性里程计(
VIO):使用Intel RealSense T265相机,结合IMU数据,提供高频(100Hz)状态估计。 - 门检测网络:基于
U-Net的卷积神经网络,实时检测图像中赛门的四个角点。 - 卡尔曼滤波器:将
VIO输出与门检测结果融合,修正累积漂移,输出稳定的全局位姿估计。
控制系统(Control Policy)
-
策略网络:一个两层
MLP(128×128),输入为当前状态与下一个赛门的相对位姿,输出为期望的推力与角速度。 -
训练方法:使用模型无关的 on-policy 强化学习(
PPO)在仿真环境中训练,奖励函数综合考虑:- 向前推进速度(progress)
- 保持赛门在视野中(perception awareness)
- 控制平滑性
- 碰撞惩罚
仿真到现实的迁移(Sim-to-Real Transfer)
为弥合仿真与现实之间的差距,Swift 采用了基于真实数据的残差建模方法:
残差观测模型(Residual Observation Model)
- 使用高斯过程(Gaussian Process)建模
VIO的漂移误差,从少量真实飞行数据中估计。 - 将估计出的误差分布注入仿真环境,增强训练时的感知不确定性。
残差动力学模型(Residual Dynamics Model)
- 使用 k-近邻回归(
k-NN)建模真实系统中未被仿真捕获的动力学偏差。 - 将残差力与力矩注入仿真,使仿真器更贴近真实飞行表现。
这种“经验增强仿真”策略使得 Swift 在无需大量真实数据的情况下,成功实现从仿真到现实的高效迁移。
实验设计与结果
实验设置
-
赛道:由世界冠军级人类飞行员设计,包含 7 个方形赛门,总长 75 米,设有 Split-S 等高难度机动。
-
对手:
Alex Vanover(2019 年Drone Racing League世界冠军)Thomas Bitmatta(两届MultiGP世界冠军)Marvin Schaepper(三届瑞士冠军)
-
比赛形式:
- 一对一竞速,三圈定胜负。
- 每场比赛从真实起跑台出发,由声音信号启动。
- 允许坠机后继续比赛,前提无人机仍可飞行。
比赛结果
| 对手 | 总场次 | Swift 胜 | Swift 负 | 胜率 | 最快圈速 |
|---|---|---|---|---|---|
Vanover | 9 | 5 | 4 | 55.6% | 17.96s |
Bitmatta | 7 | 4 | 3 | 57.1% | 18.75s |
Schaepper | 9 | 6 | 3 | 66.7% | 21.16s |
| 总计 | 25 | 15 | 10 | 60% | 17.47s |
- Swift 在所有对手中均取得胜率领先。
- Swift 创下该赛道的最快官方记录,比人类最快成绩 快 0.5 秒。
- 分析显示,Swift 在起步反应时间、急转弯(如 Split-S)中表现尤为突出。
技术分析与优势
与人类对比
| 维度 | Swift | 人类飞行员 |
|---|---|---|
| 传感器延迟 | 40ms | 220ms |
| 感知输入 | 摄像头+IMU | 摄像头 |
| 控制频率 | 100Hz | 手动操控 |
| 策略优化 | 长期奖励最大化 | 短视规划(通常只看下一个门) |
| 飞行风格 | 稳定激进、路径最短 | 波动大、策略保守 |
MPC + 时间最优轨迹
MPC 在理想条件下表现好,但在感知误差或动力学不确定性下迅速失效。
MPC 是一种基于模型的控制方法,它在每个控制周期内:
- 使用系统动力学模型预测未来一段时间内的状态轨迹;
- 在约束条件(如推力限制、姿态角限制)下,优化控制输入,使得某个目标函数(如时间最短、路径最短)最小;
- 只执行第一步控制指令,下一周期重新计算。
时间最优轨迹是指在给定赛道模型和无人机动力学模型下,数学上最短时间的飞行路径。通常通过凸优化或非线性优化算法(如 direct collocation)预先计算。
关键假设:
| 假设 | 含义 |
|---|---|
| 动力学模型准确 | 系统行为与模型完全一致 |
| 状态估计完美 | 位置、速度、姿态无误差 |
| 环境静态已知 | 赛道结构、门位置不变 |
| 无外部扰动 | 无风、无延迟、无传感器噪声 |
失败机制:现实一旦偏离模型,系统崩溃
- 感知误差 → 状态估计不准 →
MPC基于错误状态优化,导致轨迹偏离; - 动力学偏差 → 模型预测与实际飞行不一致 → 控制器“自信地”执行错误指令;
- 门位置误差 → 预计算轨迹穿越空气 → 实际飞行撞门。
实验表现(论文中数据)
| 设置 | 完成情况 | 原因 |
|---|---|---|
| 理想仿真(完美状态+理想模型) | 100% 完成,最快圈速 4.88s | 所有假设成立 |
| 真实世界(有噪声状态+模型偏差) | 0% 完成 | 控制器无法适应偏差,轨迹失败 |
MPC + 时间最优轨迹是“理想主义者”,在仿真中表现惊艳,但在真实世界中“玻璃心”,一旦现实偏离模型,立即崩溃。
零样本迁移 + 域随机化
无法适应真实世界的复杂感知误差。
零样本迁移(Zero-shot Transfer):
- 在仿真环境中训练一个强化学习策略(如
PPO); - 训练完成后不经过任何真实世界调参,直接部署到真实无人机上。
域随机化(Domain Randomization):
- 在训练时随机扰动仿真参数(如质量、推力、延迟、图像亮度、传感器噪声等),希望策略学会“对各种变化都不敏感”;
- 目的是提高策略的鲁棒性,减少对真实系统的精确建模需求。
关键假设:
| 假设 | 含义 |
|---|---|
| 随机化空间覆盖真实分布 | 所有真实偏差都在训练扰动范围内 |
| 策略能自动学习鲁棒特征 | 网络能从噪声中提取不变性 |
| 真实误差可建模为扰动 | 如高斯噪声、均匀分布偏移等 |
失败机制:真实误差 ≠ 随机扰动
感知误差结构复杂:
- 视觉-惯性里程计(
VIO)漂移并非简单高斯噪声,而是系统性偏差(如特征丢失、尺度漂移、IMU积分误差); - 域随机化无法覆盖这种结构化误差。
动力学误差非随机:
- 螺旋桨推力-电压关系、空气阻力、电池压降等误差具有物理一致性,不是简单随机扰动能模拟的;
- 策略在面对这些误差时,表现出“灾难性遗忘”。
实验表现(论文中数据)
| 设置 | 完成情况 | 原因 |
|---|---|---|
| 理想仿真 | 100% 完成,圈速 4.92s | |
| 真实世界(域随机化策略) | 9% 完成 | 无法适应真实误差结构 |
域随机化像“盲人摸象”,试图用随机扰动模拟真实世界,但真实误差是结构化的,不是随机能覆盖的。
Swift
通过残差建模,在真实世界中稳健运行,完成率 100%。
方法原理
Swift 的核心创新是用真实数据建模误差,而非试图消除误差:
残差观测模型(Residual Observation Model):
- 用高斯过程(GP) 拟合
VIO的系统性漂移误差; - 误差作为“状态函数”建模(如高速时
VIO漂移更大); - 在仿真中采样这些误差,让策略学会“在误差存在下如何飞行”。
残差动力学模型(Residual Dynamics Model):
- 用k-近邻回归(
k-NN) 建模真实动力学与仿真模型的偏差; - 包括推力-电压非线性、空气阻力、电池压降等;
- 在仿真中叠加这些残差力/力矩,使仿真更贴近真实。
微调(Fine-tuning):
- 仅用 3 次真实飞行(约 50 秒) ;
- 更新策略网络权重,适应残差模型;
- 门检测网络权重冻结,避免过拟合。
关键优势
| 维度 | Swift | 其他方法 |
|---|---|---|
| 误差建模 | 数据驱动,真实误差结构 | 假设零误差或随机扰动 |
| 迁移成本 | 50 秒真实数据 | 需大量调参或重新训练 |
| 鲁棒性 | 对感知/动力学误差稳健 | 对误差敏感 |
| 完成率 | 100% | 0%-9% |
实验表现(论文中数据)
| 设置 | 完成情况 | 最快圈速 | 备注 |
|---|---|---|---|
| 真实世界(Swift) | 100% 完成 | 17.47s | 击败世界冠军 |
| 与人类对比 | 胜率 60% | 比人类快 0.5s | 世界冠军级表现 |
总结:Swift 不是试图“消灭误差”,而是“学会与误差共存”。它用真实数据建模误差结构,让策略在仿真中就能“预见”现实中的偏差,从而在真实世界中稳健运行。
三者的本质差异
| 维度 | MPC + 时间最优 | 零样本 + 域随机化 | Swift(残差建模) |
|---|---|---|---|
| 误差处理方式 | 假设无误差 | 随机扰动模拟误差 | 数据建模真实误差 |
| 对模型依赖 | 极高(需精确模型) | 中(需扰动空间) | 低(用数据修正) |
| 真实数据需求 | 几乎为零 | 几乎为零 | 50 秒微调 |
| 真实世界表现 | 0% 完成 | 9% 完成 | 100% 完成 |
| 可扩展性 | 差(需重新建模) | 差(需重新训练) | 高(只需新数据) |
MPC + 时间最优是“理想主义者”,在完美假设下表现最佳,但现实世界从不完美;
零样本 + 域随机化是“泛化幻觉”,试图用随机扰动模拟真实误差,但真实误差是结构化的;
Swift是“现实适配者”,用少量真实数据建模误差结构,让策略在仿真中就能“预见”现实,从而在真实世界中稳健运行。
局限与未来方向
尽管 Swift 实现了突破,但仍存在以下局限:
- 鲁棒性不足:对环境光照变化、坠机后恢复等缺乏适应能力。
- 训练依赖赛道:需提前采集该赛道的真实数据进行调优。
- 感知系统脆弱:一旦门检测失败,系统可能失控。
未来工作将聚焦于:
- 增强鲁棒性:通过域随机化与多环境训练提升泛化能力。
- 在线学习:使系统能在比赛中实时适应新环境。
- 推广至其他系统:如自动驾驶、机器人臂等。
结论
Swift 是首个在真实世界竞技体育中击败世界冠军级人类选手的自主系统,其成功不仅展示了强化学习在物理系统中的巨大潜力,也为未来在自动驾驶、工业机器人、空间探索等领域的应用奠定了技术与方法论基础。这项工作不仅是机器人学的里程碑,更是人工智能迈向真实世界复杂任务的关键一步。