目录

1.百度无人车定位进化历程

2.百度自动驾驶应用的定位技术

2.1GNSS定位技术

2.2载波定位技术

2.3激光点云定位技术

2.4视觉定位技术


原文链接:进阶课程 ⑮丨Apollo自动定位技术详解—百度无人车定位技术

定位的目的是让自动驾驶汽车找到自身确切位置的方法,可以说,定位导航技术是整个自动驾驶技术的核心。在日常生活中,我们一直使用谷歌、百度、高德或者其他地图来确定自己的位置,其实质就是使用了卫星导航技术,手机终端接收卫星导航电文进行解算,计算出你此刻的位置。

但卫星导航定位精度误差在10米左右,这对于自动驾驶是致命的,完全不能满足自动驾驶的需求。如果驾驶的周围环境复杂,过桥洞,接收不了导航信号,遮蔽严重,如高楼、山脉,会产生多径效应,导航的精度可能会更差,有可能会超过50米。所以无人驾驶系统不能依赖卫星导航系统,因此需要借助其他方式方法来提高车辆在地图上的位置精度,这就要配合高精地图,融合惯导和视觉等技术。

先进的无人车方案肯定不能完全基于RTK,百度Apollo系统使用了激光雷达、RTK与IMU融合的方案,多种传感器融合加上一个误差状态卡尔曼滤波器使得定位精度可以达到5-10厘米,且具备高可靠性和鲁棒性,达到了全球顶级水平。市区允许最高时速超过每小时60公里。

上周阿波君为大家详细介绍了Apollo自动定位技术——三维几何变换和坐标系」。

上周的「Apollo自动定位技术——三维几何变换和坐标系介绍」课程介绍了Apollo自定位技术中三维几何变换中的平移、旋转,判断刚体的位置和朝向。课程还让大家了解了无人驾驶定位中常用的几个坐标系,包括:地心惯性坐标系(ECI)、地心地固坐标系(ECEF)、当地水平坐标系、UTM(通用横轴墨卡托格网系统)坐标系、车体坐标系、IMU坐标系、相机坐标系和激光雷达坐标系等。各个坐标系都有其自身的优势和缺点,因此适用于不同的场合。

本周阿波君将与大家分享Apollo自动定位技术详解——百度无人车定位技术。下面,我们一起进入进阶课程第15期。


1.百度无人车定位进化历程

下图给出了百度配置了多种传感器方案的一些无人车。

                                                                                        多种传感器方案的自动驾驶汽车

上面四幅图是百度做自动驾驶汽车的一些车型,比较早的有宝马、北汽,后来有奇瑞到现在的MKZ。这个系列的车叫探路者,意思是要去探索未知的路。

这套车的传感器配置非常贵,都用最好的惯导和最好激光雷达。其目的是用于探索一些新的算法,一些复杂的场景、有挑战的场景,主要是为了给工程师提供一个较好的平台,用更好的数据去开发更好的算法。

下面的四辆车分为两种车型,一种叫做无人驾驶微循环车,一种叫无人驾驶物流车。无人驾驶微循环车是和厦门金融合作,叫阿波龙。它配备了一个很便宜的惯导。激光雷达用了16线,再加上一些双目摄像头。右边的无人驾驶物流车,是和新石器一起开发的,一般情况下可以用于小区的无人快递车或者是广场上面去卖饮料的无人车。


2.百度自动驾驶应用的定位技术

自动驾驶中,在不同的传感器配置下,都需要做到定位的准确性。下面介绍在百度无人车系统中使用的定位技术,主要分为四个部分,GNSS定位技术,载波定位技术,激光点云定位技术和视觉定位技术。

2.1GNSS定位技术

GNSS定位技术中最著名的是GPS。GPS最早是由美国建立的,有24颗GPS卫星,两个频率的波段。GPS具有定位、测速、授时等功能。

类似的系统还有北斗定位,俄罗斯的格罗纳斯和欧洲的伽利略定位。它们的原理是测距,有三颗卫星就可以交会两点,舍弃外部的空间点就可以得到自己测绘这个点。但是一般情况下,由于钟差,一般需要四颗卫星去做误差剔除。

GNSS定位其实是单点定位,没有用到基站,它的精度一般是5到10米。为了能够得到更精准的定位精度,引入了一些更好的方式,如载波定位技术。


2.2载波定位技术

载波定位技术具体分为两类,RTK技术和PPP技术。它们都是为了确定载波的整周数,然后消除噪声,达到更精准的定位。

RTK的工作原理如下:卫星把观测数据给基站,也给车端的移动站。基站根据多个卫星的钟差计算出误差项,然后把误差项传递给车端,车端用这个误差项消除观测误差,得到精准的位置。它的问题是硬件成本高,需要建基站,需要4G通信的链路,需要基站传数据。

PPP可以简单理解为一个很强的单点,它有很多种基础基站的建设。这些基站通过卫星数据,把这些误差都在基站做分离处理,再传递给卫星。卫星已经做了误差的消除,再去对车端进行定位,得到一个非常高精度的定位信息。

二者的主要区别如下表所示:

                                                                                                       载波定位技术

GNSS在无人车中的作用,大概可以分为三个部分,第一个部分是GPS授时。 第二是制作高精地图。第三是RTK在线定位,作为定位的一个模块使用。

GNSS的问题是可靠性,很容易受到电磁环境干扰。第二点就是对于比较差的环境,比如城市的高楼、峡谷、林荫路,对GNSS影响都很大。


2.3激光点云定位技术

百度的激光点云定位模块结构如下图所示。

                                                                                                激光点云定位算法框架

激光点云定位系统包括两个模块:图像对齐和SSD HF。图像对齐模块主要是用于航向角的优化。点云定位里面会输出四个维度的信息,XYZ和Yaw(航向角)。

首先做航向角的优化,然后SSD-HF做XY优化,Z则由定位地图提供。定位地图是一种数据的的存储方式。激光点云定位的输入还包括预测位姿和实时点云数据。输出信息将会给融合算法,进行更加精确的定位。


2.4视觉定位技术

视觉定位的输出也是XYZ和Yaw,即位置和朝向。视觉定位通过摄像头识别图像中具有语义信息的稳定特征并与地图做匹配,得到位置和朝向信息。视觉定位算法的流程图如下所示。

                                                                                                视觉定位—算法流程     

视觉定位的流程主要包含三个部分,一是3D特征地图的离线的生成,第二是图像特征的检测,最后是数据的整合输出。

首先是摄像头进行图像特征的检测,主要是进行车道线和杆状物的检测。通过GPS给出的初始位置,基于初始位置对3D地图和摄像头检查到的信息进行特征匹配。用IMU和轮速计去做姿势的预测,给出一个不错的姿势。最后的结果输出给融合模块,融合可以将GPS、视觉定位、IMU数据整合,优化定位结果并提供高频输出。

Apollo进阶课程 ⑮丨Apollo自动定位技术详解—百度无人车定位技术相关推荐

  1. Apollo进阶课程㉖丨Apollo规划技术详解——Understand More on the MP Difficulty

    原文链接:进阶课程㉖丨Apollo规划技术详解--Understand More on the MP Difficulty EM是一个在已知部分相关变量的情况下,估计未知变量的迭代技术,EM的算法流程 ...

  2. Apollo进阶课程㉕丨Apollo规划技术详解——Optimization Inside Motion Planning

    原文链接:进阶课程㉕丨Apollo规划技术详解--Optimization Inside Motion Planning 在自动驾驶软件的开发中,运动规划是最核心的模块之一.它将综合感知.定位和地图等 ...

  3. Apollo进阶课程㉔丨Apollo 规划技术详解——Motion Planning Environment

    原文链接:进阶课程㉔丨Apollo 规划技术详解--Motion Planning Environment 自动驾驶汽车核心技术包括环境感知.行为决策.运动规划与控制等方面.其中,行为决策系统.运动规 ...

  4. Apollo进阶课程㉓丨Apollo规划技术详解——Motion Planning with Environment

    原文链接:进阶课程㉓丨Apollo规划技术详解--Motion Planning with Environment 当行为层决定要在当前环境中执行的驾驶行为时,其可以是例如巡航-车道,改变车道或右转, ...

  5. Apollo进阶课程㉒丨Apollo规划技术详解——Motion Planning with Autonomous Driving

    原文链接:进阶课程㉒丨Apollo规划技术详解--Motion Planning with Autonomous Driving 自动驾驶车辆的规划决策模块负责生成车辆的行驶行为,是体现车辆智慧水平的 ...

  6. Apollo进阶课程㉑丨Apollo规划技术详解——Basic Motion Planning and Overview

    原文链接:进阶课程㉑丨Apollo规划技术详解--Basic Motion Planning and Overview 运动规划(Motion Planning)就是在给定的位置A与位置B之间为机器人 ...

  7. Apollo进阶课程㉗丨Apollo控制技术详解——控制理论

    原文链接:进阶课程㉗丨Apollo控制技术详解--控制理论 控制模块根据预测的轨迹和估计的车辆状态向油门.刹车或转向扭矩发送适当的命令.控制模块使汽车尽可能接近计划的轨迹.控制器参数可以通过最小化理想 ...

  8. Apollo进阶课程㉙丨Apollo控制技术详解——控制器的类型

    原文链接:进阶课程㉙丨Apollo控制技术详解--控制器的类型 控制主要是为了弥补数学模型和物理世界执行之间的不一致性.对于自动驾驶而言,规划的轨迹和车辆的实际运行轨迹并不完全一致,控制器按照规划轨迹 ...

  9. Apollo进阶课程㉘丨Apollo控制技术详解——基于模型的控制方法

    原文链接:进阶课程㉘丨Apollo控制技术详解--基于模型的控制方法 PID控制是一个在工业控制应用中常见的反馈回路部件,由比例单元P.积分单元I和微分单元D组成.PID控制的基础是比例控制:积分控制 ...

最新文章

  1. 【Google Play】正式版上架流程 ( 创建版本 | 设置国家地区 | 发布正式版 )
  2. IDEA添加eclispe的项目,需要把对应的文件夹设置成对应的资源
  3. Kafka的常见错误分析
  4. 机器学习导论�_机器学习导论
  5. 【转】Mongodb 学习笔记
  6. 1过程流程图 3 apqp_为什么过程开发的平面布置图要遵循精益原则?
  7. iec60870-5-104通讯协议编程_三菱FX编程口通讯协议1——协议解读
  8. 64位c语言调用32位glibc,glibc fclose源代码阅读及伪造_IO_FILE利用fclose实现任意地址执行...
  9. 数据安全,配置先行;如何检查,SQL 评估 API
  10. 明解c语言中级篇微盘,明解C语言:中级篇
  11. Vue - 引入集成 Tinymce 富文本编辑器(详细步骤及运行Demo),在 Vue.js 项目中使用富文本插件详细教程,附带超级详细的注释说明
  12. 全志f1c100s 开发环境搭建
  13. List中存放list
  14. PDF编辑技巧 PDF怎么修改文字
  15. 自己计算机设置盘密码怎么操作,怎么给电脑盘设置密码
  16. css复选框表单,用CSS来美化表单——复选按钮篇
  17. 海皇戟3黑成功,刚入门黑苹果,用5个软件搞定,菜鸟级双系统安装
  18. java写的软件有哪些?
  19. kotlin的?.和!!.
  20. 使用微信小程序 富文本编辑器组件 editor

热门文章

  1. [Leedcode][JAVA][第25题][K个一组反转链表][链表][递归]
  2. 用户注意到用户计算机中千兆位网卡,为何你电脑上的千兆网卡跑不到千兆?
  3. java 当天唯一ids_java-为不同的时间字符串接收相同的ZonedDat...
  4. python取前三位_Python 实现取多维数组第n维的前几位
  5. arduino 水位传感器_云南可信赖的威卡压力传感器哪里有
  6. python入门及日常应用_python的日常应用-入门篇02
  7. 一面微创题--字符串逆序输出
  8. 丰田pcs可以关闭吗_丰田新款卡罗拉变化这么大 让老车主陷入沉思
  9. php5.4 windows2003,PHP实战:Windows2003下php5.4安装配置教程(IIS)
  10. axure 链接html文件,通过WuliHub免费托管原型Axure HTML文件