案例教学 - 场景创建

通过案例教学帮助用户学习和理解测试场景创建的方法和思路,以及不同类型测试场景的创建方法。

如何构建一个数据驱动案例

根据以下步骤创建一个数据驱动型案例。

导入高精地图与原始数据

(simone自带样例数据在安装目录的Tools/RealToEdit/data_driven_convert/sample下)

导入地图

首先上传与该原始数据匹配的高精地图。 如下图打开资源库(标1),打开地图文件夹,选择自定义地图(标2),点击导入(标3),在导入窗口点击“浏览”(标4)选择地图文件xodr,点击确定开始导入。导入时长取决于地图大小。

地图导入成功后(标5),接着导入原始数据。

导入原始数据

(原始数据格式见用户参考手册章节下的场景编辑器小节中的数据驱动案例部分)

在资源库,选择数据驱动源文件夹(标6),点击导入(标7)。

在导入窗口选择第二个CSV、XLSX格式(标8),点击浏览(标9),文件名会自动填写。点击确定(标10),数据导入完成后,系统将自动打开DataViewer。

DataViewer预览原始数据及转化案例

预览原始数据

如下图所示,导入数据后打开DataViewer的初始界面。 标1:顶部工具栏,从左至右依次为数据名称、转化案例、加载地图、帮助、退出编辑器。 标2:视窗,原始数据展示区域。 标3:预览工具栏,从左至右依次为时间显示、到播放区间第一帧、上一帧、播放/暂停、下一帧、到区间最后一帧、循环播放、设置播放区间起点、设置播放区间终点、播放区间、倍速。 标4:时间轴与播放区间选择。 标5:通道,显示原始数据通道及对应通道的数据频率。

点击加载地图(标6)选择自定义地图,点击test地图,完成添加地图。

点击(标7)播放原始数据,蓝色车辆为主车,其余彩色圆点表示采集到数据,包括静态元素与动态元素。可拖动(标8)时间帧查看数据。

转化未可测试的案例

查看原始数据后,点击转化(上图标9)将该原始数据转化为可测试的标准案例。 在转化案例窗口,填写案例名称(标10)。点击新建案例目录(标11)

再点击转化按钮。

等待片刻后系统提示案例转化完成,点击确定(标14),系统自动打开案例编辑器界面。

数据驱动案例编辑及测试

案例编辑器介绍

如下图所示,转化案例后打开编辑器的初始界面。 标1:顶部工具栏,从左至右为案例名称、案例保存、运行案例、数据重建、显示原始路径、吸附到车道线中心、播放跟随主车、撤销、重做、帮助、退出编辑器。 标2:视窗区域 标3:播放控制工具栏,从左只有为循环播放、倍速播放、刷新、到第一帧、上一帧、播放与暂停、停止播放、下一帧、到最后一帧、时间轴、自定义预览时长与完整预览时长。 标4:案例资源库,用户可从此选择并添加地图、主车预设、动态静态元素、路侧设备、环境、判定等内容。 标5:资源列表,体现该案例所有运用的资源。 标6:文本编辑器,可通过文本编辑器编辑案例。

替换主车

点击资源列表主车预设文件内ego主车(标1),转化后的案例主车默认使用SimOneDriver。点击行为规划(标2),可看到系统自动为主车添加的事件,即当仿真时间大于0时,SimOneDriver依据规定速度与轨迹行驶,还原原始数据场景。

若用户希望在原始数据基础上测试新算法,只需将SimOneDriver替换为装有新算法的主车即可。 选择案例资源库主车预设文件夹(标3),举例替换为Apollo测试,将Apollo决策拖拽至视窗区域(标4)。

系统提示是否替换主车,点击确定(标5)即可完成替换。

数据重建及案例测试

51Sim-One提供用户重建原始数据功能,可对主车与动态元素分别降采样以及去掉移动距离小于等于x米的对象,以本教学为例,包含过多没有移动或移动距离小的对象,可按照以下步骤去掉他们。 首先点击顶部工具栏数据重建(标1)

在弹出数据重建弹窗中,勾选过滤静态对象(标2),教学中去掉的是移动小于等于1米的对象,距离用户可按需设置。点击执行(标3),等待片刻,等待时长依据计算量而定。

下图为重建后结果,可看出场景中去掉了很多对象。当然,也可以选择资源列表中的对象删除。点击保存(标4),保存案例后,点击运行案例(标5),系统将开始本案例的测试。

运行案例后数据重建场景对比。

CIDAS格式数据导入

将CIDAS格式数据导入51Sim-One前,需指定主车ID,若用户跳过指定主车ID步骤,51Sim-One将指定dynamic中第一行的车为主车 CIDAS导入至51Sim-One后的使用流程与上述内容一致 修改主车ID步骤如下(以Windows版本为例): 1. 在包含单个CIDAS案例数据的文件夹内新建Ego.json格式文件,在json文件内定义案例ID及主车ID,如图所示

../../_images/Json.png
  1. 将包含CIDAS数据及Ego.json的文件夹打包成.zip文件

  1. 打开51Sim-One/资源库/数据驱动源文件夹,点击导入,选择CIDAS格式,点击浏览,选择步骤2中的.zip压缩包,点击确定

  2. 导入成功后,可在DataViewer看到刚才在Ego.json中所定义的主车

如何配置一辆测试主车

配置主车的标准流程如下

Step1 新建一辆新主车

点击案例资源库中的主车预设,点击添加按钮,新建一辆名为“主车”的新主车

Step2 进入主车编辑器

双击新建的主车资源图标,进入主车编辑器

Step3 选择主车模型

根据仿真需要,拖入主车模型,当前系统支持SUV、客车、轿车和货车四种类型的车

Step4 配置传感器

根据需求,拖入需要的传感器,当前系统支持的传感器包括目标级传感器、摄像头、激光雷达、毫米波雷达、定位传感器、OBU等传感器,拖入传感器后的效果如图所示

Step5 建立融合传感器组

点击资源列表目标级传感器文件夹右侧的添加融合组按钮,可在资源列表下可增加一个融合组,如图所示,添加完融合组后,在左侧的资源列表,可将目标级传感器拖入到融合组中,即可将拖入的传感器组合成一个传感器组,融合传感器组将来自多传感器或多源的信息和数据以一定的准则进行自动分析和综合,以完成所需的决策算法感知

Step6 设置融合传感器组参数

选中左侧资源列表中的目标级融合传感器,可在右侧传感器参数设置中设置融合传感器的参数,包括融合传感器的频率、探测范围、是否包含ID抖动、非标障碍物出现频率、感知误差和感知环境因子

../../_images/resource_asset_choose_sensor_parameter.png ../../_images/resource_asset_choose_sensor_parameter2.png

Step7 设置动力学参数

拖动所需动力学参数模型至主车编辑视窗中,SimOne自研的主车动力学模型包括SimOne-Bus、SimOne-Car、SimOne-Truck,同时还支持第三方动力学系统Carmaker、CarSim、TruckSim和VIGrade。拖入动力学参数至视窗后,在右侧弹出的参数面板中可调节参数

Step8 设置主车控制系统

选择主控制器中的任一控制系统至主车编辑视窗中,当前SimOne支持自动驾驶控制(百度阿波罗控制6、AEB、LKA), 手动控制、标准ROS控制、API控制和SimOneDriver

Step8 保存主车设置

设置完参数后,点击保存即可。

如何导入测试地图

首先准备好需导入的.xodr地图文件。

如下图打开资源库(标1),打开地图文件夹,选择自定义地图(标2),点击导入(标3)。

在导入窗口点击“浏览”(标4)选择地图文件xodr,点击确定开始导入。

导入时长取决于地图大小。

地图导入成功后出现在该文件内(标5)

在案例编辑器内可按需使用。 双击在地图列表中的地图资源打开地图查看器

如何构建一个标准案例测试场景

此教学讲述如何编辑出OpenSCENARIO官方案例“两次变道”(DoubleLaneChanger),用户将学会如何创建出符合OpenSCENARIO标准测试场景的全流程。包括标准案例编辑器界面介绍、编辑测试对象的初始状态与行为规划、触发器用法、如何设定动作、设定测试结束条件、如何预览场景等。

DoubleLaneChanger场景简介

该场景描述了主车以36m/s行驶在最右车道,与同速度的前车A1保持一定距离,A2以47m/s行驶在主车后方的中间车道,并不断靠近主车,A2超过主车5米后变道至主车与A1之间的位置,为了避免碰撞,A2立刻变道回中间车道,此案例检测主车紧急制动及前车距离保持能力。

下面请按照步骤完成案例教学。

场景编辑步骤

Step 1 新建案例

启动51Sim-One后,打开案例库页面

  • (标1)首先在测试案例库点击“新建”

  • (标2)选择新建的测试案例库文件夹

  • (标3)点击“新建案例”

  • (标4)在“选择案例类型”界面选择“标准案例2.0”

  • (标5)点击下一步

  • (标6)填写案例名称为“DoubleLaneChanger”

  • (标7)点击创建,页面自动跳转至案例编辑器,这样就完成了新建案例。

编辑案例好比讲述故事,在故事的开始和进行阶段,谁,在何地或在什么时机以什么状态做了什么事情。

故事开始时,A2车在主车左后方车道,以47m/s速度行驶。故事进行阶段,A2做了两件事情,分别是两次变道,第一次变道的时机是超过主车5米时,以47m/s的速度变道,完成第一次变道后,又立刻以相同速度变回原来的车道,可拆解如下图

理解编辑原理后,开始进入编辑器

Step 2 添加测试对象,设定对象初始状态

案例编辑器页面介绍

ID

项目

描述

1

案例名

展示案例的名称

2

保存按钮

当对案例进行编辑后,点击此按钮可保存案例

3

运行案例按钮

当案例编辑器中有编辑相关的操作时,点击此按钮,弹出新建任务弹框,用户选择主车类型即可直接运行案例。

4

吸附到车道线中心

激活此按钮,将给主车或动态元素添加路径点时,路径点会默认添加到用户移动到的车道线的中心

5

跟随主车

预览轨迹时,视窗会跟随主车移动

6

前进一步/后退一步

恢复到上一步/下一步的操作

7

资源列表

在右侧案例编辑器展示的内容所在列表

8

案例编辑视窗操作

包括放大、缩小和定位到主车

9

测距工具

击标尺按钮后,鼠标变成十字光标,在地图区域<br>点击鼠标左键后松开同时移动鼠标即可看到长度,测距工具支持多段测量<br>再次点击鼠标左键可记录距离上一点距离,点击鼠标右键/ESC键退出测量|

10

案例编辑视窗

可在此视窗内编辑案例,包括拖入主车、动态元素、静态元素并设置其路径或参数等

11

主车属性设置面板

可对主车的参数进行调整,包括主车的类型和控制器的选择

12

Tab切换

包括初始状态和行为规划两种

13

主车对手车属性

给主车或对手车添加动作、设置初始状态等

14

播放控制栏

从左至右依次是循环播放按钮、设置数据播放速率、刷新按钮、跳转至起点按钮、跳转至上一帧按钮 |br| 播放/暂停按钮,跳转至终点按钮、播放进度条、已播放时间/总时间、自定义的预览时长设置

15

案例资源库列表

可以用于数据驱动案例编辑的资源

16

文本编辑器

弹出文本编辑模式方便用户编辑

17

案例资源展示

点击左侧案例资源库列表里的资源,右侧展示对应的案例资源

18

隐藏路径点

调节隐藏路径点,添加到案例编辑器中的主车、动态元素的路径点将统一被隐藏,仅展示路径

19

帮助中心

点击此按钮可弹出帮助中心的文档

20

退出编辑器

点击此按钮,可退出主车编辑器弹框

添加测试对象

1 因为编辑器默认的地图不适合本案例,因此从案例资源库-地图文件夹选择“四车道”地图,并拖拽至视窗完成地图替换。

2 下图(标1)选择案例资源库-主车配置文件夹,拖拽主车(配置SimOneDriver控制系统)至地图X轴坐标设定为-300,释放鼠标后,因为开启了自动吸附至车道中心功能(标3),因此主车将自动吸附至车道中心,车头朝向自动与车道方向保持一致,鼠标左键单击蓝色车辆图标可移动主车位置,右侧属性面板初始状态“位移”动作面板中坐标值会随着主车位置的移动而改变(标2),也可直接通过输入坐标值设置主车起点。

tips:测试时可换成接入算法的主车。

3 点击案例资源库-动态元素,选择任意普通对手车,拖拽摆放A1和A2车,A1X轴坐标为-370,A2X轴坐标设为-287。

鼠标移动至资源列表-动态元素文件夹,双击对手车名称可重命名该对象。

tips:按住鼠标左键可拖动视图,滚动鼠标中键可缩放视图,视窗左上角按钮从上至下依次为放大视图、缩小视图、定位至主车、标尺工具。

设定对象的初始状态

初始状态对应故事开始,表示该车辆开始瞬间的状态。

在视窗中选中SimOneDriver控制后,将鼠标移动到右侧属性面板初始状态内的“速度”动作面板,将绝对目标速度值改为36m/s。

重复以上步骤完成A1(36m/s)、A2(47m/s)车辆的速度设定。

tips:动态对象若只设定初始状态,该对象将以初始速度沿着路网随机生成的路线行驶。

Step 3 为测试对象添加行为规划

行为规划包含该动态对象在故事进行阶段什么时机做什么事情的内容。

接下来,在行为规划面板为A2车添加两次变道的事件。

行为规划的组成

单击A2车,选中其右侧属性面板的行为规划Tab,行为规划以“事件”为组织单位,可包含多个“事件”。

添加动作

为A2添加第一次变道事件的动作 点击“动作”面板的添加动作区域,在弹出的列表中选择专属动作-“变道”

参数配置如下:

  • 变速维度:时间

  • 表述形态:正弦曲线式

  • 变速时间:5s

  • 变道目标:相对目标车道(使用相对目标车道需指定引用对象)

  • 引用对象:SimOneDriver控制

  • 相对目标车道:0(表示变道至引用对象所在的车道)

  • 目标车道偏移:0m 以上参数表示A2会用2s的时间从中间车道变道至主车所在车道

    tips:本案例地图(四车道)遵守左手方向行驶交规,左侧为行车方向,左侧车道ID为负,右侧车道ID为正。

添加触发器

什么是触发器?是故事中A2做变道动作的时机或条件。

点击动作面板下方的开始条件面板,选择“相对距离”触发器。当A2超过主车5米后这个时机或条件下触发变道动作,因此A2既是触发者又是被触发对象。

如下图(标1),参数作如下调整,其余保持默认即可

  • 引用对象:SimOneDriver控制

  • 规则:大于

  • 相对距离:5m

  • 条件边界:上升

    (上升指触发条件从false变为true时触发,测试开始时A2与主车的距离大于5米条件是false,逐渐小于5米,又大于5米条件为true触发。)

将(标2) 触发者管理-触发者设定为A2

tips:条件边界选项解释

  • “上升”指触发条件从false变为true时触发。

  • “下降”指触发条件从true变为false时触发。

  • 上升或下降指触发条件“上升”或“下降”任意其一达到后触发。

预览第一次变道效果

设定好场景后,可通过预览来检查测试场景是否符合预期。(预览中的主车、对手车等动态元素由51Sim-One引擎驱动,不涉及算法、动力学、判定等) 点击刷新预览按钮(标1),当时间轴由灰色变为蓝色后点击播放按钮(标2),即进入预览模式。 点击播放,可以看到A2车在逐渐靠近主车并超过主车后开始变道,第一次变道设置成功。在预览模式下画面跟随主车运动,地图上所有对象无法被选中。点击停止按钮(标3)退出预览模式,重回编辑模式。

新建第二个变道事件

在A2行为规划面板左下角单击“点击添加事件”按钮,新建第二个变道事件。

添加变道动作

重复以上步骤在事件内添加变道动作,参数设置如下:

  • 变速维度:时间

  • 表述形态:正弦曲线

  • 变速时间:2s

  • 变道目标:相对目标车道

  • 引用对象:SimOneDriver控制

  • 相对目标车道:-1

  • 目标车道偏移:0m

添加触发器

添加触发器“场景剧本要素状态”,当A2完成第一次变道后,触发第二次变道行为

触发器参数设置如下(标1):

  • 场景剧本要素类型:动作

  • 引用对象::事件::动作:A2::事件::变道(第一次变道动作)

  • 场景剧本要素状态:完成状态

  • 条件边界:上升

  • 延时:0s

以上,完成了测试场景主体内容的搭建,下一步完善此测试场景。

tips: - “事件”与“事件”的执行关系可用“优先级”处理: - “覆盖”指当行为规划内其他事件停止后再开始; - “跳过”指当其他事件完成后,他才会解除准备状态; - “并行”指该事件与其他事件同时执行。 每个事件可包含多个“动作”与一个“开始条件”,单个事件描述该对象在什么条件触发下做什么事情。

Step 4 整体预览

因为添加了新的变道事件,时间轴会由蓝色变为橙黄色(标1),提示用户目前预览的画面非最新,可再次点击刷新按钮(标2)来预览调整后的效果。

Step 5 添加判定

51Sim-One会为每个案例默认添加“碰撞”与“超时”判定,案例资源库判定文件夹内有更多的判定类型,可按需添加。

Step 6 设置案例结束触发器

案例结束触发器是指当某个(组)条件为true时,终止测试。每个测试案例都需设置结束触发器。 51Sim-One会为新创建的案例默认添加结束触发器,结束条件为仿真时间大于60s,即:当仿真时间大于60s且判定(判据为案例失败)未触发,系统自动结束测试。用户可自定义案例结束触发器。

页面跳转至结束触发器设置页面,点击条件仿真时间设置仿真时间,编辑器默认仿真时间大于60s结束测试,因本教学测试路线较短,主车和对手车容易相撞,因此修改为15s。

参数如下 规则:大于 仿真时间:15s 条件边界:无 延时:0s 设置结束后,再次点击运行案例即可。

当案例未设置结束触发器,以下行为会触发编辑器提醒用户去设置案例结束触发器:

  1. 点击“刷新”按钮

  2. 点击“运行案例”

  3. 以点击“运行案例”为例,讲解如何设置结束触发器: 点击运行案例,如下图系统将提示用户需设置“结束触发器”。点击(标1)“去设置”。

Step 6 运行案例

点击顶部工具栏“保存”按钮,当保存的按钮变为灰色代表案例保存成功。点击“运行案例”,弹出新建任务窗口中,用户可将主车配置替换为接入算法的主车。点击“创建”,系统将自动添加测试任务。

Step 8 观察监控测试过程

51Sim-One提供了简化渲染的Web Observer与高精度渲染的UE Observer。安装时系统会根据用户的硬件配置推荐可视化方案。

  • 假设使用高精度渲染,UE Observer会在测试任务开始后自动弹出。高精度渲染介绍

  • 假设使用简化渲染,Web Observer需在任务管理器-正在测试列中打开。简化渲染介绍

Step 9 最后一步,查看测试结果

  • 测试结束后,用户可在任务管理器-已完成列表查看测试结果。

  • 也可下载测试报告

运动路线编辑

51Sim-One提供用户3种方式设定动态对象的运动路线,分别是:

  • 路径(AssignRouteAction) 基于路网(RoadNetwork),使用至少两个路径点(Waypoints)和路径规划策略(RouteStrategy)生成的路径线

  • 获取位置(AcquirePositionAction)指动态对象从当前位置基于路网与最短路径规划策略需到达的目标位置

  • 运动轨迹跟踪(FollowTrajectoryAction)使用拟合曲线,定义动态对象的运动轨迹

基于路网(RoadNetwork),使用至少两个路径点(Waypoints)和路径规划策略(RouteStrategy)生成的路径线。

Step 1 新建案例

参考“场景创建”教学step1,创建新的标准案例2.0案例,并打开编辑器。

Step 2 添加主车

参考“场景创建”教学step2,添加测试主车SimOneDriver控制,使用默认地图(三车道路口)即可。

Step 3 创建路径

  1. 在视窗里选中SimOneDriver控制后,点击右侧行为规划面板(标1),点击添加专属动作-“路径”动作(标2)。

  2. 按照提示信息,按下ctrl键,点击下图箭头起点位置,成功添加第0个路径点。

    添加路径点0,坐标如图

  3. 再次按下ctrl键,点击下图(标5)位置,释放ctrl键,成功添加第1个路径点,路径点0与路径1由绿色路径线连接,体现基于路网的路径规划结果。该结果仅供用户参考,在测试中,主车实际的行驶路径取决于用户的规划算法。

  4. 选中路径点1,拖动该点到(标6)路径0的对向邻近车道,释放鼠标可看到绿色路径线消失,说明在实际测试中,主车可能无法从路径点0行驶到路径点1。

  5. 继续按住鼠标左键拖动该路径点,将该点移动至(标7)路径点0所在车道,可看到绿色路径线随之出现,说明路径规划成功。

  6. 至此,路径创建完成,所有动态对象创建路径的步骤一致。

tips: - 选中路径点按del删除该点; - 选中路径点后,按ctrl可在当前选中的路径点后插入新点。 - 路径点至少两个,数量无上限。用户按需添加即可。

获取位置,指动态对象基于路网与最短路径规划策略需到达的目标位置。

  1. 基于“如何创建路径”step2,在视窗里选中SimOneDriver控制后,初始点(T点)设置为X:-36,Y:-6,Z:0。

  2. 点击刷新按钮(标1),点击播放(标2),可看到SimOneDriver通过路口后直行,下面我们指定SimOneDriver在路口右转到达 (标3)位置

  3. 按esc退出播放模式,点击右侧行为规划面板(标4),添加专属动作-“获取位置”动作。(标5)

  4. 按照提示信息,按下ctrl键,点击下图(标3)位置,X:-7,Y:-40,Z:0,添加位置点。

  5. 获取位置仅需指定一个位置点即可,测试车辆将使用最短路径规划策略到达该点。

  6. 再次点击播放按钮,可看到SimOneDriver通过路口右转到达指定位置。

运动轨迹跟踪,使用拟合曲线定义动态对象的运动轨迹

下面演示如何运用运动轨迹跟踪绘制A1变道切入SimOneDriver所在车道,可用于危险工况还原等案例。

  1. 基于“如何创建路径”step2,从案例资源库-动态元素-普通对手车文件夹拖拽任意一辆对手车至视窗,坐标设置为X:-163,Y:-3,Z:0;SimOneDriver坐标设置为X:-145,Y:-6,Z:0

  2. 如下图将对手车初始速度设置为20,或任意高于SimOneDriver初始速度的值。

  3. 选中视窗中的对手车,点击右侧行为规划面板(标1),添加专属动作-“运动轨迹跟踪”动作。(标2)

  4. 按照提示信息(标3),按下ctrl键,点击SimOneDriver左后方位置,添加轨迹点0,坐标为X:-150,Y:-3,Z:0,此处只要保持轨迹点在SimOneDriver左后方位置即可,无需过于精确。

  5. 点击关闭吸附车道中心功能(标4),使得轨迹点的放置更加自由。

  6. 再次按下ctrl键,连续点击(标5、6、7)添加轨迹点1、2、3,轨迹点坐标如图,坐标值仅供参考,摆放时相对位置关系正确即可。

  7. 通过添加4个轨迹点,创建出变道轨迹,SimOneDriver将沿着该轨迹运动。

  8. 点击刷新(标8),再点击播放(标9),可看到对手车按照轨迹运动完成变道切入动作。

交通灯控制

51Sim-One提供切换交通灯时序功能。新建的案例默认交通灯都为绿色,导入的案例交通灯时序遵循该案例内设置。

  1. 基于“如何创建路径”step2,在视窗选中SimOneDriver控制后,点击右侧行为规划面板(标1),添加用户自定义-“交通灯切换”动作。(标2)

  2. 被控制的交通灯是该交通灯切换动作被触发时,引用对象所在车道方向路口的交通灯,此时交通灯以默认时序运行,假设默认时序为红灯为20s,黄灯为3s,绿灯为30s。

  3. 点击(标3)添加灯色变化 。

  4. 设置灯色为红色,时长为30s(标4)。

  5. 此时该交通灯原红灯的20s被改写为30s(标5),当该动作被触发时,该交通灯灯色变为持续30s的红灯,当触发动作结束后,交通灯以当前灯色的下一个灯色继续按原交通灯规则运行。

  6. 用户按需添加该动作开始触发器即完成交通灯设置。

如何构建一个交通流案例

新建交通流案例的步骤如下所示

Step 1 配置地图

步骤如快速上手手册中配置地图

Step 2 配置主车

步骤如快速上手手册中配置主车

Step 3 新建交通流测试案例

点击案例库中的新建案例按钮,弹出选择案例类型对话框。

测试类型提供了基于标准案例测试和基于交通流测试两种方案,选择交通流测试案例,点击下一步,设置案例名称,添加案例标签和备注并点击确定

系统将跳转到案例编辑页面,与主车编辑窗口类似,基本流程为从案例资源库拖拽相应资源进案例编辑视窗,然后进行详细参数设置。

Step 4 选择地图(同标准案例)

从左侧的资源列表中选择地图至地图编辑器中

Step 5 选择主车(同标准案例)

从左侧的资源列表中选择主车拖拽至主车编辑器中,并设置主车的路径

Step 6 配置交通流(同标准案例)

从案例资源库选择交通流预设并拖拽至案例编辑器工作区

基于交通流测试可在虚拟场景中自动生成交通参与者,通过交通行为模型模拟真实道路上的复杂交通状况。拖拽预设交通流至案例编辑视窗,可在右侧属性配置面板设置参数。

../../_images/traffic_prameter.png

车辆类型:用户可根据车辆分类和缩略图,选择所要添加或移除的车辆类型。并在每个大类下方,通过行为滑动条调整车辆行为策略,分为保守,适中和激进。

车辆类型比例:用户可以根据所需仿真的场景环境(比如郊区,市区等),来灵活调整不同类型车辆所占的比例。

元素密度:用户可以为不同类型元素(车辆,行人,自行车),使用交通流量滑动条设置虚拟场景中的交通拥挤度。

Step 7 选择环境预设(同标准案例)

左侧的资源列表中选择环境资源拖拽至案例编辑器中

Step 8 设置判定条件(同标准案例)

左侧的资源列表中选择判定条件拖拽至案例编辑器中,案例默认的两个案例条件为超时和碰撞,默认发生碰撞案例结束,超时600s案例结束

Step 9 运行测试案例(同标准案例)

点击运行按钮,可直接运行案例

Step 10 查看测试结果(同标准案例)

运行案例的流程同标准案例的运行流程

如何构建一个用户外部控制的交通流案例

新建用户控制的交通流案例的步骤如下所示

Step 1 配置地图

步骤如上一节交通流案例中配置地图

Step 2 配置主车

步骤如上一节交通流案例中配置主车

Step 3 新建交通流测试案例

步骤如上一节交通流案例中新建案例

Step 4 选择地图

步骤如上一节交通流案例中选择地图。本教学可以使用默认地图“三车道路口”。

Step 5 选择主车

步骤如上一节交通流案例中选择主车。主车使用默认地图放置的位置以及初速度如图所示。

Step 6 配置交通流

点击左侧资源列表的交通流,并在弹出的右侧交通流属性配置栏中选择api交通流,建议都勾上“家用”“商用”类型,并保存

Step 7 选择环境预设

步骤如上一节交通流案例中选择环境预设

Step 8 设置判定条件

步骤如上一节交通流案例中设置判定条件

Step 9 外部连接DST的准备

请参考“用户参考手册”章节->“场景编辑器”小节->“交通流案例-如何使用DST API控制”部分,理解发送数据的各个字段的说明,再拷贝给出的python脚本样例到SimOne的同一环境下。

Step 10 运行测试案例

运行SimOne中建立的交通流案例,等启动完成后(比如UE界面加载完成),运行Step 9保存的python样例,运行结果如下,可见主车前方的对手车在按照发送的数据实时缓慢移动。

Step 11 查看测试结果

步骤如上一节交通流案例中查看测试结果