當前位置: 華文問答 > 數位

掃地機器人是如何實作精準避障的?

2022-09-23數位

大家好,我是 @森山,家用電器話題下優秀答主,本職工作是20年的硬體工程師,這是個我非常感興趣的問題,雖然之前和此類技術有相關性的產品,我做過安防IPC、雷射雷達、三維掃描器和深度相機的開發,業余也測試過不下十台掃地機器人,但掃地機技術的叠代升級讓我眼花繚亂,幾乎每個月都有新型號推出,在廣告宣傳上,各種專業詞匯或一些擦邊球的描述讓人困惑,一時吃不準到底是基於什麽原理的方案。

早就想寫一篇掃地機避障技術的文章,但要把這些技術點通俗易懂的表達出來,讓普通使用者也能看懂,是非常難的,需要很多圖形化的方式來介紹,這一點比較麻煩,我找了很多資料。

我也是一邊找資料,一邊分析、驗證,判斷不合理的地方,專業人士請多指正。

本文的思路,我 按照避障所用到的傳感器方案作為切入點 ,後面再列舉一些實際的產品來對應:

【零維雷射】點雷射LDS和避障的關系

  • 功能:測量某一高度水平面的地圖,用於建圖,定位,以及部份避障功能。
  • 優點:可以主動旋轉360度,全向測距。
  • 缺陷:因為是點光源,只能獲取二維平面圖;並且受限於高度,只能檢測LDS傳感器光源所在高度的數據,低矮處的障礙物無法辨識。
  • 它的樣子是這樣,凸起在掃地機頂部:

    這類傳感器拆開來是這樣,兩個水汪汪的透鏡裏面,一個雷射發射管,一個接收管:

    原理是飛行時間(Time Of Fly,簡稱TOF),透過發出至接收到時間的長短,來計算物體的距離,距離越遠,時間越久:

    由於一個雷射管發射出去的訊號只對準了一個角度,無法視察周邊所有物體,所以工程師們在雷射收發管的基礎上加了一個用電機旋轉的機構,來實作全形度的掃描檢測:

    發出的雷射是脈沖式的,掃描到的距離資訊,被機器人的CPU,繪制成一張平面圖形:

    看到這裏,大家應該明白了,LDS最大的作用是建圖和定位,理論上也能起到部份避障的功能,但是低於LDS傳感器高度的一些障礙物,它是無法檢測到的,比如襪子,電線等等。

    所以,為了彌補這種低矮避障物檢測盲區,在早期的掃地機產品中,還有兩種正面避障手段:機械避障、簡單紅外避障、甚至是超音波避障。

    【非雷射】機械避障、簡單紅外避障、超音波避障的種種缺陷

    這3種避障方式技術簡單,且效能不佳,所以我放在一起了。

    機械避障 就是大家熟知的碰撞式避障,機殼前方的碰撞外殼是有行程的,內部有一個彈性的輕觸開關,撞到時會有輕微的哢噠聲:

    紅外避障 ,下圖中左右兩側是普通的紅外發射管,中間黑色部份是紅外接收管,較後來的雷射方式,它的能量不夠集中,只適合近距離檢測,成本很便宜,盲區大,易受外部光源影響,而且這類紅外管經常被用於開關狀態使用,電路上沒有做接收強度采集,所以無法測距,效能較差,在掃地機上主要是輔助避障,要不然就沒有機械避障什麽事了:

    超音波避障,嚴格意義上來說,這是一種最古老的ToF技術方案,也是透過測量波形反射後的時間來計算距離,但常用的超音波傳感器頻率很低,KHz級別,這個波的速度慢,也就導致了采集的周期長,在掃地機上使用效能不行,但是這個傳感器對於相對距離固定且較近的場景比較適合,所以在掃地機的背面,我們能看到有一個圓形的裝置,它就是超音波原理,被用於地毯介質的檢測:

    由於地毯的織物對訊號反射能力比硬質光滑地面要弱,所以它的波形有明顯的不規則特征。機器人判斷出這類特征後,為其他行為做出決策,比如現在一些掃地機帶有的拖布,遇到地毯時就會擡起。


    並且這個超音波傳感器一般會裝在機身正面邊緣處,以方便最快時間檢測到地毯,讓機器人做出迅速決策。

    【一維雷射】線雷射方案主要用於正、側面近距離障礙物測距

    前面提到的LDS方案,它的雷射是點光源,由於高度的限制,即使在掃描方式下,也只能獲取室內環境中該高度的二維資訊,所以低矮的障礙物,它是掃描不到的。

    而第二部份的三種傳感器機械避障要靠碰撞,紅外避障精度差,超音波避障反應慢等缺點,使得掃地機在行進過程中很難做到有效避障。

    線雷射方案被套用到掃地機上,線雷射可以理解為很多個點雷射排列在一條直線上,均勻分布:

    實際上,它是由光源透過光學結構實作的單線光源,它投射到平整物體上的形狀就是一條直線。

    有了雷射發射管也不夠,一般都會配一個接收的網路攝影機或APD線陣采集,並且這種發射和接收呈現處一定的角度,所以現在的線雷射收發器被整合到一個相對固定的模組中,也叫「固態」線雷射。

    它的原理是結構光的三角測距:

    到了這裏,很多人估計會不耐煩了,說了這麽多,線雷射到底能測什麽?

    1. 如果配合轉動機構,它可以測到三維資訊。
    2. 如果沒有轉動機構,它只能測單條線上的距離資訊。

    我在網上找到了三種線雷射的測距方式,它呈現出來的三種不同的線雷射角度:

    左邊是垂直線雷射,它可以檢測LDS以下一定高度範圍內的近距離障礙物,這種線束方案, 可以測距 ,而且理論上 透過機器的轉動,是可以實作三維掃描 的,但是這個演算法比較難,機器轉動的路徑很難計算。

    所以最簡單有效的方式,是線雷射遇到障礙物會出現折彎,中間的紅外sensor辨識到如果直線折彎,就認為有障礙物,如下圖,如果前方是地面,采集到的影像應為直線,如果前方有障礙物,如遇到了書架,這條直線就改變了方向,下圖綠色指示出它的變化:

    右上是水平交叉線雷射,覆蓋的角度更大。

    右下是水平單線雷射,探測機器正前方一定角度內,地面平整度,一旦有明顯障礙物,就會發生扭曲。

    這三種方案,其 目的都是為了實作機器人正前方近處障礙物的距離辨識,只是雷射線束的角度和數量不同,效果會有差異

    此外,線雷射也被用於掃地機的 右側方測距 ,主要是為了更好的沿邊清潔效果,雷射的精度和采集速度都會更好。

    【二維雷射】面雷射方案,更強更精細的三維辨識

    二維雷射,顧名思義,它區別於點光源和線光源,是一種面光源,這類光源通常被用作辨識物體的三維形狀。

    它的光源,常用的器件是VCSEL,垂直腔面發射雷射器,結構原理是這樣的,圖中下半部份:

    它的系統設計一般是這樣的架構:

    Vcsel打出一個面光源雷射,打到物體上,綠色透鏡可以接受對應頻段的雷射光源,中間的Pixel matrix類似於我們普通網路攝影機的CMOS,只不過這類tof sensor的像素做不到很大,以Sony為例,640x480已經是非常高的像素:

    除了Sony,還有松下、Melexis等少數幾家公司,但是隨著tof sensor在未來幾年內在AR/VR、雷射雷達(車載)、工業的機器視覺、3D掃描、無人機等等任何一個領域的爆發,可能都會大幅提升分辨率,成本也會隨著量產降低。

    當然有了深度還不夠,所以一般tof方案還會配合RGB網路攝影機作為深度圖和現實圖的結合套用,其實就是RGBD相機。

    深度相機的外觀,就是下面這樣,一個小方塊一般就是Vcsel雷射源,鄰近的網路攝影機是Tof sensor,右邊那個小孔是廣角的普通網路攝影機,如果您在掃地機正前方看到類似的結構,一般就是面陣雷射,是可以對前方物體做3D建模的,不但可以判斷物體的距離,也可以判斷物體的外形。

    說了這麽多,二維雷射能做到什麽效果呢?以之前我在計畫中記錄的圖片來做個範例:

    掃地機的透過ISP對采集的影像進行處理,透過CPU演算法對障礙物的外形辨識,比如常規的電線、鞋子、椅子腿等等,未來還會加入更多可能的物體模型,再一個就是對物體距離的辨識,來計算是否應該減速、剎車,進而避開。

    所以這種方式下,對障礙物的辨識更加精確,但是就像前面提到的,這種方案成本極高,研發難度大,辨識率的提升也很難,演算法上去了,對CPU的效能又是很高的要求,然後生產的標定也困難,還有一個就是功耗、發熱等等一堆不利的因素。

    當然我的知識一定有盲區,雷射的TOF方案也有非常多的技術型別,dTof、iTof、cwTof,未來也許還會有更多方案,它們的技術手段也許不同,但最終都是為了更好的獲取三維數據。

    【純視覺方案】單目、多目、結構光等其他方案

    所有 雷射的方案有一個缺陷,就是對透明的、黑色的物體辨識不佳

    掃地機像極了目前的汽車行業,雷射雷達 vs 純視覺方案,特斯拉慢慢放棄了雷射雷達,也是發現了雷射雷達的重重困難,退而求其次采用純視覺方案,特斯拉依靠的是周圍一圈的多個網路攝影機以及自己的演算法和豐富的路況資料庫。

    純視覺方案就是透過普通網路攝影機方式+影像辨識演算法,來判斷目標物體。

    單目就是一個網路攝影機,沒什麽好說的。

    雙目就是兩個網路攝影機,就像人的雙眼,可以獲取立體視覺,說到底就是能獲取三維深度資訊。

    還有一個方案是結構光,結構光是三維辨識的一種整體方案,它的硬體可以是單目,可以是雙目,也可以是tof sensor,但是它們有一個共同的原理,就是透過投射出特殊的圖案到目標物體上,透過影像采集該圖案在物體表面的扭曲、變形,來判斷三維外形。

    本文最開頭時我曾經做過的三維掃描器,就是一種結構光方案,他就是透過DLP投影出特殊圖案,打到物體上,兩個網路攝影機分別采集到這個因為物體表面而扭曲的變化,透過演算法計算出三維模型,這種技術非常成熟,效果取決於演算法。

    【多傳感器融合方案】

    前面說的那麽多傳感器,幾乎涉及到了掃地機行業中目前大部份的型別。

    它們並不一定是對立的,或者孤立存在,並且各自都有優點和缺陷,比如普通網路攝影機在弱光下就不行,雷射型別受到黑色和透明物體的影響,普通紅外避障精度和穩定性差,無法判斷障礙物型別等等,透過多種傳感器的組合搭配,可以揚長避短,所以我們能看到,一台掃地機中會裝載數量巨多,型別不一的傳感器。

    一些混淆的技術名詞

    ToF :這是一個飛行時間的描述,但從技術原理上來說,普通的紅外收發、超音波傳感器、單點和面雷射,都會是ToF範疇內,所以如果簡單說自己是ToF傳感器,這是一種混淆不清的說法。

    SLAM :嚴格來說,SLAM是一種基於視覺采集的演算法,它並非是傳感方式,我可以是基於普通RGB網路攝影機的彩色影像,可以是紅外光源下的紅外影像,也可以是VCSEL面陣雷射源下的深度影像。所以,如果你看到某產品號稱自己用了SLAM傳感器,這也是無效的說法。

    AI避障 :現在任何電子產品只要和AI結合一下,就是為自己提高身價,但是AI的水很深,真正要做到很強的人工智慧是比較復雜的,不僅取決於演算法,也取決於大量的、豐富的模型庫,以目前業內最頂級的掃地機來說,它能辨識的障礙物型別不到百種,而且辨識率也是無法保證的。

    目前市面上具有代表意義的掃地機器人及其核心的避障方案

    【近期更新】

    未來的技術展望:

    在德州儀器官網,我找到一個掃地機的解決方案設計框圖,這裏面我看到了mmWave的字眼,這就代表了,未來很有可能公釐波雷達會加入掃地機套用。

    【以上結論可能存在爭議,我也是基於我的個人理解和分析,如果有更專業的人士,可以提出異議,我們再完善補充】

    本文會持續更新……