机器人运动控制方法、运动控制设备及机器人与流程

文档序号:20989694发布日期:2020-06-05 21:34阅读:362来源:国知局
机器人运动控制方法、运动控制设备及机器人与流程

本公开涉及人工智能及机器人领域,更具体地涉及一种机器人运动控制方法、机器人运动控制设备、机器人及介质。



背景技术:

随着人工智能及机器人技术在民用和商用领域的广泛应用,基于人工智能及机器人技术的自平衡设备在智能交通、智能家居等领域起到日益重要的作用,也面临着更高的要求。

目前在对机器人的运动控制(例如位置姿态控制)中,主要是针对机器人的笛卡尔位移相对时间变量进行规划以实现对其位置的控制,从而得到机器人的目标运动轨迹s(t),基于该目标运动轨迹s(t)控制机器人的运动。然而,使用上述运动控制方法时,一方面,由于运动轨迹与时间相关联,当运动期间存在障碍物使得其停滞在运动轨迹途中时,若预设的运动控制时间经过后,机器人将不再执行该运动控制任务,从而无法有效地实现对机器人位置姿态的精确控制;另一方面,在这样的控制方法属于高刚度控制,在其运动过程中若存在人机交互,则其无法与外部环境实现柔顺接触,其人机交互性能较差,无法实现良好的人机共融。

因此,需要一种在实现对机器人运动控制的前提下,具有较高位置姿态控制准确度,同时可以在整个过程中使得机器人与外部环境或使用者实现柔顺接触的机器人运动控制方法。



技术实现要素:

针对以上问题,本公开提供了一种机器人运动控制方法、机器人运动控制设备、机器人及介质。利用本公开提供的机器人运动控制方法可以在实现对机器人运动控制的基础上,有效提高位置姿态控制准确度,实现实时且高精度的运动控制,且该方法具有使得机器人与外部环境或使用者实现柔顺接触,且其具有良好的鲁棒性。

根据本公开的一方面,提出了一种机器人运动控制方法,包括:接收传感器的检测信息,并基于所述检测信息确定该机器人当前受到的外部作用力;基于机器人的当前运动位置,确定与所述当前运动位置相对应的预设作用力;基于所述外部作用力与所述预设作用力,确定该机器人的目标运动量;以及根据所述目标运动量,控制该机器人的运动。

在一些实施例中,该方法还包括:接收位置控制信息,并基于所述位置控制信息确定该机器人的运动起始位置和运动终止位置;根据所述运动起始位置和所述运动终止位置,确定该机器人的运动路线;以及对该运动路线中的每一个运动位置,确定该运动位置所对应的预设作用力。

在一些实施例中,所述基于所述外部作用力与所述预设作用力确定该机器人的目标运动量包括:基于所述外部作用力与所述预设作用力,计算得到实际作用力;以及确定对应于该实际作用力的目标运动量。

在一些实施例中,确定对应于该实际作用力的目标运动量包括:利用机器人位置导纳控制算法,确定对应于该实际作用力的目标运动量。

在一些实施例中,在所述运动起始位置和所述运动终止位置,所述预设作用力为零。

在一些实施例中,所述运动路线还包括在所述运动起始位置和所述运动终止位置所限定的目标运动区间外且超出所述运动终止位置的额外运动位置,且其中,所述额外运动位置所对应的预设作用力的方向与所述目标运动区间内的运动位置所对应的预设作用力的方向相反。

在一些实施例中,基于所述检测信息确定该机器人当前受到的外部作用力还包括:基于所述检测信息确定该机器人所受到的外部作用力矩,且该控制方法还包括:基于该机器人的当前姿态角度,确定与当前姿态角度相对应的预设姿态作用力矩;基于所述外部作用力矩与所述预设姿态作用力矩,计算得到该机器人的目标角度偏转量;以及根据所述目标角度偏转量控制该机器人的运动姿态角度。

在一些实施例中,该方法还包括:接收姿态控制信息,并基于所述姿态控制信息确定该机器人的姿态起始角度和姿态终止角度;根据所述姿态起始角度和所述姿态终止角度,确定该机器人的姿态运动路径;以及对该姿态运动路径中每一个姿态运动角度,确定该姿态运动角度所对应的预设姿态作用力矩。

在一些实施例中,基于所述外部作用力矩与所述预设姿态作用力矩计算得到该机器人的目标角度偏转量包括:基于所述外部作用力矩与所述预设姿态作用力矩,确定实际作用力矩;确定对应于该实际作用力矩的目标角度偏转量。

在一些实施例中,确定对应于该实际作用力矩的目标角度偏转量包括:利用机器人姿态导纳控制算法,确定对应于该实际作用力矩的目标角度偏转量。

在一些实施例中,在所述姿态起始角度和所述姿态终止角度,所述预设姿态作用力矩为零。

在一些实施例中,所述姿态运动路径还包括在所述姿态起始角度和所述姿态终止角度所限定的目标姿态区间外且超出所述姿态终止角度的额外姿态角度,且其中,所述额外姿态角度所对应的预设姿态作用力矩的方向与所述目标姿态区间内的姿态角度所对应的预设姿态作用力矩的方向相反。

根据本公开的另一方面,公开了一种机器人运动控制设备,包括:检测信息接收模块,其被配置为接收传感器的检测信息,并基于所述检测信息确定该机器人当前受到的外部作用力;预设作用力确定模块,其被配置为基于机器人的当前运动位置,确定与所述当前运动位置相对应的预设作用力;目标运动量确定模块,其被配置为基于所述外部作用力与所述预设作用力,确定该机器人的目标运动量;以及机器人运动控制模块,其被配置为根据所述目标运动量,控制该机器人的运动。

在一些实施例中,所述检测信息接收模块还被配置为基于所述检测信息确定该机器人所受到的外部作用力矩,且所述设备还包括:预设姿态作用力矩确定模块,其被配置为基于该机器人的当前姿态角度,确定与当前姿态角度相对应的预设姿态作用力矩;目标角度偏转量计算模块,其被配置为基于所述外部作用力矩与所述预设姿态作用力矩,计算得到该机器人的目标角度偏转量;以及运动姿态角度控制模块,其被配置为根据所述目标角度偏转量控制该机器人的运动姿态角度。

根据本公开的另一方面,公开了一种机器人,包括:一个或多个传感器,用于检测该机器人当前受到的外部作用力及外部作用力矩;处理器,存储器,所述存储器包括一组指令,所述一组指令在由所述处理器执行时使所述机器人执行如前所述的方法。

根据本公开的另一方面,提供了一种算机可读存储介质,其特征在于,其上存储有计算机可读的指令,当利用计算机执行所述指令时执行如上所述的方法。

利用本公开提供的机器人运动控制方法,可以很好的完成对机器人的运动控制,特别地,可具有较高的位置姿态控制准确度,且该方法具有良好的鲁棒性。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员而言,在没有做出创造性劳动的前提下,还可以根据这些附图获得其他的附图。以下附图并未刻意按实际尺寸等比例缩放绘制,重点在于示出本公开的主旨。

图1示出了根据本公开实施例的机器人运动控制方法100的示例性的流程图;

图2示出了根据本公开实施例的机器人运动控制方法中规划运动路线及设置预设作用力的过程200的示例性流程图;

图3示出了根据本公开实施例经由t形规划实现运动路线规划所得到的预设作用力-位置对照图;

图4示出了根据本公开的实施例的机器人运动控制方法中基于外部作用力与预设作用力确定该机器人的目标运动量的过程s103的示例性流程图;

图5示出了根据本公开实施例的机器人运动控制方法中实现运动姿态角度控制的过程的示例性流程图;

图6示出了根据本公开实施例的机器人运动控制方法中规划姿态运动路径并设置预设作用力矩的过程600的示例性流程图;

图7示出了根据本公开的实施例的机器人运动控制方法中基于外部作用力矩与预设姿态作用力矩确定该机器人的目标角度偏转量的过程s106的示例性流程图;

图8示出了根据本公开实施例的机器人的一种位置姿态控制系统框架800的示例性框图;

图9示出了根据本公开实施例的机器人运动控制设备900的示例性框图;

图10示出了根据本公开实施例的机器人950的示意图。

具体实施方式

下面将结合附图对本公开实施例中的技术方案进行清楚、完整地描述,显而易见地,所描述的实施例仅仅是本公开的部分实施例,而不是全部的实施例。基于本公开实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,也属于本公开保护的范围。

如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。

虽然本申请对根据本申请的实施例的系统中的某些模块做出了各种引用,然而,任何数量的不同模块可以被使用并运行在用户终端和/或服务器上。所述模块仅是说明性的,并且所述系统和方法的不同方面可以使用不同模块。

本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,根据需要,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。

人工智能(artificialintelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

本申请所述的机器人旨在表征能够利用笛卡尔力传感器实现笛卡尔零力控制的机器人,其例如可以是机械臂、并联机器人或三维转台等。本公开的实施例不受所述机器人的具体类型及其组成的限制。

目前在机器人运动控制中,例如在对机器人的运动位置进行控制时,通常首先在笛卡尔轨迹规划模块中,针对机器人的笛卡尔位移、笛卡尔速度、笛卡尔加速度相对时间变量进行规划从而得到机器人的目标运动轨迹s(t)、目标运动速度v(t)、目标运动加速度a(t),其后,在运动控制模块中,基于该目标运动轨迹s(t)目标运动速度v(t)、目标运动加速度a(t)来控制机器人的运动。

然而,使用上述运动控制方法时,一方面,由于运动轨迹与时间相关联,当运动期间存在障碍物使得其停滞在运动轨迹途中时,若预设的运动控制时间经过后,机器人将不再执行该运动控制任务,从而无法有效地实现对机器人位置姿态的精确控制;另一方面,在这样的控制方法属于高刚度控制,在其运动过程中若存在人机交互,则其无法与外部环境实现柔顺接触,其人机交互性能较差,无法实现良好的人机共融。

基于上述,为解决人机共融场景下的机器人的运动控制问题,本申请提出了一种基于人工智能的机器人运动控制方法,其基于检测信息确定机器人当前受到的外部作用力,并基于外部作用力及机器人当前运动位置所对应的预设作用力确定目标运动量,从而灵活且高精度地控制机器人的运动。图1示出了根据本公开实施例的机器人运动控制方法100的示例性流程图。

参照图1,首先,在步骤s101中,接收传感器的检测信息,并基于所述检测信息确定该机器人当前受到的外部作用力。

所述传感器例如可以为设置于机器人上的力传感器或设置于机器人末端(例如机器手臂的末端)的力矩传感器,用于检测作用于机器人上的外部作用力和作用于机器人末端的外部作用力矩。或者其也可以为其他类型的传感器,本公开的实施例不受所述传感器的类型及其个数的限制。

所述传感器的检测信息例如可以为传感器检测得到的机器人当前受到的外部作用力的具体数据,其例如采用单位牛顿(n)来表示。例如其检测信息指示外部作用力为5n,或者其也可以指示当前的外部作用力为3n。本公开的实施例不受所述检测信息的具体内容及其表示方式的限制。

机器人当前受到的外部作用力旨在表征在当前时刻下从该机器人外部施加到该机器人的作用力,其例如可以为外部环境施加至该机器人的作用力,例如障碍物所带来的阻力或摩擦力,或者其也可以为使用者施加至该机器人的力,例如使用者与机器人进行人机交互时作用于机器人上的力。本公开的实施例不受所述外部作用力的来源及其大小方向的限制。

其后,在步骤s102中,基于机器人的当前运动位置,确定与所述当前运动位置相对应的预设作用力。

所述当前运动位置旨在表征该机器人在当前时刻下所处的位置。当以机器人的初始位置为原点建立空间直角坐标系时,则例如可以通过机器人当前时刻下在该空间直角坐标系中的坐标向量来表示该机器人的位置。或者,也可以通过其他的方式表示该机器人的位置。本公开的实施例不受所述当前运动位置的具体内容及其表示方式的限制。

所述预设作用力旨在表征对应于机器人的特定位置而施加的用于驱动该机器人的作用力。其例如也可以采用牛顿(n)来表示。

基于当前运动位置确定对应的预设作用力的过程例如可以通过查找预先设定的运动位置与预设作用力对照图/对照表,获取与当前运动位置相对应的作用力作为预设作用力。或者其也可以通过其他的方式获得,本公开的实施例不受确定所述预设作用力的具体方式的限制。

得到外部作用力与预设作用力后,在步骤s103中,基于所述外部作用力与所述预设作用力,确定该机器人的目标运动量。

所述目标运动量例如可以包括该机器人的目标位移量,即其相对于当前位置需要运动的位移量。或者其也可以包括其他的运动参数。本公开的实施例不受所述目标运动量的具体组成的限制。

确定该机器人的目标运动量的过程例如可以更具体地描述,例如在该机器人中包括导纳控制算法,基于该导纳控制算法对所述外部作用力和预设作用力进行综合处理,以得到该机器人的目标运动量。然而,本公开的实施例不限于此。

得到目标运动量后,在步骤s104中,根据所述目标运动量,控制该机器人的运动。

基于上述,通过根据机器人的当前位置确定其所对应的预设作用力,并根据检测信息确定该机器人当前受到的外部作用力,使得能够基于所述外部作用力与所述预设作用力,确定该机器人的目标运动量。实现了基于预设的作用力与位置的关系,根据力规划来控制机器人的运动(例如机器人的运动位置)。相较于前述根据位移相对时间的关系来规划目标运动轨迹的方法,本申请所述的机器人运动方法一方面使得机器人的运动控制不受制于时间,即使机器人的运动过程中由于遇到障碍物而产生停滞,在该障碍物消除后其仍能够继续运动过程,从而保证了运动控制的可靠性和精确性;另一方面,由于能够自主地设置在不同运动位置处所具有的预设作用力,因此能够灵活地设置预设作用力的大小以实现低刚度控制,从而在机器人与外部环境和使用者进行交互时,避免直接的刚性碰撞,实现柔性接触,从而提高其人机交互体验,实现良好的人机共融。

在一些实施例中,在接收传感器的检测信息之前,所述机器人运动控制方法100还包括规划运动路线及设置预设作用力的过程。图2示出了根据本公开实施例的机器人运动控制方法中规划运动路线及设置预设作用力的过程200的示例性流程图。

参照图2,首先,在步骤s201中,接收位置控制信息,并基于所述位置控制信息确定该机器人的运动起始位置和运动终止位置。

所述位置控制信息旨在表征用于对该机器人的运动位置进行控制的信息。其例如包括机器人运动的运动起始位置和运动终止位置。或者其也可以包括其他类型的位置信息。本公开的实施例不受所述位置控制信息的具体组成及其内容的限制。

所述位置控制信息例如可以为用户手动键入或点选的信息,或者其也可以为与该机器人相通信的外部系统基于用户的输入命令生成的信息。本公开的实施例不受所述位置控制信息的来源的限制。

所述运动起始位置旨在表征该机器人运动的起始点位置,例如将该机器人的当前坐标位置作为其运动起始位置,或者也可以将指定坐标位置作为其运动起始位置。本公开的实施例不受所述运动起始位置的选取方式的限制。

所述运动终止位置旨在表征该机器人运动的终止点位置,例如将用户输入的终点位置坐标作为其运动终止位置,或者也可以将指定坐标位置作为其运动终止位置。本公开的实施例不受所述运动终止位置的选取方式的限制。

其后,在步骤s202中,根据所述运动起始位置和所述运动终止位置,确定该机器人的运动路线。

例如可以将连接该运动起始位置和运动终止位置且具有最短距离路线确定为机器人的运动路线;或者在该位置信息中包括障碍物位置信息时,此时例如将该障碍物位置信息、运动起始位置、运动终止位置输入至预设算法,经由该预设算法的处理生成从该起始运动位置至该终止运动位置且不通过障碍物的最佳运动路径,将该最佳运动路径确定为机器人的运动路线。

得到运动路线后,在步骤s203中,对该运动路线中的每一个运动位置,确定该运动位置所对应的预设作用力。

上述确定运动路线并确定该运动路线中运动位置所对应的预设作用力的过程,例如可以通过t形规划实现,或者其也可以通过样条曲线规划或五次曲线规划等函数实现。本公开的实施例不受该运动路线规划过程所采用的具体方法及其表示形式的限制。

图3示出了根据本公开实施例经由t形规划实现运动路线规划所得到的预设作用力-位置对照图。

参照图3,当采用t形规划时,若根据位置控制信息得到该机器人的运动起始位置为s0,运动终止位置为sf,且例如设置该机器人的预设作用力fd的阈值为f1以便实现低刚度的运动控制。则例如设置预设作用力-位置对照关系如下方程组所示:

其中,fd为预设作用力,s0为运动起始位置,sf是运动终止位置,s1和s2为在运动起始位置与运动终止位置之间的目标运动区间中设置的过渡点,s3是越过运动终止位置后设置的过渡点。f1、f2是恒定的驱动力,其中驱动力f1与驱动力f2的方向相反,例如驱动力f1具有第一驱动方向,驱动力f2具有第二驱动方向,且驱动力f1的绝对值大于驱动力f2的绝对值。

基于上述方程组1)绘制得到如图3所示出的预设作用力-位置对照图。且根据该方程组即对照图可知,在该路线规划中,在该运动起始位置s0至过渡点s1之间,该机器人的预设作用力具有第一作用力方向,且其驱动力从0n匀速增加至驱动力f1,在该运动过渡点s1至运动过渡点s2之间,该机器人的预设作用力保持为驱动力f1,在该运动过渡点s2至运动终止位置sf之间,该机器人的预设作用力从驱动力f1匀速降低至0n。

当该机器人越过运动终止位置sf后,当该机器人在该运动终止位置sf至过渡点s3之间,该机器人的预设作用力方向改变,从第一运动方向变换为与该第一运动方向相反的第二运动方向,且其从0n匀速增加至驱动力f2;当该机器人超出该运动过渡点s3,该机器人的预设作用力保持为驱动力f2。

基于上述,本申请中,根据位置控制信息确定该机器人的运动起始位置和运动终止位置,并进一步地确定该机器人的运动路线及该运动路线中每一个运动位置所具有的预设作用力,使得将机器人的位置作为自变量,将预设作用力作为因变量,基于用户的指令,根据实际任务实现对预设作用力与位置的对照关系的规划,从而使得后续能够实现根据机器人的位置获得其所对应的预设作用力,实现精确且可靠的运动控制。

在一些实施例中,如图2所示出的,在所述运动起始位置和所述运动终止位置,所述预设作用力为零,即在运动起始位置及运动终止位置处于零力控制状态。

通过将运动起始位置和运动终止位置的预设作用力设置为0,使得在机器人按照预设作用力-位置对照关系实现运动的过程中,能够使得该机器人在其运动起始位置和运动终止位置处均不具有预设作用力(无预设加速度),即使得其能够实现平稳地运动过程,且能够可靠地定位在运动终止位置处,有利于实现对该机器人的精确控制。

在一些实施例中,所述运动路线还包括在所述运动起始位置和所述运动终止位置所限定的目标运动区间外且超出所述运动终止位置的额外运动位置,且其中,所述额外运动位置所对应的预设作用力的方向与所述目标运动区间内的运动位置所对应的预设作用力的方向相反。

例如,所述额外运动位置例如可以仅为超出所述终止位置的单个运动位置;或者其也可以为超出所述终止位置的多个运动位置,如图3中所示出的超出所述运动终止位置sf的多个运动位置。本公开的实施例不受所述额外运动位置的具体个数的限制。

基于上述,通过设置超出所述运动终止位置的额外运动位置所对应的预设作用力的方向与目标运动区间内的运动位置所对应的预设作用力的方向相反,使得当机器人由于收到外部力的作用而越过运动终止位置时,其仍旧能够回复到该终止位置处,从而使得能够简单便捷的根据该机器人的实际位置来调整其运动方向,使得当机器人的当前位置位于目标运动区间内或目标运动区间外时,该机器人均能经由本申请所述的运动控制过程移动至预设的运动终止位置。从而进一步地增强运动控制的灵活度及鲁棒性。

在一些实施例中,所述基于所述外部作用力与所述预设作用力确定该机器人的目标运动量的过程s103能够更具体地描述。图4示出了根据本公开的实施例的机器人运动控制方法中基于外部作用力与预设作用力确定该机器人的目标运动量的过程s103的示例性流程图。

参照图4,首先,在步骤s1031中,基于所述外部作用力与所述预设作用力,计算得到实际作用力。

所述实际作用力旨在表征该机器人当前时刻实际受到的作用力。其例如可以通过将所述预设作用力与外部作用力输入至预设算法计算得到,例如将所述外部作用力与所述预设作用力直接加和得到。本公开的实施例不受所述实际作用力的具体计算方式的限制。

得到实际作用力后,在步骤s1032中,确定对应于该实际作用力的目标运动量。

确定目标运动量的过程例如可以为:将该实际作用力乘以预设比例系数以得到与该实际作用力相对应的目标运动量,且其中,所述比例系数例如可以基于实际需要进行选取。或者也可以将该实际作用力代入至预设算法或函数中进行计算,得到目标运动量。本公开的实施例不受确定所述目标运动量的具体方式的限制。

基于上述,通过基于外部作用力与预设作用力计算得到实际作用力,并根据该实际作用力确定目标运动量,使得在该机器人的运动过程中,将综合考虑到运动路线中当前位置的预设作用力与用户或外部环境中障碍物所带来的外部作用力对该机器人运动的影响,从而实现对该机器人的灵活控制,且有利于提高该机器人的人机交互能力。

在一些实施例中,确定对应于该实际作用力的目标运动量包括:利用机器人位置导纳控制算法,确定对应于该实际作用力的目标运动量。

所述位置导纳控制算法例如可以为一维导纳控制算法,或者其也可以为多维导纳控制算法。本公开的实施例不受所述位置导纳控制算法的具体内容及其表示方式的限制。

例如,若通过将该机器人当前位置对应的预设作用力与外部作用力相加和得到实际作用力,并采用一维导纳控制算法计算目标运动量时,该一维导纳控制算法例如可以通过表示如下:

其中,fi为该机器人当前受到的外部作用力,fd为该机器人当前位置所对应的预设作用力,x为该机器人当前时刻的加速度、速度以及其相对于运动初始位置的位移量。x0为该机器人在运动初始位置所具有的加速度、速度以及位移量。且其中,m为第一比例系数、c为第二比例系数、k为第三比例系数,且该第一、第二、第三比例系数均基于于实际需要进行选取设置。

且若设置该机器人在运动初始位置所具有的加速度、速度以及位移均为0(即),则能够将上述公式简化为:

其中,fi为该机器人当前受到的外部作用力,fd为该机器人当前位置所对应的预设作用力,x为该机器人当前位置下的加速度、速度以及其相对于运动初始位置的位移量。m为第一比例系数、c为第二比例系数,且该第一、第二比例系数均基于实际需要进行选取设置。

基于该简化后的一维导纳控制公式3),对该一维导纳控制公式3)进行拉普拉斯变换,则能够得到如下公式:

其中,fd(s)为对应于预设作用力fd的拉普拉斯变换量,fi(s)为对应于外部作用力fi的拉普拉斯变换量,s为拉普拉斯变量,xd(s)对应于该机器人在该当前位置下计算得到的目标运动量的拉普拉斯变换量。

基于该拉普拉斯变换后得到的公式4),根据离散系统的控制原理,能够计算得到该实际作用力所对应的目标运动量,其表示如下:

其中,t表征在时间离散域上与拉普拉斯变量相对应的变量,xd(t)表征该机器人在当前位置处计算得到的目标运动量,fi(t)表征该机器人在当前位置处受到的外部作用力,fd(t)表征该机器人当前位置所对应的预设作用力,xd(t-1)表征该机器人在当前位置的前一位置处所对应的目标运动量,ts为采样频率,其根据实际需求设置。且其中,m为第一比例系数、c为第二比例系数,且该第一、第二比例系数均基于实际需要进行选取设置。

基于上述,通过采用位置导纳算法对实际作用力进行处理从而得到该实际作用力所对应的目标运动量,使得能够便捷且精确实时地实现对于目标运动量的计算,从而有利于实现对于该机器人运动的灵活可靠控制。

在一些实施例中,所述传感器的检测信息例如可以为传感器检测得到的机器人当前受到的外部作用力矩的具体数据,其例如采用单位牛顿-米(n·m)来表示。基于所述检测信息确定该机器人当前受到的外部作用力还包括:基于所述检测信息确定该机器人所受到的外部作用力矩。所述外部作用力矩例如为作用于该机器人末端的力矩。且在该情况下,该控制方法还包括控制机器人的运动姿态角度的过程。

图5示出了根据本公开实施例的机器人运动控制方法中实现运动姿态角度控制的过程的示例性流程图。

参照图5,首先,在步骤s105中,基于该机器人的当前姿态角度,确定与当前姿态角度相对应的预设姿态作用力矩。

所述当前姿态角度旨在表征该机器人在当前时刻下具有的具体姿态。当以机器人基准点(例如机器人末端的初始姿态)为原点建立空间直角坐标系时,则例如可以通过机器人末端在当前时刻下绕x,y,z轴的旋转角度a,β,r来表示该机器人的姿态角度,例如得到姿态角度向量(a1,β1,r1)。或者,也可以通过其他的方式表示该机器人的当前姿态角度。本公开的实施例不受所述当前姿态角度的内容及其表示方式的限制。

所述预设姿态作用力矩旨在表征对应于机器人的特定姿态角度而施加的用于驱动该机器人实现姿态变化的作用力矩。其例如也可以采用牛顿-米(n·m)的单位来表示。

基于当前姿态角度确定对应的预设姿态作用力矩的过程例如可以通过查找预先设定的姿态角度与预设姿态作用力矩对照图/对照表,获取与当前姿态角度相对应的作用力矩作为预设姿态作用力矩。或者其也可以通过其他的方式获得,本公开的实施例不受确定所述预设姿态作用力矩的具体方式的限制。

其后,在步骤s106中,基于所述外部作用力矩与所述预设姿态作用力矩,计算得到该机器人的目标角度偏转量。

所述角度偏转量例如可以包括该机器人末端相对于预设的直角坐标系绕x,y,z轴的旋转角度量,即其相对于当前姿态角度需要旋转的角度量。本公开的实施例不受所述角度偏转量的具体组成的限制。

确定该机器人的角度偏转量的过程例如可以更具体地描述,例如在该机器人中包括导纳控制算法,基于该导纳控制算法对所述外部作用力矩和预设姿态作用力矩进行综合处理,以得到该机器人的角度偏转量。然而,本公开的实施例不限于此。

得到该目标角度偏转量后,在步骤s107中,根据所述目标角度偏转量控制该机器人的运动姿态角度。

例如,基于该目标角度偏转量,经过逆向运动学计算得到各个关节的偏转量,再经过比例微分积分(pid)控制器即可以实现关节驱动力矩的计算,通过每个周期的关节控制偏差实现笛卡尔空间的姿态控制。

基于上述,通过根据机器人的姿态角度确定其所对应的预设姿态作用力矩,并根据检测信息确定该机器人当前受到的外部作用力矩,使得能够基于所述外部作用力矩与所述预设姿态作用力矩,确定该机器人的目标角度偏转量。实现了基于预设的作用力矩与姿态角度的关系,根据力规划来控制机器人的运动姿态,本申请所述的机器人运动控制方法,一方面使得机器人的运动控制不受制于时间,即使机器人的运动过程中由于遇到障碍物而产生停滞,在该障碍物消除后其仍能够继续运动过程,从而保证了运动控制的可靠性和精确性;另一方面,由于能够自主地设置在不同姿态角度处所具有的预设姿态作用力矩,因此能够灵活地设置预设姿态作用力矩的大小以实现低刚度控制,从而在机器人与外部环境和使用者进行交互时,避免直接的刚性碰撞,实现柔性接触,从而提高其人机交互体验,实现良好的人机共融。

应了解,上述步骤s105-s107的姿态控制过程能够与上述步骤s101-104的运动位置控制过程同时进行,或者按照顺序进行。本公开的实施例不受姿态控制过程与位置控制过程的执行顺序的限制。

在一些实施例中,在接收传感器的检测信息之前,所述机器人运动控制方法100还包括规划姿态运动路径并设置预设作用力矩的过程。图6示出了根据本公开实施例的机器人运动控制方法中规划姿态运动路径并设置预设作用力矩的过程600的示例性流程图。

参照图6,首先在步骤s601中,接收姿态控制信息,并基于所述姿态控制信息确定该机器人的姿态起始角度和姿态终止角度。

所述姿态控制信息旨在表征用于对该机器人的运动姿态进行控制的信息。其例如包括机器人运动的姿态起始角度和姿态起始角度。或者其也可以包括其他类型的姿态信息。本公开的实施例不受所述姿态控制信息的具体组成及其内容的限制。

所述姿态控制信息例如可以为用户手动键入或点选的信息,或者其也可以为与该机器人相通信的外部系统基于用户的输入命令生成的信息。本公开的实施例不受所述姿态控制信息的来源的限制。

所述姿态起始角度旨在表征该机器人运动的起始姿态,例如将该机器人的当前姿态角度作为其姿态起始角度,或者也可以将指定姿态角度作为其姿态起始角度。本公开的实施例不受所述姿态起始角度的选取方式的限制。

所述姿态终止角度旨在表征该机器人运动的终止姿态,例如将用户输入的终点位置坐标作为其姿态终止角度,或者也可以将指定坐标位置作为其姿态终止角度。本公开的实施例不受所述姿态终止角度的选取方式的限制。

其后,在步骤s602中,根据所述姿态起始角度和所述姿态终止角度,确定该机器人的姿态运动路径。

例如可以确定从该姿态起始角度至该姿态终止角度所需的最小转动量时的旋转轴和绕该旋转轴所转动的旋转角度,基于该旋转轴及旋转角度确定姿态运动路径,或者也可以基于其他方式确定姿态运动路径,本公开的实施例不受所述姿态运动路径的具体确定方式的限制。

确定姿态运动路径后,在步骤s603中,对该姿态运动路径中每一个姿态运动角度,确定该姿态运动角度所对应的预设姿态作用力矩。

上述确定姿态运动路径并确定该姿态运动路径中运动位置所对应的预设作用力的过程,例如可以通过t形规划实现,或者其也可以通过样条曲线规划或五次曲线规划等函数实现。本公开的实施例不受该姿态运动路径规划过程所采用的具体方法及其表示形式的限制。

例如,若该机器人为机械手臂,且该机械手臂末端的姿态起始角度为姿态终止角度为则例如将该姿态起始角度及姿态终止角度在直角坐标系的x,y,z上分别投影并向量化处理,得到姿态起始角度及姿态终止角度所对应的姿态角度矩阵如下:

其中,a0为姿态起始角度所对应的姿态角度矩阵,其包括其绕x轴的三维旋转角度向量n0,绕y轴的三维旋转角度向量o0和绕z轴的三维旋转角度向量a0;af为姿态终止角度所对应的姿态角度矩阵,其包括其绕x轴的三维旋转角度向量nf,绕y轴的三维旋转角度向量of和绕z轴的三维旋转角度向量af。

基于上述姿态角度矩阵,能够计算得到姿态起始角度及姿态终止角度之间的偏差量,其具体表示如下:

其中,e0表征姿态起始角度及姿态终止角度之间的偏差量,r表征从该姿态起始角度旋转至姿态终止角度所需的旋转轴矢量,φo表征绕该旋转轴矢量r所需旋转的目标旋转角度量。

且其中,旋转轴矢量r及目标旋转角度量φo例如能够通过如下公式计算:

基于上述,通过计算能够得到从该姿态起始角度至该姿态终止角度所需的最小转动量时的旋转轴和绕该旋转轴所转动的旋转角度,从而能够根据该旋转轴及旋转角度确定姿态运动路径。

其后,根据所确定的姿态运动路径实现预设姿态作用力矩设置的过程例如能够更具体地描述。例如设置该机器人的末端预设姿态作用力矩τ=(τx,τy,τz)τ,其中τx,τy,τz分别对应于该末端绕三维直角坐标系x轴、y轴、z轴旋转的驱动力矩。则该预设姿态作用力矩例如能够通过如下所述的公式计算:

其中,表征该机器人末端的当前姿态角度,r为旋转轴矢量,表征该机器人末端绕旋转轴矢量的旋转角速度。其该当前姿态角度例如为姿态起始角度至姿态终止角度之间的姿态角度。据此,通过对旋转角速度的规划间接地实现了对该机器人末端的预设姿态作用力矩τ的规划。

基于上述,本申请中,根据姿态控制信息确定该机器人的姿态起始角度和姿态终止角度,并进一步地确定该机器人的姿态运动路径及该姿态运动路径中每一个姿态运动角度所具有的预设姿态作用力矩,使得将机器人的姿态角度作为自变量,将预设姿态作用力矩作为因变量,基于用户的指令,根据实际任务实现对预设姿态作用力矩与姿态角度的对照关系的规划,从而使得后续能够实现根据机器人的姿态角度获得其所对应的预设姿态作用力矩,实现精确且可靠的运动控制。

在一些实施例中,在所述姿态起始角度和所述姿态终止角度,所述预设姿态作用力矩为零。

通过将姿态起始角度和姿态终止角度的预设姿态作用力矩设置为0,使得在机器人按照预设作用力力矩-姿态角度对照关系实现运动的过程中,能够使得该机器人在其姿态起始角度和姿态终止角度处均不具有预设姿态作用力矩(无预设角加速度),即使得其能够实现平稳地姿态变化过程,且能够可靠地定位在姿态终止角度处,有利于实现对该机器人姿态的精确控制。

在一些实施例中,所述姿态运动路径还包括在所述姿态起始角度和所述姿态终止角度所限定的目标姿态区间外且超出所述姿态终止角度的额外姿态角度。

且其中,所述额外姿态角度所对应的预设姿态作用力矩的方向与所述目标姿态区间内的姿态角度所对应的预设姿态作用力矩的方向相反。

例如,所述额外姿态角度例如可以仅为超出所述终止位置的单个姿态角度;或者其也可以为超出所述终止位置的多个姿态角度。本公开的实施例不受所述额外姿态角度的具体个数的限制。

例如,若根据相对直角坐标系中x,y,z轴的偏转角度来表示姿态角度,则若机器人的姿态起始角度为(10,0,0),机器人的姿态终止角度为(30,0,0),则例如在姿态起始角度和所述姿态终止角度所限定的目标姿态区间内有第一姿态角度且其对应于第一预设姿态作用力矩t1,且设置额外姿态角度(40,0,0),使得额外姿态角度所对应的第二预设姿态作用力矩t2,则能够设置所述第一预设姿态作用力矩t1与第二预设姿态作用力矩t2的方向相反。

基于上述,通过设置超出所述姿态终止角度的额外姿态角度所对应的预设姿态作用力矩的方向与目标运动区间内的姿态角度所对应的预设姿态作用力矩的方向相反,使得当机器人由于收到外部力矩的作用而越过姿态终止角度时,其仍旧能够回复到该姿态终止角度处,从而使得能够简单便捷的根据该机器人的实际姿态来调整其运动方向,使得当机器人的姿态角度位于目标运动区间内或目标运动区间外时,该机器人均能经由本申请所述的运动控制过程移动至预设的姿态终止角度。从而进一步地增强姿态控制的灵活度及鲁棒性。

在一些实施例中,所述基于所述外部作用力矩与所述预设姿态作用力矩确定该机器人的目标角度偏转量的过程s106能够更具体地描述。图7示出了根据本公开的实施例的机器人运动控制方法中基于外部作用力矩与预设姿态作用力矩确定该机器人的目标角度偏转量的过程s106的示例性流程图。

参照图7,首先,在步骤s1061中,基于所述外部作用力矩与所述预设姿态作用力矩,确定实际作用力矩。

所述实际作用力矩旨在表征该机器人当前时刻实际受到的作用力矩。其例如可以通过将所述预设姿态作用力矩与外部作用力矩输入至预设算法计算得到,例如将所述外部作用力矩与所述预设姿态作用力矩矢量加和得到。本公开的实施例不受所述实际作用力矩的具体计算方式的限制。

得到实际作用力矩后,在步骤s1062中,确定对应于该实际作用力矩的目标角度偏转量。

确定目标角度偏转量的过程例如可以为:将该实际作用力矩乘以预设比例系数以得到与该实际作用力矩相对应的目标角度偏转量,且其中,所述比例系数例如可以基于实际需要进行选取。或者也可以将该实际作用力矩代入至预设算法或函数中进行计算,得到目标角度偏转量。本公开的实施例不受确定所述目标角度偏转量的具体方式的限制。

基于上述,通过基于外部作用力矩与预设姿态作用力矩计算得到实际作用力矩,并根据该实际作用力矩确定目标运动量,使得在该机器人的运动过程中,将综合考虑到运动路线中当前姿态角度的预设姿态作用力矩与用户或外部环境中障碍物所带来的外部作用力矩对该机器人运动的影响,从而实现对该机器人的灵活姿态控制,且有利于提高该机器人的人机交互能力。

在一些实施例中,确定对应于该实际作用力矩的目标角度偏转量包括:利用机器人姿态导纳控制算法,确定对应于该实际作用力矩的目标角度偏转量。

所述姿态导纳控制算法例如可以为多维导纳控制算法。本公开的实施例不受所述姿态导纳控制算法的具体内容及其表示方式的限制。

接下来,将基于具体应用场景对本公开所提出的运动控制方法进行说明。图8示出了根据本公开实施例的机器人的一种位置姿态控制系统框架800的示例性框图。

参照图8,其中所述机器人位置姿态控制系统框架例如用于控制机械臂的运动位置及该机械臂末端的姿态。所述系统框架800中包括:笛卡尔力/力矩规划模块、导纳控制模块、逆运动学计算模块、关节pid控制模块、机械臂关节模块、机械臂模块及正运动学计算模块。

当用户指示该机械臂执行特定的位置和/或姿态运动时,首先,用户输入的位置和/或姿态控制信息将输入至笛卡尔力/力矩规划模块,其将基于如上所述的方法实现对运动路线及姿态运动路径的规划。

下面将结合图8中的力规划过程进行说明,例如当用户指示机械臂从运动起始位置a至运动终止位置b的平移运动,该笛卡尔力/力矩规划模块将基于如前所述的方法,规划该机械臂从运动起始位置a至运动终止位置b的运动路线l1,并对该运动路线中的每一个运动位置设置对应的预设作用力,生成预设作用力-位置对照关系,并将计算所得到的预设作用力与机器人位置的对应关系fd(s)(例如上述方程组1)的对应关系)输入至导纳控制模块。

导纳控制模块一方面被配置为实时地接收来自传感器的检测信息,基于该检测信息确定当前接收的外部作用力/力矩;另一方面被配置为接收由正运动学计算模块输出的该机械臂的当前位置及姿态角度,并基于预设作用力-位置对照关系或预设姿态作用力矩-姿态角度对照关系来确定实际作用力/力矩,并根据导纳控制算法计算得到该实际作用力所对应的目标运动量,该实际作用力矩所对应的目标角度偏转量,且将计算结果输出。

例如当进行如图8所述的位置运动控制时,其将根据传感器的输入信息确定当前的外部作用力fi,并基于该机器臂的当前位置确定对应的预设作用力fd,并且通过导纳控制算法计算对应的目标运动量δx。

得到所述目标运动量后,基于该目标运动量对该机械臂进行控制的过程包括:经由逆运动学模块,根据该目标运动量,确定为实现该目标运动量该机械臂中各关节所需要的角度变化量,得到机械臂各关节的目标关节角度变化量集合δq,其后,关节pid控制器将根据该目标关节角度变化量集合δq生成每个关节的目标关节控制力矩τ,其后,根据每个关节对应的目标关节控制力矩控制该机械臂关节,从而控制该机械臂的运动。且在该控制中,将会将机械臂各关节的当前运动角度qr实时地反馈至逆运动学计算模块及关节pid控制模块,以根据实际的关节运动状态实时调整。且通过正运动学计算模块获取该机械臂的运动位置,并将该机械臂的当前位置xr输出至导纳控制模块。据此,机械臂在整个运动控制过程中均处于低刚度的柔顺控制状态,不仅可以保证位置控制精度,也可以有效确保与外部环境及使用者的良好人机交互,从而降低其在运动过程中对使用者的伤害,提高对其位置姿态控制的可靠性及鲁棒性。

根据本公开的另一方面,提出了一种机器人运动控制设备900。图9示出了根据本公开实施例的机器人运动控制设备900的示例性框图。

如图9所示的机器人运动控制设备900包括检测信息接收模块910、预设作用力确定模块920、目标运动量确定模块930和机器人运动控制模块940。其能够执行图1所示出的流程。

其中,检测信息接收模块910被配置为执行图1中步骤s101的操作,接收传感器的检测信息,并基于所述检测信息确定该机器人当前受到的外部作用力。

所述预设作用力确定模块920配置为执行图1中步骤s102的操作,基于机器人的当前运动位置,确定与所述当前运动位置相对应的预设作用力。

所述目标运动量确定模块930配置为执行图1中步骤s103的操作,基于所述外部作用力与所述预设作用力,确定该机器人的目标运动量。

机器人运动控制模块940配置为执行图1中步骤s104的操作,根据所述目标运动量,控制该机器人的运动。

在一些实施例中,所述检测信息接收模块910还被配置为基于所述检测信息确定该机器人所受到的外部作用力矩。且其中,所述设备还包括预设姿态作用力矩确定模块950、目标角度偏转量计算模块960及运动姿态角度控制模块970。其能够执行如图5所述的过程,实现对机器人的运动姿态角度的控制。

所述预设姿态作用力矩确定模块950被配置为执行图5中步骤s105的操作,基于该机器人的当前姿态角度,确定与当前姿态角度相对应的预设姿态作用力矩。

所述目标角度偏转量计算模块960被配置为执行图5中步骤s106的操作,基于所述外部作用力矩与所述预设姿态作用力矩,计算得到该机器人的目标角度偏转量。

所述运动姿态角度控制模块970被配置为执行图5中步骤s107的操作,根据所述目标角度偏转量控制该机器人的运动姿态角度。

在一些实施例中,所述机器人运动控制设备900可以接收来自该机器人运动控制设备900外部的输入控制信息和/或检测信息,并根据该输入控制信息和/或检测信息执行上文所描述的机器人运动控制方法、实现上文所描述的功能。

根据本公开的另一方面,提出了一种机器人。图10示出了根据本公开实施例的机器人950的示意图。

参照图10,所述机器人950包括:一个或多个传感器960,其用于检测该机器人当前受到的外部作用力及外部作用力矩;处理器970;存储器980,所述存储器包括一组指令,所述一组指令在由所述处理器执行时使所述机器人执行如前所述的方法,实现如上所述的功能。

其中,所述处理器用于执行程序指令。所述存储器980在机器人950中可以以不同形式的程序储存单元以及数据储存单元存在,例如硬盘、只读存储器(rom)、随机存取存储器(ram),其能够用于存储处理器处理和/或执行目标跟踪过程中使用的各种数据文件,以及处理器所执行的可能的程序指令。虽然未在图中示出,但机器人950还可以包括一个输入/输出组件,支持机器人950与其他组件之间的输入/输出数据流。机器人950也可以通过通信端口从网络发送和接收信息及数据。

尽管在图10中,处理器970、存储器980呈现为单独的模块,本领域技术人员可以理解,上述设备模块可以被实现为单独的硬件设备,也可以被集成为一个或多个硬件设备。只要能够实现本公开描述的原理,不同的硬件设备的具体实现方式不应作为限制本公开保护范围的因素。

根据本公开的另一方面,还提供了一种非易失性的计算机可读存储介质,其上存储有计算机可读的指令,当利用计算机执行所述指令时可以执行如前所述的方法。

技术中的程序部分可以被认为是以可执行的代码和/或相关数据的形式而存在的“产品”或“制品”,通过计算机可读的介质所参与或实现的。有形的、永久的储存介质可以包括任何计算机、处理器、或类似设备或相关的模块所用到的内存或存储器。例如,各种半导体存储器、磁带驱动器、磁盘驱动器或者类似任何能够为软件提供存储功能的设备。

所有软件或其中的一部分有时可能会通过网络进行通信,如互联网或其他通信网络。此类通信可以将软件从一个计算机设备或处理器加载到另一个。例如:从目标跟踪设备的一个服务器或主机计算机加载至一个计算机环境的硬件平台,或其他实现系统的计算机环境,或与提供目标跟踪所需要的信息相关的类似功能的系统。因此,另一种能够传递软件元素的介质也可以被用作局部设备之间的物理连接,例如光波、电波、电磁波等,通过电缆、光缆或者空气等实现传播。用来载波的物理介质如电缆、无线连接或光缆等类似设备,也可以被认为是承载软件的介质。在这里的用法除非限制了有形的“储存”介质,其他表示计算机或机器“可读介质”的术语都表示在处理器执行任何指令的过程中参与的介质。

本申请使用了特定词语来描述本申请的实施例。如“第一/第二实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。

此外,本领域技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。

除非另有定义,这里使用的所有术语(包括技术和科学术语)具有与本发明所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。

上面是对本发明的说明,而不应被认为是对其的限制。尽管描述了本发明的若干示例性实施例,但本领域技术人员将容易地理解,在不背离本发明的新颖教学和优点的前提下可以对示例性实施例进行许多修改。因此,所有这些修改都意图包含在权利要求书所限定的本发明范围内。应当理解,上面是对本发明的说明,而不应被认为是限于所公开的特定实施例,并且对所公开的实施例以及其他实施例的修改意图包含在所附权利要求书的范围内。本发明由权利要求书及其等效物限定。

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