在移動(dòng)設(shè)備或其它系統(tǒng)中使用傳感器追蹤活動(dòng)、速度和前進(jìn)方向的制作方法
【專利摘要】本發(fā)明的實(shí)施方式提供了用于使用移動(dòng)設(shè)備內(nèi)的傳感器且無需使用外部信號(hào)來追蹤所述移動(dòng)設(shè)備以確定位置、速度和前進(jìn)方向的系統(tǒng)和方法。根據(jù)一個(gè)實(shí)施方式,定位和追蹤移動(dòng)設(shè)備可包括從移動(dòng)設(shè)備內(nèi)的多個(gè)傳感器中的每個(gè)傳感器讀取傳感器數(shù)據(jù)。傳感器可以提供傳感器數(shù)據(jù)而不依賴于來自移動(dòng)設(shè)備外部的設(shè)備的信號(hào)。例如,多個(gè)傳感器可包括指南針、回轉(zhuǎn)儀和加速度計(jì)?;趥鞲衅鲾?shù)據(jù),可以確定移動(dòng)設(shè)備的運(yùn)動(dòng)、速度和前進(jìn)方向。
【專利說明】在移動(dòng)設(shè)備或其它系統(tǒng)中使用傳感器追蹤活動(dòng)、速度和前進(jìn)方向
[0001]相關(guān)串請(qǐng)的交叉引用
[0002]該P(yáng)CT申請(qǐng)要求2012年10月16日遞交的美國專利申請(qǐng)N0.13/653,009的優(yōu)先權(quán),本申請(qǐng)根據(jù)35USC119(e)要求通過Fauci等在2011年10月17日遞交的名稱為“Tracking Activity, Velocity, and Heading Using Sensors in Mobile Devices orOther Systems, ”的美國臨時(shí)申請(qǐng)N0.61/547,969的權(quán)益,出于所有目的,該美國臨時(shí)申請(qǐng)的全部公開內(nèi)容以引用方式并入本文。
【背景技術(shù)】
[0003]本發(fā)明的實(shí)施方式總體涉及用于追蹤移動(dòng)設(shè)備的系統(tǒng)和方法,尤其涉及使用移動(dòng)設(shè)備內(nèi)的傳感器且無需使用外部信號(hào)來追蹤該移動(dòng)設(shè)備以確定位置、速度和前進(jìn)方向。
[0004]存在各種用于確定人的位置、或者更具體地該人攜帶的移動(dòng)設(shè)備的位置的技術(shù)。一個(gè)熟知的方法包括:使用移動(dòng)設(shè)備中的全球定位系統(tǒng)(GPS)接收器,其檢測(cè)并三角測(cè)量全球廣播衛(wèi)星信號(hào)。在另一方法中,來自蜂窩基站的信號(hào)的三角測(cè)量可以用來確定移動(dòng)設(shè)備的位置。在另一方法中,來自本地WiFi設(shè)備的信號(hào)的三角測(cè)量可以用來確定移動(dòng)設(shè)備的位置。在一些情況下,通過使用特定區(qū)域的預(yù)定義地圖可以增強(qiáng)這些不同的方法,基于該地圖可以調(diào)整通過這些方法所確定的設(shè)備的位置。例如,在大型購物中心用于提供基于位置的廣告或其他功能所采用的系統(tǒng)可以使用該購物中心的內(nèi)部的預(yù)定義地圖。由于購物者不能站在墻壁所在的位置且購物者不能站在或者移動(dòng)通過噴泉或裝飾物所在的位置,對(duì)于該設(shè)備所確定的位置可以相應(yīng)地調(diào)整以校正錯(cuò)誤。
[0005]然而,這些方法中的每個(gè)方法具有一些明顯的缺點(diǎn)。例如,手機(jī)信號(hào)的三角測(cè)量對(duì)于定位和/或追蹤行人不是很精確。GPS較精確但對(duì)于定位和追蹤行人仍不是很精確且通常在室內(nèi)或其他情形中是不可用的。WiFi是高度局域化的而僅在有限的情形中可用。簡而言之,這些方法中的每個(gè)方法依賴于外部信號(hào)或設(shè)備,即,移動(dòng)設(shè)備外部的設(shè)備,該外部設(shè)備在某些情形下可以是不精確的、不可靠的或者完全不可用的。因此,需要改善的用于追蹤移動(dòng)設(shè)備的方法和系統(tǒng)。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的實(shí)施方式提供了用于使用移動(dòng)設(shè)備內(nèi)的傳感器且無需使用外部信號(hào)來追蹤該移動(dòng)設(shè)備以確定位置、速度和前進(jìn)方向的系統(tǒng)和方法。根據(jù)一個(gè)實(shí)施方式,定位和追蹤移動(dòng)設(shè)備可包括從移動(dòng)設(shè)備內(nèi)的多個(gè)傳感器中的每個(gè)傳感器讀取傳感器數(shù)據(jù)。傳感器可以提供傳感器數(shù)據(jù)而不依賴于來自移動(dòng)設(shè)備外部的設(shè)備的信號(hào)。例如,多個(gè)傳感器可包括指南針、回轉(zhuǎn)儀和加速度計(jì)?;趥鞲衅鲾?shù)據(jù),可以確定移動(dòng)設(shè)備的運(yùn)動(dòng)、速度和前進(jìn)方向。更具體地,基于所述傳感器數(shù)據(jù)確定所述移動(dòng)設(shè)備的運(yùn)動(dòng)、速度和前進(jìn)方向包括:將所述移動(dòng)設(shè)備的活動(dòng)分類為運(yùn)動(dòng)或靜止。響應(yīng)于將所述移動(dòng)設(shè)備的活動(dòng)分類為運(yùn)動(dòng),基于所述傳感器數(shù)據(jù)可以確定所述移動(dòng)設(shè)備的速度且基于所述傳感器數(shù)據(jù)可以確定所述移動(dòng)設(shè)備的前進(jìn)方向。
[0007]將所述移動(dòng)設(shè)備的活動(dòng)分類可包括:在一時(shí)段內(nèi)從所述多個(gè)傳感器中的每個(gè)傳感器采集傳感器數(shù)據(jù)。傳感器數(shù)據(jù)可以被融合以產(chǎn)生對(duì)于與所述移動(dòng)設(shè)備的方向有關(guān)的多個(gè)指示中的每個(gè)指示的估值。每個(gè)估值可以被歸一化并且基于所歸一化的估值可以形成表示移動(dòng)設(shè)備的活動(dòng)的多個(gè)向量。然后,基于所述多個(gè)向量,可以將在所述時(shí)段內(nèi)的移動(dòng)設(shè)備的活動(dòng)分類。
[0008]確定所述移動(dòng)設(shè)備的速度可包括:對(duì)多個(gè)傳感器數(shù)據(jù)讀數(shù)中的每個(gè)計(jì)算平均值和標(biāo)準(zhǔn)偏差?;诿總€(gè)所計(jì)算的平均值和標(biāo)準(zhǔn)偏差,可以生成特征向量。所生成的特征向量可以與參考數(shù)據(jù)集比較且基于所述比較,將每個(gè)特征向量分配至集群。然后,基于所集群的特征向量數(shù)據(jù),可以確定所述移動(dòng)設(shè)備的速度。
[0009]確定所述移動(dòng)設(shè)備的前進(jìn)方向可以包括:確定一組角速度數(shù)據(jù)的大小。可以確定所述大小是否超出預(yù)定義的閾值。響應(yīng)于確定所述大小超出預(yù)定義的閾值,可以將所述移動(dòng)設(shè)備視為正在旋轉(zhuǎn)。然后,針對(duì)隨時(shí)間的漂移可以校正所述傳感器數(shù)據(jù),以及將所校正的傳感器數(shù)據(jù)記錄為所述移動(dòng)設(shè)備的前進(jìn)方向。
[0010]根據(jù)一個(gè)實(shí)施方式,可以繪制移動(dòng)設(shè)備的路徑。繪制所述路徑可以包括:識(shí)別所述移動(dòng)設(shè)備所移動(dòng)的平面的多個(gè)軸線中的每個(gè)軸線?;谒鰝鞲衅鲾?shù)據(jù),可以確定沿著所識(shí)別的軸線的第一前進(jìn)方向向量和沿著所識(shí)別的軸線的第二前進(jìn)方向向量。所確定的前進(jìn)方向向量可以被濾波以及基于所濾波的前進(jìn)方向向量,可以在所述平面上繪出所述移動(dòng)設(shè)備的路徑的地圖。
[0011]例如,過濾所確定的前進(jìn)方向向量可以包括:當(dāng)在所述第一前進(jìn)方向向量和所述第二前進(jìn)方向向量之間的差值被確定為大時(shí),將所述第一前進(jìn)方向向量存儲(chǔ)為第三前進(jìn)方向向量。當(dāng)前一點(diǎn)的前進(jìn)方向與當(dāng)前點(diǎn)的前進(jìn)方向一致時(shí),所述第三前進(jìn)方向向量可以被拷貝到第四前進(jìn)方向向量。當(dāng)在所述第一前進(jìn)方向向量和所述第四前進(jìn)方向向量之間存在大的一致的差值時(shí),可以將所述第一前進(jìn)方向向量存儲(chǔ)為第五前進(jìn)方向向量。指示快速變化的前進(jìn)方向向量可以被丟棄,以及基于所丟棄的前進(jìn)方向向量的前面的前進(jìn)方向向量和之后的前進(jìn)方向向量,通過所述丟棄所產(chǎn)生的間隙可以被填充。
[0012]繪出所述移動(dòng)設(shè)備的路徑的地圖可以包括:對(duì)于所接收的信息,找到當(dāng)前的最佳擬合線。將所述當(dāng)前的最佳擬合線與前面保存的線比較。響應(yīng)于確定所述當(dāng)前的最佳擬合線接近平行于所述前面保存的線,可以將所述當(dāng)前的最佳擬合線調(diào)整為平行于所述前面保存的線。響應(yīng)于確定所述當(dāng)前的最佳擬合線的位置接近所述前面保存的線,可以調(diào)整所述當(dāng)前的最佳擬合線的位置以匹配所述前面保存的線的位置。響應(yīng)于確定所述當(dāng)前的最佳擬合線包括角點(diǎn)以及響應(yīng)于確定所述當(dāng)前的最佳擬合線的角點(diǎn)匹配所述前面保存的線的角點(diǎn),可以調(diào)整所述當(dāng)前的最佳擬合線的點(diǎn)以匹配所述前面保存的線的點(diǎn)。
【專利附圖】
【附圖說明】
[0013]圖1是示出可以實(shí)現(xiàn)本發(fā)明的多個(gè)實(shí)施方式的示例性操作環(huán)境的部件的框圖。
[0014]圖2是示出可以實(shí)現(xiàn)本發(fā)明的實(shí)施方式的示例性計(jì)算機(jī)系統(tǒng)的框圖。
[0015]圖3是以高層次示出根據(jù)本發(fā)明的一個(gè)實(shí)施方式的用于追蹤移動(dòng)設(shè)備的系統(tǒng)的功能部件的框圖。
[0016]圖4是示出根據(jù)本發(fā)明的一個(gè)實(shí)施方式的用于追蹤移動(dòng)設(shè)備的方法的流程圖。
[0017]圖5是示出根據(jù)本發(fā)明的一個(gè)實(shí)施方式的用于將傳感器數(shù)據(jù)分類的方法的流程圖。
[0018]圖6是示意性地示出根據(jù)本發(fā)明的一個(gè)實(shí)施方式的傳感器數(shù)據(jù)的集群的框圖。
[0019]圖7是示出根據(jù)本發(fā)明的一個(gè)實(shí)施方式的用于確定速度的方法的流程圖。
[0020]圖8是示出根據(jù)本發(fā)明的一個(gè)實(shí)施方式的用于確定前進(jìn)方向的方法的流程圖。
[0021]圖9是示出根據(jù)本發(fā)明的一個(gè)實(shí)施方式的用于繪制位置信息的方法的流程圖。
[0022]圖10是示出根據(jù)本發(fā)明的一個(gè)實(shí)施方式的用于濾波前進(jìn)方向信息的示例性方法的流程圖。
[0023]圖11是示出根據(jù)本發(fā)明的一個(gè)實(shí)施方式的用于繪出位置信息的地圖的示例性方法的流程圖。
【具體實(shí)施方式】
[0024]在以下描述中,出于說明的目的,列舉了大量具體細(xì)節(jié)以便提供對(duì)本發(fā)明的各個(gè)實(shí)施方式的透徹理解。然而,本領(lǐng)域的技術(shù)人員應(yīng)理解,可無需這些具體細(xì)節(jié)來實(shí)施本發(fā)明的所述實(shí)施方式。在其他情況下,以框圖形式示出了熟知的結(jié)構(gòu)和設(shè)備。
[0025]接下來的描述僅提供了示例性實(shí)施方式,但其目的不是限制本發(fā)明的范圍、適用性或配置。此外,接下來的示例性實(shí)施方式的描述將向本領(lǐng)域技術(shù)人員提供用于執(zhí)行示例性實(shí)施方式的可能的描述。應(yīng)該理解,在不脫離所附權(quán)利要求中所提出的本發(fā)明的精神和范圍的情況下,可對(duì)元件的功能和布置進(jìn)行各種變化。
[0026]在上述描述中給出了具體細(xì)節(jié)以提供對(duì)實(shí)施方式的透徹理解。然而,本發(fā)明的普通技術(shù)人員應(yīng)理解,在不存在這些具體細(xì)節(jié)的情況下也可實(shí)施這些實(shí)施方式。例如,電路、系統(tǒng)、網(wǎng)絡(luò)、方法和其它元件可示為方框圖形式中的組件,以免不必要的細(xì)節(jié)使實(shí)施方式不清楚。在其它情況下,可示出眾所周知的電路、方法、算法、結(jié)構(gòu)和技術(shù),而沒有不必要的細(xì)節(jié),以避免使實(shí)施方式不清楚。。
[0027]另外,應(yīng)注意到,各種實(shí)施方式可被描述為過程,該過程可描述成流程圖、流程示意圖、數(shù)據(jù)流程圖、結(jié)構(gòu)圖或方框圖。盡管流程圖可將操作描述為連續(xù)的過程,但是許多操作可以并行地或同時(shí)地進(jìn)行。另外,操作的次序可被重排。當(dāng)操作完成時(shí)終止過程,但可包括未包括在圖中的額外的步驟。一個(gè)過程可對(duì)應(yīng)于方法、函數(shù)、程序、子程序、輔程序等。當(dāng)過程對(duì)應(yīng)于函數(shù)時(shí),其終止對(duì)應(yīng)于該函數(shù)返回至調(diào)用函數(shù)或主函數(shù)。
[0028]術(shù)語“機(jī)器可讀介質(zhì)”包括但不限于便攜式或固定的存儲(chǔ)設(shè)備、光學(xué)存儲(chǔ)設(shè)備、無線信道和各種能夠存儲(chǔ)、容納或攜帶指令和/或數(shù)據(jù)的其它介質(zhì)。代碼段或機(jī)器可執(zhí)行指令可表示步驟、函數(shù)、輔程序、程序、例行程序、子程序、模塊、軟件包、級(jí)、或者指令、數(shù)據(jù)結(jié)構(gòu)或者程序語句的任意組合。代碼段可通過傳遞和/或接收信息、數(shù)據(jù)、自變量、參數(shù)或存儲(chǔ)內(nèi)容與另一代碼段或硬件電路聯(lián)接。信息、自變量、參數(shù)、數(shù)據(jù)等可通過任何合適的方式(包括存儲(chǔ)器共享、消息傳遞、令牌傳遞、網(wǎng)絡(luò)傳輸?shù)?被傳遞、轉(zhuǎn)發(fā)或傳輸。
[0029]另外,實(shí)施方式可通過硬件、軟件、固件、中間件、微碼、硬件描述語言、和/或它們的任意組合而實(shí)施。當(dāng)以軟件、固件、中間件、或微碼實(shí)施時(shí),用以執(zhí)行必要的任務(wù)的程序代碼或代碼段被保存在機(jī)器可讀介質(zhì)中。處理器可以執(zhí)行必要的任務(wù)。
[0030]本發(fā)明的實(shí)施方式提供了用于使用設(shè)備內(nèi)的傳感器且無需使用外部信號(hào)來追蹤移動(dòng)設(shè)備以確定位置、速度和前進(jìn)方向的系統(tǒng)和方法。更具體地,本發(fā)明的實(shí)施方式提供了使用傳感器獲取可以使移動(dòng)設(shè)備的活動(dòng)類型、速度和前進(jìn)方向分類的信息,這些傳感器逐漸集成在移動(dòng)電話、平板電腦和其他設(shè)備中。在一些實(shí)施方式中,該信息可以用于攜帶該設(shè)備的用戶的遠(yuǎn)程追蹤。存在多種類型的應(yīng)用,其中可以部署這樣的系統(tǒng)。這些應(yīng)用包括但不限于,遠(yuǎn)程監(jiān)控老年家庭用戶以測(cè)量他們的活動(dòng)且確保他們的健康和安全。同樣可以應(yīng)用到在外科手術(shù)或其他手術(shù)之后從醫(yī)院最近出院的患者。在本發(fā)明的范圍內(nèi)構(gòu)思和考慮了本文描述的實(shí)施方式的多個(gè)其他實(shí)現(xiàn)和用途。下文將結(jié)合附圖來描述本發(fā)明的實(shí)施方式的各個(gè)另外的細(xì)節(jié)。
[0031]圖1是示出可以實(shí)現(xiàn)本發(fā)明的各個(gè)實(shí)施方式的示例性操作環(huán)境的部件的框圖。系統(tǒng)100可包括一個(gè)或多個(gè)用戶計(jì)算機(jī)105、110,其可以用來操作客戶端,而不論專用應(yīng)用程序、web瀏覽器等。用戶計(jì)算機(jī)105、110可以是通用個(gè)人計(jì)算機(jī)(僅舉例而言,包括:運(yùn)行微軟公司的Windows和/或蘋果公司的Macintosh操作系統(tǒng)的各種版本的個(gè)人計(jì)算機(jī)和/或便攜計(jì)算機(jī))和/或運(yùn)行多個(gè)市售的UNIX或者類似UNIX的操作系統(tǒng)(包括但不限于各種GNU/Linux操作系統(tǒng))中的任一操作系統(tǒng)的工作站計(jì)算機(jī)。這些用戶計(jì)算機(jī)105、110還可具有多種應(yīng)用程序中的任一應(yīng)用程序,包括一個(gè)或多個(gè)開發(fā)系統(tǒng)、數(shù)據(jù)庫客戶端和/或服務(wù)器應(yīng)用程序和web瀏覽器應(yīng)用程序??商孢x地,用戶計(jì)算機(jī)105、110可以是任何其他的電子設(shè)備,諸如瘦客戶端計(jì)算機(jī)、支持互聯(lián)網(wǎng)的移動(dòng)電話、和/或個(gè)人數(shù)字助理,這些電子設(shè)備能夠借助網(wǎng)絡(luò)(例如,下文描述的網(wǎng)絡(luò)115)通信和/或顯示和導(dǎo)航網(wǎng)頁或其他類型的電子文件。盡管示例性系統(tǒng)100示出具有兩個(gè)用戶計(jì)算機(jī),然而,可以支持任何數(shù)量的用戶計(jì)算機(jī)。
[0032]在一些實(shí)施方式中,系統(tǒng)100還可包括網(wǎng)絡(luò)115。網(wǎng)絡(luò)可以是本領(lǐng)域的技術(shù)人員熟悉的任一類型的網(wǎng)絡(luò),該網(wǎng)絡(luò)可以使用多種市售協(xié)議(包括但不限于TCP/IP、SNA、IPX、AppleTalk等)中的任一協(xié)議支持?jǐn)?shù)據(jù)通信。僅通過舉例,網(wǎng)絡(luò)115可以是局域網(wǎng)(“LAN”),諸如,以太網(wǎng)、令牌環(huán)網(wǎng)和/或類似網(wǎng)絡(luò);廣域網(wǎng);虛擬網(wǎng)絡(luò),包括但不限于虛擬專用網(wǎng)絡(luò)(“VPN”);互聯(lián)網(wǎng);內(nèi)聯(lián)網(wǎng);外聯(lián)網(wǎng);公共交換電話網(wǎng)絡(luò)(“PSTN”);紅外網(wǎng)絡(luò);無線網(wǎng)絡(luò)(例如,在IEEE802.11協(xié)議組中的任一協(xié)議、現(xiàn)有技術(shù)中已知的藍(lán)牙協(xié)議、和/或任何其它無線協(xié)議下操作的網(wǎng)絡(luò));和/或這些網(wǎng)絡(luò)和/或諸如GSM、GPRS, EDGE、UMTS、3G、2.5G、CDMA、CDMA2000、WCDMA、EVDO等的其他網(wǎng)絡(luò)的任一組合。
[0033]該系統(tǒng)還可包括一個(gè)或多個(gè)服務(wù)器計(jì)算機(jī)120、125、130,該服務(wù)器計(jì)算機(jī)120、125、130可以是通用計(jì)算機(jī)和/或?qū)S梅?wù)器計(jì)算機(jī)(僅通過舉例,包括:PC服務(wù)器、UNIX服務(wù)器、中檔服務(wù)器、大型計(jì)算機(jī)機(jī)架式服務(wù)器,等)。一個(gè)或多個(gè)服務(wù)器(例如,130)可以專用于運(yùn)行應(yīng)用程序,諸如,商務(wù)應(yīng)用程序、web服務(wù)器、應(yīng)用程序服務(wù)器等。這樣的服務(wù)器可以用來處理來自用戶計(jì)算機(jī)105、110的請(qǐng)求。應(yīng)用程序還可以包括任何數(shù)量的用于控制訪問服務(wù)器120、125、130的資源的應(yīng)用程序。
[0034]web服務(wù)器可以運(yùn)行包括如上文所討論的任一操作系統(tǒng)的操作系統(tǒng)、以及任一市售的服務(wù)器操作系統(tǒng)。web服務(wù)器還可以運(yùn)行各種服務(wù)器應(yīng)用程序和/或中間層應(yīng)用程序中的任一種應(yīng)用程序,其包括HTTP服務(wù)器、FTP服務(wù)器、CGI服務(wù)器、數(shù)據(jù)庫服務(wù)器、Java服務(wù)器、商務(wù)應(yīng)用程序等。服務(wù)器還可以是一個(gè)或多個(gè)計(jì)算機(jī),該計(jì)算機(jī)能夠響應(yīng)于用戶計(jì)算機(jī)105、110執(zhí)行程序或腳本。舉一個(gè)例子,服務(wù)器可以執(zhí)行一個(gè)或多個(gè)網(wǎng)絡(luò)應(yīng)用程序。該網(wǎng)絡(luò)應(yīng)用程序可以實(shí)現(xiàn)為以任何編程語言(例如,Java?、C、C#或C++)和/或任何腳本語言(諸如,Perl、Python或TCL)以及任何編程/腳本語言的組合寫成的一個(gè)或多個(gè)腳本或程序。服務(wù)器還可包括數(shù)據(jù)庫服務(wù)器,包括但不限于可從()!-aclcK;, MierosotVK).Sybase?, IBM?等購買的數(shù)據(jù)庫服務(wù)器,其可以處理來自運(yùn)行在用戶計(jì)算機(jī)105、110上的數(shù)據(jù)庫客戶端的請(qǐng)求。
[0035]在一些實(shí)施方式中,應(yīng)用程序服務(wù)器可以動(dòng)態(tài)地創(chuàng)建用于在終端用戶(客戶端)系統(tǒng)上顯示的網(wǎng)頁。通過web應(yīng)用程序服務(wù)器所創(chuàng)建的網(wǎng)頁借助web服務(wù)器可以被轉(zhuǎn)發(fā)到用戶計(jì)算機(jī)105。類似地,web服務(wù)器可以接收來自用戶計(jì)算機(jī)的網(wǎng)頁請(qǐng)求和/或輸入數(shù)據(jù)且可以將網(wǎng)頁請(qǐng)求和/或輸入數(shù)據(jù)轉(zhuǎn)發(fā)到應(yīng)用程序和/或數(shù)據(jù)庫服務(wù)器。本領(lǐng)域的技術(shù)人員可以看出,根據(jù)實(shí)施特定的需要和參數(shù),通過單一的服務(wù)器和/或多個(gè)專用服務(wù)器可以執(zhí)行關(guān)于各種類型的服務(wù)器所描述的功能。
[0036]系統(tǒng)100還可包括一個(gè)或多個(gè)數(shù)據(jù)庫135。數(shù)據(jù)庫135可以處于多個(gè)位置。舉例而言,數(shù)據(jù)庫135可以處于一個(gè)或多個(gè)計(jì)算機(jī)105、110、115、125、130本機(jī)的(和/或處于一個(gè)或多個(gè)計(jì)算機(jī)105、110、115、125、130中)的存儲(chǔ)介質(zhì)上??商孢x地,數(shù)據(jù)庫135可以遠(yuǎn)離計(jì)算機(jī)105、110、115、125、130中的任一個(gè)或者全部,和/或(例如,通過網(wǎng)絡(luò)120)與一個(gè)或多個(gè)計(jì)算機(jī)105、110、115、125、130通信。在一組特定的實(shí)施方式中,數(shù)據(jù)庫135可以處于本領(lǐng)域的技術(shù)人員熟悉的存儲(chǔ)區(qū)域網(wǎng)絡(luò)(“SAN”)中。類似地,用于執(zhí)行計(jì)算機(jī)105、110、115、125、130具有的功能的任何必要的文件可以本地存儲(chǔ)在相應(yīng)的計(jì)算機(jī)上和/或適當(dāng)?shù)剡h(yuǎn)程存儲(chǔ)。在一組實(shí)施方式中,數(shù)據(jù)庫135可以是關(guān)系數(shù)據(jù)庫,諸如OraclelOg,其適于響應(yīng)于SQL格式的命令而存儲(chǔ)、更新和檢索數(shù)據(jù)。
[0037]圖2示出可以實(shí)現(xiàn)本發(fā)明的多個(gè)實(shí)施方式的示例性計(jì)算機(jī)系統(tǒng)200的框圖。系統(tǒng)200可以用來實(shí)現(xiàn)上文描述的任一計(jì)算機(jī)系統(tǒng)。所示出的計(jì)算機(jī)系統(tǒng)200包括可以借助總線255電聯(lián)接的硬件元件。硬件元件可包括一個(gè)或多個(gè)中央處理單元(CPU) 205、一個(gè)或多個(gè)輸入設(shè)備210 (例如,鼠標(biāo)、鍵盤等)、以及一個(gè)或多個(gè)輸出設(shè)備215 (例如,顯示設(shè)備、打印機(jī)等)。計(jì)算機(jī)系統(tǒng)200還可包括一個(gè)或多個(gè)存儲(chǔ)設(shè)備220。通過舉例,存儲(chǔ)設(shè)備220可以是磁盤驅(qū)動(dòng)器、光存儲(chǔ)設(shè)備、固態(tài)存儲(chǔ)設(shè)備,諸如隨機(jī)存取存儲(chǔ)器(“RAM”)和/或只讀存儲(chǔ)器(“R0M”),這些存儲(chǔ)設(shè)備可以是可編程的、可閃速更新的和/或類似性能。
[0038]計(jì)算機(jī)系統(tǒng)200還可以包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)讀取器225a、通信系統(tǒng)230 (例如,調(diào)制解調(diào)器、網(wǎng)絡(luò)卡(無線的或者有線的)、紅外通信設(shè)備等)、和工作存儲(chǔ)器240,其可包括如上文所述的RAM和ROM設(shè)備。在一些實(shí)施方式中,計(jì)算機(jī)系統(tǒng)200還可包括處理加速單元235,其可包括DSP、專用處理器和/或類似器件。
[0039]計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)讀取器225a還可以被連接到計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)225b,它們一起(以及,可選地,與存儲(chǔ)設(shè)備220組合)綜合地表示遠(yuǎn)程的、本地的、固定的、和/或可移動(dòng)的存儲(chǔ)設(shè)備以及用于臨時(shí)和/或更永久地包含計(jì)算機(jī)可讀信息的存儲(chǔ)介質(zhì)。通信系統(tǒng)230可允許數(shù)據(jù)在網(wǎng)絡(luò)220和/或上文關(guān)于系統(tǒng)200所述的任何其他計(jì)算機(jī)中交換。
[0040]計(jì)算機(jī)系統(tǒng)200還可包括當(dāng)前示出的位于工作存儲(chǔ)器240內(nèi)的軟件元件,其包括操作系統(tǒng)245和/或其他代碼250、諸如應(yīng)用程序(其可以是客戶端應(yīng)用程序、web瀏覽器、中間層應(yīng)用程序、RDBMS等)。應(yīng)該理解,計(jì)算機(jī)系統(tǒng)200的替選實(shí)施方式可具有來自上文描述的計(jì)算機(jī)系統(tǒng)200的大量變型。例如,自定義的硬件還可以被使用和/或特定的元件可以以硬件、軟件(包括可移植軟件,諸如,小應(yīng)用程序)或者兩者來實(shí)現(xiàn)。此外,可以采用與諸如網(wǎng)絡(luò)輸入/輸出設(shè)備的其他計(jì)算設(shè)備的連接。計(jì)算機(jī)系統(tǒng)200的軟件可包括用于實(shí)現(xiàn)如本文所描述的本發(fā)明的實(shí)施方式的代碼250。
[0041]圖3是以高層次示出根據(jù)本發(fā)明的一個(gè)實(shí)施方式的用于追蹤移動(dòng)設(shè)備的系統(tǒng)的功能部件的框圖。在該示例中,系統(tǒng)300包括移動(dòng)設(shè)備305,諸如蜂窩電話、平板計(jì)算機(jī)、便攜式計(jì)算機(jī)或者諸如上文所描述的任何其他計(jì)算設(shè)備。在一些情況中,移動(dòng)設(shè)備305可包括特別設(shè)計(jì)用于系統(tǒng)300的設(shè)備,用戶可以方便地佩戴或者攜帶該設(shè)備。除了關(guān)于追蹤該設(shè)備本文所描述的功能,該專用設(shè)備可以或可以不包括或提供通常與更通用的移動(dòng)設(shè)備關(guān)聯(lián)的特征或功能。例如且在一個(gè)實(shí)施方式中,移動(dòng)設(shè)備305可包括具有類似于微型藍(lán)牙耳機(jī)的外形的頭戴式設(shè)備。以該外形的該設(shè)備可包含諸如通過本文所述的實(shí)施方式所使用的傳感器以及足夠的內(nèi)存和CPU功率以執(zhí)行計(jì)算和下文描述的其他功能,但攜帶該微型設(shè)備(而不是智能電話或其他移動(dòng)設(shè)備),然后借助移動(dòng)電話或者無需移動(dòng)電話將信息傳達(dá)到網(wǎng)絡(luò)。然而,在本發(fā)明的范圍內(nèi)可以構(gòu)思和考慮其他外形和多種其他實(shí)現(xiàn)方式。
[0042]不管設(shè)備的確切類型如何,無線設(shè)備305可以與一個(gè)或多個(gè)通信網(wǎng)絡(luò)310可通信地聯(lián)接。例如,網(wǎng)絡(luò)310可包括蜂窩通信網(wǎng)絡(luò)和/或一個(gè)或多個(gè)其他有線或無線網(wǎng)絡(luò)(諸如如上文所述的互聯(lián)網(wǎng)或者另一網(wǎng)絡(luò))。此外,網(wǎng)絡(luò)310可以與一個(gè)或多個(gè)服務(wù)器315和其他計(jì)算機(jī)325或設(shè)備連接。服務(wù)器315可包括諸如上文描述的任何一個(gè)或多個(gè)計(jì)算機(jī),其執(zhí)行一個(gè)或多個(gè)功能和/或提供一個(gè)或多個(gè)與定位和追蹤移動(dòng)設(shè)備305有關(guān)的服務(wù),這一點(diǎn)將在本文描述。服務(wù)器315可以維護(hù)如上文指出的一個(gè)或多個(gè)數(shù)據(jù)庫320,其可包括與移動(dòng)設(shè)備的位置、所提供的服務(wù)的訂戶、策略(諸如訪問控制策略)等有關(guān)的信息。其他計(jì)算機(jī)325可包括上文所述的多個(gè)計(jì)算設(shè)備中的任一計(jì)算設(shè)備,例如,其他計(jì)算機(jī)325可以由感興趣的第三方使用以定位和/或追蹤,即,監(jiān)控移動(dòng)設(shè)備305的位置和移動(dòng)。
[0043]一般而言且如上文指出,本發(fā)明的實(shí)施方式提供了用于使用設(shè)備內(nèi)的傳感器且無需使用外部信號(hào)來追蹤移動(dòng)設(shè)備305以確定位置、速度和前進(jìn)方向的系統(tǒng)和方法。用于遠(yuǎn)程追蹤攜帶移動(dòng)設(shè)備305的用戶的服務(wù)器315和/或其他計(jì)算機(jī)325可以使用該信息。該應(yīng)用程序可包括但不限于:服務(wù)器315所提供的用于遠(yuǎn)程監(jiān)控年老的家庭用戶以測(cè)量他們的活動(dòng)和確保他們的健康和安全的服務(wù)。通過其他計(jì)算機(jī)系統(tǒng)325通過訂閱服務(wù)和/或經(jīng)過各種訪問控制,這些服務(wù)可以提供到感興趣的各方,諸如看護(hù)者、健康護(hù)理專業(yè)人員、親屬等,這一點(diǎn)可以被構(gòu)思。
[0044]圖4是示出根據(jù)本發(fā)明的一個(gè)實(shí)施方式的用于追蹤移動(dòng)設(shè)備的方法的流程圖。在該示例中,處理開始于讀取405來自移動(dòng)設(shè)備內(nèi)的多個(gè)傳感器中的每個(gè)傳感器的傳感器數(shù)據(jù)。傳感器可以提供傳感器數(shù)據(jù)而不依賴于來自移動(dòng)設(shè)備外部的設(shè)備的信號(hào)。例如,多個(gè)傳感器可包括指南針、回轉(zhuǎn)儀和加速度計(jì)?;趥鞲衅鲾?shù)據(jù),可以確定移動(dòng)設(shè)備的運(yùn)動(dòng)、速度和前進(jìn)方向。更具體地,基于所述傳感器數(shù)據(jù)確定所述移動(dòng)設(shè)備的運(yùn)動(dòng)、速度和前進(jìn)方向包括:將所述移動(dòng)設(shè)備的活動(dòng)分類410為運(yùn)動(dòng)或靜止。響應(yīng)于將所述移動(dòng)設(shè)備的活動(dòng)分類410為運(yùn)動(dòng),基于所述傳感器數(shù)據(jù)可以確定420所述移動(dòng)設(shè)備的速度且基于所述傳感器數(shù)據(jù)可以確定425所述移動(dòng)設(shè)備的前進(jìn)方向。
[0045]將活動(dòng)類型分類
[0046]該部分解決了移動(dòng)設(shè)備的用戶正在參與的活動(dòng)類型的算法區(qū)分。該功能可以用于從測(cè)量和表征卡路里消耗到跌倒檢測(cè)的各種應(yīng)用,或者例如,用戶在跌倒后會(huì)無法行動(dòng)的情況。
[0047]活動(dòng)類型可以分成兩類,S卩,靜止和運(yùn)動(dòng),這些類別中的每個(gè)類別被分成多個(gè)子類另IJ。例如,該算法可以在坐著不動(dòng)的人或者站著不動(dòng)的人之間加以區(qū)分且可以區(qū)分當(dāng)移動(dòng)設(shè)備被遺留在書架或桌子上時(shí)從所測(cè)量的“行為”類型得到的那些情況。通過算法所識(shí)別的運(yùn)動(dòng)類別可以在慢走、快走和跑之間加以區(qū)分。
[0048]基于通過移動(dòng)設(shè)備中的傳感器(S卩,加速度計(jì)、回轉(zhuǎn)儀、磁力計(jì)等)所提供的數(shù)據(jù),本發(fā)明的實(shí)施方式可以實(shí)現(xiàn)統(tǒng)計(jì)機(jī)器學(xué)習(xí)方法。該數(shù)據(jù)可以被建模以在這些不同的活動(dòng)類型之間加以區(qū)分。為了建立該模型,可以分析一組η個(gè)特征。當(dāng)繪出所分析的數(shù)據(jù)時(shí),根據(jù)當(dāng)前正在執(zhí)行的不同活動(dòng)(坐著、站著、行走等),在η維特征空間的不同區(qū)域中可以持續(xù)累積(群集)這些數(shù)據(jù)。獲得這樣的特征向量的示例性方法可以總結(jié)如下:
[0049]1.從設(shè)備的加速度計(jì)、回轉(zhuǎn)儀和磁力計(jì)采集原始的傳感器數(shù)據(jù)。這些傳感器分別沿設(shè)備的X軸線、Y軸線和Z軸線測(cè)量加速度、旋轉(zhuǎn)速度和周圍磁場(chǎng)。
[0050]2.采用原始的傳感器數(shù)據(jù)的組合且將其融合以產(chǎn)生以下數(shù)據(jù)的估值:滾轉(zhuǎn)(Roll)、俯仰(Pitch)、偏航(Yaw)、旋轉(zhuǎn)矩陣(3*3矩陣,S卩,9個(gè)值)、四元數(shù)(4個(gè)值)、旋轉(zhuǎn)速度(X軸線、Y軸線和Z軸線,S卩,3個(gè)值)、重力(X軸線、Y軸線和Z軸線,S卩,3個(gè)值)和用戶加速度(User Accelerat1n) (X軸線、Y軸線和Z軸線,即,3個(gè)值)。
[0051]3.為了不歸一化該設(shè)備的方向,使用X值、Y值和Z值的L2范數(shù)(Norm)。給出如下公式:
[0052]
用尸加迷度范數(shù) χ?+r ” i J.r,H.f (Γ- r J...!/}-
回 iSL委之(_\ nr ιη(.ιμ "、ι * <ικ 1------1./ ?'///.”—\ j.* - { ( ?.7?.? >\ 1.: * j ( ?//1 ? >X ;.■
[0053]4.在時(shí)段(t = 1,2,...,T)中的數(shù)據(jù)可以被采集且形成兩個(gè)向量,下文中這兩個(gè)向量被稱為NormUserAccel和NormGyro。在該模型中所用的特征向量可以根據(jù)下式來計(jì)算:
[0054]
? I \ < U !/.'I ,.? /., Ic / I I I ) \
特征向量 '.....二…
\ yJ ( Λ./> !/ ■<:nnt, I /
[0055]特征向量的第一項(xiàng)和第三項(xiàng)分別簡單地為NormUserAccel向量和NormGyro向量的平均值。第二項(xiàng)是NormUserAccel向量的標(biāo)準(zhǔn)偏差。
[0056]圖5是示出根據(jù)本發(fā)明的一個(gè)實(shí)施方式的用于將傳感器數(shù)據(jù)分類的方法的流程圖。如此處所示出的,將移動(dòng)設(shè)備的活動(dòng)分類可以包括:在一個(gè)時(shí)段中從多個(gè)傳感器中的每個(gè)傳感器采集505傳感器數(shù)據(jù)。可以融合510傳感器數(shù)據(jù)以產(chǎn)生與移動(dòng)設(shè)備的方向有關(guān)的多個(gè)指示中的每個(gè)指示的估值。每個(gè)估值可以被歸一化515,以及可以基于所歸一化的估值形成520表示移動(dòng)設(shè)備的活動(dòng)的多個(gè)向量。然后可以基于所述多個(gè)向量將在該時(shí)段中移動(dòng)設(shè)備的活動(dòng)分類525。
[0057]例如,分類方法可以在二維圖形表示或者三維圖形表示上繪出數(shù)據(jù)點(diǎn)。大量的分類技術(shù)可以做到這一點(diǎn)。示例性算法是k_最近鄰算法。對(duì)于新的未分類的點(diǎn),該算法找到k_最近點(diǎn),其中所用的距離的量度是歐幾里得距離。然后應(yīng)用多數(shù)決定原則,即,如果與組B相比,該新的未分類的點(diǎn)更靠近組A中更多的點(diǎn),則其將被分類為組A的部分。這些組可包括上文提到的任一類別(即,運(yùn)動(dòng)或者靜止)或者子類別。
[0058]確定速度
[0059]如果移動(dòng)設(shè)備的用戶的當(dāng)前活動(dòng)級(jí)別被確定為運(yùn)動(dòng)(即,不是靜止的),則本發(fā)明的實(shí)施方式可以繼續(xù)進(jìn)行以確定用戶的速度。此處描述的實(shí)施方式可以用來區(qū)分用戶步行時(shí)的速度,以及識(shí)別和區(qū)分徒步和輪式運(yùn)輸(輪椅、自行車等)方法。正如所描述的與運(yùn)動(dòng)狀態(tài)(運(yùn)動(dòng)與靜止)有關(guān)的實(shí)施方式,當(dāng)運(yùn)動(dòng)發(fā)生時(shí),這些實(shí)施方式關(guān)注通過分析由傳感器(加速度計(jì)、回轉(zhuǎn)儀、磁力計(jì))所提供的特定數(shù)據(jù)模式確定速度,以表征不同速度下所生成的模式。機(jī)器學(xué)習(xí)算法根據(jù)重復(fù)的復(fù)核試驗(yàn)可以將這些值表示為數(shù)據(jù)集群,這可以針對(duì)每個(gè)新的數(shù)據(jù)值預(yù)測(cè)速度。
[0060]圖6示出用來表征每個(gè)數(shù)據(jù)集的機(jī)器學(xué)習(xí)算法的結(jié)果。例如,對(duì)于特定的速度,來自加速度計(jì)和回轉(zhuǎn)儀中的每一個(gè)的讀數(shù)的平均值和標(biāo)準(zhǔn)偏差可以用來表征該速度。這些數(shù)字可以采集在特征向量中。然后,每個(gè)速度可以通過其唯一的特征向量集群來表征。這構(gòu)成參考數(shù)據(jù)集群605、610或者615。當(dāng)采集一些新數(shù)據(jù)620和625時(shí),其特征向量可以被計(jì)算,然后通過將其分配至數(shù)據(jù)集群605、610、615之一,與參考數(shù)據(jù)集比較以確定速度。
[0061]圖7是示出根據(jù)本發(fā)明的一個(gè)實(shí)施方式的用于確定速度的方法的流程圖。如在該示例中所示出的,確定移動(dòng)設(shè)備的速度可以包括:針對(duì)多個(gè)傳感器數(shù)據(jù)讀數(shù)中的每個(gè)讀數(shù)計(jì)算705平均值和標(biāo)準(zhǔn)偏差。基于每個(gè)所計(jì)算的平均值和標(biāo)準(zhǔn)偏差,可以生成710特征向量。所生成的特征向量可以與參考數(shù)據(jù)集比較715,以及基于所述比較,每個(gè)特征向量可以被分配720到一個(gè)集群。然后基于集群的特征向量數(shù)據(jù)可以確定725移動(dòng)設(shè)備的速度??梢允褂酶鞣N方法完成將新值分配到其中一個(gè)參考集群的過程。下文描述一些方法,但不是所有的方法。
[0062]最小平方誤差-在該方法中,可以從每個(gè)訓(xùn)練向量減去測(cè)試特征向量。得到的向量可以被求平方值,然后可以計(jì)算元素的總和。具有最小值的結(jié)果可以被選擇作為對(duì)于該數(shù)據(jù)集的預(yù)測(cè)速度。下列方法與上述方法的不同之處在于:對(duì)于上述方法,每個(gè)速度可以通過唯一的特征向量來分類。在以下描述的方法中,每個(gè)速度可以通過點(diǎn)云而不是在特征空間中的單一點(diǎn)來分類。對(duì)于每個(gè)速度的云可以與高維特征空間中的其他云分開,從而當(dāng)新特征點(diǎn)出現(xiàn)時(shí),其相對(duì)于云而不是單一點(diǎn)的位置決定其屬于哪個(gè)速度分類。在高維特征空間中,屬于不同速度的云是可分離的,使得新的數(shù)據(jù)可以根據(jù)其最靠近的云來分類。
[0063]K-最近鄰-給定類似于上文描述的訓(xùn)練集云,如果新的測(cè)試特征向量需要被分類,則找到其在特征空間中最近鄰的‘k’(其中‘k’是某個(gè)整數(shù))。根據(jù)大多數(shù)的“k”近鄰屬于哪一類,測(cè)試特征向量可以相應(yīng)地被分類。
[0064]樸素貝葉斯(Nalive Bayes )分類-樸素貝葉斯分類器是基于概率建立在貝葉斯定理上的統(tǒng)計(jì)技術(shù)。他們假設(shè):給定類變量,類的特定特征的存在(或者不存在)與任何其他特征的存在(或者不存在)無關(guān)。
[0065]來自MATLAB的統(tǒng)計(jì)工具箱的線性分類器和二次分類器_這些分類器是在概念上類似于上文提到的在高維特征空間中具有點(diǎn)云的技術(shù)的技術(shù)。它們的不同之處在于決定兩個(gè)云之間的邊界的方式。在前者中邊界是線性的,而在后者中邊界是二次的。
[0066]本發(fā)明的實(shí)施方式還可以解釋與行人運(yùn)動(dòng)關(guān)聯(lián)的連續(xù)的速度變化。例如,回歸算法模型可以被實(shí)施以便能夠預(yù)測(cè)這些連續(xù)而非離散的速度。在這樣的模型中,特征的集合可以用來表征在特定速度下運(yùn)動(dòng)的模式。這些特征可包括:
[0067]1.Χ、Υ和Z用戶加速度(User Accelerat1n)的標(biāo)準(zhǔn)偏差。
[0068]2.X、Y和Z回轉(zhuǎn)儀的標(biāo)準(zhǔn)偏差。
[0069]3.利用傅里葉變換,X、Y和Z磁力計(jì)的原理頻率。
[0070]4.利用傅里葉變換,X、Y和Z重力讀數(shù)的原理頻率。
[0071]5.使用不同的計(jì)算方法(下文描述)的X、Y和Z磁力計(jì)的原理頻率。
[0072]6.利用與(5)相同的計(jì)算方法的Χ、Υ和Z重力的原理頻率。
[0073]這些量的不同排列可以用來構(gòu)成訓(xùn)練特征向量。對(duì)于新的測(cè)試數(shù)據(jù)集,在每一時(shí)亥IJ,特征向量可以被計(jì)算(使用對(duì)應(yīng)于在訓(xùn)練集中所用的特征的特征)以及可以被輸入不同的機(jī)器學(xué)習(xí)模型以從每個(gè)方法返回所預(yù)測(cè)的速度。
[0074]如上文所述,在計(jì)算速度值中可以使用這些特征。此外,可以采用這些特征的不同組合運(yùn)行計(jì)算以進(jìn)一步改善該算法。然而,在每個(gè)情況中,該模型可包括在上文提到的每個(gè)特征組中的來自所有三個(gè)軸線的數(shù)據(jù)。這有助于防止該模型朝向該設(shè)備的特定方向偏離。下文描述了在開發(fā)這些模型中可以使用的一些可能的機(jī)器學(xué)習(xí)方法。
[0075]分類模型
[0076]最小均方誤差方法。可以對(duì)用于每個(gè)速度的訓(xùn)練數(shù)據(jù)求平均值以發(fā)現(xiàn)表征該特定速度的平均訓(xùn)練速度向量。在某種意義上,在高維特征空間中,這可以表示特定速度集群的集群中心。對(duì)于測(cè)試特征向量,可以計(jì)算其到每個(gè)訓(xùn)練集群中心的歐幾里得距離。特定測(cè)試特征向量最靠近的集群中心可以被預(yù)測(cè)為對(duì)于該特定測(cè)試特征向量的速度。
[0077]K-最近鄰預(yù)測(cè)。訓(xùn)練數(shù)據(jù)在高維特征空間中可以如同前一情況中一樣分布。對(duì)于測(cè)試特征向量,其最近鄰可以被發(fā)現(xiàn),以及那些最近鄰的大多數(shù)的速度可以被用作特定測(cè)試特征向量的預(yù)測(cè)速度。
[0078]線性分類。這是來自MATLAB庫函數(shù)的算法。在高維特征空間中,其繪出在不同的訓(xùn)練速度集群之間的線性判別邊界,且根據(jù)新的測(cè)試特征向量位于哪個(gè)區(qū)域中預(yù)測(cè)該新的測(cè)試特征向量的速度。
[0079]2.回歸模型
[0080]未加權(quán)的線性回歸。這是機(jī)器學(xué)習(xí)中的通過訓(xùn)練數(shù)據(jù)的不同集群大體繪出直線的方法。在關(guān)于數(shù)據(jù)的某些統(tǒng)計(jì)假設(shè)下,未加權(quán)的線性回歸導(dǎo)致數(shù)據(jù)的最優(yōu)擬合線(在較高的維數(shù)中,其將不是直線而是超平面)。訓(xùn)練數(shù)據(jù)表示在各個(gè)速度下的運(yùn)動(dòng)。因此采用通過線性回歸所產(chǎn)生的超平面,預(yù)測(cè)具有合理精度的中間速度是可行的。
[0081]加權(quán)線性回歸。該方法理論上解釋了在某些情況中嚴(yán)重影響線性回歸的性能的變化。例如,在不同速度下的訓(xùn)練集群可能不是線性相關(guān)的。因此,用于這樣的數(shù)據(jù)的最佳擬合直線將不充分地捕獲數(shù)據(jù)中的關(guān)系。因此,在加權(quán)的線性回歸中,當(dāng)對(duì)給定的測(cè)試特征向量做出預(yù)測(cè)時(shí),該過程是不同的。該方法將更多的權(quán)重置于更接近測(cè)試特征向量(在一些歐幾里得的意義中)的那些訓(xùn)練樣本上,且將它們用作比更遠(yuǎn)離的那些樣本更重要的預(yù)測(cè)因子。在該情況中的權(quán)重基于通過下式給出的指數(shù)函數(shù)來決定:
[0082]
吏于樣咩厶.\.約重 二 CXJ):.........................:.............二..............................:'..............:
[0083]這看上去非常類似于高斯分布,但是不相同。值σ是控制隨著項(xiàng)值的增大權(quán)重下降多快的下降參數(shù)。對(duì)于該組實(shí)驗(yàn),發(fā)現(xiàn)σ =0.1給出了合理的結(jié)果。
[0084]與之前的方法不同,在之前的方法中,與真實(shí)值相比,距離估值通常以指數(shù)方式增長較大(且較不精確),此處描述的方法在速度范圍上提供了明顯更精確的速度估值。此夕卜,當(dāng)訓(xùn)練數(shù)據(jù)的數(shù)據(jù)庫增大以考慮個(gè)人的身體類型和在對(duì)象的人上的設(shè)備布置之間的變化時(shí),結(jié)果的總精度將改善。
_5] 確定前進(jìn)方向
[0086]在所有時(shí)刻(包括當(dāng)設(shè)備不旋轉(zhuǎn)時(shí))在回轉(zhuǎn)數(shù)據(jù)中存在少量的噪聲,因此,單純的集成會(huì)導(dǎo)致不可接受的漂移。為了防止這一點(diǎn),當(dāng)角速度的大小超過一定閾值時(shí),前進(jìn)方向算法可以考慮待旋轉(zhuǎn)的設(shè)備。噪聲大小在這些設(shè)備之間變化,因此,基于從每個(gè)設(shè)備或者設(shè)備類型檢查噪聲的樣品,該閾值可以被硬編碼成程序。當(dāng)然,當(dāng)設(shè)備正在旋轉(zhuǎn)時(shí),該噪聲仍然存在,因此,前進(jìn)方向仍會(huì)隨著時(shí)間漂移。在計(jì)算前進(jìn)方向的初始估值之后,下文將描述的各種方法可以用來幫助校正該漂移。
[0087]圖8是示出根據(jù)本發(fā)明的一個(gè)實(shí)施方式的用于確定前進(jìn)方向的方法的流程圖。如在該示例中所示出的,確定移動(dòng)設(shè)備的前進(jìn)方向可以包括:確定805 —組角速度數(shù)據(jù)的大小??梢源_定810該大小是否超出預(yù)定義的閾值。響應(yīng)于確定810該大小超出預(yù)定義的閾值,可以將移動(dòng)設(shè)備視為815正在旋轉(zhuǎn)。然后針對(duì)隨時(shí)間的漂移可以校正820傳感器數(shù)據(jù),以及可以將校正后的傳感器數(shù)據(jù)記錄825為移動(dòng)設(shè)備的前進(jìn)方向。在前進(jìn)方向的初始估值被計(jì)算之后,以下方法可以用來幫助校正該漂移。
[0088]采用磁力計(jì)的傳感器融合
[0089]從理論上來說,通過使用移動(dòng)設(shè)備的磁力計(jì)來測(cè)量地球的磁場(chǎng),該磁場(chǎng)隨后可以用來找到該設(shè)備的絕對(duì)方向,前進(jìn)方向也可以被計(jì)算。該方法的問題是,磁力計(jì)獲得所有的磁場(chǎng),而不僅僅是地球的磁場(chǎng),因此由于金屬和電子設(shè)備所產(chǎn)生的磁場(chǎng)而在讀數(shù)中存在大量的噪聲。當(dāng)設(shè)備改變其與這些磁場(chǎng)的距離時(shí),該噪聲也變化很大,因此,濾除該噪聲極其困難,尤其是在沒有一些在環(huán)境中存在的磁場(chǎng)的先驗(yàn)知識(shí)的情況下。
[0090]然而,磁力計(jì)確實(shí)提供當(dāng)設(shè)備旋轉(zhuǎn)時(shí)經(jīng)歷一系列最大值和最小值的信號(hào)。由于在最日常的環(huán)境中存在的磁場(chǎng)的最大分量仍然是不變的地球磁場(chǎng),故在信號(hào)中的這些極值通常發(fā)生在同一方向,即,如果磁力計(jì)讀數(shù)在135°的前進(jìn)方向處達(dá)到最大值,則在該設(shè)備下一次處于135°的前進(jìn)方向時(shí),該讀數(shù)也將處于最大值。如果前進(jìn)方向的估值已經(jīng)建立,則本發(fā)明的實(shí)施方式可以通過尋找磁力計(jì)讀數(shù)中的極值,使用磁力計(jì)讀數(shù)來校正漂移。當(dāng)發(fā)現(xiàn)最大值時(shí),本發(fā)明的實(shí)施方式可以將當(dāng)前的前進(jìn)方向設(shè)置成等于最后的最大值處的該設(shè)備的前進(jìn)方向。
[0091]然而,由于噪聲將總是產(chǎn)生一系列不可預(yù)測(cè)地產(chǎn)生的局部極值,因此該方法不是非常簡單。通過應(yīng)用低通濾波器和計(jì)算移動(dòng)平均值,至少一些該噪聲可以被去除。為了處理剩余的噪聲,當(dāng)極值被檢測(cè)到時(shí)以及在調(diào)整前進(jìn)方向之前,本發(fā)明的實(shí)施方式可以檢查兩個(gè)條件。
[0092]一個(gè)檢查可以被表達(dá)為:在最新極值處的前進(jìn)方向的初始估值在最后的類似極值(“類似”極值是指,如果處于最大值,則尋找最后一個(gè)最大值)處所發(fā)現(xiàn)的前進(jìn)方向的一定公差內(nèi)嗎?如果當(dāng)前前進(jìn)方向與最后的前進(jìn)方向相差非常大的量,大于約30度,則該差值可能不是由于漂移。更可能是,在磁力計(jì)讀數(shù)中兩個(gè)最大值中的至少一個(gè)最大值是由于噪聲產(chǎn)生的局部最大值。
[0093]另一個(gè)檢查可以被表達(dá)為:在兩個(gè)極值處,前進(jìn)方向的估值是否相當(dāng)穩(wěn)定?由于所施加到磁力計(jì)信號(hào)的濾波技術(shù),故信號(hào)通常滯后于前進(jìn)方向估值,使得當(dāng)?shù)竭_(dá)磁力計(jì)信號(hào)中的極值時(shí),前進(jìn)方向已經(jīng)恒定一兩秒鐘。如果在磁力計(jì)信號(hào)到達(dá)其極值之前的某一時(shí)亥IJ,前進(jìn)方向?qū)⒃俅伍_始改變,則在當(dāng)前極值處的前進(jìn)方向會(huì)仍然在前一極值處的前進(jìn)方向的公差內(nèi),但是因?yàn)楫?dāng)前的極值不是真實(shí)地對(duì)應(yīng)當(dāng)前的前進(jìn)方向,故當(dāng)前在調(diào)整中將存在誤差;其對(duì)應(yīng)于0.5秒以前的前進(jìn)方向。例如,假設(shè),所計(jì)算的前進(jìn)方向在第一最大值處是75°且在第二最大值處是80°。由于80近似等于75,故認(rèn)為這兩個(gè)最大值是合法的(即,不是噪聲的結(jié)果)且在5度之內(nèi)的差值是由于漂移,因此將當(dāng)前前進(jìn)方向從80°變化至75°。但是如果在第二最大值之前該設(shè)備旋轉(zhuǎn)10度,那么在該最大值處前進(jìn)方向估值實(shí)際上是70°將會(huì)怎樣?這仍然在公差內(nèi),因此假定該差值是由于漂移而非噪聲,但是如果用75°代替70°的估值,則因?yàn)樵阱e(cuò)誤的方向上做出校正,故這將加重漂移。該估值實(shí)際上漂移+5度,但是由于在磁力計(jì)信號(hào)中的滯后,做出-5度的漂移校正。因此,實(shí)際的當(dāng)前前進(jìn)方向是65°但是記錄75°的前進(jìn)方向,在該估值中加倍了該漂移。為了防止該誤差,本發(fā)明的實(shí)施方式可以檢查在每個(gè)最大值處的前進(jìn)方向在過去的X個(gè)取樣中沒有明顯改變。
[0094]環(huán)境映射
[0095]該方法利用這樣的事實(shí):人的運(yùn)動(dòng)通常被限制到非常明確的路徑。例如,在辦公大樓中的人一定是被墻壁、走廊和其他障礙物所限定的步行模式。當(dāng)算法追蹤對(duì)象的位置和位移時(shí),其可以檢查位置的當(dāng)前估值與之前計(jì)算的位置。如果對(duì)象沿著類似于對(duì)象已經(jīng)采用的路徑的方向和位置的路徑行進(jìn),則本發(fā)明的實(shí)施方式可以推斷,這是由于物理限制(例如,走廊)或者習(xí)慣或習(xí)俗,對(duì)象通常采用的明確的路徑。因此,當(dāng)估計(jì)對(duì)象的運(yùn)動(dòng)類似于前面所建立的模式時(shí),本發(fā)明的實(shí)施方式可以認(rèn)為,對(duì)象實(shí)際上重復(fù)相同的模式且在前進(jìn)方向或者位置中的任一小的差值是誤差。這提供了幫助防止計(jì)算中的漂移的另一方法。如果算法最初估計(jì)用戶沿著所建立的路徑行走但是估計(jì)前進(jìn)方向與路徑的方向相差20° (如當(dāng)用戶首先建立該路徑時(shí)所估計(jì)的),則在前進(jìn)方向估值中的一些漂移已經(jīng)發(fā)生是可能的,本發(fā)明的實(shí)施方式可以解釋這一點(diǎn)。
[0096]基于關(guān)于路徑往往是有組織的的假設(shè),本發(fā)明的實(shí)施方式也可以對(duì)我們的位置計(jì)算進(jìn)行調(diào)整。例如,在辦公大樓中的走廊可能平行于或者垂直于彼此。尤其兩個(gè)走廊不可能彼此成小的角度,如10度。這意味著,本發(fā)明的實(shí)施方式可以將用戶的當(dāng)前路徑的前進(jìn)方向與用戶已經(jīng)采用的所有前面的路徑比較。如果當(dāng)前路徑接近平行于前一路徑,則本發(fā)明的實(shí)施方式可以推斷,兩個(gè)路徑最可能被認(rèn)為是平行的且前進(jìn)方向中的小的差值是由于本發(fā)明的實(shí)施方式可以校正的漂移。
[0097]方法的比較
[0098]磁力計(jì)方法的最大優(yōu)勢(shì)是所做出的假設(shè)比在環(huán)境映射方法中的那些假設(shè)通常更有效。所做出的唯一假設(shè)是在環(huán)境中的磁場(chǎng)是相當(dāng)恒定的,且量級(jí)的變化小于磁場(chǎng)的平均強(qiáng)度。由于在最日常的環(huán)境中的主導(dǎo)磁場(chǎng)源是地球的磁場(chǎng),本發(fā)明的實(shí)施方式將該地球的磁場(chǎng)看做是恒定的(其是變化的,但是其不是足夠快以與本申請(qǐng)相關(guān)),該假設(shè)通常有效的。普通人例如當(dāng)他們走過打開的電視機(jī)時(shí)仍然可能偶然經(jīng)歷他們所處的磁場(chǎng)中的大的波動(dòng),但是上述保障措施看起來可靠地忽略這些事件,雖然來自磁力計(jì)的原始數(shù)據(jù)充滿噪聲,但是該算法不曲解任一該噪聲。
[0099]該方法的缺點(diǎn)是由于其尋找磁力計(jì)數(shù)據(jù)中的極值,因此在算法可以校正任一漂移之前,對(duì)象應(yīng)該旋轉(zhuǎn)180度。上述算法將最大值與其他最大值比較以及將最小值與其他最小值比較,但是由于那些前進(jìn)方向應(yīng)該彼此成180度,故可以校正在最小值處的前進(jìn)方向以及在最大值處的前進(jìn)方向。
[0100]相比之下,采用環(huán)境映射方法的校正的質(zhì)量非常依賴于關(guān)于對(duì)象移動(dòng)的方式所做出的假設(shè)的有效性。這可以是優(yōu)點(diǎn),因?yàn)樵摲椒ú灰资艿皆肼晹?shù)據(jù)的影響,但是在大量的環(huán)境變量中的算法因子是一致的,這導(dǎo)致其比磁力計(jì)算法更復(fù)雜。
[0101]用于確定行人前進(jìn)方向的細(xì)化
[0102]該部分描述了對(duì)前進(jìn)方向算法的改進(jìn)使得其可以估計(jì)用戶所采用的路徑,該用戶在其口袋中攜帶設(shè)備(電話)或者在其肩部上的計(jì)算機(jī)包中攜帶設(shè)備(平板電腦)。如果滿足下列兩個(gè)條件,則采用用戶的口袋中的設(shè)備,本發(fā)明的實(shí)施方式可以獲得前進(jìn)方向的估值:
[0103]1.在每個(gè)步驟所采用的一些點(diǎn)處,該設(shè)備被取向使得其軸線之一接近對(duì)齊于地球的重力。
[0104]2.每當(dāng)該設(shè)備以該方式對(duì)齊時(shí),其處于相對(duì)于所采用的路徑的同一方向上。
[0105]當(dāng)該設(shè)備豎向?qū)R時(shí),本發(fā)明的實(shí)施方式可知與重力沒有對(duì)齊的兩個(gè)軸線處于水平面上,以及本發(fā)明的實(shí)施方式可以使用這些軸線上的磁力讀數(shù)以計(jì)算前進(jìn)方向。即使該前進(jìn)方向與用戶的實(shí)際前進(jìn)方向不同,然而如果在用戶的前進(jìn)方向和設(shè)備的前進(jìn)方向之間的差值是恒定的,則其仍然可以用來繪出所采用的路徑的形狀。
[0106]下文給出在算法中的步驟概要:
[0107]1.識(shí)別當(dāng)用戶行走時(shí)將與水平面對(duì)齊的兩個(gè)軸線,且使用在這些軸線上的磁力計(jì)讀數(shù)以獲得前進(jìn)方向估值。在該步驟中創(chuàng)建的向量將稱為原始前進(jìn)方向(raw_heading)。
[0108]2.對(duì)于每個(gè)數(shù)據(jù)點(diǎn),如果在第三軸線上所測(cè)量的重力向量的大小接近lg,則將該點(diǎn)處的原始前進(jìn)方向保存在新前進(jìn)方向向量中。另外,將新前進(jìn)方向向量中的最后的輸入保存為該點(diǎn)的前進(jìn)方向。在該步驟中所創(chuàng)建的向量將被稱為第一前進(jìn)方向(first_heading)。
[0109]3.計(jì)算新向量的移動(dòng)中值以濾除噪聲。在該步驟中所創(chuàng)建的向量將被稱為第二前進(jìn)方向(second_heading) ο
[0110]4.使用以下方法進(jìn)一步對(duì)前進(jìn)方向向量濾波:
[0111](a)重建在一些點(diǎn)處的第一前進(jìn)方向估值,在這些點(diǎn)處,在第一前進(jìn)方向和第二前進(jìn)方向之間存在大的差值(這是第三前進(jìn)方向(third_heading))。
[0112](b)對(duì)于每個(gè)點(diǎn),將在該點(diǎn)處的原始前進(jìn)方向信號(hào)與在之前的點(diǎn)中的原始前進(jìn)方向比較。如果發(fā)現(xiàn)前一點(diǎn)類似于當(dāng)前點(diǎn),則拷貝在前一點(diǎn)處的第三前進(jìn)方向估值且將其保存作為在當(dāng)前點(diǎn)處的前進(jìn)方向估值(這是第四前進(jìn)方向(fourth_heading))。
[0113](C)重建在一些點(diǎn)處的第一前進(jìn)方向估值,在這些點(diǎn)處,在第四前進(jìn)方向和第一前進(jìn)方向的估值之間存在大的一致的差值(這是第五前進(jìn)方向(fifth_heading))。
[0114](d)舍棄在前進(jìn)方向快速變化的區(qū)域中的前進(jìn)方向估值。采用間隙之前的估值填充間隙的第一半,采用間隙之后的前進(jìn)方向填充第二半(這是最后的前進(jìn)方向(final_heading))。
[0115]5.通過使用最后的前進(jìn)方向以及假定用戶以恒定的速度移動(dòng),開始繪出所采用路徑的地圖。
[0116](a)對(duì)于到目前為止所計(jì)算的坐標(biāo),找到最佳擬合(直)線。
[0117](b)如果所計(jì)算的路徑開始改變使得單一的直線不能充分地表示它,則保存最佳地表示到目前為止所收集的數(shù)據(jù)的線,開始新的最佳擬合線以表示自前一線結(jié)束以來所計(jì)算的位置點(diǎn)。
[0118](C)當(dāng)最佳擬合線結(jié)束且被保存時(shí),將其與已經(jīng)保存的最佳擬合線比較,檢查平行的線或者相同的線。
[0119](d)如果發(fā)現(xiàn)前一線接近平行于第一線,則假定兩個(gè)路徑實(shí)際上平行以及計(jì)算中的差值是由于誤差。調(diào)整與當(dāng)前的最佳擬合線相關(guān)的位置點(diǎn)使得平行于前一線。
[0120](e)如果前一線被發(fā)現(xiàn)接近平行于當(dāng)前線且位置也靠近當(dāng)前線,則假定這兩條線實(shí)際上是同一路徑。調(diào)整與當(dāng)前的最佳擬合線相關(guān)的位置點(diǎn)使得它們處于與前一線相同的路徑上。
[0121](f)檢查開始最新的最佳擬合線的點(diǎn)是否是角點(diǎn),如果是,則檢查其是否匹配任一前面的角點(diǎn)。如果確實(shí)是這樣,則移動(dòng)最新的角點(diǎn)以與所發(fā)現(xiàn)的前面的角點(diǎn)重疊。
[0122]使用以下邏輯,可以計(jì)算原始前進(jìn)方向:
[0123]如果在軸線I (ml)上的磁力計(jì)讀數(shù)大于零
[0124]原始前進(jìn)方向=-90_atan(m2/ml)
[0125]否則
[0126]原始前進(jìn)方向=90- atan(m2/ml)
[0127]如此處的描述,通過視覺檢查在所有的三個(gè)軸線上采集的重力數(shù)據(jù),識(shí)別與水平面對(duì)齊的兩個(gè)軸線。不接近Ig的這兩個(gè)軸線被識(shí)別為穿過水平面的軸線。通過采用在三個(gè)軸線中所測(cè)量的重力平均值的絕對(duì)值以及選擇具有較小值的兩個(gè)軸線,可以將該識(shí)別編碼。
[0128]圖9是示出根據(jù)本發(fā)明的一個(gè)實(shí)施方式的用于繪制位置信息的方法的流程圖。如在該示例中所示,繪制移動(dòng)設(shè)備的路徑可以包括:識(shí)別905移動(dòng)設(shè)備所移動(dòng)的平面的多個(gè)軸線中的每個(gè)軸線?;趥鞲衅鲾?shù)據(jù),可以確定910和915沿著所識(shí)別的軸線的第一前進(jìn)方向向量和沿著所識(shí)別的軸線的第二前進(jìn)方向向量。所確定910和915的前進(jìn)方向向量可以被濾波920,以及基于濾波后的前進(jìn)方向向量,在平面上可以繪出移動(dòng)設(shè)備的路徑的地圖。
[0129]圖10是示出根據(jù)本發(fā)明的一個(gè)實(shí)施方式的用于濾波前進(jìn)方向信息的示例性方法的流程圖。如此處所示出的,濾波所確定的前進(jìn)方向向量可以包括:當(dāng)?shù)谝磺斑M(jìn)方向向量和第二前進(jìn)方向向量之間的差值被確定為大時(shí),將第一前進(jìn)方向向量存儲(chǔ)1005為第三前進(jìn)方向向量。當(dāng)前一點(diǎn)的前進(jìn)方向與當(dāng)前點(diǎn)的前進(jìn)方向一致時(shí),第三前進(jìn)方向向量可以被拷貝1010到第四前進(jìn)方向向量。當(dāng)在第一前進(jìn)方向向量和第四前進(jìn)方向向量之間存在大的一致的差值時(shí),可以將第一前進(jìn)方向向量存儲(chǔ)1015為第五前進(jìn)方向向量。指示快速變化的前進(jìn)方向向量可以被丟棄1020,以及基于所丟棄的前進(jìn)方向向量的前面的前進(jìn)方向向量和之后的前進(jìn)方向向量,通過所述丟棄所創(chuàng)建的間隙可以被填充。
[0130]圖11是示出根據(jù)本發(fā)明的一個(gè)實(shí)施方式的用于繪出位置信息的地圖的示例性方法的流程圖。如在該示例中所示,繪出移動(dòng)設(shè)備的路徑的地圖可以包括:找到1105用于所接收的信息的當(dāng)前的最佳擬合線。當(dāng)前的最佳擬合線可以與前面保存的線比較1110。響應(yīng)于確定1115當(dāng)前的最佳擬合線接近平行于前面保存的線,當(dāng)前的最佳擬合線可以被調(diào)整1120成平行于前面保存的線。響應(yīng)于確定1125當(dāng)前的最佳擬合線的位置接近前面保存的線,當(dāng)前的最佳擬合線的位置可以被調(diào)整1130以匹配前面保存的線的位置。響應(yīng)于確定1135當(dāng)前的最佳擬合線包括角點(diǎn)以及響應(yīng)于確定1140當(dāng)前的最佳擬合線的角點(diǎn)匹配前面保存的線的角點(diǎn),當(dāng)前的最佳擬合線的點(diǎn)可以被調(diào)整1145以匹配前面保存的線的點(diǎn)。
[0131]獲得第一前進(jìn)方向-除了檢查在第三軸線上所測(cè)量的重力是否接近Ig之外,該算法還可以檢查更多個(gè)條件,這些條件有助于指示在該點(diǎn)的前進(jìn)方向估值多么精確。例如,可以檢查在該軸線上的重力信號(hào)是否處于最大值。如果是,則該設(shè)備與將進(jìn)行的特定步驟一樣接近豎向,這意味著其將可能提供最佳的前進(jìn)方向估值。如果重力信號(hào)不處于最大值,則可以忽略在該點(diǎn)處的前進(jìn)方向估值。算法還可以檢查磁場(chǎng)強(qiáng)度信號(hào)的斜度。理論上來說,如果僅存在的磁場(chǎng)是地球的磁場(chǎng),則當(dāng)用戶四處走動(dòng)時(shí)磁場(chǎng)強(qiáng)度不應(yīng)該改變成足以通過磁力計(jì)獲取。由于小磁噪聲的各種來源以及磁力計(jì)中的缺陷,所測(cè)量的強(qiáng)度將幾乎總是變化小的但明顯的量,但是如果強(qiáng)度快速變化大的量,則這最可能是由于大的噪聲源,這將致使前進(jìn)方向估值不可靠。如果磁場(chǎng)強(qiáng)度的斜度超過一定閾值,則在該點(diǎn)處的前進(jìn)方向可以被忽略。在水平面中所測(cè)量的磁場(chǎng)強(qiáng)度也可以被檢查,因?yàn)槿绻谳S線之一上的測(cè)量在正數(shù)和負(fù)數(shù)之間波動(dòng),則這會(huì)導(dǎo)致不可靠的前進(jìn)方向測(cè)量。為了說明這一點(diǎn),假設(shè),在水平軸線上的磁力計(jì)測(cè)量IuT和IuT的磁場(chǎng)強(qiáng)度,但是IuT讀數(shù)之一有時(shí)跳躍到-luT。在第一種情況下,所測(cè)量的前進(jìn)方向?qū)⒂?jì)算為-90-atan (I),其是-135度,但是在第二種情況中,前進(jìn)方向?qū)⑹?0-atan(-l),其是135度。如果在水平面中的磁場(chǎng)強(qiáng)度低于一定閾值,則本發(fā)明的實(shí)施方式可以忽略在該點(diǎn)處的前進(jìn)方向計(jì)算值。
[0132]獲得第二前進(jìn)方向-移動(dòng)中值是感興趣的數(shù)據(jù)點(diǎn)周圍的數(shù)據(jù)點(diǎn)的集合的中值。例如,每次考慮向量[7 3 11 -2 5 6]且采用三個(gè)數(shù)據(jù)點(diǎn)的移動(dòng)中值,得到的向量將是[77 3 5 5 5]。對(duì)于每個(gè)數(shù)據(jù)點(diǎn),采用由所考慮的點(diǎn)以及其之前和之后的點(diǎn)組成的樣本的中值,所以對(duì)于第三輸入11,對(duì)于該點(diǎn)的中值是樣本[3 11 -2]的中值。對(duì)于第一向量的開始和結(jié)束時(shí)的數(shù)據(jù)點(diǎn),其中沒有足夠的周圍數(shù)據(jù)點(diǎn)以得到足夠大的樣本尺寸,代用具有足夠大的樣本的最接近數(shù)據(jù)點(diǎn)的中值。對(duì)于在向量中的第一輸入7,在其之前不存在數(shù)據(jù)點(diǎn),使得下一輸入3的中值被用作第一輸入的中值。
[0133]獲得第三前進(jìn)方向-由于當(dāng)在磁場(chǎng)強(qiáng)度中存在大的峰值時(shí),該算法忽略前進(jìn)方向計(jì)算,故不應(yīng)該存在剩余噪聲的極大的任何峰值。因此,如果在任一點(diǎn)處的第一前進(jìn)方向和第二前進(jìn)方向之間存在異常大的差值(大約90度),則變化可能是由于前進(jìn)方向中的真實(shí)變化,因此本發(fā)明的實(shí)施方式可以取消通過采用該點(diǎn)處的中值產(chǎn)生的濾波,以及重建在第一前進(jìn)方向中存在的前進(jìn)方向估值。
[0134]獲得第四前進(jìn)方向-如果對(duì)于信號(hào)的一些部分,濾波迄今不產(chǎn)生非常好的結(jié)果,則該步驟是冗余的形式。數(shù)學(xué)上識(shí)別原始前進(jìn)方向信號(hào)的兩部分表示相同的前進(jìn)方向的最簡單的方式是比較在每個(gè)部分處的移動(dòng)平均值。本發(fā)明的實(shí)施方式將在當(dāng)前點(diǎn)處的原始前進(jìn)方向的移動(dòng)平均值與直到目前索引之前的五十個(gè)樣本的之前的點(diǎn)處的移動(dòng)平均值比較。如果發(fā)現(xiàn)移動(dòng)平均值接近當(dāng)前的移動(dòng)平均值的部分以及在兩部分處的平均值相當(dāng)穩(wěn)定(通過比較移動(dòng)平均值的斜度與閾值所確定的),則本發(fā)明的實(shí)施方式可以假設(shè)用戶在兩個(gè)部分處處于同一前進(jìn)方向上,因此本發(fā)明的實(shí)施方式可以采用在前一部分處所確定的前進(jìn)方向且將其記錄作為當(dāng)前索引處的前進(jìn)方向。確保在每個(gè)點(diǎn)處平均值變化不太大是重要的,這是因?yàn)楫?dāng)信號(hào)改變時(shí),前進(jìn)方向估值不是非??煽?。
[0135]獲得第五前進(jìn)方向-在被濾除的變化可能不是噪聲的情況下,該步驟是取消中值濾波的另一嘗試。當(dāng)用戶在右轉(zhuǎn)后不久(大約2秒)進(jìn)行左轉(zhuǎn)時(shí),或者反之亦然,原始前進(jìn)方向?qū)@示通過采用移動(dòng)中值得到去除的駝峰。通常,當(dāng)所濾波的前進(jìn)方向和原始前進(jìn)方向疊置時(shí),可以看出,原始前進(jìn)方向信號(hào)總是穿過所濾波的前進(jìn)方向信號(hào),通常在每一腳步中。然而,在該情況中,對(duì)于異常長的時(shí)間(大約2秒),該駝峰停留在所濾波的前進(jìn)方向的一側(cè)上。通過追蹤在所濾波的前進(jìn)方向和原始前進(jìn)方向之間的區(qū)域,該塊檢查這樣的駝峰。如果存在對(duì)于長的時(shí)間段原始前進(jìn)方向和所濾波的前進(jìn)方向相差相當(dāng)多的部分,則該部分可能指示快速左轉(zhuǎn)或者右轉(zhuǎn),以及第一前進(jìn)方向估值被重建。
[0136]獲得最后的前進(jìn)方向-當(dāng)設(shè)備的方向改變時(shí),磁力計(jì)讀數(shù)常常不是可靠到足以獲得良好的前進(jìn)方向估值。本發(fā)明的實(shí)施方式通過忽略當(dāng)信號(hào)非??焖俚馗淖儠r(shí)的前進(jìn)方向計(jì)算解決了該問題以及通過將間隙之前的前進(jìn)方向分配到間隙的第一半以及將間隙之后的前進(jìn)方向分配到間隙的第二半來填充該間隙。本發(fā)明的實(shí)施方式通過采用移動(dòng)平均值以及將每個(gè)點(diǎn)處的移動(dòng)平均值的斜度與閾值比較,確定信號(hào)是否變化太快。例如,如果前進(jìn)方向在點(diǎn)99處是O度以及在點(diǎn)151處是90度以及點(diǎn)100至點(diǎn)150的標(biāo)準(zhǔn)偏差超過閾值,則點(diǎn)100至點(diǎn)125將給予O的前進(jìn)方向,以及點(diǎn)126至點(diǎn)150將給予90的前進(jìn)方向。
[0137]找到最佳擬合線-當(dāng)每個(gè)新的點(diǎn)被添加到地圖時(shí),發(fā)現(xiàn)用于當(dāng)前路徑的最佳擬合線。為了找到該線,構(gòu)建兩個(gè)矩陣。一個(gè)矩陣只是包含y坐標(biāo)值的豎向向量。第二個(gè)矩陣是具有兩列的矩陣,其中,第一列包含這些I坐標(biāo)值的豎向向量以及第二列包含X坐標(biāo)值。MATLAB已經(jīng)重載反斜杠符使得執(zhí)行X\Y將返回矩陣Α、2x1矩陣,其中,第一項(xiàng)是y軸截距以及第二項(xiàng)是最佳擬合線的斜率。然后使用以下等式來計(jì)算關(guān)聯(lián)系數(shù)r2:
Λ,
[0138]Γ2 = ~~ 其中 SSxx=E (X1-Xavg)2
^ >..:1 ^ ^ ” ;,.
[0139]SSyy = Σ (Y1-Yavg)2
[0140]SSxy = Σ (X1-Xavg) (Y1-Yavg)
[0141]開始新的最佳擬合線-程序必須能夠識(shí)別何時(shí)結(jié)束一最佳擬合線和開始一新的最佳擬合線以表示路徑。該程序必須能夠辨認(rèn)。程序決定開始新線的時(shí)刻存在兩種不同的方式:
[0142]1.如果關(guān)聯(lián)系數(shù)(r2)低于一定閾值。
[0143]2.不管關(guān)聯(lián)性如何好,關(guān)聯(lián)系數(shù)連續(xù)下降一定次數(shù)。r2的連續(xù)下降通常指示用戶在角點(diǎn)的周圍。
[0144]在每個(gè)情況中,在算法決定開始新線之前,用來計(jì)算最佳擬合線的樣本數(shù)量必須滿足某一最小值。該規(guī)則的原因是:當(dāng)嘗試將線擬合到少量的數(shù)據(jù)點(diǎn)時(shí),當(dāng)添加更多的數(shù)據(jù)點(diǎn)時(shí),差的擬合通常變好,所以如果被擬合的點(diǎn)的數(shù)量小于樣本最小值(min_samples),則本發(fā)明的實(shí)施方式可以繼續(xù)添加更多的數(shù)據(jù)點(diǎn)到該擬合,即使r2值是低的。
[0145]尋找平行線-一旦一條最佳擬合線已經(jīng)結(jié)束并且保存,則將其與迄今為止已經(jīng)采集的描述所采用的路徑的擬合線比較以觀看其是否與其中的任一條平行。由于室內(nèi)環(huán)境通常布置成使得人在平行或者垂直于彼此的路徑中移動(dòng),因此該算法假定:如果兩條線的前進(jìn)方向在彼此的一定公差內(nèi),則它們表示的路徑可能平行。對(duì)于被認(rèn)為是平行于前一線的當(dāng)前線,前一線必須表示樣本的最小數(shù)量。對(duì)于這一點(diǎn)的原因是,偶然地,當(dāng)用戶的方向急劇變化時(shí),產(chǎn)生非常短的最佳擬合線。然而,該短的線不表示任一所行進(jìn)的真實(shí)距離,因此其前進(jìn)方向可能不反映房間中可用路徑的特征。例如,如果用戶以方形行走,則所采用的路徑將具有O度、90度、180度和-90度的前進(jìn)方向??赡苁?,當(dāng)嘗試?yán)L出角點(diǎn)時(shí),該算法將O度的路徑和90度的路徑與非常短的60度線連接。稍后,當(dāng)用戶沿著-90度的路徑行走時(shí),該算法不應(yīng)該決定該路徑平行于60度的路徑,因?yàn)?0度的前進(jìn)方向不反映關(guān)于用戶采用的真實(shí)路徑的任何信息。如果發(fā)現(xiàn)平行線,則對(duì)應(yīng)于最新的最佳擬合線的數(shù)據(jù)點(diǎn)圍繞恰好與較老的線平行的線的開始點(diǎn)旋轉(zhuǎn)。
[0146]當(dāng)找到平行線時(shí),該算法還可以檢查所設(shè)計(jì)的多個(gè)條件以確定兩個(gè)路徑是否實(shí)際上為相同的路徑。這些條件(點(diǎn)A和點(diǎn)B為新線的端點(diǎn);點(diǎn)I和點(diǎn)2為前一線的端點(diǎn))為:
[0147]1.點(diǎn)A接近點(diǎn)I以及點(diǎn)B接近點(diǎn)2 ?
[0148]2.點(diǎn)A接近點(diǎn)2以及點(diǎn)B接近點(diǎn)I ?
[0149]3.點(diǎn)A的X值在點(diǎn)I的X值和點(diǎn)2的X值之間?
[0150]4.點(diǎn)B的X值在點(diǎn)I的X值和點(diǎn)2的X值之間?
[0151]5.當(dāng)前線的新y軸截距在前一線的y軸截距的一定公差內(nèi)?
[0152]如果滿足條件(I)至條件(4)中的任一條件以及滿足條件(5),則兩個(gè)路徑可以被視為是相同的,在新線中包含的坐標(biāo)可以與舊線對(duì)齊。
[0153]與前面的角點(diǎn)比較-角點(diǎn)被定義成在兩個(gè)路徑之間的點(diǎn),其前進(jìn)方向相差至少45度。如果倒數(shù)第二個(gè)端點(diǎn)是角點(diǎn),則檢查其是否靠近前一角點(diǎn)且兩個(gè)角點(diǎn)是否具有相同的形狀,即,路徑的通向角點(diǎn)I的前進(jìn)方向類似于路徑的通向角點(diǎn)2的前進(jìn)方向以及同樣適用于角點(diǎn)之后的路徑?如果這樣,兩個(gè)角點(diǎn)可能是相同的,較新的角點(diǎn)可以被切換以匹配前一角點(diǎn)。這基本上是用來匹配當(dāng)前路徑與前面的路徑的相同的方法,但是因?yàn)楸景l(fā)明的實(shí)施方式是比較形狀而非僅比較直線,故角點(diǎn)被錯(cuò)誤地確認(rèn)為與另一角點(diǎn)相同是不太可能的。這意味著,用來比較兩個(gè)角點(diǎn)的斜度和位置的公差會(huì)較大,這使得可以校正漂移的更多極端的情況。
[0154]使用局部磁場(chǎng)波動(dòng)作為地標(biāo)-如上文的討論,在多數(shù)環(huán)境中的磁場(chǎng)通常是均勻的,且地球的磁場(chǎng)是某一數(shù)量級(jí)的主導(dǎo)信號(hào)。然而,可能存在其他源,其出現(xiàn)明顯的偏差。例如,冰箱或電視產(chǎn)生明顯的高度局部化的磁場(chǎng),我們已經(jīng)證明該磁場(chǎng)可以使用所測(cè)試的設(shè)備中的磁力計(jì)來測(cè)量。因此,通過繪制這些磁性波動(dòng)的區(qū)域以及將它們用作“磁性地標(biāo)”,可以擴(kuò)展和校正位置估值上的漂移,因此基本上繪出比較所估計(jì)的設(shè)備位置的磁性地形。換句話說,本發(fā)明的一個(gè)實(shí)施方式可包括:檢測(cè)移動(dòng)設(shè)備周圍的磁場(chǎng)中的波動(dòng),基于所檢測(cè)的波動(dòng)擴(kuò)展路徑的地圖,其中擴(kuò)展地圖包括:基于所檢測(cè)的波動(dòng),將一個(gè)或多個(gè)磁性地標(biāo)添加到地圖,以及基于所擴(kuò)展的地圖和當(dāng)前檢測(cè)的波動(dòng),校正用于移動(dòng)設(shè)備的位置估值。
[0155]在以上描述中,出于說明的目的,以特定的次序描述了方法。應(yīng)該理解,在替選實(shí)施方式中,方法可以以與所描述的次序不同的次序執(zhí)行。還應(yīng)該理解,上文所描述的方法可以通過硬件部件來執(zhí)行或者可以體現(xiàn)為機(jī)器可執(zhí)行指令序列,其可以用來使機(jī)器(諸如通用或?qū)S锰幚砥骰虿捎弥噶罹幊痰倪壿嬰娐?執(zhí)行該方法。這些機(jī)器可執(zhí)行指令可以存儲(chǔ)在一個(gè)或多個(gè)機(jī)器可讀介質(zhì)上,該機(jī)器可讀介質(zhì)例如為=CD-ROM或者其他類型的光盤、軟盤、ROM、RAM、EPROM、EEPR0M、磁卡或光卡、閃速存儲(chǔ)器、或者適于存儲(chǔ)電子指令的其他類型的機(jī)器可讀介質(zhì)??商孢x地,方法可以通過硬件和軟件的組合來執(zhí)行。
[0156]盡管本文已經(jīng)詳細(xì)描述了本發(fā)明的說明性的、當(dāng)前優(yōu)選的實(shí)施方式,然而應(yīng)該理解,另外可以以多種方式呈現(xiàn)和采用這些發(fā)明構(gòu)思,除了現(xiàn)有技術(shù)的限制之外,所附的權(quán)利要求書旨在理解成包括這樣的變型。
【權(quán)利要求】
1.一種用于定位和追蹤移動(dòng)設(shè)備的方法,所述方法包括: 從所述移動(dòng)設(shè)備內(nèi)的多個(gè)傳感器中的每個(gè)傳感器讀取傳感器數(shù)據(jù),所述傳感器提供所述傳感器數(shù)據(jù)而不依賴于來自所述移動(dòng)設(shè)備外部的設(shè)備的信號(hào);和基于所述傳感器數(shù)據(jù)確定所述移動(dòng)設(shè)備的運(yùn)動(dòng)、速度和前進(jìn)方向。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述多個(gè)傳感器包括:指南針、回轉(zhuǎn)儀和加速度計(jì)。
3.根據(jù)權(quán)利要求1所述的方法,其中,基于所述傳感器數(shù)據(jù)確定所述移動(dòng)設(shè)備的運(yùn)動(dòng)、速度和前進(jìn)方向包括: 將所述移動(dòng)設(shè)備的活動(dòng)分類為運(yùn)動(dòng)或靜止;和 響應(yīng)于將所述移動(dòng)設(shè)備的活動(dòng)分類為運(yùn)動(dòng),基于所述傳感器數(shù)據(jù)確定所述移動(dòng)設(shè)備的速度且基于所述傳感器數(shù)據(jù)確定所述移動(dòng)設(shè)備的前進(jìn)方向。
4.根據(jù)權(quán)利要求3所述的方法,其中,將所述移動(dòng)設(shè)備的活動(dòng)分類包括: 在一時(shí)段內(nèi)從所述多個(gè)傳感器中的每個(gè)傳感器采集傳感器數(shù)據(jù); 融合所述傳感器數(shù)據(jù)以產(chǎn)生對(duì)于與所述移動(dòng)設(shè)備的取向有關(guān)的多個(gè)指示中的每個(gè)指示的估值; 歸一化每個(gè)所述估值; 基于所歸一化的估值形成表示所述移動(dòng)設(shè)備的活動(dòng)的多個(gè)向量;以及 基于所述多個(gè)向量,將在所述時(shí)段內(nèi)的所述移動(dòng)設(shè)備的活動(dòng)分類。
5.根據(jù)權(quán)利要求3所述的方法,其中,確定所述移動(dòng)設(shè)備的速度包括: 針對(duì)多個(gè)傳感器數(shù)據(jù)讀數(shù)中的每個(gè)傳感器數(shù)據(jù)讀數(shù)計(jì)算平均值和標(biāo)準(zhǔn)偏差; 基于每個(gè)所計(jì)算的平均值和標(biāo)準(zhǔn)偏差生成特征向量; 將所生成的特征向量與參考數(shù)據(jù)集進(jìn)行比較; 基于所述比較將每個(gè)特征向量分配至集群; 基于所集群的特征向量數(shù)據(jù)確定所述移動(dòng)設(shè)備的速度。
6.根據(jù)權(quán)利要求3所述的方法,其中,確定所述移動(dòng)設(shè)備的前進(jìn)方向包括: 確定一組角速度數(shù)據(jù)的大??; 確定所述大小是否超出預(yù)定義的閾值;以及 響應(yīng)于確定所述大小超出所述預(yù)定義的閾值,將所述移動(dòng)設(shè)備視為正在旋轉(zhuǎn),針對(duì)隨時(shí)間的漂移校正所述傳感器數(shù)據(jù),以及將所校正的傳感器數(shù)據(jù)記錄為所述移動(dòng)設(shè)備的前進(jìn)方向。
7.根據(jù)權(quán)利要求3所述的方法,還包括繪制所述移動(dòng)設(shè)備的路徑,其中繪制所述路徑包括: 識(shí)別所述移動(dòng)設(shè)備所移動(dòng)的平面的多個(gè)軸線中的每個(gè)軸線; 基于所述傳感器數(shù)據(jù)確定沿著所識(shí)別的軸線的第一前進(jìn)方向向量; 基于所述傳感器數(shù)據(jù)確定沿著所識(shí)別的軸線的第二前進(jìn)方向向量; 對(duì)所確定的前進(jìn)方向向量進(jìn)行濾波;以及 基于所濾波的前進(jìn)方向向量在所述平面上繪出所述移動(dòng)設(shè)備的路徑的地圖。
8.根據(jù)權(quán)利要求7所述的方法,其中,對(duì)所確定的前進(jìn)方向向量進(jìn)行濾波包括: 當(dāng)在所述第一前進(jìn)方向向量和所述第二前進(jìn)方向向量之間的差值被確定為大時(shí),將所述第一前進(jìn)方向向量存儲(chǔ)為第三前進(jìn)方向向量; 當(dāng)前一點(diǎn)的前進(jìn)方向與當(dāng)前點(diǎn)的前進(jìn)方向一致時(shí),將所述第三前進(jìn)方向向量拷貝到第四前進(jìn)方向向量; 當(dāng)在所述第一前進(jìn)方向向量和所述第四前進(jìn)方向向量之間存在大的一致的差值時(shí),將所述第一前進(jìn)方向向量存儲(chǔ)為第五前進(jìn)方向向量; 丟棄指示快速變化的前進(jìn)方向向量;以及 基于所丟棄的前進(jìn)方向向量的前面的前進(jìn)方向向量和之后的前進(jìn)方向向量,填充通過所述丟棄所產(chǎn)生的間隙。
9.根據(jù)權(quán)利要求7所述的方法,其中,繪出所述移動(dòng)設(shè)備的路徑的地圖包括: 對(duì)于所接收的信息,找到當(dāng)前的最佳擬合線; 將所述當(dāng)前的最佳擬合線與前面保存的線比較; 響應(yīng)于確定所述當(dāng)前的最佳擬合線接近平行于前面保存的線,將所述當(dāng)前的最佳擬合線調(diào)整為平行于所述前面保存的線; 響應(yīng)于確定所述當(dāng)前的最佳擬合線的位置接近前面保存的線,調(diào)整所述當(dāng)前的最佳擬合線的位置以匹配所述前面保存的線的位置;以及 響應(yīng)于確定所述當(dāng)前的最佳擬合線包括角點(diǎn)以及響應(yīng)于確定所述當(dāng)前的最佳擬合線的角點(diǎn)匹配前面保存的線的角點(diǎn),調(diào)整所述當(dāng)前的最佳擬合線的點(diǎn)以匹配所述前面保存的線的點(diǎn)。
10.根據(jù)權(quán)利要求7所述的方法,還包括: 檢測(cè)所述移動(dòng)設(shè)備周圍的磁場(chǎng)中的波動(dòng); 基于所檢測(cè)的波動(dòng)擴(kuò)展所述路徑的地圖,其中,擴(kuò)展所述地圖包括:基于所檢測(cè)的波動(dòng)將一個(gè)或多個(gè)磁性地標(biāo)添加到所述地圖;以及 基于所擴(kuò)展的地圖和當(dāng)前檢測(cè)的波動(dòng),校正所述移動(dòng)設(shè)備的位置估值。
11.一種系統(tǒng),包括: 處理器;和 存儲(chǔ)器,所述存儲(chǔ)器聯(lián)接到所述處理器且能夠通過所述處理器讀取且所述存儲(chǔ)器中存儲(chǔ)有指令序列,所述指令序列當(dāng)通過所述處理器執(zhí)行時(shí)使所述處理器通過下列操作定位和追蹤移動(dòng)設(shè)備: 從所述移動(dòng)設(shè)備內(nèi)的多個(gè)傳感器中的每個(gè)傳感器讀取傳感器數(shù)據(jù),所述傳感器提供所述傳感器數(shù)據(jù)而不依賴于來自所述移動(dòng)設(shè)備外部的設(shè)備的信號(hào);和基于所述傳感器數(shù)據(jù)確定所述移動(dòng)設(shè)備的運(yùn)動(dòng)、速度和前進(jìn)方向。
12.根據(jù)權(quán)利要求11所述的系統(tǒng),其中,所述多個(gè)傳感器包括:指南針、回轉(zhuǎn)儀和加速度計(jì)。
13.根據(jù)權(quán)利要求11所述的系統(tǒng),其中,基于所述傳感器數(shù)據(jù)確定所述移動(dòng)設(shè)備的運(yùn)動(dòng)、速度和前進(jìn)方向包括: 將所述移動(dòng)設(shè)備的活動(dòng)分類為運(yùn)動(dòng)或靜止;和 響應(yīng)于將所述移動(dòng)設(shè)備的活動(dòng)分類為運(yùn)動(dòng),基于所述傳感器數(shù)據(jù)確定所述移動(dòng)設(shè)備的速度且基于所述傳感器數(shù)據(jù)確定所述移動(dòng)設(shè)備的前進(jìn)方向。
14.根據(jù)權(quán)利要求13所述的系統(tǒng),其中,將所述移動(dòng)設(shè)備的活動(dòng)分類包括: 在一時(shí)段內(nèi)從所述多個(gè)傳感器中的每個(gè)傳感器采集傳感器數(shù)據(jù); 融合所述傳感器數(shù)據(jù)以產(chǎn)生對(duì)于與所述移動(dòng)設(shè)備的取向有關(guān)的多個(gè)指示中的每個(gè)指示的估值; 歸一化每個(gè)所述估值; 基于所歸一化的估值形成表示所述移動(dòng)設(shè)備的活動(dòng)的多個(gè)向量;以及 基于所述多個(gè)向量,將在所述時(shí)段內(nèi)的所述移動(dòng)設(shè)備的活動(dòng)分類。
15.根據(jù)權(quán)利要求13所述的系統(tǒng),其中,確定所述移動(dòng)設(shè)備的速度包括: 針對(duì)多個(gè)傳感器數(shù)據(jù)讀數(shù)中的每個(gè)傳感器數(shù)據(jù)讀數(shù)計(jì)算平均值和標(biāo)準(zhǔn)偏差; 基于每個(gè)所計(jì)算的平均值和標(biāo)準(zhǔn)偏差生成特征向量; 將所生成的特征向量與參考數(shù)據(jù)集進(jìn)行比較; 基于所述比較將每個(gè)特征向量分配至集群; 基于所集群的特征向量數(shù)據(jù)確定所述移動(dòng)設(shè)備的速度。
16.根據(jù)權(quán)利要求13所述的系統(tǒng),其中,確定所述移動(dòng)設(shè)備的前進(jìn)方向包括: 確定一組角速度數(shù)據(jù)的大??; 確定所述大小是否超出預(yù)定義的閾值;以及 響應(yīng)于確定所述大小超出所述預(yù)定義的閾值,將所述移動(dòng)設(shè)備視為正在旋轉(zhuǎn),針對(duì)隨時(shí)間的漂移校正所述傳感器數(shù)據(jù),以及將所校正的傳感器數(shù)據(jù)記錄為所述移動(dòng)設(shè)備的前進(jìn)方向。
17.根據(jù)權(quán)利要求13所述的系統(tǒng),還包括繪制所述移動(dòng)設(shè)備的路徑,其中繪制所述路徑包括: 識(shí)別所述移動(dòng)設(shè)備所移動(dòng)的平面的多個(gè)軸線中的每個(gè)軸線; 基于所述傳感器數(shù)據(jù)確定沿著所識(shí)別的軸線的第一前進(jìn)方向向量; 基于所述傳感器數(shù)據(jù)確定沿著所識(shí)別的軸線的第二前進(jìn)方向向量; 對(duì)所確定的前進(jìn)方向向量進(jìn)行濾波;以及 基于所濾波的前進(jìn)方向向量在所述平面上繪出所述移動(dòng)設(shè)備的路徑的地圖。
18.根據(jù)權(quán)利要求17所述的系統(tǒng),其中,對(duì)所確定的前進(jìn)方向向量進(jìn)行濾波包括: 當(dāng)在所述第一前進(jìn)方向向量和所述第二前進(jìn)方向向量之間的差值被確定為大時(shí),將所述第一前進(jìn)方向向量存儲(chǔ)為第三前進(jìn)方向向量; 當(dāng)前一點(diǎn)的前進(jìn)方向與當(dāng)前點(diǎn)的前進(jìn)方向一致時(shí),將所述第三前進(jìn)方向向量拷貝到第四前進(jìn)方向向量; 當(dāng)在所述第一前進(jìn)方向向量和所述第四前進(jìn)方向向量之間存在大的一致的差值時(shí),將所述第一前進(jìn)方向向量存儲(chǔ)為第五前進(jìn)方向向量; 丟棄指示快速變化的前進(jìn)方向向量;以及 基于所丟棄的前進(jìn)方向向量的前面的前進(jìn)方向向量和之后的前進(jìn)方向向量,填充通過所述丟棄所產(chǎn)生的間隙。
19.根據(jù)權(quán)利要求17所述的系統(tǒng),其中,繪出所述移動(dòng)設(shè)備的路徑的地圖包括: 對(duì)于所接收的信息,找到當(dāng)前的最佳擬合線; 將所述當(dāng)前的最佳擬合線與前面保存的線比較; 響應(yīng)于確定所述當(dāng)前的最佳擬合線接近平行于前面保存的線,將所述當(dāng)前的最佳擬合線調(diào)整為平行于所述前面保存的線; 響應(yīng)于確定所述當(dāng)前的最佳擬合線的位置接近前面保存的線,調(diào)整所述當(dāng)前的最佳擬合線的位置以匹配所述前面保存的線的位置;以及 響應(yīng)于確定所述當(dāng)前的最佳擬合線包括角點(diǎn)以及響應(yīng)于確定所述當(dāng)前的最佳擬合線的角點(diǎn)匹配前面保存的線的角點(diǎn),調(diào)整所述當(dāng)前的最佳擬合線的點(diǎn)以匹配所述前面保存的線的點(diǎn)。
20.根據(jù)權(quán)利要求17所述的系統(tǒng),還包括: 檢測(cè)所述移動(dòng)設(shè)備周圍的磁場(chǎng)中的波動(dòng); 基于所檢測(cè)的波動(dòng)擴(kuò)展所述路徑的地圖,其中,擴(kuò)展所述地圖包括:基于所檢測(cè)的波動(dòng)將一個(gè)或多個(gè)磁性地標(biāo)添加到所述地圖;以及 基于所擴(kuò)展的地圖和當(dāng)前檢測(cè)的波動(dòng),校正所述移動(dòng)設(shè)備的位置估值。
21.一種計(jì)算機(jī)可讀存儲(chǔ)器,所述計(jì)算機(jī)可讀存儲(chǔ)器上存儲(chǔ)有指令序列,所述指令序列當(dāng)通過處理器執(zhí)行使所述處理器通過下列操作定位和追蹤移動(dòng)設(shè)備: 從所述移動(dòng)設(shè)備內(nèi)的多個(gè)傳感器中的每個(gè)傳感器讀取傳感器數(shù)據(jù),所述傳感器提供所述傳感器數(shù)據(jù)而不依賴于來自所述移動(dòng)設(shè)備外部的設(shè)備的信號(hào);和基于所述傳感器數(shù)據(jù)確定所述移動(dòng)設(shè)備的運(yùn)動(dòng)、速度和前進(jìn)方向。
22.根據(jù)權(quán)利要求21所述的計(jì)算機(jī)可讀存儲(chǔ)器,其中,所述多個(gè)傳感器包括:指南針、回轉(zhuǎn)儀和加速度計(jì)。
23.根據(jù)權(quán)利要求21所述的計(jì)算機(jī)可讀存儲(chǔ)器,其中,基于所述傳感器數(shù)據(jù)確定所述移動(dòng)設(shè)備的運(yùn)動(dòng)、速度和前進(jìn)方向包括: 將所述移動(dòng)設(shè)備的活動(dòng)分類為運(yùn)動(dòng)或靜止;和 響應(yīng)于將所述移動(dòng)設(shè)備的活動(dòng)分類為運(yùn)動(dòng),基于所述傳感器數(shù)據(jù)確定所述移動(dòng)設(shè)備的速度且基于所述傳感器數(shù)據(jù)確定所述移動(dòng)設(shè)備的前進(jìn)方向。
24.根據(jù)權(quán)利要求23所述的計(jì)算機(jī)可讀存儲(chǔ)器,其中,將所述移動(dòng)設(shè)備的活動(dòng)分類包括: 在一時(shí)段內(nèi)從所述多個(gè)傳感器中的每個(gè)傳感器采集傳感器數(shù)據(jù); 融合所述傳感器數(shù)據(jù)以產(chǎn)生對(duì)于與所述移動(dòng)設(shè)備的取方向有關(guān)的多個(gè)指示中的每個(gè)指示的估值; 歸一化每個(gè)所述估值; 基于所歸一化的估值形成表示所述移動(dòng)設(shè)備的活動(dòng)的多個(gè)向量;以及 基于所述多個(gè)向量,將在所述時(shí)段內(nèi)的所述移動(dòng)設(shè)備的活動(dòng)分類。
25.根據(jù)權(quán)利要求23所述的計(jì)算機(jī)可讀存儲(chǔ)器,其中,確定所述移動(dòng)設(shè)備的速度包括: 針對(duì)多個(gè)傳感器數(shù)據(jù)讀數(shù)中的每個(gè)傳感器數(shù)據(jù)讀數(shù)計(jì)算平均值和標(biāo)準(zhǔn)偏差; 基于每個(gè)所計(jì)算的平均值和標(biāo)準(zhǔn)偏差生成特征向量; 將所生成的特征向量與參考數(shù)據(jù)集進(jìn)行比較; 基于所述比較將每個(gè)特征向量分配至集群; 基于所集群的特征向量數(shù)據(jù)確定所述移動(dòng)設(shè)備的速度。
26.根據(jù)權(quán)利要求23所述的計(jì)算機(jī)可讀存儲(chǔ)器,其中,確定所述移動(dòng)設(shè)備的前進(jìn)方向包括: 確定一組角速度數(shù)據(jù)的大?。? 確定所述大小是否超出預(yù)定義的閾值;以及 響應(yīng)于確定所述大小超出所述預(yù)定義的閾值,將所述移動(dòng)設(shè)備視為正在旋轉(zhuǎn),針對(duì)隨時(shí)間的漂移校正所述傳感器數(shù)據(jù),以及將所校正的傳感器數(shù)據(jù)記錄為所述移動(dòng)設(shè)備的前進(jìn)方向。
27.根據(jù)權(quán)利要求23所述的計(jì)算機(jī)可讀存儲(chǔ)器,還包括繪制所述移動(dòng)設(shè)備的路徑,其中繪制所述路徑包括: 識(shí)別所述移動(dòng)設(shè)備所移動(dòng)的平面的多個(gè)軸線中的每個(gè)軸線; 基于所述傳感器數(shù)據(jù)確定沿著所識(shí)別的軸線的第一前進(jìn)方向向量; 基于所述傳感器數(shù)據(jù)確定沿著所識(shí)別的軸線的第二前進(jìn)方向向量; 對(duì)所確定的前進(jìn)方向向量進(jìn)行濾波;以及 基于所濾波的前進(jìn)方向向量在所述平面上繪出所述移動(dòng)設(shè)備的路徑的地圖。
28.根據(jù)權(quán)利要求27所述的計(jì)算機(jī)可讀存儲(chǔ)器,其中,對(duì)所確定的前進(jìn)方向向量進(jìn)行濾波包括: 當(dāng)在所述第一前進(jìn)方向向量和所述第二前進(jìn)方向向量之間的差值被確定為大時(shí),將所述第一前進(jìn)方向向量存儲(chǔ)為第三前進(jìn)方向向量; 當(dāng)前一點(diǎn)的前進(jìn)方向與當(dāng)前點(diǎn)的前進(jìn)方向一致時(shí),將所述第三前進(jìn)方向向量拷貝到第四前進(jìn)方向向量; 當(dāng)在所述第一前進(jìn)方向向量和所述第四前進(jìn)方向向量之間存在大的一致的差值時(shí),將所述第一前進(jìn)方向向量存儲(chǔ)為第五前進(jìn)方向向量; 丟棄指示快速變化的前進(jìn)方向向量;以及 基于所丟棄的前進(jìn)方向向量的前面的前進(jìn)方向向量和之后的前進(jìn)方向向量,填充通過所述丟棄所產(chǎn)生的間隙。
29.根據(jù)權(quán)利要求27所述的計(jì)算機(jī)可讀存儲(chǔ)器,其中,繪出所述移動(dòng)設(shè)備的路徑的地圖包括: 對(duì)于所接收的信息,找到當(dāng)前的最佳擬合線; 將所述當(dāng)前的最佳擬合線與前面保存的線比較; 響應(yīng)于確定所述當(dāng)前的最佳擬合線接近平行于前面保存的線,將所述當(dāng)前的最佳擬合線調(diào)整為平行于所述前面保存的線; 響應(yīng)于確定所述當(dāng)前的最佳擬合線的位置接近前面保存的線,調(diào)整所述當(dāng)前的最佳擬合線的位置以匹配所述前面保存的線的位置; 響應(yīng)于確定所述當(dāng)前的最佳擬合線包括角點(diǎn)以及響應(yīng)于確定所述當(dāng)前的最佳擬合線的角點(diǎn)匹配前面保存的線的角點(diǎn),調(diào)整所述當(dāng)前的最佳擬合線的點(diǎn)以匹配所述前面保存的線的點(diǎn)。
30.根據(jù)權(quán)利要求27所述的計(jì)算機(jī)可讀存儲(chǔ)器,還包括: 檢測(cè)所述移動(dòng)設(shè)備周圍的磁場(chǎng)中的波動(dòng); 基于所檢測(cè)的波動(dòng)擴(kuò)展所述路徑的地圖,其中,擴(kuò)展所述地圖包括:基于所檢測(cè)的波動(dòng)將一個(gè)或多個(gè)磁性地標(biāo)添加到所述地圖;以及 基于所擴(kuò)展的地圖和當(dāng)前檢測(cè)的波動(dòng),校正所述移動(dòng)設(shè)備的位置估值。
【文檔編號(hào)】H04W24/00GK104137594SQ201280062283
【公開日】2014年11月5日 申請(qǐng)日期:2012年10月17日 優(yōu)先權(quán)日:2011年10月17日
【發(fā)明者】馬克·A·福西, 英豪·馬, 克雷格·波普, 唐-漢·熙, 拉胡爾·阿格拉沃爾 申請(qǐng)人:吉恩-9有限公司