丁 燕,劉 鑫2,黃煒亮
(1.連云港工貿(mào)高等職業(yè)技術(shù)學(xué)校 機械工程系,江蘇 連云港 222000;2.中南大學(xué) 商學(xué)院,湖南 長沙 410083)
國際上的恐怖分子所進行的恐怖襲擊活動,爆炸襲擊是慣用的手段之一,在進行排除爆破等工作,會出現(xiàn)很多突發(fā)情況,危險性極高。而排爆機器人不僅可以在危險的環(huán)境下對爆炸物進行檢測、搜索、銷毀、排除等工作,同時對人身安全進行保護,避免受到傷害[1]。
當(dāng)排爆機器人進行現(xiàn)場操作的時候,由于一些爆炸物較小,對機器人機械臂的定位精度有極高的要求[2]。但是排爆機器人機械臂連桿與關(guān)節(jié)之間容易發(fā)生彈性變形,產(chǎn)生傳動誤差,導(dǎo)致最終機械臂的絕對定位精度有所降低,限制了機器人在進行排除爆炸物時無法達到高精確、高靈活的工作,造成嚴重的后果[3]。
通過對排爆機器人機械臂的誤差進行分析可知,誤差的來源是由機械臂的幾何構(gòu)造所引起的,這些誤差無法采用閉環(huán)控制方式來減少,再受到成本以及加工方式的影響,單純對加工精度的提高以及裝配時的調(diào)整來減少或者去掉這些誤差是不可能的,同樣,經(jīng)濟條件也是一種負擔(dān)。因此采用機器人機械臂誤差補償方法,提高執(zhí)行端的定位誤差[4]。
對排爆機器人的機械臂進行誤差補償時候,常用于兩種方法:一是預(yù)測誤差法,在進行設(shè)計與工作中盡可能地減少由設(shè)計、加工、裝配時候帶來的誤差[5];二是運動學(xué)標定法,根據(jù)合理有效的方式來分辨出機械臂理論上運動學(xué)軌跡數(shù)值和實際上的運動學(xué)數(shù)值之間誤差,再用數(shù)值之間的對比來修正機械臂的運動學(xué)數(shù)值達到補償?shù)哪康腫6]。這兩種方法相互對比,運動學(xué)的定位法要比預(yù)測誤差法的成本低以及補償效果好。同時對機器人機械臂零件之間的磨損等一些原因進行補償,是現(xiàn)在機器人誤差補償重要的手段[7]。
運動學(xué)主要有4個組成步驟:建模、測量、辨識跟補償。最常用的兩種方法:一是圓周法先求出實際機器人機械臂關(guān)節(jié)的位置,在用幾何關(guān)系得出機器人的誤差數(shù)據(jù)。二是回路方法,先構(gòu)建一個機械臂的運動學(xué)誤差模型,采用先進手段與模型的數(shù)值得出機械臂真實數(shù)值。兩種方法進行對比,回路法效果更好,避免了人為因素影響。在實際應(yīng)用中廣泛地用于機器人的標定過程[8]。
通過對排爆機器人機械臂的運動學(xué)合理分析,給出排爆機器人轉(zhuǎn)動關(guān)節(jié)連桿示意圖,如圖1所示。以機械臂的坐標矩陣構(gòu)建一個運動學(xué)模型,也就是D-H模型,先在關(guān)節(jié)處構(gòu)建一個坐標系,再根據(jù)坐標系之間的轉(zhuǎn)換及分析,得出機器人執(zhí)行端的位置和姿態(tài)[9]。
圖1 轉(zhuǎn)動關(guān)節(jié)連桿示意圖
在兩個關(guān)節(jié)之間的坐標矩陣如下:
i-1Ti=Rot(X,αi)Rot(Z,θi)Trans(Z,di) =
式中,i-1Ti為i的坐標系是對于i-1坐標系的轉(zhuǎn)換矩陣;θi為排爆機器人機械臂的Xi-1跟Xi圍繞Zi-1的夾角;di為機械臂關(guān)節(jié)Xi-1和Xi沿著Zi-1軸平移的長度;αi為機械臂Zi -1和Zi圍繞Xi軸旋轉(zhuǎn)的角度,αi為Zi -1與Zi是沿著Xi軸平移的長度。
di,ai,αi,θi是模型構(gòu)造的參數(shù),代表機械臂的關(guān)節(jié)以及連桿之間的關(guān)系。
機器人的機械臂關(guān)節(jié)沿著一定的軸線進行平行時,運動學(xué)模型就會產(chǎn)生奇怪的現(xiàn)象,這影響參數(shù)分辨的穩(wěn)定性,所以在兩個關(guān)節(jié)點的軸線平行運動時加一個圍繞Y的軸線運動的數(shù)值β。在機械臂執(zhí)行端坐標系位置上,根據(jù)關(guān)節(jié)之間的疊加變換計算出機械臂執(zhí)行端位姿如下:
(2)
式中,n,o,a代表機械臂的執(zhí)行端姿態(tài)的向量;p表示機械臂的執(zhí)行端位置的向量。
因為機械臂連桿參數(shù)誤差,所以理論上執(zhí)行端位姿與其實際位姿存在一定的誤差,用Δp=pr-pn來表示。pr是機械臂執(zhí)行端實際的位姿矩陣,pn是理論上,機械臂執(zhí)行端的位姿矩陣。機械臂的執(zhí)行端位姿誤差是由每一個關(guān)節(jié)之間相互轉(zhuǎn)換積累而成的,因此要對關(guān)節(jié)的相鄰坐標進行分析,獲取關(guān)節(jié)的參數(shù)值誤差與其執(zhí)行端關(guān)節(jié)的函數(shù)關(guān)系。根據(jù)微分間的變換法,對相鄰的機械臂關(guān)節(jié)進行齊次變換,可得:
(3)
同樣,機械臂相鄰關(guān)節(jié)平行坐標系的變換誤差如下:
(4)
式中,Δθi表示機械臂連桿夾角偏差;Δαi表示機械臂連桿扭角誤差;Δdi表示機械臂連桿距離偏差;Δai表示機械臂連桿長度偏差;TiΔi表示爆機器人機械臂相鄰關(guān)節(jié)的變換誤差;Δi表示機械臂關(guān)節(jié)坐標系相鄰的變換矩陣;Δβi表示數(shù)值βi的偏差。
聯(lián)立公式(2)和(4),簡化后可得:
(5)
式中,dxi,dyi,dzi表示機械臂關(guān)節(jié)i相當(dāng)于關(guān)節(jié)i-1的X,Y,Z方向平行移動的偏差,將ei作為兩個機械臂之間的關(guān)節(jié)轉(zhuǎn)換位置與姿態(tài)的誤差而構(gòu)成的微分矢量,生成下列公式:
(6)
式中,Gi表示是機械臂誤差系列的系數(shù)矩陣;Δxi表示是機械臂的連桿數(shù)值誤差向量;δxi、δyi、δzi表示是機械臂的一個關(guān)節(jié)i對于關(guān)節(jié)i-1圍繞著X、Y、Z軸線的旋轉(zhuǎn)偏差。
根據(jù)公式(6)可得知,排爆機器人機械臂的連桿數(shù)值誤差易造成機械臂近鄰關(guān)節(jié)坐標齊次變換矩陣產(chǎn)生誤差,而機械臂的執(zhí)行端的絕對定位誤差是由每個關(guān)節(jié)出現(xiàn)的一點小誤差疊加而成的,所以將誤差全部轉(zhuǎn)移到機械臂的執(zhí)行端坐標系上,即可得到機械臂執(zhí)行端的位姿誤差,根據(jù)微分轉(zhuǎn)變原理,將機械臂的位置誤差模型如下式:
(7)
式中,Ji表示機械臂的關(guān)節(jié)i坐標系到機械臂執(zhí)行端坐標系的微分坐標矩陣,根據(jù)該矩陣能將機械臂關(guān)節(jié)處i的坐標誤差轉(zhuǎn)變到執(zhí)行端上:
(8)
其中:n,o,a,p表示機械臂的關(guān)節(jié)坐標系i到執(zhí)行端的坐標系經(jīng)齊次變換后所得的位姿跟姿態(tài)向量;e表示在平面上機械臂執(zhí)行端位姿誤差向量;Je表示機械臂辨別雅克比矩陣;X表示機械臂的運動學(xué)誤差參數(shù)[10-11]。
根據(jù)式(7)可得機械臂的運動學(xué)誤差分辨模型,采用設(shè)備將機械臂誤差的實際位姿測量出來,而理論上的位姿是根據(jù)機械臂的控制裝置來獲得,將實際位姿的測量結(jié)果輸入到運動模型中,經(jīng)過分析后即可得到排爆機器人機械臂的運動數(shù)值誤差。通過對誤差數(shù)值進行修正補償,進一步提高排爆機器人定位精度[12-13]。
在機械臂位置誤差模型中進行分析求解時,模型中會有一些重復(fù)性參數(shù),這些參數(shù)會降低誤差辨識準確性,因此對構(gòu)建的運動學(xué)模型,進行分析與判斷,去掉重復(fù)的數(shù)值,以保證模型對重復(fù)數(shù)值進行有效的分析[14]。
對機械臂執(zhí)行端誤差模型(式7)根據(jù)下面簡化方式,如下:
e=Je·X
(9)
假如機械臂模型中有重復(fù)的數(shù)值,證明分辨雅克比矩陣Je的列不是滿秩,同時說明雅克比矩陣中的向量與線性有關(guān)或某列向量為零向量,因此需要對雅克比矩陣理解分析,找到與線性有關(guān)的列向量,且將列向量為零的向量進行消除,對除去列向量有關(guān)的誤差性數(shù)值,即是重復(fù)參數(shù)。
根據(jù)公式(7)的微分轉(zhuǎn)變矩陣Ji能得到機械臂關(guān)節(jié)i-1的坐標系下的誤差ei-1。ei-1轉(zhuǎn)變到機械臂關(guān)節(jié)i坐標下的變換矩陣:
(10)
機械臂關(guān)節(jié)坐標系i的微分誤差是轉(zhuǎn)移到自身坐標下的變換矩陣iJi:
(11)
式中,E表示單位矩陣。由公式(10)跟(11)能得到的iJi-1第3列跟第6列存在以下公式:
(12)
將公式(12)的兩式都左乘6Ji微分的誤差轉(zhuǎn)變到機器人機械臂的執(zhí)行端坐標系上,能得出機器人分辨雅克比矩陣的Je的第3列和第6列的線性相關(guān),就是微分誤差dzi與δzi用其他的微分誤差表示。
根據(jù)公式(7)可得知,相鄰的兩個連桿其次變換誤差都是由機器人機械臂的連桿幾何參數(shù)誤差決定的,所以要將公式(12)中的重復(fù)數(shù)值,dzi與δzi轉(zhuǎn)變成連桿幾何參數(shù)的冗余,將已知的理論連桿角度α代入公式(7)中,即可得到機械臂的幾何參數(shù)冗余性,這有兩種狀況:平行關(guān)節(jié)時,重復(fù)參數(shù)dzi相對應(yīng)的是Δdi,即Δdi就是重復(fù)參數(shù);非平行關(guān)節(jié)時,重復(fù)數(shù)值δzi,相對應(yīng)的是Δβi,Δβi視為冗余參數(shù)。
當(dāng)辨識到排爆機器人機械臂的各個參數(shù)誤差值后,對這些參數(shù)進行誤差補償,對Δa、Δα、Δd、Δθ、Δβ所對應(yīng)的數(shù)值相加,構(gòu)成新的參數(shù),并在系統(tǒng)中對其進行修改。對指定的指令位姿參照新的數(shù)值進行逆運動學(xué)求解,得到關(guān)節(jié)轉(zhuǎn)角θ=[θ1θ2…θ]T,在系統(tǒng)中將θ+Δθ的值相加作為θ值輸出,從而控制所有軸的轉(zhuǎn)動。
上述過程中構(gòu)建了一個運動學(xué)模型,它的執(zhí)行端末端變換矩陣是一個含有αi-1ai-1di與θi的矩陣,可在實際的應(yīng)用中,它們存在一定的微小偏差。
假設(shè),排爆機器人機械臂關(guān)節(jié){i}的偏差值是Δαi-1、Δai-1、Δdi與Δθi,修正以后的數(shù)值是:
(13)
為了分析誤差,對這些參數(shù)的敏感程度進行研究。在不同的位姿下,運動學(xué)參數(shù)誤差對總位置誤差的影響不同,假設(shè)機械臂所處的關(guān)節(jié)角度值為:
q=[0pi/4pi/6 -pi/3 2pi/3pi/6]
(14)
假設(shè)某一參數(shù)存在一個誤差,剩余的參數(shù)不存在誤差。根據(jù)一定的步長對所有關(guān)節(jié)進行改變,記錄執(zhí)行端位姿。最后,計算沒有誤差的執(zhí)行端位姿與相應(yīng)的有誤差的執(zhí)行端位姿的偏差,對其進行補償。
首先對排爆機器人機械臂幾何參數(shù)誤差進行求解。實驗過程中,采用Mirosot機器人平臺。機械臂執(zhí)行器位置坐標利用激光跟蹤儀進行測量?;诩す飧檭x建立排爆機器人機械臂標準坐標系,測量不同位置處機械臂執(zhí)行端實際位置坐標,將實際位置坐標和理論坐標進行對比,基于本文所構(gòu)建的排爆機器人定位誤差模型計算機械臂的幾何參數(shù)誤差。為了最大程度的提高標定的精度,使測量點分布于整個所需要工作的空間,選擇了40個坐標點(20組相對點)來進行測量,根據(jù)上文中所建立的誤差模型,識別的機械臂的幾何參數(shù)誤差如表1所示。
表1 機械臂的幾何數(shù)值
接下來采用負重實驗來求解排爆機器人的柔度誤差。先將重量不同的物體施加排爆機器人關(guān)節(jié)之上,測量出負重前后關(guān)節(jié)坐標。利用公式(15)、(16)求出關(guān)節(jié)2與3的柔度系數(shù),建立公式如下:
k2=5.91725×10-7N-1·m-1
(15)
k3=5.63819×10-6N-1·m-1
(16)
為了精確地計算出排爆機器人的柔性誤差的補償值,需要將關(guān)節(jié)的柔度系數(shù)代入誤差模型之中,通過模型分析得到關(guān)節(jié)2與3轉(zhuǎn)過不同角度所對應(yīng)的偏差角度Δθg2與Δθg3,排爆機器人的偏轉(zhuǎn)角度變化如圖2所示。
圖2 不同轉(zhuǎn)角度關(guān)節(jié)偏轉(zhuǎn)角的變化
由圖2可知,排爆機器人機械臂機械臂負重實驗所產(chǎn)生的柔度誤差是隨機械臂姿態(tài)改變而變化的,負重實驗下關(guān)節(jié)轉(zhuǎn)動所產(chǎn)生的角度誤差較小,非常接近關(guān)節(jié)的4與5所能產(chǎn)生的轉(zhuǎn)角誤差,如表1所示。所以柔度誤差對機械臂的絕對定位精度影響是可以無法忽略的。
排爆機器人機械臂關(guān)節(jié)的柔度誤差進行準確的計算和有效補償,能對機械臂的絕對定位精度有效提高。通過幾何誤差參數(shù)值與柔度誤差參數(shù)數(shù)基礎(chǔ)上,根據(jù)所構(gòu)建的誤差補償方法,對測量出的40個位置點進行誤差補償,實驗結(jié)果如圖3所示。
圖3 誤差補償前后定位絕對位置誤差對比
通過圖3可以看出,排爆機器人機械臂標定前的絕對定位誤差相對于標定后的絕對定位誤差數(shù)值要大了很多。由此可見,經(jīng)誤差補償后,排爆機器人機械臂絕對定位精度均值提升了1.3 mm。
通過對排爆機器人機械臂的誤差建模與實際位置誤差進行分析,得出影響到執(zhí)行端定位精度的主要影響因素包含幾何誤差與柔度誤差。再通過幾何誤差標定后與運動學(xué)參數(shù)辨識結(jié)果,進行誤差補償。仿真實驗分析證明,采用本文方法,幾何結(jié)構(gòu)參數(shù)辨識結(jié)果與實際位置之間差距很小。通過誤差補償后,執(zhí)行端的定位精度相對傳統(tǒng)的方法,誤差較小,說明本文提高了排爆機器人機械臂的執(zhí)行端絕對定位精度。