计算机视觉
图像处理

百度无人驾驶入门课程,记录三

百度无人驾驶入门课程,记录三

无人驾驶工程师,一起塑造无人驾驶未来,从这里开始!

课程记录

第三课:定位

了解车辆如何以个位数厘米级别的精度进行自定位。

1、定位简介

定位是让无人驾驶车知道自身确切位置的方法

现在我们假设你有一张全球的高精度地图,定位的任务是确定你的车辆在这张高精度地图上的位置。日常生活中,一直使用手机 GPS 来确定自己的位置,但 GPS 对于无人驾驶车来说不够精确。大多数时候,GPS 的精度在1-3 米间。

在一些情况下比如我们被高楼、山脉围绕 或位于峡谷内,GPS 的精度可能只有10 米、甚至只有 50 米。

更准确地确定车辆在地图上的位置,最常用的方法是将汽车传感器所看到的内容与地图上所显示的内容进行比较。车辆传感器可以测量车辆与静态障碍物之间的距离,如树木、电线杆、路标和墙壁等。

我们在车辆自身的坐标系中测量这些距离、这些静态障碍物的方向。随着车辆转弯,车辆自身的坐标系必然与地图坐标系不一致,车辆的坐标和地图坐标系可能均取决于手机导航系统中的设置。

为估计车辆在地图上的位置,我们将传感器的地标观测值与这些地标在地图上的位置进行匹配。地图自带坐标系,无人驾驶软件必须将传感器的测量值从车辆坐标系转换为地图坐标系。

对于定位,车辆将其传感器识别的地标与其高精度地图上存在的地标进行比对。为了进行该比对,必须能够在它自身坐标系和地图坐标系之间转换数据。然后系统必须在地图上以十厘米的精度确定车辆的精确位置

定位有几种常见的无人驾驶车定位方法如GNSS RTK、惯性导航、LiDAR 定位和视觉定位。

 

2、介绍定位

什么是定位比如机器人需要知道它在哪里,这包括 X、Y 坐标位置、航向等信息。精确定位,我们要精确到 以准确地知道我们在哪个地方以及我们在车道内的哪个位置。为什么要追求精确定位呢?因为如果我们确切地知道我们在哪里,如果没有其他汽车和行人等,我们几乎可以闭着眼开车。

所以要做一个关于定位的全景图,它将涉及不同类型的传感器也就是我们所谓的惯性感知,还有不同类型的外部传感器包括摄像头、激光雷达等。

 

3、GNSS RTK

如果在野外迷路

假如你看到自己离一棵树 75 米远,你可能在哪里?但不知道自己的确切位置,你只知道自己位于离树 75 米远的地方,更确切地说你位于一个以树为中心半径为75米的圆上。

现在你看到了一个离自己 64 米远的房子,你知道自己位于两个圆的交点处,但你不知道自己位于哪个交点上。

假设你看到了第三个路标,即路灯。经过测量你发现自己离路灯55 米远,总算知道了相对于这些地标的确切位置。如图所示

如果你有一张地图,里面注明了这些地标在世界上的位置,你就知道了自己在世界上的确切位置。该过程被称为三角测量

试图在地球表面上进行三维定位,将使用传送它们与我们之间距离的卫星,而不是我们可以看到的地标,这就是 GPS 的工作原理

GPS 即全球定位系统,这是一种由美国政府开发并在全球范围内运营的卫星导航系统。这类系统的通用名称为全球导航卫星系统或GNSS,GPS 是使用最广泛的 GNSS 系统。

GPS 分为三部分第一部分是卫星,在任何特定时间大约有 30 颗 GPS 卫星在外层空间运行,它们各自距离地球表面约 2 万公里。第二部分由世界各地的控制站组成,控制站用于监视和控制卫星,其主要目的是让系统保持运行并验证 GPS 广播信号的精确度。第三部分是 GPS 接收器,GPS 接收器存在于手机、电脑、汽车、船只以及许多其他设备中。

如果周围没有高楼等障碍物,并且天气良好,那么无论你身在何处。GPS 接收器每次应至少检测到四颗 GPS 卫星。

GPS 接收器实际上并不直接探测你与卫星之间的距离,它首先测量信号的飞行时间即TOF原理。通过将光速乘以这个飞行时间,来计算离卫星的距离。由于光速的值很大,即使是少量的时间误差也会在距离计算中造成巨大的误差。

因此每颗卫星都配备了高精确度的原子钟,为进一步减小误差,使用实时运动定位RTK。RTK 涉及在地面上建立几个基站,每个基站都知道自己精确的“地面实况”位置,但是每个基站也通过 GPS 测量自己的位置

已知的“地面实况”位置与通过 GPS 测量的位置之间的偏差,为 GPS 测量结果中的误差。

然后将这个误差传递给其他 GPS 接收器以供其调整自身的位置计算。在 RTK 的帮助下,GPS 可以将定位误差限制在 10 厘米以内。但是 仍存在高楼和其他障碍物可能阻挡 GPS 信号的问题,这使定位变得困难 或根本无法定位。GPS 的更新频率很低,大约为 10 赫兹。由于无人驾驶车在快速移动,可能需要更频繁地更新位置。

 

4、惯性导航

惯性导航

假设一辆汽车正以恒定速度直线行驶,如果我为你提供了汽车的初始位置、速度、行驶时长。你可以告诉我汽车现在处于什么位置吗?即从初始位置开始,然后速度乘以时间

可以使用加速度、初始速度、初始位置来计算汽车在任何时间点的车速和位置。

三轴加速计的传感器来测量加速度,有三种不同类型的三轴加速度计,它们采用不同的方法。但共同的目标是精确测量加速度,

加速度计根据车辆的坐标系记录测量结果,还需要知道如何将这些测量值转换为全局坐标系。这种转换需要陀螺仪传感器。

三轴陀螺仪的三个外部平衡环一直在旋转,但三轴陀螺仪中的旋转轴始终固定在世界坐标系中。我们计算车辆在坐标系中的位置是通过测量旋转轴和三个外部平衡环的相对位置来计算的。

加速度计和陀螺仪是惯性测量单元IMU的主要组件,IMU 以高频率更新,可达 1000 赫兹,所以 IMU 可以提供接近实时的位置信息

惯性测量单元的缺点在于其运动误差随时间增加而增加,我们只能依靠惯性测量单元在很短的时间范围内进行定位。

但是我们可以结合 GPS 和 IMU 来定位汽车,一方面 IMU 弥补了 GPS 更新频率较低的缺陷。另一方面 GPS 纠正了 IMU 的运动误差

但是即使将 GPS 和 IMU 系统相结合也不能完全解决我们的定位问题,如果我们在山间行驶或城市峡谷中或最糟糕的是在地下隧道中行驶,那么可能长时间没有 GPS 更新。

 

5、LIDAR定位

利用激光雷达,可以通过点云匹配来对汽车进行定位。

该方法将来自激光雷达传感器的检测数据与预先存在的高精度地图连续匹配,通过这种比较可获知汽车在高精度地图上的全球位置和行驶方向。

匹配点云比如迭代最近点ICP,假设我们想对两次点云扫描进行匹配。目标是通过点云旋转和平移来最大限度地降低这一平均距离误差,就可以在传感器扫描和地图之间找到匹配。

将通过传感器扫描到的车辆位置转换为全球地图上的位置并计算出在地图上的精确位置,滤波算法是另一种LiDAR 定位方法。

滤波算法可消除冗余信息并在地图上找到最可能的车辆位置。Apollo 使用了直方图滤波算法,该方法有时也被称为误差平方和算法(或 SSD)。

为了应用直方图滤波,将通过传感器扫描的点云滑过地图上的每个位置,在每个位置上计算扫描的点与高精度地图上的对应点之间的误差或距离然后对误差的平方求和,求得的和越小扫描结果与地图之间的匹配越好。

卡尔曼滤波是另一种LiDAR 定位方法,卡尔曼滤波用于根据我们在过去的状态和新的传感器测量结果预测我们当前的状态

具体来说卡尔曼滤波使用了预测更新周期,首先我们根据之前的状态以及对移动距离和方向的估计来估计我们的新位置。当然运动估计并不完美,所以需要通过使用传感器测量我们的位置并加以纠正。

只要我们需要对车辆进行定位,先预测我们的新位置,然后用传感器测量我们的位置。

LiDAR 定位的主要优势在于稳健性,只要从高精度地图开始并且存在有效的传感器,就始终能够进行定位。

主要缺点在于难以构建高精度地图并使其保持最新,事实上几乎不可能让地图完全保持最新,因为几乎每个地图均包含瞬态元素,汽车、行人、停放的汽车、垃圾等。

6、视觉定位

图像是要收集的最简单的数据类型,摄像头便宜且种类繁多、易于使用。通过图像实现精确定位非常困难,实际上摄像头图像通常与来自其他传感器的数据相结合以准确定位车辆。但将摄像头数据与地图和 GPS 数据相结合比单独使用摄像头图像进行定位的效果更好

假设一辆车正在路上行驶,感知到右边有一棵树,但是地图显示道路右侧有几棵树全部位于不同的位置。

如何知道车辆现在看到哪棵树?使用概率来确定哪个点最可能代表我们的实际位置,当然很可能位于可以看到右边有一棵树的地方,可以排除在地图上无法看到右边那棵树的点。

在开车的同时继续观察周边世界,在观察地图上的其余点之后,发现仅在少数几个位置会发现车辆右侧有成排的两棵树,所以可以排除所有其他位置。

通过观察结果、概率、地图来确定我们最可能的位置,该过程被称为粒子滤波。使用粒子或点来估计最可能的位置,当然树木在许多道路上比较稀少,但是车道线在许多道路上却很常见,可以使用相同的粒子滤波原理对车道线进行拍照,然后使用拍摄的图像来确定车辆在道路中的位置,可以将道路摄像头图像与地图进行比较

蓝色代表地图上两个不同位置的车道线,红色代表车辆摄像头观察到的车道线,如图所示,红线与右侧蓝线的匹配度要比与左侧蓝线的匹配度高得多,更有可能位于右侧图像位置上。

视觉定位的优点在于图像数据很容易获得,缺点在于缺乏三维信息和对三维地图的依赖。

 

7、Apollo定位

Apollo使用基于GPS、IMU、激光雷达的多传感器融合定位系统,这种方法利用了不同传感器的互补优势,也提高了稳定性和准确性。

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

卡尔曼滤波建立在两步预测测量周期之上,在Apollo中惯性导航解决方案用于卡尔曼滤波的预测步骤,GNSS 和 LiDAR 定位用于卡尔曼滤波的测量结果更新步骤。

转载注明来源:CV视觉网 » 百度无人驾驶入门课程,记录三

分享到:更多 ()
扫描二维码,给作者 打赏
pay_weixinpay_weixin

请选择你看完该文章的感受:

0不错 2超赞 0无聊 0扯淡 0不解 0路过

评论 抢沙发

评论前必须登录!