1.一种基于自然语言的工业机器人辅助编程方法,其特征在于,步骤如下:步骤(1)、对输入数据进行预处理;所述的输入数据为语言指令和环境图像,通过使用带LSTM的Bi-RNN提取语言指令的特征,通过F-RCNN处理环境图像,获得目标候选区域;
步骤(2)、采用机器翻译的对齐算法,解析出环境中被语言指令确定的物体即目标物体;所述的对齐算法通过多注意力机制模型完成,多注意力机制模型包括词-物体注意力、指令-物体注意力和物体-物体注意力机制;
步骤(3)、训练多注意力机制模型,识别目标物体在环境中的位置和物体放置点参考特征;
步骤(4)、通过多注意力机制预测参照物位置,并结合语言指令特征,使用蒙特卡洛算法(MCMC)预测目标物体将要被放置的位置,并输出坐标;
步骤(5)、构建可编程逻辑控制器约束的数据库(PLC约束库)和CoBlox模块化编程;
步骤(6)、解析语言指令,使解析结果与PLC约束库和模块化的编程代码相匹配,结合步骤(4)输出的坐标生成最终的机器人辅助代码。
2.根据权利要求1所述的一种基于自然语言的工业机器人辅助编程方法,其特征在于,步骤(1)、对输入的语言指令和环境图像进行预处理;所述的预处理包括使用带有LSTM的Bi-RNN提取语言指令的语言特征和使用F-RCNN预处理环境图像,从而获得目标候选区域特征;具体步骤如下:
1.1指令编码:将i个单词组成的指令Ii={x1,x2,x3,…,xi}输入RNN网络;通过带有LSTM的Bi-RNN对语言指令进行编码,递归生成隐藏状态序列Ii,然后通过学习函数ψx(xi)将指令映射到固定维度;
Ii=Bi_LSTM(ψx(xi),Ii-1) (1)表示指令均值,Ii是指令 的词嵌入表示;
1.2环境编码:使用F-RCNN对环境图像进行预处理,得到全连接层获取图像候选区域特征:;是每个物体的空间和性状的特征表示,WB和a分别是物体的权重和偏差值参数;
通过一个全连接层和一个一维卷积层分别将V和I映射到相同维度:V=relu(CONV1d(Vm)) (4)I=relu(LINEAR(Ii)) (5)。
3.根据权利要求2所述的一种基于自然语言的工业机器人辅助编程方法,其特征在于,步骤(2)、识别语言指令指定的物体;采用对齐匹配算法解决语言和物体匹配问题,另外使用多注意力机制提高机器视觉精度;具体过程如下:提出一个新的多注意力机制处理过程:由Word-Object,Object-Instruction和Object-Object三个注意力联合;使用多注意力机制衡量语言指令与每个环境中物体的匹配概率,即预测环境中每个物体的可能性;通过注意力模块 匹配物体和语言指令,然后使用Softmax函数归一化获得条件分布P,由 指令确定的目标物体分布概率;
是源目标物体的离散表示;
预测源目标物体的损失函数是条件分布概率 和物体在环境中的真实位置G(E)的交叉熵,本发明使用Adam优化器对损失函数进行调优;
多步注意力机制流程如下:
2.1Object-Object:首先将步骤(1)F-RCNN抽取的图像候选区域特征计算差值,生成O-O关系注意力机制矩阵:AWp=Wf×p(Vi-Vj) (8)(Vi-Vj)是m×m的矩阵,表示第i个目标物体与第j个物体图像特征表示的差异;Wf是训练的注意力矩阵,表示执行n次后的关系注意力矩阵;
2.2 Word-Object:
使用对齐算法计算语言指令中每个单词xi每个时态的隐藏单元输出ht,从而表示xi与环境中每个物体m的匹配分数score:全局向量 是目标物体bm的权重之和:
2.3Object-instruction:将所有目标物体与O-O关系注意力矩阵AWp相乘,在全局自然语言向量 的引导下,计算全局向量和目标物体的嵌入特征矩阵;
4.根据权利要求3所述的一种基于自然语言的工业机器人辅助编程方法,其特征在于,步骤(3):训练多注意力机制模型,将结果归一化得到目标物体的概率分布,确定目标物体的位置(Source)。
5.根据权利要求4所述的一种基于自然语言的工业机器人辅助编程方法,其特征在于,步骤(4)、再次使用多注意力机制模型,预测参照物位置并结合语言指令特征;通过蒙特卡洛算法(MCMC)预测目标物体将要被放置的位置,输出坐标;
将预测过程分解为两个子过程:参照物识别(Reference)和偏移(Offset),具体过程如下:
4.1 Reference(R):预测参照物位置的方法与步骤(3)预测目标物体位置相同,所以使用步骤(3)中相同的方法计算参照物位置的概率:bm为环境中m个对象, 为当前环境下的注意力矩阵
4.2 Offset(O):根据语言指令特征对偏移量O(真实目标位置和预测位置的差值)进行建模,假定语言指令特征服从高斯分布,采用固定协方差的多维高斯分布拟合指令,从而预测偏移量O;
P(O=o|I)∝N(μo,∑o) (13)μo=W1σ(W2hfc6+b1)+b2 (14)hfc6是F-RCNN的倒数第二个全连接层,μo是由全连接层和指令特征生成的高斯分布的中心(物体坐标(x,y,z));b1,b2是偏置参数,W1,W2分别是指令和物体的权重矩阵;
4.3预测目标位置:将目标位置定义为T=Offset+Reference,采用蒙特卡洛采样(MCMC)法确定物体放置点的坐标;
对reference和offset进行分布采样,用一组 的序列友示采样样本集合,tn是由 预测的位置;
LMCMC=IE||tGT-tn|| (17)将tGT--tn真实位置与预测位置的距离作为负奖励,采用Reinforce Learning思想,通过蒙特卡罗方法拟合N个随机变量 的采样序列样本;具体方法如下:
6.根据权利要求5所述的一种基于自然语言的工业机器人辅助编程方法,其特征在于,步骤(5)、构建可编程控制器约束的数据库(PLC约束库)和CoBlox模块化编程;
5.1 PLC约束库:实际生产环境中,机器人任务会受到PLC信号的约束;根据实际情况选择合适的PLC约束作为PLC约束库;
5.2 CoBlox模块化编程:采用CoBlox模块化编程的方式封装带有默认参数的函数体。
7.根据权利要求6所述的一种基于自然语言的工业机器人辅助编程方法,其特征在于,步骤(6)、采用StanfordNLP工具解析语言指令,在PLC约束库中匹配分词与PLC信号,随后采用BM25算法组合匹配CoBlox模块化编程,自动生成机器人程序框架;最后结合步骤(4)预测的目标位置坐标即放置点坐标,填充到机器人程序中,生成完整的机器人代码。