楊 亮, 李文生, 傅 瑜, 田豐溥
(電子科技大學(xué) 中山學(xué)院, 廣東 中山 528402)
基于ROS的機(jī)器人即時(shí)定位及地圖構(gòu)建創(chuàng)新實(shí)驗(yàn)平臺(tái)研制
楊 亮, 李文生, 傅 瑜, 田豐溥
(電子科技大學(xué) 中山學(xué)院, 廣東 中山 528402)
針對(duì)單一傳感器在不確定復(fù)雜環(huán)境下即時(shí)定位及地圖構(gòu)建精度低、可靠性差的問(wèn)題,研制了一種基于機(jī)器人操作系統(tǒng)的即時(shí)定位及地圖構(gòu)建創(chuàng)新實(shí)驗(yàn)平臺(tái)。實(shí)驗(yàn)平臺(tái)由移動(dòng)機(jī)器人、上位機(jī)控制軟件兩部分組成。移動(dòng)機(jī)器人配置有Xtion pro深度攝像頭、激光測(cè)距儀、里程計(jì)等,通過(guò)采集環(huán)境的深度信息及距離信息實(shí)現(xiàn)即時(shí)定位及地圖構(gòu)建功能;采用ARM Cortex A17 RK3288作為主控芯片,將整個(gè)控制系統(tǒng)構(gòu)建在基于ROS系統(tǒng)的嵌入式平臺(tái)上,具有體積小、重量輕、可移植性強(qiáng)的優(yōu)點(diǎn),極大增強(qiáng)了機(jī)器人的續(xù)航能力。
機(jī)器人; 機(jī)器人操作系統(tǒng); 即時(shí)定位; 地圖構(gòu)建; 深度攝像頭
機(jī)器人種類很多,從功能上劃分,包括工業(yè)機(jī)械人[8]、輪式移動(dòng)機(jī)器人[9-11]、仿人型機(jī)器人[12-13]、旋翼無(wú)人機(jī)、水下機(jī)器人等。由于應(yīng)用領(lǐng)域各不相同,在實(shí)現(xiàn)原理上也各不相同,各類機(jī)器人之間的差異給機(jī)器人方向的專業(yè)人才培養(yǎng)帶來(lái)了更嚴(yán)峻的挑戰(zhàn)。與此同時(shí),機(jī)器人操作系統(tǒng)(robot operating system,ROS)[14-15]正日益受到國(guó)內(nèi)外專家的關(guān)注,ROS是專用于機(jī)器人領(lǐng)域的開(kāi)源元操作系統(tǒng),集成了諸如底層硬件驅(qū)動(dòng)、進(jìn)程間消息傳遞等基礎(chǔ)功能,并以提供ROS標(biāo)準(zhǔn)包的方式將機(jī)器人領(lǐng)域各種成熟的算法的整合在一起,經(jīng)過(guò)簡(jiǎn)單定制即可對(duì)外提供一致性服務(wù)。
本創(chuàng)新實(shí)驗(yàn)平臺(tái)選取即時(shí)定位及地圖構(gòu)建這一機(jī)器人領(lǐng)域的共性技術(shù)作為研究載體,設(shè)計(jì)了一種基于ROS的機(jī)器人即時(shí)定位及地圖構(gòu)建創(chuàng)新實(shí)驗(yàn)平臺(tái),該平臺(tái)配置有Xtion pro深度攝像頭、激光雷達(dá)、里程計(jì)等,通過(guò)采集環(huán)境的深度信息及距離信息有效改善即時(shí)定位及地圖構(gòu)建的精度;采用小型化技術(shù),將整體系統(tǒng)運(yùn)行在Cortex A-17 ARM RK3288嵌入式開(kāi)發(fā)板上,具有體積小、重量輕、可移植性強(qiáng)的優(yōu)點(diǎn),極大增強(qiáng)了機(jī)器人的續(xù)航能力。
基于ROS的機(jī)器人即時(shí)定位及地圖構(gòu)建創(chuàng)新實(shí)驗(yàn)平臺(tái)由移動(dòng)機(jī)器人、上位機(jī)控制軟件組成。上位機(jī)控制軟件主要負(fù)責(zé)機(jī)器人平臺(tái)運(yùn)行狀態(tài)采集、遠(yuǎn)程控制、數(shù)據(jù)分析等功能;移動(dòng)機(jī)器人是主要執(zhí)行載體,包含機(jī)械結(jié)構(gòu)、主控板、電機(jī)驅(qū)動(dòng)板、Xtion pro深度攝像頭、激光測(cè)距儀等。其整體系統(tǒng)框架圖見(jiàn)圖1。

圖1 系統(tǒng)控制框圖
針對(duì)傳統(tǒng)ROS機(jī)器人使用單一傳感器在不確定復(fù)雜環(huán)境中即時(shí)定位及地圖構(gòu)建精度低、可靠性差的問(wèn)題,采用多傳感器融合技術(shù)將Xtion pro深度攝像頭、激光測(cè)距儀和里程計(jì)等檢測(cè)到的深度信息、距離信息及左右輪運(yùn)動(dòng)速度整合在一起,改善即時(shí)定位及地圖構(gòu)建精度。采用主控板與電機(jī)控制板相結(jié)合的雙層控制結(jié)構(gòu),將控制與驅(qū)動(dòng)相分離,降低系統(tǒng)模塊間的耦合程度。
在軟件實(shí)現(xiàn)方面,借助機(jī)器人操作系統(tǒng)ROS已集成機(jī)器人領(lǐng)域多種成熟控制算法的優(yōu)點(diǎn),提出了一種基于ROS的即時(shí)定位及地圖構(gòu)建平臺(tái)的軟件設(shè)計(jì)方案,其軟件架構(gòu)框圖見(jiàn)圖2。

圖2 軟件架構(gòu)框圖
如圖2所示,整體系統(tǒng)可分為硬件層、Linux內(nèi)核驅(qū)動(dòng)層、ROS軟件層3個(gè)部分,ROS構(gòu)建于Linux平臺(tái)之上,通過(guò)Linux平臺(tái)提供的OpenNI及串口驅(qū)動(dòng)獲取Xtion pro攝像頭采集的深度信息以及電機(jī)驅(qū)動(dòng)板采集到的電機(jī)轉(zhuǎn)速數(shù)據(jù)。ROS本身包括有硬件接口層、通信層以及機(jī)器人應(yīng)用框架層,機(jī)器人應(yīng)用框架層提供了機(jī)器人領(lǐng)域的一些通用模塊,例如tf模塊主要用于各種坐標(biāo)系的轉(zhuǎn)換,robot_state_publisher模塊則主要負(fù)責(zé)機(jī)器人狀態(tài)的發(fā)布。
2.1 移動(dòng)機(jī)器人機(jī)械結(jié)構(gòu)及硬件方案設(shè)計(jì)
移動(dòng)機(jī)器人采用左右雙輪差動(dòng)的運(yùn)動(dòng)方式,并配置有支撐輪以保持平衡。機(jī)器人的機(jī)械結(jié)構(gòu)部分基于開(kāi)源HANDSFREE項(xiàng)目改造而成,采用3層結(jié)構(gòu)設(shè)計(jì):第一層用于安裝電機(jī)及電機(jī)驅(qū)動(dòng)板;第二層用于安放激光測(cè)距儀,負(fù)責(zé)探測(cè)距離信息;第三層設(shè)置有主控板,上面運(yùn)行嵌入式Linux操作系統(tǒng),主要完成傳感數(shù)據(jù)采集、即時(shí)定位及地圖構(gòu)建任務(wù)。考慮到在實(shí)際應(yīng)用環(huán)境中物體的形狀及高度不規(guī)則的情況,將Xtion pro深度攝像頭設(shè)置于機(jī)器人頂部,通過(guò)采集深度信息,用于輔助定位。機(jī)器人實(shí)物圖見(jiàn)圖3。
在硬件電路設(shè)計(jì)方面,采用主控板與電機(jī)驅(qū)動(dòng)板相結(jié)合的雙層控制結(jié)構(gòu)。主控板選取瑞芯微公司生產(chǎn)的RK3288作為處理器,該處理器采用四核ARM Cortex-A17架構(gòu),頻率高達(dá)1.8 GHz,內(nèi)置有GPU以及2/3D硬件加速,非常適合用于即時(shí)定位及地圖構(gòu)建。電機(jī)驅(qū)動(dòng)板基于STM32F4單片機(jī)[16],采用電機(jī)編碼器和激光測(cè)距儀采集電機(jī)轉(zhuǎn)速及距離信息,并通過(guò)串口將采集到的數(shù)據(jù)發(fā)送給主控板。
2.1 各組大鼠的一般情況 非糖尿病ZT23亞組及非糖尿病ZT11亞組大鼠精神狀態(tài)良好,反應(yīng)敏捷,毛色白且光澤;糖尿病ZT23亞組及糖尿病ZT11亞組大鼠每周血糖≥16.7 mmol/L,同時(shí)出現(xiàn)多食、多尿、多飲、體重減輕等癥狀,精神萎靡,反應(yīng)緩慢,毛發(fā)無(wú)光澤。

圖3 移動(dòng)機(jī)器人實(shí)物圖
激光測(cè)距儀探測(cè)目標(biāo)物體的位置、速度等數(shù)據(jù)。本實(shí)驗(yàn)平臺(tái)采用XV-11激光測(cè)距儀采集環(huán)境距離信息,該測(cè)距儀支持360°旋轉(zhuǎn)及5 Hz的掃描頻率,通過(guò)USB轉(zhuǎn)串口接口將采集到的距離信息發(fā)送給主控板。
為了降低外圍電路復(fù)雜性,采用BTS7970作為電機(jī)驅(qū)動(dòng)芯片,驅(qū)動(dòng)直流電機(jī)轉(zhuǎn)動(dòng)。硬件電路框圖見(jiàn)圖4。
電機(jī)驅(qū)動(dòng)板通過(guò)讀取直流電機(jī)自帶的編碼器反饋的信息獲取左右輪轉(zhuǎn)速,并通過(guò)串口發(fā)送給主控板。考慮到在實(shí)際應(yīng)用環(huán)境中物體的形狀及高度不規(guī)則、單傳感器存在數(shù)據(jù)盲點(diǎn)的問(wèn)題,采用Xtion pro深度攝像頭采集深度信息,并與激光測(cè)距儀部署在機(jī)器人的不同位置,以獲取更完備的傳感數(shù)據(jù)。
2.2 基于ROS的即時(shí)定位及地圖構(gòu)建
集成了全球頂級(jí)科研機(jī)構(gòu)多年的研究成果,ROS一經(jīng)問(wèn)世便受到科研人員的廣泛關(guān)注,自2010年發(fā)面1.0版本以來(lái),ROS已成為機(jī)器人領(lǐng)域事實(shí)上的通用平臺(tái)。ROS集成了大量開(kāi)源硬件驅(qū)動(dòng),采用節(jié)點(diǎn)(node)、話題(topic)、服務(wù)(service)、消息(message)等方式實(shí)現(xiàn)分布式計(jì)算,并通過(guò)發(fā)布ROS標(biāo)準(zhǔn)包的方式將機(jī)器人領(lǐng)域多種成熟的算法整合在一起,大幅降低開(kāi)發(fā)成本并實(shí)現(xiàn)軟件復(fù)用。本實(shí)驗(yàn)平臺(tái)基于ROS實(shí)現(xiàn)了即時(shí)定位及地圖構(gòu)建模塊,其節(jié)點(diǎn)關(guān)系見(jiàn)圖5。

圖4 基于ROS的移動(dòng)機(jī)器人硬件電路框圖
在圖5中,橢圓形表示節(jié)點(diǎn),矩形代表話題,圓角矩形代表服務(wù),其中,laser_node及camera_node節(jié)點(diǎn)分別通過(guò)激光測(cè)距儀及深度攝像頭采集傳感信息,并發(fā)布到/scan話題;odom_node節(jié)點(diǎn)負(fù)責(zé)采集左右輪轉(zhuǎn)速信息,并發(fā)布到/odom及/tf話題;baselink_node節(jié)點(diǎn)負(fù)責(zé)收獲機(jī)器人位置信息并發(fā)布到/tf話題,SLAM_mapping節(jié)點(diǎn)采用訂閱/scan、/odom、/tf話題的方式采集傳感數(shù)據(jù),通過(guò)部署開(kāi)源gmapping標(biāo)準(zhǔn)包完成地圖構(gòu)建任務(wù),并將地圖數(shù)據(jù)發(fā)布至/map話題。同時(shí),map_server節(jié)點(diǎn)負(fù)責(zé)對(duì)外發(fā)表/map服務(wù),完成對(duì)外地圖服務(wù)功能。

圖5 即時(shí)定位及地圖構(gòu)建模塊節(jié)點(diǎn)關(guān)系
2.3 上位機(jī)軟件設(shè)計(jì)
由于本系統(tǒng)基于Linux平臺(tái),因此可通過(guò)ssh或telnet協(xié)議遠(yuǎn)程登錄并控制移動(dòng)機(jī)器人。此外,為改善用戶體驗(yàn),同時(shí)提供了基于QT[17]框架的圖形控制界面,完成指令下達(dá)、狀態(tài)查詢等功能,其操作界面見(jiàn)圖6。通過(guò)該上位機(jī)軟件可實(shí)現(xiàn)機(jī)器人的遠(yuǎn)程控制功能,在與機(jī)器人建立連接后,先完成機(jī)器人的初始化工作,再下發(fā)地圖構(gòu)建任務(wù),完成空間探測(cè),最后可使用地圖回傳功能,顯示最終的建圖結(jié)果。

圖6 上位機(jī)軟件操作界面
為驗(yàn)證本文所提方案的有效性,分別針對(duì)簡(jiǎn)單密閉空間及復(fù)雜空間應(yīng)用場(chǎng)景進(jìn)行測(cè)試。
首先使用隔板圍起長(zhǎng)4 m、寬3 m的長(zhǎng)方形密閉區(qū)域,內(nèi)部設(shè)有規(guī)則障礙物,將機(jī)器人置于其中,通過(guò)上位機(jī)控制軟件發(fā)送指令,開(kāi)啟即時(shí)定位及地圖構(gòu)建功能,其地圖構(gòu)建效果如圖7所示。由實(shí)驗(yàn)結(jié)果不難看出,障礙物形狀被準(zhǔn)確勾勒,移動(dòng)機(jī)器人能自動(dòng)完成簡(jiǎn)單密封空間的自動(dòng)探測(cè)及建圖功能。

圖7 簡(jiǎn)單密閉空間地圖構(gòu)建
未知空間探測(cè)能力是衡量機(jī)器人建地圖質(zhì)量的重要指標(biāo),為此將該移動(dòng)機(jī)器人置于有各種桌、椅的復(fù)雜空間,如圖8(a)所示,其建圖結(jié)果見(jiàn)圖8(b)。由圖8可看出,采用本實(shí)驗(yàn)平臺(tái)能夠較好地完成復(fù)雜環(huán)境下的空間探測(cè)及建圖功能,具有一定的抗干擾能力及魯棒性。
即時(shí)定位及地圖構(gòu)建功能是機(jī)器人的基礎(chǔ)性功能。本文設(shè)計(jì)的基于ROS的機(jī)器人即時(shí)定位與地圖構(gòu)建創(chuàng)新實(shí)驗(yàn)平臺(tái),采用多傳感器融合技術(shù),根據(jù)采集到的深度信息及距離信息能夠?qū)崿F(xiàn)即時(shí)定位及地圖構(gòu)建功能,并采用小型化技術(shù),將整個(gè)系統(tǒng)構(gòu)建于嵌入式ARM Cortex A-17 RK3288平臺(tái)之上,具有體積小、重量輕、續(xù)航能力強(qiáng)的優(yōu)點(diǎn)。目前,該創(chuàng)新實(shí)驗(yàn)平臺(tái)已應(yīng)用于我校學(xué)科競(jìng)賽及廣東省大學(xué)生創(chuàng)新創(chuàng)業(yè)培育項(xiàng)目中,并取得良好的效果。

圖8 復(fù)雜空間地圖構(gòu)建
References)
[1] O’Kane J M. A gentle introduction to ROS[M].independently published, 2013:1-3.
[2] 付根平. 仿人機(jī)器人的步態(tài)規(guī)劃和步行控制研究[D]. 廣州: 廣東工業(yè)大學(xué), 2013.
[3] 譚民, 王碩. 機(jī)器人技術(shù)研究進(jìn)展[J]. 自動(dòng)化學(xué)報(bào), 2013, 39(7):963-972.
[4] 胡進(jìn), 侯增廣, 陳翼雄, 等. 下肢康復(fù)機(jī)器人及其交互控制方法[J]. 自動(dòng)化學(xué)報(bào), 2014, 40(11):2377-2390.
[5] 楊亮, 傅瑜, 何懷文. 基于腿部關(guān)節(jié)控制的仿人機(jī)器人偏擺力矩控制方法[J]. 控制與決策, 2015, 31(1):79-83.
[6] 楊雪莉. ABB 機(jī)器人業(yè)務(wù)差異化戰(zhàn)略研究[D].廣州:華東理工大學(xué), 2016.
[7] Khokar K, Beeson P, Burridge R. Implementation of KDL Inverse Kinematics Routine on the Atlas Humanoid Robot[J]. Procedia Computer Science, 2015, 46:1441-1448.
[8] 祁若龍, 周維佳, 王鐵軍. 一種基于遺傳算法的空間機(jī)械臂避障軌跡規(guī)劃方法[J]. 機(jī)器人, 2014, 36(3):263-270.
[9] 劉國(guó)榮, 張揚(yáng)名. 移動(dòng)機(jī)器人軌跡跟蹤的模糊 PID-P 型迭代學(xué)習(xí)控制[J]. 電子學(xué)報(bào), 2013, 41(8):1536-1541.
[10] 楊亮,李文生,鄧春健,等. 基于物聯(lián)網(wǎng)的移動(dòng)機(jī)器人綜合實(shí)訓(xùn)平臺(tái)設(shè)計(jì)[J]. 實(shí)驗(yàn)室研究與探索, 2015, 34(3):233-236.
[11] 余熾業(yè), 宋躍, 雷瑞庭. 基于 STC12C5A60S2 的智能循跡小車[J]. 實(shí)驗(yàn)室研究與探索, 2014, 33(11):46-49.
[12] Yang L, Liu Z, Zhang Y.Online walking control system for biped robot with optimized learning mechanism: an experimental study[J]. Nonlinear Dynamics, 2016, 86(3):2035-2047.
[13] 楊亮, 韓清濤, 李文生, 等. 基于3D打印技術(shù)的雙足機(jī)器人創(chuàng)新實(shí)驗(yàn)平臺(tái)[J]. 實(shí)驗(yàn)技術(shù)與管理, 2016, 33(9):130-133.
[14] 夏漢均. 基于 ROS 的機(jī)器人即時(shí)定位與地圖構(gòu)建技術(shù)的研究[D].沈陽(yáng):東北大學(xué), 2013.
[15] 祝甜一. 基于 ROS 的自主式救援機(jī)器人 SLAM 和導(dǎo)航系統(tǒng)研究[D]. 南京:東南大學(xué), 2015.
[16] 海濤, 陳明媛, 駱武寧, 等. 一種單片機(jī)實(shí)驗(yàn)裝置升級(jí)改造的實(shí)現(xiàn)方案[J]. 實(shí)驗(yàn)室研究與探索, 2010, 29(3):76-79.
[17] 楊亮, 鄧春健, 宋喜佳. 一種基于嵌入式平臺(tái)屏幕內(nèi)容分享系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 液晶與顯示, 2014, 29(6):933-938.
Development of innovative experimental platform for robot real-time positioning and mapping based on ROS
Yang Liang, Li Wensheng, Fu Yu, Tian Fengpu
(Zhongshan Institute, University of Electronic Science and Technology of China, Zhongshan 528402, China)
In view of the problem that the single sensor has low precision and poor reliability for the real-time positioning and mapping in the uncertain complex environment, a design scheme of an innovative experimental platform for the real-time positioning and mapping based on the robot operating system is proposed. This system consists of the following two parts: a mobile robot and the host computer control software. The mobile robot is equipped with the Xtion pro depth camera, the laser range finder, the odometer, etc. Through collecting the depth information and distance information, the functions of the real-time positioning and mapping can be realized. By adopting ARM Cortex A17 RK3288 as the master chip, the whole control system is built on the embedded platform based on ROS system, which has the advantages of small volume, light weight and good portability. The robot’s endurance is greatly enhanced.
robot; robot operation; real-time positioning; mapping; depth camera
10.16791/j.cnki.sjg.2017.08.024
2017-02-14 修改日期:2017-04-10
廣東省教育科學(xué)研究項(xiàng)目(2015GXJK178);廣東省創(chuàng)新強(qiáng)校工程項(xiàng)目“計(jì)算機(jī)科學(xué)與技術(shù)(嵌入式技術(shù)及物聯(lián)網(wǎng)方向)應(yīng)用型人才培養(yǎng)示范專業(yè)”;廣東省教學(xué)質(zhì)量與教學(xué)改革項(xiàng)目“嵌入式系統(tǒng)及物聯(lián)網(wǎng)技術(shù)課程教學(xué)團(tuán)隊(duì)”;廣東省創(chuàng)新創(chuàng)業(yè)教育課程建設(shè)項(xiàng)目“嵌入式Linux應(yīng)用開(kāi)發(fā)”;電子科技大學(xué)質(zhì)量工程項(xiàng)目(ZYGX201601);廣東大學(xué)生科技創(chuàng)新培育專項(xiàng)(pdjh2017b0911)
楊亮(1980— ),男,江西婺源,博士,副教授,研究方向?yàn)橹悄軝C(jī)器人系統(tǒng)與技術(shù).E-mail:alex_yangliang@foxmail.com
TP242; G484
A
1002-4956(2017)08-0099-05