黎耀東,任志剛,吳宗澤
(廣東工業(yè)大學(xué) 自動(dòng)化學(xué)院,廣東 廣州 510006)
塑料制品因其良好的可塑性、化學(xué)穩(wěn)定性以及質(zhì)量輕等特點(diǎn)被廣泛應(yīng)用于航空航天、電力電子以及汽車制造等各個(gè)領(lǐng)域[1]。而注塑成型作為注塑件生產(chǎn)過程中的重要一環(huán),將直接影響注塑件的成品質(zhì)量。注塑成型是一種間歇性的生產(chǎn)過程工藝,一般包括合模、注射、保壓、冷卻以及脫模等5個(gè)階段。首先,顆粒狀或粉末狀樹脂材料經(jīng)由料斗倒入料筒體中。塑料顆粒在螺桿旋轉(zhuǎn)摩擦以及筒壁加熱帶的作用下被加熱至熔融狀態(tài),并填充滿螺桿前的物料空腔。然后在伺服電機(jī)的驅(qū)動(dòng)作用下,注射座前移至指定位置,注塑模具在機(jī)械結(jié)構(gòu)的作用下夾緊。螺桿在伺服閥的驅(qū)動(dòng)作用下沿筒腔向前做往復(fù)運(yùn)動(dòng),迫使熔融樹脂以較快的速度注入封閉模具并保持穩(wěn)定的注射壓力。隨后,模腔內(nèi)壓力被進(jìn)一步升高,更多的熔料被壓入模具中并填充因熔融塑料凝固收縮而形成的空腔。在經(jīng)過一定時(shí)間冷卻后,模具打開并將定型的注塑件彈出。在不同的注塑成型階段,注射速度、筒腔溫度、模具壓力等各項(xiàng)參數(shù)有著不同的要求,各項(xiàng)參數(shù)的變化都會不同程度地影響產(chǎn)品的最終質(zhì)量[2-3]。然而受限于注塑成型技術(shù)底蘊(yùn)不足,國內(nèi)現(xiàn)有的注塑成型控制技術(shù)已越來越難以滿足當(dāng)下高效化、精確化、響應(yīng)快、高穩(wěn)定性的生產(chǎn)需求,并且與國際先進(jìn)水平仍存在一定的技術(shù)差距。
近年來,國內(nèi)外研究團(tuán)隊(duì)圍繞注塑成型過程控制策略展開相關(guān)研究,并取得了大量研究成果。例如,文獻(xiàn)[4]提出一種基于迭代學(xué)習(xí)控制(Iterative Learning Control, ILC)的注塑機(jī)注射速度控制方法。文獻(xiàn)[5]將PI(Proportion Integration)控制與ILC控制相結(jié)合,通過復(fù)合控制結(jié)構(gòu)提高控制性能。文獻(xiàn)[6]提出一種基于離散預(yù)期學(xué)習(xí)控制的注塑控制策略,該策略擁有較好的抗干擾能力。文獻(xiàn)[7]采用模型預(yù)測控制(Model Predictive Control, MPC)策略,考慮樹脂材料PVT(Pressure Volume Temperature)特性,實(shí)現(xiàn)對注塑機(jī)模腔壓力的自適應(yīng)控制。文獻(xiàn)[8]結(jié)合循環(huán)交換領(lǐng)域人工蜂群算法與PID(Proportion Integration Differentiation)控制實(shí)現(xiàn)對料筒溫度的快速、精確控制。模型預(yù)測控制作為一種考慮約束的有限時(shí)域最優(yōu)控制方法,能夠快速地對跟蹤軌跡的變化做出響應(yīng),在解決注塑成型過程控制等復(fù)雜問題時(shí)更具優(yōu)勢[9]。而隨著模型復(fù)雜度的提升,MPC控制器往往需要消耗更長的計(jì)算時(shí)間,這使得注塑控制過程的實(shí)時(shí)性要求越來越難以得到保障。針對這一問題,不少學(xué)者展開了相關(guān)研究,常見的處理方式是將MPC轉(zhuǎn)化為顯式模型預(yù)測控制以降低計(jì)算的復(fù)雜度,通過離線計(jì)算、在線查詢的方式替換原有的在線求解過程。然而此類方法存在一定的局限性,一般僅適用于處理較小規(guī)模的控制問題[10-12]。
深度學(xué)習(xí)方法擁有較強(qiáng)的辨識與學(xué)習(xí)能力,目前被廣泛應(yīng)用于目標(biāo)識別、文本翻譯以及路徑規(guī)劃等研究領(lǐng)域[13-15]。而現(xiàn)有研究表明,將深度學(xué)習(xí)與控制理論相結(jié)合的策略能夠較好地簡化復(fù)雜控制過程[16-17]。文獻(xiàn)[18]提出一種通過深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network, DNN)學(xué)習(xí)實(shí)時(shí)狀態(tài)和最優(yōu)控制輸入之間變化關(guān)系的策略,實(shí)現(xiàn)小行星著陸器的實(shí)時(shí)最優(yōu)控制。文獻(xiàn)[19]將DNN與預(yù)測控制相結(jié)合,實(shí)現(xiàn)對諧振功率轉(zhuǎn)換器實(shí)時(shí)預(yù)測控制。文獻(xiàn)[20]設(shè)計(jì)并訓(xùn)練深度信念網(wǎng)絡(luò),實(shí)現(xiàn)對直流電機(jī)的在線PID控制。
本文組織結(jié)構(gòu)如下:第1節(jié)介紹了注塑機(jī)注射過程速度模型的建模過程以及約束條件;第2節(jié)介紹了本文所使用的方法,包括MPC控制器的設(shè)計(jì)、數(shù)據(jù)集采集以及DNN控制器的設(shè)計(jì)與優(yōu)化;第3節(jié)通過仿真實(shí)驗(yàn)驗(yàn)證了該方法的有效性,并對仿真結(jié)果進(jìn)行比較;第4節(jié)對本文所提出的基于DNN的注塑機(jī)過程預(yù)測控制方法進(jìn)行了總結(jié)。
注塑機(jī)注塑成型系統(tǒng)由多個(gè)復(fù)雜模塊共同組成,包括伺服閥、注射液壓缸、螺桿、控制器以及電子傳感器等。簡化注塑機(jī)注射結(jié)構(gòu)如圖1所示。在注塑機(jī)運(yùn)行過程中,位移、速度等傳感器不斷收集系統(tǒng)各項(xiàng)狀態(tài)數(shù)據(jù),并發(fā)送至注塑機(jī)控制器模塊。控制器根據(jù)實(shí)時(shí)的狀態(tài)數(shù)據(jù),調(diào)整伺服閥的輸入電壓大小并調(diào)節(jié)伺服閥的開度,實(shí)現(xiàn)對注塑機(jī)注射速度的控制。
圖1 簡化注塑機(jī)結(jié)構(gòu)Fig.1 Simplified injection molding machine structure
注塑機(jī)注射速度控制過程是一個(gè)間歇性的控制過程。在不同的控制階段,注射速度的取值需跟隨參考軌跡的變化而發(fā)生改變,這對控制器的控制精度提出了較高要求。本文使用式(1)所示四階注塑機(jī)線性模型[21],該傳遞函數(shù)為注射速度與伺服閥開度大小之比。
傳統(tǒng)MPC控制器可以通過配置參考注射速度軌跡,結(jié)合注射速度數(shù)學(xué)模型實(shí)現(xiàn)對注射速度的精確預(yù)測控制,而預(yù)測控制較為復(fù)雜的計(jì)算過程使得控制的實(shí)時(shí)性難以保障。因此,本文提出結(jié)合DNN與MPC的學(xué)習(xí)預(yù)測控制方法以實(shí)現(xiàn)對注塑機(jī)注射速度的快速精準(zhǔn)跟蹤控制。
圖2 MPC控制結(jié)構(gòu)框圖Fig.2 MPC structure diagram
使用QP求解器對問題(7)進(jìn)行求解,得到當(dāng)前采樣時(shí)刻的有限時(shí)域最優(yōu)控制序列。在滾動(dòng)優(yōu)化過程中,MPC控制器在各采樣時(shí)刻對問題(7)進(jìn)行重新計(jì)算,并將序列首項(xiàng)作為控制輸入作用于被控系統(tǒng)。
DNN的反向傳播是一種有監(jiān)督的訓(xùn)練方法,需要使用大量運(yùn)行數(shù)據(jù)用于學(xué)習(xí)。為更好地訓(xùn)練DNN控制器,讓網(wǎng)絡(luò)充分地收斂并實(shí)現(xiàn)對注射速度的快速預(yù)測控制,所采集的仿真運(yùn)行數(shù)據(jù)應(yīng)盡可能覆蓋各種不同的情況。在實(shí)際運(yùn)行過程中,受限于生產(chǎn)任務(wù)不同以及注塑機(jī)內(nèi)外部環(huán)境的干擾,注射機(jī)的初始條件與注射速度的參考軌跡往往并不固定,需要根據(jù)不同任務(wù)進(jìn)行調(diào)整以滿足不同生產(chǎn)需求。本文首先通過收集注塑模型的開環(huán)運(yùn)行數(shù)據(jù),獲取系統(tǒng)狀態(tài)變量的變化范圍。在數(shù)據(jù)采集過程中,隨機(jī)生成注塑機(jī)系統(tǒng)的初始狀態(tài),設(shè)置不同的注射速度參考軌跡,采集控制器輸出與系統(tǒng)狀態(tài)數(shù)據(jù),最后將采集的數(shù)據(jù)整理、存儲為預(yù)測控制數(shù)據(jù)集,用以訓(xùn)練DNN控制器。
本文共生成1 000組注塑機(jī)仿真運(yùn)行軌跡,每組軌跡包含200個(gè)采樣時(shí)刻在內(nèi)的預(yù)測控制輸入、系統(tǒng)狀態(tài)變量以及參考注射速度等仿真運(yùn)行數(shù)據(jù),共計(jì)200 000組運(yùn)行數(shù)據(jù)。80%的數(shù)據(jù)作為DNN控制器的訓(xùn)練集,20%的數(shù)據(jù)作為DNN的驗(yàn)證集。
基于DNN的MPC控制過程流程圖如圖3所示,控制流程主要可分為2個(gè)階段。首先是控制方法的實(shí)現(xiàn)與DNN的優(yōu)化訓(xùn)練。在離散數(shù)據(jù)集的基礎(chǔ)上對DNN控制器進(jìn)行訓(xùn)練與優(yōu)化。通過這一過程,使DNN能夠映射系統(tǒng)狀態(tài)輸入—預(yù)測輸出的內(nèi)部聯(lián)系。然后通過在線實(shí)時(shí)控制,驗(yàn)證并比較不同控制器的控制效果。注塑動(dòng)態(tài)系統(tǒng)深度神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)如圖4所示,DNN由多層神經(jīng)網(wǎng)絡(luò)相互連接構(gòu)成,能夠表示由輸入到輸出之間復(fù)雜的內(nèi)部映射關(guān)系,并根據(jù)注塑機(jī)系統(tǒng)狀態(tài)輸出當(dāng)前有限時(shí)間域內(nèi)的最優(yōu)控制量。
圖3 基于DNN的MPC控制流程圖Fig.3 DNN-based MPC control flowchart
圖4 深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.4 Structure diagram of deep neural network
DNN主要由輸入層、輸出層以及隱藏層3個(gè)部分組成,分別為DNN的第一層、最后一層以及輸入層與輸出層之間的其余中間層。每一層神經(jīng)網(wǎng)絡(luò)都由多個(gè)神經(jīng)元共同組成,DNN數(shù)學(xué)表達(dá)式見式(8)。
式 中: δ為 單 次 輸 入 的 訓(xùn) 練 數(shù) 據(jù) 集,N et(Xi|δ)為DNN在輸入為Xi下 網(wǎng)絡(luò)輸出的預(yù)測控制量,u?i為預(yù)測控制參考取值。
MPC控制過程數(shù)據(jù)分布如圖5所示,分別為x1、x2、x3、x4、yref以及u的分布情況。圖中x軸為各項(xiàng)數(shù)據(jù)的分布區(qū)間,y軸為數(shù)據(jù)的分布頻率。由圖5可知,各項(xiàng)數(shù)據(jù)的分布范圍差異較大,尤其是數(shù)據(jù)分布的數(shù)量級不同,這會造成DNN在訓(xùn)練過程中難以收斂,或是需要消耗更多的迭代次數(shù)。為此,需要對訓(xùn)練數(shù)據(jù)集進(jìn)行標(biāo)準(zhǔn)化處理,本文使用Min-Max標(biāo)準(zhǔn)化方法將數(shù)據(jù)映射至[0,1]區(qū)間內(nèi),該方法能夠提高DNN的收斂速度與預(yù)測精度,Min-Max標(biāo)準(zhǔn)化算式見式(10)。
圖5 數(shù)據(jù)集分布圖Fig.5 Dataset distribution map
圖6分別為使用原始數(shù)據(jù)集和標(biāo)準(zhǔn)化數(shù)據(jù)集在相同條件下對DNN進(jìn)行100次迭代訓(xùn)練后的結(jié)果。訓(xùn)練誤差衡量了網(wǎng)絡(luò)對訓(xùn)練集的收斂情況,驗(yàn)證誤差用以評估不同網(wǎng)絡(luò)的預(yù)測效果。網(wǎng)絡(luò)的誤差越小,則DNN的預(yù)測結(jié)果與MPC控制器越接近。相較于未處理的原始數(shù)據(jù)集,標(biāo)準(zhǔn)化后的數(shù)據(jù)集能夠使模型更快地收斂,并且收斂至更小的訓(xùn)練與驗(yàn)證誤差。而由于網(wǎng)絡(luò)的輸入輸出被線性映射至新的區(qū)間,因此在使用DNN進(jìn)行預(yù)測控制時(shí),需對網(wǎng)絡(luò)的輸入輸出進(jìn)行標(biāo)準(zhǔn)化與反標(biāo)準(zhǔn)化處理。
圖6 標(biāo)準(zhǔn)化數(shù)據(jù)與原始數(shù)據(jù)用于訓(xùn)練的誤差比較Fig.6 Comparison of training and validation loss between normalized data and original data
相較于單層神經(jīng)網(wǎng)絡(luò),DNN的主要優(yōu)勢在于網(wǎng)絡(luò)規(guī)模的擴(kuò)大與層數(shù)增加所帶來的更強(qiáng)學(xué)習(xí)能力。然而隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大,更多的層數(shù)與神經(jīng)元個(gè)數(shù)往往會造成網(wǎng)絡(luò)訓(xùn)練困難以及計(jì)算耗時(shí)增加等問題[23-24]。在神經(jīng)元個(gè)數(shù)相同的情況下,層數(shù)較多的DNN往往能夠擁有相較于層數(shù)較少的DNN更好的收斂能力,并擁有更小的訓(xùn)練與驗(yàn)證誤差。而隨著規(guī)模的不斷擴(kuò)大,網(wǎng)絡(luò)也需要消耗更多訓(xùn)練時(shí)間以收斂至更小的誤差。因此,在網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計(jì)上應(yīng)根據(jù)任務(wù)的不同選擇合適的規(guī)模,讓DNN擁有更高預(yù)測精度的同時(shí)所需耗時(shí)也相對較小。為此,本文通過設(shè)計(jì)比較實(shí)驗(yàn),比較不同DNN在相同條件下進(jìn)行100輪迭代的收斂情況。圖7為訓(xùn)練與驗(yàn)證誤差比較。表1為不同網(wǎng)絡(luò)在100次隨機(jī)初始條件下與MPC控制器的平均預(yù)測誤差。實(shí)驗(yàn)結(jié)果表明,隨著層數(shù)的增多,DNN的誤差相對更小;而隨著規(guī)模的擴(kuò)大,DNN需要消耗更多的迭代次數(shù)才能夠收斂至更小的誤差值。本文選用8層、單層8個(gè)神經(jīng)元的深度神經(jīng)網(wǎng)絡(luò)作為DNN控制器,該網(wǎng)絡(luò)在擁有更小的訓(xùn)練與驗(yàn)證誤差的同時(shí),網(wǎng)絡(luò)結(jié)構(gòu)相對較小,能夠快速處理注射速度的預(yù)測控制問題。
表1 DNN與MPC平均預(yù)測誤差Table 1 Average prediction error of DNN and MPC
圖7 不同大小的DNN訓(xùn)練與驗(yàn)證誤差比較Fig.7 Comparison of DNN training and validation losses of different sizes
訓(xùn)練與仿真實(shí)驗(yàn)均運(yùn)行在配置為Intel Core i7-8700、16GB內(nèi)存的Windows計(jì)算機(jī)平臺上,使用Python/Pytorch編寫MPC算法以及DNN控制器的訓(xùn)練與驗(yàn)證代碼。通過Adam算法調(diào)整優(yōu)化網(wǎng)絡(luò)權(quán)重與偏置,選取誤差最小的網(wǎng)絡(luò)模型作為控制器。圖8為設(shè)計(jì)的DNN訓(xùn)練迭代500次的收斂曲線。網(wǎng)絡(luò)在迭代10次后便趨于平緩并緩慢下降,并逐漸收斂至較小的誤差值。表2為訓(xùn)練完成后網(wǎng)絡(luò)的訓(xùn)練誤差與驗(yàn)證誤差。表3為DNN控制器與MPC控制器在相同條件下分別運(yùn)行100次的平均計(jì)算耗時(shí)與平均預(yù)測誤差。實(shí)驗(yàn)結(jié)果表明,訓(xùn)練完成的深度神經(jīng)網(wǎng)絡(luò)控制器有著與MPC控制器基本一致的控制效果,且二者之間的平均誤差較小。前者平均計(jì)算耗時(shí)為0.32 ms,要小于后者12.62 ms的平均計(jì)算耗時(shí),且小于5 ms的采樣周期,滿足在線實(shí)時(shí)預(yù)測控制要求。圖9中(a)~(b)和(c)~(d)分別為DNN與MPC兩種控制器在零初始條件以及隨機(jī)初始條件下的預(yù)測控制仿真結(jié)果,二者輸出的控制曲線基本一致。且無論是在隨機(jī)初始條件或是零初始條件下,DNN控制器都能夠迅速收斂至參考軌跡并跟隨軌跡變化迅速做出響應(yīng)。因此,本文提出的基于深度神經(jīng)網(wǎng)絡(luò)的模型預(yù)測控制器能夠較好地完成注塑機(jī)注射速度的控制任務(wù),在降低預(yù)測控制所需計(jì)算耗時(shí)的同時(shí),實(shí)現(xiàn)了對目標(biāo)注射速度的快速跟蹤,且在不同條件下仍具備可行性與穩(wěn)定性。
圖8 DNN訓(xùn)練與驗(yàn)證誤差Fig.8 DNN training and validation loss
圖9 MPC與DNN仿真結(jié)果比較Fig.9 Comparison of MPC and DNN simulation results
表2 DNN訓(xùn)練與驗(yàn)證誤差Table 2 DNN training and validation loss
表3 DNN與MPC控制器平均計(jì)算耗時(shí)Table 3 Average computation time of DNN and MPC controllers
本文提出了一種基于DNN的注塑機(jī)注塑過程預(yù)測控制方法。該方法結(jié)合深度學(xué)習(xí)與模型預(yù)測控制理論,在MPC控制的基礎(chǔ)上設(shè)計(jì)DNN網(wǎng)絡(luò)學(xué)習(xí)注塑機(jī)的預(yù)測控制過程。訓(xùn)練完成的DNN控制器能夠根據(jù)實(shí)時(shí)注塑機(jī)系統(tǒng)狀態(tài),輸出相應(yīng)的預(yù)測控制結(jié)果。實(shí)驗(yàn)結(jié)果表明該方法具有可行性,并且相較于傳統(tǒng)預(yù)測控制方法,所需計(jì)算耗時(shí)更短。在確保預(yù)測控制精確度的同時(shí),該方法能夠較好地完成注塑機(jī)系統(tǒng)復(fù)雜控制任務(wù)并快速輸出預(yù)測控制結(jié)果,滿足實(shí)時(shí)性要求。由于DNN控制器結(jié)構(gòu)相對較為簡單,前向計(jì)算所需計(jì)算時(shí)間較短,該方法同樣適用于如嵌入式設(shè)備等計(jì)算資源相對緊缺的硬件平臺上,并實(shí)現(xiàn)對動(dòng)態(tài)系統(tǒng)的在線預(yù)測控制。
在后續(xù)的工作中,將繼續(xù)圍繞深度學(xué)習(xí)與預(yù)測控制方法展開研究,并對本文實(shí)驗(yàn)方法中的不足進(jìn)行完善,如考慮數(shù)據(jù)集規(guī)模對DNN學(xué)習(xí)效率的影響、比較不同激活函數(shù)以及標(biāo)準(zhǔn)化方法的效果等。此外,將嘗試使用本文方法應(yīng)用于更復(fù)雜的注塑機(jī)非線性系統(tǒng),結(jié)合網(wǎng)絡(luò)壓縮、網(wǎng)絡(luò)剪枝等方法,實(shí)現(xiàn)更高效的實(shí)時(shí)預(yù)測控制。