C1:定位简介
- 前提:GPS不能够满足无人驾驶车的精准定位需求
- 定义:知道自身准确位置的方法
- 常用定位方法:执行坐标系转换
过程:车辆将传感器识别的地标,与HD Map上的地表进行对比,同时进行自身坐标系到地图坐标系的转换,最终精准进行厘米级定位
常用:
GNSS RTK
惯性导航
LiDAR定位
视觉定位
C2:Sebastian Thrun介绍定位
C3:GNSS RTK-1
- 前言:三角定位
原理:地图上,了解到自己对于三个地标的距离,即可进行精准定位 - 对三角定位的延伸——GPS
原理:使用卫星来作为地标,物体根据相对卫星的距离,来进行定位
C4:GNSS RTK-2
- 组成
卫星
世界各地的控制站
GPS接收器:智能手机、无人驾驶车(理想条件下至少接收到4颗卫星的数据) - 原理:距离 = C x 时间
为了减小误差,使用实时运动定位RTK
前提:建立基站,每个基站知道自己的“真实位置”
减小误差原理:卫星发射信号给基站,基站将卫星计算的位置与其“真实位置”进行比较,可得误差;基站将误差值发送给GPS接收器,从而计算GPS接收器的“真实位置” - GPS优点:使用RTK的情况下比较精准
- GPS缺点
城市地区有障碍物遮挡情况下表现不好
更新频率很低(一般10Hz,需要更高)
C5:惯性导航-1
- 举例
a. 是否可以在已知初始位置、速度、时间的情况下得出终点位置?√
b. 是否可以在已知速度、加速度、时间的情况下得出终点速度?√
C6:惯性导航-2
- 前言:已知初始位置、初速度、加速度即可求出终点位置、终点速度
那么如何测量加速度?三轴加速计
如何将加速度数据转换为全局坐标系数据?陀螺仪
上述两者,是惯性测量单元IMU的重要组成部分 - IMU
更新频率:高达1000Hz
缺点:运动误差随时间增加而增加 - IMU与GPS结合
IMU弥补了GPS更新频率低的缺点
GPS纠正了IMU的运动误差
但仍存在缺陷:特殊地形无GPS信号,会导致这个系统失败
C7:激光雷达定位
- 如何使用
使用点云匹配对车辆位置进行定位,将激光雷达检测数据与预先存在的HD Map进行频繁匹配 - 点云匹配算法
a. 迭代最近点ICP:比如,将两次点云数据进行平移、旋转,从而计算同个点云对应的平均距离误差,从而可以在传感器扫描及地图中找到匹配,从而精准匹配
b.滤波算法:消除冗余信息,在地图上找到最可能车辆位置
c.卡尔曼滤波算法:用过去的状态和新的传感器测量结果预测新的当前状态,使用了预测更新周期 - 激光雷达定位优点:稳定性
C8:视觉定位
- 使用方法:通常摄像头数据与GPS数据配合使用
- 举例:使用概率(粒子滤波)、摄像头数据与GPS数据配合,解决定位问题
- 视觉定位如何与GPS数据配合?
将视觉定位结果与GPS数据匹配,匹配度最高的位置最可能是实时位置 - 视觉定位优点:图像数据易获得
- 视觉定位缺点:缺少对三维信息、三维地图的依赖
C9:Apollo定位
- Apollo使用基于GPS、IMU和激光雷达的多传感器融合定位系统
- 各部分的作用
a. GNSS定位:用于输出当前位置、速度
b. 激光雷达定位:输出位置和行进方向
c. 使用卡尔曼滤波将各部分融合:两步预测测量周期
第一步:惯性导航解决方案用于预测步骤
第二步:GNSS定位+激光雷达定位用于测量结果更新步骤
C10:项目实例:被盯上的小车
- 实现:C++/Python
- 如何模拟?
初始数据:地图及其他初始数据——模拟GPS
粒子滤波器每秒都会接收到观察及动作数据
C11:课程综述
接下来可将定位知识与其他软件栈技能融合,完成无人驾驶工作