• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      高精度高靈敏體感空中鼠標的發(fā)射端設計*

      2018-03-01 00:36:53,,,
      關鍵詞:歐拉角體感接收端

      ,,,

      (大連東軟信息學院 電子工程系,大連 116000)

      引 言

      體感技術[1-2]可以使人們很直接地使用肢體動作,身臨其境地與周邊的裝置或環(huán)境互動,而無需使用任何復雜的控制設備,為生活工作帶來新的體驗和方便。近年來,體感技術已經(jīng)應用到了3D虛擬現(xiàn)實、體感游戲、運動監(jiān)測、健康醫(yī)療照護等領域,具有一定的經(jīng)濟和市場前景,因此無線體感設備也成為當下的熱點研究方向,如何實時并準確地捕捉用戶肢體動作是體感技術研究的重點和難點。

      本文圍繞體感空中鼠標進行研究,具體介紹了發(fā)射端的設計與實現(xiàn)過程。發(fā)射端采集人體手部姿態(tài)數(shù)據(jù),并利用無線通信及USB通信協(xié)議將偵測到的手部動作傳輸至個人電腦,實現(xiàn)鼠標的功能。通過機械制圖及3D打印機制作貼身的“手套式”外殼,徹底擺脫了鼠標必須在桌面上才能使用的操作模式。相比其他手部姿態(tài)解算方法,本文提出的方案精度更高、運算速度更快、運行更穩(wěn)定、體感效果更好,這是本研究的創(chuàng)新之處。

      1 體感空中鼠標整體設計方案

      體感空中鼠標分為發(fā)射端和接收端兩個部分。發(fā)射端以STM32F103C8T6作為處理器芯片,采集MPU6050傳感器數(shù)據(jù),完成手部姿態(tài)分析,通過nRF24L01無線模塊將數(shù)據(jù)發(fā)送到接收端。接收端由STM32F103ZET6處理器、USB轉換串口芯片及無線模塊組成,接收端處理器對收到的無線數(shù)據(jù)進行處理后,通過USB協(xié)議發(fā)送至電腦等智能終端,完成鼠標光標移動、線控按鍵點擊及滾輪等功能。整體結構框圖如圖1所示。

      圖1 體感空中鼠標整體結構框圖

      本文主要介紹體感空中鼠標發(fā)射端的信息采集處理和無線數(shù)據(jù)發(fā)送功能實現(xiàn)過程,具體包括3個方面:發(fā)射端硬件電路設計、發(fā)射端軟件程序設計和功能驗證實驗。

      2 空中鼠標姿態(tài)解算原理

      目前體感技術按照體感方式[2-3]與原理的不同,主要可分為三大類:慣性感測、光學感測以及慣性及光學聯(lián)合感測。慣性感測主要是以慣性傳感器為主,例如用重力傳感器、陀螺儀以及磁傳感器等來感測使用者肢體動作的物理參數(shù)如加速度、角速度以及磁場。再根據(jù)這些物理參數(shù)來求得使用者在空間中的各種動作。綜合分析三類體感方式、鼠標功能和應用場合,本設計選擇慣性感測方式對STM32處理器進行編程,完成姿態(tài)解算。

      2.1 MPU6050六軸傳感器姿態(tài)解算

      目前描述空中姿態(tài)[4]的方法可簡單地分為3類:歐拉角法、方向余弦法和四元數(shù)法。歐拉角法在俯仰角為90°時,方程式會出現(xiàn)萬向軸鎖[5](Gimbal Lock)問題,所以歐拉角法只適用于水平姿態(tài)變化不大的情況,而不適用于全姿態(tài)飛行器的姿態(tài)確定。

      方向余弦法雖避免了歐拉角算法的問題,但計算量大、工作效率低。

      四元數(shù)法可以很好地解決萬向軸鎖問題,并且只求解四個未知量的線性微分方程組,計算量小,易于操作,是比較實用的工程方法,本設計即采用四元數(shù)法計算得到歐拉角,并加入校正算法完成空中鼠標姿態(tài)解算。

      MPU6050是內部集成了陀螺儀和加速度計的六軸傳感器[1],封裝空間大大減小,成本較低,市場應用廣泛。本設計使用MPU6050內部集成的數(shù)字運動處理單元直接運算出四元數(shù),再經(jīng)過數(shù)學公式旋轉變換運算,求出歐拉角法中的x,y,z軸上的旋轉角度以及橫滾角roll、俯仰角pitch和航向角yaw。

      2.2 四元數(shù)到歐拉角的變換運算

      在三維空間中的旋轉可以用四元數(shù)的復數(shù)形式[6]來描述為:

      Q=q0+q1i+q2j+q3k(1)

      導航坐標系為n系,運載體機體軸坐標系為b系,由歐拉角描述的方向余弦矩陣[7]可以用四元數(shù)描述為:

      (2)

      設運載體橫滾角為γ,俯仰角為θ,航向角為ψ,則3次基本旋轉的坐標變換為:

      (3)

      (4)

      θ=sin-1(T32)(5)

      將DMP運算輸出的四元數(shù)存放到數(shù)組quat[4]中,并利用上述運算公式,采用q30格式轉換成浮點數(shù)(#define q30 1 073 741 824.0f),再經(jīng)過綜合運算得到歐拉角。具體運算部分程序代碼如下:

      float q0=1.0f,q1=0.0f,q2=0.0f,q3=0.0f;

      q0 = quat[0] / q30;

      q1 = quat[1] / q30;

      q2 = quat[2] / q30;

      q3 = quat[3] / q30;

      *pitch = asin(-2×q1×q3 + 2×q0×q2)×57.3;

      *roll = atan2(2×q2×q3 + 2×q0×q1, -2×q1×q1-2×q2×q2 + 1)×57.3;

      *yaw = atan2(2×(q1×q2 + q0×q3),q0×q0+q1×q1-q2×q2-q3×q3)×57.3;

      2.3 互補濾波校正算法

      傳感器在靜態(tài)測量中較為精準,但在動態(tài)運動中加速度計會產(chǎn)生較大的噪聲,傳感器產(chǎn)生微小的偏差和漂移會造成一定的積分誤差,這樣的積分誤差會帶來歐拉角數(shù)據(jù)的漂移。所以,速度計需要使用高通濾波器,濾除陀螺儀的低頻噪聲,不能單獨使用 MPU6050的加速度計或陀螺儀來得到傾角,需要互補校正。

      根據(jù)傳感器特性建立互補濾波器,使用低通濾波器消除最終融合后輸出較為精準的角度值。其算法[8]為:

      anglen=K1×angle_m+K2(anglen-1+angle_dot×dt)(7)

      其中,anglen和anglen-1分別為第n次和第(n-1)次濾波后得到的角度;angle_m和angle_dot分別為當前采集獲得的加速度值和角速度值;K1為低通濾波系數(shù),K2為高通濾波系數(shù),在程序調試過程中調整至最佳值;dt為采樣時間系數(shù)。經(jīng)測試對比,最終K1、K2分別取0.02和0.98。對于3個傾角:橫滾角、俯仰角和航向角,均使用互補濾波算法進行校正,從而減小積分誤差,進而減少漂移誤差。

      3 發(fā)射端硬件電路設計

      發(fā)射端的硬件電路主要由微處理器模塊、傳感器模塊、無線模塊、供電模塊、和按鍵模塊構成,其電路原理圖如圖2所示。其中,微處理器模塊STM32F103C876的PC14和PC15兩個引腳連接單獨的時鐘電路可實現(xiàn)低功耗設計;傳感器模塊直接將MPU6050及外圍支持電路設計到電路上;無線模塊接口直接設計至板子邊緣位置,方便模塊插接;供電模塊設計包含電容濾波及指示燈電路;按鍵模塊設計了五向按鍵用于對顯示屏進行控制,接有上拉電阻,軟件編程去抖,同時設計了線控按鍵,套在手指上實現(xiàn)鼠標點擊動作。接收端主要由現(xiàn)有的微處理器模塊和無線模塊構成。

      圖2 發(fā)射端硬件電路原理圖

      為了實現(xiàn)體感概念中的人體功能學要求,簡化了發(fā)射端的電路原理圖設計,元器件封裝也選擇小型表貼式以實現(xiàn)小巧輕便的效果。STM32芯片的封裝為QFP方型扁平式封裝;MPU6050為QFN封裝,尺寸為4 mm×4 mm×0.9 mm,使得發(fā)射端的體積大大減?。贿x用工業(yè)級小型nRF24L01模塊尺寸為19 mm×12 mm,插入電路板表面,該模塊功耗低,等待模式電流僅為22 μA,有效傳輸距離達10 m。由于選擇的芯片功耗低,電路板的供電電池選擇小型鋰電池膠裝至板背面,可以反復充電使用。經(jīng)過PCB布局和布線,發(fā)射端的電路板尺寸僅為35 mm×35 mm,其3D視圖如圖3所示。

      圖3 發(fā)射端電路板3D視圖

      4 發(fā)射端軟件設計

      發(fā)射端的軟件設計主要是實現(xiàn)MPU6050傳感器數(shù)據(jù)采集處理和無線數(shù)據(jù)發(fā)送功能兩部分。使用軟件I2C通信方式對STM32進行編程,實現(xiàn)對傳感器MPU6050的寄存器配置和讀取數(shù)據(jù)。將MPU6050的量程配置成±2 000°/s,靈敏度為16.4 LSB°/s。

      將加速度配置為±2 g,靈敏度是 16 384 LSB/g,當鼠標在空中保持垂直狀態(tài)時,即與y軸垂直,y軸上的加速度是1g,其他兩軸上的加速度接近于0,此時讀取y軸數(shù)據(jù)為16 384。其他軸也可如此測試。使用DMP和數(shù)學公式運算獲得四元數(shù)和歐拉角[9-10],由這些參數(shù)解算出手部姿態(tài),并使用互補濾波算法[11]對姿態(tài)數(shù)據(jù)進行校正后再發(fā)送至無線模塊。使用硬件SPI通信方式對STM32進行編程,配置nRF24L01無線模塊芯片的寄存器參數(shù)。傳感器數(shù)據(jù)采集部分程序流程如圖4所示。

      圖4 傳感器數(shù)據(jù)采集程序流程圖

      nRF24L01是單片射頻收發(fā)芯片,工作于2.4~2.5 GHz ISM頻段[2],芯片內置頻率合成器、功率放大器、晶體振蕩器和調制器等功能模塊,輸出功率和通信頻道可通過程序進行配置。nRF24L01的工作模式有4種:收發(fā)模式、配置模式、空閑模式和關機模式。其中收發(fā)模式又分為ShockBurst TM收發(fā)模式和直接收發(fā)模式兩種。nRF24L01的工作模式由PWR_UP、CE、TX_EN和CS3個引腳決定,通過編程設置上述引腳值確定工作模式。

      本設計只使用ShockBurst TM收發(fā)模式進行數(shù)據(jù)的傳輸。收發(fā)模式下,nRF24L01自動處理字頭和CRC校驗碼。當接收數(shù)據(jù)時,自動把字頭和CRC校驗碼移去。當發(fā)送數(shù)據(jù)時,自動加上字頭和CRC校驗碼,當發(fā)送過程完成后,微處理器通過讀取相關數(shù)據(jù)引腳值獲得數(shù)據(jù)發(fā)射完畢信號。無線模塊發(fā)送數(shù)據(jù)程序流程如圖5所示。

      圖5 無線模塊發(fā)送數(shù)據(jù)程序流程圖

      5 功能驗證實驗

      為了驗證體感空中鼠標的功能,設計了功能驗證實驗。實驗過程如下:

      ① 將發(fā)射端戴在手上隨機運動,發(fā)射端會將空中鼠標的運動數(shù)據(jù)通過無線通信發(fā)送至接收端。

      ② 接收端通過USB口連接PC機,打開串口,利用四軸上位機觀察接收端接收到的數(shù)據(jù)波形,如圖6所示。

      圖6 空中鼠標運動數(shù)據(jù)波形圖

      ③ 將每一次運動產(chǎn)生的陀螺儀x,y,z軸的數(shù)據(jù)波峰或波谷值,填入表1空中鼠標接收端運動數(shù)據(jù)表。圖6中的三條波形曲線的縱坐標顯示了陀螺儀x、y、z軸的讀數(shù),定義為GYROx、GYROy、GYROz,橫坐標代表采集的第幾個數(shù)據(jù);波形顯示了發(fā)射端的每次運動產(chǎn)生的數(shù)據(jù)變化。

      ④ 同時,在保證陀螺儀數(shù)據(jù)穩(wěn)定不變的情況下,通過上位機的“飛控狀態(tài)”實時觀察鼠標的空間運動3D模型圖,并每隔1分鐘測量一次歐拉角數(shù)值,測量10次,填入表1中。然后進行下一輪實驗,改變陀螺儀位置,直至穩(wěn)定后,記錄陀螺儀x、y、z軸數(shù)值,再次每隔1分鐘測量歐拉角值,測量10次。重復10輪實驗過程。最后統(tǒng)計分析計算找出10輪實驗中最大的漂移誤差。

      表1 空中鼠標接收端運動數(shù)據(jù)表

      從圖6中取出前4輪實驗的第1次歐拉角的測量數(shù)據(jù),以此為示例,展示鼠標的空間運動3D模型圖,以及歐拉角(roll:橫滾角、pitch:俯仰角、yaw:航向角)的變化,如圖7所示。

      圖7 空中鼠標運動3D模型圖及歐拉角計算結果

      通過上述10輪實驗,每輪記錄10次運動數(shù)據(jù),實驗過程中無線數(shù)據(jù)收發(fā)穩(wěn)定,沒有出現(xiàn)丟包現(xiàn)象;每次手部運動,上位機3D模型都能跟著手部運動實時顯示運動方向和幅度情況,運行穩(wěn)定。分析計算結果得出空中鼠標精度和漂移誤差:橫滾角精度0.1°,漂移誤差小于0.05°,范圍-180°~+180°;俯仰角精度0.01°,漂移誤差小于0.05°,范圍-90°~+90°;航向角精度0.1°,漂移誤差小于0.12°,范圍-180°~+180°。以上結果表明本文采用的姿態(tài)解算方法具有較高的穩(wěn)定性和準確性,實驗結果驗證了體感空中鼠標的方案的可行性,具有很好的工程應用價值。

      結 語

      本文設計并實現(xiàn)了一種穩(wěn)定性高、準確率高、易操作的體感鼠標發(fā)射端,相比光學檢測手部姿態(tài)法,此方法計算量更小、速度更快、精度更高。此外,為了實現(xiàn)體感空中鼠標的產(chǎn)品化設計,使用Rhinoceros軟件繪制出發(fā)射端外殼的3D模型機械圖紙,再使用3D打印機打印出外殼。經(jīng)過裝聯(lián)后用戶便可將空中鼠標實物佩戴在手背上,將線控按鍵套在手指上實現(xiàn)鼠標單擊和雙擊功能,與電腦進行人機交互,使用方便靈活,用戶體驗效果良好,發(fā)射端外殼的機械制圖和實物照片如圖8所示。

      圖8 發(fā)射端外殼3D打印機械制圖和實物照片

      [1] 胡馨月. 體感交互技術[M]. 北京:光明日報出版社,2013:43-56.

      [2]WuQ,LiXR,WuGS.InterfaceDesignforSomatosensoryInteraction[C]//ProceedingsoftheThird InternationalConferenceonDesign,UserExperience,andUsability.UserExperienceDesignforDiverseInteractionPlatformsandEnvironments(DUXU2014)-Volume8518:794-801.

      [3] Yin L, Dong M, Duan Y, et al. A high-performance training-free approach for hand gesture recognition with accelerometer[J]. Multimedia Tools and Applications, 2014,72(1):843-864.

      [4] 李志軍,時繼潮,石磊.LPC1227的智能無線體感鼠標設計[J].單片機與嵌入式系統(tǒng)應用,2015(4):60-63.

      [5] 劉強. 四旋翼飛行器控制系統(tǒng)的研究[J].科技通報,2016,32(4):121-125.

      [6] Wang Zhenhuan, Chen Xijun, Zeng Qingshuang. Comparison of strapdown inertial navigation algorithm based on rotation vector and dual quaternion [J]. Chinese Journal of Aeronautics, 2013,26(2): 442-448.

      [7] Li Xingcheng, Zhang Shuangbiao. A Real-Time Structure of Attitude Algorithm for High Dynamic Bodies[J]. Journal of Control Science and Engineering, 2017(1):5-9.

      [8] 吉一纛,潘汛,郭玉坤,等.四旋翼飛行器系統(tǒng)硬件平臺設計與實現(xiàn)[J].計算機工程與設計,2016,37(1):76-80.

      [9] 陳莉莉. 三軸陀螺儀的空中鼠標定位算法研究[J]. 信息與電腦,2015(1):57-59.

      [10] 朱明茗,景紅. 基于體感技術的手勢追蹤與識別[J].計算機系統(tǒng)應用,2014,23(8):228-232.

      [11] 高杉,葉強,戴建松. 在人體運動測量中應用四元數(shù)擴展卡爾曼濾波[J].現(xiàn)代電子技術,2012,35(20):101-104.

      高菲(講師),主要研究方向為嵌入式系統(tǒng)開發(fā)、數(shù)據(jù)挖掘技術;劉龍(副教授),主要研究方向為嵌入式控制系統(tǒng)開發(fā);鞠爾男(講師),主要研究方向為虛擬制造、機電一體化設計。

      猜你喜歡
      歐拉角體感接收端
      基于擾動觀察法的光通信接收端優(yōu)化策略
      體感交互技術在腦卒中康復中的應用
      頂管接收端脫殼及混凝土澆筑關鍵技術
      一種設置在密閉結構中的無線電能傳輸系統(tǒng)
      新能源科技(2021年6期)2021-04-02 22:43:34
      基于多接收線圈的無線電能傳輸系統(tǒng)優(yōu)化研究
      人體體感感知機械手設計與實現(xiàn)
      電子制作(2019年13期)2020-01-14 03:15:20
      非觸控式的體感機械臂交互控制系統(tǒng)研究
      電子制作(2017年13期)2017-12-15 09:00:05
      從CATIA位置矩陣求解歐拉角的計算方法分析
      科技視界(2017年6期)2017-07-01 08:33:34
      一種基于EGI和標準人臉模板的三維人臉點云拼合算法
      軟件導刊(2016年11期)2016-12-22 21:37:36
      體感語境下的交互行為設計
      汉川市| 固始县| 新河县| 儋州市| 宁远县| 外汇| 仙居县| 普安县| 达拉特旗| 康乐县| 晋城| 波密县| 霍城县| 那坡县| 大悟县| 台北市| 息烽县| 金阳县| 沙田区| 迁西县| 新化县| 平舆县| 平武县| 永泰县| 微山县| 昌江| 东安县| 霍山县| 苗栗市| 平安县| 长宁县| 和顺县| 苏尼特右旗| 巴东县| 普洱| 贵南县| 许昌县| 贺州市| 沂南县| 湖口县| 南城县|