本發(fā)明涉及水聲傳感器網絡的auv信息采集,尤其涉及一種面向信息采集的基于信息價值最大的auv路徑優(yōu)化方法。
背景技術:
1、由于陸地資源的不斷減少,海洋中蘊含著大量稀有資源,人們開始轉向海底資源探索與開發(fā)。然而惡劣的水下環(huán)境使得人們水下作業(yè)困難重重,因此迄今為止人類所探索利用到的海洋不足10%。人工智能、物聯(lián)網、計算機融合以及水下通信等技術的發(fā)展使人們利用傳感器構建水下網絡監(jiān)測海洋環(huán)境成為可能。我國作為一個海洋資源強國,水聲傳感器網絡(underwater?acoustic?sensor?networks,uasn)技術的研究在提高我國對海洋的開發(fā)利用率、監(jiān)測保衛(wèi)海洋中有著重要作用,對促進我國國民經濟的發(fā)展、提高綜合國力有重大意義。
2、uasn主要是通過自主水下航艇(autonomous?underwater?vehicle,auv)等技術在目標水域中對水下安放的傳感器節(jié)點進行信息采集來實現(xiàn)水下環(huán)境感知、監(jiān)測和控制。每個水下傳感器節(jié)點都配置了聲調制解調器和相應的電池。但一旦節(jié)點部署好,受水下惡劣環(huán)境的影響,更換電池將會是一件較為困難的事。由于現(xiàn)有的水聲通信技術具有帶寬容量有限、誤碼率高、時延可變和通信功率大等特點,因此會導致水下節(jié)點能耗的增加,而多數(shù)節(jié)點的能量耗盡則意味著整個水聲傳感器網絡的死亡,無法給auv信息采集任務提供更多的信息價值(value?of?information,voi)。為了提高auv信息采集效率、平衡節(jié)點能耗、以及提高網絡voi,專家學者們對uasn的網絡結構進行簡化和研究并提出了uasn成簇算法,在uasn中有著廣泛的應用,該算法將水下網絡中的節(jié)點按照一定的規(guī)則劃分為不同的簇,每個簇由一個簇首節(jié)點和若干個成員節(jié)點組成。其中簇首節(jié)點負責收集和匯總成員節(jié)點的數(shù)據(jù),然后將匯總后的數(shù)據(jù)傳輸?shù)交净蚱渌厥坠?jié)點。成員節(jié)點負責采集自身感知的數(shù)據(jù)并將其發(fā)送給簇首節(jié)點。由于水聲傳感器網絡面臨著水下環(huán)境的復雜性、節(jié)點能量的限制、網絡規(guī)模的龐大等挑戰(zhàn),因此,如何采用有效的成簇算法來降低和平衡水下節(jié)點的能耗、延長網絡生存期,提高網絡voi是一個亟待解決的問題。
3、auv由于其只依靠自身所攜帶的傳感器信息的變化而快速修正航向或者調整航線、不受線纜等外界因素約束、活動范圍廣、受自然因素影響小、信息采集效率髙以及可以自主地航行在人類難以接近或無法預知危險的海洋環(huán)境之中等優(yōu)點,可以克服復雜多變的海洋環(huán)境,且在攜帶能源有限的情況下,依然可以高效出色地完成各種信息采集任務,引起世界各國的高度重視,得到了快速發(fā)展。而路徑規(guī)劃相當于auv的大腦,引導著auv運動,所以auv順利完成任務的先決條件是具備路徑規(guī)劃的能力,即能夠規(guī)劃出一條從起始位置到目標點的符合要求的路徑。路徑規(guī)劃優(yōu)劣的評價指標包括行走路線最短和行走時間最短等可以體現(xiàn)auv工作效率的性能指標,從而體現(xiàn)auv的智能化水平,所以路徑規(guī)劃一直是auv的核心技術之一。近些年來,國內外專家學者們在auv路徑規(guī)劃算法方面的研究已經取得了很大的進展,但是面對復雜且多變的海洋環(huán)境,auv路徑規(guī)劃算法來說仍是一個巨大挑戰(zhàn)。因此,如何研究出一種可降低和平衡水下節(jié)點的能耗、提高網絡voi的成簇算法以及能夠提高auv信息采集效率的路徑規(guī)劃算法成為當前學者們研究的重點,對uasn的應用具有重要理論意義和實際價值。
技術實現(xiàn)思路
1、針對上述現(xiàn)有技術的不足,本發(fā)明基于局部規(guī)劃與全局規(guī)劃相結合的思想,提出了一種面向信息采集的基于信息價值最大的auv路徑優(yōu)化方法,目的是在水聲傳感器網絡(underwater?acoustic?sensor?networks,uasn)中水下傳感器節(jié)點信息價值最大化的基礎上,實現(xiàn)auv的有效避險,從而提高auv信息采集效率。
2、本發(fā)明提出的一種面向信息采集的基于信息價值最大的auv路徑優(yōu)化方法,包括如下步驟:
3、步驟1:采用基于信息價值最大的水聲成簇kk++_leach算法對水聲傳感器網絡中的水下傳感器節(jié)點進行劃分;
4、步驟2:采用基于dijkstra算法和改進的ddpg算法的auv信息采集路徑規(guī)劃算法diddpg構建auv信息采集路徑規(guī)劃模型;
5、步驟3:基于水聲傳感器網絡中水下傳感器節(jié)點的劃分結果,利用auv信息采集路徑規(guī)劃模型對自主水下航艇auv進行路徑規(guī)劃;
6、所述步驟1進一步包括:
7、步驟1.1:獲取當前水聲傳感器網絡中所有水下傳感器節(jié)點的能量,并判斷各水下傳感器節(jié)點的能量是否高于預設的閾值,若是,則將該水下傳感器節(jié)點作為存活節(jié)點,反之,則將將該水下傳感器節(jié)點作為已經死亡的節(jié)點;
8、步驟1.2:采用leach算法中的閾值公式計算閾值t,統(tǒng)計水聲傳感器網絡中的存活節(jié)點數(shù)量,并將閾值t與存活節(jié)點數(shù)量的乘積作為k值;
9、步驟1.3:采用網絡剩余能量平衡策略更新k值;
10、步驟1.4:基于更新后的k值,采用k-means++算法對水聲傳感器網絡中的所有水下傳感器節(jié)點進行聚類,得到k個聚類中心;
11、步驟1.5:基于k個聚類中心,采用k最近鄰算法確定k個簇首節(jié)點;
12、步驟1.6:根據(jù)k個簇首節(jié)點將水聲傳感器網絡中的所有水下傳感器節(jié)點劃分為k個簇;
13、步驟1.7:每個簇內的簇首節(jié)點創(chuàng)建一個tdma時間表并廣播給該簇內的所有成員節(jié)點,所有成員節(jié)點按照接收到的tdma時間表向簇首節(jié)點發(fā)送數(shù)據(jù);
14、所述步驟1.3進一步包括:
15、步驟1.3.1:構建水聲傳感器網絡的節(jié)點能耗模型,包括水下傳感器節(jié)點發(fā)送數(shù)據(jù)的能耗模型和水下傳感器節(jié)點接收數(shù)據(jù)的能耗模型;
16、步驟1.3.2:利用水聲傳感器網絡的節(jié)點能耗模型,計算當前水聲傳感器網絡的平均剩余能量與水聲傳感器網絡中水下傳感器節(jié)點的初始節(jié)點能量的比值,若該比值低于設定的閾值f,則通過將當前k值與超參數(shù)δ相乘來更新k值;
17、所述更新k值的表達式為:
18、
19、其中k′表示更新后的k值;f是設定的閾值;aver_e表示當前水聲傳感器網絡的平均剩余能量;e0表示水下傳感器節(jié)點的初始節(jié)點能量;δ是超參數(shù);
20、步驟1.3.3:判斷更新后的k值是否大于當前水聲傳感器網絡中的存活節(jié)點數(shù)量與設定的超參數(shù)l的乘積,若是,則更新后的k值取當前水聲傳感器網絡中的存活節(jié)點數(shù)量與設定的超參數(shù)l的乘積,若否,則更新后的k值不變;
21、步驟1.3.1中所述水下傳感器節(jié)點發(fā)送數(shù)據(jù)的能耗模型為:
22、
23、其中etx(h,d)表示水下傳感器節(jié)點發(fā)送h?bits數(shù)據(jù)所需能量;d表示發(fā)送數(shù)據(jù)的水下傳感器節(jié)點與接收數(shù)據(jù)的水下傳感器節(jié)點之間的傳輸距離;eelec表示接收和發(fā)送單位比特數(shù)據(jù)所需要的能量;εfs表示自由空間模型系數(shù);εamp表示多路徑衰減模型系數(shù);d0表示傳輸距離的閾值,且
24、所述水下傳感器節(jié)點接收數(shù)據(jù)的能耗模型為:
25、erx(h)=eelec*h
26、其中erx(h)表示水下傳感器節(jié)點接收h?bits數(shù)據(jù)所需能量;
27、所述步驟1.4進一步包括:
28、步驟1.4.1:從水聲傳感器網絡中所有存活節(jié)點中隨機選取一個存活節(jié)點作為初始聚類中心c1;
29、步驟1.4.2:分別計算水聲傳感器網絡中除初始聚類中心c1之外的所有存活節(jié)點與初始聚類中心c1之間的距離;
30、步驟1.4.3:將所有計算出的距離按照從大到小的順序排列,得到排序結果;
31、步驟1.4.4:從排序結果中選取距離最大的存活節(jié)點作為一個新的聚類中心;
32、步驟1.4.5:將新的聚類中心從水聲傳感器網絡中除初始聚類中心c1之外的所有存活節(jié)點中剔除,重復步驟1.4.2-1.4.4,直至獲得k個聚類中心;
33、所述步驟1.5進一步包括:
34、步驟1.5.1:對于k個聚類中心中的任意聚類中心,分別計算該聚類中心到水聲傳感器網絡中各水下傳感器節(jié)點的歐式距離;
35、步驟1.5.2:將該聚類中心到水聲傳感器網絡中各水下傳感器節(jié)點的歐式距離進行從小到大排序,得到排序結果;
36、步驟1.5.3:選擇排序結果中前m個歐式距離對應的水下傳感器節(jié)點作為該聚類中心的m個最近鄰水下傳感器節(jié)點;
37、步驟1.5.4:從該聚類中心的m個最近鄰水下傳感器節(jié)點中選擇剩余能量最大的水下傳感器節(jié)點作為與該聚類中心對應的簇首節(jié)點;
38、步驟1.5.5:重復步驟1.5.1-1.5.4,直至為每一個聚類中心都選擇一個簇首節(jié)點;
39、所述步驟1.6進一步包括:
40、步驟1.6.1:將水聲傳感器網絡中除簇首節(jié)點之外的每一個水下傳感器節(jié)點視為一個普通節(jié)點,并將k個簇首節(jié)點廣播給所有普通節(jié)點;
41、步驟1.6.2:對于任意普通節(jié)點,分別計算該普通節(jié)點與k個簇首節(jié)點的歐氏距離,并根據(jù)計算出的歐氏距離選擇距離最近的簇首節(jié)點,再將該普通節(jié)點作為一個成員節(jié)點加入以該簇首節(jié)點為簇首的簇中;
42、步驟1.6.3:為每一個普通節(jié)點均選擇一個簇加入,將水聲傳感器網絡中的所有水下傳感器節(jié)點劃分為k個簇;
43、步驟2中所述auv信息采集路徑規(guī)劃模型由actor網絡、第一critic網絡和第二critic網絡構成,其中actor網絡中包括:online?actor網絡和target?actor網絡;第一critic網絡中包括:第一online?critic網絡和第一target?critic網絡;第二critic網絡中包括:第二online?critic網絡和第二target?critic網絡;
44、所述步驟3進一步包括:
45、步驟3.1:將auv視為一個智能體,將k個簇首節(jié)點視為k個局部點;
46、步驟3.2:從k個局部點中選定一個起點,并采用dijkstra算法對auv進行全局路徑規(guī)劃,得到一條包含所有局部點的行駛路徑;
47、步驟3.3:隨機初始化auv信息采集路徑規(guī)劃模型,包括:分別初始化actor網絡μ(s|θμ)、第一online?critic網絡第一target?critic網絡第二online?critic網絡和第二target?critic網絡其中s表示智能體的狀態(tài);θμ表示actor網絡中online?actor網絡的網絡參數(shù);st表示當前時刻t智能體的狀態(tài);at表示當前時刻t智能體的動作;表示第一critic網絡的網絡參數(shù);st+1表示下一時刻t+1智能體的狀態(tài);at+1表示下一時刻t+1智能體的動作;表示第二critic網絡中的網絡參數(shù);
48、步驟3.4:初始化經驗回放區(qū)r和隨機噪聲∈;
49、步驟3.5:auv按照步驟3.2中得到的行駛路徑行駛,利用水聲傳感器網絡采集當前時刻auv的航速和位置作為當前時刻t智能體的狀態(tài)st;
50、步驟3.6:將當前時刻t智能體的狀態(tài)st輸入初始化后的actor網絡中并得到當前時刻t智能體的動作at;
51、步驟3.7:根據(jù)預設的auv位置約束條件對auv的位置進行修正,并利用auv在下一時刻修正后的位置獲取下一時刻t+1智能體的狀態(tài)st+1;
52、步驟3.8:構建獎勵函數(shù),并獲取當前時刻智能體的獎勵rt;
53、步驟3.9:將當前時刻t智能體的狀態(tài)st、當前時刻t智能體的動作at、下一時刻t+1智能體的狀態(tài)st+1和當前時刻智能體的獎勵rt組成四元組(st,at,rt,st+1)并存入經驗回放區(qū)r;
54、步驟3.10:根據(jù)基于td誤差的優(yōu)先級采樣策略從經驗回放區(qū)r中選取指定批量數(shù)目的四元組;
55、步驟3.11:將選取的四元組輸入初始化后的actor網絡中,采用目標策略平滑方法分別計算初始化后的第一target?critic網絡和第二target?critic網絡的目標值;
56、yt=rt+γmink=1,2(q′k(st+1,μ′(st+1|θμ′)+ε)k=1,2)
57、ε~clip(n(0,σ),-c,c)
58、其中yt表示目標值;μ′(st+1|θμ′)表示將st+1輸入在target?actor網絡中得到的動作;θμ′表示target?actor網絡的網絡參數(shù);clip()表示高斯分布函數(shù);ε為服從高斯分布n(0,σ)的噪聲,且取值區(qū)間為(-c,c),其中σ為標準差;c為正常數(shù);mink=1,2(q′k(st+1,μ′(st+1|θμ′)+ε)k=1,2)表示將加入噪聲ε后的動作μ′(st+1|θμ′)輸入target?critic網絡;q′k(st+1,μ′(st+1|θμ′)表示將動作μ′(st+1|θμ′)輸入target?critic網絡中得到的最小值;
59、步驟3.12:根據(jù)第一target?critic網絡和第二target?critic網絡的目標值,采用最小化損失函數(shù)計算第一critic網絡和第二critic網絡的損失函數(shù)值并利用采樣策略梯度更新online?actor網絡;
60、步驟3.13:采用軟更新的方法更新第一target?critic網絡、第二target?critic網絡和target?actor網絡的網絡參數(shù);
61、步驟3.14:重復步驟3.5-3.13,直至auv按照步驟3.2中得到的行駛路徑行駛至終點,完成auv的路徑規(guī)劃;
62、步驟3.8中所述獎勵函數(shù)表示為:若auv與障礙物相碰時,取flag=1,則有:
63、reward+=(distance(q,obstacle)-robstacle)/robstacle-1
64、其中reward表示獎勵值;+=表示將等式左右兩側的表達式相加后重新賦值給等式左側的表達式;distance(·)是求兩點之間距離的函數(shù);obstacle表示與auv相碰的障礙物的位置;robstacle表示障礙物的半徑;
65、若auv與障礙物沒有相碰,取flag=0,則有:
66、
67、其中qtarget表示auv行駛過程中目標簇首節(jié)點的位置;q0表示auv的起點。
68、采用上述技術方案所產生的有益效果在于:
69、為了解決水聲傳感器網絡中傳感器節(jié)點能耗不均衡問題,以及提高網絡價值和延長網絡壽命,本發(fā)明方法提出的一種基于信息價值最大的水聲成簇算法(an?improvedclustering?algorithm?based?on?k-means++and?knn?method?with?leach,kk++_leach),通過選舉出能耗均勻、價值量大的簇首節(jié)點,實現(xiàn)了網絡信息價值增幅,進而為auv路徑規(guī)劃提供了更優(yōu)化的數(shù)據(jù)支持。
70、本發(fā)明方法還提出一種基于迪克斯特拉dijkstra算法和改進的深度確定策略梯度(deep?deterministic?policy?gradient,ddpg)算法的auv路徑規(guī)劃算法(auv?pathplanning?algorithm?based?on?dijkstra's?algorithm?and?improved?ddpg?algorithm,diddpg),在保證uasn中傳感器節(jié)點能耗均衡使網絡信息價值最大的基礎上,實現(xiàn)auv有效避險,從而提高auv信息采集效率。