孫功武,謝基榕,王俊軒
(中國船舶科學研究中心 深海載人裝備國家重點實驗室,江蘇 無錫 214082)
船舶是一個典型的時變系統,其模型參數會隨航行環境和工況的變化而變化。采用辨識方法獲取船舶航行過程中不確定的模型參數,可以為船舶的特性研究和控制策略設計奠定重要基礎。傳統的參數辨識方法主要有極大似然法、遞推最小二乘(Recursive Least Squares, RLS )算法、卡爾曼濾波法等[1-5]。其中,RLS算法的計算量小,且不需要估計變量的任何統計特性,應用非常廣泛。文獻[3]將RLS算法應用在電機電感、電阻等參數的辨識中,然后通過實驗驗證了該算法的準確性和實時性,非常適用于參數的在線辨識。文獻[4]采用RLS算法在線辨識水下機器人的模型參數,并根據辨識結果修正控制器參數,以提高機器人的控制效果。為改善RLS算法的性能,文獻[6]提出了一種能同時獲得較高辨識精度和收斂速度的變遺忘因子RLS算法,由于該算法僅根據當前的殘差對遺忘因子進行在線調整,導致調整量計算易受到噪聲干擾的影響。經過多年的研究發展,還出現了廣義最小二乘法、正交最小二乘法、偏最小二乘法等改進算法[7-9],使參數辨識的適用領域得到進一步拓展,然而這類算法對噪聲的魯棒性不強,難以在復雜非線性系統中獲得高精度的辨識效果。近年來,智能算法的發展為參數辨識提供了新的途徑。文獻[10]將建筑物熱模型的參數辨識問題轉化為參數最優化問題,然后采用進化算法對模型參數進行尋優,利用該算法優越的全局搜索能力和對噪聲的強魯棒性實現了模型參數的高精度求解,但進化算法實現的復雜度要遠大于RLS算法。與進化算法辨識模型參數的步驟類似,很多學者將粒子群算法、蟻群算法、遺傳算法等[11-14]應用于多個領域系統模型的參數辨識,并都取得了高精度的辨識結果,但同樣存在算法計算量大的問題。對于文獻[10-14]中采用優化算法辨識模型參數的問題,搜索空間范圍對算法的收斂速度和精度都有直接的影響。為獲取最佳的搜索空間,文獻[15]先利用RLS算法初步辨識模型參數,然后在初步辨識結果的附近小范圍內采用差分進化算法進行尋優,從而大幅度提高了參數辨識的精度,但辨識過程的復雜度也增加了。此外,采用神經網絡、支持向量機等學習算法[16-18]也可以準確地辨識出模型參數。文獻[10-18]中提出的智能算法適用于簡單的線性、復雜的多變量非線性等各種系統的參數辨識,并具有很高的辨識精度,但辨識過程需要進行多次的迭代計算或訓練,算法復雜、計算耗時長、對處理器性能的要求高,限制了實際的應用范圍。
考慮到船舶航向數學模型為單輸入單輸出的線性模型,非常適合采用遺忘因子RLS算法對模型參數進行在線辨識,并針對恒定遺忘因子不能使算法同時具備優越的跟蹤性能及收斂精度的問題,提出一種基于模糊控制的遺忘因子在線修正方法,最后通過仿真對該方法的有效性進行了驗證。
航向保持是船舶最常用的一種航行工況,該工況下通過給定小舵角來控制船舶航向。此時,船舶的航向數學模型可以采用一階Nomoto線性模型[19]表示為:
(1)
其中:ψ為航向角;δ為舵角;K、T是與船體結構尺寸、載重、航速、吃水等因素相關的參數。式(1)表明,在不同航速、不同載重等情況下,船舶航向模型中的參數也不相同。采用雙線性變換法可以將式(1)離散化為:
ψ(k)+a1ψ(k-1)+a2ψ(k-2)=b1δ(k)+
b2δ(k-1)+b3δ(k-2)
(2)
RLS算法是目前應用最廣泛的參數在線辨識算法之一,采用該算法辨識船舶航向模型參數的迭代計算公式為:

(3)

RLS算法在計算中將所有的數據同等對待,隨著算法迭代次數的增加,會出現“數據飽和”現象,降低算法的收斂速度。為減小歷史數據對當前參數辨識結果的影響,可以通過為每個數據增加一個權值來改進算法,形成遺忘因子RLS算法。引入遺忘因子后,船舶航向模型參數辨識的迭代計算公式被修正為:

(4)
其中λ為遺忘因子。
在對系統的輸入輸出采樣過程中會混入均值為0的隨機噪聲干擾,噪聲干擾越大,系統參數的辨識精度也會越低。在RLS算法中引入遺忘因子λ,能夠改善算法的跟蹤性能,但也在一定程度上降低了算法對噪聲的魯棒性。遺忘因子RLS算法的性能在很大程度上取決于λ的大小,當λ較小時,算法的收斂速度較快,但對噪聲會較敏感,導致算法收斂時的參數辨識精度較低;當選取較大的λ時,能夠提高算法對噪聲的魯棒性,但削弱了其跟蹤能力。因此,設計遺忘因子RLS算法時,λ值的取值非常重要,需要綜合考慮算法的收斂速度和對噪聲的魯棒性進行折中選取。
在常規的遺忘因子RLS算法中,λ為恒定值,根據算法的跟蹤性能和對噪聲的魯棒性來折中確定λ值會導致算法的兩種性能都有一定的“犧牲”。若能夠在辨識過程中實時評估辨識結果與實際模型參數之間的接近程度,并根據接近程度對遺忘因子進行動態調整則可大幅度提高算法的綜合性能。由于實際模型的參數未知,無法直接計算參數辨識的誤差,所以只能通過其他途徑對誤差進行評估。
計k時刻的理論模型輸出與實際模型輸出之間的殘差為:
(5)

殘差主要是由噪聲干擾和參數辨識誤差引起的,其中的噪聲干擾對殘差的影響很小。當參數辨識的誤差較大時,殘差絕對值也較大,此時希望遺忘因子的值較小,使RLS算法的辨識結果能夠快速收斂到實際模型參數附近;隨著算法的執行,參數辨識的誤差越來越小,殘差絕對值不斷減小,此時希望遺忘因子能適當增大,以抑制噪聲對辨識精度的影響。可見,通過殘差可以間接評估參數辨識誤差的大小。
在遺忘因子的修正過程中,僅根據單次殘差絕對值修正遺忘因子,會使修正過程對噪聲比較敏感。為此,可以取一段時間內殘差絕對值的平均值作為辨識參數與實際參數接近程度的評價函數,再將評價函數作為修正遺忘因子的參考依據。第k時刻,評價函數J的計算為:
(6)
其中n為選取殘差的數量。
通過分析可知,遺忘因子的期望修正量應該與評價函數呈反相關關系,但難以建立兩者之間的精確表達式。因此,本文引入模糊理論,設計模糊控制器對遺忘因子進行在線修正,并將評價函數作為模糊控制器的一個輸入。同時,鑒于評價函數的變化率ΔJ可以反映辨識誤差的變化趨勢,將ΔJ也作為模糊控制器的一個輸入。第k時刻,ΔJ的計算如下:
(7)
其中m為計算變化率的時間常數的離散值。
設計基于模糊控制的遺忘因子在線修正原理如圖1所示。

圖1 基于模糊控制的遺忘因子在線修正 Fig. 1 Online correction of forgetting factor based on fuzzy control
圖1中,預處理部分根據式(6)和式(7)對殘差進行處理得到J和ΔJ,模糊控制器根據輸入J和ΔJ實時計算修正量Δλ,將遺忘因子的修正為:
λ=λ0+Δλ
(8)
其中λ0是遺忘因子的初值。
采用動態遺忘因子RLS算法進行模型參數辨識時,模型參數的辨識計算在每個采樣周期會執行一次。為在一定程度上減小算法的計算量,遺忘因子的修正周期可以取采樣周期的l倍。辨識算法在程序實現時,首先定義并初始化變量nc=0,然后在每個采樣周期到達時,執行如下步驟:
步驟1 令nc=nc+1,采樣實際模型的輸入和輸出,并根據式(5)計算殘差。
步驟2 如果nc 步驟2.1 根據式(6)和式(7)對殘差進行預處理,得到J和ΔJ。 步驟2.2 將J和ΔJ作為模糊控制器的輸入,利用模糊控制器推理計算Δλ。 步驟2.3 根據式(8)修正此時的遺忘因子λ,將修正后的λ代入式(4)中,完成一次遺忘因子的更新。 循環執行上述過程,便實現模型參數的在線辨識。 模糊控制器設計時,首先通過線性變換將輸入輸出的精確量映射到模糊論域,取輸入J和ΔJ模糊論域都為[-2,2],取輸出Δλ的模糊論域為[-3,3]。選擇J和ΔJ對應模糊語言集為{NB(正大),NS(負小),ZO(零),PS(正小),PB(正大)},取輸出Δλ對應模糊語言集為{ NB(正大),NM(負中),NS(負小),ZO(零),PS(正小),PM(正中),PB(正大)}。采用三角形函數設計控制器輸入輸出的隸屬函數。 模糊控制規則表是模糊控制器設計的核心,當J和ΔJ都為正大時,表明辨識參數有大的誤差,且誤差還在迅速增大,此時期望模糊控制器輸出的Δλ為負大,將遺忘因子修正為極小值,使算法具有快速跟蹤的能力;當J為正大且ΔJ負大時,表明辨識參數有大誤差,但誤差還在迅速減小,此時輸出Δλ為負小;當J和ΔJ都為負大時,表明辨識參數已經非常接近實際參數,且誤差還在迅速減小,此時期望輸出的Δλ為正大,將遺忘因子修正為極大值,使算法具備高辨識精度;當J為負大且ΔJ為正大,期望模糊控制器輸出的Δλ為正小。根據上述原則,制定5×5的模糊控制規則表如表1所示。 根據表1的模糊規則表,采用Mamdani模糊推理和重心法計算輸出Δλ。 表1 模糊控制規則表ΔλTab. 1 Fuzzy control rule table Δλ 以小舵角控制工況下的某工程船為研究對象,該船總長82.7 m,型寬14.2 m,型深7.8 m,排水4 600 t,其離散化的數學模型同式(2)。假設船舶初始航速為14 kn,在2 500 s時切換到8 kn航行,采樣周期取1 s,兩種航速下的船舶模型參數如表2所示。 表2 不同航速下的船舶模型參數Tab. 2 Ship model parameters with different speed 采用本文方法對上述航行過程中的模型參數進行在線辨識仿真。算法中m=100,n=15,l=10,λ0=0.975,在模型輸入端施加0.1 Hz的三角波信號模擬輸入舵角值,在模型輸出端疊加高斯白噪聲模擬實際采樣到的航向角。船舶實際航速調節需要較長的過渡時間,而考慮到模型參數變化緩慢難以使辨識算法收斂的快速性得到較好的對比驗證,因此在仿真中人為設置模型參數b1、b2和b3在第2 500 s發生突變。將本文算法對模型參數b1、b2和b3的辨識結果與恒定遺忘因子RLS算法的辨識結果進行對比,結果分別如圖2、圖3和圖4所示。 圖2 b1辨識結果 Fig. 2 Identification results of b1 圖2、圖3和圖4的仿真結果表明:恒定遺忘因子RLS算法中的遺忘因子越大,算法辨識的穩態精度越高,但對模型參數突變時的跟蹤能力變差,收斂速度變慢;而本文所提的動態遺忘因子RLS算法不僅在模型參數平穩時有很高的辨識精度,在模型參數突變時也能迅速跟蹤參數的變化。 圖3 b2辨識結果 Fig. 3 Identification results of b2 圖4 b3辨識結果 Fig. 4 Identification results of b3 在整個航行過程中,船舶模型參數a1和a2保持不變,辨識結果分別如圖5和圖6所示。 圖5和圖6圖中,本文方法對參數a1和a2的辨識結果在第2 500 s開始出現短時間的波動,但在其他時間段內都有非常高的辨識精度,綜合整個過程的辨識效果仍具有一定的優勢。 基于模糊控制的動態遺忘因子RLS算法在整個參數辨識過程中,遺忘因子的調整如圖7所示。 圖7中,遺忘因子的動態變化曲線充分解釋了圖2(d)至圖6(d)辨識結果,當模型參數平穩時,遺忘因子被修正為較大值,此時算法對噪聲的魯棒性較強,辨識精度較高;當模型參數在第2 500 s出現突變時,遺忘因子被迅速修正為較小值,使算法的收斂速度較快,如圖2(d)至圖4(d)所示。在遺忘因子較小的時間段內,算法也會對噪聲比較敏感,因此出現圖5(d)和圖6(d)中第2 500 s開始出現的短期波動。 本文在評價函數及其變化率計算中引入了參數m和n,以減小噪聲干擾對遺忘因子調整的影響,但也會造成遺忘因子期望的修正滯后于實際模型參數的變化,使模型參數在2 500 s發生突變時,遺忘因子沒有立即被修正為最小值,如圖7所示。同時,結合圖2(d)、3(d)、4(d)和圖7可以得出,在辨識算法收斂到真實模型參數值附近時,遺忘因子也沒有立即被修正為最大值。遺忘因子修正的滯后,會導致算法在模型參數突變初期的跟蹤速度不會達到最快,在算法初次收斂到模型參數真實值附近后仍會持續小幅度波動一段時間。 圖5 a1辨識結果 Fig. 5 Identification results of a1 圖6 a2辨識結果 Fig. 6 Identification results of a2 圖7 遺忘因子的調整過程 Fig. 7 Adjustment process of forgetting factor 提出了一種基于模糊控制的動態遺忘因子RLS算法,并采用該算法對小舵角控制工況下的船舶航向運動模型參數進行辨識仿真。仿真結果表明,該算法中的遺忘因子能夠根據參數辨識誤差進行實時修正,使算法同時具備優越的辨識精度和收斂速度。所提算法將構造的評價函數及其變化率作為遺忘因子調整的依據,并采用模糊控制器實現遺忘因子修正量的計算,使算法的應用不依賴于被辨識對象的具體領域,且改進后的算法仍具有較小的計算量,其實現過程簡單、實時性強、通用性好,具有較高的應用價值。 本文僅對單輸入輸出系統模型參數進行了辨識研究,若要所提算法推廣應用在多輸入輸出系統的參數辨識中,則需要對評價函數進行適當的改造。同時,如何獲取參數m、n、l的最佳值需要進一步探討。 參考文獻(References) [1] REYNDERS E. System identification methods for (operational) modal analysis: review and comparison [J]. Archives of Computational Methods in Engineering, 2012, 19(1): 51-124. [2] 衷路生,李兵,龔錦紅,等.高速列車非線性模型的極大似然辨識[J].自動化學報,2014,40(12):2950-2958.(ZHONG L S,LI B,GONG J H, et al. Maximum likelihood identification of nonlinear model for high-speed train [J]. Acta Automatica Sinica,2014, 40(12): 2950-2958.) [3] ZHANG H, GONG S J, DONG Z Z. On-line parameter identification of induction motor based on RLS algorithm [C]// Proceedings of the 2013 International Conference on Electrical Machines and Systems. Piscataway, NJ: IEEE, 2013: 2132-2137. [4] 劉慧婷,馮金金,張明.水下機器人操縱系統優化控制研究[J].計算機仿真, 2016,33(5):299-303.(LIU H T, FENG J J, ZHANG M. Research on optimal control of underwater robot control system [J]. Computer Simulation, 2016, 33(5): 299-303.) [5] 石剛,趙偉,劉珊珊.基于無跡卡爾曼濾波估算電池SOC[J].計算機應用,2016,36(12):3492-3498.(SHI G, ZHAO W, LIU S S. Battery SOC estimation based on unscented Kalman filtering [J]. Journal of Computer Applications, 2016,36(12):3492-3498.) [6] 陳涵,劉會金,李大路,等.可變遺忘因子遞推最小二乘法對時變參數測量[J].高電壓技術,2008,34(7):1474-1477.(CHEN H, LIU H J, LI D L, et al. Time-varying parameters measurement by least square method with variable forgetting factors [J]. High Voltage Engineering, 2008, 34(7):1474-1477.) [7] SALEHI R, DEHGHAN M. A generalized moving least square reproducing kernel method [J]. Journal of Computational & Applied Mathematics, 2013, 249(6):120-132. [8] CHEN C, LI Y. An orthogonal least-square-based method for DEM generalization [J]. International Journal of Geographical Information Science, 2013, 27(1): 154-167. [9] 何開鋒,錢煒祺,張勇,等.偏最小二乘法在氣動數據建模中的應用[J].宇航學報,2014,35(3):277-282.(HE K F, QIAN W Q, ZHANG Y, et al. Application of partial least squares regression method in modeling of aerodynamic data [J]. Journal of Astronautics, 2014, 35(3): 277-282.) [10] YANG Z, LI X, BOWERS C P, et al. An efficient evolutionary approach to parameter identification in a building thermal model [J]. IEEE Transactions on Systems, Man and Cybernetics Part C: Applications and Reviews, 2012,42(6):957-969. [11] 張來福,田赟,姜敏,等.基于遺傳算法的伺服系統摩擦參數辨識與仿真[J].計算機應用,2016,36(S1):110-112.(ZHANG L F, TIAN Y, JIANG M, et al. Friction parameter identification and simulation of servo system based on genetic algorithm [J]. Journal of Computer Applications, 2016,36(S1):110-112.) [12] 孫黎霞,倪瑤,馬骙軍.混沌遺傳算法在勵磁系統參數辨識中的應用[J].電氣技術,2012(9):9-14.(SUN L X, NI Y, MA K J. Study on parameter identification of excitation system based on chaos genetic algorithm [J]. Electrical Engineering, 2012, (9):9-14.) [13] ALFI A, MODARES H. System identification and control using adaptive particle swarm optimization [J]. Applied Mathematical Modelling, 2011, 35(3):1210-1221. [14] YANG S, WU M, YAO X, et al. Load modeling and identification based on ant colony algorithms for EV charging stations [J]. IEEE Transactions on Power Systems, 2014, 30(4):1997-2003. [15] 魏彤,田雙彪.基于RLS-DE算法的多變量徑向磁軸承系統辨識[J].機械工程學報,2016,52(3):143-150.(WEI T, TIAN S B. The identification of multivariable radial magnetic bearing system based on RLS-DE algorithm [J]. Journal of Mechanical Engineering , 2016,52(3):143-150.) [16] 王兵,李盼池,許少華.一種基于過程神經元網絡辨識的PID控制模型及方法[J].計算機應用,2010,30(1):233-235.(WANG B , LI P C, XU S H. PID control model and method based on process neural network identification [J]. Journal of Computer Applications, 2010, 30(1): 233-235.) [17] ZHAO H, GAO S, HE Z, et al. Identification of nonlinear dynamic system using a novel recurrent wavelet neural network based on the pipelined architecture [J]. IEEE Transactions on Industrial Electronics, 2014, 61(8):4171-4182. [18] AL-DHAIFLLAH M, WESTWICK D T. Identification of auto-regressive exogenous hammerstein models based on support vector machine regression [J]. IEEE Transactions on Control Systems Technology, 2013, 21(6): 2083-2090. [19] BANAZADEH A, GHORBANI M T. Frequency domain identification of the Nomoto model to facilitate Kalman filter estimation and PID heading control of a patrol vessel [J]. Ocean Engineering, 2013, 72(4): 344-355. This work is partially supported by the Natural Science Foundation of Jiangsu Province (BK20170217). SUNGongwu, born in 1990, M. S., engineer. His research interests include intelligent control of ship, system identification. XIEJirong, born in 1977, Ph. D., research fellow. His research interests include intelligent control of ship, integrated information system. WANGJunxuan, born in 1986, M. S., senior engineer. His research interests include intelligent control of ship, integrated information system.2.3 模糊控制器設計

3 仿真研究







4 結語