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