用户参考手册

本文档针对每个模块以及UI界面都提供了详尽的描述信息,方便用户进行查询。

专业术语

类别

描述

场景

用于描述测试用例,是各种资源的一个集合。其中各种资源可能会存在一些变量,
通过变量的排列组合来生成多个测试用例(包含动态资源)

案例

描述一个固定测试案例,里面的变量都是固定

案例集

是一个或者多个测试用例的集合,方便选择一组特定的测试用例

分类

用来区分资源的种类或者用途,类似文件夹

任务

测试任务,用户可以选择通过测试集或者测试用例来生成一个测试任务

资源

用来描述一种类型的数据,也可能是多种数据的一个集合

报告

测试报告

资源列表

一个树形的结构,用于显示当前编辑的资源的列表

资源库

一个已有资源的集合

预设

预先定义好的一组属性的设置

属性编辑器

用于编辑资源属性的编辑器

地图

美术的场景的静态资源(不包括动态元素、静态元素)

集成性大地图

集成大地图是指模拟某个城市一定范围内的路网,包括道路、建筑、植物、行人等信息

原子性小地图

原子地图一般指地图单元,指的是一段路网,若干原子地图可组成集成地图

普通对手车

用于测试主车的普通对手车,普通对手车沿着用户预设的路径点和参数运行

判定

依据特定的场景,设定一些条件判断驾驶行为有无违反此条件

事件

放在场景里面的一些预先定义好的资源和行为,通过设置动作来完成

交通流

交通流是指汽车在道路上连续行驶形成的车流。广义上还包括其他车辆的车流和人流。
在某段时间内,在不受横向交叉影响的路段上,交通流呈连续流状态;
在遇到路口信号灯管制时,呈断续流状态

案例库

用户可导入外部的案例至案例库,用户可在案例库界面查看案例和自建案例并运行案例。

ID

项目

描述

1

导航栏菜单切换

用户点击此菜单可跳转至不同的模块,
分别为案例库模块、任务管理模块和资源库模块

2

测试总里程显示

展示当前系统运行的总里程

3

测试里程统计频率

点击此菜单可查看不同时间频率的测试里程,包括每天,每周和每月

4

收起/展开按钮

点击此按钮可收起左侧的导航栏,再次点击可展开左侧的导航栏

5

新建测试案例文件夹

点击此按钮可在案例库列表中新建一个案例库文件夹,
新建了一个案例库文件夹后, 新建案例按钮被激活,
用户可在新创建的案例库文件夹下新建案例

6

删除/复制按钮

用户可对非内置的案例库文件夹进行删除和复制的操作

7

新建案例按钮

当此按钮处于激活状态时,用户即可在选中的左侧的案例库文件夹内新建一个新的案例

8

案例库操作按钮

包括导入、导出、编辑、删除和刷新。导入即向系统内部导入案例;
导出即将案例库中的案例导出系统;编辑即选中案例进入案例编辑器查看;
删除即选中某案例点击删除按钮即可删除案例;刷新即刷新案例库页面

9

筛选

点击此按钮,弹出筛选框,筛选出符合要求案例。

10

更多筛选项

点击此按钮,弹出筛选框,筛选出符合要求案例。
当前筛选内容包括地图、创建时间和案例类型。

11

搜索

在输入框中输入关键词即可搜索案例

12

重置

点击此按钮,所有的筛选项将会清空重置。

13

案例展示方式切换

包括宫格式展示和列表式展示两种类型

14

选中案例库

点击左侧的选中框即可选中案例,关于案例操作的导出,查看,删除按钮即可激活

15

页码切换

选中页码进行切换

16

页码跳转

输入页码数字并回车可跳转到对应的页面

17

运行按钮

选中案例,点击运行按钮,即可运行案例

18

加入快速测试集

当选中了案例库中的案例后,且快速测试集中选中了快速测试集文件夹后,
即可点击此按钮将案例库中的案例加到快速测试集中

19

管理按钮

点击管理按钮,即可对选中的快速测试集中的案例进行移除的操作,
将选中的案例从快速测试集中移出去

20

新建快速测试集按钮

点击此按钮,在快速测试集下即新建了一个快速测试集文件夹

21

删除/复制按钮

选中快速测试集文件夹,点击删除和复制即可删除和复制快速测试集文件夹

22

运行按钮

点击此按钮,可将选中的快速测试集中的案例一起运行

任务管理器

正在测试

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)

右后轮速

米/秒

资源管理器

ID

项目

描述

1

案例资源库列表

案例资源库列表包括编辑案例所需的各类资源,用户点击左侧资源库中的资源库文件夹,
在右侧展示相应的资源库文件夹中对应的内容

2

资源库操作按钮

包括导入、导出、编辑和删除四个按钮,当选中的左侧资源符合操作时,操作按钮即可被激活

2.1

导入

点击此按钮,弹出导入资源的弹框,当前系统支持从外部导入地图资源、主车预设资源、
主车模型资源、数据驱动源、主控制器资源。

2.2

导出

点击此按钮,可将系统内容的资源导出,方便协同工作。当前系统支持非内置自定义地图、
非内置主车资源的导出

2.3

编辑

选中资源库中的资源点击编辑按钮可进入该类资源的编辑模式,当前系统支持主车资源、
数据驱动源资源的编辑。选中主车资源点击编辑按钮即可进入主车编辑器页面,
可对主车编辑器进行详细的编辑选中数据驱动源资源点击编辑按钮即可进入
数据驱动源编辑器,可对数据进行相应的操作。

2.4

删除

对非内置的资源,系统支持自由的删除。

3

搜索

在搜索框中输入关键词即可搜索到相应的资源

4

添加按钮

点击此按钮,即自动新增一辆新主车

5

资源选项

双击资源选项,如果系统支持此资源编辑,即可进入资源编辑选项,
例如双击主车资源可进入主车编辑器编辑主车资源或者另存为新的主车

场景编辑器

标准案例

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

运行案例按钮

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

6

增加路径点

当选中主车、静态元素或动态元素后,此按钮被激活,点击会沿着路径新增一个对应类型的途径点

7

删除路径点

当选中主车、静态元素或动态元素后,此按钮被激活,点击会删除一个对应类型的途径点

8

吸附到车道线中心

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

9

前进一步

恢复到上一步的操作

10

后退一步

恢复到下一步的操作

11

案例编辑视窗

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

12

案例编辑器参数面板

可对案例编辑视窗中的对象进行参数设置

13

状态栏

展示比例尺和鼠标坐标及一些错误等信息提示

14

案例资源库列表

点击左侧的案例资源列表,右侧展示资源,鼠标拖拽资源可拖拽资源至案例编辑器中|

15

案例资源展示

点击左侧的案例资源库列表,右侧即展示选中的文件夹中的资源|

交通流案例-如何使用Vissim

  1. 安装Vissim软件

(1)安装Vissim软件10版(注意不要安装其他的版本,目前只有这个版本可以用于SimOne的仿真);

(2)安装CodeMeter7.10a并配置。

打开CodeMeter,点击右下角WebAdmin

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

  1. 在SimOne中配置使用Vissim

(1)目前公开版本中支持Vissim的地图只有三车道路口,如要使用Vissim仿真,请在构建案例时选择该地图:

(2)选择案例类型为交通流案例,并在交通流配置里选择Vissim。

(3)运行仿真案例

交通流案例-如何使用DST API控制

DST(Dynamic Simulation Translator) API和交通流数据的通信是通过socket通信来完成的。一般使用情况下,为保证数据传输效率,建议将发送数据的进程与SimOne放于同一机器。在此前提下,socket通信的IP地址是127.0.0.1, 端口是21568。目前一帧里交通参与者的数据会以JSON字符串的方式发往DST。

以下是基本工作流程:

  1. 创建socket,绑定IP地址和端口以建立连接;

  2. 获取交通参与者数据并通过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:此交通灯的持续秒数,为必须项。

  3. 建议用恒定频率发送数据,推荐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则变成灰置状态。当数据源选择重建后数据时原始数据变成灰置状态,
最终进行测试的数据类型取决于数据源选择哪种类型

数据驱动支持的原始数据格式:

  1. 必须字段:

字段

名称

单位

说明

编号

ID

交通参与者唯一编号

时间戳

Time

秒(s)

记录每个轨迹点对应的时刻

位置X坐标

PositionX

米(m)

局部世界坐标X分量

位置Y坐标

PositionY

米(m)

局部世界坐标Y分量

  1. 可选字段:

字段

名称

单位

说明

速度

Speed

m/s

速度

交通参与者朝向

PIS

rad

弧度制朝向

交通参与者大类

Category

车辆、行人、自行车、动物、静态障碍物:vehicle、bike、pedestrian、animal、static

交通参与者型号

Type

具体型号,比如car、man,详细见下表

是否主车

Ego

是否作为自动驾驶主车,是:Y,否:N

  1. 交通参与者大类(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

路障:水马、路桩、隔离栏等 窖井盖 路面覆盖物:落叶、泥土、积水等 残缺标记牌 残缺车道线

交通灯控制

标准案例的交通灯控制

  1. SimOne拓展的有关交通灯的字段,以下动作支持案例编辑器编辑:

字段

含义

TrafficSignalSwitchAction

控制参考车所在车道的交通灯状态的切换规则。
注意,其余交通灯可能也会随之切换

  1. OpenScenario1.0与交通灯有关的字段,以下动作只支持文本编辑:

字段

含义

TrafficSignalController

控制整个路口的交通灯状态的切换规则,
也称交通灯控制器

TrafficSignalControllerAction

切换至交通灯控制器规定的某个相位,
实现路口整个路口红绿灯的集体跳转

TrafficSignalStateAction

控制某个灯切换为某个颜色,该灯的颜色
必须出现在交通灯控制器中。
注意,其余交通灯可能也会随之切换

  1. 各字段详细解释:

(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。必须保证在交通灯控制器中有此交通灯要切换的状态。动作触发后,会在下一帧将路口全部交通灯相位切换到包含此交通灯状态的相位。此交通灯的状态一定会改变,其余交通灯状态可能会改变。

判定

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

停车

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

停车入库

停车入库,当主车在车库内停车时长不足,或在停车入库时压线,触发判定
../_images/parking.png

停车启动

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

压线

压线可设置压实线和压虚线,当主车碰到设定的车道线则触发判定
../_images/cross_line.png

变道

变道判定包括变道类型、完成变道时长,是否提前开启转向灯(提前时间)及双闪警示灯为可选项,变道时长的计算是以检测到压线事件为开始;例:判定设置为“未执行变道-左变道、变道时长大于5、秒提前3秒打转向灯、变道后开启双闪警示灯”,当主车进入判定区域后,正确的事件发生顺序是:
  1. 初始阶段

  2. 接收到左转向灯打开事件

  3. 等待转向灯持续3秒

  4. 3秒后

  5. 等待开始变道事件

  6. 检测到压左车道线

  7. 等待车身进入左车道

  8. 车身进入左车道

  9. 等待开双闪灯

  10. 双闪灯打开

  11. 结束;检测到主车有以上行为将触发判定,判定失败原因有两种,一种是没有按照顺序走完每个阶段,另一种是变道时间过长;

注意:变道时长的计算是以检测到压线事件为开始,然后以车身整体进入新车道为结束; 变道判定目前是对离开区域后进行判定,判定在之前的区域中是否成功完成了变道

../_images/lane_change.png

指令响应

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

灯光

灯光,当主车未按设置开启双闪灯或转向灯,触发判定
../_images/light.png

碰撞

碰撞判定默认为全局,不支持自定义区域,主车发生碰撞后触发判定
../_images/collision.png

自定义

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

超时

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

靠边停车

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

驶出道路

当主车驶出道路,触发判定
../_images/out_of_road.png

Lua判定集

ID

项目

描述

1

添加判定集

点击此按钮即可添加一个判定集

2

保存按钮

编辑完判定集后点击此按钮即可保存判定集

3

判定集内容选区

将下方判定指标库中的判定内容拖拽至此内容选区

4

判定指标库文件夹

判定指标库文件夹,当前有原子判定和Lua脚本

5

判定集内容

将判定条件拖入到判定集内容选区即可在判定集内容选区中进行编辑

6

判定集内容列表

展现判定集内容的名称列表,选择列表中的

7

判定集名称

可在此输入判定集名称

8

单个判定模块编辑

可在此判定模块中编辑判定内容,包括判定名称,设置判定条件

车辆配置

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

主车资源展示

点击左侧的主车资源库列表,右侧即展示选中的文件夹中的主车

数据查看器

ID

项目

描述

1

数据名

显示该页面名称及数据源的名称

2

转化

数据驱动源编辑器可将导入的数据源转换成51Sim-One的数据驱动型案例,
用户可在51Sim-One提供的虚拟环境中回放案例也可使用数据驱动型案例
编辑器对转换后的案例进行编辑,进而验证修改后的自动驾驶算法

3

加载地图

点击后出现地图列表,地图列表为源自资源库/地图的内容,
用户可在资源库/地图上传所需地图,左键单击地图即可载入该地图至视图

4

数据视窗

展示了原始数据包括主车、动态元素等轨迹和路径

5

数据通道列表

列出数据源中包含的所有传感器

6

播放控制栏

从左至右依次为前播放时间,跳转至播放区间起点按钮,跳转至上一帧按钮,播放/暂停按钮
跳转至下一帧按钮,跳转至播放区间终点按钮,循环播放
设置播放区间的起点,设置播放区间的终点,
只播放用户设置的播放区间和设置数据播放速率

7

时间轴及播放区间

可以用来选择播放的时间范围,转化为案例的数据默认为此区间内,该区间默认是全部时长。
拖拽顶端和尾部的深色条也可以调整起点及终点。
调整区间后,可按住浅蓝色部分拖动调整前后位置

8

传感器活动记录

对应左侧每个传感器的活动记录,深色部分表示传感器有记录的时间帧,空白部分表示传感器无记录

9

时间轴缩放控制条

鼠标拖拽白色圆点可缩放时间轴

可视化工具

高精度渲染

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

进程控制

从左至右依次是暂停、停止、已运行时长、总运行时长、运行速率

OpenSCENARIO 支持

Sim-One支持OpenSCENARIO 1.0标准。关于OpenSCNEARIO 1.0标准可以通过官方文档进行了解: https://www.asam.net/index.php?eID=dumpFile&t=f&f=3769&token=92f25a7707bead3ac650df003bfcc89ab945287b

Action

PrivateAction

项目

场景编辑器支持

运行引擎支持

备注

SpeedAction

checker

checker

LongitudinalDistanceAction

checker

checker

LaneChangeAction

checker

checker

LaneOffsetAction

checker

checker

LateralDistanceAction

checker

checker

VisibilityAction

checker

checker

SynchronizeAction

checker

checker

同步车与参考车各自的起始点间必须有路由存在。

ActivateControllerAction

checker

checker

AssignControllerAction

checker

checker

OverrideControllerValueAction

checker

checker

TeleportAction

checker

checker

AssignRouteAction

checker

checker

所有点得置于机动车路,暂不支持非机动车路的route与沿人行道过马路的route。

FollowTrajectoryAction

部分支持

checker

Editor支持Sim-One FittedClothoid。
51Sim-One 2.0可导出FittedClothoid为官方的Clothoid。
支持三种官方曲线导入运行。

AcquirePositionAction

checker

checker

所有点得置于机动车路,暂不支持非机动车路的route与沿人行道过马路的route。

GlobalAction

项目

场景编辑器支持

运行引擎支持

备注

EnvironmentAction

checker

checker

51Sim-One 2.0支持环境的导入与导出。
51Sim-One 2.0 Editor的环境字段在openscenario字段外部,导出为osc时会替换进去。

AddEntityAction

仅支持文本编辑

checker

DeleteEntityAction

仅支持文本编辑

checker

ParameterAction

仅支持文本编辑

checker

TrafficSignalControllerAction

仅支持文本编辑

checker

TrafficSignalStateAction

仅支持文本编辑

checker

TrafficAction

cross

cross

UserDefinedAction

项目

场景编辑器支持

运行引擎支持

备注

CustomCommandAction

有限支持

有限支持

只支持51Sim-One的用户指令、发送状态、交通灯切换三种,不支持脚本

Condition

ByEntityCondition

项目

场景编辑器支持

运行引擎支持

备注

EndOfRoadCondition

checker

checker

CollisionCondition

checker

checker

OffroadCondition

checker

checker

TimeHeadwayCondition

checker

checker

TimeToCollisionCondition

checker

checker

AccelerationCondition

checker

checker

StandStillCondition

checker

checker

SpeedCondition

checker

checker

RelativeSpeedCondition

checker

checker

TraveledDistanceCondition

checker

checker

ReachPositionCondition

checker

checker

DistanceCondition

checker

checker

若alongRoute=True,必须保证本车与目标位置间有路由。

RelativeDistanceCondition

checker

checker

ByValueCondition

项目

场景编辑器支持

运行引擎支持

备注

ParameterCondition

checker

checker

TimeOfDayCondition

checker

checker

51Sim-One 2.0 Editor preview由于提前压缩了实际运行时间,
所以TimeOfDayCondition可能不会正常触发,
但实际运行时是没问题的。

SimulationTimeCondition

checker

checker

StoryboardElementStateCondition

checker

checker

TrafficSignalCondition

checker

checker

TrafficSignalControllerCondition

checker

checker

UserDefinedValueCondition

cross

cross

Positions

项目

场景编辑器支持

运行引擎支持

备注

WorldPosition

checker

checker

RelativeWorldPosition

仅支持文本编辑

checker

RelativeObjectPosition

仅支持文本编辑

checker

RoadPosition

checker

checker

RelativeRoadPosition

仅支持文本编辑

checker

LanePosition

checker

checker

RelativeLanePosition

仅支持文本编辑

checker

RoutePosition

仅支持文本编辑

checker

RouteStrategy仅支持shortest

RoadNetwork

项目

场景编辑器支持

运行引擎支持

备注

LogicFile

checker

checker

SceneGraphFile

cross

cross

TafficSignals

cross

checker

FileHeader

项目

场景编辑器支持

运行引擎支持

备注

FileHeader

cross

checker

引擎需要Catalog文件放到指定目录下

ParameterDeclarations

项目

场景编辑器支持

运行引擎支持

备注

ParameterDeclarations

仅支持文本编辑

checker

CatalogLocations

项目

场景编辑器支持

运行引擎支持

备注

CatalogLocations

checker

checker

Entities

ScenarioObject

项目

场景编辑器支持

运行引擎支持

备注

EntityObject( VehiclePedestrianMiscObject)

仅支持文本编辑

checker

EntityObject(CatalogReference)

cross

checker

ObjectController

支持SimOneDriver

checker

EntitySelection

项目

场景编辑器支持

运行引擎支持

备注

EntitySelection

cross

cross

动力学与车辆工程

51Sim-One提供自主研发的动力学仿真模块,也提供对CarSim等在内的多种动力学仿真模型的接入,用户可以根据需要自行配置。配置方式为从主车资源库中选择相应的动力学仿真模型,通过拖拽添加到主车编辑视窗中。一辆主车只支持一种动力学仿真模型。

51Sim-One动力学仿真模块

自主研发的51Sim-One动力学仿真模块接收控制信号并驱动车辆运动,给出车辆运行姿态,能够满足自动驾驶算法测试对于动力学准确性的要求。 51Sim-One动力学模块包括了车体、控制、引擎、差速器、传动、悬架、轮胎、车轮等模块共上百个参数/曲线。详细的参数、默认值、单位和含义见下列各表。

车体参数

  1. 轴距:前、后轴中心线的距离。

  2. 质心相对前轴偏移:质心到前轴中心线的距离。

  3. 质心高度:质心到地面的距离。

  4. 质心y方向偏移:质心和车辆几何中心在侧向的距离(车内载荷不均可能造成偏移)。

  5. 底盘高度:地面到车顶最高点的垂直距离。

  6. 底盘宽度:车身左、右最凸出位置之间的距离。

  7. 风阻系数:用于计算车辆坐标系下x方向空气阻力的参数(其他方向的空气阻力目前不考虑)。

  8. 车头与前轴距离:车辆最前端到前轴中心线的距离。

  9. 惯性张量:车身绕坐标轴的转动惯量。

  10. 质量:车辆的总质量。

  11. 后轴与车尾的距离:车辆最后端到后轴中心线的距离。

  12. 车轮偏移:车轮中心平面到车辆几何中心的距离(y方向偏移)。

传动系统

传动系统分为两类:燃油或者电动。

传动系统包括发动机(电机)、液力变矩器、变速箱、差速器。

传动系的传动轴具备一定的扭转弹性,SimOneVehicle使用一个扭簧-阻尼器对传动系的扭转弹性进行仿真。

燃油车模型

参数说明:

  1. 阻尼比:传动系阻尼比。

  2. 固有频率:传动系固有频率。

引擎

参数说明:

  1. 最大转速: 发动机最大转速,单位:r/min。

  2. 怠速: 发动机怠速状态下的转速,单位:r/min。

  3. 转动惯量:发动机输出轴的转动惯量,单位:kg*m^2。

  4. 扭矩曲线:发动机的输出扭矩取决于发动机转速和油门。X轴表示发动机转速,单位:r/min。 Y轴表示发动机扭矩,单位Nm。以上曲线图中的最下方曲线表示油门为0时的扭矩曲线。

液力变矩器

参数说明:

  1. 输入转动惯量: 液力变矩器输入轴的转动惯量,单位:kg*m^2。

  2. 输出转动惯量: 液力变矩器输出轴的转动惯量,单位:kg*m^2。

  3. 容量系数-转速比曲线:X轴表示液力变矩器输出轴与输入轴转速比, Y轴表示液力变矩器的容量系数的倒数。

  4. 力矩比-转速比曲线:X轴表示液力变矩器输出轴与输入轴转速比, Y轴表示液力变矩器的输出轴与输入轴力矩比。

变速箱

参数说明:

  1. 自动换挡:勾选该check box即表示使能自动换挡模式;

  2. 换挡时间:换挡时间间隔,单位:秒。

  3. 自动变速器延迟:响应延迟时间,单位:秒。

  4. 倒挡传动比:倒车模式下的传动比;

  5. 倒挡惯性滑行效率:发动机对倒车起制动作用时的变速箱效率。

  6. 倒挡驱动效率:发动机驱动车辆倒车时的变速箱效率。

  7. 前向挡位:

前向挡位数:前进挡最高挡位。

传动比:不同挡位下的变速箱传动比;

转动惯量:不同挡位下的变速箱转动惯量。

驱动效率:发动机驱动车辆前进时的变速箱效率。

惯性滑行效率:发动机对车辆前进起制动作用时的变速箱效率。

  1. 前向挡位换挡策略:

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

  1. 离合器锁止和解锁策略:

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

差速器

参数说明:

  1. 驱动方式:设置车辆的驱动方式,可以选择前驱、后驱、四驱。

  2. 差速器限滑:勾选可使能限滑。

  3. 差速器参数:

上图所示为前差速器参数,后差速器和分动器的参数意义与前差速器相同。

总是锁止: 勾选后将取消左右轮的差速功能。

模型类型:Viscous Gear对应粘性联轴节式限滑差速器。

分配到左侧力矩比例: 当左右轮的转速相同时,差速器分配到左轮的力矩比例系数。

左端输出轴转动惯量:差速器左侧输出轴的转动惯量。

右端输出轴转动惯量:差速器右侧输出轴的转动惯量。

扭转刚度:差速器锁止时对应的扭转刚度。

扭转阻尼:差速器锁止时对应的扭转阻尼。

电动车模型

参数说明:

  1. 电机数量:驱动电机数量。

  2. 驱动轮:驱动轮位置。

  3. 传动路线设置:分为-1/-2/-3/-4分别设置前左,前右,后左,后右车轮的动力传递路线。

  1. 电机参数分为转动惯量,转速上下限,延时时长及扭矩特性(电机转速vs电机扭矩的比例关系)。

  2. 差速器以及变速箱参数设置方法以及参数与燃油车模型一致。

  3. 动力传递形式:分为离合器和液力变矩器。其中包含输入输出转动惯量和结合速度以及最大传递力矩。

  4. 传动系统控制单元:电机目标总扭矩将分为二维和三维曲线表进行输入。三维曲线中,电机目标总扭矩将于车速相关,故比二维曲线的变量增加一维车速。

制动系统

制动模型:分为主缸控制,踏板力控制,踏板力+助力器控制和最大刹车力矩控制;

主缸控制模式

参数说明:

  1. M/C直径:主缸直径

  2. 制动开度与主缸压力曲线:主缸压力与制动开度的比例系数(曲线)

  3. 前传递/后传递:前后轮压力传递系数(曲线或者比值)

  4. 前后制动力矩/轮缸压力:前后制动力矩与轮缸压力的比例系数(曲线或者比值)

  5. 制动器动力学:前左,前后,后左,后右四个车轮的卡钳流量与压力的曲线输入

  6. 前/后制动执行时间常数:前后制动执行时间常数

踏板力控制模式
  1. 其他参数与主缸控制模式一致。

  2. 踏板杠杆比:踏板杠杆比例系数,将踏板输入力进行机械放大。

  3. 踏板力延迟:由于机械系统的阻尼和摩擦焊,踏板延迟时长。

踏板力+助力器控制模式
  1. 其他参数与踏板力控制一致。

  2. 输入力/输出力:(踏板力+助力器控制)制动助力曲线,将输入力进行放大。

最大刹车力矩控制模式
  1. 无参数,制动将按照线性比例的方式进行制动力矩的技术。

启动ABS参数说明:

  1. 启用ABS: 勾选以启用ABS系统;

  2. SlipOFF FrontABS: 当某个前轮的滑移率小于该值乘以-1.0时,该轮的ABS松开刹车,以防止抱死。

  3. SlipON FrontABS:ABS松开刹车后,轮子的滑移率逐渐增大,当大于该值乘以-1.0时,继续刹车。

  4. SlipOFF RearABS: 当某个后轮的滑移率小于该值乘以-1.0时,该轮的ABS松开刹车,以防止抱死。

  5. SlipON RearABS:ABS松开刹车后,轮子的滑移率逐渐增大,当大于该值乘以-1.0时,继续刹车。

  6. Cut-off speed:当车速的小于改值时,ABS不再起作用, 单位km/h。

转向系统

转向系统目前仅支持齿轮齿条形式的前轮转向,考虑了转向系统的弹性,方向盘转角和左右轮转角的对应关系通过查表得到。通过转向器齿轮的转角得到齿条位移,然后通过齿条位移得到左右车轮的转向角。

  1. 转向刚度系数:由于转向系统中弹性元件的存在,在回正力矩的作用下,车轮会产生额外的转角。

  2. 主销定位参数可以左右轮相同也可以不同,主销参数的定义如下图所示。

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

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

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

转向模型:目前支持齿轮齿条模型和循环球模型。

齿轮齿条模型

参数说明:

  1. 转向扭转刚度:转向管柱、助力系统的扭杆等在力矩的作用下会产生扭转变形,这个参数考虑了这种扭转变形的影响。

循环球模型

参数说明:

  1. 方向盘与转向臂传动比:方向盘与转向臂的传动比例系数。

  2. 转向臂-左/右轮转角曲线:转向臂与左右车轮转角的比例系数,通过曲线输入。

悬挂

前悬挂包括弹簧、防倾杆、减震器等,同时考虑了K&C特性等的影响。

  1. 防倾杆的刚度可以通过查表和频率两种方式设置。

  2. 悬挂前束角:车身前进方向与前轮平面之间的夹角。

  3. 悬挂外倾角:悬挂的空间定位导致的车轮平面和纵向垂直平面的夹角。

  4. 悬挂力偏移:地面对轮胎的力的作用点到车轮中心的距离,默认为负的轮胎半径,也就是力的作用点在地面上。

  5. 悬挂最大下沉:弹簧最大拉伸量。

  6. 悬挂最大上扬:弹簧最大压缩量。

  7. 设计载荷下弹簧压缩量:车辆静止时的弹簧压缩量,默认为0。

  8. 加速前轴抗拉升率:车辆加速时,前轴抗拉升率。

  9. 制动前轴抗点头率:车辆制动时,前轴抗点头率。

  10. 前/后轴侧倾中心高:前后轴侧倾中心高。

  11. 整车侧倾中心高:整车的侧倾中心高。

  1. 弹簧轮跳位移比:弹簧的位移和车轮跳动的位移的比值。

  2. 弹簧刚度:可以配置成图表或者常数,弹簧压缩时,压缩量为正,拉伸时,压缩量为负。

  3. 外倾角、前束角和轮跳的关系可以配置成常数或者图表。

  1. 减震杠杆比:减震器的位移和车轮跳动的位移的比值。

  2. 减震器的阻尼大小可以配置成常数或者图表。

  3. Compliance的参数可以配置成曲线或者比值。

轮胎

轮胎力和力矩的计算采用魔术公式。

  1. 转向角:车轮最大转向角。

  2. 前束角:默认的车轮前束角,前束角向内为正。

  3. 车轮半径:有载荷的情况下车轮的半径。

  4. 车轮宽度:轮胎胎面的宽度。

  5. 质量:车轮质量。

  6. 阻尼率:车轮转动受到的阻尼。

  7. 最大刹车力矩:最大刹车力矩乘以刹车输入(0到1)得到车轮的制动力矩。

  8. 最大手刹力矩:轮胎的手刹力矩。

  9. 纵向松弛最小速度:轮胎的纵向松弛最小速度。

  10. 侧向松弛最小速度:轮胎的侧向松弛最小速度。

  11. 有效滚动半径:单个车轮轮胎的滚动半径,将用于计算轮胎的线速度。

  12. 滚动速度阻力系数:轮胎在滚动过程的阻力系数。

  13. 轮胎垂向刚度:轮胎在z方向单位位移下的所受力。

  14. 滚动阻力系数:滚动阻力系数乘以轮胎载荷得到地面对轮胎的滚动阻力。

  15. 计算轮胎力方式:轮胎力计算方式有两种,查表法和轮胎魔术公式。

计算轮胎力方式
  1. 轮胎魔术公式:当轮胎力计算方式为轮胎魔术公式时,会有对应的轮胎魔术公式参数列表。

  2. 查表:当轮胎力计算方式为查表法时,参数说明如下:

查表法参数说明:

  1. 使用Fx产生的附加滚动阻力效应:可选则是否使用。

  2. 参考垂向载荷:该轮胎测试时的垂向载荷。

  3. 纵/侧向松弛长度:轮胎的纵/侧向松弛长度(曲线/比值),当选择曲线时,纵向表为轮胎松弛长度与垂直载荷比、轮胎松弛长度与滑移率比,侧向表为轮胎松弛长度与垂直载荷比、松弛长度与侧偏角比。

  4. 纵/侧向松弛长度比例常数:轮胎的纵/侧向松弛长度比例常数。

  5. 外倾角推力与垂直载荷曲线:外倾角推力与垂直载荷曲线。

  6. 回正力矩计算:计算轮胎回正力矩对应的数据表。

  7. 侧向力计算:计算轮胎侧向力对应的数据表。

  8. 纵向力计算:计算轮胎纵向力对应的数据表。

空气动力学

参数说明:

  1. 迎风面积:车辆行驶过程中的迎风面积。

  2. 空气密度: 车辆行驶过程中四周的空气密度。

空气动力学模型分为简易模型和风阻模型两类。

简易模型

参数说明:

  1. 风阻系数:(简易模型)车辆的风阻力系数。

风阻模型

参数说明:

  1. 参考长度:空气动力学参考长度。

  2. 空气动力参考点:空气动力作用在车身上的坐标点。

  3. Fx/Fy/Fz系数:x/y/z方向上的风阻偏角与阻力比例系数。

  4. Mx/My/Mz系数:x/y/z方向上的风阻偏角与阻力矩比例系数。

控制系统

手动驾驶系统

手动驾驶系统包括方向盘和键盘输入,配置主车系统时选择手动控制模式,即可使用键盘或模拟器对主车进行操控。

手动键盘控制 配置主车时可选择手动控制系统

键盘(也可以用W[油门] A[左转]S[倒车] D[右转])

车辆前进时,按S/下键,车先减速至0,再加速倒车

车辆后退时,按W/上键,车先减速至0,再加速倒车

../_images/1.png

外设方向盘控制 Logitech G29方向盘(如使用G29方向盘,需安装G29官方驱动)

当前操作为键盘控制时,踩下G29油门,则切换至G29控制,默认为自动档,空档。

当前为G29控制时,按下键盘的上键W,则切换至键盘控制。

自动驾驶系统

自动驾驶-决策规划

当前,单机版可接入自动驾驶-决策规划(Apollo),以下以接入Apollo6系统为例(可单独跑在Ubuntu环境,或者Windows Docker环境[需预先安装完毕]),具体参考产品安装手册中的Apollo算法部署

本地算法接入

运用MATLAB研发的算法在本地打包为可执行程序后可接入51Sim-One,可支持.exe/.zip格式文件

具体流程如下:

方式一 导入算法

  1. 用户在本地将算法打包为可执行程序,将可执行程序与算法依赖的文件打包成.zip文件(略)。

  2. 启动51Sim-One,打开资源库/控制器文件夹(标1),点击导入(标2)。

  1. 选择“从本地上传控制算法”。(标3)

  1. 点击浏览或将.zip文件拖入上传区域(标4)

  2. 控制器名称(标5)将自动填写。

  3. 选择控制级别(标6)自动驾驶指apollo这类高级别算法,SimOneDriver+辅助驾驶指ADAS这类需要人类驾驶员的算法。用户按需选择即可。

  4. 选择51SimOne的运行环境(标7),此示例在windows环境下运行。

  5. 程序运行入口(标8)内容需填写上传的可执行程序的名称及后缀,且须保持一致,否则测试将无法成功启动该算法。

  6. 点击创建(标9),等待上传,上传成功后控制系统出现在文件夹。

  7. 创建成功后,在资源库主车预设文件夹(标1)新建一辆主车(标2)。

  1. 双击新建的主车预设(标3)进入主车编辑器,从资源库拖拽安装该控制系统(标4)。

  1. 运行测试选择该主车即可。

本地接入的算法覆盖更新流程

  1. 打开资源库/控制器文件夹,右键点击需要更新的控制系统(标1),选择更新

  1. 在弹出的更新窗口,点击浏览或将可执行程序拖入上传区域,依次填写控制系统名称,选择运行环境、填写程序运行入口。

  2. 算法级别无法更改,若需更改请重新接入算法。(标2)

  1. 点击更新(标3),等待更新覆盖

  2. 控制系统更新成功后,运用更新前算法的主车也将自动被更新

传感器仿真

摄像头

摄像头仿真通过构建真实世界的虚拟三维模型,并根据物体的真实材质与纹理,对三维模型添加颜色与光学属性等。采用基于物理的渲染和基于物理的光照,保证光线能量守恒。

摄像头仿真的基本参数包括摄像头的外参、内参和畸变参数。这些参数会在内部转换为投影矩阵,保证世界坐标系 -> 相机坐标系 -> 图像坐标系 -> 像素坐标系整个过程的正确转换,并输出与真实相机效果一致的图像。具体参数支持如下: 1. 支持设置摄像头安装位置、角度外参仿真。 2. 支持频率、分辨率、视野范围、焦距、焦距Fx, 焦距Fy等内参仿真。 3. 支持白平衡、色彩还原、动态范围、信噪比、清晰度、伽马等物理参数仿真。 4. 支持摄像头缺陷参数仿真,包括炫光、泛光、晕影、色相差、畸变、噪点等。

摄像头仿真基于51Sim-One高质量多样化的仿真场景。摄像头仿真需要模拟各种复杂的真实天气情况。天气调节一般需要支持时间、光照、太阳高度角、云、雨、雪、雾等各种自定义设置。从而可以支持各种天气和光线条件下的摄像头仿真。

下面四幅图分别为顺光、雨后天晴光照、逆光炫光、夜晚光照渲染效果

下面四幅图分别为多云、雨、雪、雾四种天气的渲染效果

摄像头仿真每一帧的原始数据包括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结束时间)和默认的保存地址

激光雷达

激光雷达仿真的思路是根据真实激光雷达的扫描方式,模拟每一条真实雷达射线的发射,与场景中所有物体求交。根据相交点的物理材质类型和属性计算出该点的激光反射强度和噪声。以某64线、水平分辨率为0.4、最大探测距离为120米的机械旋转式激光雷达为例,该雷达每一帧会发射出57600条射线与场景中所有物体求交,对于10HZ 的雷达来说,每秒需要发射576000 条射线,如果求得的交点位于最大探测距离内,则为有效点,对于有效点,同时返回该点的位置和材质类型,并计算该点与雷达的距离以及此时雷达射线的入射角,然后使用当前材质的激光雷达强度和噪声模型,计算出带噪声的点云信息,以及对应的强度值。鉴于每秒需要扫描的雷达射线次数过多(50w+),且求交算法计算复杂度高,一般仿真时会利用CPU 并行或GPU并行计算的方式来提高扫描效率,以达到实时仿真的效果,仿真结果点云实时输出给感知系统。

激光雷达反射强度跟不同物理材质对激光雷达所使用的近红外光线反射率有关。反射强度受到障碍物距离、激光反射角度以及障碍物本身的物理材质影响。仿真时需要给场景资源设置合适的物理材质,包括各种道路,人行道,车道线,交通牌,交通灯,汽车,行人等。每一种物理材质的激光反射率都不相同。激光雷达反射强度模型可以从真实雷达扫描数据中提取,用来驱动仿真模型。对于激光雷达反射强度仿真结果,参照真实激光雷达的做法,将最终反射强度归一化到0~255。

激光雷达仿真一般需要支持以下参数配置:

  1. 安装位置和角度,包括X, Y, Z, Roll, Pitch, Yaw

  2. 工作频率,一般为10Hz~20HZ

  3. 最大探测距离,比如120m

  4. 线数和水平分辨率。当修改线数或水平分辨率后,扫描总点数会相应增加

  5. 垂直视场角设置,比如-25°~ 15°

  6. 水平视场角,当为360°时为机械扫描激光雷达。当 < 180°时,为固态激光雷达

  7. 噪声设置,支持设置点云和反射强度噪声

  8. 支持905nm激光雷达在不同光照和不同天气(雨、雪、雾)影响下的激光雷达模型

目前激光雷达仿真还支持用户自定义模型,通过在下图所示选框内填写对应的模型名称,可实现相应激光雷达模型的仿真。目前已支持“LivoxHorizon”“LivoxMid70”两款固态激光雷达模型。

../_images/CustomLidar.png

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

下图为51Sim-One中的激光雷达仿真效果展示(包括用于对比的摄像头仿真数据)

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

激光雷达参数

ID

术语

定义

1

激光雷达仿真输出

包括输出的通道,分别为网络和Dump ;网络 - 网络
的订阅通道;Dump –实例分隔、
点云颜色和输出真值(剔除遮挡面积比例);Dump频率、
Dump开始时间、Dump结束时间和默认的保存地址

毫米波雷达

毫米波雷达仿真会根据配置的视场角和分辨率信息,向不同方向发射一系列虚拟连续调频毫米波,并接收目标的反射信号。不同车辆的雷达回波强度可使用微表面模型能量辐射计算方式,由车辆三维模型以及车辆朝向、材质等计算。同一个障碍物会被多个调频连续波探测到。对于毫米波雷达目标级仿真,则可以根据障碍物的径向距离、距离分辨率和角度分辨率等信息对同一个障碍物的点进行聚类并返回最终仿真结果。

51Sim-One毫米波雷达仿真模拟毫米波雷达的原理,同时构建和孪生道路环境,模拟电磁波在孪生道路环境的传播,最终道路以及周边环境会把雷达发射出来的电磁波反射回雷达信号处理模块,雷达数字信号处理模块根据回波信号,进行频域和时域的分析,最终识别出目标障碍物,具体架构如下:

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

数字信号处理模块原理:数字信号处理模块和真实雷达数字信号处理模块一样,对差频信号进行频域分析,通过距离和速度两维FFT后,并进行CFAR,最终选择目标障碍物,对目标障碍物进一步做MTD分析,最终确认移动障碍物轨迹。

51Sim-One毫米波雷达仿真支持更改毫米波雷达安装位置,角度,探测距离,探测角度,角度和距离分辨率、噪声参数等。并且支持长距和中距波束探测功能。返回结果包括识别目标物的相对距离、相对速度、角度和RCS等

毫米波雷达参数

ID

术语

定义

1

毫米波雷达视角

垂直FOV(deg)、长距雷达横向FOV(deg)、中距雷达横向FOV(deg)

2

毫米波雷达探测距离

最小探测速度(m/s) 、最大探测速度(m/s)

3

毫米波雷达探测角度分辨率

纵向角度分辨率(deg)、长距雷达横向角度分辨率(deg)
、中距雷达横向角度分辨率(deg)

4

毫米波雷达距离分辨率

长距雷达距离分辨率(m) 、中距雷达距离分辨率(m)

GPS/IMU

GPS仿真支持更改GPS位置以及GPS噪声模型参数。可以返回主车的经纬度,速度,航向等。IMU仿真支持对主车的加速度和角速度进行仿真。IMU仿真支持模拟GPS信号丢失时主车的位置,速度、和航向的累积误差。

GPS/IMU传感器参数

ID

术语

定义

1

IMU频率

IMU更新频率,跟渲染帧率有关(Hz)

2

GPS频率

GPS更新频率, IMU会根据此频率来修正噪声

3

GPS噪声

水平位置噪声(m)、垂直位置噪声(m)、速度噪声(m/s)、
角度噪声(deg)

超声波雷达

超声波雷达被广泛运用于自动泊车中,超声波雷达仿真支持同时仿真任意多个超声波雷达,支持更改超声波雷达安装位置,角度,并且实时返回障碍物的距离。

超声波传感器参数

ID

术语

定义

1

超声波雷达探测范围

超声波雷达探测的横向和纵向的角度(deg)

物理级传感器渲染配置

上述摄像头与激光雷达的物理级数据(图像,点云)仿真对渲染能力有较高要求,因此在同时仿真多个物理级传感器时,需要配置与其数量相同的物理级传感器节点,如下图:

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

如当前agent所含有的物理级传感器节点数量少于主车配置的物理级传感器,则使用该主车运行案例时会有无法成功启动的风险。

通过点击物理级传感器节点右侧下拉菜单中的“编辑”按钮,可对物理级传感器的可视化窗口启动参数进行配置,其默认形式为: “-Windowed -resX=640 -resY=480 WinX=1280 WinY=540 -GraphicsAdapter=0 -tbbmalloc” 其中,“Windowed” 和 “fullscreen” 代表对应传感器的可视化窗口是窗口化显示或全屏显示;resX与resY确定窗口占据的分辨率大小,winX与winY表示可视化窗口在显示器上的起始坐标(当有多个显示器或视频输出设备时,可通过修改这两个参数实现将可视化窗口显示在不同屏幕上的需求);而GraphicsAdapter用于绑定当前节点至特定的显卡,用于多显卡仿真多路物理传感器的需求中。

目标级传感器

目标级仿真启动的方法

  1. 主车配置

在51Sim-One 网页主页下按如下图箭头所示步骤配置自己所需要的目标级激光雷达(或目标级摄像头),并命名为自己需要的激光雷达名称,这里以objectLidar为例

  1. 案例配置

用户可以根据自己的需求来配置不同的场景。但是主车必须是自己刚刚创建的主车,如下图1.3所示。同时为了保证案例正常通过,须按下图方式将“超时”和“启用”关掉,如图1.4所示,然后点击“保存”即可保存自己的配置

  1. 启动案例

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

Lidar目标级仿真功能说明

Lidar目标级仿真支持通过感知环境因子和感知误差来调节目标的输出信息。其中感知环境因子由环境参数因子和目标参数因子组成,主要仿真目标所处的环境改变时,目标被感知算法识别的得分。感知误差主要用来调节目标的抖动噪声。

感知环境影响因子

在Lidar目标级仿真中,关注的目标主要分为六大类:小汽车、卡车、大巴、两轮车、人、交通标志。其中两轮车包括自行车和电动车,行人包括行人和骑行的人,交通标志包括交通牌、交通灯和路边临时交通设施等。对于每类目标,都有3种影响因子用来调节目标识别的置信度,同时设置了置信度阀值,可以用来判定目标是否被识别出来并用来计算漏检率。除此之外,还支持雨雪雾等特殊天气对目标的识别影响的调节。

  1. 目标参数影响因子

在Lidar目标级仿真中,关注的目标主要分为六大类:小汽车、卡车、大巴、两轮车、人、交通标志。对于每类目标,分别设置了朝向、遮挡、距离三种影响因子用来仿真实际目标在这三种环境下的感知得分,同时设置了置信度阀值,可以用来判定目标是否被识别出来。

  1. 朝向影响因子

这里的朝向定义为激光雷达主车的前进方向和主车与目标径向之间的夹角。如下图2.1所示。当目标的朝向发生改变时,此时会影响激光雷达打到物体上点的个数,此时目标被感知算法感知的得分也会相应地发生变化,相对应的仿真输出的目标置信度也跟着变化。

遮挡影响因子

遮挡定义为采用某种采样算法,激光雷达实际打到的目标点数与无遮挡时激光雷达打到目标点数的比值。遮挡越大,打到的点越少,感知算法感知的得分就越小,相应地目标级仿真输出的目标probability就越小。

  1. 距离影响因子

距离定义为激光雷达中心与目标中心的距离。随着距离的增大,目标距离雷达越远,由于远处是激光雷达垂直角较大时打到的点,故与近处相比,点之间的距离增大,同一物体打到的点相应地变少。因此随着距离的增大,仿真输出的目标probability逐渐下降。

  1. 置信度

置信度主要用来调节目标的误检率。当仿真输出的probability 小于置信度时,此时目标信息不会输出。以此相反,如果仿真输出的probability 大于置信度时,此时目标信息会正常输出。

  1. 环境影响因子

环境影响因子目前已支持雨、雪、雾三种环境。当用户在案例配置中设置好需要的环境后,此时对应的雨、雪、雾环境因子开始起作用。默认值为0.5,随着天气状况越来越复杂(例如雨越下越大),由于此时环境对雷达激光线的吸收和散射作用变大,激光线相比于正常天气时打的点变少,此时仿真输出的目标probability逐渐下降,当probability下降到小于目标的threshold时,此时仿真不会输出目标的信息。

../_images/7.png
感知误差

感知误差包括目标位置误差、目标速度误差、目标角度误差,主要用来仿真目标在真实环境中的实际抖动。 - 位置误差:位置误差主要指的是雷达测量的目标位置与目标实际位置之间的误差 - 速度误差:速度误差主要指根据雷达数据并结合相关算法算出来的速度与目标真实速度之间的误差。 - 角度误差:角度误差主要指根据雷达数据并结合相关算法算出来的目标相对于雷达的方向角与真实目标与雷达方向角之间的误差。

摄像头(Camera)目标级仿真功能说明

与激光雷达目标级仿真相似,摄像头目标级仿真是基于真实目标检测模型的检测结果进行模拟仿真的,其环境感知因子与目标参数因子是通过真实目标检测结果而统计的调节因子。当仿真目标所受影响因子发生变化时,目标被检测的自信度会随之改变。此外感知误差主要调节目标的抖动噪声。目标级摄像头同时支持车道线仿真,支持车道线的抖动和误差设置。与激光雷达相同的影响因子有环境影响因子、遮挡影响因子、感知误差,上面已经进行了详细的描述,这里不在诠释。 下面主要介绍下目标尺寸对得分的影响。

目标尺寸影响因子

该因子反映了真实的目标检测模型中目标尺寸与目标自信度之间的关系,使得当目标尺寸影响因子发生改变时,目标的自信度会随之发生相应的变化。

融合(Fusion)目标级仿真功能说明

与激光雷达目标级仿真、摄像头目标级仿真相似,融合目标级仿真是基于真实目标检测模型的检测结果进行模拟仿真的,其环境感知因子与目标参数因子是通过真实目标检测结果而统计的调节因子。当仿真目标所受影响因子发生变化时,目标被检测的置信度会随之改变。此外感知误差主要调节目标的抖动噪声。与激光雷达相同的影响因子有环境影响因子、遮挡影响因子、感知误差,上面已经进行了详细的描述,这里不在诠释。 下面主要介绍下目标三维尺寸和目标位置对得分的影响。

目标位置影响因子

该因子反映了真实的目标检测模型中目标位置与目标置信度之间的关系,使得当目标位置影响因子发生改变时,目标的自信度会随之发生相应的变化。

目标三维尺寸影响因子

该因子反映了真实的目标检测模型中目标三维尺寸与目标置信度之间的关系,使得当目标三维尺寸影响因子发生改变时,目标的置信度会随之发生相应的变化。

融合目标级仿真启动的方法

融合目标级传感器的主车配置会与雷达和摄像头目标级传感器有所不同,配置方法如下:

选择主车后,即可配置融合目标级传感器:

step 1:选择传感器资源库。

step 2:将/ 目标级传感器/ 拖入主车。

step 3:添加融合传感器组。

step 4:选择需要进行融合的目标级传感器加入融合组。

step 5: 保存配置。

理想传感器

理想传感器可以返回主车一定范围内探测到的机动车、行人、非机动车、交通牌和交通灯等。支持按一定比例剔除有遮挡的障碍物。返回数据包括障碍物位置、朝向、包围盒、速度、加速度和角速度等。 理想传感器的输出可以通过51Sim-One的共享内存API、ROS Bridge、OSI API等获得。返回结果可直接用于决策算法的测试。 如下图所示:理想传感器仿真主要有两大功能:遮挡剔除和感知误差仿真。

相关参数

ID

术语

定义

1

理想传感器遮挡剔除

考虑障碍物遮挡关系,当某障碍物被其他物体遮挡时,
过滤掉障碍物

理想传感器启动方法

理想传感器的启动方式与目标级传感器的启动方式类似,只需把主车传感器换成主车理想传感器

../_images/perfectlidar.png

用户可以在网页上设置遮挡比例来过滤被遮挡的目标。遮挡比例的值介于[0,1]之间。遮挡比例越大,目标过滤得越多,返回的目标就越少。 感知误差的功能和目标级仿真功能一样,用户可以参考这部分的介绍来满足自己的需求。

传感器dump虚拟标注数据集

1.概览

在51WORLD虚拟标注数据集中,主要包含由51Sim-One所产生的摄像头传感器相关数据和激光雷达传感器相关数据。 摄像头传感器相关数据主要包括图像和对应的语义分割、实例分割、深度标注、目标检测标注;激光雷达传感器相关数据主要包括激光点云和对3Dbboxes标注、语义分割标注、实例分割标注。 51WORLD虚拟标注数据集内容丰富且全面,可满足用户对于图像目标检测、点云目标检测、融合目标检测、光流、实例分割、语义分割和深度预测等算法研究的需求。 为了帮助用户快速了解和使用51WORLD虚拟标注数据集,以下将分为五个章节介绍51WORLD虚拟标注数据集的使用方法。第2节将介绍51WORLD虚拟标注数据集的坐标系定义和各个坐标系的对应关系;第3节将介绍数据集的一些参数配置和标注文件;第4节将介绍数据集的目录结构;第5节将介绍该数据集同步;第6节为附录,将介绍数据集的物理材质定义、用户工具和深度学习示例。

2.数据集坐标系定义

其中所有坐标系都为右手笛卡尔坐标系,旋转顺序为内旋ZYX(Yaw, Pitch, Roll)。主车坐标系、激光雷达坐标系和世界坐标系为X朝前、Y朝左、Z朝上,摄像头坐标系为X朝右、Y朝下、Z朝前。坐标系示意图如下。

2-1 坐标系示意图

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

图2-2 坐标系位置图

3.数据集参数及标注文件说明

3.1 数据集采集参数说明

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

表3-1 Info.json的参数说明

参考字段

单位

描述

simulator

仿真器名称,本数据集由51Sim-One产生

version

51Sim-One的版本号

weather

timeOfDay为24h制的时间, 如900表示9:00,1450表示14:30。 cloudDensity、rainDensity、 showDensity、fogDensity、 humidity、dirtiness、 adhesion均为0-1的连续值, 值越大表示程度越高。

天气参数与时间参数。其中包括timeOfDay(场景时间)、cloud Density、rainDensity、showDensity、|br|fogDensity、humidity (地面潮湿度)、dirtiness(地面脏迹)、adhesion(地面摩擦力)

camera

pos的单位为m;rot的单位为rad。

摄像头的内外参信息。pos、rot分别表示相机相对主车坐标系的位置和旋转,height、width表示图像长宽;|br|fov表示相机的水平视野张角,cx、cy、fx、fy表示相机的标定内参;exposure、tint、saturation 等其他参数用于模拟相机的特性,如曝光特性、色温特性、饱和度特性等。

lidar

pos的单位为m;rot的单位为rad; range的单位为m; horizontalResolution、 leftAngle、rightAngle、 verticalAngles的单位均为角度。

激光雷达的内外参信息。pos、rot分别表示相机相对主车坐标系位置和旋转,channels表示激光雷达的线数,|br|horizontalResoluti表示激光雷达的水平分辨率、leftAngle和rightAngle表示感知范围、verticalAngles表示激光雷达每条射线的出射角度,range表示探测距离。

createTime

单位为机器时间

用于记录创建该数据集的时间。

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

目标物置信度

4.数据集参数及标注文件说明

51WORLD虚拟标注数据集中包含种类相当丰富的数据,可满足用户对于图像目标检测、点云目标检测、融合目标检测、光流、实例分割、语义分割和深度预测等算法研究的需求。数据集的总体目录结构如下,用户也可以根据自己的需求去下载相应的数据集。

51Sim-One
|— train
|— scene1

|—image_label |—pcd_label |—pcd_bin |—image |—image_segmentation |—depth |—image_instance |—flow_flagbit_forward |—flow_groundtruth_forward |—flow_flagbit |—flow_groundtruth |—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_flagbit_forward

存放前向光流标注位,用以标注对应像素点的光流有效性。文件以二进制int8形式存储,flagbit为0则说明该像素点为有效光流,为1则表示光流超出范围,为2则表示被遮挡了。

flow_groundtruth_forward

存放前向光流的真值,以float32的形式存储,每个像素点对应两个channel,channel[0]表示帧间x方向偏移,channel[1]表示帧间y方向偏移。

flow_flagbit

存放后向光流标注位,用以标注对应像素点的光流有效性。文件以二进制int8形式存储,flagbit为0则说明该像素点为有效光流,为1则表示光流超出范围,为2则表示被遮挡了。

flow_groundtruth

存放后向光流的真值,以float32的形式存储,每个像素点对应两个channel,channel[0]表示帧间x方向偏移,channel[1]表示帧间y方向偏移。

flow_panoptic

存放全景分割的图像,以颜色区分类别

video

存放视频及标签,标签通过将时间戳与视频帧进行对应

DumpSettings.json

存放数据集下载时的一些参数配置,如相机的内外参等

5.数据集同步

传感器数据集采用离线同步的方式。当传感器采用相同帧率或倍数帧率输出数据集时,所有传感器的输出会严格时间同步。在51WORLD虚拟标注数据集中,每个类型的数据都是完全同步的,精确到每一辆车的位置和朝向、每一个行人的姿态和动作。同样利用51Sim-One的传感器数据集同步机制,摄像头和激光雷达数据也可以做到完全同步,这点可以从前面的激光雷达仿真效果展示可以看到。基于完全同步的摄像头和激光雷达数据集,我们可以更方便的做感知融合算法的测试和训练。

6.附录

6.1 用户工具

为方便用户使用数据集,我们提供了两个工具,分别是数据加载工具和kitti转化工具。详见user_tools文件夹。

6.2 物理材质

本数据集标注了动静态障碍物、建筑物和环境信息等31个物理材质。物理材质及其对应的编号,颜色如下表:

表6-1 51WORLD数据集物理材质

物理材质

资源

RGB

Foliage

树、灌木、相对较高的花

107,142,35

Building

各类建筑物

70,70,70

Road

行车道

128,64,128

Pedestrian

行人,行人身上的小物品:如手机、背包和手提箱

220,20,60

Pole

交通牌或交通灯的杆子、带杆子的路灯、其他地面管状杆子

153,153,153

Car

小汽车

0,0,142

Static

未分类的静态物体:如路边公交站台、电话亭等

0,0,0

Bicycle

路上的动态自行车

119,11,32

Fence

栅栏、建筑物围栏

190,153,153

Sky

天空

70,130,180

SideWalk

人行道

244,35,232

RoadMark

车道线

240,240,240

TrafficSign

交通牌、指示牌

220,220,0

Wall

围墙

102,102,156

TrafficLight

交通灯

250,170,30

Terrain

草地、沙地、泥地、路边花坛地、花坛中矮小的花

152,251,152

Rider

自行车上的人、摩托车上的人

255,0,0

Truck

卡车、搅拌车、箱式货车

0,0,70

Bus

客车、大巴车

0,60,100

SpecialVehicle

特殊车辆:警车、救护车、消防车、火车,轻轨等

0,80,100

Motorcycle

摩托车、电瓶车

0,0,230

Dynamic

未分类的动态物体,比如小动物,也可用来标记可移动物体, 如路边的临时桌椅,行人的手提箱、婴儿车

111,74,0

GuardRail

交通栏杆

180,165,180

Ground

其他平地,水面

81,0,81

Bridge

桥梁、高架桥、天桥

150,100,100

SpeedLimitSign

限速牌

220,220,0

StaticBicycle

路边的静态自行车

169,11,32

Parking

停车场、路边停车区域

250,170,160

RoadObstacle

路上的静态障碍物:交通锥、水马、雪糕筒、隔离栏等

230,150,140

Tunnel

隧道

150,120,90

TrashCan

垃圾桶

151,124,0

6.3下载地址

百度网盘链接:https://pan.baidu.com/s/1FDeb3mcY8J79A6o6IydKOQ

提取码:5151

6.4算法示例

本数据提供了三个简单的算法示例,分别是图像目标检测算法、激光雷达目标检测算法和融合目标检测算法。其中目标检测算法为一个非官方实现的YOLOv2算法,激光雷达目标检测算法为非官方实现的PIXOR算法,融合目标检测算法为mmdetection3d框架中的MVX-NET算法。用户可根据自己的需求,选择算法示例进行开发和优化,提出自己的创新点。详见:

图像目标检测算法:https://github.com/JaHorL/yolov2-51WORLDDataset

激光雷达目标检测算法:https://github.com/JaHorL/pixor-51WORLDDataset

融合目标检测算法及激光雷达目标检测算法(mmdetection3d): https://github.com/JaHorL/mmdet3d-51WORLDDataset

V2X仿真

V2X简介

单车智能通过车上安装的传感器完成对周围环境的探测和定位功能。计算决策一方面将传感器数据进行分析处理,实现对目标的识别;另一方面进行行为预测和全局路径规划、局部路径规划和即时动作规划,决定车辆当前及未来的运行轨迹。控制执行主要包括车辆的运动控制以及人机交互,决定每个执行器如电机、油门、刹车等控制信号。

按照美国国际自动机工程师学会(SAE)划分的 L0-L5 自动驾驶等级来看,AD 先进辅助驾驶系统功能(Advanced Driver Assistance System, ADAS)仍然是主力 ;L2 正处在商业化落地发展阶段,但市场渗透率和应用规模仍然较小; L3、L4 及以上等级自动驾驶仍处在试验和区域性示范为主,规模商业化落地则需要更长的时间。

单车智能发展面临这一些局限性,其安全依然面临着巨大挑战、长尾问题限制了车辆可运行设计域、需要车辆安装多种高昂的传感器其经济性问题还未得到充分解决。在当前自动驾驶能力条件下,还无法找到安全性、可运行区域限制和经济性的平衡点,需要从本质上提升自动驾驶的能力。

车路协同通过信息交互协同、协同感知和协同决策控制极大程度上拓展单车的感知范围、提升感知能力,通过RSU和路测MEC将道路智能化,从根本上解决单车智能自动驾驶的技术瓶颈。通过车载单元和路测单元的结合提供给单车更多冗余信息,保证驾驶安全。

车路协同自动驾驶是一个由低至高的发展过程,主要包括三个阶段:(1)信息交互系统,车辆 OBU与路侧 RSU进行直连通信,实现车辆与道路的信息交互与共享;(2)协同感知,路测传感器和车载传感器信息的共享;(3)协同决策控制,利用车侧和路测的感知信息和通过路测决策部分实现对整个道路车辆以及其他基础设施的控制,提高交通运行效率和安全性。

车路协同和单车智能自动驾驶不是两个独立的部分,他们相辅相成共同完成自动驾驶车辆的上路。从组成上来看,车路协同包括单车智能的车辆和智能的道路。智能道路需要路测传感器(毫米波雷达、摄像头、激光雷达等);路测通信单元(RSU、蜂窝基站);路测边缘计算设施(MEC、云平台);路测RTK(GNSS校正);路测标牌、信号灯以及其控制单元。

因此,为了实现自动驾驶由自主式控制向协同式控制跃迁、提升行驶安全性,发展基于V2X的车联网的浪潮方兴未艾。

### V2X标准 #### 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的车联网无线通信技术支持直连通信的路侧设备技术要求》

YDT 3710-2020《基于LTE的车联网无线通信技术 消息层测试方法》、《智能网联汽车测试场设计技术要求》

中华人民共和国工业和信息化部 《基于LTE的车联网无线通信技术 安全证书管理系统技术要求》

从2018年的V2X“三跨”跨通信模组、跨终端、跨整车的互联互通应用展示开始,到2019年“跨芯片模组、跨终端、跨整车、跨安全平台”的C-V2X“四跨”互联互通应用示范活动的举办,先导示范活动让更多人感受到了C-V2X的魅力,而“新四跨”在“三跨”“四跨”的基础上,根据技术和产业发展需求,进一步深化C-V2X相关技术和标准的测试和验证,增加高精度地图和高精度定位,并结合国产密码算法,车端与路侧广播位置相关信息采用先偏转后加密的形式,探索C-V2X所面临的地图和定位法规问题的技术解决方案。同时,还采用全新数字证书格式,增加了云控平台、V2X信息演示与位置态势演示平台等新元素。

应用层标准介绍

应用层标准《合作式智能运输系统 车用通信系统应用层及应用数据交互标准》定义了合作式智能交通系统车用通信系统基础应用及基本要求,定义了应用层数据集字典、数据交换标准及接口规范。

基于LTE 的车联网直接通信系统是通过人、车、路的信息交互,实现车辆和基础设施之间、车辆与车辆、车辆与人之间的智能协同与配合的一种通信系统。车载通信系统实现了智能运输系统 的不同子系统之间的信息交互。通过与交通系统中各个参与元素的直接通信,车载通信系统可以 为包括提升道路安全、高的交通通行效率和提供各种信息服务的应用提供有效信息支持。下图给出了车辆-路侧单元(V2I)直接通信系统架构,对于路侧单元设备而言,其通常包括了以下几个子系统:

通过上图可以看出在真实的V2X运行过程中至少需要车载单元(OBU)和路测单元RSU的参与。对V2X的仿真也就是对OBU和RSU的通信过程、通信数据的仿真。每个模块又包括通信子模块、车载处理模块、定位模块。

V2X仿真总体介绍

51Sim-One V2X仿真结合其自身的优势,利用WorldEditor编辑和还原opendrive格式的城市道路信息,利用SCENARIO Editor和交通流仿真软件在路网信息的基础上生成车辆、行人、信号灯等动态信息,提供丰富的路测和车载传感器资源,这些资源都是V2X要收发的数据信息必要组成。 51-SimOne在应用层上根据CSAE标准《合作式智能运输系统 车用通信系统应用层及应用数据交互标准(2017,2020)》开发,提供除近场支付以外的其他16个应用场景,提供便捷的案例自定义编辑功能。在应用层消息方面提供基本的DataElement、DataFrame和Message,包括BSM消息、RSI消息、路测安全信息RSM、信号灯信息SPAT以及MAP信息。提供车辆的标准案例仿真,综合考虑车辆所在环境的车辆、建筑、天气状况,支持输出基于4G/5G 网络的仿真的数据传输率情况,通过API接口访问原生的ASN.1 编码的V2X二进制数据。下图为51Sim-One支持的V2X案例:

上图展示了一个SimOne V2X场景,对于场景中的每辆车、行人可设置其OBU的开关状态,用于产生基本安全消息(BSM);配置路测毫米波雷达、激光雷达、摄像头、融合传感器与路测RSU以及各传感器之间的连接关系,根据路测传感器的感知信息生成路测安全消息(RSM);根据信号灯的预配置时序生成信号灯相位消息(SPAT);根据opendrive地图及其提供的HDMap API接口生成地图消息(MAP);根据SimOne场景案例编辑功能,编辑特殊状态及特殊区域触发器,结合HDMap API获取的道路标牌、限速信息生成路测消息(RSI)。

SimOne V2X 提供3种V2X测试方案,V2X SIL测试、V2X HIL测试以及V2X VIL测试。在SIL环境下用户配置V2X案例,通过SimOne提供的API接口获得测试车辆的V2X消息,接入用户的决策算法得到对当前车辆的油门刹车方向盘的控制信号,同样通过SimOne API控制车辆的运行状态,从而验证基于V2X车路协同的自动驾驶算法性能。V2X HIL模式下用户通过API接口拿到V2X消息逐层封装,通过信号源模拟出单个或者多辆对手车PC5信号,接入真实OBU硬件验证其上位机的预警和决策算法的合理可用性。

内置资源

重要

以下资源适用于企业版账号

类别

子类

资源

案例库

危险工况

转向冲突、对向冲突、侧前方车辆插入、冲突对象突然出现、紧密跟驰

案例库

标准法规

V2X、智能网联场景库、C-NCAP2018、E-NCAP2019、C-NCAP2021

案例库

案例教学

入门案例、ASMA样例

案例库

中国汽研场景库

4种中国汽研场景库

地图场景

集成性大地图

综合测试场、亚琛2、地面停车场、法兰克福1、SampleDatabase、地下停车场、城市高速路

地图场景

原子性小地图

直道、弯道、十字路口、T字路口、环岛、高速公路

主车预设

自动驾驶-决策规划、自动驾驶-决策规划-OBU、手动控制-默认、手动控制-感知-摄像头、手动控制-理想传感器、手动控制-激光雷达、SimOneDriver控制、API控制-OBU、AEB、手动控制-物流车

主车模型

轿车、SUV、客车、货车、物流车

动态元素

普通对手车、紧急对手车、自行车、行人、动物

静态元素

标定、残缺标志牌、残污车道线、覆盖物、窑井盖、路障

路侧设备

路侧摄像头、路侧目标级摄像头、路侧激光雷达、路侧目标级激光雷达、路侧毫米波雷达、路侧目标级毫米波雷达、RSU

传感器

理想传感器、目标级激光雷达、目标级摄像头、目标级毫米波雷达、目标级超声波雷达、摄像头、激光雷达、毫米波雷达、定位传感器、OBU

交通流预设

郊区、城市、自定义

环境预设

包括晴天、多云、雾天、雨天、雪天、雨夹雪等30种类型的天气

动力学预设

SimOne-Bus、SimOne-Car、SimOne-Truck、TruckSim、CarMaker、CarSim、VIGrade

判定

原子判定

自定义、超时、停车、碰撞、压线、停车启动、变道、靠边停车、停车入库、灯光、指令响应、驶出道路

特殊区域

危险区域、拥堵区域

控制器

AEB(仅云端)、手动控制、Simulink(仅客户端)、标准ROS控制(仅客户端)、SimOneDriver、API控制、自动驾驶-决策规划(仅云端)、LKA、驾驶模拟器

渲染窗口

主驾驶位、左后视镜、中后视镜、右后视镜、中控(仅限windows系统)、仪表盘 (仅限windows系统)

系统配置

全局配置

点击页面右上角的设置,弹出全局设置弹框,全局设置包括通用设置、可视化工具、系统设置、系统信息和环境变量五个部分。

通用设置

通用设置里包括显示语言和输出结果两个选项

ID

项目

描述

1

显示语言

界面语言目前支持两种简体中文和English

可视化工具

可在可视化窗口中对案例运行的可视化窗口的参数进行设置

ID

项目

描述

1

可视化窗口选择

目前支持高精度渲染和简化渲染两种模式

2

默认观察者视角

观察期的观察视角包括跟车视角、自由视角、俯视视角和驾驶员视角

3

启动可视化窗口

目前可以选择打开和关闭,选择打开是默认选择案例运行时自动弹出可视化
窗口,选择关闭需要点击任务管理的监测视频按钮才能弹出可视化窗口

4

打开环境渲染

打开默认时启动UE高精度渲染模式时,周围的环境是可渲染的模式

系统信息

ID

项目

描述

1

CPU范围

CPU所处的范围,目前分为三档,以最低和推荐划分,会提示用户

2

测试结果

提示硬件是否符合要求

3

Memory范围

Memory所处的范围,目前分为三档,以最低和推荐划分,会提示用户

4

检测

用户更新硬件配置可点击检测按钮再次检测+

5

GPU范围

GPU所处的范围,目前分为四档,以无渲染,最低和推荐划分,会提示用户

环境变量

ID

项目

描述

1

环境变量

常用的变量值,包括对node端口的设置,observer端口设置等

分布式系统说明

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|br| -windowed : 这里还有一种选项是 -fullscreen , 决定是窗口化显示还是在当前屏幕全屏;
-resX=%d -resY=%d : 填该节点的可视化窗口占用的屏幕像素大小(注意对于摄像头传感器来说,这个分辨率并非仿真摄像头实际渲染输出的分辨率,只是可视化时的显示分辨率)|br|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

../_images/Tray.png

ID

项目

描述

1

Agent状态

包括Online和Offline

2

Agent授权状态

包括已授权和未授权

3

授权码

此Agent的授权码

4

Public IP

Agent绑定的网卡ip

5

WebIP地址和端口号

Web端 IP和端口号

6

MasterIP地址和端口号

Master的IP地址和端口号

7

各个分布式端的在线状态

绿色代表在线,红色代表离线

8

启动状态展示

包括两种状态展示success to start 和 failed to start

9

服务日志

点击此按钮跳转到Foundation的Log日志文件夹

10

停止按钮

点击此按钮,将切换Agent的在线和离线状态

11

启动按钮

当重新点击此按钮时,可将离线的Agent切换至在线状态

账户权限和角色

重要

以下测试模式内容适用于私有云企业版

当前在Sim-One私有云企业版仿真平台内的用户会在一个团队中,大家彼此能看到该团队中其他成员创建的案例、资源和运行的任务。 共享的案例、资源和运行的任务只能查看,不能编辑和删除。

角色权限列表

普通用户权限

权限类别

自己创建的

他人创建的(普通用户)

他人创建的(管理员用户)

查看案例

checker

checker

checker

查看案例(内置案例)

checker

checker

checker

查看主车

checker

checker

checker

查看主车(内置主车)

checker

checker

checker

删除案例

checker

cross

cross

删除案例(内置案例)

cross

cross

cross

删除主车

checker

cross

checker

删除主车(内置主车)

cross

cross

cross

编辑案例

checker

cross

checker

编辑案例(内置案例)

cross

cross

cross

编辑主车

checker

cross

checker

编辑主车(内置主车)

cross

cross

cross

运行案例

checker

checker

checker

运行案例(内置案例)

checker

checker

checker

停止、删除任务

checker

checker

checker

查看结果(回放案例、下载报告和数据)

checker

checker

checker

新建(案例、案例库、快测测试集)

checker

cross

checker

复制

checker

checker

checker

复制(内置案例)

checker

checker

checker

重命名(案例、案例库文件夹、
快速测试集文件夹)

checker

cross

checker

导入案例

checker

cross

checker

导入案例(内置文件夹)

cross

cross

cross

导入主车

checker

checker

checker

导出案例

checker

cross

checker

导出案例(内置)

cross

cross

cross

导出主车

checker

cross

checker

导出主车(内置)

cross

cross

cross

管理员权限

权限类别

自己创建的支持

团队其他人创建的支持

备注

查看案例

checker

checker

查看案例(内置案例)

checker

checker

任意查看

查看主车

checker

checker

查看主车(内置主车)

checker

checker

任意查看

删除案例

checker

checker

删除案例(内置案例)

cross

cross

不可删除

删除主车

checker

checker

删除主车(内置主车)

cross

cross

不可删除

编辑案例

checker

checker

编辑案例(内置案例)

cross

cross

不可编辑

编辑主车

checker

checker

编辑主车(内置主车)

cross

cross

不可编辑

运行案例

checker

checker

运行案例(内置案例)

checker

checker

任意运行

停止、删除任务

checker

checker

查看结果(回放案例、下载报告和数据)

checker

checker

新建(案例、案例库、快测测试集)

checker

checker

可在自己创建的文件夹下新建案例,可在他人创建的文件夹下新建案例

复制

checker

checker

复制(内置案例)

checker

checker

任意复制

重命名(案例、案例库文件夹、
快速测试集文件夹)

checker

checker

可重命名自己创建的,可重命名他人创建的

导入案例

checker

checker

可向自己创建的案例库文件夹导入,可向他人创建的案例库文件夹导入

导入案例(内置文件夹)

cross

cross

不可向内置文件夹导入

导入主车

checker

checker

任意导入

导出案例

checker

checker

导出案例(内置)

cross

cross

不可导出

导出主车

checker

checker

导出主车(内置)

cross

cross

不可导出

角色关系

团队里的角色分为管理员和普通用户。

管理员可以新建团队

  1. 邀请普通成员加入团队

  2. 删除团队成员

团队成员

  1. 离开团队

账户设置

点击主页右上角头像,弹出下拉选框,点击用户中心即可进入用户中心模块。

个人中心

  1. 可以修改用户的姓名

  2. 点击此按钮弹出弹框,用户可修改头像

  3. 用户修改或新增信息后,点击此按钮即可保存刚修改的信息

账户类型

  1. 点击此按钮可向51Sim-One平台申请延期

安全设置

  1. 点击此按钮跳转至账户中心完成后续忘记密码的流程

团队协作

  1. 用户默认在同一个团队中,相互可以看到团队内部成员看的任务和案例

诊断工具

产品启动配置需要正确配置参数才能够正常运行,诊断工具方便用户通过命令行窗口调取各个服务的状态。命令行工具可跨平台使用,包括windows和linux。

使用流程

  1. 在SimOne系统托盘的菜单上增加一项诊断工具,当用户点击选择之后弹出命令行的界面。

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

服务状态检测

项目名

解释

名字/Name

诊断的模块名称

连接方式/Methed

连接服务的方式,包括通讯协议、IP地址、端口号、检测命令等

状态/Status

返回当前服务的检测结果

结果/Result

如果返回异常,显示对于这个异常的补充说明

模块名

模块/Module

职责

CybertronRedis

存储用户登录相关信息(用户信息,登录失败尝试次数)

CybertronDataService

数据服务-存储场景案例、目录及地图数据,及地图碰撞体的生成

CybertronTaskServer

Web服务-任务管理,同时也存储agent,work信息

CybertronUserServer

Web服务-用户权限管理、目前通知也走这一块

CybertronAssetServer

Web服务-管理资源:主车、控制器、传感器、主车模型等等

CybertronXVIZServer

简化渲染后台数据Provider,接收CybertronVisualizer发送来的热区数据,提供简化渲染客户端推送XVIZ协议数据

CybertronAgent

后台服务-负责管理work节点

CybertronMaster

后台服务-负责管理agent节点

RoadNetworkRTService

路网服务-负责客户端请求获取路径点对应的路网信息(是否在车道内、高度)及相应的世界坐标、ST坐标转换

状态类型

状态/Status

描述

0

系统能够正常返回

非0

非0值为错误码

结果

{“code”:-1,”data”: {“authCode”:”10000”,”masterIP”:”127.0.0.1:4500”,”message”:”ok”,”state”:”AgentState_Ready”,”webIP”:”127.0.0.1:8088”}}

IP配置优化

IP设置错误或者是由于IP变更导致的SimOne无法启动,我们通过将Web IP默认配置为127.0.0.1。对于需要牵涉到算法对接或者是分布式系统的用户,可按照以下步骤修改ip配置

配置引导

在安装引导步骤中,可修改ip 配置

  1. 显示IP地址以及网卡名。

  2. 默认值为127.0.0.1。

  3. 提示单机用户用默认就可以。

  4. 选择自定义可手动输入。

全局配置-系统配置

  1. 显示IP地址以及网卡名。

  2. 选择自定义可手动输入。

Launcher-agent配置

  1. 授权码改成Agent ID

  2. Agent ID可编辑

  3. Public IP改成label

  4. 增加“应用”按钮

IP变更提示

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