王 玲,房雅洪,王明輝
(1. 沈陽理工大學 信息科學與工程學院,沈陽 110159;2. 中國科學院 沈陽自動化研究所 機器人學國家重點實驗室,沈陽 110016)
由于全球定位系統受到信號強度的影響無法在室內環境或廢墟環境進行全局地圖絕對定位,因此在室內復雜環境或廢墟環境中進行移動機器人的同步定位與地圖創建[1](Sim u ltaneous Localization and Mapping,SLAM)問題的研究尤為重要。
同步定位與地圖創建問題是指在一個未知環境中,移動機器人利用其搭載的傳感器增量式地創建未知環境的連續地圖,同步確定其在地圖中的位置。它是移動機器人[2]實現自主化的一項關鍵技術。
本文研究的同步定位與地圖創建系統以中國科學院沈陽自動化研究所自主研制的可變形機器人[3]為實驗平臺,在室內復雜環境或廢墟環境中實現機器人的自主定位和環境地圖的創建更新。根據可變形機器人多種構型[4]的結構特點擴大了環境的適應范圍,使同步定位與地圖創建系統在實際中可廣泛運用。
同步定位與地圖創建系統的功能:實現移動機器人在未知環境中利用其搭載的傳感器進行自定位和創建環境地圖。移動機器人在全局環境中自主定位需要實時獲取機器人的位置信息和姿態信息,并根據獲取的信息進行機器人的航位推算,產生當前時刻機器人的位置信息和姿態信息的預測。創建未知環境的地圖需要完成環境測距信息的獲取和處理,完成環境特征的提取和特征的數據關聯,進行地圖的創建更新。根據同步定位與地圖創建系統的功能需求設計系統結構框圖如圖1所示。

圖1 同步定位與地圖創建系統結構框圖
根據同步定位與地圖創建系統結構框圖分析:同步定位與地圖創建系統由環境信息獲取子系統、機器人狀態信息獲取子系統、定位和地圖在線更新子系統組成。
環境信息獲取子系統:提取并處理環境信息,解析環境中障礙物的相對距離信息,把處理后的測距信息傳輸給定位和地圖在線更新子系統,為地圖的創建提供數據基礎。
機器人狀態信息獲取子系統:實現機器人的位置信息和姿態信息的獲取。并把機器人的位置信息和姿態信息傳遞給定位和地圖在線更新子系統,為機器人的航位推算提供數據基礎。
定位和地圖在線更新子系統:根據機器人的狀態信息獲取子系統的數據在全局地圖下進行機器人航位推算并且產生當前時刻的機器人的位置信息和姿態信息預測,實現移動機器人的自主定位;對環境信息獲取子系統觀測到的相對距離信息進行預處理,完成環境特征的提取和特征的數據關聯;結合當前環境地圖信息、機器人的狀態預測信息、當前時刻的環境實際觀測數據信息實現地圖創建更新。
環境信息獲取子系統完成環境相對距離信息的提取。由于視覺傳感器受室內復雜環境或廢墟環境光線較弱、易顛簸等特點的局限不宜使用,因此環境信息獲取子系統采用激光傳感器和環境信息獲取處理器組成方式。激光傳感器需要完成環境信息的采集,環境信息獲取處理器需要控制激光傳感器測距工作并把激光傳感器采集回來的信息經過處理轉化為環境相對距離信息。
激光傳感器有串口通信和USB通信兩種通信方式,環境信息獲取處理器和激光傳感器采用串口通訊方式。激光傳感器的指令集L命令、G命令分別控制激光傳感器的開啟和關閉、環境信息數據的采集。
環境信息獲取處理器發送激光傳感器開啟命令,激光傳感器返回的狀態標志位為0,說明激光傳感器被開啟;如果返回的狀態標志位不為0,那么環境信息獲取處理器控制激光傳感器開啟命令出錯,則需要重新發送激光傳感器開啟命令。環境信息獲取處理器發送激光測距命令,可以設置激光傳感器測距的起止范圍和測距的數據量大小,如果激光傳感器返回的測距狀態位為0,說明激光傳感器開始采集環境信息,環境信息處理器根據激光傳感器測距的起止范圍和測距的數據量大小進行環境信息數據的提取和解析;如果激光傳感器返回的測距狀態位不為0,那么環境信息獲取處理器發送激光測距命令出錯,需要重新發送激光測距命令。
環境信息獲取處理器和激光傳感器進行環境信息數據提取的功能流程圖如圖2所示。

圖2 環境信息提取的功能流程圖
機器人狀態信息獲取子系統獲取移動機器人在采樣時間內移動的距離信息和轉過的角度信息。采用實驗估算的方法估測可變形機器人[4]在并排構型下的線速度和角速度的值,并用軟件記錄機器人在移動過程中直線前進運動的時間和轉向移動的時間,根據機器人在并排構型下的線速度、角速度、直線前進時間、轉向移動時間等信息獲得機器人在采樣時間內移動的相對距離信息和轉過的航向偏向角信息。根據機器人在采樣時間內移動的相對距離信息和航向偏向角信息產生當前時刻機器人的位置信息和姿態信息的預測。移動機器人的運動學模型[5]如圖3所示。

圖3 移動機器人運動學模型
根據上圖的移動機器人在 時刻移動到 時刻的位置和姿態信息預測可表示為:

定位和地圖在線更新子系統根據環境信息獲取子系統中激光傳感器的觀測數據和機器人狀態信息獲取子系統中機器人在采樣時間內移動的相對距離信息和航向偏向角信息數據,實現了機器人自主定位和全局地圖的在線更新。算法流程如圖4所示。

圖4 定位和地圖在線更新子系統功能流程圖
全局特征地圖的創建更新需要采用擴展卡爾曼濾波原理估計每個時刻的運動預測、觀測更新。


傳感器觀測的數據提取的特征為一個新的環境特征,則根據當前傳感器觀測數據,對當前的估計狀態進行擴展,相當于更新了特征地圖。同時一個新的局部地圖進行初始化。

選取2m×10m的室內走廊環境進行實驗,驗證在線同步定位與地圖創建系統的有效性。實驗環境如圖5所示,該實驗環境中,門框和墻壁形成的直線交點稱為角點,該角點特征作為全局地圖的特征。實驗采用激光傳感器URG-04LX,掃描的角度范圍240°,角度分辨率為0.36°,測量的最大距離為4095mm,測量的距離在1000mm以內精度±10mm,超過1000mm精度±1%。激光傳感器每3s采集一次環境信息數據,進行數據的提取和解析。在整個實驗過程中,機器人在移動的同時,緩慢地創建和更新環境地圖。實驗結果如圖6所示。

圖5 實際走廊環境

圖6 實驗結果
根據實驗結果可以分析出:圖6(a)表示可變形機器人單程創建地圖過程;圖6(b)表示可變形機器人單程創建地圖結束;圖6(c)表示可變形機器人返程創建地圖過程;圖6(d)表示可變形機器人創建地圖結束。實驗中可變形機器人增量式地在線創建環境地圖,機器人移動過程中不斷更新和校正地圖,驗證了該同步定位與地圖創建系統的有效性。創建的環境地圖由于受到里程計信息的累積誤差和機器人在側向滑移誤差等干擾出現了一些小凸起。
本文設計的可變形機器人在線同步定位與地圖創建系統,根據可變形機器人的結構特點和運動特性,能夠在室內復雜環境或廢墟環境中進行機器人的自主定位和環境地圖在線創建和更新。實驗驗證了該同步定位與地圖創建系統的算法實時性好,創建的環境地圖效果好。今后的工作:改進同步定位與地圖創建系統的結構設計和優化算法,減小實驗中傳感器誤差和機器人側向滑移誤差等干擾。
[1] 郭帥,馬書根,李斌,王明輝,王越超.基于Vo ronoi地圖表示方法的同步定位與地圖創建[J].自動化學報,2011,37(9):1095-1104.
[2] 孫榮川,馬書根,李斌,王明輝,王越超.SLASEM中的廣義距離的數據關聯[J].機器人.2011, 33(1):208-214.
[3] 王楠,吳成東,王明輝.可變形災難救援機器人控制站系統的設計與實現[J].機器人.2011,33(1):203-207.
[4] 常鍵,吳成東,李斌.一種可變形移動機器人環境地圖創建方法[J].儀器儀表學報增刊.2010,31(8):207-210.
[5] 蘇麗穎,王琨,余躍慶.柵格地圖中基于改進粒子濾波的SLAM[J].華中科技大學學報.2011,39(9):165-168.