掌桥专利:专业的专利平台
掌桥专利
首页

机器人运动控制方法、装置、机器人及存储介质

文献发布时间:2023-06-19 16:11:11



技术领域

本申请实施例涉及人工智能技术的机器人控制技术领域,特别涉及一种机器人运动控制方法、装置、机器人及存储介质。

背景技术

随着人工智能技术的发展,一些组织和科研机构相继推出了诸如双足机器人、四足机器人等多款能够实现自动行走的机器人。

以四足机器人为例,目前对于四足机器人的研究大多侧重于本体结构设计,对于其运动控制的研究相对较少,从而导致目前的四足机器人基本只具备四足爬行的运动能力。

发明内容

本申请实施例提供了一种机器人运动控制方法、装置、机器人及存储介质,能够丰富机器人的运动能力。所述技术方案如下:

根据本申请实施例的一个方面,提供了一种机器人运动控制方法,所述方法包括:

获取用于引导机器人执行目标运动的质心参考轨迹;其中,所述质心参考轨迹是指为实现所述目标运动而规划的所述机器人的质心运动轨迹;

基于目标函数优化得到用于控制所述机器人跟随所述质心参考轨迹运动的质心控制信息;

根据所述质心控制信息以及所述机器人的结构矩阵,生成关节控制信息;

基于所述关节控制信息控制所述机器人执行所述目标运动。

根据本申请实施例的一个方面,提供了一种机器人运动控制装置,所述装置包括:

参考轨迹获取模块,用于获取用于引导机器人执行目标运动的质心参考轨迹;其中,所述质心参考轨迹是指为实现所述目标运动而规划的所述机器人的质心运动轨迹;

质心信息确定模块,用于基于目标函数优化得到用于控制所述机器人跟随所述质心参考轨迹运动的质心控制信息;

关节信息生成模块,用于根据所述质心控制信息以及所述机器人的结构矩阵,生成关节控制信息;

机器人控制模块,用于基于所述关节控制信息控制所述机器人执行所述目标运动。

根据本申请实施例的一个方面,提供了一种机器人,所述机器人包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述机器人运动控制方法。

根据本申请实施例的一个方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述机器人运动控制方法。

根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。机器人的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该机器人执行上述机器人运动控制方法。

本申请实施例提供的技术方案至少包括如下有益效果:

通过将机器人简化为质点模型,获取用于引导该机器人执行目标运动的质心参考轨迹,然后基于目标函数优化得到用于控制机器人跟随上述质心参考轨迹运动的质心控制信息,并据此生成关节控制信息,然后基于关节控制信息控制机器人执行目标运动,对于给定参考轨迹的运动场景,采用本申请实施例提供的技术方案,可实现精确有效地控制,使得机器人按照预期完成目标运动,丰富了机器人的运动能力。

另外,相比于直接计算用于引导机器人执行目标运动的作用力和力矩等控制信息,由于这种方式需要十分准确的机器人的动力学参数及稳定的地面摩擦条件,因此这种方式对环境敏感,鲁棒性较差。而本申请通过先获取离线确定的质心参考轨迹,然后再构建控制器实现质心参考轨迹的在线跟随,将实际的质心运动轨迹不断拟合质心参考轨迹,从而能够在不需要获取准确的动力学参数及稳定的地面摩擦条件的情况下执行既定的目标运动,整个方案对环境的敏感度低,鲁棒性高,有效提升了控制机器人执行目标运动的稳定性。

附图说明

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

图1是本申请示出的一种足轮复合四足机器人的结构示意图;

图2是本申请示出的一种足轮复合四足机器人变为双轮站立状态的示意图;

图3是本申请一个实施例提供的机器人运动控制方法的流程图;

图4是本申请另一个实施例提供的机器人运动控制方法的流程图;

图5是本申请示出的一种足轮复合四足机器人对应的质点模型的示意图;

图6是本申请一个实施例提供的机器人运动控制装置的框图;

图7是本申请一个实施例提供的机器人的简化结构框图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

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

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

本申请技术方案主要涉及人工智能技术中的机器人技术,主要涉及机器人智能控制。机器人是利用机械传动、现代微电子技术组合而成的一种能模仿人某种技能的机械电子设备,机器人是在电子、机械及信息技术的基础上发展而来的。机器人的样子不一定必须像人,只要能自主完成人类所赋予他的任务与命令,就属于机器人大家族的成员。机器人是一种自动化的机器,这种机器具备一些与人或生物相似的智能能力,如感知能力、规划能力、动作能力和协同能力,是一种具有高度灵活性的自动化机器。随着计算机技术和人工智能技术的发展,使机器人在功能和技术层次上有了很大的提高,移动机器人和机器人的视觉和触觉等技术就是典型的代表。

本申请实施例提供的机器人运动控制方法,能够使得机器人按照质心参考轨迹进行运动,从而完成某一项目标运动。例如,该目标运动可以是从四足趴地状态变为双足站立状态的运动过程,也可以是从双足站立状态变为跳跃腾空状态的运动过程,等等。

在一个示例中,以机器人为足轮复合四足机器人为例。所谓足轮复合四足机器人,是指具有2条前腿和2条后腿的四足机器人,且该四足机器人的足部安装有轮子,使得该四足机器人既可以进行四足行走,也可以进行轮式运动。上述轮子可以仅安装在四足机器人的后腿,也可以仅安装在四足机器人的前腿,还可以在四足机器人的前腿和后腿上均安装相应的轮子。

如图1所示,其示例性示出了一种足轮复合四足机器人的结构示意图。该足轮复合四足机器人可以包括:摄像头1,躯干2,三自由度前腿3、4(左右2条),前轮5、6(主动或被动均可,左右两个),三自由度后腿7、8(左右两条),后轮9、10(主动,左右两个)。其中,摄像头1具备图像采集功能,如采集周围环境图像,以便对该周围环境图像进行分析,从而给机器人规划合适的行走路线。在四足趴地状态下,该足轮复合四足机器人可以使用三自由度前腿3、4(左右2条)和三自由度后腿7、8(左右两条)与地面接触,通过电机分别对上述4条腿进行驱动控制,实现四足行走。另外,通过控制前轮5、6和后轮9、10接地,其他部位离开地面,可以实现四轮滑行;或者,通过控制后轮9、10接地,其他部位离开地面,可以实现两轮滑行。

例如,如图2所示,足轮复合四足机器人可以从四足接地状态变为四轮接地状态,再从四轮接地状态变为双轮站立状态。

请参考图3,其示出了本申请一个实施例提供的机器人运动控制方法的流程图。该方法各步骤的执行主体可以是机器人,如机器人中设置的处理器。该方法可以包括如下几个步骤(310~340):

步骤310,获取用于引导机器人执行目标运动的质心参考轨迹;其中,质心参考轨迹是指为实现目标运动而规划的机器人的质心运动轨迹。

机器人的质心是指机器人的质量中心,也即机器人上被认为质量集中于此的一个假想点。

目标运动可以是任意一种质心位置发生变化的运动。以四足机器人为例,目标运动可以是从四足趴地状态变为双足站立状态的运动过程,目标运动也可以是从双足站立状态变为跳跃腾空状态的运动过程。当然,针对不同种类的机器人,上述目标运动还可以是其他任意一种只要质心位置发生变化的运动,本申请实施例对此不作限定。

质心参考轨迹可以由其他设备生成并预先存储在机器人的存储器中,机器人的处理器在需要用到该质心参考轨迹时,可以从处理器中获取该质心参考轨迹。当然,在一些其他实施例中,在机器人的处理器算力允许的情况下,也可以由机器人的处理器生成该质心参考轨迹。另外,质心参考轨迹可以实现目标运动为前提,依据这一过程中该机器人质心的位置变化情况生成,本申请实施例对该质心参考轨迹的获取方式和生成方式不作具体限定。

步骤320,基于目标函数优化得到用于控制机器人跟随质心参考轨迹运动的质心控制信息。

质心控制信息是与机器人的质心相关的控制信息,用于对该机器人的质心位置进行控制。例如,该质心控制信息可以包括向机器人的质心施加的作用力。需要说明的是,这里给质心施加的作用力可以是直接施加给质心的作用力,也可以是间接施加给质心的作用力。示例性地,假设目标运动是从四足趴地状态变为双足站立状态的运动过程,那么质心控制信息可以包括机器人与承载面(如地面)之间各个接触点的承载面反作用力。在机器人处于四足趴地状态的情况下,机器人与承载面(如地面)之间的接触点数量可以是4个,每个足底与承载面(如地面)之间具有一个接触点。承载面反作用力是指机器人所在的承载面给机器人的反作用力,通过机器人给承载面施加一个作用力,承载面会向机器人提供一种反作用力。在机器人位于地面上的情况下,上述承载面反作用力也可称为地面反作用力。上述各个接触点的承载面反作用力可以认为是间接施加给质心的作用力。

在其他示例中,在机器人为两足机器人或四足机器人,目标运动为从双足/四足站立状态变为跳跃腾空状态的情况下,质心控制信息也可以包括机器人与承载面(如地面)之间各个接触点的承载面反作用力。又例如,在机器人为两轮机器人或四轮机器人,目标运动为轮式运动的情况下,质心控制信息可以包括用于控制机器人运动的推力。需要说明的是,以上介绍的机器人的种类、目标运动的形式以及相应的质心控制信息的内容,均是示例性和解释性的,在本申请公开内容的基础上,本领域技术人员在实际应用中可以进行灵活设计。

目标函数是以实现机器人跟随质心参考轨迹运动为目标设置的一个优化函数,通过选取不同的质心控制信息,会计算得到目标函数的不同数值结果。假设以使得目标函数的数值最小为优化目标,能够实现机器人跟随质心参考轨迹运动,那么当存在一组质心控制信息使得目标函数的数值最小时,这一组质心控制信息即为优化所得的用于控制机器人跟随质心参考轨迹运动的质心控制信息。

步骤330,根据质心控制信息以及机器人的结构矩阵,生成关节控制信息。

机器人的结构矩阵是该机器人结构的数学化表达,用于表征该机器人的结构特征。可选地,机器人的结构矩阵用于表征该机器人的关节结构,例如可以采用关节雅克比矩阵来作为该机器人的结构矩阵。

机器人可以包括多个关节,每个关节用于连接机器人的两个不同部分,从而通过对该关节施加力矩,使得该关节所连接的这两个部分之间的相对位置关系能够发生变化。例如,在图1所示的足轮复合四足机器人中,三自由度后腿分为两个部分,第一部分和第二部分之间通过后轮连接,该后轮则可看作是后腿的第一部分和第二部分之间的关节,其能够实现后腿的第一部分和第二部分之间相对位置关系的改变。又例如,三自由度后腿和躯干之间的相对位置关系也能够发生改变,因此三自由度后腿和躯干之间也会通过相应的关节连接。

关节控制信息是与机器人的关节相关的控制信息,用于对该机器人的关节运动进行控制。可选地,关节控制信息可以包括施加给机器人的各个关节的力矩。

步骤340,基于关节控制信息控制机器人执行目标运动。

在得到关节控制信息之后,基于该关节控制信息对机器人的各个关节分别进行控制,例如给各个关节分别施加相应的力矩,从而使得各个关节产生运动,最终实现控制机器人执行目标运动。

综上所述,本申请实施例提供的技术方案,通过将机器人简化为质点模型,获取用于引导该机器人执行目标运动的质心参考轨迹,然后基于目标函数优化得到用于控制机器人跟随上述质心参考轨迹运动的质心控制信息,并据此生成关节控制信息,然后基于关节控制信息控制机器人执行目标运动,对于给定参考轨迹的运动场景,采用本申请实施例提供的技术方案,可实现精确有效地控制,使得机器人按照预期完成目标运动,丰富了机器人的运动能力。

另外,相比于直接计算用于引导机器人执行目标运动的作用力和力矩等控制信息,由于这种方式需要十分准确的机器人的动力学参数及稳定的地面摩擦条件,因此这种方式对环境敏感,鲁棒性较差。而本申请通过先获取离线确定的质心参考轨迹,然后再构建控制器实现质心参考轨迹的在线跟随,将实际的质心运动轨迹不断拟合质心参考轨迹,从而能够在不需要获取准确的动力学参数及稳定的地面摩擦条件的情况下执行既定的目标运动,整个方案对环境的敏感度低,鲁棒性高,有效提升了控制机器人执行目标运动的稳定性。

请参考图4,其示出了本申请另一个实施例提供的机器人运动控制方法的流程图。该方法各步骤的执行主体可以是机器人,如机器人中设置的处理器。该方法可以包括如下几个步骤(410~450):

步骤410,获取用于引导机器人执行目标运动的质心参考轨迹;其中,质心参考轨迹是指为实现目标运动而规划的机器人的质心运动轨迹。

在本实施例中,主要以机器人为四足机器人,目标运动为从四足趴地状态变为双足站立状态的运动过程进行介绍说明,其他形式的目标运动的具体实现方式与此类似。

步骤420,基于质心参考轨迹,获取机器人的期望质心运动数据。

期望质心运动数据是与机器人的质心相关的运动数据的期望值,该期望值可以结合实际质心运动数据和参考质心运动数据得到;其中,实际质心运动数据是与机器人的质心相关的运动数据的实际值,参考质心运动数据是指与机器人的质心相关的运动数据的参考值。实际质心运动数据可以通过传感器等手段,对机器人的实际运动情况进行测量得到。参考质心运动数据可以根据质心参考轨迹进行相应计算得到。通过对期望质心运动数据进行计算,在实际质心运动数据已经偏离了参考质心运动数据的情况下,可以控制机器人向质心参考轨迹回归。

可选地,实际质心运动数据包括但不限于以下至少一项:实际质心位置、实际质心速度、实际质心加速度、实际质心角速度、实际质心角加速度。可选地,参考质心运动数据包括但不限于以下至少一项:参考质心位置、参考质心速度、参考质心加速度、参考质心角速度、参考质心角加速度。可选地,期望质心运动数据包括但不限于以下至少一项:期望质心位置、期望质心速度、期望质心加速度、期望质心角速度、期望质心角加速度。

可选地,如图4所示,步骤420可以包括如下几个子步骤(422~428):

步骤422,获取机器人的实际质心运动数据。

步骤424,根据质心参考轨迹,获取机器人的参考质心运动数据。

上述步骤422和步骤424可以同时执行,也可以步骤422在步骤424之前执行,或者步骤422在步骤424之后执行,本申请实施例对此不作限定。

步骤426,根据实际质心运动数据与参考质心运动数据的区别,获取质心运动数据调整值。

可选地,质心运动数据调整值用于对参考质心运动数据或者实际质心运动数据进行调整,以得到期望质心运动数据。

在示例性实施例中,计算实际质心运动数据与参考质心运动数据的差值,根据增益矩阵和该差值,获取质心运动数据调整值。例如,可以采用PD(ProportionalDerivative,比例微分)控制器基于实际质心运动数据与参考质心运动数据之间的差值来确定质心运动数据调整值,相应地,上述增益矩阵可以是PD控制器对应的PD增益矩阵。

可选地,质心运动数据调整值包括质心加速度调整值和质心角加速度调整值。示例性地,根据实际质心运动数据与参考质心运动数据的区别,获取质心运动数据调整值,是根据

步骤428,根据质心运动数据调整值和参考质心运动数据,获取期望质心运动数据。

可选地,将质心运动数据调整值和参考质心运动数据相加,计算得到期望质心运动数据。例如,在参考质心运动数据包括参考质心加速度和参考质心角加速度,且质心运动数据调整值包括质心加速度调整值和质心角加速度调整值的情况下,将参考质心加速度和质心加速度调整值相加得到期望质心加速度,将参考质心角加速度和质心角加速度调整值相加得到期望质心角加速度。期望质心运动数据包括期望的广义质心加速度,即包括上述期望质心加速度和期望质心角加速度。

步骤430,基于期望质心运动数据,计算使目标函数的数值满足优化停止条件时所需的质心控制信息。

可选地,将机器人简化为质点模型,通过对该质点模型进行动力学分析,可以得到相应的动力学方程,然后对该动力学方程进行分析,以使得机器人的质心运动轨迹与质心参考轨迹相一致为目标,可以构建得到目标函数。在一些实施例中,目标函数的数值可用于表征机器人偏离质心参考轨迹的偏离程度。例如,目标函数的数值越小,表示机器人偏离质心参考轨迹的偏离程度越小;反之,目标函数的数值越大,表示机器人偏离质心参考轨迹的偏离程度越大。在这种情况下,目标函数对应的优化停止条件则可以是使得目标函数的数值最小时,停止优化。当然,在一些其他示例中,也可能目标函数的数值越小,表示机器人偏离质心参考轨迹的偏离程度越大;反之,目标函数的数值越大,表示机器人偏离质心参考轨迹的偏离程度越小,在这种情况下,目标函数对应的优化停止条件则可以是使得目标函数的数值最大时,停止优化。因此,目标函数对应的优化停止条件的设计,取决于目标函数的构建方式,本申请对此不作限定。

目标函数的参数可以包括期望质心运动数据和质心控制信息,其中期望质心运动数据可以采用上述步骤420计算得到,质心控制信息是一个优化变量,通过对该目标函数进行优化可以求得使该目标函数的数值满足优化停止条件时的质心控制信息,将该优化求得的质心控制信息作为用于控制机器人跟随质心参考轨迹运动的质心控制信息。

在示例性实施例中,目标函数为:

J

其中,W

另外,在一些实施例中,可以将机器人简化为质点模型,然后对其进行动力学分析构建相应的动力学方程,基于该动力学方程构建出目标函数。其中,动力学方程是基于机器人所受到的各个方向的力构建的,各个方向的力相互叠加,使得机器人保持在一种静止或稳定的状态。通过将机器人简化为质点模型之后对其进行动力学分析来构建出用于控制机器人跟随质心参考轨迹运动的目标函数,能够将分析简单化,从而生成较为简单且又能够达到目的的目标函数,有助于减少后续目标函数优化所需的计算量,提升整个机器人控制流程的效率。

可选地,计算使目标函数的数值满足优化停止条件时所需的质心控制信息是通过QP(Quadratic Programming,二次规划)优化法或IPOPT(Interior Point Optimizer,内点优化器)优化法。QP优化法是一种非线性优化方法,其本质是在线性约束条件下,找到一个多维向量,使该多维向量的二次型目标函数值最小(或最大)。在本申请实施例中,利用QP优化法优化得到质心控制信息,以使得机器人可以跟随给出的质心参考轨迹执行目标运动。IPOPT优化法也是一种非线性优化方法。当然,除了采用QP优化法或IPOPT优化法之外,还可以采用其他非线性优化方法,本申请实施例对此不作限定。

步骤440,根据质心控制信息以及机器人的结构矩阵,生成关节控制信息。

在优化生成质心控制信息之后,可以结合机器人的结构矩阵,生成用于控制机器人关节运动的关节控制信息。

在示例性实施例中,考虑到机器人的每个关节都会有相应的运动轨迹和最大运动幅度,为了保证机器人的关节按照相应的运动轨迹运动且不会超出相应的最大运动幅度,如图4所示,步骤440可以包括如下几个子步骤(442~448):

步骤442,根据质心控制信息以及机器人的结构矩阵,生成待调整关节控制信息。

待调整关节控制信息是指直接基于质心控制信息以及机器人的结构矩阵生成的关节控制信息,例如直接将质心控制信息与机器人的结构矩阵相乘,得到待调整关节控制信息。如果直接基于该待调整关节控制信息对机器人各关节进行控制,有可能会导致某些关节不按照相应的运动轨迹运动或者超出相应的最大运动幅度,因此,为了避免此现象的发生,还需要通过如下步骤对该待调整关节控制信息进行调整。

步骤444,获取机器人的实际关节运动数据。

实际关节运动数据是与机器人各关节相关的运动数据的实际值,实际关节运动数据可以通过传感器等手段,对机器人的实际关节状态进行测量得到。可选地,实际关节运动数据包括但不限于以下至少一项:实际关节角度、实际关节角速度、实际关节角加速度。

步骤446,获取机器人的参考关节运动数据。

参考关节运动数据是与机器人各关节相关的运动数据的参考值,参考关节运动数据可以根据质心参考轨迹进行相应计算得到。可选地,参考关节运动数据包括但不限于以下至少一项:参考关节角度、参考关节角速度、参考关节角加速度。

上述步骤444和步骤446可以同时执行,也可以步骤444在步骤446之前执行,或者步骤444在步骤446之后执行,本申请实施例对此不作限定。

步骤448,根据实际关节运动数据与参考关节运动数据,对待调整关节控制信息进行调整,得到关节控制信息。

可选地,根据实际关节运动数据与参考关节运动数据,计算出待调整关节控制信息对应的调整值,然后采用该调整值对待调整关节控制信息进行调整,得到关节控制信息。

例如,在待调整关节控制信息包括机器人各关节的待调整力矩的情况下,根据实际关节运动数据(如包括实际关节角度和实际关节角速度)与参考关节运动数据(如包括参考关节角度和参考关节角速度),计算出各关节的待调整力矩分别对应的调整值,然后将各关节的待调整力矩与其对应的调整值相加,得到最终施加给各关节的力矩。

可选地,根据实际关节运动数据与参考关节运动数据,对待调整关节控制信息进行调整,得到关节控制信息,是根据

对于任意一个关节来说,关节角度可以是指该关节所连接的两个部分之间的夹角;关节角速度可以是指关节角度在单位时间内的变化量,用于描述关节角度随时间的变化快慢程度。

步骤450,基于关节控制信息控制机器人执行目标运动。

在得到用于控制机器人运动的关节控制信息(如各关节的力矩)之后,通过驱动电机给机器人各关节施加相应力矩,从而使得机器人执行目标运动。

综上所述,本申请实施例提供的技术方案,还通过构建目标函数,并采用诸如QP优化或IPOPT优化等非线性优化方法对该目标函数进行优化,能够高效且鲁棒地得到用于控制机器人跟随质心参考轨迹运动的质心控制信息。

另外,还通过基于机器人的实际质心/关节运动数据和参考质心/关节运动数据,确定出该机器人的期望质心/关节运动数据,进而基于期望质心/关节运动数据得到质心/关节控制信息,保证了最终获得的质心/关节控制信息能够准确控制机器人跟随质心参考轨迹进行运动,即便发生偏差也能及时修正,最终达到准确控制机器人执行目标运动的目的。

另外,还通过根据质心控制信息以及机器人的结构矩阵,生成待调整关节控制信息,然后根据实际关节运动数据与参考关节运动数据,对待调整关节控制信息进行调整,得到最终控制机器人关节运动的关节控制信息,能够避免某些关节不按照相应的运动轨迹运动或者超出相应的最大运动幅度,保证了关节运动控制的准确性和有效性。

示例性地,以控制足轮复合四足机器人执行从四足趴地状态变为双足(双轮)站立状态的目标运动为例,质心控制信息可以包括用于控制机器人运动的承载面反作用力,关节控制信息可以包括施加在机器人的各关节上的关节力矩。对于任意一个关节来说,关节力矩可以是指需要施加给该关节的力矩。

首先,将该足轮复合四足机器人简化为图5所示的质点模型,对其进行动力学分析可得:

其中,m表示机器人总质量,L表示角动量,p

A是基于质心的位置和接触点的位置构建的矩阵,A的形式是:

f是基于接触点的承载面反作用力构建的矩阵,f的形式是:

忽略机器人四条腿的质量,质心对应的角动量微分

其中,I表示躯干瞬时转动惯量,ω表示质心角速度,

根据上述式1构建目标函数,优化得到用于控制机器人运动的承载面反作用力,以使得机器人的质心运动轨迹与质心参考轨迹相一致。该目标函数可表示为:

J

其中,W

此处

其中,

参考式4,期望角动量微分

其中,I

其中,

然后,以式5为目标函数,对其进行QP优化,可优化出期望的承载面反作用力。具体做法为,将式5化简为QP优化目标函数的标准形式,即:

J

其中,QP优化所需Hessian(黑塞)矩阵为(A

最后,利用关节逆动力学即可求得实现质心参考轨迹运动的关节力矩:

其中,J

下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

请参考图6,其示出了本申请一个实施例提供的机器人运动控制装置的框图。该装置具有实现上述机器人运动控制方法的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是机器人,也可以设置在机器人中。该装置600可以包括:参考轨迹获取模块610、质心信息确定模块620、关节信息生成模块630和机器人控制模块640。

参考轨迹获取模块610,用于获取用于引导机器人执行目标运动的质心参考轨迹;其中,所述质心参考轨迹是指为实现所述目标运动而规划的所述机器人的质心运动轨迹。

质心信息确定模块620,用于基于目标函数优化得到用于控制所述机器人跟随所述质心参考轨迹运动的质心控制信息。

关节信息生成模块630,用于根据所述质心控制信息以及所述机器人的结构矩阵,生成关节控制信息。

机器人控制模块640,用于基于所述关节控制信息控制所述机器人执行所述目标运动。

在示例性实施例中,所述目标函数的数值用于表征所述机器人偏离所述质心参考轨迹的偏离程度。

在示例性实施例中,所述质心信息确定模块620,用于:

基于所述质心参考轨迹,获取所述机器人的期望质心运动数据;

基于所述期望质心运动数据,计算使所述目标函数的数值满足优化停止条件时所需的所述质心控制信息。

在示例性实施例中,所述目标函数为:

J

其中,W

在示例性实施例中,所述计算使所述目标函数的数值满足优化停止条件时所需的所述质心控制信息是通过QP优化法或IPOPT优化法。

在示例性实施例中,所述质心信息确定模块620,用于:

获取所述机器人的实际质心运动数据;

根据所述质心参考轨迹,获取所述机器人的参考质心运动数据;

根据所述实际质心运动数据与所述参考质心运动数据的区别,获取质心运动数据调整值;

根据所述质心运动数据调整值和所述参考质心运动数据,获取所述期望质心运动数据。

在示例性实施例中,所述质心信息确定模块620,用于:

计算所述实际质心运动数据与所述参考质心运动数据的差值;

根据增益矩阵和所述差值,获取所述质心运动数据调整值。

在示例性实施例中,所述根据所述实际质心运动数据与所述参考质心运动数据的区别,获取质心运动数据调整值,是根据

在示例性实施例中,所述关节信息生成模块630,用于:

根据所述质心控制信息以及所述机器人的结构矩阵,生成待调整关节控制信息;

获取所述机器人的实际关节运动数据;

获取所述机器人的参考关节运动数据;

根据所述实际关节运动数据与所述参考关节运动数据,对所述待调整关节控制信息进行调整,得到所述关节控制信息。

在示例性实施例中,所述根据所述实际关节运动数据与所述参考关节运动数据,对所述待调整关节控制信息进行调整,得到所述关节控制信息,是根据

在示例性实施例中,所述机器人为四足机器人,所述目标运动为从四足趴地状态变为双足站立状态的运动过程。

需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

请参考图7,其示出了本申请一个实施例提供的机器人的简化结构框图。该机器人可以是两足机器人、四足机器人等,本申请实施例对此不作限定。

可选地,如图7所示,该机器人包括处理器71和存储器72。处理器71包括但不限于以下任意一种:CPU(Central Processing Unit,中央处理器)、GPU(Graphics ProcessingUnit,图形处理器)和FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)等。存储器72可以包括RAM(Random-Access Memory,随机存储器)和ROM(Read-Only Memory,只读存储器)等存储设备。处理器71和存储器72之间可以通过系统总线连接。

在示例性实施例中,所述存储器72中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器71加载并执行以实现上述机器人运动控制方法。

在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集在被计算机设备的处理器执行时实现上述机器人运动控制方法。

可选地,该计算机可读存储介质可以包括:ROM(Read-Only Memory,只读存储器)、RAM(Random-Access Memory,随机存储器)、SSD(Solid State Drives,固态硬盘)或光盘等。其中,随机存取记忆体可以包括ReRAM(Resistance Random Access Memory,电阻式随机存取记忆体)和DRAM(Dynamic Random Access Memory,动态随机存取存储器)。

在示例性实施例中,还提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。机器人的处理器从所述计算机可读存储介质中读取所述计算机指令,所述处理器执行所述计算机指令,使得所述机器人执行上述机器人运动控制方法。

应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本申请实施例对此不作限定。

以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

相关技术
  • 机器人运动控制方法、机器人、计算机装置和存储介质
  • 机器人运动控制方法及装置、机器人控制设备和存储介质
技术分类

06120114734744