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

多足机器人的控制方法、装置、电子设备及存储介质与流程

2021-10-19 22:20:00 来源:中国专利 TAG:人工智能 深度 公开 计算机 学习


1.本公开涉及计算机技术领域,尤其涉及人工智能和深度学习技术领域。


背景技术:

2.当前,随着人工智能技术的不断发展,越来越多的行业通过与人工智能技术有效结合,取得了突破性的进展。机器学习是人工智能及模式识别领域的共同研究热点,其理论和方法已被广泛应用于解决工程应用和科学领域的复杂问题。
3.多足机器人相比轮式和履带式等移动机器人具有更好的环境适应性,因此如何提升多足机器人的运动性能,已成为学术界和工业界研究的热点对象。


技术实现要素:

4.本公开提供了一种多足机器人的控制方法、装置、电子设备及存储介质。
5.根据本公开的第一方面,提供了一种多足机器人的控制方法,包括:
6.获取所述多足机器人当前的姿态参数;
7.在所述当前的姿态参数的类型和/或数量满足第一预设条件的情况下,将所述当前的姿态参数输入训练生成的第一模型中,以获取第一运动控制策略;
8.基于所述第一运动控制策略,对所述多足机器人进行控制。
9.根据本公开的第二方面,提供了一种多足机器人的控制装置,包括:
10.第一获取模块,用于获取所述多足机器人当前的姿态参数;
11.第二获取模块,用于在所述当前的姿态参数的类型和/或数量满足第一预设条件的情况下,将所述当前的姿态参数输入训练生成的第一模型中,以获取第一运动控制策略;
12.执行模块,用于基于所述第一运动控制策略,对所述多足机器人进行控制。
13.根据本公开的第三方面,提供了一种电子设备,包括:
14.至少一个处理器;以及
15.与所述至少一个处理器通信连接的存储器;其中,
16.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面所述的方法。
17.根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如第一方面所述的方法。
18.根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如第一方面所述的方法。
19.本公开提供的多足机器人的控制方法、装置、电子设备及存储介质,存在如下有益效果:
20.首先获取多足机器人当前的姿态参数,在当前的姿态参数的类型和/或数量满足第一预设条件的情况下,将当前的姿态参数输入训练生成的第一模型中,以获取当前的目标控制策略;然后基于目标控制策略,对多足机器人进行控制,提高了多足机器人在满足预
设条件下运动的稳定性和可靠性。
21.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明而变得容易理解。
附图说明
22.附图用于更好地理解本方案,不构成对本公开的限定。其中:
23.图1是根据本公开一实施例提供的多足机器人的控制方法的流程示意图;
24.图2是根据本公开另一实施例提供的多足机器人的控制方法的流程示意图;
25.图3是根据本公开另一实施例提供的多足机器人的控制方法的流程示意图;
26.图4是根据本公开另一实施例提供的多足机器人的控制方法的流程示意图;
27.图5是根据本公开一实施例提供的多足机器人的控制装置的结构示意图;
28.图6是根据本公开另一实施例提供的多足机器人的控制装置的结构示意图;
29.图7是根据本公开另一实施例提供的多足机器人的控制装置的结构示意图;
30.图8是根据本公开另一实施例提供的多足机器人的控制装置的结构示意图;
31.图9是用来实现本公开实施例的多足机器人的控制方法的电子设备的框图。
具体实施方式
32.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
33.多足机器人是仿生机器人的一类,多足机器人的运动轨迹是一系列离散的足印,运动时只需要离散的点接触地面,相比轮式和履带式等移动机器人具有更好的环境适应性。随着多足机器人应用场景的多样化和复杂化,提升对多足机器人的运动控制的可靠性,具有重要意义。
34.下面参考附图描述本公开的多足机器人的控制方法、装置、电子设备及存储介质。
35.图1是根据本公开一实施例的多足机器人的控制方法的流程示意图,该方法可以由本公开提供的多足机器人的控制装置执行,也可以由本公开提供的电子设备执行,其中,电子设备可以包括但不限于台式电脑、平板电脑等终端设备,也可以是服务器。下面以由本公开提供的多足机器人的控制装置,执行本公开提供的多足机器人的控制方法为例来解释说明本公开。
36.如图1所示,该多足机器人的控制方法,可以包括以下步骤:
37.步骤101,获取多足机器人当前的姿态参数。
38.本公开实施例中,多足机器人可以为具有行走功能的任意类型的机器人,比如四足机器人、六足机器人、八足机器人等,本公开对此不进行限定。
39.其中,多足机器人的姿态参数可以通过设置在多足机器人的不同部位的传感器获得。因此,针对不同类型的机器人,以及设置在机器人的不同部位的传感器的类型和数量,所获取的机器人的姿态参数不同。
40.比如,对于四足机器人,其整体结构可以包括机器人的躯干和四条肢体。其中每条
肢体可以包含2个髋关节、1个膝关节共3个自由度关节,因而四足机器人的肢体共包含8个髋关节、4个膝关节共12个自由度关节。
41.相应的,在四足机器人的不同部位设置的传感器,可以包括在四足机器人的躯干重心位置设置的惯性传感器(即imu传感器)和速度传感器,在四足机器人的12个关节处设置的角度传感器和角速度传感器,在四足机器人的4个足部设置的位移传感器和压力传感器等。
42.或者,对于六足机器人,其整体结构可以包括机器人的躯干和六条肢体。其中每条肢体可以包含2个髋关节、1个膝关节共3个自由度关节,因而六足机器人的肢体共包含12个髋关节、6个膝关节共18个自由度关节。
43.相应的,在六足机器人的不同部位设置的传感器,可以包括在六足机器人的躯干重心位置设置的惯性传感器(即imu传感器)和速度传感器,在四足机器人的18个关节处设置的角度传感器和角速度传感器,在六足机器人的6个足部设置的位移传感器和压力传感器等。
44.因而,多足机器人当前的姿态参数可以包含当前的关节角度、关节角速度、躯干速度、足部位置、足部受力情况、惯性传感器数据等参数。
45.需要说明的是,上述示例只是举例说明,不能作为对本公开实施例中多足机器人的姿态参数的限定。
46.步骤102,在当前的姿态参数的类型和/或数量满足第一预设条件的情况下,将当前的姿态参数输入训练生成的第一模型中,以获取第一运动控制策略。
47.步骤103,在当前的姿态参数的类型和/或数量未满足第一预设条件的情况下,将当前的姿态参数输入训练生成的第二模型中,以获取第二运动控制策略。
48.基于上述步骤101的描述,可以理解的是,对于不同类型或者同一类型的多足机器人,所获取的姿态参数会因为设置的传感器的类型和数量的不同而不同。
49.比如,对于四足机器人,所获取的姿态参数可能分别包含12个关节的角度和角速度、4个足部的位置、4个足部的受力情况、躯干的速度和惯性传感器数据等。或者,也可能仅包含上述姿态参数中的部分参数,比如仅包含12个关节的角度和角速度、4个足部的位置、4个足部的受力情况和惯性传感器数据等。
50.由于真实场景下的多足机器人的传感器配置可能不同,或者由于多足机器人中的传感器故障等原因,从而对相同类型的多足机器人,不同时刻获取的姿态参数的类型和/或数量可能不同。因此,本公开中可以根据获取的姿态参数的类型和/或数量,采用对应的控制策略。
51.本公开实施例中,当获取的多足机器人的姿态参数的类型和/或数量满足第一预设条件时,可以基于多足机器人当前的姿态参数,利用训练生成的第一模型,得到第一运动控制策略。当获取的多足机器人的姿态参数的类型和/数量未满足第一预设条件时,可以基于多足机器人当前的姿态参数,利用训练生成的第二模型,得到第二运动控制策略。
52.比如,对于四足机器人,设置的第一预设条件可以为,四足机器人当前的姿态参数包含12维关节角度向量、12维关节角速度向量、4维足部位置向量,4维足部受力向量、3维躯干速度向量和6维惯性传感器数量向量。当获取的四足机器人当前的姿态参数包含上述全部数据时,可以基于四足机器人当前的姿态参数,利用训练生成的第一模型,得到第一运动
控制策略。
53.或者,当获取的四足机器人当前的姿态参数包含:12维关节角度向量、12维关节角速度向量、4维足部位置向量、4维足部受力向量、3维躯干速度向量和6维惯性传感器数量向量中的部分向量时,可以基于四足机器人当前的姿态参数,利用训练生成的第二模型,得到第二运动控制策略。
54.本公开实施例中,训练生成的第一模型和第二模型可以为任意类型的神经网络模型,第一模型和第二模型输出的第一运动控制策略和第二运动控制策略可以为多足机器人期望运动的足部轨迹,或者为多足机器人期望运动的关节角度。
55.需要说明的是,上述示例只是举例说明,不能作为对本公开实施例中第一预设条件、第一模型和第二模型的限定。
56.步骤104,基于第一运动控制策略,对多足机器人进行控制。
57.步骤105,基于第二运动控制策略,对多足机器人进行控制。
58.本公开实施例中,当第一运动控制策略和第二运动控制策略为多足机器人期望运动的足部轨迹时,可以通过逆运动学求解方法将所述足部轨迹转化为关节角度,并将关节角度输入底层运动控制器中,由底层运动控制器输出期望的关节力矩,进而控制多足机器人的关节运动;当目标控制策略为多足机器人期望运动的关节角度时,可将关节角度直接输入底层运动控制器中,由底层运动控制器输出期望的关节力矩,进而控制多足机器人的关节运动。
59.需要说明的是,根据前述姿态参数的类型和/或数量对第一预设条件的满足情况,对步骤104和步骤105择一执行。
60.本公开实施例的多足机器人的控制方法,通过获取多足机器人当前的姿态参数,并根据多足机器人当前的姿态参数的类型和/或数量,选择适用的模型,以获取当前的目标控制策略,由此,实现多足机器人的运动控制。本公开根据获取的多足机器人的姿态参数的类型和/或数量,采用对应的模型,生成控制策略,以对多足机器人进行运动控制,从而保证了多足机器人运动的稳定性和可靠性。
61.图2是根据本公开另一实施例的多足机器人的控制方法的流程示意图。如图2所示,在如图1所示实施例的基础上,训练生成第一模型,可以包括以下步骤:
62.步骤201,获取多足机器人的模型参数、运行环境参数及节律运动控制信号。
63.本公开实施例中,多足机器人可以为具有行走功能的任意类型的机器人,比如四足机器人、六足机器人、八足机器人等。针对不同类型的机器人,所获取的机器人的模型参数不同。
64.比如,对于四足机器人,其模型参数可以包括机器人的躯干和四条肢体的参数。其中每条肢体可以包含2个髋关节、1个膝关节共3个自由度关节,因而四足机器人的肢体共包含8个髋关节、4个膝关节共12个自由度关节。
65.或者,对于六足机器人,其模型参数可以包括机器人的躯干和六条肢体的参数。其中每条肢体可以包含2个髋关节、1个膝关节共3个自由度关节,因而六足机器人的肢体共包含12个髋关节、6个膝关节共18个自由度关节。
66.本公开实施例中,多足机器人的运动环境可以包含平地、上楼梯、下楼梯、上斜坡和下斜坡等不同地形。其中,上楼梯和下楼梯的环境参数可以设置不同的楼梯高度,比如楼
梯高度为5cm,或者楼梯高度为10cm等。同理,上斜坡和下斜坡的环境参数可以设置不同的斜坡坡度,比如斜坡坡度为30
°
,或者斜坡坡度为60
°
等。
67.节律运动,是动物的一种有节奏、有规律的运动,多足机器人作为仿生机器人的一种,其在正常环境下的步态具有节律运动特点。对于不同类型的多足机器人,其运动的步态是不同的。并且,对于同一类型的机器人,其运动时也可以有多种步态。因此,本公开实施例中,针对不同类型的多足机器人,所获取的节律运动控制信号不同。
68.比如,对于四足机器人,其运动时的步态可以为斜对角的足部同步输出相同动作,两对足部相隔半个周期依次动作,完成一次运动,两对足部之间的相位差是半个周期。又比如,四足机器人的四个足部依次输出动作,完成一次运动,四个足部之间的相位依次相差四分之一个周期。
69.或者,对于六足机器人,其运动时的步态为三角步态,即将三对足部分成两组,一侧的前、后足与另一侧的中足为一组,形成一个三角形支架结构,六足机器人运动时以三角形支架结构交替前行。
70.因此,多足机器人的节律运动控制信号可以根据多足机器人的模型参数及所设定的运动步态确定,多足机器人在节律运动控制信号的作用下按照设定的步态运动。
71.需要说明的是,上述示例只是举例说明,不能作为对本公开实施例中多足机器人的模型参数、运行环境参数、节律运动控制信号等的限定。
72.步骤202,根据多足机器人的模型参数、运行环境参数及节律运动控制信号,确定多足机器人的基础步态控制策略。
73.基于上述步骤201的描述,本公开实施例中,运行环境参数可以包含多种地形参数,比如平地、上楼梯、下楼梯、上斜坡和下斜坡等不同的地形参数。在不同的地形下,多足机器人的运动方式也不相同。因此,本公开实施例中,多足机器人的基础步态控制策略分别包含在每种地形下对应的基础步态控制策略。
74.确定多足机器人在每种地形下对应的基础步态控制策略,可以将节律运动控制信号作为当前步态控制策略,控制相应的多足机器人模型分别在平地、上楼梯、下楼梯、上斜坡和下斜坡等地形下运动,然后在每种地形下对当前步态控制策略进行优化调整,获得最终的基础步态控制策略。
75.其中,确定多足机器人在平地运动的基础步态控制策略,可以基于当前步态控制策略控制多足机器人在平地上运动,获取多足机器人的运动参数。根据多足机器人的运动参数设置适应度奖励函数,根据适应度奖励函数计算多足机器人每次运动获得的适应度奖励值。根据适应度奖励值对当前步态控制策略进行调整,直至适应度奖励值达到设定阈值。
76.适应度奖励函数可以设为f=w1*a1 w2*a2
……
w
m
*a
m
,其中a1、a2、
……
a
m
分别代表奖励因子,w1、w2、
……
w
m
分别代表奖励权重,m为奖励因子的个数,各个奖励因子的奖励权重可以根据需要设定。
77.举例来说,多足机器人的运动参数可以包括行走的距离,步态的稳定性,足部的前进距离等。则适应度奖励函数可以为f=w1*a1 w2*a2 w3*a3,其中a1、a2、a3分别代表多足机器人行走的距离,步态的稳定性,足部的前进距离,w1、w2、w3为上述各个运动状态参数对应的奖惩权重,w1、w2、w3的数值分别设为0.3、0.4、0.3。
78.需要说明的是,上述示例只是举例说明,不能作为对本公开实施例中多足机器人
的运动参数、奖励函数等的限定。
79.本公开实施例中,确定多足机器人上楼梯和下楼梯的基础步态控制策略,可以基于当前步态控制策略控制多足机器人上楼梯和下楼梯,获取多足机器人的运动参数。根据多足机器人的运动参数设置适应度奖励函数,根据适应度奖励函数计算多足机器人每次运动获得的适应度奖励值。根据适应度奖励值对当前步态控制策略进行调整,直至适应度奖励值达到设定阈值。
80.获取多足机器人上楼梯和下楼梯的基础步态控制策略,所采用的适应度奖励函数可以参照获取多足机器人在平地运动的基础步态控制策略设定,在此不再详述。
81.需要说明的是,由于楼梯具有一定的高度,因此在获取多足机器人上楼梯和下楼梯的基础步态控制策略时,可以控制多足机器人依次在不同高度的楼梯上运动。通过逐渐增加楼梯的高度,逐次优化多足机器人上楼梯和下楼梯的基础步态控制策略,最终达到爬上特定高度楼梯的效果。
82.比如,首先基于当前步态控制策略控制多足机器人爬高度为3cm的楼梯,按照上述描述过程对当前步态控制策略进行调整;然后基于调整后的当前步态控制策略,控制多足机器人爬高度为5cm的楼梯,继续按照上述描述过程对当前步态控制策略进行调整,如此逐渐增加楼梯的高度,直至多足机器人能够爬高度为10cm的楼梯。
83.同理,本公开实施例中,确定多足机器人上斜坡和下斜坡的基础步态控制策略,可以基于当前步态控制策略控制多足机器人上斜坡和下斜坡,获取多足机器人的运动参数。根据多足机器人的运动参数设置适应度奖励函数,根据适应度奖励函数计算多足机器人每次运动获得的适应度奖励值。根据适应度奖励值对当前步态控制策略进行调整,直至适应度奖励值达到设定阈值。
84.获取多足机器人上斜坡和下斜坡的基础步态控制策略,所采用的适应度奖励函数可以参照获取多足机器人在平地运动的基础步态控制策略设定,在此不再详述。
85.需要说明的是,由于斜坡具有不同的坡度,因此在获取多足机器人上斜坡和下斜坡的基础步态控制策略时,可以控制多足机器人依次在不同坡度的斜坡上运动。通过逐渐增加斜坡的坡度,逐次优化多足机器人上斜坡和下斜坡的基础步态控制策略,最终达到爬上特定坡度斜坡的效果。
86.比如,首先基于当前步态控制策略控制多足机器人爬坡度为10
°
的斜坡,按照前述描述过程对当前步态控制策略进行调整;然后基于调整后的当前步态控制策略,控制多足机器人爬坡度为30
°
的斜坡,继续按照前述描述过程对当前步态控制策略进行调整,如此逐渐增加斜坡的坡度,直至多足机器人能够爬坡度为60
°
的斜坡。
87.需要说明的是,上述示例只是举例说明,不能作为对本公开实施例中运行环境参数等的限定。
88.步骤203,基于多足机器人的基础步态控制策略,控制多足机器人模型在随机生成的环境中运动,以获取多足机器人的第一姿态参数集和运动状态参数集。
89.本公开实施例中,随机生成的环境可能包含平地、上楼梯、下楼梯、上斜坡、下斜坡等不同地形中的任意一种或几种。
90.比如,随机生成的环境可以为首先上楼梯,然后是平地,最后下斜坡。或者,随机生成的环境可以为首先下楼梯,然后上斜坡,随后是平地,最后上楼梯。
91.多足机器人模型在随机生成的环境中运动,获取的第一姿态参数集可以包含多足机器人运动过程中在多个时刻的不同类型的姿态参数。
92.比如,对于四足机器人,第一姿态参数集可以包含o
t

n
,o
t

n 1

……
,o
t
,其中t代表当前时刻,o
i
代表第i时刻的姿态参数,i=t

n,t

n 1,
……
,t。o
i
可以包含多足机器人第i时刻的12维关节角度向量、12维关节角速度向量、4维足部位置向量,4维足部受力向量、3维躯干速度向量和6维惯性传感器数量向量。
93.多足机器人模型在随机生成的环境中运动,可以根据其在各个时刻的姿态参数获取多足机器人在多个时刻的不同类型的运动状态参数。
94.比如,对于四足机器人,运动状态参数集可以包含s
t

n
,s
t

n 1

……
,s
t
,其中t代表当前时刻,s
i
代表第i时刻的运动状态参数,i=t

n,t

n 1,
……
,t。s
i
可以包含多足机器人第i时刻的躯干位移,姿态稳定性,足部位移,偏航和滚转,能量损耗等。
95.步骤204,将第一姿态参数集、运动状态参数集及基础步态控制策略,输入第一初始模型中,以获取运动控制策略。
96.需要说明的是,基础步态控制策略输出的控制信号为多足机器人在某一特定的地形下运动时,期望的足部轨迹或关节角度等。多足机器人在基础步态控制策略的作用下,在随机生成的环境中运动,其实际运动的足部轨迹或关节角度与基础步态控制策略期望的足部轨迹或关节角度存在偏差,可能导致多足机器人运动时步态不稳甚至摔倒。
97.本公开实施例中,第一初始模型可以为任意类型的的神经网络模型。其中,可以基于获取的基础步态控制策略、姿态参数和运动状态参数,生成用于控制多足机器人运动的运动控制策略。
98.步骤205,基于运动控制策略,控制多足机器人模型在随机生成的环境中运动,以获取多足机器人在运动控制策略下的姿态参数和运动状态参数。
99.根据步骤203的描述,随机生成的环境可能包含平地、上楼梯、下楼梯、上斜坡、下斜坡等不同地形中的任意一种或几种。比如,随机生成的环境可以为首先上楼梯,然后是平地,最后下斜坡。或者,随机生成的环境可以为首先下楼梯,然后上斜坡,随后是平地,最后上楼梯。
100.多足机器人在运动控制策略的作用下,在随机生成的环境中运动。获得的姿态参数可以包含关节角度向量、关节角速度向量、足部位置向量,足部受力向量、躯干速度向量和惯性传感器数量向量。获得的运动状态参数可以包含躯干位移,姿态稳定性,足部位移,偏航和滚转,能量损耗等。
101.步骤206,根据姿态参数和运动状态参数,对第一初始模型进行调整,直至多足机器人,在基于生成的第一模型确定的运动控制策略下的运动状态参数满足第二预设条件。
102.本公开实施例中,训练生成第一模型,确定其输出的运动控制策略,可以根据多足机器人的运动状态参数设置奖惩函数,根据奖惩函数计算多足机器人在当前运动控制策略的作用下,执行动作所获得的奖励回报。根据奖励回报对当前运动控制策略进行调整,直至奖励回报达到设定阈值,即运动状态参数满足第二预设条件。
103.比如,可以设置奖惩函数r=p1*f1 p2*f2
……
p
x
*f
x
,其中f1、f2、
……
f
x
分别代表奖惩事项,p1、p2、
……
p
x
分别代表奖惩权重,x为奖惩事项的个数,各个奖惩事项的奖惩权重可以根据需要设定。
104.举例来说,多足机器人的运动状态参数可以包括躯干位移,姿态稳定性,足部位移,偏航和滚转,能量损耗等。则奖惩函数可以设为r=p1*f1 p2*f2 p3*f3 p4*f4 p5*f5 p6*f6,其中f1、f2、f3、f4、f5、f6分别代表多足机器人的躯干位移、姿态稳定性、足部位移、偏航和滚转、能量损耗,p1、p2、p3、p4、p5、p6为上述各个运动状态参数对应的奖惩权重,p1、p2、p3、p4、p5、p6的数值可以分别设为0.1、0.2、0.3、0.1、0.1、0.2。
105.需要说明的是,上述示例只是举例说明,不能作为对本公开实施例中多足机器人的姿态参数、运动状态参数、奖惩函数等的限定。
106.本公开实施例中,确定第一模型最终的运动控制策略,可以基于初始运动控制策略控制多足机器人运动,获取多足机器人的姿态参数和运动状态参数。根据多足机器人的运动状态参数设置奖惩函数,根据奖惩函数计算多足机器人每次运动获得的奖励回报。根据奖励回报对当前运动控制策略进行调整,直至奖励回报达到设定阈值,此时多足机器人的运动达到期望的效果。
107.本公开实施例中,可以基于仿真环境,通过在仿真环境中模拟多足机器人,训练生成第一模型,也可以通过构建实体机器人并搭建真实场景训练生成第一模型。
108.比如,可以采用pybullet仿真环境、gazebo仿真环境等搭建多足机器人模型以及环境模型。其中,在仿真环境中设置相关参数构建机器人模型,可以包括多足机器人的躯干结构及肢体结构,在多足机器人的各个部位设置的传感器数量及类型等。在仿真环境中设置相关参数构建环境模型,可以包括不同的地形及地形的参数等。
109.或者,可以采用机械部件及电子元件构建实体的多足机器人,并在多足机器人的各个部位安装需要的传感器,以获取多足机器人的状态信息。同时在真实场景中搭建包含不同地形的运动环境,供多足机器人进行实际运动。
110.本公开实施例的多足机器人的控制方法,首先获取多足机器人在不同地形下运动的基础步态控制策略,然后基于基础步态控制策略,控制多足机器人在随机生成的环境中运动,随后根据多足机器人的运动状态对运动控制策略进行优化调整,使得最终输出的运动控制策略能够达到预期的运动效果,有效提高了多足机器人在地形复杂的环境中运动的稳定性和可靠性。
111.图3是根据本公开另一实施例的多足机器人的控制方法的流程示意图。如图3所示,在如图2所示实施例的基础上,训练生成第二模型,可以包括以下步骤:
112.步骤301,从第一姿态参数集中,抽取第二姿态参数集,其中,第二姿态参数集中包含的姿态参数数量小于第一姿态参数集中包含的姿态参数数量。
113.基于本公开其他实施例中的描述可知,针对不同类型的机器人,以及设置在机器人的不同部位的传感器的类型和数量,所获取的机器人的姿态参数不同。
114.比如,对于四足机器人,第一姿态参数集中可以包含12维关节角度向量、12维关节角速度向量、4维足部位置向量,4维足部受力向量、3维躯干速度向量和6维惯性传感器数量向量。从第一姿态参数集中抽取第二姿态参数集,第二姿态参数集可以包含12维关节角度向量、12维关节角速度向量、4维足部位置向量,4维足部受力向量和6维惯性传感器数量向量。
115.步骤302,将第一姿态参数集、第二姿态参数集及第一运动控制策略,输入第二初始模型中,以获取第二运动控制策略。
116.需要说明的是,第一运动控制策略是在能够获得多足机器人的第一姿态参数集的基础上得到的。在现实场景中,受多种条件限制,可能仅能获得多足机器人的部分姿态参数,这就使得第一运动控制策略无法适用于某些状况下的多足机器人。
117.因此,本公开实施例中,从第一姿态参数集中抽取部分参数,形成第二姿态参数集,第二初始模型基于第一姿态参数集和第二姿态参数集,通过模仿学习第一运动控制策略,使得到的第二运动控制策略与第一运动控制策略相似。
118.比如,定义第一姿态参数集o
t
包含(y1,y2,y3,y4,y5,y6),第二姿态参数集o

t
包含(y1,y2,y3,y4,y5),其中y1,y2,y3,y4,y5,y6分别代表12维关节角度向量、12维关节角速度向量、4维足部位置向量,4维足部受力向量、6维惯性传感器数量向量和3维躯干速度向量。假设第一模型π
*
(
·
|o
t
)输出的第一运动控制策略为根据采用模仿学习方法,计算第二模型π

(
·
|o

t
)输出的第二运动控制策略a
t

119.步骤303,根据第二运动控制策略与所述第一运动控制策略的差异程度,对第二初始模型进行调整,直至多足机器人,在基于生成的第二模型确定的第二运动控制策略下的运动状态满足第三预设条件。
120.本公开实施例中,训练生成第二模型,确定第二运动控制策略,可以定义第二模型进行模仿学习时的最小化目标损失函数,并且设定第三预设条件为最小化目标损失函数的函数值达到设定阈值。
121.比如,定义最小化目标损失函数l为根据采用模仿学习方法,计算第二模型π

(
·
|o

t
)输出的第二运动控制策略a
t
。根据最小化目标损失函数l对第二初始模型进行调整,当最小化目标损失函数的函数值满足第三预设条件时,得到第二模型输出的第二运动控制策略。
122.本公开实施例的多足机器人的控制方法,首先针对能够获得第一姿态参数集的多足机器人,训练生成第一模型,进而确定第一运动控制策略。然后针对仅能获得第二姿态参数集的多足机器人,采用模仿学习的方法,训练生成第二模型,使得第二模型能够基于第一运动控制策略生成第二运动控制策略。由此,本公开提出的控制方法能够适用于配置状况不同的多足机器人,本公开提出的多足机器人的控制方法具有较好的鲁棒性和泛化性。
123.图4是根据本公开另一实施例的多足机器人的控制方法的流程示意图。如图4所示,在如图2所示实施例的基础上,步骤201中,获取多足机器人的模型参数、运行环境参数及节律运动控制信号,可以包括以下步骤:
124.步骤401,获取多足机器人的模型参数及运行环境参数。
125.需要说明的是,上述步骤401中获取多足机器人的模型参数及运行环境参数,可以参照步骤201中的实现方式,在此不再赘述。
126.步骤402,基于多足机器人的模型参数,利用中枢模式发生器生成周期性时间信号。
127.中枢模式发生器(central pattern generator,cpg)是控制动物产生节律运动行为的分布式神经网络。中枢模式发生器能够在无节律信号输入、无反馈信息及缺少高层控制命令的情况下产生稳定的相位锁定的周期性时间信号。
128.比如,可以根据多足机器人的模型参数,定义cpg的初始输入元素及其工作模式。
129.比如,可以定义cpg的两个初始输入元素x0,x1,其中x0,x1的初始值为x0=sin(0)=0,x1=cos(0)=1,即两个元素相差0.5个相位。cpg网络的工作模式为其中旋转矩阵θ代表旋转的角速度,也即cpg网络的频率,θδt代表在时间δt内旋转的角度。初始输入元素,经过cpg网络的积分计算可以得到x
t
=[sin(θt),cos(θt)]。
[0130]
之后,可以采用径向基函数(radial basis function,rbf)将cpg网络的输出x
t
映射为高维特征向量。假设高维特征向量的维度是h,cpg网络的周期是t,进而可以选取h个点其中得到周期性时间信号v
i
(t)为h维的特征向量,其中e是自然指数,α是可调整参数。
[0131]
步骤403,根据周期性时间信号,确定节律运动控制信号。
[0132]
将周期性时间信号映射为节律运动控制信号,可以根据多足机器人的运动步态设置映射函数。
[0133]
比如,四足机器人的一种步态为斜对角的足部输出动作相同,两对足部之间的相位差是半个周期。因此,可以将周期性时间信号v
i
(t)映射为四足机器人其中一个足部的节律运动控制信号u
t
=ω*v
i
(t) b,其中ω是维度为(3,h)的矩阵,b是维度为3的向量,ω和b是可训练的网络参数。
[0134]
假设该足部为四足机器人的第一足部,该足部斜对角的足部为第三足部,四足机器人另外一对斜对角的足部分别为第二足部和第四足部,则四足机器人第三足部与第一足部的节律运动控制信号相同,四足机器人第二足部和第四足部的节律运动控制信号相同,且第二足部与第四足部的节律运动控制信号与第一足部的节律运动控制信号的相位差是半个周期。进而,根据第一足部的节律运动控制信号,可以得到四足机器人其他足部的节律运动控制信号。
[0135]
本公开实施例的多足机器人的控制方法,基于中枢模式发生器生成多足机器人的节律运动控制信号,从而避免建立精确的多足机器人模型,以及人为设计初步的控制策略,有效减少了获取多足机器人的控制方法的工作量,降低了获取多足机器人的控制方法的复杂度。
[0136]
根据本公开的实施例,本公开还提供了一种多足机器人的控制装置。
[0137]
图5是根据本公开一实施例的多足机器人的控制装置的结构示意图。如图5所示,该多足机器人的控制装置500包括:第一获取模块510、第二获取模块520以及执行模块530。
[0138]
其中,第一获取模块510,用于获取多足机器人当前的姿态参数。
[0139]
第二获取模块520,用于在当前的姿态参数的类型和/或数量满足第一预设条件的情况下,将当前的姿态参数输入训练生成的第一模型中,以获取第一运动控制策略;或者
[0140]
在当前的姿态参数的类型和/或数量未满足第一预设条件的情况下,将当前的姿态参数输入训练生成的第二模型中,以获取第二运动控制策略。
[0141]
执行模块530,用于基于第一运动控制策略,对多足机器人进行控制;或者
[0142]
基于第二运动控制策略,对所述多足机器人进行控制。
[0143]
在本公开实施例一种可能的实现方式中,如图6所示,在如图5所示实施例的基础
上,还包括第一训练模块540,第一训练模块540包括:
[0144]
第一获取单元541,用于获取多足机器人的模型参数、运行环境参数及节律运动控制信号;
[0145]
第二获取单元542,用于根据多足机器人的模型参数、运行环境参数及节律运动控制信号,确定多足机器人的基础步态控制策略;
[0146]
第三获取单元543,用于基于多足机器人的基础步态控制策略,控制多足机器人模型在随机生成的环境中运动,以获取多足机器人的第一姿态参数集和运动状态参数集;
[0147]
第四获取单元544,用于将第一姿态参数集、运动状态参数集及基础步态控制策略,输入第一初始模型中,以获取第一运动控制策略;
[0148]
第五获取单元545,用于基于第一运动控制策略,控制多足机器人模型在随机生成的环境中运动,以获取多足机器人在第一运动控制策略下的姿态参数和运动状态参数;
[0149]
第六获取单元546,用于根据姿态参数和运动状态参数,对第一初始模型进行调整,直至多足机器人,在基于生成的第一模型确定的第一运动控制策略下的运动状态满足第二预设条件。
[0150]
在本公开实施例一种可能的实现方式中,如图7所示,在如图6所示实施例的基础上,还包括第二训练模块550,第二训练模块550包括:
[0151]
第七获取单元551,用于从第一姿态参数集中,抽取第二姿态参数集,其中,第二姿态参数集中包含的姿态参数数量小于第一姿态参数集中包含的姿态参数数量;
[0152]
第八获取单元552,用于将第一姿态参数集、第二姿态参数集及第一运动控制策略,输入第二初始模型中,以获取第二运动控制策略;
[0153]
第九获取单元553,用于根据第二运动控制策略与第一运动控制策略的差异程度,对第二初始模型进行调整,直至多足机器人,在基于生成的第二模型确定的第二运动控制策略下的运动状态满足所述第三预设条件。
[0154]
在本公开实施例一种可能的实现方式中,如图8所示,在如图6所示实施例的基础上,第一获取单541,包括:
[0155]
采集单元5411,用于获取多足机器人的模型参数及运行环境参数;
[0156]
生成单元5412,用于基于多足机器人的模型参数,利用中枢模式发生器生成周期性时间信号;
[0157]
确定单元5413,用于根据周期性时间信号,确定节律运动控制信号。
[0158]
需要说明的是,前述对多足机器人的控制方法的实施例的解释说明,也适用于该实施例的多足机器人的控制装置,其实现原理类似,此处不再赘述。
[0159]
本公开实施例的多足机器人的控制装置,通过获取多足机器人当前的姿态参数,并根据多足机器人当前的姿态参数的类型和/或数量,选择适用的模型,以获取当前的目标控制策略,由此,实现多足机器人的运动控制。本公开根据获取的多足机器人的姿态参数的类型和/或数量,采用对应的模型,生成控制策略,以对多足机器人进行运动控制,从而保证了多足机器人运动的稳定性和可靠性。
[0160]
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0161]
图9示出了可以用来实施本公开的实施例的示例电子设备900的示意性框图。电子
设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0162]
如图9所示,设备900包括计算单元901,其可以根据存储在只读存储器(rom)902中的计算机程序或者从存储单元908加载到随机访问存储器(ram)903中的计算机程序,来执行各种适当的动作和处理。在ram 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、rom 902以及ram 903通过总线904彼此相连。输入/输出(i/o)接口905也连接至总线904。
[0163]
设备900中的多个部件连接至i/o接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0164]
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如多足机器人的控制方法。例如,在一些实施例中,多足机器人的控制方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由rom 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到ram 903并由计算单元901执行时,可以执行上文描述的多足机器人的控制方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行多足机器人的控制方法。
[0165]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0166]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0167]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可
读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd

rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0168]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0169]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、互联网和区块链网络。
[0170]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端

服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务("virtual private server",或简称"vps")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0171]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0172]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜