本發(fā)明提供了一種結(jié)合加速度計的LED室內(nèi)3D定位方法,屬于室內(nèi)定位導(dǎo)航技術(shù)領(lǐng)域。
背景技術(shù):
位置服務(wù)(Location-Based Service,LBS)是通過移動終端和無線網(wǎng)絡(luò)的配合,確定出移動用戶的實際地理位置,從而提供用戶需要的與位置相關(guān)的信息服務(wù),在當(dāng)今社會成為人們?nèi)粘I钪斜夭豢缮俚囊徊糠帧H蚨ㄎ幌到y(tǒng)(Global Satellite Positioning,GPS)是目前應(yīng)用最為廣泛的定位系統(tǒng),但衛(wèi)星信號不能穿透建筑物,且室內(nèi)環(huán)境存在嚴(yán)重的多徑和非視距干擾,在室內(nèi)難以實現(xiàn)定位。為了提高室內(nèi)定位的精度,人們采用了紅外線定位、超聲波定位、射頻識別(Radio Frequency Identification,RFID)定位等技術(shù),但是傳統(tǒng)的室內(nèi)定位技術(shù)在系統(tǒng)成本、穩(wěn)定性、定位精度等方面不能完全滿足用戶需求。隨著LED照明技術(shù)的發(fā)展,可見光通信技術(shù)也得到發(fā)展,基于可見光通信的室內(nèi)定位導(dǎo)航技術(shù)也成為了研究的熱點。與傳統(tǒng)的射頻定位和其它無線定位技術(shù)相比,基于LED可見光通信的室內(nèi)定位具有發(fā)射功率高、定位精度高、使用場合廣、無電磁干擾和節(jié)約能源等優(yōu)點。
中國發(fā)明專利“一種基于可見光標(biāo)簽的室內(nèi)定位方法”(授權(quán)公告號:CN103823204B)基于可見光通信,發(fā)射端通過控制LED陣列發(fā)射含有定位信息的數(shù)據(jù)幀,接收端的探測器在識別幀頭的同時將用戶定位在光功率最大的子小區(qū),并從接收到的光信號解析出用戶所在的位置。但是,該方法的LED陣列以等邊三角形的分布方式向四面擴展,其定位精度取決于LED網(wǎng)格的分辨率,提高精度需要更多LED,這不僅使成本大大提高,還將導(dǎo)致照明問題。另外,該方法的每個LED定位信息樣本為(x,y),意味著其只能實現(xiàn)二維平面上的定位,而在實際應(yīng)用中,接收機的高度是不斷變化的,需要實現(xiàn)更高精度的三維定位。
中國發(fā)明專利“基于室內(nèi)照明的定位導(dǎo)航系統(tǒng)”(授權(quán)公告號:CN102967307B)控制計算機向發(fā)射部件發(fā)送控制命令,接收部件解碼LED的ID地址信息,其中光接收器采用凸透鏡加上光電檢測PD陣列的光電路接收方案,便于精確確定用戶的位置。但是,如果該系統(tǒng)凸透鏡使光源的影像只照到一個圖像傳感器上,會導(dǎo)致信道矩陣不是滿秩的,無法實現(xiàn)所有信道獨立傳輸數(shù)據(jù)。另外,該系統(tǒng)需要借助凸透鏡及圖像傳感器實現(xiàn)定位,發(fā)射器光束角必須足夠大,且成像透鏡的直徑必須足夠大,以收集到足夠的光線,大大提高成本。
目前的許多學(xué)術(shù)論文提供了成本較低、精度較高的LED室內(nèi)定位方法,但大多要求接收機的法線方向平行于發(fā)射機法線方向,即接收機保持水平放置。但在實際的定位導(dǎo)航過程中,手持設(shè)備會產(chǎn)生一定角度的傾斜或抖動,無法確保接收機一直水平放置。綜上,這些算法在實際應(yīng)用中會導(dǎo)致較大的定位誤差,定位誤差達到分米級、米級甚至十米級,定位精度低。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,并提供一種結(jié)合加速度計的LED室內(nèi)3D定位方法,LED燈作為發(fā)射機并發(fā)送帶有其位置信息的ID編碼,移動設(shè)備作為接收機,利用加速計的角度信息計算接收機法線與入射光線的夾角,即入射角,用于之后的定位算法,并使用三角測量法中接收功率強度(received-signal-strength,RSS)技術(shù),同時結(jié)合trust region算法實現(xiàn)3D定位并提高定位精度,本發(fā)明考慮了手持設(shè)備的上下抖動以及產(chǎn)生的傾斜角度,定位精度較高,可達到厘米級。
實現(xiàn)本發(fā)明目的所采用的技術(shù)方案為,一種結(jié)合加速度計的LED室內(nèi)3D定位方法,包括如下步驟:
(1)對室內(nèi)照明系統(tǒng)的各LED燈進行編碼,將各LED燈的編碼以時分復(fù)用的形式加載到LED燈的發(fā)射光中;
(2)使用帶加速度計的接收機接收各LED燈的發(fā)射光并獲取接收功率,在同一位置將接收機旋轉(zhuǎn)K個不同角度,7≥K≥3,在各旋轉(zhuǎn)角度下選取接收機的接收功率中最大的N個接收功率為有效接收功率,1≤N≤4,接收機獲取不同旋轉(zhuǎn)角度下的有效接收功率Prik和加速度計的角度信息,1≤i≤N,1≤k≤K;
(3)定義向量Rik,其方向為不同旋轉(zhuǎn)角度下接收機的法線方向、大小為∣Rik∣=Prik,接收機的法線方向通過加速度計的角度信息進行確定;
(4)定義平面Wik,平面Wik為經(jīng)過向量Rik末端并垂直于向量Rik的平面,平面Wik的公式為:
aik*x+bik*y+cik*z=dik,
(5)定義向量Ti,其方向從接收機指向接收到的發(fā)射光所對應(yīng)LED燈,向量Ti即為入射光線,計算公式為:
(6)計算接收機法線方向與入射光線的夾角,該夾角即入射角度計算公式為:
(7)計算接收機與接收到的發(fā)射光所對應(yīng)LED燈之間的距離Di,計算公式為:
其中Pti為接收到的發(fā)射光所對應(yīng)LED燈的發(fā)射功率,h為接收機與接收到的發(fā)射光所對應(yīng)LED燈之間的垂直距離,C根據(jù)如下公式計算得到:
式中,m為朗伯系數(shù),A為接收端光接收面的物理探測面積,是接收機中的光濾波器的傳播系數(shù),是接收機中的光集中器的增益,由下式確定:
式中,Φc為光集中器視角,n是折射率;
(8)計算接收機的二維位置坐標(biāo):
(8-1)設(shè)接收到的發(fā)射光所對應(yīng)LED燈的坐標(biāo)為(Xi,Yi),接收機的二維坐標(biāo)為(x,y),有(x-Xi)2+(y-Yi)2=ri2,ri為接收到的發(fā)射光所對應(yīng)LED燈與接收機的水平距離;
(8-2)令Q=[x,y]T,由最小二乘法得到:
Q=(MTM)-1MTN,
其中,
解得接收機的二維位置坐標(biāo)(x,y);
(9)設(shè)接收到的發(fā)射光所對應(yīng)LED燈的三維坐標(biāo)為(Xi,Yi,Zi),接收機的三維坐標(biāo)為定義定位誤差計算公式為:
(10)進行和的更新迭代:
(10-1)初始化接收機坐標(biāo),其中h0為初始情況下接收機與接收到的發(fā)射光所對應(yīng)LED燈的垂直距離,H為接收到的發(fā)射光所對應(yīng)LED燈所在房間的高度,(x,y)為步驟(8)得到的接收機的二維位置坐標(biāo);
(10-2)根據(jù)計算得到初始定位誤差設(shè)定初始信賴域半徑R0,取以為圓心、以R0為半徑的信賴域內(nèi)部的點更新通過更新
(10-3)進行定位誤差判決,當(dāng)定位誤差大于設(shè)定的定位誤差時,重新選取信賴域內(nèi)部的點更新當(dāng)定位誤差小于等于設(shè)定的定位誤差時,輸出最新的
(10-4)進行迭代終止判決,將最新的中與上一次迭代得到的中的進行比較:
a)當(dāng)二者差值大于5cm時,以最新的中的確定下一次和更新迭代的初始值h0,開始下一次迭代;
b)當(dāng)二者差值不大于5cm時終止迭代,輸出最新的作為接收機的三維位置坐標(biāo)。
步驟(1)中編碼為二進制字符串,編碼中“1”表示亮,對應(yīng)的LED燈照明功率為P1,“0”表示暗,對應(yīng)的LED燈照明功率為P2,P1:P2=10:6~10:9。
步驟(1)中編碼包括幀頭、物理位置信息編碼、推送信息編碼和幀尾,物理位置信息編碼包含樓棟字段、樓層字段、房間字段、室內(nèi)LED燈編號字段。
步驟(1)中室內(nèi)照明系統(tǒng)為由1個以上2行2列LED燈陣列擴展構(gòu)成的宮格單元拓撲組網(wǎng),位于房間角落處的LED燈陣列的燈距小于其他位置的LED燈陣列的燈距。
步驟(1)中LED燈陣列中的各LED燈輪詢發(fā)射編碼數(shù)據(jù)幀,當(dāng)其中一個LED燈發(fā)射編碼數(shù)據(jù)幀時,LED燈陣列中的其他LED燈發(fā)射等長全零數(shù)據(jù)幀。
步驟(2)中有效接收功率為在各旋轉(zhuǎn)角度下接收機的接收功率中最大的4個接收功率。
步驟(2)中旋轉(zhuǎn)角度的數(shù)量K為5。
步驟(3)中通過加速度計的角度信息確定接收機的法線方向的具體內(nèi)容為:從加速度計的角度信息中獲取接收機旋轉(zhuǎn)后分別相對于標(biāo)準(zhǔn)坐標(biāo)系X軸、Y軸和Z軸的夾角αx、αy和αz,則接收機法線方向為(sinαzsinαx,sinαzcosαy,cosαz)。
步驟(10-1)中設(shè)定接收機的初始Z坐標(biāo)H-h0為接收機持有者身高的1/2~7/8倍。
與現(xiàn)有技術(shù)相比,本發(fā)明具有如下優(yōu)點:
1、實際應(yīng)用中,手持設(shè)備作為接收機會因行人走動產(chǎn)生一定的上下抖動和旋轉(zhuǎn)角度,大大降低定位精度,本發(fā)明提供的LED室內(nèi)3D定位方法將旋轉(zhuǎn)角度考慮到定位方法中,使用帶加速度計的接收機接收各LED燈的發(fā)射光并獲取接收功率,通過加速度計的角度信息獲取不同旋轉(zhuǎn)角度下接收機的法線方向,引入入射角度的詳細計算方法,將手持設(shè)備的旋轉(zhuǎn)角度最終量化為入射角度;引入接收機的Z坐標(biāo),通過兩層迭代將定位誤差控制在設(shè)定的范圍,同時接收機的Z坐標(biāo)變動不大于5cm,從而克服上下抖動對定位誤差的影響,提供更高的定位精度,可將定位精度從米級、分米級提高至厘米級。
2、本發(fā)明提供的LED室內(nèi)3D定位方法,通過設(shè)置向量體現(xiàn)接收機與發(fā)射機之間的信息傳遞,計算過程均為矩陣運算,因此軟件實現(xiàn)復(fù)雜度低,可極大提高運算速率;為了提高所求入射角度的準(zhǔn)確性,在同一個位置加速度計的采樣點不能過少,即接收機在同一位置旋轉(zhuǎn)的角度個數(shù)不宜過少,但是隨著采樣點的增多,數(shù)據(jù)中所含的加速度計噪聲會增大,影響精度,且會降低定位速率,所以采樣點個數(shù)也不宜過大,本發(fā)明推薦5個采樣點,此時精度趨于穩(wěn)定,當(dāng)然也可通過計算或?qū)嶒灤_定最佳值。
3、本發(fā)明提供的LED室內(nèi)3D定位方法中,使用的接收機可以是日常使用的手機,由于大多數(shù)手機自帶加速度計,因此該定位方法可通過手機APP實現(xiàn),定位過程中自動調(diào)用手機自帶的加速度計的相關(guān)信息,不需要再添加外圍設(shè)備,硬件設(shè)備簡單,使用成本較低,并且本發(fā)明的軟件實現(xiàn)復(fù)雜度低,不會影響手機運行速率。
4、本發(fā)明室內(nèi)照明系統(tǒng)作為發(fā)射機,不會產(chǎn)生射頻干擾,可以用于嚴(yán)格限制射頻輻射的環(huán)境中,如醫(yī)院等,應(yīng)用范圍更廣,并且LED燈可實現(xiàn)定位和照明兩者兼顧,LED燈作為發(fā)射端利用光束的強弱變化進行編碼,其變化人眼無法識別,所以不會造成照明問題,且除一些必要的信號處理,幾乎無需其他的功率消耗,大大降低了成本。
5、本發(fā)明室內(nèi)照明系統(tǒng)作為發(fā)射機,采用廣播傳輸方式,可實現(xiàn)一對多的服務(wù),服務(wù)用戶數(shù)量不限,并且可以保證定位正常使用,發(fā)射端的發(fā)送的數(shù)據(jù)幀還預(yù)留有字節(jié)用于數(shù)據(jù)信息的推送,如廣告信息等,實用性強。
6、由于本發(fā)明采用廣播傳輸方式,接收機可能會接收到較多LED燈的信號,本發(fā)明在所有接收信號中選取最大的4個接收功率為有效接收功率,即實現(xiàn)4燈定位,為此設(shè)置室內(nèi)照明系統(tǒng)為由1個以上2行2列LED燈陣列擴展構(gòu)成的宮格單元拓撲組網(wǎng),2行2列LED燈陣列即可實現(xiàn)定位,即使其中一盞燈發(fā)生故障時,也可通過3盞燈實現(xiàn)定位,從而確保定位精度為厘米級。
7、本發(fā)明使用室內(nèi)照明系統(tǒng)作為發(fā)射機,位于房間角落處的LED燈陣列的燈距小于其他位置的LED燈陣列的燈距,房間角落處加密LED燈以提高角落位置的定位精度,從而確保定位精度為厘米級。
8、由于本發(fā)明主要應(yīng)用于電子手持設(shè)備,而電子手持設(shè)備在使用時約位于人體胸口處,放置時位于上衣或褲子的口袋中或者手提包中,本發(fā)明提供的LED室內(nèi)3D定位方法中,接收機初始高度(初始Z坐標(biāo))的設(shè)定為接收機持有者身高的1/2~7/8倍,可完全覆蓋電子手持設(shè)備的高度變動范圍,合理地設(shè)置初始高度值可減少算法迭代次數(shù),提高定位速率。
附圖說明
圖1為本發(fā)明提供的LED室內(nèi)定位方法的流程圖。
圖2為計算入射角度的幾何模型。
圖3為利用4盞LED燈進行3D定位的原理圖。
圖4為3D定位方法的流程圖。
圖5為使用3D定位方法進行定位的定位結(jié)果圖。
圖6為圖5的水平分量定位結(jié)果圖。
圖7為圖5的垂直分量定位結(jié)果圖。
具體實施方式
下面結(jié)合附圖和實施例對本發(fā)明進行詳細具體說明,本發(fā)明的內(nèi)容不局限于以下實施例。
本發(fā)明可用N盞LED燈實現(xiàn)定位,當(dāng)N為1或2時,只能定位到某一個區(qū)間范圍內(nèi),定位精度較低;當(dāng)N為3時,可以精確算出用戶的坐標(biāo)位置,但是當(dāng)某一盞燈發(fā)生故障時,無法確保定位精度;當(dāng)N為4時,既可對用戶實現(xiàn)精確定位,還可保證在LED燈發(fā)生故障時仍可正常定位,所以推薦N=4,即定位單元為4個LED燈以正方形的分布方式、四面擴展而成的LED燈陣列,室內(nèi)照明系統(tǒng)為由1個以上2行2列LED燈陣列擴展構(gòu)成的宮格單元拓撲組網(wǎng),位于房間角落處的LED燈陣列的燈距小于其他位置的LED燈陣列的燈距,以提高角落位置的定位精度。
下面結(jié)合附圖對本發(fā)明提供的結(jié)合加速度計的LED室內(nèi)3D定位方法進行詳細闡述,參見圖1和圖4,具體包括如下步驟:
(1)對室內(nèi)照明系統(tǒng)(發(fā)射端)的各LED燈進行編碼,編碼為二進制字符串,包括幀頭、物理位置信息編碼、推送信息編碼和幀尾,物理位置信息編碼包含樓棟字段、樓層字段、房間字段、室內(nèi)LED燈編號字段,將各LED燈的編碼以時分復(fù)用的形式加載到LED燈的發(fā)射光中,編碼數(shù)據(jù)幀可使用OOK、QAM等編碼調(diào)制方式,編碼中“1”表示亮,對應(yīng)的LED燈照明功率為5W,“0”表示暗,對應(yīng)的LED燈照明功率為3W,LED燈陣列中的各LED燈輪詢發(fā)射編碼數(shù)據(jù)幀,當(dāng)其中一個LED燈發(fā)射編碼數(shù)據(jù)幀時,LED燈陣列中的其他LED燈發(fā)射等長全零數(shù)據(jù)幀;
(2)接收機接收各LED燈的發(fā)射光并獲取接收功率,在同一位置將帶加速度計的接收機旋轉(zhuǎn)5個不同角度,在各旋轉(zhuǎn)角度下選取接收機的接收功率中最大的4個接收功率為有效接收功率,接收機獲取不同旋轉(zhuǎn)角度下的有效接收功率Prik和加速度計的角度信息,1≤i≤4,,1≤k≤5;
(3)參見圖2,定義向量Rik,其方向為不同旋轉(zhuǎn)角度下接收機的法線方向、大小為∣Rik∣=Prik,從加速度計的角度信息中獲取接收機旋轉(zhuǎn)后分別相對于標(biāo)準(zhǔn)坐標(biāo)系X軸、Y軸和Z軸的夾角αx、αy和αz,則接收機法線方向為:
(sinαzsinαx,sinαzcosαy,cosαz);
(4)定義平面Wik,平面Wik為經(jīng)過向量Rik末端并垂直于向量Rik的平面,平面Wik的公式為:
aik*x+bik*y+cik*z=dik,
(5)定義向量Ti,其方向從接收機指向接收到的發(fā)射光所對應(yīng)LED燈,向量Ti即為入射光線,計算公式為:
(6)計算接收機法線方向與入射光線的夾角,該夾角即入射角度計算公式為:
(7)計算接收機與接收到的發(fā)射光所對應(yīng)LED燈之間的距離Di,計算公式為:
其中Pti為接收到的發(fā)射光所對應(yīng)LED燈的發(fā)射功率,h為接收機與接收到的發(fā)射光所對應(yīng)LED燈之間的垂直距離,C根據(jù)如下公式計算得到:
式中,m為朗伯系數(shù),A為接收端光接收面的物理探測面積,是接收機中的光濾波器的傳播系數(shù),是接收機中的光集中器的增益,由下式確定:
式中,Φc為光集中器視角,n是折射率;
(8)計算接收機的二維位置坐標(biāo):
(8-1)設(shè)接收到的發(fā)射光所對應(yīng)LED燈的坐標(biāo)為(Xi,Yi),接收機的二維位置坐標(biāo)為(x,y),有(x-Xi)2+(y-Yi)2=ri2,ri為接收到的發(fā)射光所對應(yīng)LED燈與接收機的水平距離;
(8-2)令Q=[x,y]T,由最小二乘法得到:
Q=(MTM)-1MTN,
其中,
解得接收機的二維位置坐標(biāo)(x,y);
(9)設(shè)接收到的發(fā)射光所對應(yīng)LED燈的三維坐標(biāo)為(Xi,Yi,Zi),接收機的三維坐標(biāo)為定義定位誤差計算公式為:
(10)進行和的更新迭代:
(10-1)初始化接收機坐標(biāo),其中h0為初始情況下接收機與接收到的發(fā)射光所對應(yīng)LED燈的垂直距離,H為接收到的發(fā)射光所對應(yīng)LED燈所在房間的高度,(x,y)為步驟(8)得到的接收機的二維位置坐標(biāo);
(10-2)根據(jù)計算得到初始定位誤差設(shè)定初始信賴域半徑R0,取以為圓心、以R0為半徑的信賴域內(nèi)部的點更新通過更新
(10-3)進行定位誤差判決,當(dāng)定位誤差大于設(shè)定的定位誤差時,重新選取信賴域內(nèi)部的點更新當(dāng)定位誤差小于等于設(shè)定的定位誤差時,輸出最新的
(10-4)進行迭代終止判決,將最新的中與上一次迭代得到的中的進行比較:
a)當(dāng)二者差值大于5cm時,以最新的中的確定下一次和更新迭代的初始值h0,開始下一次迭代;
b)當(dāng)二者差值不大于5cm時終止迭代,輸出最新的作為接收機的三維位置坐標(biāo)。
設(shè)定人在一個大小為6m*6m*4.2m的房間內(nèi)走動的一個路徑(起點和終點位置參見圖3),實際路徑由262個采樣點構(gòu)成,采用本發(fā)明提供的結(jié)合加速度計的LED室內(nèi)3D定位方法進行3D定位,定位結(jié)果如圖5所示,每個采樣點均與對應(yīng)的定位估算點幾乎重合,其RMS誤差為0.012米,其中95%的采樣點的定位誤差在0~0.02m的范圍內(nèi)。為了使結(jié)果更加明了,圖6和圖7分別給出了所有采樣點的水平分量和垂直分量定位結(jié)果圖,可以看到,在水平分量上,其結(jié)果幾乎與實際路徑吻合,其RMS誤差為0.0086米;垂直分量稍微有些許偏差,其定位誤差也能達到0.013米。