Apollo无人驾驶入门课程笔记之定位 (三)

时间:2020.11.01
内容:无人驾驶之定位

文章目录

  • 一、定位简介
  • 二、定位方法
    • 2.1 GNSS RTK
    • 2.2 惯性导航
    • 2.3 激光雷达定位
    • 2.4 视觉定位
    • 2.5 Apollo定位方法简介

一、定位简介

定位是无人车的一个重要工作,假设你要从一个目的地到另一个目的地,而无人车却不知道它现在所处的位置,那它就根本无法执行这个任务,所以定位是一个非常重要的工作。

那么无人车是如何实现定位的呢?我们知道在日常生活中,我们打开百度地图或者高德地图利用GPS就可以知道自己大概是处于什么位置,当我们在城市中行走时,它能很好的帮助我们导航,但它的精度常在1-3m,有的时候甚至在10-50m左右,无法满足无人车需要的高精度要求。

所以我们必须使用其他的方法来对无人车进行精确定位,而这就需要使用到上一节所说的高精度地图,它的精度在厘米级且包含详细精确的行驶信息(车道线、交通标识),能较好的实现无人车的定位。

其具体实现方法为:将汽车传感器所探测到的内容与高精度地图上所显示的内容进行对比匹配。首先以车体本身建立坐标系,汽车的前进方向始终向前,坐标系正方向始终与车头保持一致,在车辆自身坐标系中,车辆传感器可以测量车辆与静态障碍物之间的距离以及这些物体的方向。但车坐标系不一定与地图坐标系保持一致,所以当车辆传感器测量到地图上的物体,将传感器的地表观测值与地图上的位置匹配时,需要进行坐标转换,转换到地图自带坐标系,反之亦然,从而达到地图与车感数据的对比。

二、定位方法

2.1 GNSS RTK

一个人是如何确定自己在地球中所处的精确位置?

示例:如果在野外迷路,假如你看到自己离一棵树75米远,你只知道自己位于一个以树为中心半径为75米的圆上。但是如果看到一个离自己64米远的房子,你就会知道自己位于两个圆的交点处,但仍不知道自己位于哪个交点上。假设你看到了第三个路标,如路灯。经过测量你发现自己离路灯55米远,自己就知道了相对于这些地标的确切位置。
Apollo无人驾驶入门课程笔记之定位 (三)_第1张图片
假设现在你已经知道了树、房、路灯这三个地标在世界中的坐标,那么你也就能确定你所处的位置坐标了,这个过程叫做三角测量

GPS就是这样的工作原理,三颗卫星加上一颗定位高度的卫星,就能确定人在地球上具体的位置了,GPS这类系统的通用名称为全球导航卫星系统或GNSS,GPS是其中使用最广泛的GNSS系统。

GPS主要分为三部分,第一部分为在地球外面绕行的卫星;第二部分为在地面的基站,主要为控制及监视卫星,保持其运行精度;第三部分为GPS接收器,如手机、电脑、车等设备。

那么一个在地球上的人(车辆)到底是如何进行定位的呢?此处以人为例,首先通过GPS接收器测得信号由卫星发送至接收器所需的时间T,将其与光速相乘则得到人与卫星之间的距离。

然后根据计算所得的距离可以和人与卫星之间坐标建立的距离方程形成方程组,最终求得人的具体坐标位置。更详细的过程见链接:https://zhuanlan.zhihu.com/p/58518430

但上述过程信号的传输时间其实受天气、遮挡物或其他因素的干扰常常会产生误差,导致计算距离有较大误差,因此需要对其进行矫正,主要使用方法就是实时运动定位(RTK)Apollo无人驾驶入门课程笔记之定位 (三)_第2张图片
通过在地面设立的基站,利用基站本身已知的“实况位置”与GPS计算所得的位置计算误差,然后将这个误差传递给其他GPS接收器,来调整自身的位置,减小误差。目前通过这个方式,GPS的精度最高可以将误差限制在10cm以内。

2.2 惯性导航

以前学的知识:假设一辆汽车初始位置为X0,在直线上以速度v匀速行驶,则经过时间T后,其位置可以通过公式计算得到:X1=X0+vT。同理汽车在其他情况下,只要知道相关的加速度、位置、速度、时间等参数,其位置都可以计算出来。
Apollo无人驾驶入门课程笔记之定位 (三)_第3张图片
而所谓的惯性导航主要就是通过加速度计和陀螺仪等传感器来来确定车辆在行驶过程中的加速度,然后根据汽车的初始速度、初始位置以及驾驶时间来确定汽车在行驶一段时间后所处的位置。

惯性导航(IMU)主要由三个单轴的加速度计和三个单轴的陀螺仪组成,加速度计检测物体在载体坐标系统独立三轴的加速度信号,而陀螺仪检测载体相对于导航坐标系的角速度信号,对这些信号进行处理之后,便可解算出物体的姿态。更具体的原理可参考:
https://zhuanlan.zhihu.com/p/32693377

https://blog.csdn.net/weixin_42137700/article/details/88639446

实际上IMU是作为GPS的一个补充,帮助汽车定位更加准确存在的。上文说过GPS是通过RTK来实现汽车的精确定位的,那么IMU的数据计算位置则可以作为GPS的一个对比组,假设两边数据计算位置无法匹配则说明某一方存在错误,可以起到一个检验和矫正的作用;此外,在信号不好的地方,IMU也可以代替GPS的功能为汽车提供准确定位。

2.3 激光雷达定位

使用激光雷达定位主要是将激光雷达检测到的点云数据与高精度地图进行点云匹配,来找到汽车在高精地图上的全球位置的行驶方向。

点云的匹配方法主要有以下三种:
1、迭代最近点:寻找匹配点对平方距离误差最低的那些点。
2、滤波算法:通过传感器扫描到的位置转换为全球地图上的位置并进算出在地图上的精确位置。
3、卡尔曼滤波:卡尔曼滤波用于根据我们在过去的状态和新的传感器测量结果预测我们当前的状态。

这里都是大概的简介,更具体地算法实现问题,需要进一步找资料学习。

2.4 视觉定位

通过摄像机收集图片进行定位是最简单的定位方法之一,但准确度无法得到保证。所以经常需要与其他传感器进行配合才能准确定位。

其定位方法也是通过图片信息与高精度地图的对比来匹配,其有点在于数据易获得,缺点是缺乏三维信息以及对高精度地图很依赖。

2.5 Apollo定位方法简介

Apollo使用基于GPS、IMU、激光雷达的多传感器融合定位系统,这种方法利用了不同传感器的互补优势,也提高了稳定性和准确性。(这也是目前通用的做法,多传感器保证精度)
Apollo无人驾驶入门课程笔记之定位 (三)_第4张图片

Apollo定位模块依赖于GPS、IMU、激光雷达、雷达、高精地图,这些传感器同时支持GNSS定位和LiDAR定位,GNSS定位输出位置和速度信息,LiDAR定位输出位置和行进方向信息。融合框架通过卡尔曼滤波将这些输出结合在一起。

总结:本文主要涉及到了无人车的整个定位系统,介绍了定位的原理及实现方法,但内容都比较基础,需要进一步学习。

你可能感兴趣的:(自动驾驶,定位,自动驾驶)