張 松,王茂森,戴勁松
(南京理工大學(xué) 機(jī)械工程學(xué)院, 南京 210094)
文獻(xiàn)[1]指出,鏈?zhǔn)阶詣?dòng)炮作為外能源火炮,射擊時(shí)需要自動(dòng)機(jī)與供輸彈系統(tǒng)的驅(qū)動(dòng)電機(jī)同步工作。在電機(jī)速度同步控制領(lǐng)域,多種策略已被提出:主從控制將上級(jí)電機(jī)的實(shí)時(shí)轉(zhuǎn)速作為下級(jí)電機(jī)的參考轉(zhuǎn)速,但當(dāng)下級(jí)電機(jī)受到擾動(dòng)時(shí),這種轉(zhuǎn)速變動(dòng)不能傳遞至上級(jí);文獻(xiàn)[2]提到,虛擬總軸控制源于機(jī)械總軸的思想,以力矩反饋的方式,通過(guò)虛擬總軸控制器給定每個(gè)單元的參考量,動(dòng)態(tài)特性一般;根據(jù)文獻(xiàn)[3],交叉耦合控制中,每單元都獲得自身速度和單元間速度差兩個(gè)反饋信號(hào),以滿足單元內(nèi)部的抗擾動(dòng)和單元間的抗失步兩方面要求,尤其適用于兩臺(tái)電機(jī)的耦合控制。在交叉耦合控制中,耦合控制器的設(shè)計(jì)是提高耦合性能的關(guān)鍵,文獻(xiàn)[4]使用了PID控制器作為耦合控制器,PID控制器利用誤差反饋消除誤差,帶來(lái)固有的、相對(duì)于擾動(dòng)的滯后性,并且易由于初始控制力度不當(dāng)產(chǎn)生振蕩、超調(diào)等問(wèn)題。韓京清等人[5、6]針對(duì)PID的固有缺陷提出一種改進(jìn)方案,即基于擴(kuò)張狀態(tài)觀測(cè)器的自抗擾控制(ADRC),但其擁有更好抗擾性能的同時(shí),也有參數(shù)過(guò)多、不易整定的問(wèn)題。本文利用BP神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)特性設(shè)計(jì)了一種將ADRC用于交叉耦合控制且具備參數(shù)自整定能力的兩電機(jī)控制方案。
圖1為某型鏈?zhǔn)阶詣?dòng)炮結(jié)構(gòu)示意圖。為了滿足多彈種供彈的需求,彈箱中彈鏈獨(dú)立于自動(dòng)機(jī)電機(jī)運(yùn)行。為了規(guī)避復(fù)雜離合裝置可靠性問(wèn)題,方案單獨(dú)設(shè)置了一彈箱電機(jī)。射擊時(shí),自動(dòng)機(jī)電機(jī)和彈箱電機(jī)同時(shí)運(yùn)轉(zhuǎn),將彈箱中彈藥通過(guò)彈箱與導(dǎo)引交接口、扭轉(zhuǎn)導(dǎo)引、導(dǎo)引與自動(dòng)機(jī)交接口源源不斷送入自動(dòng)機(jī)中。這種工作方式對(duì)兩電機(jī)的速度同步性提出了較高的要求,如果彈箱電機(jī)轉(zhuǎn)速高于自動(dòng)機(jī)電機(jī),將導(dǎo)致彈藥在扭轉(zhuǎn)導(dǎo)引內(nèi)擠壓、阻塞而引發(fā)安全問(wèn)題,反之則會(huì)導(dǎo)致彈藥供不上,從而導(dǎo)致射擊密集度下降[7]。為了實(shí)現(xiàn)這種同步,必須引入兩電機(jī)之間的耦合控制?;鹋谏鋼暨^(guò)程伴隨著劇烈振動(dòng)沖擊,尤其是在輪式載具上,這種沖擊對(duì)供輸彈過(guò)程的影響顯著,反映在此兩電機(jī)驅(qū)動(dòng)的供輸彈系統(tǒng)中,電機(jī)的負(fù)載轉(zhuǎn)矩承受較大擾動(dòng)。
圖1 某型鏈?zhǔn)阶詣?dòng)炮結(jié)構(gòu)示意圖
目前兩電機(jī)驅(qū)動(dòng)的供輸彈系統(tǒng)常采用同一給定控制或主從控制,即各驅(qū)動(dòng)單元接收同一參考轉(zhuǎn)速,每單元內(nèi)部閉環(huán)控制,彼此之間互不影響。這種方式控制簡(jiǎn)單,在各單元負(fù)載相差不大且負(fù)載擾動(dòng)較小時(shí)具有較好效果,但當(dāng)各單元負(fù)載差差異較大且都受到擾動(dòng)沖擊時(shí),同步性不好,出現(xiàn)不能消除的靜差。為了解決該問(wèn)題,作者對(duì)兩電機(jī)采用交叉耦合控制,并使用自抗擾控制器作為交叉耦合控制器,應(yīng)用BP神經(jīng)網(wǎng)絡(luò)對(duì)自抗擾控制器的參數(shù)進(jìn)行實(shí)時(shí)調(diào)整,使兩電機(jī)的速度同步性和抗沖擊擾動(dòng)性有所提高。
交叉耦合控制原理如圖2所示,這種控制策略基于對(duì)兩種誤差的觀測(cè):跟隨誤差和同步誤差[8]。以電機(jī)1為例,其控制量的生成方式可表示為式(1):
(1)
式中:ω(t)是t時(shí)刻參考轉(zhuǎn)速,ω1(t)、ω2(t)分別是電機(jī)1和2在t時(shí)刻的實(shí)際轉(zhuǎn)速,K1是電機(jī)1的補(bǔ)償系數(shù),G(t)是電機(jī)1的控制器、F(t)是交叉耦合控制器。對(duì)跟隨誤差的補(bǔ)償使電機(jī)自身具備抗擾動(dòng)性能,對(duì)同步誤差的補(bǔ)償又使兩電機(jī)具有跟隨同步特性,兩者相結(jié)合可達(dá)到較好的綜合性能。
圖2 交叉耦合控制原理
交叉耦合控制的實(shí)際耦合效果很大程度上取決于其耦合控制器的設(shè)計(jì),現(xiàn)有應(yīng)用中常采用PID控制器作為交叉耦合控制器。PID控制原理簡(jiǎn)單,易于實(shí)施,但PID交叉耦合控制器至少存在兩個(gè)缺陷:一是控制效果依賴于PID參數(shù)的合理整定,且當(dāng)負(fù)載變化、系統(tǒng)參數(shù)攝動(dòng)時(shí)PID控制效果也會(huì)受到影響;二是PID控制被動(dòng)地基于誤差反饋來(lái)消除誤差,滯后于擾動(dòng)的影響,并可能因初始控制力度過(guò)大引發(fā)震蕩、超調(diào)。因此考慮另一種可用的控制器——自抗擾控制器(ADRC),其基本結(jié)構(gòu)如圖3所示。
圖3 自抗擾控制器基本結(jié)構(gòu)
自抗擾控制器的核心在于將系統(tǒng)中的不確定部分(包括自身參數(shù)攝動(dòng)和外部擾動(dòng))視為總擾動(dòng),使用擴(kuò)張狀態(tài)觀測(cè)器實(shí)時(shí)對(duì)總擾動(dòng)進(jìn)行估計(jì)并加以消除,從而將實(shí)際應(yīng)用里存在內(nèi)外擾和非線性的系統(tǒng)還原為標(biāo)準(zhǔn)的“積分串聯(lián)型”系統(tǒng),這樣就大大降低了控制系統(tǒng)設(shè)計(jì)的難度[5]。一個(gè)典型的非線性自抗擾控制器結(jié)構(gòu)如圖4所示[6]。跟蹤微分器(TD)對(duì)輸入?yún)⒖夹盘?hào)安排過(guò)渡,“柔化”其變化,來(lái)減小控制超調(diào);非線性狀態(tài)誤差反饋控制律(NLSEF)用來(lái)非線性組合誤差及誤差的微分,產(chǎn)生控制量;擴(kuò)張狀態(tài)觀測(cè)器(ESO)將影響控制對(duì)象輸出的擾動(dòng)擴(kuò)張成新的狀態(tài)變量,在不依賴生成擾動(dòng)模型和不直接測(cè)量的條件下對(duì)擾動(dòng)進(jìn)行觀測(cè)和估計(jì)。[9]與PID控制相比,自抗擾控制解決了快速和超調(diào)的矛盾,靜差消除無(wú)滯后,具備一定預(yù)測(cè)性。綜上,本文提出使用自抗擾控制器的交叉耦合控制方案,來(lái)改善供輸彈系統(tǒng)中兩電機(jī)的速度同步性。
圖4 非線性自抗擾控制器結(jié)構(gòu)
自抗擾控制待整定參數(shù)多達(dá)12個(gè),這甚至比PID參數(shù)系統(tǒng)更加復(fù)雜。自抗擾控制控制量的生成依賴于擴(kuò)張狀態(tài)觀測(cè)器(ESO)對(duì)總擾動(dòng)的觀測(cè)和估計(jì),這使得ESO的3個(gè)參數(shù)β01、β02和β03的整定尤為重要。實(shí)際上,ADRC和PID有著類似的缺陷,即一套固定的參數(shù)面臨對(duì)象系統(tǒng)大范圍、快速變化時(shí)控制效果不盡如人意。文獻(xiàn)[10]提出了一種使用BP神經(jīng)網(wǎng)絡(luò)優(yōu)化應(yīng)用于非線性對(duì)象的PID控制器的方法,其思想是使用誤差error(t)、系統(tǒng)輸出yout(t)、給定輸入rint(t)作為網(wǎng)絡(luò)輸入、PID控制器的三個(gè)參數(shù)KP、KI和KD作為網(wǎng)絡(luò)輸出,實(shí)現(xiàn)BP神經(jīng)網(wǎng)絡(luò)對(duì)PID參數(shù)實(shí)時(shí)調(diào)節(jié)。受到其啟發(fā),本文提出一種對(duì)ESO進(jìn)行基于神經(jīng)網(wǎng)絡(luò)的自適應(yīng)參數(shù)調(diào)整方法,并將其應(yīng)用在交叉耦合控制中。
使用誤差e1及其微分e2、系統(tǒng)輸出y和1作為網(wǎng)絡(luò)輸入,ESO的三個(gè)參數(shù)β01、β02和β03作為網(wǎng)絡(luò)輸出,建立包含1個(gè)5節(jié)點(diǎn)隱含層的神經(jīng)網(wǎng)絡(luò),其結(jié)構(gòu)如圖5。
圖5 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
網(wǎng)絡(luò)輸入層的輸入為
(2)
網(wǎng)絡(luò)隱含層的輸入、輸出為
(3)
(4)
(5)
網(wǎng)絡(luò)輸出層的輸入輸出為
(6)
(7)
輸出層輸出節(jié)點(diǎn)分別對(duì)應(yīng)了ESO的3個(gè)參數(shù)β01、β02和β03,由于參數(shù)不能為負(fù)值,因此輸出層神經(jīng)元的活化函數(shù)取非負(fù)的Sigmoid函數(shù)
(8)
取性能指標(biāo)為
(9)
按梯度下降法修正網(wǎng)絡(luò)的權(quán)系數(shù),即按E(k)對(duì)加權(quán)系數(shù)的負(fù)梯度方向搜索調(diào)整,并附加一使搜索快速收斂全局極小慣性項(xiàng)
(10)
式中,η為學(xué)習(xí)速率,α為慣性系數(shù)。
(11)
(12)
由于?y(k)/?u(k)未知,所以近似用符號(hào)函數(shù)sgn(?y(k)/?u(k))替代,由此帶來(lái)的計(jì)算不精確的影響用調(diào)整η的方法補(bǔ)償。
上述分析得網(wǎng)絡(luò)輸出層的學(xué)習(xí)算法為
l=1,2,3
(13)
同理可得隱含層學(xué)習(xí)算法
l=1,2,3
(14)
式中
(15)
自適應(yīng)ADRC算法歸結(jié)如下:
2) 采樣得到rin(k)和yout(k),計(jì)算此時(shí)刻誤差error(k)=rin(k)-yout(k);
3) 計(jì)算網(wǎng)絡(luò)各神經(jīng)元層輸入、輸出,輸出層輸出即為ESO參數(shù)β01、β02和β03;
4) 獲取輸出值u(k);
使用Matlab/Simulink建立仿真模型,首先搭建起兩套基于FOC控制策略的PMSM驅(qū)動(dòng)單元,每個(gè)單元都具有轉(zhuǎn)速反饋PID控制器[11]。將兩套驅(qū)動(dòng)單元看作一個(gè)整體,ADRC控制器的控制對(duì)象為電機(jī)轉(zhuǎn)速差,參考值為0(即目標(biāo)為無(wú)同步誤差),控制輸出疊加在原有的轉(zhuǎn)速反饋上;BP神經(jīng)網(wǎng)絡(luò)模塊和ADRC控制器中的TD、NLSEF、ESO模塊均使用S函數(shù)編寫(xiě)。
ADRC控制器的誤差e1及其微分e2、電機(jī)的轉(zhuǎn)速差作為神經(jīng)網(wǎng)絡(luò)輸入,神經(jīng)網(wǎng)絡(luò)的輸出作為ESO的三個(gè)實(shí)時(shí)調(diào)整的參數(shù)β01、β02和β03。建立好的仿真模型如圖6所示,其中兩PID控制器的參數(shù)為KP=1.1,KI=0.8,KD=0;模型所用電機(jī)為Simulink庫(kù)中的“Permanent Magnet Synchronous Machine”,參數(shù)調(diào)整為4號(hào)預(yù)設(shè)參數(shù)(6 N·m,300 Vdc,4 500 r/min)。
圖6 基于神經(jīng)網(wǎng)絡(luò)自適應(yīng)ADRC的交叉耦合控制模型
給定電機(jī)參考轉(zhuǎn)速為1500 r/min,仿真過(guò)程0 s到0.3 s給予兩電機(jī)5 N·m的相同負(fù)載,兩電機(jī)同步良好,電機(jī)間同步誤差為零;0.3 s時(shí)刻,給予電機(jī)1從5 N·m到5.5 N·m的階躍沖擊載荷,0.5 s時(shí)刻再給予電機(jī)2從5 N·m到4.5 N·m的階躍沖擊載荷。圖7為兩電機(jī)各自的速度曲線,圖8為使用BP-ADRC交叉耦合控制器的兩電機(jī)同步誤差曲線,圖9為使用同一給定控制時(shí)的兩電機(jī)同步誤差曲線。從圖中可看出,0.3 s起收負(fù)載轉(zhuǎn)矩?cái)_動(dòng)影響兩電機(jī)出現(xiàn)同步誤差,但與圖9的同一給定控制策略下的同步誤差相比始終能控制在較小范圍,轉(zhuǎn)速誤差基本限制在40 r/min以內(nèi),兩電機(jī)轉(zhuǎn)速同步誤差約為2.6%,考慮到一次射擊持續(xù)時(shí)間僅為數(shù)秒,此誤差在可接受范圍內(nèi)。
圖7 參考轉(zhuǎn)速1 500 r/min時(shí)受負(fù)載擾動(dòng)的兩電機(jī)速度曲線(BP-ADRC交叉耦合)
圖8 負(fù)載擾下的兩電機(jī)同步誤差曲線(BP-ADRC交叉耦合)
圖9 負(fù)載擾下的兩電機(jī)同步誤差曲線(同一給定)
1) 設(shè)計(jì)了應(yīng)用于自動(dòng)炮供輸彈電機(jī)的、基于神經(jīng)網(wǎng)絡(luò)自適應(yīng)ADRC的交叉耦合控制方案,在面臨沖擊載荷時(shí),能穩(wěn)定電機(jī)自身速度,有效提高兩電機(jī)驅(qū)動(dòng)的同步性,滿足該型鏈?zhǔn)阶詣?dòng)炮供輸彈系統(tǒng)雙電機(jī)驅(qū)動(dòng)的速度同步性要求。
2) 該方案效費(fèi)比較高,不需對(duì)現(xiàn)有驅(qū)動(dòng)單元做太大改動(dòng),低成本實(shí)現(xiàn)現(xiàn)有裝備的快速升級(jí),可廣泛應(yīng)用于各種面臨沖擊載荷而要保持速度同步的兩電機(jī)驅(qū)動(dòng)系統(tǒng)。