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

用于控制机器人操纵器或相关联工具的系统和方法

文献发布时间:2024-04-18 19:58:21


用于控制机器人操纵器或相关联工具的系统和方法

相关申请的交叉引用

本申请要求2021年4月1日提交的美国临时申请63/169,443的权益,该申请通过引用以其整体被并入本文。

技术领域

本公开涉及用于执行机器人程序的系统和方法,更具体地,涉及用于控制机器人操纵器或与机器人操纵器相关联的工具的系统和方法。

背景技术

包括一个或更多个机器人操纵器的机器人操纵器组件能够被操作以控制工作空间中工具的运动。例如,这种机器人操纵器能够被用于执行非医疗程序和医疗程序。作为具体示例,远程操作操纵器能够被用于执行微创医疗程序。

机器人操纵器可以是远程操作的或以其他方式计算机辅助的。例如,工具可以由用于执行程序的机器人操纵器组件保持。然而,机器人操纵器组件和工具可能经历不期望的振动。具有更大物理顺应性(例如,由于材料特性、部件的形状、组装方法等)的机器人操纵器可能更容易发生欠阻尼振动、具有更大幅度的振动以及诸如此类。在执行程序时,这种振动可能负面地影响系统性能。例如,这种振动可能使计算机辅助系统更难实现或遵循工具的命令轨迹。

这种振动可能负面地影响所有类型的机器人系统(包括工业、娱乐和医疗机器人系统)的控制。在医疗机器人示例中,这种振动可能使医疗机器人系统更难准确地执行组织的命令操纵、成像系统的移动、针的插入、缝合线的应用等。对于进一步的示例,在一些实施方式中,机器人系统被配置为在部分或全部程序期间围绕远程运动中心(也被称为“远程中心”)枢转工具。在一些情况下,振动可能导致远程运动中心移动超过公差量。

因此,需要系统和方法来提供机器人系统和由机器人系统支持的工具的更好控制,例如,通过减轻振动。

发明内容

本发明的实施例由以下权利要求概括。

在一些实施例中,一种机器人系统包括:机器人操纵器,其包括第一关节和被连接到第一关节的连杆;以及处理单元,其包括一个或更多个处理器。处理单元被配置为:从传感器系统接收连杆的传感器测量数据;基于传感器测量数据生成第一关节的第一关节速度估计;基于机器人操纵器的一个或更多个关节的一个或更多个抵消(cancellation)条件来确定第一关节的第一振动抵消状态;以及响应于第一振动抵消状态指示第一关节的振动抵消的启用,向第一关节施加第一抵消力,该第一抵消力基于第一关节的第一关节速度估计。

在一些实施例中,一种方法包括:从传感器系统接收机器人系统的机器人操纵器的连杆的传感器测量数据,其中机器人操纵器包括被连接到连杆的第一关节;基于传感器测量数据生成第一关节的第一关节速度估计;基于传感器测量数据生成第一关节的第一关节速度估计;基于机器人操纵器的一个或更多个关节的一个或更多个抵消条件来确定第一关节的第一振动抵消状态;以及响应于第一振动抵消状态指示第一关节的振动抵消的启用,向第一关节施加第一抵消力,该第一抵消力基于第一关节的第一关节速度估计。

在一些实施例中,一种非暂时性机器可读介质包括多个机器可读指令,当由一个或更多个处理器执行时,所述多个机器可读指令适于使一个或更多个处理器执行一种方法。该方法包括:从传感器系统接收机器人系统的机器人操纵器的连杆的传感器测量数据,其中机器人操纵器包括被连接到连杆的第一关节;基于传感器测量数据生成第一关节的第一关节速度估计;基于传感器测量数据生成第一关节的第一关节速度估计;基于机器人操纵器的一个或更多个关节的一个或更多个抵消条件来确定第一关节的第一振动抵消状态;以及响应于第一振动抵消状态指示第一关节的振动抵消的启用,向第一关节施加第一抵消力,该第一抵消力基于第一关节的第一关节速度估计。

应理解,上述一般描述和以下详细描述两者本质上都是示例性和解释性的,并且旨在提供对本公开的理解,而不限制本公开的范围。在这方面,通过以下详细描述,本公开的附加方面、特征和优点对于本领域技术人员将是明显的。

附图说明

当结合附图阅读时,从以下详细描述中可以最好地理解本公开的方面。需要强调的是,根据行业的标准实践,各种特征没有按比例绘制。事实上,为了讨论的清楚性,可以任意增加或减少各种特征的尺寸。此外,本公开可以重复各种示例中的附图标记和/或字母。这种重复是出于简单和清楚的目的,并且其本身并不规定所讨论的各种实施例和/或配置之间的关系。

图1是根据本公开的实施例的机器人系统的示意图。

图2是根据本公开的实施例的机器人系统的操作员控制台的透视图。

图3是根据本公开的实施例的操纵器组件的透视图。

图4是根据本公开的实施例的另一操纵器组件的透视图。

图5图示了根据本公开的实施例的机器人系统或其一部分的示意图。

图6图示了根据本公开的实施例的机器人系统或其一部分的示意图。

图7图示了根据本公开的实施例的机器人系统的控制系统的框图。

图8图示了根据本公开的实施例的图7的控制系统的振动控制器的框图。

图9是提供根据本公开的实施例的用于以振动抵消控制操纵器和相关联工具的方法的流程图。

具体实施方式

出于促进对本公开原理的理解的目的,现在将参考附图中所示的实施例,并将使用特定语言来描述这些实施例。然而,应当理解的是,本公开的范围不受限制。在本发明的方面的以下详细描述中,阐述了许多具体细节,以便提供对所公开的实施例的全面理解。然而,对于本领域技术人员来说显然的是,可以在没有这些具体细节的情况下实践本公开的实施例。在其他情况下,没有详细描述公知的方法、程序、部件和电路,以免不必要地混淆本发明的实施例的方面。

对所描述的设备、工具、方法的任何更改和进一步修改,以及本公开原理的任何进一步应用,都被完全设想为是本公开所属领域的技术人员通常会想到的。特别地,完全可以设想,关于一个实施例描述的特征、部件和/或步骤可以与关于本公开的其他实施例描述的特征、部件和/或步骤组合。此外,本文提供的尺寸是用于特定示例的,并且可以设想不同的大小、尺寸和/或比率可以被用于实施本公开的概念。为了避免不必要的描述性重复,根据一个说明性实施例描述的一个或更多个部件或动作可以在适用于其他说明性实施例时被使用或省略。为了简洁起见,将不单独描述这些组合的多次迭代。为了简单起见,在一些情况下,在整个附图中使用相同的附图标记来指代相同或相似的部分。

以下实施例将根据各种工具和工具的部分在三维空间中的状态来描述各种工具和工具的部分。如本文所用,术语“定位”是指物体或物体的一部分在三维空间中的位置(例如,可以使用笛卡尔X、Y、Z坐标的变化来描述的三个平移自由度,例如沿着笛卡尔X、Y、Z轴线)。如本文所用,术语“取向”是指物体或物体一部分的旋转放置(三个旋转自由度,例如,可以使用滚转、俯仰和偏航来描述)。如本文所用,术语“姿态”是指物体或物体的一部分在至少一个平移自由度上的定位,以及该物体或该物体的该部分在至少一个旋转自由度上的取向。对于三维空间中的非对称刚体,全姿态可以用六个总的自由度来描述。

本公开的方面是参考计算机辅助系统和设备来描述的,所述计算机辅助系统和设备可以包括远程操作、远程控制、自主、半自主、机器人和/或诸如此类的系统和设备。此外,尽管本文所描述的一些示例通常涉及医疗程序和医疗工具,但所公开的技术也适用于非医疗程序和非医疗工具。机器人医疗实施例仅仅是示例性的,并且不应被视为限制本文公开的发明方面的范围。例如,参考外科手术器械和外科手术方法描述的技术可以在其他情境下被使用。因此,本文所述的器械、系统和方法可以被用于人类、动物、人类或动物解剖结构的部分、工业系统、通用机器人或远程操作系统。作为进一步的示例,本文所述的器械、系统和方法可以被用于非医疗目的,包括工业用途、通用机器人用途、感测或操纵非组织工件、美容改进、人类或动物解剖结构的成像、从人类或动物解剖结构收集数据、建立或拆除系统、培训医疗人员或非医疗人员和/或诸如此类。附加的示例应用包括用于对从人类或动物解剖结构移除的组织(不返回到人类或动物解剖结构)进行的程序以及用于对人类或动物尸体进行的程序。此外,这些技术还能够被用于包括或不包括外科手术方面的医疗或诊断程序。

参考图1,示出了示例机器人系统。具体地,在图1中,图示了可以被远程操作的计算机辅助机器人系统10。系统10可以被用于例如医疗程序,包括诊断或治疗程序。在一些实施例中,操纵器或机器人系统的其他部分可以通过与操纵器(或其他部分)本身的手动交互来直接控制。本申请中使用的“远程操作操纵器”包括只能够通过远程操作来控制的操纵器,以及能够通过远程操作来部分控制的操纵器(例如,操纵器的部分的直接手动控制可以是有可能的,或者在不同的时间或以不同的模式进行远程操作)。此外,在一些实施例中,机器人系统可以在被编程为执行程序或子程序的计算机的部分控制下。在其他替代实施例中,在被编程为执行程序或子程序的计算机的完全控制下的全自动机器人系统可以被用于执行程序或子程序。

如图1所示,机器人系统10通常包括被安装到台T或台T附近的操纵器组件12,操纵器组件12将对其执行程序的身体B被定位在台T上(对于医疗示例,图1将身体B示出为患者)。本文所述的操纵器组件通常包括一个或更多个机器人操纵器和被安装在其上的工具,然而术语“操纵器组件”被定义为也涵盖不具有被安装在其上的工具的操纵器。工具14和工具15被示出为被可操作地耦接到操纵器组件12。为了在本公开中方便起见,工具15包括图像传感器,并且当它确实包括成像传感器时也可以被称为成像工具15。成像工具15可以包括内窥镜。成像工具15的成像传感器可以基于光学成像技术、超声成像技术或其他技术(例如荧光透视等)。操作员输入系统16允许操作员O查看程序部位的图像或代表程序部位的图像,并控制工具14和/或工具15的操作。

机器人系统10的操作员输入系统16可以通过被连接到具有连杆机构的底座(例如操作员控制台)而被“机械接地”,或者其可以“不被机械接地”的并因而不被连接。在图1A所示的示例中,操作员输入系统16被连接到操作员控制台38,操作员控制台38在程序期间通常位于与台T相同的房间中。然而,应当理解,操作员O可以位于与身体B不同的房间或完全不同的建筑物中。操作员输入系统16通常包括用于控制工具14的一个或更多个控制设备。所述一个或更多个控制设备在本文中也被称为“输入设备”。

操纵器组件12支持和操纵工具14,同时操作员O通过操作员控制台查看程序部位。程序部位的图像可以由工具15获得,例如在医疗示例中经由包括内窥镜的图像传感器系统获得。一次使用的工具14的数量可以随着程序、操作员、空间约束和因素而变化。操纵器组件12可以包括一个或更多个非伺服控制连杆(例如,可以被手动定位和锁定在适当位置的一个或更多个连杆)和机器人操纵器的运动学结构。操纵器组件12包括驱动工具14的致动组件的多个致动器。这些致动器响应于来自控制系统(例如控制系统20)的命令而移动。致动器包括驱动系统,该驱动系统在被耦接到工具14时可以使工具14穿过体壁推进或缩回,使工具14的远端在多个自由度上移动,或操作工具14的其他功能(例如施加能量、缝合等)。工具14的移动可以包括一个、两个、三个或更多个平移自由度;一个、两个、三个或更多个旋转自由度;或其他自由度(例如,打开或闭合钳口、工具14的中间部分的移动等)。在医疗示例中,工具14可以包括每个具有单个工作构件(例如手术刀、钝刀片、针、抽吸冲洗器、内窥镜尖端、光纤、电极和电烙器钩)的末端执行器,或每个具有多个工作构件(例如钳子、抓握器、施夹器、缝合器、血管密封器、电烙器剪等)的末端执行器。

机器人系统10还包括控制系统20。控制系统20包括至少一个存储器24和至少一个处理器22(通常是多个处理器),用于实现工具14、操作员输入系统16和其他辅助系统26之间的控制,所述其他辅助系统26可以包括例如图像传感器系统、音频系统、流体输送系统、显示系统、照明系统、转向控制系统、冲洗系统和/或抽吸系统。控制系统20的一个或更多个处理器22可以位于一个位置中或位于不同位置中。在一个示例中,控制系统20可以包括位于操纵器组件中的处理器,用于处理来自图像传感器系统的图像数据。该选项也可以在这里或在引入控制系统20的任何地方被覆盖。控制系统20还包括编程指令(例如,存储指令的计算机可读介质),以实施根据本文公开的方面描述的方法的一些或全部。虽然控制系统20在图1B的简化示意图中被示出为单个块,但是该系统可以包括两个或更多个数据处理电路,其中处理的一部分可选地在操纵器组件12上或附近被执行,处理的另一部分在操作员输入系统16处被执行,以及诸如此类。可以采用多种集中式或分布式数据处理架构中的任何一种。类似地,编程指令可以被实施为多个单独的程序或子例程,或者它们可以被集成到本文所述的远程操作系统的多个其他方面中。在一个实施例中,控制系统20支持无线通信协议,例如蓝牙、IrDA、HomeRF、IEEE 802.11、DECT和无线遥测。

在一些实施例中,控制系统20可以包括一个或更多个伺服控制器,所述一个或更多个伺服控制器接收来自工具14或来自操纵器组件12的力和/或扭矩反馈。响应于该反馈,伺服控制器向操作员输入系统16发送信号。(一个或更多个)伺服控制器还可以发送信号,该信号指示操纵器组件12移动经由身体体壁中的(一个或更多个)开口延伸到身体内的内部程序部位中的(一个或更多个)工具14和/或15。可以使用任何合适的常规或专用控制器。控制器可以与操纵器组件12分离或集成。在一些医疗实施例中,控制器和操纵器组件是集成系统(例如在医疗程序期间被定位在患者身体附近的远程操作操纵器推车)的部分。

控制系统20可以被耦接到工具15,并可以包括处理器,以处理所捕获的图像以供后续显示,例如使用操作员控制台或佩戴头戴式显示系统向操作员O显示、显示在控制系统附近的一个或更多个固定或可移动监视器上,或显示在位于本地和/或远程的另一合适的显示器上。例如,在使用立体或具有深度能力的图像传感器的情况下,控制系统20能够处理所捕获的图像,以向操作员呈现程序部位的协调立体图像。这种协调可以包括立体图像之间的对准,并且可以包括调整立体内窥镜的立体工作距离。

在替代实施例中,机器人系统可以包括一个以上的操纵器组件和/或一个以上的操作员输入系统。操纵器组件的确切数量将取决于外科手术程序和手术室内的空间约束等因素。操作员输入系统可以被并置,或者它们可以被定位在单独的位置。多个操作员输入系统允许一个以上的操作员以各种组合控制一个或更多个操纵器组件。

图2是操作员控制台38的透视图。操作员控制台38包括左眼显示器32和右眼显示器34,用于向操作员O呈现操作环境的协调立体视图。操作员控制台38的操作员输入系统16包括一个或更多个控制设备36,所述一个或更多个控制设备36继而使操纵器组件12操纵一个或更多个工具14和/或15。在医疗示例中,控制设备36可以被用于操作工具14和/或15,以例如沿着平移或旋转自由度移动、闭合钳口状末端执行器、向电极施加电势、缝合组织、切割组织、沿着工具14、15的轴使关节弯曲、施加或抽吸流体或诸如此类。在各种替代方案中,控制设备36可以附加地或替代地包括各种输入装置(例如操纵杆设备、轨迹球、数据手套、扳机枪、语音识别设备、触摸屏、脚踏板、身体运动传感器、存在传感器和/或诸如此类)中的一个或更多个。在各种实施例中,(一个或更多个)控制设备将被提供有与由(一个或更多个)控制设备命令的工具相比更多、更少或相同的自由度。定位、力和触觉反馈传感器可以被用于通过控制设备36将与工具14、15相关联的定位、力以及感受发送回操作员O。

如上所述,振动可能负面地影响各种类型的机器人系统(包括非医疗机器人系统和医疗机器人系统)的控制。在各种机器人系统中,关节由控制回路控制,该控制回路可以将命令的关节定位与定位反馈(例如,来自定位传感器(例如关节编码器))进行比较,并使用其差来生成控制力(例如,线性力、旋转力,例如扭矩等)。在高性能和高精度应用中(例如,在一些医疗机器人应用中),定位环路通常是高带宽的,以减少对操作员命令的响应时间。在机器人系统的连杆更柔顺(compliant)的一些实施例中,系统的谐振频率通常可能比控制系统带宽低得多,并且谐振处或谐振附近的振动更有可能干扰预期的机器人运动。在机器人系统的连杆和关节更刚性的一些实施例中,系统的谐振频率通常远高于控制系统带宽,并且谐振处或谐振附近的振动不会干扰预期的机器人运动。

特定机器人系统的机器人连杆的刚度可能受到设计约束(例如大小和重量考虑)的限制。因此,即使在编码器测量的关节定位达到其命令值之后,关节的更快运动也可能激发花费更长时间量才能稳定(settle)的结构振动模式。纯粹基于编码器定位将标准定位控制应用于这样的系统可能导致与以下相关的问题:编码器无法测量下游结构振动,并且标准控制设计不会估计结构振动或施加抵消振动的控制力。因此,标准定位控制系统可能尝试迫使命令的关节定位和编码器测量的关节定位之间的误差为零,即使这种尝试导致结构振动增加。在操纵器或由操纵器支持的工具上经历的这种振动可能导致控制问题。例如,在工具的尖端上经历的这种振动可能导致控制问题,所述控制问题增加完成程序的时间,增加程序中的误差率,导致不太准确的移动等。作为具体示例,这种振动可能使机器人系统在医疗应用中难以执行期望的或命令的工具移动、成像或扫描工作空间、组织、针和缝合的操纵等。

参考图3-图9,如下文详细讨论的,各种振动抵消技术可以被用于减少机器人系统中的振动。控制系统可以控制机器人臂组件,使得这些振动(例如较小的振动振幅、更快的稳定时间等)被减少。在一个示例中,被动机械部件(例如阻尼器或动态吸收器)可以被用于耗散振动的能量。在另一个示例中,主动部件(例如电机(例如电动机、螺线管等))可以被用于注入相反的力(旋转力矩和/或线性力),以部分或全部地抵消振动。

在各种实施例中,振动抵消技术可以包括主动振动抵消。这种主动振动抵消可以包括使用参考感兴趣的特征(例如,机器人系统的操纵器的最远侧连杆)的点(也被称为控制点)。控制点可以被例如定义为在位于操纵器的连杆上的传感器系统的位置处、在避免操纵器的一个或更多个数学奇异位形的位置处等。此外,控制点不需要与部件的物理范围重合,并且例如可以位于部件(例如,连杆)的物理范围之外。此外,控制点的速度可以基于传感器测量数据(例如,来自传感器系统的加速度计的加速度数据)和/或连杆的角速度(例如,基于编码器测量和假定的刚体动力学确定,或者由惯性传感器(例如传感器系统的陀螺仪)测量)来确定。在一些实施例中使用控制点速度来估计控制点的实际定位。控制点定位误差可以基于控制点的命令定位(其可以通过根据命令的关节定位的正向运动学来计算)和控制点的实际定位之间的差来确定。控制点速度和定位误差可以经由反向运动学被映射到关节,以确定关节速度和关节定位误差,所述关节速度和关节定位误差然后可以被用于确定要被施加到机器人系统的操纵器的一个或更多个关节的一个或更多个振动抵消力。在一些实施例中,振动抵消力仅基于控制点速度估计来确定,并且因此不使用控制点定位估计。在这样的实施例中,仅需要基于控制点速度估计的单个积分,这比基于控制点速度估计和控制点定位估计两者来确定振动抵消力的实施例更简单。

在各种实施例中,通过使用这种主动振动抵消,被命令为遵循编码器定位命令的相同电机可以被用于抵消振动,并减少或消除对专用于振动抵消的致动器或传动系的需求。在这些实施例中,例如,当关节编码器跟踪误差大时或者当来自操作员的定位命令改变时,振动抵消力可以为零。这可以通过执行“动态饱和”技术来实现,该“动态饱和”技术基于关节的相应振动抵消状态在一个或更多个关节的控制器中施加振动抵消力。

在一些实施例中,振动抵消状态通过以下方式指示振动抵消的启用:(1)作为与启用振动抵消肯定地(affirmatively)相关联的状态,例如通过作为肯定的振动抵消启用状态,或者(2)不作为肯定地禁用振动抵消的状态,例如通过不作为肯定的振动抵消禁用状态。在一些实施例中,振动抵消状态通过以下方式指示振动抵消的禁用:(1)通过不作为与振动抵消的启用肯定地相关联的状态,例如通过不作为肯定的振动抵消启用状态,或者(2)通过作为与振动抵消状态肯定地相关联的状态,例如通过作为肯定的振动抵消禁用状态。振动抵消启用状态也被称为“抵消启用状态”,并且振动抵消禁用状态也被称为“抵消禁用状态”。

在一个示例中,变量或标志被设置为肯定地指示振动抵消的启用(肯定的抵消启用状态),并且未被设置的变量或标志指示振动抵消的禁用。在另一示例中,变量或标志被设置为肯定地指示振动抵消的启用(肯定的抵消启用状态),并且未被设置的变量或标志指示振动抵消的禁用。在又一个示例中,变量或标志被设置为肯定地指示振动抵消的启用(肯定的抵消启用状态),并且变量或标志被不同地设置(或者不同的变量或不同的标志被设置)以肯定地指示振动抵消的禁用(肯定的抵消禁用状态)。

在一些实施例中,振动抵消状态可以包括振动抵消启用状态(也被称为抵消启用状态)或振动抵消禁用状态(也被称为抵消禁用状态)。抵消启用状态指示振动抵消的启用。抵消禁用状态不指示振动抵消的启用。

在一些实施例中,指示振动抵消的启用的振动抵消状态包括作为抵消启用状态的振动抵消状态或不是抵消禁用状态的振动抵消状态。

在各种实施例中,关节的振动抵消状态可以基于操纵器的一个或更多个关节的一个或更多个抵消条件来确定。抵消条件可以包括各种命令跟踪条件,包括例如确定命令的关节定位尚未达到稳定值的命令的关节定位条件,以及确定一个或更多个关节定位(例如基于相应的编码器定位)不接近命令的关节定位的实际关节定位条件。

在一些实施例中,关节的振动抵消状态可以基于相同关节的一个或更多个抵消条件来确定,而不是基于任何其他关节的任何抵消条件来确定。在一个示例中,如果满足相同关节的所有抵消条件,则该关节可以具有振动抵消启用状态;此外,如果不满足该相同关节的一个或更多个抵消条件,则该相同关节可以具有振动抵消禁用状态。

在一些实施例中,关节的振动抵消状态可以基于另一关节(例如,相同操纵器的另一关节、相同操纵器组件的另一操纵器的另一关节)或群组中的一个或更多个关节(例如,操纵器的所有关节、操纵器组件的所有操纵器的所有关节、操纵器的关节的子集或操纵器组件的关节的子集)的一个或更多个抵消条件来确定。在一个示例中,如果不满足群组中关节的一个或更多个抵消条件的任何条件,则定义的关节的群组中的每个关节具有振动抵消禁用状态。在该示例中,当对于群组的所有关节中的每个关节都满足所有抵消条件时,关节具有振动抵消启用状态。

振动抵消可能不被施加到具有振动抵消禁用状态的关节,而可能被施加到具有振动抵消启用状态的关节。在一些实施例中,如果关节具有振动抵消禁用状态,则振动抵消力不被施加到相应的关节。这可以通过完全不施加振动抵消力、通过响应于振动抵消禁用状态而将振动抵消力设置为零等来实现。在替代实施例中,响应于振动抵消禁用状态,振动抵消控制器可以不生成任何振动抵消力或输出为零的振动抵消力。在另一些实施例中,当振动抵消状态从启用转变为禁用时,施加到关节的抵消力可以被使得从非零值连续转变为零值,反之亦然。施加的力的连续转变(例如通过随时间的逐渐变化)可以帮助减少关节(以及相关联的操纵器或操纵器组件)的突然运动,并有助于减少基于运动或力的系统检查的失败。

参考图3,所图示的为操纵器组件12(例如,被配置成以推车的形式,该推车在程序期间位于身体B附近)的一个实施例的透视图。所示的操纵器组件12提供对三个工具30a、30b、30c(例如,类似于工具14)和另一工具28的操纵,工具28包括用于捕获工件或程序部位(也被称为“工作部位”)的图像的图像传感器(例如,类似于工具15)。工具28可以通过电缆56将信号发送到控制系统20。工具30a、30b、30c、28的操纵由具有多个关节的机器人操纵器提供。工具28和工具30a-c可以通过身体中的开口被定位和操纵。机器人操纵器和工具28、30a-c可以被操纵,使得运动学远程中心被维持,每个机器人操纵器或工具在操作期间围绕其相关联的远程中心枢转。在一些实施例中,运动学远程中心被维持在开口处。在替代实施例中,运动学远程中心被维持在除开口以外的点处。例如,当使用外部接入端口来促进工具进入身体时,远程运动中心可以在身体外部在进入接入端口的入口处,或者在接入端口入口和身体中的切口之间的某处。工作部位的图像可以包括当工具30a-c被定位在工具28的图像传感器的视场内时的工具30a-c的图像。在医疗示例中,身体可以是患者的身体。

操纵器组件12包括可移动、可锁定和可驱动的底座58。底座58被连接到能够伸缩的柱57,这允许调整操纵器臂54的高度。操纵器臂54可以包括旋转关节55,该旋转关节55平行于柱57旋转和平移。操纵器臂54可以被连接到可旋转的平台53。操纵器组件12还可以包括用于在水平方向上移动平台53的伸缩式水平悬臂52。

在本示例中,操纵器臂54中的每一个包括操纵器51。操纵器51可以直接连接到工具14,并且可以是或可以不是可远程操作的。

图像传感器(例如,工具15的图像传感器)可以以各种配置被提供,包括在一些区段处具有刚性、可弯曲或可延伸的结构或具有柔性结构的图像传感器。光学图像传感器可以包括中继透镜或光纤系统,用于将图像从包括图像传感器的工具的远端发送到近端。基于数字图像的光学图像传感器可以使用远侧数字传感器,例如一个或更多个电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)器件。图像传感器还可以利用其他成像技术,例如超声、红外、高光谱和荧光透视技术。图像传感器可以提供二维或三维图像。二维图像可以提供有限的深度感知。医疗图像传感器的示例包括内窥镜、超声内窥镜等。

在各种实施例中,操纵器组件12可以被配置成以推车的形式,或者被安装到台、天花板、墙壁、地板等。在各种实施例中,操纵器组件12可以包括如图3所示的多个操纵器臂,或者包括如图4所示的单个操纵器臂,如下面更详细地描述的。

在图3的示例中,传感器系统302的一个或更多个传感器304被附接到操纵器组件12的一个或更多个位置(例如,在连接到工具的操纵器的最远侧连杆/最后一个连杆上)。传感器系统302的传感器304是不同于电机侧传感器(例如,关节编码器)的传感器。因此,传感器系统302也被称为负载侧传感器系统302,其包括位于负载侧位置(例如,一个或更多个连杆上的位置)的负载侧传感器304,其不同于包括电机侧传感器的电机侧传感器系统。在一些实施例中,传感器系统302的一个或更多个传感器304可以被集成到操纵器组件12中。这样的负载侧传感器系统可以向控制系统(例如,图1的示例的控制系统20)提供负载侧位置的测量数据,包括例如负载侧位置的定位和/或运动(例如,线性速度、线性加速度、角速度)。控制系统可以使用负载侧测量数据来控制机器人臂组件,以减少尖端振动和稳定时间。注意,在一些实施例中,负载侧传感器系统302可以不物理地位于负载侧位置处。在一个示例中,负载侧位置用标记指示,并且负载侧传感器系统302包括跟踪标记的轨迹的图像传感器系统以提供负载侧测量数据。

作为示例,图4图示了可替代的操纵器组件400,操纵器组件400可用于操纵器组件12中,以通过进入引导件402通过单个进入孔将多个关节连接器械引入工作部位。在医疗示例中,孔可以是患者的微创切口或自然身体孔口。进入引导件402是由机器人臂404保持和操纵的圆柱形结构,机器人臂404被安装在底座406上并且包括安装臂(setup arm)408和进入引导件操纵器410。安装臂408包括用于将进入引导件402定位在孔处的多个连杆和关节。如图所示,安装臂408包括用于调整安装臂408的高度的棱柱形关节(如箭头“A”所指示)和用于调整安装臂408的水平定位的多个旋转关节(如箭头“B”和“C”所指示)。进入引导件操纵器410被用于如箭头D、E和F分别所指示围绕枢转点以偏航、俯仰和滚转角旋转机械地(robotically)枢转进入引导件402(以及当时被设置在其内的关节连接器械)。关节连接器械操纵器可以驻存(reside)在壳体412中。传感器系统302的一个或更多个传感器304可以位于进入引导件操纵器410的连杆处。

参考图5,图示了控制系统(例如控制系统20)中的结构振动的示例。图5中图示的是包括关节502和被连接到关节502的连杆504的操纵器的一部分。连杆504在初始定位506处开始。控制系统20可以接收指示期望定位508(也被称为命令定位508)的操作员输入,并且确定用于驱动关节502的电机的力(例如,基于来自关节编码器的反馈关节定位)以将连杆504从初始定位506移动到期望定位508。然而,关节的快速运动可能激发结构振动模式510,即使在编码器测量的关节定位到达命令定位508之后,该结构振动模式510也可能花费很长时间才能稳定。

参考图6的示例,其中图示的是机器人系统(例如,图3的机器人系统12或图4的机器人系统400)的操纵器600的一部分的示意图。操纵器600包括连杆602、604、606和608以及关节,该关节包括例如关节610、612a、612b和612c。连杆608可以被耦接到工具,并且被称为最后一个连杆608或最远侧连杆608。负载侧传感器系统302可以位于最后一个连杆608的负载侧位置620处,并且提供该负载侧位置620的负载侧测量数据。为了简化本文和权利要求中的描述,术语“关节”应被理解为包括关节传动系。

如图6的示例中所示,控制点O

在该实施例中,电机在控制系统(例如,控制系统20)的控制下,并且可以与其他臂的电机一起操作,以采取可以辅助在工件(或医疗程序中的患者)之上推进、工具的安装、准备步骤或储存以及其他活动的姿态。此外,与每个电机或关节相关联的编码器和其他传感器向控制系统提供反馈,使得控制系统接收关于操纵器600的定位、状态和设置的数据、感测或检测或确定操纵器600的定位、状态和设置。尽管关节中的每一个可以由单独的关节控制器控制,但是关节控制器可以由公共控制系统20的公共关节控制单元控制,使得工具、工具的尖端或末端执行器以及操纵器可以通过操作员(例如,操作员O)对其相关联的控制设备(例如,图1-图2的示例的操作员输入系统)的操纵来控制。

负载侧传感器系统302可以包括一个或更多个传感器。可以构成负载侧传感器系统302的传感器的示例包括例如惯性测量单元(IMU)、加速度计、陀螺仪、电磁传感器、形状传感器、扭矩传感器、光学跟踪系统、图像跟踪系统、混合传感器系统、其他合适的传感器系统及它们的组合。在一些示例中,负载侧传感器系统302可以包括被配置为测量负载侧位置620的线性加速度的加速度计和被配置为测量负载侧位置620的角速度的陀螺仪。在一些实施例中,负载侧传感器系统302可以包括被配置成测量负载侧位置620的线性加速度的加速度计,但不包括被配置为测量负载侧位置620的角速度的陀螺仪。在各种实施例中,负载侧传感器系统302的位置可以基于系统的各种要求来确定。

参考图7,其中图示的是用于控制机器人系统的操纵器720(例如,图6的操纵器600)的控制系统700(例如,图1的示例的控制系统20)的示例。控制系统700可以包括用于基于操作员命令来控制关节的关节控制器704和用于控制关节以用于振动抵消的振动控制器706。控制系统700可以被用于控制操纵器720的移动,并因此控制其附接的工具和/或末端执行器的姿态和运动,如由操作员O的操作员输入系统(例如,图1-图2的示例的操作员输入系统16)的移动所命令的。具体地,控制系统700可以在操作员O在执行操作(例如外科手术程序)期间移动操作员输入系统时接收命令702(也被表示为命令r)。命令702可以包括命令的关节定位、命令的关节运动和/或其组合。控制系统700从操纵器720的编码器接收编码器测量数据712,并通过基于编码器测量数据712来计算由命令702提供的命令的关节定位或速度与测量的关节定位或速度之间的差,生成跟踪误差707(也被称为跟踪误差e)。

在一些实施例中,关节控制器704可以接收跟踪误差707,并生成第一控制力708来控制操纵器720的关节,以最小化跟踪误差707。基于相应类型的关节、传动系和/或电机,控制力可以包括例如旋转力(也被称为“扭矩”)、线性力或旋转和线性力分量的组合。在一些示例中,第一控制力708可以被用于驱动操纵器720的关节,直到跟踪误差707归零。在一些实施例中,可以响应于来自操作员的输入而通过控制关节的致动组件(例如,使用第一控制力708)来移动关节。

在一些实施例中,振动控制器706可以接收电机侧测量数据712(例如,来自操纵器720的编码器)和负载侧测量数据716(例如,来自操纵器720的负载侧传感器系统302)两者。振动控制器706可以进一步接收命令702和跟踪误差707,并基于命令702、跟踪误差707、编码器测量数据714以及负载侧测量数据716来生成第二控制力710(也可以被称为振动抵消力710或抵消力710)以控制操纵器720的关节以用于振动抵消。在一些实施例中,第二控制力710可以被用于驱动操纵器720的关节用于振动抵消。在一些实施例中,第二控制力710可以通过控制致动组件而被施加到关节。

虽然在一些实施例中,第一控制力708和第二控制力710可以分别被施加到关节,但在图7所示的实施例中,控制系统20可以通过组合第一控制力708和第二控制力710来生成命令718(例如,扭矩命令或线性力命令),并将命令718施加于相应的关节电机以控制操纵器720的关节。命令718可以被施加以控制操纵器720的关节的移动和/或用于操纵工具腕部或末端执行器机构的若干可驱动机械元件中的任何一个或更多个的移动。

参考图8,其中作为示例图示的是振动控制器706(例如,图7的振动控制器706)的框图。振动控制器706可以包括估计器单元802。估计器单元802可以从负载侧传感器系统302接收编码器测量数据714和负载侧测量数据716,并且生成世界系(也被称为绝对系)中的负载侧位置620的速度估计814。在一个示例中,估计器单元802将一组高通滤波器应用于来自负载侧传感器系统302的加速度计的加速度测量数据以摒弃加速度计偏差,然后应用积分以将加速度转换为速度。在该示例中,负载侧位置620的速度估计814不是使用编码器测量数据714生成的。在另一示例中,估计器单元802将传感器融合算法(例如,卡尔曼滤波器)应用于编码器测量数据714和负载侧测量数据716两者,并生成负载侧位置620的速度估计814。

在一些实施例中,运动学单元804接收负载侧位置620的速度估计814,并将负载侧位置620的速度估计814转换为控制点622的速度估计。在各种实施例中,物理约束可能使得不可能将负载侧传感器系统302放置在振动被控制处的精确点(例如,控制点622)处。运动学单元804执行运动学计算以将负载侧位置620的速度估计814转换为控制点622的速度估计。在一个示例中,控制点622被选择为使得其被刚性地连接到负载侧位置620。

在一些实施例中,为了计算刚体上的点(例如,控制点622)的速度,使用另一点(例如负载侧位置620)处的速度和刚体的角速度二者。在这些实施例中,负载侧传感器系统302可以包括被配置为测量负载侧位置620的线性加速度的加速度计和被配置为测量负载侧位置620的角速度的陀螺仪。在那些实施例中,运动学单元804可以基于负载侧位置620的速度估计814和负载侧位置620的角速度(其是刚体的角速度)来计算控制点622的速度估计816。

在一些实施例中,负载侧传感器系统302可以包括被配置为测量负载侧位置620的线性加速度的加速度计,但不包括被配置为测量负载侧位置620的角速度的陀螺仪或其他角速度传感器。在那些实施例中,运动学单元804可以基于来自编码器的编码器测量数据714使用刚体运动学来估计刚体的角速度。在一些示例中,在负载侧位置620和控制点622之间可能存在关节。在这些示例中,如果可以忽略远侧连杆本身中的振动,则仍然可以使用刚体运动学来估计控制点622的速度。

在一些实施例中,逆运动学单元806可以接收控制点622的速度估计816,并使用逆速度运动学(例如,使用雅可比矩阵的伪逆矩阵)来估计关节速度,以实现控制点622的期望速度,以用于振动抵消。在各种实施例中,可以使用关节中的一些或全部。在一个示例中,三个关节的子集可以被用于在可接受公差内有效地抵消单个点处的振动。在如图6所示的操纵器600的另一示例中,两个关节(例如,偏航关节和俯仰关节)的子集可以被用于在可接受公差内的有效振动抵消。

在一些实施例中,控制律单元808接收用于振动抵消的估计关节速度,并计算用于抵消测量的控制点速度818的中间振动抵消力820(例如,每个旋转关节的扭矩信号或每个棱柱形关节的线性力信号)。在一个示例中,控制律单元808可以用低通滤波器应用负增益(即,直接速度反馈)来滤除噪声。

振动控制器706包括用于处理命令跟踪和控制系统线性的动态饱和单元810。关于命令跟踪,在各种实施例中,用于跟踪编码器定位命令的相同关节被用于振动抵消。因此,为了抵消振动的控制点处的速度,可以使用动态饱和单元810来降低振动控制器706无意中抵消期望或命令运动(例如,来自操作员命令)的可能性。因此,在一些实施例中,动态饱和单元810被用于帮助确保当关节控制器704主动地参与遵循来自操作员的命令时,振动控制器706不会主动地执行振动抵消。解决命令跟踪问题的抵消条件也被称为命令跟踪条件。在一个示例中,如果满足命令跟踪条件,则可以启用振动抵消,并且如果不满足命令跟踪条件,则可以禁用振动抵消。

关于控制系统线性,注意,对于关节命令和测量定位之间的小误差,比例微分(PD)关节控制器(例如,图7的关节控制器704)有效地充当机器人系统内的弹簧-阻尼器系统。在一些实施例中,在此处描述的控制系统(例如,图7的控制系统700)的命令下抵消的振动不是纯粹的结构振荡的结果,而是结构的净(net)效应和与该结构接口的关节控制器的命令的结果。因此,在这些实施例中的一些实施例中,系统被配置为使得如果控制系统不处于线性区域操作中,则振动控制器706不生成任何力,或者由振动控制器706生成的力被部分或完全丢弃。在控制系统不在线性区域中操作的示例中,关节控制器704具有饱和输出(例如,受相应关节的致动器组件的致动器的物理或电气特性限制的输出)。可以使用各种技术来确定控制系统是否在线性区域中操作(例如,关节控制器704具有饱和输出),包括例如确定编码器定位是否远离命令值、确定编码器速度是否不远离命令值、确定由关节控制器命令的净扭矩是否超过极限或这些条件的组合。解决系统线性的抵消条件也被称为线性条件。一些系统设计满足线性条件,例如,当以下项中的一个或组合成立时:关节或连杆的定位在命令值的阈值内、关节或连杆的速度在相同方向上且在命令值的阈值幅度/大小(magnitude)内、由关节控制器命令的净扭矩、定位或速度在极限内等。可以根据编码器数据、加速度计数据或其他传感器数据来确定关节或连杆的定位、速度以及诸如此类。在一些实施例中,如果满足线性条件,则振动抵消可以被启用,并且如果不满足线性条件,则振动抵消可以被禁用。振动抵消的这种类型的实施方式(其中基于控制系统的状态(包括例如关节控制器的状态)选择性地丢弃振动控制器输出)可以降低持续振荡或控制系统不稳定的可能性。

为了解决这些问题,在各种实施例中,动态饱和单元810可以将命令(例如,对于每个关节)702和跟踪误差707作为输入,并相应地调制对振动抵消力的动态振动抵消力极限。在各种实施例中,对于一个或更多个关节中的每个关节,动态饱和单元810可以在确定该关节具有振动抵消禁用状态之后提供具有零值的最终振动抵消力710(例如,图7的第二控制力710),该振动抵消禁用状态是指示该关节的振动抵消被禁用的振动抵消状态。如果确定关节具有振动抵消启用状态(其是指示该关节的振动抵消被启用的振动抵消状态),则动态饱和单元810可以输出接收到的中间振动抵消力820作为最终振动抵消力710,从而有效地启用该关节的振动抵消。

一个或更多个抵消条件可以包括解决命令跟踪问题的命令跟踪条件、解决系统线性问题的线性条件、任何其他合适的抵消条件和/或它们的组合。在一些实施例中,对于关节,命令跟踪条件基于关节的估计的或测量的速度、第一关节的命令的关节速度和/或第一关节的命令的关节定位而被满足。在一个示例中,当关节的命令的关节速度的标量幅度/大小(magnitude)小于相应的确定阈值时,满足命令跟踪条件。在一些实施例中,关节的命令的速度是通过在一段时间期间命令定位的数值差来计算的。在另一示例中,当第一关节的命令的关节定位与第一关节的先前命令的关节定位之间的差小于确定差值时,满足命令跟踪条件。

在一些实施例中,对于关节,当跟踪误差(或命令的关节定位和测量的关节定位之间的差)小于相应的确定阈值时,满足线性条件。在一些示例中,基于跟踪误差的线性条件的阈值可以基于指示关节控制器704饱和的跟踪误差阈值来确定。在这些示例中,当关节控制器704饱和时,振动抵消被禁用以帮助增加稳定性。

在各种实施例中,动态饱和单元810可以使用动态振动抵消力极限(包括例如动态振动扭矩极限),并生成具有该振动抵消力极限和振动抵消力820中较小值的最终振动抵消力710。具体地,当振动抵消为活动(active)时(例如,当确定已经满足一个或更多个振动抵消条件时),动态振动抵消扭矩极限被设置为更高的扭矩极限。在这种情况下,最终振动抵消力710具有该更高的扭矩极限和振动抵消力820中的较小值。当振动抵消为暂停(inactive)时(例如,当确定尚未满足一个或更多个振动抵消条件时),动态振动抵消扭矩极限被设置为更低的扭矩极限(例如,0Nm)。在这种情况下,最终振动抵消力710具有该扭矩极限(例如,0Nm)和振动抵消力820中较小值,从而有效地禁用振动抵消。

图9图示了用于基于具有动态饱和的负载侧测量的操纵器的主动振动抵消的方法900。方法900在图9中被图示为一组操作或过程902至918。并非所有所图示的过程902至918都可以在方法900的所有实施例中执行。此外,图9中未明确图示的一个或更多个过程可以被包括在过程902至918之前、之后、中间或作为过程902至918的一部分。在一些实施例中,过程中的一个或更多个可以至少部分地以存储在非暂时性、有形机器可读介质上的可执行代码的形式来实施,当由一个或更多个处理器(例如,控制系统的处理器)运行时,该可执行代码可以使所述一个或更多个处理器执行过程中的一个或更多个。

如方法900所示,控制系统的振动控制器可以基于来自负载侧传感器的负载侧测量数据针对操纵器执行主动振动抵消。在一些实施例中,负载侧传感器可以位于操纵器臂的连杆上的负载侧位置或其他合适的负载侧的位置。振动控制器可以包括动态饱和单元,以基于振动抵消条件来调制振动抵消力,该振动抵消条件基于一个或更多个振动抵消条件来确定。通过利用动态饱和单元,可以使用用于命令跟踪(例如,基于操作员命令来控制操纵器)的相同的关节电机来执行主动振动抵消。此外,通过利用动态饱和单元,当控制系统的常规关节控制器饱和并且启用振动抵消可能导致不稳定时,振动控制器的振动抵消可以被禁用。

方法900始于过程902,在过程902处控制系统的振动控制器可以从负载侧传感器系统接收负载侧位置(例如,在机器人操纵器的连杆上)的传感器测量数据。

方法900可以进行到过程904,在过程904处振动控制器(例如,使用振动控制器706的估计器单元802、运动学单元804和逆运动学单元806)基于传感器测量数据生成被连接到连杆的第一关节的关节速度估计。在一些实施例中,过程904可以包括过程906、908和910。具体地,在一个示例中,在过程906处,估计器单元802可以基于传感器测量数据生成连杆上的负载侧位置的速度估计。在过程908处,运动学单元804基于负载侧位置速度估计生成控制点的速度估计。在过程910处,逆运动学单元806基于控制点速度估计生成操纵器的一个或更多个关节的关节速度估计。

方法900可以进行到过程912,其中振动控制器(例如,使用控制律单元808)基于关节的关节速度估计分别为关节生成中间振动抵消力。在一些实施例中,不包括过程912,并且在确定特定关节的振动抵消状态是启用振动抵消状态之后,振动控制器可以在过程916处分别为关节生成振动抵消力。

方法900可以进行到过程914,其中振动控制器(例如,使用动态饱和单元810)基于关节的一个或更多个抵消条件(包括例如解决命令跟踪的命令跟踪条件、解决关节控制器饱和的饱和条件以及任何其他合适的抵消条件)来确定一个或更多个关节的振动抵消状态。关节的振动抵消状态可以仅基于其自身的抵消条件来确定,或者替代地或附加地基于另一关节或关节的群组(例如,相同操纵器中的所有关节、相同操纵器中的关节的子集、操纵器组件的另一操纵器中的所有关节、操纵器组件的所有操纵器的所有关节等)中的一个或更多个关节的抵消条件而确定。

对外科手术工具和外科手术方法的任何引用都是非限制性的,因为本文所述的工具和方法可以被用于动物、人类尸体、动物尸体、人类或动物解剖结构的部分、非外科手术诊断、工业系统以及通用机器人或远程操作系统。

本发明实施例中的一个或更多个元件可以在软件中被实施,以在计算机系统(例如控制处理系统)的处理器上执行。当在软件中实施时,本发明的实施例的元件本质上是执行必要任务的代码段。程序或代码段可以被存储在处理器可读存储介质或设备中,该处理器可读存储介质或设备可以通过在传输介质或通信链路之上的载波中体现的计算机数据信号而被下载。处理器可读存储设备可以包括能够存储信息的任何介质,包括光学介质、半导体介质和磁介质。处理器可读存储设备的示例包括电子电路;半导体设备、半导体存储器设备、只读存储器(ROM)、闪存、可擦除可编程只读存储器(EPROM);软盘、CD-ROM、光盘、硬盘或其他存储设备。代码段可以经由计算机网络(例如因特网、内联网等)被下载。

注意,所呈现的过程和显示可能并不固有地与任何特定的计算机或其他装置有关。根据本文的教导,各种通用系统可以与程序一起使用,或者可以证明构造更专业的装置来执行所描述的操作是方便的。此外,本发明的实施例没有参考任何特定的编程语言来描述。将理解,可以使用多种编程语言来实施本文所述的本发明的教导。

虽然在所附附图中已经描述和示出了本发明的一些示例性实施例,但应理解的是,这些实施例仅是对广义发明的说明而非限制,并且本发明的实施例不限于所示和描述的特定构造和布置,因为本领域普通技术人员可能会想到各种其他修改。

相关技术
  • 用于控制不间断电源系统的方法以及相关联的电源系统
  • 机器人控制系统、机器人控制方法及机器人控制系统用的用户设备
  • 用于控制移动机器人的方法、装置和控制系统
  • 用于外科手术工具的触觉控制的系统和方法
  • 压接工具更换装置、压接压机系统以及用于将第一压接工具更换为第二压接工具的方法
  • 用于确定机器人操纵器或相关联工具的配准和控制的系统和方法
  • 用于控制机器人操纵器或相关工具的系统和方法
技术分类

06120116481763