專利名稱:一種虛擬仿真系統(tǒng)中力覺反饋的計算方法
技術(shù)領(lǐng)域:
本發(fā)明涉及虛擬仿真技術(shù)領(lǐng)域,尤其涉及的是, 一種虛擬仿真系統(tǒng)中, 對于具有自轉(zhuǎn)特性的虛擬工具,力覺反饋的計算方法,可以廣泛應(yīng)用于醫(yī) 學(xué)技術(shù),例如在虛擬手術(shù)仿真系統(tǒng)中實現(xiàn)力覺反饋的計算。
背景技術(shù):
虛擬仿真技術(shù)已經(jīng)得到了廣泛的應(yīng)用,尤其是在醫(yī)學(xué)領(lǐng)域的應(yīng)用。例 如,虛擬手術(shù)是專門用來模擬在手術(shù)過程中可能遇到的各種現(xiàn)象的虛擬現(xiàn) 實仿真應(yīng)用系統(tǒng)。通過虛擬手術(shù)可以使#:縱者沉浸于虛擬的手術(shù)場景內(nèi), 通過操縱虛擬手術(shù)器械體驗和學(xué)習(xí)如何進(jìn)行各種手術(shù)。
一方面它能夠幫助 實習(xí)醫(yī)生學(xué)習(xí)、掌握人體的解剖結(jié)構(gòu),進(jìn)行手術(shù)訓(xùn)練,并培養(yǎng)應(yīng)付各種突
發(fā)情況的能力;另一方面還可以讓外科醫(yī)生針對一個真實的病患進(jìn)行術(shù)前
規(guī)劃、術(shù)中模擬、和術(shù)后效果預(yù)測,使得外科手術(shù)更加安全、可靠和精確。 虛擬手術(shù)的技術(shù)實現(xiàn)主要包括手術(shù)環(huán)境的重建和手術(shù)過程的模擬兩個
部分。其中手術(shù)環(huán)境的重建主要包括醫(yī)學(xué)數(shù)據(jù)的重建與可視化;手術(shù)過程 的模擬主要包括對于虛擬人體器官在虛擬手術(shù)器械作用下的各種變化的模 擬和對醫(yī)護(hù)人員提供視覺反饋和力覺反饋等各種感官反饋的模擬。
出色的虛擬手術(shù)仿真系統(tǒng)應(yīng)該能為操縱者提供如同真實般的視覺、觸 覺和聽覺等方面的多感知效果?,F(xiàn)有的基于力反饋的虛擬手術(shù)仿真系統(tǒng)的 硬件配置主要包括視覺顯示設(shè)備和力覺反饋設(shè)備,軟件系統(tǒng)主要包括視覺 顯示、觸覺繪制和變形模擬等模塊。操縱者通過力覺反饋設(shè)備上的機(jī)械臂 操縱屏幕上所看到的虛擬手術(shù)器械,在虛擬現(xiàn)實環(huán)境中與手術(shù)部位發(fā)生交互并進(jìn)行相應(yīng)的手術(shù)操作,計算交互時產(chǎn)生的力及力矩并通過力覺反饋設(shè) 備傳遞給操縱者,同時交互的手術(shù)區(qū)域也會產(chǎn)生相應(yīng)的變形。觸覺繪制模
多數(shù)對各種虛擬手術(shù)器械進(jìn)行力覺反饋的方法中,需要將虛擬手術(shù)器械和 虛擬人體器官之間的接觸簡化為通過點或者線和虛擬人體器官之間進(jìn)行的 接觸,然后利用虎克定律通過彈簧減震模型來模擬各個接觸力,最終將多 個力組合起來反饋給操縱者。但是,針對自身具有運(yùn)動特性特別是自轉(zhuǎn)的 模擬手術(shù)器械,例如骨鉆、磨骨器、擺動鋸等由于還需要考慮其自身的運(yùn) 動特性,所以對該類虛擬手術(shù)器械進(jìn)行力覺反饋的方法相對更加復(fù)雜。
在國際上, 一些學(xué)者曾對虛擬骨骼仿真手術(shù)技術(shù)進(jìn)行了深入的研究。
大部分虛擬骨骼手術(shù)使用的骨骼模型都是基于體繪制的。自2002年起, Marco Agus發(fā)表了 一系列論文闡述了 一種適用于任意骨骼的虛擬手術(shù)訓(xùn)練 系統(tǒng)(Agus M, Giachetti A, Gobbetti E, Zanetti G, Zorcolo A. A multiprocessor decoupled system for the simulation of temporal bone surgery [J]. Computer Visualization in Science, 2002, 5(A1: 35-4A3,該系統(tǒng)中使用了 Hertz's接觸理 論估計了骨骼在變形時所產(chǎn)生的接觸力。但是在該系統(tǒng)中,只使用了單點 的碰撞檢測,這很容易導(dǎo)致力的震蕩和不連續(xù),不利于模擬反饋真實的接 觸力效果。
Pertersik在Marco的基礎(chǔ)上,又提出了 一種基于多點的碰撞檢測算法 計算虛擬手術(shù)器械與骨骼模型之間的交互力(Petersik A, Pflesser B, Tiede U, Hohne K H, Leuwer R. Haptic Volume Interaction with Anatomic Models at Sub-Voxel Resolution[C]. Proc IEEE VR, Orlando, FL, Mar 2002: 66-72),并且 在力覺反饋部分和顯示部分再繼續(xù)將單個的體素進(jìn)行細(xì)分,因此相比原來 依照單個體素來計算的方法,這種方法可以得到更精確的力覺感受和更細(xì) 膩的屏幕圖像繪制,從而使模型精細(xì)度和使用并不受體素大小的限制。但 是,在力的交互過程中,由于系統(tǒng)沒有考慮其特殊的虛擬手術(shù)器械一一骨鉆的自轉(zhuǎn)對力模型計算的影響,而這種自轉(zhuǎn)對真實有效的模擬骨鉆或者是 磨骨器在去除骨骼時所產(chǎn)生的反饋力是十分關(guān)鍵的。
2006年,美國斯坦福大學(xué)生物機(jī)器人試驗室的Morris等人,開發(fā)了一 個適用于訓(xùn)練初學(xué)者在骨科手術(shù)中能夠掌握磨削骨骼技能的手術(shù)訓(xùn)練系統(tǒng) (Morris D, Sewell C, Barbagli F, Blevins NH, Girod S, Salisbury K. Visuohaptic simulation of bone surgery for training and evaluation[J]. IEEE Transactions on Computer Graphics and Applications, 2006, 26(6):48-57 ),其提 出了使用混合型的數(shù)據(jù)一方面使用面模型對光滑表面來進(jìn)行顯示渲染,另 一方面使用體數(shù)據(jù)進(jìn)行力覺渲染。在力覺渲染階段,Morris通過虛擬手術(shù) 器械與骨骼發(fā)生接觸時,計算所有沉浸到虛擬手術(shù)器械內(nèi)部的體素,并通 過射線跟蹤的方法,按照每個體素到圓形工具中心點的距離,求得每個體 素對虛擬手術(shù)器械受力的貢獻(xiàn),但是這種方法仍然存在一些問題,因為所 有接觸力的計算都是基于虛擬手術(shù)器械內(nèi)部的體素的向量而并非基于骨骼 模型表面的幾何信息的,所以在進(jìn)行力覺渲染時容易引起力的震蕩和不連 續(xù)。
2006年Eric等人(Eric A, Alan L. Real-time Volumetric Haptic and Visual Burrhole Simulation[C], 2007 IEEE Virtual Reality Conference, 2007:247-250 ) 提出了使用voxmap point-shell的方法來模擬虛擬手術(shù)器械與骨骼之間的交 互,減少力的不連續(xù),但由于這種方法在計算力的方向時是同樣是基于工 具表面的法向量的,所以不利于確切的表達(dá)虛擬手術(shù)器械與骨骼發(fā)生交互 時,虛擬手術(shù)器械所感受到的真實的力的方向。
但是,現(xiàn)有技術(shù)存在以下缺點 (1)、缺乏針對虛擬手術(shù)器械自身運(yùn)動特性的考慮,虛擬手術(shù)器械中 高速自轉(zhuǎn)的特性對真實有效的模擬骨鉆或是磨骨器去除骨骼時所產(chǎn)生的反 饋力是非常關(guān)鍵的。
(2 )、采用基于體繪制或面繪制的方法模擬骨骼手術(shù)中力覺反饋的生成,需要對大量離散的體素數(shù)據(jù)分別進(jìn)行力反饋的計算,容易引起力的震 蕩和不連續(xù)。
因此,目前還沒有系統(tǒng)地針對自身具有自轉(zhuǎn)特性的虛擬工具,進(jìn)行力 覺交互,力覺反饋的計算方法。尤其是對于虛擬手術(shù)器械,例如骨鉆和磨 骨器等,在骨科手術(shù)以及骨骼整形手術(shù)中最為常用的工具的形狀、自轉(zhuǎn)等 物理特性,沒有專門設(shè)計并建立一種力覺交互的模型。
因此,現(xiàn)有技術(shù)存在缺陷,需要改進(jìn)。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是不依賴于虛擬對象的體繪制或者面繪制 模型,如何提供一種虛擬仿真系統(tǒng)中,尤其是虛擬手術(shù)仿真系統(tǒng)中,力覺 反饋的計算方法。
本發(fā)明的技術(shù)方案如下
一種在虛擬系統(tǒng)中力覺反饋的計算方法,其包括以下步驟Al、建立 虛擬環(huán)境,其中包括虛擬空間、虛擬對象和虛擬工具,設(shè)置所述虛擬工具 的屬性,構(gòu)建由多個質(zhì)點組成的、包圍所述虛擬工具的點集模型;其中, 所述屬性包括質(zhì)量、角速度和運(yùn)動半徑;A2、將所述虛擬工具與力反饋設(shè) 備進(jìn)行綁定,跟蹤所述虛擬工具與所述虛擬對象在所述虛擬空間中的運(yùn)動 狀態(tài),判斷所述虛擬工具與所述虛擬對象是否發(fā)生碰撞,是則執(zhí)行A3; A3、 對于所述虛擬工具發(fā)生碰撞的各碰撞質(zhì)點,分別計算其在碰撞前和碰撞后 的線速度和運(yùn)動速度,以及在碰撞過程中受到的沖擊力;A4、計算所述虛 擬工具的全部碰撞質(zhì)點的合力以及合力矩,發(fā)送到所述力反饋設(shè)備。
所述的計算方法,其中,所述虛擬環(huán)境是虛擬手術(shù)環(huán)境,所述虛擬對 象是虛擬器官,所述虛擬工具是虛擬手術(shù)器械。
所述的計算方法,其中,所述虛擬手術(shù)器械是虛擬骨鉆;并且,步驟 Al中,所述點集模型的各質(zhì)點為所述虛擬骨鉆的各個三角面片的中心點。
所述的計算方法,其中,步驟A1中,所述虛擬工具具有自轉(zhuǎn)性質(zhì);并 且,所述屬性還包括種類、型號、自轉(zhuǎn)角速度和自轉(zhuǎn)半徑。所述的計算方法,其中,步驟A1中,所述構(gòu)建包圍所述虛擬工具的點 集模型,執(zhí)行以下步驟All、根據(jù)預(yù)設(shè)置條件確定所述點集模型的質(zhì)點的 數(shù)量;A12、根據(jù)所述虛擬工具的外形分布選取各質(zhì)點;A13、根據(jù)各質(zhì)點 的位置,以及所述虛擬工具的質(zhì)量,設(shè)置各質(zhì)點的質(zhì)量;其中,構(gòu)成所述 點集模型的全部質(zhì)點的質(zhì)量之和為所述虛擬工具的質(zhì)量。
所述的計算方法,其中,所述點集模型的各質(zhì)點質(zhì)量相同。
所述的計算方法,其中,步驟A2中,所述判定判斷所述虛擬工具與所 述虛擬對象是否發(fā)生碰撞,采用碰撞檢測算法實現(xiàn);其中,所述碰撞檢測 算法包括二叉樹方式的層次碰撞包圍盒碰撞檢測算法。
所述的計算方法,其中,步驟A3中,分別采用以下步驟計算所述^s並撞 后的線速度和運(yùn)動速度A31、所述碰撞后的線速度,采用所述碰撞前的線 速度乘以一預(yù)設(shè)置線速度系數(shù)得到;A32、所述碰撞后的運(yùn)動速度,采用所 述碰撞前的運(yùn)動速度乘以 一預(yù)設(shè)置恢復(fù)系數(shù)得到。
所述的計算方法,其中,步驟A3中,采用以下步驟計算某一碰撞質(zhì)點 的所述沖擊力A33、將該碰撞質(zhì)點在碰撞前的線速度和運(yùn)動速度、及其在 碰撞后的線速度和運(yùn)動速度,合成為該碰撞質(zhì)點在切平面上的速度、以及 垂直于切平面的速度,根據(jù)動量定理和庫侖定律計算質(zhì)點在碰撞過程中所 受到的沖擊力。
'所述的計算方法,其中,步驟A4中,采用以下步驟計算所述合力對 所述虛擬工具的各碰撞質(zhì)點的沖擊力,進(jìn)行合成后,再與所述虛擬工具受 到的環(huán)境力進(jìn)行合成,得到所述合力。
采用上述方案,本發(fā)明充分考慮了虛擬工具本身的自轉(zhuǎn)特性,例如虛
擬手術(shù)器械等,建立一種新的力覺交互的模型,不依賴于虛擬人體器官的 體繪制或者面繪制模型,該力反饋的計算方法可以應(yīng)用于虛擬手術(shù)中采用 的面模型或體模型之上。從而能夠在虛擬手術(shù)或其他應(yīng)用中真實地再現(xiàn)含 有自轉(zhuǎn)特性的虛擬工具與虛擬對象交互時的力覺反饋;還能夠?qū)⒃摿Ψ答?模型直接應(yīng)用各種數(shù)據(jù)的面模型和體模型之上;因此,能夠快速有效的與 顯示模型統(tǒng)一起來,應(yīng)用于虛擬現(xiàn)實系統(tǒng)中力反饋的模擬,提高力覺交互的真實感和沉浸感。
圖1為本發(fā)明的方法總體流程圖2為本發(fā)明的一種實施方式的流程圖3為本發(fā)明的虛擬手術(shù)中力模型示意圖4為本發(fā)明的計算虛擬工具自轉(zhuǎn)時,球面上點的線速度示意圖5為本發(fā)明的水平?jīng)_量和垂直沖量滿足的垂直關(guān)系示意圖6為本發(fā)明的一種實施方式的垂直表面方向的深度和虛擬工具受到 的合力之間的關(guān)系示意圖7為本發(fā)明的一種實施方式的垂直表面方向的深度和正壓力之間的 關(guān)系示意圖8為本發(fā)明的一種實施方式的虛擬工具自轉(zhuǎn)線速度與摩擦力之間的 關(guān)系示意圖。
具體實施例方式
以下結(jié)合附圖和具體實施例,對本發(fā)明進(jìn)行詳細(xì)說明。需要說明的是, 下面以虛擬手術(shù)中,虛擬外科手術(shù)器械與虛擬人體器官之間的相互作用, 在實時力覺交互時,所產(chǎn)生的力覺反饋的計算為例;但是本發(fā)明同樣適用 于本身具有一定角速度自轉(zhuǎn)的各種虛擬工具,在虛擬空間中,對虛擬對象 進(jìn)行作用時,力覺反^t的計算方法。更具體地說,虛擬觸覺技術(shù)研究和虛 擬人體器官相接觸所產(chǎn)生的力的計算方法,被廣泛應(yīng)用于醫(yī)學(xué)、工業(yè)設(shè)計、 游戲、機(jī)器人等領(lǐng)域,在本發(fā)明的描述中,以虛擬手術(shù)為基礎(chǔ)進(jìn)行描述, 但不排斥本發(fā)明所描述的力覺反饋的計算方法,以及力覺反饋的計算模型, 用于其他可以提供虛擬觸覺的應(yīng)用系統(tǒng)。
例如,醫(yī)學(xué)數(shù)據(jù)的三維模型包括體素模型和三維幾何模型,體素模型是直接利用采集的醫(yī)學(xué)圖像信息在體素(x,y,z)處的灰度或亮度,進(jìn)行顯示 處理的模型。三維幾何模型是通過對醫(yī)學(xué)圖像進(jìn)行分割提取,利用等值面 抽取重建生成的各種人體組織器官的多邊形網(wǎng)格模型,例如三角面片模型 和四面體模型等。在本發(fā)明中,是以醫(yī)學(xué)數(shù)據(jù)的三維幾何模型為基礎(chǔ)進(jìn)行 描述,但并不排斥本發(fā)明應(yīng)用于體素模型,也就是說,從三維幾何模型上 的應(yīng)用,同樣適用于體素模型。
一般來說,含有自轉(zhuǎn)運(yùn)動的手術(shù)器械是外科手術(shù)中常用的手術(shù)器械, 例如骨鉆、磨骨器等,在本發(fā)明中,以骨鉆這種骨外科中常用的手術(shù)器械 為基礎(chǔ)進(jìn)行描述,但本發(fā)明同樣適用于才莫擬其他含有自轉(zhuǎn)特性的手術(shù)器械。
本發(fā)明的宗旨是模擬本身含有自轉(zhuǎn)特性的虛擬工具與物體交互時力覺 反饋的仿真計算方法,通過利用工具自鉆角速度所對應(yīng)的線速度和操作工 具時的運(yùn)動速度模擬高速轉(zhuǎn)動的工具和虛擬物體碰撞時產(chǎn)生的摩擦力和正 壓力,并且利用沖量定理和庫侖定律^^莫擬工具在碰撞過程受到的沖擊力; 最后綜合多碰撞點處的沖擊力和環(huán)境力模擬工具所受到的合力以及合力 矩。據(jù)此,本發(fā)明的總體技術(shù)方案如圖1所示,本發(fā)明提供了一種在虛擬 系統(tǒng)中力覺反饋的計算方法,其包括以下步驟
Al、建立虛擬環(huán)境,其中包括虛擬空間、虛擬對象和虛擬工具,設(shè)置 所述虛擬工具的屬性,構(gòu)建由多個質(zhì)點組成的、包圍所述虛擬工具的點集 模型;其中,所述屬性包括質(zhì)量、角速度和運(yùn)動半徑。
例如,所述虛擬工具具有自轉(zhuǎn)性質(zhì);并且,所述屬性還包括種類、型 號、自轉(zhuǎn)角速度和自轉(zhuǎn)半徑。
又如,所述構(gòu)建包圍所述虛擬工具的點集模型,執(zhí)行以下步驟All、 根據(jù)預(yù)設(shè)置條件確定所述點集模型的質(zhì)點的數(shù)量;A12、根據(jù)所述虛擬工具 的外形分布選取各質(zhì)點;A13、根據(jù)各質(zhì)點的位置,以及所述虛擬工具的質(zhì) 量,設(shè)置各質(zhì)點的質(zhì)量;其中,構(gòu)成所述點集^t型的全部質(zhì)點的質(zhì)量之和 為所述虛擬工具的質(zhì)量。更好的是,所述點集模型的各質(zhì)點質(zhì)量相同。A2、將所述虛擬工具與力反饋設(shè)備進(jìn)行綁定,跟蹤所述虛擬工具與所 述虛擬對象在所述虛擬空間中的運(yùn)動狀態(tài),判斷所述虛擬工具與所述虛擬 對象是否發(fā)生碰撞,是則執(zhí)行A3。
例如,所述判定判斷所述虛擬工具與所述虛擬對象是否發(fā)生碰撞,可 以采用碰撞檢測算法實現(xiàn);其中,所述碰撞檢測算法包括二叉樹方式的層 次碰撞包圍盒碰撞檢測算法。
A3、對于所述虛擬工具發(fā)生碰撞的各碰撞質(zhì)點,分別計算其在碰撞前 和碰撞后的線速度和運(yùn)動速度,以及在石並撞過程中受到的沖擊力。
例如,可以分別采用以下步驟計算所述碰撞后的線速度和運(yùn)動速度 A31、所述碰撞后的線速度,采用所述碰撞前的線速度乘以一預(yù)設(shè)置線速度 系數(shù)得到;A32、所述^i撞后的運(yùn)動速度,采用所述碰撞前的運(yùn)動速度乘以 一預(yù)設(shè)置恢復(fù)系數(shù)得到。
還可以采用以下步驟計算某一碰撞質(zhì)點的所述沖擊力A33、將該碰撞 質(zhì)點在碰撞前的線速度和運(yùn)動速度、及其在碰撞后的線速度和運(yùn)動速度, 合成為該^碰撞質(zhì)點在切平面上的速度、以及垂直于切平面的速度,根據(jù)動 量定理和庫侖定律計算質(zhì)點在碰撞過程中所受到的沖擊力。
A4、計算所述虛擬工具的全部碰撞質(zhì)點的合力以及合力矩,發(fā)送到所 述力反饋設(shè)備。例如,可以采用以下步驟計算所述合力對所述虛擬工具 的各碰撞質(zhì)點的沖擊力,進(jìn)行合成后,再與所述虛擬工具受到的環(huán)境力進(jìn) 行合成,得到所述合力。
也就是說,采用本發(fā)明方法,首先設(shè)置虛擬手術(shù)器械以及與虛擬人體 器官的屬性,并且構(gòu)造虛擬手術(shù)器械的點集模型;然后實時跟蹤虛擬手術(shù) 器械與虛擬人體器官在虛擬空間中的運(yùn)動狀態(tài),并且判定虛擬手術(shù)器械與 虛擬人體器官之間是否發(fā)生碰撞;如果發(fā)生了碰撞,則分別計算各碰撞質(zhì)
點在碰撞前和碰撞后的線速度和運(yùn)動速度,否則繼續(xù)跟蹤;計算碰撞質(zhì)點 在碰撞過程中所受到的沖擊力,并且計算合力,包括所有碰撞質(zhì)點處的沖擊力和環(huán)境力;最后計算合力矩,將合力和合力矩傳遞給力覺反饋設(shè)備, 通過力覺反饋設(shè)備傳遞給操縱者。
例如,所述虛擬環(huán)境是虛擬手術(shù)環(huán)境,所述虛擬對象是虛擬器官,所 述虛擬工具是虛擬手術(shù)器械,如圖2所示,為該實施例的具體流程圖,詳
細(xì)i兌明:^下。
步驟l:跟蹤物體在虛擬空間中的變換。虛擬手術(shù)中手術(shù)環(huán)境的重建包 括輸入醫(yī)學(xué)數(shù)據(jù)的三維模型和手術(shù)器械的模型并進(jìn)行顯示。用戶可以通過 輸入設(shè)備,例如鼠標(biāo)、鍵盤、力反饋設(shè)備等,對虛擬物體進(jìn)行移動、旋轉(zhuǎn) 和放縮等操作。需要跟蹤物體在虛擬空間中的這種位置變換,以便進(jìn)行虛 擬工具的物體間的碰撞檢測。
步驟2:設(shè)置手術(shù)器械的屬性。同種手術(shù)器械往往包含多種不同的型號。 一個虛擬手術(shù)器械的模型可以模擬多種型號的手術(shù)器械。例如虛擬骨鉆模 型是由 一 系列均勾分布在圓球表面的三角面片組成的,針對所模擬的手術(shù) 器械的真實屬性設(shè)置虛擬手術(shù)器械的屬性,包括質(zhì)量M,自轉(zhuǎn)角速度o), 工具自轉(zhuǎn)的半徑R。
步驟3:構(gòu)造包圍手術(shù)器械的點集模型。為了增加力反饋過程中的真實 性,本發(fā)明可以使用多點的碰撞檢測,由許多分布在工具表面上的點代替 虛擬手術(shù)器械,筒稱為點集模型,在進(jìn)行碰撞檢測的過程中,檢測這些點, 或者是點所在的三角面片,判斷其是否與模型發(fā)生碰撞。
一般來說,點的選取最好遵循以下兩個原則
點集要能大概描繪出手術(shù)器械的外形,點越多越密集,能描繪出來的 外形越精確,因此碰撞檢測的結(jié)果也就越近似??梢愿鶕?jù)具體情況,例如 器官模型、計算強(qiáng)度、力感刷新頻率等預(yù)設(shè)置條件,確定所述點集模型的 質(zhì)點的數(shù)量。
點集中的點都是質(zhì)量相近的質(zhì)點,更好的是質(zhì)量相同的質(zhì)點,且所有 點的質(zhì)量之和等于手術(shù)器械的總質(zhì)量,假設(shè)手術(shù)器械的質(zhì)量為M,每個小點的質(zhì)量為mi,則有<formula>formula see original document page 14</formula>。
考慮到以上兩個因素,在具體操作過程中,本發(fā)明可以選取虛擬骨鉆 模型中三角面片的中心點作為代替這個三角面片的點,因此在力反饋過程 中所使用的點集模型就由所有模型表面三角面片的中心點組成的。
步驟4:跟蹤手術(shù)器械在虛擬空間中的移動。將虛擬手術(shù)器械模型和力 反饋設(shè)備綁定,即在虛擬空間中由虛擬手術(shù)器械的位置和方向代表了力反 饋設(shè)備的^f幾械臂所在的位置和方向。跟蹤虛擬手術(shù)器械在虛擬空間中的移 動,包括位置、旋轉(zhuǎn)角度和運(yùn)動速度。
步驟5:碰撞^r測。跟蹤虛擬手術(shù)器械和物體在虛擬空間中的移動,實 時檢測二者之間是否有碰撞發(fā)生,如果發(fā)生碰撞,依次檢測出虛擬手術(shù)器 械上所有與物體模型發(fā)生碰撞的點,并調(diào)用以下力覺計算模塊。
碰撞4全測算法受到了計算機(jī)圖形學(xué)領(lǐng)域許多學(xué)者的廣泛關(guān)注和研究, 并且目前已經(jīng)存在很多很成熟的算法,由于觸覺交互模擬要求很高的刷新 頻率,例如500-1000Hz,在實際的應(yīng)用種還需要針對不同的接觸情況的發(fā) 生機(jī)制進(jìn)行選取或是融合不同的碰撞檢測算法。
本發(fā)明可以采用基于虛擬手術(shù)系統(tǒng)的多點碰撞檢測模型,利用了 AABBTree的層次石並撞包圍盒的檢測方法,首先創(chuàng)建物體和虛擬骨鉆it型的 層次包圍盒的二叉樹,然后對它們二叉樹逐層進(jìn)行相交測試,直至檢測出 所有發(fā)生石並撞的三角面片。
步驟6:計算各石並撞點在碰撞前的線速度和運(yùn)動速度。在力反饋過程中, 根據(jù)上述碰撞檢測步驟依次檢測出手術(shù)器械上所有與物體發(fā)生碰撞的點, 在每個點分別分析計算受力,最后再將參與碰撞的點所受到的力合成,就 得到了受到的合力。在這里只分析參與碰撞的眾多點中其中 一個點的受力 情況,假設(shè)這個碰撞點是S。從圖3上可以看出,骨鉆工具以運(yùn)動速度^撞 向靜止的骨骼表面,因此碰撞時,接觸點S的運(yùn)動速度是^。假設(shè)工具自轉(zhuǎn)的角速度為^,工具的半徑為R,則可以求出工具上任意一個點的線速度, 如圖4所示,則《點處的線速度為^'v^^x;
其中,A-及sir^,方向是沿著O , ^是《與半徑之間的夾角;在手術(shù) 中使用的骨鉆啟動時會以每分鐘50,000轉(zhuǎn)的速度旋轉(zhuǎn),因此工具自轉(zhuǎn)的角
速度大小為每秒鐘轉(zhuǎn)10,000個弧度,方向是沿著^;《點的線速度^等于 角速度與半徑向量的叉乘,方向與球面相切。為了減少在實時交互過程中 的計算量,本方法在生成工具的三角面片模型時,會存儲每個三角面片的 中心點的相對世界坐標(biāo)系的坐標(biāo)位置,以及每個面片中心點的自轉(zhuǎn)線速度 向量,以便在之后的交互過程中可以隨時的讀取并用于計算。
由虛擬手術(shù)器械位移的變化可以得到《處的運(yùn)動速度R ,接下來對該運(yùn) 動速度進(jìn)行分解。在S所在的點創(chuàng)建一個切平面,模型中可以選擇《所在的
骨骼表面上的三角面片作為切平面A,則《點的線速度是與A平行的。將K
在切平面A和垂直于A的方向上進(jìn)行分解,得到巧-^"+^;其中K"是
垂直于A的分量,C是在A上的分量。
步驟7:計算各碰撞點在碰撞后的線速度和運(yùn)動速度。 一般情況下,當(dāng)
工具與靜態(tài)的骨骼發(fā)生劇烈碰撞是,沖擊會影響工具的自轉(zhuǎn)速度速度降
低,方向會改變,因此,需要重新設(shè)定工具的角速度。為了問題的簡化,
可以假設(shè)碰撞結(jié)束,工具的角速度恢復(fù)初始值。通過修改單點線速度的方
式,避免修改角速度帶來的重新將工具上所有點的線速度重新計算一邊得
工作量。按照如下的方式,計算線速度在碰撞結(jié)束時的瞬間改變,假設(shè)碰
撞后點S的線速度方向不變,大小減少,且與碰撞前的自轉(zhuǎn)線速度滿足 ,(KCX1是一個常數(shù);也就是說,所述碰撞后的線速度,采用所
述碰撞前的線速度乘以一預(yù)設(shè)置線速度系數(shù)C得到,線速度系數(shù)C可以通 過實驗測定,也可以才艮據(jù)經(jīng)驗選擇,本發(fā)明對此不作任何限制。
假設(shè)"'為工具在與骨骼碰撞后的返回運(yùn)動速度,與碰撞前的運(yùn)動速度 有如下關(guān)系,^=eg;其中e是恢復(fù)系數(shù),也就是碰撞之后的相對分離速度與碰撞之前的相對接近速度之比。也就是說,所述碰撞后的運(yùn)動速度,
采用所述碰撞前的運(yùn)動速度乘以一預(yù)設(shè)置恢復(fù)系數(shù)得到;恢復(fù)系數(shù)e可以 通過實驗測定,也可以#4居經(jīng)驗選擇,本發(fā)明對此不作任何限制。
按照步驟6的方式對碰撞后返回的運(yùn)動速度進(jìn)行分解,"=f/r+(/r;其
中"'"是垂直于A的分量,W是在A上的分量。
步驟8:計算質(zhì)點在碰撞過程中所受到的沖擊力?;诓襟E6和步驟7
所計算的質(zhì)點碰撞前后的線速度和運(yùn)動速度,將質(zhì)點《在碰撞前的線速度和 運(yùn)動速度以及碰撞之后的線速度和運(yùn)動速度經(jīng)過一系列分解過程,再重新 合成為在切平面上的速度以及垂直與切平面上的速度,運(yùn)用動量定理和庫 侖定律計算質(zhì)點在碰撞過程中所受到的沖擊力。因此,可以得到以下關(guān)系 式^ = ^ + 5, ^ = ^ +冗。
其中,^是《在碰撞前的自轉(zhuǎn)線速度,^是^在切平面上的速度分量, ^是碰撞的前一時刻《在切平面A上的速度分量,則S在碰撞前垂直于切 平面A的速度為^";同理, 〃'"是《在碰撞后的自轉(zhuǎn)線速度,^是"'在切 平面上的速度分量,"是碰撞的后一時刻f在切平面A上的運(yùn)動速度,則《 在碰撞后垂直于切平面A的速度為"'"。
假設(shè)點S在切平面上的沖量和垂直于切平面的沖奎滿足庫侖定律。根據(jù) 這個關(guān)系可以推導(dǎo)出碰撞點《在與物體發(fā)生碰撞后的速度,包括在切平面上 的速度和垂直于切平面上的速度。
根據(jù)沖量定理,可知《在平面A上的動量改變等于S在A上受到的沖
量,可以得到以下關(guān)系式'K" L (方程l)。
其中尸是質(zhì)點《在切平面上受到的摩擦力,《是s在切平面上受到的
沖量,~ =纟1-"是碰撞時間;則根據(jù)庫侖定律,摩擦力和正壓力的大小的
比值等于摩擦系數(shù),貝'J: (方程2)其中,"是垂直于切平面方向上的力,連立方程1和方程2,可知:
,其中,s,"是《受到的垂直于切平面方向上的沖量,
從圖4可以看出,水平?jīng)_量《和垂直沖量S"是垂直的,因此要得到兩
者之間的關(guān)系,必須尋找一個可以將向量旋轉(zhuǎn)90度的矩陣R,因此假設(shè)二 者滿足這樣的關(guān)系式/^"=S^。 ——
在這里,近似的選定工具在Pi點的自轉(zhuǎn)線速度的單位向量為《到《旋
轉(zhuǎn)的旋轉(zhuǎn)軸,假設(shè)Pi點的坐標(biāo)為(xa,ya,za),旋轉(zhuǎn)軸的方向數(shù)為(a,b,c),即^ 的單位向量,因此可以得到旋轉(zhuǎn)矩陣R為
<formula>formula see original document page 17</formula>
再根據(jù)恢復(fù)系數(shù)e的定義
<formula>formula see original document page 17</formula>
在這里,出于筒化的目的,可以認(rèn)為恢復(fù)系數(shù)e為常數(shù)值,因此可以
求得S在碰撞后的速度
<formula>formula see original document page 17</formula>其中 A, E是單位矩陣,(E+M)"是(E+M)的逆矩陣。知道了質(zhì)點《
在碰撞之后的速度,就可以根據(jù)沖量的定義求出質(zhì)點S在整個碰撞過程中受 到的沖量,從而就可以求出,質(zhì)點《在整個碰撞過程中受到的平均沖'擊力
'''其中,和乂"分別是乂在切平面A上的分力和垂直于切 平面上的分力。
步驟9:計算合力,包括所有碰撞點處的沖擊力和環(huán)境力。按照上述方 法,依次分析所有在工具上的,與骨骼發(fā)生接觸時參與碰撞的點,并將所
有碰撞點受到的沖擊力,合成,其中/ = 1,2,..JV, ^是參加碰撞的點的總個
數(shù),因此可以得到工具受到的沖擊力的合力為 "'。
再加上工具所受到的環(huán)境力,在這里環(huán)境力, 一般是工具受到的重力,
也可以是浮力等,就可以得到工具在交互過程中所受到的合力7 = ^ + 7;
其中,冗是工具受到的重力。
實際計算中,也可以分別計算虛擬工具上的各碰撞質(zhì)點受到的沖擊力
與環(huán)境力的質(zhì)點合力,然后再對各質(zhì)點合力進(jìn)行合成,計算總的合力。
步驟10:計算合力矩。對于三個自由度(3DOF)的力反饋設(shè)備, 一次
交互的結(jié)果只需要將力模型計算出來的力的向量傳遞給設(shè)備,使得用戶能
感受到操縱柄施加到廚戶手上的力感。而對于三自由度以上的力反饋設(shè)備,
除了有力感之外,用戶還可以感受到一個旋轉(zhuǎn)力矩的作用,可以按照以下
方式進(jìn)行力矩計算^ = 7x5;其中工'是從碰撞點S到點o'之間的向量,即 力臂。
至此已計算出虛擬手術(shù)中所產(chǎn)成的交互力,將合力和合力矩傳給力反饋設(shè)備,通過力反饋設(shè)備傳遞給用戶,即完成了虛擬力覺交互的模擬計算。 下面再給出一個具體的整形美容手術(shù)中,下頜角磨削術(shù)實例,對本發(fā) 明技術(shù)方案和所能達(dá)到的效果作進(jìn)一步的描述。
采用如圖2所述的步驟,利用從臨床CT數(shù)據(jù)分割重建生成的顱骨的三
維模型和骨鉆工具的三維模型;跟蹤顱骨在虛擬手術(shù)空間中的大小和位置
變換,設(shè)置虛擬骨鉆的質(zhì)量和角速度;構(gòu)造均勻分布在整個鉆頭表面的點 集模型;將虛擬骨鉆與力反饋設(shè)備綁定,操作虛擬骨鉆在虛擬手術(shù)空間中 的移動,得到骨鉆移動的運(yùn)動速度和位移;如果鉆頭與顱骨發(fā)生碰撞,求 得所有發(fā)生碰撞的質(zhì)點集合;對各碰撞點逐一求得碰撞前的線速度和運(yùn)動 速度;求得碰撞點碰撞后的線速度和運(yùn)動速度;求得各質(zhì)點在碰撞過程中 所受到的摩擦力、正壓力和沖擊力;綜合所有碰撞點處求得的沖擊力,并 且與虛擬骨鉆的重力將結(jié)合求得合力;求得合力矩,并且將合力和合力矩 通過力反饋設(shè)備反饋給用戶
通過用力反饋的機(jī)械臂控制虛擬骨鉆,與顱骨模型的進(jìn)行多次觸碰, 記錄虛擬力反^t的結(jié)果。如圖6所示,為合力和工具在垂直表面方向上的 .深度的關(guān)系;如圖7所示,為正壓力和工具在垂直表面方向上的深度的影 響;如圖8所示,為摩擦力和骨鉆上碰撞點的工具的自轉(zhuǎn)線速度之間的關(guān) 系。結(jié)果表明根據(jù)本技術(shù)方案設(shè)計的力模型計算出的力的分布主要受到具 鉆深入深度和高速自轉(zhuǎn)角速度的影響,尤其對骨鉆上碰撞點的線速度在磨 削骨骼時受到的摩擦力得到了很好的線性擬合。在實際的手術(shù)中,工具的 高速自轉(zhuǎn),是巨大的作用力產(chǎn)生的一個最主要因素,從而才會導(dǎo)致骨質(zhì)去 除。因此工具的自轉(zhuǎn)速度是影響到工具所受摩擦力的一個最關(guān)鍵的因素之 一,采用本發(fā)明,可以真實地再現(xiàn)骨骼磨削術(shù)中力反饋。
應(yīng)當(dāng)理解的是,對本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)上述說明加以 改進(jìn)或變換,而所有這些改進(jìn)和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護(hù) 范圍。
權(quán)利要求
1、一種在虛擬系統(tǒng)中力覺反饋的計算方法,其包括以下步驟A1、建立虛擬環(huán)境,其中包括虛擬空間、虛擬對象和虛擬工具,設(shè)置所述虛擬工具的屬性,構(gòu)建由多個質(zhì)點組成的、包圍所述虛擬工具的點集模型;其中,所述屬性包括質(zhì)量、角速度和運(yùn)動半徑;A2、將所述虛擬工具與力反饋設(shè)備進(jìn)行綁定,跟蹤所述虛擬工具與所述虛擬對象在所述虛擬空間中的運(yùn)動狀態(tài),判斷所述虛擬工具與所述虛擬對象是否發(fā)生碰撞,是則執(zhí)行A3;A3、對于所述虛擬工具發(fā)生碰撞的各碰撞質(zhì)點,分別計算其在碰撞前和碰撞后的線速度和運(yùn)動速度,以及在碰撞過程中受到的沖擊力;A4、計算所述虛擬工具的全部碰撞質(zhì)點的合力以及合力矩,發(fā)送到所述力反饋設(shè)備。
2、 根據(jù)權(quán)利要求l所述的計算方法,其特征在于,所述虛擬環(huán)境是 虛擬手術(shù)環(huán)境,所述虛擬對象是虛擬器官,所述虛擬工具是虛擬手術(shù)器械。
3、 根據(jù)權(quán)利要求2所述的計算方法,其特征在于,所述虛擬手術(shù)器 械是虛擬骨鉆;并且,步驟A1中,所述點集模型的各質(zhì)點為所述虛擬骨鉆 的各個三角面片的中心點。
4、 根據(jù)權(quán)利要求1所述的計算方法,其特征在于,步驟A1中,所 述虛擬工具具有自轉(zhuǎn)性質(zhì);并且,所述屬性還包括種類、型號、自轉(zhuǎn)角速 度和自轉(zhuǎn)半徑。
5、 根據(jù)權(quán)利要求1所述的計算方法,其特征在于,步驟A1中,所 述構(gòu)建包圍所述虛擬工具的點集模型,執(zhí)行以下步驟Al1 、根據(jù)預(yù)設(shè)置條件確定所述點集模型的質(zhì)點的數(shù)量;A12、 #4居所述虛擬工具的外形分布選取各質(zhì)點;A13、根據(jù)各質(zhì)點的位置,以及所述虛擬工具的質(zhì)量,設(shè)置各質(zhì)點的質(zhì)量;其中,構(gòu)成所述點集模型的全部質(zhì)點的質(zhì)量之和為所述虛擬工具的質(zhì)量。
6、 根椐權(quán)利要求5所述的計算方法,其特征在于,所述點集模型的 各質(zhì)點質(zhì)量相同。
7、 根據(jù)權(quán)利要求1所述的計算方法,其特征在于,步驟A2中,所 述判定判斷所述虛擬工具與所述虛擬對象是否發(fā)生碰撞,采用碰撞檢測算 法實現(xiàn);其中,所述碰撞檢測算法包括二叉樹方式的層次碰撞包圍盒碰撞 檢測算法。
8、 根據(jù)權(quán)利要求1所述的計算方法,其特征在于,步驟A3中,分 別采用以下步驟計算所述碰撞后的線速度和運(yùn)動速度A31、所述碰撞后的線速度,采用所述碰撞前的線速度乘以一預(yù)設(shè) 置線速度系數(shù)得到;A32、所述碰撞后的運(yùn)動速度,采用所述碰撞前的運(yùn)動速度乘以一 預(yù)設(shè)置恢復(fù)系數(shù)得到。
9、 根據(jù)權(quán)利要求1所述的計算方法,其特征在于,步驟A3中,采 用以下步驟計算某一石並撞質(zhì)點的所述沖擊力A33、將該碰撞質(zhì)點在碰撞前 的線速度和運(yùn)動速度、及其在石並撞后的線速度和運(yùn)動速度,合成為該碰撞 質(zhì)點在切平面上的速度、以及垂直于切平面的速度,根據(jù)動量定理和庫侖 定律計算質(zhì)點在碰撞過程中所受到的沖擊力。
10、 根據(jù)權(quán)利要求1所述的計算方法,其特征在于,步驟A4中,采 用以下步驟計算所述合力對所述虛擬工具的各碰撞質(zhì)點的沖擊力,進(jìn)行合成后,再與所述虛擬工具受到的環(huán)境力進(jìn)行合成,得到所述合力。
全文摘要
本發(fā)明公開了一種在虛擬系統(tǒng)中力覺反饋的計算方法,其包括以下步驟A1、建立虛擬環(huán)境,其中包括虛擬空間、虛擬對象和虛擬工具,設(shè)置虛擬工具的屬性,構(gòu)建由多個質(zhì)點組成的、包圍虛擬工具的點集模型;A2、將虛擬工具與力反饋設(shè)備進(jìn)行綁定,跟蹤所述虛擬工具與虛擬對象在虛擬空間中的運(yùn)動狀態(tài),判斷虛擬工具與虛擬對象是否發(fā)生碰撞,是則執(zhí)行A3;A3、對于虛擬工具發(fā)生碰撞的各碰撞質(zhì)點,分別計算其在碰撞前和碰撞后的線速度和運(yùn)動速度,以及在碰撞過程中受到的沖擊力;A4、計算虛擬工具的全部碰撞質(zhì)點的合力以及合力矩,發(fā)送到力反饋設(shè)備。本發(fā)明充分考慮了虛擬手術(shù)器械本身的自轉(zhuǎn)特性,可以應(yīng)用于虛擬手術(shù)中采用的面模型或體模型。
文檔編號G06F9/455GK101286188SQ200810066480
公開日2008年10月15日 申請日期2008年4月3日 優(yōu)先權(quán)日2008年4月3日
發(fā)明者吳劍煌, 瓊 王, 王平安, 輝 陳, 炘 馬 申請人:深圳先進(jìn)技術(shù)研究院