本發(fā)明涉及水下通信技術(shù)領(lǐng)域,特別涉及一種面向水中機(jī)器人的水下通信方法。
背景技術(shù):
隨著陸地資源的不斷消耗,海洋的開發(fā)越來越具有特殊的戰(zhàn)略地位和軍事價(jià)值,如果能在海域中建立水下通信網(wǎng)絡(luò)將會(huì)對(duì)國(guó)家的軍事、經(jīng)濟(jì)帶來更深的變革。同時(shí),若能使水中多機(jī)器人相互通信,可以實(shí)現(xiàn)多機(jī)器人協(xié)作,通過機(jī)器人編隊(duì)完成單個(gè)機(jī)器人難以完成的復(fù)雜任務(wù),提高工作效率。
然而與陸地和空間通信相比,海洋中通信網(wǎng)絡(luò)的發(fā)展水平還很落后。特別是對(duì)能量和體積都有限的小型水中機(jī)器人來說,急需一種有效的水下通信方式。但是,水下通信技術(shù)一直是困擾人們的難題。比如,在陸地和太空中已經(jīng)非常發(fā)達(dá)的無線電通訊方法,由于存在嚴(yán)重的衰減,幾乎無法在水下工作;而水聲通信存在環(huán)境噪聲高、較大的多普勒頻移和多徑效應(yīng)等問題,若想把該方法應(yīng)用于小型水中機(jī)器人,還將面臨通信設(shè)備體積大、能耗高等問題;光學(xué)通信對(duì)水質(zhì)要求很高,無法在渾濁的水體中應(yīng)用。這些水下通信方法,雖然可滿足一定條件水中通信的要求,但對(duì)于小型水中機(jī)器人中通信方式的應(yīng)用都有各自的缺陷。
發(fā)明專利cn105827270a公開了一種面向水中機(jī)器人的水下通信裝置,具有應(yīng)用環(huán)境限制少、通信速率快、通信可靠性高、實(shí)時(shí)性好、通信延遲少、體積緊湊等優(yōu)點(diǎn)。該專利采用的是水中電場(chǎng)通信的方法,主要實(shí)現(xiàn)了通信裝置的建立以及實(shí)現(xiàn)水中機(jī)器人之間的雙向通信。目前該領(lǐng)域的研究正處于起步階段,且亟待出現(xiàn)針對(duì)該通信裝置實(shí)現(xiàn)多機(jī)器人通信的方法。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的旨在至少解決所述技術(shù)缺陷之一。
為此,本發(fā)明的目的在于提出一種面向水中機(jī)器人的水下通信方法,具有可靠性高,檢測(cè)信道狀態(tài)準(zhǔn)確、增減結(jié)點(diǎn)方便,通信干擾少,環(huán)境適應(yīng)性好、體積緊湊等優(yōu)點(diǎn)。
為了實(shí)現(xiàn)上述目的,本發(fā)明的實(shí)施例提供一種面向水中機(jī)器人的水下通信方法,包括如下步驟:
步驟s1,建立面向水中機(jī)器人的水下通信網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和水下通信網(wǎng)絡(luò)協(xié)議,其中,所述水下通信網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)采用分布式設(shè)計(jì),所述水下通信網(wǎng)絡(luò)協(xié)議采用分層設(shè)計(jì),包括:物理層、數(shù)據(jù)鏈路層和應(yīng)用層;
步驟s2,基于上述面向水中機(jī)器人的水下通信網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和水下通信網(wǎng)絡(luò)協(xié)議,利用水下通信網(wǎng)絡(luò)信道檢測(cè)設(shè)備,檢測(cè)水中機(jī)器人之間的通信是否存在電場(chǎng)信號(hào),以根據(jù)檢測(cè)結(jié)果判斷信道狀態(tài),以實(shí)現(xiàn)信道的監(jiān)聽;
步驟s3,當(dāng)有所述水中機(jī)器人請(qǐng)求發(fā)送數(shù)據(jù)時(shí),基于載波監(jiān)聽多點(diǎn)接入碰撞檢測(cè)(csma/ca:carriersensemultipleaccesswithcollisionavoidance)協(xié)議設(shè)計(jì)的水下電場(chǎng)通信數(shù)據(jù)鏈路層,在此之前檢測(cè)信道狀態(tài),在確定信道空閑后,及時(shí)發(fā)送數(shù)據(jù);若信道繁忙,則進(jìn)入隨機(jī)退避過程;
步驟s4,如果信道繁忙,則進(jìn)入隨機(jī)退避過程,所述隨機(jī)退避過程采用截?cái)喽M(jìn)制指數(shù)退避算法設(shè)計(jì),其中,等待發(fā)送的結(jié)點(diǎn)在信道空閑后,退避一個(gè)隨機(jī)的時(shí)間后發(fā)送,以減小各結(jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí)出現(xiàn)碰撞的概率。
進(jìn)一步,在所述步驟s1中,采用分布式的水下通信網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中,各個(gè)結(jié)點(diǎn)自主運(yùn)動(dòng),且以動(dòng)態(tài)方式與其他結(jié)點(diǎn)無線通信。
進(jìn)一步,在所述步驟s1中,所述物理層用于提供通信數(shù)據(jù)的調(diào)制解調(diào)、濾波放大和無線收發(fā);
所述數(shù)據(jù)鏈路層用于實(shí)現(xiàn)多個(gè)所述水中機(jī)器人之間的鏈路上傳送以幀為單位數(shù)據(jù),以確保信道資源的公平分配;
所述應(yīng)用層用于產(chǎn)生或響應(yīng)通信數(shù)據(jù)和指令、定義數(shù)據(jù)和指令的語法和語義,以確保所述水中機(jī)器人的微處理器識(shí)別數(shù)據(jù)和指令。
進(jìn)一步,所述數(shù)據(jù)鏈路層包括介質(zhì)訪問控制(mac:mediumaccesscontrol)協(xié)議,所述介質(zhì)訪問控制協(xié)議用于合理分配水下電場(chǎng)通信信道資源。
進(jìn)一步,在所述步驟s2中,所述水下通信網(wǎng)絡(luò)信道檢測(cè)設(shè)備包括:鎖相環(huán)和運(yùn)算放大器,其中,
所述鎖相環(huán)的輸入端與所述水中機(jī)器人的接收設(shè)備電路相連,用于將所述接收設(shè)備電路收到的電場(chǎng)信號(hào)發(fā)送至所述運(yùn)算放大器的反相輸入端;
所述運(yùn)算放大器的反相輸入端與所述鎖相環(huán)電路的輸出端相連,所述運(yùn)算放大器的同相輸入端接入一比較電平,用于對(duì)所述鎖相環(huán)的輸出電平和比較電平進(jìn)行比較,并將比較結(jié)果通過標(biāo)準(zhǔn)串行通信協(xié)議接口輸出至所述水中機(jī)器人的微控制器。
進(jìn)一步,在所述步驟s3中,
當(dāng)水中機(jī)器人請(qǐng)求發(fā)送數(shù)據(jù)時(shí),需要對(duì)信道進(jìn)行兩次檢測(cè)。
當(dāng)?shù)谝淮螜z測(cè)到信道空閑時(shí),所述水中機(jī)器人在等待分布式幀間間隙(difs:distributedinter-framespacing)后,對(duì)信道進(jìn)行第二次檢測(cè),否則返回第一次檢測(cè),推遲發(fā)送數(shù)據(jù);
當(dāng)?shù)诙螜z測(cè)到信道空閑時(shí),則進(jìn)行發(fā)送,否則進(jìn)入隨機(jī)退避過程。
進(jìn)一步,在所述步驟s4中,所述的隨機(jī)退避過程,包括:
首先,確定基本退避時(shí)間,稱為時(shí)隙,記為τ;確定離散的整數(shù)集合[0,1,...,(2k-1)],稱為競(jìng)爭(zhēng)窗口;其中,參數(shù)k需要按照通信結(jié)點(diǎn)數(shù)量選取,當(dāng)結(jié)點(diǎn)數(shù)量較少時(shí),可取為結(jié)點(diǎn)個(gè)數(shù);再?gòu)母?jìng)爭(zhēng)窗口中選取一個(gè)隨機(jī)數(shù),稱為退避數(shù),記為r。
在隨機(jī)退避過程中,每等待一個(gè)時(shí)隙τ,檢測(cè)一次信道狀態(tài),若此時(shí)信道空閑,則將退避數(shù)r減1,直到r減至0,可進(jìn)行數(shù)據(jù)發(fā)送;反之,則重復(fù)執(zhí)行等待時(shí)隙τ,判斷信道狀態(tài)的步驟,直到信道空閑。水中機(jī)器人至少需要等待r倍的τ才能進(jìn)行發(fā)送。
進(jìn)一步,在所述步驟s3之后,還包括如下步驟:
步驟s4,采用matlab仿真工具仿真通信協(xié)議的運(yùn)行,以及多個(gè)水中機(jī)器人的實(shí)際通信應(yīng)用,采用了動(dòng)態(tài)圖形式展示了協(xié)議的運(yùn)行過程。
根據(jù)本發(fā)明實(shí)施例的面向水中機(jī)器人的水下通信方法,將水下電場(chǎng)通信網(wǎng)絡(luò)協(xié)議分為物理層、數(shù)據(jù)鏈路層和應(yīng)用層,基于無線通信網(wǎng)絡(luò)載波監(jiān)聽多點(diǎn)接入碰撞檢測(cè)協(xié)議設(shè)計(jì)了水下電場(chǎng)通信網(wǎng)絡(luò)數(shù)據(jù)鏈路層mac協(xié)議,解決水中多機(jī)器人通信信道共享,產(chǎn)生相互碰撞等技術(shù)難題,有效降低通信誤碼率,提高通信速率。
本發(fā)明通過水下電場(chǎng)實(shí)現(xiàn)的通信過程并實(shí)時(shí)監(jiān)測(cè)信道狀態(tài),基于csma/ca協(xié)議設(shè)計(jì)了數(shù)據(jù)鏈路層mac協(xié)議,根據(jù)截?cái)喽M(jìn)制指數(shù)退避算法設(shè)計(jì)了隨機(jī)退避過程,在水中機(jī)器人上進(jìn)行了實(shí)際應(yīng)用,解決了多結(jié)點(diǎn)水下電場(chǎng)通信時(shí)因信道共享發(fā)生碰撞的難題,可以有效的降低通信碰撞發(fā)生的概率,提高了網(wǎng)絡(luò)的吞吐量和可靠性,增強(qiáng)了通信網(wǎng)絡(luò)的穩(wěn)定性,保證了整個(gè)裝置可靠性和擴(kuò)展性。
本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。
附圖說明
本發(fā)明的上述和/或附加的方面和優(yōu)點(diǎn)從結(jié)合下面附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中:
圖1為根據(jù)本發(fā)明實(shí)施例的面向水中機(jī)器人的水下通信方法的流程圖;
圖2為根據(jù)本發(fā)明實(shí)施例的面向水中機(jī)器人的水下通信協(xié)議運(yùn)行示意圖;
圖3為根據(jù)本發(fā)明實(shí)施例的信道狀態(tài)檢測(cè)電路圖;
圖4為根據(jù)本發(fā)明實(shí)施例的基于csma/ca協(xié)議的水下電場(chǎng)通信數(shù)據(jù)鏈路層mac協(xié)議的流程圖。
具體實(shí)施方式
下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對(duì)本發(fā)明的限制。
本發(fā)明實(shí)施例提出一種面向水中機(jī)器人的水下通信方法,該方法適用于基于電場(chǎng)通信網(wǎng)絡(luò)的小型水中機(jī)器人的組網(wǎng)、通信、協(xié)作,有利于多個(gè)水中機(jī)器人協(xié)同完成任務(wù),可以解決多個(gè)水中機(jī)器人通信發(fā)生沖突的問題,能夠適應(yīng)復(fù)雜環(huán)境,保障信息網(wǎng)絡(luò)的穩(wěn)定性,并滿足通信實(shí)時(shí)性,是一種有效、實(shí)用的技術(shù)方案,應(yīng)用前景好。
如圖1所示,本發(fā)明實(shí)施例的面向水中機(jī)器人水下通信方法,包括如下步驟:
步驟s1,建立面向水中機(jī)器人的水下通信網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和水下通信網(wǎng)絡(luò)協(xié)議。
水下通信網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)采用分布式設(shè)計(jì)。在本發(fā)明的一個(gè)實(shí)施例中,采用分布式的水下通信網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中,其特點(diǎn)是無中心,自組織,沒有固定的基礎(chǔ)設(shè)施,每個(gè)結(jié)點(diǎn)都可自主運(yùn)動(dòng),且以動(dòng)態(tài)的方式保持與其他結(jié)點(diǎn)的聯(lián)系的無線網(wǎng)絡(luò)。
水下通信網(wǎng)絡(luò)協(xié)議采用分層設(shè)計(jì),本發(fā)明的水下通信網(wǎng)絡(luò)協(xié)議是將水中機(jī)器人的水下通信網(wǎng)絡(luò)協(xié)議棧分為三層結(jié)構(gòu),包括:物理層、數(shù)據(jù)鏈路層和應(yīng)用層。
(1)物理層用于提供通信數(shù)據(jù)的調(diào)制解調(diào)、濾波放大和無線收發(fā)等技術(shù)。
具體地,物理層為通信網(wǎng)絡(luò)中的最底層,負(fù)責(zé)數(shù)據(jù)的調(diào)制解調(diào)和無線收發(fā)。在發(fā)送端,將水中機(jī)器人數(shù)據(jù)鏈路層產(chǎn)生的數(shù)字信號(hào)轉(zhuǎn)換成能在水中傳播的電場(chǎng)信號(hào)。在接收端,檢測(cè)水中的電場(chǎng)信號(hào),并通過濾波、放大,把信號(hào)恢復(fù)成發(fā)送端發(fā)來的數(shù)字信號(hào)。上述功能主要通過水中機(jī)器人的發(fā)送和接收設(shè)備執(zhí)行。
(2)數(shù)據(jù)鏈路層用于實(shí)現(xiàn)多個(gè)水中機(jī)器人之間的鏈路上傳送以幀為單位數(shù)據(jù),以確保信道資源的公平分配。
在本發(fā)明的一個(gè)實(shí)施例中,數(shù)據(jù)鏈路層包括mac協(xié)議,mac協(xié)議用于合理分配水下電場(chǎng)通信信道資源。
具體地,數(shù)據(jù)鏈路層負(fù)責(zé)在水中機(jī)器人之間的鏈路上傳送以幀為單位的數(shù)據(jù),能在相互競(jìng)爭(zhēng)的水中機(jī)器人之間公平地分配信道資源,包括良好設(shè)計(jì)的mac協(xié)議。在發(fā)送端,數(shù)據(jù)鏈路層負(fù)責(zé)將應(yīng)用層的數(shù)據(jù)和指令封裝成帶有首部和尾部的幀,保證數(shù)據(jù)可以通過通信網(wǎng)絡(luò)成功地發(fā)送到目的地;在接收端,數(shù)據(jù)鏈路層負(fù)責(zé)把物理層接收到的二進(jìn)制數(shù)據(jù)重新組裝成幀,并上交給應(yīng)用層。上述功能主要通過水中機(jī)器人的微控制器執(zhí)行。
(3)應(yīng)用層用于產(chǎn)生或響應(yīng)通信數(shù)據(jù)和指令、定義數(shù)據(jù)和指令的語法和語義,以確保水中機(jī)器人的微處理器識(shí)別數(shù)據(jù)和指令,負(fù)責(zé)微處理器與微控制器之間的通信。
具體地,應(yīng)用層負(fù)責(zé)產(chǎn)生或響應(yīng)通信數(shù)據(jù)和指令,定義數(shù)據(jù)和指令的語法、語義,以及水中機(jī)器人的微處理器與微控制器之間的通信和語義、語法識(shí)別。上述功能主要通過水中機(jī)器人的微處理器、微控制器實(shí)現(xiàn)。
步驟s2,基于上述面向水中機(jī)器人的水下通信網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和水下通信網(wǎng)絡(luò)協(xié)議,利用水下通信網(wǎng)絡(luò)信道檢測(cè)設(shè)備,檢測(cè)水中機(jī)器人之間的通信是否存在電場(chǎng)信號(hào),以根據(jù)檢測(cè)結(jié)果判斷信道狀態(tài),以實(shí)現(xiàn)信道的監(jiān)聽。
具體地,水下通信網(wǎng)絡(luò)信道檢測(cè)設(shè)備包括:鎖相環(huán)和運(yùn)算放大器。鎖相環(huán)的輸入端與水中機(jī)器人的接收設(shè)備電路相連,用于將接收設(shè)備電路收到的電場(chǎng)信號(hào)發(fā)送至運(yùn)算放大器的反相輸入端。運(yùn)算放大器的反相輸入端與鎖相環(huán)電路的輸出端相連,運(yùn)算放大器的同相輸入端接比較電平,用于對(duì)鎖相環(huán)的輸出電平和比較電平進(jìn)行比較,并將比較結(jié)果輸出至水中機(jī)器人的微控制器。
如圖3所示,信道閑忙檢測(cè)電路包括:鎖相環(huán)2、運(yùn)算放大器3、蓄電池4、滑動(dòng)變阻器5、電容6和電阻7。
具體地,上級(jí)電路通過端口1將電場(chǎng)信號(hào)發(fā)送至鎖相環(huán)2,經(jīng)鎖相環(huán)2檢測(cè)為電場(chǎng)通信信號(hào)后輸出。該信號(hào)為一矩形信號(hào),經(jīng)過由電容6和電阻7組成的rc充放電電路后成為高電平信號(hào),進(jìn)而輸出至運(yùn)算放大器3的反相輸入端。
蓄電池4的正極分為兩路,一路經(jīng)滑動(dòng)變阻器5與運(yùn)算放大器3的同相輸入端相連,另一路與運(yùn)算放大器3的正極相連,運(yùn)算放大器3的負(fù)極和電池4的負(fù)極均接地。
運(yùn)算放大器3將同相輸入端的電平信號(hào)與反相輸入端的電平信號(hào)進(jìn)行比較,將比較結(jié)果由運(yùn)算放大器3的輸出端輸出至水中機(jī)器人的微控制器,從而使水中機(jī)器人的微控制器得到信道空閑或繁忙狀態(tài)的標(biāo)志。將這一標(biāo)志通過標(biāo)準(zhǔn)串行通信協(xié)議接口傳至微控制器,可判斷信道狀態(tài),滿足了協(xié)議對(duì)信道的“監(jiān)聽”的需求。
在本發(fā)明的一個(gè)實(shí)施例中,通信信道的狀態(tài)可由鎖相環(huán)2是否將電場(chǎng)通信的脈沖信號(hào)傳遞至運(yùn)算放大器3的反相輸入端進(jìn)行判斷。其中,當(dāng)鎖相環(huán)2輸出脈沖信號(hào)時(shí),運(yùn)算放大器3的同相輸入端電壓小于反相輸入端電壓,說明信道繁忙;反之,當(dāng)鎖相環(huán)2沒有輸出脈沖信號(hào),運(yùn)算放大器3的同相輸入端電壓大于反相輸入端電壓,說明信道空閑。
步驟s3,當(dāng)有水中機(jī)器人請(qǐng)求發(fā)送數(shù)據(jù)時(shí),基于csma/ca協(xié)議設(shè)計(jì)的水下電場(chǎng)通信數(shù)據(jù)鏈路層,在此之前檢測(cè)信道狀態(tài),在確定信道空閑后,及時(shí)發(fā)送數(shù)據(jù);若信道繁忙,則進(jìn)入隨機(jī)退避過程。
水下電場(chǎng)通信數(shù)據(jù)鏈路層mac協(xié)議是基于csma/ca協(xié)議設(shè)計(jì)的,用于解決多各水中機(jī)器人通信信道分配,發(fā)送碰撞等技術(shù)難題。csma/ca協(xié)議是經(jīng)典的無線局域網(wǎng)協(xié)議,是無線局域網(wǎng)標(biāo)準(zhǔn)ieee802.11中重要的一員。csma/ca采用分布式協(xié)調(diào)方式接入信道。
基于csma/ca協(xié)議設(shè)計(jì)的水下電場(chǎng)通信數(shù)據(jù)鏈路層的mac協(xié)議,能夠在水中機(jī)器人發(fā)送數(shù)據(jù)前,先檢測(cè)信道閑忙,在確定信道空閑后,及時(shí)發(fā)送數(shù)據(jù)。若信道繁忙,則進(jìn)入根據(jù)隨機(jī)退避過程,各機(jī)器人通過信道競(jìng)爭(zhēng),公平有序地發(fā)送數(shù)據(jù)。
下面參考圖4對(duì)介質(zhì)訪問控制協(xié)議的控制流程進(jìn)行說明。
具體地,當(dāng)水中機(jī)器人開始有數(shù)據(jù)需要通過水下通信信道發(fā)送時(shí),該介質(zhì)訪問控制協(xié)議開始作用,需要對(duì)信道進(jìn)行兩次檢測(cè)。
當(dāng)?shù)谝淮螜z測(cè)到信道空閑時(shí),所述水中機(jī)器人在等待difs后,對(duì)信道進(jìn)行第二次檢測(cè),否則返回第一次檢測(cè),推遲發(fā)送數(shù)據(jù);
當(dāng)?shù)诙螜z測(cè)到信道空閑時(shí),則進(jìn)行發(fā)送,否則進(jìn)入隨機(jī)退避過程。
步驟s4,如果信道繁忙,則進(jìn)入隨機(jī)退避過程,隨機(jī)退避過程采用截?cái)喽M(jìn)制指數(shù)退避(truncatedbinaryexponentialbackoff)算法設(shè)計(jì)。其中,等待發(fā)送的結(jié)點(diǎn)在信道空閑后,退避一個(gè)隨機(jī)的時(shí)間后發(fā)送,以減小各結(jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí)出現(xiàn)碰撞的概率。
具體的,設(shè)置稱為時(shí)隙(timeslot)的基本退避時(shí)間,從競(jìng)爭(zhēng)窗口(contentionwindow)選取隨機(jī)退避數(shù)。當(dāng)進(jìn)入隨機(jī)退避過程,往往是通信信道被其他正在發(fā)送數(shù)據(jù)的水中機(jī)器人占用,而當(dāng)該機(jī)器人完成數(shù)據(jù)發(fā)送后,其他機(jī)器人需要等待退避數(shù)倒數(shù)至0的時(shí)間,從而減小各機(jī)器人發(fā)送數(shù)據(jù)時(shí)出現(xiàn)碰撞的概率,并保證了各機(jī)器人能夠公平地接入信道。
隨機(jī)退避過程,包括:當(dāng)進(jìn)入隨機(jī)退避過程時(shí),首先從競(jìng)爭(zhēng)窗口[0,1,...,(2k-1)]隨機(jī)選取一個(gè)退避數(shù),記為r。每等待一個(gè)時(shí)隙τ,檢測(cè)一次信道狀態(tài),若此時(shí)信道空閑,則將退避數(shù)r減1,直到r減至0時(shí),可進(jìn)行數(shù)據(jù)發(fā)送;反之,則重復(fù)執(zhí)行等待時(shí)隙τ,判斷信道狀態(tài)的步驟,直到信道空閑。水中機(jī)器人至少需要等待r倍的τ才能進(jìn)行發(fā)送。
本發(fā)明可使多水中機(jī)器人相互通信時(shí),對(duì)信道的合理競(jìng)爭(zhēng),確定發(fā)送順序,以實(shí)現(xiàn)對(duì)有限信道資源的分配,解決了該通信方法中多個(gè)機(jī)器人在同一時(shí)刻發(fā)送數(shù)據(jù)發(fā)生沖突的問題。
此外,在步驟s3之后,還包括如下步驟:
步驟s4,采用matlab仿真工具仿真通信協(xié)議的運(yùn)行,以及多個(gè)水中機(jī)器人的實(shí)際通信應(yīng)用,采用了動(dòng)態(tài)圖形式展示了協(xié)議的運(yùn)行過程。
matlab仿真根據(jù)水中機(jī)器人的水下通信協(xié)議的要求,設(shè)計(jì)了直觀、簡(jiǎn)單、有效的展示程序,并對(duì)發(fā)送、競(jìng)爭(zhēng)、等待等不同的情況做出展示,采用了動(dòng)態(tài)圖形式展示了協(xié)議的運(yùn)行過程。
具體地,如圖2所示,通過matlab仿真工具對(duì)通信協(xié)議的運(yùn)行進(jìn)行了仿真,展示3個(gè)結(jié)點(diǎn)依次對(duì)通信信道進(jìn)行競(jìng)爭(zhēng),隨機(jī)退避的過程,包括從競(jìng)爭(zhēng)窗口中選擇退避數(shù)、等待、發(fā)送的過程。
結(jié)點(diǎn)1在t=os時(shí)產(chǎn)生發(fā)送數(shù)據(jù)需求,檢測(cè)信道空閑,等待difs后發(fā)送(結(jié)點(diǎn)1子圖的第一個(gè)三角形所示)。
結(jié)點(diǎn)2、3分別在t=0.15s和t=0.2s產(chǎn)生發(fā)送數(shù)據(jù)需求,但檢測(cè)發(fā)現(xiàn)信道繁忙,因此從競(jìng)爭(zhēng)窗口中分別選取退避數(shù)3和5,進(jìn)入隨機(jī)退避過程。由于結(jié)點(diǎn)1占用了信道,結(jié)點(diǎn)2、3的退避數(shù)一直保持不變(如結(jié)點(diǎn)2、3子圖的第一個(gè)矩形所示)。
結(jié)點(diǎn)1在t=0.4s發(fā)送完畢,結(jié)點(diǎn)2、3檢測(cè)到信道空閑,退避數(shù)開始減少。
結(jié)點(diǎn)2的退避數(shù)在t=0.42s減少至0,進(jìn)行發(fā)送(如結(jié)點(diǎn)2子圖的第一個(gè)三角形所示)。結(jié)點(diǎn)3繼續(xù)等待。
結(jié)點(diǎn)1在t=0.51s產(chǎn)生新的發(fā)送數(shù)據(jù)需求,它需要從競(jìng)爭(zhēng)窗口中選取新的退避數(shù)并進(jìn)行等待,這一退避數(shù)要大于結(jié)點(diǎn)3的退避數(shù)(如結(jié)點(diǎn)1子圖的第一個(gè)矩形所示)。
結(jié)點(diǎn)2在t=0.82s發(fā)送完畢,結(jié)點(diǎn)1、3的檢測(cè)到信道空閑,退避數(shù)開始減少。隨后,結(jié)點(diǎn)3的退避數(shù)減少至0,進(jìn)行發(fā)送(如結(jié)點(diǎn)3子圖的第一個(gè)三角所示)。
之后的過程以此類推。
需要說明的是,由于結(jié)點(diǎn)選取退避數(shù)后未進(jìn)行發(fā)送前,每個(gè)時(shí)隙檢測(cè)信道狀態(tài),只要檢測(cè)到信道空閑則退避數(shù)減1,而剛完成數(shù)據(jù)發(fā)送又產(chǎn)生發(fā)送數(shù)據(jù)需求的結(jié)點(diǎn)需要重新選取退避數(shù),這一退避數(shù)通常大于未發(fā)送數(shù)據(jù)結(jié)點(diǎn)的退避數(shù),從而使未發(fā)送數(shù)據(jù)的結(jié)點(diǎn)優(yōu)先發(fā)送,確保了各結(jié)點(diǎn)接入信道的公平性。
優(yōu)選的,本發(fā)明將競(jìng)爭(zhēng)窗口的參數(shù)定k選為3,從而競(jìng)爭(zhēng)窗口為[0,1,...,(23-1)],可以避免因退避數(shù)過大造成信道浪費(fèi)。
根據(jù)本發(fā)明實(shí)施例的面向水中機(jī)器人的水下通信方法,將水下電場(chǎng)通信網(wǎng)絡(luò)協(xié)議分為物理層、數(shù)據(jù)鏈路層和應(yīng)用層,基于無線通信網(wǎng)絡(luò)載波監(jiān)聽多點(diǎn)接入碰撞檢測(cè)協(xié)議設(shè)計(jì)了水下電場(chǎng)通信網(wǎng)絡(luò)數(shù)據(jù)鏈路層mac協(xié)議,解決水中多機(jī)器人通信信道共享,產(chǎn)生相互碰撞等技術(shù)難題,有效降低通信誤碼率,提高通信速率。
本發(fā)明通過水下電場(chǎng)實(shí)現(xiàn)的通信過程并實(shí)時(shí)監(jiān)測(cè)信道狀態(tài),基于無線網(wǎng)絡(luò)載波監(jiān)聽多點(diǎn)接入碰撞檢測(cè)協(xié)議設(shè)計(jì)了數(shù)據(jù)鏈路層介質(zhì)訪問控制協(xié)議,根據(jù)截?cái)喽M(jìn)制指數(shù)退避算法設(shè)計(jì)了隨機(jī)退避過程,在水中機(jī)器人上進(jìn)行了實(shí)際應(yīng)用,解決了多結(jié)點(diǎn)水下電場(chǎng)通信時(shí)因信道共享發(fā)生碰撞的難題,可以有效的降低通信碰撞發(fā)生的概率,提高了網(wǎng)絡(luò)的吞吐量和可靠性,增強(qiáng)了通信網(wǎng)絡(luò)的穩(wěn)定性,保證了整個(gè)裝置可靠性和擴(kuò)展性。
由于本發(fā)明是基于小范圍水域水下電場(chǎng)實(shí)現(xiàn)的,所以相對(duì)于傳統(tǒng)的水下聲學(xué)和光學(xué)通信網(wǎng)絡(luò)具有應(yīng)用環(huán)境限制少、通信速率快、通信可靠性高、實(shí)時(shí)性好、通信延遲少、體積緊湊等優(yōu)點(diǎn),適應(yīng)于有限場(chǎng)水域下多機(jī)器人通信當(dāng)中。
本發(fā)明可以實(shí)現(xiàn)水中機(jī)器人的良好控制以及完成多樣化任務(wù)。具體的,利用本發(fā)明的水下通信協(xié)議,可以實(shí)現(xiàn)多個(gè)水中機(jī)器人之間的通信,多機(jī)器人協(xié)作任務(wù),從而完成單個(gè)機(jī)器人難以完成的復(fù)雜任務(wù),進(jìn)而實(shí)現(xiàn)了水中機(jī)器人編隊(duì),提高工作效率。此外,本發(fā)明還可以用于水下大容量傳感器數(shù)據(jù)的收集。本發(fā)明可以應(yīng)用在在中小河水文監(jiān)測(cè)領(lǐng)域,方便的控制水下監(jiān)測(cè)設(shè)備完成多種檢測(cè)任務(wù),并且操作簡(jiǎn)單,使用安全。
本發(fā)明適用于基于電場(chǎng)通信網(wǎng)絡(luò)的小型水中機(jī)器人的組網(wǎng)、通信、編隊(duì),有利于多個(gè)水中機(jī)器人協(xié)同完成任務(wù),作為一種有效、實(shí)用的技術(shù)方案,應(yīng)用前景看好。
在本說明書的描述中,參考術(shù)語“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說明書中,對(duì)上述術(shù)語的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。
盡管上面已經(jīng)示出和描述了本發(fā)明的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對(duì)本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在不脫離本發(fā)明的原理和宗旨的情況下在本發(fā)明的范圍內(nèi)可以對(duì)上述實(shí)施例進(jìn)行變化、修改、替換和變型。本發(fā)明的范圍由所附權(quán)利要求及其等同限定。