張 靜, 徐 亮, 劉滿祿, 劉理想, 張 華, 王 姮
(1.西南科技大學(xué) 信息工程學(xué)院,四川 綿陽(yáng) 621010;2.中國(guó)科學(xué)技術(shù)大學(xué) 信息科學(xué)技術(shù)學(xué)院,安徽 合肥 230026)
虛擬仿真技術(shù)是先進(jìn)制造技術(shù)的重要研究分支,而虛擬仿真技術(shù)中的力覺(jué)感知問(wèn)題是其中重要研究熱點(diǎn)之一[1~3]。吳崢等人[4]提出了一種基于四面體的碰撞檢測(cè)虛擬系統(tǒng),具有一定的靈活性,但對(duì)于動(dòng)態(tài)目標(biāo)無(wú)法形成力覺(jué)。靳雁霞等人[5]提出了一種R-Sphere包圍球,可有效處理復(fù)雜碰撞檢測(cè),然而模型中的交互的節(jié)點(diǎn)求解卻“超平面”,實(shí)現(xiàn)力覺(jué)仿真較為困難。閆雒恒[6]通過(guò)物理模型,利用面、邊、頂點(diǎn)來(lái)代替物理模型提高了碰撞檢測(cè)效率,但虛擬系統(tǒng)交互效果受模型外形影響較大。郝建豹等人[7]提出基于模型的碰撞檢測(cè)系統(tǒng),通過(guò)計(jì)算相鄰物體間最近距離來(lái)確定物體是否碰撞,提高了碰撞檢測(cè)的效率,但虛擬力覺(jué)卻無(wú)法感知。金漢均等人[8]提出了凸多面體間碰撞檢測(cè)算法,但受限于凸多面體間碰撞檢測(cè),并不能形成力覺(jué)。
劉書(shū)桂等人[9]提出了依賴(lài)于三維空間坐標(biāo)的方法進(jìn)行碰撞檢測(cè),提高了交互精度,但系統(tǒng)實(shí)時(shí)性卻十分有限。
基于此,本文采用PHANTOM omni力反饋設(shè)備與Visual Studio 2010構(gòu)建了分布式動(dòng)態(tài)虛擬力覺(jué)系統(tǒng)。為解決虛交互過(guò)程中碰撞檢測(cè)的效率和力覺(jué)沉浸感,在檢測(cè)過(guò)程中通過(guò)對(duì)空間分割為層:幾何面層、面片層等進(jìn)行分層式的碰撞干涉判斷,并根據(jù)模型在虛擬環(huán)境中的位置與運(yùn)動(dòng)狀態(tài)轉(zhuǎn)換為虛擬力,并映射至實(shí)體交互設(shè)備,實(shí)現(xiàn)操作者的力覺(jué)感知與交互。
在虛擬仿真系統(tǒng)中,分布式單元分為:人機(jī)交互接口管理單元;空間位形解算單元;渲染與可視化單元;運(yùn)動(dòng)控制與碰撞檢測(cè)單元4個(gè)部分。
其中,人機(jī)交互接口管理單元負(fù)責(zé)接收操作者在操作交互設(shè)備過(guò)程中的通過(guò)設(shè)備發(fā)送的指令信息,以及發(fā)送碰撞過(guò)程中虛擬代理點(diǎn)力覺(jué)信息;空間位形解算單元根據(jù)虛擬物體的尺寸、形狀、姿態(tài)等參數(shù),建立虛擬物體在虛擬空間中的坐標(biāo)配對(duì)關(guān)系;渲染與可視化單元捕獲虛擬環(huán)境中的部件顏色、光照等外界條件以物理參數(shù)或數(shù)學(xué)特性等信息進(jìn)行轉(zhuǎn)換,經(jīng)由OpenGL與圖形處理單元(graphic processing unit,GPU)進(jìn)行實(shí)時(shí)渲染處理[10]。
運(yùn)動(dòng)控制與碰撞檢測(cè)單元分為運(yùn)動(dòng)控制子塊和碰撞檢測(cè)子塊,該單元接收其他成員的上行控制指令。執(zhí)行過(guò)程的參數(shù)可被其他單元讀取,同時(shí)也可對(duì)其他單元發(fā)送上行指令。該單元的運(yùn)動(dòng)控制子塊負(fù)責(zé)從人機(jī)交互接口管理單元和空間位形解算單元分別獲取空間虛擬空間中代理點(diǎn)和被碰撞物體的位形、姿態(tài)、坐標(biāo)信息。
碰撞檢測(cè)單元會(huì)實(shí)時(shí)檢測(cè)代理點(diǎn)與物體干涉情況,從而實(shí)現(xiàn)碰撞的檢測(cè)。當(dāng)虛擬空間中的物體發(fā)生碰撞時(shí),將進(jìn)行碰撞檢測(cè)。根據(jù)碰撞數(shù)據(jù)計(jì)算碰撞的力覺(jué),形成約束數(shù)據(jù)并發(fā)送至人機(jī)交互接口管理單元。交互管理單元將約束數(shù)據(jù)發(fā)送給交互設(shè)備,形成實(shí)時(shí)約束,操作者通過(guò)交互設(shè)備感知虛擬力覺(jué),如圖1所示。

圖1 虛擬系統(tǒng)碰撞檢測(cè)過(guò)程
虛擬交互對(duì)象為軟組織物體,采用彈簧—質(zhì)點(diǎn)的形式進(jìn)行表征[11]。內(nèi)部彈簧結(jié)構(gòu)根據(jù)質(zhì)點(diǎn)與質(zhì)點(diǎn)的關(guān)系可分為:拉伸彈性力FL、剪切彈性力FC以及彎曲彈性力FW。FL表示相鄰質(zhì)點(diǎn)的拉伸關(guān)系,用于直接控制軟組織的縱橫方向形變,彈性系數(shù)KL最大;FC用于連接對(duì)角的相鄰質(zhì)點(diǎn)防止形變橫向或縱向形變過(guò)于嚴(yán)重,彈性系數(shù)KC適中;FW用于連接統(tǒng)間隔為一個(gè)單位的質(zhì)點(diǎn)主要用于表征軟組織的局部形變,彈簧系數(shù)KW最小。系統(tǒng)內(nèi)部單質(zhì)點(diǎn)的力Fin為
Fin=FL+FC+FW
(1)
忽略彎曲彈力,選擇四邊形進(jìn)行模擬軟組織的物體,令KL=KC滿足
Fin=4FL=4FC
(2)
對(duì)于代理點(diǎn)而言在與軟組織交互過(guò)程中勢(shì)必會(huì)刺入軟組織物體。
設(shè)切向形變長(zhǎng)度為ΔL,因此,作用單個(gè)質(zhì)點(diǎn)受到的力為F=4FL=4KLΔL1。
對(duì)于每k和第(k+1)層的力覺(jué)關(guān)系為
4kFC=4kKCΔLk=4(2k-1)KCΔLk-
[8(k+1)-4]KCΔLk+1
(3)
總的切向力覺(jué)FS為
FS=4KCΔL1+4×2KCΔL2+…+4(m+1)KCΔLm+1
(4)
進(jìn)一步化簡(jiǎn),得到
FS=4KCΔL1+…+[8(m+1)-4]KCΔLm+1
(5)
設(shè)切向變形率為ξ,對(duì)應(yīng)單層形變有
ξi=ΔLi/Li
(7)
形變率與交互層數(shù)m的關(guān)系為
(8)
對(duì)于外圍第m層受到的形變?cè)O(shè)為ΔZi,形變關(guān)系如圖2所示。

圖2 形變關(guān)系
若刺入深度影響到i+1層,對(duì)應(yīng)的切向與縱向深度關(guān)系為
(9)
設(shè)代理點(diǎn)與軟組織深度交互彈性系數(shù)為δ,當(dāng)交互層數(shù)m確定后ΔLm+1≈0,此時(shí)深度交互力覺(jué)為
(10)
在交互過(guò)程中軟組織彈性系數(shù)δ確定,形變層數(shù)m確定,則感知到交互力覺(jué)大小僅與軟組織形變程度有關(guān)。
干涉結(jié)果采用較小的模擬步長(zhǎng)進(jìn)行碰撞檢測(cè)。選取碰撞接觸面的點(diǎn)Q(xq,yq,zq),碰撞接觸面表達(dá)為F(x),在任意處可導(dǎo),選取碰撞位置Q點(diǎn)以δ為半徑的去心鄰域內(nèi)任意不同兩點(diǎn)A(xa,ya,za)和B(xb,yb,zb)。Q點(diǎn)碰撞的法向量m(xm,ym,zm),碰撞接觸時(shí)速度矢量V(xv,yv,zv),有

(11)
碰撞接觸時(shí)的有效方向即末端垂直接觸面,設(shè)碰撞時(shí)速度與初始接觸面的法向量方向夾角為η∈[0,π/2),有
(12)
η∈[0,π/2)時(shí),為有效碰撞;η=π/2時(shí),為無(wú)效碰撞。
其交互力覺(jué)通過(guò)質(zhì)點(diǎn)系是否有質(zhì)點(diǎn)位置發(fā)生改變進(jìn)行判斷。當(dāng)存在質(zhì)點(diǎn)位置改變則必然有Z=[ΔZ1,ΔZ2,…,ΔZm]T中的ΔZi為非零值,進(jìn)一步判斷當(dāng)i≠m時(shí),ΔZi≠0,此時(shí)必然存在交互作用,確定交互層數(shù)。
若要將虛擬力覺(jué)在操作設(shè)備上進(jìn)行感知,顯然需要將虛擬力覺(jué)轉(zhuǎn)換為力矩,作為主操作端的系統(tǒng)的子單元。因此交互系統(tǒng)中的力矩可分為2個(gè)部分,如圖3所示。一部分為設(shè)備系統(tǒng)自身的控制,另一部分為由交互力覺(jué)的生成。

圖3 力覺(jué)感知系統(tǒng)
忽略機(jī)械臂關(guān)節(jié)摩擦力等擾動(dòng)因素情況下,關(guān)節(jié)空間動(dòng)力模型為

(13)
式中B(q)為慣性矩陣,C(q,)為離心和哥氏力項(xiàng),G(q)為重力項(xiàng)

(14)
設(shè)u為控制部分,n(q,)動(dòng)力學(xué)非線性部分,Ψ為控制函數(shù),則動(dòng)力學(xué)方程表示為
u=B(q)ψ+n(q,)
(15)
式中n(q,)=C(q,)+G(q)。
此時(shí),操作主端力覺(jué)再現(xiàn)情況描述為
(16)
末端加速度與關(guān)節(jié)雅克比矩陣的二階微分方程滿足

(17)
取末端期望位置與交互實(shí)際位置的誤差為ed=xd-x。
交互系統(tǒng)中取慣性質(zhì)量矩陣為M,則控制函數(shù)轉(zhuǎn)換為

(18)

u=B(q)ψ+n(q,)+JT(q)F
(19)

由于從端的交互力覺(jué)僅與末端位置有關(guān),僅考慮末端位置速度與作用力關(guān)系,可得位置與末端力覺(jué)的控制率為

(20)
實(shí)驗(yàn)平臺(tái)使用 SensAble 科技公司的PHANON Omni多自由度桌面機(jī)械臂設(shè)備[12,13]。將力反饋設(shè)備與計(jì)算機(jī)相連接,采用Visual Studio 2010與OpenGL圖形庫(kù)構(gòu)建虛擬仿真環(huán)境。虛擬模型為3Dmax繪制,保存后綴為3DS文件供系統(tǒng)調(diào)用。計(jì)算機(jī)硬件環(huán)境為CPU酷睿i5—4590,3.30 GHz,顯卡為GTX960—4 GB。實(shí)驗(yàn)系統(tǒng)如圖4所示。

圖4 虛擬力覺(jué)交互實(shí)驗(yàn)系統(tǒng)
系統(tǒng)運(yùn)行時(shí),由用戶操作交互機(jī)械臂,椎體末端點(diǎn)為虛擬映射代理點(diǎn),由操作者操作交互式設(shè)備,使得代理點(diǎn)與虛擬環(huán)境中的運(yùn)動(dòng)物體進(jìn)行碰撞。選取M=1,當(dāng)取KP=11,KD=0.2,期望力Fd=3.0 N。目標(biāo)物體的形變系數(shù)分別為ξ=0.2和ξ=0.5,作用效果如圖5所示。

圖5 不同ξ值下的形變效果
在ξ=0.2,和ξ=0.5情況下,對(duì)應(yīng)的力覺(jué)交互實(shí)驗(yàn)結(jié)果,如圖6所示。

圖6 不同ξ值下的交互力
由圖5可以看出,對(duì)于同一虛擬目標(biāo)物提而言,當(dāng)交互的期望力一定時(shí),形變系數(shù)大的,物體越容易受到形變,作用效果越明顯,傳播層數(shù)越深,作用效果也就越明顯,到達(dá)了人機(jī)力覺(jué)交互的效果。由圖6可以看出,當(dāng)ξ值增大時(shí),操作者感知的力愈接近感知的期望值。前者首次達(dá)到的期望值的交互時(shí)間為488 ms,力覺(jué)穩(wěn)定范圍2.77~3.26 N;后者用時(shí)為395 ms,力覺(jué)穩(wěn)定范圍2.68~3.35 N。顯然,后者交互動(dòng)態(tài)性響應(yīng)比前者靈敏,但交互過(guò)程的波動(dòng)比前者更明顯。這是由于目標(biāo)物體形變系數(shù)越大,越容易使系統(tǒng)控制部分陷入欠阻尼,越不易操控。因此,ξ值不能無(wú)限增大。
此外,該系統(tǒng)能夠有效地抑制操作者在使用PHANTOM omni設(shè)備時(shí)抖動(dòng)干擾,實(shí)現(xiàn)了力覺(jué)感知與交互。
實(shí)驗(yàn)證明:所設(shè)計(jì)的分布式系統(tǒng)實(shí)時(shí)性能良好。較為真實(shí)模擬出碰撞的力覺(jué)沉浸感。能實(shí)現(xiàn)虛擬系統(tǒng)的力覺(jué)感知與交互。下一步工作應(yīng)提高優(yōu)化系統(tǒng)的控制器參數(shù),提高系統(tǒng)的穩(wěn)定性與實(shí)時(shí)性。