多个设备的控制的制作方法

文档序号:13688902阅读:164来源:国知局
多个设备的控制的制作方法

本专利申请要求2015年7月7日提交的标题为“多个设备的控制(controlofmultipledevices)”的美国临时专利申请62/189,523提交日的优先权和权益,其全部内容通过引用并入本文。



背景技术:

本说明书涉及控制系统。

微创医疗技术旨在减少在诊断或手术过程期间受损的无关组织的数量,从而缩短患者康复时间、减小患者的不舒适感并且减小有害的副作用。在美国每年执行数以百万计的手术。可潜在地以微创的方式执行这些手术中的多数。

手术中使用的微创系统可遥控操作、机器人操作或遥控和机器人两者操作。遥控操作是指远距离控制机器。在遥控操作的手术系统中,外科医生使用控制器控制插入体腔中的手术器械,而不是直接用手握住和移动器械。



技术实现要素:

通常,在本说明书中描述的主题的一个创新的方面可在方法中体现,该方法包括以下动作:在与手术系统相关联的控制子系统处,从通信耦合到控制子系统并由控制子系统控制的手术系统的第一患者方(patientside)子系统获得硬件配置信息;确定由控制子系统和第一患者方子系统使用的软件版本,其中确定软件版本包括从多个软件版本中选择软件版本,并且其中多个软件版本中的每个软件版本与特定患者方子系统相关联;指示第一患者方子系统使用软件版本;确定软件版本当前是否被加载到控制子系统上;响应于确定软件版本当前没有被加载到控制子系统上,将软件版本加载到控制子系统上;验证被加载到控制子系统和第一患者方子系统上的软件版本;以及利用软件版本初始化手术系统。

这方面的其他实施例包括相应计算机系统、装置和记录在一个或更多个计算机存储设备上的计算机程序,每个经配置以执行方法的动作。对于一个或更多个计算机的系统,其被配置以执行特定操作或动作意为系统在其上已安装了在操作中使系统执行操作或动作的软件、固件、硬件或其组合。对于一个或更多个计算机程序,其被配置以执行特定操作或动作意为一个或更多个程序包括指令,当被数据处理装置执行时,该指令使装置执行操作或动作。

前述和其他实施例可各自可选地包括以下特征中的一个或更多个,以单独或组合的形式。特别地,一个实施例以组合的形式包括所有以下特征。方法包括在确定软件版本之前验证第一患者方子系统的硬件配置。验证硬件配置包括确定硬件配置与控制子系统兼容。控制子系统包括手术系统的术者操作台(surgeonconsole)的组件,其中术者操作台被配置以向手术系统的操作人员提供控制功能。第一患者方子系统包括一个或更多个机械手,其经配置以握住和定位一个或更多个相应手术器械。

将软件版本加载到第一患者方子系统上包括:确定多个启动映像中的特定启动映像,其中特定启动映像包含软件版本;以及将第一患者方子系统从当前启动映像重启到特定启动映像。将第一患者方子系统从当前启动映像重启到特定启动映像包括:获得特定启动映像的第一标头块(headerblock);将获得的第一标头块还原到特定启动映像;存储当前启动映像的第二标头块的副本;以及在还原和存储之后,使当前启动映像的第二标头块无效。将第一患者方子系统从当前启动映像重启到特定启动映像包括:存储识别特定启动映像的参数;通过启动加载器读取存储的参数;以及基于存储的参数,通过启动加载器选择特定启动映像。将软件版本加载到第一患者方子系统上包括:确定多个模块中的一个或更多个特定模块,其中特定模块包含软件版本;以及加载特定模块。

确定软件版本是基于控制子系统和第一患者方子系统之间的协作。验证软件版本包括:确定控制子系统和第一患者方子系统是否具有加载的软件版本;以及响应于确定控制子系统或第一患者方子系统中的一个或更多个尚未加载确定的软件版本,生成错误消息并且至少防止在手术系统中使用的子系统的初始化。

方法包括耦合一个或更多个配件设备到手术系统,其中一个或更多个配件设备对于第一患者方子系统不是特定的。方法进一步包括:辨认第二患者方子系统已通信耦合到控制器子系统;获得关于第二患者方子系统的硬件信息;验证第二患者方子系统的硬件信息;以及指示第二患者方子系统加载确定的软件版本。方法进一步包括:辨认第二患者方子系统已通信耦合到控制器子系统;获得关于第二患者方子系统的硬件信息;验证第二患者方子系统的硬件信息;以及将第二软件版本加载到控制子系统上,其中第二软件版本对应于被加载到第二患者方子系统上的软件。基于当前被加载到控制器子系统上的软件版本确定软件版本。基于当前被加载到第一患者方子系统上的软件版本确定软件版本。

通常,在本说明书中描述的主题的一个创新的方面可在方法中体现,该方法包括以下动作:在手术系统的第一子系统接收指令以将特定软件版本加载到第一子系统上,其中特定子系统是与多个子系统中的各个子系统相关联的多个软件版本中的一个,并且其中第一子系统包括多个配置,其包括当前被配置在第一子系统上的第一配置;确定特定软件版本位于第二配置;存储对应于第二配置的数据;配置子系统到第二配置;以及加载特定软件版本。

这方面的其他实施例包括相应计算机系统、装置和记录在一个或更多个计算机存储设备上的计算机程序,每个经配置以执行方法的动作。对于一个或更多个计算机的系统,其被配置以执行特定操作或动作意为系统在其上已安装了在操作中使系统执行操作或动作的软件、固件、硬件或其组合。对于一个或更多个计算机程序,其被配置以执行特定操作或动作意为一个或更多个程序包括指令,当被数据处理装置执行时,该指令使装置执行操作或动作。

前述和其他实施例可各自可选地包括以下特征中的一个或更多个,以单独或组合的形式。方法包括响应于接受指令以加载特定软件版本,下载第二配置。第一配置包括第一启动映像,第二配置包括第二启动映像,并且其中存储对应于第二配置的数据包括:还原第二启动的第一标头块以使第二启动映像有效;存储第一启动映像的第二标头块的副本;以及在还原和存储之后,使第一启动映像的标头块无效。

响应于配置子系统之前的中断:确定来自第一启动映像和第二启动映像的有效启动映像;将子系统重启到有效启动映像;确定有效启动映像是否是第二启动映像;以及响应于确定有效启动映像不是第二启动映像,将第一标头块还原到第二启动映像,使第一启动映像的标头块无效,并且将子系统重启到第二启动映像。

第一配置包括第一启动映像,第二配置包括第二启动映像,并且其中将子系统重启到第二配置包括:通过由启动加载器读取存储的数据,将子系统重启到第二配置;以及基于存储的数据,通过启动加载器选择第二启动映像。第一配置包括第一组模块,第二配置包括第二组模块,并且其中配置子系统到第二配置包括加载特定模块。

通常,在本说明书中描述的主题的一个创新的方面可在包括多个子系统的系统中体现,其包括:控制子系统、第一患者方子系统和第二患者方子系统,其中第一患者方子系统与第一软件配置相关联并且第二患者方子系统与第二软件配置相关联,第二软件配置不同于第一软件配置,其中控制子系统配置系统,其中配置系统包括确定控制子系统和第一患者方子系统的第一组合或控制子系统和第二患者方子系统的第二组合是否通信耦合在一起并且,响应于该确定,选择由第一组合或第二组合使用的特定软件配置并且在验证软件配置之后初始化系统。

前述和其他实施例可各自可选地包括以下特征中的一个或更多个,以单独或组合的形式。配置系统包括将确定的软件配置加载到控制子系统上。第一患者方子系统具有第一硬件配置,并且其中在确定特定软件配置之前,控制子系统确定第一硬件配置对于包括控制子系统和第一患者方子系统的系统有效。在第一组合中第一患者方子系统通信耦合到控制子系统,并且其中配置系统包括将指令从控制子系统传送到第一患者方子系统以加载确定的软件配置。控制子系统包括手术系统的术者操作台的组件,其中术者操作台被配置以向手术系统的操作人员提供控制功能。

通常,在本说明书中描述的主题的一个创新的方面可在方法中体现,该方法包括以下动作:选择第一患者方子系统以通信耦合到控制子系统,其中从多个患者方子系统中选择第一患者方子系统,其中每个患者方子系统具有不同的默认软件配置;配置手术系统,其包括控制子系统和第一患者方子系统,其中配置手术系统包括:确定由控制子系统和第一患者方子系统中的每个使用的特定软件配置;响应于确定特定软件配置不同于当前被加载到第一患者方子系统上的第一软件配置,指示第一患者方子系统使用特定软件版本;并且响应于确定特定软件配置不同于当前被加载到控制子系统上的第二软件配置,将特定软件配置加载到控制子系统上;以及利用特定软件版本初始化手术系统。这方面的其他实施例包括相应计算机系统、装置和记录在一个或更多个计算机存储设备上的计算机程序,每个经配置以执行方法的动作。对于一个或更多个计算机的系统,其被配置以执行特定操作或动作意为系统在其上已安装了在操作中使系统执行操作或动作的软件、固件、硬件或其组合。对于一个或更多个计算机程序,其被配置以执行特定操作或动作意为一个或更多个程序包括指令,当被数据处理装置执行时,该指令使装置执行操作或动作。

通常,在本说明书中描述的主题的一个创新的方面可在方法中体现,该方法包括以下动作:利用手术系统的第一控制子系统和第一患者方子系统提供手术功能;在手术系统提供手术功能时,选择新的手术子系统以通信耦合到手术系统,该新的手术子系统是由第二控制子系统和第二患者方子系统组成的组的一个;以及当手术系统提供手术功能时,通过以下步骤将新的手术子系统添加到手术系统且不中断手术功能:确定由手术系统使用的特定软件配置没有被加载到新的手术子系统上;以及在维持利用第一控制子系统和第一患者方子系统的手术功能时,将特定软件配置加载到新的手术子系统上。

这方面的其他实施例包括相应计算机系统、装置和记录在一个或更多个计算机存储设备上的计算机程序,每个经配置以执行方法的动作。对于一个或更多个计算机的系统,其被配置以执行特定操作或动作意为系统在其上已安装了在操作中使系统执行操作或动作的软件、固件、硬件或其组合。对于一个或更多个计算机程序,其被配置以执行特定操作或动作意为一个或更多个程序包括指令,当被数据处理装置执行时,该指令使装置执行操作或动作。

前述和其他实施例可各自可选地包括以下特征中的一个或更多个,以单独或组合的形式。将特定软件配置加载到新的手术子系统上包括:确定多个启动映像中的特定启动映像,其中特定启动映像包含特定软件配置;以及将新的手术子系统从当前启动映像重启到特定启动映像。将新的手术子系统从当前启动映像重启到特定启动映像包括:获得特定启动映像的第一标头块;将获得的第一标头块还原到特定启动映像;存储当前启动映像的第二标头块的副本;以及在还原和存储之后,使当前启动映像的第二标头块无效。将新的手术子系统从当前启动映像重启到特定启动映像包括:存储识别特定启动映像的参数;通过启动加载器读取存储的参数;以及基于存储的参数,通过启动加载器选择特定启动映像。将特定软件配置加载到新的手术子系统上包括:确定多个模块中的一个或更多个特定模块,其中特定模块包含特定配置;以及加载特定模块。确定由手术系统使用的特定软件配置没有被加载到新的手术子系统上是基于当前被加载到第一控制子系统上的特定软件配置。确定由手术系统使用的特定软件配置没有被加载到新的手术子系统上是基于当前被加载到第一患者方子系统上的特定软件配置。

可实施在本说明书中描述的主题的特定实施例以便实现以下优势中的零个、一个或更多个。具有多个子系统的手术系统可被设置或配置以使用通用软件版本。因此,通用系统中可使用具有不同的硬件和软件配置的子系统使得供应商不需要获得多个完全分开的(fullseparate)手术系统。验证硬件和软件配置以防止手术系统以无效配置运行。

使用不同的硬件和子系统以及软件配置的能力为制造商提供测试优势。当现场存在多个硬件子系统时,每个具有多个软件配置,制造商的测试负担可能会很高。在常规系统中,为了允许客户可互换使用硬件和软件,制造商必须测试所有可能的组合。如本说明书中描述的,在将多个子系统一起耦合之后的重新编程和/或重新配置的能力允许一个特定子系统在不同的系统配置中使用且不用必须测试所有可能的组合。子系统的每个有效的组合具有与其相关联的特定测试的软件版本,并且子系统在运行中(onthefly)重新配置到该软件版本。

在本说明书中描述的主题的一个或更多个实施例的细节在下面的附图和描述中被阐明。主题的其他特征、方面和优势将从描述、附图以及权利要求中变得明显。

附图说明

图1显示了用于执行遥控操作的手术的示例环境的平面视图。

图2是耦合与不同的手术系统相关联的子系统的示例系统的图。

图3是用于配置在手术系统中一起使用的控制操作台和其他子系统的示例过程的流程图。

图4是用于将新的子系统添加到预配置的手术系统的示例过程的流程图。

图5是用于加载软件版本的示例过程的流程图。

图6a-6c是用于重新配置子系统到特定软件版本的示例过程的流程图。

在各种图中的类似的附图标记和名称指示类似的元件。

具体实施方式

通过插入手术器械穿过患者身体中的端口(port)执行微创手术。在一些实施方式中,外科医生使用术者操作台至少部分遥控操作手术器械。在遥控操作的手术系统中,(例如,使用立体映像)为外科医生提供手术部位的映像。当在合适的观察器或显示器上观察手术部位时,外科医生通过移动一个或更多个控制输入设备对患者执行手术程序,其轮流控制相应遥控操作的手术器械的运动。

遥控操作的手术器械一般被插入穿过一个或更多个端口以例如在患者体内的手术部位处治疗组织。端口是常用术语,其指示手术器械进入患者身体的位置。端口可以是人为创造的或自然的开口。例如,端口可来自切口或者可对应于自然身体孔口(例如口腔)。

手术系统一般包括两个或更多个子系统组件。子系统组件可包括一个或更多个患者方子系统,其握住和定位手术器械;一个或更多个控制操作台子系统,其由外科医生使用以控制由患者方子系统握住的手术器械;和一个或多个辅助设备单元,其可包括与手术系统相关联的设备,如用于使用一个或更多个摄像机以捕获手术现场映像的摄像机控制设备、手术现场照明设备、电外科能量生成、用于手术系统的中央或分布式数据处理设备等。在一些实施方式中,也使用控制操作台管理手术系统的设置和配置。示例手术系统是由加利福尼亚州桑尼维尔市的直观外科公司(intuitivesurgical,inc.)商业化的daxitm手术系统(型号is4000)。

图1显示了用于执行遥控操作的手术的示例环境100的平面图。例如,环境100可以是操作室环境。环境100包括手术台102、第一控制操作台104、第一患者方子系统106、第二患者方子系统108,以及在这个示例中可选的第二控制操作台110。

第一和第二患者方子系统106和108各自支持一个或更多个手术器械或摄像机。例如,第一患者方子系统106是包括一个或更多个机械手的患者方子系统,一个或更多个机械手各自握住相应手术器械。第一控制操作台104(例如,响应于到一个或更多个相应控制器的用户输入)控制每个手术器械的尖端(tip)的移动。机械手可能是机器人操作、遥控操作或两者操作。

第二患者方子系统108可类似于第一患者方子系统。例如,第二患者方子系统108可包括用于提供患者体内手术现场的可视化的摄像机。第二患者方子系统108可包括可被插入体腔以提供手术现场的可视化的内窥镜。可向控制操作台104提供手术现场的视图。在一些实施方式中,第二患者方子系统108可包括摄像机及用于握住和定位相应手术器械的一个或更多个机械手两者。

第一控制操作台104是用于控制一个或更多个手术设备的术者操作台,该术者操作台作为对位于台102上的患者执行的部分手术程序。第一控制操作台104被用于控制一个或更多个手术器械的移动以执行特定手术程序。第一控制操作台104可包括由外科医生使用以控制相应手术器械的一个或更多个控制器。例如,第一控制操作台104可包括可移动操纵相应手术器械的手动控制器。在一些实施方式中,第一控制操作台104也包括提供通过一个或更多个摄像机提供的手术现场映像的观察器。第二控制操作台110一般以类似于第一控制操作台104的方式被配置,并且其可用于通过第二操作人员提供控制患者方子系统机械手,例如,用于在第一控制操作台104训练外科医生或用于通过提供除了来自第一控制操作台104的控制输入以外的控制输入执行复杂的程序。

存在各种遥控操作的患者方子系统,每个具有唯一的硬件配置和相关联的控制请求。例如,一个遥控操作的患者方手术系统可以是多端口手术系统,其中所有的手术器械通过单一的端口进入患者的身体。一个示例多端口系统被公开在美国专利申请公开号us2013/032503a1(2013年5月31日提交)中。第二遥控操作的患者方手术系统可以是单端口手术系统。一个示例单端口系统被公开在美国专利申请公开号us2011/0282356a1(2010年8月12日提交)。患者方手术系统可包括单臂或多臂系统,臂被安装在各种位置,如被公开在美国专利申请公开号us2004/0186345a1(2003年12月15日提交)、us2007/0013336a1(2005年5月19日提交)、us2007/0173975a1(2007年1月15日提交)和us2009/0163928a1(2007年12月21日提交)的那些。

同样地,可能存在各种遥控操作的控制子系统,每个具有唯一的配置,并且每个一般被设计以控制单个患者方子系统,使得唯一的控制子系统和患者方子系统对(沿着任何额外的辅助设备)形成单遥控操作的手术系统。例如,美国专利号6,132,368(1997年11月21日提交)、6,246,200(1999年8月3日提交)、us6,714,839b2(1999年9月17日提交)、us6,793,653b2(2001年12月8日提交)和us8,521,331b2(2009年11月13日提交)公开了遥控操作的控制子系统。

单遥控操作的手术系统可包括多于一个的遥控操作的控制子系统。例如,美国专利号us6,728,599b2(2001年9月7日提交)和us8,527,094b2(2005年12月27日提交)公开了两个或更多个控制子系统,每个由相应外科医生单独操作,并且两个控制子系统一起与控制单遥控操作的手术系统相关联。使用两个或更多个控制子系统促进一个外科医生训练另一个,或如果在患者方子系统中的遥控操作的手术设备的数量超过一个外科医生可独自控制时则其促进两个外科医生一起工作。

由此在已知的手术系统中,单个患者方子系统(其可包括一个或更多个分开的组件)由与单个患者方子系统唯一相关联的一个或更多个控制子系统控制。但是,如果健康中心供应商希望两个或更多个患者方子系统,则每个都具有唯一的硬件架构和相关联的控制软件配置,诸如经济的各种原因可能阻止供应商得到两个手术系统。

因此,在一方面,希望具有可以与两个或更多个唯一配置的患者方子系统一起使用的单控制子系统硬件配置。例如,单控制子系统和第一患者方子系统一起形成第一遥控操作的手术系统,并且单控制系统和第二患者方子系统一起形成第二遥控操作的手术系统。

类似地,在另一方面,希望具有两个或更多个子系统(每个具有类似或相同的硬件配置),其可与两个或更多个唯一配置的患者方子系统一起使用。例如,两个或更多个控制系统和第一患者方子系统一起形成第一遥控操作的手术系统,并且两个或更多个控制系统和第二患者方子系统一起形成第二遥控操作的手术系统。

在另一方面,希望具有单控制子系统硬件配置,或者两个或更多个控制系统硬件配置一起工作,其可与手术系统子系统而不是控制手术器械的患者方子系统一起使用。例如,单控制子系统和第一辅助子系统一起形成第一遥控操作的手术系统,并且单控制系统和第二辅助子系统一起形成第二遥控操作的手术系统。同样地,两个或更多个控制子系统和第一辅助子系统一起形成第一遥控操作的手术系统,并且两个或更多个控制子系统和第二辅助子系统一起形成第二遥控操作的手术系统。

并且仍然在另一方面,希望具有用于确定和实施在手术系统子系统之间形成两个或更多个唯一的手术系统的统一的软件配置的技术,不论系统或子系统当前的软件和/或硬件配置。

图2是耦合与不同的手术系统相关联的子系统的示例系统的图200。特别地,图2说明了控制操作台202、第一患者方子系统204和第二患者方子系统206。为了说明的目的,第一患者方子系统204和第二患者方子系统208各自与不同的硬件和软件配置(例如,特定软件版本)相关联、与不同的手术系统模块相关联。如下相对于图3-6详细描述的,使用用于在运行中重新编程的技术,使用术者控制操作台202以及第一患者方子系统204或第二患者方子系统206两者之一可配置和操作多个系统。

例如,可通过耦合术者控制操作台202与第一患者方子系统204形成第一手术系统208,并且根据特定软件配置来配置系统操作。可通过耦合术者控制操作台202与第二患者方子系统206形成第二手术系统210,并且根据特定软件配置来配置系统操作。第二手术系统210的特定软件配置可不同于第一手术系统208的特定软件配置。例如,第一手术系统208的特定软件配置可以是与第一患者方子系统204的特定硬件相关联的第一软件版本,而第二手术系统210的特定软件配置可以是与术者控制操作台202相关联的并且被加载到第二患者方子系统206上的第二软件版本。

每个患者方子系统可使用可以是有线或无线的一个或更多个数据链路耦合到术者控制操作台以形成特定手术系统。这些手术系统中的每个可能被给予有效的硬件配置用于每个患者方子系统并且确定如下描述的系统中的所有子系统使用的通用软件版本。在一些实施方式中,第一患者方子系统204和第二患者方子系统206具有相同的硬件配置但不同的软件版本。在一些其他的实施方式中,第一患者方子系统204和第二患者方子系统206具有不同的硬件配置和不同的软件版本。另外,通过在每个系统形成时确定有效的配置,所有可能的软件配置不都需要被测试。虽然没在图2中示出,基于额外的患者方子系统或额外的术者控制操作台或额外的辅助设备单元可形成进一步的系统。

在一些情况下,在设置术者控制操作台202和/或患者方子系统204之后可连接另一个术者控制操作台或另一个患者方子系统。例如,当发现需要另一个术者控制操作台或另一个患者方子系统时,术者控制操作台202和/或患者方子系统204可在操作中使用。例如,可能需要另一个术者控制操作台以允许第二外科医生在手术作业中观察或协助。在另一个示例中,可能需要另一个患者方子系统以提供现有患者方子系统204或206没有提供的手术工具。

在这种情况下,可能需要更新新添加的系统的软件。如下面将更详细描述的,在更新新添加的系统的同时,系统的其余部分可保持可用。

图3是用于配置控制操作台和其他子系统在手术系统中一起使用的示例过程300的流程图。在这个示例中,可由控制操作台(如图1的第一控制操作台104)执行过程300。但是,被指定为控制手术系统的设置和配置的特定子系统可使用类似的过程。

从一个或更多个子系统中的每个获得硬件配置信息(步骤302)。例如,控制操作台可具有与第一手术系统模型相关联的硬件配置。第二不同的子系统(例如,患者方子系统)可具有与第二手术系统模型相关联的硬件配置。选择性地,子系统可具有相同的硬件配置但是不同的软件配置。

在一些实施方式中,当子系统被耦合到控制操作台并且控制操作台被激活时,控制操作台向每个子系统发送该子系统的硬件配置的请求。在一些其他实施方式中,当子系统被耦合到控制操作台时,各个子系统中的每个将该子系统的硬件配置播送到相应控制操作台。

确定一个或更多个子系统中的每个的硬件配置有效(步骤304)。在一些实施方式中,该确定包括将从每个子系统接收的硬件的标识符和与控制操作台兼容的硬件配置的查找表进行比较。例如,特定硬件设计可能与控制操作台的特定控制软件不兼容。在另一个示例中,来自另一个制造商的硬件可能不被授权与控制操作台配对。

如果确定特定子系统的硬件配置无效,则生成错误。该错误可防止子系统被控制操作台控制。可在控制操作台上报告错误。也可向单个子系统报告错误。

响应于确定每个子系统的硬件配置有效,确定在所有子系统包括控制操作台上执行的软件版本(步骤306)。可以各种各样的方式确定由子系统执行的通用软件版本。在一些实施方式中,每个硬件配置与默认软件配置相关联。如果所有子系统与相同的默认软件配置相关联,则可以维护软件配置。确定软件版本可包括从多个软件版本中选择软件版本,并且其中每个软件版本与特定子系统相关联。

在一些实施方式中,特定子系统的默认软件配置确定整个手术系统使用的软件配置。例如,充当床旁机械臂车(patientcart)并且包括用于握住各个手术器械的一个或多个机械手的子系统的默认软件配置可确定由控制操作台及其他子系统(例如视频系统(visioncart))使用的软件配置。在一些实施方式中,控制操作台的软件配置可控制由所有子系统使用的软件配置。最后,当多个子系统包括在系统中时,与最大数量的各个子系统相关联的软件配置可被指定为由所有子系统使用的软件配置。

在一些实施方式中,每个子系统向例如指示由相应硬件配置支持的软件版本的控制操作台提供额外的信息。控制操作台可使用该额外的信息确定系统使用哪个软件版本。

在一些替换的实施方式中,使用一种合作技术,其中没有特定子系统被指定为领导者(leader),但是它们彼此协商以查看子系统之间的硬件和软件的特定组合是否被指定为有效且经测试的配置。

一旦确定了软件版本,控制操作台将指令传送到识别软件版本的每个子系统用于执行(步骤308)。在一些实施方式中,每个子系统接收指令确定软件版本是否是当前的软件版本。如果当前的版本不是确定的软件版本,则子系统加载确定的软件版本。可将软件版本存储到分开的磁盘映像上。

如果确定的软件版本当前没有被加载到控制操作台上,则控制操作台可被配置重启以加载确定的软件版本(步骤310)。在一些实施方式中,控制操作台包括多个磁盘映像。每个磁盘映像包括特定软件版本。加载特定的软件版本在下面相对于图5-6进行描述。

验证加载到每个子系统上的软件版本(步骤312)。特别地,验证确定正确的软件版本已被加载到每个子系统上。如果正确的软件版本尚未被加载,可生成错误,该错误防止手术系统的操作直到该错误被解决。在一些实施方式中,控制操作台验证每个子系统。在一些实施方式中,每个子系统执行自我验证且向控制操作台报告结果。验证后,手术系统可用加载的软件版本进行初始化。例如,可使用初始化的手术系统执行一个或更多个手术程序。

图4是用于将新的子系统添加到配置的手术系统的示例过程400的流程图。在这个示例中,可由控制操作台(如图1的第一控制操作台104)执行过程400。但是,任何合适的子系统可使用类似的过程。

将新的子系统通信耦合到手术系统(例如,通信耦合到手术系统的控制操作台)(步骤402)。例如,可在环境(例如,环境100,如包括控制操作台和第一子系统,第一子系统包括用于握住和定位一个或更多个手术器械的一个或更多个机械手)中初始设置手术系统。如上相对于图3描述的,手术系统可被设置特定软件版本。在一些后面的点,可添加额外的子系统。例如,具有相应机械手的额外的子系统可能是部分手术程序需要的。

获得新的子系统的硬件配置(404)。在一些实施方式中,当新的子系统耦合到控制操作台时,控制操作台向子系统发送该子系统的硬件配置的请求。在一些实施方式中,当新的子系统耦合到控制操作台时,子系统向控制操作台自动报告该子系统的硬件配置。

确定新的子系统的硬件配置有效(步骤406)。如上相对于图3描述的,在一些实施方式中,该确定包括将与新的子系统的硬件相关联的标识符和与控制操作台兼容的硬件配置的查找表进行比较。

响应于确定新的子系统的硬件配置有效,确定加载到新的子系统上以匹配手术系统的软件版本的软件版本(步骤408)。因为手术系统先前被配置,该确定可包括确定控制操作台和/或当前被配置且耦合到控制操作台的一个或更多个子系统的当前的软件版本。

一旦确定了软件版本,由控制操作台向识别软件版本的新的子系统传送指令用于执行(步骤410)。在一些实施方式中,新的子系统确定软件版本是否是新的子系统的当前的软件版本。如果当前的版本不是确定的软件版本,则新的子系统加载确定的软件版本。

控制操作台验证新的子系统的软件配置(步骤412)。特别地,验证确定正确的软件版本已被加载到新的子系统上。在一些实施方式中,在使用手术系统之前所有的子系统执行验证。

在配置新的子系统的同时,可能会进入控制操作台不能与子系统通信或控制子系统的错误状态。但是,当新的子系统在错误状态时,控制操作台和老的子系统可操作并且继续提供手术功能。亦即,在等待新的子系统完成其配置过程的同时,外科医生可使用控制操作台和第一子系统。

虽然该更新可以在手术前的设置中完成,但是如果在手术过程中添加新的子系统,则该功能可能是特别重要的。例如,在手术过程中可能会出现并发症,导致确定需要新的子系统。可能需要第二视角,并且由此可能需要第二观察台车(viewcart)。在另一个示例中,可能需要额外的手术器械以执行意外的程序,并且可添加具有所需器具的患者方车(patientsidecar)。在这些情况下,使用这些技术可允许添加新的手推车且不中断现有的控制操作台和现有的子系统的手术功能。

在一些实施方式中,是加载确定的软件版本(例如,匹配新的子系统的软件版本)的控制操作台而不是在步骤408指示新的子系统加载特定软件版本。将确定的软件版本加载到控制操作台上之后,在初始化手术系统以用于,例如,执行一个或更多个手术程序之前,控制操作台可作为整体验证系统的软件配置。

如果第二控制操作台是可用的并且不需要加载新的软件以响应新的子系统,则第二控制操作台可保留现有子系统的控制并且在其他控制操作台被配置的同时控制新的子系统。

例如,手术操作可具有两名外科医生,第一外科医生和第二外科医生。第一外科医生可使用第一控制操作台控制患者方车,并且第二外科医生可使用第二控制操作台控制第二患者方车。在手术的过程中,可确定添加需要的第三子系统。当添加了第三子系统,第一控制操作台能够如所配置的使用它,但需要升级第二操作控制台。

在这种情况下,第二控制操作台可加载新的软件版本以控制第三子系统。当第二控制操作台处于该更新的错误模式时,第一控制操作台可保持对第一子系统的控制,并且控制第三子系统和可选地控制第二子系统。

图5是用于加载软件版本的示例过程500的流程图。例如,在确定手术系统执行的软件版本之后可由控制操作台执行过程。响应于从识别手术系统执行的特定软件版本的控制操作台接收的指令,也可由子系统执行过程。

识别由子系统使用的特定软件版本(且其不是当前的软件版本)(步骤502)。一旦特定软件版本被识别,启动重启以执行软件版本(步骤504)。响应于启动重启,从多个启动映像或引导程序中确定包括软件版本的特定启动映像或引导程序(步骤506)。例如,子系统可包括各自具有加载到映像的特定软件版本的多个启动映像。子系统也可包括将特定启动映像映射到加载的软件版本的数据(例如,文件)。子系统可使用映射数据确定加载来自启动映像中的哪个启动映像。在另一个示例中,引导程序可通用到所有版本且可加载特定版本模块。由子系统加载确定的软件版本(步骤508)。相对于图6更详细地描述加载映像。

重启之后,子系统使用从启动映像加载的软件版本以执行子系统的功能(步骤510)。例如,如果子系统是具有一个或更多个机械手的床旁机械臂车(patientcart),则使用软件控制机械手的移动,响应于来自控制操作台的控制输入。

图6a-6c是用于将子系统重新配置到特定软件版本的示例过程600、625和650的流程图。例如,响应于从控制操作台接收的指令,可由控制操作台或由子系统执行这些过程600、625和650。这些过程600、625和650通常都可在控制操作台或子系统重启之后使用以便加载子系统的操作需要的特定软件版本。描述了两种不同类型的配置。过程600和625使用的第一类型的配置提供不同的启动映像以访问不同版本的软件。过程650使用的第二类型的配置提供不同的模块以访问不同版本的软件。

在过程600中,确定使用特定软件版本(步骤601)。例如,可通过确定手术系统使用的特定软件版本的控制操作台做出确定或响应于在子系统(例如,由操作控制台)接受的使用特定软件版本的指令做出确定。例如,子系统当前可执行在启动映像a中找到的软件版本a。该确定可使用在启动映像b中找到的软件版本b。

在过程600中,确定特定软件版本的位置。特别地,如果软件版本当前未被使用,则确定软件版本位于与当前的启动映像不同的启动映像上(步骤604)。控制操作台或其他子系统可包括多个启动映像。每个启动映像可与加载到启动映像的特定软件版本相关联。

响应于确定包含特定软件版本的不同的启动映像,存储启动映像的标头块(步骤606)。特别地,每个其他未使用的启动映像可具有存储在子系统的存储位置上的标头块的副本。如需要可检索各个标头块。由此,回到示例,启动映像b的标头块从来自分开的存储位置检索到的启动映像b的标头块的副本中还原。通过还原标头块,启动映像变成可启动的,例如通过子系统上的启动加载程序。

存储当前启动映像的标头块的副本(步骤608),例如,标头的副本可与其他未使用的启动映像的拷贝标头块一起存储。特别地,按照这个示例,启动映像a的标头块被拷贝到存储位置。

例如,通过归零标头块,使当前启动映像的标头块无效(步骤610)。在使启动映像a的标头块无效之后,启动映像a不再响应于重新启动而被启动。但是,现在标头已被还原到启动映像b,重新启动将从启动映像b启动,其将轮流加载软件版本b。将子系统重启到不同的启动映像(步骤612)。

在一些情境下,在相对于过程600描述的重新配置的过程期间出现中断。在那些情境下,系统取决于过程的状态决定加载哪个启动映像。由于在清零当前的启动映像之前顺序还原标头快到不同的启动映像,在中断的情况下,总会有至少一个有效的启动映像在重新启动时可用于加载。

例如,如果在标头已被还原到启动映像b之前出现中断,则启动映像a的标头仍然有效而启动映像b无效。中断后重新启动,子系统确定启动启动映像a并且可重新尝试切换到启动映像b,例如,如上所述,可还原启动映像b的标头并使启动映像a的标头无效。

在另一个示例中,如果在标头已被还原到启动映像b之后并且在启动映像a的标头块被归零之后出现中断,那么只有启动映像b有效。重新启动子系统确定启动启动映像b并且加载相应软件版本。

在另一个示例中,如果在标头已被还原到启动映像b之后并且在启动映像a的标头块被归零之前出现中断,那么启动映像a和启动映像b两者有效。子系统根据一个或更多个标准从两个有效的启动映像中确定加载哪个启动映像。例如,在这个示例启动映像a中,子系统可默认最后加载的启动映像。在加载启动映像a之后,子系统可确定仍然需要改变到启动映像b并且继续执行将有效启动映像改变为启动映像b的过程。可使用确定加载哪个启动映像的其他标准。例如,系统可使用最低编号的有效启动映像或在有效的启动映像之中随机选择。

在过程625中,在确定使用特定软件版本(步骤602)之后,确定软件版本位于不同于当前的启动映像的启动映像(步骤604)。与使用启动映像的标头以控制在重启之后使用的启动映像的过程600不同,过程625使用能从多个可用的启动映像中选择的启动加载器以便加载选择的软件版本。

启动加载器提供了识别对应于所需的特定软件版本的启动映像的参数(步骤627)。例如,控制操作台可将这些参数存储到可由启动加载器访问的非易失性计算机存储器,或可将参数发送到子系统以存储在这样的存储器中。

随着存储识别选择的启动映像的参数,重新启动将启动启动加载器(步骤629)。启动加载器可继续执行启动的指令,包括加载选择的启动映像(步骤631)。例如,启动加载器可读取计算机存储器的内容以检索识别要启动到哪个启动映像的参数,然后启动到该启动映像。

在过程650中,在确定使用特定软件版本(步骤602)之后,需要确定不同的特定版本模块。与使用不同的启动映像获取访问不同的软件的过程600和625不同,过程650启动相同的操作系统,而不管所需的软件版本。然后,加载特定版本模块。

存储版本标识符(步骤652)。例如,控制操作台可将希望的版本存储到再重启后将由操作系统可访问的计算机存储器,或可将版本发送到子系统以存储在这样的存储器中。

随着存储版本指示符,重新启动将启动到操作系统(步骤654)。该重启具有加载操作系统而不加载任何特定版本模块的效果。操作系统可提供一些功能,如从存储器检索数据、网络通信或诊断功能。但是,没有任何版本特定模块被加载,有限的控制或不控制相应子系统。在一些情况下,可使用重新配置操作系统的其他方式。例如,替代重启,可卸载软件模块的一些或全部。例如,这可允许操作系统或在操作系统中不相关的应用的持续性操作,其可被重启中断。

操作系统可运行模块加载脚本(步骤656)。例如,操作系统可被配置以运行存储在特定目录中作为启动的部分的一个或更多个脚本,或响应于完成启动过程。这个脚本可包括从计算机存储器读取版本指示符和加载特定版本模块的指令(步骤658)。然后这些特定版本模块向过程600和625中启动映像的控制操作台和子系统提供相同或类似的功能。特定版本模块可包括应用、库、服务或与操作系统兼容的其他软件对象。

在一些实施方式中,如需要可从网络位置下载一个或更多个启动映像或模块。例如,响应于确定使用特定软件版本,但其当前没有存储在子系统,可下载相应启动映像到子系统的存储器。如上所述,然后下载的启动映像可切换到当前的启动映像。

在一些实施方式中,只要硬件配置与手术系统一起使用时有效,手术系统就可以连接到额外的附件。例如,第二控制操作台可连接到系统。第二控制操作台可在程序期间用作训练设备或者用于例如在复杂的程序期间独立操作一个或更多个手术器械。具有用于系统设置的总体控制的第一控制操作台可确定第二控制操作台的软件版本并且为第二控制操作台提供相应指令以加载软件版本。可使用其他附件,例如,对于特定手术系统非特定的额外的机械手。

可以以数字电子电路系统、或以计算机软件、固件、或硬件(包括本说明书中公开的结构及其结构等同物)或以其中一个或更多个的组合来实施本说明书中描述的主题和操作的实施例。可作为编码到计算机存储介质上用于由数据处理装置执行或控制其操作的一个或更多个计算机程序(即,计算机程序指令的一个或更多个模块)实施本说明书中描述的主题的实施例。选择性地或另外地,程序指令可编码到人工生成的传播信号(例如,机器产生的电、光或电磁信号)上,其被生成以对信息进行编码用以传输到合适的接收器装置以由数据处理装置执行。计算机存储介质可以是计算机可读存储设备、计算机可读存储基底、随机或串行访问存储器阵列或设备、或它们中的一个或更多个的组合,或包括在其中。此外,当计算机存储介质不是传播信号时,计算机存储介质可以是编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质也可以是一个或更多个分开的物理组件或媒介(例如,多个cd、磁盘或其他存储设备),或包括在其中。

实施在本说明书中描述的操作可作为由数据处理装置对存储在一个或更多个计算机可读存储设备上的或从其他源接收的数据执行的操作。

术语“数据处理装置”包括用于处理数据的所有类型的装置、设备和机器,例如包括可编程处理器、计算机、片上系统或前述的多个或组合。装置可包括专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。除了硬件,装置也可包括讨论中为计算机程序创建执行环境的代码,例如,代码,其构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时间环境、虚拟机或它们中的一个或更多个的组合。装置和执行环境可实现各种不同的计算模型基础设施,如网络服务、分布式计算和网格计算基础设施。

计算机程序(也被称为程序、软件、软件应用程序、脚本或代码)可以用任何形式的编程语言(包括编译或解释语言、声明或程序语言)编写,并且可以以任何形式来部署,包括作为独立程序或作为模块、组件、子程序、对象或适用于计算环境中的其他单元。计算机程序可能(但不一定)对应于文件系统中的文件。程序可存储在保存其他程序或数据的部分文件中(例如,存储在标记语言文档中的一个或更多个脚本)、存储在专用于程序的单个文件中或多个协调文件中(例如,存储一个或更多个模块、子程序或部分代码的文件)。计算机程序可被部署在一台计算机上或多台计算机上执行,这些计算机位于一个站点或跨多个站点分布并通过通信网络互连。

在本说明书中描述的过程和逻辑流程可由执行一个或更多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并生成输出来执行动作。处理和逻辑流程也可由专用逻辑电路系统(例如,fpga(现场可编程门阵列)或asic(专用集成电路))执行,并且装置也可作为专用逻辑电路系统被实施。

例如,适于执行计算机程序的处理器包括通用和专用微处理器两者以及任何类型的数字计算机的任何一个或更多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令。计算机的基本元件是用于根据指令执行动作的处理器以及用于存储指令和数据的一个或更多个存储器设备。通常,计算机也将包括用于存储数据的一个或更多个大容量存储设备(例如,磁盘、磁光盘或光盘),或者可操作地耦合以从一个或更多个大容量存储设备接收数据或向其传送数据,或两者。但是,计算机不一定需要具有这种设备。此外,计算机可嵌入另一个设备,例如,移动电话、个人数字助理(pda)、移动音频或视频播放器、游戏控制台、全球定位系统(gps)接收器或便携式存储设备(例如,通用串行总线(usb)闪存驱动器),仅举几例。适于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、媒介和存储设备,例如包括,半导体存储设备(例如,eprom、eeprom和闪存设备)、磁盘(例如,内部硬盘或可移动磁盘)、磁光盘、和cd-rom以及dvd-rom光盘。处理器和存储器可由专用逻辑电路系统补充或者并入专用逻辑电路。

为了提供与用户的交互,可在具有用于向用户显示信息的显示设备(例如,crt(阴极射线管)或lcd(液晶显示)监测器)以及用户可通过其向计算机提供输入的键盘和指点设备(例如鼠标或轨迹球)的计算机上实施在本说明说中描述的主题的实施例。也可使用其他类型的设备提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈(例如,视觉反馈、听觉反馈或触觉反馈);并且可以任何方式接受来自用户的输入,包括声学、语音或触觉输入。另外,计算机可通过向用户使用的设备发送文档和从设备接收文档与用户交互;例如,通过响应于从网络浏览器接收的请求将网页发送到用户的客户端设备上的网络浏览器。

可在计算系统中实施在本说明书中描述的主题的实施例,计算系统包括后端组件(例如,作为数据服务器)、或包括中间件组件(例如,应用程序服务器)、或包括前端组件(例如,具有图形用户界面或网络浏览器的客户端计算机,用户可通过图形用户界面或web浏览器与本说明书中描述的主题的实施方式交互)、或一个或更多个这样的后端、中间件或前端组件的任何组合。系统的组件可通过数字数据通信的任何形式或介质(例如通信网络)互连。通信网络的示例包括局域网(“lan”)和广域网(“wan”)、互联网络(例如,因特网),以及对等网络(例如,自组(adhoc)对等网络)。

计算系统可包括主设备和一个或更多个从设备。主设备和从设备通常彼此远离,并且一般通过通信网络进行交互。主从关系是由运行在各个计算机上的计算机程序产生的,并且互相具有主从关系。在一些实施例中,主设备(例如,为了移动手术器械的目的)向从设备传送数据(例如,控制指令)。在从设备处生成的数据(例如,摄像机映像)可返回到主设备。

在一些实施例中,机械手的关节可包括主动关节和被动关节。主动关节的运动由手术系统内部提供的动力控制(例如,通过与关节相关联的发动机)。被动关节的移动只能从系统外部提供电源,或者更简单地说是无电源关节。主动关节不需要遥控操作或机器人控制。主动关节的移动可有一个或更多个相关联的电动机提供。在一些实施方式中,发动机是无刷直流电动机。在一些其他实施方式中,伺服机制用于在闭环反馈系统中控制主动关节。当外科医生向特定机械手的主控制器提供输入时,计算移动使得外科医生可在具体位置操作手术器械。

出于安全原因,在手术系统中使用的机械手的关节通常包括锁定机构以防止机械手的失控运动。在一些实施方式中,当制动器断电时,制动器提供锁定。这些类型的制动器的示例包括机电锁定或电磁锁定。在一些实施方式中,这些制动器可被释放以允许机械手的手动、无动力的运动。

尽管本说明书包含许多具体实施细节,但这些细节不应被解释为对任何发明或可能要求保护的范围的限制,而是作对特定发明的特定实施例的特征的具体描述。在本说明书中在分开的实施例的上下文中描述的某些特征也可在单个实施例中组合实施。相反地,在单个实施例的上下文中描述的各种特征也可在多个实施例中单独地或以任何合适的子组合实施。此外,虽然上面可能将特征描述为在某些组合中起作用,甚至最初如此要求保护,但来自要求保护的组合的一个或更多个特征可在一些情况下从组合中删除,并且要求保护的组合可针对子组合或子组合的变化。

类似地,尽管在附图中以特定顺序描绘操作,但这不应被理解为要求以示出的特定顺序或连续顺序执行这样的操作,或者执行所有示出的操作以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统组件的分离不应理解为在所有实施例中都要求这种分离,并且应该理解描述的程序组件和系统通常可在单独软件产品中集成在一起或打包成多个软件产品。

由此,描述了主题的特定实施例。其他实施例在下面权利要求的范围内。在一些情况下,权利要求中列举的动作可以以不同的顺序执行并且仍然实现希望的结果。另外,在附图中描绘的过程不一定要求所示的特定顺序或连续顺序以实现希望的结果。在某些实施方式中,多任务和并行处理可能是有利的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1