無人機的GPS海拔數(shù)據(jù)為何不準(zhǔn)確
GPS經(jīng)常是我們談起無人機系統(tǒng)時首先想到的功能模塊,而能夠按照預(yù)先規(guī)劃的飛行路線進行自動飛行,也是無人機在功能上與航模的主要區(qū)別之一。
不管是天上飛的,地上跑的,還是海里游的交通工具或儀器設(shè)備,如果我們希望能引導(dǎo)它們到期望的目標(biāo)位置,就需要獲得被控對象在某個坐標(biāo)系中的具體坐標(biāo),無人機導(dǎo)航也是如此。我們期望無人機從A點飛到B點,就要不斷通過GPS或其它導(dǎo)航儀器獲取無人機當(dāng)下的位置坐標(biāo),并根據(jù)無人機的位置調(diào)整無人機的姿態(tài),最終到達目的地。
在無人機導(dǎo)航中,對GPS的數(shù)據(jù)經(jīng)常出現(xiàn)一些誤解,比如GPS輸出的高度坐標(biāo)是相對于海平面,所以應(yīng)該像經(jīng)緯度一樣可以直接使用;通過GPS獲得的速度信息可以直接使用;IMU輸出的飛行器加速度是平面加速度……
中學(xué)物理知識告訴我們,當(dāng)我們描述物體運動時,一定是相對于特定坐標(biāo)系的,GPS和IMU等設(shè)備在輸出運動和位置數(shù)據(jù)時也是如此,這些問題所涉及的正是無人機導(dǎo)航中的基礎(chǔ)概念——無人機坐標(biāo)系——這也是無人機導(dǎo)航中最容易讓人混亂的概念之一。
無人機導(dǎo)航中常見的坐標(biāo)系包括:
地球中心坐標(biāo)系(ECEF)(EarthCenteredEarthFixedCoordinateSystem,ECEF)
WGS-84大地坐標(biāo)系(WorldGeodeticCoordinateSystem1984)
當(dāng)?shù)厮阶鴺?biāo)系(North-East-DownCoordinateSystem,NED)
機體坐標(biāo)系(BodyFrame)
機體水平坐標(biāo)系(Vehicle-carriedNEDCoordinateSystem)
接下來我們就來簡單說明一下這些坐標(biāo)系在無人機導(dǎo)航中的應(yīng)用。
地球中心坐標(biāo)系(ECEF)
ECEF坐標(biāo)系與地球固聯(lián),且隨著地球轉(zhuǎn)動。圖中O即為坐標(biāo)原點,位置在地球質(zhì)心。X軸通過格林尼治線和赤道線的交點,正方向為原點指向交點方向。Z軸通過原點指向北極。Y軸與X、Z軸構(gòu)成右手坐標(biāo)系。
右手坐標(biāo)系即符合“右手法則”的坐標(biāo)系的統(tǒng)稱,這個法則大家會經(jīng)常見到,它的目的是為了以最簡單的方式確定坐標(biāo)軸以及正方向。如圖,右手拇指,食指,中指“痙攣”狀,其中任意兩個手指與已確定的兩個坐標(biāo)軸及正方向重合,第三個手指的方向就是剩下坐標(biāo)軸的正方向。
WGS-84坐標(biāo)系
GPS輸出的就是這個坐標(biāo)系下的坐標(biāo)數(shù)據(jù)!
完整一點解釋是,GPS單點定位的坐標(biāo)以及相對定位中解算的基線向量屬于WGS-84大地坐標(biāo)系。
WGS-84坐標(biāo)系的X軸指向BIH(國際時間服務(wù)機構(gòu))1984.0定義的零子午面(Greenwich)和協(xié)議地球極(CTP)赤道的交點。Z軸指向CTP方向。Y軸與X、Z軸構(gòu)成右手坐標(biāo)系。
什么“BIH1984.0”聽來很復(fù)雜有沒有!一句話解釋就是:把前面提到的ECEF坐標(biāo)系用在GPS中,就是WGS-84坐標(biāo)系。
上面圖中大家很容易看出GPS輸出的常見定位數(shù)據(jù):經(jīng)度(longitude),緯度(latitude),海拔(altitude)。不知大家有沒有覺得奇怪,為什么有了GPS輸出的海拔高度,我們還是要用氣壓計等其它設(shè)備來輔助定高呢?GPS的海拔數(shù)據(jù)精度沒有辦法支撐無人機高度定位嗎?
這是因為GPS輸出的信息是相對于WGS-84坐標(biāo)系的。我們可以把它看做一個參考橢球體,GPS輸出的高度是垂直于橢球表面的高度而非海平面高度,然而地球可不是一個標(biāo)準(zhǔn)的“橢球體”。
圖中h是GPS測得的相對于橢球表面的高度;H表示正高;N表示大地水準(zhǔn)偏差,即地球?qū)嶋H形狀與參考橢球體的偏差,范圍在正負100m之間,它隨著地球重力分布變化,沒有唯一的確定數(shù)值。所以,GPS直接輸出的海拔數(shù)據(jù)也就會始終存在一個“誤差”了。
NED坐標(biāo)系
上圖清晰地表明了ECEF坐標(biāo)系(藍色)和NED坐標(biāo)系(綠色)之間的關(guān)系。NED坐標(biāo)系是在導(dǎo)航計算時使用的坐標(biāo)系,向量分別指向北,東,地,因此NED坐標(biāo)系也經(jīng)常稱為“北東地坐標(biāo)系”。
我們有了經(jīng)緯度為什么還需要NED坐標(biāo)系呢?GPS可以獲得在WGS-84中的速度向量,為了方便使用速度向量進行無人機控制,我們還要把它轉(zhuǎn)換在無人機所在位置的“平面坐標(biāo)系”下,也就是LocalNED。
機體坐標(biāo)系
機體坐標(biāo)系與飛行器固聯(lián),坐標(biāo)系符合右手法則,原點在飛行器重心處,X軸指向飛行器機頭前進方向,Y軸由原點指向飛行器右側(cè),Z軸方向根據(jù)X、Y軸由右手法則確定。
機體坐標(biāo)系是無人機慣性導(dǎo)航的基礎(chǔ)坐標(biāo)系,IMU中獲得的加速度狀態(tài)信息就是該坐標(biāo)系下的數(shù)值。當(dāng)我們獲取IMU輸出的X軸加速度信息時,是基于機體坐標(biāo)系的,不能直接應(yīng)用在NED坐標(biāo)系下。
所以,如果想要對無人機進行導(dǎo)航控制,就必須能夠正確處理GPS、IMU等硬件輸出的信息,并將這些信信息轉(zhuǎn)化到正確的坐標(biāo)系下。在之后文章中,將為大家詳解無人機導(dǎo)航中的數(shù)據(jù)轉(zhuǎn)換與計算方法。