亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        BLE空中鼠標(biāo)系統(tǒng)的優(yōu)化設(shè)計與實現(xiàn)

        2018-02-27 03:06:36許洪光汪思汗周稷麟王友學(xué)劉青林
        計算機(jī)應(yīng)用與軟件 2018年1期

        許洪光 汪思汗 周稷麟 王友學(xué) 劉青林

        (哈爾濱工業(yè)大學(xué)(深圳)電子與信息工程學(xué)院 廣東 深圳 518055)

        0 引 言

        空中鼠標(biāo)是在無線鼠標(biāo)的基礎(chǔ)上,利用慣性傳感器采集的姿態(tài)信息,控制屏幕上的光標(biāo)移動,從而使鼠標(biāo)不依賴桌面。

        空中鼠標(biāo)的性能指標(biāo)分為以下幾點:定位的精度、平滑性、易操作性。按鍵抖動一直影響著用戶對空中鼠標(biāo)的使用和體驗。文獻(xiàn)[1]提出了用低通濾波器消除輸入速率低于每5秒度的所有動作,但是,這也會影響到那些有意而為之的細(xì)微動作,造成所謂的動作“死區(qū)”。若用戶不小心大幅度移動空中鼠標(biāo),這必然導(dǎo)致光標(biāo)大幅度移動,使用戶難以找到光標(biāo)在屏幕中位置,目前還沒有針對此問題的具體解決方案。文獻(xiàn)[2-4]用位移控制光標(biāo)移動,大量實驗發(fā)現(xiàn),加速度來測量位移存在著較大的誤差[5]。文獻(xiàn)[6-9]用角度變化控制光標(biāo)移動,但是左右平移鼠標(biāo),此時的角度變化不大,光標(biāo)幾乎不會移動,不符合用戶使用習(xí)慣。

        基于以上背景,本文提出了BLE(Bluetooth Low Energy)空中鼠標(biāo)系統(tǒng)設(shè)計方案,設(shè)計并定義了光標(biāo)定位法和固定光標(biāo)法。同時采用角度和加速度相結(jié)合方法來控制光標(biāo)移動以及采用滑動窗口濾波法來解決數(shù)據(jù)抖動問題,利用加速度標(biāo)定模型進(jìn)行系統(tǒng)誤差校正,還設(shè)置了多個功能按鍵以此增加空中鼠標(biāo)功能的多樣性,從而提高用戶體驗質(zhì)量。

        1 系統(tǒng)結(jié)構(gòu)

        1.1 系統(tǒng)硬件結(jié)構(gòu)

        本系統(tǒng)方案采用模塊化設(shè)計,實現(xiàn)BLE空中鼠標(biāo)系統(tǒng),該系統(tǒng)主要包括兩個部分:手持端和藍(lán)牙適配器,系統(tǒng)結(jié)構(gòu)如圖1所示。

        圖1 BLE空中鼠標(biāo)系統(tǒng)結(jié)構(gòu)

        主控芯片選用TI公司生產(chǎn)的40引腳BLE芯片CC2541,負(fù)責(zé)通信協(xié)議的轉(zhuǎn)換。

        手持端主要包括主控芯片、數(shù)據(jù)采集模塊、按鍵模塊、電源模塊。數(shù)據(jù)采集模塊MPU6050傳感器,負(fù)責(zé)采集手持端的三維空間位置數(shù)據(jù),并通過IIC接口與主控芯片通信。設(shè)置七個按鍵,按鍵數(shù)據(jù)通過IO口傳給主控芯片,分別實現(xiàn)電源開關(guān)、復(fù)位、Enter鍵、鼠標(biāo)左擊、鼠標(biāo)右擊、向上翻一頁、向下翻一頁的功能。根據(jù)藍(lán)牙通信協(xié)議,主控芯片將接收到的三維空間位置信息和按鍵信息處理編碼并通過藍(lán)牙天線發(fā)送給藍(lán)牙適配器。

        藍(lán)牙適配器主要包括主控芯片、電源模塊、USB接口。藍(lán)牙適配器接收到手持端發(fā)射的信息流,經(jīng)過主控芯片解析處理為光標(biāo)位移及按鍵信息,依據(jù)USB協(xié)議編碼,通過USB接口完成和計算機(jī)的交互通信,最終實現(xiàn)BLE空中鼠標(biāo)操作電腦的功能。

        1.2 系統(tǒng)軟件設(shè)計

        本軟件系統(tǒng)采用多任務(wù)操作系統(tǒng),以O(shè)SAL(Operating System Abstraction Layer)作為調(diào)度核心,OSAL是一種任務(wù)分配資源的機(jī)制,BLE協(xié)議棧、profile定義、所有的應(yīng)用都圍繞它來實現(xiàn),OSAL是在此基礎(chǔ)上建立和執(zhí)行事件的循環(huán)。

        任務(wù)事件實現(xiàn)軟件的功能,創(chuàng)建一個任務(wù)事件需以下三個步驟:

        (1) 創(chuàng)建任務(wù)的標(biāo)識符任務(wù)ID;

        (2) 創(chuàng)建任務(wù)初始化進(jìn)程,然后添加到OSAL初始化進(jìn)程中;

        (3) 編寫任務(wù)處理程序。

        系統(tǒng)流程圖如圖2所示。

        圖2 系統(tǒng)流程圖

        1.2.1 姿態(tài)四元數(shù)

        鼠標(biāo)的姿態(tài)角求取方法分為三種:歐拉角法、方向余弦法、四元數(shù)法。四元數(shù)具有計算精度高的特點,同時可以很好避免奇異性,而且計算量少很適合在嵌入式設(shè)備運行。因此四元數(shù)被廣泛應(yīng)用到各種場合。

        四元數(shù)是一種超復(fù)數(shù),最早是由愛爾蘭數(shù)學(xué)家哈密頓提出的數(shù)學(xué)概念,其形式如公式:

        Q=q1+q2i+q3j+q4k

        (1)

        式中:i、j、k代表虛數(shù)單位的基,而q1、q2、q3、q4代表四個實數(shù)。

        文獻(xiàn)[10-12],詳細(xì)介紹了推導(dǎo)四元數(shù)旋轉(zhuǎn)矩陣。用字母T表示四元數(shù)的旋轉(zhuǎn)矩陣,其公式如下:

        (2)

        通過四元數(shù)旋轉(zhuǎn)矩陣可以求出,航偏角α(-180°,+180°),俯仰角β(-90°,+90°),橫滾角γ(0°,360°)。其中航偏角和橫滾角存在多解問題,需要在求解航偏角和橫滾角時判斷它們所在的象限,之后就可以明確航偏角和橫滾角的真值。公式如下:

        (3)

        1.2.2 光標(biāo)定位法

        光標(biāo)定位法,是通過快速向上或向下移動鼠標(biāo),將光標(biāo)定位到用戶事先設(shè)定的位置。

        光標(biāo)定位法是為了解決用戶難以找到光標(biāo)在電腦屏幕上位置的問題。電腦的屏幕一般為長方形,假設(shè)用戶在屏幕上設(shè)定的位置為坐標(biāo)原點,顯示器屏幕的長為x軸,顯示器屏幕的寬為y軸,建立xOy坐標(biāo)系,記錄每次光標(biāo)的坐標(biāo)位置。光標(biāo)坐標(biāo)公式如下:

        x(n)=x(n-1)+Δx
        y(n)=y(n-1)+Δy

        (4)

        x(n)、y(n)表示當(dāng)前光標(biāo)的坐標(biāo)位置,x(n-1)、y(n-1)表示上一次光標(biāo)的坐標(biāo)位置,Δx、Δy表示每次光標(biāo)移動的距離。

        經(jīng)過多次試驗,快速向上或向下采集的絕對值最大z軸加速度如表1所示。

        表1 絕對值最大z軸加速度值

        由表1可知,每次實驗最大或最小值不同,但相差不大,為了更好識別向上和向下的手勢,設(shè)定一個相關(guān)系數(shù)為0.85。

        當(dāng)檢測到向上或向下手勢后,光標(biāo)會移動(-x(n),-y(n) )坐標(biāo)距離。光標(biāo)在移動之后就會回到用戶設(shè)定的原點,其中用戶設(shè)定的原點為鼠標(biāo)剛連接到PC機(jī)時光標(biāo)的位置或者空中鼠標(biāo)系統(tǒng)重啟后光標(biāo)的位置。具體實現(xiàn)流程圖,如圖3所示。

        圖3 光標(biāo)定位法流程圖

        1.2.3 固定光標(biāo)法

        固定光標(biāo)法,是當(dāng)用戶按下鼠標(biāo)鍵后,讓光標(biāo)在一定時間內(nèi)保持不動。

        按鍵抖動問題是一個綜合的問題,按鍵位置、軟硬度都與抖動有關(guān)。本文是在按鍵位置和軟硬度確定的情況下,當(dāng)用戶按下某一鼠標(biāo)鍵之后,將光標(biāo)固定一定時間,能夠很好地消除按鍵帶來的光標(biāo)抖動而不會造成“死區(qū)”問題。不同的按鍵位置和軟硬度,需要固定不同光標(biāo)時間。具體實現(xiàn)流程圖,如圖4所示。

        圖4 固定光標(biāo)法流程圖

        2 誤差模型

        MPU6050傳感器主要存在兩種誤差,一種系統(tǒng)誤差,一種隨機(jī)誤差。系統(tǒng)誤差主要包括:零偏誤差、零偏重復(fù)性、刻度因子非線性、刻度因子重復(fù)性、非敏感軸互耦誤差、安裝誤差[13]。隨機(jī)誤差主要源于噪聲。由于環(huán)境噪聲存在,導(dǎo)致傳感器輸出的數(shù)據(jù)具有波動性,傳感器測量精度會對姿態(tài)信息計算產(chǎn)生重大影響,使用前必須對其進(jìn)行誤差補償。本文采用加速度計標(biāo)定模型和滑動窗口濾波分別校正系統(tǒng)誤差和減少隨機(jī)誤差。

        2.1 加速度計系統(tǒng)誤差模型

        加速度計傳感器測量模型,如圖5所示。

        圖5 加速度計測量模型框圖

        加速度計傳感器誤差模型公式如下:

        f=a0+Kaab

        (5)

        具體形式如下:

        (6)

        式中:f=[fx,fy,fz]T為加速度計測量輸出,Kai(i=x,y,z)表示加速度計傳感器標(biāo)度系數(shù),Kaij(i,j=x,y,z)表示加速度計傳感器的安裝誤差,j軸的輸出對i軸的耦合影響;a0=[ax0,ay0,az0]T表示加速度計傳感器的零偏誤差矩陣;ab=[abx,aby,abz]T表示加速度計的理論輸出。

        通過加速度誤差模型可以反解出校正后的加速度,如下公式:

        (7)

        文獻(xiàn)[14-16],詳細(xì)介紹了一種六位置方法,以此求解加速度計模型里矩陣系數(shù)。

        利用二軸電動轉(zhuǎn)臺,采用六位置方法,求解矩陣系數(shù),最終解的矩陣系數(shù),如公式所示:

        (8)

        2.2 隨機(jī)誤差模型

        傳感器輸出的數(shù)據(jù)會受到外界噪聲干擾,即使經(jīng)過系統(tǒng)校正后,輸出的數(shù)據(jù)仍然會有一定波動性,因此,在對傳感器數(shù)據(jù)處理前,需要對數(shù)據(jù)進(jìn)行平滑濾波。而滑動窗口濾波算法比較好的對傳感器采集的數(shù)據(jù)進(jìn)行平滑處理,減少數(shù)據(jù)波動性,能夠提高鼠標(biāo)的動態(tài)性能。

        本文采用滑動窗口均值濾波,公式如下:

        (9)

        式中:βi為采樣點,N為數(shù)據(jù)長度,而i表示第i個采樣點,其中i的取值范圍為i=1,2,…,N。圖6是滑動窗口濾波過程的圖形介紹。

        圖6 滑動窗口均值濾波

        3 光標(biāo)位置控制

        一般空中鼠標(biāo)是利用角度控制光標(biāo)移動而不采用位移控制光標(biāo)移動,主要由于加速度二重積分,會引起較大的累計誤差,導(dǎo)致光標(biāo)偏移過大。航偏角α(-180°,+180°)的角度變化控制光標(biāo)在電腦桌面水平方向移動,俯仰角β(-90°,+90°)的角度變化控制光標(biāo)在電腦桌面豎直方向移動。本文提出了以航偏角α和x軸加速度相結(jié)合方式來控制光標(biāo)在水平方向的移動的方法,其中x軸加速度是用來解決左右平移空中鼠標(biāo)而光標(biāo)不移動的問題。

        在鼠標(biāo)水平移動一段距離后停止時,x軸加速度是先增加后減少為0,然后反向加速,后反向減速為0。如果把后部分的反向加速和反向減速也用來計算光標(biāo)移動的位移,那么會出現(xiàn)光標(biāo)漂移現(xiàn)象。為了防止光標(biāo)漂移,本文只采用了x軸加速度先增加后減少這部分的加速度值,丟棄了反向加速和反向減速的這部分加速度值。

        4 實驗驗證

        采用本文方案所設(shè)計的空中鼠標(biāo),在Windows7操作系統(tǒng)的PC機(jī)上進(jìn)行實驗驗證,結(jié)果如下。

        4.1 光標(biāo)定位與固定光標(biāo)驗證

        從以下兩方面來進(jìn)行:一是光標(biāo)定位;二是固定光標(biāo)。下面分別通過實驗對上述方法進(jìn)行驗證。

        空中鼠標(biāo)連接到PC機(jī)時光標(biāo)的位置為參考位置坐標(biāo)(0,0);接著移動鼠標(biāo),光標(biāo)會在PC屏幕上移動,停止移動鼠標(biāo)靜止一段時間后,光標(biāo)獲得一個新的坐標(biāo)并記錄;然后向上或向下快速移動鼠標(biāo),光標(biāo)會回到參考位置并記錄坐標(biāo),重復(fù)上述操作,采集坐標(biāo)如表2所示。

        表2 定位前后光標(biāo)的坐標(biāo)

        從表2可以看出,z軸向上或向下加速度滿足定位手勢的條件,從而實現(xiàn)定位功能。

        固定光標(biāo)驗證是通過大量測試某一固定按鍵,然后觀察光標(biāo)固定時間與對應(yīng)消除按鍵抖動的效果好壞,如表3所示。

        表3 光標(biāo)固定時間所對應(yīng)消除按鍵抖動的效果

        從表3可以看出,在本方案中,固定時間介于[400,500]之間,按鍵抖動消除效果較好。將[400,500]區(qū)間繼續(xù)細(xì)分,通過大量測試發(fā)現(xiàn),當(dāng)固定時間近似為420 ms時,按鍵抖動消除效果最佳。不同按鍵軟硬度和按鍵位置,固定時間不同,本文只是提出一種解決此問題的方法。

        4.2 誤差模型驗證

        從以下兩方面來進(jìn)行:一是加速度計誤差模型驗證;二是滑動窗口濾波驗證。

        加速度計誤差模型驗證是以雙軸電動轉(zhuǎn)臺為平臺,測試30度狀態(tài)下三軸加速度數(shù)據(jù),然后對采集的原始數(shù)據(jù)經(jīng)過加速度誤差模型校正。原始數(shù)據(jù)和校正后數(shù)據(jù)如表4所示。

        表4 加速度原始數(shù)據(jù)和加速度校正后數(shù)據(jù)

        從表4中可以看出校正后的數(shù)據(jù)更接近真實值。

        滑動窗口濾波驗證,首先測試靜止?fàn)顟B(tài)下加速度傳感器三軸的值,然后經(jīng)過滑動窗口濾波。圖7表示有無滑動窗口濾波數(shù)據(jù)圖。從圖7可以看出,在濾波前得到的加速度值波動比較大,而在滑動窗口濾波后,計算得到的數(shù)據(jù)波動較小。

        圖7 有無滑動窗口濾波比較

        4.3 系統(tǒng)整體效果驗證

        BLE空中鼠標(biāo)如圖8所示。手持端和藍(lán)牙適配器配置好后,在Windows7操作系統(tǒng)下,操作BLE空中鼠標(biāo)按照數(shù)字“2”軌跡移動,利用畫圖軟件描繪光標(biāo)軌跡如圖9所示。

        圖8 空中鼠標(biāo)實物

        圖9 鼠標(biāo)運動軌跡

        5 結(jié) 語

        本文提出了一種基于MPU6050六軸傳感器的BLE空中鼠標(biāo)系統(tǒng)的設(shè)計方案。該方案提出了光標(biāo)定位法和固定光標(biāo)法,采用滑動窗口濾波法解決數(shù)據(jù)抖動問題,利用加速度標(biāo)定模型校正系統(tǒng)誤差,最終實現(xiàn)了BLE空中鼠標(biāo)功能的優(yōu)化。在Windows7平臺中測試,驗證了方案的正確性和有效性。另外,現(xiàn)有文獻(xiàn)均未提出光標(biāo)“未知”問題的解決方案,本文創(chuàng)造性地提出了向上或向下手勢來解決該問題。本方案很好地解決了光標(biāo)“死區(qū)”和光標(biāo)位置“未知”的問題,并增加了光標(biāo)移動的多樣性。適合任意場景的應(yīng)用,如火車、床上等無桌面依托的環(huán)境中,尤其適合手腳不靈的殘疾人使用。另外,增加了功能按鍵,也可用作教學(xué)遙控筆。下一步將研究設(shè)計出更符合用戶使用習(xí)慣的硬件外觀和按鍵布局,以此進(jìn)一步增強用戶的體驗感和舒適度。

        [1] Hillcrest Labs.空中鼠標(biāo)系統(tǒng)設(shè)計的關(guān)鍵因素[B/OL]. 2013-12-12/2017-1-10. http://archive.eet-china.com/www.eet-china.com/ART_8800693044_480501_TA_857d0c44_2.HTM.

        [2] 王海紅. 三維鼠標(biāo)的設(shè)計及其在虛擬現(xiàn)實中的應(yīng)用[D]. 蘇州大學(xué), 2010.

        [3] 江朝強, 石睿, 王云飛. 基于MEMS指環(huán)式低功耗無線三維鼠標(biāo)的設(shè)計[J]. 自動化與儀表, 2013, 28(9):12-14.

        [4] 陳建新, 卜翔, 王榮,等. 基于MEMS加速度的三維無線鼠標(biāo)設(shè)計與實現(xiàn)[J]. 無線互聯(lián)科技, 2011(8):22-25.

        [5] 陳建新, 王榮, 章韻. MEMS加速度傳感器的距離測量性能分析[J]. 電腦與電信, 2011(11):30-32.

        [6] 李士垚, 唐星陽, 呂迪洋. 基于MPU6050六軸傳感器的懸空鼠標(biāo)設(shè)計與實現(xiàn)[J]. 電子制作, 2016(15):26-27.

        [7] 段建雷, 韓鵬, 樊愛軍,等. 基于手機(jī)慣性傳感器空中鼠標(biāo)的優(yōu)化與實現(xiàn)[J]. 計算機(jī)應(yīng)用與軟件, 2015, 32(12):226-230.

        [8] 許乃展. 基于MPU6050的空中鼠標(biāo)的設(shè)計與實現(xiàn)[D]. 東南大學(xué), 2015.

        [9] 滕飛, 胡湘娟, 陽泳. 基于STM32F103的空中鼠標(biāo)設(shè)計與論述[J]. 科技創(chuàng)新與應(yīng)用, 2015(34):40-40.

        [10] 徐小明, 鐘萬勰. 四元數(shù)與歐拉角剛體動力學(xué)數(shù)值積分算法及其比較[J]. 計算機(jī)輔助工程, 2014, 23(1):59-63.

        [11] 王力, 李豪, 姜衛(wèi)平. 一種基于四元數(shù)的三維基準(zhǔn)轉(zhuǎn)換簡便模型[J]. 大地測量與地球動力學(xué), 2015, 35(2):243-247.

        [12] Gim D W, Alfriend K T. State Transition Matrix of Relative Motion for the Perturbed Noncircu-lar Reference Orbit[J]. Journal of Guidance Control & Dynamics, 2012, 26(6):956-971.

        [13] 王如勝. MEMS陀螺捷聯(lián)慣導(dǎo)系統(tǒng)標(biāo)定方法研究[D]. 哈爾濱工業(yè)大學(xué), 2015.

        [14] 石璽文, 李杰, 胡陳君,等. MEMS三軸加速度計6位置標(biāo)定方法的研究[J]. 電子器件, 2016, 39(2):403-406.

        [15] 奔粵陽, 劉新源, 鮑桂清,等. 捷聯(lián)慣性測量組件六位置標(biāo)定精度分析[Z]. 2012.

        [16] 王佳, 丁鑫, 高文超,等. 基于雙軸速率轉(zhuǎn)臺的IMU440慣性測量單元快速標(biāo)定方法與實驗[J]. 船舶工程, 2015(12):56-59.

        亚洲精品美女久久久久网站| аⅴ资源天堂资源库在线| 精品熟女日韩中文十区| 久久国产品野战| 日韩熟女精品一区二区三区视频 | 一本色道久久综合亚洲精品不| 最美女人体内射精一区二区| 色八a级在线观看| 女的把腿张开男的猛戳出浆 | 日韩亚洲中文图片小说| 亚洲一区二区三区精彩视频| 日本在线视频www色| 国产精品久久久久影院嫩草| 在线无码国产精品亚洲а∨| 国产麻豆国精精品久久毛片| 色窝窝亚洲av网在线观看| 午夜亚洲av永久无码精品| 亚洲欧美综合区自拍另类| 欧美另类在线视频| 国产高跟丝袜在线诱惑| 亚洲中文字幕剧情类别| 中文人妻熟妇乱又伦精品| 国产伦精品一区二区三区视| 日韩av在线不卡一二三区| 麻豆91蜜桃传媒在线观看| 国产精品免费看久久久8| 国产免费久久精品99re丫y| 亚洲二区精品婷婷久久精品| 99久久无色码中文字幕人妻蜜柚 | 一本之道日本熟妇人妻| 午夜福利理论片在线观看| 熟妇人妻AV中文字幕老熟妇 | 粉嫩国产白浆在线播放| 成人久久黑人中出内射青草| 青草内射中出高潮| 亚洲AV秘 无码一区二区三区臀| 美女被搞在线观看一区二区三区 | 99久久精品国产成人综合| 欧美性受xxxx狂喷水| av中国av一区二区三区av| 亚洲女初尝黑人巨高清|