用户参考手册
本文档针对每个模块以及UI界面都提供了详尽的描述信息,方便用户进行查询。
兼容性及支持的标准
1. 硬件
最低配置
类别 |
精简可视化渲染 |
高精度可视化渲染 |
---|---|---|
CPU |
Intel Core i7-8550U |
Intel Core i7-8550U |
内存 |
16GB RAM |
32GB RAM |
显卡 |
Nvidia GeForce 940MX |
Nvidia GTX 3070 |
硬盘 |
30GB可用空间,建议SSD |
30GB 可用空间,建议 SSD |
推荐配置
类别 |
配置 |
---|---|
CPU |
Intel Core i9-12900K |
内存 |
64GB RAM |
显卡 |
Nvidia GTX 3090 |
硬盘 |
30GB可用空间,建议SSD |
2. 操作系统
操作系统 |
版本 |
---|---|
Windows |
Windows 10 专业版 / 企业版 64bit |
Linux |
Ubunut 20.04 |
3. 第三方软件
联合仿真
软件 |
兼容版本 |
备注 |
---|---|---|
Matlab |
2018b以及之后的版本 |
2015-2018的版本需要进行版本转换,更早的版本不建议使用 |
Carmaker |
9.0 |
其余版本未测试 |
CarSim |
2017,2018,2019 |
其余版本未测试 |
4. 行业标准
OpenX
标准 |
兼容版本 |
---|---|
OpenSCENARIO |
1.2 |
OpenDRIVE |
1.4 |
专业术语
类别 |
描述 |
---|---|
场景 |
用于描述测试用例,是各种资源的一个集合。其中各种资源可能会存在一些变量,通过变量的排列组合来生成多个测试用例(包含动态资源) |
用例 |
描述一个固定测试用例,里面的变量都是固定 |
用例集 |
是一个或者多个测试用例的集合,方便选择一组特定的测试用例 |
分类 |
用来区分资源的种类或者用途,类似文件夹 |
任务 |
测试任务,用户可以选择通过测试集或者测试用例来生成一个测试任务 |
资源 |
用来描述一种类型的数据,也可能是多种数据的一个集合 |
报告 |
测试报告 |
资源列表 |
一个树形的结构,用于显示当前编辑的资源的列表 |
资源库 |
一个已有资源的集合 |
预设 |
预先定义好的一组属性的设置 |
属性编辑器 |
用于编辑资源属性的编辑器 |
地图 |
美术的场景的静态资源(不包括动态元素、静态元素) |
集成性大地图 |
集成大地图是指模拟某个城市一定范围内的路网,包括道路、建筑、植物、行人等信息 |
原子性小地图 |
原子地图一般指地图单元,指的是一段路网,若干原子地图可组成集成地图 |
普通对手车 |
用于测试主车的普通对手车,普通对手车沿着用户预设的路径点和参数运行 |
判定 |
依据特定的场景,设定一些条件判断驾驶行为有无违反此条件 |
事件 |
放在场景里面的一些预先定义好的资源和行为,通过设置动作来完成 |
交通流 |
交通流是指汽车在道路上连续行驶形成的车流。广义上还包括其他车辆的车流和人流。 在某段时间内,在不受横向交叉影响的路段上,交通流呈连续流状态; 在遇到路口信号灯管制时,呈断续流状态 |
用例管理
用户可导入外部的用例至用例库,用户可在用例库界面查看用例和自建用例并运行用例。

ID |
项目 |
描述 |
---|---|---|
1 |
导航栏菜单切换 |
用户点击此菜单可跳转至不同的模块,分别为用例库模块、任务管理模块和资源库模块 |
2 |
新建测试用例文件夹 |
点击此按钮可在用例库列表中新建一个用例库文件夹,新建了一个用例库文件夹后,新建用例按钮被激活,用户可在新创建的用例库文件夹下新建案例 |
3 |
删除/复制按钮 |
用户可对非内置的用例库文件夹进行删除和复制的操作 |
4 |
新建用例按钮 |
当此按钮处于激活状态时,用户即可在选中的左侧的用例库文件夹内新建一个新的用例 |
5 |
用例库操作按钮 |
包括导入、导出、编辑、删除和刷新。导入即向系统内部导入用例;导出即将用例库中的用例导出系统;编辑即选中用例进入用例编辑器查看;删除即选中某用例点击删除按钮即可删除用例;刷新即刷新用例库页面 |
6 |
重置 |
点击此按钮,所有的筛选项将会清空重置。 |
7 |
用例展示方式切换 |
包括宫格式展示和列表式展示两种类型 |
8 |
选中用例库 |
点击左侧的选中框即可选中用例,关于用例操作的导出,查看,删除按钮即可激活 |
9 |
运行按钮 |
选中用例,点击运行按钮,即可运行用例 |
10 |
加入快速测试集 |
当选中了用例库中的用例后,且快速测试集中选中了快速测试集文件夹后,即可点击此按钮将用例库中的用例加到快速测试集中 |
11 |
管理按钮 |
点击管理按钮,即可对选中的快速测试集中的用例进行移除的操作,将选中的用例从快速测试集中移出去 |
12 |
新建快速测试集按钮 |
点击此按钮,在快速测试集下即新建了一个快速测试集文件夹 |
13 |
删除/复制按钮 |
选中快速测试集文件夹,点击删除和复制即可删除和复制快速测试集文件夹 |
14 |
运行按钮 |
点击此按钮,可将选中的快速测试集中的用例一起运行 |
场景编辑
标准用例

ID |
项目 |
描述 |
---|---|---|
1 |
用例名 |
展示用例的名称 |
2 |
保存按钮 |
当对用例进行编辑后,点击此按钮可保存用例 |
3 |
运行用例按钮 |
当用例编辑器中有编辑相关的操作时,点击此按钮,弹出新建任务弹框,用户选择主车类型即可直接运行用例。 |
4 |
吸附到车道线中心 |
激活此按钮,将给主车或动态元素添加路径点时,路径点会默认添加到用户移动到的车道线的中心 |
5 |
跟随模式 |
预览轨迹时,视窗会跟随主车移动 |
6 |
前进一步/后退一步 |
恢复到上一步/下一步的操作 |
7 |
资源列表 |
在右侧用例编辑器展示的内容所在列表 |
8 |
用例编辑视窗操作 |
包括放大、缩小和定位到主车 |
9 |
测距工具 |
击标尺按钮后,鼠标变成十字光标,在地图区域<br>点击鼠标左键后松开同时移动鼠标即可看到长度,测距工具支持多段测量<br>再次点击鼠标左键可记录距离上一点距离,点击鼠标右键/ESC键退出测量| |
10 |
用例编辑视窗 |
可在此视窗内编辑案例,包括拖入主车、动态元素、静态元素并设置其路径或参数等 |
11 |
主车属性设置面板 |
可对主车的参数进行调整,包括主车的类型和控制器的选择 |
12 |
Tab切换 |
包括初始状态和行为规划两种 |
13 |
主车对手车属性 |
给主车或对手车添加动作、设置初始状态等 |
14 |
播放控制栏 |
从左至右依次是循环播放按钮、设置数据播放速率、刷新按钮、跳转至起点按钮、跳转至上一帧按钮播放/暂停按钮,跳转至终点按钮、播放进度条、已播放时间/总时间、自定义的预览时长设置 |
15 |
用例资源库列表 |
可以用于数据驱动用例编辑的资源 |
16 |
文本编辑器 |
弹出文本编辑模式方便用户编辑 |
17 |
用例资源展示 |
点击左侧用例资源库列表里的资源,右侧展示对应的用例资源 |
18 |
隐藏路径点 |
调节隐藏路径点,添加到用例编辑器中的主车、动态元素的路径点将统一被隐藏,仅展示路径 |
19 |
帮助中心 |
点击此按钮可弹出帮助中心的文档 |
20 |
退出编辑器 |
点击此按钮,可退出主车编辑器弹框 |
交通流用例

ID |
项目 |
描述 |
---|---|---|
1 |
用例名 |
展示用例的名称 |
2 |
删除按钮 |
选中用例资源列表树中的资源点击此按钮可删除资源 |
3 |
用例资源列表树 |
将向用例添加的资源显示在用例编辑器左侧的用例资源列表数中 |
4 |
保存按钮 |
当对用例进行编辑后,点击此按钮可保存用例 |
5 |
运行用例按钮 |
当用例编辑器中有编辑相关的操作时点击此按钮,弹出新建任务弹框,用户选择主车类型即可直接运行用例。 |
6 |
增加路径点 |
当选中主车、静态元素或动态元素后,此按钮被激活,点击会沿着路径新增一个对应类型的途径点 |
7 |
删除路径点 |
当选中主车、静态元素或动态元素后,此按钮被激活,点击会删除一个对应类型的途径点 |
8 |
吸附到车道线中心 |
激活此按钮,将给主车或动态元素添加路径点时,路径点会默认添加到用户移动到的车道线的中心 |
9 |
前进一步 |
恢复到上一步的操作 |
10 |
后退一步 |
恢复到下一步的操作 |
11 |
用例编辑视窗 |
可在此视窗内编辑用例,包括拖入主车、动态元素、静态元素、触发器并设置其路径或参数等 |
12 |
用例编辑器参数面板 |
可对用例编辑视窗中的对象进行参数设置 |
13 |
状态栏 |
展示比例尺和鼠标坐标及一些错误等信息提示 |
14 |
用例资源库列表 |
点击左侧的用例资源列表,右侧展示资源,鼠标拖拽资源可拖拽资源至用例编辑器中| |
15 |
用例资源展示 |
点击左侧的用例资源库列表,右侧即展示选中的文件夹中的资源| |
交通流用例-如何使用Vissim
Step 1 安装Vissim软件
安装Vissim软件10版(注意不要安装其他的版本,目前只有这个版本可以用于SimOne的仿真);
Step 2 安装 CodeMeter7.10a 并配置。
-
打开 CodeMeter,点击右下角 WebAdmin。

-
在弹出网页中点击上面一行中的 Configration 菜单,将 Server Search List 中清空(点击垃圾桶图标),点击 Apply 确定。

Step 3 在 SimOne 中配置使用 Vissim
-
目前公开版本中支持Vissim的地图只有三车道路口,如要使用Vissim仿真,请在构建用例时选择该地图。

-
选择用例类型为交通流用例,并在交通流配置里选择Vissim。

-
运行仿真用例。
交通流用例-如何使用DST_API控制
DST(Dynamic Simulation Translator) API 和交通流数据的通信是通过 socket 通信来完成的。一般使用情况下,为保证数据传输效率,建议将发送数据的进程与 SimOne 放于同一机器。
在此前提下,socket 通信的 IP 地址是 127.0.0.1,端口是 21568。目前一帧里交通参与者的数据会以 JSON 字符串的方式发往 DST。
基本工作流程
-
创建 socket,绑定 IP 地址和端口以建立连接。
-
获取交通参与者数据并通过 socket 发送给 DST。参考下面的例子,交通参与者的数据信息包括:
1)通用数据:
(1)TimeStamp:交通参与者当前所在帧的时间戳,单位是秒,为必须项;
(2)ObjectId:交通参与者的用户自定义id,具有唯一性,为必须项;
(3)ObjectType:交通参与者的具体类别,可取值Vehicle、Pedestrian、Bike或TrafficLight,为必须项;
(4)Position:交通参与者坐标,X、Y、Z单位是米,其中X、Y为必须项,Z为可选项;
2)车辆行人自行车专属数据:
(1)Speed:交通参与者的速度,单位是米/秒,为可选项;
(2)PIS:交通参与者的航向度,单位是弧度,为可选项;
(3)AssetId:具体交通参与者的类型id,用于加载SimOne内部模型,取值要参考SimOne内部的agents.json并结合ObjectType,为可选项,默认为agents.json中随机Vehicle的id。
3)交通灯专属数据:
Attributes字段:其中包含 OpenDriveLightId、Signal 及 CountDown 三个子字段。
(1)OpenDriveLightId:opendrive中对应交通灯的id,为必须项;
(2)Signal: 此交通灯的颜色,取值“R”、”Y”或”G”,表示红、黄或绿,为必须项;
(3)CountDown:此交通灯的持续秒数,为必须项。
-
建议用恒定频率发送数据,推荐 10HZ。
附录 DST API Sample 代码:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import socket
import json
import time
if __name__ == '__main__':
dstSocket = socket.socket()
dstSocket.connect(("127.0.0.1", 21568))
print("start data process node...\n")
print("connect dst ip: 127.0.0.1 port:21568")
index = 0
tick = 0
pulse = 0.1
while True:
start = time.time()
dataPackage = {}
dataPackage['Data'] = []
asset = {}
asset['TimeStamp'] = str(tick)
objects = []
position = {}
position['X'] = float(-46 + 0.25 * index)
position['Y'] = -3.44
actor = {}
actor["ObjectId"] = '23562'
actor['AssetId'] = "1000006"
actor['ObjectType'] = 'Vehicle'
actor['Position'] = position
objects.append(actor)
asset['Objects'] = objects
dataPackage['Data'].append(asset)
try:
sendData = json.dumps(dataPackage).encode('utf-8')
dstSocket.send(sendData)
except:
print('dst Socket is closed!!')
index = index + 1
end = time.time()
if pulse > (end - start):
time.sleep(pulse - (end - start))
tick = tick + pulse
附录 DST 一帧数据的 JSON 格式样例:
FrameData = {
"Data": [
{
"TimeStamp": "51.0",
"Objects": [
{
# 只写必须字段的例子
"ObjectId":"23562",
"ObjectType": "Vehicle",
"Position": {
"X": 575,
"Y": 268
}
},
{
# 字段写全的例子
"ObjectId": "23562",
"ObjectType": "Vehicle",
"Position": {
"X": 575,
"Y": 268,
"Z": 0
},
"Speed": "30",
"PIS": 1,
"AssetId": "1000049"
},
{
"ObjectId": "73088",
"ObjectType": "Vehicle",
"Position": {
"X": 575,
"Y": 280
}
},
{
"ObjectId": "73088",
"ObjectType": "Vehicle",
"Position": {
"X": 575,
"Y": 280
}
},
{
# 交通灯的例子,使id为9的交通灯设为红灯,并使之持续10秒
"ObjectId": "74000",
"ObjectType": "TrafficLight",
"Attributes": {
"OpenDriveLightId": 9,
"Signal": "R",
"CountDown": 10
}
"Position": {
"X": 600,
"Y": 300
}
}
]
}
]
}
数据驱动案例

ID |
项目 |
描述 |
---|---|---|
1 |
数据重建 |
数据重建可对原始数据进行清理。用户的数据源中由于设备、环境或其他原因可能包含噪点和跳变,数据重建可使转换后的数据曲线更平滑,更易编辑。重建分为两部分,可对主车和对手元素分别重建。当对手元素被勾选时,主车也会默认被勾选,反之不会。这样做是为了避免当用户直接测试转换后案例时,主车仍然为原始数据而导致的无效测试 |
2 |
显示原始路径 |
显示数据转化重建之前的轨迹 |
3 |
主车文件夹属性 |
主车和元素文件夹上的有两个ICON, 表示原始数据表示重建后数据,这两个ICON使用状态互斥即当在右侧属性面板选择数据源为原始数据时, 原始数据ICON点亮,重建后数据的ICON则变成灰置状态。当数据源选择重建后数据时原始数据变成灰置状态,最终进行测试的数据类型取决于数据源选择哪种类型 |
数据驱动支持的原始数据格式(CSV XLSX):
-
必须字段:
字段 |
名称 |
单位 |
说明 |
---|---|---|---|
编号 |
ID |
无 |
交通参与者唯一编号 |
时间戳 |
Time |
秒(s) |
记录每个轨迹点对应的时刻 |
位置X坐标 |
PositionX |
米(m) |
局部世界坐标X分量 |
位置Y坐标 |
PositionY |
米(m) |
局部世界坐标Y分量 |
-
可选字段:
字段 |
名称 |
单位 |
说明 |
---|---|---|---|
速度 |
Speed |
m/s |
速度 |
交通参与者朝向 |
PIS |
rad |
弧度制朝向 |
交通参与者大类 |
Category |
无 |
车辆、行人、自行车、动物、静态障碍物:vehicle、bike、pedestrian、animal、static |
交通参与者型号 |
Type |
无 |
具体型号,比如car、man,详细见下表 |
是否主车 |
Ego |
无 |
是否作为自动驾驶主车,是:Y,否:N |
-
交通参与者大类(Category)与交通参与者型号(Type)对照关系:
Category |
Type |
说明 |
---|---|---|
vehicle |
car mixed_truck truck coach van_truck tricycle motor |
小轿车 水泥搅拌车等工程车辆 大卡车 大巴 小型厢式货车 电动三轮车 摩托车 |
bike |
normal electric |
普通自行车 电动自行车 |
pedestrian |
man woman child |
成年男性行人 成年女性行人 儿童 |
animal |
dog |
狗 |
static |
obstacle holecover cover pole roadmark |
路障:水马、路桩、隔离栏等 窖井盖 路面覆盖物:落叶、泥土、积水等 残缺标记牌 残缺车道线 |
环境编辑器(TOD+天气系统)
SimOne 依托 UE5 UDS 插件和自主开发的参数完成环境里的时间与光照、天气、材质影响等参数设置。
用户可以根据需要自行配置,可以使用用例资源库中的 环境预设 ,将其拖入用例编辑视窗中。
从早到晚光照效果

天气效果

环境编辑器调整环境参数
1. 时间与光照
1.1 当前时间 / timeOfDay
备注
早上路灯关闭时间 7:00 ,车灯关闭时间 6:00 。晚上路灯开启时间 18:00,车灯开启时间 18:01 。
参数名 |
console |
参数范围 |
默认值 |
UE5参数位置 |
---|---|---|---|---|
当前时间 |
timeOfDay |
0:00 - 24:00 |
10:00 |
Sky > Basic Controls > Time Of Day |

1.2 模拟真实 / simulateReality
备注
模拟真实 功能旨在模拟现实的地点时间下读取真实太阳月亮的位置。默认开启后,“太阳方位角”、“太阳倾角”、“月球方位角”、“月球倾角” 功能将失效,参数置灰。
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
启用模拟真实 |
simulateReality |
True / False |
True |
无 |
Sky > 模拟 > Simulate Real Sun/Moon |
地点 |
选择地点 |
– |
– |
无 |
Sky > 模拟 > Location Preset |
经度 |
longitude |
-180 - 180 |
110.1983 |
° |
Sky > 模拟 > Longitude |
纬度 |
latitude |
-90 - 90 |
20.0442 |
° |
Sky > 模拟 > Latitude |
时区 |
timeZone |
-12 - 12 |
8 |
时区 |
Sky > 模拟 > Time Zone |
年 |
date |
1800 - 2100 |
2023 |
年 |
Sky > 模拟 > Year |
月 |
date |
0 - 12 |
3 |
月 |
Sky > 模拟 > Month |
日 |
date |
0 - 31 |
21 |
日 |
Sky > 模拟 > Day |
备注
方向遵从 编辑器视窗 的 上北 下南 左西 右东 的原则。
备注
开启模拟真实 时,太阳会从东边升起。关闭模拟真实 时(此时太阳方位角为 0°),太阳默认从北边升起。


1.3 ☀ 太阳 / sun
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
太阳光强度 |
sunIntensity |
0 - 10 |
5.0 |
lux |
Sky > Sun > Sun Light Intensity |
太阳方位角 |
sunAzimuth |
0 - 360 |
0.0 |
° |
Sky > Sun > Sun Angle |
太阳倾角 |
sunInclination |
-85 - 85 |
30.0 |
° |
Sky > Sun > Sun Inclination |
太阳大小 |
sunSize |
0 - 5 |
1.0 |
无 |
Sky > Sun > Sun Radius |
1.3.1 太阳光强度 / sunIntensity
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
太阳光强度 |
sunIntensity |
0 - 10 |
5.0 |
lux |
Sky > Sun > Sun Light Intensity |

1.3.2 太阳方位角 / sunAzimuth
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
太阳方位角 |
sunAzimuth |
0 - 360 |
0.0 |
° |
Sky > Sun > Sun Angle |
备注
太阳所在方位(0-360°),从正北方向(0°)沿地平线顺时针量角,决定太阳升起/落下方向。 使用 “模拟真实” 时禁用。

1.3.3 太阳倾角 / sunInclination
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
太阳倾角 |
sunInclination |
-85 - 85 |
30.0 |
° |
Sky > Sun > Sun Inclination |
备注
太阳光入射方向与天顶方向夹角。使用“模拟真实”时禁用。

1.3.4 太阳大小 / sunSize
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
太阳大小 |
sunSize |
0 - 5 |
1.0 |
无 |
Sky > Sun > Sun Radius |

1.4 🌙 月 / moon
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
月光强度 |
moonIntensity |
0 - 1 |
0.12 |
无 |
Sky > Moon > Moon Light Intensity |
月球方位角 |
moonAzimuth |
0 - 360 |
15.0 |
° |
Sky > Moon > Moon Angle |
月球倾角 |
moonInclination |
-90 - 90 |
35.0 |
° |
Sky > Moon > Moon Inclination |
月球大小 |
moonSize |
0 - 12 |
0.7 |
无 |
Sky > Moon > Moon Scale |
月相 |
moonPhase |
0 - 29.53 |
0.0 |
无 |
Sky > Moon > Moon Phase |
月球颜色 |
moonColorA,moonColorR,moonColorG,moonColorB |
RGBA值 |
R0.486328,G0.574971,B0.864583,A1.0 |
无 |
Sky > Moon > Moon Material Color |
1.4.1 月光强度 / moonIntensity
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
月光强度 |
moonIntensity |
0 - 1 |
0.12 |
无 |
Sky > Moon > Moon Light Intensity |

1.4.2 月球方位角 / moonAzimuth
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
月球方位角 |
moonAzimuth |
0 - 360 |
15.0 |
° |
Sky > Moon > Moon Angle |

1.4.3 月球倾角 / moonInclination
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
月球倾角 |
moonInclination |
-90 - 90 |
35.0 |
° |
Sky > Moon > Moon Inclination |

1.4.4 月球大小 / moonSize
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
月球大小 |
moonSize |
0 - 12 |
0.7 |
无 |
Sky > Moon > Moon Scale |

1.4.5 月相 / moonPhase
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
月相 |
moonPhase |
0 - 29.53 |
0.0 |
无 |
Sky > Moon > Moon Phase |

1.4.6 月球颜色 / moonColorA moonColorR moonColorG moonColorB
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
月球颜色 |
moonColorA,moonColorR,moonColorG,moonColorB |
RGBA值 |
R0.486328,G0.574971,B0.864583,A1.0 |
无 |
Sky > Moon > Moon Material Color |
2. 天气
2.1 ☁ 云 / cloud
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
云 |
cloudDensity |
0 - 7.5 |
2.0 |
% |
Weather > Manual Weather State > Cloud Coverage |
云层高度 |
cloudHeight |
0 - 2 |
0.6 |
km |
Sky > Volumetric Clouds > Bottom Altitude |
云层厚度 |
cloudThickness |
0.1 - 2 |
1.0 |
无 |
Sky > Volumetric Clouds > Layer Height Scale |
2.1.1 云 / cloudDensity
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
云 |
cloudDensity |
0 - 7.5 |
2.0 |
% |
Weather > Manual Weather State > Cloud Coverage |

2.1.2 云层高度 / cloudHeight
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
云层高度 |
cloudHeight |
0 - 2 |
0.6 |
km |
Sky > Volumetric Clouds > Bottom Altitude |
2.1.3 云层厚度 / cloudThickness
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
云层厚度 |
cloudThickness |
0.1 - 2 |
1.0 |
无 |
Sky > Volumetric Clouds > Layer Height Scale |
2.2 🌫 雾 / fogDensity
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
雾 |
fogDensity |
0 - 10 |
0 |
m |
Weather > Manual Weather State > Fog |

2.3 🌀 风 / wind
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
风 |
windDensity |
0 - 10 |
3.0 |
m/s |
Weather > Manual Weather State > Wind Intensity |
风向 |
windDirection |
0 - 360 |
180.0 |
° |
Weather > Basic Controls > Wind Direction |
2.3.1 风 / windDensity
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
风 |
windDensity |
0 - 10 |
3.0 |
m/s |
Weather > Manual Weather State > Wind Intensity |
2.3.2 风向 / windDirection
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
风向 |
windDirection |
0 - 360 |
180.0 |
° |
Weather > Basic Controls > Wind Direction |

2.4 🌧 雨 / rain
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
雨 |
rainDensity |
0 - 10 |
0 |
mm |
Weather > Manual Weather State > Rain |
雨滴密度系数 |
raindropDensity |
0 - 20000 |
2000 |
无 |
Weather > Rain Particles > Max Rain Particle Spawn Rate |
雨滴粒子大小 |
raindropParticle |
0 - 3 |
1.0 |
无 |
Weather > Rain Particles > Rain Drops Scale |
2.4.1 雨 / rainDensity
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
雨 |
rainDensity |
0 - 10 |
0 |
mm |
Weather > Manual Weather State > Rain |

2.4.2 雨滴密度系数 / raindropDensity
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
雨滴密度系数 |
raindropDensity |
0 - 20000 |
2000 |
无 |
Weather > Rain Particles > Max Rain Particle Spawn Rate |

2.4.3 雨滴粒子大小 / raindropParticle
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
雨滴粒子大小 |
raindropParticle |
0 - 3 |
1.0 |
无 |
Weather > Rain Particles > Rain Drops Scale |
2.5 ❄ 雪 / snow
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
雪 |
snowDensity |
0 - 10 |
0 |
mm |
Weather > Manual Weather State > Snow |
雪花密度系数 |
snowflakeDensity |
0 - 30000 |
2000 |
无 |
Weather > Snow Particles > Max Snow Particle Spawn Rate |
雪花粒子大小 |
snowflakeParticle |
0 - 3 |
1.0 |
无 |
Weather > Snow Particles > Snow Flakes Scale |
2.5.1 雪 / snowDensity
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
雪 |
snowDensity |
0 - 10 |
0 |
mm |
Weather > Manual Weather State > Snow |

2.5.2 雪花密度系数 / snowflakeDensity
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
雪花密度系数 |
snowflakeDensity |
0 - 30000 |
2000 |
无 |
Weather > Snow Particles > Max Snow Particle Spawn Rate |

2.5.3 雪花粒子大小 / snowflakeParticle
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
雪花粒子大小 |
snowflakeParticle |
0 - 3 |
1.0 |
无 |
Weather > Snow Particles > Snow Flakes Scale |
2.6 ⚡ 雷/闪电 / thunder
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
雷/闪电 |
thunderLightning |
0 - 10 |
0 |
无 |
Weather > Manual Weather State > Thunder/Lightning |
闪电时间间隔 |
thunderInterval |
0 - 10 |
7 |
无 |
Weather > Lightning > Lightning Flash Interval (Min/Max) |
闪电亮度 |
thunderBrightness |
1 - 25 |
14.0 |
无 |
Weather > Lightning > Maximum Lightning Flash Light Intensity |
2.6.1 雷/闪电 / thunderLightning
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
雷/闪电 |
thunderLightning |
0 - 10 |
0 |
无 |
Weather > Manual Weather State > Thunder/Lightning |

2.6.2 闪电时间间隔 / thunderInterval
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
闪电时间间隔 |
thunderInterval |
0 - 10 |
7 |
无 |
Weather > Lightning > Lightning Flash Interval (Min/Max) |
2.6.3 闪电亮度 / thunderBrightness
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
闪电亮度 |
thunderBrightness |
1 - 25 |
14.0 |
无 |
Weather > Lightning > Maximum Lightning Flash Light Intensity |
2.7 🌪 沙尘 / dust
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
沙尘 |
dustDensity |
0 - 10 |
0 |
m |
Weather > Manual Weather State > Dust |
沙尘密度系数 |
dustDensityCoefficient |
0 - 3000 |
300 |
无 |
Weather > Dust Particles > Max Dust Particle Spawn Rate |
沙尘粒子大小 |
dustParticle |
0 - 3 |
1.0 |
无 |
Weather > Dust Particles > Dust Particle Scale |
2.7.1 沙尘 / dustDensity
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
沙尘 |
dustDensity |
0 - 10 |
0 |
m |
Weather > Manual Weather State > Dust |

2.7.2 沙尘密度系数 / dustDensityCoefficient
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
沙尘密度系数 |
dustDensityCoefficient |
0 - 3000 |
300 |
无 |
Weather > Dust Particles > Max Dust Particle Spawn Rate |
2.7.3 沙尘粒子大小 / dustParticle
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
沙尘粒子大小 |
dustParticle |
0 - 3 |
1.0 |
无 |
Weather > Dust Particles > Dust Particle Scale |
3. 材质影响
3.1 地面摩擦系数
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
地面摩擦系数 |
无 |
0 - 1 |
1 |
无 |
自研 |
3.2 覆盖
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
干湿度 |
groundHumidityLevel |
0 - 1 |
0 |
无 |
Weather > Manual Weather State > Material Wetness |
雪覆盖度 |
groundSnowLevel |
0 - 1 |
0 |
无 |
Weather > Manual Weather State > Material Snow Coverage |
沙尘覆盖度 |
groundDirtyLevel |
0 - 1 |
0 |
无 |
Weather > Manual Weather State > Material Dust Coverage |
3.2.1 干湿度 / groundHumidityLevel
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
干湿度 |
groundHumidityLevel |
0 - 1 |
0 |
无 |
Weather > Manual Weather State > Material Wetness |

3.2.2 雪覆盖度 / groundSnowLevel
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
雪覆盖度 |
groundSnowLevel |
0 - 1 |
0 |
无 |
Weather > Manual Weather State > Material Snow Coverage |

3.2.3 沙尘覆盖度 / groundDirtyLevel
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
沙尘覆盖度 |
groundDirtyLevel |
0 - 1 |
0 |
无 |
Weather > Manual Weather State > Material Dust Coverage |

3.3 破损脏污
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
道路脏污度 |
roadDirtyLevel |
0 - 1 |
0 |
无 |
自研 |
标线破损度 |
lineDamageLevel |
0 - 1 |
0 |
无 |
自研 |
标志脏污度 |
signDirtyLevel |
0 - 1 |
0 |
无 |
自研 |
标志破损度 |
signDamageLevel |
0 - 1 |
0 |
无 |
自研 |
3.3.1 道路脏污度 / roadDirtyLevel
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
道路脏污度 |
roadDirtyLevel |
0 - 1 |
0 |
无 |
自研 |

3.3.2 标线破损度 / lineDamageLevel
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
标线破损度 |
lineDamageLevel |
0 - 1 |
0 |
无 |
自研 |

3.3.3 标志脏污度 / signDirtyLevel
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
标志脏污度 |
signDirtyLevel |
0 - 1 |
0 |
无 |
自研 |

3.3.4 标志破损度 / signDamageLevel
参数名 |
console |
参数范围 |
默认值 |
单位 |
UE5参数位置 |
---|---|---|---|---|---|
标志破损度 |
signDamageLevel |
0 - 1 |
0 |
无 |
自研 |

交通灯控制
标准用例的交通灯控制
-
SimOne拓展的有关交通灯的字段,以下动作支持用例编辑器编辑:
字段 |
含义 |
---|---|
TrafficSignalSwitchAction |
控制参考车所在车道的交通灯状态的切换规则。注意,其余交通灯可能也会随之切换 |
-
OpenScenario1.0与交通灯有关的字段,以下动作只支持文本编辑:
字段 |
含义 |
---|---|
TrafficSignalController |
控制整个路口的交通灯状态的切换规则,也称交通灯控制器 |
TrafficSignalControllerAction |
切换至交通灯控制器规定的某个相位,实现路口整个路口红绿灯的集体跳转 |
TrafficSignalStateAction |
控制某个灯切换为某个颜色,该灯的颜色必须出现在交通灯控制器中。注意,其余交通灯可能也会随之切换 |
-
各字段详细解释:
(1)TrafficSignalSwitchAction:
此动作为SimOne拓展,非标准OpenScenario1.0字段,但是在导出后会转换为标准OpenScenario1.0的表达。与TrafficSignalStateAction的区别在于,会使用内部自动生成的默认交通灯控制器,无需使用TrafficSignalController显式写明控制器。
与标准TrafficSignalStateAction相同的是 ,此交通灯的状态一定会改变,其余交通灯状态可能会改变。当编辑的交通灯状态全部切换完毕,会切换为默认交通灯控制器所具有的相位:

此为SimOne用例编辑器支持的交通灯编辑样例,选择 “添加动作” 下的 “用户自定义” 的 “交通灯切换” 即可打开:

(2)TrafficSignalController:
此字段规定了一个交通灯控制器,其下分别给出了路口交通灯的几个相位Phase(包含全部交通灯状态的时间片段),不同相位在duration属性下规定了持续的时间,trafficSignalId属性值表示的交通灯id必须对应于opendrive文件中signal字段的id。此动作会在场景运行一开始就触发。目前只支持文本编辑器操作:

(3)TrafficSignalControllerAction:
此动作的 trafficSignalControllerRef 属性会引用上面 TrafficSignalController 规定好的交通灯控制器,并在下一帧切换到指定相位,从而实现路口全部交通灯的跳转:

(4)TrafficSignalStateAction:
此动作的 name 属性表示某个交通灯的 id。必须保证在交通灯控制器中有此交通灯要切换的状态。动作触发后,会在下一帧将路口全部交通灯相位切换到包含此交通灯状态的相位。此交通灯的状态一定会改变,其余交通灯状态可能会改变。

sumo配置
SimOne内置的交通流模块是基于sumo进行开发的,可以通过修改配置文件对sumo进行更多的参数调整。
配置文件
配置类型 |
位置 |
描述 |
---|---|---|
公共配置 |
SUMO\config\sumoConfig.json |
全局配置,会影响到全局 |
地图配置 |
SUMO\<地图>\parameter.json |
对当前地图的私有配置,影响当前地图 |
地图配置 |
SUMO\<地图>\*.sumocfg |
sumo运行时配置 |
地图配置 |
SUMO\<地图>\*.vtype.xml |
sumo车辆类型配置 |
公共配置
SUMO\config\sumoConfig.json
配置项 |
默认值 |
功能描述 |
---|---|---|
SUMOIP |
127.0.0.1 |
SUMO服务IP地址 |
SUMOPort |
58289 |
SUMO服务端口号 |
StepLength |
0.03 |
仿真步长 |
SUMOWindowsExe |
sumo.exe |
Windows平台SUMO运行程序名称 |
SUMOLinuxExe |
sumo |
Linux平台SUMO运行程序名称 |
HasMainVehicle |
true |
是否有主车 |
NewVehicleForbiddenRange |
200.0 |
SUMO车禁止出生点的范围,距离主车NewVehicleForbiddenRange以内的不出生 |
DensityCoefficient |
1.0 |
密度系数 |
EnablePrediction |
false |
开启SUMO轨迹预测功能, 10个预测点 |
地图配置
SUMO\<地图>\parameter.json
配置项 |
默认值 |
描述 |
---|---|---|
MaxVehicleNumber |
默认不限制数量 |
配置SUMO车辆最大数量 |
PreRunDuration |
90 |
车辆加载显示等待时间,单位s。如果设定值小于0,将使用默认值90 |
LaneChangeAggressive |
false |
跟车多样性 |
VehicleRange |
200.0 |
SUMO车辆订阅范围,距离主车在范围内的车辆被订阅,范围外的忽略 |
PersonRange |
100.0 |
SUMO行人订阅范围,距离主车在范围内的行人被订阅,范围外的忽略 |
EdgeRange |
10.0 |
Edge订阅范围 |
SkippedFrameCount |
10 |
跳过仿真运行开始时的帧数量 |
CreateEvenTrafficflowAtStart |
false |
仿真开始时生成均匀交通流 |
TimeToTeleport |
0 |
Specify how long a vehicle may wait until being teleported, defaults to 300, non-positive values disable teleporting |
VehicleDensityPerMap |
1.0 |
对当前地图交通流车辆密度设置,是对DensityCoefficient配置的补充 |
SUMO\<地图>\*.sumocfg
配置项 |
默认值 |
描述 |
---|---|---|
gui-message |
true |
sumo-gui log信息打印输出,如果SUMO GUI假死,可以尝试成false |
pedestrian.behavior |
onlyonce |
行人行为,取值可以是round, onlyonce |
pedestrian.max-num |
最大行人数量 |
|
pedestrian.frozen |
启动行人冰冻,SUMO将主车一定范围以外的冰冻以提高性能 |
|
pedestrian.frozen-range |
行人冰冻范围,只有pedestrian.frozen value=”true”时才有效 |
|
bike.behavior |
onlyonce |
自行车行为,取值可以是round, onlyonce |
bike.max-num |
自行车最大数量 |
|
lane.bike-num |
3 |
每条车道最大自行车数量 |
SUMO\<地图>\*.vtype.xml

配置项 |
描述 |
---|---|
length, width, height |
车辆长宽高 |
maxSpeed |
车辆最大速度,单位m/s |
accel |
车辆加速度 |
decel |
车辆减速度 |
minGap |
车辆间最小间距,单位m |
OpenSCENARIO 支持
备注
SimOne现支持OpenSCENARIO 1.2,OpenDRIVE 1.4。
关于 OpenSCNEARIO 1.2 标准可以通过官方文档进行了解: https://www.asam.net/fileadmin/Standards/OpenSCENARIO/ASAM_OpenSCENARIO_BS-1-2_User-Guide_V1-2-0.html
Action
PrivateAction
项目 |
场景编辑器支持 |
运行引擎支持 |
备注 |
---|---|---|---|
SpeedAction |
|
|
|
LongitudinalDistanceAction |
|
|
|
LaneChangeAction |
|
|
|
LaneOffsetAction |
|
|
|
LateralDistanceAction |
|
|
|
VisibilityAction |
|
|
|
SynchronizeAction |
|
|
同步车与参考车各自的起始点间必须有路由存在。 |
ActivateControllerAction |
|
|
|
AssignControllerAction |
|
|
|
OverrideControllerValueAction |
|
|
|
TeleportAction |
|
|
|
AssignRouteAction |
|
|
所有点得置于机动车路,暂不支持非机动车路的route与沿人行道过马路的route。 |
FollowTrajectoryAction |
部分支持 |
|
Editor支持Sim-One FittedClothoid。SimOne 2.0可导出FittedClothoid为官方的Clothoid。支持三种官方曲线导入运行。 |
AcquirePositionAction |
|
|
所有点得置于机动车路,暂不支持非机动车路的route与沿人行道过马路的route。 |
GlobalAction
项目 |
场景编辑器支持 |
运行引擎支持 |
备注 |
---|---|---|---|
EnvironmentAction |
|
|
SimOne 2.0支持环境的导入与导出。SimOne 2.0 Editor的环境字段在openscenario字段外部,导出为osc时会替换进去。 |
AddEntityAction |
仅支持文本编辑 |
|
|
DeleteEntityAction |
仅支持文本编辑 |
|
|
ParameterAction |
仅支持文本编辑 |
|
|
TrafficSignalControllerAction |
仅支持文本编辑 |
|
|
TrafficSignalStateAction |
仅支持文本编辑 |
|
|
TrafficAction |
|
|
UserDefinedAction
项目 |
场景编辑器支持 |
运行引擎支持 |
备注 |
---|---|---|---|
CustomCommandAction |
有限支持 |
有限支持 |
只支持SimOne的用户指令、发送状态、交通灯切换三种,不支持脚本 |
Condition
ByEntityCondition
项目 |
场景编辑器支持 |
运行引擎支持 |
备注 |
---|---|---|---|
EndOfRoadCondition |
|
|
|
CollisionCondition |
|
|
|
OffroadCondition |
|
|
|
TimeHeadwayCondition |
|
|
|
TimeToCollisionCondition |
|
|
|
AccelerationCondition |
|
|
|
StandStillCondition |
|
|
|
SpeedCondition |
|
|
|
RelativeSpeedCondition |
|
|
|
TraveledDistanceCondition |
|
|
|
ReachPositionCondition |
|
|
|
DistanceCondition |
|
|
若alongRoute=True,必须保证本车与目标位置间有路由。 |
RelativeDistanceCondition |
|
|
ByValueCondition
项目 |
场景编辑器支持 |
运行引擎支持 |
备注 |
---|---|---|---|
ParameterCondition |
|
|
|
TimeOfDayCondition |
|
|
SimOne 2.0 Editor preview由于提前压缩了实际运行时间,所以TimeOfDayCondition可能不会正常触发,但实际运行时是没问题的。 |
SimulationTimeCondition |
|
|
|
StoryboardElementStateCondition |
|
|
|
TrafficSignalCondition |
|
|
|
TrafficSignalControllerCondition |
|
|
|
UserDefinedValueCondition |
|
|
Positions
项目 |
场景编辑器支持 |
运行引擎支持 |
备注 |
---|---|---|---|
WorldPosition |
|
|
|
RelativeWorldPosition |
仅支持文本编辑 |
|
|
RelativeObjectPosition |
仅支持文本编辑 |
|
|
RoadPosition |
|
|
|
RelativeRoadPosition |
仅支持文本编辑 |
|
|
LanePosition |
|
|
|
RelativeLanePosition |
仅支持文本编辑 |
|
|
RoutePosition |
仅支持文本编辑 |
|
RouteStrategy仅支持shortest |
RoadNetwork
项目 |
场景编辑器支持 |
运行引擎支持 |
备注 |
---|---|---|---|
LogicFile |
|
|
|
SceneGraphFile |
|
|
|
TafficSignals |
|
|
FileHeader
项目 |
场景编辑器支持 |
运行引擎支持 |
备注 |
---|---|---|---|
FileHeader |
|
|
引擎需要Catalog文件放到指定目录下 |
ParameterDeclarations
项目 |
场景编辑器支持 |
运行引擎支持 |
备注 |
---|---|---|---|
ParameterDeclarations |
仅支持文本编辑 |
|
CatalogLocations
项目 |
场景编辑器支持 |
运行引擎支持 |
备注 |
---|---|---|---|
CatalogLocations |
|
|
Entities
ScenarioObject
项目 |
场景编辑器支持 |
运行引擎支持 |
备注 |
---|---|---|---|
EntityObject( VehiclePedestrianMiscObject) |
仅支持文本编辑 |
|
|
EntityObject(CatalogReference) |
|
|
|
ObjectController |
支持SimOneDriver |
|
EntitySelection
项目 |
场景编辑器支持 |
运行引擎支持 |
备注 |
---|---|---|---|
EntitySelection |
|
|
车辆配置

ID |
项目 |
描述 |
---|---|---|
1 |
主车配置名 |
展示编辑主车的名称 |
2 |
删除/复制按钮 |
用户可对主车编辑器左侧的资源列表进行删除和复制的操作 |
3 |
主车资源列表树 |
将向主车添加的资源显示在主车编辑器左侧的主车资源列表数中 |
4 |
添加融合传感器组 |
点击此按钮可添加一个融合传感器组 |
5 |
保存 |
当对主车完成编辑后,点击此按钮可将资源保存完毕 |
6 |
直角坐标系 |
当选择平移坐标系时,可将主车编辑器里的传感器按照三维直角坐标系x,y,z三个方向移动,默认是直角坐标系 |
7 |
旋转坐标系 |
当选择旋转坐标系时,可将主车编辑器里的传感器按照旋转坐标系的方向进行旋转,旋转坐标系和直角坐标系之间可以来回切换。 |
8 |
前进一步 |
恢复到上一步的操作 |
9 |
后退一步 |
恢复到下一步的操作 |
10 |
帮助中心 |
点击此按钮可弹出帮助中心的文档 |
11 |
退出编辑器 |
点击此按钮,可退出主车编辑器弹框 |
12 |
主车编辑视窗视角切换 |
可对编辑窗口的视角进行切换,包括透视图、顶视图、左视图、右视图、前视图和后视图 |
13 |
预览探测范围 |
点击此按钮,右侧弹出预览视窗,可预览给主车配置的传感器的范围 |
14 |
传感器原点坐标系 |
标注传感器三维坐标的原点,传感器的旋转以此原点为主 |
15 |
直角坐标系显示 |
显示直角坐标系x,y,z三个的方向 |
16 |
传感器参数保存按钮 |
对拖入到主车编辑器中的传感器参数进行保存,下次需要时,可直接调用,无需再次设置修改 |
17 |
恢复默认 |
对传感器的参数编辑点击此按钮可一键到恢复到所有默认的参数 |
18 |
传感器参数设置面板 |
在此传感器参数面板中,可对传感器参数进行修改 |
19 |
主车资源库列表 |
点击左侧的主车资源列表,右侧展示资源,鼠标拖拽资源可拖拽资源至主车编辑器中 |
20 |
主车资源展示 |
点击左侧的主车资源库列表,右侧即展示选中的文件夹中的主车 |
动力学与车辆工程
SimOne提供自主研发的动力学仿真模块,也提供对CarSim等在内的多种动力学仿真模型的接入,用户可以根据需要自行配置。配置方式为从主车资源库中选择相应的动力学仿真模型,通过拖拽添加到主车编辑视窗中。一辆主车只支持一种动力学仿真模型。
SimOne动力学仿真模块
自主研发的SimOne动力学仿真模块接收控制信号并驱动车辆运动,给出车辆运行姿态,能够满足自动驾驶算法测试对于动力学准确性的要求。 SimOne动力学模块包括了车体、控制、引擎、差速器、传动、悬架、轮胎、车轮等模块共上百个参数/曲线。详细的参数、默认值、单位和含义见下列各表。
1. 车体参数

-
轴距:前、后轴中心线的距离。
-
质心相对前轴偏移:质心到前轴中心线的距离。
-
质心高度:质心到地面的距离。
-
质心 y 方向偏移:质心和车辆几何中心在侧向的距离(车内载荷不均可能造成偏移)。
-
底盘高度:地面到车顶最高点的垂直距离。
-
底盘宽度:车身左、右最凸出位置之间的距离。
-
风阻系数:用于计算车辆坐标系下 x 方向空气阻力的参数(其他方向的空气阻力目前不考虑)。
-
车头与前轴距离:车辆最前端到前轴中心线的距离。
-
惯性张量:车身绕坐标轴的转动惯量。
-
质量:车辆的总质量。
-
后轴与车尾的距离:车辆最后端到后轴中心线的距离。
-
车轮偏移:车轮中心平面到车辆几何中心的距离(y 方向偏移)。
2. 传动系统
传动系统分为两类:燃油 或 电动。
传动系统包括 发动机(电机)、液力变矩器、变速箱、差速器。

传动系的传动轴具备一定的扭转弹性,SimOneVehicle使用一个扭簧 - 阻尼器对传动系的扭转弹性进行仿真。
2.1 燃油车模型
参数说明:
-
阻尼比:传动系阻尼比。
-
固有频率:传动系固有频率。
2.1.1 差速器

参数说明:
-
驱动方式:设置车辆的驱动方式,可以选择前驱、后驱、四驱。
-
差速器限滑:勾选可使能限滑。
-
差速器参数:

上图所示为前差速器参数,后差速器和分动器的参数意义与前差速器相同。
总是锁止: 勾选后将取消左右轮的差速功能。
模型类型:Viscous Gear对应粘性联轴节式限滑差速器。
分配到左侧力矩比例:当左右轮的转速相同时,差速器分配到左轮的力矩比例系数。
左端输出轴转动惯量:差速器左侧输出轴的转动惯量。
右端输出轴转动惯量:差速器右侧输出轴的转动惯量。
扭转刚度:差速器锁止时对应的扭转刚度。
扭转阻尼:差速器锁止时对应的扭转阻尼。
2.1.2 引擎

参数说明:
-
最大转速: 发动机最大转速,单位:r/min。
-
怠速: 发动机怠速状态下的转速,单位:r/min。
-
转动惯量:发动机输出轴的转动惯量,单位:kg*m^2。
-
扭矩曲线:发动机的输出扭矩取决于发动机转速和油门。X轴表示发动机转速,单位:r/min。 Y轴表示发动机扭矩,单位Nm。以上曲线图中的最下方曲线表示油门为0时的扭矩曲线。
2.1.3 变速箱

参数说明:
-
自动换挡:勾选该check box即表示使能自动换挡模式;
-
换挡时间:换挡时间间隔,单位:秒。
-
自动变速器延迟:响应延迟时间,单位:秒。
-
倒挡传动比:倒车模式下的传动比;
-
倒挡惯性滑行效率:发动机对倒车起制动作用时的变速箱效率。
-
倒挡驱动效率:发动机驱动车辆倒车时的变速箱效率。
-
前向挡位:

-
前向挡位换挡策略:

以上表格用于设置 1 挡和 2 挡之间的挡位切换条件。
蓝色曲线对应降档曲线,当车辆状态从该曲线右侧变到左侧时,实施降档。
橙色曲线对应升挡曲线,当车辆状态从该曲线左侧侧变到右侧时,实施升挡。
-
离合器锁止和解锁策略:

以上表格用于设置变速箱处于 3 挡时,液力变矩器的锁止和解锁条件。
橙色曲线对应锁止曲线,当车辆状态从该曲线下侧转换到上侧时,实施锁止动作。
蓝色曲线对应解锁曲线,当车辆状态从该曲线上侧转换到下侧时,实施解锁动作。
2.1.4 液力变矩器

参数说明:
-
输入转动惯量: 液力变矩器输入轴的转动惯量,单位:kg*m^2。
-
输出转动惯量: 液力变矩器输出轴的转动惯量,单位:kg*m^2。
-
容量系数-转速比曲线:X轴表示液力变矩器输出轴与输入轴转速比, Y轴表示液力变矩器的容量系数的倒数。
-
力矩比-转速比曲线:X轴表示液力变矩器输出轴与输入轴转速比, Y轴表示液力变矩器的输出轴与输入轴力矩比。
2.2 电动车模型

参数说明:
-
电机数量:驱动电机数量。
-
驱动轮:驱动轮位置。
-
传动路线设置:分为-1/-2/-3/-4分别设置前左,前右,后左,后右车轮的动力传递路线。

-
电机参数分为转动惯量,转速上下限,延时时长及扭矩特性(电机转速vs电机扭矩的比例关系)。
-
差速器以及变速箱参数设置方法以及参数与燃油车模型一致。
-
动力传递形式:分为离合器和液力变矩器。其中包含输入输出转动惯量和结合速度以及最大传递力矩。
-
传动系统控制单元:电机目标总扭矩将分为二维和三维曲线表进行输入。三维曲线中,电机目标总扭矩将于车速相关,故比二维曲线的变量增加一维车速。

3. 制动系统

制动模型:分为主缸控制,踏板力控制,踏板力+助力器控制和最大刹车力矩控制;
3.1 主缸控制模式
参数说明:
-
M/C直径:主缸直径
-
制动开度与主缸压力曲线:主缸压力与制动开度的比例系数(曲线)
-
前传递/后传递:前后轮压力传递系数(曲线或者比值)
-
前后制动力矩/轮缸压力:前后制动力矩与轮缸压力的比例系数(曲线或者比值)
-
制动器动力学:前左,前后,后左,后右四个车轮的卡钳流量与压力的曲线输入
-
前/后制动执行时间常数:前后制动执行时间常数
3.2 踏板力控制模式
-
其他参数与主缸控制模式一致。
-
踏板杠杆比:踏板杠杆比例系数,将踏板输入力进行机械放大。
-
踏板力延迟:由于机械系统的阻尼和摩擦焊,踏板延迟时长。
3.3 踏板力+助力器控制模式
-
其他参数与踏板力控制一致。
-
输入力/输出力:(踏板力+助力器控制)制动助力曲线,将输入力进行放大。
3.4 最大刹车力矩控制模式
-
无参数,制动将按照线性比例的方式进行制动力矩的技术。
启动ABS参数说明:
-
启用ABS: 勾选以启用ABS系统;
-
SlipOFF FrontABS: 当某个前轮的滑移率小于该值乘以-1.0时,该轮的ABS松开刹车,以防止抱死。
-
SlipON FrontABS:ABS松开刹车后,轮子的滑移率逐渐增大,当大于该值乘以-1.0时,继续刹车。
-
SlipOFF RearABS: 当某个后轮的滑移率小于该值乘以-1.0时,该轮的ABS松开刹车,以防止抱死。
-
SlipON RearABS:ABS松开刹车后,轮子的滑移率逐渐增大,当大于该值乘以-1.0时,继续刹车。
-
Cut-off speed:当车速的小于改值时,ABS不再起作用, 单位km/h。
4. 转向系统


转向系统目前仅支持齿轮齿条形式的前轮转向,考虑了转向系统的弹性,方向盘转角和左右轮转角的对应关系通过查表得到。通过转向器齿轮的转角得到齿条位移,然后通过齿条位移得到左右车轮的转向角。
-
转向刚度系数:由于转向系统中弹性元件的存在,在回正力矩的作用下,车轮会产生额外的转角。
-
主销定位参数可以左右轮相同也可以不同,主销参数的定义如下图所示。

-
方向盘最大转角:当转向输入为-1到1时,方向盘转角对应为负的最大角度到正的最大角度。当车速较高时,方向盘转角不应该过大,但在键盘输入转向信号等情况下,很容易达到最大转角,这有悖于实际情况,因此对方向盘最大转角进行限制,速度越高,限制的方向盘最大转角越小。

-
转向传递函数:为了模拟方向盘实际转向响应时间,应用传递函数,其中传递函数多项式拟合参数对应下图-转向传递函数参数

-
低速地面摩擦转向力矩:低速时轮胎转向力矩,右/左轮原地转向力矩:轮胎力矩与车速的比例系数(表)

转向模型:目前支持齿轮齿条模型和循环球模型。
4.1 齿轮齿条模型
参数说明:
-
转向扭转刚度:转向管柱、助力系统的扭杆等在力矩的作用下会产生扭转变形,这个参数考虑了这种扭转变形的影响。
4.2 循环球模型
参数说明:
-
方向盘与转向臂传动比:方向盘与转向臂的传动比例系数。
-
转向臂-左/右轮转角曲线:转向臂与左右车轮转角的比例系数,通过曲线输入。

5. 悬挂

前悬挂包括弹簧、防倾杆、减震器等,同时考虑了K&C特性等的影响。
-
防倾杆的刚度可以通过查表和频率两种方式设置。
-
悬挂前束角:车身前进方向与前轮平面之间的夹角。
-
悬挂外倾角:悬挂的空间定位导致的车轮平面和纵向垂直平面的夹角。
-
悬挂力偏移:地面对轮胎的力的作用点到车轮中心的距离,默认为负的轮胎半径,也就是力的作用点在地面上。
-
悬挂最大下沉:弹簧最大拉伸量。
-
悬挂最大上扬:弹簧最大压缩量。
-
设计载荷下弹簧压缩量:车辆静止时的弹簧压缩量,默认为0。
-
加速前轴抗拉升率:车辆加速时,前轴抗拉升率。
-
制动前轴抗点头率:车辆制动时,前轴抗点头率。
-
前/后轴侧倾中心高:前后轴侧倾中心高。
-
整车侧倾中心高:整车的侧倾中心高。

-
弹簧轮跳位移比:弹簧的位移和车轮跳动的位移的比值。
-
弹簧刚度:可以配置成图表或者常数,弹簧压缩时,压缩量为正,拉伸时,压缩量为负。
-
外倾角、前束角和轮跳的关系可以配置成常数或者图表。

-
减震杠杆比:减震器的位移和车轮跳动的位移的比值。
-
减震器的阻尼大小可以配置成常数或者图表。
-
Compliance的参数可以配置成曲线或者比值。
6. 轮胎

轮胎力和力矩的计算采用魔术公式。
-
转向角:车轮最大转向角。
-
前束角:默认的车轮前束角,前束角向内为正。
-
车轮半径:有载荷的情况下车轮的半径。
-
车轮宽度:轮胎胎面的宽度。
-
质量:车轮质量。
-
阻尼率:车轮转动受到的阻尼。
-
最大刹车力矩:最大刹车力矩乘以刹车输入(0到1)得到车轮的制动力矩。
-
最大手刹力矩:轮胎的手刹力矩。
-
纵向松弛最小速度:轮胎的纵向松弛最小速度。
-
侧向松弛最小速度:轮胎的侧向松弛最小速度。
-
有效滚动半径:单个车轮轮胎的滚动半径,将用于计算轮胎的线速度。
-
滚动速度阻力系数:轮胎在滚动过程的阻力系数。
-
轮胎垂向刚度:轮胎在z方向单位位移下的所受力。
-
滚动阻力系数:滚动阻力系数乘以轮胎载荷得到地面对轮胎的滚动阻力。
-
计算轮胎力方式:轮胎力计算方式有两种,查表法和轮胎魔术公式。
6.1 计算轮胎力方式
-
轮胎魔术公式:当轮胎力计算方式为轮胎魔术公式时,会有对应的轮胎魔术公式参数列表。
-
查表:当轮胎力计算方式为查表法时,参数说明如下:
查表法参数说明:

-
使用Fx产生的附加滚动阻力效应:可选则是否使用。
-
参考垂向载荷:该轮胎测试时的垂向载荷。
-
纵/侧向松弛长度:轮胎的纵/侧向松弛长度(曲线/比值),当选择曲线时,纵向表为轮胎松弛长度与垂直载荷比、轮胎松弛长度与滑移率比,侧向表为轮胎松弛长度与垂直载荷比、松弛长度与侧偏角比。
-
纵/侧向松弛长度比例常数:轮胎的纵/侧向松弛长度比例常数。
-
外倾角推力与垂直载荷曲线:外倾角推力与垂直载荷曲线。
-
回正力矩计算:计算轮胎回正力矩对应的数据表。
-
侧向力计算:计算轮胎侧向力对应的数据表。
-
纵向力计算:计算轮胎纵向力对应的数据表。
7. 空气动力学
空气动力学模型分为简易模型和风阻模型两类。
参数说明:
-
迎风面积:车辆行驶过程中的迎风面积。
-
空气密度: 车辆行驶过程中四周的空气密度。
-
风阻系数:(简易模型)车辆的风阻力系数。
7.1 简易模型

7.2 风阻模型

参数说明:
-
参考长度:空气动力学参考长度。
-
空气动力参考点:空气动力作用在车身上的坐标点。
-
Fx/Fy/Fz系数:x/y/z方向上的风阻偏角与阻力比例系数。
-
Mx/My/Mz系数:x/y/z方向上的风阻偏角与阻力矩比例系数。
SimOne动力学仿真模块部分操作说明
车辆动力学参数预设保存
-
拖入动力学参数SimOne-Car,右上角可对设置的参数分别进行保存、导出、导入和撤回的操作。

-
将设置的参数修改部分点击保存按钮即可将 SimOne-Car 设置的参数保存下来。
小技巧
如要删除,需要到 退出编辑器 ,进入 资源库 - > 动力学 进行删除。

-
点击导出按钮可将设置好的参数导出。

-
点击 导入 按钮弹出。
Carsim 动力学 par 文件导入
-
选择主车编辑页面,以轿车为例新建默认主车。


-
双击主车图标,进入主车编辑页面。

-
将CarSim动力学文件拖拽进主车编辑视窗中。


-
选择右侧 浏览 按钮,即可导入 par 文件,点击 打开 按钮。


-
测试案例结束后,即可下载相关结果csv文件。

判定
用例资源库-判定包括超时、停车、碰撞、压线、变道、自定义条件等判定条件的设置,他们的共同设置为:生效范围分为全局和自定义区域,用户可按需设定。
-
判据包括 用例失败 和 仅记录。
-
用户选择用例失败时,条件满足后测试则停止。
-
当用户选择仅记录时,条件满足后,测试将继续直至用例结束或其他用例失败条件被触发。
-
-
消息类型包括 消息 Info、警告 Warning 和 错误 Error。
-
用户可在消息内容中输入自定义信息。

停车
停车可设置时长,停车时长判定是指车辆在此区域中需要停车,并且停车时间需要小于配置中的时间长度,触发判定;可设置计算方式,单次指如果在这个区域中有多次停车行为,那么判定针对的是第一次停车的时间做判定。

停车入库
停车入库,当主车在车库内停车时长不足,或在停车入库时压线,触发判定。

停车启动
停车启动判定主车红灯停车,信号灯转绿后启动离开的时长,当主车在该判定区域未停车或主车压到停车线(判断车辆4个顶点是否都位于停止线同一侧,全位于同一侧即没有踩线,否则为踩线),触发判定。

压线
压线可设置压实线和压虚线,当主车碰到设定的车道线则触发判定。

变道
变道判定包括变道类型、完成变道时长,是否提前开启转向灯(提前时间)及双闪警示灯为可选项,变道时长的计算是以检测到压线事件为开始。
例:判定设置为“未执行变道-左变道、变道时长大于5、秒提前3秒打转向灯、变道后开启双闪警示灯”,当主车进入判定区域后,正确的事件发生顺序是:
初始阶段
接收到左转向灯打开事件
等待转向灯持续3秒
3秒后
等待开始变道事件
检测到压左车道线
等待车身进入左车道
车身进入左车道
等待开双闪灯
双闪灯打开
结束
检测到主车有以上行为将触发判定,判定失败原因有两种,一种是没有按照顺序走完每个阶段,另一种是变道时间过长。
小技巧
变道时长的计算是以检测到压线事件为开始,然后以车身整体进入新车道为结束;变道判定目前是对离开区域后进行判定,判定在之前的区域中是否成功完成了变道。

指令响应
指令响应,当主车响应指令的时长在设定的范围内,触发判定。

灯光
灯光,当主车未按设置开启双闪灯或转向灯,触发判定。

碰撞
碰撞判定默认为全局,不支持自定义区域,主车发生碰撞后触发判定。

自定义
自定义条件包括:纵向/横向的速度、加速度、前车距离、碰撞时间、离左右车道线距离、离左车道线距离、离右车道线距离、偏离车道中心线,拖拽自定义条件至用例编辑窗口后,可通过判定设置下条件描述输入框切换。
小技巧
判定里面数值是约数,不是精确数

超时
可设置超时时间,单位为秒,仅支持全局,当测试未在设定的时间内完成则触发判定。

靠边停车
靠边停车,主车在定义区间内未驶入最右车道(包括自行车道)并停车 3 秒以上将触发判定。
距离是靠右车道线右边缘线距离。
主车需要在判定区域外,由判定区域外进入判定区域内才可以触发用例。

驶出道路
当主车驶出道路,触发判定。

Lua 判定集



ID |
项目 |
描述 |
---|---|---|
1 |
添加判定集 |
点击此按钮即可添加一个判定集 |
2 |
保存按钮 |
编辑完判定集后点击此按钮即可保存判定集 |
3 |
判定集内容选区 |
将下方判定指标库中的判定内容拖拽至此内容选区 |
4 |
判定指标库文件夹 |
判定指标库文件夹,当前有原子判定和Lua脚本 |
5 |
判定集内容 |
将判定条件拖入到判定集内容选区即可在判定集内容选区中进行编辑 |
6 |
判定集内容列表 |
展现判定集内容的名称列表,选择列表中的 |
7 |
判定集名称 |
可在此输入判定集名称 |
8 |
单个判定模块编辑 |
可在此判定模块中编辑判定内容,包括判定名称,设置判定条件 |
资源管理

ID |
项目 |
描述 |
---|---|---|
1 |
用例资源库列表 |
用例资源库列表包括编辑用例所需的各类资源,用户点击左侧资源库中的资源库文件夹,在右侧展示相应的资源库文件夹中对应的内容 |
2 |
资源库操作按钮 |
包括导入、导出、编辑和删除四个按钮,当选中的左侧资源符合操作时,操作按钮即可被激活 |
2.1 |
导入 |
点击此按钮,弹出导入资源的弹框,当前系统支持从外部导入地图资源、主车预设资源、主车模型资源、数据驱动源、主控制器资源。 |
2.2 |
导出 |
点击此按钮,可将系统内容的资源导出,方便协同工作。当前系统支持非内置自定义地图、非内置主车资源的导出 |
2.3 |
编辑 |
选中资源库中的资源点击编辑按钮可进入该类资源的编辑模式,当前系统支持主车资源、数据驱动源资源的编辑。选中主车资源点击编辑按钮即可进入主车编辑器页面,可对主车编辑器进行详细的编辑选中数据驱动源资源点击编辑按钮即可进入数据驱动源编辑器,可对数据进行相应的操作。 |
2.4 |
删除 |
对非内置的资源,系统支持自由的删除。 |
评价系统
SimOne 评价系统采用基于客观评价指标的评价方法,支持对 L2 和 L3+规控算法进行评价,评价系统会进行单用例的细节性评价以及用例集合的统计性评价。评价功能基于评价预设生成评价报告,评价预设用于设定所需的评价指标及相关打分函数,系统内置评价预设的示例,同时支持用户自定义预设,目前评价预设库包含 7 个评价维度,与近 60 多个评价指标供用户自行选择配置。
评价预设
评价预设即为一个完整的评价指标体系,由一个或多个评价指标组成,有内置评价预设和用户自定义评价预设。用户可根据评价预设生成评价报告。
SimOne 评价系统还支持评价预设的克隆与修改,用户可以在用例仿真开始前选好评价预设,系统根据选好的评价预设自动开启评价。
以下评价预设会以内置评价预设为例进行说明:

ID |
项目 |
描述 |
---|---|---|
1 |
预设名称 |
显示此评价预设名称,支持重命名。 |
2 |
保存预设 |
点击后可保存已修改项。 |
3 |
评价维度 |
将评价指标进行归类,目前归类为安全维度、违规维度、能耗维度、效率维度、稳定性维度、舒适性维度、准确性维度等。 |
4 |
维度权重 |
指该维度在整体评价中的相对重要程度。 |
5 |
评价指标 |
针对将相同的数据,输入不同的算法模型,或者输入不同参数的同一种算法模型,而给出这个算法或者参数好坏的定量指标。 |
6 |
指标权重 |
指该指标在整体评价中的相对重要程度。 |
7 |
指标函数 |
用于评价节点重要性的函数。 |
8 |
指标阈值 |
使评价指标生效的临界值。 |
9 |
指标列表 |
可将列表中的评价指标添加至预设中。 |
10 |
搜索指标 |
支持搜索评价指标。 |
评价报告
SimOne 评价系统支持对仿真完成的测试集合进行评价,针对同一测试集合可自由切换不同评价预设进行评价,以提高测试案例的利用率。评价完成后即可查看评价报告,评价报告分为测试集合报告和单用例报告,评价报告不仅包含指标得分、用例得分的结果值和统计值,也包含全仿真时间的重要评价指标过程值。
用例集合的评价报告

ID |
项目 |
描述 |
---|---|---|
1 |
目录 |
报告目录,可快速定位至指定目录。 |
2 |
基本信息 |
评价报告基本信息,包括得分等信息。 |
3 |
综合得分 |
包括平均分、最高分、最低分、均方差等。 |
4 |
按评价维度得分 |
各评价维度的得分汇总。 |
5 |
按评价指标得分 |
各评价指标的得分汇总。 |
6 |
用例列表 |
该案例集合下所有用例的列表,支持跳转至指定用例下的评价报告。 |
单个用例的评价报告

ID |
项目 |
描述 |
---|---|---|
1 |
目录 |
报告目录,可快速定位至指定目录。 |
2 |
基本信息 |
评价报告基本信息,包括得分等信息。 |
3 |
按评价维度得分 |
各评价维度的得分汇总。 |
4 |
按评价指标得分 |
各评价指标的得分汇总。 |
5 |
评价指标变化情况 |
各评价指标随着时间的变化情况。 |
分布式系统说明

ID |
项目 |
描述 |
---|---|---|
1 |
全局设置模块切换 |
包括通用设置、可视化工具、系统设置、系统信息、系统配置和Agent列表,点击Agent列表可对Agent列表信息进行管理 |
2 |
Agent名称及在线情况显示 |
添加的Agent名称及是否在线情况 |
3 |
Agent信息详情展示 |
展示Agent的详细信息,包括Agent uuid、Agent ip、Agent port、System、CPU和Memory |
4 |
添加Agent按钮 |
点击添加Agent按钮,弹出增加Agent弹框 |
5 |
Agent名称 |
在弹框中输入Agent名称,并点击创建按钮,即可新增一个Agent |
6 |
新增节点按钮 |
点击此按钮,弹出新增节点弹框,包括输入节点名称、和选择节点类型 |
7 |
输入节点名称 |
输入节点名称 |
8 |
节点类型选择 |
下拉选框包括以下几项动力学节点、动态仿真节点、API服务节点、SimOneDriver控制器节点、目标级传感器节点、物理级传感器节点(GPU)、Web可视化节点、可视化节点(GPU)、Web可视化节点、可视化节点(GPU)、判定节点、阿波罗控制接入节点、车联网功能节点、VR节点、模拟控制器节点、用户自定义接入节点 |
9 |
删除节点 |
点击此按钮弹出删除节点弹框 |
10 |
删除Agent弹框 |
点击确定按钮,即可删除选中的Agent |
11 |
节点信息列表 |
包括节点ID、节点名称 |
12 |
更多操作选项 |
点击此按钮,弹出两个按钮包括编辑和删除两个按钮 |
13 |
编辑按钮 |
点击编辑按钮,弹出编辑按钮弹框 |
14 |
节点名称 |
可在此修改节点名称 |
15 |
节点类型选择 |
点击此可弹出下拉选框,修改节点类型 |
16 |
启动命令行 |
可视化GPU节点,物理级传感器节点会用,启动UE的时候可以设置位置,窗口分辨率,所用显卡等等可输入的样式包括:-windowed -resX=640 -resY=480 WinX=1280 WinY=540 -GraphicsAdapter=0-windowed : 这里还有一种选项是 -fullscreen , 决定是窗口化显示还是在当前屏幕全屏;-resX=%d -resY=%d : 填该节点的可视化窗口占用的屏幕像素大小(注意对于摄像头传感器来说,这个分辨率并非仿真摄像头实际渲染输出的分辨率,只是可视化时的显示分辨率)WinX=%d WinY=%d :填该节点的可视化窗口的起始位置,即窗口左上角的屏幕像素坐标;-GraphicsAdapter=%d :将该节点绑定到对应显卡,填0,1,2……分别意为将当前节点绑定至第1,2,3……张显卡来渲染,多显卡同时仿真多路传感器时该参数很重要 |
17 |
删除节点按钮 |
点击删除节点按钮弹出删除节点弹框 |
18 |
删除节点确定 |
点击删除节点弹框中的确定按钮即可删除节点 |
备注
以下内容讲述如何配置可视化 GPU 节点的参数
在启动命令行时输入对应的参数,启动UE的时候可以设置位置,窗口分辨率,所用显卡等等。
可输入的样式包括:-windowed -resX=640 -resY=480 WinX=1280 WinY=540 -GraphicsAdapter=0;
-
-windowed : 这里还有一种选项是 -fullscreen , 决定是窗口化显示还是在当前屏幕全屏;
-
-resX=%d -resY=%d : 填该节点的可视化窗口占用的屏幕像素大小(注意对于摄像头传感器来说,这个分辨率并非仿真摄像头实际渲染输出的分辨率,只是可视化时的显示分辨率)
-
WinX=%d WinY=%d :填该节点的可视化窗口的起始位置,即窗口左上角的屏幕像素坐标;
-
-GraphicsAdapter=%d :将该节点绑定到对应显卡,填0,1,2……分别意为将当前节点绑定至第1,2,3……张显卡来渲染,多显卡同时仿真多路传感器时该参数很重要
Agent Launcher

ID |
项目 |
描述 |
---|---|---|
1 |
Agent授权状态 |
包括已授权和未授权 |
2 |
Agent ID |
此 Agent 的授权码 |
3 |
Public IP |
Agent绑定的网卡ip |
4 |
WebIP地址和端口号 |
分布式集群中 Master 主机的 IP 地址 |
5 |
服务器地址 |
系统部署的服务器对外访问的地址 |
6 |
服务运行状态 |
绿色代表服务运行正常,红色代表服务运行异常 |
7 |
服务日志 |
点击此按钮跳转到Foundation的Log日志文件夹 |
8 |
停止按钮 |
点击此按钮,将切换Agent的在线和离线状态 |
9 |
启动按钮 |
当重新点击此按钮时,可将离线的Agent切换至在线状态 |
10 |
启动状态展示 |
包括两种状态展示success to start 和 failed to start |
分布式系统
1. 架构图

2. 名词解释
模块名称 |
含义 |
---|---|
Master |
核心 Master 节点,负责管理各个 Agent,负责 Agent 的增删改查 |
Agent |
分布式节点的代理节点 |
Work |
内部抽象的仿真工作节点,比如 Nodetimer、BridgeIO、VehicleDynamic 等 |
3. 架构介绍
分布式架构采用主从模式,Master 作为核心节点,管理各个 Agent,每台机器(或者每个 docker)只能有一个 Agent,所以每增加一个 Agent 相当于增加一台机器的资源;
-
Agent 负责 Work 节点的增删改查、启动停止,每个 Agent 可以管理若干个不同的 Work 节点,可以由用户选择在这个 Agent 下使用哪些 Work 节点,非常灵活;
-
Work 节点是具体的工作节点,负责具体的业务,比如 Nodetimer 是时间服务节点,BridgeIO 是 API 数据收发节点,VehicleDynamic 是动力学节点等;
4. 配置节点和代理的原因
-
资源扩展:一台机器的资源是有限的,采用分布式架构,可横向扩充资源;
-
用户可配置:可以根据用户自己的需求,选择添加几个 Agent,在每个 Agent 下使用哪些 Work 节点都可以由用户自主选择,灵活性强;
-
跨平台:无论是 Windows 还是 Linux 系统,都可以轻松的接入分布式架构,一个 docker 也可以作为一个 Agent 接入,兼容不同的平台;
5. 具体用途
-
多车互动:每个 Agent 配置一台主车,每台主车之间就可以进行交互;
-
高精度渲染:一台机器的 GPU 性能有限,无法支持多个摄像头、UE 的高精度渲染,可将 UE、摄像头分布到各个 Agent 下,充分利用每一台机器的 GPU 性能,实现多摄像头、多 UE 的高精渲染;
6. 节点或代理如何选择
在 Agent 列表管理下,可以对不同的 Agent(代理)进行增删改查,每台机器(或者 docker)是一个 Agent,每个 Agent 有唯一的 Agent uuid,若 Agent 连接成功,会显示 Agent 的 ip 地址;

在每个 Agent 下,可以选择的节点有以上几种类型,一般而言,选择什么类型的节点取决于这个 Agent 的用途。
比如这个 Agent 要进行高精度渲染,那么需要在这个 Agent 下添加可视化节点(GPU)和物理级传感器节点(GPU),一种类型可以根据需要添加一个或者多个,另外在这个 Agent 下不需要用到的节点可以删除;

7. 分布式系统配置
分布式系统配置分为主控配置和从机配置,主控和从机都可以是 Windows 或者是 Linux 系统,在整个分布式架构中,只能有一台主控,从机不限;
7.1 Windows 主控配置
-
在系统设置里将 IP 地址改为本机实际 IP 地址,点击保存;

-
右下角托盘,打开 Agent 配置,将 Web 地址改为本机实际 IP 地址,然后点击停止、启动;

-
主控 Agent ip 变成本机实际 IP 地址,修改成功;

-
点击添加 Agent,添加从机,此时会显示已添加的 Agent1 和 Agent2(名称自定义),每个 Agent 会有专属的 Agent uuid,记住这个 id;

7.2 Windows 从机配置
-
安装时,选择分布式-Agent,点击下一步;

-
将 AgentID 改成上面记住的 Agent uuid,WebIP 改成主控的 IP 地址,点击立即安装;

-
安装完成,如果在安装的时候忘记修改 AgentID 和 WebIP 或者修改错误,也可以在右下角托盘的 Agent 配置里再次修改 AgentID 和 Web 地址,然后点击停止、启动;

-
打开主控的 Agent 列表管理,可以看到 uuid 为 20001 的 Agent1 连接成功(显示绿色),并显示此从机的 Agent ip 和操作系统 Windows;

7.3 Linux 主控配置
如果要将 Linux 作为主控的话,基本步骤与 Windows 主控配置差不多,因为 Linux 没有托盘,所以在第二步上有所不同。
-
进入 simone docker;
-
在 /Simone/Common/Foundation 目录下,编辑 Agent.cfg 文件;

-
将 webip 改成主控的 IP 地址,即本机 Linux 实际的 IP 地址,保存退出,然后重启 simone;

-
其它步骤与 Windows 主控配置基本一致;
7.4 Linux 从机配置
Linux 系统下,simone 是在 docker 里,所以要进入到 docker 里进行修改(linux 安装 simone 不再赘述);
-
进入 simone docker 命令:sudo docker exec -it simone bash
-
在 /Simone/Common/Foundation 目录下,编辑 Agent.cfg 文件;

-
将 authcode 改成主控 Agent 列表新建的 Agent uuid,将 webip 改成主控的实际 IP 地址,保存退出;

-
在 /home/unreal/.simone 目录下,将 SimOneOS.conf 文件里的内容清空,然后退出 docker,并重启 simone;

-
打开主控的 Agent 列表管理,可以看到 uuid 为 20002 的 Agent2 连接成功(显示绿色),并显示此从机的 Agent ip 和操作系统 Linux;

8. 节点配置不成功的报错及解决方案
No work node

一般缺失某个节点的原因是实际用到了某个节点,但并没有添加;
比如用到了物理级传感器,但是在节点配置里并没有添加,就会出现这个错误;
解决方案是在某个 Agent 的节点配置里添加 GPU,并重启 simone;
任务管理
正在测试

ID |
项目 |
描述 |
---|---|---|
1 |
正在测试/已完成切换 |
点击此切换控件可查看正在测试和已完成的任务状态 |
2 |
任务操作按钮 |
包括开始、暂停、停止、删除、日志和刷新按钮。可控制任务状态的运行情况 |
3 |
任务类型筛选 |
在全部任务和我创建的任务上进行切换 |
4 |
搜索 |
在搜索框中输入关键词即可搜索相关任务 |
5 |
筛选 |
点击此按钮,可筛选符合条件的任务,包括创建时间和任务状态两种类型的任务 |
6 |
全选框 |
点击此选框,可将任务列表中的任务全部选中 |
7 |
收起/展开选项 |
点击此按钮,可选择将运行的任务的详细信息列表展开或收起 |
8 |
单条用例选中框 |
选中此选框可选择对单条用例任务进行操作 |
9 |
监控按钮 |
点击此按钮可展开可视化弹窗,根据用户全局设置的选项分别弹出两种类型的弹窗,包括简化渲染和高精度渲染两种方式 |
10 |
测试日志log展示 |
测试日志log展示 |
已完成

ID |
项目 |
描述 |
---|---|---|
1 |
任务操作按钮 |
对已完成的任务的操作包括重测、删除和刷新按钮 |
2 |
回放按钮 |
点击此按钮,可对该条用例的运行情况进行回放,回弹出可视化窗口方便用户回放用例 |
3 |
下载报告按钮 |
点击下载报告按钮,弹出路径选框,可选择将运行任务的报告保存在本地 |
4 |
下载数据按钮 |
点击此按钮,弹出路径选框,可选择将此用例的相关数据保存在本地 |
5 |
查看日志 |
可查看任务运行的日志 |
测试报告
csv测试原始数据
测试结束的案例可以下载.csv格式的测试原始数据。
项目 |
解释 |
单位 |
---|---|---|
Frame |
帧号 |
|
Time(MS) |
时间戳 |
毫秒 |
Type |
对象类型 |
|
PosX(M) |
位置X轴 |
米 |
PosY(M) |
位置Y轴 |
米 |
PosZ(M) |
位置Z轴 |
米 |
RotX(R) |
旋转X轴 |
弧度 |
RotY(R) |
旋转Y轴 |
弧度 |
RotZ(R) |
旋转Z轴 |
弧度 |
Speed(M/S) |
速度 |
米/秒 |
Throttle(P) |
油门 |
0-1 |
Steering(P) |
转向角 |
0-1 |
Brake(P) |
刹车 |
0-1 |
RPM |
转速 |
转 |
Gear |
拍档 |
挡 |
LinearVelocityX(M/S) |
线性速度X轴 |
米/秒 |
LinearVelocityY(M/S) |
线性速度Y轴 |
米/秒 |
LinearVelocityZ(M/S) |
线性速度Z轴 |
米/秒 |
LinearAccelerationX(M/S2) |
线性加速度X轴 |
米/秒^2 |
LinearAccelerationY(M/S2) |
线性加速度Y轴 |
米/秒^2 |
LinearAccelerationZ(M/S2) |
线性加速度Z轴 |
米/秒^2 |
AngularVelocityX(R/S) |
角速度X轴 |
弧度/秒 |
AngularVelocityY(R/S) |
角速度Y轴 |
弧度/秒 |
AngularVelocityZ(R/S) |
角速度Z轴 |
弧度/秒 |
AngularAccelerationX(R/S2) |
角加速度X轴 |
弧度/秒^2 |
AngularAccelerationY(R/S2) |
角加速度Y轴 |
弧度/秒^2 |
AngularAccelerationZ(R/S2) |
角加速度Z轴 |
弧度/秒^2 |
WheelSpeedFrontLeft(M/S) |
左前轮速 |
米/秒 |
WheelSpeedFrontRight(M/S) |
右前轮速 |
米/秒 |
WheelSpeedRearLeft(M/S) |
左后轮速 |
米/秒 |
WheelSpeedRearRight(M/S) |
右后轮速 |
米/秒 |
控制系统
手动驾驶系统
手动驾驶系统包括方向盘和键盘输入,配置主车系统时选择手动控制模式,即可使用键盘或模拟器对主车进行操控。
手动键盘控制 配置主车时可选择手动控制系统
键盘(也可以用W[油门] A[左转]S[倒车] D[右转])
车辆前进时,按S/下键,车先减速至0,再加速倒车
车辆后退时,按W/上键,车先减速至0,再加速倒车

外设方向盘控制 Logitech G29方向盘(如使用G29方向盘,需安装G29官方驱动)
当前操作为键盘控制时,踩下G29油门,则切换至G29控制,默认为自动档,空档。
当前为G29控制时,按下键盘的上键W,则切换至键盘控制。

自动驾驶系统
自动驾驶-决策规划
当前,单机版可接入自动驾驶-决策规划(Apollo),以下以接入 Apollo6 系统为例(可单独跑在 Ubuntu 环境,或者 Windows Docker 环境[需预先安装完毕]),具体参考产品安装手册中的 Apollo 算法部署。
驾驶模拟器接入
请参考 用例教学-SIL软件在环测试。
V2X 仿真
V2X(Vehicle-to-Everything),即车联网,是指车辆与基础设施、其他车辆、行人等交通参与者之间进行信息交互和通信的技术,其中 “V” 代表车辆,而 “X” 则代表与其他交通参与者的任何类型的通信。
技术目的
V2X 技术的目的是提高交通运行的效率和安全性,通过实时信息交互和协调来减少车祸、缓解交通拥堵和降低污染等问题。
技术分类
这项技术通常基于无线通信技术和互联网技术,包括车辆到车辆(V2V)、车辆到基础设施(V2I)、车辆到行人(V2P)和车辆到网络(V2N)等不同类型的通信。
工作原理
单车智能工作原理包括传感器探测与定位、计算决策以及控制执行。
-
传感器探测与定位:单车智能通过车上安装的传感器完成对周围环境的探测和定位功能。
-
计算决策:传感器数据被分析处理,实现对目标的识别,并进行行为预测和全局路径规划、局部路径规划和即时动作规划,决定车辆当前及未来的运行轨迹。
-
控制执行:控制执行主要包括车辆的运动控制及人机交互,决定每个执行器如电机、油门、刹车等控制信号。
现状
按照美国国际自动机工程师学会(SAE)划分的 L0-L5 自动驾驶等级来看,
-
AD 先进辅助驾驶系统功能(Advanced Driver Assistance System, ADAS)仍然是主力。
-
L2 正处在商业化落地发展阶段,但市场渗透率和应用规模仍然较小。
-
L3、L4 及以上等级自动驾驶仍处在试验和区域性示范为主,规模商业化落地则需要更长的时间。
自动驾驶等级划分
美国国际自动机工程师学会(SAE)划分的 L0-L5 自动驾驶等级如下:
-
L0(无自动化):车辆没有自动化系统,完全由人类驾驶。
-
L1(驾驶员协助):车辆装备了某些基本的自动化系统,例如巡航控制、自动制动等,但是需要驾驶员持续监控和控制。
-
L2(部分自动化):车辆装备了更多的自动化系统,例如车道保持、自动变道等,可以在一定程度上协助驾驶员进行控制,但是驾驶员仍需持续监控和控制车辆。
-
L3(有条件自动化):车辆可在一定条件下完全自主驾驶,但是在其他条件下需要驾驶员接管控制。
-
L4(高度自动化):车辆可在大部分场景下完全自主驾驶,但是在某些特殊情况下需要驾驶员介入。
-
L5(完全自动化):车辆可在任何道路和天气条件下完全自主驾驶,无需驾驶员介入。
局限性
单车智能发展面临这一些局限性,其安全依然面临着巨大挑战、长尾问题限制了车辆可运行设计域、需要车辆安装多种高昂的传感器其经济性问题还未得到充分解决。
车路协同(Vehicle Infrastructure Integration,V2I)通过信息交互协同、协同感知和协同决策控制极大程度上拓展单车的感知范围、提升感知能力,通过 RSU 和路测 MEC 将道路智能化,从根本上解决单车智能自动驾驶的技术瓶颈。通过车载单元和路测单元的结合提供给单车更多冗余信息,保证驾驶安全。
车路协同自动驾驶是一个由低至高的发展过程,主要包括三个阶段:
-
信息交互协同:车辆 OBU 与路侧 RSU 进行直连通信,实现车辆与道路的信息交互与共享。
-
协同感知:路测传感器和车载传感器信息的共享。
-
协同决策控制:利用车侧和路测的感知信息和通过路测决策部分实现对整个道路车辆以及其他基础设施的控制,提高交通运行效率和安全性。
备注
车路协同和单车智能自动驾驶不是两个独立的部分,他们相辅相成共同完成自动驾驶车辆的上路。
从组成上来看,车路协同包括单车智能的车辆和智能的道路。
智能道路需要:
-
路测传感器(毫米波雷达、摄像头、激光雷达等)
-
路侧通信单元(路侧单元 RSU、蜂窝基站)
-
路测边缘计算设施(多接入边缘计算 MEC、云平台)
-
路测实时动态 RTK(全球导航卫星系统 GNSS 校正)
-
路测标牌、信号灯以及其控制单元
因此,为了实现自动驾驶由自主式控制向协同式控制跃迁、提升行驶安全性,发展基于 V2X 的车联网的浪潮方兴未艾。
车路协同自动驾驶的方案的施行需要国家的标准、新基建、法律法规的支持,它是智能汽车和智慧道路结合的产物。自动驾驶的不同阶段各国家组织部门有着不同的标准支持与法律法规支持。
就国内而言车路协同标准包括以下:
T/CSAE 53-2017《合作式智能运输系统 车用通信系统应用层及应用数据交互准》
T/CSAE 53-2020《合作式智能运输系统 车用通信系统应用层及应用数据交互准》
T/CSAE 157-2020《合作式智能运输系统 车用通信系统应用层及应用数据交互标准(第二阶段)》
T/CSAE 158-2020《基于车路协同的高等级自动驾驶数据交互内容》
T/CSAE 156-2020《自主代客泊车系统总体技术要求》
YD-T 3707-2020《基于LTE的车联网无线通信技术 网络层技术要求》
YD-T 3755-2020《基于LTE的车联网无线通信技术支持直连通信的路侧设备技术要求》
YD-T 3710-2020《基于LTE的车联网无线通信技术 消息层测试方法》、《智能网联汽车测试场设计技术要求》
中华人民共和国工业和信息化部 《基于LTE的车联网无线通信技术 安全证书管理系统技术要求》
从 2018 年的 V2X “三跨” 跨通信模组、跨终端、跨整车的互联互通应用展示开始,到 2019 年“跨芯片模组、跨终端、跨整车、跨安全平台”的 C-V2X “四跨” 互联互通应用示范活动的举办,先导示范活动让更多人感受到了 C-V2X 的魅力。
而 “新四跨” 在 “三跨” “四跨” 的基础上,根据技术和产业发展需求,进一步深化 C-V2X 相关技术和标准的测试和验证,增加高精度地图和高精度定位,并结合国产密码算法,车端与路侧广播位置相关信息采用先偏转后加密的形式,探索 C-V2X 所面临的地图和定位法规问题的技术解决方案。同时,还采用全新数字证书格式,增加了云控平台、V2X 信息演示与位置态势演示平台等新元素。
应用层标准《合作式智能运输系统 车用通信系统应用层及应用数据交互标准》定义了合作式智能交通系统车用通信系统基础应用及基本要求,定义了应用层数据集字典、数据交换标准及接口规范。
基于 LTE 的车联网直接通信系统是通过人、车、路的信息交互,实现车辆和基础设施之间、车辆与车辆、车辆与人之间的智能协同与配合的一种通信系统。车载通信系统实现了智能运输系统的不同子系统之间的信息交互。通过与交通系统中各个参与元素的直接通信,车载通信系统可以为包括提升道路安全、高的交通通行效率和提供各种信息服务的应用提供有效信息支持。
下图给出了车辆-路侧单元(V2I)直接通信系统架构,对于路侧单元设备而言,其通常包括了以下几个子系统:

通过上图可以看出在真实的 V2X 运行过程中至少需要车载单元(OBU)和路测单元 RSU 的参与。对 V2X 的仿真也就是对 OBU 和 RSU 的通信过程、通信数据的仿真。每个模块又包括通信子模块、车载处理模块、定位模块。
SimOne V2X 仿真结合其自身的优势,利用 WorldEditor 编辑和还原 Opendrive 格式的城市道路信息,利用 SCENARIO Editor 和交通流仿真软件在路网信息的基础上生成车辆、行人、信号灯等动态信息,提供丰富的路测和车载传感器资源,这些资源都是 V2X 要收发的数据信息必要组成。
51-SimOne 在应用层上根据 CSAE 标准《合作式智能运输系统 车用通信系统应用层及应用数据交互标准(2017,2020)》开发,提供除近场支付以外的其他 16 个应用场景,提供便捷的案例自定义编辑功能。
下图为 SimOne 支持的 V2X 案例:

在应用层消息方面提供基本的 DataElement 数据元素、DataFrame 数据结构 和 Message 通信消息,包括 BSM(Basic Safety Message)车辆状态消息、RSI (Roadside Safety Information) 车路协同安全消息、RSM (Roadside Monitoring) 路测安全信息、SPAT(Signal Phase and Timing) 信号灯信息以及 MAP 地图信息。
下图展示了一个 SimOne V2X 场景:

-
BSM(Basic Safety Message)车辆状态消息:对于场景中的每辆车、行人可设置其 OBU 的开关状态,用于产生基本安全消息(BSM)。
-
RSI (Roadside Safety Information) 车路协同安全消息:根据 SimOne 场景案例编辑功能,编辑特殊状态及特殊区域触发器,结合 HDMap API 获取的道路标牌、限速信息生成路测消息(RSI)。
-
RSM (Roadside Monitoring) 路测安全信息:配置路测毫米波雷达、激光雷达、摄像头、融合传感器与路测 RSU 以及各传感器之间的连接关系,根据路测传感器的感知信息生成路测安全消息(RSM)。
-
SPAT(Signal Phase and Timing) 信号灯信息:根据信号灯的预配置时序生成信号灯相位消息(SPAT)。
-
MAP 地图信息:根据 opendrive 地图及其提供的 HDMap API 接口生成地图消息(MAP)。
提供车辆的标准案例仿真,综合考虑车辆所在环境的车辆、建筑、天气状况,支持输出基于 4G/5G 网络的仿真的数据传输率情况,通过 API 接口访问原生的 ASN.1 编码的 V2X 二进制数据。
自动驾驶算法研发整个过程,需要经历不同阶段的不同测试过程,其中仿真测试具体包含软件在环(SIL)、硬件在环(HIL)、车辆在环(VIL)几个大步骤。某些阶段还需要V2X在环仿真测试,驾驶模拟器仿真等仿真工具的介入。
-
软件在环 - SIL(Software-in-the-Loop Testing):基于SimOne仿真软件的软件在环测试,在需求分析概念阶段,实现算法开发与验证优化。开发者在ADAS/AD算法开发初期及建模阶段,进行充分的仿真测试方式,为后续工作提供技术验证。
-
硬件在环 - HIL(Hardware-in-the-Loop Testing):基于SimOne仿真软件,输出多种感知信号给真实域控制器平台,同时结合毫米波雷达目标模拟器,多通道视频注入系统,仿真模拟产生雷达射频信号、视频流信号,对域控制器软硬件系统进行充分测试,验证硬件平台以及内部感知与规控算法是否满足测试要求。本方案是自动驾驶产品研发测试阶段不可缺少的安全高效的测试手段。
-
V2X设备在环 - HIL:针对V2X应用算法测试需求,SimOne虚拟仿真软件和射频通信的联合仿真技术,提供完整的端到端V2X应用场景的HIL测试系统。本方案支持在实验室环境下,完成应用场景仿真和通信环境仿真测试,可以极大的加速V2X研发验证过程。
-
整车在环 - VIL(Vehicle-in-the-Loop Testing):包含实验台VIL和测试场VIL两种类型,是车辆量产前重要的测试手段。通过对实车注入虚拟仿真场景,进行各种常规场景以及危险场景测试,减少对场地、真实交通和试验车辆的需求,降低实车测试的难度和风险,提高测试效率,降低测试成本。
传感器仿真
1. 摄像头
摄像头仿真通过构建真实世界的虚拟三维模型,并根据物体的真实材质与纹理,对三维模型添加颜色与光学属性等。采用基于物理的渲染和基于物理的光照,保证光线能量守恒。
摄像头仿真的基本参数包括摄像头的外参、内参和畸变参数。这些参数会在内部转换为投影矩阵,保证 世界坐标系 -> 相机坐标系 -> 图像坐标系 -> 像素坐标系 整个过程的正确转换,并输出与真实相机效果一致的图像。 具体参数支持如下:
-
支持设置摄像头安装位置、角度外参仿真。
-
支持频率、分辨率、视野范围、焦距、焦距 Fx, 焦距 Fy 等内参仿真。
-
支持白平衡、色彩还原、动态范围、信噪比、清晰度、伽马等物理参数仿真。
-
支持摄像头缺陷参数仿真,包括炫光、泛光、晕影、色像差、运动模糊、畸变、噪点等。
摄像头仿真基于 SimOne 高质量多样化的仿真场景。
摄像头仿真需要模拟各种复杂的真实天气情况。天气调节一般需要支持时间、光照、太阳高度角、云、雨、雪、雾等各种自定义设置,从而可以支持各种天气和光线条件下的摄像头仿真。
下面四幅图分别为 早上、中午、下午、夜晚 渲染效果。

下面六幅图分别为 晴天、阴天、雨天、雪天、雾天、沙尘天 六种天气的渲染效果。

摄像头仿真每一帧的原始数据包括 RGB 图、场景深度图、2D/3D 包围盒、语义分割图、实例分割图 等仿真数据。
支持对摄像头识别算法作 SIL 和 HIL 测试和评价。
传感器仿真结构化真值数据输出包括 主车的位置、朝向、速度、加速度 和 角速度 ,以及 所有目标障碍物的相对位置、朝向、大小、相对速度及 2D 包围盒 等信息。
下图分别为 障碍物 2D 包围盒图,深度图,语义分割图,实例分割图 。




摄像头传感器参数
ID |
术语 |
定义 |
---|---|---|
1 |
摄像头仿真 |
我们需要模仿真实硬件camera,使我们提供的虚拟场景的渲染结果(图片)与自动驾驶系统从摄像机硬件获取的结果(图片)近似,就是模拟真实相机 |
2 |
摄像头位置X,Y,Z |
表示传感器在坐标系中放置的位置,单位为mm |
3 |
摄像头放置角度信息 |
表示摄像头在坐标系中的朝向,分别为翻滚角(deg)、俯仰角(deg)、偏航角(deg),Roll, Pitch, Yaw对应的坐标轴为Roll对应X,Pitch对应Y, Yaw对应Z |
4 |
摄像头分辨率信息 |
摄像头水平方向上的分辨率(pixel)、摄像头垂直方向上的分辨率(pixel) |
5 |
摄像机内部参数 |
焦距(mm):镜头焦距设置; |
5.1 |
曝光补偿:对摄像头仿真结果进行曝光补偿,调亮或调暗场景; |
|
5.2 |
色温:色温地为偏蓝色,色温高为偏黄色; |
|
5.3 |
色调:色调低为偏绿色,色调高为偏洋红色; |
|
5.4 |
饱和度:图像色彩的饱和度; |
|
5.5 |
对比度:图像亮暗的对比度; |
|
5.6 |
伽马:图像伽马校正值,一般为2.2; |
|
5.7 |
锐化:图像边缘的清晰度; |
|
5.8 |
炫光:镜头面向光源时的物理现象; |
|
5.9 |
泛光:镜头中明亮物体周边的泛白现象; |
|
5.10 |
晕影:由于镜头折射导致图像四周暗中间亮的物理现象; |
|
5.11 |
色相差: 不同波长的光线通过镜头时折射不同造成的一种物理现象; |
|
5.12 |
噪点:图像噪声的大小 |
|
6 |
摄像头畸变参数 |
camera 因为本身硬件和制造工艺的缺陷会有三种畸变:径向畸变 、切向畸变 、 还有薄棱镜畸变可忽略。畸变是有五个参数 Distortion coefficients=(k1,k2,p1,p2,k3) 决定的 |
7 |
摄像头仿真输出 |
包括输出的通道,分为HDMI、网络和Dump。HDMI - 包括摄像头输出到第几通道、屏幕检测a; 网络 - 网络的订阅通道; Dump - 输出RGB图、语义分割图、深度图、实例分割图、真值、Dump(Dump频率、Dump开始时间、Dump结束时间)和默认的保存地址 |

摄像头Dump参数解释
ID |
术语 |
定义 |
---|---|---|
1 |
Vehicle Rect Threshhold |
车辆目标遮挡阈值(识别框) |
2 |
Vehicle Pix Threshhold |
车辆目标遮挡阈值(像素) |
3 |
Pedestrian Rect Threshhold |
行人目标遮挡阈值(识别框) |
4 |
Pedestrian Pix Threshhold |
行人目标遮挡阈值(像素) |
5 |
Bike Rect Threshhold |
自行车目标遮挡阈值(识别框) |
6 |
Bike Pix Threshhold |
自行车目标遮挡阈值(像素) |
7 |
Other Rect Threshhold |
其他目标遮挡阈值(识别框) |
8 |
Other Pix Threshhold |
其他目标遮挡阈值(像素) |
重要
以车辆目标为例,如车辆目标遮挡阈值(识别框)填写0.45,而车辆目标遮挡阈值(像素)填写0.30,则在一车辆目标在画面中的识别框被遮挡到不足45%或像素被遮挡到不足30%时,会将该目标记录为被遮挡状态,dump下来的colorbox图片中识别框会标为红色而非绿色。
2. 激光雷达
激光雷达仿真的思路是 根据真实激光雷达 的扫描方式, 模拟每一条真实雷达射线的发射,与场景中所有物体求交 。根据相交点的 物理材质类型 和 属性计算 出该点的 激光反射强度和噪声 。
以某 64 线、水平分辨率为 0.4、最大探测距离为 120 米的 机械旋转式激光雷达 为例,该雷达每一帧会发射出 57600 条射线与场景中所有物体求交,对于 10HZ 的雷达来说,每秒需要发射 576000 条射线,如果求得的交点位于最大探测距离内,则为 有效点 。
对于 有效点,同时返回该点的位置和材质类型,并计算该点与雷达的距离以及此时雷达射线的入射角,然后使用当前材质的激光雷达强度和噪声模型,计算出带噪声的点云信息,以及对应的强度值 。
鉴于每秒需要扫描的雷达射线次数过多(50w+),且求交算法计算复杂度高,一般仿真时会利用 CPU 并行**或 **GPU 并行计算 的方式来提高扫描效率,以达到实时仿真的效果,仿真结果点云实时输出给感知系统。
激光雷达反射强度跟不同物理材质对激光雷达所使用的近红外光线反射率有关。反射强度受到障碍物距离、激光反射角度以及障碍物本身的物理材质影响。仿真时需要给场景资源设置合适的物理材质,包括各种道路、人行道、车道线、交通牌、交通灯、汽车、行人等。每一种物理材质的激光反射率都不相同。激光雷达反射强度模型 可以从真实雷达扫描数据中提取 ,用来驱动仿真模型。对于激光雷达反射强度仿真结果,参照真实激光雷达的做法,将最终反射强度归一化到 0~255 。
激光雷达仿真一般需要支持以下参数配置:
-
安装位置和角度 :包括 X, Y, Z, Roll, Pitch, Yaw。
-
工作频率 :一般为 10Hz~20HZ。
-
最大探测距离 :比如 120m。
-
线数和水平分辨率 :当修改线数或水平分辨率后,扫描总点数会相应增加。
-
垂直视场角设置 :比如 -25°~ 15°。
-
水平视场角 :当为 360°时为机械扫描激光雷达。当 < 180°时,为固态激光雷达。
-
噪声设置 :支持设置点云和反射强度噪声。
-
支持 905nm 激光雷达在不同光照和不同天气(雨、雪、雾)影响下的激光雷达模型。
目前激光雷达仿真还支持用户自定义模型,通过在下图所示选框内填写对应的模型名称,可实现相应激光雷达模型的仿真。目前已支持 “LivoxHorizon” “LivoxMid70” 两款固态激光雷达模型。

激光雷达的仿真结果点云 一般位于激光雷达本地坐标系 下。
转换到世界坐标系的方式 为,先根据激光雷达安装位置和角度转换到主车坐标系,然后再根据主车仿真 GPS 信息转换到世界坐标系。
激光雷达仿真数据提供 带强度和噪声的点云原始数据,语义分割点云和识别物的 3D 包围盒 。
下图为 SimOne 中的激光雷达仿真效果展示(包括用于对比的摄像头仿真数据)。


下图为激光雷达在ROS系统中的展示,分别为点云 3D 包围盒和语义分割数据。


激光雷达参数
ID |
术语 |
定义 |
---|---|---|
1 |
激光雷达仿真输出 |
包括输出的通道,分别为网络和Dump ;网络 - 网络的订阅通道;Dump –实例分隔、点云颜色和输出真值(剔除遮挡面积比例);Dump频率、Dump开始时间、Dump结束时间和默认的保存地址 |
3. 毫米波雷达
毫米波雷达仿真会 根据配置的视场角和分辨率信息 ,向不同方向 发射一系列虚拟连续调频毫米波 ,并接收目标的反射信号。不同车辆的 雷达回波强度 可 使用微表面模型能量辐射计算 方式,由 车辆三维模型 以及 车辆朝向、材质 等计算。同一个障碍物会被多个调频连续波探测到。对于毫米波雷达目标级仿真,则可以根据障碍物的 径向距离、距离分辨率和角度分辨率 等信息对同一个障碍物的点进行聚类并返回最终仿真结果。
SimOne毫米波雷达仿真 模拟毫米波雷达 的原理,同时 构建和孪生道路环境,模拟电磁波在孪生道路环境的传播 ,最终道路以及周边环境会把雷达发射出来的电磁波反射回雷达信号处理模块,雷达数字信号处理模块根据回波信号,进行 频域和时域的分析 ,最终识别出目标障碍物。
具体架构如下:

电磁波射线追踪原理: 通过几何光学方法,模拟电磁波的传播过程,其中包括电磁波的镜面反射,散射,绕射,其中每条射线都包含能量,频率和相位信息,从而得出雷达的回波信号。
具体效果请参考下图:

数字信号处理模块原理: 数字信号处理模块和真实雷达数字信号处理模块一样,对差频信号进行频域分析,通过距离和速度两维FFT后,并进行CFAR,最终选择目标障碍物,对目标障碍物进一步做MTD分析,最终确认移动障碍物轨迹。
SimOne毫米波雷达仿真支持更改毫米波雷达 安装位置,角度,探测距离,探测角度,角度和距离分辨率、噪声参数等 。并且支持长距和中距波束探测功能。返回结果包括识别目标物的相对距离、相对速度、角度和RCS等
毫米波雷达参数
ID |
术语 |
定义 |
---|---|---|
1 |
毫米波雷达视角 |
垂直FOV(deg)、长距雷达横向FOV(deg)、中距雷达横向FOV(deg) |
2 |
毫米波雷达探测距离 |
最小探测速度(m/s) 、最大探测速度(m/s) |
3 |
毫米波雷达探测角度分辨率 |
纵向角度分辨率(deg)、长距雷达横向角度分辨率(deg)、中距雷达横向角度分辨率(deg) |
4 |
毫米波雷达距离分辨率 |
长距雷达距离分辨率(m) 、中距雷达距离分辨率(m) |
4. GPS/IMU
GPS 仿真支持 更改 GPS 位置以及 GPS 噪声模型参数 。可以返回主车的经纬度、速度、航向等。
IMU 仿真支持对 主车的加速度和角速度进行仿真 。支持模拟 GPS 信号丢失时主车的位置,速度、和航向的累积误差。
GPS/IMU传感器参数
ID |
术语 |
定义 |
---|---|---|
1 |
IMU频率 |
IMU更新频率,跟渲染帧率有关(Hz) |
2 |
GPS频率 |
GPS更新频率, IMU会根据此频率来修正噪声 |
3 |
GPS噪声 |
水平位置噪声(m)、垂直位置噪声(m)、速度噪声(m/s)、角度噪声(deg) |
5. 超声波雷达
超声波雷达被广泛运用于自动泊车中,超声波雷达仿真支持 同时仿真任意多个超声波雷达 ,支持更改超声波雷达安装位置,角度,并且实时返回障碍物的距离。
6. 超声波传感器参数
ID |
术语 |
定义 |
---|---|---|
1 |
超声波雷达探测范围 |
超声波雷达探测的横向和纵向的角度(deg) |
6. 物理级传感器渲染配置
上述摄像头与激光雷达的物理级数据(图像,点云)仿真对渲染能力有较高要求,因此在同时仿真多个物理级传感器时,需要配置与其数量相同的物理级传感器节点,如下图:


在配置各个物理级传感器时,也要将其配置到不同的物理级传感器节点,如下图:

小技巧
如当前agent所含有的物理级传感器节点数量少于主车配置的物理级传感器,则使用该主车运行案例时会有无法成功启动的风险。
通过点击物理级传感器节点右侧下拉菜单中的“编辑”按钮,可对物理级传感器的可视化窗口启动参数进行配置,其默认形式为:
“-Windowed -resX=640 -resY=480 WinX=1280 WinY=540 -GraphicsAdapter=0 -tbbmalloc”
其中,
-
Windowed 和 fullscreen 代表对应传感器的可视化窗口是窗口化显示或全屏显示。
-
resX 与 resY 确定窗口占据的分辨率大小。
-
winX 与 winY 表示可视化窗口在显示器上的起始坐标(当有多个显示器或视频输出设备时,可通过修改这两个参数实现将可视化窗口显示在不同屏幕上的需求)。
-
GraphicsAdapter 用于绑定当前节点至特定的显卡,用于多显卡仿真多路物理传感器的需求中。
7. 目标级传感器
7.1 目标级仿真启动的方法
-
主车配置
在 SimOne 网页主页下按如下图箭头所示步骤配置自己所需要的目标级激光雷达(或目标级摄像头),并命名为自己需要的激光雷达名称,这里以 objectLidar 为例。


-
案例配置
用户可以根据自己的需求来配置不同的场景。但是主车必须是自己刚刚创建的主车,如下图所示。


同时为了保证案例正常通过,须按下图方式将 超时 和 碰撞 关掉 启用 ,如图所示,然后点击 保存 即可保存自己的配置。

-
启动案例
-
配置好案例后,用户点击 运行案例 ,此时会弹出如下图所示界面,在图中箭头处选择自己先前创建的主车并点击 创建 即可启动案例。

7.2 Lidar目标级仿真功能说明
Lidar目标级仿真支持通过感知环境因子和感知误差来调节目标的输出信息。其中感知环境因子由环境参数因子和目标参数因子组成,主要仿真目标所处的环境改变时,目标被感知算法识别的得分。感知误差主要用来调节目标的抖动噪声。
7.2.1 感知环境影响因子
在Lidar目标级仿真中,关注的目标主要分为 六大类:小汽车、卡车、大巴、两轮车、人、交通标志 。其中两轮车包括自行车和电动车,行人包括行人和骑行的人,交通标志包括交通牌、交通灯和路边临时交通设施等。对于每类目标,都有 3种影响因子 用来调节目标识别的置信度,同时设置了置信度阀值,可以用来判定目标是否被识别出来并用来计算漏检率。除此之外,还支持雨雪雾等特殊天气对目标的识别影响的调节。
7.2.1.1 目标参数影响因子
在Lidar目标级仿真中,关注的目标主要分为六大类:小汽车、卡车、大巴、两轮车、人、交通标志。对于每类目标,分别设置了 朝向、遮挡、距离 三种影响因子用来仿真实际目标在这三种环境下的感知得分,同时设置了置信度阀值,可以用来判定目标是否被识别出来。
7.2.1.1.1 朝向影响因子
这里的朝向定义为 激光雷达主车的前进方向 和 主车与目标径向之间的夹角 ,如下图所示。当目标的朝向发生改变时,此时会影响激光雷达打到物体上点的个数,此时目标被感知算法感知的得分也会相应地发生变化,相对应的仿真输出的目标置信度也跟着变化。

7.2.1.1.2 遮挡影响因子
遮挡定义为采用某种采样算法,激光雷达 实际打到的目标点数 与 无遮挡时激光雷达打到目标点数的比值 。遮挡越大,打到的点越少,感知算法感知的得分就越小,相应地目标级仿真输出的目标probability就越小。
7.2.1.1.3 距离影响因子
距离定义为 激光雷达中心与目标中心的距离 。随着距离的增大,目标距离雷达越远,由于远处是激光雷达垂直角较大时打到的点,故与近处相比,点之间的距离增大,同一物体打到的点相应地变少。因此随着距离的增大,仿真输出的目标probability逐渐下降。
7.2.1.2 置信度
置信度主要用来调节目标的误检率。
当仿真输出的 probability 小于置信度时,此时目标信息不会输出。
以此相反,如果仿真输出的 probability 大于置信度时,此时目标信息会正常输出。
7.2.1.3 环境影响因子
环境影响因子目前已支持 雨、雪、雾三种环境 。当用户在案例配置中设置好需要的环境后,此时对应的雨、雪、雾环境因子开始起作用。默认值为0.5,随着天气状况越来越复杂(例如雨越下越大),由于此时环境对雷达激光线的吸收和散射作用变大,激光线相比于正常天气时打的点变少,此时仿真输出的目标probability逐渐下降,当probability下降到小于目标的threshold时,此时仿真不会输出目标的信息。

7.2.2 感知误差
感知误差包括目标位置误差、目标速度误差、目标角度误差,主要用来仿真目标在真实环境中的实际抖动。
-
位置误差 :位置误差主要指的是雷达测量的目标位置与目标实际位置之间的误差。
-
速度误差 :速度误差主要指根据雷达数据并结合相关算法算出来的速度与目标真实速度之间的误差。
-
角度误差 :角度误差主要指根据雷达数据并结合相关算法算出来的目标相对于雷达的方向角与真实目标与雷达方向角之间的误差。
7.3 摄像头(Camera)目标级仿真功能说明
与激光雷达目标级仿真相似,摄像头目标级仿真是基于真实目标检测模型的检测结果进行模拟仿真的,其环境感知因子与目标参数因子是通过真实目标检测结果而统计的调节因子。当仿真目标所受影响因子发生变化时,目标被检测的自信度会随之改变。此外感知误差主要调节目标的抖动噪声。目标级摄像头同时支持车道线仿真,支持车道线的抖动和误差设置。与激光雷达相同的影响因子有环境影响因子、遮挡影响因子、感知误差,上面已经进行了详细的描述,这里不在诠释。 下面主要介绍下目标尺寸对得分的影响。
7.3.1 目标尺寸影响因子
该因子反映了真实的目标检测模型中目标尺寸与目标自信度之间的关系,使得当目标尺寸影响因子发生改变时,目标的置信度会随之发生相应的变化。
7.4 融合(Fusion)目标级仿真功能说明
与激光雷达目标级仿真、摄像头目标级仿真相似,融合目标级仿真是基于真实目标检测模型的检测结果进行模拟仿真的,其环境感知因子与目标参数因子是通过真实目标检测结果而统计的调节因子。当仿真目标所受影响因子发生变化时,目标被检测的置信度会随之改变。此外感知误差主要调节目标的抖动噪声。与激光雷达相同的影响因子有环境影响因子、遮挡影响因子、感知误差,上面已经进行了详细的描述,这里不在诠释。 下面主要介绍下目标三维尺寸和目标位置对得分的影响。
7.4.1 目标位置影响因子
该因子反映了真实的目标检测模型中目标位置与目标置信度之间的关系,使得当目标位置影响因子发生改变时,目标的自信度会随之发生相应的变化。
7.4.2 目标三维尺寸影响因子
该因子反映了真实的目标检测模型中目标三维尺寸与目标置信度之间的关系,使得当目标三维尺寸影响因子发生改变时,目标的置信度会随之发生相应的变化。
7.4.3 融合目标级仿真启动的方法
融合目标级传感器的主车配置会与雷达和摄像头目标级传感器有所不同,配置方法如下:

选择主车后,即可配置融合目标级传感器:
-
选择传感器资源库。
-
将 目标级传感器 拖入主车。
-
添加融合传感器组。
-
选择需要进行融合的目标级传感器加入融合组。
-
保存配置。
7.5 理想传感器
理想传感器可以返回主车一定范围内探测到的机动车、行人、非机动车、交通牌和交通灯等。支持按一定比例剔除有遮挡的障碍物。返回数据包括障碍物位置、朝向、包围盒、速度、加速度和角速度等。 理想传感器的输出可以通过 SimOne 的共享内存 API、ROS Bridge、OSI API 等获得。返回结果可直接用于决策算法的测试。 理想传感器仿真主要有两大功能:遮挡剔除和感知误差仿真,如下图所示。
相关参数
ID |
术语 |
定义 |
---|---|---|
1 |
理想传感器遮挡剔除 |
考虑障碍物遮挡关系,当某障碍物被其他物体遮挡时,过滤掉障碍物 |
理想传感器启动方法
理想传感器的启动方式与目标级传感器的启动方式类似,只需把主车传感器换成主车理想传感器

用户可以在网页上设置遮挡比例来过滤被遮挡的目标。
遮挡比例的值介于[0,1]之间。
遮挡比例越大,目标过滤得越多,返回的目标就越少。
感知误差的功能和目标级仿真功能一样,用户可以参考这部分的介绍来满足自己的需求。
传感器dump虚拟标注数据集
Part 1 概览
在 51WORLD 虚拟标注数据集中,主要包含由 SimOne 所产生的摄像头传感器相关数据和激光雷达传感器相关数据。
-
摄像头传感器相关数据主要包括图像和对应的语义分割、实例分割、深度标注、目标检测标注;
-
激光雷达传感器相关数据主要包括激光点云和对 3Dbboxes 标注、语义分割标注、实例分割标注。
51WORLD 虚拟标注数据集内容丰富且全面,可满足用户对于图像目标检测、点云目标检测、融合目标检测、光流、实例分割、语义分割和深度预测等算法研究的需求。
为了帮助用户快速了解和使用 51WORLD 虚拟标注数据集,
以下将分为五个章节介绍 51WORLD 虚拟标注数据集的使用方法。
-
第 2 节将介绍 51WORLD 虚拟标注数据集的坐标系定义和各个坐标系的对应关系;
-
第 3 节将介绍数据集的一些参数配置和标注文件;
-
第 4 节将介绍数据集的目录结构;
-
第 5 节将介绍该数据集同步;
-
第 6 节为附录,将介绍数据集的物理材质定义、用户工具和深度学习示例。
Part 2 数据集坐标系定义
其中所有坐标系都为右手笛卡尔坐标系,旋转顺序为内旋 ZYX(Yaw, Pitch, Roll)。主车坐标系、激光雷达坐标系和世界坐标系为 X 朝前、Y 朝左、Z 朝上,摄像头坐标系为 X 朝右、Y 朝下、Z 朝前。坐标系示意图如下。

图 2-1 坐标系示意图
Lidar坐标系和Camera坐标系的原点都位于主车的车顶,且位置重合;主车坐标系的原点位于主车后轴中心对应的地面。示意图如下:

图 2-2 坐标系位置图
Part 3 数据集参数及标注文件说明
3.1 数据集采集参数说明
在每份虚拟数据集采集的时候都会保存一份数据集的参数设置在 DumpSettings.json 中,保存在传感器 Dump 设置的目录下:Dump 文件夹中。其中包含天气及环境参数、相机内外参及特性参数、激光雷达的内外参和采集时间等信息。数据集采集参数描述如下表:
表 3-1 DumpSettings.json 的参数说明

3.2 摄像头目标标注文件说明
摄像头目标标注文件存放在摄像头设置时:Dump 文件夹中 CameraInfo.json,这些文件保存了摄像头的位置信息和目标二维、三维的标注信息。摄像头目标标注文件的描述如下:
表 3-2 每一帧记录参数信息表
参考字段 |
单位 |
描述 |
---|---|---|
pos |
m |
摄像头在世界坐标系(x、y、z)的坐标 |
rot |
rad |
摄像头在世界坐标系的旋转坐标 |
vel |
m/s |
摄像头在世界坐标系中的速度 |
localACC |
m/s^2 |
主车坐标系下的IMU加速度信息 |
localAngVel |
rad/s |
主车坐标系下的IMU角速度信息 |
bboxes |
|
小于遮挡比例所有目标的2d包围框集合 |
bboxesCulled |
|
大于遮挡比例的所有目标的2d包围框集合 |
bboxes3D |
|
所有目标的3d包围框集合 |
表 3-3 bboxes和bboxesCulled单个目标参数信息表
参考字段 |
单位 |
描述 |
---|---|---|
id |
|
目标的ID |
type |
|
目标的类型 |
bbox |
pixel |
目标在图像坐标系的坐标(左上x和y, 右下x和y) |
obbox |
pixel |
目标在图像系中的方向坐标(中心坐标、长、宽、方向) |
pixelRate |
比例,范围0-1 |
未被遮挡的像素的面积/模型整体的BBOX矩形面积 |
rectRate |
比例,范围0-1 |
未被遮挡的像素的最小包围矩形的面积/模型整体的BBOX矩形面积 |
表 3-4 bboxes3D单个目标参数信息表
参考字段 |
单位 |
描述 |
---|---|---|
id |
|
目标的ID |
type |
|
目标的类型 |
pos |
m |
目标在世界坐标系所处的坐标 |
rot |
rad |
目标在世界坐标系的旋转坐标 |
size |
m |
目标的在世界坐标系中的长、宽、高 |
vel |
m/s |
目标在世界坐标系中的加速度 |
localAcc |
m/s^2 |
目标在主车坐标系下的IMU加速度信息 |
localAngVel |
rad/s |
目标在主车坐标系下的IMU角速度信息 |
relativePos |
M |
目标相对于摄像头坐标系的坐标 |
relativeRot |
Rad |
目标相对于摄像头坐标系的旋转坐标 |
3.3 激光雷达目标标注文件说明
激光雷达目标标注文件存放在激光雷达设置时:Dump 文件夹中 LidarInfo.json,这些文件保存了激光雷达的位姿信息和三维的标注信息。激光雷达目标标注文件的描述如下:
表 3-5 每一帧记录参数信息表
参考字段 |
单位 |
描述 |
---|---|---|
pos |
m |
激光雷达在世界坐标系(x、y、z)的坐标 |
rot |
rad |
激光雷达在世界坐标系的旋转坐标 |
vel |
m/s |
激光雷达在世界坐标系中的速度 |
localAcc |
m/s^2 |
主车坐标系下的IMU加速度信息 |
localAngVel |
rad/s |
主车坐标系下的IMU角速度信息 |
bboxes3D |
|
所有目标的3d包围框集合 |
表 3-6 bboxes3D单个目标参数信息表
参考字段 |
单位 |
描述 |
---|---|---|
id |
|
目标的ID |
type |
|
目标的语义类型 |
pos |
m |
目标在世界坐标系所处的坐标 |
rot |
rad |
目标在世界坐标系的旋转坐标 |
size |
m |
目标的在世界坐标系中的长、宽、高 |
vel |
m/s |
目标在世界坐标系中的加速度 |
localAcc |
m/s^2 |
目标在主车坐标系下的IMU加速度信息 |
localAngVel |
rad/s |
目标在主车坐标系下的IMU角速度信息 |
relativePos |
m |
目标相对于激光雷达坐标系的坐标 |
relativeRot |
rad |
目标相对于激光雷达坐标系的旋转坐标 |
3.4 毫米波雷达目标标注文件说明
毫米波雷达 dump 文件存放在 web 界面配置路径下:Dump 文件夹中 RadarInfo.json,这些文件保存了毫米波雷达的安装位置,安装角度信息,以及识别目标物信息,dump 文件中的具体描述如下:
表 3-7 每一帧记录参数信息表
参考字段 |
单位 |
描述 |
---|---|---|
pos |
m |
毫米波雷达在世界坐标系(x、y、z)的坐标 |
rot |
rad |
毫米波雷达在世界坐标系的旋转坐标 |
表 3-8 bboxes3D 单个目标参数信息表
参考字段 |
单位 |
描述 |
---|---|---|
id |
|
目标的ID |
subId |
|
目标物子ID,同一个目标物如果有多个点,其subId不一样 |
type |
|
目标物类型 |
pos |
m |
目标物位置(x,y,Z) |
vel |
m/s |
目标物绝对速度(x,y,Z) |
range |
m |
目标物相对距离 |
angle |
0-2Π |
目标物角度(目标物与主车方向夹角) |
snr |
dB |
目标物信噪比 |
rangerate |
m/s |
目标在主车方向上,相对主车的速度 |
rsc |
目标物雷达截面积 |
|
probality |
0-1 |
目标物置信度 |
Part 4 数据集参数及标注文件说明
51WORLD 虚拟标注数据集中包含种类相当丰富的数据,可满足用户对于图像目标检测、点云目标检测、融合目标检测、光流、实例分割、语义分割和深度预测等算法研究的需求。数据集的总体目录结构如下,用户也可以根据自己的需求去下载相应的数据集。
SimOne
|--- train
|--- scene1
|---image_label
|---pcd_label
|---pcd_bin
|---image
|---image_segmentation
|---depth
|---image_instance
|---flow_panoptic
|---video
|---DumpSettings.json
|--- scene2
...
|--- test
|---scene1
|---pcd_bin
|---image
|---video
|---DumpSettings.json
|--- scene2
...
各级目录和文件的解释如下:
表 4-1 文件夹与文件描述
文件名 文件夹名 |
描述 |
---|---|
scene |
用于记录数据发布的时间或者包含场景信息 |
image_label |
存放图像目标标注文件 |
pcd_label |
存放点云目标标注标签 |
pcd_bin |
存放点云二进制数据,包含点云的x, y, z, intensity信息 |
image |
存放仿真的图像数据 |
Image_segmentation |
存放图像语义分割数据,像素值1-31分别代表一种类别 |
depth |
存放深度图 |
image_instance |
存放图像实例分割图,每种颜色代表一类 |
flow_panoptic |
存放全景分割的图像,以颜色区分类别 |
video |
存放视频及标签,标签通过将时间戳与视频帧进行对应 |
DumpSettings.json |
存放数据集下载时的一些参数配置,如相机的内外参等 |
Part 5 数据集同步
传感器数据集采用离线同步的方式。当传感器采用相同帧率或倍数帧率输出数据集时,所有传感器的输出会严格时间同步。在51WORLD虚拟标注数据集中,每个类型的数据都是完全同步的,精确到每一辆车的位置和朝向、每一个行人的姿态和动作。同样利用SimOne的传感器数据集同步机制,摄像头和激光雷达数据也可以做到完全同步,这点可以从前面的激光雷达仿真效果展示可以看到。基于完全同步的摄像头和激光雷达数据集,我们可以更方便的做感知融合算法的测试和训练。
Part 6 附录
6.1 用户工具
为方便用户使用数据集,我们提供了两个工具,分别是数据加载工具和 kitti 转化工具。详见 user_tools 文件夹。
6.2 物理材质
本数据集标注了动静态障碍物、建筑物和环境信息等31个物理材质。物理材质及其对应的编号,颜色如下表:
表 6-1 51WORLD 数据集物理材质
type |
物理材质 |
资源 |
RGB |
---|---|---|---|
1 |
Foliage |
树、灌木、相对较高的花 |
107,142,35 |
2 |
Building |
各类建筑物 |
70,70,70 |
3 |
Road |
行车道 |
128,64,128 |
4 |
Pedestrian |
行人,行人身上的小物品:如手机、背包和手提箱 |
220,20,60 |
5 |
Pole |
交通牌或交通灯的杆子、带杆子的路灯、其他地面管状杆子 |
153,153,153 |
6 |
Car |
小汽车 |
0,0,142 |
7 |
Static |
未分类的静态物体:如路边公交站台、电话亭等 |
0,0,0 |
8 |
Bicycle |
路上的动态自行车 |
119,11,32 |
9 |
Fence |
栅栏、建筑物围栏 |
190,153,153 |
10 |
Sky |
天空 |
70,130,180 |
11 |
SideWalk |
人行道 |
244,35,232 |
12 |
RoadMark |
车道线 |
240,240,240 |
13 |
TrafficSign |
交通牌、指示牌 |
220,220,0 |
14 |
Wall |
围墙 |
102,102,156 |
15 |
TrafficLight |
交通灯 |
250,170,30 |
16 |
Terrain |
草地、沙地、泥地、路边花坛地、花坛中矮小的花 |
152,251,152 |
17 |
Rider |
自行车上的人、摩托车上的人 |
255,0,0 |
18 |
Truck |
卡车、搅拌车、箱式货车 |
0,0,70 |
19 |
Bus |
客车、大巴车 |
0,60,100 |
20 |
SpecialVehicle |
特殊车辆:警车、救护车、消防车、火车,轻轨等 |
0,80,100 |
21 |
Motorcycle |
摩托车、电瓶车 |
0,0,230 |
22 |
Dynamic |
未分类的动态物体,比如小动物,也可用来标记可移动物体, 如路边的临时桌椅,行人的手提箱、婴儿车 |
111,74,0 |
23 |
GuardRail |
交通栏杆 |
180,165,180 |
24 |
Ground |
其他平地,水面 |
81,0,81 |
25 |
Bridge |
桥梁、高架桥、天桥 |
150,100,100 |
26 |
SpeedLimitSign |
限速牌 |
220,220,0 |
27 |
StaticBicycle |
路边的静态自行车 |
169,11,32 |
28 |
Parking |
停车场、路边停车区域 |
250,170,160 |
29 |
RoadObstacle |
路上的静态障碍物:交通锥、水马、雪糕筒、隔离栏等 |
230,150,140 |
30 |
Tunnel |
隧道 |
150,120,90 |
31 |
TrashCan |
垃圾桶 |
151,124,0 |
6.3 下载地址
百度网盘链接: https://pan.baidu.com/s/1FDeb3mcY8J79A6o6IydKOQ
提取码:5151
6.4 算法示例
本数据提供了三个简单的算法示例,分别是图像目标检测算法、激光雷达目标检测算法和融合目标检测算法。其中目标检测算法为一个非官方实现的 YOLOv2 算法,激光雷达目标检测算法为非官方实现的 PIXOR 算法,融合目标检测算法为 mmdetection3d 框架中的 MVX-NET 算法。用户可根据自己的需求,选择算法示例进行开发和优化,提出自己的创新点。详见:
-
激光雷达目标检测算法: https://github.com/JaHorL/pixor-51WORLDDataset
-
融合目标检测算法及激光雷达目标检测算法(mmdetection3d): https://github.com/JaHorL/mmdet3d-51WORLDDataset
IP配置优化
IP 设置错误或者是由于 IP 变更导致的 SimOne 无法启动,我们通过将 Web IP 默认配置为 127.0.0.1。对于需要牵涉到算法对接或者是分布式系统的用户,可按照以下步骤修改 ip 配置。
配置引导
在安装引导步骤中,可修改ip 配置。
-
显示IP地址以及网卡名。
-
默认值为127.0.0.1。
-
提示单机用户用默认就可以。
-
选择自定义可手动输入。

全局配置-系统配置
-
显示IP地址以及网卡名。
-
选择自定义可手动输入。

Launcher-agent配置
-
授权码改成Agent ID
-
Agent ID可编辑
-
Public IP改成label
-
增加“应用”按钮

IP 变更提示
当IP发生变更时,页面会弹出IP变更的弹框。

诊断工具
产品启动配置需要正确配置参数才能够正常运行,诊断工具方便用户通过命令行窗口调取各个服务的状态。命令行工具可跨平台使用,包括 Windows 和 Linux。
1. 使用流程
-
在SimOne系统托盘的菜单上增加一项诊断工具,当用户点击选择之后弹出命令行的界面。

2.基于命令行展示,调取命令以后在屏幕上一次性打印各个模块的的状态。

2. 服务状态检测
项目名 |
解释 |
---|---|
名字/Name |
诊断的模块名称 |
连接方式/Methed |
连接服务的方式,包括通讯协议、IP地址、端口号、检测命令等 |
状态/Status |
返回当前服务的检测结果 |
结果/Result |
如果返回异常,显示对于这个异常的补充说明 |
3. 模块名
模块/Module |
职责 |
---|---|
CybertronRedis |
存储用户登录相关信息(用户信息,登录失败尝试次数) |
CybertronDataService |
数据服务-存储场景案例、目录及地图数据,及地图碰撞体的生成 |
CybertronTaskServer |
Web服务-任务管理,同时也存储agent,work信息 |
CybertronUserServer |
Web服务-用户权限管理、目前通知也走这一块 |
CybertronAssetServer |
Web服务-管理资源:主车、控制器、传感器、主车模型等等 |
CybertronXVIZServer |
简化渲染后台数据Provider,接收CybertronVisualizer发送来的热区数据,提供简化渲染客户端推送XVIZ协议数据 |
CybertronAgent |
后台服务-负责管理work节点 |
CybertronMaster |
后台服务-负责管理agent节点 |
RoadNetworkRTService |
路网服务-负责客户端请求获取路径点对应的路网信息(是否在车道内、高度)及相应的世界坐标、ST坐标转换 |
4. 状态类型
状态/Status |
描述 |
---|---|
0 |
系统能够正常返回 |
非0 |
非0值为错误码 |
5. 结果
{"code":-1,"data":
{"authCode":"10000","masterIP":"127.0.0.1:4500","message":"ok","state":"AgentState_Ready","webIP":"127.0.0.1:30083"}}
系统配置
全局配置
点击页面右上角的设置,弹出全局设置弹框。
备注
SimOne 协作版 本地端 和 云端 的全局设置可选项不同。
-
本地端 包括可视化工具、系统设置、系统信息、系统配置和Agent列表五个部分。
-
云端 仅包括可视化工具。
可视化工具设置
可在可视化窗口中对案例运行的可视化窗口的参数进行设置.

ID |
项目 |
描述 |
---|---|---|
1 |
可视化窗口选择 |
目前支持高精度渲染和简化渲染两种模式 |
2 |
默认观察者视角 |
观察期的观察视角包括跟车视角、自由视角、俯视视角和驾驶员视角 |
3 |
启动可视化窗口 |
目前可以选择打开和关闭,选择打开是默认选择案例运行时自动弹出可视化窗口,选择关闭需要点击任务管理的监测视频按钮才能弹出可视化窗口 |
系统设置

ID |
项目 |
描述 |
---|---|---|
1 |
IP地址 |
调度节点的IP地址 |
2 |
端口 |
调度节点的端口 |
系统信息

ID |
项目 |
描述 |
---|---|---|
1 |
CPU范围 |
CPU所处的范围,目前分为三档,以最低和推荐划分,会提示用户 |
2 |
测试结果 |
提示硬件是否符合要求 |
3 |
Memory范围 |
Memory所处的范围,目前分为三档,以最低和推荐划分,会提示用户 |
4 |
检测 |
用户更新硬件配置可点击检测按钮再次检测+ |
5 |
GPU范围 |
GPU所处的范围,目前分为四档,以无渲染,最低和推荐划分,会提示用户 |
系统配置

ID |
项目 |
描述 |
---|---|---|
1 |
系统配置 |
常用的变量值,包括对node端口的设置,observer端口设置等 |
Agent列表
详情可参考 分布式系统说明 。
可视化工具
高精度渲染

ID |
项目 |
描述 |
---|---|---|
1 |
视角切换 |
包括free view(自由视角)、top view(顶视图)、perspective view(跟车视角)、 driver view(驾驶员视角)用户可任意切换任一视角, 在free view下可通过控制键切换观察车辆的角度且在手动控制模式下无法通过 控制键来控制车辆的前后左右运行在top view、perspective view、 driver view均可自由|控制车辆的前后左右运行 |
2 |
2D/bbox显示 |
测试场景中的对手车和元素将以2D bbox的样式显示出来,红色边框 |
3 |
3D/bbox显示 |
测试场景中的对手车和元素将以3D bbox的样式显示出来,3D模型边框 |
4 |
规划路径显示 |
显示运行主车的规划路径,会以紫色的路径指示展示 |
5 |
环境渲染打开/关闭 |
运行案例时,点击此按钮可展示/关闭在案例中建立的对手车、行人、非机动车及道路周边的建筑 |
6 |
案例基本信息展示 |
包括显示案例的名称、地图名称、主车类型、纵向和横向的控制器 |
7 |
收起菜单 |
点击此处可收起案例详情菜单 |
8 |
主车配置的传感器的基本信息 |
显示配置的传感器的名称,显示模式等 |
9 |
摄像头传感器采集图像显示模式切换 |
从左至右依次是深度图,语义分隔图,实例分隔图测试图显示模式,用户可自由切换至需要的模式 |
10 |
激光雷达显示模式切换 |
以可视化的形式展示激光雷达仿真效果 |
11 |
毫米波雷达显示效果切换 |
展示毫米波雷达的显示效果 |
12 |
小地图放大/缩小 |
展示测试过程中的主车实时位置朝向、路由,对手车的位置朝向等,“+”按钮放大地图,“-”按钮缩小地图 |
13 |
小地图全览开关 |
默认关闭,显示当前导航;开启后,显示主车行驶的整条路段 |
14 |
收起小地图 |
点击后可收起小地图、 |
15 |
observer窗口最大化 |
左侧的observer窗口最大化,隐藏传感器的实时参数的变化和测试的logs信息 |
16 |
显示/隐藏UI控件 |
点击此按钮可显示/隐藏observer显示界面上所有的UI控件 |
17 |
主车驾驶测试数据 |
包括方向盘实时反馈的转动、汽车控制系统的名称、方向盘数据、速度、转速、档位、刹车数据 |
18 |
UE可视化窗口进程控制 |
从左至右依次是暂停、停止、下一帧、已运行时长、总运行时长、当前时长、运行速率 |
19 |
实时参数面板切换 |
包括传感器、V2X、和感知三个类型 |
20 |
信息筛选 |
点击此按钮,弹出筛选框,用户可选择下方展示的数据类型 |
21 |
信息展示 |
通过顶部的Tab菜单切换显示内容,sensors展示主车的传感器动力学参数随时间变化的情况; V2X展示各类事件信息;perception展示了主车感知决策的信息 |
22 |
测试日志列表显示 |
展示测试过程中的测试日志信息,包括INFO、WARN和ERROR |
简化渲染

ID |
项目 |
描述 |
---|---|---|
1 |
当前视角对象切换 |
是观察者视角选择,默认为主车,也可切换至其他对手车视角 |
2 |
信息展示栏 |
可通过点击切换至其他频道。 |
3 |
信息展示区域 |
默认是Info展示案例信息 |
3.1 |
streams展示主车相关数据 |
|
3.2 |
data分为sensors和V2X两块,sensors展示主车数据图表, 鼠标悬停在图表曲线任意位置时,可读取相应数据,v2x展示V2V、V2I等事件信息 |
|
3.3 |
log信息展示,默认显示全部类型,点击标题可切换显示/隐藏 |
|
4 |
主车信息展示区域 |
默认是Info展示案例信息 |
5 |
展示工具栏,从上至下依次为 |
P跟车视角、T俯视视角、C驾驶员视角、3DBoundingBox开关、 2DBoundingBox开关、Trajectory开关、小地图开关、Debug开关 |
6 |
案例测试可视化展示区 |
显示高精地图、主车、对手车、对手人等动态及静态物体 |
7 |
红绿灯 |
显示下一个路口红绿灯状态 |
8 |
debug信息栏 |
展示主车相关瞬时数据 |
9 |
小地图 |
同UE-obserber中的小地图 |
10 |
进程控制 |
从左至右依次是暂停、停止、已运行时长、总运行时长、运行速率 |