王建新,鄭 浩
(1.沈陽(yáng)工業(yè)大學(xué)人工智能學(xué)院,沈陽(yáng)110870;2.沈陽(yáng)儀表科學(xué)研究院有限公司,沈陽(yáng)110043)
劃片機(jī)作為電子元器件封裝的關(guān)鍵設(shè)備,其系統(tǒng)穩(wěn)定性、可靠性和加工精度對(duì)劃切質(zhì)量起到關(guān)鍵的作用。然而因種種現(xiàn)實(shí)因素的存在,在劃片機(jī)加工過(guò)程中會(huì)產(chǎn)生許多不同種類的誤差,比如在系統(tǒng)運(yùn)動(dòng)過(guò)程中由溫度而造成的熱變形誤差、劃片機(jī)床自身幾何誤差、動(dòng)力學(xué)誤差等等。這就對(duì)劃片機(jī)的高精度運(yùn)動(dòng)誤差補(bǔ)償提出了更高要求。傳統(tǒng)的誤差補(bǔ)償方法主要是采用機(jī)理建?;蛘弑孀R(shí)建模,擬合出一條離線線性曲線,但此法可能會(huì)造成較大的擬合誤差,可實(shí)現(xiàn)性差。在此問(wèn)題上,隨后出現(xiàn)了采用數(shù)據(jù)驅(qū)動(dòng)[1]中迭代學(xué)習(xí)控制的方法,來(lái)實(shí)現(xiàn)劃片機(jī)運(yùn)動(dòng)誤差補(bǔ)償。
1984 年,日本學(xué)者有本卓[2]首次提出了迭代學(xué)習(xí)算法,之后便得到廣泛應(yīng)用。由于迭代學(xué)習(xí)控制算法無(wú)須建立精確的被控對(duì)象物理模型,僅僅通過(guò)輸入輸出數(shù)據(jù)就可完成控制系統(tǒng)的設(shè)計(jì),解決了模型建模困難的問(wèn)題。張潔潔[3]采用基于數(shù)據(jù)驅(qū)動(dòng)的無(wú)模型自適應(yīng)迭代誤差補(bǔ)償方法嘗試解決傳統(tǒng)問(wèn)題的難點(diǎn),雖然誤差補(bǔ)償?shù)木扔兴嵘请S著迭代次數(shù)的增加無(wú)法保證系統(tǒng)收斂。孟婷婷[4]通過(guò)設(shè)計(jì)迭代學(xué)習(xí)控制器提高了系統(tǒng)的收斂性,但只能解決單軸的跟蹤誤差,無(wú)法達(dá)到多軸的運(yùn)動(dòng)控制誤差補(bǔ)償。梁建智[5]通過(guò)迭代學(xué)習(xí)算法將數(shù)控機(jī)床加工動(dòng)力學(xué)過(guò)程轉(zhuǎn)化為迭代數(shù)據(jù)模型,有效提升了加工精度。
在處理系統(tǒng)運(yùn)動(dòng)控制任務(wù)時(shí),往往要通過(guò)被控對(duì)象的實(shí)際運(yùn)行軌跡與期望軌跡之間的差值進(jìn)行調(diào)整,迭代學(xué)習(xí)正是利用這一原理,依靠前一次或前幾次操作測(cè)得的誤差信息來(lái)修正控制輸入,通過(guò)不斷重復(fù),使得該重復(fù)任務(wù)在下一次操作時(shí)更加準(zhǔn)確,最終達(dá)到整個(gè)時(shí)間區(qū)間上輸出軌跡與期望軌跡的重合。
迭代學(xué)習(xí)控制[6]通過(guò)函數(shù)迭代方法來(lái)實(shí)現(xiàn),即構(gòu)造用于修正控制的學(xué)習(xí)律,使得它產(chǎn)生一個(gè)函數(shù)序列{uk(t)},收斂于u(t)。迭代學(xué)習(xí)律的典型形式為:
其中k=1,2,...N,代表周期數(shù);uk+1(t)代表第k+1 次操作時(shí)的操作輸入;uk(t)表示當(dāng)前操作使用的輸入,ek(t)=yd(t)-yp(t),表示當(dāng)前操作誤差;U(uk(t),t)表示當(dāng)前所得到的誤差學(xué)習(xí)方式。學(xué)習(xí)律常用表現(xiàn)形式有如下兩種:
D 型學(xué)習(xí)律:
P 型學(xué)習(xí)律:
其中, ek(t)表示誤差,φ 表示定常增益矩陣。
為保證系統(tǒng)訓(xùn)練的穩(wěn)定性,迭代學(xué)習(xí)具有相同的初始狀態(tài),常見的初始條件有:
①迭代初態(tài)與期望初態(tài)一致,即xk(0)=xd(0)(,k=1,2,...),稱作初始狀態(tài)嚴(yán)格重復(fù);
②迭代初始狀態(tài)固定;
神經(jīng)網(wǎng)絡(luò)是由多個(gè)神經(jīng)元按照一定規(guī)則連接起來(lái)所構(gòu)成,主要包括輸入層、隱藏層、輸出層,結(jié)構(gòu)圖如圖1 所示。其中,輸入層負(fù)責(zé)接收輸入數(shù)據(jù);輸出層負(fù)責(zé)獲取神經(jīng)網(wǎng)絡(luò)輸出數(shù)據(jù);隱藏層位于輸入層和輸出層之間,外部不可見。神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)類型有很多,比如:卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)等。此處選用BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。
圖1 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
本設(shè)計(jì)中劃片機(jī)系統(tǒng)的控制器采用三環(huán)控制結(jié)構(gòu),分別為電流環(huán)、速度環(huán)、位置環(huán)。三環(huán)控制結(jié)構(gòu)框圖如圖2 所示[7]。I(s)、V(s)、P(s)分別表示電流環(huán)控制器、速度環(huán)控制器、位置環(huán)控制器。E(s)、M(s)分別代表電力系統(tǒng)和機(jī)械系統(tǒng)。
圖2 劃片機(jī)系統(tǒng)三環(huán)結(jié)構(gòu)圖
此處所采用的迭代學(xué)習(xí)控制算法不需要建立精確模型,僅需系統(tǒng)運(yùn)動(dòng)過(guò)程中產(chǎn)生的輸入輸出數(shù)據(jù)不斷迭代即可達(dá)到誤差補(bǔ)償,所以僅僅需要位置環(huán),將速度環(huán)和電流環(huán)以及被控對(duì)象整體封裝成一個(gè)新的被控對(duì)象。通過(guò)對(duì)位置環(huán)參數(shù)的調(diào)整,形成一個(gè)新的控制系統(tǒng)。
劃片機(jī)運(yùn)動(dòng)控制系統(tǒng)[8]采用迭代學(xué)習(xí)控制算法的目標(biāo)是能夠精確地跟蹤參考軌跡從而達(dá)到高精度定位。跟蹤誤差ep(k)=yd(k)-yp(k)盡可能接近0(其中yd(k)表示期望軌跡,yp(k)表示實(shí)際軌跡)。此處的算法是通過(guò)系統(tǒng)輸入輸出數(shù)據(jù)實(shí)現(xiàn)的,所以設(shè)計(jì)一個(gè)誤差補(bǔ)償環(huán)路,不需要對(duì)誤差進(jìn)行建模,從系統(tǒng)的輸出位置得到實(shí)際的運(yùn)行軌跡。誤差補(bǔ)償[9]迭代控制過(guò)程如圖3 所示??刂坡山Y(jié)構(gòu)如圖4 所示。
圖3 誤差補(bǔ)償?shù)刂瓶驁D
圖4 控制律結(jié)構(gòu)框圖
圖4 中,up(k)=up1(k)+up2(k)。其中up1(k)表示迭代學(xué)習(xí)控制器,它的表現(xiàn)形式為:
式中,qp(k)∈{0,1},當(dāng)qp(k)=0 表示數(shù)據(jù)缺失;qp(k)=1則表示沒有缺失。kp為比例因子,kd表示微分因子。當(dāng)kd=0,為P 型控制律;當(dāng)kp=0,為D 型控制律;當(dāng)kp≠0 且kd≠0,則為PD 型控制律。
up2(k)為迭代神經(jīng)網(wǎng)絡(luò)控制器,它的表現(xiàn)形式為:
式中,f 表示非線性函數(shù);ψp-1(k)表示p-1 時(shí)刻的向量,它的形式?jīng)Q定著控制器的結(jié)構(gòu),規(guī)則如下:
P 型控制律:
D 型控制律:
PD 型控制律:
控制系統(tǒng)的目的是經(jīng)過(guò)多次重復(fù)試驗(yàn)找到一個(gè)非線性函數(shù)f,實(shí)現(xiàn)盡可能最小的軌跡誤差[10]。為降低建模誤差對(duì)參數(shù)優(yōu)化過(guò)程的影響,同時(shí)提高算法的跟蹤性能,在此選擇傳統(tǒng)PD 型控制律與神經(jīng)網(wǎng)絡(luò)結(jié)合設(shè)計(jì)PD 神經(jīng)網(wǎng)絡(luò)迭代控制器。神經(jīng)網(wǎng)絡(luò)有很好的泛化性,能夠提高系統(tǒng)的控制性能。采用的神經(jīng)網(wǎng)絡(luò)為全連接層,形式為:
式中,W1、W2、b1、b2分別為輸入層到隱藏層、隱藏層到輸出層的權(quán)重和偏差。σ 為隱藏層和輸出層的激活函數(shù)。公式(9)主要依賴迭代控制器Ψp-1(k)向量以前的重復(fù)實(shí)驗(yàn)所決定。
為驗(yàn)證劃片機(jī)迭代控制系統(tǒng)有效性,給定劃片機(jī)運(yùn)動(dòng)控制系統(tǒng)跟蹤期望軌跡為yd(t)=sin(t)。劃片機(jī)位置伺服系統(tǒng)采樣步長(zhǎng)為0.01,仿真時(shí)間為10 s,迭代次數(shù)為30 次。
首先對(duì)簡(jiǎn)單的P 型控制律迭代控制進(jìn)行仿真分析,仿真結(jié)果如圖5 所示。
圖5 P 型控制律迭代控制仿真結(jié)果
由圖5(a)可見,隨著迭代次數(shù)的增加,實(shí)際軌跡逐漸逼近期望軌跡;從圖5(b)可以看出隨著運(yùn)行次數(shù)的增加,系統(tǒng)的跟蹤誤差越來(lái)越小,并趨于穩(wěn)定。
然后對(duì)PD 型控制律迭代控制進(jìn)行仿真分析,結(jié)果如圖6 所示。
圖6 PD 型控制律迭代控制仿真結(jié)果
從圖6(a)中可看出,隨著迭代次數(shù)增加,實(shí)際軌跡已經(jīng)跟蹤上期望軌跡,但是收斂速度不夠快;從圖6(b)可見控制系統(tǒng)運(yùn)動(dòng)的跟蹤誤差已經(jīng)很小了。
最后對(duì)迭代神經(jīng)網(wǎng)絡(luò)控制律進(jìn)行仿真分析,仿真結(jié)果如圖7 所示。從圖7(a)可以看出實(shí)際軌跡很好地跟蹤上了期望軌跡;從圖7(b)可見,跟蹤誤差隨著迭代次數(shù)增加逐漸變小,并且收斂速度變快。
圖7 神經(jīng)網(wǎng)絡(luò)控制律迭代控制仿真結(jié)果
從仿真結(jié)果可見,隨著迭代次數(shù)的變化,在跟蹤誤差方面,迭代學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)控制方法明顯優(yōu)于P型、PD 型迭代學(xué)習(xí)控制法。此外,迭代學(xué)習(xí)控制神經(jīng)網(wǎng)絡(luò)的權(quán)重和偏差增益是迭代式變化,而P 型和PD 型迭代學(xué)習(xí)控制的控制增益是固定不變的,就決定了迭代學(xué)習(xí)控制神經(jīng)網(wǎng)絡(luò)每次迭代能尋找到更優(yōu)化的控制,具有更快的收斂性,控制精度也得到提高,有效實(shí)現(xiàn)了劃片機(jī)運(yùn)動(dòng)軸的誤差補(bǔ)償。
在對(duì)劃片機(jī)運(yùn)動(dòng)控制伺服系統(tǒng)分析的基礎(chǔ)之上,利用迭代學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)算法完成了劃片機(jī)誤差補(bǔ)償控制系統(tǒng)的設(shè)計(jì)。分別對(duì)于P 型、PD 型控制律以及神經(jīng)網(wǎng)絡(luò)迭代控制進(jìn)行仿真分析,驗(yàn)證了采用迭代學(xué)習(xí)控制神經(jīng)網(wǎng)絡(luò)方法能夠有效的提高控制精度,該設(shè)計(jì)對(duì)系統(tǒng)的各軸運(yùn)動(dòng)控制都具有同樣適用性,在實(shí)際使用中能夠有效提高工作效率。