歐 毅,張澤欣,李星海,曹加昇,劉 宇
(1.重慶郵電大學(xué) 智能傳感技術(shù)與微系統(tǒng)重慶市高校工程研究中心,重慶 400065;2.中國(guó)科學(xué)院微電子研究所 集成電路先導(dǎo)工藝研發(fā)中心,北京 100029;3.中電科技集團(tuán) 重慶聲光電有限公司,重慶 401332)
隨著社會(huì)經(jīng)濟(jì)的發(fā)展,人類(lèi)活動(dòng)越來(lái)越多地集中在室內(nèi),對(duì)室內(nèi)定位的需求逐漸提高。目前常見(jiàn)的室內(nèi)定位技術(shù)有WiFi定位[1-2]、RFID定位[3]、藍(lán)牙定位[4-5]等。這些定位技術(shù)需要在室內(nèi)提前布置基站、成本較高,且無(wú)法完成突發(fā)情況下的快速定位[6]。而行人慣性導(dǎo)航定位技術(shù)是一種自主式定位技術(shù),僅依靠安裝在行人身上的慣性測(cè)量單元即可獲得行人位置信息,具有自主性強(qiáng)、不受外界環(huán)境干擾的特點(diǎn)[7-10]。其中行人步長(zhǎng)估計(jì)是行人慣性定位算法中的關(guān)鍵技術(shù),高精度的步長(zhǎng)信息可以有效地提升定位算法精度。
為提升行人慣性定位算法中步長(zhǎng)估計(jì)的精度,研究人員進(jìn)行了大量研究。Martinelli等[11]提出了一種基于行為識(shí)別的步長(zhǎng)估計(jì)算法,該算法可以根據(jù)測(cè)試人員運(yùn)動(dòng)狀態(tài)的變化動(dòng)態(tài)調(diào)整步長(zhǎng)估計(jì)模型,但是需要先通過(guò)RVM對(duì)運(yùn)動(dòng)行為進(jìn)行判斷,算法內(nèi)部結(jié)構(gòu)復(fù)雜,不適用于實(shí)時(shí)系統(tǒng)。Tian等[12]提出了一種基于測(cè)試人員性別、身高以及步頻的步長(zhǎng)計(jì)算模型,可以結(jié)合多種狀態(tài)信息,但是該步長(zhǎng)模型僅在行人步速或步頻較高的情況下表現(xiàn)良好,當(dāng)運(yùn)動(dòng)狀態(tài)改變后精度下降。Ho等[13]提出了一種根據(jù)行人行走速度以及加速度變化特征動(dòng)態(tài)調(diào)整的步長(zhǎng)估計(jì)模型,但是模型中傳感器數(shù)據(jù)來(lái)源于單一節(jié)點(diǎn),而單個(gè)節(jié)點(diǎn)的數(shù)據(jù)無(wú)法包含全部的運(yùn)動(dòng)信息。Allseits等[14]將角速度傳感器布置在行人的左右大腿、小腿4個(gè)位置,通過(guò)角速度變化信息檢測(cè)行人步態(tài)并結(jié)合行人雙腿長(zhǎng)度信息計(jì)算前進(jìn)速度,最終計(jì)算行人步長(zhǎng)。但計(jì)算的結(jié)果會(huì)受到傳感器綁定位置的影響,且同樣存在僅依靠單一步態(tài)參數(shù),未能結(jié)合其他數(shù)據(jù)信息的缺點(diǎn)。
針對(duì)以上問(wèn)題,對(duì)Allseits等提出的方法在步態(tài)檢測(cè)及步長(zhǎng)計(jì)算部分進(jìn)行改進(jìn),利用足部Z軸加速度與X軸角速度檢測(cè)行人的步態(tài)信息,并通過(guò)腿部角速度的變化特征,對(duì)足跟著地動(dòng)作的判定進(jìn)行時(shí)域上的約束,最終根據(jù)測(cè)試人員的雙腿長(zhǎng)度信息、步態(tài)檢測(cè)結(jié)果及腿部俯仰角信息計(jì)算行人的步長(zhǎng)。
本文結(jié)合人體下肢的結(jié)構(gòu)特征,構(gòu)建出七段剛體結(jié)構(gòu)的運(yùn)動(dòng)模型,將行人平走運(yùn)動(dòng)過(guò)程描述為各剛體在三維空間的擺動(dòng)行為。平走時(shí)行人下肢運(yùn)動(dòng)特征如圖1所示。
圖1 平走運(yùn)動(dòng)時(shí)行人下肢運(yùn)動(dòng)特征
圖1顯示的是一個(gè)完整的步態(tài)周期,包含足跟著地、足跟離地、腳掌著地、腳掌離地、空中擺動(dòng)等幾個(gè)重要的步態(tài)特征。
本文以足跟著地動(dòng)作作為前一步態(tài)周期結(jié)束及下一步態(tài)周期開(kāi)始的標(biāo)志。將一個(gè)步態(tài)周期分為3個(gè)階段:第1個(gè)階段表現(xiàn)為行人的擺動(dòng)腿整體向后彎曲并在空中達(dá)到最大彎曲程度,在這一階段中,擺動(dòng)腿的大腿會(huì)向前小幅度伸展,同時(shí)足部后蹬,小腿向后擺動(dòng);第2個(gè)階段表現(xiàn)為擺動(dòng)腿整體向前伸展并在空中擺動(dòng)到正向的最大幅度;第3個(gè)階段表現(xiàn)為擺動(dòng)腿整體小幅度向后收縮,然后足跟著地,在這一階段內(nèi),擺動(dòng)腿的小腿與足部的擺動(dòng)速度比大腿的擺動(dòng)速度快,擺動(dòng)幅度比大腿的擺動(dòng)幅度大,當(dāng)前步態(tài)周期結(jié)束后,擺動(dòng)腿變?yōu)橹瓮龋瓮茸優(yōu)閿[動(dòng)腿,開(kāi)始下一步態(tài)周期。
在第1節(jié)運(yùn)動(dòng)模型分析的基礎(chǔ)上,本文設(shè)計(jì)了多節(jié)點(diǎn)實(shí)驗(yàn)平臺(tái),對(duì)行走中下肢各部位的運(yùn)動(dòng)情況進(jìn)行跟蹤,并提供相關(guān)的運(yùn)動(dòng)參數(shù)用于步態(tài)分析與步長(zhǎng)計(jì)算。本文將IMU固定在人體的左大腿、右大腿、左小腿、右小腿、左腳、右腳6個(gè)位置。IMU的坐標(biāo)系定義與固定方式如圖2所示。
圖2 多節(jié)點(diǎn)平臺(tái)部署示意圖
多節(jié)點(diǎn)平臺(tái)由數(shù)據(jù)采集模塊、數(shù)據(jù)處理模塊、上位機(jī)等3部分組成。其中數(shù)據(jù)采集模塊負(fù)責(zé)運(yùn)動(dòng)過(guò)程中身體各部位運(yùn)動(dòng)參數(shù)的采集,并完成原始數(shù)據(jù)預(yù)處理與相關(guān)校準(zhǔn)工作,最終將解算后的姿態(tài)信息與傳感器數(shù)據(jù)傳輸至數(shù)據(jù)處理模塊;數(shù)據(jù)處理模塊將各個(gè)節(jié)點(diǎn)采集到的信息收集整理,通過(guò)分析檢測(cè)行人步態(tài)、計(jì)算行人步長(zhǎng),將結(jié)果以無(wú)線的方式傳輸?shù)缴衔粰C(jī);上位機(jī)負(fù)責(zé)最終的顯示功能。硬件平臺(tái)框圖如圖3所示。
圖3 硬件平臺(tái)框圖
在一個(gè)步態(tài)周期內(nèi),當(dāng)行人一只腳足跟著地時(shí),另一只腳的足跟會(huì)同時(shí)抬起,此時(shí)雙腿處于支撐階段。讀取該時(shí)刻佩戴于兩腿上4個(gè)節(jié)點(diǎn)的俯仰角信息,利用角度信息以及行人下肢長(zhǎng)度信息即可完成步長(zhǎng)的計(jì)算。將行人的下肢姿態(tài)描述為一個(gè)幾何模型,如圖4所示。
圖4 平走步長(zhǎng)計(jì)算模型
圖4中行人的右大腿、左大腿、右小腿及左小腿的長(zhǎng)度分別為L(zhǎng)1、L2、L3、L4,而相應(yīng)的俯仰角為θ1、θ2、θ3、θ4。通過(guò)分析可得,平走時(shí)行人步長(zhǎng)的計(jì)算公式為:
通過(guò)以上分析,只要檢測(cè)到足跟著地時(shí)刻,便可準(zhǔn)確計(jì)算出行人的步長(zhǎng)。因此,如何準(zhǔn)確地檢測(cè)出每個(gè)步態(tài)周期內(nèi)足跟著地時(shí)刻是準(zhǔn)確計(jì)算行人步長(zhǎng)的關(guān)鍵。
3.2.1 平走過(guò)程中節(jié)點(diǎn)數(shù)據(jù)特征
本文使用gx、gy、gz分別代表三軸加速度信息,ωx、ωy、ωz分別代表三軸角速度信息,θ、γ、ψ分別代表俯仰角、橫滾角、航向角。并定義合加速度為Anorm,合加速度的計(jì)算公式為:
為了有效地檢測(cè)每一種慣性數(shù)據(jù)在時(shí)域上的變化特征,并精確地捕捉到該數(shù)據(jù)在時(shí)域上的波峰與波谷,本文將窗口長(zhǎng)度設(shè)置為5,定義如下的波峰、波谷檢測(cè)方法。
式中:k代表被檢測(cè)的慣性數(shù)據(jù);ki-2、ki-1、ki、ki+1、ki+2分別是該慣性數(shù)據(jù)連續(xù)5個(gè)時(shí)刻的測(cè)量值。當(dāng)pk=1時(shí),表示檢測(cè)到該慣性數(shù)據(jù)的波峰,當(dāng)vk=1時(shí),表示檢測(cè)到該慣性數(shù)據(jù)的波谷。
本文首先采集了平走過(guò)程中足部節(jié)點(diǎn)的加速度與角速度信息,通過(guò)分析合加速度Anorm、Z軸加速度gz、X軸角速度ωx及俯仰角θ的變化特征,發(fā)現(xiàn)Z軸加速度gz和X軸角速度ωx的變化規(guī)律與實(shí)際的步態(tài)周期吻合度較高,可以應(yīng)用于行人步態(tài)的檢測(cè)。圖5表示平走過(guò)程中足部Z軸加速度gz、X軸角速度 ωx、合加速度Anorm、俯仰角 θ的變化特征。其中,合加速度Anorm和Z軸加速度gz均為重力補(bǔ)償后的值。
圖5 行人平走運(yùn)動(dòng)足部節(jié)點(diǎn)運(yùn)動(dòng)特征
與實(shí)際運(yùn)動(dòng)情況對(duì)比可知,X軸角速度ωx的第1個(gè)波谷是由擺動(dòng)腿足部后蹬動(dòng)作引起的;波峰是由擺動(dòng)腿足部前踢動(dòng)作引起的;第2個(gè)波谷是由步態(tài)周期中第3個(gè)階段內(nèi)的動(dòng)作造成的,包含擺動(dòng)腿整體向后小幅收回、足跟著地2個(gè)重要行為。在陀螺X軸角速度ωx的波峰與第2個(gè)波谷發(fā)生的時(shí)間范圍內(nèi),Z軸加速度gz會(huì)先出現(xiàn)一個(gè)峰值(代表足部前踢),然后出現(xiàn)一個(gè)波谷(代表足部回收與足跟著地這2個(gè)行為),其中波谷出現(xiàn)最小值的時(shí)刻為足跟著地時(shí)刻。
經(jīng)分析可得,通過(guò)檢測(cè)到足部節(jié)點(diǎn)的X軸角速度ωx的波峰后,再依次觀察到Z軸加速度gz的波峰、X軸角速度ωx的波谷以及Z軸加速度gz的波谷的時(shí)域特征時(shí),可對(duì)平走過(guò)程中的足跟著地動(dòng)作進(jìn)行檢測(cè)。判斷方法如下:
式中:tpωx、tpgz、tvωx、tvgz分別為 ωx波峰發(fā)生時(shí)刻、gz波峰發(fā)生時(shí)刻、ωx波谷發(fā)生時(shí)刻、gz波谷發(fā)生時(shí)刻;當(dāng)c=1時(shí),說(shuō)明成功檢測(cè)出足跟著地動(dòng)作,否則檢測(cè)失敗。
但平走過(guò)程中,足部的運(yùn)動(dòng)較為劇烈,使得足部節(jié)點(diǎn)的傳感器輸出波形會(huì)產(chǎn)生很多偽波峰和偽波谷,易造成峰谷的誤判,影響對(duì)足跟著地動(dòng)作的判別。與足部相比,腿部的運(yùn)動(dòng)平穩(wěn),且在行走過(guò)程中,行人兩腿周期性交替運(yùn)動(dòng),腿部節(jié)點(diǎn)的數(shù)據(jù)也呈現(xiàn)周期性的變化,傳感器數(shù)據(jù)更加穩(wěn)定。
為解決因足部劇烈運(yùn)動(dòng)造成偽波峰和偽波谷使得行人步態(tài)檢測(cè)準(zhǔn)確度下降的問(wèn)題,本文通過(guò)在行人腿部安裝傳感器獲得腿部運(yùn)動(dòng)信息,并結(jié)合足部數(shù)據(jù)進(jìn)行分析,以提高步態(tài)檢測(cè)的準(zhǔn)確度。
圖6表示平走過(guò)程中大腿、小腿X軸角速度ωx,足部Z軸加速度gz、X軸角速度ωx的數(shù)據(jù)變化特征。其中,為了方便觀察變化規(guī)律,對(duì)Z軸加速度gz進(jìn)行了一定比例的放大。
圖6 行人平走運(yùn)動(dòng)腿部及足部節(jié)點(diǎn)運(yùn)動(dòng)特征
每個(gè)步態(tài)周期內(nèi),行人大腿、小腿上節(jié)點(diǎn)輸出的角速度ωx都會(huì)出現(xiàn)明顯的變化特征,均包含1個(gè)波峰、2個(gè)波谷。與實(shí)際運(yùn)動(dòng)情況對(duì)比可知,大腿、小腿角速度ωx的波峰均處于擺動(dòng)腿的空中擺動(dòng)階段即步態(tài)周期的第2階段;小腿角速度ωx的第1個(gè)波谷出現(xiàn)時(shí)刻晚于大腿角速度ωx的波谷出現(xiàn)時(shí)刻,且小腿角速度ωx處于波谷的時(shí)間范圍內(nèi),大腿角速度ωx向波峰方向變化的時(shí)域特征符合步態(tài)周期中第1階段內(nèi)的腿部運(yùn)動(dòng)行為;小腿角速度ωx的第2個(gè)波谷處于步態(tài)周期的第3階段,大腿角速度ωx的第2個(gè)波谷包含擺動(dòng)腿整體向后收回,足跟著地及之后因重心變換身體整體前移,擺動(dòng)腿過(guò)渡到支撐腿3個(gè)重要步態(tài)信息。因此,在這一階段內(nèi),小腿角速度ωx波谷值到達(dá)時(shí)刻與足跟著地時(shí)刻會(huì)領(lǐng)先于大腿角速度ωx的波谷值到達(dá)時(shí)刻。圖6中,方框內(nèi)標(biāo)記的是足跟著地時(shí)刻,晚于小腿角速度ωx的波谷值出現(xiàn)時(shí)刻,早于大腿角速度ωx的波谷值出現(xiàn)時(shí)刻。
通過(guò)檢測(cè)小腿角速度ωx的波谷值出現(xiàn)時(shí)刻與大腿角速度ωx的波谷值出現(xiàn)時(shí)刻,可以進(jìn)一步在時(shí)域上對(duì)足跟著地動(dòng)作的捕捉進(jìn)行約束。判斷方法為:
式中:txvωx為小腿角速度波谷出現(xiàn)時(shí)刻;tdvωx為大腿角速度波谷出現(xiàn)時(shí)刻;當(dāng)flag=1時(shí),說(shuō)明檢測(cè)到正確的足跟著地時(shí)刻,否則檢測(cè)失敗。
3.2.2 算法模型設(shè)計(jì)
基于上述分析,本文設(shè)計(jì)了一種多條件約束步態(tài)檢測(cè)算法,通過(guò)尋找足部節(jié)點(diǎn)X軸角速度ωx的波峰、波谷,Z軸加速度gz的波峰、波谷初步確定足跟著地的動(dòng)作,并通過(guò)大腿、小腿節(jié)點(diǎn)的X軸角速度ωx的變化特征,在時(shí)域上對(duì)足跟著地時(shí)間點(diǎn)的確定進(jìn)行進(jìn)一步約束。算法流程如圖7所示。
圖7 步態(tài)檢測(cè)算法流程框圖
3.2.3 步態(tài)檢測(cè)結(jié)果
利用多條件約束步態(tài)檢測(cè)算法,可以準(zhǔn)確地檢測(cè)出一個(gè)步態(tài)周期內(nèi)足跟著地時(shí)刻。圖8為平走過(guò)程中,腿部俯仰角θ的變化特征以及步態(tài)檢測(cè)結(jié)果。
根據(jù)本文定義的坐標(biāo)系并結(jié)合實(shí)際運(yùn)動(dòng)情況,行人抬腿時(shí),俯仰角會(huì)正向變化,達(dá)到正向最大值后略有減小,然后足跟著地。與此同時(shí),另一條腿會(huì)向后彎曲,導(dǎo)致俯仰角負(fù)向變化。俯仰角的波峰值、波谷值出現(xiàn)時(shí)刻均處于一個(gè)步態(tài)周期內(nèi)的第2階段,即擺動(dòng)腿的空中擺動(dòng)階段。從圖8中可以看到,本文提出的多條件步態(tài)檢測(cè)算法可以準(zhǔn)確地檢測(cè)行人的足跟著地動(dòng)作。
圖8 行人平走運(yùn)動(dòng)腿部各節(jié)點(diǎn)俯仰角變化與步態(tài)檢測(cè)結(jié)果
為驗(yàn)證本文提出的分布式多節(jié)點(diǎn)行人平走步長(zhǎng)估計(jì)算法的有效性,設(shè)計(jì)實(shí)驗(yàn)進(jìn)行證明。實(shí)驗(yàn)采集了5名實(shí)驗(yàn)人員在長(zhǎng)為60 m的水平路面往返行走過(guò)程中各節(jié)點(diǎn)的傳感器數(shù)據(jù),總共10組。利用多節(jié)點(diǎn)平走步長(zhǎng)估計(jì)算法對(duì)行人步長(zhǎng)進(jìn)行計(jì)算,并與Weinberg等提出的單節(jié)點(diǎn)步長(zhǎng)估計(jì)算法的計(jì)算結(jié)果進(jìn)行比較。單節(jié)點(diǎn)步長(zhǎng)估計(jì)算法的函數(shù)表達(dá)式為:
式(7)中:step_length為單節(jié)點(diǎn)步長(zhǎng)估計(jì)算法每一步估計(jì)的步長(zhǎng);Amax和Amin為每一步中合加速度Anorm的最大值與最小值;K是模型的校準(zhǔn)系數(shù),設(shè)置為經(jīng)驗(yàn)值0.5。
測(cè)試人員信息與多節(jié)點(diǎn)平走步長(zhǎng)估計(jì)算法的計(jì)算結(jié)果如表1所示。2種步長(zhǎng)估計(jì)算法的結(jié)果對(duì)比如表2所示。
為便于觀察分析,將一組行人實(shí)際步長(zhǎng)、多節(jié)點(diǎn)步長(zhǎng)模型計(jì)算結(jié)果與單節(jié)點(diǎn)步長(zhǎng)模型計(jì)算結(jié)果進(jìn)行對(duì)比,如圖9所示。
表1 多節(jié)點(diǎn)平臺(tái)下的平走步長(zhǎng)計(jì)算結(jié)果
表2 多節(jié)點(diǎn)與單節(jié)點(diǎn)行人步長(zhǎng)計(jì)算結(jié)果的比較
圖9 步長(zhǎng)計(jì)算結(jié)果對(duì)比圖
從表1與表2分析得到,單節(jié)點(diǎn)步長(zhǎng)估計(jì)模型計(jì)算的步長(zhǎng)相對(duì)誤差均值為9.82%;基于多節(jié)點(diǎn)平臺(tái)的行人步長(zhǎng)估計(jì)算法,其步長(zhǎng)相對(duì)誤差均值為1.07%;誤差下降約為一個(gè)量級(jí)。從圖9可以看出,多節(jié)點(diǎn)步長(zhǎng)估計(jì)模型相比單節(jié)點(diǎn)步長(zhǎng)估計(jì)模型的計(jì)算結(jié)果更加接近行人實(shí)際步長(zhǎng)。
針對(duì)行人慣性定位算法中步長(zhǎng)計(jì)算精度較低的問(wèn)題,提出了基于多節(jié)點(diǎn)運(yùn)動(dòng)姿態(tài)信息融合的行人步長(zhǎng)自主估計(jì)算法。通過(guò)融合分析行人平走過(guò)程中足部節(jié)點(diǎn)與腿部節(jié)點(diǎn)不同位置的數(shù)據(jù)特征,對(duì)行人的步態(tài)、步長(zhǎng)進(jìn)行檢測(cè)、計(jì)算,步長(zhǎng)平均估計(jì)精度達(dá)到98.9%,平均誤差相比傳統(tǒng)步長(zhǎng)估計(jì)算法下降約一個(gè)量級(jí)。算法具有原理簡(jiǎn)單、參數(shù)直觀、實(shí)時(shí)性好、精度高、可結(jié)合身體各部位運(yùn)動(dòng)信息的優(yōu)點(diǎn),具有很好的工程應(yīng)用前景。