李博昊 羅詠涵 彭克勤 北京信息科技大學(xué)
移動(dòng)機(jī)器人是一種具備自動(dòng)、可移動(dòng)性、人工智能等多方面能夠半自主或全自主工作的機(jī)器。自1961年美國(guó)誕生世界上第一臺(tái)工業(yè)機(jī)器人誕生后,經(jīng)過近60年發(fā)展,機(jī)器人已經(jīng)逐漸步入工業(yè)、教育、軍事、管理、科研、醫(yī)療、服務(wù)等行業(yè)。機(jī)器人與人類社會(huì)的融合,逐漸改變了人類的生活方式。
如今機(jī)器人產(chǎn)業(yè)在我國(guó)市場(chǎng)快速發(fā)展,國(guó)內(nèi)機(jī)器人許多企業(yè)的生產(chǎn)線上可以看到我國(guó)自行生產(chǎn)的機(jī)器人,但是也逐漸衍生出了很多問題等待我們的處理與解決。我國(guó)主要存在的問題有:基礎(chǔ)零件部件制造能力差,關(guān)鍵零件技術(shù)缺失;機(jī)器人沒有形成自己的品牌,中國(guó)從事機(jī)器人研究的企業(yè)沒有形成較大規(guī)模,缺乏市場(chǎng)品牌的認(rèn)知度,面臨外國(guó)品牌的競(jìng)爭(zhēng)壓力。我國(guó)需要開展關(guān)鍵技術(shù)研究,機(jī)器人技術(shù)不斷的發(fā)展,需要滿足不同產(chǎn)品需求的機(jī)器人構(gòu)形。
國(guó)內(nèi)現(xiàn)在缺乏拓展性高且又性價(jià)比高的設(shè)備框架,不利于在原有的基礎(chǔ)上加入一些新的功能,面對(duì)不同需求,產(chǎn)品的局限性較高,升級(jí)改造的時(shí)候十分麻煩。本文所研發(fā)設(shè)計(jì)的基于激光雷達(dá)SLAM的自主導(dǎo)航機(jī)器人系統(tǒng),可基于設(shè)計(jì)人的需求在原有的機(jī)器人平臺(tái)上進(jìn)行拓展研發(fā),增加更多的功能,并且根據(jù)時(shí)代的需求進(jìn)行不同層面的升級(jí),在保證經(jīng)濟(jì)利益的同時(shí)最便利的提高了產(chǎn)品的擴(kuò)展性,符合當(dāng)下與時(shí)俱進(jìn)的快節(jié)奏的更新?lián)Q代,解決了當(dāng)下機(jī)器人的一大問題。
(1)本系統(tǒng)支持操作者選擇區(qū)域構(gòu)建地圖。
(2)本機(jī)器人系統(tǒng)可供操作者對(duì)周圍環(huán)境進(jìn)行實(shí)時(shí)監(jiān)控。
(3)本系統(tǒng)支持機(jī)器人進(jìn)行移動(dòng)路徑的數(shù)據(jù)記錄和地圖保存。
(4)使用Gmapping算法進(jìn)行建圖,ACML算法進(jìn)行定位。
本機(jī)器人系統(tǒng)的主控制器采用的是運(yùn)行Linux系統(tǒng)的樹莓派4B板,用來處理計(jì)算機(jī)器人的里程數(shù)據(jù)和雷達(dá)等數(shù)據(jù)。樹莓派是由注冊(cè)于英國(guó)的慈善組織“Raspberry Pi 基金會(huì)”開發(fā)的一種微型電腦,其中搭載Linux嵌入式系統(tǒng),擁有體積小、易操作功能強(qiáng)大等優(yōu)點(diǎn)。
樹莓派共有40個(gè)IO接口,其中GPIO(General Purpose I/O Ports)接口數(shù)量為26個(gè),26個(gè)GPIO端口可以輸出或者輸入高低電平,用戶通過這一特點(diǎn)可以使樹莓派和其他傳感器進(jìn)行數(shù)據(jù)交互。
樹莓派4B的一些GPIO接口具有I2C接口、SPI接口、UART接口、PWM接口的功能。I2C是一種同步串行總線,它可以實(shí)現(xiàn)連接在總線上的兩個(gè)器件進(jìn)行信息傳輸,樹莓派通過I2C端口可以實(shí)現(xiàn)多個(gè)設(shè)備間的交互。SPI是串行外設(shè)接口,這種接口用來控制多個(gè)控制器之間的主從關(guān)系。UART是通用異步收發(fā)傳輸器,在樹莓派上啟用了串口終端,可以使用電腦來控制樹莓派,樹莓派通過異步收發(fā)傳輸器就可以直接控制Arduino單片機(jī)。
機(jī)器采用激光測(cè)距的方式測(cè)量距離。激光測(cè)距與超聲波測(cè)距測(cè)量相比精度較高,而且與計(jì)算機(jī)視覺測(cè)距相比處理數(shù)據(jù)的復(fù)雜度較低。采用的激光雷達(dá)測(cè)距范圍是12cm-350cm,測(cè)距分辨率1°,測(cè)距精度為2cm,這樣的激光雷達(dá)雖然配置較低,但是可以滿足室內(nèi)測(cè)距的要求。
在SLAM導(dǎo)航系統(tǒng)中機(jī)器自身位姿的計(jì)算是非常重要的,這就需要IMU(慣性測(cè)量單元)裝置來測(cè)量物體的角速度和加速度。MPU9250芯片是一個(gè)包含三個(gè)單站的加速度計(jì)和三個(gè)單軸的陀螺儀,加速度計(jì)檢測(cè)獨(dú)立三軸的重力加速度信號(hào),陀螺儀檢測(cè)角速度信號(hào),測(cè)量出移動(dòng)機(jī)器人在三維空間中的角速度和加速度,并進(jìn)行計(jì)算解出移動(dòng)機(jī)器人的姿態(tài)。
圖1 機(jī)器人系統(tǒng)構(gòu)結(jié)構(gòu)
如今移動(dòng)機(jī)器人底盤常用的驅(qū)動(dòng)方式為履帶式驅(qū)動(dòng)和輪式驅(qū)動(dòng)。采用履帶式底盤驅(qū)動(dòng)的機(jī)器人在面對(duì)復(fù)雜地形時(shí)移動(dòng)能力強(qiáng)于輪式驅(qū)動(dòng)的機(jī)器人模型,但是履帶式驅(qū)動(dòng)模型安裝復(fù)雜,控制較困難;輪式驅(qū)動(dòng)的優(yōu)勢(shì)在于結(jié)構(gòu)設(shè)計(jì)較簡(jiǎn)易、功耗較小、便于控制,但是輪式驅(qū)動(dòng)方式無法跨越障礙物,本文設(shè)計(jì)的機(jī)器人系統(tǒng)主要應(yīng)用于室內(nèi)環(huán)境,主要的移動(dòng)地面較平整,遇到障礙物機(jī)器人可以通過路徑規(guī)劃的方式繞過障礙物。綜合考慮設(shè)計(jì)機(jī)器人的復(fù)雜度、成本和移動(dòng)靈活性,結(jié)合本機(jī)器人系統(tǒng)主要應(yīng)用的環(huán)境為室內(nèi),地形較平坦,沒有復(fù)雜的障礙物,本機(jī)器人系統(tǒng)采用輪式底盤結(jié)構(gòu)的方式進(jìn)行驅(qū)動(dòng)。
本機(jī)器人系統(tǒng)采用Gmapping算法進(jìn)行建圖,Gmapping算法是在RBPF的粒子濾波算法的基礎(chǔ)上改進(jìn)而來的。RBPF粒子濾波算法是將定位和建圖根據(jù)貝葉斯法則將兩個(gè)過程分離,即將該SLAM問題分解成移動(dòng)機(jī)器人位姿估計(jì)和移動(dòng)機(jī)器人的地圖估計(jì)。這樣大大降低了該SLAM問題的難度。該算法的主要步驟如下:
(1)首先以移動(dòng)機(jī)器人的初始位置開始構(gòu)建地圖,在初始位置生成N個(gè)的粒子,每個(gè)粒子權(quán)重為1/N。
(2)機(jī)器根據(jù)前一時(shí)刻的例子狀態(tài)和當(dāng)前機(jī)器人的位姿,采樣產(chǎn)生新的粒子。
(3)根據(jù)每一時(shí)刻的觀測(cè)值,為每個(gè)粒子重新計(jì)算權(quán)值,越有可能獲得觀測(cè)的例子,獲得新的權(quán)重越高。
(4)隨著計(jì)算的次數(shù)越多,某些粒子的權(quán)重越來越低趨近于0,某些粒子的權(quán)重越來越高趨近于1,為了能準(zhǔn)確的估計(jì)移動(dòng)機(jī)器人的位姿,將重采樣過后的粒子集輸入到狀態(tài)轉(zhuǎn)移方程中,獲得新的觀測(cè)粒子。
(5)根據(jù)粒子的軌跡和觀測(cè)記錄,對(duì)每個(gè)粒子攜帶的地圖與歷史地圖匹配后更新到全局地圖中。
圖2 建圖流程
在SLAM導(dǎo)航問題中,機(jī)器人的精確定位是十分重要的,因?yàn)槿绻麩o法準(zhǔn)確定位機(jī)器人的當(dāng)前位置,那么規(guī)劃出到目的地的路徑必然是錯(cuò)誤的。
AMCL(adaptive Monte Carlo localization)算法是蒙特卡洛定位方法的一種升級(jí)版,使用自適應(yīng)的 KLD 方法來更新粒子。
本系統(tǒng)使用ROS中提供的rviz三維可視化平臺(tái)操作機(jī)器人。rviz是ROS官方提供的一款3D可視化工具,它以圖形化界面的方式將移動(dòng)機(jī)器人的各種參數(shù)展示給操作者,并且操作者可以對(duì)ROS的程序進(jìn)行圖像化操作。在此界面上可以顯示機(jī)器人構(gòu)建成功地圖、機(jī)器人深度攝像頭返回的點(diǎn)云數(shù)據(jù)、機(jī)器人規(guī)劃的移動(dòng)路徑等數(shù)據(jù),還可以操作機(jī)器人的運(yùn)動(dòng),使用戶更為直觀的得到機(jī)器人的位姿和構(gòu)建成功的地圖。
圖3 Rviz運(yùn)行界面
基于激光SLAM的室內(nèi)移動(dòng)機(jī)器人在設(shè)計(jì)中運(yùn)用了多種傳感器,本系統(tǒng)運(yùn)用了激光雷達(dá)模塊進(jìn)行測(cè)距、建圖,并使用樹莓派作為系統(tǒng)的主控制器,相較于單獨(dú)使用單片機(jī)來進(jìn)行數(shù)據(jù)處理,樹莓派獲得的數(shù)據(jù)更準(zhǔn)確、更可靠。
系統(tǒng)室內(nèi)建圖使用Gmapping算法,通過雷達(dá)返回的數(shù)據(jù)使用AMCL算法進(jìn)行定位,此設(shè)計(jì)方案具有可靠性高、性價(jià)比好及框架易用性高等優(yōu)點(diǎn)。并且在此平臺(tái)上還可以加裝其他的硬件設(shè)施和其他功能,具有較高的擴(kuò)展性。