專利名稱:獲取空中鼠標位移的方法、空中鼠標及空中鼠標控制系統的制作方法
技術領域:
本發明涉及通信技術領域,具體涉及獲取空中鼠標位移的方法、空中鼠標及空中鼠標控制系統。
背景技術:
在傳統人機交互方式中,一般用鼠標、鍵盤或者遙控等控制設備通過有線路徑或無線路徑(如紅外、射頻信號等),將用戶的控制命令發送給主機,進而實現相關控制功能。這些控制方式有其簡單易實現的特點,但由于其控制信息采集方式的單一及傳輸方式上單工通訊和易受干擾的特點,在越來越多的智能化設備上已無法實現更高的體驗感和交互應用多樣化的發展需求。
后來出現了以陀螺儀為數據采集源的空中鼠標方案,該方案中將陀螺儀三軸中的兩軸輸出數據模擬為鼠標在電腦桌面X和Y軸的移動矢量,可以較準確的實現對鼠標光標的控制,但是由于陀螺儀自身數據計算過程中的算法及制造工藝等問題,在長時間的使用過程中,會出現逐漸積累的數據誤差,進而影響整體的性能穩定性。此外,由于該方案是通過陀螺儀自身三軸坐標模擬空間三維坐標,所以只有在坐標軸之間吻合度較高的情況下才會較準確的計算每一坐標上的移動矢量,而當陀螺儀的三軸坐標與空間三維坐標出現較大偏差時,就會出現坐標偏移現象,該現象表現為對應坐標之間對應關系耦合度降低,比如陀螺儀X軸與空間水平面出現較大角度時,若水平移動鼠標,不僅在X軸有數據輸出,此時在Y軸也有較大的分量,直接效果就是鼠標光標的斜向上移動。
發明內容
本發明實施例提供猶取空中鼠標位移的方法、空中鼠標和空中鼠標控制系統,以實現對空中鼠標移動數據的實時、準確的采集,同時提高空中鼠標使用者的體驗感。本發明實施例提供一種獲取空中鼠標位移的方法,包括通過空中鼠標內部的加速度計檢測空中鼠標當前在X軸、Y軸和Z軸上的加速度,并將所述三條軸上的加速度轉換為空中鼠標控制面與水平面之間的偏移角度,記為第一傾角;通過空中鼠標內部的陀螺儀檢測空中鼠標當前在X軸、Y軸和Z軸上的角速率,并將所述三條軸中對應空中鼠標旋轉軸的軸上的角速率轉換為空中鼠標控制面圍繞旋轉軸所轉過的角度,記為第二傾角;利用卡爾曼濾波器對所述第一傾角和第二傾角進行數據融合,得到第三傾角;將所述第三傾角轉換為具有空間水平面和垂直面移動量的空中鼠標的位移。本發明實施例還提供一種空中鼠標,包括卡爾曼濾波器、陀螺儀、加速度計、無線收發器;所述加速度計用于檢測空中鼠標當前在X軸、Y軸和Z軸上的加速度,并將所述三條軸上的加速度轉換為空中鼠標控制面與水平面的偏移角度,記為第一傾角;
所述陀螺儀用于檢測空中鼠標當前在X軸、Y軸和Z軸上的角速率,并將所述三條軸中對應空中鼠標旋轉軸的軸上的角速率轉換為空中鼠標控制面圍繞旋轉軸所轉過的角度,記為第二傾角;所述卡爾曼濾波器用于讀取加速度計和陀螺儀分別輸出的第一傾角和第二傾角,將所述第一傾角和第二傾角進行數據融合,得到第三傾角,將得到的第三傾角轉換為具有空間水平面和垂直面移動量的空中鼠標的位移,并將得到的空中鼠標的位移傳送給無線收發器;所述無線收發器用于根據接收的空中鼠標的位移發送控制信號。本發明實施例還提供一種控制鼠標控制系統,包括主機,用于接收空中鼠標傳送的控制信號;空中鼠標,包括卡爾曼濾波器、陀螺儀、加速度計和無線收發器; 所述加速度計用于檢測空中鼠標當前在X軸、Y軸和Z軸上的加速度,并將所述三條軸上的加速度轉換為空中鼠標控制面與水平面的偏移角度,記為第一傾角;所述陀螺儀用于檢測空中鼠標當前在X軸、Y軸和Z軸上的角速率,并將所述三條軸中對應空中鼠標旋轉軸的軸上的角速率轉換為空中鼠標控制面圍繞旋轉軸而轉過的角度,記為第二傾角;所述卡爾曼濾波器用于讀取加速度計和陀螺儀分別輸出的第一傾角和第二傾角,將所述第一傾角和第二傾角進行數據融合,得到第三傾角,將得到的第三傾角轉換為具有空間水平面和垂直面移動量的空中鼠標的位移,并將得到的空中鼠標的位移傳送給無線收發器;所述無線收發器用于根據接收的空中鼠標的位移發送控制信號給主機。陀螺儀通過實時采集空中鼠標的角速率,在短的測量時間內有較高的穩定度和準確度,加速度計通過實時采集空中鼠標的加速度,在長的測量時間內有較小的誤差,二者分別具有短時優勢和長時優勢,本發明所提供的方法利用卡爾曼濾波器將陀螺儀和加速度記的優勢進行結合,將陀螺儀檢測的結果和加速度檢測的結果進行數據優化處理,得到較為準確的空中鼠標當前的位移,從而更真實地模擬出空中鼠標的移動軌跡。本發明實施例提供的空中鼠標和空中鼠標控制系統由于包含陀螺儀、加速度計和卡爾曼濾波器,且卡爾曼濾波器可以對陀螺儀和加速度計的檢測的偏移角度進行優化,因此也可以得到較為精確的空中鼠標位移,實現鼠標模式下的人機交互。
圖I是本發明實施例提供的一種獲取空中鼠標位移的方法基本流程示意圖;圖2是本發明實施例提供的加速度計內部結構圖;圖3是本發明實施例提供的另一種獲取空中鼠標位移的方法基本流程示意圖;圖4是本發明實施例提供的一種空中鼠標的基本結構示意圖;圖5是本發明實施例提供的另一種空中鼠標的基本結構示意圖;圖6是本發明實施例提供的一種空中鼠標控制系統的結構示意圖。
具體實施方式
本發明實施例提供一種獲取空中鼠標位移的方法,通過均具備感知功能的陀螺儀和加速度計分別獲得空中鼠標當前的角速率和加速度,并分別轉換為空中鼠標控制面轉過旋轉軸的角度和控制面與水平面之間的偏移角度,然后利用卡爾曼濾波器對獲得的角度進行數據融合處理,從而較準確地得到空中鼠標的位移。本發明實施例還提供相應的空中鼠標和空中鼠標控制系統。下面將結合本發明實施例的附圖,對本發明實施例的技術方案進行清楚、完整的描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
·
首先對本發明實施例提供的一種獲取空中鼠標位移的方法進行說明。本發明實施例提供的獲取空中鼠標位移的方法包括通過空中鼠標內部的加速度計檢測空中鼠標當前在X軸、Y軸和Z軸上的加速度,并將所述三條軸上的加速度轉換為空中鼠標控制面與水平面之間的偏移角度,記為第一傾角;通過空中鼠標內部的陀螺儀檢測空中鼠標當前在X軸、Y軸和Z軸上的角速率,并將所述三條軸中對應空中鼠標旋轉軸的軸上的角速率轉換為空中鼠標控制面圍繞旋轉軸旋轉而轉過的角度,記為第二傾角;利用卡爾曼濾波器對所述第一傾角和第二傾角進行數據融合,得到第三傾角;將所述第三傾角轉換為具有空間水平面和垂直面移動量的空中鼠標的位移。需要說明的是,卡爾曼濾波器由一系列遞歸數學公式描述,這些遞歸數學公式提供了一種高效可計算的方法來估計過程的狀態,并使估計均方誤差最小。卡爾曼濾波器可以估計信號的過去和當前狀態,甚至能估計將來的狀態,即使并不知道模型的確切性質。由上可見,通過具備姿態感知功能的陀螺儀和加速度計分別獲得空中鼠標當前在不同坐標軸的角速率和加速度后,再將旋轉軸方向的角速率轉換為空中鼠標控制面轉過旋轉軸的角度以及將加速度轉化為空中鼠標控制面與水平面的角度,然后通過卡爾曼濾波器將得到的偏移角度進行數據融合,有效地剔除了偏移角度因積分而不斷積累的數據誤差以及因外界因素產生的干擾,從而得到更加優化的偏移角度,即上述的第三傾角,再將第三傾角轉換為具有空間X’軸和V軸坐標值的位移,從而得到精確的空中鼠標位移,提高了空中鼠標的整體性能。本發明實施例提供另一種獲取空中鼠標位移的方法,參見圖1,該方法包括S101、通過空中鼠標內部的加速度計檢測空中鼠標當前在X軸、Y軸和Z軸上的加速度,并將所述三條軸上的加速度轉換為空中鼠標控制面與水平面之間的偏移角度,記為第一傾角;需要說明的是,加速度計能夠得出空中鼠標的移動參數并將得到的模擬量轉化為數字量,以及將初步的參數傳送給信號處理模塊。空中鼠標內部具有X/Y/Z三個方向的感應軸,這三個方向上在工作時的參數是不斷變化的,某一瞬間的參數值代表這一瞬間空中鼠標在不同方向上移動的趨勢,這三個參數通過數學計算可以得到一個空間向量,該向量模擬出了該瞬間空中鼠標在三維真實空間的移動方向,這樣通過不斷地采集X/Y/Z軸的數值,就可以得到空中鼠標移動的軌跡。
加速度計的內部結構如圖2所示,加速度計200內部電路中包含具有公共端210的兩個電容220和230,在整個電路中通過公共端210的變化引起并聯電容220和230總的容值變化。當一個方向有移動時,由于慣性的原因,中間的公共端210仍有維持原來位置狀態的趨勢,這樣,兩個電容的容值發生變化。當加速度計的測量對象的的速度或者加速度變化足夠大時,電容板所受到的慣性力超過支撐它的力,電容板就會移動。可移動電容板的上下電容板之間的距離就會產生變化,上下電容板之間的電容隨之變化,電容的變化跟加速度成正比。電容的變化會被集成電路轉換成電壓信號。模擬的電壓信號經過一個數字信號處理器的模-數轉換處理,經過零點校正和靈敏度校正后輸出。本發明實施例中的加速度計可以為基于MEMS (Micro-Electro-MechanicalSystems,微機電系統)技術的加速度計,MEMS類加速度計有一個自測功能,可以測試加速度計工作的正常性和精確性。S102、通過空中鼠標內部的陀螺儀檢測空中鼠標當前在X軸、Y軸和Z軸上的角速率,并將所述三條軸中對應空中鼠標旋轉軸的軸上的角速率轉換為空中鼠標控制面圍繞旋 轉軸旋轉所轉過的角度,記為第二傾角;需要說明的是,通過陀螺儀檢測的是空中鼠標在其所在三維空間的X軸、Y軸和Z軸上的角速率,在本發明實施例中只需要將空中鼠標在其旋轉軸方向上的角速率轉換為空中鼠標控制面圍繞旋轉軸所轉過的角度,例如,當前空中鼠標的控制面由X軸和Y軸構成,Z軸垂直于控制面,空中鼠標圍繞Y軸旋轉,所以陀螺儀當前只需要將空中鼠標在Y軸方向上的角速率轉換為偏移角度即可得到空中鼠標控制面圍繞旋轉軸Y軸所轉過的角度。另外,陀螺儀檢測的是坐標軸方向上的角速率,但是由于陀螺儀的三軸坐標常常與空間三維坐標出現較大偏差,因此有必要將陀螺儀坐標軸方向上的角速率映射為準確的當前偏移角速率,主要需要進行如下處理靜態速率表示陀螺儀在水平靜態的情況下的輸出值,這些值在以后的正常測量過程中需要進行屏蔽,以防止影響實際角速率變化的判讀,在陀螺儀初始化的過程中,需要在靜止水平的情況下讀取100個左右的有效數據,并將這些數據的平均值作為靜態速率,并將其轉換為屏蔽位,對此后采集的坐標軸上的角速率均要減去靜態速率,所得結果再與靜態速率進行位與運算,以屏蔽靜態速率。在本發明實施例中可以只獲取陀螺儀在水平靜止條件下對應旋轉軸方向的靜態速率。由于各種外界因素(如電源不穩定、溫度等)和陀螺儀自身精度的影響,陀螺儀在使用的過程中其靜態速率并不是唯一不變的,所以要定期重新確定靜態速率,以保證靜態速率屏蔽后輸出值的準確。實際應用中,可以利用陀螺儀所在設備的睡眠靜止周期作為靜態速率的更新時間,在此過程中用同一種方法確定新值。S103、利用卡爾曼濾波器對所述第一傾角和所述第二傾角進行數據融合,得到第三傾角;加速度計是極易受外部干擾的傳感器,且無法區分重力加速度與外力加速度,但是測量值隨時間的變化相對較小。陀螺儀所測得的角速率可以通過積分得到偏轉角度,動態性能好,受外部干擾小,但在長時間積分的過程中會產生非常明顯的誤差。因此,陀螺儀和加速度計對空中鼠標當前移動的測量值都是不精確的。卡爾曼濾波器由一系列遞歸數學公式描述,這些遞歸數學公式提供了一種高效可計算的方法來估計空中鼠標運動過程的狀態,并使估計均方誤差最小。因此通過卡爾曼濾波器可以對陀螺儀做低通濾波,對加速度計做高通濾波,在短時間尺度內對增加陀螺儀的權值,在更長時間尺度內增加加速度計的權值,實現陀螺儀和加速度計之間優缺點互補。S104、將所述第三傾角轉換為具有空間水平面和垂直面移動量的空中鼠標的位移。由上可見,通過陀螺儀和加速度計分別獲得空中鼠標當前的偏移角度后,再通過卡爾曼濾波器對得到的角度進行融合和優化,有效地剔除了因積分而不斷積累的數據誤差以及外界因素的干擾,從而得到更加真實的空 中鼠標偏移角度,即上述的第三傾角,再將第三傾角轉換為具有空間X’軸和Y,軸坐標值的位移,從而得到精確的空中鼠標位移,提高了空中鼠標的整體性能。本發明實施例提供另一種獲取空中鼠標位移的方法,參見圖3,包括S301、通過加速度計檢測空中鼠標當前在X軸、Y軸和Z軸方向的加速度aCCe_x_rate、acce_y_rate 和 acce_z_rate ;S302、將 acce_x_rate、acce_y_rate 和 acce_z_rate 轉換為空中鼠標控制面與水平面之間的偏移角度,記為第一傾角aCCe_ang ;需要說明的是,在本實施例中由加速度計的X軸和Y軸確定空中鼠標的控制面,空中鼠標圍繞Y軸旋轉;其中,將加速度計三軸上的加速度轉換為空中鼠標控制面與水平面之間的偏移角度,即第一傾角aCCe_ang的過程具體可以為首先計算空中鼠標的總移動矢量G,其中G2=acce_x_rate2+acce_y_rate2+acce_z_rate2,因此,;sin acce_ang=acce_x—rate/G,因此,acce_ang=arcsin(acce_x—rate/G)0S303、通過陀螺儀檢測空中鼠標當前在X軸、Y軸和Z軸上的角速率gyro—x—rate, gyro_y_rate, gyro_z_rate ;S304、將獲取的空中鼠標在旋轉軸方向的角速率gyro—y—rate轉換為空中鼠標控制面圍繞旋轉軸旋轉所轉過的角度,記為第二傾角gyro_ang ;其中,將旋轉軸方向的角速率gyro_y_rate轉換為空中鼠標圍繞旋轉軸旋轉所轉過的角度具體過程可以為獲取空中鼠標的噪聲增益Kgl,以及陀螺儀當前測量的預測角度opti_ang和協方差q_bias,其中,陀螺儀當前測量的預測角度opti_ang為上一次測量獲得的第三傾角,協方差q_bias為上一次的協方差q_bias和本次空中鼠標的隨機噪聲之和,隨機噪聲等于上一次的第一傾角acce_ang與上一次的第二傾角gyro_ang的差值乘以噪聲增益Kgl所得到的積,即本次協方差q_bias=上一次q_bias+Kgl* (上一次acce_ang-上一次gyro_ang),需要說明的是,所述第三傾角和協方差的初始化值都可以為零;將當前檢測到的旋轉軸方向的角速率gyro_y_rate與當前協方差q_bias的差值進行積分,積分后的結果加上陀螺儀當前測量的預測角度opti_ang,所得結果即為陀螺儀當前的測量角度,即第二傾角,
因此,第二傾角gyro_ang=opti_ang+ (gyro_y_rate_q_bias) *dt,其中,t 可以為陀螺儀的掃描或檢測時間。S305、將第一傾角acce_ang和第二傾角gyro_ang進行數據融合,得到第三傾角opti_ang ;其中,將第一傾角acce_ang和第二傾角gyro_ang融合為第三傾角opti_ang的過程具體可以為獲取空中鼠標的卡爾曼增益KgO ;將第一傾角acce_ang和第二傾角gyro_ang的差值乘以卡爾曼增益,將相乘后的結果加上第二傾角gyro_ang,所得結果即為陀螺儀當前的優化角度,即第三傾角,
·
因此,第三傾角 opti_ang=gyro_ang+KgO* (acce_ang-gyro_ang)。S306、將第三傾角opti_ang轉換為具有空間水平面和垂直面移動量的空中鼠標的位移;其中,空間水平面的移動量和垂直面的移動量的計算過程具體可以為假設空間水平面由X’軸和r軸確定,V軸垂直于水平面,r軸與空中鼠標的旋轉軸Y軸平行,因此求空中鼠標在空間水平面的移動量即為求空中鼠標在X’軸上的移動量,求空中鼠標在垂直面的移動量即為求空中鼠標在V軸上的移動量。因此,X’=gyro_x_rate氺cos lopti_ang) +gyro_z_rate*sin (opti_ang),V =gyro_x_rate*sin (opti_ang) +gyro_z_rate*cos (opti_ang)0本發明實施例中利用加速度計測得的三軸上的加速度得到空中鼠標控制面與水平面之間的夾角,即第一傾角,再利用陀螺儀測得空中鼠標在X軸、Y軸和Z軸上的角速率后,得到空中鼠標圍繞旋轉軸所轉過的角度,即第二傾角;然后利用卡爾曼濾波算法對第一傾角和第二傾角進行數據融合,有效地剔除了偏移角度因積分而不斷積累的數據誤差以及外界因素干擾,得到更加真實的空中鼠標偏移角度,即上述的第三傾角,再將第三傾角轉換為時間空間水平面和垂直面的移動量,從而得到準確的空中鼠標的位移,提高了空中鼠標的整體性能。本發明實施例還提供ー種空中鼠標,包括卡爾曼濾波器、陀螺儀、加速度計、無線收發器;所述加速度計用于檢測空中鼠標當前在X軸、Y軸和Z軸上的加速度,并將所述三條軸上的加速度轉換為空中鼠標控制面與水平面的偏移角度,記為第一傾角;所述陀螺儀用于檢測空中鼠標當前在X軸、Y軸和Z軸上的角速率,并將所述三條軸中對應空中鼠標旋轉軸的軸上的角速率轉換為空中鼠標控制面圍繞旋轉軸旋轉而轉過的角度,記為第二傾角;所述卡爾曼濾波器用于讀取加速度計和陀螺儀輸出的第一傾角和第二傾角,將所述第一傾角和第二傾角進行數據融合,得到第三傾角,將得到的第三傾角轉換為具有空間水平面和垂直面移動量的空中鼠標的位移,并將得到的空中鼠標的位移傳送給無線收發器;所述無線收發器用于根據接收的空中鼠標的位移發送控制信號。由上可見,本發明實施例提供的空中鼠標同時包含了陀螺儀和加速度計,使原來的空中鼠標的三軸感知變為六軸感知,具有更高的感知靈敏度,而且通過本發明空中鼠標中的卡爾曼濾波器將陀螺儀和加速度計測得的偏移角度進行數據融合,通過對實際測量的偏移角度和預測的角度的比對計算,可以得到更加優化的測量角度,有效地降低陀螺儀檢測數據的長期誤差成分和加速度計的數據干擾因素,從而得到更加準確的空中鼠標的位移。本發明實施例提供另一種空中鼠標,參見圖4,包括
加速度計401、陀螺儀402、卡爾曼濾波器403和無線收發器404 ;加速度計401用于檢測空中鼠標當前在X軸、Y軸和Z軸上的加速度,并將所述三條軸上的加速度轉換為空中鼠標控制面與水平面的偏移角度,記為第一傾角;陀螺儀402用于檢測空中鼠標當前在X軸、Y軸和Z軸上的角速率,并將所述三條軸中對應空中鼠標旋轉軸的軸上的角速率轉換為空中鼠標控制面圍繞旋轉軸旋轉所轉過的角度,記為第二傾角;卡爾曼濾波器403用于讀取加速度計401和陀螺儀402分別輸出的第一傾角和第二傾角,將所述第一傾角和第二傾角進行數據融合,得到第三傾角,將得到的第三傾角轉換為具有空間水平面和垂直面移動量的空中鼠標的位移,并將得到的空中鼠標的位移傳送給無線收發器404;無線收發器404用于根據接收的空中鼠標的位移發送控制信號。需要說明的是,加速度計401將加速度轉換為第一傾角的方法具體可以為加速度計401將當前檢測到的X軸、Y軸和Z軸上的加速度的平方和進行開平方運算,得到空中鼠標當前總移動矢量,將將所述三軸中垂直旋轉軸且與旋轉軸共同確定空中鼠標控制面的軸方向的加速度除以總移動矢量,對相除后的結果進行求反正弦運算,所得結果即為加速度計當前的測量角度,記為第一傾角。陀螺儀402將旋轉軸上的角速率轉換為第二傾角的方法具體可以為陀螺儀獲取空中鼠標的噪聲增益;獲取陀螺儀當前測量的預測角度和協方差,其中,當前測量的預測角度為上一次獲得的第三傾角,協方差為上一次的協方差和本次空中鼠標的隨機噪聲之和,隨機噪聲等于上一次的第一傾角和上一次的第二傾角的差值乘以獲取的噪聲增益所得到的積,第三傾角和協方差的初始化值都為零;將當前檢測到的自旋角速率與協方差的差值進行積分,積分后的結果加上所述陀螺儀當前測量的預測角度,所得結果即為陀螺儀當前的測量角度,記為第二傾角。卡爾曼濾波器403將第一傾角和第二傾角融合為第三傾角的過程具體可以為卡爾曼濾波器403獲取空中鼠標的卡爾曼增益;將第一傾角與第二傾角的差值乘以卡爾曼增益,將相乘后的結果加上第二傾角,所得結果即為陀螺儀當前的優化角度,記為第三傾角。需要說明的是,卡爾曼濾波器403可以采用期望值與測量值的融合算法,加速度計401與陀螺儀402可以采用微機電系統技術;無線收發器404可以采用2. 4G赫茲無線收發技術。由上可見,通過具備姿態感知功能的加速度計401和陀螺儀402分別獲得空中鼠標當前的角速率和加速度后,分別將角速率和加速度轉換為空中鼠標圍繞旋轉軸旋轉所轉過的角度以及空中鼠標控制面與水平面之間的偏移角度,再通過卡爾曼濾波器403對所獲得的角度進行數據融合優化處理,有效地剔除了陀螺儀402所得數據因積分而不斷積累的數據誤差以及加速度計401所得數據受外界因素的干擾,從而得到更加真實的空中鼠標偏移角度,即上述的第三傾角,再將第三傾角轉換為具有空間水平面和垂直面移動量的位移,從而得到精確的空中鼠標位移,提聞了空中鼠標的整體性能。本發明實施例提供另ー種空中鼠標,參見圖5,包括加速度計501、陀螺儀502、調整模塊503、卡爾曼濾波器504和無線收發器505 ;加速度計501用于檢測空中鼠標當前在X軸、Y軸和Z軸上的加速度,并將所述三條軸上的加速度轉換為空中鼠標控制面與水平面的偏移角度,記為第一傾角;陀螺儀502用于檢測空中鼠標當前在X軸、Y軸和Z軸上的角速率;陀螺儀502還用于在水平靜止條件下獲取N個在陀螺儀旋轉軸方向上的角速率,其中N為大于或者等于2的整數;調整模塊503用于接收陀螺儀502輸出的旋轉軸方向的角速率和所述N個水平靜止條件下陀螺儀旋轉軸方向的角速率,計算N個水平靜止條件下的角速率的平均值,將該平均值作為靜態速率,調整模塊503將空中鼠標當前旋轉軸方向的角速率減去靜態速率,所得結果再與靜態速率進行位于運算,將位與運算后的結果取代空中鼠標當前在旋轉軸方向的角速率;需要說明的是,陀螺儀502在水平靜止條件下每隔預設時間重新獲取N個在陀螺儀502旋轉軸方向的角速率,并將重新獲取的N個角速率傳遞給調整模塊503,其中N可以為90至110。
陀螺儀502將從調整模塊503獲得的的旋轉軸方向的角速率轉換為空中鼠標控制面圍繞旋轉軸所轉過的角度,記為第二傾角;卡爾曼濾波器504用于讀取加速度計501和陀螺儀502分別輸出的第一傾角和第ニ傾角,讀取的第一傾角和第二傾角進行數據融合,得到第三傾角,將得到的第三傾角轉換為具有空間水平面和垂直面移動量的空中鼠標的位移,并將得到的空中鼠標的位移傳送給無線收發器505 ;無線收發器505用于根據接收的空中鼠標的位移發送控制信號。由上可知,通過具備姿態感知功能的加速度計501和陀螺儀502分別獲得空中鼠標當前的角速率和加速度后,再將所得角速率和加速度分別轉換為空中鼠標控制面圍繞旋轉軸所轉過的角度和空中鼠標控制面與水平面之間的偏移角度,再通過卡爾曼濾波器504對所得角度進行數據融合,有效地剔除了陀螺儀502所得數據因積分而不斷積累的數據誤差以及加速度計501所得數據受外界因素的干擾,從而得到更加真實的空中鼠標偏移角度,即上述的第三傾角,再將第三傾角轉換為具有空間水平面移動量和垂直面移動量的位移,從而得到精確的空中鼠標位移,提聞了空中鼠標的整體性能。本發明實施例還提供ー種空中鼠標控制系統,包括主機,用于接收空中鼠標傳送的控制信號;空中鼠標,包括卡爾曼濾波器、陀螺儀、加速度計和無線收發器;所述加速度計用于檢測空中鼠標當前在X軸、Y軸和Z軸上的加速度,并將所述三條軸上的加速度轉換為空中鼠標控制面與水平面的偏移角度,記為第一傾角;所述陀螺儀用于檢測空中鼠標當前在X軸、Y軸和Z軸上的角速率,并將所述三條軸中對應空中鼠標旋轉軸的軸上的角速率轉換為空中鼠標控制面圍繞旋轉軸而轉過的角度,記為第二傾角;所述卡爾曼濾波器用于讀取加速度計和陀螺儀分別輸出的第一傾角和第二傾角,將所述第一傾角和第二傾角進行數據融合,得到第三傾角,將得到的第三傾角轉換為具有空間水平面和垂直面移動量的空中鼠標的位移,并將得到的空中鼠標的位移傳送給無線收發器;所述無線收發器用于根據接收的空中鼠標的位移發送控制信號給主機。
由上可知,本發明實施例提供的空中鼠標控制系統同時包含了陀螺儀和加速度計,使原來的空中鼠標的三軸感知變為六軸感知,具有更高的感知靈敏度,而且通過本發明空中鼠標中的卡爾曼濾波器將陀螺儀和加速度計的測量值進行數據融合,通過對實際測量值和預估值的比對計算,可以得到更加優化的測量角度,有效地降低陀螺儀檢測數據的長期誤差成分和加速度計的數據干擾因素,從而得到精確的空中鼠標位移,提高了空中鼠標的整體性能。本發明實施例提供另ー種空中鼠標控制系統,參見圖6,包括主機610,用于接收空中鼠標620傳送的控制信號;空中鼠標620,包括加速度計621、陀螺儀622、卡爾曼濾波器623和無線收發器624 ;加速度計621用于檢測空中鼠標當前在X軸、Y軸和Z軸上的加速度,并將所述三條軸上的加速度轉換為空中鼠標控制面與水平面的偏移角度,記為第一傾角;陀螺儀622用于檢測空中鼠標當前在X軸、Y軸和Z軸上的角速率,并將所述三條軸中對應空中鼠標旋轉軸的軸上的角速率轉換為空中鼠標控制面圍繞旋轉軸而轉過的角度,記為第二傾角;卡爾曼濾波器623用于讀取加速度計621和陀螺儀622分別輸出的第一傾角和第ニ傾角,將所述第一傾角和第二傾角進行數據融合,得到第三傾角,將得到的第三傾角轉換為具有空間水平面和垂直面移動量的空中鼠標的位移,并將得到的空中鼠標的位移傳送給無線收發器624 ;無線收發器624用于根據接收的空中鼠標的位移發送控制信號給主機610。需要說明的是,加速度計621將三條軸上的加速度轉換為第一傾角具體包括加速度計621將當前檢測到的X軸、Y軸和Z軸上的加速度的平方和進行開平方運算,得到空中鼠標當前總移動矢量,將所述三軸中垂直旋轉軸且與旋轉軸共同確定空中鼠標控制面的軸方向的加速度除以總移動矢量,對相除后的結果進行求反正弦運算,所得結果即為加速度計當前的測量角度,記為第一傾角。陀螺儀622將旋轉軸方向的角速率轉換為第二傾角具體包括陀螺儀622獲取空中鼠標的噪聲增益;陀螺儀622獲取當前測量的預測角度和協方差,其中,當前測量的預測角度為上一次獲得的第三傾角,協方差為上一次的協方差和本次空中鼠標的隨機噪聲之和,隨機噪聲等于上一次的第一傾角和上一次的第二傾角的差值乘以獲取的噪聲增益所得到的積,第三傾角和協方差的初始化值為零;將當前檢測到的旋轉軸方向的角速率與當前協方差的差值進行積分,積分后的結果加上陀螺儀622當前測量的預測角度,所得結果即為陀螺儀當前的測量角度,記為第二傾角。卡爾曼濾波器623對第一傾角和第二傾角進行數據融合得到第三傾角具體包括卡爾曼濾波器623獲取空中鼠標的卡爾曼增益;卡爾曼濾波器623將第一傾角與第 二傾角的差值乘以卡爾曼增益,將相乘后的結果加上第二傾角,所得結果即為陀螺儀623當前的優化角度,記為第三傾角。由上可見,本發明實施例提供的空中鼠標控制系統中的空中鼠標620同時包含了加速度計621和陀螺儀622,使原來的空中鼠標的三軸感知變為六軸感知,具有更高的感知靈敏度,而且通過本發明空中鼠標620中的卡爾曼濾波器623將加速度計621和陀螺儀622的測量值進行數據融合,通過對實際測量值和預估值的比對計算,可以得到更加優化的測量角度,有效地降低陀螺儀檢測數據的長期誤差成分和加速度計的數據干擾因素,得到更加精確的空中鼠標位移,提聞了空中鼠標的整體性能。需要說明的是,本發明實施例提供的空中鼠標控制系統中的空中鼠620中還可以包含調整模塊;陀螺儀622還用于在水平靜止條件下獲取N個陀螺儀旋轉軸方向的角速率,陀螺儀622將當前檢測到的旋轉軸方向的角速率以及在水平靜止條件下獲得的N個在旋轉軸方向的角速率傳遞給調整模塊,調整模塊計算水平靜止條件下的N個角速率的平均值,作為靜態速率,調整模塊將空中鼠標的旋轉軸方向的角速率減去所述靜態速率,所得結果再與所述靜態速率進行位與運算,將位與運算后的結果取代空中鼠標當前旋轉軸方向的角速率傳遞給陀螺儀622,陀螺儀622再將從調整模塊處獲得的旋轉軸方向的角速率轉換為空中鼠標控制面圍繞旋轉軸所轉過的角度,其中N為大于或者等于2的整數。另外,陀螺儀622在水平靜止條件下每隔預設時間重新獲取N個陀螺儀旋轉軸方向的角速率,并將重新獲取的N個角速率傳遞給調整模塊。在上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。以上對本發明實施例所提供的獲取空中鼠標位移的方法,以及相關的空中鼠標和空中鼠標控制系統進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發明的方法及其核心思想;同時,對于本領域的一般技術人員,依據本發明的思想,在具體實施方式
及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。
權利要求
1.一種獲取空中鼠標位移的方法,其特征在于,包括通過空中鼠標內部的加速度計檢測空中鼠標當前在X軸、Y軸和Z軸上的加速度,并將所述三條軸上的加速度轉換為空中鼠標控制面與水平面之間的偏移角度,記為第一傾角;通過空中鼠標內部的陀螺儀檢測空中鼠標當前在X軸、Y軸和Z軸上的角速率,并將所述三條軸中對應空中鼠標旋轉軸的軸上的角速率轉換為空中鼠標控制面圍繞旋轉軸所轉過的角度,記為第二傾角; 利用卡爾曼濾波器對所述第一傾角和第二傾角進行數據融合,得到第三傾角; 將所述第三傾角轉換為具有空間水平面和垂直面移動量的空中鼠標的位移。
2.根據權利要求I所述的方法,其特征在于,所述將三條軸上的加速度轉換為第一傾 角,以及將旋轉軸方向的角速率轉化為第二傾角,具體包括 將當前檢測到的X軸、Y軸和Z軸上的加速度的平方和進行開平方運算,得到空中鼠標當前總移動矢量,將所述三軸中垂直旋轉軸且與旋轉軸共同確定空中鼠標控制面的軸方向的加速度除以總移動矢量,對相除后的結果進行求反正弦運算,所得結果即為加速度計當前的測量角度,記為第一傾角; 獲取空中鼠標的噪聲增益; 獲取陀螺儀當前測量的預測角度和協方差,其中,當前測量的預測角度為上一次獲得的第三傾角,協方差為上一次的協方差和本次空中鼠標的隨機噪聲之和,隨機噪聲等于上一次的第一傾角與上一次的第二傾角的差值乘以當前獲取的噪聲增益所得到的積,第三傾角和協方差的初始化值都為零; 將當前檢測到的旋轉軸方向的角速率與當前協方差的差值進行積分,積分后的結果加上所述陀螺儀當前測量的預測角度,所得結果即為陀螺儀當前的測量角度,記為第二傾角。
3.根據權利要求2所述的方法,其特征在于,所述卡爾曼濾波器對第一傾角和第二傾角進行數據融合得到第三傾角具體包括 獲取空中鼠標的卡爾曼增益; 將第一傾角與第二傾角的差值乘以卡爾曼增益,將相乘后的結果加上第二傾角,所得結果即為陀螺儀當前的優化角度,記為第三傾角。
4.根據權利要求3所述的方法,其特征在于,所述方法還包括 利用陀螺儀在水平靜止條件下獲取N個在所述陀螺儀旋轉軸方向上的角速率,取所述N個角速率的平均值作為靜態速率,其中N為大于或者等于2的整數; 將所述陀螺儀當前在旋轉軸方向的角速率減去靜態速率,所得結果與所述靜態速率進行位與運算,將位與運算后所得結果取代空中鼠標當前在旋轉軸方向的角速率。
5.根據權利要求4所述的方法,其特征在于,所述陀螺儀在水平靜止條件下每隔預設時間重新獲取N個在所述陀螺儀旋轉軸方向上的角速率,并將重新獲取的N個角速率的平均值取代上一個靜態速率。
6.—種空中鼠標,其特征在于,包括 卡爾曼濾波器、陀螺儀、加速度計、無線收發器; 所述加速度計用于檢測空中鼠標當前在X軸、Y軸和Z軸上的加速度,并將所述三條軸上的加速度轉換為空中鼠標控制面與水平面的偏移角度,記為第一傾角; 所述陀螺儀用于檢測空中鼠標當前在X軸、Y軸和Z軸上的角速率,并將所述三條軸中對應空中鼠標旋轉軸的軸上的角速率轉換為空中鼠標控制面圍繞旋轉軸所轉過的角度,記為第二傾角; 所述卡爾曼濾波器用于讀取加速度計和陀螺儀分別輸出的第一傾角和第二傾角,將所述第一傾角和第二傾角進行數據融合,得到第三傾角,將得到的第三傾角轉換為具有空間水平面和垂直面移動量的空中鼠標的位移,并將得到的空中鼠標的位移傳送給無線收發器; 所述無線收發器用于根據接收的空中鼠標的位移發送控制信號。
7.根據權利要求6所述的空中鼠標,其特征在于,所述加速度計將三條軸上的加速度轉換為第一傾角,以及陀螺儀將旋轉軸方向的角速率轉換為第二傾角具體包括 加速度計將當前檢測到的X軸、Y軸和Z軸上的加速度的平方和進行開平方運算,得到空中鼠標當前總移動矢量,將所述三軸中垂直旋轉軸且與旋轉軸共同確定空中鼠標控制面的軸方向的加速度除以總移動矢量,對相除后的結果進行求反正弦運算,所得結果即為加 速度計當前的測量角度,記為第一傾角; 所述陀螺儀獲取空中鼠標的噪聲增益; 獲取所述陀螺儀當前測量的預測角度和協方差,其中,當前測量的預測角度為上一次獲得的第三傾角,協方差為上一次的協方差和本次空中鼠標的隨機噪聲之和,隨機噪聲等于上一次的第一傾角和上一次的第二傾角的差值乘以獲取的噪聲增益所得到的積,第三傾角和協方差的初始化值都為零; 將當前檢測到的旋轉軸方向的角速率與當前協方差的差值進行積分,積分后的結果加上所述陀螺儀當前測量的預測角度,所得結果即為陀螺儀當前的測量角度,記為第二傾角。
8.根據權利要求6所述的空中鼠標,其特征在于,所述卡爾曼濾波器采用期望值與測量值的融合算法;所述陀螺儀與加速度計采用微機電系統技術;所述無線收發器采用2. 4G赫茲無線收發技術。
9.根據權利要求6所述的空中鼠標,其特征在于,所述卡爾曼濾波器對第一傾角和第二傾角進行數據融合得到第三傾角具體包括 所述卡爾曼濾波器獲取空中鼠標的卡爾曼增益; 將第一傾角與第二傾角的差值乘以卡爾曼增益,將相乘后的結果加上第二傾角,所得結果即為陀螺儀當前的優化角度,記為第三傾角。
10.根據權利要求9所述的空中鼠標,其特征在于,所述空中鼠標還包括調整模塊,所述陀螺儀還用于在水平靜止條件下獲取N個在所述陀螺儀旋轉軸方向上的角速率,其中N為大于或者等于2的整數; 所述陀螺儀將檢測到的空中鼠標當前在旋轉軸方向上的角速率以及在水平靜止條件下獲得的所述N個陀螺儀旋轉軸方向上的角速率傳遞給調整模塊,所述調整模塊計算水平靜止條件下N個角速率的平均值,將該平均值作為靜態速率,所述調整模塊將空中鼠標在旋轉軸方向的角速率減去靜態速率,所得結果與所述靜態速率進行位與運算,將位與運算后的結果取代空中鼠標當前在旋轉軸方向的角速率。
11.根據權利要求10所述的空中鼠標,其特征在于,所述陀螺儀在水平靜止條件下每隔預設時間重新獲取N個在所述陀螺儀旋轉軸方向的角速率,并將重新獲取的N個角速率傳遞給調整模塊。
12.—種空中鼠標控制系統,其特征在于,包括 主機,用于接收空中鼠標傳送的控制信號; 空中鼠標,包括卡爾曼濾波器、陀螺儀、加速度計和無線收發器; 所述加速度計用于檢測空中鼠標當 前在X軸、Y軸和Z軸上的加速度,并將所述三條軸上的加速度轉換為空中鼠標控制面與水平面的偏移角度,記為第一傾角; 所述陀螺儀用于檢測空中鼠標當前在X軸、Y軸和Z軸上的角速率,并將所述三條軸中對應空中鼠標旋轉軸的軸上的角速率轉換為空中鼠標控制面圍繞旋轉軸而轉過的角度,記為第二傾角; 所述卡爾曼濾波器用于讀取加速度計和陀螺儀分別輸出的第一傾角和第二傾角,將所述第一傾角和第二傾角進行數據融合,得到第三傾角,將得到的第三傾角轉換為具有空間水平面和垂直面移動量的空中鼠標的位移,并將得到的空中鼠標的位移傳送給無線收發器; 所述無線收發器用于根據接收的空中鼠標的位移發送控制信號給主機。
13.根據權利要求12所述的空中鼠標控制系統,其特征在于,所述加速度計將三條軸上的加速度轉換第一傾角,以及陀螺儀將旋轉軸方向的角速率轉換為第二傾角具體包括 加速度計將當前檢測到的X軸、Y軸和Z軸上的加速度的平方和進行開平方運算,得到空中鼠標當前總移動矢量,將所述三軸中垂直旋轉軸且與旋轉軸共同確定空中鼠標控制面的軸方向的加速度除以總移動矢量,對相除后的結果進行求反正弦運算,所得結果即為加速度計當前的測量角度,記為第一傾角; 所述陀螺儀獲取空中鼠標的噪聲增益; 獲取所述陀螺儀當前測量的預測角度和協方差,其中,當前測量的預測角度為上一次獲得的第三傾角,協方差為上一次的協方差和本次空中鼠標的隨機噪聲之和,隨機噪聲等于上一次的第一傾角和上一次的第二傾角的差值乘以獲取的噪聲增益所得到的積,第三傾角和協方差的初始化值為零; 將當前檢測到的旋轉軸方向的角速率與當前協方差的差值進行積分,積分后的結果加上所述陀螺儀當前測量的預測角度,所得結果即為陀螺儀當前的測量角度,記為第二傾角。
14.根據權利要求13所述的空中鼠標控制系統,其特征在于,所述卡爾曼濾波器對第一傾角和第二傾角進行數據融合得到第三傾角具體包括 所述卡爾曼濾波器獲取空中鼠標的卡爾曼增益; 所述卡爾曼濾波器將第一傾角與第二傾角的差值乘以卡爾曼增益,將相乘后的結果加上第二傾角,所得結果即為陀螺儀當前的優化角度,記為第三傾角。
15.根據權利要求14所述的空中鼠標的控制系統,其特征在于,所述空中鼠標還包括調整模塊,所述陀螺儀還用于在水平靜止條件下獲取N個在所述陀螺儀旋轉軸方向上的角速率,其中N為大于或者等于2的整數; 所述陀螺儀將檢測到的空中鼠標當前在旋轉軸方向上的角速率以及在水平靜止條件下獲得的所述N個陀螺儀旋轉軸方向上的角速率傳遞給調整模塊,所述調整模塊計算水平靜止條件下的N個角速率的平均值,將該平均值作為靜態速率,所述調整模塊將空中鼠標在旋轉軸方向的角速率減去靜態速率,所得結果與所述靜態速率進行位與運算,將位與運算后的結果取代空中鼠標當前旋轉軸方向的角速率。
16.根據權利要求15所述的空中鼠標的控制系統,其特征在于,所述陀螺儀在水平靜止條件下每隔預設時間重新獲取N個在所述陀螺儀旋轉軸方向的角速率,并將重新獲取的N個角速率傳遞給調整模塊。
全文摘要
本發明公開了一種獲取空中鼠標位移的方法、空中鼠標及空中鼠標控制系統,所述方法通過陀螺儀和加速度計分別獲得空中鼠標當前三條坐標軸的角速率和加速度后,將角速率和角速度分別轉換為空中鼠標控制面圍繞旋轉軸所轉過的角度和空中鼠標控制面與水平面之間的角度,再通過卡爾曼濾波器對所獲得的角度進行數據融合,有效地剔除了因積分而不斷積累的數據誤差和外界因素的干擾,從而得到精確的空中鼠標位移,提高了空中鼠標的整體性能。
文檔編號G06F3/033GK102750020SQ20121024868
公開日2012年10月24日 申請日期2012年7月18日 優先權日2012年7月18日
發明者張冬忙, 趙寶龍 申請人:深圳數字電視國家工程實驗室股份有限公司