【矢量地图标注】Map Toolbox for Autoware

参考: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,
在左侧点击刚才添加的车道线AutowareADASMap的CollectionLane中的ADASGoSlicesLane下的ADASGoLane

再在右侧点击AddAfter按钮,在当前车道线的后侧就会多一段新的车道线,若点击AddBefore按钮,则会在前侧多一段。


在右侧点击AddAfter按钮
将多出来的新车道线的一段移动到转弯路的起点位置

调整好弯道的首尾位置后,将直线编辑为曲线,选中需要编辑为弧线路段的车道线,然后点击右侧的Subdivision


选中需要编辑为弧线路段的车道线,然后点击右侧的Subdivisiong

右侧的Lane Type选择车道线的转向是直行(STRAIGHT)、左转(LEFT_TURN)、右转(RIGHT_TURN),可以发现该条车道变为如下图示,通过中间两个坐标轴可以操作车道的弯曲程度然后点击Normal Way


Lane Type选择车道线的转向是直行(STRAIGHT)、左转(LEFT_TURN)、右转(RIGHT_TURN),可以发现该条车道变为如下图示,通过中间两个坐标轴可以操作车道的弯曲程度然后点击Normal Way
弯道编辑完后

然后点击下方的Normal way就会变成一条弯道了


点击下方的Normal way就会变成一条弯道
若要重新弄这一段,可以选中这一段中的所有小段,然后在右侧点击Merge合并,最好将每个弯道和直道都有自己的编号

矢量地图制作完成后点击右侧最下面一栏,保存Autoware ADASMap to folder,


将制作好的矢量地图以csv格式保存再来


制作完的矢量地图可以给同一个地方的其他pcd点云地图使用,但需要进行旋转平移缩放等操作

这是上一个制作完的矢量地图,经过缩放旋转平移后,放到了另一个PCD点云数据上

现在的问题是,如何获得矢量地图与点云地图之间的矩阵变换关系

第三次制作矢量地图

因为上面制作的矢量地图在李芝翔那边,出现点云地图与矢量地图对不上的问题

分析其中原因:

  • 点云地图与矢量地图的Transform信息不一致


    点云地图的Transform信息

    制作完的矢量地图的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 RoadEdge
先将起点处的一段路沿放到指定位置
选中CollectionRoadEdge中的最里面那一层ADASGoRoadEdge
在右侧点击AddAfter

红框是点击Add After之后在之前的路沿右侧新增的一段
将新增的一段路沿的尾部放到合适的位置,然后点击下方的Subdivision将路沿细分成很多个小段路沿,可以用来设置为弯路

微调每个小段
构建完成路沿一圈
  • 添加车道线
    点击右侧的Add Lane,其他细节与上面的路沿设置一致


两个车道线的合并或分支

四、西园路矢量地图制作

首先打开两个unity工程项目,其中一个加载autoware自带数据集sample_moriyama_data中的矢量地图,另一个是自己采集并采用NDT Mapping建图后得到西园路与西园五路的点云地图。

加载Autoware自带数据集sample_moriyama_data中的点云地图与矢量地图

  • sample_moriyama_data中提供了点云地图pcd文件与矢量地图csv文件


点云地图point map
矢量地图vector map
  • 在Unity中通过autoware的插件AutowareADASMap加载矢量地图


    通过点击绿色的按钮加载ADASMap所在的文件夹目录
  • 加载完后,可以在左侧看到数据集内部制作的几种高精地图元素:
    车道线Lane、电线杆Pole、红绿灯Signal、RoadSign、Stopline、WhiteLine、RoadEdge、CrossWalk、RoadMark。


    sample_moriyama_data中的vector map文件夹
  • 一开始初学熟悉这个地图标注工具Maptoolbox的时候,一时摸不到头脑,可以通过点开左侧AutowareADASMap中的每一个Collection组件


  • 车道线Lane



    弯曲程度通过小段车道线来进行极限逼近

    而这些编号会在最后保存矢量地图后工具会自动生成,无需自己进行编辑,而在自己编辑的状态中是没有编号的,如图所示


  • pole 电线杆/路灯杆


    pole 电线杆/路灯杆
  • Signal 红绿灯


    红绿灯
  • RoadSign交通标识牌


  • StopLine停止线
    一般位于人行横道处


    红色停止线
  • WhiteLine 白线或者黄线,用于分隔车道线,或者分隔人行横道线


    WhiteLine
  • RoadEdge 路沿


    蓝色路沿
  • CrossWalk人行横道线

人行横道线

绘制人行横道是一个组装的过程,由许多个CrossWalk拼接而成

由许多个CrossWalk拼接而成
  • RoadMark路标
    路面上的标识是通过RoadMark组装而成


    路面上的左转直行慢行标识
右转车道标识
直行车道标识1
直行车道标识2
直行左转标识
直行右转标识
圆盘标识
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容