自动驾驶仿真器综述

📅 2026/6/19 15:31:15
自动驾驶仿真器综述
现有驾驶仿真器两大技术阵营研究报告执行摘要。现有驾驶仿真器大体可以分成两条主线:一类是CG 类,即以游戏引擎或传统图形学资产管线为核心的仿真器,代表包括 CARLA、MetaDrive、SVL、AWSIM、BeamNG.tech、AirSim;另一类是3DGS 类,即以 3D Gaussian Splatting 为代表的真实场景重建与新视角渲染型仿真器,代表包括 Street Gaussians、DriveStudio、DrivingGaussian、HUGSIM、RealEngine,以及把 3DGS 接进仿真循环的 StreetWorld。CG 类的优势是闭环控制成熟、交通逻辑和物理引擎完整、RL/IL/SL 落地成本低;3DGS 类的优势是视觉保真度更高、与真实世界域差更小、适合高保真感知评测与数据合成。但两者的短板也很鲜明:CG 类往往存在纹理、材质、长尾场景和真实相机成像上的 sim-to-real 差距;3DGS 类虽然显著改善视觉逼真度,但目前多集中在重建、回放、闭环评测,在大规模 RL 训练、通用物理引擎、多场景批量并行、强交互编辑能力方面还没有形成像 CARLA/MetaDrive 那样成熟的生态。如果你的目标是强化学习、课程学习、多智能体训练、要高吞吐和大规模并行,MetaDrive 通常是更高性价比的研究基座;如果你需要端到端自动驾驶系统级评测、丰富传感器、ROS/Autoware/Scenario Runner 生态,CARLA 仍然是开源世界里的主力;如果你更在意真实道路外观、真实相机视角、闭环评估中的视觉真实性,HUGSIM 和 RealEngine 代表了当前 3DGS 仿真器的前沿方向;如果你希望两者兼得,现阶段最可行的路线不是“拿 3DGS 直接替代全部传统仿真器”,而是做成双层架构:传统物理/交通/奖励内核 + 3DGS 渲染前端,用统一 Gymnasium/ROS2 接口连接训练、回放与评测。这条路线已经能从 HUGSIM 的 Gymnasium 化、RealEngine 的闭环评估和 StreetWorld 的 MetaDrive 融合中看出雏形。定义与分类从“场景如何生成”这个最关键的视角看,CG 类与 3DGS 类的本质区别不是界面风格,而是世界表示不同。CG 类用的是显式的地图、网格、材质、道路规则、交通体和传感器模型,通常由 Unreal、Unity、Panda3D 之类的图形引擎或自研图形/物理内核来驱动;3DGS 类则直接从多视角图像、LiDAR、轨迹和检测结果中重建场景,把世界表示成大量带位置、协方差、颜色与不透明度的高斯元,并通过 splatting 做实时渲染。3DGS 原始论文强调其渲染可以实时,且栅格化管线是可微的;HUGSIM 和 RealEngine 则把这套表示推进到了自动驾驶闭环仿真与评测。下面这个分类更适合做选型,而不是只看“是不是开源”。阵营子类代表项目适合做什么当前成熟度CG 类重型通用闭环仿真CARLA、SVL、AWSIM、BeamNG.tech、AirSim系统级 AD 测试、传感器仿真、ROS/Autoware 接入、场景编辑高CG 类轻量高吞吐 RL 仿真MetaDriveRL、MARL、安全 RL、泛化研究、程序式场景生成高3DGS 类重建优先型动态城市场景建模Street Gaussians、DrivingGaussian、DriveStudio高保真场景重建、感知评测、数据合成、视角外推中高3DGS 类闭环评测型自动驾驶仿真HUGSIM、RealEngine闭环评测、高保真视觉、真实日志重放与场景编辑中混合类3DGS 渲染接入传统仿真内核StreetWorld / GaussianDrive用 3DGS 渲染前端服务交互驾驶或 RL 训练早期原型如果按**“你最终要优化什么”来区分,也可以这么理解。CG 类更像“一个可以控、可以改、可以批量生成任务的世界工厂”;3DGS 类更像“一个把真实世界尽量忠实搬进仿真器的高保真数字场景容器”。所以它们并非简单替代关系,而更像“数据效率/控制力”与“视觉真实性/域贴近性”的两端。MetaDrive 的论文明确把重点放在可组合、多样化、面向泛化 RL 的无限场景生成**;CARLA 的论文则强调同时支持经典模块化、模仿学习和强化学习;HUGSIM 和 RealEngine 都是在回应“传统仿真视觉域差仍然明显”这个问题。技术原理与关键组件CG 类的核心原理是:先有显式世界,再去渲染和仿真。它通常包含五层关键组件。第一层是世界资产,包括道路网络、建筑、车辆、行人、交通灯和地图语义;第二层是交通与行为层,例如 CARLA 的 Traffic Manager、Scenario Runner 与 OpenSCENARIO 接口,MetaDrive 的程序式地图、交通流和多智能体策略;第三层是物理与动力学层,负责车辆运动、碰撞、轮胎/车体行为、道路约束;第四层是传感器层,把世界状态转换成 RGB、深度、语义、LiDAR、雷达、IMU、GNSS 等观测;第五层是训练/评测接口层,把仿真器接到 Python API、ROS、Gymnasium 或自定义基准上。CARLA 官方文档和论文都明确把它定位为面向自动驾驶开发、训练与验证的模块化平台;MetaDrive 则强调其 compositional 场景与高吞吐物理仿真。CARLA 的关键组件非常典型。它提供灵活的传感器套件与环境控制,并有成熟的 Python API、ROS Bridge、Scenario Runner、SUMO 共仿真等生态。传感器层面,官方文档列出了 RGB、深度、语义分割、实例分割、宽角相机、DVS 事件相机、光流相机、LiDAR、Hybrid Solid State LiDAR、Semantic LiDAR、Radar、IMU、GNSS、V2X、碰撞与车道侵入检测、RSS 等。这样的“显式建模 + 显式传感器”好处是接口清晰、可控性强,坏处是视觉世界的真实性高度依赖资产质量、材质、光照和后处理。MetaDrive 的设计取向明显不同。它把重点放在程序式场景生成、轻量化运行与 RL 研究友好性上。官方仓库写明它支持“无限场景组合”、可在标准 PC 上达到+1000 FPS,并支持 point cloud、RGB/Depth/Semantic 图像、top-down 语义图和第一人称视角。默认环境即带有 ray-test 风格的 Lidar、SideDetector、LaneLineDetector;如果需要图形传感器,可以通过image_observation与传感器配置接入 RGBCamera、SemanticCamera 等。它还提供 config system、Build New Env 文档、SB3 和 RLlib 示例,因此在“做研究迭代”这件事上,比 CARLA 更轻、更快、更像一个 RL first 的 driving benchmark 平台。3DGS 类的核心原理则是:先从数据中重建世界,再让这个可渲染世界进入仿真回路。原始 3DGS 方法把场景表示为一组各向异性 3D 高斯,并通过可微的 splatting/rasterization 管线实现高质量、实时新视角渲染。官方仓库明确将diff-gaussian-rasterization作为子模块,论文也明确说明其光栅化管线是“fully differentiable”。这使 3DGS 天然适合做基于梯度的场景拟合、视图合成和多模态渲染扩展。HUGSIM 是当前 3DGS 驱动闭环驾驶仿真的代表。其论文说明它从 RGB 图像和噪声 2D/3D 预测中扩展 3DGS,完成外观、语义、光流、深度、刚体运动的整体场景建模,并对地面和动态车辆引入物理约束;其中动态车辆轨迹采用单车模型约束来改进渲染质量。更关键的是,它不仅是渲染器,而是把重建结果“封装成闭环模拟器”,并提供Gymnasium APIs,能用于自动驾驶评测,也为 RL 应用留出了接口。公开论文中,HUGSIM 在一组 RTX 3090 渲染实验里报告了89.15 FPS的渲染性能,且强调相对原始 3DGS 只引入很小的额外开销。RealEngine 走的是另一条很有代表性的路线:它利用真实世界多模态传感器数据,把背景与前景交通参与者分开重建,再通过灵活场景组合形成多样而逼真的仿真交通情境。摘要明确指出它服务三类核心任务:视觉强化评测、驾驶决策测试和多智能体仿真,并同时追求多模态渲染下的感知保真度与几何准确性。其公开仓库进一步透露,它依赖相机与 LiDAR 场景检查点、Navsim mini 数据、DriveX 与 GSLiDAR 子模块,并提供非反应式、安全测试和多智能体交互三类闭环评估脚本。功能边界与训练范式支持从训练范式看,最重要的不只是“能不能跑”,而是“支持到多深一层”。对于 RL,关键是闭环、奖励、吞吐、可并行、可复位;对于 IL,关键是可采集高质量状态-动作轨迹;对于 SL,关键是高质量标注、多传感器同步和可重复数据生成;对于端到端 AD 评测,则需要从传感器到规划/控制的完整回路。CARLA、MetaDrive、HUGSIM、RealEngine 在这四个方向上并不均衡。下面这张表是本文最重要的关键维度对比表。其中“性能”一列优先使用官方文档或原论文给出的公开数字;没有统一公开数字的项目,会明确标注“未给统一 FPS”。需要注意,跨项目 FPS不能直接当作排行榜,因为硬件、分辨率、传感器配置、是否开 GUI、是否并行、是否包含 AI 推理都不同。维度CARLAMetaDriveHUGSIMRealEngine渲染保真度高,游戏引擎级写实;但仍属合成资产世界中等偏高,足够训练但不是照片级优先很高,面向真实日志的 photo-realistic 3DGS 闭环仿真很高,强调 realistic context 与多模态真实数据重建支持 RL强;论文与生态都支持 RL,但通常需自建/社区 Gym 封装强;官方直接给 SB3、RLlib 训练示例中;论文明确给 Gymnasium API,偏评测,也可原型化 RL弱到中;公开仓库重点是闭环评测脚本,不是 RL 训练基座可微渲染官方公开能力不以可微渲染为中心,偏传统图形管线官方公开能力不以可微渲染为中心,偏高吞吐 RL 仿真底层基于 3DGS,多模态渲染训练期可微;仿真接口本身未公开为通用端到端可微 RL API底层同样依赖 3DGS/场景重建,但公开接口重点是评测而非梯度回传物理引擎强;显式车辆/交通/碰撞与场景控制成熟强;官方强调 accurate physics simulation中;含运动学与物理先验,但更像“闭环视觉仿真 + 运动学更新”,不是通用物理沙箱中;公开能力更偏场景组合与轨迹/Bézier 驱动的测试编辑传感器类型RGB/Depth/Semantic/Instance/Wide-angle/DVS/Optical Flow/LiDAR/Semantic LiDAR/Radar/IMU/GNSS/V2X 等默认 Lidar/Side/Lane detector;可扩展 RGB/Depth/Semantic/Top-down 等RGB、语义、光流、深度、运动信息,多模态渲染图像 + LiDAR,多模态评测与渲染性能中;官方未给统一 FPS,Quickstart 要求 8GB+ VRAM,UE5 分支建议 16GB+ VRAM很高;官方写明标准 PC 可达 +1000 FPS高;论文渲染对比实验报告 89.15 FPS on RTX 3090中高;公开 README 未给统一 FPS,但定位高效闭环现实语境仿真可扩展性 / 模块化高;支持自定义地图、传感器、ROS、SUMO、Scenario Runner、源码扩展高;Config system、Build New Env、传感器与多渲染管线可配中;有 GUI、场景导出、Gym 环境和配置文件,但仍偏论文代码组织中;支持 GUI 自定义测试、三类评估脚本,但生态仍早期依赖的算法耦合度低到中;接口通用,但很多 AD baseline 借第三方桥接实现低;直接面向 Gym/SB3/RLlib中到高;需安装 UniAD_SIM / VAD_SIM / NAVSIM 客户端,README 中自动拉起 AD 算法中到高;公开评测以 TransFuser/VAD/DiffusionDrive 为主社区活跃度很高;14.1k stars,28 个 release,最新 release 0.9.16 于 2025-09-16高;1.2k stars,12 个 release,最新 release 0.4.3 于 2024-12-06中;393 stars,公开仓库无 release早期;47 stars,公开仓库无 release许可协议代码 MIT,资产 CC-BY;引擎仍受 Unreal 许可约束Apache-2.0MITMIT主要应用场景AD 系统开发、传感器仿真、ROS/Autoware 接入、IL/RL/评测RL、MARL、安全 RL、泛化与程序式训练高保真闭环视觉评测、真实数据驱动场景仿真、潜在 RL 原型真实语境下决策测试、多智能体与安全测试闭环评估如果只看训练范式支持,可以再压缩成如下判断:CARLA = 全能型系统级平台,MetaDrive = RL first 平台,HUGSIM = 高保真闭环视觉评测平台,带 RL 潜力,RealEngine = 高保真多模态决策评测平台。这也是为什么很多研究团队用 MetaDrive 先把策略训出来,再转 CARLA 做系统验证,最后用 3DGS 场景做视觉真实性压力测试。前两者擅长“训练效率”,后两者擅长“真实性验证”。这个结论并不是官方一句话,而是对其公开能力边界的综合归纳。从小白到专家的使用路径小白阶段:先跑通现成 Demo。对 CARLA,最快的是用官方 packaged 版本:下载压缩包,安装 Python client,然后单独开 server 与示例脚本。官方 Quickstart 说明了 Ubuntu/Windows 的启动方式、默认端口 2000/2001、Python 版本范围和generate_traffic.py、manual_control.py的最小验证方式。需要注意一个现实问题:CARLA 文档中的 Quickstart 页面目前仍指向“当前是 0.9.15 packaged release”,而 GitHub 仓库显示最新 release 已是0.9.16,且主开发分支是 UE5.5 的ue5-dev;做研究时建议先明确自己到底要“稳定 packaged 版本”还是“最新 UE5 开发分支”。下面是CARLA Linux 快速上手的官方命令路径整理版:# 安装 Python clientpython3-mpipinstall--upgradepip python3-mpipinstallcarla# 进入 CARLA 解压目录并启动 servercd/path/to/CARLA_0.9.x ./CarlaUE4.sh# 安装示例依赖并运行示例cdPythonAPI/examples python3-mpipinstall-rrequirements.txt# 终端 A:生成交通python3 generate_traffic.py# 终端 B:手动控制python3 manual_control.py上面这条路适合完全新手。若报错,优先检查三件事:端口 2000/2001 被占用、wheel 与 Python 版本不匹配、GPU / VRAM 不足。这些都是官方 Quickstart 明确给出的先决条件。源码编译相关问题则通常不是“新手第一天”该碰的。对 MetaDrive,小白入门要简单很多。官方推荐git clone + pip install -e .,第一次运行会自动拉资产,也可以手工运行python -m metadrive.pull_asset;验证安装使用python -m metadrive.examples.profile_metadrive。如果你只做 RL,不一定需要一开始就打开高成本 RGB 渲染,因为默认观测已经包含 ego state、Lidar-like 邻车信息、导航和任务信息。MetaDrive Linux 快速上手:gitclone https://github.com/metadriverse/metadrive.gitcdmetadrive pipinstall-e.# 拉取资产python-mmetadrive.pull_asset# 验证安装python-mmetadrive.examples.profile_metadrive# 如需 headless 验证python-mmetadrive.examples.verify_headless_installation如果你在服务器上跑图像观测,MetaDrive 官方还有一条更进阶的“advanced offscreen rendering”路径,用pip install -e .[cuda]、指定 PyTorch/CuPy/CUDA Python 后,可以让图像观测直接留在 GPU 上,官方称图像数据采样可快到原来的10x。这对视觉 RL 很关键。Windows 用户如果在 CUDA feature 下遇到PyOpenGL-accelerate编译问题,官方建议把 Python 版本降到 3.8;使用 CUDA feature 则要求 OpenGL = 4.3。# 仅在你需要 GPU 直读图像时使用pipinstall-e.[cuda]condainstallpytorch==1.12.1torchvision==0.13.1torchaudio==0.12.1cudatoolkit=11.6-cpytorch-cconda-forge pipinstallcupy-cuda11x condainstall-cnvidia cuda-pythoncdmetadrive/examples python verify_image_observation.py--cuda进阶阶段:开始改配置和训练流水线。对 CARLA,进阶用户通常开始接触world、actors、blueprints、同步模式、传感器 attachment、Traffic Manager、Scenario Runner 和 ROS Bridge。你也可能开始把它封装成 Gymnasium 环境,或者接入社区的carla-gym。官方生态页还列出了 leaderboard、Scenario Runner、ROS bridge、SUMO、Conditional Imitation Learning、Reinforcement-Learning 等仓库。对 MetaDrive,进阶门槛主要不是安装,而是理解配置系统和环境构造方式。官方文档展示了default_config()、外部 config 覆写、键名/类型 sanity check,以及如何用sensors=dict(...)增加新传感器。如果你想做泛化 RL、安全 RL 或 MARL,MetaDrive 官方文档比 CARLA 更直接,因为它本身就是围绕这些实验形态组织的。专家阶段:源码修改与内核级扩展。CARLA 的专家入口是源码编译。官方文档和仓库都明确指出:如果你要加新功能、改引擎代码、做自定义地图或资产,就应该 build from source;Linux / Windows 构建都很重,文档称 Linux 源码构建往往需要4 小时以上,FAQ 还给出至少170GB空闲空间的建议。新增传感器有专门的教程,而且明确要求你先把 CARLA 从源码编译起来。# CARLA UE5.5 开发分支,Linux 源码构建(官方仓库命令整理)gitclone-bue5-dev https://github.com/carla-simulator/carla.git CarlaUE5cdCarlaUE5# 首次 setup,会下载并配置 UE5.5 分支依赖./CarlaSetup.sh--interactive# 后续构建cmake-GNinja-S.-BBuild--toolchain=$PWD/CMake/Toolchain.cmake\-DCMAKE_BUILD_TYPE=Release-DENABLE_ROS2=ON cmake--buildBuild cmake--buildBuild--targetcarla-python-api-installMetaDrive 的专家入口则是Build New Env、manager 体系、policy 与 observation 自定义、ScenarioNet/场景数据导入、多传感器渲染和 ROS2 bridge。它没有 CARLA 那样庞大的引擎编译负担,所以更适合作为快速实验母体。HUGSIM 和 RealEngine 的“进阶到专家”更多是论文代码工程化。HUGSIM 官方 README 展示了完整路径:Pixi 环境安装、数据准备、train_ground.py/train.py重建、export_scene.py导出、GUI 配场景、再用closed_loop.py结合UniAD_SIM、VAD_SIM或NAVSIM客户端做闭环仿真;它还直接给了 debug 提示:如果环境、路径不对,可以先注释“launch 外部 AD 客户端”的那部分,直接调用create_gym_env(cfg, output)做最小调试。RealEngine 同样是 Linux/conda 风格的研究代码。它需要 PyTorch、nuplan devkit、raytracing子模块、Navsim-mini 数据、RealEngine 场景检查点、DriveX/GSLiDAR 子模块和对应 agent checkpoint,再运行不同脚本做非反应式、安全测试和多智能体交互评估;自定义测试则走scripts/gui.py,通过四控制点 Bézier 曲线编辑插入车辆轨迹。代码库与资源清单下面这张表给你一个“该去哪里找一手资料”的速查入口。为了遵守链接展示规则,表中用“官方文档 / 论文 / 仓库”文字加引用链接来表示。项目官方文档原始论文主要仓库安装入口适合谁CARLA官方文档CoRL 2017 论文主仓库Quickstart 或源码构建需要系统级 AD 仿真与多传感器的人MetaDrive官方文档MetaDrive 论文主仓库git clone+pip install -e .做 RL / MARL / 泛化研究的人HUGSIM项目页 / READMEHUGSIM 论文官方仓库Pixi + 数据准备 + 重建 + 闭环仿真关注高保真闭环视觉评测的人RealEngine项目页 / READMERealEngine 论文官方仓库Conda + Navsim-mini + checkpoint + 评估脚本关注真实语境决策评测的人Street Gaussians项目页 / READMEECCV 2024 论文官方仓库数据预处理 +train.py+render.py做重建与高保真渲染的人DriveStudio项目页 / READMEOmniRe / DriveStudio 相关论文官方仓库统一数据系统 + 多 Gaussian trainer做大规模动态城市场景重建的人StreetWorldREADME暂偏工程原型仓库pip install -e .[gym]+ client/server想把 3DGS 接进 RL 的人3DGS 原始实现官方代码 / 论文页SIGGRAPH 2023 论文官方仓库git clone --recursive+ Conda 环境做底层 3DGS 研究与二次开发的人常见错误与排查建议。CARLA 最常见的问题是版本混乱、端口冲突和资源不足。Quickstart 明确要求端口 2000/2001 可用、20GB 磁盘、8GB+ VRAM;源码版又是另一套要求,UE5 分支建议 16GB+ VRAM,FAQ 给出 170GB 空间。遇到“客户端连不上 world”,先排查 server 没启动、端口被占、客户端 wheel 版本不匹配。Meta