一种基于层级强化学习的机器人双轴孔装配方法与流程

文档序号:23724192发布日期:2021-01-26 14:41阅读:来源:国知局

技术特征:
1.一种基于层级强化学习的机器人双轴孔装配方法,其特征在于,该方法分为训练阶段和实际装配阶段,包括以下步骤:1)训练阶段;具体步骤如下:1-1)预先确定层级强化学习方法的装配训练回合总数为l;设定双轴孔装配的目标深度为d,当机器人携带轴到达目标深度d时,一个回合结束;在双轴孔装配的一个回合中,按照时间顺序将该回合分为n个互不相同的装配阶段,则一个回合中装配阶段序号ω的取值范围为{1,2,3

n},ω的n种取值分别与装配过程n个互不相同的装配阶段一一对应;设定奖励函数r(s
t
),代表观测到环境状态s
t
时收获的奖励值;设定动作价值函数的学习率α
u
,终止函数的学习率α
β
,上层策略函数的学习率α
ω
,下层策略函数的学习率α
ω
和衰减率γ;1-2)设定机器人双轴孔装配的上层策略函数为π
ω

ω
|s
t
,ω,θ
ω
),下层策略函数为π
ω
(a
t
|s
t
,θ
ω
),选项终止函数为β
ω
(s
t
,θ
β
);其中上层策略的输入量为s
t
和ω,s
t
代表t时刻观测获得的环境状态,双轴孔装配中的环境状态包括机器人在该时刻的力和扭矩信息[f
x
,f
y
,f
z
,m
x
,m
y
,m
z
]以及以及该时刻轴的位置位姿信息[p
x
,p
y
,p
z
,o
x
,o
y
,o
z
],其中,f
x
,f
y
,f
z
分别为机器人在工作空间坐标系下受到的沿x,y,z轴正方向的力,m
x
,m
y
,m
z
分别为机器人在工作空间坐标系下受到的沿x,y,z轴正方向的扭矩,p
x
,p
y
,p
z
分别为轴末端点在工作空间坐标系下的沿x,y,z坐标轴的位置坐标,o
x
,o
y
,o
z
分别为轴线方向相对于x,y,z坐标轴的位置角;θ
ω
代表上层策略函数的参数;θ
ω
是上层策略函数的输出量,代表ω所对应装配阶段内的运动控制参数;下层策略函数的输入量为s
t
,输出量为a
t
,a
t
代表装配过程中t时刻的装配动作包括该时刻机器人在工作空间坐标系下分别绕x,y,z轴的三个旋转运动量和三个平移运动量上层策略函数的输出量θ
ω
是下层策略函数的参数;终止函数的输入量为s
t
,θ
β
是终止函数的参数,终止函数的输出值为取值{0,1}的判定结果,当终止函数的输出值等于1时代表双轴孔装配当前的装配阶段结束,当终止函数的输出值等于0时代表双轴孔装配当前的装配阶段未结束;对上层策略函数参数θ
ω
和终止函数参数θ
β
分别进行初始化;定义动作价值函数q
u
(s
t
,a
t
,ω|θ
q
),代表机器人在ω所对应装配阶段内,在状态s
t
时,执行动作a
t
时能够收到的奖励值,并对动作价值函数的参数θ
q
进行初始化;设定装配回合数l的初始值为1;1-3)在装配训练回合l开始时,机器人将轴运动到设定的初始位置,设定每个训练回合初始位置对应的时刻t=1,设定该回合中装配阶段序号ω的初始值为1;当l为第1个训练回合时,在t=1时刻,获取该时刻初始位置对应的s
t
并输入初始的上层策略函数π
ω

ω
|s
t
,ω,θ
ω
),该函数输出参数θ
ω
作为下层策略函数π
ω
(a
t
|s
t
,θ
ω
)的参数的θ
ω
的初始值;1-4)在装配训练回合l中的t时刻,获取观测环境状态s
t
,将s
t
输入当前终止函数β
ω
(s
t
,θ
β
)后,对当前终止函数的输出值进行判定:如果输出值为1,代表当前装配阶段终止,则更新ω

ω+1,然后进入步骤1-5);
如果输出值为0,代表当前装配阶段未终止,则进入步骤1-6),θ
ω
不更新;1-5)将s
t
输入当前上层策略函数π
ω

ω
|s
t
,θ
ω
),该函数输出更新后的当前下层策略函数的参数θ
ω
,然后进入步骤1-6);1-6)将s
t
输入当前下层策略函数π
ω
(a
t
|s
t
,θ
ω
),该函数输出t时刻机器人对应动作a
t
;然后令机器人执行动作a
t
,机器人携带轴抵达新的位置,得到t+1时刻的环境状态的状态s
t+1
;1-7)将s
t+1
输入当前奖励函数,该函数输出t+1时刻收获的奖励值r(s
t+1
),然后根据时间差分算法对当前动作价值函数q
u
(s
t
,a
t
,ω|θ
q
)的参数θ
q
进行更新,得到更新后的当前动作价值函数q
u
(s
t
,a
t
,ω|θ
q
):):其中,δ
t
表示t时刻的时序差分误差,a
t+1
表示在t+1时刻当前下层策略函数输出的动作;表示将s
t+1
输入当前下层策略函数π
ω
(a
t
|s
t
,θ
ω
)得到t+1时刻的动作a
t+1
;1-8)利用更新后的当前动作价值函数q
u
(s
t
,a
t
,ω|θ
q
)对当前上层策略函数和当前选项终止函数进行更新学习,更新参数θ
ω
和θ
β
,表达式如下:,表达式如下:其中,a
ω
(s
t+1
,ω)=q
ω
(s
t+1
,ω)-v
ω
(s
t+1
),q
ω
(s
t+1
,ω)=∑
a
π
ω
(a
t
|s
t
,θ
ω
)q
u
(s
t
,a
t
,ω|θ
q
),v
ω
(s
t+1
)=∑
ω
π
ω

ω
|s
t+1
,θ
ω
)q
ω
(s
t+1
,ω);θ
ω
和θ
β
更新后,分别得到更新后的当前上层策略函数和更新后的当前终止函数;1-9)根据s
t+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)在实际装配开始时,将作为终止函数β
ω
(s
t
,θ
β
)的参数,此时的终止函数记为将作为上层策略函数π
ω

ω
|s
t
,ω,θ
ω
)的参数,此时的上层策略函数记为
初始化t=1,ω=1;机器人携带轴运动到设定的初始位置,获取此时刻对应的环境状态并作为t时刻的环境状态s
t
;2-2)将s
t
输入上层策略函数该函数输出参数θ
ω
作为下层策略函数π
ω
(a
t
|s
t
,θ
ω
)的参数θ
ω
的初始值;2-3)将s
t
输入终止函数对该函数的输出值进行判定:如果输出值为1,代表当前装配阶段终止,则更新ω

ω+1,进入步骤2-4);如果输出值为0,代表当前装配阶段未终止,则进入步骤2-5),θ
ω
不更新;2-4)将s
t
输入上层策略函数该函数输出更新后的参数θ
ω
;2-5)将s
t
输入下层策略函数π
ω
(a
t
|s
t
,θ
ω
),该函数输出t时刻机器人对应动作a
t
;然后令机器人执行动作a
t
,携带轴抵达新的位置,更新环境状态为s
t+1
;2-6)根据s
t+1
,判断机器人携带轴是否到达了目标深度d:如果抵达目标深度d,则装配完成;如果未抵达目标深度d,则装配未完成,令t=t+1,然后重新返回步骤2-3)。
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1