Apollo自动驾驶入门课程第②讲 — 高精地图

目录

1. 高精地图与传统地图

2. 高精地图与定位、感知规划的关系

2.1 高精地图用于定位

2.2 高精地图用于感知

2.3 高精地图用于规划

3. Apollo高精度地图与构建

3.1 Apollo高精地图

3.2 Apollo高精地图的构建


本文转自微信公众号: Apollo开发者社区 原创: 阿波君 Apollo开发者社区 8月9日

上周我们开始带领小白开发者学习 “Udacity X Apollo自动驾驶入门课程”,也收到了很多社区开发者的学习笔记,让我们看到他们热爱自动驾驶、努力学习的信心。希望有更多开发者在学习课程的同时,记录下学习要点,更快掌握Apollo自动驾驶知识。

本周我们将介绍高精地图部分的主要内容,这是Apollo定位、感知、规划模块的基础。

与普通地图不同,高精地图主要服务于自动驾驶车辆,通过一套独特的导航体系,帮助自动驾驶解决系统性能问题,扩展传感器检测边界。目前 Apollo 内部高精地图主要应用在高精定位、环境感知、决策规划、仿真运行四大场景,帮助解决林荫道路GPS信号弱、红绿灯定位与感知以及十字路口复杂等导航难题。


视频链接为:自动驾驶入门课程L2Sebastian_腾讯视频

1. 高精地图与传统地图

当我们开车时,打开导航地图通常会给我们推荐几条路线,甚至会显示道路是否拥堵以及每条路线将花费多长时间、交通管制,例如交通信号灯或限速标志等,我们会根据地图提供的信息来决定是在行驶中直行、左转还是右转以及对周围驾驶环境的评估。

而无人驾驶车缺乏人类驾驶员固有的视觉和逻辑能力。如我们可以利用所看到的东西和GPS来确定自己的位置,还可以轻松准确地识别障碍物、其他车辆、行人、交通信号灯等,但要想让无人车变得和人类一样聪明,可是一项非常艰巨的任务。

这时就需要高精地图了,高精地图是当前无人驾驶车技术不可或缺的一部分,它包含了大量的驾驶辅助信息,最重要是包含道路网的精确三维表征,例如交叉路口布局和路标位置。

高精地图还包含很多语义信息,地图上可能会报告交通灯不同颜色的含义,也可能指示道路的速度限制,及左转车道开始的位置。

高精地图最重要特征之一是精度,手机上的导航地图只能达到米级精度,而高精地图可以使车辆能够达到厘米级的精度,这对确保无人车的安全性至关重要。

2. 高精地图与定位、感知规划的关系

2.1 高精地图用于定位

高精地图是Apollo平台的核心,许多无人驾驶车模块都有赖于高精地图,有了高精地图我们就需要在该地图上进行自定位。这意味,需要弄清我们在地图上的位置,这就是定位——无人驾驶车辆在地图上的确切位置。

首先车辆可能会寻找地标,我们可以使用从各类传感器收集的数据,如摄像机图像数据、激光雷达收集的三维点云数据来查找地标。车辆将其收集的数据与其在高精地图上的已知地标进行比较,这一匹配过程是需要预处理、坐标转换、数据融合的复杂过程。

无人车的整个定位过程取决于高精地图,所以车辆需要通过高精地图明确它处于什么位置。

2.2 高精地图用于感知

无人车也可以使用高精地图来帮助感知,就像人的眼睛和耳朵会受到环境因素的影响一样,无人车的传感器也是如此。摄像机、激光雷达、雷达探测物体的能力,在超过一定距离后都会受到限制。在恶劣的天气条件下或在夜间,传感器识别障碍物的能力可能会受到进一步限制。另外当车辆遇到障碍物时,传感器无法透过障碍物来确定障碍物后面的物体。这时,就需要借助高精地图的帮助了。

即使传感器尚未检测到交通信号灯,高精地图也可以将交通信号灯的位置提供给软件栈的其余部分,帮助车辆做下一个决策。

另一个好处在于,高精地图可帮助传感器缩小检测范围,如高精地图可能会告知我们在特定位置寻找停车标志,传感器就可以集中在该位置检测停车标志,被称为感兴趣区域ROI。ROI可帮助我们提高检测精度和速度,并节约计算资源。

2.3 高精地图用于规划

正如定位和感知依赖高精地图那样,规划也是如此。高精地图可帮助车辆找到合适的行车空间,还可以帮助规划器确定不同的线路选择,来帮助预测模块预测道路上其他车辆将来的位置。

如高精地图可帮助车辆识别车道的确切中心线,这样车辆可以尽可能地靠近中心行驶。在具有低速限制,人性横道或减速带的区域,高精地图可以使车辆能够提前查看并预先减速。如果前方有障碍物,车辆可能需要变道,可帮助车辆缩小选择范围,以便选择最佳方案。

3. Apollo高精度地图与构建

3.1 Apollo高精地图

Apollo高精地图专为无人车设计,里面包含了道路定义、交叉路口、交通信号、车道规划,及用于汽车导航的其他元素。

高精度地图可在许多方面为无人车提供帮助,如高精度地图通常会记录交通信号灯的精确位置和高度,从而大大降低了感知速度。

高精地图不仅可以减少计算需求,还可以通过提供有关驾驶环境的详细信息,来确保无人车的安全。保持这些地图的更新是一项重大任务,测试车队需要不断地对高精度地图进行验证和更新。此外,这些地图可能达到几厘米的精度,这是水准更高的地图精度。

Apollo高精地图是最懂自动驾驶的高精地图,也是业界精细化程度最高、生产率最高、覆盖面最广的高精度图。目前,Apollo高精地图的自动化程度已经达到了90%、准确识别率达到了95%以上,预计2020年可以覆盖全国所有的重点道路。

高精地图有很多种格式,为了方便数据共享,Apollo高精地图采用了OpenDRIVE格式,这是一种行业制图标准。同时,Apollo也对OpenDRIVE做出了改进,进而产生了Apollo OpeDRIVE标准,以便更适合无人车。

3.2 Apollo高精地图的构建

高精度地图的构建由五个过程组成:数据采集、数据处理、对象检测、手动检测和地图发布

数据采集是一项庞大的密集型任务,近300辆Apollo测试车辆负责收集用于制作地图的源数据,以便确保每次道路发生改变时,地图均会得到快速更新。测试车辆使用了多种传感器,如GPS、IMU、激光雷达、摄像机。Apollo定义了一个硬件框架,将这些传感器集成到单个自主系统中,通过支持多种类的传感器,Apollo收集各类数据将这些数据融合,最终生成高精度地图。

数据处理指的是Apollo如何对收集到的数据进行整理、分类和精简,以获得没有任何语义信息或注释的初始地图模板。

对于对象检测,Apollo使用人工智能来检测静态对象并对其进行分类,其中包括车道线、交通标志、甚至是电线杆,手动验证可确保自动地图创建过程正确进行并及时发现问题。Apollo使手动验证团队能够高效标记和编辑地图,在经过数据采集、数据处理、对象检测、手动验证之后,高精地图才能发布。

除高精地图外,Apollo还发布了采用自上而下视图的相应定位地图、三维点云地图

在构建和更新地图的过程中,Apollo使用众包向公众发布其数据采集工具,以便任何人都可以参与制作高精度地图的任务,这加快了高精地图制作和维护的过程。

进阶拓展阅读学习:《Apollo 高精地图技术与应用》

更多详细课程内容,大家可以登陆官网继续学习!

也可以添加社区小助手(Apollodev)为好友,回复“课程学习”进群与其他开发者共同交流学习。

自课程上线以来,浏览量已超10万,已帮助全球97个国家约 7000 名学员入门自动驾驶与 Apollo 开源平台,其中37%为海外学员,本门课程已成为优达学城 (Udacity) 近期获得关注度最高的免费课程之一。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/440291.shtml

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

相关文章

项目总结2:ionic3开发跨平台App如何设置和替换应用图标及启动图

前言: 和原生开发一样,ionic官方提供的设置方式也很简单,只不过多了一个步骤:基于ionic命令的方式自动修改全局的配置文件config.xml。 设置或替换应用图标和应用启动图: 把UI提供的图标拿过来改成特定的名称"i…

【2018ACM山东省赛 - G】Games(Nim博弈 + dp)

题干: Problem Description Alice and Bob are playing a stone game. There are nnn piles of stones. In each turn, a player can remove some stones from a pile (the number must be positive and not greater than the number of remaining stones in the …

LeetCode刷题实战(13):Roman to Integer

题目描述: 13 Roman to Integer 49.5%Easy Roman numerals are represented by seven different symbols: I, V, X, L, C, D and M. Symbol Value I 1 V 5 X 10 L 50 C 100 D …

项目总结3:ionic3开发的App在启动过程中部分手机出现白屏或黑屏问题之终极解决方案

问题场景:采用ionic3开发的App,当项目比较大的时候,会出现部分真机设备在启动的过程中有白屏或黑屏的情况。 原因预测:个别手机,尤其是安卓手机的性能比较差,App在启动后进入首页或登录页前的初始化工作还…

1.Intro to Deep Learning and Computer Vision

Intro 这是Kaggle深度学习教育课程的第一课。 在本课程结束后,您将了解卷积。 卷积是计算机视觉(以及许多其他应用程序)中深度学习模型的基本构建块。 之后,我们将很快开始使用世界一流的深度学习模型。 Lesson [1] from IPy…

【POJ - 2253】Frogger(floyd,或 部分瓶颈生成树的最大边)

题干: 湖中有n块石头,编号从1到n,有两只青蛙,Bob在1号石头上,Alice在2号石头上,Bob想去看望Alice,但由于水很脏,他想避免游泳,于是跳着去找她。但是Alice的石头超出了他…

SpringMVC常用的视图接口分类及实现类

SpringMVC中常用的视图接口分类及对应的实现类: URL资源视图:InternalResourceView、JstlView 文档视图:AbstractExcelView、AbstractPdfView 报表视图:ConfigurableJsperReportsView等JasperReports报表技术的视图 JSON视图&…

2.Building Models from Convolutions

Intro 这是深度学习课程的第2课 在本课程结束时,您将了解如何将卷积结合起来,以实现计算机视觉中的超人成就。 Lesson [1] from IPython.display import YouTubeVideo YouTubeVideo(ToBPiUlLFEY, width800, height450) Keep Going 现在你理解了模…

*【POJ - 2796】 Feel Good (前缀和优化+单调栈维护)

题干: Feel Good Time Limit: 3000MS Memory Limit: 65536KTotal Submissions: 12409 Accepted: 3484Case Time Limit: 1000MS Special Judge Description Bill is developing a new mathematical theory for human emotions. His recent investigations are dedi…

SpringMVC配置视图的直接映射view-controller命名空间

通常情况下&#xff0c;如果直接通过url来访问具体的视图会报404错误&#xff0c;这个时候最容易想到的解决办法是通过转发或重定向机制&#xff0c;也就说走一遍目标控制器方法拦截一次。但是最好的方法是配置视图的直接映射关系。 <mvc: view-controller path"url访…

【nyoj-456】 邮票分你一半 (dp,0-1背包的中点问题)

题干&#xff1a; 邮票分你一半 时间限制&#xff1a;1000 ms | 内存限制&#xff1a;65535 KB 难度&#xff1a;3 描述 小珂最近收集了些邮票&#xff0c;他想把其中的一些给他的好朋友小明。每张邮票上都有分值&#xff0c;他们想把这些邮票分成两份&#xff0c;并且使…

Angular中父子组件传值@Input @Output @ViewChild最全面最简单的总结

父组件传递给子组件&#xff1a; 值传递方式&#xff1a;Input既可以传递数据也可以传递方法 传递数据&#xff08;不举例了&#xff09;传递方法 // 父组件定义方法 parentRun(){alert(这是父组件的 run 方法); } 调用子组件时传入当前方法&#xff08;是传递方法不是调用方…

《TCP/IP详解》学习笔记(七):广播和多播、IGMP协议

单播&#xff0c;多播&#xff0c;广播的介绍 1单播(unicast) 单播是说&#xff0c;对特定的主机进行数据传送。例如给某一个主机发送 IP 数据包。这时候&#xff0c;数据链路层给出的数据头里面是非常具体的目的地址&#xff0c;对于以太网来说&#xff0c;就是网卡的 MAC 地…

【 POJ - 3628 】Bookshelf 2(dfs 或 dp,0-1背包)

题干&#xff1a; Farmer John recently bought another bookshelf for the cow library, but the shelf is getting filled up quite quickly, and now the only available space is at the top. FJ has N cows (1 ≤ N ≤ 20) each with some height of Hi (1 ≤ Hi ≤ 1,0…

ES5总结1:数组Array新特性最全最精简的详解

2个位置方法&#xff1a;indexOf lastIndexOf 5个迭代方法&#xff1a;forEach every some filter map 2个高阶函数&#xff1a;reduce reduceRight &#xff08;可用于数组求和&#xff09; API: 1、indexOf(searchElement: T, fromIndex?: n…

Apollo自动驾驶入门课程第③讲 — 定位

目录 1. 定位的概述 2. 定位方法介绍 2.1 GNSS RTK 2.2 惯性导航 2.3 激光雷达定位 2.4 视觉定位 2.5 Apollo定位 本文转自微信公众号&#xff1a;Apollo开发者社区 原创&#xff1a; 阿波君 Apollo开发者社区 8月17日 上周我们发布了 Apollo入门课堂第②讲—高精地图&…

【HRBUST - 1621】迷宫问题II (bfs)

题干&#xff1a; 小z身处在一个迷宫中&#xff0c;小z每分钟可以走到上下左右四个方向的相邻格之一。迷宫中有一些墙和障碍物。 同时迷宫中也有一些怪兽&#xff0c;当小z碰到任意一个怪兽时&#xff0c;小z需要将怪兽消灭掉才可以离开此方格。但消灭 怪兽会花费一定的时间。…

Linux与Bash 编程——Linux文件处理命令-L1

目录&#xff1a; linux系统与shell环境准备 Linux系统简介操作系统简史Linux的发行版&#xff1a;Linux与Windows比较&#xff1a;Linux安装安装包下载Linux的访问方式远程登录方式远程登录软件&#xff1a;mobaxterm的使用&#xff1a;使用电脑命令行连接&#xff1a;sshd的…

4.Transfer Learning

Intro 这是深度学习第4课。 在本课程结束时&#xff0c;您将能够使用迁移学习为您的自定义目标构建高度准确的计算机视觉模型&#xff0c;即使您的数据相对较少。 Lesson [1] from IPython.display import YouTubeVideo YouTubeVideo(mPFq5KMxKVw, width800, height450) S…

Angular相关的有价值的问题集锦

001. Angular的三大核心概念是什么&#xff1f; 答&#xff1a;组件化、模块化和路由&#xff08;Component、NgModule、Router&#xff09;,其中最核心的概念是组件化Component。 002. 前端为什么需要Router&#xff1f; 答&#xff1a;如果没有Router&#xff0c;浏览器的…