定位简介
用于确定车辆在HD Map上的位置。
车辆将其传感器识别的地标与其HD Map存在的地标进行对比,在此前需要将自身的坐标系和地图的坐标系之间转换数据。精度要在cm级。
GNSSRTK
三角测量:
GPS:GNSS系统,分为三部分:卫星、控制站(用于监视和控制卫星,让系统保持运行,验证GPS广播信号的精确度)、GPS接收器(环境条件好的情况下,每次至少检测到四颗GPS卫星)
GPS接收器不会直接探测目标和卫星之间的距离。首先测量信号的飞行时间(信号从卫星到GPS接收器的时间),由于光速误差较大,所以每个卫星都配备高精确度的原子钟。
进一步减小误差,可使用实时运动定位(RTK)。
RTK在地面上建立几个基站,每个基站都知道自己精确的“地面实况”位置。每个基站也通过GPS测量自己的位置。两个位置之间有个误差Error,用于目标位置的矫正。
RTK优缺点 |
---|
√ GPS将定位误差限制在10cm左右 |
× 仍存在障碍物阻挡信号问题 |
× 更新频率很低 (10Hz) |
惯性导航
使用三轴加速计(一种传感器)测量加速度a,使用陀螺仪将测量值转换为全局坐标系
三轴陀螺仪的三个外部平衡环一直在旋转,旋转轴始终固定在世界坐标系中。
计算车辆在坐标系中的位置:
测量旋转轴和三个外部平衡环的相对位置来计算的。
惯性测量单元(IMU)组件:加速度计和陀螺仪。
IMU优缺点 |
---|
√ IMU以高频度更新,频率可达到1000Hz |
× 其运动误差随时间增加而增加 |
IMU适合短时间内实时定位,GPS和IMU结合使用,IMU弥补GPS更新频率较低的缺陷,GPS纠正IMU的运动误差。
激光雷达定位
可以通过点云匹配来对汽车定位,将检测数据与HD Map连续匹配,通过比较获知汽车在HD Map上的全球位置和行驶方向。
点云匹配算法很多,如:
迭代最近点(ICP)
对两次点云扫描进行匹配,第一次的点需要找到另一次扫描中最接近的匹配点,最后收集匹配点对,把每对点之间的距离误差相加,计算平均距离误差。
通过点云旋转和平移来最大限度地降低平均距离误差,这样就可以在扫描点和HD Map上找到匹配。
滤波算法
可消除冗余信息,并在Map上找到最可能车辆的位置。
Apollo使用直方图滤波算法(误差平方和算法SSD),通过传感器扫描地点云划过地图上的每个位置,在每个位置计算扫描点与HD Map上对应点之间的误差(或距离),然后对误差的平方求和,求和越小匹配越好。
卡尔曼滤波
根据目标过去的状态和新的测量结果预测当前状态,使用了预测更新周期。
流程:
首先根据之前的状态以及移动距离和方向的估计来估计或“预测”新位置。
然后使用传感器测量位置进行并加以纠正,使用概率规则将测量结果与位置预测结合。
优缺点 |
---|
√ 稳健性高 |
× 难以构建HD Map并使其保持最新 |
视觉定位
粒子滤波:通过概率和地图确定位置。使用粒子或点来估计最可能的位置。
优缺点 |
---|
√ 图像数据易获得 |
× 缺乏三维信息和对三维地图的依赖 |
Apollo定位
使用基于GPS、IMU和激光雷达的多传感器融合定位系统,提高了稳定性和准确性。定位模块依赖于IMU、GPS、激光雷达和HD Map。这些传感器同时支持GNSS定位和LiDAR定位。
GNSS定位输出位置和速度信息,LiDAR定位输出位置和行进方向信息。融合框架通过卡尔曼滤波将这些输出结合在一起。
惯性导航解决方案使用了卡尔曼滤波的预测步骤,GNSS和LiDAR定位使用了测量结果更新步骤。