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

双足机器人步态控制方法、控制装置与流程

2021-10-09 11:45:00 来源:中国专利 TAG:机器人 控制 步态 地说 双足


1.本发明涉及机器人技术领域,具体地说,涉及一种双足机器人步态控制方法、控制装置。


背景技术:

2.由于其自身固有的不稳定性和欠驱动性,像人类一样动态行走对双足机器人来说是一项艰巨的任务。传统步态控制方法首先需要建立数学模型来描述双足机器人的动力学特性,然后基于该动力学模型预先规划为完成预定任务所需要的轨迹,最后基于完整动力学模型设计局部反馈控制器使机器人能跟踪这一轨迹,框架如图1所示。
3.传统双足机器人步态控制方法的不足在于其一,完整机器人动力学模型的数学建模过程和控制器设计过程较为繁琐,需要依赖大量人工经验设计和调参;其二,控制器通常是线性化的,线性控制器吸引域较小,抗扰能力较差,不能充分发挥机器人的能力。
4.基于强化学习的双足机器人步态控制方法的不足在于其一,奖励函数的设计和超参数的调整都需要依赖大量人工经验;其二,强化学习过程效率较低,体现在所用计算机处理器性能要求高、学习至收敛所需样本数量大、学习至收敛所需时间长。
5.强化学习过程效率低有三个主要原因:第一是使用了神经网络,神经网络是一种通用的函数表示形式,需要采集大量数据样本才足以拟合神经网络参数,这一数字往往是几千万到几亿的量级。第二是双足机器人的状态和动作都是连续的,所以虽然维数不高,但实际上策略空间是很大的,强化学习在没有任何先验知识的情况下,只能通过随机搜索的方式来采集数据样本,需要很长的时间才能收集到足够多好的动作来改进神经网络参数,过程中可能有很多冗余或者实际不可行的数据,而这些数据是可以不去搜索的。三是奖励函数设计不佳,奖励函数设计得越具体,神经网络参数的更新就越有针对性,从而提高学习效率,现有方法中的奖励函数大多是若干个子目标的简单加权求和,这没有充分考虑到双足机器人在实际环境中运动的特点,也就阻碍了学习速度。


技术实现要素:

6.为解决以上问题,本发明提供一种双足机器人步态控制方法,在仿真环境中建立双足机器人完整模型,所述完整模型包括躯干、双腿、双足,躯干与双腿间通过髋关节连接,双腿与双足间通过踝关节连接,所述仿真环境为平面地形,所述方法包括模仿学习和强化学习两个阶段,其中,
7.所述模仿学习包括:
8.步骤s1,建立双足机器人简化模型,所述简化模型包括躯干和双腿,所述双腿都通过髋关节与所述躯干连接,每条腿上各有沿腿长度方向的驱动力f和绕髋关节转动的力矩τ;
9.步骤s2,重复从仿真环境中读取所述完整模型的当前状态,并根据所述完整模型的当前状态及动作目标,对所述简化模型求解轨迹规划问题和任务空间控制,得到完整模
型与各当前状态对应的各驱动关节目标位置,将所述完整模型的各当前状态及对应的各驱动关节目标位置一一对应,组成模仿学习数据集;
10.步骤s3,利用所述模仿学习数据集对第一神经网络进行监督训练,所述第一神经网络的输入为完整模型的状态,输出为各驱动关节目标位置;
11.步骤s4,将经过训练的第一神经网络用于控制所述完整模型行走,直到所述完整模型出现不稳定,计算不稳定时的轨迹下所述完整模型的状态与动作目标之间的均方误差,
12.若所述均方误差不收敛,则提取所述不稳定时的轨迹下的所有状态和动作目标,根据所述不稳定时的轨迹下的状态及动作目标,对所述简化模型求解轨迹规划问题和任务空间控制,得到所述完整模型在所述不稳定时的轨迹下的各驱动关节目标位置,将所述完整模型在所述不稳定时轨迹下的状态及对应的各驱动关节目标位置一一对应合并到模仿学习数据集中,重复步骤s3和s4,
13.若所述均方误差值收敛,则保存该模仿学习过程所有轨迹中均方误差最小的一次对应的神经网络参数作为最佳参数;
14.所述强化学习包括:
15.构建第二神经网络,所述第二神经网络与第一神经网络结构相同,并将第二神经网络的参数初始化为第一神经网络中得到的所述最佳参数;
16.将所述平面地形更换为真实模拟地形,采用强化学习算法训练第二神经网络,其中输入和输出均和第一神经网络相同,奖励函数设置为所述完整模型的状态与动作目标之间的均方误差;
17.强化学习收敛后,利用强化学习后的第二神经网络控制双足机器人行走。
18.可选地,所述简化模型采用slip模型,其中躯干的质量m和惯量i采用与实际机器人躯干相同的质量和惯量,忽略双腿的质量和惯量,双腿刚度k和阻尼b的取值与实际机器人双腿等效刚度和阻尼相同。
19.可选地,所述重复从仿真环境中读取所述完整模型的当前状态,并根据所述完整模型的当前状态及动作目标,对所述简化模型求解轨迹规划问题和任务空间控制,得到完整模型与各当前状态对应的各驱动关节目标位置,包括:
20.从仿真环境中获取完整模型的状态,并根据完整模型与简化模型的结构映射关系将完整模型的状态映射至简化模型,代入最优控制方程中,所述最优控制方程的约束条件包括简化模型动力学方程、状态轨迹初值、状态轨迹边界、电机驱动指令轨迹边界,公式如下:
[0021][0022][0023]
x
min
≤x
t
≤x
max
[0024]
u
min
≤u
t
≤u
max
[0025]
其中t0为当前时刻;
[0026]
t为优化的时间范围长度;
[0027]
v
t
为状态估计得到的简化模型的质心速度,
[0028]
为给定的速度指令;
[0029]
为简化模型的状态方程;
[0030]
x
t
为简化模型的状态轨迹,x
t
包含质心速度v
t
,以及质心位置、双腿与地面接触力、躯干所受外力,髋关节位置,髋关节与双腿的角度和角速度、腿的长度和速度这些参数;
[0031]
u
t
为简化模型中电机驱动指令轨迹,包括slip模型中的两个τ和两个f;
[0032]
[x
min
,x
max
]为t0至t0 t时间内机器人状态的最大范围;
[0033]
[u
min
,u
max
]为驱动指令允许的最大范围;
[0034]
求解出简化模型的状态轨迹x
t
,再根据完整模型与简化模型的结构映射关系将x
t
映射为完整模型各驱动关节目标位置轨迹。
[0035]
可选地,所述第一神经网络是长短期记忆网络,其包含两个隐含层,两个隐含层的神经元数目采用128或256。
[0036]
可选地,将经过训练的第一神经网络用于控制所述完整模型行走之前,先通过在完整模型的各关节位置上添加服从标准正态分布的噪声将完整模型随机初始化。
[0037]
可选地,在完整模型的各关节位置上添加服从标准正态分布的噪声,包括:
[0038]
以完整模型呈双足站立姿态时各关节的位置或角度为基准,对于每个关节,分别从关节位置的标准正态分布中采样取得一个值加到该关节位置上,如果超过该关节允许的最大位置或角度,则取该关节允许的最大位置或角度值作为噪声。
[0039]
可选地,所述不稳定的标准是完整模型的质心高度低于身高的40%。
[0040]
可选地,所述完整模型与简化模型的结构映射关系包括:
[0041]
将所述简化模型的质心位置和速度设置为完整模型的质心位置和速度;
[0042]
将简化模型的双腿与地面接触力与完整模型的足底与地面接触力对应;
[0043]
将简化模型的躯干所受外力与完整模型的躯干所受外力对应;
[0044]
将简化模型髋关节角度和角速度设置为完整模型髋关节和踝关节连线相对于躯干旋转的角度和角速度;
[0045]
将简化模型腿的长度设置为完整模型髋关节与踝关节的距离。
[0046]
可选地,所述完整模型的双腿还包括膝关节,根据完整模型髋关节与踝关节的距离以及大腿和小腿通常的长度比例,结合所述完整模型髋关节与踝关节的距离以及大腿、小腿之间构成的三角形关系来确定膝关节的目标位置轨迹。
[0047]
本发明还提供一种双足机器人步态控制装置,包括:
[0048]
机器人模型构建模块,用于在仿真环境中建立双足机器人完整模型,所述完整模型包括躯干、双腿、双足,躯干与双腿间通过髋关节连接,双腿与双足间通过踝关节连接,所述仿真环境为平面地形,
[0049]
建立双足机器人简化模型,所述简化模型包括躯干和双腿,所述双腿都通过髋关节与所述躯干连接,每条腿上各有沿腿长度方向的驱动力f和绕髋关节转动的力矩τ;
[0050]
模仿学习模块,模仿学习模块包括模仿学习数据集构建单元,用于重复从仿真环境中读取所述完整模型的当前状态,并根据所述完整模型的当前状态及动作目标,对所述简化模型求解轨迹规划问题和任务空间控制,得到完整模型与各当前状态对应的各驱动关节目标位置,将所述完整模型的各当前状态及对应的各驱动关节目标位置一一对应,组成
模仿学习数据集;
[0051]
第一神经网络训练单元,用于利用所述模仿学习数据集对第一神经网络进行监督训练,所述第一神经网络的输入为完整模型的状态,输出为各驱动关节目标位置;
[0052]
训练数据补充单元,用于将经过训练的第一神经网络用于控制所述完整模型行走,直到所述完整模型出现不稳定,计算不稳定时的轨迹下所述完整模型的状态与动作目标之间的均方误差,
[0053]
若所述均方误差不收敛,则提取所述不稳定时的轨迹下的所有状态和动作目标,根据所述不稳定时的轨迹下的状态及动作目标,对所述简化模型求解轨迹规划问题和任务空间控制,得到所述完整模型在所述不稳定时的轨迹下的各驱动关节目标位置,将所述完整模型在所述不稳定时轨迹下的状态及对应的各驱动关节目标位置一一对应合并到模仿学习数据集中,
[0054]
若所述均方误差值收敛,则保存该模仿学习过程所有轨迹中均方误差最小的一次对应的神经网络参数作为最佳参数;
[0055]
强化学习模块,用于构建第二神经网络,所述第二神经网络与第一神经网络结构相同,并将第二神经网络的参数初始化为第一神经网络中得到的所述最佳参数;
[0056]
将所述平面地形更换为真实模拟地形,采用强化学习算法训练第二神经网络,其中输入和输出均和第一神经网络相同,奖励函数设置为所述完整模型的状态与动作目标之间的均方误差,直至强化学习收敛。
[0057]
本发明具有以下有益效果:
[0058]
(1)强化学习应用于双足机器人步态控制时的策略空间很大,在没有任何先验知识的情况下,只能通过随机搜索的方式来采集数据样本,需要很长的时间才能收集到足够多好的动作来改进神经网络参数,过程中可能有很多冗余或者实际不可行的数据。现有应用于双足机器人步态控制的强化学习方法都随机初始化神经网络参数,即从策略空间中随机一点处开始搜索,而本技术将第一神经网络经过训练的最佳参数用于初始化第二神经网络,作为强化学习的初始策略,可以使强化学习在初始时就从较优解附近开始搜索,排除了对其他较差解的不必要的搜索,从而在保证基于强化学习的双足机器人步态控制方法的效果的前提下,大幅提升其学习效率。
[0059]
(2)将完整模型的状态数据输入到简化模型中计算,并在计算后映射到完整模型中,获得完整模型的各关节的位置,从而提高计算速度。
附图说明
[0060]
通过结合下面附图对其实施例进行描述,本发明的上述特征和技术优点将会变得更加清楚和容易理解。
[0061]
图1是表示本发明实施例的简化模型的示意图;
[0062]
图2是表示本发明实施例的完整模型的示意图;
[0063]
图3是表示本发明实施例的完整模型的状态变化的示意图;
[0064]
图4是表示本发明实施例的完整模型不稳定的示意图;
[0065]
图5是表示本发明实施例的双足机器人步态控制方法的流程示意图;
[0066]
图6为本发明实施例的双足机器人步态控制装置的模块示意图;
[0067]
图7为本发明实施例的双足机器人步态控制方法的电子设备的结构示意图。
具体实施方式
[0068]
下面将参考附图来描述本发明所述的实施例。本领域的普通技术人员可以认识到,在不偏离本发明的精神和范围的情况下,可以用各种不同的方式或其组合对所描述的实施例进行修正。因此,附图和描述在本质上是说明性的,而不是用于限制权利要求的保护范围。此外,在本说明书中,附图未按比例画出,并且相同的附图标记表示相同的部分。
[0069]
本实施例的一种双足机器人步态控制方法,是在仿真环境中建立双足机器人的完整模型,该完整模型与真实机器人具有相同物理性质,所述真实机器人的各驱动关节都配备有位置控制器或力矩控制器,也包括各种检测位移和角度的传感器,对完整模型的状态估计包括质心位置和速度、各关节位置和/或角度、各关节速度和/或角速度、足底与地面接触力、躯干所受外力。如图5所示,其流程是通过将完整模型的当前状态映射到简化模型,根据动作目标对简化模型进行轨迹规划,从而构建模仿学习数据集,并利用模仿学习数据集中的各当前状态对第一神经网络进行训练,获得完整模型的状态估计,并将第一神经网络输出的关节目标位置与模仿学习数据集的关节目标位置进行比较,从而获得训练后的第一神经网络的参数,并利用该参数作为第二神经网络的初始参数,对完整模型进行强化学习训练,强化学习收敛后,即可利用强化学习后的第二神经网络控制真实双足机器人行走。如图1所示,所述完整模型包括躯干1、双腿2、双足3,躯干1与双腿2之间分别通过髋关节连接,双腿2与双足3之间分别通过踝关节连接,并且,还可以包括膝关节。所述完整模型的躯干质量和惯量采用与实际机器人躯干相同的质量和惯量,双腿质量和惯量采用与实际机器人躯干相同的质量和惯量,双腿刚度k和阻尼b的取值与实际机器人双腿等效刚度和阻尼相同。所述仿真环境为平面地形。需要说明的是,无论是该完整模型还是下文中的简化模型,都是在平面内的二维模型,其中的绕各关节的转动是指该模型的所在的纸面内的转动。所述双足机器人步态控制方法包括模仿学习和强化学习两个阶段,其中,
[0070]
所述模仿学习阶段采用dagger算法,包括步骤1至步骤4。
[0071]
步骤s1,建立双足机器人简化模型,如图2所示,所述简化模型包括躯干1和双腿2,每条腿都通过髋关节与所述躯干1连接,每条腿上各有沿腿长度方向的驱动力f和绕髋关节转动的力矩τ,分别控制髋关节的角度及腿的长度。
[0072]
具体的,所述简化模型可以采用slip模型(弹簧负载倒立摆模型),其中躯干的质量m和惯量i采用与实际机器人躯干相同的质量和惯量,忽略双腿的质量和惯量,双腿刚度k和阻尼b的取值与实际机器人双腿等效刚度和阻尼相同。可以看出,完整模型与简化模型相比除了结构上增加了双足,还存在双腿的质量和惯量、机械摩擦阻尼因素带来的影响。
[0073]
步骤s2,重复从仿真环境中读取所述完整模型的当前状态,并根据所述完整模型的当前状态及动作目标,对所述简化模型进行轨迹规划,对所述简化模型求解轨迹规划问题和任务空间控制,得到完整模型与各当前状态对应的各驱动关节目标位置,将所述完整模型的各当前状态及对应的各驱动关节目标位置一一对应,组成模仿学习数据集。至少采用100至500条轨迹,将这些轨迹中机器人状态及该状态下基于简化模型的求解结果(即各驱动关节目标位置)一一对应,组成模仿学习数据集。
[0074]
具体的,所述完整模型的当前状态包括完整模型的质心位置和速度,完整模型的
足底和躯干所受外力,完整模型髋关节和踝关节连线相对于躯干旋转的角度和角速度,完整模型髋关节与踝关节的距离(即腿长度)。所述动作目标是采用质心速度指令,使得模型在行走的过程中,其质心速度向质心速度指令趋近。例如,如图3所示,完整模型的当前状态如图3中左侧的机器人所示,其动作目标是沿箭头方向向右侧行走,并以其质心速度向质心速度指令趋近的形式达到右侧机器人的状态。
[0075]
其中,对所述简化模型求解轨迹规划问题和任务空间控制,得到完整模型与各当前状态对应的各驱动关节目标位置,是将简化模型的轨迹规划描述为一个对简化模型的最优控制问题,优化目标为状态估计得到的简化模型的质心速度v
t
与给定的速度指令之间的误差,优化变量为简化模型的状态轨迹x
t
与简化模型中电机驱动指令轨迹u
t
,x
t
包含的元素即上述对简化模型状态估计的结果,u
t
包括上述slip模型中的两个τ和两个f。通过对各变量的优化,使得达到优化目标,即简化模型的质心速度v
t
与给定的速度指令之间的误差越来越小,直到达到误差要求。
[0076]
根据完整模型与简化模型的结构映射关系将完整模型的状态映射至简化模型,代入最优控制方程中,所述最优控制方程的约束条件包括简化模型动力学方程、状态轨迹初值、状态轨迹边界、电机驱动指令轨迹边界,公式如下:
[0077][0078][0079]
x
min
≤x
t
≤x
max
[0080]
u
min
≤u
t
≤u
max
[0081]
其中t0为当前时刻;
[0082]
t为优化的时间范围长度,宜采用10至50倍控制周期。
[0083]
v
t
为状态估计得到的简化模型的质心速度,
[0084]
为给定的速度指令;
[0085]
为简化模型的状态方程,是根据动力学方程推导得出;
[0086]
x
t
为简化模型的状态轨迹,x
t
包含质心速度v
t
,以及质心位置,双腿与地面接触力、躯干所受外力,髋关节位置,髋关节与双腿的角度和角速度,腿的长度和速度这些参数;
[0087]
ut为简化模型中电机驱动指令轨迹;
[0088]
[x
min
,x
max
]为t0至t0 t时间内机器人状态的最大范围;
[0089]
[u
min
,u
max
]为t0至t0 t时间内驱动指令允许的最大范围。
[0090]
求解出简化模型的状态轨迹x
t
,再根据完整模型与简化模型的结构映射关系将x
t
映射为完整模型各驱动关节目标位置轨迹。
[0091]
所述完整模型与简化模型的结构映射关系包括:
[0092]
所述简化模型的质心位置和速度与完整模型的质心位置和速度对应;
[0093]
所述简化模型的双腿与地面接触力与完整模型的足底与地面接触力对应;
[0094]
所述简化模型的躯干所受外力与完整模型的和躯干所受外力对应;
[0095]
所述简化模型髋关节角度和角速度与完整模型髋关节和踝关节连线相对于躯干
旋转的角度和角速度对应;
[0096]
所述简化模型腿的长度与完整模型髋关节与踝关节的距离对应。
[0097]
如果完整模型还包括膝关节,则可以根据完整模型髋关节与踝关节的距离以及大腿和小腿通常的长度比例,结合该距离以及大腿、小腿之间构成的三角形关系来确定膝关节的目标位置轨迹。
[0098]
步骤s3,利用所述模仿学习数据集对第一神经网络进行监督训练,所述第一神经网络的输入为完整模型的状态,输出为各驱动关节目标位置;
[0099]
所述第一神经网络是长短期记忆网络,其包含两个隐含层,两个隐含层的神经元数目采用128或256,其所有参数随机初始化(采用深度学习框架默认初始化方式)。一系列的数据输入到第一神经网络中,逐步提高第一神经网络的对于完整模型的各驱动关节目标位置的预测准确性。
[0100]
步骤s4,将经过训练的第一神经网络用于在仿真环境中控制所述完整模型行走,直到所述完整模型出现不稳定,计算不稳定时的轨迹下所述完整模型的状态与动作目标之间的均方误差,
[0101]
若所述均方误差不收敛,则提取所述不稳定时的轨迹下的所有状态和动作目标,根据所述不稳定时的轨迹下的状态及动作目标,对所述简化模型求解轨迹规划问题和任务空间控制,得到所述完整模型在所述不稳定时的轨迹下的各驱动关节目标位置(与步骤s2中方法相同),将所述完整模型在所述不稳定时轨迹下的状态及对应的各驱动关节目标位置一一对应合并到模仿学习数据集中,重复步骤s3和s4。
[0102]
若所述均方误差值收敛,则保存该模仿学习过程所有轨迹中均方误差最小的一次对应的神经网络参数作为最佳参数。均方误差值收敛的条件为当前均方误差值与上次均方误差值的差小于预定阈值。
[0103]
其中,所述不稳定的标准是完整模型的质心高度低于身高的40%,也就是说,在完整模型的质心高度低于身高的40%时,机器人有例如要摔倒的风险。如图4所示是完整模型的质心高度低于身高的40%时的一种状态。
[0104]
所述强化学习阶段包括:
[0105]
构建第二神经网络,所述第二神经网络与第一神经网络结构相同,并将第二神经网络的参数初始化为第一神经网络中得到的所述最佳参数;
[0106]
在模仿学习阶段的仿真环境的基础上,将地面更换为接近实际环境的地形,采用ppo(近端策略优化算法)或sac(软演员

评论家算法)强化学习算法训练第二神经网络,其中输入和输出均和第一神经网络相同,奖励函数设置为所述完整模型的状态与动作目标之间的均方误差;
[0107]
强化学习收敛后将仿真环境替换为实际环境,将强化学习后的第二神经网络及其网络参数应用到实际环境中,采用实际机器人及相应的关节控制器、状态估计所需的传感器来为第二神经网络提供输入数据,从而由第二神经网络输出控制真实的双足机器人行走的指令(即各关节的目标位置)。
[0108]
进一步的,将经过训练的第一神经网络用于控制所述完整模型行走之前,先通过在完整模型的各关节位置上添加服从标准正态分布的噪声将完整模型随机初始化。
[0109]
具体的,包括以完整模型呈双足站立姿态时各关节的位置或角度为基准,对于每
个关节,分别从关节位置的标准正态分布中采样取得一个值加到该关节位置上将完整模型随机初始化,如果超过该关节允许的最大位置或角度,则取该关节允许的最大位置或角度值作为该关节的噪声,从而将完整模型随机初始化。
[0110]
本发明还提供一种双足机器人步态控制装置10,如图3所示,是本发明双足机器人步态控制装置一实施例的功能模块示意图。
[0111]
本发明的双足机器人步态控制装置10可以安装于电子设备中。根据实现的功能,所述双足机器人步态控制装置10可以包括机器人模型构建模块11,模仿学习模块12、强化学习模块13,其中模仿学习模块12包括模仿学习数据集构建单元121、第一神经网络训练单元122、训练数据补充单元123。
[0112]
本发明所述模块和单元是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
[0113]
在本实施例中,关于各模块的功能如下:
[0114]
其中,机器人模型构建模块11用于在仿真环境中建立双足机器人完整模型,所述完整模型包括躯干、双腿、双足,躯干与双腿间通过髋关节连接,双腿与双足间通过踝关节连接,所述仿真环境为平面地形。
[0115]
建立双足机器人简化模型,如图2所示,所述简化模型包括躯干1和双腿2,所述双腿2都通过髋关节与所述躯干1连接,每条腿上各有沿腿长度方向的驱动力f和绕髋关节转动的力矩τ,分别控制髋关节的角度及腿的长度。
[0116]
具体的,所述简化模型可以采用slip模型(弹簧负载倒立摆模型),其中躯干的质量m和惯量i采用与实际机器人躯干相同的质量和惯量,忽略双腿的质量和惯量,双腿刚度k和阻尼b的取值与实际机器人双腿等效刚度和阻尼相同。可以看出,完整模型与简化模型相比除了结构上增加了双足,还存在双腿的质量和惯量、机械摩擦阻尼因素带来的影响。
[0117]
模仿学习数据集构建单元121,用于重复从仿真环境中读取所述完整模型的当前状态,并根据所述完整模型的当前状态及动作目标,对所述简化模型进行轨迹规划,对所述简化模型求解轨迹规划问题和任务空间控制,得到完整模型与各当前状态对应的各驱动关节目标位置,将所述完整模型的各当前状态及对应的各驱动关节目标位置一一对应,组成模仿学习数据集。至少采用100至500条轨迹,将这些轨迹中机器人状态及该状态下基于简化模型的求解结果(即各驱动关节目标位置)一一对应,组成模仿学习数据集。
[0118]
具体的,所述完整模型的当前状态包括完整模型的质心位置和速度,完整模型的足底和躯干所受外力,完整模型髋关节和踝关节连线相对于躯干旋转的角度和角速度,完整模型髋关节与踝关节的距离(即腿长度)。所述动作目标是采用质心速度指令,使得模型在行走的过程中,其质心速度向质心速度指令趋近。例如,如图3所示,完整模型的当前状态如图3中左侧的机器人所示,其动作目标是沿箭头方向向右侧行走,并以其质心速度向质心速度指令趋近的形式达到右侧机器人的状态。
[0119]
其中,对所述简化模型求解轨迹规划问题和任务空间控制,得到完整模型与各当前状态对应的各驱动关节目标位置,是将简化模型的轨迹规划描述为一个对简化模型的最优控制问题,优化目标为状态估计得到的简化模型的质心速度v
t
与给定的速度指令之间的误差,优化变量为简化模型的状态轨迹x
t
与简化模型中电机驱动指令轨迹u
t
,x
t
包含的元素即上述对简化模型状态估计的结果,u
t
包括上述slip模型中的两个τ和两个f。通过对各
变量的优化,使得达到优化目标,即简化模型的质心速度v
t
与给定的速度指令之间的误差越来越小,直到达到误差要求。
[0120]
根据完整模型与简化模型的结构映射关系将完整模型的状态映射至简化模型,代入最优控制方程中,所述最优控制方程的约束条件包括简化模型动力学方程、状态轨迹初值、状态轨迹边界、电机驱动指令轨迹边界,公式如下:
[0121][0122][0123]
x
min
≤x
t
≤x
max
[0124]
u
min
≤u
t
≤u
max
[0125]
其中t0为当前时刻;
[0126]
t为优化的时间范围长度,宜采用10至50倍控制周期。
[0127]
v
t
为状态估计得到的简化模型的质心速度,
[0128]
为给定的速度指令;
[0129]
为简化模型的状态方程,是根据动力学方程推导得出;
[0130]
x
t
为简化模型的状态轨迹,x
t
包含质心速度v
t
,以及质心位置,双腿与地面接触力、躯干所受外力,髋关节位置,髋关节与双腿的角度和角速度,腿的长度和速度这些参数;
[0131]
u
t
为简化模型中电机驱动指令轨迹;
[0132]
[x
min
,x
max
]为t0至t0 t时间内机器人状态的最大范围;
[0133]
[u
min
,u
max
]为t0至t0 t时间内驱动指令允许的最大范围。
[0134]
求解出简化模型的状态轨迹x
t
,再根据完整模型与简化模型的结构映射关系将x
t
映射为完整模型各驱动关节目标位置轨迹。
[0135]
所述完整模型与简化模型的结构映射关系包括:
[0136]
所述简化模型的质心位置和速度与完整模型的质心位置和速度对应;
[0137]
所述简化模型的双腿与地面接触力与完整模型的足底与地面接触力对应;
[0138]
所述简化模型的躯干所受外力与完整模型的和躯干所受外力对应;
[0139]
所述简化模型髋关节角度和角速度与完整模型髋关节和踝关节连线相对于躯干旋转的角度和角速度对应;
[0140]
所述简化模型腿的长度与完整模型髋关节与踝关节的距离对应。
[0141]
如果完整模型还包括膝关节,则可以根据完整模型髋关节与踝关节的距离以及大腿和小腿通常的长度比例,结合该距离以及大腿、小腿之间构成的三角形关系来确定膝关节的目标位置轨迹。
[0142]
第一神经网络训练单元122,用于利用所述模仿学习数据集对第一神经网络进行监督训练,所述第一神经网络的输入为完整模型的状态,输出为各驱动关节目标位置;
[0143]
所述第一神经网络是长短期记忆网络,其包含两个隐含层,两个隐含层的神经元数目采用128或256,其所有参数随机初始化(采用深度学习框架默认初始化方式)。一系列的数据输入到第一神经网络中,逐步提高第一神经网络的对于完整模型的各驱动关节目标位置的预测准确性。
[0144]
训练数据补充模块123,用于将经过训练的第一神经网络用于在仿真环境中控制所述完整模型行走,直到所述完整模型出现不稳定,计算不稳定时的轨迹下所述完整模型的状态与动作目标之间的均方误差,
[0145]
若所述均方误差不收敛,则提取所述不稳定时的轨迹下的所有状态和动作目标,根据所述不稳定时的轨迹下的状态及动作目标,对所述简化模型求解轨迹规划问题和任务空间控制,得到所述完整模型在所述不稳定时的轨迹下的各驱动关节目标位置(与步骤s2中方法相同),将所述完整模型在所述不稳定时轨迹下的状态及对应的各驱动关节目标位置一一对应合并到模仿学习数据集中,重复步骤s3和s4。
[0146]
若所述均方误差值收敛,则保存该模仿学习过程所有轨迹中均方误差最小的一次对应的神经网络参数作为最佳参数。均方误差值收敛的条件为当前均方误差值与上次均方误差值的差小于预定阈值。
[0147]
其中,所述不稳定的标准是完整模型的质心高度低于身高的40%,也就是说,在完整模型的质心高度低于身高的40%时,机器人有例如要摔倒的风险。如图4所示是完整模型的质心高度低于身高的40%时的一种状态。
[0148]
强化学习模块13,用于构建第二神经网络,所述第二神经网络与第一神经网络结构相同,并将第二神经网络的参数初始化为第一神经网络中得到的所述最佳参数;
[0149]
在模仿学习阶段的仿真环境的基础上,将地面更换为接近实际环境的地形,采用ppo(近端策略优化算法)或sac(软演员

评论家算法)强化学习算法训练第二神经网络,其中输入和输出均和第一神经网络相同,奖励函数设置为所述完整模型的状态与动作目标之间的均方误差;
[0150]
强化学习收敛后将仿真环境替换为实际环境,将强化学习后的第二神经网络及其网络参数应用到实际环境中,采用实际机器人及相应的关节控制器、状态估计所需的传感器来为第二神经网络提供输入数据,从而由第二神经网络输出控制真实的双足机器人行走的指令(即各关节的目标位置)。
[0151]
如图4所示,是本发明实现双足机器人步态控制方法的电子设备一实施例的结构示意图。
[0152]
所述电子设备5可以包括处理器50、存储器51和总线,还可以包括存储在所述存储器51中并可在所述处理器50上运行的计算机程序,如双足机器人步态控制程序52。
[0153]
其中,所述存储器51至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:sd或dx存储器等)、磁性存储器、磁盘、光盘等。所述存储器51在一些实施例中可以是电子设备5的内部存储单元,例如该电子设备5的移动硬盘。所述存储器51在另一些实施例中也可以是电子设备5的外部存储设备,例如电子设备5上配备的插接式移动硬盘、智能存储卡(smart media card,smc)、安全数字(secure digital,sd)卡、闪存卡(flash card)等。进一步地,所述存储器51还可以既包括电子设备5的内部存储单元也包括外部存储设备。所述存储器51不仅可以用于存储安装于电子设备5的应用软件及各类数据,例如双足机器人步态控制程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
[0154]
所述处理器50在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者
多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器50是所述电子设备的控制核心(control unit),利用各种调用接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器51内的程序或者模块(例如双足机器人步态控制程序等),以及调用存储在所述存储器5l内的数据,以执行电子设备5的各种功能和处理数据。
[0155]
所述总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器51以及至少一个处理器50等之间的连接通信。
[0156]
图4仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图4示出的结构并不构成对所述电子设备5的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
[0157]
例如,尽管未示出,所述电子设备5还可以包括给各个部件供电的电源(比如电池),可选的,电源可以通过电源管理装置与所述至少一个处理器50逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备5还可以包括多种传感器、蓝牙模块、wi

fi模块等,在此不再赘述。
[0158]
进一步地,所述电子设备5还可以包括网络调用接口,可选地,所述网络调用接口可以包括有线调用接口和/或无线调用接口(如wi

fi调用接口、蓝牙调用接口等),通常用于在该电子设备5与其他电子设备之间建立通信连接。
[0159]
可选地,该电子设备5还可以包括用户调用接口,用户调用接口可以是显示器(display)、输入单元(比如键盘(keyboard)),可选地,用户调用接口还可以是标准的有线调用接口、无线调用接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light

emitting diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备5中处理的信息以及用于显示可视化的用户界面。
[0160]
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
[0161]
所述电子设备5中的所述存储器51存储的双足机器人步态控制程序52是多个指令的组合,在所述处理器50中运行时,可以实现:
[0162]
在仿真环境中建立双足机器人完整模型,所述完整模型包括躯干、双腿、双足,躯干与双腿间通过髋关节连接,双腿与双足间通过踝关节连接,所述仿真环境为平面地形,所述方法包括模仿学习和强化学习两个阶段,其中,
[0163]
所述模仿学习包括:
[0164]
步骤s1,建立双足机器人简化模型,所述简化模型包括躯干和双腿,所述双腿都通过髋关节与所述躯干连接,每条腿上各有沿腿长度方向的驱动力f和绕髋关节转动的力矩τ;
[0165]
步骤s2,重复从仿真环境中读取所述完整模型的当前状态,并根据所述完整模型的当前状态及动作目标,对所述简化模型求解轨迹规划问题和任务空间控制,得到完整模
型与各当前状态对应的各驱动关节目标位置,将所述完整模型的各当前状态及对应的各驱动关节目标位置一一对应,组成模仿学习数据集;
[0166]
步骤s3,利用所述模仿学习数据集对第一神经网络进行监督训练,所述第一神经网络的输入为完整模型的状态,输出为各驱动关节目标位置;
[0167]
步骤s4,将经过训练的第一神经网络用于控制所述完整模型行走,直到所述完整模型出现不稳定,计算不稳定时的轨迹下所述完整模型的状态与动作目标之间的均方误差,
[0168]
若所述均方误差不收敛,则提取所述不稳定时的轨迹下的所有状态和动作目标,根据所述不稳定时的轨迹下的状态及动作目标,对所述简化模型求解轨迹规划问题和任务空间控制,得到所述完整模型在所述不稳定时的轨迹下的各驱动关节目标位置,将所述完整模型在所述不稳定时轨迹下的状态及对应的各驱动关节目标位置一一对应合并到模仿学习数据集中,重复步骤s3和s4,
[0169]
若所述均方误差值收敛,则保存该模仿学习过程所有轨迹中均方误差最小的一次对应的神经网络参数作为最佳参数;
[0170]
所述强化学习包括:
[0171]
构建第二神经网络,所述第二神经网络与第一神经网络结构相同,并将第二神经网络的参数初始化为第一神经网络中得到的所述最佳参数;
[0172]
将所述平面地形更换为真实模拟地形,采用ppo或sac强化学习算法训练第二神经网络,其中输入和输出均和第一神经网络相同,奖励函数设置为所述完整模型的状态与动作目标之间的均方误差;
[0173]
强化学习收敛后,利用强化学习后的第二神经网络控制双足机器人行走。
[0174]
具体的运行流程如图5所示,具体可参见以上控制方法的描述,此处不再赘述。
[0175]
进一步地,所述电子设备5集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read

only memory)。
[0176]
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0177]
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0178]
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
[0179]
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
[0180]
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本
发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
[0181]
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜