葉仙*,胡潔,邵全全,戚進,方懿
(上海交通大學 機械與動力工程學院,上海,200240)
基于單點云信息的未知物體抓取方法
葉仙*,胡潔,邵全全,戚進,方懿
(上海交通大學 機械與動力工程學院,上海,200240)
隨著日常生活中物品的爆發(fā)式增長,對未知物體的自主操作能力,越來越成為智能機器人尤其是智能服務機器人的必備的技能。本文研究了僅利用單視角點云信息快速構建未知物體抓取點的方法,該方法無需待抓取物體的任何先驗知識,操作便捷,同時具有適應范圍廣、無需多視角拍照等特點。主要處理步驟如下:首先對RGB-D傳感器獲得的點云進行濾波、分割、坐標變換、投影、主成分分析等處理,構建目標物體坐標系;然后根據獲取點云的視角、物體位姿以及點云沿 y軸投影后的邊界信息確定待抓取物體合適的抓取點;最后利用ROS試驗仿真平臺驗證了該方法的可行性和有效性。
點云信息;主成分分析;未知物體;抓取點選擇
近幾十年來,機器人被廣泛地應用于工廠環(huán)境中,以完成復雜的操作任務。在生產中,機器人發(fā)揮著重要的作用,自主操作型機器人在空間操作、救災、探測以及家庭服務中有著廣泛的應用前景,然而在非結構環(huán)境下的自主操作技術依然停留在研究階段。機器人自主操作技術是一項高難度、復雜多領域的研究點,涉及環(huán)境感知、傳感器技術、機器視覺、物體識別、軌跡規(guī)劃、運動控制以及機器學習等多個領域的相關知識[1]。抓取是機器人獲取、移動、運輸目標物體的前提,因此研究者需要對機器人自主抓取技術給予更多的關注。研究表明,人類主要通過視覺引導和預測來調節(jié)接近動作,同時配合碰撞觸覺感知完成接觸與抓取[2]?;谝曈X的識別抓取是機器人環(huán)境感知的重要渠道[3],由于計算機視覺精度遠遠優(yōu)于人類本身的視覺精度,因此研究人員對基于視覺的機器人抓取技術進行廣泛地研究與深入地探討[4-6]。Geidenstam等人[4]研究了如何利用點云立方體邊界框信息實現抓取操作。SRINVASA等人[5]研究了配有靈巧手的移動機械臂,基于模型庫的識別與抓取方法,物體識別后再進行設定的抓取策略選擇。Miller等人[5]研究了如何利用圓柱、圓錐等基本形狀近似地實現對物體的抓取。這些方法往往具有以下缺點:計算量大,過于依賴先驗知識,并且由于缺失第三維信息而增加了抓取的不確定性。
隨著Kinect、Xtion等廉價深度傳感器的普及,大量研究者開始利用這類傳感器獲得目標物體的點云信息,實現抓取操作。Herzog等人[7]利用“PR2”機器人平臺,研究了基于模板匹配的方式實現抓取策略選擇,該方法主要利用深度傳感器獲得點云信息,提取目標物體凸邊界以及法線向量信息,通過物體類型庫、抓取庫進行抓取位姿的選擇。Stückler等人[8]利用“Cosero”移動操作家庭服務機器人,研究了基于部分點云信息的未知物體抓取,該移動機器人以Kinect傳感器作為機器人視覺,對俯視狀態(tài)下散放的中心對稱物體進行抓取。Lei等人[9-10]根據抓取時力平衡的思想建立了一套基于部分點云的快速抓取策略生成方法,最多通過兩次深度相機獲得的點云即可實現對多數未知物體的抓取操作,文中對利用UR5機器人平臺,對該方法上進行了驗證。近幾年由于人工智能的興起,深度學習在物體識別與決策中表現出很大的優(yōu)勢,已有一些研究者將物體深度信息與卷積神經網絡等學習方法相結合,探索具備智能化、適應性更強的抓取方法[11-12]。
本文研究了基于目標物體單個點云信息,快速生成抓取點,實現適用性更強的未知物體抓取方法。該方法具有如下創(chuàng)新性:(1)相較于其他多視角拍照、點云融合等方式,該方法僅通過一個視角獲取點云,,縮短了視覺信息處理時間,進而提升了機器人的響應速度;(2)利用點云投影邊界信息選擇抓取點,避免了較長的計算時間;(3)利用2D投影信息及從采樣投影點云提取物體坐標系,確定物體位姿,實現了僅利用單視角點云,即可實現對非正視物體的抓取。本文在ROS環(huán)境下,綜合GAZEBO仿真平臺,進行了多組仿真實驗,驗證了該方法的可行性和有效性。
本文考慮的硬件配置情況為相機隨機械臂移動,以二指型手爪作為執(zhí)行構件。具體流程如下:首先對從Kinect傳感器獲得的點云進行背景濾波、平面識別與分割、提取目標物體點云。再將目標點云從傳感器坐標系轉換至機器人操作空間坐標系,為減弱可見部分的點云權重,采取投影后重采樣,然后主成分分析識別長短邊,根據物體的長短邊構建目標物體局部坐標系,根據深度相機視角、目標物體位姿信息以及目標點云沿短軸投影后的邊界信息綜合確定合適的手爪姿態(tài)及抓取點。最后進行機械臂運動規(guī)劃,完成抓取放置等具體任務動作(如圖1所示)。下文將具體展開。
圖1 抓取算法流程圖Fig. 1 Flow chart of grasp algorithm
深度相機獲得的原始點云不僅含有目標物體信息,還包括桌面、地面上遠處物體等背景信息。為了聚焦待抓取的物體,提高算法運行效率,首先在傳感器坐標系中濾除遠處的點云(本文濾除1.5m以外的點)。然后采用隨機采樣一致算法(RANSAC)擬合平面,濾除桌面及桌面以下的點。本文重點研究基于單點云信息的未知物體抓取,故僅考慮單個物體情況,對于多物體情況,通過增加點云分割聚類等步驟處理即可。經過上述一系列點云處理后,可以獲得目標物體的點云信息,通過坐標系轉換,將點云由傳感器坐標系轉換至機器人操作坐標系,即世界坐標系。圖2以汽水瓶為例,展示了原始點云的處理過程。
圖2 獲取目標點云處理過程Fig. 2 The process to get object point cloud
考慮到多數物體都是放置在水平桌面上,故將物體坐標系的Z軸設置為垂直向上。目標點云信息沿Z軸投影,為了減弱物體可見部分的權重,對投影后的2D點云重采樣,再進行主成分分析(PCA)確定2D點云的長短軸及中心點,選取投影點云的短軸(方向與視角軸投影成銳角)作為物體坐標系的 Y軸,此處相機視角投影定義為在世界坐標系下,相機坐標系原點到物體坐標系連線在XY平面的投影,X軸通過下式(1)計算可得:
取2D點云中心點的坐標作為物體坐標系的原點X,Y坐標,計算目標點云Z坐標的最大值、最小值、中點及Z向寬度,取中點作為物體坐標系的原點Z坐標。圖3(a)展示了點云投影后的狀態(tài)及對其PCA分析后建立的X,Y軸情況,其中紅色表示物體坐標系X軸,綠色表示其Y軸。同時,該圖表明投影后2D點云的中心并不是物體中心(僅考慮X,Y方向),這是由于僅利用單視角點云,目標物體部分區(qū)域不可見造成的。圖3(b)描述了最終建立的物體坐標系情況。
將點云由世界坐標系轉換至物體坐標系,由上述步驟已經獲得Z方向的邊界框?,F分別計算點云X,Y方向的坐標最大值、最小值,進而獲得物體在X,Y方向的邊界框。通過邊界框與手爪寬度的比較可以初步確定物體是否可以抓取。
圖3 建立物體坐標系Fig. 3 Building the object coordinate
在物體坐標系下點云沿y軸投影,獲得待抓取物體寬面的投影信息,進一步運用凹殼算法(Concave Hull)提取該投影的邊界信息。在Z方向間隔?z迭代計算,分別保留最大、最小點及其鄰域點云,可以獲得X軸的左右邊界點云并分別存儲。圖4(a)展示了點云沿Y軸投影后的2D點云信息,圖4(b)為投影后點云經凹殼算法提取邊界后的示意圖,圖4(c)表示經迭代計算獲得的待抓物體的左右邊界信息。
圖4 邊界輪廓提取示意Fig. 4 Expression of boundary contour extraction
本文以二指型手爪為例,將手爪抓取范圍簡化為長方體,其他多指型手爪簡單的抓取動作也與二指型手爪類似。手爪模型主要參數包含:手爪位姿(即手爪坐標系的位置及方向),手爪開口寬度、厚度及開口深度。如圖5所示,建立相應的手爪坐標系,其中Xgr,Ygr,Zgr分別代表手爪坐標系的X,Y,Z軸。Zgr軸垂直于手爪平面,Xgr軸與手爪平行指向遠離手爪方向,Ygr軸為指尖的連線,坐標原點位于兩指尖連線的中點位置。
抓取過程中,手爪開口寬度及手爪厚度是已知的,抓取點的選擇主要根據目標物體位姿及大小,確定滿足手爪開口寬度及厚度的手爪坐標系具體位置。本文的抓取規(guī)劃中首先考慮待抓物體高度較低的情況(取小于0.05m),由于物體高度較低不適合手爪水平方向抓取,此類物體直接判斷,若 Y軸方向邊框寬度小于手爪開口寬度即可抓取,否則不可抓取。
圖5 建立手爪坐標系Fig. 5 Building the coordinate of the gripper
其余情況考慮水平方向X軸或者Y軸的抓取。相機獲得的物體形狀信息主要來源于面向相機的一側,規(guī)劃中根據相機視角投影與 Y軸的夾角不同,判斷待抓物體面向相機的面為寬面還是窄面,進而選擇不同的優(yōu)先抓取方向。判別式如下:
θ1>0取+Y抓取方向,θ1<0,θ2>0取+X為抓取方向,θ1<0,θ2<0取-X為抓取方向。示意圖如圖6所示,其中圖6(c)為X軸與視角軸投影成鈍角的情況,針對圖6(a)、圖6(b)所示的情況,下文考慮在XZ平面與在YZ平面搜索抓取點兩種不同的情況。
圖6 物體不同位姿示意圖Fig. 6 Expression of different pose of the object
當視角軸投影與Y軸夾角小于等于45°時,相機可以獲得更多關于待抓取物體寬面的信息,優(yōu)先考慮在寬面搜索抓取點。抓取點搜索時主要考慮手爪開口寬度及手爪厚度,可以用矩形表示,長度代表手爪開口寬度,寬度代表手爪的厚度,如圖7所示。垂直放置在桌面上的物體下半部分抗擾動的能力強于上半部分,即待抓物體上半部分受側向力更容易側翻,所以該算法從桌面以上0.02m處逐漸向上偏移?z,進行迭代檢索。首先判斷矩形框區(qū)域內點云寬度小于矩形框長度(圖7(a)),進而對框內左右輪廓分別按下式進行擬合:
然后根據公式(4)判定是否停止搜索。其中 是與待抓取物體與手爪靜摩擦系數與結構有關的正數, 越小對應停止搜索時的夾角 越小(如圖7(b)所示)。
此時對應的矩形框區(qū)域即為檢索到的抓取點,Zgr軸可取物體坐標系的Z軸或者取兩直線方向向量的中線方向。同時也存在XZ平面無合適抓取點的情況(如圖7(c)所示),此時按1.5.2所述方法判斷是否可以從YZ平面進行抓取。
圖7 XZ平面搜索抓取點Fig. 7 Searching the grasp point in XZ plane
本節(jié)分為兩種情況,一是視角軸投影與 Y軸夾角小于等于45°,但經1.5.1方法檢測到XZ平面無合適的抓取點;二是視角軸投影與Y軸夾角大于45°,相機獲得較多物體的窄面信息,優(yōu)先選取X軸作為抓取方向。根據X軸與視角軸投影夾角是否為鈍角選擇X軸正方向還是X軸負方向作為手爪的接近方向(即手爪坐標系中的Xgr軸),并確定選取投影邊界的左半部分還是右半部分(如圖(8)所示)作為搜索抓取點的邊界信息。下文討論 X軸與視角軸投影成銳角的情形,成鈍角情形完全類似。首先確定 Y軸方向邊界框小于手爪開口寬度,否則無法抓取。當Y軸方向邊界框小于手爪開口寬度時,選X軸正方向為手爪接近方向,選取左邊界從桌面以上0.02m逐漸向上用矩形框向上迭代搜索,根據公式(5)對框內邊界擬合,根據公式(6)判定是否中止搜索。其中0φ為判定閾值常數,物理意義為矩形框內邊界與豎直方向的夾角。
如圖(8)所示,抓取位置在紅色橢圓區(qū)域內,取中止收縮時矩形框內的點云 X坐標的最小值,并增加一個抓取深度作為最終的抓取點。
圖8 YZ平面搜索抓取點Fig. 8 Searching the grasp point in YZ plane
為了有效地驗證本文提出的基于單點云信息的物體抓取方法,在ROS環(huán)境下綜合Gazebo仿真平臺以及Moveit!運動規(guī)劃插件進行多組仿真實驗。仿真實驗硬件設置為:將UR5機器人固定在地面,Kinect相機固定在機械臂末端,采用“眼在手上”(eye-in-hand)配置方式,該方式可以便捷地實現對目標物體搜索以及對不同視角下的物體點云信息的采集。在機器人一側的0.5m 附近放置一桌子,用來放置不同的待抓取物體,具體如圖(9)所示。機器人末端安裝有二指型手爪,其具體參數為:手爪開口寬度hand_width=0.1m,手爪厚度hand_hight=0.02m,手爪開口深度 hand_depth=0.1m。由于單點云信息只能獲得目標物體面向相機部分的形狀信息,同時相機、視覺算法以及機械臂執(zhí)行中都會引入新的誤差,因此仿真中手爪開口寬度設置為0.8*hand_width。在ROS平臺下,Kinect相機先從GAZEBO仿真環(huán)境中獲得原始點云信息,隨后通過上述算法的點云處理節(jié)點,經處理后輸出抓取點的位姿信息,再根據該位姿信息利用moveit!運動規(guī)劃插件驅動UR5模擬機械臂運動至預抓取位置,預抓取位置設為抓取點位姿沿抓取方向反方向平移0.15m,通過降低手爪速度,以直線運動方式至抓取點,閉合手爪實現抓取操作。下文通過兩個仿真對比試驗驗證算法的有效性。
本文首先研究了在目標物體坐標系構建過程中,通過引入重采樣處理和對采樣后的二維點云進行主成分分析,對目標物體坐標系構建的改善情況。傳統(tǒng)方法在構建目標物體局部坐標系時,直接對XY平面投影后的2D點云進行主成分分析[13]。研究發(fā)現由于目標物體的自遮擋情況,面向相機的一面獲得更多的點云信息,對于非完全對稱物體的局部坐標系構建,在投影后直接對二維點云進行主成分分析,往往存在較大的誤差。本文引入重采樣技術,可以部分改善目標物體局部坐標系的構建精度。下文以日常生活物品洗發(fā)露瓶為檢測目標,將物品旋轉一周,對上述兩種方法構建X,Y軸坐標系的效果與理想物體坐標系偏差情況進行了對比(實驗環(huán)境如圖9所示),結果見表1,圖10。實驗表明,通過重采樣技術可以部分消除可見區(qū)域與自遮擋問題對局部坐標系的構建誤差。
表1 局部坐標系偏差密比表(單位:度(°))Tab. 1 Contrast table of errors of two local coordinates(Unit: °)
圖10 局部坐標系偏差密比圖Fig. 10 Contrast diagram of errors of two local coordinates
將本文算法與Lei等人[9]的方法進行了對比,驗證了該方法通過一次拍照可以有效地處理目標物體相對位姿傾斜的問題。Lei等人[9]的方法以視角投影方向為抓取方向,當非旋轉體類物體與視角投影方向存在一定偏轉角時(如圖10(a)所示),即判別為不可抓,需要根據物體方向移動至與之平行的位置進行二次拍照?,F實場景中物體與相機視角投影方向存在一定偏差的現象是普遍存在的,移動相機,進行二次拍照的方式效率較低,同時還存在目標視角點超出機械臂工作空間的情況。本文通過對局部坐標系的更高精度的構建,可以成功的實現對傾斜物體的抓取。
圖11 有一定偏轉角度物體抓取密比Fig. 11 Contrast grasping tests in a deflection angle
本文最后通過仿真的形式對多類物體的多種放置位姿情況下的抓取進行實驗。圖(12)展示了不同物體以及不同姿態(tài)下,對未知物體的抓取情況。實驗表明該算法可以有效地選擇各類物體合適的抓取點,成功地實現對各類物體的抓取操作。對于同一物體的不同的放置姿態(tài),該算法還可以根據物體與相機的相對位姿信息,調整抓取的方向以及抓取點,以提高抓取操作的有效性和成功率,充分驗證該算法的有效性。
圖12 不同物體初始狀態(tài)及結果Fig. 12 Result of different object in different initial states
本文提出了一套基于單點云信息的未知物體快速抓取策略生成算法。利用ROS試驗仿真平臺驗證了該方法的可行性和有效性,該算法僅需拍照一次即可地實現對多數物體的有效抓取,操作更為便捷。與多視角條件下的抓取操作相比,該算法不需要將機械臂移動至不同的拍照點,同時不需要進行多點云的融合,即可以實現機器人操作的快速性實時性,增強了機器人等自主操作系統(tǒng)對未知物體的處理能力。
[1]Righetti L,Kalakrishnan M,Pastor P,et al. An autonomous manipulation system based on force control and optimization[J].Autonomous Robots,2014,36(1-2): 11-30.
[2]張書濤,張震,錢晉武. 基于 Tau 理論的機器人抓取運動仿生軌跡規(guī)劃[J]. 機械工程學報,2014,50(13): 42-51.
[3]楊揚. 基于機器視覺的服務機器人智能抓取研究[D]. 上海交通大學,2014.
[4]Geidenstam S,Huebner K,Banksell D,et al. Learning of 2D grasping strategies from box-based 3D object approximations[C]//Robotics:Science and Systems. 2009,2008.
[5]Srinivasa S,Ferguson D I,Vande Weghe M,et al. The robotic busboy:Steps towards developing a mobile robotic home assistant[J]. 2008.
[6]Miller A T,Knoop S,Christensen H I,et al. Automatic grasp planning using shape primitives[C]//Robotics and Automation,2003. Proceedings.ICRA'03. IEEE International
Single-view Point Cloud Information Based Fast Grasping Approach of Unknown Objects
YE Xian*,HU Jie,SHAO Quanquan,QI Jin,FANG Yi
(School of Mechanical Engineering,Shanghai Jiaotong University,Shanghai,200240,China)
With the explosive growth of objects in daily life,the autonomous operation of unknown objects is becoming one of the most essential skills of intelligent robots,especially the intelligent service robots. In this article,we studied the method of fast generation of grasp point with only single-view point cloud information. This approach does not need any prior-knowledge of the objects to be captured,and has the characteristics of wide adaptability and no need of multi-point perception. Above all,the point cloud obtained by RGB-D sensor was processed with filtering,segmentation,coordinate transformation,point cloud projection and principal component analysis (PCA) to obtain a local object-centric coordinate system. Subsequently,we could acquire the suitable grasp point according to the view angle of sensor,pose of the object and boundary information of projected points of object along the y-axis. Eventually,the simulation experiments were conducted on the simulate platform ROS to verify the feasibility and availability of this process.
point cloud information; principal component analysis; unknown objects; selection of grasp point
TP242;TP391.41
A
1672-9129(2017)06-0015-05
10.19551/j.cnki.issn1672-9129.2017.06.005
葉仙,胡潔,邵全全,等. 基于單點云信息的未知物體抓取方法[J]. 數碼設計,2017,6(6): 15-19.
Cite:YE Xian,HU Jie,SHAO Quanquan,et al. Single-view Point Cloud Information Based Fast Grasping Approach of Unknown Objects[J].Peak Data Science,2017,6(6): 15-19.
2017-02-15;
2017-03-18。
國家自然科學基金項目(51675329,51675342),機械系統(tǒng)與振動國家重點實驗室課題(GZ2016KF001,GKZD020018),上海寶山區(qū)科委項目(16-C-3)上海交通大學“醫(yī)工交叉研究基金”(YG2014MS12),特種車輛及其傳動系統(tǒng)智能制造國家重點實驗室開放課題(GZ2016KF001)
葉仙(1991.10-),女,安徽桐城,碩士研究生,主要從事機器視覺、圖像處理,上海交通大學機械與動力工程學院。
Email:913718428@qq.com