閆 赟
(西南交通大學計算機與人工智能學院,成都 611756)
移動抓取機器人的任務是利用相關(guān)的傳感設備完成對周圍未知環(huán)境的感知和目標位姿的估計,并搭載自主移動平臺和機械臂完成對目標的抓取。隨著科技的發(fā)展與人們生活水平的提高,移動抓取機器人在生活中扮演著越來越重要的角色,在醫(yī)療、工業(yè)、物流、服務等行業(yè)均得到廣泛的應用。此外,工業(yè)和信息化部近日印發(fā)的《“十四五”機器人產(chǎn)業(yè)發(fā)展規(guī)劃》指出,要推進人工智能、5G、大數(shù)據(jù)、云計算等新技術(shù)與機器人技術(shù)的融合應用,推進機器人應用場景開發(fā)和產(chǎn)品示范推廣。因此,開展室內(nèi)移動抓取機器人應用的研究與實現(xiàn)對機器人產(chǎn)業(yè)發(fā)展具有一定的積極作用與現(xiàn)實意義。
在目標位姿估計方面,深度學習的蓬勃發(fā)展為其注入了一股新的能量。隨著在實例級物體上的6D 位姿估計趨于成熟,在類別級物體上基于深度學習的6D 位姿估計方法大量涌現(xiàn)。例如,以SSD-6D為代表的基于對應點的方法,以EfficientPose為代表的基于模板的方法,以PVNet為代表的基于投票的方法等,相較于傳統(tǒng)方法都展現(xiàn)了較大的性能提升。
本文對移動抓取機器人中涉及的關(guān)鍵技術(shù)進行研究,如建圖與導航算法,基于深度學習的目標位姿估計算法等,并在真實機器人上進行實驗,實現(xiàn)了一個室內(nèi)移動抓取機器人系統(tǒng)原型。
當機器人處于未知環(huán)境下時,首先需要借助傳感器數(shù)據(jù)完成本體位置的定位并構(gòu)建環(huán)境地圖。在室內(nèi)環(huán)境下,激光SLAM 由于簡單易用、可靠性高、精度高等特點而得到廣泛使用。本文使用Gmapping 算法完成地圖的構(gòu)建,該算法訂閱機器人關(guān)節(jié)變換話題和激光雷達掃描數(shù)據(jù)話題,使用RBPF粒子濾波算法完成二維柵格地圖的構(gòu)建并進行話題的發(fā)布。在室內(nèi)環(huán)境下構(gòu)建的地圖如圖1所示。
圖1 機器人在室內(nèi)環(huán)境下構(gòu)建的地圖
機器人在自主導航的過程中面臨的最主要問題就是定位和路徑規(guī)劃。針對這兩個問題,在地圖構(gòu)建完成之后,本文基于move_base 算法完成機器人在起止點之間的路徑規(guī)劃工作,基于amcl 完成機器人在地圖中的定位功能,框架圖如圖2所示。其中,全局規(guī)劃器負責在起止點之間根據(jù)最短路徑算法計算出一條全局最優(yōu)路徑,局部規(guī)劃器負責在機器人移動過程中自主修正路徑,以避免與隨機出現(xiàn)的障礙物發(fā)生碰撞。自主導航框架輸出Twist 格式的線速度角速度控制指令,控制機器人向目標點進行移動。
圖2 自主導航框架圖[4]
物體在空間中具有6個自由度,即沿三個直角坐標軸方向的平移自由度和繞三個直角坐標軸的旋轉(zhuǎn)自由度。因此,要確定目標在空間中的位姿,就必須對目標的6 個自由度進行計算。本文使用DOPE算法對目標位姿進行估計,通過尋找2D 投影坐標點與3D 邊界框之間的對應關(guān)系,在已知攝像機內(nèi)參的前提下,使用PnP算法計算目標在攝像機下的位姿信息。
輸入高度為、寬度為、通道數(shù)為的原始圖片,利用VGG19 的前10 層網(wǎng)絡將通道數(shù)擴展到512 維,然后使用3 × 3 的卷積核將通道數(shù)壓縮到128 維,并將其輸入到多階段處理器中。在多階段處理部分,每個階段以主干網(wǎng)絡提取的特征圖和上一階段的輸出作為輸入,以充分利用上一階段中豐富的上下文信息,通過全卷積網(wǎng)絡結(jié)構(gòu)將特征圖從多維壓縮到一維,輸出目標3D 邊界框的2D 投影坐標點。其可視化結(jié)果如圖3所示。
圖3 目標3D邊界框的2D投影坐標點
在使用PnP 算法計算目標在攝像機下的位姿信息前,需要先獲取攝像機的內(nèi)參信息。本文使用張正友標定法對攝像機的參數(shù)進行標定,該方法因標定精度高、易操作等特點而被廣泛使用。通過該方法標定得到的攝像機內(nèi)參矩陣如下:
在已知攝像機內(nèi)參矩陣、目標三維邊界框大小的前提下,便可以基于PnP 算法由上一小節(jié)得到的2D 投影坐標點求解得到目標相對于攝像機坐標系的平移矩陣和旋轉(zhuǎn)矩陣。此外,由于本文需要控制機械臂對目標執(zhí)行抓取動作,因此需要創(chuàng)建一個ROS 節(jié)點,訂閱目標的位姿信息,并發(fā)布目標到機械臂末端的坐標變換關(guān)系。其可視化結(jié)果如圖4所示。
圖4 目標位姿及其坐標變換關(guān)系
為了驗證以上算法在實際應用中的可行性,本文將其在真實機器人上進行了部署,并在室內(nèi)環(huán)境下進行了測試。其中,實驗軟硬件環(huán)境見表1。
表1 實驗軟硬件環(huán)境
真實機器人系統(tǒng)硬件結(jié)構(gòu)如圖5所示。
圖5 真實機器人系統(tǒng)硬件結(jié)構(gòu)
在實驗中,本文首先控制機器人對室內(nèi)環(huán)境進行建圖。地圖構(gòu)建完成之后,將機器人引導至起始點,并向其發(fā)布終點位置信息。此時,自主導航算法將在起始點與終點之間自動構(gòu)建出一條最優(yōu)路徑,并發(fā)布速度控制指令控制機器人運動。如圖6所示。
圖6 自主導航算法最優(yōu)路徑規(guī)劃
機器人抵達終點之后,發(fā)布“Goal reached”文本信息。然后,機械臂運動規(guī)劃器引導機械臂到達抓取姿態(tài),攝像頭掃描當前視角下有無目標物體。若發(fā)現(xiàn)目標物體,位姿估計算法對其位姿進行估計,并啟動節(jié)點發(fā)布目標物體到機械臂末端的坐標變換關(guān)系,機械臂運動規(guī)劃器根據(jù)期望位姿求解機械臂各個關(guān)節(jié)的轉(zhuǎn)角,引導機械臂到達期望位姿,對目標物體執(zhí)行抓取動作,并將其放置于期望位置。整個抓取過程如圖7所示。
圖7 機械臂抓取過程
實驗結(jié)果表明,以上算法在真實機器人上有比較好的應用效果,具有較高的建圖與導航精度,并能較為精準地抓取到目標物體。
本文對室內(nèi)移動抓取機器人實現(xiàn)過程中涉及到的建圖與導航算法、目標位姿估計算法進行了研究,并基于ROS 在真實機器人上進行了實驗,取得了比較好的應用效果,驗證了這些算法在實際應用中的可行性。隨著機器人智能化水平的不斷提高,機器人的應用領(lǐng)域也更加廣泛,本文為機器人在移動抓取方面的應用實現(xiàn)提供了一個系統(tǒng)原型,具有一定的現(xiàn)實意義和實際應用價值。