《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > 基于虛擬現實技術的自行車漫游系統的研究與實現

基于虛擬現實技術的自行車漫游系統的研究與實現

2008-08-07
作者:高 欣 宋荊洲 孫漢旭 趙

??? 摘 要: 一種實時自行車漫游系統(VR-BWS)。該系統以健身車作為人機交互" title="人機交互">人機交互的工具,綜合運用了虛擬現實、傳感器、DSP控制等技術,并通過立體顯示" title="立體顯示">立體顯示等多通道交互技術實現了人在虛擬環境中的漫游,使參與者在由計算機構造的虛擬場景中獲得了如同在真實環境中騎車的體驗。
??? 關鍵詞: 虛擬現實? 人機交互? DSP? 傳感器? 立體顯示

?

??? 虛擬現實是計算機生成的、給人多種感官刺激的虛擬世界(環境),是一種高級的人機交互系統[1]。理想的虛擬現實系統應當讓使用者在與虛擬環境產生交互行為時的感受與其在真實環境中的感受完全一樣。而現有的漫游系統大多采用二維交互界面,即采用鼠標(二維輸入)和鍵盤(線性輸入)作為交互設備,遵循著“窗口-圖標-菜單-指定”(Windows-Icons-Menu-Pointer,簡稱WIMP)操作范式[2~6],交互方式不合諧,不自然。本文以健身車作為人機交互的工具,設計了一種實時自行車漫游系統VR-BWS。該系統以虛擬現實技術為基礎,綜合運用了傳感器技術、DSP控制技術,采用了多線程、非阻塞的數據實時通信技術,并通過立體顯示等多通道交互技術實現了人在虛擬環境中的漫游,使參與者在由計算機構造的虛擬場景中獲得了如同在真實環境中騎車的體驗,是把虛擬現實技術應用于實際的一個有益嘗試,應用前景十分廣闊。
1 系統構成及原理
??? 當參與者騎在自行車上運動時,自行車的速度、方向、籠頭往上提的時間和力度以及騎車人自身重量等數據,通過傳感器實時采集" title="實時采集">實時采集,然后經由DSP控制電路傳送到上位機中,經過分析處理,使其在屏幕的虛擬場景得到仿真和展示,在虛擬場景里達到表演的效果;同時,當屏幕中的場景變化時,如上坡、下坡等,也可以通過控制軟件反饋到自行車的控制器上,產生阻尼/驅動力,使騎車人有上述場景產生的上、下坡的感覺,從而獲得較好的沉浸感。系統構成如圖1所示。

?


2 關鍵技術
2.1 人機交互傳感器技術

??? 在本自行車漫游系統中,主要是借助各種傳感器實時地捕捉人體作用于自行車而產生的各種運動參數,輸入到計算機,作用于虛擬環境,實現人與虛擬環境的交互。
??? VR-BWS中使用的傳感器有光電編碼器、角位移傳感器和力傳感器。把光電編碼器安裝在自行車車輪的軸上,與車輪同步旋轉,并以增量式編碼方式記錄自行車車輪旋轉角度對應的脈沖,然后將檢測到的脈沖數轉換成車輪的旋轉圈數,即自行車相對于某一參考點的瞬時位置; VR-BWS中使用了角位移傳感器檢測車把轉角,控制場景中視點和視線的方向;在場景中設計有不同寬度的溝壑和天塹,根據騎車人的體重和速度來判斷能否沖過去,仿真飛越長城和黃河等,因此在自行車的車把和座位處安裝了用來測量提力和人體重量的力傳感器。
2.2 DSP控制技術
??? 底層控制均由DSP系統完成。DSP處理系統的CPU采用TI公司生產的TMS320LF2407A,使用該芯片是為了保證上位機和下位機之間傳感器數據和地形數據雙向傳遞的實時性,減少運動跟蹤和信息反饋環節的延時。
2.2.1 傳感器數據的實時采集
??? 在DSP的事件管理器EV模塊中,有一個正交編碼脈沖電路QEP。該電路使能后,可以在編碼和計數引腳上輸入由光電編碼器產生的正交編碼脈沖。正交編碼脈沖電路的時基可由通用定時器提供,在程序中通用定時器設置成定向增計數模式,并以正交編碼脈沖電路作為時鐘源。由角位移傳感器和力傳感器采集到的角度數據和力數據是模擬信號,通過DSP的模數轉換模塊(ADC)將采集到的數據進行模數轉換后存入結果寄存器中。
2.2.2 多線程、非阻塞的實時通信技術
??? TMS320LF2407A的串行通信接口SCI模塊可以通過RS232轉換芯片與PC機進行異步通信。因為由傳感器實時采集到的數據通過DSP的SCI串口" title="串口">串口傳給上位機進行處理,同時虛擬場景中的地形數據需要下傳來達到控制執行機構輸出力矩的目的,模擬人騎自行車上、下坡時的感覺,在程序中把它設置成全雙工方式。
??? 使用多路傳感器作為三維場景漫游的視點跟蹤傳感器時,必須不斷地從串口采集各路傳感器的狀態數據,以跟蹤觀察者對視點位置和視線方向的改變。通常有兩種方法:(1)在應用程序中創建定時器;(2)采用多線程的應用程序框架。第一種方法由于控制單元是以固定的頻率向主機傳輸狀態數據,因此為定時器選擇適當的定時周期是關鍵,否則很容易造成數據丟失。另外,由于應用程序需要不斷地響應定時器函數,因此三維場景的繪制速度必然會受到影響。筆者采用了第二種方法,具體如下:
??? 在VC環境下開發了基于RS232協議的實時通信軟件,可以與虛擬環境軟件部分直接相連,并采用了多線程、非阻塞的實時漫游框架,在輔助線程中監視串口,有數據到達時依靠事件驅動,讀入數據并向主線程報告;并且WaitCommEvent()、ReadFile()、WriteFile()都使用了非阻塞通信技術,依靠重疊(overlapped)讀寫操作,讓串口讀寫操作在后臺運行。每當主線程收到由輔助線程傳過來的新一幀數據后,首先對它進行判斷,只有在它相對于上一幀狀態數據的變化超過規定閾值的情況下,才能開始更新用戶視口內的場景顯示,從而避免由于參與者的微小運動而引起的不必要的場景重繪。
2.3 虛擬場景的構造及其實時顯示技術
??? 目前,從技術角度上講,漫游的最大難點在于建模和實時繪制,需要在模型的精細程度和繪制速度方面取一個折衷,既要保證一定的繪制質量,又不能造成用戶的運動不適感。在建模和實時顯示方面采用了各種技術,以保證實時性。
2.3.1 虛擬場景的構建
??? 虛擬環境中的每個物體包含形狀和外觀兩個方面,用于存儲虛擬環境中幾何模型的模型文件應該能夠提供這兩方面的信息。同時還要滿足虛擬建模技術的三個常用指標——交互顯示能力、交互操縱能力、易于構造的能力對虛擬對象模型的要求。Open GL中很容易實現模型的各種變換、著色、光照、紋理、交互操作和動畫, 但是它只能提供基本幾何元素的造型函數, 使得復雜模型的建模相對困難。3DMAX等三維圖形建模工具能方便建立各種復雜物體模型, 但是很難進行程序控制。因此, 筆者在3DMAX等工具中建立好復雜模型后, 在Open GL 中實現對其方便控制和變換。
??? 本系統(VR-BWS)軟件部分需要享用多種公開三維格式文件數據,同時還要與數據庫相關聯,VR-BWS數據流圖如圖2示。

?


2.3.2 三維模型" title="三維模型">三維模型的實時顯示
??? 在3DMAX等建模工具中建立好復雜模型后,可以用多種文件格式存儲。考慮到Open GL提供了最基本的由多邊形構造三維模型的方法,故以三角形網格方式存儲。VR-BWS的軟件部分是基于面向對象技術。三維圖形類、渲染場景必不可少的屬性類如: 顏色類、紋理類、材質類、光源類等均采用面向對象方法對Open GL函數進行封裝(如圖3所示),軟件的各個組成模塊使用OCX控件和COM作為標準接口。這樣既可以大大節省開發時間, 又能提高渲染速度。

?


??? 虛擬現實最重要的特性是人可以在隨意變化的交互控制下感受到場景的動態特性。而提高顯示性能的技術包括硬件和軟件兩個方面。在硬件方面,采用了高速的DSP芯片進行數據的實時采集和傳輸;軟件方面建立了多線程、非阻塞的漫游框架,并采用了以下方法來提高場景畫面的刷新速度。
??? (1)雙緩存機制。也為顯示器建立兩個視頻緩沖區, 一個用于后臺刷新屏幕, 一個用于前臺繪制。當需要更新時, 切換這兩個緩沖區,將原來作刷新用的緩沖區用于繪制新的幀, 同時將原來作繪制用的緩沖區用于刷新顯示。場景越復雜, 采用雙緩存機制時間優越性就越能得到體現,而且采用雙緩沖機制可以解決畫面演示過程中嚴重的“閃屏”現象。?
??? (2)LOD( Level of Detail) 細節層次技術。根據兩種不同的判斷來選取細節層次不同的模型:一是距離遠近,離視點近的物體采用較高精度繪制, 離視點遠的物體則用較低精度繪制;二是通過自行車的速度設定不同的閾值,根據閾值選取不同精度的模型,然后通過平滑過渡技術來顯示。
??? (3)實例技術。場景中經常需要多個相同的虛擬物體,如完全相同的樹木等。對于這類需重復出現的物體,利用Open GL庫中的顯示列表功能,將其分別定義為單獨的顯示列表,預先生成三維實體;再通過幾何變換得到其它位置的物體。在圖形顯示時,只需調用所需的顯示列表即可顯示相應的三維實體,大大節約內存從而提高圖形顯示速度。
??? (4)預處理技術。對一些復雜的場景模型,如路兩旁的高層建筑等,在預處理階段,只計算出顯示在觀察者視野范圍內的場景并存放起來,在動態顯示時就無需對不可見的物體及落在所定義的觀察空間之外的物體進行繪制,從而大大減少在動態顯示時對可見性的測試和計算。
??? (5)用二維紋理代替三維模型。對漫游場景中非常復雜的細節上的物體如山坡上的植被等,若用三維模型表示,將需要大量的多邊形,但實際動態顯示時,沒必要把它們表現得十分精確,所以使用二維紋理代替三維模型。其方法是將復雜物體的圖像粘貼在一個平面上并放置在場景中,在三維復雜場景的實時顯示時,令該平面的法向始終指向觀察點。這樣,就形成了這些復雜物體隨著觀察方向的改變而轉動,提高了場景顯示的實時性。
3 立體顯示技術
?? ?三維立體顯示技術是虛擬現實的關鍵技術之一。 要實現三維景觀的立體顯示,首先必須得到符合三維特征的立體圖像對。左右片對的生成可以按照以往傳統的單目三維圖形生成方法分別生成,即先計算左右眼的視點向量,并分別進行視點變換及著色處理,可取得左右眼的圖像。但由于左右片對圖像的相關性很強,物體在左右圖上通常只有一個視差d,而其色彩與亮度值相差很小,可以利用這一點實現立體片對生成的快速算法。
??? 假設場景中任意點F(x,y,z)在左右片對中分別成像為Pl(xl,yl)、Pr(xr,yr),則可得:
???

??? 其中L代表左右焦點之間的間距,f代表焦距,d代表兩眼的視差。首先分別計算得到左右眼的視點向量及其變換矩陣 ,而后在生成右眼圖的同時 ,利用式(2)計算左眼圖。在這一過程中,對離視點近的物體不采用式(2)計算 ,而用分別計算方法生成。這樣可以使生成的左右片對既不失真實性,又具有快速性。
??? 采用幅分割法進行立體顯示。當顯示器進行逐行掃描時,將左右圖像按幅序交替顯示,在計算機屏幕前用液晶方式實現圖像分像,通過使用液晶眼鏡并利用人眼的視覺延遲就可以獲得立體視覺。立體監視器顯示圖像的刷新頻率的高低直接關系到圖像的穩定性,即所顯示圖像是否會出現閃爍現象。采用刷新頻率為120Hz的監視器,使左、右眼視圖的刷新頻率保持60Hz。在本文中,水平方向采用不同視線參數的兩幅透視圖像的實時顯示是通過軟件控制實現的。
4 試驗結果及結論
??? 本文實驗硬件配置為Pentium IIII 2.4GHz CPU, 內存2GB,硬盤80GB, 立體顯示卡為Quadro4 750XGL 128MB,健身車選用豪華避震式大飛輪,采用刷新頻率為120Hz的優派21寸純平顯示器,配備裝有紅外線發射器的有源立體眼鏡。操作系統為Windows 2000。立體圖像生成軟件和立體顯示接口軟件用Visual C+ +6.0編寫,三維圖形標準采用Open GL,三維建模工具采用3Dmax和ArcInfo8.0.2。根據本文所論述的原理和方法,成功設計并實現了基于微機平臺的自行車三維景觀立體漫游系統。實驗表明,本系統能較好地模擬人在實際環境中騎車的感受。上述設計原理和方法可以用于跑步機、劃船機等許多方面。
參考文獻
1 石教英. 虛擬現實基礎及實用算法[M].北京:科學出版社,2002
2 商建嘎,劉修國.三維場景交互漫游的研究與實現.計算機工程,2003;(2)
3 李振波,夢祥旭.復雜虛擬場景構造及交互漫游實現研究.系統仿真學報,2002;(9)
4 傅 晟,彭群生.一個桌面虛擬建筑環境實時漫游系統設計與實現[J].計算機學報,1998;21(9):793~799
5 張 宇,郝重陽,張汗靈.發人想象的虛擬現實沙漠公園[J]. 中國圖像圖形學報,2001;(7):4~8
6 周 昆,童一穎,潘志庚,石教英.VECW:一個虛擬環境的構造和漫游系統[J]. 計算機輔助設計與圖形學學報,?2000;12(5):355~359

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:[email protected]
主站蜘蛛池模板: 免费在线一级片 | 精品精品国产自在久久高清 | 国产中文久久精品 | 成年黄色网址 | 毛色毛片免费看 | 台湾三级香港三级在线理论 | 国产成人精品实拍在线 | 欧日韩美香蕉在线观看 | 在线精品免费观看综合 | 国产高清一级毛片在线不卡 | 国产裸体美女视频全黄 | 九九九热在线精品免费全部 | 黄色网址在线免费看 | 高清韩国a级特黄毛片 | 久久国产精品久久久久久久久久 | 欧美一级棒| 国内国产真实露脸对白 | 欧美亚洲日本视频 | 国内欧美一区二区三区 | 国产欧美日本亚洲精品五区 | 亚洲成人黄色网址 | 日本免费在线 | 亚洲九九夜夜 | 中文字幕在线视频网站 | 手机看黄av免费网址 | 国产精品三级在线观看 | 欧美特黄一区二区三区 | 日本一区二区三区四区无限 | 国产精品毛片在线大全 | a级片在线免费观看 | 深夜爽爽爽福利动态图 | 久久久成人啪啪免费网站 | 国产精品久久久久久福利 | 日韩中文字幕网 | 男人和女人搞黄 | 手机看片福利永久 | 99国产精品农村一级毛片 | 中文字幕精品在线观看 | 中文字幕福利 | 看一级毛片国产一级毛片 | 欧美成年黄网站色高清视频 |