质心轨迹生成方法、装置、计算机可读存储介质及机器人与流程

专利2022-05-09  37


本申请属于机器人技术领域,尤其涉及一种质心轨迹生成方法、装置、计算机可读存储介质及机器人。



背景技术:

仿人机器人研究中的一个关键问题是在提高行走速度的同时能够保持步行稳定性。一般地,随着步速的增加,机器人的步长也会增大,通常会出现质心跟踪不上而导致机器人步态发散,稳定性较差,甚至可以出现机器人摔倒的情况。



技术实现要素:

有鉴于此,本申请实施例提供了一种质心轨迹生成方法、装置、计算机可读存储介质及机器人,以解决现有质心轨迹生成方法稳定性较差的问题。

本申请实施例的第一方面提供了一种质心轨迹生成方法,可以包括:

确定机器人的质心实际位姿、左脚位姿和右脚位姿;

根据所述质心实际位姿和所述左脚位姿确定所述机器人的第一位姿追踪向量,并根据所述质心实际位姿和所述右脚位姿确定所述机器人的第二位姿追踪向量;

根据所述第一位姿追踪向量和所述第二位姿追踪向量控制所述质心期望位姿交替追踪所述左脚位姿和所述右脚位姿,以生成所述机器人的质心期望轨迹。

在第一方面的一种具体实现中,所述根据所述第一位姿追踪向量和所述第二位姿追踪向量控制所述质心期望位姿交替追踪所述左脚位姿和所述右脚位姿,以生成所述机器人的质心期望轨迹,可以包括:

根据下式控制所述机器人的质心期望位置交替追踪左脚位置和右脚位置:

其中,(dlx,dly,dlz)为所述机器人的第一位置追踪向量,(drx,dry,drz)为所述机器人的第二位置追踪向量,t为时间变量,s1(t)、s2(t)和s3(t)为预设的激励函数,(x1,y1,z1)为所述机器人的质心期望位置。

在第一方面的一种具体实现中,所述激励函数可以根据下式进行设置:

s1(t)=g1(t)*flag

s1(t)=g2(t)*flag

s1(t)=g3(t)*flag

其中,g1(t)、g2(t)和g3(t)为预设的原始激励函数,n为预设的机器人步数,t为所述机器人的步态周期。

在第一方面的一种具体实现中,所述根据所述质心实际位姿和所述左脚位姿确定所述机器人的第一位姿追踪向量可以包括:

将从所述机器人的质心实际位置至左脚位置的向量确定为所述机器人的第一位置追踪向量;

所述根据所述质心实际位姿和所述右脚位姿确定所述机器人的第二位姿追踪向量包括:

将从所述机器人的质心实际位置至右脚位置的向量确定为所述机器人的第二位置追踪向量。

在第一方面的一种具体实现中,在将从所述机器人的质心实际位置至左脚位置的向量确定为所述机器人的第一位置追踪向量之后,还包括:

根据下式对所述机器人的第一位置追踪向量进行修正,得到修正后的第一位置追踪向量:

dl′x=a1dlx b1

dl′y=a3dly b3

dl′z=dlz δz1

其中,(dlx,dly,dlz)为所述第一位置追踪向量,a1、b1、a3、b3、δz1为预设的参数,(dl′x,dl′y,dl′z)为所述修正后的第一位置追踪向量;

在将从所述机器人的质心实际位置至右脚位置的向量确定为所述机器人的第二位置追踪向量之后,还包括:

根据下式对所述机器人的第二位置追踪向量进行修正,得到修正后的第二位置追踪向量:

dr′x=a2drx b2

dr′y=a4dry b4

dr′z=drz δz2

其中,(drx,dry,drz)为所述第二位置追踪向量,a2、b2、a4、b4、δz2为预设的参数,(dr′x,dr′y,dr′z)为所述修正后的第二位置追踪向量。

在第一方面的一种具体实现中,所述根据所述质心实际位姿和所述左脚位姿确定所述机器人的第一位姿追踪向量可以包括:

将从所述机器人的质心实际姿态至左脚姿态的向量确定为所述机器人的第一姿态追踪向量;

所述根据所述质心实际位姿和所述右脚位姿确定所述机器人的第二位姿追踪向量可以包括:

将从所述机器人的质心实际姿态至右脚姿态的向量确定为所述机器人的第二姿态追踪向量;

所述根据所述第一位姿追踪向量和所述第二位姿追踪向量控制所述质心期望位姿交替追踪所述左脚位姿和所述右脚位姿,以生成所述机器人的质心期望轨迹,可以包括:

根据下式控制所述机器人的质心期望姿态交替追踪左脚姿态和右脚姿态:

其中,ql为所述机器人的第一姿态追踪向量的四元数,qr为所述机器人的第二姿态追踪向量的四元数,θ为ql和qr的夹角,t为时间变量,s4(t)为预设的激励函数,q1为所述机器人的质心期望姿态的四元数。

在第一方面的一种具体实现中,所述激励函数可以根据下式进行设置:

s4(t)=g4(t)*flag

其中,g4(t)为预设的原始激励函数,n为预设的机器人步数,t为所述机器人的步态周期。

本申请实施例的第二方面提供了一种质心轨迹生成装置,可以包括:

位姿确定模块,确定机器人的质心实际位姿、左脚位姿和右脚位姿;

位姿追踪向量确定模块,根据所述质心实际位姿和所述左脚位姿确定所述机器人的第一位姿追踪向量,并根据所述质心实际位姿和所述右脚位姿确定所述机器人的第二位姿追踪向量;

交替追踪模块,用于根据所述第一位姿追踪向量和所述第二位姿追踪向量控制所述机器人的质心期望位姿交替追踪所述左脚位姿和所述右脚位姿,以生成所述机器人的质心期望轨迹。

在第二方面的一种具体实现中,所述交替追踪模块可以包括:

位置追踪单元,用于根据下式控制所述机器人的质心期望位置交替追踪左脚位置和右脚位置:

其中,(dlx,dly,dlz)为所述机器人的第一位置追踪向量,(drx,dry,drz)为所述机器人的第二位置追踪向量,t为时间变量,s1(t)、s2(t)和s3(t)为预设的激励函数,(x1,y1,z1)为所述机器人的质心期望位置。

在第二方面的一种具体实现中,所述激励函数可以根据下式进行设置:

s1(t)=g1(t)*flag

s1(t)=g2(t)*flag

s1(t)=g3(t)*flag

其中,g1(t)、g2(t)和g3(t)为预设的原始激励函数,n为预设的机器人步数,t为所述机器人的步态周期。

在第二方面的一种具体实现中,所述位姿追踪向量确定模块可以包括:

第一位置追踪向量确定单元,用于将从所述机器人的质心实际位置至左脚位置的向量确定为所述机器人的第一位置追踪向量;

第二位置追踪向量确定单元,用于将从所述机器人的质心实际位置至右脚位置的向量确定为所述机器人的第二位置追踪向量。

在第二方面的一种具体实现中,所述位姿追踪向量确定模块还可以包括:

第一位置追踪向量修正单元,用于根据下式对所述机器人的第一位置追踪向量进行修正,得到修正后的第一位置追踪向量:

dl′x=a1dlx b1

dl′y=a3dly b3

dl′z=dlz δz1

其中,(dlx,dly,dlz)为所述第一位置追踪向量,a1、b1、a3、b3、δz1为预设的参数,(dl′x,dl′y,dl′z)为所述修正后的第一位置追踪向量;

第二位置追踪向量修正单元,用于根据下式对所述机器人的第二位置追踪向量进行修正,得到修正后的第二位置追踪向量:

dr′x=a2drx b2

dr′y=a4dry b4

dr′z=drz δz2

其中,(drx,dry,drz)为所述第二位置追踪向量,a2、b2、a4、b4、δz2为预设的参数,(dr′x,dr′y,dr′z)为所述修正后的第二位置追踪向量。

在第二方面的一种具体实现中,所述位姿追踪向量确定模块可以包括:

第一姿态追踪向量确定单元,用于将从所述机器人的质心实际姿态至左脚姿态的向量确定为所述机器人的第一姿态追踪向量;

第二姿态追踪向量确定单元,用于将从所述机器人的质心实际姿态至右脚姿态的向量确定为所述机器人的第二姿态追踪向量;

所述交替追踪模块可以包括:

姿态追踪单元,用于根据下式控制所述机器人的质心期望姿态交替追踪左脚姿态和右脚姿态:

其中,ql为所述机器人的第一姿态追踪向量的四元数,qr为所述机器人的第二姿态追踪向量的四元数,θ为ql和qr的夹角,t为时间变量,s4(t)为预设的激励函数,q1为所述机器人的质心期望姿态的四元数。

s4(t)=g4(t)*flag

其中,g4(t)为预设的原始激励函数,n为预设的机器人步数,t为所述机器人的步态周期。

本申请实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种质心轨迹生成方法的步骤。

本申请实施例的第四方面提供了一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一种质心轨迹生成方法的步骤。

本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在机器人上运行时,使得机器人执行上述任一种质心轨迹生成方法的步骤。

本申请实施例与现有技术相比存在的有益效果是:本申请实施例确定机器人的质心实际位姿、左脚位姿和右脚位姿;根据所述质心实际位姿和所述左脚位姿确定所述机器人的第一位姿追踪向量;根据所述质心实际位姿和所述右脚位姿确定所述机器人的第二位姿追踪向量;根据所述第一位姿追踪向量和所述第二位姿追踪向量控制所述质心期望位姿交替追踪所述左脚位姿和所述右脚位姿,以生成所述机器人的质心期望轨迹。通过本申请实施例,根据质心交替追踪双脚的控制思想来生成质心轨迹,有效提升了机器人的稳定性。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本申请实施例中所使用的世界坐标系的示意图;

图2为坐标轴与旋转方向的对应关系图;

图3为本申请实施例中一种质心轨迹生成方法的一个实施例流程图;

图4为机器人的实际脚模型的示意图;

图5为机器人的虚拟脚模型的示意图;

图6为在x轴方向和y轴方向上实际脚模型与虚拟脚模型之间的关系示意图;

图7为在z轴方向上实际脚模型与虚拟脚模型之间的关系示意图;

图8为直线插值和球面插值的示意图;

图9为质心期望位置交替追踪双脚位置的示意图;

图10为将常用的函数进行标准变换得到的激励元函数的示意图;

图11为激励基函数的示意图;

图12为与图10中的各个激励元函数分别对应的原始激励函数的示意图;

图13为双曲正切函数做激励时的质心追踪示意图;

图14为本申请实施例中一种质心轨迹生成装置的一个实施例结构图;

图15为本申请实施例中一种机器人的示意框图。

具体实施方式

为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本申请一部分实施例,而非全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

另外,在本申请的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

为了便于叙述,在本申请实施例中,可以建立如图1所示的世界坐标系∑w,在该坐标系下,机器人的前向为x轴,侧向为y轴,纵向为z轴。图2所示为坐标轴与旋转方向的对应关系图,如图所示,绕着x轴旋转的方向为rx,记为翻滚角(roll角);绕着y轴旋转的方向为ry,记为俯仰角(pitch角);绕着z轴旋转的方向为rz,记为偏航角(yaw角)。

请参阅图3,本申请实施例中一种质心轨迹生成方法的一个实施例可以包括:

步骤s301、确定机器人的质心实际位姿、左脚位姿和右脚位姿。

本申请实施例中所提及的位姿均包括位置和姿态两部分,其中,位置即为在3个坐标轴方向上的坐标,姿态即为绕着3个坐标轴旋转的角度。

步骤s302、根据质心实际位姿和左脚位姿确定机器人的第一位姿追踪向量,并根据质心实际位姿和右脚位姿确定机器人的第二位姿追踪向量。

其中,第一位姿追踪向量可以包括第一位置追踪向量和第一姿态追踪向量,第二位姿追踪向量可以包括第二位置追踪向量和第二姿态追踪向量。

对于位置方面,在本申请实施例的一种具体实现中,可以基于机器人的实际脚来进行分析,将从机器人的质心实际位置至左脚位置的向量确定为机器人的第一位置追踪向量,并将从机器人的质心实际位置至右脚位置的向量确定为机器人的第二位置追踪向量。图4所示为机器人的实际脚模型的示意图,其中,t代表质心,f1代表左脚,f2代表右脚,为质心实际位置至左脚位置的向量,且dlx、dly和dlz分别为该向量在x轴、y轴和z轴上的分量,为质心实际位置至右脚位置的向量,且drx、dry和drz分别为该向量在x轴、y轴和z轴上的分量。

在本申请实施例的另一种具体实现中,还可以基于机器人的虚拟脚来进行分析,将从机器人的质心实际位置至虚拟左脚位置的向量确定为机器人的第一位置追踪向量,并将从机器人的质心实际位置至虚拟右脚位置的向量确定为机器人的第二位置追踪向量。图5所示为机器人的虚拟脚模型的示意图,其中,f′1代表虚拟左脚,f′2代表虚拟右脚,为质心实际位置至虚拟左脚位置的向量,且dl′x、dl′y和dl′z分别为该向量在x轴、y轴和z轴上的分量,为质心实际位置至虚拟右脚位置的向量,且dr′x、dr′y和dr′z分别为该向量在x轴、y轴和z轴上的分量。

之间的关系,以及之间的关系均可以根据实际情况进行设置,例如,在x轴方向和y轴方向上,可以设置如下式所示的关系:

dl′x=a1dlx b1

dr′x=a2drx b2

dl′y=a3dly b3

dr′y=a4dry b4

其中,a1、b1、a2、b2、a3、b3、a4、b4均为预设的参数,其具体取值可以根据实际情况进行设置。

以dl′x=a1dlx b1为例,在行走过程中,若希望质心追踪的快一些,可以将b1设置为一个正数;当dlx>0,也就是左脚在前时,可以将a1设置为一个大于1的数,从而能够更好的追踪左脚;当dlx≤0,也就是左脚在后时,可以将a1设置为一个小于1的数,从而能够更好的跟踪右脚。图6所示为dlx和dl′x之间关系的示意图,其中横轴为时间轴,上面的曲线为dlx随时间变化的曲线,下面的曲线为dl′x随时间变化的曲线,dl′x是dlx的一次函数关系。

在z轴方向上,如图7所示,可以设置如下式所示的关系:

dl′z=dlz δz1

dr′z=drz δz2

其中,δz1和δz2均为预设的参数,其具体取值可以根据实际情况进行设置,例如,可以基于现有的足部阻抗控制算法计算得到左脚的位置改变量和右脚的位置改变量,将其分别设置为δz1和δz2。

对于姿态方面,可以将从机器人的质心实际姿态至左脚姿态的向量确定为机器人的第一姿态追踪向量,并将从机器人的质心实际姿态至右脚姿态的向量确定为机器人的第二姿态追踪向量。

此处将质心实际姿态至左脚姿态的向量记为dlrx、dlry和dlrz分别为该向量在三个旋转方向上的分量,该向量对应的四元数为ql,将质心实际姿态至右脚姿态的向量记为drrx、drry和drrz分别为该向量在三个旋转方向上的分量,该向量对应的四元数为qr。

步骤s303、根据第一位姿追踪向量和第二位姿追踪向量控制机器人的质心期望位姿交替追踪左脚位姿和右脚位姿,以生成机器人的质心期望轨迹。

质心交替追踪双脚可以有多种路径,图8中展示了直线插值(即路径1)和球面插值(即路径2)两种思路。

其中,位置的插值可以采用路径1,而姿态的插值无法采用路径1,由于路径1靠近中间处的弧长较长,而靠近两端处的弧长较短,这就意味着当时间匀速变化时,代表姿态矢量的角速度变化并不均匀,因此对于姿态可以采用路径2进行球面插值,采用路径2插值时,通常将欧拉角姿态转化为四元数姿态。

具体地,对于位置方面,可以根据下式控制所述机器人的质心期望位置交替追踪左脚位置和右脚位置:

其中,为时间变量,s1(t)、s2(t)和s3(t)为预设的激励函数,(x1,y1,z1)为所述机器人的质心期望位置。

图9所示即为质心期望位置交替追踪双脚位置的示意图,其中横轴为时间轴,以x轴方向为例,两条实线分别为dlx和drx随时间变化的曲线,虚线则为x1随时间变化的曲线。

需要注意的是,以上过程针对的是实际脚模型,而对于虚拟脚模型,则需要将其中的dlx替换为dl′x,将其中的drx替换为dr′x,将其中的dly替换为dl′y,将其中的dry替换为dr′y,将其中的dlz替换为dl′z,将其中的drz替换为dr′z。

对于姿态方面,可以根据下式控制所述机器人的质心期望姿态交替追踪左脚姿态和右脚姿态:

其中,θ为ql和qr的夹角,s4(t)为预设的激励函数,q1为所述机器人的质心期望姿态的四元数。

以下对本申请实施例中所使用到的激励函数进行详细说明。对于进行位置控制的s1(t)、s2(t)和s3(t),其定义域为[0, ∞),值域为[-1,1];对于进行姿态控制的s4(t),其定义域为[0, ∞),值域为[0,1]。这些激励函数均为周期性函数,其周期即为机器人的步态周期。

在本申请实施例的一种具体实现中,可以根据下式进行激励函数的设置:

s1(t)=g1(t),

s2(t)=g2(t),

s3(t)=g3(t),

s4(t)=g4(t),

其中,g1(t)、g2(t)、g3(t)和g4(t)分别为预设的原始激励函数,t为机器人的步态周期,分别是预设的相位,其具体取值可以根据实际情况进行设置。

以下对原始激励函数的生成过程进行更具普遍性的说明。

在本申请实施例中,可以将定义域和值域均为[0,1]的单调递增函数作为激励元函数,这样的函数一般很少,但是单调递增函数却很多,此处可以通过将定义在某个区间的单调递增函数通过标准变换变成激励元函数,例如,已知函数y=h(x)为定义域[a1,a2]上的单调函数,其值域为[b1,b2];则其标准变换为:

经过以上变化过程,当x′∈[0,1]时,则y′∈[0,1]。

图10所示即为将常用的几个函数进行标准变换得到的激励元函数,依次为:对正弦函数(sin)、双曲正切函数(tanh)、三角函数(triag)以及梯形函数(trape)进行标准变换得到的激励元函数。以下将激励元函数记为:j=f1(c),c∈[0,1],j∈[0,1]。

在本申请实施例中,可以使用激励基函数来将激励元函数变换为原始激励函数。图11所示即为一个周期t=2,相位的激励基函数。

通用的原始激励函数可以表示为:

g(t)=sign(s)f1(|s|)

其中,将时间t、周期t和相位代入激励基函数可以计算得到中间状态s;将s的符号函数sign(s)和绝对值|s|代入激励元函数可以计算得到原始激励函数。

图12所示即为与图10中的各个激励元函数分别对应的原始激励函数的示意图。从中可以看出,四种曲线在0.8~1之间的占比,双曲正切激励曲线时间最长,三角激励曲线最短;占比时间长,说明越接近峰值,越接近峰值说明质心在双脚附近的位置占比时间长,在双脚中间的位置占比时间短,说明质心的跟踪效果好。图13所示为双曲正切函数做激励时的质心追踪示意图,相比于图9所示的正弦函数做激励时的情况,质心追踪效果更好。

在本申请实施例的另一种具体实现中,还可以根据下式进行激励函数的设置:

s1(t)=g1(t)*flag

s1(t)=g2(t)*flag

s1(t)=g3(t)*flag

s4(t)=g4(t)*flag

其中,n为预设的机器人步数,其具体取值可以根据实际情况进行设置。通过这样的方式,能够控制机器人在步数达到预设步数时快速止步,更加适应于在大型舞台的仿人机器人表演等需要进行精准行走的场合。

综上所述,本申请实施例确定机器人的质心实际位姿、左脚位姿和右脚位姿;根据所述质心实际位姿和所述左脚位姿确定所述机器人的第一位姿追踪向量;根据所述质心实际位姿和所述右脚位姿确定所述机器人的第二位姿追踪向量;根据所述第一位姿追踪向量和所述第二位姿追踪向量控制所述质心期望位姿交替追踪所述左脚位姿和所述右脚位姿,以生成所述机器人的质心期望轨迹。通过本申请实施例,根据质心交替追踪双脚的控制思想来生成质心轨迹,有效提升了机器人的稳定性。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

对应于上文实施例所述的一种质心轨迹生成方法,图14示出了本申请实施例提供的一种质心轨迹生成装置的一个实施例结构图。

本实施例中,一种质心轨迹生成装置可以包括:

位姿确定模块1401,确定机器人的质心实际位姿、左脚位姿和右脚位姿;

位姿追踪向量确定模块1402,根据所述质心实际位姿和所述左脚位姿确定所述机器人的第一位姿追踪向量,并根据所述质心实际位姿和所述右脚位姿确定所述机器人的第二位姿追踪向量;

交替追踪模块1403,用于根据所述第一位姿追踪向量和所述第二位姿追踪向量控制所述机器人的质心期望位姿交替追踪所述左脚位姿和所述右脚位姿,以生成所述机器人的质心期望轨迹。

在本申请实施例的一种具体实现中,所述交替追踪模块可以包括:

位置追踪单元,用于根据下式控制所述机器人的质心期望位置交替追踪左脚位置和右脚位置:

其中,(dlx,dly,dlz)为所述机器人的第一位置追踪向量,(drx,dry,drz)为所述机器人的第二位置追踪向量,t为时间变量,s1(t)、s2(t)和s3(t)为预设的激励函数,(x1,y1,z1)为所述机器人的质心期望位置。

在本申请实施例的一种具体实现中,所述激励函数可以根据下式进行设置:

s1(t)=g1(t)*flag

s1(t)=g2(t)*flag

s1(t)=g3(t)*flag

其中,g1(t)、g2(t)和g3(t)为预设的原始激励函数,n为预设的机器人步数,t为所述机器人的步态周期。

在本申请实施例的一种具体实现中,所述位姿追踪向量确定模块可以包括:

第一位置追踪向量确定单元,用于将从所述机器人的质心实际位置至左脚位置的向量确定为所述机器人的第一位置追踪向量;

第二位置追踪向量确定单元,用于将从所述机器人的质心实际位置至右脚位置的向量确定为所述机器人的第二位置追踪向量。

在本申请实施例的一种具体实现中,所述位姿追踪向量确定模块还可以包括:

第一位置追踪向量修正单元,用于根据下式对所述机器人的第一位置追踪向量进行修正,得到修正后的第一位置追踪向量:

dl′x=a1dlx b1

dl′y=a3dly b3

dk′z=dlz δz1

其中,(dlx,dly,dlz)为所述第一位置追踪向量,a1、b1、a3、b3、δz1为预设的参数,(dl′x,dl′y,dl′z)为所述修正后的第一位置追踪向量;

第二位置追踪向量修正单元,用于根据下式对所述机器人的第二位置追踪向量进行修正,得到修正后的第二位置追踪向量:

dr′x=a2drx b2

dr′y=a4dry b4

dr′z=drz δz2

其中,(drx,dry,drz)为所述第二位置追踪向量,a2、b2、a4、b4、δz2为预设的参数,(dr′x,dr′y,dr′z)为所述修正后的第二位置追踪向量。

在本申请实施例的一种具体实现中,所述位姿追踪向量确定模块可以包括:

第一姿态追踪向量确定单元,用于将从所述机器人的质心实际姿态至左脚姿态的向量确定为所述机器人的第一姿态追踪向量;

第二姿态追踪向量确定单元,用于将从所述机器人的质心实际姿态至右脚姿态的向量确定为所述机器人的第二姿态追踪向量;

所述交替追踪模块可以包括:

姿态追踪单元,用于根据下式控制所述机器人的质心期望姿态交替追踪左脚姿态和右脚姿态:

其中,ql为所述机器人的第一姿态追踪向量的四元数,qr为所述机器人的第二姿态追踪向量的四元数,θ为ql和qr的夹角,t为时间变量,s4(t)为预设的激励函数,q1为所述机器人的质心期望姿态的四元数。

s4(t)=g4(t)*flag

其中,g4(t)为预设的原始激励函数,n为预设的机器人步数,t为所述机器人的步态周期。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

图15示出了本申请实施例提供的一种机器人的示意框图,为了便于说明,仅示出了与本申请实施例相关的部分。

如图15所示,该实施例的机器人15包括:处理器150、存储器151以及存储在所述存储器151中并可在所述处理器150上运行的计算机程序152。所述处理器150执行所述计算机程序152时实现上述各个质心轨迹生成方法实施例中的步骤,例如图3所示的步骤s301至步骤s303。或者,所述处理器150执行所述计算机程序152时实现上述各装置实施例中各模块/单元的功能,例如图14所示模块1401至模块1403的功能。

示例性的,所述计算机程序152可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器151中,并由所述处理器150执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序152在所述机器人15中的执行过程。

本领域技术人员可以理解,图15仅仅是机器人15的示例,并不构成对机器人15的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述机器人15还可以包括输入输出设备、网络接入设备、总线等。

所述处理器150可以是中央处理单元(centralprocessingunit,cpu),还可以是其它通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器151可以是所述机器人15的内部存储单元,例如机器人15的硬盘或内存。所述存储器151也可以是所述机器人15的外部存储设备,例如所述机器人15上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器151还可以既包括所述机器人15的内部存储单元也包括外部存储设备。所述存储器151用于存储所述计算机程序以及所述机器人15所需的其它程序和数据。所述存储器151还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置/机器人和方法,可以通过其它的方式实现。例如,以上所描述的装置/机器人实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。

以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。


技术特征:

1.一种质心轨迹生成方法,其特征在于,包括:

确定机器人的质心实际位姿、左脚位姿和右脚位姿;

根据所述质心实际位姿和所述左脚位姿确定所述机器人的第一位姿追踪向量,并根据所述质心实际位姿和所述右脚位姿确定所述机器人的第二位姿追踪向量;

根据所述第一位姿追踪向量和所述第二位姿追踪向量控制所述机器人的质心期望位姿交替追踪所述左脚位姿和所述右脚位姿,以生成所述机器人的质心期望轨迹。

2.根据权利要求1所述的质心轨迹生成方法,其特征在于,所述根据所述第一位姿追踪向量和所述第二位姿追踪向量控制所述机器人的质心期望位姿交替追踪所述左脚位姿和所述右脚位姿,以生成所述机器人的质心期望轨迹,包括:

根据下式控制所述机器人的质心期望位置交替追踪左脚位置和右脚位置:

其中,(dlx,dly,dlz)为所述机器人的第一位置追踪向量,(drx,dry,drz)为所述机器人的第二位置追踪向量,t为时间变量,s1(t)、s2(t)和s3(t)为预设的激励函数,(x1,y1,z1)为所述机器人的质心期望位置。

3.根据权利要求2所述的质心轨迹生成方法,其特征在于,所述激励函数根据下式进行设置:

s1(t)=g1(t)*flag

s1(t)=g2(t)*flag

s1(t)=g3(t)*flag

其中,g1(t)、g2(t)和g3(t)为预设的原始激励函数,n为预设的机器人步数,t为所述机器人的步态周期。

4.根据权利要求1所述的质心轨迹生成方法,其特征在于,所述根据所述质心实际位姿和所述左脚位姿确定所述机器人的第一位姿追踪向量包括:

将从所述机器人的质心实际位置至左脚位置的向量确定为所述机器人的第一位置追踪向量;

所述根据所述质心实际位姿和所述右脚位姿确定所述机器人的第二位姿追踪向量包括:

将从所述机器人的质心实际位置至右脚位置的向量确定为所述机器人的第二位置追踪向量。

5.根据权利要求4所述的质心轨迹生成方法,其特征在于,在将从所述机器人的质心实际位置至左脚位置的向量确定为所述机器人的第一位置追踪向量之后,还包括:

根据下式对所述机器人的第一位置追踪向量进行修正,得到修正后的第一位置追踪向量:

dl′x=a1dlx b1

dl′y=a3dly b3

dl′z=dlz δz1

其中,(dlx,dly,dlz)为所述第一位置追踪向量,a1、b1、a3、b3、δz1为预设的参数,(dl′x,dl′y,dl′z)为所述修正后的第一位置追踪向量;

在将从所述机器人的质心实际位置至右脚位置的向量确定为所述机器人的第二位置追踪向量之后,还包括:

根据下式对所述机器人的第二位置追踪向量进行修正,得到修正后的第二位置追踪向量:

dr′x=a2drx b2

dr′y=a4dry b4

dr′z=drz δz2

其中,(drx,dry,drz)为所述第二位置追踪向量,a2、b2、a4、b4、δz2为预设的参数,(dr′x,dr′y,dr′z)为所述修正后的第二位置追踪向量。

6.根据权利要求1所述的质心轨迹生成方法,其特征在于,所述根据所述质心实际位姿和所述左脚位姿确定所述机器人的第一位姿追踪向量包括:

将从所述机器人的质心实际姿态至左脚姿态的向量确定为所述机器人的第一姿态追踪向量;

所述根据所述质心实际位姿和所述右脚位姿确定所述机器人的第二位姿追踪向量包括:

将从所述机器人的质心实际姿态至右脚姿态的向量确定为所述机器人的第二姿态追踪向量;

所述根据所述第一位姿追踪向量和所述第二位姿追踪向量控制所述质心期望位姿交替追踪所述左脚位姿和所述右脚位姿,以生成所述机器人的质心期望轨迹,包括:

根据下式控制所述机器人的质心期望姿态交替追踪左脚姿态和右脚姿态:

其中,ql为所述机器人的第一姿态追踪向量的四元数,qr为所述机器人的第二姿态追踪向量的四元数,θ为ql和qr的夹角,t为时间变量,s4(t)为预设的激励函数,q1为所述机器人的质心期望姿态的四元数。

7.根据权利要求6所述的质心轨迹生成方法,其特征在于,所述激励函数根据下式进行设置:

s4(t)=g4(t)*flag

其中,g4(t)为预设的原始激励函数,n为预设的机器人步数,t为所述机器人的步态周期。

8.一种质心轨迹生成装置,其特征在于,包括:

位姿确定模块,确定机器人的质心实际位姿、左脚位姿和右脚位姿;

位姿追踪向量确定模块,根据所述质心实际位姿和所述左脚位姿确定所述机器人的第一位姿追踪向量,并根据所述质心实际位姿和所述右脚位姿确定所述机器人的第二位姿追踪向量;

交替追踪模块,用于根据所述第一位姿追踪向量和所述第二位姿追踪向量控制所述机器人的质心期望位姿交替追踪所述左脚位姿和所述右脚位姿,以生成所述机器人的质心期望轨迹。

9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的质心轨迹生成方法的步骤。

10.一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的质心轨迹生成方法的步骤。

技术总结
本申请属于机器人技术领域,尤其涉及一种质心轨迹生成方法、装置、计算机可读存储介质及机器人。所述方法确定机器人的质心实际位姿、左脚位姿和右脚位姿;根据所述质心实际位姿和所述左脚位姿确定所述机器人的第一位姿追踪向量;根据所述质心实际位姿和所述右脚位姿确定所述机器人的第二位姿追踪向量;根据所述第一位姿追踪向量和所述第二位姿追踪向量控制所述机器人的质心期望位姿交替追踪所述左脚位姿和所述右脚位姿,以生成所述机器人的质心期望轨迹。通过本申请,根据质心交替追踪双脚的控制思想来生成质心轨迹,有效提升了机器人的稳定性。

技术研发人员:白杰;葛利刚;陈春玉;刘益彰;熊友军
受保护的技术使用者:深圳市优必选科技股份有限公司
技术研发日:2021.05.26
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-8041.html

最新回复(0)