用于外科手术及其它应用的软件中心和高度可配置的机器人系统

申请号 CN201210211381.9 申请日 2006-05-08 公开(公告)号 CN102764159B 公开(公告)日 2015-01-21
申请人 直观外科手术操作公司; 发明人 W·C·诺林; P·莫尔; B·M·舍纳; D·Q·拉金; G·居塔尔;
摘要 远程 机器人 、远程外科手术和/或 外科手术机器人 装置、系统和方法使用外科手术机器人联动装置,该外科手术机器人联动装置在空间中具有比相关手术 末端执行器 更多的 自由度 。处理器可以计算包括工具绕切口部位的枢轴转动的工具的运动。可沿给定的末端执行器方位的一系列构形进行移动的联动装置会被驱动到避免碰撞的构形中。还提供了精密的机器人联动装置及其使用方法。
权利要求

1.一种外科手术机器人系统,其包含:
外科手术器械,其具有近端、适于插入病人体内的远端末端执行器、位于所述末端执行器和所述近端之间的器械轴件和限定在所述器械轴件上的中间段;
操纵器,其被配置成支撑所述器械的所述近端以便从所述病人体外移动所述器械;
所述操纵器和所述器械共同包括多个被驱动关节,所述被驱动关节被配置成提供充足自由度以允许在所述器械轴件穿过进刀部位时针对所述末端执行器的状态有一系列关节状态;
输入端,其被配置成接收移动命令以影响所述末端执行器在外科手术工作区中的期望移动;和
处理器,其可操作地连接在所述输入端和所述操纵器之间,所述处理器被配置成响应于接收到的移动命令来确定所述被驱动关节的移动,从而使所述器械的所述中间段处于所述进刀部位中,并且从而使得通过绕在计算的期望远程中心位置处的所述器械的枢轴中心枢轴转动所述器械来以所述期望移动对所述末端执行器进行移动从而使得所述枢轴中心被保持在邻近所述进刀部位。
2.根据权利要求1所述的系统,其中所述处理器被配置成当所述器械轴件处于所述进刀部位中时跟踪所述枢轴中心位置的变化。
3.根据权利要求1所述的系统,其中所述处理器被配置成追踪由以下移动中的至少一个引起的枢轴中心的移动:支撑所述病人的外科手术台的移动、病人的移动和循环生理运动。
4.根据权利要求3所述的系统,其中所述处理器被配置成追踪和补偿由支撑所述病人的外科手术台的移动引起的枢轴中心的移动。
5.根据权利要求1所述的系统,其中所述处理器被配置成至少部分从观测到的所述器械轴件的枢轴运动来确定所述枢轴中心。
6.根据权利要求1所述的系统,其中所述处理器被配置成当微创进刀部位移动时在可接受范围内移动所述枢轴中心,从而避免在沿所述微创进刀部位的组织上施加过量的横向
7.根据权利要求1所述的系统,其中所述处理器包含软件中心模,并且其中所述软件中心模块被配置成确定所述枢轴中心的位置并且确定与绕所述微创切口枢轴转动所述器械轴件相关的力。
8.根据权利要求1所述的系统,其中所述处理器被配置成确定所述枢轴中心的循环移动,所述循环移动与所述病人的生理活动相关。
9.根据权利要求8所述的系统,其中所述生理活动包含病人的呼吸。
10.根据权利要求8所述的系统,其中所述生理活动包含病人的心跳。
11.根据权利要求1所述的系统,其中所述处理器被配置成在从被动枢轴点位置到固定枢轴点位置的范围内变化所述枢轴中心的位置的柔性或刚性。
12.根据权利要求1所述的系统,其中所述处理器被配置成响应于端口刚性因子计算所述被驱动关节的移动,从而抑止所述枢轴中心的移动。
13.根据权利要求1所述的系统,其中所述处理器被配置成响应于所述操纵器的外部手动铰接来驱动至少一些所述被驱动关节,从而将所述枢轴中心的位置维持在所述进刀部位。

说明书全文

用于外科手术及其它应用的软件中心和高度可配置的机器

人系统

[0001] 本申请是申请日为2006年5月8的名称为:“用于外科手术及其它应用的软件中心和高度可配置的机器人系统”的中国专利申请200680026441.2的分案申请。

背景技术

[0002] 本发明一般地涉及到医疗、远程外科手术、远程呈现、远程机器人,和/或机器人装置、系统和方法。在示例性实施方式中,本发明提供了具有充足自由度外科手术机器人系统,其不但提供在内部手术部位中期望的移动,而且提供绕微创外科手术切口的枢轴运动。在相关实施例中,本发明还提供了可以被用于装配和/或控制机器人系统的系统、方法和装置。
[0003] 微创医疗技术是为了减少在诊断或外科手术过程中被损坏的组织数量。微创外科手术可以减少病人的恢复时间、不舒适感和很多有害的外科手术副作用。尽管在美国每年执行的很多外科手术潜在地能够以微创的方式进行,但是当前外科手术中仅有很少一部分利用这些优越的技术,至少部分是因为现有微创手术器械的局限性和控制其应用的挑战性。
[0004] 微创机器人系统已得到发展以提高外科医生的灵巧性并避免传统微创外科手术的局限性。在机器人外科手术中,外科医生使用某种形式的机器人控制(如主从自动控制装置或类似结构)来操纵手术器械,而不是直接手持或用手移动这些器械。外科医生可以观察内部手术部位的图像以协助其引导对组织的处理。在观察显示器上的二维或三维图像的同时,外科医生通过操纵主控制输入装置,其反过来控制机器人器械的运动,来执行对病人的外科手术过程。机器人手术器械可以通过小的微创外科手术切口被插入以处理病人体内的手术部位的组织,一般损伤与开放式外科手术的进刀相关。这些机器人系统可以以充足的灵巧性来移动手术器械的工作端,以执行相当复杂的外科手术任务,一般通过在微创切口处枢轴转动器械的轴件、所述轴件沿轴向滑动穿过切口、在切口中旋转所述轴件和/或其它类似动作来完成。
[0005] 用于远程外科手术的自动控制装置一般可以接收来自两个主控制器(每个对应于外科医生的一只手)的输入并且可以包含两个或多个机器人旋臂或操纵器。将手的移动映射到由图像获取装置显示的机器人器械的图像上有助于向外科医生提供对和每只手相关联的器械的精确控制。在很多外科手术机器人系统中,包含有一个或多个额外的机器人操纵器,其用于移动内窥镜或其它图像获取装置,额外的手术器械或类似器械。
[0006] 尽管新型机器人外科手术系统和装置已被证明高度有效且优点众多,但仍需要进一步的改进。例如,当在微创手术部位移动手术器械时,机器人外科手术操纵器在病人体外可能会表现出大幅度的移动,特别是当器械绕微创切口枢轴转动时。由于器械可能同时独立地绕其相关切口枢轴转动,放置在病人体外的机器人操纵器有时会相互碰撞(或碰撞其它结构或人员)。此外,在外科手术准备中装配外科手术机器人系统会具有挑战性,且在一个外科手术过程的不同阶段重新配置系统以便接近病人不同的组织会不方便。
[0007] 由于这些及其它原因,提供用于外科手术、机器人外科手术和其它机器人应用的改进的装置、系统和方法是有好处的。如果这些改进的技术在使用中提供更快且更简便的装配和/或机器人装置的受抑止碰撞,那就会非常有益。理想情况下,所提供的这些改进不会显著增大这些系统的尺寸、机械复杂性或费用,同时维持或改进其灵巧性。

发明内容

[0008] 本发明一般地提供了改进的机器人和/或外科手术装置、系统和方法。在很多实施例中,本发明会使用高度可配置的外科手术机器人操纵器。例如,在手术工作区这些操纵器可以具有比与其相关的手术末端执行器更多的移动自由度。本发明一般会包括处理器,其通过软件指令配置为计算机器人联动装置的运动,该运动包括操纵器联动装置的轴件绕切口部位枢轴转动,由此有软件中心的概念。对于给定的末端执行器方位,支撑末端执行器的机器人操纵器关节可以允许操纵器在不同的构形范围内移动,在一些情况下即使当约束轴件在切口部位的横向移动以避免对邻近组织的伤害时,前述移动仍可进行。处理器可以利用这些操纵器的优点驱动操纵器至可抑止碰撞的构形,该碰撞涉及到一个或多个移动的机器人结构。通过处理器可以使这种高度可配置机器人操纵器的装配变得容易,这些处理器驱动操纵器的一个或多个关节,同时由系统操作员(或由其它外部相互作用)人工定位操纵器,其中这些关节可以根据沿操纵器的运动链的其它关节的移动而被选择性地驱动。实施例可以根据病人的呼吸和/或移动来调整操纵器的枢轴运动的中心,在一些情况下通过感应施加于沿切口部位的组织和操纵器之间的作用来实现。还提供了用于微创外科手术应用和其它应用的精密的机器人结构及相关的机器人方法。
[0009] 在本发明的一个方面,提供了具有操纵输入的冗余自由度(RDOF)外科手术机器人系统。所述RDOF外科手术机器人系统包含操纵器组件、输入装置和处理器。响应被输入装置所接收且影响末端执行器的期望的移动的命令,操纵器组件操纵相对于近端基座的远端执行器。操纵器具有多个关节,这些关节提供充足的自由度以允许用于末端执行器定位的一系列关节状态。处理器将输入装置和操纵器组件连接在一起并且可以被配置为以不同的模式进行操作。在末端执行器操纵模式中,处理器响应命令确定关节的移动以便使末端执行器进行期望的移动。在离合模式中,处理器响应操纵器组件的另一个关节的外部关节铰接来驱动至少一个关节。离合模式可以是姿态离合模式、器械离合模式或端口(port)离合模式。
[0010] 在本发明的另一方面,提供了RDOF软件定心外科手术机器人系统。RDOF软件定心外科手术机器人系统包括处理器、输入装置、操纵器和手术器械。所述手术器械具有近端、适用于插入病人体内的远端执行器和二者之间的中间段。操纵器支撑器械的近端并因此能够从病人体外对器械进行移动/控制。在操纵器器和器械之间,存在多个驱动关节,它们在末端执行器的中间段穿过进刀部位时提供充足的自由度以允许用于末端执行器定位的一系列关节状态。输入装置接收到命令以实现期望的末端执行器移动。处理器将输入装置和操纵器连接在一起。根据所述预定/指令移动,处理器决定关节的运动以便在末端执行器的期望的移动过程中保证器械的中间段处于进刀部位。
[0011] 在一个实施例中,由处理器决定的关节移动也可以被设计为抑止碰撞。在另一个实施例中,由处理器确定的关节移动可以被设计为驱动操纵器至期望的关节状态组合,其实现欠约束的主要解和次要控制任务。在另一个实施例中,由处理器确定的关节移动可以被设计为根据端口(port)刚劲因数来抑止器械中间段的枢轴中心的移动。在另一个实施例中,由处理器确定的关节移动从事选择于优先级列表的优先任务。在另一个实施例中,RDOF软件定心外科手术机器人系统还包括传感器系统,其向处理器指示进刀部位的位置和/或器械中间段与进刀部位的切口之间的反作用力。
[0012] 在本发明的另一个方面,提供了具有避免碰撞能力的多操纵器RDOF外科手术机器人。该多操纵器RDOF外科手术机器人包括第一操纵器组件、第二操纵器组件、输入装置和处理器。第一操纵器组件具有第一末端执行器和用于一个第一末端执行器方位的多个关节状态。第二操纵器组件具有第二末端执行器并且具有传送状态信号的能力,这些状态信号指示第二操纵器组件的移动。输入装置接收第一末端执行器的第一个期望的移动的输入。处理器与输入端、第一操纵器组件和第二操纵器组件连接在一起。处理器根据所述输入决定第一操纵器组件的移动,但也考虑了第二操纵器组件的状态信号以便抑止操纵器组件间的碰撞。利用所确定的移动,处理器控制第一末端执行器来影响第一个期望的移动。
[0013] 在本发明的另一个方面,提供了具有上部旋臂轧辊(upper arm roll)的外科手术机器人操纵器。该外科手术机器人操纵器包含可移动的手术器械夹持器、可在工作区附近进行定位的基座和旋臂组件,该旋臂组件枢轴地连接于基座和器械夹持器之间。该旋臂组件包括具有第一轴线的第一连杆、具有第二轴线的第二连杆、连接于第一连杆和第二连杆之间以变换二者的夹的枢轴旋臂关节,以及基座和枢轴旋臂关节之间的第一轧辊关节。第一轧辊关节具有沿第一轴线延展的旋臂轧辊轴线。
[0014] 通过参考说明书的余下部分和附图,可以更明显地进一步理解本发明的特性和优点。

附图说明

[0015] 图1A是透视图,其图解说明了用于输入外科手术过程命令的主控外科医生控制台或工作台,该控制台包括处理器,其响应输入命令而生成操纵器命令信号。
[0016] 图1B是侧视图,其示意性地图解说明了具有多个机器人操纵器的外科手术台,这些机器人操纵器被用于在病人体内的手术部位自动地移动具有手术末端执行器的手术器械,以及用于通过操纵器-器械组件来执行外科手术过程的方法。
[0017] 图1C是透视图,其示意性地图解说明了利用图1A和图1B中的操纵器组件和外科医生控制台在病人的微创手术部位执行的外科手术方法。
[0018] 图2是侧视图,其图解说明了具有手柄主控制器输入装置,该手柄用于向图1中的工作台输入期望的移动。
[0019] 图3是示例性机器人手术器械或工具的透视图,该器械或工具可以组装在图1B中的操纵器上。
[0020] 图3A-3F是用于不同类型手术器械的多个不同末端执行器的透视图。
[0021] 图4A-4C是示例性机器人操纵器组件的底视图、侧视图和后视图,针对给定末端执行器的方位该组件具有一系列关节状态。
[0022] 图5A和图5B是图4A-4C中的操纵器的侧视图,其图解说明了操纵器的向下弯曲的肘关节构形和向上弯曲的肘关节构形,其针对给定末端执行器的方位。
[0023] 图6示意性地图解说明了由图4A-4C中的操纵器和组装于其上的图3中的器械所提供的自由度。
[0024] 图7A示意性地图解说明了被插入的穿过切口的操纵器组件。
[0025] 图7B示意性地图解说明了以手动方式将图7A中高度可配置的操纵器组件重新定位到新的切口位置所面临的挑战。
[0026] 图7C示意性地图解说明了对图7A中的旋臂进行重新配置以便在手动重新定位操纵器到新的切口位置时增强运动范围或类似效果。
[0027] 图8示意性地图解说明了高度可配置的操纵器组件,其具有离合器输入开关以便使在邻近微创切口处手动定位手术器械变得简便,同时处理器响应该手动移动而对操纵器关节进行配置。
[0028] 图8A-8E示意性地图解说明了不同的离合模式,其用于手动重新定位至少一部分的机器人操纵器组件,以便适应新的切口位置,或使器械夹持器绕切口枢轴转动,或在不移动末端执行器或器械夹持器的情况下改变操纵器的姿态,或类似动作。
[0029] 图9A和图9B示意性地图解说明了在旋臂的手动移动过程中自动地重新配置一系列可替代的关节构形内的操纵器组件的关节。
[0030] 图10A是简化框图,其示意性地图解说明了全约束逆雅可比主/从速度控制器。
[0031] 图10B是经修改的主/从控制器的简化框图,其中逆雅可比控制器模与具有构形相关子空间滤波器的第二模块相结合,以便允许对过约束或欠约束的操纵器进行控制。
[0032] 图10C说明了对图10B中的简化主-从控制示意图的细化,并展示了在不同的处理器模式中如何使用不同的模块。
[0033] 图11示意性地图解说明了用于全约束主/从机器人外科手术系统的示例性逆雅可比控制器。
[0034] 图12示意性地图解说明了图11中控制器的修改部分,其中逆雅可比控制器已通过构形相关滤波器进行修改,以便控制器考虑到不同级别的系统约束和/或目标的优先级。
[0035] 图13示意性地图解说明了具有套管力传感器的从动操纵器组件。
[0036] 图13A示意性地图解说明了和图13中的操纵器组件或本文描述的其它操纵器组件共同使用的混合型力/方位控制器。
[0037] 图13B和图13C示意性地图解说明了图13A中的控制器的不同方面。
[0038] 图14A和图14B分别示意性地图解说明了器械坐标系和绕微创进刀部位的枢轴移动的器械轴件。
[0039] 图15是在其中可以执行本发明实施例的可替代控制系统的工作台处理器的示意图。
[0040] 图16示意性地图解说明了具有模块的经修改的控制系统,这些模块用于求解具有过量自由度的操纵器的关节运动,这适用于修改图15中的系统以便执行本发明的实施例。
[0041] 图17示意性地图解说明了在图16的一个或多个控制模块中执行的逆向运动学解法的计算。
[0042] 图18A图解说明了示例性联动组件的图形和用于该联动组件的优选关节构形。
[0043] 图18B是图18A中的操纵器组件的俯视图,并图解说明了该操纵器组件的平面构形。
[0044] 图18C和图18D是图解说明针对多操纵器从动系统中相邻操纵器组件的平面姿态的俯视图;
[0045] 图18E和图18F图解说明了操纵器组件并示出了针对该组件的一个关节的期望的运动范围。
[0046] 图18G是透视图,其示出了沿操纵器组件的表面的示例性碰撞传感器系统

具体实施方式

[0047] 本发明一般地提供了改进的外科手术和机器人装置、系统及方法。本发明用于外科手术机器人系统时特别具有优势,其中多个外科手术工具或器械被组装于所述外科手术机器人系统上并在外科手术过程中通过相连的多个机器人操纵器进行移动。所述机器人系统一般会包含远程机器人、远程外科手术和/或远程呈现系统,其包括被构成为主-从控制器的处理器。通过提供使用合适地被配置为移动操纵器组件的处理器的机器人系统,该操纵器组件包含具有相对较大自由度的铰接联动装置,联动装置的运动可以被裁剪以适应于穿过微创进刀部位进行工作。较大的自由度也使得处理器能够对操纵器进行定位,以便抑止这些移动结构之间的干扰或碰撞或类似的问题。
[0048] 本文描述的机器人操纵器组件一般会包括机器人操纵器和组装于其上的工具(在外科手术应用中所述工具一般包含手术器械),尽管术语“机器人组件”也可以指没有在其上组装工具的操纵器。术语“工具”不仅包含通常的或工业的机器工具,还包括专用的机器人手术器械,其中后面的结构一般包括末端执行器,其适用于对组织进行操纵、处理、成像或类似动作。工具/操纵器接口一般会是可快速拆分的工具夹持器或联结器,以便能够快速去除并用可替代工具更换该工具。操纵器组件一般会具有基座,其在至少机器人进程的一部分时间内被固定于工作区内,同时操纵器组件可以在基座和工具的末端执行器之间具有很多自由度。末端执行器的启动(如打开或闭合夹紧装置的夹片,对电外科电极板(paddle)进行通电,或类似动作)一般会独立于操纵器组件之外并增大这些操纵器组件的自由度。
[0049] 在工作区内末端执行器典型地以2-6个自由度进行移动。如此处所用,术语“方位”包括位置和方向。因此末端执行器(例如)的方位变化可能涉及到该末端执行器从第一位置到第二位置的平移、该末端执行器从第一方向到第二方向的旋转,或二者的组合。当被用于微创机器人外科手术中时,操纵器组件的移动可以受系统处理器的控制,以便使工具或器械的轴件或中间段在穿过微创外科手术进刀部位或其它切口时被约束于安全的运动。这种运动可以包括,例如,轴件穿过切口部位的轴向插入,轴件绕其轴线旋转以及轴件绕进刀部位附近的枢轴点的枢轴运动,但一般会阻止轴件的过度横向运动,否则其可能不经意地撕破切口附近的组织或扩大进刀部位。这些约束的一些或全部通过使用抑止不适当的运动的机械操纵器关节联动装置被施加于进刀部位处的操纵器的运动,或者通过利用机器人数据处理和控制技术来部分地或全部被施加于进刀部位处的操纵器的运动。因此,操纵器组件的这种微创切口受约束运动可以在操纵器组件的0到3个自由度之间使用。
[0050] 本文描述的很多示例性操纵器组件会具有大于在手术部位定位和移动末端执行器期望的自由度。例如,在内部手术部位穿过微创切口的外科手术中的末端执行器,其可以通过6个自由度来进行定位,而在一些实施例中可以具有9个自由度(6个末端执行器自由度-3个用于定位,3个用于定向-加上适应进刀部位约束的3个自由度),但其一般具有10个或更多自由度。具有对于给定的末端执行器方位期望的要的更多的自由度的高度可配置的操纵器组件可被描述为具有或提供充足的自由度,以使得能够在工作区通过一系列关节状态来对末端执行器进行定位。例如,对于给定的末端执行器的方位,操纵器组件可以占有(并被在其间驱动)一系列可替代的操纵器联动装置方位中的任何方位。类似地,对于给定的末端执行器的速度矢量,操纵器组件可以具有针对操纵器组件的各种关节的一系列不同的关节移动速度。
[0051] 本发明提供了机器人联动结构,其特别好地适用于需要大范围运动的外科手术(及其它)应用,而且由于具有其它机器人联动装置、外科手术人员和设备及类似条件,对于这种联动结构可以获得有限的专用体积。每个机器人联动装置期望的要的大运动范围和精简体积也可以在机器人支撑结构的位置和外科手术或其它工作区之间提供更大的机动性,由此更易于且加速装配。因此,尽管本发明最直接的应用可以包括远程外科手术系统,但本文描述的结构、装置和系统也可以应用于更广泛的其它远程机器人和机器人应用中。
[0052] 与关节或类似部件相关的术语“状态”在本文一般指与关节相关的控制变量。例如,角关节状态可以指由该关节在其运动范围内定义的角度,和/或指该关节的角速度。类似地,轴向或棱形关节状态可以指该关节的轴向方位,和/或指其轴向速度。尽管本文描述的很多控制器包含速度控制器,但它们一般也具有一些方位控制方面。可替代实施例可以主要地或完全依赖方位控制器、加速度控制器或类似部件。因此,只要所描述的移动基于相关计算,则本文描述的关于关节移动和末端执行器移动的计算可以利用方位控制算法、速度控制算法、二者的组合或类似算法来实现。
[0053] 本发明的实施例可以包括处理器,其被配置为利用操纵器结构的自由度来实现多个任务、目标或意图。当使用高度可配置操纵器时,这些处理器可以具有允许它们导出大致合适的关节命令的关节控制器编程指令或代码,这些关节命令可以被用于一个控制任务,如移动末端执行器到期望的位置。但是,由于操纵器具有比完成该任务期望的更多的自由度,由关节控制器所产生的解一般是欠约束的。换句话说,处理器的一个关节控制器一般会计算出一系列关节方位和/或关系,其中任何一个都可以得到工作区中期望的末端执行器方位。
[0054] 在算术上,控制器可以利用矢量和/或矩阵来执行至少部分的关节命令计算,部分的矢量和/或矩阵可以含有对应于关节的构形或速度的元素。处理器可用的可替代关节构形的范围可以概念化为关节空间。该关节空间可以,例如,具有与操纵器的自由度一样多的维数,而特定的操纵器构形可以表示为关节空间中的特定点,其中每个坐标对应于操纵器的相关关节的关节状态。
[0055] 当由处理器的关节控制器计算得到的解欠约束的时候,该关节控制器所提供的解可以表示为关节空间的子集。在主要解欠约束时为了识别要向操纵器的关节传送什么样的特定命令,处理器额外的编程指令或代码可以有效地用作子空间滤波器,其从关节控制器所产生的可替代范围中选择期望的操纵器状态和关节命令的特定集。有利的是,所选择的命令可以被用作第二目标、任务或函数。例如,当主关节控制器被实现为速度控制器时,这一滤波器可以识别关节速度的线性组合,这些关节速度与主关节控制器的函数正交,其中这些额外的速度驱动操纵器以便使其穿过切口,实现期望的高度灵巧性的姿态和/或抑止碰撞。所述滤波器一般是与构形相关的,以便使滤波器所选择的关节命令依赖于关节的构形或状态、操纵器和/或工作区。事实上,主关节控制器也可以有效地包括滤波器,其基于输入命令和/或类似命令从整个关节空间中选择主要解。
[0056] 如本文所用,术语“过约束”包含机器人系统,其中一个或多个控制器的一项或多项任务将,至少有时且如果维持为刚性约束,能够超过相关操纵器组件的可用自由度。
[0057] 如本文所用,机器人系统的“外部”作用力或铰接包括操纵器组件移动的作用力,其由系统使用者或其他人员、工作区或环境、与其它结构不经意的碰撞及类似因素所施加;但一般不包括通过驱动系统的操纵器所施加的自动计算的和有意的作用力和移动。
[0058] 如这里所用,术语“零空间”被定义为线性算子(矩阵)M的矢量输入空间的子空间S,其中对S中的任一矢量x,M.x=0。
[0059] 尽管处理器一般在本文描述为含有主关节控制器和/或与构形相关的滤波器,和/或具有执行与这一控制器和滤波器相关功能的第一模块和第二模块,但本文描述的处理器也可以含有多个滤波器(可任选地为三个或更多滤波器)、用于三个或更多不同控制任务的三个或更多模块,以及类似部件。处理器一般会在与这些滤波器和模块相关的任务之间定义出一个或多个优先级,由此对较高优先级任务赋予比较低优先级任务更大的权重或重要性。在很多实施例中,即使当主要解欠约束时,如果缺少此类优先级,与关节控制器和滤波器相关的任务也可以结合起来使系统过约束,以便于较低优先级任务或目标可以对至少一部分操纵器的移动有很小影响或没有影响。
[0060] 参考附图的图1A,用参考数字200大致标示微创远程外科手术系统的操作员工作台或外科医生控制台。工作台200包括观察器202,在使用中手术部位的图像被显示在此处。提供了支架204,操作员(一般是外科医生)可以在用双手分别抓握两个主控制器220(见图2)的同时使他/她的前臂依托在支架上。所述主控制器或输入装置位于空间206中且向内超过支架204。当使用工作台200时,外科医生一般坐在工作台前面的椅子上,使他/她的眼睛位于观察器202前面并用双手分别抓握着主控制器,同时使他/她的前臂依托在支架204上。工作台的处理器210响应输入装置的运动而产生信号。
[0061] 在附图的图1B中,用参考数字300大致标示外科手术台。在使用中,由平台T来支撑病人P,该平台T与一个或多个操纵器支撑基座302相邻。一般从上方对基座302进行支撑,且基座302可组装在天花板上,或由放置外科手术台300的房间的墙来支撑,或组装在外科手术台上,或组装在具有车轮或小脚轮的推车的悬臂上,该推车用于在外科手术室内或外科手术室之间移动操纵器,或类似结构上。支撑基座302的结构未图示出来。在至少一部分的外科手术过程中,基座302一般保持在病人P之上的固定位置处。工作台200(见图1A)一般被放置在与外科手术台300有一定距离的位置处,通常在外科手术室内隔离开几英尺的距离。在其它实施例中,外科手术台300和工作台200可以隔离开很远的距离,可任选地被放置在不同的房间或甚至不同的大楼里。
[0062] 外科手术台300一般包括多个机器人操纵器304,往往有三个或更多机器人操纵器,其中示例性实施方式包含由基座302支撑的四个机器人操纵器。示例性基座302包含以平定向支撑的延长基体,其中操纵器304沿基座的长度方向水平分布。在其它实施例中,可以由多个分别可定位的基座来支撑操纵器。
[0063] 从图1B和图1C可以看出,每个机器人操纵器支撑一个相关手术器械306。一个或多个器械可以包含内窥镜之类的图像获取装置308。其它三个操纵器304中的每一个可以支撑适用于在内部手术部位310对组织进行操作的器械。内窥镜308可操作地连接到观察器202上以便在观察器的观察终端显示所获取的图像。其它机器人操纵器304中的两个可以各自可操作地连接到一个主控制器上,而处理器210可以改变哪个操纵器与哪个主控制器可操作地连接。因此,所有操纵器的移动可以通过主控制器的操纵来控制。在一些实施例中,可以提供额外的输入装置来由另一个外科医生、外科手术助手或类似人员使用。
[0064] 图2和图3分别图示说明了示例性输入装置220和手术器械306。输入装置220包括旋臂222和腕节224,其共同允许输入手柄226相对于工作台200(见图1A)的结构进行平行移动和定向移动。手柄222一般相对于工作台结构以多个自由度进行移动,该示例性输入设备220提供手柄226移动的6个自由度。支撑手柄的联动装置可以含有多于或少于6个自由度。夹持元件可移动地连接到手柄226上,同时该手柄产生指示夹持元件之间相互分离的夹持信号。
[0065] 现在参考图3,外科手术工具或器械306一般包括手术末端执行器50,其相对于外壳53由器械中间段进行支撑,该中间段一般包含延长轴件14.1。末端执行器50可以相对于该轴件由远端关节或腕节进行支撑,以便在内部手术工作区更易于对末端执行器进行定向。近端外壳53一般会包括适用于连接到操纵器304的夹持器上的接口232。如美国专利6,331,181中所详细描述,其全部公开内容被合并到本文作为参考,器械306一般会包括存储器230,其中该存储器一般被电耦合到数据接口上(该数据接口一般形成为接口232的一部分)。这使得当器械被组装到操纵器上时可以在存储器230和工作站200(见图1)的机器人外科手术处理器210之间进行数据通讯。
[0066] 现在参考图3A-3F,可以使用各种不同类型的可替代机器人手术器械以及不同的末端执行器50,其中至少部分操纵器的器械在外科手术过程中被去除并更换。这些末端执行器中的几个,包括德巴基(DeBakey)镊56i、微型外科镊56ii、Potts剪56iii和夹钳56iv,包含第一和第二末端执行器单元56a和56b,其各自相对对方作枢轴转动,从而定义出一对末端执行器夹片。其它末端执行器,包括解剖刀56v和电凝止血探针56vi具有单个末端执行器单元。对于具有末端执行器夹片的器械,所述夹片一般通过捏压手柄226的夹持元件来启动。单端执行器器械也可以通过夹持所述夹持元件来启动,例如,由此给电凝止血探针加电。
[0067] 器械306的延长轴件14.1使得末端执行器50和该轴件的远端能够远远地穿过微创切口插入到外科手术工作部位,一般穿过腹壁或类似位置。手术部位可能会被注入气体,而在病人体内末端执行器的移动一般会受到影响,至少部分地,是由于器械306绕某一位置的枢轴转动,轴件14.1在该位置穿过微创切口。换句话说,操纵器304可在病人体外移动近端外壳53来使轴件14.1延伸穿过微创切口部位,从而帮助提供末端执行器50期望的移动。因此,操纵器304在外科手术过程中一般会在病人P体外进行大幅度的移动。
[0068] 通过参考图4A-4C、图5A和图5B以及图6可以理解操纵器304的示例性结构。如上所述,操纵器304一般支撑器械306并影响该器械相对于基座302的移动。由于在外科手术过程中,具有不同末端执行器的很多不同器械可能会依次按顺序组装于每个操纵器304上(一般借助于外科手术助手),器械夹持器320可以很好地允许快速去除和更换所组装的器械。操纵器一般会由无菌被单覆盖而器械则没有。一种示例性无菌接合器和被单在美国专利6,331,181中有所描述。通过参考图1B和图1C可以理解,操纵器304通过枢轴组装关节322被组装到基座302上,从而允许操纵器304的其余部分绕第一关节轴线J1旋转,其中在示例性实施方式中第一关节322提供绕垂直轴线的旋转。基座302和第一关节322一般包含操纵器304的近端部分,其中操纵器从基座向器械夹持器320和末端执行器50远端地延伸。
[0069] 通过描述如图4A-C图解说明的操纵器联动装置304的各个连杆以及如图6图解说明的连接这些连杆的关节的转动轴,第一连杆324从基座302向远处延伸并在关节322处绕第一枢轴关节轴线J1旋转。很多其余的关节可以通过图6中与其相关的旋转轴线来进行识别。例如,第一连杆324的远端与第二连杆326的近端在提供水平枢轴线J2的关节处相连。第三连杆328的近端和第二连杆326的远端在轧辊关节处相连,从而第三连杆一般在关节J3处围绕着沿第二和第三连杆的轴线延伸(且理想情况下与其对准)的轴线旋转或滚动。进一步向远处延伸,在另一个枢轴关节J4后面,第四连杆330的远端通过一对枢轴关节J5、J6连接至器械夹持器320,其中枢轴关节J5、J6共同定义出器械夹持器腕节332。操纵器的平移或棱形关节J7使得易于实现穿过微创切口的器械306的轴向移动,还使得器械夹持器易于附着到套管上,通过此套管器械可滑动地被插入。
[0070] 在离器械夹持器320较远的位置,器械306可以具有额外的自由度。对器械的这些自由度的启动一般会由操纵器的达来驱动,同时可替代实施例可以在快速可拆分器械夹持器/器械接口处将器械和支撑操纵器结构分离开来,从而这里所示的器械上的一个或多个关节被替换到该接口上,反之亦然。换句话说,器械与操纵器之间的接口可以沿操纵器组件的运动链(其可以包括器械和操纵器)更靠近或更远离地进行安置。在示例性实施方式中,器械306包括靠近枢轴点PP的旋转关节J8,该枢轴点一般被安置在微创切口部位。器械的远端腕节使得末端执行器50能够绕器械腕关节轴线J9、J10做枢轴运动。末端执行器夹片之间的角度α可以独立于末端执行器的位置和方向被控制。
[0071] 现在参考图7A-7C,操纵器组件502在这里包括操纵器504和具有末端执行器508的器械506。本文所用的术语“操纵器组件”在一些情况下也包括不含组装于其上的器械的操纵器。所图示的操纵器组件一般从近端基座510向远处伸展到末端执行器508,其中末端执行器和器械的远端部分被配置用于通过微创外科手术进刀口514插入到内部手术部位512处。操纵器组件502的关节结构类似于上面关于图6的描述,其具有充足的自由度以便针对给定的末端执行器位置使得操纵器组件能够处于一系列不同关节状态中的任何状态,即使当器械被约束而不能穿过微创切口514。
[0072] 通过参考图7A和图7B可以理解运行图7A中的高度可配置操纵器组件所面对的挑战之一。特别地,当在微创外科手术过程中进刀部位要从第一切口位置514a变换到第二切口位置514b时,一般希望能够手动重新定位操纵器502的一些或全部连杆。类似地,当初始安装用于外科手术的操纵器组件时,操纵器可以被手动地移动到对准切口位置的期望的方位,通过该切口位置相关的器械可以接近手术部位。但是,根据高度可配置操纵器结构,其在(例如)基座510和器械/操纵器接口(见图6)之间具有相对大数量的关节,这种对连杆的手动定位是有挑战性的。即使当平衡操纵器结构以避免重力效应时,对个人来说试图以适当排列顺序对准每个关节也是困难的,耗时太多,且涉及大量培训和/或技巧。当操纵器的连杆相对于关节不平衡时这些挑战可能更大,因为以合适的构型对这一高度可配置结构进行定位以便开始外科手术是一件困难的事情,这归因于操纵器的臂长及其无源和柔软的构造。
[0073] 为了便于装配用于外科手术过程的操纵器组件502和/或操纵器540(或重新配置操纵器组件以接近病人的不同组织),在手动地移动操纵器的至少一个关节过程中(且优选地响应这一动作),工作台200的控制器210(见图1A)可以有效驱动操纵器组件的关节。在图7C中,系统操作员(可以是外科医生、助手、技师或类似人员)的手H手动地移动操纵器504的连杆或器械506以对准期望的微创切口514b。在这一移动过程中,处理器驱动手/操纵器接合处近端的关节。由于操纵器一般会有充足的自由度以便形成一系列可替代的构形,近端关节可以被驱动到期望的操纵器状态而不抑止对操纵器组件远端部分的手动定位。可任选地,关节可以被驱动以便补偿重力、抑止动量效应或向手动的移动提供期望的(且一般容易克服)阻力,以便使手感受到对操纵器结构在其关节处的塑性变形,以便将可配置联动组件保持在期望的姿态,或类似的目的。尽管在图7C中这一移动被显示为通过附着于操纵器504的器械506来执行,但在将器械506附着于操纵器之前一般手动定位操纵器组件。
[0074] 现在参考图7A和图7C,相对于基座510移动微创进刀部位的位置可以明显改变操纵器期望的姿态或构形,以便保持期望的运动范围、避免操纵器结构的奇点及类似问题。利用操纵器组件具有大量自由度的优点,通过响应对一个或多个操纵器组件关节的连杆和/或铰接的手动移动,处理器可以以很多不同的方式重新配置关节状态。处理器一般会驱动除手动铰接的关节之外的关节,其可选地与驱动手动铰接关节相结合,以便使得连杆能够被移动。在一些实施例中,由于呼吸之类的生理运动,微创进刀部位的移动可以通过病人的移动来实现,可选地通过支撑病人的平台的移动,且可任意地发生在末端执行器对内部手术部位的组织进行操作的过程中。
[0075] 现在参考图8,另一种可替代操纵器组件520包括可拆卸地支撑手术器械524的操纵器联动旋臂522。端口(port)离合输入端516包括输入按钮,其可以通过手动接合操纵器的连杆518来启动,所述操纵器的连杆在外科手术中可以被安置在邻近进刀部位514处,如器械夹持器所附着的连杆。这使得人手不但能启动输入,还能帮助操控操纵器以形成用于外科手术的合适构形。在很多实施例中,安置有端口离合输入端516的连杆518可以通过轴向插入关节连接到器械的轴件上(尽管此时器械可能没有被附着)。在一些实施例中,启动端口离合输入端516的人手能够以离合模式重新定位操纵器而不需要借助于另一只手。在其它实施例中,通过使用户对邻近端口离合输入端516的操纵器连杆518上的第一只手和与端口离合输入端有一定距离的第二只手进行定位,重新定位操纵器会变得容易,特别是当把连杆重新定向到期望的轴向插入角时。在端口离合输入端516由人手来启动的同时,系统处理器会响应连杆518的手动移动来驱动操纵器520的关节。通过这样做,处理器一般可以提供关节命令和/或速度的组合,在离合模式中这些组合将操纵器的移动约束到一个或多个有效自由度内。令人惊奇的是,将各个关节移动组合在一起(例如,通过仅滤除或允许手动铰接关节速度与一个或多个自驱动的关节速度的期望的线性组合)可以产生一个或多个有效离合自由度,它和个体关节的每个自由度不同。在大多数情况下,多个关节在外表上被铰接起来,且多个相关的关节速度命令被计算出来。
[0076] 通过参考图8A-8D可以理解三种示例性离合模式(及其相关的有效自由度的一些或全部)。在操纵器520的这一实施例中,显示了三种离合输入,即端口离合输入端516a和器械离合输入端516b,其被组装到邻近操纵器组件的轴向插入轴线的连杆518之上,以及姿态离合输入端516c,其沿着操纵器组件的连杆进行组装,该操纵器组件连杆处于基座510和器械夹持器之间(且在运动学上与其分离)。其它离合模式和组合也是可能的。本文所用的术语“离合”包含信号和/或数据处理技术,其允许,例如,机器人操纵器组件被手动铰接,一般是当机器人系统的处理器向操纵器组件的至少部分关节提供关节命令信号时,和/或当对处理器的主/从控制器的输入暂时可操作地、局部地或全部与操纵器组件相分离时。术语“端口离合”、“器械离合”和“姿态离合”广泛地包括分别涉及到或关于切口(如微创切口或端口,或任何结构中的任何其它开口)、机器人器械或机器人工具和操纵器的姿态或构形的离合。
[0077] 通过对比图8A和图8B可以理解,如上所述,端口离合输入端516a的启动使得能够手动重新配置操纵器520的组件,一般允许系统用户手动铰接操纵器组件的至少一个关节(一般是多个关节)。通过响应所述手动铰接,处理器可以通过传送信号来驱动操纵器组件的一个或多个关节,以此影响这些关节的关节速度的期望的组合,其中期望的组合随操纵器组件的构形的变化而变化。因此,在操纵器组件的至少一个关节在外表上被铰接起来的同时(一般由用户之类的人员来铰接,而不是机器人控制器和驱动系统),操纵器组件的至少一个关节正被自动驱动。因此处理器可以保持不同关节状态之间的期望的关系,从而使至少部分操纵器按期望的受约束移动来移动。
[0078] 例如,在图8B中,处理器约束器械夹持器的手动移动,以便将初始器械轴件的轴线511a平移到期望的器械轴件的轴线511b,同时在整个移动中保持轴线的方向不变。例如,在至少部分地通过关节J2的手动铰接将操纵器组件从对准第一个切口部位514a移动到对准第二个切口部位514b的情况下,处理器根据关节J2的关节状态的改变来计算关节J5、J7及类似关节的协调移动。处于离合模式的处理器计算针对关节J5、J7等的命令以便仅提供期望的平移运动,从而使操纵器组件具有有效的平移自由度,其保持器械轴件的轴线方向不变。所述轴件的轴线可以在一个、两个或三个自由度上平移,而器械不需要在移动操纵器的同时组装于其上,因为连杆518的器械夹持器可以定义出器械轴线。不同的联动装置可以提供相同的机械上受约束的平行轴运动,但是在这一实施例中操纵器的机械关节不需要提供这种平行运动自由度。
[0079] 端口离合模式和其它离合模式可以提供各种可替代离合自由度,例如在整个平移和/或旋转及类似移动中针对操纵器组件的构形保持操纵器组件的期望的姿态不变,并且使运动范围最大化。可以使用各种可替代的协调手动和从动关节移动,通过响应一个、多个或全部的关节的手动铰接来自动驱动操纵器组件的一个、多个或全部的关节。可以利用机器人系统的关节状态传感器来感测或监控外部关节的铰接。
[0080] 可以提供端口离合模式的额外方面,其替代上述各方面或与上述各方面组合在一起。例如,一旦操纵器组件与期望的切口部位对准,端口离合输入端516a的铰接(如通过松开输入按钮)可以促使处理器识别端口的位置。连杆518(其支撑端口离合输入端516a)一般可以通过轴向关节连接到器械轴件上,而连杆518的远端(和/或附属到其上的套管)一般会被定位在或邻近期望的切口部位514b。处理器响应端口离合输入端516a的启动由操纵器关节状态来确定连杆518的远端和/或套管的位置,而之后处理器可以利用这一信息来计算器械轴件的运动,从而使其在期望的切口部位514b内枢轴转动。因此,处于端口离合模式的操纵器组件可以被用作对切口部位位置的输入部件。
[0081] 通过参考图8C可以理解示例性器械离合模式。在操纵器组件对准切口部位之后,器械离合是有用的,它可以更容易地对器械、套管或操纵器组件的其它结构进行手动定向以便指向内部目标组织部位,这一般在套管和/或末端执行器至少局部地被插入到病人体内后进行。通过响应器械离合输入端516b的启动,处理器驱动操纵器组件以便抑止轴件的轴线511在邻近切口部位514的枢轴中心513处的横向移动,同时允许连杆518的近端的横向移动。例如,通过响应关节J6和J7的手动铰接,处理器可以驱动操纵器关节的组合以便影响连杆518的二维枢轴移动,其中心位于枢轴中心513,如箭头515和锥形517所示意性图示的。在一些实施例中,可以允许连杆518和/或器械沿轴件的轴线移动,而在其它实施例中器械和/或连杆518的这种轴向移动会被抑止。不论如何,在器械离合模式中可以对的远程球形中心机械联动装置进行模拟而不限制其它模式下操纵器组件的关节的移动。
[0082] 通过参考图8A和图8D可以理解另一种离合模式,即这里所述的姿态离合模式。通过响应组装在连杆518近端的连杆330上的姿态离合输入端516c的启动,可以手动铰接操纵器520的至少一个关节。作为响应,处理器驱动操纵器组件的一个或多个关节以便使连杆518(及其器械夹持器)保持固定的方位。由于操纵器520具有一系列连杆518(和/或器械轴件、末端执行器及类似部件)的给定方位的构形,处理器可以协调关节的运动以便保持操纵器组件位于所述构形范围内。这种姿态离合模式可以允许系统用户将操纵器组件
518从顶点向下的构形(如图8A所示)手动地重新配置为顶点向上的构形(如图8D所示),同时处理器保持操纵器组件的远端部分的方位不动。
[0083] 姿态离合输入端516c可以提供一种相对简单的方法来允许对姿态进行手动调整。在操纵器组件处于姿态离合模式时,系统处理器一般可以保持端口和/或末端执行器约束,但可以不施加任何姿态约束。当处于姿态离合模式中时可反向驱动的操纵器组件可能受益于重力补偿系统(硬件和/或软件),而这一姿态离合模式可以允许对姿态进行手动调整而不必感应(例如)基座与套管间的作用力。在姿态离合模式中,零空间可以是受速度控制的,并且可以不受方位控制。
[0084] 尽管示例性离合输入端516a、516b和/或516c可以提供简化执行、便于理解不同的离合模式以及类似优点,但也可以使用各种其它离合模式用户接口。例如,针对操纵器组件,其具有能够指示施加于套管、末端执行器或类似部件的作用力的系统,可以实现无键触觉(buttonless haptic)离合用户接口。与通过按压按钮来改变处理器模式不同的是,用户可以通过对操纵器组件的适当结构施加触觉超阈值力(hapic threshold-exceeding force)来手动铰接操纵器组件。处理器会抵消低于适当触觉阈值的作用力,但会将超过阈值的外部铰接处理为对操纵器组件的输入,例如,通过区分末端执行器、端口和/或姿态约束的饱和度的优先次序,从而使系统适应外部铰接。
[0085] 注意到所述饱和度一般不涉及到超过操纵器组件的任何硬件能力,但是可能替代为在软件中实现。例如,处理器可以被配置为确定在套管的横向上已经超过预定/指令作用力阈值以便指示出适应端口位置的变化(以及针对未来末端执行器移动的枢轴中心的变化)是适合的。除非施加于套管上的作用力超过阈值,否则端口位置保持不变。操纵器组件的外部铰接可以由系统操作员有意识地试着改变端口位置所导致,或者当病人在平台上移动或被重新放置时由病人体壁所导致。在任何一种情况下,如果作用于操纵器的外部铰接力超过阈值,则处理器可以允许端口被移动到新的方位,与此同时选择性地将操纵器移动约束在上述期望的端口离合模式中。当作用力下降到阈值以下时,处理器可以保持在新的端口方位。
[0086] 类似的触觉作用力阈值可以施加于器械离合模式,特别是当给定能够感应关节转矩的力感应系统时。事实上,触觉作用力阈值器械离合可以执行于机械上受约束的远程枢轴中心机器人系统中。在任何一种情况下,利用超过阈值的外部作用力来反向驱动操纵器会导致处理器修正末端执行器的给定点以便保持新的方位,而不是使器械返回到原先方位。如果结合能够区分施加于体内的力和施加于体外的力的力感应系统,则这种器械离合会显得非常有用。然后器械离合可以仅发生于当施加于体外操纵器的力大于阈值的时候。
[0087] 使用触觉作用力阈值或触觉井(haptic well)来改变处理器模式可以与被配置为(一般利用软件代码)区分控制器任务的优先次序的处理器组合在一起,这些控制器任务包括保持端口方位、末端执行器方位和姿态等,可任选地以优先级来排序。这种作用力阈值(以及本文描述的其它处理器控制任务)可以被包含在系统中来利用按优先级排序的致动器转矩饱和度实现控制器的优先级。作用力阈值也可以利用处理器来体现,该处理器依照主要解和具有上述优先级次序的次要控制任务来驱动操纵器。作为选择,主优先级可以包含保持端口方位,而次要优先级可以包含保持末端执行器方位。第三优先级可以包含保持姿态。
[0088] 现在参考图9A和图9B,可以通过处理器以任何各种不同的理由对处理器组件502进行重新配置。例如,关节526可以从顶点向下的构形被驱动到顶点向上的构形,以便抑止与邻近旋臂、设备或人员发生碰撞;以便增强末端执行器508的运动范围;以便对类似病人呼吸之类的生理运动作出响应;以便对类似通过重新定向外科手术台等方式重新定位病人作出响应;以及类似目的。操纵器组件构形的这些改变的部分,但不是全部,可以响应施加于操纵器组件的外部作用力,其中处理器一般驱动操纵器的关节,该关节不同于受外部力作用的关节。在其它情况下,处理器响应由处理器所实现的计算来重新配置操纵器组件。在任何一种情况下,处理器都不同于简单的主/从控制器,以便响应信号来驱动操纵器组件,从而提供优选的操纵器组件构形。操纵器组件的这一配置可以发生于主/从末端执行器移动过程中、对操纵器组件的手动或其它重新配置过程中,和/或至少部分地在不同的时间,例如松开离合输入端之后。
[0089] 现在参考图10A,简化的控制器示意图530示出了主/从控制器532,其将主控输入装置534连接到从动操纵器536。在本文描述的这一控制器及很多其它控制器中,利用矢量数学符号来描述控制器的输入、输出和计算,其中一般矢量x指的是笛卡尔坐标系/直角坐标系中的方位矢量,而其中矢量q指的是相关联动装置(最常见的是操纵器从动联动装置)的关节铰接构形矢量,有时也指关节空间中的联动装置方位。当多义性以其他方式存在时可以对这些矢量附着下标以区分特定的结构,因此xm(例如)为相关主控工作区或坐标系中的主控输入装置的方位,而xs表示在该工作区中的从动装置的方位。与方位矢量相关的速度矢量通过在该矢量之上加点或在该矢量和下标之间加单词“dot”来表示,例如用xdotm或 表示主控速度矢量,其中速度矢量在数学上被定义为方位矢量随时间的变化(例如用dxm/dt表示主控速度矢量)。
[0090] 在图10A的实施例中,控制器532包含逆雅可比速度控制器。在这里xm是主控输入装置的方位而 为主控输入装置的速度,控制器532计算用于传送到操纵器536的电动命令,从而影响从动末端执行器的运动,其与输入装置的主控速度相对应。类似地,控制器532可以由从动方位xs和/或从动速度 计算施加于主控输入装置(并由此传到操作员的手上)的力反馈信号。对这一简单的主/从逆雅可比控制器示意图进行很多细化是必需的,包括图11所图示的和US专利第6,424,885号中所详细描述的那些,其中该专利的全部公开被并入本文作为参考。
[0091] 现在参考图10B,处理器542可以被特征化为包括第一控制器模块544和第二控制器模块546。第一控制器模块544可以包含主关节控制器,如逆雅可比主从控制器。第一模块544的主关节控制器可以被配置为响应来自主控输入装置534的输入来生成期望的操纵器组件的移动。但是,从上面可以看出,对于空间中给定的末端执行器方位,本文所描述的很多操纵器联动装置具有一系列可替代的构形。因此,用于使末端执行器呈现给定方位的命令会导致不同的关节移动和构形的很多变化,其中一些可能比其它更为人期望的要。因此,第二模块546可以被配置为促进将操纵器组件驱动到期望的构形,在一些实施例中在主/从移动过程中驱动操纵器至优选的构形。在很多实施例中,第二模块546会包含构形相关的滤波器。
[0092] 在宽泛的数学方面,第一模块544的主关节控制器和第二模块546的构形相关滤波器可以包含处理器542所用的滤波器,以此按路径发送用于关节的线性组合的控制权,从而实现一个或多个外科手术目标或任务。如果我们假定X是关节运动的空间,F(X)可以是滤波器,其通过对关节施加控制来i)提供期望的末端执行器移动和ii)提供器械轴件在切口部位的枢轴运动。因此,第一模块544的主关节控制器可以包含滤波器F(X)。在概念-1上,(1-F F)(X)可以描述与构形相关的子空间滤波器,其向关节速度的线性组合提供控制启动权,这些关节速度正交于实现主关节控制器目标的运动(在本示例中,即末端执行器移动和器械轴件的枢轴运动)。因此,这一构形相关滤波器可以被控制器542的第二模块546使用来实现第二目标,如保持操纵器组件的期望的姿态、抑止碰撞或类似目标。这些滤波器都可进一步细分为更多的滤波器相应地完成更特定的任务。例如,滤波器F(X)可以被划分为F1(X)和F2(X),用以分别控制末端执行器和控制轴件的枢轴运动,其中任意一个都可以被选择为处理器的主要任务或具有最高优先级的任务。
[0093] 尽管由各模块实现的数学计算可能(至少部分地)相同,但本文描述的机器人处理器和控制技术一般利用被配置为完成第一(有时被称为主要)控制器任务的主关节控制器,同时利用构形相关滤波器,其利用主关节控制器所产生的欠约束解来完成第二(有时被称为次要)任务。在下面大多数说明中,主关节控制器会围绕第一模块来描述,而构形相关滤波器则会围绕第二模块来描述。具有变动优先级的额外功能(如额外的子空间滤波器)和/或额外模块也可以被包含在内。
[0094] 如本文别处所示,用于实现关于这些第一和第二模块所描述的功能的硬件和/或编程代码可以是全部集成的、局部集成的或全部独立的。控制器542可以同步使用两个模块的所述功能,和/或可以具有多个不同模式,在这些模式中,一个或两个模块可单独地或以不同的方式被使用。例如,在一些实施例中,在主-从操纵过程中可以使用第一模块544而受到很小或不受到来自第二模块546的影响,而在安装系统过程中当末端执行器不被自动驱动时,如在端口离合或操纵器组件的其它手动铰接过程中,第二模块546起到较大的作用。虽然如此,在很多实施例中两个模块在机器人运动被使能的大部分或全部时间内都可以是有效的。例如,通过将第一模块的增益设置为零,通过将xs设置为xs,actual,和/或通过降低逆雅可比控制器中的矩阵的秩以便使其不控制那么多并使构形相关滤波器具有更多控制权,第一模块对操纵器组件的状态的影响可以被降低或消除,以便将处理器542的模式由组织操纵器模式变换为离合模式。
[0095] 图10C说明了对图10B中的简化主-从控制示意图的细化,并展示了在不同的处理器模式中如何使用不同的模块。如图10C所示,第一模块544可以,例如,包含具有雅可比相关矩阵的雅可比控制器的一些形式。在端口离合模式中,第二模块546可以接收来自从动装置536且指示该从动装置的方位或速度的信号,其至少部分地通过手动铰接从动操纵器联动装置来产生。通过响应这一输入,第二模块536可以产生电动命令,该电动命令适用于驱动从动装置的关节以便允许手动铰接从动联动装置,同时将从动装置配置在期望的关节构形。在主-从末端执行器操纵过程中,控制器可以使用第二模块546来帮助基于差分信号 导出电动命令。针对控制器542的第二模块546的这一选择性输入信号可以被用于驱动操纵器联动装置以便保持或沿操纵器结构移动微创切口的枢轴位置,从而避免多个操纵器之间的碰撞,增强操纵器结构的运动范围和/或避免奇点,产生期望的操纵器姿态,或者类似目的。因此, 可以包含和/或指示(例如)一般在关节空间中的期望的关节速度集,更一般的说其代表次要控制目标。在其它实施例中,处理器可以包括独立的模块和/或用于离合,次要控制器任务及类似功能的构形相关滤波器。
[0096] 现在参考图12,局部控制示意图550说明了对图11所示控制器的修改。控制示意图550大致上表示对图11中控制器的部分551的修改以便于控制具有大量自由度的操纵器组件。在图12所示的实施例中,第一模块544包含逆雅可比速度控制器,其中来自所做计算的输出使用了依据虚拟从动路径552进行修改的逆雅可比矩阵。首先来说明虚拟从动路径,与虚拟从动路径相关的矢量一般用下标v来表示,从而对关节空间中的虚拟从动速度进行积分而得到qv,利用逆运动学模块554对其进行处理可产生虚拟从动关节方位信号xv。利用正向运动学模块556对该虚拟从动方位和主控输入命令xm进行结合和处理。当接近系统的硬性限制,或者当违反系统的软性限制,或类似情况时,使用虚拟从动路径(一般具有简化的动力学特性)有助于平滑控制和力反馈,这可以通过参考专利`885来更充分的理解,该专利在此前被引入作为参考。类似地,为了响应来自于逆雅可比矩阵的(其由第二模块546所修改或增广)通过适当的关节控制器的输出对电动命令(如关节转矩信号或来自关节控制器的类似信号)进行计算,输入和输出处理,以及类似处理在专利`885有更充分的说明。
[0097] 针对一般由第一和第二控制模块544、546所指示的结构以及控制示意图550和本文所描述的其它控制器的其它元件结构,这些结构一般包含数据处理硬件、软件和/或固件。这些结构一般会包括可重复编程的软件、数据和类似组分,其可以体现为机器可读代码并通过工作台200的处理器210(见图1A)储存于有形媒介中以便使用。机器可读代码可以储存于很多不同的体系结构中,包括随机存取存储器非易失性存储器、一次写入存储器、磁记录媒介、光记录媒介或类似媒介。体现与此相关的代码和/或数据的信号可以通过多种通信链路进行传送,包括因特网、企业内部互联网、以太网、无线通信网络和链路、电信号和导体、光纤和网络,以及类似的通信链路。如图1A所示,处理器210可以包含工作台200的一个或多个数据处理器,和/或可以包括一个或多个操纵器的局部化数据处理电路、器械、独立的和/或远程的处理结构或位置,以及类似的部件,而这里描述的模块可以包含(例如)单个共用处理器电路板、多个独立的电路板,或这些模块中的一个或多个可以分离为多个电路板,其中的一些也运行另一个模块中的一些或全部计算。类似地,模块的软件代码可以编写为单个集成软件代码,每个模块可以分离为单独的子程序,或者一个模块的部分代码可以与另一个模块的一些或全部代码相结合。因此,数据和处理结构可以包括多种集中式或分布式的数据处理和/或编程体系结构。
[0098] 为更详细地说明图12中控制器的输出,控制器一般会寻求解决一个特定的操纵器关节构形矢量q,其用于生成针对这些高度可配置的从动操纵器机构的命令。从上面可以看出,操纵器联动装置一般具有充足的自由度,从而针对给定的末端执行器状态占有一系列关节状态。这些结构可以(但一般不)包含具有真正冗余自由度的联动装置,亦即在这些结构中一个关节的启动可以直接替换为沿运动链的不同关节的类似启动。虽然如此,有时这些结构被称为具有过量的、额外的或冗余的自由度,其中这些术语(广义上)一般包括运动链,其中(例如)中间连杆可以移动而不改变末端执行器的方位(包括位置和方向)。
[0099] 当利用图12的速度控制器来指挥高度可配置操纵器的移动时,第一模块的主关节控制器一般寻求确定或解决虚拟关节速度矢量 它可以被用于以这样的方式驱动从动装置536的关节:末端执行器准确地遵循主控命令xm。但是,对于具有冗余自由度的从动机构,逆雅可比矩阵一般并不完全定义关节矢量解。例如,在某个系统中,针对给定的末端执行器状态,系统占有一系列关节状态,则从笛卡尔命令 到关节运动 的映射是一对多的映射。换句话说,因为该机构是冗余的,在数学上存在无限多个解,其由存在逆变换的子空间来表示。控制器可以利用列数多于行数的雅可比矩阵通过将多个关节速度映射到比较少的笛卡尔速度中来体现这一关系。我们的解 一般会寻求消除从动机构笛卡尔工作空间中的这种自由度冲突。
[0100] 第一模块的主关节控制器可以使用多种不同的技术来产生这一主要解。在数学上,当线性映射(如雅可比矩阵)是多对一型时,其可以被称为具有非平凡零空间,该零空间一般包含跨越一个或多个维数的输入空间的子空间。对于具有非平凡零空间的线性映射,可以构建各种伪逆来挑选落于零空间中的可接受逆解矢量。这些伪逆一般具有零残差,且伪逆解方程式可以写作
[0101]
[0102] 在这里伪逆解 等于任一特定解 与齐次解 相加的组合。针对第一项或特定解,由于特定解解决的是逆问题,我们知道
[0103]
[0104] 最小均方解,有时称作最小2-范数解,是对上面常规关节空间求解方程的第一项的一种示例性选择,因为它为雅可比矩阵提供一个特定解。这一伪逆使得最终的解矢量的最小化,且包含于下面所述的可替代伪逆中。上面的伪逆求解方程的第二项或齐次解项是映射到雅可比矩阵J的零空间内的映射,因此:
[0105]
[0106] 我们可以向 添加任何数量的 而一点也不影响关于控制目标的机构运动 一般会利用某一类的额外约束来设计适当的伪逆,以此有效地确定要向特定解添加零空间的哪一部分(如果有的话),从而完全定义用于计算电动命令的解。
[0107] 在这里可以用J#来表示最小二乘或最小范数逆变换。在雅可比矩阵J欠定的情#况下,最小范数逆变换J 可以由下式来确定:
[0108] J#=JT(JJ-1)-1
[0109] 其中JT是雅可比矩阵的转置。在解矢量的子空间(记住存在无限多个这种矢量的子空间)中所得解矢量 的2-范数一般是最小范数,在这种意义上,这一逆变换是最小范数。对于外科手术机器人(或对于任何其它的机器人),这一般对应于以最小的关节速度实现主要的控制目标(例如末端执行器的主-从移动,其对应于输入装置的手柄的主-从移动)的解决方案,这是很多机器人系统的合理目标。作为要计算的最简单的解决方案之一,它在数学上也非常方便。但是,这不是雅可比矩阵J仅有的伪逆,事实上可以有更合适的基于任务的解,特别是当对系统的移动额外的约束或目标超出(在我们的初始示例中)以最小的关节速度的末端执行器的预定/指令移动。由于在这里最小范数逆变换只是伪逆的一个-1 #示例,其中出现了J 或J,一般可以合理地认为这通常代表任何一种伪逆,而不仅仅是最小范数逆变换。
[0110] 根据上述机理,可以理解的是期望的控制空间 可以选择地比简单的末端执行器运动更加复杂,特别是在冗余的操纵器联动装置的复杂性被认定的系统中。控制器的任务或目标的组合一般会使用第二模块的构形相关滤波器。可以使用各种不同的滤波器。在一些情况下,多个目标可以被邻接或堆叠以形成增广的期望的矢量,特别是当目标独立时。例如,在图7a所示的外科手术机器人操纵器组件502中,我们可以用期望的套管或枢轴点的位置来堆叠或增广预定/指令末端执行器矢量,从而在微创切口部位提供枢轴运动的软件诱导中心。这一枢轴运动有时指的是软件中心运动。当操纵器组件具有充足的自由度来向增广方程提供解时,以这种方式扩增问题陈述是很容易实现的,因为这一般存在于上述机器人操纵器组件的联动装置中。也就是说,增广笛卡尔命令矢量(加上枢轴运动约束)仍然具有比关节速度矢量 更低的维数,该关节速度矢量的维数一般是操纵器关节的数目。
[0111] 示例性增广的末端执行器和套管控制问题的公式表达可以包含计算用于每个控制目标的雅可比矩阵J。为了控制末端执行器,我们利用Jeff将 映射到 其中这里的下标“eff”被用来指示与末端执行器相关的矢量和/或矩阵。为了控制套管,我们也构建了雅可比矩阵Jcan,其将操纵器组件的关节速度映射到套管的笛卡尔速度,记作 因此该映射关系可以记作:
[0112]
[0113] 利用上述映射关系,伪逆可以提供最小范数解来控制末端执行器和套管的速度。如图12中的控制图所示,利用来自操纵器组件从动装置536的信号来闭合方位环路以控制方位(包括位置和方向)等。
[0114] 也可以以类似的方式添加额外的控制目标,如驱动系统以实现优选的碰撞抑止姿态或类似目标。但是,随着添加这些目标,期望的矢量空间 的维数会等于或超越解空间 的维数。此处,第二模块的子空间滤波器可以使用另一种形式。
[0115] 当矢量空间的维数与解空间的维数相等时,伪逆应该变为真逆,且最小范数伪逆变换方便地变为真逆变换。这需要寻找更多的增广解,但是,通常控制器和机器人不具有充足的自由度来满足所有的约束。这种问题被称为过约束,从而产生一种新的伪逆。这种伪逆试图在数学的意义上进行折中并返回解,该解并不完全满足所有的约束,但在可确认的意义上来说它仍然可以在数学上被确认为是最好的解。例如,可以计算由非优选逆变换所导致的残差,如利用最小2-范数伪逆变换来返回解,该解使残差的2-范数最小化。
[0116] 可以被添加的额外约束的示例包括保持姿态的约束,和/或避免与工作区出现的物体相碰撞。通常,如果描述这些或其它目标的价值函数C可以记作二次形式,则可以一般规定为:
[0117]
[0118] 在这里 是期望的控制变量;是关节1,2,...n的关节速度;Jkj是每个关节期望的控制变量的雅可比矩阵,而r是适用于这一二次价值函数C的残差。可以对函数C取偏微分并令其等于零,则可使我们解得2-范数解或最小二乘解:
[0119]
[0120] 因此,对含有合适的雅可比矩阵的二次价值函数取偏微分可以导出最小范数解,而不用考虑约束的个数。在系统过约束的情况下,得到的解具有最小的价值函数,其中r的范数被最小化。如果系统欠约束,得到的解具有零价值函数且该解取最小双范数解的形式,从而使
[0121] 作为增广控制器的简单示例,我们可以利用上述架构通过生成期望的控制变量并使其等于所选择关节 来控制关节保持姿态不变。然后我们写出如上所述的增广控制器,但是这里控制所选关节的期望的速度等于零。在这一示例中增广雅可比矩阵可以是平凡矩阵,其在对应所选关节的列中有一个1。然后我们可以以类似于图11中的方式利用图12中的框图来闭合环绕期望的关节角度的环路,同时驱动所选关节向期望的关节角度运动。换句话说,如果使用图12中控制器的实施例来驱动具有一个额外自由度的操纵器组件,但该额外自由度被驱动至固定的构形,则操纵器可以给出类似于由图11中控制器驱动的全约束操纵器组件所得到的结果,由此显示出图12的控制器能够实现生成期望的末端执行器移动的主要功能,与之同时进行的是保持一个关节固定的额外(如果有点简单)任务。
[0122] 与欠约束系统相比,对过约束系统的分析更加复杂。通常的机器人和特殊的外科手术机器人都需要进行设计和控制以便很好地利用它们所有的关节。由于对机器人操纵器的运动系统的需求不同,使这些机器人操纵器具有充足的自由度来同时执行不同的任务并不总是可行或必需的,即使偶尔需要同时执行这些不同的任务。因此,在机器人操作的至少一部分时间内这些系统一般会是过约束的。当前存在几种数学架构,通过它们可以利用不同的子空间滤波器添加约束。第一种是增广期望的矢量,如上所述。一些额外的可以应用的附加增广技术在下面进行论述,在此之后还描述了可替代的数学架构,包括至少一个对增广有益的架构。
[0123] 随同命令的简单组合或扩增,多个命令可以由控制器依据相关权重选择性地组合在一起,例如通过应用加权最小范数解法。该最小范数可以根据表示解空间的基矢量集来计算。然后该解可以包含这些基矢量的线性组合。尽管基矢量有时被表示为x方向上的一个单位长度,或y方向上的一个单位长度等,但这不是必需的。例如,关节可能差别巨大,其中一些是圆柱状或棱柱状,其它的是枢轴的或旋转的,以及类似差别。
[0124] 通过简单的示例可以理解对基矢量的使用,其中e1是针对第一电动机的1度/秒,e2是针对第二电动机的1度/秒,等等,且在其中计算出初始最小范数解空间。这一解空间可以通过变换选择不同的基矢量来进行任意加权。例如,我们可以使e1等于针对第一电动机的10度/秒,而e2仍然是针对第二电动机的1度/秒。最小范数解倾向于使e1的系数平均不大于e2和其它基矢量的系数。因此,这一加权方法会倾向于使第一电动机具有较小的速度,这缘于我们所选择的基函数加权方法。
[0125] 此外,我们可以选择e1为针对第一电动机的正方向的1度/秒,和针对第二电动机的正方向的1度/秒。然后e2可以是针对第一电动机的正方向的1度/秒,和针对第二电动机的负方向的1度/秒。同样的,我们可以从而有效地改变加权方法和/或外科医生关注的映射于该空间的折中方法。通常,我们可以围绕最优化结果进行任何的转换(如果该转换是线性的、常数、和可逆的则比较好),如下所示:
[0126] Cweighted=rTWTWr
[0127] 其中W为加权矩阵,而r为残差。在这种意义上,我们根据需要对残差进行加权,以此帮助得到答案。
[0128] 因此,加权可以被用于使解的一些部分比其它部分更重要。例如,我们可以使对角线上增广解矢量的重要分量具有大权重,而增广解矢量的较不重要分量具有小权重。作为替代,任何解分量的线性组合可以被任意加权。
[0129] 针对过约束系统可以用来导出电动命令的另一种技术是利用对有噪声的病态映射进行最优化的技术。所有有限维线性逆变换问题都有条件数。这一数值是对线性映射的偏移或偏斜的测评。在技术上,它是该线性映射的最大奇异值和最小奇异值之比,记作在概念上,它描述了噪声与信号如何相互作用。
[0130] 如果测量过程中存在噪声(如对机器人关节或主控命令的速度测量)且该噪声相对于关节是独立的,则可以试着假定该噪声大致均匀地影响每个解分量。也就是说,如果在有噪声环境中测量的来自主控装置的期望的速度为 (其中μ和σ为高斯白噪声模型GWN的均值和方差,并且它们相对不同笛卡尔元素xdotk是常数),则可以认为(虽然不完全正确) 其中 和 相对于关节也是常数。实
际上并非如此,这一假设可能出现错误――附加的噪声在线性映射的作用下形成,它一方面以易于建立信噪比(SNR)的方式添加一些分量,另一方面又以易于削减SNR的方式添加其它分量。考虑到设计较差的加权矩阵的作用可以证实这是可能的。用来测评这一效应的是条件数。
[0131] 对于机器人系统,当雅可比矩阵变成病态时,会出现与条件数增大相关的精度损失,其又发生于奇点附近。随着条件数增长,映射越来越表现得好像其零空间增长了一个或多个维数,但是该效应是连续的,而非离散的。相反,在期望的(主控)矢量空间中关节(解)矢量的新的子空间几乎映射到零。任何噪声,即使是在数值计算中的舍入误差,都可能并经常确实导致幻象解,其中非真实的关节速度被命令,其针对命令空间的次要速度,包括噪声导致的次要分布。
[0132] 很多子空间滤波技术可以处理这种病态映射效应,包括通过截断或舍位(truncate)雅可比矩阵的奇异值分解(SVD)来对解进行调节,有效地使新生成的零空间增长为全维空间。下面对这些技术中的一些进行简要说明,包括这一SVD截断技术。
[0133] 处理可能由数值渐近性等其他条件所激发的病态映射的技术之一是以数值上易处理的方式降低条件数。这一技术解决了与初始逆线性问题相关的问题,其可以记作:
[0134] J*=JT(JJT+λI)-1
[0135] J*可以指正则化雅可比矩阵,而I为单位矩阵。正的常数λ为正则化常数。它具有使该线性映射的所有奇异值都增大固定量 的效用。这就以类似水涨船高的方式降低了条件数:初始条件数 变成了约化条件数 正则化求逆的缺点是在现实中并不总是能够很好地提供对λ的选择。另外,它会改变逆的所有分量的解,而不仅仅是被噪声包围的那些分量。
[0136] 改善病态映射的状况的另一个子空间滤子方法是贝叶斯估计,也被称为最大后验估计。它以其最简单的形式简化为等价于正则化逆的一些东西。主要概念是找到自由参数来最大化噪声测量的后验概率密度函数 根据贝叶斯方法,我们可以写出
[0137]
[0138] 从而由下式获得最优关节速度矢量
[0139]
[0140] 在这里两个新概率密度函数(PDF)中的第一个是噪声模型测量结果,而第二个是解矢量的先验(或优先)分布。可以看出,如果噪声模型是零平均的、独立的和高斯分布的,且对解的先验估计也是零平均的、独立的和高斯分布的,则一般该解可以记作:
[0141]
[0142] 其中A是测量模型的方差除以先验分布的方差所形成的矩阵。和正则化求逆相同,贝叶斯方法改变了解。在这种情况下,该变化事实上由最优化技术所激发,此最优化技术用于对存在噪声时的测量进行处理,并处理关于可能解的先验信息的可用性。
[0143] 作为关于病态映射的子空间滤波的最后注释,利用奇异值分解的类似截断方法也可以很有效地被使用。特别地,本方法可以通过6×6的雅可比矩阵应用于图11所示的控制系统中。这些方法也可以延展到过约束情况和欠约束情况。本方法的一个缺点是计算逆的间接开销要比这里讨论的其它技术要高一些,尽管不必高很多。该方法的优点是可以直接检查和控制破坏性条件数。
[0144] 可应用于具有过约束冗余自由度的外科手术机器人系统的另一个增广最优化子空间滤子的方法是有约束的凸最优化。基于最小化二次形的最小范数解具有简化线性方程系统的数学上的精练形式。通常,这些同步线性方程可以被快速且高度准确地解出,同时它们易于得到且便于理解,这种易于执行的特点当然扩大了其使用范围。有可能写出其它优化问题方案,包括一些形式完好并且也易于获得解答的方案。这种问题的一个类别被称为凸最优化,且存在可以得到有效解的相应算法类别,包括Boyd和Vandenberghe所述的那些算法。
[0145] 除了上述方法(或作为替代形式),具有冗余自由度的外科手术机器人系统的控制器也可以受益于用于处理关于优先级的约束的数学方法。上面的讨论大部分集中于利用增广最优化对施加约束的问题进行最优化。但是,在中心的、主要的控制问题和我们可添加的、任何需要但非必须的解之间存在重要性的差异。下面介绍几种数学原理来软化约束,从而在主要控制问题变得更困难时使它们向后折叠或可以适度放松,以便使用系统更多的自由度。一个示例性软约束可以是保持操纵器的肘节或关节顶点指向上方,如上面关于图5A和图5B的描述。另一个约束可能是使机器人工作区的灵巧性,或一些其它的数学测量或机器人效力最大化。例如,我们可能希望我们的控制器逐渐抛弃类似于主要任务的次要目标(例如适应末端执行器移动的命令矢量),以此允许系统以牺牲那些软的低优先级的目标来实现主要目标。例如,我们可能需要并使用其它方面的额外自由度来避免奇点或类似问题。
[0146] 对于含有相互之间具有多个优先级的多个约束、任务或目标的系统,建立该系统的方法之一是将次要任务构建为上述的解的增广部分。然后我们可以使用加权矩阵来相对于主要任务降低次要约束的重要性。我们也可以在使用中调整这一加权矩阵以便在机器人处于其最佳位置时使加权过程为中性,而当接近较差区域时该加权过程可以对任何增广解施加很强的压缩作用(使得次要约束几乎不对最终解起作用)。也可以完全打开或关闭加权过程,从而实现关于优先级的分立开关。类似的技术可以被用于正则化解法和贝叶斯方法。例如,可以在构形相关模式中对参数λ以及先验分布进行调节。
[0147] 还有一种有时被称为投影方法的可替代数学方法,它可以允许系统执行多个约束,其中这些约束之间具有不同的优先级。这些有利的方法通常使用矩阵投影来添加约束,并可以被用来替换和/或添加于上述的增广方法。
[0148] 再次参考图12的框图,投影方法可以使用输入矢量 首先我们可以确定我们的主要约束或任务是由操纵器组件产生的末端执行器主-从移动应该,如果可行,总是对应于主控输入装置的预定/指令移动。对于末端执行器移动的这一主要约束或最优化的任何线性映射Jeff(对于末端执行器是将 映射到 ),我们可以针对一个或多个其它次要约束或命令矢量 构建滤子,从而使该次要约束不干扰主要预定/指令运动 通过构建或限制可以实现避免约束间的干扰以使其完全处于Jeff的零空间内。这种限制或滤子起到数学投影算子的作用,其通过特性 将普通的约束或目标 投影到特殊的具有优先级排序的目标 中。有很多这种投影算子,其中一个是完全无损耗的。适当的投影算子P包含无损投影算子:
[0149]
[0150] 其中 是任何适用的伪逆。
[0151] 现在考虑任何一个可以记作具有方位反馈的线性速率控制器的任务,如上述远程中心套管运动任务。可以像之前一样形成雅可比矩阵,而为了实现该任务期望的关节速度可以计算为(例如):
[0152]
[0153] 套管任务的建议速率被投影以便使其不影响末端执行器任务的速率,然后将其叠加到末端执行器任务上以便产生真实解或建议解:
[0154]
[0155] 通常,可以写出任何一个次要任务(如操纵器的软件中心运动),然后在寻找次要任务操纵器移动 之前通过投影算子P对次要任务雅可比矩阵(在本示例中为Jcan)进行投影,以此使次要任务的投影雅可比矩阵只对位于主要任务(如Jeff)的零空间内的关节的线性组合起作用。这些计算可以被设定为递归运算,而与应用数学计算技术相关的额外细节已由Sicilliano和Slotine进行说明。
[0156] 除了上述特殊的投影方法示例,类似的投影算子可以被用于机器人和/或外科手术主-从控制器的很多应用中。上面推导出的投影算子功能强大且可被用于整个控制器来1
提供用于以一些方式来控制一些自由度的导向机理。例如,邻近图12框图中“J”的右侧是关节控制器系统558的大部分。利用上述技术,我们可以复制这一整体部分,得到两个控制器,其中对每个控制器注入期望的或预定速度。让我们进一步依据任务对期望的速度进行滤除或投影。由此我们可以针对每个任务创建一个控制器,每一个具有各自的限制、增益、饱和度及类似特性的集合。以这种方式可以在合适的条件下使不同的任务损失优先级或被放弃。
[0157] 更进一步地可以利用投影、增广和/或其它方法来实现次要任务,包括上述的一些或全部机器人操纵和/或安装方法。例如,本文和文献(参见Sicilliano和Slotine及其引用的文献)中其它地方所述的生成次要任务以避免碰撞的过程可以被修订,以便抑止两个同步移动的操纵器组件之间的碰撞。如上所述,一个解决方法可以使用扩增任务的形式体系来产生速率控制器。
[0158] 针对其它运行模式可以执行额外的修正控制方法。例如,为了定悬臂或操纵器组件,或此类结构的自由度的子集(见下面的离合过程),我们可以预先将第一模块544的输出矢量中的一些或全部压缩至零。为了在后面重新建立主-从结构,我们可以释放该压缩动作,优选在满足初步配合条件以排除输入命令中的跳跃不连续性之后。
[0159] 利用上述控制算法,现在我们也可以理解如何对关节子集或速度空间的子空间进行离合以提供器械离合模式和/或端口离合模式。在微创机器人外科手术系统中,器械离合模式一般会允许手动铰接具有有限的自由度的操纵器组件。例如,当去除第一器械且更换为含有不同手术末端执行器的第二器械时,助手可能希望能够手动移动操纵器组件以便推进和收回穿过进刀部位的器械,以便使器械绕进刀部位枢轴转动而对新的末端执行器进行定向和定位,以及类似的目的。这些期望的离合自由度一般并不与系统的机械关节的自由度相一致,从而使得只不过释放一个或多个关节就有可能导致操纵器系统出现不需要的或甚至危险的移动。但是,如果系统抑止数学上描述的操纵器组件运动,例如插入进刀部位的轴件或套管的横向移动,它通过在第二模块546中生成和使用上述投影矩阵或增广解中之一来实现,以便响应操纵器组件的手动移动来驱动一个或多个关节,那么这种器械更换离合方法是有效的。类似地,端口离合模式可以使套管或进刀部位被移动(且在移动完成后选择性地识别新的进刀部位),但是在手动移动过程中可能保持一些或全部操纵器组件的方向和/或姿态不变。
[0160] 如果从动操纵器联动装置的离合自由度与一个或多个关节自由度相符(也就是说,如果在离合模式中一些关节被锁定而一些关节可以自由移动),则离合过程是直接的:只需要关闭用于那些自由移动的关节的控制器即可。但是,以非独立的方式对关节进行离合一般是有利的,其中一个关节的运动由控制器连接到另外至少一个其他关节的运动上,以便使它们可以被手动铰接在一起作为单一的自由度。这可以通过响应其它至少一个其他关节的外部铰接来驱动机器人操纵器组件的至少一个关节而实现。通过定义速率的任何期望的任意线性组合,其可以被视为操作员可操纵的单一自由度,且可选择当其它机械自由度中的一些或全部仍被锁定的时候,则控制器可以影响上述运动,它一般不同于机械系统的任何自由度。这种一般概念包括端口离合、器械离合、肘节离合(其中允许中间肘节移动,例如,从指向上方的顶点构形绕转为指向横向的顶点构形,同时仍然抑止末端执行器的移动),以及其它离合模式。正常的关节连关节的离合作为特例不在此范围之列。
[0161] 下面给出影响离合的一个控制系统示例,它也可以通过参考图12来理解,在开始离合时,虚拟输入命令xv追踪xm且旋臂显示为被锁定。随着系统切换到离合模式,我们生成投影算子P来描述不应自由移动的关节速度线性组合:
[0162]
[0163] 如果这一投影算子被插入到框图中模块“544(J-1)”之后的路径中,则那些速度就被隐藏在控制器之外。
[0164] 如果这一投影算子被执行且旋臂紧随其后,则该旋臂仍然会尝试跟随但关节的线性组合不会接到命令。此外,万一关节的线性组合偶然移动(如被操作员反向驱动或类似原因),控制器也会忽略它并且不改正它。
[0165] 还有一些系统任务或目标可以利用本文描述的控制器技术来实现。枢轴进刀部位位置相对于器械移动的适应性滤波和学习过程在下面进行说明。此外,可以利用这些技术的其它变化形式来执行触觉约束。
[0166] 关于触觉约束,它一般用于在通过主控输入装置操纵从动旋臂的过程中向操作员提供提示。例如,可能需要向操作员指示出远离会引起后续控制能力问题的次优构形。提供这种触觉约束的一个简单的方法是实施关节限制技术。另一个方法是在超过阈值时打开单侧伺服系统。这可以利用上面的任何投影算子或增广方法来完成。
[0167] 如果传感器指示出超过阈值且运动进一步在向错误的方向进行,则单侧伺服系统一般会推回到控制点或推离控制点。针对沿边界的每个点可以描述平行于边界的速度。然后用速度矢量和阈值的点乘来指示操作员是朝着边界移动还是远离边界移动,并阻止错误方向上的投影。所有这些都可以通过上述投影算子和与零相比较而完成。
[0168] 现在参考图13,在涉及到机器人器械564的运转装置562的枢轴中心移动和进入病人566体内相关的端口部位或微创外科手术进刀部位的移动时,软件中心外科手术机器人操纵器组件560特别有优势。操纵器组件560可以被组装在病人旁边的平台上、天花板支架上或地板支架上,并通过独立控制端口部位的位置来补偿端口部位的运动(例如,病人的呼吸)。在图13的示例性实施方式中,端口部位的位置可以通过响应套管枢轴中心点处的笛卡尔力信息来进行控制,其中所述力信息由力传感套管568来感测。
[0169] 在图13中附属在套管上的坐标系指定为Ocan。该坐标系与操纵器基座处的基座系Obase和器械尖端处的尖端系Otip完全不同。施加于套管上的笛卡尔力可以被分解来控制套管(Ocan)的方位。对这一方位控制不需要绕Ocan的转矩。可以利用套管568的力传感系统来分解端口处的一些或全部力,和/或利用器械564、操纵器组件560(例如操纵器的关节转矩传感器)或类似装置的力传感系统来分解至少部分力。
[0170] 假如给定操纵器组件的几何构形和方位及对套管作用力的感应,则控制法则可以响应套管处的反作用力来移动套管的方位。这种控制法则的一个示例是将预定/指令套管笛卡尔力设定为零。然后控制器会尽量移动操纵器组件以便使施加于套管上的所得笛卡尔力被最小化。也可以设定非零的预定/指令套管力,例如在套管的正Z方向上为5磅(lbs),以使旋臂帮助从病人体内收回套管。这也可以利用同一个控制器来实现。
[0171] 图13A-13C示出了代表性的控制器570,其响应微创进刀部位的运动来驱动操纵器组件560。图13A示出了套管运动控制器的总体框图,该套管运动控制器可以合并到总体软件中心远程操作控制器。来自力传感器572的信号可以由传感器的特性及其在旋臂中的布置导出。转换模块574(一般为雅可比算子)将测得的力传感信息转换到笛卡尔套管力的参考系中。可以提供预定/指令套管力576作为参变量(例如作为程控数值)。例如,在对呼吸运动进行补偿的情况下,这一预定/指令力可以为零(fx=0,fy=0,fz=0)。在收回的情况下,它可以是(fx=0,fy=0,fz=a),其中a为收回值(例如单位为顿)。滤波器模块578生成来自实际套管力和预定/指令套管力的已滤除的误差信号。预定所到的从动尖端方位580来自于远程操作环路的主控侧(参见,例如,图11),并且预定从动尖端速度582也可以被提供。
[0172] 混合控制器模块584接收命令及实际从动方位和速度信号,连同已滤除的套管力误差信号,并生成关节电动转矩信号。软件中心操纵器组件的动力系统如586所示,它与病人环境588的动力系统相互作用。
[0173] 图13B和13C分别示出了针对滤波器模块578和混合控制器584的控制方案或算法。对于已滤除力命令,简单的对比模块590可以生成预定的和实际的套管力之间的误差信号。然后已滤除的误差可以由低通滤波器592产生。对于混合控制器584,控制的好方法可能是将预定套管力转化为预定套管运动594。这可以通过生成与套管力误差成比例的增量预定方位并且将这一增量套管方位叠加到当前(实际)套管方位上以生成预定套管方位。该预定套管方位与预定从动尖端方位矢量叠加到596中,以此生成针对操纵器组件的命令方位矢量。这与实际关节和速度结合在一起并且被注入到软件中心从动控制器598中来生成预定电动转矩,其又被用于驱动操纵器组件的电动机。
[0174] 现在参考图14A和图14B,其分别图示说明了器械坐标系和器械轴件绕微创进刀部位的枢轴移动。如图14A所示,枢轴点PP是相对于微创进刀端口的方位,在此处器械轴件作枢轴运动。例如,枢轴点PP可以通过初始确定操纵器器械14.1与单位矢量U0之间的接口的原始位置来计算,该单位矢量与器械轴件有相同的方向。枢轴点方位PP(x,y,z)的值可以来源于操纵器组件的各种传感器。
[0175] 关于图14A,器械可以处于含有角度θ4和θ5的第一坐标系(x,y,z)中。单位矢量U0可以通过下面的转换矩阵进行计算:
[0176]
[0177] 在末端执行器的每次移动之后,可以依照后面的直线方程L0和L1通过对器械的第一和第二单位矢量U0和U1的叉乘取反正弦来计算器械的角运动Δθ。
[0178] Δθ=arcsin([T])
[0179] T=U0×U1
[0180] 其中:
[0181] T=单位矢量U0和U1叉乘所得的矢量。
[0182] 新的器械方位U1的单位矢量也可以利用上述的方位传感器和转换矩阵来确定。如果角度Δθ大于阈值,则可以计算新的枢轴点并将U0设置为U1。如图14B所示,第一和第二器械方向可以通过直线方程L0和L1来定义:
[0183] L0:x0=Mx0·z0+Cx0
[0184] y0=My0·z0+Cy0
[0185] L1:x1=Mx1·z1+Cx1
[0186] y1=My1·z1+Cy1
[0187] 其中:
[0188] z0=相对于第一坐标系中的z轴沿直线L0的z坐标。
[0189] z1=相对于第一坐标系中的z轴沿直线L1的z坐标。
[0190] Mx0=作为z0的函数的直线L0的斜率。
[0191] My0=作为z0的函数的直线L0的斜率。
[0192] Mx1=作为z1的函数的直线L1的斜率。
[0193] My1=作为z1的函数的直线L1的斜率。
[0194] Cx0=表示直线L0与第一坐标系中的x轴的交点位置的常数。
[0195] Cy0=表示直线L0与第一坐标系中的y轴的交点位置的常数。
[0196] Cx1=表示直线L1与第一坐标系中的x轴的交点位置的常数。
[0197] Cy1=表示直线L1与第一坐标系中的y轴的交点位置的常数。
[0198] 所述斜率可以利用下面的算法进行计算:
[0199] Mx0=Ux0/Uz0
[0200] My0=Uy0/Uz0
[0201] Mx1=Ux1/Uz1
[0202] My1=Uy1/Uz1
[0203] Cx0=P0x-Mx1·P0z
[0204] Cy0=P0y-My1·P0z
[0205] Cx1=P1x-Mx1·P1z
[0206] Cy1=P1y-My1·P1z
[0207] 其中:
[0208] U0(x,y,z)=第一坐标系中处于第一方位的器械的单位矢量。
[0209] U1(x,y,z)=第一坐标系中处于第二方位的器械的单位矢量。
[0210] P0(x,y,z)=第一坐标系中处于第一方位的器械与末端执行器的交点的坐标。
[0211] P1(x,y,z)=第一坐标系中处于第二方位的器械与末端执行器的交点的坐标。
[0212] 为了寻找合适的枢轴点位置PP,可以确定处于第一方向L0(枢轴点R0)和处于第二方向L1(枢轴点R1)的器械的枢轴点,然后计算两点R0和R1之间的中点位置并将其储存为器械的枢轴点Rave。枢轴点Rave利用叉乘矢量T来确定。
[0213] 为了寻找点R0和R1,设定下列等式来定义通过L0和L1且与矢量T方向相同的直线。
[0214] tx=Tx/Tz
[0215] ty=Ty/Tz
[0216] 其中:
[0217] tx=由矢量T定义的直线相对于第一坐标系的z-x平面的斜率。
[0218] ty=由矢量T定义的直线相对于第一坐标系的z-y平面的斜率
[0219] Tx=矢量T的x分量。
[0220] Ty=矢量T的y分量。
[0221] Tz=矢量T的z分量。
[0222] 选取两点来确定斜率Tx、Ty和Tz(例如Tx=x1-x0,Ty=y1-y0,[0223] Tz=z1-z0)并代入到直线方程L0和L1中,得到针对R0(x0,y0,z0)和[0224] R1(x1,y1,z1)两点坐标的解如下所示
[0225] z0=((Mx1-tx)z1+Cx1-Cx0)/(Mx0-tx)
[0226] z1=((Cy1-Cy0)(Mx0-tx)-(Cx1-Cx0)(My0-ty))/
[0227] ((My0-ty)(Mx1-tx)-(My1-ty)(Mx0-tx))
[0228] y0=My0·z0+Cy0
[0229] y1=My1·z1+Cy1
[0230] x0=Mx0·z0+Cx0
[0231] x1=Mx1·z1+Cx1
[0232] 枢轴点R0和R1之间的中间位置可以通过下面的方程进行计算并被储存为器械的枢轴点:
[0233] Rave=((x1+x0)/2,(y1+y0)/2,(z1+z0)/2)
[0234] 该枢轴点位置可以通过上述计算经常地持续更新。
[0235] 现在参考图14A、图14B和图15,另一种控制系统示意图400说明了如何利用主控制器和操纵器的移动来计算手术器械的相应移动,从而利用可替代的控制器体系结构来使器械绕枢轴点进行枢轴运动。依照图15所示的控制系统,处理器计算操纵器的输出信号,从而使器械联合并协同主控输入手柄的移动进行移动。控制系统400的很多方面在美国专利第6,699,177号中有更全面的说明,该专利的全部公开内容以引用的方式并入本文中。在图15所示的控制系统400中,枢轴点位置可以通过枢轴点计算模块404根据器械的移动进行计算,在该枢轴点位置处器械被插入到内部手术部位。图15和图16中所示的不同模块也可以包含硬件、软件、固件、硬件和软件的组合或类似部件。这些模块一般会包含数据处理硬件,其被配置为利用软件执行这里所述的计算,而多个模块的计算可以一起被集成到公用程序或模块中,和/或单一模块的计算可以被分解到多个程序或子程序中以便运行于分离的处理器电路板上。
[0236] 简而言之,上面的说明使得能够通过软件对枢轴(中心)点进行确定/估计。一旦具有计算软件枢轴点的能力,可以选择性地执行以系统的柔性或刚性为特征的不同模式。更具体地说,在计算出预估枢轴点后可以执行在一定的枢轴点/中心范围内(例如,从具有被动枢轴点的模式到具有固定的/刚性枢轴点的模式的范围)的不同的系统模式。例如,在执行固定枢轴模式的过程中,预估枢轴点可以与期望的枢轴点相比较以产生误差输出,该误差输出可以被用于驱动器械的枢轴到期望的位置。相反,在执行被动枢轴模式的过程中,尽管期望的枢轴位置可能不是最重要的目标,但预估的枢轴点可以被用于误差检测和随后的安全保护,因为预估枢轴点位置的变化可以指示出病人已被移动或传感器出现故障,从而使系统有机会采取矫正动作。
[0237] 移动的器械和微创切口的组织之间的相互作用可以至少部分地由处理器来确定,处理器可选择地允许系统的柔性或刚性在从被动枢轴点到固定枢轴点的范围内变化。在被动/刚性范围的被动端,当器械夹持器腕节的电动机施加很小或不施加转矩时,可以在空间中移动器械的近端,从而使器械有效地表现出它好像通过一对被动关节与操纵器或机器人臂相连。在这种模式下,器械轴件与沿微创切口的组织之间的相互作用导致器械绕枢轴点PP的枢轴运动。如果手术器械没有被插入到微创切口中或受到其它的约束,它会在重力的影响下指向下方,而操纵器旋臂的移动会平移悬挂的器械而不进行绕沿器械轴件的某个部位的枢轴运动。在被动/刚性范围的刚性端附近,可以将微创切口的位置输入或计算为空间中的固定点。与被安置到枢轴点近端位置的运动链中的每个关节相关的电动机随后可以驱动操纵器,从而在所计算枢轴点处横向抵触器械轴件的任何横向力都会导致反作用力以保证轴件穿过枢轴点。在某些方面,这一系统会表现为类似于机械上受约束的远程中心联动装置。很多实施例会处于这两个极端之间,它们会提供计算出的运动,该运动一般在进刀位置进行枢轴转动,并且当沿微创进刀位置的组织移动时在可接受范围内调节和移动运动的枢轴中心,而不对那一组织施加过量的横向力。
[0238] 需要理解的是,这里所述的关于图14中控制器体系结构的很多计算,至少部分地,可以与前面所述的关于可替代控制体系结构的控制器计算进行互换。例如,如图12所示的软件中心操纵器组件控制器可以使得软件中心被相当柔软或轻柔地支撑,从而使与病人相互作用所施加的组织力能够压制发送给操纵器电动机的命令。操纵器驱动转矩的这种经计算的饱和度可以被允许而仍然控制末端执行器的位置使其具有相当紧密的公差,因为操纵器组件的所有运动都可以通过操纵器的传感器来确定。可以应用几种原理来逐渐增大软件中心控制的刚度,包括上面论述的加权增广解法。通过远程中心以小权重值开始并逐渐增大这些权重直到等于末端执行器的权重,我们可以(例如)逐渐刚化对枢轴中心位置的控制。
[0239] 如果控制器轻柔地支撑着枢轴中心,则施加于操纵器组件的体壁作用力和任何其它外生作用力都会影响枢轴中心的运动。例如,如果允许器械在邻近其与操纵器的接口处被动地枢轴转动,则可以应用上述用于确定远程中心位置的计算过程。随着用于预估枢轴运动中心的变量值逐渐减少,权重因子或增益会增大。追踪枢轴中心位置的变化可以允许识别和补偿循环生理运动,如病人的呼吸、心跳等。在一些实施例中,类似的运算可以允许控制器来补偿病人的移动,如通过重新定向外科手术台、在外科手术台上重新定位病人,或类似运动。
[0240] 为了提供器械在空间中的经计算的枢轴运动,不管器械是否穿过微创切口被插入,这里所述的系统可以选择性地包括控制器400的修正操纵器命令模块406,控制器400具有如图16所示的软件中心关节命令计算模块410。处理器210的软件中心模块410接收对应于期望的末端执行器运动的输入命令,一般响应主控输入手柄移动所产生的信号的形式。软件中心模块410在计算模块412中计算期望的相应末端执行器移动或矢量,其可选择地利用专利第6,424,885号和第6,699,177号中所描述的坐标系变换。然后将期望的末端执行器移动被传送给逆运动学解算器414。期望的末端执行器运动也被远程中心定位器416使用以便产生解得中心,器械可绕该中心枢轴转动。
[0241] 除了期望的末端执行器运动,远程中心定位器416利用来自从动操纵器418的实际关节运动信息。来自操纵器418的这一信息可以包含由先前末端执行器移动带来的实际关节运动。该数据可以以各种形式产生,如由电位计之类的设备得到的每个单独关节的方位,或由编码器之类的设备得到的单独关节的离散步骤,或各种可替代的运动观察器。可选择地,也可以提供在操纵器的关节处探测到的关节转矩,同时可以将关节方位和关节速度传送给正向运动学模块420。正向运动学模块420可以通过在器械先前的运动中从动操纵器的行为来计算观测到的微创切口的枢轴中心位置。
[0242] 除了绕枢轴点的运动,软件中心模块410也可以确定与绕微创切口的枢轴转动相关的作用力、与组织道的特性相关的作用力(例如,在器械轴件的移动和/或与切口邻近的病人解剖部分的任何横向移动过程中,组织道对器械施加的横向力或枢轴弹力)等。此外,也可以确定观测枢轴中心的特性。例如,软件中心模块410可以确定观测枢轴中心的任何循环运动,其与呼吸或心跳之类的生理活动有关。也可以识别变换枢轴角度和方向的枢轴中心的移位。例如,对胸腔的肋间进入会导致在使插入到肋骨之间的器械大致垂直于肋骨方向枢轴转动时出现第一枢轴中心,而在使器械沿相邻肋骨的长度方向变换角度时出现第二枢轴中心。沿着组织道的轴线和/或在距离组织道不同位置处,组织的刚度也会发生变化,从而对于以相对小的角度穿过微创切口插入的轴件的枢轴转动会产生枢轴中心,其被置于沿组织道延伸穿过腹腔壁的第一点,而增大穿过同一组织道插入的轴件的角度会将枢轴中心沿组织道轴向推移到更远或更近的位置。
[0243] 来自正向运动学模块420的观测枢轴中心信息(连同任何相关的作用力)可以与来自期望的末端执行器计算模块412的预定末端执行器运动组合起来,从而产生期望的运动的解得的或期望的中心。可以利用自适应滤波器将观测枢轴中心和预定尖端运动组合起来,而从观测枢轴中心和预定末端执行器运动的组合到逆运动学解算器的输入可以包括期望的远程中心运动422。
[0244] 一般来说,不易于被反向驱动的操纵器联动装置会倾向于将远程中心位置保持在计算出的方位上。假设联动装置的驱动系统没有被压制,观测远程中心会仍然处于期望的或计算出的远程中心位置附近,其中观测中心和期望的中心之间的差一般落在操纵器相对较小的伺服误差范围内。但是,系统可以确定远程中心应该被去除以减轻施加于操纵器结构的力和/或转矩。例如,可以在套管处施加并测量力和/或转矩,其通过例如,组织对套管的反作用力、在呼吸或病人重新定位过程中病人的生理运动等来实现。在一些实施例中,操作员可以用手推动旋臂来移动远程中心到新的位置,可选择地在传送枢轴中心重新定位信号到处理器(如通过按压端口离合按钮)的过程之前、之中或之后来进行。如上所述,基于操纵器联动装置的这一手动移动所提供的数据,可以利用大量的计算方法来选择新的远程中心。这种计算的输出可以被称为解得中心或期望的中心,且一般可以代表从系统用户到处理器的输入,当沿操纵器组件的运动链的适当结构(如套管)被置于期望的进刀部位时,这一输入可选择地通过松开端口离合输入端来实现。
[0245] 在更易于被反向驱动的旋臂中,解得中心或期望的中心可能仅是观测中心的已滤波形式。这种可反向驱动的联动装置更直接地适于观测远程中心的实际运动和适当调节控制。由于更强的或更小的反向驱动的操纵器联动装置会倾向于表现出较小的观测中心的运动,因此使用转矩或力传感器来测量在枢轴中心处施加于旋臂上的扰动力(如套管力传感器)会更易于实现这种枢轴位置的移动,而不是仅仅依靠关节转矩或方位的测量。
[0246] 如上所述,介于末端执行器和近端器械外壳之间的器械轴件一般会延伸穿过微创切口。可以计算出器械的这一中间段的运动,从而使器械对病人不造成伤害,但仍然位于微创进刀部位内。随着器械轴件的枢轴运动,器械可以绕其轴件旋转,同时轴件可以沿其轴线更远地插入或更近地退出。
[0247] 为了使得逆运动学解算器414能够计算关节运动以影响预定末端观察器的移动,同时保持器械处于微创切口部位中,可以由从动矢量计算器414提供末端执行器尖端的预定笛卡尔速度和角速度的矢量,示例性末端执行器矢量包含1×6的矢量,其中末端执行器上的夹持部件的启动一般从逆运动学计算中分离出来进行处理。输入到逆运动学解算器中的期望的远程中心运动422可以包含枢轴中心笛卡尔速度的矢量,如1×3的矢量。可以利用这些矢量输入调整计算枢轴中心移动(例如,基于在高阻抗或刚性驱动的旋臂的枢轴中心处作用力的测量)或枢轴中心有效位置(基于利用低阻抗或更被动枢轴运动的旋臂来观测枢轴运动)的算法。因此,逆运动学解算器414可以被用于操纵器结构,该操纵器结构是柔性或被动的旋转中心和更刚性的计算旋转中心的组合。
[0248] 从上面可以看出,操纵器/器械联动装置一般中具有比末端执行器在手术工作区中更多的自由度。虽然如此,逆运动学解算器414仍使用类似于有更多约束的机械系统的控制器方案,如美国专利第6,493,608号中所述,该专利的全部公开内容以引用的方式并入本文中。更具体地说,利用含有反馈回路的修正逆运动学模块可以有助于图16中的关节运动计算器410,所述反馈回路被调谐以更正积分漂移。但是,可以使用几种对逆运动学解算器414的修正方案来调节关节计算器以便用于具有许多自由度和/或用于计算出的远程中心。
[0249] 图17更详细地图示说明了由逆运动学解算器414执行的示例性计算过程。利用期望的末端执行器运动和期望的枢轴中心运动,逆运动学解算器414首先确定器械的速度。在示例性实施方式中这些速度可以包括末端执行器的期望的笛卡尔速度、末端执行器的期望的角速度和枢轴中心的笛卡尔速度的矢量,一般表现为1×9的矢量V。通过这一矢量,可以利用如下关系来计算关节速度矢量 该关节速度会促使邻近切口的末端执行器尖端和中间的器械轴件实现期望的笛卡尔速度和角速度:
[0250]
[0251] 其中W是加权矩阵,J是雅可比矩阵。对于图6所示的示例性运动链,该雅可比矩阵是9×10的矩阵。
[0252] 示例性旋臂一般还具有比末端执行器在空间中自由度数(一般为6)和保持器械轴件位于切口处的约束数(3)的组合更多的自由度,从而针对末端执行器和轴件的枢轴转动任务它们是欠约束的。因此,这些联动系统可以具有大于10个的自由度,它们的运动链一般定义出零空间或针对给定末端执行器方位该运动链可具有的可替代构形和/或关节速度的范围。投影到雅可比矩阵的零空间中的投影矢量P可以通过下式进行计算:
[0253] P=(I-Jrpi*J)
[0254] 其中I是单位矩阵而Jrpi是雅可比矩阵的右伪逆。
[0255] 然后可以计算出使一个或多个价值函数最小化的辅助关节速度qaux的期望的集合,其中价值函数一般含有构形,该构形驱动操纵器远离关节运动范围限制、远离极点、排除障碍等。然后可以将这些辅助关节速度投影到雅可比矩阵的零空间中。然后可以利用下式通过将基本的和辅助的关节速度矢量叠加在一起来计算最终速度矢量:
[0256]
[0257] 再次参考图9,运动解算器414可以至少部分地基于和其它操纵器的运动相关的信息来计算关节运动。在示例性实施方式中,姿态优化器模块430接收来自操纵器的实际关节运动数据,还接收来自其它操纵器的实际关节运动信息。基于操纵器的运动,姿态优化器计算出要输入到逆运动学解算器414中的额外逆运动学约束。姿态优化器还可以利用目标函数来驱动运动链的关节构形,以便增强相邻操纵器之间的分离,同时影响末端执行器的预定运动,同时还保持器械的中间段位于微创切口部位中。因此姿态优化器430能够利用运动链的过量自由度(超过手术部位中末端执行器的自由度),这可以通过参考图5A和图5B来理解。
[0258] 在图5A中,操纵器304将器械306支撑在空间中给定的位置处。对操纵器的中间关节J4进行配置,从而使在关节J4处连接在一起的连杆轴线大致定义出指向下方的顶角350。由于操纵器304在第一枢轴关节322处被枢轴地组装在基座上,且在器械腕节332处被枢轴地组装在器械夹持器320上,同时包括二者之间的一个轧辊关节和两个枢轴关节,因此可以驱动操纵器旋臂从这一顶角向下的构形变换到图5B所示的顶角向上的构形,其中指向上方的顶角标示为参考数字352。注意到当操纵器处于这两个构形中的任一个状态时,或操纵器在这两个构形之间移动时,末端执行器(且实际上整个器械)可以相对于支撑操纵器的基座处于空间中的同一位置。
[0259] 为了保持对手术器械的准确控制并避免对系统的磨损和破坏,一般对相邻操纵器进行配置以便抑止操纵器之间的碰撞是有好处的。例如,当利用一个或多个基座来支撑两个操纵器从而使操纵器旋臂彼此相邻时,且当由这些操纵器支撑的手术器械通过相邻微创切口被插入时,使处于类似的构形中的这些操纵器会在操纵器相对移动的时候引起碰撞。通过将相邻的操纵器分别替换为如图5A所示的顶角向下的构形和如图5B所示的顶角向上的构形,操纵器系统的整体构形可以有更少的或没有碰撞。
[0260] 再次参考图15,针对多操纵器系统,姿态优化器430和关节计算器410可以在不同的实施例中实现。例如,针对每个操纵器运动,关节计算和相关的姿态优化可以单独执行。对于每个操纵器,所述计算可以以迭代的方式执行,而关节计算则可以通过运行于单一处理器电路板上的单一程序、通过运行于专用处理器电路板上的分离程序或类似方式来执行。不论如何,至少一些姿态优化程序会专一针对单个操纵器运行姿态优化子程序。作为替代,单个全局姿态优化器会从多个操纵器,选择性地从操纵器系统中的所有操纵器收集观测到的从动运动数据。利用这一信息,可以计算出对操纵器姿态的全局性最优化解。然后针对每个操纵器,这一全局性最优化解可以被用作逆运动学解算器414的输入。还能够进行更进一步的替代,包括利用逆运动学解算器同步确定遍布操纵器旋臂的所有关节的实际关节运动。
[0261] 现在参考图18A,为了利用多操纵器外科手术系统中的操纵器组件(例如,参见图1B),每个操纵器组件需要是紧凑的和高度灵巧的。紧凑的尺寸使得多个旋臂能够共享病人附近可用的有限空间,同时使外科手术过程中操纵器组件间的碰撞最小化。紧凑的尺寸还降低了电动机和致动器的转矩和功率的规格,并有助于使系统对外科手术人员和病人更安全。紧凑的操纵器组件结构还可能具有较轻的重量,其减小了操纵器支撑和安装系统的尺寸,并能够使手动安装过程对外科手术人员来说更容易。高度的灵巧性一般允许以最有利于外科手术的方式在病人体内对手术末端执行器进行定位、定向和移动。
[0262] 操纵器组件的运动结构会在很大程度上影响紧凑性和灵巧性。图18图示说明了同时提供紧凑性和高度灵巧性的示例性运动学结构。这些优势是通过考虑各种运动学关系和约束而得到的,包括对主要节段长度的平衡、降低横向运动偏移以及为所选择的关节提供至少最小的运动范围。在后面的段落中会对这三个标准进行更详细的说明。
[0263] 关于操纵器组件的节段长度,通过参考图18A、图4A-4C、图5A和图5B以及图6可以看出,示例性操纵器组件304包括定义出两个旋臂部分的连杆和关节的运动链。第一旋臂部分在枢轴关节J2和枢轴关节J4之间延伸且其长度为L1。第二旋臂部分在枢轴关节J4和枢轴关节J6之间延伸且其长度为L2。第一和第二旋臂部分602、604的长度L1和L2各自沿相关旋臂部分的相关轴线延伸,且沿每个旋臂部分都有一个轧辊关节(参见图6中的关节J3和J5)。
[0264] 一般通过保持长度L1和L2相互之间差20%来改进操纵器组件304的有效工作空间。如果这些长度之间的差别很明显地大于这一数量,工作空间中的体积空洞或不能达到的区域会成为问题。平衡长度L1和L2也有助于平衡用于驱动关节J2和J4的运动的角度范围。由于当运动范围过度增大时关节的机械设计会变得非常复杂,因此一般来说避免涉及到绕枢轴关节的很大的运动范围的设计是有好处的。
[0265] 接下来重点说明横向运动偏移,在此参考图18B、图18C和图18D,这些俯视图中的操纵器304的运动学设计、结构设计和机械设计展示了细长的剖面,其具有从中心面PL起测量到的有限宽度。在示例性实施方式中远端宽度Wd要小于近端宽度Wp。尽管操纵器组件304会在机器人操作过程中移动出这一平面构形,但一般有利的是驱动该联动装置以便保持沿平面PL的基本平面化的剖面,和/或使在相邻操纵器组件方向上从中心面起的旋臂突起或宽度最小化。在旋臂设计和/或驱动控制逻辑中对横向运动偏移的这种限制可以避免机械突起或凸块,这些突起或凸块有可能与其它操纵器组件、装备和操纵器支撑结构、病人和外科手术人员等发生碰撞。降低距离平面PL的偏移量还有助于在旋臂工作空间中避免空洞或不能达到的空间。驱动操纵器以避免距离平面构形的横向偏移量可以通过前述的增广解法或投影解法来实现,其中这一约束或任务一般在末端执行器跟随、绕套管枢轴转动等动作方面具有更低的优先级。
[0266] 在图18B所示的示例性实施方式中(同时参考图6所示的关节及其相关轴线),当旋臂处于中立姿态时,关节1的枢轴线、关节3的枢轴线、关节5的枢轴线和关节7的线性轴线均位于平面PL内。当旋臂移动时这一条件会发生改变,但在示例性实施方式中,关节J3和J5的轴线仍然是共面的。换句话说,通过设计应该可以使沿这些关节的运动链的偏移达到理想的零状态。
[0267] 如图18C和18D所示,通过使用相邻旋臂304a和304b,其被设计为沿相关平面PL1和PL2使用,当旋臂被控制器驱动来达到将每个旋臂的平面构形保持在横向偏移和/或角偏移的平面上的目标时,这可以抑止这些相邻旋臂之间的碰撞。从上面可以看出,也可以使用如上所述的在顶角向上和顶角向下的构形之间替换相邻旋臂。
[0268] 关于针对操纵器组件的关节的最小运动范围,通过对相关关节提供下表中至少一个最小运动范围,优选提供此表中的一些运动范围,和理想地提供下表中的所有运动范围(“ROM”),可以增强运动范围:
[0269]关节 最小ROM
1 90°
2 135°
3 180°
4 180°
5 180°
6 90°
7 8英寸
[0270] 通过关注关节J3(有时被称为上部旋臂轧辊)和J6(有时被称为腕节俯仰装置)可以认识到高度可配置操纵器组件304的整体灵巧性的特别优势。在很多方面,可以认为上部旋臂轧辊关节J3是旋臂的冗余或额外自由度。如果没有它,操纵器组件304也可以很有效地在三维空间中工作。通过提供这一额外自由度,针对给定的末端执行器方位旋臂可以获得无限多个姿态或构形,即使当器械的轴件仍然受到约束而绕微创切口进行枢轴运动。这可以使得旋臂能够避免障碍、避免与其它旋臂的碰撞及避免类似问题。这一灵活性也可以被用于优化操纵器联动装置的运动从而避免关节限制、奇点及类似问题。
[0271] 当被用于具有多个操纵器组件的机器人外科手术系统时,理想情况下操纵器联动装置304能够使自身在顶角向下的构形和顶角向上的构形之间来回转换,如图5A和图5B所示。例如,这可以使相邻旋臂在处于主要姿态(如名义上的起始姿态)的这两个构形之间进行替换,同时为每个悬臂提供可以在其中移动的较大的无障碍工作区。通过给上部旋臂轧辊关节J3提供至少180度的行程,优选360度或更大的行程来实现这一转换旋臂的能力。
[0272] 现在参考图18E和图18F,还可以通过以下方式来实现在顶角向上和顶角向下的构形之间转换旋臂的能力:向腕节俯仰关节J6提供运动范围,该运动范围足以允许器械轴线612(理想情况下在两个方向上)移动到非常接近操纵器组件304的相邻远端主轴线614。换句话说,当器械的末端执行器尽可能地接近操纵器旋臂的顶角时,角J6A优选为45度或更小,而当末端执行器尽可能地远离旋臂304的顶角时,角J6B优选为135度或更大。
[0273] 现在参考图18G,可能希望在操纵器组件304的一个或多个位置上安装碰撞传感器622。这些传感器一般会被安置在操纵器组件的外表面上。这些传感器可以包含接触型和/或接近型传感器,且可以基于控制器进行实时或近似实时的监控。在旋臂对旋臂的接触(或近似接触)情况下,控制系统可以采取适当的动作,如驱动操纵器到不同的姿态、产生软故障、产生硬故障或仅向系统操作员产生一些类型的报警,如蜂鸣声或报警灯等。在一些实施例中,适当的动作可依赖于传感器的位置和/或碰撞检测信号的其它特征。
[0274] 可以使用以下设备作为合适的碰撞传感器:带开关,如在商业上可从纽约的Tape Switch Corporation获得的此类产品;弹性传感阵列,如由东京大学(包括Takao Someya)开发的此类产品,于2004年9月22/29日在网站www.trnmag.com上登载的题为“Flexible Sensors Make Robot Skin”的文章对其有所描述;单个力传感电阻或力传感电阻阵列,其在商业上可从Interlink Electronics获得;有源或无源电容反射式(capaciflector)电容性传感系统,如由John Vranish在NASA-Goddard开发的此类产品,以及其他类似设备。
[0275] 尽管以示例的方式在一定程度上详细描述了示例性实施方式以便于对本发明有清晰的理解,但各种调节、修改和变换对本领域技术人员来说是显而易见的。因此,本发明的范围仅受到附属权利要求的限制。
QQ群二维码
意见反馈