本公开涉及机器装配技术领域,特别是涉及一种基于多模信息描述的柔性装配系统及方法。
背景技术:
在工业生产的复杂作业过程中,装配工艺是比较复杂的,人的视觉、触觉等感觉通过大脑智慧的引导,在装配过程中得到了充分发挥。在机器人装配过程中,单一的图像模态信息不能完全表达装配作业的动态过程,且当装配对象相互接触时,出现目标遮挡问题。
针对单一模态信息对装配过程表达能力不足的问题,亟需结合视觉、力觉以及机械臂自身的参数信息构建一套智能柔性装配系统。
技术实现要素:
为了解决现有技术的不足,本公开的实施例子提供了一种基于多模信息描述的柔性装配系统,能够实现视觉引导粗定位和力觉调姿精装配。
为了实现上述目的,本申请采用以下技术方案:
一种基于多模信息描述的柔性装配方法,包括:
在机械臂末端零部件与待装配零部件未接触阶段,通过视觉引导将机械臂快速定位在目标位置附近,实现视觉引导粗定位;
当机械臂末端零部件与待装配零部件接触后,借助力觉信息和机械臂自身的参数,形成装配状态的多模信息描述,基于深度强化学习方法进行姿态调整,实现装配零部件的力觉感知精装配。
进一步的技术方案,在机械臂末端零部件与待装配零部件未接触阶段,通过相机采集装配零部件的图像,进行图像特征提取并进行目标位姿解算,根据解算的位姿引导机械臂至装配零部件附近。
进一步的技术方案,根据机械臂末端夹具上的上力传感器信息判断机械臂末端零部件与待装配零部件是否接触。
进一步的技术方案,通过机械臂的关节传感器采集装配过程中的关节角度及角速度,并根据机械臂正运动学解算出末端执行器位姿,以及装配零部件接触时的力/力矩信息,构建包含关节角度及角速度、位姿、力/力矩信息的装配状态矩阵。
进一步的技术方案,将装配状态矩阵输入到已经训练好的深度强化学习模型进行姿态调整,其中,建立深度强化学习模型,包括:
构建基于深度强化学习的网络模型,策略网络和q值网络结构均采用三层全连接网络,激活函数设为sigmoid函数;
建立装配质量评价回报函数;
训练建立好的网络模型,在训练建立好的网络模型时,基于装配质量评价回报函数,采用反向传播算法求解当前策略网络的梯度,获得状态-动作q值;
测试训练好的网络模型,根据当前装配状态进行机械臂动作调整,直至装配成功;
保存网络模型。
进一步的技术方案,所述装配质量评价回报函数
其中,fz为z轴受力,f0为阻尼阈值,l为装配深度,z0为初始位置距装配目标表面的距离,z表示z轴上的位移距离;
则t时间段内的累积回报为
γi-1表示折扣因子,st表示t时刻的状态,at表示t时刻机械臂将要执行的动作,rt(st,at)表示在t时刻机械臂得到的即时奖励。
进一步的技术方案,训练建立好的网络模型,训练流程:
(1)初始化网络参数,包括训练幕数episodes、折扣率γ,学习率σ;
(2)建立数据缓存区d作为装配状态经验池,根据行为策略β,将动作的决策机制引入随机噪声,从确定性过程转变为随机噪声,再从随机过程中选择执行at,返回回报值r和新的状态st+1,存储状态转换的过程{st,at,rt,st+1}至经验池中;
(3)从经验池中随机采样作为当前策略网络的训练样本四元组{si,ai,ri,si+1};
(4)采用反向传播算法求解当前策略网络的梯度,状态-动作q值为:
qμ(st,at)=e[r(st,at)+γqμ(st+1,μ(st+1))]
其中,μ表示经过训练后得到的最优策略;γ是折扣因子,qμ(st,at)表示t时刻在策略μ下机械臂选择执行动作at后的长期累积奖励,qμ(st+1,μ(st+1)表示下一时刻即t+1的长期累积奖励。
设q网络的损失函数为
其中,网络预测输出值yi=ri+γq'(si+1,μ'(si+1|θμ')|θq'),n表示经验池中四元组的数目,q(si,ai|θq)表示i状态下的状态-动作值网络,θq表示q值网络的参数;
(5)采用adam优化器更新当前策略网络μ(s|θμ)的参数θμ;
(6)采用蒙特卡罗方法计算策略网络的梯度;
(7)更新策略网络参数θμ;
(8)目标网络参数更新方法;
θq'←τθq+(1-τ)θq'
θμ'←τθμ+(1-τ)θμ'
θq′,θμ′是迭代更新后的参数,τ通常取0.001。
进一步的技术方案,测试训练好的网络模型,包括:
(1)随机设定当前装配状态;
(2)获得当前状态参数矩阵s;
(3)输入到已训练好的网络模型,输出机械臂动作值;
(4)若装配成功则结束,若装配不成功,返回(2),继续根据当前装配状态进行机械臂动作调整。
进一步的技术方案,将装配状态矩阵输入到已经训练好的深度强化学习模型,机械臂的进行姿态动作调整,直至装配结束。
本公开实施例子还公开了一种基于多模信息描述的柔性装配系统,包括:
视觉引导粗定位单元,在机械臂末端零部件与待装配零部件未接触阶段,通过视觉引导将机械臂快速定位在目标位置附近;
力觉调姿精装配单元,当机械臂末端零部件与待装配零部件接触后,借助力觉信息和机械臂自身的参数,形成装配状态的多模信息描述,基于深度强化学习方法进行姿态调整,实现装配零部件的装配。
本公开实施例子还公开了一种机器人,包括机械臂,所述机械臂被配置为执行视觉引导粗定位步骤及力觉调姿精装配步骤;
其中,视觉引导粗定位步骤:在机械臂末端零部件与待装配零部件未接触阶段,通过视觉引导将机械臂快速定位在目标位置附近,实现视觉引导粗定位;
力觉调姿精装配步骤:当机械臂末端零部件与待装配零部件接触后,借助力觉信息和机械臂自身的参数,形成装配状态的多模信息描述,基于深度强化学习方法进行姿态调整,实现装配零部件的力觉调姿精装配。
与现有技术相比,本公开的有益效果是:
本公开的实施例子模拟人的装配作业过程,结合视觉、力觉以及机械臂自身的参数信息构建一套智能柔性装配系统。
本公开的智能柔性装配系统包括视觉引导粗定位和力觉调姿精装配两个装配阶段,如图一所示。首先在装配零部件未接触阶段,通过视觉引导快速定位在目标位置附近,然后当装配零部件接触后,借助力觉信息和机械臂自身的参数,形成装配状态的多模信息描述,基于深度强化学习方法进行姿态调整,最终实现装配。
本公开的实施例子有效解决人工效率不高等问题;机械臂主动适应环境的变化;采用视觉图像、力/力矩信息和机械臂参数等多模信息完整描述装配过程。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1为本公开一个或一些实施例子的智能柔性装配系统图;
图2为本公开一个或一些实施例子的柔性装配系统流程图;
图3为本公开一个或一些实施例子的力觉调姿精装配算法流程图;
图4为本公开一个或一些实施例子的深度强化学习算法训练流程图;
图5为本公开一个或一些实施例子的行为策略β流程图。
具体实施方式
应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
本申请的一种典型的实施方式中,如图1所示,提供了一种基于多模信息描述的柔性装配方法,包括视觉引导粗定位和力觉调姿精装配两个装配阶段,首先在装配零部件未接触阶段,通过视觉引导快速定位在目标位置附近,然后当装配零部件接触后,借助力觉信息和机械臂自身的参数,形成装配状态的多模信息描述,基于深度强化学习方法进行姿态调整,最终实现装配。
一种基于多模信息描述的柔性装配方法流程图如图2所示,具体步骤如下,包括:
步骤1、当机械臂末端零部件与待装配零部件未接触时,通过视觉引导快速使机械臂定位在装配零部件附近;
步骤2、到达装配零部件附近后,机械臂慢速向下移动;
步骤3、根据末端夹具上的力传感器信息判断装配零部件是否接触,若未接触,返回步骤2,若接触进入力觉调姿精装配阶段,如图3所示,其中机械臂的动作调整集合包括绕x,y,z轴方向的调整,分别通过关节和阻抗来实现。关节控制是通过机械臂的正逆运动学来实现的,阻抗控制是通过调节阻抗系数的大小来实现的;
步骤4、获取多模信息,通过机械臂的关节传感器采集装配过程中的关节角度及角速度,并根据机械臂正运动学解算出末端执行器位姿(x,y,z,αx,βy,ηz),装配零部件接触时的力/力矩信息(fx,fy,fz,τx,τy,τz),构建装配状态矩阵s,若采用七自由度机械臂,则装配状态矩阵26维,可表示为
步骤5、将装配状态矩阵输入到已经训练好的深度强化学习模型,机械臂的进行姿态动作调整;
步骤6、判断装配是否完成,未完成返回步骤4,完成则装配结束。
在具体实施例子中,步骤1中:
1-1机械臂通过相机采集装配目标的图像;
1-2目标图像特征提取并进行目标位姿解算;
1-3根据解算的位姿引导机械臂至目标装配零部件附近。
在具体实施例子中,步骤5中建立深度强化学习模型;
5-1构建基于深度强化学习的网络模型,策略网络和q值网络结构均采用三层全连接网络,其中网络中的激活函数设为sigmoid函数,即f(x)=1/(1+ex);此激活函数为网络中最后隐层的输出;
5-2建立装配质量评价回报函数;
其中,fz为z轴受力,f0为阻尼阈值,l为装配深度,z0为初始位置距装配目标表面的距离,z表示z轴上的位移距离。
则t时间段内的累积回报为
该函数在状态-动作q值函数中应用。
5-3训练建立好的网络模型,训练流程如图4所示;
评估系统即是评估网络;评估网络和决策网络中的优化器均用来调节优化当前网络参数,与目标网络中的参数无直接关系,目标网络的参数更新在当前网络参数更新的基础上实现,目标q值网络的参数以预测输出形式给当前q值网络;装配作业环境的参数是装配状态矩阵形式s,以7自由度为例即为26维矩阵。
(1)初始化网络参数,包括训练幕数episodes、折扣率γ,学习率σ等;
(2)建立数据缓存区d作为装配状态经验池,根据行为策略β,见图5,将动作的决策机制引入随机噪声,从确定性过程转变为随机噪声,再从随机过程中选择执行at,返回回报值r和新的状态st+1,存储状态转换的过程{st,at,rt,st+1}至经验池中;
(3)从经验池中随机采样作为当前策略网络的训练样本四元组{si,ai,ri,si+1};
(4)采用反向传播算法求解当前策略网络的梯度,状态-动作q值为:
qμ(st,at)=e[r(st,at)+γqμ(st+1,μ(st+1))]
qμ(st,at)表示t时刻在策略μ下机械臂选择执行动作at后的状态-动作值函数,μ表示经过训练后得到的最优策略,r(st,at)是累积回报函数,qμ(st+1,μ(st+1)表示下一时刻即t+1的状态-动作值函数。
设q网络的损失函数l为:
其中,网络预测输出值yi=ri+γq'(si+1,μ'(si+1|θμ')|θq'),n表示经验池中四元组的数目,q(si,ai|θq)表示i状态下的状态-动作值网络,θq表示q值网络的参数。
(5)采用adam优化器更新当前策略网络μ(s|θμ)的参数θμ;
(6)采用蒙特卡罗方法计算策略网络的梯度;
(7)更新策略网络参数θμ;
(8)目标网络参数更新方法;
θq'←τθq+(1-τ)θq'
θμ'←τθμ+(1-τ)θμ'
θq′,θμ′是迭代更新后的参数,τ通常取0.001。
5-4测试训练好的网络模型;
(1)随机设定当前装配状态;
(2)获得当前状态参数矩阵s;
(3)输入到已训练好的网络模型,输出机械臂动作值;
(4)若装配成功则结束,若装配不成功,返回(2),继续根据当前装配状态进行机械臂动作调整。
5-5保存网络模型。
本公开实施例子还公开了一种基于多模信息描述的柔性装配系统,包括:
视觉引导粗定位单元,在机械臂与装配零部件未接触阶段,通过视觉引导将机械臂快速定位在目标位置附近;
力觉调姿精装配单元,当装配零部件与机械臂接触后,借助力觉信息和机械臂自身的参数,形成装配状态的多模信息描述,基于深度强化学习方法进行姿态调整,实现装配零部件的装配。
本公开实施例子还公开了一种机器人,包括机械臂,所述机械臂被配置为执行视觉引导粗定位步骤及力觉调姿精装配步骤;
其中,视觉引导粗定位步骤:在机械臂与装配零部件未接触阶段,通过视觉引导将机械臂快速定位在目标位置附近,实现视觉引导粗定位;
力觉调姿精装配步骤:当装配零部件与机械臂接触后,借助力觉信息和机械臂自身的参数,形成装配状态的多模信息描述,基于深度强化学习方法进行姿态调整,实现装配零部件的力觉调姿精装配。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。