基于自然语言的工业机器人辅助编程方法技术

技术编号:24484801 阅读:26 留言:0更新日期:2020-06-12 23:16
本发明专利技术提供一种基于自然语言的工业机器人辅助编程方法,根据语言指令和环境图像生成相应的机器人执行代码。本发明专利技术分为三部分:1)分别使用带长短时记忆(LSTM)的双向循环神经网络(Bi‑RNN)和快速区域卷积神经网络(F‑RCNN)提取语言指令和工厂环境的特征。2)提出一种“多注意力机制”模型和机器翻译的对齐算法将环境中的物体与指令正确匹配,从而识别指定的物体并输出放置该物体的坐标点。3)使用上述模型输出的结果配合CoBlox模块化编程方式生成操作的机器人代码。本发明专利技术采用的“多注意力机制”模型提高识别精度,解决了当前方法在工业环境中无法精确识别物体的问题。模块化编程技术方案简化工程师编程复杂度,有效提升开发效率。

The method of industrial robot aided programming based on natural language

【技术实现步骤摘要】
基于自然语言的工业机器人辅助编程方法
本申请属于机器人编程
,特别是涉及基于自然语言和机器视觉的机器人编程技术。
技术介绍
随着近几十年机器人技术的飞速发展,智能制造的理念深入人心。机械臂技术已经在工业生产环境中大量运用,协作式机械人融合人类和机械设备的优势,在生产线上和工人紧密合作,可以显著提升生产效率。目前所有的机械任务都要通过工程师精心设计和编码,才能辅助和代替工人执行单一的机械性任务。工程师通常采用在线或离线编程的方式编写机器人代码,然而这些编程方式过于耗时,时效性远不能满足产品需求的变化。例如,编写大型车体电弧焊机器人程序需要耗费八个月的时间,每个焊接节点的改动需要耗费半个月调试程序,这种高额的编程开销迫使中小企业无法在智能制造中受益。近年来不断有学者在机器人编程领域进行探索。手动编程是市面上应用范围最广,使用频率最高的机器人编程工具。一般使用官方编程界面,其编程语言带有早期编程语言特性,如ABBRAPID,KUKAKRL等。但是在现有生产环境下,工程师需要花费高昂的时间成本在该平台中为每一次制造任务编写代码,甚至其中包含大量重复或类似的代码。并且此种编码方式严格遵循固定的语言规范,不利于新手的快速学习和使用。CoBlox模块化编程方式(DavidWeintrop等人在2017年《Blocklygoestowork:Block-basedprogrammingforindustrialrobots》中提出,Publishedin:2017IEEEBlocksandBeyondWorkshop)另外,随着自然语言和人工智能在语言学方面的发展,学者在自动编程领域也获得了喜人的进展,比如机器人通过神经网络解析人类的语言或者动作,从而正确理解人类指令,执行任务。但是此类方法仅输出机器人的行为和状态,并不提供工业工程师所需要的源代码。这种编程方式在工业生产中需要调整方案时,无法进行代码级别的离线修改。因为不生成代码文本,也不利于相似代码在其他工程中的重利用。在这种情形下,现有的编程技术因其固有的缺陷,无法契合工业智能制造的需要。
技术实现思路
为克服上述现有技术的不足,需要提供一种支持抽象输入的快速编程方法,以满足当下工业智能制造的要求。本专利技术提供一种基于自然语言的工业机器人辅助编程方法,根据语言指令和环境图像生成相应的机器人执行代码。其主要分为三部分:1)分别使用带长短时记忆(LSTM)的双向循环神经网络(Bi-RNN)和快速区域卷积神经网络(F-RCNN)提取语言指令和工厂环境的特征。2)本专利技术提出一种“多注意力机制”模型和机器翻译的对齐算法将环境中的物体与指令正确匹配,从而识别指定的物体并输出放置该物体的坐标点。3)使用上述模型输出的结果配合CoBlox模块化编程方式生成操作的机器人代码。一种基于自然语言的工业机器人辅助编程方法,步骤如下:步骤(1)、对输入数据进行预处理。所述的输入数据为语言指令和环境图像,通过使用带LSTM的Bi-RNN提取语言指令的特征,通过F-RCNN处理环境图像,获得目标候选区域。步骤(2)、采用机器翻译的对齐算法,解析出环境中被语言指令确定的物体即目标物体。所述的对齐算法通过多注意力机制模型完成,多注意力机制模型包括词-物体注意力、指令-物体注意力和物体-物体注意力机制。步骤(3)、训练多注意力机制模型,识别目标物体在环境中的位置和物体放置点参考特征。步骤(4)、通过多注意力机制预测参照物位置,并结合语言指令特征,使用蒙特卡洛算法(MCMC)预测目标物体将要被放置的位置,并输出坐标。步骤(5)、构建可编程逻辑控制器约束的数据库(PLC约束库)和CoBlox模块化编程。步骤(6)、解析语言指令,使解析结果与PLC约束库和模块化的编程代码相匹配,结合步骤(4)输出的坐标生成最终的机器人辅助代码。本专利技术有益效果如下:与现有技术相比,本专利技术解决了现有机器视觉识别率低和工程师重复性编程的问题。本专利技术所提供的基于自然语言的工业机器人编程方法主要有几点创新:1)使用自然语言来辅助产生工业机器人代码;2)使用多步注意力机制模型提高机器视觉精度;3)采用CoBlox模块化编程方式获得机器人代码,不需要重复编写相似的代码,简化开发人员开发负担。本专利技术不需要严格遵循语言规范,而是人类的自然语言即可生成源码,提高了抽象性的同时降低了机器人编程门槛,为新手提供了好的编程方法。本专利技术采用的“多注意力机制”模型提高识别精度,解决了当前方法在工业环境中无法精确识别物体的问题。模块化编程技术方案简化工程师编程复杂度,有效提升开发效率。附图说明图1为本专利技术总体模型结构示意图;图2为ABB码垛机器人的PLC信号表格;图3为本专利技术任务3执行流程示意图;图4为本专利技术任务流程图。具体实施方式本专利技术包括三个子任务,下面结合附图和实施例对本专利技术作进一步说明。图1为本专利技术总体模型结构示意图。本专利技术方法分为三个衔接的子任务,具体步骤如下:任务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对环境图像进行预处理,得到全连接层获取图像候选区域特征:表示前m个检测框的d维视觉嵌入表示。是每个物体的空间和性状的特征表示,WB和a分别是物体的权重和偏差值参数。通过一个全连接层和一个一维卷积层分别将V和I映射到相同维度:V=relu(CONV1d(Vm))(4)I=relu(LINEAR(Ii))(5)其中V∈Rn×d是m个对象V={V1,V2,…,Vm}的集合。I∈Rd是指令的特征。步骤(2)、识别语言指令指定的物体。如何正确将指令和环境物体匹配,以及如何从相似的环境物体中选取确定的物体,这提高识别精度的关键。本专利技术采用对齐匹配算法解决语言和物体匹配问题,另外使用多注意力机制提高机器视觉精度。具体过程如下:提出一个新的多注意力机制处理过程:由Word-Object,Object-Instruction和Object-Object三个注意力联合。使用多注意力机制衡量语言指令与每个环境中物体的匹配概率,即预测环境中每个物体的可能性。通过注意力模块匹配物体和语言指令,然后使用Softmax函数归一化获得条件分布P,由指令确定的目标物本文档来自技高网
...

【技术保护点】
1.一种基于自然语言的工业机器人辅助编程方法,其特征在于,步骤如下:/n步骤(1)、对输入数据进行预处理;所述的输入数据为语言指令和环境图像,通过使用带LSTM的Bi-RNN提取语言指令的特征,通过F-RCNN处理环境图像,获得目标候选区域;/n步骤(2)、采用机器翻译的对齐算法,解析出环境中被语言指令确定的物体即目标物体;所述的对齐算法通过多注意力机制模型完成,多注意力机制模型包括词-物体注意力、指令-物体注意力和物体-物体注意力机制;/n步骤(3)、训练多注意力机制模型,识别目标物体在环境中的位置和物体放置点参考特征;/n步骤(4)、通过多注意力机制预测参照物位置,并结合语言指令特征,使用蒙特卡洛算法(MCMC)预测目标物体将要被放置的位置,并输出坐标;/n步骤(5)、构建可编程逻辑控制器约束的数据库(PLC约束库)和CoBlox模块化编程;/n步骤(6)、解析语言指令,使解析结果与PLC约束库和模块化的编程代码相匹配,结合步骤(4)输出的坐标生成最终的机器人辅助代码。/n

【技术特征摘要】
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是训练的注意...

【专利技术属性】
技术研发人员:胡海洋刘翰文陈洁李忠金黄彬彬
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1