文章目录
摘要
在真实的自动驾驶汽车上测试自动驾驶算法的成本非常高,自动驾驶仿真引擎可以对自动驾驶车辆进行虚拟测试,极大地降低了测试成本。LGSVL Simulator是一个基于Unity游戏引擎开发的开源自动驾驶仿真系统,该软件提供端到端的仿真,通过一个自定义的通信Bridge与多种自动驾驶算法引擎接口进行消息传递。LGSVL Simulator配备了核心仿真引擎,允许用户轻松定制传感器。本文基于LGSVL Simulator发表的论文分析了该模拟器的软件架构,并对其应用的领域进行了总结。
关键词: 自动驾驶仿真,LGSVL Simulator,传感器,高精度地图
1 引言
LGSVL Simulator[1]是一个基于Unity游戏引擎开发的开源自动驾驶仿真系统。LGSVL Simulator提供端到端的仿真,它通过一个自定义的通信Bridge与多种自动驾驶系统(autonomous driving (AD) stacks)进行消息传递。该通信Bridge支持ROS、ROS2和Cyber RT消息,使LGSVL Simulator可以与两个最流行的开源自动驾驶引擎Autoware(基于ROS)和百度Apollo(3.0以下版本基于ROS,3.5版本以上基于Cyber RT)进行通信。
LGSVL Simulator配备了核心模拟引擎,允许用户轻松定制传感器,创建新型可控对象,替换核心模拟器中的一些模块,并创建特定环境的Digital Twin。此外,LGSVL Simulator还提供了一个地图工具,可以导入和导出Lanelet2、OpenDRIVE、Apollo HD Map等格式的自动驾驶的高精地图。
本文基于LGSVL Simulator官方发表的论文[1]、官方使用手册[2]以及源代码[3]对LGSVL Simulator的软件架构、应用领域进行分析。
2 软件架构
由LGSVL Simulator实现的自动驾驶仿真工作流程如图所示,本章将详细说明各个组件。
2.1 自动驾驶算法引擎接口
自动驾驶算法引擎接口是用户开发、测试和仿真验证的系统。LGSVL Simulator目前提供了与开源系统Apollo、Autoware.AI、Autoware.Auto的开箱即用集成。
自动驾驶算法引擎接口通过通信桥接接口(communication bridge interface)与LGSVL Simulator连接; 通信桥接接口是基于自动驾驶算法引擎的运行时框架选择的。对于使用名为Cyber RT的自定义运行时框架的百度的Apollo平台,LGSVL Simulator提供了一种自定义的通信桥接接口。Autoware.AI、Autoware.Auto在ROS和ROS2上运行,LGSVL Simulator通过标准的开源ROS和ROS2Bridge连接到LGSVL Simulator。下图显示Autoware和Apollo与LGSVL Simulator连接后的仿真情况。
Autoware与LGSVL Simulator联合仿真 | Apollo与LGSVL Simulator联合仿真 |
---|---|