文章目录

  • 前言
  • 一、配置sendInternalDriverCtrl
  • 二、配置ModuleManager动力学模型
  • 三、外部输入请求加速度案例

前言

1、VTD在仿真领域内出色的是场景渲染,动画效果非常真实。但是他不仅仅是针对场景的仿真软件同时具备动力学控制的能力。外部可以通过TCP的方式直接替换驾驶员的部分参数,从而达部分仿真。

2、VTD加载自己的动力学模型,会通过TCP发出 RDB_DRIVER_CTRL_t 来控制自己的车辆运行。第三方可以通过TCP发送RDB_DRIVER_CTRL_t,替换VTD发出的RDB_DRIVER_CTRL_t中的值,如修改加速度参数,更改驾驶员模型的控制参数实现部分仿真。


一、配置sendInternalDriverCtrl

1、关闭sendInternalDriverCtrl,内部不再发送DriverCtrl的包。如果不关闭,则内部会发送RDB_DRIVER_CTRL_t的包,导致第三方发送的RDB_DRIVER_CTRL_t无法生效,无法成功替换目标控制参数。

下图是未关闭sendInternalDriverCtrl,用Rdbsniffer读取pkg id = 26的值的效果;

2、因此需要在TaskControl的parameterserver的设置中将RDB里面的sendInternalDriverCtrl设置为了false;

二、配置ModuleManager动力学模型

1、打开对应Project的ModuleManager.xml,配置任一动力学模型,确保内部的动力学模型参与车辆控制;
动力学模型一:

<DynamicsPlugin name="viTrafficDyn"><Load     lib="libModuleTrafficDyn.so" path=""/><Player   default="true" /><Debug    enable="false" />
</DynamicsPlugin>

动力学模型二:

<DynamicsPlugin name="viTrafficDynComplex"><Load     lib="libModuleTrafficDynComplex.so" path=""/><Player   default="true" /><Debug    enable="false"dynInput="true"dynOutput="true"CSV="false"packages="true"/>
</DynamicsPlugin>

需要注释其一动力学不生效,如:

<!--DynamicsPlugin name="viTrafficDyn"><Load     lib="libModuleTrafficDyn.so" path=""/><Player   default="true" /><Debug    enable="false" />
</DynamicsPlugin-->

三、外部输入请求加速度案例

1、需要发送的RDB结构:RDB_DRIVER_CTRL_t + RDB_TRIGGER_t;

1)按照下述结构体组成RDB包,并使用TCP的方式发送:

2)下图是具体每个包的结构体:


按照上图规则,组成有字符串Byte,再发送出去,这里就不举例怎么发了,有需要的可以单独找我,不过按照这个结构体发肯定没问题;

2、使用SCP的方式更改驾驶员的控制方式,因为我们需要输入请求的加速度,因此需要在VTD界面发送SCP指令,告诉VTD使用加速度计算出踏板开度从而控制车辆,这部分工作在VTD内部完成。

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

3、我们仔细看RDB_DRIVER_CTRL_t 结构体,会有个ValidityFlags的枚举变量,这个参数非常重要,我们通过给ValidityFlags赋不同的值,来给对应的参数置于标志位,使得参数控制有效。

4、假设RDB_DRIVER_CTRL_t需要控制车辆加速度,则validityFlags = 0x20(TGT_ACCEL) | 0x2000(ADD_ON),最终validityFlags需要发送0x2020,ADD_ON相当于替换VTD内部动力学中的TGT_ACCEL发的值;如需要控制加速度和方向盘;validityFlags = 0x20(TGT_ACCEL) | 0x40(TGT_STEEING) | 0x2000(ADD_ON),validityFlags需要发送0x2060


总结
上述控制最重要的就是validityFlags中的ADD_ON,这个相当于替换VTD驾驶员模型发出的RDB_DRIVER_CTRL_t中请求加速度的值或者其他参数,改为由我方输入的值来控制车辆。

自动驾驶仿真:如何通过TCP方式进行VTD驾驶员仿真相关推荐

  1. unit自动驾驶怎么使用_这才是L2自动驾驶系统的正确打开方式

    就实用的自动驾驶来讲,目前谈L3不现实,寥寥几款搭载L3的车型也对使用条件有很大限制,但是L2在这两年快速普及. 目前,主流车型的高配或者顶配版多数均具备了L2级自动驾驶能力.然而,很多朋友对于L2系 ...

  2. 警惕!黑客攻克自动驾驶汽车的途径、方式及危害

    来源|智车科技 文|卡车技术前线 因为电脑容易受到网络攻击,所以自动驾驶车辆(AVs)也容易受到网络攻击也就不足为奇了.本文讨论了黑客可以用来攻克自动驾驶车辆的方法.当人们把一个相互通信的AV车队想象 ...

  3. 实时障碍更新 局部路径寻优算法 矢量地图数据 局部路径规划解集_自动驾驶近期行为预测和规划的一些文章介绍(下)...

    继续介绍最近公开的文章. "Driving with Style: Inverse Reinforcement Learning in General-Purpose Planning fo ...

  4. 自动驾驶系统入门(八)- 自动驾驶仿真技术

    1.什么是自动驾驶汽车 1.1 基本概念定义 1)自动驾驶汽车是通过搭载先进的车载传感器.控制器和数据处理器.执行机构等装置,借助车联网.5G和V2X等现代移动通信与网络技术实现交通参与物与彼此间的互 ...

  5. python仿真智能驾驶_自动驾驶仿真工程师

    禁止私自转载,转载请联系作者. 想要做一个自动驾驶仿真工程师,我们要学的还远远不够. 对自动驾驶仿真工程师这个岗位,相关介绍还是少了些.有些公司是直接把它纳入到基础架构组里,有些是单独招聘这个岗位,还 ...

  6. 自动驾驶仿真类初创企业信息梳理

    引言 对于高阶自动驾驶来说,虚拟仿真测试是研发及测试验证过程中不可缺少的一个关键环节.并且虚拟仿真测试所占的比重也越来越大,虚拟仿真测试技术的发展进步,将直接影响到高阶自动驾驶技术商业化落地的时间. ...

  7. 【转】自动驾驶系统入门(八)- 自动驾驶仿真技术

    1.什么是自动驾驶汽车 1.1 基本概念定义 1)自动驾驶汽车是通过搭载先进的车载传感器.控制器和数据处理器.执行机构等装置,借助车联网.5G和V2X等现代移动通信与网络技术实现交通参与物与彼此间的互 ...

  8. 云仿真-自动驾驶商业化落地的催化剂

    引言: 汽车的ADAS功能仅需要在有限.特定的场景下进行仿真测试验证即可,而高阶自动驾驶系统需要面对海量的测试场景.在此情形下,传统的单机仿真测试呈现出算力不足.且无法实现加速测试的问题,导致测试周期 ...

  9. 自动驾驶仿真测试的两大痛点问题

    自动驾驶仿真测试是自动驾驶车辆商业化落地的一道重要关卡,仿真测试技术的发展进步将决定自动驾驶落地的时间点. 本篇文章是<九章智驾>仿真类系列的第四篇,前三篇分别是:<一文读懂自动驾驶 ...

  10. 滴滴自动驾驶:仿真,我们是这么做的

    1. 滴滴自动驾驶仿真系统简介 滴滴自动驾驶团队成立于2016年,目前已在中美多地建立了研发.测试.以及用户体验中心.团队自组建以来,在整车系统工程.传感器硬件.自动驾驶算法等方面都取得了长足的发展. ...

最新文章

  1. js传入参数为字符串问题
  2. leangoo scrum看板工具轻量协作OKR目标管理
  3. 这是一篇“团队”博客
  4. linux封装函数,libc库和封装函数 | 求索阁
  5. PyTorch基础(part8)--LSTM
  6. 【转】数据库软考笔记(一)第一章 计算机硬件基础知识笔记总结
  7. 编程心得体会_生信编程语言的经验之谈
  8. 很久的东西-也有价值
  9. 【第四章】 资源 之 4.3 访问Resource ——跟我学spring3
  10. 骁龙845_性能强大价格更吸引 超值骁龙845手机盘点
  11. Java拦截器的简单使用
  12. 如何利用MATLAB进行数据拟合?
  13. Liang-Barsky直线段裁剪算法
  14. 查看mysql中SQL的执行计划
  15. 《英语阅读教学与思维发展》读书笔记(三)
  16. html5附近餐厅,【天津】必吃的5家餐厅8种美食,让你的小长假周边游更完美!...
  17. js 获取当前日期,计算往后三个月的日期
  18. 如何优化SEO的网站结构
  19. 为什么建议大家使用 Linux 开发?爽 !!!
  20. 洛谷 P2530 [SHOI2001]化工厂装箱员

热门文章

  1. 微信小程序使用 wxparse 解析 iframe腾讯视频
  2. 海康威视录像机(DS-8632N-E8)开机卡LOGO
  3. 2019足协超级杯花落苏州 开幕战上演“京沪对决”
  4. java俄罗斯方块程序设计报告_java课程设计实验报告俄罗斯方块
  5. 测试视频软件支持的格式,支持82种视频格式!电视平台最强的本地播放器!
  6. Rootkit检测技术发展现状
  7. [转]浅谈封装中的非技术细节 - 含减肥攻略
  8. 调用Google翻译API实现文本翻译
  9. 「数字电子技术基础」6.触发器
  10. 商汤连发11款新品,把自己逼上“AI落地”极限