CN117215204A - 基于强化学习的机器人步态训练方法及系统 - Google Patents
基于强化学习的机器人步态训练方法及系统 Download PDFInfo
- Publication number
- CN117215204A CN117215204A CN202311485992.7A CN202311485992A CN117215204A CN 117215204 A CN117215204 A CN 117215204A CN 202311485992 A CN202311485992 A CN 202311485992A CN 117215204 A CN117215204 A CN 117215204A
- Authority
- CN
- China
- Prior art keywords
- robot
- gait
- training
- training process
- deviation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012549 training Methods 0.000 title claims abstract description 213
- 238000000034 method Methods 0.000 title claims abstract description 170
- 230000005021 gait Effects 0.000 title claims abstract description 168
- 230000002787 reinforcement Effects 0.000 title claims abstract description 59
- 230000008569 process Effects 0.000 claims abstract description 101
- 230000006870 function Effects 0.000 claims abstract description 62
- 238000004088 simulation Methods 0.000 claims abstract description 37
- 230000009466 transformation Effects 0.000 claims description 32
- 230000009471 action Effects 0.000 claims description 22
- 230000002159 abnormal effect Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 11
- 230000001419 dependent effect Effects 0.000 claims description 11
- 230000008878 coupling Effects 0.000 claims description 5
- 238000010168 coupling process Methods 0.000 claims description 5
- 238000005859 coupling reaction Methods 0.000 claims description 5
- 238000009499 grossing Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 abstract description 8
- 230000000737 periodic effect Effects 0.000 abstract description 7
- 230000033001 locomotion Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 5
- 230000009191 jumping Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Manipulator (AREA)
Abstract
本发明提供一种基于强化学习的机器人步态训练方法及系统,涉及机器人控制技术领域,方法包括:根据构建的双足机器人的仿真模型,获取所述双足机器人在步态训练过程中的各个时刻的状态;执行至少一次第一训练过程,直至总奖励在最大值处收敛,所述总奖励根据执行每次第二训练过程获得的奖励确定。本发明提供一种新的奖励计算方法,使双足机器人在无参考轨迹的前提下可以通过单次强化学习训练就可以完成正确的步态训练,且只需要修改分别描述双足触地状态的目标二值函数就可以实现对步态训练过程的参数化精细控制,降低对双足机器人结构的依赖,实现对大部分双足周期性步态的描述和训练。
Description
技术领域
本发明涉及机器人控制技术领域,尤其涉及一种基于强化学习的机器人步态训练方法及系统。
背景技术
双足机器人的控制方式可以分为传统控制方法和强化学习控制方法两种,传统方法通过对机器人进行运动学和动力学分析得到相应的运动学或者动力学模型,再结合传感器测量值对机器人进行状态估计,最后对选择的控制变量进行控制。而强化学习控制是指在仿真中构建一个强化学习环境,利用强化学习策略训练方法迭代修改神经网络的权值,使仿真环境中的机器人的运动的行为状态逐渐逼近期望值。
基于强化学习对双足机器人进行控制的方法的共性是:通过计算或者简化模型预训练得到的机器人轨迹作为目标轨迹与实际训练中的智能体轨迹比较从而进行奖励计算。利用参考轨迹进行训练的合理性在于双足机器人的运动复杂。并基于机器人的期望状态和实际状态之间的方差描述机器人运动的步态信息,因此使用参考轨迹指定机器人采用双腿周期性交替落地或者其他期望的运动方式运动成为了常用的训练方案。但是使用参考轨迹的训练方式同样存在弊端。通过动力学和运动学分析计算参考轨迹的方法比较繁琐,并且机器人结构或者负载一旦发生改变,参考轨迹就需要重新计算。通过模仿学习先训练出目标轨迹的方式则需要进行两次训练,训练成本增加,并且对于跑、跳等复杂的步态进行预训练存在困难。
因此,在基于强化学习对双足机器人进行控制的技术领域里,存在由于对预设目标轨迹的依赖导致需要二次训练或者对机器人结构具有强依赖性的缺陷。
发明内容
本发明提供的基于强化学习的机器人步态训练方法及系统,用于解决在基于强化学习对双足机器人进行控制的技术领域里,由于对预设目标轨迹的依赖导致需要二次训练或者对机器人结构具有强依赖性的缺陷的问题。
本发明提供的一种基于强化学习的机器人步态训练方法,包括:
根据构建的双足机器人的仿真模型,获取所述双足机器人在步态训练过程中的各个时刻的状态;
执行至少一次第一训练过程,直至总奖励在最大值处收敛,所述总奖励根据执行每次第二训练过程获得的奖励确定;
其中,所述第一训练过程包括:
执行至少一次所述第二训练过程,直至所述第二训练过程的训练次数达到预设值或所述双足机器人的状态异常;
基于actor网络和critic网络分别对应的损失函数,更新所述actor网络和所述critic网络,所述损失函数根据所述总奖励确定;
所述第二训练过程包括:
向所述actor网络输入双足机器人在当前时刻的状态,获取所述actor网络输出的动作指令;
将所述actor网络输出的动作指令输入到所述双足机器人的仿真模型,获取所述双足机器人在下一时刻的状态;
将所述双足机器人的地面反馈力所对应的取模量在预设区间上进行尺度变换,获取尺度变换结果;
根据所述尺度变换结果和目标二值函数在所述下一时刻的值,获取线性步态观测奖励,所述目标二值函数是通过对所述双足机器人的步态训练过程的足部特征进行分析后,为所述双足机器人的双足分别建立的以相位为自变量,以触地状态为因变量的二值函数,所述相位与所述步态训练过程中的步态周期包括的各个时刻一一对应;
获取所述双足机器人在下一时刻的状态与所述双足机器人在所述下一时刻的预设状态之间的偏差;
根据所述线性步态观测奖励和所述偏差,获取执行一次所述第二训练过程的奖励。
根据本发明提供的一种基于强化学习的机器人步态训练方法,所述获取所述双足机器人在下一时刻的状态与所述双足机器人在所述下一时刻的预设状态之间的偏差,包括:
获取所述双足机器人在所述下一时刻的状态中的姿态、高度和速度;
获取所述双足机器人在所述下一时刻的预设状态中的目标姿态、目标高度和目标速度;
根据第一偏差、第二偏差和第三偏差,获取所述偏差,所述第一偏差为所述姿态与所述目标姿态之间的偏差,所述第二偏差为所述高度与所述目标高度之间的偏差,所述第三偏差为所述速度与所述目标速度之间的偏差。
根据本发明提供的一种基于强化学习的机器人步态训练方法,所述根据所述线性步态观测奖励和所述偏差,获取执行一次所述第二训练过程的奖励,包括:
对所述线性步态观测奖励在预设区间进行平滑处理,获取目标线性步态观测奖励;
对所述目标线性步态观测奖励和所述偏差进行加权求和,获取执行一次所述第二训练过程的奖励。
根据本发明提供的一种基于强化学习的机器人步态训练方法,所述双足机器人的仿真模型的获取方式,包括:
基于标准的格式文件,对所述双足机器人的关节耦合方式、运动学参数和动力学参数进行描述,获取所述双足机器人的仿真模型。
根据本发明提供的一种基于强化学习的机器人步态训练方法,所述双足机器人的步态训练过程包括如下至少一种:
行走、跑、跳和站立。
根据本发明提供的一种基于强化学习的机器人步态训练方法,所述预设值根据所述步态周期包括的时刻总数确定。
根据本发明提供的一种基于强化学习的机器人步态训练方法,所述actor网络的连接层由一个50维度的输入全连接层、两个256维度的隐藏层和一个10维度的输出全连接层组成。
本发明还提供一种基于强化学习的机器人步态训练系统,包括:
获取模块,用于根据构建的双足机器人的仿真模型,获取所述双足机器人在步态训练过程中的各个时刻的状态;
训练模块,用于执行至少一次第一训练过程,直至总奖励在最大值处收敛,所述总奖励根据执行每次第二训练过程获得的奖励确定;
其中,所述第一训练过程包括:
执行至少一次所述第二训练过程,直至所述第二训练过程的训练次数达到预设值或所述双足机器人的状态异常;
基于actor网络和critic网络分别对应的损失函数,更新所述actor网络和所述critic网络,所述损失函数根据所述总奖励确定;
所述第二训练过程包括:
向所述actor网络输入双足机器人在当前时刻的状态,获取所述actor网络输出的动作指令;
将所述actor网络输出的动作指令输入到所述双足机器人的仿真模型,获取所述双足机器人在下一时刻的状态;
将所述双足机器人的地面反馈力所对应的取模量在预设区间上进行尺度变换,获取尺度变换结果;
根据所述尺度变换结果和目标二值函数在所述下一时刻的值,获取线性步态观测奖励,所述目标二值函数是通过对所述双足机器人的步态训练过程的足部特征进行分析后,为所述双足机器人的双足分别建立的以相位为自变量,以触地状态为因变量的二值函数,所述相位与所述步态训练过程中的步态周期包括的各个时刻一一对应;
获取所述双足机器人在下一时刻的状态与所述双足机器人在所述下一时刻的预设状态之间的偏差;
根据所述线性步态观测奖励和所述偏差,获取执行一次所述第二训练过程的奖励。
本发明还提供一种电子设备,包括处理器和存储有计算机程序的存储器,所述处理器执行所述程序时实现如上述任一种所述基于强化学习的机器人步态训练方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于强化学习的机器人步态训练方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述基于强化学习的机器人步态训练方法。
本发明提供的基于强化学习的机器人步态训练方法及系统,通过将步态中的足部特征进行分析,并用于总奖励的计算,使双足机器人在无参考轨迹的前提下可以通过单次强化学习训练就可以完成正确的步态训练,且只需要修改分别描述双足触地状态的目标二值函数就可以实现对步态训练过程的参数化精细控制,降低对双足机器人结构的依赖,实现对大部分双足周期性步态的描述和训练。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的基于强化学习的机器人步态训练方法的流程示意图;
图2是本发明提供的基于强化学习的机器人步态训练系统的结构示意图;
图3是本发明提供的电子设备的实体结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的基于强化学习的机器人步态训练方法,提供一种新的奖励计算方法,使双足机器人可以通过单次强化学习训练掌握正确的行走步态。此外,只需调整总奖励计算中的目标线性步态观测奖励和偏差分别对应的权值系数,就可以实现机器人行走、站立、跑、跳等步态的训练切换,具体实现如下:
图1是本发明提供的基于强化学习的机器人步态训练方法的流程示意图,如图1所示,方法包括:
步骤110,根据构建的双足机器人的仿真模型,获取所述双足机器人在步态训练过程中的各个时刻的状态;
步骤120,执行至少一次第一训练过程,直至总奖励在最大值处收敛,所述总奖励根据执行每次第二训练过程获得的奖励确定;
其中,所述第一训练过程包括:
执行至少一次所述第二训练过程,直至所述第二训练过程的训练次数达到预设值或所述双足机器人的状态异常;
基于actor网络和critic网络分别对应的损失函数,更新所述actor网络和所述critic网络,所述损失函数根据所述总奖励确定;
所述第二训练过程包括:
向所述actor网络输入双足机器人在当前时刻的状态,获取所述actor网络输出的动作指令;
将所述actor网络输出的动作指令输入到所述双足机器人的仿真模型,获取所述双足机器人在下一时刻的状态;
将所述双足机器人的地面反馈力所对应的取模量在预设区间上进行尺度变换,获取尺度变换结果;
根据所述尺度变换结果和目标二值函数在所述下一时刻的值,获取线性步态观测奖励,所述目标二值函数是通过对所述双足机器人的步态训练过程的足部特征进行分析后,为所述双足机器人的双足分别建立的以相位为自变量,以触地状态为因变量的二值函数,所述相位与所述步态训练过程中的步态周期包括的各个时刻一一对应;
获取所述双足机器人在下一时刻的状态与所述双足机器人在所述下一时刻的预设状态之间的偏差;
根据所述线性步态观测奖励和所述偏差,获取执行一次所述第二训练过程的奖励。
需要说明的是,上述方法的执行主体可以是计算机设备。
可选地,该双足机器人的仿真模型可以基于经典mujoco仿真环境进行构建,具体可以通过对双足机器人的关节耦合方式、动力学参数和运动学参数进行描述后得到。对建立的双足机器人的仿真模型进行模块化解析,并对双足机器人的各个模块的重量、惯量以及地面的摩擦力添加随机噪声,以增加训练后的控制器在实机环境下的冗余度。
根据构建好的双足机器人的仿真模型可以得到双足机器人在进行步态训练过程中的各个时刻的状态。
构建强化学习网络,强化学习网络采用OpenAI发布的PPO算法框架,包括actor网络和critic网络,利用本发明提出的新的奖励机制对双足机器人在仿真环境中进行训练以完成按照多种指定步态运动的目标。
执行至少一次第一训练过程,直至根据本发明提出的新的奖励机制获取的总奖励在最大值处收敛为止。其中,本发明提出的奖励计算算法不依赖于某种特定的强化学习框架或者机器人结构。
具体而言,该第一训练过程可以具体包括:
执行至少一次第二训练过程,直到第二训练过程的训练次数达到预设值,或双足机器人的状态异常。例如,获取的双足机器人的某一时刻的状态不应出现在步态训练过程中,则确定双足机器人的状态异常。比如,在双足机器人进行行走步态训练时,获取的某一时刻的状态中的双足机器人的高度小于进行行走步态训练时的预设高度,则判定双足机器人的状态异常。
在确定训练次数达到预设值或双足机器人的状态异常的情况下,基于构建的actor网络和critic网络分别对应的损失函数,对actor网络和critic网络进行更新。
具体而言,根据总奖励利用梯度下降算法计算actor网络的损失函数和critic网络的损失函数,并分别通过反向传播更新actor网络和critic网络,直至总奖励在最大值处收敛完成训练。
具体而言,第二训练过程可以具体包括:
向actor网络输入当前时刻的状态空间(简称为状态),并将actor网络输出的动作指令(例如电机控制向量)输入仿真模型,从仿真模型中获取双足机器人下一时刻的状态空间/>。其中,机器人电机控制向量可以看作是机器人的动作。在机器人控制中,电机控制向量是用来控制机器人关节电机的指令信号,通过改变电机控制向量的数值和模式,可以实现机器人的各种动作和运动。电机控制向量包含了对每个关节电机的控制参数,例如速度、位置或力矩等,通过在控制向量中调整这些参数,机器人可以做出不同的动作,如行走、转身、抓取等。在将该动作指令输入到仿真模型后,获取双足机器人的足部对地面受力,即地面反馈力。该地面反馈力通常是一个向量,代表足部在/>方向上受到的力。
通过对该地面反馈力取模,获取其对应的取模量,并将该取模量在预设区间(例如)上进行尺度变换,得到对应的尺度变换结果。
具体而言,可以使用如下公式对该取模量在上进行尺度变换:
其中,和/>分别表示地面反馈力取模量的最小值和最大值,/>表示尺度变换结果,它在/>之间变化。该尺度变换结果可以用于表征双足机器人足部的触地状态。
将尺度变换结果与目标二值函数在该下一时刻下的值相乘即可计算出线性步态观测奖励。其中,该目标二值函数是通过对双足机器人的步态训练过程的足部特征进行特征分析后,为双足机器人的双足分别建立的以相位为自变量,以触地状态为因变量的二值函数。该相位与步态训练过程中的步态周期包括的各个时刻一一对应。假设,行走步态训练中的步态周期为5s,该步态周期包括100个时刻,则每个时刻的相位可以设置为5/100=0.05。
具体而言,假设对双足机器人的行走步态的足部特征进行分析,双足机器人的两条腿按运动状态可以分为触地与悬空两种状态,在一个运动周期(即步态周期)内触地与悬空状态为互斥状态。归一化后触地状态长度表示为,则悬空状态长度表示为/>。通常双足机器人在平面上行走时的运动状态有如下特征:单腿触地与悬空的时间应当相同,因此,且两侧腿之间的运动相位差为π,即交替触地站立。根据上述特征可以对两条腿分别建立以当前相位为自变量,以触地状态为因变量的二值函数。具体而言,可以建立/>区间上的目标二值函数,并在函数边界处通过贝塞尔曲线进行平滑处理。其中,-1表示悬空状态,1表示触地状态。
需要说明的是,对于其他步态训练如站立、跑、跳等大部分双足周期性步态都可以按双腿在一个周期内触地状态的长度和相位来进行特征提取。站立的特征可以表示为:两条腿的触地状态长度,即在全步态周期内两条腿均触地。跑步的特点是两条腿存在同时离地的情况,其特征可以表示为:单条腿的触地状态长度/>,且从一条腿离地到另一条腿触地之间存在间隔/>。则在一个步态周期内/>,左腿和右腿相位差/>。跳的特点是两条腿同时触地和离地,特征可以表示为:单条腿触地状态长度为/>,悬空状态长度为,左右腿之间相位差为0,改变/>的长度可以调整双足机器人理论上的目标腾空时间和腾空高度。特别注意的是,上述步态特征提取用于举例说明,目的是更加清晰直观的阐述步态特征提取的方法,并不是本发明保护的全部。事实上,通过调整目标触地状态长度和两腿间二值函数相位对步态进行特征提取及描述的方法都应视为与本发明类似甚至相同的方法。
这种将步态中的足部特征进行抽象提取并用于奖励计算的方式广义上适用于任何足式机器人的无参考轨迹下的步态训练,这也是本发明通用性上的创新点所在。
计算获取的双足机器人在下一时刻的状态与双足机器人在该时刻的预设状态之间的偏差,并根据该偏差以及线性步态观测奖励,可以得到执行一次第二训练过程的奖励。该预设状态可以根据双足机器人正常步态中该时刻的状态确定。
进一步地,在一个实施例中,所述预设值根据所述步态周期包括的时刻总数确定。
可选地,该预设值可以具体根据步态周期包括的时刻总数确定。
假设,步态周期包括个时刻,则预设值设置为/>,执行/>次第二训练过程后得到的总奖励可以通过如下公式计算:
其中,代表总奖励,/>代表执行第/>第二训练过程的奖励。
进一步地,在一个实施例中,所述actor网络的连接层由一个50维度的输入全连接层、两个256维度的隐藏层和一个10维度的输出全连接层组成。
可选地,本发明中的actor网络的连接层,包括一个50维的输入全连接层,两个256维的隐藏层,以及一个10维的输出全连接层。由于本发明在奖励计算时考虑了足部的相位信息,因此输入层除了包含从仿真模型中获取的双足机器人的状态外还需要包含双足的相位,使actor网络和双足的相位相关联。
本发明提供的基于强化学习的机器人步态训练方法,通过将步态中的足部特征进行分析,并用于总奖励的计算,使双足机器人在无参考轨迹的前提下可以通过单次强化学习训练就可以完成正确的步态训练,且只需要修改分别描述双足触地状态的目标二值函数就可以实现对步态训练过程的参数化精细控制,降低对双足机器人结构的依赖,实现对大部分双足周期性步态的描述和训练。
进一步地,在一个实施例中,所述获取所述双足机器人在下一时刻的状态与所述双足机器人在所述下一时刻的预设状态之间的偏差,可以包括:
获取所述双足机器人在所述下一时刻的状态中的姿态、高度和速度;
获取所述双足机器人在所述下一时刻的预设状态中的目标姿态、目标高度和目标速度;
根据第一偏差、第二偏差和第三偏差,获取所述偏差,所述第一偏差为所述姿态与所述目标姿态之间的偏差,所述第二偏差为所述高度与所述目标高度之间的偏差,所述第三偏差为所述速度与所述目标速度之间的偏差。
可选地,从获取的双足机器人的下一时刻的状态中得到双足机器人在下一时刻的姿态、高度和笛卡尔空间速度(简称为速度),从该时刻的预设状态中获取双足机器人的目标姿态、目标高度和目标速度。
对双足机器人的目标姿态和中的姿态求内积计算姿态偏差,即第一偏差,对目标高度与/>中的高度求取偏差,得到高度偏差,即第二偏差,对目标速度与/>中速度求取偏差,得到速度偏差,即第三偏差。上述三个偏差共同构成偏差向量/>,对/>求/>可以得出/>在/>指数函数值区间上的加权偏差向量/>,其中/>是权重矩阵。
进一步地,在一个实施例中,所述根据所述线性步态观测奖励和所述偏差,获取执行一次所述第二训练过程的奖励,可以包括:
对所述线性步态观测奖励在预设区间进行平滑处理,获取目标线性步态观测奖励;
对所述目标线性步态观测奖励和所述偏差进行加权求和,获取执行一次所述第二训练过程的奖励。
具体而言,为了增加冗余度,对计算得到线性步态观测奖励进一步用正切函数在同尺度区间上的进行平滑处理得到最终用于加权奖励计算的步态观测奖励,即目标步态观测奖励。
对加权偏差向量内部所有元素求和并与求得的目标步态观测奖励再次求加权和即可得到单次观测(即执行一次第二训练过程)的最终奖励/>。
进一步地,在一个实施例中,所述双足机器人的仿真模型的获取方式,可以包括:
基于标准的格式文件,对所述双足机器人的关节耦合方式、运动学参数和动力学参数进行描述,获取所述双足机器人的仿真模型。
可选地,双足机器人的仿真模型可以使用标准的XML格式文件对双足机器人的关节耦合方式、运动学参数和动力学参数进行描述后得到。
具体地,建立标准XML格式文件对双足机器人的结构、关节电机参数及零件的重量惯量等参数进行描述,并引入建立好的强化学习仿真环境中。
本发明提供的基于强化学习的机器人步态训练方法,在无参考轨迹的前提下只需要单次强化学习就可以完成指定步态的运动训练,且只需要修改分别描述左右腿状态的目标二值函数就可以实现对目标步态的参数化精细控制,进而可以实现对大部分双足周期性步态的描述和训练。
进一步地,在一个实施例中,所述双足机器人的步态训练过程包括如下至少一种:
行走、跑、跳和站立。
本发明提供的基于强化学习的机器人步态训练方法,通过将步态中的足部特征进行分析,并用于总奖励的计算,使双足机器人在无参考轨迹的前提下可以通过单次强化学习训练就可以完成正确的行走、跑、跳和站立训练,且只需要修改分别描述双足触地状态的目标二值函数就可以实现对步态训练过程的参数化精细控制,降低对双足机器人结构的依赖,实现对行走、跑、跳和站立训练的描述和训练。
下面对本发明提供的基于强化学习的机器人步态训练系统进行描述,下文描述的基于强化学习的机器人步态训练系统与上文描述的基于强化学习的机器人步态训练方法可相互对应参照。
图2是本发明提供的基于强化学习的机器人步态训练系统的结构示意图,如图2所示,包括:
获取模块210,用于根据构建的双足机器人的仿真模型,获取所述双足机器人在步态训练过程中的各个时刻的状态;
训练模块211,用于执行至少一次第一训练过程,直至总奖励在最大值处收敛,所述总奖励根据执行每次第二训练过程获得的奖励确定;
其中,所述第一训练过程包括:
执行至少一次所述第二训练过程,直至所述第二训练过程的训练次数达到预设值或所述双足机器人的状态异常;
基于actor网络和critic网络分别对应的损失函数,更新所述actor网络和所述critic网络,所述损失函数根据所述总奖励确定;
所述第二训练过程包括:
向所述actor网络输入双足机器人在当前时刻的状态,获取所述actor网络输出的动作指令;
将所述actor网络输出的动作指令输入到所述双足机器人的仿真模型,获取所述双足机器人在下一时刻的状态;
将所述双足机器人的地面反馈力所对应的取模量在预设区间上进行尺度变换,获取尺度变换结果;
根据所述尺度变换结果和目标二值函数在所述下一时刻的值,获取线性步态观测奖励,所述目标二值函数是通过对所述双足机器人的步态训练过程的足部特征进行分析后,为所述双足机器人的双足分别建立的以相位为自变量,以触地状态为因变量的二值函数,所述相位与所述步态训练过程中的步态周期包括的各个时刻一一对应;
获取所述双足机器人在下一时刻的状态与所述双足机器人在所述下一时刻的预设状态之间的偏差;
根据所述线性步态观测奖励和所述偏差,获取执行一次所述第二训练过程的奖励。
本发明提供的基于强化学习的机器人步态训练系统,通过将步态中的足部特征进行分析,并用于总奖励的计算,使双足机器人在无参考轨迹的前提下可以通过单次强化学习训练就可以完成正确的步态训练,且只需要修改分别描述双足触地状态的目标二值函数就可以实现对步态训练过程的参数化精细控制,降低对双足机器人结构的依赖,实现对大部分双足周期性步态的描述和训练。
图3是本发明提供的一种电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(communication interface)311、存储器(memory)312和通信总线(bus)313,其中,处理器310,通信接口311,存储器312通过通信总线313完成相互间的通信。处理器310可以调用存储器312中的逻辑指令,以执行如下方法:
根据构建的双足机器人的仿真模型,获取所述双足机器人在步态训练过程中的各个时刻的状态;
执行至少一次第一训练过程,直至总奖励在最大值处收敛,所述总奖励根据执行每次第二训练过程获得的奖励确定;
其中,所述第一训练过程包括:
执行至少一次所述第二训练过程,直至所述第二训练过程的训练次数达到预设值或所述双足机器人的状态异常;
基于actor网络和critic网络分别对应的损失函数,更新所述actor网络和所述critic网络,所述损失函数根据所述总奖励确定;
所述第二训练过程包括:
向所述actor网络输入双足机器人在当前时刻的状态,获取所述actor网络输出的动作指令;
将所述actor网络输出的动作指令输入到所述双足机器人的仿真模型,获取所述双足机器人在下一时刻的状态;
将所述双足机器人的地面反馈力所对应的取模量在预设区间上进行尺度变换,获取尺度变换结果;
根据所述尺度变换结果和目标二值函数在所述下一时刻的值,获取线性步态观测奖励,所述目标二值函数是通过对所述双足机器人的步态训练过程的足部特征进行分析后,为所述双足机器人的双足分别建立的以相位为自变量,以触地状态为因变量的二值函数,所述相位与所述步态训练过程中的步态周期包括的各个时刻一一对应;
获取所述双足机器人在下一时刻的状态与所述双足机器人在所述下一时刻的预设状态之间的偏差;
根据所述线性步态观测奖励和所述偏差,获取执行一次所述第二训练过程的奖励。
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机电源屏(可以是个人计算机,服务器,或者网络电源屏等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
进一步地,本发明公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的基于强化学习的机器人步态训练方法,例如包括:
根据构建的双足机器人的仿真模型,获取所述双足机器人在步态训练过程中的各个时刻的状态;
执行至少一次第一训练过程,直至总奖励在最大值处收敛,所述总奖励根据执行每次第二训练过程获得的奖励确定;
其中,所述第一训练过程包括:
执行至少一次所述第二训练过程,直至所述第二训练过程的训练次数达到预设值或所述双足机器人的状态异常;
基于actor网络和critic网络分别对应的损失函数,更新所述actor网络和所述critic网络,所述损失函数根据所述总奖励确定;
所述第二训练过程包括:
向所述actor网络输入双足机器人在当前时刻的状态,获取所述actor网络输出的动作指令;
将所述actor网络输出的动作指令输入到所述双足机器人的仿真模型,获取所述双足机器人在下一时刻的状态;
将所述双足机器人的地面反馈力所对应的取模量在预设区间上进行尺度变换,获取尺度变换结果;
根据所述尺度变换结果和目标二值函数在所述下一时刻的值,获取线性步态观测奖励,所述目标二值函数是通过对所述双足机器人的步态训练过程的足部特征进行分析后,为所述双足机器人的双足分别建立的以相位为自变量,以触地状态为因变量的二值函数,所述相位与所述步态训练过程中的步态周期包括的各个时刻一一对应;
获取所述双足机器人在下一时刻的状态与所述双足机器人在所述下一时刻的预设状态之间的偏差;
根据所述线性步态观测奖励和所述偏差,获取执行一次所述第二训练过程的奖励。
另一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的基于强化学习的机器人步态训练方法,例如包括:
根据构建的双足机器人的仿真模型,获取所述双足机器人在步态训练过程中的各个时刻的状态;
执行至少一次第一训练过程,直至总奖励在最大值处收敛,所述总奖励根据执行每次第二训练过程获得的奖励确定;
其中,所述第一训练过程包括:
执行至少一次所述第二训练过程,直至所述第二训练过程的训练次数达到预设值或所述双足机器人的状态异常;
基于actor网络和critic网络分别对应的损失函数,更新所述actor网络和所述critic网络,所述损失函数根据所述总奖励确定;
所述第二训练过程包括:
向所述actor网络输入双足机器人在当前时刻的状态,获取所述actor网络输出的动作指令;
将所述actor网络输出的动作指令输入到所述双足机器人的仿真模型,获取所述双足机器人在下一时刻的状态;
将所述双足机器人的地面反馈力所对应的取模量在预设区间上进行尺度变换,获取尺度变换结果;
根据所述尺度变换结果和目标二值函数在所述下一时刻的值,获取线性步态观测奖励,所述目标二值函数是通过对所述双足机器人的步态训练过程的足部特征进行分析后,为所述双足机器人的双足分别建立的以相位为自变量,以触地状态为因变量的二值函数,所述相位与所述步态训练过程中的步态周期包括的各个时刻一一对应;
获取所述双足机器人在下一时刻的状态与所述双足机器人在所述下一时刻的预设状态之间的偏差;
根据所述线性步态观测奖励和所述偏差,获取执行一次所述第二训练过程的奖励。
以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机电源屏(可以是个人计算机,服务器,或者网络电源屏等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于强化学习的机器人步态训练方法,其特征在于,包括:
根据构建的双足机器人的仿真模型,获取所述双足机器人在步态训练过程中的各个时刻的状态;
执行至少一次第一训练过程,直至总奖励在最大值处收敛,所述总奖励根据执行每次第二训练过程获得的奖励确定;
其中,所述第一训练过程包括:
执行至少一次所述第二训练过程,直至所述第二训练过程的训练次数达到预设值或所述双足机器人的状态异常;
基于actor网络和critic网络分别对应的损失函数,更新所述actor网络和所述critic网络,所述损失函数根据所述总奖励确定;
所述第二训练过程包括:
向所述actor网络输入双足机器人在当前时刻的状态,获取所述actor网络输出的动作指令;
将所述actor网络输出的动作指令输入到所述双足机器人的仿真模型,获取所述双足机器人在下一时刻的状态;
将所述双足机器人的地面反馈力所对应的取模量在预设区间上进行尺度变换,获取尺度变换结果;
根据所述尺度变换结果和目标二值函数在所述下一时刻的值,获取线性步态观测奖励,所述目标二值函数是通过对所述双足机器人的步态训练过程的足部特征进行分析后,为所述双足机器人的双足分别建立的以相位为自变量,以触地状态为因变量的二值函数,所述相位与所述步态训练过程中的步态周期包括的各个时刻一一对应;
获取所述双足机器人在下一时刻的状态与所述双足机器人在所述下一时刻的预设状态之间的偏差;
根据所述线性步态观测奖励和所述偏差,获取执行一次所述第二训练过程的奖励。
2.根据权利要求1所述的基于强化学习的机器人步态训练方法,其特征在于,所述获取所述双足机器人在下一时刻的状态与所述双足机器人在所述下一时刻的预设状态之间的偏差,包括:
获取所述双足机器人在所述下一时刻的状态中的姿态、高度和速度;
获取所述双足机器人在所述下一时刻的预设状态中的目标姿态、目标高度和目标速度;
根据第一偏差、第二偏差和第三偏差,获取所述偏差,所述第一偏差为所述姿态与所述目标姿态之间的偏差,所述第二偏差为所述高度与所述目标高度之间的偏差,所述第三偏差为所述速度与所述目标速度之间的偏差。
3.根据权利要求1所述的基于强化学习的机器人步态训练方法,其特征在于,所述根据所述线性步态观测奖励和所述偏差,获取执行一次所述第二训练过程的奖励,包括:
对所述线性步态观测奖励在预设区间进行平滑处理,获取目标线性步态观测奖励;
对所述目标线性步态观测奖励和所述偏差进行加权求和,获取执行一次所述第二训练过程的奖励。
4.根据权利要求1所述的基于强化学习的机器人步态训练方法,其特征在于,所述双足机器人的仿真模型的获取方式,包括:
基于标准的格式文件,对所述双足机器人的关节耦合方式、运动学参数和动力学参数进行描述,获取所述双足机器人的仿真模型。
5.根据权利要求1-4任一项所述的基于强化学习的机器人步态训练方法,其特征在于,所述双足机器人的步态训练过程包括如下至少一种:
行走、跑、跳和站立。
6.根据权利要求1-4任一项所述的基于强化学习的机器人步态训练方法,其特征在于,所述预设值根据所述步态周期包括的时刻总数确定。
7.根据权利要求1-4任一项所述的基于强化学习的机器人步态训练方法,其特征在于,所述actor网络的连接层由一个50维度的输入全连接层、两个256维度的隐藏层和一个10维度的输出全连接层组成。
8.一种基于强化学习的机器人步态训练系统,其特征在于,包括:
获取模块,用于根据构建的双足机器人的仿真模型,获取所述双足机器人在步态训练过程中的各个时刻的状态;
训练模块,用于执行至少一次第一训练过程,直至总奖励在最大值处收敛,所述总奖励根据执行每次第二训练过程获得的奖励确定;
其中,所述第一训练过程包括:
执行至少一次所述第二训练过程,直至所述第二训练过程的训练次数达到预设值或所述双足机器人的状态异常;
基于actor网络和critic网络分别对应的损失函数,更新所述actor网络和所述critic网络,所述损失函数根据所述总奖励确定;
所述第二训练过程包括:
向所述actor网络输入双足机器人在当前时刻的状态,获取所述actor网络输出的动作指令;
将所述actor网络输出的动作指令输入到所述双足机器人的仿真模型,获取所述双足机器人在下一时刻的状态;
将所述双足机器人的地面反馈力所对应的取模量在预设区间上进行尺度变换,获取尺度变换结果;
根据所述尺度变换结果和目标二值函数在所述下一时刻的值,获取线性步态观测奖励,所述目标二值函数是通过对所述双足机器人的步态训练过程的足部特征进行分析后,为所述双足机器人的双足分别建立的以相位为自变量,以触地状态为因变量的二值函数,所述相位与所述步态训练过程中的步态周期包括的各个时刻一一对应;
获取所述双足机器人在下一时刻的状态与所述双足机器人在所述下一时刻的预设状态之间的偏差;
根据所述线性步态观测奖励和所述偏差,获取执行一次所述第二训练过程的奖励。
9.一种电子设备,包括处理器和存储有计算机程序的存储器,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述基于强化学习的机器人步态训练方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述基于强化学习的机器人步态训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311485992.7A CN117215204B (zh) | 2023-11-09 | 2023-11-09 | 基于强化学习的机器人步态训练方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311485992.7A CN117215204B (zh) | 2023-11-09 | 2023-11-09 | 基于强化学习的机器人步态训练方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117215204A true CN117215204A (zh) | 2023-12-12 |
CN117215204B CN117215204B (zh) | 2024-02-02 |
Family
ID=89037499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311485992.7A Active CN117215204B (zh) | 2023-11-09 | 2023-11-09 | 基于强化学习的机器人步态训练方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117215204B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117555339A (zh) * | 2024-01-11 | 2024-02-13 | 科大讯飞股份有限公司 | 策略网络训练方法及人形双足机器人步态控制方法 |
CN117572877A (zh) * | 2024-01-16 | 2024-02-20 | 科大讯飞股份有限公司 | 一种双足机器人步态控制方法、装置、存储介质及设备 |
CN117572877B (zh) * | 2024-01-16 | 2024-05-31 | 科大讯飞股份有限公司 | 一种双足机器人步态控制方法、装置、存储介质及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102122354A (zh) * | 2011-03-15 | 2011-07-13 | 上海交通大学 | 基于自适应特征块选择的步态识别方法 |
CN111898533A (zh) * | 2020-07-30 | 2020-11-06 | 中国计量大学 | 一种基于时空特征融合的步态分类方法 |
CN113821045A (zh) * | 2021-08-12 | 2021-12-21 | 浙江大学 | 一种腿足机器人强化学习动作生成系统 |
CN116203945A (zh) * | 2022-12-26 | 2023-06-02 | 西北工业大学 | 一种基于特权知识蒸馏的四足机器人运动规划方法 |
-
2023
- 2023-11-09 CN CN202311485992.7A patent/CN117215204B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102122354A (zh) * | 2011-03-15 | 2011-07-13 | 上海交通大学 | 基于自适应特征块选择的步态识别方法 |
CN111898533A (zh) * | 2020-07-30 | 2020-11-06 | 中国计量大学 | 一种基于时空特征融合的步态分类方法 |
CN113821045A (zh) * | 2021-08-12 | 2021-12-21 | 浙江大学 | 一种腿足机器人强化学习动作生成系统 |
CN116203945A (zh) * | 2022-12-26 | 2023-06-02 | 西北工业大学 | 一种基于特权知识蒸馏的四足机器人运动规划方法 |
Non-Patent Citations (3)
Title |
---|
WU, JIAXI ET AL.: "Learning Smooth and Omnidirectional Locomotion for Quadruped Robots", 2021 6TH IEEE INTERNATIONAL CONFERENCE ON ADVANCED ROBOTICS AND MECHATRONICS (ICARM 2021), pages 633 - 638 * |
于薇薇;C.SABOURIN;K.MADANI;闫杰;: "双足机器人在动态环境中步态规划研究", 计算机仿真, no. 04, pages 218 - 222 * |
姬瑞军;王明月;: "支持向量机在不同性别人群足底压力分析识别中的应用", 科技资讯, no. 24, pages 254 - 255 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117555339A (zh) * | 2024-01-11 | 2024-02-13 | 科大讯飞股份有限公司 | 策略网络训练方法及人形双足机器人步态控制方法 |
CN117555339B (zh) * | 2024-01-11 | 2024-04-26 | 科大讯飞股份有限公司 | 策略网络训练方法及人形双足机器人步态控制方法 |
CN117572877A (zh) * | 2024-01-16 | 2024-02-20 | 科大讯飞股份有限公司 | 一种双足机器人步态控制方法、装置、存储介质及设备 |
CN117572877B (zh) * | 2024-01-16 | 2024-05-31 | 科大讯飞股份有限公司 | 一种双足机器人步态控制方法、装置、存储介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN117215204B (zh) | 2024-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220212342A1 (en) | Predictive robotic controller apparatus and methods | |
Bianchi et al. | Transferring knowledge as heuristics in reinforcement learning: A case-based approach | |
US8996177B2 (en) | Robotic training apparatus and methods | |
CN117215204B (zh) | 基于强化学习的机器人步态训练方法及系统 | |
CN110764416A (zh) | 基于深度q网络的仿人机器人步态优化控制方法 | |
CN113821045B (zh) | 一种腿足机器人强化学习动作生成系统 | |
Li et al. | Fuzzy double deep Q-network-based gait pattern controller for humanoid robots | |
Singh et al. | Learning bipedal walking on planned footsteps for humanoid robots | |
Yuan et al. | Decoding motor skills of artificial intelligence and human policies: A study on humanoid and human balance control | |
Liu et al. | Workspace trajectory generation method for humanoid adaptive walking with dynamic motion primitives | |
Jamisola et al. | An approach to drastically reduce the required legs DOFs for bipedal robots and lower-limb exoskeletons | |
Lee et al. | Combining GRN modeling and demonstration-based programming for robot control | |
Jiang et al. | Motion sequence learning for robot walking based on pose optimization | |
Xie et al. | Online whole-stage gait planning method for biped robots based on improved Variable Spring-Loaded Inverted Pendulum with Finite-sized Foot (VSLIP-FF) model | |
CN117555339B (zh) | 策略网络训练方法及人形双足机器人步态控制方法 | |
Bhardwaj et al. | Fast Terminal Discrete-time Sliding Mode Control with Fuzzy-based Impedance Modulation for Toe Foot Bipedal Robot Going Upstairs | |
Hu et al. | Hybrid kinematic and dynamic simulation of running machines | |
CN117572877B (zh) | 一种双足机器人步态控制方法、装置、存储介质及设备 | |
Elara et al. | On the redefinition of fan out metric for human robot interactions with humanoid soccer robots | |
Tao et al. | A Multiobjective Collaborative Deep Reinforcement Learning Algorithm for Jumping Optimization of Bipedal Robot | |
Abe et al. | Simulating 2D gaits with a phase-indexed tracking controller | |
Ruud | Reinforcement learning with the TIAGo research robot: manipulator arm control with actor-critic reinforcement learning | |
Güldenstein | Footstep planning using reinforcement learning for humanoid robots | |
EP4234177A1 (en) | Methods for training a neural network and for using said neural network to stabilize a bipedal robot | |
Hirokawa et al. | Coaching to enhance the online behavior learning of a robotic agent |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |