999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MEMS傳感器的虛擬現實參觀系統

2012-07-25 05:35:14劉玉生
傳感器與微系統 2012年3期
關鍵詞:指令動作測量

徐 迅,劉玉生

(四川大學電氣信息學院,四川成都 610065)

0 引言

虛擬現實(virtual reality,VR)是一種模擬人在自然環境中視、聽、動等行為的先進人機交互技術,能夠為使用者模擬出與現實中相同的三維圖像世界。目前,虛擬現實技術的研究主要集中在虛擬場景建模開發和交互控制方法上,常用虛擬場景建模工具主要包括Vega,VRML等;而常用交互控制方法包括傳統鼠標鍵盤或者數據手套與頭部跟蹤器,其中前者價格低廉但使用不便,后者價格過高,普通應用場合難以承受[1,2]。本文提出了一種基于MEMS傳感器、LM3S1138微控制器和Vega虛擬仿真平臺的虛擬現實參觀系統,用戶通過操縱手柄實現在虛擬場景中的自由參觀。該系統結構簡單、成本低廉、使用方便,只需更改虛擬場景內容即可將該系統移植到其他應用領域。

1 系統結構

本文提出的虛擬現實參觀系統如圖1所示,由手持模塊和主機端兩部分組成。

手柄端微控制器根據地磁場和重力加速度在傳感器各測量軸方向上的分量計算出當前手柄相對于重力加速度軸和地磁場軸的俯仰角和方位角,將這2個角度作為手柄的狀態變量并根據手柄初始狀態計算出動作指令。然后動作指令通過串口發送到主機端,通信驅動程序根據接收的動作指令改變虛擬場景視角。

圖1 虛擬現實參觀系統結構圖Fig 1 Structure diagram of virtual reality touring system

2 手柄模塊設計

操縱手柄是樓宇參觀系統的核心組成部分,用戶通過對手柄水平垂直旋轉和前后按鍵的操作,實現在主機端虛擬場景視角水平360°、垂直180°的全方位變化和虛擬場景中視角位置的前后平移,從而實現在虛擬場景中參觀的功能,手柄外觀示意如圖2所示。

圖2 手柄外觀示意圖Fig 2 The schematic diagram of joystick appearance

2.1 手柄硬件結構

虛擬樓宇參觀手柄由MMC212磁場傳感器、MXC6202加速度傳感器和LM3S1138微控制器(MCU)組成。兩種傳感器均有X,Y兩測量軸,在每個軸分量上可分別測量±2 Gs的磁感應強度和 ±2gn的加速度,并分別以512counts/Gs和512counts/gn的精度通過I2C總線輸出。

圖3 傳感器與手柄位置關系Fig 3 Position relation between sensors and joystick

傳感器與手柄位置關系如圖3所示,磁場傳感器與手柄上平面平行,加速度傳感器與手柄側面平行,初始狀態下,手柄與地面平行,磁場傳感器X,Y測量軸組成平面垂直于重力加速度,加速度傳感器Y測量軸與重力加速度平行。

在靠近地表處,重力加速度垂直于地面,地磁場近似平行于地面,當以重力加速度相反方向為Z軸,地磁場方向為X軸,可得到如圖4所示的三維空間,其中XOY平面與地面平行。圖4中所示三維空間采用慣性坐標系,PD表示手柄在空間中正方向,方位角α為PD在XOY平面投影與X軸夾角(0°~360°),俯仰角β為PD與XOY平面夾角(-90°~90°)。PD在空間中的方向可由圖4中的方位角α和俯仰角β唯一決定,因此,選取α,β作為手柄的狀態變量。磁場傳感器的X,Y兩測量軸對應圖中向量MX,MY;加速度傳感器X,Y兩測量軸對應圖中向量AY,AZ。由傳感器特性可知,AX,MY和PD平行,AX,AY與Z軸在同一平面且β=β',β'可由AX,AY求出;同理MYxoy,MX在XOY平面內且α=α',α'可由MX,MYxoy求出,其中

因此,手柄在空間中狀態完全可以由磁場傳感器和加速度傳感器的測量值計算得到[3]。

圖4 手柄在三維空間中狀態Fig 4 State of joystick in 3D space

2.2 狀態變量計算

MEMS傳感器輸出數字量,將待測量物理量±2gn和±2 Gs分別線性映射至0x000~0x7FF的數字輸出,當待測物理量分別為0gn和0 Gs,輸出量為0x400,因此,測量輸出數字量OD與實際測量物理量G的關系可由式(1)表示,當G>0時,待測量物理量在測量軸方向分量為正,G<0時,待測量物理量在測量軸方向分量為負

通過分析待測向量在測量坐標系中所在象限,計算得到手柄狀態變量[4]。圖5所示為手柄正方向在YOZ坐標系中分別位于第一和第四象限,其中加速度傳感器AX,AY測量軸輸出實際測量加速度值Gx和Gy,根據式(2)計算得到俯仰角β

圖5 手柄俯仰角計算示意圖Fig 5 Schematic diagram of pitch angle calculation of joystick

當Bx>0且BYxoy<0時α∈[π/2,π],可由式(4)得到

當Bx<0且BYxoy<0時α∈[π,3π/2],可由式(5)得到

當Bx>0且BYxoy<0時α∈[3π/2,2π],可由式(6)得到

手柄狀態變量由x=[αβ]T表示樓宇參觀系統對手柄狀態的精度要求不高,α和β均精到個位,且α∈[0°,360°],β∈[-90°,90°],因此,選擇α以9 位編碼;β以8 位編碼。

2.3 動作指令

為減小傳輸數據量,手柄模塊微處理器根據手柄狀態和按鍵判斷生成動作指令,傳輸到主機端。

虛擬場景中視角變換動作包括視角上仰、視角下俯、視角左轉、視角右轉、視角前進和視角后退,其中是否發生前4種動作由判斷手柄狀態決定,后2種動作由從手柄按鍵獲取。圖6所示為以一個字節編碼動作指令的方法。

圖6 動作指令編碼規則Fig 6 Encoding rule of action command

圖6中每一標志位為1表示執行該動作,否則,不執行該動作。

手柄模塊初始化后,系統自動記錄手柄初始狀態下的狀態變量x0=[α0β0]T,然后進入循環狀態,每次循環首先讀取按鍵狀態,然后獲取手柄狀態變量xi=[αiβi]T,得到狀態變化量Δxi=[ΔαiΔβi]T。

其中,Δαi=αi-α0,Δβi=βi-β0.

動作指令碼按照表1所示規則生成

表1 動作指令生成規則Tab 1 Generation rules of action command

多個動作可以同步觸發,例如:視角同時左轉、上仰和前進,此時動作指令碼為00010101b,但左轉與右轉、上仰與下俯、前進與后退不能分別同時發生。

3 主機端設計

主機端由通信驅動程序和虛擬場景應用程序兩部分組成。通信驅動程序由C++編寫,根據接收手柄模塊發送的動作指令碼,向虛擬場景發出視角動作。虛擬場景應用程序通常需要具備的功能與系統工作流程:

1)可編輯功能,即用戶可以根據需求設計自己需要的三維虛擬場景模型

2)接口功能,即虛擬場景中視角變換操作與可以由操作系統或其它應用程序調用

本文選擇Vega的Lynx圖形用戶界面作為虛擬場景應用程序,選擇Walk漫游方式,通過模擬按下鍵盤鼠標協同控制方式定義中對應鍵來實現視角變換功能;通信驅動程序根據接收動作指令,調用WinIO.dll動態鏈接庫函通過讀寫8042鍵盤鼠標控制器的0x60和0x64寄存器,模擬按下Vega程序中設定的對應鍵盤按鍵操作。例如:當動作指令為00010101b(視角同時左轉、上仰和前進),此時通信驅動程序模擬同時按下Vega程序中設定的視角左轉、上仰和前進按鍵[5]。

3)系統工作流程

手柄模塊程序與主機端程序異步執行,手柄模塊循環向主機端發送動作指令,每次發送后開計時器,等待主機回應;主機端以中斷方式接收,收到指令后模擬鍵盤操作同時向手柄模塊發送成功接收信息(ACK),若手柄模塊等待回應超時則重新發送動作指令,手柄模塊程序流程如圖7所示,圖8(a)所示為手柄模塊定時器超時中斷子程序流程圖,圖8(b)所示為手柄模塊串口接收中斷子程序流程圖,圖8(c)所示為主機端串口接收中斷子程序流程圖,圖8(d)所示為主機端通信驅動程序流程圖。

圖7 手柄模塊程序流程Fig 7 Program flow chart of joystick module

4 測試結果

為測試系統能否準確感應狀態變化并發出正確動作指令,設計如下試驗,假設圖4中|PD|=1,首先單獨在水平和垂直方向轉動手柄,直到手柄發出視角變化指令,然后在空間中任意方向轉動手柄,記錄指令發出和變化邊緣狀態變量序列{xi|i=1,2,…N},其中,xi=[αiβi]T,由此得到球坐標序列{Pi|Pi=[|PD|]T},該坐標序列表示的空間曲線在Y-Z平面內投影如圖9所示。

圖9中理論指令邊界和實測指令邊界分別將Y-Z平面分割成9個子區域,當PD端點在Y-Z平面內投影分別在子區域I至IX時,對應發出指令如表2所示。

圖8 系統程序流程圖Fig 8 Flow chart of system program

圖9 動作指令Y-Z平面內投影邊界Fig 9 Action command edge projected on plane Y-Z

此外,從圖9可以看出:系統在實際使用中動作指令邊界與理論邊界在手柄狀態變化量Δα,Δβ在超出判斷閾值不大時基本吻合,但偏轉角度過大時兩組邊界存在一定偏差,該偏差主要是由于在使用中,人手轉動導致手柄繞PD軸旋轉一定角度,系統存在未測量的橫滾角。

表2 區域指令對照表Tab 2 Area and command comparison

5 結論

該系統根據加速度和磁場傳感器測量結果,計算得出手柄狀態變量,動作指令通過串口傳送到主機端,在Vega虛擬場景中完成相應虛擬場景動作,實測結果表明:在使用當中手柄能夠根據用戶操作發出正確的動作指令,且在偏轉角度不大時實測動作指令邊緣與理論邊緣相差不大,能夠得到滿意的性能。

[1]吳 迪,黃 文.騫虛擬現實技術的發展過程及研究現狀[J].海洋測繪,2002,22(6):15 -17.

[2]花 蕾.具有較高真實感的網上虛擬校園構建技術研究[D].西安:西安理工大學,2010.

[3]戎海龍,戴先中,劉信羽.廚師手握鍋具運動信息獲取方法[J].儀器儀表學報,2009,30(11):2291 -2297.

[4]蔣海濤,郭戰營.基于 MEMS加速度傳感器的飛行器傾角測量系統設計[J].計算機測量與控制,2010,18(1):107 -109.

[5]Alexei S.Nanyang Technological University virtual campus[J].IEEE Computer Graphics and Applications,2004,24(6):6 -8.

猜你喜歡
指令動作測量
聽我指令:大催眠術
把握四個“三” 測量變簡單
滑動摩擦力的測量和計算
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
滑動摩擦力的測量與計算
動作描寫要具體
畫動作
動作描寫不可少
測量
主站蜘蛛池模板: 四虎免费视频网站| 超清无码熟妇人妻AV在线绿巨人| 国内视频精品| 亚洲三级影院| 狠狠色噜噜狠狠狠狠色综合久| 99久久国产精品无码| 国产在线精彩视频二区| 爆操波多野结衣| 不卡的在线视频免费观看| 精品亚洲麻豆1区2区3区| 蝴蝶伊人久久中文娱乐网| 国产二级毛片| A级毛片无码久久精品免费| 97人妻精品专区久久久久| 亚洲欧美不卡中文字幕| 日本人又色又爽的视频| 嫩草国产在线| 91国语视频| 高清无码不卡视频| 亚洲精品在线观看91| 国模沟沟一区二区三区| 在线欧美a| 日本久久网站| 亚洲男人的天堂久久精品| 欧美啪啪精品| 国产综合精品日本亚洲777| 色婷婷色丁香| a网站在线观看| 福利一区在线| 国产乱子伦无码精品小说| 麻豆a级片| 九色91在线视频| 国产女人在线观看| 欧美色香蕉| 狠狠干欧美| 中文字幕无码电影| 亚洲日本中文综合在线| 欧美日韩精品一区二区在线线| 国产一区成人| 国产91精品调教在线播放| 99热这里只有精品国产99| 亚洲中文字幕在线观看| 国产男女免费视频| 欧美区一区二区三| 国产精品久久自在自线观看| 日本爱爱精品一区二区| 色综合狠狠操| 欧美亚洲国产视频| 国产精品无码一二三视频| 亚洲精品免费网站| 香蕉久久国产超碰青草| 亚洲二区视频| 色婷婷啪啪| 国产主播福利在线观看| 日韩黄色在线| 国产精品浪潮Av| 亚洲国产成人久久77| 色婷婷成人| 亚洲第一香蕉视频| 亚洲欧洲一区二区三区| 日本福利视频网站| 成人自拍视频在线观看| 亚洲黄色成人| 亚洲成人黄色在线| 免费A∨中文乱码专区| 99热这里只有精品5| 日韩欧美中文亚洲高清在线| 日韩欧美中文字幕在线韩免费 | 精品无码视频在线观看| 99视频国产精品| 欧美在线免费| 最近最新中文字幕在线第一页| 在线观看免费人成视频色快速| 久久男人资源站| 日韩精品毛片| 国产va欧美va在线观看| 国产国语一级毛片在线视频| 国产自无码视频在线观看| 99国产精品免费观看视频| 波多野结衣无码中文字幕在线观看一区二区| 日韩人妻精品一区| 一级毛片不卡片免费观看|