本發(fā)明涉及空鼠技術(shù)領(lǐng)域,尤其涉及一種空鼠的位移獲取方法和裝置。
背景技術(shù):
空鼠是一種無線鼠標(biāo),其具有體積小,攜帶方便,操作舒適,不受空間限制等特點(diǎn),應(yīng)用越來越廣泛,在諸如耳機(jī)、虛擬現(xiàn)實(shí)(virtualreality,簡稱vr)、增強(qiáng)現(xiàn)實(shí)(augmentedreality,簡稱ar)等體感交互領(lǐng)域備受關(guān)注。比如在游戲應(yīng)用中,在一些體感設(shè)備中實(shí)現(xiàn)空鼠功能(也稱為體感空鼠),可以使廣大游戲玩家可以擺脫傳統(tǒng)的機(jī)械鼠標(biāo)進(jìn)行游戲操作,體驗(yàn)更佳。
實(shí)際應(yīng)用中,往往會(huì)遇到這樣的情況:用戶實(shí)際上并不想要讓空鼠移動(dòng),但是由于某些原因空鼠卻發(fā)生小幅度的移動(dòng),由于空鼠的敏感度過高很可能導(dǎo)致顯示屏上顯示的空鼠的坐標(biāo)位置發(fā)生抖動(dòng),不能穩(wěn)定停留在某個(gè)位置。因此,迫切需要提供一種有效的空鼠的真實(shí)位移的獲取方法,避免空鼠的過敏感對(duì)確定空鼠在顯示屏上的坐標(biāo)位置的不利影響。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例提供一種空鼠的位移獲取方法和裝置,用以克服空鼠的過敏感對(duì)確定空鼠在顯示屏上的坐標(biāo)位置的不利影響。
第一方面,本發(fā)明實(shí)施例提供一種空鼠的位移獲取方法,包括:
采集空鼠當(dāng)前對(duì)應(yīng)的三軸方向的重力加速度;
根據(jù)所述重力加速度確定所述空鼠當(dāng)前對(duì)應(yīng)的第一姿態(tài)角;
對(duì)所述第一姿態(tài)角進(jìn)行校正處理;
根據(jù)校正后的第一姿態(tài)角與第二姿態(tài)角的比較結(jié)果,確定所述空鼠的移動(dòng)速度;
根據(jù)所述空鼠的移動(dòng)速度和原坐標(biāo),確定所述空鼠對(duì)應(yīng)的當(dāng)前坐標(biāo),其中,所述第二姿態(tài)角與所述原坐標(biāo)對(duì)應(yīng),所述原坐標(biāo)為根據(jù)所述移動(dòng)速度移動(dòng)前所述空鼠對(duì)應(yīng)的坐標(biāo)。
可選地,所述第一姿態(tài)角包括:俯仰角和翻滾角,以及,所述根據(jù)校正后的第一姿態(tài)角與第二姿態(tài)角的比較結(jié)果,確定所述空鼠的移動(dòng)速度,包括:
根據(jù)如下分段函數(shù)確定所述空鼠的在x軸方向的移動(dòng)速度vxn以及在y軸方向的移動(dòng)速度vyn:
其中,
可選地,所述根據(jù)所述空鼠的移動(dòng)速度和原坐標(biāo),確定所述空鼠對(duì)應(yīng)的當(dāng)前坐標(biāo),包括:
根據(jù)如下公式確定所述空鼠對(duì)應(yīng)的當(dāng)前坐標(biāo)(xn,yn):
xn=xn-1+vxn·δt
yn=y(tǒng)n-1+vyn·δt
其中,(xn-1,yn-1)為所述原坐標(biāo),δt為所述原坐標(biāo)的獲取時(shí)刻與當(dāng)前時(shí)刻的時(shí)間差。
第二方面,本發(fā)明實(shí)施例提供一種空鼠的位移獲取裝置,包括:
采集模塊,用于采集空鼠當(dāng)前對(duì)應(yīng)的三軸方向的重力加速度;
第一確定模塊,用于根據(jù)所述重力加速度確定所述空鼠當(dāng)前對(duì)應(yīng)的第一姿態(tài)角;
校正模塊,用于對(duì)所述第一姿態(tài)角進(jìn)行校正處理;
第二確定模塊,用于根據(jù)校正后的第一姿態(tài)角與第二姿態(tài)角的比較結(jié)果,確定所述空鼠的移動(dòng)速度;
第三確定模塊,用于根據(jù)所述空鼠的移動(dòng)速度和原坐標(biāo),確定所述空鼠對(duì)應(yīng)的當(dāng)前坐標(biāo),其中,所述第二姿態(tài)角與所述原坐標(biāo)對(duì)應(yīng),所述原坐標(biāo)為根據(jù)所述移動(dòng)速度移動(dòng)前所述空鼠對(duì)應(yīng)的坐標(biāo)。
本發(fā)明實(shí)施例提供的空鼠的位移獲取方法和裝置,通過加速度傳感器可以采集空鼠當(dāng)前對(duì)應(yīng)的三軸方向的重力加速度,并根據(jù)采集到的重力加速度確定空鼠當(dāng)前對(duì)應(yīng)的第一姿態(tài)角。之后,通過對(duì)該第一姿態(tài)角進(jìn)行校正處理,比如進(jìn)行平滑、去噪等處理,以得到平滑的、干凈的姿態(tài)角信息。進(jìn)而,比較校正后的第一姿態(tài)角與空鼠上一次穩(wěn)定停留在顯示屏上的坐標(biāo)稱為原坐標(biāo)時(shí)所對(duì)應(yīng)的第二姿態(tài)角,以根據(jù)比較結(jié)果確定空鼠當(dāng)前的移動(dòng)速度,進(jìn)而確定空鼠對(duì)應(yīng)的當(dāng)前坐標(biāo)。通過第一姿態(tài)角與第二姿態(tài)角的比較,可以防止用戶無意導(dǎo)致的空鼠抖動(dòng)對(duì)空鼠在顯示屏中坐標(biāo)位置確定的不利影響,進(jìn)而提高用戶使用空鼠進(jìn)行交互操作的使用體驗(yàn),比如可以避免由于用戶對(duì)空鼠的無意識(shí)晃動(dòng)使得顯示屏中空鼠坐標(biāo)位置移動(dòng)而導(dǎo)致空鼠不能穩(wěn)定停留在用戶希望的屏幕位置的現(xiàn)象。綜上,基于對(duì)第一姿態(tài)角的校正和第一姿態(tài)角與第二姿態(tài)角的比較,可以克服空鼠的過敏感對(duì)確定空鼠在顯示屏上的坐標(biāo)位置的不利影響。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的空鼠的位移獲取方法實(shí)施例一的流程圖;
圖2為空鼠的姿態(tài)角與空鼠在顯示屏的坐標(biāo)系中的位移變化的對(duì)應(yīng)關(guān)系示意圖;
圖3為本發(fā)明實(shí)施例提供的空鼠的位移獲取方法實(shí)施例二的流程圖;
圖4為本發(fā)明實(shí)施例提供的空鼠的位移獲取裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
在本發(fā)明實(shí)施例中使用的術(shù)語是僅僅出于描述特定實(shí)施例的目的,而非旨在限制本發(fā)明。在本發(fā)明實(shí)施例和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義,“多種”一般包含至少兩種,但是不排除包含至少一種的情況。
應(yīng)當(dāng)理解,本文中使用的術(shù)語“和/或”僅僅是一種描述關(guān)聯(lián)對(duì)象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,a和/或b,可以表示:單獨(dú)存在a,同時(shí)存在a和b,單獨(dú)存在b這三種情況。另外,本文中字符“/”,一般表示前后關(guān)聯(lián)對(duì)象是一種“或”的關(guān)系。
應(yīng)當(dāng)理解,盡管在本發(fā)明實(shí)施例中可能采用術(shù)語第一、第二、第三等來描述xxx,但這些xxx不應(yīng)限于這些術(shù)語。這些術(shù)語僅用來將xxx區(qū)分開。例如,在不脫離本發(fā)明實(shí)施例范圍的情況下,第一xxx也可以被稱為第二xxx,類似地,第二xxx也可以被稱為第一xxx。
取決于語境,如在此所使用的詞語“如果”、“若”可以被解釋成為“在……時(shí)”或“當(dāng)……時(shí)”或“響應(yīng)于確定”或“響應(yīng)于檢測(cè)”。類似地,取決于語境,短語“如果確定”或“如果檢測(cè)(陳述的條件或事件)”可以被解釋成為“當(dāng)確定時(shí)”或“響應(yīng)于確定”或“當(dāng)檢測(cè)(陳述的條件或事件)時(shí)”或“響應(yīng)于檢測(cè)(陳述的條件或事件)”。
還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的商品或者系統(tǒng)不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種商品或者系統(tǒng)所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的商品或者系統(tǒng)中還存在另外的相同要素。
進(jìn)一步值得說明的是,本發(fā)明各實(shí)施例中各步驟之間的順序是可以調(diào)整的,不是必須按照以下舉例的順序執(zhí)行。
圖1為本發(fā)明實(shí)施例提供的空鼠的位移獲取方法實(shí)施例一的流程圖,本實(shí)施例提供的該空鼠的位移獲取方法可以由一空鼠的位移獲取裝置來執(zhí)行,該空鼠的位移獲取裝置可以實(shí)現(xiàn)為軟件,或者實(shí)現(xiàn)為軟件和硬件的組合,該空鼠的位移獲取裝置可以集成設(shè)置在某體感設(shè)備中,比如耳機(jī)、ar或vr應(yīng)用場景使用的頭戴式設(shè)備等。如圖1所示,該方法包括如下步驟:
101、采集空鼠當(dāng)前對(duì)應(yīng)的三軸方向的重力加速度。
本實(shí)施例中,假設(shè)空鼠具體可以實(shí)現(xiàn)為耳機(jī),可以在耳機(jī)中設(shè)置運(yùn)動(dòng)傳感器以實(shí)現(xiàn)空鼠耳機(jī)??蛇x地,該運(yùn)動(dòng)傳感器可以是加速度傳感器,用于檢測(cè)空鼠在xyz三軸方向上分別對(duì)應(yīng)的重力加速度(gx,gy,gz),其中,gx為x軸方向?qū)?yīng)的重力加速度,gy為y軸方向?qū)?yīng)的重力加速度,gz為z軸方向?qū)?yīng)的重力加速度。
可以理解的是,該三軸方向相當(dāng)于是建立物理空間對(duì)應(yīng)的三維坐標(biāo)系,坐標(biāo)原點(diǎn)可以是加速度傳感器在耳機(jī)中的設(shè)置位置。gx,gy,gz相當(dāng)于是加速度傳感器當(dāng)前測(cè)得的重力加速度在三軸方向的分量。
實(shí)際應(yīng)用中,可以預(yù)先設(shè)置加速度傳感器的采集間隔,使得加速度傳感器可以每隔該采集間隔采集一次重力加速度。
102、根據(jù)重力加速度確定空鼠當(dāng)前對(duì)應(yīng)的第一姿態(tài)角。
可選地,第一姿態(tài)角可以包括:俯仰角和翻滾角。具體地,根據(jù)當(dāng)前采集到的重力加速度(gx,gy,gz)確定空鼠當(dāng)前對(duì)應(yīng)的第一姿態(tài)角,可以實(shí)現(xiàn)為:
確定空鼠當(dāng)前對(duì)應(yīng)的俯仰角為:pitchn=-arcsin(gx/g);確定空鼠當(dāng)前對(duì)應(yīng)的翻滾角為:rolln=-arctan(gy/gz);其中,g為預(yù)設(shè)重力加速度常數(shù),n代表當(dāng)前時(shí)刻。
103、對(duì)第一姿態(tài)角進(jìn)行校正處理。
實(shí)際應(yīng)用中,空鼠可能由于某些原因發(fā)送用戶并不希望出現(xiàn)的抖動(dòng)現(xiàn)象,即實(shí)際上用戶并不想要讓空鼠移動(dòng),但是客觀上卻發(fā)生了空鼠的抖動(dòng)現(xiàn)象,此時(shí),可能導(dǎo)致在顯示屏上空鼠對(duì)應(yīng)的坐標(biāo)位置發(fā)生位移變化,而該位移變化是不希望出現(xiàn)的,即是由空鼠的過敏感導(dǎo)致的。
因此,為避免空鼠在顯示屏的坐標(biāo)系中的坐標(biāo)位置不發(fā)生抖動(dòng)現(xiàn)象,可選地,可以預(yù)先對(duì)用于確定空鼠在顯示屏中的坐標(biāo)位置的第一姿態(tài)角進(jìn)行校正,以獲得真實(shí)可靠的姿態(tài)角信息。其中,對(duì)第一姿態(tài)角的校正處理比如可以包括平滑處理、去噪處理等。
104、根據(jù)校正后的第一姿態(tài)角與第二姿態(tài)角的比較結(jié)果,確定空鼠的移動(dòng)速度,第二姿態(tài)角與原坐標(biāo)對(duì)應(yīng)。
其中,該原坐標(biāo)為根據(jù)移動(dòng)速度移動(dòng)前空鼠對(duì)應(yīng)的坐標(biāo),亦即空鼠在顯示屏中最近一次穩(wěn)定停留在的坐標(biāo)位置。
105、根據(jù)空鼠的移動(dòng)速度和原坐標(biāo),確定空鼠對(duì)應(yīng)的當(dāng)前坐標(biāo)。
可以預(yù)先保存空鼠在顯示屏中之前時(shí)刻所位于的坐標(biāo)位置,稱為原坐標(biāo),并且保存用于確定該原坐標(biāo)的姿態(tài)角,稱為第二姿態(tài)角。
從而,在根據(jù)當(dāng)前確定出的第一姿態(tài)角確定空鼠在顯示屏中的坐標(biāo)位置是否需要改變,改變到何處時(shí),可以比較第一姿態(tài)角與第二姿態(tài)角,以根據(jù)第一姿態(tài)角相對(duì)于第二姿態(tài)角發(fā)生的角度改變的程度,確定是否需要改變空鼠在顯示屏中的坐標(biāo)位置以及改變到何處。
當(dāng)確定需要改變空鼠在顯示屏中的坐標(biāo)位置時(shí),可以根據(jù)預(yù)先設(shè)定的姿態(tài)角改變程度與空鼠移動(dòng)速度的對(duì)應(yīng)關(guān)系,確定出當(dāng)前在顯示屏中空鼠坐標(biāo)的移動(dòng)速度,進(jìn)而基于該移動(dòng)速度和原坐標(biāo)確定空鼠在顯示屏中當(dāng)前對(duì)應(yīng)的坐標(biāo)位置。
另外,值得說明的是,在確定空鼠在顯示屏中當(dāng)前對(duì)應(yīng)的坐標(biāo)位置時(shí),是一個(gè)確定空鼠在顯示屏中相對(duì)于原坐標(biāo)向什么方向移動(dòng)多少距離的過程。其中,移動(dòng)方向可以根據(jù)第一姿態(tài)角相對(duì)于第二姿態(tài)角的差值來確定,即根據(jù)第一姿態(tài)角相對(duì)于第二姿態(tài)角的改變方向來確定。如圖2所示,俯仰角的改變會(huì)引起空鼠在顯示屏中x軸方向坐標(biāo)的改變,翻滾角的改變會(huì)引起空鼠在顯示屏中y軸方向坐標(biāo)的改變。
本實(shí)施例中,首先采集空鼠當(dāng)前對(duì)應(yīng)的三軸方向的重力加速度,并根據(jù)采集到的重力加速度確定空鼠當(dāng)前對(duì)應(yīng)的第一姿態(tài)角。之后,通過對(duì)該第一姿態(tài)角進(jìn)行校正處理,比如進(jìn)行平滑、去噪等處理,以得到平滑的、干凈的姿態(tài)角信息。進(jìn)而,比較校正后的第一姿態(tài)角與空鼠上一次位于原坐標(biāo)時(shí)所對(duì)應(yīng)的第二姿態(tài)角,以根據(jù)比較結(jié)果確定空鼠當(dāng)前的移動(dòng)速度,進(jìn)而確定空鼠對(duì)應(yīng)的當(dāng)前坐標(biāo)。通過第一姿態(tài)角與第二姿態(tài)角的比較,可以防止用戶無意導(dǎo)致的空鼠抖動(dòng)對(duì)空鼠在顯示屏中坐標(biāo)位置確定的不利影響。綜上,基于對(duì)第一姿態(tài)角的校正和第一姿態(tài)角與第二姿態(tài)角的比較,可以克服空鼠的過敏感對(duì)確定空鼠在顯示屏上的坐標(biāo)位置的不利影響。
圖3為本發(fā)明實(shí)施例提供的空鼠的位移獲取方法實(shí)施例二的流程圖,如圖3所示,可以包括如下步驟:
201、采集空鼠當(dāng)前對(duì)應(yīng)的三軸方向的重力加速度。
202、采用預(yù)先獲得的標(biāo)定參數(shù)對(duì)重力加速度進(jìn)行標(biāo)定。
假設(shè)當(dāng)前采集到的重力加速度為(gx,gy,gz),標(biāo)定后的重力加速度為(gx',gy',gz')。
具體地,對(duì)重力加速度(gx,gy,gz)進(jìn)行標(biāo)定的過程可以是:
gx'=kxxgx+kxygy+kxzgz+offset_x;
gy'=kyxgx+kyygy+kyzgz+offset_y;
gz'=kzxgx+kzygy+kzzgz+offset_z.
其中,kxx,kxy,kxz,offset_x,kyx,kyy,kyz,offset_y,kzx,kzy,kzz,offset_z為標(biāo)定參數(shù)。
這些標(biāo)定參數(shù)的確定過程可以采用“六位置”法進(jìn)行確定。以空鼠具體實(shí)現(xiàn)為耳機(jī)為例,可以在耳機(jī)出廠時(shí)對(duì)標(biāo)定參數(shù)進(jìn)行確定。具體來說,可以調(diào)整加速度傳感器在耳機(jī)中的安放位置,使得加速度傳感器分別位于六個(gè)不同位置,該安放位置的調(diào)整可以理解為是調(diào)整物理空間三維坐標(biāo)系中xyz三軸的指向。另外,在每個(gè)安放位置處,如果加速度傳感器都處于理想工作狀態(tài),則會(huì)具有對(duì)應(yīng)的理論重力加速度值,從而,結(jié)合加速度傳感器在各安放位置處對(duì)應(yīng)的理論重力加速度值以及實(shí)際測(cè)得的重力加速度值,可以求解標(biāo)定參數(shù)。
加速度傳感器的安放位置與理論重力加速度值的情況如下表所示:
表1:加速度傳感器的標(biāo)定參考表
結(jié)合上述表格可知加速度傳感器分別在六個(gè)不同安放位置處時(shí)對(duì)應(yīng)的理論重力加速度值的情況,進(jìn)而,結(jié)合加速度傳感器在各安放位置處實(shí)際測(cè)得的重力加速度值,根據(jù)如下的公式,可以求解各標(biāo)定參數(shù):
gx實(shí)測(cè)=kxxgx理論+kxygy理論+kxzgz理論+offset_x;
gy實(shí)測(cè)=kyxgx理論+kyygy理論+kyzgz理論+offset_y;
gz實(shí)測(cè)=kzxgx理論+kzygy理論+kzzgz理論+offset_z.
203、根據(jù)標(biāo)定后的重力加速度確定空鼠當(dāng)前對(duì)應(yīng)的第一姿態(tài)角。
第一姿態(tài)角的確定過程參照前述實(shí)施例實(shí)現(xiàn),在此不贅述。
204、結(jié)合k個(gè)第三姿態(tài)角對(duì)第一姿態(tài)角進(jìn)行平滑處理,k個(gè)第三姿態(tài)角與在所述重力加速度之前采集到的k個(gè)重力加速度對(duì)應(yīng)。
205、對(duì)平滑處理后的第一姿態(tài)角進(jìn)行去噪處理。
本實(shí)施例中,可以采用平滑處理的方式克服空鼠抖動(dòng)的問題。具體來說,針對(duì)當(dāng)前獲得的第一姿態(tài)角,可以向前取k個(gè)第三姿態(tài)角,以采用這k個(gè)第三姿態(tài)角對(duì)該第一姿態(tài)角進(jìn)行平滑處理。
由于加速度傳感器被預(yù)先設(shè)置為以一定的采集間隔不斷采集重力加速度,從而可以根據(jù)姿態(tài)角的確定方法,確定出每次采集的重力加速度所對(duì)應(yīng)的姿態(tài)角。上述k個(gè)第三姿態(tài)角即為:與采集到第一姿態(tài)角對(duì)應(yīng)的重力加速度之前采集到的k個(gè)重力加速度分別相對(duì)應(yīng)的姿態(tài)角。
實(shí)際應(yīng)用中,可以預(yù)先設(shè)置合理的取值范圍,k的取值可以在該取值范圍內(nèi)隨機(jī)選擇;或者,也可以預(yù)先設(shè)置k取某個(gè)固定的數(shù)值。該取值范圍的設(shè)定可以結(jié)合加速度傳感器的采集間隔來設(shè)定,采集間隔越短,取值范圍上限可以越大。
以k=5為例,對(duì)第一姿態(tài)角的平滑處理具體可以為:
之后,可以采用比如fft(傅里葉)濾波方法對(duì)平滑后的第一姿態(tài)角進(jìn)行去噪處理,以濾除第一姿態(tài)角中的高頻噪聲部分。該fft濾波方法運(yùn)行速度快,功耗低。
206、采用預(yù)設(shè)分段函數(shù)比較去噪后的第一姿態(tài)角與第二姿態(tài)角,以確定空鼠的移動(dòng)速度,第二姿態(tài)角與原坐標(biāo)對(duì)應(yīng)。
其中,原坐標(biāo)的含義參見前述實(shí)施例中的說明,在此不贅述。
207、根據(jù)空鼠的移動(dòng)速度和原坐標(biāo),確定空鼠對(duì)應(yīng)的當(dāng)前坐標(biāo)。
具體地,可以根據(jù)如下分段函數(shù)確定空鼠在顯示屏中x軸方向的移動(dòng)速度vxn以及y軸方向的移動(dòng)速度vyn:
其中,
由上述分段函數(shù)可知:針對(duì)翻滾角來說,如果翻滾角的變化程度較小,則空鼠在顯示屏中的x軸方向位置不變,如果翻滾角的變化程度較大,則空鼠在顯示屏中的x軸方向的坐標(biāo)移動(dòng)速度與翻滾角的變化程度具有正比關(guān)系。同樣地,針對(duì)俯仰角來說,如果俯仰角的變化程度較小,則空鼠在顯示屏中的y軸方向位置不變,如果俯仰角的變化程度較大,則空鼠在顯示屏中的y軸方向的坐標(biāo)移動(dòng)速度與俯仰角的變化程度具有正比關(guān)系。
基于分段函數(shù)進(jìn)行空鼠在顯示屏中移動(dòng)速度的確定,一方面可以去除噪聲和空鼠抖動(dòng)對(duì)空鼠在顯示屏中移動(dòng)的不利影響;另一方面可以讓空鼠‘滯空’停留,即停留在需要的位置,以便用戶可以在該位置處觸發(fā)對(duì)空鼠的其他控制操作,比如通過敲擊空鼠而觸發(fā)對(duì)該位置處的某個(gè)應(yīng)用圖標(biāo)進(jìn)行打開操作,等等。
在確定出空鼠在顯示屏中x軸方向的移動(dòng)速度vxn以及y軸方向的移動(dòng)速度vyn后,可以根據(jù)如下公式確定空鼠在顯示屏中對(duì)應(yīng)的當(dāng)前坐標(biāo)(xn,yn):
xn=xn-1+vxn·δt
yn=y(tǒng)n-1+vyn·δt
其中,(xn-1,yn-1)為原坐標(biāo),δt為原坐標(biāo)的獲取時(shí)刻與當(dāng)前時(shí)刻的時(shí)間差。
實(shí)際應(yīng)用中,對(duì)空鼠在顯示屏中坐標(biāo)位置進(jìn)行確定處理的時(shí)間間隔與加速度傳感器的采集間隔可以一致,也可以略大于采集間隔。當(dāng)與采集間隔一致時(shí),該坐標(biāo)的獲取時(shí)刻與當(dāng)前時(shí)刻的時(shí)間差可以為采集間隔的時(shí)長。
綜上,本實(shí)施例中,在采集到空鼠當(dāng)前對(duì)應(yīng)的三軸方向的重力加速度之后,通過對(duì)該重力加速度的標(biāo)定處理,對(duì)基于該重力加速度確定的第一姿態(tài)角的平滑、去噪處理,可以保證用于確定空鼠在顯示屏中坐標(biāo)位置的姿態(tài)角信息的準(zhǔn)確、可靠。進(jìn)而,基于分段函數(shù)對(duì)空鼠在顯示屏中的坐標(biāo)移動(dòng)速度進(jìn)行確定,可以實(shí)現(xiàn)空鼠在顯示屏中的滯空停留效果。
圖4為本發(fā)明實(shí)施例提供的空鼠的位移獲取裝置的結(jié)構(gòu)示意圖,如圖4所示,該裝置包括:采集模塊11、第一確定模塊12、校正模塊13、第二確定模塊14、第三確定模塊15。
采集模塊11,用于采集空鼠當(dāng)前對(duì)應(yīng)的三軸方向的重力加速度。
第一確定模塊12,用于根據(jù)所述重力加速度確定所述空鼠當(dāng)前對(duì)應(yīng)的第一姿態(tài)角。
校正模塊13,用于對(duì)所述第一姿態(tài)角進(jìn)行校正處理。
第二確定模塊14,用于根據(jù)校正后的第一姿態(tài)角與第二姿態(tài)角的比較結(jié)果,確定所述空鼠的移動(dòng)速度。
第三確定模塊15,用于根據(jù)所述空鼠的移動(dòng)速度和原坐標(biāo),確定所述空鼠對(duì)應(yīng)的當(dāng)前坐標(biāo),其中,所述第二姿態(tài)角與所述原坐標(biāo)對(duì)應(yīng),所述原坐標(biāo)為根據(jù)所述移動(dòng)速度移動(dòng)前所述空鼠對(duì)應(yīng)的坐標(biāo)。
可選地,該裝置還包括:標(biāo)定模塊16。
標(biāo)定模塊16,用于采用預(yù)先獲得的標(biāo)定參數(shù)對(duì)所述重力加速度進(jìn)行標(biāo)定。
可選地,所述校正模塊13包括:平滑單元131、去噪單元132。
平滑單元131,用于結(jié)合k個(gè)第三姿態(tài)角對(duì)所述第一姿態(tài)角進(jìn)行平滑處理,所述k個(gè)第三姿態(tài)角與在所述重力加速度之前采集到的k個(gè)重力加速度對(duì)應(yīng),k為大于1的預(yù)設(shè)值。
去噪單元132,用于對(duì)平滑處理后的第一姿態(tài)角進(jìn)行去噪處理。
可選地,所述第一姿態(tài)角包括:俯仰角和翻滾角,以及,所述第一確定模塊12具體用于:
確定所述空鼠當(dāng)前對(duì)應(yīng)的俯仰角為:pitchn=-arcsin(gx/g);
確定所述空鼠當(dāng)前對(duì)應(yīng)的翻滾角為:rolln=-arctan(gy/gz);
其中,g為預(yù)設(shè)重力加速度常數(shù),gx為x軸方向?qū)?yīng)的重力加速度,gy為y軸方向?qū)?yīng)的重力加速度,gz為z軸方向?qū)?yīng)的重力加速度。
可選地,所述第二確定模塊14具體用于:
根據(jù)如下分段函數(shù)確定所述空鼠的在x軸方向的移動(dòng)速度vxn以及在y軸方向的移動(dòng)速度vyn:
其中,
從而可選地,所述第三確定模塊15具體用于:
根據(jù)如下公式確定所述空鼠對(duì)應(yīng)的當(dāng)前坐標(biāo)(xn,yn):
xn=xn-1+vxn·δt
yn=y(tǒng)n-1+vyn·δt
其中,(xn-1,yn-1)為所述原坐標(biāo),δt為所述原坐標(biāo)的獲取時(shí)刻與當(dāng)前時(shí)刻的時(shí)間差。
圖4所示裝置可以執(zhí)行圖1、圖3所示實(shí)施例的方法,本實(shí)施例未詳細(xì)描述的部分,可參考對(duì)圖1、圖3所示實(shí)施例的相關(guān)說明。該技術(shù)方案的執(zhí)行過程和技術(shù)效果參見圖1、圖3所示實(shí)施例中的描述,在此不再贅述。
以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動(dòng)的情況下,即可以理解并實(shí)施。
最后應(yīng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。