本發(fā)明涉及船舶航跡控制技術(shù)領(lǐng)域,具體涉及一種基于改進(jìn)los(line-of-sight,引導(dǎo)算法)引導(dǎo)算法的船舶航跡控制方法。
背景技術(shù):
水是地球家園的重要組成部分,也是社會(huì)能夠?qū)崿F(xiàn)可持續(xù)發(fā)展重要資源所在。船舶作為水體中的交通工具,在國(guó)防、國(guó)民經(jīng)濟(jì)和海洋開(kāi)發(fā)等方面都占有顯要地位。船舶具有隱身、智能、不涉及現(xiàn)場(chǎng)操作人員人身安全問(wèn)題的優(yōu)勢(shì)。現(xiàn)如今,船舶作為硬件平臺(tái)在民用軍用等各方面都有滲透。近年來(lái),業(yè)界對(duì)船舶的研究與開(kāi)發(fā)層出不窮。船舶融合了船舶、通信、自動(dòng)化、機(jī)器人控制、遠(yuǎn)程監(jiān)控、網(wǎng)絡(luò)化系統(tǒng)等技術(shù),實(shí)現(xiàn)了自主導(dǎo)航、智能避障、遠(yuǎn)距離通信、視頻實(shí)時(shí)傳輸和網(wǎng)絡(luò)化監(jiān)控等功能。面對(duì)難以預(yù)知的復(fù)雜的海洋環(huán)境,長(zhǎng)時(shí)間、自主、安全地航行這一系列動(dòng)態(tài)控制技術(shù)始終影響并制約著水面船舶向遠(yuǎn)程和多功能的方向發(fā)展。
船舶航跡控制技術(shù)具有控制精度高、不受主觀因素影響、安全性高的特點(diǎn),且在越來(lái)越多的方面具有很大的應(yīng)用前景。伴隨著世界經(jīng)濟(jì)和科技的高速發(fā)展,為了使船舶創(chuàng)造更大的經(jīng)濟(jì)效益,解放船上勞動(dòng)力,且保證船舶安全節(jié)能地航行,船舶智能化成為了21世紀(jì)船舶發(fā)展的必然趨勢(shì)。航跡控制技術(shù)作為實(shí)現(xiàn)船舶智能化的核心技術(shù),不僅可以減輕船員的勞動(dòng)強(qiáng)度,而且在遠(yuǎn)航時(shí),在相同的航行條件下,可以減少偏航次數(shù),減小航向偏差,從而提高航速,縮短航行時(shí)間,節(jié)省燃料,提高航行的經(jīng)濟(jì)效益,同時(shí)克服了船舶操縱人員主觀因素的影響,能對(duì)船舶航跡進(jìn)行精準(zhǔn)科學(xué)地控制,大大地提高了船舶航行的安全性。
現(xiàn)今發(fā)展廣泛的los航跡控制算法精度較高,但仍存在船舶轉(zhuǎn)向精度及效率難以保證的缺陷。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種基于改進(jìn)los引導(dǎo)算法的船舶航跡控制方法,該方法采用利用圓弧不斷切入逼近設(shè)定航線的方法,使得船舶舵機(jī)打舵、航向變化平緩的同時(shí)能夠快速地收斂于設(shè)定航線。通過(guò)對(duì)los算法的改進(jìn)以得到更適宜的規(guī)劃航向,在實(shí)現(xiàn)具有良好控制效果的控制算法的同時(shí),保證了控制算法的穩(wěn)定性。
為解決上述技術(shù)問(wèn)題,本發(fā)明公開(kāi)的一種基于改進(jìn)los引導(dǎo)算法的船舶航跡控制方法,其特征在于,它包括如下步驟:
步驟1:船舶在已設(shè)定航跡點(diǎn)生成的規(guī)劃路徑上沿預(yù)定航跡段的某一直線航跡段航行時(shí),由船舶的導(dǎo)航模塊得到船舶實(shí)時(shí)的實(shí)際航跡信息;
步驟2:將船舶實(shí)時(shí)的實(shí)際航跡信息與規(guī)劃路徑進(jìn)行比較,當(dāng)船舶實(shí)時(shí)的實(shí)際航跡信息與規(guī)劃路徑之間的真實(shí)航跡偏差d超出可接受偏差d′時(shí),利用以下方法運(yùn)行改進(jìn)的los引導(dǎo)算法計(jì)算得到船舶期望航向;否則,保持船舶原有規(guī)劃航跡航行;
步驟2.1:取固定在地球上的坐標(biāo)系為xy軸的參考坐標(biāo)系;
步驟2.2:在步驟1所述的預(yù)定航跡段的某一直線航跡段左右區(qū)域建立一個(gè)緩沖區(qū),該緩沖區(qū)的左邊界和右邊界均與所述預(yù)定航跡段的某一直線航跡段平行,緩沖區(qū)的左邊界與所述預(yù)定航跡段的某一直線航跡段的距離為緩沖區(qū)給定航跡偏差d0,緩沖區(qū)的右邊界與所述預(yù)定航跡段的某一直線航跡段的距離也為緩沖區(qū)給定航跡偏差d0;
步驟2.3:當(dāng)船舶沒(méi)有進(jìn)入緩沖區(qū),即真實(shí)航跡偏差d≥緩沖區(qū)給定航跡偏差d0時(shí),采用徑直逼近方法,即船舶垂直于預(yù)定航線的期望航向沿最小距離逼近預(yù)定航線;
當(dāng)船舶進(jìn)入緩沖區(qū),即真實(shí)航跡偏差d<緩沖區(qū)給定航跡偏差d0時(shí),采用有限迭代圓弧方法實(shí)現(xiàn)船舶趨近預(yù)定航線,具體步驟如下:
步驟2.3.1:設(shè)a(xk,yk)、b(xk+1,yk+1)分別代表兩個(gè)相鄰的航跡點(diǎn),船舶沿相鄰航跡點(diǎn)a、b之間的連線航行;ab段航線的斜率
步驟2.3.2:做一個(gè)經(jīng)過(guò)船舶位置點(diǎn)c(x,y)且與實(shí)時(shí)期望航向ψ(di)和設(shè)定航跡段ab都相切的圓,兩切點(diǎn)所對(duì)應(yīng)的劣弧的圓周角為θ-ψ(di);
步驟2.3.3:取上述劣弧的圓周角的角平分線交上述劣弧于點(diǎn)e,船舶位置點(diǎn)c(x,y)與點(diǎn)e的連線ce方向?yàn)槠谕较?,此時(shí)上述劣弧的圓周角的角平分線與x軸方向的夾角為ψ(di+1),即船舶即將航行的期望航向;
步驟2.3.4:重復(fù)步驟2.3.2~步驟2.3.3,根據(jù)遞推的方式得到實(shí)時(shí)期望航向
步驟3:重復(fù)步驟2直至真實(shí)航跡偏差d在可接受偏差d′內(nèi)。
與現(xiàn)有的技術(shù)相比,本發(fā)明具有以下有益效果:
1、傳統(tǒng)los設(shè)計(jì)中固定的半徑r值將導(dǎo)致船舶無(wú)法在遠(yuǎn)離航跡線時(shí)給出更大的期望航向ψ(d)從而導(dǎo)致其制導(dǎo)效果不佳,為了解決這個(gè)問(wèn)題,本發(fā)明利用圓弧不斷切入逼近設(shè)定航線的方法(即改進(jìn)的los引導(dǎo)算法),使得船舶舵機(jī)打舵、航向變化平緩的同時(shí)能夠快速地收斂于設(shè)定航線。
2、在航跡段切換時(shí),傳統(tǒng)設(shè)計(jì)中航跡段切換時(shí)轉(zhuǎn)向距離同樣固定,當(dāng)轉(zhuǎn)向角度較大時(shí)會(huì)造成船舶明顯的外飄現(xiàn)象,本發(fā)明吸取模糊算法的思想,通過(guò)大量matlab仿真實(shí)驗(yàn)以建立一個(gè)轉(zhuǎn)向距離關(guān)于轉(zhuǎn)向角度的函數(shù)以改善傳統(tǒng)los算法易造成的船舶外飄現(xiàn)象。
3、本發(fā)明的los引導(dǎo)算法思路清晰,算法簡(jiǎn)單,容易實(shí)現(xiàn)。
附圖說(shuō)明
圖1是基于改進(jìn)los引導(dǎo)算法的船舶航跡控制方法的流程圖
圖2是改進(jìn)los引導(dǎo)算法后的軌跡路線
圖3是緩沖區(qū)los的計(jì)算方法
圖4是航跡段轉(zhuǎn)換時(shí)los的計(jì)算方法
圖5是基于改進(jìn)los引導(dǎo)算法的船舶航跡控制方法仿真結(jié)果
具體實(shí)施方式
以下結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明:
本發(fā)明設(shè)計(jì)了一種基于改進(jìn)los引導(dǎo)算法的船舶航跡控制方法,如圖1和2所示,它包括如下步驟:
步驟1:船舶在已設(shè)定航跡點(diǎn)生成的規(guī)劃路徑上沿預(yù)定航跡段的某一直線航跡段航行時(shí),由船舶的導(dǎo)航模塊得到船舶實(shí)時(shí)的實(shí)際航跡信息;
步驟2:將船舶實(shí)時(shí)的實(shí)際航跡信息與規(guī)劃路徑進(jìn)行比較,當(dāng)船舶實(shí)時(shí)的實(shí)際航跡信息與規(guī)劃路徑之間的真實(shí)航跡偏差d超出可接受偏差d′時(shí),利用以下方法運(yùn)行改進(jìn)的los引導(dǎo)算法計(jì)算得到船舶期望航向;否則,保持船舶原有規(guī)劃航跡航行;
步驟2.1:取固定在地球上的坐標(biāo)系為xy軸的參考坐標(biāo)系;
步驟2.2:在步驟1所述的預(yù)定航跡段的某一直線航跡段左右區(qū)域建立一個(gè)緩沖區(qū),該緩沖區(qū)的左邊界和右邊界均與所述預(yù)定航跡段的某一直線航跡段平行,緩沖區(qū)的左邊界與所述預(yù)定航跡段的某一直線航跡段的距離為緩沖區(qū)給定航跡偏差d0,緩沖區(qū)的右邊界與所述預(yù)定航跡段的某一直線航跡段的距離也為緩沖區(qū)給定航跡偏差d0;
步驟2.3:當(dāng)船舶沒(méi)有進(jìn)入緩沖區(qū),即真實(shí)航跡偏差d≥緩沖區(qū)給定航跡偏差d0時(shí),采用徑直逼近方法,即船舶垂直于預(yù)定航線的期望航向沿最小距離逼近預(yù)定航線;
當(dāng)船舶進(jìn)入緩沖區(qū),即真實(shí)航跡偏差d<緩沖區(qū)給定航跡偏差d0時(shí),采用有限迭代圓弧方法實(shí)現(xiàn)船舶迅速平穩(wěn)的趨近預(yù)定航線,具體步驟如下(如圖3所示):
步驟2.3.1:設(shè)a(xk,yk)、b(xk+1,yk+1)分別代表兩個(gè)相鄰的航跡點(diǎn),船舶沿相鄰航跡點(diǎn)a、b之間的連線航行;ab段航線的斜率
步驟2.3.2:做一個(gè)經(jīng)過(guò)船舶位置點(diǎn)c(x,y)且與實(shí)時(shí)期望航向ψ(di)和設(shè)定航跡段ab都相切的圓,兩切點(diǎn)所對(duì)應(yīng)的劣弧的圓周角為θ-ψ(di);
步驟2.3.3:取上述劣弧的圓周角的角平分線交上述劣弧于點(diǎn)e,船舶位置點(diǎn)c(x,y)與點(diǎn)e的連線ce方向?yàn)槠谕较?,此時(shí)上述劣弧的圓周角的角平分線與x軸方向的夾角為ψ(di+1),即船舶即將航行的期望航向;
步驟2.3.4:重復(fù)步驟2.3.2~步驟2.3.3,根據(jù)遞推的方式得到實(shí)時(shí)期望航向
步驟3:重復(fù)步驟2直至真實(shí)航跡偏差d在可接受偏差d′內(nèi)。
步驟4:當(dāng)船舶沿預(yù)定航跡段的某一直線航跡段行駛并駛?cè)胂噜彽闹本€航跡段時(shí),根據(jù)相鄰兩直線航跡段的夾角來(lái)調(diào)節(jié)船舶的轉(zhuǎn)向半徑以確定不同的提前轉(zhuǎn)向距離。
上述技術(shù)方案中,步驟4求解不同的提前轉(zhuǎn)向距離的步驟如下(如圖4所示):
利用rt=(α*θt+β)lpp計(jì)算提前轉(zhuǎn)向距離,其中rt為提前轉(zhuǎn)向距離,θt為相鄰兩直線航跡段的夾角,α、β為常數(shù),lpp為船舶的垂線間長(zhǎng)。
上述技術(shù)方案中,所述α的值為0.25,β的值為0.3。
上述技術(shù)方案中,通過(guò)做大量仿真實(shí)驗(yàn)確定能明顯減小外飄現(xiàn)象的α、β值。這樣在不同的轉(zhuǎn)向角度下可計(jì)算出合適的轉(zhuǎn)向距離,以減小船舶外飄現(xiàn)象,使船舶基本按照內(nèi)切圓弧平穩(wěn)轉(zhuǎn)向,幾乎保持相同的舵角。
為了驗(yàn)證改進(jìn)los引導(dǎo)算法的船舶航跡控制方法的控制效果,通過(guò)搭建間接航跡控制控制器仿真模型,采用pid控制器作為內(nèi)環(huán)航向控制器,采用改進(jìn)的los引導(dǎo)算法作用于外環(huán)航跡控制器,以此完成仿真實(shí)驗(yàn)。仿真實(shí)驗(yàn)參數(shù)的設(shè)定如下:設(shè)定仿真時(shí)間為400s;pid航向控制器kp、ki、kd三個(gè)參數(shù)分別設(shè)定為0.35、0.0001、3.5。
圖5為改進(jìn)los引導(dǎo)算法后的matlab仿真結(jié)果。從仿真結(jié)果可以看出,利用本發(fā)明提出的改進(jìn)los方法,船舶在航跡段轉(zhuǎn)換時(shí)明顯減小外飄現(xiàn)象α、β值分別為0.25、0.3。
本發(fā)明提出了一種基于改進(jìn)los引導(dǎo)算法的船舶航跡控制方法,針對(duì)直線航跡段與航跡段轉(zhuǎn)換時(shí)的不同情況,采用圓弧逼近的方法,有效地實(shí)現(xiàn)了船舶能夠更快地收斂到預(yù)定軌跡且使得航向的改變既打舵更為平緩,減少船舶外飄現(xiàn)象。
上述技術(shù)方案中,利用有限迭代法,即可證得當(dāng)i趨近于某個(gè)不太大的值時(shí)便已經(jīng)足使ψ(di)趨于設(shè)定航向-θ,且期望航向的變化δψ(di)趨于0,也即舵角基本保持不變,證明過(guò)程如下:
舵角變化量
當(dāng)i趨近于無(wú)窮大時(shí),ψ(di)趨于設(shè)定航向-θ,δψ(di)趨于0,ψ(di-1)表示期望航向ψ(di)上一次求到的期望航向,ψ(d)表示啟用los算法的初始時(shí)刻的期望航向;
由于船舶垂直于設(shè)定航線ab的方向進(jìn)入緩沖區(qū),由幾何關(guān)系易得
其中,δ為航向偏差,若航向偏差δ的允許范圍為1°,即
由此證得,改進(jìn)的los算法能夠使船舶快速且平緩地收斂于設(shè)定航線。
在本實(shí)施例中,所述步驟3是對(duì)期望航向的校對(duì),在一定的可接受偏差d′范圍內(nèi),實(shí)現(xiàn)船舶的航跡跟蹤控制。
本說(shuō)明書(shū)未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn)有技術(shù)。