参考:MapToolbox Github网址的README文档
引言
此unity 插件工具箱用于Autoware中创建lanelet2地图
配置要求
- Windows10环境,1803或更新的版本
- Git
- Unity2019.4.0或更新版本
注:1.先去Unity官网注册登录并下载Unity Hub 2.4.9
或者去这里
2.然后在Unity Hub中安装Unity(默认推荐是2019.4.21f1c1 LTS长期稳定版)
3.等待安装完毕unity以及相应的VisualStudio等内容后创建一个项目AutowareMapCreate
打开unity后界面如下:
导入Map Toolbox
-
下载Map Toolbox
从github上下载Map Toolbox的工具包,下载后并解压
-
打开Package Manager包管理器
在Unity的界面,点击Window选项中的Package Manager,并且点击加号中的"Select package on disk"
-
前往本地下载并解压好的Map Toolbox的地方,打开根目录中的package.json文件就可以加载进来了
-
加载成功后会显示Map Toolbox相关信息
-
在SampleScene中创建Lanelet2Map
-
加载地图的pcd文件
在Assert区域中加载autoware\data\map\pointcloud_map下的pcd点云数据。
将所有加载进来的内容全选拉到左边工程中就可以在中间看到点云数据
园区点云地图PCD文件
添加车道线
点击右侧的Add Lane
通过右上角来调整地图操作的视角,将人工建立的道路元素与点云地图进行对齐
- 路沿RoadEdge两条
- 单行线Lane两条
-
道路分割线White Line一条
第二次重新绘制
-
首先锁定右上角处的为,固定z朝上x朝右的俯视图视角,然后点击边上的小锁的形状,将其锁定,这样就只会操作xy方向上的编辑
- 添加白线 white line用于分隔车道
添加路沿 road edge
-
添加车道线
在路沿road edge和白线white line中间添加车道线lane,注意车道线的方向
- 添加弯道
首先在左侧点击刚才添加的车道线AutowareADASMap的CollectionLane中的ADASGoSlicesLane下的ADASGoLane,
再在右侧点击AddAfter按钮,在当前车道线的后侧就会多一段新的车道线,若点击AddBefore按钮,则会在前侧多一段。
调整好弯道的首尾位置后,将直线编辑为曲线,选中需要编辑为弧线路段的车道线,然后点击右侧的Subdivision
右侧的Lane Type选择车道线的转向是直行(STRAIGHT)、左转(LEFT_TURN)、右转(RIGHT_TURN),可以发现该条车道变为如下图示,通过中间两个坐标轴可以操作车道的弯曲程度然后点击Normal Way
然后点击下方的Normal way就会变成一条弯道了
矢量地图制作完成后点击右侧最下面一栏,保存Autoware ADASMap to folder,
将制作好的矢量地图以csv格式保存再来
制作完的矢量地图可以给同一个地方的其他pcd点云地图使用,但需要进行旋转平移缩放等操作
现在的问题是,如何获得矢量地图与点云地图之间的矩阵变换关系
第三次制作矢量地图
因为上面制作的矢量地图在李芝翔那边,出现点云地图与矢量地图对不上的问题
分析其中原因:
-
点云地图与矢量地图的Transform信息不一致
采用了上一次点云地图制作的矢量地图。用于新采集的点云地图数据上,尺寸对不上,而之前的点云数据是在旧的激光雷达驱动采集的激光点云通过NDT建图得到的,旧的激光雷达驱动在比例上差很多
因此需要根据新的点云地图制作新的矢量地图
-
首先加载进来5月7日采集的激光雷达数据bag包通过autoware中的NDT Mapping建好的点云地图(ins-lidar-camera-autoware-2010507.pcd)到maptoolbox中,然后将右侧Transform中的Position与Rotation修改为0,Scale保持1不变,并将右上角的视角调整为俯视图视角,上方为z轴,右侧为x轴。
绘制矢量地图
-
先将所有的路沿Road Edge添加好
-
添加车道线
点击右侧的Add Lane,其他细节与上面的路沿设置一致
两个车道线的合并或分支
四、西园路矢量地图制作
首先打开两个unity工程项目,其中一个加载autoware自带数据集sample_moriyama_data中的矢量地图,另一个是自己采集并采用NDT Mapping建图后得到西园路与西园五路的点云地图。
加载Autoware自带数据集sample_moriyama_data中的点云地图与矢量地图
-
sample_moriyama_data中提供了点云地图pcd文件与矢量地图csv文件
-
在Unity中通过autoware的插件AutowareADASMap加载矢量地图
-
加载完后,可以在左侧看到数据集内部制作的几种高精地图元素:
车道线Lane、电线杆Pole、红绿灯Signal、RoadSign、Stopline、WhiteLine、RoadEdge、CrossWalk、RoadMark。
-
一开始初学熟悉这个地图标注工具Maptoolbox的时候,一时摸不到头脑,可以通过点开左侧AutowareADASMap中的每一个Collection组件
-
车道线Lane
而这些编号会在最后保存矢量地图后工具会自动生成,无需自己进行编辑,而在自己编辑的状态中是没有编号的,如图所示
-
pole 电线杆/路灯杆
-
Signal 红绿灯
-
RoadSign交通标识牌
-
StopLine停止线
一般位于人行横道处
-
WhiteLine 白线或者黄线,用于分隔车道线,或者分隔人行横道线
-
RoadEdge 路沿
CrossWalk人行横道线
绘制人行横道是一个组装的过程,由许多个CrossWalk拼接而成
-
RoadMark路标
路面上的标识是通过RoadMark组装而成