Introduction

The dynamic parameters (displacement, velocity and acceleration) of CNC machine tool system are the direct indexes to determine the performance and accuracy of machine tools. Therefore, it is necessary to realize the full information identification of dynamic parameters to improve the reliability of machine tools. Ren1 pointed out in the early research of damping vibration reduction technology that more than 90% of the total damping of a structure or machine composed of rigid parts comes from the damping of the joint surface. Compared with the material damping of the machine parts themselves, the damping of the joint surface has an absolute advantage. However, the damping of the joint surface has complex nonlinearity, which is related to various parameters such as bearing condition, surface geometry, contact medium and contact material. In the case that the damping of the joint surface is not fully proved, the view of energy loss can be used to deal with the contact damping problem. Zhang Xueliang and Wen Shuhua2 have used BP neural network to discuss the contact stiffness and contact damping of mechanical joint surface respectively. In order to facilitate the classification of neural network, the virtual characteristic quantitative description method is proposed for the factors affecting the discontinuous change of normal dynamic stiffness of joint surface. This method only emphasizes the quantitative relationship between the influencing factors and the affected factors, rather than the physical or kinematic relationship. The model established by this method can be directly used as a sub-model of mechanical CAD to calculate and predict the dynamic characteristics of mechanical joints. The general simulation of dynamic characteristic parameters of mechanical joints under multiple bonding conditions is realized. Chen3,4,5 also made a lot of exploration, and put forward some identification methods of joint stiffness and damping parameters. He derived a generalized recognition formula which can directly derive several recognition formulas of similar methods ; on the demand of experimental data, the measured transfer function type is less than some similar methods. In the recognition algorithm, it avoids the shortcomings of some similar methods that directly invert the measured transfer function matrix, and can obtain satisfactory results6.Kienzle and Kettne7 have mentioned the important role of the joint surface in the overall performance of the machine tool in the academic works on machine tools. In 2005, Shi8 used the Hertz principle to calculate the contact damping and contact stiffness when two surfaces are in contact, and derived the analytical expression of the normal stiffness of the joint surface. Zhang9 theoretically discussed the way to obtain the dynamic basic characteristic parameters of the joint surface. LiPo Lin10 from Taiwan Chenggong University proposed a method to determine the elastic contact between a rigid plane and a variable sphere through the interference of two contact surfaces. Hanaor11 studied a new method to calculate the interface stiffness of the self-affine surface structure and the change of the contact area between the two rough bodies. Ruan Xiaoguang12 assumed the joint surface as a contact of a rigid plane and a rough surface, and found that the change trend of the normal stiffness and tangential stiffness of the joint surface was consistent, and the normal and tangential stiffness increased with the increase of the normal load. Wu13 used ANSYS software to establish 12 spring-damping elements for the three-section beam structure containing bolted joints. The finite element software was used to calculate the theoretical vibration mode, and the free modal analysis of the structure was carried out.

The vibration state of machine tool directly determines the machining accuracy and precision retention of machine tool, and it is also the basis for precision compensation, reliability research and health status evaluation. Xie et al.14 obtained the cutting information of CNC machine tools through acceleration sensors, and identified the cutting state of data machine tools by wavelet packet energy percentage method and generalized hidden Markov method. Chen et al.15 used the power, current and temperature inside the CNC system and external vibration sensors to obtain signals, and realized the monitoring of machine tool status based on energy fault tree analysis. Liu et al.16 proposed a real-time tool state recognition method based on machining features by automatically extracting sensitive parameters of cutting force signals under different machining features and real-time correlation with machining features. Obtaining the vibration state of the machine tool needs to be based on accurate vibration information. However, error terms are inevitably introduced in the process of data acquisition and processing. In order to remove the noise in the data, domestic and foreign scholars have carried out a lot of related research, Zhang et al.17 proposed a vibration signal denoising method combining wavelet threshold and empirical mode decomposition, and used signal-to-noise ratio and root mean square error as evaluation indexes of noise reduction effect. Krysko et al.18 used principal part analysis method to separate the vibration of continuous mechanical system under harmonic load from the noise caused by system nonlinearity. Tian et al.19 studied monitoring of machine tool status based on generalized modulating functions method and observability. Tian et al.20 established a multi-free system state estimation model by establishing fractional order theory and applying generalized modulation function method. Cao21 proposed a fault diagnosis method for machine tools in intelligent manufacturing environment. Qiu et al.22 proposed a sparse optimization method based on Morrow envelope for machine tool fault diagnosis.

In summary, due to the dynamic parameters of the joint surface under the working condition load, it is necessary to establish a multi-rigid body system mechanical model with self-healing function. The full information state identification of the system speed and displacement is realized by the acceleration information collected in order to facilitate data acquisition, which provides reliable data support for health status monitoring and precision compensation.

Mechanical model of multi-rigid-body system

Taking the VMC850 vertical machining center machine as an example, this paper assembles and corrects the 3D model of the whole machine lathe provided by the manufacturer, and simplifies the machine model without affecting its structural and mechanical properties (Fig. 1a). Its main parts include: workbench, sliding table, base, column and spindle box. Due to the large rigidity of each part, the static and dynamic characteristics are mainly affected by the joint surface. Therefore, considering the influence of the joint surface factors between the parts, taking into account the structure, dimensions, connection conditions and constraints of the system, and the quality, stiffness and damping of the individual components of the system, the mathematical model of the system is established according to the design drawing of the structure by using the Lagrange method. as shown in Fig. 1b. Make the following assumptions for modeling:

Assumption 1

All parts of the machine tool are rigid.

Assumption 2

Each part of the machine tool has no twisting state.

Assumption 3

The force state at the bonding surface is evenly distributed.

Assumption 4

The surface morphology at the bonding surface is consistent.

Fig. 1
figure 1

VMC850 numerically-controlled milling machine.

m1 in Fig. 1b is the Workbench of the machine tool, m2 is the Sliding table of the machine tool, m3 is the Base of the machine tool, m4 is the Column of the machine tool, and m5 is the Spindle box of the machine tool.

According to the characteristics of vertical machining center, the dynamic equation of the system is established by Lagrange method :

$$\:\frac{d}{dt}\left(\frac{\partial\:T}{\partial\:\dot{{q}_{i}}}\right)-\left(\frac{\partial\:T}{\partial\:{q}_{i}}\right)+\frac{\partial\:U}{\partial\:{q}_{i}}+\frac{\partial\:D}{\partial\:{q}_{i}}={F}_{i},$$
(1)

where, \(\:T\) is the total kinetic energy of the system, \(\:U\) is the total potential energy of the system, \(\:D\) is the capacity dissipation function, \(\:{F}_{i}\) is the external force of the system on the ith generalized coordinate, \(\:{q}_{i}\) is the displacement of the system on the ith generalized coordinate.

The system energy equation is established :

$$\:\left\{\begin{array}{l}T=\frac{1}{2}{m}_{1}{{\dot{z}}_{1}}^{2}+\frac{1}{2}{m}_{2}{{\dot{z}}_{2}}^{2}+\frac{1}{2}{m}_{3}{{\dot{z}}_{3}}^{2}+\frac{1}{2}{m}_{4}{{\dot{z}}_{4}}^{2}+\frac{1}{2}{m}_{5}{{\dot{z}}_{5}}^{2}\\\:U=\frac{1}{2}{k}_{1}{{z}_{1}}^{2}+\frac{1}{2}{k}_{2}{\left({z}_{2}-{z}_{1}\right)}^{2}+\frac{1}{2}{k}_{4}{\left({z}_{4}-{z}_{3}\right)}^{2}+\frac{1}{2}{k}_{5}{\left({z}_{5}-{z}_{4}\right)}^{2}\\\:D=\frac{1}{2}{c}_{1}{{z}_{1}}^{2}+\frac{1}{2}{c}_{2}{\left({z}_{2}-{z}_{1}\right)}^{2}+\frac{1}{2}{c}_{4}{\left({z}_{4}-{z}_{3}\right)}^{2}+\frac{1}{2}{c}_{5}{\left({z}_{5}-{z}_{4}\right)}^{2}\end{array}\right.,$$
(2)
$$\:\text{F}\text{o}\text{r}\:{z}_{1},\:\frac{d}{dt}\left(\frac{\partial\:T}{\partial\:{\dot{z}}_{1}}\right)={m}_{1}{\ddot{z}}_{1},\:\frac{\partial\:T}{\partial\:{z}_{1}}=0,\:\frac{\partial\:U}{\partial\:{z}_{1}}=\left({k}_{1}+{k}_{2}\right){z}_{1}-{k}_{2}{z}_{2},\:\frac{d}{dt}\left(\frac{\partial\:D}{\partial\:{z}_{1}}\right)=\left({c}_{1}+{c}_{2}\right){\dot{z}}_{1}-{c}_{2}{\dot{z}}_{2}.$$

where, \(\:{\text{m}}_{\text{i}}\) is the quality of each part, \(\:{\text{z}}_{\text{i}}\)fig is the displacement of each part, \(\:{\dot{\text{z}}}_{\text{i}}\) is the velocity of each part, \(\:{\ddot{\text{z}}}_{\text{i}}\) is the acceleration of each part, \(\:{\text{k}}_{\text{i}}\) is the stiffness of each part, \(\:{\text{c}}_{\text{i}}\) is the damping of each part.

substitute those into (1), there is:

$$\:{m}_{1}{\ddot{z}}_{1}+\left({k}_{1}+{k}_{2}\right){z}_{1}-{k}_{2}{z}_{2}+\left({c}_{1}+{c}_{2}\right){\dot{z}}_{1}-{c}_{2}{\dot{z}}_{2}={F}_{1},$$
(3)

according to the above method, the matrix form of the dynamic equation can be got :

$$\:M\ddot{Z}+C\dot{Z}+KZ=F,$$
(4)
$$\begin{aligned} M = & \left[ {\begin{array}{*{20}l} {\begin{array}{*{20}l} {m_{1} } \hfill \\ {\:0} \hfill \\ {\:0} \hfill \\ \end{array} } \hfill \\ {\:0} \hfill \\ {\:0} \hfill \\ \end{array} \begin{array}{*{20}l} {\begin{array}{*{20}l} 0 \hfill \\ {\:m_{2} } \hfill \\ {\:0} \hfill \\ \end{array} } \hfill \\ {\:0} \hfill \\ {\:0} \hfill \\ \end{array} \begin{array}{*{20}l} {\begin{array}{*{20}l} 0 \hfill \\ {\:0} \hfill \\ {\:m_{3} } \hfill \\ \end{array} } \hfill \\ {\:0} \hfill \\ {\:0} \hfill \\ \end{array} \begin{array}{*{20}l} {\begin{array}{*{20}l} 0 \hfill \\ {\:0} \hfill \\ {\:0} \hfill \\ \end{array} } \hfill \\ {\:m_{4} } \hfill \\ {\:0} \hfill \\ \end{array} \begin{array}{*{20}l} {\begin{array}{*{20}l} 0 \hfill \\ {\:0} \hfill \\ {\:0} \hfill \\ \end{array} } \hfill \\ {\:0} \hfill \\ {\:m_{5} } \hfill \\ \end{array} } \right],\:K = \left[ {\begin{array}{*{20}l} {\begin{array}{*{20}l} {k_{1} + k_{2} } \hfill \\ {\: - k_{2} } \hfill \\ {\:0} \hfill \\ \end{array} } \hfill \\ {\:0} \hfill \\ {\:0} \hfill \\ \end{array} \begin{array}{*{20}l} {\begin{array}{*{20}l} { - k_{2} } \hfill \\ {\:k_{2} + k_{3} } \hfill \\ {\: - k_{3} } \hfill \\ \end{array} } \hfill \\ {\:0} \hfill \\ {\:0} \hfill \\ \end{array} \begin{array}{*{20}l} {\begin{array}{*{20}l} 0 \hfill \\ {\: - k_{3} } \hfill \\ {\:k_{3} + k_{4} } \hfill \\ \end{array} } \hfill \\ {\: - k_{4} } \hfill \\ {\:0} \hfill \\ \end{array} \begin{array}{*{20}l} {\begin{array}{*{20}l} 0 \hfill \\ {\:0} \hfill \\ {\: - k_{4} } \hfill \\ \end{array} } \hfill \\ {\:k_{4} + k_{5} } \hfill \\ {\:0} \hfill \\ \end{array} \begin{array}{*{20}l} {\begin{array}{*{20}l} 0 \hfill \\ {\:0} \hfill \\ {\:0} \hfill \\ \end{array} } \hfill \\ {\:0} \hfill \\ {\:k_{5} } \hfill \\ \end{array} } \right], \\ C = & \left[ {\begin{array}{*{20}l} {\begin{array}{*{20}l} {c_{1} + c_{2} } \hfill \\ {\: - c_{2} } \hfill \\ {\:0} \hfill \\ \end{array} } \hfill \\ {\:0} \hfill \\ {\:0} \hfill \\ \end{array} \begin{array}{*{20}c} {\begin{array}{*{20}c} { - c_{2} } \\ {\:c_{2} + c_{3} } \\ {\: - c_{3} } \\ \end{array} } \\ {\:0} \\ {\:0} \\ \end{array} \begin{array}{*{20}c} {\begin{array}{*{20}c} 0 \\ {\: - c_{3} } \\ {\:c_{3} + c_{4} } \\ \end{array} } \\ {\: - c_{4} } \\ {\:0} \\ \end{array} \begin{array}{*{20}c} {\begin{array}{*{20}c} 0 \\ {\:0} \\ {\: - c_{4} } \\ \end{array} } \\ {\:c_{4} + c_{5} } \\ {\:0} \\ \end{array} \begin{array}{*{20}c} {\begin{array}{*{20}c} 0 \\ {\:0} \\ {\:0} \\ \end{array} } \\ {\:0} \\ {\:c_{5} } \\ \end{array} } \right]. \\ \end{aligned}$$

Self-healing model of system mechanics

The mechanical model of mechanical system is shown in formula (4). However, due to the change of preload and morphology at the joint surface under working conditions, the system force will lose accuracy (this model is ill). By using the acceleration information obtained in real time and the method of online identification of the parameters of the joint surface, the parameters of the joint surface can be dynamically adjusted according to the actual situation, so as to achieve the self-healing of the mechanical model.

The traditional method of obtaining bonding surface parameters is completed on the premise of known preload force, surface topography, material properties and other parameters23,24,25. Therefore, it is necessary to re-determine the preload force, surface topography, material properties and other parameters to calculate the bonding surface parameter value after the change of the bonding surface environment. The self-healing model can adjust the parameters of the bonding surface online according to the change of the contact characteristics of the contact surface, so that the mechanical model of the system is more accurate and the vibration state identification is better. If the parameters of the joint surface of the machine tool are not adjusted in time, for example, the stiffness value will also change correspondingly when the preload force of the joint surface changes, then the mechanical model of the system based on the original parameters will greatly reduce the accuracy of state identification.

As the acceleration sensor is easy to arrange and it is a relative instrument, the paper estimates the dynamic model parameters based on the acceleration information. Formula (4) can be expressed as :

$$\:\left\{\begin{array}{l}m\ddot{z}\left(t\right)+c\dot{z\left(t\right)}+kz\left(t\right)=F\left(t\right)\\\:y\left(t\right)=\ddot{z}\left(t\right)\end{array},\right.$$
(5)

Let \(\:T<t,\) \(\:{g}_{i}\) is the second-order modulation function on the interval of \(\:\left[t-T,t\right],\) (\(\:i\)=1, 2, …, N). At present, the modulation functions mainly include triangular modulation function, Hermite modulation function, spline modulation function and Hartley modulation function. Since the dynamic model of this paper is a linear model, a polynomial modulation function in the form of \(\:g\left(t\right)={\left(b-t\right)}^{m}{t}^{n}\) is selected. When that \(\:\left[t-T,t\right]\subset\:R,\)\(\:l\in\:{N}^{*},\) \(\:{\:\text{g}}_{\text{i}}\) is a modulation function defined on the interval of \(\:\left[t-T,t\right],\) and it satisfies these :

$$\: \begin{aligned} & \left( {p_{1} } \right):g \in C^{l} \left( {\left[ {t - T,t} \right]} \right), \\ & \left( {p_{2} } \right):g^{{\left( k \right)}} \left( {t - T} \right) = 0, \\ & \left( {p_{3} } \right):g^{{\left( k \right)}} \left( t \right) = 0. \\ \end{aligned}$$

In this formula, \(\:t\) is defined as time and \(\:T\) is defined as any constant less than \(\:t.\) \(\:F\) is expanded in series in the generalized domain. \(\:\forall\:\tau\:\in\:\left[t-T,t\right],\) \(\:F\left(\tau\:\right)=\sum\:_{j=0}^{+\infty\:}{\rho\:}_{j}{p}_{j}\left(\tau\:\right),\) Then n-order truncation is performed, so we can get :

$${F}_{n}\left(\tau\:\right)=\sum\limits_{j=0}^{+\infty}{\rho}_{j}{p}_{j}\left(\tau\right),$$
(6)

In the formula, it is a parameter in the domain, a power function, and a constant of the corresponding order.

Then approximate the model as follows:

$$\:M\ddot{Z}\left(\tau\:\right)+C\dot{Z}\left(\tau\:\right)+KZ\left(\tau\:\right)\approx\:{F}_{n}\left(\tau\:\right),$$
(7)

For \(\:i\)=1, 2, …, N, by multiplying \(\:{\ddot{g}}_{i}\) on both sides of (7) and integrating from \(\:t-T\) to \(\:t,\) we can get :

$$\:M\int\limits_{t-T}^{t}{\ddot{g}}_{i}\left(\tau\:\right)\ddot{Z}\left(\tau\:\right)d\tau\:+C\int\limits_{t-T}^{t}{\ddot{g}}_{i}\left(\tau\:\right)\dot{Z}\left(\tau\:\right)d\tau\:+K\int\limits_{t-T}^{t}{\ddot{g}}_{i}\left(\tau\:\right)Z\left(\tau\:\right)d\tau\:\approx\:\int\limits_{t-T}^{t}{\ddot{g}}_{i}\left(\tau\:\right){F}_{n}\left(\tau\:\right)d\tau\:,$$
(8)

Using partial integration in Eq. (8), we can get :

$$\:\int\limits_{t-T}^{t}{\ddot{g}}_{i}\left(\tau\:\right)\dot{Z}\left(\tau\:\right)d\tau\:={\left[{\dot{g}}_{i}\left(\tau\:\right)Z\left(\tau\:\right)\right]}_{\tau\:=t-T}^{\tau\:=t}-\int\limits_{t-T}^{t}{\dot{g}}_{i}\left(\tau\:\right)\ddot{Z}\left(\tau\:\right)d\tau\:,$$
(9)
$$\:\int\limits_{t-T}^{t}{\ddot{g}}_{i}\left(\tau\:\right)Z\left(\tau\:\right)d\tau\:={\left[{\dot{g}}_{i}\left(\tau\:\right)Z\left(\tau\:\right)\right]}_{\tau\:=t-T}^{\tau\:=t}-{\left[{g}_{i}\left(\tau\:\right)\dot{Z}\left(\tau\:\right)\right]}_{\tau\:=t-T}^{\tau\:=t}+\int\limits_{t-T}^{t}{g}_{i}\left(\tau\:\right)\ddot{Z}\left(\tau\:\right)d\tau\:,$$
(10)

According to the properties of the modulation function of \(\:{g}_{i},\) its unknown boundary value can be eliminated. Therefore, for \(\:i\)=1, 2, …, N, we can get:

$$\:M\int\limits_{t-T}^{t}{\ddot{g}}_{i}\left(\tau\:\right)\ddot{Z}\left(\tau\:\right)d\tau\:-C\int\limits_{t-T}^{t}{\dot{g}}_{i}\left(\tau\:\right)\ddot{Z}\left(\tau\:\right)d\tau\:+K\int\limits_{t-T}^{t}{g}_{i}\left(\tau\:\right)\ddot{Z}\left(\tau\:\right)d\tau\:\approx\:\int\limits_{t-T}^{t}{\ddot{g}}_{i}\left(\tau\:\right){F}_{n}\left(\tau\:\right)d\tau\:,$$
(11)

It can be given by the following formula:

$$\:A\lambda\:={b}_{j},$$
(12)

where \(\:b\) is a constant vector, \(\:\lambda\:={\left(C,K\right)}^{T},\)\(\:A\in\:{R}^{N\times\:10}\) and \(\:b\in\:{R}^{N}.\) The following formulas are: (\(\:i\)=1, 2, …, N)

$$\begin{aligned} A\left( {i,1} \right) = & - \mathop \int \limits_{{t - T}}^{t} \dot{g}_{i} \left( \tau \right)\mathop z\limits^{} _{1} \left( \tau \right)d\tau , \\ A\left( {i,2} \right) = & - \mathop \int \limits_{{t - T}}^{t} \dot{g}_{i} \left( \tau \right)\mathop z\limits^{} _{2} \left( \tau \right)d\tau , \\ A\left( {i,3} \right) = & - \mathop \int \limits_{{t - T}}^{t} \dot{g}_{i} \left( \tau \right)\mathop z\limits^{} _{3} \left( \tau \right)d\tau , \\ A\left( {i,4} \right) = & - \mathop \int \limits_{{t - T}}^{t} \dot{g}_{i} \left( \tau \right)\mathop z\limits^{} _{4} \left( \tau \right)d\tau , \\ \end{aligned}$$
$$\begin{aligned} A\left( {i,5} \right) = & - \mathop \int \limits_{{t - T}}^{t} \dot{g}_{i} \left( \tau \right)\mathop z\limits^{} _{5} \left( \tau \right)d\tau , \\ A\left( {i,6} \right) = & \mathop \int \limits_{{t - T}}^{t} g_{i} \left( \tau \right)\mathop z\limits^{} _{1} \left( \tau \right)d\tau , \\ A\left( {i,7} \right) = & \mathop \int \limits_{{t - T}}^{t} g_{i} \left( \tau \right)\mathop z\limits^{} _{2} \left( \tau \right)d\tau , \\ A\left( {i,8} \right) = & \mathop \int \limits_{{t - T}}^{t} g_{i} \left( \tau \right)\mathop z\limits^{} _{3} \left( \tau \right)d\tau , \\ A\left( {i,9} \right) = & \mathop \int \limits_{{t - T}}^{t} g_{i} \left( \tau \right)\mathop z\limits^{} _{4} \left( \tau \right)d\tau , \\ A\left( {i,10} \right) = & \mathop \int \limits_{{t - T}}^{t} g_{i} \left( \tau \right)\mathop z\limits^{} _{5} \left( \tau \right)d\tau , \\ \end{aligned}$$
$$\begin{aligned} b_{1} \left( i \right) = & \mathop \int \limits_{{t - T}}^{t} \mathop g\limits^{} _{i} \left( \tau \right)\left( {f\left( \tau \right) - m_{1} \mathop z\limits^{} _{1} \left( \tau \right)} \right)d\tau , \\ b_{2} \left( i \right) = & \mathop \int \limits_{{t - T}}^{t} \mathop g\limits^{} _{i} \left( \tau \right)\left( {f\left( \tau \right) - m_{2} \mathop z\limits^{} _{2} \left( \tau \right)} \right)d\tau , \\ b_{3} \left( i \right) = & \mathop \int \limits_{{t - T}}^{t} \mathop g\limits^{} _{i} \left( \tau \right)\left( {f\left( \tau \right) - m_{3} \mathop z\limits^{} _{3} \left( \tau \right)} \right)d\tau , \\ b_{4} \left( i \right) = & \mathop \int \limits_{{t - T}}^{t} \mathop g\limits^{} _{i} \left( \tau \right)\left( {f\left( \tau \right) - m_{4} \mathop z\limits^{} _{4} \left( \tau \right)} \right)d\tau , \\ b_{5} \left( i \right) = & \mathop \int \limits_{{t - T}}^{t} \mathop g\limits^{} _{i} \left( \tau \right)\left( {f\left( \tau \right) - m_{5} \mathop z\limits^{} _{5} \left( \tau \right)} \right)d\tau , \\ \end{aligned}$$

Equation (12) can be solved by the least square method, as shown below :

$$\:\lambda\:={\left({A}^{T}A\right)}^{-1}{A}^{T}{b}_{j},$$
(13)

The joint surface parameters k and c identified by Formula (13) are implanted into Formula (4), and k and c are dynamically adjusted by the acceleration information collected in real time to complete the self-healing of the system mechanical model.

Therefore, compared with the dynamic model with error repair ability, the model with self-repair function can obtain the changed dynamic model parameters accurately and quickly by inputting the acceleration information immediately obtained after the dynamic model parameters change and applying formula (13), and the accurate dynamic model can be obtained. In the mechanical model of the system without self-healing function, the parameters of the dynamic model are fixed values, and when the external environment changes, the original accuracy of the dynamic model would lose( it is called the ill-conditioned model).

System state full information identification model

The Kalman filter is a linear filter in the whole time domain. It not only has the filtering function, but also can fuse the data collected by multiple sensors, and has excellent characteristics and real-time update characteristics. Therefore, the Kalman filter can be used to obtain the full information identification of each part state.

The motion state of each part is represented by position \(\:{z}_{it},\) velocity \(\:{\dot{z}}_{it}\) and acceleration \(\:{\ddot{z}}_{it}\)(\(\:i\)=1, 2, …, N). Limited by the assembly space and information acquisition mode, the acceleration sensor is arranged on the part, and the displacement state is estimated based on this information. Therefore, the measured value is only the acceleration \(\:{a}_{t}.\) If you want to obtain the velocity \(\:{v}_{t}\) and the displacement \(\:{x}_{t},\) you need to integrate the acceleration once a measurement and twice respectively.

The state of the joint surface is expressed in matrix form as :

$$\:{Z}_{it}=\left[\begin{array}{c}{z}_{it}\\\:{\dot{z}}_{it}\end{array}\right],$$
(14)

The joint surface between the parts vibrates along \(\:{\ddot{z}}_{it}\) certain trajectory under the action of external force. The external force causes the joint surface to generate acceleration \(\:{\ddot{z}}_{it},\) and the acceleration a represents the control amount of the joint surface. Since the input state and the output state are linear, the relationship between the two can be expressed as :

$$\:{{\widehat{Z}}_{it}}^{{\prime\:}}={A}_{it}{\widehat{Z}}_{it-1}+{B}_{it}{\ddot{z}}_{it},$$
(15)

where \(\:{A}_{it}\) is the state transition matrix, which indicates that the current state is inferred from the previous state, \(\:{A}_{it}=\left[\begin{array}{cc}1&\:\varDelta\:{t}_{i}\\\:0&\:1\end{array}\right];\) \(\:{B}_{it}\) is the control matrix, which indicates how the control quantity acts on the current state, \(B_{{it}} = \left[ {\begin{array}{*{20}l} {{\raise0.7ex\hbox{${\Delta t_{i} ^{2} }$} \!\mathord{\left/ {\vphantom {{\Delta t_{i} ^{2} } 2}}\right.\kern-\nulldelimiterspace} \!\lower0.7ex\hbox{$2$}}} \hfill \\ {\Delta t_{i} } \hfill \\ \end{array} } \right]\) \(\:{{\widehat{Z}}_{it}}^{{\prime\:}}\) is a prior estimate; \(\:{\widehat{Z}}_{it-1}\) is the prior estimate of the previous moment.

Since the prediction state also has uncertain noise, it is necessary to use the covariance of the covariance matrix to represent the uncertainty between the two.

$$\:{{P}_{it}}^{{\prime\:}}={A}_{it}{P}_{it-1}+{Q}_{i},$$
(16)

Among them, \(\:{{P}_{it}}^{{\prime\:}}\) is a priori error covariance matrix; \(\:{A}_{it}\) is the state transition matrix; \(\:{P}_{it-1}\) is the error covariance matrix of the previous time; \(\:{Q}_{i}\) is prediction model noise(The prediction model noise is Gaussian noise).

The observation state of the joint surface is \(\:{X}_{it},\) There is a linear transformation \(\:{H}_{i}\) from state \(\:{\widehat{Z}}_{it}\) to observation state \(\:{X}_{it},\) and \(\:{H}_{i}=\left[\begin{array}{ll}1&\:0\end{array}\right].\) The observation expression is :

$$\:{X}_{it}={H}_{i}{Z}_{it}+{v}_{i},$$
(17)

where \(\:{v}_{i}\) represents the observation noise, and the covariance matrix of the observation noise is represented by \(\:{R}_{i}.\)

Since this paper only studies one direction of the joint surface, \(\:{R}_{i}\) is a one-dimensional value. Combined with the above formula, the state equation is updated as :

$$\:{\left\{\begin{array}{l}{\widehat{Z}}_{it}={{Z}_{it}}^{{\prime\:}}+{K}_{it}\left({X}_{it}-{H}_{i}{{Z}_{it}}^{{\prime\:}}\right)\\\:{K}_{it}={{P}_{it}}^{{\prime\:}}{{H}_{i}}^{T}{\left({H}_{i}{{P}_{it}}^{{\prime\:}}{{H}_{i}}^{T}+{R}_{i}\right)}^{-}\\ {P}_{it}=\left(I-{K}_{it}{H}_{i}\right){{P}_{it}}^{{\prime\:}}\end{array}\right. X_{it}={H}_{i}{Z}_{it}+{v}_{i},}$$
(18)

where \(\:{\widehat{Z}}_{it}\) is the best estimate, \(\:{K}_{it}\) is the Kalman coefficient, \(\:{P}_{it}\) is the noise distribution for updating the best estimate, for the next round of iteration to use.

Case study

Experimental verification

In order to verify the accuracy of the proposed method, the experimental scheme of the single-degree-of-freedom system is designed. The experimental system consists of mass block, spring damper, acceleration sensor and displacement sensor, and the whole system is fixed on the mass block platform. The experimental system is shown in Fig. 2.

Fig. 2
figure 2

Experimental system.

The specific experimental scheme is as follows: The spring damping system is arranged under the mass block. When the mass block vibrates under the action of external forces, the acceleration information of the vibration state is obtained through the acceleration sensor. Then, the spring damping coefficient is identified by the acceleration information using the method in “Self-healing model of system mechanics of the paper” section, the system dynamics model is established by the method in “Mechanical model of multi-rigid-body system”, and the dynamic response of the system (including the displacement of the mass block) is estimated by the method in “System state full information identification model”. Finally, by comparing with the displacement data obtained by the displacement sensor in the experimental system, the accuracy of the proposed method is verified.

Fig. 3
figure 3

Experimental data.

Through experimental verification(The experimental data is shown in Fig. 3), we can obtain that the experimental results are in good agreement with the theoretical results, and the maximum error is 3.2%. It can be seen that the proposed method has high precision.

Specific cases

Taking VMC850 vertical machining center as an example, the state estimation model is established. Since each part has three degrees of freedom in x, y and z directions, considering that the vibration state in z direction has the greatest influence on the whole system in the actual machining process, this paper only studies the z-axis state, and the whole system is considered as 5 degrees of freedom. The parameters of VMC850 vertical machining center are as follows Table 1.

Table 1 The parameters of VMC850 vertical machining center.

Substituting the above parameters into the dynamic Eq. (4), the machine tool will be subjected to alternating loads from the outside during the working process. Under the assumption that the external load of component 2 is 8000sinωt, the programming program is used to solve the formula by MATLAB software programming, and the corresponding real speed, acceleration and displacement values can be obtained(The true velocity, acceleration, and displacement are calculated when the parameters of the dynamics model are known). Next, it is assumed that the parameters of the dynamic model are unknown. By substituting the obtained real acceleration into the formula (13), the parameters of the joint surface can be identified, so as to construct a complete dynamic model. The obtained parameters are substituted into the Kalman filter solution formula, and the velocity and displacement values of each component can be estimated again by this method (The estimated velocity and displacement values are obtained by using Kalman filter method after the dynamics model reconstruction). Finally, the accuracy of the model is verified by comparing the real displacement value, velocity value and the estimated displacement value and velocity value respectively. The verification process is shown in the following Fig. 4:

Fig. 4
figure 4

Verification Flowchart.

Based on the above ideas, the estimated and theoretical values of displacement and velocity of component 1 are compared respectively to verify the accuracy of the estimate. Figures 5 and 6 shows the comparison between the estimated and theoretical values of the speed and acceleration of component 1 (the red curve in the figure is the theoretical value, and the blue curve is the real value). It can be observed from the figure that the estimated value and the theoretical value basically overlap, which proves that the state estimation by the above method has a high precision.

Figure 3 shows the displacement error and velocity error of component 1 when the predicting model noise \(\:{\text{Q}}_{1}=\left[\begin{array}{ll}0&\:0.003\\\:0&\:0.003\end{array}\right].\)

Fig. 5
figure 5

Displacement and velocity error of part 1 under \(\:{\text{Q}}_{1}.\)

Figure 4 shows the displacement error and velocity error of component 1 when the predicting model noise \(\:{\text{Q}}_{2}=\left[\begin{array}{ll}0&\:0.03\\\:0&\:0.03\end{array}\right].\)

Fig. 6
figure 6

Displacement and velocity error of part 1 under \(\:{\text{Q}}_{2}.\)

In order to further verify the accuracy of the model, the estimated and theoretical values of the displacement and velocity of component 5 are compared. Figures 7 and 8 shows the comparison between the estimated and theoretical values of the speed and acceleration of component 5 (the red curve in the figure is the theoretical value, and the blue curve is the real value).

Figure 5 shows the displacement error and velocity error of component 5 when the predicting model noise \(\:{\text{Q}}_{1}=\left[\begin{array}{ll}0&\:0.003\\\:0&\:0.003\end{array}\right].\)

Fig. 7
figure 7

Displacement and velocity error of part 5 under \(\:{\text{Q}}_{1}.\)

Figure 6 shows the displacement error and velocity error of component 5 when the predicting model noise \(\:{\text{Q}}_{2}=\left[\begin{array}{ll}0&\:0.03\\\:0&\:0.03\end{array}\right].\)

Fig. 8
figure 8

Displacement and velocity error of part 5 under \(\:{\text{Q}}_{2}.\)

Through the analysis of the above images, the displacement error range of part 1 in Fig. 3 is 0 ~ 1.2%, and the velocity error range is 0 ~ 1.1%. The displacement error range of part 1 in Fig. 4 is 0 ~ 1.6%, and the velocity error range is 0 ~ 1.5%. The displacement error range of part 5 in Fig. 5 is 0 ~ 0.6%, and the velocity error range of part 5 is 0 ~ 0.77%. The displacement error range of part 5 in Fig. 6 is 0 ~ 0.8%, and the velocity error range of part 5 is 0 ~ 0.96%. It shows that with the increase of noise, the error of the estimated displacement and velocity becomes larger, but the variation is not large.

By comparison, it is found that the displacement and velocity obtained by Kalman filter algorithm have little fluctuation with the real displacement and real velocity error, the confidence interval is very low, and the error fluctuation of the whole process is stable. The measured displacement error and velocity error are within a reasonable confidence interval, indicating that the displacement and velocity identified by this method are very accurate.

Conclusion

In this paper, a complete set of full vibration state information identification method is proposed. By establishing self-healing model and state identification model, the full information identification of displacement and velocity of each part of the system is realized with acceleration information as input, so as to provide reliable data support for precision compensation and health state identification of machine tools. The main innovations of the paper are as follows: the proposed scheme can update the dynamic model of the machine tool system in real time according to the changes of the parameters of the joint surface. The estimation of all state and all information data can be further completed by arranging acceleration sensors. The main conclusions of the paper are as follows:

The five-degree-of-freedom dynamic equation of multi-rigid-body system is established by Lagrange method. Based on this model, the second order modulation function method is introduced to identify the joint surface parameters online. The joint surface parameters are estimated online by the information obtained by arranging the acceleration sensor, and the corresponding joint surface parameters are adjusted according to the real-time acceleration information to complete the self-healing of the system model.

Based on the above self-healing model, the Kalman filter method is used to establish the full vibration state identification model of the mechanical system, and the acceleration information is used as the input to complete the state identification of the displacement and velocity of each part.

Taking VMC850 vertical machining center as an example, the acceleration information is obtained by using the dynamic model under complete parameters, and the full vibration state information of the system is obtained by applying the self-healing model and the state identification model. The maximum displacement error of the system is 1.2% and the maximum velocity error is 1.1%. The analysis data results show that the displacement and velocity obtained by the Kalman filter algorithm and the real displacement and true velocity error fluctuation range is very small, and the error fluctuation of the whole motion process is stable, indicating that the displacement and velocity identified by this method have high accuracy. Therefore, it is proved that this method can provide reliable accuracy guarantee in practical applications.