机器人及其关节运动控制方法和装置与流程

文档序号:13621811阅读:1852来源:国知局
机器人及其关节运动控制方法和装置与流程

本发明涉及机器人领域,具体而言,涉及一种机器人及其关节运动控制方法和装置。



背景技术:

轨迹规划就是根据机器人自身任务求得从运动开始位置到目标终点位置之间路径函数。在实际运动控制中,机器人运动关节的位移角度、速度和加速度约束了该运动过程,路径规划的目标是使得机器人的运动过程精确、平稳、无冲击力。

机器人的运动可以细分成快速运动和慢速运动。在慢速运动时,路径规划较为简单,只要确保运动的关节角度不超出限制即可,而快速运动时,由于关节动作较快,要求机器人运动时动作连续,不允许出现速度、加速度超出限制或者突变的情况,如果出现严重情况会损坏机械硬件,造成不必要的损失。

目前,对不同机器人关节的不同运动情况都采用单一的路径规划方法,现有关节轨迹插值方法为:抛物线法轨迹规划、三次多项式或高次多项式等;两种方法可再细分为过路径点和不过路径点。在机器人运动过程中,某些关节需要实现连续路径作业,而有些关节是点位作业,单纯使用某一种轨迹方法实现运动必然有以下的局限性:第一、过路径点的抛物线法存在多解,且未对加速度曲线加以约束,在实际使用中,机器人系统容易受到冲击、产生振动。第二、高阶多项式法轨迹拟合尽管可以保证速度和加速度曲线平滑连续,但有较多系数需要求解,计算复杂。

针对相关技术中机器人的关节运动轨迹计算方法单一导致的局限性高的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明的主要目的在于提供一种机器人及其关节运动控制方法和装置,以解决机器人的关节运动轨迹计算方法单一导致的局限性高的问题。

为了实现上述目的,根据本发明的一个方面,提供了一种机器人关节运动控制方法,该方法包括:获取机器人的目标关节的目标运动类型,其中,目标运动类型为目标关节运动的目的类型,目标运动类型包括点位运动和连续运动;根据目标关节的目标运动类型确定目标关节的运动轨迹计算方法;通过运动轨迹计算方法计算目标关节的运动轨迹;以及控制目标关节按照运动轨迹运动。

进一步地,根据目标关节的目标运动类型确定目标关节的运动轨迹计算方法包括:如果目标运动类型为点位运动,则确定目标关节的运动轨迹计算方法为抛物线算法,通过运动轨迹计算方法计算目标关节的运动轨迹包括:通过抛物线算法拟合起始位置和终点位置之间的运动轨迹,控制目标关节按照运动轨迹运动包括:控制目标关节按照抛物线算法拟合的起始位置和终点位置之间的运动轨迹运动。

进一步地,通过抛物线算法拟合起始位置和终点位置之间的运动轨迹包括:拟合第一运动轨迹为抛物线,其中,第一运动轨迹为通过起始位置起第一预设时间段内以及到达终点位置前的第二预设时间段内的运动轨迹;拟合第二运动轨迹为直线,其中,第二运动轨迹为第一预设时间段的终点与第二预设时间段的起点之间的运动轨迹。

进一步地,根据目标关节的目标运动类型确定目标关节的运动轨迹计算方法包括:如果目标运动类型为连续运动,则确定目标关节的运动轨迹计算方法为高阶多项式算法,通过运动轨迹计算方法计算目标关节的运动轨迹包括:通过高阶多项式算法拟合起始位置和终点位置之间的运动轨迹,其中,运动轨迹经过起始位置和终点位置之间的预设路径点,预设路径点为连续运动经过的路径点,控制目标关节按照运动轨迹运动包括:控制目标关节按照高阶多项式算法拟合的起始位置和终点位置之间的运动轨迹运动。

进一步地,高阶多项式算法为三次多项式算法。

进一步地,三次多项式算法的运动轨迹表达式为:θ(t)=a0+a1t+a2t2+a3t3,其中,a0表示第一系数,a1表示第二系数,a2表示第三系数,a3表示第四系数,t表示时间,θ(t)表示关节运动的角度,通过运动轨迹计算方法计算目标关节的运动轨迹包括:通过预设的约束条件计算第一系数、第二系数、第三系数和第四系数,通过运动轨迹表达式计算目标关节的运动轨迹。

进一步地,目标关节包括第一关节和第二关节,第一关节的目标运动类型为点位运动,第二关节的目标运动类型为连续运动,根据目标关节的目标运动类型确定目标关节的运动轨迹计算方法包括:根据第一关节的目标运动类型确定第一关节的运动轨迹计算方法为抛物线算法,根据第二关节的目标运动类型确定第二关节的运动轨迹计算方法为高阶多项式算法。

为了实现上述目的,根据本发明的另一方面,还提供了一种机器人关节运动控制装置,该装置包括:获取单元,用于获取机器人的目标关节的目标运动类型,其中,目标运动类型为目标关节运动的目的类型,目标运动类型包括点位运动和连续运动;确定单元,用于根据目标关节的目标运动类型确定目标关节的运动轨迹计算方法;计算单元,用于通过运动轨迹计算方法计算目标关节的运动轨迹;以及控制单元,用于控制目标关节按照运动轨迹运动。

进一步地,确定单元用于在目标运动类型为点位运动时,确定目标关节的运动轨迹计算方法为抛物线算法,计算单元用于通过抛物线算法拟合起始位置和终点位置之间的运动轨迹,以及控制单元用于控制目标关节按照抛物线算法拟合的起始位置和终点位置之间的运动轨迹运动。

进一步地,计算单元包括:第一拟合模块,用于拟合第一运动轨迹为抛物线,其中,第一运动轨迹为通过起始位置起第一预设时间段内以及到达终点位置前的第二预设时间段内的运动轨迹;以及第二拟合模块,用于拟合第二运动轨迹为直线,其中,第二运动轨迹为第一预设时间段的终点与第二预设时间段的起点之间的运动轨迹。

进一步地,确定单元用于在目标运动类型为连续运动时,确定目标关节的运动轨迹计算方法为高阶多项式算法,计算单元用于通过高阶多项式算法拟合起始位置和终点位置之间的运动轨迹,其中,运动轨迹经过起始位置和终点位置之间的预设路径点,预设路径点为连续运动经过的路径点,控制单元用于控制目标关节按照高阶多项式算法拟合的起始位置和终点位置之间的运动轨迹运动。

进一步地,高阶多项式算法为三次多项式算法。

进一步地,三次多项式算法的运动轨迹表达式为:θ(t)=a0+a1t+a2t2+a3t3,其中,a0表示第一系数,a1表示第二系数,a2表示第三系数,a3表示第四系数,t表示时间,θ(t)表示关节运动的角度,计算单元包括:第一计算模块,用于通过预设的约束条件计算第一系数、第二系数、第三系数和第四系数,第二计算模块,用于通过运动轨迹表达式计算目标关节的运动轨迹。

进一步地,目标关节包括第一关节和第二关节,第一关节的目标运动类型为点位运动,第二关节的目标运动类型为连续运动,确定单元包括:第一确定模块,用于根据第一关节的目标运动类型确定第一关节的运动轨迹计算方法为抛物线算法,第二确定模块,用于根据第二关节的目标运动类型确定第二关节的运动轨迹计算方法为高阶多项式算法。

为了实现上述目的,根据本发明的另一方面,还提供了一种机器人,该机器人包括:本发明的机器人关节运动控制装置。

本发明通过获取机器人的目标关节的目标运动类型,其中,目标运动类型为目标关节运动的目的类型,目标运动类型包括点位运动和连续运动;根据目标关节的目标运动类型确定目标关节的运动轨迹计算方法;通过运动轨迹计算方法计算目标关节的运动轨迹;以及控制目标关节按照运动轨迹运动,解决了机器人的关节运动轨迹计算方法单一导致的局限性高的问题,进而达到了灵活控制机器人的关节运动轨迹的效果。

附图说明

构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的机器人关节运动控制方法的流程图;

图2是根据本发明实施例的抛物线运动轨迹拟合的示意图;

图3是根据本发明实施例的三次多项式运动轨迹拟合的示意图;以及

图4是根据本发明实施例的机器人关节运动控制装置的示意图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本发明实施例提供了一种机器人关节运动控制方法。

图1是根据本发明实施例的机器人关节运动控制方法的流程图,如图1所示,该方法包括以下步骤:

步骤s102:获取机器人的目标关节的目标运动类型。

机器人可以是多种类型的机器人,例如,可以是双足行走机器人,也可以是进行滑步运动的机器人,或者轮式移动机器人,包括全方位移动机器人以及差速移动平台机器人,也可以是手臂机器人,例如手术机器人手臂,或者四足仿生机器人等。目标关节是机器人的一个或多个要活动的关节,机器人通过关节的活动带动机器人进行活动,目标运动类型为目标关节运动的目的类型,目标运动类型包括点位运动和连续运动,其中,机器人运动中,多数关节只需要实现点位运动,少数关节需要进行连续运动。在点位运动中,某个关节在一定时间内从一个位置点运动到另一个位置点,在两个位置点之间可以通过多种路径运动,中间路径如何运动并不影响最终机器人的运动结果。在连续运动中,关节由一个位置点运动到另一个位置点,要进行连续运动,中间要经过特定的路径点,才能带动机器人完成预设的动作,从而使整个机器人运动动作更加流畅。

目标运动类型可以根据不同的目标任务提前计算或者规划,例如,机器人接收到前进的指令后,机器人的运动控制板处理指令,解析和计算机器人目标关节的目标运动类型,例如,第一腿关节目标运动类型为点位运动,第二腿关节目标运动类型为连续运动。

步骤s104:根据目标关节的目标运动类型确定目标关节的运动轨迹计算方法。

在获取机器人的目标关节的目标运动类型之后,根据目标关节的目标运动类型确定目标关节的运动轨迹计算方法。例如,如果获取到机器人的目标运动类型为点位运动,则确定目标关节的运动轨迹计算方法为抛物线算法;如果目标运动类型为连续运动,则确定目标关节的运动轨迹计算方法为高阶多项式算法。其中,抛物线算法可以是通过抛物线拟合起始点和终止点之间的路径,在拟合区段内,使用恒定的加速度平滑的改变速度。高阶多项式可以是三次多项式,也可以是四次多项式,五次多项式等高阶多项式,为了使计算过程更简单,降低计算复杂度,提高计算效率,高阶多项式算法可以采用三次多项式算法,同样,在某些应用场景中,为了提高运动的精确度,也会采用四次多项式算法、五次多项式算法、甚至更高次数的多项式算法以达到更精准地控制机器人的关节运动的效果,在实际应用中,可以根据具体应用场景进行设置和选择。目标关节的运动轨迹计算方法也可以是其他方法,可以预先存储在机器人的运动控制存储装置中,例如存储器中。

步骤s106:通过运动轨迹计算方法计算目标关节的运动轨迹。

在确定出目标关节的运动轨迹计算方法之后,通过确定出的运动轨迹计算方法计算目标关节的运动轨迹,例如,如果目标运动类型为点位运动,则确定目标关节的运动轨迹计算方法为抛物线算法,通过抛物线算法拟合起始位置和终点位置之间的运动轨迹。如果目标运动类型为连续运动,则确定目标关节的运动轨迹计算方法为高阶多项式算法,通过高阶多项式算法拟合起始位置和终点位置之间的运动轨迹,其中,连续运动的路径需要经过预设的路径点,因此拟合的运动轨迹经过起始位置和终点位置之间的预设路径点,预设路径点为连续运动经过的路径点,通过在起始位置和终点位置之间经过预设路径点,能够提高路径规划的准确度。

步骤s108:控制目标关节按照运动轨迹运动。

在通过运动轨迹计算方法计算目标关节的运动轨迹之后,控制目标关节按照运动轨迹运动,例如,如果目标运动类型为点位运动,则控制目标关节按照抛物线算法拟合的起始位置和终点位置之间的运动轨迹运动。如果目标运动类型为连续运动,则控制目标关节按照高阶多项式算法拟合的起始位置和终点位置之间的运动轨迹运动。

该实施例既可以应用在关节的快速运动,又可以应用在慢速运动中。

该实施例采用获取机器人的目标关节的目标运动类型,其中,目标运动类型为目标关节运动的目的类型,目标运动类型包括点位运动和连续运动;根据目标关节的目标运动类型确定目标关节的运动轨迹计算方法;通过运动轨迹计算方法计算目标关节的运动轨迹;以及控制目标关节按照运动轨迹运动,从而解决了机器人的关节运动轨迹计算方法单一导致的局限性高的问题,进而达到了灵活控制机器人的关节运动轨迹的效果。

在一个可选的实施方式中,通过抛物线算法拟合起始位置和终点位置之间的运动轨迹可以是:拟合第一运动轨迹为抛物线,其中,第一运动轨迹为通过起始位置起第一预设时间段内以及到达终点位置前的第二预设时间段内的运动轨迹;拟合第二运动轨迹为直线,其中,第二运动轨迹为第一预设时间段的终点与第二预设时间段的起点之间的运动轨迹。第一预设时间段和第二预设时间段的长度可以相同也可以不同。

图2是根据本发明实施例的抛物线运动轨迹拟合的示意图,线性轨迹规划即用一条直线将起点位置和终点位置连接起来,形成一条相对于时间的运动函数,但是直线插值将直接导致起始位置和终点位置的速度不连续,这种情况在实际机器人运动中是不允许发生的。为了避免起点和终点的速度突变,可以利用抛物线拟合起始位置和终点位置附近的一段路径,在拟合区段内,使用恒定的加速度平滑的改变速度。如图2所示,横坐标为时间,纵坐标为关节运动角度,起始位置为关节运动角度θ0,tb时刻关节运动角度为θ0,tf时刻,关节运动角度为θf,以起始时间为时间零点,在时间到达第一预设时间段tb之前,按照抛物线轨迹运动,在时间在tf-tb到tf之间,也是以抛物线为轨迹运动,在tb到tf-tb之间,可以采用直线运动,通过恒定的加速度平滑的改变速度进行过渡。

在一个可选的实施方式中,三次多项式算法的运动轨迹表达式为:

θ(t)=a0+a1t+a2t2+a3t3,其中,a0表示第一系数,a1表示第二系数,a2表示第三系数,a3表示第四系数,t表示时间,θ(t)表示关节运动的角度,通过运动轨迹计算方法计算目标关节的运动轨迹包括:通过预设的约束条件计算第一系数、第二系数、第三系数和第四系数,通过运动轨迹表达式计算目标关节的运动轨迹。

在对机器人运动的平稳性要求较高的情况下,可以采用高阶多项式插值的连续路径轨迹规划方法。特别对于要求过路径点的轨迹规划中,高阶多项式插值可以保证关节角度、角速度、角加速度的变化连续。

高阶多项式运动轨迹插值表达式可以采用如下表达式:

θ(t)=a0+a1t+a2t2…+antn

该实施例可以采用两个三次多项式(n=3)拟合经过一个路径点的运动轨迹,利用关节在起始点的角度、速度、路径点前后的角度、经过路径点时的速度、加速度、终点的角度和速度共8个约束条件,可以计算出两个多项式的8个系数。其中,关节的角度是指关节运动后与关节零点位置之间的角度。

图3是根据本发明实施例的三次多项式运动轨迹拟合的示意图,如图3所示,横坐标表示时间,纵坐标表示关节运动角度。关节通过三次多项式拟合出的路径轨迹由起点位置经过路径点运动到终点位置,在运动过程中,路径轨迹和关节角度平滑过渡,根据路径轨迹和时间可以计算出运动速度平缓变化,没有突变,能够提高机器人关节运动的稳定性,使机器人运动快速、平稳,进一步提高了机器人运行的稳定性。

在一个可选的实施方式中,目标关节包括第一关节和第二关节,第一关节的目标运动类型为点位运动,第二关节的目标运动类型为连续运动,根据目标关节的目标运动类型确定目标关节的运动轨迹计算方法包括:根据第一关节的目标运动类型确定第一关节的运动轨迹计算方法为抛物线算法,根据第二关节的目标运动类型确定第二关节的运动轨迹计算方法为高阶多项式算法。

机器人具有多个关节,根据不同关节的不同目标运动类型确定每个目标关节的运动轨迹计算方法,对于一个目标关节,可能在本次运动中,目标运动类型为点位运动,在下一次运动中,目标类型为连续运动。在机器人的一次运动中,可能由两个或两个以上的关节配合完成本次活动,如果目标关节包括第一关节和第二关节,第一关节的目标运动类型为点位运动,第二关节的目标运动类型为连续运动,则可以根据第一关节的目标运动类型确定第一关节的运动轨迹计算方法为抛物线算法,根据第二关节的目标运动类型确定第二关节的运动轨迹计算方法为高阶多项式算法,其中,高阶多项式算法可以是三次多项式算法,也可以是四次多项式算法,对于每个关节的每次运动,也可以有所区别,例如,本次运动中采用三次多项式算法,下一次运动中采用四次多项式算法,具体的计算方法可以根据不同运动过程进行确定。

机器人的运动是由各关节共同运动形成的,在实际的关节运动过程中,大多数关节只需要实现点位运动,比如,关节i在t1时间内从启动到停止到达某一位置点,在t2时间内再次启动到停止到达另一位置点,这种情况使用抛物线过渡的线性轨迹规划即可实现(在该实施例中,轨迹规划也即轨迹计算),因为两个位置点的机器人活动是非连续的,可以针对某一段运动区域使用抛物线法进行轨迹规划。如果关节i+1需要在时间t1+t2内连续运动,从而使得整个机器人运动动作更加流畅,这就需要针对关节i+1采用三次多项式并路过一个路径点的方法来规划路径,该路径点的位置和经过时间需根据不同的目标运动要求提前规划。

表1抛物线法和三次多项式轨迹规划方法结合使用的对应关系表

如表1所示,在t1时间,关节i采用抛物线法计算运动轨迹,关节i+1采用三次多项式法计算运动轨迹,关节i+2采用抛物线法计算运动轨迹;在t2时间,关节i采用抛物线法计算运动轨迹,关节i+1采用三次多项式法计算运动轨迹,关节i+2采用抛物线法计算运动轨迹。同一个关节在不同时间也可以采用不同的计算方法计算运动轨迹。

本发明实施例能够根据目标关节的目标运动类型,例如,机器人的任务、运动路径和轨迹需求,结合不同关节的运动快慢和约束条件等,选择目标关节的运动轨迹计算方法,计算出预期的运动轨迹,甚至速度、加速度,从而生成运动轨迹,改进了原单一轨迹计算方法,能够在实际运动中实现一部分关节使用抛物线法轨迹规划,另外一部分关节使用高阶多项式轨迹规划,该方法既确保运算简单,又保证机器人运动的快速、平稳,在实际编程调试中可以使用复杂的嵌套循环来实现两种方法的并用,该方法应用范围广,可以用于几乎所有机器人关节连续运动的场合。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本发明实施例提供了一种机器人关节运动控制装置,该机器人关节运动控制装置可以用于执行本发明实施例的机器人关节运动控制方法。

图4是根据本发明实施例的机器人关节运动控制装置的示意图,如图4所示,该装置包括:

获取单元10,用于获取机器人的目标关节的目标运动类型,其中,目标运动类型为目标关节运动的目的类型,目标运动类型包括点位运动和连续运动。

确定单元20,用于根据目标关节的目标运动类型确定目标关节的运动轨迹计算方法。

计算单元30,用于通过运动轨迹计算方法计算目标关节的运动轨迹。

控制单元40,用于控制目标关节按照运动轨迹运动。

可选地,确定单元20用于在目标运动类型为点位运动时,确定目标关节的运动轨迹计算方法为抛物线算法,计算单元30用于通过抛物线算法拟合起始位置和终点位置之间的运动轨迹,以及控制单元40用于控制目标关节按照抛物线算法拟合的起始位置和终点位置之间的运动轨迹运动。

可选地,计算单元30包括:第一拟合模块,用于拟合第一运动轨迹为抛物线,其中,第一运动轨迹为通过起始位置起第一预设时间段内以及到达终点位置前的第二预设时间段内的运动轨迹;以及第二拟合模块,用于拟合第二运动轨迹为直线,其中,第二运动轨迹为第一预设时间段的终点与第二预设时间段的起点之间的运动轨迹。

可选地,确定单元20用于在目标运动类型为连续运动时,确定目标关节的运动轨迹计算方法为高阶多项式算法,计算单元30用于通过高阶多项式算法拟合起始位置和终点位置之间的运动轨迹,其中,运动轨迹经过起始位置和终点位置之间的预设路径点,预设路径点为连续运动经过的路径点,控制单元40用于控制目标关节按照高阶多项式算法拟合的起始位置和终点位置之间的运动轨迹运动。

可选地,高阶多项式算法为三次多项式算法。

可选地,三次多项式算法的运动轨迹表达式为:θ(t)=a0+a1t+a2t2+a3t3,其中,a0表示第一系数,a1表示第二系数,a2表示第三系数,a3表示第四系数,t表示时间,θ(t)表示关节运动的角度,计算单元30包括:第一计算模块,用于通过预设的约束条件计算第一系数、第二系数、第三系数和第四系数,第二计算模块,用于通过运动轨迹表达式计算目标关节的运动轨迹。

进一步地,目标关节包括第一关节和第二关节,第一关节的目标运动类型为点位运动,第二关节的目标运动类型为连续运动,确定单元20包括:第一确定模块,用于根据第一关节的目标运动类型确定第一关节的运动轨迹计算方法为抛物线算法,第二确定模块,用于根据第二关节的目标运动类型确定第二关节的运动轨迹计算方法为高阶多项式算法。

该实施例采用获取单元10,用于获取机器人的目标关节的目标运动类型,其中,目标运动类型为目标关节运动的目的类型,目标运动类型包括点位运动和连续运动;确定单元20,用于根据目标关节的目标运动类型确定目标关节的运动轨迹计算方法;计算单元30,用于通过运动轨迹计算方法计算目标关节的运动轨迹;以及控制单元40,用于控制目标关节按照运动轨迹运动,从而解决了机器人的关节运动轨迹计算方法单一导致的局限性高的问题,进而达到了灵活控制机器人的关节运动轨迹的效果。

本发明实施例还提供了一种机器人,该机器人包括本发明实施例的机器人关节运动控制装置。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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