閆 赟
(西南交通大學(xué)計算機(jī)與人工智能學(xué)院,成都 611756)
移動抓取機(jī)器人的任務(wù)是利用相關(guān)的傳感設(shè)備完成對周圍未知環(huán)境的感知和目標(biāo)位姿的估計,并搭載自主移動平臺和機(jī)械臂完成對目標(biāo)的抓取。隨著科技的發(fā)展與人們生活水平的提高,移動抓取機(jī)器人在生活中扮演著越來越重要的角色,在醫(yī)療、工業(yè)、物流、服務(wù)等行業(yè)均得到廣泛的應(yīng)用。此外,工業(yè)和信息化部近日印發(fā)的《“十四五”機(jī)器人產(chǎn)業(yè)發(fā)展規(guī)劃》指出,要推進(jìn)人工智能、5G、大數(shù)據(jù)、云計算等新技術(shù)與機(jī)器人技術(shù)的融合應(yīng)用,推進(jìn)機(jī)器人應(yīng)用場景開發(fā)和產(chǎn)品示范推廣。因此,開展室內(nèi)移動抓取機(jī)器人應(yīng)用的研究與實現(xiàn)對機(jī)器人產(chǎn)業(yè)發(fā)展具有一定的積極作用與現(xiàn)實意義。
在目標(biāo)位姿估計方面,深度學(xué)習(xí)的蓬勃發(fā)展為其注入了一股新的能量。隨著在實例級物體上的6D 位姿估計趨于成熟,在類別級物體上基于深度學(xué)習(xí)的6D 位姿估計方法大量涌現(xiàn)。例如,以SSD-6D為代表的基于對應(yīng)點的方法,以EfficientPose為代表的基于模板的方法,以PVNet為代表的基于投票的方法等,相較于傳統(tǒng)方法都展現(xiàn)了較大的性能提升。
本文對移動抓取機(jī)器人中涉及的關(guān)鍵技術(shù)進(jìn)行研究,如建圖與導(dǎo)航算法,基于深度學(xué)習(xí)的目標(biāo)位姿估計算法等,并在真實機(jī)器人上進(jìn)行實驗,實現(xiàn)了一個室內(nèi)移動抓取機(jī)器人系統(tǒng)原型。
當(dāng)機(jī)器人處于未知環(huán)境下時,首先需要借助傳感器數(shù)據(jù)完成本體位置的定位并構(gòu)建環(huán)境地圖。在室內(nèi)環(huán)境下,激光SLAM 由于簡單易用、可靠性高、精度高等特點而得到廣泛使用。本文使用Gmapping 算法完成地圖的構(gòu)建,該算法訂閱機(jī)器人關(guān)節(jié)變換話題和激光雷達(dá)掃描數(shù)據(jù)話題,使用RBPF粒子濾波算法完成二維柵格地圖的構(gòu)建并進(jìn)行話題的發(fā)布。在室內(nèi)環(huán)境下構(gòu)建的地圖如圖1所示。

圖1 機(jī)器人在室內(nèi)環(huán)境下構(gòu)建的地圖
機(jī)器人在自主導(dǎo)航的過程中面臨的最主要問題就是定位和路徑規(guī)劃。針對這兩個問題,在地圖構(gòu)建完成之后,本文基于move_base 算法完成機(jī)器人在起止點之間的路徑規(guī)劃工作,基于amcl 完成機(jī)器人在地圖中的定位功能,框架圖如圖2所示。其中,全局規(guī)劃器負(fù)責(zé)在起止點之間根據(jù)最短路徑算法計算出一條全局最優(yōu)路徑,局部規(guī)劃器負(fù)責(zé)在機(jī)器人移動過程中自主修正路徑,以避免與隨機(jī)出現(xiàn)的障礙物發(fā)生碰撞。自主導(dǎo)航框架輸出Twist 格式的線速度角速度控制指令,控制機(jī)器人向目標(biāo)點進(jìn)行移動。

圖2 自主導(dǎo)航框架圖[4]
物體在空間中具有6個自由度,即沿三個直角坐標(biāo)軸方向的平移自由度和繞三個直角坐標(biāo)軸的旋轉(zhuǎn)自由度。因此,要確定目標(biāo)在空間中的位姿,就必須對目標(biāo)的6 個自由度進(jìn)行計算。本文使用DOPE算法對目標(biāo)位姿進(jìn)行估計,通過尋找2D 投影坐標(biāo)點與3D 邊界框之間的對應(yīng)關(guān)系,在已知攝像機(jī)內(nèi)參的前提下,使用PnP算法計算目標(biāo)在攝像機(jī)下的位姿信息。
輸入高度為、寬度為、通道數(shù)為的原始圖片,利用VGG19 的前10 層網(wǎng)絡(luò)將通道數(shù)擴(kuò)展到512 維,然后使用3 × 3 的卷積核將通道數(shù)壓縮到128 維,并將其輸入到多階段處理器中。在多階段處理部分,每個階段以主干網(wǎng)絡(luò)提取的特征圖和上一階段的輸出作為輸入,以充分利用上一階段中豐富的上下文信息,通過全卷積網(wǎng)絡(luò)結(jié)構(gòu)將特征圖從多維壓縮到一維,輸出目標(biāo)3D 邊界框的2D 投影坐標(biāo)點。其可視化結(jié)果如圖3所示。

圖3 目標(biāo)3D邊界框的2D投影坐標(biāo)點
在使用PnP 算法計算目標(biāo)在攝像機(jī)下的位姿信息前,需要先獲取攝像機(jī)的內(nèi)參信息。本文使用張正友標(biāo)定法對攝像機(jī)的參數(shù)進(jìn)行標(biāo)定,該方法因標(biāo)定精度高、易操作等特點而被廣泛使用。通過該方法標(biāo)定得到的攝像機(jī)內(nèi)參矩陣如下:

在已知攝像機(jī)內(nèi)參矩陣、目標(biāo)三維邊界框大小的前提下,便可以基于PnP 算法由上一小節(jié)得到的2D 投影坐標(biāo)點求解得到目標(biāo)相對于攝像機(jī)坐標(biāo)系的平移矩陣和旋轉(zhuǎn)矩陣。此外,由于本文需要控制機(jī)械臂對目標(biāo)執(zhí)行抓取動作,因此需要創(chuàng)建一個ROS 節(jié)點,訂閱目標(biāo)的位姿信息,并發(fā)布目標(biāo)到機(jī)械臂末端的坐標(biāo)變換關(guān)系。其可視化結(jié)果如圖4所示。

圖4 目標(biāo)位姿及其坐標(biāo)變換關(guān)系
為了驗證以上算法在實際應(yīng)用中的可行性,本文將其在真實機(jī)器人上進(jìn)行了部署,并在室內(nèi)環(huán)境下進(jìn)行了測試。其中,實驗軟硬件環(huán)境見表1。

表1 實驗軟硬件環(huán)境
真實機(jī)器人系統(tǒng)硬件結(jié)構(gòu)如圖5所示。

圖5 真實機(jī)器人系統(tǒng)硬件結(jié)構(gòu)
在實驗中,本文首先控制機(jī)器人對室內(nèi)環(huán)境進(jìn)行建圖。地圖構(gòu)建完成之后,將機(jī)器人引導(dǎo)至起始點,并向其發(fā)布終點位置信息。此時,自主導(dǎo)航算法將在起始點與終點之間自動構(gòu)建出一條最優(yōu)路徑,并發(fā)布速度控制指令控制機(jī)器人運動。如圖6所示。

圖6 自主導(dǎo)航算法最優(yōu)路徑規(guī)劃
機(jī)器人抵達(dá)終點之后,發(fā)布“Goal reached”文本信息。然后,機(jī)械臂運動規(guī)劃器引導(dǎo)機(jī)械臂到達(dá)抓取姿態(tài),攝像頭掃描當(dāng)前視角下有無目標(biāo)物體。若發(fā)現(xiàn)目標(biāo)物體,位姿估計算法對其位姿進(jìn)行估計,并啟動節(jié)點發(fā)布目標(biāo)物體到機(jī)械臂末端的坐標(biāo)變換關(guān)系,機(jī)械臂運動規(guī)劃器根據(jù)期望位姿求解機(jī)械臂各個關(guān)節(jié)的轉(zhuǎn)角,引導(dǎo)機(jī)械臂到達(dá)期望位姿,對目標(biāo)物體執(zhí)行抓取動作,并將其放置于期望位置。整個抓取過程如圖7所示。

圖7 機(jī)械臂抓取過程
實驗結(jié)果表明,以上算法在真實機(jī)器人上有比較好的應(yīng)用效果,具有較高的建圖與導(dǎo)航精度,并能較為精準(zhǔn)地抓取到目標(biāo)物體。
本文對室內(nèi)移動抓取機(jī)器人實現(xiàn)過程中涉及到的建圖與導(dǎo)航算法、目標(biāo)位姿估計算法進(jìn)行了研究,并基于ROS 在真實機(jī)器人上進(jìn)行了實驗,取得了比較好的應(yīng)用效果,驗證了這些算法在實際應(yīng)用中的可行性。隨著機(jī)器人智能化水平的不斷提高,機(jī)器人的應(yīng)用領(lǐng)域也更加廣泛,本文為機(jī)器人在移動抓取方面的應(yīng)用實現(xiàn)提供了一個系統(tǒng)原型,具有一定的現(xiàn)實意義和實際應(yīng)用價值。