如何實(shí)現(xiàn)無(wú)線通信網(wǎng)絡(luò)組建,為了保證錨點(diǎn)都能與PAN協(xié)調(diào)器正常通行,一個(gè)通信網(wǎng)絡(luò)是必然需要的。同時(shí)可以大致分為四個(gè)場(chǎng)景:多錨測(cè)距場(chǎng)景、數(shù)據(jù)回傳場(chǎng)景、鏈路變化場(chǎng)景、角色移動(dòng)場(chǎng)景。
在RTLS系統(tǒng)中,需要實(shí)時(shí)檢測(cè)標(biāo)簽與錨點(diǎn)(Anchor)的距離,并結(jié)合錨點(diǎn)自身的位置,就可以依據(jù)換算算法得到標(biāo)簽的相對(duì)位置。在實(shí)際應(yīng)用場(chǎng)景中,需要組建一個(gè)錨點(diǎn)檢測(cè)網(wǎng)絡(luò),把檢測(cè)到的距離信息回傳到上位機(jī)系統(tǒng),根據(jù)錨點(diǎn)自身相對(duì)本地地圖的坐標(biāo)信息,以及檢測(cè)到的距離信息,換算得到指定標(biāo)簽的位置信息,這樣才能在實(shí)現(xiàn)在某一特定范圍檢測(cè)指定標(biāo)簽,此外還行支持標(biāo)簽自身的位置計(jì)算,即標(biāo)簽可以通過(guò)網(wǎng)絡(luò)獲取錨點(diǎn)的位置信息并結(jié)合測(cè)試結(jié)果就能計(jì)算出本身位置。
在實(shí)際的RTLS系統(tǒng)運(yùn)行中,可以大致分為四個(gè)場(chǎng)景:多錨測(cè)距場(chǎng)景、數(shù)據(jù)回傳場(chǎng)景、鏈路變化場(chǎng)景、角色移動(dòng)場(chǎng)景。具體如圖2-1所示:
圖2-1RTLS系統(tǒng)場(chǎng)景說(shuō)明圖
如果能保證RTLS系統(tǒng)在這個(gè)四個(gè)場(chǎng)景中都能安全穩(wěn)定的工作,實(shí)現(xiàn)待監(jiān)測(cè)區(qū)域構(gòu)建錨點(diǎn)監(jiān)測(cè)網(wǎng)絡(luò),實(shí)現(xiàn)范圍內(nèi)無(wú)盲點(diǎn)標(biāo)簽距離測(cè)定和監(jiān)測(cè)數(shù)據(jù)回傳。在這四個(gè)場(chǎng)景中大致面臨如下幾個(gè)問題需要解決:
1)無(wú)線通信網(wǎng)絡(luò)組建
2)標(biāo)簽位置信息檢測(cè)
3)標(biāo)簽移動(dòng)時(shí)的測(cè)量
4)有效檢測(cè)和利用率
3.詳細(xì)說(shuō)明與解決
無(wú)線通信網(wǎng)絡(luò)組建
問題描述:
為了保證所有的錨點(diǎn)都能與特定錨點(diǎn)(PAN協(xié)調(diào)器)正常通行,就必須要構(gòu)建一個(gè)通信網(wǎng)絡(luò),消息通過(guò)點(diǎn)對(duì)點(diǎn)或點(diǎn)跳躍路由后到達(dá)目的錨點(diǎn)。現(xiàn)有芯片DW1000已經(jīng)實(shí)現(xiàn)PHY層和MAC層,這樣錨點(diǎn)就具備了點(diǎn)對(duì)點(diǎn)通信的能力,即支持構(gòu)建通信網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。為了構(gòu)建通信網(wǎng)絡(luò),我們需要在MAC層上實(shí)現(xiàn)網(wǎng)絡(luò)層協(xié)議(路由協(xié)議),這樣就能實(shí)現(xiàn)錨點(diǎn)間通信。
方案說(shuō)明:
針對(duì)低速無(wú)線個(gè)人區(qū)域網(wǎng)絡(luò)的路由協(xié)議目前比較常見的是AODV算法和他的改進(jìn)算法,AODV算法旨在多個(gè)移動(dòng)節(jié)點(diǎn)中建立和維護(hù)一個(gè)動(dòng)態(tài)的,自啟動(dòng)的,多跳路由的專屬網(wǎng)絡(luò)。但是AODV算法比較復(fù)雜而且考慮到本案中需求的特殊性,因此也需要定義一個(gè)改進(jìn)算法以便更適應(yīng)本方案的通信需求。
方案通信特點(diǎn)說(shuō)明:
本案中的網(wǎng)絡(luò)通信主要負(fù)責(zé)把標(biāo)簽(tags)測(cè)量到的距離信息回傳到上位機(jī),它具有如下特點(diǎn):
1)目的地址可預(yù)測(cè),位置變化不頻繁。
2)通信方式主要為單方向。
3)通信節(jié)點(diǎn)(錨點(diǎn)),位置變化不頻繁。
4)通信數(shù)據(jù)為無(wú)連接模式。
5)鏈路可修復(fù)
6)節(jié)點(diǎn)自動(dòng)添加
因此我們只需要構(gòu)建一個(gè)可以保證標(biāo)簽與錨點(diǎn)原點(diǎn)無(wú)連接的單向的通信網(wǎng)絡(luò)即可。
可以參考AODV的樹狀網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的建立過(guò)程,并簡(jiǎn)化路由節(jié)點(diǎn)的算法優(yōu)化路由線路構(gòu)建流程。錨點(diǎn)負(fù)責(zé)建立維護(hù)通信網(wǎng)絡(luò),標(biāo)簽觸發(fā)數(shù)據(jù)通信過(guò)程,標(biāo)簽屬于網(wǎng)絡(luò)的臨時(shí)節(jié)點(diǎn),每次發(fā)送消息都需要搜索網(wǎng)絡(luò)節(jié)點(diǎn),成功后發(fā)送測(cè)量消息。
路由協(xié)議說(shuō)明:
參考樹形拓?fù)鋱D的特點(diǎn),對(duì)每個(gè)節(jié)點(diǎn)的路由功能定義如下:
1)節(jié)點(diǎn)需維護(hù)自身層數(shù),父節(jié)點(diǎn)地址,子節(jié)點(diǎn)地址。
2)節(jié)點(diǎn)可以把子節(jié)點(diǎn)傳來(lái)的數(shù)據(jù)轉(zhuǎn)發(fā)給父節(jié)點(diǎn)。
3)節(jié)點(diǎn)可以把父節(jié)點(diǎn)傳來(lái)的數(shù)據(jù)(廣播數(shù)據(jù))轉(zhuǎn)發(fā)給所有子節(jié)點(diǎn)。
4)節(jié)點(diǎn)與父節(jié)點(diǎn)斷開時(shí),需通知所有子節(jié)點(diǎn)。
5)父節(jié)點(diǎn)為錨點(diǎn)原點(diǎn)或錨點(diǎn)原點(diǎn)的子節(jié)點(diǎn)。
6)根據(jù)層數(shù)選擇最優(yōu)父節(jié)點(diǎn)。
給予此些定義實(shí)現(xiàn)網(wǎng)絡(luò)拓?fù)涞臉?gòu)建,維護(hù)和通信功能。
? 網(wǎng)絡(luò)拓?fù)錁?gòu)建過(guò)程
在所有錨點(diǎn)已經(jīng)安裝完成并已經(jīng)選定錨點(diǎn)原點(diǎn)后按如下流程構(gòu)建網(wǎng)絡(luò)拓?fù)洌?/p>
1)父節(jié)點(diǎn)監(jiān)聽父節(jié)點(diǎn)查詢消息廣播,錨點(diǎn)原點(diǎn)為第一個(gè)父節(jié)點(diǎn)
2)沒有父節(jié)點(diǎn)的錨點(diǎn)(自由節(jié)點(diǎn))廣播父節(jié)點(diǎn)查詢消息并攜帶自身地址
3)父節(jié)點(diǎn)監(jiān)聽到父節(jié)點(diǎn)查詢消息廣播后,向查詢節(jié)點(diǎn)發(fā)送自身地址和層數(shù)信息。
4)子節(jié)點(diǎn)根據(jù)接收到的層數(shù)信息決定父節(jié)點(diǎn),記錄父節(jié)點(diǎn)地址并向父節(jié)點(diǎn)發(fā)送子節(jié)點(diǎn)添加信息。
? 網(wǎng)絡(luò)拓?fù)錁?gòu)建維護(hù)過(guò)程
在網(wǎng)絡(luò)拓?fù)浣⒑螅?dāng)有錨點(diǎn)損壞,移動(dòng),添加,移除時(shí)的網(wǎng)絡(luò)維護(hù)。
1)錨點(diǎn)原點(diǎn)定時(shí)廣播你好消息。
2)子節(jié)點(diǎn)定時(shí)向父節(jié)點(diǎn)發(fā)送我還在消息。
3)當(dāng)父節(jié)點(diǎn)接收我還在消息超時(shí)后,刪除子節(jié)點(diǎn)地址。
4)當(dāng)子節(jié)點(diǎn)接收你好消息超時(shí)后或收到變成自由節(jié)點(diǎn)消失時(shí),向所有子節(jié)點(diǎn)發(fā)送變成自由節(jié)點(diǎn)消息,且自身變成自由節(jié)點(diǎn),執(zhí)行自由節(jié)點(diǎn)尋找父節(jié)點(diǎn)流程。
5)新節(jié)點(diǎn)為自由節(jié)點(diǎn)。
? 數(shù)據(jù)通信過(guò)程
網(wǎng)絡(luò)中的所有數(shù)據(jù)通信的方向都是子節(jié)點(diǎn)向父節(jié)點(diǎn)通信,節(jié)點(diǎn)收到數(shù)據(jù)后轉(zhuǎn)發(fā)給他的父親。
1)所有節(jié)點(diǎn)監(jiān)聽數(shù)據(jù)上報(bào)請(qǐng)求消息。
2)節(jié)點(diǎn)將收到的數(shù)據(jù)上報(bào)消息傳遞給父節(jié)點(diǎn)。
3)數(shù)據(jù)上報(bào)請(qǐng)求消息由標(biāo)簽產(chǎn)生。
? 所有消息格式定義
可參考AODV協(xié)議。
標(biāo)簽位置信息檢測(cè)
問題描述和解決辦法
根據(jù)位置測(cè)量原理可知,計(jì)算標(biāo)簽位置信息依賴于標(biāo)簽與錨點(diǎn)的距離和錨點(diǎn)自身的位置信息。考慮到實(shí)際測(cè)量的誤差和計(jì)算結(jié)果的精度問題,標(biāo)簽應(yīng)盡可能多的把他與周邊錨點(diǎn)的距離信息上報(bào)。此問題的難點(diǎn)是錨點(diǎn)位置的確定,即如果定位網(wǎng)絡(luò)中的錨點(diǎn)位置。目前想到的辦法有如下幾個(gè),但各有優(yōu)缺點(diǎn):
方案1:手動(dòng)測(cè)量每一個(gè)錨點(diǎn)的位置信息。這個(gè)方案的優(yōu)點(diǎn)是誤差可控,缺點(diǎn)是當(dāng)錨點(diǎn)增加或者室內(nèi)環(huán)境復(fù)雜時(shí),導(dǎo)致測(cè)量工作量驟增。
方案2:先手動(dòng)測(cè)量幾個(gè)特定錨點(diǎn)的位置信息,然后基于已知錨點(diǎn)位置信息和距離,估測(cè)其他錨點(diǎn)信息。優(yōu)點(diǎn)是測(cè)量速度快,缺點(diǎn)是測(cè)量誤差不可控。
距離測(cè)試和數(shù)據(jù)上報(bào)流程
標(biāo)簽與錨點(diǎn)距離的數(shù)據(jù)信息是通過(guò)數(shù)據(jù)上報(bào)請(qǐng)求消息通過(guò)通信網(wǎng)絡(luò)最終發(fā)送給錨點(diǎn)原點(diǎn),上位機(jī)與錨點(diǎn)原點(diǎn)連接,這樣就能根據(jù)上報(bào)的數(shù)據(jù)信息,計(jì)算出標(biāo)簽的位置信息。具體流程如下:
1)標(biāo)簽定時(shí)與他周圍所有的錨點(diǎn)執(zhí)行測(cè)距流程。
2)標(biāo)簽在測(cè)量結(jié)果中挑選距離它最近的錨點(diǎn),將測(cè)量數(shù)據(jù)封裝到數(shù)據(jù)上報(bào)請(qǐng)求消息并發(fā)給它。
標(biāo)簽移動(dòng)時(shí)的測(cè)量
問題描述和解決辦法
當(dāng)標(biāo)簽移動(dòng)時(shí)會(huì)導(dǎo)致與他測(cè)距的錨點(diǎn)的變化,可是只要保證定它定時(shí)向周圍錨點(diǎn)測(cè)距,并由上位機(jī)來(lái)決定如何使用這些測(cè)量結(jié)果時(shí),問題就簡(jiǎn)單了。標(biāo)簽只需要關(guān)心距離它最近的錨點(diǎn)的地址就可以了,此問題可以通過(guò)定時(shí)測(cè)距解決。
有效檢測(cè)和利用率
問題描述和解決辦法
在待監(jiān)測(cè)區(qū)域確定的情況下,如何確定錨點(diǎn)的分布情況同樣是一個(gè)問題。為了提高檢測(cè)的精度和減少測(cè)試盲點(diǎn),當(dāng)然需要添加更多的錨點(diǎn),可以這樣會(huì)導(dǎo)正通信網(wǎng)絡(luò)的負(fù)責(zé)化,并且增加通信的轉(zhuǎn)發(fā)次數(shù)。如果錨點(diǎn)布置的過(guò)于稀疏又會(huì)導(dǎo)致測(cè)量數(shù)據(jù)過(guò)少導(dǎo)致位置估算又偏差,甚至出現(xiàn)檢測(cè)盲點(diǎn)。暫時(shí)也沒有比較好的辦法解決此問題,能想到的辦法也就是先少量不錨點(diǎn),然后根據(jù)實(shí)際的測(cè)試效果添加錨點(diǎn)。
評(píng)論