用于触觉表达的装置和方法.pdf

上传人:zhu****69 文档编号:4813266 上传时间:2018-11-14 格式:PDF 页数:46 大小:2.20MB
返回 下载 相关 举报
摘要
申请专利号:

CN200680053670.3

申请日:

2006.12.27

公开号:

CN101426446A

公开日:

2009.05.06

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):A61B 19/00公开日:20090506|||公开

IPC分类号:

A61B19/00; B25J9/16; A61B17/17; G06F3/01

主分类号:

A61B19/00

申请人:

马科外科公司

发明人:

姜孝植; A·E·奎德; D·摩西

地址:

美国佛罗里达

优先权:

2006.1.17 US 60/759,186; 2006.2.21 US 11/357,197

专利代理机构:

中国国际贸易促进委员会专利商标事务所

代理人:

党建华

PDF下载: PDF下载
内容摘要

在一个方面,本发明涉及一种用于生成触觉障碍力的方法,在一个实施例中包括以下步骤:定义初级替身位置;定义次级替身位置;定义HIP位置;生成响应初级替身位置与HIP位置的第一力以及生成响应次级替身位置与HIP位置的第二力。

权利要求书

权利要求书
1.  一种用于生成触觉障碍力的方法,包括以下步骤:
定义初级替身位置;
定义次级替身位置;
定义HIP位置;
当HIP处在距离初级替身位置小于或等于预定值的进入深度时,生成响应初级替身位置与HIP位置的第一力;以及
当次级替身位置处在距离初级替身位置大于预定值的进入深度时,生成响应次级替身位置与HIP位置的第二力。

2.  权利要求1的方法,其中预定值为理想的触觉偏置。

3.  权利要求1的方法,其中第一力为零。

4.  权利要求1的方法,其中第二力为次级替身位置与HIP位置之间距离的函数。

5.  权利要求1的方法,其中第一力是至少部分地响应初级替身位置与HIP位置之间的距离来决定的。

6.  权利要求1的方法,其中第二替身位置是至少部分地响应HIP与虚拟触觉对象之间的相互作用来决定的。

7.  权利要求1的方法,其中进入深度为初级替身位置与HIP位置之间的距离。

8.  一种用于生成触力的装置,包括:
用于定义初级替身位置的初级替身位置定位器;
用于定义次级替身位置的次级替身位置定位器;
用于定义HIP位置的HIP位置定位器;以及
力发生器,用于当HIP处在距离初级替身位置小于或等于预定值的进入深度时,生成响应初级替身位置与HIP位置的第一力;以及当次级替身位置处在距离初级替身位置大于预定值的进入深度时,生成响应次级替身位置与HIP位置的第二力。

9.  权利要求8的装置,其中第二力是至少部分地响应次级替身位置与HIP位置之间的距离来决定的。

10.  权利要求8的装置,其中第一力是至少部分地响应初级替身位置与HIP位置之间的距离来决定的。

11.  权利要求8的装置,其中第二替身位置是至少部分地响应HIP与虚拟触觉对象之间的相互作用来决定的。

12.  一种用于映射触觉空间中的位置的方法,包括以下步骤:
a)定义包括多个立体像素元素的立体像素空间;
b)定义包括多个多边形表达元素的多边形空间;
c)生成各个立体像素元素及其各自的多边形表达元素的数据结构;
d)定位触觉空间中的点;
e)将该点映射到相应的立体像素元素;以及
f)在数据结构中选择至少一个多边形表达元素。

13.  权利要求12的方法,其中多边形表达元素为三角形。

14.  权利要求12的方法,其中各立体像素元素为轴对齐盒。

15.  权利要求12的方法,其中数据结构为查找表。

16.  权利要求12的方法,其中在将点映射到相应的立体像素元素之后搜索HIP处的相邻多边形。

17.  一种用于提高具有多个传动机构和多个接点的系统中的触觉稳定性的方法,所述方法包括以下步骤:
计算响应于替身位置与HIP位置之间距离的弹力;
计算响应于弹力的接点空间弹力矩;
计算响应于接点速度的接点空间阻尼力矩;以及
将接点空间阻尼力矩与接点空间弹力矩相加。

18.  权利要求17的方法,其中以笛卡尔坐标计算弹力。

19.  权利要求18的方法,其中弹力为替身位置与HIP位置之间的差的函数。

20.  权利要求17的方法,其中由弹力的雅可比变换计算接点空间弹力矩。

21.  权利要求17的方法,其中接点空间阻尼力矩为接点速度的函数。

22.  权利要求21的方法,其中接点空间阻尼力矩线性正比于接点速度,并且响应接点空间阻尼增益矩阵的对角元计算比例常数。

23.  一种形成单相触觉墙的方法,包括确定HIP从什么位置接近边界,以及允许HIP从第一方向经过边界但不允许从第二方向经过边界。

说明书

说明书用于触觉表达的装置和方法
技术领域
本发明涉及机器人系统中的表达,更具体地,涉及触觉系统中的表达。
相关申请
本发明为2006年2月21日提交、2006年6月29日公开的序列号为11/357,197的美国专利申请的部分继续申请(申请11/357,197为2003年3月6日提交、2004年2月5日公开的序列号为10/384,072的美国专利申请的部分继续申请);2003年3月6日提交、2004年2月19日公开的序列号为10/384,077的美国专利申请的部分继续申请;以及2003年3月6日提交、2004年2月19日公开的序列号为10/384,194的美国专利申请的部分继续申请;它们中的每一个要求2002年3月6日提交的美国临时专利申请No.60/362,368的优先权。申请11/357,197还是2003年7月16日提交、2004年6月3日公开的序列号为10/621,119的美国专利申请的部分继续申请,申请10/621,119为2003年3月6日提交、2004年2月19日公开的序列号为10/384,078的美国专利申请的部分继续申请,申请10/384,078要求2002年3月6日提交的美国临时专利申请No.60/362,368的优先权。申请11/357,197还要求2005年2月22日提交的美国临时专利申请No.60/655,642以及2006年1月17日提交的美国临时专利申请No.60/759,186的优先权。以上提到的各个已公开申请在此通过引用全体并入。
背景技术
触觉接口允许用户在虚拟或触觉环境中体验触感。这种接口正在虚拟现实游戏和进行虚拟成像的任务中被接受。使用虚拟图像帮助用户完成任务的一个领域为计算机辅助手术。
在计算机辅助手术中,可利用触觉接口为手术师提供触觉指导。例如,当手术师在实际空间中移动手术器械时,可通过触觉接口向手术师施加限制其操作手术器械的能力的约束。该约束可基于,例如虚拟空间中的虚拟器械与触觉对象之间的理想关系。在手术中,手术师利用触觉接口自动化地操作手术器械。通过触觉接口向手术师提供约束反馈,其向手术师施加一个足以保持虚拟器械与触觉对象之间理想关系的力。
例如,触觉对象可以是用于人体结构的虚拟保护边界。虚拟边界与患者的人体(anatomy)对应(或关联),而虚拟器械与实际手术器械对应(或关联)。为使手术师能够经由触觉接口与虚拟环境交互,使用触觉表达算法。触觉表达为计算并施加响应于用户与虚拟对象的相互作用的力的处理。利用触觉表达算法,可将触觉接口设置为当虚拟器械靠近虚拟边界时,手术师体验到的力增大。这种增大的力向手术师提供警告,即他接近感兴趣的结构,因此应当谨慎进行以避免对结构不希望的进入以及破坏(例如避免钻头进入骨骼太深)。
本发明针对这种对于改进的触觉表达处理的需求。
发明内容
一方面,本发明涉及一种用于生成触觉障碍(penalty)力的方法。在一个实施例中,方法包括以下步骤:定义初级替身位置;定义次级替身位置;定义HIP位置;当HIP处在距离初级替身位置小于或等于预定值的进入深度时,生成响应初级替身位置与HIP位置的第一力;以及当次级替身位置处在距离初级替身位置大于预定值的进入深度时,生成响应次级替身位置与HIP位置的第二力。在一个实施例中,预定值为理想的触觉偏置。在另一个实施例中,第一力为零。在又一个实施例中,第二力为次级替身位置与HIP位置之间距离的函数。在又一个实施例中,第一力为初级替身位置与HIP位置之间距离的函数。在另一个实施例中,第二替身位置是至少部分地响应HIP与虚拟触觉对象之间的相互作用来决定的。在另一个实施例中,进入深度为初级替身位置与HIP位置之间的距离。
另一方面,本发明涉及一种用于生成触力的装置。在一个实施例中,装置包括:用于定义初级替身位置的初级替身位置定位器;用于定义次级替身位置的次级替身位置定位器;用于定义HIP位置的HIP位置定位器;以及力发生器,用于当HIP处在距离初级替身位置小于或等于预定值的进入深度时,生成响应初级替身位置与HIP位置的第一力,以及当次级替身位置处在距离初级替身位置大于预定值的进入深度时,生成响应次级替身位置与HIP位置的第二力。在另一个实施例中,第二力为次级替身位置与HIP位置之间距离的函数。在又一个实施例中,第一力为初级替身位置与HIP位置之间距离的函数。在再一个实施例中,第二替身位置是至少部分地响应HIP与虚拟触觉对象之间的相互作用来决定的。
本发明的又一方面为一种用于映射触觉空间中的位置的方法。在一个实施例中,方法包括以下步骤:a)定义包括多个立体像素元素的立体像素空间;b)定义包括多个多边形表达元素的多边形空间;c)生成各个立体像素元素及其各自的多边形表达元素的数据结构;d)定位触觉空间中的点;e)将该点映射到相应的立体像素元素;以及f)在数据结构中选择至少一个多边形表达元素。
在一个实施例中,多边形表达元素为三角形。在另一个实施例中,各立体像素元素为轴对齐盒。在又一个实施例中,数据结构为查找表。
再一方面,本发明涉及一种用于提高具有多个传动机构和多个接点的系统中的触觉稳定性的方法。在一个实施例中,方法包括以下步骤:计算响应于替身位置与HIP位置之间距离的弹力;计算响应于弹力的接点空间弹力矩;计算响应于接点速度的接点空间阻尼力矩;以及将接点空间阻尼力矩与接点空间弹力矩相加。
在另一个实施例中,以笛卡尔坐标计算弹力。在又一个实施例中,弹力为替身位置与HIP位置之间的差的函数。在再一个实施例中,由弹力的雅可比变换计算接点空间弹力矩。在另一个实施例中,接点空间阻尼力矩为接点速度的函数。在又一个实施例中,接点空间阻尼力矩线性正比于接点速度,并且响应接点空间阻尼增益矩阵的对角元计算比例常数。本发明的又一发明涉及一种形成单相触觉墙的方法,包括确定HIP从什么位置接近边界,以及允许HIP从第一方向经过边界但不允许从第二方向经过边界的步骤。
附图说明
在此对附图的参照旨在提供对本发明的方法和装置的更好的理解,而不是想要将本发明的范围限于具体描述的实施例。附图不一定是按比例的,而是重点在于图示出本发明的原理。各图中相似的参考符号通常表示相应的部件。
图1为按照本发明的手术系统的实施例的立体图;
图2为按照本发明的触觉表达处理的实施例的框图;
图3为按照本发明的三维几何触觉对象的实施例的表示;
图4为多个叠加的触觉对象的表示;
图5为按照本发明的基于多边形的触觉表达处理的实施例的流程图;
图6为按照本发明的多边形表面对象的实施例的表示;
图7为按照本发明的立体像素映射的实施例的表示;
图8为按照本发明的立体像素查找表的实施例的表示;
图9为按照本发明的多边形查找表的实施例的表示;
图10示出按照本发明的虚拟引导线的实施例的实现;
图11为坐标变换的图形说明;
图12为虚拟替身(proxy)点位置的说明;
图13为虚拟替身点位置的说明;
图14为按照本发明的触觉表达算法的实施例的流程图;
图15为具有HIP投影的多个多边形的图形表示;
图15a为活动多边形(active polygon)优先行为的图形表示;
图16为在上多边形(on-polygon)优先行为的图形表示;
图17为连续表面优先行为的图形表示;
图18为最小力优先行为的图形表示;
图19为增大凹角行为的x-y视图的图形表示;
图20为增大凹角行为的y-z视图的图形表示;
图21为用于骨骼的双替身触觉表达的实施例的图;以及
图21a为HIP上的力矢量的图。
具体实施方式
简而言之,图1示出按照本发明的手术系统10的实施例。手术系统10包括计算系统20,触觉机器人设备30,跟踪(或定位)系统40。在手术中,手术系统10能够进行全面的、手术中的手术计划。手术系统10还向用户(如手术师)提供触觉指导和/或当用户进行手术过程时限制用户对触觉设备30的操作。
计算系统20包括用于操作和控制手术系统10的硬件和软件。如图1中所示,计算系统20包括计算机21、显示设备23、以及输入设备25。
计算机21可为任何已知的计算系统,但优选地为可编程的基于处理器的系统。例如,计算机21可包括微处理器,硬盘驱动器(harddrive),随机存取存储器(RAM),只读存储器(ROM),输入/输出(I/O)电路,以及任何其他众所周知的计算机组件。计算机21优选地适合与不同类型的存储设备(持久的或可擦除的)一起使用,诸如,便携式驱动器,磁性存储装置(如软盘),固态存储装置(如闪存卡),光学存储装置(如压缩盘或CD),和/或网络/因特网存储装置。计算机21可包括一个或以上独立或联网的计算机,包括,例如在Window,MS-DOS,UNIX,或其他合适的操作系统下运行、并优选地包括图形用户界面(GUI)的个人计算机(如IBM-PC兼容机)或工作站(如SUN或Silicon图形工作站)。在一个实施例中,计算机21包括可从佛罗里达州Fort Lauderdale的MAKO SURGICALCORPTM得到的导航模块(Navigation Module)。
显示设备23为计算系统20与用户之间的视觉接口。显示设备23与计算机21相连,并且可为适合显示文本、图像、图形、和/或其他视觉输出的任何设备。例如,显示设备23可包括标准显示屏(如液晶显示器(LCD),阴极射线管(CRT)、等离子等),触摸屏,可佩戴显示器(如眼镜或护目镜等眼睛佩戴物),投影显示器,头戴显示器,全息图形显示器,和/或其他视觉输出设备。显示设备23可放在计算机21上或其附近,或可远离计算机21在非常适合用户容易看到的任何位置。显示设备23可用来显示对医疗过程有用的任何信息,包括但不限于,由利用常规成像技术获得的图像数据组生成的人体图像,图形模型(如植入物(implant)、器械、人体等的CAD模型),被跟踪对象的图形表示(如人体、工具、植入物等),数字或视频图像,注册信息,校准信息,患者数据,用户数据,测量数据,软件菜单,选择按钮,状态信息等。
除了显示设备23,计算系统20可包括用于向用户提供可听反馈的音响设备(未示出)。音响设备与计算机21连接,并可以是用于产生声音的任何设备。例如,音响设备可包括扬声器和声卡,具有集成音频支持的主板,和/或外部声音控制器。在操作中,音响设备可适合向用户传达信息。例如,可将计算机21编程为发信号给音响设备以产生声音,诸如语音合成的口头指示“完成”,以指示完成了手术过程的一个步骤。类似地,音响设备可用来警告用户敏感的情况,如产生蜂鸣声以指示手术切割工具正靠近软组织的关键部分。
计算系统20的输入设备25使得用户能与手术系统10通信。输入设备25与计算机21连接,并可包括使得用户能向计算机提供输入的任何设备。例如,输入设备25可为已知输入设备,诸如键盘、鼠标、轨迹球、触摸屏、触摸板、语音识别硬件、拨号盘、开关、按钮、可跟踪探测器、脚踏板、远程控制设备、扫描仪、照相机、麦克风,和/或操纵杆。
计算系统20适合使手术系统10能够完成与手术计划、导航、图像引导和/或触觉指导相关的各种功能。例如,计算机21可包括与通用操作、数据存储和获得、计算机辅助手术(CAS)、应用、触觉控制、和/或任何其他合适功能相关的算法、编程、以及软件工具。在一个实施例中,计算系统20包括导航模块(Navigation Module)中使用的软件。
与通用操作相关的工具被设置为提供实现和支持手术系统10的总体运行的基本计算功能。通用操作工具可包括例如众所周知的特性,诸如用于快速图形处理的功能,用于支持输入/输出(I/O)设备的功能,用于连接到医院网络的功能,用于管理数据库的功能(例如植入物和器械数据库),用于系统安全性的功能(例如登入特征、访问限制等),和/或任何其他对于支持手术系统10的总体运行有用的功能。
与数据存储和获取有关的工具可被设置为使得能够存储和访问各种形式的数据,诸如图像数据(如利用任何合适的成像设备,如X光、计算机断层成像(CT)、磁共振(MR),正电子发射断层成像(PET),单光子发射计算机断层成像(SPECT),超声等获得的二维或三维图像数据组)、应用数据、植入物数据、器械数据、人体模型数据、患者数据、用户偏好数据等。数据存储和获取工具可包括适用于存储和处理相关数据的任何功能。
与计算机辅助手术相关的工具可被设置为实现手术计划、导航、以及基本的图像引导手术能力。例如,如众所周知的,CAS工具可包括用于从图像数据组生成和显示图像的功能,用于确定手术器械的尖端的位置以及轴向的功能,以及用于将患者和图像数据组对应到跟踪系统40的坐标系的功能。这些功能可使例如计算系统20在显示设备23上显示被跟踪手术器械位于一张或多张患者人体图像上的虚拟表示,并在手术过程期间实时地更新被跟踪器械的虚拟表示。由图像数据组生成的图像可为二维,或者在三维图像数据组的情况下,可为基于例如图像数据组段的三维重构。当在显示设备23上显示一个以上的图像时,计算系统20优选地协调被跟踪器械在不同图像之间的表示。除了由图像数据组生成的图像以外或替代由图像数据组生成的图像,计算系统20可使用人体模型(例如,基于计算机辅助设计(CAD)的模型,艺术线条,草图,动画,艺术表达,普通或变形数据组等)。
与手术系统10的应用相关的工具包括被设置为辅助用户进行手术计划与导航的应用专门程序。与应用工具关联的程序可被设置为用在各种医疗过程中和/或可为专门的过程定制。例如,应用工具可包括与一个或多个整形过程相关的程序,诸如全部膝盖替换,部分膝盖替换,臀替换,肩替换,肘替换,腕替换,踝替换,脊椎手术,和/或整形和/或肌骨植入物的安装,包括传统材料的植入物以及较不寻常的植入物,诸如整形生物学植入物,药物传输植入物,以及细胞传输植入物。应用工具可被定向到手术计划与导航的不同方面,包括手术前、手术中、和手术后的活动。例如,应用工具可包括定向到计划和设置的程序或处理,诸如系统初始化处理,计划处理,可视化处理,诊断成像处理,注册处理,以及校准处理。应用工具还可包括定向到对象跟踪和系统控制的程序或处理,诸如,坐标变换处理,插值处理,工具与功率控制处理,人体定位处理,模式控制处理,安全处理,闭锁检测算法,以及正向运动学算法。应用工具可包括与触觉设备30相关的程序或处理,诸如,触力计算处理,触力映射处理,用于生成触觉对象的处理,以及触觉表达算法。应用工具还可包括用于在手术过程期间与用户通信的程序和处理,诸如,用于显示与手术过程的特定步骤对应的页面或图像的软件,用于提示用户完成某任务的软件,以及用于向用户提供反馈(例如可视、可听、可触的、和/或力反馈)的软件。
与触觉控制相关的工具被设置为完成与触觉设备30的控制、性能、稳定性、和/或安全性相关的各种功能。例如,触觉控制工具可包括实时操作系统(RTOS),运动控制软件,用于为控制触觉设备30生成高频率更新的硬件和软件,用于确保触觉设备30的失败安全操作的软件(例如,闸的控制,多余传感器的监视等),和/或适用于改进或提高触觉设备30的性能、稳定性、和/或安全性的其他任何工具。触觉控制工具可在计算系统20的计算机21上执行,只要计算机21具有足以支持触觉控制工具的运行要求的计算架构即可。计算机21可为自由站立或合并在机器人的底座或臂中。例如,与触觉控制关联的处理通常具有比计算机21上运行的其他处理更高的操作频率。在一个实施例中,触觉控制处理以大约2kHz的频率运行。在另一个实施例中,触觉控制处理以大约0.1kHz到大约10kHz之间的范围内的频率运行。在又一个实施例中,触觉控制处理以大约500Hz到大约2,400Hz之间的范围内的频率运行。在其他实施例中,计算机21提供适用于获取触觉控制处理所要求的操作频率(如,大约2kHz)的控制信息。在优选实施例中,计算机31集成在或嵌入触觉设备30中。如果计算机21不具备足以支持触觉控制处理的运行的架构,则计算系统20可包括用于触觉控制工具的执行的补充计算机31。
计算机31(图1中示出)可与计算机21类似,但优选地被构造为满足触觉设备30的特定运行要求,诸如,用于以触觉设备30的运行频率提供控制信息的需要。计算机31可进一步包括一个或多个的独立或联网的计算机。在一个实施例中,计算机31为Intel兼容的x863U紧凑PCI单板计算机,具有至少1.6GHz的处理器时钟速度,至少2G字节的非挥发性存储装置(如硬盘驱动器,压缩闪存等),至少256MB的RAM,400MHz或更快的前端总线,至少1MB的2级缓存,以及实时操作系统。一个这样的商业上可获得的实施例包括来自Inova Computers GmbH(德国Kaufbeuren)的ICP-PM-1004-DG-8A,与来自QNX Software System Ltd.(加拿大Ottawa,Ontario)的QNX 6.1(或更晚的)操作系统一起使用。
除了触觉控制工具外,计算机31可包括使得触觉设备30能够利用来自跟踪系统40的数据的程序。例如,跟踪系统40可周期性地生成被跟踪对象的姿态(如位置和方向)数据。在一个实施例中,以大约30Hz生成对象姿态数据。在其他实施例中,例如以大约500Hz或更高,更频繁地生成对象姿态数据。将对象姿态数据从跟踪系统40传递给计算机31(例如经由接口100b),并可以任何常规方式,诸如使用众所周知的噪声过滤器调节对象姿态数据。此外,在跟踪系统40以低于触觉控制处理的频率运行的实施例中,可利用众所周知的插值过滤器调节对象姿态数据。插值过滤器通过在分立的数据采样之间增多间隙使对象姿态数据平滑从而使对象姿态数据能用在较高频的触觉控制处理中。计算机31还可包括用于将一个空间中的坐标映射(或变换)到另一个空间中的坐标以达到空间对齐或对应的坐标变换处理。例如,手术系统10可利用坐标变换处理将被跟踪对象(例如手术工具,患者人体等)的位置映射到计算机31和/或计算机21上运行的处理使用的坐标系中。众所周知的,坐标变换处理可包括任何适合的变换技术,诸如刚体变换,非刚体变换,仿射变换等。
计算系统20中包括多个计算机(例如计算机21和计算机31)的优点在于可独立地设置每个计算机。于是,可针对手术计划和导航定制计算机21,而针对触觉设备30的控制性能、稳定性、和/或安全性定制计算机31。例如,计算机31可包括实时操作系统(RTOS)以维持对触觉控制系统的可靠更新以及用于触觉设备30的稳定的操作平台。相反,因为计算系统20不一定要求与触觉设备30相同程度的稳定性,因此计算机21可包括非实时操作系统。于是,替代地可将计算机21定制为满足手术导航的特定要求,诸如图形处理。
具有分立的计算架构的多个计算机的另一个优点在于具有有限的关于触觉系统的知识的软件开发者可生成可与不同的触觉设备结合使用的用于计算机21的CAS工具。类似地,具有有限的关于CAS的知识的软件开发者可生成致力于提高特定触觉设备的性能、稳定性、和/或安全性的触觉工具。作为分立的计算机的另选方案,触觉设备30的计算功能和计算系统20可合并成例如单个计算机,成像设备(例如CT设备,MRI设备,荧光镜设备等)的计算系统,和/或医院联网的计算系统。
如图1中所示,计算系统20经由接口100a与触觉设备30耦合。接口100a包括物理接口与软件接口。物理接口可为任何已知的接口,诸如有线接口(例如串口,USB,以太网,CAN总线,和/或其他有线通信接口)和/或无线接口(例如无线以态网,无线串口,红外,和/或其他无线通信系统)。软件接口可存留在计算机21和/或计算机31中,并使得计算系统20能与触觉设备30通信并控制其操作。在一个实施例中,软件接口包括允许计算系统20向触觉设备30发布命令的工具。例如,计算机21可向计算机31发送一条请求触觉设备30进入特定模式(例如靠近模式,触觉模式,自由模式,输入模式,保持模式)的命令。相应地,可对计算机31编程检查不同的参数以确定进入所请求模式是安全且可接受的,以及要么使触觉设备30进入所请求模式,要么返回适当的错误消息。
触觉设备30为被设置为由用户操作的手术设备,其移动手术器械50在患者身上完成过程。在过程期间,计算系统20基于例如患者的人体与手术器械50的一部分的位置、方向、速度、和/或加速度之间的关系提供用于控制触觉设备30的控制参数。在一个实施例中,控制触觉设备30以提供用户操作设备的限制(例如通过限制用户物理操作触觉设备30的能力)。在另一实施例中,控制触觉设备30以向用户提供触觉指导(即可触知的和/或力反馈)。可触知的反馈通常包括可触知的感觉,诸如振动,而力反馈是指力形式的反馈(例如阻挡移动)和/或力矩(也作“扭转”(wrench))。扭转包括例如力、力矩、或力与力矩组合形式的反馈。
来自与计算机辅助手术(CAS)耦合的触觉设备30的指导使得手术师能够主动和精确地控制手术动作(例如切骨)和局部治疗的传送(例如在脑中)。例如,可将计算系统20编程为基于患者人体的数据表现(例如手术前的CT图像数据,超声数据);与人体关联(或对应)的虚拟(或触觉)对象;与人体相关的参数(例如,相对于人体的一部分定义的深度);和/或人体来确定控制参数。计算系统20可控制触觉设备30基于器械50相对于虚拟对象的位置、参数、和/或人体产生力、力矩、和/或振动。例如,可约束器械50不得进入与人体表示关联的虚拟边界和/或约束其不得超过相对于人体表示定义的参数。于是,在手术中,当手术师操作触觉设备30移动器械50时,可利用虚拟路径将器械50引导至特定目标,可利用虚拟边界来定义切除形状或阻止器械50与关键组织接触,以及可利用预定参数来限制器械50的行程(例如到预定的深度)。
还可将计算系统20编程为响应过程期间实际人体的运动来调整控制参数(例如,通过监视实际人体的检测到的运动,然后响应检测到的运动调整虚拟对象)。通过这种方式,手术系统10可补充或替代手术现场的直接可视化,提高手术师的自然可触知感觉和物理灵巧性,并且有助于从常规大小的入口(例如长度12英寸或更大)到具有小到约1mm的直径的入口瞄准、修复、和替换身体中的各种结构。
在整形应用中,例如通过辅助手术师进行正确的骨刻从而使得在骨预备处理中保持手术师的密切参与的同时能够进行精确、可重复的骨切除,触觉设备30可用于骨预备中的不精确、不可预测性、以及不可重复性的问题。此外,由于触觉设备30在骨切除手术中从触觉上指导手术师,因此手术师的技术水平就不那么重要。结果,具有不同程度的技术和经验的手术师能够完成精确、可重复的骨切除。在一个实施例中,例如,手术器械与触觉设备30耦合。手术师可通过握住并移动器械和/或通过握住并操作触觉设备30以移动器械来操作骨刻的器械。当手术师进行切除手术时,手术系统10(用跟踪系统40)跟踪器械的位置,并且在大多数情况下,允许手术师在工作区自由移动器械。然而当器械靠近与患者对应的虚拟边界时,手术系统10控制触觉设备30提供倾向于约束手术师用器械进入虚拟边界的触觉指导。例如,虚拟边界可由触觉对象定义,并且触觉指导可包括被映射到触觉对象并作为阻挡被手术师体验到的在虚拟边界方向进一步移动器械的输出扭转(即力和/或力矩)。于是,手术师可感觉到似乎工具遇到实际物体,例如一堵墙。通过这种方式,虚拟边界用作虚拟切除指导。于是,触觉设备30向手术师传达关于器械相对于虚拟边界位置的信息,并在实际切除处理中提供实际指导。触觉设备30还可被设置为限制用户操作手术器械的能力,如美国专利申请No.10/470,314(公开号为US 2004/0128026)中所述,该申请为本发明的受让人所有,并在此通过引用全体并入。
触觉设备30可包括适合向用户传送可触知反馈(例如振动)和/或力反馈(例如扭转)的机械或电子机械设备。触觉设备30可为自动化的、非自动化的、或自动化与非自动化系统的组合。例如,触觉设备30可包括如以下专利申请中所述的触觉设备:2003年3月6日提交、2004年2月5日公开的序列号为10/384,072的美国专利申请;2003年3月6日提交、2004年2月19日公开的序列号为10/384,077的美国专利申请;2003年3月6日提交、2004年2月19日公开的序列号为10/384,078的美国专利申请;2003年3月6日提交、2004年2月19日公开的序列号为10/384,194的美国专利申请;2003年7月16日提交、2004年6月3日公开的序列号为10/621,119的美国专利申请;和/或2005年2月22日提交的美国临时专利申请No.60/655,642。以上提到的每个已公开申请为本申请的受让人所有,并在此通过引用全体并入。
在手术中,计算系统20、触觉设备30、以及跟踪系统40合作使得手术系统10能够在手术过程期间向用户提供触觉指导。手术系统10通过利用力反馈触觉接口(即触觉设备30)模拟人的触感系统使用户能与虚拟环境交互从而提供触觉指导。触觉设备30产生计算机控制的力,以向用户传达虚拟环境以及虚拟环境中的虚拟(或触觉)对象的自然感的感觉。计算机控制的力被显示(即反映或传达)给用户,使他感到虚拟对象的可触知的感觉。例如,当用户操作器械50时,手术系统10确定出器械50的位置和方向。检测器械50的虚拟表示与虚拟环境中的虚拟对象之间的碰撞。如果碰撞发生,则手术系统10基于虚拟器械进入虚拟对象中的深度计算触觉反作用力。算出的反作用力映射在虚拟对象表面上,并且适当的力矢量经过触觉设备30反馈给用户。
如在此使用的,“虚拟对象”(或“触觉对象”)一词可用来指代不同的对象。例如,虚拟对象可为诸如植入物或手术器械的实际对象的表示。另选地,虚拟对象可表示要从人体除去的材料,要在人体中保留的材料,和/或要避免与器械50接触的人体(或其他对象)。虚拟对象还可表示路径,引导线,边界,接界,或其他限制或界线。
为使用户能够与虚拟环境进行交互,手术系统10利用触觉表达处理。触觉表达为计算和施加响应于用户与虚拟对象的相互作用的力的处理。在一个实施例中,用于进行此处理的数据流在图2中图示出。在手术中,通常,触觉设备30(块2500)的位置传感器(块2502)提供数据给软件模块,正向运动学处理(块2504)。将正向运动学处理的输出输入到坐标变换处理(块2506)。触觉表达算法(2508)接收来自坐标变换处理的数据,并向力映射处理(块2510)提供输入。基于力映射处理的结果,驱使触觉设备30的执行器(块2512)向用户传达适当的触觉扭转(即力和/或力矩)。与图1中的触觉设备30的臂33结合描述块2502的位置传感器和块2512的执行器。下面将结合图5的步骤S708更详细地讨论块2504的正向运动学处理和块2506的坐标变换处理。块2508的触觉表达算法和块2510的力映射处理讨论如下。
触觉表达处理可包括任何合适的触觉表达处理,诸如以下文献中描述的触觉表达处理:美国专利No.6,111,577;C.B.Zilles & J.K.Salisbury,“A constraint-based god-object method for haptic display”,Proceedings of the IEEE/RSJ International Conference on IntelligentRobots and Systems,Vol.3,pp.146-51,1995;T.V.Thompson II,D.E.Johnson & E.Cohen,“Direct haptic rendering of sculpturedmodels”,Proceedings of the Symposium on Interactive 3D Graphics,pp.167-76,1997;K.Salisbury & C.Tar,“Haptic rendering ofsurfaces defined by implicit functions”,Proceedings of the ASMEDynamic Systems and Control Division,DSC-Vol.61,pp.61-67,1997;和/或J.E.Colgate,M.C.Stanley & J.M.Brown,“Issues in thehaptic display of tool use”,Proceedings of the IEEE/RSJInternational Conference on Intelligent Robots and Systems,Vol.3,pp.140-145,1995,每一篇在此通过引用全体并入。
触觉表达处理产生的虚拟环境包括与器械50的虚拟表示相互作用的虚拟(或触觉)对象。虚拟对象与器械50的虚拟表示之间的相互作用可基于点或基于线。在优选实施例中,手术系统10利用基于点的触觉相互作用,其中仅虚拟点,或触觉相互作用点(HIP)与虚拟环境中的虚拟对象相互作用。HIP对应触觉设备30上的物理点,诸如器械50的尖端。HIP通过虚拟弹簧/阻尼器模型与物理触觉设备30上的物理点耦合。与HIP相互作用的虚拟对象可为,例如具有表面707和触力法线矢量Fn的触觉对象705(图3中示出)。进入深度di为HIP与表面707上的最近点之间的距离。进入深度di表示HIP进入触觉对象705中的深度,并且部分地决定虚拟设备的用户体验到的力Fn。
例如,可利用三维几何原始对象、三维多边形对象、数学等式、计算机模型、表面模型、和/或立体像素阵列来建立虚拟(或触觉)对象的模型。触觉对象可为静止的、准静止的、动态的、连续的、不连续的、随时间变化的、和/或仅在某些时间存在的。在一个实施例中,利用器械位置、方向、速度、和/或加速度的一个或多个函数建立触觉对象的模型。于是,在外科骨切除手术的情况下,触觉表达处理可产生输出扭转对器械位置的映射。可将映射设置为使得反馈给用户的输出扭转足以阻挡虚拟器械(或HIP)进一步进入触觉对象。以这种方式建立虚拟切除边界。虚拟切除边界与患者的实际人体、人体图象、和/或感兴趣的其他坐标系关联(例如对应)。通过触觉表达处理表达的触觉对象可用作通道(例如引导线),可为排斥的(例如被设置为抵制器械50进入触觉对象的内部),可用作容器(例如将器械50保持在触觉对象的内部),和/或可具有排斥和容纳的部分。
如图4中所示,多个触觉对象701可被叠加,从而来自各触觉对象701的力矢量F被合并以得出合触觉力矢量Fv。在一个实施例中,来自各触觉对象701的输出包括关于惯性坐标系并具有线性特性的笛卡尔力矢量。触觉对象的最大数量可基于计算成本确定。
触觉对象可被定制为包括任何想要的形状,诸如解剖学轮廓的植入物形状,用于敏感结构的保护边界(例如内关节体),由图像得出的肿瘤边界,以及植入物组件的形象装配的虚拟固定。在一个实施例中,可唯一地描画触觉对象的轮廓与患者的病况匹配。例如,触觉对象可定义仅包围有病的骨骼的虚拟切除边界。于是,触觉对象可用来指导用户去除有病的骨骼,同时不伤害周围健康的骨骼。以这种方式,手术系统10使得用户能以定制的方式刻骨,包括无法用传统切割钻和锯实现的复杂几何形状和曲线。结果,手术系统10有助于骨骼不受伤害的手术过程以及尺寸较小并适合患者独特病况的植入物设计。
触觉对象可具有能图形化地表示在显示设备23中的关联空间或几何表示。可选择图形表示从而向用户传达有用的信息。例如,如图1中所示,被设置为帮助用户将器械50引导至手术位置的触觉对象300可被图形表示为漏斗状的体积。当对应物理器械50的虚拟器械运动经过虚拟对象300并与之作用时,触力被反映给用户从而器械50被引导至手术位置。另选地,触觉对象可被图形化表示为引导线。当虚拟器械沿着触觉对象运动并与之作用时,触力被反映给用户从而器械50沿着引导线被直接引向手术位置。在一个实施例中,定义用于植入物的虚拟切除边界的触觉对象可作为图形图象描画在显示设备23上,其形状基本对应植入物的形状。于是,定义用于股骨组成的虚拟切除边界的触觉对象将具有相应的图形表示。类似地,定义用于胫骨组成的虚拟切除边界的触觉对象将具有不同的对应图形表示。
具有简单体积的触觉对象优选地用三维隐式表面对象(诸如平面、球体、圆锥、圆柱等)的组合进行建模。例如,图3中示出的触觉对象705为球体。触觉对象705的表面为连续光滑的,并且进入深度(di)以及垂直于对象表面的触力矢量(Fn)的解可以不昂贵的固定计算成本从基于触觉相互作用点(HIP)的紧凑数学表面函数得到。对于更复杂的物体,可利用基于多边形的触觉表达技术。
图5示出按照本发明的基于多边形的触觉表达处理的实施例。在步骤S702中,利用例如计算机辅助设计(CAD)软件生成用户可与之相互作用的虚拟环境。例如可利用显式表面模型生成虚拟环境。在一个实施例中,虚拟环境包括含有多个多边形表面对象的三维虚拟(或触觉)对象。如图6中所示,各表面对象优选地为三角形,并通过三个节点(或顶点)v0、v1、和v2以及法线矢量n表示。例如,通过将虚拟对象的壁偏置器械50的半径,可重新形成虚拟对象的形状以补偿器械50的物理直径。为了提高计算性能(这在实时应用中很重要),可重新筛选多边形表面对象,例如,去掉小于理想空间分辨率的多边形。当虚拟对象为闭合腔时,可通过生成具有两个表面,即外对象表面和内腔表面的虚拟对象来简化利用CAD系统虚拟对象的生成。然而仅使用内腔表面可有利地减少用于表达所需的体积以及多边形对象(例如三角形、多边形等)的数量。此外,可通过利用CAD系统产生虚拟实对象、生成表面网格、以及翻转表面使得各多边形对象的法线矢量冲内来产生单面闭合虚拟腔。在一个实施例中,表达处理可支持对闭合虚拟对象的单方向进入行为,其中仅当HIP从外部运动到内部时允许其穿过虚拟对象。
回到图5,在步骤S704中触觉表达处理产生虚拟环境中多边形表面对象的立体像素映射。为了产生立体像素映射,将虚拟环境中的虚拟对象在空间上分成更小的单元或体积元(立体像素)以减少多边形表面对象的数量并避免不必要的碰撞检查。如图7中所示,虚拟对象被分成ni×nj×nk的格子。格子可为固定间隔或可有不同分辨率。每个立体像素具有指向占领该立体像素或与之交叉的多边形的指针。给出一组多边形,通过以下步骤构造立体像素查找表:针对感兴趣的多边形获取多边形数据(即顶点v0、v1、和v2的xyz分量);生成围绕多边形的边界盒(bounding box);对于边界盒中的立体像素加入多边形的唯一标识号;并增加占有立体像素的多边形的总数。重复这些步骤直到最后一个多边形被处理。如图6(多边形参照系)和图7(立体像素参照系)所示,利用公式vijk=(int)floor(p/s),其中s为立体像素的尺寸,将多边形系中的点(p)变换到立体像素系中。图8和图9中分别示出立体像素和多边形查找表的例子。
在图5的步骤S706中,触觉表达处理生成到目标点或目标区的引导线。引导线用作将HIP引导至特定位置的通道或虚拟引导线。引导线用来例如引导用户对物理器械50的移动使得器械50避开关键的人体。对于用户不能穿越的闭合触觉体积,引导线也是有用的。参照示出虚拟球体720的图10说明引导线的实现。
球体720包括由球体720的中心721和半径722定义的活动区。当HIP在活动区以外时,用户可自由移动触觉设备30。当HIP进入活动区时,触觉设备30被置于其中沿着半径722产生引导线段的接近模式。引导线段722例如从球体720表面上的进入点(Pe)723延伸到目标点(Pt)721。正常地,球体720的中心将与目标点重合(或至少将在目标区内)。当引导线段722被激活时,HIP可沿着引导线段722自由移动。偏离引导线段722的HIP的移动(例如由于试图垂直于引导线段722移动)导致反馈给用户的阻力。当HIP接近目标点时,监视从HIP的当前位置到目标点的距离。当距离小于限制半径时,例如,通过提供单向约束虚拟限制球体724,HIP的行为受到限制。当HIP靠近目标点移动时,限制球体724的半径减小。当从HIP到目标点的距离小于转换半径(在图10中由转换球体725表示)时,虚拟对象的触觉表达开始。
在图5的步骤S708中,触觉表达处理将物理HIP(例如器械50的尖端)映射到虚拟空间。例如,图2的正向运动学处理(块2504)计算就惯性参照系(Ri)而言物理HIP的笛卡尔位置。图2的坐标变换处理(块2506)进行图11中所示的惯性参照系(Ri)、多边形系(Rp)(附接到多边形虚拟对象的参照系)、以及立体像素系(Rv)(附接到立体像素阵列的参照系)之间的坐标变换。一旦触觉表达处理确定出HIP对于多边形对象参照系(Rp)的位置,触觉表达处理进展到步骤S710,并通过查看被占据的立体像素及相邻立体像素来搜索候选多边形对象。在步骤S712中,触觉表达处理检查碰撞(例如,自上个表达循环以来HIP穿过多边形对象)并基于理想的虚拟替身(proxy)行为(如下面结合图12、13所述)确定虚拟替身点位置(例如HIP沿着虚拟对象表面的受约束位置)。在步骤S714中,将器械坐标中预定的理想刚度和阻尼矩阵变换到惯性参照系坐标。在步骤S716中,基于由将HIP与触觉设备30耦合的虚拟弹簧和阻尼力定义的虚拟表面的理想硬度,计算出通过触觉设备30反馈给用户的触力。在步骤S718中,通过触觉设备30将算出的触力显示或反映给用户。
如图12和13中所示,可基于HIP在当前时刻t的位置(HIP(t))以及HIP在前一时刻(t-1)的位置(HIP(t-1))确定出初始虚拟替身点的位置。例如,当HIP在虚拟对象以外时,触觉表达处理通过检测包括虚拟对象的多边形表面对象与在位置HIP(t)和HIP(t-1)之间延伸的线段(L)之间的交叉来检查HIP与虚拟对象表面之间的初始接触。初始虚拟替身点的位置VPt算作线段(L)与多边形表面对象的交点。
图14示出详细说明按照本发明基于多边形表面对象的触觉表达算法(图2的块2508)的实施例的流程图。在步骤S100中,更新HIP(t)的位置并将其变换到多边形参照系。在步骤S101中,该算法确定出collisionDetectedFlag(t-1)的值是否为1,即是否已检测到碰撞。如果collisionDetectedFlag未置,则意味着在(t-1)没有检测到碰撞,在步骤S103中,算法将HIP(t)映射到立体像素坐标。在步骤S105中,算法确定出HIP(t)是否在立体像素边界盒内。如果不在,则当前没有检测到碰撞,算法推进到步骤S115,将用户感受到的触力设为零,步骤S117将collisionDetectedFlag(t)设为零,以及步骤S119时间前进到t=t+1。如果步骤S105确定出HIP(t)在立体像素边界盒以内,则算法推进到步骤S107,并沿着HIP(t)的线段从立体像素查找表中搜索候选多边形。在步骤S109中,算法从多边形查找表中获取多边形信息。在步骤S111中,算法测试HIP(t)的线段与多边形的交叉,并且在步骤S113中,确定是否检测到初始碰撞。如果没有检测到碰撞,则算法推进到如上所述的步骤S115、S117和S119。如果检测到碰撞,则算法推进到步骤S132(下面描述)。
相反,在步骤S101中,如果collisionDetectedFlag(t-1)的值为1,则算法采用流程图的右支。在步骤S102中,算法将HIP(t)映射到立体像素坐标。在步骤S104中,算法从立体像素查找表中搜索HIP(t)处的相邻多边形。在步骤S106中,算法从多边形查找表中获取多边形信息。在步骤S108中,测试各个相邻多边形以确定它是否与从HIP(t-1)到HIP(t)的线段交叉。在步骤S110中,算法利用此信息确定HIP(t)是否退出多边形。如果是,则HIP不再进入虚拟对象,并且算法推进到如上所述的步骤S115、S117、和S119。
如果步骤S110确定出HIP还没有退出多边形,则算法推进到步骤S112,其中算法将HIP(t)沿着多边形的相应表面法线矢量投影到各相邻的多边形。参照图15,如果被投影的HIP(t)在多边形内,则算法将多边形设置为在上多边形(On-Polygon),并存储交点。否则,算法找出多边形边界上离被投影的HIP(t)最近的点(都在多边形的平面内)并存储该点。对每个相邻多边形重复此处理。然后算法基于来自前一时刻循环的活动多边形AP(t-1)是否在步骤22中被设置为在上多边形以及在当前循环中是否仅有单一多边形被设置为在上多边形做出决定点。各种情况如下所述进行处理。
在步骤S114中,算法确定出之前的活动多边形(其上与虚拟替身点接触)是否仍为在上多边形。如果是,在步骤S124(活动多边形优先ActivePolyPriority)中,这个多边形的表面具有成为活动多边形的优先权,即使其他多边形被认为是在上多边形。AP(t)因此被保留,并且虚拟替身点VP(t)被设置在活动多边形的表面上的最近点。通过从HIP(t)画出到最近活动多边形表面的垂线确定出这个在时刻(t)的虚拟替身点VP(t)。
例如,图15a示出由两个毗连的表面540和542定义的虚拟对象的凸部。当HIP在t-1时刻处在位置544时,表面540为在上多边形,而542不是在上多边形。虚拟替身点位置在(t-1)时刻处在位置548。如果HIP移动到位置546,则表面540和542都为在上多边形,并且位置550和552为替身点位置的候选。在这种情形下,表面540将被选为活动多边形,并且替身点位置被更新为位置550。通过这种方式给予之前的活动多边形优先权避免了将位置552选为替身点,该位置552将导致替身点位置以及用户经历的所产生的触觉相互作用力的不自然跳跃。即,当HIP从其位置HIP(t-1)544移动到HIP(t)546时,用户感受到的力应当垂直于表面540,而不是非连续地改变方向变成垂直于表面542。
如果步骤S114确定之前的活动多边形不是在上多边形,则算法推进到步骤S116,确定是否检测到单个在上多边形。如果在步骤S116中不是检测到单个在上多边形,则算法在步骤S120中再次检查。如果在步骤S116中检测到单个的在上多边形,则算法推进到步骤S118,并且在步骤S120中再次检查单个在上多边形之前为凸角增加在上多边形。如果在步骤S120中检测到单个在上多边形,则算法推进到步骤S126,用如下所述新的多边形更新活动多边形。如果在步骤S120中不是检测到单个在上多边形,则算法推进到步骤S122并确定是否检测到多个在上多边形。如果检测到多个在上多边形,则算法推进到步骤S128,基于以下描述的力矢量偏离标准选择活动多边形。否则,算法推进到步骤S130,基于以下描述的最小力标准选择活动多边形。
在步骤S126(在上多边形优先(OnPolygonPriority))中,用新的在上多边形更新AP(t),并将VP(t)设置在活动多边形表面上的最近点。例如,如图16中所示,虚拟对象具有两个毗连表面554和556。在(t-1)时刻,HIP在位置558,并且替身点在位置562。当HIP从位置558向位置560移动跨过表面边界线564时,表面556变成在上多边形,并且位置566变成新的替身点位置。于是,如果检测到新的单个在上多边形,则新的单个在上多边形变成活动多边形。
在步骤S128中(连续表面优先(ContinuousSurfacePriority)),基于力矢量偏离标准选择AP(t),并将VP(t)设置在活动多边形表面的最近点。如图17中所示,算法检测多个新的在上多边形,图17示出由三个表面568、570、和572定义的虚拟对象的凸部。当HIP从位置574移动到位置578时,算法检测到两个新的在上多边形表面570和572。于是,位置580和582为新的虚拟替身点位置的候选。在这种情形下,算法排除阻尼因素,计算力矢量的可能候选,并比较力矢量偏离与之前力矢量偏离。算法确定出活动多边形使得以下目标函数最小化:
J continuousSurface = min i | | f si , t - f t - 1 | | ]]>
其中fsi,t表示通过HIP的当前位置以及第i个多边形上的虚拟替身点的可能位置定义的弹力矢量的单位矢量,ft-1表示前一时刻显示的触力的单位矢量。在一个实施例中,表面570将成为新的活动多边形,而位置580将成为新的替身点位置。
在步骤S130(最小力优先(MinimumForcePriority))中,AP(t)基于最小力标准,并且VP(t)设置在活动多边形表面上的最近点。如图18中所示,HIP位于检测不到在上多边形的位置。图18示出由三个表面584、586、和588定义的虚拟对象的凹部。当HIP从位置590移动到位置594时,没有表面为在上多边形。位置596为离表面586和584最近的点,位置598为离表面588最近的点。在这种情形下,算法计算当前HIP与可能的替身点位置之间的距离,并确定出虚拟替身位置从而最小化以下目标函数:
J min imumSpringForce = min i | | x hip - x i , vp | | ]]>
其中xi,vp表示第i个多边形上的可能虚拟替身点的位置,xhip表示当前触觉接口点的位置。在这种情形下,算法依赖于表面584和表面586的处理顺序将表面584或表面586设置为在上多边形,位置596将成为替身点位置。
在步骤S132(接触多边形优先(ContactPolygonPriority))中,用交叉的多边形更新AP(t),并且将VP(t)设置为活动多边形表面上的最近点。在算法检测到一个在上多边形对象以及多个凹面的情况下,当触觉接口点位于凹角中时,算法增加在上多边形对象。在这种情形下,应用程序将凹多边形表面设置为在上多边形从而连续触觉表达可发生在凹角处。图19和20示出由三个表面500、502和504表示的凹角部分。图19为角的x-y视图,而图20为角的y-z视图。当触觉接口点从位置506(对于替身点位置508)移动到位置510(图20)时,其进或出图19的页面,表面504变成唯一的在上多边形对象。为了避免由于在上多边形优先行为导致算法将表面504设置为活动多边形表面并选择位置514为替身点位置的情形,算法将两个凹面500和502增加为在上多边形对象。结果,按照连续表面优先行为,位置512将成为替身点位置。
在步骤S134中,将以器械坐标定义为常参数的刚度和阻尼矩阵变换到惯性坐标系中。当物理触觉系统30具有诸如缆绳驱动传动和直接驱动传动的不同的传动设备时,因为物理系统在不同的方向具有不同运动属性,因此各向同性的空间刚度和阻尼增益可引起不稳定性。出于这个原因,需要将可能相对于器械坐标定义的空间刚度和阻尼矩阵变换到惯性坐标系中。算法基于当前的旋转和平移矩阵计算伴随变换矩阵,并对空间刚度和阻尼矩阵进行变换。用TKs和IKs分别表示在器械系和惯性系中测得的刚度矩阵。用Adg表示伴随变换矩阵,给出为
Ad g = R p ^ R 0 R ]]>
给定矢量p=(px,py,pz)T,表示用来表示作为矩阵-矢量乘积的叉积的斜对称矩阵:
p ^ = 0 - p x p y p x 0 - p z - p y p z 0 ]]>
其中R为旋转矩阵,而p为平移矢量。
算法计算惯性系中的刚度矩阵:
K S I = ad g T K S T Ad g ]]>
在步骤S136中,算法按照虎克定律基于触觉接口点的位置和虚拟替身点位置计算弹性触力矢量:
Fspring(t)=IKS(xvp-xhip)
其中xvp表示当前虚拟替身点的位置,而xhip表示当前触觉接口点的位置。
在步骤S138中,算法基于触觉接口点与虚拟替身点之间的相对运动计算阻尼触力矢量:
F damping ( t ) = K D I ( x . vp - x . hip ) ]]>
其中表示虚拟替身点的速度,表示触觉接口点的速度,而IKD表示惯性系中的空间阻尼矩阵。
在步骤S140中,阻尼力与弹性力之和作为想要的力输出发送给物理触觉设备30(图5中的步骤S718)。在控制触觉设备30的执行器(图2的块2512)输出力反馈以前,力映射处理(图2的块2510)将想要的力Fdesired转换为接点(joint)力矩τ:
τ=JTFdesired
其中JT为雅可比变换。然后计算系统20控制触觉设备30的执行器输出接点力矩τ。
在步骤S142中,将collisionDetectedFlag(t)置为1。在步骤S144中,时刻(t)前进到(t+1)。
在触觉设备驱动(例如马达)与位置输出(例如接点)之间的传动可能有柔量(compliance)、空回、滞后、或非线形的情况下,在传动的驱动端与负载端都包括位置传感器是有益的。负载端传感器用来计算所有接点与端点位置,因为它们将最准确地反映实际值。驱动端传感器用来计算任何阻尼运算中的速度,诸如上述Fdamping,其帮助避免激发传动运动。
按照一个实施例,基于触觉设备30的部分(例如器械50)向与人体表示关联的虚拟(或触觉)边界的靠近来确定触觉设备30的理想力反馈(或输出扭转)。于是,如果器械50位于离触觉边界足够的距离,则控制器不命令产生触力,并且用户自由移动器械50,就象在空的空间中进行一样。
然而,当器械50接近或接触触觉边界时,控制器向马达发出力矩命令,从而向用户的手施加适当的扭转。优选地,力反馈的量随着器械50靠近虚拟边界而增大,并且不呈现可能引起振荡或不想要的振动的不连续阶跃。例如,当器械50靠近触觉边界时,触觉设备30可在与用户移动器械50的方向相反的方向上施加力,从而用户感受到减慢和/或停止器械50的运动的排斥或反作用力。在一个实施例中,当器械50继续向触觉边界运动时,力增大的速率可以,例如,在5N/mm至50N/mm的范围内。在另一实施例中,力增大的速率可为大约20N/mm。通过这种方式,约束用户不要进入触觉边界太深。
当器械50接触触觉边界时,力可为使得用户感觉到好象器械50碰到如墙壁的实际物体一样。力的大小可阻止用户进入触觉边界(例如约100N或更大的量),但优选地设置为使得用户可根据希望突破触觉边界(例如在约20N至约60N的范围内的量)。于是,可将计算系统20编程为允许用户克服力反馈并将触觉设备30移动到想要的位置。通过这种方式,触觉设备30限制用户无意地闯入触觉边界,但是用户可以压倒触觉设备30,于是保留对手术过程的完全控制。
在一个实施例中,手术系统10包括用于针对特定用户定制触觉对象的力反馈函数的触觉调节特性。这种特性有利是因为每个用户具有独特的手术技术。于是,当操作器械50时,不同用户可使用不同大小的力。例如,利用轻的接触方式操作器械50的用户可比利用较重接触方式的用户更早感觉出触觉反馈。并不要求利用较重接触方式的用户改变他的手术技术以充分感受到触觉反馈,而是触觉调节特性使得能够调节力反馈函数以适应各特定用户。通过调整(或调节)力反馈函数,用户能以他喜欢的力度操作器械50,并且仍充分地感受触觉设备30施加的触觉反馈。结果,提高了用户将器械保留在触觉边界内的能力。例如,力反馈曲线包括将力F与距离d相关联的函数F(d)。函数F(d)例如可从触觉对象、耦合刚度、或刚度函数得出,或为它们的积。在一个实施例中,Fi为针对用户(或用户组)的典型触觉相互作用力,而di为进入深度或距离(例如器械50进入触觉对象中),其中Fi=F(di)成立。向左偏移或偏置函数F(d)例如di,得到力反馈函数F(d+di),其引起在器械靠近触觉边界时力F被较早地施加(即,在进入距离为-di而不是进入距离为零处开始)。类似地,向右偏移或偏置F(d)引起在器械靠近触觉边界时力F被较晚地施加。
于是,对于手术技术较为有力的用户,向左偏置函数F(d)有利地阻止用户无意地推入触觉边界太深。于是,可通过偏置用于控制触觉设备30的力反馈曲线一个理想值来完成触觉调节。还可通过改变触觉对象的大小来完成触觉调节。例如,可增大排斥触觉对象的大小来影响触觉对象。类似地,可改变与触觉设备30耦合的手术器械的表示的大小。例如,可增加与触觉对象相互作用的虚拟器械的尖端的半径大小来影响虚拟器械。对于作为容器的触觉对象,可通过例如减小触觉对象的大小来完成调节。
参照图21,骨骼1000将被去除一个区域以允许植入物在由骨骼去除形成的腔中固定。由理想预期切除表面1002定义此腔,使得当用户将骨材料从骨骼1000去除时触觉接口产生适当的力。在距预期切除表面1002预定常数距离(x)处定义被称为初级替身表面的第二表面1004。
在预期切除表面1002与初级替身表面1004之间定义被称为次级替身表面的第三表面1010。该次级替身表面1010位于预期切除表面1002和初级替身表面1004之间,离初级替身表面1004理想偏置距离(a)。
参照图21和21a,在此触觉表示内,力在该点处被产生的位置为HIP1020。初级替身表面1004上与HIP 1020垂直投影在初级替身表面1004上的位置对应的位置被称为初级替身Pi 1024。次级替身表面1010上与HIP 1020垂直投影在次级替身表面1010上的位置对应的位置被称为次级替身Si 1026。
施加在HIP 1020处的力部分地由HIP 1020相对触觉空间中的次级替身1026的位置决定。如果进入深度(d)小于理想偏置距离(a),则力被导向初级替身1024,并且力为HIP 1020与初级替身1024之间距离的第一函数。在一个实施例中,力为常量,例如0。
当骨骼被去除并且HIP 1020向预期切除表面1002移动时,HIP1020到达次级替身表面1010的位置。在此位置,计算出新的力替代原来的力。该新的力被导向次级替身1026,并具有部分地由HIP 1020与次级替身1026之间的距离决定的量。在一个实施例中,力线性正比于次级替身与理想位置之间的距离。
于是,手术师可去除骨骼而不感受到阻力,直到到达骨骼中的预定深度。在这点,随着器械接近预期切除表面产生越来越大的阻力。然后算法的步骤变成,定义偏置(a)并计算作为当前时刻HIP 1020与初级替身1024之间的绝对值的进入深度(d)。
d=‖(Pi-HIP)‖
接着从下式确定单位力矢量:
u ^ = ( P i - HIP ) / | | P i - HIP | | ]]>
然后通过初级替身、力矢量以及进入深度定义次级替身(Si):
S i = P i - u ^ · d ]]>
按照下式部分地通过弹性常数(Kp)确定施加的弹力:
F=常数(例如0),如果d<a,
Kp(Si-HIP),其余。
为使各个用户能调节力反馈函数,计算系统20优选地包括实现能在显示设备23上显示的图形选择界面的编程。例如,图形选择界面可为使用户能够在例如0.0到1.0之间设置调节值的图形界面和/或使用户能够选择例如用于“轻”、“中”、或“重”接触的调节的图形界面。还可将计算系统20编程为存储调节设置的理想值,并将理想值与特定用户关联(例如使用与用户偏好数据文件绑定的用户ID),从而用户不必在每次使用手术系统10之前选择调节设置。
再次参照图1,所示的典型触觉机器人包括很多接点并驱动所有设计的接点将端实施器移动到空间中的任何点并向用户提供可触知的反馈。图1的机器人具有多个自由度,包括基底、肩关节、肘关节和腕关节的旋转。各关节通过传动驱动,在不同实施例中包括定向在滑轮上的两条缆绳或直接驱动马达。在笛卡尔触觉空间上/或笛卡尔触觉空间中的点处的力由下式给出
F Cartesian = f ( x hip , x proxy , K p , x . hip , x . proxy , K d ) ]]>
其中:xhip为触觉相互作用点;xproxy为表面上对应HIP位置的位置;Kp为弹性恢复力常数;为触觉相互作用点的速度;为替身的速度;Kd为阻尼力常数。可通过应用雅可比变换将把接点带到或保持在位置上所需的接点上的力矩计算为在笛卡尔空间中移动位置所需的力:
τjoint=JTFcartesion
触觉反馈的稳定性,即避免希望位置处的振荡,在一个实施例中由函数给出:
触觉稳定性=f(a1,a2,a3,a4)
其中a1为采样时间的函数(例如1KHz);a2为传感器分辨率的函数;a3为用于传动的弹性常数Kp以及阻尼常数Kd的函数;a4为物理阻尼(例如摩擦)的函数。
施加给HIP的阻尼力(Fd)由以下等式给出:
Fd=Kd(dx/dtHIP-dx/dtproxy)
其中dx/dt=Jdθi/dt
以及dθ/dt=[dθ1c/dt,dθ2c/dt,dθ3c/dt,dθ4c/dt,dθ5d/dt]T
其中dθc/dt为缆绳驱动接点的接点速度,而dθd/dt为直接驱动接点的速度。缆绳驱动接点具有传动柔量。接点与马达之间的传动柔量在接点速度计算中引入的相位延迟比直接驱动接点大。在混合驱动系统中,即具有直接和传动驱动二者的系统,在接点空间中实现阻尼作用是有益的,使得直接驱动的接点将不会受到来自任何缆绳驱动接点的接点速度计算的相位延迟的影响。有两种方法来实现,接点空间弹性与阻尼力方法或者笛卡尔空间力与接点空间阻尼方法。
在接点空间弹性与阻尼方法中:首先HIP与替身的接点角度由下式定义:
θproxy=inverse kinematic(pi)以及
θHIP=inverse kinematic(hi)
其中p和h分别为替身位置和HIP位置。
在一个实施例中,接点空间刚度和阻尼系数通过以下等式从θ的雅可比对角线得到:
Kpj≈JT(θ)KpxJ(θ)
Kdj≈JT(θ)KdxJ(θ)
在其他实施例中,接点空间刚度Kpj和阻尼系数Kdj通过其他方法获得,诸如设置预定的固定值、调度等。
最后,由角度和角速度计算力矩:
τ=Kpj(θproxy-θHIP)-Kdjdθ/dt
在笛卡尔空间弹性与接点空间阻尼方法中,笛卡尔弹力由下式定义:
Fspring=Kpx(pi-hi)
其中Kpx为笛卡尔弹性力常数,而(pi-hi)为替身点位置(p)与HIP的位置(h)之间的距离。与弹力等价的对应接点力矩(τspring)于是为:
τspring=JTFspring
在一个实施例中,接着计算阻尼力矩(τdamping)。当用户沿表面移动时,接点空间阻尼算法引起拖曳力。为了消除沿着表面的此摩擦力,进行以下步骤:
首先,形成扭转矢量F6,其为力/动量对:
F 6 = F M ]]>
其中F6为普通的力(扭转)矢量,F6∈R6,且F∈R3表示笛卡尔力矢量,F∈R3(M∈R3)表示笛卡尔动量矢量。
接着,计算扭转方向矢量, u = F 6 | | F 6 | | . ]]>
将扭转方向矢量映射成相应的接点空间矢量:
v=JT(θ)u
然后计算权重因子 w = | v | | v | , ]]> |v|∞=max{|v|i},i=1,...,n,并且按照下式计算阻尼力
τ damp ln g = w 1 0 0 0 0 0 0 w 2 0 0 0 0 0 0 w 3 0 0 0 0 0 0 w 4 0 0 0 0 0 0 w 5 0 0 0 0 0 0 w 6 &CenterDot; K dj 1 0 0 0 0 0 0 K dj 2 0 0 0 0 0 0 K dj 3 0 0 0 0 0 0 K dj 4 0 0 0 0 0 0 K dj 5 0 0 0 0 0 0 K dj 6 &CenterDot; θ . 1 θ . 2 θ . 3 θ . 4 θ . 5 θ . 6 ]]>
最后合并两个接点力矩
τ=(τdamping)+(τspring)
以上对本发明不同实施例进行描述是为了使本领域技术人员能够做出和使用本发明及其实施例。可以对这些实施例进行各种修改,并且在此提出的一般原则同样适用于其他实施例。
尽管已经就某些示例性的优选实施例对本发明进行了描述,本领域普通技术人员将很容易理解和承认本发明并非局限于此,可在本发明如以下所主张的范围内对优选实施例进行增、删、和修改。相应地,本发明的范围仅由所附的权利要求限定。

用于触觉表达的装置和方法.pdf_第1页
第1页 / 共46页
用于触觉表达的装置和方法.pdf_第2页
第2页 / 共46页
用于触觉表达的装置和方法.pdf_第3页
第3页 / 共46页
点击查看更多>>
资源描述

《用于触觉表达的装置和方法.pdf》由会员分享,可在线阅读,更多相关《用于触觉表达的装置和方法.pdf(46页珍藏版)》请在专利查询网上搜索。

在一个方面,本发明涉及一种用于生成触觉障碍力的方法,在一个实施例中包括以下步骤:定义初级替身位置;定义次级替身位置;定义HIP位置;生成响应初级替身位置与HIP位置的第一力以及生成响应次级替身位置与HIP位置的第二力。。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人类生活必需 > 医学或兽医学;卫生学


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1