1 Introduction

To transfer heavy payloads to the desired location, different kinds of cranes, mainly including overhead cranes/container cranes, rotary cranes, and tower cranes, are widely used in various fields, e.g., factories, industries, and construction sites [1, 2]. Although these cranes have different operating principles and mechanical structures, they all belong to underactuated systems due to the fact that the payload cannot be controlled directly, whose control issues are difficult and still open [3,4,5]. To improve work efficiency, the trolley/jib is required to get to the destination as quickly and accurately as possible, and at the same time, the payload swing angles should be kept in a small range [6]. However, the lack of available control inputs and high-state coupling behaviors make both controller design and stability analysis very difficult. Therefore, it is of both theoretical and practical interest to develop automatic controllers for cranes.

Studies on control of crane systems are far-flung and agelong. However, most of these control methods are proposed mainly for overhead crane systems [1, 7,8,9,10,11,12,13,14,15,16,17,18], the number of control methods for tower cranes is much less than that of overhead cranes. In [19, 20], command shaping-based methods are utilized to suppress and eliminate the payload swing angles for tower crane systems. However, command shaping is part of open-loop control methods, and therefore, it is sensitive to external disturbances. By using the gain scheduling feedback method, the oscillation is reduced significantly and the payload is moved to the desired location in reasonable time [21]. However, the proposed gain scheduling method does not consider the effects of friction forces. Taking input constraints of tower crane systems into account, Böck and Kugi [22] combine a suboptimal MPC method with a path-following method and, on this basis, develop a real-time nonlinear model predictive path-following controller. In reference [23], a linear feedback control law is designed for a two wired hammerhead tower crane, reducing the payload swing without interfering with human operators, which ensures that the payload tracks the zero trajectory error manifold while the time evolution along the trajectory is determined. By using an iterative method, an optimal method is proposed to optimize the transferring time [24]. By combining a particle swarm optimization (PSO) with a genetic algorithm (GA), a hybrid evolutionary algorithm (HEA) for recurrent neural network (RNN) control is proposed to improve the control performance in evolving the RNN [25]. However, it is difficult to design a learning law or a gradient-based law when using RNN. To reduce the payload sway, an H-infinity-based adaptive fuzzy control law is developed [26]. The designed controller fully considers the influences of time delays, uncertainties, and disturbances on the tower crane systems and does not require accurate system parameters. Tuan et al. [27] propose two nonlinear control laws: partial feedback linearization and sliding mode control (SMC). The first control method requires accurate system parameters, and the second control method admits strong robustness.

All of the aforementioned control methods have the disadvantages of approximation treatment and assumption to the original tower crane dynamics. When external and internal disturbances exist, the state variables may move far away from the equilibrium point, leading to much difference between the original dynamics and the simplified one. In this case, the control performance will be deeply affected and might even lead to instability [28]. To solve this problem, based on energy shaping, Sun et al. [29] design an adaptive sway reduction (ASR) control law for 4-DOF tower cranes without simplifying crane dynamics. The adaptive sway reduction control scheme can achieve accurate slew/translation positioning and rapid payload swing suppression. In practice, the working condition of tower cranes is poor with severe external disturbances, parametric uncertainties and unmodeled uncertainties. The sliding mode control (SMC) method admits strong robustness with respect to external disturbances and uncertainties. Therefore, Tuan and Lee [30] propose an adaptive SMC method for 3D tower cranes. By combining the SMC with the model-reference adaptive control (MRAC), the adaptive and robust performances of the control system are improved. However, the adaptive SMC method has the problem of chattering because the control input is discontinuous. Moreover, it presents a complex structure, and hence, is difficult to be applied in practice.

In this paper, we design an adaptive integral sliding mode control (AISMC) method with payload sway reduction for 4-DOF tower cranes, where external disturbances, unmodeled uncertainties and parametric uncertainties are present. The designed controller employs an integral sliding mode control to present robustness; an adaptive control is employed to present adaptive performance. To avoid chattering problem of traditional SMC method, an integral sliding surface (ISS) [31, 32] is used to eliminate the reaching phase. Different from other existing adaptive sway reduction control method [29], the designed controller can eliminate the reaching phase for compensation of the matched uncertainties during the entire system response and improves unmatched uncertainties. The asymptotic stability of the equilibrium point and the state convergence are demonstrated by Lyapunov techniques and LaSalle’s invariance theorem. To verify the effectiveness and robustness of the designed controller, experimental results are provided.

The main contribution of this paper can be concluded as follows:

  1. 1.

    The designed AISMC law only involves the positioning errors, the velocity errors and the payload swing angular velocity signals, and does not require the prior knowledge about the dynamics of the tower crane systems. Therefore, it is model free.

  2. 2.

    It is the first SMC method for tower cranes that can prove the state convergence on the sliding surface without any approximations to the original dynamic equations.

  3. 3.

    The proposed method is essentially continuous and chattering free.

  4. 4.

    The designed controller admits strong robustness with respect to parametric uncertainties, unmodeled uncertainties, and external disturbances.

This paper is organized as follows. The dynamics of 4-DOF tower crane systems are described in Sect. 2. In Sect. 3, main results including AISMC method design and stability analysis are provided. Section 4 provides the experimental results. In Sect. 5, some concluding remarks are given.

2 Dynamics of tower crane systems

The dynamics of a 4-DOF tower crane (see Fig. 1) are expressed as follows:

$$\begin{aligned}&\left( {m_\mathrm{p}}\left( {S_1^2C_2^2 + S_2^2} \right) {l^2} + 2{m_\mathrm{p}}xl{C_2}{S_1} + J\right. \nonumber \\&\left. \quad +\, \left( {{M_\mathrm{t}} + {m_\mathrm{p}}} \right) {x^2} \right) \ddot{\varphi } - {m_\mathrm{p}}l{S_2}\ddot{x} \nonumber \\&\quad - \,{m_\mathrm{p}}{l^2}{C_1}{C_2}{S_2}{{\ddot{\theta } }_1} + {m_\mathrm{p}}l\left( {{C_2}x + l{S_1}} \right) {{\ddot{\theta } }_2}\nonumber \\&\quad +\, 2\left( {{M_\mathrm{t}} + {m_\mathrm{p}}} \right) x\dot{x}{\dot{\varphi }}+ 2{m_\mathrm{p}}l{C_1}{C_2}x{\dot{\varphi }} {{{\dot{\theta }} }_1} \nonumber \\&\quad +\, 2{m_\mathrm{p}}l{S_1}{C_2}{\dot{\varphi }} \dot{x}- {m_\mathrm{p}}l{S_2}\left( {2\dot{\varphi } {S_1} + {{{\dot{\theta }} }_2}} \right) x{{{\dot{\theta }} }_2}\nonumber \\&\quad +\,{m_\mathrm{p}}{l^2}{S_{21}}C_2^2{\dot{\varphi }} {{{\dot{\theta }} }_1}+ {m_\mathrm{p}}{l^2}{S_1}{S_2}{C_2}{\dot{\theta }} _1^2\nonumber \\&\quad +\, {m_\mathrm{p}}{l^2}C_1^2{S_{22}}{\dot{\varphi }} {{{\dot{\theta }} }_2} + 2{m_\mathrm{p}}{l^2}{C_1}S_2^2{{{\dot{\theta }} }_1}{{{\dot{\theta }} }_2} = {F_\varphi } - {F_{r\varphi }}\nonumber \\ \end{aligned}$$
(1)
$$\begin{aligned}&-\, {m_\mathrm{p}}l{S_2}\ddot{\varphi } + \left( {{M_\mathrm{t}} + {m_\mathrm{p}}} \right) \ddot{x} + {m_\mathrm{p}}l{C_1}{C_2}{{\ddot{\theta } }_1}\nonumber \\&\qquad - \,{m_\mathrm{p}}l{S_1}{S_2}{{\ddot{\theta } }_2} - \left( {{M_\mathrm{t}} + {m_\mathrm{p}}} \right) x{{{\dot{\varphi }} }^2}\nonumber \\&\qquad -\, 2{m_\mathrm{p}}l{C_1}{S_2}{{{\dot{\theta }} }_1}{{{\dot{\theta }} }_2}- {m_\mathrm{p}}l{C_2}\nonumber \\&\qquad \times \left[ {{S_1}\left( {{{{\dot{\varphi }} }^2} + {\dot{\theta }} _1^2 + {\dot{\theta }} _2^2} \right) + 2{\dot{\varphi }} {{{\dot{\theta }} }_2}} \right] \nonumber \\&\quad = {F_x} - {F_{rx}} \end{aligned}$$
(2)
$$\begin{aligned}&-\, {m_\mathrm{p}}{l^2}{C_1}{C_2}{S_2}\ddot{\varphi } + {m_\mathrm{p}}l{C_1}{C_2}\ddot{x} \nonumber \\&\quad +\, {m_\mathrm{p}}{l^2}C_2^2{{\ddot{\theta } }_1} + {m_\mathrm{p}}gl{S_1}{C_2}\nonumber \\&\quad -\, {m_\mathrm{p}}l{C_1}{C_2}\left( {x + l{S_1}{C_2}} \right) {{{\dot{\varphi }} }^2} \nonumber \\&\quad -\, 2{m_\mathrm{p}}{l^2}{C_2}\left( {{\dot{\varphi }} {C_1}{C_2} + {{\dot{\theta } }_1}{S_2}} \right) {{{\dot{\theta }} }_2} = 0\end{aligned}$$
(3)
$$\begin{aligned}&{m_\mathrm{p}}l\left( {{C_2}x + l{S_1}} \right) \ddot{\varphi } - {m_\mathrm{p}}l{S_1}{S_2}\ddot{x} \nonumber \\&\quad +\, 2{m_\mathrm{p}}l{C_2}\dot{x}{\dot{\varphi }} + {m_\mathrm{p}}l\left( {x{S_1}{S_2} - lC_1^2{S_2}{C_2}} \right) {{{\dot{\varphi }} }^2}\nonumber \\&\quad +\, {m_\mathrm{p}}{l^2}{{\ddot{\theta } }_2} + 2{m_\mathrm{p}}{l^2}{C_1}C_2^2{\dot{\varphi }} {{{\dot{\theta }} }_1}\nonumber \\&\quad +\, {m_\mathrm{p}}{l^2}{\dot{\theta }} _1^2{S_2}{C_2} + {m_\mathrm{p}}gl{C_1}{S_2} = 0 \end{aligned}$$
(4)

where \({M_\mathrm{t}}\) and \({m_\mathrm{p}}\) stand for the trolley mass and the payload mass, respectively, l denotes the cable length, \({S_1}\), \({S_2}\), \({C_1}\), \({C_2}\), \({S_{21}}\), and \({S_{22}}\) represent the abbreviations of \(\sin {\theta _1}\), \(\sin {\theta _2}\), \(\cos {\theta _1}\), \(\cos {\theta _2} \), \(\sin \left( {2{\theta _1}} \right) \), and \(\sin \left( {2{\theta _2}} \right) \), respectively, g is the gravity acceleration constant, J denotes the moment of inertia of the jib, x and \(\varphi \) represent the trolley translation displacement and the jib slew angle, respectively, \({\theta _1}\) and \({\theta _2}\) denotes the payload swing angles, \({F_\varphi }\) and \({F_x }\) represent the slew control torque and the translation control force, respectively, \({F_{r\varphi }}\) and \({F_{rx}}\) stand for the friction torque and force, respectively, which can be obtained by [6, 11, 12, 29]:

$$\begin{aligned} {F_{r\varphi }}= & {} {R_{\varphi 1}}\tanh \left( {{\varepsilon _\varphi }{\dot{\varphi }} } \right) + {R_{\varphi 2}}\left| {{\dot{\varphi }} } \right| {\dot{\varphi }} \end{aligned}$$
(5)
$$\begin{aligned} {F_{rx}}= & {} {R_{x1}}\tanh \left( {{\varepsilon _x}\dot{x}} \right) + {R_{x2}}\left| {\dot{x}} \right| \dot{x} \end{aligned}$$
(6)

where \({R_{\varphi 1}}\), \({R_{\varphi 2}}\), \({R_{x 1}}\), \({R_{x 2}}\), \({\varepsilon _\varphi }\), and \({\varepsilon _x}\) denote the friction-related parameters. \({\varepsilon _\varphi }\), and \({\varepsilon _x }\) hardly change for different payload mass, hence, can be determined by offline tests and regarded as known constants [11, 12, 29].

For simplicity, (1) and (2) are written in the following compact form:

$$\begin{aligned} \varvec{M}\left( \varvec{q} \right) {\varvec{\ddot{q}_r}} + \varvec{N}\left( {\varvec{q},\varvec{\dot{q}},\varvec{\ddot{q}}} \right) = \varvec{u} \end{aligned}$$
(7)

where \(\varvec{q_r} \buildrel \Delta \over = {\left[ {\varphi ~~x} \right] ^\mathrm{T}} \in {\varvec{R^2}}\), \(\varvec{q}\buildrel \Delta \over = {\left[ {\varphi ~~x ~~{\theta _1} ~~{\theta _2}} \right] ^\mathrm{T}} \in \varvec{R^4}\), \(\varvec{u} \buildrel \Delta \over = {\left[ {{F_\varphi }~~{F_x}} \right] ^\mathrm{T}} \in \varvec{R^2}\), \(\varvec{M\left( q \right) } \in \varvec{R^{2 \times 2}}\), and \(\varvec{N\left( {q,\dot{q},\ddot{q}} \right) } \in \varvec{R^2}\) represent the following matrix and vector:

$$\begin{aligned}&\varvec{M}\left( \varvec{q} \right) \\&\quad = {\left[ \begin{array}{cc} \begin{array}{l} {m_\mathrm{p}}\left( {S_1^2C_2^2 {+} S_2^2} \right) {l^2} {+} 2{m_\mathrm{p}}xl{C_2}{S_1}{+} J {+} \left( {{M_\mathrm{t}} {+} {m_\mathrm{p}}} \right) {x^2} \end{array} &{} { {-} \,{m_\mathrm{p}}l{S_2}}\\ { {-} {m_\mathrm{p}}l{S_2}}&{} {{M_\mathrm{t}} {+} {m_\mathrm{p}}} \end{array} \right] }\\&\varvec{N}\left( {\varvec{q,\dot{q},\ddot{q}}} \right) \\&\quad = {\left[ \begin{array}{c} \begin{array}{l} \left( \begin{array}{l} {-}\, {m_\mathrm{p}}{l^2}{C_1}{C_2}{S_2}{{\ddot{\theta } }_1} {+} {m_\mathrm{p}}l\left( {{C_2}x {+} l{S_1}} \right) {{\ddot{\theta } }_2}{+} 2\left( {{M_\mathrm{t}} {+} {m_\mathrm{p}}} \right) x\dot{x}{\dot{\varphi }} \\ {+}\, 2{m_\mathrm{p}}l{C_1}{C_2}x{\dot{\varphi }} {{{\dot{\theta }} }_1}{-} {m_\mathrm{p}}l{S_2}\left( {2{\dot{\varphi }} {S_1} {+} {{{\dot{\theta }} }_2}} \right) x{{{\dot{\theta }} }_2} {+} 2{m_\mathrm{p}}l{S_1}{C_2}{\dot{\varphi }} \dot{x}\\ {+}\, {m_\mathrm{p}}{l^2}{S_{21}}C_2^2{\dot{\varphi }} {{{\dot{\theta }} }_1} {+} {m_\mathrm{p}}{l^2}{S_1}{S_2}{C_2}{\dot{\theta }} _1^2{+} {m_\mathrm{p}}{l^2}C_1^2{S_{22}}{\dot{\varphi }} {{{\dot{\theta }} }_2} \\ {+}\, 2{m_\mathrm{p}}{l^2}{C_1}S_2^2{{{\dot{\theta }} }_1}{{{\dot{\theta }} }_2}{+} {R_{\varphi 1}}\tanh \left( {{\varepsilon _\varphi }{\dot{\varphi }} } \right) {+} {R_{\varphi 2}}\left| {{\dot{\varphi }} } \right| {\dot{\varphi }}\\ \end{array} \right) \end{array}\\ \left( \begin{array}{l} {m_\mathrm{p}}l{C_1}{C_2}{{\ddot{\theta } }_1} {-} {m_\mathrm{p}}l{S_1}{S_2}{{\ddot{\theta } }_2} {-} \left( {{M_\mathrm{t}} {+} {m_\mathrm{p}}} \right) x{{{\dot{\varphi }} }^2}\\ \quad {-}\, 2{m_\mathrm{p}}l{C_1}{S_2}{{{\dot{\theta }} }_1}{{{\dot{\theta }} }_2}{+} {R_{x1}}\tanh \left( {{\varepsilon _x}\dot{x}} \right) {+} {R_{x2}}\left| {\dot{x}} \right| \dot{x}\\ \quad {-}\, {m_\mathrm{p}}l{C_2}\left( {{S_1}\left( {{{{\dot{\varphi }} }^2} {+} {\dot{\theta }} _1^2 {+} {\dot{\theta }} _2^2} \right) {+} 2{\dot{\varphi }} {{{\dot{\theta }} }_2}} \right) \end{array} \right) \end{array} \right] } \end{aligned}$$

Without loss of generality, the following assumption is reasonable.

Assumption 1

For cranes working in practice, the payload is always beneath the trolley and the jib, and therefore, the payload swing angles always satisfy [2, 6, 11, 29]:

$$\begin{aligned} - \,\frac{\pi }{2} \le {\theta _1} \le \frac{\pi }{2},\quad -\, \frac{\pi }{2} \le {\theta _2} \le \frac{\pi }{2} \end{aligned}$$
(8)

3 Main results

3.1 Adaptive integral sliding mode controller design

Motivated in part by the static torque methodology [32,33,34], by introducing a positive diagonal matrix H, (7) can be represented as:

$$\begin{aligned} \varvec{u}&= \varvec{H}{\varvec{\ddot{q}}_r} + \left( \varvec{M\left( q \right) - \varvec{H}} \right) {\varvec{\ddot{q}}_r} + \varvec{N}\left( \varvec{q,\dot{q},\ddot{q}}\right) \nonumber \\&= \varvec{H}{\varvec{\ddot{q}}_r} + \varvec{P}\left( \varvec{q,\dot{q},\ddot{q}} \right) \end{aligned}$$
(9)

where \(\varvec{H} =diag\left( {{H_{11}},{H_{22}}} \right) \in \varvec{R^{2 \times 2}}\), \(\varvec{P}\left( \varvec{q,\dot{q},\ddot{q}} \right) =\left( {\varvec{M}\left( \varvec{q} \right) - \varvec{H}} \right) \varvec{\ddot{q}_r} + \varvec{N}\left( \varvec{q,\dot{q},\ddot{q}} \right) \) is the auxiliary function, whose detailed expression is given as follows:

$$\begin{aligned} \begin{aligned}&\varvec{P}\left( \varvec{q,\dot{q},\ddot{q}} \right) \\&\quad ={\left[ \begin{array}{c} \left( \begin{array}{l} \left( \begin{array}{l} {m_\mathrm{p}}\left( {S_1^2C_2^2 {+} S_2^2} \right) {l^2} {+} 2{m_\mathrm{p}}xl{C_2}{S_1}\\ \quad {+}\, J {+} \left( {{M_\mathrm{t}} {+} {m_\mathrm{p}}} \right) {x^2} {-} {H_{11}} \end{array} \right) \ddot{\varphi } {-} {m_\mathrm{p}}l{S_2}\ddot{x}\\ \quad {-}\, {m_\mathrm{p}}{l^2}{C_1}{C_2}{S_2}{{\ddot{\theta } }_1} {+} {m_\mathrm{p}}l\left( {{C_2}x {+} l{S_1}} \right) {{\ddot{\theta } }_2}\\ \quad {+}\, 2\left( {{M_\mathrm{t}} {+} {m_\mathrm{p}}} \right) x\dot{x}{\dot{\varphi }} {+} 2{m_\mathrm{p}}l{C_1}{C_2}x{\dot{\varphi }} {{{\dot{\theta }} }_1}\\ \quad {-}\, {m_\mathrm{p}}l{S_2}\left( {2{\dot{\varphi }} {S_1} {+} {{{\dot{\theta }} }_2}} \right) x{{{\dot{\theta }} }_2} {+} 2{m_\mathrm{p}}l{S_1}{C_2}{\dot{\varphi }} \dot{x}\\ \quad {+}\, {m_\mathrm{p}}{l^2}{S_{21}}C_2^2{\dot{\varphi }} {{{\dot{\theta }} }_1} {+} {m_\mathrm{p}}{l^2}{S_1}{S_2}{C_2}{\dot{\theta }} _1^2{+} {m_\mathrm{p}}{l^2}C_1^2{S_{22}}{\dot{\varphi }} {{{\dot{\theta }} }_2} \\ \quad {+}\, 2{m_\mathrm{p}}{l^2}{C_1}S_2^2{{{\dot{\theta }} }_1}{{{\dot{\theta }} }_2} {+} {R_{\varphi 1}}\tanh \left( {{\varepsilon _\varphi }{\dot{\varphi }} } \right) {+} {R_{\varphi 2}}\left| {{\dot{\varphi }} } \right| {\dot{\varphi }} \end{array} \right) \\ \left( \begin{array}{l} {-} {m_\mathrm{p}}l{S_2}\ddot{\varphi } {+} \left( {{M_\mathrm{t}} {+} {m_\mathrm{p}} {-} {H_{22}}} \right) \ddot{x} {+} {m_\mathrm{p}}l{C_1}{C_2}{{\ddot{\theta } }_1}\\ {-} {m_\mathrm{p}}l{S_1}{S_2}{{\ddot{\theta } }_2} {-} \left( {{M_\mathrm{t}} {+} {m_\mathrm{p}}} \right) x{{{\dot{\varphi }} }^2} {-} 2{m_\mathrm{p}}l{C_1}{S_2}{{{\dot{\theta }} }_1}{{{\dot{\theta }} }_2}\\ {+} {R_{x1}}\tanh \left( {{\varepsilon _x}\dot{x}} \right) {+} {R_{x2}}\left| {\dot{x}} \right| \dot{x}\\ {-} {m_\mathrm{p}}l{C_2}\left( {{S_1}\left( {{{{\dot{\varphi }} }^2} {+} {\dot{\theta }} _1^2 {+} {\dot{\theta }} _2^2} \right) {+} 2{\dot{\varphi }} {{{\dot{\theta }} }_2}} \right) \end{array} \right) \end{array} \right] }\\&\quad =\varvec{Y^\mathrm{T}}\varvec{\omega } \end{aligned}\nonumber \\ \end{aligned}$$
(10)
Fig. 1
figure 1

Schematic figure of tower crane systems

Table 1 Performance indices of Experiment 2
Fig. 2
figure 2

Experiment 1: Experimental results of the proposed method

Fig. 3
figure 3

Experiment 1: Experimental results of the LQR method

Fig. 4
figure 4

Experiment 1: Experimental results of the ASR method

Fig. 5
figure 5

Experiment 2: Experimental results of the proposed method

Fig. 6
figure 6

Experiment 2: Experimental results of the LQR method

Fig. 7
figure 7

Experiment 2: Experimental results of the ASR method

Fig. 8
figure 8

Experiment 3: Experimental results of the proposed method with respect to initial payload swing

Fig. 9
figure 9

Experiment 3: Experimental results of the proposed method with respect to external disturbances

swith \( \varvec{Y} = {\left[ \begin{array}{l} {Y_{11}}~~{Y_{12}}~~{Y_{13}}~~{Y_{14}}~~{Y_{15}}~~{Y_{16}}\\ {Y_{21}}~~{Y_{22}}~~{Y_{23}}~~{Y_{24}}~~{Y_{25}}~~{Y_{26}} \end{array} \right] ^\mathrm{T}} \in \varvec{R^{6 \times 2}}\) standing for the regress vector, which can be calculated online, and \(\varvec{\omega } = {\left[ \begin{array}{l} {\omega _{11}}~~{\omega _{12}}~~{\omega _{13}}~~{\omega _{14}}~~{\omega _{15}}~~{\omega _{16}}\\ {\omega _{21}}~~{\omega _{22}}~~{\omega _{23}}~~{\omega _{24}}~~{\omega _{25}}~~{\omega _{26}}\\ \end{array} \right] ^\mathrm{T}} \in \varvec{R^{6 \times 2}}\) being the uncertain parameter vector. \(\varvec{Y}\) and \(\varvec{\omega } \) are explicitly defined in the following forms:

$$\begin{aligned} \varvec{Y}= & {} {\left[ \begin{array}{cccccc} {Y_{11}} &{}\quad {Y_{12}} &{}\quad \ddot{\varphi } &{}\quad {x^2}\ddot{\varphi } + 2x\dot{x}{\dot{\varphi }} &{}\quad \tanh \left( {{\varepsilon _\varphi }{\dot{\varphi }} } \right) &{}\quad \left| {{\dot{\varphi }} } \right| {\dot{\varphi }}\\ {Y_{21}} &{}\quad \ddot{x} &{}\quad x{{{\dot{\varphi }} }^2} &{}\quad \tanh \left( {{\varepsilon _x}\dot{x}} \right) &{}\quad \left| {\dot{x} } \right| \dot{x} &{}\quad Y_{26} \end{array} \right] }\\ \varvec{\omega }= & {} {\left[ \begin{array}{cccccc} {m_\mathrm{p}}{l^2} &{}\quad {m_\mathrm{p}}l &{}\quad J - {H_{11}} &{}\quad {M_\mathrm{t}}+{m_\mathrm{p}} &{}\quad {R_{\varphi 1}} &{}\quad {R_{\varphi 2}} \\ {m_\mathrm{p}}l &{}\quad {M_\mathrm{t}}+{m_\mathrm{p}} - {H_{22}} &{}\quad {M_\mathrm{t}}+{m_\mathrm{p}} &{}\quad R_{x1} &{}\quad R_{x2} &{}\quad {m_\mathrm{p}}l \end{array} \right] }\\ {Y_{11}}= & {} \left( {S_1^2C_2^2 + S_2^2} \right) \ddot{\varphi } - {C_1}{C_2}{S_2}{{\ddot{\theta } }_1} + {S_1}{{\ddot{\theta } }_2} + {S_{21}}C_2^2{\dot{\varphi }} {{{\dot{\theta }} }_1}\\&+\, {S_1}{S_2}{C_2}{\dot{\theta }} _1^2 + C_1^2{S_{22}}{\dot{\varphi }} {{{\dot{\theta }} }_2} + 2{C_1}S_2^2{{{\dot{\theta }} }_1}{{{\dot{\theta }} }_2}\nonumber \\ {Y_{12}}= & {} 2x{C_2}{S_1}\ddot{\varphi } - {S_2}\ddot{x} + {C_2}x{{\ddot{\theta } }_2} + 2{C_1}{C_2}x{\dot{\varphi }} {{{\dot{\theta }} }_1}\\&-\, {S_2}\left( {2{\dot{\varphi }} {S_1} + {{{\dot{\theta }} }_2}} \right) x{{{\dot{\theta }} }_2} + 2{S_1}{C_2}{\dot{\varphi }} \dot{x}\\ {Y_{21}}= & {} - {S_2}\ddot{\varphi } + {C_1}{C_2}{\ddot{\theta } _1} - {S_1}{S_2}{\ddot{\theta } _2} - {C_1}{S_2}{{\dot{\theta }} _1}{\dot{\theta }_2}\\ {Y_{26}}= & {} - {C_2}\left( {{S_1}\left( {{{{\dot{\varphi }} }^2} + \dot{\theta } _1^2 + {\dot{\theta }} _2^2} \right) + 2{\dot{\varphi }} {{\dot{\theta } }_2}} \right) \end{aligned}$$

The control objectives are for the trolley and the jib to reach their desired positions (\({p_\varphi }\) and \({p_x}\)), while suppressing and eliminating the payload swing (\({\theta _1}\) and \({\theta _2}\)) rapidly. To do this, the following integral sliding surface is defined as the sliding vector \(\varvec{s}\) [31, 32]:

$$\begin{aligned} \varvec{s} = \varvec{\dot{e}} + 2\varvec{\Lambda } \varvec{e} + \varvec{\Lambda ^\mathrm{T}}\varvec{\Lambda } \int _0^t {\varvec{e}\left( {\tau } \right) \mathrm{d}\tau } \end{aligned}$$
(11)

where \(\varvec{e} = {\left[ {{e_1}~~{e_2}} \right] ^\mathrm{T}} = {\left[ {\varphi - {p_\varphi }~~x - {p_x}} \right] ^\mathrm{T}} \in \varvec{R^2}\) denotes the error vector, \(\varvec{\Lambda } = \)diag\(\left( {{\Lambda _{11}},{\Lambda _{22}}} \right) \in \varvec{R^{2 \times 2}}\) represent the positive diagonal gain matrix.

From (9) and (11), the adaptive integral sliding mode control method is designed as:

$$\begin{aligned} \varvec{u} = \varvec{{Y^\mathrm{T}}{\hat{\omega }}} - \varvec{H}\left( {\varvec{\Lambda ^\mathrm{T}}\varvec{\Lambda e} + 2\varvec{\Lambda \dot{e}} + \varvec{K_s}\varvec{s}} \right) \end{aligned}$$
(12)

where \(\varvec{K_s} \in \varvec{R^{2 \times 2}}\) denotes the positive SMC gain matrix, \(\varvec{{\hat{\omega }}} \) is the estimation of \(\varvec{ \omega } \) , which can be obtained by the following adaptive law:

$$\begin{aligned} \varvec{\dot{\hat{\omega }}} = - \varvec{{H^{ - 1}}\sigma Ys} \end{aligned}$$
(13)

where \(\varvec{\sigma } \in \varvec{R^{6 \times 6}}\) stands for the positive diagonal matrix.

As can be seen from (12), the payload swing-related information is not included in the control input. To solve this problem, the final controller is proposed as

$$\begin{aligned} \begin{array}{l} \varvec{u} = \varvec{{Y^\mathrm{T}}{\hat{\omega }}} {-} \varvec{H}\left( \varvec{\Lambda ^{T}\Lambda e} {+} 2\varvec{\Lambda \dot{e}} {+} \varvec{{K_{s}}s} \right) {-} \varvec{{K_h}}\left( {\dot{\theta } _1^2 + {\dot{\theta }} _2^2} \right) \varvec{s} \end{array} \end{aligned}$$
(14)

From (9), (11), and (14), it is concluded that

$$\begin{aligned} \varvec{\dot{s}}&= \varvec{\ddot{e}}{+} \varvec{{\Lambda ^\mathrm{T}}\Lambda e} {+} 2\varvec{\Lambda \dot{e}}\nonumber \\&= \varvec{{H^{ - 1}}}\left( \varvec{{Y^\mathrm{T}}{\hat{\omega }}} {-} \varvec{{Y^\mathrm{T}}\omega } \right) {-} \varvec{{H^{ - 1}}{K_h}}\left( {{\dot{\theta }} _1^2 + {\dot{\theta }} _2^2} \right) \varvec{s} - \varvec{{K_s}s}\nonumber \\&= \varvec{H^{ - 1}}\varvec{{Y^\mathrm{T}}{\tilde{\omega }}} -\varvec{{H^{ - 1}}{K_h}}\left( {{\dot{\theta }} _1^2 + {\dot{\theta }} _2^2} \right) \varvec{s} - \varvec{{K_s}s} \end{aligned}$$
(15)

where \(\varvec{\ddot{e}} = \varvec{\ddot{q}_r}\) is used for the deduction, \(\varvec{{\tilde{\omega }}} = \varvec{{\hat{\omega }}} - \varvec{\omega } \) is the online estimate error vector.

3.2 Stability analysis

Theorem 1

The proposed control method (13) and (14) can guarantee the trolley and the jib to reach their desired position and suppress and eliminate the payload swing angles simultaneously, in the sense that

$$\begin{aligned}&\mathop {\lim }\limits _{t \rightarrow \infty } {\left[ {\varphi ~~x~~{\theta _1}~~{\theta _2}~~{\dot{\varphi }} ~~\dot{x}~~{{{\dot{\theta }} }_1}~~{{\dot{\theta } }_2}} \right] ^\mathrm{T}}\nonumber \\&\quad = {\left[ {{p_\varphi }~~{p_x}~~0~~0~~0~~0~~0~~0} \right] ^\mathrm{T}} \end{aligned}$$
(16)

if the following conditions are satisfied

$$\begin{aligned} \left| {{{{\dot{\theta }} }_1}} \right|< \alpha ,\quad \left| {{{\dot{\theta } }_2}} \right| < \beta \end{aligned}$$
(17)

where \( \alpha \) and \(\beta \) are positive constants.

Remark 1

In practice, to guarantee smooth transportation and safety, the accelerations of the jib and the trolley usually satisfy \(\ddot{\varphi }\), \(\ddot{x}<g\) [35], where g denotes gravitational acceleration. Under such circumstances, the payload swing angles are usually kept within \({\theta _{1\max }},\mathrm{{ }}{\theta _{2\max }} \le {10^ \circ }\); Moreover, the angular velocities are kept within permitted ranges [35,36,37]. Therefore, conditions (17) are reasonable.

Proof

The following Lyapunov candidate function is constructed as:

$$\begin{aligned} V\left( t \right) = \frac{1}{2}\varvec{{s^\mathrm{T}}s} + \frac{1}{2}\varvec{\tilde{\omega } ^\mathrm{T}}\varvec{\sigma ^{ - 1}}\varvec{{\tilde{\omega }}} \end{aligned}$$
(18)

\(\square \)

Its time derivative is calculated as

$$\begin{aligned} \dot{V}\left( t \right)&= \varvec{s^\mathrm{T}}\varvec{\dot{s}} + \varvec{{{\tilde{\omega }} }^\mathrm{T}}\varvec{\sigma ^{ - 1}}\varvec{\dot{ {\tilde{\omega }}}} \nonumber \\&= \varvec{s^\mathrm{T}}\left( \varvec{{H^{ - 1}}\varvec{Y^\mathrm{T}}\varvec{\tilde{\omega }} - \varvec{H^{ - 1}}\varvec{K_h}\left( {{\dot{\theta }} _1^2 + \dot{\theta } _2^2} \right) \varvec{s} - \varvec{K_s}\varvec{s}} \right) \nonumber \\&\quad - \varvec{{\tilde{\omega }}}\varvec{\sigma ^{ - 1}}\varvec{\sigma }\varvec{H^{ - 1}}\varvec{Ys}\nonumber \\&= - \left( {{\dot{\theta }} _1^2 + {\dot{\theta }} _2^2} \right) \varvec{s^\mathrm{T}}\varvec{H^{ - 1}}\varvec{K_h}\varvec{s} - \varvec{s^\mathrm{T}}\varvec{K_s}\varvec{s}\nonumber \\&\le 0 \end{aligned}$$
(19)

To prove Theorem 1, let \(\varvec{\Pi } \buildrel \Delta \over = \left\{ {\left. \varvec{s} \right| \dot{V}\left( t \right) = 0} \right\} \), and then define \(\varvec{\Omega } \) as the largest invariant set contained in \(\varvec{\Pi } \). Thus, the following conclusions hold in \(\varvec{\Omega } \):

$$\begin{aligned} \varvec{s} = 0 \end{aligned}$$
(20)

Next, we will further illustrate that \(\varvec{e} = 0\) and \(\varvec{\dot{e}} = 0\) in \(\varvec{\Omega } \).

From (20), it can be easily concluded that

$$\begin{aligned} {\dot{e}_1} + 2{\Lambda _{11}}{e_1} + \Lambda _{11}^2\int _0^t {{e_1}\left( \tau \right) \mathrm{d}\tau } = 0 \end{aligned}$$
(21)

Taking time derivative of (21), yields

$$\begin{aligned} {\ddot{e}_1} + 2{\Lambda _{11}}{\dot{e}_1} + \Lambda _{11}^2{e_1} = 0 \end{aligned}$$
(22)

By means of Hurwitz criterion [38, 38, 39], it is easy to demonstrate that

$$\begin{aligned} \mathop {\lim }\limits _{t \rightarrow \infty } {e_1}&= 0,\;\; \mathop {\lim }\limits _{t \rightarrow \infty } {\dot{e}_1} = 0,\;\;\mathop {\lim }\limits _{t \rightarrow \infty } {\dot{e}_1} = 0\nonumber \\ \Rightarrow {\mathop {\lim }\limits _{t \rightarrow \infty } {\varphi }}&=p_{\varphi },\;\;{\mathop {\lim }\limits _{t \rightarrow \infty } {\dot{\varphi }}}=0,\;\;{\mathop {\lim }\limits _{t \rightarrow \infty } {\ddot{\varphi }}}=0 \end{aligned}$$
(23)

In a similar way, it can be obtained that

$$\begin{aligned} \mathop {\lim }\limits _{t \rightarrow \infty } {e_2}&= 0,\;\; \mathop {\lim }\limits _{t \rightarrow \infty } {\dot{e}_2} = 0,\;\; \mathop {\lim }\limits _{t \rightarrow \infty } {\dot{e}_2} = 0\nonumber \\ \Rightarrow {\mathop {\lim }\limits _{t \rightarrow \infty } {x}}&=p_{x},\;\; {\mathop {\lim }\limits _{t \rightarrow \infty } {\dot{x}}}=0,\;\; {\mathop {\lim }\limits _{t \rightarrow \infty } {\ddot{x}}}=0 \end{aligned}$$
(24)

Applying (20) into (13) yields

$$\begin{aligned} \varvec{\dot{\hat{\omega }}} = 0 \rightarrow \varvec{{\hat{\omega }}} = \varvec{\chi } \rightarrow \varvec{{\hat{P}}}\left( \varvec{q,\dot{q},\ddot{q}} \right) = \varvec{\lambda } \end{aligned}$$
(25)

where \(\varvec{\chi } = {\left[ {{\chi _1}~~{\chi _2}} \right] ^\mathrm{T}} \in \varvec{R^2}\), \(\varvec{\lambda } = {\left[ {{\lambda _1}~~{\lambda _2}} \right] ^\mathrm{T}} \in \varvec{R^2}\), \({\lambda _1}\) and \({\lambda _2}\) are constants yet to be determined.

From (23)–(25), we are led to

$$\begin{aligned} {F_\varphi } = {\lambda _1},\quad {F_x} = {\lambda _2} \end{aligned}$$
(26)

By using (23), (24), and (26), one can reduce (1) into

$$\begin{aligned}&-\, l{C_1}{C_2}{S_2}{{\ddot{\theta } }_1} {+} l{S_1}{S_2}{C_2}{\dot{\theta }} _1^2 {+} l{C_1}S_2^2{{{\dot{\theta }} }_1}{{{\dot{\theta }} }_2} {-} l{C_1}C_2^2{{{\dot{\theta }} }_1}{{{\dot{\theta }} }_2}\nonumber \\&\quad +\, l{S_1}{{\ddot{\theta } }_2} + l{C_1}{{{\dot{\theta }} }_1}{{{\dot{\theta }} }_2} + {p_x}\left( {{C_2}{{\ddot{\theta } }_2} - {S_2}{\dot{\theta }} _2^2} \right) = \frac{{{\lambda _1}}}{{{m_\mathrm{p}}l}}\nonumber \\ \end{aligned}$$
(27)

where \(S_2^2 = 1 - C_2^2\) is used.

Integrating (27) with respect to time, it is obtained that

$$\begin{aligned} - \,l{C_1}{C_2}{S_2}{{\dot{\theta }} _1} + l{S_1}{{\dot{\theta }} _2} + {p_x}{C_2}{{\dot{\theta }} _2} = \frac{{{\lambda _1}}}{{{m_\mathrm{p}}l}}t + {\lambda _3} \end{aligned}$$
(28)

where \({\lambda _3}\) denotes a constant. If \({\lambda _1} \ne 0\), then, \( - l{C_1}{C_2}{S_2}{{\dot{\theta }} _1} + l{S_1}{{\dot{\theta }} _2} + {p_x}{C_2}{{\dot{\theta }} _2} \rightarrow \infty \) as \(t \rightarrow \infty \), which contradicts to (17). Hence,

$$\begin{aligned} {\lambda _1} = 0,\quad {F_\varphi } = 0 \end{aligned}$$
(29)

Substituting (23), (24), and (26) into (2) yields

$$\begin{aligned}&{C_1}{C_2}{{\ddot{\theta } }_1} - {C_1}{S_2}{{{\dot{\theta }} }_1}{{\dot{\theta } }_2} - {S_1}{C_2}{\dot{\theta }} _1^2 - {S_1}{S_2}{{\ddot{\theta } }_2}\nonumber \\&\quad -\, {C_1}{S_2}{{{\dot{\theta }} }_1}{{{\dot{\theta }} }_2} - {C_2}{S_1}{\dot{\theta }} _2^2 = \frac{{{\lambda _2}}}{{{m_\mathrm{p}}l}} \end{aligned}$$
(30)

The integral of (30) with respect to time can be obtained that

$$\begin{aligned} {C_1}{C_2}{{\dot{\theta }} _1} - {S_1}{S_2}{{\dot{\theta }} _2} = \frac{{{\lambda _2}}}{{{m_\mathrm{p}}l}}t + {\lambda _4} \end{aligned}$$
(31)

where \({\lambda _4}\) denotes a constant. Similar to (31), we are led to

$$\begin{aligned} {\lambda _2} = 0,\;\; {F_x} = 0,\;\; \left( \begin{array}{l} {C_1}{C_2}{{\ddot{\theta } }_1} - {C_1}{S_2}{{{\dot{\theta }} }_1}{{{\dot{\theta }} }_2} - {S_1}{C_2}{\dot{\theta }} _1^2\\ \quad -\, {S_1}{S_2}{{\ddot{\theta } }_2} - {C_1}{S_2}{{{\dot{\theta }} }_1}{{{\dot{\theta }} }_2} - {C_2}{S_1}{\dot{\theta }} _2^2 \end{array} \right) = 0 \nonumber \\ \end{aligned}$$
(32)

After some arrangements, (3) and (4) can be reduced into

$$\begin{aligned} l{C_2}{\ddot{\theta } _1} - 2l{{\dot{\theta }} _1}{S_2}{{\dot{\theta }}_2} + g{S_1}= & {} 0 \end{aligned}$$
(33)
$$\begin{aligned} l{\ddot{\theta } _2} + l{\dot{\theta }} _1^2{S_2}{C_2} + g{C_1}{S_2}= & {} 0 \end{aligned}$$
(34)

It can be obtained from (33) and (34) that

$$\begin{aligned}&l{C_1}{C_2}{\ddot{\theta } _1} - 2l{C_1}{S_2}{{\dot{\theta }} _1}{\dot{\theta } _2} - l{S_1}{S_2}{\ddot{\theta } _2}\nonumber \\&\quad -\, l{S_1}{C_2}{\dot{\theta }} _1^2 + l{S_1}C_2^3{\dot{\theta }} _1^2 + g{C_1}{S_1}C_2^2 = 0 \end{aligned}$$
(35)

From (35) and (33), the following equation holds:

$$\begin{aligned}&{S_1}\left( {C_2}{\dot{\theta }} _2^2 + lC_2^3{\dot{\theta }} _1^2+ g{C_1}C_2^2 \right) = 0\\ \nonumber&\quad \rightarrow {S_1} = 0,\;\; {\theta _1} = 0,\;\; {{{\dot{\theta }} }_1} = 0 \end{aligned}$$
(36)

where Assumption 1 is used.

Inserting (29) and (36) into (35), one has

$$\begin{aligned} {C_2}{{\dot{\theta }} _2} = \frac{{{\lambda _3}}}{{{p_x}}} \end{aligned}$$
(37)

Integrating (37) with respect to time, we have

$$\begin{aligned} {S_2} = \frac{{{\lambda _3}}}{{{p_x}}}t + {\lambda _5} \end{aligned}$$
(38)

where \({\lambda _5}\) stands for a constant yet to be determined.

Noting that \({S_2}\) is bounded, and therefore,

$$\begin{aligned} {\lambda _3} = 0,\;\; {S_2} = {\lambda _5} \rightarrow {{\dot{\theta }} _2} = 0,\;\; {\ddot{\theta } _2} = 0 \end{aligned}$$
(39)

Substituting (39) into (34), it is concluded that

$$\begin{aligned} g{C_1}{S_2} = 0 \rightarrow {S_2} = 0,\;\; {\theta _2} = 0 \end{aligned}$$
(40)

By collecting the conclusions of (23), (24), (36), (39), and (40), we know that the largest invariant set \(\varvec{\Pi } \) only contains the equilibrium point

$$\begin{aligned} {\left[ {\varphi ~~x~~{\theta _1}~~{\theta _2}~~{\dot{\varphi }} ~~\dot{x}~~{{{\dot{\theta }} }_1}~~{{{\dot{\theta }} }_2}} \right] ^\mathrm{T}} = {\left[ {{p_\varphi }~~{p_x}~~0~~0~~0~~0~~0~~0} \right] ^\mathrm{T}} \end{aligned}$$

By using LaSalle’s invariance principle [38, 39], Theorem 1 is proven.

4 Experimental results

In this section, to validate the practical control performance of the designed controller, a series of experimental tests are carried out. The physical parameters of the experimental test bed are set as

$$\begin{aligned} {M_\mathrm{t}} = 3.5~\mathrm{{ kg, }}\;\; J = 6.8~{\mathrm{kg}}\,{\mathrm{{m}}^2}\mathrm{{, }}\;\; g = 9.8\,\mathrm{m\,s}^{-2} \end{aligned}$$

Unless otherwise noted, the payload mass and the cable length are set as

$$\begin{aligned} {m_\mathrm{p}} = 1~\mathrm{{ kg, }}\quad l = 0.5~\mathrm{{ m}} \end{aligned}$$

The initial jib slew angle and the trolley translation position are chosen as

$$\begin{aligned} {p_\varphi (0) } = 0^{\circ },\quad {p_x(0)} = 0.1~\mathrm{{ m}} \end{aligned}$$

The target jib slew angle and the trolley translation position are selected as

$$\begin{aligned} {p_\varphi } = 45^{\circ },\quad {p_x} = 0.5~\mathrm{{ m}} \end{aligned}$$

Experiment 1

Comparative study: To better exhibit the superior control performance of the designed controller, we compare it with the LQR method [39] and the adaptive sway reduction (ASR) control method [29]. The detailed expressions of the LQR method and the ASR control method are given as follows.

(1) LQR controller

$$\begin{aligned} F_{\varphi }= & {} -{k_{1\varphi }}e_1-{k_{2\varphi }}\dot{\varphi }-{k_{3\varphi }}\theta _2-{k_{4\varphi }}\dot{\theta }_2 \end{aligned}$$
(41)
$$\begin{aligned} F_x= & {} -{k_{1x }}e_2-{k_{2x}}\dot{x}-{k_{3x }}\theta _1-{k_{4x }}\dot{\theta }_1 \end{aligned}$$
(42)

where \({k_{1\varphi }}\), \({k_{2\varphi }}\), \({k_{1x}}\), \({k_{2x}}\) are positive control gains, and \({k_{3\varphi }}\), \({k_{4\varphi }}\), \({k_{3x}}\), \({k_{4x}}\) are negative control gains.

(2) ASR controller

$$\begin{aligned} {F_\varphi }= & {} - {k_{p\varphi }}{e_1} - {k_{d\varphi }}{\dot{\varphi }} + \varvec{\eta } _\varphi ^\mathrm{T}{\varvec{{\hat{\omega }}} _\varphi } - {k_{h\varphi }}\left( {{\dot{\theta }} _1^2 + {\dot{\theta }} _2^2} \right) {\dot{\varphi }}\nonumber \\&-\, \frac{{{\beta _\varphi }\left[ {\left( {{p_\varphi } + {\tau _\varphi }} \right) - {\varphi ^2} + {\dot{\varphi }} {e_1}} \right] }}{{{{\left[ {{{\left( {{p_\varphi } + {\tau _\varphi }} \right) }^2} - {\varphi ^2}} \right] }^2}}} \end{aligned}$$
(43)
$$\begin{aligned} {F_x}= & {} - {k_{px}}{e_2} - {k_{dx}}\dot{x} + \varvec{\eta } _x^\mathrm{T}{\varvec{\hat{\omega }} _x} - {k_{hx}}\left( {{\dot{\theta }} _1^2 + {\dot{\theta }} _2^2} \right) \dot{x} \nonumber \\&-\, \frac{{{\beta _x}\left[ {\left( {{p_x} + {\tau _x}} \right) - {x^2} + \dot{x}{e_2}} \right] }}{{{{\left[ {{{\left( {{p_x} + {\tau _x}} \right) }^2} - {x^2}} \right] }^2}}} \end{aligned}$$
(44)

where \({k_{p\varphi }}\), \({k_{d\varphi }}\), \({k_{px}}\), \({k_{dx}}\), \({k_{h\varphi }}\), \({k_{hx}}\), \(\beta _\varphi \), \(\beta _x\) are positive control gains, \(\tau _\varphi \) and \(\tau _x\) are the maximum overshoot amplitudes for \(\varphi \) and x, respectively, and the update law for \(\varvec{\hat{\omega }} _\varphi \), \(\varvec{\hat{\omega }} _x \) is designed as follows:

$$\begin{aligned} \dot{\hat{\varvec{\omega }}} _\varphi \buildrel \Delta \over = -\varvec{\Gamma }_\varphi {\varvec{\eta }_\varphi }\dot{\varphi },~~ \dot{\hat{\varvec{\omega }}} _x \buildrel \Delta \over = -\varvec{\Gamma }_x{\varvec{\eta }_x}\dot{x} \end{aligned}$$
(45)

where \(\varvec{\Gamma }_\varphi \in \varvec{R^{2 \times 2}}\), \(\varvec{\Gamma }_x\in \varvec{R^{2\times 2}}\) are positive diagonal matrices, and the vectors \(\varvec{\eta }_\varphi \), \(\varvec{\eta }_x\), \(\varvec{\omega } _\varphi \), \(\varvec{\omega } _x \) are defined as

$$\begin{aligned}&\varvec{\eta }_{\varphi } \buildrel \Delta \over = [\tanh ( {{\varepsilon _\varphi }{\dot{\varphi }} }) ~~ | {{\dot{\varphi }} } |\dot{\varphi }]^\mathrm{T},~~\varvec{\omega } _\varphi \buildrel \Delta \over = [ R_{\varphi 1}~~ R_{\varphi 2}\buildrel \Delta \over = [ \omega _1~~ \omega _2]\nonumber \\ \end{aligned}$$
(46)
$$\begin{aligned}&\varvec{\eta }_x \buildrel \Delta \over =[\tanh ( {{\varepsilon _x }\dot{x} }) ~~ | {\dot{x} } |\dot{x}]^\mathrm{T},~~\varvec{\omega } _x \buildrel \Delta \over = [ R_{x 1}~~ R_{x 2}]\buildrel \Delta \over = [\omega _3~~ \omega _4]\nonumber \\ \end{aligned}$$
(47)

By trial-and-error method, the control gains for the LQR method are \({k_{1\varphi }} = 31.0\), \({k_{2\varphi }} = 51.2\), \({k_{3\varphi }} = - 106.8\), \({k_{4\varphi }} = - 7.8\), \({k_{1x}} = 31.7\), \({k_{2x}} = 50.5\), \({k_{3x}} = - 101.7\), \({k_{4x}} = - 10.4\). The control gains for the ASR controller are set as \({k_{p\varphi }} = 26\), \({k_{d\varphi }} = 3.5\), \({k_{px}} = 72.1\). \({k_{dx}} = 13\), \(\varvec{\Gamma }_\varphi =\,\)diag(1.2, 1.5), \(\varvec{\Gamma }_x=\,\)diag(2, 10), \(\beta _\varphi =\beta _x=0.01\), \(\tau _\varphi =\tau _x=0.005\). After careful tuning, the control gains for the designed controller are selected as \(\varvec{\Lambda } = \) diag\(\left( {10,\mathrm{{ }}10} \right) \), \(\varvec{H} = \) diag\(\left( {0.869,\mathrm{{ }}0.622} \right) \), \(\varvec{\sigma } = \) diag\(\left( {1.0,\mathrm{{ 2}}\mathrm{{.0}}} \right) \times {10^4}\), \(\varvec{K_h} = \) diag\(\left( {5.6,\mathrm{{ 4}}\mathrm{{.1}}} \right) \), \(\varvec{K_s} = \) diag\(\left( {2.3,\mathrm{{ 3}}\mathrm{{.2}}} \right) \). The initial vector of the estimation of \(\varvec{\omega }\) is set as 0. The following performance indices are introduced to better present the superior control performance of the designed controller:

  1. a.

    \({\theta _{1\max }}\), \({\theta _{2\max }}\): maximum payload swing amplitudes.

  2. b.

    \({\theta _{1\mathrm{res}}}\), \({\theta _{2\mathrm{res}}}\): residual payload swings defined as maximum payload swing amplitudes after the trolley and the jib stop.

  3. c.

    \({F_{\varphi \max }}\), \({F_{x\max }}\): maximum control torque/force amplitudes.

  4. d.

    \({\delta _\varphi }\), \({\delta _x}\): positioning errors after the trolley and the jib stop.

The experimental results of the suggested method, the LQR method and the ASR method are provided in Table 1 and Figs. 2, 3 and 4. It is seen that all three controllers drive the trolley and the jib to their desired positions accurately. Although the proposed controller consumes more transportation time than the LQR method, it suppresses the payload swing within a smaller range than the LQR controller and the ASR controller. In terms of the proportion, \({\theta _{1\max }}\) and \({\theta _{2\max }}\) of the suggested method account for only 73.98% and 45.47% of those corresponding to the LQR controller and 81.11% and 53.82% of those corresponding to the ASR controller, respectively. Moreover, the maximum control efforts of proposed method are smaller than the LQR method and the ASR controller. In addition, in the process of transportation, the payload continues swinging back and forth for the LQR controller and the ASR controller, while the payload is much more steady for the suggested controller. The evolution of parameters estimation is shown in Figs. 2b and 4b, which clearly shows that all the estimations converge in about 6 s for both the proposed controller and the ASR controller.

Experiment 2

Uncertainty/changed payload mass/cable length: In this group, the LQR method and the ASR method are still chosen as the comparison methods. To illustrate the influence of system uncertainty to the proposed control method and the comparison methods, the payload mass is changed from 1 to 0.5 kg, and the cable length is changed from 0.5 to 0.3 m. The designed controller, the LQR controller, and the ASR controller still use the nominal payload mass and the cable length, namely, 1 kg and 0.5 m, respectively.

Experiment 3

The experimental results are shown in Figs. 5, 6 and 7. By comparing Figs. 5 with 2, although there is much difference between the actual values and nominal values of the cable lengths and the payload masses, the designed controller’s control performance, especially the trolley and the jib positioning effects, are almost the same whereas that of the LQR method and the ASR method degrades significantly (see the payload swing curves in Figs. 6 and 3, 7 and 4, respectively). These experimental results demonstrate the strong robustness of the designed controller over uncertain system parameters.

Experiment 4

External disturbances: In this group, to further examine the strong robustness of the proposed controller with respect to external disturbances, the following two cases are considered:

Case 1 Initial payload swing is added to disturb the control system, as can be seen from the marked place in Fig. 8.

Case 2 External disturbances are incorporated to the payload swing in purpose twice, as can be seen from the marked places in Fig. 9.

The control gains for the above two cases are kept the same as those in Experiment 2. It can be seen from Fig. 8 that the undesirable initial payload swing is quickly eliminated. Moreover, the overall control performance of the proposed controller is little affected by the initial payload swing in comparison with Fig. 2. One can observe from Fig. 9 that the system is re-stabilized quickly after external disturbances are added on the payload, which shows strong robustness of the proposed control method.

5 Conclusion

In this paper, we consider the control problem of 4-DOF tower crane systems subject to parametric uncertainties, unmodeled uncertainties, and external disturbances, and propose a robust adaptive integral sliding mode control (AISMC) method. By using integral sliding surface (ISS), the proposed AISMC law is essentially continuous, avoiding the chattering problem of traditional SMC law, and thus, it can be conveniently applied to some practical engineering. Moreover, the state variables are proven to the equilibrium point when they are in the manifold without linearizing the dynamical equations of tower cranes or neglected nonlinear terms, providing theoretical support of the proposed controller’s superior control performance. Experimental results also verify the effectiveness and robustness of the designed controller. In our future work, to ascertain the important parameters in the 4-DOF tower crane systems, the global sensitively will be elaborately analyzed.