1 Introduction

Overhead cranes are broadly used within the industrial sector. The operational effectiveness of this manipulation system is extremely valuable to industrial productivity. However, the overhead crane is lightly damped due to the flexibility of the cable between the carriage and the payload so that the movement of the carriage may cause unwanted payload oscillations and pose positioning or even safety problems. For these reasons, system stresses such as unwanted oscillations and instability are key issues to solve [1,2,3,4,5,6,7]. Note that the overhead crane is underactuated, where the number of control inputs is strictly smaller than that of degrees of freedom, and the control task becomes much more problematic when the mechanical system is underactuated [8,9,10,11,12,13,14,15,16,17,18,19,20,21].

Researchers have sought to design the automatic control of flexible structures in the past decades. These control methods can be roughly grouped into feedforward and feedback approaches. As regards to feedforward techniques, input shaping techniques [22, 23] which alter the reference signal by involving a set of the impulse have been widely used in reducing the motion-induced oscillation. Results on trajectory planning [24,25,26] based on the load swing dynamics have been reported, where reference signals are generated that anticipate system oscillations before they occur. Optimal methods [27, 28] have been developed to deal with a minimum time/oscillation control scenario. Although effective in practice, the proper operation requires a zero initial sway and minimal external disturbances. Alternatively, feedback schemes are the most common to control undesired oscillations and the final crane position. Gain-scheduling techniques [29, 30] and partial feedback linearization [31, 32] have been proposed using the linearized version of the crane model, while the stability analysis of the closed-loop system is discussed near the desired equilibrium without caring about the course of transportation. To attain robustness enhancement, many researchers have turned to the sliding mode control [33,34,35,36] that offers high anti-swing and tracking performance in the presence of various disturbances. Several other methods, such as the intelligent control methods [37, 38] and the finite-time control methods [39, 40], are used in research efforts, resulting in a good position and swing-free control.

It is noteworthy that nonlinear methods based on passivity have been developed to ensure a high-performance control. More recently, to address the suppression of load swing, energy shaping techniques improve the passivity of the control system by altering the dynamical characteristics [41, 42]. The interconnection and damping assignment passivity-based control introduces additional terms to enhance the coupling between the carriage and the payload [43, 44], resulting in a increase in damping effect. Different coupling-based solutions using the Lyapunov technique are implemented to derive an anti-swing control, which depends on composite signals simultaneously containing the trolley displacement and the swing angle [45, 46].

Although it has proven effective at reducing oscillations with these methods, several issues with control design still exist. For example, the load swing damping is particularly challenging due to the coupling between the horizontal components of the load motion. Moreover, different transportation tasks often lead to different cable lengths, thus influencing the damping feature of the control system negatively. To overcome these problems, motivated by the passivity-based control [17], we find a constructive procedure to shape the energy of the system with the desired damping feature, from which a nonlinear control method is derived to achieve the damping injection. In particular, new composite signals making full use of the underactuated states are designed to augment the interconnection of the payload sway and the trolley motion. Without complicating the controller structure, the proposed method has been suggested to account for the nonlinearities of the underactuated model, which is also affected by unknown cable lengths. Two analysis tools are used to verify the stabilization of the control system, namely, the Lyapunov technique and LaSalle’s invariance principle. The beneficial effects of the proposed controller are evaluated through simulation results. The verification process confirms the control scheme possesses better attributes when compared with most recently available methods.

The contributions are summarized as follows:

  1. (1)

    Our main contribution is that a significant storage function with the desired damping feature is constructed to introduce new coupled–dissipation signals that enhance the coupling behavior of the trolley motion and the payload swing, thus preserving sufficient passivity in the closed-loop system.

  2. (2)

    This paper suggests a nonlinear controller to solve the positioning and anti-oscillation problem for 3-dimensional overhead cranes without linearizing the original nonlinear dynamics so that the controller can achieve improved performance by suppressing the sway angle oscillations not only near the desired equilibrium but also during the crane motion.

  3. (3)

    The proposed controller has a very simple structure that is independent of the cable length, which makes it robust to unknown cable lengths that negatively influence the damping feature and easy to implement.

The following section presents an overview of the crane system dynamics and control problems. In Sect. 3, the proposed method is presented for the dissipative reachability with a new storage function. The stability of the closed-loop system is explained in Sect. 4. Section  5 contains simulation results that demonstrate the improved performance of the control scheme, followed by conclusions in Sect. 6.

Fig. 1
figure 1

Schematic model of a 3-dimensional overhead crane

2 Nonlinear model and problem formulation

The schematic diagram of a 3-dimensional overhead crane is shown in Fig. 1, where \(m_x\), \(m_y\) and m are the trolley mass, the trolley and girder masses and the payload mass, respectively; l represents the length of the suspension cable; g stands for the acceleration due to gravity; the trolley displacement along the X- and Y-axes is described by x(t) and y(t), respectively; the projected swing angles are labeled as \(\theta _x (t)\) and \(\theta _y (t)\); and \(f_x\) and \(f_y\) are the forces applied to the trolley and girder, respectively. Considering the generalized coordinate vector \({\varvec{q}} = [{\varvec{q}}_a^T, {\varvec{q}}_u^T ]^T\) with the actuated state vector \({\varvec{q}}_a = [x, y]^T\) and the unactuated state vector \({\varvec{q}}_u = [\theta _x, \theta _y]^T\), the dynamic equations of the system can be stated in the compact form [13]:

$$\begin{aligned} {{\varvec{M}}}\left( {\varvec{q}} \right) \ddot{\varvec{q}} + {{\varvec{C}}}\left( {\varvec{q}},\dot{\varvec{q}} \right) \dot{\varvec{q}} + {{\varvec{G}}}\left( {\varvec{q}} \right) = {{\varvec{U}}} \end{aligned}$$
(1)

where \({{\varvec{M}}}\left( {\varvec{q}} \right) \in {\mathbb {R}}^{4\times 4}\) is the symmetric, positive definite mass matrix, \({{\varvec{C}}}\left( {\varvec{q}},\dot{\varvec{q}} \right) \in {\mathbb {R}}^{4\times 4}\) is the centrifugal Coriolis matrix, \({{\varvec{G}}}\left( {\varvec{q}} \right) \in {\mathbb {R}}^{4}\) is the gravity vector, and \({{\varvec{U}}} \in {\mathbb {R}}^{4}\) denotes the control vector, so that

$$\begin{aligned}&{\varvec{M}} = \left[ {\begin{array}{llll} m_{11}&{}0&{}m_{13}&{}m_{14}\\ 0&{}m_{22}&{}0&{}m_{24}\\ m_{31}&{}0&{}m_{33}&{}0\\ m_{41}&{}m_{42}&{}0&{}m_{44} \end{array}} \right] , {\varvec{C}} = \left[ {\begin{array}{llll} 0&{}0&{}c_{13}&{}c_{14}\\ 0&{}0&{}0&{}c_{24}\\ 0&{}0&{}c_{33}&{}c_{34}\\ 0&{}0&{}c_{43}&{}0 \end{array}} \right] ,\\&{\varvec{G}} = {\left[ {\begin{array}{llll} 0&0&g_{3}&g_{4} \end{array}} \right] ^T}, {\varvec{U}} = [{\varvec{u}}^T, {\varvec{0}}_{2\times 1}^T]^T\hbox { with }{\varvec{u}} = [f_x, f_y]^T. \end{aligned}$$

with the terms

$$\begin{aligned}&m_{11} = m + m_x, m_{13} = mlC_xC_y, m_{14} = -mlS_xS_y,\\&m_{22} = m + {m_y}, m_{24} = mlC_y, m_{33} = ml^2C_y^2,\\&m_{31} = m_{13}, m_{41} = m_{14}, m_{42} = m_{24}, m_{44} = ml^2,\\&c_{13} = -mlS_xC_y{{\dot{\theta }}_x} - mlC_xS_y{{\dot{\theta }}_y}, c_{24} = -mlS_y{{\dot{\theta }}_y},\\&c_{14} = -mlC_xS_y{{\dot{\theta }}_x} - mlS_xC_y{{\dot{\theta }}_y},c_{33} = -ml^2S_yC_y{{\dot{\theta }}_y},\\&c_{34} = -ml^2S_yC_y{{\dot{\theta }}_x}, c_{43} = ml^2S_yC_y{{\dot{\theta }}_x},\\&g_{3} = mglS_xC_y, g_{4} = mglC_xS_y. \end{aligned}$$

where \(S_x\), \(C_x\), \(S_y\) and \(C_y\) are abbreviations for \(\sin \theta _x(t)\), \(\cos \theta _x (t)\), \(\sin \theta _y (t)\) and \(\cos \theta _y (t)\), respectively;

Notice that the following properties hold true, i.e.,

$$\begin{aligned} k_1\Vert \varvec{\upsilon }\Vert _2^2 \le \varvec{\upsilon }^T{{\varvec{M}}}\left( {\varvec{q}} \right) \varvec{\upsilon } \le k_2 \Vert \varvec{\upsilon }\Vert _2^2\;\;\forall \varvec{\upsilon } \in {\mathbb {R}}^{4} \end{aligned}$$
(2)

where \(k_1\) and \(k_2\) are positive bounding constants and \(\Vert \cdot \Vert \) denotes the Euclidean norm of vectors, and the matrix \(\dot{{\varvec{M}}}\left( {\varvec{q}} \right) - 2{\varvec{C}}\left( {\varvec{q}},\dot{\varvec{q}} \right) \) is skew-symmetric,

$$\begin{aligned} \varvec{\upsilon }^T \left\{ \dot{{\varvec{M}}}\left( {\varvec{q}} \right) - 2{{\varvec{C}}}\left( {\varvec{q}},\dot{\varvec{q}} \right) \right\} \varvec{\upsilon } = 0\;\;\forall \varvec{\upsilon } \in {\mathbb {R}}^{4} \end{aligned}$$
(3)

and it satisfies

$$\begin{aligned} \varvec{G}(\varvec{q}) = \frac{\partial P({\varvec{q}})}{\partial \varvec{q}} \end{aligned}$$
(4)

where \(P({\varvec{q}})\) is the potential energy defined as

$$\begin{aligned} P({\varvec{q}}) = mgl(1-C_xC_y) \end{aligned}$$
(5)

The control objective is to drive the trolley to the desired position, meanwhile suppressing the payload swings to zero in the sense that

$$\begin{aligned} \lim _{t \rightarrow \infty }({\varvec{q}}_a^T, {\varvec{q}}_u^T) = ({\varvec{q}}_d^T, {\varvec{0}}_{2\times 1}^T) \end{aligned}$$
(6)

where \({\varvec{q}}_d = [x_d, y_d]^T\) indicates the desired position along the X- and Y-axes.

Considering the payload is always beneath the trolley during the crane motion, the cable angle is assumed to be within a reasonable scope (see also [13, 25, 32, 42, 44] and references therein)

$$\begin{aligned} -\frac{\pi }{2}<\theta _x(t), \theta _y(t)<\frac{\pi }{2} \end{aligned}$$
(7)

Before developing the control synthesis, consider the storage function E as the total energy of the system

$$\begin{aligned} E(t) = \frac{1}{2}{\dot{\varvec{q}}}^T{{{\varvec{M}}}\left( {\varvec{q}} \right) }\dot{\varvec{q}} + P({\varvec{q}}) \end{aligned}$$
(8)

By taking the time derivative of E(t) and using relationship (1), (3) and (4), it can be obtained

$$\begin{aligned} {\dot{E}}(t) = {\dot{\varvec{q}}_a}^T{{\varvec{u}}} \end{aligned}$$
(9)

which shows the passive operator from the control input \({{\varvec{u}}}\) to the actuated generalized velocities \({\dot{\varvec{q}}_a}(t)\). It can be seen that the passivity takes only the actuated state velocities as the passive output.

In general, the actuated trolley motion damps out the system energy alone with the basis passivity-based control, if one applies the storage function as the total energy of the system. Note that the feedback becomes more effective in improving the closed-loop performance if more states are available for feedback. Thus, the storage function will be exploited to derive a nonlinear controller that achieves damping injection in the next section.

3 Main results

Methods based on passivity have proven effective in enhancing the transient behavior of underactuated cranes. Motivated by this, we aim to construct a new storage function with desired damping properties, which facilitates the subsequent control design.

3.1 Coupled–dissipation signals

The traditional passivity analysis for underactuated systems, typical to the overhead cranes, is based on damping properties of form (9), which does not include any additional damping with respect to the payload sway due to the underactuated feature. Moreover, it is common to add parameter-related terms to increase the damping, which, on the other hand, makes the resulting controller complicated, thus falling short on handling a parameter variation. To overcome these problems, a new coupled–dissipation signal is defined to augment the coupling between the carriage and the payload by including the payload swing-related terms, such that

$$\begin{aligned} {\varvec{\chi }} := {\varvec{q}}_a + {\varvec{\lambda }}_l{\varvec{\phi }}({\varvec{q}}_u) + {\varvec{\lambda }}_a {\varvec{\varphi }}({\varvec{q}}_u) \end{aligned}$$
(10)

where \({\varvec{\lambda }}_a = {\mathrm{diag}}[\lambda _{ax}, \lambda _{ay}]\) and \({\varvec{\lambda }}_l = {\mathrm{diag}}[\lambda _{lx}, \lambda _{ly}]\) is the positive gain matrix and \({\varvec{\varphi }}({\varvec{q}}_u) = [{\varphi _x}({\varvec{q}}_u), {\varphi _y}({\varvec{q}}_u)]^T\) and \({\varvec{\phi }}({\varvec{q}}_u) = [{\phi _x}({\varvec{q}}_u),{\phi _y}({\varvec{q}}_u)]^T\) are additional dissipation terms to \({\varvec{q}}_u\) yet to be determined.

Accordingly, the energy of the control system is expected to be damped out mainly along the generalized velocity signal

$$\begin{aligned} \dot{\varvec{\chi }} = \dot{\varvec{q}}_a + {\varvec{\lambda }}_l \dot{\varvec{\phi }}({\varvec{q}}_u) + {\varvec{\lambda }}_a \dot{\varvec{\varphi }}({\varvec{q}}_u) \end{aligned}$$
(11)

To bring the output of the system to the desired equilibrium, an error signal is introduced correspondingly

$$\begin{aligned} \varvec{e}_{\chi } := {\varvec{\chi }} - {\varvec{q}}_d \end{aligned}$$
(12)

As proven in the analysis that follows, the closed-loop performance including the oscillation suppression and the robustness to unknown cable lengths will be drastically improved by a simple nonlinear feedback depending on the coupled–dissipation signal, without affecting the asymptotic stability of the desired equilibrium.

3.2 Storage function construction and controller design

Before determining the response of the control system, the crane system is reformulated by introducing a new state vector \({{\varvec{\xi }}} = {\varvec{q}} + {{\varvec{\xi }}}_\phi \) with \({{\varvec{\xi }}}_\phi = {\left[ {\begin{array}{*{20}{c}} [{\varvec{\lambda }}_l {\varvec{\phi }}({\varvec{q}}_u)]^T&{{\varvec{0}}}_{2\times 1}^T \end{array}} \right] ^T}\), where the swing angle is attached to the velocity of the overhead support unit to increase the coupling of the payload and the trolley motion, thus

$$\begin{aligned} {{\varvec{M}}}\left( {\varvec{q}} \right) \ddot{{\varvec{\xi }}} + {{\varvec{C}}}\left( {\varvec{q}},\dot{\varvec{q}} \right) \dot{{\varvec{\xi }}} + {{\varvec{G}}}\left( {\varvec{q}} \right) + {{\varvec{N}}}\left( {\varvec{q}},\dot{\varvec{q}} \right) = {{\varvec{U}}} \end{aligned}$$
(13)

where \({{\varvec{C}}} \dot{{\varvec{\xi }}} = {{\varvec{C}}} \dot{\varvec{q}}\) and \({{\varvec{N}}} = -{{\varvec{M}}} \ddot{{\varvec{\xi }}}_\phi \).

Then, the focus is put on constructing an additional storage function \(E_a\) in the new variables such that it causes the passivity of the system to \(\dot{\varvec{q}}_u\). Recognizing (9) represents a damping-in-actuator oscillatory manner, for the crane as underactuated system; a negative feedback term with respect to \(\dot{\varvec{q}}_u\) similar to the terms in (9) should be included to provide sufficient damping. With this, one may write the additional energy function \(E_a\) from the condition

$$\begin{aligned} {\dot{E}}_a = [{\varvec{\lambda }}_a{\dot{\varvec{\varphi }}({\varvec{q}}_u)}]^T{{\varvec{u}}} \end{aligned}$$
(14)

To view the nonlinearity between the cable angle and the control input, a transformation action is implemented, where the vector of the new coordinates \({{\varvec{\xi }}}\) is partitioned as coupling state vector \({{\varvec{\xi }}}_a = {\varvec{q}}_a+{\varvec{\lambda }}_l {{\varvec{\phi }}({\varvec{q}}_u)}\) and unactuated state vector \( {\varvec{q}}_u\). Thus, (13) can be decomposed into

$$\begin{aligned}&{{\varvec{M}}}_{11}\ddot{{\varvec{\xi }}}_a + {{\varvec{M}}}_{12}\ddot{\varvec{q}}_u + {{\varvec{C}}}_{12}{\dot{\varvec{q}}_u} + {{\varvec{N}}}_1 = {{\varvec{u}}} \end{aligned}$$
(15)
$$\begin{aligned}&{{\varvec{M}}}_{21}\ddot{{\varvec{\xi }}}_a + {{\varvec{M}}}_{22}\ddot{\varvec{q}}_u + {\varvec{C}}_{22}{\dot{\varvec{q}}_u} + {{\varvec{G}}}_2 + {\varvec{N}}_2 = {{\varvec{0}}} \end{aligned}$$
(16)

wherein

$$\begin{aligned}&{{\varvec{M}}}_{11} = \left[ {\begin{array}{*{20}{c}} m_{11}&{}0\\ 0&{}m_{22} \end{array}} \right] , {{\varvec{M}}}_{12} = \left[ {\begin{array}{*{20}{c}} m_{13}&{}m_{14}\\ 0&{}m_{24} \end{array}} \right] \\&{{\varvec{M}}}_{21} = \left[ {\begin{array}{*{20}{c}} m_{31}&{}0\\ m_{41}&{}m_{42} \end{array}} \right] , {{\varvec{M}}}_{22} = \left[ {\begin{array}{*{20}{c}} m_{33}&{}0\\ 0&{}m_{44} \end{array}} \right] \\&{{\varvec{C}}}_{12} = \left[ {\begin{array}{*{20}{c}} c_{13}&{}c_{14}\\ 0&{}c_{24} \end{array}} \right] , {{\varvec{C}}}_{22} = \left[ {\begin{array}{*{20}{c}} c_{33}&{}c_{34}\\ c_{43}&{}0 \end{array}} \right] , {{\varvec{G}}}_{2} = \left[ {\begin{array}{*{20}{c}} g_{3}\\ g_{4} \end{array}} \right] \\&{{\varvec{N}}}_1 = - \left[ {\begin{array}{*{20}{c}} \lambda _{lx}\ddot{\phi }_x m_{11}\\ \lambda _{ly}\ddot{\phi }_y m_{22} \end{array}} \right] , {{\varvec{N}}}_2 = - \left[ {\begin{array}{*{20}{c}} \lambda _{lx}\ddot{\phi }_x m_{31}\\ \lambda _{lx}\ddot{\phi }_x m_{41} + \lambda _{ly}\ddot{\phi }_y m_{42} \end{array}} \right] \end{aligned}$$

Substitute (16) into (15), resulting in

$$\begin{aligned} \begin{aligned} {{\varvec{u}}} =\,&{{\varvec{M}}}_{12}\ddot{\varvec{q}}_u + {{\varvec{C}}}_{12}\dot{\varvec{q}}_u\\&- {{\varvec{M}}}_{11}{{\varvec{M}}}_{21}^{ - 1}({{\varvec{M}}}_{22}\ddot{\varvec{q}}_u + {{\varvec{C}}}_{22}\dot{\varvec{q}}_u + {{\varvec{G}}}_2) \end{aligned} \end{aligned}$$
(17)

Consequently, applying (17) to (14) yields

$$\begin{aligned} \begin{aligned} {\dot{E}_a} =&[{\varvec{\lambda }}_a{\dot{\varvec{\varphi }}}]^T\left[ {{\varvec{M}}}_{12}\ddot{\varvec{q}}_u + {{\varvec{C}}}_{12}\dot{\varvec{q}}_u \right. \\&\left. - {{\varvec{M}}}_{11}{{\varvec{M}}}_{21}^{ - 1}({{\varvec{M}}}_{22}\ddot{\varvec{q}}_u + {{\varvec{C}}}_{22}\dot{\varvec{q}}_u + {{\varvec{G}}}_2) \right] \end{aligned} \end{aligned}$$
(18)

To obtain \(E_a\), one needs to rearrange (18) as

$$\begin{aligned} {{\dot{\varpi }}}_1 =&-[{\varvec{\lambda }}_a{\dot{\varvec{\varphi }}}]^T {{\varvec{M}}}_{11}{{\varvec{M}}}_{21}^{ - 1}({{\varvec{M}}}_{22}\ddot{\varvec{q}}_u + {\varvec{C}}_{22}\dot{\varvec{q}}_u + {{\varvec{G}}}_2) \end{aligned}$$
(19)
$$\begin{aligned} {{\dot{\varpi }}}_2 =\,&[{\varvec{\lambda }}_a{\dot{\varvec{\varphi }}}]^T({{\varvec{M}}}_{12}\ddot{\varvec{q}}_u + {{\varvec{C}}}_{12}\dot{\varvec{q}}_u) \end{aligned}$$
(20)

For completeness, one would have the task of conducting two separate analysis of (19) and (20), both of which are simplified by setting

$$\begin{aligned} {{\dot{\varphi }}_x}({\varvec{q}}_u) = S_xS_y{{\dot{\theta }}_y} - C_xC_y{{\dot{\theta }}_x}, {{\dot{\varphi }}_y}({\varvec{q}}_u) = -C_y{{\dot{\theta }}_y} \end{aligned}$$
(21)

and given

$$\begin{aligned} \lambda _{ax} (m_x + m) = \lambda _{ay} (m_y + m) \end{aligned}$$
(22)

the additional storage function \(E_a\) follows directly from the combination of the integral of (19) and (20) (refer to ‘Appendix A’), such that

$$\begin{aligned} E_a =&\lambda _{ax} (m_x + m)\left[ \frac{1}{2}l \left( C_y^2{\dot{\theta }_x}^2 + {{\dot{\theta }}_y}^2\right) \right. \nonumber \\&\left. + g(1 - C_xC_y)\right] \nonumber \\&-\frac{1}{2}ml\left[ \lambda _{ax}(C_xC_y{{\dot{\theta }}_x} - S_xS_y{{\dot{\theta }}_y})^2 + \lambda _{ay} C_y^2{\dot{\theta }_y}^2\right] \end{aligned}$$
(23)

which is locally positive definite (refer to ‘Appendix B’) and takes the zero value when \(\left[ {\varvec{q}}_u^T, \dot{\varvec{q}}_u^T\right] = {{\varvec{0}}}_{4\times 1}\).

Now, consider the significant storage function given by

$$\begin{aligned} \begin{aligned} E_l = \frac{1}{2}{\dot{{\varvec{\xi }}}}^T{{\varvec{M}}(\varvec{q})}{\dot{{\varvec{\xi }}}} + P({\varvec{q}}) + E_a \end{aligned} \end{aligned}$$
(24)

which, in view of (2), (5) and (57), is positive definite.

The derivation of (24) can be computed as

$$\begin{aligned} {\dot{E}_l} =\,&{\dot{{\varvec{\xi }}}}^T \left( {{\varvec{M}}}{\ddot{{\varvec{\xi }}}} + \frac{1}{2}{\varvec{\dot{M}}}{\dot{{\varvec{\xi }}}}\right) + \dot{\varvec{q}}^T{\varvec{G}} + \dot{E}_a\nonumber \\ =\,&{\dot{{\varvec{\xi }}}}^T \left( {\varvec{U}} - {{\varvec{N}}} - {{\varvec{G}}} - {{\varvec{C}}}{\dot{{\varvec{\xi }}}} + \frac{1}{2}{{\varvec{\dot{M}}}}{\dot{{\varvec{\xi }}}}\right) + \dot{\varvec{q}}^T {{\varvec{G}}} + \dot{E}_a\nonumber \\ =\,&\dot{\varvec{\chi }}^T\left( {{\varvec{u}}} - {{\varvec{N}}}_1 \right) + [{\varvec{\lambda }}_a \dot{\varvec{\varphi }}]^T {{\varvec{N}}}_1 - \dot{\varvec{q}}_u^T {{\varvec{N}}}_2 \end{aligned}$$
(25)

where (3), (4), (13), (14) and \(\dot{{\varvec{\xi }}}^T {{\varvec{G}}} = \dot{\varvec{q}}^T {{\varvec{G}}} \) are applied.

For asymptotic stabilization, the last two terms in (25) must be subject to:

$$\begin{aligned}{}[{\mathbf {\lambda }}_a \dot{\varvec{\varphi }}]^T {\varvec{N}}_1 - \dot{\varvec{q}}_u^T {{\varvec{N}}}_2 \le 0 \end{aligned}$$
(26)

that is,

$$\begin{aligned}&\lambda _{lx}[ml+\lambda _{ax}(m+m_x)](C_xC_y{\dot{\theta }}_x -S_xS_y{\dot{\theta }}_y){\ddot{\phi }_x} \nonumber \\&\qquad + \lambda _{ly}[ml+\lambda _{ay}(m+m_y)]C_y{\dot{\theta }}_y{\ddot{\phi }_y} \le 0 \end{aligned}$$
(27)

which will be satisfied provided that

$$\begin{aligned} {\ddot{\phi }_x}({\varvec{q}}_u) = S_xS_y{{\dot{\theta }}_y} - C_xC_y{{\dot{\theta }}_x}, {\ddot{\phi }_y}({\varvec{q}}_u) = -C_y{{\dot{\theta }}_y} \end{aligned}$$
(28)

Also, (25) suggests the simple feedback

$$\begin{aligned} {\varvec{u}} = -{\varvec{k}}_d \dot{\varvec{\chi }} -{\varvec{k}}_p \varvec{e}_{\chi } + {\varvec{N}}_1 \end{aligned}$$
(29)

where \({\varvec{k}}_p = {\mathrm{diag}}[k_{px}, k_{py}]\) and \({\varvec{k}}_d = {\mathrm{diag}}[k_{dx}, k_{dy}]\) are positive control gains and the additional damping terms to \({\varvec{q}}_u\) in the coupled–dissipation signal are determined from (21) and (28), such that

$$\begin{aligned} {\varvec{\phi }}({\varvec{q}}_u)&= {\left[ {\begin{array}{*{20}{c}} -\int _0^tS_x(\tau )C_y(\tau ){\mathrm{d}}\tau&-\int _0^tS_y(\tau ){\mathrm{d}}\tau \end{array}} \right] ^T} \end{aligned}$$
(30)
$$\begin{aligned} {\varvec{\varphi }}({\varvec{q}}_u)&= {\left[ {\begin{array}{*{20}{c}} -S_xC_y&-S_y\end{array}}\right] ^T} \end{aligned}$$
(31)

It is important to note that, different from the traditional strategies dependent merely on position control, the proposed system responds to the full degrees of freedom, which decisively increases the passivity of the system in the transient positions of the crane. The control scheme that is independent of the cable length has a simpler structure than most existing methods and, hence, can be robust to unknown cable length, which is a major factor that influences the damping feature of the control system. This anti-sway strategy using a simple feedback is illustrated in the block diagram of Fig. 2.

Remark 1

Such an analysis presents a systematic approach that may be suitable for underactuated mechanical systems of a similar structure with overhead cranes, such as boom cranes, rotary cranes, crane systems with double pendulum and so on.

Remark 2

Note that the structure of the proposed controller is similar to that of the traditional proportional integral derivative (PID) control, so one might select \({\varvec{k}}_p\) and \({\varvec{k}}_d\) in the same way as the PID control. The parameters \({\varvec{\lambda }}_a\) and \({\varvec{\lambda }}_l\) give more flexibility to the response of the control system in the sense that larger values will increase the damping to the sway angle but may cause the overshoot of the carriage.

Fig. 2
figure 2

Block diagram of the control system

4 Stability analysis

Theorem 1

Proposed controller (29) regulates the trolley to its destination while simultaneously eliminating cargo swings, that is

$$\begin{aligned} \lim _{t \rightarrow \infty }({\varvec{q}}, \dot{\varvec{q}}) = (x_d, y_d, 0, 0, 0, 0, 0, 0) \end{aligned}$$
(32)

Proof

Consider the Lyapunov candidate function given by

$$\begin{aligned} V = E_l + \varvec{e}_{\chi }^T \varvec{k}_p \varvec{e}_{\chi } \end{aligned}$$
(33)

The derivative of (33) along (29) is then

$$\begin{aligned} \dot{V} =&- \dot{\varvec{\chi }}^T \varvec{k}_d \dot{\varvec{\chi }} - \lambda _{ly}\left[ ml+\lambda _{ay}(m+m_y)\right] C_y^2\dot{\theta }_y^2 \nonumber \\&-\lambda _{lx}\left[ ml+\lambda _{ax}(m+m_x)\right] (C_xC_y{\dot{\theta }}_x -S_xS_y{\dot{\theta }}_y)^2 \end{aligned}$$
(34)

which implies, for any bounded V(0),

$$\begin{aligned} V(t) \le V(0) \Rightarrow V(t) \in {\mathcal {L}}_\infty \end{aligned}$$
(35)

Apparently, V is always nonnegative and nonincreasing. This leads to

$$\begin{aligned} \dot{\varvec{\chi }}, {\varvec{\chi }}, \varvec{e}_{\chi }, {\varvec{q}}_a, \dot{\varvec{q}}_a, \dot{\varvec{q}}_u, {\varvec{\phi }}({\varvec{q}}_u), {\varvec{\varphi }}({\varvec{q}}_u), {\varvec{u}} \in {\mathcal {L}}_\infty \end{aligned}$$
(36)

To justify the asymptotic stability of the closed-loop system, a compact set \(\varGamma \) of all points such that \( {\dot{V}}(t) = 0\) is defined, where the largest invariant set in \({\varGamma }\) is denoted as \({\varOmega }\). It is readily seen from (34) that in \({\varOmega }\)

$$\begin{aligned}&{\dot{\varvec{\chi }}} = {\dot{\varvec{q}}}_a + {\varvec{\lambda }}_l\dot{\varvec{\phi }}({\varvec{q}}_u) + {\varvec{\lambda }}_a \dot{\varvec{\varphi }}({\varvec{q}}_u) = {{\varvec{0}}} \end{aligned}$$
(37)
$$\begin{aligned}&{\dot{\varvec{q}}}_u= {\varvec{0}} \end{aligned}$$
(38)

which, by definition (21), further implies

$$\begin{aligned} {\dot{\varvec{q}}}_a + {\varvec{\lambda }}_l\dot{\varvec{\phi }}({\varvec{q}}_u)&= {\varvec{0}} \end{aligned}$$
(39)

As a consequence of (28), (38) and (39), it appears

$$\begin{aligned}&{\ddot{\varvec{q}}}_a + {\varvec{\lambda }}_l{\ddot{\varvec{\phi }}}= {\varvec{0}} \end{aligned}$$
(40)
$$\begin{aligned}&{\ddot{\varvec{q}}}_u = {\varvec{0}} \end{aligned}$$
(41)
$$\begin{aligned}&{\ddot{\varvec{q}}}_a = {\varvec{0}} \end{aligned}$$
(42)

Inserting (38), (41) and (42) into (1), one has

$$\begin{aligned}&{\left[ {\begin{array}{*{20}{c}} S_xC_y&-C_xS_y\end{array}}\right] ^T} = {\varvec{0}}, \end{aligned}$$
(43)
$$\begin{aligned}&{\varvec{u}} = {\varvec{0}} \end{aligned}$$
(44)

With (7), (38), (39) and (43) in mind, it reveals

$$\begin{aligned} {\varvec{q}}_u&= {\varvec{0}} \end{aligned}$$
(45)
$$\begin{aligned} \dot{\varvec{q}}_a&= {\varvec{0}} \end{aligned}$$
(46)

In the sequel, it remains to analyze the behavior of \({\varvec{q}}_a\). Collecting (29), (37), (38) and (44) produces

$$\begin{aligned} {\varvec{q}}_a - {\varvec{q}}_d= {\varvec{\lambda }}_l {\varvec{\phi }}({\varvec{q}}_u) \end{aligned}$$
(47)

Imposing the approximation of \(\sin ({\varvec{q}}_u) \approx {\varvec{q}}_u\) and \(\cos ({\varvec{q}}_u) \approx {\varvec{1}}\) that is valid for small load oscillations on the crane system, (16) can be reduced to a second-order oscillation damped system (see also [44, 46])

$$\begin{aligned} l {\ddot{\varvec{q}}_u} + {\ddot{\varvec{q}}_a} + g {\varvec{q}}_u = {\varvec{0}} \end{aligned}$$
(48)

The small angle approximation also simplifies \({\varvec{\phi }}({\varvec{q}}_u)\) to \({\varvec{q}}_u\), which indicates, from (48), that

$$\begin{aligned} {\varvec{\phi }}({\varvec{q}}_u) = -\frac{1}{g} (l{\dot{\varvec{q}}_u} + {\dot{\varvec{q}}_a}) \end{aligned}$$
(49)

Finally, from (38), (46), (47) and (49), one has either

$$\begin{aligned} {\varvec{q}}_a = {\varvec{q}}_d \end{aligned}$$
(50)

Based on (38), (45), (46) and (50), the largest invariant set \(\varOmega \) contains only the interested endpoint. To conclude, the asymptotic stability of the closed-loop system is guaranteed by LaSalle’s invariance principle.

5 Simulations

In this section, the response of the crane model is simulated to evaluate the effectiveness of the suggested controller. In this study, the model is considered with the parameters m = 100 kg, \(m_{x}\) = 200 kg, \(m_{y}\) = 800 kg, l = 1 m and g = 9.8 m/\( s^2\). Without loss of generality, the initial values of the generalized coordinates are chosen such that \([x(0), y(0), \theta _x(0), \theta _y(0)] = [0, 0, 0, 0]\).

Next, two simulation groups are addressed. In the first group, the performance of the proposed controller is compared with that of two other nonlinear controllers to verify the enhancement. In the second group, to assess the robustness of the proposed controller, simulations are conducted with a variation of the position command, the cable length as well as external disturbances.

Table 1 Results for simulation group 1
Fig. 3
figure 3

Results for the compared methods in group 1 (dotted line: the desired location; solid line: the proposed method; dashed line: the PFLC [44]; dot-dashed line: the NEBRC [42]): aX-direction; bY-direction

Fig. 4
figure 4

Results for the proposed method in group 2-case 1 (dotted line: the desired location; solid line: \(x_d\) = 3 m, \(y_d\) = 1 m; dashed line: \(x_d\) = 7 m, \(y_d\) = 5 m): aX-direction; bY-direction

Fig. 5
figure 5

Results for the compared methods in group 2-case 2 (solid line: the proposed method; dashed line: the PFLC [44]; dot-dashed line: the NEBRC [42]): aX-direction; bY-direction

Fig. 6
figure 6

Results for the proposed method in group 2-case 3 (dotted line: the desired position; solid line: simulation results): aX-direction; bY-direction

5.1 Simulation group 1

To confirm the good performance, the proposed method is compared with the partial feedback linearization controller (PFLC) [44] and the nonlinear energy-based regulation controller (NEBRC) [42].Footnote 1 To stress the active damping capabilities of the composite signal, the bounded constraint is not taken into account, that is, the saturator in [42] is neglected here. In this group, the simulation is conducted in which the trolley is commanded to move from 0 m location to 5 m location and 3 m location in the XY plane.

To increase the convergence rate, the response to the tested crane movement is simulated as the control gains are systematically varied. A range of acceptable control gains is obtained for the three control methods, where \(k_a = 15\), \(k_e =1\) and \(k_t = 1.3\) for PFLC, \(k = 2.2\), \(\lambda = 1\), \(k_{vx} = 0.01\), \(k_{vy} = 0.01\), \(k_{px} = 185\), \(k_{py} = 565\), \(k_{dx} = 455\) and \(k_{dy} = 1385\) for NEBRC and \(\lambda _{lx} = 12\), \(\lambda _{ly} = 8\), \(\lambda _{ax} = 6\), \(\lambda _{ay} = 2\), \(k_{px} = 458\), \(k_{py} = 556\), \(k_{dx} = 788\) and \(k_{dy} = 1288\) for the proposed method.

The high performance of these controllers is affirmed in Fig. 3, where the trolley was driven to move toward the desired position with reasonable settling time and the residual oscillations were yielded at zero. The simulation results for the compared controllers are summarized in Table 1, where the subscripts ‘\(x{\mathrm{r}}\),’ ‘yr,’ ‘\(x{\mathrm{max}}\),’ ‘\(y{\mathrm{max}}\),’ ‘\(x\mathrm{res}\)’ and ‘\(y\mathrm{res}\)’ indicate the reach time, the maximum amplitude of the sway while in transit and the maximum amplitude of the residual sway in the XY plane, respectively. Comparing the response, the proposed controller can diminish the oscillation more efficiently within similar settling time.

5.2 Simulation group 2

To evaluate the enhanced robustness of the proposed controller, simulations are performed under the following conditions, while the controller gain combination remains the same with those in the previous group.

  • Case 1 The desired locations are changed to 3 m and 7 m in the X-direction and 1 m and 5 m in the Y-direction.

  • Case 2 The cable length is changed to 3 m from 1 m.

  • Case 3 Sinusoid disturbances are applied to the payload between 14 and 15 s, the impulsive disturbances with the opposite phase are induced at time 10 and 11 s, respectively, and random disturbances are applied between 18 and 19 s, all with an amplitude of 2 deg.

The response of the proposed controller for different move distances is demonstrated in the simulation results of Fig. 4, where a precise and fast load transit is guaranteed with sufficient oscillation damping and no residential sway angle. To avoid exciting large oscillation amplitudes when the desired position at a distance is issued to the system, one can impose bounds on the position control signal \(\varvec{e}_{\chi }\) to achieve a soft trolley start, which in turn costs a delay in the response of the carrier position. The robust capability to different cable length is demonstrated in the simulation results of Fig. 5, where the proposed controller settled the system in less time in terms of smaller swing amplitudes, while obvious overshoot and residential oscillation have occurred to the compared methods. It can be seen that the cable length contributes much to the dynamics of the system, which confirms the fact that the cable length essentially determines the system natural frequency and greatly influences load swing. Thus, the expected performance of the proposed controller is valuable since the change of the cable length will make the transportation task inefficient in practical applications. As exhibited in Fig. 6, the proposed controller can perform satisfactorily in the sense that the disruptive oscillations were eliminated in a small time duration. This merit brings much convenience for the application of the proposed controller in practical, since the effects of environmental disturbances, such as wind, must be considered. In conclusion, the presented method can achieve precise positioning and swing elimination simultaneously and shows satisfactory robustness.

6 Conclusion

In this paper, a significant storage function is constructed by modifying the energy of the crane system, where the damping injection is achieved with a simple feedback. In particular, new composite signals are introduced to strengthen the internal coupling between the trolley movement and the payload sway, thus significantly enhancing the transit performance of the control system. Due to the simple structure of the proposed controller and the improved passivity, the closed-loop system shows robustness to unknown cable lengths and external disturbances. The asymptotical stability is rigorously guaranteed by LaSalle’s invariance principle. The expected improvement of the system performance is validated by simulation results.