本發(fā)明屬于機器人裝配領域,尤其涉及一種基于深度投影的機械手抓取規(guī)劃方法及控制裝置。
背景技術(shù):
現(xiàn)有的抓取規(guī)劃方法,基本可以分為基于解析的抓取規(guī)劃方法和基于學習的抓取規(guī)劃方法。
基于解析的抓取規(guī)劃方法在抓取合成階段,首先定義一些如立方體、球、圓柱、圓錐等這樣的基礎形狀,同時定義他們相對應的可能抓取位姿,然后利用形狀單元(shape primitives)、分解樹(decomposition trees)或者最小體積包圍盒(minimum volume bounding box)等不同的方法對物體進行分解,分解成上述的基礎形狀。最后按照預定義的候選抓取位姿,將每一個分解出的基礎形狀對應的候選抓取位姿全部取出,組合成整個物體的候選抓取位姿。而在抓取選擇階段,通過在GraspIt!或OpenRAVE等仿真環(huán)境進行抓取仿真,獲取每一個手爪與物體的接觸點處的六維力旋量信息,進而求取ε度量或者凸包體積度量,從而選出具有最大度量值的抓取位姿,作為最優(yōu)抓取位姿。
基于學習的抓取規(guī)劃方法通常利用已有的抓取場景信息及對應的成功與不成功抓取位姿等作為樣本,離線訓練用于抓取規(guī)劃的神經(jīng)網(wǎng)絡。而在線部分,用工作場景的RGB或者RGB-D的數(shù)據(jù)作為輸入,經(jīng)過已訓練好的模型,直接輸出最優(yōu)抓取位姿。
基于解析的方法在計算速度上優(yōu)于基于學習的方法,然而對于基于解析的方法,需要對機械手爪以及被抓取物體進行精確三維建模,而這對于具有龐大數(shù)量的待抓取物體進行建模幾乎是不現(xiàn)實的。特別是對于可變形物體,如毛絨玩具等,根本無法構(gòu)建出可用的靜態(tài)模型。而基于學習的方法雖然不需要對待抓取物體和機械手爪進行精確建模,但是由于滑動窗口方法的采用,導致規(guī)劃速度上遠不如基于解析的方法,同時該類方法由于直接采用RGB數(shù)據(jù)作為網(wǎng)絡模型的輸入,對光照穩(wěn)定性有較高的要求。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)的問題,本發(fā)明提供了一種無需對待抓取物體建模、能夠適應不同物體和手爪尺寸、不受光照變化影響的快速抓取規(guī)劃方法及控制裝置。
本發(fā)明是通過以下技術(shù)方案來實現(xiàn)的:
本發(fā)明公開了一種基于深度投影的機械手爪抓取規(guī)劃方法,所述的方法主要包括如下步驟:1)、利用場景深度信息,生成抓取位姿正負樣本,進行抓取選擇神經(jīng)網(wǎng)絡的訓練;2)、根據(jù)當前場景深度信息,生成候選抓取位姿樣本,并用訓練好的網(wǎng)絡獲得最優(yōu)抓取位姿。
作為進一步地改進,本發(fā)明所述的步驟1)的步驟如下:
a、獲取合成的場景深度信息,所述場景深度信息由待抓取物體與待抓取物體的承載物合成;
b、將合成的場景深度信息投影到抓取位姿投影平面上,生成抓取位姿正負樣本;
c、利用訓練樣本信息訓練抓取選擇神經(jīng)網(wǎng)絡,所述訓練樣本信息包括抓取位姿正負樣本以及對應抓取位姿是正樣本或負樣本的標簽。
作為進一步地改進,本發(fā)明所述的步驟2)的步驟如下:
a、獲取當前場景深度信息,利用當前場景深度信息生成候選抓取位姿的坐標系,獲得在候選抓取位姿的坐標系下合成的當前場景深度信息,所述當前場景深度信息由當前的待抓取物體與待抓取物體的承載物合成;
b、將合成的當前場景深度信息投影到候選抓取位姿投影平面,生成候選抓取位姿樣本;
c、將候選抓取位姿樣本放入訓練好的抓取選擇神經(jīng)網(wǎng)絡,獲得最優(yōu)抓取位姿。
作為進一步地改進,本發(fā)明所述的步驟1)a步驟的具體步驟為:獲取場景點云信息;從場景點云信息中分割出待抓取物體的點云信息以及承載體的位姿信息;將分割出的待抓取物體點云信息及承載體的位姿信息構(gòu)建合成的場景深度信息;
作為進一步地改進,本發(fā)明所述的步驟2)中的a步驟的具體步驟為:獲取當前場景點云信息;從當前場景點云信息中分割出待抓取物體的點云信息以及承載體的位姿信息;對待抓取物體的點云信息利用PCA主成分分析算法獲取點云主軸方向;生成待抓取物體的點云信息的凸包,對于凸包的每一個三角面,根據(jù)三角面的法向量以及待抓取物體點云的主軸生成候選抓取位姿坐標系。
作為進一步地改進,本發(fā)明將合成的場景深度信息投影到抓取位姿投影平面上之前,根據(jù)不同手爪的尺寸信息,選取不同的深度投影尺寸,和/或?qū)⒑铣傻漠斍皥鼍吧疃刃畔⑼队暗胶蜻x抓取位姿投影平面之前,根據(jù)不同手爪的尺寸信息,選取不同的深度投影尺寸。
作為進一步地改進,本發(fā)明利用3D圖像渲染的方法將合成的場景深度信息投影到抓取位姿投影平面上,和/或利用3D圖像渲染的方法將合成的當前場景深度信息投影到候選抓取位姿投影平面。
本發(fā)明還公開了一種用于機械手爪抓取規(guī)劃的控制裝置,包括
第一運算模塊,根據(jù)當前場景深度信息,生成候選抓取位姿樣本,并用訓練好的抓取選擇神經(jīng)網(wǎng)絡獲得最優(yōu)抓取位姿;
控制模塊,將機械手爪調(diào)整至最優(yōu)抓取位姿進行抓取。
作為進一步地改進,本發(fā)明所述第一運算模塊包括
第一獲取單元,獲取當前場景深度信息,利用當前場景深度信息生成候選抓取位姿的坐標系;獲得在候選抓取位姿的坐標系下合成的當前場景深度信息;
第一位姿樣本生成單元,將合成的當前場景深度信息投影到候選抓取位姿投影平面,生成候選抓取位姿樣本;
抓取選擇單元,將候選抓取位姿樣本放入訓練好的抓取選擇神經(jīng)網(wǎng)絡,獲得最優(yōu)抓取位姿。
作為進一步地改進,本發(fā)明所述第一獲取單元具體地獲取當前場景點云信息;從當前場景點云信息中分割出待抓取物體的點云信息以及承載體的位姿信息;對待抓取物體的點云信息利用PCA主成分分析算法獲取點云主軸方向;生成待抓取物體的點云信息的凸包,對于凸包的每一個三角面,根據(jù)三角面的法向量以及待抓取物體點云的主軸生成候選抓取位姿坐標系,將分割出的待抓取物體點云信息及承載體的位姿信息構(gòu)建合成的當前場景深度信息。
作為進一步地改進,本發(fā)明所述控制裝置還包括第二運算模塊,第二運算模塊利用場景深度信息,生成抓取位姿正負樣本,進行抓取選擇神經(jīng)網(wǎng)絡的訓練。
作為進一步地改進,本發(fā)明所述第二運算模塊包括
第二獲取單元,獲取合成的場景深度信息;
第二位姿樣本生成單元,將合成的場景深度信息投影到抓取位姿投影平面上,生成抓取位姿正負樣本;
訓練單元,利用訓練樣本信息訓練抓取選擇神經(jīng)網(wǎng)絡;所述訓練樣本信息包括抓取位姿正負樣本以及對應抓取位姿是正樣本或負樣本的標簽。
作為進一步地改進,本發(fā)明所述第二獲取單元具體的獲取場景點云信息;從場景點云信息中分割出待抓取物體的點云信息以及承載體的位姿信息;將分割出的待抓取物體點云信息及承載體的位姿信息構(gòu)建合成的場景深度信息。
作為進一步地改進,本發(fā)明所述第二位姿樣本生成單元將合成的場景深度信息投影到抓取位姿投影平面上之前,根據(jù)不同手爪的尺寸信息,選取不同的深度投影尺寸,和/或第一位姿樣本生成單元將合成的當前場景深度信息投影到候選抓取位姿投影平面之前,根據(jù)不同手爪的尺寸信息,選取不同的深度投影尺寸。
作為進一步地改進,本發(fā)明所述第二位姿樣本生成單元利用3D圖像渲染的方法將合成的場景深度信息投影到抓取位姿投影平面上,和/或第一位姿樣本生成單元利用3D圖像渲染的方法將合成的當前場景深度信息投影到候選抓取位姿投影平面。
本發(fā)明的有益效果是:
(1)綜合了機械手爪的尺寸信息等,該抓取規(guī)劃方法能夠適應于不同種類的機械手爪,無需對待抓取物體建模、能夠適應不同物體和手爪尺寸、不受光照變化影響的快速抓取規(guī)劃方法。
(2)利用對待抓取物體點云進行PCA,獲取點云主軸方向,在生成候選抓取位姿坐標系的步驟中,剔除了與待抓取位姿點云主軸沖突的抓取位姿,減少了無效候選抓取位姿的數(shù)量,提高了候選抓取位姿成為最優(yōu)抓取位姿的整體效率。
(3)利用3D圖像渲染的方法做深度投影的生成,避免了逐個點云做投影的低效,大大減少了在線抓取規(guī)劃時間。
附圖說明
圖1為機械手爪位姿坐標系定義示意圖;
圖2為離線部分的深度投影生成過程,以及網(wǎng)絡訓練過程的示意圖;
圖3為根據(jù)分割出的待抓取物體點云信息及桌面位姿信息構(gòu)建的合成場景示意圖;
圖4為在線部分的深度投影生成過程,以及利用訓練好的網(wǎng)絡做抓取選擇的過程示意圖。
具體實施方式
下面結(jié)合說明書附圖,通過具體實施例子對本發(fā)明的技術(shù)方案作進一步地說明。
本發(fā)明公開的一種基于深度投影的機械手抓取規(guī)劃方法通過抓取規(guī)劃控制裝置以及機械手爪來實現(xiàn),機械手爪用于抓取三維空間中的任意物體,抓取規(guī)劃控制裝置通過本發(fā)明公開的抓取規(guī)劃方法完成抓取規(guī)劃,即利用包含待抓取物體的場景點云信息作為輸入,根據(jù)機械手爪信息進行抓取規(guī)劃,最終輸出最優(yōu)抓取位姿,將最優(yōu)抓取位姿坐標系作為機械手爪位姿坐標系,根據(jù)抓取規(guī)劃結(jié)果控制機械手爪完成抓取。
圖1為機械手爪位姿坐標系定義示意圖;本發(fā)明中提出的方法,用歐式空間的一個六自由度的位姿直接表示機械手爪的位姿,其中六個自由度分別是平移部分的x、y、z,旋轉(zhuǎn)部分的滾動角(roll)、俯仰角(pitch)、偏航角(yaw)。圖1中Z軸是手爪接近向量的反方向;X軸是大拇指合起的方向。
本發(fā)明的機械手爪抓取規(guī)劃方法是經(jīng)由控制器接收一組輸入,包括待抓取物體的場景點云信息;由控制器分割場景點云,獲取待抓取物體點云以及承載物位姿;在物體點云周圍生成候選抓取位姿;利用場景點云及候選抓取位姿生成深度投影;生成的深度投影作為訓練好的控制器中的深度神經(jīng)網(wǎng)絡的輸入部分,利用該網(wǎng)絡選擇出最優(yōu)深度投影,對應的抓取位姿即為最優(yōu)抓取位姿。細分為:
步驟201:利用場景深度信息,生成抓取位姿樣本,進行抓取選擇神經(jīng)網(wǎng)絡的訓練。
其中,所述抓取位姿樣本包括抓取位姿正樣本和抓取位姿負樣本,所述抓取位姿正樣本對應能夠成功抓取的抓取位姿的樣本,所述負樣本對應抓取失敗的抓取位姿的樣本。
步驟202:根據(jù)當前場景深度信息,生成候選抓取位姿樣本,并用訓練好的抓取選擇神經(jīng)網(wǎng)絡獲得最優(yōu)抓取位姿。
其中,抓取位姿正負樣本離線生成,候選抓取位姿樣本在線生成,所述離線生成為不在抓取的過程中生成,所述在線生成為在抓取的過程中生成。
步驟201的具體過程為:
步驟301:獲取合成的場景深度信息,所述場景深度信息由待抓取物體與待抓取物體的承載物合成。
具體地(1)獲取場景點云信息;(2)從場景點云信息中分割出待抓取物體的點云信息以及承載體的位姿信息。其中,所述承載體用于承載待抓取物體,例如所述承載體可以是桌子、椅子等,所述待抓取物體可以是擺放在桌子、椅子上的訂書機、黑板擦等;圖2中的原始點云中只有一個物體,但是實際場景中可能包括多個物體等,而本發(fā)明的方法只需要將待抓取物體的點云信息以及桌子的位姿信息分割出來即可。(3)將分割出的待抓取物體點云信息及承載體的位姿信息構(gòu)建合成場景深度信息。在一具體實施方式中,對場景點云信息進行點云分割后,在原桌子位姿處新建模擬桌子模型,與待抓取物體的點云信息構(gòu)成只含有待抓取位姿和桌子的場景深度信息;
步驟302:將合成的場景深度信息投影到抓取位姿投影平面上,生成深度投影樣本;所述深度投影樣本即為抓取位姿正負樣本。
在一具體實施方式中,所述抓取位姿投影平面為樣本抓取位姿坐標系的x-y平面,利用3D圖像渲染方法,將合成的場景深度信息渲染到樣本抓取位姿坐標系的x-y平面上,生成深度投影樣本。
其中,根據(jù)機械手爪的不同抓取范圍,選取不同的深度投影尺寸,所述深度投影尺寸確定深度投影樣本尺寸大小。在一具體實施方式中,具有較大開合范圍即較大抓取范圍的機械手爪,一般抓取范圍較大,選用較大的投影尺寸;具有開合范圍小即抓取范圍較小的機械手爪可選用較小的投影尺寸。
步驟303:利用訓練樣本信息訓練深度神經(jīng)網(wǎng)絡,所述深度神經(jīng)網(wǎng)絡即為抓取選擇神經(jīng)網(wǎng)絡。
其中,所述訓練樣本信息包括深度投影樣本以及對應抓取位姿是正樣本或負樣本的標簽。
其中,可以利用如Caffe、Tensorflow等搭建合適的網(wǎng)絡模型并進行深度神經(jīng)網(wǎng)絡的訓練。
其中,利用訓練樣本信息訓練抓取選擇神經(jīng)網(wǎng)絡,獲得訓練集上的分類精度以及測試集上的分類誤差。當訓練集上具有較高的分類精度,同時測試集上的分類誤差足夠小時,網(wǎng)絡模型訓練完畢。圖2所示的網(wǎng)絡模型是一個示例模型,具有三層卷積網(wǎng)絡(conv1、conv2、conv3)和兩層全連接網(wǎng)絡(fc1、fc2)共5層組成,而在具體的訓練過程,可以通過調(diào)整網(wǎng)絡結(jié)構(gòu)、層數(shù)、每層內(nèi)部的參數(shù)等來訓練出最優(yōu)的網(wǎng)絡。
圖2為離線部分的深度投影生成過程,以及網(wǎng)絡訓練過程的示意圖;
步驟一:從場景點云分割出待抓取物體;
步驟二:根據(jù)分割出的待抓取物體點云信息及桌面位姿信息構(gòu)建的合成場景,如圖3所示。
步驟三:根據(jù)不同手爪的尺寸信息,選取不同的深度投影尺寸。利用3D圖像渲染方法,將合成場景信息渲染到樣本抓取位姿坐標系的x-y平面上,生成深度投影樣本。
步驟四:將上述生成的深度投影樣本訓練深度神經(jīng)網(wǎng)絡,網(wǎng)絡的輸入是訓練樣本,訓練樣本包括深度投影以及對應抓取位姿是正樣本或負樣本的標簽。
步驟202的具體過程為:
步驟401:獲取當前場景深度信息,利用當前場景深度信息生成候選抓取位姿的坐標系,獲得在候選抓取位姿的坐標系下合成的當前場景深度信息,所述當前場景深度信息由當前的待抓取物體與待抓取物體的承載物合成;。
具體地(1)獲取當前場景點云信息;(2)從當前場景點云信息中分割出待抓取物體的點云信息以及承載體的位姿信息;(3)對待抓取物體的點云信息利用PCA主成分分析算法獲取點云主軸方向;(4)生成待抓取物體的點云信息的凸包,對于凸包的每一個三角面,根據(jù)三角面的法向量以及待抓取物體點云的主軸生成候選抓取位姿坐標系;其中,候選抓取位姿坐標系的x-y平面也即凸包三角面所在的平面,凸包三角面的法向量即為坐標系的z軸,點云主軸用于確定坐標系的x軸。(5)將分割出的待抓取物體點云信息及承載體的位姿信息構(gòu)建合成的當前場景深度信息。在一具體實施方式中,對當前場景點云信息進行點云分割后,在原桌子位姿處新建桌子模擬模型,與待抓取物體的點云信息構(gòu)成只含有待抓取位姿和桌子的當前場景深度信息;
步驟402:將合成的當前場景深度信息投影到候選抓取位姿投影平面,生成候選深度投影樣本,即為候選抓取位姿樣本。也就是所述候選抓取位姿樣本為候選抓取位姿對應的深度投影。
在一具體實施方式中,所述候選抓取位姿投影平面為候選抓取位姿坐標系的x-y平面,利用3D圖像渲染方法,將合成的當前場景深度信息渲染到候選抓取位姿坐標系的x-y平面上,生成候選深度投影樣本。
其中,根據(jù)機械手爪的不同抓取范圍,選取不同的深度投影尺寸,所述深度投影尺寸確定候選深度投影樣本尺寸大小。在一具體實施方式中,具有較大開合范圍即較大抓取范圍的機械手爪,一般抓取范圍較大,選用較大的投影尺寸;具有開合范圍小即抓取范圍較小的機械手爪可選用較小的投影尺寸。
步驟403:將候選抓取位姿樣本放入抓取選擇神經(jīng)網(wǎng)絡,獲得最優(yōu)抓取位姿完成抓取規(guī)劃。
將候選深度投影樣本放入離線部分訓練好的抓取選擇神經(jīng)網(wǎng)絡,從而獲得候選抓取位姿的正/負標簽以及候選抓取位姿樣本是最優(yōu)抓取位姿的概率。其中,候選深度投影樣本中為正標簽且概率最大的為最優(yōu)抓取位姿,所述最優(yōu)抓取位姿為機械手爪最終用于抓取待抓取物體時所處的位姿。
圖4為在線部分的深度投影生成過程,以及利用訓練好的網(wǎng)絡做抓取選擇的過程示意圖;
步驟一:對場景點云信息進行點云分割,分割出待抓取物體的點云,以及承載待抓取物體的桌子等的位姿信息;
步驟二:對待抓取物體的點云進行PCA主成分分析,獲取點云主軸方向;
步驟三:生成待抓取物體點云的凸包,對于凸包的每一個三角面,根據(jù)三角面的法向量以及待抓取物體點云的主軸生成候選抓取位姿坐標系;
步驟四:根據(jù)桌子位姿和待抓取物體的點云生成只含有待抓取位姿和桌子的場景;
步驟五:根據(jù)不同手爪的尺寸信息,選取不同的深度投影尺寸。利用3D圖像渲染方法,將合成場景信息渲染到候選抓取位姿坐標系的x-y平面上,生成候選深度投影。
步驟六:將候選深度投影放入離線部分訓練好的神經(jīng)網(wǎng)絡,輸出最優(yōu)抓取位姿。
本發(fā)明利用抓取合成和抓取選擇兩個過程完成抓取規(guī)劃,所述抓取合成是將包含待抓取物體的場景信息作為輸入,在機械手爪可抓取的大范圍空間中,合成較可能成為最優(yōu)抓取位姿的一些候選抓取位姿。本發(fā)明的方法利用場景點云的信息生成和候選抓取位姿一一對應的深度投影,從而完成抓取合成;所述抓取選擇是指在抓取合成過程中生成的候選抓取位姿中利用一定的評價標準,選擇評價最高也即最優(yōu)的抓取位姿。通過訓練一個深度網(wǎng)絡(抓取選擇神經(jīng)網(wǎng)絡)作為深度投影(候選抓取位姿樣本)的評價標準來完成抓取選擇。
本發(fā)明還公開了一種用于機械手爪抓取規(guī)劃的控制裝置。
實施例1:包括第一運算模塊和控制模塊。
第一運算模塊,根據(jù)當前場景深度信息,生成候選抓取位姿樣本,并用訓練好的抓取選擇神經(jīng)網(wǎng)絡獲得最優(yōu)抓取位姿;所述抓取選擇神經(jīng)網(wǎng)絡用于作為從候選抓取位姿樣本中獲取最優(yōu)抓取位姿的評價標準;第一運算模塊包括第一獲取單元、第一位姿樣本生成單元、抓取選擇單元;第一獲取單元是獲取當前場景深度信息,利用當前場景深度信息生成候選抓取位姿的坐標系,獲得在候選抓取位姿的坐標系下合成的當前場景深度信息,第一獲取單元具體地獲取當前場景點云信息;從當前場景點云信息中分割出待抓取物體的點云信息以及承載體的位姿信息;對待抓取物體的點云信息利用PCA主成分分析算法獲取點云主軸方向;生成待抓取物體的點云信息的凸包,對于凸包的每一個三角面,根據(jù)三角面的法向量以及待抓取物體點云的主軸生成候選抓取位姿坐標系,將分割出的待抓取物體點云信息及承載體的位姿信息構(gòu)建合成的當前場景深度信息。第一位姿樣本生成單元是將合成的當前場景深度信息投影到候選抓取位姿投影平面,生成候選抓取位姿樣本;抓取選擇單元是將候選抓取位姿樣本放入訓練好的抓取選擇神經(jīng)網(wǎng)絡,獲得最優(yōu)抓取位姿。
第一位姿樣本生成單元將合成的當前場景深度信息投影到候選抓取位姿投影平面之前,根據(jù)不同手爪的尺寸信息,選取不同的深度投影尺寸;第一位姿樣本生成單元利用3D圖像渲染的方法將合成的當前場景深度信息投影到候選抓取位姿投影平面上。
控制模塊是將機械手爪調(diào)整至最優(yōu)抓取位姿進行抓取。
實施例2:除了實施例1所包括的模塊外,控制裝置還包括第二運算模塊,第二運算模塊利用場景深度信息,離線生成抓取位姿正負樣本,進行抓取選擇神經(jīng)網(wǎng)絡的訓練。第二運算模塊包括第二獲取單元、第二位姿樣本生成單元和訓練單元,
第二獲取單元是獲取合成的場景深度信息,第二獲取單元具體的獲取場景點云信息;從場景點云信息中分割出待抓取物體的點云信息以及承載體的位姿信息;將分割出的待抓取物體點云信息及承載體的位姿信息構(gòu)建合成的場景深度信息。第二位姿樣本生成單元是將合成的場景深度信息投影到抓取位姿投影平面上,生成抓取位姿正負樣本。訓練單元是利用訓練樣本信息訓練抓取選擇神經(jīng)網(wǎng)絡;訓練樣本信息包括抓取位姿正負樣本以及對應抓取位姿是正樣本或負樣本的標簽。
第二位姿樣本生成單元將合成的場景深度信息投影到抓取位姿投影平面上之前,根據(jù)不同手爪的尺寸信息,選取不同的深度投影尺寸和/或,第二位姿樣本生成單元利用3D圖像渲染的方法將合成的場景深度信息投影到抓取位姿投影平面上。
以上所述的僅是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術(shù)領域中的普通技術(shù)人員來說,在不脫離本發(fā)明核心技術(shù)特征的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。