一種確定終端運(yùn)動(dòng)方向的方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種確定終端運(yùn)動(dòng)方向的方法和裝置,屬于定位【技術(shù)領(lǐng)域】。該方法包括:根據(jù)第四加速度值、第五加速度值和第六加速度值,確定出終端在當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸方向;獲取終端在第一主坐標(biāo)軸方向上的第一相關(guān)值,以及終端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向和終端對(duì)應(yīng)的第二主坐標(biāo)軸方向上的第二相關(guān)值;根據(jù)第一相關(guān)值、第二相關(guān)值和終端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向,確定終端在當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向。該裝置包括:第一獲取模塊,第一計(jì)算模塊,第一確定模塊,第二獲取模塊和第二確定模塊。本發(fā)明根據(jù)終端的加速度值確定終端的運(yùn)動(dòng)方向,提高了確定的準(zhǔn)確度。
【專利說明】一種確定終端運(yùn)動(dòng)方向的方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及定位【技術(shù)領(lǐng)域】,特別涉及一種確定終端運(yùn)動(dòng)方向方法和裝置。
【背景技術(shù)】
[0002]目前,隨著衛(wèi)星導(dǎo)航技術(shù)的快速發(fā)展,具備導(dǎo)航功能的終端已經(jīng)普及到每個(gè)用戶的生活中。當(dāng)用戶出行時(shí),可以通過終端中的導(dǎo)航功能獲取終端的運(yùn)動(dòng)方向,根據(jù)終端的運(yùn)動(dòng)方向?yàn)橛脩糁敢较颉?br>
[0003]現(xiàn)有技術(shù)中提供了一種確定終端運(yùn)動(dòng)方向的方法,可以為:終端獲取終端當(dāng)前姿態(tài)相對(duì)于水平面的的俯仰角和翻滾角;根據(jù)該俯仰角和翻滾角計(jì)算終端的航向角,該航向角為終端與地球北極之間的夾角;如果該航向角在0° -180°范圍內(nèi),確定出終端的運(yùn)動(dòng)方向?yàn)橄蚯?,如果該航向角?180° -0°范圍內(nèi),確定出終端的運(yùn)動(dòng)方向?yàn)橄蚝蟆?br>
[0004]在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題:
[0005]現(xiàn)有技術(shù)中是根據(jù)終端的俯仰角和翻滾角確定終端的運(yùn)動(dòng)方向,然而如果終端的運(yùn)動(dòng)方向發(fā)生變化,而終端的俯仰角和翻滾角不發(fā)生變化,確定的終端的運(yùn)動(dòng)方向?qū)⒊霈F(xiàn)錯(cuò)誤;例如,用戶手持終端向后退,由于終端的俯仰角和翻滾角沒有發(fā)生變化,此時(shí)確定出終端的運(yùn)動(dòng)方向還是向前,從而確定出的終端的運(yùn)動(dòng)方向出現(xiàn)錯(cuò)誤。
【發(fā)明內(nèi)容】
[0006]為了使解決現(xiàn)有技術(shù)的問題,本發(fā)明提供了一種確定終端的運(yùn)動(dòng)方向的方法和裝置。技術(shù)方案如下:
[0007]一方面,本發(fā)明提供了一種確定終端的運(yùn)動(dòng)方向的方法,所述方法包括:
[0008]當(dāng)檢測到用戶行進(jìn)過程中完成一個(gè)計(jì)步周期時(shí),獲取當(dāng)前計(jì)步周期中終端在第一橫坐標(biāo)軸上對(duì)應(yīng)的第一加速度值,所述終端在第一縱坐標(biāo)軸上對(duì)應(yīng)的第二加速度值,以及所述終端在第一豎坐標(biāo)軸上對(duì)應(yīng)的第三加速度值,所述第一橫坐標(biāo)軸、所述第一縱坐標(biāo)軸和所述第一豎坐標(biāo)軸分別為所述終端的內(nèi)置坐標(biāo)系的橫坐標(biāo)軸、縱坐標(biāo)軸和豎坐標(biāo)軸;
[0009]根據(jù)所述第一加速度值、所述第二加速度值和所述第三加速度值,分別計(jì)算所述終端在第二橫坐標(biāo)軸上對(duì)應(yīng)的第四加速度值,所述終端在第二縱坐標(biāo)軸上對(duì)應(yīng)的第五加速度值,以及所述終端在第二豎坐標(biāo)軸上對(duì)應(yīng)的第六加速度值,所述第二橫坐標(biāo)軸、所述第二縱坐標(biāo)軸和所述第二豎坐標(biāo)軸分別為地理坐標(biāo)系的橫坐標(biāo)軸、縱坐標(biāo)軸和豎坐標(biāo)軸;
[0010]根據(jù)所述第四加速度值、所述第五加速度值和所述第六加速度值,確定出所述終端在所述當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸方向;
[0011]獲取所述終端在所述第一主坐標(biāo)軸方向上的第一相關(guān)值,以及所述終端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向和所述終端對(duì)應(yīng)的第二主坐標(biāo)軸方向上的第二相關(guān)值,所述第一相關(guān)值為所述第一主坐標(biāo)軸上的加速度與所述第六加速度值之間的相關(guān)值;
[0012]根據(jù)所述第一相關(guān)值、所述第二相關(guān)值和所述終端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向,確定所述終端在所述當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向。
[0013]優(yōu)選的,所述方法還包括:
[0014]計(jì)算所述終端當(dāng)前姿態(tài)相對(duì)于水平面的俯仰角和翻滾角;
[0015]根據(jù)所述俯仰角和所述翻滾角計(jì)算所述終端當(dāng)前姿態(tài)的方位角;
[0016]獲取所述電子羅盤輸入的方向值;
[0017]根據(jù)所述終端在所述當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向、所述方位角和所述方向值,計(jì)算所述終端的航向角;
[0018]根據(jù)所述終端的航向角顯示所述終端在所述當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向。
[0019]優(yōu)選的,所述根據(jù)所述終端在所述當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向、所述方位角和所述方向值,計(jì)算所述終端的航向角,包括:
[0020]如果所述終端在所述當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向?yàn)橄蚯?,?jì)算所述方向值與所述方位角的差,得到第一差值,將所述第一差值作為所述終端的航向角;
[0021]如果所述終端的運(yùn)動(dòng)方向?yàn)橄蚝?,?jì)算所述方向值、所述方位角與180°的差,得到第二差值,將所述第二差值作為所述終端的航向角。
[0022]優(yōu)選的,所述根據(jù)所述第四加速度值、所述第五加速度值和所述第六加速度值,確定出所述終端在所述當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸方向,包括:
[0023]計(jì)算所述第四加速度值與所述第六加速度值之間的相關(guān)值,所述第五加速度值與所述第六加速度值之間的相關(guān)值;
[0024]如果所述第四加速度值與所述第六加速度值之間的相關(guān)值大于所述第五加速度值與所述第六加速度值之間的相關(guān)值,確定出所述終端在所述當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸方向?yàn)樗龅诙M坐標(biāo)軸方向;
[0025]如果所述第四加速度值與所述第六加速度值之間的相關(guān)值不大于所述第五加速度值與所述第六加速度值之間的相關(guān)值,確定出所述終端在所述當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸方向?yàn)樗龅诙v坐標(biāo)軸方向。
[0026]優(yōu)選的,所述根據(jù)所述第一相關(guān)值、所述第二相關(guān)值和所述終端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向,確定所述終端在所述當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向,包括:
[0027]判斷所述第一相關(guān)值的符號(hào)和所述第二相關(guān)值的符號(hào)是否相同;
[0028]如果相同,確定出所述終端在所述當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向?yàn)樗鼋K端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向;
[0029]如果不相同,確定出所述終端在所述當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向?yàn)樗鼋K端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向的相反方向。
[0030]另一方面,本發(fā)明提供了一種確定終端的運(yùn)動(dòng)方向的裝置,所述裝置包括:
[0031]第一獲取模塊,用于當(dāng)檢測到用戶行進(jìn)過程中完成一個(gè)計(jì)步周期時(shí),獲取當(dāng)前計(jì)步周期中終端在第一橫坐標(biāo)軸上對(duì)應(yīng)的第一加速度值,所述終端在第一縱坐標(biāo)軸上對(duì)應(yīng)的第二加速度值,以及所述終端在第一豎坐標(biāo)軸上對(duì)應(yīng)的第三加速度值,所述第一橫坐標(biāo)軸、所述第一縱坐標(biāo)軸和所述第一豎坐標(biāo)軸分別為所述終端的內(nèi)置坐標(biāo)系的橫坐標(biāo)軸、縱坐標(biāo)軸和豎坐標(biāo)軸;
[0032]第一計(jì)算模塊,用于根據(jù)所述第一加速度值、所述第二加速度值和所述第三加速度值,分別計(jì)算所述終端在第二橫坐標(biāo)軸上對(duì)應(yīng)的第四加速度值,所述終端在第二縱坐標(biāo)軸上對(duì)應(yīng)的第五加速度值,以及所述終端在第二豎坐標(biāo)軸上對(duì)應(yīng)的第六加速度值,所述第二橫坐標(biāo)軸、所述第二縱坐標(biāo)軸和所述第二豎坐標(biāo)軸分別為地理坐標(biāo)系的橫坐標(biāo)軸、縱坐標(biāo)軸和豎坐標(biāo)軸;
[0033]第一確定模塊,用于根據(jù)所述第四加速度值、所述第五加速度值和所述第六加速度值,確定出所述終端在所述當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸方向;
[0034]第二獲取模塊,用于獲取所述終端在所述第一主坐標(biāo)軸方向上的第一相關(guān)值,以及所述終端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向和所述終端對(duì)應(yīng)的第二主坐標(biāo)軸方向上的第二相關(guān)值,所述第一相關(guān)值為所述第一主坐標(biāo)軸上的加速度與所述第六加速度值之間的相關(guān)值;
[0035]第二確定模塊,用于根據(jù)所述第一相關(guān)值、所述第二相關(guān)值和所述終端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向,確定所述終端在所述當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向。
[0036]優(yōu)選的,所述裝置還包括:
[0037]第二計(jì)算模塊,用于計(jì)算所述終端當(dāng)前姿態(tài)相對(duì)于水平面的俯仰角和翻滾角;
[0038]第三計(jì)算模塊,用于根據(jù)所述俯仰角和所述翻滾角計(jì)算所述終端當(dāng)前姿態(tài)的方位角;
[0039]第三獲取模塊,用于獲取所述電子羅盤輸入的方向值;
[0040]第四計(jì)算模塊,用于根據(jù)所述終端在所述當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向、所述方位角和所述方向值,計(jì)算所述終端的航向角;
[0041]顯示模塊,用于根據(jù)所述終端的航向角顯示所述終端在所述當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向。
[0042]優(yōu)選的,所述第四計(jì)算模塊,用于如果所述終端在所述當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向?yàn)橄蚯?,?jì)算所述方向值與所述方位角的差,得到第一差值,將所述第一差值作為所述終端的航向角;
[0043]如果所述終端的運(yùn)動(dòng)方向?yàn)橄蚝?,?jì)算所述方向值、所述方位角與180°的差,得到第二差值,將所述第二差值作為所述終端的航向角。
[0044]優(yōu)選的,所述第一確定模塊,包括:
[0045]計(jì)算單元,用于計(jì)算所述第四加速度值與所述第六加速度值之間的相關(guān)值,所述第五加速度值與所述第六加速度值之間的相關(guān)值;
[0046]第一確定單元,用于如果所述第四加速度值與所述第六加速度值之間的相關(guān)值大于所述第五加速度值與所述第六加速度值之間的相關(guān)值,確定出所述終端在所述當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸方向?yàn)樗龅诙M坐標(biāo)軸方向;
[0047]第二確定單元,用于如果所述第四加速度值與所述第六加速度值之間的相關(guān)值不大于所述第五加速度值與所述第六加速度值之間的相關(guān)值,確定出所述終端在所述當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸方向?yàn)樗龅诙v坐標(biāo)軸方向。
[0048]優(yōu)選的,所述第二確定模塊,包括:
[0049]判斷單元,用于判斷所述第一相關(guān)值的符號(hào)和所述第二相關(guān)值的符號(hào)是否相同;
[0050]第三確定單元,用于如果相同,確定出所述終端在所述當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向?yàn)樗鼋K端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向;
[0051]第四確定單元,用于如果不相同,確定出所述終端在所述當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向?yàn)樗鼋K端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向的相反方向。
[0052]在本發(fā)明實(shí)施例中,當(dāng)檢測到用戶行進(jìn)過程中完成一個(gè)計(jì)步周期時(shí),獲取當(dāng)前計(jì)步周期中終端在第一橫坐標(biāo)軸上對(duì)應(yīng)的第一加速度值,終端在第一縱坐標(biāo)軸上對(duì)應(yīng)的第二加速度值,以及終端在第一豎坐標(biāo)軸上對(duì)應(yīng)的第三加速度值;根據(jù)第一加速度值、第二加速度值和第三加速度值,分別計(jì)算終端在第二橫坐標(biāo)軸上對(duì)應(yīng)的第四加速度值,終端在第二縱坐標(biāo)軸上對(duì)應(yīng)的第五加速度值,以及終端在第二豎坐標(biāo)軸上對(duì)應(yīng)的第六加速度值;根據(jù)第四加速度值、第五加速度值和第六加速度值,確定出終端在當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸方向;獲取終端在第一主坐標(biāo)軸方向上的第一相關(guān)值,以及終端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向和終端對(duì)應(yīng)的第二主坐標(biāo)軸方向上的第二相關(guān)值;根據(jù)第一相關(guān)值、第二相關(guān)值和終端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向,確定終端在當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向,本發(fā)明中根據(jù)加速度值確定終端的運(yùn)動(dòng)方向,提高了確定終端運(yùn)動(dòng)方向的準(zhǔn)確性。
【專利附圖】
【附圖說明】
[0053]圖1是本發(fā)明實(shí)施例1提供的一種確定終端的運(yùn)動(dòng)方向的方法流程圖;
[0054]圖2是本發(fā)明實(shí)施例2提供的一種確定終端的運(yùn)動(dòng)方向的方法流程圖;
[0055]圖3是本發(fā)明實(shí)施例3提供的一種確定終端的運(yùn)動(dòng)方向的裝置結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0056]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
[0057]實(shí)施例1
[0058]本發(fā)明實(shí)施例提供了一種確定終端的運(yùn)動(dòng)方向的方法,參見圖1,其中,該方法包括:
[0059]步驟101:當(dāng)檢測到用戶行進(jìn)過程中完成一個(gè)計(jì)步周期時(shí),獲取當(dāng)前計(jì)步周期中終端在第一橫坐標(biāo)軸上對(duì)應(yīng)的第一加速度值,終端在第一縱坐標(biāo)軸上對(duì)應(yīng)的第二加速度值,以及終端在第一豎坐標(biāo)軸上對(duì)應(yīng)的第三加速度值,第一橫坐標(biāo)軸、第一縱坐標(biāo)軸和第一豎坐標(biāo)軸分別為終端的內(nèi)置坐標(biāo)系的橫坐標(biāo)軸、縱坐標(biāo)軸和豎坐標(biāo)軸;
[0060]步驟102:根據(jù)第一加速度值、第二加速度值和第三加速度值,分別計(jì)算終端在第二橫坐標(biāo)軸上對(duì)應(yīng)的第四加速度值,終端在第二縱坐標(biāo)軸上對(duì)應(yīng)的第五加速度值,以及終端在第二豎坐標(biāo)軸上對(duì)應(yīng)的第六加速度值,第二橫坐標(biāo)軸、第二縱坐標(biāo)軸和第二豎坐標(biāo)軸分別為地理坐標(biāo)系的橫坐標(biāo)軸、縱坐標(biāo)軸和豎坐標(biāo)軸;
[0061]步驟103:根據(jù)第四加速度值、第五加速度值和第六加速度值,確定出終端在當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸方向;
[0062]步驟104:獲取終端在第一主坐標(biāo)軸方向上的第一相關(guān)值,以及終端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向和終端對(duì)應(yīng)的第二主坐標(biāo)軸方向上的第二相關(guān)值,第一相關(guān)值為第一主坐標(biāo)軸上的加速度與第六加速度值之間的相關(guān)值;
[0063]步驟105:根據(jù)第一相關(guān)值、第二相關(guān)值和終端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向,確定終端在當(dāng)如計(jì)步周期中的運(yùn)動(dòng)方向。
[0064]在本發(fā)明實(shí)施例中,當(dāng)檢測到用戶行進(jìn)過程中完成一個(gè)計(jì)步周期時(shí),獲取當(dāng)前計(jì)步周期中終端在第一橫坐標(biāo)軸上對(duì)應(yīng)的第一加速度值,終端在第一縱坐標(biāo)軸上對(duì)應(yīng)的第二加速度值,以及終端在第一豎坐標(biāo)軸上對(duì)應(yīng)的第三加速度值;根據(jù)第一加速度值、第二加速度值和第三加速度值,分別計(jì)算終端在第二橫坐標(biāo)軸上對(duì)應(yīng)的第四加速度值,終端在第二縱坐標(biāo)軸上對(duì)應(yīng)的第五加速度值,以及終端在第二豎坐標(biāo)軸上對(duì)應(yīng)的第六加速度值;根據(jù)第四加速度值、第五加速度值和第六加速度值,確定出終端在當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸方向;獲取終端在第一主坐標(biāo)軸方向上的第一相關(guān)值,以及終端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向和終端對(duì)應(yīng)的第二主坐標(biāo)軸方向上的第二相關(guān)值;根據(jù)第一相關(guān)值、第二相關(guān)值和終端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向,確定終端在當(dāng)如計(jì)步周期中的運(yùn)動(dòng)方向,本發(fā)明中根據(jù)加速度值確定終端的運(yùn)動(dòng)方向,彌補(bǔ)了用戶手持終端時(shí)終端位置與運(yùn)動(dòng)方向不一致時(shí)通過電子羅盤獲取到錯(cuò)誤方向的缺陷,提高了定位的準(zhǔn)確度和確定終端運(yùn)動(dòng)方向的準(zhǔn)確性。
[0065]實(shí)施例2
[0066]本發(fā)明實(shí)施例提供了一種確定終端的運(yùn)動(dòng)方向的方法,參見圖2,其中,該方法包括:
[0067]步驟201:當(dāng)檢測到用戶行進(jìn)過程中完成一個(gè)計(jì)步周期時(shí),獲取當(dāng)前計(jì)步周期中終端在第一橫坐標(biāo)軸上對(duì)應(yīng)的第一加速度值,終端在第一縱坐標(biāo)軸上對(duì)應(yīng)的第二加速度值,以及終端在第一豎坐標(biāo)軸上對(duì)應(yīng)的第三加速度值;
[0068]在終端中內(nèi)置坐標(biāo)系,第一橫坐標(biāo)軸、第一縱坐標(biāo)軸和第一豎坐標(biāo)軸分別為終端的內(nèi)置坐標(biāo)系的橫坐標(biāo)軸、縱坐標(biāo)軸和豎坐標(biāo)軸。
[0069]在終端中為每個(gè)坐標(biāo)軸設(shè)置一個(gè)加速度傳感器,該坐標(biāo)軸上的加速度傳感器用于測量終端在運(yùn)行過程中在該坐標(biāo)軸方向上的加速度值。即,在終端中的第一橫坐標(biāo)軸上設(shè)置第一加速度傳感器,該第一加速度傳感器用于測量終端在運(yùn)動(dòng)過程中在第一橫坐標(biāo)軸方向上的加速度值;在終端中的第一縱坐標(biāo)軸上設(shè)置第二加速度傳感器,該第二加速度傳感器用于測量終端在運(yùn)行過程中在第一縱坐標(biāo)軸方向上的加速度值;在終端中的第一豎坐標(biāo)軸上設(shè)置第三加速度傳感器,該第三加速度傳感器用于測量終端在運(yùn)動(dòng)過程中在第一豎坐標(biāo)軸方向上的加速度值。
[0070]當(dāng)檢測到用戶行進(jìn)過程中完成一個(gè)計(jì)步周期時(shí),讀取第一加速度傳感器的值以獲取終端在第一橫坐標(biāo)軸上對(duì)應(yīng)的第一加速度值;讀取第二加速度傳感器的值以獲取終端在第一縱坐標(biāo)軸上對(duì)應(yīng)的第二加速度值;讀取第三加速度傳感器的值以獲取終端在第一豎坐標(biāo)軸上對(duì)應(yīng)的第三加速度值。
[0071]內(nèi)置坐標(biāo)系為以終端的中心點(diǎn)為原點(diǎn),以終端的前方方向?yàn)闄M坐標(biāo)軸,以終端的右方方向?yàn)榭v坐標(biāo)軸,以終端的上方方向?yàn)樨Q坐標(biāo)軸的坐標(biāo)系。則第一橫坐標(biāo)軸為終端的前方方向,第一縱坐標(biāo)軸為終端的右方方向,第一豎坐標(biāo)軸為終端的上方方向。
[0072]例如,終端可以為手機(jī)或者平板電腦等。
[0073]步驟202:根據(jù)第一加速度值、第二加速度值和第三加速度值,分別計(jì)算終端在第二橫坐標(biāo)軸上對(duì)應(yīng)的第四加速度值,終端在第二縱坐標(biāo)軸上對(duì)應(yīng)的第五加速度值,以及終端在第二豎坐標(biāo)軸上對(duì)應(yīng)的第六加速度值;
[0074]第二橫坐標(biāo)軸、第二縱坐標(biāo)軸和第二豎坐標(biāo)軸分別為地理坐標(biāo)系的橫坐標(biāo)軸、縱坐標(biāo)軸和豎坐標(biāo)軸。
[0075]步驟202可以通過以下步驟⑴至⑷實(shí)現(xiàn),包括:
[0076](I):計(jì)算終端當(dāng)前姿態(tài)相對(duì)于水平面的俯仰角和翻滾角;
[0077]其中,俯仰角為終端中的第一橫坐標(biāo)軸與水平面的夾角,翻滾角為終端中的第一縱坐標(biāo)軸與水平面的夾角。
[0078]根據(jù)第一加速度值、第二加速度值和第三加速度值可以根據(jù)預(yù)設(shè)的公式計(jì)算終端當(dāng)前姿態(tài)相對(duì)于水平面的俯仰角和翻滾角度。
[0079]具體地,根據(jù)第一加速度值、第二加速度值和第三加速度值,按照如下的公式(I)計(jì)算終端內(nèi)置的坐標(biāo)系中的第一橫坐標(biāo)軸與水平面的夾角,即俯仰角β,以及根據(jù)第一加速度值、第二加速度值和第三加速度值,按照如下的公式(2)計(jì)算終端內(nèi)置的坐標(biāo)系中的第一縱坐標(biāo)軸與水平面的夾角,即翻滾角a。
X
[0080]β =arcian I , ,( 1)
^/γ-+z-
Y
[0081]CC--1rcnn _=^2)
VX2+ Z2
[0082]其中,在公式(I)中,β為終端內(nèi)置的坐標(biāo)系中的第一橫坐標(biāo)軸與水平面的夾角即俯仰角,在公式(2)中,α為終端內(nèi)置的坐標(biāo)系中的第一縱坐標(biāo)軸與水平面的夾角即翻滾角,X為第一加速度值,Y為第二加速度值,Z為第三加速度值。
[0083](2):根據(jù)俯仰角、翻滾角、第一加速度值、第二加速度值和第三加速度值,計(jì)算終端在第二橫坐標(biāo)軸上對(duì)應(yīng)的第四加速度值;
[0084]根據(jù)俯仰角、翻滾角、第一加速度值、第二加速度值和第三加速度值,可以采用以下公式(3)計(jì)算在第二橫坐標(biāo)軸上對(duì)應(yīng)的第四加速度值ΧΗ。
[0085]Xh = X cos β +Y sin β sin α -Z cos β sin α (3)
[0086]其中,X為第一加速度值,Y為第二加速度值,Z為第三加速度值,β為俯仰角,α為翻滾角。
[0087](3):根據(jù)俯仰角、第二加速度值和第三加速度值,計(jì)算終端在第二縱坐標(biāo)軸上對(duì)應(yīng)的第五加速度值;
[0088]根據(jù)俯仰角、第二加速度值和第三加速度值,可以采用以下公式(4)計(jì)算終端在第二縱坐標(biāo)軸上對(duì)應(yīng)的第五加速度值ΥΗ。
[0089]Yh = Y cos β +Z sin β (4)
[0090]其中,Y為第二加速度值,Z為第三加速度值,β為俯仰角。
[0091](4):根據(jù)第一加速度值、第二加速度值、第三加速度值、第四加速度值和第五加速度值,計(jì)算終端在第二豎坐標(biāo)軸上對(duì)應(yīng)的第六加速度值;
[0092]根據(jù)第一加速度值、第二加速度值、第三加速度值、第四加速度值和第五加速度值,可以采用以下公式(5)計(jì)算終端在第二豎坐標(biāo)軸上對(duì)應(yīng)的第六加速度值ΖΗ。
[0093]Zh = ^jx2 +Y2 +Z2-Xl-Y^(5)
[0094]其中,X為第一加速度值,Y為第二加速度值,Z為第三加速度值,Xh為第四加速度值,Yh為第五加速度值。
[0095]步驟203:根據(jù)第四加速度值、第五加速度值和第六加速度值,確定出終端在當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸方向;
[0096]步驟203可以通過第一種方式實(shí)現(xiàn)或者第二種方式實(shí)現(xiàn),對(duì)于第一種實(shí)現(xiàn)方式,步驟203可以通過以下步驟(I)至(3)實(shí)現(xiàn),包括:
[0097](I):計(jì)算第四加速度值與第六加速度值之間的相關(guān)值,第五加速度值與第六加速度值之間的相關(guān)值;
[0098]具體地,根據(jù)第四加速度值和第六加速度值,按照現(xiàn)有的相關(guān)運(yùn)算算法,計(jì)算第四加速度值與第六加速度值之間的相關(guān)值;根據(jù)第五加速度值和第六加速度值,按照現(xiàn)有的相關(guān)運(yùn)算算法,計(jì)算第五加速度值與第六加速度值之間的相關(guān)值。
[0099](2):如果第四加速度值與第六加速度值之間的相關(guān)值大于第五加速度值與第六加速度值之間的相關(guān)值,確定出終端在當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸方向?yàn)榈诙M坐標(biāo)軸方向;
[0100]如果第四加速度值與第六加速度值之間的相關(guān)值大于第五加速度值與第六加速度值之間的相關(guān)值,確定出終端在當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸的方向?yàn)榈谒募铀俣戎祵?duì)應(yīng)的方向,也即終端在當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸方向?yàn)榈诙M坐標(biāo)軸方向。
[0101](3):如果第四加速度值與第六加速度值之間的相關(guān)值不大于第五加速度值與第六加速度值之間的相關(guān)值,確定出終端在當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸方向?yàn)榈诙v坐標(biāo)軸方向。
[0102]如果第四加速度值與第六加速度值之間的相關(guān)值不大于第五加速度值與第六加速度值之間的相關(guān)值,確定出終端在當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸的方向?yàn)榈谖寮铀俣戎祵?duì)應(yīng)的方向,也即終端在當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸方向?yàn)榈诙v坐標(biāo)軸方向。
[0103]對(duì)于第二種實(shí)現(xiàn)方式,步驟203可以通過以下步驟(A)至(G)實(shí)現(xiàn),包括:
[0104](A):獲取終端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中第二橫坐標(biāo)軸上的第七加速度值和第二縱坐標(biāo)軸上的第八加速度值,以及終端在離當(dāng)前時(shí)間最近的下一個(gè)計(jì)步周期中第二橫坐標(biāo)軸上的第九加速度值和第二縱坐標(biāo)軸上的第十加速度值;
[0105]在每個(gè)計(jì)步周期中,終端計(jì)算終端在第二橫坐標(biāo)軸上的加速度值和終端在第二縱坐標(biāo)軸上的加速度值,并存儲(chǔ)計(jì)步周期、終端在第二橫坐標(biāo)軸上的加速度值以及終端在第二縱坐標(biāo)軸上的加速度值的對(duì)應(yīng)關(guān)系。
[0106]在本步驟中,根據(jù)離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期,從計(jì)步周期、終端在第二橫坐標(biāo)軸上的加速度值以及終端在第二縱坐標(biāo)軸上的加速度值的對(duì)應(yīng)關(guān)系中獲取終端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中終端在第二橫坐標(biāo)軸上的第七加速度值和終端在第二縱坐標(biāo)軸上的第八加速度值;根據(jù)離當(dāng)前時(shí)間最近的下一個(gè)計(jì)步周期,從計(jì)步周期、終端在第二橫坐標(biāo)軸上的加速度值以及終端在第二縱坐標(biāo)軸上的加速度值的對(duì)應(yīng)關(guān)系中獲取終端在離當(dāng)前時(shí)間最近的下一個(gè)計(jì)步周期中終端在第二橫坐標(biāo)軸上的第九加速度值和終端在第二縱坐標(biāo)軸上的第十加速度值。
[0107](B):分別計(jì)算第七加速度值與第六加速度值之間的相關(guān)值,第四加速度值與第六加速度值之間的相關(guān)值,以及第九加速度值與第六加速度值之間的相關(guān)值;
[0108]具體地,根據(jù)第七加速度值和第六加速度值,按照現(xiàn)有的相關(guān)運(yùn)算算法,計(jì)算第七加速度值與第六加速度值之間的相關(guān)值;根據(jù)第四加速度值和第六加速度值,按照現(xiàn)有的相關(guān)運(yùn)算算法,計(jì)算第四加速度值與第六加速度值之間的相關(guān)值;根據(jù)第九加速度值和第六加速度值,按照現(xiàn)有的相關(guān)運(yùn)算算法,計(jì)算第九加速度值和第六加速度值之間的相關(guān)值。
[0109](C):從第七加速度值與第六加速度值之間的相關(guān)值、第四加速度值與第六加速度值之間的相關(guān)值以及第九加速度值與第六加速度值之間的相關(guān)值中選擇最大的相關(guān)值,確定為第一最大相關(guān)值;
[0110](D):分別計(jì)算第八加速度值與第六加速度值之間的相關(guān)值,第五加速度值與第六加速度值之間的相關(guān)值,以及第十加速度值與第六加速度值之間的相關(guān)值;
[0111]具體地,根據(jù)第八加速度值和第六加速度值,按照現(xiàn)有的相關(guān)運(yùn)算算法,計(jì)算第八加速度值與第六加速度值之間的相關(guān)值;根據(jù)第五加速度值和第六加速度值,按照現(xiàn)有的相關(guān)運(yùn)算算法,計(jì)算第五加速度值與第六加速度值之間的相關(guān)值;根據(jù)第十加速度值和第六加速度值,按照現(xiàn)有的相關(guān)運(yùn)算算法,計(jì)算第十加速度值和第六加速度值之間的相關(guān)值。
[0112](E):從第八加速度值與第六加速度值之間的相關(guān)值、第五加速度值與第六加速度值之間的相關(guān)值,以及第十加速度值與第六加速度值之間的相關(guān)值中選擇最大的相關(guān)值,確定為第二最大相關(guān)值;
[0113](F):如果第一最大相關(guān)值大于第二最大相關(guān)值,確定出終端在當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸方向?yàn)榈诙M坐標(biāo)軸方向;
[0114]如果第一最大相關(guān)值大于第二最大相關(guān)值,確定出終端在當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸的方向?yàn)榈谒募铀俣戎祵?duì)應(yīng)的方向,也即終端在當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸方向?yàn)榈诙M坐標(biāo)軸方向。
[0115](G):如果第一最大相關(guān)值不大于第二最大相關(guān)值,確定出終端在當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸方向?yàn)榈诙v坐標(biāo)軸方向。
[0116]如果第一最大相關(guān)值不大于第二最大相關(guān)值,確定出終端在當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸的方向?yàn)榈谖寮铀俣戎祵?duì)應(yīng)的方向,也即終端在當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸方向?yàn)榈诙v坐標(biāo)軸方向。
[0117]步驟204:獲取終端在第一主坐標(biāo)軸方向上的第一相關(guān)值,以及終端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向和終端對(duì)應(yīng)的第二主坐標(biāo)軸方向上的第二相關(guān)值,第一相關(guān)值為第一主坐標(biāo)軸上的加速度與第六加速度值之間的相關(guān)值;
[0118]如果第一主坐標(biāo)軸方向?yàn)榈诙M坐標(biāo)軸方向,貝1J第一相關(guān)值為第四加速度值與第六加速度值之間的相關(guān)值;如果第一主坐標(biāo)軸方向?yàn)榈诙v坐標(biāo)軸方向,貝1J第一相關(guān)值為第五加速度值與第六加速度值之間的相關(guān)值。
[0119]在每個(gè)計(jì)步周期中,終端計(jì)算確定終端的運(yùn)動(dòng)方向和終端對(duì)應(yīng)的王坐標(biāo)軸方向上的相關(guān)值,并存儲(chǔ)計(jì)步周期、終端的運(yùn)動(dòng)方向和終端對(duì)應(yīng)的主坐標(biāo)軸方向上的相關(guān)值的對(duì)應(yīng)關(guān)系。
[0120]在本步驟中,根據(jù)離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期,從計(jì)步周期、終端的運(yùn)動(dòng)方向和終端對(duì)應(yīng)的主坐標(biāo)軸方向上的相關(guān)值的對(duì)應(yīng)關(guān)系中獲取終端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向和終端對(duì)應(yīng)的第二主坐標(biāo)軸方向上的第二相關(guān)值。
[0121]步驟205:根據(jù)第一相關(guān)值、第二相關(guān)值和終端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向,確定終端在當(dāng)如計(jì)步周期中的運(yùn)動(dòng)方向;
[0122]具體地,判斷第一相關(guān)值的符號(hào)和第二相關(guān)值的符號(hào)是否相同;如果相同,確定出終端的運(yùn)動(dòng)方向沒有發(fā)生變化,終端在當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向和終端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向相同,也即終端在當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向?yàn)榻K端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向;如果不相同,確定出終端的運(yùn)動(dòng)方向發(fā)生了變化,終端在當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向和終端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向不相同,也即終端在當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向?yàn)榻K端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向的相反方向。
[0123]由于終端在運(yùn)動(dòng)過程中,如果運(yùn)動(dòng)方向發(fā)生變化,則相關(guān)值的符號(hào)會(huì)發(fā)生變化,因此通過判斷第一相關(guān)值和第二相關(guān)值確定出終端的運(yùn)動(dòng)方向是否發(fā)生變化。
[0124]例如,第一相關(guān)值為-2,第二相關(guān)值為-8,終端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向?yàn)橄蚯?;則第一相關(guān)值的符號(hào)為第二相關(guān)值的符號(hào)為確定出第一相關(guān)值的符號(hào)和第二相關(guān)值的符號(hào)相同,確定出終端在當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向和終端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向相同,也即終端在當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向也為向前。
[0125]進(jìn)一步地,獲取每個(gè)計(jì)步周期中的最大相關(guān)值,將每個(gè)計(jì)步周期中的最大相關(guān)值進(jìn)行平均濾波,終端在運(yùn)動(dòng)過程中,最大相關(guān)值在穩(wěn)定前進(jìn)或者穩(wěn)定后退時(shí)分別趨于不同的穩(wěn)定值,因此,在終端運(yùn)動(dòng)方向發(fā)生變化時(shí),最大相關(guān)值會(huì)發(fā)生一個(gè)變化,因此,根據(jù)最大相關(guān)值的符號(hào)確定終端在當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向。
[0126]步驟206:計(jì)算終端當(dāng)前姿態(tài)的方位角;
[0127]具體地,根據(jù)俯仰角和翻滾角,可以采用以下公式(6)計(jì)算終端當(dāng)前姿態(tài)的方位角Θ。
β
[0128]Θ = arclan — (6)
a
[0129]其中,β為俯仰角,α為翻滾角。
[0130]步驟207:根據(jù)終端在當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向、方位角和方向值,計(jì)算終端的航向角;
[0131]如果終端在當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向?yàn)橄蚯埃@取終端中的電子羅盤輸出的方向值,計(jì)算方向值與方位角的差,得到第一差值,將第一差值作為終端的航向角;
[0132]如果終端的運(yùn)動(dòng)方向?yàn)橄蚝?,獲取終端中的電子羅盤輸出的方向值,計(jì)算方向值、方位角與180°的差,得到第二差值,將第二差值作為終端的航向角。
[0133]在本發(fā)明實(shí)施例中,根據(jù)終端的運(yùn)動(dòng)方向確定終端的航向角,提高了航向角的準(zhǔn)確性。
[0134]步驟208:顯示終端的航向角和終端在當(dāng)前計(jì)步周期中的運(yùn)行方向。
[0135]顯示終端的航向角和終端在當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向,從而為用戶提供導(dǎo)航服務(wù)。
[0136]在本發(fā)明實(shí)施例中,當(dāng)檢測到用戶行進(jìn)過程中完成一個(gè)計(jì)步周期時(shí),獲取當(dāng)前計(jì)步周期中終端在第一橫坐標(biāo)軸上對(duì)應(yīng)的第一加速度值,終端在第一縱坐標(biāo)軸上對(duì)應(yīng)的第二加速度值,以及終端在第一豎坐標(biāo)軸上對(duì)應(yīng)的第三加速度值;根據(jù)第一加速度值、第二加速度值和第三加速度值,分別計(jì)算終端在第二橫坐標(biāo)軸上對(duì)應(yīng)的第四加速度值,終端在第二縱坐標(biāo)軸上對(duì)應(yīng)的第五加速度值,以及終端在第二豎坐標(biāo)軸上對(duì)應(yīng)的第六加速度值;根據(jù)第四加速度值、第五加速度值和第六加速度值,確定出終端在當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸方向;獲取終端在第一主坐標(biāo)軸方向上的第一相關(guān)值,以及終端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向和終端對(duì)應(yīng)的第二主坐標(biāo)軸方向上的第二相關(guān)值;根據(jù)第一相關(guān)值、第二相關(guān)值和終端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向,確定終端在當(dāng)如計(jì)步周期中的運(yùn)動(dòng)方向,本發(fā)明中根據(jù)加速度值確定終端的運(yùn)動(dòng)方向,彌補(bǔ)了用戶手持終端時(shí)終端位置與運(yùn)動(dòng)方向不一致時(shí)通過電子羅盤獲取到錯(cuò)誤方向的缺陷,提高了定位的準(zhǔn)確度和確定終端運(yùn)動(dòng)方向的準(zhǔn)確性。
[0137]實(shí)施例3
[0138]本發(fā)明實(shí)施例提供了一種確定終端的運(yùn)動(dòng)方向的裝置,參見圖3,其中,該裝置包括:
[0139]第一獲取模塊301,用于當(dāng)檢測到用戶行進(jìn)過程中完成一個(gè)計(jì)步周期時(shí),獲取當(dāng)前計(jì)步周期中終端在第一橫坐標(biāo)軸上對(duì)應(yīng)的第一加速度值,終端在第一縱坐標(biāo)軸上對(duì)應(yīng)的第二加速度值,以及終端在第一豎坐標(biāo)軸上對(duì)應(yīng)的第三加速度值,第一橫坐標(biāo)軸、第一縱坐標(biāo)軸和第一豎坐標(biāo)軸分別為終端的內(nèi)置坐標(biāo)系的橫坐標(biāo)軸、縱坐標(biāo)軸和豎坐標(biāo)軸;
[0140]第一計(jì)算模塊302,用于根據(jù)第一加速度值、第二加速度值和第三加速度值,分別計(jì)算終端在第二橫坐標(biāo)軸上對(duì)應(yīng)的第四加速度值,終端在第二縱坐標(biāo)軸上對(duì)應(yīng)的第五加速度值,以及終端在第二豎坐標(biāo)軸上對(duì)應(yīng)的第六加速度值,第二橫坐標(biāo)軸、第二縱坐標(biāo)軸和第二豎坐標(biāo)軸分別為地理坐標(biāo)系的橫坐標(biāo)軸、縱坐標(biāo)軸和豎坐標(biāo)軸;
[0141]第一確定模塊303,用于根據(jù)第四加速度值、第五加速度值和第六加速度值,確定出終端在當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸方向;
[0142]第二獲取模塊304,用于獲取終端在第一主坐標(biāo)軸方向上的第一相關(guān)值,以及終端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向和終端對(duì)應(yīng)的第二主坐標(biāo)軸方向上的第二相關(guān)值,第一相關(guān)值為第一主坐標(biāo)軸上的加速度與第六加速度值之間的相關(guān)值;
[0143]第二確定模塊305,用于根據(jù)第一相關(guān)值、第二相關(guān)值和終端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向,確定終端在當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向。
[0144]優(yōu)選的,裝置還包括:
[0145]第二計(jì)算模塊,用于計(jì)算終端當(dāng)前姿態(tài)相對(duì)于水平面的俯仰角和翻滾角;
[0146]第三計(jì)算模塊,用于根據(jù)俯仰角和翻滾角計(jì)算終端當(dāng)前姿態(tài)的方位角;
[0147]第三獲取模塊,用于獲取電子羅盤輸入的方向值;
[0148]第四計(jì)算模塊,用于根據(jù)終端在當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向、方位角和方向值,計(jì)算終端的航向角;
[0149]顯示模塊,用于根據(jù)終端的航向角顯示終端在當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向。
[0150]優(yōu)選的,第四計(jì)算模塊,用于如果終端在當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向?yàn)橄蚯埃?jì)算方向值與方位角的差,得到第一差值,將第一差值作為終端的航向角;
[0151]如果終端的運(yùn)動(dòng)方向?yàn)橄蚝?,?jì)算方向值、方位角與180°的差,得到第二差值,將第二差值作為終端的航向角。
[0152]優(yōu)選的,第一確定模塊303,包括:
[0153]計(jì)算單元,用于計(jì)算第四加速度值與第六加速度值之間的相關(guān)值,第五加速度值與第六加速度值之間的相關(guān)值;
[0154]第一確定單元,用于如果第四加速度值與第六加速度值之間的相關(guān)值大于第五加速度值與第六加速度值之間的相關(guān)值,確定出終端在當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸方向?yàn)榈诙M坐標(biāo)軸方向;
[0155]第二確定單元,用于如果第四加速度值與第六加速度值之間的相關(guān)值不大于第五加速度值與第六加速度值之間的相關(guān)值,確定出終端在當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸方向?yàn)榈诙v坐標(biāo)軸方向。
[0156]優(yōu)選的,第二確定模塊305,包括:
[0157]判斷單元,用于判斷第一相關(guān)值的符號(hào)和第二相關(guān)值的符號(hào)是否相同;
[0158]第三確定單元,用于如果相同,確定出終端在當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向?yàn)榻K端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向;
[0159]第四確定單元,用于如果不相同,確定出終端在當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向?yàn)榻K端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向的相反方向。
[0160]在本發(fā)明實(shí)施例中,當(dāng)檢測到用戶行進(jìn)過程中完成一個(gè)計(jì)步周期時(shí),獲取當(dāng)前計(jì)步周期中終端在第一橫坐標(biāo)軸上對(duì)應(yīng)的第一加速度值,終端在第一縱坐標(biāo)軸上對(duì)應(yīng)的第二加速度值,以及終端在第一豎坐標(biāo)軸上對(duì)應(yīng)的第三加速度值;根據(jù)第一加速度值、第二加速度值和第三加速度值,分別計(jì)算終端在第二橫坐標(biāo)軸上對(duì)應(yīng)的第四加速度值,終端在第二縱坐標(biāo)軸上對(duì)應(yīng)的第五加速度值,以及終端在第二豎坐標(biāo)軸上對(duì)應(yīng)的第六加速度值;根據(jù)第四加速度值、第五加速度值和第六加速度值,確定出終端在當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸方向;獲取終端在第一主坐標(biāo)軸方向上的第一相關(guān)值,以及終端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向和終端對(duì)應(yīng)的第二主坐標(biāo)軸方向上的第二相關(guān)值;根據(jù)第一相關(guān)值、第二相關(guān)值和終端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向,確定終端在當(dāng)如計(jì)步周期中的運(yùn)動(dòng)方向,本發(fā)明中根據(jù)加速度值確定終端的運(yùn)動(dòng)方向,彌補(bǔ)了用戶手持終端時(shí)終端位置與運(yùn)動(dòng)方向不一致時(shí)通過電子羅盤獲取到錯(cuò)誤方向的缺陷,提高了定位的準(zhǔn)確度和確定終端運(yùn)動(dòng)方向的準(zhǔn)確性。
[0161]需要說明的是:上述實(shí)施例提供的確定終端運(yùn)動(dòng)方向的裝置在確定終端運(yùn)動(dòng)方向時(shí),僅以上述各功能模塊的劃分進(jìn)行舉例說明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實(shí)施例提供的確定終端運(yùn)動(dòng)方向的裝置與確定終端運(yùn)動(dòng)方向的方法實(shí)施例屬于同一構(gòu)思,其具體實(shí)現(xiàn)過程詳見方法實(shí)施例,這里不再贅述。
[0162]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。
[0163]以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種確定終端的運(yùn)動(dòng)方向的方法,其特征在于,所述方法包括: 當(dāng)檢測到用戶行進(jìn)過程中完成一個(gè)計(jì)步周期時(shí),獲取當(dāng)前計(jì)步周期中終端在第一橫坐標(biāo)軸上對(duì)應(yīng)的第一加速度值,所述終端在第一縱坐標(biāo)軸上對(duì)應(yīng)的第二加速度值,以及所述終端在第一豎坐標(biāo)軸上對(duì)應(yīng)的第三加速度值,所述第一橫坐標(biāo)軸、所述第一縱坐標(biāo)軸和所述第一豎坐標(biāo)軸分別為所述終端的內(nèi)置坐標(biāo)系的橫坐標(biāo)軸、縱坐標(biāo)軸和豎坐標(biāo)軸; 根據(jù)所述第一加速度值、所述第二加速度值和所述第三加速度值,分別計(jì)算所述終端在第二橫坐標(biāo)軸上對(duì)應(yīng)的第四加速度值,所述終端在第二縱坐標(biāo)軸上對(duì)應(yīng)的第五加速度值,以及所述終端在第二豎坐標(biāo)軸上對(duì)應(yīng)的第六加速度值,所述第二橫坐標(biāo)軸、所述第二縱坐標(biāo)軸和所述第二豎坐標(biāo)軸分別為地理坐標(biāo)系的橫坐標(biāo)軸、縱坐標(biāo)軸和豎坐標(biāo)軸; 根據(jù)所述第四加速度值、所述第五加速度值和所述第六加速度值,確定出所述終端在所述當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸方向;獲取所述終端在所述第一主坐標(biāo)軸方向上的第一相關(guān)值,以及所述終端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向和所述終端對(duì)應(yīng)的第二主坐標(biāo)軸方向上的第二相關(guān)值,所述第一相關(guān)值為所述第一主坐標(biāo)軸上的加速度與所述第六加速度值之間的相關(guān)值;根據(jù)所述第一相關(guān)值、所述第二相關(guān)值和所述終端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向,確定所述終端在所述當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向。
2.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 計(jì)算所述終端當(dāng)前姿態(tài)相對(duì)于水平面的俯仰角和翻滾角; 根據(jù)所述俯仰角和所述翻滾角計(jì)算所述終端當(dāng)前姿態(tài)的方位角; 獲取所述電子羅盤輸入的方向值; 根據(jù)所述終端在所述當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向、所述方位角和所述方向值,計(jì)算所述終端的航向角; 根據(jù)所述終端的航向角顯示所述終端在所述當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向。
3.如權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述終端在所述當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向、所述方位角和所述方向值,計(jì)算所述終端的航向角,包括: 如果所述終端在所述當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向?yàn)橄蚯埃?jì)算所述方向值與所述方位角的差,得到第一差值,將所述第一差值作為所述終端的航向角; 如果所述終端的運(yùn)動(dòng)方向?yàn)橄蚝?,?jì)算所述方向值、所述方位角與180°的差,得到第二差值,將所述第二差值作為所述終端的航向角。
4.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述第四加速度值、所述第五加速度值和所述第六加速度值,確定出所述終端在所述當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸方向,包括: 計(jì)算所述第四加速度值與所述第六加速度值之間的相關(guān)值,所述第五加速度值與所述第六加速度值之間的相關(guān)值; 如果所述第四加速度值與所述第六加速度值之間的相關(guān)值大于所述第五加速度值與所述第六加速度值之間的相關(guān)值,確定出所述終端在所述當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸方向?yàn)樗龅诙M坐標(biāo)軸方向; 如果所述第四加速度值與所述第六加速度值之間的相關(guān)值不大于所述第五加速度值與所述第六加速度值之間的相關(guān)值,確定出所述終端在所述當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸方向?yàn)樗龅诙v坐標(biāo)軸方向。
5.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述第一相關(guān)值、所述第二相關(guān)值和所述終端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向,確定所述終端在所述當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向,包括: 判斷所述第一相關(guān)值的符號(hào)和所述第二相關(guān)值的符號(hào)是否相同; 如果相同,確定出所述終端在所述當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向?yàn)樗鼋K端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向; 如果不相同,確定出所述終端在所述當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向?yàn)樗鼋K端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向的相反方向。
6.一種確定終端的運(yùn)動(dòng)方向的裝置,其特征在于,所述裝置包括: 第一獲取模塊,用于當(dāng)檢測到用戶行進(jìn)過程中完成一個(gè)計(jì)步周期時(shí),獲取當(dāng)前計(jì)步周期中終端在第一橫坐標(biāo)軸上對(duì)應(yīng)的第一加速度值,所述終端在第一縱坐標(biāo)軸上對(duì)應(yīng)的第二加速度值,以及所述終端在第一豎坐標(biāo)軸上對(duì)應(yīng)的第三加速度值,所述第一橫坐標(biāo)軸、所述第一縱坐標(biāo)軸和所述第一豎坐標(biāo)軸分別為所述終端的內(nèi)置坐標(biāo)系的橫坐標(biāo)軸、縱坐標(biāo)軸和豎坐標(biāo)軸; 第一計(jì)算模塊,用于根據(jù)所述第一加速度值、所述第二加速度值和所述第三加速度值,分別計(jì)算所述終端在第二橫坐標(biāo)軸上對(duì)應(yīng)的第四加速度值,所述終端在第二縱坐標(biāo)軸上對(duì)應(yīng)的第五加速度值,以及所述終端在第二豎坐標(biāo)軸上對(duì)應(yīng)的第六加速度值,所述第二橫坐標(biāo)軸、所述第二縱坐標(biāo)軸和所述第二豎坐標(biāo)軸分別為地理坐標(biāo)系的橫坐標(biāo)軸、縱坐標(biāo)軸和豎坐標(biāo)軸; 第一確定模塊,用于根據(jù)所述第四加速度值、所述第五加速度值和所述第六加速度值,確定出所述終端在所述當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸方向; 第二獲取模塊,用于獲取所述終端在所述第一主坐標(biāo)軸方向上的第一相關(guān)值,以及所述終端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向和所述終端對(duì)應(yīng)的第二主坐標(biāo)軸方向上的第二相關(guān)值,所述第一相關(guān)值為所述第一主坐標(biāo)軸上的加速度與所述第六加速度值之間的相關(guān)值; 第二確定模塊,用于根據(jù)所述第一相關(guān)值、所述第二相關(guān)值和所述終端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向,確定所述終端在所述當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向。
7.如權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 第二計(jì)算模塊,用于計(jì)算所述終端當(dāng)前姿態(tài)相對(duì)于水平面的俯仰角和翻滾角; 第三計(jì)算模塊,用于根據(jù)所述俯仰角和所述翻滾角計(jì)算所述終端當(dāng)前姿態(tài)的方位角; 第三獲取模塊,用于獲取所述電子羅盤輸入的方向值; 第四計(jì)算模塊,用于根據(jù)所述終端在所述當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向、所述方位角和所述方向值,計(jì)算所述終端的航向角; 顯示模塊,用于根據(jù)所述終端的航向角顯示所述終端在所述當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向。
8.如權(quán)利要求7所述的裝置,其特征在于, 所述第四計(jì)算模塊,用于如果所述終端在所述當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向?yàn)橄蚯?,?jì)算所述方向值與所述方位角的差,得到第一差值,將所述第一差值作為所述終端的航向角; 如果所述終端的運(yùn)動(dòng)方向?yàn)橄蚝螅?jì)算所述方向值、所述方位角與180°的差,得到第二差值,將所述第二差值作為所述終端的航向角。
9.如權(quán)利要求6所述的裝置,其特征在于,所述第一確定模塊,包括: 計(jì)算單元,用于計(jì)算所述第四加速度值與所述第六加速度值之間的相關(guān)值,所述第五加速度值與所述第六加速度值之間的相關(guān)值; 第一確定單元,用于如果所述第四加速度值與所述第六加速度值之間的相關(guān)值大于所述第五加速度值與所述第六加速度值之間的相關(guān)值,確定出所述終端在所述當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸方向?yàn)樗龅诙M坐標(biāo)軸方向; 第二確定單元,用于如果所述第四加速度值與所述第六加速度值之間的相關(guān)值不大于所述第五加速度值與所述第六加速度值之間的相關(guān)值,確定出所述終端在所述當(dāng)前計(jì)步周期中運(yùn)動(dòng)對(duì)應(yīng)的第一主坐標(biāo)軸方向?yàn)樗龅诙v坐標(biāo)軸方向。
10.如權(quán)利要求6所述的裝置,其特征在于,所述第二確定模塊,包括: 判斷單元,用于判斷所述第一相關(guān)值的符號(hào)和所述第二相關(guān)值的符號(hào)是否相同; 第三確定單元,用于如果相同,確定出所述終端在所述當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向?yàn)樗鼋K端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向; 第四確定單元,用于如果不相同,確定出所述終端在所述當(dāng)前計(jì)步周期中的運(yùn)動(dòng)方向?yàn)樗鼋K端在離當(dāng)前時(shí)間最近的上一個(gè)計(jì)步周期中的運(yùn)動(dòng)方向的相反方向。
【文檔編號(hào)】G01C21/16GK104266646SQ201410460833
【公開日】2015年1月7日 申請(qǐng)日期:2014年9月11日 優(yōu)先權(quán)日:2014年9月11日
【發(fā)明者】鄧中亮, 陸順保, 王克己, 曾輝, 方葉青, 鄭若彧, 楊易 申請(qǐng)人:北京郵電大學(xué)