本發(fā)明涉及一種定位領(lǐng)域,更具體地說(shuō),涉及一種基于zigbee技術(shù)的定位系統(tǒng)。
背景技術(shù):
基于zigbee的無(wú)線定位設(shè)計(jì)具有便捷可操作性強(qiáng)、靈敏度識(shí)別力強(qiáng),高效率通信等突出優(yōu)點(diǎn),這些突出點(diǎn)使得該技術(shù)能在定位服務(wù)激增的時(shí)代保留了其不可替代的位置,發(fā)展迅猛,并迅速占領(lǐng)了一部分市場(chǎng),開發(fā)價(jià)值較高,開發(fā)前景較廣。
傳統(tǒng)概念中室內(nèi)環(huán)境無(wú)法精準(zhǔn)定位,無(wú)信號(hào)或有障礙物時(shí)信號(hào)收到干擾而造成的無(wú)法定位,而且現(xiàn)存的gps定位對(duì)于環(huán)境信號(hào)等方面外界條件要求較高。zigbee的無(wú)線定位設(shè)計(jì)利用無(wú)線組網(wǎng)技術(shù),構(gòu)造zigbee網(wǎng)絡(luò),改善了傳統(tǒng)概念中無(wú)法定位的不足,而且zigbee定位的完成對(duì)環(huán)境的要求較低,即使是在室內(nèi)或者較為復(fù)雜的環(huán)境也可完成。
對(duì)于定位系統(tǒng)來(lái)說(shuō),最核心的技術(shù)是定位算法,傳統(tǒng)的三邊定位為一整片區(qū)域,誤差較大,不能滿足定位精度要求。
因此,本發(fā)明采用六個(gè)參考節(jié)點(diǎn),提出了多邊定位算法,而且利用泰勒級(jí)數(shù)展開法和最小二乘法相結(jié)合的優(yōu)化算法,利用迭代運(yùn)算對(duì)定位節(jié)點(diǎn)的位置機(jī)械修正,進(jìn)一步的提高定位精度。
因此,針對(duì)現(xiàn)有技術(shù)的不足,提出一種基于zigbee技術(shù)的定位系統(tǒng)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提出了一種基于zigbee技術(shù)的定位系統(tǒng),通過(guò)對(duì)定位節(jié)點(diǎn)、參考節(jié)點(diǎn)和網(wǎng)關(guān)三部分硬件的配置和調(diào)試,在定位系統(tǒng)運(yùn)行時(shí),定位節(jié)點(diǎn)通過(guò)參考節(jié)點(diǎn)將其距離或角度等信息傳遞給網(wǎng)關(guān),網(wǎng)關(guān)再把收集到的被定位節(jié)點(diǎn)的信息通過(guò)串口線傳遞給pc,在pc中,通過(guò)特定的定位算法及定位算法優(yōu)化來(lái)實(shí)現(xiàn)對(duì)定位節(jié)點(diǎn)的位置確定。
為實(shí)現(xiàn)上述目的,本發(fā)明提供的技術(shù)方案為:
一種基于zigbee技術(shù)的定位系統(tǒng),包括參考節(jié)點(diǎn)模塊、定位節(jié)點(diǎn)模塊、網(wǎng)關(guān)和上位機(jī)-服務(wù)器;所述參考節(jié)點(diǎn)的個(gè)數(shù)為6個(gè),包括cc2430芯片的無(wú)線模塊和電源,所述定位節(jié)點(diǎn)的個(gè)數(shù)為1個(gè),包括cc2431芯片的無(wú)線模塊和電源,所述的網(wǎng)關(guān)硬件平臺(tái)包括選定的網(wǎng)絡(luò)擴(kuò)展主板和cc2430芯片,所述的上位機(jī)-服務(wù)器包括數(shù)據(jù)庫(kù)管理系統(tǒng)與定位系統(tǒng);網(wǎng)關(guān)、參考節(jié)點(diǎn)、定位節(jié)點(diǎn)通過(guò)自組網(wǎng)建立zigbee無(wú)線網(wǎng)絡(luò);基于zigbee技術(shù)的定位系統(tǒng)系統(tǒng)采用無(wú)線測(cè)距技術(shù)rssi(receivedsignalstrengthindictor)作為關(guān)鍵技術(shù)對(duì)參考節(jié)點(diǎn)和定位節(jié)點(diǎn)之間的距離進(jìn)行測(cè)量,在運(yùn)行時(shí),通過(guò)zigbee無(wú)線網(wǎng)絡(luò),通過(guò)相應(yīng)的網(wǎng)關(guān)獲取定位節(jié)點(diǎn)和參考節(jié)點(diǎn)之間的信息,同時(shí)將相應(yīng)信息通過(guò)串口傳遞給pc服務(wù)器,同時(shí)將通過(guò)特定的定位算法及定位算法優(yōu)化處理的信息傳給網(wǎng)關(guān),再由網(wǎng)關(guān)傳遞給參考節(jié)點(diǎn)和定位節(jié)點(diǎn),來(lái)實(shí)現(xiàn)對(duì)定位節(jié)點(diǎn)的位置確定。
所述參考節(jié)點(diǎn)采用cc2430芯片中的無(wú)線模塊,節(jié)點(diǎn)在的作用類似于網(wǎng)絡(luò)中的路由器,通過(guò)相應(yīng)的配置,對(duì)每一個(gè)系統(tǒng)的cc2430芯片配置唯一的位置坐標(biāo),同時(shí)設(shè)定相應(yīng)的rssi均值。每一個(gè)參考節(jié)點(diǎn)是在校園環(huán)境中進(jìn)行靜態(tài)配置的,其坐標(biāo)是固定有效的。
所述定位節(jié)點(diǎn)是系統(tǒng)中需要測(cè)量定位的節(jié)點(diǎn),定位節(jié)點(diǎn)配置相應(yīng)的cc2431芯片中的無(wú)線模塊,cc2341芯片中包含有自帶的可靠的定位引擎。
所述的網(wǎng)關(guān)的硬件平臺(tái)是由選定的網(wǎng)絡(luò)擴(kuò)展主板和cc2430芯片構(gòu)成。
所述的系統(tǒng)的軟件設(shè)計(jì)包括下位機(jī)軟件設(shè)計(jì)和上位機(jī)軟件設(shè)計(jì)。
所述下位機(jī)軟件設(shè)計(jì)包括zigbee2006協(xié)議棧、zigbee的無(wú)線網(wǎng)絡(luò)開發(fā)平臺(tái)iarsystem、網(wǎng)關(guān)軟件設(shè)計(jì)、參考節(jié)點(diǎn)和定位節(jié)點(diǎn)的設(shè)計(jì)。
所述上位機(jī)軟件設(shè)計(jì)包括上位機(jī)開發(fā)軟件vs2010和定位軟件z-location設(shè)計(jì)。
所述的定位算法是多邊定位法,具體的說(shuō)是六邊定位法。
所述的定位優(yōu)化算法采用泰勒級(jí)數(shù)展開法和最小二乘法相結(jié)合,同時(shí)利用迭代運(yùn)算對(duì)定位節(jié)點(diǎn)的位置機(jī)械修正。
采用本發(fā)明提供的技術(shù)方案,與已有的公知技術(shù)相比,具有如下有益效果:
(1)基于zigbee技術(shù)的定位系統(tǒng)的定位算法,采用六邊定位算法,比三邊定位算法的定位精度高。
(2)基于zigbee技術(shù)的定位系統(tǒng)的定位優(yōu)化算法,采用泰勒級(jí)數(shù)展開法和最小二乘法相結(jié)合,同時(shí)利用迭代運(yùn)算對(duì)定位節(jié)點(diǎn)的位置機(jī)械修正,使得定位更精確。
附圖說(shuō)明
圖1參考節(jié)點(diǎn)流程圖。
圖2定位節(jié)點(diǎn)流程圖。
圖3網(wǎng)關(guān)原理圖。
圖4網(wǎng)關(guān)工作流程圖。
圖5多邊定位原理圖。
圖6算法流程圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式進(jìn)行描述,以使本發(fā)明的優(yōu)點(diǎn)和特征能更易于被本領(lǐng)域技術(shù)人員理解,從而對(duì)本發(fā)明的保護(hù)范圍作出更為清楚明確的界定。需要特別提醒注意的是,在以下的描述中,當(dāng)已知功能和設(shè)計(jì)的詳細(xì)描述也許會(huì)淡化本發(fā)明的主要內(nèi)容時(shí),這些描述在這里將被忽略。
一種基于zigbee技術(shù)的定位系統(tǒng),包括參考節(jié)點(diǎn)模塊、定位節(jié)點(diǎn)模塊、網(wǎng)關(guān)和上位機(jī)-服務(wù)器;所述參考節(jié)點(diǎn)的個(gè)數(shù)為6個(gè),包括cc2430芯片的無(wú)線模塊和電源,所述定位節(jié)點(diǎn)的個(gè)數(shù)為1個(gè),包括cc2431芯片的無(wú)線模塊和電源,所述的網(wǎng)關(guān)硬件平臺(tái)包括選定的網(wǎng)絡(luò)擴(kuò)展主板和cc2430芯片,所述的上位機(jī)-服務(wù)器包括數(shù)據(jù)庫(kù)管理系統(tǒng)與定位系統(tǒng);網(wǎng)關(guān)、參考節(jié)點(diǎn)、定位節(jié)點(diǎn)通過(guò)自組網(wǎng)建立zigbee無(wú)線網(wǎng)絡(luò);基于zigbee技術(shù)的定位系統(tǒng)系統(tǒng)采用無(wú)線測(cè)距技術(shù)rssi(receivedsignalstrengthindictor)作為關(guān)鍵技術(shù)對(duì)參考節(jié)點(diǎn)和定位節(jié)點(diǎn)之間的距離進(jìn)行測(cè)量,在運(yùn)行時(shí),通過(guò)zigbee無(wú)線網(wǎng)絡(luò),通過(guò)相應(yīng)的網(wǎng)關(guān)獲取定位節(jié)點(diǎn)和參考節(jié)點(diǎn)之間的信息,同時(shí)將相應(yīng)信息通過(guò)串口傳遞給pc服務(wù)器,同時(shí)將通過(guò)特定的定位算法及定位算法優(yōu)化處理的信息傳給網(wǎng)關(guān),再由網(wǎng)關(guān)傳遞給參考節(jié)點(diǎn)和定位節(jié)點(diǎn),來(lái)實(shí)現(xiàn)對(duì)定位節(jié)點(diǎn)的位置確定。
所述的參考節(jié)點(diǎn)通過(guò)相應(yīng)的配置,對(duì)每一個(gè)系統(tǒng)的cc2430芯片配置唯一的位置坐標(biāo),同時(shí)設(shè)定相應(yīng)的rssi均值。每一個(gè)參考節(jié)點(diǎn)是在環(huán)境中進(jìn)行靜態(tài)配置的,其坐標(biāo)是固定有效的,所以在系統(tǒng)中求解相應(yīng)的移動(dòng)節(jié)點(diǎn)時(shí),可以不進(jìn)行定位計(jì)算,在求解相應(yīng)的移動(dòng)節(jié)點(diǎn)時(shí),可以根據(jù)選定的rssi算法提供相應(yīng)的信號(hào)強(qiáng)度和自己固定的坐標(biāo),為了使相應(yīng)的數(shù)據(jù)與網(wǎng)關(guān)的傳輸過(guò)程中信號(hào)的穩(wěn)定可靠,具體的參考節(jié)點(diǎn)的配置在系統(tǒng)的運(yùn)行過(guò)程中要進(jìn)行多次的調(diào)整。每一個(gè)參考節(jié)點(diǎn)的總體大致的工作流程如圖1所示。
所述的定位節(jié)點(diǎn)的設(shè)計(jì),由于cc2341芯片中包含有自帶的可靠的定位引擎,在系統(tǒng)運(yùn)行過(guò)程中,通過(guò)相應(yīng)的定位算法,通過(guò)網(wǎng)關(guān)接收多個(gè)參考節(jié)點(diǎn)的位置坐標(biāo)和rssi均值,同時(shí)利用選定的定位算法,通過(guò)多次的迭代計(jì)算得出自身最有可能的在環(huán)境中的坐標(biāo)點(diǎn)。
所述定位節(jié)點(diǎn)和參考節(jié)點(diǎn)在的功能基本上一樣,只是由于本校園系統(tǒng)中參考節(jié)點(diǎn)是固定不變的,因此選取的是現(xiàn)如今被廣泛運(yùn)用的cc2430芯片,但定位節(jié)點(diǎn)時(shí)移動(dòng)的,需要具備相應(yīng)的定位引擎,因此選取的是cc2431芯片。但其相關(guān)配置,特別是電路設(shè)置基本上一樣。cc2431工作流程如圖2所示。
所述網(wǎng)關(guān)的硬件平臺(tái)是由選定的網(wǎng)絡(luò)擴(kuò)展主板和cc2430芯片構(gòu)成。每一個(gè)網(wǎng)關(guān)節(jié)點(diǎn)的應(yīng)用流程圖如圖3所示。通過(guò)相應(yīng)的配置,在系統(tǒng)初始運(yùn)行的時(shí)候,通過(guò)監(jiān)控軟件z-location將相應(yīng)的參考節(jié)點(diǎn)和定位節(jié)點(diǎn)的初始數(shù)據(jù)進(jìn)行收集分析,同時(shí)在利用相應(yīng)的測(cè)距算法和信號(hào)處理方式將相應(yīng)的信息發(fā)送到對(duì)應(yīng)的節(jié)點(diǎn)上,同時(shí)接收相應(yīng)節(jié)點(diǎn)傳輸?shù)南嚓P(guān)數(shù)據(jù),并對(duì)相應(yīng)的數(shù)據(jù)進(jìn)行分析。整個(gè)流程中,網(wǎng)關(guān)中的主要功能有:將相應(yīng)的定位數(shù)據(jù)配置發(fā)送到相應(yīng)的節(jié)點(diǎn);轉(zhuǎn)發(fā)相應(yīng)的數(shù)據(jù)同時(shí)對(duì)需要定位的節(jié)點(diǎn)進(jìn)行定位;對(duì)相應(yīng)的數(shù)據(jù)根據(jù)選擇的算法進(jìn)行計(jì)算;通過(guò)串口完成與pc服務(wù)器的通信;網(wǎng)關(guān)工作流程如圖4所示。
系統(tǒng)的實(shí)驗(yàn)環(huán)境基于本發(fā)明的系統(tǒng)設(shè)計(jì),通過(guò)利用cc2430芯片完成網(wǎng)關(guān)功能、cc2430芯片完成參考節(jié)點(diǎn)功能、cc2431芯片完成定位節(jié)點(diǎn)功能來(lái)實(shí)現(xiàn)整個(gè)系統(tǒng)。同時(shí)基于每個(gè)模塊的配置與設(shè)計(jì),在整個(gè)系統(tǒng)硬件可以正常運(yùn)行的條件下,對(duì)每個(gè)模塊進(jìn)行編程調(diào)試。
調(diào)試的過(guò)程完成中,對(duì)本系統(tǒng)中應(yīng)用的每個(gè)模塊都完成了點(diǎn)對(duì)點(diǎn)的測(cè)試,每個(gè)設(shè)備之間都可以基于zigbee技術(shù)進(jìn)行相應(yīng)的數(shù)據(jù)的收發(fā)功能,同時(shí)網(wǎng)關(guān)通過(guò)串口與pc服務(wù)器進(jìn)行交互通信,整個(gè)系統(tǒng)的功能初步實(shí)現(xiàn)了預(yù)期目標(biāo)。
在整個(gè)測(cè)試過(guò)程中,6個(gè)參考節(jié)點(diǎn)形成測(cè)試區(qū)域,并對(duì)每個(gè)參考節(jié)點(diǎn)進(jìn)行坐標(biāo)定位,對(duì)系統(tǒng)選取的c2431芯片進(jìn)行相應(yīng)的配置。在定位軟件z-location中的referencenodesetup界面設(shè)置了六個(gè)節(jié)點(diǎn),參考節(jié)點(diǎn)放置在合適的高度且應(yīng)處于同一水平線。網(wǎng)關(guān)放置在可方便與pc和節(jié)點(diǎn)可通信到的合適位置,天線應(yīng)盡量朝向網(wǎng)關(guān)。
所述的無(wú)線測(cè)距技術(shù)rssi(receivedsignalstrengthindictor)關(guān)鍵技術(shù),是利用無(wú)線信號(hào)在傳播的過(guò)程中,隨著傳播距離的增大,其信號(hào)發(fā)生有規(guī)律的衰減,最終得到想要獲得的節(jié)點(diǎn)目標(biāo)的位置坐標(biāo)。該無(wú)線網(wǎng)絡(luò)架構(gòu)中的傳感器節(jié)點(diǎn)可以高度集成,適合大的應(yīng)用環(huán)境,同時(shí)不需要配置額外的硬件。
所述的多邊定位算法和定位優(yōu)化算法過(guò)程如下:
多邊定位則可設(shè)置多個(gè)參考節(jié)點(diǎn),如圖5所示,設(shè)置六個(gè)參考節(jié)點(diǎn),在無(wú)線網(wǎng)絡(luò)中,通過(guò)參考節(jié)點(diǎn)測(cè)得的點(diǎn)來(lái)做圓,但是某種程度上來(lái)說(shuō),這些圓確定的并非一點(diǎn)而是一片區(qū)域,如圖所示。為了更加準(zhǔn)備的定位,通過(guò)增加相應(yīng)參考節(jié)點(diǎn)的個(gè)數(shù),提高求解過(guò)程的冗余度,從而更精確的估算所求移動(dòng)節(jié)點(diǎn)的位置。利用最小二乘算法計(jì)算所求移動(dòng)節(jié)點(diǎn)的位置坐標(biāo)。算法流程圖如圖6所示,具體步驟如下:
s1:設(shè)求解的移動(dòng)節(jié)點(diǎn)坐標(biāo)是(x,y),設(shè)參與定位的有n=6個(gè)固定節(jié)點(diǎn),設(shè)置其坐標(biāo):(x1,y1)、(x2,y2)、(x3,y3),…..,(xn,yn),r1,r2,...,rn為n=6個(gè)距離。那么,就可以得到(1)式:
s2:想要得到(x,y)方程組最終答案,需要對(duì)于現(xiàn)有位置(x,y)的近似坐標(biāo)
s3:通過(guò)求解該方程組,算出了測(cè)量距離、近似距離,如式(3)所示:
s4:將測(cè)量距離fi(x,y)按泰勒級(jí)數(shù)展開,并刪去一階偏導(dǎo)數(shù)之后的式子,得到式(4):
如上,線性化了偏移量(δx,δy)。而上式又可簡(jiǎn)化為式(5):
于是對(duì)原來(lái)問(wèn)題的求解簡(jiǎn)化為對(duì)下面方程組的求解,見式(6):
s5:采用最小二乘法求解方程,求解過(guò)程是使下面函數(shù)式為0,解得δx和δy,以矩陣排列的方式表示為式(7):
s6:結(jié)合上式和x,y表示式可以得出所求移動(dòng)節(jié)點(diǎn)估計(jì)位置,以求得的位置作為下一次迭代運(yùn)算的近似坐標(biāo),多次利用迭代運(yùn)算對(duì)求解的位置機(jī)械修正,求得更為精確的移動(dòng)節(jié)點(diǎn)的位置,直到δx和δy小于相應(yīng)的精度誤差即可。