李銳君,胡代弟,董素鴿
(1.鄭州西亞斯學(xué)院,鄭州 451150;2.信息工程大學(xué),鄭州 450000)
抓取機械臂在機械領(lǐng)域發(fā)展迅速,被廣泛應(yīng)用在軍事工程、機床加工、海洋探測等方面。隨著科技技術(shù)的提高,對抓取機械臂末端定位也提出了更高的要求,不僅要求抓取機械臂末端定位準(zhǔn)確,還要求其具有優(yōu)良好的置信度[1]。其中的關(guān)鍵就是對抓取機械臂末端定位技術(shù)做出升級和改造。由實驗證明和理論依據(jù)可知,融合多傳感器數(shù)據(jù)的抓取機械臂對末端定位具有重要意義。
夏毅敏[2]等人以誤差補償為出發(fā)點,采用基于激光測距和機器視覺的檢測方法獲取抓取機械臂末端的柔度誤差,采用全站儀獲取抓取機械臂末端的參數(shù)誤差,通過參數(shù)誤差和柔度誤差相結(jié)合創(chuàng)建誤差補償模型。采用投影梯度值法對誤差補償模型實行迭代計算,獲得抓取機械臂末端的位置信息。這種方法由于沒有建立抓取機械臂運動學(xué)模型,導(dǎo)致定位效率低。李勇斌[3]等人利用卡爾曼擴展濾波與改良的粒子濾波分析比較,獲得似然函數(shù)分布重合度,再利用粒子群算法將粒子濾波作為濾波模型,運用自適應(yīng)抗差別算法對分布重合度實施改進,以確定抓取機械臂末端定位。這種方法由于沒有建立誤差模型,導(dǎo)致置信度較低。
為了解決上述方法中存在的問題,提出融合多傳感器數(shù)據(jù)的抓取機械臂末端定位方法。
1)建立機械臂運動學(xué)模型,首先以融合了多傳感器數(shù)據(jù)的抓取機械臂末端為目標(biāo)建立坐標(biāo)系[4]。相鄰坐標(biāo)系之間的變化矩陣由4個傳感器抓取參數(shù)描述,如式(1)所示:
式(1)中,Z代表的是變化矩陣;x、y描述的是抓取機械臂末端坐標(biāo)點;α表示坐標(biāo)系之間的旋轉(zhuǎn)角度;e表示坐標(biāo)點之間的移動距離。
2)根據(jù)抓取機械臂末端坐標(biāo)系的位置,利用式(2)得到抓取機械臂末端的位姿矩陣。
式(2)中,U表示位姿矩陣。
3)由于多傳感器數(shù)據(jù)中含有干擾數(shù)據(jù),導(dǎo)致建立的抓取機械臂運動學(xué)模型中的坐標(biāo)系不能完全平行或垂直,因此相關(guān)參數(shù)之間會存在細(xì)小的誤差,所以需要根據(jù)位姿矩陣導(dǎo)入位姿誤差模型。
1)考慮到外界因素的影響,抓取機械臂末端運動學(xué)模型會有一定的參數(shù)誤差,將多傳感器采集到的參數(shù)誤差數(shù)據(jù)與位姿矩陣結(jié)合構(gòu)建出機械臂末端位姿誤差模型,如式(3)所示:
式(3)中,W描述的是參數(shù)誤差。
2)設(shè)Q為機械臂末端的誤差矩陣,對式(3)簡化后可以得到,辨認(rèn)誤差矩陣中所有參數(shù)如式(4)所示:
其式(4)中,K為變換參數(shù)。
設(shè)雙平面為平面a和平面b,平面a上接觸點設(shè)為X、M;平面b上接觸點設(shè)為Y、N。兩個平面要滿足互相垂直的條件,如圖1所示。
圖1 雙平面約束誤差模型成立條件
融合多傳感器數(shù)據(jù)的抓取機械臂末端定位時,構(gòu)建雙平面約束誤差模型來消除數(shù)據(jù)中的邊緣數(shù)據(jù)[5],使定位結(jié)果更精準(zhǔn)。具體步驟如下:
1)用式(5)計算出抓取機械臂末端的實際位置,再通過關(guān)節(jié)角度計算出實際位置的雅可比矩陣。
式(5)中,X代表的是名義位置;x、y、z表示平面上三維坐標(biāo)點;M代表實際位置;O表示雅可比矩陣模型。
2)根據(jù)任意一個約束平面上的坐標(biāo)點計算出抓取機械臂末端運動學(xué)參數(shù)誤差,將誤差投入到融合多傳感器數(shù)據(jù)的控制器中,通過更新后的公式獲取機械臂末端實際坐標(biāo)點,與另一個約束平面上的位置點做比較。更新公式如式(6)所示:
式(6)中,J描述的是多傳感器控制器;a、b、c描述的是運動學(xué)模型中的坐標(biāo)點。
3)在雙平面約束誤差模型上各采集C+3個點,且連續(xù)的三個點不可以處于同一直線,通過下式得到最終的雙平面約束誤差模型,完成對抓取機械臂末端邊緣數(shù)據(jù)的消除。
目標(biāo)檢測模型主要由卷積層和連接層兩層神經(jīng)元構(gòu)成,負(fù)責(zé)對抓取機械臂末端圖像實行目標(biāo)檢測,提取到特征圖像。具體分為以下幾個步驟:
1)卷積層負(fù)責(zé)在卷積特征圖中將卷積核通過卷積計算,以此獲取特征向量。然后將特征向量傳輸?shù)竭B接層中。卷積計算公式如式(8)所示:
式(8)中,M表示分類損失;q代表真實目標(biāo)位置;u代表平衡權(quán)重;O表示坐標(biāo)向量;μ代表預(yù)測概率。
2)連接層負(fù)責(zé)預(yù)測待選區(qū)域的位置,并判斷當(dāng)前待選區(qū)域是否在目標(biāo)區(qū)域中。當(dāng)移動窗口的中心點對應(yīng)到目標(biāo)區(qū)域后,可將此位置視為一個目標(biāo)位置,通過連接層的處理,可得到所有目標(biāo)位置的回歸邊界。
3)采用線性回歸算法,對回歸邊界實行微調(diào)整,使目標(biāo)可以更精準(zhǔn)地定位,通過下式計算出平移縮放參數(shù)。
其中,t表示預(yù)測邊界的高;x、y、z表示預(yù)測邊界的中心坐標(biāo);x1、y1、z1表示目標(biāo)位置的中心坐標(biāo)。
4)將特征向量傳輸?shù)饺诤隙鄠鞲衅鲾?shù)據(jù)的終端執(zhí)行器中,將參數(shù)初始化,重復(fù)式(8)步驟,直到完成抓取機械臂末端圖像的特征提取。
由于運動學(xué)參數(shù)隨機變化,導(dǎo)致機械臂位姿參數(shù)存在一定誤差,因此提出在遺傳算法的基礎(chǔ)上對機械臂各關(guān)節(jié)變量采取修正措施,可以大大提高機械臂末端定位的精準(zhǔn)度。流程圖如圖2所示,具體分為以下幾個步驟:
圖2 遺傳算法流程
1)在抓取機械臂運動學(xué)模型的基礎(chǔ)上,整理出多組機械臂數(shù)據(jù)作為參照目標(biāo),選擇任意幾組位姿信息,根據(jù)三維立體平移模型繪制出傳感器終端執(zhí)行器的實際位姿數(shù)據(jù)。根據(jù)遺傳變量算法,計算出各關(guān)節(jié)變量的理想補償值。然后將修正后的理想補償值投入到多傳感器終端控制系統(tǒng),得到實際位姿誤差信息。
2)設(shè)計遺傳算法參數(shù)。根據(jù)各抓取機械臂末端的關(guān)節(jié)旋轉(zhuǎn)變量,對位姿誤差修正求解,將這些誤差值作為遺傳算法的參數(shù),實施復(fù)制、變異等操作,產(chǎn)生新一代參數(shù),直到實際位置與目標(biāo)位置的誤差足夠小。
式(10)中,f表示復(fù)制操作;α代表平移變量;Q為位姿誤差;K代表雅可比矩陣;i表示第i組數(shù)據(jù)。
3)遺傳算法的實現(xiàn)。針對多傳感器終端執(zhí)行器處理得到的理論位姿數(shù)據(jù),計算出對應(yīng)的抓取關(guān)節(jié)變量。將抓取關(guān)節(jié)變量作為控制量,采用NDI系統(tǒng)測量出實際位姿與理論位姿間的誤差。
式(11)中,G表示平移修正量;N為樣本數(shù)量;X、Y、Z為理論位姿數(shù)據(jù)。
4)根據(jù)式(12)計算出每組樣本數(shù)據(jù)的適應(yīng)度函數(shù),與多傳感器終端執(zhí)行器修正后的誤差做出比較。
5)對比修正誤差和適應(yīng)函數(shù)。當(dāng)修正誤差小于適應(yīng)函數(shù)時,根據(jù)遺傳算法中的選擇、異變等指示產(chǎn)生新樣本數(shù)據(jù),輸出最佳結(jié)果,結(jié)束流程;當(dāng)修正誤差大于適應(yīng)函數(shù)時,返回式(10)繼續(xù)計算,直到滿足條件迭代停止。
為了驗證融合多傳感器數(shù)據(jù)的抓取機械臂末端定位方法的整體有效性,需要對融合多傳感器數(shù)據(jù)的抓取機械臂末端定位方法進行測試。將末端定位效率、置信度、定位精度作為指標(biāo),采用融合多傳感器數(shù)據(jù)的抓取機械臂末端定位方法、文獻[2]方法和文獻[3]方法做為對比測試方法。抓取機械臂實物圖如圖3所示。
圖3 抓取機械臂實物圖
1)末端定位效率
進行10次抓取機械臂末端定位實驗,采用所提方法、文獻[2]方法和文獻[3]方法對抓取目標(biāo)實行末端定位處理。比較三種方法所用的定位時間,定位時間越長,表明定位效率越低,相反,定位時間越短,表明定位效率越高。不同方法的測試結(jié)果如表1所示。
表1 不同方法的定位時間
分析表1中的數(shù)據(jù)可知,定位時間與定位效率呈正比,在不同的抓取機械臂末端樣本集中,所提方法所用的識別時間均低于文獻[2]方法和文獻[3]方法的定位時間。并且隨著樣本集的變化,所提方法的定位時間沒有出現(xiàn)明顯波動,而文獻[2]方法和文獻[3]方法的定位時間波動幅度較大。表明對機械臂末端定位時,所提方法具有較高的定位效率。在對抓取機械臂末端定位前,所提方法通過目標(biāo)檢測模型確定出目標(biāo)區(qū)域,在此區(qū)域內(nèi)實行定位操作,以此減少了抓取機械臂末端定位時間,提高定位效率。
2)定位誤差
測試所提方法、文獻[2]方法和文獻[3]方法定位抓取目標(biāo)的精度,對比不同方法的定位誤差,如圖4所示。
圖4 不同算法的定位誤差
分析圖4可知,所提方法定位誤差平均值為0.25m,文獻[2]方法定位誤差平均值為0.85m,文獻[3]方法定位誤差平均值為1.455m。實驗結(jié)果表明,所提方法的定位誤差小,定位精度更高。
3)置信度
置信度是指抓取機械臂末端定位觀測值的分布情況,是以理想觀測值為均值的正態(tài)分布,代表著定位結(jié)果與理想結(jié)果之間的誤差分布函數(shù)。置信度數(shù)值越高,說明定位越準(zhǔn)確;置信度數(shù)值越低,說明定位偏差越大。置信度的計算公式如式(13)所示:
其中,Q代表的是置信度;x表示的是真實結(jié)果;y代表理想結(jié)果;?代表正態(tài)方差;f代表置信度一般系數(shù)。
為了展現(xiàn)實驗的全面性,將抓取機械臂末端數(shù)據(jù)分為平衡數(shù)據(jù)集和干擾數(shù)據(jù)集。將所提方法、文獻[2]方法和文獻[3]方法的置信度計算出來,與樣本的理想觀測值比較,測試結(jié)果繪制成餅形圖,如圖5所示。
圖5 不同方法的置信度分布情況
分析圖5可知,針對抓取機械臂末端平衡數(shù)據(jù)集定位時,所提方法的置信度占樣本理想觀測值比例很大,說明所提方法的置信度較高,定位更加準(zhǔn)確。文獻[2]方法和文獻[3]方法的置信度占樣本理想預(yù)測值較低比例,說明文獻[2]方法和文獻[3]方法的置信度較低,定位結(jié)果不準(zhǔn)確。并且針對不平衡抓取機械臂末端數(shù)據(jù)集時,所提方法的置信度都高于文獻[2]方法和文獻[3]方法的置信度。說明無論是在平衡數(shù)據(jù)集和干擾數(shù)據(jù)集情況下,所提方法的定位準(zhǔn)確性均高于文獻[3]方法和文獻[4]方法的定位準(zhǔn)確性。
經(jīng)測試發(fā)現(xiàn),目前抓取機械臂末端定位方法方法存在定位效率低、置信度低和定位精準(zhǔn)度低的問題,為此提出融合多傳感器數(shù)據(jù)的抓取機械臂末端定位方法,該方法首先建立了運動學(xué)模型和誤差模型,再使用目標(biāo)檢測模型確定目標(biāo)位置,根據(jù)遺傳算法計算出抓取機械臂末端各關(guān)節(jié)旋轉(zhuǎn)變量,最后將修正值輸入到傳感器執(zhí)行器中。提高了定位效率和置信度的同時,提高了方法的定位精準(zhǔn)度。