一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

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

2022-09-02 18:57:02 来源:中国专利 TAG:


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


背景技术:

2.随着人工智能技术的发展,一些组织和科研机构相继推出了诸如双足机器人、四足机器人等多款能够实现自动行走的机器人。
3.以四足机器人为例,目前对于四足机器人的研究大多侧重于本体结构设计,对于其运动控制的研究相对较少,从而导致目前的四足机器人基本只具备四足爬行的运动能力。


技术实现要素:

4.本技术实施例提供了一种机器人运动控制方法、装置、机器人及存储介质,能够丰富机器人的运动能力。所述技术方案如下:
5.根据本技术实施例的一个方面,提供了一种机器人运动控制方法,所述方法包括:
6.基于所述机器人待执行的目标运动所需达到的目标状态,通过非线性模型预测控制算法根据目标函数优化得到所述机器人的各关节在未来特定时间间隔的关节期望运动数据;
7.根据所述关节期望运动数据,得到所述机器人的各关节在所述未来特定时间间隔的关节执行力矩;
8.通过所述关节执行力矩控制所述机器人的各关节运动,以使所述机器人向所述目标状态运动。
9.根据本技术实施例的一个方面,提供了一种机器人运动控制装置,所述装置包括:
10.期望数据获取模块,用于基于所述机器人待执行的目标运动所需达到的目标状态,通过非线性模型预测控制算法根据目标函数得到所述机器人的各关节在未来特定时间间隔的关节期望运动数据;
11.执行力矩确定模块,用于根据所述关节期望运动数据,得到所述机器人的各关节在所述未来特定时间间隔的关节执行力矩;
12.机器人控制模块,用于通过所述关节执行力矩控制所述机器人的各关节运动,以使所述机器人向所述目标状态运动。
13.根据本技术实施例的一个方面,提供了一种机器人,所述机器人包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述机器人运动控制方法。
14.根据本技术实施例的一个方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一
段程序、所述代码集或指令集由处理器加载并执行以实现上述机器人运动控制方法。
15.根据本技术实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。机器人的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该机器人执行上述机器人运动控制方法。
16.本技术实施例提供的技术方案至少包括如下有益效果:
17.通过获取用于引导该机器人执行目标运动的关节期望运动数据,然后根据该关节期望运动数据得到机器人的各关节在未来特定时间间隔的关节执行力矩,并据此控制机器人执行目标运动,采用本技术实施例提供的技术方案,能够控制机器人按照预期完成目标运动,丰富了机器人的运动能力。
18.另外,由于在本技术中,采用nlmpc算法根据目标函数优化生成关节期望运动数据,因此在优化过程中可以引入非线性的系统模型或约束条件,并且使得关节期望运动数据满足上述非线性的系统模型或约束条件,从而得到更加准确且符合机器人相关特性的关节期望运动数据,保证机器人能够在符合动力学约束的情况下,准确有效地执行目标运动。
19.另外,对于足轮复合四足机器人来说,采用本技术实施例提供的技术方案,可以实现对其进行双轮站立起摆控制,从而使得足轮复合四足机器人可以在四足爬行移动和双轮站立移动这两种移动方式之间进行自主切换,从而兼顾了轮式运动高速、高效的特征,以及足式运动越障灵活的特点。同时,在双轮站立移动的状态下,解放了前腿,在不额外增加辅助机械臂的条件下,也可完成多种操作任务,提升了足轮复合四足机器人的实用性与炫酷性。
附图说明
20.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1是本技术示出的一种足轮复合四足机器人的结构示意图;
22.图2是本技术示出的一种足轮复合四足机器人变为双轮站立状态的示意图;
23.图3是本技术示出的一种足轮复合四足机器人在双轮站立状态下执行操作任务的示意图;
24.图4是本技术示出的一种足轮复合四足机器人在双轮站立状态下与用户交互的示意图;
25.图5是本技术示出的一种足轮复合四足机器人在各种状态间切换的示意图;
26.图6是本技术一个实施例提供的机器人运动控制方法的流程图;
27.图7是本技术另一个实施例提供的机器人运动控制方法的流程图;
28.图8是本技术另一个实施例提供的机器人运动控制方法的流程图;
29.图9是本技术另一个实施例提供的机器人运动控制方法的流程图;
30.图10是本技术示出的一种足轮复合四足机器人对应的六连杆机构的示意图;
31.图11是本技术示出的一种足轮复合四足机器人轮子运动学分析的示意图;
32.图12是本技术一个实施例提供的双轮站立平衡控制的流程图;
33.图13是本技术示出的一种足轮复合四足机器人对应的类二阶倒立摆模型的示意图;
34.图14是本技术一个实施例提供的双轮站立落地控制的流程图;
35.图15是本技术一个实施例提供的机器人运动控制装置的框图;
36.图16是本技术另一个实施例提供的机器人运动控制装置的框图;
37.图17是本技术一个实施例提供的机器人的简化结构框图。
具体实施方式
38.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
39.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
40.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
41.本技术技术方案主要涉及人工智能技术中的机器人技术,主要涉及机器人智能控制。机器人是利用机械传动、现代微电子技术组合而成的一种能模仿人某种技能的机械电子设备,机器人是在电子、机械及信息技术的基础上发展而来的。机器人的样子不一定必须像人,只要能自主完成人类所赋予他的任务与命令,就属于机器人大家族的成员。机器人是一种自动化的机器,这种机器具备一些与人或生物相似的智能能力,如感知能力、规划能力、动作能力和协同能力,是一种具有高度灵活性的自动化机器。随着计算机技术和人工智能技术的发展,使机器人在功能和技术层次上有了很大的提高,移动机器人和机器人的视觉和触觉等技术就是典型的代表。
42.本技术实施例提供的机器人运动控制方法,能够使得机器人按照质心参考轨迹进行运动,从而完成某一项目标运动。例如,该目标运动可以是从四足趴地状态变为双足站立状态的运动过程,也可以是从双足站立状态变为跳跃腾空状态的运动过程,等等。
43.在一个示例中,以机器人为足轮复合四足机器人为例。所谓足轮复合四足机器人,是指具有2条前腿和2条后腿的四足机器人,且该四足机器人的足部安装有轮子,使得该四足机器人既可以进行四足行走,也可以进行轮式运动。上述轮子可以仅安装在四足机器人的后腿,也可以仅安装在四足机器人的前腿,还可以在四足机器人的前腿和后腿上均安装相应的轮子。
44.如图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接地,其他部位离开地面,可以实现两轮滑行。
45.在本技术实施例中,为了实现对四足机器人进行双轮站立控制,图1所示结构中的躯干2,三自由度前腿3、4(左右2条),三自由度后腿7、8(左右两条),后轮9、10(主动,左右两个)为必要硬件,其他则为非必要硬件。
46.图1所示的足轮复合四足机器人可以在四足爬行移动和双轮站立移动这两种移动方式之间进行自主切换,从而兼顾了轮式运动高速、高效的特征,以及足式运动越障灵活的特点。同时,在双轮站立移动的状态下,解放了前腿,在不额外增加辅助机械臂的条件下,也可完成多种操作任务,提升了足轮复合四足机器人的实用性与炫酷性。
47.例如,如图2所示,足轮复合四足机器人可以从四足接地状态变为四轮接地状态,再从四轮接地状态变为双轮站立状态。双轮站立后四足机器人能以轮式进行高速移动,相比于传统四足机器人的足式运动,提高了运动效率,更适用于结构化场景,如居民小区、工业园区。如图3所示,双轮站立后四足机器人两前肢运动空间增大,在不额外增加辅助机械臂的条件下,也可完成多种操作任务,如图3的(a)部分所示的抱物品,或者图3的(b)部分所示的开门等操作任务。如图4所示,四足与双轮运动自由切换、自主双轮站立可作为足轮复合四足机器人的一种炫酷演示,增加了人机交互的多样性。
48.在本技术实施例提供的机器人为图1所示的足轮复合四足机器人的情况下,如图5所示,其可以包括如下几种运动状态:首先,足轮复合四足机器人处于正常的四足站立状态;然后通过足底末端位置控制使其进入双轮站立预备状态,即躯干倾斜一定角度,前腿足底、后腿足底及后轮接触地面;接着利用非线性模型预测控制实现双轮站立起摆;然后利用类二阶倒立摆模型的lqr(linear quadratic regulator,线性二次型调节器)控制实现双轮站立平衡;此后机器人可进入双轮站立移动状态,其前腿可自由摆动;当移动结束后,利用双轮站立落地控制使机器人恢复到四足站立状态。
49.请参考图6,其示出了本技术一个实施例提供的机器人运动控制方法的流程图。该方法各步骤的执行主体可以是机器人,如机器人中设置的处理器。该方法可以包括如下几个步骤(610~630):
50.步骤610,基于机器人待执行的目标运动所需达到的目标状态,通过非线性模型预测控制算法根据目标函数优化得到机器人的各关节在未来特定时间间隔的关节期望运动数据。
51.机器人在执行目标运动时,其所在位置可能会发生变化,也可能不会发生变化。但是,该机器人的质心位置会发生变化。机器人的质心是指机器人的质量中心,也即机器人上被认为质量集中于此的一个假想点。目标运动可以是任意一种质心位置发生变化的运动。
52.以四足机器人为例,目标运动可以是从四足趴地状态变为双足站立状态的运动过程,目标运动也可以是从双足站立状态变为跳跃腾空状态的运动过程。当然,针对不同种类的机器人,上述目标运动还可以是其他任意一种只要质心位置发生变化的运动,如向某一方向四足爬行、向某一方向两足行走等等,本技术实施例对此不作限定。
predictive control,模型预测控制)是指基于未来信息,利用优化算法计算系统输入,使得系统实际输出能够较好地跟随期望输出。通常模型预测控制是指lmpc(linear model predictive control,线性模型预测控制),而nlmpc是模型预测控制的一种变形,主要是系统模型或优化的约束条件为非线性。
60.目标函数是以实现机器人执行目标运动(如向目标状态运动)为目标设置的优化函数。通过选取不同的关节期望运动数据,会计算得到目标函数的不同数值结果。假设以使得目标函数的数值最小为优化目标,能够实现机器人执行目标运动,那么当存在一组关节期望运动数据使得目标函数的数值最小时,这一组关节期望运动数据即为优化所得的关节期望运动数据。
61.在示例性实施例中,如图7所示,步骤610包括如下几个子步骤:
62.步骤612,根据目标函数确定关节期望运动数据与目标状态之间的差距数据。
63.步骤614,以减小差距数据的绝对值为目标,通过非线性模型预测控制算法优化关节期望运动数据。
64.在本技术实施例中,可以利用目标函数,计算关节期望运动数据与目标状态之间的差距数据;如果该差距数据的绝对值越小,表明关节期望运动数据与目标状态越接近;反之,如果该差距数据的绝对值越大,表明关节期望运动数据与目标状态越远离。在差距数据的绝对值偏大的情况下,可以通过调整优化关节期望运动数据,以使得上述差距数据的绝对值变小,从而更好地接近目标状态。
65.例如,可以基于目标状态确定关节参考运动数据,该关节参考运动数据可以包括机器人各关节的参考运动数据,如参考关节角度、参考关节角速度等数据。关节参考运动数据和关节期望运动数据中的参数类型可以相对应,从而更好地计算出两者之间的差距数据。
66.由于在本技术中,采用nlmpc算法根据目标函数优化生成关节期望运动数据,因此在优化过程中可以引入非线性的系统模型或约束条件(如下文介绍的非线性状态方程),并且使得关节期望运动数据满足上述非线性的系统模型或约束条件,从而得到更加准确且符合机器人相关特性的关节期望运动数据。有关基于nlmpc算法优化生成关节期望运动数据的具体过程,请参见下文实施例中的介绍说明。
67.步骤620,根据关节期望运动数据,得到机器人的各关节在未来特定时间间隔的关节执行力矩。
68.可选地,根据机器人的关节实际运动数据和上述关节期望运动数据,得到该机器人的各关节在未来特定时间间隔的关节执行力矩。机器人的关节实际运动数据是指机器人的当前状态所对应的关节运动数据,该关节运动数据包括一项或者多项用于描述机器人的当前状态的与关节有关的数据,如机器人各关节的实际关节角度、实际关节角速度等数据。机器人的关节期望运动数据是指机器人的期望状态(即上述“目标状态”)所对应的关节运动数据,该关节运动数据包括一项或者多项用于描述机器人的期望状态的与关节有关的数据,如机器人各关节的期望关节角度、期望关节角速度等数据。对于任意一个关节来说,关节角速度可以是指关节角度在单位时间内的变化量,用于描述关节角度随时间的变化快慢程度。
69.未来特定时间间隔是指从当前时刻到未来某一特定时刻之间的时间间隔,该未来
特定时间间隔可以包括多个控制周期。在本技术实施例中,机器人的处理器读取传感器数据(通过读取传感器数据得到实际运动数据),进行控制计算,下发计算出的结果(如上述关节执行力矩)给电机执行,完成这样一个闭环所用的时间,称为一个控制周期。未来特定时间间隔包括的多个控制周期,可简化看作未来特定时间间隔包括多个时间点,每一个时间点可以是一个控制周期的起始时刻。
70.关节执行力矩是指通过电机等力矩施加装置产生的,施加给关节以使得关节运动的力矩。在未来特定时间间隔包括多个控制周期的情况下,对于某一个关节来说,该关节在未来特定时间间隔的关节执行力矩,包括该关节在上述多个控制周期(或者说多个时间点)分别对应的关节执行力矩。例如,未来特定时间间隔p=2ms,控制周期t=100us,则未来特定时间间隔包括20个控制周期,那么对于某一个关节来说,该关节在未来特定时间间隔的关节执行力矩,包括该关节在上述20个控制周期(或者说20个时间点)分别对应的关节执行力矩,即包括20个关节执行力矩。在第1个控制周期/时间点,计算得到各关节在第1个控制周期/时间点对应的关节执行力矩,然后通过驱动电机给机器人各关节分别施加该1个控制周期/时间点对应的关节执行力矩;在第2个控制周期/时间点,计算得到各关节在第2个控制周期/时间点对应的关节执行力矩,然后通过驱动电机给机器人各关节分别施加该2个控制周期/时间点对应的关节执行力矩,以此类推。
71.在示例性实施例中,如图8所示,步骤620包括如下几个子步骤:
72.步骤622,按照控制周期对关节期望运动数据中包括的各关节的期望关节角度时间序列进行差分处理,得到各关节的期望关节角速度时间序列。
73.对于任意一个关节来说,该关节的期望关节角度时间序列包括该关节在时域空间上按序排列的多个期望关节角度;相应地,该关节的期望关节角速度时间序列包括该关节在时域空间上按序排列的多个期望关节角速度。
74.可选地,采用如下公式计算得到期望关节角速度:
[0075][0076]
其中,为第k个控制周期的期望关节角速度,q
ref
[k]为第k个控制周期的期望关节角度,q
ref
[k-1]为第k-1个控制周期(也即第k个控制周期的上一个控制周期)的期望关节角度,t为控制周期的时长,也即时域空间上相邻两个时间点的间隔时长。
[0077]
步骤624,基于各关节的实际关节角度和期望关节角度之间的差值,确定各关节在未来特定时间间隔的第一作用力矩。
[0078]
该第一作用力矩用于弥补实际关节角度和期望关节角度之间的误差,使得实际关节角度与期望关节角度相接近。
[0079]
步骤626,基于各关节的实际关节角速度和期望关节角速度之间的差值,确定各关节在未来特定时间间隔的第二作用力矩。
[0080]
该第二作用力矩用于弥补实际关节角速度和期望关节角速度之间的误差,使得实际关节角速度与期望关节角速度相接近。
[0081]
步骤628,基于各关节在未来特定时间间隔的第一作用力矩和第二作用力矩,确定各关节在未来特定时间间隔的关节执行力矩。
[0082]
例如,对于任意一个关节来说,基于该关节的第一作用力矩与第二作用力矩之和,
得到该关节的关节执行力矩。
[0083]
需要说明的是,本技术不对上述步骤624和626的执行先后顺序进行限定,例如步骤624可以在步骤626之前执行,也可以在步骤626之后执行,还可以和步骤626同时执行,本技术对此不作限定。
[0084]
可选地,如图9所示,在关节期望运动数据还包括各关节的期望关节力矩时间序列的情况下,步骤620还包括如下子步骤623:基于关节期望运动数据中包括的各关节的期望关节力矩时间序列,确定各关节在未来特定时间间隔的期望关节力矩。对于任意一个关节来说,该关节的期望关节力矩时间序列包括该关节在时域空间上按序排列的多个期望关节力矩。
[0085]
相应地,上述步骤628可以由如下步骤替换实现:基于各关节在未来特定时间间隔的第一作用力矩、第二作用力矩和期望关节力矩,确定各关节在未来特定时间间隔的关节执行力矩。
[0086]
以各关节的期望关节角度和期望关节角速度为参考值,将各关节的关节角度误差和关节角速度误差映射为关节力矩,同时结合各关节的期望关节力矩,计算得到各关节的关节执行力矩。
[0087]
可选地,采用如下公式计算得到关节执行力矩τ:
[0088][0089]
其中,为pd增益,τ
opt
为期望关节力矩,分别表示期望关节角速度及实际关节角速度,q
ref
、q
act
分别表示期望关节角度及实际关节角度。上述第一作用力矩即为第二作用力矩即为
[0090]
步骤630,通过各关节在未来特定时间间隔的关节执行力矩控制机器人的各关节运动,以使机器人向目标状态运动。
[0091]
在得到机器人各关节在未来特定时间间隔的关节执行力矩之后,通过驱动电机给机器人各关节施加上述关节执行力矩,以使得机器人向目标状态运动。
[0092]
例如,在目标运动为从四足趴地状态变为双足站立状态的情况下,通过在每一个控制周期,获取机器人各关节的实际关节角度、实际关节角速度、期望关节角度、期望关节角速度和期望关节力矩,采用上文介绍的方式求得该控制周期内各关节的关节执行力矩,然后将各关节的关节执行力矩分别施加给各个关节,依据控制周期不断循环上述过程,最终使得机器人从四足趴地状态变为双足站立状态。
[0093]
综上所述,本技术实施例提供的技术方案,通过获取用于引导该机器人执行目标运动的关节期望运动数据,然后根据该关节期望运动数据得到机器人的各关节在未来特定时间间隔的关节执行力矩,并据此控制机器人执行目标运动,采用本技术实施例提供的技术方案,能够控制机器人按照预期完成目标运动,丰富了机器人的运动能力。
[0094]
另外,由于在本技术中,采用nlmpc算法根据目标函数优化生成关节期望运动数据,因此在优化过程中可以引入非线性的系统模型或约束条件,并且使得关节期望运动数据满足上述非线性的系统模型或约束条件,从而得到更加准确且符合机器人相关特性的关节期望运动数据,保证机器人能够在符合动力学约束的情况下,准确有效地执行目标运动。
[0095]
另外,本技术中的关节期望运动数据包括机器人各关节的期望力矩和角度数据,
实现关节粒度的精确控制,使得机器人的动作更具精细化和逼真化。
[0096]
另外,对于足轮复合四足机器人来说,采用本技术实施例提供的技术方案,可以实现对其进行双轮站立起摆控制,从而使得足轮复合四足机器人可以在四足爬行移动和双轮站立移动这两种移动方式之间进行自主切换,从而兼顾了轮式运动高速、高效的特征,以及足式运动越障灵活的特点。同时,在双轮站立移动的状态下,解放了前腿,在不额外增加辅助机械臂的条件下,也可完成多种操作任务,提升了足轮复合四足机器人的实用性与炫酷性。
[0097]
下面,对关节期望运动数据的优化过程进行介绍说明。
[0098]
在示例性实施例中,目标函数包括第一子目标函数。其中,第一子目标函数以达到目标状态为优化目标,以该目标状态作为参考状态,期望每个控制周期上述机器人不断地接近参考状态。
[0099]
在示例性实施例中,关节期望运动数据包括机器人在未来特定时间间隔中多个时间点对应的多个预测第一状态变量,第一子目标函数是多个预测第一状态变量分别与参考第一状态变量的差值的加权总和,参考第一状态变量是目标状态对应的第一状态变量,第一状态变量包括广义位置和广义速度。
[0100]
可选地,第一子目标函数的构建过程如下:
[0101]
1、采用非线性状态方程计算得到机器人在未来特定时间间隔中多个时间点对应的多个预测第一状态变量;其中,未来特定时间间隔中目标时间点对应的预测第一状态变量,是基于目标时间点的前一个时间点的第一状态变量计算得到的;
[0102]
2、基于上述多个预测第一状态变量和参考第一状态变量,计算得到上述多个时间点对应的多个第一状态变量差值的绝对值;其中,第一状态变量差值是指预测第一状态变量和参考第一状态变量的差值;
[0103]
3、基于上述多个第一状态变量差值的绝对值之和,构建第一子目标函数,该第一子目标函数的优化目标是使得第一子目标函数的取值达到最小值。
[0104]
也即,第一子目标函数j
x
可采用如下公式表示:
[0105][0106]
其中,x
k j
表示第k j个控制周期/时间点的预测第一状态变量,x
k j,ref
表示第k j个控制周期/时间点的参考第一状态变量,wj表示正定对角权重矩阵,p表示预测时间长度(也即上文介绍的“未来特定时间间隔”,其包括多个控制周期),j的取值范围是[1,p]之间的整数。
[0107]
需要说明的是,参考第一状态变量理论上可以是恒值(如以完成目标运动时所需达到的状态设置该参考第一状态变量),或者在实际应用中,为了节约算力,减少优化时间,可以给每一个控制周期单独设置相应的参考第一状态变量。具体地,给定一条样条曲线,按照控制周期对该样条曲线进行插值得到各个控制周期分别对应的参考第一状态变量,该样条曲线可以随意设置,仅需使得加速度的变化平滑即可。
[0108]
可选地,目标函数除了包括第一子目标函数之外,还包括第二子目标函数,该第二子目标函数以施加给机器人的输入力信息的变化尽量小为优化目标,期望输入力矩以及地面接触力无过大的突变。
[0109]
在示例性实施例中,关节期望运动数据还包括机器人在未来特定时间间隔中多个时间点对应的多个期望输入力信息,第二子目标函数是时域空间上每两个相邻期望输入力信息之间差值的加权总和。
[0110]
在示例性实施例中,第二子目标函数的构建过程如下:
[0111]
1、采用非线性状态方程计算得到机器人在未来特定时间间隔中多个时间点对应的多个输入力信息;
[0112]
2、基于当前时间点的输入力信息以及上述多个时间点对应的多个输入力信息,计算时域空间上每两个相邻时间点对应的输入力信息之间的差值的绝对值;
[0113]
3、基于多组相邻时间点对应的输入力信息之间的差值的绝对值之和,构建第二子目标函数,该第二子目标函数的优化目标是使得第二子目标函数的取值达到最小值。
[0114]
也即,第二子目标函数ju可采用如下公式表示:
[0115][0116]
其中,u
k j
表示第k j个控制周期/时间点的输入力信息,u
k j-1
表示第k j-1个控制周期/时间点的输入力信息,rj表示正定对角权重矩阵,p表示预测时间长度(也即上文介绍的“未来特定时间间隔”,其包括多个控制周期),j的取值范围是[1,p]之间的整数。
[0117]
示例性地,在目标函数包括第一子目标函数j
x
和第二子目标函数ju的情况下,目标函数j
opt
如下:
[0118][0119]
其中,上述目标函数j
opt
由两部分组成。第一部分j
x
以达到目标状态为优化目标,第二部分ju以施加给机器人的输入力信息的变化尽量小为优化目标。以目标运动为双轮站立起摆动作为例,第一部分j
x
以实现双轮站立起摆动作为优化目标,即以双轮站立起摆结束状态作为目标状态,期望每个控制周期机器人不断地接近该目标状态;第二部分ju以输入力信息的变化尽量小为优化目标,即期望输入力矩以及地面接触力无过大的突变。
[0120]
另外,上述w和r是预先设置的权重矩阵。以w为例,w的维度对应第一状态变量x中的维度(如位置、速度、加速度、角速度、角度等),要某一维度更优的话,对该维度设置的权重就更大。比如在双轮站立起摆控制中,如果希望最终起摆结束的速度是0,角度/姿态达到竖直姿态,则可以把速度、角度的权重设置的大一些。在实际操作中,权重矩阵r主要是z方向的力,要求这个维度的权重设置偏大一些,权重矩阵w主要是速度和角度对应的权重设置偏大一些。
[0121]
需要说明的是,目标函数可以仅包括上述第一子目标函数,这样也能够实现控制机器人完成目标运动。在一些优选方案中,目标函数可以同时包括第一子目标函数和第二子目标函数,在实现控制机器人完成目标运动的前提下,尽可能使得机器人的输入力信息
无过大的突变,确保机器人运动更加地平滑自然。
[0122]
在上述目标函数的基础上,可以根据该目标函数确定关节期望运动数据与目标状态之间的差距数据,然后以减小该差距数据的绝对值为目标,通过非线性模型预测控制算法优化关节期望运动数据。在示例性实施例中,如图7所示,步骤614可以包括如下几个子步骤:
[0123]
步骤614a,获取预测第一状态变量和期望输入力信息的关系条件,该关系条件用于限制预测第一状态变量和期望输入力信息中至少两种数据之间的关系,该关系条件包括对应于机器人的结构的非线性状态方程;
[0124]
步骤614b,获取对于预测第一状态变量或期望输入力信息的约束条件,该约束条件用于限制预测第一状态变量和期望输入力信息中至少一种物理量的值域;
[0125]
步骤614c,根据关系条件和约束条件,以减小差距数据的绝对值为目标,通过非线性模型预测控制算法优化关节期望运动数据。
[0126]
预测第一状态变量可以具有相应的约束条件,期望输入力信息也可以存在相应的约束条件,且预测第一状态变量和期望输入力信息之间的关系也可以设置相应的关系条件,上述约束条件和关系条件(统称为限制条件)用于对预测第一状态变量和期望输入力信息的取值进行限制。另外,上述限制条件可以基于机器人的动力学约束进行设定,从而使得生成的预测第一状态变量和期望输入力信息满足动力学约束,进而使得优化得到的关节期望运动数据也能够满足动力学约束。
[0127]
可选地,基于机器人的浮动基动力学模型,建立非线性状态方程;其中,非线性状态方程用于计算得到上述多个预测第一状态变量和多个期望输入力信息。非线性状态方程基于机器人的结构(如机器人的动力学模型),定义了第一状态变量和输入力信息之间的关系,通过求解该非线性状态方程,可以得到满足动力学约束的预测第一状态变量和期望输入力信息。
[0128]
第一状态变量包括广义位置和广义速度。其中,广义位置包括机器人质心的位置、质心坐标系的旋转角度,以及各个关节的角度。广义速度包括机器人质心的速度,质心坐标系的旋转角速度,以及各个关节的角速度。输入力信息是指作用在机器人上的广义输入力,如包括关节力矩及接触力(或称为摩擦力)等信息。在要求机器人执行不同动作的场景下,输入力信息所包括的具体内容可以不同,本技术对此不作限定。
[0129]
以足轮复合四足机器人为例,可以将足轮复合四足机器人简化为矢状面六连杆机构,如图10所示。将机器人分切为左右两部分,左右切面就是矢状面,而左右相等的切面被称为正中矢状面。构建该平面六连杆全身浮动基动力学模型:
[0130][0131]
其中,表示惯量矩阵,表示科氏力及离心力向量,表示重力向量,表示描述机器人构型的广义位置向量,表示广义速度及广义加速度,表示选择矩阵,表示nj×
3的零矩阵,表示nj×
nj的单位矩阵,表示关节力矩,表示接
触点的雅克比矩阵,表示接触点的接触力;nj表示关节个数,ng=nj 3表示含浮动基的3个欠驱动自由度的广义关节数,nc表示接触点个数。
[0132]
需要说明的是,机器人的基坐标系在世界坐标系下是移动(浮动)的,在此基座标系下推导机器人动力学方程,称为建立浮动基动力学模型。本技术中浮动基的基座建立在质心位置处。与浮动基相对应的是固定基,即基坐标系在世界系下不移动,如固定于桌面的机械臂。
[0133]
其次,基于此浮动基动力学模型建立非线性状态方程:
[0134][0135]
其中,第一状态变量x包括广义位置q及广义速度表示为输入力信息u包括关节力矩τ及接触力f,表示为若已知第一状态变量x及输入力信息u,则可计算出第一状态变量x的微分其中为广义加速度。因此将式7作为状态函数。
[0136]
对于机器人关节来说,上述广义位置q也可称为广义角度,广义速度也可称为广义角速度,广义加速度也可称为广义角加速度。然后,对式7求得的广义加速度进行离散求和,即:
[0137][0138]
其中,q[k]、为第k个控制周期/时间点的广义角度、广义角速度、广义角加速度,q[k-1]、为第k-1个控制周期/时间点的广义角度、广义角速度;t为控制周期的时长。由此可求得下一控制周期/时间点的广义位置及广义速度,以此作为输出。
[0139]
可选地,上述限制条件除了包括非线性状态方程之外,还可以包括以下至少一项:关节物理约束、接触点摩擦力约束、轮子动力学约束。
[0140]
关节物理约束用于对第一状态变量和输入力信息进行限幅。关节物理约束属于对于预测第一状态变量的约束条件以及对于期望输入力信息的约束条件。例如,根据实际机器人本体及其电机物理特性,对第一状态变量x及输入力信息u进行限幅,即:
[0141][0142]
从上述式9可以看出,关节物理约束用于对广义位置q及广义速度(包括关节角度和关节角速度)的值域进行限制,以及用于对关节力矩τ的值域进行限制。
[0143]
接触点摩擦力约束用于对机器人与承载面之间的接触点的摩擦力进行限制。接触点摩擦力约束属于对于期望输入力信息的约束条件。接触点的接触力应满足摩擦圆锥约束,为减少非线性,将摩擦圆锥近似为摩擦角锥,得到摩擦力不等式约束
如下:
[0144][0145]
其中,n
x
、ny、nz分别表示沿三个坐标轴的单位向量,μi表示摩擦系数,f
i,lb
、f
i,ub
分别表示非负正压力的最小、最大值。
[0146]
从上述式10可以看出,接触点摩擦力约束用于对接触力f的值域进行限制。
[0147]
轮子运动学约束用于对机器人的轮子的运动进行限制,以使得轮子与承载面之间的接触点的瞬时速度为0。为保证轮子在地面作纯滚动,如图11所示,轮子与地面接触点的瞬时速度应为0,即:
[0148]
vc=vw ωw×rwc
=0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(式11)
[0149]
其中,vc为轮子与地面接触点c的线速度,vw为轮子中心w的线速度,ωw为轮子的角速度,r
wc
为轮子中心指向轮子与地面接触点的向量。
[0150]
对式11求导可得:
[0151][0152]
式12即为轮子运动学等式约束。
[0153]
轮子运动学约束对轮子中心w的线速度、轮子的角速度、轮子中心w的线加速度、轮子的角加速度等多种物理量之间的关系提出了限制,属于上述关系条件。
[0154]
根据以上状态函数、输出函数、限制条件及目标函数,利用matlab的nlmpc控制器即可优化出实现目标运动(如双轮站立起摆动作)的输入曲线和输出曲线。该输入曲线包含期望关节力矩时间序列,输出曲线包含期望关节角度时间序列。
[0155]
在本技术实施例中,通过基于机器人的结构构建非线性状态方程,并在优化关节期望运动数据时,设定包括该非线性状态方程在内的限制条件,最终求得符合上述限制条件且使得目标函数最小的关节期望运动数据,在实现控制机器人向目标状态运动的基础上,让机器人的运动参数(如关节角度、关节角速度、关节力矩等参数)在合理范围之内,保证了机器人运动控制的可靠性。
[0156]
另外,还通过设计目标函数包括第一子目标函数,使得机器人在每个控制周期都更好地接近目标状态;还通过设计目标函数包括第二子目标函数,使得机器人的输入力信息无过大的突变,确保机器人运动更加地平滑自然。
[0157]
在示例性实施例中,对于四足机器人(如足轮复合四足机器人)来说,其在双足站立状态下,通过一对轮子与承载面接触,此时也可以称为双轮站立状态。在控制四足机器人实现双轮站立起摆之后,还可以进一步对该机器人进行双轮站立平衡控制。如图12所示,双轮站立平衡控制可以包括如下几个步骤(1210~1240):
[0158]
步骤1210,基于机器人对应的类二阶倒立摆模型的状态方程,构建线性二次型调节器。
[0159]
步骤1220,采用线性二次型调节器根据机器人在当前时刻的第二状态变量,计算得到机器人在当前时刻的期望输入;其中,第二状态变量包括轮子的转速、髋关节的扭矩和
髋关节的角度。
[0160]
步骤1230,采用类二阶倒立摆模型的状态方程根据当前时刻的期望输入,计算得到机器人在下一时刻的第二状态变量。
[0161]
步骤1240,基于下一时刻的第二状态变量,对机器人进行双轮站立平衡控制。
[0162]
如图13所示,该处于双轮站立状态的机器人被简化为矢状面的类二阶倒立摆模型,该类二阶倒立摆模型包括下摆杆131、与下摆杆131的第一端连接的上摆杆132,以及与下摆杆131的第二端连接的轮子133;其中,上摆杆132与下摆杆131的连接关节为髋关节134。假设轮子质量为m0,下摆杆131的杆长、质量、绕y轴转动惯量分别为l1、m1、j1,上摆杆132的杆长、质量、绕y轴转动惯量分别为l2、m2、j2,下摆杆131质心到轮子133中心的距离为l1,上摆杆132质心到髋关节134的距离为l2,下摆杆131、上摆杆132与竖直方向的夹角分别为θ1、θ2,满足右手定则。在本技术中,将机器人简化为类二阶倒立摆模型,其与普通的二阶倒立摆模型相比,髋关节位置会施加相应的力矩,普通的二阶倒立摆模型髋关节位置是自由运动的,不会施加相应的力矩。
[0163]
为实现二阶摆竖直平衡,对轮子施加外力f,髋关节电机产生力矩τ2。轮子与下摆杆间相互作用力为f
1x
、f
1z
,上摆杆与下摆杆间相互作用力为f
2x
、f
2z
,轮子沿水平方向位移为x。忽略地面摩擦及各关节处摩擦,对类二阶倒立摆进行受力分析。轮子沿x轴方向有:
[0164][0165]
下摆杆沿x轴方向有:
[0166][0167]
下摆杆沿z轴方向有:
[0168][0169]
下摆杆绕y轴转动有:
[0170][0171]
上摆杆沿x轴方向有:
[0172][0173]
上摆杆沿z轴方向有:
[0174][0175]
上摆杆绕y轴转动有:
[0176][0177]
联立式13至式19,化简后得:
[0178]
[0179]
其中,其中,
[0180]
在平衡点出线性化,有
[0181][0182]
将式21代入式20,化简后得:
[0183][0184]
将式22改写为状态方程,其状态变量(即上述第二状态变量)包括轮子线速度、下摆杆角速度、上摆杆角速度、轮子沿x轴方向位移、下摆杆与竖直方向夹角、上摆杆与竖直方向夹角这六项,表示为输入包括外力和髋关节力矩,表示为u
dip
=[fτ2]
t
,由此可得:
[0185][0186]
其中:
[0187][0188]
对式23进行离散化可得:
[0189][0190]
对离散化后的状态方程构建lqr控制器(即上述线性二次型调节器):
[0191][0192]
因此,将式25代入式24即可通过迭代求解出下一时刻的第二状态变量。
[0193]
在实际机器人上,每个控制周期内具体的控制流程如下。其中,机器人的处理器读取传感器数据,进行控制计算,下发计算出的结果给电机执行,完成这样一个闭环所用的时间,称为一个控制周期。
[0194]
1、根据轮子测量角速度、躯干imu(inertial measurement unit,惯性测量单元)
测量角度及角速度、髋关节测量角度及角速度计算出当前时刻的第二状态变量
[0195]
2、利用当前时刻的第二状态变量根据式25计算出当前时刻的期望输入此输入第二项即为髋关节期望力矩;
[0196]
3、将计算出的期望输入代入式24,计算出下一时刻的第二状态变量
[0197]
4、将下一时刻的第二状态变量作为期望值,计算出期望的轮子角速度、髋关节角度及角速度;
[0198]
5、将期望的轮子角速度、髋关节力矩、角度及角速度下发给对应关节,即可实现双轮站立平衡控制。
[0199]
可选地,在机器人进入双轮站立平衡状态之后,调整轮子的转速,对机器人进行双轮站立移动控制。
[0200]
可选地,在机器人具有前足的情况下,在机器人双轮站立移动的过程中,前足是可自由运动的。例如,图3所示,机器人可以通过前足执行抱物品、开门等操作任务。
[0201]
在本技术实施例中,通过将机器人简化为类二阶倒立摆模型,并采用lqr控制器迭代求解轮子期望转速、髋关节期望扭矩及期望角度,能够实现对机器人髋关节的运动控制,从而适用于针对具有多个关节的足轮复合机器人的双轮站立平衡控制。
[0202]
在示例性实施例中,对足轮复合四足机器人进行双轮站立落地控制,实现从双轮站立状态变为四足站立状态。如图14所示,双轮站立落地控制可以包括如下几个步骤(1410~1430):
[0203]
步骤1410,基于机器人的期望落地后姿态,利用逆运动学求解出机器人在落地后各关节的落地后期望关节角度。
[0204]
机器人的期望落地后姿态是指预先设定好的,期望机器人在落地后的姿态,如四足站立状态。基于该期望落地后姿态,利用逆运动学可求解出机器人在落地后各关节的落地后期望关节角度。
[0205]
可选地,为了确保机器人在向前着地时有足够的落地时间来进行腿部动作变化,向机器人的轮子施加反向速度,以使机器人向后运动一段时间。
[0206]
步骤1420,基于各关节的当前关节角度和落地后期望关节角度,通过样条曲线插值算法,确定机器人从当前姿态变为期望落地后姿态的过程中,各关节的关节角度变化数据。
[0207]
在计算出机器人在落地后各关节的落地后期望关节角度之后,结合机器人各关节的当前关节角度,采用样条曲线插值算法可以求解得到各关节的关节角度变化数据,该各关节的关节角度变化数据包括各关节在多个时间点上的关节角度。
[0208]
步骤1430,基于各关节的关节角度变化数据,对机器人的各关节进行控制,以使得机器人从当前姿态变为期望落地后姿态。
[0209]
另外,为了保证机器人的前足能够柔顺落地,可以执行如下步骤在落地过程中对前足进行控制:
[0210]
1、基于机器人的前足的期望足底位置和速度,以及前足的实际足底位置和速度,确定前足的期望足底作用力;
[0211]
可选地,按照如下公式计算前足的期望足底作用力δff:
[0212][0213]
其中,表示斜对角系数矩阵,表示前足的期望足底位置和速度,表示前足的实际足底位置和速度。
[0214]
2、利用逆动力学算法根据前足的期望足底作用力,确定前足的关节力矩;可选地,按照如下公式计算前足的关节力矩τf:
[0215][0216]
其中,为前足的雅克比矩阵转置。
[0217]
3、在机器人落地的过程中,基于前足的关节力矩对机器人进行落地控制。
[0218]
在机器人落地的过程中,将前足的关节力矩下发给电机,实现前足柔顺着地,完成安全落地控制。
[0219]
在本技术实施例中,双轮站立落地控制是通过规划各关节运动,使机器人向前落地,同时结合前足柔顺控制,减小落地冲击,实现安全可靠的落地动作。
[0220]
下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。
[0221]
请参考图15,其示出了本技术一个实施例提供的机器人运动控制装置的框图。该装置具有实现上述机器人运动控制方法的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是机器人,也可以设置在机器人中。该装置1500可以包括:期望数据获取模块1510、执行力矩确定模块1520和机器人控制模块1530。
[0222]
期望数据获取模块1510,用于基于所述机器人待执行的目标运动所需达到的目标状态,通过非线性模型预测控制算法根据目标函数得到所述机器人的各关节在未来特定时间间隔的关节期望运动数据。
[0223]
执行力矩确定模块1520,用于根据所述关节期望运动数据,得到所述机器人的各关节在所述未来特定时间间隔的关节执行力矩。
[0224]
机器人控制模块1530,用于通过所述关节执行力矩控制所述机器人的各关节运动,以使所述机器人向所述目标状态运动。
[0225]
在示例性实施例中,如图16所示,所述期望数据获取模块1510,包括:差距数据确定单元1512和期望数据优化单元1514。
[0226]
差距数据确定单元1512,用于根据所述目标函数确定所述关节期望运动数据与所述目标状态之间的差距数据。
[0227]
期望数据优化单元1514,用于以减小所述差距数据的绝对值为目标,通过非线性模型预测控制算法优化所述关节期望运动数据。
[0228]
可选地,所述目标函数包括第一子目标函数,所述关节期望运动数据包括所述机器人在所述未来特定时间间隔中多个时间点对应的多个预测第一状态变量,所述第一子目标函数是所述多个预测第一状态变量分别与参考第一状态变量的差值的加权总和,所述参考第一状态变量是所述目标状态对应的第一状态变量,所述第一状态变量包括广义位置和广义速度。
[0229]
可选地,所述目标函数还包括第二子目标函数,所述关节期望运动数据还包括所
述机器人在所述未来特定时间间隔中多个时间点对应的多个期望输入力信息,所述第二子目标函数是时域空间上每两个相邻期望输入力信息之间差值的加权总和。
[0230]
可选地,所述期望数据优化单元1514,用于:
[0231]
获取所述预测第一状态变量和所述期望输入力信息的关系条件,所述关系条件用于限制所述预测第一状态变量和所述期望输入力信息中至少两种数据之间的关系,所述关系条件包括对应于所述机器人的结构的非线性状态方程;
[0232]
获取对于所述预测第一状态变量或所述期望输入力信息的约束条件,所述约束条件用于限制所述预测第一状态变量和所述期望输入力信息中至少一种物理量的值域;
[0233]
根据所述关系条件和所述约束条件,以减小所述差距数据的绝对值为目标,通过非线性模型预测控制算法优化所述关节期望运动数据。
[0234]
在示例性实施例中,所述装置1500还包括:状态方程建立模块(图中未示出),用于基于所述机器人的浮动基动力学模型,建立所述非线性状态方程;其中,所述非线性状态方程用于计算得到所述多个预测第一状态变量和所述多个期望输入力信息。
[0235]
在示例性实施例中,如图16所示,所述执行力矩确定模块1520,包括:关节角度确定单元1521、第一力矩确定单元1523、第二力矩确定单元1524和执行力矩确定单元1525。
[0236]
关节角度确定单元1521,用于按照控制周期对所述关节期望运动数据中包括的所述各关节的期望关节角度时间序列进行差分处理,得到所述各关节的期望关节角速度时间序列;其中,所述期望关节角度时间序列包括所述关节在时域空间上按序排列的多个期望关节角度,所述期望关节角速度时间序列包括所述关节在时域空间上按序排列的多个期望关节角速度。
[0237]
第一力矩确定单元1523,用于基于所述各关节的实际关节角度和期望关节角度之间的差值,确定所述各关节在未来特定时间间隔的第一作用力矩。
[0238]
第二力矩确定单元1524,用于基于所述各关节的实际关节角速度和期望关节角速度之间的差值,确定所述各关节在未来特定时间间隔的第二作用力矩。
[0239]
执行力矩确定单元1525,用于基于所述各关节在未来特定时间间隔的第一作用力矩和第二作用力矩,确定所述各关节在未来特定时间间隔的关节执行力矩。
[0240]
可选地,如图16所示,所述执行力矩确定模块1520,还包括:关节力矩确定单元1522,用于基于所述关节期望运动数据中包括的所述各关节的期望关节力矩时间序列,确定所述各关节在未来特定时间间隔的期望关节力矩;其中,所述期望关节力矩时间序列包括所述关节在时域空间上按序排列的多个期望关节力矩。
[0241]
所述执行力矩确定单元1525,还用于基于所述各关节在未来特定时间间隔的第一作用力矩、第二作用力矩和期望关节力矩,确定所述各关节在未来特定时间间隔的关节执行力矩。
[0242]
在示例性实施例中,所述机器人为四足机器人,所述目标运动为从四足趴地状态变为双足站立状态的运动过程。
[0243]
可选地,所述机器人在所述双足站立状态下,所述机器人在所述双足站立状态下,通过一对轮子与承载面接触;处于所述双足站立状态的所述机器人被简化为类二阶倒立摆模型,所述类二阶倒立摆模型包括下摆杆、与所述下摆杆的第一端连接的上摆杆,以及与所述下摆杆的第二端连接的所述轮子;其中,所述上摆杆与所述下摆杆的连接关节为髋关节。
[0244]
如图16所示,所述装置1500还包括双轮站立平衡控制模块1540,用于:
[0245]
基于所述类二阶倒立摆模型的状态方程,构建线性二次型调节器;
[0246]
采用所述线性二次型调节器根据所述机器人在当前时刻的第二状态变量,计算得到所述机器人在当前时刻的期望输入;其中,所述第二状态变量包括所述轮子的转速、所述髋关节的扭矩和所述髋关节的角度;
[0247]
采用所述类二阶倒立摆模型的状态方程根据所述当前时刻的期望输入,计算得到所述机器人在下一时刻的第二状态变量;
[0248]
基于所述下一时刻的第二状态变量,对所述机器人进行双轮站立平衡控制。
[0249]
可选地,如图16所示,所述装置1500还包括双轮站立移动控制模块1550,用于:
[0250]
在所述机器人进入双轮站立平衡状态之后,调整所述轮子的转速,对所述机器人进行双轮站立移动控制;
[0251]
其中,在所述机器人具有前足的情况下,在所述机器人双轮站立移动的过程中,所述前足是可自由运动的。
[0252]
可选地,如图16所示,所述装置1500还包括双轮站立落地控制模块1560,用于:
[0253]
基于所述机器人的期望落地后姿态,利用逆运动学求解出所述机器人在落地后各关节的落地后期望关节角度;
[0254]
基于所述各关节的当前关节角度和落地后期望关节角度,通过样条曲线插值算法,确定所述机器人从当前姿态变为所述期望落地后姿态的过程中,所述各关节的关节角度变化数据;
[0255]
基于所述各关节的关节角度变化数据,对所述机器人的各关节进行控制,以使得所述机器人从所述当前姿态变为所述期望落地后姿态。
[0256]
可选地,所述双轮站立落地控制模块1560,还用于:
[0257]
基于所述机器人的前足的期望足底位置和速度,以及所述前足的实际足底位置和速度,确定所述前足的期望足底作用力;
[0258]
利用逆动力学算法根据所述前足的期望足底作用力,确定所述前足的关节力矩;
[0259]
在所述机器人落地的过程中,基于所述前足的关节力矩对所述机器人进行落地控制。
[0260]
可选地,所述机器人在所述双足站立状态下,通过一对轮子与承载面接触;所述双轮站立落地控制模块1560,还用于:
[0261]
向所述轮子施加反向速度,以使所述机器人向后运动一段时间。
[0262]
综上所述,本技术实施例提供的技术方案,通过获取用于引导该机器人执行目标运动的关节期望运动数据,然后根据该关节期望运动数据得到机器人的各关节在未来特定时间间隔的关节执行力矩,并据此控制机器人执行目标运动,采用本技术实施例提供的技术方案,能够控制机器人按照预期完成目标运动,丰富了机器人的运动能力。
[0263]
另外,由于在本技术中,采用nlmpc算法根据目标函数优化生成关节期望运动数据,因此在优化过程中可以引入非线性的系统模型或约束条件,并且使得关节期望运动数据满足上述非线性的系统模型或约束条件,从而得到更加准确且符合机器人相关特性的关节期望运动数据,保证机器人能够在符合动力学约束的情况下,准确有效地执行目标运动。
[0264]
另外,对于足轮复合四足机器人来说,采用本技术实施例提供的技术方案,可以实
现对其进行双轮站立起摆控制,从而使得足轮复合四足机器人可以在四足爬行移动和双轮站立移动这两种移动方式之间进行自主切换,从而兼顾了轮式运动高速、高效的特征,以及足式运动越障灵活的特点。同时,在双轮站立移动的状态下,解放了前腿,在不额外增加辅助机械臂的条件下,也可完成多种操作任务,提升了足轮复合四足机器人的实用性与炫酷性。
[0265]
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0266]
请参考图17,其示出了本技术一个实施例提供的机器人的简化结构框图。该机器人可以是两足机器人、四足机器人等,本技术实施例对此不作限定。
[0267]
可选地,如图17所示,该机器人包括处理器171和存储器172。处理器171包括但不限于以下任意一种:cpu(central processing unit,中央处理器)、gpu(graphics processing unit,图形处理器)和fpga(field programmable gate array,现场可编程逻辑门阵列)等。存储器172可以包括ram(random-access memory,随机存储器)和rom(read-only memory,只读存储器)等存储设备。处理器171和存储器172之间可以通过系统总线连接。
[0268]
在示例性实施例中,所述存储器172中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器171加载并执行以实现上述机器人运动控制方法。
[0269]
在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集在被计算机设备的处理器执行时实现上述机器人运动控制方法。
[0270]
可选地,该计算机可读存储介质可以包括:rom(read-only memory,只读存储器)、ram(random-access memory,随机存储器)、ssd(solid state drives,固态硬盘)或光盘等。其中,随机存取记忆体可以包括reram(resistance random access memory,电阻式随机存取记忆体)和dram(dynamic random access memory,动态随机存取存储器)。
[0271]
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。机器人的处理器从所述计算机可读存储介质中读取所述计算机指令,所述处理器执行所述计算机指令,使得所述机器人执行上述机器人运动控制方法。
[0272]
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本技术实施例对此不作限定。
[0273]
以上所述仅为本技术的示例性实施例,并不用以限制本技术,凡在本技术的精神
和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献