无人车车辆定位技术入门与应用
1. 技术入门
1.1 什么是无人车自定位技术
相对于某一个坐标系,确定无人车的位置和姿态。
-
位置和姿态
位置:有三个自由度: X, Y, Z
姿态:有三个自由度: 绕X(横滚Roll)、绕Y(俯仰Pitch)、绕Z(航向Yaw) -
其他信息
-
自动驾驶汽车定位系统指标要求
1.2 为什么无人车需要一个精准的定位系统
- 感知环境很复杂
- 与自动驾驶地图配合提供静态环境感知
- 速度,加速度,角速度等信息用于路线规划及环境感知
比如说车辆的限速信息。
加速度、角速度指标跟汽车的舒适性有关。
1.3 定位技术的分类
- 基于电子信号定位
GNSS、Wifi、Cell Phone、FM radio
减少GPS定位误差的方法:距离差分(就是在地面建立基站,知道基站的真实坐标,通过与卫星测算的坐标对比得到误差,将误差发送给汽车,这种精度也不是很高)、载波相位计算 - 航迹推算
比如惯导系统IMU。
- 惯性导航
-
构成
- 加速度计(提供瞬时加速度)
- 陀螺仪(提供角速度)
-
惯导系统的价格差异大,航海级的系统非常昂贵。
-
惯导系统的工作原理:
-
惯导系统的优缺点
-
- 环境特征匹配
LiDAR、camera、Radar
-
激光定位
(1)预先制作地图:可以是3D的,也可以是点云地图,也可以是2D的概率地图- 2D概率地图:把点云数据铺成一块,压成2D的图。把整个地图分成很多小个子,每个格子里面存放了一些颜色和位置(高度)信息及其概率
(2)实时的激光点云跟地图做匹配
- 2D概率地图:把点云数据铺成一块,压成2D的图。把整个地图分成很多小个子,每个格子里面存放了一些颜色和位置(高度)信息及其概率
-
视觉定位
2. 基础知识
2.1 三维几何变换
2.1.1 坐标系
- 坐标系
根据各个轴位置关系的不同,空间中的坐标系分为左手系和右手系。
2.1.2 旋转
-
二维旋转
在二维空间中,可以将绕原点逆时针旋转θ度表示为矩阵
R ( θ ) = [ c o s θ − s i n θ s i n θ c o s θ ] R(\theta)=\begin{bmatrix} cos\theta & -sin\theta \\ sin\theta & cos\theta \end{bmatrix} \qquad R(θ)=[cosθsinθ−sinθcosθ]
那么旋转之前的点(x, y)和旋转之后的点(x’, y’)的关系可以用矩阵乘法表示:
[ x ′ y ′ ] = [ c o s θ − s i n θ s i n θ c o s θ ] [ x y ] \begin{bmatrix} x' \\y' \end{bmatrix} \qquad=\begin{bmatrix} cos\theta & -sin\theta \\ sin\theta & cos\theta \end{bmatrix} \qquad\begin{bmatrix} x\\y\end{bmatrix} \qquad [x′y′]=[cosθsinθ−sinθcosθ][xy]
通过矩阵乘法,可以对空间中任一点进行坐标变换。 -
三维旋转
由二位旋转推广出以坐标轴为中心的三维旋转,一下分别给出了以x轴、y轴、z轴为中心,旋转θ度的旋转矩阵
R x ( θ ) = [ 1 0 0 0 c o s θ − s i n θ 0 s i n θ c o s θ ] R_x(\theta)=\begin{bmatrix} 1 &0 &0 \\ 0& cos\theta & -sin\theta \\ 0& sin\theta & cos\theta \end{bmatrix} \qquad Rx(θ)=⎣⎡1000cosθsinθ0−sinθcosθ⎦⎤
R y ( θ ) = [ c o s θ 0 s i n θ 0 1 0 − s i n θ 0 c o s θ ] R_y(\theta)=\begin{bmatrix} cos\theta &0 & sin\theta \\ 0& 1 & 0 \\ -sin\theta& 0 & cos\theta \end{bmatrix} \qquad Ry(θ)=⎣⎡cosθ0−sinθ010sinθ0cosθ⎦⎤
R z ( θ ) = [ c o s θ − s i n θ 0 s i n θ c o s θ 0 0 0 1 ] R_z(\theta)=\begin{bmatrix} cos\theta &-sin\theta &0 \\ sin\theta& cos\theta &0 \\ 0& 0 & 1 \end{bmatrix} \qquad Rz(θ)=⎣⎡cosθsinθ0−sinθcosθ0001⎦⎤
对于任意的三维旋转,始终可以表示为三种基本旋转矩阵相乘的形式:
R = R z ( α ) R y ( β ) R x ( γ ) R=R_z(\alpha)R_y(\beta)R_x(\gamma) R=Rz(α)Ry(β)Rx(γ)
- 欧拉角和四元数
-
欧拉角
任何三维旋转矩阵都可以由三个基本矩阵复合而成。
当我们固定三个基本旋转矩阵相乘的顺序后,可以用这三个基本矩阵绕坐标轴旋转的度数来表示三维旋转。
假如使用xyz顺规(Tait-Bryan angles),可得:
R = R z ( ψ ) R y ( θ ) R x ( ϕ ) R=R_z(\psi)R_y(\theta)R_x(\phi) R=Rz(ψ)Ry(θ)Rx(ϕ)
欧拉角为(Ψ,θ,Φ),对应的物理意义为yaw,pitch和roll
-
四元数
四元数的,描述如下: q = ( s , v ⃗ ) q=(s,\vec{v}) q=(s,v)
其中:s是一个标量,相当于旋转的角度,v是一个矢量,相当于绕着所旋转的轴。他们的实际公式为:
s = c o s θ 2 , v ⃗ = u ⃗ s i n θ 2 s=cos\frac{\theta}{2}, \vec{v}=\vec{u}sin\frac{\theta}{2} s=cos2θ,v=usin2θ
其中u是沿所选旋转轴的单位向量,θ是绕此轴的指定旋转角。
四元数的主要优点,旋转的操作效率高,且方便对旋转过程进行插值。
2.1.3 平移
平移就是一个3×1的向量
t
=
[
t
x
t
y
t
z
]
t=\begin{bmatrix} t_x\\t_y\\t_z \end{bmatrix} \qquad
t=⎣⎡txtytz⎦⎤
平移空间中的点:
p
′
=
p
+
t
p'=p+t
p′=p+t
2.1.4 刚体的位置和朝向
- 刚体的位置
转化成刚体的目的就是,在确定位置的时候,只需要确定一个点的位置即可,剩下的位置因为是刚体,所以相对位置保持不变。 - 刚体的朝向
根据参考坐标系来确定
2.2 常用参考坐标系
2.2.1 地心惯性坐标系(ECI)(i系)
如下图中红色O-XYZ坐标系所示,地心惯性坐标系(i系)的原点位于地球原点,Z轴沿地轴方向指向北极,X轴和Y轴位于赤道平面内,与Z轴满足右手法则,并且X轴和Y轴分别指向两个恒星
在研究载体在地球表面附近的运动时,通常可以将其近似为惯性坐标系,如惯性传感器(IMU)中的陀螺仪和加速度计的输出均可以认为是在该参考坐标系下的量测输出。
- 特点
X,Y轴不随地球的自转而转动。
2.2.2 地心地固坐标系(ECEF)(e系)
如下图中绿色O-XYZ坐标系所示,地心地固坐标系(e系)的原点位于地球原点,Z轴沿地轴方向指向北极,x轴在赤道平面与格林威治子午面的交线上,V轴在赤道平面与X轴Z轴满足右手法则。常用的如WGS84坐标系系统(大地坐标系)。
- 特点:
X,Y轴与地球固连在一起,随地球的自转而变化。
地球上的每个点都有一个确定的坐标。 - i系与e系的转换
2.2.3 当地水平坐标系(n系)
如下图中蓝色O-XYZ坐标系所示,当地水平坐标系(n系)的原点位于载体所在的地球表面,X轴和Y轴在当地水平面内,分别指向东向和北向,Z轴垂直向上,与X轴Y轴满足右手法则。该坐标系也是机器人领域通常所说的世界坐标系(w系)。在导航解算过程中通常也把该坐标系选取为导航坐标系(n系),也称为"东北-天(E-N-U)"坐标系,与之相对应的“北-东-地(N-E-D)"坐标系等。
- 与其他坐标系的转化关系
2.2.4 通用横轴墨卡托投影(UTM投影)
UTM投影全称为"通用横轴墨卡托投影"UNIVERSAL TRANSVERSE MERCATOR PROJECTION,是一种"等角横轴割圆柱投影",椭圆柱割地球于南纬80度、北纬84度两条等高圈,投影后两条相割的经线上没有变形,而中央经线上长度比0.9996,该投影方法按经度分为60个带,每带6度,从西经180度起算。如下图所示为全球的UTM投影,北京所在的区域在第50个投影带上。每个投影带上的一个坐标(x,y,z)可以唯一地表示地球上一个点,高度使用WGS84坐标系统中的大地高度。
- 特点
坐标(x,y)加投影带号才能唯一表示地球一表面。
坐标与经纬度或者ECEF坐标系有确定的转换关系。
2.2.5 车体坐标系(b系)
如下图所示为车辆的车体坐标系(b系),车体坐标系原点在载体质量中心与载体固连(对于车载,我们选取原点位于后轴中心位置),X轴沿载体轴向指向右,Y轴指向前,Z轴与X轴和Y轴满足右手法则指向天向。该坐标系通常称为"右-前上(R-F-U)"坐标系,与之相对应的还有"前-左-上(F-L-U)"等。
- 特点:
与载体固连在一起,随载体一起转动。
与n系的旋转关系可以表征载体的当前姿态信息。
2.2.6 IMU坐标系
如下图所示为IMU(惯性测量单元)坐标系,IMU坐标系的坐标原点在陀螺仪和加速度计的坐标原点,XYZ三个轴方向,分别与陀螺仪和加速度计的对应轴向平行。在解算惯性导航系统(SINS)中IMU与车体固连,因此在不考虑安装误差角的情况下,载体坐标系也即为IMU坐标系。
2.2.7 相机坐标系
2.2.8 激光雷达坐标系
2.3 无人车定位信息中所涉及的坐标系
3. 百度无人车定位技术
3.1 GNSS定位
3.1.1 GPS定位技术基本原理
3.1.2 载波定位技术
与基于TOA的伪距不同,载波由接收机内部环路锁相环给出的不足整周部分。伪距噪声0.5m~3m,载波噪声1/100周,在2mm。常用的载波定位技术主要包括RTK(目前无人车在用)和PPP技术。
- RTK技术
- 基本原理
20km基线/22000km地卫距,视径重叠误差强相关 - 优势
5秒内即可提供厘米级定位精度 - 劣势
建立基站,双向链路(4kbps)
- PPP技术
- 基本原理
各项误差被分离后终端校正 - 优势
全球均匀布站,单项广播
- RTK与PPP误差的不同处理策略
3.1.3 GNSS在无人车中的作用
- GPS授时
- HD-MAP制图
- RTK在线定位
- 缺点
容易受电磁环境的干扰
在城市、峡谷、高楼受影响较大
3.2 激光点云定位技术
3.2.1 激光点云定位地图格式
3.2.2 基于Histogram Filter的激光点云定位(直方图滤波器)
SSD:Sum of Squared Difference(平方差总和)
基本原理:点云里的每一个点存储着一个颜色信息或者是位置信息,在一定范围内,将扫描得到的点云与地图已有的点云作比较,求平方差的总和,得到概率,进行定位。
3.2.3 基于Lucas-Kanade算法的航向角优化
航向角(Heading Angle)优化与否对SSD直方图分布影响很大。
3.2.4 反射值(基于颜色进行匹配)与高度值(基于高度进行匹配)的自适应融合
基于颜色进行匹配的时候,有可能产生较大误差,而高度值匹配比较准确,因此将两者按照一定比例结合。自适应融合的意思就是,两者的权重不是固定的,而是根据实际情况进行分配的。
- 效果对比
3.3 视觉定位技术
视觉定位是通过识别图像中具有语义信息的稳定特征,并与地图匹配来获得车辆的位置(xyz)和朝向(yaw)
- 特点
- 摄像头技术成熟,结构化地图尺寸小,有利于降低系统生产成本
- 车道线、路灯等道路元素稳定性高,不易变动,地图生命周期较长
- 配置灵活,根据识别算法性能,可以使用不用的特征组合,易于拓展
3.3.1 视觉定位算法流程
-
3D地图
-
在线特征检测
检测车道线和杆状物。 -
特征匹配定位
3.4 捷联惯性导航系统
3.4.1 初始对准