常振振,張彥斌,張 雙,宋黎明,李耀光
(河南科技大學 機電工程學院,河南 洛陽 471003)
并聯機構具有精度高、累計誤差小、承載能力強、結構緊湊等特點[1-4],已被廣泛應用于醫療康復、航空航天、工業生產等領域。但并聯機構具有強運動耦合性,導致其運動學求解十分困難,阻礙了并聯機構的推廣應用。
運動學分析包括運動學逆解和運動學正解分析,是機構結構優化、性能分析和精確控制等理論研究的基礎。相比于運動學逆解,并聯機構的正解計算更為復雜,其求解方法包括解析法和數值法。常用的解析法有幾何法[5-6]、矢量代數法[7]和四元數法[8]等,數值法有不動點迭代法和牛頓迭代法等[9]。
NAZARI A A等人[10]根據機構的幾何特征,將機構的空間表達轉化為平面表達,降低了運動學正解方程的復雜性。陳國旺等人[11]通過結構降耦,得到了耦合度為0的機構,并采用幾何方法求解了其位置正解的顯式表達。
解析法雖能求取全部運動學正解,但對耦合度高的機構,其數學推導較為繁瑣。HAN Xiao-guo等人[12]采用不動點迭代法分析了6SPS機構的運動學正解,并證明該方法比牛頓迭代法更有優勢。強紅賓等人[13]采用調整步長牛頓法求解了Stewart并聯機構的位置正解,解決了牛頓下山迭代法求解時間較長的問題。傳統優化算法模型簡單,但速度慢,且所求最優解一般與初始迭代點有關。
近年來,眾多學者將智能算法應用于求解并聯機構位置正解[14-17]。常用方法有神經網絡法(neural network,NN)[18]、遺傳算法(genetic algorithm,GA)[19]、粒子群算法[20]等。NN算法性能好,但需要大量的訓練樣本;GA算法具有可擴展性,容易與其他算法結合,但收斂速度慢、局部搜索能力差;PSO算法收斂速度快,但全局尋優性差,容易陷入局部最優解。
人工蜂群算法[21]是一種模擬自然界蜂群行為的優化算法。該算法參數設置少,對于連續函數的全局優化具有很好的搜索特性;但其后期收斂速度慢。
筆者針對新型3RPUPc-UPS并聯機構的運動學特性進行研究,根據機構幾何特征建立位置逆解方程,并構建出位置正解求解模型;進而提出一種基于粒子-人工蜂群算法的并聯機構運動學求解方法;利用MATLAB的GUI模塊開發機構運動學正解求解軟件,利用算例分析,驗證該算法的有效性。
新型3RPUPc-UPS并聯機構的結構簡圖如圖1所示。
圖1 3RPUPc-UPS并聯機構結構簡圖
由圖1可知:動平臺與定平臺之間通過兩種不同結構類型的支鏈連接。第一種支鏈結構類型為RPUPc(Li,i=1~3),由轉動副Ri、移動副Pi、萬向鉸Ui和環形移動副Pci依次串聯組成,并由Pci副和Ri副分別與動平臺、定平臺相連。
為方便表述,可以將Ui副用兩個垂直相交的轉動副Ri1和Ri2代替。其中,Ri副的軸線與Ri1副的軸線相互平行,并垂直于Pi副的移動方向;Ri2副的軸線在動平臺平面內指向動平臺圓心點Q,并與Pci副的移動方向垂直。Pci副與Ui副始終位于動平臺平面內。
第二種支鏈結構類型為UPS(L4),由萬向鉸U4、移動副P4和球副S依次串聯組成。將U4副用兩個軸線垂直相交的轉動副R41和R42表示,S副用三個軸線交于一點并兩兩垂直的轉動副RS41、RS42和RS43表示。R41副的軸線垂直于定平臺平面,R42副的軸線與RS41副的軸線分別垂直于P4副的移動方向,RS42副的軸線在動平臺內并指向點Q。
Ri副與U4副均勻分布在圓心點為O,半徑為R的圓OR上,Ri副軸線與圓OR相切,且R2副軸線與R1副和R3副軸線垂直。初始位置時,R2副軸線與R42副軸線平行。
1.2.1 自由度計算
第一種結構類型的運動支鏈拓撲結構記為{-Ri(⊥Pi)//Ri1(⊥Ri2)//Pci-},第二種結構類型則記為{-R41⊥R42(⊥P4)//RS41⊥RS42⊥RS43}。由于Pci副的作用效果可等效為一個轉動軸與動平臺中心線重合的轉動副Rci,所以這兩種類型支鏈末端構件的方位特征集[22]17-28(position and orientation characteristics,POC)分別為:
(1)
(2)
基于方位特征方程求解并聯機構的自由度公式為:
(3)
由第1、2條支鏈構成第一個獨立回路,可得:
(4)
而第1、2條支鏈構成的子并聯機構PM1的POC集為:
(5)
PM1與第3條分支構成第2個回路,則有:
(6)
那么,子并聯機構PM2的POC集為:
(7)
同理,PM2與支鏈4構成第3個回路,則:
(8)
因此,并聯機構的自由度和POC集分別為:
(9)
(10)
式(9)和式(10)表明:選取移動副Pi(i=1~3)的線位移和U4副中R41的轉軸角位移為機構的主動輸入時,該機構為四自由度三轉動一移動并聯機構,對應于人體腕關節掌屈/背伸、橈偏/尺偏、旋前/旋后和沿手臂方向的拉伸四種康復訓練動作,可將其應用于腕關節康復訓練機構。
1.2.2 耦合度計算
由基于序單開鏈(single open chain,SOC)的機構組成原理可知[22]107-115,任一機構可分解為若干基本運動鏈,獨立回路數為v的基本運動鏈可分解為v個有序單開鏈SOCi(i=1~v),其中,第j個SOCj的約束度定義為:
(11)
式中:gj為第j個SOCj的運動副數;Ij為第j個SOCj的驅動副數。
機構的耦合度定義為[23]:
(12)
3RPUPc-UPS機構各有序單開鏈的約束度分別為:
(13)
(14)
(15)
將式(13)~式(15)代入式(12),得:
(16)
式(16)表明:該機構的耦合度為2,建立其正解解析式十分復雜[24],而求取其數值解則相對簡單。
由于運動學逆解方程是構建數值解模型的理論基礎,因此,需要先進行機構的逆解建模分析。
設Ai點為環形移動副Pci的中心點,Ci點為Ui(i=1~3)副和S副的中心點。在動平臺平面內,Ai點與Ci點分別在半徑為r的圓Qr和半徑為c的圓Qc上。Bi點為Ri副和U4副的中心點。
筆者以定平臺幾何中心點O為原點,建立坐標系O-XYZ,其中,X軸與OB3重合并指向B3點,Y軸與OB4重合并指向B4點,Z軸垂直定平臺平面向上。坐標系Q-xyz的坐標原點Q位于動平臺幾何中心,y軸與QC4重合并指向C4點,z軸垂直于動平臺平面向上,x軸由右手法則確定。
設CiBi的長度為li,即前3條支鏈的驅動桿長度,δ表示轉軸R41的角位移(見圖1),則并聯機構的運動學逆解為已知動平臺的位姿參數α、β、γ和z,需要求解機構主動輸入線位移li和輸入角位移δ。
動平臺相對定平臺的姿態變換矩陣可表示為:
R=Rx(α)Ry(β)Rz(γ)=
(17)
式中:Rx(α),Ry(β),Rz(γ)為動平臺繞x、y和z軸的坐標變換矩陣;c*=cos*,s*=sin*。
設圓Qc上任一點CQ在xQy平面內的坐標為(x,y,0),則圓Qc在xQy平面內的方程為:
x2+y2=c2
(18)
點CQ在坐標系O-XYZ下的坐標向量CO為:
CO=RCQ+Q
(19)
式中:CQ為點CQ在Q-xyz中的坐標向量;Q為點Q在O-XYZ中的坐標向量(0,0,z)。
由于動平臺繞z軸的轉動不影響圓Qc在XOY平面投影的形狀,將γ=0代入式(19),求點CQ在XOY平面上的投影坐標(xO,yO)為:
(20)
將式(20)代入式(18),可得圓Qc在XOY平面上投影的解析式為:
(21)
式中:t*=tan*。
(22)
(23)
設θi(i=1~3)為QCi與水平面的夾角,易知θ2=α,θ1=θ3。θ3的瞬時位形圖如圖2所示。
圖2 θ3瞬時位形
若令θ1=θ3=θ,則:
(24)
根據分支伸縮桿的幾何約束條件可得:
(25)
(26)
(27)
而由式(19)可計算出點C4(0,c,0)在定坐標系O-XYZ下的坐標,即:
(28)
(29)
可計算得:
(30)
筆者給定結構尺寸參數c=60 mm、R=120 mm,根據式(25)~式(27)、式(30),利用MATLAB對機構逆解進行數值仿真,并繪制各分支主動關節的運動曲線,用虛線表示;同時,利用SOLIDWORKS進行虛擬樣機建模和運動學逆解仿真,并用點畫線表示。各軟件的仿真曲線為4條,仿真時間t為20 s。
仿真結果如圖3所示。
圖3 逆解仿真曲線
圖3中,對比兩種不同軟件做出的運動仿真曲線可知:每兩條曲線重合,表明仿真結果一致,驗證了機構逆解理論分析的正確性。
由于直接建立機構運動學正解的解析方程比較困難,因此,筆者根據機構主動輸入線位移li和角位移δ(用l4表示δ),求解同時滿足逆解方程式(25)~式(27)和式(30)的α、β、γ和z的值,以達到運動學正解的數值求解目的。
機構的逆解方程可進一步改寫為:
li-fi(α,β,γ,z)=0(i=1~4)
(31)
筆者將式(31)轉化為帶約束的多目標非線性方程最小化問題,建立機構正解的求解模型,即:
(32)
(33)
式中:fPS為算法的適應度,表示總體誤差,其值越小,求解精度越高。
在實際應用中,并聯機構快速準確的控制效果取決于運動學正解的求解精度和響應時間。筆者融合ABC與PSO算法,提出了一種基于P-ABC算法的并聯機構運動學正解求解方法。
3.2.1 ABC算法
ABC算法來源于自然界蜜蜂尋找蜜源采蜜的過程,如圖4所示。
圖4 蜜蜂采蜜過程
算法模型包括蜜源、引領蜂、觀察蜂和偵察蜂。引領蜂發現蜜源后返回蜂巢,在舞蹈區內與觀察蜂交流蜜源信息,并以一定概率雇傭觀察蜂探索當前蜜源或被雇傭去探索其他蜜源,概率由蜜源的質量決定。若當前蜜源被探索完畢,引領蜂將放棄當前蜜源并轉化為偵察蜂,以偵察蜂巢附近的新蜜源。
3.2.2 PSO算法
PSO算法來源于對鳥群覓食行為的研究,并將鳥群中的個體簡化為具有位置和速度的粒子。
鳥類覓食的過程如圖5所示。
圖5 鳥類覓食過程
鳥類覓食的方向受兩個因素的影響,一是自己曾經發現最多食物的地方Pp,二是在交流中獲得的其他個體發現最多食物的地方Pg,最終在兩者之間選擇一個新方向。
3.2.3 P-ABC算法
PSO算法迭代速度快,但缺乏速度的動態調節,容易陷入局部最優,導致收斂精度低和不易收斂,其結果受到算法參數的影響。ABC算法雖迭代速度較慢,但每次迭代過程中都會進行全局和局部的最優解搜索,尋找最優解的概率高。
為提高求解并聯機構正解的速度和精度,筆者提出P-ABC算法,其可以有效克服PSO算法易陷入局部最優解、求解精度低、ABC算法求解時間長的缺陷。相比于同類研究[25],其參數設置更為簡單,計算量也更小。
在該算法中,蜜源和Pp對應優化問題中的可能解,其數量分別與引領蜂和粒子的數量相同,且一一對應。P-ABC算法包含兩個階段,每個階段都以獲取fPS最小值為正解計算結果的選擇依據。
首先,在PSO算法中,在有N個粒子的D維搜索空間內,第i個粒子的位置和速度更新公式分別為:
(34)
(35)
(36)
式中:xi,j為第i個蜜源的第j維值,i=1~N。
觀察蜂在舞蹈區內獲取全部引領蜂的蜜源信息,并采用輪盤賭的方式選擇新蜜源,其選擇概率為:
(37)
其中,fitMi為第i個蜜源的適應度,其表達式為:
(38)
引領蜂在舞蹈區進行蜜源信息交流后,獲得新的蜜源為:
(39)
式中:φi,j為區間[-1,1]的隨機數。
引領蜂變成偵察蜂后,根據下式獲取新蜜源:
(40)
每只蜜蜂可通過貪婪法比較新舊蜜源的適應度fPS,并選擇優勢解作為新蜜源。算法完成設定迭代次數后,最小適應度fPS對應的蜜源為所求最優解。
筆者分別利用ABC、PSO和P-ABC算法對3RPUPc-UPS并聯機構的運動學正解進行數值求解,以驗證P-ABC算法的優越性。
假定對三種算法設置相同的迭代次數,p值為總迭代次數的二分之一,其余算法參數選取常用數值。
為方便運算和比較三種算法的性能,筆者使用MATLAB中的GUI模塊開發出基于三種算法的機構正解求解軟件,其界面如圖6所示。
圖6 軟件初始界面
以求解動平臺位姿α=25°、β=34°、γ=23°、z=360 mm的正解為例,設機構的結構參數R=120 mm、c=60 mm;最大迭代次數取300,群體個數取100,ω=0.8,c1=c2=2;以及運動學逆解的計算結果,l1=332.048 mm、l2=390.904 mm、l3=402.294 mm和l4=-14.438 9°。
筆者將所有參數分別輸入到軟件界面相應的輸入框內,點擊正解計算,可得到三種算法的運行時間、求解誤差、適應度值和適應度曲線,最后點擊下載即可保存該位姿下的適應度曲線,如圖7所示。
圖7 適應度曲線
由圖7可知:前150次迭代中,ABC算法收斂速度快于PSO和P-ABC算法的速度;150次迭代之后,ABC算法適應度曲線處于穩定狀態,PSO算法處于緩慢收斂狀態,而P-ABC算法加速收斂,并偏離PSO算法;在300次迭代終止時,P-ABC算法適應度值遠小于ABC和PSO算法的值,該算法克服了ABC算法迭代中止和PSO算法求解精度低的缺陷。
軟件獨立運行30次后的誤差均值如表1所示。
表1 算法獨立運行30次的誤差均值
從表1可知:相比于ABC算法,P-ABC算法運行時間縮短了50.02%,整體誤差等級從10-18變為10-20;相比于PSO算法,其運行時間雖長,但誤差等級從10-10降至10-20,降低了10個數量級。
為驗證P-ABC算法的適用性,筆者選取50組不同位姿進行300次迭代正解求解運算,其中5組的計算結果如表2所示。
表2 P-ABC算法不同位姿下的運算結果
表2計算結果表明:P-ABC算法單次求解時間在0.5 s內,求解誤差級別為10-20,能有效滿足實際應用。
針對3RPUPc-UPS并聯機構運動學正解求解困難的問題,筆者分析了3RPUPc-UPS并聯機構的運動輸出特性,并融合了PSO和ABC算法,提出了兼顧兩者優點的P-ABC算法。
研究結論如下:
1)分析了機構的拓撲結構和方位特征集,計算得出其自由度為4,運動耦合度為2,表明機構具有較強的運動學耦合性;
2)利用機構幾何特征建立了機構運動學逆解方程,推導出其解析表達式,并利用MATLAB和SOLIDWORKS軟件仿真驗證了逆解模型的正確性;
3)建立了機構運動學正解的數值求解模型,將運動學正解求解轉化為含有約束的多目標非線性方程的最小化問題。算例分析結果表明,P-ABC算法不僅運算快、運行時間短,還具有求解精度高的優點。相對于ABC算法,P-ABC算法的運行時間縮短了50.02%;相對于POS算法,其求解精度提高了10個數量級。
在后續的研究工作中,筆者將對該算法參數進行優選,以獲取最佳的工作性能,并將其應用于其他類型機構的運動學求解中,以驗證該算法的通用性。