首页 > 专利 > 杭州电子科技大学 > 基于自然语言的工业机器人辅助编程方法专利详情

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

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2020-01-20
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2020-07-07
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2021-03-02
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2040-01-20
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN202010066644.6 申请日 2020-01-20
公开/公告号 CN111267097B 公开/公告日 2021-03-02
授权日 2021-03-02 预估到期日 2040-01-20
申请年 2020年 公开/公告年 2021年
缴费截止日
分类号 B25J9/16 主分类号 B25J9/16
是否联合申请 独立申请 文献类型号 B
独权数量 2 从权数量 5
权利要求数量 7 非专利引证数量 0
引用专利数量 2 被引证专利数量 0
非专利引证
引用专利 US2016259767A、IEEE201 被引证专利
专利权维持 2 专利申请国编码 CN
专利事件 事务标签 公开、实质审查、授权
申请人信息
申请人 第一申请人
专利权人 杭州电子科技大学 当前专利权人 杭州电子科技大学
发明人 胡海洋、刘翰文、陈洁、李忠金、黄彬彬 第一发明人 胡海洋
地址 浙江省杭州市下沙高教园区2号大街 邮编 310018
申请人数量 1 发明人数量 5
申请人所在省 浙江省 申请人所在市 浙江省杭州市
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
杭州君度专利代理事务所 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
朱月芬
摘要
本发明提供一种基于自然语言的工业机器人辅助编程方法,根据语言指令和环境图像生成相应的机器人执行代码。本发明分为三部分:1)分别使用带长短时记忆(LSTM)的双向循环神经网络(Bi‑RNN)和快速区域卷积神经网络(F‑RCNN)提取语言指令和工厂环境的特征。2)提出一种“多注意力机制”模型和机器翻译的对齐算法将环境中的物体与指令正确匹配,从而识别指定的物体并输出放置该物体的坐标点。3)使用上述模型输出的结果配合CoBlox模块化编程方式生成操作的机器人代码。本发明采用的“多注意力机制”模型提高识别精度,解决了当前方法在工业环境中无法精确识别物体的问题。模块化编程技术方案简化工程师编程复杂度,有效提升开发效率。
  • 摘要附图
    基于自然语言的工业机器人辅助编程方法
  • 说明书附图:图1
    基于自然语言的工业机器人辅助编程方法
  • 说明书附图:图2
    基于自然语言的工业机器人辅助编程方法
  • 说明书附图:图3
    基于自然语言的工业机器人辅助编程方法
  • 说明书附图:图4
    基于自然语言的工业机器人辅助编程方法
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2021-03-02 授权
2 2020-07-07 实质审查的生效 IPC(主分类): B25J 9/16 专利申请号: 202010066644.6 申请日: 2020.01.20
3 2020-06-12 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
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对环境图像进行预处理,得到全连接层获取图像候选区域特征:
表示前m个检测框的d维视觉嵌入表示;fbm是每个物体的空间和性状的特征表示,WB和a分别是物体的权重和偏差值参数;
通过一个全连接层和一个一维卷积层分别将V和I映射到相同维度:
V=relu(CONV1d(Vm))    (4)
I=relu(LINEAR(Ii))    (5)
其中V∈Rn×d是m个对象V={V1,V2,…,Vm}的集合;I∈Rd是指令的特征。

3.根据权利要求2所述的一种基于自然语言的工业机器人辅助编程方法,其特征在于,步骤(2)、识别语言指令指定的物体;采用对齐匹配算法解决语言和物体匹配问题,另外使用多注意力机制提高机器视觉精度;具体过程如下:
提出一个新的多注意力机制处理过程:由词-物体注意力即Word-Object,指令-物体注意力即Object-Instruction和物体-物体注意力即Object-Object三个注意力联合;使用多注意力机制衡量语言指令与每个环境中物体的匹配概率,即预测环境中每个物体的可能性;通过注意力模块 匹配物体和语言指令,然后使用Softmax函数归一化获得条件分布P,由 指令确定的目标物体分布概率;
是源目标物体的离散表示;
预测源目标物体的损失函数是条件分布概率 和物体在环境中的真实位
置G(E)的交叉熵,本发明使用Adam优化器对损失函数进行调优;
多步注意力机制流程如下:
2.1、Object-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.3、Object-instruction:将所有目标物体与O-O关系注意力矩阵AWp相乘,在全局自然语言向量 的引导下,计算全局向量和目标物体的嵌入特征矩阵;

4.根据权利要求3所述的一种基于自然语言的工业机器人辅助编程方法,其特征在于,步骤(3):训练多注意力机制模型,将结果归一化得到目标物体的概率分布,确定目标物体的位置(Source)。

5.根据权利要求4所述的一种基于自然语言的工业机器人辅助编程方法,其特征在于,步骤(4)、再次使用多注意力机制模型,预测参照物位置并结合语言指令特征;通过蒙特卡洛算法(MCMC)预测目标物体将要被放置的位置,输出坐标;
将预测过程分解为两个子过程:参照物识别(Reference)和偏移(Offset),具体过程如下:
4.1Reference(R):预测参照物位置的方法与步骤(3)预测目标物体位置相同,所以使用步骤(3)中相同的方法计算参照物位置的概率:
bm为环境中m个对象, 为当前环境下的注意力矩阵
4.2Offset(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是由 预测的位置;
将tGT-tn真实位置与预测位置的距离作为负奖励,采用Reinforce Learning思想,通过蒙特卡罗方法拟合N个随机变量 的采样序列样本;具体方法如下:

6.根据权利要求5所述的一种基于自然语言的工业机器人辅助编程方法,其特征在于,步骤(5)、构建可编程控制器约束的数据库(PLC约束库)和CoBlox模块化编程;
5.1PLC约束库:实际生产环境中,机器人任务会受到PLC信号的约束;根据实际情况选择合适的PLC约束作为PLC约束库;
5.2CoBlox模块化编程:采用CoBlox模块化编程的方式封装带有默认参数的函数体。

7.根据权利要求6所述的一种基于自然语言的工业机器人辅助编程方法,其特征在于,步骤(6)、采用StanfordNLP工具解析语言指令,在PLC约束库中匹配分词与PLC信号,随后采用BM25算法组合匹配CoBlox模块化编程,自动生成机器人程序框架;最后结合步骤(4)预测的目标位置坐标即放置点坐标,填充到机器人程序中,生成完整的机器人代码。
说明书

技术领域

[0001] 本申请属于机器人编程技术领域,特别是涉及基于自然语言和机器视觉的机器人编程技术。

背景技术

[0002] 随着近几十年机器人技术的飞速发展,智能制造的理念深入人心。机械臂技术已经在工业生产环境中大量运用,协作式机械人融合人类和机械设备的优势,在生产线上和工人紧密合作,可以显著提升生产效率。
[0003] 目前所有的机械任务都要通过工程师精心设计和编码,才能辅助和代替工人执行单一的机械性任务。工程师通常采用在线或离线编程的方式编写机器人代码,然而这些编程方式过于耗时,时效性远不能满足产品需求的变化。例如,编写大型车体电弧焊机器人程序需要耗费八个月的时间,每个焊接节点的改动需要耗费半个月调试程序,这种高额的编程开销迫使中小企业无法在智能制造中受益。
[0004] 近年来不断有学者在机器人编程领域进行探索。手动编程是市面上应用范围最广,使用频率最高的机器人编程工具。一般使用官方编程界面,其编程语言带有早期编程语言特性,如ABB RAPID,KUKA KRL等。但是在现有生产环境下,工程师需要花费高昂的时间成本在该平台中为每一次制造任务编写代码,甚至其中包含大量重复或类似的代码。并且此种编码方式严格遵循固定的语言规范,不利于新手的快速学习和使用。
[0005] CoBlox模块化编程方式(David Weintrop等人在2017年《Blockly goes to work:Block-based programming for industrial robots》中提出,Published in:2017 IEEE Blocks and Beyond Workshop)
[0006] 另外,随着自然语言和人工智能在语言学方面的发展,学者在自动编程领域也获得了喜人的进展,比如机器人通过神经网络解析人类的语言或者动作,从而正确理解人类指令,执行任务。但是此类方法仅输出机器人的行为和状态,并不提供工业工程师所需要的源代码。这种编程方式在工业生产中需要调整方案时,无法进行代码级别的离线修改。因为不生成代码文本,也不利于相似代码在其他工程中的重利用。
[0007] 在这种情形下,现有的编程技术因其固有的缺陷,无法契合工业智能制造的需要。

发明内容

[0008] 为克服上述现有技术的不足,需要提供一种支持抽象输入的快速编程方法,以满足当下工业智能制造的要求。本发明提供一种基于自然语言的工业机器人辅助编程方法,根据语言指令和环境图像生成相应的机器人执行代码。其主要分为三部分:1)分别使用带长短时记忆(LSTM)的双向循环神经网络(Bi-RNN)和快速区域卷积神经网络(F-RCNN)提取语言指令和工厂环境的特征。2)本发明提出一种“多注意力机制”模型和机器翻译的对齐算法将环境中的物体与指令正确匹配,从而识别指定的物体并输出放置该物体的坐标点。3)使用上述模型输出的结果配合CoBlox模块化编程方式生成操作的机器人代码。
[0009] 一种基于自然语言的工业机器人辅助编程方法,步骤如下:
[0010] 步骤(1)、对输入数据进行预处理。所述的输入数据为语言指令和环境图像,通过使用带LSTM的Bi-RNN提取语言指令的特征,通过F-RCNN处理环境图像,获得目标候选区域。
[0011] 步骤(2)、采用机器翻译的对齐算法,解析出环境中被语言指令确定的物体即目标物体。所述的对齐算法通过多注意力机制模型完成,多注意力机制模型包括词-物体注意力、指令-物体注意力和物体-物体注意力机制。
[0012] 步骤(3)、训练多注意力机制模型,识别目标物体在环境中的位置和物体放置点参考特征。
[0013] 步骤(4)、通过多注意力机制预测参照物位置,并结合语言指令特征,使用蒙特卡洛算法(MCMC)预测目标物体将要被放置的位置,并输出坐标。
[0014] 步骤(5)、构建可编程逻辑控制器约束的数据库(PLC约束库)和CoBlox模块化编程。
[0015] 步骤(6)、解析语言指令,使解析结果与PLC约束库和模块化的编程代码相匹配,结合步骤(4)输出的坐标生成最终的机器人辅助代码。
[0016] 本发明有益效果如下:
[0017] 与现有技术相比,本发明解决了现有机器视觉识别率低和工程师重复性编程的问题。本发明所提供的基于自然语言的工业机器人编程方法主要有几点创新:1)使用自然语言来辅助产生工业机器人代码;2)使用多步注意力机制模型提高机器视觉精度;3)采用CoBlox模块化编程方式获得机器人代码,不需要重复编写相似的代码,简化开发人员开发负担。
[0018] 本发明不需要严格遵循语言规范,而是人类的自然语言即可生成源码,提高了抽象性的同时降低了机器人编程门槛,为新手提供了好的编程方法。本发明采用的“多注意力机制”模型提高识别精度,解决了当前方法在工业环境中无法精确识别物体的问题。模块化编程技术方案简化工程师编程复杂度,有效提升开发效率。

实施方案

[0023] 本发明包括三个子任务,下面结合附图和实施例对本发明作进一步说明。
[0024] 图1为本发明总体模型结构示意图。
[0025] 本发明方法分为三个衔接的子任务,具体步骤如下:
[0026] 任务1.识别目标物体
[0027] 步骤(1)、对输入的语言指令和环境图像进行预处理。所述的预处理包括使用带有LSTM的Bi-RNN提取语言指令的语言特征和使用F-RCNN预处理环境图像,从而获得目标候选区域特征。具体步骤如下:
[0028] 1.1指令编码:将i个单词组成的指令Ii={x1,x2,x3,…,xi}输入RNN网络。通过带有LSTM的Bi-RNN对语言指令进行编码,递归生成隐藏状态序列Ii,然后通过学习函数ψxxi将指令映射到固定维度。
[0029] Ii=Bi_LSTM(ψx(xi),Ii-1)  (1)
[0030]
[0031] 表示指令均值,Ii是指令 的词嵌入表示。
[0032] 1.2环境编码:使用F-RCNN对环境图像进行预处理,得到全连接层获取图像候选区域特征:
[0033]
[0034] 表示前m个检测框的d维视觉嵌入表示。 是每个物体的空间和性状的特征表示,WB和a分别是物体的权重和偏差值参数。
[0035] 通过一个全连接层和一个一维卷积层分别将V和I映射到相同维度:
[0036] V=relu(CONV1d(Vm))  (4)
[0037] I=relu(LINEAR(Ii))  (5)
[0038] 其中V∈Rm×d是m个对象V={V1,V2,…,Vm}的集合。I∈Rd是指令的特征。
[0039] 步骤(2)、识别语言指令指定的物体。如何正确将指令和环境物体匹配,以及如何从相似的环境物体中选取确定的物体,这提高识别精度的关键。本发明采用对齐匹配算法解决语言和物体匹配问题,另外使用多注意力机制提高机器视觉精度。具体过程如下:
[0040] 提出一个新的多注意力机制处理过程:由Word-Object,Object-Instruction和Object-Object三个注意力联合。使用多注意力机制衡量语言指令与每个环境中物体的匹配概率,即预测环境中每个物体的可能性。通过注意力模块 匹配物体和语言指令,然后使用Softmax函数归一化获得条件分布P,由 指令确定的目标物体分布概率。
[0041]
[0042] 是源目标物体的离散表示。
[0043] 预测源目标物体的损失函数是条件分布概率 和物体在环境中的真实位置G(E)的交叉熵,本发明使用Adam优化器对损失函数进行调优。
[0044]
[0045] 多步注意力机制流程如下:
[0046] 2.1Object-Object:首先将步骤(1)F-RCNN抽取的图像候选区域特征计算差值,生成O-O关系注意力机制矩阵:
[0047] AWp=Wf×p(Vi-Vj)  (8)
[0048] Vi,Vj已在上文中定义,(Vi-Vj)是m×m的矩阵,表示第i个目标物体与第j个物体图像特征表示的差异。Wf是训练的注意力矩阵,表示执行n次后的关系注意力矩阵。
[0049] 2.2Word-Object:
[0050] 使用对齐算法计算语言指令中每个单词xi每个时态的隐藏单元输出ht,从而表示xi与环境中每个物体m的匹配分数score:
[0051]
[0052] 全局向量 是目标物体bm的权重之和:
[0053]
[0054] 2.3Object-instruction:将所有目标物体与O-O关系注意力矩阵AWp相乘,在全局自然语言向量 的引导下,计算全局向量和目标物体的嵌入特征矩阵。
[0055]
[0056] 步骤(3):训练多注意力机制模型,将结果归一化得到目标物体的概率分布,确定目标物体的位置(Source)。
[0057] 任务2:预测目标放置的位置
[0058] 步骤(4)、再次使用多注意力机制模型,预测参照物位置并结合语言指令特征。通过蒙特卡洛算法(MCMC)预测目标物体将要被放置的位置,输出坐标。
[0059] 将预测过程分解为两个子过程:参照物识别(Reference)和偏移(Offset),具体过程如下:
[0060] 4.1 Reference(R):预测参照物位置的方法与步骤(3)预测目标物体位置相同,所以使用步骤(3)中相同的方法计算参照物位置的概率:
[0061]
[0062] bm为环境中m个对象, 为当前环境下的注意力矩阵
[0063] 4.2Offset(O):根据语言指令特征对偏移量O(真实目标位置和预测位置的差值)进行建模,假定语言指令特征服从高斯分布,采用固定协方差的多维高斯分布拟合指令,从而预测偏移量O。
[0064] P(O=o|I)∝N(μo,∑o)  (13)
[0065] μo=W1σ(W2hfc6+b1)+b2  (14)
[0066] hfch是F-RCNN的倒数第二个全连接层,μo是由全连接层和指令特征生成的高斯分布的中心(物体坐标(x,y,z))。b1,b2是偏置参数,W1,W2分别是指令和物体的权重矩阵。
[0067] 4.3预测目标位置:将目标位置定义为T=Offset+Reference,采用蒙特卡洛采样(MCMC)法确定物体放置点的坐标。
[0068] 对reference和offset进行分布采样,用一组 的序列表示采样样本集合,tn是由 预测的位置。
[0069]
[0070]
[0071]
[0072] 将tGi-tn真实位置与预测位置的距离作为负奖励,采用Reinforce Learning思想,通过蒙特卡罗方法拟合N个随机变量 的采样序列样本。具体方法如下:
[0073]
[0074] 通过蒙特卡洛方法拟合确认指令所指定物体在环境中的放置点,并输出放置点坐标(x,y,z)。
[0075] 任务3.生成机器人代码
[0076] 步骤(5)、构建可编程控制器约束的数据库(PLC约束库)和CoBlox模块化编程。
[0077] 5.1 PLC约束库:实际生产环境中,机器人任务会受到PLC信号的约束。根据实际情况选择合适的PLC约束作为PLC约束库。PLC是一种可以与机器人交互并约束机器人行为的可编程控制器,由PLC工程师编写和定义。目前各生产机械臂厂家没有统一的PLC信号规定,存在机器同一个信号在编程平台中存在多种表示的问题。针对目前各家厂商规定不统一的问题,本实施例采用ABB码垛机器人的PLC信号表格(部分见附图2)。
[0078] 5.2 CoBlox模块化编程:采用CoBlox模块化编程的方式封装带有默认参数的函数体。例如Moveto表示命令机械臂移动到固定位置,神经网络预测机械臂抓取的目标和放置位置()以代替原始手动输入的位置参数,将分配默认参数并允许程序员手动更改;SET则由分词工具截取PLC字段映射到相应信号。
[0079] 步骤(6)、采用StanfordNLP工具解析语言指令,在PLC约束库中匹配分词与PLC信号,随后采用BM25算法组合匹配CoBlox模块化编程,自动生成机器人程序框架。最后结合步骤(4)预测的目标位置坐标即放置点坐标,填充到机器人程序中,生成完整的机器人代码。(任务流程见附图3)
[0080] 本发明由工程师控制,允许语音和文本输入机器人任务指令,并且直接在终端输出任务执行代码,中间过程不可见。这种代码生成方法不仅支持灵活的输入方式,还采用模块化编程方法在简化编程任务的同时也能约束工程师编程行为,提高编程规范性。(任务流程见附图4)。

附图说明

[0019] 图1为本发明总体模型结构示意图;
[0020] 图2为ABB码垛机器人的PLC信号表格;
[0021] 图3为本发明任务3执行流程示意图;
[0022] 图4为本发明任务流程图。
专利联系人(活跃度排行)
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号