定位引擎產(chǎn)品由上至下分為四層,編碼實(shí)現(xiàn)層、場(chǎng)景應(yīng)用層、通用算法層、數(shù)據(jù)采集層,以及測(cè)試平臺(tái)
編碼實(shí)現(xiàn)層
主要工作:根據(jù)協(xié)定的接口,對(duì)外提供精確、穩(wěn)定、可靠的、能夠集成到Android SDK、IOS SDK、JS SDK的針對(duì)不同場(chǎng)景的算法庫(kù)或者單獨(dú)運(yùn)行在服務(wù)器上的定位引擎程序;針對(duì)不同的系統(tǒng)平臺(tái),選擇適當(dāng)?shù)亩ㄎ凰惴ńM合,并在算法上提出一些針對(duì)性的處理,同時(shí)選擇合適的語(yǔ)言框架實(shí)現(xiàn)定位算法。
主要的平臺(tái):Android、IOS、 H5+JS+微信公眾號(hào)、Linux等
針對(duì)不同平臺(tái)的編碼要求:
針對(duì)H5+JS+微信公眾號(hào)平臺(tái)
1. JS不適合做大量的浮點(diǎn)型運(yùn)算
2. 微信公眾平臺(tái)從Beacon獲取的信息中缺少measuredPower(一米處RSSI值),而且對(duì)慣導(dǎo)的支持較差,只能選擇基于RSS測(cè)距單一的算法或者指紋算法
輸出成果:適合不同平臺(tái)的針對(duì)不同場(chǎng)景的編程代碼(JS、JAVA等語(yǔ)言可能需要對(duì)應(yīng)平臺(tái)人員根據(jù)偽代碼完成開(kāi)發(fā))
場(chǎng)景應(yīng)用層
主要工作:針對(duì)特定的場(chǎng)景,制定相應(yīng)的測(cè)量策略,分析測(cè)量的數(shù)據(jù),選擇并提供合適的數(shù)據(jù)采集設(shè)備的部署方式、配置參數(shù)以及合適的定位算法、算法參數(shù);在通用算法的基礎(chǔ)上,針對(duì)具體的應(yīng)用情形進(jìn)行算法上的裁剪、定制,提供專(zhuān)用于某些場(chǎng)景的專(zhuān)用化算法。
主要的應(yīng)用場(chǎng)景:室內(nèi)停車(chē)場(chǎng)、大型室內(nèi)商場(chǎng)、醫(yī)院、養(yǎng)老院、會(huì)展中心、火車(chē)站、機(jī)場(chǎng)等
針對(duì)不同場(chǎng)景的定制要求:
針對(duì)停車(chē)場(chǎng)環(huán)境
1. 測(cè)量室內(nèi)停車(chē)場(chǎng)環(huán)境下RSSI的波動(dòng)及衰減情況,選擇合適的信號(hào)濾波算法及其他步驟的算法,同時(shí)擬合出RSSI-Distance模型
2. Beacon的部署方式可以采用單條線(xiàn)型,僅在車(chē)道中間部署一排,部署間隔為多少,發(fā)射功率為多少,發(fā)包頻率為多少,部署條件不允許的第二套方案
3. 單條線(xiàn)型部署,主要使用兩點(diǎn)和單點(diǎn)定位,無(wú)論用戶(hù)的實(shí)際位置在哪里,都將其定位坐標(biāo)映射到最近的車(chē)道中央線(xiàn)上
輸出成果:針對(duì)特定應(yīng)用場(chǎng)景的算法說(shuō)明文檔 以及 C++測(cè)試版代碼
通用算法層
主要工作: 研究現(xiàn)有的室內(nèi)定位算法,總結(jié)出核心知識(shí)點(diǎn),抽象出通用算法框架;針對(duì)不同的數(shù)據(jù)采集設(shè)備,向數(shù)據(jù)采樣層提出所需的在理想環(huán)境下的測(cè)量數(shù)據(jù),并分析這些數(shù)據(jù),然后在框架的基礎(chǔ)上對(duì)算法進(jìn)行細(xì)化,最終以流程圖和文字說(shuō)明的方式提供完整、詳細(xì)的算法實(shí)現(xiàn)方法。
主流的定位算法:基于RSS測(cè)距、基于RSS指紋庫(kù)、基于地磁場(chǎng)、基于MEMS傳感器的慣導(dǎo)、基于TOA的超寬帶脈沖定位算法等
針對(duì)不同算法的研究要求:
基于RSS測(cè)距的定位算法
1. 核心知識(shí)點(diǎn)
RSS在室內(nèi)傳播時(shí)的多徑效應(yīng):直接導(dǎo)致RSS的不穩(wěn)定性和時(shí)變性 。(測(cè)量,分析)
無(wú)線(xiàn)電傳播損耗模型:對(duì)數(shù)衰減模型、多項(xiàng)式衰減模型等
2. 定位算法框架
(1)信號(hào)濾波
常用的濾波方法:高斯濾波/均值濾波/邊界濾波/Kalman濾波/其它
(2)公式轉(zhuǎn)化成距離
常用的公式:標(biāo)準(zhǔn)的信道模型/自己擬合/其它
(3)幾何定位算法得出坐標(biāo)點(diǎn)
常用的算法:?jiǎn)吸c(diǎn)/兩點(diǎn)/質(zhì)心/最小二乘/三邊/多點(diǎn)/其它/按比例計(jì)算
(4)定位點(diǎn)的濾波
常用的濾波:Kalman/其它
3. 根據(jù)測(cè)量數(shù)據(jù)得到理想環(huán)境下完整詳細(xì)的算法
分析信號(hào)的衰減波動(dòng)情況,選擇一種合適的方法或多種方法的組合,以流程圖和文檔的形式提供完整詳細(xì)的算法步驟。
輸出成果:針對(duì)不同算法的研究文檔、算法實(shí)現(xiàn)步驟說(shuō)明文檔及測(cè)量數(shù)據(jù)分析文檔 以及 不同算法的C++測(cè)試版代碼
數(shù)據(jù)采集層
主要工作:根據(jù)算法層的需求,完成設(shè)備數(shù)據(jù)的采集,并對(duì)采集的數(shù)據(jù)進(jìn)行整理、分析,最終為算法層提供清晰、準(zhǔn)確、符合實(shí)際規(guī)律的圖文數(shù)據(jù)。
主流的定位數(shù)據(jù)采集設(shè)備:iBeacon、WIFI-AP、UWB、ZigBee、BLE、超聲波、RFID...
針對(duì)不同設(shè)備的測(cè)量要求:
iBeacon的測(cè)量方法
在無(wú)線(xiàn)電波干擾較小的空曠環(huán)境下,針對(duì)單個(gè)iBeacon, 測(cè)量某種測(cè)試機(jī)在不同功率下、不同的發(fā)射頻率下、不同距離下、不同采樣次數(shù)下,獲取到的RSSI數(shù)據(jù)。然后分析測(cè)量到的數(shù)據(jù),提供不同情形下,在某點(diǎn)處的RSSI的波動(dòng)直方圖、RSSI隨距離衰減的曲線(xiàn)圖、數(shù)據(jù)采樣的丟包率、不同功率下的最大信號(hào)覆蓋范圍。
輸出成果:針對(duì)不同數(shù)據(jù)采集設(shè)備的測(cè)量文檔
測(cè)試平臺(tái)
算法層和場(chǎng)景層,在選擇后合適的算法后,都需要編碼實(shí)現(xiàn),進(jìn)行測(cè)試調(diào)整算法。測(cè)試方案有兩個(gè),
方案一:同時(shí)提供支持四端的算法包(Android、IOS、JS+H5、Linux)
方案二:對(duì)四端的測(cè)試工具提供統(tǒng)一的接口,通過(guò)UDP或者HTTP在云端服務(wù)器實(shí)現(xiàn)定位
方案一優(yōu)點(diǎn)無(wú)網(wǎng)絡(luò)延時(shí),最切近程序?qū)嶋H運(yùn)行環(huán)境,缺點(diǎn)則是替換包時(shí)十分繁瑣;方案二盡管在測(cè)試過(guò)程中存在一定網(wǎng)絡(luò)延時(shí)(可以接受),好處是只需在云端更新代碼,就可以在四端看到效果,且四端測(cè)試客戶(hù)端不用改動(dòng)。因而選用方案二。
輸出成果:在云端服務(wù)器研發(fā)一套算法測(cè)試平臺(tái),基于UDP或HTTP協(xié)議從測(cè)試客戶(hù)端獲取采集到的數(shù)據(jù),返回給客戶(hù)端定位結(jié)果。 需要Android、IOS、前端配合各提供一個(gè)測(cè)試客戶(hù)端。
附:
室內(nèi)定位技術(shù)的評(píng)價(jià)標(biāo)準(zhǔn)
1.定位精度
2.定位響應(yīng)時(shí)間
3.實(shí)現(xiàn)復(fù)雜度
4.平臺(tái)兼容性