环境:
- Ubuntu 18.04
- 源码编译搭建的Carla1 版本为0.9.12
- UnrealEngine_4.26
- Carla和UE4的版本一定要适配!!!
- python3.9
1 RoadRunner的安装和使用
a. RoadRunner的安装
参考 链接:
link
b. RoadRunner的使用参考
链接:
【手把手教你使用 RoadRunner 为自动驾驶模拟设计 3D 场景】
c. RoadRunner地图的导出
1.使用 CARLA 选项导出场景:
在主工具栏中,选择文件 -> 导出 -> CARLA (.fbx, .xodr, .rrdata.xml)
2. 在弹出的窗口中:
选中
以下选项:
- 按分割分割:按语义分割分割网格。
- 两个纹理维度的强大功能:提高性能。
- 嵌入纹理:确保纹理嵌入网格中。
- 导出到磁贴:选择磁贴的大小或仅选中一块磁贴。
保持
未选中
状态:
-
导出单个切片:生成一个包含所有地图片段的 .fbx 文件
导出成功后,应该在项目目录下的exports子目录中存在一堆贴图文件和最重要的.fbx文件和.xodr文件.
链接:
https://carla.readthedocs.io/en/0.9.12/tuto_M_generate_map/
2 Carla源码编译安装
参考链接 建议混着看
https://www.cnblogs.com/chenjian688/p/16624095.html
https://www.freesion.com/article/9313991401/
https://blog.csdn.net/weixin_42259296/article/details/120127475
https://zhuanlan.zhihu.com/p/470335288
https://carla.readthedocs.io/en/latest/build_carla/
3 Carla导入地图
1. 前期准备
在进入Carla根目录下的Import文件夹
在Import文件夹下面新建一个文件夹 这里我取名为RoadA
进入新建的文件夹,创建json文件,json文件的名字与文件夹名字相同
再将从RoadRunner中导出的地图文件夹放入新建的文件夹目录下
目录结构如下
Import
│
└── Package01
├── Package01.json
├── Map01_Tile_0_0.fbx
├── Map01_Tile_0_1.fbx
├── Map01_Tile_1_0.fbx
├── Map01_Tile_1_1.fbx
└── Map01.xodr
然后打开新建的json文件
gedit ./roadA.json
添加并修改如下代码
name为RoadRunner中导出的地图文件夹名字
source和xodr为从RoadRunner中导出的地图文件夹目录下fbx和xodr文件路径,
注意路径的根目录是新建的文件夹,即json文件所在的目录
use_carla_materials指是否使用carla提供的纹理,这里我选择了false
{
"maps": [
{
"name": "roadA",
"source": "./roadA/roadA.fbx",
"use_carla_materials": false,
"xodr": "./roadA/roadA.xodr"
}
],
"props": []
}
#参考官网
{
"maps": [
{
"name": "Map01",
"xodr": "./Map01.xodr",
"use_carla_materials": true,
"tile_size": 2000,
"tiles": [
"./Map01_Tile_0_0.fbx",
"./Map01_Tile_0_1.fbx",
"./Map01_Tile_1_0.fbx",
"./Map01_Tile_1_1.fbx"
]
}
],
"props": []
}
到此前期准备就完成了
2. 编译
进入到carla的根目录 在控制台以下输入命令
make import
等待编译完成 等待时间较长
编译完成会在
carla/Unreal/CarlaUE4/Content
目录下生成和Import目录下导入地图文件夹名字相同的文件夹。文件结构如下
RoadA
│
└── Config
├── RoadA.json
└── Maps
├── RoadA
└── Static
├── Road
├── RoadLine
├── Terrian
3.RoadRunner中打开
进入到carla的根目录 运行Carla
make launch
打开后进入界面
选择
文件 -> 打开关卡
在弹出的界面中选择make import生成的文件夹 点击到Maps目录下的文件,如图所示
打开文件需要等待一小会
打开成功后就会出现在RoadRunner中的自建地图
4 测试使用
点击右上角的运行,等待运行成功(命令行出现 登录XXXX)
然后进入到Carla/PythonAPI/examples目录下,打开终端,运行脚本
实现手动驾驶
python3 manual_control.py
效果如下
到此地图导入完成!