本发明涉及伺服控制系统,特别涉及一种干扰作用下数据驱动的伺服机构误差建模方法及系统。
背景技术:
1、伺服机构在生产、制造、加工和使用过程中难免存在机械和控制误差,导致伺服机构在实际使用时,实际运动轨迹和理想运动轨迹不吻合存在误差。因此为了保证伺服机构运行过程中的静态精度和动态精度,需要找出其误差来源进行分析,并建立完善的数学模型,分析各个误差源对于最终伺服机构精度的影响。通过建立精确的误差模型,可以更好地分析和评估伺服机构的性能,并为伺服机构的精度提升提供参考和指导,故误差建模方法成为了伺服机构领域的研究重点。
2、现阶段对于伺服机构误差建模常用的方法包括机构学法、刚体运动学法和误差矩阵法。机构学法一般根据伺服机构的几何结构和运动特性,推导出误差模型以描述机构中的各种误差来源;刚体运动学法基于刚体运动学理论,通过建立刚体的位姿和运动参数之间的关系,对伺服机构的误差进行建模;误差矩阵法则通过矩阵表示机构中的各个误差项,并通过矩阵运算来描述它们之间的相互关系。
3、针对伺服机构的伺服机构误差建模,现有技术未作出充分的考虑。比如:文献号为cn112255920a的现有技术公开了一种基于数据驱动的自适应最优迭代学习控制方法,其将非参数模型辨识方法与最优迭代学习方法相结合构成一种基于数据驱动的自适应最优迭代学习控制方法,在迭代过程中进行名义模型的辨识并不断更新迭代学习控制器;利用基于数据驱动的自适应最优迭代学习方法对控制信号进行迭代更新,将更新后的驱动力重新下发至运动控制卡,反复此迭代学习过程提高伺服系统跟踪精度。其不需要精确的系统模型信息,并且能够有效应对系统参数摄动,弥补了最优迭代学习方法的不足,提高了系统跟踪精度。cn112255920a号文献中参数辨识只适合于选取线性名义模型。
4、文献号为cn113189868a现有技术公开了一种伺服系统动态误差的精确补偿方法,其包括:选取不同幅值的斜坡信号作为伺服控制系统的输入信号,通过最小二乘法准确辨识输入信号和误差信号得到一阶动态误差系数;基于一阶动态误差系数,选取不同幅值的抛物线信号作为伺服控制系统的输入信号,通过最小二乘法准确辨识输入信号和误差信号得到二阶动态误差系数;基于一阶和二阶动态误差系数,选取不同幅值的正弦信号作为伺服控制系统的输入信号,近似辨识得到三阶动态误差系数;根据一阶、二阶和三阶动态误差系数设计指令补偿方法。该方法可以更精确地辨识出伺服控制系统的动态误差系数,并由此计算出系统的原理性误差并在指令中进行补偿,从而显著提升伺服系统的跟踪精度。该现技术只能够对于伺服机构的控制误差进行建模,没有对于伺服机构的机械误差进行建模,从而导致伺服机构误差建模不高。
5、现有技术在伺服机构误差建模上具有一定效果,且使用数据驱动的方法在一定程度上减小模型具体信息的需求,然而现有技术仍然需要伺服机构的名义模型,且辨识得到的模型一般为实际模型的线性近似,难以对于复杂的非线性及扰动成分进行建模。因此,需要一种在不具体分析伺服机构内部结构的情况下、基于试验数据对于具有扰动及非线性环节的伺服机构的误差进行建模的方法,从而更精确的预测伺服机构运行时的误差,为后续的误差补偿奠定基础。
技术实现思路
1、本发明要解决的技术问题为:
2、本发明的目的是提出一种考虑干扰作用下基于数据驱动的伺服系统误差建模方法及系统,以实现在不具体分析伺服机构内部结构的情况下对伺服机构的误差进行建模,从而更精确的预测伺服机构运行时的误差,为后续的误差补偿奠定基础。
3、本发明为解决上述技术问题所采用的技术方案为:
4、一种考虑干扰作用下基于数据驱动的伺服系统误差建模方法,所述方法包括:
5、步骤一:建立伺服机构试验输入信号集:
6、选取伺服机构实际调试过程中的典型指令信号作为伺服机构试验的输入信号,通过选取不同的参数构建有限个输入信号,进而建立伺服机构试验输入信号集;该输入信号集中信号应具有尽可能丰富的频谱且处于伺服机构的带宽内。为在数据集中包含系统的低频特征,需要使用不同参数的斜坡,抛物线等形式的低频信号进行激励,为包含系统其他频段的特征,可以使用组合的正弦信号进行激励,其中用于组合的正弦信号需要在伺服机构的带宽内随机采样得到;
7、步骤二:基于步骤一的输入信号集进行干扰作用下的伺服机构试验,建立伺服机构试验误差信号集;
8、针对步骤一生成的输入信号集,使用集合中的每一条输入信号分别作为伺服机构的指令信号,在存在干扰作用的情况下进行有限次试验,得到有限条伺服机构的实际输出信号;将伺服机构每次试验中的指令信号与实际输出信号做差得到有限条误差信号,从而构成伺服机构试验误差信号集;
9、步骤三:基于步骤一得到的输入信号集和步骤二得到的误差信号集,建立干扰作用下的伺服机构误差建模训练集,具体步骤包括:
10、(1)训练集输入、输出样本计算:训练集的输入样本包括伺服机构试验输入信号集中的信号及其各阶导数;训练集的输出样本包括伺服机构试验误差信号集中的信号;其中伺服机构试验过程的输入信号集和误差信号集在步骤一和步骤二中已经分别得到,输入信号的各阶导数需要进一步计算;当输入信号的函数形式已知且可导,则可直接对输入信号进行求导;否则对输入信号进行差分,得到各阶导数的近似值;
11、(2)训练集标准化:基于训练集中样本的均值与标准差对其输入样本和输出样本进行标准化以加快训练速度,并保存训练集均值与标准差;
12、步骤四:基于循环神经网络的结构,构建数据驱动的伺服机构误差模型并基于步骤三构建的训练集进行训练,得到干扰作用下基于数据驱动的误差模型。
13、进一步地,步骤一具体为:
14、使用伺服机构实际调试过程中的典型指令信号作为伺服机构试验的输入信号,伺服机构的典型指令信号为正弦信号、组合的正弦信号、斜坡信号和抛物线信号(在模型训练过程中都有使用);
15、其中,所述正弦信号具有如下形式:
16、
17、其中,a1、b1、ω1和为信号的参数。
18、所述组合正弦信号具有如下形式:
19、
20、其中,asi、ωsi和为信号的参数,n为叠加的正弦信号数量。
21、所述斜坡信号具有如下形式:
22、r3(t)=a3t+b3
23、其中,a3和b3为信号的参数;
24、所述抛物线信号具有如下形式:
25、
26、其中,a4和b4为信号的参数;
27、基于上述四种信号,通过选取不同参数生成有限条输入信号,从而建立伺服机构试验输入信号集;其中,参数选择应当使输入信号包含尽可能丰富的频率信息且处于伺服机构带宽内。
28、进一步地,步骤二具体为:基于步骤一的输入信号集进行干扰作用下的伺服机构试验,建立伺服机构试验误差信号集:
29、使用的伺服机构(如图1所示)为由控制器及执行机构组成的闭环控制系统,其中伺服机构的输出信号为执行机构的输出信号,对于任意执行机构模型和控制器,伺服机构输出信号的数学描述如下:
30、
31、其中,k(s)为伺服机构的控制器的传递函数,g(s)为执行机构的传递函数,d(s)为扰动信号,r(s)为伺服机构的输入信号,y(s)为伺服机构的输出信号,e(s)为伺服机构试验误差信号;
32、将步骤一中输入信号集中的各个信号分别作为伺服机构的指令信号,在未知扰动信号的作用下进行有限次试验,测量对应的实际输出信号,并将指令信号和实际输出信号做差得到有限条伺服机构误差信号,从而构成伺服机构试验误差信号集。
33、进一步地,在步骤三中(这一部分是如图2所示),
34、(1)训练集输入、输出样本计算:取伺服机构输入信号集中的信号及其一至三阶导数作为训练集的输入样本,计算输入信号的各阶导数:
35、对于所述正弦信号,其对应训练集输入样本具有如下形式:
36、
37、对于所述组合正弦信号,其对应训练集输入样本具有如下形式:
38、
39、对于所述斜坡信号,其对应训练集输入样本具有如下形式:
40、
41、对于所述抛物线信号,其对应训练集输入样本具有如下形式:
42、
43、对于训练集输出样本,采用步骤二中计算得到的误差信号集中的信号;
44、(2)训练集标准化:为加快训练速度,对于训练集中的样本进行标准化,其数学描述如下,
45、
46、其中,x1为标准化前的训练集样本数据,为标准化后的训练集样本数据,1为标准化前训练集样本数据的均值,1为标准化前训练集样本数据的标准差;
47、保存训练集样本数据的均值及标准差,以便在对模型进行测试时,将测试集中的数据进行如下标准化,
48、
49、其中,x2为标准化前的测试集样本数据,分别为标准化后的测试集样本数据。
50、进一步地,在步骤四中,选取循环神经网络作为数据驱动的伺服机构误差模型,其中,神经网络的结构包括输入层、多个隐藏层、输出层,选取门控神经元(gru)作为隐藏层神经网络的循环神经元,选取全连接层对门控神经元输出进行处理,选取relu函数作为神经网络隐藏层的激活函数;
51、基于训练集中的数据,选取均方误差作为神经网络损失,通过反向传播算法对于所述神经网络参数进行更新,直至数据驱动的伺服机构误差模型在训练集上损失不再下降,即完成数据驱动的伺服机构误差模型的训练。
52、进一步地,该输入信号集中信号应具有尽可能丰富的频谱且处于伺服机构的带宽内,是指:对于输入信号集中的每一条信号进行傅里叶变换,并记录其频域内的主频率,所有输入信号的主频率在伺服机构的带宽内近似服从均匀分布,且所有的主频率均小于伺服机构的带宽。
53、进一步地,该输入信号集中信号应具有尽可能丰富的频谱且处于伺服机构的带宽内,具体实现为:为在输入信号集中包含带宽内的低频信息,选取具有不同参数的斜坡、抛物线等形式的低频信号并添加至输入信号集中;为在输入信号集中包含带宽内其他频段信息,选取具有不同频率的正弦信号及组合正弦信号,其中正弦信号及组合正弦信号中各个正弦成分的频率在伺服机构的带宽内随机采样得到。
54、一种考虑干扰作用下基于数据驱动的伺服系统误差建模系统,该系统具有与上述技术方案的步骤对应的程序模块,运行时执行所述的一种考虑干扰作用下基于数据驱动的伺服系统误差建模方法中的步骤。
55、一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现所述的一种考虑干扰作用下基于数据驱动的伺服系统误差建模方法的步骤。
56、本发明具有以下有技术效果:
57、本发明使用数据驱动的方法,在不具体分析伺服机构内部结构的情况下,基于试验数据对于伺服机构的误差进行建模,本方法能够对于系统的非线性部分建模,且能够一定程度上对于系统的扰动进行建模,从而更精确的预测伺服机构运行时的误差,为后续的误差补偿奠定基础,具体优点如下:
58、(1)传统的伺服机构误差建模方法在建模过程中难免需要使用伺服机构内部结构及参数信息。本发明使用数据驱动方法,基于干扰作用下的伺服机构误差建模训练集建立误差模型,能够在缺乏伺服机构内部结构和参数信息的情况下实现误差建模。
59、(2)当伺服机构存在干扰作用时,传统的误差建模方法一般难以充分考虑干扰对于伺服机构误差的影响,本发明则能在存在干扰时保证建模效果。
60、(3)伺服机构的误差主要包括控制误差和机械误差,其中控制误差模型一般可以通过选取合适的名义模型进行辨识,而机械误差模型由于其具有较为复杂的结构一般难以通过选取名义模型实现准确辨识,本发明的误差建模方法不仅能够对于伺服机构的控制误差进行建模,还能够在一定程度上对于伺服机构的机械误差进行建模。
61、本发明主要用于伺服机构误差建模中。