交通仿真器是自动驾驶技术发展的重要支撑。交通仿真器可以在虚拟环境中仿真各种交通场景和车辆行驶情况,从而提高测试效率、降低测试风险、提高测试准确性和加速开发周期,是自动驾驶技术验证和优化的重要手段之一。
**LimSim是由上海人工智能实验室智能交通(平台)团队研发的仿真器,名称缩写于“长期 Long-term、交互式 Interactive、多场景 Multi-scenario交通仿真器 Simulator”。论文已被IEEE智能交通系统国际会议(IEEE ITSC 2023)接收。**IEEE ITSC是由IEEE智能交通系统学会主办的年度旗舰会议,是智能交通领域规格最高、影响力最大的顶级学术会议, 且历史悠久,今年已是第26届。
论文:
https://arxiv.org/abs/2307.06648
开源代码(点击左下角“阅读原文”直达)
https://github.com/PJLab-ADG/LimSim
LimSim优势特征
- 将宏观路网中的交通流仿真与微观场景中的车辆动态交互相结合,提供城市级高保真且多样化的交通仿真。
- 内置了路网构建、交通流生成、车辆决策规划、场景评价等基线模型库,并提供了轻量级的可视化模块和跨平台对接工具,可供用户根据任务来灵活搭配和使用。
- 不仅适用于车辆决策规划算法的性能测试,还可以为生成式城市道路场景构建提供接近真实的交通流。
仿真器对比
现有的交通仿真器可以归纳为以下三类:
- 交通流生成仿真器(PARAMICS、Vissim、Aimsun、SUMO等):可以真实反映交通系统的特征用于交通流分析,但往往简化了车辆的运动行为,且未能考虑多车相互作用和运动学约束。
- 车辆行为仿真器(AirSim、LGSVL、CARLA、MetaDrive等):可以构建虚拟道路场景以验证相关算法性能,但是这类仿真器生成交通流依赖于手动的编辑场景或使用采集到的场景数据,无法同时精准地呈现车辆交互和实际场景。
- 数据闭环仿真器(SimNet、InterSim、TrafficGen等):可以根据从真实路网中采集到的数据中提取车辆运动特征,进而仿真自车与他车的交互过程,但由于数据集通常只提供小规模、片段化、零散的场景,使得这类仿真器无法进行长期且连续的仿真。
与其他现有的交通仿真器相比,LimSim具有更多的功能覆盖和性能优势,能够快速且高效地仿真涵盖多样化场景的城市级交通路网,且能够高精度地呈现细粒度的多车动态交互过程。
系统特性
- **长期仿真能力:**LimSim能够在需求构建和路径规划的指导下,在给定的城市级道路网络中生成具有长时间段的交通流,为自车周围营造出接近真实的交通环境,从而支持自动驾驶决策规划的研究和应用
- **车辆多样化行为:**LimSim能够呈现多样化的驾驶行为,通过量化表征不同车辆的社会价值取向和驾驶风格,可以支持处于相同场景下的车辆表现出不同的车辆行为和运动轨迹,并确保仿真的车辆行为特征与真实场景的虚实一致性
- **多车动态交互:**LimSim中的车辆通过联合决策规划框架进行控制,不仅可以在行为决策连续性的前提下实现车辆之间的复杂交互过程,还考虑了车辆运动约束下的轨迹规划,为车辆提供平滑的运动轨迹。联合决策规划是高频闭环进行的,且引入了并行规划机制,保证了系统的运行效率
- **多场景道路支持:**LimSim提供了通用的道路组件,可以支持现实世界中涵盖直道、环岛、匝道、交叉口等多种道路结构的构建。LimSim能够呈现宏观交通流和微观场景仿真的一致性,确保了长期仿真过程的连续性。
功能模块
-
多场景路网构建**:**路网构建需要嵌入道路的几何信息和拓扑信息,构建方式包括:一是可以通过标准化的矢量地图直接生成,二是可以借助SUMO等工具进行构建,三是可以基于传感器原始数据和专家知识来手工搭建。LimSim提供的样例路网多种道路场景类型,支持车辆在路网中的路径规划,并规范了路径上的可行车道的表征。
-
**多源交通流生成:**场景中的交通流生成同样十分灵活,既可以支持基于跟驰、换道等多种基线微观交通模型生成交通流来构建场景,也可以使用自然驾驶数据集或相关标准来生成定制化场景。LimSim考虑了交通流的连续性,确保宏观路网和微观场景的仿真一致性,能够更加真实地呈现动态交通场景。
-
**多车联合决策规划:**内置的决策规划算法采用预测-决策-规划的分层设计,提供了每个分层的基线算法,用于控制车辆的行为和轨迹。场景中不受控的其他车辆会作为多车联合决策的输入信息,以避免车辆冲突,又使得车辆在长期决策过程中表现较好。LimSim不仅支持复杂的车辆行为控制,还提供了规控阶段的规范化输入与输出,能兼容于主流的自动驾驶规控模块。
-
**多维度场景评价:**仿真过程可以实时获取道路网络、车辆属性和行驶参数等信息进行存储,便于场景还原和场景评价。LimSim支持多维度的场景评价,通过对仿真过程中的车辆状态进行在线或离线分析,可以评估安全性、舒适性、能耗和轨迹质量等指标,从而能够高效地对仿真过程进行切片,提取出关键场景。
性能验证
- **多车决策规划:**LimSim采用了基于分组的MCTS决策算法来处理多个车辆之间的交互,允许车辆在决策过程中考虑不同的社会价值取向(Social Value Orientations)和轨迹偏好,以平衡自身奖励和其他周围车辆的风险,从而产生不同的决策和规划结果。系统会根据每个车辆的决策结果生成平滑连续的轨迹,并检查轨迹是否满足车辆的动力学约束。仿真过程中,自车还会因他车的不同行为生成不同轨迹
-
**交互式场景重建:**根据数据库信息可以进行场景重建和交互式闭环仿真,使得场景中其他车辆可以因自车轨迹发生变化而作出及时响应。首先,通过轨迹判定场景中其他车辆是否会冲突以确定受控车辆;其次,受控车辆会获取重新规划的一小段时间内的轨迹,并在轨迹完成后会解除控制;最后,如果数据库中没有当前被解除控制的车辆的信息,则车辆会被销毁,否则需要再次进行冲突判定以确定其是否可以被放置到场景中。
-
**仿真性能评估:**基于CitySim项目(https://github.com/ozheng1993/UCF-SST-CitySim-Dataset)所提供的Freeway B道路信息及车辆运动数据集,用于评估LimSim的仿真场景和真实场景的一致性,衡量的运动指标为速度和间距。从仿真数据和真实数据的统计分布来看,二者的速度分布都近似于正态分布,间距分布都近似于泊松分布,且仿真数据于真实数据的分布较为相似。结果表明,LimSim可以有效地仿真人类的驾驶行为,并生成接近真实的交通流。
-
**场景评估:**城市级地图包括各种复杂场景,完成仿真过程后,可以通过所定义的场景评价指标来提取关键场景。从长期仿真中可以切片出关键场景相关的数据,保证场景的连贯性和完整性。例如,可以采用TTC作为指标来提取出危险场景。
仿真样例展示
更多样例请查看bilibili网站ADG-DTSM主页(https://space.bilibili.com/3493282021640353)中的视频
欢迎大家在科研或工作中试用LimSim,任何意见或建议请在GitHub的Issues中提出或直接邮件联系!