【自动驾驶】19.自动驾驶各个坐标系
WGS84 : 世界坐標(biāo)系,即經(jīng)緯高坐標(biāo)系【經(jīng)度(longitude),緯度(latitude)和高度(altitude)即LLA坐標(biāo)系】
UTM: 世界坐標(biāo)系
ENU: 世界坐標(biāo)系,東北天
ENU 和 UTM 的區(qū)別:
- ENU局部坐標(biāo)系采用三維直角坐標(biāo)系來(lái)描述地球表面,實(shí)際應(yīng)用較為困難,因此一般使用簡(jiǎn)化后的二維投影坐標(biāo)系來(lái)描述。
- UTM: 在眾多二維投影坐標(biāo)系中,統(tǒng)一橫軸墨卡托(The Universal Transverse Mercator,UTM)坐標(biāo)系是一種應(yīng)用較為廣泛的一種。 UTM坐標(biāo)系使用基于網(wǎng)格的方法表示坐標(biāo),它將地球分為60個(gè)經(jīng)度區(qū),每個(gè)區(qū)包含6度的經(jīng)度范圍,每個(gè)區(qū)內(nèi)的坐標(biāo)均基于橫軸墨卡托投影。
FLU: 車身坐標(biāo)系,前左上
SL: SL坐標(biāo)系:某點(diǎn)距離車子的橫向和縱向距離,縱向距離為s,橫向距離為l
以下是坐標(biāo)系俯視圖:
車輛坐標(biāo)系的原點(diǎn)根據(jù)不同車可能會(huì)有所不一樣。一般情況下,車輛坐標(biāo)系原點(diǎn)的高度和IMU的高度保持一致,xy相交于兩個(gè)前輪中心。
現(xiàn)在少部分車就把IMU設(shè)為車輛坐標(biāo)系原點(diǎn),只是imu坐標(biāo)系和車輛坐標(biāo)系的xy方向不一樣(見上圖),所以需要繞Z軸旋轉(zhuǎn)90度,轉(zhuǎn)化為車身坐標(biāo)系。
imu2car文件的參數(shù):
上面的參數(shù)translation是平移向量:
- x、y、zx、y、zx、y、z都為0,就是IMU坐標(biāo)系和車輛坐標(biāo)系原點(diǎn)原點(diǎn)重合。
- 如果x、y、zx、y、zx、y、z不為0,就說(shuō)明中心不重合;
- 如果zzz為0,就說(shuō)明兩個(gè)中心 的高度一致。
上面的參數(shù)rotation是旋轉(zhuǎn)四元數(shù):
x=0、y=0、z=?0.707x=0、y=0、z=- 0.707x=0、y=0、z=?0.707、w=0.707w= 0.707w=0.707,
注:sin(π4)=0.707107sin(\frac{\pi}{4})=0.707107sin(4π?)=0.707107
即
x=x′?sinθ2=0x=x'*sin\frac{\theta}{2}=0x=x′?sin2θ?=0、
y=y′?sinθ2=0y=y'*sin\frac{\theta}{2}=0y=y′?sin2θ?=0、
z=z′?sinθ2=?0.707z=z'*sin\frac{\theta}{2}=-0.707z=z′?sin2θ?=?0.707、
w=cosθ2=0.707w=cos\frac{\theta}{2}=0.707w=cos2θ?=0.707,
其中x′,y′,z′x',y',z'x′,y′,z′是旋轉(zhuǎn)軸的三個(gè)方向的大小。由w可以求解出θ=π2\theta=\frac{\pi}{2}θ=2π?或者θ=?π2\theta=-\frac{\pi}{2}θ=?2π?。
再根據(jù)前面的聯(lián)立方程組,可以得出旋轉(zhuǎn)向量(0,0,1)對(duì)應(yīng)的θ=?π2\theta=-\frac{\pi}{2}θ=?2π?,或者旋轉(zhuǎn)向量(0,0,-1)對(duì)應(yīng)的θ=π2\theta=\frac{\pi}{2}θ=2π?。
但是因?yàn)閆軸正方向是(0,0,1),所以最終求得的結(jié)果是第一個(gè)結(jié)果,即旋轉(zhuǎn)向量(0,0,1)對(duì)應(yīng)的θ=?π2\theta=-\frac{\pi}{2}θ=?2π?,也就是四元數(shù)表示的是繞Z軸旋轉(zhuǎn)θ=?π2\theta=-\frac{\pi}{2}θ=?2π?。
由于四元數(shù)表示的是坐標(biāo)點(diǎn)的變換矩陣,不是坐標(biāo)軸的變換矩陣,所以得到的角度也是坐標(biāo)點(diǎn)的變換。我們知道,坐標(biāo)軸旋轉(zhuǎn)的角度是坐標(biāo)點(diǎn)變換的角度的相反數(shù),請(qǐng)參考【自動(dòng)駕駛】29.坐標(biāo)變換與坐標(biāo)軸旋轉(zhuǎn),所以imu坐標(biāo)系的點(diǎn)經(jīng)過旋轉(zhuǎn)角度?90°-90°?90°的四元數(shù)表示的變換之后,得到車輛坐標(biāo)系的點(diǎn)。
但是imu坐標(biāo)系繞ZZZ軸旋轉(zhuǎn) +90°+90°+90°,得到車輛坐標(biāo)系。
想想上面為什么是θ2\frac{\theta}{2}2θ?呢?
想找到答案,可以參考這篇博客:【Unity技巧】四元數(shù)(Quaternion)和旋轉(zhuǎn)。
x方向被放在前面表述,例如:
- 東北天坐標(biāo)系,東就是表示x方向;
- 北西天坐標(biāo)系,北就是表示x方向;
- 右前天坐標(biāo)系,右就是表示x方向;
- 前左上坐標(biāo)系,前就是表示x方向;
東北天坐標(biāo)系也叫右前天坐標(biāo)系,前左上坐標(biāo)系也叫北西天坐標(biāo)系,只是叫法不同,兩種叫法根據(jù)上北、下南、左西、右東進(jìn)行對(duì)應(yīng)。
并且,同一種坐標(biāo)系叫法,可以用在不同地方,他們的坐標(biāo)系原點(diǎn)也可能不一樣,因?yàn)椴煌瑐鞲衅骰蜍嚿淼淖鴺?biāo)系原點(diǎn)不同。
如:車身坐標(biāo)系和激光雷達(dá)坐標(biāo)系都是前左天坐標(biāo)系,但是他們的坐標(biāo)系原點(diǎn)卻不一樣。
總結(jié)
以上是生活随笔為你收集整理的【自动驾驶】19.自动驾驶各个坐标系的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【自动驾驶】10.百度Apollo平台
- 下一篇: 【自动驾驶】20.自动驾驶中的各种时空坐