1 Introduction

When dynamic forces are applied in structures, undesired oscillations may occur. There are many ways to minimize those oscillations. Passive, semi-active and active methods are extensively described in the literature. A common passive method consists of using dynamic vibration absorbers, also known as tuned mass dampers, constructed with a mass and a spring (or a mass, a spring and a viscous damper), as described in [10, 15, 16, 24, 27, 34]. Despite its effectiveness when periodic forces are applied, they are limited to some frequency range. To allow an effective operation in a wider force frequency range, [14] proposes the use of multiple degrees of freedom vibration absorbers. Other type of passive solutions can be achieved with the use of resonant circuit shunted piezoelectrics [23, 25, 27, 31], use of viscoelastic materials [10] or shape memory alloys [9]. Alternative techniques, as the use of passive electromagnetic dampers, can be found in [22].

Semi-active methods often bring better vibration reduction but without the power consumption required by the active methods. The magnetorheological dampers, described in detail by [19, 23], are commonly mentioned in literature. Examples of those dampers with different controllers can be found in [3, 12, 33], where special attention is given for control of structural vibration caused by earthquakes. Another type of a semi-active technique can be found in [30], where a coil-based electromagnetic vibration control device has been used.

The most effective class of vibration control devices are of the active type. They can be used to reduce the oscillations due to periodic disturbances in wider frequency ranges as well as oscillations caused by impulsive disturbances. Different active methods for vibration control can be used. A widely used method consists in employing piezoelectric actuators, as shown in [1, 2, 7, 8], where they are used in combination with different controllers. In [25], an active–passive piezoelectric network is presented. Another active technique consists in using reaction masses, as presented in [5, 13]. In [13], a comparison between the performance of an active controller that uses reaction masses and a passive controller is presented. Recently, electromagnetic actuators, assembled and fixed outside the structure, have been used to control vibration of flexible beams. In [11, 18, 32], a single actuator is employed. In [17], two actuators are used, allowing electromagnetic forces in opposite directions. In [29], two actuators are used to control the vibration of a moving mass attached to a rigid arm that can rotate with respect to the ground.

The use of electromagnetic actuators is very efficient and they are assembled outside and without any physical contact with the structure whose oscillations need to be controlled. This makes their use an interesting solution when actuators cannot be assembled directly at the structure. Besides, when oscillations that were not expected during the design stage need to be reduced, the use of those external actuators may be cheaper than modifying a structure that has already been constructed. Despite the mentioned vantages of the electromagnetic actuators they have a main drawback, the relative motion between the actuator surface and the actuated part of the structure needs to be very small [26, 28], usually less than 1 mm. But if this motion can be kept small, the use of electromagnetic actuators assembled outside the structure is viable.

In this work, electromagnetic actuators will be employed to control the vibrations of a structure due to an impulsive force. For that, a model of the structure, actuator and the controller will be developed and simulation results will be presented to show the effectiveness of this vibration control technique.

2 Structure, actuators and position sensor

According to the scheme below, the shear-frame-type structure considered at this work is composed of three rigid masses (m 1, m 2 and m 3), connected to each other with flexible elements (b 3, b 4, b 5 and b 6). The first rigid mass is also connected to the ground with flexible elements (b 1 and b 2). To control the vibrations, two electromagnetic actuators (a 1 and a 2) are fixed to the ground in such a way to exert forces in m 1. To have magnetic forces acting at the structure, m 1 should consist of a ferromagnetic material or should have ferromagnetic material at its surfaces facing the actuators. To measure m 1 displacement, a position sensor (p) is assembled near one of its lateral surfaces. For controlling purposes, it will be considered that a digital computer is used.

Considering that the thickness of the flexible structures is much smaller than its width and considering that b 1 is identical and parallel to b 2, that b 3 is identical and parallel to b 4, and, that b 5 is identical and parallel to b 6, it can be assumed that the masses will only move parallel to the ground fixed X axis. Therefore, all the analysis will be made considering forces applied in this direction, according to Fig. 1, where a disturbance force, f(t), applied at m 3 is shown.

Fig. 1
figure 1

Shear frame structure

2.1 Structure model

If the length of each flexible element is significantly larger than its width and thickness, unidimensional finite elements can be used for modeling purposes. Considering that the rigid masses will move only in directions parallel to X axis, beam elements with two knots and four degrees of freedom can be employed for the discretization of the flexible elements in the structure (b 1, b 2, b 3, b 4, b 5 and b 6). The degrees of freedom of a beam element n are represented in Fig. 2.

Fig. 2
figure 2

Beam element with two knots and four degrees of freedom

The stiffness matrix and the consistent mass matrix of a flexible beam element with constant specific mass ρ, constant cross section area A, constant area moment of inertia I, constant elasticity modulus E and with length l n are, respectively, given by [15]:

$${\mathbf{K}}_{n} = EI\left[ {\begin{array}{*{20}c} {12/l_{n}^{3} } & {6/l_{n}^{2} } & { - 12/l_{n}^{3} } & {6/l_{n}^{2} } \\ {6/l_{n}^{2} } & {4/l_{n} } & { - 6/l_{n}^{2} } & {2/l_{n} } \\ { - 12/l_{n}^{3} } & { - 6/l_{n}^{2} } & {12/l_{n}^{3} } & { - 6/l_{n}^{2} } \\ {6/l_{n}^{2} } & {2/l_{n} } & { - 6/l_{n}^{2} } & {4/l_{n} } \\ \end{array} } \right]$$
(1)
$${\mathbf{M}}_{n} = \frac{\rho A}{420}\left[ {\begin{array}{*{20}c} {156l_{n} } & {22l_{n}^{2} } & {54l_{n} } & { - 13l_{n}^{2} } \\ {22l_{n}^{2} } & {4l_{n}^{3} } & {13l_{n}^{2} } & { - 3l_{n}^{3} } \\ {54l_{n} } & {13l_{n}^{2} } & {156l_{n} } & { - 22l_{n}^{2} } \\ { - 13l_{n}^{2} } & { - 3l_{n}^{3} } & { - 22l_{n}^{2} } & {4l_{n}^{3} } \\ \end{array} } \right]$$
(2)

For a flexible beam with constant cross-sectional area of width w and thickness h:

$$A = hw$$
(3)
$$I = hw^{3} /12.$$
(4)

If two beam elements with the same length are used for the discretization of each flexible beam in the structure, a model with 12 beam elements and 15 degrees of freedom is obtained. The subscript G is used to indicate that the degrees of freedom are referred to the whole structure (global degrees of freedom). The structure also contains three rigid elements m 1, m 2 and m 3 (Fig. 3).

Fig. 3
figure 3

Discretized structure

The global stiffness matrix, K G , and the consistent mass matrix, M G , represented with Eqs. (5) and (6), can be obtained from the mass and stiffness matrices of each beam element according to the methods discussed in [15]:

$${\mathbf{K}}_{G} = \left[ {\begin{array}{*{20}c} {k_{1,1} } & \cdots & {k_{1,15} } \\ \vdots & \ddots & \vdots \\ {k_{15,1} } & \cdots & {k_{15,15} } \\ \end{array} } \right]$$
(5)
$${\mathbf{M}}_{G} = \left[ {\begin{array}{*{20}c} {m_{1,1} } & \cdots & {m_{1,15} } \\ \vdots & \ddots & \vdots \\ {m_{15,1} } & \cdots & {m_{15,15} } \\ \end{array} } \right]$$
(6)

The elements of the matrices above are given in the “Appendix”. Since \(u_{{5_{G} }}\), \(u_{{10_{G} }}\) and \(u_{{15_{G} }}\) describe, respectively, the displacements of m 1, m 2 and m 3, those masses were added at the components \(m_{5,5}\), \(m_{10,10}\) and \(m_{15,15}\) of the global consistent mass matrix.

Considering that the structure has proportional damping, then, according to [15, 24], the viscous damping matrix, D G , can be calculated with Eq. (7).

$${\mathbf{D}}_{G} = \alpha {\mathbf{M}}_{G} + \beta {\mathbf{K}}_{G} .$$
(7)

If the first two modal damping factors, \(\zeta_{1}\) and \(\zeta_{2}\), and the first two natural angular frequencies of the structure (ω 1 and ω 2) are known, the coefficients α and β can be calculated using with the following system of equations [15]:

$$\left\{ \begin{aligned} \zeta_{1} = \frac{\alpha }{{2\omega_{1} }} + \frac{{\beta \omega_{1} }}{2} \hfill \\ \zeta_{2} = \frac{\alpha }{{2\omega_{2} }} + \frac{{\beta \omega_{2} }}{2} \hfill \\ \end{aligned} \right.$$
(8)

Which can solved for α and β:

$$\left\{ \begin{aligned} \alpha = {{2\left( {\zeta_{2} - \frac{{\zeta_{1} \omega_{2} }}{{\omega_{1} }}} \right)} \mathord{\left/ {\vphantom {{2\left( {\zeta_{2} - \frac{{\zeta_{1} \omega_{2} }}{{\omega_{1} }}} \right)} {\left( {\frac{1}{{\omega_{2} }} - \frac{{\omega_{2} }}{{\omega_{1}^{2} }}} \right)}}} \right. \kern-0pt} {\left( {\frac{1}{{\omega_{2} }} - \frac{{\omega_{2} }}{{\omega_{1}^{2} }}} \right)}} \hfill \\ \beta = 2\zeta_{1} /\omega_{1} - {{2\left( {\zeta_{2} - \frac{{\zeta_{1} \omega_{2} }}{{\omega_{1} }}} \right)} \mathord{\left/ {\vphantom {{2\left( {\zeta_{2} - \frac{{\zeta_{1} \omega_{2} }}{{\omega_{1} }}} \right)} {\left( {\frac{{\omega_{1}^{2} }}{{\omega_{2} }} - \omega_{2} } \right)}}} \right. \kern-0pt} {\left( {\frac{{\omega_{1}^{2} }}{{\omega_{2} }} - \omega_{2} } \right)}} \hfill \\ \end{aligned} \right.$$
(9)

2.2 Actuator models

An electromagnetic actuator can only exert an attractive force at a ferromagnetic material. According to [26, 28], the magnitude of this force can be modeled as:

$$f_{a} (t) = \frac{1}{4}\mu_{0} N^{2} a\frac{{i(t)^{2} }}{{s(t)^{2} }},$$
(10)

where μ 0 is the magnetic field constant of the vacuum.

Considering that the two actuators, a 1 and a 2, are identical, with a 1 pulling m 1 to the left and a 2 pulling it to the right, the forces exerted by the actuator a 1 and a 2 are, respectively, given by:

$$f_{{a_{1} }} (t) = - \frac{1}{4}\mu_{0} N^{2} a\frac{{i_{{a_{1} }} (t)^{2} }}{{s_{{a_{1} }} (t)^{2} }} = - \frac{1}{4}\mu_{0} N^{2} a\frac{{i_{{a_{1} }} (t)^{2} }}{{[s_{0} + u_{{5_{G} }} (t)]^{2} }}$$
(11)
$$f_{{a_{2} }} (t) = \frac{1}{4}\mu_{0} N^{2} a\frac{{i_{{a_{2} }} (t)^{2} }}{{s_{{a_{2} }} (t)^{2} }} = \frac{1}{4}\mu_{0} N^{2} a\frac{{i_{{a_{2} }} (t)^{2} }}{{[s_{0} - u_{{5_{G} }} (t)]^{2} }},$$
(12)

where s 0 is the air gap between each actuator surface and the ferromagnetic surfaces of the rigid mass m 1 when the structure is in equilibrium position, as shown in Fig. 4.

Fig. 4
figure 4

Displacement of m 1 with respect to equilibrium position

If voltage control is used, the currents at each actuator can be calculated with the following differential equations below [26]:

$$ri_{{a_{1} }} (t) + L\dot{i}_{{a_{1} }} (t) - k_{u} \dot{u}_{{5_{G} }} (t) = U_{{a_{1} }} (t)$$
(13)
$$ri_{{a_{2} }} (t) + L\dot{i}_{{a_{2} }} (t) + k_{u} \dot{u}_{{5_{G} }} (t) = U_{{a_{2} }} (t)$$
(14)

To have a more realistic model, variable inductance (L) and variable voltage–velocity coefficient (k u ) will be considered. The inductance depends on the gap between the actuator surface and the ferromagnetic material surface. The voltage–velocity coefficient depends on this gap and the actuator current. Therefore, Eqs. 13 and 14 can be re-written as:

$$ri_{{a_{1} }} (t) + L(s_{{a_{1} }} )\dot{i}_{{a_{1} }} (t) - k_{u} (s_{{a_{1} }} ,i_{{a_{1} }} )\dot{u}_{{5_{G} }} (t) = U_{{a_{1} }} (t)$$
(15)
$$ri_{{a_{2} }} (t) + L(s_{{a_{2} }} ) \cdot \dot{i}_{{a_{2} }} (t) + k_{u} (s_{{a_{2} }} ,i_{{a_{2} }} )\dot{u}_{{5_{G} }} (t) = U_{{a_{2} }} (t)$$
(16)

An empirical formula for the inductance in function of the air gap s is given in [4]:

$$L(s) = L_{0} + (L_{\hbox{max} } - L_{0} )/(1 + \gamma \cdot s),$$
(17)

where L 0 is the inductance when the ferromagnetic element is not present, L max is the inductance when the ferromagnetic material is touching the actuator and γ is a parameter. If the inductance when the ferromagnetic material is at some distance d from the actuator’s surface is known (i.e., L d ), the parameter γ can be calculated:

$$L_{d} = L(d) = L_{0} + (L_{\hbox{max} } - L_{0} )/(1 + \gamma \cdot d)$$
(18)
$$\gamma = \frac{1}{d} \cdot \left( {\frac{{L_{\hbox{max} } - L_{0} }}{{L_{d} - L_{0} }} - 1} \right)$$
(19)

Therefore, Eq. (17), applied to actuator a 1 and actuator a 2, becomes:

$$\begin{aligned} L(s_{{a_{1} }} ) & = L_{0} + \frac{{(L_{\hbox{max} } - L_{0} )}}{{1 + \frac{{s_{{a_{1} }} }}{d} \cdot \left( {\frac{{L_{\hbox{max} } - L_{0} }}{{L_{d} - L_{0} }} - 1} \right)}} \\ & = L_{0} + \frac{{(L_{\hbox{max} } - L_{0} )}}{{1 + \frac{{[s_{0} + u_{{5_{G} }} (t)]}}{d} \cdot \left( {\frac{{L_{\hbox{max} } - L_{0} }}{{L_{d} - L_{0} }} - 1} \right)}} \\ \end{aligned}$$
(20)
$$\begin{aligned} L(s_{{a_{2} }} ) & = L_{0} + \frac{{(L_{\hbox{max} } - L_{0} )}}{{1 + \frac{{s_{{a_{2} }} }}{d} \cdot \left( {\frac{{L_{\hbox{max} } - L_{0} }}{{L_{d} - L_{0} }} - 1} \right)}} \\ & = L_{0} + \frac{{(L_{\hbox{max} } - L_{0} )}}{{1 + \frac{{[s_{0} - u_{{5_{G} }} (t)]}}{d} \cdot \left( {\frac{{L_{\hbox{max} } - L_{0} }}{{L_{d} - L_{0} }} - 1} \right)}} \\ \end{aligned}$$
(21)

In [26], it is mentioned that when the electromagnetic force is linearized around an equilibrium gap, s 0, and a bias current, i 0, the voltage–velocity coefficient, k u , is equal to the force–current factor, k i , given by Eq. 22.

$$k_{u} = k_{i} = \mu_{0} N^{2} a\frac{{i_{0} }}{{s_{0}^{2} }}$$
(22)

For different gaps, s, and currents, i, the coefficient k u can be approximated by:

$$k_{u} (i,s) = \mu_{0} N^{2} a\frac{i}{{s^{2} }}$$
(23)

Therefore, for the actuator a 1 current equation the coefficient k u will be approximated by Eq. (24) and for the actuator a 2 it will be approximated by Eq. (25).

$$k_{u} (i_{{a_{1} }} ,s_{{a_{1} }} ) = \mu_{0} N^{2} a\frac{{i_{{a_{1} }} }}{{s_{{a_{1} }}^{2} }} = \mu_{0} N^{2} a\frac{{i_{{a_{1} }} }}{{[s_{0} + u_{{5_{G} }} (t)]^{2} }}$$
(24)
$$k_{u} (i_{{a_{2} }} ,s_{{a_{2} }} ) = \mu_{0} N^{2} a\frac{{i_{{a_{2} }} }}{{s_{{a_{2} }}^{2} }} = \mu_{0} N^{2} a\frac{{i_{{a_{2} }} }}{{[s_{0} - u_{{5_{G} }} (t)]^{2} }}$$
(25)

The total voltage provided for each actuator will be composed of the bias voltage, U 0, and the control voltage, U, according to the equations below:

$$U_{{a_{1} }} (t) = U_{0} - U(t)$$
(26)
$$U_{{a_{2} }} (t) = U_{0} + U(t)$$
(27)

The use of a bias voltage is necessary to induce a bias current at the actuators, i 0, which is necessary to allow the linearization of the resultant actuator force, as discussed in [26, 28]. With a linearized expression for the actuation force, it is possible to design a linear controller. The control voltage will be obtained by the controller, discussed in detail further.

Substituting Eqs. (20), (24) and (26) in Eq. (15) and substituting Eqs. (21), (25) and (27) in Eq. (16), a more accurate representation of the differential equations for the current at the actuators is obtained:

$$ri_{{a_{1} }} (t) + \left[ {L_{0} + \frac{{(L_{\hbox{max} } - L_{0} )}}{{1 + \frac{{[s_{0} + u_{{5_{G} }} (t)]}}{d}\left( {\frac{{L_{\hbox{max} } - L_{0} }}{{L_{d} - L_{0} }} - 1} \right)}}} \right]\dot{i}_{{a_{1} }} (t) - \frac{{i_{{a_{1} }} (t)\mu_{0} N^{2} a\dot{u}_{{5_{G} }} (t)}}{{[s_{0} + u_{{5_{G} }} (t)]^{2} }} = U_{0} - U(t)$$
(28)
$$ri_{{a_{2} }} (t) + \left[ {L_{0} + \frac{{(L_{\hbox{max} } - L_{0} )}}{{1 + \frac{{[s_{0} - u_{{5_{G} }} (t)]}}{d}\left( {\frac{{L_{\hbox{max} } - L_{0} }}{{L_{d} - L_{0} }} - 1} \right)}}} \right]\dot{i}_{{a_{2} }} (t) + \frac{{i_{{a_{2} }} (t)\mu_{0} N^{2} a\dot{u}_{{5_{G} }} (t)}}{{[s_{0} - u_{{5_{G} }} (t)]^{2} }} = U_{0} + U(t)$$
(29)

Power amplifiers used in real systems provide voltages until a superior limit, U sup. This nonlinear feature is represented in Fig. 5 and will be considered in the simulation program.

Fig. 5
figure 5

Voltage saturation

In the model used in this work, hysteresis and magnetic saturation at the actuators will be disregarded. In a real system, these phenomena can only be avoided if the flux density, B, at the actuators is kept below a limiting value, B lim, of the metal used in its core. Equation (30) relates the flux density with the actuator current, i, and the air gap s [26]:

$$B = \mu_{0} N\frac{i}{2s}$$
(30)

If B is smaller than B lim, the actuator will be working within the hysteresis and saturation limits. Therefore, during the simulation it is important to verify this condition to guarantee the suitability of the model used. This can be done if the condition below is checked at every simulation time step:

$$\mu_{0} N\frac{i(t)}{2s(t)} < B_{\lim } \to \frac{i(t)}{s(t)} < \frac{{2B_{\lim } }}{{\mu_{0} N}}$$
(31)

As there are two actuators, the conditions should be checked for each of them:

$$\frac{{i_{{a_{1} }} (t)}}{{s_{{a_{1} }} (t)}} = \frac{{i_{{a_{1} }} (t)}}{{s_{0} + u_{{5_{G} }} (t)}} < \frac{{2B_{\lim } }}{{\mu_{0} N}}$$
(32)
$$\frac{{i_{{a_{2} }} (t)}}{{s_{{a_{2} }} (t)}} = \frac{{i_{{a_{2} }} (t)}}{{s_{0} - u_{{5_{G} }} (t)}} < \frac{{2B_{\lim } }}{{\mu_{0} N}}$$
(33)

2.3 Sensor model

There is only one sensor in the system that measures m 1 position. To assure that a realistic sensor model is used, noise will be included in the simulation program. The output of the sensor, y(t), with noise, η(t), is given by:

$$y(t) = u_{{5_{G} }} (t) + \eta (t)$$
(34)

The noise will be modeled as random function that can assume any value between a lower limit, η inf, and an upper limit, η sup.

3 Controller

A system where the control is done with a digital computer is modeled in this work. The use of digital computers for controlling purposes allows the application of more sophisticated control techniques, but introduces time delays in the system. Therefore, in the model used at the simulations, it is necessary to consider those time delays. Time delays due to digital controllers mean that the control signal applied at some instant t k is calculated with the information provided by the sensor at a previous time t k−1 . Assuming constant time delays, T, the relationship between two consecutive sampled times is given by:

$$t_{k} = t_{k - 1} + T$$
(35)

Alternatively, the expression above can be written as:

$$t_{k + 1} = t_{k} + T$$
(36)

Besides, zero-order hold [20] will be considered, which means that the control signal will remain constant at the calculated value until a new value is provided by the digital computer, after T seconds.

The purpose of the controller is to bring the structure back to equilibrium position (i.e., u G  = 0) after some disturbance force is applied. A linear quadratic regulator (LQR), described in [20, 21], will be used for that. As this is a state-space regulator, it is necessary to provide the system states for the calculations of the control signal. Assuming that only one sensor is available, an observer will be used to estimate the states. In this work, a full-order observer will be employed [20, 21]. Besides, the LQR is a linear regulator, which means that it is designed based at a linear model of the system. Therefore, it is necessary to develop a linear model of the system.

Due to the time delays, it is recommended to use a discrete LQR with a predictive observer. For that, a linear discrete model of the system is necessary. To avoid the estimation of too many states, the controller and the observer will be designed based in a simplified three degrees of freedom flexible structure, discussed next. Therefore, a continuous linear model of the system will be first developed. From this model, a discrete linear model of the system will be obtained, which allows the design of a discrete LQR and predictive discrete linear observer.

3.1 Continuous simplified model

For the controller and observer design a simplified three degrees of freedom model of the structure will be used. Within the simplified model, ideal springs linking the bodies are considered instead of the flexible beams, according to the scheme shown in Fig. 6.

Fig. 6
figure 6

Simplified model

The stiffness constant for a spring that represents two parallel flexible beams of length l m connecting elements that move parallel to the ground is given by [24]:

$$k = 24EI/l_{m}^{3}$$
(37)

Therefore, each of the equivalent springs will have the following stiffness:

$$k_{a} = 24EI/l_{a}^{3}$$
(38)
$$k_{b} = 24EI/l_{b}^{3}$$
(39)
$$k_{c} = 24EI/l_{c}^{3}$$
(40)

Each actuator exerts an attractive nonlinear force at m 1. But if small displacements of m 1 occur around the equilibrium position (where the air gap is equal to s 0 for both actuators, as shown in Fig. 4) and if the actuator currents oscillate around a bias current, i 0, an actuation resultant linear force, f r (t), can be approximated by [15, 24]:

$$f_{r} (t) = k_{i} i_{x} (t) + k_{s} u_{{5_{G} }} (t),$$
(41)

where i x is the differential current. The force–current factor, k i , is given by Eq. (22) and the force–displacement factor, k s , is given by Eq. (42), as shown in [26, 28]:

$$k_{s} = \mu_{0} N^{2} a\frac{{i_{0}^{2} }}{{s_{0}^{3} }}$$
(42)

It is important to stress that, as the actuators are controlled by voltage, the bias current, i 0, has to be induced by providing a bias voltage, U 0.

$$i_{0} = U_{0} /r$$
(43)

Therefore, the constants k i and k s can be written as:

$$k_{i} = \mu_{0} N^{2} a\frac{{(U_{0} /r)}}{{s_{0}^{2} }}$$
(44)
$$k_{s} = \mu_{0} N^{2} a\frac{{(U_{0} /r)^{2} }}{{s_{0}^{3} }}$$
(45)

According to [26, 28], the differential current, i x , can be calculated with Eq. (46):

$$ri_{x} (t) + L_{\text{avg}} \dot{i}_{x} (t) - k_{u} \dot{u}_{{5_{G} }} (t) = U(t),$$
(46)

where L avg is an average inductance value, k u is equal to k i , now given by Eq. (44), and U is the control voltage. Since the mass m 1 will oscillate around s 0, the average value for the inductance can be obtained by considering s = s 0 in Eq. (17).

If the proportional damping coefficients α and β of the structure are known, proportional damping can be included in this simplified model. The set of equations below, together with Eq. (46), can be used to represent the simplified structure with proportional damping.

$$\begin{aligned} & m_{1} {\ddot{{u}}}_{{5_{G} }} (t) + [\alpha m_{1} + \beta (k_{a} + k_{b} )]\dot{u}_{{5_{G} }} (t) - \beta k_{b} \dot{u}_{{10_{G} }} (t) + (k_{a} + k_{b} )u_{{5_{G} }} (t) - k_{b} u_{{10_{G} }} (t) \hfill \\ & \quad = f_{r} (t) = k_{i} i_{x} (t) + k_{s} u_{{5_{G} }} (t) \hfill \\ \end{aligned}$$
(47)
$$\begin{aligned} m_{2} {\ddot{{u}}}_{{10_{G} }} (t) - \beta k_{b} \dot{u}_{{5_{G} }} (t) + [\alpha m_{2} + \beta (k_{b} + k_{c} )]\dot{u}_{{10_{G} }} (t) - \beta k_{c} \dot{u}_{{15_{G} }} (t) - k_{b} u_{{5_{G} }} (t) \hfill \\ \quad + (k_{b} + k_{c} )u_{{10_{G} }} (t) - k_{c} u_{{15_{G} }} (t) = 0 \hfill \\ \end{aligned}$$
(48)
$$m_{3} \textit{\"{u}}_{{15_{G} }} (t) - \beta k_{c} \dot{u}_{{10_{G} }} (t) + [\alpha m_{3} + \beta k_{c} ]\dot{u}_{{15_{G} }} (t) - k_{c} u_{{10_{G} }} (t) + k_{c} u_{{15_{G} }} (t) = 0$$
(49)

Making the following variable substitution:

$$q_{1} = u_{{5_{G} }} ,\,q_{2} = u_{{10_{G} }} ,\,q_{3} = u_{{15_{G} }} ,\,q_{4} = \dot{u}_{{5_{G} }} ,\,q_{5} = \dot{u}_{{10_{G} }} ,\,q_{6} = \dot{u}_{{15_{G} }} \quad {\text{and}}\quad q_{7} = i_{x} .$$

The system can, finally, be written in the continuous state-space form, [34]:

$${\dot{\mathbf{q}}}(t) = {\mathbf{Aq}}(t) + {\mathbf{Bc}}(t)$$
(50)

where:

$${\dot{\mathbf{q}}}(t) = \left[ {\begin{array}{*{20}c} {\dot{q}_{1} (t)} & {\dot{q}_{2} (t)} & {\dot{q}_{3} (t)} & {\dot{q}_{4} (t)} & {\dot{q}_{5} (t)} & {\dot{q}_{6} (t)} & {\dot{q}_{7} (t)} \\ \end{array} } \right]^{{\mathbf{T}}}$$
(51)
$${\mathbf{q}}(t) = \left[ {\begin{array}{*{20}c} {q_{1} (t)} & {q_{2} (t)} & {q_{3} (t)} & {q_{4} (t)} & {q_{5} (t)} & {q_{6} (t)} & {q_{7} (t)} \\ \end{array} } \right]^{{\mathbf{T}}}$$
(52)
$${\mathbf{B}} = \left[ {\begin{array}{*{20}c} 0 & 0 & 0 & 0 & 0 & 0 & {1/L_{\text{avg}} } \\ \end{array} } \right]^{{\mathbf{T}}}$$
(53)
$${\mathbf{c}}(t) = U(t)$$
(54)
$${\mathbf{A}} = \left[ {\begin{array}{*{20}c} {A_{1,1} } & {A_{1,2} } & \cdots & {A_{1,7} } \\ {A_{2,1} } & {A_{2,2} } & \cdots & {A_{2,7} } \\ \vdots & \vdots & \ddots & \vdots \\ {A_{7,1} } & {A_{7,2} } & \cdots & {A_{7,7} } \\ \end{array} } \right]$$
(55)

The elements of the matrix A are shown in the “Appendix”.

3.2 Discrete simplified model

The discrete state-space equations of a linear time invariant system are given by Eq. (56). It is considered that any two consecutive discrete time instants are separated by T seconds.

$${\mathbf{q}}(t_{k + 1} ) = {\mathbf{Gq}}(t_{k} ) + {\mathbf{Hc}}(t_{k} ),$$
(56)

where

$${\mathbf{c}}(t_{k} ) = U(t_{k} )$$
(57)

The discrete model can be obtained from the continuous model. After substituting the numerical value of the parameters in matrices A and B, the numerical value of matrices G and H can be calculated according to the equations below [20]:

$${\mathbf{G}} = e^{{{\mathbf{A}}T}}$$
(58)
$${\mathbf{H}} = \left( {\int_{0}^{T} {e^{{{\mathbf{A}}\lambda }} {\text{d}}\lambda } } \right){\mathbf{B}}$$
(59)

3.3 Discrete LQR design

The LQR is a state-space regulator whose control signal is given by:

$${\mathbf{c}}(t_{k} ) = - {\mathbf{K}}_{{\mathbf{C}}} {\mathbf{q}}(t_{k} ),$$
(60)

where K C is the controller gain matrix (here a single line matrix with seven columns). This gain should minimize the quadratic performance index, J, below:

$$J = \frac{1}{2}\sum\limits_{k} {\left[ {{\mathbf{q}}^{{\mathbf{T}}} (t_{k} ){\mathbf{Qq}}(t_{k} ) + {\mathbf{c}}^{{\mathbf{T}}} (t_{k} ){\mathbf{Rc}}(t_{k} )} \right]}$$
(61)

The control vector is the control tension U(t k ), a scalar. Therefore, Eq. (61) can be written as:

$$J = \frac{1}{2}\sum\limits_{k} {\left[ {{\mathbf{q}}^{{\mathbf{T}}} (t_{k} ){\mathbf{Qq}}(t_{k} ) + {\mathbf{R}}U^{2} (t_{k} )} \right]}$$
(62)

The weight matrices Q and R (this last one a scalar) should be chosen in a way where the idea of keeping m 1 displacement small (to avoid crashes between the actuator surface and m 1) is considered most crucial. Therefore, the following matrices are going to be used:

$${\mathbf{Q}} = \left[ {\begin{array}{*{20}c} {100} & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & {20} & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 \\ \end{array} } \right]\quad{\text{and}}\quad{\mathbf{R}} = 1$$

The controller gain matrix K C that minimizes J is given by [20]:

$${\mathbf{K}}_{{\mathbf{C}}} = \left( {{\mathbf{R}} + {\mathbf{H}}^{{\mathbf{T}}} {\mathbf{PH}}} \right)^{{ - {\mathbf{1}}}} {\mathbf{H}}^{{\mathbf{T}}} {\mathbf{PG}},$$
(63)

where P can be calculated from the Riccati equation [20]:

$${\mathbf{P}} = {\mathbf{Q}} + {\mathbf{G}}^{{\mathbf{T}}} {\mathbf{PG}} - {\mathbf{G}}^{{\mathbf{T}}} {\mathbf{PG}}\left( {{\mathbf{R}} + {\mathbf{H}}^{{\mathbf{T}}} {\mathbf{PH}}} \right)^{{ - {\mathbf{1}}}} {\mathbf{H}}^{{\mathbf{T}}} {\mathbf{PG}}$$
(64)

3.4 Predictive discrete linear observer design

In space-state controllers or regulators, as the LQR, all states are required for the calculation of the control signal, as shown in Eq. (60). However, as there is only one sensor in the system that measures the displacement of m 1 (namely \(u_{{5_{G} }}\)), an observer has to be used to estimate the states. The control signal obtained with the estimated states is given by:

$$U(t_{k} ) = - {\mathbf{K}}_{{\mathbf{C}}} {\hat{\mathbf{q}}}(t_{k} )$$
(65)

Besides, due to the time delay T, the observer will provide the states estimative in some instant t k with the information available at the instant t k−1 , namely the previous state estimative, \({\hat{\mathbf{q}}}(t_{k - 1} )\), and the data obtained by the position sensor, \(y(t_{k - 1} )\). In this work, a predictive full-order observer [20] will be employed. This observer estimates the states for an instant t k with the following equation:

$${\hat{\mathbf{q}}}(t_{k} ) = \left( {{\mathbf{G}} - {\mathbf{K}}_{{\mathbf{e}}} {\mathbf{C}} - {\mathbf{HK}}_{{\mathbf{C}}} } \right){\hat{\mathbf{q}}(t}_{{{\mathbf{k}} - {\mathbf{1}}}} {\mathbf{)}} + {\mathbf{K}}_{{\mathbf{e}}} y(t_{k - 1} )$$
(66)

The matrix C relates the information provided by the sensor, y, with the state variables. As the sensor measures the displacement of m 1 (namely \(u_{{5_{G} }}\)), then:

$${\mathbf{C}} = \left[ {\begin{array}{*{20}c} 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ \end{array} } \right]$$
(67)

The matrix \({\mathbf{K}}_{{\mathbf{e}}}\) is the observer gain matrix and should be chosen in such a way to guarantee that the error dynamics is faster than the system dynamics.

The system dynamics, represented by the linear Eq. (56), can be also written as:

$${\mathbf{q}}(t_{k + 1} ) = {\mathbf{Gq(t}}_{{\mathbf{k}}} {\mathbf{)}} + {\mathbf{Hc(t}}_{{\mathbf{k}}} {\mathbf{)}} = {\mathbf{Gq(t}}_{{\mathbf{k}}} {\mathbf{)}} + {\mathbf{H}}[ - {\mathbf{[K}}{}_{{\mathbf{C}}}{\mathbf{]q(t}}_{{\mathbf{k}}} {\mathbf{)}}] = [{\mathbf{G}} - {\mathbf{HK}}{}_{{\mathbf{C}}}]{\mathbf{q}}(t_{k} )$$
(68)

The error dynamics is given by [20]:

$${\mathbf{e}}(t_{k + 1} ) = [{\mathbf{G}} - {\mathbf{K}}_{{\mathbf{e}}} {\mathbf{C}}]{\mathbf{e}}(t_{k} ),$$
(69)

where the error vector, e, is the difference between the state vector and the estimated state vector:

$${\mathbf{e}}(t_{k} ) = {\mathbf{q}}(t_{k} ) - {\hat{\mathbf{q}}}(t_{k} )$$
(70)

After K C is obtained, the seven poles \((\lambda_{{{\text{sys}}_{1} }} ,\lambda_{{{\text{sys}}_{2} }} , \ldots ,\lambda_{{{\text{sys}}_{7} }} )\) of the matrix \([{\mathbf{G}} - {\mathbf{HK}}{}_{{\mathbf{C}}}]\), can be calculated with Eq. (71) and plotted at the z-plane.

$$\left| {\lambda_{\text{sys}} {\mathbf{I}} - [{\mathbf{G}} - {\mathbf{HK}}_{{\mathbf{C}}} ]} \right| = 0$$
(71)

As a LQR was used, the system dynamics should be stable. This means that all poles will be located inside the circle of radius equal to one. With the location of the poles in the z-plane, a circle touching the pole that is closer to the origin of the z-plane can be drawn. This circle has the radius r max (Fig. 7).

Fig. 7
figure 7

Circle touching the closest linear discrete system pole to the origin of the z-plane

The values of the seven observer poles \((\lambda_{{{\text{obs}}_{1} }} ,\lambda_{{{\text{obs}}_{2} }} , \ldots ,\lambda_{{{\text{obs}}_{7} }} )\) should be chosen inside the circle of radius r max. This guarantees that the discrete observer dynamics will be faster than the linear discrete system dynamics. After choosing the observer poles, the observer gain, K e , can be calculated using, for example, the Ackermann formula [20] in the matrix shown in Eq. (69), namely [G − K e C].

4 Simulation

4.1 Simulation program overview

A computer program was developed for the simulation of the structure with the actuators, a position sensor and a digital controller. In the first simulation, an impulsive force is applied at m 3 in a direction parallel to X axis, as shown in Fig. 1. The impulsive force will be modeled as a half sinusoid, with amplitude F 0, starting at t 1 s and ending at t 2 s. In the following simulations, a harmonic force with amplitude F H and angular frequency ω, with values until 120 rad/s, will be applied.

Even though the controller and observer have been designed considering the simplified linear discrete model of the structure and actuator, the continuous nonlinear model for the fifteen degrees of freedom structure with the two actuators, represented with Eq. (72), is used in the program. There is a set of seventeen differential equations for the nonlinear model of the entire system, fifteen second-order differential equations for the structure, represented with Eq. (72), one first-order differential equation for the electric current at actuator a 1, represented with Eq. (28), and one first-order differential equation for the electric current at actuator a 2, represented with Eq. (29).

$${\mathbf{M}}_{G} {\ddot{\mathbf{u}}}_{{\mathbf{G}}} (t)+ {\mathbf{D}}_{G} {\dot{\mathbf{u}}}_{{\mathbf{G}}} (t) + {\mathbf{K}}_{G} {\mathbf{u}}_{{\mathbf{G}}} (t) = {\mathbf{f}}(t),$$
(72)

where:

$${\mathbf{f}}(t) = [\begin{array}{*{20}c} 0 & 0 & 0 & 0 & {f_{{a_{1} }} (t) + f_{{a_{2} }} (t)} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & {f(t)} \\ \end{array} ]^{{\mathbf{T}}}$$
(73)
$${\mathbf{u}}_{{\mathbf{G}}} (t) = \begin{array}{*{20}c} {[u_{{1_{G} }} (t)} & {u_{{2_{G} }} (t)} & \ldots & {u_{{15_{G} }} (t)} \\ \end{array} ]^{{\mathbf{T}}}$$
(74)

The components of the vector u G are the displacements of the structures knots, as shown in Fig. 1.

A fourth-order Runge–Kutta method [6], with constant time step of 0.0001 s, will be employed in the simulation program. For that, it is necessary to reduce the order of Eq. (72). This can be done with the following variable substitution:

$${\dot{\mathbf{u}}}_{{\mathbf{G}}} (t) = {\mathbf{v}}_{{\mathbf{G}}} (t)$$
(75)

Therefore, Eq. (72) can be written as:

$${\mathbf{M}}_{{\mathbf{G}}} {\dot{\mathbf{v}}}_{{\mathbf{G}}} (t) + {\mathbf{C}}_{{\mathbf{G}}} {\mathbf{v}}_{{\mathbf{G}}} (t) + {\mathbf{K}}_{{\mathbf{G}}} {\mathbf{u}}_{{\mathbf{G}}} (t) = {\mathbf{f}}(t)$$
(76)

The complete set of differential equations for the nonlinear model can be written with Eqs. (77)–(79), obtained from Eqs. (28), (29) and (76).

$${\dot{\mathbf{v}}}_{{\mathbf{G}}} (t) = {\mathbf{M}}_{{\mathbf{G}}}^{{ - {\mathbf{1}}}} \left( {{\mathbf{f}}(t) - [C]_{G} {\mathbf{v}}_{{\mathbf{G}}} (t) - [K]_{G} {\mathbf{u}}_{{\mathbf{G}}} (t)} \right)$$
(77)
$$\dot{i}_{{a_{1} }} (t) = \frac{{\left[ {U_{0} - U(t)} \right] - ri_{{a_{1} }} (t) + \frac{{i_{{a_{1} }} (t)\mu_{0} N^{2} a\dot{u}_{{5_{G} }} (t)}}{{[s_{0} + u_{{5_{G} }} (t)]^{2} }}}}{{L_{0} + \frac{{(L_{\hbox{max} } - L_{0} )}}{{1 + \frac{{[s_{0} + u_{{5_{G} }} (t)]}}{d}\left( {\frac{{L_{\hbox{max} } - L_{0} }}{{L_{d} - L_{0} }} - 1} \right)}}}}$$
(78)
$$\dot{i}_{{a_{2} }} (t) = \frac{{\left[ {U_{0} + U(t)} \right] - ri_{{a_{2} }} (t)\frac{{i_{{a_{2} }} (t)\mu_{0} N^{2} a\dot{u}_{{5_{G} }} (t)}}{{[s_{0} - u_{{5_{G} }} (t)]^{2} }}}}{{L_{0} + \frac{{(L_{\hbox{max} } - L_{0} )}}{{1 + \frac{{[s_{0} - u_{{5_{G} }} (t)]^{2} }}{d}\left( {\frac{{L_{\hbox{max} } - L_{0} }}{{L_{d} - L_{0} }} - 1} \right)}}}},$$
(79)

where the force vector, f(t), is given by Eq. (73) and the actuator force are given by Eqs. (11) and (12). The control signal, U(t), is updated at every T seconds and remains constant until the next update (zero-order hold). At some instant kT the control signal, given by Eq. (65), is updated with a value calculated with the states estimative at \((k - 1) \cdot T\) seconds and the information provided by the position sensor at \((k - 1) \cdot T\) seconds, according to Eq. (66). The sensor output is given by Eq. (80).

$$y(t_{k - 1} ) = u_{{5_{G} }} (t_{k - 1} ) + \eta (t_{k - 1} )$$
(80)

To avoid voltages below zero and above the saturation limit during the simulation, the following routines are used in the program:

$$\begin{aligned} {\text{If}}\,U_{{a_{1} }} > U_{ \sup } \,{\text{then}}\,U_{{a_{1} }} = U_{ \sup } \hfill \\ {\text{If}}\,U_{{a_{1} }} < 0\,{\text{then}}\,U_{{a_{1} }} = 0 \hfill \\ {\text{If}}\,U_{{a_{2} }} > U_{ \sup } \,{\text{then}}\,U_{{a_{2} }} = U_{ \sup } \hfill \\ {\text{If}}\,U_{{a_{2} }} < 0\,{\text{then}}\,U_{{a_{2} }} = 0 \hfill \\ \end{aligned}$$

4.2 Parameters used in simulation

  • Rigid masses: m 1 = 0.712 kg and m 2 = m 3 = 0.428 kg.

  • Flexible beams: E = 77 Gpa, ρ = 7860 kg/m3, w = 0.025 m, h = 0.001 m, l a  = 0.145 m, l b  = 0.134 m and l c  = 0.229 m.

  • Actuators: a = 0.00076 m2, B lim = 1.2 T, r = 59.2 Ω, N = 1362, \(\mu_{0} = 4\pi \cdot 10^{ - 7}\), s 0 = 0.003 m, L 0 = 0.717 H, L max = 1 H, L d  = 0.88 H and d = 0.001 m.

  • Power amplifiers: U sup = 24 V.

  • Structure: ζ 1 = ζ 2 = 0.007, ω 1 = 19.61 rad/s and ω 2 = 81.81 rad/s.

  • Controller: T = 0.002 s and U 0 = 12 V.

  • Position sensor noise: η inf = −0.00001 m and η sup = 0.00001 m.

  • Observer poles: \(\lambda_{{{\text{obs}}_{1} }} = \lambda_{{{\text{obs}}_{2} }} = \lambda_{{{\text{obs}}_{3} }} = \lambda_{{{\text{obs}}_{4} }} = \lambda_{{{\text{obs}}_{5} }} = \lambda_{{{\text{obs}}_{6} }} = \lambda_{{{\text{obs}}_{7} }} = 0.9\,r_{ \hbox{max} }.\)

  • Impulsive disturbance force amplitude: F 0 = 5 N.

  • Impulsive disturbance force starting and ending instants: t 1 = 1 s and t 2 = 1.01 s.

  • Harmonic force amplitude: F H  = 0.1 N.

  • Harmonic force frequencies used for the simulation of the structure with the actuators: ω = 3, 5, 7, 10, 12.5, 15, 17.5, 20, 22.5, 25, 25.5, 26, 26.5, 27.5, 28, 30, 32.5, 35, 40, 45, 50, 60, 70, 80, 90, 100, 110 and 120 rad/s.

4.3 Simulation results

In Fig. 8, simulation results of the dynamic response when the impulsive force is applied during 0.01 s, beginning at t = 1 s, in the system without the electromagnetic actuators (thin line) and with the actuators (thick line) are presented. The graphs of m 1, m 2 and m 3 displacements (in meters) with respect to time (in seconds) are shown.

Fig. 8
figure 8

Simulation results for an impulsive disturbance force

It can be seen that, even with a noisy position sensor, the displacements of all the three masses are taken back to the equilibrium position much faster when the actuators are used.

Next, results of the dynamic response when the harmonic force (with an amplitude of 0.1 N) is applied are presented. In Fig. 9, m 1, m 2 and m 3 displacement amplitudes (meters in a logarithmic scale) in the steady state are shown for different harmonic disturbance force angular frequencies (rad/s in a logarithmic scale). The dots correspond to the system with the electromagnetic actuators and the continuous line corresponds to the system without the actuators.

Fig. 9
figure 9

Simulation results for a harmonic disturbance force

It can be seen that, even with a noisy position sensor, the oscillation amplitudes are reduced when ω is near the first natural angular frequencies of the structure.

During all the simulations, the maximum flux density was 0.073 T, far below the saturation limit of the actuator core material, B lim. This means that the model for the actuators without hysteresis and saturation can be used without further concern.

5 Conclusions

This work presented the modeling of a flexible structure, with three rigid masses and two voltage-controlled electromagnetic actuators fixed at the ground. The actuators, whose objective is to reduce the oscillations caused by external disturbances, were assembled to actuate at the lower mass in two collinear directions. To bring the structure back to its equilibrium position, voltages where provided to the actuators by a digital LQR. Since only one position sensor was assumed to be available, a full-order observer was employed. For the simulation, nonlinear actuator models were considered, although a linear discrete controller with a linear full-order predictive discrete observer was used. Noise at the position sensor was included as well. When an impulsive force was applied at the top of the structure, the discrete controller provided adequate voltages to the electromagnetic actuators to bring the system back to the equilibrium position. When a harmonic force was applied, the controller was able to reduce the amplitudes of oscillation when the force angular frequency was near the natural angular frequencies of the structure. The effectiveness of the strategy for reducing vibration with electromagnetic actuators and a space-state regulator were confirmed by the simulation results, where a comparison of the system with control and without control was shown. The results presented are encouraging, indicating that the technique employed can be effective for vibration control of structures if the electromagnetic actuators are assembled in a region where the structure oscillations are small or can be kept small by the actuator action.