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