鐘澤杉,楊 敏,趙現朝+,岳 義,時 云,楊天豪
(1.上海交通大學 機械與動力工程學院,上海 200240;2.上海航天設備制造總廠有限公司,上海 200245)
五軸機床刀具位姿與各驅動軸位置具有非線性映射關系[1],在高速加工直線、圓、空間曲線等路徑的過程中,各驅動軸電機的速度、加速度、躍度等動力參數變化劇烈,容易超過伺服電機上限值,造成各驅動軸的運動精度、響應特性下降,影響零件加工的質量和機床的使用壽命。速度規(guī)劃算法綜合考慮弓高誤差、刀具末端進給的速度、加速度、躍度,以及各軸電機速度、加速度和躍度限制條件[2-3],動態(tài)調整進給速度,保證機床運動的平順性,提高加工精度與使用壽命。
速度規(guī)劃算法廣泛采用指令前瞻和S型加減速方法[4-6],這類方法計算量小、控制簡單,適合以刀具運動與驅動軸運動為線性映射的機床。王斌銳等[5]根據誤差要求給出最優(yōu)的兩段路徑銜接點處的速度約束,推導了非對稱S曲線加減速公式,并將其應用在自適應前瞻算法中;朱長峰[6]采用路徑前瞻回溯法進行連續(xù)微線段路徑規(guī)劃,然后用S型加減速調節(jié)進給速度。對于五軸機床,需考慮驅動軸的運動約束,第一類方法是改進S型加減速方法:采用路徑關鍵點檢測并考慮驅動的加速度及躍度約束限制,以減小曲線拐點處的加速度及躍度突變[7-9]。王田苗等[10]、李建偉等[11]、王允森等[12]依據弓高誤差確定曲線上各關鍵點的速度限制并實施S型加減速控制;徐榮珍[13]分析了三軸機床加工過程中切削力、慣性力、加工精度對各軸速度的約束限制條件,應用S型加減速控制策略進行速度調整。第二類方法是路徑或時間離散后進行掃描優(yōu)化:根據允許的路徑擬合誤差和驅動軸約束條件建立優(yōu)化模型,求解獲得滿足要求的加工軌跡[14-16]。黃昕等[17]考慮并建立了各軸的動力學約束條件,采用雙向掃描法確定兩個小段直線銜接點最佳速度,提高加工效率;Consolini[18]等采用“前后向掃描取小”的方法進行小車的速度規(guī)劃,并在理論上證明了該方法結果為時間最優(yōu)速度規(guī)劃;Beudaer等[19]將時間等距劃分,每次進給均按照最大躍度前進,然后驗證各軸約束條件,并采用“回退”策略解決無解問題。第三類方法是使用數值最優(yōu)化方法:將速度規(guī)劃問題看做一個最優(yōu)化問題,進行數學建模、簡化、求解[20-21]。Sencer等[21]將速度曲線表示為路徑的函數,根據各軸動力學約束條件建立了非線性最優(yōu)化模型; Erkorkmaz等[22]和Fan等[23]將軸空間的加速度、躍度約束線性化,采用線性規(guī)劃求解,以加快求解速度。
隨著數控技術的發(fā)展和越來越高的加工要求,機床高速加工是必然的發(fā)展趨勢,速度規(guī)劃將越來越重要。本文考慮空間基樣條(B-樣條)曲線加工的速度規(guī)劃,建立了速度規(guī)劃的時間最短目標函數,基于五軸機床運動學反解推導了各驅動軸的速度、加速度、躍度約束條件,應用序列二次型規(guī)劃(Sequential Quadratic Programming, SQP)方法求解非線性最優(yōu)問題?;谪澬姆ㄋ枷耄譃樗俣?、加速度、躍度約束三階段求解,減小約束維度以加快求解速度。然后利用一種典型的“正交XYZ平移軸+AC轉動軸”結構的五軸機床進行算法仿真驗證。仿真結果表明,該算法保證了刀具末端和各驅動軸的速度、加速度始終連續(xù)且不超過限制值,躍度不超過限制值,同時算法求解速度能夠保證加工連續(xù)性。加工一條S型路徑進行實驗測試,得到了末端速度、加速度、躍度以及驅動軸的最大約束載荷在路徑上的分布。本文所提算法借鑒了機器人控制領域的思想,在一定程度上二者具有通用性。實際應用中,機床的結構多種多樣,但在本文討論的速度規(guī)劃方面,它們的本質區(qū)別是機床的運動學模型不同,因此針對不同結構的機床,只需要修改算法中的運動學模型(速度規(guī)劃的最優(yōu)化模型不變),就能實現算法在不同結構機床上的應用。
在這種位姿坐標定義下,一條三次B樣條表示的待加工曲線路徑C,有m個控制點CP=[P1…Pi…Pm]T,其中Pi=[xi,yi,zi,φi,θi]T,i=1,2,…,m;有m+4個參數節(jié)點Cu=[u1,…,um+4]T,u1,…,um+4是遞增不減序列;給定樣條參數u∈[u1,um+4],由德布爾-考克斯遞推公式可計算路徑C上點的坐標:
(1)
根據定義,式(1)表達為:
(2)
其中Ni,3(u)為路徑B-樣條曲線第i個三次樣條基函數的值。
一般地,基函數Ni,ρ(u)表示B-樣條第i個ρ階基函數,ρ≥0;定義0階基函數在u處的值:
(3)
因此,ρ階基函數在u處的值可以通過下述遞推公式得到:
(4)
當ρ>0時,ρ階基函數的值是ρ-1階基函數值的線性組合。
若路徑C總長度為S,曲線上任意位置距離起點的路徑長度s∈[0,S]。速度規(guī)劃的目標是確定曲線上任意位置s處的進給速度v,即速度曲線V。設V的參數方程為:
(5)
(6)
根據定義,式(6)可表示為:
(7)
采用二維B-樣條表示速度曲線的優(yōu)點為:
(1)樣條曲線形狀可塑性強,形狀修改方式靈活,固定控制點橫坐標sj,調整縱坐標vj的值就能調整速度曲線輪廓。
(2)速度曲線光滑,沒有重合控制點的情況下具有C2連續(xù)性。速度曲線兩次求導后仍然是連續(xù)函數,這保證了插補過程中,加速度、躍度連續(xù),不會出現躍度突變的情況(首末端點需控制躍度不超過最大值)。
(3)參數方程(5)可表示為進給速度v關于曲線處長度s的函數v(s),根據德布爾—考克斯遞推公式能方便計算函數v(s)的任意階導數。
如圖2所示為一條長度S=10 mm路徑的速度曲線,速度樣條由11個控制點生成;在這種表示方法下,若要調整速度曲線,可固定橫坐標s1…s11不變,調整中間9個點的高度v2…v10(因為加工的起點和終點速度為0)。
本節(jié)給出路徑曲線長度的數值計算方法與誤差控制。
計算路徑時只考慮刀具中心的位置,即(x,y,z)。給定需要計算長度的參數區(qū)間[u1,u2]?[0,1],則該參數區(qū)間對應的曲線的長度L表示為:
(8)
式中{xu,yu,zu} 表示曲線位置坐標x,y,z關于u的導數,可以利用式(1)對u求導獲得。
理論上可以寫出L的解析表達式,但形式較復雜,因此本文采用高斯—勒讓德數值積分。積分公式的變量區(qū)間固定為[-1,1],函數求積分時需先做變量代換。例如函數f(x)定積分:
(9)
變量代換,令
(10)
得
(11)
則數值積分表示為:
tk∈{p1,…,pg}Ak∈{a1,…,ag}。
(12)
式中:g為節(jié)點數量,當g確定后,{p1,…,pg},{a1,…,ag}隨之確定且固定不變,可查數學手冊獲取,本文所用算法取g=8,即取8個積分節(jié)點,積分代數精度較高且積分穩(wěn)定;tk,Ak分別為節(jié)點值和積分權值。式(12)中將函數f(x)替換為L(u)就得到了曲線的數值積分長度。
數值積分存在精度誤差,但誤差可控。提高精度的方法是等距細分積分區(qū)間[u1,u2],分別計算子區(qū)間的積分,然后求和。細分段數可以采用常用的數值計算精度控制方法確定,即首先細分p段,獲得長度Lp;進一步細分q段,q>p,獲得長度Lq。設允許的長度誤差為ε,由于高斯積分方法穩(wěn)定、收斂,如果|Lq-Lp| 反過來,由弧長s轉化為曲線參數u采用牛頓迭代法,按照上述的曲線長度計算方法同樣能夠保證計算精度在允許范圍內。 高速加工中,高效率是指刀具進給速度盡量達到指令速度Vtarget來提高加工效率。用加工時間來衡量加工效率,建立時間最短的優(yōu)化目標函數。 對于加工路徑C的速度輪廓P,加工時間Γ表示為: (13) 該問題的核心在于確定一條合適的速度曲線v(s),在滿足相應的約束條件下使加工時間最短,數學上為泛函極值問題,即: (14) (15) (16) (17) (1)高斯—勒讓德積分公式的代數精度與階數成正比,階數越高代數精度越高,但如果階數過高會導致積分不穩(wěn)定甚至不收斂,因此采用7階公式。 (2)目標函數在優(yōu)化過程中本質上是一種優(yōu)化變量的評價函數(約束函數本質上也是評價函數),如果優(yōu)化變量使目標函數越小,則認為優(yōu)化變量的取值就越“好”。另外,本文希望計算目標函數時的采樣點越少越好,以減少計算量,因此目標函數在具備正確評價優(yōu)化變量的能力基礎上,應當使分段數盡量少;考慮到路徑曲線控制點個數體現了曲線可能出現的拐點數量,因此控制點個數乘以系數2作為分段積分的段數能夠使目標函數具備良好的評價能力,且不會使采樣點過多。 高速高精度加工的速度規(guī)劃要考慮驅動軸空間的性能約束,使各驅動軸速度、加速度、躍度小于各軸限定值,在五軸混聯加工機床中,這一點尤為重要。其中速度約束考慮曲線加工的弓高誤差、用戶設置的目標速度;加速度約束考慮刀具進給方向加速度限制和各驅動軸電機的加速度限制;躍度約束考慮刀具進給方向躍度限制和各驅動軸電機躍度限制。 五軸機床5個驅動軸關節(jié)空間、關節(jié)速度空間、關節(jié)加速度空間、關節(jié)躍度空間分別定義為: (18) v(s)≥0。 (19) d=(1,…,L)。 (20) (21) (22) (23) d=(1,…,L)。 (24) (25) (26) (27) 式中: (28) (29) (30) 一般而言,用戶也會設置刀具進給的加速度限制Tacc和加加速度限制Tjerk,則 (31) 式(17)、式(19)、式(20)、式(24)、式(27)和式(31)組成多約束下非線性最優(yōu)化模型,令: 有: vj≥0; t=1,2,3,4,5; d=1,…,L。 (32) 分階段優(yōu)化基于“貪心法”思想,確保最終優(yōu)化結果接近最優(yōu)解。首先,根據刀具進給的指令速度、加速度限制、加加速度限制,按照s型曲線公式確定初始速度曲線V0。顯然,若V0滿足所有約束,V0即為最優(yōu)解。在V0基礎上,分3個階段調整,將約束條件分為速度約束CV,加速度約束CA,躍度約束CJ,第一階段求解CV約束下的最優(yōu)解V1,不考慮CA、CJ,V1如果滿足CA、CJ,則V1已經是最優(yōu)解。第二階段在V1基礎上求解CA約束下的最優(yōu)解V2,這時為了保證CV約束,約束條件增加上界約束,即V2≤V1(V2向量元素分別小于V1)。同理,第三階段在V2基礎上求解CJ約束下的最優(yōu)解V3,為了保證CV、CA不超出約束,更新上界約束V3≤V2;僅更新上界約束還不足以保證加速度約束不超過限制,可以在CJ約束下優(yōu)化完成后,返回第二階段檢測約束情況,考慮再次進行CA約束下的優(yōu)化。算法流程如圖3所示。 現采用一種典型結構的五軸機床進行算法仿真試驗,其基本結構和軸空間坐標定義如圖4所示。 若已知刀具位姿[x,y,z,φ,θ]T,求其運動學反解表示為: X=xsinθ-ycosθ, Y=xcosφcosθ+ycosφsinθ-zsinφ, Z=xsinφcosθ+ysinφsinθ+zcosφ, A=φ, (33) 根據運動學反解,結合給定的路徑C、優(yōu)化變量取值點sj(j=1…n)、目標函數采樣點位置srl(r=1…N,l=0…7)、約束條件采樣點位置sd(d=1…L),可以確定式(32)表示的非線性最優(yōu)化模型。 給定加工路徑如圖5所示,圖5a中實線是待加工路徑,加工過程經過點的先后順序為ABCDEFGH。待加工曲線跨越3個區(qū)域:區(qū)域1為傾斜45度的平面,區(qū)域2為圓柱面,區(qū)域3為傾斜45度的平面。實際上,路徑是零件底部平面上的直線、圓弧草圖投影到這些面上形成的復雜圖形。圖5b包含了刀具姿態(tài)信息,傾斜平面上路徑的刀具姿態(tài)向量(刀具中心指向刀柄中心的向量)平行于面的法向量;圓柱面上的路徑,在點B,C,D,E,F,G附近對刀具姿態(tài)角θ做了平滑處理,以防止在經過這些點時反解的角度發(fā)生突變,其余部分刀具姿態(tài)向量平行于該點處的曲面法向量。 速度規(guī)劃的驅動軸約束條件和沿路徑切向進給的約束條件如表1、表2所示。其中X,Y,Z,A,C代表5個驅動軸,Tvel,Tacc,Tjerk分別為路徑切向進給的目標速度、最大加速度和最大加加速度。 表1 驅動軸約束條件 表2 切向進給約束條件 分階段的速度規(guī)劃過程如圖6所示。 圖6a是根據刀具末端的目標速度、加速度、躍度條件,結合S型加減速算法給出的初始速度曲線。圖6b對速度曲線進行速度約束檢測,發(fā)現有超出速度約束的點并標記為黑色三角形,然后進行速度約束下優(yōu)化后獲得圖6c,圖6d是再次檢測速度約束條件的結果,已經沒有超出速度約束的點,然后進行加速度約束檢測,得到圖6e,其中加速度約束超出點標記為黑色矩形,在此基礎上進行加速度優(yōu)化得到圖6f,再次檢測加速度約束條件得到結果圖6g,已經沒有超出加速約束的點。圖6h檢測躍度約束,超出約束標記為黑色“*”形,進行躍度約束下的速度規(guī)劃得到圖6i,再次檢測躍度約束結果為圖6j,已經沒有躍度超出的點。最后,檢測躍度約束下規(guī)劃結果的加速度約束滿足情況,結果為圖6k,發(fā)現滿足該結果也滿足加速度約束條件,可以輸出速度規(guī)劃最后結果。 將速度規(guī)劃結果進行插補,得到刀具中心關于時間的運動曲線以及各軸關于時間的運動曲線,如圖7所示。 由圖7可以看出: (1)進給速度在該路徑上可以達到目標速度,但不能維持。一方面因為曲線拐角處由于弓高誤差要求,需減小進給速度來保證精度;另一方面因為五軸加工存在刀具姿態(tài)調整過程,該過程中切向進給速度與各軸速度為非線性映射關系,很容易超出電機的最大速度限制,此現象最明顯的是第4~12 s和第17~24 s區(qū)間,進給速度很小,但軸的速度已經接近于限制值。 (2)切向加速和加加速度在整個過程中沒有達到最大限制值,留有余量。因此以表1和表2的參數為約束條件加工上述路徑,起作用的限制條件是各驅動軸的運動性能限制。 (3)驅動軸的加速度和加加速度在少數點處仍會超出限制。最優(yōu)化建模與求解都是直接針對約束采樣點進行優(yōu)化,因此采樣點處不會超過限制條件;約束點之間的部分由速度曲線連續(xù)性保證,有可能超出約束限制,但超出約束的點很少,且超出幅度不大。 (4)形狀相同的路徑具有不同的進給速度特征。上述路徑中ABC段與FGH段路徑形狀基本相同,但優(yōu)化結果中兩段路徑對應的速度曲線形狀完全不同。五軸機床在不同位置、姿態(tài)下具有不同的運動學特征,上述兩段路徑所處位置不同,因此速度優(yōu)化結果不同;同樣地,零件的裝夾位置也會影響速度規(guī)劃結果。 算法規(guī)劃各函數執(zhí)行時間通過MATLAB探查器給出,如表3所示。 表3 MATLAB中優(yōu)化建模及求解函數調用時間 函數aCalNidNiSi計算了目標函數采樣點、優(yōu)化變量點、約束點的速度曲線樣條參數;GetFixParas計算了1 420個約束點處約束方程中的固定系數1γtd,2γtd,3γtd;StepSQP是分階段優(yōu)化函數。建模、求解過程耗時70.578 s,PlotV,PlotCons是中間曲線作圖函數,被StepSQP調用,扣除后實際建模優(yōu)化耗時64.316 s,小于曲線加工總時間86.872 s,滿足加工過程連續(xù)的要求。如果考慮MATLAB代碼執(zhí)行效率,用C++實現上述算法優(yōu)化耗時將更低。 在開放式數控系統中編寫速度規(guī)劃算法,進行速度規(guī)劃加工實驗。數控系統硬件系統基于EtherCat總線搭建實時通信網絡,主站采用倍福工控機,從站為科爾摩根伺服驅動器;軟件系統基于TwinCat3.0運動控制平臺,將速度規(guī)劃算法編寫為C++程序模塊,系統通過函數接口實現對算法模塊的調用。如圖8a所示為機床的坐標系定義,加工路徑如圖8b所示,加工區(qū)域是零件傾斜側壁的根部,該路徑五軸聯動才能加工,零件如圖8c所示。 系統控制周期為1 ms,即每隔1 ms控制器計算每個軸的位置,然后通過總線發(fā)送給驅動器執(zhí)行位置指令,同時系統也能采集5個軸的反饋位置,根據正向運動學可以獲得刀具姿態(tài)。 通過差分方法獲得各軸的速度、加速度、躍度以及刀具中心進給速度、加速度、躍度,如圖9所示,其中圖9a~圖9c顯示了加工路徑上切向進給的速度、加速度、躍度分布;圖9d圖顯示了加工過程,各驅動軸的“最大載荷”分布。路徑上一個點的“最大載荷”是指該點處,各軸的實際速度與速度限制值的百分比、實際加速度與加速速度限制值的百分比、實際躍度與躍度限制值的百分比中,取最大的比值?!白畲筝d荷”能夠反映軸的約束條件滿足情況,即理想情況是所有點的“最大載荷”不超過1。由圖9可以看出,切向進給的速度在曲線平直區(qū)域能達到目標速度,在拐角處會減速以滿足設置的約束條件;切向加速度、躍度均沒有超過限制值;軸的約束中,少部分點超出了其限制值,但超出幅度小于20%,加工過程平滑,無沖擊。 速度規(guī)劃是數控機床高速高精度加工的重要保證,由于刀具位姿與軸空間的非線性映射,在高速運動中刀具末端的平滑特性并不能保證各驅動軸的運動也具有平滑特性,速度規(guī)劃需考慮軸空間的性能約束。本文介紹了一種基于非線性最優(yōu)化的速度規(guī)劃方法,該方法以加工時間最短為目標建立了最優(yōu)化模型的目標函數,考慮了各驅動軸的速度、加速度、躍度限制條件,并推導了最優(yōu)化模型的非線性約束條件。研究了SQP方法并應用多階段優(yōu)化策略求解非線性最優(yōu)化問題。為了盡量提高計算效率,采取高斯—勒讓德積分公式減少目標函數的采樣點個數;采用貪心法原理,將優(yōu)化分為3個階段進行減少求解時約束的維度,這樣有利于算法收斂,提高求解效率。仿真試驗采用典型的XYZ-AC結構的五軸機床,在柱面上加工刀具姿態(tài)變化的空間曲線,仿真結果表明算法保證了加工過程中刀具進給和各驅動軸的運動滿足約束條件,同時計算速度滿足加工連續(xù)性要求;在開發(fā)式數控平臺上進行了算法的實驗驗證,經算法優(yōu)化后,控制器發(fā)送給驅動器的指令位置滿足各項約束條件,各軸運動基本滿足限制條件,加工過程平滑、無沖擊。下一步,將拓展算法的應用領域,用于五軸聯動的工業(yè)機械臂速度規(guī)劃。2 效率最優(yōu)目標函數
2.1 優(yōu)化變量
2.2 目標函數計算
3 驅動軸性能約束
3.1 速度、加速度、躍度約束公式
4 多階段優(yōu)化的求解方法
5 速度規(guī)劃仿真與實驗
5 結束語