基于强化学习的焊接参数确定方法、焊接方法和设备与流程

文档序号:16319559发布日期:2018-12-19 05:37阅读:197来源:国知局
基于强化学习的焊接参数确定方法、焊接方法和设备与流程

本申请涉及焊接技术领域,尤其涉及一种基于强化学习的焊接参数确定方法、焊接方法和设备。

背景技术

随着科技的发展,在钢铁材料的焊接领域,机器人焊接逐渐取代了以往的人工焊接。在焊接机器人实施焊接过程中,控制焊接的参数会直接影响焊接的质量。焊接的参数有焊枪移动速度,电流,电压,焊枪角度,摆幅,摆频等,这些焊接参数与焊接板材在激光图中的几何特征有密切关联,这些几何特征包括焊缝间距、焊接点坐标位置等。

相关技术中,焊接参数由专业人员设置,即将焊接参数输入到焊接机器人的焊枪中,焊枪根据输入的参数执行焊接。这种参数设置方法依赖于人工,一旦参数设定,无论焊接板材在激光图中的几何特征有什么不同,焊接机器人均采用预先设定的参数进行焊接,这种方法很容易降低焊接质量,造成材料浪费。



技术实现要素:

为至少在一定程度上克服相关技术中存在的问题,本申请提供一种基于强化学习的焊接参数确定方法、焊接方法和设备。

根据本申请实施例的第一方面,提供一种基于强化学习的焊接参数确定方法,包括:

检测焊接过程中的当前状态信息;

根据预先训练得到的第一神经网络模型和所述当前状态信息得到当前焊接参数,所述第一神经网络模型用于表示状态信息到焊接参数的映射;

其中,所述第一神经网络模型是根据第一训练数据训练得到的,所述第一训练数据包括:状态信息和焊接参数;

所述第一训练数据是根据预先训练得到的第二神经网络模型选择的反馈值大于预设值的状态信息和焊接参数,所述第二神经网络模型用于表示状态信息和焊接参数到反馈值的映射。

可选的,所述方法还包括:

在采用所述当前焊接参数完成所述焊接过程后,获取监控量;

根据所述监控量计算当前反馈值,并根据所述当前状态信息和所述当前焊接参数以及所述当前反馈值作为第二训练数据,采用第二训练数据重新训练所述第二神经网络模型,得到更新后的第二神经网络模型;

根据更新后的第二神经网络模型重新选择第一训练数据,并采用重新选择的第一训练数据重新训练所述第一神经网络模型,得到更新后的第一神经网络模型;

在开始新的焊接过程后,采用更新后的第一神经网络模型更新焊接参数。

可选的,所述状态信息是焊缝信息,所述检测焊接过程中的状态信息,包括:

获取焊板图像;

对所述焊板图像进行图像识别,提取出焊缝信息,所述焊缝信息包括:焊缝宽度。

可选的,所述焊接参数包括:焊枪的移动速度。

可选的,所述监控量包括:焊接材料的宽度和高度。

可选的,所述第一神经网络模型或者所述第二神经网络模型包括:

输入层,用于输入输入值,当所述模型为第一神经网络模型时,所述输入值为状态信息,当所述模型为第二神经网络模型时,所述输入值包括:状态信息和焊接参数;

数据层,用于对所述状态信息表示的数据进行拼接,得到向量形式的数据;

数据重组层,用于对所述数据层输出的数据的维度重新设计;

全连接层,用于把所述数据层输出的数据线性变换到高维度;

激活层,用于对所述全连接层输出的数据进行非线性映射;

拼接层,用于对所述激活层和所述数据重组层输出的数据进行拼接;

归一化层,用于对所述拼接层输出的数据进行归一化;

重新缩放层,用于对归一化后的数据进行重新缩放;

输出层,用于根据重新缩放后的数据输出输出值,当所述模型为第一神经网络模型时,所述输出值为焊接参数,当所述模型为第二神经网络模型时,所述输出值包括:反馈值。

可选的,所述全连接层为并联的多个全连接层。

可选的,在训练所述第一神经网络模型或第二神经网络模型时,所述第一神经网络模型或第二神经网络模型还包括:

损失层,用于根据所述输出值确定损失函数,并通过最小化损失函数确定第一神经网络模型或第二神经网络模型的模型参数,以训练得到第一神经网络模型或第二神经网络模型。

根据本申请实施例的第二方面,提供一种基于强化学习的焊接方法,包括:

采用如下方法确定焊接参数;

所述方法包括:

检测焊接过程中的当前状态信息;

根据预先训练得到的第一神经网络模型和所述当前状态信息得到当前焊接参数,所述第一神经网络模型用于表示状态信息到焊接参数的映射;

其中,所述第一神经网络模型是根据第一训练数据训练得到的,所述第一训练数据包括:状态信息和焊接参数;

所述第一训练数据是根据预先训练得到的第二神经网络模型选择的反馈值大于预设值的状态信息和焊接参数,所述第二神经网络模型用于表示状态信息和焊接参数到反馈值的映射。

可选的,所述方法还包括:

在采用所述当前焊接参数完成所述焊接过程后,获取监控量;

根据所述监控量计算当前反馈值,并根据所述当前状态信息和所述当前焊接参数以及所述当前反馈值作为第二训练数据,采用第二训练数据重新训练所述第二神经网络模型,得到更新后的第二神经网络模型;

根据更新后的第二神经网络模型重新选择第一训练数据,并采用重新选择的第一训练数据重新训练所述第一神经网络模型,得到更新后的第一神经网络模型;

在开始新的焊接过程后,采用更新后的第一神经网络模型更新焊接参数。

可选的,所述状态信息是焊缝信息,所述检测焊接过程中的状态信息,包括:

获取焊板图像;

对所述焊板图像进行图像识别,提取出焊缝信息,所述焊缝信息包括:焊缝宽度。

可选的,所述焊接参数包括:焊枪的移动速度。

可选的,所述监控量包括:焊接材料的宽度和高度。

可选的,所述第一神经网络模型或者所述第二神经网络模型包括:

输入层,用于输入输入值,当所述模型为第一神经网络模型时,所述输入值为状态信息,当所述模型为第二神经网络模型时,所述输入值包括:状态信息和焊接参数;

数据层,用于对所述状态信息表示的数据进行拼接,得到向量形式的数据;

数据重组层,用于对所述数据层输出的数据的维度重新设计;

全连接层,用于把所述数据层输出的数据线性变换到高维度;

激活层,用于对所述全连接层输出的数据进行非线性映射;

拼接层,用于对所述激活层和所述数据重组层输出的数据进行拼接;

归一化层,用于对所述拼接层输出的数据进行归一化;

重新缩放层,用于对归一化后的数据进行重新缩放;

输出层,用于根据重新缩放后的数据输出输出值,当所述模型为第一神经网络模型时,所述输出值为焊接参数,当所述模型为第二神经网络模型时,所述输出值包括:反馈值。

可选的,所述全连接层为并联的多个全连接层。

可选的,在训练所述第一神经网络模型或第二神经网络模型时,所述第一神经网络模型或第二神经网络模型还包括:

损失层,用于根据所述输出值确定损失函数,并通过最小化损失函数确定第一神经网络模型或第二神经网络模型的模型参数,以训练得到第一神经网络模型或第二神经网络模型。

采用所述焊接参数进行焊接。

根据本申请实施例的第三方面,提供一种电子设备,包括:处理器,用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:

检测焊接过程中的当前状态信息;

根据预先训练得到的第一神经网络模型和所述当前状态信息得到当前焊接参数,所述第一神经网络模型用于表示状态信息到焊接参数的映射;

其中,所述第一神经网络模型是根据第一训练数据训练得到的,所述第一训练数据包括:状态信息和焊接参数;

所述第一训练数据是根据预先训练得到的第二神经网络模型选择的反馈值大于预设值的状态信息和焊接参数,所述第二神经网络模型用于表示状态信息和焊接参数到反馈值的映射;

或者,被配置为:

采用如下方法确定焊接参数;所述方法包括:

检测焊接过程中的当前状态信息;

根据预先训练得到的第一神经网络模型和所述当前状态信息得到当前焊接参数,所述第一神经网络模型用于表示状态信息到焊接参数的映射;

其中,所述第一神经网络模型是根据第一训练数据训练得到的,所述第一训练数据包括:状态信息和焊接参数;

所述第一训练数据是根据预先训练得到的第二神经网络模型选择的反馈值大于预设值的状态信息和焊接参数,所述第二神经网络模型用于表示状态信息和焊接参数到反馈值的映射。

可选的,所述方法还包括:

在采用所述当前焊接参数完成所述焊接过程后,获取监控量;

根据所述监控量计算当前反馈值,并根据所述当前状态信息和所述当前焊接参数以及所述当前反馈值作为第二训练数据,采用第二训练数据重新训练所述第二神经网络模型,得到更新后的第二神经网络模型;

根据更新后的第二神经网络模型重新选择第一训练数据,并采用重新选择的第一训练数据重新训练所述第一神经网络模型,得到更新后的第一神经网络模型;

在开始新的焊接过程后,采用更新后的第一神经网络模型更新焊接参数。

可选的,所述状态信息是焊缝信息,所述检测焊接过程中的状态信息,包括:

获取焊板图像;

对所述焊板图像进行图像识别,提取出焊缝信息,所述焊缝信息包括:焊缝宽度。

可选的,所述焊接参数包括:焊枪的移动速度。

可选的,所述监控量包括:焊接材料的宽度和高度。

可选的,所述第一神经网络模型或者所述第二神经网络模型包括:

输入层,用于输入输入值,当所述模型为第一神经网络模型时,所述输入值为状态信息,当所述模型为第二神经网络模型时,所述输入值包括:状态信息和焊接参数;

数据层,用于对所述状态信息表示的数据进行拼接,得到向量形式的数据;

数据重组层,用于对所述数据层输出的数据的维度重新设计;

全连接层,用于把所述数据层输出的数据线性变换到高维度;

激活层,用于对所述全连接层输出的数据进行非线性映射;

拼接层,用于对所述激活层和所述数据重组层输出的数据进行拼接;

归一化层,用于对所述拼接层输出的数据进行归一化;

重新缩放层,用于对归一化后的数据进行重新缩放;

输出层,用于根据重新缩放后的数据输出输出值,当所述模型为第一神经网络模型时,所述输出值为焊接参数,当所述模型为第二神经网络模型时,所述输出值包括:反馈值。

可选的,所述全连接层为并联的多个全连接层。

可选的,在训练所述第一神经网络模型或第二神经网络模型时,所述第一神经网络模型或第二神经网络模型还包括:

损失层,用于根据所述输出值确定损失函数,并通过最小化损失函数确定第一神经网络模型或第二神经网络模型的模型参数,以训练得到第一神经网络模型或第二神经网络模型。

采用所述焊接参数进行焊接。

根据本申请实施例的第四方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由控制器的处理器执行时,使得控制器侧能够执行一种基于强化学习的焊接参数确定方法,所述方法包括:

检测焊接过程中的当前状态信息;

根据预先训练得到的第一神经网络模型和所述当前状态信息得到当前焊接参数,所述第一神经网络模型用于表示状态信息到焊接参数的映射;

其中,所述第一神经网络模型是根据第一训练数据训练得到的,所述第一训练数据包括:状态信息和焊接参数;

所述第一训练数据是根据预先训练得到的第二神经网络模型选择的反馈值大于预设值的状态信息和焊接参数,所述第二神经网络模型用于表示状态信息和焊接参数到反馈值的映射。

可选的,所述方法还包括:

在采用所述当前焊接参数完成所述焊接过程后,获取监控量;

根据所述监控量计算当前反馈值,并根据所述当前状态信息和所述当前焊接参数以及所述当前反馈值作为第二训练数据,采用第二训练数据重新训练所述第二神经网络模型,得到更新后的第二神经网络模型;

根据更新后的第二神经网络模型重新选择第一训练数据,并采用重新选择的第一训练数据重新训练所述第一神经网络模型,得到更新后的第一神经网络模型;

在开始新的焊接过程后,采用更新后的第一神经网络模型更新焊接参数。

可选的,所述状态信息是焊缝信息,所述检测焊接过程中的状态信息,包括:

获取焊板图像;

对所述焊板图像进行图像识别,提取出焊缝信息,所述焊缝信息包括:焊缝宽度。

可选的,所述焊接参数包括:焊枪的移动速度。

可选的,所述监控量包括:焊接材料的宽度和高度。

可选的,所述第一神经网络模型或者所述第二神经网络模型包括:

输入层,用于输入输入值,当所述模型为第一神经网络模型时,所述输入值为状态信息,当所述模型为第二神经网络模型时,所述输入值包括:状态信息和焊接参数;

数据层,用于对所述状态信息表示的数据进行拼接,得到向量形式的数据;

数据重组层,用于对所述数据层输出的数据的维度重新设计;

全连接层,用于把所述数据层输出的数据线性变换到高维度;

激活层,用于对所述全连接层输出的数据进行非线性映射;

拼接层,用于对所述激活层和所述数据重组层输出的数据进行拼接;

归一化层,用于对所述拼接层输出的数据进行归一化;

重新缩放层,用于对归一化后的数据进行重新缩放;

输出层,用于根据重新缩放后的数据输出输出值,当所述模型为第一神经网络模型时,所述输出值为焊接参数,当所述模型为第二神经网络模型时,所述输出值包括:反馈值。

可选的,所述全连接层为并联的多个全连接层。

可选的,在训练所述第一神经网络模型或第二神经网络模型时,所述第一神经网络模型或第二神经网络模型还包括:

损失层,用于根据所述输出值确定损失函数,并通过最小化损失函数确定第一神经网络模型或第二神经网络模型的模型参数,以训练得到第一神经网络模型或第二神经网络模型。

根据本申请实施例的第五方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由控制器的处理器执行时,使得控制器侧能够执行一种基于强化学习的焊接方法,所述方法包括:

采用如下方法确定焊接参数;

所述方法包括:

检测焊接过程中的当前状态信息;

根据预先训练得到的第一神经网络模型和所述当前状态信息得到当前焊接参数,所述第一神经网络模型用于表示状态信息到焊接参数的映射;

其中,所述第一神经网络模型是根据第一训练数据训练得到的,所述第一训练数据包括:状态信息和焊接参数;

所述第一训练数据是根据预先训练得到的第二神经网络模型选择的反馈值大于预设值的状态信息和焊接参数,所述第二神经网络模型用于表示状态信息和焊接参数到反馈值的映射。

可选的,所述方法还包括:

在采用所述当前焊接参数完成所述焊接过程后,获取监控量;

根据所述监控量计算当前反馈值,并根据所述当前状态信息和所述当前焊接参数以及所述当前反馈值作为第二训练数据,采用第二训练数据重新训练所述第二神经网络模型,得到更新后的第二神经网络模型;

根据更新后的第二神经网络模型重新选择第一训练数据,并采用重新选择的第一训练数据重新训练所述第一神经网络模型,得到更新后的第一神经网络模型;

在开始新的焊接过程后,采用更新后的第一神经网络模型更新焊接参数。

可选的,所述状态信息是焊缝信息,所述检测焊接过程中的状态信息,包括:

获取焊板图像;

对所述焊板图像进行图像识别,提取出焊缝信息,所述焊缝信息包括:焊缝宽度。

可选的,所述焊接参数包括:焊枪的移动速度。

可选的,所述监控量包括:焊接材料的宽度和高度。

可选的,所述第一神经网络模型或者所述第二神经网络模型包括:

输入层,用于输入输入值,当所述模型为第一神经网络模型时,所述输入值为状态信息,当所述模型为第二神经网络模型时,所述输入值包括:状态信息和焊接参数;

数据层,用于对所述状态信息表示的数据进行拼接,得到向量形式的数据;

数据重组层,用于对所述数据层输出的数据的维度重新设计;

全连接层,用于把所述数据层输出的数据线性变换到高维度;

激活层,用于对所述全连接层输出的数据进行非线性映射;

拼接层,用于对所述激活层和所述数据重组层输出的数据进行拼接;

归一化层,用于对所述拼接层输出的数据进行归一化;

重新缩放层,用于对归一化后的数据进行重新缩放;

输出层,用于根据重新缩放后的数据输出输出值,当所述模型为第一神经网络模型时,所述输出值为焊接参数,当所述模型为第二神经网络模型时,所述输出值包括:反馈值。

可选的,所述全连接层为并联的多个全连接层。

可选的,在训练所述第一神经网络模型或第二神经网络模型时,所述第一神经网络模型或第二神经网络模型还包括:

损失层,用于根据所述输出值确定损失函数,并通过最小化损失函数确定第一神经网络模型或第二神经网络模型的模型参数,以训练得到第一神经网络模型或第二神经网络模型。

采用所述焊接参数进行焊接。

本申请的实施例提供的技术方案可以包括以下有益效果:

由于预先训练得到的第一神经网络,且第一神经网络用于表示状态信息到焊接参数的映射。因此,检测焊接过程中的当前状态信息,并将状态信息传入第一神经网络,便可以得到状态信息对应的焊接参数。又因为第一神经网络模型是根据第一训练数据得到的,第一训练数据包括状态信息和焊接参数,且第一训练数据是根据预先训练得到的第二神经网络模型选择的反馈值大于预设值的状态信息和焊接参数,第二神经网络模型用于表示状态信息和焊接参数到反馈值的映射。所以,将状态信息和焊接参数传入第二神经网络,便可以得到反馈值,并判断反馈值的优劣,当反馈值大于预设值时,表示状态信息对应的状态下,焊接参数较优,则采用该状态信息和较优的焊接参数作为第一训练数据去训练第一神经网络模型,得到最优的第一神经网络模型。这一过程,通过预先训练得到的第一神经网络模型和第二神经网络模型从而得到最优策略,在焊接过程中,将焊接过程中的状态信息传入第一神经网络模型便会自动得到一个最优的焊接参数,采用此焊接参数进行焊接提升了焊接质量,避免了材料浪费。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

图1是根据一示例性实施例示出的一种基于强化学习的焊接参数确定方法的流程示意图。

图2是根据另一示例性实施例示出的一种基于强化学习的焊接参数确定方法的流程示意图。

图3是根据另一示例性实施例示出的一种焊接参数的确定方法中检测焊接过程中的当前状态信息的方法流程示意图。

图4是根据另一示例性实施例示出的一种第一神经网络模型和第二神经网络模型的结构示意图。

图5是根据另一示例性实施例示出的一种基于强化学习的焊接参数确定方法中训练和运行过程的流程示意图。

图6是根据一示例性实施例示出的一种基于强化学习的焊接参数确定装置的结构示意图。

图7是根据另一示例性实施例示出的一种基于强化学习的焊接参数确定装置的结构示意图。

图8是根据另一示例性实施例示出的一种电子设备的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

图1是根据一示例性实施例示出的一种基于强化学习的焊接参数确定方法的流程示意图。

如图1所示,本实施例提供的方法可以包括以下步骤:

步骤s11,检测焊接过程中的当前状态信息;

步骤s12,根据预先训练得到的第一神经网络模型和所述当前状态信息得到当前焊接参数,所述第一神经网络模型用于表示状态信息到焊接参数的映射;

其中,所述第一神经网络模型是根据第一训练数据训练得到的,所述第一训练数据包括:状态信息和焊接参数;

所述第一训练数据是根据预先训练得到的第二神经网络模型选择的反馈值大于预设值的状态信息和焊接参数,所述第二神经网络模型用于表示状态信息和焊接参数到反馈值的映射。

其中,步骤s11的执行主体可以是焊接机器人的视觉识别模块,焊接机器人获取焊接板的状态信息,状态信息即为焊接板上的焊缝信息;焊缝信息包括焊缝宽度。在开始焊接后,焊接机器人的视觉识别模块先获取焊板图像,然后对焊板图像进行识别,提取得到焊缝宽度。

在步骤s12中,第一神经网络模型表示状态信息到焊接参数的映射,将步骤s11中得到的状态信息传入第一神经网络模型,第一神经网络模型的输出便是焊接参数,即焊枪的移动速度,将得到的焊接参数传入到焊接机器人的焊接手臂中,焊接机器人则根据此参数进行焊接。

需要说明的是,第一神经网络模型是根据第一训练数据训练得到的,第一训练数据包括状态信息和焊接参数,其中的第一训练数据是根据预先训练得到的第二神经网络模型选择的反馈值大于预设值的状态信息和焊接参数,所述第二神经网络模型用于表示状态信息和焊接参数到反馈值的映射。

具体的,将检测得到的状态信息和焊接参数传入第二神经网络模型,第二神经网络模型会输出一个反馈值,该反馈值是指在上述状态信息时,焊枪根据上述焊接参数执行焊接之后的评分,该评分的高低反映了焊接参数的好坏,若评分较高,则表示得到的焊接参数较优;若评分较低,则表示得到的焊接参数较差。因此,用户可以根据实际情况设定一个预设值,当第二神经网络模型输出的反馈值大于该预设值时,则认为评分较高,即得到的焊接参数较优。因此,选择反馈值大于预设值的状态信息和焊接参数作为第一训练数据去训练第一神经网络,可以得到一个最优的策略网络,当执行焊接时,将监测得到的状态信息传入第一神经网络模型,第一神经网络模型便会自动输出一个最优的焊接参数。

下面对上述步骤s12中得到最优的第一神经网络模型的过程进行详细解释。

进一步地,参见图2,本实施例提供的方法还可以包括以下步骤:

步骤s21,在采用所述当前焊接参数完成所述焊接过程后,获取监控量;

步骤s22,根据所述监控量计算当前反馈值,并根据所述当前状态信息和所述当前焊接参数以及所述当前反馈值作为第二训练数据,采用第二训练数据重新训练所述第二神经网络模型,得到更新后的第二神经网络模型;

步骤s23,根据更新后的第二神经网络模型重新选择第一训练数据,并采用重新选择的第一训练数据重新训练所述第一神经网络模型,得到更新后的第一神经网络模型;

步骤s24,在开始新的焊接过程后,采用更新后的第一神经网络模型更新焊接参数。

其中,步骤s21的执行主体可以是焊接机器人的视觉识别模块,焊接机器人在采用所述当前焊接参数完成所述焊接过程后,获取监控量,即获取焊接之后,焊接板上的焊接材料的高度和宽度。

在步骤s22中,根据所述监控量计算当前反馈值是人工计算的,用户根据反馈值计算公式r=10-(width-6)*(width-6)*10,如果r<0,则r=0;来计算反馈值,然后将检测得到的当前状态信息和当前焊接参数以及当前反馈值作为第二训练数据,采用第二训练数据重新训练所述第二神经网络模型,得到更新后的第二神经网络模型。

需要说明的是,反馈值reward的计算采用上述针对焊接材料宽度和高度进行计算。焊接板材有一定长度,所以每隔1cm采样一次,每次采样的焊接宽度都是不同的。上述公式中的width表示焊接材料的宽度。

在步骤s23中,根据更新后的第二神经网络模型重新选择第一训练数据,即将状态信息和焊接参数传入第二神经网络模型,得到相应的反馈值,选取反馈值较高的状态信息和焊接参数作为新的第一训练数据。然后用新的第一训练数据重新训练第一神经网络模型,得到更新后的第一神经网络模型,更新后的第一神经网络模型便是最优的策略网络。

进一步地,参见图3,检测焊接过程中的状态信息的方法可以包括以下步骤:

步骤s31,获取焊板图像;

步骤s32,对所述焊板图像进行图像识别,提取出焊缝信息,所述焊缝信息包括:焊缝宽度。

进一步地,所述焊接参数包括:焊枪的移动速度。

进一步地,所述监控量包括:焊接材料的宽度和高度。

本实施例中,由于预先训练得到的第一神经网络,且第一神经网络用于表示状态信息到焊接参数的映射。因此,检测焊接过程中的当前状态信息,并将状态信息传入第一神经网络,便可以得到状态信息对应的焊接参数。又因为第一神经网络模型是根据第一训练数据得到的,第一训练数据包括状态信息和焊接参数,且第一训练数据是根据预先训练得到的第二神经网络模型选择的反馈值大于预设值的状态信息和焊接参数,第二神经网络模型用于表示状态信息和焊接参数到反馈值的映射。所以,将状态信息和焊接参数传入第二神经网络,便可以得到反馈值,并判断反馈值的优劣,当反馈值大于预设值时,表示状态信息对应的状态下,焊接参数较优,则采用该状态信息和较优的焊接参数作为第一训练数据去训练第一神经网络模型,得到最优的第一神经网络模型。这一过程,通过预先训练得到的第一神经网络模型和第二神经网络模型从而得到最优策略,在焊接过程中,将焊接过程中的状态信息传入第一神经网络模型便会自动得到一个最优的焊接参数,采用此焊接参数进行焊接提升了焊接质量,避免了材料浪费。

需要说明的是,本实施例提供的焊接方法是基于强化学习来控制焊接参数,强化学习基本模型为马尔科夫决策模型<s,a,p,r,γ>。其中s表示状态,a表示动作,p表示状态转移概率,r表示即时反馈,γ表示折扣率。策略函数π(a|s)表示在状态s条件下,关于动作a的概率分布。动作值函数q(s,a)=e[gt|s,a],表示在状态s和动作a的条件下,期望累计反馈的值。强化学习的目标是智能体与环境的交互过程中,获得累计的最大值gt=r1+γr2+γ2r3+γ3r4+……。此目标可以通过训练一个最优策略π(a|s)得到。

本申请提供的技术方案中,状态信息即对应状态s;焊枪移动速度对应动作a;反馈值对应即时反馈r(reward);第一神经网络模型代替策略函数π(a|s);第二神经网络模型代替动作值函数q(s,a)=e[gt|s,a];其中,r的求解依赖焊接之后得到的焊接板上焊接材料的宽度。r的计算公式为r=10-(width-6)*(width-6)*10,如果r<0,则r=0;width表示焊接材料的宽度。

可以理解的是,实施焊接中,可以控制的参数有焊枪移动速度,焊枪摆幅,焊枪角度,电流,电压,熔丝送丝速度等。本技术方案,控制的参数为焊枪移动速度,其他参数由人工设定。

图4是根据另一示例性实施例示出的一种第一神经网络模型和第二神经网络模型的结构示意图。

如图4所示,所述第一神经网络模型或者所述第二神经网络模型包括:

输入层,用于输入输入值,当所述模型为第一神经网络模型时,所述输入值为状态信息,当所述模型为第二神经网络模型时,所述输入值包括:状态信息和焊接参数;

数据层,用于对输入层输入的数据进行拼接,得到向量形式的数据;

数据重组层,用于对所述数据层输出的数据的维度重新设计;

全连接层,用于把所述数据层输出的数据线性变换到高维度;

激活层,用于对所述全连接层输出的数据进行非线性映射;

拼接层,用于对所述激活层和所述数据重组层输出的数据进行拼接;

归一化层,用于对所述拼接层输出的数据进行归一化;

重新缩放层,用于对归一化后的数据进行重新缩放;

输出层,用于根据重新缩放后的数据输出输出值,当所述模型为第一神经网络模型时,所述输出值为焊接参数,当所述模型为第二神经网络模型时,所述输出值包括:反馈值。

进一步地,所述全连接层为并联的多个全连接层。

进一步地,在训练所述第一神经网络模型或第二神经网络模型时,所述第一神经网络模型或第二神经网络模型还包括:

损失层,用于根据所述输出值确定损失函数,并通过最小化损失函数确定第一神经网络模型或第二神经网络模型的模型参数,以训练得到第一神经网络模型或第二神经网络模型。

其中,参见图4,input即为输入层;data为数据层,用于对输入层输入的数据进行拼接,当所述模型是第一神经网络模型时,输入值为状态信息,则数据层对状态信息表示的数据进行拼接;当所述模型是第二神经网络模型时,输入值为状态信息和焊接参数,则数据层对状态信息和焊接参数表示的数据进行拼接,以得到向量形式的数据,比如,数据1和数据2拼接后得到向量[1,2]。

全连接层是ip1、ip2、ip3、ip4、ip5和ip6共6个网络并联得到的全连接网络,用于把数据层输出的数据变换到高维度。

激活层与全连接层连接,是tanh1、tanh2、tanh3、tanh4、tanh5和tanh6并联得到的,tanh1、tanh2、tanh3、tanh4、tanh5和tanh6分别与ip1、ip2、ip3、ip4、ip5和ip6连接,用于将全连接层输出的数据非线性映射;全连接层与激活层连接,用于将数据层输出的数据非线性映射到高维度。

datareshape是数据重组层,用于对所述数据层输出的数据的维度重新设计,比如,数据层输出16个数据,可以将其重组为2行8列,或者设置成4行4列。

cancat是拼接层,用于将激活层和数据重组层输出的数据拼接起来。

cancat_bn是归一化层,cancat_scale是重新缩放层,两层连起来,用于对拼接层输出的数据进行小批量归一化,目的是保持数据尺度一致,例如数据范围为-1000到1000,归一化之后尺度可以控制在-3到3;数据范围在-0.001到0.001,归一化之后也可以控制在-3到3之间。归一化操作保持数据尺度一致,反向传播计算梯度不会过大或者过小,加快收敛速度。

out是输出层;

loss是损失层,用于根据所述输出值确定损失函数,并通过最小化损失函数确定第一神经网络模型或第二神经网络模型的模型参数,以训练得到第一神经网络模型或第二神经网络模型,本申请采用损失函数的是均方差损失函数。

可以理解的是,对上述神经网络模型进行训练可以得到第一神经网络模型和第二神经网络模型。

其中,训练得到第二神经网络模型的方法可以包括:

采集数据,所述数据包括:焊板图像、焊接参数,以及采用所述焊接参数进行焊接后的焊板信息;

对所述焊板图像进行图像识别得到状态信息,以及根据所述焊接后的焊板信息和预设公式计算反馈值;

根据识别得到的状态信息、采集的焊接参数和计算得到的反馈值进行训练,得到第二神经网络模型。

其中,焊板信息包括焊接之后的焊接板上焊接材料的高度和宽度,将宽度代入公式计算得到反馈值,状态信息包括焊缝宽度,焊接参数包括焊枪移动速度。在具体实施时,将反馈值作为训练标签,与焊缝宽度和焊枪移动速度一起传入神经网络模型进行训练,便可得到第二神经网络模型,也可以称为动作价值网络模型。训练得到的动作价值网络模型用于表示状态信息和焊接参数到反馈值的映射,即输入状态信息(state)和焊接参数(action)给动作价值网络模型,该动作价值网络模型输出的就是反馈值(reward),并且,该动作价值网络模型可以根据反馈值(reward)的高低来评判焊接参数(action)的好坏,一般来讲,反馈值(reward)越高越好,表示焊接参数(action)越好。

训练得到第一神经网络模型的方法包括:

在计算得到反馈值后,选择大于预设值的反馈值所对应的状态信息和焊接参数;

采用所选择的状态信息和焊接参数进行训练,得到第一神经网络模型。

由于上述训练得到的动作价值网络模型输出的是反馈值(reward),并且反馈值(reward)的高低反映了焊接参数(action)的好坏。因此,根据实际情况,预设一个反馈阈值,当得到的反馈值大于预设的反馈阈值时,认为该反馈值对应的焊接参数较好。判断动作价值网络模型输出的反馈值是否大于预设反馈值,并选取大于预设反馈值所对应的状态信息和焊接参数,以焊接参数为标签,将焊接参数和状态信息输入神经网络模型进行训练,便可得到第一神经网络模型,也可以称为策略网络模型。由于训练得到策略网络模型的数据均是从反馈值较高的数据集中选出的,因此,得到的第一神经网络模型(即策略网络模型)是一个最优策略。

需要说明的是,在强化学习中,在一个状态s下执行动作a,环境会立刻返回下一个状态s‘和反馈值reward。在焊接中,执行动作a,无法立即返回反馈值reward,所以采用离线训练的方式来训练第一神经网络模型和第二神经网络模型。算法依照深度确定性策略梯度(deepdeterministicpolicygradient,ddpg)算法进行离线训练

本实施例中,通过建立神经网络模型结构,并通过训练得到动作价值网络模型和最优的策略网络模型,用策略网络模型代替策略函数π(a|s),能够处理连续性的状态空间;动作价值网络模型代替动作值函数q(s,a)=e[gt|s,a],鲁棒性好,能够处理连续型的数值。

为了更好的理解本申请,下面对基于强化学习的焊接参数确定方法中训练第一神经网络模型和第二神经网络模型以及运行的过程进行说明。

在强化学习焊接参数调整中,执行动作a得到一个反馈值reward和状态s;然后执行下一个动作,得到反馈值和状态……使用贪婪的策略,设置折扣率为0,如此反复累计返回值,从而得到一个最优的策略。

训练和运行过程如图5所示:操作传感器51是视觉识别部分,可以识别焊接过程中的状态信息;代理师傅52是策略网络模型(也是第一神经网络模型),表示状态信息到焊接参数的映射;得到的参数53是焊枪移动速度;模拟师傅57指的是动作价值网络(也是第二神经网络模型),表示状态信息和焊接参数到反馈值的映射。在操作传感器51识别焊接过程的状态信息后,焊接机器人按照指定的参数53自动执行焊接操作,得到操作结果54,监控传感器55模拟监控焊接过程中的状态并根据操作结果54得到监控量56(即焊接后焊接板上的焊接材料的高度和宽度)。相关人员通过监控量计算得到反馈值。其中的模拟师傅是预先根据状态信息、焊接参数以及对应得到的反馈值进行训练得到的,所以,模拟师傅57可以根据状态信息和焊接参数给出一个质量评估58,通过质量评估58来调整代理师傅52(策略网络模型)。即,将质量评估得分较高的状态信息和对应的焊接参数传入策略网络重新训练得到较优的策略网络模型,这样当操作传感器检测得到状态信息在传给代理师傅时,代理师傅可以给出较优的焊接参数。如此反复,通过模拟师傅(动作价值网络模型)的质量评估来不断调整代理师傅(策略网络模型),反复训练,反复评估,并通过评估结果选区较优的结果再次训练策略网络,最终可以得到一个最优的策略网络模型(第一神经网络模型),将检测得到的状态信息再传入最优的策略网络模型,便可以得到最优的焊接参数。

图6是根据一示例性实施例示出的一种基于强化学习的焊接参数确定装置的结构示意图。

如图6所示,本实施例提供的装置包括:

检测模块61,用于检测焊接过程中的当前状态信息;

处理模块62,用于根据预先训练得到的第一神经网络模型和所述当前状态信息得到当前焊接参数,所述第一神经网络模型用于表示状态信息到焊接参数的映射;

其中,所述第一神经网络模型是根据第一训练数据训练得到的,所述第一训练数据包括:状态信息和焊接参数;

所述第一训练数据是根据预先训练得到的第二神经网络模型选择的反馈值大于预设值的状态信息和焊接参数,所述第二神经网络模型用于表示状态信息和焊接参数到反馈值的映射。

进一步地,参见图7,本实施例提供的装置还包括:

获取模块71,用于在采用所述当前焊接参数完成所述焊接过程后,获取监控量;

计算模块72,用于根据所述监控量计算当前反馈值;

第一训练模块73,用于根据所述当前状态信息和所述当前焊接参数以及所述当前反馈值作为第二训练数据,采用第二训练数据重新训练所述第二神经网络模型,得到更新后的第二神经网络模型;

第二训练模块74,用于根据更新后的第二神经网络模型重新选择第一训练数据,并采用重新选择的第一训练数据重新训练所述第一神经网络模型,得到更新后的第一神经网络模型;

更新模块75,用于在开始新的焊接过程后,采用更新后的第一神经网络模型更新焊接参数。

进一步地,所述状态信息是焊缝信息,所述检测模块61具体用于:

获取焊板图像;

对所述焊板图像进行图像识别,提取出焊缝信息,所述焊缝信息包括:焊缝宽度。

进一步地,所述焊接参数包括:焊枪的移动速度。

进一步地,所述监控量包括:焊接材料的宽度和高度。

进一步地,所述第一神经网络模型或者所述第二神经网络模型包括:

输入层,用于输入输入值,当所述模型为第一神经网络模型时,所述输入值为状态信息,当所述模型为第二神经网络模型时,所述输入值包括:状态信息和焊接参数;

数据层,用于对所述状态信息表示的数据进行拼接,得到向量形式的数据;

数据重组层,用于对所述数据层输出的数据的维度重新设计;

全连接层,用于把所述数据层输出的数据线性变换到高维度;

激活层,用于对所述全连接层输出的数据进行非线性映射;

拼接层,用于对所述激活层和所述数据重组层输出的数据进行拼接;

归一化层,用于对所述拼接层输出的数据进行归一化;

重新缩放层,用于对归一化后的数据进行重新缩放;

输出层,用于根据重新缩放后的数据输出输出值,当所述模型为第一神经网络模型时,所述输出值为焊接参数,当所述模型为第二神经网络模型时,所述输出值包括:反馈值。

进一步地,所述全连接层为并联的多个全连接层。

进一步地,在训练所述第一神经网络模型或第二神经网络模型时,所述第一神经网络模型或第二神经网络模型还包括:

损失层,用于根据所述输出值确定损失函数,并通过最小化损失函数确定第一神经网络模型或第二神经网络模型的模型参数,以训练得到第一神经网络模型或第二神经网络模型。

本实施例中,通过训练得到最优策略即第一神经网络模型,在焊接过程中,将状态信息传入第一神经网络模型便会自动得到一个最优的焊接参数。

图8是根据另一示例性实施例示出的一种电子设备的结构示意图。

如图8所示,本实施例提供的电子设备包括:

处理器81;用于存储处理器可执行指令的存储器82;其中,所述处理器被配置为:

检测焊接过程中的当前状态信息;

根据预先训练得到的第一神经网络模型和所述当前状态信息得到当前焊接参数,所述第一神经网络模型用于表示状态信息到焊接参数的映射;

其中,所述第一神经网络模型是根据第一训练数据训练得到的,所述第一训练数据包括:状态信息和焊接参数;

所述第一训练数据是根据预先训练得到的第二神经网络模型选择的反馈值大于预设值的状态信息和焊接参数,所述第二神经网络模型用于表示状态信息和焊接参数到反馈值的映射。

进一步地,所述处理器还被配置为:

在采用所述当前焊接参数完成所述焊接过程后,获取监控量;

根据所述监控量计算当前反馈值,并根据所述当前状态信息和所述当前焊接参数以及所述当前反馈值作为第二训练数据,采用第二训练数据重新训练所述第二神经网络模型,得到更新后的第二神经网络模型;

根据更新后的第二神经网络模型重新选择第一训练数据,并采用重新选择的第一训练数据重新训练所述第一神经网络模型,得到更新后的第一神经网络模型;

在开始新的焊接过程后,采用更新后的第一神经网络模型更新焊接参数。

进一步地,所述状态信息是焊缝信息,所述检测焊接过程中的状态信息,包括:

获取焊板图像;

对所述焊板图像进行图像识别,提取出焊缝信息,所述焊缝信息包括:焊缝宽度。

进一步地,所述焊接参数包括:焊枪的移动速度。

进一步地,所述监控量包括:焊接材料的宽度和高度。

进一步地,所述第一神经网络模型或者所述第二神经网络模型包括:

输入层,用于输入输入值,当所述模型为第一神经网络模型时,所述输入值为状态信息,当所述模型为第二神经网络模型时,所述输入值包括:状态信息和焊接参数;

数据层,用于对所述状态信息表示的数据进行拼接,得到向量形式的数据;

数据重组层,用于对所述数据层输出的数据的维度重新设计;

全连接层,用于把所述数据层输出的数据线性变换到高维度;

激活层,用于对所述全连接层输出的数据进行非线性映射;

拼接层,用于对所述激活层和所述数据重组层输出的数据进行拼接;

归一化层,用于对所述拼接层输出的数据进行归一化;

重新缩放层,用于对归一化后的数据进行重新缩放;

输出层,用于根据重新缩放后的数据输出输出值,当所述模型为第一神经网络模型时,所述输出值为焊接参数,当所述模型为第二神经网络模型时,所述输出值包括:反馈值。

进一步地,所述全连接层为并联的多个全连接层。

进一步地,在训练所述第一神经网络模型或第二神经网络模型时,所述第一神经网络模型或第二神经网络模型还包括:

损失层,用于根据所述输出值确定损失函数,并通过最小化损失函数确定第一神经网络模型或第二神经网络模型的模型参数,以训练得到第一神经网络模型或第二神经网络模型。

或者,所述处理器被配置为:

采用如下方法确定焊接参数;所述方法包括:

检测焊接过程中的当前状态信息;

根据预先训练得到的第一神经网络模型和所述当前状态信息得到当前焊接参数,所述第一神经网络模型用于表示状态信息到焊接参数的映射;

其中,所述第一神经网络模型是根据第一训练数据训练得到的,所述第一训练数据包括:状态信息和焊接参数;

所述第一训练数据是根据预先训练得到的第二神经网络模型选择的反馈值大于预设值的状态信息和焊接参数,所述第二神经网络模型用于表示状态信息和焊接参数到反馈值的映射。

可选的,所述方法还包括:

在采用所述当前焊接参数完成所述焊接过程后,获取监控量;

根据所述监控量计算当前反馈值,并根据所述当前状态信息和所述当前焊接参数以及所述当前反馈值作为第二训练数据,采用第二训练数据重新训练所述第二神经网络模型,得到更新后的第二神经网络模型;

根据更新后的第二神经网络模型重新选择第一训练数据,并采用重新选择的第一训练数据重新训练所述第一神经网络模型,得到更新后的第一神经网络模型;

在开始新的焊接过程后,采用更新后的第一神经网络模型更新焊接参数。

可选的,所述状态信息是焊缝信息,所述检测焊接过程中的状态信息,包括:

获取焊板图像;

对所述焊板图像进行图像识别,提取出焊缝信息,所述焊缝信息包括:焊缝宽度。

可选的,所述焊接参数包括:焊枪的移动速度。

可选的,所述监控量包括:焊接材料的宽度和高度。

采用所述焊接参数进行焊接。

关于上述实施例中的设备,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。

需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

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