專利名稱:基于Euclidean算法的無線傳感器三維定位方法
技術(shù)領(lǐng)域:
本發(fā)明屬于無線傳感器網(wǎng)絡(luò)應(yīng)用技術(shù)領(lǐng)域,尤其涉及一種基于Euclidean算法的無線傳感器三維定位方法。
背景技術(shù):
物聯(lián)網(wǎng)技術(shù)作為新一代信息技術(shù),在受到廣泛關(guān)注的同時,已經(jīng)潛移默化的滲透進(jìn)社會生活和工業(yè)生產(chǎn)的各個方面,在許多領(lǐng)域發(fā)揮著越來越重要的作用。當(dāng)前,包括我國在內(nèi)的許多國家提出了建設(shè)智能電網(wǎng)的宏觀構(gòu)想,甚至納入了國家發(fā)展戰(zhàn)略。結(jié)合我國電網(wǎng)建設(shè)的實際情況,將物聯(lián)網(wǎng)技術(shù)引入智能電網(wǎng),充分發(fā)揮物聯(lián)網(wǎng)的強大優(yōu)勢,將是智能電網(wǎng)發(fā)展的必然趨勢。物聯(lián)網(wǎng)在電力系統(tǒng)監(jiān)控中,起著“末梢神經(jīng)”的作用,構(gòu)成了電力系統(tǒng)監(jiān)視控制和數(shù)據(jù)采集(Supervisory Control And Data Acquisition,SCADA)系統(tǒng)的基礎(chǔ), 為“五遙”(遙測、遙信、遙控、遙視、遙調(diào))的實現(xiàn)提供了重要保障,提高了電力系統(tǒng)的監(jiān)測、 控制與靈活調(diào)度能力。在進(jìn)行數(shù)據(jù)采集的過程中,回傳采集數(shù)據(jù)的同時,確定數(shù)據(jù)的采集位置也是必不可少的,因此無線傳感器網(wǎng)絡(luò)作為物聯(lián)網(wǎng)的主要組成部分,其節(jié)點定位技術(shù)的研究成為了必要。近年來,節(jié)點自身定位技術(shù)已成為無線傳感器網(wǎng)絡(luò)熱點技術(shù)之一,很多研究者們一直致力于這一領(lǐng)域的研究,并取得了很大的進(jìn)展?,F(xiàn)有的無線傳感器網(wǎng)絡(luò)定位算法大體分為基于測距(range-based)的定位算法和基于非測距(range-free)的定位算法兩大類。 前者需要通過實際測量,獲得節(jié)點間距離(角度)信息,再使用三邊或多邊定位法,來計算未定位節(jié)點(空間位置信息未知的節(jié)點)的位置;后者無需實際測量節(jié)點間的距離或角度, 僅根據(jù)網(wǎng)絡(luò)連通性等信息實現(xiàn)待定位節(jié)點的位置?;跍y距的定位算法對網(wǎng)絡(luò)的硬件設(shè)施要求較高,通常需要多次測量來提高定位精度,大大增加了網(wǎng)絡(luò)的計算和通信開銷。因此, 基于非測距的定位算法,如質(zhì)心定位算法、APS系列算法、APIT算法和MAP算法等,受到越來越多的關(guān)注。質(zhì)心算法完全利用未定位節(jié)點與導(dǎo)標(biāo)節(jié)點是否連通來進(jìn)行定位,其優(yōu)勢是實現(xiàn)簡單,不需要節(jié)點之間的協(xié)調(diào),具有良好的擴展性,但其定位精度較低,只能滿足一些對位置精度要求不高的應(yīng)用需求。APIT算法在無線信號傳播模式不規(guī)則、傳感器節(jié)點隨機部署的情況下,具有較高的定位精度和較穩(wěn)定的性能,但APIT算法對網(wǎng)絡(luò)的連通性要求較高,并且對節(jié)點密度的依賴性較強。MAP算法具有較強的分布性、可擴展性和能量有效性,但由于其可移動的導(dǎo)標(biāo)節(jié)點周期性地廣播導(dǎo)標(biāo)信息,可能引起破壞性的帶寬沖突和擁塞,從而不能正確的選擇導(dǎo)標(biāo)點,導(dǎo)致較大的定位誤差。由美國路特葛斯大學(xué)(Rutgers university)的Dragos Niculescu等人提出的 APS系列算法中的Euclidean定位算法,給出了計算與錨節(jié)點相隔兩跳的未定位節(jié)點位置的方法,突破了未定位節(jié)點必須與錨節(jié)點相鄰才能定位的限制,并且可以精確的計算出與錨節(jié)點相隔兩跳的未定位節(jié)點與錨節(jié)點(空間位置信息已知的節(jié)點)的距離,較DV-Hop等需要估計平均每跳距離的算法有更高的精確度。但Euclidean定位算法,應(yīng)用的是平面幾何理論,不能直接擴展到三維空間。
發(fā)明內(nèi)容
本發(fā)明的目的在于,針對Euclidean定位算法不適用于三維空間未定位節(jié)點計算的問題,提出一種基于Euclidean算法的無線傳感器三維定位方法,用以解決此問題。為實現(xiàn)上述的目的,本發(fā)明提供的技術(shù)方案是,一種基于Euclidean算法的無線傳感器三維定位方法,其特征是所述方法包括步驟1 無線傳感器網(wǎng)絡(luò)初始化,各節(jié)點建立初始化信息鏈表和距離鏈表,設(shè)定跳數(shù)初值N = 2 ;步驟2 掃描各節(jié)點的初始化信息鏈表和距離鏈表,在錨節(jié)點N跳范圍內(nèi),利用 Euclidean算法建立三維定位模型;步驟3 在所述三維定位模型中,利用坐標(biāo)法計算未定位節(jié)點與錨節(jié)點間的距離;步驟4:在無線傳感器網(wǎng)絡(luò)中,判斷與4個錨節(jié)點距離已知的節(jié)點的比例是否達(dá)到設(shè)定值,如果達(dá)到設(shè)定值,則執(zhí)行步驟6 ;否則,執(zhí)行步驟5 ;步驟5 與錨節(jié)點間距離已知的節(jié)點轉(zhuǎn)發(fā)各自的距離鏈表,令N = N+1,返回步驟 2 ;步驟6 應(yīng)用四邊定位法,確定未定位節(jié)點坐標(biāo),完成定位。所述步驟1包括步驟101 無線傳感器網(wǎng)絡(luò)各節(jié)點第一次泛洪,錨節(jié)點發(fā)送包含自身標(biāo)識、節(jié)點ID 和三維空間位置的信息,未定位節(jié)點發(fā)送含有自身標(biāo)識和節(jié)點ID的信息;步驟102 錨節(jié)點的鄰居節(jié)點記錄所述錨節(jié)點的三維空間位置的信息,形成初始化信息鏈表;步驟103 各節(jié)點采用接收信號強度指示RSSI測出與錨節(jié)點的鄰居節(jié)點間的距離并記錄,形成距離鏈表;步驟104 無線傳感器網(wǎng)絡(luò)各節(jié)點第二次泛洪,各節(jié)點將第一泛洪收到的信息廣播出去,獲取與自身相隔兩跳節(jié)點的信息。所述利用Euclidean算法建立三維定位模型具體是,在與錨節(jié)點距離已知的節(jié)點中,選取3個彼此間距離也已知的節(jié)點;再選取與該錨節(jié)點距離未知,但與這3個節(jié)點距離已知的未定位節(jié)點,建立三維定位模型。所述步驟3具體是,將三維定位模型置于三維直角坐標(biāo)系中,通過各節(jié)點的坐標(biāo)來計算未定位節(jié)點到錨節(jié)點的距離。本發(fā)明將求解未定位節(jié)點與錨節(jié)點的距離抽象為求解六面體頂點間的距離,成功地將二維Euclidean定位算法擴展到了三維空間。具有定位精度高、計算量小、無需移動載體輔助定位以及定位精度不依賴于錨節(jié)點密度和通信半徑的效果。
圖1是基于Euclidean算法的無線傳感器三維定位方法流程圖;圖2是利用Euclidean算法建立的三維定位模型示意圖;圖3是錨節(jié)點比例與相對定位誤差的關(guān)系示意圖;圖4是錨節(jié)點比例與定位比例的關(guān)系示意圖。
具體實施例方式下面結(jié)合附圖,對優(yōu)選實施例作詳細(xì)說明。應(yīng)該強調(diào)的是,下述說明僅僅是示例性的,而不是為了限制本發(fā)明的范圍及其應(yīng)用。實施例在實施例中,設(shè)定無線傳感器網(wǎng)絡(luò)中存在節(jié)點為Pp P2, P3、P4、P5......等多個節(jié)
點。圖1是基于Euclidean算法的無線傳感器三維定位方法流程圖,該方法包括步驟1 無線傳感器網(wǎng)絡(luò)初始化,各節(jié)點建立初始化信息鏈表和距離鏈表,設(shè)定跳數(shù)初值N= 2。網(wǎng)絡(luò)初始化的過程又包括步驟101 無線傳感器網(wǎng)絡(luò)各節(jié)點第一次泛洪,錨節(jié)點發(fā)送包含自身標(biāo)識、節(jié)點ID 和三維空間位置的信息,未定位節(jié)點發(fā)送含有自身標(biāo)識和節(jié)點ID的信息。在無線傳感器網(wǎng)絡(luò)中,一般會為一小部分節(jié)點配備GPS,這些節(jié)點可以通過GPS確定自身的空間位置,這些空間位置已知的節(jié)點即為錨節(jié)點。錨節(jié)點發(fā)送的三維空間位置信息可以是自身的三維坐標(biāo) (如橫坐標(biāo)、縱坐標(biāo)和高度)。步驟102 錨節(jié)點的鄰居節(jié)點記錄所述錨節(jié)點的三維空間位置的信息,形成初始
化信息鏈表。錨節(jié)點的鄰居節(jié)點是指在錨節(jié)點的通信范圍內(nèi)的節(jié)點。比如錨節(jié)點的通信范圍為R,那么以錨節(jié)點為中心,R為半徑區(qū)域內(nèi)的所有節(jié)點,都稱為該錨節(jié)點的鄰居節(jié)點。下表 (表1)為節(jié)點P5記錄的錨節(jié)點三維空間位置信息后形成的初始化信息鏈表。
權(quán)利要求
1.一種基于Euclidean算法的無線傳感器三維定位方法,其特征是所述方法包括步驟1 無線傳感器網(wǎng)絡(luò)初始化,各節(jié)點建立初始化信息鏈表和距離鏈表,設(shè)定跳數(shù)初值 N= 2 ;步驟2:掃描各節(jié)點的初始化信息鏈表和距離鏈表,在錨節(jié)點N跳范圍內(nèi),利用 Euclidean算法建立三維定位模型;步驟3 在所述三維定位模型中,利用坐標(biāo)法計算未定位節(jié)點與錨節(jié)點間的距離;步驟4:在無線傳感器網(wǎng)絡(luò)中,判斷與4個錨節(jié)點距離已知的節(jié)點的比例是否達(dá)到設(shè)定值,如果達(dá)到設(shè)定值,則執(zhí)行步驟6 ;否則,執(zhí)行步驟5 ;步驟5 與錨節(jié)點間距離已知的節(jié)點轉(zhuǎn)發(fā)各自的距離鏈表,令N = N+1,返回步驟2 ;步驟6 應(yīng)用四邊定位法,確定未定位節(jié)點坐標(biāo),完成定位。
2.根據(jù)權(quán)利要求1所述的一種基于Euclidean算法的無線傳感器三維定位方法,其特征是所述步驟1包括步驟101 無線傳感器網(wǎng)絡(luò)各節(jié)點第一次泛洪,錨節(jié)點發(fā)送包含自身標(biāo)識、節(jié)點ID和三維空間位置的信息,未定位節(jié)點發(fā)送含有自身標(biāo)識和節(jié)點ID的信息;步驟102 錨節(jié)點的鄰居節(jié)點記錄所述錨節(jié)點的三維空間位置的信息,形成初始化信息鏈表;步驟103 各節(jié)點采用接收信號強度指示RSSI測出與錨節(jié)點的鄰居節(jié)點間的距離并記錄,形成距離鏈表;步驟104 無線傳感器網(wǎng)絡(luò)各節(jié)點第二次泛洪,各節(jié)點將第一泛洪收到的信息廣播出去,獲取與自身相隔兩跳節(jié)點的信息。
3.根據(jù)權(quán)利要求1所述的一種基于Euclidean算法的無線傳感器三維定位方法,其特征是所述利用Euclidean算法建立三維定位模型具體是,在與錨節(jié)點距離已知的節(jié)點中, 選取3個彼此間距離也已知的節(jié)點;再選取與該錨節(jié)點距離未知,但與這3個節(jié)點距離已知的未定位節(jié)點,建立三維定位模型。
4.根據(jù)權(quán)利要求1所述的一種基于Euclidean算法的無線傳感器三維定位方法,其特征是所述步驟3具體是,將三維定位模型置于三維直角坐標(biāo)系中,通過各節(jié)點的坐標(biāo)來計算未定位節(jié)點到錨節(jié)點的距離。
全文摘要
本發(fā)明公開了無線傳感器網(wǎng)絡(luò)應(yīng)用技術(shù)領(lǐng)域中的一種基于Euclidean算法的無線傳感器三維定位方法,用于解決Euclidean定位算法不適用于三維空間未定位節(jié)點定位的問題。包括將計算未定位節(jié)點與錨節(jié)點間的距離問題抽象為求解六面體頂點間距離的問題;根據(jù)抽象結(jié)果,使用坐標(biāo)法求解未定位節(jié)點與錨節(jié)點間的距離;而后采用循環(huán)迭代的方式來提高與錨節(jié)點間的距離已知的節(jié)點的比例;當(dāng)比例達(dá)到設(shè)定值時,應(yīng)用四邊定位法,確定未定位節(jié)點在網(wǎng)絡(luò)中的位置。本發(fā)明將二維Euclidean定位算法擴展到了三維空間,具有定位精度高、計算量小以及不依賴于錨節(jié)點密度和通信半徑等優(yōu)點。
文檔編號H04W64/00GK102209383SQ20111012911
公開日2011年10月5日 申請日期2011年5月18日 優(yōu)先權(quán)日2011年5月18日
發(fā)明者唐良瑞, 孫毅, 宮月, 柯珊珊, 樊冰, 祁兵, 羅藝婷 申請人:華北電力大學(xué)