摩擦力识别方法、模组、设备及计算机可读介质
文献发布时间:2023-06-19 12:18:04
技术领域
本申请涉及自动控制技术领域,尤其涉及一种摩擦力识别方法、模组、设备及计算机可读介质。
背景技术
数控机床是典型的机电一体化产品,其与机械加工工艺紧密结合,是一种复杂的机械制造技术装备。在实际的加工系统或高精度定位系统中,可以以直线电机为母机的直接驱动式作为数控机床的驱动方式。然而,采用直线电机驱动的伺服系统存在非线性因素的影响,尤其是摩擦力的影响,在期望获得更高速度、更高精度的情况下,摩擦力的影响因素将会在很大程度上限制伺服控制系统的性能。
目前,相关技术中,可以采用摩擦模型来计算直线电机受到的摩擦力从而对直线电机进行适应性控制。相关技术中多为采用蚁群算法、遗传算法、粒子群算法等随机搜索算法来进行摩擦模型的训练,上述方法得到的摩擦模型尽管可以一定程度提高摩擦力识别的准确度,但是在高速高精度的要求下相关技术所能达到的准确度还十分有限。
针对摩擦力识别不够准确的技术问题,目前尚未提出有效的解决方案。
发明内容
本申请提供了一种摩擦力识别方法、模组、设备及计算机可读介质,以解决摩擦力识别不够准确的技术问题。
根据本申请实施例的一个方面,本申请提供了一种摩擦力识别方法,包括:
获取目标控制电机的当前转速;
将当前转速输入目标斯特里贝克模型进行识别,得到目标控制电机所受到的当前摩擦力;
其中,目标斯特里贝克模型为利用训练数据对原始的斯特里贝克模型内的模型参数进行迭代处理得到的,迭代处理包括利用本次迭代使用的模型参数确定摩擦力误差,根据摩擦力误差、搜索步长以及搜索方向对本次迭代使用的模型参数进行调整,得到下一次迭代使用的模型参数。
可选地,利用目标斯特里贝克模型进行摩擦力识别之前,所述方法还包括按照如下方式生成目标斯特里贝克模型:
获取控制电机的多组运行数据,其中,每组运行数据包括在控制电机的一个运行阶段采集到的实际转速和实际摩擦力,训练数据包括多组运行数据;
利用多组运行数据对原始的斯特里贝克模型内的模型参数进行迭代处理,并将参数迭代的结果作为斯特里贝克模型的最终的模型参数,得到目标斯特里贝克模型。
可选地,获取控制电机的多组运行数据包括:
获取控制电机在多个连续运行阶段的实际转速和实际摩擦力,实际摩擦力为速度控制器调节控制电机在相应运行阶段的转速时输出的相电流的幅值与控制电机的电机推力常数之间的乘积;
按照实际转速在多个连续运行阶段中所属的阶段将每个实际转速保存至转速队列,按照实际摩擦力在多个连续运行阶段中所属的阶段将每个实际摩擦力保存至摩擦力队列。
可选地,利用多组运行数据对原始斯特里贝克模型内的模型参数进行迭代处理包括按照如下方式进行每一次迭代:
从转速队列中选取当前阶段对应的第一转速,从摩擦力队列中选取当前阶段对应的第一摩擦力;
将本次迭代中模型参数的初始值作为第一模型参数,并将第一模型参数和第一转速代入斯特里贝克模型计算得到第二摩擦力,其中,第一次迭代时模型参数的初始值为预设值;
将第一摩擦力与第二摩擦力的差值确定为本次迭代的摩擦力误差;
利用摩擦力误差构建本次迭代的试验步,试验步包括搜索步长和搜索方向;
将第一模型参数与试验步的向量和作为第二模型参数,并将第二模型参数和第一转速代入斯特里贝克模型计算得到第三摩擦力;
在第二摩擦力大于第三摩擦力的情况下,将第二模型参数作为下一次迭代中斯特里贝克模型的模型参数的初始值进行迭代;
在第二摩擦力小于或等于第三摩擦力的情况下,继续将第一模型参数作为下一次迭代中斯特里贝克模型的模型参数的初始值进行迭代。
可选地,将参数迭代的结果作为斯特里贝克模型的最终的模型参数,得到目标斯特里贝克模型包括:
当预设条件被触发时,停止迭代,并将本次迭代的第一模型参数或第二模型参数确定为最终的模型参数,得到目标斯特里贝克模型;
预设条件包括以下至少一项:
本次迭代中摩擦力误差小于或等于预设误差阈值的情况;
转速队列和摩擦力队列中的每一个数据都被选取过;
迭代次数大于或等于次数阈值的情况。
可选地,利用摩擦力误差构建本次迭代的试验步包括:
将模型参数作为自变量,将摩擦力误差的平方作为因变量创建目标极值函数;
在目标网络中以第一模型参数为中心,建立目标极值函数的极值矩阵,目标网络为随机生成的有限矩阵;
利用极值矩阵和取反的极值矩阵创建目标搜索矩阵,目标搜索矩阵用于控制搜索方向;
利用目标网络的网格尺寸参数控制试验步的搜索步长,利用目标搜索矩阵控制试验步的搜索方向,构建试验步。
可选地,利用目标网络的网格尺寸参数控制试验步的搜索步长,利用目标搜索矩阵控制试验步的搜索方向,构建试验步包括:
将目标搜索矩阵和随机正跨越集组成矩阵,得到生成矩阵;
将网格尺寸参数、单位矩阵以及生成矩阵中的列向量相乘的结果确定为试验步。
可选地,得到目标控制电机所受到的当前摩擦力之后,所述方法还包括按照如下方式对目标控制电机进行摩擦力反馈补偿:
利用比例积分控制器将当前摩擦力通过反馈系数补偿到目标控制电机的控制电流环,以对所述目标控制电机进行摩擦力反馈补偿,其中,所述控制电流环为所述目标控制电机的伺服系统的控制环。
根据本申请实施例的另一方面,本申请提供了一种摩擦力识别模组,包括:
转速获取模块,用于获取目标控制电机的当前转速;
摩擦力识别模块,用于将当前转速输入目标斯特里贝克模型进行识别,得到目标控制电机所受到的当前摩擦力;
其中,目标斯特里贝克模型为利用训练数据对原始的斯特里贝克模型内的模型参数进行迭代处理得到的,迭代处理包括利用本次迭代使用的模型参数确定摩擦力误差,根据摩擦力误差、搜索步长以及搜索方向对本次迭代使用的模型参数进行调整,得到下一次迭代使用的模型参数。
根据本申请实施例的另一方面,本申请提供了一种直线电机伺服系统,包括上述方面记载的摩擦力识别模组、与摩擦力识别模组通信连接的积分比例控制器以及与摩擦力识别模组通信连接的转速判别模组;
其中,转速判别模组用于获取直线电机的当前转速,并在当前转速小于或等于预设速度阈值的情况下将当前转速发送至摩擦力识别模组;
摩擦力识别模组用于根据直线电机的当前转速识别直线电机所受到的当前摩擦力;
积分比例控制器用于将当前摩擦力通过反馈系数补偿到直线电机的控制电流环,以对直线电机进行摩擦力反馈补偿。
根据本申请实施例的另一方面,本申请提供了一种电子设备,包括存储器、处理器、通信接口及通信总线,存储器中存储有可在处理器上运行的计算机程序,存储器、处理器通过通信总线和通信接口进行通信,处理器执行计算机程序时实现上述方法的步骤。
根据本申请实施例的另一方面,本申请还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,程序代码使处理器执行上述的方法。
本申请实施例提供的上述技术方案与相关技术相比具有如下优点:
本申请技术方案为获取目标控制电机的当前转速;将当前转速输入目标斯特里贝克模型进行识别,得到目标控制电机所受到的当前摩擦力;其中,目标斯特里贝克模型为利用训练数据对原始的斯特里贝克模型内的模型参数进行迭代处理得到的,迭代处理包括利用本次迭代使用的模型参数确定摩擦力误差,根据摩擦力误差、搜索步长以及搜索方向对本次迭代使用的模型参数进行调整,得到下一次迭代使用的模型参数。本申请为了使得摩擦模型即斯特里贝克模型能够计算出更加准确的摩擦力,采用模式搜索的直接搜索方式辨识斯特里贝克模型的模型参数,从而解决摩擦力识别不够准确的技术问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为根据本申请实施例提供的一种可选的摩擦力识别方法硬件环境示意图;
图2为根据本申请实施例提供的一种可选的摩擦力识别方法流程图;
图3为根据本申请实施例提供的一种可选的模型参数迭代流程图;
图4为根据本申请实施例提供的一种可选的摩擦反馈补偿的直线电机控制系统原理图;
图5为根据本申请实施例提供的一种可选的摩擦反馈补偿软硬件整体实施示意图;
图6为根据本申请实施例提供的一种可选的摩擦力识别模组框图;
图7为根据本申请实施例提供的一种可选的直线电机伺服系统结构框图;
图8为本申请实施例提供的一种可选的电子设备结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。
数控机床是典型的机电一体化产品,它集计算机技术、自动控制技术、测量技术、传感器技术、微电子技术及人工智能技术等多种技术于一体,并与机械加工工艺紧密结合,是一种复杂的机械制造技术装备。
在实际的加工系统或高精度定位系统中,滚珠丝杆式是目前最常见的驱动方式,但是它在高速高精度领域的应用也面临着巨大挑战,这主要是由于:滚珠丝杠系统的中间转换环节容易产生弹性变形,使得系统的复杂性升高,降低了系统抵抗外界扰动的能力;中间转换环节引入的摩擦力、间隙死区及弹性形变等非线性因素进一步阻碍了该方式的精度。相比之下,直接驱动方式(以直线电机为母机)可以有效克服滚珠丝杠驱动方式的很多缺点,并且越来越被广泛应用在了高速高精度领域。然而,直线电机也并非完美无缺。采用直线电机驱动的伺服系统存在齿槽力、端部力、纹波力、摩擦力、负载扰动等非线性因素的影响,在期望获得更高速度、更高精度的情况时,上述干扰因素将会在很大程度上限制伺服控制系统的性能。
相关技术中,可以采用摩擦模型来计算直线电机受到的摩擦力从而对直线电机进行适应性控制。相关技术中多为采用蚁群算法、遗传算法、粒子群算法等随机搜索算法来进行摩擦模型的训练,上述方法得到的摩擦模型尽管可以一定程度提高摩擦力识别的准确度,但是在高速高精度的要求下相关技术所能达到的准确度还十分有限。
为了解决背景技术中提及的问题,根据本申请实施例的一方面,提供了一种摩擦力识别方法的实施例。采用本申请技术方案,利用模式搜索的直接搜索方式来迭代模型参数,利用模式搜索的特点,在迭代过程中无需计算或近似目标函数的导数信息,也无需将目标函数的值充分下降即可得到收敛性结果,算法简单,迭代速度快,不会占用过多硬件资源,最终得到的斯特里贝克模型能够计算出更加准确的摩擦力,解决了摩擦力识别不够准确的技术问题。
可选地,在本申请实施例中,上述摩擦力识别方法可以应用于如图1所示的由终端101和服务器103所构成的硬件环境中,直线电机的伺服系统可以搭建于上述服务器,服务器可以运行直线电机的伺服系统,终端也可以通过网络运行直线电机的伺服系统。
如图1所示,服务器103通过网络与终端101进行连接,可用于为终端或终端上安装的客户端提供服务,可在服务器上或独立于服务器设置数据库105,用于为服务器103提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101包括但不限于PC、手机、平板电脑等。
本申请实施例中的一种摩擦力识别方法可以由服务器103来执行,还可以是由服务器103和终端101共同执行,如图2所示,该方法可以包括以下步骤:
步骤S202,获取目标控制电机的当前转速;
步骤S204,将当前转速输入目标斯特里贝克模型进行识别,得到目标控制电机所受到的当前摩擦力;
其中,目标斯特里贝克模型为利用训练数据对原始的斯特里贝克模型内的模型参数进行迭代处理得到的,迭代处理包括利用本次迭代使用的模型参数确定摩擦力误差,根据摩擦力误差、搜索步长以及搜索方向对本次迭代使用的模型参数进行调整,得到下一次迭代使用的模型参数。
本申请实施例中,目标控制电机的伺服系统在线运行,伺服系统利用目标控制电机的当前转速获取目标控制电机所受到的当前摩擦力,才能对目标控制电机进行适应性控制。
本申请实施例中,可以采用斯特里贝克(Stribeck)模型作为伺服系统中识别摩擦力的摩擦模型,斯特里贝克模型具体为:
式中,
式中,F为摩擦力,v为相对运动速度,F
在该斯特里贝克模型中,需要迭代的模型参数包括:
即将需要迭代的库仑力、最大静摩擦力、Stribeck速度以及粘滞摩擦系数组成向量,采用模式搜索法直接搜索以上参数的可能的值。迭代时,选取实际转速作为斯特里贝克模型中的相对运动速度,通过上述公式计算出摩擦力,再将计算出来的摩擦力与该实际转速所在阶段的实际摩擦力进行对比得到摩擦力误差,进而利用摩擦力误差、模式搜索法确定的搜索步长和搜索方向确定下一次迭代使用的模型参数,迭代完成后得到最终的目标斯特里贝克模型。
采用本申请技术方案,利用模式搜索的直接搜索方式来迭代模型参数,利用模式搜索的特点,在迭代过程中无需计算或近似目标函数的导数信息,也无需将目标函数的值充分下降即可得到收敛性结果,算法简单,迭代速度快,不会占用过多硬件资源,最终得到的斯特里贝克模型能够计算出更加准确的摩擦力,解决了摩擦力识别不够准确的技术问题。
可选地,利用目标斯特里贝克模型进行摩擦力识别之前,所述方法还包括按照如下方式生成目标斯特里贝克模型:
步骤1,获取控制电机的多组运行数据,其中,每组运行数据包括在控制电机的一个运行阶段采集到的实际转速和实际摩擦力,训练数据包括多组运行数据。
步骤2,利用多组运行数据对原始的斯特里贝克模型内的模型参数进行迭代处理,并将参数迭代的结果作为斯特里贝克模型的最终的模型参数,得到目标斯特里贝克模型。
本申请实施例中,可以预先获取控制电机运行过程中的各个阶段的实际转速和实际摩擦力作为训练数据,实际转速用于输入摩擦模型计算控制电机该阶段受到的摩擦力,实际摩擦力用于为摩擦模型计算的摩擦力提供参照和对比,从而为摩擦模型的参数辨识提供数据基础。
本申请实施例中,一个实际转速和一个实际摩擦力为一组运行数据,在控制电机的不同运行阶段进行数据采集可以得到该多组运行数据。控制电机的运行阶段可以包括电机启动阶段、缓冲阶段、加速阶段、匀速阶段、降速阶段、停机阶段等。
可选地,获取控制电机的多组运行数据包括:
步骤1,获取控制电机在多个连续运行阶段的实际转速和实际摩擦力,实际摩擦力为速度控制器调节控制电机在相应运行阶段的转速时输出的相电流的幅值与控制电机的电机推力常数之间的乘积;
步骤2,按照实际转速在多个连续运行阶段中所属的阶段将每个实际转速保存至转速队列,按照实际摩擦力在多个连续运行阶段中所属的阶段将每个实际摩擦力保存至摩擦力队列。
本申请实施例中,控制电机在不同运行阶段不仅受到的摩擦力不同,运行负载也不同,使控制电机加速或减速的合力是由电机推力、负载以及摩擦力合成的,即
F
式中m为电机转子质量,a为加速度。因此,为了排除负载和加速度的干扰,可以优选电机匀速运行的多个阶段如低速匀速运行、高速匀速运行等获取实际转速和实际摩擦力。电机匀速运行时电机推力实际等于摩擦力,因此该情况下可以通过计算电机推力来间接得到电机受到的摩擦力。
本申请实施例中,实际转速可由速度计等速度测量设备测出,电机推力的计算需要先使用电流钳获得速度控制器的相电流的幅值,再将该幅值乘以该控制电机的电机推力常数K
本申请实施例中,由于采集数据众多,因此可以按照所在阶段将每个实际转速保存在队列中,得到转速队列
式中,M为运行数据的组数,
本申请实施例中,可以在离线状态下获取控制电机的实际转速和实际摩擦力,从而进行摩擦模型的离线参数辨识。离线辨识参数是通过收集相应数据经处理得到摩擦模型参数,在线辨识是根据外界的环境,负载变化等实时的获取参数。离线参数辨识可以获得更加精确的参数。
采用本申请技术方案,采集匀速运行时的控制电机的实际转速,并通过计算电机推力得到实际摩擦力,从而无需考虑加速度和负载的影响,减少了算法的复杂度,并为斯特里贝克模型的参数辨识提供了数据基础。
可选地,利用多组运行数据对原始的斯特里贝克模型内的模型参数进行迭代处理包括按照如下方式进行每一次迭代:
步骤S302,从转速队列中选取当前阶段对应的第一转速,从摩擦力队列中选取当前阶段对应的第一摩擦力。
本申请实施例中,每次迭代选取一组运行数据,包括同一运行阶段的实际转速和实际摩擦力(即第一转速和第一摩擦力)。第一转速用于输入本次迭代的斯特里贝克模型中与模型参数进行运算得到斯特里贝克模型计算出的该第一转速所在阶段的摩擦力。第一摩擦力用于与计算出来的摩擦力进行对比得到本次迭代的摩擦力误差,进而搜索新的模型参数。
步骤S304,将本次迭代中模型参数的初始值作为第一模型参数,并将第一模型参数和第一转速代入斯特里贝克模型计算得到第二摩擦力,其中,第一次迭代时模型参数的初始值为预设值。
本申请实施例中,第一次迭代时所用的模型参数的初始值为预设值,该预设值可以随机生成,也可以根据实验确定,还可以根据实际需求、根据经验设置。本次迭代所使用的模型参数可能是上一次迭代产生的新的模型参数,也可能是上一次或更早的迭代中就使用的模型参数。为了区分,将每一次迭代前模型参数的初始值作为第一模型参数,将该第一模型参数与第一转速代入斯特里比克模型中进行运算,从而得到斯特里贝克模型计算出的该第一转速所在阶段的摩擦力,该摩擦力为模型计算出来的摩擦力,因此记为第二摩擦力。
步骤S306,将第一摩擦力与第二摩擦力的差值确定为本次迭代的摩擦力误差。
本申请实施例中,摩擦力误差可以表示为:
式中,F(v)为第一摩擦力(即实际摩擦力),
步骤S308,利用摩擦力误差构建本次迭代的试验步,试验步包括搜索步长和搜索方向。
本申请实施例中,为了在后续迭代中减小误差,因此本次迭代时利用本次迭代的摩擦力误差构建本次迭代的试验步s
步骤S310,将第一模型参数与试验步的向量和作为第二模型参数,并将第二模型参数和第一转速代入斯特里贝克模型计算得到第三摩擦力。
本申请实施例中,需要迭代的模型参数的表示形式为:
因此,该第一模型参数也是一个四维列向量,将该第一模型参数与该试验步相加,所得到的新的列向量即为第二模型参数,再将第二模型参数与第一转速代入斯特里贝克模型计算得到第三摩擦力。若用x
步骤S312,在第二摩擦力大于第三摩擦力的情况下,将第二模型参数作为下一次迭代中斯特里贝克模型的模型参数的初始值进行迭代;在第二摩擦力小于或等于第三摩擦力的情况下,继续将第一模型参数作为下一次迭代中斯特里贝克模型的模型参数的初始值进行迭代。
本申请实施例中,第二摩擦力F(x
可选地,将参数迭代的结果作为斯特里贝克模型的最终的模型参数,得到目标斯特里贝克模型包括:
当预设条件被触发时,停止迭代,并将本次迭代的第一模型参数或第二模型参数确定为最终的模型参数,得到目标斯特里贝克模型;
预设条件包括以下至少一项:
本次迭代中摩擦力误差小于或等于预设误差阈值的情况;
转速队列和摩擦力队列中的每一个数据都被选取过;
迭代次数大于或等于次数阈值的情况。
本申请实施例中,终止迭代的条件可以是摩擦力误差小于或等于预设误差阈值,可以是所有数据都使用过之后终止迭代,还可以是迭代次数达到次数阈值时终止迭代。在本次迭代中摩擦力小于或等于预设误差阈值,说明当前的第一模型参数已经符合了预期,可以将第一模型参数作为斯特里贝克模型最终的模型参数,或者,还可以进一步的利用第一模型参数计算出第二模型参数,该第二模型参数与第一模型参数相比,误差同等或能进一步减小误差,可以将第二模型参数作为斯特里贝克模型最终的模型参数。在所有数据都被使用过作为迭代终止条件时,将最后一次迭代所计算出来的第二模型参数作为斯特里贝克模型最终的模型参数。在迭代次数大于或等于次数阈值作为迭代终止条件时,将最后一次迭代所计算出来的第二模型参数作为斯特里贝克模型最终的模型参数。
可选地,利用摩擦力误差构建本次迭代的试验步包括以下步骤:
步骤1,将模型参数作为自变量,将摩擦力误差的平方作为因变量创建目标极值函数。
本申请实施例中,目标极值函数为:
当目标极值函数Q取得极小值则认为取得理想参数。
步骤2,在目标网络中以第一模型参数为中心,建立目标极值函数的极值矩阵,目标网络为随机生成的有限矩阵。
本申请实施例中,目标网络D为有限矩阵,且每一个列向量都可以表示成一个可逆矩阵和一个整向量的乘积。目标极值函数的极值矩阵是由D中的列向量以当前迭代点为中心生成的,当前迭代点即为第一模型参数,具体的,极值矩阵为:
式中,Δ
需要说明的是,如果对任意的向量u∈R
则称该组向量{α
步骤3,利用极值矩阵和取反的极值矩阵创建目标搜索矩阵,目标搜索矩阵用于控制搜索方向。
本申请实施例中,目标搜索矩阵Γ
步骤4,利用目标网络的网格尺寸参数控制试验步的搜索步长,利用目标搜索矩阵控制试验步的搜索方向,构建试验步。
可选地,步骤4利用目标网络的网格尺寸参数控制试验步的搜索步长,利用目标搜索矩阵控制试验步的搜索方向,构建试验步包括:
步骤41,将目标搜索矩阵和随机正跨越集组成矩阵,得到生成矩阵。
本申请实施例中,生成矩阵为:
C
式中,Γ
步骤42,将网格尺寸参数、单位矩阵以及生成矩阵中的列向量相乘的结果确定为试验步。
本申请实施例中,上述网格尺寸参数同时作为步长控制参数,从而得到本次迭代的试验步为:
式中,E为单位矩阵,
可选地,得到目标控制电机所受到的当前摩擦力之后,所述方法还包括按照如下方式对目标控制电机进行摩擦力反馈补偿:
利用比例积分控制器将当前摩擦力通过反馈系数补偿到目标控制电机的控制电流环,以对所述目标控制电机进行摩擦力反馈补偿,其中,所述控制电流环为所述目标控制电机的伺服系统的控制环。
本申请实施例中,摩擦是设计高精度伺服系统时必须考虑的重要因素之一,摩擦会造成系统跟踪误差、极限环及低速爬行。因此,对于高精度的伺服系统,要想不增大增益而增加控制精度,就必须进行补偿。如图4所示,本申请将斯特里贝克模型与PI控制器(proportional integral controller,比例积分控制器)组成补偿模型。在线运行直线电机伺服系统时,通过最终的斯特里贝克模型(即目标斯特里贝克模型)实时获取直线电机在当前阶段受到的当前摩擦力,并利用PI控制器将当前摩擦力通过反馈系数补偿到直线电机伺服系统的控制电流环。该反馈系数可以根据实际情况或实际需要进行设置。
本申请实施例中,由于电机运行在高速模式下摩擦力的影响基本忽略,而在低速模式下摩擦力的影响不可忽略,因此在反馈的速度环上加入速度判断模块,当电机运行在低速模式下加入摩擦模型补偿,在高速模式下关闭,可减少系统复杂性和运算时间。
图4中,PMLSM为单轴直线永磁同步电机,其他PMSM永磁同步电机同样适用本申请。PMLSM在运行过程中,通过光栅尺检测电机转子的直线位移或者角位移。其测量输出的信号为数字脉冲,具有检测范围大,检测精度高,响应速度快的特点。直线位移和角位移反馈至加法器,与输入信号同时作用积分比例控制器PI。伺服系统根据直线位移、角位移计算速度,转速模组判断转速,高速情况下摩擦力可忽略,无需对摩擦力进行补偿,在低速下通过摩擦力识别模组(即斯特里贝克模型Stribeck)+PI控制器构成补偿模型对摩擦力进行补偿,即
本申请实施例中,如图5所示,摩擦反馈补偿的软硬件整体实施中,可以采用上位机进行算法仿真和数据处理,通过总线通信进入伺服驱动器,伺服驱动器包含1个ARM核(CPU)和一个FPGA核,其中ARM核包括多轴驱动算法模块、通信模块。其中驱动算法包含位置环计算和速度环计算;FPGA核主要包括电流采样模块、编码器模块、反馈控制模块以及SVPWM发生器。其中电流采样模块负责电机相电流采样;编码器模块读取电机编码器实时位置信息;应用M法和T法进行测速得到速度数据。M法是测量单位时间内的脉数换算成频率,因存在测量时间内首尾的半个脉冲问题,可能会有2个脉的误差。速度较低时因测量时间内的脉冲数变少,误差所占的比例会变大,所以M法宜测量高速。如要降低测量的速度下限,可以提高编码器线数或加大测量的单位时间,使用一次采集的脉冲数尽可能多。T法是测量两个脉冲之间的时间换算成周期,从而得到频率。因存在半个时间单位的问题,可能会有1个时间单位的误差。速度较高时,测得的周期较小,误差所占的比例变大,所以T法宜测量低速。如要增加速度测量的上限,可以减小编码器的脉冲数,或使用更小更精确的计时单位,使一次测量的时间值尽可能大。
采用本申请技术方案,在硬件实施方采用面集成SOC的方式,硬件集成度较高体积较小,ARM与FPGA通信速率更高,外设接口可灵活配置。
根据本申请实施例的又一方面,如图6所示,提供了一种摩擦力识别模组,包括:
转速获取模块601,用于获取目标控制电机的当前转速;
摩擦力识别模块603,用于将当前转速输入目标斯特里贝克模型进行识别,得到目标控制电机所受到的当前摩擦力;
其中,目标斯特里贝克模型为利用训练数据对原始的斯特里贝克模型内的模型参数进行迭代处理得到的,迭代处理包括利用本次迭代使用的模型参数确定摩擦力误差,根据摩擦力误差、搜索步长以及搜索方向对本次迭代使用的模型参数进行调整,得到下一次迭代使用的模型参数。
需要说明的是,该实施例中的数据获取模块601可以用于执行本申请实施例中的步骤S202,该实施例中的参数迭代模块603可以用于执行本申请实施例中的步骤S204。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
可选地,该摩擦力识别模组,还包括模型生成模块,用于:
获取控制电机的多组运行数据,其中,每组运行数据包括在控制电机的一个运行阶段采集到的实际转速和实际摩擦力,训练数据包括多组运行数据;
利用多组运行数据对原始的斯特里贝克模型内的模型参数进行迭代处理,并将参数迭代的结果作为斯特里贝克模型的最终的模型参数,得到目标斯特里贝克模型。
可选地,该模型生成模块,还包括训练数据获取单元,用于:
获取控制电机在多个连续运行阶段的实际转速和实际摩擦力,实际摩擦力为速度控制器调节控制电机在相应运行阶段的转速时输出的相电流的幅值与控制电机的电机推力常数之间的乘积;
按照实际转速在多个连续运行阶段中所属的阶段将每个实际转速保存至转速队列,按照实际摩擦力在多个连续运行阶段中所属的阶段将每个实际摩擦力保存至摩擦力队列。
可选地,该模型生成模块,还包括参数迭代单元,用于:
从转速队列中选取当前阶段对应的第一转速,从摩擦力队列中选取当前阶段对应的第一摩擦力;
将本次迭代中模型参数的初始值作为第一模型参数,并将第一模型参数和第一转速代入斯特里贝克模型计算得到第二摩擦力,其中,第一次迭代时模型参数的初始值为预设值;
将第一摩擦力与第二摩擦力的差值确定为本次迭代的摩擦力误差;
利用摩擦力误差构建本次迭代的试验步,试验步包括搜索步长和搜索方向;
将第一模型参数与试验步的向量和作为第二模型参数,并将第二模型参数和第一转速代入斯特里贝克模型计算得到第三摩擦力;
在第二摩擦力大于第三摩擦力的情况下,将第二模型参数作为下一次迭代中斯特里贝克模型的模型参数的初始值进行迭代;
在第二摩擦力小于或等于第三摩擦力的情况下,继续将第一模型参数作为下一次迭代中斯特里贝克模型的模型参数的初始值进行迭代。
可选地,该参数迭代单元,还用于:
当预设条件被触发时,停止迭代,并将本次迭代的第一模型参数或第二模型参数确定为最终的模型参数,得到目标斯特里贝克模型;
预设条件包括以下至少一项:
本次迭代中摩擦力误差小于或等于预设误差阈值的情况;
转速队列和摩擦力队列中的每一个数据都被选取过;
迭代次数大于或等于次数阈值的情况。
可选地,该参数迭代单元,还包括试验步构建单元,用于:
将模型参数作为自变量,将摩擦力误差的平方作为因变量创建目标极值函数;
在目标网络中以第一模型参数为中心,建立目标极值函数的极值矩阵,目标网络为随机生成的有限矩阵;
利用极值矩阵和取反的极值矩阵创建目标搜索矩阵,目标搜索矩阵用于控制搜索方向;
利用目标网络的网格尺寸参数控制试验步的搜索步长,利用目标搜索矩阵控制试验步的搜索方向,构建试验步。
可选地,该试验步构建单元,还用于:
将目标搜索矩阵和随机正跨越集组成矩阵,得到生成矩阵;
将网格尺寸参数、单位矩阵以及生成矩阵中的列向量相乘的结果确定为试验步。
可选地,该摩擦力识别模组,还包括反馈补偿模块,用于:
利用比例积分控制器将当前摩擦力通过反馈系数补偿到目标控制电机的控制电流环,以对所述目标控制电机进行摩擦力反馈补偿,其中,所述控制电流环为所述目标控制电机的伺服系统的控制环。
根据本申请实施例的另一方面,如图7所示,本申请提供了一种直线电机伺服系统,包括上述方面记载的摩擦力识别模组701、与摩擦力识别模组701通信连接的积分比例控制器703以及与摩擦力识别模组通信连接的转速判别模组705;
其中,转速判别模组用于获取直线电机的当前转速,并在当前转速小于或等于预设速度阈值的情况下将当前转速发送至摩擦力识别模组;
摩擦力识别模组用于根据直线电机的当前转速识别直线电机所受到的当前摩擦力;
积分比例控制器用于将当前摩擦力通过反馈系数补偿到直线电机的控制电流环,以对直线电机进行摩擦力反馈补偿。
直线电机伺服系统对电机的控制原理如图4所示,PMLSM在运行过程中,通过光栅尺检测电机转子的直线位移或者角位移。其测量输出的信号为数字脉冲,具有检测范围大,检测精度高,响应速度快的特点。直线位移和角位移反馈至加法器,与输入信号同时作用积分比例控制器PI。伺服系统根据直线位移、角位移计算速度,转速模组判断转速,高速情况下摩擦力可忽略,无需对摩擦力进行补偿,在低速下通过摩擦力识别模组(即斯特里贝克模型Stribeck)+PI控制器构成补偿模型对摩擦力进行补偿,即
根据本申请实施例的另一方面,本申请提供了一种电子设备,如图8所示,包括存储器801、处理器803、通信接口805及通信总线807,存储器801中存储有可在处理器803上运行的计算机程序,存储器801、处理器803通过通信接口805和通信总线807进行通信,处理器803执行计算机程序时实现上述方法的步骤。
上述电子设备中的存储器、处理器通过通信总线和通信接口进行通信。所述通信总线可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
根据本申请实施例的又一方面还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质。
可选地,在本申请实施例中,计算机可读介质被设置为存储用于所述处理器执行以下步骤的程序代码:
获取目标控制电机的当前转速;
将当前转速输入目标斯特里贝克模型进行识别,得到目标控制电机所受到的当前摩擦力;
其中,目标斯特里贝克模型为利用训练数据对原始的斯特里贝克模型内的模型参数进行迭代处理得到的,迭代处理包括利用本次迭代使用的模型参数确定摩擦力误差,根据摩擦力误差、搜索步长以及搜索方向对本次迭代使用的模型参数进行调整,得到下一次迭代使用的模型参数。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本申请实施例在具体实现时,可以参阅上述各个实施例,具有相应的技术效果。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
- 摩擦力识别方法、模组、设备及计算机可读介质
- 图像识别方法及装置、图像获取方法及设备、计算机设备及非易失性计算机可读存储介质