掌桥专利:专业的专利平台
掌桥专利
首页

用于手术机器人系统的具有安全监测器的控制系统

文献发布时间:2023-06-19 19:28:50


用于手术机器人系统的具有安全监测器的控制系统

背景技术

使用机器人来辅助和执行手术是已知的。图1示出了包括手术机器人102的示例性手术机器人系统100,该手术机器人包括基座104、臂106和器械108。基座104支撑机器人,并且自身刚性地附接到例如手术室地面、手术室天花板或推车。臂106在基座104与器械108之间延伸。臂106借助于沿其长度的多个柔性关节110铰接,所述多个柔性关节用于将手术器械相对于患者定位在期望位置。手术器械附接到机器人臂的远端112。手术器械在端口116处穿过患者114的身体,以便进入手术部位。该器械在其远端包括用于在医疗程序中接合的末端执行器118。

手术机器人102由操作者(例如,外科医生)经由操作者控制台120远程控制,该操作者控制台可以与手术机器人102位于同一房间(例如,手术室)或远离该手术机器人定位。操作者控制台120可以包括用于控制臂106和/或附接到该臂的器械108的状态的输入装置122、124。输入装置122、124可以是例如把手或手动控制器(例如,每只手一个),其上具有安装在平行四边形连杆上的一个或多个按钮。操作者控制台120还可以包括显示器126。显示器126可被布置成对操作输入装置122、124的操作者(例如,外科医生)可见。显示器126可用于显示手术部位的视频流(例如,由内窥镜捕获的视频流,和/或另一摄像头或显微镜(例如,在开放手术中使用的那些)捕获的视频流)和/或其它信息,以帮助操作者(例如,外科医生)执行手术。显示器可以是二维(2D)或三维(3D)的。

控制系统128将输入装置的移动(以及对输入装置/经由输入装置执行的动作)转换成控制信号,以使手术机器人的臂关节和/或器械末端执行器移动。在一些情况下,控制系统128被配置成基于输入装置的空间中的位置及其取向生成使臂关节和/或器械末端执行器移动的控制信号。

尽管图1的示例性手术机器人系统包括单个手术机器人,但在其它实例中,手术机器人系统可以包括多个手术机器人。例如,图2示出了手术机器人系统200,其中多个机器人202、204、206在患者208身上的共同工作空间中操作。

由于手术机器人系统100、200用于对患者执行手术程序,因此重要的是系统的部件或元件按照预期彼此通信,并且控制系统128根据手术机器人臂和系统的其它部件的状态以及从输入装置接收的输入发出对手术机器人臂的准确命令。如果系统未按预期运行,可能造成严重,甚至灾难性后果。因此,可能期望实施一个或多个安全机制,所述一个或多个安全机制能够确定手术机器人系统,特别是控制系统128是否存在故障,并且如果检测到故障,则将系统或系统的一个或多个部件置于安全状态。

下面描述的实施例仅作为实例提供,并且不限制解决已知手术机器人系统和/或控制手术机器人系统的方法的任何或所有缺点的实施方式。

发明内容

提供此发明内容以介绍下文在具体实施方式中进一步描述的构思的选择。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。

本文描述了用于控制手术机器人系统的控制系统和方法,所述手术机器人系统包括至少一个手术机器人,所述至少一个手术机器人中的每一个包括基座以及从所述基座延伸到用于器械的附接件的臂,所述臂包括多个关节,由此能够改变所述臂的配置。所述控制系统包括:主控制器,所述主控制器被配置成:从操作者控制台的一个或多个装置接收识别来自所述至少一个手术机器人的操作者的输入的通信;基于所述输入生成用于控制至少一个手术机器人臂的移动的控制信号;以及向所述至少一个手术机器人发送识别所述控制信号的通信;以及安全监测器,所述安全监测器被配置成:分析去向和/或来自所述主控制器的通信的至少一部分,以确定所述手术机器人系统是否处于故障状态;以及响应于确定所述手术机器人系统处于故障状态,使所述操作者控制台的一个或多个装置和所述至少一个手术机器人中的至少一者转变到安全状态。

第一方面提供了一种用于控制手术机器人系统的控制系统,所述手术机器人系统包括至少一个手术机器人,所述至少一个手术机器人中的每一个包括基座以及从所述基座延伸到用于器械的附接件的臂,所述臂包括多个关节,由此能够改变所述臂的配置,所述控制系统包括:主控制器,所述主控制器被配置成:从操作者控制台的一个或多个装置接收识别来自所述至少一个手术机器人的操作者的输入的通信;基于所述输入生成用于控制至少一个手术机器人臂的移动的控制信号;以及向所述至少一个手术机器人发送识别所述控制信号的通信;以及安全监测器,所述安全监测器被配置成分析去向和/或来自所述主控制器的通信的至少一部分,以确定所述手术机器人系统是否处于故障状态,以及响应于确定所述手术机器人系统处于故障状态,使所述操作者控制台的一个或多个装置和所述至少一个手术机器人中的至少一者转变到安全状态。

所述安全监测器可以被配置成通过使所述操作者控制台的一个或多个装置和所述至少一个手术机器人中的至少一者与所述主控制器之间的通信被阻挡,使所述操作者控制台的一个或多个装置和所述至少一个手术机器人中的至少一者转变到安全状态。

所述安全监测器可以被配置成通过使安全装置过滤所述操作者控制台的一个或多个装置和所述至少一个手术机器人中的至少一者与所述主控制器之间的通信,使所述操作者控制台的一个或多个装置和所述至少一个手术机器人中的至少一者转变到安全状态。

所述安全监测器可以被配置成通过将信息写入一组寄存器中的至少一个寄存器,使所述安全装置过滤所述操作者控制台的一个或多个装置和所述至少一个手术机器人中的至少一者与所述主控制器之间的通信,所述信息向所述安全装置指示所述操作者控制台的一个或多个装置和所述至少一个手术机器人中的至少一者与所述主控制器之间的通信将被过滤。

所述控制系统还可包括所述安全装置。

所述安全装置可以被配置成接收去向和来自所述主控制器的通信,并将去向和来自所述主控制器的通信的至少一部分的副本提供到所述安全监测器。

所述操作者控制台的一个或多个装置和所述至少一个手术机器人中的至少一者和所述主控制器可以基于确定的故障状态的类型转变到安全状态。

所述安全监测器可以被配置成如果所述安全监测器根据去向和/或来自所述主控制器的通信检测到用于控制所述手术机器人臂的移动的控制信号使所述手术机器人臂移动到与所述手术机器人臂的当前状态和/或来自所述操作者的输入不一致的位置,则确定所述手术机器人系统处于故障状态。

所述安全监测器可以被配置成如果所述安全监测器根据去向和/或来自所述主控制器的通信检测到从操作者控制台的一个或多个装置和所述手术机器人中的至少一者到所述主控制器的通信的频率低于预定阈值,或者从所述主控制器到操作者控制台的一个或多个装置和所述手术机器人中的至少一者的通信的频率低于预定阈值,则确定所述手术机器人系统处于故障状态。

所述安全监测器可以被配置成如果所述安全监测器根据去向和/或来自所述主控制器的通信检测到所述操作者控制台的一个或多个装置和所述手术机器人中的至少一者正在运行与所述主控制器不兼容的软件,则确定所述手术机器人系统处于故障状态。

所述至少一个手术机器人可包括多个手术机器人,并且所述多个手术机器人中的每一个被分配唯一标识符,并且所述安全监测器可以被配置成如果所述安全监测器检测到所述手术机器人臂中的至少两个发送指示其被分配相同的唯一标识符的通信,则确定所述手术机器人系统处于故障状态。

所述至少一个手术机器人可包括多个手术机器人,并且所述多个手术机器人中的每一个被分配唯一标识符,并且被分配的唯一标识符显示在所述操作者控制台的显示器上,并且所述安全监测器可以被配置成如果所述安全监测器根据去向和/或来自所述主控制器的通信检测到手术机器臂正在报告与所述显示器上显示的唯一标识符不匹配的唯一标识符,则确定所述手术机器人系统处于故障状态。

所述安全监测器可以被配置成如果所述安全监测器根据去向和/或来自所述主控制器的通信检测到用于控制所述手术机器人的移动的控制信号使所述手术机器人的臂在第一位置与第二位置之间移动,其中,在所述第一位置与所述第二位置之间移动会使所述手术机器人的臂超过最大速度,则确定所述手术机器人系统处于故障状态。

第二方面提供了一种确定手术机器人系统处于故障状态的方法,所述手术机器人系统包括至少一个手术机器人,所述至少一个手术机器人中的每一个包括基座以及从所述基座延伸到用于器械的附接件的臂,所述臂包括多个关节,由此能够改变所述臂的配置,所述主控制器被配置成执行所述方法,所述方法包括:在安全监测器处接收去向和/或来自所述手术机器人系统的主控制器的通信的至少一部分,所述主控制器被配置成从操作者控制台的一个或多个装置接收识别来自所述至少一个手术机器人的操作者的输入的通信,基于所述输入生成用于控制至少一个手术机器人臂的移动的控制信号,以及向所述至少一个手术机器人发送识别所述控制信号的通信;在所述安全监测器处,分析去向和/或来自所述主控制器的通信的至少一部分,以确定所述手术机器人系统是否处于故障状态;以及响应于确定所述手术机器人系统处于故障状态,使操作者控制台的一个或多个装置和至少一个手术机器人中的至少一者转变到安全状态。

上述特征可以适当地组合,如对技术人员显而易见的那样,并且可以与本文所述实例的任何方面组合。

附图说明

现将参考附图来详细地描述实例,其中:

图1是包括手术机器人、操作者控制台和控制系统的示例性手术机器人系统的示意图;

图2是包括多个手术机器人的示例性手术机器人系统的示意图;

图3是用于手术机器人系统的示例性控制系统的框图;

图4是示例性手术机器人臂的示意图;

图5是图3的包括Tx滤波器和Rx滤波器的安全装置的示例性实施方式的框图;

图6是图5的Tx滤波器和Rx滤波器的示例性实施方式的框图;

图7是选择性地过滤去向和/或来自图3的主控制器的通信的示例性方法的流程图,所述示例性方法可以由图3的安全装置实施;

图8是图3的安全监测器的示例性实施方式的框图;

图9是监测去向和来自主控制器的通信以检测系统中的故障的示例性方法的流程图,所述示例性方法可以由图8的安全监测器实施;以及

图10是示出了端口的虚拟枢轴点的示意图。

附图说明各种实例。技术人员将理解,图中所示的元件边界(例如,框、框组或其它形状)表示边界的一个实例。在一些实例中,一个元件可以设计为多个元件,或者多个元件可以设计为一个元件。在适当的情况下,在附图中通篇使用共同的附图标记来指示类似特征。

具体实施方式

以下描述以举例的方式呈现,以使本领域技术人员能够制造和使用本发明。本发明不限于本文所述的实施例,并且对所公开的实施例的各种修改对于本领域技术人员将是显而易见的。实施例仅通过示例的方式来描述。

本文描述了用于手术机器人系统的控制系统,所述手术机器人系统包括操作者可以借助其提供输入的远程操作者控制台,以及包括从基座延伸到用于附接手术器械的末端的一系列关节的手术机器人臂。控制系统包括主控制器和安全装置。主控制器被配置成从操作者控制台接收识别操作者输入的通信,将这些操作者输入转换成控制手术机器人的移动的控制命令,以及向手术机器人臂发送识别控制命令的通信。安全装置位于主控制器与系统的其它部件之间,使得去向和来自主控制器的通信通过安全装置。安全装置可操作以选择性地过滤去向和/或来自主控制器的通信。安全装置可以被配置成响应于安全装置自身或另一装置检测到手术机器人系统处于故障状态而过滤去向和/或来自主控制器的通信的至少一部分。故障状态可以是主控制器或系统中的另一装置不按预期操作。

在某些情况下,控制系统还可以包括安全监测器,所述安全监测器被配置成验证主控制器和/或系统的一个或多个其它部件的操作。在这些情况下,安全装置可以被配置成将去向和来自主控制器的通信的至少一部分的副本发送到安全监测器,并且安全监测器可以分析所接收的通信以验证主控制器和/或一个或多个其它部件是否按预期操作。响应于检测到主控制器和/或系统的一个或多个其它部件不按预期操作,安全监测器可以使安全装置过滤去向和来自主控制器的通信的至少一部分。

现在参考图3,其示出了示例性手术机器人系统300。手术机器人系统300包括:手术机器人302;用于提供用于控制手术机器人302的操作者输入的操作者控制台304;以及用于根据操作者输入驱动手术机器人302的控制系统306。手术机器人302包括基座和从基座延伸到用于器械的附接件的臂。该臂包括多个关节,由此可以改变臂的配置。下文关于图5描述可用于实施图3的手术机器人302的示例性手术机器人。

操作者控制台304可以与手术机器人302位于同一房间(例如,手术室)或远离该手术机器人定位。操作者控制台304允许操作者向控制系统306提供输入命令以控制手术机器人302的移动。操作者控制台304可以包括用于控制手术机器人臂和/或附接到该手术机器人臂的器械的状态的输入装置。输入装置可以是例如把手或手动控制器(例如,每只手一个),其上具有安装在平行四边形连杆上的一个或多个按钮。每个输入装置可以包括输入装置控制器305,所述输入装置控制器被配置成将经由输入装置接收的输入传输到控制系统306。操作者控制台304还可以包括显示器。该显示器用于显示手术部位的视频流(例如,由内窥镜捕获的视频流,和/或另一摄像头或显微镜(例如,在开放手术中使用的那些)捕获的视频流)和/或其它信息,以帮助操作者(例如,外科医生)执行手术。显示器可以包括显示控制器307,所述显示控制器被配置成从控制系统306接收显示信息并将与其有关的输入提供至控制系统306。上文关于图1描述了可用于实施图3的操作者控制台304的示例性操作者控制台。

控制系统306经由一个或多个通信链路308联接到操作者控制台304(例如,输入装置控制器305及其显示控制器307),并且经由一个或多个通信链路308从操作者控制台304(例如,输入装置控制器305及其显示控制器307)接收识别操作者输入的通信。操作者输入可以由输入装置(例如,手动控制器)和/或操作者控制台的其它部件(例如,脚踏板输入、语音识别系统、手势识别系统、眼睛识别系统等)生成。控制系统306还经由一个或多个通信链路310联接到手术机器人302(例如,其臂控制器309,所述臂控制器也可以被称为臂基控制器(ABC))。控制系统306可经由一个或多个通信链路310从手术机器人302接收识别手术机器人302的状态或状况的通信。手术机器人302的状态可以例如通过以下各项中的一者或多者识别:来自位于机器人臂关节上的位置传感器和/或扭矩传感器的传感器数据、力反馈数据,以及来自或关于附接到该手术机器人的手术器械的数据。

控制系统306被配置成响应于其从操作者控制台304接收的操作者输入和从手术机器人302接收的手术机器人状态数据而使手术机器人302及附接到该手术机器人的器械移动。控制系统306包括主控制器312,所述主控制器被配置成:从操作者控制台304接收识别操作者输入的通信,并且从手术机器人302接收包括手术机器人状态数据的通信;从操作者输入和手术机器人状态数据生成使手术机器人和/或附接到该手术机器人的任何器械移动的控制信号;以及向手术机器人发送识别命令信号的通信。换句话说,主控制器312负责使手术机器人和附接到该手术机器人的任何器械根据用户输入移动。在本文所述的实例中,主控制器312被配置成从操作者控制台304接收输入,并且从其生成期望的机器人手腕位置以及驱动元件的期望位置,以使器械末端执行器实现期望偏航、俯仰和/或展开。然后,将期望的手腕姿态和驱动元件位置提供给手术机器人臂(例如,手术机器人臂控制器)。如下文更详细地描述的,手术机器人臂(例如,其臂控制器)接着可基于从扭矩和/或位置传感器接收的关节信息来确定实现期望手腕姿态的关节位置,并向各个关节控制器发出移动到期望关节位置的命令。然而,这仅仅是一个实例,并且在其它手术机器人系统中,主控制器312可以执行不同和/或额外功能。

例如,在一些情况下,主控制器312可以执行一个或多个额外功能。例如,在一些情况下,主控制器312还可以被配置成提供和/或控制提供给操作者以提供输入的图形用户界面的至少一部分。主控制器312可以包括一个或多个处理器(未示出)和存储器(未示出)。存储器以非暂时性方式存储软件代码,所述软件代码可由一个或多个处理器执行,以生成用于手术机器人302的控制信号,并且任选地执行一个或多个额外功能。

在图3的实例中,控制系统306还包括安全装置314,以及任选地安全监测器316。也可称为核心安全监管装置(CSS)的安全装置314是位于主控制器312与手术机器人系统300的其它部件302、304之间使得去向和来自主控制器312的通信通过安全装置314的硬件装置。由于去向和来自主控制器312的通信通过安全装置314,所以安全装置314可以控制去向和来自主控制器312的通信。具体地说,当已检测到手术机器人系统300处于故障状态时,安全装置314可以防止主控制器312与部件302、304中的一个或多个(或其部分或部件)之间通信。在某些情况下,与主控制器312通信的系统中的部件或装置可以被配置成:以预定间隔或频率从主控制器接收通信,并且如果它们在一段时间(例如,预定间隔数)内停止接收此类通信,则自动地转变到安全状态。因此,切断主控制器与部件或装置之间的通信可使该部件或装置自动转变到安全状态。

在某些情况下,安全装置314可操作以基于一个或多个滤波器标准选择性地过滤去向和/或来自主控制器312的通信。在某些情况下,安全装置314可以包括一个或多个可编程滤波器,所述一个或多个可编程滤波器可被编程或配置成过滤去向和/或来自主控制器312的某些通信。在某些情况下,滤波器可被编程为:不过滤去向和来自主控制器312的任何通信;过滤去向和来自主控制器312的所有通信(即,切断主控制器312与系统的其它部件和装置之间的通信);和/或过滤主控制器312与一个或多个特定部件或装置之间(例如,主控制器312与操作者控制台304或其一部分之间,或主控制器312与手术机器人302或其一部分之间)的通信。如下文更详细地描述的,当手术机器人系统300中的部件和装置使用TCP/IP包与主控制器312通信时,一个或多个滤波器可配置成基于IP源、IP目的地址、源UDP端口和/或目的UDP端口过滤通信。

在某些情况下,安全装置314可以被配置成响应于其检测到手术机器人系统300处于故障状态而过滤去向和/或来自主控制器的通信的至少一部分。例如,如果主控制器312向手术机器人302发送与手术机器人302的状态不一致的控制信号,则可以认为手术机器人系统300处于故障状态。下文描述可检测的手术机器人系统300故障状态的另外实例。在某些情况下,安全装置314自身可以被配置成检测手术机器人系统300何时处于故障状态。在其它情况下,诸如安全监测器316(下文描述)的另一装置也可以或替代地被配置成检测手术机器人系统300何时处于故障状态。

在某些情况下,可以使用现场可编程门阵列(FPGA)实施主控制器312。然而,对于本领域的技术人员将显而易见的是,这仅仅是一个实例。下文关于图5描述安全装置314的示例性实施方式。

在某些情况下,如图3中所示,控制系统306还可以包括安全监测器316,所述安全监测器也可以被称为核心安全监测器(CSM)。安全监测器316被配置成通过监测去向和来自主控制器312的通信来独立地验证主控制器312和/或系统中的一个或多个其它部件和装置的操作。在这些情况下,安全装置314可以被配置成将去向和/或来自主控制器312的通信的至少一部分的副本发送到安全监测器316。然后,安全监测器316被配置成分析所接收的通信以确定手术机器人系统300是否处于故障状态。如果安全监测器316检测到手术机器人系统300处于故障状态,则安全监测器316可以被配置成使安全装置314过滤去向和/或来自主控制器312的通信的至少一部分。下文参考图8描述安全监测器316的示例性实施方式。

控制系统306与其它部件(例如,操作者控制台304和手术机器人302)之间的通信链路308、310可以是使得控制系统306与部件之间的数据通信能够进行的任何合适的通信链路。通信链路308、310可全部为相同类型,或者通信链路308、310中的至少两个可为不同类型。合适的通信链路的实例包括但不限于有线通信链路(例如,以太网、令牌环网或RS232链路)或无线通信链路(例如,Wi-Fi、蓝牙、蓝牙LE或NFC链路)。

虽然图3的示例性手术机器人系统300包括具有单个臂的单个手术机器人302,但是对于本领域的技术人员将显而易见的是,这仅仅是一个实例,并且本文所述的方法和技术同样适用于具有多于一个手术机器人的手术机器人系统或具有多于一个臂的手术机器人。

虽然图3的示例性控制系统306包括安全装置314和安全监测器316,但在其它实例中,控制系统306可以仅包括安全装置314,或者可以仅包括安全监测器316。

在某些情况下,控制系统可以在物理上形成操作者控制台304的一部分。在某些情况下,主控制器312、安全装置314和安全监测器316可以在单个印刷电路板(PCB)上。

手术机器人

现在参考图4,其示出了可用于实施图3的手术机器人302的示例性手术机器人400。手术机器人400包括臂402,该臂从基座404延伸,当正在执行手术程序时,所述基座固定在适当位置。在某些情况下,基座404可以安装到底盘。底盘可以是推车,例如用于以床高度安装机器人的床边推车。替代地,底盘可以是安装在天花板上的装置或安装在床上的装置。

臂402从机器人的基座404延伸到用于手术器械408的附接件406。臂是柔性的。它借助于沿着其长度的多个柔性关节410铰接。在关节之间是刚性臂构件412。图4中的臂具有七个关节。该关节包括一个或多个滚动关节(其沿着臂构件的纵向方向在关节的任一侧上具有旋转轴线)、一个或多个俯仰关节(其具有横向于前一臂构件的纵向方向的旋转轴线)和一个或多个偏转关节(其还具有横向于前一臂构件的纵向方向并且还横向于共同定位的俯仰关节的旋转轴线)。然而,臂可以不同地接合。例如,臂可以具有更少或更多的关节。臂可以包括允许除了在关节的相应侧之间旋转之外的运动的关节,例如伸缩关节。机器人包括一组驱动器414,每个驱动器414驱动一个或多个关节410。

附接件406使得手术器械408能够可释放地附接到臂的远端。手术器械408具有线性刚性轴和位于该轴的远端的工作尖端。工作尖端包括用于参与医疗程序的末端执行器。手术器械可以被配置成与臂的末端关节的旋转轴线线性平行地延伸。例如,手术器械可以沿着与臂的末端关节的旋转轴线重合的轴线延伸。手术器械408可以是例如切割装置、抓握装置、烧灼装置或图像捕获装置(例如,内窥镜)。

机器人臂包括一系列传感器416、418。对于每个关节,这些传感器包括用于感测关节的位置的位置传感器416,以及用于感测围绕关节的旋转轴线施加的扭矩的扭矩传感器418。用于关节的位置传感器和扭矩传感器中的一者或两者可以与用于该关节的电机集成。

安全装置

现在参考图5,其示出了图3的安全装置314的示例性实施方式。如上所述,安全装置314位于主控制器312与手术机器人系统300的其它部件之间,使得去向和/或来自主控制器312的通信通过安全装置314。安全装置314可操作以选择性地过滤去向和/或来自主控制器312的通信。

在图5的实例中,安全装置314包括接收(Rx)滤波器502和发射(Tx)滤波器504,所述接收滤波器和所述发射滤波器是可以被配置成分别选择性地过滤来自和去向主控制器312的通信的可编程滤波器。在主控制器312使用UDP与手术机器人系统300中的其它部件通信的情况下,Rx滤波器和Tx滤波器可以被配置成过滤UDP包。然而,对于本领域的技术人员将显而易见的是,这仅仅是一个实例。

Rx滤波器502接收来自主控制器312的通信,并且如果未指定Rx滤波器标准,则将所有通信传递给其它部件,或者根据一个或多个指定Rx滤波器标准过滤通信。Rx滤波器标准指定了选择过滤、拒绝或不允许通过安全装置314的通信的规则。在某些情况下,一个或多个Rx滤波器标准可以指定将过滤来自主控制器312的所有通信,或者一个或多个Rx滤波器标准可以指定将仅过滤与指定标准(例如,源/目的IP地址、源/目的UDP端口或其组合)匹配的通信。当Rx滤波器标准指定将过滤来自主控制器312的所有通信时,Rx滤波器502可以简单地拒绝其接收的所有通信。然而,当Rx滤波器标准指定将仅过滤与指定标准匹配的通信时,Rx滤波器502可以被配置成将每个所接收的通信与指定标准进行比较,以确定是否存在匹配。具体地说,在某些情况下,Rx滤波器502可以被配置成将每个通信(例如,包)与最多N个不同的Rx滤波器标准进行比较,其中N是大于或等于一的整数。如下文更详细地描述的,可以基于可以每个周期执行的比较次数和接收通信(例如,包)所花费的周期数来选择N。

Rx滤波器标准是可配置的。例如,在某些情况下,如图5中所示,安全装置314可以包括指定Rx滤波器标准的一组寄存器506。例如,当主控制器312使用UDP与手术机器人系统300中的其它部件通信时,Rx滤波器502能够基于源IP地址、目的IP地址、源UDP端口和目的UDP端口中的一者或多者来过滤通信(例如,包)。在这些情况下,所述一组寄存器506可以包括:指示是否将过滤所有通信的寄存器;以及用于每种可能比较的一个或多个寄存器,所述一个或多个寄存器指示源IP地址、目的IP地址、源UDP端口和目的端口的哪种组合将与每个通信(例如,包)进行比较;以及识别将被用于比较的源IP地址、目的IP地址、源UDP端口和/或目的UDP端口。例如,表1示出了四个32位寄存器的示例性组,其可用于指定将与每个通信(例如,包)进行比较的源IP地址、目的IP地址、源UDP端口和目的UDP端口的组合。所述一组寄存器506可以包括用于Rx滤波器可以对每个通信(例如,包)执行的N次比较中的每一次比较的四个寄存器。

表1

在某些情况下,如图5中所示,Rx滤波器502可以包括缓冲器508,例如先进先出(FIFO)队列,其用于在所接收的通信被转发到主控制器312之前存储所接收的通信。如下文关于图6更详细地描述的,可以在若干周期(例如,时钟周期)内接收完整的通信(例如,包)。为了在将通信重新发送至其它部件或装置时不引入任何延迟,Rx滤波器502可以被配置成在已接收到完整通信时完成其滤波器确定。例如,如果需要8个周期来接收通信,那么Rx滤波器502可以被配置成确定是否将在8个周期内过滤通信。

当Rx滤波器502识别出将被过滤掉的通信(例如,包)(即,如果将过滤去向主控制器312的所有通信,则是任何通信,或另外与指定滤波器标准匹配的通信)时,Rx滤波器502被配置成拒绝该通信。在某些情况下,Rx滤波器502可以通过丢弃通信,即不将通信输出或转发至适当装置来拒绝通信。然而,在其它情况下,Rx滤波器502可以被配置成通过使通信无效或破坏通信来拒绝通信。在某些情况下,Rx滤波器502可以被配置成通过改变通信的错误检测部分,例如但不限于通信的周期冗余检查(CRC)部分来使通信无效或破坏通信。与丢弃通信相反,使通信无效或破坏通信可以允许更快速地(例如,实时地)执行过滤。

Tx滤波器504以与Rx滤波器502类似的方式操作。具体地说,Tx滤波器504接收指向或寻址到主控制器312的通信,并且如果未指定Tx滤波器标准,则将所有通信传递至主控制器312,或者根据一个或多个指定Tx滤波器标准过滤通信。Tx滤波器标准指定了选择过滤、拒绝或不允许通过安全装置314的通信的规则。在某些情况下,一个或多个Tx滤波器标准可以指定将不过滤去向主控制器312的通信,将过滤去向主控制器312的所有通信,或将仅过滤与指定标准(例如,源/目的IP地址、源/目的UDP端口或其组合)匹配的通信。当未指定Tx滤波器标准时,Tx滤波器504可以将其接收的所有通信传递至主控制器312。当Tx滤波器标准指定将过滤去向主控制器312的所有通信时,Tx滤波器504可以简单地拒绝其接收的所有通信。然而,当Tx滤波器标准指定将仅过滤与指定标准匹配的通信时,Tx滤波器504可以被配置成将每个所接收的通信与指定标准进行比较,以确定是否存在匹配。与Rx滤波器502一样,Tx滤波器504可以被配置成将每个通信(例如,包)与最多N个不同的Tx滤波器标准进行比较,其中N是大于或等于一的整数。

Tx滤波器标准,像Rx滤波器标准一样,是可配置的。例如,可以使用一组寄存器506来指定将使用哪些标准(如果有的话)来过滤去向主控制器312的通信。例如,当主控制器312使用UDP与手术机器人系统300中的其它部件和设备通信时,Tx滤波器504能够基于以下各项中的一者或多者过滤通信(例如,包):源IP地址、目的IP地址、源UDP端口和目的UDP端口。在这些情况下,一组寄存器506可以包括指示是否将过滤来自主控制器312的所有通信的寄存器;以及用于每次比较的一个或多个寄存器,所述一个或多个寄存器指示源IP地址、目的IP地址、源UDP端口和目的端口的哪种组合将与每个通信(例如,包)进行比较;并且识别将用于比较的源IP地址、目的IP地址、源UDP端口和/或目的UDP端口。例如,表1示出了四个32位寄存器的示例性组,其可用于指定将与每个通信(例如,包)进行比较的源IP地址、目的IP地址、源UDP端口和目的UDP端口的组合。一组寄存器506可以包括用于Tx滤波器504可以对每个通信(例如,包)执行的N次比较中的每次比较的四个寄存器。

在某些情况下,如图5中所示,Tx滤波器504可以包括缓冲器(例如,先进先出(FIFO)队列)510,所述缓冲器用于在从系统中的其它部件或装置接收的通信被转发到主控制器312之前对所述通信进行存储。如下文关于图6更详细地描述的,可以在若干周期(例如,时钟周期)内接收完整的通信(例如,包)。为了不在将通信重新发送至主控制器312时引入任何延迟,Tx滤波器504可以被配置成在已接收到完整通信时完成其滤波器确定。例如,如果接收通信需要8个周期,则Tx滤波器504可以被配置成确定是否将在8个周期内过滤通信。

当Tx滤波器504识别出将被过滤掉的通信(例如,包)(即,如果将过滤去向主控制器312的所有通信时,则是任何通信,或另外与指定滤波器标准匹配的通信)时,Tx滤波器504被配置成拒绝该通信。在某些情况下,Tx滤波器504可以通过丢弃通信,即不将通信输出或转发至适当的部件或装置来拒绝通信。然而,在其它情况下,Tx滤波器504可以被配置成通过使通信无效或破坏通信来拒绝通信。在某些情况下,Tx滤波器504可以被配置成通过改变通信的错误检测部分,例如但不限于通信的周期冗余检查(CRC)部分来使通信无效或破坏通信。与丢弃通信相反,使通信无效或破坏通信可以允许更快速地(例如实时)执行过滤。

下文关于图6描述图5的发射(Tx)滤波器504和接收(Rx)滤波器502的示例性实施方式。

在某些情况下,安全装置314可以经由第一通信接口512从系统中的其它装置或部件接收通信和将通信传输到系统中的其它装置或部件;并且可以经由第二通信接口514从主控制器312接收通信和将通信传输到主控制器。在图5所示的实例中,第一通信接口512和第二通信接口514是以太网接口,然而,对于本领域的技术人员将显而易见的是,这仅仅是一个实例,并且在其它实例中,可以使用不同的通信接口,并且/或者第一通信接口512和第二通信接口514可以不是同一类型的通信接口。在一些情况下,如图5中所示,第一通信接口512可连接或耦合到交换机515(例如,以太网交换机),所述第一通信接口通过所述交换机从系统的其它部件和装置接收通信。例如,操作者控制台304和/或手术机器人302可以直接或间接连接到交换机515。

在控制系统306还包括安全监测器316的情况下,接收(Rx)滤波器502和发射(Tx)滤波器504还可以被配置成将去向和来自主控制器的通信的至少一部分的副本转发到安全监测器316,以允许安全监测器316检查主控制器312和/或手术机器人系统300中的一个或多个其它部件或装置是否按预期运行。在某些情况下,Rx滤波器502和Tx滤波器504可以被配置成将主控制器312与系统中的其它部件/装置之间的所有接收的通信转发到安全监测器316,而不管通信是被Rx滤波器502还是Tx滤波器504过滤。然而,在某些情况下,如果滤波器502、504将经过滤的通信转发至安全监测器316,则滤波器502、504可以通知安全监测器316通信已被过滤。

在一些情况下,如图5中所示,安全装置314可以被配置成经由安全监测器通信接口516通过单独的通信链路517(例如,PCIe链路)从安全监测器316接收通信和将通信传输到安全监测器。在某些情况下,如图5中所示,安全监测器通信接口516可以是与第一通信接口512和第二通信接口514不同类型的通信接口。例如,如图5中所示,第一通信接口512和第二通信接口514可以是以太网接口,而安全监测器通信接口516可以是外围部件互连快速(PCIe)接口。在此类情况下,将转发至安全监测器316的去向和/或来自主控制器312的通信可以封装在另一协议中,以便提供给安全监测器316。在某些情况下,如图5中所示,安全装置314可以包括一组缓冲器(例如,FIFO队列)518、520,其用于分别存储将转发至安全监测器316的去向和来自主控制器312的通信的副本。如本领域的技术人员所知,PCIe链路是高速通信链路或总线。使用PCIe链路可以快速且高效地将去向和来自主控制器312的通信的副本传输至安全监测器316。

除了允许快速且高效地传输数据之外,使用单独的通信链路517(例如,PCIe链路)而不是例如共同以太网网络与安全监测器316通信允许安全监测器316与系统中的装置的剩余部分隔离。这可以确保其它装置不干扰安全监测器316的操作。此外,使用安全装置314与安全监测器316之间的单独的通信链路允许安全监测器316监听去向和来自主控制器312的通信,而如果安全监测器316简单地连接到主(例如以太网)网络,则安全监测器316将仅能够读取寻址到其的通信(例如,包)。

如上所述,安全监测器316被配置成分析去向和来自主控制器312的通信以确定手术机器人系统300是否处于故障状态。例如,安全监测器316可以被配置成如果来自主控制器的通信指示手术机器人臂链接到除在操作者控制台显示器上示出为链接到该手术机器人臂的手动控制器的手动控制器,则确定手术机器人系统300处于故障状态。下文关于图8-10描述安全监测器316的示例性实施方式以及安全监测器316可能检测到的示例故障状态。

在某些情况下,如果安全监测器316检测到手术机器人系统300处于故障状态,则安全监测器316可以被配置成使安全装置314过滤去向和来自主控制器312的通信的全部或一部分。取决于检测到的故障的类型,安全监测器316可以使安全装置314过滤去向和/或来自主控制器312的所有通信;或仅过滤去向和/或来自主控制器312的通信(例如,主控制器312与一个或多个装置/部件之间的通信)的一部分。例如,如果故障状态是可影响系统的所有部分的故障状态,那么安全监测器316可以被配置成使安全装置314过滤去向和来自主控制器312的所有通信。在某些情况下,与主控制器312通信的每个装置或部件可以被配置成如果其不从主控制器312接收常规通信(例如,心跳通信),则转变到安全状态。在这些情况下,过滤去向和来自主控制器312之间的所有通信可以使与主控制器312通信的所有其它装置转变到安全状态。相比之下,如果故障看起来与特定装置(例如,多个机器人臂中的一个特定机器人臂)有关,则安全监测器316可以被配置成使安全装置314仅过滤主控制器312与该特定装置之间的通信。

在某些情况下,安全监测器316可以被配置成通过写入指定滤波器标准的安全装置314的寄存器506来使安全装置314过滤去向和来自主控制器的通信的全部或一部分。

在一些情况下,如图5中所示,为了允许安全装置与安全监测器316之间的高通量数据传输高效地发生,安全装置314可以包括安全监测器通信接口516与缓冲器(例如,FIFO队列)518、520和寄存器506之间的直接存储器存取(DMA)522。如本领域的技术人员所知,DMA是允许输入/输出(I/O)装置绕过主处理器直接向存储单元(例如,存储器或缓冲器)发送数据或直接从该存储单元接收数据的装置。DMA允许主处理器在执行数据传输时执行其它功能。在此实例中,DMA允许在安全装置314与安全监测器316之间传输数据,其中从安全装置314或安全监测器316的交互最少。

在图5的实例中,安全监测器316被配置成:识别手术机器人系统300处于故障状态;使安全装置314过滤去向和来自主控制器312的通信的至少一部分;以及指定滤波器标准。但是,在其它示例中,另外或替代地,在手术机器人系统300中可以存在被配置成检测到手术机器人系统300处于故障状态且使安全装置314过滤去向和/或来自主控制器的通信的全部或一部分的一个或多个其它部件;并且/或者另外或替代地,安全装置314自身能够检测到手术机器人系统300处于故障状态,所述故障状态可以触发安全装置314过滤去向和/或来自主控制器的通信的全部或一部分。

在某些情况下,如图5中所示,安全装置314还可以包括警报有限状态机(FSM)524,所述警报有限状态机用于触发系统中的警报,例如但不限于音频警报和/或视觉警报。例如,在某些情况下,警报FSM 524可以连接到可用于发出可听警报的音频警报装置和/或可用于显示视觉警报的控制台的控制面板。在某些情况下,警报FSM可以由一组寄存器506中的一个或多个寄存器的配置来控制。具体地说,在某些情况下,将一个值或一组值写入一组寄存器506中的某些寄存器可使警报FSM 524触发第一类型的警报,并且将不同的一个值或一组值写入一组寄存器中的不同寄存器可使警报FSM 524触发第二类型的警报。在某些情况下,安全监测器316能够通过例如写入一组寄存器506中的适当寄存器来控制警报FSM524,并且因此控制由安全装置524触发的警报。

现在参考图6,其示出了图5的Rx滤波器502和Tx滤波器504的示例性实施方式。在此实例中,每个滤波器502、504包括流形602、604,一个或多个匹配器606、608、610、612,组合逻辑614、616,缓冲器(例如,FIFO队列)508、510,和mac地址控制(MAC)逻辑618、620。

如本领域的技术人员所知,MAC逻辑负责将数据包传输至通信接口以及从通信接口传输数据包。在此实例中,每个MAC逻辑618、620被配置成从通信接口接收指向主控制器312的通信或来自主控制器312的通信,并将所接收的通信提供至对应的流形602、604。具体地说,Rx滤波器502的MAC逻辑618被配置成经由第二通信接口514(例如,以太网接口0)从主控制器312接收通信并将所接收的通信转发到第一流形602。类似地,Tx滤波器504的流形604被配置成经由第一通信接口512(例如,以太网接口1)从手术机器人系统300中的其它部件或装置接收指向主控制器312的通信,并将所接收的通信转发到第二流形604。

每个流形602、604被配置成将每个所接收的通信的副本存储在对应的缓冲器(例如,FIFO队列)508、510中。具体地说,Rx滤波器502的流形602被配置成从主控制器312接收通信并将每个所接收的通信的副本存储在缓冲器(例如,FIFO队列)508中。存储在缓冲器(例如,FIFO队列)508中的通信(例如,如果它们未被过滤)可以随后被转发到另一部件或装置。类似地,Tx滤波器504的流形604被配置成从手术机器人系统300中的其它部件或装置接收指向主控制器312的通信,并将每个所接收的通信的副本存储在缓冲器(例如,FIFO队列)510中。存储在缓冲器(例如,FIFO 510)中的通信(例如,如果它们未被过滤)可以随后被转发到主控制器312。

每个流形602、604还被配置成从每个所接收的通信提取与过滤通信有关的信息,并将提取的信息提供至对应的匹配器606、608、610、612。与过滤有关的信息是通信中的用于确定是否将过滤通信的信息或数据。例如,在某些情况下,主控制器312可以被配置成经由UDP通信,并且可以基于以下各项中的一者或多者过滤每个通信(例如,每个UDP包):源IP地址、目的IP地址、源UDP端口和目的UDP端口。在这些情况下,每个流形602、604可以被配置成从每个所接收的UDP包的标头提取源IP地址、目的IP地址、源UDP端口和/或目的UDP目的地,并将该信息提供给对应的匹配器606、608、610、612。

每个流形602、604还被配置成从对应的匹配器606、608、610和612接收用于每个通信的信息,所述信息指示该通信是否与滤波器标准中的至少一个匹配,并且因此应被拒绝。如果流形602、604从对应的匹配器606、608、610和612接收指示通信将被拒绝的信息,则流形602、604可以将缓冲器(例如,FIFO队列)508、510中的通信标记或识别为被拒绝的通信。在某些情况下,流形602、604可以在存储在缓冲器(例如,FIFO队列)508、510中的每个通信(或通信的每个部分)旁边存储令牌。令牌可以识别通信是否将被拒绝,并且如果通信具有多个部分,则其可以识别通信的部分。例如,当可以在单个周期内接收通信时,则存储在通信旁边的令牌可以简单地指示该通信是否将被拒绝。然而,当可以在多个周期内接收通信时,令牌可以存储在通信的每个部分(例如,在每个周期中接收的部分)旁边。例如,令牌可以指定通信的部分是否是通信(例如,包)的开始,通信的部分是否是通信(例如,包)的中间部分,通信的部分是否是通信(例如,包)的结束部分并且未被拒绝,或者通信的部分是否是通信(例如,包)的结束部分并且将被拒绝。

在控制系统306还包括安全监测器316的情况下,则如图5所示,每个流形602、604还可以被配置成将每个所接收的通信的副本存储在安全监测器缓冲器(例如,FIFO队列)520、518中,以传输到安全监测器316。具体地说,Rx滤波器502的流形602可以被配置成将从主控制器312接收的每个通信(例如,经由第一通信接口接收的那些通信)的副本存储在第一安全监测器缓冲器(例如,FIFO队列)520中。然后,存储在第一安全监测器缓冲器(例如,FIFO队列)520中的通信可以随后(例如,经由安全监测器通信接口516)传输到安全监测器316。类似地,Tx滤波器504的流形604可以被配置成将去向主控制器312的每个通信(例如,经由第二通信接口接收的那些通信)的副本存储在第二安全监测器缓冲器(例如,FIFO队列)518中。然后,第二安全监测器缓冲器(例如,FIFO队列)518中的通信可以随后(例如,经由安全监测器通信接口516)传输到安全监测器316。

每个匹配器606、608、610、612被配置成将针对每个通信从流形602、604接收的信息与滤波器标准进行比较,以确定是否存在匹配。如上所述,匹配器606、608、610、612使用的滤波器标准可以由一组寄存器506识别。在某些情况下,每个匹配器606、608、610、612能够将针对通信的相关信息与多个不同组的滤波器标准进行比较。其中每个通信可以基于以下各项中的一者或多者进行过滤:源IP地址、目的IP地址、源UDP端口和目的UDP端口,每组滤波器标准可以包括源IP地址、目的IP地址、源UDP端口和目的UDP端口的任何组合。然而,对于本领域的技术人员将显而易见的是,这仅仅是一个实例,并且可以使用其它标准来过滤通信。

在某些情况下,匹配器606、608、610、612能够在一个周期(例如,时钟周期)中执行多次比较。例如,匹配器606、608、610、612能够在一个周期(例如,时钟周期)中将针对通信的相关信息与两组不同的滤波器标准进行比较。然而,在其它情况下,匹配器606可能仅能够在一个周期(例如,时钟周期)中将针对通信的相关信息与单组滤波器标准进行比较。

在某些情况下,接收完整通信可能需要单个周期(例如,时钟周期)。然而,在其它情况下,由于每个时钟周期可以接收的数据量有限,因此接收完整通信可能需要多个周期(例如,时钟周期)。在任一情况下,可能希望能够在通信结束之前确定通信是否将被拒绝(例如,与任何滤波器标准匹配),因为在将整个通信存储在对应的缓冲器(例如,FIFO队列)520、518中之前,允许将通信标记或识别为被拒绝的通信(并且可选地,CRC将被修改或破坏)。这可以描述为实时执行过滤。例如,如果接收完整通信需要八个周期,那么可能期望在八个周期(例如,时钟周期)内执行所有比较。这可以限制针对每个通信可以执行的比较的次数。

因此,在一些情况下,每个滤波器502、504可以包括多个匹配器606、608、610、612,以便增加针对每个通信(例如,包)可以执行的比较的次数。例如,在图6所示的实例中,每个滤波器502和504包括两个匹配器606、608和610、612。在接收完整通信需要8个周期,并且每个匹配器606、608、610和612可以每周期执行一次比较的情况下,这意味着可以对每个通信执行最多16次比较。然而,对于本领域的技术人员将显而易见的是,这仅仅是一个实例,并且在其它实例中,可以存在更多或更少的匹配器606、608、610、612。

如果匹配器606、608、610、612确定所接收的信息与至少一组滤波器标准匹配,则匹配器606、608、610、612可以输出指示存在匹配的信息。在某些情况下,一旦匹配器606、608、610、612已从流形接收到一组相关信息,匹配器606、608、610、612就可继续输出直到该时间点匹配器是否已找到匹配滤波器标准的相关信息的指示。

如在图6的实例中,在每个滤波器502、504包括多个匹配器606、608、610、612的情况下,每个滤波器502、504可以包括组合逻辑614、616,所述组合逻辑被配置成组合对应的匹配器606、608、610和612的输出,以便向对应的流形602、604提供指示匹配器中的任何一个是否已针对通信识别出匹配的单个输入。在图6中,每个组合逻辑614、616被实施为或门,但对于本领域的技术人员将显而易见的是,这仅仅是一个实例,并且组合逻辑614、616可以以任何合适的方式实施。

每个MAC逻辑618、620还被配置成经由通信链路将另一滤波器的缓冲器中的所有未被拒绝的通信发送至主控制器/另一装置,并且拒绝该缓冲器中存储的所有被标记或识别为被拒绝的通信。MAC逻辑618、620可以通过不输出通信来拒绝该通信,或者通过破坏通信(例如,通过破坏通信中的错误代码(例如,CRC代码))来拒绝该通信。具体地说,Rx滤波器502的MAC逻辑618被配置成经由第二通信接口(例如,以太网接口0)将Tx滤波器504的缓冲器510中的所有未被拒绝的通信发送至主控制器,并且拒绝该缓冲器510中存储的所有被标记或识别为被拒绝的通信。类似地,Tx滤波器504的MAC逻辑620被配置成经由第一通信接口(例如,以太网接口1)将Rx滤波器502的缓冲器508中的所有未被拒绝的通信发送到另一装置,并且拒绝该缓冲器508中存储的所有被标记或识别为被拒绝的通信。

在流形602、604被配置成在每个通信和/或通信的每个部分旁边存储指示通信是否将被拒绝的令牌的情况下,每个滤波器502、504还可以包括令牌(TKN)逻辑622、624,所述令牌逻辑被配置成分析与每个通信或其每个部分相关联的令牌,以确定是否将拒绝从缓冲器输出的通信,并且如果令牌指示通信将被拒绝,则使对应的MAC逻辑618、622拒绝该通信。

现在参考图7,其示出了选择性地过滤去向和/或来自主控制器312的通信的示例性方法700,该示例性方法可以由图3的安全装置314实施。方法700开始于框702,其中安全装置314接收去向或来自主控制器312的通信。然后,方法700前进到框704,其中安全装置314确定是否指定至少一个滤波器标准。在某些情况下,安全装置314可以基于一个或多个寄存器506的配置来确定是否指定至少一个滤波器标准。如果在框704处确定未指定滤波器标准,则方法700前进到框706。然而,如果在框704处确定已指定至少一个滤波器标准,则方法700前进到框708。

在框706处,安全装置314将所接收的通信输出到相关装置。例如,如果所接收的通信指向主控制器312,则所接收的通信可以(例如,经由通信接口或通信连接)输出到主控制器312。类似地,如果所接收的通信来自主控制器312,则所接收的通信可以(例如,经由通信接口或通信连接)输出到适当的装置或部件。一旦所接收的通信已被输出,方法700就可以结束,或者方法700可以返回到框702,其中接收去向和/或来自主控制器312的另一通信。

在框708处,安全装置314将所接收的通信与一个或多个滤波器标准进行比较,以确定是否存在匹配并且因此通信将被拒绝。将通信与一个或多个滤波器标准进行比较可以包括从通信提取相关信息,并将相关信息与滤波器标准进行比较以确定是否存在匹配。用于过滤目的的通信的相关信息可以基于过滤标准。例如,在每个通信是可以基于以下各项中的一者或多者进行过滤的UDP包:源IP地址、目的IP地址、源UDP端口和目的UDP端口,针对通信(例如,包)的相关信息是源IP地址、目的IP地址、源UDP端口和目的UDP端口的情况下。对于本领域的技术人员显而易见的是,这仅仅是一个实例,并且可以基于其中的任何数据或信息来过滤通信。一旦所接收的通信已经与滤波器标准进行比较,方法700就前进到框710。

在框710处,安全装置314确定所接收的通信是否与至少一个滤波器标准匹配。如果在框710处确定通信与至少一个滤波器标准匹配,则方法700前进到框712。然而,如果在框710处确定通信与任何滤波器标准都不匹配,则方法700前进到框706,其中安全装置314输出通信。

在框712处,在确定通信与至少一个滤波器标准匹配后,安全装置314拒绝通信。在某些情况下,拒绝通信可以包括丢弃通信(例如,不输出通信)。在其它情况下,拒绝通信可以包括破坏通信,使得在输出通信之前,通信不会被接收装置或部件处理。在某些情况下,破坏通信可以包括破坏通信中的错误代码(例如,CRC代码)。在某些情况下,可以通过将错误代码设置为全部为零来破坏错误代码。如上所述,丢弃通信可能比破坏通信需要更多时间。因此,与丢弃通信相反,破坏通信可以允许实时执行过滤。换句话说,破坏与滤波器标准匹配的通信可以允许在不增加任何(或仅增加最小)延迟的情况下进行过滤。一旦所接收的通信已被拒绝,方法700就可以结束,或者方法700可以返回到框702,其中接收去向或来自主控制器312的另一通信。

安全监测器

现在参考图8,其示出了图3的安全监测器316的示例性实施方式。安全监测器316是用于基于去向和/或来自主控制器312的通信来监测手术机器人系统,特别是主控制器312的操作的专用且物理上分离的部件。具体地说,安全监测器316被配置成接收去向和/或来自主控制器312的通信的至少一部分的副本;分析通信以确定手术机器人系统300是否处于故障状态;以及如果确定手术机器人系统处于故障状态,则使系统中的一个或多个装置转变到安全状态。在某些情况下,安全监测器316可以被配置成通过使安全装置314过滤去向和/或来自主控制器312的通信的至少一部分来使系统中的一个或多个装置或部件转变到安全状态。

在图8的实例中,安全监测器316包括:第一缓冲器802和第二缓冲器804(例如,FIFO队列),所述第一缓冲器和所述第二缓冲器用于分别存储去向和来自主控制器312的通信;存储器806;以及处理器808。在控制系统306包括安全装置314的情况下,可以从安全装置314接收去向和/或来自主控制器312的通信。存储器806被配置成存储故障分析代码810,所述故障分析代码在由处理器808执行时使处理器808分析第一缓冲器802和第二缓冲器804中存储的通信,以基于一个或多个故障状态标准812确定手术机器人系统300是否处于故障状态;并且响应于确定手术机器人系统300处于故障状态,使手术机器人系统300中的一个或多个装置转变到安全状态。可以基于检测到的故障状态的类型来选择转变到安全状态的一个或多个装置。例如,在一些情况下,手术机器人系统300中的仅单个装置可以转变到安全状态,而在其它情况下,手术机器人系统300中的超过一个或全部装置可以转变到安全状态。

如上所述,在某些情况下,与主控制器312通信的手术机器人系统300中的装置(例如,输入装置控制器305、显示控制器307或臂控制器309)可以被配置成以预定间隔或频率从主控制器312接收通信(例如,心跳通信等),并且如果装置(例如,输入装置控制器305、显示控制器307或臂控制器309)在一段时间(例如,预定间隔数)内没有接收到此类通信,装置可以被配置成转变到安全状态。在某些情况下,当装置在手术机器人的任何部分的移动中不再具有任何控制或作用时,可以说装置处于安全状态。当装置处于安全状态时,患者不会因为装置故障而受到伤害。在这些情况下,安全监测器316可以被配置成通过切断主控制器312与装置之间的通信来使该装置转变到安全状态。

如图3中所示,在控制系统306包括安全装置314,所述安全装置可以被配置成过滤去向和/或来自主控制器312的通信时,安全监测器316可以被配置成通过使安全装置314过滤主控制器312与装置之间的通信而使该装置转变到安全状态。安全监测器316可以被配置成通过向安全装置314发送控制信号来使安全装置314过滤主控制器与特定装置之间的通信,所述控制信号调整一个或多个滤波器标准,使得此类通信将被过滤。如参考图5所述,在安全监测器316包括指定用于过滤通信的滤波器标准的一组寄存器506时,安全装置314可以被配置成通过将数据写入一组寄存器506以使主控制器312与装置之间的通信被过滤来使安全装置314过滤通信。如上文参考图5所述,在一组寄存器506包括用于多个接收滤波器标准中的每一个的一组接收寄存器和用于多个发射滤波器标准中的每一个的一组发射寄存器时,安全监测器316可以被配置成:(i)识别当前未使用的一组接收寄存器,并配置所识别的一组寄存器以指示基于源地址和目的地址过滤来自主控制器的通信,将源地址设置为主控制器的地址,并将目的地址设置为相关装置的地址;(ii)识别当前未使用的一组发射寄存器,并配置所识别的一组寄存器,以指示基于源地址和目的地址过滤去向主控制器的通信,将源地址设置为相关装置的地址,并将目的地址设置为主控制器312的地址。

在一些情况下,如图8中所示,安全监测器316可以通过一个或多个通信接口812接收通信和/或发送控制信号。在图8所示的实例中,通信接口812是PCIe接口,然而,对于本领域的技术人员将显而易见的是,这仅仅是一个实例,并且可以使用任何合适的有线或无线通信接口。

现在参考图9,其示出了检测手术机器人系统300(例如,图3的手术机器人系统300)处于故障状态的示例性方法900,所述示例性方法可以由安全监测器316实施。方法900开始于框902,其中安全监测器316接收去向和/或来自主控制器312的通信的至少一部分的副本。如上所述,在控制系统306包括安全装置314的情况下,可以从安全装置314接收去向和/或来自主控制器312的通信的至少一部分的副本。然后,方法900前进到框904,其中安全监测器316分析所接收的通信以确定系统中的装置是否按预期操作。然后,方法900前进到框906,其中基于框904中执行的分析确定手术机器人系统300是否处于故障状态。如果在框906处确定手术机器人系统300处于故障状态,则方法900前进到框908,其中安全监测器316使手术机器人系统中的一个或多个装置转变到安全状态。然而,如果在框906处确定手术机器人系统不处于故障状态,那么方法900可以结束,或者方法900可以返回到框902。

安全监测器316可以被配置成检测的示例性故障状态包括但不限于:

·运行与在主控制器上运行的软件版本不兼容的软件版本的装置;

·从装置到主控制器的通信频率低于预定阈值,或从装置的主控制器的通信频率低于预定阈值;

·主控制器将位置或姿态命令发送至不处于预定状态(例如,接合状态)的手术机器人臂;

·由主控制器执行的计算与系统状态不一致—为了验证由主控制器执行的计算,安全监测器可以执行主控制器的反向计算;

·多于一个手术机器人臂报告相同的唯一标识符;

·手术机器人臂正在报告唯一标识符,所述唯一标识符与在操作者控制台的显示器上的图形用户界面中显示的与该手术机器人臂相关联的唯一标识符不匹配;以及

·手术机器人臂命令手术机器人臂在第一位置与第二位置之间移动,其中在第一位置与第二位置之间移动将使手术机器人臂超过最大速度。

对于本领域的技术人员显而易见的是,这些仅仅是实例,并且安全监测器316可以被配置成根据去向和/或来自主控制器312的通信检测额外和/或不同故障状态。下文描述可由安全监测器316检测的更详细示例性故障状态。

在某些情况下,安全监测器316还能够确认其本身的特性(例如,软件版本)与主控制器312和/或安全装置312的特性兼容。

主控制器—手术机器人臂—通用

在一些情况下,手术机器人臂(例如,其臂控制器)和主控制器两者都可以运行或执行软件,臂或主控制器当前正在运行的软件的版本可以包括在来自该装置的通信中。在某些情况下,臂控制器软件的某些版本可能仅与主控制器软件的某些版本兼容。在这些情况下,安全监测器316可以被配置成:根据去向和来自主控制器的通信确定主控制器是否已与手术机器人臂(例如,其臂控制器)建立通信连接;并且如果确定主控制器已与手术机器人臂建立通信连接,根据去向和来自主控制器的通信确定手术机器人臂正在运行的软件的版本是否与主控制器正在运行的软件的版本兼容。如果确定软件版本不兼容,则安全监测器316可以被配置成确定存在故障状态。响应于确定存在这种故障状态,安全监测器316可以使手术机器人臂转变到安全状态。在一些情况下,安全监测器316可以被配置成通过使安全装置314过滤特定手术机器人臂与主控制器之间的所有通信来使手术机器人臂转变到安全状态。

在一些情况下,手术机器人臂(例如,其臂控制器)在按预期操作时预期在预定时间段(例如,1000微秒)内对来自主控制器的控制通信作出响应。在这些情况下,安全监测器316可以被配置成验证从主控制器312到手术机器人臂(例如,其臂控制器)的控制通信与返回通信之间的延迟不超过预定阈值(例如,1000毫秒)。在某些情况下,主控制器可以被配置成当其向手术机器人臂发出控制命令时,在通信中包括延迟计数,并且手术机器人臂(例如,其臂控制器)被配置成在其对控制通信作出响应时包括延迟计数。在这些情况下,安全监测器316可以被配置成根据延迟计数识别由主控制器312向手术机器人臂(例如,其臂控制器)发出的控制包与手术机器人的响应之间的延迟。如果安全监测器316确定延迟超过预定阈值,则安全监测器316可以确定手术机器人系统300处于故障状态。响应于确定这种故障状态,安全监测器316可以被配置成使手术机器人臂转变到安全状态。在一些情况下,安全监测器316可以被配置成通过使安全装置314过滤特定手术机器人臂与主控制器之间的所有通信来使手术机器人臂转变到安全状态。

在某些情况下,当主控制器向手术机器人臂(例如,其臂控制器)发出使手术机器人臂移动的命令(其在本文中可被称为姿态命令)时,主控制器可以被配置成,当按预期操作时,以特定频率(例如,2.5kHz+/-20%)向手术机器人臂发出姿态命令,并且手术机器人臂被配置成,当按预期操作时,以相同频率(例如,2.5kHz+/-20%)生成对姿态命令的响应。在这些情况下,安全监测器316可以被配置成根据去向和来自主控制器的通信确定主控制器312向手术机器人臂发出姿态命令的时间。在某些情况下,来自主控制器和手术机器人臂的通信可具有指示通信是否包括姿态命令的字段,并且安全监测器316可以被配置成根据该字段确定主控制器是否向手术机器人臂发出姿态命令。如果安全监测器316确定主控制器312正向手术机器人臂发出姿态命令,则安全监测器可根据去向和来自主控制器的通信确定主控制器312是否正以预定频率发出姿态命令;以及相关手术机器人臂是否正以预定频率发出或发送对姿态命令的响应。在某些情况下,安全监测器可以被配置成如果姿态命令或响应的频率在预定长度(例如,5ms)的预定数目(例如,3)的连续时间窗口内低于预定频率,则确定主控制器312或相关手术机器人臂不以预定频率发布姿态命令或响应。

如果安全监测器316确定主控制器312未以预定频率发出姿态命令,或者相关手术机器人臂未以预定频率发送对姿态命令的响应,则安全监测器316可以确定手术机器人系统300处于故障状态。响应于确定存在这种故障状态,安全监测器316可以被配置成使相关手术机器人臂转变到安全状态。在一些情况下,安全监测器316可以被配置成通过使安全装置314过滤相关手术机器人臂与主控制器之间的所有通信来使手术机器人臂转变到安全状态。

在某些情况下,从主控制器传输到手术机器人臂的通信可以包括指示由主控制器传输通信的时间的字段。当主控制器按预期运行时,该字段中指示的时间应增加。在这些情况下,安全监测器316可以被配置成监测该字段,并且如果时间不增加,则确定手术机器人系统300处于故障状态。响应于确定这种故障状态,安全监测器316可以被配置成使所有手术机器人臂转变到安全状态。在一些情况下,安全监测器可以被配置成通过使安全装置314过滤主控制器与所有手术机器人臂之间的所有通信来使手术机器人臂转变到安全状态。

在一些情况下,主控制器312可以被配置成,当按预期操作时,仅将姿态命令发送至处于特定模式的手术机器人臂,所述特定模式在本文中可被称为手术可接合模式。在某些情况下,如果手术机器人臂当前链接到由操作者控制的输入装置(例如,手动控制器),则手术机器人臂可以处于手术可接合模式。在这些情况下,安全监测器可以被配置成根据去向和来自主控制器的通信确定主控制器是否在手术机器人不再处于特定模式(例如,手术可接合模式)的预定时间(例如,2ms)内停止向任何手术机器人臂发送姿态命令。如果安全监测器确定主控制器在臂不再处于特定模式(例如,手术可接合模式)之后的预定时间段外已向手术机器人臂发送姿态命令,则安全监测器316可以确定手术机器人系统处于故障状态。响应于确定存在这种故障状态,安全监测器可以被配置成使相关手术机器人臂转变到安全状态。在某些情况下,安全监测器可以被配置成通过使安全装置314过滤主控制器与相关手术机器人臂之间的所有通信来使相关手术机器人臂转变到安全状态。

如上所述,主控制器312可以被配置成在链接到手术机器人臂时从输入装置(例如,手动控制器)接收指示输入装置的位置和取向的信息。然后,主控制器312可以被配置成基于输入装置的位置和取向生成手术机器人臂的手腕的位置和取向(其可一起称为手腕姿态),并将手腕位置和取向命令信息发送至手术机器人臂(例如,其臂控制器),以使手术机器人臂(例如,其臂控制器)移动机器人,使得机器人的手腕具有期望的位置和取向。然后,手术机器人臂(例如,其臂控制器)可以确定关节位置和角度,以实现期望的手腕位置和取向,并且使关节移动到确定的位置。然后,手术机器人臂(例如,其臂控制器)可以基于从传感器(例如,位置和/或扭矩传感器)接收的数据报告最终手腕位置和取向。在某些情况下,手腕取向可以由手腕取向矩阵R限定。在一些情况下,当主控制器312正按预期工作时,它不应命令手术机器人臂手腕移动其位置超过预定量(例如,2mm)或移动其取向超过预定量(相对于矩阵R,1.0e-2元素级)。

在这些情况下,安全监测器316可以被配置成根据去向和来自主控制器的通信,确定主控制器312是否已命令超过在主控制器312发出命令之前由手术机器人臂(例如,其臂控制器)报告的参考手腕位置预定量(例如,2mm)或超过由手术机器人臂报告的参考手腕取向预定量(例如,1.0e-2元素级)的手腕位置或手腕取向。如果安全监测器316确定主控制器已向手术机器人臂发送手腕位置或手腕取向命令,其中位置或取向与所报告的手腕参考位置或取向的差大于预定阈值,则安全监测器316可以确定手术机器人系统300处于故障状态。响应于确定存在这种故障状态,安全监测器可以被配置成使相关手术机器人臂(例如,其臂控制器)转变到安全状态。在某些情况下,安全监测器可以被配置成通过使安全装置314过滤主控制器与相关手术机器人臂之间的所有通信来使相关手术机器人臂转变到安全状态。

在某些情况下,安全监测器316还可以被配置成根据去向和来自主控制器的通信验证作为手腕取向命令的一部分传输到手术机器人臂(例如,其臂控制器)的任何手腕取向矩阵R是否适当地形成—即其是正交的。主控制器312可由于例如计算误差、信号干扰或其它类型的误差而生成非正交矩阵。如果在某一阈值(例如,1.0e-6元素级)内R*转置(R)=单位矩阵,则可认为手腕取向矩阵R适当地形成(即是正交的)。如果安全监测器316确定作为手腕取向命令的一部分传输到手术机器人臂(例如,其臂控制器)的手腕取向矩阵R未适当地形成,则安全监测器316可以确定手术机器人系统是故障状态。响应于检测到这种故障状态,安全监测器可以被配置成使相关手术机器人臂(例如,其臂控制器)转变到安全状态。在某些情况下,安全监测器可以被配置成通过使安全装置314过滤主控制器与相关手术机器人臂之间的所有通信来使相关手术机器人臂转变到安全状态。

如上文关于图1所述,当手术机器人系统正用于执行手术程序时,附接到手术机器人臂的手术器械可以在端口处穿过患者的身体,以便接近手术部位。在某些情况下,如图10中所示,可以确定手术器械1008的轴1006优选地应穿过的端口1004内的点1002,以便最小化施加到端口且因此施加到患者的力或压力。此点1002在本文中可被称为虚拟枢轴点(VPP)。识别VPP的示例性方法在申请人的英国专利号GB2533004中描述,所述专利以全文引用的方式并入本文中。在此类情况下,主控制器可以被配置成控制手术机器人臂,使得附接到其的任何器械的轴穿过对应的VPP。

安全监测器316可以设置有识别每个端口的VPP的信息,并且安全监测器316可以被配置成监测去向和来自主控制器的通信,以确定主控制器是否向手术机器人臂发出指令或命令,所述指令或命令将使手术机器人臂移动到一位置,在该位置,从附接到手术机器人臂的器械1008的轴1006的中心线1012到VPP 1002的垂直距离1010大于预定阈值(例如,35mm)。如果安全监测器316确定所述垂直距离超过预定阈值,那么安全监测器316可以确定手术机器人系统300是故障状态。响应于检测到这种故障状态,安全监测器316可以被配置成使相关手术机器人臂转变到安全状态。在某些情况下,安全监测器可以被配置成通过使安全装置314过滤主控制器与相关手术机器人臂之间的所有通信来使相关手术机器人臂转变到安全状态。

为了确保手术机器人臂的手术器械附接部分不压在手术端口上,并且因此不压在患者身上,安全监测器316也可以或者替代地被配置成监测去向和来自主控制器312的通信,以确定主控制器是否向手术机器人臂发出指令或命令,所述指令或命令将使手术机器人臂移动到轴的基部(最靠近手术器械附接件的轴的部分)与对应的端口的VPP之间的距离小于预定阈值(例如,10mm)的位置。如果安全监测器316确定该距离下降到预定阈值以下,则安全监测器316可以确定手术机器人系统300处于故障状态。响应于确定存在这种故障状态,安全监测器316可以被配置成使相关手术机器人臂转变到安全状态。在某些情况下,安全监测器可以被配置成通过使安全装置314过滤主控制器与相关手术机器人臂之间的所有通信来使相关手术机器人臂转变到安全状态。

在某些情况下,手术机器人系统中的每个手术机器人臂可以被分配呈现给操作者的唯一标识符。例如,在某些情况下,手术机器人系统中的每个手术机器人可以被分配唯一颜色,并且手术机器人臂被配置成显示其分配的颜色,并且每个手术机器人臂可以在操作者控制台的显示器中通过其唯一颜色来识别。例如,每个手术机器人可以具有可以被配置成显示多种颜色中的一种颜色的发光二极管(LED)或一组LED。在这些情况下,手术机器人可以被配置成在去向主控制器的通信中包括其分配的唯一标识符(例如,分配的颜色)。如果多个手术机器人臂指示它们已被分配相同的唯一标识符(例如,颜色),那么当操作者(例如,外科医生)正尝试选择控制哪个臂时,这可能造成问题或混淆。因此,安全监测器316可以被配置成监测去向和来自主控制器的通信,以确定多个手术机器人是否在预定窗口(例如,100毫秒)内指示相同的唯一标识符(例如,颜色)。如果安全监测器316确定多于一个手术机器人臂已报告相同的唯一标识符(例如,颜色),则安全监测器316可以确定手术机器人系统300处于故障状态。响应于检测到这种故障状态,安全监测器316可以被配置成使相关手术机器人臂(即,报告相同的唯一标识符的手术机器人臂)转变到安全状态。在某些情况下,安全监测器可以被配置成通过使安全装置314过滤主控制器与相关手术机器人臂之间的所有通信来使相关手术机器人臂转变到安全状态。

如上所述,在某些情况下,主控制器可以将每个手术机器人臂的唯一标识符提供到操作者控制台的显示器(例如,其视频处理器),使得每个手术机器人臂可以由显示器中的唯一标识符识别。在这些情况下,作为检测到超过一个手术机器人臂正报告相同的唯一标识符的补充或替代,安全监测器316可以被配置成监测去向和来自主控制器的通信,以确定每个手术机器人臂报告的唯一标识符是否与报告给该手术机器人臂的操作者控制台的显示器的唯一标识符匹配。如果安全监测器316确定由手术机器人臂报告的唯一标识符(例如,颜色)与提供给用于手术机器人臂的显示器的唯一标识符(例如,颜色)不匹配,则安全监测器316可以确定手术机器人系统300处于故障状态。响应于检测到此类故障状态,安全监测器316可以被配置成使相关手术机器人臂(即,具有不匹配的唯一标识符的手术机器人臂)转变到安全状态。在某些情况下,安全监测器316可以被配置成通过使安全装置314过滤主控制器与相关手术机器人臂之间的所有通信来使相关手术机器人臂转变到安全状态。

手术机器人系统通常用于内窥镜手术(例如,腹腔镜手术)中,该内窥镜手术也可以被称为微创手术。如本领域的技术人员所知,在内窥镜程序期间,外科医生将内窥镜通过身体的小切口或天然开口(例如但不限于口或鼻孔)插入。内窥镜是刚性或柔性管,微小摄像头附接到其上,将实时图像传输到视频监测器(例如,显示器206),外科医生使用该视频监测器帮助引导他的工具穿过相同的切口/开口或穿过不同的切口/开口。内窥镜允许外科医生详细查看身体的相关区域,而不必切割开口并暴露相关区域。该技术允许外科医生看到患者身体内部并且通过比传统开放手术本来期望的小得多的切口操作。因此,在典型的机器人内窥镜手术中,内窥镜附接到一个手术机器人臂,一个或多个手术器械(例如一对钳子和/或手术刀)附接到一个或多个其它手术机器人臂。由于内窥镜为操作者(例如,外科医生)提供手术部位的视图,所以操作手术机器人可能不安全,除非内窥镜附接到手术机器人臂中的一个并且按预期操作。

在手术机器人臂被配置成报告附接到其的工具的类型(例如,手术器械或内窥镜)的情况下,安全监测器316可以被配置成根据去向和来自主控制器的通信确定内窥镜是否附接到手术机器人臂中的一个,并且如果是,则确定内窥镜是否按预期操作。如果安全监测器316确定内窥镜没有附接到手术机器人臂中的一个,或附接的内窥镜不按预期工作,那么安全监测器316可以确定手术机器人系统300处于故障状态。响应于检测到这种故障状态,安全监测器316可以被配置成使所有手术机器人臂转变到安全状态。在某些情况下,安全监测器可以被配置成通过使安全装置314过滤主控制器与手术机器人臂之间的所有通信来使手术机器人臂转变到安全状态。

如上所述,在某些情况下,操作者(例如,外科医生)能够通过经由输入装置(例如但不限于,手动控制器)提供输入来控制手术机器人臂(以及附接到其的手术器械/内窥镜)的移动和/或位置。在某些情况下,外科医生可以通过(例如,经由操作者控制台)将输入装置(例如,手动控制器)链接到特定手术机器人臂来使用输入装置(例如,手动控制器)控制特定手术机器人臂。在某些情况下,如果手术机器人系统检测到内窥镜未附接到手术机器人臂,或附接的内窥镜未按预期工作,则应在预定时间段(例如,5ms)内将任何手动控制器从手术机器人臂断开。在这些情况下,安全监测器316可以被配置成根据去向和来自主控制器的通信确定是否存在附接到手术机器人臂中的一个的内窥镜,并且如果存在,则确定内窥镜是否按预期操作。如果安全监测器316确定内窥镜没有附接到手术机器人臂中的一个,或者附接的内窥镜未按预期工作,那么安全监测器316可以根据去向和来自主控制器的通信确定如果在检测之后的预定时间(例如,5ms)后仍有输入装置链接到手术机器人系统,则手术机器人系统300处于故障状态。响应于检测到这种故障状态,安全监测器316可以被配置成使所有手术机器人臂转变到安全状态。在某些情况下,安全监测器可以被配置成通过使安全装置314过滤主控制器与手术机器人臂之间的所有通信来使手术机器人臂转变到安全状态。

在某些情况下,可能不希望太快或太迅速地移动手术机器人臂。因此,主控制器312可以被配置成,在按预期工作时,使手术机器人臂(例如,手术机器人臂的手腕)移动不超过预定速度限制(例如,0.25m/s)。在此类情况下,安全监测器316可以被配置成根据去向和来自主控制器的通信确定主控制器是否使手术机器人臂比预定速度限制移动得更快(在可接受公差内,例如但不限于+/-10%)。在某些情况下,主控制器312可以被配置成通过发出位置或姿态命令序列来使手术机器人臂移动,每个位置或姿态命令指示手术机器人臂(或手术机器人臂的手腕)将移动到的位置或姿态。在这些情况下,安全监测器316可以被配置成如果安全监测器检测到由主控制器312命令的两个连续姿态之间的差导致速度超过预定速度限制(在例如10%的阈值内),确定主控制器已发出使手术机器人臂移动得比预定速度限制更快的命令。

如果安全监测器316确定主控制器已发出使手术机器人臂(例如,其手腕)超过预定速度限制的命令,则安全监测器316可以确定手术机器人系统300处于故障状态。响应于检测到这种故障状态,安全监测器316可以被配置成使相关手术机器人臂(将使手术机器人超过预定速度阈值)转变到安全状态。在某些情况下,安全监测器可以被配置成通过使安全装置316过滤主控制器与相关手术机器人臂之间的所有通信来使手术机器人臂转变到安全状态。

主控制器—具有附接到其的手术器械的手术机器人臂

在某些情况下,与具有附接到其的内窥镜的手术机器人臂相比,可以有不同规则应用于具有附接到其上的手术器械的手术机器人臂。

如上所述,在某些情况下,每个手术机器人臂可以由主控制器312分配唯一标识符(例如,唯一颜色)。在某些情况下,具有附接到其的内窥镜的手术机器人臂可以一致地被分配相同的唯一标识符。换句话说,在某些情况下,可以为具有附接到其的内窥镜的手术机器人臂保留特定的唯一标识符。例如,具有附接到其的内窥镜的手术机器人臂可以被分配白色。如上所述,手术机器人臂可以被配置成在去向主控制器312的至少一些通信中包括分配给其的唯一标识符。如果不具有附接到其的内窥镜的手术机器人臂(例如,其具有附接到其的手术器械)报告为内窥镜臂保留的特定的唯一标识符(例如,颜色),则系统可能不按预期工作。

因此,安全监测器316可以被配置成根据去向和来自主控制器312的通信确定不具有附接到其的内窥镜的手术机器人臂是否报告为具有附接到其的内窥镜的手术机器人臂保留的唯一标识符(例如,颜色)。如果安全监测器316确定未附接到内窥镜的手术机器人臂报告为具有附接到其的内窥镜的手术机器人臂保留的唯一标识符(例如,颜色),安全监测器316可确定手术机器人系统300处于故障状态。响应于检测到这种故障状态,安全监测器316可以被配置成使相关手术机器人臂(错误地报告为具有附接到其的内窥镜的手术机器人臂保留的唯一标识符的手术机器人)转变到安全状态。在某些情况下,安全监测器316可以被配置成通过使安全装置314过滤主控制器与相关手术机器人臂之间的所有通信来使相关手术机器人臂转变到安全状态。

在某些情况下,主控制器312可以被配置成当其正按预期工作时控制最大数目的(例如,三个或四个)器械手术机器人臂(即,具有附接到其的手术器械(相对于内窥镜)的手术机器人臂)。在这些情况下,安全监测器316可以被配置成根据去向和来自主控制器312的通信确定主控制器312是否已在预定时间段(例如,1毫秒窗口)内向超过最大数目的器械手术机器人臂发出控制命令。如果安全监测器316确定主控制器312已向超过最大数目的器械手术机器人臂发出命令,那么安全监测器316可以确定手术机器人系统300处于故障状态。响应于检测到这种故障状态,安全监测器316可以被配置成使所有手术机器人臂转变到安全状态。在某些情况下,安全监测器316可以被配置成通过使安全装置314过滤主控制器与手术机器人臂之间的所有通信来使手术机器人臂转变到安全状态。

在某些情况下,附接到手术机器人臂的一个或多个手术器械可以是可致动的,即,手术器械的末端执行器可以是可致动的或可移动的。在某些情况下,驱动可从手术机器人传输到器械,以使末端执行器移动通过器械附接件上的一个或多个驱动接口元件,所述驱动接口元件接合器械上的对应的器械接口元件。在某些情况下,驱动接口元件可以是线性可移动的。主控制器316可以被配置成通过命令手术机器人臂将驱动接口元件中的一个或多个移动到某些位置,来命令手术机器人臂基于从输入装置接收的输入将附接的器械的末端执行器移动到期望姿态或位置。为了确保主控制器316不发出将使器械末端执行器以超过预定阈值的速度移动的命令,安全监测器316可以被配置成根据去向和/或来自主控制器316的通信确定驱动接口元件中的任一个的命令位置是否与手术机器人臂(例如,其臂控制器)在命令之前报告的该驱动接口元件的参考位置相差超过预定量(例如,0.1mm)。如果安全监测器316确定主控制器312已发出使驱动接口元件中的一个或多个移动超过预定量的命令,则安全监测器316可以确定手术机器人系统300处于故障状态。响应于检测到这种故障状态,安全监测器316可以被配置成使相关手术机器人臂转变到安全状态。在某些情况下,安全监测器316可以被配置成通过使安全装置314过滤主控制器与相关手术机器人臂之间的所有通信来使手术机器人臂转变到安全状态。

如上所述,在某些情况下,操作者(例如,外科医生)能够通过经由输入装置(例如但不限于,手动控制器)提供输入来控制手术机器人臂(以及附接到其的手术器械/内窥镜)的移动和/或位置。在某些情况下,外科医生可以通过(例如,经由操作者控制台)将输入装置(例如,手动控制器)链接到特定手术机器人臂来使用输入装置(例如,手动控制器)控制特定手术机器人臂。如果系统按预期工作,将输入装置(例如,手动控制器)链接到手术机器人臂;接着,操作者(例如,外科医生)经由输入装置向主控制器提供指示手术机器人臂的期望位置/移动的输入;并且接着主控制器向手术机器人臂发出使其根据需要移动的命令。因此,当主控制器正按预期操作时,仅向主动地链接到输入装置(例如,手动控制器)的手术机器人臂发出控制命令。

在某些情况下,主控制器312可以被配置成在向手术机器人臂发出以引起其移动的任何通信中包括当前链接到手术机器人臂的输入装置(例如,手动控制器)。然后,安全监测器316可以被配置成根据去向和来自主控制器312的通信确定主控制器312是否已向手术机器人臂发出控制命令,而不指定当前链接到手术机器人臂的输入装置(例如,手动控制器)。如果安全监测器316确定主控制器312已向手术机器人臂发出命令,而不指定当前链接到该手术机器人臂的输入装置(例如,手动控制器),安全监测器316可以确定手术机器人系统300处于故障状态。响应于检测到这种故障状态,安全监测器316可以被配置成使相关手术机器人臂转变到安全状态(例如,主控制器向其发出姿态命令而未指定链接到其的输入装置(例如,手动控制器)的手术机器人臂)。在某些情况下,安全监测器316可以被配置成通过使安全装置314过滤主控制器与相关手术机器人臂之间的所有通信来使相关手术机器人臂转变到安全状态。

如上所述,在某些情况下,操作者能够经由例如在操作者控制台的显示器上呈现给操作者的图形用户界面,使用特定的输入装置(例如,手动控制器)来选择将控制哪个手术机器人臂。在某些情况下,安全监测器316可以被配置成根据去向和来自主控制器312的通信识别操作者已链接到输入装置(例如,手动控制器)的手术机器人臂,并且确定主控制器是否认为手术机器人臂链接到不同的输入装置(例如,手动控制器)。如果安全监测器316确定主控制器312已指示手术机器人臂由操作者连接到与链接到手术机器人臂的输入装置不同的输入装置(例如,手动控制器),则安全监测器316可以确定手术机器人系统300处于故障状态。响应于检测到这种故障状态,安全监测器316可以被配置成使所有手术机器人臂转变到安全状态。在某些情况下,安全监测器316可以被配置成通过使安全装置314过滤主控制器与手术机器人臂之间的所有通信来使手术机器人臂转变到安全状态。

在某些情况下,即使在手术机器人臂已由操作者(例如,经由图形用户界面)链接到输入装置(例如,手动控制器)之后,如果输入装置(例如,手动控制器)处于特定状态,则输入装置仅可用于控制链接的手术机器人臂,所述特定状态在本文中可被称为接合状态。在某些情况下,如果满足一个或多个条件,例如但不限于操作者接触输入装置(例如,操作者的手掌与手动控制器接合),手动控制器无故障,以及操作者没有(例如,经由特定按钮按下)指示其希望将输入装置置于脱离状态,则输入装置(例如,手动控制器)可能仅处于特定状态(例如,接合状态)。因此,如果主控制器312向手术机器人发出移动指令(例如,姿态命令),该手术机器人链接的输入装置(例如,手动控制器)不处于用于控制手术机器人臂的预定状态(例如,接合状态),则这可能指示主控制器未按预期操作。

因此,安全监测器316可以被配置成根据去向和来自主控制器312的通信识别输入装置的当前状态,并确定主控制器是否已向手术机器人臂发出移动指令(例如,姿态命令),该手术机器人臂链接的输入装置不处于用于控制手术机器人臂的预定状态(例如,接合状态)。如果安全监测器316确定主控制器312已向手术机器人臂发出移动指令,该手术机器人链接的输入装置不处于预定状态,则安全监测器316可以确定手术机器人系统300处于故障状态。响应于检测到这种故障状态,安全监测器316可以被配置成使相关手术机器人臂(主控制器错误地向其发出移动指令的手术机器人臂)转变到安全状态。在某些情况下,安全监测器316可以被配置成通过使安全装置314过滤主控制器与相关手术机器人臂之间的所有通信来使相关手术机器人臂转变到安全状态。

在某些情况下,主控制器312可以被配置成通过将比例因子应用于输入装置移动,将输入装置(例如,手动控制器)的移动转换为器械末端执行器的移动。例如,如果输入装置的移动由X表示,则主控制器312可以使末端执行器移动kX,其中k是比例因子。在某些情况下,出于安全监测器316的利益,比例因子可以包括在来自主控制器和手术机器人臂(例如,其控制器)的通信中。在此类情况下,安全监测器316可以被配置成根据去向和/或来自主控制器312的通信确定主控制器312是否已向手术机器人臂发出与多个可接受的或可能的比例因子中的一个不一致的姿态命令。如果安全监测器316确定主控制器312已向手术机器人臂发出与多个可接受或可能的比例因子中的一个不一致的命令指令,则安全监测器316可以确定手术机器人系统300处于故障状态。响应于检测到这种故障状态,安全监测器316可以被配置成使相关手术机器人臂(主控制器错误地向其发出移动指令的手术机器人臂)转变到安全状态。在某些情况下,安全监测器316可以被配置成通过使安全装置314过滤主控制器与相关手术机器人臂之间的所有通信来使相关手术机器人臂转变到安全状态。

在某些情况下,操作者(例如,外科医生)可以被配置成通过移动输入装置(例如,手动控制器)来指示附接到手术机器人臂的手术器械的期望位置和/或移动。控制器312接着可以被配置成基于从输入装置(例如,手动控制器)接收的输入、内窥镜姿态(即,位置(x,y,z)和取向)以及与操作者输入相关联的比例因子(上文描述的)确定手术器械尖端的姿态(即,位置(x,y,z)和取向);然后基于VPP确定手腕姿态和器械偏航和器械俯仰,以实现计算的器械尖端姿态,并命令手术机器人臂移动到确定的手腕姿态。如上所述,VPP是器械的轴应优选地穿过以减小施加到端口且因此施加到患者的力的点。

在某些情况下,主控制器312可以被配置成输出其计算的器械尖端姿态。在此类情况下,安全监测器316可以被配置成基于去向和来自主控制器的通信来验证主控制器312对手术器械尖端姿态的计算。具体地说,安全监测器316可以被配置成根据去向和来自主控制器312的通信识别由输入装置(例如,手动控制器输入)提供的输入、内窥镜姿态(即,位置和取向)、比例因子(上文描述的)和由主控制器312计算的手术器械尖端姿态。然后,安全监测器316可以从计算的器械尖端姿态执行反向计算以识别输入的估计值。然后,安全监测器316可以被配置成将实际输入与估计输入进行比较,以确定它们是否在彼此的预定的可接受范围内。如果安全监测器确定实际输入和估计输入不在彼此的预定的可接受范围内,那么安全监测器316可以确定手术机器人系统300处于故障状态。响应于检测到这种故障状态,安全监测器316可以被配置成使相关手术机器人臂(主控制器错误地向其发出移动指令的手术机器人臂)转变到安全状态。在某些情况下,安全监测器316可以被配置成通过使安全装置314过滤主控制器与相关手术机器人臂之间的所有通信来使相关手术机器人臂转变到安全状态。

在某些情况下,安全监测器316还可以被配置成基于去向和来自主控制器312的通信来验证主控制器对器械偏航、器械俯仰和手腕姿态(即,位置和取向)的计算。具体地说,安全监测器316可以被配置成根据去向和来自主控制器的通信,识别由主控制器312计算的手术器械尖端姿态(即,位置和取向)、由主控制器312计算的器械的俯仰和偏航以及由主控制器312计算的手腕位置。然后,安全监测器316被配置成根据所计算的器械俯仰、器械偏航、手腕姿态和VPP执行反向计算,以识别手术器械尖端姿态的估计值。然后,安全监测器316可以被配置成将估计的器械尖端姿态与由主控制器计算的器械尖端姿态进行比较,并确定它们是否在彼此的预定的可接受范围内。如果安全监测器316确定由主控制器计算的器械尖端姿态和估计的器械顶部姿态不在彼此的预定的可接受范围内,则安全监测器316可以确定手术机器人系统300处于故障状态。响应于检测到这种故障状态,安全监测器316可以被配置成使相关手术机器人臂(主控制器向其发出移动指令的手术机器人臂)转变到安全状态。在某些情况下,安全监测器316可以被配置成通过使安全装置314过滤主控制器与相关手术机器人臂之间的所有通信来使相关手术机器人臂转变到安全状态。

如上所述,一些器械可以通过由与手术器械的对应的器械接口元件交互的一个或多个驱动接口元件将驱动从手术机器人臂传递到附接到其的器械来致动。在某些情况下,一旦主控制器312已计算出器械俯仰、器械偏航和器械展开(例如,钳口的展开),主控制器312就可以被配置成计算驱动元件位置,以便实现期望的器械俯仰、偏航和展开。在此类情况下,安全监测器316可以被配置成基于去向和来自主控制器的通信来验证主控制器对驱动元件位置的计算。

具体地,安全监测器316可以被配置成根据去向和来自主控制器的通信,识别由主控制器312计算的器械俯仰、器械偏航、器械展开和驱动元件位置。然后,安全监测器312可以被配置成根据器械俯仰、偏航和展开计算驱动元件位置的估计值,并确定估计的驱动元件位置是否在计算的驱动元件位置的预定距离(1.0e-6m)内。如果安全监测器确定估计的驱动元件位置不够接近计算的驱动元件位置,则安全监测器316可以确定手术机器人系统300处于故障状态。响应于检测到这种故障状态,安全监测器316可以被配置成使相关手术机器人臂转变到安全状态。在某些情况下,安全监测器316可以被配置成通过使安全装置314过滤主控制器与相关手术机器人臂之间的所有通信来使相关手术机器人臂转变到安全状态。

在某些情况下,附接到手术机器人臂的一个或多个手术器械可以是可致动的。一些可致动的器械,例如抓取器(其可替代地称为夹钳)包括多个元件(例如,钳口),其可在打开位置与关闭位置之间移动。元件的移动可以由输入装置上的特殊输入控制。例如,每个输入装置可具有杆,或另一可移动部件或一组部件(例如,可以在至少两个方向上移动的滑动件,或可被压缩在一起或紧密接近的相对构件),其当在一个方向上或以一种方式移动(例如,向内按压)时,使元件朝向关闭位置移动,并且当在不同方向上或以不同方式移动(例如,向外按压或拉动)时,使元件朝向打开位置移动。主控制器可以被配置成经由一个或多个控制参数将杆的位置映射到器械的元件的位置,并且使元件移动到计算的位置。在此类情况下,安全监测器316可以被配置成基于去向和来自主控制器的通信来验证主控制器对元件的位置的计算。

具体地,安全监测器316可以被配置成根据去向和来自主控制器的通信,识别(i)如由主控制器计算的元件(例如,钳口)的期望位置,以及(ii)相关输入(例如,杆)的位置;并且根据相关输入(例如,杆)独立地计算元件(例如,钳口)的位置。然后,安全监测器316可以被配置成确定如由主控制器计算的元件(例如,钳口)的期望位置是否在如由安全监测器315计算的元件(例如,钳口)的位置的预定距离(例如,0.015弧度)内。在某些情况下,元件的位置可以由元件之间的角度限定。如果安全监测器316确定如由主控制器计算的元件(例如,钳口)的期望位置不在如由安全监测器316确定的元件(例如,钳口)的位置的预定距离(例如,0.015弧度)内,则安全监测器316可以确定手术机器人系统处于故障状态。响应于检测到这种故障状态,安全监测器316可以被配置成使相关手术机器人臂(例如,与相关的可致动器械附接的手术机器人臂)转变到安全状态。在某些情况下,安全监测器316可以被配置成通过使安全装置314过滤主控制器与相关手术机器人臂之间的所有通信来使相关手术机器人臂转变到安全状态。

主控制器—具有附接到其的内窥镜的手术机器人臂

如上所述,在一些情况下,与具有附接到其的手术器械的手术机器人臂相比,可以有不同规则应用于手术机器人臂。

如上所述,在某些情况下,每个手术机器人臂可以由主控制器312分配唯一标识符(例如,唯一颜色)。在某些情况下,具有附接到其的内窥镜的手术机器人臂可以一致地被分配相同的唯一标识符。换句话说,在某些情况下,可以为具有附接到其的内窥镜的手术机器人臂保留特定的唯一标识符。例如,具有附接到其的内窥镜的手术机器人臂可以被分配白色。如上所述,手术机器人臂可以被配置成在去向主控制器312的至少一些通信中包括分配给其的唯一标识符。如果不具有附接到其的内窥镜的手术机器人臂(例如,其具有附接到其的手术器械)报告为内窥镜臂保留的特定的唯一标识符(例如,颜色),则系统可能不按预期工作。

因此,安全监测器316可以被配置成根据去向和来自主控制器312的通信,确定具有附接到其的内窥镜的手术机器人臂是否未报告为具有附接到其的手术机器人臂保留的唯一标识符(例如,颜色)。如果安全监测器316确定附接到内窥镜的手术机器人臂未报告为具有附接到其的内窥镜的手术机器人臂保留的唯一标识符(例如,颜色),则安全监测器316可以确定手术机器人系统300处于故障状态。响应于检测到这种故障状态,安全监测器316可以被配置成使相关手术机器人臂(附接到内窥镜的手术机器人臂)转变到安全状态。在某些情况下,安全监测器316可以被配置成通过使安全装置314过滤主控制器与相关手术机器人臂之间的所有通信来使相关手术机器人臂转变到安全状态。

如上所述,手术器械和/或内窥镜可以可释放地附接到手术机器人臂,使得即使在手术机器人臂当前正用于手术程序中时也可以从手术机器人臂拆卸。手术机器人臂本身能够确定手术器械或内窥镜何时已附接到其,以及手术器械或内窥镜何时已从其拆卸,并且将检测到的附接或拆卸报告给主控制器。为了确保主控制器312不向内窥镜已从其拆卸的手术机器人臂发出内窥镜位置或姿态命令,安全监测器316可以被配置成根据去向和来自主控制器的通信确定内窥镜何时已从手术机器人臂拆卸。如果安全监测器316检测到内窥镜已从手术机器人臂拆卸,则安全监测器316可确定在拆卸之后的预定时段(例如,2毫秒)之后,主控制器是否已向该手术机器人臂发出内窥镜位置命令。如果安全监测器316确定主控制器已在预定时段之后向该手术机器人臂发出内窥镜位置命令,则安全监测器316可以确定手术机器人系统300处于故障状态。响应于确定存在这种故障状态,安全监测器316可以被配置成使相关手术机器人臂(内窥镜从其拆卸的手术机器人臂)转变到安全状态。在某些情况下,安全监测器316可以被配置成通过使安全装置314过滤主控制器与相关手术机器人臂之间的所有通信来使相关手术机器人臂转变到安全状态。

如上所述,在某些情况下,操作者(例如,外科医生)能够通过经由输入装置(例如但不限于,手动控制器)提供输入来控制手术机器人臂(以及附接到其的手术器械/内窥镜)的移动和/或位置。在某些情况下,即使在手术机器人臂已由操作者(例如,经由图形用户界面)链接到输入装置(例如,手动控制器)之后,如果输入装置(例如,手动控制器)处于特定状态,则输入装置可仅用于控制附接到链接的手术机器人臂的内窥镜,所述特定状态在本文中可被称为接合状态。当输入装置(例如,手动控制器)不处于特定状态(例如,手动控制器)时,手动控制器可以用于另一目的,例如但不限于向图形用户界面提供输入。在某些情况下,如果满足一个或多个条件,例如但不限于操作者接触输入装置(例如,操作者的手掌与手动控制器接合),手动控制器无故障,以及操作者没有(例如,经由特定按钮按下)指示其希望将输入装置置于脱离状态,则输入装置(例如,手动控制器)可能仅处于特定状态(例如,接合状态)。

然而,与可能完全由单个输入装置(例如,手动控制器)控制的手术器械相反,内窥镜可部分地由一个输入装置(例如,手动控制器)控制,且部分地由另一输入装置(例如,手动控制器)控制。例如,第一输入装置(例如,左手动控制器)可用于控制内窥镜的第一组特征(例如,内窥镜的俯仰和偏航),并且第二输入装置(例如,右手动控制器)可用于控制内窥镜的第二组特征(例如,内窥镜的滚动和深度)。在此类情况下,如果第一输入装置(例如,左手动控制器)不处于特定状态(例如,接合状态),且主控制器向与第一组特征相关的相关手术机器人臂(附接到内窥镜的手术机器人臂)发出命令和/或如果第二输入装置(例如,右手动控制器)不处于特定状态(例如,接合状态),且主控制器向与第二组特征相关的相关手术机器人臂发出命令,则主控制器可能不按预期工作。

因此,安全监测器316可以被配置成根据去向和来自主控制器312的通信确定第一输入装置或第二输入装置(例如,左或右手动控制器)是否不处于特定状态。如果安全监测器316确定第一输入装置(例如,左手动控制器)不处于特定状态,则安全监测器316可以确定主控制器是否向与第一组特征相关的相关手术机器人臂(即,附接到内窥镜的手术机器人臂)发出命令。如果安全监测器316确定第二输入装置(例如,右手动控制器)不处于特定状态,则安全监测器316可以确定主控制器是否向与第二组特征相关的相关手术机器人臂发出命令。如果安全监测器316检测到任一状况,则安全监测器316可以确定手术机器人系统300处于故障状态。响应于检测到这种故障状态,安全监测器316可以被配置成使相关手术机器人臂(即,附接到内窥镜的手术机器人臂)转变到安全状态。在某些情况下,安全监测器316可以被配置成通过使安全装置314过滤主控制器与相关手术机器人臂之间的所有通信来使相关手术机器人臂转变到安全状态。

在某些情况下,安全监测器316还可以被配置成验证在主控制器指示附接到内窥镜的手术机器人臂的姿态改变时,所指示的姿态改变与操作者(例如,经由输入装置,例如手动控制器)请求的内窥镜运动俯仰、偏航、滚动和深度改变一致。在一个实例中,如果所请求的俯仰、偏航和滚动分别在所指示的俯仰、偏航和滚动的预定距离(例如,0.00001弧度)内,且所请求的深度在所指示的深度的2.0e-7米内,则所指示的姿态可被视为与所请求的内窥镜运动一致。具体地说,安全监测器316可以被配置成根据去向和来自主控制器312的通信确定操作者(例如,外科医生)何时(例如,经由诸如手动控制器的输入装置)请求对内窥镜进行姿态改变。如果操作者(例如,外科医生)已请求对内窥镜进行姿态改变,那么安全监测器316可以被配置成根据去向和来自主控制器312的通信确定发送至相关手术机器人臂(即,内窥镜所附接的手术机器人臂)的所指示的姿态。安全监测器316确定所指示的姿态是否与所请求的内窥镜运动一致。如果确定所指示的姿态与所请求的内窥镜运动不一致,则安全监测器316可以确定手术机器人系统处于故障状态。响应于检测到这种故障状态,安全监测器316可以被配置成使相关手术机器人臂(即,附接到内窥镜的手术机器人臂)转变到安全状态。在某些情况下,安全监测器316可以被配置成通过使安全装置314过滤主控制器与相关手术机器人臂之间的所有通信来使相关手术机器人臂转变到安全状态。

在某些情况下,内窥镜的光学角度可以是可调整的。在某些情况下,光学角度可调整为多个(例如,3个)预定光学角度中的一个。在某些情况下,操作者移动(例如,输入装置(例如,手动控制器)的移动)到控制手术机器人臂(以及附接到其的手术器械)的移动的指令的转换可以基于内窥镜光学角度。在这些情况下,安全监测器316可以被配置成根据去向和来自主控制器的通信确定内窥镜的光学角度是否已改变值。然后,如果安全监测器316确定内窥镜的光学角度已改变值,则安全监测器316可根据去向和来自主控制器的通信确定主控制器未向手术机器人臂发出姿态指令,并且任选地确定内窥镜的新光学角度是否是多个预定光学角度中的一个。如果满足这些条件中的任一个,则安全监测器316可以确定手术机器人系统处于故障状态。响应于检测到这种故障状态,安全监测器316可以被配置成使整个系统转变到安全状态。在某些情况下,安全监测器316可以被配置成通过使安全装置316过滤去向和来自主控制器的所有通信来使整个系统转变到安全状态。

主控制器—输入装置控制单元

在某些情况下,输入装置(例如,手动控制器)中可具有控制器,所述控制器被配置成从输入装置(例如,手动控制器)中的一个或多个传感器接收传感器数据,并且由此确定手动控制器在手动控制器参考框架内的位置和取向,并且将所确定的姿态和取向传输到主控制器。主控制器接着将位置和取向转换成控制手术臂和附接到其的手术器械/内窥镜的命令。在某些情况下,输入装置控制器可以不包括内置安全监测器。在此类情况下,安全监测器可以被配置成根据去向和来自主控制器的通信验证输入装置控制器的操作。

在某些情况下,输入装置(例如,其控制器)和主控制器都可以运行或执行软件,并且输入装置或主控制器当前正运行的软件的版本可以包括在来自该装置的通信中。在某些情况下,输入装置控制器软件的某些版本可能仅与主控制器软件的某些版本兼容。在这些情况下,安全监测器316可以被配置成:根据去向和来自主控制器的通信确定主控制器是否已与输入装置(例如,其控制器)建立通信连接;并且如果确定主控制器已与输入装置建立通信连接,则根据去向和来自主控制器的通信确定输入装置正运行的软件的版本是否与主控制器正运行的软件的版本兼容。如果确定软件版本不兼容,则安全监测器316可以被配置成确定手术机器人系统300处于故障状态。响应于确定存在这种故障状态,安全监测器316可以使相关输入装置(例如,手动控制器)转变到安全状态。在某些情况下,安全监测器316可以被配置成通过使安全装置314过滤相关输入装置(例如,手动控制器)与主控制器之间的所有通信来使相关输入装置转变到安全状态。

在某些情况下,主控制器可以被配置成以预定频率(例如,2.5kHz)将心跳信号发送至每个输入装置(例如,每个输入装置控制器)。在这些情况下,输入装置(例如,输入装置控制器)可以被配置成如果其不以预定频率接收心跳信号,则转变到安全状态。在这些情况下,安全监测器316可以被配置成根据去向和来自主控制器的通信,确定主控制器是否在预定时间窗口(例如,5毫秒)内在预定约束内,例如,在预定频率(例如,2.5kHz)的预定阈值(例如,+/-20%)内,向每个输入装置发送心跳信号。如果确定主控制器未在预定约束内向输入装置发送心跳信号,则安全监测器316可以被配置成确定手术机器人系统300处于故障状态。响应于确定存在这种故障状态,安全监测器316可以使相关输入装置(例如,手动控制器)转变到安全状态。在某些情况下,安全监测器316可以被配置成通过使安全装置314过滤相关输入装置(例如,手动控制器)与主控制器之间的所有通信来使相关输入装置转变到安全状态。

在某些情况下,输入装置(例如,其控制器)在如预期操作时预期在预定时间段(例如,1000微秒)内对来自主控制器的控制通信作出响应。在这些情况下,安全监测器316可以被配置成验证从主控制器312到输入装置(例如,其控制器)的控制通信与返回通信之间的延迟不超过预定阈值(例如,1000毫秒)。在某些情况下,主控制器可以被配置成当其向手术机器人臂发出控制命令时,在通信中包括延迟计数(例如,时间戳),并且手术机器人臂(例如,其臂控制器)被配置成在其对控制通信的响应中包括延迟计数。在这些情况下,安全监测器316可以被配置成从延迟计数识别由主控制器312向输入装置(例如,其控制器)发出的控制包与输入装置的响应之间的延迟。如果安全监测器316确定延迟超过预定阈值,则安全监测器316可以确定手术机器人系统处于故障状态。响应于检测到这种故障状态,安全监测器316可以被配置成使相关输入装置转变到安全状态。在某些情况下,安全监测器316可以被配置成通过使安全装置314过滤相关输入装置与主控制器之间的所有通信来使相关输入装置转变到安全状态。

如上所述,如果输入装置(例如,手动控制器)链接到处于手术模式(例如,手术机器人臂可由输入装置控制的模式)的手术机器人臂,则可以认为输入装置接合。对于每个输入装置可以存在由主控制器312生成的接合ok信号,该接合ok信号指示输入装置是否与手术机器人臂接合。在此类情况下,安全监测器316可以被配置成根据去向和来自主控制器的通信验证如果“接合ok”信号在预定时间段(例如,1ms)内转变为假信号,则相关输入装置(例如,其控制器)指示其处于脱离状态。如果安全监测器确定相关输入装置(例如,其控制器)在预定时间段内未转变到脱离状态,则安全监测器316可确定手术机器人系统300处于故障状态。响应于检测到这种故障状态,安全监测器316可以被配置成使相关输入装置转变到安全状态。在某些情况下,安全监测器316可以被配置成通过使安全装置314过滤相关输入装置与主控制器之间的所有通信来使相关输入装置转变到安全状态。

如上所述,操作者控制台的显示器可以被使用或向用户提供由图像捕获装置(例如但不限于,内窥镜)捕获的手术部位的实时图像流或其表示。在某些情况下,操作者控制台的显示器还可用于向用户提供允许用户对系统进行配置和其它改变的图形用户界面。在某些情况下,当输入装置(例如,手动控制器)不处于接合状态(例如,其不用于控制手术机器人臂)时,其可用于经由图形用户界面将输入提供到系统。在某些情况下,当显示器处于显示图形用户界面或图形用户界面的方面的模式,在此模式中,用户可以对系统(例如但不限于,用户界面菜单)进行更改时,任何输入装置都不应处于接合模式。在此类情况下,安全监测器316可以被配置成根据去向和来自主控制器的通信验证如果显示装置处于显示图形用户界面或图形用户界面的方面的模式,在此模式中,用户可以对系统进行改变,所有输入装置都处于脱离状态。如果安全监测器确定当显示器处于输入装置仍指示其被接合的这种状态时,安全监测器316可以确定手术机器人系统300处于故障状态。响应于检测到这种故障状态,安全监测器316可以被配置成使相关输入装置转变到安全状态。在某些情况下,安全监测器316可以被配置成通过使安全装置314过滤相关输入装置与主控制器之间的所有通信来使相关输入装置转变到安全状态。

如上所述,在某些情况下,输入装置(例如,手动控制器)可以包括第一控制器(其可被称为把手臂基控制器(HABC)),所述第一控制器从输入生成输入姿态信息并将此信息提供给主控制器312。在某些情况下,每个输入装置还可以具有第二控制器(其可以简称为手动控制器(HC)),所述第二控制器从操作者接收输入并将这些输入提供给第一控制器(例如,HABC)。在某些情况下,除了提供至少一部分原始信息的副本之外,第一控制器(例如,HABC)还可以向主控制器提供关于第二控制器(例如,HC)的状态的信息。在这些情况下,安全监测器316还被配置成根据去向和来自主控制器的通信确定输入装置的第二控制器(例如,HC)是否正报告故障,但第一控制器不报告故障。如果安全监测器316识别出这种差异,那么安全监测器316可以确定手术机器人系统300处于故障状态。响应于检测到这种故障状态,安全监测器316可以被配置成使相关输入装置转变到安全状态。在某些情况下,安全监测器316可以被配置成通过使安全装置314过滤相关输入装置与主控制器之间的所有通信来使相关输入装置转变到安全状态。

在某些情况下,除了输出所计算的输入装置姿态之外,每个输入装置还可以输出根据其计算输入装置姿态的输入装置的关节角度。在这些情况下,安全监测器316还可以被配置成确认由输入装置(例如,其控制器)执行的计算。例如,安全监测器316可以被配置成如果安全监测器316根据去向和来自主控制器312的通信确定由输入装置控制器计算的输入装置姿态与任何输入装置关节角度不一致超过预定量(例如0.1度),则确定存在故障状态。如果安全监测器316确定由输入装置控制器输出的姿态不一致,则安全监测器316可以使相关输入装置控制器转变到安全状态。在某些情况下,安全监测器316可以被配置成通过使安全装置314过滤相关输入装置控制器与主控制器之间的所有通信来使相关输入装置转变到安全状态。

通电器械监测

在某些情况下,当诸如电外科器械的通电器械附接到手术机器人臂时,可能存在特殊的故障状态。通电器械是可由诸如电流的电能通电以执行手术程序(例如但不限于,切割或烧灼)的器械。

在某些情况下,具有附接到其的通电器械的手术机器人臂可以被配置成周期性地将时间戳令牌发送到主控制器312。在接收到令牌时,主控制器312可以被配置成生成可被称为有效令牌的修改令牌,并将有效令牌传递给输入装置控制器。如果输入装置从操作者接收到通电器械将被通电(例如,通过按下输入装置上的特殊按钮)的输入,输入装置控制器可以将有效令牌发送回主控制器312。如果主控制器确定相关手术机器人臂被接合,则主控制器可以将有效令牌发送至相关手术机器人臂,所述相关手术机器人臂将响应于接收到有效令牌而使通电器械通电。在申请人共同待决的英国专利申请1803379.5和1902811.7中描述了通电器械的这种基于令牌的激活方法,所述专利申请以全文引用的方式并入本文中。

在这些情况下,安全监测器316可以被配置成根据去向和来自主控制器的通信,检测主控制器是否向手术机器人臂发送与在预定时段(例如,3毫秒)内从输入装置(例如,输入装置控制器)接收的有效令牌不匹配的有效令牌。如果安全监测器316检测到发送的有效令牌与接收的有效令牌不匹配,则安全监测器316可以确定手术机器人系统处于故障状态。响应于检测到这种故障状态,安全监测器316可以被配置成使相关输入装置(例如,输入装置控制器)转变到安全状态。在某些情况下,安全监测器316可以被配置成通过使安全装置314过滤相关输入装置(例如,输入装置控制器)与主控制器之间的所有通信来使相关输入装置(例如,输入装置控制器)转变到安全状态。

在这些情况下,安全监测器可以被配置成根据去向和来自主控制器312的通信检测主控制器是否向未连接到输入装置的手术机器人臂发送有效令牌。如果安全监测器316检测到主控制器已向未链接到输入装置的手术机器人臂发送有效令牌,那么安全监测器316可以确定手术机器人系统300处于故障状态。响应于检测到这种故障状态,安全监测器316可以被配置成使相关手术机器人臂(例如,臂控制器)转变到安全状态。在某些情况下,安全监测器316可以被配置成通过使安全装置314过滤相关手术机器人臂(例如,臂控制器)与主控制器之间的所有通信来使相关手术机器人臂(例如,臂控制器)转变到安全状态。

在这些情况下,安全监测器316可以被配置成根据去向和来自主控制器312的通信,检测当用户尚未指示通电器械将被通电时(例如,当用户尚未按下手动控制器上的特殊通电按钮时),输入装置(例如,输入装置控制器)是否向主控制器312传输有效令牌。如果安全监测器316检测到输入装置传输有效令牌,而用户没有指示通电器械将被通电,则安全监测器316可以确定手术机器人系统300处于故障状态。响应于检测到这种故障状态,安全监测器316可以被配置成使相关输入装置(例如,输入装置控制器)转变到安全状态。在某些情况下,安全监测器316可以被配置成通过使安全装置314过滤相关输入装置(例如,输入装置控制器)与主控制器之间的所有通信来使相关输入装置(例如,输入装置控制器)转变到安全状态。

申请人在此独立地公开了本文描述的每个单独的特征以及两个或更多个这种特征的任意组合,只要这些特征或组合能够基于本说明书作为一个整体根据本领域技术人员的公知常识来实施,而不管这些特征或特征的组合是否解决本文公开的任何问题。鉴于以上描述,对于本领域技术人员来说显而易见的是,可以在本发明的范围内进行各种修改。

技术分类

06120115927969