自动驾驶仿真领域常见开源工具
- 1、目录
- 1.1 自动驾驶仿真领域常见开源
- 2、地图&场景
- 2.1、场景播放器-Esmini
- 4、被测对象-智驾软件
- 4.1、Autoware
- 4.4、端到端模型-VAD
- 4.5、端到端模型-UniAD
- 4.6、端到端模型-ThinkTwice
- 4.7、端到端模型-TCP
- 5、评价方法
- 5.1、Leaderboard
- 5.2、Bench2Drive
1、目录
1.1 自动驾驶仿真领域常见开源
原文链接
为防止链接失效,搬运其中一些介绍。
1、仿真软件
1.1、CARLA
CARLA 是一个开源的自动驾驶研究模拟器。它基于 Unreal Engine 运行模拟,采用 OpenDRIVE 标准定义道路和城市环境。其具有可扩展的服务器 - 多客户端架构,支持同一或不同节点的多个客户端控制不同参与者。通过灵活的 API,用户能控制交通生成、行人行为、天气、传感器等模拟相关的所有方面。用户还可配置包含激光雷达、摄像头、深度传感器和 GPS 等多样化的自动驾驶传感器套件。此外,CARLA 支持地图生成、交通场景模拟,能与 ROS 集成,并提供自动驾驶基准,为自动驾驶系统的开发、训练和验证提供了丰富的功能和工具。
仓库地址:Carla
1.2、LGSVL
LGSVL Simulator 是 LG 电子美国研发中心开发的基于 Unity 游戏引擎的开源自动驾驶仿真系统。它提供端到端的仿真,通过自定义通信 Bridge 与多种自动驾驶算法引擎接口进行消息传递,支持 ROS、ROS2 和 Cyber RT 消息,能与 Autoware、百度 Apollo 等开源自动驾驶引擎便捷集成。用户可利用核心仿真引擎轻松定制传感器、创建新型可控对象等,还可通过地图工具导入导出多种格式的高精地图。其能模拟逼真的 3D 环境、动态交通场景和各类传感器,可用于自动驾驶系统的软件在环和硬件在环测试,助力开发者降低测试成本,加速自动驾驶技术的研发与验证。
1.8、渲染引擎
1.8.1、Unreal
Unreal 是一款强大的开源游戏开发引擎。它以高端的图形渲染能力著称,能够创建出极其逼真的游戏画面和沉浸式的虚拟环境。提供了丰富的工具和资源,涵盖建模、动画、特效等多个方面,方便开发者进行各种类型游戏的开发。其蓝图可视化脚本系统,让非专业编程人员也能轻松实现复杂的游戏逻辑。Unreal 还支持跨平台开发,可发布到 PC、主机、移动等多种平台。同时,它在影视制作、建筑设计、教育培训等领域也有广泛应用,凭借其出色的功能和性能,成为全球众多开发者和工作室青睐的开源软件。
前文提到的自动驾驶仿真软件CARLA / TADSim就是基于Unreal开发的哦。
1.8.2、Unity
Unity 是一款广泛使用的跨平台开源游戏开发软件。它提供了丰富的工具和资源,让开发者能轻松创建 2D、3D 游戏及其他互动内容。其可视化的开发界面便于操作,即使是初学者也能快速上手。Unity 拥有大量的插件和 Asset Store 资源,可帮助开发者节省开发时间和成本。同时,它支持多种平台发布,包括 PC、移动设备、主机等,能满足不同用户的需求。此外,Unity 还有活跃的社区,开发者可以在社区中交流经验、分享代码,获取技术支持,这使得 Unity 成为游戏开发领域中非常受欢迎的开源软件之一。
前文提到的自动驾驶仿真软件LGSVL / self driving car simulator 就是基于Unity开发的哦。
2、地图&场景
2.1、场景播放器-Esmini
Esmini 是一款由瑞典国家道路与交通研究所(VTI)开发的开源交通场景模拟器。它支持 OpenSCENARIO 标准,能依据该标准的场景描述文件精准创建各种复杂交通场景,为自动驾驶算法的开发与测试提供便利。通过 Esmini,用户可灵活定义交通参与者的行为、路线等元素,模拟逼真的交通环境。其基于 OpenSCENARIO 的特性,使得它能与其他遵循该标准的软件工具良好集成,方便研究人员和开发者在统一的场景描述规范下进行协同工作,推动自动驾驶技术的研究与发展,在自动驾驶领域有着广泛的应用和重要的地位。
仓库地址:esmini
4、被测对象-智驾软件
被测对象,是相对于仿真测试来说的,其实指的就是智驾软件。以下分享两类智驾软件。一类是基于规则的自动驾驶,一类是基于端到端的自动驾驶。
4.1、Autoware
Autoware 是基于 ROS 构建的领先开源自动驾驶软件。它集成车辆定位、物体识别、路径规划和控制等关键功能,提供全栈式自动驾驶解决方案。分为 Autoware.Core 和 Autoware.Universe 两大分支,前者基于ROS开发,注重稳定版本开发;后者基于ROS2开发,专注实验性、前瞻性探索。其优势众多,包括模块化架构便于定制扩展、可扩展性强能满足多种应用、持续进化提升性能、应用场景广泛。它支持多种传感器,拥有活跃的社区和详细的官方文档,为全球开发者提供共享协作平台,降低自动驾驶技术研发门槛,推动该领域技术发展。
仓库地址:Autoware
4.4、端到端模型-VAD
VAD (Vectorized Autonomous Driving)是由华中科技大学和地平线机器人公司的研究者共同开发的端到端自动驾驶开源软件(一段式)。它将驾驶场景建模为完全向量化的表示,摈弃了计算密集的栅格表示和手工设计的后处理步骤,有效提升了规划安全性和运行速度。其输入为多帧、多视角图像,输出是自车未来规划轨迹,框架分为图像特征提取、向量化场景学习、规划推理与训练等阶段。在nuScenes数据集和Carla模拟环境中,VAD都展现出卓越的性能,实现了当前最优的端到端规划性能,为自动驾驶技术的研究和发展提供了有价值的参考。
仓库地址:VAD
4.5、端到端模型-UniAD
UniAD 是 OpenDriveLab 开发的基于端到端自动驾驶的开源软件。它旨在构建一个统一架构来处理自动驾驶中的感知、预测、规划等多个任务。其原理是通过多模态数据融合,利用深度学习网络将摄像头、激光雷达等传感器数据输入,经神经网络处理后直接输出驾驶决策,减少传统方法中各模块间的复杂交互。在使用效果撒花姑娘,它能适应复杂的交通场景,展现出较好的泛化能力,可在不同的环境中做出合理决策。该模型为自动驾驶研究提供了新的思路和方案,其开源特性也方便全球开发者进行研究、改进,推动端到端自动驾驶技术不断进步。
仓库地址:uniad
4.6、端到端模型-ThinkTwice
ThinkTwice 是由 OpenDriveLab 开发、基于 PyTorch 实现的端到端自动驾驶开源模型,在 CVPR 2023 上发布。它采用鸟瞰图(BEV)视角,通过多传感器融合获取 BEV 特征。其创新的解码器包含 Look、Prediction 和 Refinement 模块,能利用时空先验知识和密集监督,以粗到细的方式预测车辆动作和轨迹。该模型在 Carla 模拟器上进行闭环评估,展现出先进的性能,为自动驾驶车辆在复杂场景中提供精确的路径规划和决策支持。其代码结构清晰,文档和示例详细,方便研究者和开发者使用,推动了端到端自动驾驶技术的发展。
仓库地址:ThinkTwice
4.7、端到端模型-TCP
OpenDriveLab/TCP 是一个端到端的自动驾驶开源模型。它是结合轨迹规划和控制预测的统一框架,通过研究两种输出形式的特点并将其整合,加入交互,根据先验方案灵活结合两分支输出来获得最佳最终控制信号。该模型仅使用单一单目相机作为输入,就在 CARLA 自动驾驶排行榜上取得了第一名的成绩,在不同测试环境和场景下,能出色应对各类挑战性驾驶场景。其代码遵循 Apache 2.0 许可协议,可在 GitHub 上获取,包含了模型训练、数据生成、评估等相关代码和教程。
仓库地址:TCP
5、评价方法
5.1、Leaderboard
CARLA Leaderboard 是基于 CARLA 仿真环境的扩展,用于评估自动驾驶算法的表现。它是一个开放平台,能对自动驾驶智能体在现实交通场景中的驾驶能力进行公平、可重复的评估。用户可通过配置文件定制评估流程,包括设定 CARLA 服务器地址和端口、测试路线、自动驾驶系统算法或模型、特殊场景、天气条件及日志记录等。自动驾驶智能体需按照预设路线行驶,路线涵盖高速公路、城区、乡村等场景及不同天气条件。用户可通过 sensor track 和 map track 两种方式参与评估,前者提供传感器模拟数据信息,后者在此基础上还提供高精地图信息。
5.2、Bench2Drive
Bench2Drive 是首个以闭环方式评估端到端自动驾驶(E2E - AD)系统多种能力的基准测试平台。其官方训练数据由 200 万帧完全标注的图像组成,涵盖 44 个交互场景、23 种天气条件和 12 个城镇。评估协议要求 E2E - AD 模型通过不同地点和天气下的 44 个交互场景,共 220 条路线,以此全面评估其驾驶能力。Bench2Drive 采用成功率和驾驶分数等指标,还具备多样化大规模官方训练数据、细致的技能评估等特点,为研究人员提供了在现实、全面和公平的环境中优化和评估端到端自动驾驶系统的关键工具,推动自动驾驶领域的发展。