本發明涉及一種基于觸覺陣列信息的機械手抓取穩定性判斷方法,屬于機械手對物體抓取穩定性判斷方法領域。
背景技術:
觸覺信息在機器人精細操作過程中的作用非常重要,也是目前機器人感知領域的研究焦點。對機器人而言,觸覺是獲取環境信息的一種重要感知方式。觸覺本身有很強的敏感性,可直接測量對象和環境的多種性質特征。同時,觸覺也是人類感知外部環境的一種基本模態。因此,為機器人引入觸覺感知模塊,不僅在一定程度上模擬了人類的感知與認知機制,又符合實際操作應用的強烈需求。
一般來說,機器人觸覺傳感器主要有檢測和識別功能。其中檢測功能包括對操作對象的狀態、機械手與操作對象的接觸狀態、操作對象的物理性質進行檢測;識別功能是在檢測的基礎上提取操作對象的形狀、大小、剛度、紋理、溫度等特征,以進行分類和物體識別。
隨著現代傳感器、控制和人工智能技術的發展,科研人員對包括靈巧手觸覺傳感器,以及使用所采集的觸覺信息結合不同算法實現對于靈巧手抓取穩定性的分析開展了廣泛的研究。
技術實現要素:
本發明的目的是提出一種基于觸覺陣列信息的機械手抓取穩定性判斷方法,通過對觸覺信息的分析和整理,在最近鄰算法的基礎上,實現基于觸覺陣列信息的機械手對物體的穩定抓取。
本發明提出的基于觸覺陣列信息的機械手抓取穩定性判斷方法,包括以下步驟:
(1)在機械手的三根手指上各設置24個觸覺傳感器,24個觸覺傳感器組成一個3x8的觸點陣列;
(2)用步驟(1)的機械手抓取訓練目標抓取物,獲取觸覺數據,以得到訓練樣本集Str,設訓練樣本集的個數為N,則訓練樣本集Str的表達式為:
Str={Str 1,Str 2,…,Str k,...,Str N}
其中,Str1,Str 2,…,Str k,...,Str N分別表示訓練樣本集Str中的第一個訓練樣本、第二個訓練樣本、…、第k個訓練樣本、…、第N個訓練樣本;
(3)用步驟(1)的機械手抓取待抓取物,獲取待抓取物觸覺數據SJ;
(4)對上述步驟(2)得到的訓練樣本集Str進行數據處理,具體過程如下:
(4-1)記訓練樣本集Str中的任意一個訓練樣本為SI,1≤I≤N,SI由三個觸點陣列數據組成,即:SI=[SI,F1,SI,F2,SI,F3],其中SI,F1,SI,F2,SI,F3分別表示一個3×8×t1的觸覺時間序列,t1為訓練樣本觸覺數據采集時間;
(4-2)通過下式,求上述步驟(4-1)得到的3×8×t1的觸覺時間序列的圖像矩mpq:
其中,p+q=0時,mpq為觸覺時間序列的0階圖像矩,p+q=1時,mpq為觸覺時間序列的1階圖像矩,p+q=2時,mpq為觸覺時間序列的2階圖像矩;x為3×8×t1的觸覺時間序列的行坐標,0<x≤3;y為3×8×t1的觸覺時間序列的列坐標,0<y≤8,x,y取正整數;f(x,y)為對應坐標點處的觸覺時間序列的值,R,C分別代表3×8×t1的觸覺時間序列的行數和列數,R=8,C=3;p+q=0,1,2,p和q有如下6種取值情況:p=0,q=0;p=0,q=1;p=1,q=0;p=1,q=1;p=0,q=2;p=2,q=0;
(4-3)訓練樣本SI經上述步驟(4-2)求圖像矩mpq后,3×8×t1的觸覺時間序列變為6×t1的觸覺時間序列,得到訓練樣本SI':
SI'=[SI,F1',SI,F2',SI,F3']=[sI1',sI2',...,sIi',...,sIn']
其中,SI,F1',SI,F2',SI,F3'分別為經求圖像矩后得到的6×t1的觸覺時間序列,sI1',sI2',...,sIi',...,sIn'分別為經求圖像矩后后得到的觸覺時間序列的第一個觸覺向量、第二個觸覺向量、…、第i個觸覺向量、…、第n個觸覺向量;n為訓練樣本SI'中的觸覺向量數;
進而得到訓練樣本集Str':
Str'={Str1',Str 2',…,Str k',...,Str N'}
其中,Str1',Str 2',…,Str k',...,Str N'分別表示經求圖像矩后得到的測試訓練集Str'中的第一個訓練樣本、第二個訓練樣本、…、第k個訓練樣本、…、第N個訓練樣本,N為訓練樣本數;
(5)對上述步驟(3)得到的待抓取物觸覺數據SJ進行數據處理,具體過程如下:
(5-1)待抓取物觸覺數據SJ由三個觸點陣列數據組成,即:SJ=[SJ,F1,SJ,F2,SJ,F3],其中SJ,F1,SJ,F2,SJ,F3分別表示3×8×t2的觸覺時間序列,t2為待抓取物觸覺數據采集時間;
(5-2)通過下式,求上述步驟(5-1)得到的3×8×t2的觸覺時間序列的圖像矩gab:
其中,a+b=0時,gab為觸覺時間序列的0階圖像矩,a+b=1時,gab為觸覺時間序列的1階圖像矩,a+b=2時,gab為觸覺時間序列的2階圖像矩;c為3×8×t2的觸覺時間序列的行坐標,0<c≤3;d為3×8×t2的觸覺時間序列的列坐標,0<d≤8,c,d取正整數,f(c,d)為對應坐標點處的觸覺時間序列的值,G,H分別代表3×8×t2的觸覺時間序列的行數和列數,G=8,H=3;a+b=0,1,2,a和b有如下6種取值情況:a=0,b=0;a=0,b=1;a=1,b=0;a=1,b=1;a=0,b=2;a=2,b=0;
(5-3)待抓取物觸覺數據SJ經上述步驟(5-2)求圖像矩gab后,3×8×t2的觸覺時間序列變為6×t2的觸覺時間序列,得到待抓取物觸覺數據SJ':
SJ'=[SJ,F1',SJ,F2',SJ,F3']=[sJ1',sJ2',...,sJj',...,sJm']
其中,SJ,F1',SJ,F2',SJ,F3'分別為經求圖像矩后得到的6×t2的觸覺時間序列,sJ1',sJ2',...,sJj',...,sJm'分別為經求圖像矩后得到的觸覺時間序列的第一個觸覺向量、第二個觸覺向量、…、第j個觸覺向量、…、第m個觸覺向量;m為待抓取物觸覺數據SJ'中的觸覺向量數;
(6)根據上述步驟(4)得到的測試訓練SI'和步驟(5)得到的待抓取物觸覺數據SJ',構建一個n×m的歐氏距離矩陣網格,n為測試訓練SI'的觸覺向量數,m為待抓取物觸覺數據SJ'的觸覺向量數,矩陣元素(e,f)表示觸覺向量sIe'與觸覺向量sJf'之間的歐式距離d(sIe',sJf'):
d(sIe',sJf')=(sIe'-sJf')2
其中,sIe'為訓練樣本SI'中的第e個向量,sJf'為待抓取物觸覺數據SJ'中的第f個向量;
(7)從上述步驟(6)中構建的n×m的歐氏距離矩陣網格的(1,1)點開始,按下式計算出每一個矩陣格點的最小累加距離,構造成一個n×m的最小累加距離矩陣網格,最小累加距離γ(u,v)為向量sIu'和sJv'的歐式距離d(sIu',sJv')與到達該點的最小鄰近累加距離min{γ(u-1,v-1),γ(u-1,v),γ(u,v-1)之和:
γ(u,v)=d(sIu',sJv')+min{γ(u-1,v-1),γ(u-1,v),γ(u,v-1)}
其中,sIu'為訓練樣本SI'的第u個向量,sJv'為待抓取物觸覺數據SJ'的第v個向量,γ(u-1,v-1)為從斜下方矩陣格點(u-1,v-1)到達當前矩陣格點(u,v)的累加距離,γ(u-1,v)為從左側矩陣格點(u-1,v)到達當前矩陣格點(u,v)的累加距離,γ(u,v-1)為下方矩陣格點(u,v-1)到達當前矩陣格點(u,v)的累加距離;0<u≤n,0<v≤m;
到達n×m的矩陣網格的終點(n,m)后,得到訓練樣本SI'和待抓取物觸覺數據SJ'之間的最小累加距離γ(n,m);
(8)遍歷訓練樣本集Str',重復步驟(6)和步驟(7),分別計算待抓取物觸覺數據SJ'和訓練樣本集Str'中的每一個訓練樣本之間的最小累加距離,構建一個最小累加距離矩陣集合DQ,DQ的表達式為:
DQ=[DQ,1,,,DQ2,…,DQN]
其中,DQ,1,,,DQ2,…,DQN分別表示待抓取物觸覺數據SJ'與訓練樣本集Str′中的第一個訓練樣本之間的最小累加距離、第二個訓練樣本之間的最小累加距離、...、最后一個訓練樣本之間的最小累加距離,求出最小累加距離集合DQ表達式中的最小值DQ O,其中第二個下標O的范圍為:1≤O≤N,N為訓練樣本數量,DQ O為待抓取物觸覺數據SJ'與訓練樣本集Str′中的第O個訓練樣本之間的最小累加距離,當最小累加距離DQ O為最小累加距離集合DQ中的最小值時,表示待抓取物觸覺數據SJ'與訓練樣本集Str′中的第O個訓練樣本之間的距離最短,訓練樣本集Str′中的第O個訓練樣本即為待抓取物觸覺數據SJ'的最佳匹配樣本,根據最近鄰算法,若第O個訓練樣本穩定,則判定該次抓取穩定,若第O個訓練樣本不穩定,則判定該次抓取不穩定,完成基于觸覺陣列信息的機械手對待抓取物抓取穩定的判斷。
本發明提出的基于觸覺陣列信息的機械手抓取穩定性判斷方法,通過對觸覺信息的分析和整理,在最近鄰算法的基礎上實現基于觸覺陣列信息的機械手對物體的穩定性抓取判斷,大大提高了機械手對抓取物體穩定判斷的魯棒性和準確率。而且本發明方法簡單可靠,具有很強的實用性。
附圖說明
圖1是本發明方法中涉及的訓練樣本SI'和待抓取物觸覺數據SJ'構建的n×m的歐氏距離矩陣網格圖;
圖2是本發明方法中涉及的訓練樣本SI'和待抓取物觸覺數據SJ'構建的n×m的最小累加距離矩陣網格圖;
具體實施方式
本發明提出的基于觸覺陣列信息的機械手抓取穩定性判斷方法,包括以下步驟:
(1)在機械手的三根手指上各設置24個觸覺傳感器,24個觸覺傳感器組成一個3x8的觸點陣列;
(2)用步驟(1)的機械手抓取訓練目標抓取物,獲取觸覺數據,以得到訓練樣本集Str,設訓練樣本集的個數為N,則訓練樣本集Str的表達式為:
Str={Str 1,Str 2,…,Str k,...,Str N}
其中,Str1,Str 2,…,Str k,...,Str N分別表示訓練樣本集Str中的第一個訓練樣本、第二個訓練樣本、…、第k個訓練樣本、…、第N個訓練樣本;
(3)用步驟(1)的機械手抓取待抓取物,獲取待抓取物觸覺數據SJ;
(4)對上述步驟(2)得到的訓練樣本集Str進行數據處理,具體過程如下:
(4-1)記訓練樣本集Str中的任意一個訓練樣本為SI,1≤I≤N,SI由三個觸點陣列數據組成,即:SI=[SI,F1,SI,F2,SI,F3],其中SI,F1,SI,F2,SI,F3分別表示一個3×8×t1的觸覺時間序列,t1為訓練樣本觸覺數據采集時間;
(4-2)通過下式,求上述步驟(4-1)得到的3×8×t1的觸覺時間序列的圖像矩mpq:
其中,p+q=0時,mpq為觸覺時間序列的0階圖像矩,p+q=1時,mpq為觸覺時間序列的1階圖像矩,p+q=2時,mpq為觸覺時間序列的2階圖像矩;x為3×8×t1的觸覺時間序列的行坐標,0<x≤3;y為3×8×t1的觸覺時間序列的列坐標,0<y≤8,x,y取正整數;f(x,y)為對應坐標點處的觸覺時間序列的值,R,C分別代表3×8×t1的觸覺時間序列的行數和列數,R=8,C=3;p+q=0,1,2,p和q有如下6種取值情況:p=0,q=0;p=0,q=1;p=1,q=0;p=1,q=1;p=0,q=2;p=2,q=0;
(4-3)訓練樣本SI經上述步驟(4-2)求圖像矩mpq后,3×8×t1的觸覺時間序列變為6×t1的觸覺時間序列,得到訓練樣本SI':
SI'=[SI,F1',SI,F2',SI,F3']=[sI1',sI2',...,sIi',...,sIn']
其中,SI,F1',SI,F2',SI,F3'分別為經求圖像矩后得到的6×t1的觸覺時間序列,sI1',sI2',...,sIi',...,sIn'分別為經求圖像矩后后得到的觸覺時間序列的第一個觸覺向量、第二個觸覺向量、…、第i個觸覺向量、…、第n個觸覺向量;n為訓練樣本SI'中的觸覺向量數;
進而得到訓練樣本集Str':
Str'={Str1',Str 2',…,Str k',...,Str N'}
其中,Str1',Str 2',…,Str k',...,Str N'分別表示經求圖像矩后得到的測試訓練集Str'中的第一個訓練樣本、第二個訓練樣本、…、第k個訓練樣本、…、第N個訓練樣本,N為訓練樣本數;
(5)對上述步驟(3)得到的待抓取物觸覺數據SJ進行數據處理,具體過程如下:
(5-1)待抓取物觸覺數據SJ由三個觸點陣列數據組成,即:SJ=[SJ,F1,SJ,F2,SJ,F3],其中SJ,F1,SJ,F2,SJ,F3分別表示3×8×t2的觸覺時間序列,t2為待抓取物觸覺數據采集時間;
(5-2)通過下式,求上述步驟(5-1)得到的3×8×t2的觸覺時間序列的圖像矩gab:
其中,a+b=0時,gab為觸覺時間序列的0階圖像矩,a+b=1時,gab為觸覺時間序列的1階圖像矩,a+b=2時,gab為觸覺時間序列的2階圖像矩;c為3×8×t2的觸覺時間序列的行坐標,0<c≤3;d為3×8×t2的觸覺時間序列的列坐標,0<d≤8,c,d取正整數,f(c,d)為對應坐標點處的觸覺時間序列的值,G,H分別代表3×8×t2的觸覺時間序列的行數和列數,G=8,H=3;a+b=0,1,2,a和b有如下6種取值情況:a=0,b=0;a=0,b=1;a=1,b=0;a=1,b=1;a=0,b=2;a=2,b=0;
(5-3)待抓取物觸覺數據SJ經上述步驟(5-2)求圖像矩gab后,3×8×t2的觸覺時間序列變為6×t2的觸覺時間序列,得到待抓取物觸覺數據SJ':
SJ'=[SJ,F1',SJ,F2',SJ,F3']=[sJ1',sJ2',...,sJj',...,sJm']
其中,SJ,F1',SJ,F2',SJ,F3'分別為經求圖像矩后得到的6×t2的觸覺時間序列,sJ1',sJ2',...,sJj',...,sJm'分別為經求圖像矩后得到的觸覺時間序列的第一個觸覺向量、第二個觸覺向量、…、第j個觸覺向量、…、第m個觸覺向量;m為待抓取物觸覺數據SJ'中的觸覺向量數;
(6)根據上述步驟(4)得到的測試訓練SI'和步驟(5)得到的待抓取物觸覺數據SJ',構建一個n×m的歐氏距離矩陣網格,如圖1所示,n為測試訓練SI'的觸覺向量數,m為待抓取物觸覺數據SJ'的觸覺向量數,矩陣元素(e,f)表示觸覺向量sIe'與觸覺向量sJf'之間的歐式距離d(sIe',sJf'):
d(sIe',sJf')=(sIe'-sJf')2
其中,sIe'為訓練樣本SI'中的第e個向量,sJf'為待抓取物觸覺數據SJ'中的第f個向量;
(7)從上述步驟(6)中構建的n×m的歐氏距離矩陣網格的(1,1)點開始,按下式計算出每一個矩陣格點的最小累加距離,構造成一個n×m的最小累加距離矩陣網格,如圖2所示,最小累加距離γ(u,v)為向量sIu'和sJv'的歐式距離d(sIu',sJv')與到達該點的最小鄰近累加距離min{γ(u-1,v-1),γ(u-1,v),γ(u,v-1)之和:
γ(u,v)=d(sIu',sJv')+min{γ(u-1,v-1),γ(u-1,v),γ(u,v-1)}
其中,sIu'為訓練樣本SI'的第u個向量,sJv'為待抓取物觸覺數據SJ'的第v個向量,γ(u-1,v-1)為從斜下方矩陣格點(u-1,v-1)到達當前矩陣格點(u,v)的累加距離,γ(u-1,v)為從左側矩陣格點(u-1,v)到達當前矩陣格點(u,v)的累加距離,γ(u,v-1)為下方矩陣格點(u,v-1)到達當前矩陣格點(u,v)的累加距離;0<u≤n,0<v≤m;
到達n×m的矩陣網格的終點(n,m)后,得到訓練樣本SI'和待抓取物觸覺數據SJ'之間的最小累加距離γ(n,m);
(8)遍歷訓練樣本集Str',重復步驟(6)和步驟(7),分別計算待抓取物觸覺數據SJ'和訓練樣本集Str'中的每一個訓練樣本之間的最小累加距離,構建一個最小累加距離矩陣集合DQ,DQ的表達式為:
DQ=[DQ,1,,,DQ2,…,DQN]
其中,DQ,1,,,DQ2,…,DQN分別表示待抓取物觸覺數據SJ'與訓練樣本集Str′中的第一個訓練樣本之間的最小累加距離、第二個訓練樣本之間的最小累加距離、...、最后一個訓練樣本之間的最小累加距離,求出最小累加距離集合DQ表達式中的最小值DQ O,其中第二個下標O的范圍為:1≤O≤N,N為訓練樣本數量,DQ O為待抓取物觸覺數據SJ'與訓練樣本集Str′中的第O個訓練樣本之間的最小累加距離,當最小累加距離DQ O為最小累加距離集合DQ中的最小值時,表示待抓取物觸覺數據SJ'與訓練樣本集Str′中的第O個訓練樣本之間的距離最短,訓練樣本集Str′中的第O個訓練樣本即為待抓取物觸覺數據SJ'的最佳匹配樣本,根據最近鄰算法,若第O個訓練樣本穩定,則判定該次抓取穩定,若第O個訓練樣本不穩定,則判定該次抓取不穩定,完成基于觸覺陣列信息的機械手對待抓取物抓取穩定的判斷。