自动驾驶学习笔记(十一)——高精地图

2023-11-27 17:45

本文主要是介绍自动驾驶学习笔记(十一)——高精地图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

#Apollo开发者#

学习课程的传送门如下,当您也准备学习自动驾驶时,可以和我一同前往:

 《自动驾驶新人之旅》免费课程—> 传送门

《Apollo Beta宣讲和线下沙龙》免费报名—>传送门

文章目录

前言

高精地图

地图采集

底图制作

地图标注

地图格式

Tips

总结


前言

        见《自动驾驶学习笔记(七)——感知融合》

        见《自动驾驶学习笔记(八)——路线规划》

        见《自动驾驶学习笔记(九)——车辆控制》

        见《自动驾驶学习笔记(十)——Cyber通信》

高精地图

        高精地图(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、更新速度更快,道路上的围挡、画线等都要及时更新

总结

        以上就是本人在学习自动驾驶时,对所学课程的一些梳理和总结。后续还会分享另更多自动驾驶相关知识,欢迎评论区留言、点赞、收藏和关注,这些鼓励和支持都将成文本人持续分享的动力。

        另外,如果有同在小伙伴,也正在学习或打算学习自动驾驶时,可以和我一同抱团学习,交流技术。


        版权声明,原创文章,转载和引用请注明出处和链接,侵权必究!

        文中部分图片来源自网络,若有侵权,联系立删。

这篇关于自动驾驶学习笔记(十一)——高精地图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/428211

相关文章

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

SpringBoot中封装Cors自动配置方式

《SpringBoot中封装Cors自动配置方式》:本文主要介绍SpringBoot中封装Cors自动配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot封装Cors自动配置背景实现步骤1. 创建 GlobalCorsProperties

idea中创建新类时自动添加注释的实现

《idea中创建新类时自动添加注释的实现》在每次使用idea创建一个新类时,过了一段时间发现看不懂这个类是用来干嘛的,为了解决这个问题,我们可以设置在创建一个新类时自动添加注释,帮助我们理解这个类的用... 目录前言:详细操作:步骤一:点击上方的 文件(File),点击&nbmyHIgsp;设置(Setti

一文详解SQL Server如何跟踪自动统计信息更新

《一文详解SQLServer如何跟踪自动统计信息更新》SQLServer数据库中,我们都清楚统计信息对于优化器来说非常重要,所以本文就来和大家简单聊一聊SQLServer如何跟踪自动统计信息更新吧... SQL Server数据库中,我们都清楚统计信息对于优化器来说非常重要。一般情况下,我们会开启"自动更新

使用Folium在Python中进行地图可视化的操作指南

《使用Folium在Python中进行地图可视化的操作指南》在数据分析和可视化领域,地图可视化是一项非常重要的技能,它能够帮助我们更直观地理解和展示地理空间数据,Folium是一个基于Python的地... 目录引言一、Folium简介与安装1. Folium简介2. 安装Folium二、基础使用1. 创建

Flask 验证码自动生成的实现示例

《Flask验证码自动生成的实现示例》本文主要介绍了Flask验证码自动生成的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习... 目录生成图片以及结果处理验证码蓝图html页面展示想必验证码大家都有所了解,但是可以自己定义图片验证码

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

Python Excel实现自动添加编号

《PythonExcel实现自动添加编号》这篇文章主要为大家详细介绍了如何使用Python在Excel中实现自动添加编号效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、背景介绍2、库的安装3、核心代码4、完整代码1、背景介绍简单的说,就是在Excel中有一列h=会有重复

Springboot的自动配置是什么及注意事项

《Springboot的自动配置是什么及注意事项》SpringBoot的自动配置(Auto-configuration)是指框架根据项目的依赖和应用程序的环境自动配置Spring应用上下文中的Bean... 目录核心概念:自动配置的关键特点:自动配置工作原理:示例:需要注意的点1.默认配置可能不适合所有场景

Java中实现订单超时自动取消功能(最新推荐)

《Java中实现订单超时自动取消功能(最新推荐)》本文介绍了Java中实现订单超时自动取消功能的几种方法,包括定时任务、JDK延迟队列、Redis过期监听、Redisson分布式延迟队列、Rocket... 目录1、定时任务2、JDK延迟队列 DelayQueue(1)定义实现Delayed接口的实体类 (