四足机器人多重技能运动控制方法、系统及介质
文献发布时间:2023-06-19 11:49:09
技术领域
本发明属于机器人技术领域,具体涉及四足机器人多重技能运动控制方法、系统及介质。
背景技术
自然界中,动物与人类能够学会并执行非常复杂的动作,这是因为动物与人类能够把复杂的动作拆分成复数个基本的简单动作,并对简单动作进行学习,最终将不同的简单动作重新组合生成更为复杂的动作。
适应未知与复杂的真实环境是机器人成功在野外运作的关键。真实环境复杂多变,若想成功在真实环境中运行,机器人得学会不同的技能,并根据场景变化选择性的执行。但现有方法中机器人只学习一个神经网络,而一个神经网络只能学习到一种技能,因此现有机器人的学习方法不适合真实环境的学习。
发明内容
针对现有技术中的缺陷,本发明提供一种四足机器人多重技能运动控制方法、系统及介质,能够训练四足机器人完成多重运动技能。
第一方面,一种四足机器人多重技能运动控制方法,包括以下步骤:
设置奖励机制;
构建多专家神经网络;所述多专家神经网络包括一个顶层网络和至少两个底层网络,其中底层网络用于进行四足机器人不同运动技能的学习,顶层网络用于进行根据不同实际场景选择不同运动技能的学习;
在四足机器人运行过程中,顶层网络对所有底层网络的权重与偏置进行融合,得到融合神经网络,融合神经网络输出目标关节角度;
将融合神经网络输出的目标关节角度传输给PD控制器,转换成目标关节力矩,将所述目标关节力矩作为最终控制指令,发送给四足机器人中关节的电机。
优选地,所述奖励机制包括以下奖励:四足行走奖励、摔倒恢复奖励与协同奖励。
优选地,所述奖励由独立的奖励项进行加权平均得到;
其中奖励项通过径向基函数
优选地,所述奖励项包括:
躯体姿态r
优选地,所述底层网络的学习方法包括以下步骤:
进行初步学习:利用所述四足行走奖励和所述摔倒恢复奖励单独学习预设的摔倒恢复策略与四足行走策略,得到初步学习神经网络;
进行协同学习:将初步学习神经网络的权重迁移给底层网络,利用协同奖励对该底层网络进行学习。
优选地,所述顶层网络对所有底层网络的权重与偏置进行融合,得到融合神经网络具体包括:
以顶层网络输出为权重g,利用权重g对底层网络的权重和偏置进行融合,得到融合权重、融合偏置以及融合神经网络。
优选地,所述将融合神经网络输出的目标关节角度传输给PD控制器具体包括:
设置目标关节角度的幅值上限和频率上限;
当所述目标关节角度中存在幅值超过幅值上限的幅值变化量时,去掉该幅值变化量;
当所述目标关节角度中存在频率超过频率上限的频率变化量时,利用低通滤波器去掉该频率变化量;
将过滤后的目标关节角度传输给PD控制器。
第二方面,一种四足机器人多重技能运动控制系统,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行以下方法:
设置奖励机制;
构建多专家神经网络;所述多专家神经网络包括一个顶层网络和至少两个底层网络,其中底层网络用于进行四足机器人不同运动技能的学习,顶层网络用于进行根据不同实际场景选择不同运动技能的学习;
在四足机器人运行过程中,顶层网络对所有底层网络的权重与偏置进行融合,得到融合神经网络,融合神经网络输出目标关节角度;
将融合神经网络输出的目标关节角度传输给PD控制器,转换成目标关节力矩,将所述目标关节力矩作为最终控制指令,发送给四足机器人中关节的电机。
优选地,所述将融合神经网络输出的目标关节角度传输给PD控制器具体包括:
设置目标关节角度的幅值上限和频率上限;
当所述目标关节角度中存在幅值超过幅值上限的幅值变化量时,去掉该幅值变化量;
当所述目标关节角度中存在频率超过频率上限的频率变化量时,利用低通滤波器去掉该频率变化量;
将过滤后的目标关节角度传输给PD控制器。
第三方面,一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行以下方法:
设置奖励机制;
构建多专家神经网络;所述多专家神经网络包括一个顶层网络和至少两个底层网络,其中底层网络用于进行四足机器人不同运动技能的学习,顶层网络用于进行根据不同实际场景选择不同运动技能的学习;
在四足机器人运行过程中,顶层网络对所有底层网络的权重与偏置进行融合,得到融合神经网络,融合神经网络输出目标关节角度;
将融合神经网络输出的目标关节角度传输给PD控制器,转换成目标关节力矩,将所述目标关节力矩作为最终控制指令,发送给四足机器人中关节的电机。
由上述技术方案可知,本发明提供的基于多专家神经网络的四足机器人的多重技能运动控制方法、系统及方法,设置了奖励机制,构建了多专家神经网络结构,每个底层网络专门学习特定的运动技能,通过顶层网络在不同底层网络之间进行连续切换,实现机器人在多种运动技能之间的切换,训练四足机器人完成多重运动技能。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
图1为本发明实施例一提供的四足机器人的多重技能运动控制方法的原理图。
图2为本发明实施例一提供的分步递进式训练的原理图。
图3为本发明实施例一提供的多专家神经网络的示意图。
具体实施方式
下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
实施例一:
一种四足机器人的多重技能运动控制方法,参见图1,包括以下步骤:
设置奖励机制;
构建多专家神经网络;所述多专家神经网络包括一个顶层网络和至少两个底层网络,其中底层网络用于进行四足机器人不同运动技能的学习,顶层网络用于进行根据不同实际场景选择不同运动技能的学习;与常规的多专家神经网络融合底层网络输出的方式不同,该多专家神经网络对底层网络的权重与偏置进行融合;
在四足机器人运行过程中,顶层网络对所有底层网络的权重与偏置进行融合,得到融合神经网络,融合神经网络输出目标关节角度;
将融合神经网络输出的目标关节角度传输给PD控制器,转换成目标关节力矩,将所述目标关节力矩作为最终控制指令,发送给四足机器人中关节的电机。
具体地,该方法采用的学习方法为强化学习方法,该方法可以采用任意Actor-Critic强化学习算法进行学习,例如Soft Actor Critic,Proximal PolicyOptimization,Trust Region Policy Optimization,Deep Deterministic PolicyGradient。
该方法设置了奖励机制,构建了多专家神经网络结构,每个底层网络专门学习特定的运动技能。顶层网络根据实时反馈数据,对底层网络的权重与偏置进行融合,生成融合神经网络。融合神经网络输出目标关节角度,PD控制器再将所述目标关节角度转换成目标关节力矩。通过顶层网络在不同底层网络之间进行融合,实现机器人在多种运动技能之间的切换,训练四足机器人完成多重运动技能。
所述奖励机制包括以下奖励:四足行走奖励、摔倒恢复奖励与协同奖励。奖励设计的好坏会影响到最终效果。
优选地,所述奖励由独立的奖励项进行加权平均得到;
其中奖励项通过径向基函数
具体地,目标量与真实量之间的差距越小,利用径向基函数所算出的奖励项越大。α越低,径向基函数分布越宽。α越高,径向基函数分步越窄。α由具体场景决定。
其中,所述奖励项包括:
躯体姿态r
躯体高度r
躯体速度r
关节力矩r
关节速度r
足部地面接触r
躯体地面接触r
偏航角速度r
腿部摆动与支撑r
目标关节位置r
目标足部接触r
足部放置位置r
机器人朝向r
机器人目标位置r
具体地,不同的任务与场景需要针对性地设计奖励,并使用到不同的奖励项。奖励项的权重w
四足行走奖励由上述前12个奖励项构成,具体表示为:
摔倒恢复奖励由上述前7个奖励项构成,具体表示为:
w
协同奖励由上述所有14个奖励项构成,具体表示为:
上式中,w
优选地,所述底层网络的学习方法包括以下步骤:
进行初步学习:利用所述四足行走奖励和所述摔倒恢复奖励单独学习预设的摔倒恢复策略与四足行走策略,得到初步学习神经网络;
进行协同学习:将初步学习神经网络的权重迁移给底层网络,利用协同奖励对该底层网络进行学习。
具体地,该方法底层网络的学习方式为分步递进式训练,参见图2,包含第一步的初步学习和第二步的协同学习。初步学习分别训练四足行走策略和摔倒回复两种策略,训练用到的奖励项为四足行走奖励与摔倒恢复奖励。协同学习利用第一步训练得到的单一神经网络初始化多专家神经网络,最终进行协同训练。即将第一步训练出来的神经网络权重复制到多专家神经网络中的8个底层网络中,用于将第一步所学到的知识迁移到多专家神经网络。第二步协同训练用到的奖励为协同奖励,从而实现先学习简单的单一运动技能,再学习复杂的多运动技能结合,提升学习效果。
优选地,所述顶层网络对所有底层网络的权重与偏置进行融合,得到融合神经网络具体包括:
以顶层网络输出为权重g,利用权重g对底层网络的权重和偏置进行融合,得到融合权重、融合偏置以及融合神经网络。
具体地,本实施例采用图3的多专家神经网络进行举例说明,顶层网络和底层网络的层数可根据具体自行设置。本实施例以3层神经网络层数作为案例进行描述。
所述顶层网络表述为:
g=Φ
每个底层网络都有自己独立的权重和偏置。底层网络数量n需根据机器人、任务与应用场景进行设计,本实施例中以8个底层网络作为案例进行描述。第n个底层网络表述为:
其中W
融合时以顶层网络输出为权重g,对底层网络的网络权重和偏置W
机器人在运行时,顶层网络通过对本实施例中的8个底层神经网络进行融合,以实现不同四足运动技能之间的融合。该方法融合的是底层网络的权重与偏置。融合过程是一个加权平均过程,即通过加权平均的方法,以顶层网络输出为权重g对底层网络的网络权重与偏置进行融合。融合网络表示为:
。融合网络的输出值为目标关节角度。
优选地,所述将融合神经网络输出的目标关节角度传输给PD控制器具体包括:
设置目标关节角度的幅值上限和频率上限;
当所述目标关节角度中存在幅值超过幅值上限的幅值变化量时,去掉该幅值变化量;
当所述目标关节角度中存在频率超过频率上限的频率变化量时,利用低通滤波器去掉该频率变化量。
将过滤后的目标关节角度传输给PD控制器。
具体地,现实环境中因电机控制带宽、通讯延迟等因素,要求输出的控制指令的频率不能太高,否则电机无法很好地响应控制指令。所以该方法为了防止神经网络输出出现突变,给输出的变化量设置上限,超出上限的变化量将被截取掉。公式如下:
其中Δp为目标值跟当前测定值之间的差,ε与-ε为差值的上限与下限。Δp
该方法为了剔除输出中的高频变化成分,使用了一阶低通滤波,截止频率为5Hz,这样就能防止输出出现剧变,使得动作整体更加平滑柔顺。
实施例二:
一种基于多专家神经网络的机器人运动控制系统,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行以下方法:
设置奖励机制;
构建多专家神经网络;所述多专家神经网络包括一个顶层网络和至少两个底层网络,其中底层网络用于进行四足机器人不同运动技能的学习,顶层网络用于进行根据不同实际场景选择不同运动技能的学习;
在四足机器人运行过程中,顶层网络对所有底层网络的权重与偏置进行融合,得到融合神经网络,融合神经网络输出目标关节角度;
将融合神经网络输出的目标关节角度传输给PD控制器,转换成目标关节力矩,将所述目标关节力矩作为最终控制指令,发送给四足机器人中关节的电机。
优选地,所述将融合神经网络输出的目标关节角度传输给PD控制器具体包括:
设置目标关节角度的幅值上限和频率上限;
当所述目标关节角度中存在幅值超过幅值上限的幅值变化量时,去掉该幅值变化量;
当所述目标关节角度中存在频率超过频率上限的频率变化量时,利用低通滤波器去掉该频率变化量。
将过滤后的目标关节角度传输给PD控制器。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
本发明实施例所提供的系统,为简要描述,实施例部分未提及之处,可参考前述方法实施例中相应内容。
实施例三:
一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行以下方法:
设置奖励机制;
构建多专家神经网络;所述多专家神经网络包括一个顶层网络和至少两个底层网络,其中底层网络用于进行四足机器人不同运动技能的学习,顶层网络用于进行根据不同实际场景选择不同运动技能的学习;
在四足机器人运行过程中,顶层网络对所有底层网络的权重与偏置进行融合,得到融合神经网络,融合神经网络输出目标关节角度;
将融合神经网络输出的目标关节角度传输给PD控制器,转换成目标关节力矩,将所述目标关节力矩作为最终控制指令,发送给四足机器人中关节的电机。
所述计算机可读存储介质可以是前述任一实施例所述的终端的内部存储单元,例如终端的硬盘或内存。所述计算机可读存储介质也可以是所述终端的外部存储设备,例如所述终端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述终端的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述终端所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本发明实施例所提供的介质,为简要描述,实施例部分未提及之处,可参考前述方法实施例中相应内容。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
- 四足机器人多重技能运动控制方法、系统及介质
- 四足机器人步态控制方法、四足机器人以及计算机可读存储介质