#Apollo开发者#
学习课程的传送门如下,当您也准备学习自动驾驶时,可以和我一同前往:
《自动驾驶新人之旅》免费课程---> 传送门
《Apollo Beta宣讲和线下沙龙》免费报名--->传送门
文章目录
前言
高精地图
高精地图(High Definition Map)按照功能划分为4个图层:
静态图层:保存道路的3维建模信息,通常是道路的测绘数据。
定位图层:通过原始的点云地图,提取出一些特征如电线杆、建筑物、交通标志等。用来做点云匹配定位。
语义图层:提供道路的结构化信息,这部分信息定义了车道线、交通标志、交通规则信息等。
动态图层:实时动态的更新一些信息如:当前路況、实时交通规则、前方车祸等。
地图采集
基于激光雷达:能够准确获取位置信息,光照变化影响不大。
基于视觉:能够提供颜色,纹理信息,对光照变化敏感,得不到准确深度信息。
地图采集车获取到的点云record文件为PCD格式,每个pcd文件代表一帧点云,如下图所示:
底图制作
目前主流的方法是通过SLAM算法对道路进行建模,得到一块区域的地图数据,然后进行标注。视觉SLAM算法有:ORB-SLAM、SVO、DSO等。激光雷达SLAM算法有:NDT、Cartographer·、LOAM系列算法等。
NDT制图是对每2帧的PCD文件进行配准,得到校正后的位置信息,然后拼接这2个点云,如下图所示:
重复上述步骤直到做出整张地图,最终点云地图的效果如下:
地图标注
常见的地图标注工具有:Roadrunner、Vector Map Builder(autoware)、LGSVL Map Annotation、Autocore Map Toolbox、Assure mapping tools等。
Roadrunner是一款商业软件,功能非常完善,它的工作界面如下图所示。它可以编辑道路,支持导出格式opendrive,apollo,autoware,可以输出模型,供仿真器使用。
地图格式
目前还没有统一的高精度地图格式,主流的地图格式包括:Opendrive、Lanelet2、VectorMap等。Opendrive是德国汽车制造商奥迪、宝马、戴姆勒、保时捷大众成立的组织,目的是标准化车辆开发和验证过程中的数据交换。Lanelet2 是一个 C++ 库,用于在自动驾驶环境中处理地图数据。VectorMap是一种矢量地图,目前自动驾驶系统普遍采用采样的方式来表征高精度地图。
Apollo高精度地图通过proto定义,每个proto代表一种地图元素,如下图所示:
Tips
高精地图的特点:
1、精度达1m,而传统地图精度仅10m左右
2、数据文件可能需要上百G的存储
3、更新速度更快,道路上的围挡、画线等都要及时更新
总结
以上就是本人在学习自动驾驶时,对所学课程的一些梳理和总结。后续还会分享另更多自动驾驶相关知识,欢迎评论区留言、点赞、收藏和关注,这些鼓励和支持都将成文本人持续分享的动力。
另外,如果有同在小伙伴,也正在学习或打算学习自动驾驶时,可以和我一同抱团学习,交流技术。
版权声明,原创文章,转载和引用请注明出处和链接,侵权必究!
文中部分图片来源自网络,若有侵权,联系立删。