專利名稱:內(nèi)窺鏡微創(chuàng)手術(shù)模擬訓練3d平臺系統(tǒng)的實現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機仿真技術(shù),特別涉及一種內(nèi)窺鏡微創(chuàng)手術(shù)模擬訓練3D平臺系統(tǒng)的實現(xiàn)方法。
背景技術(shù):
內(nèi)窺鏡微創(chuàng)手術(shù)模擬訓練3D平臺系統(tǒng)是內(nèi)窺鏡微創(chuàng)手術(shù)模擬訓練的核心,文件管理、網(wǎng)絡特性等等,3D平臺系統(tǒng)的核心是3D引擎,3D引擎有開源和商業(yè)的,常見的開源3D 引擎有Unreal,Quake,Lithtech,OGRE, Irrlicht等,OGRE在開源的引擎中評價最高,一個原因是作為一個圖形渲染引擎,它支持的圖形特性最多,所以渲染質(zhì)量也不錯;另一個原因是設(shè)計模式的清晰;另外,速度也不錯。商業(yè)3D引擎北京中視典VRP-BUILDER物理引擎,北京動態(tài)時空DynaVR-Net引擎,北京涂鴉Origo Engine弓丨擎等等,還有國外商業(yè)3D引擎如易用EON等。目前3D引擎存在的缺點和不足主要如下1、大多數(shù)引擎主要針對游戲開發(fā),模擬的對象主要是剛體,而內(nèi)窺鏡微創(chuàng)手術(shù)模擬訓練針對的對象是人體組織,大部分是軟體。2、建模方法過于單一,一般只支持3Dmax等建模工具建的模型。3、沒法模擬手術(shù)器械的各種動作,或者模擬的效果和實際差別太大。4、不能很好的模擬各種醫(yī)學效果,如抓取、切割、縫合、打結(jié)、上鈦夾、煙霧、流血寸。5、一般和微軟的3D DirectX綁定,沒法支持跨平臺的開發(fā)和應用。6、對目前主流的3D控制終端支持不夠,只能支持特定的3D控制終端。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的缺點與不足,提供一種支持力反饋和虛擬觸覺功能,使用方便,應用范圍較廣的內(nèi)窺鏡微創(chuàng)手術(shù)模擬訓練3D平臺系統(tǒng)的實現(xiàn)方法。本發(fā)明的目的通過下述技術(shù)方案實現(xiàn)一種內(nèi)窺鏡微創(chuàng)手術(shù)模擬訓練3D平臺系統(tǒng)的實現(xiàn)方法,包括下述步驟第一步構(gòu)建3D平臺系統(tǒng)基礎(chǔ)組件庫利用基礎(chǔ)算法,如euler,euler_ordered, runge, runge_4thorder, quasi, quasi_ordered, bogus, FSA, FSAF、perlin noise 等構(gòu)建 3D 平臺系統(tǒng)基礎(chǔ)組件庫。第二步實現(xiàn)3D平臺系統(tǒng)核心功能利用3D平臺系統(tǒng)基礎(chǔ)組件庫構(gòu)建3D平臺系統(tǒng)核心算法,實現(xiàn)3D平臺系統(tǒng)核心功能,如幾何模型和物理模型的構(gòu)建、圖形渲染、碰撞檢測、力反饋、與操作臺的數(shù)據(jù)通信、和數(shù)據(jù)庫的數(shù)據(jù)交換等。第三步構(gòu)建醫(yī)學模型描述語言在3D平臺系統(tǒng)核心算法的基礎(chǔ)上通過腳本方式定義模型的幾何和物理屬性,實現(xiàn)程序和數(shù)據(jù)分離,便于系統(tǒng)維護和管理。第四步調(diào)用醫(yī)學模型,構(gòu)建醫(yī)學場景,模擬內(nèi)窺鏡微創(chuàng)手術(shù)各種動作和效果,包括抓取、切割、縫合、打結(jié)、上鈦夾、煙霧、流血等。
具體說明如下第一步構(gòu)建3D平臺系統(tǒng)基礎(chǔ)組件庫利用基礎(chǔ)算法,如euler,euler_ordered, runge, runge_4thor der, quasi, quasi_ordered, bogus, FSA, FSAF> perl in noise 等構(gòu)建系統(tǒng)基礎(chǔ)組件庫。如用euler,euler_ordered, runge, runge_4thorder算法構(gòu)建三維模型組件庫,利用 quasi,quasi_ordered,bogus,F(xiàn)SA,F(xiàn)SAF 構(gòu)建模型計算組件庫,用 perlin noise 構(gòu)建仿真貼圖組件庫。第二步利用3D平臺系統(tǒng)基礎(chǔ)組件庫構(gòu)建核心算法,實現(xiàn)3D平臺系統(tǒng)核心功能, 如幾何模型和物理模型是通過三維模型組件庫來構(gòu)建的;利用OPENGL和仿真貼圖組件庫構(gòu)建圖形渲染核心算法;利用三維模型組件庫來構(gòu)建包圍盒和包圍球等核心算法,然后實現(xiàn)碰撞檢測功能;力計算組件庫來實現(xiàn)力反饋功能;利用串口通信組件庫實現(xiàn)操作臺的數(shù)據(jù)通信功能;利用SQL組件庫實現(xiàn)數(shù)據(jù)庫的數(shù)據(jù)交換功能等。第三步醫(yī)學模型描述語言是腳本語言,通過定義三維幾何模型的物理屬性如動作、光線、材質(zhì)、彈性模量,來實現(xiàn)了三維幾何模型的物理效果。第四步通過讀取醫(yī)學模型描述語言來調(diào)用建好的各種醫(yī)學模型包括器官模型和器械模型,并賦予模型相應的物理屬性,構(gòu)建醫(yī)學場景,通過調(diào)用相應的動作和效果,包括抓取、切割、縫合、打結(jié)、上鈦夾、煙霧、流血等,實現(xiàn)各種互動操作。本發(fā)明相對于現(xiàn)有技術(shù)具有如下的優(yōu)點及效果1、支持力反饋和虛擬觸覺功能。力反饋和虛擬觸覺實現(xiàn)的基本過程是虛擬現(xiàn)實軟件系統(tǒng)輸出的力反饋指令經(jīng)接口電路輸出,經(jīng)過數(shù)/模(D/A)轉(zhuǎn)換器將反饋力數(shù)字量轉(zhuǎn)換為模擬量,并控制受控恒流源驅(qū)動伺服電機執(zhí)行力反饋,伺服電機輸出反饋力經(jīng)鋼絲傳動, 由操作桿向操作者輸出反饋力。2、支持自主研發(fā)的3D終端設(shè)備(操作臺),也支持目前主流的3D終端設(shè)備(操作臺),可以支持任意自由度(DOF),操作桿支持換操作頭,也可以換整個操作桿,支持齒輪驅(qū)動,也支持鋼絲驅(qū)動。3、3D平臺模擬對象同時支持剛體和軟體,對于剛體方面,能夠精確的模擬手術(shù)器械的各種動作,如抓取、切割、縫合、打結(jié)、上鈦夾,對于軟組織方面,能夠模擬各種醫(yī)學效果,如流血、煙霧、形變等,采用各種高效和精確算法使模擬效果更加精確、逼真。4、支持多種建模方法,除了 3DmaX等建模工具外,還支持采用ITK、VTK,MIMCS等工具,數(shù)據(jù)來源可以3Dmax的模型,也可以是CT、MRI、數(shù)字人等,應用范圍廣、使用方便。5、同時支持微軟的3D DirectX和開源OpenGL等3D接口標準,支持跨平臺的開發(fā)和應用,如可以應用在Windows、Linux等操作系統(tǒng)中。6、引入了醫(yī)學模型描述語言,實現(xiàn)程序和數(shù)據(jù)分離,便于系統(tǒng)維護和管理。7、充分利用了 GPU計算能力,將運算量大的計算放入到GPU中,運行速度更快。8、支持網(wǎng)絡訓練,能夠通過局域網(wǎng)或互聯(lián)網(wǎng)進行遠程訓練。
圖1是3D平臺系統(tǒng)流程圖。圖2是3D平臺系統(tǒng)總體框架圖。
具體實施例方式下面結(jié)合實施例及附圖對本發(fā)明作進一步詳細的描述,但本發(fā)明的實施方式不限于此。實施例1內(nèi)窺鏡微創(chuàng)手術(shù)模擬訓練3D平臺系統(tǒng)的實現(xiàn)方法包括如下內(nèi)容第一步構(gòu)建系統(tǒng)基礎(chǔ)組件庫用 euler, euler_ordered, runge, runge_4thorder 算法構(gòu)建三維模型組件庫,利用quasi,quasi_ordered, bogus, FSA, FSAF構(gòu)建模型計算組件庫,用perlin noise構(gòu)建仿真貼圖組件庫。本實施例中用euler, euler_ordered算法構(gòu)建了點、線、面組件庫,用quasi, qUaSi_0rdered算法構(gòu)建了模型(如軟體、剛體等)在不同行為下采用的計算方法。用perlin noise方法構(gòu)建仿真貼圖庫,其方法是先固定一部分點的顏色,平滑這些固定點中間的顏色,生成幾個不同頻率的平滑噪音,然后相加,為了保證生成噪音的頻率,一般是通過改變固定點的數(shù)量,固定點多的,噪音自然相對比較雜亂,噪音的頻率比較高.固定點少的,噪音的頻率就比較低。第二步利用系統(tǒng)基礎(chǔ)組件庫構(gòu)建核心算法,實現(xiàn)3D平臺核心功能,在本實施例中幾何模型和物理模型通過三維模型組件庫來構(gòu)建的;利用OpenGL和仿真貼圖組件庫構(gòu)建圖形渲染核心算法;利用三維模型組件庫來構(gòu)建包圍盒和包圍球等核心算法,然后實現(xiàn)碰撞檢測功能;力計算組件庫來實現(xiàn)力反饋功能;利用串口通信組件庫實現(xiàn)操作臺的數(shù)據(jù)通信功能;利用SQL組件庫實現(xiàn)數(shù)據(jù)庫的數(shù)據(jù)交換功能等。本實施例幾何模型由點、線、面構(gòu)成等,主要通過點、線、面和點、線、面組組件庫來實現(xiàn),物理模型主要通過構(gòu)建相應的物理模型組件庫如質(zhì)點彈簧(Mass-Spring)模型、有限元模型(FEM)來實現(xiàn)。本實施例中圖形圖像渲染基于OpenGL渲染模式來實現(xiàn),實現(xiàn)過程為1)、使用幾何圖元建立模型,從而得到3D模型的數(shù)學描述;2)、在3D空間排列對象,選擇觀察場景的有利位置;3)、計算所有3D模型的顏色。顏色由應用程序指定、根據(jù)光照條件確定、將問題粘貼到3D模型上得到,也可以綜合上述多種操作獲得;4)、將3D模型的數(shù)學描述和相關(guān)的顏色信息轉(zhuǎn)換為屏幕像素,實現(xiàn)光柵化;同時構(gòu)建3D仿真貼圖組件,以增強OpenGL的3D渲染能力和效果。本實施例中碰撞檢測采用AABB包圍盒(Axis Aligned Bounding Box)和包圍盒 (Oriented Bounding Box)相結(jié)合的算法,主要通過點、線、面組件庫構(gòu)建二叉樹算法來實現(xiàn)。本實施例中的數(shù)據(jù)通信主要通過RS232串口全雙工通信,采用Proxy設(shè)計模式來實現(xiàn),先定義好上位機和下位機之間的數(shù)據(jù)通信協(xié)議,設(shè)置好通信的串口號、波特率、奇偶校驗位等,通過實時或者非實時的數(shù)據(jù)傳送和接受,并按照數(shù)據(jù)通信協(xié)議對5個自由度 (DOF)以上的數(shù)據(jù)進行封裝和解析,實現(xiàn)操作的互動。本實施例中利用SQL組件庫實現(xiàn)數(shù)據(jù)庫的數(shù)據(jù)交換功能,主要包括數(shù)據(jù)連接的創(chuàng)建、數(shù)據(jù)操作(查詢、插入、刪除、更新等),將各種操作數(shù)據(jù)寫入數(shù)據(jù)庫,同時從數(shù)據(jù)庫讀取需要的數(shù)據(jù)并顯示。第三步醫(yī)學模型描述語言是腳本語言,本實施例中模型描述語言通過腳本方式定義模型的幾何和物理屬性,腳本文件中定義了縮放比例、旋轉(zhuǎn)角度、光線、動作、碰撞檢測等,這些可以根據(jù)具體虛擬訓練場景的要求來定制,程序可以根據(jù)腳本中定義屬性來實現(xiàn)虛擬訓練場景中的器官、器械的屬性和動作等,修改腳本文件內(nèi)容不需要修改程序,這樣實現(xiàn)程序和數(shù)據(jù)分離。第四步通過讀取醫(yī)學模型描述語言來調(diào)用建好的各種醫(yī)學模型包括器官模型和器械模型,并賦予模型相應的物理屬性,構(gòu)建醫(yī)學場景,通過調(diào)用相應的動作和效果,包括圖形圖像渲染,軟組織模擬、變形計算和力反饋、抓取、切割、縫合、打結(jié)、上鈦夾、煙霧、流血等,實現(xiàn)各種互動操作。本實施例中軟組織模擬主要通過Mass-Spring,即質(zhì)點彈簧來實現(xiàn)的,質(zhì)點彈簧 (Mass-Spring)模型遵循虎克定理,模型中節(jié)點的應變和應力呈線性關(guān)系,但這個模型有其局限性,一般只適用于位移較小的情況下。本實施例中變形計算基于物理模型結(jié)果,通過物理模型所定義的物理屬性可以計算出幾何模型在外力作用下的形變和應力,模型在外力作用下的變形計算是手術(shù)虛擬系統(tǒng)實時化的一個瓶頸。力反饋和變形計算是密切關(guān)聯(lián)的,人體軟組織在器械外力作用下發(fā)生形變,接觸方式包括三種點接觸、線接觸、面接觸。力反饋實現(xiàn)的基本過程是虛擬現(xiàn)實軟件系統(tǒng)輸出的力反饋指令經(jīng)接口電路輸出,經(jīng)過數(shù)/模(D/A)轉(zhuǎn)換器將反饋力數(shù)字量轉(zhuǎn)換為模擬量,并控制受控恒流源驅(qū)動伺服電機執(zhí)行力反饋,伺服電機輸出反饋力經(jīng)鋼絲傳動,由操作桿向操作者輸出反饋力。相應對于反饋力的計算分為基于點的力生成算法、基于線的力生成算法、基于幾何體的力生成算法?;邳c的力生成算法有向量場算法、God-Object算法和Proxy算法等?;诰€的力生成算法通過使用射線狀線段(帶有方向的線段)模型來計算,這種模型可以使得操作者能夠同時與虛擬物體的多個方向和面相互作用,并且能夠獲得力矩作用的再現(xiàn)?;趲缀误w的力生成算法有3D模型和機械部件之間的力生成算法、復雜多面體虛擬環(huán)境和avatar模型的相互作用模型等。本實施例中力反饋和形變計算實現(xiàn)從主要針對兩種情況。1)對于開環(huán)仿真而言, 用于計算變形的模型和計算接觸力的模型之間相互獨立。2)對于閉環(huán)仿真而言,變形和接觸力計算相互關(guān)聯(lián)。變形計算和虛擬力計算模型一般采用相同的基于物理意義的模型,仿真模型包括彈簧質(zhì)點模型、有限元模型等。本實施例中人體軟組織切割實現(xiàn)過程是,在發(fā)生切割時,人體軟組織的幾何模型的拓撲結(jié)構(gòu)發(fā)生變化,幾何模型與器械碰撞的地方發(fā)生分裂,由于器械和組織的碰撞,作用在組織上的應力發(fā)生相應的變化,產(chǎn)生形變。切割中的形變主要計算應力,包括各節(jié)點運行的位移、速度和加速度等,對于切割過程中發(fā)生形變的保持,通過引入畸變因子和剛度矩陣實現(xiàn)。本實施例中人體軟組織縫合實現(xiàn)通過歐拉算法來進行應力和力矩計算,應力計算包括重力、節(jié)點連接之間的tretch/compress力、節(jié)點連接之間的bend和twist力, dissipative friction力、以及contact力。力矩計算主要為stretch禾Π friction力,碰撞檢測采用 AABB 包圍盒(Axis AlignedBounding Box)和 OBB 包圍盒(Oriented Bounding Box)相結(jié)合的算法。
本實施例打結(jié)方式采用單結(jié)、方結(jié)、三重結(jié)或多重結(jié),具體如下1)單結(jié)(half hitch)是外科結(jié)扣的基本組成部分,易松脫、解開,僅用于暫時阻斷,如膽囊逆行切除暫時阻斷膽囊管,而永久結(jié)扎時不能單獨使用單結(jié)。2)方結(jié)(square knot)因其結(jié)扎后較為牢固而成為外科手術(shù)中最常使用的結(jié)扣。 它由兩個相反方向的單結(jié)扣重疊而成,適用于較少的組織或較小的血管以及各種縫合的結(jié)扎。3)三重結(jié)或多重結(jié)(extra half hitch on reef knot)在完成方結(jié)之后再重復一個或多個單結(jié),使結(jié)扣更加牢固。適用于直徑較重要的血管、張力較大的組織間縫合后的結(jié)扎。使用腸線或化學合成線等易于松脫的線打結(jié)時,通常需要作多重結(jié)。本實施例中抓取實現(xiàn)方式是通過將模擬抓取器械上的一個點與醫(yī)學器官模型上的點綁定來實現(xiàn)的。本實施例中的煙霧實現(xiàn)主要通過粒子來模擬,煙霧的稀薄主要通過控制粒子的數(shù)量來實現(xiàn),煙霧的形態(tài)通過粒子的物理屬性如重力等來控制。本實例中流血效果主要通過粒子效果來實現(xiàn),包括兩種情況,一是血往下流的情況,二是血噴射的情況。實施例2內(nèi)窺鏡微創(chuàng)手術(shù)模擬訓練3D平臺系統(tǒng)的實現(xiàn)方法包括如下內(nèi)容第一步構(gòu)建系統(tǒng)基礎(chǔ)組件庫本實施例中用runge,runge_4th0rder算法構(gòu)建了點、線、面組件庫,用bogus,F(xiàn)SA,F(xiàn)SAF算法構(gòu)建了模型(如軟組織、剛體等)在不同行為下采用的計算方法。第二步利用系統(tǒng)基礎(chǔ)組件庫構(gòu)建核心算法,實現(xiàn)3D平臺核心功能,本實施例中碰撞檢測采用AABB包圍盒(Axis Aligned Bounding Box)算法,主要通過點、線、面組件庫構(gòu)建二叉樹算法來實現(xiàn)。第三步醫(yī)學模型描述語言是腳本語言,本步驟同實施例1。第四步通過讀取醫(yī)學模型描述語言來調(diào)用建好的各種醫(yī)學模型包括器官模型和器械模型,并賦予模型相應的物理屬性,構(gòu)建醫(yī)學場景,通過調(diào)用相應的動作和效果,包括中圖形圖像渲染、軟組織模擬、變形和力反饋、切害I]、縫合、打結(jié)、抓取、煙霧、流血等,實現(xiàn)各種互動操作。本實施例中軟組織模擬主要通過FEM(Finite Element Method,有限元法)、 M-Rep (Medial Representation,中心線描述法)、粘彈性模型實現(xiàn)的,物理模型主要控制軟組織在外部作用(如手術(shù)器械)下的交互性能,人體組織極其復雜,一般由幾個層次組成,通過對組織生理性質(zhì)的分析可以得到物理模型的外在表現(xiàn)和內(nèi)在參數(shù),復雜情況下只能使用一些非線性的模型即FEM(Finite Element Method),即有限元法、FFD (Free FormDeformation) ,M-Rep (Medial Representation),即中心線描述法等來實現(xiàn)。FEM 法提供了一種高精度的軟組織建模的方案,但在形變過程中需要進行大量的計算,因此很難達到形變的實時性要求;M-Rep法采用了中心原子(Medial Atom)承載大量幾何信息的表示方法來實現(xiàn)軟組織可變形的建模,但對于形變易出現(xiàn)大的偏差;FFD法需要大量的人機交換,計算量比較大,一般較少使用。同時許多人體組織有彈性又有粘性,系統(tǒng)采用新的粘彈性模型(visco-elastic physical model)來描述其物理特性。但是過度復雜的物理模型會造成實際計算的困難,物理模型的選擇必須在真實性和處理的實時性上進行平衡。本實施例中力反饋和形變計算實現(xiàn)從主要針對兩種情況。1)對于有限元模型而言,F(xiàn)EM方法把整個物體所在的空間離散化為一個個小單元,每個小單元都有一些節(jié)點。然后通過把動力學方程離散到每個小單元,求出這些節(jié)點的位移,再運用預先選定的插值函數(shù)來計算單元內(nèi)每一點的位移及其他所關(guān)心的問題,如應力、應變和內(nèi)力。計算精確但計算量大,無法直接用于實時的力變形計算。2)對于質(zhì)點-彈簧模型而言,物體被模擬成一個由大量質(zhì)點和彈簧組成的系統(tǒng),對系統(tǒng)中所有的質(zhì)點根據(jù)牛頓一定理建立動力學方程。原理簡單、計算量小,實時性好。存在力的到達深度不受限制、網(wǎng)格的拓撲結(jié)構(gòu)制約系統(tǒng)的行為問題。本實施例中軟組織縫合采用位置更新FTL(Follow the Leader)算法,包含碰撞穿入contact constraint和應力計算等,這里只需要考慮碰撞受力,碰撞模型采用AABB包圍盒(Axis Aligned Bounding Box),能夠檢測自碰撞情況。本實施例打結(jié)方式采用外科結(jié)、假結(jié)、滑結(jié),具體如下1)外科結(jié)(surgeon knot)在作第一個結(jié)時結(jié)扎線穿繞兩次以增加線間的接觸面積與摩擦力,再作第二結(jié)時不易松動或滑脫,因打此種結(jié)扣比較費時而僅適用于結(jié)扎大血管。2)假結(jié)(false knot)由同一方向的兩個單結(jié)組成,結(jié)扎后易于滑脫而不應采用。3)滑結(jié)(slip knot)盡管其結(jié)扣的構(gòu)成類似于方結(jié),但是,由于操作者在打結(jié)拉線時雙手用力不均,一緊一松甚或只拉緊一側(cè)線頭而用另外一側(cè)線頭打結(jié),所以完成的結(jié)扣并非方結(jié)而是極易松脫的滑結(jié),術(shù)中尤其要注意避免。內(nèi)窺鏡微創(chuàng)手術(shù)模型訓練中的打結(jié)一般是通過操作器械來實現(xiàn)的,打結(jié)的實現(xiàn)比較復雜,一般以真實腹腔環(huán)境作為背景,在場景中模擬一根已穿過組織的帶針的縫合線,分別使用左手、右手、雙手和其它方法進行打結(jié),第一結(jié)要求打外科結(jié),可以實現(xiàn)連續(xù)縫線和間隔縫線。本實施例中抓取實現(xiàn)方式是通過將模擬抓取器械上的一個點與醫(yī)學器官模型上的點綁定來實現(xiàn)的。本實例中煙霧和流血效果通過模擬流體運動來實現(xiàn),根據(jù)流體力學原理,血液是不可壓縮流體,煙霧則不是,假設(shè)流體的黏度為零,此時流體即為非粘性流體,煙霧可視為非粘性流體。對于三維流體,根據(jù)質(zhì)量守恒定律,在任意封閉曲面(例如球體)中,由曲面進入封閉曲面內(nèi)的質(zhì)量速率,需和由曲面離開封閉曲面內(nèi)的質(zhì)量速率相等,主要通過建立歐拉方程來實現(xiàn)。實施例3內(nèi)窺鏡微創(chuàng)手術(shù)模擬訓練3D平臺系統(tǒng)的實現(xiàn)方法包括如下內(nèi)容第一步構(gòu)建系統(tǒng)基礎(chǔ)組件庫本實施例中用euler, euler_ordered, runge, runge_4thorder算法構(gòu)建了點、線、面組件庫,用quasi,quasi_ordered, bogus, FSA, FSAF算法構(gòu)建了模型(如軟組織、 剛體等)在不同行為下采用的計算方法。用perlin noise方法構(gòu)建仿真貼圖庫,其方法是先固定一部分點的顏色,平滑這些固定點中間的顏色,生成幾個不同頻率的平滑噪音,然后相加,為了保證生成噪音的頻率,一般是通過改變固定點的數(shù)量,固定點多的,噪音自然相對比較雜亂,噪音的頻率比較高.固定點少的,噪音的頻率就比較低。第二步利用系統(tǒng)基礎(chǔ)組件庫構(gòu)建核心算法,實現(xiàn)3D平臺核心功能,、本實施例幾何模型由點、線、面構(gòu)成等,主要通過點、線、面和點、線、面組組件庫來實現(xiàn),物理模型主要通過構(gòu)建相應的物理模型組件庫如質(zhì)點彈簧(Mass-Spring)模型、有限元模型(FEM)來實現(xiàn)。本實施例中圖形圖像渲染基于OpenGL渲染模式來實現(xiàn),實現(xiàn)過程為1)、使用幾何圖元建立模型,從而得到3D模型的數(shù)學描述;2)、在3D空間排列對象,選擇觀察場景的有利位置;3)、計算所有3D模型的顏色。顏色由應用程序指定、根據(jù)光照條件確定、將問題粘貼到3D模型上得到,也可以綜合上述多種操作獲得;4)、將3D模型的數(shù)學描述和相關(guān)的顏色信息轉(zhuǎn)換為屏幕像素,實現(xiàn)光柵化。同時構(gòu)建3D仿真貼圖組件,以增強OpenGL的3D渲染能力和效果。本實施例中碰撞檢測采用OBB包圍盒((Oriented Bounding Box))算法,主要通過點、線、面組件庫構(gòu)建二叉樹算法來實現(xiàn)。本實施例中的數(shù)據(jù)通信主要通過RS232串口全雙工通信,采用Proxy設(shè)計模式來實現(xiàn),先定義好上位機和下位機之間的數(shù)據(jù)通信協(xié)議,設(shè)置好通信的串口號、波特率、奇偶校驗位等,通過實時或者非實時的數(shù)據(jù)傳送和接受,并按照數(shù)據(jù)通信協(xié)議對5個自由度 (DOF)以上的數(shù)據(jù)進行封裝和解析,實現(xiàn)操作的互動。本實施例中利用SQL組件庫實現(xiàn)數(shù)據(jù)庫的數(shù)據(jù)交換功能,主要包括數(shù)據(jù)連接的創(chuàng)建、數(shù)據(jù)操作(查詢、插入、刪除、更新等),將各種操作數(shù)據(jù)寫入數(shù)據(jù)庫,同時從數(shù)據(jù)庫讀取需要的數(shù)據(jù)并顯示。第三步醫(yī)學模型描述語言是腳本語言,本步驟同實例1。第四步通過讀取醫(yī)學模型描述語言來調(diào)用建好的各種醫(yī)學模型包括器官模型和器械模型,并賦予模型相應的物理屬性,構(gòu)建醫(yī)學場景,通過調(diào)用相應的動作和效果,包括圖形圖像渲染,軟組織模擬、變形計算和力反饋、抓取、切害I]、縫合、打結(jié)、煙霧、流血等,實現(xiàn)各種互動操作。本實施例中力反饋和形變計算實現(xiàn)從主要針對兩種情況。1)對于開環(huán)仿真而言, 用于計算變形的模型和計算接觸力的模型之間相互獨立。2)對于閉環(huán)仿真而言,變形和接觸力計算相互關(guān)聯(lián)。變形計算和虛擬力計算模型一般采用相同的基于物理意義的模型,仿真模型包括彈簧質(zhì)點模型、有限元模型等。本實施例中軟組織切割實現(xiàn)過程是,在發(fā)生切割時,人體組織的幾何模型的拓撲結(jié)構(gòu)發(fā)生變化,幾何模型與器械碰撞的地方發(fā)生分裂,由于器械和組織的碰撞,作用在組織上的應力發(fā)生相應的變化,產(chǎn)生形變。切割中的形變主要計算應力,包括各節(jié)點運行的位移、速度和加速度等,對于切割過程中發(fā)生形變的保持,通過引入畸變因子和剛度矩陣實現(xiàn)。本實施例中軟組織縫合實現(xiàn)通過歐拉算法來進行應力和力矩計算,應力計算包括重力、節(jié)點連接之間的stretch/compress力、節(jié)點連接之間的bend和twist力, dissipative friction力、以及contact力。力失巨計算主要為stretch禾口 friction力,碰撞檢測采用 AABB 包圍盒(Axis Aligned BoundingBox)和包圍盒(Oriented Bounding Box) 相結(jié)合的算法。
本實施例打結(jié)方式采用單結(jié)、方結(jié)、三重結(jié)或多重結(jié)、外科結(jié)、假結(jié)、滑結(jié),具體如下1)單結(jié)(half hitch)是外科結(jié)扣的基本組成部分,易松脫、解開,僅用于暫時阻斷,如膽囊逆行切除暫時阻斷膽囊管,而永久結(jié)扎時不能單獨使用單結(jié)。2)方結(jié)(square knot)因其結(jié)扎后較為牢固而成為外科手術(shù)中最常使用的結(jié)扣。 它由兩個相反方向的單結(jié)扣重疊而成,適用于較少的組織或較小的血管以及各種縫合的結(jié)扎。3)三重結(jié)或多重結(jié)(extra half hitch on reef knot)在完成方結(jié)之后再重復一個或多個單結(jié),使結(jié)扣更加牢固。適用于直徑較重要的血管、張力較大的組織間縫合后的結(jié)扎。使用腸線或化學合成線等易于松脫的線打結(jié)時,通常需要作多重結(jié)。4)外科結(jié)(surgeon knot)在作第一個結(jié)時結(jié)扎線穿繞兩次以增加線間的接觸面積與摩擦力,再作第二結(jié)時不易松動或滑脫,因打此種結(jié)扣比較費時而僅適用于結(jié)扎大血管。5)假結(jié)(false knot)由同一方向的兩個單結(jié)組成,結(jié)扎后易于滑脫而不應采用。6)滑結(jié)(slip knot)盡管其結(jié)扣的構(gòu)成類似于方結(jié),但是,由于操作者在打結(jié)拉線時雙手用力不均,一緊一松甚或只拉緊一側(cè)線頭而用另外一側(cè)線頭打結(jié),所以完成的結(jié)扣并非方結(jié)而是極易松脫的滑結(jié),術(shù)中尤其要注意避免。本實施例中抓取實現(xiàn)方式是通過將模擬抓取器械上的一個點與醫(yī)學器官模型上的點綁定來實現(xiàn)的。本實施例中的煙霧實現(xiàn)主要通過粒子來模擬,煙霧的稀薄主要通過控制粒子的數(shù)量來實現(xiàn),煙霧的形態(tài)通過粒子的物理屬性如重力等來控制。本實例中流血效果主要通過粒子效果來實現(xiàn),包括兩種情況,一是血往下流的情況,二是血噴射的情況。上述實施例為本發(fā)明較佳的實施方式,但本發(fā)明的實施方式并不受上述實施例的限制,其他的任何未背離本發(fā)明的精神實質(zhì)與原理下所作的改變、修飾、替代、組合、簡化, 均應為等效的置換方式,都包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種內(nèi)窺鏡微創(chuàng)手術(shù)模擬訓練3D平臺系統(tǒng)的實現(xiàn)方法,其特征在于,包括下述步驟第一步構(gòu)建3D平臺系統(tǒng)基礎(chǔ)組件庫利用基礎(chǔ)算法構(gòu)建3D平臺系統(tǒng)基礎(chǔ)組件庫;第二步實現(xiàn)3D平臺系統(tǒng)核心功能利用3D平臺系統(tǒng)基礎(chǔ)組件庫構(gòu)建3D平臺系統(tǒng)核心算法,實現(xiàn)幾何模型和物理模型的構(gòu)建、圖形渲染、碰撞檢測、力反饋、與操作臺的數(shù)據(jù)通信、和數(shù)據(jù)庫的數(shù)據(jù)交換;第三步構(gòu)建醫(yī)學模型描述語言在3D平臺系統(tǒng)核心算法的基礎(chǔ)上通過腳本方式定義模型的幾何和物理屬性,實現(xiàn)程序和數(shù)據(jù)分離,便于系統(tǒng)維護和管理;第四步調(diào)用醫(yī)學模型,構(gòu)建醫(yī)學場景,模擬內(nèi)窺鏡微創(chuàng)手術(shù)各種動作,包括抓取、切割、縫合、打結(jié)、上鈦夾、煙霧、流血等。
2.根據(jù)權(quán)利要求1所述的內(nèi)窺鏡微創(chuàng)手術(shù)模擬訓練3D平臺系統(tǒng)的實現(xiàn)方法,其特征在于,包括下述步驟第一步構(gòu)建3D平臺系統(tǒng)基礎(chǔ)組件庫利用基礎(chǔ)算法,euler, euler_ordered, runge, runge_4thor der, quasi, quasi_ordered, bogus, FSA, FSAF> perl in noise 構(gòu)建系統(tǒng)基石出組件庫;第二步利用3D平臺系統(tǒng)基礎(chǔ)組件庫構(gòu)建核心算法,實現(xiàn)3D平臺系統(tǒng)核心功能,具體為幾何模型和物理模型是通過三維模型組件庫來構(gòu)建的;利用OpenGL和仿真貼圖組件庫構(gòu)建圖形渲染核心算法;利用三維模型組件庫來構(gòu)建包圍盒和包圍球等核心算法,然后實現(xiàn)碰撞檢測功能;力計算組件庫來實現(xiàn)力反饋功能;利用串口通信組件庫實現(xiàn)操作臺的數(shù)據(jù)通信功能;利用SQL組件庫實現(xiàn)數(shù)據(jù)庫的數(shù)據(jù)交換功能;第三步醫(yī)學模型描述語言是腳本語言,通過定義三維幾何模型的物理屬性,來實現(xiàn)了三維幾何模型的物理效果;第四步通過讀取醫(yī)學模型描述語言來調(diào)用建好的各種醫(yī)學模型包括器官模型和器械模型,并賦予模型相應的物理屬性,構(gòu)建醫(yī)學場景,通過調(diào)用相應的動作和效果,包括抓取、 切割、縫合、打結(jié)、上鈦夾、煙霧、流血等,實現(xiàn)各種互動操作。
3.根據(jù)權(quán)利要求2所述的內(nèi)窺鏡微創(chuàng)手術(shù)模擬訓練3D平臺系統(tǒng)的實現(xiàn)方法,其特征在于,第一步中,用euler, euler_ordered, runge, runge_4thorder算法構(gòu)建三維模型組件庫,利用 quasi, quasi_ordered, bogus, FSA, FSAF 構(gòu)建模型計算組件庫,用 perlin noise 構(gòu)建仿真貼圖組件庫。
4.根據(jù)權(quán)利要求2所述的內(nèi)窺鏡微創(chuàng)手術(shù)模擬訓練3D平臺系統(tǒng)的實現(xiàn)方法,其特征在于,第二步中,利用OpenGL和仿真貼圖組件庫構(gòu)建圖形渲染核心算法具體為1)、使用幾何圖元建立模型,從而得到3D模型的數(shù)學描述;2)、在3D空間排列對象,選擇觀察場景的有利位置;3)、計算所有3D模型的顏色;顏色由應用程序指定、根據(jù)光照條件確定、將問題粘貼到3D模型上得到,也可以綜合上述多種操作獲得;4)、將3D模型的數(shù)學描述和相關(guān)的顏色信息轉(zhuǎn)換為屏幕像素,實現(xiàn)光柵化;同時構(gòu)建3D仿真貼圖組件,以增強OpenGL的3D渲染能力和效果。
5.根據(jù)權(quán)利要求2所述的內(nèi)窺鏡微創(chuàng)手術(shù)模擬訓練3D平臺系統(tǒng)的實現(xiàn)方法,其特征在于,第二步中,力計算組件庫來實現(xiàn)力反饋功能具體為虛擬現(xiàn)實軟件系統(tǒng)輸出的力反饋指令經(jīng)接口電路輸出,經(jīng)過數(shù)/模轉(zhuǎn)換器將反饋力數(shù)字量轉(zhuǎn)換為模擬量,并控制受控恒流源驅(qū)動伺服電機執(zhí)行力反饋,伺服電機輸出反饋力經(jīng)鋼絲傳動,由操作桿向操作者輸出反饋力。
6.根據(jù)權(quán)利要求2所述的內(nèi)窺鏡微創(chuàng)手術(shù)模擬訓練3D平臺系統(tǒng)的實現(xiàn)方法,其特征在于,第二步中,利用串口通信組件庫實現(xiàn)操作臺的數(shù)據(jù)通信功能,具體為數(shù)據(jù)通信通過 RS232串口全雙工通信,采用Proxy設(shè)計模式來實現(xiàn),先定義好上位機和下位機之間的數(shù)據(jù)通信協(xié)議,設(shè)置好通信的串口號、波特率、奇偶校驗位,通過實時或者非實時的數(shù)據(jù)傳送和接受,并按照數(shù)據(jù)通信協(xié)議對5個以上自由度的數(shù)據(jù)進行封裝和解析,實現(xiàn)操作的互動。
7.根據(jù)權(quán)利要求2所述的內(nèi)窺鏡微創(chuàng)手術(shù)模擬訓練3D平臺系統(tǒng)的實現(xiàn)方法,其特征在于,第二步中,利用SQL組件庫實現(xiàn)數(shù)據(jù)庫的數(shù)據(jù)交換功能,包括數(shù)據(jù)連接的創(chuàng)建、數(shù)據(jù)操作,將各種操作數(shù)據(jù)寫入數(shù)據(jù)庫,同時從數(shù)據(jù)庫讀取需要的數(shù)據(jù)并顯示。
8.根據(jù)權(quán)利要求2所述的內(nèi)窺鏡微創(chuàng)手術(shù)模擬訓練3D平臺系統(tǒng)的實現(xiàn)方法,其特征在于,第四步中,所述抓取、切割、縫合、打結(jié)、上鈦夾、煙霧、流血具體實現(xiàn)過程如下切割通過刪除器械與幾何模型碰撞點附近的點、線、面來實現(xiàn),切割應力計算包括各節(jié)點運行的位移、速度和加速度等,切割形變保持通過畸變因子和剛度矩陣來實現(xiàn);縫合通過歐拉算法來進行應力和力矩計算,應力計算包括重力、節(jié)點連接之間的 stretch/compress 力、節(jié)點連接之間的 bend 禾口 twist 力,dissipativefriction 力、以及 contact力;力矩計算主要為stretch和friction力,碰撞檢測采用AABB包圍盒算法;打結(jié)的線使用剛性針模型、FTL變形、AABB包圍盒碰撞檢測算法處理線的自碰撞和線與其它剛體的碰撞,通過設(shè)置臨時接觸約束實現(xiàn)等效摩擦力,通過碰撞簇的識別檢測結(jié)的形成并在FTL算法中將結(jié)作為一個整體處理,確保結(jié)形成后可以在空間自由運動,反饋力根據(jù)線的張力和約束條件計算;抓取通過器械開口上的點綁定器官上的點、線、面來實現(xiàn)的;煙霧是根據(jù)流體力學原理或粒子效果來實現(xiàn),煙霧的稀薄通過控制粒子的數(shù)量來實現(xiàn),煙霧的形態(tài)通過粒子的物理屬性來控制;流血通過模擬流體運動或粒子效果來實現(xiàn),流血的粘稠通過控制粒子的數(shù)量來實現(xiàn), 流血的形態(tài)通過粒子的物理屬性來控制。
全文摘要
本發(fā)明提供一種內(nèi)窺鏡微創(chuàng)手術(shù)模擬訓練3D平臺系統(tǒng)的實現(xiàn)方法,包括下述步驟第一步構(gòu)建3D平臺系統(tǒng)基礎(chǔ)組件庫利用基礎(chǔ)算法構(gòu)建3D平臺系統(tǒng)基礎(chǔ)組件庫;第二步實現(xiàn)3D平臺系統(tǒng)核心功能利用3D平臺系統(tǒng)基礎(chǔ)組件庫構(gòu)建3D平臺系統(tǒng)核心算法,實現(xiàn)幾何模型和物理模型的構(gòu)建、圖形渲染、碰撞檢測、力反饋、與操作臺的數(shù)據(jù)通信、和數(shù)據(jù)庫的數(shù)據(jù)交換;第三步構(gòu)建醫(yī)學模型描述語言在3D平臺系統(tǒng)核心算法的基礎(chǔ)上通過腳本方式定義模型的幾何和物理屬性,實現(xiàn)程序和數(shù)據(jù)分離,便于系統(tǒng)維護和管理;第四步調(diào)用醫(yī)學模型,構(gòu)建醫(yī)學場景,模擬內(nèi)窺鏡微創(chuàng)手術(shù)各種動作,包括抓取、切割、縫合、打結(jié)、上鈦夾、煙霧、流血。本發(fā)明支持力反饋和虛擬觸覺功能,支持多種建模方法。
文檔編號G09B23/28GK102254475SQ20111020000
公開日2011年11月23日 申請日期2011年7月18日 優(yōu)先權(quán)日2011年7月18日
發(fā)明者曾向陽, 瞿友安, 羅益民, 蔣正鋒, 黃建新 申請人:廣州賽寶聯(lián)睿信息科技有限公司