面向虚拟现实牙科操作训练的多点接触力觉反馈系统的制作方法

文档序号:6433534阅读:230来源:国知局
专利名称:面向虚拟现实牙科操作训练的多点接触力觉反馈系统的制作方法
技术领域
本发明涉及一种适用于虚拟现实牙科操作训练系统,更特别地说,是指一种基于力觉合成技术的碰撞检测阶段中的多点接触力觉反馈系统。
背景技术
在2009年第39卷第I期的《中国科学》杂志中公开了“面向牙科手术培训的力觉合成技术”一文。在此文的图4中介绍了力觉合成技术的计算结构框架。在接触状态确定过程中,要求研究具有高更新率的碰撞检测算法,能够检测用户的随机动作输入下,虚拟环境内的虚拟化身和被操作物体的细节碰撞信息。力觉合成计算结构框架中的接触状态确定可以分解为两个阶段碰撞检测和碰撞 响应。碰撞检测的内容是判断虚拟化身和被操作物体是否发生碰撞;碰撞响应的内容是计算嵌入深度和方向、接触点准确位置、接触点局部法线方向信息等。由干被操作物体(例如虚拟牙齿)表面大多是具有凹形区域形状复杂的曲面,而且手术工具的形状各不相同,工具的运动轨迹是空间任意轨迹,因此接触状态确定算法必须解决复杂在线计算量和高的更新频率之间的矛盾。参见图I所示,在虚拟现实牙科操作训练中的虚拟场景10中,手术工具的虚拟化身记为图形工具100,被操作物体的虚拟化身记为虚拟牙列20。虚拟牙列20是由多颗牙齿和牙龈组成。但是,三自由度力觉渲染算法是一种基于点与物体交互的算法,无法模拟这样一种物体与物体,多接触区域交互的场景。换句话说,当力觉工具200与虚拟牙列20中的其它物体发生碰撞并且嵌入(穿透效应)时,而图形工具100显示给训练者的应该是停留在物体表面,而不允许出现任何的嵌套量。此外,目前的三自由度力觉渲染算法不能正确反映力觉工具200的不同运动轨迹对于交互力和力矩计算结果的影响。

发明内容
为了解决虚拟现实牙科操作训练中图形工具100与虚拟牙列20出现视觉穿透现象,以及交互力不真实的缺陷,本发明提出一种多点接触力觉反馈系统,该系统能够准确求解连续碰撞检测时图形工具100与虚拟牙列20表面的接触位置和姿态。该力觉反馈系统通过模拟刚体与刚体之间交互时所产生的力与力矩,采用具有层次关系的球体来表示一个物体,即球状树。这样一种表示方法既能实现快速的进行碰撞检测,同时也方便了单边不可穿越约束(non-penetrated constraints)的建立。本发明是一种面向虚拟现实牙科操作训练的多点接触力觉反馈系统,该多点接触力觉反馈系统包括有力反馈设备状态读取模块(I)、球状树碰撞检测模块(2)、多点接触碰撞响应模块(3)、力/力矩计算模块(4)、工具模型(41)、多层次牙齿模型(42)、图形显示设备(43)和力反馈设备(44);力反馈设备状态读取模块(I)读取力反馈设备(44)的手柄运动轨迹并转化为力觉工具末端位姿输出给工具模型(41)和力/力矩计算模块(4);
球状树碰撞检测模块(2)采用层次化的递归碰撞检测策略对工具模型(41)输出的动态力觉工具球树和多层次牙齿模型(42)输出的静态牙列球树进行碰撞剔除处理,获得叶节点的所有相交球体对;多点接触碰撞响应模块(3)采用碰撞响应优化模型对叶节点的所有相交球体对进行处理,得到图形工具的末端位姿;力/力矩计算模块(4)依据广义弹簧力模型对图形工具末端位姿进行处理得到反馈力/力矩,并将反馈力/力矩输出至力反馈设备(44)。本发明多点接触六自由度力觉反馈系统的优点在于①本发明在力觉工具和牙列的建模中采用基于球状树的几何建模方法,既可以准确地逼近任意复杂形状的物体,又提供了简易的建立单边不可穿越约束方程的方法。
②本发明在球状树碰撞检测模块以基于球状树的层次化的碰撞检测策略进行嵌套判断,满足了力觉仿真IkHz的计算频率,保证了仿真的真实感和稳定性。③本发明在多点接触碰撞响应模块采用基于图形工具位姿变量的优化模型,能够准确求解多点接触状态下图形工具的位姿,消除了传统方法带来的视觉嵌套误差问题。


图I是虚拟现实牙科操作训练中虚拟场景示意图。图IA是虚拟场景中单个牙齿与多工具配置的示意图。图2是本发明多点接触力觉反馈系统的结构框图。图3A是力觉工具的球树分解示意图。图3B是牙列的球树分解示意图。图4是本发明多点接触碰撞响应模块中坐标转换关系图。图4A是图形工具球树与牙列球树在同一层球状树下的碰撞检测简示图。
具体实施例方式下面将结合附图对本发明做进一步的详细说明。参见图I所示,一个虚拟现实牙科操作训练系统的虚拟场景10中至少包含有虚拟牙列20和图形工具100。其中虚拟牙列20包括虚拟的3D牙齿模型30和虚拟的3D牙龈模型40 (参见图IA所示)。参见图4所示,在坐标转换中,将虚拟牙列20球状树中的任意一个球的球心记为,半径记为r。。参见图IA所示;在碰撞检测阶段中,操作者以单颗3D牙齿模型30进行防碰撞处理与整个口腔进行牙科操作训练是相同的手段。发明人将手术工具虚拟成图形工具100,将力反馈设备虚拟成力觉工具200。在图中,虚拟场景10的坐标记为OwXwYwZw,图形工具100质心点的坐标记为OgXgYgZg,力觉工具200质心点的坐标记为0hXhYhZh。参见图4所示,在坐标转换中,将图形工具100看着一个长方体,在长方体的某一顶点记为球树的任意一个球,该球心记为Cf,半径记为rg。参见图2所示,本发明是一种面向虚拟现实牙科操作训练的多点接触力觉反馈系统,该多点接触力觉反馈系统包括有力反馈设备状态读取模块I、球状树碰撞检测模块2、多点接触碰撞响应模块3、力/力矩计算模块4、工具模型41、多层次牙齿模型42、图形显示设备43和力反馈设备44。力反馈设备状态读取模块I读取力反馈设备44的手柄运动轨迹并转化为力觉工具末端位姿¥输出给工具模型41和力/力矩计算模块4 ;在本发明中,力觉工具末端位姿&的向量表示为{xh, yh, zh, a h, ^h, Yh}T,其中xh, yh, zh表示力觉工具的质心点Oh在世界坐标系OwXwYwZw中的位置分量,a h,^h, yh表示力觉工具相对于世界坐标系OwXwYwZw下绕Xw轴、Yw轴、Zw轴转动的三个欧拉角,T表示坐标转制,h表示力觉工具,t表示对象的向量表达形式。球状树碰撞检测模块2采用层次化的递归碰撞检测策略对工具模型41输出的动态力觉工具球树和多层次牙齿模型42输出的静态牙列球树进行碰撞剔除处理,获得叶节点的所有相交球体对;多点接触碰撞响应模块3采用碰撞响应优化模型<对叶
C (XXqtgI y1(qtgX >0
节点的所有相交球体对进行处理,得到图形工具的末端位姿4;在本发明中,图形工具末端位姿<的向量表示为{xg, yg, zg, a g, ^ g, Y g}T,其中xg, yh, zh表示图形工具的形心点Og在世界坐标系OwXwYwZw中的位置分量,a g,P g,Yg表示图形工具相对于世界坐标系OwXwYwZw下绕Xw轴、Yw轴、Zw轴转动的三个欧拉角,T表示坐标转制,g表示图形工具,t表示对象的向量表达形式。力/力矩计算模块4依据广义弹簧力模型F= _¥)对图形工具末端位姿<进行处理得到反馈力/力矩,并将反馈力/力矩作用到力反馈设备44上。在本发明中,操作者操作力反馈设备末端手柄,末端手柄的运动轨迹将实时显示在图形显示设备43的屏幕上。(一)工具模型41工具模型41依据Hubbard的内轴理论对力觉工具200进行球状树的建模,得到力觉工具球树,如图3A所示。图中显示出力觉工具层次化为多个球相接触的排列构形。在本发明中,力觉工具200的球状树建模包括下列步骤建模第一步将力觉工具200虚拟成一个球体,也是球状树的第0层,即根节点< ,h表示力觉工具200 ;建模第二步对球体采用Hubbard的内轴理论进行剖分,得到球状树的第一层的8个子节点;建模第三步对第一层的每个子节点采用Hubbard的内轴理论进行剖分,得到球状树的第二层的64个子节点;建模第四步对第二层的每个子节点采用Hubbard的内轴理论进行剖分,得到球状树的第三层的512个子节点;建模第五步对第三层的每个子节点采用Hubbard的内轴理论进行剖分,得到球状树的第四层的4096个子节点,也是球状树的叶节点。在本发明中,依据球状树建模步骤同理可得图形工具100的图形工具球树。本发明在力觉工具200和图形工具100的建模中采用基于球状树的几何建模方法,既可以准确地逼近任意复杂形状的物体,又提供了简易的建立单边不可穿越约束方程的方法。(二)多层次牙齿模型42多层次牙齿模型42依据Hubbard的内轴理论对虚拟牙列20进行球状树的建模,得到虚拟牙列球树,如图3B所示。图中显示出虚拟牙列层次化为多个接触球排列的构形。在本发明中,虚拟牙列20的球状树建模包括下列步骤建模第一步将虚拟牙列20虚拟成一个球体,也是球状树的第0层,即根节点< ,O表示虚拟牙列20 ;建模第二步对球体采用Hubbard的内轴理论进行剖分,得到球状树的第一层的8个子节点;
建模第三步对第一层的每个子节点采用Hubbard的内轴理论进行剖分,得到球状树的第二层的64个子节点;建模第四步对第二层的每个子节点采用Hubbard的内轴理论进行剖分,得到球状树的第三层的512个子节点;建模第五步对第三层的每个子节点采用Hubbard的内轴理论进行剖分,得到球状树的第四层的4096个子节点,也是球状树的叶节点。本发明在虚拟牙列20的建模中采用基于球状树的几何建模方法,既可以准确地逼近任意复杂形状的物体,又提供了简易的建立单边不可穿越约束方程的方法。(三)力反馈设备状态读取模块I参见图I、图1A、图2、图4所示,力反馈设备状态读取模块I第一方面用于读取力反馈设备44的末端手柄在运动状态下的轨迹和姿态信息,该轨迹和姿态信息映射到虚拟场景10中体现在力觉工具200的位姿,记为力觉工具位姿OhXhYhZh ;第二方面将力觉工具位姿OhXhYhZh输出给工具模型41 ;第三方面将力觉工具位姿OhXhYhZh输出给力/力矩计算模块4。在本发明中,图形显示设备43中实时显示的虚拟场景10中力觉工具200的运动轨迹,其质心点Oh显示出的参数代表了力觉工具200的位置,XhYhZh的三轴上的参数代表了力觉工具200的姿态。(四)球状树碰撞检测模块2球状树碰撞检测模块2对接收到的动态力觉工具球树和静态牙列球树采用层次化的递归碰撞检测策略进行处理,获得叶节点堆栈Sleaf ;其中叶节点堆栈Sleaf存储有叶节点的所有相交球对。层次化的递归碰撞检测策略分为粗略碰撞检测和精细碰撞检测两个阶段。在粗略碰撞检测阶段,判断力觉工具根节点的球与牙列根节点的球是否发生嵌套,其判断规则若两个球心之间的距离小于两球的半径之和,则认为两球发生嵌套。如果没有发生嵌套,则退出碰撞检测程序;如果发生嵌套,则将力觉工具根节点的球与牙列根节点的球作为一个球体对,进入精细碰撞检测阶段。精细碰撞检测针对两个层次化的球状树进行广度优先的相交判断搜索,精细碰撞检测步骤如下碰撞检测步骤一力觉工具球树的根节点记为<,虚拟牙列球树的根节点记为< ;碰撞检测步骤二 将动态堆栈S置为空集;
碰撞检测步骤三将叶节点堆栈Sleaf置为空集;碰撞检测步骤四将根节点的球体对(, )送入动态堆栈S ;碰撞检测步骤五当动态堆栈S不为空时,一直进行下述循环;步骤501 :将动态堆栈S的顶层元素弹出堆栈S,并记为球对(Si,s2);步骤502 :将Si的下一层8个子球构成集合S1 ;步骤503 :将s2的下一层8个子球构成集合S2 ;步骤504 :针对S1与S2中所有的元素两两配对组成64个球体对(s' ,, s' 2),s, ! e S1 s, 2 G S2 ;
步骤505:如果s' I和s' 2发生了嵌套,且s' jPs' 2均为叶节点,将(s's’ 2)添加到叶节点堆栈Sleaf中,转至碰撞检测步骤六;步骤506:如果s' I和s' 2发生了嵌套,且s' jPs' 2不为叶节点,将(s's' 2)送入动态堆栈S中,转至步骤501继续循环;碰撞检测步骤六输出叶节点堆栈Sleaf,该叶节点堆栈Sleaf中存储有叶节点的所有相交球体对。本发明在球状树碰撞检测模块以基于球状树的层次化的碰撞检测策略进行嵌套判断,满足了力觉仿真IkHz的计算频率,保证了仿真的真实感和稳定性。(五)多点接触碰撞响应模块3多点接触碰撞响应模块3对发生碰撞的球体对进行碰撞响应优化模型
— (q1 -qlYGiqt -Qth)
g 处理,翻图形工具的末端位姿Cixi ),yi (qlg ), Z1 (qlg ))>0在本发明中,优化得到的图形工具位姿<能够实时在图形显示设备43中显示出,以供操作者观察;同时操作者也能够对图形显示设备43中显示的结果进行控制。
—(q1 -qlYGiqt -q[)所述碰撞响应优化模型 2中字母的物理意义为
C(Mqtg),MqtgXz况))> Q<表示图形工具的末端位姿;%表示力觉工具的末端位姿;G表示海森矩阵;C表示碰撞响应条件,即图形工具球树的球心Of与牙列球树的球心Of之间的距离d应当大于等于图形工具球树的半径rg与牙列球树的r0之和,数学表达式为d ^ rg+r0,如图4A所示;Xi Yi Zi表示图形工具上第i个球的球心三维坐标。在图IA中,牙列模型20所在的坐标系记为世界坐标系OwXwYwZw,力觉工具200的坐标系记为OhXhYhZh,图形工具100的坐标系记为OgXgYgZgt5力觉工具的位姿向量g,少, xh, yh, Zh表示力觉工具的质心点Oh在世界坐标系OwXwYwZw中的位置分量。a h,^h, yh表示力觉工具相对于世界坐标系OwXJwZw的三个欧拉角。
图形工具的位姿向量< =^,>^4,(^,/^,;^厂,xg, yg, Zg表示图形工具的形心
点Og在世界坐标系OwXwYwZw中的位置分量。a g,P g,y g表示图形工具相对于世界坐标系OwXJwZw的三个欧拉角。
—(q1 -qlYGiqt -q[)在本发明中,碰撞响应优化模型 2包括有优化目标
C(Mqtg),MqtgXz况))> Q
/(<) = | -¥)%(<-心、优化变量^和约束条件首先,将虚拟图形工具的位
姿用一个六维向量 < 表示,并且将这个六维向量表示选为优化的变量,优化目标是在满足 约束的前提下让力觉工具的位姿与图形工具的位姿之间的差异最小,即一种最小二乘,公式中的海森矩阵G选取为对角矩阵。而约束的建立是利用碰撞检测的得到的相交球体对信息,让这些球体对之间满足不嵌套的关系,这样就得到了一组关于组成图形工具球的球心坐标应该满足的部等式组,然后通过坐标变换建立起优化变量与球心坐标之间的关系,从而得到了一组关于优化变量的不等式组,将这样一组不等式看成是当前时刻图形工具位形空间的约束,为了加快优化算法的收敛速度,利用一阶泰勒展开将这样一组非线性的不等式线性化,然后利用经典的有效集方法求解此优化问题。(六)力/力矩计算模块4力/力矩计算模块4依据广义的弹簧力模型F= Kiqtg - 乂)对图形工具的末端位姿进行处理,输出反馈力/力矩;该反馈力/力矩将作用到力反馈设备44上。操作者能够依据反馈力/力矩改变手柄运动。在本发明中,力与力矩的计算采用广义的弹簧力模型F =,K表示刚度系数,即图形工具与力觉工具变化量乘以一个刚度系数得到需要输出的反馈力与力矩,在本发明中,力的刚度系数取lN/mm,力矩刚度系数取30mNm/rad。在本发明中,借助计算机硬件平台,并将“多点接触力觉反馈系统”保存在该计算机的处理器(CPU)中,从而实现参数的计算以及平面坐标下的参数获取。计算机是一种能够按照事先存储的程序,自动、高速地进行大量数值计算和各种信息处理的现代化智能电子设备。最低配置为CPU 2GHz,内存2GB,硬盘180GB;操作系统为windows 2000/2003/XP。
权利要求
1.一种面向虚拟现实牙科操作训练的多点接触カ觉反馈系统,其特征在于该多点接触カ觉反馈系统包括有力反馈设备状态读取模块(I)、球状树碰撞检测模块(2)、多点接触碰撞响应模块(3)、力/力矩计算模块(4)、工具模型(41)、多层次牙齿模型(42)、图形显示设备(43)和力反馈设备(44); 力反馈设备状态读取模块(I)读取カ反馈设备(44)的手柄运动轨迹并转化为カ觉エ具末端位姿输出给工具模型(41)和力/カ矩计算模块(4); 球状树碰撞检测模块(2)采用层次化的递归碰撞检测策略对工具模型(41)输出的动态カ觉工具球树和多层次牙齿模型(42)输出的静态牙列球树进行碰撞剔除处理,获得叶节点的所有相交球体对; 多点接触碰撞响应模块(3)采用碰撞响应优化模型对叶节点的所有相交球体对进行处理,得到图形工具的末端位姿; 力/力矩计算模块(4)依据广义弹簧カ模型对图形工具末端位姿进行处理得到反馈力/カ矩,并将反馈カ/力矩输出至力反馈设备(44)。
2.根据权利要求I所述的面向虚拟现实牙科操作训练的多点接触カ觉反馈系统,其特征在于工具模型(41)依据Hubbard的内轴理论对カ觉工具(200)进行球状树的建模,得到カ觉工具球树;所述カ觉工具(200)的球状树建模包括下列步骤 建模第一歩将カ觉工具(200)虚拟成ー个球体,也是球状树的第O层,即根节点べ,h表示カ觉工具(200); 建模第二步对球体采用Hubbard的内轴理论进行剖分,得到球状树的第一层的8个子节点; 建模第三步对第一层的每个子节点采用Hubbard的内轴理论进行剖分,得到球状树的第二层的64个子节点; 建模第四步对第二层的每个子节点采用Hubbard的内轴理论进行剖分,得到球状树的第三层的512个子节点; 建模第五步对第三层的每个子节点采用Hubbard的内轴理论进行剖分,得到球状树的第四层的4096个子节点,也是球状树的叶节点。
3.根据权利要求I所述的面向虚拟现实牙科操作训练的多点接触カ觉反馈系统,其特征在于多层次牙齿模型(42)依据Hubbard的内轴理论对虚拟牙列(20)进行球状树的建模,得到虚拟牙列球树;所述虚拟牙列(20)的球状树建模包括下列步骤 建模第一歩将虚拟牙列(20)虚拟成ー个球体,也是球状树的第O层,即根节点·V;;,ο表示虚拟牙列(20); 建模第二步对球体采用Hubbard的内轴理论进行剖分,得到球状树的第一层的8个子节点; 建模第三步对第一层的每个子节点采用Hubbard的内轴理论进行剖分,得到球状树的第二层的64个子节点; 建模第四步对第二层的每个子节点采用Hubbard的内轴理论进行剖分,得到球状树的第三层的512个子节点; 建模第五步对第三层的每个子节点采用Hubbard的内轴理论进行剖分,得到球状树的第四层的4096个子节点,也是球状树的叶节点。
4.根据权利要求I所述的面向虚拟现实牙科操作训练的多点接触カ觉反馈系统,其特征在于层次化的递归碰撞检测策略分为粗略碰撞检测和精细碰撞检测两个阶段;在粗略碰撞检测阶段,判断力觉工具根节点的球与牙列根节点的球是否发生嵌套,其判断规则若两个球心之间的距离小于两球的半径之和,则认为两球发生嵌套;如果没有发生嵌套,则退出碰撞检测程序;如果发生嵌套,则将カ觉工具根节点的球与牙列根节点的球作为ー个球体对,进入精细碰撞检测阶段;精细碰撞检测针对两个层次化的球状树进行广度优先的相交判断捜索,精细碰撞检测步骤如下 碰撞检测步骤一カ觉工具球树的根节点记为ぺ,虚拟牙列球树的根节点记为< ; 碰撞检测步骤ニ 将动态堆栈S置为空集; 碰撞检测步骤三将叶节点堆栈Sleaf置为空集; 碰撞检测步骤四将根节点的球体对(Si0 ,ぺ)送入动态堆栈S ; 碰撞检测步骤五当动态堆栈S不为空时,一直进行下述循环; 步骤501 :将动态堆栈S的顶层元素弹出堆栈S,并记为球对(sl,s2); 步骤502 :将Si的下ー层8个子球构成集合S1 ; 步骤503 :将s2的下ー层8个子球构成集合S2 ; 步骤504 :针对S1与S2中所有的元素两两配对组成64个球体对(s' 2),s' ! e S1s, 2 e S2 ; 步骤505:如果s' i和s' 2发生了嵌套,且s' i和s' 2均为叶节点,将(s' !,Si 2)添加到叶节点堆栈Sleaf中,转至碰撞检测步骤六; 步骤506:如果s' i和s' 2发生了嵌套,且s' i和s' 2不为叶节点,将(s'2)送入动态堆栈S中,转至步骤501继续循环; 碰撞检测步骤六输出叶节点堆栈Sleaf,该叶节点堆栈Sleaf中存储有叶节点的所有相交球体对。
5.根据权利要求I所述的面向虚拟现实牙科操作训练的多点接触力觉反馈系统,其特征在于多点接触碰撞响应模块(3)对发生碰撞的球体对进行碰撞响应优化模型— (qt -αΙ Giat -Qth) 2KHs Hh) KHs Hh)处理,翻图形工具的末端位姿。CixXqtgXyXqtgXzXqtg))^ O
6.根据权利要求I所述的面向虚拟现实牙科操作训练的多点接触カ觉反馈系统,其特征在于力/力矩计算模块(4)采用的广义弹簧カ模型F = K(<-W),K表示刚度系数,SP图形工具与力觉工具变化量乘以ー个刚度系数得到需要输出的力与力矩,力的刚度系数取lN/mm,力矩刚度系数取30mNm/rad。
全文摘要
本发明公开了一种面向虚拟现实牙科操作训练的多点接触力觉反馈系统,该多点接触力觉反馈系统中的力反馈设备状态读取模块(1)读取力反馈设备(44)的手柄运动轨迹并转化为力觉工具末端位姿输出给工具模型(41)和力/力矩计算模块(4);球状树碰撞检测模块(2)采用层次化的递归碰撞检测策略对工具模型(41)输出的动态力觉工具球树和多层次牙齿模型(42)输出的静态牙列球树进行碰撞剔除处理,获得叶节点的所有相交球体对;多点接触碰撞响应模块(3)采用碰撞响应优化模型对叶节点的所有相交球体对进行处理,得到图形工具的末端位姿;力/力矩计算模块(4)依据广义弹簧力模型对图形工具末端位姿进行处理得到反馈力/力矩,该反馈力/力矩作用到力反馈设备(44)上。本发明的多点接触力觉反馈系统能够准确求解连续碰撞检测时图形工具与虚拟牙列表面的接触位置和姿态。
文档编号G06F19/00GK102693350SQ201110278879
公开日2012年9月26日 申请日期2011年9月16日 优先权日2011年9月16日
发明者刘帅, 张欣, 王党校 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1