傳感器融合是結合多個物理傳感器以產生準確的“地面事實”的藝術,即使每個傳感器本身可能不可靠。了解傳感器融合背后的方式和原因。
你怎么知道你在哪里?什么是真實的?這是傳感器融合應該回答的問題。不是以哲學的方式,而是字面上的“我會自動撞入白宮嗎?因為我被告知不要這樣做”,這種方式內置于商業四軸飛行器的固件中。
傳感器遠非完美的設備。每個人都有讓他們發瘋的條件。
慣性測量單元是一個經典,有些 IMU 芯片在紙面上看起來很優越,但在某些條件下(例如在沒有橡膠墊的四軸飛行器上以 60 公里/小時的速度在空中飛行),在現場卻因“鎖定”而贏得了聲譽。
在這些情況下,IMU 可能會受到振動(在符合規格范圍內)的影響,從而使諧波與微機械部件相匹配。IMU 可能設計用于帶有擺動器的手機,而不是用于以 20,000 RPM 嗡嗡作響的多個電機旁邊。突然,機器人認為它正在翻轉(實際上并非如此)并旋轉以進行補償。一些飛行員帶著數據記錄器飛行,并捕捉到了壯觀墜機前 IMU 突然發出噪音的瞬間。
那么,我們如何應對不完善的傳感器呢?我們可以添加更多,但這不是讓問題變得更加復雜嗎?
擁有的傳感器越多,您的盲點就會越小。但為了處理由此產生的模糊性,數學變得更加困難。用于進行傳感器融合的現代算法是“置信傳播”系統——卡爾曼濾波器就是典型的例子。
Naze32 飛行控制器帶有機載“傳感器融合”慣性測量單元。這架飛機已經飛過很多次了。
卡爾曼濾波器
從本質上講,該算法對每個傳感器都有一組“置信”因素。每個循環中,來自傳感器的數據都用于統計改進位置猜測,但也會對傳感器的質量進行判斷。
機器人系統還包括對現實世界知識進行編碼的約束,即物理對象在空間中平穩且連續地移動(通常在輪子上),而不是像 GPS 坐標樣本可能暗示的那樣進行傳送。
這意味著,如果一個始終提供出色、一致值的傳感器開始告訴您不太可能且坦率地說不可能的事情(例如當您進入隧道時的 GPS/無線電系統),則該傳感器的可信度評級會在幾毫秒的迭代內降級,直到它出現為止。又開始講道理了。
這比僅僅求平均或投票要好,因為卡爾曼濾波器可以應對大多數傳感器暫時瘋狂的情況,只要其中一個傳感器保持良好的意義。它成為機器人度過黑暗時期的生命線。
卡爾曼濾波器是馬爾可夫鏈和貝葉斯推理等更一般概念的應用,這些概念是使用證據迭代完善猜測的數學系統。這些工具旨在幫助科學本身檢驗想法(也是我們所謂的“統計顯著性”的基礎)。
卡爾曼濾波器的表示。圖片由 Petteri Aimonen 通過Wikimedia Commons創建。
因此,可以詩意地說,一些傳感器融合系統正在表達科學的本質,每秒一千次。
卡爾曼濾波器幾十年來一直用于空間衛星的軌道站保持,并且它們在機器人技術中變得越來越流行,因為現代微控制器足以實時運行算法。
PID過濾器
更簡單的機器人系統具有 PID 過濾器。這些可以被認為是由一個傳感器饋送的原始卡爾曼濾波器,所有迭代調整都被砍掉并替換為三個固定值。
即使自動調整或手動設置 PID 值,整個“調整”過程(調整、飛行、判斷、重復)也是卡爾曼的外化版本,由人類執行置信傳播步驟。基本原則還是有的。
自定義過濾器
真實的系統通常是混合體,介于兩者之間。
完整的卡爾曼包含對機器人有意義的“控制命令”術語,例如:“我知道我向左轉動了方向盤。指南針顯示我要向左行駛,GPS 認為我仍在直行。我該相信誰?”
即使對于恒溫器(經典的簡單的控制回路),卡爾曼濾波器也知道它可以通過擺弄旋鈕并等待觀察發生的情況來判斷溫度計和加熱器的質量。
單個傳感器通常無法影響現實世界,因此這些術語會從數學中消失,而大量的能量也會隨之而來。但是你仍然可以應用交叉檢查信念傳播思想和“無瞬移”約束,即使我們不能完全關閉控制循環,
權衡傳感器
在本文的其余部分中,我們將關注物理位置,但相同的想法適用于您想要測量的任何數量。您可能認為使用多個相同類型的備用傳感器是可行的方法,但這通常會以不幸的方式結合它們相同的弱點。混合系統更強。
讓我們將一般問題表述為“我不想讓我的四軸飛行器墜毀”,將故障條件定義為快速飛行的機器人與被稱為“無情地面”的分形表面的任何交集。
我們很快就會發現,沒有任何一種商品傳感器可以讓我們 100% 信任。那么為什么機器人不會從天而降呢?因為每個人都解決了更大的數獨謎題的不同片段,直到只剩下真相。
讓我們回顧一下四軸飛行器上可能會發現的一些典型傳感器,并討論它們的優點、缺點以及在傳感器融合的“數獨難題”中的總體地位。
定位系統
這是顯而易見的選擇,但是哦,局限性!樣本誤差可能有兩米,而且偏差會隨著衛星的變化而漂移。
如果您想使用 GPS 獲得到厘米的位置,則需要將其固定到位并在幾天內進行測量。那不是我們想要的。在空中高速移動時,即使是 100Hz GPS 裝置也無法進行時間平滑。這比飛行控制器的主事件循環慢 20 倍。
GPS 也無法告訴您您面朝哪個方向。僅取決于您移動的方向。
此外,Z 分辨率(高度)的可靠性可達到緯度和經度的 1/10。我們必須給地面大概20米的余地。
哦,GPS 本身并不能告訴你距地面有多遠,只能告訴你距海平面有多遠。合乎邏輯的解決辦法是在起飛前讀取讀數,但這樣一來我們就會出現另一個 20 米的誤差條。而且,地平面對 GPS 信號的影響在飛行中是不同的,因此我們不能假設這些誤差會在長期內消失 - 盡管它們一開始會消失!
但這仍然無法阻止我們飛入山中。
一款商品 GPS 接收器,可通過 I 2 C輕松與微控制器連接。
一個 GPS 是不夠的。我們無法在 20-40 米的平坦地面上可靠地飛行,這距離空中至少有五層樓高,這對于安全裕度來說還有很長的路要走。不要誤會我的意思,能夠以 20 米的垂直誤差范圍定位自己在世界上的任何地方,這真是太神奇了……但這并不能阻止我們崩潰。這需要環路中的差分 GPS 地面站、昂貴的高速接收器和一些非常好的拓撲圖。
聲納、激光雷達、雷達/光流
因此,如果使用衛星對自己進行三角測量并不是避開地面的方法,那么我們就嘗試直接“看到”它!
至少有三種現成的測距技術可以發出 ping 信號并查看反彈需要多長時間:聲納、激光雷達,顯然還有雷達模塊。
然而,這些傳感器也有弱點:
有些表面根本不反射信號。窗簾和地毯吸收超聲波,深色油漆吸收激光雷達,水吸收微波。你無法避免你看不到的東西。
當您將多個相同的傳感器彼此靠近時會發生什么,這一點不太明顯。您如何知道檢測到的“ping”是您的?即使是單個傳感器也必須應對自身的串擾,等待足夠長的時間讓回聲消失。
可以對信號進行“編碼”(基本上是對它們進行加密),以便每個 ping 都是的,但這會增加設備的復雜性。第二個解決方案是半隨機化您的 ping 計劃,這樣您就不會鎖定時間并始終被同步 ping 欺騙。
光流傳感器是一種不同的方法,使用相機來查看鏡頭中的所有物體是否變大(表明地面/墻壁正在快速上升)或變小(當障礙物消失時)或向側面滑動。相機不會像聲納那樣互相干擾,如果您真的很聰明,您可以估計傾斜和其他 3D 屬性。
光流傳感器仍然存在“吸收”弱點。你需要一個漂亮的紋理表面讓它們看到流動,就像它們所基于的光學鼠標不能在玻璃上工作一樣。它們變得越來越流行,因為流計算現在可以安裝到 FPGA 或快速嵌入式計算機中。
圖像傳感器(例如這款 2K 分辨率的 Raspberry Pi 相機)可用于“光流”避障。
幾何學
一個問題是幾何問題。考慮在四軸飛行器上飛行的物理傳感器。畢達哥拉斯說,如果你處于一個角度,那么地面看起來會比實際距離更遠。傾斜得足夠大,我們根本看不到它,盡管我們距離墜毀只有幾厘米。
為了糾正這個問題,我們需要了解自己的傾向。這意味著。..
陀螺儀與加速度計合并在一起并被稱為“IMU”,但它們經常一起出現的原因是它們自然地掩蓋了彼此的主要弱點。他們是經典的融合組合。
但是,單獨而言,陀螺儀是連續位置測量所需的、干凈的傳感器數據單一來源。
無需贅述,陀螺儀是由蝕刻到芯片表面的微機械音叉構建的。當芯片旋轉時,一些音叉上會受到力,并且它們會相互改變音高。(唉,沒有微型陀螺——那太簡單了。)
MEMS 陀螺儀幾乎不受除旋轉之外的所有運動的影響。即使嚴重的振動也不會影響它們(在規格范圍內),因為那是橫向加速度。
如果您查看多旋翼飛行器的內部控制回路,就會發現飛行控制器使用陀螺儀來保持空中水平。一些速率模式飛行員完全關閉加速度計,為陀螺儀提供更多帶寬。這足以說明陀螺儀的重要性。
MEMS 陀螺儀傳感器的內部。圖片由極客媽媽項目提供。
如果您知道半毫秒前您所在的位置,并且想知道此后發生了什么變化,那么陀螺儀快速、準確且可靠。他們不需要彈性表面或衛星。沒有它們,四軸飛行器實際上無法直立飛行。
陀螺儀的弱點是漂移。無論你多么努力,它們似乎都圍繞著一個隨機軸慢慢旋轉。每次旋轉需要幾分鐘,但即使是一塊不動的磚塊也會顯得輕輕旋轉。累積相對樣本以獲得“”估計也會將誤差條加在一起。上升的陀螺儀誤差需要通過外部參考標記定期“歸零”。
加速度計
這就是為什么加速度計是陀螺儀的朋友:因為它檢測到的“向下”參考(至少,當它們處于地球引力中時)。
好吧,無論如何,平均而言。它每時每刻都在承受重力、線性加速度、旋轉產生的離心力、振動、巨大的噪音,當然還有傳感器缺陷。
因此,盡管加速度計數據具有高采樣率和良好的 MEMS 傳感器精度(通常與陀螺儀一樣好),但它是嘈雜且不可信的數據之一。它正在接收多個必須消除歧義的“信號”。但正是對所有這些不同信號的敏感性使其具有如此多的用途。它聽到 一切。
加速度距離我們真正想知道的東西(位置)也有兩個積分步驟,所以我們必須總結大量的增量和誤差條,從測量的加速度到估計的速度,然后我們必須再次這樣做才能得到估計位置。錯誤堆積起來。
這就是為什么 GPS 是加速度計的朋友:因為它定期將不斷增長的位置誤差“歸零”,就像加速度計輕輕地將陀螺儀的方向誤差歸零一樣。
加速度計傳感器芯片示例。圖片由視差提供。
磁力計
好的指南針不應被忽視。然而,與加速度計一樣,它通常用作控制長期陀螺儀漂移的方法。知道哪條方向是向上比知道哪條方向是磁北更有用——但是,有了這兩者,我們就可以知道我們在地球上真正的方向。
磁力計樣本也非常嘈雜,特別是如果附近有電機的話。它們會受到各種環境影響,無論是鋼制建筑框架還是有趣的巖石。
它們經常與 GPS 接收器配對,因為它們可以克服彼此的弱點,同時在其他方面非常匹配。一種給出粗略的位置,另一種給出粗略的方向。如果您的機器人被限制在輪子上(而不是像傻瓜一樣飛來飛去),那么這確實是您所需要的。
評論
查看更多