0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

揭開關(guān)于機(jī)器人自主移動的神秘面紗

ml8z_IV_Technol ? 來源:lq ? 2019-01-23 16:56 ? 次閱讀

本文開始,我們將從介紹其中的一個(gè)關(guān)鍵性模塊,即時(shí)定位與建圖技術(shù)(Simultaneous Localization and Mapping,以下簡稱SLAM)入手,逐步為讀者揭開關(guān)于機(jī)器人自主移動的神秘面紗。

高仙是全球較早從事自主移動技術(shù)研發(fā)與應(yīng)用探索的機(jī)器人公司之一。成立至今,高仙不斷打磨并完善了機(jī)器人全場景移動技術(shù),并通過全球超過50+機(jī)型、1萬+機(jī)器人終端在5000+行業(yè)的落地積累,實(shí)現(xiàn)了從室內(nèi)到室外等不同環(huán)境、從清潔到安防等不同業(yè)務(wù)領(lǐng)域的廣泛應(yīng)用。高仙機(jī)器人全場景移動技術(shù)給越來越多的機(jī)器人賦予了自主移動必需的“軀殼”、“大腦”和“靈魂”。

SLAM問題的提出

試想人如何判斷自己在周圍環(huán)境中的位置?沒錯,眼睛!不過,雙腳的移動,大腦對運(yùn)動的感知等也能給你提供相對運(yùn)動的信息。事實(shí)上,人就是通過綜合這些感官信息來判斷位置和移動的,這也是SLAM技術(shù)的靈感來源。SLAM技術(shù)的出現(xiàn)徹底解決了機(jī)器人領(lǐng)域中“我在哪兒”的問題,使機(jī)器人在未知環(huán)境中的自主移動成為可能。SLAM通過輸入的多種外部和內(nèi)部的傳感器數(shù)據(jù),使用算法求解出一個(gè)準(zhǔn)確的機(jī)器人位姿(即位置和姿態(tài),可以理解為坐標(biāo)和朝向,以下簡稱pose),同時(shí),將每個(gè)pose處得到的傳感器數(shù)據(jù)拼接起來形成完整的地圖,又可作為計(jì)算位姿的依據(jù)。

數(shù)學(xué)上的狀態(tài)估計(jì)

通常在數(shù)學(xué)上,可以將SLAM建模成一個(gè)狀態(tài)估計(jì)問題,即:

其中,公式(1)為運(yùn)動方程,表示在k時(shí)刻,機(jī)器人的pose(x(k))由k-1時(shí)刻的pose(x(k-1))和k時(shí)刻的運(yùn)動輸入(u(k))所決定,由于實(shí)際物理環(huán)境總會引入誤差,所以添加一個(gè)噪聲量(v(k))對狀態(tài)變化形成一定約束。公式(2)為觀測方程,表示k時(shí)刻的機(jī)器人傳感器觀測(z(k)),由當(dāng)前時(shí)刻的機(jī)器人pose所決定。同理,因?yàn)槲锢憝h(huán)境的影響,會帶入一定的觀測誤差,即w(k)。

動態(tài)貝葉斯網(wǎng)絡(luò)描述

上述過程也可以使用動態(tài)貝葉斯網(wǎng)絡(luò)(Dynamic Bayes Network,DBN)來描述,如圖1所示:

圖1.動態(tài)貝葉斯網(wǎng)絡(luò)

整個(gè)網(wǎng)絡(luò)就是一個(gè)概率圖模型,箭頭的指向表示變量的依賴關(guān)系,如上圖中的子圖x0->x1,和u1->x1,可以用條件概率描述。

問題求解方法

由于目前激光SLAM作為成熟的算法已經(jīng)在無人駕駛和機(jī)器人中得到廣泛應(yīng)用,因此本文主要介紹激光SLAM方案。

顧名思義,激光SLAM是以激光數(shù)據(jù)作為傳感器輸入的SLAM方案。圖2.a展示了TOF激光雷達(dá)的測距原理,通過電機(jī)帶動旋轉(zhuǎn),將激光脈沖不斷投射到障礙物同時(shí)接收反射回的激光脈沖,將光速與飛行時(shí)間差相乘,求得雷達(dá)到相應(yīng)障礙物的距離(TOF測距原理測距范圍廣。此外還有基于三角測距的激光雷達(dá),主要針對室內(nèi)的中近距離測距,圖2.b展示了三角測距激光雷達(dá)的工作原理。)。

圖2.a.TOF測距激光雷達(dá)的工作原理

圖2.b.三角測距激光雷達(dá)的工作原理

2D與3D激光傳感器

圖3為2D激光傳感器數(shù)據(jù)的表示。左圖為工作區(qū)間在270度激光數(shù)據(jù),可以看到激光從+135度掃描到-135度,獲取了水平面上每隔一個(gè)角分辨率的測距信息。右圖為ros中激光的數(shù)據(jù)顯示。圖4為3D激光的數(shù)據(jù)表示,相對于2D激光雷達(dá),3D激光在垂直方向會同時(shí)發(fā)射多組激光脈沖,獲得了三維空間中對障礙物的測距信息。

圖3.2D激光傳感器表示

圖4.3D激光傳感器表示

由于SLAM本質(zhì)是個(gè)系統(tǒng)狀態(tài)估計(jì)問題,即在給定系統(tǒng)輸入的條件下,估計(jì)出機(jī)器人的pose和地圖點(diǎn)的坐標(biāo),針對兩維空間的SLAM,式(1)具體可以表示為:

通過求最大條件后驗(yàn)概率(MAP),計(jì)算出相應(yīng)的pose和地圖點(diǎn)坐標(biāo),即

延伸出的兩類SLAM算法

A.基于貝葉斯濾波器的方法

基于貝葉斯濾波器的方法包括Kalman filter[1]、Extended Kalman fiter、Particle filter等,是貝葉斯迭代狀態(tài)估計(jì)理論,即先對機(jī)器人運(yùn)動進(jìn)行建模,構(gòu)造出貼合物理場景的運(yùn)動方程和觀測方程,如輪式機(jī)器人常使用基于速度的運(yùn)動模型。之后,套用卡爾曼濾波的五條公式,進(jìn)行狀態(tài)預(yù)測和測量更新。狀態(tài)預(yù)測依靠運(yùn)動方程,從當(dāng)前狀態(tài)估計(jì)出下一時(shí)刻的機(jī)器人pose。而測量更新,則是在機(jī)器人觀測到新的點(diǎn)時(shí),對之前的預(yù)測值進(jìn)行修正??梢钥吹?,該過程是一個(gè)遞歸估計(jì)過程,從k時(shí)刻到k+1時(shí)刻的估計(jì)。

由于卡爾曼濾波算法是針對線性系統(tǒng)且高斯分布的最優(yōu)無偏估計(jì),而實(shí)際場景中,機(jī)器人的運(yùn)動并不滿足線性特性,且噪聲項(xiàng)不滿足高斯分布,因此使用卡爾曼濾波不能精確的計(jì)算出結(jié)果。擴(kuò)展卡爾曼濾波可以將線性系統(tǒng)約束擴(kuò)展到非線性系統(tǒng),獲得更好的結(jié)果。然而其依舊不能逃出高斯分布的限制,因而實(shí)際中使用粒子濾波代替上述方案。粒子濾波類SLAM不依賴參數(shù)化的運(yùn)動方程,使用大規(guī)模粒子點(diǎn)去模擬無參數(shù)化的分布,理論上可以近似各種分布。如早年的業(yè)界流行的GMapping,即采用了該方案。

濾波類算法最大的問題,是無法處理大尺度場景的建圖。由于濾波類算法是基于遞歸計(jì)算,下一時(shí)刻的估計(jì)值依賴于上一時(shí)刻的估計(jì),因而在大尺度場景下,由于系統(tǒng)參數(shù)和傳感器觀測的不確定性,會造成誤差的逐漸累積,一旦當(dāng)前時(shí)刻的估計(jì)出現(xiàn)偏差,之后是無法修正該誤差的,其結(jié)果是最后無法獲得一致性的地圖。

B.基于圖優(yōu)化的方法

基于圖優(yōu)化的SLAM出現(xiàn)解決了一致性建圖的問題。如果說濾波類SLAM是屬于序慣估計(jì)的話,基于圖優(yōu)化則是屬于批處理。圖優(yōu)化SLAM是目前主流的SLAM方案。其主要分為兩個(gè)模塊,前端和后端。如圖5所示。

圖5.基于圖優(yōu)化的激光SLAM

前端負(fù)責(zé)從里程計(jì)和激光數(shù)據(jù)中求得pose,后端采用回環(huán)檢測,構(gòu)造閉環(huán)約束,通過最小化觀測和估計(jì)殘差求得優(yōu)化后的pose。

前端方面,先從里程計(jì)獲得初始的pose,之后通過激光數(shù)據(jù)連續(xù)幀匹配,求得激光約束后的pose(注意這里使用了一次觀測信息)。在連續(xù)幀匹配上,有ICP[2]、NDT[3]、暴力匹配[4]等算法。如目前主流的激光SLAM-cartographer采用暴力匹配作為前端方法,即使用激光掃描匹配,在機(jī)器人運(yùn)動中,通過匹配前后兩幀的激光變化,求得機(jī)器人的相對運(yùn)動。而其中的一個(gè)關(guān)鍵模塊是三維窗口遍歷尋優(yōu)。這是一種窮舉搜索算法,針對平面運(yùn)動的機(jī)器人,可以將pose分解為三個(gè)維度,即x軸,y軸,角度軸。通過構(gòu)建三層for循環(huán),分別對x方向、y方向、旋轉(zhuǎn)角度方向進(jìn)行遍歷搜索,尋找到最優(yōu)的pose匹配作為估計(jì)結(jié)果。

需要強(qiáng)調(diào)的是,前端屬于局部估計(jì),即只能估計(jì)當(dāng)前時(shí)刻機(jī)器人相對上一個(gè)時(shí)刻的pose變化。事實(shí)上,由于估計(jì)所引入的誤差,隨著運(yùn)動范圍的擴(kuò)大,該誤差會逐漸累積,導(dǎo)致最后錯誤的結(jié)果(這個(gè)問題和濾波器類SLAM一樣)。解決該問題,可以使用閉環(huán)檢測(Loop Closure)[5]的圖優(yōu)化后端。通過判斷機(jī)器人是否回到歷史中的某一點(diǎn),從而構(gòu)建閉環(huán)約束,通過非線性優(yōu)化將運(yùn)動過程中的誤差分散到參與優(yōu)化的每個(gè)pose中,從而消除誤差累積。圖優(yōu)化的核心是構(gòu)造誤差函數(shù),我們先舉一個(gè)簡單的例子,如圖6所示

圖6.圖優(yōu)化約束構(gòu)建

圖中機(jī)器人從i點(diǎn)運(yùn)動到j(luò)點(diǎn),根據(jù)前端我們計(jì)算出了機(jī)器人的在j點(diǎn)的pose,即xj,則xj在xi為坐標(biāo)系的坐標(biāo)是z_hat_ij,此時(shí)我們又獲得一個(gè)激光的觀測,通過激光幀匹配得到xj在xi坐標(biāo)為z_ij。假設(shè)觀測和實(shí)際運(yùn)動是完美的,則z_ij=z_hat_ij。

實(shí)際中,準(zhǔn)確的xi和xj應(yīng)該滿足上述誤差最小,該過程構(gòu)造了無約束的非線性優(yōu)化問題,之后就是借助常用的優(yōu)化方法做梯度下降了。

我們再舉一個(gè)閉環(huán)檢測的例子,如圖7所示:

圖7.機(jī)器人運(yùn)動軌跡

機(jī)器人從1點(diǎn)運(yùn)動到4點(diǎn),假設(shè)機(jī)器人運(yùn)動到4點(diǎn)時(shí),觀測到了1點(diǎn),此時(shí),通過前端匹配計(jì)算出4點(diǎn)在1點(diǎn)的pose,即z14,同時(shí)因?yàn)闄C(jī)器人從1->2->3->4,通過pose間變換,估計(jì)出了4點(diǎn)在1點(diǎn)的pose,hat_z_14

實(shí)際中,都是以pose間的變換矩陣作為變量參與優(yōu)化。

通過對比圖優(yōu)化和濾波器SLAM,兩者的本質(zhì)是統(tǒng)一的,都是通過輸入觀測,修正預(yù)測量,求解最大后驗(yàn)概率,圖優(yōu)化的方式只是將最大后驗(yàn)通過計(jì)算負(fù)對數(shù)的形式,轉(zhuǎn)換成最小化帶有誤差項(xiàng)的二次型。而兩者區(qū)別是,圖優(yōu)化技術(shù)采用了批處理方式,引入了更強(qiáng)的約束(閉環(huán)約束),修正了濾波器基于一階馬爾科夫假設(shè)的狀態(tài)遞歸估計(jì)錯誤累積。

圖8顯示了閉環(huán)的效果,左圖中,未使用閉環(huán)檢測糾正pose,可以看到機(jī)器人行駛一周之后,在應(yīng)該回到原點(diǎn)的位置,pose出現(xiàn)較大偏差,導(dǎo)致地圖沒有正確閉合。右圖中,由于使用了閉環(huán)檢測,糾正了pose的累積誤差,使得建圖與實(shí)際場景一致,取得了較好的效果。

圖8.閉環(huán)優(yōu)化效果

最后需要補(bǔ)充的是,由于激光SLAM算法框架較為固定,大同小異,那么決定一個(gè)SLAM算法的好壞就落在了對具體工程問題的處理上,如筆者在日常開發(fā)中,處理并解決了以下的問題:

A.如何有效的對激光噪點(diǎn)進(jìn)行去噪?

B.如何克服動態(tài)環(huán)境下的定位漂移問題?

C.幾何結(jié)構(gòu)相似的環(huán)境如何避免閉環(huán)錯誤?

D.里程計(jì)初始值異常跳變?nèi)绾螜z測?如何處理?

E.如何克服重復(fù)掃圖導(dǎo)致的地圖分辨率下降?

F.碼盤里程計(jì)與激光數(shù)據(jù)時(shí)間戳雖然一致,但實(shí)際上存在延遲,如何解決?

G....

最后筆者認(rèn)為,作為一名高仙的SLAM算法工程師,不僅需要深耕理論,同時(shí)對于工程問題也應(yīng)該有更多的思考和改進(jìn)。

正是這樣的心態(tài)和追求,才奠定了高仙在機(jī)器人自主移動領(lǐng)域的領(lǐng)先地位。目前高仙擁有百萬平米的建圖能力,超出行業(yè)平均水平20倍。

圖9.室外百萬平米建圖-龍東大道

圖10.高仙SLAM-Mapping the World

至此,我們對SLAM技術(shù)要解決的問題,以及在機(jī)器人、無人駕駛、無人機(jī)等領(lǐng)域內(nèi)比較成熟的激光SLAM算法有了一定的認(rèn)識。SLAM對于機(jī)器人的行動和交互起到至關(guān)重要的作用,它是使智體知道自己在那里、周圍環(huán)境如何以及下一步該如何行動的關(guān)鍵性基礎(chǔ)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2551

    文章

    51134

    瀏覽量

    753904
  • 機(jī)器人
    +關(guān)注

    關(guān)注

    211

    文章

    28445

    瀏覽量

    207228
  • SLAM
    +關(guān)注

    關(guān)注

    23

    文章

    425

    瀏覽量

    31844

原文標(biāo)題:被廣泛應(yīng)用的激光SLAM

文章出處:【微信號:IV_Technology,微信公眾號:智車科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    掃地機(jī)器人方案

    深入了解,下面小編就帶您一起揭開掃地機(jī)器人神秘面紗。智能掃地機(jī)器人好用嗎?  智能掃地機(jī)器人
    發(fā)表于 05-18 17:08

    深度解析|機(jī)器人自主移動的秘密(三)

    。這里所需的基礎(chǔ)能力就是路徑規(guī)劃,也就是一般在完成SLAM后,要進(jìn)行一個(gè)叫做目標(biāo)點(diǎn)導(dǎo)航的能力。通俗的說,就是規(guī)劃一條從A點(diǎn)到B點(diǎn)的路徑出來,然后讓機(jī)器人移動過去。要實(shí)現(xiàn)這個(gè)過程,運(yùn)動規(guī)劃要實(shí)現(xiàn)至少兩個(gè)
    發(fā)表于 08-01 13:50

    機(jī)器人想要實(shí)現(xiàn)智能移動,必須具備超強(qiáng)的自主定位導(dǎo)航能力

    ```` 移動機(jī)器人想要在完全陌生的環(huán)境中(沒有預(yù)先錄入地圖的情況下)實(shí)現(xiàn)智能導(dǎo)航,顯然不是那么簡單。所以,移動機(jī)器人實(shí)現(xiàn)智能化的第一步,當(dāng)然是像一樣擁有“眼睛”和“小腦”,擁有自主
    發(fā)表于 01-03 11:41

    SLAM不等于機(jī)器人自主定位導(dǎo)航

    SLAM技術(shù)作為機(jī)器人自主移動的關(guān)鍵技術(shù),讓很多人都誤解為:SLAM=機(jī)器人自主定位導(dǎo)航。 其實(shí),SLAM≠
    發(fā)表于 08-24 16:56

    機(jī)器人、協(xié)作機(jī)器人移動機(jī)器人,你分的清楚嗎

    我覺得現(xiàn)在是時(shí)候討論一些更有趣的話題,今天的話題是介紹工業(yè)機(jī)器人、協(xié)作機(jī)器人移動機(jī)器人。我想每個(gè)人都知道機(jī)器人是什么。機(jī)器人是可怕的大型
    發(fā)表于 10-30 11:33

    揭開深記憶示波器的神秘面紗

    揭開深記憶示波器的神秘面紗
    發(fā)表于 09-23 07:56

    K-Bot版本4機(jī)器人的設(shè)計(jì)教程

    PCB03的開關(guān)處于自主狀態(tài),否則打開時(shí)機(jī)器人始終以這種模式工作。遠(yuǎn)程模式:它完全由應(yīng)用程序中的按鈕控制,可以向前和向后移動任何距離,也可以旋轉(zhuǎn)任何角度。您需要使用
    發(fā)表于 08-22 07:43

    蘋果iPhone手機(jī)神秘面紗揭開

    蘋果iPhone手機(jī)神秘面紗揭開       據(jù)國外媒體報(bào)道,日前,BoyGeniusReport網(wǎng)站公布了號稱是下一代iPhone手機(jī)所用背蓋的照
    發(fā)表于 04-17 16:22 ?518次閱讀

    自主移動足球機(jī)器人目標(biāo)識別

    電子開發(fā)機(jī)器人相關(guān)教程資料——全自主移動足球機(jī)器人目標(biāo)識別
    發(fā)表于 09-06 16:42 ?0次下載

    分享關(guān)于5G的融合創(chuàng)新過程,為外界揭開關(guān)于5G的神秘面紗

    最近,越來越多的機(jī)構(gòu)和技術(shù)人員開始將焦點(diǎn)聚集在第五代移動通信技術(shù)5G上,關(guān)于5G的技術(shù)創(chuàng)新和探討逐漸成為了當(dāng)下的熱點(diǎn)話題。前段時(shí)間烏鎮(zhèn)2017世界互聯(lián)網(wǎng)大會中5G再一次成為了一眾人員談?wù)摰闹黝}。其中,中國工程院院士鄔賀銓先生重點(diǎn)分享了關(guān)
    的頭像 發(fā)表于 01-03 16:39 ?3840次閱讀

    Duskers - 揭開科幻生存游戲中的神秘面紗

    飛行員無人駕駛太空船,找到生存的手段,揭開宇宙如何成為這個(gè)科幻生存游戲中的巨大墓地的神秘面紗
    的頭像 發(fā)表于 11-08 06:37 ?3116次閱讀

    AN40-揭開開關(guān)電容器過濾的神秘面紗

    AN40-揭開開關(guān)電容器過濾的神秘面紗
    發(fā)表于 04-27 16:42 ?2次下載
    AN40-<b class='flag-5'>揭開開關(guān)</b>電容器過濾的<b class='flag-5'>神秘</b><b class='flag-5'>面紗</b>

    揭開數(shù)字健康應(yīng)用的AI和機(jī)器學(xué)習(xí)的神秘面紗

    在本文中,我們將仔細(xì)研究用于處理生理信號的算法的整體架構(gòu),并揭開其操作的神秘面紗。
    的頭像 發(fā)表于 12-01 15:17 ?639次閱讀

    揭開快充芯片的神秘面紗

    UFP芯片是一種用于USB快充技術(shù)的關(guān)鍵元件,它在移動設(shè)備和充電器之間進(jìn)行通信和協(xié)調(diào),以實(shí)現(xiàn)高效、安全、快速的充電過程。下面我們將揭開快充芯片的神秘面紗,深入探討UFP快充芯片的工作原
    的頭像 發(fā)表于 04-15 12:51 ?639次閱讀

    用智能DAC揭開醫(yī)療報(bào)警設(shè)計(jì)的神秘面紗

    電子發(fā)燒友網(wǎng)站提供《用智能DAC揭開醫(yī)療報(bào)警設(shè)計(jì)的神秘面紗.pdf》資料免費(fèi)下載
    發(fā)表于 09-14 10:50 ?0次下載
    用智能DAC<b class='flag-5'>揭開</b>醫(yī)療報(bào)警設(shè)計(jì)的<b class='flag-5'>神秘</b><b class='flag-5'>面紗</b>