- 相關(guān)推薦
基于虛擬現實(shí)技術(shù)的自行車(chē)漫游系統的研究與實(shí)現
摘要:一種實(shí)時(shí)自行車(chē)漫游系統(VR-BWS)。該系統以健身車(chē)作為人機交互的工具,綜合運用了虛擬現實(shí)、傳感器、DPS控制等技術(shù),并通過(guò)立體顯示等多通道交互技術(shù)實(shí)現了人在虛擬環(huán)境中的漫游,使參與者在由計算機構造的虛擬場(chǎng)景中獲得了如同在真實(shí)環(huán)境中騎車(chē)的體驗。虛擬現實(shí)是計算機生成的、給人多種感官刺激的虛擬世界(環(huán)境),是一種高級的人機交互系統。理想的虛擬現實(shí)系統應當讓使用者在與虛擬環(huán)境產(chǎn)生交互行為時(shí)的感受與真實(shí)環(huán)境中的感受完全一樣。而現有的漫游系統大多采用二維交互界面,即采用鼠標(二維輸入)和鍵盤(pán)(線(xiàn)性輸入)作為交互設備,遵循著(zhù)“窗口-圖標-菜單-指定”(Windows-Icon-Menu-Pointer,簡(jiǎn)稱(chēng)WIMP)操作范式,交互方式不合諧,不自然。本文以健身作為人機交互的工具,設計了一種實(shí)時(shí)自行車(chē)漫游系統VR-BWS。該系統以虛擬現實(shí)技術(shù)為基礎,綜合運用了傳感器技術(shù)、DSP控制技術(shù),采用了多線(xiàn)程、非阻塞的數據實(shí)時(shí)通信技術(shù),并通過(guò)立體顯示等多通道交互技術(shù)實(shí)現了人在虛擬環(huán)境中的漫游,使參與者在由計算機構造的虛擬場(chǎng)景中獲得了如同在真實(shí)環(huán)境中騎車(chē)的體驗,是把虛擬現實(shí)技術(shù)應用于實(shí)際的一個(gè)有益嘗試,應用前景十分廣闊。
1 系統構成及原理
當參與者騎在自行車(chē)上運動(dòng)時(shí),自行車(chē)的速度、方向、籠頭往上提的時(shí)間和力度以及騎車(chē)人自身重量等數據,通過(guò)傳感器實(shí)時(shí)采集,然后經(jīng)由DSP控制電路傳送到上位機中,經(jīng)過(guò)分析處理,使其在屏幕的虛擬場(chǎng)景得到仿真和展示,在虛擬場(chǎng)景里達到表演的效果;同時(shí),當屏幕中的場(chǎng)景變化時(shí),如上坡、下坡等,也可以通過(guò)控制軟件反饋到自行車(chē)的控制器上,產(chǎn)生阻尼/驅動(dòng)力,使騎車(chē)人有上述場(chǎng)景產(chǎn)生的上、下坡的感覺(jué),從而獲得好的沉浸感。系統構成如圖1所示。
2 關(guān)鍵技術(shù)
2.1 人機交互傳感器技術(shù)
在本自行車(chē)漫游系統中,主要是借助各種傳感器實(shí)時(shí)地捕捉人體作用于自行車(chē)而產(chǎn)生的各種運動(dòng)參數,輸入到計算機,作用于虛擬環(huán)境,實(shí)現人與虛擬環(huán)境的交互。
VR-BWS中使用的傳感器有光電編碼器、角位移傳感器和力傳感器。與車(chē)輪同步施轉,并以增量式編碼方式記錄自行車(chē)車(chē)輪旋轉角度對應的脈沖,然后將檢測到的脈沖數據換成車(chē)輪的旋轉圈數,即自行車(chē)相對于某一參考點(diǎn)的瞬時(shí)位置;VR-BWS中使用了角位移傳感器檢測車(chē)把轉角,控制場(chǎng)景中視點(diǎn)和視線(xiàn)的方向;在場(chǎng)景中設計有沒(méi)寬度的溝壑和天塹,根據騎車(chē)人的體重和速度來(lái)判斷能否沖過(guò)去,仿真飛越長(cháng)城和黃河等,因此在自行車(chē)的車(chē)把和座位處安裝了用來(lái)測量提力和人體重量的力傳感器。
2.2 DSP控制技術(shù)
底層控制均由DSP系統完成。DSP處理系統的CPU采用TI公司生產(chǎn)的TMS320LF2407A,使用該芯片是為了保證上位機和下位機之間傳感器數據和地形數據雙向傳遞的實(shí)時(shí)性,減少運動(dòng)跟蹤和信息反饋環(huán)節的延時(shí)。
2.2.1 傳感器數據的實(shí)時(shí)采集
在DSP的事件管理器EV模塊中,有一個(gè)正交編碼脈沖電路Q(chēng)EP。該電路使能后,可以在編碼和計數引腳上輸入由光電編碼器產(chǎn)生的正交編碼脈沖。正交編碼脈沖電路的基可由通用定時(shí)器提供,在程序中通用定時(shí)器設置成定向增計數模式,并以正交編碼脈沖電路作為時(shí)鐘源。由角位移傳感器和力傳感器采集到的角度數據和力數據是模擬信號,通過(guò)DSP的模數轉換模塊(ADC)將采集到的數據進(jìn)行模數轉換后存入的結果寄存器中。
2.2.2 多線(xiàn)程、非阻塞的實(shí)時(shí)通信技術(shù)
TMS320LF2407A的串行通信接口SCI模塊可以通過(guò)RS232轉換芯片與PC機進(jìn)行異步通信。因為由傳感器實(shí)時(shí)采集到的數據通過(guò)DSP的SCI串口傳給上位機進(jìn)行處理,同時(shí)虛擬場(chǎng)景中的地形數據需要下傳來(lái)達到控制執行機構輸出力矩的目的,模擬人騎自行車(chē)上、下坡時(shí)的感覺(jué),在程序中把它設置成全雙工方式。
使用多路傳感器作為三維場(chǎng)景漫游的視點(diǎn)跟蹤傳感器時(shí),必須不斷地從串口采集各路傳感器的狀態(tài)數據,以跟蹤觀(guān)察者對視點(diǎn)位置和視線(xiàn)方向的改變。通常有兩種方式:(1)在應用程序中創(chuàng )建定時(shí)器;(2)采用多線(xiàn)程的應用程序框架。第一種方法由于控制單元是以固定的頻率向主機傳輸狀態(tài)數據,因此為定時(shí)器選擇適當的定時(shí)周期是關(guān)鍵,否則很容易造成數據丟失。另外,由于應用程序需要不斷地響應定時(shí)器函數,因此三維場(chǎng)景的繪制速度必然會(huì )受到影響。筆者采用了第二種方法,具體如下:
在VC環(huán)境下開(kāi)發(fā)了基于RS232協(xié)議的實(shí)時(shí)通信軟件,可以與虛擬環(huán)境軟件部分直接相連,并采用了多線(xiàn)程、非阻塞的實(shí)時(shí)漫游框架,在輔助線(xiàn)程中監視串口,有數據到達時(shí)依靠事件驅動(dòng),讀入數據并向主線(xiàn)程報告;并且WaitCommEvent()、ReadFile()、WriteFile()都使用了非阻塞通信技術(shù),依靠重疊(overlapped)讀寫(xiě)操作,讓串口讀寫(xiě)操作在后臺運行。每當主線(xiàn)程收到由輔助線(xiàn)程傳過(guò)來(lái)的新一幀數據后,首先對它進(jìn)行判斷,只有在它相對于上一幀狀態(tài)數據的變化超過(guò)規定閾值的情況下,才能開(kāi)始更新用戶(hù)視口內的場(chǎng)景顯示,從而避免由于參與者的微小運動(dòng)而引起的不必要的場(chǎng)景重繪。
2.3 虛擬場(chǎng)景的構造及其實(shí)時(shí)顯示技術(shù)
目前,從技術(shù)角度上講,漫游的最大難點(diǎn)在于建模和實(shí)時(shí)繪制,需要在模型的精細程度和繪制速度方面取一個(gè)折衷,既要保證一定的繪制質(zhì)量,又不能造成用戶(hù)的運動(dòng)不適感。在建模和實(shí)時(shí)顯示方面采用了各種技術(shù),以保證實(shí)時(shí)性。
【基于虛擬現實(shí)技術(shù)的自行車(chē)漫游系統的研究與實(shí)現】相關(guān)文章:
基于虛擬現實(shí)技術(shù)的船舶輔鍋爐控制系統研究03-02
基于ASP網(wǎng)絡(luò )銷(xiāo)售系統的實(shí)現與研究03-23
基于全景圖的虛擬現實(shí)系統研究03-28
基于VEGA的碼頭漫游系統03-07
WDM-PON系統實(shí)現技術(shù)的研究03-07
基于XML的企業(yè)信息集成技術(shù)的研究與實(shí)現03-24