姚曉永,吳平東,黃 杰,黃漫玲
(1.北京理工大學 機械與車輛學院,北京100081;2.北京政法職業(yè)學院 安全防范系,北京100024)
現(xiàn)實世界是一個三維立體世界,人通過眼睛觀察到的是有立體感覺的物體,這是因為人體的大腦根據(jù)雙目提供的具有視差的平面圖而合成了具有立體感的圖像[1]。利用人的雙目視差原理,通過計算機生成和人工合成等方式產(chǎn)生符合生理規(guī)律的平面視差圖像,并將其分別投射給左右眼,就可以觀察到逼真的三維圖像[2]。本系統(tǒng)的立體顯示部分實現(xiàn)了3ds 格式的對象模型自由導入,同時,觀察者可以佩戴主動快門式立體眼鏡觀看立體圖像,達到了逼真的效果。
對空間中的立體圖像進行操作和感知,需要開發(fā)出相應的力覺交互設備[3]與立體顯示系統(tǒng)連接才能達到交互的效果。目前,對力覺交互的研究有很多,其中,基于線繩式力反饋的力覺交互器(space interface device for artificial reality,SPIDAR)是由日本東京工業(yè)大學精密工學研究所佐藤誠教授最早提出來的[4]。該機構是使用線繩將執(zhí)行器和操作設備連接起來,根據(jù)電機傳感器測量出線繩長度來計算出空間位置,實現(xiàn)動力傳動,提供力覺感知。但是該系統(tǒng)不能提供三維視覺,且只能通過替身實現(xiàn)間接交互,因此,沉浸感不強。法國Haption 公司和Angers 大學合作研究的用于提高虛擬裝配工效的大空間力反饋設備,也采用SPIDAR結構的線繩力反饋設計,力覺顯示采用5DT公司的14 自由度無線數(shù)據(jù)手套附加小型電機實現(xiàn),此種方式只能對虛擬立體圖像進行間接操作,降低了立體交互的真實性[5]。
本文采用的是基于SPIDAR 的交互器,結合開發(fā)的立體顯示系統(tǒng),可以實現(xiàn)操作對象的三維視覺,克服了原有SPIDAR 設備不能直接操作立體視覺模型對象的弱點。同時,在交互器中安裝帶有光電傳感器的電機,可以精確地測量出操作末端的空間位置,這樣就可以實現(xiàn)操作末端與空間虛擬立體圖像的位置重合,使得操作者可以直接交互虛擬圖像。
如圖1 所示,整個系統(tǒng)框架由系統(tǒng)處理單元、立體顯示設備和線繩交互設備SPIDAR 組成。立體顯示器是主動式顯示器,接收依次排開的左右視差圖像,觀察者佩戴的主動快門眼鏡通過紅外接收器與視差圖像序列保持相同頻率,就能觀看到立體圖像[6]。線繩式力反饋設備的尺寸大小為0.6 m×0.6 m×0.6 m,由4 根線繩組成,操作者可以用單根手指操作線繩末端與虛擬立體圖像交互。
系統(tǒng)處理單元包含了立體圖像生成模塊、操作末端空間位置檢測模塊和線繩拉力產(chǎn)生模塊。系統(tǒng)單元中立體圖像生成模塊是基于VC 和OpenGL 的工程,工程中通過對3 ds模型對象的數(shù)據(jù)結構進行讀取和重新繪制,實現(xiàn)了3 ds模型的導入,同時,利用OpenGL 對立體顯示卡進行編程,調(diào)用了立體顯卡的quad-buffer 功能,實現(xiàn)了左右視差圖像的雙通道輸出,操作者佩戴主動快門眼鏡就可以看到立體圖像。
操作末端空間位置檢測為4 個光電編碼器通過電機旋轉產(chǎn)生脈沖數(shù),處理單元讀取編碼器脈沖數(shù)計算出每根線繩長度,再根據(jù)空間幾何關系計算出操作末端的空間位置。線繩拉力產(chǎn)生模塊根據(jù)檢測到的操作末端空間位置與空間立體圖像的位置關系,采用一定的分配策略來分配各線繩的拉力。
圖1 系統(tǒng)框架圖Fig 1 System frame
線繩長度是通過旋轉編碼器的計數(shù)計算電機軸轉過的角度來間接測量得到的,編碼器的單向脈沖個數(shù)用來記錄電機軸轉過的角度。當電機軸轉一周需要N 個單向脈沖,繩輪半徑為R,單個脈沖所代表的線繩長度為
本研究中選用的 M 型MR 編碼器每轉的脈沖數(shù)為512,繩輪半徑為10 mm。
光電編碼器的脈沖計數(shù)是根據(jù)光敏元件所產(chǎn)生的信號A 和B 彼此間的相位關系來確定的。當碼盤正轉時,A 信號超前 B 信號90°;當碼盤反轉時,B 信號超前 A 信號 90°。要測量線繩長度,系統(tǒng)電機控制單元就必須對電機的正轉和反轉脈沖數(shù)分別進行計數(shù),當A 信號波處于上升沿而B信號波處于低電平時,正轉脈沖數(shù)NA加1;當A 信號波處于上升沿而B 信號波處于高電平時,反轉脈沖數(shù)NB加1。當NA大于NB時,電機正轉脈沖數(shù)為NA-NB,則線繩長度為L+ΔL(NA-NB);當NA小于NB時,電機反轉脈沖數(shù)為NB-NA,則線繩長度為 L -ΔL(NB- NA),其中,L 為線繩的原始長度。
在圖1 系統(tǒng)框架的力覺交互設備中,設框架坐標系原點為中心,則手指末端到4 個端點都存在一定函數(shù)關系,由這4 個空間幾何函數(shù)關系可得方程組如下
其中,坐標系的方向為水平向左為x 軸正方向,垂直向外為y 軸正方向,豎直向上為z 軸正方向,2a 為操作區(qū)域在x 軸方向的長度,2b 為y 軸方向上的長度,2c 為 z 軸方向上的長度。
根據(jù)方程組(2)中的4 個方程式可以求得操作末端在空間中的位置為
將從光電編碼器讀出的脈沖數(shù)計算得到的各線繩長度代入便可以得到操作末端的空間位置。
三維立體圖像成像原理是左眼看左視圖像,右眼看右視圖像,大腦就會在感知到在真實空間中形成一個虛擬的立體圖像。這個圖像不是真實存在的,因此,不能用測量工具來測量其在空間中的位置。立體成像遵循左右眼視線相交幾何原理[7],可以通過相交的直線幾何關系來推出,視線相交幾何圖如圖2 所示。
圖2 立體成像原理圖Fig 2 Principle diagram of stereoscopic imaging
在原理圖中,Z 為圖像到顯示屏的距離,F(xiàn) 為人眼到顯示屏的距離,L 為瞳距,D 為左右視差圖像距離。根據(jù)幾何關系可以得到如下關系式
由式(8)可以得到立體圖像在坐標系中的x,y 和z 軸上的坐標值
在基于線繩的力反饋設備中,線繩只能輸出張力,不能輸出壓力,因此,要合成一個空間三自由度的力必須要由4 根線繩連接在一個操作末端上來提供合力。這個合力要求是能夠表達各個方向上的力,合力的表達式為
其中,F(xiàn) 為合力矢量,F(xiàn)i為第 i 根線繩上的張力,αi為第i 根線繩上的單位向量。
要保證4 根線繩的合力能夠表達各個方向上的力,則操作末端的工作區(qū)域必須在如圖3 區(qū)域。
圖3 操作末端工作區(qū)域Fig 3 Working area of operating extremity
在三棱錐1234 中線繩在操作末端的合力可以是各個方向的完全顯示。
在完全顯示區(qū)域中,根據(jù)式(9)由4 根線繩上的拉力來合成一個只有三維自由度的力,就會造成3 個方程組解4 個未知數(shù)的情況,這樣會造成無確定解,也就不能精確地合成所需要的合力。為了解決這一問題,本研究采用的方法是:將整個空間區(qū)域1234 劃分成4 個工作區(qū)域P123,P134,P234 和P124,在這4 個區(qū)域內(nèi)的合力則由組成這個區(qū)域的3 根線繩拉力來提供,由3 個方程解3 個未知數(shù)就可以得到確定的解。判斷合力在某個區(qū)域內(nèi)的方法是:將設定的合力矢量與每個區(qū)域內(nèi)3 個面上的法向量分別求內(nèi)積,如果全部為正數(shù),則合力屬于這個區(qū)域。
當操作者移動操作末端,由光電編碼器檢測每個線繩的長度,根據(jù)線繩長度計算得到末端空間位置,將這個位置值與空間中的虛擬立體圖像位置進行對比,如果重合了,則按照上面的線繩拉力分配方法來合成接觸力。
整個系統(tǒng)由主動式立體投影系統(tǒng)和桌面型線繩力覺交互設備組成。主動立體投影系統(tǒng)由硬件和軟件組成,硬件包括高性能主機-惠普圖形工作站,處理器為Core i7,顯卡型號為Nvidia Quadro FX5800,內(nèi)存為8 G,立體顯示器型號為華碩公司的ASUS VG235,快門眼鏡為Nvidia 主動快門眼鏡。軟件系統(tǒng)包括立體成像模塊和立體交互模塊,立體成像模塊能夠實現(xiàn)3 ds 格式模型對象的自由導入,調(diào)用顯卡的四路緩存技術實現(xiàn)了對象模型的立體投影。線繩式力覺交互設備包括框架和4 組由Maxon 電機、光電編碼器、由繩輪和線繩組成的執(zhí)行模塊。
在立體顯示系統(tǒng)中導入3 ds 文件格式的機械零件圖,如圖4 所示。選取5 名實驗對象來觀察主動式立體成像效果,并操作線繩力覺交互器來進行單指碰撞交互實驗,然后評價系統(tǒng)的交互性能,評價方式是從如圖5 所示的5 個等級中選擇1 個,最后得到平均分,來衡量系統(tǒng)的操作性能。
圖4 零件模型圖Fig 4 Picture of part model
圖5 評價等級Fig 5 Assess grade
5 名操作者在完成實驗后分別對系統(tǒng)的三項性能進行了評分,即操作完成性、虛實融合性和操作真實性。完成實驗后對系統(tǒng)的評價結果如圖6 所示。
圖6 單指碰撞交互實驗結果Fig 6 Result of single finger collide and interaction experiments
本研究中的基于力反饋的桌面立體顯示與交互系統(tǒng)實現(xiàn)了虛擬模型對象的立體顯示,以及立體視覺與力覺顯示的融合和交互,使得操作者達到了所觸及所看的效果。在系統(tǒng)處理單位的作用下,操作者可以通過控制操作末端直接去接觸實空間中的三維虛擬物體并感受各種效果。通過5 名實驗者的體驗,可以得出系統(tǒng)具有虛實融合性強、立體效果好、可操作性強、趣味性好的特點。
[1] Dongson N A.Autostereoscopic 3D display[J].Computer,2005,38(8):31 -36.
[2] 王瓊華,王愛紅.三維立體顯示綜述[J].計算機應用,2010,30(3):579 -581.
[3] 黃 杰,李 建,肖 瑞.沉浸式虛擬環(huán)境下力反饋設備的直接交互方法[J].高技術通訊,2011,7(21):743 -749.
[4] Hirata Y,Sato M.3 dimensional interface device for virtual work space[C]∥Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems,Raleigh,USA:IEEE,1992:889 -896.
[5] Richard P,Chamaret D,Inglese F,et al.Human-scale virtual environment for product design:Effect of sensory substitution[J].International Journal of Virtual Reality,2006,5(2):37 - 44.
[6] 劉小江.探究立體顯示系統(tǒng)在虛擬現(xiàn)實中的運用[J].計算機仿真,2011,28(9):313 -317.
[7] 趙 猛,金一丞,尹 勇.立體顯示中雙目視差模型和深度感知研究[J].計算機工程,2011,37(17):271 -273.