專利名稱:基于力/觸覺交互設(shè)備的圖像紋理的力觸覺再現(xiàn)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種增強(qiáng)力觸覺模型,尤其涉及一種用于虛擬現(xiàn)實(shí)人機(jī)交互的基于力/觸覺交互設(shè)備的圖像紋理的力觸覺再現(xiàn)系統(tǒng)。
背景技術(shù):
觸覺交互是人機(jī)交互領(lǐng)域的最新技術(shù),紋理觸覺作為觸覺交互的一個(gè)重要部分,得到越來越多研究人員的關(guān)注與重視。在虛擬現(xiàn)實(shí)系統(tǒng)中,紋理觸覺不僅可以增強(qiáng)觸覺交互的真實(shí)感,還有助于遠(yuǎn)程操控或者在虛擬空間中進(jìn)行機(jī)械設(shè)計(jì),盲人獲取圖像信息等。
目前紋理觸覺再現(xiàn)的建模方法主要有3種①基于真實(shí)紋理實(shí)現(xiàn)觸覺紋理再現(xiàn)。通過構(gòu)建一個(gè)真實(shí)的紋理表面來模擬虛擬物體的紋理空間信息,從而獲得觸覺紋理的再現(xiàn),典型的裝置如Minsky等人發(fā)明的砂紙系統(tǒng)。然而真實(shí)的紋理種類畢竟有限,不可能模擬所有的虛擬紋理空間信息。②基于震動(dòng)原理設(shè)計(jì)紋理觸覺再現(xiàn)裝置以達(dá)到紋理觸覺再現(xiàn)。這種方法主要通過設(shè)置特殊的陣列裝置,靜態(tài)地或者動(dòng)態(tài)地在皮膚表面產(chǎn)生壓力,從而產(chǎn)生紋理感覺。典型的如日本Yasushi Ikei等人研制的針型接觸式陣列,采用壓電激勵(lì)方式驅(qū)動(dòng)針跳動(dòng),控制針震動(dòng)的位置和幅值從而模擬表面紋理信息。該方法便于控制,但再現(xiàn)的紋理特性與針的直徑和分布密度有關(guān),所能模擬的紋理的凹凸范圍有限。日本東京農(nóng)業(yè)科技大學(xué)的Naoya Asamura等人研制的氣體壓力觸覺再現(xiàn)裝置是靠氣體壓力刺激皮膚感受器,這種再現(xiàn)方式便于實(shí)現(xiàn),但控制不準(zhǔn)確,只能模擬柔軟和堅(jiān)硬兩種狀態(tài),達(dá)不到凹凸紋理的模擬效果。③基于現(xiàn)有的力覺再現(xiàn)裝置產(chǎn)生力反饋實(shí)現(xiàn)紋理觸覺再現(xiàn)。這種方法主要根據(jù)紋理圖像的空間信息,在接觸點(diǎn)產(chǎn)生相應(yīng)的紋理的接觸力并結(jié)合運(yùn)動(dòng)力學(xué),實(shí)時(shí)地將紋理接觸力通過力反饋裝置反饋給人手,從而達(dá)到重構(gòu)物體表面的三維紋理信息。Choi等人將紋理接觸合力建模成隨物體表面紋理的粗糙度變化而變化的周期正弦信號(hào),物體表面越粗糙,周期性信號(hào)的幅值就越大,紋理越細(xì)密,則周期信號(hào)的頻率越高。該方法在一定程度上能較好地反映出紋理的特性,但確定性模型能夠表達(dá)的紋理種類有限,僅能使力感覺有明顯的區(qū)分度,但缺乏真實(shí)感,不能模擬真實(shí)的紋理接觸感。
從以上分析可知,在保證能快速、實(shí)時(shí)地實(shí)現(xiàn)紋理力觸覺再現(xiàn)同時(shí),優(yōu)化算法,合理對(duì)紋理接觸力進(jìn)行建模,提高紋理觸覺再現(xiàn)的真實(shí)感是當(dāng)前虛擬圖像紋理觸覺再現(xiàn)系統(tǒng)亟待解決的首要問題。
發(fā)明內(nèi)容
本發(fā)明提出一種基于力/觸覺交互設(shè)備的圖像紋理的力觸覺再現(xiàn)系統(tǒng),并將其用于虛擬現(xiàn)實(shí)人機(jī)交互的二維紋理圖片的感知。該方法無需專門的圖像紋理觸覺表達(dá)裝置,無需專門儀器測(cè)量物體表面的微觀輪廓,能準(zhǔn)確的獲取虛擬物體紋理的三維空間分布信息,并建立接觸力模型,通過力/觸覺交互設(shè)備反饋接觸點(diǎn)的紋理接觸力,從而再現(xiàn)真實(shí)環(huán)境下物體的紋理特性,提高觸覺交互的真實(shí)感和穩(wěn)定性。
本發(fā)明采用如下技術(shù)方案 一種基于力/觸覺交互設(shè)備的圖像紋理的力觸覺再現(xiàn)系統(tǒng),其特征在于該方法的主要步驟如下 步驟1對(duì)外部導(dǎo)入的虛擬物體的紋理圖片經(jīng)行保存; 步驟2系統(tǒng)對(duì)調(diào)用的虛擬物體的紋理圖片進(jìn)行圖像處理,從二維紋理圖片中獲取虛擬物體紋理表面的三維微觀幾何數(shù)據(jù)。由于紋理圖片中,亮度的空間分布與紋理微觀位移的空間分布具有相關(guān)性,因此,對(duì)紋理圖片進(jìn)行分析和處理,就能獲得虛擬物體表面紋理的三維空間分布信息。對(duì)圖片進(jìn)行頻譜分析可獲得各像素頂點(diǎn)所對(duì)應(yīng)的物體紋理的表面高度。具體算法如下 (1)根據(jù)導(dǎo)入的物體表面二維紋理圖片,假設(shè)該二維紋理圖片大小為m×n個(gè)像素,即橫向有m個(gè)像素和縱向有n個(gè)像素,利用下面的公式得到每個(gè)像素點(diǎn)的亮度值 其中i∈{0,1,...m-1},j∈{0,1,...,n-1}為紋理圖片中對(duì)應(yīng)的像素點(diǎn)的坐標(biāo)值,R、G和B分別為該像素點(diǎn)的紅、綠、藍(lán)三個(gè)顏色分量,得到的亮度圖像Lm×n,
(2)對(duì)亮度圖像進(jìn)行頻譜分析和空間濾波,設(shè)計(jì)高斯濾波器對(duì)圖像進(jìn)行空間濾波,將圖像分解為低頻和高頻兩部分,低頻部分用于反映物體的輪廓、走勢(shì)和形狀,高頻部分用于反映物體表面的粗糙程度和凹凸程度,并采用高頻圖像信息作為反映物體表面紋理的微觀輪廓信息,得到的高頻圖像信息為Hm×n,
具體步驟如下 ①對(duì)亮度圖像Lm×n做離散傅里葉變換,得到頻域值F(k,v), 其中k∈{0,1,...m-1},v∈{0,1,...,n-1}為紋理圖片中對(duì)應(yīng)的像素點(diǎn)在頻域內(nèi)的坐標(biāo)值, a∈{0,1,...m-1},b∈{0,1,...,n-1},exp(·)為標(biāo)準(zhǔn)的指數(shù)函數(shù), ②對(duì)亮度圖像Lm×n在頻域內(nèi)進(jìn)行高斯濾波,濾除高頻信號(hào),G(k,v)為高斯濾波方程,即
高斯濾波器的寬度(決定著平滑程度)是由參數(shù)σ表征的,σ越大,高斯濾波器的頻帶就越寬,平滑程度就越好,S(k,v)為圖像經(jīng)高斯濾波后每個(gè)像素點(diǎn)在頻域范圍內(nèi)對(duì)應(yīng)的的值 S(k,v)=G(k,v)F(k,v)(3) ③對(duì)S(k,v)進(jìn)行傅里葉反變換,得到反映物體的輪廓、走勢(shì)和形狀的低頻信息wa,b, 其中a∈{0,1,...m-1},b∈{0,1,...,n-1}, ④反映物體表面紋理的高頻圖像信息為各像素點(diǎn)亮度值減去反映物體輪廓和走向的低頻信息,即 hi,j=li,j-wi,j(5) 其中i∈{0,1,...m-1},j∈{0,1,...,n-1}, (3)對(duì)所得到的反映物體表面紋理的高頻圖像信息Hm×n,進(jìn)行規(guī)范化處理,得到各像素點(diǎn)所對(duì)應(yīng)的物體紋理的表面高度Qm×n,
其計(jì)算公式如下 其中
二維數(shù)組矩陣Hm×n中所有元素的平均值, (4)采用區(qū)域均值法計(jì)算各像素頂點(diǎn)所對(duì)應(yīng)的物體紋理的表面高度D(m+1)×(n+1)
其中,各像素頂點(diǎn)用Ps,t表示,s∈{0,1,...m},t∈{0,1,...,n},頂點(diǎn)Ps,t所對(duì)應(yīng)的物體紋理的表面高度為ds,t, 所述的區(qū)域均值法為以各個(gè)像素頂點(diǎn)Ps,t的周圍鄰近像素區(qū)域所對(duì)應(yīng)的物體紋理的表面高度的平均值來作為該頂點(diǎn)的所對(duì)應(yīng)的物體紋理的表面高度ds,t,如圖8所示,根據(jù)各像素點(diǎn)所對(duì)應(yīng)的物體紋理的表面高度Qm×n得到ds,t具體計(jì)算如下 步驟3對(duì)虛擬場(chǎng)景進(jìn)行初始化,在虛擬環(huán)境坐標(biāo)系Oxyz中的區(qū)域{0≤x≤X,0≤y≤Y,z=0}中加載虛擬物體的紋理圖片,如圖9所示,紋理圖片在虛擬空間中的位置左右對(duì)齊,且上下對(duì)齊,在虛擬環(huán)境中初始化虛擬代理,即力/觸覺交互設(shè)備在虛擬環(huán)境中的代理; 步驟4初始化力觸覺交互設(shè)備; 步驟5操作者通過力/觸覺交互設(shè)備端部的操作柄移動(dòng)觸覺交互設(shè)備; 步驟6利用位置檢測(cè)模塊實(shí)時(shí)將力/觸覺交互設(shè)備輸出的位置信息(Px,Py,Pz)轉(zhuǎn)化為虛擬環(huán)境下的虛擬代理的坐標(biāo)(Mx,My,Mz)。具體坐標(biāo)轉(zhuǎn)化關(guān)系如下 Mx=9*Py,My=14*Pz,Mz=Px*5-5,(7) 其中(Px,Py,Pz)坐標(biāo)位置的獲取通過調(diào)用力/觸覺交互設(shè)備標(biāo)準(zhǔn)API函數(shù)庫(kù)中的dhdGetPosition()函數(shù)實(shí)現(xiàn),單位是m,它能夠獲取力/觸覺交互設(shè)備端部的操作柄在三維空間中的位置信息; 步驟7判斷當(dāng)前虛擬代理是否碰撞到虛擬物體的表面紋理,由于虛擬紋理圖片所處的位置為虛擬環(huán)境坐標(biāo)系Oxyz下的區(qū)域Ω={0≤x≤X,0≤y≤Y,z=0},因此可以根據(jù)虛擬代理移動(dòng)的位置信息來判斷是否碰撞到虛擬物體紋理表面; 步驟8根據(jù)碰撞檢測(cè)的結(jié)果以及虛擬代理當(dāng)前的坐標(biāo),經(jīng)過力/觸覺計(jì)算模塊,計(jì)算出當(dāng)前位置需要輸出的紋理接觸力大小和方向,如果沒有碰撞到虛擬物體的紋理,則輸出力為0;如果發(fā)生碰撞,則紋理力計(jì)算具體步驟如下 (1)由于紋理圖片位于虛擬環(huán)境空間坐標(biāo)系Oxyz中的區(qū)域{0≤x≤X,0≤y≤Y,z=0},紋理圖片的大小為m×n個(gè)像素,每個(gè)像素在虛擬環(huán)境下所占的平面大小為 沿同一方向的對(duì)角線將紋理圖片各像素點(diǎn)區(qū)域分成兩個(gè)三角形,如圖9所不, (2)根據(jù)位置檢測(cè)模塊所輸出的虛擬代理的位置信息,得到碰撞點(diǎn)在面Oxy上的投影點(diǎn)所在的三角形,假設(shè)投影點(diǎn)在三角形Ps,tPs+1,tPs,t+1內(nèi),Ps,t(ΔX*s,ΔY*t,0),Ps+1,t(ΔX*(s+1),ΔY*t,0),Ps,t+1(ΔX*s,ΔY*(t+1),0),假設(shè)碰撞點(diǎn)在虛擬環(huán)境空間坐標(biāo)系Oxyz下的坐標(biāo)為(x,y,z),即(x,y,z)=(Mx,My.Mz),則碰撞點(diǎn)在面Oxy上的投影坐標(biāo)為(x,y), (3)假設(shè)三角形Ps,tPs+1,tPs,t+1所對(duì)應(yīng)的物體紋理的表面為空間三角形Zs,tZs+1,tZs,t+1,基于紋理圖片預(yù)處理中所得到的三角形Ps,tPs+1,tPs,t+1三個(gè)頂點(diǎn)所對(duì)應(yīng)的物體紋理的表面高度值,得到三角形Zs,tZs+1,tZs,t+1的表面方程,代入投影點(diǎn)坐標(biāo)得到投影點(diǎn)所對(duì)應(yīng)的物體紋理的表面高度值為dx,y,如圖10所示, 當(dāng)投影點(diǎn)在面Oxy內(nèi)Ω域連續(xù)變化時(shí),其對(duì)應(yīng)的物體紋理的表面高度值為dx,y連續(xù)變化, (4)在碰撞點(diǎn)紋理接觸合力計(jì)算方法為 在接觸點(diǎn)的力建模如圖11所示,其中 法向力的計(jì)算方法如下 Fn(x,y)=kdx,y,(10) 其中k為物體表面紋理的剛性系數(shù),k的取值與物體表面屬性有關(guān),剛性系數(shù)表示在物體表面紋理在被碰撞和擠壓情況下的變形程度,當(dāng)設(shè)為0是完全柔性的,為1時(shí)是完全剛性的,范圍為0~1,dx,y為接觸點(diǎn)對(duì)應(yīng)的高度值,如果dx,y為正,則表示接觸點(diǎn)為凸起的,法向力垂直于面Oxy并指向z軸正方向;如果dx,y為負(fù),則表示接觸點(diǎn)為凹下的,法向力垂直于面Oxy并指向z軸負(fù)方向, 摩擦力的計(jì)算方法如下 Ff(x,y)=μ(x,y)|Fn(x,y)|sign(V),(11) μ(x,y)為接觸點(diǎn)的動(dòng)摩擦系數(shù),V為虛擬代理在虛擬紋理表面的相對(duì)速度,sign(V)為標(biāo)準(zhǔn)的符號(hào)函數(shù),即 摩擦力的方向與面Oxy平行,并與運(yùn)動(dòng)方向相反, 動(dòng)摩擦系數(shù)設(shè)計(jì)為μ(x,y)=ρ·r(x,y),其中ρ是紋理表面材料的粗糙系數(shù),表面粗糙系數(shù)越小,則表面越光滑,ρ的范圍為0~1,r(x,y)是接觸點(diǎn)的局部粗糙系數(shù),與該接觸點(diǎn)的局部凹凸程度有關(guān),r(x,y)可用下面的模型表示 r(x,y)=|ds,t-dx,y|+|ds+1,t-dx,y|+|ds+1,t+1-dx,y|+|ds,t+1-dx,y|,(13) 其中ds,t、ds+1,t、ds+1,t+1、ds,t+1為碰撞點(diǎn)在面Oxy上投影點(diǎn)所在的像素區(qū)域四個(gè)頂點(diǎn)所對(duì)應(yīng)的物體紋理表面的高度值,如果投影點(diǎn)落在兩個(gè)(或四個(gè))像素區(qū)域的交界處,則將該投影點(diǎn)分別歸屬這兩個(gè)(或四個(gè))像素區(qū)域并按(13)式計(jì)算該點(diǎn)的局部粗糙系數(shù),最后取均值即為該點(diǎn)的局部粗糙系數(shù); 步驟9通過力/觸覺信息反饋模塊通過PCI板卡及PCI板卡連接線將力/觸覺計(jì)算模塊產(chǎn)生的需要輸出的紋理接觸力信息傳輸至力/觸覺交互設(shè)備,通過調(diào)用力/觸覺交互設(shè)備標(biāo)準(zhǔn)API函數(shù)庫(kù)中的dhdSetForce()來設(shè)定力/觸覺交互設(shè)備需要輸出的作用力; 步驟10如果虛擬代理碰撞到虛擬物體的紋理表面,則虛擬代理不再移動(dòng)(考慮的是剛性接觸),仍在原位置繪制虛擬代理,然后圖形刷新;如果虛擬代理未碰撞到虛擬物體的紋理表面,則應(yīng)該在虛擬環(huán)境中更新虛擬代理的位置,即在基于位置檢測(cè)得出新的位置繪制虛擬代理,進(jìn)行圖形刷新; 步驟11通過力/觸覺交互設(shè)備、顯示器把要求更新的力/觸覺信息和視覺信息反饋給操作者,使其不僅能夠看到且能感覺到力/觸覺信息的變化。然后再回到步驟5。
與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn) (1)和以往的紋理再現(xiàn)系統(tǒng)相比,這種紋理再現(xiàn)無需設(shè)計(jì)專用的紋理表達(dá)裝置,利用通用的力/觸覺交互設(shè)備即能模擬虛擬手滑過物體表面紋理的觸感; (2)該方法不僅能實(shí)現(xiàn)快速的力建模和實(shí)時(shí)的紋理表達(dá),更為重要的是,反饋給操作者的接觸力直接來源于真實(shí)紋理,大大提高了紋理再現(xiàn)的真實(shí)感; (3)反映真實(shí)紋理表面凹凸程度的法向力為連續(xù)變化的力,這種連續(xù)變化的力不僅使得在進(jìn)行人機(jī)交互時(shí)更加真實(shí),而且使得交互系統(tǒng)更加穩(wěn)定,當(dāng)虛擬代理滑過物體表面的紋理時(shí),為得到連續(xù)變化的法向力,首先基于圖像處理的方法得到接觸點(diǎn)所對(duì)應(yīng)的虛擬物體的表面紋理高度值,同時(shí)保證該高度值為連續(xù)變化量,然后,將該高度值乘以物體表面的剛度系數(shù)得到在接觸點(diǎn)的所需輸出的法向力; (4)反映真實(shí)紋理表面粗糙程度的摩擦力為法向力大小乘以動(dòng)摩擦系數(shù),其動(dòng)摩擦系數(shù)不僅與紋理表面的材料粗糙系數(shù)有關(guān),還與當(dāng)前接觸點(diǎn)的局部粗糙程度有關(guān),其局部粗糙系數(shù)是基于圖像處理方法得到,這種力的建模方法更符合實(shí)際人手滑過表面粗糙不一致的紋理所反饋的力模型,提高了紋理再現(xiàn)的真實(shí)感; (5)這種再現(xiàn)系統(tǒng)可用于遠(yuǎn)程操控或者在虛擬空間中進(jìn)行機(jī)械設(shè)計(jì),虛擬外科手術(shù)仿真、遠(yuǎn)程醫(yī)療、盲人獲取圖像信息等領(lǐng)域。
圖1是系統(tǒng)框圖; 圖2是系統(tǒng)電路原理圖; 圖3基于力/觸覺交互設(shè)備的圖像紋理的力觸覺再現(xiàn)系統(tǒng)軟件流程圖; 圖4紋理圖像導(dǎo)入、存貯和預(yù)處理流程圖; 圖5力/觸覺交互設(shè)備的位置檢測(cè)和碰撞檢測(cè)流程圖; 圖6基于紋理圖象表面幾何特征提取的紋理接觸力算法流程圖; 圖7圖形刷新流程圖; 圖8紋理圖片各像素坐標(biāo)點(diǎn)和各像素頂點(diǎn)關(guān)系圖; 圖9虛擬環(huán)境坐標(biāo)系Oxyz中加載紋理圖片圖; 圖10碰撞點(diǎn)在面Oxy內(nèi)的投影點(diǎn)所對(duì)應(yīng)的物體紋理的表面高度圖; 圖11人手滑過物體表面紋理的力觸覺建模圖; 圖12紋理圖片基于圖像處理后的紋理高度圖,圖4(a)是石頭紋理圖片,圖4(b)是經(jīng)過圖像處理后的每點(diǎn)所對(duì)應(yīng)的物體紋理的表面高度圖; 圖13構(gòu)建的虛擬環(huán)境,虛擬小球與石頭紋理交互過程渲染效果圖。
具體實(shí)施例方式 一種基于DELTA手控器的石頭圖像紋理的力觸覺再現(xiàn)系統(tǒng), 本實(shí)例的運(yùn)行平臺(tái)為Windows 2000,開發(fā)語言為VC++6.0,并以O(shè)penGL圖形庫(kù)為基礎(chǔ)。力/觸覺交互設(shè)備為6自由度DELTA手控器,其工作空間范圍為平移Φ360mm×L300mm和旋轉(zhuǎn)±20deg/axis,能夠?qū)崿F(xiàn)沿X,Y,Z軸的作用力觸覺反饋,通過DELTA手控器端部的手柄可以觸摸、感知和控制虛擬小球在虛擬石頭紋理表面滑動(dòng),并將交互過程中產(chǎn)生的紋理力觸覺信息實(shí)時(shí)反饋給操作者, 所述力觸覺再現(xiàn)系統(tǒng)包括 步驟1對(duì)外部導(dǎo)入的石頭紋理圖片(如圖12a所示)經(jīng)行保存, 步驟2系統(tǒng)對(duì)調(diào)用的石頭紋理圖片進(jìn)行圖像處理,從二維紋理圖片中獲取虛擬物體紋理表面的三維微觀幾何數(shù)據(jù)。由于紋理圖片中,亮度的空間分布與紋理微觀位移的空間分布具有相關(guān)性,因此,對(duì)紋理圖片進(jìn)行分析和處理,就能獲得虛擬物體表面紋理的三維空間分布信息(如圖12b所示)。對(duì)圖片進(jìn)行頻譜分析可獲得各像素頂點(diǎn)所對(duì)應(yīng)的物體紋理的表面高度。具體算法如下 (1)根據(jù)導(dǎo)入的物體表面二維紋理圖片,該紋理圖片大小為128×128個(gè)像素,即橫向有m=128個(gè)像素和縱向有n=128個(gè)像素,利用下面的公式得到每個(gè)像素點(diǎn)的亮度值 其中i∈{0,1,...m-1},j∈{0,1,...,n-1}為紋理圖片中對(duì)應(yīng)的像素點(diǎn)的坐標(biāo)值,R、G和B分別為該像素點(diǎn)的紅、綠、藍(lán)三個(gè)顏色分量,得到的亮度圖像Lm×n
(2)對(duì)亮度圖像進(jìn)行頻譜分析和空間濾波,設(shè)計(jì)高斯濾波器對(duì)圖像進(jìn)行空間濾波,將圖像分解為低頻和高頻兩部分,低頻部分用于反映物體的輪廓、走勢(shì)和形狀,高頻部分用于反映物體表面的粗糙程度和凹凸程度,并采用高頻圖像信息作為反映物體表面紋理的微觀輪廓信息,得到的高頻圖像信息為Hm×n,
具體步驟如下 ①對(duì)亮度圖像Lm×n做離散傅里葉變換,得到頻域值F(k,v), 其中k∈{0,1,...m-1},v∈{0,1,...,n-1}為紋理圖片中對(duì)應(yīng)的像素點(diǎn)在頻域內(nèi)的坐標(biāo)值, a∈{0,1,...m-1},b∈{0,1,...,n-1},exp(·)為標(biāo)準(zhǔn)的指數(shù)函數(shù), ②對(duì)亮度圖像Lm×n在頻域內(nèi)進(jìn)行高斯濾波,濾除高頻信號(hào),G(k,v)為高斯濾波方程,即
σ=10,S(k,v)為圖像經(jīng)高斯濾波后每個(gè)像素點(diǎn)在頻域范圍內(nèi)對(duì)應(yīng)的的值 S(k,v)=G(k,v)F(k,v)(3) ③對(duì)S(k,v)進(jìn)行傅里葉反變換,得到反映物體的輪廓、走勢(shì)和形狀的低頻信息wa,b, 其中a∈{0,1,...m-1},b∈{0,1,...,n-1}, ④反映物體表面紋理的高頻圖像信息為各像素點(diǎn)亮度值減去反映物體輪廓和走向的低頻信息,即 hi,j=li,j-wi,j(5) 其中i∈{0,1,...m-1},j∈{0,1,...,n-1}, (3)對(duì)所得到的反映物體表面紋理的高頻圖像信息Hm×n,進(jìn)行規(guī)范化處理,得到各像素點(diǎn)所對(duì)應(yīng)的物體紋理的表面高度Qm×n,
其計(jì)算公式如下 其中
二維數(shù)組矩陣Hm×n中所有元素的平均值, (4)采用區(qū)域均值法計(jì)算各像素頂點(diǎn)所對(duì)應(yīng)的物體紋理的表面高度D(m+1)×(n+1)
其中,各像素頂點(diǎn)用Ps,t表示,s∈{0,1,...m),t∈{O,1,...,n),頂點(diǎn)ps,t所對(duì)應(yīng)的物體紋理的表面高度為ds,t, 所述的區(qū)域均值法為以各個(gè)像素頂點(diǎn)Ps,t的周圍鄰近像素區(qū)域所對(duì)應(yīng)的物體紋理的表面高度的平均值來作為該頂點(diǎn)的所對(duì)應(yīng)的物體紋理的表面高度ds,t,如圖8所示,根據(jù)各像素點(diǎn)所對(duì)應(yīng)的物體紋理的表面高度Qm×n,得到ds,t具體計(jì)算如下 步驟3對(duì)虛擬場(chǎng)景進(jìn)行初始化,在虛擬環(huán)境坐標(biāo)系Oxyz中的區(qū)域Ω={0≤x≤200,0≤y≤200,z=0}中加載虛擬物體的紋理圖片,紋理圖片在虛擬空間中的位置左右對(duì)齊,且上下對(duì)齊,在虛擬環(huán)境中初始化虛擬代理,(用虛擬小球表示,其初始坐標(biāo)為(100,100,20),半徑為5.),如圖13所示, 步驟4初始化Delta手控器, 步驟5操作者通過力/觸覺交互設(shè)備3即Delta手控器端部的操作柄移動(dòng)觸覺交互設(shè)備, 步驟6利用位置檢測(cè)模塊243實(shí)時(shí)將力/觸覺交互設(shè)備3即Delta手控器輸出的位置信息(Px,Py,Pz)轉(zhuǎn)化為虛擬環(huán)境下的虛擬代理的坐標(biāo)(Mx,My,Mz)。具體坐標(biāo)轉(zhuǎn)化關(guān)系如下 Mx=9*Py,My=14*Pz,Mz=Px*5-5,(7) 其中(Px,Py,Pz)坐標(biāo)位置的獲取通過調(diào)用力/觸覺交互設(shè)備3即Delta手控器標(biāo)準(zhǔn)API函數(shù)庫(kù)中的dhdGetPosition()函數(shù)實(shí)現(xiàn),單位是m,它能夠獲取力/觸覺交互設(shè)備3即Delta手控器端部的操作柄在三維空間中的位置信息, 步驟7判斷當(dāng)前虛擬代理是否碰撞到虛擬物體的表面紋理。由于虛擬紋理圖片所處的位置為虛擬環(huán)境坐標(biāo)系Oxyz下的區(qū)域{0≤x≤200,0≤y≤200,z=0},由于虛擬代理小球的半徑為5,如果位置檢測(cè)輸出的坐標(biāo)(Mx,My,Mz)位于下面的區(qū)域δ則碰撞,否則沒有發(fā)生碰撞,其中 δ={(x,y,z)|x∈
,且y∈
且z∈[-5,5]} 步驟8根據(jù)碰撞檢測(cè)的結(jié)果以及虛擬代理當(dāng)前的坐標(biāo),經(jīng)過力/觸覺計(jì)算模塊245,計(jì)算出當(dāng)前位置需要輸出的紋理接觸力大小和方向,如果沒有碰撞到虛擬物體的紋理,則輸出力為0;如果發(fā)生碰撞,則紋理力計(jì)算具體步驟如下 (1)由于紋理圖片位于虛擬環(huán)境空間坐標(biāo)系Oxyz中的區(qū)域Ω={0≤x≤200,0≤y≤200,z=0},每個(gè)像素在虛擬環(huán)境下所占的平面大小為 沿同一方向的對(duì)角線將紋理圖片各像素點(diǎn)區(qū)域分成兩個(gè)三角形,如圖9所示, (2)根據(jù)位置檢測(cè)模塊所輸出的虛擬代理的位置信息,得到碰撞點(diǎn)在面Oxy上的投影點(diǎn)所在的三角形,假設(shè)投影點(diǎn)在三角形內(nèi)Ps,tPs+1,tPs,t+1,Ps,t(ΔX*s,ΔY*t,0),Ps+1,t(ΔX*(s+1),ΔY*t,0),Ps,t+1(ΔX*s,ΔY*(t+1),0),假設(shè)碰撞點(diǎn)在虛擬環(huán)境空間坐標(biāo)系Oxyz下的坐標(biāo)為(x,y,z),即(x,y,z)=(Mx,My.Mz),則在面Oxy上的投影坐標(biāo)為(x,y), (3)假設(shè)三角形Ps,tPs+1,tPs,t+1所對(duì)應(yīng)的物體紋理的表面為空間三角形Zs,tZs+1,tZs,t+1,基于紋理圖片預(yù)處理中所得到的三角形Ps,tPs+1,tPs,t+1三個(gè)頂點(diǎn)所對(duì)應(yīng)的物體紋理的表面高度值,得到三角形Zs,tZs+1,tZs,t+1的表面方程,代入投影點(diǎn)坐標(biāo)得到投影點(diǎn)所對(duì)應(yīng)的物體紋理的表面高度值為dx,y, 當(dāng)投影點(diǎn)在面Oxy內(nèi)Ω域連續(xù)變化時(shí),其對(duì)應(yīng)的的物體紋理的表面高度值為dx,y連續(xù)變化, (4)在碰撞點(diǎn)紋理接觸合力計(jì)算方法為 其中 法向力的計(jì)算方法如下 Fn(x,y)=kdx,y,(10) 其中k為石頭紋理表面的剛性系數(shù),k=0.8,dx,y為接觸點(diǎn)對(duì)應(yīng)的高度值,如果dx,y為正,則表示接觸點(diǎn)為凸起的,法向力垂直于面Oxy并指向z軸正方向;如果dx,y為負(fù),則表示接觸點(diǎn)為凹下的,法向力垂直于面Oxy并指向z軸負(fù)方向, 摩擦力的計(jì)算方法如下 Ff(x,y)=μ(x,y)|Fn(x,y)|sign(V),(11) μ(x,y)為接觸點(diǎn)的動(dòng)摩擦系數(shù),V為虛擬代理在虛擬紋理表面的相對(duì)速度,sign(V)為標(biāo)準(zhǔn)的符號(hào)函數(shù),即 摩擦力的方向與面Oxy平行,并與運(yùn)動(dòng)方向相反, 動(dòng)摩擦系數(shù)設(shè)計(jì)為μ(x,y)=ρ·r(x,y),其中ρ是石頭紋理表面的粗糙系數(shù),ρ=0.4,r(x,y)是接觸點(diǎn)的局部粗糙系數(shù),與該接觸點(diǎn)的局部凹凸程度有關(guān),r(x,y)可用下面的模型表示 r(x,y)=|ds,t-dx,y|+|ds+1,t-dx,y|+|ds+1,t+1-dx,y|+|ds,t+1-dx,y|,(13) 其中ds,t、ds+1,t、ds+1,t+1、ds,t+1為碰撞點(diǎn)在面Oxy上投影點(diǎn)所在的像素區(qū)域四個(gè)頂點(diǎn)所對(duì)應(yīng)的物體紋理表面的高度值,如果投影點(diǎn)落在兩個(gè)(或四個(gè))像素區(qū)域的交界處,則將該投影點(diǎn)分別歸屬這兩個(gè)(或四個(gè))像素區(qū)域并按(13)式計(jì)算該點(diǎn)的局部粗糙系數(shù),最后取均值即為該點(diǎn)的局部粗糙系數(shù), 步驟9通過力/觸覺信息反饋模塊246通過PCI板卡23及PCI板卡連接線將力/觸覺計(jì)算模塊245產(chǎn)生的需要輸出的紋理接觸力信息傳輸至力/觸覺交互設(shè)備3即Delta手控器Delta手控器,通過調(diào)用力/觸覺交互設(shè)備3即Delta手控器標(biāo)準(zhǔn)API函數(shù)庫(kù)中的dhdSetForce()來設(shè)定Delta手控器需要輸出的作用力, 步驟10如果虛擬代理碰撞到虛擬物體的紋理表面,則虛擬代理不再移動(dòng)(考慮的是剛性接觸),仍在原位置繪制虛擬代理,然后圖形刷新;如果虛擬代理未碰撞到虛擬物體的紋理表面,則應(yīng)該在虛擬環(huán)境中更新虛擬代理的位置,即在基于位置檢測(cè)得出新的位置繪制虛擬代理,進(jìn)行圖形刷新, 步驟11通過力/觸覺交互設(shè)備3即Delta手控器、顯示器1把要求更新的力/觸覺信息和視覺信息反饋給操作者,使其不僅能夠看到且能感覺到力/觸覺信息的變化,然后再回到步驟5, 為驗(yàn)證本發(fā)明的實(shí)施效果,操作者通過DELTA手控器端部的手柄,觸摸、感知和控制虛擬小球在虛擬石頭紋理表面滑動(dòng),并將交互過程中產(chǎn)生的紋理力觸覺信息實(shí)時(shí)反饋給操作者。在交互過程中,操作者可以實(shí)時(shí)、真實(shí)地感知到人手滑過石頭紋理表面時(shí)的力/觸覺信息,交互自然,舒適,力觸覺感覺平穩(wěn)。實(shí)驗(yàn)結(jié)果表明該圖像紋理力觸覺再現(xiàn)系統(tǒng)不僅實(shí)現(xiàn)簡(jiǎn)單,而且能夠保證紋理接觸力和計(jì)算具有較高精度,紋理觸覺再現(xiàn)的具有較高的真實(shí)感。
權(quán)利要求
1.基于力/觸覺交互設(shè)備的圖像紋理的力觸覺再現(xiàn)系統(tǒng),其特征在于包括計(jì)算機(jī)(2)和力/觸覺交互設(shè)備(3),計(jì)算機(jī)(2)連接有顯示器(1),所述計(jì)算機(jī)(2)至少包括硬盤(24)和PCI板卡(23),所述硬盤(24)通過PCI板卡(23)及PCI板卡連接線與力/觸覺交互設(shè)備(3)連接,所述硬盤(24)至少包括紋理圖片保存模塊(241)、紋理圖片預(yù)處理模塊(242)、位置檢測(cè)模塊(243)、碰撞檢測(cè)模塊(244)、力/觸覺計(jì)算模塊(245)、力/觸覺信息反饋模塊(246)、圖形刷新模塊(247),
所述紋理圖片保存模塊(241)用于保存外界導(dǎo)入的虛擬物體圖片,以用于虛擬環(huán)境仿真,
所述紋理圖片預(yù)處理模塊(242)用于提取紋理表面的三維幾何數(shù)據(jù),具體算法如下
(1)根據(jù)導(dǎo)入的物體表面二維紋理圖片,假設(shè)該二維紋理圖片大小為m×n個(gè)像素,即橫向有m個(gè)像素和縱向有n個(gè)像素,利用下面的公式得到每個(gè)像素點(diǎn)的亮度值
其中i∈{0,1,...m-1},j∈{0,1,...,n-1}為紋理圖片中對(duì)應(yīng)的像素點(diǎn)的坐標(biāo)值,R、G和B分別為該像素點(diǎn)的紅、綠、藍(lán)三個(gè)顏色分量,得到的亮度圖像Lm×n
(2)對(duì)亮度圖像進(jìn)行頻譜分析和空間濾波,設(shè)計(jì)高斯濾波器對(duì)圖像進(jìn)行空間濾波,將圖像分解為低頻和高頻兩部分,低頻部分用于反映物體的輪廓、走勢(shì)和形狀,高頻部分用于反映物體表面的粗糙程度和凹凸程度,并采用高頻圖像信息作為反映物體表面紋理的微觀輪廓信息,得到的高頻圖像信息為Hm×n,
具體步驟如下
①對(duì)亮度圖像Lm×n做離散傅里葉變換,得到頻域值F(k,v),
其中k∈{0,1,...m-1},v∈{0,1,...,n-1}為紋理圖片中對(duì)應(yīng)的像素點(diǎn)在頻域內(nèi)的坐標(biāo)值,a∈{0,1,...m-1},b∈{0,1,...,n-1},exp(·)為標(biāo)準(zhǔn)的指數(shù)函數(shù),
②對(duì)亮度圖像Lm×n在頻域內(nèi)進(jìn)行高斯濾波,濾除高頻信號(hào),G(k,v)為高斯濾波方程,S(k,v)為圖像經(jīng)高斯濾波后每個(gè)像素點(diǎn)在頻域范圍內(nèi)對(duì)應(yīng)的的值
S(k,v)=G(k,v)F(k,v)(3)
③對(duì)S(k,v)進(jìn)行傅里葉反變換,得到反映物體的輪廓、走勢(shì)和形狀的低頻信息wa,b,
④反映物體表面紋理的高頻圖像信息Hm×n為各像素點(diǎn)亮度值減去反映物體輪廓和走向的低頻信息,即
hi,j=li,j-wi,j(5)
其中i∈{0,1,...m-1},j∈{0,1,...,n-1},
(3)對(duì)所得到的反映物體表面紋理的高頻圖像信息Hm×n,進(jìn)行規(guī)范化處理,得到各像素點(diǎn)所對(duì)應(yīng)的物體紋理的表面高度Qm×n,
其計(jì)算公式如下
其中
是二維數(shù)組矩陣Hm×n中所有元素的平均值,
(4)采用區(qū)域均值法計(jì)算各像素頂點(diǎn)所對(duì)應(yīng)的物體紋理的表面高度D{m+1)×(n+1)
其中,各像素頂點(diǎn)用Ps,t表示,s∈{0,1,...m},t∈{0,1,...,n},頂點(diǎn)Ps,t所對(duì)應(yīng)的物體紋理的表面高度為ds,t,
所述的區(qū)域均值法為以各個(gè)像素頂點(diǎn)Ps,t的周圍鄰近像素區(qū)域所對(duì)應(yīng)的物體紋理的表面高度的平均值來作為該頂點(diǎn)的所對(duì)應(yīng)的物體紋理的表面高度ds,t,
所述位置檢測(cè)模塊(243)用于,將力/觸覺交互設(shè)備(3)輸出的坐標(biāo)位置(Px,Py,Pz)轉(zhuǎn)化為虛擬環(huán)境下的坐標(biāo)(Mx,My,Mz),具體坐標(biāo)轉(zhuǎn)化關(guān)系如下
Mx=9*Py,My=14*Pz,Mz=Px*5-5,(7)
其中(Px,Py,Pz)坐標(biāo)位置的獲取通過調(diào)用力/觸覺交互設(shè)備的標(biāo)準(zhǔn)API函數(shù)庫(kù)中的dhdGetPosition()函數(shù)實(shí)現(xiàn),它能夠獲取力/觸覺交互設(shè)備端部的操作柄在三維空間中的位置信息,
所述碰撞檢測(cè)模塊(244)用于,判斷當(dāng)前力/觸覺交互設(shè)備(3)在虛擬環(huán)境里的代理是否碰撞到虛擬物體的表面紋理,
所述力/觸覺計(jì)算模塊(245)用于計(jì)算當(dāng)前輸出的紋理接觸力,如果沒有碰撞到虛擬物體的紋理,則輸出力為0;如果發(fā)生碰撞,則紋理力計(jì)算具體步驟如下
(1)假設(shè)虛擬物體的紋理圖片位于虛擬環(huán)境空間坐標(biāo)系Oxyz中的區(qū)域Ω={0≤x≤X,0≤y≤Y,z=0},紋理圖片在虛擬空間中的位置左右對(duì)齊,且上下對(duì)齊,
沿同一方向的對(duì)角線將紋理圖片各像素點(diǎn)區(qū)域分成兩個(gè)三角形,
(2)根據(jù)位置檢測(cè)模塊所輸出的虛擬代理的位置信息,假設(shè)碰撞點(diǎn)在虛擬環(huán)境下的坐標(biāo)為(x,y,z),得到碰撞點(diǎn)在面Oxy上的投影點(diǎn)(x,y)所在的三角形,
(3)基于紋理圖片預(yù)處理模塊(242)中所得到的每個(gè)像素頂點(diǎn)的所對(duì)應(yīng)的物體紋理的表面高度值,得到投影點(diǎn)所對(duì)應(yīng)的物體紋理的表面高度值為dx,y,
(4)在碰撞點(diǎn)紋理接觸合力計(jì)算方法為
其中
法向力的計(jì)算方法如下
Fn(x,y)=kdx,y,(9)
其中k為物體紋理表面的剛性系數(shù),dx,y為接觸點(diǎn)對(duì)應(yīng)的高度值,如果dx,y為正,則表示接觸點(diǎn)為凸起的,法向力垂直于面Oxy并指向z軸正方向;如果dx,y為負(fù),則表示接觸點(diǎn)為凹下的,法向力垂直于面Oxy并指向z軸負(fù)方向,
摩擦力的計(jì)算方法如下
Ff(x,y)=μ(x,y)|Fn(x,y)|sign(V),(10)
μ(x,y)為接觸點(diǎn)的動(dòng)摩擦系數(shù),V為虛擬代理在虛擬紋理表面的相對(duì)速度,sign(V)為標(biāo)準(zhǔn)的符號(hào)函數(shù),即
摩擦力的方向與面Oxy平行,并與運(yùn)動(dòng)方向相反,
動(dòng)摩擦系數(shù)設(shè)計(jì)為μ(x,y)=ρ·r(x,y),其中ρ是紋理表面材料的粗糙系數(shù),r(x,y)是接觸點(diǎn)的局部粗糙系數(shù),與該接觸點(diǎn)的局部凹凸程度有關(guān),r(x,y)可用下面的模型表示
r(x,y)=|ds,t-dx,y|+|ds+1,t-dx,y|+|ds+1,t+1-dx,y|+|ds,t+1-dx,y|,(12)
其中ds,t、ds+1,t、ds+1,t+1、ds,t+1為碰撞點(diǎn)在面Oxy上投影點(diǎn)所在的像素區(qū)域四個(gè)頂點(diǎn)所對(duì)應(yīng)的物體紋理表面的高度值,如果投影點(diǎn)落在兩個(gè)(或四個(gè))像素區(qū)域的交界處,則將該投影點(diǎn)分別歸屬這兩個(gè)(或四個(gè))像素區(qū)域并按(12)式計(jì)算該點(diǎn)的局部粗糙系數(shù),最后取均值即為該點(diǎn)的局部粗糙系數(shù),
所述力/觸覺信息反饋模塊(246)通過PCI板卡(23)及PCI板卡連接線將力/觸覺計(jì)算模塊(245)產(chǎn)生的需要輸出的紋理接觸力信息傳輸至力/觸覺交互設(shè)備(3),調(diào)用力/觸覺交互設(shè)備標(biāo)準(zhǔn)API函數(shù)庫(kù)中的dhdSetForce()來設(shè)定力/觸覺交互設(shè)備需要輸出的作用力,
所述圖形刷新模塊(247)用于受試者在顯示器上實(shí)時(shí)觀察到虛擬代理的移動(dòng)位置,
所述顯示卡(21)、PCI板卡(23)、硬盤(24)均通過總線(22)實(shí)現(xiàn)雙向傳輸,
所述顯示器(1)通過VGA連接線與顯示卡(21)連接。
全文摘要
本發(fā)明公開了一種用于虛擬現(xiàn)實(shí)人機(jī)交互的基于力/觸覺交互設(shè)備的圖像紋理的力觸覺再現(xiàn)系統(tǒng),其特征是當(dāng)力/觸覺交互設(shè)備在虛擬環(huán)境下的虛擬代理滑過虛擬物體的紋理表面時(shí),首先基于圖像處理的方法得到接觸點(diǎn)所對(duì)應(yīng)的物體紋理的表面高度和反映接觸點(diǎn)粗糙程度的動(dòng)摩擦系數(shù),然后分別建立反映接觸點(diǎn)凹凸程度的連續(xù)法向接觸力模型和反映接觸點(diǎn)粗糙程度的切向摩擦力模型,最后通過力/觸覺交互設(shè)備將紋理接觸力實(shí)時(shí)反饋給操作者,實(shí)現(xiàn)人手指劃過虛擬物體表面紋理的力觸覺表達(dá)和再現(xiàn)。所反饋的連續(xù)變化法向力不僅使得在進(jìn)行人機(jī)交互時(shí)更加真實(shí),而且使得交互系統(tǒng)更加穩(wěn)定,所反饋的與接觸點(diǎn)粗糙程度的有關(guān)的摩擦力也進(jìn)一步提高了紋理再現(xiàn)時(shí)的真實(shí)感。
文檔編號(hào)G06F3/041GK101819462SQ20101012361
公開日2010年9月1日 申請(qǐng)日期2010年3月12日 優(yōu)先權(quán)日2010年3月12日
發(fā)明者宋愛國(guó), 程盈盈, 吳涓, 張小瑞 申請(qǐng)人:東南大學(xué)