机器人及其柔性控制方法与装置与流程

文档序号:20617914发布日期:2020-05-06 20:23阅读:428来源:国知局
机器人及其柔性控制方法与装置与流程

本公开涉及机器人领域,具体地,涉及一种机器人及其柔性控制方法与装置。



背景技术:

服务机器人是在人类生活环境中服务人类的机器人,其需要与人类进行密切的交互。为了避免刚性碰撞,通常的做法是在机器人的电机上串联弹性体,以表现出某些柔性效果。然而,在速度变化或者加速度变化时会导致弹性体形变,无法控制其形变量,这降低了机器人的控制精度。



技术实现要素:

本公开的目的是提供一种机器人及其柔性控制方法与装置,既能够实现服务机器人的柔性要求,又能够提高机器人的控制精度。

根据本公开的第一实施例,提供一种机器人柔性控制方法,包括:基于机器人关节的期望角度、期望角速度、期望角加速度,计算所述关节的期望力矩;在所述关节的实际力矩与所述期望力矩的差值的绝对值大于预设阈值的情况下,利用弹簧质量阻尼模型,基于所述期望角度、所述期望角速度、所述期望角加速度、所述关节的实际角度、所述关节的实际角速度,控制所述关节的实际额外角加速度;基于所述实际额外角加速度和所述期望角度,控制所述关节的实际角度轨迹。

根据本公开的第二实施例,提供一种机器人柔性控制装置,包括:期望力矩计算模块,用于基于机器人关节的期望角度、期望角速度、期望角加速度,计算所述关节的期望力矩;实际额外角加速度控制模块,用于在所述关节的实际力矩与所述期望力矩的差值的绝对值大于预设阈值的情况下,利用弹簧质量阻尼模型,基于所述期望角度、所述期望角速度、所述期望角加速度、所述关节的实际角度、所述关节的实际角速度,控制所述关节的实际额外角加速度;实际角度轨迹控制模块,用于基于所述实际额外角加速度和所述期望角度,控制所述关节的实际角度轨迹。

根据本公开的第三实施例,提供一种机器人,包括根据本公开第二实施例的机器人柔性控制装置。

通过采用上述技术方案,由于在关节的实际力矩与期望力矩的差值的绝对值大于预设阈值的情况下,利用弹簧质量阻尼模型,基于期望角度、期望角速度、期望角加速度、关节的实际角度、关节的实际角速度,控制关节的实际额外角加速度,并然后基于实际额外角加速度和期望角度控制关节的实际角度轨迹,因此,既能够在无外力接触的情况下,实现基于位置模式的高精度控制,还能够在机器人接触到外力之后,同样基于位置模式产生类似弹簧压缩或伸长的柔性偏移,避免刚性接触。另外,该技术方案在普通的伺服电机上即可实现,降低了机器人的成本。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1示出根据本公开一种实施例的机器人柔性控制方法的流程图。

图2示出根据本公开又一实施例的机器人柔性控制方法的流程图。

图3示出根据本公开一种实施例的机器人柔性控制装置的示意框图。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

图1示出根据本公开一种实施例的机器人柔性控制方法的流程图。如图1所示,该方法包括以下步骤s11至s13。

在步骤s11中,基于机器人关节的期望角度、期望角速度、期望角加速度,计算关节的期望力矩。例如,可以利用以下公式来计算:

τ=d(q)q″+h(q,q′)+g(q)+τf(1)

其中,τ表示期望力矩;q表示期望角度;q′表示期望角速度;q″表示期望角加速度;τf表示摩擦力矩;d(q)是n×n的正定对称矩阵,是q的函数,称为惯性矩阵;h(q,q′)是n×1离心力和科氏力;g(q)是n×1重力矢量。

例如,假设机器人手臂是一个七自由度的手臂,则可以基于机器人手臂上的第1关节的期望角度、期望角速度、期望角加速度通过利用上述的公式(1)计算第1关节的期望力矩,以此类推,可以计算出所有7个关节各自的期望力矩。另外,本领域技术人员应当理解的是,上述公式(1)仅是示例,不构成对本公开的限制。

在步骤s12中,在关节的实际力矩与期望力矩的差值的绝对值大于预设阈值的情况下,利用弹簧质量阻尼模型,基于期望角度、期望角速度、期望角加速度、关节的实际角度、关节的实际角速度,控制关节的实际额外角加速度。

在本公开中,实际额外角加速度指的是因为外力碰撞而导致的关节角加速度。举例而言,假设关节的当前角加速度为q″1,然后外力碰撞导致关节的角加速度减小至q″2,则关节的实际额外角加速度为q″1-q″2。

机器人的动力学参数(例如上述公式(1)的动力学模型)通常有一定的误差,而且摩擦力矩τf也会对机器人的动力学建模的精确性产生影响,因此利用动力学建模模型(例如上述的公式(1))计算出的期望力矩τ可能会与关节的实际力矩τ′之间存在偏差。在实际应用中,通常会指定一个预设阈值δτ,该预设阈值δτ可以是基于经验确定的阈值,若实际力矩τ′位于(τ-δτ,τ+δτ)范围内,则均可认为是机器人机械臂的正常运动行为,如果某一个关节的实际力矩τ′位于(τ-δτ,τ+δτ)范围外,则认为整个机械臂与外界环境发生了接触碰撞。

在确定机械臂与外界环境发生了接触碰撞的情况下,就会对机械臂进行柔性控制,以避免刚性碰撞。则,由于在外力的影响下,根据f=ma,其中f表示力、m表示质量、a表示加速度,关节会额外产生一个角加速度值,该额外角加速度值与外力的方向相同,并且可能为正或负,如果外力的方向与参考方向相同,则额外角加速度值为正,如果外力的方向与参考方向相反,则额外角加速度值为负。要想使机械臂达到类似弹簧的柔性控制效果,可以先针对各个关节建立弹簧质量阻尼模型,然后就可以利用弹簧质量阻尼模型,基于期望角度、期望角速度、期望角加速度、关节的实际角度、关节的实际角速度,控制关节的实际额外角加速度,例如可以通过以下公式进行控制:

q额外″=(δτ-k(qa-q)-d(qa′-q′))/m+q″(2)

其中,在关节的实际力矩τ′大于期望力矩τ与预设阈值δτ之和时,δτ=τ′-(τ+δτ),在关节的实际力矩τ′小于期望力矩τ与预设阈值δτ之差时,δτ=τ′-(τ-δτ);q表示期望角度;q′表示期望角速度;q″表示期望角加速度;qa表示关节的实际角度;qa′表示关节的实际角速度,q额外″表示关节的实际额外角加速度;k表示刚性系数;d表示微分系数;m表示积分系数。k、d和m这三个系数可以根据系统的不同或根据弹簧刚度与阻尼大小进行调整。

根据上述的公式(2)可知,在最开始受到外力时,关节的实际角度、实际角速度与期望值相同,因此会产生一个较大的实际额外角加速度;随着时间的增加,因为实际角加速度的累积,实际角速度与实际角度也不断增加了额外值,则根据公式(2)计算出的实际额外角加速度会不断减小,即产生类似弹簧拉伸后的弹性效果,且外力越大,可产生的偏差值越大。

在步骤s13中,基于实际额外角加速度和期望角度,控制关节的实际角度轨迹。例如,可以通过以下公式来实现:

qa=q+∫∫q额外″(3)

其中,qa表示关节的实际角度;q表示期望角度;q额外″表示关节的实际额外角加速度。

通过采用上述技术方案,由于在关节的实际力矩与期望力矩的差值的绝对值大于预设阈值的情况下,利用弹簧质量阻尼模型,基于期望角度、期望角速度、期望角加速度、关节的实际角度、关节的实际角速度,控制关节的实际额外角加速度,并然后基于实际额外角加速度和期望角度控制关节的实际角度轨迹,因此,既能够在无外力接触的情况下,实现基于位置模式的高精度控制,还能够在机器人接触到外力之后,同样基于位置模式产生类似弹簧压缩或伸长的柔性偏移,避免刚性接触。另外,该技术方案在普通的伺服电机上即可实现,降低了机器人的成本。

图2示出根据本公开又一实施例的机器人柔性控制方法的流程图。如图2所示,在图1的基础上,根据本公开实施例的柔性控制方法还包括步骤s14:在关节的实际力矩与期望力矩的差值的绝对值变为小于预设阈值的情况下,这说明机器人机械臂所受到的外力消失了,则基于期望角度、期望角速度、期望角加速度、关节的实际角度、关节的实际角速度、关节的实际角加速度,将关节的实际角度逐步调整回到期望角度。例如,关节的实际角度的调整步长通过以下公式来确定:

δq=k(q-qa)+d(q′-qa′)+m(q″-qa″)(4)

其中,δq表示关节的实际角度的调整步长;q表示期望角度;q′表示期望角速度;q″表示期望角加速度;qa表示关节的实际角度;qa′表示关节的实际角速度,qa″表示关节的实际角加速度;k表示刚性系数;d表示微分系数;m表示积分系数。

通过上述技术方案,就能够逐步长地调整关节的实际角度,产生类似弹簧效果的回归调整运动,使得经过一段时间的调整后,关节的实际角度最终回归到期望角度,满足了服务机器人与外界的交互要求。

图3示出根据本公开一种实施例的机器人柔性控制装置的示意框图。如图3所示,该装置包括:期望力矩计算模块31,用于基于机器人关节的期望角度、期望角速度、期望角加速度,计算所述关节的期望力矩;实际额外角加速度控制模块32,用于在所述关节的实际力矩与所述期望力矩的差值的绝对值大于预设阈值的情况下,利用弹簧质量阻尼模型,基于所述期望角度、所述期望角速度、所述期望角加速度、所述关节的实际角度、所述关节的实际角速度,控制所述关节的实际额外角加速度;实际角度轨迹控制模块33,用于基于所述实际额外角加速度和所述期望角度,控制所述关节的实际角度轨迹。

通过采用上述技术方案,由于在关节的实际力矩与期望力矩的差值的绝对值大于预设阈值的情况下,利用弹簧质量阻尼模型,基于期望角度、期望角速度、期望角加速度、关节的实际角度、关节的实际角速度,控制关节的实际额外角加速度,并然后基于实际额外角加速度和期望角度控制关节的实际角度轨迹,因此,既能够在无外力接触的情况下,实现基于位置模式的高精度控制,还能够在机器人接触到外力之后,同样基于位置模式产生类似弹簧压缩或伸长的柔性偏移,避免刚性接触。另外,该技术方案在普通的伺服电机上即可实现,降低了机器人的成本。

可选地,所述期望力矩计算模块31基于机器人关节的期望角度、期望角速度、期望角加速度,计算所述关节的期望力矩,可以通过以下公式来实现:

τ=d(q)q″+h(q,q′)+g(q)+τf(5)

其中,τ表示所述期望力矩;q表示所述期望角度;q′表示所述期望角速度;q″表示所述期望角加速度;τf表示摩擦力矩;d(q)是n×n的正定对称矩阵,是q的函数;h(q,q′)是n×1离心力和科氏力;g(q)是n×1重力矢量。

可选地,实际额外角加速度控制模块32利用弹簧质量阻尼模型,基于所述期望角度、所述期望角速度、所述期望角加速度、所述关节的实际角度、所述关节的实际角速度,控制所述关节的实际额外角加速度通过以下公式来实现:

q额外″=(δτ-k(qa-q)-d(qa′-q′))/m+q″(6)

其中,在所述关节的实际力矩τ′大于所述期望力矩τ与所述预设阈值δτ之和时,δτ=τ′-(τ+δτ),在所述关节的实际力矩τ′小于所述期望力矩τ与所述预设阈值δτ之差时,δτ=τ′-(τ-δτ);q表示所述期望角度;q′表示所述期望角速度;q″表示所述期望角加速度;qa表示所述关节的实际角度;qa′表示所述关节的实际角速度,q额外″表示所述关节的实际额外角加速度;k表示刚性系数;d表示微分系数;m表示积分系数。

可选地,所述实际角度轨迹控制模块33基于所述实际额外角加速度和所述期望角度,控制所述关节的实际角度轨迹,通过以下公式来实现:

qa=q+∫∫q额外″(7)

其中,qa表示所述关节的实际角度;q表示所述期望角度;q额外″表示所述关节的实际额外角加速度。

可选地,根据本公开实施例的柔性控制装置还包括回调模块,用于在所述关节的实际力矩与所述期望力矩的差值的绝对值变为小于所述预设阈值的情况下,基于所述期望角度、所述期望角速度、所述期望角加速度、所述关节的实际角度、所述关节的实际角速度、所述关节的实际角加速度,将所述关节的实际角度逐步调整回到所述期望角度。

可选地,所述关节的实际角度的调整步长通过以下公式来确定:

δq=k(q-qa)+d(q′-qa′)+m(q″-qa″)(8)

其中,δq表示所述关节的实际角度的调整步长;q表示所述期望角度;q′表示所述期望角速度;q″表示所述期望角加速度;qa表示所述关节的实际角度;qa′表示所述关节的实际角速度,qa″表示所述关节的实际角加速度;k表示刚性系数;d表示微分系数;m表示积分系数。

上述的各个控制模块可以利用诸如现场可编程门阵列、单片机之类的控制器来实现。

根据本公开实施例的装置中各个模块所执行操作的具体实现方式已经在有关的方法中进行了详细描述,此处不再赘述。

根据本公开的又一实施例,提供一种机器人,包括根据本公开实施例的机器人柔性控制装置。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1