021-64886750

  • 实时目标机

    Simulink模型库

    Demo套件

info@yisuworld.com

RoadRunner在自动驾驶实时仿真测试中的应用

网站首页    技术blog和使用技巧    RoadRunner在自动驾驶实时仿真测试中的应用

前言

实时仿真测试是在实时环境下对相关算法、控制器进行功能和性能测试的一种手段。自动驾驶领域的实时仿真测试,借助实时系统模拟真实车辆状态、驾驶场景,在这种高保真的环境下对被测对象进行有效测试。相比实车测试,基于场景的实时仿真测试具有诸多优点,包括测试成本低、场景可复用、corner case易实现等。

因此,驾驶场景对于自动驾驶实时仿真测试系统而言意义重大,构建驾驶场景也成了搭建测试系统的一项重要工作。在这方面,存在一个普遍的难题——如何高效地构建逼真的场景针对难题MathWorks最近发布了一个自动驾驶场景构建工具——RoadRunner,该工具操作简便、功能强大、素材丰富,极大地提升了场景构建的效率和质量。RoadRunner的推出使得MathWorks在自动驾驶领域如虎添翼,让用户在搭建测试系统时更加游刃有余。

img1

1.       RoadRunner基本介绍

RoadRunner 是一个交互式编辑器,可用于针对自动驾驶系统仿真和测试设计三维场景。您可以创建区域特定的道路标志和标记以自定义道路场景。您可以插入标志、信号、护栏和道路损坏,以及绿化、建筑物和其他三维模型。RoadRunner 还提供工具,用于设置和配置交叉路口处的交通信号配时、相位和行车路径。

img2

2.       RoadRunner的特点

2.1     使用方便,功能强大

RoadRunner入门难度低操作简便功能强大提供如下的丰富操作工具

l                      道路工具。功能包括:构建各种类型的道路,编辑道路的高度、宽度、截面形状等等。

img3

l                      交叉路口工具。功能包括:自定义交叉路口连接形式,部署交通灯,编辑拐角形状、交通逻辑等。

img4

l                      车道工具。功能包括:添加、删除、分割、截断车道,编辑车道宽度、分支、形状等。

img5

l                      标记工具。功能包括:部署点状、线形、区域标记,标记车位、人行道,编辑车道线等。

img6

l                      道具工具。功能包括:部署点状、线形、区域道具,编辑道具跨度,编辑路牌等。

img7

 

2.2    素材丰富

RoadRunner本身自带一个简单的素材库,同时MathWorks发布了一个插件——RoadRunner Asset Library,提供了丰富的素材以构建复杂场景。

img8

RoadRunner Asset Library提供的主要素材有:

l                      道路类型。用户可采用Asset库中现成道路类型,也可基于这些类型自定义道路,并将自定义道路保存为一种道路类型,方便复用。

l                      道路栏杆、路面污损、路牌。

l                      交通信号灯、交通标志、路面交通符号。

l                      材料纹理。可用自带的,也可从外部导入。

l                      建筑、车辆、树。

l                      组件。用户可自行将一些零件组合成一个组件(如杆子+交通信号灯+路灯),方便复用。

img9

2.3   兼容性好

RoadRunner 支持导入激光雷达点云、航拍图像和GIS数据。用户可使用OpenDRIVE导入和导出道路网络使用RoadRunner 构建的三维场景可导出为 FBXglTFOpenFlightOpenSceneGraphOBJ  USD 格式。导出的场景可在自动驾驶仿真器和游戏引擎中使用,包括 CARLAVires VTDNVIDIA DRIVE SimLGSVL、百度ApolloUnity和虚幻引擎 (Unreal Engine)

 

3.       RoadRunner到虚幻引擎(Unreal Engine

虚幻引擎(Unreal EngineEpic Games开发的商业游戏引擎。MathWorks的工具链中,RoadRunner和虚幻引擎结合使用,两者各有分工RoadRunner用以构建驾驶场景虚幻引擎对RoadRunner构建的场景做逼真的渲染,而且最终与Simulink进行联合仿真的也是虚幻引擎。因此,用户无须直接在虚幻引擎中搭建场景(这个工作的入门难度较高)。

img10

RoadRunner中构建好场景后,可将场景导出成FBX文件。

img11

在虚幻引擎的Unreal Editor中,从内容浏览器界面导入该FBX文件。

img12

通过以上两步,便能实现从RoadRunner导出场景到虚幻引擎。下图右侧是RoadRunner构建的场景,左侧是导出到虚幻引擎后的场景。

img13

MathWorks的这套方案充分发挥RoadRunner和虚幻引擎的优点,解决了高效构建逼真场景的难题

 

4.       虚幻引擎与Simulink联合仿真

虚幻引擎与Simulink的联合仿真,主要借助于Mathworks产品车辆动力学工具箱Vehicle Dynamics BlocksetSimulation 3D Scene Configuration模块。

img14

该模块对于场景来源(Scene source)有三个选项:Default ScenesUnreal ExecutableUnreal Editor。前者使用的是MathWorks提供的自带参考场景,后两者可使用自定义场景。Unreal EditorUnreal Executable正好对应使用自定义场景进行联合仿真的两种模式。

  1. Unreal Editor。 这种模式下,Unreal Editor加载RoadRunner构建的场景后,直接与Simulink联合仿真。在联合仿真的过程中,Unreal Editor一直是运行状态。在测试早期,用户可能需要根据测试需求调整场景设置,那么便适用于这种模式。
  2. Unreal Executable。当测试场景基本固定之后,用户可在Unreal Editor中将场景打包成一个可执行文件,并在Simulation 3D Scene Configuration模块中加载该文件,实现与Simulink联合仿真。这种模式下,联合仿真过程中不再需要打开Unreal Editor,场景是以独立窗口的形式来呈现及运行的,可减少对电脑资源的消耗。

 

5.       基于RoadRunner自动驾驶实时仿真测试实例

基于RoadRunner构建的场景,结合MATLAB、虚幻引擎和Speedgoat实时硬件,我们构建了一套自动驾驶实时仿真测试系统其中,SpeedgoatMathWorks官方硬件平台,支持实时运行车辆模型或自动驾驶算法Simulink模型可一键编译、下载、运行Speedgoat实时硬件

img15

 

整个系统的组成如下图:

img16

硬件主要包括:

  • 上位机电脑,运行场景和传感器模型。
  • 驾驶操纵平台,模拟驾驶员对车辆的操纵。
  • Speedgoat原型控制器——Baseline Real-Time Target Machine,运行融合、决策、控制算法。

规格参数如下:

名称

Baseline-S

Baseline-M

CPU

Intel Celeron 2GHz 4cores

Intel Celeron 2GHz 4cores

实时操作系统

Simulink Real-Time

Simulink Real-Time

内存

4GB DDR3 RAM

4GB DDR3 RAM

存储空间

32GB SSD

32GB SSD

上位机接口Ethernet

千兆网口,用于 Real-Time UDPTCP/IP

2

2

IO板卡安装插槽

4 x mPCIe

4 x mPCIe

2 x XMC/PMC/CMC

  • Speedgoat高性能实时仿真设备——Performance Real-Time Target Machine,运行车辆模型。

 

规格参数如下:

 

名称

Performance

20-core  Performance

CPU

Intel Core i7 4.2GHz 4cores

Intel Xeon 3.1GHz 20cores

实时操作系统

Simulink Real-Time

Simulink Real-Time

内存

4GB DDR4 RAM

16GB DDR4 RAM

存储空间

120GB SSD

120GB SSD

上位机接口Ethernet

千兆网口,用于 Real-Time UDPTCP/IP

1

IO板卡安装插槽(可扩展)

3 x PCI

4 x PCIe Gen3 (2x8, 2x4)

4 x PCIe Gen3 (3x8, 1x4)

1 x PCIe Gen2 (1x4)

软件主要包括:

  • MATLAB R2020a。
  • RoadRunner,用以构建驾驶场景。
  • 虚幻引擎(Unreal Engine),加载RoadRunner构建的场景文件,渲染场景,与Simulink交互。
  • Speedgoat驱动库,以Simulink工具箱的形式呈现,提供IO、CAN、UDP等的Simulink驱动模块。

主要相关的工具箱如下表:

运行平台

工具箱名称

工具箱作用

上位机电脑

Automated Driving Toolbox

提供传感器模型

Speedgoat

原型控制器

Sensor Fusion and Tracking Toolbox

传感器融合与目标跟踪

Model Predictive Control Toolbox

车辆控制

Simulink Real-Time

支持Speedgoat实时仿真

Speedgoat

高性能实时仿真设备

Vehicle Dynamics Blockset

车辆动力学部分建模

Powertrain Blockset

车辆传动系统建模

Simulink Real-Time

支持Speedgoat实时仿真

 

 

 

 

 

     

 

 

 

基于上述系统,可实现对不同级别自动驾驶功能的测试,以下述两种应用为例。

1.基础的驾驶员在环测试

自定义构建各种驾驶场景,测试车辆动态控制等算法。关于驾驶员在环系统的搭建,可参见speedgoat公众号的一篇文章:

基于Speedgoat和MATLAB快速构建驾驶员在环系统

 

2.自动紧急制动(AEB)的实时仿真测试

该系统中,Speedgoat Baseline Real-Time Target Machine运行AEB算法(算法参考自MATLAB的AEB demo),Speedgoat Performance Real-Time Target Machine运行车辆模型(模型参考MATLAB的示例整车模型)。

img17

2020年8月10日 16:51
浏览量:0