1 Introduction

Modification of mechanical structure parameters is a non-trivial task. One of the crucial parameters is system eigenfrequencies, which are influenced by mass, moment of inertia, stiffness and damping of the system. The concept of the so-called mechatronic stiffness increases the structure properties by adding the auxiliary lightweight structure equipped with feasible control law. The auxiliary structure is in parallel with the basic structure interconnected by actuators. The concept of mechatronic stiffness is introduced with the aim of the machine working point active control from zero frequency by means of the connection of the auxiliary structure, [1, 2]. The mechatronic stiffness gives greater possibilities than, for example, an active dynamic absorber, which affects the system from the certain oscillation frequency. On the other hand, compared to a dynamic absorber, mechatronic stiffness requires a design modification limiting the working space of the machine, which is a weakness compared to a dynamic absorber. In this paper, the concept of mechatronic stiffness is realized using cables, which significantly corrects this weakness of the concept. We therefore see a novelty in the cable realization of mechatronic stiffness. Such idea is presented, verification testbed is prepared and preliminary experimental results are obtained.

In areas, where structures undergo high force amplitudes or there is a demand for lightweight design, overall stiffness becomes significant property. Large machine tools suffer by large deflection during machining process. Reaching the desired stiffness of the machine often implies heavy structure. This leads to complications like large thermal effects, high inertia and low chatter stability due to low eigenfrequencies [3]. Influence of large machine’s compliance and inertia on its accuracy is analysed in [3]. Disturbance rejection algorithm based on measured acceleration of large machine tool is presented in [4]. The adaptation of control algorithm to improve a chatter stability which is influenced by dynamics of large tool is addressed in [5]. Variation of stiffness using piezoelectric actuators to reduce chatter during milling is presented in [6]. The improvement of static and dynamic behaviour of long slender tool holder by using pre-stressed segments and frictional damping is described in [7]. Active compensation of dynamic and static deformation of portal machine tool is presented in [8]. In [9], a nonlinear dynamic vibration absorber is used to combat vibrations of a boring bar, and vibration absorbers as delayed resonators could be used for ceasing simultaneously more frequencies [10, 11] and more dimensions too [12, 13].

Another approach is to increase the stiffness of whole system by optimization its mechanical structure. Paper [14] presents bio-inspired design of machine tools with increased stiffness. In [15], increase of stiffness of large column type machining tool through structural optimization was achieved. An overview of usage of composite materials in production machines is presented in [16]. Common serial robots are nowadays also used for machining. However, the lack of stiffness narrows the field of their application. Paper [17] treats the issue of low stiffness via optimization of workpiece position. A method for performance improvement of machining serial robots is proposed in [18]. Advanced controller for tool tip position adaptation during milling is designed in [19].

In lightweight mechanical systems, stiffness is also a challenging issue. Design concepts for lightweight structures are proposed in [20, 21]. Design of intelligent lightweight machine slides is described in [16]. Among the lightweight mechanical systems, the research of long slender compliant structures, e.g. manipulators, is popular in present. A cable-driven segmented manipulator with improved linkage mechanism for securing high stiffness and accuracy is presented in [22]. The dynamic properties of a cable-beam system with cantilever beam and the wires connected to its tip have been explored with wires being perpendicular in [23] and parallel [24]. A flexible manipulator with two cables is studied in [25]. Holland et al. [26] deals with vibration of a tapered cantilever beam with a wire connected to its tip. The wires, in combination with a control strategy, can be used to suppress vibrations of the beam, such as in [27]. To be able to transfer force through a cable, the dynamical properties of the cable must be also known and included in the control. The behaviour of a fibre has been modelled with respect to fibre mass, stiffness and damping [28,29,30,31]. In [32], stiffness of cables with large strains has been studied. A 10-m-long articulated tendon-driven manipulator designed for Fukushima power plant investigation is described in [33]. Modelling and control of slender tendon-driven manipulators are discussed in [34, 35]. In some areas like physical human robot interaction or collaborative robotics, the ability to vary stiffness during operation could be advantageous. Promising in this field is the research of variable stiffness/impedance actuators, which utilizes their intrinsic compliance [36]. The benefits concern e.g. agile motions [37], safety [38], energy efficiency [37, 39] or soft object handling [40].

The important part of the mechatronic stiffness concept is control algorithm. Using existing actuators with a new control strategy allows vibration suppression [41] and could be used for stiffening the feedback. Another control solution is proposed in [42] combining input shaping with the addition of servo control. In [43], the prediction of the position error is used to modify the input command of a dual-driving gantry-type machine to improve accuracy. In [44] a control strategy is designed to reduce vibrations of the tip of a long and flexible manipulator. The underactuated mechanical systems residual vibration cancelation is investigated in [45, 46]. The machine redundancy is investigated in [47] and control with sliding mode control is presented in [48]. Parallel manipulator modeling and vibration analysis [49] and electro-mechanical performance prediction using similitude analysis are performed in [50]. Feedforward control of industrial hybrid robot improves accuracy using iterative learning method in [51].

To explore the dynamics of manufacturing machines, nonlinear models are used to model contacts in ball screw [52], vibration of guideways [53], drive mechanisms [54] and in modelling the cutting vibrations resulting from tool-workpiece interaction [55, 56]. The micro-manufacturing technology is presented in [57]. Multi-scale modelling and analysis of high-precision aerostatic bearing slideway is shown in [58].

In this study, the mechanical properties improvement of production machine working point (TCP) using auxiliary cable structure is presented. A concept of the so-called mechatronic stiffness is presented in [1, 2]. The novelty extending the concept is based on adding cables driven by standard rotary drives, which create the auxiliary parallel structure and bring additional force near to the machine working point (TCP). The cable structure application in combination with the machine tool positioning task is a novel topic. According to the best knowledge of the authors, the investigation of the presented machine tool cable-based mechatronic stiffness is so far very limited. The simplified model of machine tool construction is used, the model is prepared and the control using computed torques with PD controller is assembled. The frequency analysis and simulation experiment are provided as well as preliminary experimental results.

The paper is organized as follows. In the first section, the motivation and literature survey is prepared, and the second section shows the experimental setup model and its parameters identification. The third section is dedicated to the feasible control law design and the fourth section shows the simulation experiment results. The next section presents the preliminary experimental results and the last section concludes the work.

2 Model of experimental stand

Physical model of experimental setup is presented in this section. A simple experimental demonstrator is assembled for the investigation of a mechatronic stiffness concept. The stand is shown in Fig. 1 and is designed in order to include main dynamic properties of machine tools with a large workspace and long heavy movable parts. The details of system identification and equations derivation are in [59].

Fig. 1
figure 1

Experimental stand with equipment

Fig. 2
figure 2

Mechanical model of the experimental stand with coordinate system (blue), coordinates (green) and parameters (black). The additional auxiliary structure is in brown

A simplified multibody simulation model is created, based on the exprimental stand. The model coordinates and parameters are shown in Fig. 2. The electric servo drives have inputs \(i_i\) and outputs are torques \(M_i\). The cart movement is prescribed as separate input. Cable mass is neglected. The equations of motion are assembled using a free body diagram method. All force effects and particular body coordinates are depicted in Fig. 3. Equations of motion resulting from Fig. 3 are

$$\begin{aligned} \begin{aligned} I_1\ddot{\varphi }_1&= M_1 - F_1r_1 - b_{M1}\dot{\varphi }_1 \\ I_2\ddot{\varphi }_2&= M_2 + F_2r_2 - b_{M2}\dot{\varphi }_2 \\ m\ddot{x}_n&= -F +F_2\cos {\alpha _2} -F_1\cos {\alpha _1} \\ \end{aligned} \end{aligned}$$
(1)

where \(\varphi _1\), \(\varphi _2\) coordinates are angular positions of electric servo drive rotors, \(x_n\) is horizontal coordinate of the TCP and x represents horizontal cart position.

Fig. 3
figure 3

Free body diagram. The beam is simplified as horizontally moving mass, the cart is kinematically actuated, that is why it is not taken into account

The equations of motion (1) include inertial forces, force of beam elasticity, cable forces, damping forces characterised by damping coefficients \(b_{M1}\), \(b_{M2}\) and cable angles \(\alpha _i\). Forces F, \(F_1\) and \(F_2\) are expressed as

$$\begin{aligned} \begin{aligned} F_1&= \frac{k_1}{L_1}\xi _1+\frac{b_1}{L_1}\dot{\xi }_1 \\ F_2&= \frac{k_2}{L_2}\xi _2+\frac{b_2}{L_2}\dot{\xi }_2 \\ F&= k(x_n-x) + b(\dot{x}_n-\dot{x}) \end{aligned} \end{aligned}$$
(2)

Extensions \(\xi _i\) of cables are evaluated in (3). They are based on Fig. 4. The left part of the figure depicts the angle \(\alpha _i\) derivation, it is measured from the x axis, and the right part shows cable length including segments wound on pulleys. Both cables properties are presumed to be the same. Stiffness equals to \(k_L\), \(k_1 = k_2 = k_L\), damping equals to \(b_L\), \(b_1=b_2=b_L\). Stiffness and damping are in reciprocal proportion to the length of the cable.

Fig. 4
figure 4

Sketch for derivation of cable angle (left) and cable length (right)

Cable longitudinal deformation (cable extension) equals to difference of actual cable length and initial cable length:

$$\begin{aligned} \begin{aligned} \xi _1&= L_1 -L_{10} + (r-r_1)(\alpha _1-\alpha _{10}) + \varphi _1 r_1 \\ \xi _2&= L_2 -L_{20} + (r-r_2)(\alpha _2-\alpha _{20}) - \varphi _2 r_2 \\ \end{aligned} \end{aligned}$$
(3)

where symbols \(L_{10}\), \(L_{20}\) and \(\alpha _{10}\), \(\alpha _{20}\) correspond to initial cable lengths and cable angles, respectively. Actual cable lengths and angles are derived from Fig. 4 as

$$\begin{aligned} \begin{aligned} L_1&= \sqrt{{(x_n+\Delta x_1)}^2 + {(y_n-y_1)}^2 - {(r_1-r)}^2} \\ L_2&= \sqrt{{(\Delta x_2-x_n)}^2 + {(y_n-y_2)}^2 - {(r_2-r)}^2} \\ \alpha _1&= \beta + \gamma = \arctan {\left( \frac{y_n-y_1}{x_n+\Delta x_1}\right) } + \arctan {\left( \frac{r_1-r}{L_1}\right) } \\ \alpha _2&= \arctan {\left( \frac{y_n-y_2}{\Delta x_2-x_n}\right) } + \arctan {\left( \frac{r_2-r}{L_2}\right) } \end{aligned} \end{aligned}$$
(4)

with the only time dependent variable \(x_n\), the rest of the parameters are constants. Radii \(r_1\) and \(r_2\) are first and second motor cable pulleys, and r is the beam tip cable pulley radius. The beam deformation is assumed to be small; therefore, the beam tip coordinate \(y_n\) does not change its value.

Cable extension velocities \(\dot{\xi }_1\) and \(\dot{\xi }_2\) used in (2) are time derivative of Eq. (3) and time derivative of particular members of (4):

$$\begin{aligned} \begin{aligned} \dot{\xi }_1&= \dot{L}_1 + (r-r_1)\dot{\alpha }_1 + \dot{\varphi }_1 r_1 \\ \dot{\xi }_2&= \dot{L}_2 + (r-r_2)\dot{\alpha }_2 - \dot{\varphi }_2 r_2 \\ \end{aligned} \end{aligned}$$
(5)

The electromagnetic field in the BLDC drive produces the rotor torque \(M_1\) and \(M_2\). The torque is modelled as proportional to the stator armature current:

$$\begin{aligned} \begin{aligned} M_1&= k_{t1}i_1 \\ M_2&= k_{t2}i_2 \\ \end{aligned} \end{aligned}$$
(6)

with the current constants \(k_{t1}\) and \(k_{t2}\) of the first and second motor.

The moments of inertia \(I_1\), \(I_2\), the equivalent beam mass m, damping coefficients \(b_{M1}\), \(b_{M2}\) from the equations of motion (1), stiffnesses k, \(k_L\), damping coefficients b, \(b_L\) from the forces Eq. (2) and parameters \(k_{t1}\), \(k_{t2}\) from (6) are subject of identification process while being unknown.

2.1 System parameters identification

Model parameters are assessed in this sub-section. The important property of all parameters lies in the linearity. They create a system of linear equations (mostly time dependent). Due to the measurement of other system parameters than just inputs and output, the identification process is separated into three parts: beam identification, cable properties identification and electric drive 1, electric drive 2 identification.

The beam properties are obtained from the experiment, where the deflected beam is released and its movement gives the damped vibratory behaviour as an identification input. Identification of cable and drive parameters is performed using experiment with sweep cosine signal as an input at drives subsequently. The constant cable pre-load is ensured by the other drive. The excitation frequency range is from the 0.5Hz up to 30Hz, which is a reasonable range for exciting the first eigenfrequencies. The beam end-point horizontal position and drive angular positions are measured. Data acquisition and further processing keeps the measurement sampling frequency \(f_s = 1kHz\).

2.1.1 Beam properties

The cart has an attached fixed beam, which is modelled as a cantilever. The first eigenmode causes the beam dominant vibrations. The beam deflection analytical solution and experimental data give the basis for k, b, m identification.

Fig. 5
figure 5

Beam parameters identification, oscilloscope screenshots

Figure 5 presents the experiment of fixed cart and initially deflected beam free oscillations measured by KISTLER accelerometer type 8312B10. Two oscillation periods (left part of the figure) of the beam are measured and damped system eigenfrequency is obtained, \(f_{beam_d} = 10.8108~Hz\).

Damping ratio is obtained from Fig. 5, right. The ration between oscillation amplitudes at the beginning and after some time gives us damping ration \(\zeta = 4.635\cdot 10^{-3}\) and undamped eigenfrequency (further just eigenfrequency) \(f_{beam} = 10.8109~Hz\).

Obtained parameters (damping ratio and eigenfrequency) do not uniquely give the k, b and m parameters of the reduced beam model. The fixed beam horizontal deflection equation allows beam horizontal stiffness calculation at beam reduced mass position. Beam length \(L~=~0.95m\), material young modulus \(E~=~70\cdot 10^9Pa\) and cross-section quadratic moment \(J~=~1.88\cdot 10^{-8}m^4\) are inputs for beam stiffness evaluation:

$$\begin{aligned} \begin{aligned} k&= \frac{3EJ}{L^3} = 4604.75 \frac{N}{m} \end{aligned} \end{aligned}$$
(7)

Using the homogeneous part of the third equation of motion from (1) with substituted force F from (2), beam equivalent mass m and beam damping b are derived:

$$\begin{aligned} \begin{aligned} m&= \frac{k}{(2\pi f_{beam})^2} = 0.998kg\\ b&= 2\zeta (2\pi f_{beam})m = 0.63\frac{Ns}{m}\\ \end{aligned} \end{aligned}$$
(8)

2.1.2 Cable properties

The experimental stand at Fig. 1 is equipped with lightweight wound metallic cable with characteristic stiffness \(k_L\) and damping \(b_L\). The cable has the same properties on both sides of the experimental setup. The identification of cable properties is performed using experimental measurement. The experiment is the following: sweep cosine load is introduced at drive one (on the left) and constant load serving as necessary cable pre-stress is applied at drive two (on the right).

The third equation of motion from (1) is used for the identification analysis. Substituting the forces (2) into this equation, it is obtained:

$$\begin{aligned} \begin{aligned}&m\ddot{x}_n+b\left( \dot{x}_n-\dot{x}\right) + k\left( x_n-x\right)\\&\quad= k_L\left( \frac{\xi _2}{L_2}\cos {\alpha _2}-\frac{\xi _1}{L_1}\cos {\alpha _1}\right) +b_L\left( \frac{\dot{\xi }_2}{L_2}\cos {\alpha _2}-\frac{\dot{\xi }_1}{L_1}\cos {\alpha _1}\right) \\ \end{aligned} \end{aligned}$$
(9)

where unknown parameters \(k_L\) and \(b_L\) are in linear combination. Other parameters and terms are known or could be derived from the measured data and its numeric time derivative. Numeric time derivative is amended with non-causal zero-phase low pass data filtering.

Stiffness \(k_L = 16432\frac{Nm}{m}\) and damping \(b_L = 131\frac{Nms}{m}\) are obtained using least-square method. Resulting values are verified in the simulation experiment, where the Eq. (9) has angles \(\varphi _1\), \(\varphi _2\) and cart position x as inputs. The comparison of model simulation and experimental behaviour in frequency domain is in Fig. 6. The frequency content is similar, and the magnitudes slightly differ.

Fig. 6
figure 6

Verification of identified model: cable parameters, frequency analysis. Comparison between measurement and simulation using measured inputs and identified system parameters

2.1.3 Electric drives properties

The electric drives parameters identification is founded on the similar experiment as in Sect. 2.1.2. Rotor moments of inertia \(I_1\), \(I_2\), bearing dampings \(b_{M1}\), \(b_{M2}\) and current constants \(k_{t1}\), \(k_{t2}\) from (6) are parameters of drives according to Fig. 2. The inputs (winding currents \(i_1\) and \(i_2\)), rotor angular positions \(\varphi _1\), \(\varphi _2\) and the horizontal position of beam tip point \(x_n\) are recorded.

The first and the second equations of motion from the (1) are taken into account for the identification analysis. Introducing the forces (2) and electromagnetic moments (6) into those particular equations, it is obtained:

$$\begin{aligned} \begin{aligned} \left( \frac{k_L}{L_1}\xi _1+\frac{b_L}{L_1}\dot{\xi }_1\right) r_1&= k_{t1}i_1 - I_1\ddot{\varphi }_1 - b_{M1}\dot{\varphi }_1 \\ -\left( \frac{k_L}{L_2}\xi _2+\frac{b_L}{L_2}\dot{\xi }_2\right) r_2&= k_{t2}i_2 - I_2\ddot{\varphi }_2 - b_{M2}\dot{\varphi }_2 \\ \end{aligned} \end{aligned}$$
(10)

where unknown parameters \(k_{t1,2}\), \(I_{1,2}\) and \(b_{M1,2}\) are in the linear combination. Other parameters and terms are known or could be derived from the measured data and its numeric time derivative. Numeric time derivative is amended with non-causal zero-phase low pass data filtering as in the previous case.

Moments of inertia \(I_1 = 7.98\cdot 10^{-4}kgm^2\), \(I_2 = 8.74\cdot 10^{-4}kgm^2\), current constants \(k_{t1} = 0.15\frac{Nm}{A}\), \(k_{t2} = 0.2\frac{Nm}{A}\) and dampings \(b_{M1} = 0.035Nms\), \(b_{M2} = 0.005Nms\) are obtained using the least-square method, similarly as in the previous case. Resulting values are verified in the simulation experiment, where Eq. (10) has currents \(i_1\), \(i_2\) and beam TCP position \(x_n\) as inputs. The comparison in frequency domain is at Fig. 7. The left part shows behaviour of the first motor, and the right part shows the behaviour of the second motor.

Fig. 7
figure 7

Verification of identified model: drive parameters, frequency analysis. Comparison between measurement and simulation using measured inputs and identified system parameters for both drives

3 Motion control

The system at (1) has prescribed end-point (TCP) motion. The corresponding coordinate is \(x_n\), with desired motion behaviour \(x_{nd}\). The desired motion time derivatives are also given. The task is to move the system end point along the desired trajectory, i.e. trajectory tracking problem must be solved. The cables must be pre-stressed.

For the prescribed task, the computed-torque method with PD controller is chosen. The cable pre-load is also treated. In the following sub-section, computed-torque control is presented.

3.1 Computed-torque control with PD controller

The system dynamics is assumed to be described in the following form:

$$\begin{aligned} \begin{aligned} \mathbf {M}(\mathbf {q},\mathbf {\dot{q}})\mathbf {\ddot{q}} = \mathbf {N}(\mathbf {q},\mathbf {\dot{q}})+\varvec{\tau } \end{aligned} \end{aligned}$$
(11)

where \(\mathbf {q}\) are system coordinates, \(\mathbf {M}\) is inertia matrix, \(\mathbf {N}\) contains external forces and \(\varvec{\tau }\) are system inputs. The coordinates acceleration \(\mathbf {\ddot{q}}\) is derived

$$\begin{aligned} \begin{aligned} \mathbf {\ddot{q}} = \mathbf {M}(\mathbf {q},\mathbf {\dot{q}})^{-1}\left( \mathbf {N}(\mathbf {q},\mathbf {\dot{q}})+\varvec{\tau }\right) \end{aligned} \end{aligned}$$
(12)

The tracking error is defined as

$$\begin{aligned} \begin{aligned} \mathbf {e} = \mathbf {q}_{d}-\mathbf {q} \end{aligned} \end{aligned}$$
(13)

and differentiating it twice it is obtained

$$\begin{aligned} \begin{aligned} \mathbf {\ddot{e}} = \mathbf {\ddot{q}}_{d}-\mathbf {\ddot{q}} \end{aligned} \end{aligned}$$
(14)

where \(\mathbf {q}_{d}\) are desired states behaviour. Substitution of (12) into (14) results in

$$\begin{aligned} \begin{aligned} \mathbf {\ddot{e}} = \mathbf {\ddot{q}}_{d}-\mathbf {M}(\mathbf {q},\mathbf {\dot{q}})^{-1}\left( \mathbf {N}(\mathbf {q},\mathbf {\dot{q}})+\varvec{\tau }\right) \end{aligned} \end{aligned}$$
(15)

The feedback linearization technique is used and new input variables \(\mathbf {u}\) are defined:

$$\begin{aligned} \begin{aligned} \mathbf {u} = \mathbf {\ddot{q}}_{d}-\mathbf {M}(\mathbf {q},\mathbf {\dot{q}})^{-1}\left( \mathbf {N}(\mathbf {q},\mathbf {\dot{q}})+\varvec{\tau }\right) \end{aligned} \end{aligned}$$
(16)

and system (15) transforms into

$$\begin{aligned} \begin{aligned} \mathbf {\ddot{e}} = \mathbf {u} \end{aligned} \end{aligned}$$
(17)

To stabilize tracking error dynamics, the appropriate input variables \(\mathbf {u}\) are chosen. The simple case is using a proportional-derivative (PD) controller (actually state-feedback of (17)) in the following way:

$$\begin{aligned} \begin{aligned} \mathbf {u} = -K_p\mathbf {e}-K_d\mathbf {\dot{e}} \end{aligned} \end{aligned}$$
(18)

The coefficients \(K_p\) and \(K_d\) are determined using pole placement methods (to ensure stability and robustness). The system inputs are derived using substitution of (18) into (16):

$$\begin{aligned} \begin{aligned} \varvec{\tau }=\mathbf {M}(\mathbf {q},\mathbf {\dot{q}})\left( \mathbf {\ddot{q}}{_d}+K_p\mathbf {e}+K_d\mathbf {\dot{e}}\right) - \mathbf {N}(\mathbf {q},\mathbf {\dot{q}}) \end{aligned} \end{aligned}$$
(19)

3.2 Control of experimental stand: cart position and cable pre-load

The system (1) has three inputs: cart position x and stator armature currents \(i_1\) and \(i_2\). The system output is position of tool centre point with prescribed motion \(x_{nd}\). With regard to the system design, the cart position and TCP position must have the same x-coordinate.

$$\begin{aligned} \begin{aligned} x = x_{nd} \end{aligned} \end{aligned}$$
(20)

Utilizing cables, the cable pre-load must exist to prevent the cables unload. Due to the structure of Eq. (20), the pre-tension is distributed on both sides. The right side (input \(i_2\)) is selected for cable pre-loading.

The force in the right cable is expressed

$$\begin{aligned} \begin{aligned} F_2 = \frac{k_L}{L_2}\xi _2+\frac{b_L}{L_2}\dot{\xi }_2 \end{aligned} \end{aligned}$$
(21)

with prescribed \(F_{2d}\) as a cable pre-load force. Substituting the (3) and (5) into (21), it is obtained

$$\begin{aligned} \begin{aligned} F_2 &= \frac{k_L}{L_2}\left( L_2 -L_{20} + (r-r_2)(\alpha _2-\alpha _{20}) - \varphi _2 r_2\right)\\&\quad+\frac{b_L}{L_2}\left( \dot{L}_2 + (r-r_2)\dot{\alpha }_2 - \dot{\varphi }_2 r_2\right) \end{aligned} \end{aligned}$$
(22)

Using (22) as a desired variable basis for the second eigenequation of motion (1), the \(\varphi _2\) behaviour must be known. The angle \(\varphi _2\) is derived from (22)

$$\begin{aligned} \begin{aligned} \varphi _2 = \frac{{k_L}\left( L_2 -L_{20} + (r-r_2)(\alpha _2-\alpha _{20})\right) +{b_L}\left( \dot{L}_2 + (r-r_2)\dot{\alpha }_2\right) -F_2L_2}{r_2\left( b_Ls+k_L\right) } \end{aligned} \end{aligned}$$
(23)

Substituting the \(F_{2d}\) into the (23), the variable \(\varphi _{2d}\) is obtained. Their time derivatives are needed for the second eigenequation of motion (1).

$$\begin{aligned} \begin{aligned} \dot{\varphi }_{2d}& = \frac{{k_L}\left( L_2 -L_{20} + (r-r_2)(\alpha _2-\alpha _{20})\right) +{b_L}\left( \dot{L}_2 + (r-r_2)\dot{\alpha }_2\right)-F_{2d}L_2 }{r_2b_L}\\&\quad-\varphi _{2d}\frac{k_L}{b_L} \end{aligned} \end{aligned}$$
(24)
$$\begin{aligned} \begin{aligned} \ddot{\varphi }_{2d} &= \frac{{k_L}\left( \dot{L}_2 + (r-r_2)\dot{\alpha }_2\right) +{b_L}\left( \ddot{L}_2 + (r-r_2)\ddot{\alpha }_2\right)-F_{2d}\dot{L}_2 }{r_2b_L}-\dot{\varphi }_{2d}\frac{k_L}{b_L} \end{aligned} \end{aligned}$$
(25)

The second equation of (1) is used for computed torques method: the tracking error is according to (15)

$$\begin{aligned} \begin{aligned} e_1 = \varphi _{2d} -\varphi _2 \end{aligned} \end{aligned}$$
(26)

and feedback linearization is performed with new control variable \(u_1\)

$$\begin{aligned} \begin{aligned} \ddot{e}_1 = \ddot{\varphi }_{2d} -\ddot{\varphi }_2 = \ddot{\varphi }_{2d} -\frac{F_{2}{r_2}-b_{M2}\dot{\varphi }_{2}+k_{t2}i_2}{I_2}=u_1 \end{aligned} \end{aligned}$$
(27)

The control law for \(u_1\) is expressed according to (18)

$$\begin{aligned} \begin{aligned} u_1 = -K_{p1}\left( \varphi _{2d} -\varphi _2 \right) -K_{d1}\left( \dot{\varphi }_{2d} -\dot{\varphi }_2 \right) \end{aligned} \end{aligned}$$
(28)

and input variable \(i_2\) is evaluated:

$$\begin{aligned} \begin{aligned} i_2 &= \frac{I_2\left( \ddot{\varphi }_{2d}+K_{p1}\left( \varphi _{2d} -\varphi _2 \right) +K_{d1}\left( \dot{\varphi }_{2d} -\dot{\varphi }_2 \right) \right) }{k_{t2}}\\&\quad +\frac{b_{M2}\dot{\varphi }_2-F_2r_2}{k_{t2}} \end{aligned} \end{aligned}$$
(29)

The input variable from (29) using appropriate feedback gains \(K_{p1}\) and \(K_{d1}\) ensures the constant pre-load of the cables.

3.3 Control of experimental stand: end point trajectory tracking

Mechanism end point trajectory tracking is ensured by the input \(i_1\) (stator armature current of the first motor) using computed torques PD control in the cascade.

At first, the third eigenequation of motion from (1) is used to determine \(\varphi _{1d}\), \(\dot{\varphi }_{1d}\) and \(\ddot{\varphi }_{1d}\) — desired motion of \(\varphi _1\) coordinate and its time derivatives.

The second control loop is for the first equation from (1), which is a dynamic equation of the first motor, covering the electromagnetic effects. The desired motion of \(\varphi _1\) coordinate serves for determination of stator armature current \(i_1\) as an overall system input.

3.3.1 Desired motion of \(\varphi _1\) and its time derivatives

The third equation of motion from (1) is adapted in the following way

$$\begin{aligned} \begin{aligned} \ddot{x}_n=\frac{F_2\cos {\alpha _2}-F}{m}-\frac{\cos {\alpha _1}}{mL_1}\left( k_L\chi _1 + k_Lr_1\varphi _1+b_L\dot{\chi }_1+b_Lr_1\dot{\varphi }_1\right) \end{aligned} \end{aligned}$$
(30)

where

$$\begin{aligned} \begin{aligned} \chi _1&=L_1-L_{10}+\left( r-r_1\right) \left( \alpha _1-\alpha _{10}\right) \\ \dot{\chi }_1&=\dot{L}_1+\left( r-r_1\right) \dot{\alpha _1} \end{aligned} \end{aligned}$$

has initial cable length \(L_{10}\) and initial cable angle \(\alpha _{10}\). The tracking error is according to (13)

$$\begin{aligned} \begin{aligned} e_2=x_{nd}-x_n \end{aligned} \end{aligned}$$
(31)

where \(x_{nd}\) is desired TCP x-coordinate motion. Using feedback linearization, the new input variable \(u_2\) is defined

$$\begin{aligned} \begin{aligned} \ddot{e}_2=\ddot{x}_{nd}-\ddot{x}_n = u_2 \end{aligned} \end{aligned}$$
(32)

According to (18), the control law for \(u_2\) is set

$$\begin{aligned} \begin{aligned} u_2 = -K_{p2}\left( x_{nd} -x_n \right) -K_{d2}\left( \dot{x}_{nd} -\dot{x}_n \right) \end{aligned} \end{aligned}$$
(33)

and motor angle \(\varphi _1\) behaviour is evaluated:

$$\begin{aligned} \begin{aligned} \varphi _1 &=\left[ \frac{L_1\left( F_2\cos {\alpha _2}-F-m\left( \ddot{x}_{nd}-u_2\right) \right) }{r_1\cos {\alpha _1}}\right.\\&\quad+\left.\frac{k_L\chi _1+b_L\dot{\chi }_1}{r_1}\right] \frac{1}{b_Ls+k_L} \end{aligned} \end{aligned}$$
(34)

The appropriate angular velocity \(\dot{\varphi }_1\) is

$$\begin{aligned} \begin{aligned} \dot{\varphi }_1 &=\left[ \frac{L_1\left( F_2\cos {\alpha _2}-F-m\left( \ddot{x}_{nd}-u_2\right) \right) }{r_1\cos {\alpha _1}}\right.\\&\quad+\left.\frac{k_L\chi _1+b_L\dot{\chi }_1}{r_1}-k_L\varphi _1\right] \frac{1}{b_L} \end{aligned} \end{aligned}$$
(35)

and for the further progress the angular acceleration \(\ddot{\varphi }_1\) is needed. Time derivative of the third equation (1) facilitates the expression for the angular acceleration.

The obtained \(\varphi _1\), \(\dot{\varphi }_1\) and \(\ddot{\varphi }_1\) variables as \(\varphi _{1d}\), \(\dot{\varphi }_{1d}\) and \(\ddot{\varphi }_{1d}\) are input for the next step of mechanism control procedure.

3.3.2 System input \(i_1\) evaluation

The first drive desired motion \(\ddot{\varphi }_{1d}\) is obtained in the previous section. Its equation of motion represents the first equation in (1). The angular acceleration is obtained in the following expression.

$$\begin{aligned} \begin{aligned} \ddot{\varphi }_1=\frac{i_1k_{t1}-F_{1}r_1-b_{M1}\dot{\varphi }_1}{I_1} \end{aligned} \end{aligned}$$
(36)

The corresponding tracking error is according to (13) following.

$$\begin{aligned} \begin{aligned} e_3=\varphi _{1d}-\varphi _1 \end{aligned} \end{aligned}$$
(37)

The feedback linearization (according to (17)) on tracking error is

$$\begin{aligned} \begin{aligned} \ddot{e}_3=\ddot{\varphi }_{1d}-\frac{i_1k_{t1}-F_{1}r_1-b_{M1}\dot{\varphi }_1}{I_1}=u_3 \end{aligned} \end{aligned}$$
(38)

where new input variable \(u_3\) is according to (18) PD controller on the tracking error coordinate \(e_3\)

$$\begin{aligned} \begin{aligned} u_3 = -K_{p3}\left( \varphi _{1d} -\varphi _1 \right) -K_{d3}\left( \dot{\varphi }_{1d} -\dot{\varphi }_1 \right) \end{aligned} \end{aligned}$$
(39)

and input variable \(i_1\) is evaluated using (38) and (39):

$$\begin{aligned} \begin{aligned} i_1 = \frac{I_1\left[ \ddot{\varphi }_{1d}+K_{p3}\left( \varphi _{1d} -\varphi _1 \right) +K_{d3}\left( \dot{\varphi }_{1d} -\dot{\varphi }_1 \right) \right] +b_{M2}\dot{\varphi }_1+F_1r_1}{k_{t1}} \end{aligned} \end{aligned}$$
(40)

4 Simulation experiment: trajectory tracking

The simulation experiment for the presented mechanical system is performed. For obtaining of all system states, the state observer with measured inputs \(\varphi _1\), \(\varphi _2\) and \(x_n\) is used. There are two drive control strategies. The first is with drives in position control mode, and the second uses drives in torque control mode. For both cases, the control algorithm is assembled. Sensitivity on idenfied parameters inaccuracy was tested. With the \(10\%\) parameter deviation, the control works and results are close to the simulation without parameter deviation.

The PD controller parameters (\(K_{pi}\), \(K_{di}\), \(i=1,...,3\)) are selected for the system derived from (17) and (18):

$$\begin{aligned} \begin{aligned} \mathbf {\ddot{e}} + K_{di}\mathbf {\dot{e}} +K_{pi}\mathbf {e} = 0 \end{aligned} \end{aligned}$$
(41)

where the proportional (\(K_{pi}\)) and derivative (\(K_{di}\)) coefficients are derived from the desired system roots for the \(i^{th}\) controller. Roots are characterized by eigenfrequency \(\Omega _i\) and damping ratio \(\zeta _i\).

The first controller (controls desired \(F_{2d}\) force in the cable) has \(\Omega _1={30}\frac{rad}{s}\) and \(\zeta _1={0.7}\); the second controller (transfers desired motion from TCP desired position to \(\varphi _1\) coordinate) has frequency two times higher (\(\Omega _2={60}\frac{rad}{s}\)) and \(\zeta _2=0.5\). The last controller (ensures the \(\varphi _1\) desired coordinate behaviour by the drive input \(i_1\)) is in cascade with previous controllers and frequency is three times higher than with second controller (\(\Omega _3={180}\frac{rad}{s}\) and \(\zeta _3={0.7}\)). The state observer has eigenfrequencies \(378\frac{rad}{s}\), \(454\frac{rad}{s}\), \(529\frac{rad}{s}\) and common damping 0.5. The damping is critical to facilitate the convergence, and the frequency is high enough to secure the sufficient controller bandwith.

The relations between damping, frequency and controller parameters are

$$\begin{aligned} \begin{aligned} K_{pi}&= \Omega _i^2\\ K_{di}&= 2\zeta _i\Omega _i \end{aligned} \end{aligned}$$
(42)

At the first, the simulated frequency response is obtained, and at the second, the trajectory tracking error is analysed during the prescribed motion.

4.1 Effect of cables with drives in position control mode

The system with the cables and drives in position control mode is at Fig. 8. It uses only part of the derived computed torques control equations. The cable pre-load force \(F_{2d}\) is substituted into the (23) and desired angular position \(\varphi _2\) is obtained. The angular velocity \(\dot{\varphi }_2\) is evaluated using (24). These are inputs of the right engine.

Fig. 8
figure 8

Model with auxiliary structure drives in position control mode

Follows the end point trajectory tracking task. The angle \(\varphi _1\) is then evaluated using (34) with PD control law (33). The control law is extended with I part (43) to remove the residual control error, the I part gain \(K_I\) equals \(10^4\).

$$\begin{aligned} \begin{aligned} {\mathbf {\ddot{e}} + K_{d2}\mathbf {\dot{e}} + K_{p2}\mathbf {e} + K_{I}\int \mathbf {e} = 0} \end{aligned} \end{aligned}$$
(43)

The angular velocity \(\dot{\varphi }_1\) is then evaluated using (35). These are inputs of the left engine. The third equation of (1) is resulting system eigen equation of motion with inputs x, \(\dot{x}\), \(\varphi _1\), \(\dot{\varphi }_1\), \(\varphi _2\), \(\dot{\varphi }_2\).

4.1.1 Frequency response

The frequency response of the nonlinear system is obtained by system excitation with harmonic signal. Follows the FFT signal analysis for obtaining transfer function of the system. The prescribed motion of TCP point (coordinate \(x_n\)) is used. The excitation input signal is harmonic chirp with frequency range from 0.1 to 50Hz. The amplitude of the signal is 0.01m.

Figure 9 illustrates theoretical frequency response of the system with drives in position mode using pre-stressed cables in comparison to the original system with no cables.

Fig. 9
figure 9

Frequency response of beam tip position and its desired position, auxiliary structure drives are in position control mode

4.1.2 Trajectory tracking

Trajectory tracking capabilities with \(C^1\) continuous input is presented. Figure 10 shows the TCP of the system under some position changes.

Fig. 10
figure 10

Trajectory tracking with small amplitude. TCP behaviour is on top, tracking error is on the bottom. Drives are in position control mode

The tracking error is significantly low and at the each curve change end there is a impulse because of non-smooth curve second time derivative.

4.2 Effect of cables with drives in torque control mode

Full derived model of experimental stand with described control strategy is used. The control law (33) is extended with I part to remove the residual control error at beam tip position (TCP point), (44). The I part gain \(K_{I2}\) equals \(10^4\).

$$\begin{aligned} \begin{aligned} {\mathbf {\ddot{e}} + K_{d2}\mathbf {\dot{e}} + K_{p2}\mathbf {e} + K_{I2}\int \mathbf {e} = 0} \end{aligned} \end{aligned}$$
(44)

4.2.1 Frequency response

The procedure for obtaining the frequency response of the nonlinear system with drives in torque control mode follows on the previous case. The excitation has the same frequency and amplitude.

The frequency response of three variants (beam, beam supported with prestressed cables and beam with cables under control) is shown in Fig. 11.

Fig. 11
figure 11

Frequency response of beam tip position and its desired position, drives are in torque control mode

4.2.2 Trajectory tracking

There is presented trajectory tracking, with same input as in previous case. Figure 12 shows the beam tip movement as well as the cart position as a desired motion.

Fig. 12
figure 12

Trajectory tracking with small amplitude. TCP behaviour is on top, tracking error is on the bottom. Drives are in torque control mode

The tracking error has satisfactory behaviour and at the each curve change end there is a impulse because of non-smooth curve second time derivative. In comparison with the drives in position control mode the tracking error is lower and behaviour is more converging, approximately \(5\cdot 10^{-5}m\) is peak value.

5 Preliminary experimental results

There is performed preliminary experimental measurement. The demonstrator on Fig. 1 consists of the cart mounted to linear axis Rexroth with the electric drive Kollmorgen 6SM 57M-3.000-S3-1325. There is mounted on a cart a beam equipped at the tip with the cables. The cables are actuated with electric drives Kollmorgen D062M-92-9310-010. The cart and beam tip horizontal positions are measured by lasertracker Leica AT960-MR and Leica AT901-B respectively. Whole system is managed by real-time control system Beckhoff AX5911 TwinCAT3 based on bus EtherCAT. The sampling frequency is 1kHz. The whole experiment is laboratory implementation of the demonstrator with its limitations. The practical implementation may vary significantly. The system reacts to almost step response at cart position and beam tip is controlled using cable structure.

The comparison of beam tip position with desired movement of cart is on Fig. 13. Except the peaks after the extreme step, the control error has magnitude lower than \(10^{-4}m\). Further improvements to the experiment implementation are under development.

Fig. 13
figure 13

Preliminary measurement, cart position measurement is a reference

6 Conclusions

A fundamental model of the machine tool quill and supporting structure was created. The component parameters are obtained by experimental identification. Control algorithm based on the computed torques method with a PD controller was created. As part of the procedure, the cable pre-tension is included. The resulting controlled nonlinear system model was subjected to frequency analysis and subsequent trajectory tracking was evaluated.

The obtained results can be summarized as follows:

  • The machine tools with a large workspace and long and heavy movable parts main properties are represented by given experimental setup

  • The experimental setup is extended by auxiliary cable structure with actuators, and it creates the so-called mechatronic stiffness

  • Auxiliary structure with cables can be easily modified and the original machine tool workspace is not negatively affected

  • Machine tool utility properties are significantly improved

  • The improvement is based on the possibility of direct control at the site of the technological process

  • The controlled system frequency response shows the balanced behaviour

  • Applied mechatronic stiffness concept significantly increases trajectory tracking precision

  • Two different servo-drive control strategies were performed

  • Preliminary experimental results show the promising behaviour of the controlled structure, and further improvements to the experiment implementation are under development

The results obtained from the simulation experiment show a significant improvement in the utility properties of the machine. Mentioned improvement is based on the possibility of direct control at the site of the technological process. This solution requires some space for the cable installation and appropriate control and power technology implementation. The structure is extended by other elements and actuators, which are however commonly used. The actual basic structure can be lightened while maintaining the existing properties with regard to the application of mechatronic stiffness or the mechatronic solution will improve the dynamic properties of the existing system. Integration into existing control systems is possible.