资讯详情

自动驾驶仿真:VTD的SCP命令详解

文章目录

  • 前言
  • 一、SCP与VTD的通讯方式
      • 1、GUI界面发送SCP命令
      • 2、Scenario发送SCP命令
      • 3、外部TCP发送SCP命令
  • 二、SCP命令格式
      • 1、VTD SCP DOC
      • 2、SCP DOC解析
      • 3、SCP命令XML格式
  • 三、常用SCP分类
      • 1、ImageGenerator
      • 2、TaskControl
      • 3、Traffic
      • 4、ModuleManager
      • 5、Information
      • 6、Other
  • 四、常用SCP命令


前言

VTD的SCP(Simulation Control Protocol )用于非周期性,即事件性信息交互。通过发送SCP命令给到TaskControl,TaskControl根据命令的内容分发到过程中,从而实现对VTD所以SCP是VTD自动化的基础。


一、SCP与VTD的通讯方式

1、GUI界面发送SCP命令

1、VTD在软件主页的底部SCP发送和接收的命令栏将显示所有发送和接收的命令栏SCP命令。 在这里插入图片描述

2、Scenario发送SCP命令

我们可以在那里Scenario界面添加车辆,通过双击车辆进入properties界面,然后在Actions界面中的SCP中添加SCP命令;

3、外部TCP发送SCP命令

1)创建48179的端口号TCP连接 2)根据SCP组包的格式如下图所示

<Player><Driver name="Ego" sendPedals="true" /></Player> 

AC9C 0100 7365 6E64 6572 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 7265 6365 6976 6572 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0039 0000 003C 506C 6179 6572 206E 616D 653D 2245 676F 223E 3C44 7269 7665 7220 2073 656E 6450 6564 616C 733D 2274 7275 6522 202F 3E3C 2F50 6C61 7965 723E

二、SCP命令格式

1、VTD SCP DOC

2、SCP DOC解析

标签分析

3、SCP命令XML格式

///当标签数量有三个时,写法 形式一: <主标签>  <一级标签 一级标签成员 = "常量/枚举值">   <二级标签 二级标签成员 = "常量/枚举值">   </二级标签>  </一级标签> </主标签>

形式二:
<主标签>
 <一级标签 一级标签成员 = "常量/枚举值">
  <二级标签 二级标签成员 = "常量/枚举值" />
 </一级标签>
</主标签>

//标签数量有二个的时候的写法
形式一:
<主标签>
 <一级标签 一级标签成员="常量/枚举值" >
 </一级标签>
</主标签>

形式二:
<主标签>
 <一级标签 一级标签成员="常量/枚举值" />
</主标签>

注意:

//标签数量有三个的时候的写法
形式一:
<Set>  
 <Trigger owner="Ego">
  <ExternalTrigger id="1">
  </ExternalTrigger>
 </Trigger>
</Set>

形式二:
<Set> 
 <Trigger owner="Ego">
  <ExternalTrigger id="1" />
 </Trigger>
</Set>

//标签数量有二个的时候的写法
形式一:
<Traffic>
 <ActionSpeedChange actor="Ego" force="true" rate="1" target="0.003" >
 </ActionSpeedChange>
</Traffic>

形式二:
<Traffic>
 <ActionSpeedChange actor="Ego" force="true" rate="1" target="0.003" />
</Traffic>

三、常用SCP分类

介绍一些常用的标签,在SCP DOC里面可以找到。

1、ImageGenerator

自然环境设置:太阳 GUI

相机设置:内参数 FOV 等 display.xml

符号设置:2D/3D 问题或图形 SymbolStd.xml

显示设置 GUI

2D 仪表盘

IG 设置:控制 switch,后处理的变量和材质

光源设置:车辆大灯 LightSrcStd.xml

鸟瞰设置

2、TaskControl

录制视频

录制数据

仿真控制:启动,停止,初始化,配置等

回放数据

TC 设置:显示仿真时间和车速,vtdParamServerAutoLoad.stp.xml

3、Traffic

交通设置:理解逻辑之后进行设置,详细看 Traffic 部分

交通等设置:直接设置 state phase

车来/行人设置:车辆指示灯

本车命令:即 SE 中可以给出的行为

路径设置

对一个实体进行设置(包括 object):位置

4、ModuleManager

传感器插件动力学插件 ,下述分类主要讲述ModuleManager对应子标签的作用 管理 Plugin

传感器设置 moduleManager.xml

动力学设置 moduleManager.xml

5、Information

询问一个实体的信息:交通参与者、物体、相机、窗口

回复一个实体的信息,对应 Query

通用仿真接口设置

RDB 设置

SCP 设置

用于自定义参数

信息

构造触点

6、Other

和 veDYNA 联合使用

声音

车在环设置

多驾驶模拟器联合

轨道交通

四、常用SCP命令

<Traffic><ActionSpeedChange actor="Ego" force="true" rate="1" target="8" /></Traffic>

<Traffic><ActionLaneChange actor="Ego" direction="1" force="true" time="3" /></Traffic>

<Traffic><ActionLaneChange actor="Ego" direction="-1" force="true" time="3" /></Traffic>

<Query entity="player" name="Ego"><PosInertial /></Query>

<Set entity="player" name="Ego"><PosInertial x="1850" y="733" hDeg="110.0"/></Set>

<SimCtrl><Stop /></SimCtrl>

<SimCtrl><Start mode="opration" /></SimCtrl>

<SimCtrl><Step size="1"/></SimCtrl>

<Symbol name="bbox" ><BoundingBox player="Ego" /></Symbol>

<TrafficLight id="221"><Mask value="0x01000000"/></TrafficLight>
//Traffic light for the vehicles: 0x10000000 = red, 0x01000000 = yellow, 0x00100000 = green. Traffic light for the pedestrians: 0x10000000 = red, 0x01000000 = green.

<Player name="Ego">
 <Light type="indicator right" state="on"/>
 <Light type="indicator left" state="off"/>
</Player>


<Path name="pathshape" type="polyline">
 <Waypoint><PosInertial player="Ego" x="6043.431" y="-2741.197" z="0"/></Waypoint>
 <Waypoint><PosInertial player="Ego" x="6046.624" y="-2697.614" z="0"/></Waypoint>
 <Waypoint><PosInertial player="Ego" x="6039.388" y="-2666.049" z="0"/></Waypoint>
</Path>

<Traffic>
 <ActionNominalTrajectory waypointSequence="ascending" startS="0" radius="25" force="true" targetS="100" delayTime="0.0" command="add" />
</Traffic>

1. Configure the video output:
<Video> <Output path="/tmp/" name="myVideo" /> </Video>
2. Start the live recording
<Video> <Start live="true"/> </Video>
3. Stop the live recording
<Video> <Stop/> </Video>

标签: ig0378传感器ig6087传感器ig5893传感器ig202传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台