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

#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.mzph.cn/news/173111.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HCIA-H12-811题目解析(1)

1、【多选题】关于动态 MAC 地址表说法正确的是? A、通过报文中的源MAC地址学习获得的动态MAC表项会老化 B、通过查看指定动态MAC地址表项的个数,可以获取接口下通信的用户数 C、在设备重启后,之前的动态表项会丢失 D、在设备重启后&…

Vue打包错误UnhandledPromiseRejectionWarning: CssSyntaxError

错误详情如下: building for production...Error processing file: static/css/app.3d5caae7aaba719754d7d5c30b864551.css (node:33011) UnhandledPromiseRejectionWarning: CssSyntaxError: /Users/yt/Documents/BM/sims-plus/sims-website/static/css/app.3d5caa…

Docker笔记-Docker搭建最新版zabbix服务端(2023-07-31)

前言 一开始问chartgpt上,搭建的思路是对的,但命令和细节有问题,最后还是依靠StackOverflow解决的。一开始在amd的linux上搭建好docker版的zabbix,但放到arm的机器上就报错了,原因是指令集不匹配,最后跑到…

C#每天复习一个重要小知识day9:常量和静态变量

常量(Const)是指在程序中定义的固定不变的数值或者对象,其值在程序执行过程中不能被修改。常量在程序中起到了固定数值或者对象的作用,使得程序的逻辑更加清晰和可维护。 Const(常量)可以理解为特殊的stat…

网关知识总结

网关(Gateway)是一种网络设备或软件,用于连接两个不同的网络或协议,并能够在这两个网络或协议之间进行数据交换。网关是网络体系结构中的重要组成部分,它可以使不同的网络或协议相互通信,实现数据的传输和处…

基于PLC的果园灌溉系统设计(论文+源码)

1.系统设计 系统示意图如图2-1所示。某一果园 共有3个灌溉区域,分别为灌溉1#区,灌溉2#区,灌溉3#区,分别使用不同湿度传感器检测湿度,用于各区域控制湿度,进行灌溉,使用相应的灌溉阀进行灌溉。这…

Go语言的学习笔记3——Go语言项目布局

Go 1.11 版本开始引入 go.mod 和 go.sum 以支持Go Module构建机制,而这种机制成为官方的依赖包管理方式。 现在Go可执行程序项目的典型布局如下所示: exe-layout ├── cmd/ │ ├── app1/ │ │ └── main.go │ └── app2/ │ └…

使用python提取出身份证的出生日期(18位和15位)

有的时候我们需要在身份证中提取出出生日期,只是我们的身份证有两种,一种是15位,一种是18位,提取的时候就有点麻烦,记录一下,直接上代码,用的是python,其他语言也可以用这个逻辑。 …

CCC联盟数字车钥匙(三)——UWB MAC时间网格同步及Hopping

本文继续上一篇UWB MAC时间网格继续介绍UWB MAC中关于时间同步相关内容。 3、MAC时间网格同步 每个测距会话的定义都基于相对的指定时钟参考 U W B t i m e 0 k UWB^k_{time0} UWBtime0k​,相对于发起者的内部时钟定义。 时钟参考 U W B t i m e 0 k UWB^k_{time0} …

关于营销的一些总结

多用图,少用点。(要关联其他文章、平台,做流量引导) 持续更新,欢迎关注。

npm的使用,为什么要用

标题:使用npm管理前端项目依赖 介绍: 在现代前端开发中,项目往往会依赖大量的第三方库和工具。而npm(Node Package Manager)作为JavaScript生态系统中最流行的包管理工具,提供了便捷的方式来管理和安装这些…

C语言第三十二弹---打印整数二进制的奇数位和偶数位

使用C语言打印整数二进制的奇数位和偶数位。 思路:分别实现奇数位和偶数位,那么二进制只有0 和 1 那么如何判断一个数的二进制位是0还是1呢?那我们就可以使用位操作符&与1比较,都是1证明该二进制位是1,为0证明该二进制位是0…

2016年五一杯数学建模C题二孩政策问题解题全过程文档及程序

2016年五一杯数学建模 C题 二孩政策问题 原题再现 多年来实施的严、紧计划生育政策对控制人口增长起到关键作用。在优生优育政策的指引下,我国人口质量显著提高,但也带来了不利影响,生育率偏低、男女比例失衡、人口老龄化情况严重等问题。2…

BetaFlight模块设计之三十六:SoftSerial

BetaFlight模块设计之三十六:SoftSerial 1. 源由2. API接口2.1 openSoftSerial2.2 onSerialRxPinChange2.3 onSerialTimerOverflow2.4 processTxState2.5 processRxState 3. 辅助函数3.1 applyChangedBits3.2 extractAndStoreRxByte3.3 prepareForNextRxByte 4. 总结…

老师组织课外活动的好处有哪些

亲爱的小伙伴们,不知道你们有没有注意到,老师除了在课堂上教学之外,还会在课外组织各种各样的活动呢?这些活动不仅好玩,而且对我们有很多好处哦!今天我就来给大家分享一下老师组织课外活动的好处吧&#xf…

geemap学习笔记014:加载本地的tif文件

前言 Colab中似乎没法直接加载云盘中的数据,但是可以先上传到GEE中的assets中,再加载本地的数据。下面是以这个数据为例进行展示。 1 上传数据 首先将本地的tif数据上传到Asset中,得到独一的Image ID。 2 加载数据 使用ee.Image加载数据 …

你听说过彩虹猫病毒吗?

你听说过彩虹猫病毒吗?虽然名字听起来很可爱,但他的威力可一点不逊于熊猫烧香,我们就来看看彩虹猫的运行过程吧。当病毒运行后,首先,他会警告你“你的电脑将被杀死并且不能再次启动,请最后再看他一眼吧”&a…

【腾讯云云上实验室】用向量数据库在金融信用数据库分析中的实战运用

一、前言 这篇文章将带领读者探索数据库的多样化解决方案及其演进历程,特别关注向量数据库的重要性和在实际项目中的应用。 通过深入剖析腾讯云向量数据库及其在金融信用数据库分析中的实战运用,为读者提供全面而实用的指南,帮助他们理解、…

【QML】StackView控制其他页面的组件

1. 应用场景 StackView当前页面的按键被触发,需要控制其他页面(前面的页面)的组件。 2. 方法 _homePage(首页)_cameraSetPage(当前页面) // 页面管理 StackView{id: _mStackViewinitialItem…

【挑战业余一周拿证】一、亚马逊云科技简介 - 第 3 节 - 云计算

第 3 节 - 云计算 在深入了解亚马逊云科技的各个部分之前,让我们先缩小视野,对云进行一个合理的定义。云计算就是通过互联网按需提供 IT 资源并采用按需付费定价模式,下面,我们将进行详细说明。 按需提供表示的是亚马逊云科技会在…