今天,我們將詳細介紹我們所做的測試,向您展示這個話題的深度。和我一起深入了解,好嗎?
對于新讀者,我想快速回顧幾個概念。如果您是這方面的行家,請直接跳到測試機器人航位推算的性能。
?
機器人航位推算的快速回顧
什么是機器人航位推算?
通過融合來自多個傳感器的數(shù)據(jù),航位推算可以利用隨時間推移測得的速度值和方向信息來估計機器人所在的位置。就像人類一樣,機器人可能不知道自己的確切位置,但它有很強的估計能力。這種能力也被稱為里程計。
使用了什么傳感器?
機器人航位推算算法通常使用車輪編碼器、IMU 和光流傳感器(就像您鼠標里的那個一樣)。在機器人上使用的一些光流傳感器有 LED 光源和激光光源,前者適合在粗糙表面上工作,后者則更適合光滑表面。此外,機器人里程計也可以單獨使用 IMU 和上述兩種傳感器之一來推算位置。
為什么這很有幫助?
一些機器人使用基于攝像頭或激光雷達的同步定位和測繪 (SLAM) 算法來確定它們的位置,而且更整潔。機器人航位推算提供了該算法不可或缺的速度值和方向信息。另一些機器人不需要構(gòu)建持續(xù)的測繪圖(它們只需要在完成工作后返回原點),它們可能只需要進行航位推算就可以確定位置。
備注:這是摘自 CliffNotes/SparkNotes 的基礎(chǔ)知識,幫助讀者理解這篇文章的其余部分。但如果您想了解更多關(guān)于機器人航位推算傳感器的信息,請參閱這篇博文。
?
測試機器人里程計的性能
收集數(shù)據(jù)
我保證會深入研究這個話題,但首先我們得從如何測試算法開始。我們之前在基于國際規(guī)范的模擬居家環(huán)境中收集了數(shù)據(jù)。但是,為了記錄更多與航位推算精度直接相關(guān)的測試數(shù)據(jù),我們在一個更簡單、更小環(huán)境中對更多的方向變化進行了測試。這些更頻繁的變化被整合到以下驅(qū)動算法中:
-
以 0.3 米/秒的速度向前行駛,直到撞墻
-
停止 0.1 秒
-
以 0.2 米/秒的速度后退 0.5 秒
-
以 0.6 弧度/秒隨機旋轉(zhuǎn) 45° 至 180°
甲、該旋轉(zhuǎn)方向以使機器人的航向在其原始航向 720° 內(nèi)為依據(jù)
-
每行駛 60 秒,靜止 5 秒
我們的測試對象是來自享譽全球的消費級機器人制造商的機器人開發(fā)平臺。我們可以借助一個強有力的比較點,比較行業(yè)中佼佼者的發(fā)展水平。除了原始數(shù)據(jù)和來自我們自己研發(fā)的 MotionEngine 模塊的輸出值外,這個測試機器人還有自己的里程計算法輸出值,我們也記錄了這些數(shù)據(jù)。
除這兩組數(shù)據(jù)外,我們還需要實況測量值。為此,我們安裝了紅外攝像頭來覆蓋整個測試空間,跟蹤機器人的位置。這些攝像頭的數(shù)據(jù)被用作實況值。這些攝像頭可以用于各種高精度、低延遲的項目,包括這個自動瞄準弓。
我們在測試中想要調(diào)整的最后一個變量是不同類型的表面。在這些測試中,我們讓機器人在硬木、短絨地毯、長絨地毯、人造瓷磚和這些表面的組合上運行。這些表面會產(chǎn)生與其相關(guān)的傳感器誤差,我們將在后面詳細講述這一點。
現(xiàn)在我們已經(jīng)收集了測試數(shù)據(jù),有了用于比較的實況值,以及在其上運行機器人的許多不同的測試表面,我們需要的最后一個要素是用來確定精度的度量。當我們在衡量定位性能時,比較基于開始位置和結(jié)束位置的誤差非常有用。這種軌跡誤差可以細分為多種類型。
絕對誤差就是機器人認為它所在的位置和它真正所在的位置之間的差值。這很容易理解,但是任何時間點的絕對誤差取決于之前所有時間點的航向和距離誤差的歷史記錄,因此很難普及這個度量。
對于相對誤差,我們會將在測量周期開始時匹配的位置歸零,以消除先前距離誤差的影響。重定向相對誤差也會消除先前航向誤差的影響。最后這個度量可以通過試驗中許多大小固定的窗口計算,為我們提供每單位距離的誤差增長率的連續(xù)視圖。
重定向相對誤差不如絕對誤差直觀,但更適用于處理家用機器人用例中行駛模式和任務(wù)持續(xù)時間的變化。
為了全面了解誤差是如何在整個試驗過程中增加的,我們計算了基于設(shè)定的移動距離(1 米)滑動數(shù)據(jù)窗口期間的重定向相對誤差。換言之,我們計算在每行駛 1 米的距離窗口(為每個數(shù)據(jù)點滑動 1 厘米的窗口)期間算法的相對誤差。
這個曲線圖顯示了在 CDF(累積分布函數(shù))中使用的每個平面和算法對應(yīng)的這些誤差值的分布,如上面的例子所示。查看曲線圖(左邊的線更好),我們可以很容易地將中值性能與最壞情況或其他百分比進行比較,并確定異常值。從這里您可以看到,在所有表面上,使用典型初始校準的動態(tài)校準模型始終比該開發(fā)平臺具有更好的性能。
?
優(yōu)化機器人里程計的性能
這些校準模型意味著什么?為什么校準傳感器很重要?
親愛的讀者,讓我們從更高層次的問題開始。校準傳感器非常重要,因為即使傳感器的質(zhì)量控制在數(shù)據(jù)表上列出的特定規(guī)格內(nèi),但是每個傳感器都是不同的。這就是動態(tài)校準發(fā)揮作用的地方。簡而言之,每個傳感器的行為差異足以影響整體精度,根據(jù)這些差異進行調(diào)整可以充分提高性能。
正如您可能已經(jīng)猜到的那樣,靜態(tài)校準模型使用初始校準,并一直使用它。但是,動態(tài)校準模型使用 IMU 和車輪測量值來調(diào)整光流傳感器的輸出。這可以隨時間推移保持精度不變,無論溫度、車輪打滑率、表面反射、表面柔軟度等等如何變化。
我們在不同類型的地板上進行了測試,因為光流傳感器和車輪會根據(jù)它們行駛的表面做出不同的反應(yīng)。車輪會在表面上打滑,車輪編碼器將給出不準確的讀數(shù)。光流傳感器在某些表面上工作比在其他表面上表現(xiàn)更好,通過仔細校準可以提高其精度。使用傳感器的方式也很重要。機器人使用的領(lǐng)先光流傳感器包括 LED 模式(照亮地板紋理進行跟蹤)和激光模式(誘導(dǎo)可跟蹤的“散斑圖”)。確定何時切換模式,何時保留現(xiàn)有模式,這對于獲得卓越的性能至關(guān)重要。
在各種地板表面上進行細致而詳盡的測試后(見上面的 gif),我們確定了每種光流光模式的典型校準值。每一種傳感器的比例都需要根據(jù)地板類型進行調(diào)整。通過動態(tài)校準,IMU 數(shù)據(jù)可以幫助在運行過程中實時調(diào)整初始校準。
我們分析中使用的調(diào)諧校準方法反映了校準精度的上限。計算方法是通過我們的算法離線傳送原始傳感器數(shù)據(jù),然后調(diào)整光流傳感器的比例,使誤差盡可能接近于 0。
我們的分析結(jié)果表明,在各種表面上使用最實際可行的機器人校準模式(動態(tài),典型)進行測試時,我們比市場領(lǐng)先企業(yè)的精度高出 22% 以上。
這篇博文旨在強調(diào)我們的測試和分析能力,并希望吸引您深入了解更多細節(jié)。如果您感興趣,請掃描下方二維碼聯(lián)系我們,了解更多關(guān)于 MotionEngine Scout 可以為您的機器人項目帶來哪些益處,并關(guān)注即將發(fā)布的白皮書,其中詳細介紹了我們的測試和分析的更多細節(jié)。
原文標題:機器人航位推算:深入研究里程計測試與分析
文章出處:【微信公眾號:CEVA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
dsp
+關(guān)注
關(guān)注
552文章
7959瀏覽量
347929 -
藍牙
+關(guān)注
關(guān)注
114文章
5751瀏覽量
169596 -
CEVA
+關(guān)注
關(guān)注
1文章
177瀏覽量
75861
原文標題:機器人航位推算:深入研究里程計測試與分析
文章出處:【微信號:CEVA-IP,微信公眾號:CEVA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論