在城市化進(jìn)程中,大型建筑物已成為人們棲身立業(yè)的主要場(chǎng)所。實(shí)現(xiàn)室內(nèi)三維定位,可以更好地進(jìn)行人群行動(dòng)規(guī)劃,出現(xiàn)火災(zāi)等意外時(shí)也可以更好保障人員財(cái)產(chǎn)安全,所以室內(nèi)定位問(wèn)題具有重要研究?jī)r(jià)值。
以慣性元件為基礎(chǔ)的室內(nèi)三維定位系統(tǒng),系統(tǒng)使用STM32F103單片機(jī),從低成本的微機(jī)電系統(tǒng)慣性傳感器獲取行人行走時(shí)的慣性參量,從帶溫度補(bǔ)償?shù)臍鈮簜鞲衅髂K獲取高度信息,經(jīng)預(yù)處理后,通過(guò)無(wú)線數(shù)傳模塊將預(yù)處理結(jié)果傳輸至服務(wù)器,經(jīng)服務(wù)器再處理實(shí)現(xiàn)行人的室內(nèi)三維定位。
一、利用慣性測(cè)量元件進(jìn)行三維定位的理論研究
本文利用慣性傳感器陀螺儀來(lái)測(cè)量運(yùn)載體本身的慣性參量,然后利用積分等數(shù)學(xué)運(yùn)算得到運(yùn)載體的運(yùn)動(dòng)速度、相對(duì)距離等信息,從而實(shí)現(xiàn)對(duì)運(yùn)動(dòng)目標(biāo)的定位。
導(dǎo)航坐標(biāo)系記作OnXnYnZn。選取北東地地理坐標(biāo)系,即導(dǎo)航坐標(biāo)系的原點(diǎn)On位于運(yùn)載體的重心,Xn,Yn,Zn分別指向北方、東方、大地方向,符合右手定律。載體坐標(biāo)系記作ObXbYbZb。原點(diǎn)Ob位于運(yùn)載體的重心,Xb,Yb,Zb分別指向運(yùn)載體的前方、右方、下方,符合右手定律。載體坐標(biāo)系(Xb軸為前進(jìn)正方向)繞Xb,Yb,Zb軸旋轉(zhuǎn)的角度分別記為γ,θ,ψ。
通過(guò)導(dǎo)航坐標(biāo)系(n系)到載體坐標(biāo)系(b系)的旋轉(zhuǎn)矩陣可求出載體的翻滾角、俯仰角以及航向角。
基于慣性傳感器的行人航位推算一般用于行人的二維定位,利用基于過(guò)零點(diǎn)檢測(cè)法來(lái)計(jì)算行人步數(shù)。一般行人正常的行走的步幅范圍為45~85cm,并且同一個(gè)人在正常行走時(shí)的步幅變化不大。擬合一種線性步長(zhǎng)估計(jì)模型。其第k步的步長(zhǎng)估計(jì)模型為
式中SLk為第k步的步長(zhǎng),m,a,b,c分別為利用線性回歸計(jì)算得到的估計(jì)參數(shù);Fk和As分別為第k步的頻率和合加速度。
行人的航向角可以由慣性傳感器輸出的歐拉角來(lái)獲得。由于本系統(tǒng)的慣性傳感器件將佩戴于行人腰間,且Zb軸平行于水平面指向行人的前方,所以,慣性傳感器的翻滾角即為行人的航向角。
本文擬采用高度測(cè)量按鍵初始化的方法,人為地設(shè)定參考平面,即先采集初始位置的大氣壓值p0'作為參考大氣壓,再根據(jù)當(dāng)前的大氣壓來(lái)計(jì)算相對(duì)高度。大氣壓與相對(duì)高度的對(duì)應(yīng)關(guān)系式
式中p為氣壓傳感器的當(dāng)前測(cè)量值。
二、硬件系統(tǒng)設(shè)計(jì)
本系統(tǒng)數(shù)據(jù)采集終端由STM32F103單片機(jī)、9軸慣性傳感器模塊、帶溫度補(bǔ)償?shù)臍鈮簜鞲衅髂K以及工作頻段為433MHz的無(wú)線數(shù)傳模塊組成;服務(wù)器端由STM8L101單片機(jī)最小系統(tǒng)板、工作頻段為433MHz的無(wú)線數(shù)傳模塊CC1101以及PC機(jī)組成。硬件系統(tǒng)方框圖如圖1所示。
圖1 硬件系統(tǒng)方框圖
三、軟件系統(tǒng)設(shè)計(jì)
數(shù)據(jù)采集終端的主要任務(wù)是對(duì)行人運(yùn)動(dòng)時(shí)的部分?jǐn)?shù)據(jù)進(jìn)行采樣與初步處理,該部分的軟件設(shè)計(jì)基于STM32F103ZET6的最小系統(tǒng)板,通過(guò)I2C和SPI通信協(xié)議分別與慣性傳感器、大氣壓傳感器和無(wú)線數(shù)據(jù)傳輸?shù)陌l(fā)送模塊進(jìn)行數(shù)據(jù)交換。
無(wú)線通信的數(shù)據(jù)傳輸率為250kBaud/s,每一包數(shù)據(jù)包含7個(gè)有效字節(jié),分別是設(shè)備編號(hào)(1個(gè)字節(jié))、數(shù)據(jù)類(lèi)型代碼(1個(gè)字節(jié))、數(shù)據(jù)(4個(gè)字節(jié))、校驗(yàn)和(1個(gè)字節(jié))。
服務(wù)器端的主要任務(wù)是對(duì)數(shù)據(jù)采集終端采集的數(shù)據(jù)進(jìn)行接收與再處理,并將行人的定位結(jié)果顯示出來(lái)。STM8L101單片機(jī)最小系統(tǒng)板通過(guò)SPI接口與無(wú)線數(shù)傳的接收模塊進(jìn)行數(shù)據(jù)交換,將接收到的數(shù)據(jù)發(fā)送到PC機(jī)的串口,使用Python中的serial模塊讀取串口數(shù)據(jù)便可以實(shí)現(xiàn)對(duì)定位數(shù)據(jù)的接收與再處理。
為減小定位誤差,將采用硬件復(fù)位,軟件計(jì)算校正的方法。由于本系統(tǒng)中的慣性傳感器佩戴在行人的腰間,且Zb軸平行于水平面指向行人的前方,所以,讀取本慣性傳感器的翻滾角即為行人的航向角。
將數(shù)據(jù)采集終端固定在行人的腰部,行人行走一段距離,將傳感器采集到的加速度數(shù)據(jù)通過(guò)無(wú)線模塊傳輸?shù)椒?wù)器端,并繪制接收數(shù)據(jù)的二維圖像,如圖2所示。
圖2 行人行走過(guò)程中身體縱向(X軸)加速度的變化
本文初步選用X軸方向的加速度值來(lái)計(jì)算步數(shù),Y軸、Z軸方方向的加速度值可用來(lái)輔助計(jì)算步長(zhǎng)。
當(dāng)行人并沒(méi)有走動(dòng)或正常走動(dòng)的過(guò)程中身體有抖動(dòng)時(shí),加速度計(jì)可能會(huì)將Z軸的波動(dòng)計(jì)算在內(nèi)而進(jìn)行計(jì)步。為了避免這種情況的發(fā)生,設(shè)置一個(gè)Δt,表示檢測(cè)到的兩步的時(shí)間間隔。當(dāng)行人正常行走時(shí),一般1s內(nèi)行走步數(shù)少于3步,因此本文Δt=0.25s。
行人正常行走的過(guò)程中,采集行人的運(yùn)動(dòng)數(shù)據(jù),使用Excel對(duì)采集到的運(yùn)動(dòng)數(shù)據(jù)進(jìn)行回歸計(jì)算,求得步長(zhǎng)模型
相關(guān)系數(shù)R2≈0.91,表明數(shù)學(xué)模型較好的符合原始數(shù)據(jù)。
四、測(cè)試結(jié)果與分析
將傳感器固定于行人腰部,進(jìn)行計(jì)步測(cè)試,結(jié)果如表1。
表1 計(jì)步測(cè)試結(jié)果
將傳感器固定于行人腰部,對(duì)步長(zhǎng)估計(jì)模型的準(zhǔn)確度進(jìn)行測(cè)試。當(dāng)行人正常行走時(shí),測(cè)試結(jié)果如表2所示。
表2 步長(zhǎng)估計(jì)模型測(cè)試結(jié)果
傳感器佩戴于測(cè)試人員腰部,進(jìn)行變高測(cè)試。行人從一樓走上四樓,觀察服務(wù)器端行人高度信息的變化。由于該大氣壓傳感器的高度信息波動(dòng)較大,所以,對(duì)原始的高度數(shù)據(jù)進(jìn)行均值濾波,濾波之后的測(cè)試結(jié)果如圖3所示。
圖3 高度測(cè)試結(jié)果
為了驗(yàn)證本系統(tǒng)可以正常的完成基于慣性測(cè)量元件的室內(nèi)三維定位,將傳感器固定于行人腰部,行人在三樓初始化本系統(tǒng)之后,走到一樓,在服務(wù)器端對(duì)行人進(jìn)行三維定位測(cè)試,測(cè)試結(jié)果如圖4所示(單位:m)。
圖4 室內(nèi)定位結(jié)果
由上述測(cè)試的結(jié)果可知,在行人身體沒(méi)有太大抖動(dòng)的前提下,計(jì)步算法的準(zhǔn)確度達(dá)到了95%以上,初步實(shí)現(xiàn)了對(duì)行人的步數(shù)計(jì)算功能,且誤差在可以接受的范圍之內(nèi);在行人正常行走的過(guò)程中,步長(zhǎng)估計(jì)模型的步長(zhǎng)估計(jì)準(zhǔn)確度達(dá)到了90%以上,實(shí)現(xiàn)了對(duì)行人的步長(zhǎng)估計(jì);由于氣壓容易受到外界的干擾,所以高度數(shù)據(jù)有較大波動(dòng),上下波動(dòng)的范圍在可接受的1m以內(nèi)。
本文研究的內(nèi)容主要是基于慣性測(cè)量元件的三維定位,分別從硬件和軟件兩個(gè)方面闡述了利用慣性測(cè)量元件進(jìn)行三維定位的系統(tǒng)設(shè)計(jì)方案,介紹了各個(gè)模塊的基本原理及無(wú)線通信防碰撞的實(shí)現(xiàn)方法,定義了無(wú)線通信協(xié)議,實(shí)現(xiàn)了基于慣性傳感器的行人航位推算以及空間高度信息獲取。經(jīng)過(guò)軟硬件調(diào)試和實(shí)際測(cè)試結(jié)果得知:行人正常行走100m,定位誤差在1.5m以內(nèi),完成了利用慣性測(cè)量元件進(jìn)行三維定位系統(tǒng)的設(shè)計(jì)。
標(biāo)簽: 慣性測(cè)量
有關(guān)對(duì)產(chǎn)品安裝、使用及維護(hù)等問(wèn)題,
可以通過(guò)這里聯(lián)系我們
周一至周日 0:00-24:00
售前咨詢:sales@bwsensing.com
售后咨詢:support@bwsensing.com