指南針幹擾之痛
玩飛機的模友都很害怕遇到「指南針幹擾」這個「夢魘」, 每當APP上提示」指南針幹擾「,心情都會立馬變得很緊張,好像不可預測的危險即將出現。為了避免出現」指南針幹擾「問題,模友們都習慣性地在飛行前校準指南針,但即使這樣依舊會在空中出現這一提示,不免讓人感到憤怒及疑惑。這裡僅以個人拙見,毫無系統地對」指南針幹擾「及其對無人機的飛行品質和安全造成影響的原因進行分析。
1 上層應用的核心
要說清楚指南針幹擾的問題,我們還是應該先談一談GPS這個傳感器。
GPS在我看來簡直是現在各種APP及智能硬體的心臟。有了GPS就催生了一些列的基於位置信息的服務:百度地圖使用GPS來定位及規劃路線並推薦周圍的各種娛樂等服務,微信/QQ通過位置信息推薦周圍的朋友,Uber/滴滴通過位置信息推薦周圍的司機和乘客,美團/糯米通過位置信息推薦周圍的美食,攜程/同程通過位置信息推薦周圍的酒店及景點,各類運動APP及運動型的智能硬體通過GPS來計算運動的裡程、速度以及消耗的卡路裡,智能報警硬體也通過GPS來監控自行車或者小孩的丟失問題,等等。所以說,GPS催生了海量的服務,製造了無數的就業崗位,給我們的生活帶來了不可思議的改變。
(1.1)基於GPS的無人機上層應用
言歸正傳,無人機可以說是APP和智能硬體的結合,自然也和GPS有莫大的關係。現在看看GPS都在上層應用中給無人機的使用者帶來了哪些優質的服務:
(1)平穩的懸停。 飛過姿態模式的模友都知道,飛機在這種模式下會出現在水平面上漂移,每次拍照的時候,你將分心於控制飛機的飄動,而無法專注於鏡頭的美景。
( 2 ) 精準的返航。 沒有GPS,模友將無法在飛機飛不見的時候,啟動一鍵返航,使得飛機順利地自動飛回來,也不能再出現低電壓的時候自動飛回。
( 3)低電量預警。 沒有GPS, 飛機將不知道自己距離起飛點的距離,不能根據距離實時的計算當前剩餘多少電量的時候就應該返航了。
(4)地面站服務。 沒有GPS, 模友們將無法在地面站上指點飛行器的航點,不能讓無人機自動完成走航點,熱點環繞等功能。
(5)Follow Me 。 沒有GPS, 基於GPS實現的Follow Me 功能也是無法實現。
(6)APP軌跡顯示。沒有GPS, 模友將不能再APP上看著軌跡對飛機實現超視距的飛行。
( 7)各種行業應用。 沒有GPS,基本上運輸、監控、農業等各種行業應用也將無法進行。
所以說,沒有GPS, 無人機將顯得一點也不」智能「。
(1.2)基於GPS的導航系統
再來看看,GPS作為一個傳感器對導航系統都帶來了哪些信息。導航系統,可以簡單地理解為是一個對各種傳感器信息進行加工處理進而輸出位置、速度、姿態及航向等信息的一個系統。現在無人機的導航系統,都是集成式的導航系統,集成的傳感器包括:加速度、陀螺儀等重要的慣性測量單元(Innertial Measurement Unit, IMU), 指南針,GPS , 視覺傳感器,雷達,超聲波等等。多了GPS之後,導航系統將獲得如下觀測信息:(1)世界坐標系下的位置 和(2)世界坐標系下的速度。
有了GPS的位置和速度信息,理論上導航系統可以對這些粗略的信息進行加工,從而使得無人機知道自己在世界坐標系中的位置和速度。
2 無人機沒有方向感
舉個大家都很常見的問路場景:
Ctrl: ' 請問萬達廣場怎麼走?'
Navi: ' 向北走300m,然後向東走100m就到了。'
Ctrl: ' 對不起,我沒有方向感,不知道北在哪。'
Navi: ' 好吧,改種說法,你向前走300m,然後向右走100m就到了。'
Ctrl: ' 明白了,謝謝。'
在這個場景中,Navi 按 東西南北的方式給 Ctrl 指路的時候,Ctrl因為沒有方向感,所以不理解。但是當Navi 按前後左右的方式給 Ctrl 指路的時候,Ctrl就明白怎麼走了。從這個對話中,我們可以在對應的找到無人機坐標系的概念。無人機的坐標系,一般都會有這樣兩個坐標系:「世界坐標系」和「本體坐標系」:
(1)「世界坐標系」 可以簡單的理解為按照 東西南北 的方式定義的坐標系。
(2)」本體坐標系「 可以簡單的理解為按照 前後左右 的方式定位的坐標系。
GPS就是在世界坐標系,告訴無人機在世界坐標系中的位置和速度。但很不幸的是,無人機也很沒有方向感!
無人機最喜歡的運動方式是向左飛或者向右飛,而不是向東飛或者向北飛。於是,在飛控裡,必須進行坐標轉換,把」世界坐標系「轉換到「本體坐標系」。
再回到問路這個場景,如果Ctrl的方向感很好,他可以立即搜索一下北向在哪裡,然後根據Navi的第一句話,把Navi的北向轉換成前向。無人機也是如此,需要找到自己的前方與北向的相對方位,才能夠正在的理解」世界坐標系「裡的位置和速度。而肩負這個責任的一個重要的傳感器就是指南針,說道這裡,貌似才進入了正題。
無人機的指南針貌似微不足道,其實作用很大,為了啟用基於GPS的各項核心服務,無人機需要使用 指南針來 連接 」 世界坐標「 和」本體坐標「。
3 連接兩個世界的獨木橋
航向是連接世界坐標系和本體坐標系的獨木橋,走歪了方向,將墜落漩渦。
還是先來舉個場景:
A 不小心在墜機在沙漠中,並得以存活,他決定背上食物,選擇一個方向,不轉彎地一直往前走,希望能夠走出沙漠。然而,幾天之後他發現了一架飛機的殘骸 。他絕望地發現自己回到了出發的地方。
在這個場景中,A一直往前走,最後又繞回了原地,原因其實很簡單。A雖然一直往前走,但是因為人在走路的時候,如果沒有一個固定的參照物在前方糾正自己的步伐,就會因為兩個腿的步長有細微的差別而緩慢偏離一開始設定的前方,最終走出一個弧線出來。閉著眼睛走過路的人也能夠有類似的體會,走不到十步,方向其實就已經歪了。在沙漠中,因為沒有一個固定的遠方的參照物,A不幸地走著一個巨大的圈。他是一直往前走,只是他的前方一直在變化。
回到無人機,如果無人機認為的航向總是和真實的航向有一個較大的誤差角,那將會發生什麼呢。
它將在空中畫圈,這就是」走歪了方向,將墜落漩渦」:
(1) 如果是在懸停狀態,航向誤差小,速度本來比較小的情況,那就在空中畫小圈,表現為懸停不穩。
(2)如果是在高速飛行,航向誤差大的情況下,那將表現為一個較大的圈。
註:上訴推理的原因只是結果一種充分條件,而不是必要條件。
對於畫圈的深層次機理,可以從高中物理等簡單的知識中獲取類比。一個物體做曲線運動的根本原因是有垂直於其速度方向的力作用於該物體。懸停,無非是通過反饋控制的原理,在速度的反方向上產生一個推力,使得速度減為零。
現在來模擬這樣一個過程:
(1)GPS告知無人機在北向上有速度,為了懸停,希望無人機在南向上施加一個推力,將速度減為零。
(2)無人機因為認為的航向總是和真實的航向有一定的誤差角,所以給出的推力方向是南偏東一點。
(3)於是,無人機的東向上就有了一個推力的分力。而這個分力就垂直於飛機真實的北向速度,曲線運動由此開始。
4 發生過的不會忘卻
指南針幹擾量不是一個瞬態量,它具有歷史屬性,和以前的狀態有關,因此不是在乾淨的地方就一定會有乾淨的地磁測量值。
為什麼無人機在很高的地方還是會出現指南針幹擾,明明曠無一物,實在是令人費解?。這個小節,就來聊聊這些個令人費解的事兒。引用宮崎駿老爺子在《千與千尋》裡表達的一個思想:」曾發生過的事請不可能忘記 ,只不過是你想不起罷了。" 儘可能簡單地使大家明白這個道理,但還是要上一些晦澀的內容。
補充知識1:
指南針這個傳感器能夠測量周邊的磁場矢量(就是既測磁場大小,又測磁場方向)。也就說,指南針嚴格意義上來說,應該叫做」指磁針「。現在需要對磁場、地磁以及北向這幾個概念:
(1)磁場,某個地方一切磁場的疊加,這些磁場包括:地磁、周邊大型的磁性物質產生的磁場如果鋼筋混凝土等、周邊電流產生的磁場。
(2)地磁,摸個地方由地球整體引起的磁場,在不同的地方地磁的方向和大小都不同。
(3)北向,北向可以簡單地理解為沿著地面指向北極的方向吧。
再來討論一下這幾個概念之間的關係:
(1)磁場 不等於 地磁, 只是大部分時候,地磁佔主要成分
(2)地磁的方向 不等於 北向,只是大部分時候,可以通過補差磁偏角(當地磁場方向和北向之間的差)而矯正到北向。
從公式的角度來看,我們可以表達為:
(式1) 磁場 = 地磁 + 磁場幹擾量(其他的磁場)
(式2) 北向 = 磁場方向 - 磁場幹擾量造成的磁場方向偏移 - 地磁本身的磁偏角。
補充知識2:現在的手機上都有指南針,而且它一般都有一個校準操作,用過的人可能會不叫熟悉。無人機也有一個指南