孟 濤, 張 彥, 王 勇
(合肥工業(yè)大學(xué) 機(jī)械工程學(xué)院,安徽 合肥 230009)
隨著經(jīng)濟(jì)快速發(fā)展以及陸地資源日益短缺,海洋因其蘊(yùn)涵豐富的資源且未被人類(lèi)充分利用,成為科學(xué)研究和資源探索的新陣地。在水下機(jī)器人精準(zhǔn)定位作業(yè)、潮汐波浪測(cè)量、海嘯預(yù)測(cè)警告、海上建筑平臺(tái)水平校對(duì)等場(chǎng)合,均需面臨精確測(cè)量海水深度的問(wèn)題。因此大壓力下微小波動(dòng)水壓的測(cè)量便成為海洋要素探測(cè)過(guò)程中的重要環(huán)節(jié)。
壓力傳感器不但要具備大的量程,而且需要擁有較高的測(cè)量精度。文獻(xiàn)[1]中德國(guó)Sea&Sum公司研究的CDT48,測(cè)量精度滿足0.01%FS的測(cè)量范圍為500 m,但隨著水深增加,測(cè)量誤差便會(huì)超出允許范圍,表明壓力傳感器的大量程與高精度之間的矛盾難以有效解決;文獻(xiàn)[2]提出通過(guò)膜片或者軟囊隔斷將靜壓傳感器與差壓傳感器結(jié)合的方法來(lái)分別測(cè)量海水絕對(duì)靜壓和波動(dòng)水壓,但是達(dá)不到連續(xù)測(cè)量的目的;文獻(xiàn)[3]提出使用機(jī)械式開(kāi)關(guān)將壓力補(bǔ)償腔和絕壓測(cè)量腔連通或阻斷的方法來(lái)測(cè)量海水絕對(duì)靜壓和波動(dòng)水壓,但該方法僅能對(duì)某定點(diǎn)進(jìn)行測(cè)量,仍然不能連續(xù)測(cè)量;文獻(xiàn)[4]創(chuàng)新運(yùn)用雙波紋管設(shè)計(jì)對(duì)壓力傳感器外部進(jìn)行封裝,使微小壓力測(cè)量量程為1.2 kPa,靈敏度達(dá)6.882 pm/kPa,在測(cè)量微小水壓時(shí)效果較佳,但由于差壓傳感器量程小且固定,使得在測(cè)量較大水壓波動(dòng)時(shí)表現(xiàn)欠佳。
針對(duì)上述問(wèn)題,項(xiàng)目組設(shè)計(jì)了活塞式壓力傳感器[5]。該傳感器通過(guò)控制內(nèi)部電機(jī)轉(zhuǎn)動(dòng)使活塞在缸體內(nèi)移動(dòng),改變壓力傳感器內(nèi)部油腔的體積,從而達(dá)到與外界海水壓力平衡的效果;壓力平衡后相當(dāng)于降低了傳感器受到的絕對(duì)壓力,再內(nèi)置一差壓傳感器便可實(shí)現(xiàn)在大壓力下提高微小水壓波動(dòng)測(cè)量精度[6]的目的。
該傳感器存在滯后、慣性、非線性問(wèn)題,尤其是在壓力變化過(guò)程中,液壓油的彈性模量變化較大,使得改進(jìn)電機(jī)運(yùn)動(dòng)控制算法以提高傳感器動(dòng)態(tài)響應(yīng)精度的意義愈發(fā)重要。常規(guī)比例積分微分(proportional integral derivative,PID)控制器是最常見(jiàn)、最經(jīng)典的控制方法之一,結(jié)構(gòu)和算法設(shè)計(jì)簡(jiǎn)單,但由于活塞式傳感器具有非線性、強(qiáng)時(shí)變性以及滯后等特點(diǎn),參數(shù)固定的常規(guī)PID控制不能滿足理想的控制要求。鑒于神經(jīng)網(wǎng)絡(luò)具備強(qiáng)大的學(xué)習(xí)能力和適應(yīng)不確定性系統(tǒng)動(dòng)態(tài)特性的特點(diǎn)[7],本文將反向傳播(back propagation,BP)神經(jīng)網(wǎng)絡(luò)PID控制器應(yīng)用于該傳感器的壓力控制,得到的控制效果比常規(guī)PID更為理想。
活塞式壓力傳感器的機(jī)械系統(tǒng)結(jié)構(gòu)組成如圖1所示。系統(tǒng)主要由伺服電機(jī)、聯(lián)軸器、滾軸絲杠副、液壓缸、油腔缸體組成。作為傳感器動(dòng)力驅(qū)動(dòng)的伺服電機(jī)通過(guò)聯(lián)軸器與滾珠絲杠相連,絲杠螺母與液壓缸內(nèi)的活塞桿固定連接以使絲杠與活塞桿同軸,液壓缸通過(guò)管路與內(nèi)置壓力傳感器的油腔缸體相連通。與油腔缸體相連通的是壓力傳感器測(cè)量壓力的一側(cè)。
1.裝有壓力傳感器的油腔缸體 2.液壓缸 3.活塞桿 4.絲杠 5.聯(lián)軸器 6.伺服電機(jī) 7.機(jī)架圖1 機(jī)械傳動(dòng)系統(tǒng)組成
活塞式壓力傳感器控制壓力平衡的原理為:當(dāng)傳感器測(cè)得的內(nèi)部壓力與外部壓力不相等時(shí),控制系統(tǒng)通過(guò)運(yùn)動(dòng)控制卡驅(qū)動(dòng)伺服電機(jī)作勻速轉(zhuǎn)動(dòng),電機(jī)的轉(zhuǎn)動(dòng)經(jīng)機(jī)械傳動(dòng)裝置轉(zhuǎn)化為活塞桿的移動(dòng),使得液壓缸體積發(fā)生變化,進(jìn)而使活塞式傳感器內(nèi)部壓力發(fā)生變化,該傳感器此時(shí)再將測(cè)得的壓力值反饋給控制系統(tǒng),控制系統(tǒng)根據(jù)測(cè)得壓力與外界壓力之差控制電機(jī)的轉(zhuǎn)速,最終完成對(duì)壓力平衡的閉環(huán)控制。
參考文獻(xiàn)[8]活塞式壓力系統(tǒng)建立模型的研究,對(duì)建模的各個(gè)環(huán)節(jié)導(dǎo)出傳遞函數(shù)。系統(tǒng)控制的數(shù)學(xué)模型如圖2所示。
圖2 系統(tǒng)控制的數(shù)學(xué)模型
圖2中:n為電機(jī)轉(zhuǎn)速;θm為電機(jī)軸轉(zhuǎn)動(dòng)角度;θL為絲杠轉(zhuǎn)動(dòng)角度;x為活塞桿位移;Ph為滾珠絲杠導(dǎo)程;β為液體體積彈性模量;A為活塞缸有效橫截面積;V0為壓力缸初始總體積;K為絲杠扭轉(zhuǎn)剛度;i為電機(jī)到絲杠的傳動(dòng)比;JL為絲杠的等效轉(zhuǎn)動(dòng)慣量;D為絲杠阻尼系數(shù);p0為目標(biāo)壓力;p為實(shí)際壓力;e為壓力差。
活塞式壓力傳感器系統(tǒng)模型與液體彈性模量有關(guān),而在基于液體壓縮的壓力平衡過(guò)程中,液體的彈性模量在不斷變化,使得傳感器系統(tǒng)具有時(shí)變性。BP神經(jīng)網(wǎng)絡(luò)依靠持續(xù)向極值點(diǎn)逼近的學(xué)習(xí)方法,有著優(yōu)異的對(duì)非線性系統(tǒng)的映射能力和良好的泛化能力[9]。將BP神經(jīng)網(wǎng)絡(luò)應(yīng)用到常規(guī)PID控制中[10],對(duì)PID控制參數(shù)進(jìn)行實(shí)時(shí)調(diào)整優(yōu)化,可以提高PID控制在非線性系統(tǒng)中的控制效果,使控制系統(tǒng)具有較好的自適應(yīng)能力和魯棒性。
基于BP神經(jīng)網(wǎng)絡(luò)的PID控制器結(jié)構(gòu)如圖3所示。
圖3 基于BP神經(jīng)網(wǎng)絡(luò)的PID控制器結(jié)構(gòu)
圖3中:r為壓力設(shè)定值;y為壓力實(shí)際值;e為壓力設(shè)定值與壓力實(shí)際值的偏差;u為PID控制器輸出的控制量。
BP神經(jīng)網(wǎng)絡(luò)PID控制器由常規(guī)PID控制器和BP神經(jīng)網(wǎng)絡(luò)2個(gè)部分構(gòu)成。BP神經(jīng)網(wǎng)絡(luò)根據(jù)活塞式壓力傳感器控制系統(tǒng)的運(yùn)行狀態(tài),依據(jù)學(xué)習(xí)算法對(duì)其內(nèi)部的權(quán)重系數(shù)進(jìn)行修正[11],實(shí)時(shí)調(diào)節(jié)輸出神經(jīng)網(wǎng)絡(luò)輸出層的結(jié)果。常規(guī)PID控制器以BP神經(jīng)網(wǎng)絡(luò)傳輸?shù)慕Y(jié)果作為控制參數(shù)直接對(duì)被控系統(tǒng)進(jìn)行閉環(huán)控制,最終使系統(tǒng)達(dá)到最優(yōu)的性能指標(biāo)。此過(guò)程也是BP神經(jīng)網(wǎng)絡(luò)的在線自學(xué)習(xí)能力的體現(xiàn)。
由于增量式PID輸出的是控制量的增量,當(dāng)計(jì)算機(jī)出現(xiàn)故障時(shí),發(fā)生的誤動(dòng)作較小,對(duì)系統(tǒng)的影響也較小。因此,常規(guī)PID采用增量式PID輸出,即
e(k)=r(k)-y(k)
(1)
Δu(k)=Kp[e(k)-e(k-1) ]+
Kie(k)+Kd[e(k)-2e(k-1)+e(k-2)]
(2)
其中:u(k)為在k時(shí)刻控制器的輸出;Kp、Ki、Kd分別為比例、積分、微分系數(shù)。
理論研究表明,含有一個(gè)隱含層的BP神經(jīng)網(wǎng)絡(luò)具備以任意精度逼近任意連續(xù)非線性函數(shù)的性質(zhì)[12]。在滿足映射要求下為加快神經(jīng)網(wǎng)絡(luò)運(yùn)行速度,選取單隱含層[13],即采用3層BP神經(jīng)網(wǎng)絡(luò)。輸入層節(jié)點(diǎn)個(gè)數(shù)與被控系統(tǒng)的狀態(tài)變量有關(guān)[14],本設(shè)計(jì)選取輸入層節(jié)點(diǎn)個(gè)數(shù)為4。輸出層節(jié)點(diǎn)選取為3,輸出量分別對(duì)應(yīng)常規(guī)PID控制器的3個(gè)控制參數(shù)Kp、Ki、Kd。
隱含層神經(jīng)元節(jié)點(diǎn)個(gè)數(shù)依據(jù)下式[15]確定。
(3)
其中:a、b、c分別為隱含層、輸入層、輸出層節(jié)點(diǎn)個(gè)數(shù);q∈[1,10]。通過(guò)多次試驗(yàn),最終得出隱含層節(jié)點(diǎn)個(gè)數(shù)為5時(shí)效果較為滿意。因此,確定BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)為4-5-3型,如圖4所示。
圖4 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
圖4中的輸入x1、x2、x3在控制系統(tǒng)中的含義為:
(4)
其中,x4=1為非線性調(diào)節(jié)的外部偏置常量。
隱含層各神經(jīng)元節(jié)點(diǎn)的輸入輸出轉(zhuǎn)換關(guān)系為:
(5)
BP神經(jīng)網(wǎng)絡(luò)隱含層激活函數(shù)可取為關(guān)于原點(diǎn)對(duì)稱的雙曲正切函數(shù),即
(6)
輸出層各神經(jīng)元節(jié)點(diǎn)的輸入輸出轉(zhuǎn)換關(guān)系為:
(7)
考慮到輸出層為常規(guī)PID控制器的參數(shù)Kp、Ki、Kd,不能為負(fù),故取輸出層激活函數(shù)g(x)為非負(fù)的Sigmoid函數(shù),即
(8)
取神經(jīng)網(wǎng)絡(luò)性能指標(biāo)函數(shù)為:
(9)
采用梯度下降法迭代更新BP神經(jīng)網(wǎng)絡(luò)各層的權(quán)重系數(shù),即往性能指標(biāo)函數(shù)E(k)對(duì)各層權(quán)重系數(shù)梯度的反方向迭代搜索,為提高收斂至全局最小指標(biāo)的速度,附加一個(gè)動(dòng)量項(xiàng),即
(10)
其中:η為學(xué)習(xí)速率;α為動(dòng)量因子。最后直接給出BP神經(jīng)網(wǎng)絡(luò)輸出層的權(quán)重系數(shù)的迭代算法,即
(11)
BP神經(jīng)網(wǎng)絡(luò)隱藏層權(quán)重系數(shù)的迭代算法為:
(12)
設(shè)計(jì)的基于BP神經(jīng)網(wǎng)絡(luò)的PID控制器控制算法流程如下:
(1) 確立BP神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu),即確定神經(jīng)網(wǎng)絡(luò)的層數(shù)和各層的節(jié)點(diǎn)個(gè)數(shù),并選定學(xué)習(xí)率η、動(dòng)量因子α和各層初始權(quán)重系數(shù)。
(2) 使用r(k)和采樣得到的y(k),計(jì)算得到e(k)和E(k)。
(3) 計(jì)算BP神經(jīng)網(wǎng)絡(luò)各層的輸入和輸出,輸出層三節(jié)點(diǎn)的輸出即為PID控制器的3個(gè)可調(diào)參數(shù)Kp(k)、Ki(k)、Kd(k)。
(4) 由(2)式得到PID控制器的輸出u(k),以控制系統(tǒng)輸出。
(5) 進(jìn)行神經(jīng)網(wǎng)絡(luò)反向傳播,依據(jù)迭代算法對(duì)各層權(quán)重系數(shù)進(jìn)行優(yōu)化調(diào)整。
(6) 令k=k+1,返回至步驟(2)。
為驗(yàn)證本文提出的基于BP神經(jīng)網(wǎng)絡(luò)的PID控制方法的可行性和有效性,在Matlab中建立系統(tǒng)仿真模型[16]進(jìn)行仿真實(shí)驗(yàn)分析??紤]到傳感器系統(tǒng)是非線性、時(shí)變的控制對(duì)象,因而將被控對(duì)象的數(shù)學(xué)模型取為:
其中,系數(shù)a是緩慢時(shí)變的,即
a(k)=1.2(1-0.8e-0.1k)。
使用Matlab進(jìn)行仿真時(shí),BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)選為4-5-3型,學(xué)習(xí)速率η=0.25,動(dòng)量因子α=0.05,初始權(quán)重系數(shù)取值為[-0.5,0.5]上的隨機(jī)值,輸入信號(hào)為階躍信號(hào),采樣時(shí)間ts=0.001 s,仿真時(shí)間取為0.1 s。
采用BP神經(jīng)網(wǎng)絡(luò)PID和常規(guī)PID控制的單位階躍響應(yīng)如圖5所示。為便于對(duì)比,2種算法控制下的傳感器壓力響應(yīng)的動(dòng)態(tài)性能見(jiàn)表1所列。從圖5和表1可以看出,相較于傳統(tǒng)PID,BP神經(jīng)網(wǎng)絡(luò)PID超調(diào)量小,調(diào)整時(shí)間短,響應(yīng)速度更快,調(diào)整過(guò)程更加平穩(wěn),動(dòng)態(tài)跟蹤性能更理想。
圖5 PID與BP-PID階躍響應(yīng)曲線
表1 傳感器壓力響應(yīng)性能
BP神經(jīng)網(wǎng)絡(luò)PID控制器在算法下得到的PID 3個(gè)參數(shù)變化過(guò)程如圖6所示。由圖6可知,BP神經(jīng)網(wǎng)絡(luò)控制器根據(jù)壓力的偏差在線對(duì)PID 3個(gè)參數(shù)Kp、Ki、Kd進(jìn)行學(xué)習(xí)調(diào)整,且3個(gè)參數(shù)很快被調(diào)整為穩(wěn)定值。這意味著在此控制系統(tǒng)下,BP神經(jīng)網(wǎng)絡(luò)已得到使系統(tǒng)達(dá)到最優(yōu)性能指標(biāo)的參數(shù),從而實(shí)現(xiàn)對(duì)非線性系統(tǒng)的在線調(diào)參。
圖6 BP神經(jīng)網(wǎng)絡(luò)參數(shù)自適應(yīng)整定曲線
為了驗(yàn)證本文基于BP神經(jīng)網(wǎng)絡(luò)的PID控制器在實(shí)際控制系統(tǒng)中的有效性,搭建活塞式壓力傳感器實(shí)驗(yàn)平臺(tái)。
實(shí)驗(yàn)平臺(tái)如圖7所示。
選取凌華科技基于DSP的8軸高階運(yùn)動(dòng)控制卡作為控制器來(lái)控制電機(jī)的運(yùn)動(dòng),電機(jī)選用安川永磁同步電機(jī)以滿足大扭矩和高精度的要求。為更清晰地分析階躍及梯形試驗(yàn)數(shù)據(jù),差壓傳感器用壓力傳感器代替,則差壓信號(hào)即為給定壓力與傳感器測(cè)得壓力之差。壓力傳感器選自Keller公司的產(chǎn)品PD-33X,量程為70 MPa,精度為0.01%FS。并用數(shù)據(jù)采集卡將壓力信號(hào)送至上位機(jī)。采樣頻率取10 Hz。
圖7 活塞式壓力傳感器實(shí)驗(yàn)平臺(tái)
系統(tǒng)在2 MPa壓力下的階躍響應(yīng)曲線如圖8a所示,其中在第25秒處將輸入信號(hào)降低90 kPa以作干擾。加入90 kPa干擾信號(hào)后壓力響應(yīng)放大圖如圖8b所示。
(b) 干擾信號(hào)下壓力響應(yīng)放大圖圖8 2 MPa階躍壓力實(shí)驗(yàn)結(jié)果
為便于對(duì)比,2種算法控制下的傳感器壓力響應(yīng)的動(dòng)態(tài)性能見(jiàn)表2所列。
表2 傳感器壓力響應(yīng)動(dòng)態(tài)性能
從表2可以看出,采用了BP神經(jīng)網(wǎng)絡(luò)PID算法控制后,壓力控制的上升時(shí)間從18.6 s降低至17.2 s,調(diào)整時(shí)間由20.4 s減少至18.8 s,超調(diào)量由2.1%大幅降至0.93%。采用BP神經(jīng)網(wǎng)絡(luò)PID控制算法后,系統(tǒng)響應(yīng)時(shí)間減小了1.6 s,幅值處響應(yīng)誤差由42 kPa減少至18.6 kPa。與常規(guī)PID相比,BP神經(jīng)網(wǎng)絡(luò)PID系統(tǒng)響應(yīng)速度更快、系統(tǒng)響應(yīng)精度更高、調(diào)節(jié)過(guò)程更為平穩(wěn)。
從圖8可以看出:輸入信號(hào)在第25秒處突變?yōu)? 910 kPa以模擬干擾信號(hào),之后則恢復(fù)至初始?jí)毫? 000 kPa;在加入干擾信號(hào)后的調(diào)整階段,即在25.0~25.1 s之間,BP神經(jīng)網(wǎng)絡(luò)PID控制下的響應(yīng)誤差為41.8 kPa,與常規(guī)PID相比減小了7.8 kPa,這說(shuō)明與常規(guī)PID相比,BP神經(jīng)網(wǎng)絡(luò)PID控制下的動(dòng)態(tài)響應(yīng)速度更快;在干擾信號(hào)消失后的調(diào)整階段,即在第25.1秒之后,2種控制算法均無(wú)超調(diào)量,但BP神經(jīng)網(wǎng)絡(luò)PID控制下響應(yīng)時(shí)間為0.8 s,比常規(guī)PID減小了0.4 s,且調(diào)整過(guò)程更為平穩(wěn),表現(xiàn)出了更優(yōu)異的動(dòng)態(tài)響應(yīng)能力。
針對(duì)常規(guī)PID在應(yīng)用于具有非線性、強(qiáng)耦合、時(shí)滯特點(diǎn)的系統(tǒng)時(shí)很難取得理想控制效果的問(wèn)題,本文提出一種將BP神經(jīng)網(wǎng)絡(luò)與常規(guī)PID相結(jié)合的方法,利用BP神經(jīng)網(wǎng)絡(luò)的在線自學(xué)習(xí)能力,對(duì)常規(guī)PID控制器的參數(shù)進(jìn)行在線的自動(dòng)調(diào)節(jié)。設(shè)計(jì)了BP神經(jīng)網(wǎng)絡(luò)PID控制器,并將其運(yùn)用在活塞式壓力傳感器上,進(jìn)行Matlab仿真;最后進(jìn)行2 MPa階躍實(shí)驗(yàn),在BP神經(jīng)網(wǎng)絡(luò)PID算法控制下,上升時(shí)間從18.6 s降至17.2 s,調(diào)整時(shí)間由20.4 s降至18.8 s,超調(diào)量由2.1%降至0.93%實(shí)驗(yàn)結(jié)果。實(shí)驗(yàn)結(jié)果表明BP神經(jīng)網(wǎng)絡(luò)PID控制的動(dòng)態(tài)響應(yīng)能力優(yōu)異、魯棒性良好、自適應(yīng)能力優(yōu)越,驗(yàn)證了BP神經(jīng)網(wǎng)絡(luò)PID控制算法的有效性。