一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

机器人关节控制的制作方法

2022-06-22 20:23:04 来源:中国专利 TAG:


1.本发明涉及对机器人系统中的关节(例如机器人臂)的控制,并且具体地涉及对以一个或多个约束来操作的冗余机器人臂的控制。


背景技术:

2.典型的机器人操纵器包括通过关节联接在一起的一系列刚性元件。这些元件可以串联连接以形成臂。可驱动关节以便引起刚性元件的相对运动。刚性元件可从基座伸出并终止于用于器械或末端执行器的附接件。因此,可采用关节处的运动将末端执行器定位在期望的方位。每个关节可以提供旋转运动或线性运动。关节可以由任何合适的装置(例如电机或液压致动器)驱动。
3.在操作期间,可能需要机器人使末端执行器移动到期望的方位。例如,可能需要机器人使用末端执行器来拾取物体。这需要将末端执行器移动到物体所在的位置。为了实现这一点,需要关节运动的某些组合。机器人的控制系统用于计算这些运动。
4.传统上,机器人设置有方位传感器,每个方位传感器感测关节中的相应一个的配置。该方位信息被馈送到控制系统。
5.控制系统的已知策略如下:
6.1.接收指示末端执行器的期望方位的信息。
7.2.确定将导致末端执行器处于该方位的机器人关节的目标配置的集合。这被称为逆运动学。
8.3.接收指示机器人中的每个关节的当前配置的信息,将那些当前配置与目标配置进行比较,并且计算在每个关节处所需的一组扭矩或力,以便减小相应关节的当前方位与目标方位之间的误差。
9.4.将驱动信号发送至机器人中的致动器,以便在相应关节处施加那些扭矩或力。
10.重复执行这一系列步骤,使得随着时间的推移,机器人的运动符合目标配置。
11.这种方法存在问题,是因为通常认为逆运动学问题难以解决。其原因之一是操纵器的某些姿态可能变得单一,这意味着不可能以有限的关节速度在所有方向上进行末端执行器的后续移动。另一个原因是,在从末端执行器的一个方位移动到另一个方位时,操纵器可以试图通过不期望的配置来移动,例如,因为它将导致与操纵器的工作空间内的另一操纵器或物体发生碰撞。
12.需要一种用于机械系统(例如机器人操纵器)的改进的控制系统。


技术实现要素:

13.提供此发明内容以介绍下文在具体实施方式中进一步描述的构思的选择。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
14.根据本发明的一个方面,提供了一种机器人系统,其包括:
15.机器人,所述机器人具有基座和从所述基座延伸到用于器械的附接件的臂,所述臂包括n个关节,其中n》1,由此能够改变所述臂的配置,所述臂具有针对所述基座和用于所述器械的附接件之间的给定关系的多个配置,所述机器人包括用于每个关节的驱动器和用于每个关节的关节传感器,所述驱动器被配置成驱动所述关节移动,所述关节传感器用于感测所述关节的状态;以及
16.控制单元,所述控制单元被配置成:
17.获得用于所述器械的所述附接件的期望方位;
18.对于k个关节中的每一个,其中k《n,获得感测的关节状态;
19.将获得的k个感测的关节状态与一组约束标准进行比较,所述一组约束标准指示所述臂从第一配置朝向第二配置移动,其中所述臂的移动在所述第二配置中比在所述第一配置中更受约束;
20.在所获得的k个感测的关节状态与所述一组约束标准匹配的情况下,确定被配置成减慢、停止或逆转所述臂朝向所述第二配置的移动的调节信号的量值;
21.使用用于所述器械的所述附接件的所述期望方位和所获得的k个感测的关节状态来确定所述调节信号的方向;
22.对于所述n个关节中的每一个,获得感测的关节状态;
23.使用用于所述器械的所述附接件的期望方位、所获得的n个感测的关节状态和所述调节信号来确定用于控制所述驱动器的一组控制信号;以及
24.使用所述一组控制信号来驱动所述关节。
25.所述控制单元可以被配置成根据以下中的一个或多个来确定所述调节信号:待附接到所述臂的器械、配置所述臂来执行的过程、从系统遥测收集的使用数据以及一种或多种用于数据分析的算法。所述一组约束标准可以包括由上限阈值和下限阈值界定的值范围,并且所述控制单元可以被配置成确定所述k个感测的关节状态与所述一组约束标准匹配,其中所述k个感测的关节状态包括等于所述上限阈值和所述下限阈值中的一个或另一个的值,或在所述上限阈值与所述下限阈值之间的值。所述控制单元可以被配置成计算来自所述k个感测的关节状态值中的一个与所述上限阈值和所述下限阈值中的一个或另一个之间的差的差值,并且使用所述差值来确定所述调节信号。确定所述调节信号可以包括将增益因子应用于所述差值。所述增益因子可以根据所述臂的特征、待附接到所述臂的器械、所述臂的环境以及使用所述壁来执行的过程中的一个或多个来选择。
26.所述一组约束标准可以包括关于多个关节的由相应上限阈值和相应下限阈值界定的多个值范围,并且所述控制单元可以被配置成确定所述k个感测的关节状态与所述一组约束标准匹配,其中相应感测的关节状态包括等于所述相应上限阈值和所述相应下限阈值中的一个或另一个的值,或在所述相应上限阈值与所述相应下限阈值之间的值。
27.所述调节信号可以被配置成调节所述臂的多个关节。所述第二配置可能由于以下中的一个或多个而相对更受约束:限制围绕关节的运动范围;接近或引起关节奇点;接近关节的关节旋转限值;以及所述臂与人和/或物体的接近。
28.所述控制单元可以被配置成根据用于所述器械的所述附接件的移动对所述调节信号进行选通。所述调节信号可以包括关节速度信号。所述控制单元可以被配置成滤波所述调节信号,并且使用滤波的调节信号来确定所述一组控制信号。所述控制单元可以被配
置成动态地修改所述一组约束标准和/或所述增益因子。
29.关节的状态可以包括所述关节的角度、所述关节的方位、所述关节的速度或速率、所述关节的加速度以及所述关节上或周围的扭矩中的一个或多个。所述控制单元可以被配置成确定调节信号,使得调节信号不会导致在器械的基座与附接件之间的相对移动。所述控制单元可以被配置成根据机器人系统的操作模式来确定所述一组约束标准。
30.所述控制单元可以被配置成使用用于器械的附接件的期望方位和所获得的k个感测的关节状态来确定k个关节的解,并且使用k个关节的解来确定调节信号的方向。所述控制单元可以被配置成通过使用最小二乘法或其变型以及确定位于零空间内的k个关节的最小范数解来确定k个关节的解。
31.根据本发明的另一方面,提供一种控制机器人系统的计算机实施方法,所述机器人系统包括机器人,所述机器人具有基座和从所述基座延伸到用于器械的附接件的臂,所述臂包括n个关节,其中n>1,由此由此能够改变所述臂的配置,所述臂具有针对所述基座和用于所述器械的所述附接件之间的给定关系的多个配置,所述机器人包括用于每个关节的驱动器和用于每个关节的关节传感器,所述驱动器被配置成驱动所述关节移动,所述关节传感器用于感测所述关节的状态;所述方法包括:
32.获得用于所述器械的所述附接件的期望方位;
33.对于k个关节中的每一个,其中k《n,获得感测的关节状态;
34.将获得的k个感测的关节状态与一组约束标准进行比较,所述一组约束标准指示所述臂从第一配置朝向第二配置移动,其中所述臂的移动在所述第二配置中比在所述第一配置中更受约束;
35.在所获得的k个感测的关节状态与所述一组约束标准匹配的情况下,确定被配置成减慢、停止或逆转所述臂朝向所述第二配置的移动的调节信号的量值;
36.使用用于所述器械的所述附接件的所述期望方位和所获得的k个感测的关节状态来确定所述调节信号的方向;
37.对于所述n个关节中的每一个,获得感测的关节状态;
38.使用用于所述器械的所述附接件的期望方位、所获得的n个感测的关节状态和所述调节信号来确定用于控制所述驱动器的一组控制信号;以及
39.使用所述一组控制信号来驱动所述关节。
40.所述方法可以包括根据以下中的一个或多个来确定所述调节信号:待附接到所述臂的器械、配置所述臂来执行的过程、从系统遥测收集的使用数据以及一种或多种用于数据分析的算法。所述一组约束标准可以包括由上限阈值和下限阈值界定的值范围,并且所述方法可以包括确定k个感测的关节状态与所述一组约束标准匹配,其中k个感测的关节状态包括等于所述上限阈值和所述下限阈值中的一个或另一个的值,或在所述上限阈值与所述下限阈值之间的值。所述方法可以包括计算来自所述k个感测的关节状态值中的一个与所述上限阈值和所述下限阈值中的一个或另一个之间的差的差值,并且使用所述差值来确定所述调节信号。
41.根据本发明的另一方面,提供了一种用于机器人系统的控制单元,所述控制单元被配置成执行如本文所述的方法。
42.根据本发明的另一方面,提供了一种机器人系统,所述机器人系统包括:机器人,
所述机器人具有基座以及从所述基座延伸到用于器械的附接件的臂;以及控制单元,所述控制单元被配置成通过如本文所述的方法来控制所述臂。
43.根据本发明的另一个方面,提供了一种非暂时性计算机可读存储介质,其上存储有计算机可读指令,所述计算机可读指令在计算机系统上执行时,使所述计算机系统执行如本文所述的方法。
44.本文所述的任何方面的任何特征可与本文所述的任何方面的任何其他特征组合。任何装置特征都可以被重写为方法特征,反之亦然。仅仅为了简洁起见,这些没有被完全地写出。
附图说明
45.现在将参考附图以举例的方式描述本发明。
46.在附图中:
47.图1示出了典型的外科机器人;
48.图2示出了用于机器人臂的控制系统的示意图;
49.图3示出了另一种外科机器人;
50.图4示出了示出肘零空间的机器人臂的示意图;
51.图5示出了用于实施与控制肘关节有关的控制系统的方法的状态图;以及
52.图6示出了控制机器人系统的方法。
具体实施方式
53.以下描述以举例的方式呈现,以使本领域技术人员能够制造和使用本发明。本发明不限于本文所述的实施例,并且对所公开的实施例的各种修改对于本领域技术人员将是显而易见的。实施例仅通过示例的方式来描述。
54.机器人臂可以是运动学上冗余的,或者仅是“冗余的”,因为臂的关节具有多种配置,这导致臂的基座与位于远离臂的基座的臂端部处的用于器械的附接件之间具有相同空间关系。冗余臂能够执行给定任务,并以多于一种可能的臂配置或“姿态”将器械或内窥镜(附接到臂)移动(包括定向)到期望方位。
55.这种冗余可在臂的配置中提供灵活性,但是也会导致以下问题:一些臂配置可能比其他配置更不理想。这可能是因为臂在一种配置中比在另一种配置中更可能与工作空间中的另一个物体或人碰撞。配置可能是不期望的,因为其限制例如关节或末端执行器的后续移动。例如,可以通过给定关节到达末端执行器的特定方位,该给定关节完全在其操作范围内,或者接近其操作范围的限值。后一种配置更不理想,因为给定关节可能在后续移动中达到其操作限值,从而潜在地限制末端执行器的移动或导致为了补偿受限制的移动而在其他关节处引起不期望的高关节速度。关节限值用作对关节移动的约束,并因此用作对臂的约束。臂移动约束的另一示例是当用户手动地与臂(或臂的一部分)接合时或当臂的一部分与其周围环境碰撞时施加的接触力。
56.在本发明技术中,代替等待机器人臂达到不期望的配置,当机器人臂朝向所述不期望的配置移动时,可以通过控制系统采取动作。。因此,避免臂以不期望的配置结束的动作可以逐渐地采取,并且不需要导致否则可能发生的臂的大的移动或高的加速度。
57.如下文将进一步解释的那样,这样做的一个方法是将范围设定到关节角的一侧或两侧。范围的特定关节角和大小可根据需要选择,例如基于以下中的一个或多个:正在使用的臂的特性、待附接到臂的器械、臂的环境、使用所述壁来执行的过程、从系统遥测收集的使用数据,以及一种或多种用于数据分析的算法。如果关节角不在指定的范围内,则无需执行任何操作。臂的控制可以以常规方式进行。一旦关节角超过阈值,即,关节角移动到指定范围内,朝向要避免的关节角或朝向该关节的旋转限值,就可以开始采取动作。例如,臂的其他部分可以被移动,以便使关节角远离要避免的关节角移动。所采取的动作适当地取决于关节角在该范围内的位置。当关节角更接近要避免的角度时,可以采取更大的校正动作。注意,可以在关节角在指定范围内,即关节角是静态的情况下采取动作。本方法在确定静态关节角(诸如可能在臂状态的“快照(snapshot)”中发生)的情况下以及在例如通过将关节角与先前关节角进行比较来确定关节角的变化的情况下是有用的。
58.在一些情况下,关节角而不是单个关节角的组合可以导致不期望的臂配置。例如,关节角的一些组合将导致臂奇点,如下文将进一步论述。奇点可以说是在机器人的雅可比矩阵失秩(即行列式为零)的情况下发生的。当多个关节轴对准时,可能会发生这种情况。
59.一个或多个单独关节的角度和一个或多个关节组的角度的组合可被视为表示对臂配置的约束。也就是说,臂控制器可以被约束以限制臂朝向此类不期望的配置移动。围绕角度的角度和/或范围以及围绕角度的组合和/或围绕角度的组合可以表示约束臂移动的限制标准。
60.本文所述的技术可用于基于对机器人臂的运动或定位的一个或多个约束优化机器人臂的姿态或配置。在存在多个约束的情况下,它们可能相互竞争。可能无法同时完全满足所有限制。如下文进一步解释的,在平衡其对臂控制的影响时,可以考虑不同约束的相对重要性。可以添加和/或修改约束,例如,在机器人正在操作时动态地添加和/或修改约束。
61.图1示出了用于执行腹腔镜手术的典型外科机器人100,其包括基座108、臂102和器械105。基座支撑机器人,并且其自身刚性地附接到例如手术室地板、手术室天花板、手推车或病床。臂在基座与器械之间延伸。臂通过多个柔性关节103沿其长度铰接,这些柔性关节用于将外科器械相对于患者定位在期望位置(其可以包括取向)。外科器械附接到机器人臂的远侧端部104。手术器械在端口107处穿过患者101的身体,以便进入手术部位。在其远侧端部处,所述器械包括用于在医疗手术中接合的末端执行器106。
62.典型的机器人臂将包括用于每个关节的驱动器,该驱动器被配置成驱动关节移动。典型的机器人臂将包括用于每个关节的关节传感器,该关节传感器被配置成感测关节的状态。
63.当器械在患者腹部内部时,以及在器械插入和缩回期间,必须能够操作臂。在这些时候,臂被限制以保持器械轴定位通过提供到手术部位的通路的端口的方式移动。这种约束会减少臂的自由度的有效数量。对臂的运动和/或配置的限制包括避免接近或达到奇点的配置(其中机器人臂的移动自由度的数目减小)或关节限值。臂接触或接近工作区中的人或物体,例如手术室职员和手术室设备的配置也是不期望的。因此,由于对臂的移动和/或定位的这些约束,存在臂的一些优选配置。优选配置至少部分地满足对臂配置的约束。多个臂之间的潜在碰撞也可以被视为约束。这种约束可以是“共享的”,即它可以限制多个臂的移动,或者它可以是“单个的”约束,即它可以限制一个臂的移动,同时不限制另一个臂的移
动。因此,响应于诸如多个臂之间的潜在碰撞的限制,可以移动一个臂或可以协作地移动多个臂。
64.约束的特征可以是一组约束标准,其可以包括关于关节状态的给定值的值范围。关节状态可包括关节角、关节位置、关节速度或速率、关节加速度以及关节上或周围的扭矩中的一个或多个。以旋转限值为 90
°
的关节为例,可以指定10
°
的范围,在该范围内可以确定满足约束条件,并且应进行调节。在该示例中,由于 90
°
是关节限值,因此满足约束条件的角度范围是80
°
《α≤90
°
(或80
°
≤α≤90
°
)。在关节操作范围的另一端,其中关节限值为-270
°
,范围应为-270
°
≤α《-260
°
(或-270
°
≤α≤-260
°
)。
65.约束可以由反馈环路在控制系统中表示。关节的当前状态(此处为关节角)可以被确定并与关节角范围的阈值进行比较,所述阈值指示满足约束条件。在上一段的第一个示例中,阈值为80
°
。可以确定阈值与当前关节角之间的差值。随着关节角朝向关节限值增加,此差值将增加。差值可用于确定对臂配置的调节,以便减小此关节的角度。差值的符号可以指示关节或臂的一部分可以移动以减小该关节的角度的期望方向。可以通过控制一个或多个其他关节以移动来实现对臂配置的调节,使得末端执行器可以根据需要定位或移动,同时减小(或至少不进一步增大)此关节的关节角。
66.可以通过一组控制信号控制臂的关节,所述控制信号控制这些关节中的每一个的驱动器。
67.将参考图2描述控制系统的特征,其示出用于实现机器人臂的控制的反馈环的示意性表示。图2中表示的模块可以设置在控制单元中,用于控制机器人臂。系统202表示待优化的系统,即机器人臂。所述系统表示臂的物理状态,例如限定臂的配置的一组关节角。该组关节角可以通过正向运动学计算表达。
68.检测器204被配置成从系统202接收输入206。输入可包括臂的状态,包括臂中的每个关节的状态和/或源自臂状态的参数。检测器还可以访问阈值208。阈值208表示给定关节状态值,例如关节角的预定值范围的阈值。例如,输入可以包括用于关节群的特定关节或角度的腕部弯曲角。阈值可以是该特定关节的预定关节弯曲角的一侧或另一侧或两侧的阈值。检测器204被配置成确定感测的关节角(即,从系统模块202接收的关节状态值)是否在指定范围内。在感测的关节状态值在指定范围内的情况下,检测器可以确定满足约束条件。
69.在所示示例中,检测器204被配置成确定感测的关节状态值(来自当前或先前任何迭代)与该关节状态的阈值之间的差值。差值可以表示为
70.difference_value=max(0,(joint_state_value

threshold_value))
71.因此,当关节角超出指定范围时,difference_value将返回"0",这意味着不需要调节臂控制。继续上述示例,在关节角为70
°
并且阈值关节角为80
°
的情况下,将按照下式计算difference_value
72.difference_value=max(0,(70-80))=0
73.还可以使用矩阵作为输入。在这种情况下,矩阵元素的最大值可用于进一步计算。
74.如果关节角在指定范围内,difference_value将返回正值,这意味着应调节臂控制。再次,继续上述示例,在关节角是82
°
的情况下,将按照下式计算difference_value
75.difference_value=max(0(82

80))=2
76.确定difference_value的其他方式将显而易见,例如,其中指定范围是关节状态
的预定值的任一侧的范围,或阈值是负数。
77.difference_value 210被传递到调节器模块212。调节器212确定对臂的配置作出的调节,以便减小difference_value,即使臂背离不期望的配置。调节可以采用关节速度的形式。调节是正或负标量值,以使关节在旋转轴的一个方向或另一个方向移动。例如,调节可以是表示关节速度的经签名的标量值。
78.difference_value 210是关节状态达到预定关节状态的程度的定量指示。更一般地,difference_value是臂配置达到不期望的配置的程度的定量度量。随着difference_value增加,它指示越来越不期望的系统状态。调节器可被配置成确定与计算出的difference_value的调节比例。以此方式,随着臂配置更接近不期望的状态,difference_value增加,并且调节相应地增加。
79.所确定的调节不需要与difference_value成比例,但可以随着difference_value非线性地变化。例如,当接近不期望的预定关节状态时,调节可以以比差值快的速率增加。调节器可以被配置成基于difference_value以算法确定调节。调节器基于difference_value确定调节的方式可以根据以下中的一个或多个:正在使用的臂的特性、待附接到臂的器械、臂的环境、使用所述壁来执行的过程、从系统遥测收集的使用数据,以及一种或多种用于数据分析的算法。因此,调节的确定可适合于臂的使用。
80.调节器能够控制指定约束对系统操作的影响。调节器212可以将控制参数214作为输入。控制参数可以是预先设定的,或者可以在机器人的操作期间动态地设置。控制参数可以由机器人系统的操作者设置。控制参数可以是调节器可访问的一组控制参数中的一个。控制参数可包括增益参数。
81.在简单的情况下,参数可以设置为"1"或"0",并且与和约束相关联的difference_value相乘。这允许基于约束启用或禁用调节。
82.由调节器应用的控制参数可以根据以下中的一个或多个来选择:正在使用的臂的特性、待附接到臂的器械、臂的环境、使用所述壁来执行的过程、从系统遥测收集的使用数据,以及一种或多种用于数据分析的算法。例如,调节器可以基于附接到臂的器械类型、由臂执行的程序、工作空间中多个臂的布置等来使用不同的控制参数。
83.调节器212可以从系统202接收状态信号216。状态信号适当地表示机器人臂的状态。调节器可以根据状态信号确定调节。状态信号可以指示臂是静态的还是移动的(以及臂的关节在哪个方向上移动),以及末端执行器是否在使用中。控制系统可以被配置成以便在诸如使用末端执行器的某些情况下不实现臂的调节。这可以降低臂的无意移动可能影响末端执行器的操作的风险。控制系统可以这样做的一种方式是确定例如腕部关节的臂的特定关节何时移动,并且仅在该关节的移动期间实现调节。如在本文中其他地方进一步描述的,这样做的一种方法是基于如由臂的状态指示的关节的连续位置来确定关节的速度。
84.调节器212基于待进行的调节输出调节信号218。调节信号可以采用特定关节的经标记标量旋转速度的形式,或者它可以采用关节方位改变的形式。可选地,调节信号可以经由滤波器220传递到系统模块202。滤波器可以是环路滤波器。滤波器适当地滤波调节信号以平滑调节信号。这种滤波可以使调节移动在臂的机械装置和/或臂的操作者上更可接受。
85.滤波器220将平滑的调节信号222输出到系统202。所述系统使用平滑的调节信号来确定控制信号以实现臂的关节的移动。平滑的调节信号可用于确定特定关节围绕该关节
的零空间的期望移动。所述系统使用平滑的调节信号将臂朝向更期望的配置移动,或至少限制臂朝向不太期望的配置移动。
86.在存在多个约束的情况下,检测器可以确定对应的多个difference_value。例如,检测器可以确定对于已为其设定预定关节状态的每个关节的difference_value,以及对于已为其设定预定关节状态的每组关节。因此,检测器可以确定i约束的一组值(difference_valuei)。
87.调节器可以被配置成根据多个difference_value来确定调节信号。例如,调节信号可以是包括矢量分量的矢量,每个矢量分量表示关于约束和/或关于特定关节要进行的调节。当存在不同约束时,每个约束可以产生不同的调节,即表示不同关节速度的不同标量值。这些调节可以加在一起以获得总体调节。例如,给定关节的调节可以一起添加。滤波器可以例如通过矢量添加来组合不同的调节信号。调节器可以被配置成控制每个约束的相对重要性或每个约束对用于调节臂配置的调节信号的相对影响。调节器可以通过将difference_value中的每一个乘以相应的参数来实现这一点。控制参数可包括一组此类相应参数。
88.因此,在存在多个约束的情况下,参数可用于加权与每个约束相关联的difference_value。例如,当参数βi第i个约束关联时,总体difference_value可被确定为
[0089][0090]
其中βi项总和为1(尽管在所有示例中它们不需要总和为1)。
[0091]
difference_value中的每一个的计算可以并行进行。这可以减少应用调节的任何延迟,否则这些调节可能被引入系统控制中。
[0092]
当系统正在使用时,可以适当地调节参数βi,以便“促进”或“消除”机器人操作期间给定约束的相对重要性。由调节器应用的控制参数(参数集合βi)可以根据以下中的一个或多个来选择:正在使用的臂的特性、待附接到臂的器械、臂的环境、使用所述壁来执行的过程、从系统遥测收集的使用数据,以及一种或多种用于数据分析的算法。因此,所述系统可以实现各种竞争约束的自动调节。这可在使用臂时完成。例如,调节器可以基于附接到臂的器械类型、由臂执行的程序、工作空间中多个臂的布置等来使用不同的控制参数。
[0093]
调节信号矢量的矢量分量可以彼此相加以形成总体调节信号。应理解,不同的约束可导致对相同关节的调节,并且此类调节可彼此相反。即,一个约束可以使控制系统尝试并且以正角度调节关节,并且另一个约束可以使控制系统试图并且以负角度调节该关节。因此,这些制约将被认为彼此竞争。在简单添加中,导致该关节的较大调节的约束将"获胜",即关节将倾向于在较大调节的方向上移动。为了解决这个问题,控制参数可以用来影响每个约束的相对重要性。因此,将引起相对较小的关节旋转的更重要约束仍可以主导将引起相对较大的关节旋转的不太重要的约束。这样,臂的行为可以根据需要控制。控制参数(或在多个约束的情况下,可使用一组单独的参数)以确保臂在不同情况下如预期或根据需要表现。这在手术环境中尤其重要,其中出于安全和调节等原因,外科机器人臂需要以高度确定性的行为。
[0094]
现在将关于机器人臂的特定布置进一步描述本技术。图3示出了具有从基座301延
伸的臂300的外科机器人。该臂包括多个刚性肢体302。肢体通过转动关节303联接。最近侧的肢体302a通过近侧关节303a联接到基座。它和其他肢体通过另外的关节303串联联接。适当地,腕部304由四个单独的转动关节组成。腕部304将臂的一个肢体(302b)联接到最远侧肢体(302c)。最远侧肢体302c承载手术器械306的附接件305。臂的每个关节303具有一个或多个电机307,所述电机可以被操作以在相应的关节处引起旋转运动,以及一个或多个方位和/或扭矩传感器308,所述方位和/或扭矩传感器提供关于该关节处的当前配置和/负荷的信息。适当地,电机被布置在它们驱动其运动的关节的近侧,以便改善重量分布。为了清楚起见,在图3中仅示出了一些电机和传感器。臂一般可以如我们共同未决的专利申请pct/gb2014/053523中所述。
[0095]
用于马达、扭矩传感器和编码器的控制器分布在机器人臂内。控制器经由通信总线连接到控制单元309。控制单元309包括处理器310和存储器311。存储器311以非暂态方式存储软件,软件可由处理器执行,以控制电机307的操作以使臂300以本文所述的方式操作。具体而言,软件可以控制处理器310以使电机(例如经由分布式控制器)根据来自传感器308的输入以及来自外科医生命令接口312的输入进行驱动。控制单元309联接到电机307,以根据由软件的执行所产生的输出来驱动它们。控制单元309联接到传感器308以接收来自传感器的感测输入,并且联接到命令接口312以从其接收输入。例如,相应的联接可以各自是电缆或光缆,和/或可以通过无线连接来提供。命令接口312包括一个或多个输入装置,由此用户可以期望的方式请求末端执行器的运动。输入装置例如可以是可手动操作的机械输入装置,诸如控制手柄或操纵杆,或非接触式输入装置,诸如光学手势传感器。存储在存储器311中的软件被配置为根据预定的控制策略对这些输入作出响应,并且使臂的关节和器械相应地移动。控制策略可以包括安全特征,其响应于命令输入而调节臂和器械的运动。因此,总的来说,命令接口312处的外科医生可以控制器械306移动以执行期望的手术程序。控制单元309和/或命令接口312可以远离臂300。
[0096]
所图示的外科机器人包括单个机器人臂。其它外科机器人系统可以包括多个外科机器人和/或多个机器人臂。例如,其它示例外科机器人系统可以包括具有多个机器人臂的外科机器人,所述多个机器人臂各自可以接收和操纵外科器械,或者它们可以包括多个外科机器人,所述多个外科机器人各自具有可以接收和操纵外科器械的机器人臂。
[0097]
为了便于参考,图3所示的臂的关节可以标记为j1(303a)、j2(303b)、j3(303c)、j4(303d)、j5(303e)、j6(303f)、j7(303g)和j8(303h)。关节j4可被认为是所示臂的“肘”。该臂装置的运动学允许肘关节在已知的和可变的“零空间”内移动,同时将联接到用于器械的附接件的臂的腕部(在所示示例中的关节j6和j7)保持在期望方位,如命令接口所命令的。。应用于调节臂的移动和/或方位的约束可以帮助确保肘在该零空间内的最佳方位,以便在用户指定的操作模式内执行任何给定任务。
[0098]
图4中示出了臂的示意图,示出了图3中所示的臂的j4关节的零空间轨迹。臂总体上以400表示。该图中简化了臂的表示。如图所示,臂包括在前两个关节(j1/j2,臂的基座)与第四关节(j4,臂肘)之间延伸的第一区段402。臂包括在第四关节(j4)与第六和第七关节(j6/j7,臂腕部)之间延伸的第二区段404。器械406在腕部远侧延伸并穿过患者躯干408。器械轴穿过患者躯干通过虚拟枢轴点(vpp)410处的端口。虚拟枢轴点可以定义为沿着器械轴距机器人臂的端部的距离,器械可以围绕机器人臂枢转。器械412的顶端延伸到工作容积
414中。肘(j4)零空间的轨迹示意性地以虚线416示出。关节j3、j5和j8在此未明确示出。可以通过所有关节的协调移动来实现肘沿着其移动轨迹的移动。
[0099]
在臂的此设置中,可以有效地施加多个约束。本文给出此类约束的一些示例。应理解,代替本文的任何一个或多个示例或结合本文的任何一个或多个示例,可以应用其他约束。此处描述的示例约束中的两个应用于枢轴关节j2的移动以限制所述关节朝向某一角位置的移动,但此类约束可有益地应用于臂的任何其他关节或关节的组合。
[0100]
腕部弯曲
[0101]
jj5-j6/j7链节和j6/j7-vpp-顶端矢量之间的大腕部弯曲角,通常是不期望的,因为这会严重限制可使用jj5在j6和j7关节角之间进行的折衷。随着腕部弯曲角增加超过90
°
,腕部弯曲主要由j7维持(其中j6具有非常有限的范围)。减小腕部弯曲角度的简单方法是在减小该角度的方向上移动肘(j4)。好的解决方案是当j4尽可能接近投影的器械轴矢量时:在该方位,平面上排列的所有关节都被全局地最小化。
[0102]
可以确定约束条件存在的阈值可以设置为90
°
。因此,当腕部弯曲角超过90
°
时,控制系统可以确定正差_值,其可用于实现臂配置的调节。可以通过腕部弯曲控制参数来修改对应的调节信号,该腕部弯曲控制参数可以表示施加到腕部弯曲角与阈值之间的差的值的增益。这种差异可被视为代表腕部弯曲角度的“误差”,该角度要减小。
[0103]
桶形奇点
[0104]
当腕部与j2的投影轴对准时,可以认为存在“桶形”奇点。这种奇点的结果是防止j2能够在空间上移动腕部。相反,j2关节的旋转将使腕部围绕j2轴旋转。在这个位置上,严格来说只有两度自由。这种情况类似于极坐标,因为j1(或j3)可以“旋转”腕部,并且j4可以径向地移动腕部。z方向上的移动受到限制。此处,z方向参考臂基座参考系,并且可被视为“向上”方向,其中臂基座安装在地板上。
[0105]
如果腕部太接近桶形奇点,则可能升高失败状态。这可以基于腕部到j2轴距离(例如,腕部与j2轴之间的最短距离)来评估。如果腕部位于围绕jj2轴限定的虚拟圆筒内,也可以试图移动肘(j4)以使腕部远离j2轴。
[0106]
本示例中指定的关节角是使腕部与j2轴对准的角度。围绕这些指定关节角的范围的阈值可以限定围绕j2轴定义的圆筒“排除区”的限值。概念上,阈值可以限定圆筒的半径。
[0107]
因此,当腕部移动到虚拟限定的圆筒中时,控制系统将确定正差_值,其接着可用于实现臂的调节。调节信号可以由桶形控制参数修改,所述参数可以表示施加到量化腕部在圆筒内穿过多远的值的增益,即,腕部已超过阈值多远。该值可被视为表示该臂配置的关节角中的"误差",所述"误差"要减小。
[0108]
还可以在圆筒内限定体积,该体积被视为用于腕部移动的硬边界。例如,可以围绕投影的j2轴限定较小的圆筒。这可被视为腕部的“不能通过(no-go)”区。当臂配置导致腕部到达(或越过)此较小圆筒的边界的情况下,可能出现故障状况。故障状况可以限制或防止违反此约束的臂的进一步移动。仍可能移动臂,以便从这个较小(“不能通过”圆筒的边界内移除腕部。替代地,故障状况可能需要操作者的干预,以便程序能够继续。
[0109]
一般来说,定义多个边界,如此处的桶形奇点示例中,可用于改变一个或多个标准。这可以通过修改越过另一边界的加权函数来实现。此方法不限于奇点,但可用于响应各种约束,例如单个关节角:当第一阈值被越过(例如,从关节限值15
°
)时可使用一个加权函
数,并且当第二阈值被越过(例如,从关节限值5
°
)时可使用另一个加权函数。
[0110]
j2角度过小
[0111]
当j2=0
°
时(即,当在j1/j2关节与j4关节之间延伸的臂段是竖直的时),在移动臂时可能出现困难。
[0112]
当j2=0
°
时,腕部和肘雅可比矩阵具有接近零值的奇异值(在奇异值分解之后)。这会影响命令接口所要求的笛卡尔方位与实现方位改变的关节角所需的改变之间的关系。所要求笛卡尔方位与关节角变化之间的最坏情况关系由奇点值的倒数确定。因此,对于小移动,接近零的单一值将产生不期望的高关节速度。
[0113]
这种情况的物理效应是系统操作者必须“扭转”j3-j4链节以使其顺从地移动,而不是沿着肘轴施加力。
[0114]
当j2=0
°
且j3=90
°
时,会发生另一个不期望的效应:腕部只有2度自由度,使得它不能非常容易地在3维中移动。
[0115]
可以确定约束条件存在的阈值可以设置为小(正或负)值的j2关节角值,例如
±5°
。因此,可确定约束条件存在的j2关节角的范围是10
°
;该范围的中心为约0
°
。当j2关节角进入该范围时,控制系统可以确定可用于实现臂配置的调节的difference_value。可以通过“j2小控制参数”来修改调节信号,所述“j2小控制参数”可以表示应用于量化j2关节角在指定范围内多远的值的增益。该值可被视为表示要减小的j2关节角中的“误差”。
[0116]
j2角度过大
[0117]
在图3所示的臂布置中,j2的范围是-90
°
至 135
°
。优选的是限制j2关节旋转以便太接近限值。这是因为接近限值会降低臂适应后续移动的能力。如果肘(j4)轨迹超出可以通过围绕j2旋转支撑的范围,则腕部弯曲最小化可能潜在地迫使关节j2朝向其旋转限值。
[0118]
可通过引入校正相反力来减少此潜在问题的发生。简单形式是定义与限制间隔开的阈值,所述阈值如果交叉,则引起校正性肘移动。校正肘移动可以与量化超过j2关节角的阈值多远的值成比例。
[0119]
可以确定约束条件存在的阈值可以设定为j2=-75
°
且j2= 120
°
(即,可以确定约束条件的指定j2关节角范围是:
[0120]
(i)-90
°
≦j2_angle≦-75
°
(或-90
°
≦j2_angle<-75
°
)且
[0121]
(ii)120
°
≦j2_angle≦135
°
(或120
°
≦j2_angle<135
°
)。
[0122]
在此示例中,角度范围在j2关节角的两个限制下相同,但不必如此。范围中的一个可以小于另一个。可以使用角度范围的其他值。
[0123]
当j2关节角例如为(i)小于-75
°
或(ii)大于120
°
时,控制系统可以确定difference_value,其可用于实现臂配置的调节。可以通过“j2控制参数”来修改对应的调节信号,所述“j2控制参数”可以表示应用于j2关节角与相关阈值之间的差的值的增益。此差异可被视为表示要减小的j2关节角中的“误差”。
[0124]
注意,在上文的第二示例中(“j2角度过小”),其中j2=0
°
是不期望的。然而,j2关节在机器人的操作期间仍然有可能旋转通过该角度。这是不将约束视为“硬”约束的示例,因为j2应该可以等于0
°
。然而,一旦至少部分满足其他约束,臂就可能期望移动远离其中j2等于0
°
的配置。在其他约束之前满足(一个或多个)约束的选择可通过使用适当的控制参数来控制,如本文其他地方所论述。
[0125]
在机器人的操作期间,调节信号可以试图以与由对系统的操作者命令输入产生的不同方式移动臂,例如,末端执行器的所要移动。期望操作者的命令对臂移动具有更高的优先级。现在将描述臂调节命令与操作者导出的腕部移动命令的集成。
[0126]
由本文所述的控制系统确定的调节信号可以用可以从与臂相关联的速度导出的“软”选通增益来修改。适当地,选通增益源自臂腕部的速度,这可被称为腕部速度增益。此类选通的使用可以帮助协调臂的关节,例如肘关节和腕关节之间的移动。选通可用于赋予由操作者控制命令的腕部移动比肘移动更高的优先级。调节信号可与此腕部速度增益相乘。
[0127]
在调节信号与腕部速度增益乘法之后,可以滤波结果以限制焦弯移动。然后,这种乘积可以叠加在顺应性诱导的肘力上,从而产生“合成力”,该“合成力”被馈送到肘零空间逆运动学算法中,以使关节位置以小增量进行更新。由“合成力”引起的臂配置变化可被布置成保持腕部静止。例如,“合成力”可以被布置成不影响由控制臂的操作者命令的末端执行器移动。
[0128]
此过程在图5中突出显示,示出了用于实施与控制肘关节有关的控制系统的方法的状态图(但是,如本文其他地方所论述,可以使用所描述的技术实现其他关节的控制和/或关节的组合)。与机器人臂的状态有关的输入参数502和对应于一个或多个约束条件的阈值由肘管理器504接收。肘管理器可以大体上对应于图2中所示的检测器204和调节器212模块。肘管理器被配置成输出调节信号506以响应于约束而控制肘的调节。
[0129]
调节信号506被馈送到夹持模块508,其确保响应于调节信号生成的移动命令不超过最大肘移动步长大小。最大步长可以是预设的,或者是动态设定的。如图所示,夹持模块接收包括最大肘部运动步长(maxelbowstep)的肘部运动参数510。当调节信号指示肘应当移动不超过
±
最大回转步的量时,调节信号传递到夹持模块的输出512。当调节信号指示肘应移动超过正(或负)最大弯步的量时,则调节信号被修改以限制对正(或负)最大弯步的调节,即对肘方位的调节在相应的最大弯步限制下夹持。在514处示意性地示出此夹持。这避免了系统试图实现可能导致高关节速度的不期望的大移动。
[0130]
因此,输出512表示调节信号或调节信号的夹持形式。此信号被传递到乘法器,所述乘法器利用源自腕部速度的选通增益516来乘信号。可以确定腕部速度的方式不同,包括从机器人控制系统的运动学获得腕部速度的量度。图5中所示的方法使得能够在相对较低的处理力下快速且容易地获得腕部速度的估计。在实践中,这种估计可能足够好,可以用作选通增益。在需要更准确的速度的情况下,可以不同的方式获得腕部速度。
[0131]
基于对腕部移动的欧几里德距离的滤波来获得腕部速度的估计。这是通过比较连续帧处的命令位置518p
wanted
来实现的。这通过通过延迟模块520来引入一个帧延迟,然后从后续帧的方位减去延迟方位来完成。该减法的结果(连续帧之间以米为单位的位置变化)由以hz为单位的帧速率f
frame
522来缩放(以获得以米/秒为单位的腕部速度)。这提供了瞬时腕部速度,但这可能是带噪声的。然后,例如利用一阶低通滤波器524对腕部速度进行滤波以降低噪声。滤波器524将系数wristspeedalpha 526作为输入,该系数是根据期望的滤波器时间常数t1(秒)和f
frame
确定的。使用默认值t1=0.1s,但是这可以根据需要改变。滤波系数定义为
[0132][0133]
在数学上,腕部速度的滤波可以是
[0134]
y(j)=y(j-1)*(wristspeedalpha) x(j)*(1

wristspeedalpha)
[0135]
其中y()是滤波的腕部速度,x()是未滤波的腕部速度,j指示当前帧且(j-1)指示前一帧。
[0136]
经滤波的腕部速度接着传递到斜坡变换模块528,其影响经滤波的腕部速度的“软选通”。斜坡变换模块将以下两个参数作为输入:lowristspeed4elbow(确定软选通的增益为零)和hiwristspeed4elbow(确定软选通的增益为1)。因此,斜坡变换模块使得能够控制选通随腕部速度而变。
[0137]
在数学上,斜坡变换可以
[0138]
如果ws<lowristspeed4elbow
[0139]
ramp_transform(ws)=0
[0140]
如果lowristspeed4elbow≦ws≦hiwristspeed4elbow
[0141]
ramp_transform(ws)=(ws

lowristspeed4elbow)/
[0142]
(hiwristspeed4elbow

lowristspeed4elbow)
[0143]
如果hiwristspeed4elbow<ws
[0144]
ramp_transform(ws)=1
[0145]
其中ws是经滤波的腕部速度。
[0146]
参数默认值为lowristspeed4elbow=0.01m/s和hiwristspeed4elbow=0.3m/s。当腕部速度降至0.01m/s或以下时,零的选通增益516被施加到调节信号512,这意味着不施加肘部的调节。这确保当腕部停止肘时也停止。当腕部速度达到或超过0.3m/s时,将选通增益516的1施加到调节信号512,意味着应用由夹持模块508输出的完全调节。在这些值之间的腕部速度下,可以应用介于1与零之间的增益。如530处所示,增益在零与1之间线性增加,但增益值的其他变化也是可能的。
[0147]
在532处,选通增益516与(夹持的)调节信号512相乘,并且结果传递到另一个滤波器,例如一阶低通滤波器534。此滤波器充当环形滤波器以滤波调节信号以防止不期望的焦肘移动。其可被视为等同于质量和阻尼器阻抗模型(速度域中的一阶无限脉冲响应滤波器),但以时间常数t2(具有t2=0.1s的默认值)来参数化滤波器是合理的。滤波器534将系数adjustmentspeedalpha 536作为输入,该系数是根据期望的滤波器时间常数t2(秒)和f
frame
确定的。使用默认值t2=0.1s,但是这可以根据需要改变。滤波系数定义为
[0148][0149]
从滤波器534输出的调节信号538与来自臂驱动处理系统540的输出组合。臂驱动处理540可以在一个或多个关节处或围绕一个或多个关节、一个或多个关节的关节角、机器人臂的雅可比行列式等处将扭矩作为输入扭矩。来自臂驱动处理的输出表示“物理”调节信号542,其用于响应于基于合规的输入而实现臂的控制。此类基于顺应性的输入可包括操作者导出的输入,其中操作者可与机器人臂物理地交互以实现臂的驱动移动。例如,操作者可以推动臂的一部分;臂感测操作者用其推动臂的力,并且作为响应,驱动臂的电机以实现在
操作者推动臂的方向上在臂的该部分上的移动。基于顺应性的输入还可包括与臂的重量有关的输入(例如,一个或多个关节处的扭矩)、影响臂的振动、患者移动等。臂驱动处理540适当地包括肘顺应性处理。
[0150]
将调节信号538添加到物理调节信号542以产生“总调节信号”544。总调节信号被传递到逆运动学算法(其可以在同一模块或处理器中,或在单独的模块或处理器处提供),所述逆运动学算法被配置成确定用于控制机器人臂的驱动信号。例如,总调节信号被传递到逆运动学零空间算法。以此方式,肘管理器导出的移动可以与合规诱导的移动叠加,并且用于确定机器人驱动信号。叠加的可能效应是,在主动腕部移动期间,例如在手术模式中,肘管理器导出的移动可以主导顺应性诱导的移动,并且当腕部不移动时,顺应性导出的移动可以主导肘管理器导出的移动。
[0151]
t1和t2中的一个或两个和/或增益值的不同值可以根据以下中的一个或多个来选择:臂的特性、待附接到臂的器械、臂的环境、使用所述壁来执行的过程、从系统遥测收集的使用数据,以及一种或多种用于数据分析的算法。这使得机器人臂的行为能够根据待使用臂的给定情况更精确地控制。
[0152]
上述滤波器可以是任何合适类型的线性低通滤波器。在上述实施方案中虽然是可取的,但例如,在以替代方式确定速度以使得其不太可能包含噪声的情况下,腕部速度滤波是任选的。
[0153]
可以修改预定值和/或关于那些预定值的特定范围,所述预定值限定一个或多个约束。例如,它们可以根据以下中的一个或多个来修改:臂的特性、待附接到臂的器械、臂的环境、使用所述壁来执行的过程、从系统遥测收集的使用数据,以及一种或多种用于数据分析的算法。这允许对臂进行更精细的控制以及约束条件引起臂调节的方式。
[0154]
在对肘管理器的上述论述中,调节信号是标量值,因为肘被约束以跟踪由其零空间界定的圆。需要臂状态来确定肘必须移动以最小化误差的方向(基于归一化的零空间矢量θ
null
,其使臂在肘轴的方向上移动)。在其他示例中,在零空间具有两个或更多个尺寸的情况下,可以采用不同的矢量值参数化。
[0155]
对臂移动和/或定位的限制可以被定量评估。因此,可以分析每个约束或约束组合影响臂控制的方式。此类分析可以告知在程序中使用臂的方式,例如以便减少臂将朝向程序中相对不太期望的配置移动的可能性。此类分析还可以为约束值的修改提供信息。
[0156]
本文的技术使得能够容易地添加、修改和去除约束。约束也可以很容易地组合。由于每个约束的行为可以由独立于其他约束的那些的一个或多个参数表征,因此可以在不需要改变其他约束的参数(行为)的情况下完成约束的此类添加、修改或删除。可以通过api查看和修改限制及其相应参数。
[0157]
此外,每个约束能够单独地测试。此类测试可以“离线”完成,即不需要由臂物理地执行程序。这在医疗机器人领域中尤其合乎需要,其中能够预测和/或验证外科机器人臂的外科医生控制的结果并确保系统是确定的。
[0158]
肘管理器能够方便地将多个约束组合到单个输出中,所述单个输出可以与阈值进行比较,例如在图5中表示为最大光步的阈值。这可以用作遥测数据的一部分,以了解系统性能,从而能够离线优化约束。
[0159]
现在将参考图6描述控制机器人系统的方法。获得机器人臂的一部分的期望方位
(602)。在此获得器械附接件的方位,但这也可以是腕部的方位。应理解,可以从(例如)腕部方位确定器械的附接方位,反之亦然。期望方位可从外科医生控制台处的输入装置命令的方位获得。在下文中,将论述用于器械的附接件的位置,但应理解,臂的其他部分的位置可用于其他示例中。
[0160]
机器人臂包括n个关节。获得k个关节的角度(其中k《n)(604)。更一般地,可以获得k个关节的状态。合适地,k个关节是臂的k个最近侧关节,即j1

jk。在上文讨论的肘管理器的实施方案中,k=4,并且因此获得j1

j4的角度。关节角可以表示为矢量,例如其中k=4
[0161]
q=[q1,q2,q3,q4]
[0162]
如果需要,可以关于剩余的关节将零添加到q。因此,在有8个关节(j1-j8)的情况下,q可以写为
[0163]
q=[q1,q2,q3,q4,0,0,0,0]
[0164]
从臂或从臂控制系统一次获得所有n个关节的角度是方便的。这些角度可以方便地本地存储。然后可以获得k个关节的角度。
[0165]
例如如上所述,使用k关节角来确定调节信号的量值(606)。这可以考虑单个约束标准或多个可能竞争的约束标准。k关节角连同用于器械的附接件的所需方位一起用于生成k关节(608)的雅可比矩阵的近似值,并找到k关节(610)的近似解。雅可比行列式的近似值的生成可包括迭代过程。已发现少量迭代在此提供足够好的解决方案,如所述,解决方案用于确定调节信号的方向。未使用此解决方案生成用于控制臂的驱动信号。已发现2或3次迭代足够。
[0166]
可以确定第一近似。使用近似的雅可比行列式并将用于器械的附接件的当前方位与用于器械的附接件的期望方位之间的距离作为方位误差,使用最小二乘法来到关于关节jk的位于零空间内的j1

jk的最小范数解。作为示例,在k=4(即,所述关节为肘关节)的情况下,所述零空间(肘零空间)可被定义为满足公式(jwrist)
t
·
(θnull)=0(对于固定的腕部,这是零)的4x1向量θnull。沿着零空间的笛卡尔坐标系中的瞬时方向可由归一化形式(jelbow)
t
·
(θnull)=dxyzelbow给出。
[0167]
更稳健的版本可以使用levenberg-marquardt(lm)算法(阻尼最小二乘(dls)方法)。一般来说,使用一种方法来解决欠约束方程,在最小化残差范数的意义上,通过最小二乘方逆给出了良好的解为了避免需要伪逆,在求逆之前使用对角加载。对角加载可以通过由较小值λ加权的单位矩阵来实现。调节参数以最小化成本函数。成本函数的一个示例是与用于器械的附接件的期望方位的距离:norm(p
error
)。取决于成本函数的值,参数λ可以被做得更大(例如,大十倍)或更小(例如,小十倍)。
[0168]
下文呈现了用于实施此示例方法的伪码。
[0169][0170][0171]
用于k关节的近似解可包括一组关节速度。近似解可包括k个关节的每关节的关节速度。对于k个关节的近似解可以指示第k个关节要朝向其移动的空间中的位置。近似解用于确定调节信号(612)的方向。调整信号的方向优选地与第k个关节的零空间的边界相切。调节信号的量值和方向用于确定调节信号(614)。
[0172]
器械(602)的附接件的期望方位和确定的调节信号(614)提供给模块,以用于确定所有n个关节(616)的期望关节角。获得n个关节的角度(即,当前角度)(618)。更一般地,可以获得n个关节的状态。如上所述,一次性从臂或从所有n个关节的臂控制系统角度获得是
方便的。这些角度可以方便地本地存储。然后可以获得n个关节的角度。也就是说,获得k个关节的角度和获得n个关节的角度的方法步骤不必包括单独的测量步骤,尽管它们在某些示例中可能包括它们。优选地,执行单个测量步骤。在步骤604,可以例如从存储所有n个角的存储器提供k个关节的角度。在步骤618,可以例如从存储所有n个角的存储器提供n个关节的角度。
[0173]
存在可以确定n个关节的期望关节角的不同方式。一种方法是确定所有n个关节的雅可比矩阵(例如,在步骤616处)。一旦确定了所有n个关节的雅可比矩阵,就可以计算n个关节的驱动信号(620)。用于n个关节的雅可比矩阵考虑用于器械的附接件的期望方位(其可以基于命令方位或来自外科医生控制台的移动输入)和确定的调节信号(其可以基于定义的约束标准)。
[0174]
确定n个关节的所需关节角的另一种方法是确定k个关节的雅可比矩阵。这可用于确定k关节的期望关节角。可以通过利用分析解和三角测量直接计算(n

k)关节的其余部分的期望关节角。现将描述示例,其中k=4且n=8。获得j1到j4角的解,例如从雅可比行列式获得,以计算j4之后的姿态。这可以定义用于考虑j5与j8的角度的参考系。在此示例中,j5可以是近侧滚动关节,j6可以是俯仰关节,j7可以是偏转关节,并且j8可以是远侧滚动关节。从用于器械的附接件或附接到臂的器械的所需位置/方向,可以确定“扭弯角度”。此角度可被确定为j5的旋转轴(其可定义为z方向)与器械轴的方向之间的角度,即朝向器械顶端处的点的方向p。角度δ可以被确定为p在x-y平面上的投影与y轴之间的角度。δ可以在
±
90度的范围内。角度δ可以被认为是j5将旋转通过以将整个腕部弯曲与j7(偏转)轴对准的角度。5的角度可以被设定为角度δ。j5的角度可以根据需要选择,并且可以是使j6、j7和j8的问题能够变得确定得很好的约束。然后,可以基于腕部弯曲角度和角度δ,以任何方便的方式求解j6和j7。可以确定j8以将器械定向在期望的方向。
[0175]
计算出的驱动信号接着用于驱动机器人臂的一个或多个关节。
[0176]
在以上描述中,为了便于解释,系统所采取的动作被分成功能块或模块。在实践中,这些块中的两个或更多个可以在架构上组合。这些功能也可以被分成不同的功能块。
[0177]
本技术已经在外科机器人系统的背景下进行了描述,但是以下描述的特征不限于这样的系统,而是可以更一般地应用于机器人系统。在一些示例中,本技术可以应用于远程操作的机器人系统。本发明技术可能是有用的情形的一些示例包括利用“蛇形”机器人进行探索、调查或维修的那些情形。在外科机器人的情况下,末端执行器可以是手术工具,例如手术刀、手术切割器、手术钳或烧灼器。
[0178]
机器人系统可以包括制造系统,例如车辆制造系统、部件处理系统、实验室系统以及例如用于危险材料的操纵器或外科操纵器。
[0179]
关节可以由电机驱动,电机可以是旋转的或线性的,或者由其他装置驱动,例如液压或气动致动器。这些将由相同的控制算法驱动。
[0180]
申请人在此独立地公开了本文描述的每个单独的特征以及两个或更多个这种特征的任意组合,只要这些特征或组合能够基于本说明书作为一个整体根据本领域技术人员的公知常识来实施,而不管这些特征或特征的组合是否解决本文公开的任何问题,并且不限制权利要求的范围。申请人指出,本发明的各方面可以由任何这样的单个特征或特征组合组成。鉴于以上描述,对于本领域技术人员来说显而易见的是,可以在本发明的范围内进
行各种修改。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献