2021-10-09

  • Post author:
  • Post category:其他




VTD 结合 Carla 自定义地图进行仿真测试

最近实验室的项目要进行实际场景下的自动驾驶仿真测试,就是把实际的自动驾驶测试场进行建模放进仿真器里面进行仿真。主要工作分为两个部分:进行场景建模和路网搭建。仿真器用的是

Carla

,场景使用点云建模,

.oxdr

路网文件使用

VTD



ROD

创建,然后把

场景模型



oxdr

路网一起导入到Carla。期间也走了一些弯路,此贴记录一下期间的工作和经验。



场景建模

场景建模我们采用点云的方式创建,先使用相机进行场景采集,再利用一些三维建模软件进行三维点云重建。

unreal engine 4.26

出了

点云插件(LiDAR Cloud Support)

,可以将点云模型直接导入到ue4,不过实测可视化效果不好,还是需要用建模软件优化点云。



opendrive路网创建

我们是按照实际道路1:1画的路网,这样可以避免导入Carla时再进行缩放操作。ROD绘图界面支持放背景图片,可以放一张实际道路俯视图,然后对照着画。

网上关于VTD软件使用的相关资料甚少,刚开始画很艰难(主要是也不好用),使用的时候要注意随时保存,这软件经常卡闪退,否则一条路得画好几遍。。ROD的画图功能界面很简洁,就一个line/spline和生成圆弧操作,所有的线都只能这么画,让一个用习惯CAD的人看的一脸懵X。这里面踩了几个坑:

1、如果利用spline拟合弯道在路口一定要连接上直线,否则是不能在junction下创建path的,junction要求track必须要有line跟junction连接;

2、要注意lane的属性,reference line 也要使用driving属性;

3、遇到不会画的路口 岔路啥的,可以右键add till,里面有内置的一些路网, 看它们的格式是什么样的;或者利用生成宏的方式快速生成道路,再查看track的详细设置;

4、Carla应该是对opendrive版本有要求的,最好export为1.4版本。



导入到Carla

Carla 手册上面写的还算简洁,一共有3种方法,第一种是make import,第二种是使用roadrunner插件,第三种是手动导入。

Carla要求的map格式为

FBX

,fbx文件要和oxdr文件以及Carla的map文件名称一致。Carla里的map可以复制一个basemap也可以复制townmap然后把不需要的场景删除。

我是使用第三种方式导入的,刚开始使用第一种方式,make import 总是报各种错,然后自动打开

import.py

文件,就进行不下去了。后面使用第三种手动导入成功进行。如果只是想可视化路网,可以把xodr文件放置在

pythonAPI

文件夹下面,打开Carla,然后执行

config.py -x filename.xodr

,这样Carla就会生成路网,其中道路两侧会自动生成挡板,是为了防止vehicle在路上掉下去,可视化效果如下。

在这里插入图片描述

如果要是和场景配合,就要把可以将文件放置在maps\opendrive文件夹下面,然后导入一个opendrive actor,选中opendrive actor 在下面菜单栏选 generate ,actor就会到opendrive文件夹下面找到与地图名称相同的.oxdr文件,把路网导入进来,导进来的路网是一串连续的点。

在这里插入图片描述



版权声明:本文为shengkunwang原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。