RoadRunner中自建地图并作为Carla Map笔记

导语

最近在做Carla的仿真,之前一直在官方提供的地图中训练测试,因为项目需要,考虑自己建一个地图进行训练测试。刚刚终于走通了整个流程,从RoadRunner到CarlaUE4,中间还是有一些坑的。在这里做一个简要总结,以防未来使用忘记。

本篇的所有内容都是基于以下系统配置:

  • Ubuntu 16.04
  • GTX 1070
  • Carla 0.9.6
  • Unreal Engine 4.22
  • RoadRunner 2019.1.4

本篇分为RoadRunner和CarlaUE4两个部分分别排坑。

RoadRunner安装和使用

RoadRunner是VectorZero公司近期研发的一款地图绘制软件,支持进行比较专业的行车地图绘制,由于与Carla官方应该是有合作关系,Carla的默认地图均是采用RoadRunner绘制的,因此在RoadRunner中绘制的地图可以非常简便的导入Carla环境进行直接运行测试,比Opendrive等方式的导入要方便不少。在Carla官方给出的个人定制地图教程中,也大力推荐RoadRunner作为地图定制软件。

RoadRunner下载地址

首先需要提醒,RoadRunner是一款商业软件,只对高校提供学术License

下载完之后,按照官方安装教程安装即可,不同系统下载不同的包,没有什么坑。安装结束后,应该需要输入License了,如果没有License,只能输入空格进入试用版(Demo Version),需要注意,试用版只能体验画图的操作,但不能保存和导出任何地图,昨天下午画了好大一张图,结果不能保存,f**k。

关于license问题,学生可以委托导师给他们官网上提供的邮箱发送一封学术License申请邮件,这个活需要导师来做,我昨晚发了邮件但被告知需要Professor联系。。。学术License是免费的,否则需要巨资购买了。

RoadRunner中自建地图并作为Carla Map笔记_第1张图片

成功激活之后,界面应该如上图所示,注意主界面右下角是没有Demo Version字样的,否则将不能保存和导出。然后就是按照某tube上的各种教程进行路网绘制了,例如大致画了画如下图:

RoadRunner中自建地图并作为Carla Map笔记_第2张图片

这里需要注意的是,上图中的蓝虚线框(通过点击工具栏World Setting Tool调出的)需要覆盖整张建好的地图,并“Fit Bounds to Selection”, 否则会出现导入Carla后地图不齐全的问题。接着,满意后可以保存场景并导出Carla的fbx和OpenDrive文件,导出范围就按照蓝色框范围即可。唯一需要注意到是Export Individual Tiles一定不能勾选,否则会到处多张分割后的地图,还需要在UE4中自己拼接起来。

导出成功后,应该在项目目录下的exports子目录中存在一堆贴图文件和最重要的.fbx文件和.xodr文件,需要注意如果电脑配置不高,尽量不要在地图中加入过多的没有实际意义的装饰性模型,也不要将地图建造过大,亲测1070的显卡当.fbx大于200M时会在UE4中导入失败,直接死机。

 

CarlaUE4中的导入与运行

首先建议按照官方教程中的步骤一步一步来,基本没有什么坑,有一个坑在 “3.1.1 Plugin Installation Rebuild in Ubuntu" 里面,这里给的命令运行是找不到目录的,需要改成:

$UE4_ROOT/GenerateProjectFiles.sh -project="/你的绝对路径/carla/Unreal/CarlaUE4/CarlaUE4.uproject" -game -engine

即重编译的时候需要将路径改为绝对路径下的CarlaUE4.uproject。

打开这个项目之后应该是默认的Town03环境,我们需要导入我们刚刚构建的地图。在导入之前,需要在/carla/Unreal/CarlaUE4/Content/Carla/Maps目录下新建一个自己地图的文件夹。

接着,点击导入,找到之前的.fbx文件,如果导入失败,有两种可能,一个是之前重编译的时候没有按照官方的说明将RoadRunner的Plugin编译进UE4 plugins里面,另一个可能是地图太大,亲测GTX 1070卡导入200M地图黑屏卡死,导入5M地图轻轻松松,因此在画图的时候就要注意不要将地图建的面积太大。

接着,按照编译-build-启动的顺序依此进行,如果顺利的话应该之前的Maps文件夹下自己的地图子文件夹中会多出两个文件,一个是.umap, 一个是.uasset文件,初次启动时启动的过程会比较慢,耐心等待后会弹出和CarlaUE4.sh命令相似的服务器端界面,如下图:

接着直接打开manual_control.py进行测试,可以流畅的控制车辆在新构建的地图中玩耍了!效果如下所示:

这里我们并没有生成其他陪练车辆,如果需要生成陪练车辆,则需要按照之前官方教程中的Nav文件的生成教程一步一步进行。

 

 

 

 

 

 

 

 

你可能感兴趣的:(仿真)