技术博客
其他

CARLA-Air:让无人机飞进城市仿真世界

Truman2026-07-09 14:51
CARLA-Air:让无人机飞进城市仿真世界

论文链接:

https://arxiv.org/abs/2603.28032 

代码地址:

https://github.com/louiszengCN/CarlaAir





为什么这个工作值得关注?


研究自动驾驶的人用 CARLA,它有逼真的城市街道、遵守交规的车流、自然行走的行人。研究无人机的人用 AirSim,它有精准的多旋翼空气动力学模型,飞得很像真的。


但这两个平台彼此独立、互不相通,就像两个平行世界。


想研究"无人机从空中引导地面车辆绕开拥堵"这类空地协同问题怎么办?过去的做法是把两个模拟器用 ROS 消息桥接起来,让它们通过网络互相传数据。


这个方案听起来可行,但有一个根本性的缺陷:两个进程跑在不同的时钟上,永远无法保证它们在完全相同的"那一帧"上观测世界。


一辆车在模拟器 A 里已经转弯了,无人机在模拟器 B 里还以为它在直行,这种细微的时间错位,在训练感知模型或强化学习策略时会悄悄引入噪音,让结果失去可信度。


CARLA-Air 的核心主张就是:把这两个世界合并到同一个 Unreal Engine 进程里,从根本上消除跨进程同步的开销,并保证所有传感器数据在每一帧都精确对齐。





核心思路


理解 CARLA-Air 的关键在于区分"桥接"和"融合"这两种思路。


桥接就像两个人用电话沟通,哪怕通话很流畅,也永远存在延迟,永远无法做到"同一时刻看到的是同一件事"。融合则是两个人坐在同一张桌子前,看着同一面墙,他们的视角天然同步,无需任何额外协调。


CARLA-Air 量化了这一差距:在传感器数量增加时,桥接方案的每帧数据传输时间几乎线性增长(因为需要跨进程序列化),而 CARLA-Air 的单进程方案则保持近乎恒定。 这对于同时运行多架无人机、多辆车、多种传感器的大规模场景尤为重要。




做了哪些改动与升级?


一个很重要的设计决策是:CARLA-Air 没有重新发明轮子


它完整保留了 CARLA 和 AirSim 各自原生的 Python API 以及 ROS 2 接口,做到了代码零修改复用。这意味着你原来为 CARLA 写的自动驾驶脚本,或者原来跑在 AirSim 上的无人机控制代码,直接就能在 CARLA-Air 里运行,不用改一行。这对科研社区的迁移成本极其友好。


还有一个不得不提的背景,AirSim 的原始维护团队已经停止了更新,这个被广泛使用的飞行仿真栈面临"无人接棒"的困境。


CARLA-Air 通过继承 AirSim 的飞行能力,让这套经典工具链在现代基础设施下继续演进。这在工程上是一种务实的传承。


在新能力方面,在共享物理帧和渲染管线之内,CARLA-Air 能够同步采集多达 18 种传感器模态,横跨空中和地面所有智能体。 ResearchGate RGB 相机、深度图、语义分割、激光雷达,所有这些数据都带有同一个帧号,做数据集时无需任何插值对齐。




工程细节:开箱即用的诚意


CARLA-Air 附带预编译二进制文件和完整源码,支持一键环境配置,并提供了无人机轨迹录制、一键回放、MP4 导出等工具链。 对于不想编译 Unreal Engine 的研究者,下载解压就能跑,这在学术仿真工具里是不多见的。


它支持 13 张城市地图,包含符合交规的车流和社会感知的行人,并提供可扩展的资产管线,允许导入自定义机器人平台、无人机构型和新地图。




总结


CARLA-Air 本质上解决的是"研究基础设施"的问题——它不提出新算法,但为一大类算法的研究提供了过去缺失的地基。


正如 CARLA 当年把自动驾驶仿真研究推向标准化,CARLA-Air 试图在"空地融合智能"这个方向上做同样的事:提供一个共同的、可复现的实验环境,让不同团队的工作可以在同一基准上比较。


从更宏观的视角看,低空经济、城市 UAM(城市空中交通)和空地协同机器人正在从概念走向工程实践。


这类研究越来越需要仿真器能够同时、精确地描述空中和地面的世界。CARLA-Air 给出的答案简洁而直接:不要桥接,直接合并。

点赞收藏
// 评论0
0 / 500
还没有评论,快来抢沙发