孔建平,高強,侯遠龍
(南京理工大學 機械工程學院,江蘇 南京 210094)
某海上火箭炮武器系統由于海洋環境擾動的作用、摩擦阻力和轉動慣量、射擊時較大的擾動力矩(強沖擊)、機械傳動的誤差(如齒輪間隙)和機械傳動系統的彈性變形,使得該伺服系統是一典型的非線性時變系統。采用常規的PID 控制器將無法得到響應快、控制精度高的交流位置伺服系統。小波神經網絡為交流位置伺服系統控制開辟了一條新途徑。而有關小波神經網絡的研究目前大都處于仿真研究階段,主要原因是小波神經網絡控制器運算復雜、計算量大,一般的CPU 難以滿足實時計算要求[1]。本文采用DSP 作為控制與運算單元,提出了一種針對不確定、不確知的系統和環境的在線實時控制系統,成功地實現了交流位置伺服系統的控制,且保證了系統的動、靜態品質。
某炮控交流伺服系統,其控制系統結構圖如圖1所示。

圖1 炮控交流伺服系統結構圖
小波神經網絡控制系統結構圖如圖2 所示。

圖2 小波神經網絡控制系統結構圖
采用雙DSP 作為海上火箭炮武器系統的控制模塊,其中DSP_1 作為小波神經網絡的控制器,另一片DSP_2作為對象(此非線性交流伺服系統)的BP 神經網絡辨識器。r 為目標位置量,y 為當前位置量,e 為r 與y 的差值,u 為控制電壓,為辨識器辨識y 的辨識量。
雙DSP 的硬件架構如圖3 所示。
圖3 中雙口RAM 左邊是控制部分,右邊為辨識部分。控制計算機給出的目標角度值(r)經過CAN 通信給控制器DSP_1,r 與y 的差值e,經過小波神經網絡算法計算出DA 值(u),通過DA 模塊輸出。DA 值(u)再經過雙口RAM 共享到DSP_2,當前位置量y 通過RDC 模塊,經過I/O_2 輸入給DSP_2。u 與y 作為辨識器DSP_2 的BP 網絡的輸入,輸出為,與y 的差值e1,通過誤差反傳改善BP 神經網絡的權值。下一時刻,控制計算機給出下一個目標角度值(r),由于控制對象還未及時做出響應,得不到這一時刻的y,所以辨識器必須預測出這一時刻的,r與的差值e2,通過誤差反傳改善小波神經網絡的權值和小波平移因子和伸縮因子。通過EEPROM_1 保存小波神經網絡的權值和小波平移因子和伸縮因子,BP 神經網絡的權值由EEPROM_2 保存。

圖3 雙DSP 的硬件架構
對?Ψ∈L2(R),如果Ψ(t)的傅里葉變換(w)滿足如下可容許條件:

則稱a,b∈R,a≠0 是一個基本小波(“基小波”)。
由小波母函數進行伸縮和平移生成的函數系{Ψa,b(t)}

稱為由小波母函數Ψ 生成的依賴于參數a 和b 的連續小波,其中,a 是尺度參數,b 是平移參數,且a,b∈R,a≠0,時間變量t、伸縮因子a 和位移因子b 都是連續變量。
目前小波神經網絡的研究廣泛采用將常規神經網絡的隱層節點激勵函數用小波函數代替,相應的輸入層到隱層的權值及隱層閥值分別由小波函數的尺度參數和平移參數代替。連續性小波網絡的結構如圖4 所示。

圖4 連續性小波網絡的結構圖
小波神經網絡參數的算法可以采用梯度下降法、正交搜索法等。實際上,由于小波神經網絡的輸出與其權值是線性的,不存在像常規BP 神經網絡那樣的局部極小缺陷,所以,可直接利用最小二乘法或數值魯棒性更好的正交最小二乘法、UD 分解最小二乘法等方法辨識權系數[3]。
小波神經網絡隱層節點個數的選擇可借鑒以下經驗公式[4]:

式中,N 為隱層節點數;n 為輸入節點數;m 為輸出節點數。
此系統中,n,m=1,N=1.899 9,四舍五入取N=2。另外,采用已經被用于各種領域的Morlet 小波(cos(1.75t)exp(-t2/2))作為神經網絡的激勵函數。
小波神經網絡的權值初始化同BP 神經網絡一樣比較簡單,但是小波函數的伸縮參數和平移參數aj和bj(j=1,2)的初始化稍微復雜一些。若小波神經網絡初始化沒做好,網絡可能不會收斂。
為了初始化aj和bj,先要在輸入域[c,d]當中找到一個點p,即c <p <d。為了選擇點p,首先引進一個密度函數:

在計算密度函數中,可以粗略估計η(x)的大小,這樣就可以把區間[c,d]的重心賦予p,即:

把p 點選擇好以后,可以令a1=p,b1=ξ(d-c)
式中,ξ 取一個合適的正數常量(典型的可以取0.5)。這樣,區間[c,d]就被點p 分為兩個區間了。任取一個區間重復以上步驟,就可以初始化參數a2和b2了。
本文的DSP 芯片采用TI 公司的TMS320F28335,雙口RAM 芯片采用CY7C057V,DA 芯片采用16 位DAC8544,雙口RAM 和DA 芯片與DSP 的外部接口相連。主程序流程圖如圖5 所示??刂破飨到y通電初始化結束后進入CAN 接受中斷。若產生CAN 中斷響應進入主循環。然后進行讀取I/O 操作、小波神經網絡算法、DA 轉換、雙口RAM 寫操作、CAN 接受中斷、雙口RAM 中斷、雙口RAM讀操作、修改小波神經網絡權值、小波平移因子和伸縮因子。辨識器系統通電初始化結束后進入主循環,然后進行雙口RAM 中斷、雙口RAM 讀操作、讀取I/O 操作、BP 神經網絡辨識、預測、修改神經網絡權值、雙口RAM 寫操作。
該型火箭炮伺服系統的水平方向技術指標如下:炮塔由0 mil 轉至3 000 mil 的時間應小于6 s,穩態誤差范圍為-1.2 mil~1.2 mil。對于輸入階躍信號和正弦信號,系統的控制實驗結果如下。
1)階躍輸入信號
3 000 mil 大范圍調炮控制效果圖如圖6,圖7,圖8所示。

圖5 主程序流程圖

圖6 調炮3 000 mil 系統跟蹤響應曲線

圖7 調炮3 000 mil 系統跟蹤響應誤差曲線

圖8 局部放大圖
從圖6,圖7,圖8 中可以看出,本文設計的控制器對該系統進行大范圍調炮時,響應速度快,小于系統要求的6 s 技術指標,僅有一次1.2 mil 超調并能很快穩定,基本無振蕩,對干擾信號抑制效果較好,且穩態誤差小于±0.3 mil,完全能夠滿足系統的性能要求。
2)正弦輸入
系統的正弦輸入響應,主要檢驗系統的加速度特性。若輸入信號的頻率過快,則可能會因系統本身的響應較慢而無法跟蹤目標位置,造成控制效果的失真。故本文采用的正弦輸入信號為r(t)=20sin(0.4π × t),其幅值為20 mil,周期為5 s。控制效果如圖9,圖10 所示。

圖9 正弦輸入的系統響應跟蹤曲線

圖10 跟蹤誤差曲線
從圖9 和圖10 看出系統具有很好的加速度特性,對干擾信號有較好的抑制,能夠很好的跟蹤正弦輸入,且誤差一直保持在±0.3 mil 之間,完全能夠滿足系統的精度要求。
本文所設計的雙DSP 系統很好地實現了小波神經網絡控制器和BP 辨識器數據共享與協同處理,小波神經網絡有較強的函數學習能力和逼近能力。實驗結果表明,設計系統的響應速度快,基本無超調,最終的穩態誤差都能保持在±0.3 mil 之間,且跟蹤速度快,無滯后現象,有著很好的加速度性能。該雙DSP 控制器完全能夠滿足此類型炮控系統的要求。但是由于神經網絡是并行結構,而且DSP 的多種中斷難以保證兩片DSP 的數據共享與高度的同步性。故高度并行的FPGA 將是將來神經網絡研究重點。
[1]高建臣,陳之龍,吳平東.DSP 在模糊神經網絡控制器中的應用[J].北京理工大學學報,1996,16(5):538-544.
[2]田雨波.混合神經網絡技術[M].北京:科學出版社,2009:298.
[3]田雨波.混合神經網絡技術[M].北京:科學出版社,2009:301.
[4]高大啟.線性基本函數面向三層神經網絡結構研究[J].電路與系統學報,1997,2(3):31-37.