黃偉健 吳浩基 馮智銳 黃榮杰
(廣東海洋大學(xué)電子與信息工程學(xué)院,廣東 湛江 524088)
隨著世界進(jìn)出口貿(mào)易的增加以及船舶朝著大型化和高速化方向發(fā)展,船舶碰撞事故也隨之不斷增多[1]。我國(guó)作為全球貿(mào)易大國(guó),約90%的國(guó)際貿(mào)易是通過(guò)海運(yùn)完成的,因此海洋運(yùn)輸對(duì)我國(guó)至關(guān)重要。然而,港口、碼頭等船舶密集區(qū)域中發(fā)生的碰撞事故數(shù)量持續(xù)增加,成為一個(gè)亟待解決的問(wèn)題。盡管目前已有船舶自動(dòng)識(shí)別系統(tǒng)(Automatic Identification System,AIS)、海圖儀等設(shè)備廣泛應(yīng)用于海上船舶,但在船舶密集的場(chǎng)景中,這些設(shè)備仍然面臨無(wú)法進(jìn)行高精度測(cè)距以及避碰的問(wèn)題。因此,研究船舶的近海域避碰技術(shù)對(duì)提高海上航運(yùn)的經(jīng)濟(jì)性和安全性具有重要意義[2]。為了解決這一難題,本文針對(duì)港口碼頭等船舶密集場(chǎng)景,設(shè)計(jì)了一種船舶近距離激光測(cè)距系統(tǒng),從而滿足了船舶避碰和預(yù)警的需求。基于此,本文將介紹該系統(tǒng)的總體設(shè)計(jì)、硬件電路、工作原理和激光測(cè)距算法等。
該系統(tǒng)以IAP15F2K61S2 芯片為基礎(chǔ),集成了8 位8 段共陽(yáng)數(shù)碼管模塊、獨(dú)立按鍵模塊、激光測(cè)距模塊和LED 指示燈模塊。通過(guò)融入調(diào)頻算法,實(shí)現(xiàn)了多方位數(shù)據(jù)處理,從而設(shè)計(jì)出了一種船舶近距離避碰系統(tǒng)。該設(shè)計(jì)的核心目標(biāo)是解決多方位高精度測(cè)距問(wèn)題,并實(shí)現(xiàn)高精度測(cè)距及報(bào)警功能。該系統(tǒng)首先利用激光測(cè)距模塊完成高精度測(cè)距任務(wù),其次采用調(diào)頻算法對(duì)多點(diǎn)數(shù)據(jù)進(jìn)行融合處理。與傳統(tǒng)的相位式測(cè)距相比,調(diào)頻算法距離分辨率、測(cè)距精度更高。通過(guò)串口傳輸,使多個(gè)測(cè)量點(diǎn)的數(shù)據(jù)匯總。數(shù)碼管負(fù)責(zé)顯示測(cè)量數(shù)據(jù),并根據(jù)預(yù)設(shè)范圍將數(shù)據(jù)劃分為4 個(gè)部分:安全距離、遠(yuǎn)距離、中距離和近距離。當(dāng)距離小于50 m 時(shí),系統(tǒng)會(huì)自動(dòng)計(jì)算距離的平均值。LED 燈、繼電器和蜂鳴器根據(jù)不同范圍的距離做出響應(yīng),以實(shí)現(xiàn)報(bào)警功能。此外,用戶可以通過(guò)獨(dú)立按鍵操作數(shù)碼管和LED 燈的熄滅與開(kāi)啟、打開(kāi)實(shí)時(shí)時(shí)鐘界面以及進(jìn)入障礙物距離平均值顯示界面。通過(guò)實(shí)際應(yīng)用收集到的數(shù)據(jù)表明,該系統(tǒng)解決了船舶在短距離內(nèi)無(wú)法進(jìn)行高精度測(cè)距及報(bào)警的問(wèn)題。系統(tǒng)總體如圖1所示。
圖1 系統(tǒng)總體框圖
該系統(tǒng)以IAP15 芯片為核心,通過(guò)連接各外圍模塊,實(shí)現(xiàn)了系統(tǒng)的整體功能。其中,激光測(cè)距模塊為最重要的外圍模塊,為系統(tǒng)測(cè)提供了高精度的測(cè)距數(shù)據(jù)。數(shù)碼管模塊和獨(dú)立按鍵模塊共同組成了海上工作人員的交互界面,方便操作員進(jìn)行系統(tǒng)設(shè)置和結(jié)果觀察。蜂鳴器模塊、繼電器模塊和LED 模塊則協(xié)同工作,構(gòu)成了系統(tǒng)的報(bào)警機(jī)制,能夠根據(jù)危險(xiǎn)程度的不同選擇相應(yīng)的報(bào)警方式。
主控芯片選用的是STC15F2K61S2,其特點(diǎn)包括2 048 字節(jié)片內(nèi)RAM、高可靠復(fù)位電路(不用外部復(fù)位)、高速ADC以及8 通道10 位。
數(shù)碼管模塊利用芯片P0 端口控制二極管顯示及具體位置。所有數(shù)碼管均可顯示數(shù)字0~9 以及大、小寫(xiě)的26 個(gè)字母。它具有耗電低、反應(yīng)速度快、使用溫度范圍廣以及構(gòu)造簡(jiǎn)單等優(yōu)點(diǎn)。
獨(dú)立按鍵模塊由4 個(gè)按鍵組成,能夠直接讀取,檢測(cè)占用時(shí)間短、誤觸率低。該模塊還能區(qū)分長(zhǎng)按和短按操作并且不受其他因素干擾。
激光測(cè)距模塊的測(cè)距精度為±0.5 cm,標(biāo)準(zhǔn)差<5 mm(2 m范圍內(nèi)),盲區(qū)低至1.5 cm。它還具有強(qiáng)大的抗干擾能力。該模塊以激光測(cè)距傳感器為核心,通過(guò)精確計(jì)算發(fā)射和接收反射激光的時(shí)間差來(lái)測(cè)量距離,具有測(cè)距頻率高和響應(yīng)快速的特點(diǎn),并配備了屏蔽罩,以有效保護(hù)外圍電路免受電磁干擾。此外,該模塊還集成了MCU 和專門(mén)的測(cè)距算法。在船舶上布置了8 個(gè)激光測(cè)距傳感器:左右船舷各3 個(gè)、船頭和船尾各1 個(gè)。這些傳感器與距離傳感器和GSM 模塊緊密相連,并通過(guò)RS-485 串行總線接口實(shí)現(xiàn)高效通信。該接口采用差分平衡方式傳輸信號(hào),因此具有出色的抗共模干擾能力,非常適合復(fù)雜的海洋環(huán)境。
LED 指示燈模塊提供了一個(gè)靈活的軟件控制機(jī)制,允許調(diào)整二極管亮滅時(shí)間的占空比。這一功能使筆者能夠選擇理想的亮度設(shè)置,從而延長(zhǎng)發(fā)光二極管的使用壽命。此外,該模塊還具有動(dòng)態(tài)顯示效果和大量的實(shí)際可視像素點(diǎn),增強(qiáng)了整體視覺(jué)效果。
繼電器模塊在增強(qiáng)系統(tǒng)報(bào)警功能多樣性方面發(fā)揮重要作用。為了防止在單片機(jī)復(fù)位過(guò)程中發(fā)生誤觸動(dòng)作,在該系統(tǒng)中,選用了三極管(PNP)繼電器,并實(shí)施了低電平觸發(fā)的控制邏輯,從而提高了系統(tǒng)的穩(wěn)定性和可靠性。
蜂鳴器模塊的主要職責(zé)是警示海上作業(yè)人員。本文采用了有源蜂鳴器,其內(nèi)部集成了專門(mén)的發(fā)聲電路(源振蕩),從而構(gòu)成了1 個(gè)高效且可靠的發(fā)聲裝置。這種有源蜂鳴器能夠提供清晰響亮的聲音,保證在各種工作環(huán)境下都能有效地傳達(dá)警示信息。
該系統(tǒng)是一個(gè)完整的船舶近距離避碰系統(tǒng),基于STC15-F2K61S2 設(shè)計(jì),并由很多功能模塊組成。
該系統(tǒng)首先通過(guò)數(shù)據(jù)采集機(jī)構(gòu)(激光測(cè)距模塊)收集距離數(shù)據(jù),這些數(shù)據(jù)隨后被傳輸?shù)綌?shù)據(jù)處理機(jī)構(gòu)(IAP15F2K61S2芯片),該芯片采用線性調(diào)頻激光測(cè)距算法對(duì)數(shù)據(jù)進(jìn)行篩選,以剔除誤差較大的數(shù)據(jù),從而獲得高精度的距離信息。在代碼中,本文預(yù)設(shè)了閾值,劃分了4 個(gè)不同的報(bào)警區(qū)域,每個(gè)報(bào)警區(qū)域都配置了不同的報(bào)警方式,以便通過(guò)用戶交互機(jī)構(gòu)及時(shí)警示海上作業(yè)人員并采取相應(yīng)操作。數(shù)碼管用于實(shí)時(shí)顯示當(dāng)前距離信息以及平均距離。按鍵功能包括切換當(dāng)前距離界面、平均距離界面、進(jìn)入實(shí)時(shí)時(shí)鐘界面、關(guān)閉LED 燈、關(guān)閉繼電器以及關(guān)閉蜂鳴器等。LED 燈根據(jù)4 個(gè)不同的閾值區(qū)域,通過(guò)亮、滅和流水燈等操作來(lái)警示作業(yè)人員潛在的碰撞風(fēng)險(xiǎn)。蜂鳴器和繼電器也會(huì)在不同的閾值區(qū)域中以不同的響應(yīng)頻率發(fā)出警報(bào),警示作業(yè)人員注意避碰。
系統(tǒng)工作原理圖中的各模塊機(jī)構(gòu)如圖2所示。數(shù)據(jù)采集機(jī)構(gòu)主要依賴激光測(cè)距模塊進(jìn)行數(shù)據(jù)采集。由于海上環(huán)境易受風(fēng)浪、天氣等外界因素影響,因此其他測(cè)距方式難以滿足高精度測(cè)距的需求。激光測(cè)距在穩(wěn)定性和精確性方面表現(xiàn)出色。結(jié)合線性調(diào)頻激光測(cè)距算法,能有效篩選并剔除誤差較大的數(shù)據(jù),從而顯著提高測(cè)距數(shù)據(jù)的可靠性,與傳統(tǒng)的相位式激光測(cè)距方式相比是一大優(yōu)勢(shì)。數(shù)據(jù)處理機(jī)構(gòu)的核心是IAP15F2K61S2 芯片。該主控芯片不僅價(jià)格低,而且可靠性高??紤]到本系統(tǒng)中激光傳感器間復(fù)雜的數(shù)據(jù)交互需求,該芯片憑借強(qiáng)大的數(shù)據(jù)處理能力,保證了數(shù)據(jù)的穩(wěn)定傳輸與處理,為系統(tǒng)的穩(wěn)定運(yùn)行提供了保障。
圖2 系統(tǒng)工作原理圖
用戶交互機(jī)構(gòu)由數(shù)碼管、獨(dú)立按鍵、LED 燈、蜂鳴器以及繼電器組成,旨在實(shí)現(xiàn)以下功能。
數(shù)碼管主要用于顯示實(shí)時(shí)距離和實(shí)時(shí)時(shí)鐘。當(dāng)系統(tǒng)判斷為安全距離時(shí),數(shù)碼管顯示實(shí)時(shí)時(shí)間。一旦探測(cè)到障礙物靠近,數(shù)碼管將迅速切換至距離顯示界面,展示當(dāng)前距離數(shù)據(jù)和障礙物的平均距離。
獨(dú)立按鍵具有多項(xiàng)實(shí)用功能,例如關(guān)閉LED 燈報(bào)警、打開(kāi)實(shí)時(shí)時(shí)鐘界面以及進(jìn)入障礙物距離平均值顯示界面等。
當(dāng)距離過(guò)近時(shí),LED 燈發(fā)揮報(bào)警作用:當(dāng)處于安全距離(>50 m)時(shí),LED 燈保持熄滅;當(dāng)處于遠(yuǎn)距離(40 m~50 m)時(shí),L1和L2亮起;當(dāng)進(jìn)入中距離(30 m~40 m)時(shí),L1和L2呈現(xiàn)呼吸燈狀態(tài);一旦進(jìn)入近距離(<30 m),L1和L2保持呼吸燈狀態(tài),同時(shí)L3~L8啟動(dòng)流水燈模式。LED 燈報(bào)警模式見(jiàn)表1。
表1 LED 燈報(bào)警模式
蜂鳴器報(bào)警設(shè)定如下:當(dāng)處于安全距離和遠(yuǎn)距離時(shí),蜂鳴器保持靜默。但處于中距離和近距離時(shí),蜂鳴器會(huì)啟動(dòng)報(bào)警功能。特別是在近距離,蜂鳴器的報(bào)警響應(yīng)間隔更短,警示更頻繁。
繼電器報(bào)警設(shè)定如下:與蜂鳴器相同,當(dāng)處于安全距離和遠(yuǎn)距離時(shí),繼電器不工作。但當(dāng)測(cè)距距離為30 m~40 m時(shí),繼電器每300 ms 閉合1 次;當(dāng)距離為<30m 時(shí),繼電器的閉合頻率提高,每100 ms 閉合一次。這種設(shè)計(jì)通過(guò)調(diào)整繼電器吸合的時(shí)間間隔,提高了報(bào)警的緊迫性,使船員能更直觀地感知到距離的變化。
在海上,由于海浪、噪聲等干擾因素,激光測(cè)距傳感器的數(shù)據(jù)采集會(huì)受到一定影響,而數(shù)據(jù)采集的準(zhǔn)確性直接關(guān)系到避碰方案的有效性。為了提高船舶測(cè)距的精確度,該設(shè)計(jì)采用了線性調(diào)頻激光測(cè)距算法對(duì)數(shù)據(jù)進(jìn)行優(yōu)化處理,從而使采集到的數(shù)據(jù)更可靠和準(zhǔn)確。
假設(shè)D為臨近船舶與自身船舶的距離,c為光速,N為光波信號(hào)在往返中得到的整周期數(shù),而Δσ為調(diào)制信號(hào)頻率。那么在測(cè)量過(guò)程中,只需要獲取N和Δσ的數(shù)據(jù),利用這些數(shù)據(jù)進(jìn)行計(jì)算,以得出船舶之間的距離D,如公式(1)所示。
式中:t為測(cè)量時(shí)間。
線性調(diào)頻激光測(cè)距的原理與邁克爾遜干涉儀相似。在調(diào)頻激光信號(hào)產(chǎn)生模塊中,常用的驅(qū)動(dòng)方式有鋸齒波或三角波2 種,用于驅(qū)動(dòng)半導(dǎo)體激光器。雖然鋸齒波驅(qū)動(dòng)的調(diào)頻激光信號(hào)抗干擾能力較強(qiáng),但在系統(tǒng)靈敏度等方面卻不如三角波驅(qū)動(dòng)的調(diào)頻激光信號(hào)[3]。綜合考慮海上環(huán)境的實(shí)際情況,筆者采用三角波信號(hào)的激光器進(jìn)行測(cè)距驅(qū)動(dòng)。
筆者采用線性調(diào)頻激光測(cè)距算法進(jìn)行距離測(cè)量,如公式(2)所示。
式中:T為調(diào)制周期;B為調(diào)頻帶寬;fIF為差頻信號(hào)的頻率。
在相同的時(shí)間域中,通過(guò)對(duì)比發(fā)射信號(hào)與回波信號(hào),發(fā)現(xiàn)差頻信號(hào)的頻率在特定時(shí)間范圍內(nèi)保持不變。如果調(diào)制周期和調(diào)頻帶寬都是已知的且保持不變,就能根據(jù)這些數(shù)據(jù)計(jì)算距離D。該方法顯著提高了測(cè)量精度,且抗干擾能力較強(qiáng)。
線性調(diào)頻激光測(cè)距技術(shù)的固有分辨率如公式(3)所示。
式中:ΔR為三角波調(diào)制信號(hào)的帶寬;B為三角波調(diào)制信號(hào)的帶寬;Δτd為延時(shí)td后的回波信號(hào)瞬時(shí)頻率。
由公式(3)可知,線性調(diào)頻激光測(cè)距技術(shù)的固有分辨率與三角波調(diào)制信號(hào)的帶寬之間存在反比關(guān)系,因此,增加調(diào)頻激光信號(hào)的調(diào)頻帶寬,可以提高距離分辨率[4]。與傳統(tǒng)的相位式激光測(cè)距相比,基于線性調(diào)頻的激光測(cè)距算法在測(cè)距精度方面具有明顯優(yōu)勢(shì)。
數(shù)據(jù)處理核心代碼如下:
while(1)
{
Status=vl53l0x_start_single_test(&vl53l0x_dev,&vl53l0x_data,buf); //執(zhí)行一次測(cè)量
if(Status==VL53L0X_ERROR_NONE)
printf("d: %4imm ",Distance_data);//打印測(cè)量距離
else
printf("Measurement is Error!!! ");
//delay_ms(100);
i++;
if(i>=10)
{
i=0;
LED0=!LED0;
}
}
本節(jié)將通過(guò)數(shù)值分析對(duì)比,進(jìn)一步說(shuō)明應(yīng)用線性調(diào)頻激光測(cè)距算法后的數(shù)據(jù)更具可靠性和穩(wěn)定性。運(yùn)用線性調(diào)頻激光測(cè)距算法與運(yùn)用相位式激光測(cè)距方式的數(shù)值分析對(duì)比見(jiàn)表2。
表2 應(yīng)用線性調(diào)頻激光測(cè)距算法的數(shù)值對(duì)比
經(jīng)過(guò)對(duì)上述數(shù)值的分析與對(duì)比,可以得出以下結(jié)論:在不采用線性調(diào)頻激光測(cè)距算法的情況下,測(cè)量距離越遠(yuǎn),測(cè)量數(shù)據(jù)的誤差越大。當(dāng)應(yīng)用線性調(diào)頻激光測(cè)距算法進(jìn)行數(shù)據(jù)測(cè)量時(shí),不僅數(shù)據(jù)波動(dòng)幅度變小,而且其誤差也相對(duì)較小。由此可以推斷出,應(yīng)用線性調(diào)頻激光測(cè)距算法的數(shù)據(jù)測(cè)量的穩(wěn)定性與準(zhǔn)確性更高。
隨著海上交通流量的日益增多和復(fù)雜的會(huì)遇態(tài)勢(shì)的頻繁出現(xiàn),航海技術(shù)的各方面都面臨著新的挑戰(zhàn),對(duì)海上安全避碰技術(shù)提出了更高的要求[5]。為了解決海上近距離避碰的問(wèn)題,本文設(shè)計(jì)了一種用于港口碼頭的船舶避碰系統(tǒng),并對(duì)該系統(tǒng)進(jìn)行了整體性描述。其中,重點(diǎn)介紹了線性調(diào)頻激光測(cè)距算法測(cè)距部分的原理,該算法顯著提高了測(cè)距精度,以獲取準(zhǔn)確的距離信息,并根據(jù)評(píng)估結(jié)果判斷是否需要生成避碰方案,當(dāng)距離過(guò)近時(shí)對(duì)海上作業(yè)人員進(jìn)行報(bào)警提示。