趙夢成 黎昱宏 張宏宇
摘要:近年來,隨著人工智能的迸發(fā),計算機(jī)的各項技術(shù)的突破,硬件技術(shù)的發(fā)展。機(jī)器人行業(yè)也取得了新的進(jìn)展。服務(wù)類移動機(jī)器人的研發(fā)也不限于實驗室,慢慢走出實驗室而開始商用。對于服務(wù)類移動機(jī)器人來說,SLAM(同時定位于地圖構(gòu)建)是關(guān)鍵技術(shù),也是目前研究的主要方向和熱門。
本文主要針對室內(nèi)移動機(jī)器人的探究,使用ROS平臺和Gazebo試驗和仿真SLAM。一開始介紹本文的研究背景和近年來國內(nèi)外的服務(wù)類移動機(jī)器人的現(xiàn)狀。其次介紹了本文所用到的移動平臺,和介紹ROS機(jī)器人操作系統(tǒng)。之后介紹SLAM的概率學(xué)模型,在概率學(xué)模型上添加地圖。最后開始試驗對SIAM的測試,在未知環(huán)境下實現(xiàn)了地圖構(gòu)建和導(dǎo)航。
關(guān)鍵詞:移動機(jī)器人;機(jī)器人操作系統(tǒng);SLAM;粒子
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2020)09-0274-03
1 引言
1.1 選題背景與意義
20世紀(jì)60年代,機(jī)器人都只是固定在基座上來進(jìn)行已知工作中來運(yùn)動。隨著計算機(jī)性能的大幅度提升,尤其近年來人工智能和機(jī)器學(xué)習(xí)的大爆發(fā)。移動機(jī)器人從實驗室的研究到實地場景應(yīng)用再到機(jī)器人的大規(guī)模生產(chǎn)。
1.2 本文的研究內(nèi)容與主要工作
這篇文章主要介紹了機(jī)器人移動底盤的物理學(xué)模型,SLAM在原理主要分析了濾波器的中的slam方法和優(yōu)化導(dǎo)航包。最后在移動平臺上實現(xiàn)激光雷達(dá)和攝像頭的建圖與導(dǎo)航,并且在ROS平臺上進(jìn)行仿真實驗,Gazebo仿真。
2 基于ROS的移動機(jī)器人平臺搭建
2.1 移動機(jī)器人平臺搭建
本實驗平臺搭建是采用EAI公司的底盤。機(jī)器人下位機(jī)是二輪差分的機(jī)構(gòu),輪子是兩個主輪和四個萬向輪,可使整機(jī)轉(zhuǎn)彎半徑達(dá)到最小。移動平臺實物如圖1所示。
2.2 ROS系統(tǒng)的介紹
ROS是一個系統(tǒng),它主要是一個開源的為機(jī)器人打造的一個平臺。它可以為開發(fā)者提供一系列的工具和庫,類似與一些傳統(tǒng)的操作系統(tǒng)[2]。ROS在某一角度可以當(dāng)作機(jī)器人的框架。
2.3 里程計模型
在ROS中,里程計是衡量機(jī)器人從初始位姿到終點位姿的一個標(biāo)準(zhǔn),具體來說就是使用移動傳感器獲取數(shù)據(jù)[3][4]。底盤的運(yùn)動學(xué)模型主要分為兩種:兩輪差分和三輪全向模型。
2.3.1 里程計信息
本文使用的EAI地盤就是采用兩輪差速運(yùn)動模型。運(yùn)動模型如圖2所示。底盤可以看作以O(shè)點做圓弧運(yùn)動,V,ω為地盤中心點的線速度和角速度,VL,VR左右兩輪的速度,d為輪子離地盤中心的距離。
小車的中心點是以半徑為r做圓弧運(yùn)動,因為整個小車是剛性物體,所以小車的左右兩輪都是在做圓弧運(yùn)動。即兩輪的角速度是相等的,ωL=ωR。即可獲得(1):
就能得出半徑r。根據(jù)左右輪的角速度相等,就等于小車中心點的角度度。可以得出公式(2):
化簡就可以得出小車中心點的角速度,同理能計算出小車中心點的線速度。
2.3.2 航跡推算
由兩輪差速運(yùn)動模型可以得出小車中心點的線速度和角速度。在當(dāng)小車進(jìn)行運(yùn)動時從tl時刻運(yùn)動到t2時刻,可以求解得出小車在這一過程中的運(yùn)動學(xué)增量dx,dy,d0,且需要將車體坐標(biāo)系轉(zhuǎn)換成世界坐標(biāo)系[5](3):
可以用向量[dx,dy,d0]T來表示t1時刻到t2時刻小車的位姿增量。由迭代關(guān)系我們就可以知道下一時刻的位姿可用上一時刻的位姿求解得。因為里程計測量會混入噪聲則有(4):
2.4 線性最小二乘
給定線性方程組Ax=b,其中A為m*n矩陣,x為n的狀態(tài)向量。A行作約束條件,列作未知數(shù)的維數(shù)。在實際情況中約束條件多過未知數(shù)的維數(shù)。就需要找到一個離真實解最接近的一個解[6][7]。
2.5.1 權(quán)重評估
在狀態(tài)傳播到當(dāng)前時刻,機(jī)器人是無法知道實際位姿。因為粒子只能從預(yù)測分布進(jìn)行采樣,聯(lián)合權(quán)重一起近似機(jī)器人的后驗概率分布。權(quán)重就是用來評估機(jī)器人預(yù)測分布和實際分布的比值,比值越大,權(quán)重越小。權(quán)重的定義:
每次重采樣后都要進(jìn)行權(quán)重更新。在權(quán)重評估里豎條信號的高低表示權(quán)重的大小,根據(jù)圖示分析,權(quán)重的大小是和后驗概率密切相關(guān),盡管密度函數(shù)g的密度很大。
2.5.2 重采樣
到目前為止,新的粒子群是根據(jù)先驗概率分布進(jìn)行采樣,并且用觀測模型進(jìn)行權(quán)重評估。粒子群進(jìn)行重采樣,以Wt的概率接受這個粒子,生成一個隨機(jī)數(shù)。根據(jù)其落在區(qū)間決定接受粒子。重復(fù)多次。權(quán)重大的多復(fù)制幾次,權(quán)重小的粒子就會被刪除。整個粒子濾波的算法流程如下:
算法第一行函數(shù)參數(shù)是已知條件,位姿,t時刻的里程計數(shù)據(jù)和激光雷達(dá)數(shù)據(jù)。三至七行程序是粒子運(yùn)動學(xué)傳播。第五行觀測數(shù)據(jù)進(jìn)行權(quán)重評估。第六行由前面得到的兩個數(shù)據(jù)放在一個數(shù)據(jù)集內(nèi)。程序八到十一行對粒子進(jìn)行重采樣。
2.6 FASTSLAM的優(yōu)化
算法流程為:我們已知條件為t-l時刻的粒子群,t時刻的觀測數(shù)據(jù),t-1時刻的里程計數(shù)據(jù)。求解t時刻的粒子分布。
3 試驗分析
這章將介紹導(dǎo)航算法在機(jī)器人底盤上實現(xiàn)。對處理過的導(dǎo)航包進(jìn)行真機(jī)試驗和在ROS平臺下進(jìn)行仿真試驗。
3.1 仿真對比
本次試驗采樣ROS中兼容的仿真軟件Gazebo,來進(jìn)行仿真。只改變優(yōu)化前后的代碼,比較試驗結(jié)果來說明優(yōu)化程度。
在試驗的過程和試驗結(jié)果中明顯就能看出在想要時間下建圖會出現(xiàn)雙重圖,而且在建圖過程中粒子數(shù)比較多,建圖過程中掃描的地圖反應(yīng)時間較長,通常在環(huán)境中走一圈地圖沒有建完。
對比于在相同環(huán)境相同時間,小車走的路線如圖所示。
根據(jù)建圖過程中和試驗結(jié)果來看,優(yōu)化后的建圖明顯比較完整,并且掃描的粒子數(shù)較為少,掃描出的地圖比陜,基本小車走一圈就能夠建立較為完整的地圖。
參考文獻(xiàn):
[1]胡春旭.ROS機(jī)器人開發(fā)實踐[M].北京:機(jī)械工業(yè)出版社,2018.
[2](西)恩里克·費(fèi)爾南德斯(Enrique Fernandez),劉錦濤,張瑞雷等譯.ROS機(jī)器人程序設(shè)計[M].北京:機(jī)械工業(yè)出版社,2016.
[3]卡梅倫·休斯(Cameron Hughes),特雷西·休斯(Tracey Hughes)著劉錦濤,李筆鋒譯.機(jī)器人編程實戰(zhàn)[M].北京:機(jī)械工業(yè)出版社,2017.
[4]R.帕特里克.戈貝爾.ROS進(jìn)階實例[M].中山大學(xué)出版社, 2017.
[5]蔡蕓,滕茹梅,服務(wù)機(jī)器人的應(yīng)用與發(fā)展[Jl.科教導(dǎo)刊一電子版(上旬),2014(5):139.
[6]孫小凱基于RGB-D信息的物體定位與識別[D].浙江大學(xué)2014.
[7] JohnJ.Craig.機(jī)器人學(xué)導(dǎo)論[M].機(jī)械工業(yè)出版社,2006.
[8] Araya H,Kagoshima M.Semi-automatic control system for hy-draulic shoveI[J]. Automation in Construction, 2001, 10(4):477-486.
[9] Lowe D G.Distinctive image features from scale-invariant key-points[J].lnternational Journal of Computer Vision, 2004,60(2):1-110.
【通聯(lián)編輯:梁書】