基于自然语言和计算机视觉结合的工业机器人调试方法技术

技术编号:34017623 阅读:15 留言:0更新日期:2022-07-02 16:09
本发明专利技术公开一种基于自然语言和计算机视觉结合的工业机器人调试方法。本发明专利技术将自然语言描述通过word2vec网络和线性层来生成语义信息。通过三维循环卷积神经网络提取工业机器人环境特征。将环境特征输入到长短期记忆网络生成中间上下文,将中间上下文作为GRU网络的输入通过循环神经网络RNN得到API推荐。将自然语言描述通过word2vec网络生成的文本嵌入输入长短期记忆网络编码器和长短期记忆网络解码器,输出AST构建动作序列,将API推荐和构建动作序列结合生成工业机器人调试代码。将调试代码加入到机器人程序编辑器中完成调试。本发明专利技术有效提高机器人调试的开发效率,减少工业环境中机器人产线的部署时间。境中机器人产线的部署时间。境中机器人产线的部署时间。

【技术实现步骤摘要】
基于自然语言和计算机视觉结合的工业机器人调试方法


[0001]本专利技术属于工业机器人
,特别是涉及一种基于自然语言和计算机视觉结合的工业机器人调试方法。

技术介绍

[0002]近年来,随着国家对智能工厂的倡导,生产制造业开始大规模使用机器人技术来辅助生产,智能制造理念由普及进入全面推广阶段。机器人作为智能工厂的主要组成部分,可以帮助提高工厂的生产力、完成工人做不到的操作并且能够快速适应新的生产需求。
[0003]目前市面上的工业机器人的调试方式可分为在线调试和离线调试,在线调试需要用户控制机器人完成指定的动作并保存,通过运行这些指定的动作即可重复作业;离线调试需要用户通过软件工具对机器人进行“虚拟”编程,调试期间机器人无需停机,不妨碍生产作业。无论是在线调试还是离线调试,这些方法都有相应的缺点。在线调试需要用户现场操作机器人,用户需要有丰富的经验,对于复杂的任务编程需要花费大量的时间,且调试过程中机器人需要停机影响了生产作业;离线调试同样需要用户具备丰富的经验和相应机器人语言的编程能力,且完成后需要用户根据实际场景对机器人动作进行微调。例如,在某电梯公司中采用离线调试的方法完成机器人的调试工作,工程师实现一个新的焊板搬运产线,共花费了六个月的时间,其中花费在“虚拟”编程的时间就高达五个月。在工业环境中对机器人进行调试,不仅需要用户有专业的领域知识,还需要了解工业现场环境以及机器人的运动轨迹,即使是专业的工程师也需要花费大量的时间。缩短开发周期,快速适应生产需求已成为了如今企业的主要诉求。
[0004]工业界和学术界都对机器人相关领域表现出了浓厚的兴趣,基于机器学习和深度学习的方法也取得了重要的进展,通过神经网络学习自然语言特征和视觉特征已成为当今研究的热点。然而,基于当前的深度学习模型的机器人调试方法,具有诸如任务代码鲁棒性差、调试结果不能适用于现场环境等缺点。基于这种方式的调试方法,还不能够应用于工厂的生产环境中。

技术实现思路

[0005]本专利技术针对目前的技术的不足,提出一种基于自然语言和计算机视觉结合的工业机器人调试方法。
[0006]本专利技术方法的大体思想是:
[0007]为解决现有的基于神经网络的调试方法的不足,本申请将机器人周围的环境特征加入神经网络中,同时将描述机器人代码的自然语言转化为语义特征也加入网络来加强鲁棒性。本专利技术主要分为四个部分:1)将自然语言描述通过word2vec网络和线性层来生成表现语言语义的语义信息(SemanticInformation),之后再通过线性网络生成规定维度的语义向量。2)通过三维循环卷积神经网络(3D

RCNN)模型来提取所拍摄的工业机器人环境的特征。3)将前述所得到的特征输入到长短期记忆网络(LSTM)编码器中生成中间上下文,然
后把1)中生成的语义向量来初始化GRU网络,将2)中输出的中间上下文作为GRU网络的输入通过循环神经网络(RNN)输出得到API推荐。4)将自然语言描述通过word2vec网络生成的文本嵌入依次输入长短期记忆网络编码器和长短期记忆网络解码器,输出抽象语法树(AST)构建动作序列,将API推荐和构建动作序列结合生成工业机器人调试代码。5)将4)中的调试代码加入到机器人程序编辑器的任务模块中,由使用者对调试代码进行最终处理,完成工业机器人的调试;具体实施步骤如下:
[0008]步骤(1)生成语义信息;
[0009]步骤(2)环境特征提取;
[0010]步骤(3)API推荐生成;
[0011]步骤(4)工业机器人的目标代码编程;
[0012]步骤(5)完成机器人调试。
[0013]本专利技术的另一个目的是提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述的方法。
[0014]本专利技术的又一个目的是提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述的方法。
[0015]本专利技术的有益效果:本专利技术解决了实际工业环境中机器人调试效率低下和机器人程序上线周期长的问题。本专利技术所提供的基于自然语言和计算机视觉结合的工业机器人调试方法主要有几点创新:1)使用了基于神经网络的方法来完成机器人的调试;2)将基于计算机视觉的图像特征提取和基于自然语言的目标代码生成相结合;3)使用三维循环卷积网络提取工业环境下的图像特征;4)利用额外加入了语义信息的神经网络来生成API推荐;5)结合编码器解码器网络和API推荐来共同完成机器人的调试工作。
[0016]本专利技术不需要使用者具有大量的机器人编程知识,使用者只需输入生成机器人代码的自然语言描述就可实现任务,可以为没有经验的新手提供一种可行的调试方法,也可以作为代码工程师的辅助手段。本专利技术使用先进的基于神经网络的机器人调试技术,并且将工业现场环境融入神经网络,考虑到现有神经网络在工业环境下没有融入环境特征、没有考虑实际场景,本专利技术解决了工业环境中机器人调试耗时高、准确率低的问题。本专利技术能够有效提高机器人调试的开发效率,减少工业环境中机器人产线的部署时间。
附图说明
[0017]图1:为本专利技术方法流程示意图;
[0018]图2:为动作构建序列图;
[0019]图3:为编码示意图。
具体实施方式
[0020]下面结合具体实施例对本专利技术做进一步的分析。
[0021]一种基于自然语言和计算机视觉结合的工业机器人调试方法,如图1包括以下步骤:
[0022]步骤(1)、生成语义信息
[0023]1‑
1将描述机器人动作代码的自然语言描述输入word2vec网络生成文本嵌入;具
体如下:
[0024]将i个自然语言单词组成的自然语言指令X={x
i
|i=1,2,

,n}通过word2vec网络生成文本嵌入向量矩阵E={e
i
|i=1,2,

,n}∈R
L
×
C

[0025]E=word2vec(X)
ꢀꢀꢀ
(1)
[0026]其中x
i
表示第i个自然语言单词,e
i
表示第i个文本嵌入向量,word2vec()表示word2vec网络函数,L为文本嵌入个数,C为嵌入维度;
[0027]1‑
2利用步骤1

1生成的文本嵌入向量矩阵通过两个级联的线性层A生成语义信息,然后将语义信息输入至线性层B,输出规定维度的语义向量;具体如下:
[0028]1‑2‑
1将步骤1

1生成的文本嵌入向量矩阵E转化为K维的向量表示I;其中K的维度为L
×
C;
[0029]K=L
×
C
ꢀꢀꢀꢀꢀꢀꢀ
(2)
[0030]1‑2‑
2本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于自然语言和计算机视觉结合的工业机器人调试方法,其特征在于包括以下步骤:步骤(1)、将描述机器人动作代码的自然语言描述生成语义信息步骤(2)、环境特征提取将工业机器人所在工业环境的图像数据作为三维循环卷积网络的输入,从而输出环境视觉特征;步骤(3)、API推荐生成3

1利用步骤(2)中生成的环境视觉特征输入长短期记忆网络编码器中进行编码生成中间语义向量;具体如下:将环境视觉特征f作为长短期记忆网络的输入,生成隐藏状态向量g,随后将隐藏状态向量g转化为中间语义向量;g
t
=LSTM(f
t
,g
t
‑1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)其中g
t
为t时刻的隐藏状态向量,g
t
‑1表示t

1时刻的隐藏状态向量,f
t
为t时刻的环境视觉特征,LSTM()为长短期记忆网络函数;3

2根据步骤(1)生成的语义向量S初始化GRU网络,然后将步骤(3

1)生成的中间语义向量转化为隐藏状态向量,随后将隐藏状态向量输入至初始化后的GRU网络生成中间向量;具体如下:3
‑2‑
1根据步骤(1)生成的语义向量初始化GRU网络;3
‑2‑
2将步骤3

1生成的中间语义向量转化为隐藏状态向量r,将隐藏状态向量r作为GRU网络的输入,生成中间向量k;k
t
=GRU(r
t
,k
t
‑1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)其中k
t
为t时刻的中间向量,GRU()是GRU函数,k
t
‑1是t

1时刻的中间向量,r
t
是t时刻的隐藏状态向量;3

3利用步骤3

2生成的中间向量k通过循环神经网络来生成API推荐列表;具体如下:根据步骤3

2生成的中间向量作为循环神经网络RNN的输入,然后通过softmax层归一化获得API推荐列表的概率分布;P=softmax(RNN(k))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)其中P是API推荐列表的概率分布,softmax()是归一化指数函数,RNN()是循环神经网络函数,τ
i
是循环神经网络输出的第i个API推荐的预测概率,y
i
是真实情况的API推荐,是损失率;步骤(4)、工业机器人的目标代码编程4

1根据公式(1)利用word2vec网络将描述机器人动作代码的自然语言描述转化为文本嵌入向量E;4

2使用步骤4

1文本嵌入向量E作为长短期记忆网络编码器的输入,然后将输出输入到长短期记忆网络解码器中,生成AST树的构建动作序列;具体如下:4
‑2‑
1将文本嵌入向量E作为长短期记忆网络编码器(LSTM

Encoder)的输入,生成隐藏
状态向量h,随后将隐藏状态向量转化为中间语义向量;h
t
=LSTM
e
(e
t
,h
t
‑1)(9)其中h
t
为t时刻的隐藏状态向量;LSTM
e
()表示长短期记忆网络编码器函数,e
t
表示t时刻的嵌入向量,h
t
‑1表示t

1时刻的隐藏状态向量4
‑2‑
2将中间语义向量转化为隐藏状态向量θ,将隐藏状态向量θ作为长短期记忆网络解码器(LSTM

Decoder)的输入;Decoder)的输入;其中θ
t
为t时刻的隐藏状态,θ
t
‑1为t

1时刻的隐藏状态,LSTM
d
()表示长短期记忆网络解码器函数,[:]表示向量联合特征,a
t
‑1表示t

1时刻AST树构建动作,表示t

1时刻隐藏状态的注意力向量,β
t
为推导过程中包含父亲边界信息的向量,为t时刻隐藏状态的注意力向量,h
t
是上下文向量,W
c
为连接层函数,tanh()为双曲正切函数;4
‑2‑
3生成AST树的构建动作序列,具体是:其中ApplyConstr[c]是AST树(抽象语法树)构建动作中的其中一种动作类型,该动作可以将构造操作c应用到与c具有相同类型的边界字段上,该字段可以用来填充节点;p(a
t...

【专利技术属性】
技术研发人员:胡海洋李川豪陈洁李忠金
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:

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

1