[发明专利]一种基于层级强化学习的机器人双轴孔装配方法有效
申请号: | 202011107036.1 | 申请日: | 2020-10-16 |
公开(公告)号: | CN112264995B | 公开(公告)日: | 2021-11-16 |
发明(设计)人: | 徐静;杨文昊;侯志民 | 申请(专利权)人: | 清华大学 |
主分类号: | B25J9/16 | 分类号: | B25J9/16;G06N20/00 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 廖元秋 |
地址: | 100084*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 层级 强化 学习 机器人 双轴孔 装配 方法 | ||
1.一种基于层级强化学习的机器人双轴孔装配方法,其特征在于,该方法分为训练阶段和实际装配阶段,包括以下步骤:
1)训练阶段;具体步骤如下:
1-1)预先确定层级强化学习方法的装配训练回合总数为L;设定双轴孔装配的目标深度为D,当机器人携带轴到达目标深度D时,一个回合结束;
在双轴孔装配的一个回合中,按照时间顺序将该回合分为n个互不相同的装配阶段,则一个回合中装配阶段序号ω的取值范围为{1,2,3…n},ω的n种取值分别与装配过程n个互不相同的装配阶段一一对应;
设定奖励函数r(st),代表观测到环境状态st时收获的奖励值;设定动作价值函数的学习率αu,终止函数的学习率αβ,上层策略函数的学习率αΩ,下层策略函数的学习率αω和衰减率γ;
1-2)设定机器人双轴孔装配的上层策略函数为πΩ(θω|st,ω,θΩ),下层策略函数为πω(at|st,θω),终止函数为βω(st,θβ);
其中上层策略函数的输入量为st和ω,st代表t时刻观测获得的环境状态,双轴孔装配中的环境状态包括机器人在该时刻的力和扭矩信息[Fx,Fy,Fz,Mx,My,Mz]以及该时刻轴的位置位姿信息[Px,Py,Pz,Ox,Oy,Oz],其中,Fx,Fy,Fz分别为机器人在工作空间坐标系下受到的沿x,y,z轴正方向的力,Mx,My,Mz分别为机器人在工作空间坐标系下受到的沿x,y,z轴正方向的扭矩,Px,Py,Pz分别为轴末端点在工作空间坐标系下的沿x,y,z坐标轴的位置坐标,Ox,Oy,Oz分别为轴线方向相对于x,y,z坐标轴的位置角;θΩ代表上层策略函数的参数;θω是上层策略函数的输出量,代表ω所对应装配阶段内的运动控制参数;
下层策略函数的输入量为st,输出量为at,at代表装配过程中t时刻的装配动作包括该时刻机器人在工作空间坐标系下分别绕x,y,z轴的三个旋转运动量和三个平移运动量上层策略函数的输出量θω是下层策略函数的参数;
终止函数的输入量为st,θβ是终止函数的参数,终止函数的输出值为取值{0,1}的判定结果,当终止函数的输出值等于1时代表双轴孔装配当前的装配阶段结束,当终止函数的输出值等于0时代表双轴孔装配当前的装配阶段未结束;
对上层策略函数参数θΩ和终止函数参数θβ分别进行初始化;
定义动作价值函数QU(st,at,ω|θQ),代表机器人在ω所对应装配阶段内,在状态st时,执行动作at时能够收到的奖励值,并对动作价值函数的参数θQ进行初始化;
设定装配训练回合数l的初始值为1;
1-3)在装配训练回合l开始时,机器人将轴运动到设定的初始位置,设定每个训练回合初始位置对应的时刻t=1,设定该回合中装配阶段序号ω的初始值为1;在第1个训练回合的t=1时刻,获取该时刻初始位置对应的st并输入初始的上层策略函数πΩ(θω|st,ω,θΩ),该函数输出参数θω作为下层策略函数πω(at|st,θω)的参数的θω的初始值;
1-4)在装配训练回合l中的t时刻,获取观测环境状态st,将st输入当前终止函数βω(st,θβ)后,对当前终止函数的输出值进行判定:
如果输出值为1,代表当前装配阶段终止,则更新ω←ω+1,然后进入步骤1-5);
如果输出值为0,代表当前装配阶段未终止,则进入步骤1-6),θω不更新;
1-5)将st输入当前上层策略函数πΩ(θω|st,θΩ),该函数输出更新后的当前下层策略函数的参数θω,然后进入步骤1-6);
1-6)将st输入当前下层策略函数πω(at|st,θω),该函数输出t时刻机器人对应动作at;然后令机器人执行动作at,机器人携带轴抵达新的位置,得到t+1时刻的环境状态的状态st+1;
1-7)将st+1输入当前奖励函数,该函数输出t+1时刻收获的奖励值r(st+1),然后根据时间差分算法对当前动作价值函数QU(st,at,ω|θQ)的参数θQ进行更新,得到更新后的当前动作价值函数QU(st,at,ω|θQ):
其中,δt表示t时刻的时序差分误差,at+1表示在t+1时刻当前下层策略函数输出的动作;表示将st+1输入当前下层策略函数πω(at|st,θω)得到t+1时刻的动作at+1;
1-8)利用更新后的当前动作价值函数QU(st,at,ω|θQ)对当前上层策略函数和当前终止函数进行更新学习,更新参数θΩ和θβ,表达式如下:
其中,
AΩ(st+1,ω)=QΩ(st+1,ω)-VΩ(st+1),
QΩ(st+1,ω)=∑aπω(at|st,θω)QU(st,at,ω|θQ),
VΩ(st+1)=∑ωπΩ(θω|st+1,ω,θΩ)QΩ(st+1,ω);
θΩ和θβ更新后,分别得到更新后的当前上层策略函数和更新后的当前终止函数;
1-9)根据st+1,判断机器人携带轴是否到达了指定的目标深度D:
如果抵达目标深度D,则当前装配训练回合l终止,执行步骤1-10);
如果未抵达目标深度D,则当前装配训练回合l未终止,令t=t+1,然后重新返回步骤1-4);
1-10)判断装配训练的回合数l是否到达设定的装配训练回合总数L:
如果l≥L,则训练阶段结束,最终获得的训练完毕上层策略函数参数θΩ和终止函数参数θβ分别记为和然后进入步骤2);
如果l<L,则更新装配训练的回合数l←l+1,然后重新返回步骤1-3);
2)实际装配阶段;具体步骤如下:
2-1)在实际装配开始时,将作为终止函数βω(st,θβ)的参数,此时的终止函数记为将作为上层策略函数πΩ(θω|st,ω,θΩ)的参数,此时的上层策略函数记为
初始化t=1,ω=1;机器人携带轴运动到设定的初始位置,获取此时刻对应的环境状态并作为t时刻的环境状态st;
2-2)将st输入上层策略函数该函数输出参数θω作为下层策略函数πω(at|st,θω)的参数θω的初始值;
2-3)将st输入终止函数对该函数的输出值进行判定:
如果输出值为1,代表当前装配阶段终止,则更新ω←ω+1,进入步骤2-4);如果输出值为0,代表当前装配阶段未终止,则进入步骤2-5),θω不更新;
2-4)将st输入上层策略函数该函数输出更新后的参数θω;
2-5)将st输入下层策略函数πω(at|st,θω),该函数输出t时刻机器人对应动作at;然后令机器人执行动作at,携带轴抵达新的位置,更新环境状态为st+1;
2-6)根据st+1,判断机器人携带轴是否到达了目标深度D:
如果抵达目标深度D,则装配完成;如果未抵达目标深度D,则装配未完成,令t=t+1,然后重新返回步骤2-3)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011107036.1/1.html,转载请声明来源钻瓜专利网。