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