本节描述将地图获取到CARLA的包(二进制)版本中的过程。如果您使用的是从源代码构建到摄取映射的CARLA版本,那么请遵循此处的指导here。
此进程仅适用于Linux系统。导入过程包括运行虚拟引擎的Docker镜像来导入相关文件,然后将它们导出为一个独立的包,然后可以配置为在CARLA中使用。Docker镜像大约需要4小时和600-700 GB来构建。这只在第一次构建映像时需要。
开始之前
需要满足以下系统要求:
Docker的64位版本在Ubuntu 16.04+
至少8GB内存
用于构建容器映像的可用磁盘空间至少为700 GB
Git版本控制
确保您使用的是CARLA的包(二进制)版本。如果您使用的是从源代码构建到获取地图的CARLA版本,那么请遵循此处的指导here。
应该准备好从地图编辑器(如RoadRunner)生成的两个文件<mapName>.xodr和<mapName>.fbx。
为了被识别为相同的地图,这些文件应该具有相同的<mapName>值。
CARLA包中的地图获取
1.CARLA提供了在Docker镜像中构建虚拟引擎以及使用该镜像编译CARLA的所有实用程序。这些工具可以在GitHub上的源代码中找到。使用以下命令克隆存储库:
git clone https://github.com/carla-simulator/carla
2.按照以下说明(these instructions)构建虚幻引擎的Docker镜像。
3.创建一个input_folder。您将在此处放置要导入的文件。Docker会自动创建一个描述包文件夹结构的.json文件。更改input_folder的权限,以便成功创建此文件夹:
#Go to the parent folder, where the input folder is containedchmod 777 input_folder
注意:如果包是手动准备(prepared manually)的,并且已经包含一个.json文件,则不需要这样做。
4.创建一个output_folder。这是Docker镜像在获取地图后写入输出文件的地方。
5.导航到~/carla/Util/Docker。这是获取脚本所在的位置。该脚本需要input_folder和output_folder的路径以及要获取的包的名称。如果提供了.json文件,则该文件的名称是包名,如果没有提供.json,则名称必须是map_package:
python3 docker_tools.py --input ~/path_to_input_folder --output ~/path_to_output_folder --packages map_package
如果没有提供参数--packages map_package, Docker映像将生成一个CARLA包。
6. 包将以<map_package>.tar.gz的形式在output_folder中生成。这是现在准备导入CARLA的独立包。将包移动到CARLA根目录下的Import文件夹(在包/二进制版本中使用地图),并从根目录运行以下脚本导入它:
./ImportAssets.sh
7. 要使用新地图运行仿真,请运行CARLA,然后使用config.py文件更改地图:
cd PythonAPI/utilpython3 config.py --map <mapName>
地图现在已准备好在CARLA中运行仿真。如果您对该过程有任何疑问,可以在论坛上提问,也可以尝试在新地图上运行我们的一些示例脚本进行测试。