概述
智能驾驶仿真软件VTD的学习资料较少,新建了一个QQ群:993708460,加群前请私聊群主(QQ:2059799865)加入。群管理需要花费时间和精力,为了鼓励管理员和群成员积极互动,入群需交¥9.99的群费。
欢迎加入,一块讨论学习!
VTD的全称是Virtual Test Drive,是德国公司VIRES的产品。该软件目前国内极少有人或者企业使用,现将使用过程中的心得记录下来。
学习任何软件和知识之前首先要清楚和理解其结构和逻辑,比如软件的操作方式所表现的设计思路,理解其设计思路之后在学习其他操作就会举一反三,顺理成章。
VTD的总体是由三个部分组成:VTD GUI—ROD—ScenarioEdit(以下简称SE),这种结构很类似于CarMaker或者PanoSim,通过大软件内部多个小软件的调用实现呈上下游或者流水线式的功能设计,更专业的说法我们称之为“V”字形开发流程。比如智能驾驶仿真软件所建立的Project经常按照以下思路进行建模仿真:场景搭建—车辆配置—传感器配置—交通参与者设置—算法开发—仿真调试。
VTD建立的工程文件结构如下图:
如上图所示,VTD所需要用到的常用工程文件如上图所示,由于VTD的操作方式并不是很人性化,该软件是德国人开发的,个人体验上不如美国人开发的软件,比较死板,因此VTD建立工程,运行工程的操作较为繁琐(VTD运行在Ubuntu环境下也增加了使用难度),为描述清楚,下面分步阐述。
1、ROD绘制地图
一般使用时需要先打开VTD,然后在GUI中的Tools下拉菜单中选择RoadDesigner(ROD),打开ROD之后新建Project(Project就是用户所建立的工程),新建Overlay(Overlay的本意为“覆盖层”,我觉得类似于PS中的图层,但是不同的是不像图层可以叠加),保存之后打开新建的Overlay,进行地图绘制。PS:地图绘制常用的操作会在我的【VTD】分类下面的其他博客中谈到。
绘制完成之后需要预览建立的地图是否符合自己的设想,同事需要生成.xodr和.osgb文件。其中.xodr需要运行database产生,.osgb需要运行OpenDRIVE生成。
2、SE设计场景
ROD设计的地图包括所有Static Content,也就是包含场景里面所需要的道路、交通标示(红绿灯、道路标识)和环境附属美化(如种植花草树木等等),但是并不包含交通场景里面需要的交通参与者或者障碍物,以及红绿灯和车辆的控制(触发、动作)。该部分功能可以用SE实现。
SE设计之后的文件是XML文件,但是具体操作时一般通过先复制其他XML场景文件,然后SE再使用这个复制的XML文件。使用复制的XML文件好处是比较方便,坏处是可能有很多不是自己需要的交通参与者,可以将其删除。然后在Properity中加载上一步所建立工程的.xodr和.osgb文件。这样相当于XML文件调用ROD中的地图,然后可以在地图上进行相关交通参与者(包括主车、交通车、障碍物、人)和红绿灯的控制,控制包括trigger和action。SE中的车辆要求必须要有internal和external两种方式,否则不能进行仿真(这也是非常无语的地方……),其他external是用户可以控制的车辆,可以用来接我们的控制算法。如果需要绘制轨迹,也可以在SE中通过pathshape绘制。
3、VIRES运行工程
以上完成之后可以在VIRES中设置传感(很反人类……),然后加载XML文件,运行工程。如果在软件外部有自己写的控制算法,那就需要用终端启动算法和VIRES联防。
最后
以上就是风中音响为你收集整理的VTD的文件结构和Project建立的思路的全部内容,希望文章能够帮你解决VTD的文件结构和Project建立的思路所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复