让无人机飞入自动驾驶世界:南科大开源CARLA-Air,一个进程搞定空地协同仿真

张开发
2026/4/18 3:36:14 15 分钟阅读

分享文章

让无人机飞入自动驾驶世界:南科大开源CARLA-Air,一个进程搞定空地协同仿真
「空地一体化仿真平台」目录01 一山不容二虎组合式设计巧解引擎底层冲突02 亮点一零修改迁移原有代码直接复用03 亮点二微秒级通信告别桥接延迟04 亮点三18种传感器模态空地同步一键采集05 实验与表现06 总结与延伸低空经济正在加速起飞无人机配送、空中巡检、空地协同救援等场景层出不穷。但一个尴尬的现实是当研究者需要让无人机和自动驾驶汽车在同一个城市场景中协同工作时却找不到一个好用的仿真平台。自动驾驶领域的明星仿真器CARLA拥有逼真的城市街景和丰富的交通流却飞不了无人机无人机仿真器AirSim飞行物理精确却没有真实的地面交通和行人。以往研究者只能用桥接的方式把两者勉强拼在一起但跨进程通信带来的延迟和时空不一致让精密的空地协同实验几乎无从谈起。为了彻底打通天地之间的仿真壁垒南方科技大学的研究团队联合深圳市机器人与计算机视觉重点实验室提出了CARLA-Air——一个在单个Unreal Engine进程中同时运行CARLA和AirSim的开源统一仿真平台让空地协同的具身智能研究真正成为可能。该项目发布当日即登顶 HuggingFace 每日论文关注榜首并在数周内收获GitHub 400 Stars。研究团队已开源全部代码并提供预编译打包文件下载后无需配置环境一键即可运行文末附链接。01一山不容二虎组合式设计巧解引擎底层冲突要理解CARLA-Air的核心创新首先需要了解一个Unreal Engine 4UE4的底层限制每个世界只能有一个活跃的Game Mode。CARLA和AirSim各自深度耦合了自己的Game Mode如果简单地将两者塞进同一个UE4进程必然有一方的Game Mode被覆盖导致其API完全失效。CARLA-Air的解法堪称精妙。研究团队设计了一个名为CARLAAirGameMode的统一游戏模式它通过继承获得CARLA的地面子系统交通管理、天气控制、行人行为等同时通过组合将AirSim的空中飞行体Aerial Flight Actor作为普通的世界实体纳入其中。这种继承组合的设计哲学仅修改了上游CARLA代码库约35行就实现了两大仿真引擎在同一进程中的和谐共存。图1 | CARLA-Air统一仿真世界一览。在同一个高保真城市场景中行人、车辆和无人机共享物理一致的仿真环境右侧展示了平台支持的自定义资产导入和空地协同能力。这种天地一体的仿真世界正是CARLA-Air的核心价值所在。在运行时CARLA-Air在单个UE4进程内同时托管CARLA RPC Server和AirSim RPC Server两个独立的通信服务端。研究者可以通过一个Python脚本同时驱动地面客户端和空中客户端所有空中和地面平台在每个仿真Tick内同步采集数据共享渲染管线、天气系统和物理时钟。图2 | 一山不容二虎的破解之道。左侧(a)展示了朴素方案的困境——两个Game Mode争抢唯一的槽位必有一方被丢弃右侧(b)是CARLA-Air的组合式解决方案——CARLAAirGameMode继承CARLA的地面子系统同时将AirSim的飞行体以组合方式纳入巧妙地在单个Game Mode槽位中容纳了两套完整的仿真能力。02亮点一零修改迁移原有代码直接复用对于已经在CARLA或AirSim上积累了大量代码的研究者来说迁移成本是选择新平台时最大的顾虑。CARLA-Air在这一点上做到了极致它完整保留了两个平台的原生Python API和ROS 2接口研究者无需修改任何一行已有代码。具体而言CARLA的89项自动化API测试全部通过AirSim的全部飞行控制和传感器访问API均已验证平台还发布了63个ROS 2 topics43个CARLA 14个AirSim 6个通用。这意味着无论是CARLA社区的manual_control.py手动驾驶脚本还是AirSim的hello_drone.py基础飞行演示都可以在CARLA-Air中直接运行。图3 | CARLA-Air运行时架构。单个UE4进程内同时托管两套RPC服务器通过统一的CARLAAirGameMode实现共享物理Tick、共享渲染管线和共享天气系统。研究者只需一个Python脚本就能同时操控地面车辆和空中无人机。03亮点二微秒级通信告别桥接延迟桥接式联合仿真的最大痛点在于跨进程通信延迟。由于CARLA和AirSim运行在不同进程甚至不同机器上每次数据交换都需要经过序列化、网络传输和反序列化往返延迟通常在1000到5000微秒之间且无法保证两个仿真器的物理时钟严格同步。CARLA-Air通过单进程架构彻底消除了这一瓶颈。实测数据显示轻量级状态查询如获取位姿的API往返延迟仅为280到490微秒Actor生成约1850微秒图像捕获约3200微秒——所有操作均在同一进程的共享内存中完成无需任何跨进程通信。更关键的是由于共享同一个物理Tick空中和地面传感器的数据在时间上实现了绝对同步最大对齐偏差不超过1个Tick。图4 | ROS平台运行测试。 在RViz中同步可视化无人机与车辆的多模态传感器数据无人机与车辆传感器均呈现出高度一致的视觉效果充分验证了空地传感器之间出色的感知一致性。04亮点三18种传感器模态空地同步一键采集在具身智能和多模态感知研究中构建大规模的配对数据集是训练模型的关键瓶颈。CARLA-Air支持多达18种传感器模态的同步采集包括RGB相机、深度图、语义分割、实例分割、表面法线、LiDAR点云、LiDAR鸟瞰图、雷达、IMU、GNSS、气压计等。图5 | 无人机追踪卡车任务中的机载传感器数据采集可视化。 上方为三路RGB相机合成的全景图像下方依次为深度图、语义分割图及机载LiDAR点云。所有传感器数据均可同步采集与落盘内外参保持稳定时间戳严格对齐。在一次典型的数据采集实验中平台以17.1 FPS的帧率同时运行12路传感器流6路车辆视角 6路无人机视角持续采集1000个Tick的数据每个Tick的写入延迟仅为61±9毫秒且全程零RPC错误。图6 | 单Tick内同步采集的12路多模态传感器流。上排为地面车辆视角下排为无人机鸟瞰视角从左到右依次为RGB、语义分割、深度图、LiDAR鸟瞰、表面法线和实例分割。由于共享同一个渲染管线和天气条件所有数据在时空上实现了零误差对齐。05 实验与表现CARLA-Air的性能评估在NVIDIA RTX A400016GB显存、AMD Ryzen 7 5800X和32GB内存的硬件配置上进行。在帧率方面地面单独运行时为28.4 FPS空中单独运行时为44.7 FPS空地联合运行时为19.8±1.1 FPS。集成带来的帧率开销约为30.3%8.6 FPS其中2.1 FPS归因于地面共存6.5 FPS归因于空中物理引擎的计算。值得注意的是当车辆数量翻倍进入交通监控模式时帧率几乎不变20.1 FPS说明平台对Actor数量具有良好的扩展性。图7 | CARLA-Air稳定性测试量化结果。 经过三小时无人机、车辆、行人及传感器的持续创建与销毁压力测试CARLA-Air全程保持稳定运行无任何卡顿或报错最低帧率维持在19.7 FPS。这一长时复杂任务下的稳定性表现使CARLA-Air能够胜任数据采集、在线强化学习等长周期任务场景。在稳定性方面平台经历了长达3小时的耐久测试期间完成了357个Actor生成/销毁周期帧率始终稳定在19.7±1.3 FPS显存无显著累积线性拟合R²仅0.11全程零API错误、零仿真崩溃。图8 | 空地协同精准降落全过程。(a)时序图展示了无人机从接近到触地的五个关键时刻(b)3D轨迹显示无人机轨迹蓝色逐步收敛到车辆轨迹橙色(c)高度曲线记录了从12米到地面的平滑下降过程(d)水平误差从约6米迅速收敛至0.5米以内。整个过程以19.3 FPS运行耗时约20秒零RPC错误。在具身导航方面CARLA-Air还展示了支持视觉语言动作VLA数据生成的能力。无人机可以在城市上空自主跟踪行人每一帧都伴随着链式推理Think/Action的注释为训练具身导航大模型提供了丰富的标注数据。图9 | 无人机自主跟踪行人的视觉语言导航演示无人机与行人飞别用蓝色框与红色框标记无人机接受的指令为“跟随在行人后方保持行人位于相机画面中心”。该过程展示了CarlaAir平台在生成VLA训练数据验证空地协同VLA算法以及进行在线强化学习方面的潜力。06总结与延伸CARLA-Air的出现代表了仿真基础设施从单域专精向跨域融合演进的重要趋势。它以极其优雅的工程设计——仅修改约35行上游代码——就打通了地面驾驶与空中飞行之间的仿真壁垒为空地协同、跨视角感知、具身导航和强化学习等前沿方向提供了统一的实验底座。随着低空经济的蓬勃发展和具身大模型的快速演进空地协同智能正在从学术概念走向工程落地。CARLA-Air作为一个完备的开源项目是否会成为这一领域的标准基础设施REF•论文标题CARLA-Air: Fly Drones Inside a CARLA World — A Unified Infrastructure for Air-Ground Embodied Intelligence•论文链接https://arxiv.org/abs/2603.28032•项目主页https://github.com/louiszengCN/CarlaAir

更多文章