肖慧慧,賀旖琳,胡曉東,鄧 陽
(1.復雜環(huán)境特種機器人控制技術(shù)與裝備湖南省工程研究中心,湖南 湘潭 411104;2.中車株洲電力機車研究所有限公司,
湖南 株洲 412001;3.國網(wǎng)湖南省電力公司湘潭供電分公司,湖南 湘潭 411100)
無人機集群作業(yè)可在枯燥任務(wù)領(lǐng)域、惡劣環(huán)境任務(wù)領(lǐng)域和危險任務(wù)領(lǐng)域發(fā)揮巨大作用,其持續(xù)執(zhí)行任務(wù)、執(zhí)行危險任務(wù)、適應(yīng)惡劣環(huán)境等能力都是有人平臺所無法比擬的[1]。無人機在集群執(zhí)行任務(wù)時需要彼此間進行通信和數(shù)據(jù)交換,信息交互是實現(xiàn)無人機集群的必要條件。信息交互有兩種方式,一種是個體利用環(huán)境作為媒介進行間接信息交互,另一種是個體通過無線廣播、燈光等手段向其鄰居個體傳遞信息的直接信息交互。在無人機集群研究中,一般都通過無線廣播實現(xiàn)直接信息交互。隨著對無人機集群作業(yè)自主性和多任務(wù)方面的要求不斷提升,信息交互會遇到數(shù)據(jù)傳輸量增加、網(wǎng)絡(luò)架構(gòu)和拓撲結(jié)構(gòu)發(fā)生變化等問題,若要保障無人機集群系統(tǒng)有效地執(zhí)行任務(wù),可靠的無人機集群通信組網(wǎng)模式和通信節(jié)點硬件顯得十分必要。本文在分析無人機集群通信特點的基礎(chǔ)上,設(shè)計了一種基于圖論的無人機集群信息傳遞方案,可有效保障動態(tài)網(wǎng)絡(luò)架構(gòu)下的通信連接;研制了微型無人機集群自組織通信網(wǎng)絡(luò)硬件節(jié)點并進行實驗驗證,實現(xiàn)了通信硬件節(jié)點的小型輕量化并滿足可靠性要求,為微型無人機集群通信的實現(xiàn)提供了途徑。
無人機集群是由眾多可移動的個體構(gòu)成的集群,如果將各個個體看作通信節(jié)點,則這些個體就構(gòu)成了一個無線網(wǎng)絡(luò),其通信節(jié)點具有空間分布性[2]。網(wǎng)絡(luò)中的節(jié)點都可能具有移動性,網(wǎng)絡(luò)中新節(jié)點的加入或原節(jié)點的退出以及外界環(huán)境的干擾,會導致傳感器網(wǎng)絡(luò)拓撲結(jié)構(gòu)動態(tài)變化,這些都使得網(wǎng)絡(luò)具有很強的動態(tài)性。由于個體節(jié)點數(shù)量眾多,無法預(yù)先定義通信網(wǎng)絡(luò)結(jié)構(gòu);個體的可移動性又要求能夠?qū)討B(tài)變化的網(wǎng)絡(luò)進行實時重構(gòu),以便于網(wǎng)絡(luò)任務(wù)的執(zhí)行,因此無線網(wǎng)絡(luò)必須具有自組織能力[3-4]。綜上,無人機集群通信具有網(wǎng)絡(luò)節(jié)點分布性、網(wǎng)絡(luò)結(jié)構(gòu)動態(tài)性和網(wǎng)絡(luò)形式自組織性3個基本特點。
本文考慮基于人工勢函數(shù)的集群控制方法,利用無線自組織網(wǎng)絡(luò)實現(xiàn)無人機集群個體間信息交互,則任意個體都需要獲得其他個體的信息,即任意個體之間都需要實現(xiàn)信息通信[5-6]。據(jù)此,可采用圖論相關(guān)知識對無人機集群信息傳遞方案進行分析設(shè)計[7]。
假設(shè)將智能探測集群中的每個探測個體作為一個網(wǎng)絡(luò)節(jié)點,這些網(wǎng)絡(luò)節(jié)點共同組成無線自組織網(wǎng)絡(luò),用圖G(V,E)來表示。其中,V表示圖G所有頂點vi的集合,即所有的網(wǎng)絡(luò)節(jié)點;E表示圖G所有的邊eij構(gòu)成的集合(eij是連接兩個頂點vi和vj的直線,如果兩個頂點存在一條邊,則表示這兩個頂點對應(yīng)的網(wǎng)絡(luò)節(jié)點可以直接進行通信)。假設(shè)一個頂點序列v0,v1, …,vk中任意兩個連續(xù)頂點都存在邊,即存在邊e01,e12,…,e(k-1)k,則稱頂點v0和vk間存在路,記為v0Pvk。如果圖G中的任意兩個頂點vi和vj間均存在路viPvj,則稱圖G是連通的。圖G通常可以采用鄰接矩陣A來表示;A的元素aij用于表示頂點vi和vj間是否存在邊eij,若存在,則aij=1,否則aij=0。這里考慮網(wǎng)絡(luò)節(jié)點間的通信通道是雙向的,即圖G為無向圖,則鄰接矩陣為對稱矩陣。
如果圖G是連通的,則其所表示的無線自組織網(wǎng)絡(luò)中任意節(jié)點間可以以多跳的方式實現(xiàn)信息的傳遞,也就是無人機集群中對應(yīng)的探測個體間可以實現(xiàn)信息交互。因此,無線自組織網(wǎng)絡(luò)需要滿足連通性的要求,這可以通過對鄰接矩陣的檢驗來確定無線自組織網(wǎng)絡(luò)的聯(lián)通性。鄰接矩陣連通性檢驗算法的流程如圖1 所示。設(shè)立3 個集合,分別為連通頂點集合V1、非連通頂點集合V2和待檢驗頂點集合V3,其中V1和V3為空集,V2為圖G的頂點集合V。選取任意頂點vk(不失一般性,可選取v1),將其添加到V3,然后進入循環(huán)檢驗過程。從V3中取出頂點進行檢驗,其被加入到V1,并將其從V2(此時為V)和V3中刪除。假如取出的頂點為vi,檢驗鄰接矩陣中頂點vi和V2中所有頂點對應(yīng)元素的值,如果aij=1,則將頂點vj從V2中去除,并將vj加入V1和V3;一旦出現(xiàn)aij=0,則直接判定圖G是非連通的。重復循環(huán)檢驗過程,直到V3為空集。如果此時V2為空集,則圖G是連通的,否則圖G是非連通的。
圖1 鄰接矩陣連通性檢驗算法流程Fig.1 Flow chart of checking algorithm for adjacency matrix connectivity
考慮到微型無人機集群的飛行區(qū)域一般都在方圓1 km 范圍內(nèi),信息傳輸距離并不太遠,但需要保障無線通信的傳輸速率和可靠性[8]。根據(jù)市場上已有通信模塊情況,綜合考慮發(fā)射功率、接收靈敏度、通信頻率、通信速率、外形尺寸、重量、功耗等硬件參數(shù),選用Jenic5148-001-M04 型通信模塊作為核心硬件,并依此設(shè)計數(shù)據(jù)接口、電源接口和射頻天線接口[9]。
通信模塊中JN5148-001-M04 型芯片采用貼片式設(shè)計,通過轉(zhuǎn)接擴展板將需要的管腳引出,并連接各種標準的接口,以便與上位機進行串口通信、協(xié)議注入、電源接頭等[10]。轉(zhuǎn)接擴展板(圖2)由一系列開關(guān)、按鍵、2 個串行接口、外接電源接口等組成,可在編程模式和收發(fā)模式兩種模式下工作。在編程模式下,經(jīng)編譯的二進制控制程序文件通過串口被注入到JN5148-001-M04中;在收發(fā)模式下,節(jié)點運行JN5148-001-M04 型芯片中的控制程序,依照控制程序進行數(shù)據(jù)的收發(fā)。
圖2 通信節(jié)點轉(zhuǎn)接擴展板實物Fig.2 Practical communication node expansion board
JN5148-001-M04 芯片和轉(zhuǎn)接擴展板共同組成網(wǎng)絡(luò)通信節(jié)點,通過串行接口與上位機連接。上位機將待發(fā)送的數(shù)據(jù)寫入JN5148-001-M04 的RAM 存儲器,JN5148-001-M04 定時讀取并發(fā)送RAM 數(shù)據(jù);同時,JN5148-001-M04 將接收到的數(shù)據(jù)存入RAM 中,上位機通過串行接口讀取RAM 中的接收數(shù)據(jù)。
網(wǎng)絡(luò)節(jié)點控制軟件在Eclipse Platform 軟件開發(fā)平臺下開發(fā),其底層協(xié)議采用了IEEE802.15.4 標準,可以實現(xiàn)節(jié)點地址設(shè)定、通信頻率設(shè)置、數(shù)據(jù)收發(fā)、節(jié)點發(fā)現(xiàn)和識別、路由形成等功能[11]。
網(wǎng)絡(luò)節(jié)點控制軟件的基本設(shè)計是:節(jié)點啟動后,首先進行節(jié)點初始化、地址設(shè)定、無線收發(fā)頻率設(shè)置等,然后進入循環(huán)結(jié)構(gòu)進行數(shù)據(jù)接收處理,而發(fā)送數(shù)據(jù)則由定時時鐘產(chǎn)生中斷來實現(xiàn)。軟件的流程圖見圖3。數(shù)據(jù)的接收處理由數(shù)據(jù)處理函數(shù)來實現(xiàn)。當節(jié)點收到數(shù)據(jù)時,產(chǎn)生數(shù)據(jù)收到事件。數(shù)據(jù)處理函數(shù)檢測是否存在數(shù)據(jù)收到事件并進行相應(yīng)的處理。定時時鐘每隔一定的時間產(chǎn)生一個中斷信號,調(diào)用中斷處理函數(shù),檢查是否有要發(fā)送的數(shù)據(jù),并將數(shù)據(jù)發(fā)送出去。
圖3 網(wǎng)絡(luò)節(jié)點控制軟件流程Fig.3 Flow chart of network node control software
在IEEE 802.15.4 標準中,要求網(wǎng)絡(luò)中存在唯一的協(xié)調(diào)節(jié)點,通過協(xié)調(diào)節(jié)點為其他節(jié)點分配節(jié)點地址[12]。如果采用這種方案,意味著在網(wǎng)絡(luò)中必須存在一個中心控制節(jié)點,每一個新加入的網(wǎng)絡(luò)節(jié)點必須首先從這個中心控制節(jié)點獲取節(jié)點地址后才能加入自組織網(wǎng)絡(luò),而且同一網(wǎng)絡(luò)節(jié)點多次加入時獲取的地址不同,這嚴重限制了無人機集群通信的靈活性,降低了系統(tǒng)的魯棒性。地址固定方法直接給節(jié)點綁定確定的地址,達到了網(wǎng)絡(luò)中無協(xié)調(diào)節(jié)點的目的;同時,繞過了IEEE 802.15.4 標準中規(guī)定的協(xié)調(diào)過程,大大降低了節(jié)點的啟動時間,增加了系統(tǒng)的靈活性,提高了系統(tǒng)的魯棒性。網(wǎng)絡(luò)節(jié)點通過RS232 串口與上位機連接。點對點通信時,目的地址和通信數(shù)據(jù)都需要通過串口傳遞給網(wǎng)絡(luò)節(jié)點控制軟件,因此網(wǎng)絡(luò)節(jié)點控制軟件必須能夠準確獲取目的地址。采用點對點通信標識來實現(xiàn)目的地址的獲取,節(jié)點控制軟件收到上位機發(fā)來的數(shù)據(jù)后,讀取第一個數(shù)據(jù)位并判斷是否為點對點通信標識:如果不是,則設(shè)定目的地址為廣播地址,進行廣播;如果是,則讀取下一個數(shù)據(jù)位,并將其設(shè)為目的地址進行點對點通信。這樣,通過點對點通信標識檢測,實現(xiàn)了廣播通信和任意節(jié)點間的點對點通信。
為了驗證自組織通信網(wǎng)絡(luò)節(jié)點性能和無人機集群信息傳遞方案,分別進行了點對點通信測試、通信恢復測試、故障節(jié)點識別測試和數(shù)據(jù)收發(fā)與距離測試。
點對點通信是指網(wǎng)絡(luò)中的任意一個節(jié)點可以與其他所有節(jié)點進行通信,是無線自組織網(wǎng)絡(luò)的一項重要特征。點對點通信測試是驗證自組織網(wǎng)絡(luò)的點對點通信能力,測試平臺結(jié)構(gòu)如圖4 所示。圖中,每個網(wǎng)絡(luò)節(jié)點通過串口與一臺測試機連接,網(wǎng)絡(luò)節(jié)點與測試機一起構(gòu)成一個測試節(jié)點,4 個測試節(jié)點一起構(gòu)成點對點通信測試平臺。
圖4 點對點通信測試結(jié)構(gòu)圖Fig.4 Structure chart of point-to-point communication test
測試的信息流程如下:
(1)在測試機串口調(diào)試程序的發(fā)送數(shù)據(jù)輸入?yún)^(qū)域輸入要發(fā)送的數(shù)據(jù),其結(jié)構(gòu)為“#接收節(jié)點號數(shù)據(jù)內(nèi)容”。如測試節(jié)點1 要給測試節(jié)點2 發(fā)送數(shù)據(jù)“sf3sdfaadsf”,則在測試節(jié)點1 的串口調(diào)試程序的發(fā)送數(shù)據(jù)輸入?yún)^(qū)域中輸入“#2sf3sdfaadsf”,如圖5(a)所示。
(2)測試節(jié)點1 中的網(wǎng)絡(luò)節(jié)點讀取串口數(shù)據(jù),提取出發(fā)送目的節(jié)點和數(shù)據(jù)內(nèi)容,然后向目的節(jié)點2 發(fā)送這些數(shù)據(jù)。
(3)測試節(jié)點2 中的網(wǎng)絡(luò)節(jié)點收到“sf3sdfaadsf”數(shù)據(jù),通過串口發(fā)給3 號測試機并在其串口調(diào)試程序的接收數(shù)據(jù)顯示區(qū)域顯示“sf3sdfaadsf”,如圖5(b)所示。
(4)分別把測試節(jié)點1,2,3,4 作為發(fā)送節(jié)點,向其余3 個節(jié)點發(fā)送任意數(shù)據(jù)。
測試結(jié)果顯示,接收節(jié)點正確,顯示內(nèi)容正確。這表明自組織中的網(wǎng)絡(luò)節(jié)點都具有點對點通信能力。
圖5 點對點通信測試結(jié)果Fig.5 Test results of point to point communication
通信恢復測試用來檢驗故障排除后的網(wǎng)絡(luò)節(jié)點是否能夠與其他節(jié)點繼續(xù)通信。節(jié)點故障為節(jié)點斷電;故障恢復則是恢復節(jié)點供電,檢驗節(jié)點重啟后是否能夠繼續(xù)與先前形成的網(wǎng)絡(luò)進行通信。具體測試流程如下:
(1)進行點對點通信測試,檢驗是否任意一個節(jié)點都可以向其他節(jié)點發(fā)送數(shù)據(jù),同時也可以接收其他節(jié)點發(fā)來的數(shù)據(jù)。
(2)切斷節(jié)點1 網(wǎng)絡(luò)節(jié)點的供電,檢驗節(jié)點1 是否既無法向其他節(jié)點發(fā)送數(shù)據(jù),也無法接收其他節(jié)點的數(shù)據(jù);對其余3 個節(jié)點(節(jié)點2, 3, 4)進行點對點通信測試。
(3)恢復節(jié)點1 網(wǎng)絡(luò)節(jié)點的供電,檢驗節(jié)點1 是否既可向其他節(jié)點發(fā)送數(shù)據(jù),也可以接收其他節(jié)點的數(shù)據(jù);對其余3 個節(jié)點進行點對點通信測試。
(4)分別對節(jié)點2, 3, 4 重復3.2 節(jié)的步驟(2)和步驟(3)的操作,以驗證所有節(jié)點都具有故障排除后的通信恢復能力。
測試結(jié)果表明,節(jié)點可以自由進出自組織網(wǎng)絡(luò)且不影響其他節(jié)點通信,證明了網(wǎng)絡(luò)節(jié)點具有故障排除后通信自動恢復能力。
故障節(jié)點識別測試用來檢驗網(wǎng)絡(luò)節(jié)點發(fā)生故障后,其他網(wǎng)絡(luò)節(jié)點發(fā)現(xiàn)異常并進行處理的能力。節(jié)點故障通過節(jié)點斷電來模擬,故障恢復通過節(jié)點加電來模擬。測試平臺為自研發(fā)的自組織網(wǎng)絡(luò)節(jié)點測試軟件,其界面如圖6 所示。
圖6 無線自組織網(wǎng)絡(luò)節(jié)點2 測試軟件界面Fig.6 Test software interface of wireless ad hoc network node 2
故障節(jié)點識別測試流程如下:
(1)打開各個網(wǎng)絡(luò)節(jié)點的電源,打開無線自組織網(wǎng)絡(luò)節(jié)點測試軟件;
(2)觀察軟件中各節(jié)點的指示變化,以節(jié)點2 為例,指示變灰,其他節(jié)點的指示變亮,如圖6(a)所示;
(3)關(guān)閉節(jié)點3 電源,觀察軟件中對應(yīng)節(jié)點的指示燈滅,如圖6(b)所示,并記錄系統(tǒng)時間;
(4)重新打開節(jié)點3 電源,觀察軟件中對應(yīng)節(jié)點的指示燈亮,如圖6(c)所示,并記錄系統(tǒng)時間。
測試結(jié)果表明,關(guān)閉某一節(jié)點的電源,則測試軟件中相應(yīng)節(jié)點的指示變暗,能夠識別故障,且識別時間優(yōu)于1 s;重新打開節(jié)點電源,測試軟件中相應(yīng)節(jié)點的指示變亮,故障恢復時間優(yōu)于2 s。
在無人機集群半實物仿真系統(tǒng)試驗時,收集了某一網(wǎng)絡(luò)樣機收到的數(shù)據(jù)并對其進行了分析。分析結(jié)果如下:
(1)接收數(shù)據(jù)時刻從150 s 起至3 331 s 止,共3 181 s。系統(tǒng)共4 個節(jié)點,每個節(jié)點每秒鐘共發(fā)送2~3幀數(shù)據(jù),共200 個字節(jié)。在采集時間內(nèi),共計發(fā)送數(shù)據(jù)幀45 075 幀。
(2)接收到的數(shù)據(jù)共出錯9 次,既沒有出現(xiàn)過連續(xù)兩幀數(shù)據(jù)出錯的情況,也沒有出現(xiàn)出錯幀數(shù)據(jù)中有兩位以上的誤碼,通信誤碼率為9/45 075=0.019 97%。
(3)對樣機在實際環(huán)境中的通信距離進行了實測,2 個通信節(jié)點分別布設(shè)在湘江河岸兩邊某處,測得可正常收發(fā)數(shù)據(jù)的距離為1.1 km,如圖7 所示。
圖7 節(jié)點通信距離測試Fig.7 Node communication distance test
測試結(jié)果表明,通信誤碼率為0.019 97%,達到無線通信準誤碼率(2E-04)要求,且系統(tǒng)設(shè)計時以連續(xù)兩次通信無誤碼情況表示通信有效,通信可靠性在系統(tǒng)設(shè)計允許范圍內(nèi);通信距離為1.1 km,達到通信要求。
本文針對微型無人機集群通信的特點,設(shè)計了基于圖論的無人機集群信息傳遞方案,研制了自組織通信網(wǎng)絡(luò)硬件節(jié)點并設(shè)計了相應(yīng)控制軟件。通過點對點通信、通信恢復、故障節(jié)點識別、數(shù)據(jù)收發(fā)與距離等測試,驗證了該信息傳遞方案的合理性和自組織通信網(wǎng)絡(luò)節(jié)點的可用性,為微型無人機集群通信的實現(xiàn)提供了途徑,也為其他自組織網(wǎng)絡(luò)通信的設(shè)計提供了一種參考。