文章来源:鼓捣AI。
🎯 一、研究动机现有方法的局限性
尽管自主无人机竞速(ADR)已达到冠军级水平,但存在三大核心问题:
1. 高度专用化:依赖门角检测、PnP算法、精确的相机标定和手工调参的卡尔曼滤波器
2. 泛化能力差:无法适应未知赛道、不同无人机或非结构化环境
3. 端到端视觉方法的缺陷:
• 现有方法都需要外部辅助(如动作捕捉系统)
• 无法机载运行
• 未达到冠军级性能(加速度仅2-2.7g)
挑战
说明
仿真图像与真实图像差异大
相似场景需要不同飞行路径
端到端黑盒模型难以调试
外参标定耗时且易变化
论文链接:https://arxiv.org/pdf/2510.14783v1.pdf
• 顶部图片:真实飞行场景,展示MAVLab门和飞行轨迹
• 底部左图:使用的竞速无人机(与A2RL x DCL 2025比赛相同)
• 底部右图:机载相机拍摄的图像,红色区域为GateNet生成的分割掩码
SkyDreamer的核心思想是将模型强化学习与特权信息(privileged information)巧妙结合。它基于DreamerV3的模型强化学习框架构建,但做了关键扩展:让世界模型不仅预测未来,还要解码出那些只在训练时可用的"特权信息"——包括精确的位置、速度、姿态角,以及相机外参和无人机动力学参数。这个设计看似简单,却带来了革命性的变化:世界模型不再是一个纯粹的黑盒预测器,而是变成了一个隐式的状态和参数估计器。
观察 → 编码器 → 隐藏状态 → 解码器 → 特权信息
标准DreamerV3
• 彩色方块:编码器输入(观察)
• enc:编码器
• dec:解码器
• zt:离散潜在表示
• ht:隐藏状态
• at:动作
• 紫色箭头:序列模型的时序连接
关键组件:
1. 世界模型(World Model)
• 编码器: 将分割掩码、IMU、电机转速编码为离散表示 zt
• 序列模型: GRU预测下一隐藏状态 h_{t+1}
• 动态预测器: 纯粹从 ht预测 ẑt(用于想象rollout)
• 解码器: 从 (ht, zt)解码出真实状态和参数
SkyDreamer世界模型学习
• 齿轮+相机图标:特权信息解码输出
• dyn:动态预测器
2. Actor-Critic
• Actor直接输出电机命令(非集体推力+姿态速率)
• 添加平滑正则化防止bang-bang控制
SkyDreamer Actor-Critic学习
• 想象rollout:仅使用动态预测器,无环境反馈
解决视觉歧义问题:
f_i = [
p_g^i - p_g^{i-1},# 相对位置差
ψ_g^i - ψ_g^{i-1},# 相对偏航角
p_g^i, ψ_g^i,# 绝对位置和偏航
...,# 未来3个门的信息
p_g^{i+2}, ψ_g^{i+2}
]
触发条件:当估计的门相对位置 x̂_g > -0.15m时更新门索引
② 视觉增强(Visual Augmentation)
StochGAN + 数据增强:
1. CycleGAN变体:将理想分割掩码转换为真实质量掩码
2. 随机腐蚀:50%概率腐蚀1像素模拟掩码变薄
3. 滚动快门模拟:A = [1, -s·r_c, W/2·s·r_c ]
[0, 1+s·q_c, -H/2·s·q_c ]
模拟水平剪切和垂直缩放
• 内参标定:所有图像映射到固定针孔模型
• 外参在线估计:世界模型解码相机俯仰角、横滚角、偏航角
核心公式:
K = [25W/64, 0, 0.5W ]
[ 0, 25H/64, 0.5H ]
[ 0, 0, 1 ]🧪 三、实验结果与分析3.1 性能表现仿真实验(梯子倒环赛道)
指标
数值
13 m/s
6 g
6×4 m
±10-15 cm
±0.5 m/s
仿真梯子倒环赛道
左图(俯视图)
• 黑色线:ground truth轨迹
• 彩色线:SkyDreamer估计的位置和速度
• 颜色编码:速度大小(紫色2m/s → 黄色12m/s)
• 黑色方块:门位置(厚度夸张显示)
• 黑色箭头:相机主轴方向
右图(侧视图 + 3D渲染)
• 彩色轨迹:ground truth位置和速度
• 颜色条:速度刻度(0-12 m/s)
赛道
成功率
平均圈速
最高速度
最大加速度
倒环(橙色门)
100% (25/25圈)
3.25±0.22s
13 m/s
6 g
梯子倒环
100% (25/25圈)
3.62±0.06s
-
6 g
倒环(MAVLab门)
100% (25/25圈)
2.97±0.08s
-
-
大赛道
83% (10/12圈)
-
6 g
真实世界倒环赛道(橙色门)
左侧轨迹图
• 黑色线:MoCap ground truth
• 彩色线:SkyDreamer估计
• 颜色编码:速度(紫色2m/s → 黄色12m/s)
• 黑色方块:门位置(厚度夸张)
• 黑色箭头:相机主轴方向
右侧合成图
• 多条叠加轨迹:5圈飞行的叠加
• 展示轨迹在门中心的汇聚
成功估计的参数:
• ✅ 最大电机转速 ω_max(收敛快,误差小)
• ✅ 推力系数 k_w
• ✅ 电机响应时间 τ
• ✅ 相机外参 θ_c, φ_c, ψ_c(±1°)
难以估计的参数:
• ❌ 阻力系数 k_x
• ⚠️ 单个螺旋桨响应 k_{p1}, k_{q1}(有漂移)
实验场景:电池从满电到30%放电
• 最大转速下降:3200 → 2200 rad/s(降低30%,超出训练范围±20%)
• 结果:SkyDreamer实时检测并调整飞行路径,仍完成所有圈数
MAVLab门实验:
• 分割质量差:门边缘不完整、背景误检、形状圆润
• 结果:仍100%完成25圈,证明对感知噪声鲁棒
方法
机载运行
Sim-to-Real
冠军级性能
可解释性
Kaufmann等[1]
✅
✅
✅ (6g)
❌
Geles等[4]
❌
✅
❌ (2g)
❌
Xing等[5]
❌
❌ (HIL)
❌ (2.7 TWR)
❌
Romero等[6]
❌
❌ (HIL)
❌
⚠️
Krinner等[7]
❌
❌ (HIL)
❌
✅
✅
✅
✅ (6g)
✅
📊 四、技术细节4.1 训练设置
三阶段训练(1700万步,约50小时):
1. 预热阶段(0-800万步):默认DreamerV3设置
2. 长序列阶段(800-1300万步):batch length从64→256
3. 精调阶段(1300-1700万步):降低熵系数和学习率
关键超参数:
γ =0.997# 折扣因子
λ_smooth =0.002# 平滑正则化系数
control_freq =90Hz
image_size =64×644.2 奖励函数r_t =5·r_prog - r_rate +30·r_gate
r_prog = ||p_{t-1,g}||_2 - ||p_{t,g}||_2# 进度奖励
r_rate = exp(min(||Ω_t||_1,17))/2·f_c·10^5# 角速度惩罚
r_gate =1-max(|y_g|, |z_g|)/d_g# 穿门奖励(中心最大)
无感知奖励:相机自然朝向门(涌现行为)
💭 五、结论与启示主要贡献
1. 首个端到端视觉→电机命令的ADR策略
2. 首次达到冠军级性能(6g加速度,21 m/s速度)
3. 首次实现全机载、无外部辅助的端到端视觉ADR
4. 通过解码特权信息实现可解释性
5. 无需外参标定,可快速部署到不同无人机
1. ⚠️ 参数估计存在漂移
2. ⚠️ 状态估计有高频跳变
3. ⚠️ 对分割假阳性仍敏感
4. ⚠️ 训练成本高(50小时)
• 扩展到深度图等更通用视觉输入
• 飞行未见赛道
• 泛化到非结构化环境
• 结合障碍物避让的混合任务
"通过让世界模型解码特权信息,我们将黑盒端到端策略转变为隐式状态和参数估计器,在保持端到端学习优势的同时获得了可解释性。"