内窥镜微创手术模拟训练3d平台系统的实现方法

xiaoxiao2020-6-26  17

专利名称:内窥镜微创手术模拟训练3d平台系统的实现方法
技术领域
本发明涉及计算机仿真技术,特别涉及一种内窥镜微创手术模拟训练3D平台系统的实现方法。
背景技术
内窥镜微创手术模拟训练3D平台系统是内窥镜微创手术模拟训练的核心,文件管理、网络特性等等,3D平台系统的核心是3D引擎,3D引擎有开源和商业的,常见的开源3D 引擎有Unreal,Quake,Lithtech,OGRE, Irrlicht等,OGRE在开源的引擎中评价最高,一个原因是作为一个图形渲染引擎,它支持的图形特性最多,所以渲染质量也不错;另一个原因是设计模式的清晰;另外,速度也不错。商业3D引擎北京中视典VRP-BUILDER物理引擎,北京动态时空DynaVR-Net引擎,北京涂鸦Origo Engine弓丨擎等等,还有国外商业3D引擎如易用EON等。目前3D引擎存在的缺点和不足主要如下1、大多数引擎主要针对游戏开发,模拟的对象主要是刚体,而内窥镜微创手术模拟训练针对的对象是人体组织,大部分是软体。2、建模方法过于单一,一般只支持3Dmax等建模工具建的模型。3、没法模拟手术器械的各种动作,或者模拟的效果和实际差别太大。4、不能很好的模拟各种医学效果,如抓取、切割、缝合、打结、上钛夹、烟雾、流血寸。5、一般和微软的3D DirectX绑定,没法支持跨平台的开发和应用。6、对目前主流的3D控制终端支持不够,只能支持特定的3D控制终端。

发明内容
本发明的目的在于克服现有技术的缺点与不足,提供一种支持力反馈和虚拟触觉功能,使用方便,应用范围较广的内窥镜微创手术模拟训练3D平台系统的实现方法。本发明的目的通过下述技术方案实现一种内窥镜微创手术模拟训练3D平台系统的实现方法,包括下述步骤第一步构建3D平台系统基础组件库利用基础算法,如euler,euler_ordered, runge, runge_4thorder, quasi, quasi_ordered, bogus, FSA, FSAF、perlin noise 等构建 3D 平台系统基础组件库。第二步实现3D平台系统核心功能利用3D平台系统基础组件库构建3D平台系统核心算法,实现3D平台系统核心功能,如几何模型和物理模型的构建、图形渲染、碰撞检测、力反馈、与操作台的数据通信、和数据库的数据交换等。第三步构建医学模型描述语言在3D平台系统核心算法的基础上通过脚本方式定义模型的几何和物理属性,实现程序和数据分离,便于系统维护和管理。第四步调用医学模型,构建医学场景,模拟内窥镜微创手术各种动作和效果,包括抓取、切割、缝合、打结、上钛夹、烟雾、流血等。
具体说明如下第一步构建3D平台系统基础组件库利用基础算法,如euler,euler_ordered, runge, runge_4thor der, quasi, quasi_ordered, bogus, FSA, FSAF> perl in noise 等构建系统基础组件库。如用euler,euler_ordered, runge, runge_4thorder算法构建三维模型组件库,利用 quasi,quasi_ordered,bogus,FSA,FSAF 构建模型计算组件库,用 perlin noise 构建仿真贴图组件库。第二步利用3D平台系统基础组件库构建核心算法,实现3D平台系统核心功能, 如几何模型和物理模型是通过三维模型组件库来构建的;利用OPENGL和仿真贴图组件库构建图形渲染核心算法;利用三维模型组件库来构建包围盒和包围球等核心算法,然后实现碰撞检测功能;力计算组件库来实现力反馈功能;利用串口通信组件库实现操作台的数据通信功能;利用SQL组件库实现数据库的数据交换功能等。第三步医学模型描述语言是脚本语言,通过定义三维几何模型的物理属性如动作、光线、材质、弹性模量,来实现了三维几何模型的物理效果。第四步通过读取医学模型描述语言来调用建好的各种医学模型包括器官模型和器械模型,并赋予模型相应的物理属性,构建医学场景,通过调用相应的动作和效果,包括抓取、切割、缝合、打结、上钛夹、烟雾、流血等,实现各种互动操作。本发明相对于现有技术具有如下的优点及效果1、支持力反馈和虚拟触觉功能。力反馈和虚拟触觉实现的基本过程是虚拟现实软件系统输出的力反馈指令经接口电路输出,经过数/模(D/A)转换器将反馈力数字量转换为模拟量,并控制受控恒流源驱动伺服电机执行力反馈,伺服电机输出反馈力经钢丝传动, 由操作杆向操作者输出反馈力。2、支持自主研发的3D终端设备(操作台),也支持目前主流的3D终端设备(操作台),可以支持任意自由度(DOF),操作杆支持换操作头,也可以换整个操作杆,支持齿轮驱动,也支持钢丝驱动。3、3D平台模拟对象同时支持刚体和软体,对于刚体方面,能够精确的模拟手术器械的各种动作,如抓取、切割、缝合、打结、上钛夹,对于软组织方面,能够模拟各种医学效果,如流血、烟雾、形变等,采用各种高效和精确算法使模拟效果更加精确、逼真。4、支持多种建模方法,除了 3DmaX等建模工具外,还支持采用ITK、VTK,MIMCS等工具,数据来源可以3Dmax的模型,也可以是CT、MRI、数字人等,应用范围广、使用方便。5、同时支持微软的3D DirectX和开源OpenGL等3D接口标准,支持跨平台的开发和应用,如可以应用在Windows、Linux等操作系统中。6、引入了医学模型描述语言,实现程序和数据分离,便于系统维护和管理。7、充分利用了 GPU计算能力,将运算量大的计算放入到GPU中,运行速度更快。8、支持网络训练,能够通过局域网或互联网进行远程训练。


图1是3D平台系统流程图。图2是3D平台系统总体框架图。
具体实施例方式下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。实施例1内窥镜微创手术模拟训练3D平台系统的实现方法包括如下内容第一步构建系统基础组件库用 euler, euler_ordered, runge, runge_4thorder 算法构建三维模型组件库,利用quasi,quasi_ordered, bogus, FSA, FSAF构建模型计算组件库,用perlin noise构建仿真贴图组件库。本实施例中用euler, euler_ordered算法构建了点、线、面组件库,用quasi, qUaSi_0rdered算法构建了模型(如软体、刚体等)在不同行为下采用的计算方法。用perlin noise方法构建仿真贴图库,其方法是先固定一部分点的颜色,平滑这些固定点中间的颜色,生成几个不同频率的平滑噪音,然后相加,为了保证生成噪音的频率,一般是通过改变固定点的数量,固定点多的,噪音自然相对比较杂乱,噪音的频率比较高.固定点少的,噪音的频率就比较低。第二步利用系统基础组件库构建核心算法,实现3D平台核心功能,在本实施例中几何模型和物理模型通过三维模型组件库来构建的;利用OpenGL和仿真贴图组件库构建图形渲染核心算法;利用三维模型组件库来构建包围盒和包围球等核心算法,然后实现碰撞检测功能;力计算组件库来实现力反馈功能;利用串口通信组件库实现操作台的数据通信功能;利用SQL组件库实现数据库的数据交换功能等。本实施例几何模型由点、线、面构成等,主要通过点、线、面和点、线、面组组件库来实现,物理模型主要通过构建相应的物理模型组件库如质点弹簧(Mass-Spring)模型、有限元模型(FEM)来实现。本实施例中图形图像渲染基于OpenGL渲染模式来实现,实现过程为1)、使用几何图元建立模型,从而得到3D模型的数学描述;2)、在3D空间排列对象,选择观察场景的有利位置;3)、计算所有3D模型的颜色。颜色由应用程序指定、根据光照条件确定、将问题粘贴到3D模型上得到,也可以综合上述多种操作获得;4)、将3D模型的数学描述和相关的颜色信息转换为屏幕像素,实现光栅化;同时构建3D仿真贴图组件,以增强OpenGL的3D渲染能力和效果。本实施例中碰撞检测采用AABB包围盒(Axis Aligned Bounding Box)和包围盒 (Oriented Bounding Box)相结合的算法,主要通过点、线、面组件库构建二叉树算法来实现。本实施例中的数据通信主要通过RS232串口全双工通信,采用Proxy设计模式来实现,先定义好上位机和下位机之间的数据通信协议,设置好通信的串口号、波特率、奇偶校验位等,通过实时或者非实时的数据传送和接受,并按照数据通信协议对5个自由度 (DOF)以上的数据进行封装和解析,实现操作的互动。本实施例中利用SQL组件库实现数据库的数据交换功能,主要包括数据连接的创建、数据操作(查询、插入、删除、更新等),将各种操作数据写入数据库,同时从数据库读取需要的数据并显示。第三步医学模型描述语言是脚本语言,本实施例中模型描述语言通过脚本方式定义模型的几何和物理属性,脚本文件中定义了缩放比例、旋转角度、光线、动作、碰撞检测等,这些可以根据具体虚拟训练场景的要求来定制,程序可以根据脚本中定义属性来实现虚拟训练场景中的器官、器械的属性和动作等,修改脚本文件内容不需要修改程序,这样实现程序和数据分离。第四步通过读取医学模型描述语言来调用建好的各种医学模型包括器官模型和器械模型,并赋予模型相应的物理属性,构建医学场景,通过调用相应的动作和效果,包括图形图像渲染,软组织模拟、变形计算和力反馈、抓取、切割、缝合、打结、上钛夹、烟雾、流血等,实现各种互动操作。本实施例中软组织模拟主要通过Mass-Spring,即质点弹簧来实现的,质点弹簧 (Mass-Spring)模型遵循虎克定理,模型中节点的应变和应力呈线性关系,但这个模型有其局限性,一般只适用于位移较小的情况下。本实施例中变形计算基于物理模型结果,通过物理模型所定义的物理属性可以计算出几何模型在外力作用下的形变和应力,模型在外力作用下的变形计算是手术虚拟系统实时化的一个瓶颈。力反馈和变形计算是密切关联的,人体软组织在器械外力作用下发生形变,接触方式包括三种点接触、线接触、面接触。力反馈实现的基本过程是虚拟现实软件系统输出的力反馈指令经接口电路输出,经过数/模(D/A)转换器将反馈力数字量转换为模拟量,并控制受控恒流源驱动伺服电机执行力反馈,伺服电机输出反馈力经钢丝传动,由操作杆向操作者输出反馈力。相应对于反馈力的计算分为基于点的力生成算法、基于线的力生成算法、基于几何体的力生成算法。基于点的力生成算法有向量场算法、God-Object算法和Proxy算法等。基于线的力生成算法通过使用射线状线段(带有方向的线段)模型来计算,这种模型可以使得操作者能够同时与虚拟物体的多个方向和面相互作用,并且能够获得力矩作用的再现。基于几何体的力生成算法有3D模型和机械部件之间的力生成算法、复杂多面体虚拟环境和avatar模型的相互作用模型等。本实施例中力反馈和形变计算实现从主要针对两种情况。1)对于开环仿真而言, 用于计算变形的模型和计算接触力的模型之间相互独立。2)对于闭环仿真而言,变形和接触力计算相互关联。变形计算和虚拟力计算模型一般采用相同的基于物理意义的模型,仿真模型包括弹簧质点模型、有限元模型等。本实施例中人体软组织切割实现过程是,在发生切割时,人体软组织的几何模型的拓扑结构发生变化,几何模型与器械碰撞的地方发生分裂,由于器械和组织的碰撞,作用在组织上的应力发生相应的变化,产生形变。切割中的形变主要计算应力,包括各节点运行的位移、速度和加速度等,对于切割过程中发生形变的保持,通过引入畸变因子和刚度矩阵实现。本实施例中人体软组织缝合实现通过欧拉算法来进行应力和力矩计算,应力计算包括重力、节点连接之间的tretch/compress力、节点连接之间的bend和twist力, dissipative friction力、以及contact力。力矩计算主要为stretch禾Π friction力,碰撞检测采用 AABB 包围盒(Axis AlignedBounding Box)和 OBB 包围盒(Oriented Bounding Box)相结合的算法。
本实施例打结方式采用单结、方结、三重结或多重结,具体如下1)单结(half hitch)是外科结扣的基本组成部分,易松脱、解开,仅用于暂时阻断,如胆囊逆行切除暂时阻断胆囊管,而永久结扎时不能单独使用单结。2)方结(square knot)因其结扎后较为牢固而成为外科手术中最常使用的结扣。 它由两个相反方向的单结扣重叠而成,适用于较少的组织或较小的血管以及各种缝合的结扎。3)三重结或多重结(extra half hitch on reef knot)在完成方结之后再重复一个或多个单结,使结扣更加牢固。适用于直径较重要的血管、张力较大的组织间缝合后的结扎。使用肠线或化学合成线等易于松脱的线打结时,通常需要作多重结。本实施例中抓取实现方式是通过将模拟抓取器械上的一个点与医学器官模型上的点绑定来实现的。本实施例中的烟雾实现主要通过粒子来模拟,烟雾的稀薄主要通过控制粒子的数量来实现,烟雾的形态通过粒子的物理属性如重力等来控制。本实例中流血效果主要通过粒子效果来实现,包括两种情况,一是血往下流的情况,二是血喷射的情况。实施例2内窥镜微创手术模拟训练3D平台系统的实现方法包括如下内容第一步构建系统基础组件库本实施例中用runge,runge_4th0rder算法构建了点、线、面组件库,用bogus,FSA,FSAF算法构建了模型(如软组织、刚体等)在不同行为下采用的计算方法。第二步利用系统基础组件库构建核心算法,实现3D平台核心功能,本实施例中碰撞检测采用AABB包围盒(Axis Aligned Bounding Box)算法,主要通过点、线、面组件库构建二叉树算法来实现。第三步医学模型描述语言是脚本语言,本步骤同实施例1。第四步通过读取医学模型描述语言来调用建好的各种医学模型包括器官模型和器械模型,并赋予模型相应的物理属性,构建医学场景,通过调用相应的动作和效果,包括中图形图像渲染、软组织模拟、变形和力反馈、切害I]、缝合、打结、抓取、烟雾、流血等,实现各种互动操作。本实施例中软组织模拟主要通过FEM(Finite Element Method,有限元法)、 M-Rep (Medial Representation,中心线描述法)、粘弹性模型实现的,物理模型主要控制软组织在外部作用(如手术器械)下的交互性能,人体组织极其复杂,一般由几个层次组成,通过对组织生理性质的分析可以得到物理模型的外在表现和内在参数,复杂情况下只能使用一些非线性的模型即FEM(Finite Element Method),即有限元法、FFD (Free FormDeformation) ,M-Rep (Medial Representation),即中心线描述法等来实现。FEM 法提供了一种高精度的软组织建模的方案,但在形变过程中需要进行大量的计算,因此很难达到形变的实时性要求;M-Rep法采用了中心原子(Medial Atom)承载大量几何信息的表示方法来实现软组织可变形的建模,但对于形变易出现大的偏差;FFD法需要大量的人机交换,计算量比较大,一般较少使用。同时许多人体组织有弹性又有粘性,系统采用新的粘弹性模型(visco-elastic physical model)来描述其物理特性。但是过度复杂的物理模型会造成实际计算的困难,物理模型的选择必须在真实性和处理的实时性上进行平衡。本实施例中力反馈和形变计算实现从主要针对两种情况。1)对于有限元模型而言,FEM方法把整个物体所在的空间离散化为一个个小单元,每个小单元都有一些节点。然后通过把动力学方程离散到每个小单元,求出这些节点的位移,再运用预先选定的插值函数来计算单元内每一点的位移及其他所关心的问题,如应力、应变和内力。计算精确但计算量大,无法直接用于实时的力变形计算。2)对于质点-弹簧模型而言,物体被模拟成一个由大量质点和弹簧组成的系统,对系统中所有的质点根据牛顿一定理建立动力学方程。原理简单、计算量小,实时性好。存在力的到达深度不受限制、网格的拓扑结构制约系统的行为问题。本实施例中软组织缝合采用位置更新FTL(Follow the Leader)算法,包含碰撞穿入contact constraint和应力计算等,这里只需要考虑碰撞受力,碰撞模型采用AABB包围盒(Axis Aligned Bounding Box),能够检测自碰撞情况。本实施例打结方式采用外科结、假结、滑结,具体如下1)外科结(surgeon knot)在作第一个结时结扎线穿绕两次以增加线间的接触面积与摩擦力,再作第二结时不易松动或滑脱,因打此种结扣比较费时而仅适用于结扎大血管。2)假结(false knot)由同一方向的两个单结组成,结扎后易于滑脱而不应采用。3)滑结(slip knot)尽管其结扣的构成类似于方结,但是,由于操作者在打结拉线时双手用力不均,一紧一松甚或只拉紧一侧线头而用另外一侧线头打结,所以完成的结扣并非方结而是极易松脱的滑结,术中尤其要注意避免。内窥镜微创手术模型训练中的打结一般是通过操作器械来实现的,打结的实现比较复杂,一般以真实腹腔环境作为背景,在场景中模拟一根已穿过组织的带针的缝合线,分别使用左手、右手、双手和其它方法进行打结,第一结要求打外科结,可以实现连续缝线和间隔缝线。本实施例中抓取实现方式是通过将模拟抓取器械上的一个点与医学器官模型上的点绑定来实现的。本实例中烟雾和流血效果通过模拟流体运动来实现,根据流体力学原理,血液是不可压缩流体,烟雾则不是,假设流体的黏度为零,此时流体即为非粘性流体,烟雾可视为非粘性流体。对于三维流体,根据质量守恒定律,在任意封闭曲面(例如球体)中,由曲面进入封闭曲面内的质量速率,需和由曲面离开封闭曲面内的质量速率相等,主要通过建立欧拉方程来实现。实施例3内窥镜微创手术模拟训练3D平台系统的实现方法包括如下内容第一步构建系统基础组件库本实施例中用euler, euler_ordered, runge, runge_4thorder算法构建了点、线、面组件库,用quasi,quasi_ordered, bogus, FSA, FSAF算法构建了模型(如软组织、 刚体等)在不同行为下采用的计算方法。用perlin noise方法构建仿真贴图库,其方法是先固定一部分点的颜色,平滑这些固定点中间的颜色,生成几个不同频率的平滑噪音,然后相加,为了保证生成噪音的频率,一般是通过改变固定点的数量,固定点多的,噪音自然相对比较杂乱,噪音的频率比较高.固定点少的,噪音的频率就比较低。第二步利用系统基础组件库构建核心算法,实现3D平台核心功能,、本实施例几何模型由点、线、面构成等,主要通过点、线、面和点、线、面组组件库来实现,物理模型主要通过构建相应的物理模型组件库如质点弹簧(Mass-Spring)模型、有限元模型(FEM)来实现。本实施例中图形图像渲染基于OpenGL渲染模式来实现,实现过程为1)、使用几何图元建立模型,从而得到3D模型的数学描述;2)、在3D空间排列对象,选择观察场景的有利位置;3)、计算所有3D模型的颜色。颜色由应用程序指定、根据光照条件确定、将问题粘贴到3D模型上得到,也可以综合上述多种操作获得;4)、将3D模型的数学描述和相关的颜色信息转换为屏幕像素,实现光栅化。同时构建3D仿真贴图组件,以增强OpenGL的3D渲染能力和效果。本实施例中碰撞检测采用OBB包围盒((Oriented Bounding Box))算法,主要通过点、线、面组件库构建二叉树算法来实现。本实施例中的数据通信主要通过RS232串口全双工通信,采用Proxy设计模式来实现,先定义好上位机和下位机之间的数据通信协议,设置好通信的串口号、波特率、奇偶校验位等,通过实时或者非实时的数据传送和接受,并按照数据通信协议对5个自由度 (DOF)以上的数据进行封装和解析,实现操作的互动。本实施例中利用SQL组件库实现数据库的数据交换功能,主要包括数据连接的创建、数据操作(查询、插入、删除、更新等),将各种操作数据写入数据库,同时从数据库读取需要的数据并显示。第三步医学模型描述语言是脚本语言,本步骤同实例1。第四步通过读取医学模型描述语言来调用建好的各种医学模型包括器官模型和器械模型,并赋予模型相应的物理属性,构建医学场景,通过调用相应的动作和效果,包括图形图像渲染,软组织模拟、变形计算和力反馈、抓取、切害I]、缝合、打结、烟雾、流血等,实现各种互动操作。本实施例中力反馈和形变计算实现从主要针对两种情况。1)对于开环仿真而言, 用于计算变形的模型和计算接触力的模型之间相互独立。2)对于闭环仿真而言,变形和接触力计算相互关联。变形计算和虚拟力计算模型一般采用相同的基于物理意义的模型,仿真模型包括弹簧质点模型、有限元模型等。本实施例中软组织切割实现过程是,在发生切割时,人体组织的几何模型的拓扑结构发生变化,几何模型与器械碰撞的地方发生分裂,由于器械和组织的碰撞,作用在组织上的应力发生相应的变化,产生形变。切割中的形变主要计算应力,包括各节点运行的位移、速度和加速度等,对于切割过程中发生形变的保持,通过引入畸变因子和刚度矩阵实现。本实施例中软组织缝合实现通过欧拉算法来进行应力和力矩计算,应力计算包括重力、节点连接之间的stretch/compress力、节点连接之间的bend和twist力, dissipative friction力、以及contact力。力失巨计算主要为stretch禾口 friction力,碰撞检测采用 AABB 包围盒(Axis Aligned BoundingBox)和包围盒(Oriented Bounding Box) 相结合的算法。
本实施例打结方式采用单结、方结、三重结或多重结、外科结、假结、滑结,具体如下1)单结(half hitch)是外科结扣的基本组成部分,易松脱、解开,仅用于暂时阻断,如胆囊逆行切除暂时阻断胆囊管,而永久结扎时不能单独使用单结。2)方结(square knot)因其结扎后较为牢固而成为外科手术中最常使用的结扣。 它由两个相反方向的单结扣重叠而成,适用于较少的组织或较小的血管以及各种缝合的结扎。3)三重结或多重结(extra half hitch on reef knot)在完成方结之后再重复一个或多个单结,使结扣更加牢固。适用于直径较重要的血管、张力较大的组织间缝合后的结扎。使用肠线或化学合成线等易于松脱的线打结时,通常需要作多重结。4)外科结(surgeon knot)在作第一个结时结扎线穿绕两次以增加线间的接触面积与摩擦力,再作第二结时不易松动或滑脱,因打此种结扣比较费时而仅适用于结扎大血管。5)假结(false knot)由同一方向的两个单结组成,结扎后易于滑脱而不应采用。6)滑结(slip knot)尽管其结扣的构成类似于方结,但是,由于操作者在打结拉线时双手用力不均,一紧一松甚或只拉紧一侧线头而用另外一侧线头打结,所以完成的结扣并非方结而是极易松脱的滑结,术中尤其要注意避免。本实施例中抓取实现方式是通过将模拟抓取器械上的一个点与医学器官模型上的点绑定来实现的。本实施例中的烟雾实现主要通过粒子来模拟,烟雾的稀薄主要通过控制粒子的数量来实现,烟雾的形态通过粒子的物理属性如重力等来控制。本实例中流血效果主要通过粒子效果来实现,包括两种情况,一是血往下流的情况,二是血喷射的情况。上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化, 均应为等效的置换方式,都包含在本发明的保护范围之内。
权利要求
1.一种内窥镜微创手术模拟训练3D平台系统的实现方法,其特征在于,包括下述步骤第一步构建3D平台系统基础组件库利用基础算法构建3D平台系统基础组件库;第二步实现3D平台系统核心功能利用3D平台系统基础组件库构建3D平台系统核心算法,实现几何模型和物理模型的构建、图形渲染、碰撞检测、力反馈、与操作台的数据通信、和数据库的数据交换;第三步构建医学模型描述语言在3D平台系统核心算法的基础上通过脚本方式定义模型的几何和物理属性,实现程序和数据分离,便于系统维护和管理;第四步调用医学模型,构建医学场景,模拟内窥镜微创手术各种动作,包括抓取、切割、缝合、打结、上钛夹、烟雾、流血等。
2.根据权利要求1所述的内窥镜微创手术模拟训练3D平台系统的实现方法,其特征在于,包括下述步骤第一步构建3D平台系统基础组件库利用基础算法,euler, euler_ordered, runge, runge_4thor der, quasi, quasi_ordered, bogus, FSA, FSAF> perl in noise 构建系统基石出组件库;第二步利用3D平台系统基础组件库构建核心算法,实现3D平台系统核心功能,具体为几何模型和物理模型是通过三维模型组件库来构建的;利用OpenGL和仿真贴图组件库构建图形渲染核心算法;利用三维模型组件库来构建包围盒和包围球等核心算法,然后实现碰撞检测功能;力计算组件库来实现力反馈功能;利用串口通信组件库实现操作台的数据通信功能;利用SQL组件库实现数据库的数据交换功能;第三步医学模型描述语言是脚本语言,通过定义三维几何模型的物理属性,来实现了三维几何模型的物理效果;第四步通过读取医学模型描述语言来调用建好的各种医学模型包括器官模型和器械模型,并赋予模型相应的物理属性,构建医学场景,通过调用相应的动作和效果,包括抓取、 切割、缝合、打结、上钛夹、烟雾、流血等,实现各种互动操作。
3.根据权利要求2所述的内窥镜微创手术模拟训练3D平台系统的实现方法,其特征在于,第一步中,用euler, euler_ordered, runge, runge_4thorder算法构建三维模型组件库,利用 quasi, quasi_ordered, bogus, FSA, FSAF 构建模型计算组件库,用 perlin noise 构建仿真贴图组件库。
4.根据权利要求2所述的内窥镜微创手术模拟训练3D平台系统的实现方法,其特征在于,第二步中,利用OpenGL和仿真贴图组件库构建图形渲染核心算法具体为1)、使用几何图元建立模型,从而得到3D模型的数学描述;2)、在3D空间排列对象,选择观察场景的有利位置;3)、计算所有3D模型的颜色;颜色由应用程序指定、根据光照条件确定、将问题粘贴到3D模型上得到,也可以综合上述多种操作获得;4)、将3D模型的数学描述和相关的颜色信息转换为屏幕像素,实现光栅化;同时构建3D仿真贴图组件,以增强OpenGL的3D渲染能力和效果。
5.根据权利要求2所述的内窥镜微创手术模拟训练3D平台系统的实现方法,其特征在于,第二步中,力计算组件库来实现力反馈功能具体为虚拟现实软件系统输出的力反馈指令经接口电路输出,经过数/模转换器将反馈力数字量转换为模拟量,并控制受控恒流源驱动伺服电机执行力反馈,伺服电机输出反馈力经钢丝传动,由操作杆向操作者输出反馈力。
6.根据权利要求2所述的内窥镜微创手术模拟训练3D平台系统的实现方法,其特征在于,第二步中,利用串口通信组件库实现操作台的数据通信功能,具体为数据通信通过 RS232串口全双工通信,采用Proxy设计模式来实现,先定义好上位机和下位机之间的数据通信协议,设置好通信的串口号、波特率、奇偶校验位,通过实时或者非实时的数据传送和接受,并按照数据通信协议对5个以上自由度的数据进行封装和解析,实现操作的互动。
7.根据权利要求2所述的内窥镜微创手术模拟训练3D平台系统的实现方法,其特征在于,第二步中,利用SQL组件库实现数据库的数据交换功能,包括数据连接的创建、数据操作,将各种操作数据写入数据库,同时从数据库读取需要的数据并显示。
8.根据权利要求2所述的内窥镜微创手术模拟训练3D平台系统的实现方法,其特征在于,第四步中,所述抓取、切割、缝合、打结、上钛夹、烟雾、流血具体实现过程如下切割通过删除器械与几何模型碰撞点附近的点、线、面来实现,切割应力计算包括各节点运行的位移、速度和加速度等,切割形变保持通过畸变因子和刚度矩阵来实现;缝合通过欧拉算法来进行应力和力矩计算,应力计算包括重力、节点连接之间的 stretch/compress 力、节点连接之间的 bend 禾口 twist 力,dissipativefriction 力、以及 contact力;力矩计算主要为stretch和friction力,碰撞检测采用AABB包围盒算法;打结的线使用刚性针模型、FTL变形、AABB包围盒碰撞检测算法处理线的自碰撞和线与其它刚体的碰撞,通过设置临时接触约束实现等效摩擦力,通过碰撞簇的识别检测结的形成并在FTL算法中将结作为一个整体处理,确保结形成后可以在空间自由运动,反馈力根据线的张力和约束条件计算;抓取通过器械开口上的点绑定器官上的点、线、面来实现的;烟雾是根据流体力学原理或粒子效果来实现,烟雾的稀薄通过控制粒子的数量来实现,烟雾的形态通过粒子的物理属性来控制;流血通过模拟流体运动或粒子效果来实现,流血的粘稠通过控制粒子的数量来实现, 流血的形态通过粒子的物理属性来控制。
全文摘要
本发明提供一种内窥镜微创手术模拟训练3D平台系统的实现方法,包括下述步骤第一步构建3D平台系统基础组件库利用基础算法构建3D平台系统基础组件库;第二步实现3D平台系统核心功能利用3D平台系统基础组件库构建3D平台系统核心算法,实现几何模型和物理模型的构建、图形渲染、碰撞检测、力反馈、与操作台的数据通信、和数据库的数据交换;第三步构建医学模型描述语言在3D平台系统核心算法的基础上通过脚本方式定义模型的几何和物理属性,实现程序和数据分离,便于系统维护和管理;第四步调用医学模型,构建医学场景,模拟内窥镜微创手术各种动作,包括抓取、切割、缝合、打结、上钛夹、烟雾、流血。本发明支持力反馈和虚拟触觉功能,支持多种建模方法。
文档编号G09B23/28GK102254475SQ20111020000
公开日2011年11月23日 申请日期2011年7月18日 优先权日2011年7月18日
发明者曾向阳, 瞿友安, 罗益民, 蔣正锋, 黄建新 申请人:广州赛宝联睿信息科技有限公司

最新回复(0)