石繼超,趙現(xiàn)朝,霍曉銳,黃孟杰
(上海交通大學(xué)機(jī)械與動(dòng)力工程學(xué)院,上海 200240)
航空航天領(lǐng)域中很多關(guān)鍵零部件具有復(fù)雜的外型曲面結(jié)構(gòu),為確保零件的正常工作需要保證足夠的加工精度,這對(duì)于數(shù)控加工提出了很大的挑戰(zhàn)。而五軸混聯(lián)機(jī)床具有高的加工自由度,更好的加工柔性,因此可用于形狀復(fù)雜等零部件的加工。
對(duì)復(fù)雜的零部件來(lái)說(shuō),為了準(zhǔn)確加工出零件的形狀,要求五軸機(jī)床以特定的姿態(tài)在允許的誤差范圍內(nèi)到達(dá)特定的位置。由于五軸機(jī)床的非線(xiàn)性,在折線(xiàn)段之間運(yùn)動(dòng)時(shí)各個(gè)驅(qū)動(dòng)軸速度、加速度以及加加速度會(huì)出現(xiàn)突變。因此需要對(duì)零件形狀控制點(diǎn)形成的線(xiàn)性運(yùn)動(dòng)路徑進(jìn)行平滑處理[1]。路徑平滑處理主要分為兩個(gè)階段,分別為局部平滑和全局平滑,其中局部平滑主要針對(duì)于折線(xiàn)段中尖銳夾角,全局平滑則主要針對(duì)于刀具最終整體運(yùn)動(dòng)路徑的平滑性[2]。
局部平滑算法旨在通過(guò)平滑出的曲線(xiàn)在誤差范圍內(nèi)擬合出高階平滑的軌跡曲線(xiàn)。SUN等[3]通過(guò)結(jié)合B樣條插值算法和最小二乘(LS)逼近算法,提出了一種新的使用LS-B樣條逼近軌跡的曲線(xiàn)平滑算法,并且提出了一種多相結(jié)構(gòu)來(lái)實(shí)現(xiàn)該算法,該算法在已知軌跡數(shù)據(jù)以及誤差時(shí),能夠同時(shí)保證較高的重構(gòu)精度以及連續(xù)性。AMMAD等[4]提出了一種用于插值數(shù)據(jù)點(diǎn)的算法,構(gòu)造出B樣條基函數(shù)及其導(dǎo)數(shù)的矩陣,并使用LU分解方法對(duì)未知點(diǎn)進(jìn)行求解。YEH等[5]提出了一種通過(guò)任意階數(shù)B樣條逼近曲線(xiàn)的方法,且自動(dòng)確定實(shí)現(xiàn)高逼近的節(jié)點(diǎn)矢量,從而在保證擬合的準(zhǔn)確性的前提下也保證了算法的實(shí)時(shí)性。
全局平滑算法旨在生成最終加工的平滑路徑曲線(xiàn)。XU等[6]提出了一個(gè)框架用于計(jì)算B樣條曲線(xiàn),并且可以在擬合精度內(nèi)逼近微線(xiàn)刀具路徑,首先提出了雙弦誤差測(cè)試確定出支配微線(xiàn)刀具路徑整體形狀的支點(diǎn)分布,并擴(kuò)展了一個(gè)幾何偏差模型用于估計(jì)控制多邊形與B樣條的整體誤差,集成到全局刀具路徑優(yōu)化中,大大減小控制點(diǎn)數(shù)量。LIU[7]通過(guò)對(duì)連續(xù)線(xiàn)段進(jìn)行NURBS曲線(xiàn)擬合獲得可靠的NURBS曲線(xiàn)格式的刀具路徑,在刀具位置數(shù)據(jù)的分割階段中,通過(guò)拐角角度測(cè)試以及雙弦誤差測(cè)試提出刀具路徑數(shù)據(jù)點(diǎn)的參數(shù)化以及節(jié)點(diǎn)劃分策略,有效控制擬合誤差。
本文提出了一種新的路徑平滑算法,采用矢量解耦的方式分別對(duì)機(jī)床加工運(yùn)動(dòng)軌跡以及運(yùn)動(dòng)姿態(tài)進(jìn)行平滑。在運(yùn)動(dòng)軌跡方面,結(jié)合約束條件模型,通過(guò)Q-Learning算法生成一條滿(mǎn)足G2連續(xù)性的軌跡。在運(yùn)動(dòng)姿態(tài)方面,附加曲率與姿態(tài)方向角變化率的約束,通過(guò)降維計(jì)算使用離散積分得到姿態(tài)方向角。
局部軌跡平滑是指對(duì)形成尖銳夾角的控制點(diǎn)位置坐標(biāo)之間構(gòu)成的微短線(xiàn)性路徑進(jìn)行平滑處理,生成一條具有G2連續(xù)的刀具平滑路徑。對(duì)于曲線(xiàn)滿(mǎn)足連續(xù)光滑路徑的主要有p階Bézier曲線(xiàn)、p階B樣條曲線(xiàn)以及p階NURBS曲線(xiàn),均可在各自的節(jié)點(diǎn)區(qū)間中滿(mǎn)足p-1次連續(xù),因此為滿(mǎn)足G2連續(xù)條件,故可確定階次為3。此外,對(duì)于Bézier曲線(xiàn)來(lái)說(shuō),階次會(huì)隨著控制點(diǎn)個(gè)數(shù)的變化而變化,以及任意一個(gè)控制點(diǎn)的改變都會(huì)影響到全局的曲線(xiàn)形狀,局部性較差;而對(duì)于B樣條曲線(xiàn)來(lái)說(shuō),相對(duì)于NURBS曲線(xiàn)自由度較差,因此最終選擇3階NURBS曲線(xiàn)作為軌跡生成曲線(xiàn),并以此為基礎(chǔ),建立數(shù)學(xué)模型,確定目標(biāo)函數(shù),使用強(qiáng)化學(xué)習(xí)Q-learning的算法獲取最終解。
NURBS曲線(xiàn)在B樣條曲線(xiàn)的基礎(chǔ)上為每個(gè)控制點(diǎn)引入一個(gè)權(quán)重的參數(shù),增加曲線(xiàn)形狀調(diào)整的自由度,該曲線(xiàn)表達(dá)式[8]如式(1)所示。
(1)
式中,u為NURBS曲線(xiàn)中的節(jié)點(diǎn)參數(shù);p為曲線(xiàn)的階數(shù);Pi為控制點(diǎn)的坐標(biāo);wi為控制點(diǎn)的權(quán)重;Ni,p(u)為NURBS曲線(xiàn)的基函數(shù)表達(dá)式。
NURBS曲線(xiàn)由于其表達(dá)式的特殊性,主要具有以下性質(zhì):
(1)在每個(gè)節(jié)點(diǎn)區(qū)間[ui,ui+1),曲線(xiàn)保證p階連續(xù)性;
(2)在每個(gè)重復(fù)度為k的節(jié)點(diǎn),曲線(xiàn)保證p-k階連續(xù);
(3)節(jié)點(diǎn)參數(shù)u個(gè)數(shù)為m+1,控制點(diǎn)個(gè)數(shù)為n+1,曲線(xiàn)階數(shù)為p,滿(mǎn)足式(2);
m=n+p+1
(2)
(4)當(dāng)u0=…=up時(shí)且um-p=…=um時(shí),NURBS曲線(xiàn)與控制邊界的起始邊和終止邊在端點(diǎn)處相切。
由性質(zhì)(1)和性質(zhì)(2)可知,在保證曲線(xiàn)具有G2連續(xù)性的前提下,為盡可能減小計(jì)算量最終選擇p為3,并且在中間節(jié)點(diǎn)處重復(fù)度k只能為1。
由性質(zhì)(3)可知,在局部路徑平滑中控制點(diǎn)個(gè)數(shù)固定,且曲線(xiàn)階數(shù)p為3,因此節(jié)點(diǎn)參數(shù)個(gè)數(shù)m可計(jì)算得出,因此NURBS曲線(xiàn)的可調(diào)整自由度分別為u的分布均勻性以及權(quán)重wi的變化。
針對(duì)于節(jié)點(diǎn)分布帶來(lái)的影響,分別采用均分分布以及不均勻分布的方式對(duì)同一控制邊界進(jìn)行NURBS曲線(xiàn)繪制,如圖1所示,可知u節(jié)點(diǎn)均勻分布時(shí)NURBS曲線(xiàn)以控制邊界角平分線(xiàn)為軸對(duì)稱(chēng)分布。
圖1 節(jié)點(diǎn)分布對(duì)NURBS曲線(xiàn)形狀的影響
針對(duì)于控制點(diǎn)權(quán)重帶來(lái)的影響,控制變量?jī)H修改夾角處控制點(diǎn)的權(quán)重觀(guān)察NURBS曲線(xiàn)的形狀,如圖2所示,可知權(quán)重越大擬合曲線(xiàn)越逼近控制點(diǎn),但同時(shí)曲線(xiàn)最大曲率增大。
圖2 權(quán)重對(duì)NURBS曲線(xiàn)形狀的影響
由性質(zhì)(4)可知,對(duì)于3階NURBS曲線(xiàn),若要最終平滑路徑平滑經(jīng)過(guò)起點(diǎn)與終點(diǎn),則需保證式(3)的成立。
(3)
圖3 軌跡控制邊界與 局部平滑曲線(xiàn)
局部軌跡平滑對(duì)三個(gè)軌跡控制點(diǎn)形成的折線(xiàn)段進(jìn)行平滑,分別記為A0、A1和A2。考慮到局部平滑之間應(yīng)該具有隔離性,不能影響到下一段或者上一段的平滑,因此限制平滑后的NURBS曲線(xiàn)控制邊界長(zhǎng)度小于等于軌跡控制點(diǎn)構(gòu)成折線(xiàn)夾角最小段的一半長(zhǎng)度。故在軌跡控制邊界上插入新的NURBS曲線(xiàn)控制點(diǎn),分別記為P0、P1、P2、P3和P4,從而可通過(guò)限制控制點(diǎn)的坐標(biāo)限制NURBS曲線(xiàn)的范圍。此外,由圖1可知,當(dāng)曲線(xiàn)保持關(guān)于角平分線(xiàn)對(duì)稱(chēng)分布時(shí),可以在具有相同誤差時(shí)可保證最大曲率最小。因此P2與A1重合,如圖3所示。
圖中,C(u)為目標(biāo)生成的平滑后的NURBS曲線(xiàn)。由于該曲線(xiàn)成對(duì)稱(chēng)分布,因此需要保證NURBS曲線(xiàn)控制節(jié)點(diǎn)權(quán)重對(duì)應(yīng)相等,如式(4)所示。
(4)
此外,由圖3可知此時(shí)控制點(diǎn)個(gè)數(shù)n為4,故可計(jì)算得到m的值為8,再由圖1知,對(duì)稱(chēng)的NURBS曲線(xiàn)需要保持u節(jié)點(diǎn)區(qū)間均勻分布。結(jié)合式(3)可確定節(jié)點(diǎn)U分布如式(5)所示。
U=[0,0,0,0,0.5,1,1,1,1]
(5)
為了保證后續(xù)的全局平滑可以順利拼接局部平滑的結(jié)果,因此需要限制NURBS曲線(xiàn)控制邊界的長(zhǎng)度,約束條件如式(6)所示。
(6)
在滿(mǎn)足上述約束條件之后,則可以保證在NURBS曲線(xiàn)內(nèi)部任意節(jié)點(diǎn)具有G2連續(xù)性。但對(duì)于曲線(xiàn)的端點(diǎn)來(lái)說(shuō),NURBS曲線(xiàn)只能保證與NURBS控制邊界相切,即為G1連續(xù),不能保證G2連續(xù),故需要在邊界處添加G2連續(xù)約束條件,如式(7)所示。
(7)
根據(jù)式(1)中NURBS曲線(xiàn)表達(dá)式可求得式(7)中的導(dǎo)數(shù),如式(8)和式(9)所示。
(8)
(9)
將已知條件代入式(8)及式(9)之中,得到二階導(dǎo)數(shù)如式(10)和式(11)所示。
(10)
(11)
將式(10)、式(11)代入式(7)、式(8)中,可得G2連續(xù)的約束條件:
(12)
由NURBS曲線(xiàn)對(duì)稱(chēng)性條件及式(4)、式(6),可知此時(shí)只需要化簡(jiǎn)一個(gè)約束條件即可。為使得化簡(jiǎn)過(guò)程更為明確,將局部平滑中涉及到的NURSB曲線(xiàn)控制邊界長(zhǎng)度設(shè)定為如式(13)中所示的變量。
(13)
此外,對(duì)式(12)中相關(guān)向量使用單位向量進(jìn)行進(jìn)一步簡(jiǎn)化表示,減小等式中變量的個(gè)數(shù),見(jiàn)式(14)。
(14)
將式(14)代入式(12)中,可得:
2w0(C1+le1)-3w1(C1+l2e1)+w2C1=0
(15)
化簡(jiǎn)式(15),合并相同的項(xiàng)之后如式(16)所示。
(2w0-3w1+w2)C1=(3w1l2-2w0l)e1
(16)
由式(16)可知,由于C1和e1方向不同,且上式需要保證在任意條件下需成立,所以此時(shí)兩個(gè)向量的系數(shù)均為0,可將式(16)簡(jiǎn)化為式(17)所示。
(17)
經(jīng)過(guò)上述計(jì)算,NURBS曲線(xiàn)一方面可以保證關(guān)于軌跡控制邊界角平分線(xiàn)對(duì)稱(chēng)分布,并且在曲線(xiàn)上任一點(diǎn)均滿(mǎn)足G2連續(xù)性,另一方面可以保證局部平滑的隔離性。
對(duì)于局部平滑的約束條件,即為在滿(mǎn)足工藝要求軌跡誤差約束的前提下取得最小的曲率,因此設(shè)定最終目標(biāo)函數(shù)如式(18)所示。
(18)
式中,ρmax為NURBS曲線(xiàn)所有節(jié)點(diǎn)中最大的曲率。由于此時(shí)NURBS曲線(xiàn)滿(mǎn)足軸對(duì)稱(chēng)性,可知曲率最大處即為u=0.5時(shí)對(duì)應(yīng)的曲率,計(jì)算公式如式(19)~式(21)所示。
(19)
(20)
(21)
由于NURBS曲線(xiàn)此時(shí)滿(mǎn)足軸對(duì)稱(chēng)性,所以εmax為u=0.5時(shí)對(duì)應(yīng)的曲線(xiàn)誤差,計(jì)算公式如式(22)所示。
(22)
將C(u)|u=0.5代入式(1),化簡(jiǎn)之后可得εmax如式(23)所示。
(23)
建立好數(shù)學(xué)模型的約束條件以及目標(biāo)函數(shù)之后,則需要求解得到最優(yōu)解。
Q-Learning是一種強(qiáng)化學(xué)習(xí)算法,可用于在設(shè)定好的學(xué)習(xí)規(guī)則下學(xué)習(xí)探索到任意目標(biāo)個(gè)數(shù)下的最優(yōu)解,是一種無(wú)監(jiān)督式地學(xué)習(xí)機(jī)制。
Q-Learning核心在于Q-Table的更新維護(hù),Q-Table中每一個(gè)元素Q(s,a)表示在狀態(tài)s的情況下,采取動(dòng)作a獲得的獎(jiǎng)勵(lì)大小,因此可以理解在Q-Learning在不斷學(xué)習(xí)的過(guò)程,即為Q-Table的不斷更新過(guò)程,并最終在Q-Table的引導(dǎo)下可以尋找到最優(yōu)解。Q-Table的更新過(guò)程目標(biāo)即為根據(jù)狀態(tài)s′的值得到狀態(tài)s的值的過(guò)程,其中更新公式[9]如式(24)所示。
Q(s,a)←Q(s,a)+α[R+γmaxxα′Q(s′,α′)-Q(s,a)]
(24)
式中,R為當(dāng)前的獎(jiǎng)勵(lì);Q(s,a)為上一個(gè)狀態(tài)s′的Q-Table中狀態(tài)s采取動(dòng)作a獲取到獎(jiǎng)勵(lì)的值,同時(shí)也作為下一個(gè)狀態(tài)s的估計(jì)值;R+γmaxxα′Q(s′,α′)為狀態(tài)s′時(shí)的Q-Table現(xiàn)實(shí)值;γ為對(duì)未來(lái)R衰減值;α為學(xué)習(xí)率,用于決定該次誤差的學(xué)習(xí)程度。需要注意的是,在計(jì)算現(xiàn)實(shí)值時(shí),每次以ε的概率選擇Q表中的最大值對(duì)應(yīng)的動(dòng)作,1-ε的概率在Q表中隨機(jī)選擇動(dòng)作,從而可以避免學(xué)習(xí)進(jìn)入局部最優(yōu)的情況。
根據(jù)以上Q-Learning算法的原理,可以搭建數(shù)學(xué)模型學(xué)習(xí)局部軌跡平滑中的最優(yōu)解。使用曲率ρ的值來(lái)表示狀態(tài)s,由于曲率ρ是一種范圍連續(xù)變化的量,將之映射到離散狀態(tài)s時(shí)使用值區(qū)間進(jìn)行離散化,離散區(qū)間長(zhǎng)度設(shè)為δ,故可表示如表1所示。
表1 曲率ρ到狀態(tài)s映射表
對(duì)于動(dòng)作a的映射來(lái)說(shuō),使用權(quán)重變化的方向作為采取的動(dòng)作。由于此時(shí)權(quán)重的變化旨在對(duì)狀態(tài)s的影響,故需要探索權(quán)重的3個(gè)自由度變化對(duì)曲率的影響關(guān)系。
由式(19)~式(21)可知,w0及w4對(duì)曲率的變化沒(méi)有影響,故為驗(yàn)證該公式,并在保持NURBS曲線(xiàn)對(duì)稱(chēng)性不變的前提下,使用控制變量法分別修改權(quán)重為10,與原始權(quán)重均為1的情況下進(jìn)行對(duì)比,得到結(jié)果如圖4和圖5所示。
圖4 NURBS形狀隨權(quán)重變化曲線(xiàn) 圖5 不同權(quán)重下曲率變化圖
此外,由于在權(quán)重的變化過(guò)程中仍需要滿(mǎn)足式(17)的約束,故最終動(dòng)作如表2所示。
表2 動(dòng)作權(quán)重變化映射表
續(xù)表
對(duì)于Q-Learning的獎(jiǎng)勵(lì)函數(shù),需要在學(xué)習(xí)的過(guò)程中抵觸曲率變大以及最大誤差變大的現(xiàn)象,因此獎(jiǎng)勵(lì)函數(shù)分為三部分,分別為曲率相對(duì)值的減小變化率、曲率減小絕對(duì)方向的變化率以及最大誤差的絕對(duì)大小程度,具體如式(25)所示。
(25)
在完成上述的所有設(shè)定之后,則可以搭建好Q-Learning的算法模型,進(jìn)行最終的訓(xùn)練學(xué)習(xí)。在最終結(jié)果的篩選中,由于為增大曲率變化的范圍,并未設(shè)定嚴(yán)格的誤差約束,因此在最終的學(xué)習(xí)結(jié)果中選擇出滿(mǎn)足誤差約束的最小曲率對(duì)應(yīng)的權(quán)重即可。
在得到最終所有控制點(diǎn)的權(quán)重之后,則可以根據(jù)式(13)、式(14)及式(17)計(jì)算得到所有控制點(diǎn)的位置,最終則可以計(jì)算出最終的NURBS曲線(xiàn)。
局部姿態(tài)方向角平滑是指在生成局部平滑軌跡的基礎(chǔ)之上,根據(jù)軌跡曲率變化規(guī)劃得到姿態(tài)方向角變化曲線(xiàn)的算法。由于在曲率較大的地方五軸混聯(lián)機(jī)床各分運(yùn)動(dòng)部件速度變化驟烈,此時(shí)應(yīng)盡量減小姿態(tài)方向角的變化速率來(lái)平滑分運(yùn)動(dòng)狀態(tài),以此為數(shù)學(xué)模型建立方向角的變化約束,并通過(guò)離散積分的方式獲取最終的數(shù)值解。
在五軸機(jī)床運(yùn)動(dòng)軌跡曲率較大處,運(yùn)動(dòng)狀態(tài)變化劇烈,因此可通過(guò)減小此處的刀具姿態(tài)方向角變化速率來(lái)平滑機(jī)床的運(yùn)動(dòng)。為保證該約束的實(shí)現(xiàn),建立姿態(tài)方向的約束模型,使得姿態(tài)方向變化率與曲率成反比,如式(26)所示,其中姿態(tài)方向向量記為o。
(26)
五軸機(jī)床的姿態(tài)方向是通過(guò)刀具路徑不同控制點(diǎn)對(duì)應(yīng)的三維方向矢量給定的,并且所有方向單位矢量均不共面,處于不同維度的圓錐之中,如圖6所示。
圖6 不同控制點(diǎn)方向矢量
可以看出,所有的方向均處在不同的圓錐平面內(nèi),再加上直接對(duì)三維矢量進(jìn)行平滑計(jì)算量大,因此使用分段的方法將之轉(zhuǎn)化為一維變量,分別對(duì)圖6中P0~P2段和P2~P4段進(jìn)行平滑,即為將方向變化的信息提取為軌跡不同段方向向量之間的夾角α,因此方向變化率轉(zhuǎn)為夾角α的變化率,此時(shí)約束如式(27)所示。
(27)
為保證局部角度平滑之間的隔離性,即為本段角度平滑結(jié)果不影響上一段及下一段的局部角度平滑,故設(shè)定在平滑軌跡的起點(diǎn)以及終點(diǎn)處的姿態(tài)方向角分別為A0、A2與A1角度的一半,如圖7所示。
圖7 角度平滑示意圖
由于圖7所有姿態(tài)方向矢量均為單位向量,故可建立邊界條件如式(28)~式(30)所示。
(28)
o2=om
(29)
(30)
在建立求解條件以及約束條件之后,則可以對(duì)式(27)進(jìn)行求解,然后反解得到姿態(tài)方向向量即可。
式(27)拆分開(kāi)包含變量u的函數(shù),并進(jìn)行對(duì)拆分后的整個(gè)積分可得式(31)。
(31)
代入式(21)計(jì)算得k的表達(dá)式,如式(32)所示。
(32)
式中,Δαi為分段平滑后的兩個(gè)方向向量之間的夾角;u1、u2為分段后對(duì)應(yīng)的u節(jié)點(diǎn)值,計(jì)算公式如式(33)~式(35)所示。
(33)
(34)
(35)
在計(jì)算得到k之后,代入式(32)中,將該積分形式進(jìn)行離散化,可解得不同u對(duì)應(yīng)的α的值。由于此時(shí)NURBS曲線(xiàn)成軸對(duì)稱(chēng)形狀,故此時(shí)一個(gè)使用通式表示最終結(jié)果,如式(36)所示。
(36)
在得到α(u)之后,可通過(guò)反解計(jì)算得到不同u對(duì)應(yīng)的姿態(tài)方向向量,設(shè)a為分段內(nèi)的起始姿態(tài)向量,b為分段內(nèi)的終止姿態(tài)向量,c為垂直于a、b的向量,因此可以通過(guò)兩者的叉乘得到,αu為目標(biāo)向量與a的夾角,α為a、b的夾角,ou為αu通過(guò)反解得到的最終目標(biāo)向量。由上述約束條件可建立關(guān)于目標(biāo)向量的三元一次方程組,如式(37)所示。
(37)
根據(jù)式(37)解得不同u對(duì)應(yīng)的姿態(tài)矢量,并且滿(mǎn)足局部的隔離性及局部運(yùn)動(dòng)平滑性。
在局部平滑中,由于考慮到每一段的隔離性,因此全局平滑即為在局部平滑的基礎(chǔ)上,完成局部銜接段之間的拼接即可。
由于局部軌跡平滑時(shí)已經(jīng)滿(mǎn)足隔離性的約束,因此只需要添加銜接段將局部平滑軌跡連接即可。對(duì)于銜接段來(lái)說(shuō),由于式(7)的約束,可知局部平滑軌跡在端點(diǎn)處均與控制邊界線(xiàn)段滿(mǎn)足G2連續(xù)。此外,由于式(6)的約束,保證了局部平滑軌跡之間滿(mǎn)足相互隔離性,因此可以直接將軌跡使用控制邊界進(jìn)行拼接即可,具體流程如圖8所示。
圖8 全局軌跡平滑流程
局部角度平滑的結(jié)果中包含角度的隔離性約束,并且每段平滑角度的起點(diǎn)均為一條控制軌跡邊端點(diǎn)姿態(tài)矢量夾角的一半,因此在拼接時(shí)滿(mǎn)足角度的連續(xù)性。此外,對(duì)于起點(diǎn)以及終點(diǎn)到角度平滑段之間,由于此時(shí)軌跡為一段線(xiàn)段,因此使用線(xiàn)性插值的方法進(jìn)行兩端的角度平滑,如式(38)所示。
(38)
式中,i=0為起點(diǎn)段,i=1為終點(diǎn)段;α0為軌跡控制起點(diǎn)與局部NURBS軌跡控制起點(diǎn)之間的姿態(tài)矢量夾角;L0為其距離;α1為軌跡控制終點(diǎn)與局部NURBS軌跡控制終點(diǎn)之間的姿態(tài)矢量夾角;L1為其距離。全局姿態(tài)方向角平滑流程如圖9所示。
圖9 全局姿態(tài)方向角平滑流程
在完成全局軌跡平滑及全局姿態(tài)方向角平滑之后,可以得到一條滿(mǎn)足誤差要求、曲率小、G2連續(xù)且近似為零件形狀的加工路徑。
在完成路徑平滑算法之后,生成一條滿(mǎn)足G2連續(xù)的光滑加工曲線(xiàn),為驗(yàn)證算法的有效性,分別對(duì)算法的每一個(gè)環(huán)節(jié)進(jìn)行計(jì)算。
設(shè)定Q-Learning學(xué)習(xí)率為0.1,獎(jiǎng)勵(lì)衰減因子為0.9,針對(duì)當(dāng)前狀態(tài)選擇最優(yōu)動(dòng)作的概率為0.9,最大迭代次數(shù)設(shè)定為9000,獎(jiǎng)勵(lì)值中曲率相對(duì)值的減小變化率權(quán)重因子為100,曲率減小絕對(duì)方向的變化率權(quán)重因子為0.01,最大誤差的絕對(duì)大小程度權(quán)重因子為1.0。對(duì)于零件形狀控制軌跡來(lái)說(shuō),控制點(diǎn)坐標(biāo)分別為(1.0,1.0)、(7.0,5.0)、(15.0,-3.0),控制點(diǎn)姿態(tài)矢量分別為(0.675 69,0.193 47,0.711 345)、(0.418 283,0.553 792,0.719 968)、(0.800 974,0.432 059,0.414 446),初始權(quán)重分別為100.0、200.0、400.0、200.0、100.0,曲線(xiàn)擬合最大誤差設(shè)定為0.7 mm,使用Q-Learning算法型學(xué)習(xí),結(jié)果如圖10、圖11所示。
圖10 局部軌跡平滑 Q-Learning學(xué)習(xí)曲線(xiàn) 圖11 Q-learning權(quán)重 學(xué)習(xí)曲線(xiàn)
通過(guò)Q-Learning學(xué)習(xí),最終選擇的權(quán)重分別為250.0、291.0、373.0、291.0、250.0,從而可以根據(jù)式(13)、式(14)及式(17)計(jì)算得到局部平滑的軌跡,如圖12所示。
圖12 局部控制軌跡與局部平滑軌跡曲線(xiàn)
圖12中NURBS曲線(xiàn)保證局部軌跡的G2連續(xù)性,且最終最大誤差為0.579 484 mm,小于誤差約束0.7 mm,故該局部平滑結(jié)果滿(mǎn)足要求。
在局部平滑軌跡曲線(xiàn)的基礎(chǔ)上,計(jì)算得到不同u節(jié)點(diǎn)處對(duì)應(yīng)的曲率,從而根據(jù)局部姿態(tài)方向角平滑可以計(jì)算得到不同曲率處的姿態(tài)方向角,如圖13所示。
圖13 局部角度平滑姿態(tài)方向角與曲率關(guān)系曲線(xiàn)
由圖13可知,隨著局部平滑軌跡曲率的增大,姿態(tài)方向角變化率會(huì)不斷的減小,滿(mǎn)足約束要求,姿態(tài)方向角變化率與曲率乘積得到的k值如圖14所示。
圖14 局部角度平滑結(jié)果曲線(xiàn)
將平滑后的姿態(tài)方向角代入式(37),解得刀具不同平滑軌跡點(diǎn)對(duì)應(yīng)的姿態(tài)方向矢量,如圖15所示。
(a) 刀具姿態(tài)方向角 (b) 刀具姿態(tài)矢量圖
綜合局部刀具平滑軌跡以及平滑姿態(tài)方向矢量,計(jì)算得到最終刀具局部平滑路徑圖,如圖16所示。
圖16 局部平滑路徑圖
全局平滑即為在生成的局部平滑路徑的基礎(chǔ)上,完成局部段平滑拼接。設(shè)定加工零件的全局軌跡控制點(diǎn)坐標(biāo)分別為(1.0,1.0)、(7.0,5.0)、(15.0,-3.0)、(25.0,-4.0)、(32.0,12.0)、(3.0,16.0)、(20.0,28.0)、(36.0,30.0)、(54.0,24.0),以及每個(gè)控制點(diǎn)對(duì)應(yīng)的姿態(tài)方向矢量為(0.179 106,0.480 213,0.858 671)、(0.343 522,0.408 874,0.845 467)、(0.273 394,0.447 006,0.851 729)、(0.261 872,0.897 082,0.355 904)、(0.298 597,0.065 994,0.952 095)、(0.096 124,0.103 671,0.989 956)、(0.686 579,0.238 301,0.686 893)、(0.798 398,0.337 603,0.498 583)、(0.202 378,0.615 025,0.762 094),依次對(duì)每一個(gè)局部軌跡段使用Q-Learning進(jìn)行權(quán)重學(xué)習(xí),各個(gè)局部段軌跡形狀學(xué)習(xí)過(guò)程如圖17所示。
(a) 局部段1學(xué)習(xí)曲線(xiàn)
(b) 局部段2學(xué)習(xí)曲線(xiàn)
(c) 局部段3學(xué)習(xí)曲線(xiàn)
(d) 局部段4學(xué)習(xí)曲線(xiàn)
(e) 局部段5學(xué)習(xí)曲線(xiàn)
(f) 局部段6學(xué)習(xí)曲線(xiàn)
(g) 局部段7學(xué)習(xí)曲線(xiàn)
在完成各局部段的軌跡學(xué)習(xí)之后,則可通過(guò)全局平滑算法實(shí)現(xiàn)各個(gè)隔離局部段之間的平滑連接,最終得到全局平滑軌跡如圖18所示。
圖18 全局軌跡平滑
由于在局部平滑中已經(jīng)考慮到連續(xù)性問(wèn)題、誤差約束以及邊界連續(xù)性問(wèn)題,故最終平滑曲線(xiàn)同樣滿(mǎn)足約束條件。
(1)綜合考慮局部軌跡平滑段之間的G2連續(xù)性要求、隔離約束、誤差約束,建立局部軌跡數(shù)學(xué)模型,設(shè)定減小曲率及軌跡誤差為目標(biāo)函數(shù),通過(guò)Q-Learning學(xué)習(xí)得到滿(mǎn)足目標(biāo)函數(shù)的最優(yōu)解。
(2)考慮局部平滑軌跡曲率與姿態(tài)方向變化率的關(guān)系,將三維方向向量轉(zhuǎn)化為一維共面向量夾角,建立數(shù)學(xué)模型,通過(guò)離散積分求解方程,從而反解計(jì)算得到姿態(tài)方向矢量。
(3)結(jié)合局部的隔離性約束,實(shí)現(xiàn)各局部段的平滑拼接,生成刀具加工零件的平滑路徑。