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

#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.rhkb.cn/news/208349.html

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

相关文章

SpringCloudSleuth+Zipkin 整合及关键包汇总

背景 整合了一下 SpringCloudSleuth Zipkin,本来是很简单的东西,但是最终导出依赖包时没注意,导致目标服务始终没有被纳入 Zipkin 的链路追踪中,本文记录这个过程及关键依赖包。 部署zipkin 官网下载最新的 zipkin 可执行包&a…

使用trigger-forward跨流水线传递参数

参考文档:https://docs.gitlab.com/ee/ci/yaml/#triggerforward 今天给大家介绍一个gitlab CI/CD的关键字 - forward,该关键字是一个比较偏的功能,但同时也是一个很实用的功能,我们通过在gitlab的ci文件中使用forward关键字&#…

软件测试人员掌握哪些技术可以立马跳槽涨薪?

1、文档能力:各种文档的编写能力 因为不管是功能测试工程师还是自动化测试工程师都必须要跟各种文档打交道,所以最基本的需要掌握一些常用的文档编辑的使用,比如说 常用编写测试用例的工具:excel表格或者wps等 编写需求分析需要…

2分图匹配算法

定义 节点u直接无边,v之间无边,边只存在uv之间。判断方法:BFS染色法,全部染色后,相邻边不同色 无权二部图中的最大匹配 最大匹配即每一个都匹配上min(u, v)。贪心算法可能导致&…

redis运维(二十二)redis 的扩展应用 lua(四)

一 最佳实践 ① 铺垫 最佳实践:1、把redis操作所需的key通过KEYS进行参数传递2、其它的lua脚本所需的参数通过ARGV进行传递. redis lua脚本原理 Redis Lua脚本的执行原理 ② 删除指定的脚本缓存 ③ redis集群模式下使用lua脚本注意事项 1、常见报错现象 C…

【开源】基于JAVA语言的考研专业课程管理系统

项目编号: S 035 ,文末获取源码。 \color{red}{项目编号:S035,文末获取源码。} 项目编号:S035,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 考研高校模块2.3 高…

接口性能测试 —— Jmeter并发与持续性压测

接口压测的方式: 1、同时并发:设置线程组、执行时间、循环次数,这种方式可以控制接口请求的次数 2、持续压测:设置线程组、循环次数,勾选“永远”,调度器(持续时间),这种…

【安装指南】MySQL和Navicat下载、安装及使用详细教程

目录 ⛳️1.【MySQL】安装教程 1.1 获取下载包 1.2 MySQL安装 1.2.1 MySQL工具安装 1.2.2 MySQL环境变量 1.2.3 验证MySQL安装成功 ⛳️2.【Navicat-v15】的安装和无限使用 ⛳️3.【测试Navicat连接MySQL】 ⛳️1.【MySQL】安装教程 1.1 获取下载包 前往官网获取压缩包…

C++入门篇(零) C++入门篇概述

目录 一、C概述 1. 什么是C 2. C的发展史 3. C的工作领域 4. C关键字(C98) 二、C入门篇导论 一、C概述 1. 什么是C C是基于C语言而产生的计算机程序设计语言,支持多重编程模式,包括过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计和设计模式…

UIkit-UIAlertContent

简单Demo //注意!!!必须放在viewController的viewDidAppear里面,viewDidLoad里面不行 - (void)viewDidAppear:(BOOL)animated {// 创建 UIAlertControllerUIAlertController *alertController [UIAlertController alertControll…

MySQL系列 - 数据类型

MySQL是一种常用的关系型数据库管理系统,它支持多种数据类型,包括整数、浮点数、字符串、日期和时间等。在本文中,我们将介绍MySQL中常用的数据类型及其用法。 MySQL数据类型介绍: 1、整数类型: MySQL提供了多种整数…

Ubuntu 22.04安装Go 1.21.4编译器

lsb_release -r看到操作系统版本是22.04,uname -r看到内核版本是uname -r。 sudo wget https://studygolang.com/dl/golang/go1.21.4.linux-amd64.tar.gz下载编译器。 sudo tar -zxf go1.21.4.linux-amd64.tar.gz -C /goroot将文件解压到/goroot目录下,这个命令…

【虚拟机】在VM中安装 CentOS 7

1.2.创建虚拟机 Centos7是比较常用的一个Linux发行版本,在国内的使用比例还是比较高的。 大家首先要下载一个Centos7的iso文件,我在资料中给大家准备了一个mini的版本,体积不到1G,推荐大家使用: 我们在VMware《主页》…

【EasyExcel实践】导出多个sheet到多个excel文件,并压缩到一个zip文件

文章目录 前言正文一、项目依赖二、封装表格实体和Sheet实体2.1 表格实体2.2 Sheet实体 三、核心实现3.1 核心实现之导出为输出流3.2 web导出3.3 导出为字节数组 四、调试4.1 构建调试用的实体类4.2 控制器调用4.3 测试结果 五、注册大数转换器,长度大于15时&#x…

rtmp 协议详解

1. handshake 1.1 概述 rtmp 连接从握手开始。它包含三个固定大小的块。客户端发送的三个块命名为 C0,C1,C2;服务端发送的三个块命名为 S0,S1,S2。 握手序列: 客户端通过发送 C0 和 C1 消息来启动握手过程。客户端必须接收到 S1 消息,然后…

阵列信号处理---频率-波数响应和波束方向图

波束延迟求和器 阵列是由一组全向阵元组成,阵元的位置为 p n p_n pn​,如下图所示: 阵元分别在对应的位置对信号进行空域采样,这样就产生了一组信号信号为 f ( t , p ) f(t,p) f(t,p),具体表示如下: f ( t , p ) [ f…

一些ab命令

1.ab简介 ab是apache自带的压力测试工具,是apachebench命令的缩写。ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器如nginx、tomcat、IIS等进行压力测试。 ab的原理:ab命令会创建多个并发…

锐捷EWEB网管系统 RCE漏洞复现

0x01 产品简介 锐捷网管系统是由北京锐捷数据时代科技有限公司开发的新一代基于云的网络管理软件,以“数据时代创新网管与信息安全”为口号,定位于终端安全、IT运营及企业服务化管理统一解决方案。 0x02 漏洞概述 Ruijie-EWEB 网管系统 flwo.control.ph…

Python开发——工具篇 Pycharm的相关配置,Python相关操作 持续更新

前言 本篇博客是python开发的工具篇相关,介绍pycharm的使用和相关配置,收录python的相关操作,比如如何启动jupyter。 目录 前言引出Pycharmpycharm如何不同等级日志显示不同颜色设置不同pycharm的python环境 Python操作如何启动Jupyter 总结…

计算机网络扫盲(2)——网络边缘

一、概述 在计算机网络得到术语中,我们把与因特网相连的计算机或其他设备称为端系统(或者主机),如下图所示,因为它们位于因特网的边缘,所以被称为端系统。因特网的端系统包括了桌面计算机&#xff…