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

轮腿式机器人的控制方法、装置、设备及可读存储介质与流程

2021-12-08 02:17:00 来源:中国专利 TAG:


1.本技术实施例涉及机器人控制领域,特别涉及一种轮腿式机器人的控制方法、装置、设备及可读存储介质。


背景技术:

2.轮腿式机器人是一种通过轮腿结构对机器人主体进行运动控制的机器人结构。由于轮腿式机器人是不稳定的欠驱动系统,因此存在平衡控制的问题。相关技术中,通过全身动力学控制器对轮腿式机器人执行任务的过程进行控制。
3.然而,相关技术中仅能控制轮腿式机器人完成简单的动作。在目标动作较为复杂的情况下,例如跳跃、空翻、跨步行走等,轮腿式机器人偏离平衡点的距离较大,一旦超出了线性化的可控范围,即无法实现对轮腿式机器人的平衡控制。
4.如何对轮腿式机器人执行复杂动作任务的过程实现稳定且柔顺的控制,是需要解决的问题。


技术实现要素:

5.本技术实施例提供了一种轮腿式机器人的控制方法、装置、设备及可读存储介质,能够提高对轮腿式机器人的控制稳定性和准确率。所述技术方案如下:
6.一方面,提供了一种轮腿式机器人的控制方法,所述方法包括:
7.获取所述轮腿式机器人的当前运动状态数据,所述当前运动状态数据用于表示所述轮腿式机器人的运动特征;
8.将所述当前运动状态数据输入非线性控制器,得到所述轮腿式机器人的目标机器人关节的目标关节角加速度参考值;
9.将所述目标关节角加速度参考值输入全身动力学控制器,输出用于控制所述轮腿式机器人执行控制任务的关节力矩。
10.另一方面,提供了一种轮腿式机器人的控制装置,所述装置包括:
11.获取模块,用于获取所述轮腿式机器人的当前运动状态数据,所述当前运动状态数据用于表示所述轮腿式机器人的运动特征;
12.确定模块,用于将所述当前运动状态数据输入非线性控制器,得到所述轮腿式机器人的目标机器人关节的目标关节角加速度参考值;
13.输出模块,用于将所述目标关节角加速度参考值输入全身动力学控制器,输出用于控制所述轮腿式机器人执行控制任务的关节力矩。
14.另一方面,提供了一种轮腿式机器人,所述轮腿式机器人包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如上述本技术实施例中任一所述的轮腿式机器人的控制方法。
15.另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或
指令集由处理器加载并执行以实现如上述本技术实施例中任一所述的轮腿式机器人的控制方法。
16.另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中任一所述的轮腿式机器人的控制方法。
17.本技术实施例提供的技术方案带来的有益效果至少包括:
18.通过将非线性控制器确定的轮腿式机器人的目标机器人关节的目标关节角加速度参考值作为全身动力学控制器的输入,将非线性系统控制方法对机器人稳定控制和全身动力学方法对机器人的柔顺控制的优势结合起来,兼顾机器人平衡控制的准确率和机器人柔顺控制的柔韧度,能够控制轮腿式机器人柔顺的完成例如跳跃、空翻、跨步行走等复杂动作。
附图说明
19.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1是本技术一个示例性实施例提供的轮腿式机器人的结构示意图;
21.图2是本技术一个示例性实施例提供的轮腿式机器人在不同高度下的表现示意图;
22.图3是本技术一个示例性实施例提供的轮腿式机器人的控制方法的流程图;
23.图4是本技术一个示例性实施例提供的轮腿式机器人的控制方法的流程图;
24.图5是本技术一个示例性实施例提供的轮腿式机器人的控制方法的流程图;
25.图6是本技术一个示例性实施例提供的轮腿式机器人的确定轮腿式机器人执行控制任务时的各个关节的关节力矩的方法的流程图;
26.图7是本技术一个示例性实施例提供的轮腿式机器人的三维示意图;
27.图8是本技术一个示例性实施例提供的轮腿式机器人的控制结构的示意图;
28.图9是本技术一个示例性实施例提供的轮腿式机器人的控制装置的结构框图;
29.图10本技术一个示例性实施例提供的轮腿式机器人的结构框图。
具体实施方式
30.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
31.首先,对本技术实施例中所涉及的术语进行介绍:
32.轮腿式机器人:轮腿式机器人是一种通过轮腿结构对机器人基座部进行运动控制的机器人结构,由于轮腿式机器人与地面的接触点仅包括车轮与地面的接触点,在轮腿结构排布本身不稳定的情况下,存在平衡控制的问题。轮腿结构是指上部分为含关节的腿部结构,下部分为车轮结构的驱动结构。
33.控制器:是本技术实施例中预先设置的用于对轮腿式机器人进行平衡控制的方法,一般用数学公式来表达,通过代码编程实现。在一些实施例中,控制器用于在轮腿式机器人偏离平衡点附近,无法采用线性模型进行平衡控制时,结合线性化控制方式和非线性化控制方式对轮腿式机器人进行平衡控制。另外,还可以对轮腿式机器人进行动作控制和柔顺控制。
34.轮腿式机器人包括轮腿部及连接至该轮腿部的基座部,所述轮腿部及所述基座部中的每个包括至少一个关节。
35.轮腿部是指该轮腿式机器人用于实现运动的轮式部件。该轮腿部例如可以为单轮、两轮、四轮或其他个数的轮腿部构型,且每一个轮腿部例如可以通过并联的两个的腿部或串联的多个腿部进行控制。应了解,本技术对轮腿部的具体组成类型及其轮部数量不加以限制。
36.基座部是指轮腿式机器人的主体部分,例如可以为轮腿式机器人的躯干部,基座部例如可以为连接至轮腿式机器人的轮腿部的平面板状部件,或者根据实际需要,基座部也可以具有其他的形态。本技术对基座部的具体形状及组成不加以限制。
37.基座部例如经由支架连接至轮腿部,或者也可以经由其他方式实现基座部与轮腿部的连接。本技术不对该基座部与轮腿部的具体连接方式加以限制。
38.在一些实施例中,基座部例如包括6个关节(三维坐标位置及三维欧拉角度),该轮腿部例如可以包括2个关节,或者也可以设置该基座部包括1个关节,该轮腿部包括8个关节。本技术不对该基座部及该轮腿部所包括的具体关节个数加以限制,也不对轮腿式机器人所具有的具体关节构型加以限制。
39.示意性的,图1是本技术一个示例性实施例提供的轮腿式机器人的结构示意图,如图1所示,该轮腿式机器人100包括基座部110和轮腿部120;
40.其中,基座部110与轮腿部120连接,轮腿部120中包括2个车轮121,和用于连接车轮121和基座部110的腿部结构122,如图1所示,在该轮腿式机器人100中共包括4个腿部结构122,该4个腿部结构122中的2个腿部结构122分别与一个车轮121连接,示意性的,存在腿部结构a、腿部结构b、腿部结构c和腿部结构d,则腿部结构a、腿部结构b与第一个车轮连接,腿部结构c、腿部结构d与第二个车轮连接。其中,腿部结构a、腿部结构b与第一个车轮,以及腿部结构c、腿部结构d与第二个车轮构成了轮腿式机器人的两腿平面并联结构。并联型腿有五个转动关节,分别在横向和垂直方向上有两个平移自由度。与串行机构相比,该并联机构具有结构紧凑、刚度高、承载能力强的特点。因此,机器人可以跳得更高,灵活地克服障碍。
41.可选地,腿部结构122中包括小腿段1221和大腿段1222,小腿段1221和大腿段1222之间通过转动关节连接,小腿段1221与车轮121之间也通过转动关节连接。
42.基座部110中分别对应4个腿部结构122设置有4组电机,该四组电机用于控制腿部结构122的弯曲和伸直,在一些实施例中,腿部结构122与基座部110连接的一段通过转动关节相连,示意性的,如图1所示,则当电机驱动转动关节进行顺时针转动时,即为控制腿部结构122趋向弯曲变化;而当电机驱动转动关节进行逆时针转动时,即为控制腿部结构122趋向伸直变化。(其中,2组腿部结构122通过转动关节进行驱动的方式相同或者不同)。也即顺逆时针转动方式与弯曲伸直控制模式之间的关系相同或者不同。
43.其中,腿部结构122的弯曲和伸直(即小腿段1221和大腿段1222之间的相对位置关系)用于控制轮腿式机器人100的高度,也即,当腿部结构122趋向弯曲变化时,轮腿式机器人100的高度降低,而当腿部结构122趋向伸直变化时,轮腿式机器人100的高度升高。示意性的,请参考图2,图1所示出的腿部结构122为弯曲程度较大的情况,在该情况下,轮腿式机器人100的高度较低,而在图2中,腿部结构122的弯曲程度相较图1的腿部结构122较小,在该弯曲程度下,轮腿式机器人100的高度较高,在图1和图2的不同高度下,轮腿式机器人的平衡不同,导致在两种高度下的平衡控制力矩也不同。
44.车轮121为主动轮,也即,车轮121通过马达驱动后能够实现主动转动,从而实现对轮腿式机器人100的运动状态控制,如:控制轮腿式机器人前进、控制轮腿式机器人后退、控制轮腿式机器人转弯,或者控制轮腿式机器人静止站定。
45.基于轮腿式机器人100中基座部110和轮腿部分120的结构,可以将该轮腿式机器人100近似为一个小车倒立摆的结构。其中,轮腿式机器人100的身高即对应倒立摆结构中的摆长。
46.该轮腿式机器人100的重量主要集中在基座部110和车轮121,其中,基座部110的重量因素主要包括4台驱动腿部结构122的电机、微型计算机、电路板、马达、电池等。
47.轮腿式机器人100的动力学模型可以通过如下公式一表达:
[0048][0049]
其中,m用于指代轮腿式机器人车身,也即基座部部分的质量,m用于指代轮腿式机器人的车轮的质量,l为当前轮腿式机器人的身高,也即当前腿部结构下轮腿式机器人的高度,g为重力加速度。x表示车轮的中点在地面水平移动的距离,在车轮不打滑不离地的情况下,x等于车轮电机旋转时车轮边缘与地面接触点通过的线性距离,表示车轮的旋转线速度,表示旋转线加速度,即为旋转线加速度。θ表示轮腿式机器人的倾角,表示轮腿式机器人的倾角速度,表示轮腿式机器人的倾角加速度。其中,以倾角θ为轮腿式机器人的俯仰角为例进行说明。u即表示在轮腿式机器人上施加的推力,u和施加在车轮上的扭矩之间存在对应的关系。
[0050]
基于上述说明,图3示出了本技术一个示例性实施例提供的轮腿式机器人的控制方法的流程图,以该方法应用于轮腿式机器人的处理器中。如图3所示,该方法包括:
[0051]
步骤320:获取轮腿式机器人的当前运动状态数据;
[0052]
在一些实施例中,获取轮腿式机器人的基础数据和当前运动状态数据,基础数据用于表示轮腿式机器人的结构特征。
[0053]
结构特征包括机器人多个部分的物理值。以图1中的轮腿双足机器人100为例,轮腿式机器人包括但不仅限于基座部和轮腿部,轮腿部和基座部呈倒立摆结构。也即,对轮腿部的控制能够联动对基座部的控制。其中,倒立摆结构是指通过对车轮的控制,对腿部结构与基座部进行控制的联动结构。结构特征包括:当前腿部结构呈现的身高、基座部质量、车轮质量、车轮半径、两个车轮之间的距离等。结构特征也可以包括各部分间的联动结构。例如,以图1中的轮腿双足机器人100为例,当控制车轮顺时针转动从而向右运动时,基座部和轮腿部会通过联动方式相对车轮向左侧运动,这一联动结构也可以体现在基础数据中。本
申请并不对基础数据的具体形式或内容进行限定。
[0054]
在一些实施例中,由于轮腿式机器人的基础结构为固定的,一部分基础数据可以是预先设置好的。以图1中的轮腿双足机器人100为例,比如基座部的第一质量数据,以及轮腿部中车轮的第二质量数据,腿部结构所呈的角度与身高之间的对应关系等等。在一些实施例中,一部分基础数据也可以是通过计算得到的。以图1中的轮腿双足机器人100为例,基础数据中的身高可以根据腿部结构中小腿段和大腿段所呈现的角度根据对应关系计算得到。
[0055]
当前运动状态数据用于表示轮腿式机器人的运动特征,可包括轮腿式机器人的各个关节的关节角度及关节角速度,或者,根据实际需要,还可以包括各个关节的其他运动信息,例如:倾角、倾角速度、车轮旋转距离(也即轮腿式机器人的移动距离)、车轮旋转线速度等。本技术并不对当前运动状态数据的具体形式或内容进行限定。
[0056]
示例性的,当前运动状态数据可包括基座部运动状态数据及轮腿部运动状态数据。
[0057]
所述基座部运动状态数据是表征该机器人的基座部所具有的运动状态的信息。例如,该基座部运动状态数据例如包括该机器人的三维姿态信息,或者也可以仅包括该三维姿态信息中旨在被控制的两维姿态的姿态信息,还可以包括当前基座部的高度信息,以便于实现对于基座部高度的控制。
[0058]
所述轮腿部运动状态数据是表征该轮腿式机器人的轮腿部运动状态及自平衡状态的信息。例如,该轮腿部运动状态数据例如可以包括轮腿部质心与基座部质心的当前水平距离,轮腿部质心与基座部质心的当前相对速度、轮腿部的运动位置及轮腿部的运动速度中的至少一部分,或者也可以根据实际需要包括其他的平衡运动参数信息。
[0059]
本技术对基座部运动状态数据及轮腿部运动状态数据的具体组成不加以限制。
[0060]
示例性的,获取轮腿式机器人的传感器数据;基于传感器数据对轮腿式机器人的运动状态进行估计,得到当前运动状态数据;其中,传感器数据包括轮腿式机器人的左轮角度和左轮角速度中的至少一种、所述轮腿式机器人的右轮角度和右轮角速度中的至少一种、所述基座部的俯仰角以及角速度、所述基座部的横滚角以及角速度、所述基座部的偏航角以及角速度,轮腿式机器人的关节电机的角度和角速度中的至少一种。
[0061]
步骤340:将当前运动状态数据输入非线性控制器,得到轮腿式机器人的目标机器人关节的目标关节角加速度参考值;
[0062]
目标机器人关节为轮腿式机器人的部分关节或者全部关节。
[0063]
示例性的,将当前运动状态数据输入非线性控制器,得到轮腿式机器人的轮腿部的目标关节角加速度参考值;或者,将当前运动状态数据输入非线性控制器,得到轮腿式机器人的全部关节的目标关节角加速度参考值,等等。本技术对目标机器人关节的数量及范围不加以限制。
[0064]
可选地,目标机器人关节的目标关节角加速度参考值包括:轮腿式机器人的轮腿部关节角加速度参考值,或者,轮腿式机器人的基座部关节角加速度参考值和轮腿式机器人的轮腿部关节角加速度参考值。
[0065]
可选地,在轮腿式机器人为轮腿双足机器人的情况下,轮腿式机器人的轮腿部关节角加速度参考值包括左轮腿部的关节角加速度参考值和右轮腿部的关节角加速度参考
值。
[0066]
参考上述公式一可知,轮腿式机器人的动力学模型本身是非线性的,故,首先对上述公式一进行变形处理,拆分为如下公式二和公式三。
[0067][0068][0069]
其中,v表示轮腿式机器人的目标机器人关节的目标关节角加速度参考值,m用于指代轮腿式机器人车身,也即基座部部分的质量,m用于指代轮腿式机器人的车轮的质量,r为车轮的半径,l为当前轮腿式机器人的身高,也即当前腿部结构下轮腿式机器人的高度,g为重力加速度。表示车轮的线加速度。θ表示轮腿式机器人的倾角,表示轮腿式机器人的倾角速度,表示轮腿式机器人的倾角加速度。其中,以倾角θ为轮腿式机器人的俯仰角为例进行说明。u表示平衡力矩,即在轮腿式机器人上施加的推力,u和施加在车轮上的扭矩之间存在对应的关系。
[0070]
在一些实施例中,基于当前运动状态数据,以轮腿式机器人的动力学关系的线性化部分符合目标平衡状态为目标,通过非线性控制器确定轮腿式机器人的目标机器人关节的目标关节角加速度参考值。
[0071]
示例性的,非线性控制器可以通过如下步骤得到:确定轮腿式机器人的原始能量关系,原始能量关系中包括原始势能,原始势能存在非稳态特性;以及,确定轮腿式机器人的变式能量关系,变式能量关系中包括变式势能,变式势能存在稳态特性,且当轮腿式机器人处于目标平衡状态时,变式势能取值最小;以原始能量关系变化为变式能量关系为目标,确定非线性控制器。
[0072]
非线性控制器对应有原始能量关系和变式能量关系。
[0073]
示例性的,确定原始能量关系和变式能量关系。原始能量关系中包括原始势能,而原始势能存在非稳态特性。非稳态特性是指,在原始势能的计算曲线中,当原始势能处于最大值的情况下,轮腿式机器人处于目标平衡状态,而该原始势能的最大值情况不稳定;变式能量关系中包括变式势能,变式势能存在稳态特性,且当轮腿式机器人处于目标平衡状态时,变式势能取值最小。稳态特性是指,在变式势能的计算曲线中,当变式势能处于最小值时,轮腿式机器人处于目标平衡状态,且变式势能的最小值情况稳定。
[0074]
示意性的,原始能量关系如下公式四所示。
[0075][0076]
其中,q表示动量,p表示角动量,q=[θ x]
t
,而惯性矩阵m
i
=[1 0;0 1],原始势能v=cos(θ)g/l。
[0077]
示意性的,变式能量关系如下公式五所示。
[0078][0079]
v
d
为变式势能,该变式势能存在稳态特性,变式势能的表达式请参考如下公式六。
[0080][0081]
其中,k为自由参数,使用李雅普诺夫函数能够证实,在变式势能最小的情况下,轮腿式机器人能够稳定在目标平衡状态x*。
[0082]
m
d
为预设矩阵,且在俯仰角范围内是正定的,请参考如下公式七。
[0083][0084]
其中,m
11
为代表的数学变量,m
12
为代表的数学变量,m
22
为代表的数学变量。
[0085]
其中,θ表示轮腿式机器人的倾角,l为当前轮腿式机器人的身高,而k和为预先定义的自由参数,且k>0,
[0086]
示例性的,本技术实施例中,以公式四示出的原始能量关系变化为公式五示出的变式能量关系为目标,确定轮腿式机器人的目标机器人关节的目标关节角加速度参考值v。
[0087]
其中,在确定轮腿式机器人的目标机器人关节的目标关节角加速度参考值v时,针对不同的控制目标,通过不同的方式对轮腿式机器人的目标关节角加速度参考值v进行确定,其中至少包括如下两种情况:
[0088]
1、控制轮腿式机器人平衡固定于平衡点x*。
[0089]
在一些实施例中,基于如下公式八确定轮腿式机器人的目标机器人关节的目标关节角加速度参考值。
[0090]
公式八:v=a1(θ)p(x

x
*
) p
t
a2(θ)p a3(θ)

k
v
a4(θ)p
[0091]
其中,k
v
为阻尼注入过程中的自由参数,v表示所述轮腿式机器人的目标机器人关节的目标关节角加速度参考值,x表示轮腿式机器人车轮的旋转距离,x
*
表示所述目标平衡状态下车轮的平衡点;θ表示轮腿式机器人的倾角,a1、a2、a3和a4为预先设置的参数计算表达式。从而在对轮腿式机器人进行控制时,是以平衡力矩控制轮腿式机器人平衡固定于平衡点x
*

[0092]
上述a1、a2、a3和a4的计算方式请参考如下公式九至公式十二。
[0093]
[0094][0095][0096][0097]
其中,m
11
、m
12
、m
22
请参考如上公式七,表示对函数f(θ)在θ处的微分,f(θ)的计算方式如下公式十三所示:
[0098][0099]
α
11
和α
12
的计算方式请参考如下公式十四所示:
[0100][0101]
α
11
即为上述矩阵乘积得到的第一行,α
12
为上述矩阵乘积得到的第二行。
[0102]
基于上述公式八计算由当前车轮向平衡点x
*
调整所对应的轮腿式机器人的目标机器人关节的目标关节角加速度参考值v,从而控制轮腿式机器人固定在平衡点[0 0 x
* 0]
t
。也即,当前计算得到的目标关节角加速度参考值v能使公式五中的h
d
满足和表示倾角为0,表示轮腿式机器人处于平衡点x
*
。其中,平衡点x
*
为实时指定的数值,如:根据对轮腿式机器人的控制操作确定的值。
[0103]
2、控制轮腿式机器人在目标平衡状态下匀速运动。
[0104]
在一些实施例中,基于如下公式十五确定目标关节角加速度参考值。
[0105][0106]
其中,θ表示轮腿式机器人的倾角,k
v
为阻尼注入过程中的自由参数,a1、a2、a3和a4为预先设置的参数计算表达式。从而在对轮腿式机器人进行控制时,是以平衡力矩控制轮腿式机器人在目标平衡状态下以的速度匀速运动。
[0107]
基于上述公式十五计算由当前车轮线速度向目标速度调整所对应的轮腿式机器人的目标机器人关节的目标关节角加速度参考值v,从而控制轮腿式机器人以的速度匀速运动。也即,当前计算得到的目标关节角加速度参考值v能使公式五中的h
d
满足和表示倾角为0,表示轮腿式机器人的运动速度为其中,平衡点为实时指定的数值,如:根据对轮腿式机器人的控制操作确定的值。
[0108]
步骤360:将目标关节角加速度参考值输入全身动力学控制器,输出用于控制轮腿式机器人执行控制任务的关节力矩。
[0109]
全身动力学控制器包括一系列的控制任务和约束条件组成的方程组。
[0110]
在满足约束条件的前提下,通过全身动力学控制器以目标关节角加速度参考值为控制目标进行二次优化问题的求解,得到用于控制轮腿式机器人执行控制任务的关节力矩。
[0111]
示意性的,约束条件包括:摩擦锥约束、闭环连杆约束和动力学约束中的至少两种;
[0112]
其中,摩擦锥约束用于约束承载面反作用力满足摩擦锥,所述承载面反作用力是指承载面对轮腿式机器人的作用力;闭环连杆约束用于约束轮腿式机器人的腿部连杆结构;动力学约束用于基于轮腿式机器人的动力学模型对控制任务进行约束。
[0113]
控制任务包括自平衡任务和动作任务等等。动作任务分为静态动作任务和动态动作任务。
[0114]
静态动作任务包括:轮腿式机器人的车轮的横滚任务;轮腿式机器人的基座部的高度任务;基座部的横滚任务;基座部的俯仰任务;基座部的偏航任务;基座部的尾巴控制任务;轮腿部的平衡任务,等等。
[0115]
动态动作任务包括:跳跃任务、双轮交替跨步行走任务、一轮支撑另一轮离地的避障任务等等。
[0116]
综上所述,本技术实施例提供的轮腿式机器人的控制方法,通过获取轮腿式机器人的当前运动状态数据并输入非线性控制器中,得到轮腿式机器人的目标机器人关节的目标关节角加速度参考值;通过将非线性控制器确定的轮腿式机器人的目标机器人关节的目标关节角加速度参考值输入全身动力学控制器,得到用于控制轮腿式机器人执行控制任务的关节力矩。本技术实施例提供的方法将非线性控制的方法与全身动力学控制的方法结合起来,使得在对机器人进行控制的过程中,既能采用非线性控制方法提高对轮腿式机器人进行平衡控制的准确率,又能采用全身动力学的方法实现机器人的柔顺控制,提升对机器人实施柔顺控制的柔韧度和控制效果。
[0117]
上述实施例展示了基于当前运动状态数据,通过非线性控制器得到轮腿式机器人的目标机器人关节的目标关节角加速度参考值,将目标关节角加速度参考值输入全身动力学控制器后得到轮腿式机器人执行控制任务时的各个关节的关节力矩的过程,以下实施例将以控制任务为自平衡任务为例,详细阐述通过全身动力学控制器确定轮腿式机器人的各个关节的关节力矩的方法。
[0118]
图4示出了本技术一个示例性实施例提供的轮腿式机器人的控制方法的流程图,以该方法应用于轮腿式机器人的处理器中。如图4所示,该方法包括:
[0119]
步骤420:获取轮腿式机器人的当前运动状态数据;
[0120]
运动状态数据的获取方式在上述步骤320中已进行了说明,此处不再赘述。
[0121]
步骤440:将当前运动状态数据输入非线性控制器,得到轮腿式机器人的目标机器人关节的目标关节角加速度参考值;
[0122]
基于当前运动状态数据确定目标关节角加速度参考值的方式在上述步骤440中已进行了说明,此处不再赘述。
[0123]
步骤460:将目标关节角加速度参考值输入全身动力学控制器,输出用于控制轮腿式机器人执行自平衡任务的关节力矩。
[0124]
示例性的,以控制任务为自平衡任务为例,将轮腿式机器人的目标机器人关节的目标关节角加速度参考值输入全身动力学控制器,寻找最贴近轮腿式机器人执行自平衡任务的目标关节角加速度参考值的最优解,作为全身动力学控制器的输出,该输出的关节力矩用于控制轮腿式机器人执行自平衡任务。
[0125]
示例性的,以控制任务为自平衡任务为例,通过以下子步骤4601至子步骤4602展示全身动力学控制器通过输入的轮腿式机器人的目标机器人关节的目标关节角加速度参考值计算得到关节力矩的过程:
[0126]
步骤4601:基于轮腿部的目标关节角加速度参考值,以保持相对平衡为目标计算基座部的目标姿态角加速度参考值;
[0127]
将步骤440中确定的轮腿部的目标关节角加速度参考值输入全身动力学控制器中。由于基座部经由支架连接至轮腿部,或者经由其他方式实现基座部与轮腿部的连接,因此可以基于轮腿部的目标关节角加速度参考值,确定基座部的目标姿态角加速度参考值。
[0128]
为了使得轮腿式机器人实现自平衡任务,在机器人的运动过程中,控制轮腿式机器人的轮腿部质心与基座部质心的水平距离小于目标水平距离阈值,且轮腿部质心与基座部质心的相对速度小于目标相对速度阈值,目标水平距离阈值用于指示使得轮腿式机器人整体质心保持稳定的轮腿部质心与基座部质心的水平距离,目标相对速度阈值用于指示使得轮腿式机器人保持稳定的轮腿部质心与基座部质心的相对速度。
[0129]
示例性的,为了实现轮腿式机器人保持相对平衡,在机器人的运动过程中,控制轮腿式机器人的轮腿部质心与基座部质心的水平距离小于轮腿部质心与该轮腿部质心与该轮腿部各边缘的距离的最小值,且通过控制轮腿式机器人的轮腿部质心与基座部质心的相对速度为0或趋近于0,使得基座部的质心始终位于轮腿部的区域内,且该基座部与该轮腿部之间无相对运动,从而保证轮腿式机器人在运动过程中保持平衡状态。
[0130]
基于轮腿部的目标关节角加速度参考值,以及,为了保持轮腿式机器人相对平衡而设置的轮腿部质心与基座部质心的水平距离和轮腿部质心与基座部质心的相对速度,计算得到基座部的目标姿态角加速度参考值。
[0131]
步骤4602:在满足约束条件的前提下,通过全身动力学控制器根据轮腿部的目标关节角加速度参考值和基座部的目标姿态角加速度参考值,确定轮腿式机器人执行自平衡任务时的各个关节的关节力矩。
[0132]
示例性的,基于轮腿部的目标关节角加速度参考值和基座部的目标姿态角加速度参考值确定轮腿式机器人的目标运动加速度;基于当前运动状态数据,确定轮腿式机器人的目标运动加速度估计量;在满足约束条件的前提下,基于轮腿式机器人的目标运动加速度和目标运动加速度估计量,确定轮腿式机器人执行自平衡任务时的各个关节的关节力矩。
[0133]
关节力矩即作为全身动力学控制器的输出,对轮腿式机器人的各个关节电机进行控制,使得机器人实现自平衡任务。
[0134]
示例性的,基于轮腿式机器人各个关节的关节目标运动加速度确定各个关节的关节力矩,并对该关节力矩进行摩擦补偿,基于补偿摩擦后的关节力矩生成关节控制电流值,
并将该关节控制电流值发送至相应的关节控制电机,从而经由电机输出相应力矩,实现对轮腿式机器人各个关节的控制,从而实现对轮腿式机器人的运动控制。
[0135]
综上所述,本实施例提供的方法通过将非线性控制器中确定的轮腿式机器人的目标机器人关节的目标关节角加速度参考值作为全身动力学控制器的输入,确定轮腿式机器人执行自平衡任务时的目标运动加速度,再基于约束条件将轮腿式机器人的目标运动加速度转换为轮腿式机器人的各个关节的关节目标运动加速度,最终转换为各个关节的关节力矩输出,提供了一种通过全身动力学控制器对非线性的关节角加速度进行分析处理,得到控制轮腿式机器人执行任务的各个关节的关节力矩的方法,实现了在对轮腿式机器人精准平衡控制的基础上,进行柔顺控制的优化控制。
[0136]
上述实施例示出了一种将非线性控制方法和全身动力学方法结合起来的轮腿式机器人控制方法的过程,该方法能够将非线性控制和全身动力学控制方法的优势相结合,提供一种更优化的控制方法。以下实施例将展示在图3和图4所示出的实施例的基础上,加入用户控制输入或者基于运动状态输入得到动作参考轨迹的实施过程。
[0137]
图5示出了本技术一个示例性实施例提供的轮腿式机器人的控制方法的流程图,以该方法应用于轮腿式机器人的微型处理器中。如图5所示,该方法包括:
[0138]
步骤520:获取轮腿式机器人的当前运动状态数据;
[0139]
运动状态数据的获取方式在上述步骤320中已进行了说明,此处不再赘述。
[0140]
步骤542a:将当前运动状态数据输入非线性控制器,得到轮腿式机器人的目标机器人关节的目标关节角加速度参考值;
[0141]
基于当前运动状态数据确定轮腿式机器人的目标机器人关节的目标关节角加速度参考值的方式在上述步骤440中已进行了说明,此处不再赘述。
[0142]
步骤542b:获取动作任务的动作参考轨迹;
[0143]
动作参考轨迹表征轮腿式机器人在目标时刻下的期望运动信息,目标时刻可以为当前时刻的下一时刻,或者也可以为当前时刻间隔预设时间间隔后的时刻。
[0144]
示例性的,动作参考轨迹包括轮腿式机器人在目标时刻下的期望运动状态与期望自平衡状态的信息,例如轮腿部质心与基座部质心的目标水平距离,轮腿部质心与基座部质心的目标相对速度、轮腿部的目标运动位置及轮腿部的目标运动速度中的至少一部分;或者,根据实际情况,也可以包括其他的运动参数信息。
[0145]
基于用户控制输入获取动作任务的动作参考轨迹;或者,将当前运动状态数据输入动作任务的轨迹生成器,得到动作任务的动作参考轨迹。
[0146]
示例性的,接收来自遥控器的用户控制输入,基于用户控制输入确定动作任务的动作参考轨迹;或者,将当前运动状态数据输入步行运动轨迹生成器,得到用于控制轮腿式机器人执行双轮交替跨步行走任务的动作参考轨迹;或者,将当前运动状态数据输入跳跃轨迹生成器,得到用于控制轮腿式机器人执行跳跃任务的动作参考轨迹。
[0147]
示意性的,双轮交替跨步行走任务的动作参考轨迹包括:左腿支撑且右腿抬起时的动作参考轨迹、右腿支撑且左腿落地时的动作参考轨迹、左腿支撑切换到右腿支撑时的动作参考轨迹、右腿支撑切换到左腿支撑时的动作参考轨迹。
[0148]
示意性的,跳跃任务的动作参考轨迹包括:起跳阶段的动作参考轨迹、空中阶段的动作参考轨迹和落地阶段的动作参考轨迹。
[0149]
示意性的,以将当前运动状态数据输入跳跃轨迹生成器,得到用于控制轮腿式机器人执行跳跃任务的动作参考轨迹为例,获取动作任务的动作参考轨迹的过程包括:
[0150]
第一步,获取轮腿式机器人在执行跳跃任务中的简化模型。
[0151]
例如,将轮腿式机器人的腿简化为一根可伸缩且可施加主动力的杆,将轮腿式机器人的基座部简化为浮动基,将轮腿式机器人的尾巴和基座部简化为单一的刚体,等等;
[0152]
第二步,将当前运动状态数据代入轮腿式机器人执行跳跃任务的动力学模型,得到执行跳跃任务的动力学方程。
[0153]
示意性的,当前运动状态数据包括:轮腿式机器人的关节角度和角速度,等等。
[0154]
第三步,设置约束条件。
[0155]
约束条件包括不同阶段的摩擦锥约束、闭环连杆约束、动力学约束、路径约束、边界约束,以及,不同阶段之间的连续性约束等。在轮腿式机器人的车轮着地的情况下,约束条件包括:摩擦锥约束、闭环连杆约束和动力学约束;在轮腿式机器人的车轮未着地的情况下,约束条件包括:闭环连杆约束和动力学约束。
[0156]
第四步,计算得到轮腿式机器人执行跳跃任务的动作参考轨迹。
[0157]
基于约束条件选择轮腿式机器人执行跳跃任务时的最优解,以确定轮腿式机器人执行跳跃任务中在多个时间点的规划位姿数据,即轮腿式机器人在执行跳跃任务时的动作参考轨迹。示例性的,多个时间点是按照控制步长为1ms的多个时间点,每个时间点对应有轮腿式机器人的一组规划位置数据。
[0158]
本技术对获取动作任务的动作参考轨迹的具体方式不加以限制。
[0159]
步骤560:将目标关节角加速度参考值和动作参考轨迹输入全身动力学控制器,输出用于控制轮腿式机器人执行动作任务的关节力矩。
[0160]
动作任务包括如下至少一种:轮腿式机器人的车轮的横滚任务;轮腿式机器人的基座部的高度任务;基座部的横滚任务;基座部的俯仰任务;基座部的偏航任务;基座部的尾巴控制任务;轮腿部的平衡任务。
[0161]
约束条件包括:摩擦锥约束、闭环连杆约束和动力学约束中的至少两种;其中,摩擦锥约束用于约束承载面反作用力满足摩擦锥,承载面反作用力是指承载面对轮腿式机器人的作用力;闭环连杆约束用于约束轮腿式机器人的腿部连杆结构;动力学约束用于基于轮腿式机器人的动力学模型对控制任务进行约束。
[0162]
在轮腿式机器人的车轮着地的情况下,约束条件包括:摩擦锥约束、闭环连杆约束和动力学约束;在轮腿式机器人的车轮未着地的情况下,约束条件包括:闭环连杆约束和动力学约束。
[0163]
在满足约束条件的前提下,通过全身动力学控制器以关节角加速度和动作参考轨迹为控制目标进行二次优化问题的求解,得到用于控制轮腿式机器人执行动作任务的关节力矩。
[0164]
示例性的,以动作参考轨迹为步行运动轨迹生成器得到的用于控制轮腿式机器人执行双轮交替跨步行走任务的动作参考轨迹为例,展示全身动力学控制器通过输入的轮腿式机器人的目标机器人关节的目标关节角加速度参考值和动作参考轨迹计算得到关节力矩的过程,如下述步骤5601至步骤5602所示:
[0165]
步骤5601:基于轮腿部的目标关节角加速度参考值,以动作参考轨迹为目标计算
基座部的目标姿态角加速度参考值;
[0166]
将步骤542a中确定的轮腿部的目标关节角加速度参考值输入全身动力学控制器中。
[0167]
由于基座部经由支架连接至轮腿部,或者经由其他方式实现基座部与轮腿部的连接。为了使得轮腿式机器人实现动作任务,在机器人的运动过程中,通过控制轮腿式机器人的轮腿部的目标关节角加速度以实现基座部的姿态调整,实现动作任务。因此,基于轮腿部的目标关节角加速度参考值,以动作参考轨迹为目标,确定基座部的目标姿态角加速度参考值。
[0168]
动作参考轨迹为包含了轮腿式机器人在多个时间点的规划位姿数据的序列,规划位姿数据包括了轮腿式机器人的基座部目标姿态等数据。
[0169]
示例性的,在动作参考轨迹指示的位姿数据序列中确定目标时刻的轮腿式机器人的基座部目标姿态,结合轮腿部的目标关节角加速度参考值,确定基座部的目标姿态角加速度参考值。
[0170]
步骤5602:在满足约束条件的前提下,通过全身动力学控制器根据轮腿部的目标关节角加速度参考值和基座部的目标姿态角加速度参考值,确定轮腿式机器人执行动作任务时的各个关节的关节力矩。
[0171]
示例性的,基于轮腿部的目标关节角加速度参考值和基座部的目标姿态角加速度参考值确定轮腿式机器人的目标运动加速度;基于当前运动状态数据,确定轮腿式机器人的目标运动加速度估计量;在满足约束条件的前提下,基于轮腿式机器人的目标运动加速度和目标运动加速度估计量,确定轮腿式机器人执行动作任务时的各个关节的关节力矩。
[0172]
关节力矩即作为全身动力学控制器的输出,对轮腿式机器人的各个关节电机进行控制,使得机器人实现双轮交替跨步行走任务。
[0173]
示例性的,基于轮腿式机器人各个关节的关节目标运动加速度确定各个关节的关节力矩,并对该关节力矩进行摩擦补偿,基于补偿摩擦后的关节力矩生成关节控制电流值,并将该关节控制电流值发送至相应的关节控制电机,从而经由电机输出相应力矩,实现对轮腿式机器人各个关节的控制,从而实现对轮腿式机器人的运动控制。
[0174]
综上所述,本技术实施例提供的轮腿式机器人的控制方法,通过将非线性控制器输出的轮腿式机器人的目标机器人关节的目标关节角加速度参考值和动作参考轨迹共同输入全身动力学控制器,得到用于控制轮腿式机器人执行控制任务的关节力矩。本技术实施例提供的方法不仅在完成轮腿式机器人基本的自平衡任务的基础上,实现了对轮腿式机器人执行动作任务的控制,并且将非线性控制的方法与全身动力学控制的方法结合起来,使得轮腿式机器人能够柔顺、准确、稳定的完成各项动作任务,提升了对轮腿式机器人的控制效果。
[0175]
图4所示的实施例中的子步骤4602和图5所示的实施例中的子步骤5602的区别仅在于轮腿式机器人实现的控制任务不同,但在两个实施例中实现该步骤的过程是类似的。以下通过图6所示的实施例,对在满足约束条件的前提下,通过全身动力学控制器根据轮腿部的目标关节角加速度参考值和基座部的目标姿态角加速度参考值,确定轮腿式机器人执行控制任务时的各个关节的关节力矩的过程,作一个详细的说明。
[0176]
步骤6602

1:基于轮腿部的目标关节角加速度参考值和基座部的目标姿态角加速
度参考值确定轮腿式机器人的目标运动加速度;
[0177]
轮腿式机器人的目标运动加速度是指综合考虑到轮腿式机器人的平衡运动过程及轮腿式机器人基座部的姿态调整过程所得到的轮腿式机器人整体所具有的加速度量。
[0178]
示例性的,将轮腿式机器人的基座部目标姿态角加速度参考值和轮腿部的目标关节角加速度参考值基于预设的权重进行归一化处理,将归一化处理后得到的加速度向量或加速度矩阵作为轮腿式机器人的目标运动加速度。本技术对生成轮腿式机器人的目标运动加速度的具体方式及轮腿式机器人的目标运动加速度的具体组成及维数不加以限制。
[0179]
步骤6602

2:基于当前运动状态数据,确定轮腿式机器人的目标运动加速度估计量;
[0180]
根据轮腿式机器人的关节运动过程与轮腿式机器人的动力学运动过程的对应关系,将当前运动状态数据代入预设方程式中,计算生成轮腿式机器人的目标运动加速度的估计量,或者也可以采用其他方式生成轮腿式机器人的目标运动加速度的估计量。本技术对生成目标运动加速度的估计量的具体过程不加以限制。
[0181]
需要注意的是,本技术对步骤6602

1和步骤6602

2的执行顺序不加以限制,可以先执行步骤6602

1再执行步骤6602

2;或者,先执行步骤6602

2再执行步骤6602

1;再或者,步骤6602

1和步骤6602

2同时执行。
[0182]
步骤6602

3:在满足约束条件的前提下,基于轮腿式机器人的目标运动加速度和目标运动加速度的估计量,确定轮腿式机器人执行控制任务时的各个关节的关节力矩。
[0183]
约束条件用于指示轮腿式机器人的运动信息和关节运动信息之间的约束关系,具体地,约束条件用于限定轮腿式机器人在运动过程中,轮腿式机器人的各个关节所需要满足的约束条件及约束关系,以使得轮腿式机器人的物理运动信息与轮腿式机器人的关节运动信息得以相互映射且使得该映射后得到的数据处于满足物理运动约束的合理范围内。
[0184]
示例性的,约束函数可以基于轮腿式机器人的动力学方程及约束条件形成,或者也可以采用预设算法基于运动学方程计算生成。例如,该约束函数可以进一步包括等式约束子函数、不等式约束子函数、阈值约束子函数中的一个或多个。本技术对约束函数的具体组成、约束函数的具体生成方式不加以限制。
[0185]
示例性的,利用约束函数确定轮腿式机器人的各个关节的关节力矩,具体步骤包括:对于每一个关节,首先,基于轮腿式机器人的目标运动加速度和轮腿式机器人的目标运动加速度的估计量生成误差函数;其后,基于误差函数及约束函数,将满足约束函数且使得该误差函数取得最小值的关节角加速度确定为目标关节角加速度;最后,基于目标关节角加速度确定关节力矩。
[0186]
以下详细介绍该过程:
[0187]
(1)基于轮腿式机器人的目标运动加速度和轮腿式机器人的目标运动加速度的估计量生成误差函数;
[0188]
误差函数用于指示轮腿式机器人的目标运动加速度与轮腿式机器人的目标运动加速度的估计量所具有的差值,该误差函数的数值指示轮腿式机器人的目标运动加速度与轮腿式机器人的目标运动加速度估计量的差值的大小。
[0189]
示例性的,直接将轮腿式机器人的目标运动加速度与目标运动加速度的估计量的差值作为误差函数,且由于轮腿式机器人的目标运动加速度是轮腿式机器人的目标关节角
加速度参考值的函数,由此所生成的误差函数也是该轮腿式机器人的目标关节角加速度参考值的函数;或者,将轮腿式机器人的目标运动加速度与目标运动加速度的估计量代入预设方程组或预设算法中进行计算,生成该误差函数。本技术对生成误差函数的方法不加以限制。
[0190]
(2)基于误差函数及约束函数,将满足约束函数且使得该误差函数取得最小值的关节角加速度确定为目标关节角加速度;
[0191]
示例性的,约束函数中包括轮腿式机器人的关节角加速度参数量,或者其还可以包括与关节角加速度参量相关联的关节力矩参数量等参量。且如前所述,该误差函数也是目标关节角加速度参考值的函数,此时,例如可以通过调整该机器人的关节角加速度参量及与该关节角加速度参量相关联的其他参数量的数值,使得该误差函数具有最小值,且同时令该关节角加速度参量的数值满足约束函数的要求。由此可以得到既能够满足轮腿式机器人基座部姿态控制要求及轮腿式机器人平衡运动控制要求,又能够符合轮腿式机器人运动学方程及其约束条件的目标关节角加速度,从而有效地避免了在仅将轮腿式机器人运动加速度简单投影至关节角加速度空间的情况下,所产生的关节角加速度明显超过电机控制范围或所得到的轮腿式机器人关节构型姿态明显不符合轮腿式机器人运动状态从而导致无效或失效控制的问题。
[0192]
(3)基于目标关节角加速度确定关节力矩。
[0193]
将得到的轮腿式机器人的关节的目标关节角加速度代入预设函数,确定该关节的关节力矩,预设函数用于指示目标关节角加速度和关节力矩的转化关系。
[0194]
综上所述,本实施例中的确定轮腿式机器人的关节力矩的方法,通过确定轮腿式机器人的目标运动加速度和目标运动加速度的估计量,在满足约束条件的前提下,确定轮腿式机器人的各个关节的关节力矩,提供了一种进行二次优化问题求最优解的确定轮腿式机器人的各个关节的关节力矩的方法。
[0195]
示例性的,轮腿式机器人具有双轮式(左右轮腿)构型。以下展示求取该轮腿式机器人的轮腿的目标运动加速度的过程。
[0196]
首先,为了实现对该轮腿式机器人的平衡运动的控制,需要通过设置该轮腿式机器人基座部base与该轮腿式机器人的轮腿部wheel的相对加速度以使得该基座部base与该轮腿式机器人的轮腿部wheel的相对位移此时由该轮腿部与该基座部共同构成的非最小相位系统处在平衡点上。由此,可以设计如下的反馈控制率:
[0197][0198]
其中,为该轮腿式机器人的基座部与该轮腿式机器人的轮腿部的相对加速度,为该轮腿式机器人的轮腿部质心与基座部质心的目标水平距离,为该轮腿式机器人的轮腿部质心与基座部质心的当前水平距离,此处的“0”表征该轮腿式机器人的轮腿部质心与基座部质心的目标相对速度为0,而表征该轮腿式机器人的轮腿部质心与基座部质心的当前相对速度,且其中k
p,1
,k
d,1
为根据实际需要选取的
参数量,应了解,此处由于该轮腿式机器人采用双轮式构型,此处所说的“轮腿”为左轮腿部及右轮腿部拟合得到的虚拟单轮,该“轮腿部质心”为左轮腿部及右轮腿部拟合得到的虚拟单轮的质心。
[0199]
基于上述公式十六,能够计算得到为实现控制任务,该轮腿部(虚拟单轮)相对于该基座部的相对加速度其后,进一步地,考虑到在该轮腿式机器人中,轮腿部(虚拟单轮)加速度和该轮腿部(虚拟单轮)相对于该基座部的相对加速度应满足如下关系:
[0200][0201]
其中,为该轮腿部(虚拟单轮)的运动加速度,为该轮腿部(虚拟单轮)相对于该基座部的相对加速度,为该基座部与该轮腿部(虚拟单轮)在沿x坐标轴方向(下文中也称x方向)上所具有的距离,为该基座部与该轮腿部(虚拟单轮)在沿z坐标轴方向(下文中也称z方向)上所具有的距离,其中,所述x坐标轴的正方向为该轮腿式机器人的前进方向,且该z坐标轴的正方向为竖直向上的方向,g为重力加速度。
[0202]
当时,可以设计外环控制器控制该轮腿部(虚拟单轮)的线加速度,进而控制该轮腿部(虚拟单轮)x方向的运动,其具体控制率如下:
[0203][0204]
其中,为当前时刻下该基座部与该轮腿部(虚拟单轮)沿x方向所具有的距离,例如可以根据反馈率计算;为当前时刻下该基座部与该轮腿部(虚拟单轮)沿z方向所具有的距离,g为重力加速度,x
wheel,t 1
为该轮腿部(虚拟单轮)的目标位置,x
wheel,t
为该轮腿部(虚拟单轮)的当前位置,该轮腿部(虚拟单轮)的目标速度,为该轮腿部(虚拟单轮)的当前速度,其中k
p,2
,k
d,2
为根据实际需要选取的参数量。
[0205]
因此最终得到一种平衡控制器的反馈率,反馈系数k
p,1
,k
p,2
,k
d,1
,k
d,2
可以根据内外环系统分别设计极点并计算。例如,可以将反馈系数选取为:k
p,1
=1200,k
d,1
=300,k
p,2
=1,k
d,2
=0.2。且能够得到如下表达式:
[0206][0207]
其中为该轮腿部(虚拟单轮)在目标时刻下的运动加速度,为目标时刻下该基座部与该轮腿部(虚拟单轮)沿x方向所具有的期望距离,例如可以根据反馈率计算;为当前时刻下的该基座部与该轮腿部(虚拟单轮)沿x方向所具有的距离,其余参数量的含义如前所述。
[0208]
其后,取消基座部操作矩阵中的x分量,以左右两轮腿部的线加速度代替,其中左
右两轮腿部等效的虚拟单轮的加速度对平衡有影响,而差速会影响轮腿部(虚拟单轮)的偏航角加速度,具体地,偏航角加速度满足如下动力学方程:
[0209]
公式二十:
[0210][0211]
其中,为目标相对偏航角加速度,θ
yaw,wheel,t 1
为目标相对偏航角,0表征目标时刻的期望相对偏航角速度(即目标相对偏航角速度)为0,θ
yaw,wheel,t
为当前相对偏航角,为当前相对偏航角速度,且其中,k
p,3
,k
d,3
例如可以根据实际需要进行设置,例如可以设置k
p,3
=100,k
d,3
=100。
[0212]
此外,根据双轮式轮腿部的结构关系,还可以得到如下约束式:
[0213][0214][0215]
其中,为轮腿部(虚拟单轮)的运动加速度,为该左轮腿部的运动加速度,为该右轮腿部的运动加速度,为目标相对偏航角加速度,r
width
为该左轮腿部与该右轮腿部沿与该机器人的前进方向相垂直的方向所具有的相对距离。
[0216]
进一步地,通过线加速度和角加速度的关系,可以得到左轮腿部及右轮腿部的线加速度的表达式,其中各参数量的含义如前所述:
[0217][0218][0219]
其中,为该左轮腿部的目标运动加速度,为该右轮腿部的目标运动加速度,为该轮腿部(虚拟单轮)的目标运动加速度,为该轮腿部(虚拟单轮)的目标相对偏航角加速度,r
width,t
为当前时刻下该左轮腿部与该右轮腿部沿与该机器人的前进方向相垂直的方向所具有的相对距离。
[0220]
由此,能够计算得到该左轮腿部目标加速度及该右轮腿部目标加速度。通过这样的设置,在实现该轮腿式机器人的平衡控制的基础上,还能够根据实际地形及运动情况,控制该左右轮腿部在沿该机器人的前向运动的方向上具有相对距离(例如在该前向运动方向上,左轮腿部设置在该右轮腿部前方)。
[0221]
示例性的,轮腿式机器人为双轮式机器人且具有并联腿部构型,此时设置该轮腿式机器人的约束函数的过程更具体地描述如下。
[0222]
图7示出了根据本公开实施例的机器人200a的三维示意图。参照图7,在一些实施例中,所述机器人200a的轮腿部210a包括左轮腿部211a和右轮腿部212a,所述左轮腿部211a及右轮腿部212a中的每一个包括单个轮部,且该机器人所述左轮腿部211a及右轮腿部212a中的每一个还设置有连接至该轮部的中心轴且用于实现对该轮部的运动控制的两个
并联腿部。
[0223]
参照图7,该左轮腿部211a例如包括左轮2110a,且还设置有用于控制该左轮腿的并联的第一左腿2111a及第二左腿2112a;且该右轮腿部212a例如包括右轮2120a,且还设置有用于控制该右轮腿的并联的第一右腿2121a及第二右腿2122a。
[0224]
此时,在设置该机器人的约束函数的过程中,首先,通过建立该机器人的动力学模型,建立各个子任务控制(轮腿部平衡任务、基座部横滚任务)所需加速度和实际输入关节力矩之间的约束关系,由于轮腿式机器人的基座部并不与惯性系固连,且运动学中存在闭链。
[0225]
此外,在轮和地面无滑动摩擦,仅有纯滚动摩擦的假设下,存在接触点在局部坐标系下的x方向(x方向为该机器人的前进方向)和z方向(z方向为竖直向上的方向)加速度为0的约束,通过计算左右轮腿部在局部坐标系下的x方向和z方向速度v1相对广义关节运动速度的雅克比矩阵j
v
,根据加速度约束,可以得到:
[0226][0227]
其中,a1为该轮腿部的加速度,v1=[v
x,l
,v
z,l
,v
x,r
,v
z,r
],v
x,l
为左轮腿部沿x方向的速度,v
z,l
为左轮腿部沿z方向的速度,v
x,r
为右轮腿部沿x方向的速度,v
z,r
为右轮腿部沿z方向的速度,q为轮腿式机器人各个关节的关节位置,为该机器人各个关节的关节速度,为轮腿式机器人各个关节的关节角加速度,中包括轮腿式机器人的轮腿部关节角加速度和基座部关节角加速度,中指示轮腿式机器人的左右轮腿部的关节角加速度的数值即为上述公式三中出现的轮腿式机器人的目标机器人关节的目标关节角加速度参考值v,j
c
为左右轮腿部在局部坐标系下的x方向和z方向速度v1相对广义关节运动速度的雅克比矩阵。
[0228]
并且能够计算得到在广义关节角加速度下的接触点加速度偏置:
[0229][0230]
其中,f
a
为加速度函数,contact为与接触过程相关的参数量,其余参数的含义如前所述。
[0231]
采用类似的方法,将广义开链坐标系下的并联腿部闭链约束方程记为:
[0232][0233]
其中,a2为该并联腿部所具有的加速度,v2为该并联腿部的速度,j
λ
该并联腿部在广义开链坐标系下的速度v2相对广义关节运动速度的雅克比矩阵,为该机器人各个关节的关节速度,为该机器人各个关节的关节角加速度。
[0234]
且加速度偏置也可以经由如下公式计算,其中close表征与该并联腿部的闭链约束相关联的参数量,其余参数的含义如前所述:
[0235][0236]
由此,得到在无外力干扰下的动力学方程和接触约束公式二十九到公式三十二:
[0237]
[0238]
公式三十:s=0
[0239][0240][0241]
其中已知量为m,c,g,s,j
c
,j
λ
,具体地,质量矩阵m可以基于关节位置q使用复合刚体算法crba快速计算得到,离心力和科里奥利力偏置项c可以基于关节位置q及关节速度使用牛顿欧拉迭代算法rnea快速计算,重力偏置项g也可以基于关节位置q使用牛顿欧拉迭代算法rnea快速计算,选择矩阵s用于区分主动关节和无驱动关节,记做s=diag(1,1,1,1,a1,a2,...,a
n
),其中a
i
=1代表其为无驱动关节,其中前四项对应于基座部的关节,由于基座部无驱动可以直接置为1。
[0242]
且其中,变量为τ,f
c
,f
λ
,其中,为关节角加速度,τ为关节对应的力矩项,f
c
为局部坐标系下接触点的广义力,具体地,f
c
=[f
c,x,l
,f
c,z,l
,f
c,x,r,
f
c,z,r
]∈r4,其中,f
c,x,l
为该轮腿式机器人的左轮腿部在x方向上所具有的广义力,f
c,z,l
为该轮腿式机器人的左轮腿部在z方向上所具有的广义力,f
c,x,r
为该轮腿式机器人的右轮腿部在x方向上所具有的广义力,f
c,z,r
为该轮腿式机器人的右轮腿部在z方向上所具有的广义力。f
λ
为前腿作用于后腿部的闭链力,f
λ
=[f
λ,x,l
,f
λ,z,l
,f
λ,x,r
,f
λ,z,r
]∈r4,其中,f
λ,x,l
为用于左轮腿部的两个并联腿部中前腿部在x方向上作用于后腿的力,f
λ,z,l
为用于左轮腿部的两个并联腿部中前腿在z方向上作用于后腿的力,f
λ,x,r
为用于右轮腿部的两个并联腿部中前腿在x方向上作用于后腿部的力,f
λ,z,r
为用于右轮腿部的两个并联腿部中前腿在z方向上作用于后腿部的力。
[0243]
采用完整动力学方法能够得到以上等式约束,并且根据摩擦锥限制,可以得到局部系(摩擦曲面切线方向)下的接触力f
c
需要满足的约束:
[0244]
公式三十三:f
c,x,l
∈[

μf
c,z,l
,μf
c,z,l
],f
c,z,l
≥0
[0245]
公式三十四:f
c,x,r
∈[

μf
c,z,r
,μf
c,z,r
],f
c,z,r
≥0
[0246]
其中,f
c,x,l
为该轮腿式机器人的左轮腿部在x方向上所具有的广义力,μ为当前周围环境下的摩擦因数,f
c,z,l
为该轮腿式机器人的右轮腿部在z方向上所具有的广义力,f
c,x,r
为该轮腿式机器人的右轮腿部在x方向上所具有的广义力,f
c,z,r
为该轮腿式机器人的右轮腿部在z方向上所具有的广义力。
[0247]
且能够得到如下的摩擦锥约束矩阵:
[0248][0249]
其中j
f,l
为对应于该轮腿式机器人的左轮接触点的摩擦约束矩阵,j
f,r
为对应于该轮腿式机器人的右轮接触点的摩擦约束矩阵,μ为当前周围环境下的摩擦因数。
[0250]
由此得到该约束函数的等式约束子函数、不等式约束子函数、阈值约束子函数。
[0251]
其中,所述等式约束子函数包括:
[0252][0253]
其中,为该轮腿式机器人在目标时刻下的关节角加速度,为该轮腿式机器人的当前关节速度,f
c,t 1
为目标时刻下该轮腿式机器人在局部坐标系下接触点的广义力,f
λ,t 1
为目标时刻下该两个并联腿部之间的作用力,τ
t 1
为目标时刻下该轮腿式机器人的关节力矩,j
c,t
,j
λ,t
是在当前时刻下分别对应于轮腿式机器人在局部坐标系下接触点的广义力fc与两个并联腿部之间的作用力f
λ
的雅克比矩阵,其根据该轮腿式机器人的当前运动状态数据生成;c
t
,g
t
,m
t
为基于该轮腿式机器人的当前关节运动状态数据生成的参数量;s为基于该轮腿式机器人的关节构型确定的参数量,i为单位矩阵,其维数根据该轮腿式机器人的运动自由度的个数确定,t为轮腿式机器人运动的当前时刻,t 1为轮腿式机器人运动的目标时刻。
[0254]
所述关节不等式约束子函数包括:
[0255][0256]
其中,j
f,l
为对应于该轮腿式机器人的左轮接触点的摩擦约束矩阵,j
f,r
为对应于该轮腿式机器人的右轮接触点的摩擦约束矩阵。该摩擦锥约束矩阵具体可以表示为:
[0257][0258]
所述关节阈值约束子函数包括:
[0259]
公式三十九:τ
t 1
∈[τ
min

max
]
[0260]
在上述等式及不等式约束中,变量f
c,t 1
f
λ,t 1

t 1
之间存在一定程度上的关联,当输入力矩已知,也即τ
t 1
已知,不等式约束不存在时,可以求得f
c,t 1
f
λ,t 1
的最小二乘解。
[0261][0262]
可见,虽然属于高维空间,但实际和维数大小为k(k远小于该高维空间的维数)的关节力矩子空间存在一一映射关系,也即由于等式和不等式约束的存在,
实际属于高维空间中满足等式约束的低维有边界流形内。通过合理的选择该子空间的加速度或者力f
c
,可以得到对应力矩子空间的τ值。
[0263]
此外,通过雅克比矩阵,可以定义操作空间加速度和广义关节空间加速度之间的线性映射关系,找到和低维流形自由度一致的操作空间加速度,即可利用找到对应满足动力学约束的关节力矩输入。进而实现对操作空间进行低维流形内的控制(该机器人的新增控制需求并不破坏等式和不等式约束)。
[0264]
此外,操作空间的选取需要保证最终总任务的雅克比矩阵j
task
满足rank(j
task
)≥k(k为关节空间的维数),如果rank(j
task
)<k,则说明肯定存在不受控子空间,会使得动力学系统发散。而当rank(j
task
)>k时,说明可能存在破坏约束条件的任务需求。当rank(j
task
)=k,例如能够求取最终的判据。
[0265]
基于上述,在满足上述动力学方程及摩擦约束的情况下,可以确定该轮腿式机器人的操作空间(其中进行机器人运动控制)与该轮腿式机器人的关节运动空间(其中轮腿式机器人各个关节进行相应的关节运动)之间的对应关系,由此,在该轮腿式机器人的操作空间中基于轮腿目标运动加速度及基座部目标运动加速度所确定的轮腿式机器人的目标运动加速度能够经由该对应关系转换至该轮腿式机器人的关节运动空间中,同样地,该轮腿式机器人的目标运动加速度也能够由该轮腿式机器人在关节运动空间中的关节角加速度来表示。
[0266]
图8是本技术一个示例性实施例提供的轮腿式机器人的控制框架的示意图。
[0267]
示例性的,采集轮腿式机器人100的运动状态数据,运动状态数据包括基座部的俯仰角及角速度、关节的角度及角速度,等等。将运动状态数据发送给状态估计模块201,状态估计模块201用于通过运动状态数据对系统内部状态进行估计。状态估计模块201的输出为非线性控制器202、步行运动轨迹生成器204、多阶段跳跃轨迹优化器205的输入。
[0268]
示例性的,非线性控制器202用于执行对轮腿式机器人的非线性控制,得到轮腿式机器人的目标机器人关节的目标关节角加速度参考值。该关节角加速度可作为全身动力学控制器206中的轮子平衡任务的参考输入。
[0269]
示例性的,用户输入模块203、步行运动轨迹生成器204、多阶段跳跃轨迹优化器205可用于获取轮腿式机器人的动作参考轨迹。通过用户输入模块203获取到的动作参考轨迹可作为全身动力学控制器206中轮腿部平衡任务、轮子横滚任务、基座部高度任务、基座部横滚任务、基座部俯仰任务、尾巴任务的参考输入;通过步行运动轨迹生成器204获取到的动作参考轨迹可作为全身动力学控制器206中跨步行走任务的参考输入;通过多阶段跳跃轨迹优化器205获取到的动作参考轨迹可作为全身动力学控制器206中跳跃任务的参考输入。
[0270]
示例性的,全身动力学控制器206通过获取上述轮腿式机器人的目标机器人关节的目标关节角加速度参考值和动作参考轨迹,计算得到控制轮腿式机器人执行控制任务的关节力矩,该关节力矩包括轮腿式机器人各个关节电机的力矩。全身动力学控制器206输出的力矩作为轮腿式机器人100的输入,指示轮腿式机器人100完成控制任务。
[0271]
图9是本技术一个示例性实施例提供的轮腿式机器人的控制装置的结构框图,如图9所示,该装置包括:
[0272]
获取模块920,用于获取所述轮腿式机器人的当前运动状态数据,所述当前运动状
态数据用于表示所述轮腿式机器人的运动特征;
[0273]
确定模块940,用于将所述当前运动状态数据输入非线性控制器,得到所述轮腿式机器人的目标机器人关节的目标关节角加速度参考值;
[0274]
输出模块960,用于将所述目标关节角加速度参考值输入全身动力学控制器,输出用于控制所述轮腿式机器人执行控制任务的关节力矩。
[0275]
在一个可能的实施例中,所述非线性控制器是通过如下步骤得到的:确定所述轮腿式机器人的原始能量关系,所述原始能量关系中包括原始势能,所述原始势能存在非稳态特性;确定所述轮腿式机器人的变式能量关系,所述变式能量关系中包括变式势能,所述变式势能存在稳态特性,且当所述轮腿式机器人处于所述目标平衡状态时,所述变式势能取值最小;以所述原始能量关系变化为所述变式能量关系为目标,确定所述非线性控制器。
[0276]
在一个可能的实施例中,所述非线性控制器包括:v=a1(θ)p(x

x
*
) p
t
a2(θ)p a3(θ)

k
v
a4(θ)p;v表示所述目标机器人关节的目标关节角加速度参考值,x表示所述轮腿式机器人的轮腿部的旋转距离,表示所述轮腿式机器人的轮腿部的旋转线速度,x
*
表示在所述目标平衡状态下的所述轮腿部的平衡点;θ表示所述轮腿式机器人的倾角,表示所述轮腿式机器人的倾角速度,k
v
为阻尼注入过程中的自由参数,a1、a2、a3和a4为预先设置的参数。
[0277]
在一个可能的实施例中,所述非线性控制器包括:在一个可能的实施例中,所述非线性控制器包括:v表示所述目标机器人关节的目标关节角加速度参考值,v表示所述目标机器人关节的目标关节角加速度参考值,v表示所述目标机器人关节的目标关节角加速度参考值,表示所述轮腿式机器人的轮腿部的旋转线速度,表示所述轮腿式机器人在所述目标平衡状态下的所述轮腿部的旋转加速度,θ表示所述轮腿式机器人的倾角,表示所述轮腿式机器人的倾角速度,k
v
为阻尼注入过程中的自由参数,a2、a3和a4为预先设置的参数。
[0278]
在一个可能的实施例中,所述输出模块960,用于在满足约束条件的前提下,通过所述全身动力学控制器以所述目标关节角加速度参考值为控制目标进行二次优化问题的求解,得到用于控制所述轮腿式机器人执行所述自平衡任务的关节力矩。
[0279]
在一个可能的实施例中,所述输出模块960,用于基于所述轮腿部的目标关节角加速度参考值,以保持相对平衡为目标计算所述基座部的目标姿态角加速度参考值;在满足所述约束条件的前提下,通过所述全身动力学控制器根据所述轮腿部的目标关节角加速度参考值和所述基座部的目标姿态角加速度参考值,确定所述轮腿式机器人执行所述自平衡任务时的各个关节的关节力矩。在一个可能的实施例中,所述获取模块920,还用于获取所述动作任务的动作参考轨迹;所述输出模块960,用于将所述目标关节角加速度参考值和所述动作参考轨迹输入所述全身动力学控制器,输出用于控制所述轮腿式机器人执行所述动作任务的关节力矩。
[0280]
在一个可能的实施例中,所述输出模块960,用于在满足约束条件的前提下,通过所述全身动力学控制器以所述目标关节角加速度参考值和所述动作参考轨迹为控制目标进行二次优化问题的求解,得到用于控制所述轮腿式机器人执行所述动作任务时的所述关节力矩。
[0281]
在一个可能的实施例中,所述输出模块960,用于基于所述轮腿部的目标关节角加
memory),如快闪存储器(flash memory),固态硬盘(solid

state drive,ssd)等;存储器804还可以包括上述种类的存储器的组合。
[0294]
所述处理器801可以是中央处理器(central processing unit,cpu)。所述处理器801还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application

specific integrated circuit,asic),可编程逻辑器件(programmable logic device,pld)等。该pld可以是现场可编程逻辑门阵列(field

programmable gate array,fpga),通用阵列逻辑(generic array logic,gal)等。所述处理器801也可以为上述结构的组合。
[0295]
本技术实施例中,所述存储器804用于存储计算机程序,所述计算机程序包括程序指令,处理器801用于执行存储器804存储的程序指令,用来实现上述如图3至图5中相应方法的步骤。
[0296]
在一个实施例中,所述处理器801被配置调用所述程序指令,用于执行:
[0297]
将所述当前运动状态数据输入非线性控制器,得到所述轮腿式机器人的目标机器人关节的目标关节角加速度参考值;
[0298]
将所述轮腿式机器人的目标机器人关节的目标关节角加速度参考值输入全身动力学控制器,输出用于控制所述轮腿式机器人执行控制任务的关节力矩。
[0299]
在一个实施例中,所述非线性系统控制器包括:基于简化模型的部分反馈线性化控制器和非线性控制器;所述处理器801被配置调用所述程序指令,用于执行:
[0300]
确定所述轮腿式机器人的原始能量关系,所述原始能量关系中包括原始势能,所述原始势能存在非稳态特性;
[0301]
确定所述轮腿式机器人的变式能量关系,所述变式能量关系中包括变式势能,所述变式势能存在稳态特性,且当所述轮腿式机器人处于所述目标平衡状态时,所述变式势能取值最小;
[0302]
以所述原始能量关系变化为所述变式能量关系为目标,确定所述非线性控制器。
[0303]
在一个实施例中,所述控制操作包括游戏用户针对所述用户界面的触控操作;所述处理器801被配置调用所述程序指令,用于执行:
[0304]
在满足约束条件的前提下,通过所述全身动力学控制器以所述目标关节角加速度参考值为控制目标进行二次优化问题的求解,得到用于控制所述轮腿式机器人执行所述自平衡任务的关节力矩。
[0305]
在一个实施例中,所述处理器801被配置调用所述程序指令,用于执行:
[0306]
基于所述轮腿部的目标关节角加速度参考值,以保持相对平衡为目标计算所述基座部的目标姿态角加速度参考值;
[0307]
在满足所述约束条件的前提下,通过所述全身动力学控制器根据所述轮腿部的目标关节角加速度参考值和所述基座部的目标姿态角加速度参考值,确定所述轮腿式机器人执行所述自平衡任务时的各个关节的关节力矩。在一个实施例中,所述处理器801被配置调用所述程序指令,用于执行:
[0308]
将所述目标关节角加速度参考值和所述动作参考轨迹输入所述全身动力学控制器,输出用于控制所述轮腿式机器人执行所述动作任务的关节力矩。在一个实施例中,所述处理器801被配置调用所述程序指令,用于执行:
[0309]
在满足约束条件的前提下,通过所述全身动力学控制器以所述目标关节角加速度
access memory)和动态随机存取存储器(dram,dynamic random access memory)。上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0324]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

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

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

相关文献