秦 楨,唐秋華,魏國前,孫 偉
(武漢科技大學a.冶金裝備及其控制教育部重點實驗室;b.機械傳動與制造工程湖北省重點實驗室,武漢 430081)
在裝配時裝配體末端的功能要求,須由各個裝配特征參數(shù)聯(lián)合保證[1]。各參數(shù)的組合形式不同,最終裝配體性能差異可能會很大。對于精度要求較高的機構,在設計初期亟需對裝配特征參數(shù)進行優(yōu)化,通過合理的公差分配,既降低產(chǎn)品制造成本,又保證裝配體的精度。
針對裝配公差設計,王輝等[2]構建了雅克比旋量模型,進行了基于公差原則的裝配公差統(tǒng)計分析,考慮了不同公差原則下裝配體末端公差的范圍;PENG等[3]基于雅可比旋量模型,提出以統(tǒng)計學原理來解決機械裝配體的三維公差重新設計的新方法。高瑞等[4]在滿足整體裝配質(zhì)量的前提下,利用中間計算法優(yōu)化零件尺寸公差,從而提高了零件合格率。趙帥帥等[5]構建了成本公差函數(shù),提出了基于群智能算法的中間軸公差優(yōu)化設計方法。周釗等[6]提出了一種基于布谷鳥算法的多目標公差設計方法。
上述三維公差分析方法,大多基于蒙特卡洛仿真,對某種裝配特征參數(shù)進行公差分析,而對多種裝配特征參數(shù)組合優(yōu)化的考慮較少;其次,他們只獲得裝配誤差的概率分布曲線,未計算公差上下區(qū)間的最大邊界值,導致優(yōu)化計算時工作量較大,計算結(jié)果的魯棒性較差。為此,提出一種雅克比矩陣旋量最值模型,以此獲得裝配體末端的公差最大分布區(qū)間;再利用各個裝配特征參數(shù)的聯(lián)合優(yōu)化,得到給定條件下的最優(yōu)公差參數(shù)組合。
本問題可描述為在不考慮其它因素對裝配體末端誤差影響的前提下,對各個裝配特征參數(shù)進行聯(lián)合優(yōu)化,以提高末端裝配精度。下面以手術時用于安全分離腫瘤和腦組織的腦神經(jīng)外科手術機器人為例,描述裝配公差優(yōu)化問題。該機器人結(jié)構簡圖如圖1所示,共有6個自由度。
(a) 主視圖 (b) 俯視圖
在圖1中O0是全局坐標系,Oi是裝配特征的參考坐標系;Li為各個坐標系的相對位置,L1~L14分別為{600、90、300、300、400、200、400、300、200、100、60、100、10、90},單位是mm。軸1連接機座,整個機構主要通過軸1→機身→軸2→大臂→軸3→小臂→軸4傳遞力和力矩,連桿和平衡臂起輔助作用。故而,所建立的裝配公差優(yōu)化模型著重考慮上述傳遞路徑上的裝配特征,包括軸1的圓柱度、軸2的圓柱度、O3處大臂孔軸線以大臂外表面為基準的平行度、O4處小臂孔軸線以小臂外表面為基準的平行度、O5處大臂孔的中心線基于大臂端面的垂直度、O6處小臂孔的中心線基于小臂端面的垂直度。
對該問題的主要求解思路是,建立各裝配特征的雅可比旋量模型;通過對該模型改進,得到雅克比旋量最值模型,推導出裝配體末端公差最大分布區(qū)間的計算公式。在此基礎上,優(yōu)化裝配特征參數(shù),找到使末端公差分布最大區(qū)間最小化的參數(shù)組合,亦即裝配體末端裝配精度最高。
在公差計算時,若能知道公差變動區(qū)間的邊界,并以此為約束,即可簡化問題求解。為此,本節(jié)提出基于雅克比旋量最值模型的裝配體末端誤差分布區(qū)間求解方法。該方法首先建立裝配特征的小位移旋量模型,確定每個裝配特征平動矢量的上下限;其次通過對旋量表達式進行分析,獲得誤差極限;最后,構建雅克比旋量最值模型,計算裝配體的末端誤差分布區(qū)間,找到使末端誤差最小的裝配參數(shù)組合。
雅克比旋量模型以機器人運動學、計算機圖形學和旋量理論為基礎,通過空間尺寸鏈的誤差傳遞,建立最終功能要求與各裝配特征之間的數(shù)學關系,從而為裝配體公差分析提供數(shù)學依據(jù)。具體模型如下:
(1)
式中,F(xiàn)R表示功能要求;JFEi表示第i個裝配特征的雅克比矩陣;τFEi表示第i個裝配特征的小位移旋量;n表示對末端誤差有影響的裝配特征數(shù)量。
(2)
(3)
(4)
裝配體中包含多種裝配特征,這里以軸1圓柱度為例,建立其公差數(shù)學模型[9]:
(5)
式中,l是圓柱的長度;TL是圓柱直徑尺寸的下偏差的絕對值;TU是圓柱直徑尺寸的上偏差的絕對值;Tcyl是圓柱度的公差值;x、y、z是圓柱度公差帶的邊界坐標;θ和d表示對應的平動矢量和轉(zhuǎn)動矢量。
雅克比旋量模型結(jié)合了雅克比矩陣和小位移旋量,可用于表征誤差的傳遞與累積[7-8]。但是,小位移旋量為公差域范圍,需通過蒙特卡洛仿真進行大規(guī)模實驗,再利用統(tǒng)計分析獲得末端誤差的分布區(qū)間。若仿真次數(shù)不夠,無法獲得功能要求方向變動的最大區(qū)間;如果仿真次數(shù)過多,增加了模型的計算量,且求解時間過長。若能直接推算出末端誤差的最大分布區(qū)間,則不僅能減少計算時間,還能提高計算精度。
由式(1)可得x軸方向的誤差:
(6)
(7)
在x軸方向上誤差區(qū)間的右邊界為:
(8)
式中,當τi(N,1)指數(shù)(-1)k和(-1)j的值大于0時,τi(N,1)取右邊界,反之取左邊界。所以,x軸方向上的最大誤差為:
式(7)和式(8)指出了x軸方向末端誤差的最大分布范圍,可通過平動矢量和轉(zhuǎn)動量的邊界約束求解,無需再次使用蒙特卡洛仿真。同理可得y軸和z軸方向末端誤差最大分布范圍。則裝配體的雅克比旋量最值模型可表示如下:
(9)
(10)
式中,
式中,N表示矩陣τi的第N行,N={1,2…6};H表示雅克比矩陣的第H行,H={1,2…6}。
公差優(yōu)化是在給定的裝配體內(nèi)和相對經(jīng)濟的前提下,尋找最優(yōu)的特征參數(shù)組合,以獲得最小的末端誤差。針對給定的裝配體,尋找最優(yōu)裝配特征參數(shù)組合的優(yōu)化模型如下:
xi∈{CBDi,Di,Li,Ti}
(11)
式中,X表示各種裝配特征參數(shù)的組合;xi表示第i個裝配特征參數(shù)等級,它可能是CBDi、Di、Li、Ti,CBD代表孔和軸基本偏差代號;D和L是形位公差主要參數(shù);T表示公差等級;Errorx、Errory、Errorz分別代表裝配體x、y、z軸方向累積的末端誤差;error是裝配體的末端誤差。
粒子群優(yōu)化算法(PSO)是一種群智能優(yōu)化算法[10],源于對鳥群捕食行為的研究,其基本思想是:通過群體中個體之間的協(xié)作和信息共享來尋找最優(yōu)解[11]。粒子群算法本質(zhì)上是一種連續(xù)優(yōu)化算法,但通過一定轉(zhuǎn)換,也已成功用于求解組合優(yōu)化問題。針對裝配公差優(yōu)化問題,提出一種改進的粒子群算法(GRLPSO),用于求解最優(yōu)的裝配特征參數(shù)組合。
在裝配公差優(yōu)化模型(11)中,優(yōu)化對象為基本偏差代號、形位公差主參數(shù)和公差等級等離散變量。因此,將不同裝配特征參數(shù)劃分為不同的等級,各參數(shù)的每一等級對應不同的參數(shù)值。
以軸1圓柱度為例進行簡單編碼。通過分析式(5),可以發(fā)現(xiàn)圓柱度公差的旋量參數(shù)取值區(qū)間受TU、TL、Tcyl和l四個常量的影響,鑒于加工難度和成本,通過變換配合類別來改變TU的取值,從而改變圓柱度公差的旋量參數(shù)取值區(qū)間,是比較合理的手段。若與軸1配合的孔為標準件,其公差等級為IT6,通過查詢基孔制優(yōu)先常用配合表[12],可得到軸基本偏差代號為f~t。將其劃分為不同的等級,得到如表1所示的簡單編碼,即可表示各特征參數(shù)的對應范圍。
表1 裝配特征等級
故而,各裝配參數(shù)的編碼設計可如圖2所示。將各裝配特征參數(shù)FE1~FE6依照序號順次排列,得到編碼{2,3,2,1,5,4},如其中特征FE1表示軸1的圓柱度。第一個參數(shù)的特征等級為2,查詢表1,可得到其基本偏差代號為g。同理,可得到其余裝配特征參數(shù)的參數(shù)值。
圖2 案例的一個編碼
在上述編碼基礎上,利用式(5),獲得小位移旋量參數(shù);同理,建立其余特征的小位移旋量模型。再利用雅克比旋量最值模型如式(9)和式(10)所示,計算出末端誤差的最大分布區(qū)間;最后,利用式(11),求得裝配體末端的誤差值。
PSO算法的粒子速度和位置迭代更新表達為:
(12)
Xk+1=Xk+Vk+1
(13)
式中,Gbest為整個種群中令末端誤差最小的最優(yōu)裝配特征參數(shù)等級組合;Pbest為在局部范圍內(nèi)令末端誤差最小的最優(yōu)裝配特征參數(shù)等級組合;慣性權重ω采用自適應慣性權重[13],其最大值和最小值分別為{0.9、0.4}。
通過式(12)和式(13),粒子位置Xk+1變成了實數(shù)。為此,采用Sigmoid方程進行離散化處理,使得粒子位置能表征裝配特征參數(shù)等級。
為防止算法陷入局部最優(yōu),在PSO基礎上引入遺傳算法的交叉操作來實現(xiàn)不同粒子之間的信息共享,變異操作實現(xiàn)粒子內(nèi)部信息共享。同時,各個裝配特征參數(shù)之間相互關聯(lián),可能需要變化多個參數(shù)才能獲得更小的末端誤差。為提升算法性能,引入反向?qū)W習策略,讓部分編碼片段的元素值發(fā)生變化,剩余位置保持不變,位置發(fā)生變化的數(shù)量通過下面公式進行計算。
式中,N為需要反向?qū)W習的位置個數(shù);n為裝配特征的總個數(shù),k={1,2,3,…,n}。在粒子上隨機產(chǎn)生N個位置,并標記為1,位置標記為1的元素值進行反向?qū)W習。
Bi=1+Di-Bi
表2 蒙特卡洛仿真取值與末端誤差
式中,Bi為當前位置第i個裝配特征的參數(shù)等級,i={1,2,3,…,N};Di為第i個裝配特征的最大等級。
為了讓算法在迭代次數(shù)增加后,更容易跳出局部最優(yōu),需要引入懲罰函數(shù)機制。該機制能夠讓交叉概率Rc和變異概率Rm隨著優(yōu)化進程的進行,逐步達到最大值。懲罰函數(shù)可以表示如下:
Rc=Rc,min+(Rc,max-Rc,min)·progpen
Rm=Rm,min+(Rm,max-Rm,min)·progpen
式中,Rc,min和Rm,min分別是Rc和Rm的最小值;Rc,max和Rm,max分別是Rc和Rm的最大值。
根據(jù)前文中GRLPSO方法的模型構建和求解過程,GRLPSO的偽代碼如下:
過程:GRLPSO方法Input:種群規(guī)模NP,裝配特征參數(shù),迭代次數(shù)G,特征維度DBegin:x←randi(NP,D);v←rand(NP,D);Pbesti←x;Gbest←min(fit_Pbest);For k=1 to G doωi=F(ωi-1) //權重更新Ric=F(Ri-1c) //交叉概率更新Rim=F(Ri-1m) //變異概率更新For i=1 to NP dox'i←x'i-1+vi;xi=S(x'i) //基于Sigmoid的離散If ?x?xlim then //超出左右邊界限制x←xlim;End Ifx'i←交叉(xi,Ric); //交叉操作x'i←變異(xi,Rim); //變異操作x'i←反向?qū)W習(xi); //反向?qū)W習策略If fit_xi 圖3 蒙特卡洛參數(shù)校驗圖 從表2和圖3中可以發(fā)現(xiàn):隨著N的增加,計算時間變長,各個方向的誤差不斷變大,但方差不斷減小。當N較小時,雖然模型求解時間短,但是誤差值卻遠小于N較大時的誤差值,且數(shù)據(jù)的穩(wěn)定性也不夠,無法獲得裝配體末端誤差的真實值;當N=4時,末端誤差為0.36 mm,更接近裝配體末端誤差的真實值,方差也更趨近于0,但是,單次求解的時間需要57 s左右。而最值模型數(shù)據(jù)穩(wěn)定,求解時間短,單次求解時間僅需0.034 s。圖4為N=4時其中一次求解的末端誤差分布情況,從中可以發(fā)現(xiàn):通過最值模型求解的誤差值大于蒙特卡洛仿真獲得的誤差值,說明雅克比旋量最值模型求解的末端誤差更接近真實值,模型具有效性。 (a) x軸誤差概率分布圖 (b) y軸誤差概率分布圖 (c) z軸誤差概率分布圖 結(jié)合遺傳操作和反向?qū)W習策略對PSO算法進行改進,與標準的PSO算法、常用的改進方法(改進慣性權重取值IWPSO、改進種群多樣性PDPSO)、遺傳算法和模擬退火算法進行比較。30次求解結(jié)果如表3所示。 表3 算法性能比較 續(xù)表 從實驗結(jié)果可以發(fā)現(xiàn):GA算法的求解時間雖然較短,但是最優(yōu)解較差,只有3.33%的概率能找到最優(yōu)解;SA算法獲得最優(yōu)解的概率能達到96%左右,但是相對其它算法求解時間較長,約為4 s;標準PSO算法獲得最優(yōu)解的概率只有26.67%,其它兩種改進算法性能有所提升,但也不能保證100%獲得最優(yōu)解。GRLPSO算法除了求解時間在1 s以內(nèi)之外,還能夠保證每次都找到最優(yōu)解。這是因為設計的交叉和變異算子能夠增加粒子間的信息交流,反向?qū)W習策略符合裝配特征參數(shù)之間相互關聯(lián)的實際情況。綜上可知本文提出的GRLPSO算法在求解此問題時,能夠優(yōu)于標準的PSO算法、其它改進的PSO算法、遺傳算法和模擬退火算法,具有良好的性能。 本文基于雅克比旋量模型,分析平動和轉(zhuǎn)動矢量的約束關系,提出了雅克比旋量最值模型,并基于此建立裝配末端誤差優(yōu)化模型。用該模型計算裝配體末端累積誤差,能夠快速獲得誤差的最大分布區(qū)間,大幅縮短了通過蒙特卡洛方法求解誤差區(qū)間的時間,并保證了每次計算誤差的精度。 在傳統(tǒng)粒子群算法PSO基礎上,通過Sigmoid方程對粒子的位置進行離散化處理,引入交叉變異算子、反向?qū)W習策略,對算法進行改進,實現(xiàn)特征參數(shù)的組合優(yōu)化。實驗表明,GRLPSO算法相對于其它算法,能夠有效地提升求解質(zhì)量,提高求解速度,蒙特卡洛仿真驗證了模型的可靠性。4 案例分析
4.1 最值模型有效性
4.2 算法性能分析
5 結(jié)論