基于高斯混合模型贝叶斯算法的柔性零件装配过程接触状态识别方法与流程

文档序号:17466031发布日期:2019-04-20 05:31阅读:525来源:国知局
基于高斯混合模型贝叶斯算法的柔性零件装配过程接触状态识别方法与流程

本发明属于机器学习与机器人柔顺控制技术领域,适用于利用工业机器人装配柔性零件的接触状态识别的领域。具体地说,涉及一种基于高斯混合模型(gaussianmixturemodel,以下简称gmm),极大似然估计(expectationmaximization,以下简称em)和贝叶斯分类算法的接触状态识别方法。



背景技术:

工业机器人是柔性自动化的核心设备。在生产中的应用,工业机器人对提高劳动生产率,提高产品质量,改善劳动条件,提高企业的竞争能力和应变能力,促进新产业的建立和发展,改变劳动结构,以及促进相关学科的技术进步,均发挥了重大的社会效益和经济效益。当机械臂末端与工作环境有任何接触时,只依靠位置控制是个满足要求的。然而,目前机器人柔顺控制多应用于刚性零件,柔性零件存在较大的弹性形变,使得机器人自动化装配柔性零件更加困难。

对装配力的分析有助于解决装配过程中的位置不确定性问题。接触状态识别是通过采集装配过程中的力和力矩信号,将抽象知识或环境感知添加到机器人柔顺控制系统。接触状态识别的方法主要基于机器学习中的有监督分类算法,这类分类算法得到的预测类别即是对应的装配接触状态。一些简单的机器学习算法如模糊分类算法和人工神经网络算法,能够预测力数据所属的类别,然而柔性零件装配的力数据不符合高斯分布,使得该类算法分类精度较低,无法应用于实际装配任务。复杂机器学习算法如混合分类器或集成分类器能够在一定程度上提高分类精度,然而没有针对柔性零件力数据特性的改进,且计算时间大大增加。对于柔性零件装配力数据概率密度分布复杂的问题,现有机器学习算法难以应对,无法得到精确的分类结果。

因此,设计一种面向柔性零件装配过程的接触状态识别方法,对工业机器人自动化装配的研究与开发是非常必要的。



技术实现要素:

为了克服现有分类方法对柔性零件装配力数据分类精度较低的不足,本发明提供一种分类精度较高的基于高斯混合模型贝叶斯算法的柔性零件装配过程接触状态识别方法。

本发明解决其技术问题所采用的技术方案是:

一种基于高斯混合模型贝叶斯算法的柔性零件装配过程接触状态识别方法,包括以下步骤:

步骤1:使用机器人装配柔性零件,采集多组装配过程中的力数据,建立训练数据集{xtrain,ctrain}与测试数据集{xtest,ctest};

其中,xtrain,xtest为装配过程中采集的六维力数据x=(fx,fy,fz,mx,my,mz),fx,fy,fz分别为沿x,y,z轴方向的力数据,mx,my,mz分别为绕x,y,z轴的力矩数据。ctrain,ctest为分别与xtrain,xtest对应的接触状态,即数据所属的类别,训练数据xtrain共分为m类;

步骤2:设定gmm模型的高斯分布个数k和收敛系数l,根据公式(1)计算训练数据xtrain的先验概率p(l)(l=1,2,...,m);

式中:si为属于第ck类的训练数据数量,s为训练数据总数量;

步骤3:使用k-means聚类算法初始化gmm参数πk,μk和∑k,首先,设定迭代次数t,随机选择训练数据xtrain中的k个数据作为初始中心点xcenter[i](i=1,2,...,k),t=0;

步骤4:t=t+1。使用欧式距离公式计算每个训练数据与每个初始中心点的距离,并将训练数据划分到距离最近的类别;

步骤5:计算每个类别内所有训练数据的均值mu[i](i=1,2,...,k),使用mu[i]代替xcenter[i];

步骤6:若t=t,则执行步骤7,否则返回步骤4;

步骤7:使用高斯混合模型估计训练数据的概率密度分布,首先,随机初始化πk,根据k-means算法得到的聚类数据计算μk和∑k的初始值,根据公式(3)计算对数似然函数lnp(x|π,u,∑);

式中:πk为影响因子,μk为均值,∑k为协方差;

步骤8:根据公式(4)计算高斯混合模型后验概率γ(i,k)

式中:n(x|uk,∑k)为一维高斯分布,根据式(5)计算其概率密度函数f(x);

式中:u为期望,σ2为方差;

步骤9:根据公式(6)-(9)得到新的gmm参数πk*,μk*和∑k*

步骤10:使用新的gmm参数πk*,μk*和∑k*,根据公式(3)计算新的对数似然函数ln*p(x|π,u,∑),若ln*p(x|π,u,∑)-lnp(x|π,u,∑)<l,则执行步骤11,否则返回步骤8;

步骤11:使用测试数据xtest,根据公式(10)计算贝叶斯后验概率概率c(xtestj);

c(xtestj)=p(l)p(xtestj|cl)(10)

式中:根据公式(11)计算条件概率p(xtestj|cl);

步骤12:比较贝叶斯后验概率,将数据分类到后验概率最大的类别,最后将预测类别c(xtestj)和实际类别ctest对比,绘制分类结果图。

本发明的有益效果主要表现在:具有适应复杂分布数据的特点,在柔性零件装配过程的接触状态分类方面更加精确。

附图说明

图1是基于高斯混合模型贝叶斯分类算法的柔性零件装配过程接触状态识别流程图。

图2是柔性零件装配的接触状态分类结果图。

具体实施方式

下面结合附图对本发明作进一步描述。

参照图1和图2,一种基于高斯混合模型贝叶斯算法的柔性零件装配过程接触状态识别方法,包括以下步骤:

步骤1:使用机器人装配柔性零件,采集多组装配过程中的力数据,建立训练数据集{xtrain,ctrain}与测试数据集{xtest,ctest};

其中,xtrain,xtest为装配过程中采集的六维力数据x=(fx,fy,fz,mx,my,mz),fx,fy,fz分别为沿x,y,z轴方向的力数据,mx,my,mz分别为绕x,y,z轴的力矩数据。ctrain,ctest为分别与xtrain,xtest对应的接触状态,即数据所属的类别,训练数据xtrain共分为m类;

步骤2:设定gmm模型的高斯分布个数k和收敛系数l,根据公式(1)计算训练数据xtrain的先验概率p(l)(l=1,2,...,m);

式中:si为属于第ck类的训练数据数量,s为训练数据总数量;

步骤3:使用k-means聚类算法初始化gmm参数πk,μk和∑k,首先,设定迭代次数t,随机选择训练数据xtrain中的k个数据作为初始中心点xcenter[i](i=1,2,...,k),t=0;

步骤4:t=t+1。使用欧式距离公式计算每个训练数据与每个初始中心点的距离,并将训练数据划分到距离最近的类别;

步骤5:计算每个类别内所有训练数据的均值mu[i](i=1,2,...,k),使用mu[i]代替xcenter[i];

步骤6:若t=t,则执行步骤7,否则返回步骤4;

步骤7:使用高斯混合模型估计训练数据的概率密度分布,首先,随机初始化πk,根据k-means算法得到的聚类数据计算μk和∑k的初始值,根据公式(3)计算对数似然函数lnp(x|π,u,∑);

式中:πk为影响因子,μk为均值,∑k为协方差;

步骤8:根据公式(4)计算高斯混合模型后验概率γ(i,k)

式中:n(x|uk,∑k)为一维高斯分布,根据式(5)计算其概率密度函数f(x);

式中:u为期望,σ2为方差;

步骤9:根据公式(6)-(9)得到新的gmm参数πk*,μk*和∑k*

步骤10:使用新的gmm参数πk*,μk*和∑k*,根据公式(3)计算新的对数似然函数ln*p(x|π,u,∑),若ln*p(x|π,u,∑)-lnp(x|π,u,∑)<l,则执行步骤11,否则返回步骤8;

步骤11:使用测试数据xtest,根据公式(10)计算贝叶斯后验概率概率c(xtestj);

c(xtestj)=p(l)p(xtestj|cl)(10)

式中:根据公式(11)计算条件概率p(xtestj|cl);

步骤12:比较贝叶斯后验概率,将数据分类到后验概率最大的类别,最后将预测类别c(xtestj)和实际类别ctest对比,绘制分类结果图。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1