空中鼠標原理及問題
“空中鼠標”是一款無線鼠標,由于該款鼠標內置了某種類似姿態判斷和控制的系統,徹底擺脫了鼠標必須在桌面上才能使用的操作模式。操作十分靈敏,能夠智能識別打字狀態還是在桌面上的狀態,更加快捷方便,從而發揮無線超空的作用。
“空中鼠標”的原理
將空中鼠標的X軸(Pitch)角速度和Z軸(Yaw)映射到鼠標的移動速度上。因此抓握設備的方式就事先要確定,比如哪面朝前,哪面朝上。靈敏度也需要通過實驗進行確定。如果能夠獲取屏幕的分辨率或者屏幕尺寸從而進行動態調節,則效果更佳。
抗靜態偏移
鼠標在不移動的時候,光標自然是不能移動的。但不得不指出,廉價的陀螺儀本身會有靜態輸出。有些甚至能達到20度/s。 好在偏移通常不會因為環境而發生變化。所以需要在出廠前進行校正。這種問題比較容易解決。
平滑算法
消費級陀螺儀由于成本所限,精度必然不會很高,數據會出現抖動。通過提高采樣速率,即所謂的過采樣技術,對同一時刻多個數據進行濾波和平滑,從而盡可能準確地反饋當時的運動狀態。
運動平面不匹配
如上圖所示,如果以Z為軸,向Y方向旋轉,那么鼠標會劃出一條水平的軌跡。但當設備本身發生一定傾斜,如在X軸上有一個旋轉角,那么像剛才的移動,就會劃出一條斜線。這可能會對用戶造成費解。如果擁有加速度計,測量設備的傾斜程度,通過傳感器融合算法,就能相對而言避免這類問題。但算法要求較高。
旋轉,而不是位移
普通鼠標都是基于位移的,移動多少,光標就移動多少。但空鼠不是,空鼠是基于旋轉的。如果把空鼠在不旋轉的基礎上,移動一定距離,會發現光標完全沒有變化(可能會因為一些干擾造成晃動)。這會讓用戶費解。可能有算法會試圖通過所謂的加速度積分獲取位移來考慮水平或垂直運動。但這種算法肯定是不行的,因為傳感器的精度限制會非常不準確,基本沒有解決的可能性。
防按鍵抖動
普通鼠標的按鍵基本都做在鼠標的頂部,所以按鍵不會造成鼠標位移。想象按鍵若做在鼠標側面,而且按鍵很硬的話,可能就會出現抖動。因此空中鼠標對按鍵的要求很高,需要盡可能的軟,同時還能有明確的觸覺反饋。在按下去的時候,能盡量讓鼠標不發生位移。最麻煩的是雙擊操作,雙擊時人點擊鼠標的力量通常比單擊大不少。而且會有兩次連續的抖動。如果位移過遠,操作系統會將其認為是一次拖拽操作,而非雙擊操作,這需要額外的處理。
手勢識別
這涉及到比較高級的問題,空鼠顯然脫離鍵盤,一些快捷操作無法實現,通過一定的手勢能夠檢測特定的動作,從而觸發之前定義的操作。但這涉及到機器學習的話題,而且需要較高的用戶學習成本。同樣的操作,不同用戶做出來的特征可能完全不同。
休眠
電池供電系統,功耗是必須考慮的,可考慮在一定時間內沒有檢測到運動,則自動進入低功耗模式,間歇式的發送數據。
面臨的問題
1、何保證高性能和成本控制的平衡:如果要實現高精度,需用DSP或者FPGA配合優化的高效率圖像處理算法來降低運算量,但這意味著高成本,而且需要投入很多精力放在算法研發上,開發周期更長。最好的選擇是專用的ASIC配合成熟的技術解決方案。
2、干擾:由于圖像傳感器捕捉的是紅外光,所以像陽光,燭光或者燈光的干擾會對最終控制的屏幕光標有嚴重影響,例如在強陽光下空中鼠標無法使用,或者臺燈發出的光會讓光標抖動等等。
3、功耗:空中鼠標屬于手持設備,需要電池供電,設計時既要保證足夠的使用距離,又要保證低功耗,這樣用戶才不會經常更換電池或充電。
4、決影響用戶主觀感受的各種問題:因為鼠標離開桌面拿在手中,人手不可避免的抖動會讓光標隨之顫動,如何解決防抖問題,如何讓用戶有更好的體驗感覺便成了關鍵。
結論
通過基本原理實現最簡單的空鼠并不困難,但用戶體驗并不好。通過加入其它方法,能夠有效提升準確性。但必須指出,解決運動平面不匹配的方法雖然能解決匹配問題,會降低實時性,產生類似時滯的感覺,所以取舍還需要具體分析。
非常好我支持^.^
(160) 54.1%
不好我反對
(136) 45.9%
相關閱讀:
- [通信網絡] 制作一個基于Arduino的空中鼠標 2022-08-31
- [電子說] FLYMOUSE7體感空中鼠標評測 家庭中的娛樂神器和手機黨的操控利器 2019-03-13
- [MEMS/傳感技術] 基于MEMS技術的空中鼠標 2018-04-10
- [無線/傳感] 藍牙4.0 超低功耗藍牙空中鼠標解決方案 2015-08-17
- [MEMS/傳感技術] 空中鼠標系統設計的關鍵因素 2014-01-17
( 發表人:羅勇杰 )