2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  單位代碼 10006 </p><p>  學 號 </p><p>  分類號 </p><p>  密 級 秘 密 </p><p><b>  畢業(yè)設計(論文)</b><

2、/p><p>  用于心臟手術仿真的虛擬力反饋模型</p><p><b>  及軟件實現(xiàn)</b></p><p><b>  2014年6月</b></p><p><b>  北京航空航天大學</b></p><p>  本科生畢業(yè)設計(論文)任務書&l

3、t;/p><p>  Ⅰ、畢業(yè)設計(論文)題目:</p><p>  用于心臟手術仿真的虛擬力反饋模型及軟件實現(xiàn) </p><p> ?、?、畢業(yè)設計(論文)使用的原始資料(數(shù)據)及設計技術要求:</p><p>  原始資料:

4、7自由度的力反饋器(Omega.7)(已購買) 心血管主動 </p><p>  脈弓的幾何建模(初步完成) OpenGL開發(fā)環(huán)境(已搭建) Chai3D </p><p>  Demo源代碼(已獲得) </p><p>  技術要求:1. 實現(xiàn)三維心臟模型的變形顯

5、示 </p><p>  2. 實現(xiàn)三維心臟模型的實時力反饋計算 </p><p>  3. 利用Omega.7實現(xiàn)三維心臟模型的力感知 </p><p>  

6、Ⅲ、畢業(yè)設計(論文)工作內容:</p><p>  搭建虛擬力反饋硬件平臺 </p><p>  編寫基于Chai3D/OpenGL的軟件平臺 </p><p>  建立心臟三維幾何模型

7、 </p><p>  實現(xiàn)一種心臟受力變形算法 </p><p><b> ?、簟⒅饕獏⒖假Y料:</b></p><p>  Majumder S, Roychowdh

8、ury A, Pal S. Simulation of hip fracture in sideways fall using a 3D finite element model of pelvis–femur–soft tissue complex with simplified representation of whole body[J]. Medical engineering & physics, 2007, 29(1

9、0): 1167-1178. Xie K, Yang J, Zhu Y M. Fast collision detection based on nose augmentation virtual surgery[J]. Computer methods and programs in biomedicine, 2007, 88(1): 1

10、-7. </p><p>  學生 王青春 </p><p>  畢業(yè)設計(論文)時間: 2014 年 3 月 1 日至 2014 年 5 月 25 日</p><p>  答辯時間: 2014 年 6 月 10 日</p><

11、p>  成 績: </p><p>  指導教師: </p><p>  兼職教師或答疑教師(并指出所負責部分):</p><p>  系(教研室) 主任(簽字): </p><p>  注:任務書應該附在已完成的畢業(yè)設計(論文)的首頁。&l

12、t;/p><p><b>  本人聲明</b></p><p>  我聲明,本論文及其研究工作是由本人在導師指導下獨立完成的,在完成論文時所利用的一切資料均已在參考文獻中列出。</p><p><b>  作者:王青春</b></p><p><b>  簽字:</b></p

13、><p>  時間:2014年 6 月</p><p>  用于心臟手術仿真的虛擬力反饋模型及軟件實現(xiàn)</p><p>  學 生:王青春</p><p><b>  指導老師:劉文勇</b></p><p><b>  摘要</b></p><p>

14、;  由于現(xiàn)代人生活方式和生活條件的變化,心臟病日益成為一種常見疾病,同時心臟手術的需求量也急劇增加,然而由于培訓方式和材料的特殊性,目前遠遠無法滿足需求。</p><p>  虛擬現(xiàn)實技術是利用電腦模擬產生一個三維的虛擬世界,提供給使用者視覺、聽覺、觸覺等感官的模擬,讓使用者如同身臨其境一般,可以及時、沒有限制的觀察三維空間內的事物,使用者進行位置移動時,計算機可以立即進行復雜的運算,將改變后的三維世界影響傳回

15、產生臨場感。隨著硬件和軟件技術的發(fā)展,以及對虛擬現(xiàn)實技術研究的不斷深入,目前已經有條件實現(xiàn)虛擬手術。</p><p>  針對這個問題,本課題以虛擬現(xiàn)實技術為基礎,以虛擬環(huán)境中的心臟模型作為研究對象,以Omega.7作為力反饋設備,用于向虛擬對象施加作用力,同時對輸入的力用配備英偉達專業(yè)顯卡的圖形工作站進行處理,將得到的反作用力反饋給使用者,從而得到真實可感的力覺和觸覺反饋。這種方法有望克服傳統(tǒng)醫(yī)生訓練過程中采用

16、人或其他動物標本作為研究對象的諸多缺點,可以更高效、便捷的培養(yǎng)外科醫(yī)生,使其足以承擔心臟手術的工作,滿足患者對手術的需求。</p><p>  本課題主要借助開源項目Chai3D和由瑞士Force Dimension提供的力反饋設備Omega. 7進行。Chai3D提供了一套對虛擬環(huán)境中的對象進行操作的編程接口和一組示例程序,可以在此基礎上進行二次開發(fā)得到針對心臟手術的算法。Qt是一個跨平臺的C++應用程序開發(fā)框

17、架,提供了一套便捷的C++圖形庫和集成開發(fā)環(huán)境,原生支持OpenGL程序,為了更便捷的對虛擬環(huán)境中的對象進行操作,將給這個系統(tǒng)原型添加一個基于Qt的圖形前端。</p><p>  同時本次研究作為虛擬手術仿真項目的一個先導課題,為后續(xù)的深入研究做一些基礎性工作。</p><p>  關鍵詞:心臟手術,手術仿真,力反饋,虛擬現(xiàn)實,碰撞檢測</p><p>  A vi

18、rtual force feedback model for the simulation of cardiac surgery and its software implementation</p><p>  Author: 王青春</p><p>  Tutor: 劉文勇</p><p><b>  Abstract</b></p&

19、gt;<p>  As people’s life style and quality is changing rapidly, heart disease has been developing to a common disease thus there’s a great need of doctors who can handle such operations. However, because of the s

20、pecial methods and special materials they use, much more doctors are needed for now.</p><p>  Virtual Reality technology is a technology which generates a three-dimensional virtual world with computers, supp

21、lying visual and hearing and haptic simulation, making the users feel that they are actually in the real environment, where they can observe the objects in the virtual world in time and without any limits, when the users

22、 move, the computers compute the new world in almost no time and then give the new world to the users.</p><p>  Computers are changing the world everywhere. Now both the hardware and software technology have

23、 been developed in a significant degree, in addition to the research in virtual reality theory, virtual surgery can be realized for now.</p><p>  The heart model in the virtual environment acts as the object

24、 being manipulated, forces and torques applied to the heart model via the haptic device Omega.7, and then the feedback forces and torques are computed in the workstation equipped with a nVIDIA Quadro graphics card and t

25、hen exported via the same haptic device. Thus users can obtain a real force and haptic feedback. This training method is promising to avoid the disadvantages of the traditional methods in which human or animal specimen&

26、lt;/p><p>  This subject is a sub-subject of the virtual surgery system, the research also do a lot of foundational works for incoming research.</p><p>  Key words: Cardiac surgery, Simulation, For

27、ce feedback, Virtual-Reality technology</p><p><b>  目 錄</b></p><p><b>  緒論</b></p><p><b>  研究背景</b></p><p>  隨著現(xiàn)代人生活方式和習慣的改變,飲食結構發(fā)

28、生了很大變化,高糖、高蛋白、高脂肪含量的食物越來越普遍,加上生活環(huán)境的惡化,工作、生活和經濟壓力的增加,都導致現(xiàn)代人心臟病發(fā)病率明顯增高。據統(tǒng)計,我國每年有超過15萬人接受心臟手術,而需要接受心臟手術的患者多達800萬人[1],這產生了對能勝任心臟手術的外科醫(yī)生的巨大需求。</p><p>  同時由于現(xiàn)代外科手術的復雜程度越來越高,不經過充分的訓練,很難適應現(xiàn)代外科手術的要求。據統(tǒng)計,通常訓練一名合格的外科醫(yī)生

29、需要5-7年的時間[2],其間醫(yī)生必須進行大量的手術訓練。對醫(yī)生進行手術訓練的傳統(tǒng)方法是使用人體或動物標本代替病人進行[3],然而動物的解剖結構與人體的解剖結構不同,而尸體的材料特性與活體組織都存在較大差異,這些缺點嚴重地影響了培養(yǎng)外科手術醫(yī)生的效果和效率。同時這類方法使用的材料都存在資源短缺,同時無法重復使用的缺點,因此培訓成本很高。</p><p>  現(xiàn)代計算機技術的發(fā)展日新月異,尤其是虛擬現(xiàn)實技術已經滲入

30、到我們生活的方方面面,但力觸覺結合的虛擬現(xiàn)實技術在軟組織中的應用仍不太廣泛。應用這種虛擬現(xiàn)實技術,使用者可以通過終端輸入操作數(shù)據,數(shù)據經計算機處理后反饋給使用者相應的力覺和觸覺,讓使用者獲得如在真實世界中觸摸物體一樣的感官體驗[4]。同時,虛擬手術可以模擬活體組織的各種物理特性和生理特性,提高培訓效果;此外由于所用的電子設備都可以重復使用,并可以根據實際需要修改以提供不同類型的實驗對象,從長遠看來可以大大降低培養(yǎng)外科醫(yī)生的成本。<

31、/p><p><b>  研究內容</b></p><p>  研究內容主要分為以下幾個部分:</p><p>  搭建虛擬力反饋硬件平臺</p><p>  硬件主要用到了由瑞士Force Dimension提供的Omega.7力反饋設備和一臺圖形工作站,由于后期需要3D立體顯示和對OpenGL的硬件加速需要,還配備了一塊

32、nVIDIA高性能專業(yè)顯卡。</p><p>  編寫基于Chai3D/OpenGL的軟件平臺</p><p>  軟件系統(tǒng)架構在開源項目Chai3D之上,而Chai3D中大量使用了OpenGL的API,支持7種力反饋設備,具有良好的通用型。</p><p>  建立心臟三維幾何模型</p><p>  心臟模型是由CT成像技術得到的,但原始

33、圖像文件無法適用于Chai3D系統(tǒng),需要做多步處理。</p><p>  實現(xiàn)一種心臟受力變形算法</p><p>  心臟模型是靜態(tài)的,而虛擬手術中需要其在受到外力的作用后作出相應的外形變化同時計算出對虛擬末端控制器的反作用力,并表現(xiàn)到力反饋設備上。</p><p>  形成心臟手術虛擬仿真訓練系統(tǒng)原型</p><p>  原計劃編寫一套基

34、于Qt的仿真訓練系統(tǒng),但研究中發(fā)現(xiàn)Qt的pro工程文件和Chai3D中使用的Makefile差別較大,從后者移植到前者的結構需要大量時間和精力,考慮到畢設時間限制,該步沒有完成。</p><p><b>  研究現(xiàn)狀</b></p><p>  目前,國外已經有許多商業(yè)公司和研究機構對虛擬手術仿真技術做了深入的研究和實踐,如美國波士頓力學研究中心對虛擬手術器械模擬操作

35、的研究,加利福尼亞圣弗朗西斯科大學外科系與伯克利學院的電子工程與計算機科學系對虛擬腹腔手術的研究,斯坦福大學的SRI正在進行的對組織和脈管縫合的虛擬手術技術的研究等;在歐洲,法國國家信息和自動化研究所(INRIA)、德國國家信息技術研究中心(GMD)、法蘭克福計算機圖形研究所(IGD)等研究單位也對虛擬手術及相關的技術進行了深入的研究[5]。</p><p>  我國關于計算機建模和仿真的研究開展較早,在上世紀7

36、0年代初主要集中在航空航天領域。數(shù)十年來,我國多所高校入北京航空航天大學、浙江大學、清華大學、北京大學、國防科技大學等和多所科研院所及其他許多應用部門和單位的研究人員進行了各具背景、各具特色的研究工作[4]。</p><p>  近年來國內的研究多集中在對醫(yī)學圖像的三維重建及可視化方面,但對帶有力反饋的虛擬手術系統(tǒng),尤其是軟組織如臟器等的手術仿真研究方面投入較少。蘇永松等人在2002年設計了基于二維鼠標的骨科手術

37、模擬系統(tǒng)[6];譚珂等人在2005年設計了鼻腔鏡虛擬手術仿真系統(tǒng)[7];許天春等人在2006年也使用PHANToM設備設計了一個聲帶腫物切除仿真系統(tǒng)[8]。</p><p><b>  研究意義</b></p><p>  虛擬手術對于現(xiàn)代外科手術具有積極的推動作用。</p><p>  首先,它可以為外科醫(yī)生培訓提供用之不盡的實驗對象。傳統(tǒng)的

38、培訓中使用的動物或人體標本都存在或資源短缺或與實際活體組織各方面物理屬性和生理屬性不同的缺點。虛擬手術充分利用了虛擬現(xiàn)實技術對視覺和觸覺的支持,可以根據不同情況調整參數(shù),提供不同種類的實驗對象,大大提高了培訓靈活性。</p><p>  其次,傳統(tǒng)的培訓使用的兩種材料都無法重復使用,導致訓練的成本高昂且效率低下,由于虛擬手術使用的電子產品,可以提供近乎無限次地使用壽命,從長遠觀點看,將極大的降低總體培訓成本。&l

39、t;/p><p>  最后,由于虛擬手術極強的定制性,不僅可以用于外科醫(yī)生的培訓,還可以滿足不同的需求,比如對手術結果進行預測,輔助制定手術計劃和手術導航等。</p><p>  本課題是使用比較新的組合Omega.7力反饋設備(配置Force Dimension驅動和Chai3D)進行虛擬手術研究的一次嘗試。國內對于力反饋方面的研究工作多集中于使用美國SensAble公司提供的PHANToM

40、力反饋設備(配備GHOST SDK開發(fā)包),而對Chai3D的研究目前還較少,雖然Chai3D可以支持包括PHANToM在內的7種力反饋設備,但事實上由于設計生產Omega.7力反饋設備的瑞士Force Dimension公司和Chai3D的關系,Chai3D可以完美支持Force Dimension公司生產的力反饋設備的所有功能。</p><p>  課題的目標是實現(xiàn)一個操作界面基于Qt,后端動作基于Chai3

41、D的虛擬手術系統(tǒng)的原型,然而由于前期對工作量的預計失誤,導致Qt和Chai3D的結合在結題時仍無法完成,但在研究的過程中總結了一套經驗和教訓,為后續(xù)的研究提供了借鑒。</p><p><b>  研究方法</b></p><p><b>  硬件方面</b></p><p>  力反饋設備使用了瑞士Force Dimens

42、ion公司的固定式力反饋裝置,采用獨特的并聯(lián)運動結構,將輕巧的鋁制金屬桿與牢固的傳動裝置結合在一起,具有超高的性能。它共有7個自由度,包括3個平移自由度,3個旋轉自由度和1個抓取功能。其中平移關節(jié)和抓取關節(jié)都具有力反饋。它具有卓越的機械剛度,同時采用實時USB2.0控制器,在Windows下可以以4.3kHz左右的速率對接觸力進行處理,而在Linux下可以達到穩(wěn)定在7.9kHz左右,遠遠高于最低標準500Hz[8],這樣在發(fā)生碰撞檢測時

43、可以獲得平滑的效果,保證力觸覺交互系統(tǒng)的穩(wěn)定性。為了確保較高的觸覺透明度,設備通過將啟動與未啟動的部件相結合,保證了在平移和其他方向區(qū)域的重力補償。每個系統(tǒng)均可進行單獨校準,確保可重復的最佳精度和性能。</p><p>  前期由于Omega.7未到貨,暫時用國內的代理商紅京鳥(北京)科技有限公司臨時提供的Omega.3作為替代,二者在基本功能和性能上無差異)。Omega.7在Omega.3的基礎功能上,將末端控

44、制器改為具有夾取功能的力反饋手柄,并包括左右手配置,可以建立雙手工作站以實現(xiàn)雙手控制,從而增加了高精度主動式抓握功能和方向感功能。其中12N的持續(xù)力反饋與的夾取力,可以滿足在虛擬顯示技術研究中的基本需求。</p><p>  (a) Omega.3設備 (b) Omega.3末端控制器</p><p>  (c) Omega.7設備 (d

45、) Omega.7末端控制器</p><p>  圖 1.1 Omega.3和Omega.7對比</p><p>  在圖形和圖像運算方面,由于運算量較大且對實時性的要求較高,同時考慮到經費的因素,選擇了采用最新開普勒架構的英偉達的專業(yè)級顯卡Quadro K5000,顯存帶寬173GB/s,具有1536個流處理器、128個紋理單元、32個ROP單元,核心頻率700MHz左右,搭配256位4

46、GB GDDR5顯存,最高支持分辨率為4096x2196。同時支持3D輸出,可以滿足后續(xù)研究中添加3D顯示器的需求。</p><p>  在通用計算方面,由于需要渲染的數(shù)據量巨大,為了從根本上避免性能低下的集成顯卡帶來的影響,并且盡可能的提高CPU的整體性能,同時考慮了價格因素,選擇了英特爾E3 1230v3。它是由Intel發(fā)布的Haswell架構的LGA1150型CPU,默認主頻3.3GHz,具有4個物理核心

47、,同時由于超線程技術實際上可利用8線程,性能強勁。</p><p>  其他方面,考慮整體性能,選擇2*4G 1600mHz內存,加配128G固態(tài)硬盤作為系統(tǒng)盤,大大提高了系統(tǒng)的整體性能。</p><p><b>  軟件方面</b></p><p>  軟件方面分為運行環(huán)境和開發(fā)工具,運行環(huán)境主要依賴Force Dimension和Chai3

48、D,而開發(fā)工具根據平臺不同,在Windows平臺下采用Visual Studio2013(由DreamSpark提供專業(yè)版授權)和Qt Creator 5.3(beta),Linux平臺下采用Vim 7.4和Qt Creator 5.2。</p><p>  OpenGL全稱“開放式圖形庫”,它是一個方便和快速的三維圖形和模型庫。最初算法是由SGI(Silicom Graphics, Inc)公司開發(fā)和優(yōu)化的。它

49、定義了一個跨程序設計語言、跨平臺的應用程序接口(API)規(guī)范,用于生成二維、三維圖像,這個接口由近350個不同的函數(shù)調用組成,用來從簡單的圖形位元繪制復雜的三維圖像。OpenGL的高效實現(xiàn)(利用了圖形加速硬件)存在于Windows、很多UNIX平臺和OS X,這些實現(xiàn)一般由顯卡廠商提供,而且非常依賴于該廠商提供的硬件。OpenGL規(guī)范描述了繪制二維和三維圖形的抽象API,盡管這些繪制可以由軟件實現(xiàn),但它是為大部分或者全部使用硬件加速而設

50、計的。OpenGL與語言無關,但出于性能的考慮,臺式計算機本地的應用程序一般使用C++語言實現(xiàn),同時Chai3D也是用C/C++作為實現(xiàn)語言。在項目進行時,所用的英偉達驅動程序支持OpenGL 4.4標準。</p><p>  Force Dimension是Omega系列力反饋設備配備的原廠驅動程序,同時內置了一系列簡單的示例程序和性能測試工具,能夠很好的檢測設備是否能夠正常運行。</p><

51、;p>  Chai3D是一套為計算機觸覺、視覺和實時交互仿真而設計的開放源代碼并且可以自由獲得的C++庫。Chai3D支持7種商業(yè)許可的三自由度、六自由度和七自由度的觸覺設備,并且讓支持新的定制的觸覺設備成為可能。Chai3D尤其適合教育和科研的目的,因為它提供了一個輕量級的平臺,可以在這個平臺上開發(fā)擴展。Chai3D支持多個觸覺設備,因此可以很容易的將應用程序發(fā)送到遠程的不同的硬件設備上執(zhí)行。本課題使用Chai3D 2.0版本。

52、</p><p>  Windows平臺上的Visual Studio是最常用的C/C++集成開發(fā)工具,它是一個基本完整的開發(fā)工具集,包括了軟件生命周期中所需要的大部分工具,如UML工具、代碼管控工具、集成開發(fā)環(huán)境等等,所寫的目標代碼適用于微軟支持的所有平臺。</p><p>  Windows平臺上使用了Qt Creator 5.3,而不是當時的穩(wěn)定版本5.2,是由于Qt Creator

53、自身并不集成編譯器,需要使用系統(tǒng)已有的編譯器,5.2在當時只支持稍舊的Visual Studio2012編譯器,無法適用于已經存在的Visual Studio 2013,因此需要使用穩(wěn)定性差一下(使用過程中并未發(fā)現(xiàn)異常情況)但已經支持最新版Visual Studio 2013的Qt Creator 5.3RC版。它是一款跨平臺的集成開發(fā)環(huán)境,特別針對Qt開發(fā)者,是Qt SDK的組件,可運行于Windows、Linux/X11及OS X等

54、操作系統(tǒng)平臺,允許開發(fā)者為多桌面環(huán)境及移動設備平臺創(chuàng)建應用程序。同時Qt內建了對OpenGL的支持,能較好的支持用Qt為操作提供前端界面的目的。</p><p>  在處理心臟模型中用到了一系列圖像處理軟件,具體如下:</p><p><b>  Mimics</b></p><p>  Mimics是一種專門為處理醫(yī)學圖像而開發(fā)的商業(yè)軟件。用

55、Mimics處理三維醫(yī)學圖像斷層(來自CT、MRI、micro-CT、CBCT、3D超聲、共聚焦顯微鏡)并導出病人解剖學的高度精確的三維模型??梢岳^續(xù)用這些根據病人區(qū)分的模型進行不同的工程應用開發(fā)。在本課題中用其對原始工程文件進行處理,導出每個部位的獨立文件,然后選擇需要的部位在blender中進行連接。</p><p><b>  Blender</b></p><p&

56、gt;  Blender是一套三維繪圖和渲染軟件,支持幾乎所有的操作系統(tǒng)平臺,支持不同的幾何圖元,包括多邊形網紋、快速表層塑模、曲線及矢量字符,使用Python語言來創(chuàng)作及制作游戲及工作自動化腳本。在本課題中,將選擇的8個部位的圖形文件以此導入blender中,將其連接在一起,并導出obj文件,交給Geomagic Studio繼續(xù)處理。</p><p>  Geomagic Studio</p>

57、<p>  Geomagic Studio是將三維掃描數(shù)據轉換為高精度曲面、多邊形和通過CAD模型的整套工具組。其整合了強大的自動化工具,可以使使用者顯著縮短時間并降低人力成本。它提供了簡化模型功能,在本課題中主要利用它簡化模型的功能,因為原始模型文件過于復雜,不僅沒有必要而且會嚴重影響結果的實時性。</p><p><b>  MeshLab</b></p><

58、;p>  MeshLab是立體網格處理軟件,可管理和處理大量的非結構化網格,并提供編輯、清理、修復和查核等功能,可對模型進行渲染和格式轉換。在本課題中,使用MeshLab將已經使用Geomagic Studio簡化過的模型文件進行屬性編輯,如加上材質庫信息,并導出適當?shù)母袷健?lt;/p><p><b>  理論基礎</b></p><p>  課題主要涉及三個方面

59、的理論研究。</p><p><b>  1、碰撞檢測</b></p><p>  碰撞檢測是整個課題的基礎,顧名思義,就是檢測在虛擬環(huán)境中的兩個物體是否能發(fā)生碰撞和碰撞發(fā)生后的一系列變化,如變形和產生的反作用力[9]。這方面比較成熟的方法是使用軸對齊包圍盒(Axis Aligned Bounding Box,AABB)檢測算法。</p><p&g

60、t;<b>  2、力反饋算法</b></p><p>  力反饋算法主要有兩種方法,一種是用簡單但精度不高的彈簧-質點模型,另一種用有限元分析法。前者簡單實用,但精確度不高,后者運算復雜并且計算量極大,很難滿足實時性的要求[10]。由于本課題面對的實時性目的,同時Chai3D的力反饋算法也是使用彈簧-質點模型,本文主要討論彈簧-質點模型。</p><p><b

61、>  3、變形算法</b></p><p>  變形算法分為兩種情形,當虛擬對象可以變形時,且整體相對全局坐標系的位置不發(fā)生變化時,則變形量根據虛擬操縱終端的位移決定;當虛擬對象不可變形,且虛擬對象只有中心位置固定,而整體可以運動時,則在受到外力時,虛擬對象繞中心轉動,并不會發(fā)生表面的形變。</p><p><b>  論文構成</b></p&

62、gt;<p>  文章主要分下面幾部分。</p><p>  第二章方案設計,主要講述虛擬對象與虛擬操縱終端之間的碰撞檢測算法的研究和移植。</p><p>  第三章平臺搭建,介紹虛擬力反饋系統(tǒng)軟硬件的搭建詳細過程。</p><p>  第四章實驗步驟,介紹心臟模型處理和實現(xiàn)力反饋效果的過程。</p><p>  第五章結果,

63、總結本課題所得到的結果。</p><p><b>  方案設計</b></p><p><b>  實驗材料</b></p><p>  整個過程中使用的虛擬對象是由(安貞醫(yī)院)提供的心臟模型。該心臟模型是由CT圖像經過處理得到的,并且已經根據心臟各個部分性質在Mimics中根據閾值調整而分割開。整個過程中用到了幾種中間文

64、件格式。詳細如下:</p><p><b>  mcs</b></p><p>  Mimics的工程文件,心臟模型原始文件格式,通過這種格式將心臟的各部分分開,得到后續(xù)步驟中需要用的文件。</p><p>  圖 2.1心臟模型原始文件</p><p><b>  ASCII stl</b><

65、;/p><p>  計算機圖形系統(tǒng)中用于表示三角形網格的一種文件格式,它的格式非常簡單,應用廣泛,它是快速原型系統(tǒng)所應用的標準文件類型,是用三角網格來表現(xiàn)三維CAD模型。這里用其作為向目標文件類型的中間格式,因為Mimics無法直接導出為obj,而obj和3ds是Chai3D所支持的文件類型。</p><p><b>  3ds</b></p><p&

66、gt;  3D Studio R4網格文件格式,其包括以下信息,視圖中的背景(實心、漸變和位圖),場景中的霧、分層霧和距離線索,場景中的環(huán)境光級別,材質中相減的透明度轉換為“過濾器”透明度,而過濾器的顏色設置為“漫反射”,材質的透明度衰減設置,材質中所有貼圖通道,所有貼圖參數(shù),包括UV變換、負值、景象和螺旋,材質中的自動反射貼圖第N幀和“貼圖尺寸”設置,對目標材質和“噪波”進行SXP平移。這里使用3ds文件類型時三角面片數(shù)量不能大于65

67、536,這個限制導致圖像無法太精確。</p><p><b>  Obj</b></p><p>  Alias Wavefront公司為它的一套工作站的3D建模和動畫軟件Advanced Visualizer開發(fā)的一種標準3D模型文件,適合在不同的3D軟件模型之間作為中間文件互導。Obj文件是一種文本文件,可以直接用文本編輯器軟件查看和編輯修改。Obj文件格式支持直

68、線、多邊形、表面和 自由形態(tài)曲線,直接通和多邊形通過它們的點來描述,曲線和表面則根據它們的控制點和依附于曲線類型的額外信息來定義,這些信息支持規(guī)則和不規(guī)則的曲線,包括基于貝塞爾曲線、B樣條、基數(shù)和泰勒方程的曲線。它不包含動畫、材質特性、貼圖路徑、動力學、粒子等信息。因此,在Chai3D中使用obj文件需要對應的mtl文件來表明其材質。obj文件不包含面的顏色信息,不過可以引用材質庫,材質庫信息存儲在一個后綴是mtl的獨立文件中,obj文

69、件中的mtllib即材質庫的意思。材質庫中包含材質的漫射(diffuse)、環(huán)境(ambient)、光澤(specular)的RGB的定義值,以及反射(specularity)、折射(refraction)、透明度(transparency)等其他特征。</p><p><b>  碰撞檢測算法</b></p><p>  碰撞檢測自20世紀80年代開始受到人們的重視

70、,在計算幾何和機器人等領域得到了廣泛的研究和應用[12],形成了一些較為成熟的技術。</p><p>  簡單地講,碰撞檢測就是檢測虛擬場景中不同對象之間是否發(fā)生了碰撞。從幾何上講,碰撞檢測表現(xiàn)為兩個多面體的求交測試問題;按對象所處的空間可分為二維平面碰撞檢測和三維空間碰撞檢測。平面碰撞檢測相對簡單一些,已經有較為成熟的檢測算法,而三維空間碰撞檢測則要復雜很多[13-14],主要是如何解決碰撞檢測的實時性和精確性

71、的矛盾。在不同的應用場景中,對精確性和實時性的要求不同,就本課題而言,目標是應用在虛擬心臟手術的仿真系統(tǒng)中,因此對實時性的要求比較高,但同時由于是手術仿真,要求其精度也要達到相當高的要求。</p><p>  碰撞檢測算法主要有以下幾類:基于包圍盒的碰撞檢測算法,基于距離計算的碰撞檢測算法,基于維諾圖的碰撞檢測算法。其中,基于距離計算的碰撞檢測算法和基于維諾圖的碰撞檢測算法只能解決凸多邊形之間的碰撞檢測,對于本課

72、題中形狀較為復雜的心臟模型都不適用,因此采用包圍盒碰撞檢測算法。</p><p>  包圍盒法的基本思想是使用簡單的幾何體來代替復雜的幾何體,先對對象的包圍盒進行粗略的檢測,當包圍盒之間可以相交時,對象本身才有可能相交,當包圍盒之間不可相交,則對象本身也一定不相交。這樣就可以排除大量不可能相交的幾何體和幾何部位,從而更加快速的找到相交的對象。</p><p>  一個對象可以用不同的層次表

73、達的包圍盒來近似對象,結合層次表達法如二叉樹,可以把對象用近似包圍盒分層次的表達,使用一個大的包圍盒包圍住整個對象,再把對象分成兩部分,用兩個包圍盒包圍各自的部分,這樣細分下去,直到每個包圍盒只包含一個基本的幾何元素,形成一棵層次表達的包圍盒二叉樹。這樣在進行碰撞檢測時只需要根節(jié)點遍歷包圍盒二叉樹,那么這兩個對象不相交,否則繼續(xù)向下一級走,進行下一級的碰撞檢測,如果在某個節(jié)點兩個包圍盒不相交,則以該節(jié)點為根節(jié)點的子樹就不需要再檢測。當檢

74、測到葉節(jié)點時,如果葉節(jié)點包圍盒相交就要進行基本的幾何元素的相交檢測,否則這兩個基本幾何元素不相交。這樣通過由粗到細的檢測,只有粗檢相交的對象才進行下一級更細的檢測,可以提前篩選出不可能相交的對象,大大加快了碰撞檢測的時間。算法流程圖如下:</p><p>  圖 2.2碰撞檢測算法流程圖</p><p>  目前存在多種為計算機圖形學和計算機視覺的不同應用而開發(fā)的不同的包圍盒,例如方向包圍

75、盒(Oriented Bounding Box, OBB),離散方向多邊形(Discrete Orientation Polytope, k-DOPs),固定方向包圍盒(Fixed Directions Hulls,F(xiàn)DH),球包圍盒(Bounding Sphere)和軸對齊包圍盒(Axis Aligned Bounding Box, AABB)等[15。</p><p><b>  軸對齊包圍盒法&l

76、t;/b></p><p>  軸對齊包圍盒法簡單性好,但是緊密型差;當物體旋轉之后需要對包圍盒進行同樣的旋轉并更新;當物體變形之后只需要對變形了的基本幾何元素對應的包圍盒重新計算,然后可以自底向上由子節(jié)點的包圍盒合成父節(jié)點的包圍盒,最后進行包圍盒樹的更新。因此軸對齊包圍盒法尤其適合可變形對象的碰撞檢測。</p><p><b>  包圍球法</b></p

77、><p>  層次包圍球法簡單性好,無論幾何體相交檢測都很簡單;但是它的緊密型差;但是當物體旋轉之后,層次包圍盒不用更新;當物體變形之后,包圍球樹需要重新計算。因此包圍球法不適合可變形對象的碰撞檢測。</p><p><b>  方向包圍盒法</b></p><p>  方向包圍盒法是Gottschalk在1996年實現(xiàn)的RAPID系統(tǒng)中首先使用的

78、,當時該系統(tǒng)聲稱是最快的碰撞檢測系統(tǒng),曾一度作為評價碰撞檢測算法的標準。方向包圍盒的計算相對復雜,其關鍵是尋找最佳方向,并確定在該方向上包圍對象的包圍盒的最小尺寸。方向包圍盒間相交測試的代價比較大。但是它的緊密型是最好的,可以成倍的減少參與相交檢測包圍盒的樹木和基本幾何元素的數(shù)量,在大多數(shù)情況下其總體性能優(yōu)于軸對齊包圍盒和包圍球。此外,當幾何對象發(fā)生旋轉運動后,只要對方向包圍盒的基底進行同樣的旋轉即可。因此,對于剛體的碰撞檢測,方向包圍

79、盒是一種較好的選擇,但至今為止,還沒有找到一種更有效的方法來解決對象變形后方向包圍盒樹更新的問題,而重新計算每個節(jié)點的方向包圍盒的代價太大。因此,方向包圍盒法無法滿足可變形對象碰撞檢測中的實時性要求。</p><p><b>  固定方向包圍盒法</b></p><p>  固定方向凸包法優(yōu)于包圍盒的所有面的法向量均來自一個固定的方向向量集合,它的簡單性比較好;它的緊

80、密性也是比較好的;當物體旋轉之后,可以通過線性規(guī)劃的方法來進行優(yōu)化計算;當物體變形之后可以通過重新計算變形葉節(jié)點的包圍盒,然后嚴格按照自底向上的順序,由子節(jié)點的固定方向包圍盒合成父節(jié)點的固定方向包圍盒。</p><p>  總體比較結果如下表:</p><p>  表 2.1幾種包圍盒法比較</p><p>  綜上,AABB法最適合用于可變形對象,在本課題中是虛擬

81、心臟模型的場景</p><p>  一個對象的AABB被定義為包含該對象,且邊平行于局部坐標系的坐標軸的最小立方體。因此,描述一個AABB,僅需要六個標量。在構造AABB時,需沿著物體局部坐標系的軸向(X, Y, Z)來構造,所以所有的AABB具有一致的方向。</p><p>  AABB樹是基于AABB的二叉樹,按照從上到下的遞歸細分方向構造生成。在每一次遞歸過程中,要求取最小的AABB

82、,需沿所選的剖面分別將對象分為正負兩半,并將所對應的原始幾何元素分別歸屬正、負兩邊,整個遞歸過程類似于空間二叉剖分,只是每次剖分的對象是AABB,而不是空間區(qū)域。遞歸細分一致要進行到每一個葉子節(jié)點只包含一個原始幾何元素為止,所以具有n個原始幾何元素的AABB樹具有n-1個非葉子節(jié)點和n個葉子節(jié)點。對于剖分面的選擇,一般是選擇垂直于AABB的最長軸,且平分該軸的平面。經試驗證明,采用這種方式,大多數(shù)情況下算法的復雜度為O(1),較其他剖分

83、面選擇方法有了極大的提高。至于原始幾何元素的歸屬依據幾何元素的重心P在最長軸的投影坐標來確定。若投影坐標大于剖分面的坐標,則在剖分面的正向;否則在負向。</p><p>  圖 2.3樹狀層次包圍盒</p><p>  圖2.3展示了一個典型的軸對齊包圍盒。虛擬心臟的中心是局部坐標系的坐標原點,包圍盒是能包圍住虛擬心臟的最小的立方體,如果虛擬心臟的形狀比較復雜(如圖2.1),則會以樹狀分層

84、結構構造多個包圍盒。</p><p><b>  力反饋算法</b></p><p>  虛擬手術的仿真,就是通過對真實人體的組織結構和物理屬性來進行幾何建模和物理建模,來逼真的模擬組織器官在真實手術器械的外力交互作用下變形甚至被切割的過程,同時通過視覺/力學反饋的形式來提供逼真的手術現(xiàn)場臨場感。為了達到高度的真實感,虛擬手術仿真技術中面臨兩個關鍵的技術難點,高逼真和

85、精確的人體組織器官建模技術和高逼真度和實時的人體組織力覺(觸覺)反饋技術。</p><p>  力反饋是一種重要的觸覺通道,這種作用于體內的觸覺通道可以感知物體的重量以及物體對外力產生的反作用力。只有提供與世紀手術中相近的力反饋,虛擬手術的仿真才有現(xiàn)實意義。虛擬環(huán)境中的力的表示采用了機器人學和遙控學中描述的算法和模型來進行底層控制。虛擬手術系統(tǒng)中的力反饋必須要維持一個非常高的刷新頻率,否則使用者會感覺到力反饋設備

86、的震動而不是從虛擬對象傳出的反作用力,因此一般要求刷新頻率高于500Hz。實際Omega.7力反饋設備的性能(最高8kHz)要遠遠超出這個標準。</p><p>  力反饋算法主要有兩種模型可以選擇。</p><p><b>  有限元模型</b></p><p>  有限元分析是一種求解微分方程組或積分方程組數(shù)值解的數(shù)值技術,這一解法基于完全

87、消除微分方程,即將微分方程轉化為代數(shù)方程組,或將偏微分方程(組)改寫為常微分方程(組)的逼近,這樣可以用標準的數(shù)值技術進行求解。利用有限元方法可以得到精細的反作用力,但存在一個很嚴重的缺陷,就是針對目前的硬件系統(tǒng),尚遠遠達不到實時性的要求。因為有限元需要的數(shù)據量極大,并且在使用者操作系統(tǒng)的過程中,虛擬對象和虛擬操縱終端的位置及相互作用的關系在不斷變化,需要大量的實時運算。因此,在實際的力反饋研究中很少有使用有限元方法進行反作用計算的先例

88、。</p><p><b>  彈簧-質點模型</b></p><p>  彈簧-質點模型和有限元模型是兩種常用的形變模擬模型。彈簧-質點模型的原理簡單,計算也較為簡單,容易滿足實時性的要求,但是精度較差;而有限元模型模型復雜,精度較高。</p><p>  Chai3D系統(tǒng)中,computeForces()方法使用的即是彈簧-質點模型,利用胡

89、克定律進行計算。</p><p>  在這里有一個非常重要的概念——虛擬代理(Virtual Proxy),虛擬代理是假設虛擬操縱終端上連接的一個虛擬物體。自然狀態(tài)下虛擬代理的運動是貪婪的(greedy),只要沒有被阻擋,它會一直沿著力的方向運動。一旦它在虛擬環(huán)境中碰上了表面或者某個對象,它的就會被限制在表面上的位置,這種情況下真實對象的內陷深度會在局部達到最小。這是通過基于虛擬代理的位置和速度(也就是虛擬操縱終

90、端的位置和速度)來預測兩個物體可能發(fā)生碰撞的位置實現(xiàn)的,其中位置和速度是通過其運動軌跡上前一幀和簡單線性插值來獲得的。在當前幀的開始,連接在虛擬操縱終端上的物體被限制只能在一個基于預先設計的距離閾值,從而來使內陷的值最小化。</p><p>  首先設定虛擬對象和虛擬末端控制器在虛擬環(huán)境中的位置,初始位置二者沒有接觸,也不會產生作用力。</p><p>  當虛擬末端控制器位于包圍盒外部時

91、,則二者不可能發(fā)生碰撞,無需檢測。</p><p>  當虛擬末端控制器位于包圍盒內部以后,系統(tǒng)實時計算其與虛擬心臟邊緣的距離,當距離為0時,碰撞發(fā)生。</p><p>  隨著虛擬末端控制器繼續(xù)向內部移動,由于對虛擬對象材質設定的不同分兩種情況:</p><p>  對象邊界可以穿透,則虛擬末端控制器進入虛擬心臟,開始實時計算虛擬代理的位移 ,反作用力通

92、過公式(2.1)可以得到。</p><p>  對象邊界不可穿透,則虛擬操縱對象接觸虛擬心臟后后者開始形變,這里代入胡克定律可知變形越大,則作用力越大。</p><p>  圖 2.4力反饋算法流程圖</p><p><b>  變形算法</b></p><p>  軟組織形變的物理模型是計算機圖形學中非常重要的,但又是

93、很富有挑戰(zhàn)性的一個課題。目前多數(shù)虛擬手術仿真的課題研究的研究對象是剛性組織如骨骼,而針對內臟這類可變形組織的研究較少。軟組織的物理建模不僅要使用物體的幾何模型,還要利用其生物力學特性建立它的動力學模型,給幾何模型賦予在適當場景下的物理行為,達到視覺和觸覺上逼真的用戶體驗。</p><p>  與力反饋算法類似,軟組織的物理建模一般也分為有限元方法和彈簧-質點方法兩種。兩種方法都是希望將無限的問題簡化為有限的問題,

94、求解微積分方程,得到問題的近似解。離散化程度的高低,一方面影響仿真的真實程度,一方面影響計算量的大小。而計算量的大小又會對實時性產生極大的影響。</p><p>  彈簧質點模型以簡單易行,計算量小等優(yōu)點,被廣泛的應用于軟組織變形的實時仿真中。其核心思想是把要仿真的對象用質點離散化,質點之間用復合線性彈性模型(“胡克定律”)(也可以是非線性的,在很多情形下,可以近似看作線性)的彈簧連接而成,質點除了受到彈簧的彈力

95、作用外,同時還受到與速度成正比的阻尼力的約束。當一個質點在外力的作用下運動時,其產生的作用力會作用在其周圍的其他質點,帶動其他質點的運動,這樣可以看到,物體的變形是由質點的運動和傳遞而產生的。由牛頓力學定律,每個質點i的動力學方程為:</p><p><b> ?。?.1)</b></p><p><b>  其中</b></p>

96、<p><b> ?。?.2)</b></p><p>  是質點的質量,,分別是質點的速度和加速度,是粘性系數(shù), 是外力,是質點i和質點j之間的彈簧對質點i的應力,且</p><p><b> ?。?.3)</b></p><p>  其中,是彈簧兩端點的位置,是彈簧的彈性系數(shù),是彈簧的靜止長度。</p&

97、gt;<p><b>  平臺搭建</b></p><p><b>  硬件平臺</b></p><p><b>  硬件選擇</b></p><p>  由于心臟模型的精密度比較高,包含較多細節(jié),并且手術環(huán)境對實時性的要求較高,因此需要性能強勁的硬件設備才能很好的支持圖形的處理和保證實

98、時的運算。綜合考慮了性能和成本等因素后決定工作站的硬件配置如下:</p><p>  表 3.1 圖形工作站硬件配置</p><p><b>  安裝軟件環(huán)境</b></p><p>  根據紅京鳥力維(北京)科技有限公司工作人員的建議,同時考慮了我本人的使用習慣,采用Linux平臺作為開發(fā)和測試環(huán)境。但由于此平臺在實驗室其他人員中的普及度不高

99、,故同時使用了Windows平臺。在進行本課題時,微軟已經發(fā)布了Windows 8,但Chai3D 2.0的時代對Windows 8的支持度無法得知,故采用了相對老舊但兼容性更好的Windows 7 64位。</p><p><b>  Linux平臺</b></p><p>  Linux是自由軟件,它是一個開放源代碼的類UNIX操作系統(tǒng),在遵循GNU通用許可證的條

100、件下任何人都可以自由的使用Linux所有的底層源代碼,也可以自由的修改和再發(fā)布。Linux實際上是一個執(zhí)行內存管理、任務調度的內核,通常使用者使用的Linux全稱GNU/Linux,即包含Linux內核和由GNU項目開發(fā)的一套軟件系統(tǒng)。Arch Linux是Linux的一個發(fā)行版,它是一個相對非常自由的發(fā)行版,使用者可以根據需要定制系統(tǒng)的組件,并且由于該操作系統(tǒng)針對64位處理器做了優(yōu)化,因此性能較通常的其他發(fā)行版如Ubuntu等會有一定

101、程度的提升。</p><p>  按照Arch Linux官方Wiki安裝了操作系統(tǒng)之后,根據力反饋設備的安裝說明書,需要安裝以下組件:</p><p>  Quadro專業(yè)顯卡桌面驅動程序331.79(Linux 64位),提供了對最新OpenGL標準4.4的支持。</p><p>  libusb-1.0,它是一個開源的C程序庫,它使應用在不同的操作系統(tǒng)上可以很

102、容易的訪問USB設備。Libusb設計了一系列外部API為應用程序調用,通過這些API應用程序可以操作硬件,從libusb的源代碼可以看出這些API調用了內核的底層接口,和內核驅動中所用到的函數(shù)所實現(xiàn)的功能相似,但libusb更加接近USB規(guī)范,使得libusb的使用也比開發(fā)內核驅動相對容易得多。</p><p>  freeglut 2.8,GLUT最初是《OpenGL編程指南(第二版)》中的示例程序,自那以后

103、,GLUT簡單、跨平臺的特點使其在各種應用中得到廣泛使用。但GLUT并不是開源軟件,無法自由使用,且該項目目前已經停止開發(fā),同時由于其許可證的原因,禁止任何人發(fā)布對其修改后的版本。Freeglut是于1999年12月由開源社區(qū)發(fā)起的項目,目的是重新實現(xiàn)GLUT,并以一種更自由的許可條款發(fā)布出來供自由使用。目前freeglut具有GLUT的幾乎所有功能,并且有一些更靈活的擴展。</p><p>  Qt 5.2開發(fā)

104、套件。Qt當前的最新正式版本是5.2,包括SDK和集成開發(fā)環(huán)境Qt Creator。</p><p>  英偉達驅動程序從官方網站獲取,下載完成后添加可執(zhí)行權限,執(zhí)行安裝即可。其他軟件可以通過pacman –S libusb freeglut qtcreator來獲取。</p><p><b>  Windows平臺</b></p><p> 

105、 Windows平臺下安裝Quadro專業(yè)顯卡桌面驅動程序334.95WHQL,F(xiàn)orce Dimension提供了可以直接安裝的力反饋設備驅動程序,完成安裝即可。</p><p><b>  測試</b></p><p>  完成上述兩個平臺的安裝后,運行Force Dimension附帶的測試工具包進行測試,以檢測平臺安裝是否正常,一切正常后進入開發(fā)階段。<

106、/p><p><b>  設備初始化</b></p><p>  力反饋設備每次開機時需要校準(初始化),對于Omega.3而言,由于只有三個自由度的輸入/輸出,只需要將校準開關插入校準孔即可完成校準,這時校準指示燈長亮,對Omega.7而言,由于有7個自由度,校準時需要向每個可以運動的方向旋轉到盡頭,共6次,最后一次逆向前一次的旋轉方向,即可校準,這時校準指示燈長亮。&

107、lt;/p><p><b>  問題排除</b></p><p>  在Linux下遇到用戶權限導致的Chai3D程序無法正常運行的問題。</p><p>  正常情況下應該使用普通用戶(非root)用戶登錄系統(tǒng),進行所有操作,當需要root權限時使用sudo臨時切換到root用戶,但在調試系統(tǒng)時發(fā)現(xiàn)如果用普通用戶則系統(tǒng)提示“segmentatio

108、n fault”,而臨時切換到sudo用戶,則提示無法打開display:0。分析以后得到的結論是:普通用戶運行程序出現(xiàn)錯誤是因為沒有該文件的執(zhí)行權限,可能是由于程序調用了涉及需要高級權限的系統(tǒng)調用引起的。當使用sudo臨時切換時,由于當前用戶是普通用戶,display:0已經被普通用戶使用,因此無法再被root用戶使用,導致上述錯誤。Linux桌面環(huán)境下默認是不允許root使用者登錄桌面環(huán)境的,因此需要調整系統(tǒng)參數(shù)允許root用戶直接

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論