取向向的懸 擺,(iii)具有所有的其可能的變化和取向的所有其它使用情況。
[0124] 180度不確定性的解決方案的邏輯在執行過程中對所有使用情況不是一樣的。口 袋使用情況具有與懸擺使用情況不同的邏輯并且它們兩者都與其它使用情況不同。因此, 我們通過將數據分類成口袋、懸擺或其它的三個主要類別來開始程序。在某些情況中,使用 情況確定或分類技術未能正確地識別懸擺或口袋。然而,在一般技術中考慮了這些錯過的 情況。通常,錯過的情況表現更像其它取向,因此它們中的一些可通過一般方法或特別針對 輕懸擺和輕口袋行為所設計的特定方法來解決。一旦數據被分類成某一類別,適當技術就 被調用來處理該數據并生成向前/向后解決方案。該技術將對數據作出決定,其是向前還 是向后。如果決定是向后,則通過添加180度來校正第一估算的未對準。否則,將返回所估 算的角度而沒有任何變化。
[0125] 分級
[0126] 使用從系統中估算的經估算的橫搖值和縱搖值來將加速度計的數據分級到水平 圖。貫穿本工作,橫搖角被定義為圍繞X軸旋轉的角度,而縱搖角被定義為圍繞y軸旋轉的 角度。為了將觀測結果(X加速度和y加速度)轉換到水平平面中,通過使用歐拉(Euler) 角(橫搖角(巾)、縱搖角(9 )和方位角(也))來建立直接余弦矩陣(DCM)。
[0127] 在方程1中示出分級過程的轉換方程。
[0130] 重力移除
[0131] 分級過程將X和y加速度計的數據轉換到水平平面中并且z是垂直軸。軸z包含 重力分量,這使其量級值大于X軸和y軸的值。為了使所有軸具有接近范圍的值,我們將重 力從垂直軸中移除。通過從垂直分量中減去g的值來移除重力。
[0132] 垂直_矢量(數據_v) =z-g(2)
[0133] 主分量分析
[0134] 在將這些測量分級到水平圖之后,容易觀察到二維加速度的點云像橢圓一樣分 布。這是由于人向前行走也帶有一些橫向運動的事實引起的。假設除了前向運動和橫向運 動外沒有其它顯著的運動,橢圓的長軸對應于前向加速度而短軸對應于主要由腳步的切換 所生成的橫向加速度。為了計算長軸和短軸的向量,執行PCA。PCA是涉及數據矩陣的特征 值分析的排序技術。數據矩陣由對應于觀測結果的行和對應于變量的列所組成。PCA選擇 第一PCA軸作為使每個點到該線的距離的平方為最小的線。等效地,該線經過數據中的最 大變化。PCA中的第一階段是通過減去平均值來使數據標準化,并且隨后執行奇異值分解 (SVD)以得到X軸和y軸的特征向量。這里所用的SVD技術是豪斯霍爾德(Householder) 變換,該變換在數值線性代數中對計算三對角對稱矩陣有用。
[0135] 豪斯霍爾德的原理是對n維矩陣(A)做n-2次正交變換:
[0136] An2=PP1P0AP0Pr..Pn3.
[0137] 其中,P1*以下進行計算:
[0142] 在得到三對角對稱矩陣(An2)之后,執行QR技術以計算特征向量和特征值。QR分 解的基本思想是將矩陣寫成正交矩陣和上三角矩陣的乘積、按相反順序乘以因子并迭代。 從簡單直觀的概念,SVD程序通過使用^矩陣來旋轉單位矩陣、沿旋轉坐標軸使用2來縮 放并接著使用第二旋轉U矩陣來將其再次旋轉以生成如方程式3中的目標矩陣(A):
[0143] A=UXV* (3)
[0144] 這里,明顯的是,目標矩陣(V〇包含未對準角的信息。V#矩陣中的第一列表示主 要(primary)分量向量并且第二列表示二次(secondary)分量向量。重要的是,知道它們 是正交向量。這意味著,列是按減小的分量方差的順序。值得提到的是,主要分量向量中的 第一個值意味著X數據對主要分量向量的貢獻是什么級別并且第二個值意味著y數據對主 要分量的貢獻的級別。
[0145] 沿軌角估算
[0146] 可使用設備的嵌入式傳感器來估算設備方向。利用這些傳感器可估算設備的航 向。然而,這樣的方向沒有呈現真實的方向,因為設備可被保持在不同取向而不是用戶方向 上。以任何取向保持設備使得設備航向與用戶方向不同,該不同被稱為未對準角。因此,應 通過該角校正或補償解決方案。基于PCA技術來執行未對準角估算技術。為了用戶方便, 便攜式導航設備可被保持在任何取向上,諸如羅盤、帶、發短信、懸擺等。當用戶開始諸如行 走、跑步或駕駛之類的活動時,存在兩個主要方向;一個是與用戶方向相同的運動的方向并 且第二個是設備方向。
[0147] PCA技術被用于將加速度測量結果變換成一組被稱為主分量的不相關變量。該技 術使用水平加速度、軸X和y數據來計算2D向量[xT /]的主分量。因此,該過程的結果生 成兩個主分量;一個被稱為主要分量,而第二個被稱為二次分量。
[0148] 主分量的圖表明主要分量指示未對準角的近似值。軌跡被分成具有2秒數據長度 的窗口。對于每個窗口,存在一個主要分量向量。每個窗口中的累積的主要分量表明相當 大部分的向量方向非常接近于預期的未對準。圖4示出了具有180度未對準角的樣本的分 數(score)、測量結果的圖。分數的方向表示與樣本相關聯的主分量(PC)。Ave_PC表示所 有主要主分量的平均向量。向量的方向表示指代0°的未對準角。圖4示出使用180度校 正來將解決方案調整到為180度的正確值的重要性。
[0149] 可通過使用主要分量向量來計算角度來確定未對準角。假設:
[0150] ? £\^表不主要分量中的第一個值
[0151] ? £\^表不主要分量中的第二個值
[0152] ?E(東)和N(北)是用戶坐標
[0153] ? 0P是平臺(行人)方位角
[0154] ?X表示設備的前向方向
[0155] ?y表示設備的橫向方向
[0156] ? 9 D是設備方位角
[0157] ? 0nis是未對準角
[0158] 如圖5中所示,未對準角被估算為設備航向和行人航向之差,如方程式4 :
[0159] 9 nis= 9D- 9p(4)
[0160] 圖6示出了主分量在設備坐標系中的投影。分析向量給出角度,如方程5:
[0162] 可從由PCA技術所產生的主分量估算未對準角。
[0163] 沿軌加速度、跨軌加速度、垂直加速度、水平加速度的大小、3D加速度向量的大小
[0164] 我們具有兩個不同的前向方向;設備的前向和用戶的前向。已經在設備坐標系中 定義了設備的前向方向。然而,行人的前向方向被定義為運動方向,該運動方向是X方向和 y方向兩者的結果。為了解決180度的不確定性,通過將X軸和y軸變換到用戶平面中來計 算運動方向。為實現這一點,我們將設備的水平平面圍繞z軸旋轉0_。所得的向量是運 動方向向量(沿軌)和橫向方向向量(跨軌)。
[0165]
[0166] 作為先前變換的結果,依照方程式7計算運動(沿軌)向量和橫向(跨軌)向量:
[0167] 運動 _ 向量(數據 _m) =cos( 0mis)*x-sin( 0mis)*y
[0168] 橫向 _ 向量(數據 _1) =sin( 0mis)*x+cos( 0mis)*y (7)
[0169] 如方程式2中所示來計算垂直加速度向量,而基于方程式8來計算水平加速度向 量的大小和3D加速度向量的大小:
[0172] 低通濾波器
[0173] 取決于信號使用的目的,信號中的某些分量比其它分量更重要。低通濾波器(LPF) 被用于移除高頻噪聲。因此,經過濾的數據變得更平滑且更少依賴于短的變化。在我們的 應用中,用戶的行為是意料不到的并且我們可能在短的時間周期內得到太多信號變化。數 據的最重要部分是由設備的運動所引起的部分。為了提取此部分,具有4Hz頻率的低通濾 波器被應用于運動向量和垂直向量以減小突然變化對加速度計數據的影響。這意味著僅低 于4Hz的信號頻率可通過該濾波器。
[0174] 設備類型
[0175] 本方法可工作于相對于行人具有不同設備使用和取向的不同設備。這些設備包括 智能手機、平板電腦、眼鏡、頭戴設備、智能手表等。如在實施例中,不是所有的使用設備使 用情況都適用于所有類型的設備。因此,存在一例程來給設備類型提供一標志(flag)以便 于不同設備之間的識別。諸如運動、橫向和垂直之類的不同信號基于所使用的設備而具有 不同特性。因此,存在針對某些設備或某些使用情況而開發的方法。技術使用設備標志來 激活/禁用該技術中的某些部分。
[0176] 使用情況的確定(運動分類)
[0177] 使用情況(在本文中也被稱為"運動分類")的確定被設計用于將數據區分成三個 不同的模式:口袋、懸擺和一般(其包括帶、手持、耳聊(eartalking)、胸部、背包、錢包、電 腦包等)。由于口袋和懸擺運動包括不僅包含軀干力而且包含來自大腿和手臂的附加力,因 此運動信號、垂直信號和姿態信號之間的關系不再與一般情況一致。然而,這些附加力有時 使峰值振幅突出;因此其改進了檢測峰值的程序并且增加了正確的解決方案的概率。在正 常的懸擺的情況中,運動的振幅比垂直信號的振幅大得多。具有這種標準的信號將被直接 分類為懸擺。否則,推算統計資料被用于區分懸擺和口袋數據集。一旦數據集被分類成口 袋或懸擺,這些附加力就使峰值振幅突出并且因此檢測峰值的程序變得更簡單。所執行的 方法處理在垂直和水平取向上的設備。設計不同標準以識別緩慢運動或不可預測的行走行 為。所執行的方法使用從若干實驗導出的統計值,該若干實驗包括緩慢行走、正常行走、女 人的行走和男人的行走。
[0178] 技術以確定哪種姿態從要被使用的運動中獲得更大貢獻開始。由于某些步行者具 有意料不到且不規則的運動,因此必須根據信號本身的振幅來改變用在姿態峰值檢測中的 閾值。由于來自大腿和手臂的附加力,根據被稱為姿態變化范圍的設備取向在橫搖值或縱 搖值中存在改變或變化,而水平或垂直的設備取向使該變化出現在橫搖值或縱搖值中。懸 擺和口袋之間的主要差別是相比垂直信號懸擺具有相對一致且平滑的運動曲線這一現象。 也在分類過程中考慮了輕的步行者,其中輕的步行者的垂直信號具有較少功率,尖銳的垂 直峰值容易被掩埋在噪聲下。根據信號特征,如果該技術發現垂直信號不明顯,則其將直接 使用最高的垂直峰值來檢查獨特口袋模式是否存在。口袋模式是建立在當大腿向前移動時 運動信號具有相對一樣的趨勢這一理論上。口袋邏輯確定是基于姿態變化和形狀與運動信 號和垂直信號的關系。這種使用情況確定的輸出指導該技術來選擇要被用于解決180度不 確定性問題的功能(function) 〇
[0179] 口袋的180度不確定性檢測
[0180] 此功能被用于通過大腿姿態、運動特征和垂直信號之間的關系來解決口袋取向的 180度不確定性。所提出的技術將僅在當其已經被分類成口袋時的運動分類功能之后使用 通過實驗,通過峰值的相對位置來建立運動信號、垂直信號和大腿姿態之間的關系。這些實 驗包括輕的步行者、緩慢步行者、男人和女人。所提出的技術工作于8個不同取向,其中,4 個取向具有在X和-X軸上的重力分量,4個取向具有在y和-y軸上的重力分量。為了使該 技術一般化,還已針對諸如褲子口袋(前口袋和后口袋)之類的不同類型的口袋在寬松口 袋和緊身口袋中測試了該技術。
[0181] 已經通過不穩定的運動信號測試該技術,該不穩定的運動信號通常在檢測信號波 上的峰值方面具有問題。找出垂直信號、運動信號和姿態信號的峰值是解決方案中的第一 步。取決于信號狀態,每個信號具有不同的閾值。由于不同的用戶具有不同的行走模式,因 而閾值將被改變若干次以適當地檢測足夠的高峰值和低峰值。為了檢測運動峰值,通過為 預定的垂直數據范圍的條件來分開輕的步行者樣式和正常的步行者樣式。如果沒有檢測到 峰值,則將根據步行者樣式來減小閾值。該技術使用具有較大的變化的姿態數據。根據姿 態的相應信號,將觸發不同的技術。存在兩個代表性的向前模式,該兩個向前模式具有下列 兩個系列:
[0182] -最尖銳的垂直峰值出現在上姿態波處,則下一個低的姿態峰值將使一個高運動 峰值接踵而至(comearound)。
[0183] -最尖銳的垂直峰值出現在下姿態波處,下一個高的姿態峰值將使一個運動高峰 值接踵而至。
[0184] 代表性的向后模式具有下列兩個系列:
[0185] -最尖銳的垂直峰值出現在下姿態波處,則下一個高的姿態峰值將使一個低運動 峰值接踵而至。
[0186] -最尖銳的垂直峰值出現在上姿態波處,下一個低的姿態峰值將使一個運動低峰 值接踵而至。
[0187] 如果沒有低姿態峰值(沒有完整的半波),則其切換到剛好在最高的垂直峰值之 前到來的姿態峰值。
[0188] 該技術將結果返回作為向前/向后。如果出于任何原因,該技術不能確定是否存 在180度不確定性(向后/向前),則替代地,其將返回未檢測到。
[0189] 懸擺的180度不確定性檢測
[0190] 該功能被用于通過不同的方法來解決懸擺取向的180度不確定性,該不同的方法 被執行以處理輸入數據中的不同情況。執行不同方法以處理輸入數據中的不同情況。在懸 擺模式中考慮了 24個不同取向,其中16個取向在水平上并且8個取向在垂直上。水平圖 由具有重力分量的z、_z、y和-y軸表示,而垂直用具有重力分量的X和-X表示。所提出的 技術處理正常行走信號。然而,所提出的技術解決強烈懸擺、正常懸擺、輕的懸擺、具有不同 運動速度的懸擺、具有不穩定的運動信號、不穩定的垂直信號的懸擺、以及當懸擺具有與運 動信號值相比具有高振幅值的垂直信號時的情況下的問題。通過各種方法,峰值被用于作 出向前/向后決定。在某些情況中,閾值被用于實施解決方案,而在其它情況中,它們被用 于接受或拒絕峰值。某些情況需要在其它情況之前處理,因此仔細準備方法的順序。在某 些情況中,垂直峰值和運動峰值的模式被用于作出向前/向后的決定。在其它情況中,在垂 直峰值(所有峰值、高于或低于某一閾值的某些峰值、最大峰值或最小峰值)周圍的運動數 據斜率的信號提供向前/向后決定。
[0191] 找出垂直信號和運動信號的峰值是解決方案中的第一步。通過各種方法,峰值被 用于作出向前/向后的決定。在某些情況中,閾值被用于實施解決方案而在其它情況中,它 們被用于接受或拒絕峰值。某些情