張樹梅,高興軍,鄧子龍,王 月
(1.遼寧石油化工大學 機械工程學院,遼寧 撫順113001;2.沈陽隆基電磁科技股份有限公司,遼寧 撫順113122)
并聯(lián)機器人憑借其承載能力高、結(jié)構(gòu)穩(wěn)定等諸多突出優(yōu)點,在多個領域中應用廣泛[1-2]。并聯(lián)機器人結(jié)構(gòu)復雜,對其誤差問題的分析是一項關鍵內(nèi)容[3-5]。國內(nèi)外學者提出了一些解決方法。O.Masory等[6]基于D-H方法研究了Stewart并聯(lián)機器人誤差模型的建立問題。T.Ropponen等[7]分析了影響機器人位姿誤差的因素,并推導出運動誤差的微分方程。劉華瑩等[8]提出利用BP神經(jīng)網(wǎng)絡的方法研究機器人誤差修正及補償問題。譚興強等[9]基于D-H方法建立了風洞6-PUS并聯(lián)支撐機器人的位姿誤差模型。趙延治等[10]根據(jù)虛位移原理,研究了并聯(lián)機器人的靜態(tài)誤差模型及補償誤差和標定問題。并聯(lián)機器人位姿誤差的主要影響因素為機械制造誤差和裝配誤差,這些誤差不能徹底消除。減小位姿誤差的主要方法是對其進行誤差修正及補償[11]。
本文根據(jù)6-PTRT并聯(lián)機器人樣機,建立誤差模型,分析各個驅(qū)動桿長誤差參數(shù)變化與位姿誤差之間的關系,并尋優(yōu)各個驅(qū)動桿桿長誤差參數(shù),實現(xiàn)對并聯(lián)機器人軌跡的修正,為精度標定以及軌跡規(guī)劃奠定基礎。
6-PTRT并聯(lián)機器人逆解問題的解決思路為:給定并聯(lián)機器人動平臺任一末端位姿(xp,yp,zp,θ,β,γ),確定其驅(qū)動桿桿長。建立動、靜平臺坐標系,分別為o-xyz、o′-x′y′z′,設o和o′分別為動平臺和靜平臺的中心原點,隨機選取并聯(lián)機器人的第i個支鏈o-Pi-Bi-o′,6-PTRT并聯(lián)機器人矢量如圖1所示[12]。
圖1 6-PTRT并聯(lián)機器人坐標系矢量
采用單支鏈閉環(huán)矢量法,6-PTRT并聯(lián)機器人的六根驅(qū)動桿由靜平臺鉸點位置到動平臺鉸點位置的矢量Li可表示為[13]:
式中,P為靜平臺坐標系原點o′指向動平臺坐標系原點o的矢量;ai為動平臺坐標系原點o指向各個動平臺鉸點的矢量;bi為靜平臺坐標系原點o′指向靜平臺各個鉸點的矢量;i表示第i個驅(qū)動桿(i=1~6);R為旋轉(zhuǎn)矩陣。
其中,θ、β、γ分別為繞x軸、y軸、z軸的旋轉(zhuǎn)角,(°)。驅(qū)動桿桿長li表示為:
將6-PTRT并聯(lián)機器人動平臺的末端機構(gòu)誤差表示為:
式中,d P為并聯(lián)機器人動平臺的位置誤差,d P=(d Px,d Py,d Pz)T;dΓ為并聯(lián)機器人動平臺的姿態(tài)誤差,dΓ=(dθ,dβ,dγ)T。
由式(2)及單位矢量的定義可得各個驅(qū)動桿的單位矢量,靜平臺鉸點Bi指向動平臺鉸點Pi的單位矢量ui為:
基于式(1)和式(4),為便于微分計算將第i個閉環(huán)矢量表示為:
設d e=δe,d l=δl,d a=δa,d b=δb,δl′=JOδQ,δl-δl′=δl″整理可得:
式中,δe為機構(gòu)位姿誤差;δl″為包含鉸鏈誤差和各個驅(qū)動桿長誤差的等效誤差。
根據(jù)并聯(lián)機器人運動位姿誤差模型,優(yōu)化各個驅(qū)動桿的桿長誤差參數(shù),當運動位姿誤差值為最小時,將新的各個驅(qū)動桿桿長誤差參數(shù)作為修正量,修正其位姿誤差,提高工作精度。
利用單支鏈閉環(huán)矢量方法建立6-PTRT并聯(lián)機器人的運動位姿誤差模型,研究各驅(qū)動桿桿長誤差參數(shù)對6-PTRT并聯(lián)機器人位姿誤差的影響。利用MATLAB軟件進行數(shù)值仿真,驅(qū)動桿桿長參數(shù)誤差與并聯(lián)機器人輸出位姿誤差的關系如圖2所示。
圖2 驅(qū)動桿桿長誤差參數(shù)與并聯(lián)機器人輸出位姿誤差的關系
從圖2可以看出,位置誤差d Px、d Py、d Pz隨驅(qū)動桿1的桿長參數(shù)變化幅度較大,而姿態(tài)誤差dθ、dβ、dγ變化幅度則較小,二者相差約10-3數(shù)量級。而且,在同一個驅(qū)動桿桿長參數(shù)下,位置誤差d Px、d Py、d Pz和姿態(tài)誤差dθ、dβ、dγ并沒有同時達到最小。根據(jù)上述結(jié)論,為更合理地減小并聯(lián)機器人的末端位姿誤差,提高并聯(lián)機器人的運動精度,需使位置誤差和姿態(tài)誤差同時為最小值。
6-PTRT并聯(lián)機器人的位姿誤差模型具有結(jié)構(gòu)參數(shù)多、非線性強、強耦合等特點,可將位姿誤差修正問題轉(zhuǎn)化為一個多元非線性組合的尋優(yōu)問題,本文利用一種改進的粒子優(yōu)化算法對多元非線性組合優(yōu)化的問題進行求解,此方法計算效率高,易收斂,不依賴初始值。
由位姿誤差模型可得誤差修正目標函數(shù),利用粒子優(yōu)化算法計算位姿誤差最小時各個驅(qū)動桿桿長參數(shù)誤差,修正其在軌跡規(guī)劃過程中的位姿誤差,使其更大程度上接近期望軌跡,減小其運動位姿誤差?;谏鲜龇治觯酶倪M的粒子優(yōu)化算法對6-PTRT并聯(lián)機器人在運動過程中的末端位姿誤差進行修正。
根據(jù)6-PTRT并聯(lián)機器人的運動位姿誤差模型,建立位姿誤差修正的目標函數(shù)為:
標準粒子算法的基本原理為:在1個n維搜索空間內(nèi),m個粒子組成一個群體,其中第i個粒子的位 置 表 示 為Xi=(Xi1,Xi2,···,Xin)T,速 度 表 示 為Vi=(Vi1,Vi2,···,Vin)T。粒子在尋優(yōu)過程中,依靠局部極值Pi=(Pi1,Pi2,···,Pin)和全局極值Pg=(Pg1,Pg2,···,Pgn)更新位置和速度,公式為:
式中,c1、c2為學習因子;r1、r2為分布在(0,1)之間的隨機數(shù);t為迭代次數(shù);w為慣性權重;Vt+1id為更新的速度;Xt+1id為更新的位置;Ptgd為當前全局極值。
根據(jù)粒子優(yōu)化算法設定其初始參數(shù)。學習因子c1=c2=2,種群數(shù)量m=2 000,種群個體數(shù)D=6,最大迭代次數(shù)t=2 000,慣性權重w=1.1。根據(jù)式(11)-(12)變換粒子的位置和速度,達到最大迭代次數(shù)或最大誤差時停止,粒子算法步驟流程如圖3所示。PSO算法修正的運動位姿誤差曲線如圖4所示。從圖4可以看出,隨著迭代次數(shù)的增加,適應度變?。磺?次迭代時,適應度迅速減小,隨之速度變慢,當?shù)?0次時,粒子的適應度變化曲線趨于穩(wěn)定,此時位姿誤差修正目標函數(shù)最小值為Fv=0.031 3。綜上可知,粒子適應度曲線沒有趨于零,因此粒子存在過早收斂現(xiàn)象。
圖3 標準粒子算法步驟流程
圖4 PSO算法修正的運動位姿誤差曲線
采用標準粒子算法,得到6-PTRT并聯(lián)機器人優(yōu)化后的各個驅(qū)動桿桿長誤差參數(shù),并與理論值對比,其誤差參數(shù)如表1所示。
表1 6-PTRT并聯(lián)機器人各個驅(qū)動桿優(yōu)化后的誤差參數(shù)
慣性權重w決定粒子優(yōu)化算法的尋優(yōu)能力,增大w粒子全局搜索能力增強;減小w粒子局部搜索能力增強。為調(diào)整粒子全局及局部尋優(yōu)能力,采用自適應慣性權重粒子算法,慣性權重w表示為:
式中,wmax為最大慣性權重;wmin為最小慣性權重;f為粒子當前的目標函數(shù)值;favg為當前所有粒子的平均目標函數(shù)值;fmin為當前所有粒子的最小目標函數(shù)值。
自適應慣性權重粒子優(yōu)化算法在標準粒子算法原理的基礎上,將固定值的慣性權重改為非線性的動態(tài)慣性權重系數(shù)。當目標函數(shù)值優(yōu)于平均目標函數(shù)值時,對應慣性權重因子較小,保留該粒子;當目標函數(shù)值差于平均目標函數(shù)值時,對應慣性權重因子較大,使粒子向較好的搜索區(qū)域靠攏。根據(jù)粒子優(yōu)化算法設定初始學習因子c1=c2=2.0,種群中個體個數(shù)D=6,種群數(shù)量m=2 000,最大迭代次數(shù)t=100,最大慣性權重wmax=0.9,最小慣性權重wmin=0.6。根據(jù)式(11)-(13)變換粒子的位置和速度,達到最大迭代次數(shù)或最大誤差時停止,自適應權重PSO算法修正的運動位姿誤差曲線如圖5所示。
圖5 自適應權重PSO算法修正的運動位姿誤差曲線
從圖5可以看出,隨著迭代次數(shù)的增加,適應度迅速變小,最終逐漸趨于零;隨著迭代次數(shù)的增加,粒子能夠快速找到局部最優(yōu)點;前30次迭代,適應度迅速減小,隨之速度減緩,當?shù)?5次時,粒子的適應度變化曲線趨于穩(wěn)定,粒子收斂于全局最優(yōu)值,位姿誤差與理論誤差相差10-6數(shù)量級,位姿誤差修正目標函數(shù)最小值Fv=5.63×10-8,修正效果比較明顯[15]。
采用自適應權重粒子優(yōu)化算法,得自適應權重PSO算法優(yōu)化后驅(qū)動桿的誤差參數(shù)如表2所示。
表2 自適應權重PSO算法優(yōu)化后驅(qū)動桿的誤差參數(shù)
帶收縮因子自適應權重粒子算法原理為:與慣性權重系數(shù)相比,收縮因子能更有效控制粒子的更新速度,還能增強粒子優(yōu)化算法的局部和全局搜索能力。僅利用自適應權重的粒子算法,后期由于慣性權值過小,會失去探索新區(qū)域的能力,而加入壓縮因子的方法則會彌補此不足。本文采用了一種既考慮慣性權重,又考慮收縮因子的粒子群優(yōu)化算法,這種算法既可以保持粒子活性,又可以提高粒子收斂于全局極值點的速度。
采用帶收縮因子的自適應權重粒子優(yōu)化算法,在自適應權重粒子優(yōu)化算法原理的基礎上,引入收縮因子,可保證算法的收斂性。
式中,k為壓縮因子;?=c1+c2。
設定粒子優(yōu)化算法初始參數(shù)為c1=c2=2.05,種群中個體個數(shù)D=6,種群數(shù)量m=2 000,最大慣性權重wmax=0.9,最小慣性權重wmin=0.6,最大迭代次數(shù)t=100。根據(jù)式(13)-(16)變換粒子的位置和速度,達到最大迭代次數(shù)或最大誤差時停止,得到并聯(lián)機器人的運動位姿誤差與迭代次數(shù)之間的關系,帶收縮因子的PSO算法修正的運動位姿誤差曲線如圖6所示。
從圖6可以看出,粒子的適應度隨著迭代次數(shù)的增大而急速減小,并且逐漸趨于零;粒子隨著迭代次數(shù)增加,快速出現(xiàn)局部最優(yōu)點,然后繼續(xù)迭代;前20次迭代時,適應度急速減小,之后下降速度變慢,在迭代30次時,粒子的適應度變化曲線趨于穩(wěn)定,搜索空間中的粒子收斂于全局最優(yōu)值,6-PTRT并聯(lián)機器人末端的運動位姿誤差為10-8數(shù)量級,位姿誤差修正目標函數(shù)最小值Fv=2.19×10-15,修正效果相比自適應權重粒子優(yōu)化算法更加明顯。同理,其余末端位姿點的修正方法和結(jié)果與此類似。結(jié)果表明,改進粒子優(yōu)化算法不僅具有較快的收斂速度,還具有更強的局部和全局搜索能力,提高粒子收斂于全局最優(yōu)解的速度。
圖6 帶收縮因子的PSO算法修正的運動位姿誤差曲線
針對粒子群算法(PSO)存在的過早收斂問題,采用帶收縮因子的自適應權重粒子優(yōu)化算法,得到6-PTRT并聯(lián)機器人優(yōu)化后的各個驅(qū)動桿桿長誤差參數(shù),并求得理論值與實際值之間的誤差,帶收縮因子的PSO算法優(yōu)化后的驅(qū)動桿誤差參數(shù)計算結(jié)果同自適應權重PSO算法相同。
對比表1-2及圖4-6可知,標準粒子優(yōu)化算法存在粒子過早收斂現(xiàn)象,最終求解值誤差偏大;自適應粒子慣性權重能有效避免粒子過早收斂問題,但是會失去探索新區(qū)域的能力;帶收縮因子的自適應權重粒子優(yōu)化算法不僅可以避免粒子過早收斂問題,還能有效增強粒子優(yōu)化算法的局部和全局搜索能力,且提高粒子收斂于全局的速度,求解值誤差減小。
根據(jù)表2中6-PTRT并聯(lián)機器人各個驅(qū)動桿優(yōu)化后的誤差參數(shù),得到6-PTRT并聯(lián)機器人的理論與其修正后的位姿誤差如表3所示。
從表3可以看出,帶收縮因子的自適應權重粒子優(yōu)化算法能夠更快速有效地減小并聯(lián)機器人的位姿誤差,對并聯(lián)機器人期望軌跡的修正具有重要的意義。
表3 6-PTRT并聯(lián)機器人的理論與其修正后的位姿誤差
令6-PTRT并聯(lián)機器人的運動軌跡為:
式中,x、y、z為機器人在其方向的位移方程;t′為仿真時間。
設置仿真時間為10 s,步長為0.1 s,利用帶收縮因子的自適應權重粒子優(yōu)化算法修正6-PTRT并聯(lián)機器人的輸出位姿誤差,6-PTRT并聯(lián)機器人的運動軌跡如圖7所示。
圖7 6-PTRT并聯(lián)機器人的運動軌跡
從圖7可以看出,理想軌跡x、y、z方向的誤差分別為-0.028 8、-0.037 0、0.003 0 mm,修正后期望軌跡的x、y、z方向的誤差分別為-6.7×10-6、8.9×10-6、-6.0×10-6mm,說明采用帶收縮因子的自適應權重的粒子群算法能夠有效地修正6-PTRT并聯(lián)機器人的軌跡,減小其軌跡規(guī)劃中的運動誤差,顯著提升6-PTRT并聯(lián)機器人的工作精度。
(1)建立6-PTRT并聯(lián)機器人輸出位姿誤差模型,并基于位姿誤差模型,分析驅(qū)動桿桿長誤差參數(shù)對位姿誤差的影響。
(2)采用不同算法求解優(yōu)化后的各個驅(qū)動桿桿長誤差參數(shù),并與理論值對比。帶收縮因子的自適應權重粒子優(yōu)化算法避免了粒子過早收斂問題,增強了粒子的局部和全局搜索能力,降低了求解值的誤差。
(3)利用帶收縮因子的自適應權重粒子算法優(yōu)化各個驅(qū)動桿桿長誤差參數(shù),運動位姿綜合誤差為10-8數(shù)量級,軌跡修正目標函數(shù)最小值為Fv=2.19×10-15,相比其他粒子算法更加高效。