一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于机器人技能学习的电连接器装配方法及系统

2022-06-05 13:25:39 来源:中国专利 TAG:


1.本发明涉及自动控制技术领域,具体为基于机器人技能学习的电连接器装配方法及系统。


背景技术:

2.本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
3.在利用机器人实现电连接器(如usb、hdmi等)的装配过程中,由于装配的连接器结构复杂、装配尺寸较为精密,导致装配过程受力多且复杂,在装配过程中容易出现零部件损坏及装配失败的问题。目前的装配机器人在纯位置控制、操作刚性较强的物体装配能力已经相对成熟,但是对于弱刚度、复杂构型零部件的装配能力相对较弱,难以应对电连接器等复杂结构的装配作业任务。
4.现有的机器人针对复杂零部件的装配方法大多基于对零部件的几何建模,建立精确的物理模型,根据几何模型及装配过程中的力/位信息,调整机械臂装配动作。然而基于物理模型的方法,需要机器人预先了解零部件的精确模型,此种方式很难实现。而基于数据模型的方法,又会出现奖励函数设置困难的问题。


技术实现要素:

5.为了解决上述背景技术中存在的技术问题,本发明提供基于机器人技能学习的电连接器装配方法及系统,采用基于数据驱动的策略,将外部传授与内部增强的方法相结合,配合专家数据信息,学习出最优的奖励函数,并采用强化学习的方法决策机器人下一步动作,避免了人工设置奖励函数的困难和零部件物理模型的构建,并且相比以往的ddpg算法(深度确定性策略梯度算法)做了优化,采用td3算法(双延迟深度确定性策略梯度算法),避免了调参数的困难。
6.为了实现上述目的,本发明采用如下技术方案:
7.本发明的第一个方面提供基于机器人技能学习的电连接器装配方法,包括以下步骤:
8.利用图像信息调整待装配电连接器处于初始位姿,基于初始位姿控制机器人携带待装配电连接器接触装配孔位,获取待装配电连接器与装配孔位的接触力大小的和电连接器落入装配孔位时的装配深度;
9.以机器人末端携带待装配电连接器的位姿和接触力作为已构建的机器人装配技能学习网络的输入值,机器人下一步动作的关节角度为输出值;
10.基于机器人装配技能学习网络中的奖励函数,判断待装配电连接器落入装配孔内的装配深度和接触力满足设定值时,电连接器装配完毕。
11.控制机器人携带待装配电连接器接触装配孔位后,执行轨迹搜索。
12.轨迹搜索的过程包括,机器人携带待装配电连接器依据正弦轨迹搜索装配孔位,
当待装配电连接器和装配孔位接触后的接触力小于设定值时,待装配电连接器落入装配孔内。
13.机器人装配技能学习网络的构建过程包括:
14.机器人预先经人工示教获取专家数据,专家数据包括机器人执行装配时每一步的状态和对应的动作信息;
15.利用机器人的状态与对应动作信息的特征基函数,和特征基函数对应的权重值,构建以预先示教后的专家数据为目标的奖励函数;
16.将奖励函数输入强化学习网络中训练网络,迭代至网络收敛。
17.当零部件装配深度增大,且机器人携带的待装配电连接器的末端接触力中的各个分量均小于设定的阈值时,奖励函数为正;当装配深度不变,且机器人携带的待装配电连接器的末端接触力中的各个分量均小于设定的阈值时,奖励函数为零;其余情况奖励函数为负值。
18.本发明的第二个方面提供实现上述方法的系统,包括:
19.分别与上位机模块连接的力检测模块、视觉检测模块和机械臂模块,力检测模块和视觉检测模块分别获取待装配电连接器的位姿信息和力信息,利用上位机模块中预先训练好的机器人装配技能学习网络控制机械臂模块执行装配动作。
20.本发明的第三个方面提供一种计算机可读存储介质。
21.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的基于机器人技能学习的电连接器装配方法中的步骤。
22.本发明的第四个方面提供一种计算机设备。
23.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的基于机器人技能学习的电连接器装配方法中的步骤。
24.与现有技术相比,以上一个或多个技术方案存在以下有益效果:
25.1、机器人携带待装配电连接器先接触装配孔位,经轨迹搜索后落入装配孔内,再利用预先构建的机器人装配技能学习网络,输出机械臂动作,控制待装配电连接器落入装配孔内的进给过程,最终完成电连接器的装配。
26.2、预先构建的机器人装配技能学习网络,以模仿学习与强化学习相结合的方式,从预先示教后的专家数据中以模仿学习的方式获得相适应的奖励函数,再将奖励函数输入强化学习网络中训练网络,直至网络收敛,相比传统强化学习方式,动态的奖励函数学习过程避免了奖励函数设置困难的问题。
27.3、机器人装配技能学习网络使得机器人能够适应不同种类的复杂装配对象,具有较好的泛化能力。
附图说明
28.构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
29.图1是本发明一个或多个实施例提供的装配系统结构示意图;
30.图2是本发明一个或多个实施例提供的装配方法流程示意图;
31.图3是本发明一个或多个实施例提供的装配方法中正弦搜索路径示意图;
32.图4是本发明一个或多个实施例提供的装配方法中的零部件结构示意图;
33.图5是本发明一个或多个实施例提供的装配方法中奖励函数学习过程示意图;
34.图6是本发明一个或多个实施例提供的装配过程中机器人装配技能学习网络示意图;
35.图7(a)-(c)是本发明一个或多个实施例提供的装配过程中零部件进给过程的侧视示意图。
具体实施方式
36.下面结合附图与实施例对本发明作进一步说明。
37.应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
38.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
39.正如背景技术中所描述的,目前,机器人针对复杂零部件(例如,usb、hdmi等电连接器)的装配方法大多基于对零部件的几何建模,建立精确的物理模型,根据几何模型及装配过程中的力/位信息,调整机械臂装配动作。然而基于物理模型的方法,需要机器人预先了解零部件的精确模型,此种方式很难实现。而基于数据模型的方法,又会出现奖励函数设置困难的问题。
40.因此,以下实施例给出了基于机器人技能学习的电连接器装配方法及系统,融合外部模仿学习与内部强化学习的机器人装配技能学习方法。该方法结合专家数据,训练生成相匹配的奖励函数,在搭建的装配环境中训练学习,输出机械臂的控制量,引导机械臂完成装配动作,获得装配技能。
41.实施例一:
42.如图2所示,基于机器人技能学习的电连接器装配方法,包括以下步骤:
43.基于待装配电连接器的图像信息确定机器人机械臂抓取插头的初始位姿;
44.基于正弦轨迹搜索插座孔位,当电连接器的插头和插座接触后的接触力小于设定值时,插头落入插座孔内,轨迹搜索完毕;
45.以机器人末端零部件的位姿和接触力作为已构建的机器人装配技能学习网络的输入值,机器人下一步动作的关节角度为输出值;
46.基于逆强化学习学习机器人装配技能学习网络中的奖励函数,不断迭代使网络逐渐收敛,并判断插头落入插座孔内的装配深度和接触力满足设定值时,电连接器装配成功;
47.其中,当零部件装配深度增大,且机器人末端零部件的接触力中的各个分量均小于设定的阈值时,奖励函数为正;当装配深度不变,且机器人末端零部件的接触力中的各个分量均小于设定的阈值时,奖励函数为零;其余情况奖励函数为负值。
48.以图4所示的零部件“插座”为例,举例说明装配方法的各步骤:
49.(1)初始化机械臂,对图像信息进行滤波,根据图像信息调整好装配对象位姿并采用笛卡尔空间位置控制到达插座上方后,首先执行搜索策略,插头与插座接触之后,通过正弦轨迹搜索孔位。其中x=v
x
·
t,y=a
·
sinωx,实时监测接触力,当接触力突然减小时,表明插头落入孔内,一次搜索完成;同时展开二次搜索,可适当调小上述x,y中的v
x
,a,ω等参数值,至搜索成功。正弦搜索路径及零部件插座示意图分别如图3和图4所示。
50.x,y分别表示机器人携带插头运动的方向,v
x
表示x轴方向运动速度,t表示运动时间,a表示y轴方向运动幅度,ω表示正弦运动的频率。
51.本实施例采取两次搜索由零部件的结构所决定,当一次搜索到插座的孔之后,插头可能会继续碰撞插座中心的连接片,如图4中的三维结构图,两次搜索之后才能继续执行插入进给动作。本实施采取的正弦搜索,搜索密度大、范围广,因此搜索效率高,可快速找到孔位。
52.(2)定义网络输入状态s
t
=(s
p
,s
τ
),其中s
p
=[x,y,z,α,β,γ],表示机械臂末端零部件的位姿;s
τ
=[f
x
,fy,fz,m
x
,my,mz]表示机械臂末端的接触力/力矩。
[0053]
(3)定义网络输出值δθ
t
=[δθ1,δθ2,δθ3,δθ4,δθ5,δθ6],式中δθ1,δθ2,δθ3,δθ4,δθ5,δθ6分别表示六轴机械臂下一步动作的关节角度。
[0054]
(4)构建机器人装配技能学习网络,如图6所示,具体步骤如下:
[0055]
1)给定一组提前示教好的专家数据d,专家数据是机器人预先经过人工示教电连接器插拔过程,期间记录下过程中的状态s和动作a的信息,数据中包含拔插时机器人每一步的状态和对应的动作(以关节角度的形式),例如当机器人需要六步执行完装配动作时,每一步的状态都对应着一组关节角度。具体如下:
[0056][0057]
τi={(s
i1
,a
i1
),(s
i2
,a
i2
),...,(s
i(n-1)
,a
i(n-1)
),s
in
};
[0058]
其中si=s
ti
,ai=δθ
ti

[0059]
假定奖励函数是与状态相关的几个特征基函数的线性组合:
[0060]
r(s
t
,a
t
)=α
·
f(s
t
,a
t
)
[0061]
其中,r是奖励函数,f是关于状态s
t
和动作a
t
的特征基函数,α是各项的权重。
[0062]
在t时刻,状态s
t
,动作a
t
的奖励函数应具备如下特征:当零部件装配深度增大,且s
τ
=[f
x
,fy,fz,m
x
,my,mz]中的各个分量均小于某个设定的阈值时,此时奖励函数为正;当装配深度不变,且s
τ
=[f
x
,fy,fz,m
x
,my,mz]中的各个分量均小于某个设定的阈值时,此时奖励函数为零;其余情况奖励函数为负值。需要注意,上述阈值没有具体范围,可根据连接器材质、刚度等灵活设置,主要目的为防止接触力过大损坏零部件。
[0063]
2)选择具有最高的总回报策略:
[0064][0065]
z(α)为对专家数据d中所有路径求和得到的配分函数。
[0066]
3)奖励函数中各项的权重α由下式x获得:
[0067]
[0068][0069]
其中,表示专家示教数据中的某一组轨迹,表示损失函数l对α的梯度,利用梯度变化可求解出最佳的权重α,由此,可计算出奖励函数中各项的权重α,并代入后续策略学习过程。奖励函数学习过程如图5所示。
[0070]
4)首先初始化3个网络q
φ1
、q
φ2
、μ
θ
,再初始化3个target网络q
φ1'
、q
φ2'
、μ
θ'
,并将开始的3个网络参数分别赋值给对应的target网络:φ1'

φ1,φ2'

φ2,θ'

θ。
[0071]
5)初始化经验池r。
[0072]
6)在状态s下,通过式x选择动作:
[0073]at
=μ
θ
(s) ε,ε~n(0,σ)
[0074]
其中ε用于产生随机噪声,机械臂执行动作a
t
,采用3)中获得的奖励函数得到奖励r,并进入下一状态s
t 1
,并且将(s
t
,a
t
,r
t
,s
t 1
)存放入经验池r中。
[0075]
7)从经验池中随机采样一组数据,迭代次数n

n 1,通过式x计算出s'状态下对应的动作a':
[0076]
a'~μ
θ'
(s') ε,ε~clip(n(0,σ'),-c,c)
[0077]
利用s',a',通过式x计算出targetq1,targetq2值,并获取min(targetq1,targetq2),作为s'的targetq值,如下:
[0078]
y(s,a)=r(s,a) γmin(q
φ1'
(s',μ
θ'
(s')),q
φ2'
(s',μ
θ'
(s')))
[0079]
8)critic中的targetq值每更新两次后,再更新actor中的两个q网络,使用同一个target:y(s,a),其目标是:
[0080][0081][0082]
其中td3算法,是属于actor-critic(演员-评论家)框架下的一种强化学习算法。actor表示动作,critic表示评价机制。
[0083]
使用梯度下降的方法更新参数,因此迭代公式为:
[0084][0085][0086]
9)如果n≠n,n为每个周期内的episode数目,返回7),否则继续执行。
[0087]
10)更新策略网络μθ:
[0088][0089]
11)利用polyak averaging算法(polyak平均算法),更新φ1',φ2',θ':
[0090]
φ1'

ρφ1' (1-ρ)φ1
[0091]
φ2'

ρφ2' (1-ρ)φ2
[0092]
θ'

ρθ' (1-ρ)θ
[0093]
式中ρ值一般取0.001。
[0094]
12)返回步骤2),直至所有的网络均收敛。
[0095]
(5)利用训练好的装配技能学习网络,可执行复杂零部件的装配任务,零部件装配进给过程侧视图如图7(a)-图7(c)所示。
[0096]
上述装配方法结合模仿学习与强化学习方法提供了一种解决机器人装配电连接器的方案;
[0097]
利用模仿学习的方法,从专家数据中学习合适的奖励函数,避免了奖励函数设置困难的问题;
[0098]
机器人装配技能的学习可以适应不同种类的复杂装配对象,具有较好的泛化能力。
[0099]
实施例二:
[0100]
本实施例提供了实现上述方法的系统,包括:
[0101]
分别与上位机模块连接的力检测模块、视觉检测模块和机械臂模块,力检测模块和视觉检测模块分别获取待装配电连接器的位姿信息和力信息,利用上位机模块中预先训练好的机器人装配技能学习网络控制机械臂模块执行装配动作。
[0102]
为了验证所提方法,本实施例搭建了装配系统,如图1所示。该机器人装配系统包括视觉检测、力检测、上位机和机械臂四个模块。该系统视觉检测模块借助rgb-d深度相机实时获取装配图像信息,力检测模块利用安装在机械臂末端的六维力传感器实时获取装配对象接触的力和力矩,上位机模块是将视觉和力觉采集的信息处理为机器人装配技能学习网络的输入,并训练装配技能获得网络,将网络输出的机械臂的动作作用于装配对象。机器人执行装配动作导致视觉和力状态发生改变,并被检测模块实时感知。
[0103]
实施例三
[0104]
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例一中提出的基于机器人技能学习的电连接器装配方法中的步骤。
[0105]
本实施例中的计算机程序所执行的基于机器人技能学习的电连接器装配方法中,利用预先构建的机器人装配技能学习网络,以模仿学习与强化学习相结合的方式,从专家数据中学习相适应的奖励函数,避免了奖励函数设置困难的问题。
[0106]
实施例四
[0107]
本实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述程序时实现如上述实施例一提出的基于机器
人技能学习的电连接器装配方法中的步骤。
[0108]
本实施例处理器执行的基于机器人技能学习的电连接器装配方法中,利用预先构建的机器人装配技能学习网络,以模仿学习与强化学习相结合的方式,从专家数据中学习相适应的奖励函数,避免了奖励函数设置困难的问题。
[0109]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0110]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0111]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0112]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0113]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
[0114]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献