本發(fā)明涉及無線傳感器網絡領域,尤其涉及一種三維空間內有向傳感器網絡移動節(jié)點覆蓋大目標的實現(xiàn)方法,具體來說就是一種利用有向移動傳感器網絡節(jié)點覆蓋三維空間大目標的方法。
背景技術:
近年來,無線傳感器網絡由于其高度的學科交叉性和廣泛的應用前景受到世界各地學術界和工業(yè)界的高度關注,已成為當前IT領域新興的前沿熱點。根據(jù)采用的傳感器節(jié)點類型,無線傳感器網絡可分為很多種。例如,若節(jié)點帶有攝像裝置,具有視頻采集功能,則稱之為視頻傳感器網絡;若帶有移動裝置,則稱為移動傳感器網絡;若組成網絡的傳感器節(jié)點的感知范圍與方向相關,則稱為有向傳感器網絡。在目標監(jiān)測問題上,有向傳感器在重點方向覆蓋和使用能耗方面相比傳統(tǒng)的全向傳感器更具有優(yōu)勢。從實際應用角度上來看,目前常見的傳感器類型,如圖像、紅外、聲波等均具有方向性,由此可見有向傳感器網絡更為接近實用。
有向傳感器網絡節(jié)點加裝了自主移動裝置,就構成了有向移動傳感器網絡,例如用于軍事、農業(yè)、災難救援中的空中視頻傳感器網絡,其節(jié)點是一架帶有攝像頭的微小型飛行器,由于能夠組網協(xié)同飛行,從而能夠更及時準確地獲取目標區(qū)域的信息。
針對各類無線傳感器網絡,節(jié)點的部署和覆蓋控制問題一直是研究的熱點問題。常用的節(jié)點部署方法主要分為隨機部署、人工部署和自主部署三類。在隨機部署方式中,節(jié)點被一次性隨機拋撒在監(jiān)測區(qū)域內;在人工部署方式中,需要人工手動布設每一個節(jié)點;自主部署是指初始時節(jié)點被隨機布撒,但由于節(jié)點自身帶有移動裝置能夠自主移動,會按著一定的部署方法通過自主移動完成部署。
對于自主部署而言,由于節(jié)點的資源受限,通信范圍和感知范圍都十分有限,因此自主部署算法的好壞會對監(jiān)測區(qū)域覆蓋產生重要影響。好的自主部署算法應盡可能避免重疊覆蓋、盡可能減少覆蓋漏洞,部署過程中盡可能避免節(jié)點之間或節(jié)點與目標之間的相互干擾(如碰撞)。
有向移動傳感器網絡在災難救援中具有具大的應用潛力,可以快速、近距離對災難發(fā)生地點進行全方位監(jiān)測,協(xié)助搜索被困人員、及時反饋現(xiàn)場信息。然而,在實際應用中,被監(jiān)測目標通常具有一定的空間體積,例如一座發(fā)生雪崩的雪山、一座起火的高層建筑物,迫切需要全方位進行監(jiān)測。但是目前已有的自主部署算法,主要是針對二維平面環(huán)境進行區(qū)域覆蓋,針對三維空間大目標表面的覆蓋部署問題,尚未發(fā)現(xiàn)有相關研究成果。因此,本領域技術人員亟待研發(fā)一種利用有向傳感器網絡移動節(jié)點自主覆蓋三維空間大目標的方法。
技術實現(xiàn)要素:
有鑒于此,本發(fā)明要解決的技術問題在于提供一種利用有向移動傳感器網絡節(jié)點覆蓋三維空間大目標的方法,解決了現(xiàn)有技術中有向移動傳感器網絡移動節(jié)點無法針對三維空間大目標表面進行覆蓋部署的問題。
為了解決上述問題,本發(fā)明具體實施方式提供一種利用有向移動傳感器網絡節(jié)點覆蓋三維空間大目標的方法,包括:根據(jù)三維空間大目標的所有外凸點獲得所述三維空間大目標的質心;以所述質心為球心獲得所述三維空間大目標的外接球;根據(jù)移動節(jié)點之間的虛擬力,以及所述移動節(jié)點與所述三維空間大目標的外接球之間的虛擬力圍繞所述三維空間大目標的外接球部署所述移動節(jié)點;根據(jù)所述移動節(jié)點和所述質心的連線調整所述移動節(jié)點的朝向,以使所述朝向指向所述球心。
根據(jù)本發(fā)明的上述具體實施方式可知,利用有向移動傳感器網絡節(jié)點覆蓋三維空間大目標的方法至少具有以下有益效果或特點:基于虛擬力原理,將有向移動傳感器網絡協(xié)同自主部署過程轉化為節(jié)點在虛擬力場中受虛擬力作用而自主移動、自主轉動的過程,能夠實現(xiàn)移動傳感器網絡節(jié)點自主、均勻覆蓋三維空間大目標,從而實現(xiàn)對三維空間大目標的全方位監(jiān)測,節(jié)點部署快、智能化程度高,節(jié)省了人力資源。
附圖說明
下面的所附附圖是本發(fā)明的說明書的一部分,其繪示了本發(fā)明的示例實施例,所附附圖與說明書的描述一起用來說明本發(fā)明的原理。
圖1是有向移動傳感器網絡大目標模型示意圖。
圖2是有向移動傳感器網絡節(jié)點感知模型示意圖。
圖3是有向移動傳感器網絡三維空間大目標移動節(jié)點覆蓋方法執(zhí)行步驟示意圖。
圖4是有向移動傳感器網絡節(jié)點之間的虛擬力示意圖。
圖5是有向移動傳感器網絡節(jié)點與大目標之間的虛擬力示意圖。
圖6是有向移動傳感器網絡節(jié)點方向與大目標之間角度關系示意圖。
圖7是有向移動傳感器網絡部署實例的初始化狀態(tài)示意圖。
圖8是有向移動傳感器網絡部署實例在部署過程中某一時刻狀態(tài)示意圖。
圖9有向移動傳感器網絡部署實例的最終部署狀態(tài)示意圖。
圖10有向移動傳感器網絡部署實例的剖面部署狀態(tài)示意圖。
圖11是利用有向移動傳感器網絡節(jié)點覆蓋三維空間大目標的方法的流程圖。
具體實施方式
為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚明白,下面將以附圖及詳細敘述清楚說明本發(fā)明所揭示內容的精神,任何所屬技術領域技術人員在了解本發(fā)明內容的實施例后,當可由本發(fā)明內容所教示的技術,加以改變及修飾,其并不脫離本發(fā)明內容的精神與范圍。
本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,但并不作為對本發(fā)明的限定。另外,在附圖及實施方式中所使用相同或類似標號的元件/構件是用來代表相同或類似部分。
關于本文中所使用的“第一”、“第二”、…等,并非特別指稱次序或順位的意思,也非用以限定本發(fā)明,其僅為了區(qū)別以相同技術用語描述的元件或操作。
關于本文中所使用的方向用語,例如:上、下、左、右、前或后等,僅是參考附圖的方向。因此,使用的方向用語是用來說明并非用來限制本創(chuàng)作。
關于本文中所使用的“包含”、“包括”、“具有”、“含有”等等,均為開放性的用語,即意指包含但不限于。
關于本文中所使用的“及/或”,包括所述事物的任一或全部組合。
關于本文中所使用的用語“大致”、“約”等,用以修飾任何可以微變化的數(shù)量或誤差,但這些微變化或誤差并不會改變其本質。一般而言,此類用語所修飾的微變化或誤差的范圍在部分實施例中可為20%,在部分實施例中可為10%,在部分實施例中可為5%或是其他數(shù)值。本領域技術人員應當了解,前述提及的數(shù)值可依實際需求而調整,并不以此為限。
某些用以描述本申請的用詞將于下或在此說明書的別處討論,以提供本領域技術人員在有關本申請的描述上額外的引導。
以下結合附圖對本發(fā)明作進一步說明,如說明書附圖1-圖10所示。
所述大目標是指體積較大(少量有向傳感器網絡節(jié)點無法完成覆蓋)且可表現(xiàn)為單一體積的被監(jiān)測物體,如圖1所示。部署完畢后應最大限度覆蓋大目標的表面積。大目標的所有外凸點集合Sa={S1,S2,...,Sk},設大目標的質心為CT,該質心的計算公式如公式(1)所示:
k表示大目標外凸點的最大數(shù)目,通過計算集合內所有外凸點的坐標的算數(shù)平均值即可得到三維質心點,也就是大目標外接球的球心。設外凸點與質心點的最遠距離即大目標外接球的半徑為RT,該半徑的計算公式如公式(2)所示:
所述有向移動傳感器網絡的節(jié)點的感知范圍表示為一個圓錐體,節(jié)點位于圓錐體錐頂,感知范圍可以在空間平動,也可以以錐頂為中心進行旋轉,如圖2所示。節(jié)點感知模型可以用一個八元組<P,θ,C,R引,R斥,CT,RT,Sn>示。其中P表示三維空間中的有向移動傳感器節(jié)點P的位置坐標;θ表示節(jié)點的有向傳感器的感知角度;C表示節(jié)點P的感知范圍的外接球的球心坐標;R引表示節(jié)點最大通信距離,也是節(jié)點間產生虛擬引力的最大距離;R斥表示產生虛擬斥力的最大距離,R斥小于等于R引且大于等于R外;R外為移動節(jié)點感知范圍外接球的半徑;CT表示所述三個維空間大目標的質心;RT表示所述三個維空間大目標的外接球的半徑;Sn為移動節(jié)點的鄰居移動節(jié)點的集合,鄰居移動節(jié)點是指與移動節(jié)點之間的距離小于等于最大通信距離R引的節(jié)點。R外計算公式如公式(3)所示:
S表示節(jié)點P的鄰居節(jié)點集合,所謂鄰居節(jié)點是指與節(jié)點P之間的距離小于等于最大通信距離R引的節(jié)點。
本發(fā)明所述方法具體包括8個執(zhí)行步驟,如圖3所示。有向移動傳感器網絡中的每個節(jié)點在部署過程中各自獨立執(zhí)行該8個步驟:
(1)初始化:節(jié)點獲得需要部署到的大目標外凸點的位置信息點集合,根據(jù)集合內的位置信息,可以得到大目標的質心點,并由此得到以質心點為球心,距離集合內外凸點與質心點的最遠距離為半徑的大目標外接球作為節(jié)點的部署距離基準;
(2)虛擬力的計算:為使節(jié)點能夠在不與大目標發(fā)生碰撞的情況下盡可能接近大目標進行部署工作,根據(jù)節(jié)點與大目標之間的距離,大目標對部署節(jié)點產生虛擬作用力:大目標的外接球的球心產生引力使節(jié)點能夠向大目標聚攏,大目標的外接球邊界產生虛擬斥力使靠近大目標的節(jié)點受到斥力作用不致碰撞大目標。同時為了防止部署過程中發(fā)生的節(jié)點間的碰撞離散問題,所有節(jié)點間產生虛擬作用力:節(jié)點間產生引力使離散的節(jié)點可以相互靠攏,節(jié)點間產生斥力使可能過近的節(jié)點相互遠離;
(3)節(jié)點所受虛擬力為來自鄰居節(jié)點和大目標的虛擬力的合力;
(4)節(jié)點沿合力方向移動一個單位步長;
(5)節(jié)點方向與大目標外接球球心方向的角度偏差的計算:計算節(jié)點的有向傳感器方向與節(jié)點指向大目標外接球球心方向之間的角度偏差;
(6)調整節(jié)點的有向傳感器的方向,使有向傳感器方向指向大目標外接球球心;
(7)返回步驟(2)繼續(xù)執(zhí)行。
所述步驟(2)用于計算部署過程中可能產生的虛擬力。節(jié)點之間根據(jù)距離的遠近存在虛擬引力或者虛擬斥力或者沒有虛擬作用力,如圖4所示。大目標根據(jù)與當前節(jié)點Pn的距離遠近產生虛擬引力或者虛擬斥力或者沒有虛擬作用力,如圖5所示。該步驟可以進一步細化包含如下處理步驟:
(21)設當前節(jié)點為Pn,節(jié)點Pn所有鄰居節(jié)點集合S={P1,P2,…},計算節(jié)點Pn對應的外接球球心Cn,以及每一個鄰居節(jié)點對應的外接球的球心集合C={C1,C2,…};
(22)計算當前節(jié)點Pn的外接球球心Cn與每一鄰居節(jié)點Pm∈S的外接球的球心Cm之間的距離,如公式(4)所示:
(23)計算當前節(jié)點Pn的所有相鄰節(jié)點Pm∈S對節(jié)點Pn的虛擬力,其中虛擬力計算公式如公式(5)所示:
其中,k斥,λ斥為斥力系數(shù),k引,λ引為引力系數(shù)。為單位向量,表示由節(jié)點Pn的外接球球心Cn指向鄰居節(jié)點Pm∈S的外接球球心Cm的引力方向。
(24)計算當前節(jié)點Pn所受所有鄰居節(jié)點虛擬引力和斥力的合力,如公式(6)所示:
(25)設當前節(jié)點為Pn,節(jié)點Pn對應的外接球球心為Cn,計算Pn與大目標外接球球心CT的距離,如公式(7)所示;
(26)計算大目標外接球球心CT對節(jié)點Pn的虛擬引力,如公式(8)所示:
其中,為單位向量,表示由節(jié)點Pn的外接球球心Cn指向大目標外接球球心CT的引力方向。
(27)計算大目標外接球球心CT對節(jié)點Pn的虛擬斥力,如公式(9)所示:
(28)計算當前節(jié)點Pn所受所有來自大目標的虛擬引力和斥力的合力,如公式(10)所示:
所述步驟(5)用于計算節(jié)點的轉動角度,如圖6所示,可進一步細化包含如下處理步驟:
(51)設由當前節(jié)點Pn指向其外接球球心Cn的單位向量為設由當前節(jié)點Pn指向大目標外接球球心CT的單位向量為與的夾角為α。夾角α的計算如公式(11)所示:
(52)若α≤π,節(jié)點轉動方向為順時針,旋轉角度為α,否則為逆時針旋轉2π-α。
如圖7~圖10為本發(fā)明所述方法的一個具體實例。如圖7所示是有向移動傳感器網絡的初始狀態(tài),節(jié)點數(shù)為200個,節(jié)點隨機分布在三維空間區(qū)域中,大目標為一立方體(模擬樓房),其外接球為球體。如圖8所示是有向移動傳感器網絡節(jié)點自主部署過程中某一時刻狀態(tài)。如圖9所示是有向移動傳感器網絡最終部署狀態(tài),有向移動傳感器網絡節(jié)點全部部署到球狀體周圍,且方向指向球體中心。節(jié)點的最終部署狀態(tài)的內部剖面圖如圖10所示。
圖11是利用有向移動傳感器網絡節(jié)點覆蓋三維空間大目標的方法的流程圖,如圖11所示,該附圖所示的具體實施方式包括以下步驟:
S101:根據(jù)三維空間大目標的所有外凸點獲得所述三維空間大目標的質心;
S102:以所述質心為球心獲得所述三維空間大目標的外接球;
S103:根據(jù)移動節(jié)點之間的虛擬力,以及所述移動節(jié)點與所述三維空間大目標的外接球之間的虛擬力圍繞所述三維空間大目標的外接球部署所述移動節(jié)點;以及
S104:根據(jù)所述移動節(jié)點和所述質心的連線調整所述移動節(jié)點的朝向,以使所述朝向指向所述球心。
進一步地,所述三維空間大目標的外接球的半徑為所述質心與所述外凸點之間的最大距離。
進一步地,所述虛擬力包括:所述移動節(jié)點之間的節(jié)點虛擬引力、所述移動節(jié)點之間的節(jié)點虛擬斥力、所述移動節(jié)點與所述三維空間大目標的外接球之間的虛擬引力、以及所述移動節(jié)點與所述三維空間大目標的外接球之間的虛擬斥力。
進一步地,所述移動節(jié)點靜止時,所述移動節(jié)點受到的所述節(jié)點虛擬引力、所述節(jié)點虛擬斥力、所述虛擬引力和所述虛擬斥力平衡。
進一步地,所有所述外凸點的集合為Sa={S1,S2,...,Sk},所述質心為CT,所述質心CT的計算公式如公式(1)所示:
其中,k表示外凸點的最大數(shù)目,通過計算外凸點的集合內所有外凸點的坐標的平均值即可得到質心CT,也就是三維空間大目標的外接球的球心;xT為質心的X軸坐標;yT為質心的Y軸坐標;zT為質心的Z軸坐標;xk為外凸點的X軸坐標;yk為外凸點的Y軸坐標;zk為外凸點的Z軸坐標;
由于外凸點與質心CT的最遠距離就是三維空間大目標的外接球的半徑,記為RT,該半徑RT的計算公式如公式(2)所示:
其中,xT為質心的X軸坐標;yT為質心的Y軸坐標;zT為質心的Z軸坐標;xk為外凸點的X軸坐標;yk為外凸點的Y軸坐標;zk為外凸點的Z軸坐標。
進一步地,所述移動節(jié)點由自主移動裝置和有向傳感器組成,所述移動節(jié)點的感知范圍為圓錐體,所述移動節(jié)點位于圓錐體錐頂,所述移動節(jié)點在所述虛擬力的作用下平動或轉動,其中,轉動是以圓錐體錐頂為中心進行旋轉。
進一步地,所述移動節(jié)點的感知模型用一個八元組<P,θ,C,R引,R斥,CT,RT,Sn>表示,其中,P為移動節(jié)點的位置;θ表示所述有向傳感器的感知角度;C為移動節(jié)點感知范圍外接球的球心;R引表示移動節(jié)點的最大通信距離,也是移動節(jié)點之間產生節(jié)點虛擬引力的最大距離;R斥表示動節(jié)點之間產生節(jié)點虛擬斥力的最大距離,R斥小于等于R引且大于等于R外;R外為移動節(jié)點感知范圍外接球的半徑;CT表示所述三個維空間大目標的質心;RT表示所述三個維空間大目標的外接球的半徑;Sn為移動節(jié)點的鄰居移動節(jié)點的集合,鄰居移動節(jié)點是指與移動節(jié)點之間的距離小于等于最大通信距離R引的節(jié)點;R外的計算公式如公式(3)所示:
其中,xC為移動節(jié)點感知范圍外接球的球心C的X軸坐標;yC為移動節(jié)點感知范圍外接球的球心C的Y軸坐標;zC為移動節(jié)點感知范圍外接球的球心C的Z軸坐標;xP為移動節(jié)點的X軸坐標;yP為移動節(jié)點的Y軸坐標;zP為移動節(jié)點的Z軸坐標。
進一步地,移動節(jié)點之間的虛擬力的具體計算步驟包括:
確定當前移動節(jié)點Pn感知范圍外接球的球心Cn,以及每個鄰居移動節(jié)點感知范圍外接球的球心集合C={C1,C2,…},其中,所有鄰居移動節(jié)點的集合為Sn={P1,P2,…};
計算當前移動節(jié)點Pn感知范圍外接球的球心Cn與每個鄰居移動節(jié)點Pm∈Sn感知范圍外接球的球心Cm之間的距離的計算方法如公式(4)所示:
其中,為當前移動節(jié)點Pn感知范圍的外接球球心Cn的X軸坐標;為當前移動節(jié)點Pn感知范圍的外接球球心Cn的Y軸坐標;為當前移動節(jié)點Pn感知范圍的外接球球心Cn的Z軸坐標;為鄰居移動節(jié)點Pm感知范圍對應的外接球球心Cm的X軸坐標;為鄰居移動節(jié)點Pm感知范圍對應的外接球球心Cm的Y軸坐標;為鄰居移動節(jié)點Pm感知范圍對應的外接球球心Cm的Z軸坐標;
計算所有鄰居移動節(jié)點Pm對當前移動節(jié)點Pn的虛擬力虛擬力包括節(jié)點虛擬引力和節(jié)點虛擬斥力,其中虛擬力計算公式如公式(5)所示:
其中,k斥,λ斥為斥力系數(shù),k引,λ引為引力系數(shù);為單位向量,表示由當前移動節(jié)點Pn感知范圍外接球的球心Cn指向鄰居移動節(jié)點Pm感知范圍外接球的球心Cm的引力方向;
計算當前移動節(jié)點Pn受到所有鄰居移動節(jié)點Pm的節(jié)點虛擬引力和節(jié)點虛擬斥力的合力,如公式(6)所示:
其中,為當前移動節(jié)點Pn與其中一個鄰居移動節(jié)點Pm之間的節(jié)點虛擬引力或節(jié)點虛擬斥力。
進一步地,移動節(jié)點與三維空間大目標的外接球之間的虛擬力的具體計算步驟包括:
計算當前移動節(jié)點Pn與質心CT的距離,如公式(7)所示;
其中,為當前移動節(jié)點Pn感知范圍的外接球球心Cn的X軸坐標;為當前移動節(jié)點Pn感知范圍的外接球球心Cn的Y軸坐標;為當前移動節(jié)點Pn感知范圍的外接球球心Cn的Z軸坐標;為質心CT的X軸坐標;為質心CT的Y軸坐標;為質心CT的Z軸坐標;
計算三維空間大目標的外接球對當前移動節(jié)點Pn的虛擬引力,如公式(8)所示:
其中,為單位向量,表示由當前移動節(jié)點Pn感知范圍的外接球球心Cn指向質心CT的引力方向;k引,λ引為引力系數(shù);
計算三維空間大目標的外接球對當前移動節(jié)點Pn的虛擬斥力,如公式(9)所示:
其中,為單位向量,表示由當前移動節(jié)點Pn感知范圍的外接球球心Cn指向質心CT的引力方向;k引,λ引為引力系數(shù);
計算當前移動節(jié)點Pn所受三維空間大目標的外接球的虛擬引力和虛擬斥力的合力,如公式(10)所示:
其中,為當前移動節(jié)點Pn和三維空間大目標的外接球之間的虛擬引力和虛擬斥力的合力。
進一步地,根據(jù)所述移動節(jié)點和所述質心的連線調整所述移動節(jié)點的朝向的步驟,具體包括:
計算單位向量和單位向量之間的夾角α,其中,為由當前移動節(jié)點Pn指向當前移動節(jié)點Pn感知范圍外接球的球心Cn的單位向量,為當前移動節(jié)點Pn指向質心CT的單位向量,其中,夾角α的計算如公式(11)所示:
調整當前移動節(jié)點Pn的朝向,以使當前移動節(jié)點Pn的朝向指向質心CT,其中,若α≤π,當前移動節(jié)點Pn轉動方向為順時針,旋轉角度為α,否則逆時針旋轉2π-α。
本發(fā)明的具體實施方式提供一種利用有向移動傳感器網絡節(jié)點覆蓋三維空間大目標的方法,基于虛擬力原理,將有向移動傳感器網絡協(xié)同自主部署過程轉化為節(jié)點在虛擬力場中受虛擬力作用而自主移動、自主轉動的過程,能夠實現(xiàn)移動傳感器網絡節(jié)點自主、均勻覆蓋三維空間大目標,從而實現(xiàn)對三維空間大目標的全方位監(jiān)測,節(jié)點部署快、智能化程度高,節(jié)省了人力資源。
上述的本發(fā)明實施例可在各種硬件、軟件編碼或兩者組合中進行實施。例如,本發(fā)明的實施例也可為在數(shù)據(jù)信號處理器(Digital Signal Processor,DSP)中執(zhí)行的執(zhí)行上述程序的程序代碼。本發(fā)明也可涉及計算機處理器、數(shù)字信號處理器、微處理器或現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)執(zhí)行的多種功能??筛鶕?jù)本發(fā)明配置上述處理器執(zhí)行特定任務,其通過執(zhí)行定義了本發(fā)明揭示的特定方法的機器可讀軟件代碼或固件代碼來完成??蓪④浖a或固件代碼發(fā)展為不同的程序語言與不同的格式或形式。也可為不同的目標平臺編譯軟件代碼。然而,根據(jù)本發(fā)明執(zhí)行任務的軟件代碼與其他類型配置代碼的不同代碼樣式、類型與語言不脫離本發(fā)明的精神與范圍。
以上所述僅為本發(fā)明示意性的具體實施方式,在不脫離本發(fā)明的構思和原則的前提下,任何本領域的技術人員所做出的等同變化與修改,均應屬于本發(fā)明保護的范圍。