本發(fā)明涉及一種基于optics密度聚類和bp神經(jīng)網(wǎng)絡(luò)的超寬帶室內(nèi)定位方法。
背景技術(shù):
超寬帶(uwb)無線通信時(shí),根據(jù)錨節(jié)點(diǎn)與目標(biāo)節(jié)點(diǎn)間傳輸數(shù)據(jù)的到達(dá)時(shí)間(toa)、到達(dá)時(shí)間差(tdoa)、到達(dá)角度(aoa)或者信號(hào)強(qiáng)度(rssi),可計(jì)算錨節(jié)點(diǎn)與目標(biāo)節(jié)點(diǎn)間幾何距離,再利用錨節(jié)點(diǎn)與目標(biāo)節(jié)點(diǎn)間平面或立體幾何關(guān)系,得出目標(biāo)節(jié)點(diǎn)位置。為了提高該定位方法的定位精度,現(xiàn)有的改進(jìn)方案多采用聚類算法、卡爾曼濾波得到目標(biāo)節(jié)點(diǎn)坐標(biāo)數(shù)據(jù)。但現(xiàn)有方法存在受環(huán)境影響大、非視距情況下精度低的問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明針對(duì)現(xiàn)有技術(shù)的不足,提供一種基于optics密度聚類和bp神經(jīng)網(wǎng)絡(luò)的超寬帶室內(nèi)定位方法,以減小現(xiàn)有室內(nèi)定位方法受環(huán)境影響大和定位精度低的問題。
為了達(dá)到上述目的,本發(fā)明一種基于optics密度聚類和bp神經(jīng)網(wǎng)絡(luò)的超寬帶室內(nèi)定位方法,主要包括以下步驟:
首先,以超寬帶定位系統(tǒng)采集到的已知位置上目標(biāo)節(jié)點(diǎn)坐標(biāo)信息為基礎(chǔ),對(duì)已知位置上采集到的多個(gè)坐標(biāo)信息進(jìn)行optics密度聚類,篩選該已知位置點(diǎn)對(duì)應(yīng)的多個(gè)可靠坐標(biāo);
其次,用該已知位置點(diǎn)與可靠坐標(biāo)均值中心形成數(shù)據(jù)對(duì)(已知位置,可靠訓(xùn)練樣本);
第三,對(duì)復(fù)數(shù)個(gè)已知位置點(diǎn)進(jìn)行同樣的聚類篩選,形成各自已知位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)對(duì);
第四,通過bp神經(jīng)網(wǎng)絡(luò)對(duì)所有已知位置點(diǎn)的數(shù)據(jù)對(duì)的集合進(jìn)行訓(xùn)練,得出bp神經(jīng)網(wǎng)絡(luò)定位識(shí)別模型;
最后,利用訓(xùn)練好的bp神經(jīng)網(wǎng)絡(luò)定位識(shí)別模型對(duì)可靠待識(shí)別點(diǎn)進(jìn)行位置識(shí)別,得出的識(shí)別結(jié)果即為最終定位坐標(biāo)。
優(yōu)選地,所述超寬帶定位系統(tǒng)包括至少三個(gè)定位錨節(jié)點(diǎn)和一個(gè)移動(dòng)目標(biāo)節(jié)點(diǎn),每個(gè)錨節(jié)點(diǎn)和移動(dòng)目標(biāo)節(jié)點(diǎn)上各配有一根天線;所述錨節(jié)點(diǎn)圍成平面所投影地面按照相鄰設(shè)定的距離取參考位置,則該參考位置稱為已知位置。
本發(fā)明采用超寬帶定位系統(tǒng)包括四個(gè)定位錨節(jié)點(diǎn)(a1,a2,a3,a4)和一個(gè)移動(dòng)目標(biāo)節(jié)點(diǎn)(tag),錨節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)各配有一根天線。在實(shí)驗(yàn)室采用吸頂方式水平固定四個(gè)錨節(jié)點(diǎn),形成一個(gè)600*400cm2的矩形,天線朝下與地面垂直;移動(dòng)目標(biāo)節(jié)點(diǎn)水平固定在遙控車上,天線朝上與地面垂直;通過超寬帶定位系統(tǒng)相配套的配置軟件,根據(jù)實(shí)際建立空間直角坐標(biāo)系,設(shè)置各個(gè)定位錨節(jié)點(diǎn)的坐標(biāo)a1(0,0,285)、a2(400,600,285)、a3(0,600,285)、a4(400,600,285),啟動(dòng)超寬帶定位系統(tǒng)即可通過串口接收該系統(tǒng)返回的融合定位數(shù)據(jù)。四個(gè)錨節(jié)點(diǎn)圍成平面所投影地面按照相鄰50cm取參考位置,稱為已知位置。
與現(xiàn)有技術(shù)相比,本發(fā)明利用optics密度聚類算法對(duì)超寬帶定位系統(tǒng)采集到的原始坐標(biāo)數(shù)據(jù)進(jìn)行優(yōu)化過濾,再利用bp神經(jīng)網(wǎng)絡(luò)的非線性映射能力建立起定位識(shí)別模型,提高超寬帶定位系統(tǒng)的環(huán)境適應(yīng)性,從而得到相對(duì)基于聚類方法、卡爾曼濾波等方式更精確的定位結(jié)果。
附圖說明
圖1為本發(fā)明的流程示意圖。
具體實(shí)施方式
以下結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述,但不作為對(duì)本發(fā)明的限定。
參照?qǐng)D1,本發(fā)明實(shí)施例一種基于optics密度聚類和bp神經(jīng)網(wǎng)絡(luò)的超寬帶室內(nèi)定位方法,主要包括以下步驟:
首先,以超寬帶定位系統(tǒng)采集到的已知位置上目標(biāo)節(jié)點(diǎn)坐標(biāo)信息為基礎(chǔ),對(duì)已知位置上采集到的多個(gè)坐標(biāo)信息進(jìn)行optics密度聚類,篩選該已知位置點(diǎn)對(duì)應(yīng)的多個(gè)可靠坐標(biāo);
其次,用該已知位置點(diǎn)與可靠坐標(biāo)均值中心形成數(shù)據(jù)對(duì)(已知位置,可靠訓(xùn)練樣本);
第三,對(duì)復(fù)數(shù)個(gè)已知位置點(diǎn)進(jìn)行同樣的聚類篩選,形成各自已知位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)對(duì);
第四,通過bp神經(jīng)網(wǎng)絡(luò)對(duì)所有已知位置點(diǎn)的數(shù)據(jù)對(duì)的集合進(jìn)行訓(xùn)練,得出bp神經(jīng)網(wǎng)絡(luò)定位識(shí)別模型;
最后,利用訓(xùn)練好的bp神經(jīng)網(wǎng)絡(luò)定位識(shí)別模型對(duì)可靠待識(shí)別點(diǎn)進(jìn)行位置識(shí)別,得出的識(shí)別結(jié)果即為最終定位坐標(biāo)。
所述超寬帶定位系統(tǒng)包括四個(gè)定位錨節(jié)點(diǎn)和一個(gè)移動(dòng)目標(biāo)節(jié)點(diǎn),每個(gè)錨節(jié)點(diǎn)和移動(dòng)目標(biāo)節(jié)點(diǎn)上各配有一根天線;所述四個(gè)錨節(jié)點(diǎn)圍成平面所投影地面按照相鄰設(shè)定的距離取參考位置,則該參考位置稱為已知位置。
采用超寬帶定位系統(tǒng)包括四個(gè)定位錨節(jié)點(diǎn)(a1,a2,a3,a4)和一個(gè)移動(dòng)目標(biāo)節(jié)點(diǎn)(tag),每一個(gè)錨節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)配有一根天線。在實(shí)驗(yàn)室采用吸頂方式水平按照位置固定四個(gè)錨節(jié)點(diǎn),形成一個(gè)400*600cm2的矩形,天線朝下與地面垂直;移動(dòng)目標(biāo)節(jié)點(diǎn)水平固定在遙控車上,天線朝上與地面垂直;通過超寬帶定位系統(tǒng)相配套的配置軟件,根據(jù)a1為原點(diǎn)建立空間直角坐標(biāo)系,根據(jù)實(shí)際距離設(shè)置各個(gè)定位錨節(jié)點(diǎn)的坐標(biāo):a1(0,0,285)、a2(400,600,285)、a3(0,600,285)、a4(400,600,285),啟動(dòng)超寬帶定位系統(tǒng)即可通過串口接收該系統(tǒng)返回的融合定位數(shù)據(jù)。所述中已知位置點(diǎn)為四個(gè)錨節(jié)點(diǎn)圍成平面所投影地面按照相鄰50cm取參考位置,共96個(gè)位置。
下面說明采集數(shù)據(jù)和使用數(shù)據(jù):
1)將tag放置在某一已知位置si,按照超寬帶定位系統(tǒng)串口通訊協(xié)議進(jìn)行數(shù)據(jù)采集,每次讀取n個(gè)坐標(biāo),構(gòu)成集合(m1,m2,…,mn),n取經(jīng)驗(yàn)值15。
2)將取得的坐標(biāo)集合mi(i=1,2,…,n)采用optics密度聚類算法,將集合mi中密度較大的多個(gè)數(shù)據(jù)中心作為已知位置si可靠的訓(xùn)練樣本點(diǎn)。
3)在同一已知位置si,重復(fù)步驟2)k次,取得si可靠的樣本訓(xùn)練點(diǎn)集合
4)重復(fù)步驟1)~3),取得n(n≤96)個(gè)已知位置坐標(biāo)及其可靠估計(jì)坐標(biāo)構(gòu)成訓(xùn)練樣本集合
在定位階段,將tag放在某一待定位識(shí)別位置,按照步驟1)和步驟2)的做法,獲得待定位識(shí)別位置的估計(jì)坐標(biāo)
上述步驟中optics密度聚類算法在本發(fā)明中的作用如下:
對(duì)超寬帶uwb定位系統(tǒng)產(chǎn)生的原始坐標(biāo)數(shù)據(jù)進(jìn)行排序,輸出除掉噪聲點(diǎn)之后的聚類數(shù)據(jù)。
輸入?yún)?shù):超寬帶uwb定位系統(tǒng)產(chǎn)生的原始坐標(biāo)集合mi(i=1,2,…,n)、∈、minpts。
輸出參數(shù):除掉噪聲點(diǎn)之后并且排序好的聚類數(shù)據(jù)集合ei(i=1,2,…,n)。
領(lǐng)域半徑∈與核心點(diǎn)時(shí)的閾值minpts來源:由于該算法對(duì)輸入?yún)?shù)不敏感,按照經(jīng)驗(yàn)取值即可。
算法描述如下:
引入數(shù)據(jù)結(jié)構(gòu):
mi,i=1,2,…,n:optics算法的輸入數(shù)組。
pi,i=1,2,…,n:optics算法的輸出數(shù)組,pi∈{1,2,…,n}表示排在第i個(gè)位置的坐標(biāo)的編號(hào)。
ri,i=1,2,…,n:第i號(hào)坐標(biāo)的可達(dá)距離。
ci,i=1,2,…,n:第i號(hào)坐標(biāo)的核心距離。
vi,i=1,2,…,n:為輔助數(shù)組,標(biāo)記坐標(biāo)是否已經(jīng)存在輸出序數(shù)組中,0表示未在pi中,1表示已在pi中。
初始化偽算法:
1.給定參數(shù)∈和minpts。
2.賦值原始數(shù)據(jù)數(shù)組m。
3.生成n∈(i),i=1,2,…,n。
4.生成ci,i=1,2,…,n。
5.令vi=0,i=1,2,…,n。
6.令ri=undefined,i=1,2,…,n。
7.令k=1。
8.將數(shù)組seedlist初始化為空。
主程序偽算法:
算法可做如下文字描述:
輸入:超寬帶uwb定位系統(tǒng)產(chǎn)生的原始坐標(biāo)數(shù)據(jù)形成一個(gè)數(shù)組m,領(lǐng)域半徑∈,定義核心點(diǎn)時(shí)的閾值minpts。
1、建立三個(gè)數(shù)組,有序數(shù)組(核心點(diǎn)及該核心點(diǎn)的直接密度可達(dá)點(diǎn)),結(jié)果數(shù)組(存儲(chǔ)樣本輸出及處理次序),輔助數(shù)組。
2、如果m數(shù)組中數(shù)據(jù)全部處理完,則算法結(jié)束,否則從m數(shù)組中選擇一個(gè)未處理且未核心對(duì)象的點(diǎn),將該核心點(diǎn)放入結(jié)果數(shù)組,該核心點(diǎn)的直接密度可達(dá)點(diǎn)放入有序數(shù)組,直接密度可達(dá)點(diǎn)并按可達(dá)距離升序排列;
3、如果有序數(shù)組為空,則回到步驟2,否則從有序數(shù)組中取出第一個(gè)點(diǎn);
3.1判斷該點(diǎn)是否為核心點(diǎn),不是則回到步驟3,是的話且如果該點(diǎn)不在結(jié)果數(shù)組則將該點(diǎn)存入結(jié)果數(shù)組;
3.2該點(diǎn)是核心點(diǎn)的話,找到其所有直接密度可達(dá)點(diǎn),并將這些點(diǎn)放入有序數(shù)組,且將有序數(shù)組中的點(diǎn)按照可達(dá)距離重新排序,如果該點(diǎn)已經(jīng)在有序數(shù)組中且新的可達(dá)距離較小,則更新該點(diǎn)的可達(dá)距離。
3.3重復(fù)步驟3,直至有序數(shù)組為空。
4、算法結(jié)束。
利用上述產(chǎn)生的
提取密度較大的聚類方法如下:
給定半徑∈和minpts,此處的∈要求小于上述的領(lǐng)域半徑。
1、從輸出數(shù)組pi中按順序取出點(diǎn),如果該點(diǎn)的可達(dá)距離不大于給定半徑∈,則該坐標(biāo)屬于當(dāng)前類別tempei(i=1),否則至步驟2;
2、如果該點(diǎn)的核心距離大于給定半徑∈,則該點(diǎn)為噪聲,可以忽略,否則該點(diǎn)屬于新的聚類tempei(i=i+1),跳至步驟1;
3、輸出數(shù)組遍歷結(jié)束,比較各個(gè)聚類中tempei(i=1,2,…,n)數(shù)據(jù)個(gè)數(shù),將數(shù)據(jù)多的數(shù)組ei輸出,作為可靠的樣本點(diǎn)或待識(shí)別點(diǎn),算法結(jié)束。
至此,聚類算法結(jié)束,輸出已優(yōu)化過的坐標(biāo)數(shù)據(jù)集合ei,用均值的方式取該聚類的中心。
另一關(guān)鍵步驟中所用bp神經(jīng)網(wǎng)絡(luò)在本發(fā)明中的作用和流程如下。
作用:對(duì)已知位置坐標(biāo)及其對(duì)應(yīng)可靠坐標(biāo)構(gòu)成訓(xùn)練樣本集合
bp神經(jīng)網(wǎng)絡(luò)在本專利中分訓(xùn)練和識(shí)別輸出兩個(gè)過程。
訓(xùn)練過程歸結(jié)為“模式順傳播”、“誤差逆?zhèn)鞑ァ?、“記憶?xùn)練”、“學(xué)習(xí)收斂”4個(gè)步驟。
1)模式順傳播
模式順傳播是指由可靠訓(xùn)練樣本點(diǎn)
設(shè)可靠訓(xùn)練樣本點(diǎn)構(gòu)成的輸入模式向量為:
ai={xi1,xi2,…,xim},i=1,2,……n;n為學(xué)習(xí)模式對(duì)數(shù),m為輸入層單元個(gè)數(shù);
對(duì)應(yīng)輸入模式的已知位置點(diǎn)輸出向量為:
yi={yi1,yi2,…,yip},i=1,2,……n;n為與輸入學(xué)習(xí)模式對(duì)相對(duì)應(yīng)的輸出模式數(shù);p為支單元數(shù)。
根據(jù)m-p神經(jīng)元模式原理,首先按式(2.1)計(jì)算第一隱含層各單元的輸入模式。
式中,wij為輸入層至第一隱含層的連接權(quán);θij為第一隱含層的單元閥值;j=1,2,3,……,第一隱含層神經(jīng)元。
人工神經(jīng)元是模擬生物神經(jīng)元的非線性信息傳遞特性,以si作為s函數(shù)的自變量,計(jì)算第一隱含層各單元的輸出,s函數(shù)的數(shù)學(xué)表達(dá)式如式(2.2)所示:
將2.1帶入式2.2得:
按模式傳播的思想,由(2.4)和(2.5)式計(jì)算輸出層各單元的輸入(第二隱含層的輸出)和網(wǎng)絡(luò)實(shí)際輸出。
式中:wjk,wkp分別為中間層,中間層至輸出層的連接權(quán):θbk,θp分別為中間和輸出的閥值。
一個(gè)輸入模式至此完成了一遍順序傳播過程。
2)誤差逆?zhèn)鞑?/p>
誤差逆?zhèn)鞑ブ干窠?jīng)網(wǎng)絡(luò)的已知位置值與輸出值之間的誤差信號(hào),由輸出層經(jīng)過中間層向輸入層逐層修正連接過程。首先是要計(jì)算本次輸出值與已知位置值之間的誤差,依據(jù)誤差的大小自動(dòng)調(diào)節(jié)輸出層到隱含層之間的連接權(quán)值wkp、隱含層之間的連接權(quán)值wjk和隱含層到輸入層之間的連接權(quán)值wij的大小,也就是由輸入層的誤差δy向中間層的誤差δbk傳遞的過程。這里誤差逆?zhèn)鞑ミ^程的數(shù)學(xué)表達(dá)式為:
式中:
wkp(m+1)=wkp(m)+ηδybk+aδwkp(m),輸出層權(quán)值修正;
wjk(m+1)=wjk+ηθbkai+aδwjk(m),輸出層與隱含層連接權(quán)值修正;
wij(m+1)=wij(m)+ηδajxm+aδwij(m),輸入層與隱含層連接權(quán)值修正;
θp(m+1)=θp(m)+ηδp+aδθp(m),輸出層閥值修正;
θbk(m+1)=θbk(m)+ηδbk+aδθbk(m),輸出層與隱含層閥值修正;
θaj(m+1)=θaj(m)+ηδaj+aδθaj(m),輸入層與隱含層閥值修正。(2.7)
式中:α為學(xué)習(xí)系數(shù)(0<a<1);η為學(xué)習(xí)率(步長(zhǎng));m為樣本號(hào);δw(m)和δθ(m)分別為權(quán)值和閾值的前次校正量。全局誤差計(jì)算公式為:
由式(2.7)可知,連接權(quán)的調(diào)整量依賴于三個(gè)因素:α,η和bk(aj、xm)。首先,調(diào)整量與誤差δ成比例,即誤差越大,調(diào)整的幅度也就越大。其次與連接權(quán)所對(duì)應(yīng)的中間層單元的輸出值bk成比例,某中間層單元的激活值越高,它在這次學(xué)習(xí)過程中就顯得越活躍,則與其相關(guān)的連接權(quán)的調(diào)整幅度也就應(yīng)該越大。調(diào)整量與學(xué)習(xí)率η和學(xué)習(xí)系數(shù)α成比例,通常取值在0.25至0.90之間。
3)網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練
神經(jīng)網(wǎng)絡(luò)根據(jù)已知位置值與輸出層輸出值的誤差調(diào)整連接權(quán)值和節(jié)點(diǎn)值的過程。
4)全局誤差迭代收斂
網(wǎng)絡(luò)訓(xùn)練的收斂過程就是誤差趨向于極小值的過程,全局誤差由(2.8)式確定。
至此bp神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)束,得到bp神經(jīng)網(wǎng)絡(luò)定位識(shí)別模型。
與現(xiàn)有技術(shù)相比,本發(fā)明利用optics密度聚類算法對(duì)超寬帶定位系統(tǒng)采集到的原始坐標(biāo)數(shù)據(jù)進(jìn)行優(yōu)化過濾,再利用bp神經(jīng)網(wǎng)絡(luò)的非線性映射能力建立起定位識(shí)別模型,提高超寬帶定位系統(tǒng)的環(huán)境適應(yīng)性,從而得到相對(duì)基于聚類方法、卡爾曼濾波等方式更精確的定位結(jié)果。
以上已將本發(fā)明做一詳細(xì)說明,但顯而易見,本領(lǐng)域的技術(shù)人員可以進(jìn)行各種改變和改進(jìn),而不背離所附權(quán)利要求書所限定的本發(fā)明的范圍。