(1) 上層應(yīng)用的核心
要說清楚指南針干擾的問題,我們還是應(yīng)該先談一談GPS這個傳感器。
GPS在我看來簡直是現(xiàn)在各種APP及智能硬件的心臟。有了GPS就催生了一些列的基于位置信息的服務(wù):百度地圖使用GPS來定位及規(guī)劃路線并推薦周圍的各種娛樂等服務(wù),微信/QQ通過位置信息推薦周圍的朋友,Uber/滴滴通過位置信息推薦周圍的司機(jī)和乘客,美團(tuán)/糯米通過位置信息推薦周圍的美食,攜程/同程通過位置信息推薦周圍的酒店及景點,各類運動APP及運動型的智能硬件通過GPS來計算運動的里程、速度以及消耗的卡路里,智能報警硬件也通過GPS來監(jiān)控自行車或者小孩的丟失問題,等等。所以說,GPS催生了海量的服務(wù),制造了無數(shù)的就業(yè)崗位,給我們的生活帶來了不可思議的改變。
(1.1)基于GPS的無人機(jī)上層應(yīng)用
言歸正傳,無人機(jī)可以說是APP和智能硬件的結(jié)合,自然也和GPS有莫大的關(guān)系?,F(xiàn)在看看GPS都在上層應(yīng)用中給無人機(jī)的使用者帶來了哪些優(yōu)質(zhì)的服務(wù):
?、倨椒€(wěn)的懸停。 飛過姿態(tài)模式的模友都知道,飛機(jī)在這種模式下會出現(xiàn)在水平面上漂移,每次拍照的時候,你將分心于控制飛機(jī)的飄動,而無法專注于鏡頭的美景。
?、诰珳?zhǔn)的返航。 沒有GPS,模友將無法在飛機(jī)飛不見的時候,啟動一鍵返航,使得飛機(jī)順利地自動飛回來,也不能再出現(xiàn)低電壓的時候自動飛回。
?、鄣碗娏款A(yù)警。 沒有GPS, 飛機(jī)將不知道自己距離起飛點的距離,不能根據(jù)距離實時的計算當(dāng)前剩余多少電量的時候就應(yīng)該返航了。
?、艿孛嬲痉?wù)。 沒有GPS, 模友們將無法在地面站上指點飛行器的航點,不能讓無人機(jī)自動完成走航點,熱點環(huán)繞等功能。
⑤Follow Me 。 沒有GPS, 基于GPS實現(xiàn)的Follow Me 功能也是無法實現(xiàn)。
⑥APP軌跡顯示。沒有GPS, 模友將不能再APP上看著軌跡對飛機(jī)實現(xiàn)超視距的飛行。
?、吒鞣N行業(yè)應(yīng)用。 沒有GPS,基本上運輸、監(jiān)控、農(nóng)業(yè)等各種行業(yè)應(yīng)用也將無法進(jìn)行。
所以說,沒有GPS, 無人機(jī)將顯得一點也不”智能“。
(1.2)基于GPS的導(dǎo)航系統(tǒng)
再來看看,GPS作為一個傳感器對導(dǎo)航系統(tǒng)都帶來了哪些信息。導(dǎo)航系統(tǒng),可以簡單地理解為是一個對各種傳感器信息進(jìn)行加工處理進(jìn)而輸出位置、速度、姿態(tài)及航向等信息的一個系統(tǒng)?,F(xiàn)在無人機(jī)的導(dǎo)航系統(tǒng),都是集成式的導(dǎo)航系統(tǒng),集成的傳感器包括:加速度、陀螺儀等重要的慣性測量單元(Innertial Measurement Unit, IMU), 指南針,GPS , 視覺傳感器,雷達(dá),超聲波等等。多了GPS之后,導(dǎo)航系統(tǒng)將獲得如下觀測信息:(1)世界坐標(biāo)系下的位置 和(2)世界坐標(biāo)系下的速度。
有了GPS的位置和速度信息,理論上導(dǎo)航系統(tǒng)可以對這些粗略的信息進(jìn)行加工,從而使得無人機(jī)知道自己在世界坐標(biāo)系中的位置和速度。
但這一切都沒有那么簡單,請看下一小節(jié)《(2) 無人機(jī)沒有方向感》。
(2) 無人機(jī)沒有方向感
舉個大家都很常見的問路場景:
Ctrl: ' 請問萬達(dá)廣場怎么走?'
Navi: ' 向北走300m,然后向東走100m就到了。'
Ctrl: ' 對不起,我沒有方向感,不知道北在哪。'
Navi: ' 好吧,改種說法,你向前走300m,然后向右走100m就到了。'
Ctrl: ' 明白了,謝謝。'
在這個場景中,Navi 按 東西南北的方式給 Ctrl 指路的時候,Ctrl因為沒有方向感,所以不理解。但是當(dāng)Navi 按前后左右的方式給 Ctrl 指路的時候,Ctrl就明白怎么走了。從這個對話中,我們可以在對應(yīng)的找到無人機(jī)坐標(biāo)系的概念。無人機(jī)的坐標(biāo)系,一般都會有這樣兩個坐標(biāo)系:“世界坐標(biāo)系”和“本體坐標(biāo)系”:
?、?ldquo;世界坐標(biāo)系” 可以簡單的理解為按照 東西南北 的方式定義的坐標(biāo)系。
②“本體坐標(biāo)系” 可以簡單的理解為按照 前后左右 的方式定位的坐標(biāo)系。
GPS就是在世界坐標(biāo)系,告訴無人機(jī)在世界坐標(biāo)系中的位置和速度。但很不幸的是,無人機(jī)也很沒有方向感!
無人機(jī)最喜歡的運動方式是向左飛或者向右飛,而不是向東飛或者向北飛。于是,在飛控里,必須進(jìn)行坐標(biāo)轉(zhuǎn)換,把”世界坐標(biāo)系“轉(zhuǎn)換到“本體坐標(biāo)系”。
再回到問路這個場景,如果Ctrl的方向感很好,他可以立即搜索一下北向在哪里,然后根據(jù)Navi的第一句話,把Navi的北向轉(zhuǎn)換成前向。無人機(jī)也是如此,需要找到自己的前方與北向的相對方位,才能夠正在的理解”世界坐標(biāo)系“里的位置和速度。而肩負(fù)這個責(zé)任的一個重要的傳感器就是指南針,說道這里,貌似才進(jìn)入了正題。
無人機(jī)的指南針貌似微不足道,其實作用很大,為了啟用基于GPS的各項核心服務(wù),無人機(jī)需要使用 指南針來 連接 ” 世界坐標(biāo)“ 和”本體坐標(biāo)“。
(3)連接兩個世界的獨木橋
航向是連接世界坐標(biāo)系和本體坐標(biāo)系的獨木橋,走歪了方向,將墜落漩渦。
還是先來舉個場景:
A 不小心在墜機(jī)在沙漠中,并得以存活,他決定背上食物,選擇一個方向,不轉(zhuǎn)彎地一直往前走,希望能夠走出沙漠。然而,幾天之后他發(fā)現(xiàn)了一架飛機(jī)的殘骸 。他絕望地發(fā)現(xiàn)自己回到了出發(fā)的地方。
在這個場景中,A一直往前走,最后又繞回了原地,原因其實很簡單。A雖然一直往前走,但是因為人在走路的時候,如果沒有一個固定的參照物在前方糾正自己的步伐,就會因為兩個腿的步長有細(xì)微的差別而緩慢偏離一開始設(shè)定的前方,最終走出一個弧線出來。閉著眼睛走過路的人也能夠有類似的體會,走不到十步,方向其實就已經(jīng)歪了。在沙漠中,因為沒有一個固定的遠(yuǎn)方的參照物,A不幸地走著一個巨大的圈。他是一直往前走,只是他的前方一直在變化。
回到無人機(jī),如果無人機(jī)認(rèn)為的航向總是和真實的航向有一個較大的誤差角,那將會發(fā)生什么呢。
它將在空中畫圈,這就是”走歪了方向,將墜落漩渦”:
?、偃绻窃趹彝顟B(tài),航向誤差小,速度本來比較小的情況,那就在空中畫小圈,表現(xiàn)為懸停不穩(wěn)。
?、谌绻窃诟咚亠w行,航向誤差大的情況下,那將表現(xiàn)為一個較大的圈。
注:上訴推理的原因只是結(jié)果一種充分條件,而不是必要條件。
(4)發(fā)生過的不會忘卻
摘要:指南針干擾量不是一個瞬態(tài)量,它具有歷史屬性,和以前的狀態(tài)有關(guān),因此不是在干凈的地方就一定會有干凈的地磁測量值。
引言:為什么無人機(jī)在很高的地方還是會出現(xiàn)指南針干擾,明明曠無一物,實在是令人費解?。這個小節(jié),就來聊聊這些個令人費解的事兒。引用宮崎駿老爺子在《千與千尋》里表達(dá)的一個思想:”曾發(fā)生過的事請不可能忘記 ,只不過是你想不起罷了。" 盡可能簡單地使大家明白這個道理,但還是要上一些晦澀的內(nèi)容。
補(bǔ)充知識1:
指南針這個傳感器能夠測量周邊的磁場矢量(就是既測磁場大小,又測磁場方向)。也就說,指南針嚴(yán)格意義上來說,應(yīng)該叫做”指磁針“?,F(xiàn)在需要對磁場、地磁以及北向這幾個概念:
①磁場,某個地方一切磁場的疊加,這些磁場包括:地磁、周邊大型的磁性物質(zhì)產(chǎn)生的磁場如果鋼筋混凝土等、周邊電流產(chǎn)生的磁場。
?、诘卮?,摸個地方由地球整體引起的磁場,在不同的地方地磁的方向和大小都不同。
?、郾毕?,北向可以簡單地理解為沿著地面指向北極的方向吧。
再來討論一下這幾個概念之間的關(guān)系:
?、俅艌?不等于 地磁, 只是大部分時候,地磁占主要成分
?、诘卮诺姆较?不等于 北向,只是大部分時候,可以通過補(bǔ)差磁偏角(當(dāng)?shù)卮艌龇较蚝捅毕蛑g的差)而矯正到北向。
從公式的角度來看,我們可以表達(dá)為:1) 磁場 = 地磁 + 磁場干擾量(其他的磁場)(式2) 北向 = 磁場方向 - 磁場干擾量造成的磁場方向偏移 - 地磁本身的磁偏角。補(bǔ)充知識2:
現(xiàn)在的手機(jī)上都有指南針,而且它一般都有一個校準(zhǔn)操作,用過的人可能會比較熟悉。無人機(jī)也有一個指南針校準(zhǔn)操作。那么這個手機(jī)和無人機(jī)上的指南針校準(zhǔn)到底是在干什么呢?其實他們就是利用旋轉(zhuǎn)手機(jī)把磁場干擾量計算出來。指南針的讀數(shù) ,減去 當(dāng)?shù)氐拇艌龈蓴_量,就近似為地磁了,參考(式1)。地磁的磁偏角,在一個特定的位置都是可以查到的,這個也可以隨后減去,這樣一來指南針就可以通過(式2)獲得相對來較為準(zhǔn)確的北向估計了。
言歸正傳,高空的指南針干擾到底是怎么來的?
原因可能特別多,但是我們就來設(shè)想一下這么一個場景:
A 在甲地校準(zhǔn)了指南針,獲得了甲地的指南針干擾量的估計,并保存在飛機(jī)芯片里,然后A在乙地飛行,且乙的指南針干擾量和甲地的相差很多。但不幸的是,無人機(jī)總是會減去以前校準(zhǔn)的那個在甲地估計出來的指南針干擾量, 于是我們就會發(fā)現(xiàn),無人機(jī)因為減去了一個不對的指南針干擾量而使得其測量的方向不是北向了。
簡而言之:
(1)在干凈地方校準(zhǔn)了,在有干擾的地方飛是有問題的。
(2)在不干凈的地方校準(zhǔn)了,在無干擾的地方飛也是有問題的。
校準(zhǔn)時候指南針?biāo)艿降母蓴_,將一直作用于以后的飛行,即使在空曠的高空,也是得承受過去犯下的過錯。”好吧。”模友會說,“那我只能每次飛行前都校準(zhǔn)了,可為何它還是不盡如意?” 那就請等待下回:《(5)信息是碎的》
( 5 ) 信息是碎的
摘要:航向信息的碎片散落在不同的傳感器上,不僅僅是指南針,所以指南針無干擾,也不一定航向估計好。
引言:愛因斯坦說:“熵定律是科學(xué)定律之最”。“熵”這個概念乍一看比較抽象,這不要緊,我們總還是能夠從非常通俗的角度對其獲得形象的理解。高中物理在講永動機(jī)的時候曾經(jīng)介紹過熵增定律:“在自然過程中,一個孤立系統(tǒng)的總混亂度(即“熵”)不會減小。”也就是說,被愛因斯坦理解為科學(xué)定律之最的定律就表達(dá)了一個中心的思想:“上帝估計總喜歡把桌子搞亂,就像那些邋遢的工程師一樣兒。”
熵一開始是用來描述熱物理學(xué)的,后來被香農(nóng)(信息論之父)搞來研究信息,于是就有了信息熵這樣一個概念。插上一句,什么是信息?信息簡單地說就是“比完全隨機(jī)相比更確定一些的事情”:
?、倜魈焓切瞧谖澹@是信息;
?、邳S金價格最近一個月80%可能性會反彈,這是信息;
?、蹮o人機(jī)的航向是北偏東三十度,這是信息。
信息越是確定,其信息熵越小。然而上帝總是喜歡把完好的信息撕成碎片,讓人們費勁腦筋去把它拼湊起來。
今天就來談?wù)劊?ldquo;上帝都把無人機(jī)的航向信息撕成了什么樣的碎片?”
指南針干擾問題的本質(zhì)就是航向估計不準(zhǔn),當(dāng)然能夠感知航向的傳感器不只是指南針,理論上講只要一轉(zhuǎn)頭會隨之發(fā)生改變的傳感器,都帶有航向信息的碎片。只需要順著引言中的哲學(xué)道理去理解航向估計這個問題,模友們將可以跳出指南針干擾這個相對單一的理解,不僅僅是指南針干擾會使得航向估計不準(zhǔn)。
真實的航向只有上帝知道,上帝把航向信息撕碎了揉皺了,丟落各處,這些碎片理論上可以被不同的傳感器所收集:
指南針撿到了,上帝加了磁場干擾,加了噪聲,加了地磁偏角,加了傳感器各種不對稱性等之后的,被揉皺了的航向信息碎片