用于机器人手术系统的输入整形器
背景技术
机器人手术系统已用于微创医疗手术。在医疗手术期间,通过外科医生与用户接口配合来控制机器人手术系统。用户接口允许外科医生操作手术器械的末端效应器,该效应器作用于病人。用户接口包含可由外科医生移动以控制机器人手术系统的输入控制器或把手和允许外科医生观察手术部位内的手术器械的显示器。
手术器械由手术机器人的臂支撑。手术机器人的臂包含可在手术环境内移动以操控手术器械的设置臂和连杆机构。连杆机构由设置臂支撑并在手术环境内支撑手术器械。设置臂可在外科手术期间移动以重新定位连杆机构和/或避免与手术机器人的其它臂碰撞。
需要确定手术环境内的设置臂的位置和/或位姿,以确定手术器械的位置并因此在外科手术期间控制手术器械。因此,在外科手术期间继续需要确定手术环境内的设置臂的位姿。
发明内容
本公开大体上涉及机器人手术系统,且更确切地说,涉及用于到所述机器人手术系统的控制输入的输入整形器和所述输入整形器的处理方法。
在本公开的一方面中,一种运用控制器控制机器人的连杆机构的方法包含接收所述机器人的接头的期望接头角度;以及向马达发射第一控制信号以响应于期望接头速度而致动所述接头,所述期望接头速度是依据所述期望接头角度和所述接头的当前接头角度。
发射所述第一控制信号可包含依据所述接头的当前接头角度与所述期望接头速度与时间单位的乘积的总和而产生所述第一控制信号,其中所述时间单位是所述马达的伺服速率。
所述方法可包含通过基于所述接头的共振频率而计算所述接头的相移来产生所述期望接头速度。
所述方法可进一步包含基于当前接头角度而确定所述接头的所述共振频率。
确定所述接头的所述共振频率可包含基于所述连杆机构的频率映像而计算所述共振频率。
所述方法可进一步包含向所述马达发射第二控制信号以响应于所述期望接头角度而致动所述接头。所述第二控制信号可包含延迟脉冲作为所述期望接头速度的未包含于所述第一控制信号中的剩余部分。
根据权利要求6所述的方法,其中在相位小于180度时进行发射所述第二控制信号。
产生所述期望接头速度可包含设定所述马达的伺服速率并在所述马达的所述伺服速率下积分所述期望接头速度。所述方法可进一步包含在0.5KHz到2KHz的范围内设定所述马达的所述伺服速率。
产生所述期望接头速度可包含将相位预看算法应用于所述第一控制信号。
所述方法可进一步包含在接收到所述期望接头角度之前产生所述连杆机构的频率映像。所述频率映像可包含所述连杆机构中的第一接头和每个其它接头在所述连杆机构的多个位姿中的共振频率。
发射第一控制信号可以在第一振动模式下形成所需的接头速度。发射第一控制信号可以在第二种振动模式下对期望接头速度进行整形
根据本公开的另一方面,提供一种手术机器人,且所述手术机器人包含连杆机构,其被配置成支撑工具,所述连杆机构具有接头;马达,其可操作地联接到所述接头且被配置成致动所述接头以使所述接头的接头角度变化;以及控制器,其被配置成接收所述接头的期望接头角度;以及向所述马达发射第一控制信号以响应于期望接头速度而致动所述接头,所述期望接头速度是依据所述期望接头角度和所述接头的当前接头角度。
所述控制器可被配置成基于当前接头角度而确定所述接头的所述共振频率。
确定所述接头的所述共振频率可包含基于所述连杆机构的频率映像而计算所述共振频率。
根据本公开的另一方面,提供一种机器人手术系统,且所述机器人手术系统包含用户接口,其被配置成从用户接收输入并发射输入信号;以及手术机器人。所述手术机器人包含连杆机构,其被配置成支撑工具,所述连杆机构具有接头;马达,其可操作地联接到所述接头且被配置成致动所述接头以使所述接头的接头角度变化;以及控制器,其被配置成接收包含所述接头的期望接头角度的所述输入信号;以及向所述马达发射第一控制信号以响应于期望接头速度而致动所述接头,所述期望接头速度是依据所述期望接头角度和所述接头的当前接头角度。
所述控制器可被配置成基于当前接头角度而确定所述接头的所述共振频率。
确定所述接头的所述共振频率可包含基于所述连杆机构的频率映像而计算所述共振频率。
进一步地,在一致的程度上,本文描述的任何方面可与本文描述的任何或所有其它方面结合使用。
附图说明
下文参考图式描述本公开的各方面,所述图式并入本说明书中并构成本说明书的一部分,其中:
图1是根据本公开提供的示范性机器人手术系统的示意图;
图2是图1的机器人手术系统的手术机器人的机器人底座或推车的侧视图;
图3是示出对具有变化的阻尼比和共振频率的三个二级系统的单位阶跃的响应的现有技术图形
图4是说明现有技术两步式输入整形器算法的原理的图形;
图5是说明应用于具有增大的共振频率的系统的现有技术两步式输入整形器算法的输出的图形;
图6是说明应用于具有减小的共振频率的系统的现有技术两步式输入整形器算法的输出的图形;
图7是通过根据本公开提供的基于速度的输入整形器算法处理时的图2的机器人底座的三个接头的期望位置与整形位置的图形;
图8是由图7的基于速度的输入整形器算法计算的三个接头的速度的图形;
图9是图8的放大细节区域;
图10是运用根据本公开提供的相位预看算法而通过基于速度的输入整形器算法处理时的图2的机器人底座的三个接头的期望位置与整形位置的图形;
图11是由图10的基于速度的输入整形器算法计算的三个接头的速度的图形;
图12是图11的放大细节区域;
图13是说明具有带有两个相异共振频率峰值的两个振动模式的系统的模态频率响应的图形;
图14是说明具有带有两个共振频率峰值的两个振动模式的系统的模态频率响应的图形,所述共振频率峰值足够接近使得两个共振频率峰值开始合并在一起;
图15是说明具有带有两个共振频率峰值的两个振动模式的系统的模态频率响应的图形,所述共振频率峰值足够接近使得两个共振频率峰值开始合并成单个共振频率峰值;
图16是控制机器人的连杆机构的示范性方法的流程图;
图17是示范性相位预看算法的流程图;且
图18是控制器的说明性实施例的示意性框图,所述控制器可在当前系统的各种实施例中用作例如图1的机器人手术系统的部分。
具体实施方式
现在参考附图详细描述本公开的实施例,图中相同的参考数字在各个视图中指定相同或相应的元素。如本文所用,术语“临床医生”是指医生、护士或任何其它医护人员且可包含辅助人员。
参考图1,根据本公开的机器人手术系统1总体上示出为手术机器人10、处理单元30和用户控制台40。手术机器人10大体上包含连杆机构或臂12以及各自支撑连杆机构12中的一个的一个或多个机器人底座18。连杆机构12以可移动方式支撑被配置成作用于组织的末端执行器或工具20。连杆机构12各自具有末端14,所述末端支撑被配置成作用于组织的末端执行器或工具20。另外,连杆机构12的末端14可包含用于对手术部位“S”进行成像的成像装置16。用户控制台40通过处理单元30与机器人底座18通信。另外,机器人底座可各自包含与处理单元30通信的控制器32、34。
用户控制台40包含被配置成显示手术部位“S”的三维图像的显示装置44,所述三维图像可包含通过定位于连杆机构12的端14上的成像装置16捕获的数据,和/或包含通过定位于手术台周围的成像装置(例如,定位于手术部位“S”内的成像装置、邻近于患者“P”定位的成像装置、定位于成像臂52的远端处的成像装置56)捕获的数据。成像装置(例如,成像装置16、56)可捕获手术部位“S”的视觉图像、红外图像、超声图像、X射线图像、热像和/或任何其它已知的实时图像。成像装置将捕获到的成像数据发射到处理单元30,所述处理单元实时地根据成像数据产生手术部位“S”的三维图像并将所述三维图像发射到显示装置44进行显示。
用户控制台40还包含支撑于控制臂43上的输入手柄42,所述输入手柄允许临床医生操控手术机器人10(例如,移动连杆机构12、连杆机构12的末端14和/或工具20)。输入手柄42中的每一个与处理单元30通信以向所述处理单元发射控制信号以及从所述处理单元接收反馈信号。另外或替代地,输入手柄42中的每一个可包含输入装置(未明确示出),所述输入装置允许外科医生操控(例如,夹持、抓取、启动、打开、闭合、旋转、推进、切开等)支撑于连杆机构12的末端14处的工具20。
输入手柄42中的每一个可在预定义工作空间中移动以在手术部位“S”内移动连杆机构12的末端14,例如工具20。显示装置44上的三维图像定向成使得输入手柄42的移动使连杆机构12的末端14如在显示装置44上所见进行移动。在输入手柄42的移动缩放到三维图像内的连杆机构12的末端14的移动时,所述三维图像保持静止。为了维持三维图像的定向,输入手柄42的运动学映射基于相对于连杆机构12的末端14的定向的相机定向。显示装置44上的三维图像的定向可相对于由成像装置16、56捕获的视图成镜像或旋转。另外,显示装置44上的三维图像的大小可缩放成大于或小于手术部位的实际结构,从而准许临床医生更好地观察手术部位“S”内的结构。在输入手柄42移动时,工具20在手术部位“S”内移动,如下详述。工具20的移动还可包含支撑工具20的连杆机构12的端14的移动。
为了详细论述机器人手术系统1的构造和操作,可参考全部内容以引用的方式并入本文中的第8,828,023号美国专利。
参考图2,示出为机器人底座或推车18的手术机器人10包含设置臂15,所述设置臂在第一接头J1处支撑连杆机构12的第一连杆12a的第一部分,使得第一连杆12a基本上平行于地板。第一接头J1是允许第一连杆12a在大体上正交于地板的轴线周围围绕第一接头旋转的单自由度接头。机器人底座18还包含具有啮合配置和脱离或释放配置的制动器19,在啮合配置中制动器19防止设置臂15移动,在脱离或释放配置中准许设置臂15移动。
正向或反向运动学可用以控制工具20的位置。另外,手-眼协调计算可用以控制工具20的位置。为了详细论述示范性动态控制算法,可参考2018年8月31日提交的第16/081,773号美国专利申请,且为了详细论述示范性手-眼协调计算,可参考2019年2月6日提交的第62/801,734号美国临时专利申请,[代理人案号#A0000245US01PRO(203-12277)]。以上申请中的每一个的全部内容特此以引用的方式并入。
继续参考图2,连杆机构12包含第一连杆12a、第二连杆12b、第三连杆12c和第四连杆或轨道12d。每个连杆围绕如下详述的单自由度接头枢转联接到至少一个其它连杆。第二连杆12b包含通过第二接头J2枢转联接到第一连杆12a的第二部分的第一部分,且第三连杆12c的第一部分通过第三接头J3枢转联接到第二连杆的第二部分。第二连杆12b和第三连杆12c围绕第二接头J2和第三接头J3的彼此平行且垂直于第一接头J1的轴线的轴线枢转。在实施例中,第二连杆12b和第三连杆12c围绕第二接头J2和第三接头J3的移动连结,使得第二连杆12b围绕第二接头J2的移动与第三连杆12c围绕第三接头J3的移动相等且与相使得第三连杆12c保持平行于第一连杆12b。第四连杆12d在第四接头J4周围联接到第三连杆12c的第二部分。第四连杆12d围绕第四接头J4的移动是围绕平行于第二接头J2和第三接头J3的轴线的轴线。
连杆机构12包含器械驱动单元(IDU),所述器械驱动单元沿着第四连杆12d可滑动地支撑以限定允许IDU一平行于第四连杆12d的纵轴的工具轴线T-T移动的线性第五接头J5。第六接头J6是IDU的围绕工具轴线T-T的滚动接头,其准许IDU和因此工具20围绕工具轴线T-T旋转。
接头J1到J6中的一个或多个可包含用以确定各别接头的位置或接头角度的传感器。举例来说,第一接头J1包含第一传感器112,所述第一传感器被配置成确定第一连杆12a相对于设置臂15围绕第一接头J1的位置。第二接头J2包含第二传感器114,所述第二传感器被配置成确定第二连杆12b相对于第一连杆12a围绕第二接头J2的位置。第五接头J5包含被配置成确定IDU沿着轨道12d的位置的第三传感器116。第六接头J6包含被配置成确定IDU围绕工具轴线T-T的滚动的第四传感器118。在实施例中,第一传感器112、第二传感器114、第三传感器116和第四传感器118可以是确定各别接头J1、J2、J5、J6的接头角度的编码器或电位计。另外,IDU可包含惯性测量单元(IMU)120,所述惯性测量单元被配置成确定IDU的惰性例如以确定IDU上的重力。
机器人底座18包含控制器34和包含一个或多个马达的臂驱动单元(ADU)35。控制器34与处理单元30通信,且被配置成向ADU 35提供控制信号以响应于来自用户控制台40的由处理单元30提供的输入信号而控制连杆机构12的移动。
ADU 35或控制器34包含输入整形器算法,其对来自用户控制台40的期望位置输入信号命令进行整形以减少归因于连杆机构12的共振模式的振动。所产生的连杆12的运动可以被平滑,以允许对具有更高精度的连杆12进行更灵活的控制。
虽然输入整形器算法描述成用于与遥控机器人手术系统一起使用并针对与遥控机器人手术系统一起而经过优化,但输入整形器算法可以与任何运动受控机构一起使用。具体地说,针对由操作人员驱动和/或不遵循预定路径的系统优化了算法。这意味着必须在产生运动命令时实时地实现振动减少。可使用传统平滑算法;然而,传统的平滑算法往往会在运动中引入显著的时延,因为需要大量的样本才能滤除较低频率的振动模式。相比之下,本文中所描述的输入整形器算法以最少时迟减少振动。
参考图3和4,详述现有技术两步式输入整形器算法,以说明本文中详述的改良型输入整形器算法的优点。如图3中示出,示出系统的单位阶跃响应,例如连杆机构12移动,之后的弱阻尼二级系统。由于在时间0时从0到1的步长移动,系统将使移动过冲并接着振荡直到在衰荡时间之后在1的期望位置处稳定为止。如示出,过冲的量值和衰荡时间的时间长度由于阻尼比ζ和经阻尼共振频率ωd而变化。另外,振荡的频率与经阻尼共振频率ωd成正比,且阻尼比ζ的更小值引起过冲的大量值和更长的衰荡时间。
通过允许输入信号A的部分以正常速度通过而没有任何时间延迟并接着通过特定时间延迟T发送输入信号的剩余部分(1-A),其中基于过冲的量值和单位阶跃响应的第一波峰的时间而选择A和T,现有技术两步式输入整形器算法得以工作。以如下方式提供整形信号:
X整形(t)=A×X(t)+(1-A)×X(t-T)
其中A=1/OS且T=t峰值。
如图4中示出,示出现有技术两步式输入整形器算法,顶部图形示出单位阶跃输入X(t)和所得阶跃响应Y(t)之非阻尼结果。圆圈示出t峰值和不具有现有技术两步式输入整形器算法的情况下的OS的量值。尤其参考图4的中间图形,选择输入信号A的被允许按正常速度通过的部分,使得第一步长的过冲致使峰值等于单位阶跃并在t峰值处发生。接着通过在t峰值处开始来发送输入信号的剩余部分(1-A),使得抵消引起如移动到单元下图中示出的总移动并接着抵消引起移动Y整形(t)的振荡的振荡。在此实例中,通过将信号的第二部分延迟成优选地与致使信号总和抵消振荡的原始信号异相,现有技术两步式输入整形器算法完全移除整形输出信号Y整形(t)中的振荡。
如果系统的共振频率和阻尼保持恒定,那么现有技术两步式输入整形器算法工作。但是,在许多系统,例如机器人臂12,中,系统的共振频率可取决于系统的配置或位姿。举例来说,当相比于连杆机构12拉伸时的共振频率,连杆机构12的共振频率可在臂接近基座18(图2)折叠起来时更高。另外,系统的端处,例如工具20处,的大量负载也会影响共振频率。
尤其参考图5和6,如果系统的共振频率和/或阻尼变化,那么残余振动的量将在系统与输入整形器的共振频率与阻尼之间的偏差增大时增大。举例来说,如图5中示出,当系统的共振频率增大时,过冲增大且衰荡时间增加。类似地,如图6中示出,当系统的共振频率增大时,过冲增大且衰荡时间增加。因此,需要产生不受系统的共振频率改变影响或可适应于系统的共振频率改变的输入整形器。
已用以解决具有变化的共振频率和/或阻尼的系统的一个方法是使用现有技术三步式输入整形器算法。现有技术三步式输入整形器算法类似于上文详述的现有技术两步式输入整形器算法,但使用原始信号的两个延迟副本,使得
X整形(t)=A×X(t)+B×X(t-T)+C×X(t-2×T)
其中A+B+C=1。虽然此现有技术三步式输入整形器算法对于共振频率改变更具弹性,但现有技术的三步输入成形算法在命令信号中增加了额外的延迟,大约是现有技术的两倍的延迟,这可能是不可取的。举例来说,在例如机器人手术系统1的远距操作手术系统中,应最小化系统的时延,例如小于100ms。当共振频率产生小于10Hz的振动时,此可能难以运用现有技术三步式输入整形器算法实现。因此,需要比现有技术三步式输入整形器算法同等或更好地对于频率改变具弹性的输入整形器算法,现有技术三步式输入整形器算法比现有技术两步式输入整形器算法同等或更好地具有时延。
根据本公开的第一改良型输入整形算法通过改变时间延迟T并实时地(例如,在运行中)对过冲A的量值进行加权来补偿改变共振频率,且参考图2的连杆机构12描述所述输入整形算法。具体地说,可使时间延迟T和阻尼比ζ成为连杆机构12的一个或多个接头的接头角度的函数。第一改良型输入整形算法可比两点式现有技术输入整形算法提供更低时延,并还在共振频率变化时实现改良的振动抑制。
可通过产生臂12的每个接头的频率映像来确定时间延迟T和阻尼比ζ的函数。通过设定已知位置或位姿中的每个接头并接着感应所述接头在已知位姿处的运动并确定已知位姿的t峰值和过冲A,可产生频率映像。一旦针对每个接头产生频率映像,那么用于使用现有技术两步式输入整形器算法的每个接头的一维输入整形器可用以产生第一改良型输入整形器算法,所述两步式输入整形器算法使用取自频率映像的值。在实施例中,频率映像可应用于机器人的位姿的笛卡耳空间或可单独应用于每个接头。
根据本公开的第二改良型输入整形器算法或速度输入整形器算法作为控制器,例如ADU 35,的部分运用离散时间的振动频率补偿改变的共振频率,其中按设定间隔更新期望位置。第二改良型输入整形器算法使用下式:
X整形[m]=A×X[m]+(1-A)×X[m-floor(T/dt)]
其中X是期望接头角度的阵列,m是当前标引计数,A是过冲的量值,T是t峰值的时间,且dt是控制器的伺服周期之间的时间间隔。为了利用此方程式,使A和T成为当前接头角度的函数;但是,有时floor(T/dt)的整数值可能跳过值或在控制器的连续伺服周期内保持相同值。当相同的值被跳过或重复时,在所需的接头命令中可能会出现不连续,这对于平滑的运动是不可接受的。为解决此问题,通过使用下式,第二改良型输入整形器算法将期望接头命令应用于期望接头速度而非期望接头位置:
V[m]=X[m]-X[m-1]
V整形[m]=A×V[m]+(1-A)×V[m-floor(T/dt)]
X整形[m]=X整形[m-1]+V整形[m]×dt
虽然接头之期望速度仍会存在不连续,但可通过利用控制器的高伺服速率使得dt较小来最小化此不连续性。在某些情况下,还有可能将改良型输入整形器算法应用于加速度信号并进行双积分以获得位置。使用加速度数据可进一步平滑位置命令,但其代价是通过双分化原始期望位置信号来产生的加速度数据的噪声增加的情况下加以使用。
参考图7,跟踪3DOF机器人臂,例如连杆机构12(图2),的三个接头的接头角度。如在中间图形中最清晰可见,当期望位置在运动的开始和结束时非连续时,第二改良型输入整形器算法具有时间延迟。这还示出移动的开始时的接近样本1000的时间延迟大于移动的结束时的接近样本4500的时间延迟,这归因于相比于共振频率移动开始在此接头在移动结束时拉伸的情况下更低。
参考图8,示出通过第二改良型输入整形器算法运算速度以产生图7的整形输出。双线指示速度在共振频率随连杆机构12移动而改变时是非连续的。举例来说,当共振频率增大时,由于两个延迟脉冲被添加到非延迟信号,第二组点相比于正常轨道更高。另外,当共振频率减小时,第二组点由于未延迟脉冲而相比于正常轨道更低,这是因为共振频率的改变引起大于1dt的延迟变化。如图9中示出,这通过变焦到图8的接头3的速度的一部分中来更更明确地示出。主曲线上方和下方的额外点是共振频率的改变中的结果,并在共振频率从减小移位到增大时从曲线下方翻转到曲线上方。应了解,即使速度不连续,期望位置的形状由于整合小的速度动作值而保持平滑以平滑掉不连续性。因此,通过将第二改良型输入整形器算法应用于期望速度而非将改良型输入整形器算法应用于期望位置来实现期望位置中的平滑度。
第二改良型输入整形器算法的实施方案需要跟踪每个延迟脉冲,并确定在共振频率改变时何时将延迟脉冲应用于期望信号。下文是第二改良型输入整形器算法的实施例的伪代码的实例:
其中伺服速率是1kHz且dt是0.001秒。以上伪代码的变量如下:
qIn-进入输入整形器的期望接头角度的向量
qInLast-进入输入整形器的先前期望接头角度的向量
Phase-已针对每个接头的每个延迟脉冲经过的相位的阵列
dqRemaining-又添加到每个接头的输出的振幅的阵列
FreqNow-由每个接头的移动基于当前姿态而感应的共振频率的向量
A-基于当前姿态而针对每个接头非延迟地通过的信号的%向量
dPhase-从循环起经过的信号的相位改变的向量这是基于当前共振频率和伺服速率,例如1000Hz
qOutLast-离开输入整形器的先前期望接头角度的向量
qOut-离开整形器的计算出的期望接头角度的向量。
可修改第二改良型输入整形器算法,以通过凭借预测将在下一伺服循环期间发生什么来分裂延迟的dqRemaining的一部分来提供更平滑的速度信号和积分的位置信号。举例来说,第二改良型输入整形器算法使用每个脉冲的当前相位并添加当前dPhase值,并验证此值是否超过180度或π弧度。如果所述值大于180度,那么运算比以确定相比于dPhase值超过180度的相位的量。此比饱和到1或0,且接着乘以接着积分到期望输出信号的剩余速度信号。包含所述比并在所述比介于0与1之间的情况下添加延迟脉冲的部分的此相位预看算法可以以下伪代码予以实施,所述伪代码可替换以上伪代码中的最后一个FOR陈述使得相位预看算法代码如下:
如图10到12中示出,相位预看算法当相比于改良型第二输入整形器算法改良位置跟踪和速度跟踪,而没有相位预看。具体地说,虽然位置表现为类似,但运用速度的不连续的显著降低来显著地平滑化速度的平滑度。在一些实施例中,作为上文详述的相位预看算法的添加或替代方案,可使用卡尔曼滤波器或另一预测性滤波方法。
根据本公开的第三改良型输入整形器算法补偿多个模式中的改变的共振频率。举例来说,连杆机构12(图2)可从来回振动的悬臂具有第一模式或共振频率,并可具有边到边振动的第二模式或共振频率。第一模式与第二模式可具有相同或不同共振频率。多个振动模式需要输入整形器抑制期望运动的带宽内的多个模式。
如图13中示出,具有例如连杆机构12的示范性结构的位移与速度的总和示出具有频率空间上的第一和第二模式中的每一个的位移与速度的总和,所述示范性结构具有彼此接近的共振频率的非相依振动的第一和第二模式。运用下式,频率空间的总和对于非相依振动模式的线性系统是可能的:
X整形(t)=A×X(t)+B×X(t-T1)+C×X(t-T2)
其中A+B+C=1。在以上方程式中,A是被允许通过而没有延迟的信号的量,且B和C是应用于第一和第二模式的相对振幅。可从位移峰值的相对高度,例如图13中的A1和A2,确定相对振幅。T1、T2、A、B和C的值都是当前机器人接头角度的函数,可以通过频率图确定。类似于上文详述的频率映像,通过将例如连杆机构12的结构安置在已知位置或位姿中并脉冲控制每个马达并测量工具20或运动中心中的第一和第二模式中的每一个中的所得振动的频率和振幅,可产生频率映像。可通过执行以下操作来建构出频率映像:在连杆机构12的工作空间内的各点处进行这些测量,并产生多项表达式或查找表使得频率映像可提供跨越连杆机构12的整个工作空间围绕每个接头的移动的振动响应的近似。实施第三改良型输入整形器算法的伪代码的实例如下:
虽然第三改良型输入整形器算法对于大多数振动模式起作用,但当模式的峰值足够接近使得所述峰值开始如图14中示出而合併时,可能难以确定2个模式的精确频率和相对振幅。另外,如图15中示出,每个模式A1、A2的峰值在频率上足够接近使得两个峰值大体上呈现为单个峰值。
替代性方法可用以确定关于两个模式的频率映像的整体形状的第一力矩。此第四改良型输入整形器算法将第一与第二模式的两个共振频率组合成单个共振频率。参考图13到15,竖直实线指示使用经验方法的数据的最佳拟合,而虚线示出通过取得包含第一和第二模式的频率响应的加权平均值计算出的频率。通过简化通过合并两个共振频率来计算共振频率的过程,第四改良型输入整形器算法可以是有利的。另外,取得共振频率的加权平均值可使噪声减到最少和/或为在移动连杆机构12时使共振频率变化提供更稳健的结果。另外,单个延迟脉冲可能实施起来不如第三改良型输入整形器算法的多个延迟脉冲复杂。
在实施例中,第三和第四改良型输入整形器算法可包含预看算法以如上文详述而进一步平滑输出速度。虽然上文详述的改良型输入整形器算法应用于接头空间,但改良型输入整形器算法中的任一个可以应用于结构的笛卡尔空间,,例如连杆机构12。应用改良型输入整形器算法可有利于维持期望运动的方向。
参考图16,参考图1和2的机器人手术系统,根据本公开而描述控制机器人的连杆机构的方法200。可通过处理单元30、控制器32、34和/或ADU35执行方法200。首先,产生频率映像以确定共振频率,和/或针对连杆机构12的多个位姿而产生连杆机构12的过冲(步骤205)。频率映像可包含围绕连杆机构12的每个接头(例如,J1、J2、J3、J4等)的移动的共振频率和/或过冲。在一些实施例中,频率映像包含每个接头的多个振动模式的共振频率和/或过冲。
在使用期间,控制器(例如,ADU 35)接收连杆机构12的一个或多个接头的期望接头角度(步骤210)。可从包含连杆机构12的期望位姿的输入信号计算期望接头角度。可从前向和/或反动态模型计算期望接头角度。运用期望接头角度,从连杆机构12的每个接头的频率映像确定或查询共振频率和/或过冲(步骤215)。可依据当前接头角度的位姿而计算共振频率和/或过冲。在当前共振频率的情况下,通过2π×当前频率/伺服速率计算相移(步骤220)。伺服速率可介于约500Hz到约2kHz的范围内,例如约1kHz。运用相移,计算输出信号的脉冲(步骤230)。接下来,检查相位以确定相位是否大于或等于180度(步骤240)。如果相位大于或等于180度,那么将延迟脉冲添加到输出信号且将延迟脉冲设定成零(步骤245)。如果相位小于180度,那么使延迟脉冲通过到下一迭代。接着将输出信号发射到马达作为输出脉冲(步骤250),且接着下一循环以针对当前姿态确定接头的当前共振频率和/或过冲开始(步骤215)。
另外参考图17,方法200可包含相位预看算法260以改良步骤230与250之间的位置和速度跟踪。具体地说,当相位大于或等于180度时,计算是大于180度的相位的量除以相位的相位比(步骤265)。将相位比与延迟信号的乘积添加到输出脉冲(步骤270)并将其从延迟信号减去(步骤275)。接着在下一循环开始之前将输出脉冲发射到马达(步骤250)。如上文在图10到12中示出,相比于不具有如图7到9中示出的相位预看算法的输入整形器算法,包含此相位预看算法的输入整形器算法可改良位置和速度跟踪。
参考图18,根据本文中的各种实施例,可使用计算装置。举例来说,上文详述的输入整形器算法可存储于且执行于计算装置中。虽然未明确示出,但在一些实施例中,计算装置300或其一个或多个组件可进一步表示机器人手术系统1的一个或多个组件(例如,处理单元30、底座18、控制器32、34、ADU 35等等)。在各种实施例中,计算装置300可包含一个或多个存储器302、处理器304、显示装置306、网络接口308、输入装置310和/或输出模块312。存储器302包含非暂时性计算机可读存储媒体,其用于存储可由处理器304执行且控制计算装置300的操作的数据和/或软件。在实施例中,存储器302可包含一个或多个固态存储装置,例如快闪存储器芯片。替代地,或除了一个或多个固态存储装置以外,存储器302还可包含通过大容量存储装置控制器(图18中未示出)和通信总线(图18中未示出)连接到处理器304的一个或多个大容量存储装置。虽然本文中含有的计算机可读媒体的描述是指固态存储装置,但本领域的技术人员应了解,计算机可读存储媒体可为可由处理器304接入的任何可用媒体。计算机可读媒体包含以用于存储例如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实施的易失性和非易失性、可移除和不可移除媒体。计算机可读存储媒体的实例包含RAM、ROM、EPROM、EEPROM、闪存存储器或其它固态存储器技术、CD-ROM、DVD、蓝光或其它光学存储装置、盒式磁带、磁带、磁盘存储装置或其它磁性存储装置,或者可以用于存储所需信息且可以由计算装置300访问的任何其它媒体。
在一些实施例中,存储器302存储数据314和/或应用程序316。在一些方面中,应用程序316包含用户接口组件318,所述用户接口组件在由处理器304执行时致使显示装置306呈现用户接口(图18中未示出)。在一些实施例中,网络接口308被配置成将计算装置300和/或其个别组件耦合到网络,例如有线网络、无线网络、局域网(local area network,LAN)、广域网(wide area network,WAN)、无线移动网络、蓝牙网络、因特网和/或另一种类型的网络。输入装置310可以是可帮助用户可与计算装置300交互的任何装置。输入装置310的实例包含但不限于鼠标、键盘、触摸屏、语音接口等等。在各种实施例中,输出模块312可包含任何连接性端口或总线,例如并行端口、串行端口、通用串行总线(universal serial bus,USB)或本领域的技术人员已知的任何其它类似连接性端口。
虽然已在图式中示出本公开的若干实施例,但是并不意图将本公开限于这些实施例,因为希望本公开具有如本领域将允许的广泛的范围且对说明书的理解也是如此。还设想以上实施例的任何组合,且所述组合处于所附权利要求书的范围内。因此,上述描述不应解释为限制性的,而仅仅是作为特定实施例的例证。本领域的技术人员将能设想在本文中所附权利要求书的范围内作出其它修改。