系列文章目录
第一章 自动驾驶坐标系汇总
文章目录
前言
传统地信领域和自动驾驶领域对坐标系有着各自的理解和定义,本文尝试梳理二者的异同点。
一、坐标系定义
1. 地理坐标系
Geographic Coordinate System,一般叫做大地坐标系、LLA坐标系、LLH坐标系,是大地测量以参考椭球面为基准面建立起来的坐标系,地面位置使用经度(longitude)、纬度(latitude)和大地高(altitude/height)表示,包括:
参心坐标系:BLH坐标系,如Beijing 54、Xian 80
地心坐标系:ECEF坐标系,如WGS 84、CGCS 2000
2. 地心地固坐标系 — e系
Earth-Centerd Earth Fixed Coordinate System(ECEF),一种以地心为原点的地固坐标系,如WGS 84。在这个坐标系中,车辆、障碍物和其他静态元素的位置都被定义,不随车辆移动而改变。
3. 投影坐标系
是一种平面坐标系,单位通常为米,投影坐标由地理坐标系及对应的投影方法确定,如WGS 84 + 高斯克吕格投影。
4. 大地站心(地平)坐标系 — L系
Local Cartesian Coordinate System,一般指东北天坐标系(ENU),局部三维直角坐标系,以测站为坐标原点,X轴指向东(East),Y轴指向北(North),Z轴指向天顶(Up)。
5. 导航坐标系 — n系
是惯性导航算法的基本参考坐标系,运动物体在导航坐标系内进行位置、速度、姿态的确定,可选取e系或L系作为导航系。
6. 车身坐标系
以车辆为中心的局部坐标系。原点通常设在车辆的后轴中心,X轴指向车辆的前进方向,Y轴指向车辆的左侧(右手系),Z轴垂直于地面指向天空。车辆坐标系随着车辆的移动和转向而变化。
二、坐标系变换
车身坐标系到地理坐标系的转换包括两步,第一步是平面直角坐标系下的欧式变换,即将感知结果的车身坐标通过先旋转再平移的方式变换为投影坐标,第二步是将投影坐标变换到椭球体下的地理坐标。
1. 平面直角坐标系下的欧式变换
假设时间
t
\bm{t}
t下,点
p
\bm{p}
p的车身坐标系坐标为:
p
=
[
x
y
z
]
∈
R
3
\bm{p}=\begin{bmatrix} x\\ y \\ z\\ \end{bmatrix} \in \mathbb R^{3}
p=
xyz
∈R3
欧式变换后的投影坐标为:
p
p
=
[
x
p
y
p
z
p
]
∈
R
3
\bm{p}_p=\begin{bmatrix} x_p\\ y_p \\ z_p\\ \end{bmatrix} \in \mathbb R^{3}
pp=
xpypzp
∈R3
地理坐标系坐标为:
p
e
=
[
l
o
n
l
a
t
h
e
i
g
h
t
]
∈
R
3
\bm{p}_e=\begin{bmatrix} lon\\ lat \\ height\\ \end{bmatrix} \in \mathbb R^{3}
pe=
lonlatheight
∈R3
当前时刻车身轨迹点的投影坐标为:
v
p
=
[
x
v
p
y
v
p
z
v
p
]
∈
R
3
\bm{v}_p=\begin{bmatrix} x_{vp}\\ y_{vp} \\ z_{vp}\\ \end{bmatrix} \in \mathbb R^{3}
vp=
xvpyvpzvp
∈R3
在表达三维空间旋转时,为了避免奇异性并减少冗余,通常选择使用四元数(Quaternion),假设时间
t
\bm{t}
t下的四元数
q
=
q
0
+
q
1
i
+
q
2
j
+
q
3
k
\bm{q}=q_0+q_1i+q_2j+q_3k
q=q0+q1i+q2j+q3k,
q
0
,
q
1
,
q
2
,
q
3
∈
R
q_0,q_1,q_2,q_3 \in \mathbb R
q0,q1,q2,q3∈R,则对应的旋转矩阵
R
\bm R
R如下:
R
=
[
1
−
2
q
2
2
−
2
q
3
2
2
q
1
q
2
−
2
q
0
q
3
2
q
1
q
3
+
2
q
0
q
2
2
q
1
q
2
+
2
q
0
q
3
1
−
2
q
1
2
−
2
q
3
2
2
q
2
q
3
−
2
q
0
q
1
2
q
1
q
3
−
2
q
0
q
2
2
q
2
q
3
+
2
q
0
q
1
1
−
2
q
1
2
−
2
q
2
2
]
\bm R=\begin{bmatrix} 1-2q_2^2-2q_3^2 \ 2q_1q_2-2q_0q_3\ 2q_1q_3+2q_0q_2\\ 2q_1q_2+2q_0q_3\ 1-2q_1^2-2q_3^2\ 2q_2q_3-2q_0q_1 \\ 2q_1q_3-2q_0q_2\ 2q_2q_3+2q_0q_1 \ 1-2q_1^2-2q_2^2 \\ \end{bmatrix}
R=
1−2q22−2q32 2q1q2−2q0q3 2q1q3+2q0q22q1q2+2q0q3 1−2q12−2q32 2q2q3−2q0q12q1q3−2q0q2 2q2q3+2q0q1 1−2q12−2q22
在时间
t
\bm t
t下,车身坐标系的原点为当前时刻的车身轨迹点,因此此时的平移向量
T
\bm T
T可以表达为:
T
=
v
p
=
[
x
v
p
y
v
p
z
v
p
]
\bm T=\bm v_p=\begin{bmatrix} x_{vp}\\ y_{vp} \\ z_{vp}\\ \end{bmatrix}
T=vp=
xvpyvpzvp
对应的车身坐标
p
\bm p
p到投影坐标
p
p
\bm p_p
pp的公式如下:
p
p
=
R
p
+
T
\bm p_p=\bm R \bm p+\bm T
pp=Rp+T
2. 投影坐标到地理坐标的变换
投影坐标由地理坐标系及对应的投影方式决定,用
P
g
k
\bm P_{gk}
Pgk表示投影,则地理坐标可以表达为:
p
e
=
P
g
k
−
1
p
p
\bm p_e=\bm P_{gk}^{-1}\bm p_p
pe=Pgk−1pp