董沛然 張 浩 辛愛學 王 釗
(海軍704廠 青島 266109)
現(xiàn)代的GPS接收機除了提供位置數(shù)據(jù)外,還可提供日期、時間、航向和航速等參數(shù)[1],根據(jù)這些參數(shù)可以對船舶的航路進行規(guī)劃,實時控制舵角變化以完成自動航向控制。船舶在開闊水域航行時,可以預設(shè)好多個航路目標點,本系統(tǒng)即可按照目標點控制船舶自動航行。
GPS模塊使用GARMIN的12通道GPS15L接收機,同時可以跟蹤最多12顆GPS衛(wèi)星,從而能夠快速定位,數(shù)據(jù)更新率為每秒一次,性能可以滿足導航的靈敏度需求和動態(tài)需求。數(shù)據(jù)接口采用異步串行數(shù)據(jù)輸入輸出[2],數(shù)據(jù)格式使用美國國家海洋電子協(xié)會的NMEA 0183ASCII碼接口協(xié)議[3]。
采用推薦定位信息(Recommended Minimum Specific GPS/TRANSIT Data)格式[4],該格式定義見表1。
讀取GPRMC數(shù)據(jù)后,分別對第<3>項緯度,第<5>項經(jīng)度,第<7>項速率,第<8>項航向單獨讀取并存為字符串變量和double型變量,作為下一步流程航向控制的參數(shù)[5]。

表1 GPRMC數(shù)據(jù)格式
航向控制實時更新最新航向變化,從而推算目標航向,在接口單元,建立一個獨立線程。該線程完成目標航向計算,目標舵角計算,打舵過程的功能。

圖1 自動舵控制原理
在航向改變過程中,自動舵的舵角并不只是隨航向角的偏差而變化,而是和航向差變化的速率以及航向偏差對時間的積分有關(guān)[6]。由圖1舵角與航向的關(guān)系為


其中K*=K·L/μ,T*=T·L/μ。
式中L和μ分別是船長和航速,由以上公式可得,當船長,船性能不變Kp與航速平方成反比。

Kd與航速的平方成反比。
若忽略首搖運動的自然頻率ωn和阻尼系數(shù)ζ,舵角可以簡化為


如圖2所示,當前航向Dir用實線表示,目標航向Tar用虛線表示,R_dir指示向右偏轉(zhuǎn)的航向,L_dir指示向左偏轉(zhuǎn)的航向。

圖2 目標航向算法
當Tar<Dir時候:
所有統(tǒng)計計算均用SASv 9.13統(tǒng)計分析軟件進行。定量數(shù)據(jù)采用t檢驗、ANOVA或Wilcoxon秩和檢驗。定性數(shù)據(jù)用χ2檢驗、Fisher精確概率、連續(xù)校正χ2檢驗、或Wilcoxon秩和檢驗,考慮到中心或其他因素的影響采用CMHχ2檢驗。對于生存數(shù)據(jù)采用,Log‐rank檢驗。主要指標的兩兩比較,采用95%置信區(qū)間(95%CI)法,計算雙側(cè)95%CI。全部的假設(shè)檢驗均采用雙側(cè)檢驗,取α=0.05。

當Tar>Dir時候:

計算完成比較R_dir及L_dir大小,判斷航向改變的方向和舵角的大小。
當目標航向計算完成,經(jīng)上述公式得到舵角后,舵角量應(yīng)經(jīng)過舵角限定算法,防止舵角超出舵角控制范圍。


由于舵機控制及舵的剎車老化,造成了在達到目標舵角時刻斷開舵機繼電器不能及時停止現(xiàn)象,而且左右舵由于慣性問題沖出的舵角大小不等,所以引入慣性系數(shù)概念,讀取舵角信息的同時計算舵角變化率,當舵角變化速度高的時候,停舵提前量大,反之,若舵機繼電器吸合時間短,舵變化速率慢的情況下,停舵的提前量較小:

經(jīng)過一定時間的調(diào)試,當K值達到一定的時候,可以使得舵角精度達到±0.3°之間。
能按計劃導航點順序航行,在計算L_dir、R_dir前更新目標航向。
程序運行時,依次設(shè)置目標點,按順序記錄在內(nèi)存中,程序裝載第一個目標點位置信息,并由當前GPS經(jīng)緯度計算與目標導航點的航向,更新目標航向,目標航向每秒更新一次,使船按照目標航跡航行。當?shù)竭_目標點時,程序會自動切換下一目標點,啟動新的航向控制[7]。
如圖4所示,當海浪較大時,會產(chǎn)生大量海浪和船首搖擺等噪音向量,這些噪音向量與真實航向的疊加,航向數(shù)據(jù)呈正弦型在真實航向周圍變化,不能如實反映航向,影響到航向保持功能。

圖3 根據(jù)當前GPS經(jīng)緯度計算與目標導航點的航向

圖4 海浪和船首搖擺對航向的影響
c_PLF1(k)=[c(k)+c(k-1)+ … +c(k-FIR_PLF_Len+1)]/FIR_PLF_Len
FIR_PLF_Len為第一級FIR濾波器長度,即當前時刻輸入數(shù)據(jù)c(k)連同前面(FIR_PLF_Len-1)個數(shù)據(jù)求均值的數(shù)據(jù)總數(shù)。
c_PLF1(k)為第一級濾波輸出;
再用IIR第二級低通濾波平滑:
Delta_Crt=c_PLF1(k)-c_Avg;Delta_Crt為當前誤差,即最新輸入值-上次紀錄平滑后取值。
Delta_Avg= Delta_Crt* p+ (1- p)* Delta_Avg;對誤差進行平滑,當前誤差Delta_Crt中含有大量噪聲,因此乘p=0.2,而誤差均值Delta_Avg中可認為已含有較小噪聲,因此乘(1-p)=0.8;
c_Avg=c_Avg+ Delta_Avg;經(jīng)平滑后 Delta_Avg可以認為含有較小噪聲,而真正含有航向角變化需累加到角度中。
濾波流程圖如圖5所示,經(jīng)Matlab仿真輸出如圖6和圖7所示。

圖5 濾波流程圖

圖6 航向仿真圖

圖7 航向差(噪聲)仿真
橫坐標為時間,單位(s)。波動較大線條為航行數(shù)據(jù),波動較小線條是經(jīng)濾波后的航行數(shù)據(jù)[8~9]。由圖可以看出,真實航行紀錄線條很粗,每秒航向差有可能超出10°以上,對程序來說,可能造成這一秒判斷打左舵,下一秒判斷打右舵,嚴重影響航向控制參數(shù)。數(shù)據(jù)經(jīng)過濾波器后,航向差縮減到2°以內(nèi),數(shù)據(jù)平滑,已能符合程序要求。
GPS的高精度位置信息和運動要素為有效地控制船舶的運動,使船舶航行在計劃航線上提供了可能[11]。
本文僅涉及到船舶自動航向控制和自動舵的控制實現(xiàn),該系統(tǒng)在實際使用中還涉及到很多相關(guān)的領(lǐng)域,如電子海圖等,這些相關(guān)領(lǐng)域還有待今后進一步研究。
[1]鄭道昌.船舶自動航行系統(tǒng)的研究[J].中國航海,2002(2):18-21.
[2]王俊賢.船舶在局部區(qū)域內(nèi)自動導航路徑識別系統(tǒng)[J].西安電子科技大學學報,1998(5):560-564.
[3]陳姚杰,紀業(yè)新,陳小歡.GPS在智能電動車自動控制系統(tǒng)中應(yīng)用[J].中國科技信息,2010,19(56):126-127.
[4]NMEA,0183協(xié)議.
[5]朱示立.電子海圖應(yīng)用程序設(shè)計[M].國防工業(yè)出版社,1997:80-81.
[6]任茂東.船舶仿人智能自動避碰控制系統(tǒng)[J].中國航海,1994(1):1-7.
[7]戴忠達.自動控制理論基礎(chǔ)[M].清華大學出版社,1989:522-530.
[8]清源計算機工作室.MATLAB基礎(chǔ)及其應(yīng)用[M].北京:機械工業(yè)出版社,2000:72-81.
[9]樓順天,于衛(wèi).基于MATLAB的系統(tǒng)分析與設(shè)計[M].西安電子科技大學出版社,1998:90-102.
[10]陳嬌,陳瑋,陸曉野,等.基于GPSOne和航位推算的定位算法研究[J].計算機與數(shù)字工程,2012(1).
[11]李洪濤,許國昌,薛鴻印.GPS應(yīng)用程序設(shè)計[M].科學出版社,1999:19-20.