在 Carla 包中导入地图
本节介绍将地图引入 Carla 包(二进制)版本 的过程。如果您使用的是从源代码构建的 Carla 版本来导入地图,请遵循 此处 的指南。
此过程仅适用于 Linux 系统。导入过程涉及运行虚幻引擎的 Docker 映像来导入相关文件,然后将它们导出为独立包,然后可以将其配置为在 Carla 中使用。构建 Docker 镜像大约需要 4 小时和 600-700 GB 的时间。仅在第一次构建映像时才需要这样做。
在你开始之前
- 您需要满足以下系统要求:
- 确保您使用的是 Carla 的软件包(二进制)版本。如果您使用的是从源代码构建的 Carla 版本导入地图,请遵循 此处 的指南。
- 您应该至少使用地图编辑器(例如 RoadRunner)已 生成 的两个文件
<mapName>.xodr
和<mapName>.fbx
。 - 这些文件应具有相同的
<mapName>
值,以便被识别为同一地图。
Carla 包中的地图导入
1. Carla 提供了在 Docker 映像中构建虚幻引擎以及使用该映像编译 Carla 的所有实用程序。这些工具可以在 GitHub 上的源代码中找到。使用以下命令克隆存储库:
git clone https://github.com/carla-simulator/carla
2. 按照 这些说明 构建虚幻引擎的 Docker 映像。
3. 创建 input_folder
。这是您放置要导入的文件的位置。 Docker 会自动创建一个 .json
文件来描述包文件夹结构。更改 input_folder
的权限才能成功创建:
#Go to the parent folder, where the input folder is contained
chmod 777 input_folder
笔记
如果包是 手动准备的 ,并且已包含
.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. 包将在 output_folder
中生成为 <map_package>.tar.gz
. 。这是独立包,现在可以导入到 Carla 中。将包移动到 Carla 根目录(您将在其中使用地图的包/二进制版本)中的 Import
文件夹,然后从根目录运行以下脚本将其导入:
./ImportAssets.sh
7. 要使用新地图运行模拟,请运行 Carla,然后使用 config.py
文件更改地图:
cd PythonAPI/util
python3 config.py --map <mapName>
您的地图现在可以在 Carla 运行模拟了。如果你对这个过程有任何问题,你可以在 论坛 上提问,。也可以尝试在你的新地图上运行我们的一些 示例脚本 来测试它。