之前给大家介绍了一些快速上手VTD的实操方法,包括了静态路网的搭建和动态场景的配置,后续暂时搁置了VTD的教学,一方面是因为VTD软件其他功能相对比较复杂,比如传感器配置、车辆动力学、模型导入等,另一方面是因为后续的学习,需要对VTD的理论知识比较了解,怎么系统化,由简入深的给大家教学,也是我一直在思考的问题。
后续计划以每月一篇的方式向大家逐步介绍有关VTD的理论知识,和深度教学,话不多说,咱们现在开始!
一、框架内容说明
四个虚线框分别对应了VTD软件工作的4个不同阶段Preparation(准备阶段)、Configuration(配置阶段)、Runtime(运行阶段)、Post-Processing(后期处理阶段),这四个阶段组成了整个VTD工作的整个流程。
八个橙色方块对应VTD自带的8个组件:Road Desinger ROD(静态道路编辑器)、v-SCENARIO(动态场景编辑器)、v-IOS(用户界面)、v-IG(渲染演示界面)、v-TRAFFIC(交通管理)、Sound(声音管理)、v-TaskControl(任务管控)、Module Manager(模型管理)
两个黑色方块对应VTD的2种通行方式:
SCP:是以事件为基础的数据传输协议,为外部提供了软件配置和仿真管理的网络接口,可完全控制整个仿真过程。SCP是一种基于字符串数据流的接口,采用可读性强的XML格式,支持的硬件接口包括以太网(UDP/TCP)和共享内存(SHM)。
RDB:VTD和外部环境进行数据交互的数据格式,支持的硬件接口包括以太网(UDP/TCP)和共享内存(SHM),可以实现高速和低速的数据通讯。RDB传输的内容为仿真数据,涵盖了道路交通环境仿真中的所有变量的参数信息,一般可以直接用于仿真数据交互。
三个灰色方块对应的是用户组件:
Vehicle Dynamics: 用户的车辆动力学模型
3rd Party Module:第三方插件(需参照VTD第三方插件协议)
User Plug-Ins:用户的插件
圆柱体对应VTD中需要输入和输出的数据库
Mockup是外接模型,如方向盘、踏板
二、框架背后的内容
除了框架中罗列出来的流程、组件、数据库以外,我们还需要了解一些其他相关的内容,这些内容未记录在框架中,却是支撑框架不可缺少的一部分
八大进程:SimServer / TaskControl / ParameterServer / GUI/ModuleManager / Traffic / ScenarioEditor / IG
三大标准:OpenDRIVE / OpenCRG / OpenSCENARIO
工具组件:ROD / RDBSniffer / OdrGateway / Docker / RosGateway / etc
开发 SDK:Communication / Module / Traffic / IG / Content(Cars) / etc
以上就是关于VTD架构图的说明,后续的教程也会在此基础上定时更新,下期再见!