掌桥专利:专业的专利平台
掌桥专利
首页

数据获取方法、预训练方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 15:49:21



技术领域

本发明涉及数据处理领域,具体涉及一种数据获取方法、预训练方法、装置、电子设备及存储介质。

背景技术

预训练指的是在获得最终的训练模型前对初始的训练模型进行预先训练的过程,目的在于使用尽可能多的训练数据在相同或相似的任务中进行训练,以从中提取出尽可能多的共性特征,当模型中的共性特征被确定后,只需要将该模型置于实际的应用场景下再次进行训练以微调其他非共性特征,从而获得针对该实际的应用场景下较准确的模型;利用预训练的方式能够加快训练进度,增加模型的稳定性。

而为了准确提取出共性特征,往往要求用于训练预训练模型的训练数据需要保证有一定的准确性和真实性才能够确保最终训练得到的预训练模型的精确度,例如,每一组训练数据都包括有数据标签,该数据标签为该组数据的参考值,当该组数据输入至预训练模型中后,预训练模型输出的结果将会与该组数据的参考值对比,从而确定预训练模型的精确度。

对于机械臂的摩擦力补偿模型,输出的数据一般为摩擦力的具体数值,因而用作于对比的数据标签也应当是实际需要补偿的摩擦力的具体数值,然而实际需要补偿的摩擦力难以通过测量得出,现有技术中往往仅凭人的经验所得,以致训练预训练模型所用的训练数据的可靠性低。

因此,现有技术有待改进和发展。

发明内容

本发明的目的在于提供一种数据获取方法、预训练方法、装置、电子设备及存储介质,能够有效获取更符合实际的目标摩擦力值作为对应目标数据的数据标签,使得训练数据更加真实可靠。

第一方面,本申请提供一种数据获取方法,用于获取机械臂摩擦力补偿模型的预训练模型的训练数据,所述数据获取方法包括以下步骤:

S1.获取机械臂的多个模拟状态数据;所述模拟状态数据包括所述机械臂各关节的模拟速度值、模拟转矩值、模拟温度值和模拟位置值;

S2.分别以各个所述模拟状态数据为目标数据,根据所述目标数据计算对应的线性摩擦力值集合和非线性摩擦力值集合;所述线性摩擦力值集合为各所述关节的线性摩擦力值的集合,所述非线性摩擦力值集合为各所述关节的非线性摩擦力值的集合;

S3.根据所述线性摩擦力值集合和所述非线性摩擦力值集合计算与所述目标数据对应的目标摩擦力值集合;所述目标摩擦力值集合为各所述关节的目标摩擦力值的集合;

S4.根据各所述目标数据和对应的目标摩擦力值集合获取多组训练数据;每组所述训练数据包括一个所述目标数据及与所述目标数据对应的目标摩擦力值集合。

综合考虑线性因素和非线性因素计算得到各个目标数据的目标摩擦力值作为各个目标数据的标签,以使得到的训练数据更符合实际,避免了人为因素的影响,有利于提高训练数据的可靠性。

进一步的,步骤S2中的具体步骤包括:

S21.根据以下公式计算所述线性摩擦力值集合:

其中,

S22.根据以下公式计算所述非线性摩擦力值集合:

其中,

步骤S3中的具体步骤包括:

S31.根据所述线性摩擦力值集合和所述非线性摩擦力值集合计算与所述目标数据对应的理论摩擦力值集合;所述理论摩擦力值集合为各所述关节的理论摩擦力值的集合;

S32.根据所述理论摩擦力值集合计算与所述目标数据对应的目标摩擦力值集合。

通过结合线性摩擦力值和非线性摩擦力值,能够有效确保最终得出的目标摩擦力值与真实值误差较小,从而能够确保训练数据准确,因而有效保证预训练模型的精度。

进一步的,步骤S31中的具体步骤包括:

S311.根据以下公式计算所述理论摩擦力值集合:

其中,

根据上述公式计算理论摩擦力值,有利于保证预训练模型的精度,进而保证最终的摩擦力补偿模型输出结果的准确度。

进一步的,步骤S32中的具体步骤包括:

S321.根据以下公式计算与所述目标数据对应的第一摩擦力值集合,所述第一摩擦力值集合为各所述关节的第一摩擦力值的集合:

其中,

S322.根据所述第一摩擦力值集合计算与所述目标数据对应的目标摩擦力值集合。

基于理论摩擦力值,在此结合环境噪声的影响因素进行进一步计算得到更加符合客观事实的第一摩擦力值,使训练数据更贴近真实情况,有利于提高最终获得摩擦力补偿模型在应用时输出结果的准确度。

进一步的,步骤S322中的具体步骤包括:

根据以下公式计算与所述目标数据对应的目标摩擦力值集合:

其中,

第二方面,本申请还提供一种预训练方法,用于通过对机械臂摩擦力补偿模型的预训练模型进行训练得到最终的摩擦力补偿模型,包括步骤:

A1.按8:2的比例将所有上述数据获取方法获得的训练数据划分为训练集和测试集;

A2.将所述训练集输入到初始化的预训练模型中并利用梯度下降算法对所述预训练模型进行训练,直至在所有所述测试集输入到所述预训练模型中,所述预训练模型输出的所有值的平均方差小于预设的第一阈值时,或直至所述预训练模型的训练次数超过预设的第二阈值时,停止训练并得到完成训练的预训练模型;

A3.对所述完成训练的预训练模型进行微调得到最终的摩擦力补偿模型。

第三方面,本发明还提供了一种数据获取装置,用于获取机械臂摩擦力补偿模型的预训练模型的训练数据,所述数据获取装置包括:

第一获取模块,用于获取机械臂的多个模拟状态数据;所述模拟状态数据包括所述机械臂各关节的模拟速度值、模拟转矩值、模拟温度值和模拟位置值;

第一计算模块,用于分别以各个所述模拟状态数据为目标数据,根据所述目标数据计算对应的线性摩擦力值集合和非线性摩擦力值集合;所述线性摩擦力值集合为各所述关节的线性摩擦力值的集合,所述非线性摩擦力值集合为各所述关节的非线性摩擦力值的集合;

第二计算模块,用于根据所述线性摩擦力值集合和所述非线性摩擦力值集合计算与所述目标数据对应的目标摩擦力值集合;所述目标摩擦力值集合为各所述关节的目标摩擦力值的集合;

第二获取模块,用于根据各所述目标数据和对应的目标摩擦力值集合获取多组训练数据;每组所述训练数据包括一个所述目标数据及与所述目标数据对应的目标摩擦力值集合。

参考线性摩擦力和非线性摩擦力的两种理论摩擦力,并作结合计算得到目标摩擦力,有利于确保得到的目标摩擦力符合理论事实,避免最终的摩擦力补偿模型输出结果过于偏离真实值。

第四方面,本发明还提供了一种预训练装置,用于通过对机械臂摩擦力补偿模型的预训练模型进行训练得到最终的摩擦力补偿模型,所述预训练装置包括:

数据划分模块,用于按8:2的比例将所有上述数据获取方法获得的训练数据划分为训练集和测试集;

训练模块,用于将所述训练集输入到初始化的预训练模型中并利用梯度下降算法对所述预训练模型进行训练,直至在所有所述测试集输入到所述预训练模型中,所述预训练模型输出的所有值的平均方差小于预设的第一阈值时,或直至所述预训练模型的训练次数超过预设的第二阈值时,停止训练并得到完成训练的预训练模型;

微调模块,用于对所述完成训练的预训练模型进行微调得到最终的摩擦力补偿模型。

基于训练数据对初始化的预训练模型进行训练得到完成训练的预训练模型,得到完成训练的预训练模型后即可以通过更快的速度对实际应用时不同的机械臂进行针对性微调,从而快速得到各种机械臂对应契合的摩擦力补偿模型,同时因为摩擦力补偿模型对机械臂高度契合,对于该机械臂的补偿结果准确度也更高。

第五方面,本发明提供了一种电子设备,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如上述数据获取方法中的步骤,和/或运行如上述预训练方法中的步骤。

第六方面,本发明提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上述数据获取方法中的步骤,和/或运行如上述预训练方法中的步骤。

由上可知,本申请结合理论基础,综合考虑线性摩擦力和非线性摩擦力对机械臂在实际应用时的影响,结合计算得到各个目标数据对应的目标摩擦力值并以此作为各个目标数据的数据标签,相比于仅凭个人经验确定数据标签,排除了人为因素,提高了训练数据的可靠性,同时结合理论的计算能够避免训练数据过分偏离,有利于确保训练数据更准确和真实。

附图说明

图1为本申请实施例提供的数据获取方法的一种流程图。

图2为本申请实施例提供的预训练方法的一种流程图。

图3为本申请实施例提供的数据获取装置的一种结构示意图。

图4为本申请实施例提供的预训练装置的一种结构示意图。

图5为本申请实施例提供的电子设备的结构示意图。

具体实施方式

下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

在某些实施例中,一种数据获取方法,用于获取机械臂摩擦力补偿模型的预训练模型的训练数据,包括步骤:

S1.获取机械臂的多个模拟状态数据;模拟状态数据包括机械臂各关节的模拟速度值、模拟转矩值、模拟温度值和模拟位置值;

S2.分别以各个模拟状态数据为目标数据,根据目标数据计算对应的线性摩擦力值集合和非线性摩擦力值集合;线性摩擦力值集合为各关节的线性摩擦力值的集合,非线性摩擦力值集合为各关节的非线性摩擦力值的集合;

S3.根据线性摩擦力值集合和非线性摩擦力值集合计算与目标数据对应的目标摩擦力值集合;目标摩擦力值集合为各关节的目标摩擦力值的集合;

S4.根据各目标数据和对应的目标摩擦力值集合获取多组训练数据;每组训练数据包括一个目标数据及与该目标数据对应的目标摩擦力值集合。

本实施例中,用户可以在确定了实际机械臂的工作空间后,在模拟环境中让机械臂以空间分辨率为采样间隔随机地在工作空间中一直运动一段时间,力求得到机械臂在工作空间中所有能够做出的运动状态对应的数据,机械臂每种运动状态对应的数据即为本实施例中的模拟状态数据。

获得足够多的目标数据后,通过计算各个目标数据对应的线性摩擦力值集合和非线性摩擦力值集合,并将两个集合的数据进行结合计算出目标摩擦力值集合,该目标摩擦力值集合即为目标数据的数据标签,每个目标数据与对应的数据标签组合出多个训练数据(训练预训练模型所需的训练数据必须包含特征数据和数据标签才能够有效用作训练,预训练模型才能够正常输出结果,此为现有技术在此不再赘述);数据标签将作为摩擦力补偿模型的输出结果的标准值,以便于准确评判该摩擦力补偿模型的准确度。

需要说明的是,目标数据包括了机械臂所有关节对应的模拟速度值、模拟转矩值、模拟温度值和模拟位置值(下文将模拟速度值、模拟转矩值、模拟温度值和模拟位置值统一称为关节数据),而计算线性摩擦力值和非线性摩擦力值时,需要对应到具体的关节上,例如机械臂包括3个关节,则一个目标数据包括了第一关节的关节数据、第二关节的关节数据和第三关节的关节数据,根据上述三组关节数据分别计算出第一关节的线性摩擦力值和非线性摩擦力值、第二关节的线性摩擦力值和非线性摩擦力值、第三关节的线性摩擦力值和非线性摩擦力值,因此根据目标数据计算得到的实际上是线性摩擦力值集合和非线性摩擦力值集合;同理,目标摩擦力值也对应到具体的关节上,因此计算得到的是目标摩擦力值集合。

在某些实施例中,步骤S2中的具体步骤包括:

S21.根据以下公式计算线性摩擦力值集合:

其中,

S22.根据以下公式计算非线性摩擦力值集合:

其中,

步骤S3中的具体步骤包括:

S31.根据线性摩擦力值集合和非线性摩擦力值集合计算与目标数据对应的理论摩擦力值集合;理论摩擦力值集合为各关节的理论摩擦力值的集合;

S32.根据理论摩擦力值集合计算与目标数据对应的目标摩擦力值集合。

本实施例中,摩擦力只有两大类,一类为线性摩擦力,一类为非线性摩擦力,通过上述公式计算出的线性摩擦力值和非线性摩擦力值符合理论要求,理论要求是人类根据自然规律总结出的一套适用理论,在相同的自然规律下,理论值与真实值高度相关(真实值一般逼近于理论值),相比于仅凭经验设定,结合符合自然规律的理论计算能够有效确保最终得出的目标摩擦力值与真实值误差较小,从而能够确保训练数据准确,因而有效保证预训练模型的精度,进而保证最终的摩擦力补偿模型输出结果的准确度。

需要说明的是,

在某些实施例中,步骤S31中的具体步骤包括:

S311.根据以下公式计算理论摩擦力值集合:

其中,

根据本实施例中的公式将各个目标数据中对应的各个关节的线性摩擦力值和非线性摩擦力值进行结合计算得到理论摩擦力值集合。

需要说明的是,

在某些实施例中,步骤S32中的具体步骤包括:

S321.根据以下公式计算与目标数据对应的第一摩擦力值集合,第一摩擦力值集合为各关节的第一摩擦力值的集合:

其中,

S322.根据第一摩擦力值集合计算与目标数据对应的目标摩擦力值集合。

在实际应用时,机械臂上各个关节运动过程中,往往会存在多种影响摩擦力的外界因素,例如关节上涂抹的润滑脂规格(不同种类的润滑脂会影响关节间的摩擦力)、关节间结构的温度(结构的热胀冷缩也会影响关节间的摩擦力)、关节间结构的磨损程度(结构磨损会导致关节间结构之间的接触面积增加或减少,从而影响关节间的摩擦力)等,上述外界因素统称为环境噪声,环境噪声并不包含在理论摩擦力值中,因此为了确保摩擦力补偿模型输出结果的真实性和可靠性,通过本实施例中的公式,在理论摩擦力值的基础上增加符合客观事实的环境噪声从而得到第一摩擦力值,第一摩擦力值相比于理论摩擦力值,更加符合客观事实,使得训练数据更加贴近真实情况,进一步保证预训练模型的精度,有利于提高最终得到的摩擦力补偿模型的准确度。

在某些实施例中,步骤S322中的具体步骤包括:

根据以下公式计算与目标数据对应的目标摩擦力值集合:

其中,

在实际应用中,机械臂每次的运动状态之间总是存在运动序列关系,例如时序连续性(即上一次运动状态与下次运动状态之间存在时间关联)等,这种运动序列关系也是客观存在的其中一种影响因素之一,也会对摩擦力产生一定的干预,因此通过模拟实际应用时所出现的运动序列关系并加入到目标摩擦力值的计算过程中,能够使目标摩擦力值更加符合客观事实,更具真实性,而本身实施例通过上述公式以空间连续性替代时序连续性,将时序特征转换为空间特征(以关节坐标表示)从而将时序关系结合到目标摩擦力值的计算过程中,大大增加了目标摩擦力值的真实性,进一步使训练数据更加贴近真实情况,有效保证预训练模型的精度,有利于提高最终获得摩擦力补偿模型在应用时输出结果的准确度。

需要说明的是,

本申请还提供一种预训练方法,用于通过对机械臂摩擦力补偿模型的预训练模型进行训练得到最终的摩擦力补偿模型,包括步骤:

A1.按8:2的比例将所有通过上述数据获取方法获得的训练数据划分为训练集和测试集;

A2.将训练集输入到初始化的预训练模型中并利用梯度下降算法对预训练模型进行训练,直至在所有测试集输入到预训练模型中,预训练模型输出的所有值的平均方差小于预设的第一阈值时,或直至预训练模型的训练次数超过预设的第二阈值时,停止训练并得到完成训练的预训练模型;

A3.对完成训练的预训练模型进行微调得到最终的摩擦力补偿模型。

本实施例中,经上述方法得到训练数据后,将训练数据输入到初始化的预训练模型中进行训练,待到达上述训练条件后,即可认为该预训练模型已完成训练,从而得到完成训练的预训练模型,最后根据实际应用的机械臂对完成训练的预训练模型进行针对性微调即可获得最终的摩擦力补偿模型。

需要说明的是,梯度下降算法为现有技术,在此不再赘述。

在某些实施例中,步骤A3中的具体步骤包括:

A31.将完成训练的预训练模型部署在机械臂中获取机械臂各个关节的真实状态数据;真实状态数据包括关节的真实速度值、真实转矩值、真实温度值和真实位置值;

A32.选取完成训练的预训练模型中的部分参数作为第一参数,将第一参数冻结;未被冻结的参数为第二参数;

A33.基于机械臂的各个关节的真实状态数据调整第二参数,以得到最终的摩擦力补偿模型。

本实施例中,通过上述训练数据训练后,能够获得完成训练的预训练模型,然而因为训练数据是基于模拟状态数据得到的,模拟状态数据与实际机械臂上真实采集到的真实数据之间仍然存在一定差异,这种差异会增加摩擦力补偿模型输出结果与真实结果之间的误差,因此完成训练的预训练模型并不能直接作为摩擦力补偿模型进行使用,本实施例将完成训练的预训练模型部署在作为应用对象的机械臂上,通过获取机械臂的真实状态数据,并以真实状态数据通过上述数据获取方法以相同的计算方式计算出目标摩擦力值,并依此得到训练数据再次输入到完成训练的预训练模型中进行训练,而因为完成训练的预训练模型在之前的训练过程中已将大部分机械臂的共性特征提取并确定为第一参数(共性特征在完成训练的预训练模型中对应的参数则为上述的第一参数,因为提取的是多种机械臂共同持有的特征数据,尽管完成训练的预训练模型实际应用于不同机械臂,该第一参数也不会有太大改变),在不同的应用对象(机械臂)下,第一参数变化不大甚至可以忽略,因此对最终的摩擦力补偿模型输出结果的准确度的影响微乎其微。

本实施例通过冻结该第一参数再对完成训练的预训练模型进行训练能够大大减少不必要的训练时间,有效缩短训练时间,仅需要针对应用对象(机械臂)微调第二参数即可得到高度契合该机械臂的最终的摩擦力补偿模型。

需要说明的是,微调第二参数的方法与获得上述第一参数的方法相同,将真实状态数据分为训练集和测试集(训练集和测试集中的数据标签用上述实施例中相同的计算公式进行计算,在此不再赘述),训练集输入至完成训练的预训练模型中对完成训练的预训练模型进行迭代训练,迭代训练过程不断更新第二参数,在测试集输入到完成训练的预训练模型中,完成训练的预训练模型输出的所有值的平均方差小于预设的第三阈值时,或直至完成训练的预训练模型训练次数超过预设的第四阈值时,得到最优的第二参数;最后,解除对第一参数的冻结,其中第一参数结合最优的第二参数的参数组合对应的模型即为最终的摩擦力补偿模型。

此外,因为第一参数被冻结,本实施例中仅针对第二参数进行微调,其训练过程必然更快(相比于上述预训练方法中的预训练过程,本实施例对完成训练的预训练模型进行微调,其收敛速度更快,在短时间内就能够使完成训练的预训练模型输出的所有值的平均方差小于预设的第三阈值,或所需的训练次数更少)。

请参照图3,图3是本申请一些实施例中的一种数据获取装置,用于获取机械臂摩擦力补偿模型的预训练模型的训练数据,该数据获取装置以计算机程序的形式集成在该数据获取装置的后端控制设备中,该数据获取装置包括:

第一获取模块100,用于获取机械臂的多个模拟状态数据;模拟状态数据包括机械臂各关节的模拟速度值、模拟转矩值、模拟温度值和模拟位置值;

第一计算模块200,用于分别以各个模拟状态数据为目标数据,根据目标数据计算对应的线性摩擦力值集合和非线性摩擦力值集合;线性摩擦力值集合为各关节的线性摩擦力值的集合,非线性摩擦力值集合为各关节的非线性摩擦力值的集合;

第二计算模块300,用于根据线性摩擦力值集合和非线性摩擦力值集合计算与目标数据对应的目标摩擦力值集合;目标摩擦力值集合为各关节的目标摩擦力值的集合;

第二获取模块400,用于根据各目标数据和对应的目标摩擦力值集合获取多组训练数据;每组训练数据包括一个目标数据及与该目标数据对应的目标摩擦力值集合。

在某些实施例中,第一计算模块200在用于分别以各个模拟状态数据为目标数据,根据目标数据计算对应的线性摩擦力值集合和非线性摩擦力值集合;线性摩擦力值集合为各关节的线性摩擦力值的集合,非线性摩擦力值集合为各关节的非线性摩擦力值的集合的时候执行:

S21.根据以下公式计算线性摩擦力值集合:

其中,

S22.根据以下公式计算非线性摩擦力值集合:

其中,

在某些实施例中,第二计算模块300在用于根据线性摩擦力值集合和非线性摩擦力值集合计算与目标数据对应的目标摩擦力值集合;目标摩擦力值集合为各关节的目标摩擦力值的集合的时候执行:

S31.根据线性摩擦力值集合和非线性摩擦力值集合计算与目标数据对应的理论摩擦力值集合;理论摩擦力值集合为各关节的理论摩擦力值的集合;

S32.根据理论摩擦力值集合计算与目标数据对应的目标摩擦力值集合。

在某些实施例中,第二计算模块300在用于根据线性摩擦力值集合和非线性摩擦力值集合计算与目标数据对应的理论摩擦力值集合;理论摩擦力值集合为各关节的理论摩擦力值的集合的时候执行:

S311.根据以下公式计算理论摩擦力值集合:

其中,

在某些实施例中,第二计算模块300在用于根据理论摩擦力值集合计算与目标数据对应的目标摩擦力值集合;目标摩擦力值集合为各关节的目标摩擦力值的集合的时候执行:

S321.根据以下公式计算与目标数据对应的第一摩擦力值集合,第一摩擦力值集合为各关节的第一摩擦力值的集合:

其中,

S322.根据第一摩擦力值集合计算与目标数据对应的目标摩擦力值集合。

在某些实施例中,第二计算模块300在用于根据第一摩擦力值集合计算与目标数据对应的目标摩擦力值集合的时候执行:

根据以下公式计算与目标数据对应的目标摩擦力值集合:

其中,

请参照图4,图4是本申请一些实施例中的一种预训练装置,用于通过对机械臂摩擦力补偿模型的预训练模型进行训练得到最终的摩擦力补偿模型,该预训练装置以计算机程序的形式集成在该预训练装置的后端控制设备中,该预训练装置包括:

数据划分模块500,用于按8:2的比例将通过上述数据获取方法获得的训练数据划分为训练集和测试集;

训练模块600,用于将训练集输入到初始化的预训练模型中并利用梯度下降算法对预训练模型进行训练,直至在所有测试集输入到预训练模型中,预训练模型输出的所有值的平均方差小于预设的第一阈值时,或直至预训练模型的训练次数超过预设的第二阈值时,停止训练并得到完成训练的预训练模型;

微调模块700,用于对完成训练的预训练模型进行微调得到最终的摩擦力补偿模型。

在某些实施例中,微调模块700在用于对完成训练的预训练模型进行微调得到最终的摩擦力补偿模型的时候执行:

A31.将完成训练的预训练模型部署在机械臂中获取机械臂各个关节的真实状态数据;真实状态数据包括关节的真实速度值、真实转矩值、真实温度值和真实位置值;

A32.选取完成训练的预训练模型中的部分参数作为第一参数,将第一参数冻结;未被冻结的参数为第二参数;

A33.基于机械臂的各个关节的真实状态数据调整第二参数,以得到最终的摩擦力补偿模型。

请参照图5,图5为本申请实施例提供的一种电子设备的结构示意图,本申请提供一种电子设备,包括:处理器1301和存储器1302,处理器1301和存储器1302通过通信总线1303和/或其他形式的连接机构(未标出)互连并相互通讯,存储器1302存储有处理器1301可执行的计算机程序,当计算设备运行时,处理器1301执行该计算机程序,以执行上述实施例的任一可选的实现方式中的数据获取方法,以实现以下功能:获取机械臂的多个模拟状态数据;模拟状态数据包括机械臂各关节的模拟速度值、模拟转矩值、模拟温度值和模拟位置值;分别以各个模拟状态数据为目标数据,根据目标数据计算对应的线性摩擦力值集合和非线性摩擦力值集合;线性摩擦力值集合为各关节的线性摩擦力值的集合,非线性摩擦力值集合为各关节的非线性摩擦力值的集合;根据线性摩擦力值集合和非线性摩擦力值集合计算与目标数据对应的目标摩擦力值集合;目标摩擦力值集合为各关节的目标摩擦力值的集合;根据各目标数据和对应的目标摩擦力值集合获取多组训练数据;每组训练数据包括一个目标数据及与该目标数据对应的目标摩擦力值集合。

和/或以执行上述实施例的任一可选的实现方式中的预训练方法,以实现以下功能:按8:2的比例将通过上述数据获取方法获得的训练数据划分为训练集和测试集;将训练集输入到初始化的预训练模型中并利用梯度下降算法对预训练模型进行训练,直至在所有测试集输入到预训练模型中,预训练模型输出的所有值的平均方差小于预设的第一阈值时,或直至预训练模型的训练次数超过预设的第二阈值时,停止训练并得到完成训练的预训练模型;对完成训练的预训练模型进行微调得到最终的摩擦力补偿模型。

本申请实施例提供一种存储介质,其上存储有计算机程序,计算机程序被处理器执行时,执行上述实施例的任一可选的实现方式中的数据获取方法,以实现以下功能:获取机械臂的多个模拟状态数据;模拟状态数据包括机械臂各关节的模拟速度值、模拟转矩值、模拟温度值和模拟位置值;分别以各个模拟状态数据为目标数据,根据目标数据计算对应的线性摩擦力值集合和非线性摩擦力值集合;线性摩擦力值集合为各关节的线性摩擦力值的集合,非线性摩擦力值集合为各关节的非线性摩擦力值的集合;根据线性摩擦力值集合和非线性摩擦力值集合计算与目标数据对应的目标摩擦力值集合;目标摩擦力值集合为各关节的目标摩擦力值的集合;根据各目标数据和对应的目标摩擦力值集合获取多组训练数据;每组训练数据包括一个目标数据及与该目标数据对应的目标摩擦力值集合。

和/或执行上述实施例的任一可选的实现方式中的预训练方法,以实现以下功能:按8:2的比例将通过上述数据获取方法获得的训练数据划分为训练集和测试集;将训练集输入到初始化的预训练模型中并利用梯度下降算法对预训练模型进行训练,直至在所有测试集输入到预训练模型中,预训练模型输出的所有值的平均方差小于预设的第一阈值时,或直至预训练模型的训练次数超过预设的第二阈值时,停止训练并得到完成训练的预训练模型;对完成训练的预训练模型进行微调得到最终的摩擦力补偿模型。

其中,存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory, 简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory, 简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory, 简称EPROM),可编程只读存储器(Programmable Red-Only Memory, 简称PROM),只读存储器(Read-OnlyMemory, 简称ROM),磁存储器,快闪存储器,磁盘或光盘。

在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

技术分类

06120114589635