Skip to content

Latest commit

 

History

History
executable file
·
461 lines (385 loc) · 21.1 KB

File metadata and controls

executable file
·
461 lines (385 loc) · 21.1 KB

CARLA-Air:在 CARLA 世界里飞无人机

空地一体具身智能统一仿真基础设施

CARLA-Air 演示 — 点击观看完整视频

CARLA-Air 是一个开源仿真基础设施,在单一 Unreal Engine 进程中统一了高保真城市驾驶与物理精确的多旋翼飞行,为空地一体具身智能研究提供了实用的仿真基础。

👉 预构建可执行文件 — Ubuntu(20.04 / 22.04),无需编译:
百度网盘 | Hugging Face

👉 预构建可执行文件 — Windows(推荐 Windows 11 x86_64),无需编译:
百度网盘

#1 Paper of the Day Paper PDF arXiv GitHub Stars Version License: Non-Commercial Python 3.8+ CARLA 0.9.16 AirSim 1.8.1 Platform

English | 简体中文   |   📄 论文  |  🌐 项目主页  |  📖 文档  |  🎬 视频

Ubuntu — 百度网盘 Ubuntu — Hugging Face Windows — 百度网盘 WeChat Group

📌 目录

🔥 最新动态

  • [2026-04-20] 🤖 ROS 2 示例上线! —— 车/机传感器轻量桥接脚本 + RViz 2 预设布局,位于 examples/ros2/。直连 Humble,无需编译 carla-ros-bridge
  • [2026-04-17] 🌐 项目主页正式上线! -- 访问官网了解 CARLA-Air 的全部功能、教程与演示。
  • [2026-04-16] $\color{red}{\textbf{Windows 版预编译包已发布。}}$ 下载: 百度网盘 — Windows 构建(推荐 Win11 x86_64;无需编译)
  • [2026-04-10] Windows 源码分支 Windows 源码分支已发布 -- Windows 构建与运行支持现已在独立分支中提供
  • [2026-04-01] 🏆 $\color{red}{\text{\textbf{登顶 Hugging Face Daily Papers(No.~1 Paper of the Day)!}}}$论文 / 榜单页
  • [2026-03-30] 📄 技术报告发布 -- 阅读论文
  • [2026-03-31] 🚀 项目主页、教程文档及开箱即用的二进制发布包已上线!访问 carla-air.com
  • [2026-03] v0.1.7 发布 -- VSync 修复、稳定交通系统、一键环境配置、无人机录制工具、坐标系文档
  • [2026-03] v0.1.6 发布 -- 自动交通生成、UE4 原生 Sweep 碰撞、地面夹紧系统
  • [2026-03] v0.1.5 发布 -- 12 方向碰撞系统、双语帮助菜单(H
  • [2026-03] v0.1.4 发布 -- ROS2 验证(63 个话题)、首个官方二进制发布

✨ 核心亮点

🏗️ 单进程组合式集成 CARLAAirGameMode 继承 CARLA 并组合 AirSim。仅修改上游 2 个文件(约 35 行)。无桥接,无延迟。
🎯 绝对坐标对齐 CARLA(左手系)与 AirSim(NED)坐标系之间精确 0.0000 m 误差。
📸 多达 18 种传感器模态 RGB、深度图、语义分割、实例分割、LiDAR、雷达、表面法线、IMU、GNSS、气压计 -- 空地传感器逐帧对齐。
🔄 零修改代码迁移 现有 CARLA 和 AirSim Python 脚本及 ROS 2 节点可直接在 CARLA-Air 上运行,无需任何代码改动。89/89 CARLA API 测试全部通过。
联合负载约 20 FPS 中等联合配置(车辆 + 无人机 + 8 个传感器)稳定运行在 19.8 +/- 1.1 FPS。通信开销 < 0.5 ms(对比桥接联合仿真的 1--5 ms)。
🛡️ 3 小时稳定性验证 357 次生成/销毁循环,零崩溃,零内存累积(R² = 0.11)。
🚁 内置 FPS 无人机控制 在视口中使用 WASD + 鼠标直接驾驶无人机 -- 无需编写 Python 脚本。
🚦 逼真城市交通 规则驱动的交通流、具有社会行为的行人、13 张城市地图。
🧩 可扩展资产导入管线 支持导入自定义机器人平台、无人机配置、车辆模型和环境地图。

CARLA-Air 架构概览


🏆 平台对比

CARLA-Air 与 14 个现有仿真平台的全面对比(基于技术报告表 1)。

类别 平台 城市交通 行人 无人机飞行 单进程 共享渲染器 原生 API 联合传感器 预编译包 测试套件 自定义资产 开源
自动驾驶 CARLA
LGSVL ~
SUMO
MetaDrive ~~
VISTA ~~
空中 / 无人机 AirSim
Flightmare ~
FlightGoggles ~
Gazebo/RotorS ~~~
OmniDrones
gym-pybullet-drones ~~
联合 / 协同仿真 TranSimHub ~
CARLA+SUMO ~
AirSim+Gazebo ~~~~~
具身 AI 与 RL Isaac Lab ~
Isaac Gym ~
Habitat ~
SAPIEN ~
RoboSuite ~
本项目 CARLA-Air ✓†

✓ = 支持;~ = 部分或受限支持;✗ = 不支持;— = 不适用。
† 行人 AI 继承自 CARLA,功能完整;联合场景下高密度 Actor 的行为是当前工程优化目标。


🎮 快速开始

选项 A:预编译版本(推荐)

# 1. 下载并解压 CARLA-Air v0.1.7
tar xzf CarlaAir-v0.1.7.tar.gz
cd CarlaAir-v0.1.7

# 2. 一键环境配置(仅首次需要)
bash env_setup/setup_env.sh      # 创建 conda 环境,安装依赖,部署 carla 模块
conda activate carlaAir
bash env_setup/test_env.sh        # 验证环境:应全部显示 PASS

# 3. 启动仿真器(自动生成交通流)
./CarlaAir.sh Town10HD

# 4. 运行展示脚本!(另开一个终端)
conda activate carlaAir
python3 examples/quick_start_showcase.py

你将看到: 一辆特斯拉在城市中自动巡航,无人机从空中追踪。4 分屏同时展示 RGB、深度图、语义分割和 LiDAR 鸟瞰 -- 全部实时同步。天气自动轮换。

选项 B:从源码编译

请参考源码编译指南,了解如何使用 UE4.26 编译 CARLA-Air。


🐍 一个脚本,两个世界

两套 API 共享同一个仿真世界 -- 无桥接,无同步烦恼。

import carla, airsim

carla_client = carla.Client("localhost", 2000)
air_client   = airsim.MultirotorClient(port=41451)
world = carla_client.get_world()

# 一次天气调用,影响所有传感器 — 地面和空中
world.set_weather(carla.WeatherParameters.HardRainSunset)

# 生成一辆汽车,自动驾驶
vehicle = world.spawn_actor(vehicle_bp, spawn_point)
vehicle.set_autopilot(True)

# 无人机起飞 — 同一个世界,同一场雨,同一套物理
air_client.takeoffAsync().join()
air_client.moveToPositionAsync(80, 30, -25, 5)

6 个演示脚本 -- 逐个体验:

python3 examples/quick_start_showcase.py   # 🎬 4 分屏传感器 + 无人机追踪 + 天气轮换
python3 examples/drive_vehicle.py          # 🚗 WASD 驾驶特斯拉
python3 examples/walk_pedestrian.py        # 🚶 鼠标视角城市漫步
python3 examples/switch_maps.py            # 🗺️  自动飞越全部 13 张地图
python3 examples/sensor_gallery.py         # 📸 单车 6 传感器网格展示
python3 examples/air_ground_sync.py        # 🔄 车 + 无人机分屏:同一场雨,同一世界

录制工具 -- 录制车辆、无人机、行人轨迹,然后用导演相机回放:

python3 examples/recording/record_vehicle.py     # 🚗 键盘驾驶并录制车辆轨迹
python3 examples/recording/record_drone.py       # 🚁 飞行并录制无人机轨迹(零侵入)
python3 examples/recording/record_walker.py      # 🚶 行走并录制行人轨迹
python3 examples/recording/demo_director.py \    # 🎬 多轨迹回放 + 自由相机 + MP4 录制
    trajectories/vehicle_*.json trajectories/drone_*.json

文档: 坐标系换算(CARLA 到 AirSim) | 快速入门指南 | 常见问题


🔬 研究方向与工作流

CARLA-Air 旨在支持空地一体具身智能的四大研究方向:

  1. 空地协同 -- 异构空地智能体在共享城市环境中协作。
  2. 具身导航(VLN/VLA) -- 视觉语言驱动的导航与动作执行,基于高保真城市场景。
  3. 多模态感知与数据集 -- 多样条件下的空地同步传感器数据采集。
  4. 强化学习策略训练 -- 空地联合交互的闭环强化学习训练。

平台提供五个覆盖上述方向的参考工作流:

工作流 研究方向 关键成果
W1 空地协同 空地协同 实时跨域协调控制
W2 VLN/VLA 任务 具身导航 跨视角 VLN 数据管线
W3 多模态数据集采集 感知与数据集 12 路同步,1-tick 对齐
W4 跨视角感知 感知与数据集 14/14 天气预设验证通过
W5 RL 训练环境 强化学习策略训练 357 次重置循环,0 次崩溃
W1:空地协同
W1:空地协同
W2:VLN/VLA 数据生成
W2:VLN/VLA 任务
W3:多模态数据集采集
W3:多模态数据集采集
W4:跨视角感知
W4:跨视角感知
W5:RL 训练环境
W5:RL 训练环境
自定义资产导入
自定义资产导入
ROS 2 支持
ROS 2 集成 — 63 个 Topic 覆盖双仿真后端

⌨️ 飞行控制说明

仿真器运行时,点击窗口内部捕获鼠标:

按键 功能
W / A / S / D 前进 / 左移 / 后退 / 右移
Space / Shift 上升 / 下降
Mouse 偏航转向(左右旋转)
Scroll Wheel 调节飞行速度
N 切换天气预设(晴天、雨天、雾天、夜晚等)
P 切换碰撞模式(物理碰撞 vs. 穿墙/无敌)
H 显示/隐藏屏幕帮助菜单
Tab 释放 / 捕获鼠标

📚 文档与教程

我们提供了 6 个精选 Python 示例,展示核心空地协同能力:

示例 说明
quick_start_showcase.py 4 分屏传感器 + 无人机追踪 + 天气轮换
drive_vehicle.py WASD 键盘驾驶特斯拉
walk_pedestrian.py 鼠标视角城市漫步
switch_maps.py 自动飞越全部 13 张地图
sensor_gallery.py 单车 6 传感器网格展示
air_ground_sync.py 车 + 无人机分屏:同一场雨,同一世界

分步教程(8 个脚本位于 CarlaAir_Release/guide/examples/,适合初学者):

# 教程 学习内容
01 01_hello_world.py 连接双 API,验证环境配置
02 02_weather_control.py 实时更改天气参数
03 03_spawn_traffic.py 生成车辆与行人
04 04_sensor_capture.py 挂载与读取传感器
05 05_drone_takeoff.py 基础无人机飞行指令
06 06_drone_sensors.py 空中传感器配置
07 07_combined_demo.py 空地联合操作
08 08_full_showcase.py 全平台能力展示

完整文档:


🗺️ 路线图

  • CARLA + AirSim 单进程集成(UE4.26)
  • FPS 无人机控制(WASD + 鼠标)
  • 自动交通生成(车辆 + 行人)
  • 18 路同步传感器
  • 双 Python API(CARLA + AirSim)
  • ROS2 验证(63 个话题)
  • 一键环境配置
  • 录制工具(车辆、无人机、行人轨迹)
  • 技术报告(PDF
  • 项目主页(carla-air.com
  • 教程文档
  • 3DGS 渲染管线集成
  • World Model 集成
  • 多无人机支持

📝 引用

如果 CARLA-Air 对您的研究有所帮助,请考虑引用我们的论文:

@misc{zeng2026carlaairflydronesinside,
  title={CARLA-Air: Fly Drones Inside a CARLA World -- A Unified Infrastructure for Air-Ground Embodied Intelligence},
  author={Tianle Zeng and Yanci Wen and Hong Zhang},
  year={2026},
  eprint={2603.28032},
  archivePrefix={arXiv},
  primaryClass={cs.RO},
  url={https://arxiv.org/abs/2603.28032}
}

📜 许可证与致谢

CARLA-Air 站在巨人的肩膀上。我们诚挚感谢以下项目的开发者:

CARLA-Air 特有的代码基于 MIT License 分发。CARLA 相关的资产遵循 CC-BY License。


⭐ Star History

Star History Chart