本发明涉及机器人运动控制,具体为一种结合周期奖励的人形机器人步态模仿学习方法。
背景技术:
1、近年来,得益于人工智能与机器人技术的进步,人形机器人的运动控制问题再次受到广泛关注。传统的基于模型的运动控制方法虽然取得了一定的成功,但其对精确建模的依赖和难以适用于复杂任务的缺陷使其应用仍存在一定的局限。人形机器人具有复杂的动力学特性,其运动涉及多个自由度、连接关系和不确定性因素。传统算法在建模和控制这些复杂性时往往选择简化并抽象模型,如线性倒立摆模型(linear inverted pendulum,lip)将机器人的腿部简化为点质量和可伸缩的无质量腿,这将导致无法实现对各个关节的精确控制。相比之下,强化学习算法能够从与环境的交互过程中推断出人形机器人的动力学特性,而无需显示建模,从而实现更精确的运动控制。
2、强化学习已被证明是设计双足机器人控制器的有效方法。在cassie机器人的研究中,jonah siekmann通过将时钟信号纳入奖励函数实现了周期性双足步态。此外,zhongyuli采用基于混合零动态(hzd)生成的动作库作为参考,并引入模仿学习奖励项以学习参考动作的风格。然而,将强化学习应用于人形机器人比应用于较轻的cassie时面临更多挑战,其主要来源于人形大重量上半身给稳定性与安全性带来的影响。rohan在hrp机器人的研究中指出,通过周期奖励项和落脚点规划,机器人能够实现设定的足迹行走和转弯操作。但是按照这种方案实现的人形机器人的行走姿态并不真正仿人,通常处于半蹲状态,这使得膝关节电机需要承担更大的负荷。最终导致人形机器人在平面内以类人姿态行走时,出现姿态不稳定的问题。
技术实现思路
1、本发明的目的是:针对现有技术中人形机器人在平面内以类人姿态行走时,出现姿态不稳定的问题,提出一种结合周期奖励的人形机器人步态模仿学习方法。
2、本发明为了解决上述技术问题采取的技术方案是:
3、一种结合周期奖励的人形机器人步态模仿学习方法,包括以下步骤:
4、步骤一:构建参考动作库,所述参考动作库中包含基本动作以及每个基本动作对应的周期性接触信息,所述周期性接触信息包括持续ds、ds与ss交替出现、ss交替出现,其中,ds为双足接触相,ss为单足支撑相;
5、步骤二:基于参考动作库设计奖励函数;
6、步骤三:基于步骤二中设计的奖励函数训练深度强化学习模型;
7、步骤四:利用训练好的深度强化学习模型进行人形机器人步态模仿。
8、进一步的,所述构建参考动作库的具体步骤为:
9、步骤一一:获取原始数据集,所述原始数据集中包括每个基本动作以及每个基本动作对应的人体下肢关节位置信息序列;
10、步骤一二:利用运动重定向将人体下肢关节位置信息序列映射到人形机器人上,得到机器人下肢关节位置信息序列;
11、步骤一三:对机器人下肢关节位置信息序列进行运动约束与控制频率对齐算法处理,得到修整后的机器人下肢关节位置信息序列,并利用修整后的机器人下肢关节位置信息序列构建参考动作库。
12、进一步的,所述运动约束包括位置限制和转速限制,具体为:
13、 关节 位置限制 转速限制 髋关节俯仰 -10~80 15 髋关节俯仰 -15~30 8 髋关节俯仰 -15~15 2 膝关节俯仰 0~120 22 踝关节俯仰 -30~70 10 踝关节侧摆 -15~15 5
14、其中,位置限制的单位为度,转速限制的单位为rad/s。
15、进一步的,所述步骤一一中原始数据集通过cmu动捕数据集或开源人体动作库rofunc得到。
16、进一步的,所述奖励函数包括模仿学习项、任务项和正则化项;
17、所述模仿学习项包括和
18、所述任务项为
19、所述正则化项包括和
20、
21、
22、
23、
24、
25、
26、
27、
28、其中,表示基座模仿奖励,表示关节模仿奖励,表示足接触力模仿奖励、表示足速度模仿奖励、表示迈步任务奖励,表示动作变化正则化奖励,表示力矩正则化奖励,表示力矩变化正则化奖励,和qbase,t分别表示为t时刻参考动作的基座朝向与实际基座朝向,和qt分别表示为t时刻参考动作的关节位置和实际关节位置,表示左脚地面反作用力相位指示器,表示右脚地面反作用力相位指示器,表示左脚速度相位指示器,表示右脚速度相位指示器,fleft和fright分别表示左脚和右脚归一化后的地面反作用力,sleft和sright分别表示左脚和右脚归一化后的体速度,a表示当前动作,aprev表示上一时刻动作,τ表示关节力矩,τprev表示前一时刻的关节力矩,dfoot表示足部与目标点之间的距离,droot表示基座与目标点之间的距离。
29、进一步的,所述步骤三的具体步骤为:
30、步骤三一:导入强化学习环境,并对环境进行封装;
31、步骤三二:初始化actor-critic算法,所述actor-critic算法包括策略网络、价值网络以及ppo算法;
32、步骤三三:设定训练阶段为第1阶段和第2阶段,所述第1阶段为单一任务,所述第2阶段为复合任务,所述单一任务执行基础动作任务,所述复合任务执行组合步态任务;
33、步骤三四:设置训练轮次titr,并取训练轮次titr的一半为阶段变更轮次tj,之后基于初始化后的actor-critic算法,进行训练,迭代轮次在0至tj之间,采用第1阶段奖励函数权重进行训练,迭代轮次在tj至titr之间,采用第2阶段奖励函数权重进行训练,第1阶段奖励函数权重和第2阶段奖励函数权重具体如下:
34、
35、步骤三五:对强化学习环境进行初始化,包括设定机器人的初始状态和任务目标,并引入随机扰动;
36、步骤三六:通过ray对强化学习环境进行并行采样,并将采样结果拼接成一个buffer;
37、步骤三七:对缓冲区中的索引进行随机采样,并设定批次大小,之后根据选取的索引,将缓冲区数据分割成多个小批量,即batch,每个batch包含完整的数据样本,对于不足以形成一个完整小批量的剩余样本,则将其抛弃;
38、步骤三八:开始一个训练周期epoch,总周期数为epochs,使用全部数据集训练模型的过程为一个训练周期,每个epoch都使用随机小批量数据对策略进行更新;
39、步骤三九:计算损失函数,反向传播更新网络权重,所述损失函数包括ppo损失、镜像对称损失和熵损失。
40、进一步的,所述策略网络和价值网络为全连接网络,即多层感知机,
41、所述价值网络包括两个隐藏层,每层含有256个神经元,并使用relu激活函数;
42、所述策略网络包括两个隐藏层,每层含有256个神经元,并使用relu激活函数,网络的输出通过一个tanh层。
43、进一步的,所述基本动作包括下蹲、前进以及奔跑;
44、所述单一任务包括行走、站立、后退和横移;
45、所述复合任务包括转弯、变速行走和变速奔跑。
46、进一步的,所述步骤三五还包括动态调整训练超参数的步骤,具体为:
47、通过监测当前最高奖励调整退火率,并基于特定的运行条件动态调整终止阈值;
48、所述通过监测当前最高奖励调整退火率具体为:
49、当奖励超过最大轨迹长度的三分之二,且退火率大于0.5时,降低退火率;
50、所述基于特定的运行条件动态调整终止阈值具体为:
51、若启用终止条件,且终止阈值小于0.35,则根据迭代次数增加终止阈值。
52、进一步的,所述ppo损失、镜像对称损失、和熵损失的权重分别为1、0.4、0.1。
53、本发明的有益效果是:
54、本技术构建融合接触信息的参考动作库,作为模仿奖励项和周期接触奖励项的参考。本技术对基本动作与其对应的周期性接触信息,创建出一个综合性的参考动作库。这一策略通过模仿参考动作的风格及其接触信息,引入周期性奖励项,不仅提高了机器人动作的逼真度和风格一致性,而且增强了对动作执行中脚部与地面交互细节的关注,从而确保了人形机器人在平面内以类人姿态行走时,姿态的稳定。
55、本技术针对人形机器人的行走问题,采用一种基于无模型深度强化学习的端到端控制方法,通过系统状态量直接生成控制策略,无需对复杂的人形机器人系统进行建模,是一种针对此类任务的通用方法。
56、本技术构造多阶段课程学习,可以有效开发出能在平面上灵活移动并执行多项任务的控制策略。通过分为单一任务训练、复合任务训练及域随机化训练三个阶段,本技术逐步提高任务复杂度和环境的不确定性,从而构建出具有高度适应性、灵活性和鲁棒性的控制系统。这种分阶段训练方法保证机器人的基础技能掌握的同时,增强了其在面对现实世界多样化环境时的泛化能力和稳定性。