1 Introduction

Generally speaking, most practical mechanical systems are nonlinear systems, which play increasingly important roles in industry areas [1,2,3,4]. In particular, some of them exhibit underactuated characteristics, namely that the system control inputs are less than their degrees of freedom (DOFs) [5,6,7,8]. As a typical underactuated system, crane systems have attracted more and more attentions due to their advantages of high carrying capacity, good operation flexibility, and low energy consumption [9,10,11,12,13,14,15,16,17]. However, during the transportation process, the payloads will swing back and forth unexpectedly, which not only greatly reduces the transportation efficiency, but also poses a danger to the workers around it. Therefore, the primary control objective of the crane is to transport payloads to desired locations as quickly as possible, while suppressing unexpected payload swings.

Offshore cranes are essential transportation tools installed on ships under marine environment, which are widely used in the construction and maintenance of marine facilities, replenishment at sea, loading/unloading of cargoes, and so on. With the development of marine industry, offshore cranes become increasingly important to transport cargoes, therefore, the modeling and control of offshore cranes have attracted extensive attention in recent years. In [18], a prediction algorithm is developed to deal with the uncertain trajectories induced by the movement of the target ship, and an increased adaptive NN-based tracking control method is presented. To deal with unknown parameters and handle unknown disturbances, especially unmatched disturbances, a new adaptive robust coupling control approach is proposed in [19]. By introducing an error-related bounded function on the sliding surface, Yang et al. [20] propose a controller that can realize the positioning of the boom/rope in a finite time. Through a learning law to deal with the sea waves problems, and an adaptive law to handle the unknown system parameters, Qian et al. [21] propose an adaptive repetitive learning control strategy. However, most of the above methods [18,19,20,21] are applied to lifting tasks with small volume or small mass loads between the ship and the port/land. For lifting some large or heavy loads between ship and port/land or lifting heavy loads between two ships in marine environment, due to the need to deal with additional state constraints between two cranes, the existing control strategies for single ship-mounted crane systems are not applicable to the dual ship-mounted crane systems.

Due to the limited working capacity of single ship-mounted cranes, the offshore dual ship-mounted crane systems are widely used in complex environments to complete heavy payload transport tasks. However, although they are both underactuated systems, compared with the single ship-mounted cranes, double ship-mounted cranes contain more state variables, geometric constraints and coupling relations. Therefore, not only the swing of the rope should be fully considered, but also the rotation of the payload around itself should be eliminated. Meanwhile, the complex kinematic and dynamic characteristics of dual ship-mounted cranes make controller design and stability analysis more challenging than a single ship-mounted crane system. Based on the modeling of collaborative crane, Lu et al. [22] use Lagrange’s equation to establish the dynamic model of a four-rope crane. Fu et al. [23] built a 7-DOF dual rotary crane model, and according to the payload constraint condition to simplify the model of five DOFs. Lu et al. [24] fully consider the coordination between cranes and proposes an efficient nonlinear coordination controller. In order to solve the control problem of DRCS (dual rotary crane systems), in [25], Sun et al. developed a bounded output feedback controller which realizes the accurate positioning of the boom and eliminates the swing of the payload. Most of the above methods [22,23,24,25] are applied to the control tasks between two cranes fixed on land. However, for the lifting tasks that need to be completed in the marine environment, due to the additional need to deal with the interference effects of waves that cannot be ignored, these existing control strategies are also not suitable for dual ship-mounted crane systems. Therefore, more effective control methods should be proposed to solve the complex control problems of accurate payload position, payload swing suppression, external disturbances rejection, etc., for such underactuated dual ship-mounted cranes systems.

Generally known, stability analysis is of great importance for nonlinear control system [26, 27]. In [28], Omar Naifar et al. developed a quasiuniform stability result for fractional-order neural networks with mixed delay, which is based on the generalized Gronwall inequality and the Caputo fractional derivative. In [29], sufficient conditions on the practical Mittag–Leffler and Mittag–Leffler stability are given based on the Lyapunov technique. In addition, the parameters of the system have a great influence on the control performance of the system [30, 31]. In [32], the effects of single design parameter error, such as the manufacturing tolerance of each part and assembly error, on the performance of the quasi-zero-stiffness (QZS) isolator are studied thoroughly. In [33], uncertainty quantification and sensitivity analysis studies focus on the electromagnetic torque, flux linkage, and core loss of the permanent magnet synchronous machine.

So far, rarely research on the modeling and control of offshore dual ship-mounted crane systems have been published. In this paper, the dynamic model of dual ship-mounted cranes are derived, and then, without any linearization of the nonlinear dynamics, a full-state feedback control strategy and an output feedback control strategy which consider saturation constraint are proposed. Moreover, we use Lyapunov techniques and LaSalle’s invariance principle to strictly prove the corresponding stability. Finally, experimental results are implemented to verify the effectiveness of the proposed model and control strategy.

Specifically, the main contributions of this paper are listed in the following aspects.

  1. (1)

    In this paper, a novel nonlinear dynamic model of dual ship-mounted crane systems are developed, which can obtain the control tasks of lifting heavy payloads in marine environment.

  2. (2)

    For the 5-DOF dynamic model of dual ship-mounted cranes, ship roll disturbances are fully considered as a part of cranes dynamics. Moreover, a simplified 3-DOF dynamic model is established according to the system constraints, which brings much convenience to the controller design.

  3. (3)

    The proposed energy-based controllers can achieve precise positioning of the huge payload, while payload swings can be eliminated effectively. Meanwhile, asymptotic stability for the desired equilibrium point in the presence of persistent ship roll disturbances can be guaranteed.

  4. (4)

    Saturation constraints of the controllers are considered, and the velocity feedback signals are unnecessary in the output feedback control method.

The rest of this paper is summarized below. Section 2 depicts the establishment and the simplification process of dual ship-mounted crane systems. Then in Sect. 3, based on the control target, two energy-based nonlinear controllers are developed, and the system stability is analyzed by using Lyapunov techniques. After that, Sect. 4 provides a series of experimental results to verify the effectiveness of the proposed control method. Finally, the summary of this paper is given in Sect. 5.

2 Dynamics analysis and model transformation

In this section, we first establish a 5-DOF model through the geometric relationship of the model. And according to the constraint conditions between the two cranes, the model is simplified to three DOFs. This technique will greatly facilitate the corresponding problem analysis and controller design.

The dual ship-mounted crane systems are composed of two booms, two ropes and a payload, as shown in Fig. 1. The center of gravity of the two spiral arms and the load are defined as \(p_1\), \(p_2\), \(p_0\); The points at which the two ropes intersect the load are defined as \(p_{01}\) and \(p_{02}\), respectively. We involve three coordinate frames to describe the system, including two ship-fixed frames \(I_A\), \(I_B\), and the land-fixed inertial frame \(I_S\). The origin of the world coordinate system is set at the center of gravity of ship A. Assuming that ship B and ship A are located on the same horizontal plane. The system parameters are listed in Table 1.

Fig. 1
figure 1

illustration for the dual ship-mounted cranes system

Table 1 Parametered of the dual ship-mounted crane systems

Assumption 1

During the overall transport process, the boom pitch angles and rope swing angles are within the following ranges: \( {{\eta }_{\text {1}}},{{\eta }_{\text {2}}}\in (\text {0},\frac{\pi }{2}), {{\eta }_{\text {3}}},{{\eta }_{\text {4}}}\in (\text {-}\frac{\pi }{2},\frac{\pi }{2}), {{\eta }_{\text {5}}}\in (\text {0},\pi ).\)

2.1 Dynamics analysis

To facilitate our description, the following concise symbol are adopted:

$$\begin{aligned}&{{S}_{{{\eta }_{i}}}}=\sin {{\eta }_{i}},~{{C}_{{{\eta }_{i}}}}=\cos {{\eta }_{i}}, \\&{{S}_{{{\phi }_{i}}-{{\alpha }_{k}}}}=\sin ({{\phi }_{i}}-{{\alpha }_{k}}),~{{C}_{{{\phi }_{i}}-{{\alpha }_{k}}}}=\cos ({{\phi }_{i}}-{{\alpha }_{k}}), \\&{{S}_{{{\eta }_{i}}+{{\eta }_{j}}}}=\sin ({{\eta }_{i}}+{{\eta }_{j}}),~{{C}_{{{\eta }_{i}}+{{\eta }_{j}}}}=\cos ({{\eta }_{i}}+{{\eta }_{j}}), \\&i,j=1,2,3,4,5(i\ne j),~k=1,2 \end{aligned}$$

In order to establish the dynamic model of the dual ship-mounted crane systems, we first analyze the kinematics of each part of the system. As shown in Fig. 1, the coordinates of each point in the system in \(I_S\) are as follows:

where, \({x}_{p01}\) and \({y}_{p01}\) represent the abscissa and ordinate of \({p}_{01}\), respectively, and \({x}_{p02}\) and \({y}_{p02}\) represent the abscissa and ordinate of \({p}_{02}\), respectively.

Taking the derivation of the point \(p_0\) with respect to time, then we can obtain the velocity of the payload in \(I_S\) as follows:

$$\begin{aligned} {{{\dot{p}}}_{0}}=&\left[ \frac{1}{2}(-L({{{\dot{\phi }}}_{\text {1}}}\text {-}{{{\dot{\alpha }}}_{\text {1}}})S_{ {{\phi }_{\text {1}}}\text {-}{{\alpha }_{\text {1}}}} +L({{{\dot{\phi }}}_{\text {2}}}\text {-}{{{\dot{\alpha }}}_{\text {2}}})S_ {{{\phi }_{\text {2}}}\text {-}{{\alpha }_{\text {2}}}}+bS_ {{{\phi }_{5}}} {{{\dot{\phi }}}_{5}}\right. \nonumber \\&+l({{{\dot{\phi }}}_{\text {3}}}\text {-}{{{\dot{\alpha }}}_{\text {1}}})C_ {{{\phi }_{\text {3}}}\text {-}{{\alpha }_{1}}} +l({{{\dot{\phi }}}_{\text {4}}}\text {-}{{{\dot{\alpha }}}_{\text {2}}})C_ {{{\phi }_{\text {4}}}\text {-}{{\alpha }_{\text {2}}} )},\nonumber \\&\left. \frac{1}{2}(L({{{\dot{\phi }}}_{\text {1}}}\text {-}{{{\dot{\alpha }}}_{\text {1}}})C_ {{{\phi }_{\text {1}}}\text {-}{{\alpha }_{\text {1}}}} +L({{{\dot{\phi }}}_{\text {2}}}\text {-}{{{\dot{\alpha }}}_{\text {2}}})C_ {{{\phi }_{\text {2}}}\text {-}{{\alpha }_{\text {2}}}} -bC_ {{\phi }_{5}} {{{\dot{\phi }}}_{5}}\right] \nonumber \\&+l({{{\dot{\phi }}}_{\text {3}}}\text {-}{{{\dot{\alpha }}}_{\text {1}}})S_ {{{\phi }_{\text {3}}}\text {-}{{\alpha }_{1}}} +l({{{\dot{\phi }}}_{\text {4}}}\text {-}{{{\dot{\alpha }}}_{\text {2}}})S_ {{\phi }_{\text {4}}}\text {-}{{\alpha }_{\text {2}}} ). \end{aligned}$$
(1)

Lagrange’s equation is used to build the model in inertial coordinate system. Lagrange’s equation is:

(2)

in (2), \({q}_{k}\) denotes the system state. \({{Q}_{k}}\) is the generalized force exerted on the system, T is the kinetic energy of the system. The generalized force \({{Q}_{k}}\) which contains the driving force and the gravity force which can be obtained by the virtual work done by each force.

The kinetic energy of the system includes the kinetic energy of the two booms and the payload:

$$\begin{aligned} T&=\frac{1}{\text {6}}{{m}_{l}}{{L}^{2}}{{({{\dot{\phi }}_{\text {1}}}\text {-}{{\dot{\alpha }}_{\text {1}}})}^{2}}+\frac{1}{\text {6}}{{m}_{l}}{{L}^{2}}{{({{\dot{\phi }}_{\text {2}}}\text {-}{{\dot{\alpha }}_{\text {2}}})}^{2}}\nonumber \\&\quad +\frac{1}{2}m{{({{\dot{p}}_{0}})}^{T}}{{\dot{p}}_{0}}. \end{aligned}$$
(3)

By applying Lagrange’s equation, after rigorous calculation, we can get:

(4)

The sum of the virtual work done by the system’s driving force and gravity is:

$$\begin{aligned} \delta W=&\delta {{W}_{U}}-\delta {{W}_{G}} \nonumber \\ \text { }=&{{f}_{1}}\delta {{\phi }_{1}}+{{f}_{2}}\delta {{\phi }_{2}}-\frac{1}{2}({{m}_{l}}+m)gL{{C}_{{{\phi }_{1}}-{{\alpha }_{1}}}}\delta {{\phi }_{1}} \nonumber \\ \text { }&-\frac{1}{2}({{m}_{l}}+m)gL{{C}_{{{\phi }_{2}}-{{\alpha }_{2}}}}\delta {{\phi }_{2}}-\frac{1}{2}mgl{{S}_{{{\phi }_{3}}-{{\alpha }_{1}}}}\delta {{\phi }_{3}} \nonumber \\ \text { }&-\frac{1}{2}mgl{{S}_{{{\phi }_{4}}-{{\alpha }_{2}}}}\delta {{\phi }_{4}}+mgb{{C}_{{{\phi }_{5}}}}\delta {{\phi }_{5}} . \end{aligned}$$
(5)

According to the definition of generalized force: \({{Q}_{k}}=\frac{\delta W}{\delta {{q}_{k}}}\), where, \(\delta {{q}_{k}}\) is the virtual displacement in the direction of each state quantity, we can get the force/moment of the dual ship-mounted crane systems in the direction of five state variables \({{\phi }_{1}},{{\phi }_{2}},{{\phi }_{3}},{{\phi }_{4}},{{\phi }_{5}}\):

$$\begin{aligned}&{{{Q}_{1}}={{f}_{1}}-\frac{1}{2}({{m}_{l}}+m)gL{{C}_{{{\phi }_{1}}-{{\alpha }_{1}}}},} \nonumber \\&{{{Q}_{2}}={{f}_{2}}-\frac{1}{2}({{m}_{l}}+m)gL{{C}_{{{\phi }_{2}}-{{\alpha }_{2}}}},} \nonumber \\&{{{Q}_{3}}=-\frac{1}{2}mgl{{S}_{{{\phi }_{3}}-{{\alpha }_{1}}}},} \nonumber \\&{{{Q}_{4}}=-\frac{1}{2}mgl{{S}_{{{\phi }_{4}}-{{\alpha }_{2}}}},} \nonumber \\&{{{Q}_{5}}=mgb{{C}_{{{\phi }_{5}}}}.} \end{aligned}$$
(6)

In order to facilitate the controller design, new auxiliary state variables are introduced to transform the model:

$$\begin{aligned}&{{\eta }_{\text {1}}}{=}{{\phi }_{\text {1}}}\text {-}{{\alpha }_{\text {1}}},~{{\eta }_{\text {2}}}{=}{{\phi }_{\text {2}}}-{{\alpha }_{\text {2}}},~{{\eta }_{\text {3}}}\text {=}{{\phi }_{\text {3}}}{-}{{\alpha }_{\text {1}}},~{{\eta }_{\text {4}}}{=}{{\phi }_{\text {4}}}-{{\alpha }_{\text {2}}},~\\&{{\eta }_{\text {5}}}{=}{{\phi }_{\text {5}}}, \end{aligned}$$

whose velocity signals can be obtained as:

$$\begin{aligned}&{{\dot{\eta }}_{\text {1}}}{=}{{\dot{\phi }}_{\text {1}}}-{{\dot{\alpha }}_{\text {1}}},~{{\dot{\eta }}_{\text {2}}}\text {=}{{\dot{\phi }}_{\text {2}}}-{{\dot{\alpha }}_{\text {2}}},~{{\dot{\eta }}_{\text {3}}}{=}{{\dot{\phi }}_{\text {3}}}\text {-}{{\dot{\alpha }}_{\text {1}}},~{{\dot{\eta }}_{\text {4}}}{=}{{\dot{\phi }}_{\text {4}}}-{{\dot{\alpha }}_{\text {2}}},~\\&{{\dot{\eta }}_{\text {5}}}{=}{{\dot{\phi }}_{\text {5}}}. \end{aligned}$$

Then according to Eq. (4) and (6), and utilizing the Lagrange’s equation (2), the model can be obtained as:

$$\begin{aligned} \varvec{M}\varvec{\ddot{q}}+\varvec{V}\varvec{\dot{q}}+\varvec{G}=\varvec{U}, \end{aligned}$$
(7)

wherein, \(\varvec{q}={{[{{\eta }_{\text {1}}},{{\eta }_{\text {2}}},{{\eta }_{\text {3}}},{{\eta }_{\text {4}}},{{\eta }_{\text {5}}}]}^{T}}\), \({\varvec{M}}\in {{R}^{5\times 5}},~\varvec{V}\in {{R}^{5\times 5}},~\varvec{G}\in {{R}^{5}},~\varvec{U}\in {{R}^{5}}\) represent the inertia matrix, Coriolis centripetal force matrix, the vectors of gravities and the vectors of the control inputs, respectively. More details of \(\varvec{M}\), \(\varvec{V}\), \(\varvec{G}\) and \(\varvec{U}\) please see Appendix A.

According to the definitions of \(\varvec{M}\) and \(\varvec{V}\), the following properties can be obtained through algebraic operations [34]:

Property 1

\(\varvec{M}\) is a positive definite symmetric matrix.

Property 2

\(\dot{\varvec{M}}/2-\varvec{V}\) is a skew symmetric matrix, namely:

$$\begin{aligned} {{\varvec{\xi }^{T}}(\varvec{\dot{M}}/2-\varvec{V})\varvec{\xi } =0,~\forall \varvec{\xi } \in {{R}^{5}}} \end{aligned}$$

These two properties will facilitate the subsequent design and analysis of dual ship-mounted crane controllers.

Remark 1

By introducing new auxiliary state variables, the coupling between the original state variables and the disturbance variables strengthened, which can effectively deal with the disturbances and facilitate the controller design.

2.2 Model transformation

As can be clearly seen from Fig. 1, the system has the following geometric constraints:

$$\begin{aligned} \left\{ \begin{matrix} D-LC_ {{\eta }_{2}} -LC_{{\eta }_{1}} +lS_ {{\eta }_{4}} -lS_ {{\eta }_{3}} =2aS_ {{\eta }_{5}}, \\ LS_ {{\eta }_{1}}-LS_ {{\eta }_{2}} -lC_ {{\eta }_{3}}+lC_ {{\eta }_{4}} =2aC_ {{\eta }_{5}}. \\ \end{matrix} \right. \end{aligned}$$
(8)

According to the above equation, it can be deduced that only two variables of the five variables \([{{\eta }_{\text {1}}},{{\eta }_{2}},{{\eta }_{\text {3}}},{{\eta }_{\text {4}}},{{\eta }_{\text {5}}}]^{T}\) are independent. However, explicit functions cannot be derived from constraints. For convenience and without loss of generality, we assume:

$$\begin{aligned}&{{\eta }_{\text {4}}}=g({{\eta }_{\text {1}}},{{\eta }_{\text {2}}},{{\eta }_{\text {3}}}), \end{aligned}$$
(9)
$$\begin{aligned}&{{\eta }_{\text {5}}}=h({{\eta }_{\text {1}}},{{\eta }_{\text {2}}},{{\eta }_{\text {3}}}). \end{aligned}$$
(10)

Taking the derivative of the above equation, one can obtain:

$$\begin{aligned}&{{\dot{\eta }}_{\text {4}}}={{g}_{\text {1}}}{{\dot{\eta }}_{1}}+{{g}_{\text {2}}}{{\dot{\eta }}_{2}}+{{g}_{\text {3}}}{{\dot{\eta }}_{\text {3}}}, \end{aligned}$$
(11)
$$\begin{aligned}&{{\dot{\eta }}_{\text {5}}}={{h}_{\text {1}}}{{\dot{\eta }}_{1}}+{{h}_{\text {2}}}{{\dot{\eta }}_{2}}+{{h}_{\text {3}}}{{\dot{\eta }}_{\text {3}}}. \end{aligned}$$
(12)

It can be obtained from Eq. (8):

$$\begin{aligned}&{{g}_{1}}=\frac{L{{C}_{{{\eta }_{1}}-{{\eta }_{5}}}}}{l{{S}_{{{\eta }_{4}}-{{\eta }_{5}}}}}, {{g}_{2}}=\text {-}\frac{L{{C}_{{{\eta }_{2}}+{{\eta }_{5}}}}}{l{{S}_{{{\eta }_{4}}-{{\eta }_{5}}}}},{{g}_{3}}=\frac{{{S}_{{{\eta }_{3}}-{{\eta }_{5}}}}}{{{S}_{{{\eta }_{4}}-{{\eta }_{5}}}}}, \end{aligned}$$
(13)
$$\begin{aligned}&{{h}_{1}}=\frac{L{{C}_{{{\eta }_{1}}-{{\eta }_{4}}}}}{2a{{S}_{{{\eta }_{4}}-{{\eta }_{5}}}}},{{h}_{2}}=-\frac{L{{C}_{{{\eta }_{2}}+{{\eta }_{4}}}}}{2a{{S}_{{{\eta }_{4}}-{{\eta }_{5}}}}},{{h}_{3}}=\frac{l{{C}_{{{\eta }_{3}}-{{\eta }_{4}}}}}{2a{{S}_{{{\eta }_{4}}-{{\eta }_{5}}}}}. \end{aligned}$$
(14)

To simplify the dynamic model, the constraint conditions are substituted into the system:

$$\begin{aligned}&{{\varvec{{M}_{0}}}={{\varvec{N}}^{T}}\varvec{MN},~{\varvec{{V}_{0}}}={\varvec{N}^{T}}\varvec{M}\varvec{\dot{N}}+{\varvec{N}^{T}}\varvec{VN}}, \nonumber \\&{{\varvec{{G}_{0}}}={\varvec{N}^{T}}\varvec{G},~{\varvec{{U}_{0}}}={\varvec{N}^{T}}\varvec{U} }, \end{aligned}$$
(15)

wherein, the matrix of \(\varvec{N}\) is depicted as:

$$\begin{aligned} \varvec{N}=\left[ \begin{matrix} 1 &{} 0 &{} 0 \\ 0 &{} 1 &{} 0 \\ 0 &{} 0 &{} 1 \\ {{g}_{1}} &{} {{g}_{2}} &{} {{g}_{3}} \\ {{h}_{1}} &{} {{h}_{2}} &{} {{h}_{3}} \end{matrix} \right] . \end{aligned}$$
(16)

Then the dynamic equation of the system can be depicted as:

$$\begin{aligned} {{\varvec{{M}_{0}}}{\varvec{{{\ddot{q}}}_{0}}}+{\varvec{{V}_{0}}}{\varvec{{\dot{q}}_{0}}}+{\varvec{{G}_{0}}}={\varvec{{U}_{0}}}}, \end{aligned}$$
(17)

wherein, \(\varvec{{{q}_{0}}}={{[{{\eta }_{\text {1}}},{{\eta }_{\text {2}}},{{\eta }_{\text {3}}}]}^{T}}.\) The simplified model (17) still satisfies property 1 and property 2.

Remark 2

Model (7) has five DOFs and two control variables. After transformation, model (17) has three DOFs and two control variables, it is still an underactuated system. However, after considering constraints, the new model reduces the extent of the underactuated, which is more conducive to improve the control effect.

3 Controller design and stability analysis

In this section, based on the dual ship-mounted cranes model according to the control objectives, a full-state feedback control law is proposed, and then an output feedback control law is proposed considering the unavailable velocity signal. Finally, the proposed controllers are proved strictly by using Lyapunov method.

The control objectives are realized through the regulation control of dual ship-mounted crane systems, which can be summarized as follows:

(1) Driving the booms to the target position \({{\eta }_{d}}\),which can be expressed mathematically as:

$$\begin{aligned} \lim _{t\rightarrow +\infty }{{[{{\eta }_{1}},{{\eta }_{2}}]}^{T}}={{[{{\eta }_{d}},{{\eta }_{d}}]}^{T}}. \end{aligned}$$

(2) Eliminating the swing of the payload as soon as possible, that is:

$$\begin{aligned} \lim _{t\rightarrow +\infty }{{[{{\eta }_{3}},{{\eta }_{4}},{{\eta }_{5}}]}^{T}}={{[{{\eta }_{3d}},{{\eta }_{4d}},{{\eta }_{5d}}]}^{T}}, \end{aligned}$$

where \({{\eta }_{id}}(i=3,4,5)\) represents the expected payload swing angle. Through geometric analysis, it can be obtained that:

$$\begin{aligned} {{\eta }_{3d}}&=\arcsin \frac{D-LC_{{\eta }_{1d}}-LC_{{\eta }_{2d}}-2a}{2l}\\&=-{{\eta }_{4d}}, {{\eta }_{5d}}=\frac{\pi }{2}. \end{aligned}$$

(3) Considering the practical constraints to keep the control inputs in the following range:

$$\begin{aligned} f_1\le {{f}_{1\max }},f_2\le {{f}_{2\max }}, \end{aligned}$$

where, \({{f}_{1\max }}\) and \({{f}_{2\max }}\) represent the maximum permitted control input value.

3.1 Full-state feedback controller

3.1.1 Controller design

To simplify the subsequent derivation process, we define the position errors as follows:

$$\begin{aligned} {{e}_{1}}={{\eta }_{1}}-{{\eta }_{d}},~{{e}_{2}}={{\eta }_{2}}-{{\eta }_{d}},~\Rightarrow {{\dot{e}}_{1}}={{\dot{\eta }}_{1}},~{{\dot{e}}_{2}}={{\dot{\eta }}_{2}}. \end{aligned}$$
(18)

The Lyapunov candidate function is designed as:

$$\begin{aligned} V_F=&~\frac{1}{2}{{\varvec{\dot{q}}}_{\text {0}}}^{T}{\varvec{M}_{\text {0}}}{{\varvec{\dot{q}}}_{\text {0}}}\text { }+mgb(1-S_ {{\eta }_{5}} ) \nonumber \\&+\frac{1}{2}mgl\left[ (C_ {{\eta }_{3d}} +C_ {{\eta }_{4d}} )-(C_ {{\eta }_{3}} +C_ {{\eta }_{4}} )\right] \nonumber \\ {}&\text {+}\sum \limits _{i=1}^{2}{{{k}_{pi}}}[{{e}_{i}}\arctan {{e}_{i}}-\frac{1}{2}\ln {{(1+{{e}_{i}})}^{2}}]. \end{aligned}$$
(19)

Taking the time derivative of \(V_F\) results in:

(20)

Based on (20), the controllers are designed as:

$$\begin{aligned} {{f}_{1}}=&-{{k}_{p1}}\arctan {{e}_{1}}-{{k}_{d1}}\arctan {{\dot{e}}_{1}}\nonumber \\&+\frac{1}{2}(m+{{m}_{l}})gL{{C}_{{{\eta }_{1}}}}, \end{aligned}$$
(21)
$$\begin{aligned} {{f}_{2}}=&-{{k}_{p2}}\arctan {{e}_{2}}-{{k}_{d2}}\arctan {{\dot{e}}_{2}}\nonumber \\&+\frac{1}{2}(m+{{m}_{l}})gL{{C}_{{{\eta }_{2}}}}. \end{aligned}$$
(22)

Since the function arctan(x) is bounded, the gain can be controlled by adjusting to meet the following conclusions:

$$\begin{aligned}&\frac{\pi }{2}{{k}_{p1}}+\frac{\pi }{2}{{k}_{d1}}+\frac{1}{2}(m+{{m}_{l}})gL\le {{f}_{1\max }},\\&\frac{\pi }{2}{{k}_{p2}}+\frac{\pi }{2}{{k}_{d2}}+\frac{1}{2}(m+{{m}_{l}})gL\le {{f}_{2\max }}. \end{aligned}$$

Thus, the control inputs can be kept within the desired range, and the controller input can be prevented from exceeding the working capacity and entering into a saturation state, which may significantly reduce the control performance and even lead to system instability.

3.1.2 Stability analysis

Theorem 1

For dual ship-mounted crane systems shown by (17), the controllers (21) and (22) can achieve the expected control objectives, that is:

$$\begin{aligned}&\lim \limits _{t\rightarrow +\infty }{{\left[ {{\eta }_{1}},{{\eta }_{2}},{{\eta }_{3}},{{\eta }_{4}},{{\eta }_{5}},{{\dot{\eta }}_{1}},{{\dot{\eta }}_{2}},{{\dot{\eta }}_{3}},{{\dot{\eta }}_{4}},{{\dot{\eta }}_{5}}\right] }^{T}}\\&\quad ={{\left[ {{\eta }_{d}},{{\eta }_{d}},{{\eta }_{3d}},{{\eta }_{4d}},{{\eta }_{5d}},0,0,0,0,0\right] }^{T}}. \end{aligned}$$

Proof

By substituting (21) and (22) into (20), we can get:

$$\begin{aligned} \dot{V}_F=-{{k}_{d1}}{{\dot{e}}_{1}}\arctan {{\dot{e}}_{1}}-{{k}_{d2}}{{\dot{e}}_{2}}\arctan {{\dot{e}}_{2}}\le 0, \end{aligned}$$
(23)

thus, \(V_F(t)\le V_F(0)\). Since \(V_F(0)\) is bounded, \(V_F(t)\in {{L}_{\infty }}\). Based on this, the following conclusions can be drawn from Eq. (19) :

$$\begin{aligned} {{\dot{\eta }}_{1}},{{\dot{\eta }}_{2}},{{\dot{\eta }}_{3}},{{\dot{\eta }}_{4}},{{\dot{\eta }}_{5}},{{\eta }_{1}},{{\eta }_{2}},{{\eta }_{3}},{{\eta }_{4}},{{\eta }_{5}},{{e}_{1}},{{e}_{2}},{{\xi }_{1}},{{\xi }_{2}}\in {{L}_{\infty }}. \end{aligned}$$

Defining a collection \(\varOmega _1 =\left\{ \left( {{q}_{0}},{{{\dot{q}}}_{0}} \right) |\dot{V}(t)=0 \right\} \), and remember that \(\tau _1 \) is the largest invariant set in \(\varOmega _1 \).

According to Eq. (23), it can be seen that:

$$\begin{aligned} {{\dot{e}}_{1}}={{\dot{e}}_{2}}=0 \Rightarrow \left\{ \begin{array}{l} {{e}_{1}}={{\beta }_{1}},{{e}_{2}}={{\beta }_{2}}, \\ \text { }{{{\ddot{e}}}_{1}}={{{\ddot{e}}}_{2}}=0, \\ {{{\dot{\eta }}}_{1}}={{{\dot{\eta }}}_{2}}=0\Rightarrow \\ {{\eta }_{1}}={{\beta }_{3}},{{\eta }_{2}}={{\beta }_{4}},{{{\ddot{\eta }}}_{1}}={{{\ddot{\eta }}}_{2}}=0\text { }, \end{array} \right. \end{aligned}$$
(24)

therefore, the control inputs can be regarded as:

$$\begin{aligned}&{{f}_{1}}=-{{k}_{p1}}\arctan {{\beta }_{1}}+\frac{1}{2}(m+{{m}_{l}})gL{{C}_{{{\beta }_{3}}}}, \end{aligned}$$
(25)
$$\begin{aligned}&{{f}_{2}}=-{{k}_{p2}}\arctan {{\beta }_{2}}+\frac{1}{2}(m+{{m}_{l}})gL{{C}_{{{\beta }_{4}}}}. \end{aligned}$$
(26)

By substituting (25) into the model Eq. (17), it is simplified as follows:

$$\begin{aligned} \frac{{{f}_{1}}-\frac{1}{2}gL(m+{{m}_{l}})C_ {{\eta }_{1}} }{-\frac{1}{16{{a}^{2}}}lLm}=\frac{d}{{\text {d}t}}[{{\rho }_{1}}(\cdot )], \end{aligned}$$
(27)

where

$$\begin{aligned} {{\rho }_{1}}(\cdot )=&\,4a[aS_ {{{\beta }_{3}}-{{\eta }_{3}}} +\frac{1}{S_ {{{\eta }_{4}}-{{\eta }_{5}}} } \text { }\\&\times \left( bC_ {{{\beta }_{3}}-{{\eta }_{5}}} S_{{{\eta }_{3}}-{{\eta }_{4}}} +aS_ {{\beta }_{3}}-{{\eta }_{4}} S_ {{{\eta }_{3}}-{{\eta }_{5}} } \right) ]. \end{aligned}$$

To integrate on both ends of the (27),

$$\begin{aligned} {{\rho }_{1}}(\cdot )=\frac{{{f}_{1}}-\frac{1}{2}gL(m+{{m}_{l}})C_ {{\eta }_{1}} }{-\frac{1}{16{{a}^{2}}}lLm}t+{{C}_{1}}, \end{aligned}$$
(28)

in which, \({C}_{1}\) is a constant.

Assuming that \({{f}_{1}}-\frac{1}{2}gL(m+{{m}_{l}})C_ {{\eta }_{1}} \ne 0\), when \(t\rightarrow \infty \), \(|{{\rho }_{1}}(\cdot )|\rightarrow \infty \). It’s not difficult to see \({{\rho }_{1}}(\cdot )\in {{L}_{\infty }}\), thus:

$$\begin{aligned} {{f}_{1}}-\frac{1}{2}gL(m+{{m}_{l}})C_ {{\eta }_{1}} =0,|{{\rho }_{1}}(\cdot )|={{C}_{1}}, \end{aligned}$$
(29)

substituting (29) into (25) derives:

$$\begin{aligned} -{{k}_{1}}\arctan {{e}_{1}}=0, \end{aligned}$$
(30)

thus:

$$\begin{aligned} {{e}_{1}}=0,~{{\eta }_{1}}={{\eta }_{d}}, \end{aligned}$$
(31)

In the same way:

$$\begin{aligned} \frac{{{f}_{2}}-\frac{1}{2}gL(m+{{m}_{l}})C_{{\eta }_{2}} }{\frac{1}{8{{a}^{2}}}lLm}=\frac{d}{{\text {d}t}}[{{\rho }_{2}}(\cdot )], \end{aligned}$$
(32)

wherein,

$$\begin{aligned} {{\rho }_{2}}(\cdot )=&\,2a[aS_ {{{\beta }_{4}}+{{\eta }_{3}}} +\frac{1}{S_ {{{\eta }_{4}}-{{\eta }_{5}}} } \text { }\\&\times \left( -bC_ {{{\beta }_{4}}+{{\eta }_{5}}} S_ {{{\eta }_{3}}-{{\eta }_{4}}} +aS_ {{{\beta }_{4}}+{{\eta }_{4}}}S_{{{\eta }_{3}}-{{\eta }_{5}}} \right) ]. \end{aligned}$$

To integrate on both ends of the (32) yields:

$$\begin{aligned} {{\rho }_{2}}(\cdot )=\frac{{{f}_{2}}-\frac{1}{2}gL(m+{{m}_{l}})C_ {{\eta }_{2}} }{\frac{1}{8{{a}^{2}}}lLm}t+{{C}_{2}}, \end{aligned}$$
(33)

in which, \({C}_{2}\) is a constant.

Assuming that \({{f}_{2}}-\frac{1}{2}gL(m+{{m}_{l}})C_ {{\eta }_{2}} \ne 0\), when \(t\rightarrow \infty \), \(|{{\rho }_{2}}(\cdot )|\rightarrow \infty \). It’s not difficult to see \({{\rho }_{2}}(\cdot )\in {{L}_{\infty }}\), thus:

$$\begin{aligned} {{e}_{2}}=0,{{\eta }_{2}}={{\eta }_{d}}, \end{aligned}$$
(34)

Through a series of mathematical calculation, we can get: \({{\eta }_{5}}=\frac{\pi }{2}\) is always true when the system is stable, where the proof of \({{\eta }_{5}}=\frac{\pi }{2}\) can be found in [25].

Based on the payload constraint relation (8), when \({{\eta }_{1}}={{\eta }_{d}},{{\eta }_{2}}={{\eta }_{d}},{{\eta }_{5}}=\frac{\pi }{2}\), it can be seen that:

$$\begin{aligned} {\left\{ \begin{matrix} lS_{{\eta }_{3}}-lS_{{\eta }_{4}}+2a=D-2LC_{{\eta }_{d}} , \\ lC_{{\eta }_{4}}-lC_{{\eta }_{3}}=0, \\ \end{matrix} \right. } \end{aligned}$$
(35)

according to the above equation,

$$\begin{aligned} {{\eta }_{3}}=\arcsin \frac{D-LC_{{\eta }_{1d}}-LC_{{\eta }_{2d}}-2a}{2l}, {{\eta }_{3}}=-{{\eta }_{4}}, \end{aligned}$$
(36)

thus:

$$\begin{aligned}&\lim \limits _{t\rightarrow +\infty }{{[{{\eta }_{3}},{{\eta }_{4}},{{\eta }_{5}},{{\dot{\eta }}_{3}},{{\dot{\eta }}_{4}},{{\dot{\eta }}_{5}}]}^{T}}\nonumber \\&\quad ={{\left[ {{\eta }_{3d}},{{\eta }_{4d}},\frac{\pi }{2},0,0,0\right] }^{T}}, \end{aligned}$$
(37)

From equations (24), (31), (34) and (37), it can be seen that the maximum invariant set \(\tau _1 \) only contains the equilibrium point:

$$\begin{aligned}&{{\left[ {{\eta }_{1}},{{\eta }_{2}},{{\eta }_{3}},{{\eta }_{4}},{{\eta }_{5}},{{\dot{\eta }}_{1}},{{\dot{\eta }}_{2}},{{\dot{\eta }}_{3}},{{\dot{\eta }}_{4}},{{\dot{\eta }}_{5}}\right] }^{T}}\\&\quad ={{\left[ {{\eta }_{1d}},{{\eta }_{2d}}{{\eta }_{3d}},{{\eta }_{4d}},{{\eta }_{5d}},0,0,0,0,0\right] }^{T}}. \end{aligned}$$

According to LaSalle’s invariance theorem, the system is asymptotically stable at the equilibrium point. Therefore, the proof of Theorem 1 is completed. \(\square \)

3.2 Output feedback controller

3.2.1 Controller design

It can be seen that the full-state feedback controller requires velocity signals which are unavailable in some cases. In order to overcome this shortcoming and improve the robustness of the system, the control law is further extended and some auxiliary signals \({{\xi }_{1}}\) and \({{\xi }_{2}}\) are introduced to replace the velocity signals in the control law.

The Lyapunov candidate function is redesigned as:

$$\begin{aligned} V_O&=\frac{1}{2}{{\varvec{\dot{q}}}_{\text {0}}}^{T}{\varvec{M}_{\text {0}}}{{\varvec{\dot{q}}}_{\text {0}}}\text { }+mgb(1-S_ {{\eta }_{5}} ) \nonumber \\&\quad +\frac{1}{2}mgl\left[ (C_ {{\eta }_{3d}} +C_{{\eta }_{4d}} )-(C_ {{\eta }_{3}} +C_ {{\eta }_{4}} )\right] \nonumber \\&\quad +\sum \limits _{i=1}^{2}{{{k}_{pi}}}({{e}_{i}}\arctan {{e}_{i}}-\frac{1}{2}\ln (1+{{e}_{i}}^{2})) \nonumber \\&\quad +\sum \limits _{i=1}^{2}{({{\xi }_{i}}}\arctan {{\xi }_{i}}-\frac{1}{2}\ln (1+{{\xi }_{i}}^{2})). \end{aligned}$$
(38)

Taking the time derivative of \(V_O\) results in:

(39)

Therefore, design that:

$$\begin{aligned} {{\xi }_{1}}={{w}_{1}}+{{k}_{d1}}{{\eta }_{1}}, {{\xi }_{2}}={{w}_{2}}+{{k}_{d2}}{{\eta }_{2}}, \end{aligned}$$
(40)

substituting Eq. (40) into (39):

$$\begin{aligned} \dot{V}_O=&({{f}_{1}}+{{k}_{p1}}\arctan {{e}_{1}}+{{k}_{d1}}\arctan {{\xi }_{1}}\nonumber \\&-\frac{1}{2}(m+{{m}_{l}})gL{{C}_{{{\eta }_{1}}}}){{{\dot{e}}}_{1}}\nonumber \\&+({{f}_{2}}+{{k}_{p2}}\arctan {{e}_{2}}+{{k}_{d2}}\arctan {{\xi }_{2}}\nonumber \\&-\frac{1}{2}(m+{{m}_{l}})gL{{C}_{{{\eta }_{2}}}}){{{\dot{e}}}_{2}}\nonumber \\&+{{{\dot{w}}}_{1}}\arctan {{\xi }_{1}}+{{{\dot{w}}}_{2}}\arctan {{\xi }_{2}}. \end{aligned}$$
(41)

We can design that:

$$\begin{aligned}&{{{\dot{w}}}_{1}}=-{{k}_{d1}}{{\xi }_{1}}=-{{k}_{d1}}({{w}_{1}}+{{k}_{d1}}{{\eta }_{1}}), \nonumber \\&{{{\dot{w}}}_{2}}=-{{k}_{d2}}{{\xi }_{2}}=-{{k}_{d2}}({{w}_{2}}+{{k}_{d2}}{{\eta }_{2}}), \end{aligned}$$
(42)

then substituting (42) into (40), we can get:

$$\begin{aligned}&{{{\dot{\xi }}}_{1}}=-{{k}_{d1}}({{\xi }_{1}}-{{{\dot{\eta }}}_{1}}), {{{\dot{\xi }}}_{2}}=-{{k}_{d2}}({{\xi }_{2}}-{{{\dot{\eta }}}_{2}}). \end{aligned}$$
(43)

Substituting the designed auxiliary signal (40) into the Lyapunov function (38) and taking the time derivative of \(V_O\):

$$\begin{aligned} \dot{V}_O=&({{f}_{1}}+{{k}_{p1}}\arctan {{e}_{1}}+{{k}_{d1}}\arctan {{\xi }_{1}}\nonumber \\ {}&-\frac{1}{2}(m+{{m}_{l}})gL{{C}_{{{\eta }_{1}}}}){{{\dot{e}}}_{1}} \nonumber \\&\text { +}({{f}_{2}}+{{k}_{p2}}\arctan {{e}_{2}}+{{k}_{d2}}\arctan {{\xi }_{2}}\nonumber \\ {}&-\frac{1}{2}(m+{{m}_{l}})gL{{C}_{{{\eta }_{2}}}}){{{\dot{e}}}_{2}} \nonumber \\&\text { }-{{k}_{d1}}{{\xi }_{1}}\arctan {{\xi }_{1}}-{{k}_{d2}}{{\xi }_{2}}\arctan {{\xi }_{2}}. \end{aligned}$$
(44)

Therefore, we modify the controllers to construct the output feedback controllers as follows:

$$\begin{aligned} {{f}_{1}}=&-{{k}_{p1}}\arctan {{e}_{1}}-{{k}_{d1}}\arctan {{\xi }_{1}}\nonumber \\&+\frac{1}{2}(m+{{m}_{l}})gL{{C}_{{{\eta }_{1}}}}, \end{aligned}$$
(45)
$$\begin{aligned} {{f}_{2}}=&-{{k}_{p2}}\arctan {{e}_{2}}-{{k}_{d2}}\arctan {{\xi }_{2}}\nonumber \\&\text {+}\frac{1}{2}(m+{{m}_{l}})gL{{C}_{{{\eta }_{2}}}}, \end{aligned}$$
(46)

Remark 3

When comparing the control law (45) and (46) with the full-state feedback controller (21) and (22), it can be seen that the velocity signals \({{\dot{e}}_{1}}\) and \({{\dot{e}}_{2}}\) in (21) and (22) have been replaced by the auxiliary signal \({{\xi }_{1}}\) and \({{\xi }_{2}}\) successfully, and the constructed output feedback controller can be regarded as two output variables designed according to the system state variables \({{\eta }_{1}}\) and \({{\eta }_{2}}\); meanwhile, it can be regarded as an extension of the original full state feedback controller.

Remark 4

In fact, the control strategies are proposed to ensure that the input signals \(f_1, f_2\) are bounded. Since the function arctan(x) and cos(x) are bounded, the gain can be controlled by adjusting to meet the following conclusions: \(\frac{\pi }{2}{{k}_{p1}}+\frac{\pi }{2}{{k}_{d1}}+\frac{1}{2}(m+{{m}_{l}})gL\le {{f}_{1\max }},\) \(\frac{\pi }{2}{{k}_{p2}}+\frac{\pi }{2}{{k}_{d2}}+\frac{1}{2}(m+{{m}_{l}})gL\le {{f}_{2\max }}.\) Thus, the control inputs can be kept within the desired range. In practical application, the saturation of the controller can be prevented by adjusting the control parameters \(k_{p1}, k_{p2}, k_{d1}, k_{d2}\).

Remark 5

\({{k}_{p1}}\arctan {{e}_{1}}, {{k}_{p2}}\arctan {{e}_{2}}\) are the terms associated with the position error. As the position error decreases, it decreases until the error converges to 0. Therefore, Increasing \({{k}_{p1}}, {{k}_{p2}}\) will reduce the positioning errors of the system; however, they may also cause payload swings. \({{k}_{d1}}\arctan {{\dot{e}}_{1}}\) and \({{k}_{d2}}\arctan {{\dot{e}}_{2}}\) are the terms associated with the velocity error. Increasing \({{k}_{d1}}, {{k}_{d2}}\) will speed up the response of the system. However, if \({{k}_{d1}}, {{k}_{d2}}\) are too large, they will cause the system is not finite. It should also be noted that these control parameters will affect the upper bound of the controller input signal. Therefore, in general, we do not expect to choose too large control gain.

3.2.2 Stability analysis

Theorem 2

For dual ship-mounted crane systems shown by (17), the controllers (45) and (46) can achieve the expected control objectives, that is:

$$\begin{aligned}&\lim \limits _{t\rightarrow +\infty }{{\left[ {{\eta }_{1}},{{\eta }_{2}},{{\eta }_{3}},{{\eta }_{4}},{{\eta }_{5}},{{\dot{\eta }}_{1}},{{\dot{\eta }}_{2}},{{\dot{\eta }}_{3}},{{\dot{\eta }}_{4}},{{\dot{\eta }}_{5}}\right] }^{T}}\\&\quad ={{\left[ {{\eta }_{d}},{{\eta }_{d}},{{\eta }_{3d}},{{\eta }_{4d}},{{\eta }_{5d}},0,0,0,0,0\right] }^{T}}. \end{aligned}$$

Proof

By substituting (45) and (46) into (44), we can get:

$$\begin{aligned} \dot{V}=-{{k}_{d1}}{{\xi }_{1}}\arctan {{\xi }_{1}}-{{k}_{d2}}{{\xi }_{2}}\arctan {{\xi }_{2}}\le 0, \end{aligned}$$
(47)

thus, \(V(t)\le V(0)\). Since V(0) is bounded, \(V(t)\in {{L}_{\infty }}\). Based on this, the following conclusions can be drawn from Eq. (38) :

$$\begin{aligned}&{{\dot{\eta }}_{1}},{{\dot{\eta }}_{2}},{{\dot{\eta }}_{3}},{{\dot{\eta }}_{4}},{{\dot{\eta }}_{5}},{{\eta }_{1}},{{\eta }_{2}},{{\eta }_{3}},\nonumber \\&\quad {{\eta }_{4}},{{\eta }_{5}},{{e}_{1}},{{e}_{2}},{{\xi }_{1}},{{\xi }_{2}}\in {{L}_{\infty }}. \end{aligned}$$
(48)

Define a collection \(\varOmega _2 =\left\{ \left( {{q}_{0}},{{{\dot{q}}}_{0}} \right) |\dot{V}(t)=0 \right\} \), and remember that \(\tau _2 \) is the largest invariant set in \(\varOmega _2 \). According to Eq. (44), in \(\tau _2 \):

$$\begin{aligned} {{\xi }_{1}}={{\xi }_{2}}=0\Rightarrow {{\dot{\xi }}_{1}}={{\dot{\xi }}_{2}}=0. \end{aligned}$$
(49)

According to equations (43) and (49), it can be seen that:

$$\begin{aligned} \left\{ \begin{matrix} {{{\dot{\eta }}}_{1}}={{\xi }_{1}}=0, \\ {{{\dot{\eta }}}_{2}}={{\xi }_{2}}=0, \\ \end{matrix} \right. \Rightarrow \left\{ \begin{matrix} {{{\dot{e}}}_{1}}=0,{{{\dot{e}}}_{2}}=0,\\ \Rightarrow {{e}_{1}}={{\beta }_{5}},{{e}_{2}}={{\beta }_{6}}, \\ {{\eta }_{1}}={{\beta }_{7}},{{\eta }_{2}}={{\beta }_{8}}, \\ \end{matrix} \right. \end{aligned}$$
(50)

With some similar analysis in (25)-(37), one can finally derive the same conclusion in Theorem 1. Thus, the proof of Theorem 2 is completed. \(\square \)

4 Experimental results

In this section, we build a simulation model of the dual ship-mounted cranes in the MATLAB/Simulink environment to conduct numerical experiments, and provide experimental results to verify the effectiveness of the proposed method.

The physical parameters of the dual ship-mounted crane systems are configured as:

$$\begin{aligned}&{{m}_{l}}=2\mathrm{kg},~m =1\mathrm{kg},~L =0.5\mathrm{m},~l =0.8\mathrm{m}, \\&2a =0.2\mathrm{m},~2b =0.1\mathrm{m},~D =2\mathrm{m}. \end{aligned}$$

Experiment 1: Control performance test

The control gains and parameters of the full-state feedback controller are selected as:

$$\begin{aligned} {{K}_{p1}}=80,~{{K}_{p2}}=80,~{{K}_{d1}}=20,~{{K}_{d2}}=20. \end{aligned}$$

Without the loss of generality, the initial positions for cranes are selected as:

$$\begin{aligned} {{\left[ {{\eta }_{1}},{{\eta }_{2}},{{\eta }_{3}},{{\eta }_{4}},{{\eta }_{\text {5}}}\right] }^{T}}={{\left[ {{0}^{\circ }},{{0}^{\circ }},\text {3}{{\text {0}}^{\circ }},\text {-3}{{\text {0}}^{\circ }},\text {9}{{\text {0}}^{\circ }}\right] }^{T}} \end{aligned}$$

The equilibrium point of the system can be expressed explicitly as:

$$\begin{aligned}&{{\eta }_{1}}\text {=}{{\eta }_{2}}={{\eta }_{d}}\text {=2}{{\text {0}}^{\circ }}, \\&{{\eta }_{3d}}=\arcsin \frac{D-2L\cos [{{\eta }_{d}}]-2a}{2l}=\text {3}{{\text {3}}^{\circ }}, \\&{{\eta }_{\text {4}d}}{=-}{{\eta }_{3d}}={-3}{{\text {3}}^{\circ }},{{\eta }_{\text {5}d}}{=9}{{\text {0}}^{\circ }}, \\&{{f}_{id}}=\frac{1}{2}(m+{{m}_{l}})gLC_ {{\eta }_{1d}}=6.9N(i=1,2). \end{aligned}$$

The output feedback controller control gains and parameters are selected as:

$$\begin{aligned} {{K}_{p1}}=120,~{{K}_{p2}}=120,~{{K}_{d1}}=50,~{{K}_{d2}}=50. \end{aligned}$$

Specifically, the auxiliary variables of the output feedback controller are initialized:

$$\begin{aligned}&{{\omega }_{1}}(0)={{\omega }_{2}}(0)=0\Rightarrow \\&{{\xi }_{1}}(0)={{k}_{d1}}{{\eta }_{1}}(0)=0,~{{\xi }_{2}}(0)={{k}_{d2}}{{\eta }_{2}}(0)=0, \end{aligned}$$

In addition, to better verify the control performance of the proposed controller, an advanced nonlinear controller proposed in [35] is chosen as a comparative method. As shown in Figs. 2, 3 and 4, the booms and ropes can be rapidly steered toward their desired positions, respectively, under the proposed full-state and output feedback controllers, which perform better than the comparative nonlinear controller [35]. Specifically, through fair comparison, it can be seen that there have no up and down motions around the equilibrium positions, and the static positioning errors are almost nonexistent while the swing of the payload is basically restrained by means of the proposed controllers.

Fig. 2
figure 2

Experiment group 1 (Control performance test): Results of the proposed full-state feedback controller (blue solid lines denote: experimental results, red dashed lines: target values)

Fig. 3
figure 3

Experiment group 1 (Control performance test): Results of the proposed output feedback controller (blue solid lines denote: experimental results, red dashed lines: target values)

Fig. 4
figure 4

Experiment group 1 (Control performance test): Results of the comparative controller in [35] (blue solid lines denote: experimental results, red dashed lines: target values)

Experiment 2: Robustness test

Owing to the variables and other parameters are not accurate in some practical situations, it is necessary to further test and analyze the robustness of the proposed control method.

Case A: In this experiment, the payload mass is changed to 10 kg to validate the robustness of the suggested control approach against parametric uncertainties.

Keeping the model parameters unchanged except the load mass. When \(m=10\) kg, setting the control gain of the full-state feedback controller as: \({{K}_{p1}}=800,{{K}_{p2}}=800,{{K}_{d1}}=200,{{K}_{d2}}=200\); when \(m=1\) kg, setting the control gain of the full-state feedback controller as: \({{K}_{p1}}=120,{{K}_{p2}}=120,{{K}_{d1}}=50,{{K}_{d2}}=50\). The experimental results are shown in Fig. 5, blue solid lines are experimental results for \(m=10\) kg, and red dash lines are experimental results for \(m=1\) kg. As we can see, the control effects of the full-state feedback controller are not affected by the mass change.

Fig. 5
figure 5

Experiment group 2 (Robustness test): Results of the proposed full-state feedback controller (blue solid lines denote: experimental results for \(m=10\) kg, red dashed lines: experimental results for \(m=1\) kg)

In the mass robustness experimental of the output feedback controller, other parameters except load mass are kept constant. When \(m=10\) kg, setting the control gain of the output feedback controller as: \({{K}_{p1}}=1500,{{K}_{p2}}=1500,{{K}_{d1}}=800,{{K}_{d2}}=800\); when \(m=1\) kg, setting the control gain of the output feedback controller as: \({{K}_{p1}}=120,{{K}_{p2}}=120,{{K}_{d1}}=50,{{K}_{d2}}=50\). The experimental results are shown in Fig. 6, blue solid lines are experimental results for \(m=10\) kg, and red dash lines are experimental results for \(m=1\) kg. It can be seen that under the action of the output feedback controller, the control effects of system are not affected by the mass change.

Fig. 6
figure 6

Experiment group 2 (Robustness test): Results of the proposed output feedback controller (blue solid lines denote: experimental results for \(m=10\) kg, red dashed lines: experimental results for \(m=1\) kg)

Case B: In this experiment, changing the length of the rope to 1.5 m and keeping the other parameters of the system the same.

Due to the rope length change, resetting the initial position of the cranes to select as: \({{[{{\eta }_{1}},{{\eta }_{2}},{{\eta }_{3}},{{\eta }_{4}},{{\eta }_{\text {5}}}]}^{T}}={{[{{0}^{\circ }},{{0}^{\circ }},{{15.5}^{\circ }},\text {-15}\text {.}{{\text {5}}^{\circ }},\text {9}{{\text {0}}^{\circ }}]}^{T}}\). Then the balance points of the system are updated as:

$$\begin{aligned}&{{\eta }_{1}}\text {=}{{\eta }_{2}}={{\eta }_{d}}\text {=2}{{\text {0}}^{\circ }}, \\&{{\eta }_{3d}}=\arcsin \frac{D-2L\cos [{{\eta }_{d}}]-2a}{2l}=\text {16}\text {.}{{\text {7}}^{\circ }} \\&{{\eta }_{\text {4}d}}\text {=-}{{\eta }_{3d}}=\text {-16}\text {.}{{\text {7}}^{\circ }},{{\eta }_{\text {5}d}}\text {=9}{{\text {0}}^{\circ }}. \end{aligned}$$

For the full-state feedback controller, setting the control gain as: \({{K}_{p1}}=800,{{K}_{p2}}=800,{{K}_{d1}}=200,{{K}_{d2}}=200\). Under the effect of the full-state feedback controller, the experimental results are shown in Fig. 7, As we can see, after the length of the ropes are changed, the arms can still reach the desired position within 1s, and the swing of the ropes and the load is also restrained in a small range during transportation.

Fig. 7
figure 7

Experiment group 2 (Robustness test): Results of the proposed full-state feedback controller (blue solid lines denote: experimental results for \(l=1.5\) m, red dashed lines: target results)

For the output feedback controller, setting the control gain as: \({{K}_{p1}}=200,{{K}_{p2}}=200,{{K}_{d1}}=50,{{K}_{d2}}=50\). Under the effect of the output feedback controller, the experimental results are shown in Fig. 8. Similarly, after the length of the ropes are changed, the arms can still reach the desired position within 1s, and the swing of the ropes and the load is also restrained in a small range during transportation.

Fig. 8
figure 8

Experiment group 2 (Robustness test): Results of the proposed output feedback controller (blue solid lines denote: experimental results for \(l=1.5\) m, red dashed lines: target results)

This indicates that the two controllers can suppress payload swing, achieve accurate positioning, and are robust to unmodeled dynamics.

Experiment 3: Wave interference test

Keeping experiment 1 parameter unchanged and select:

$$\begin{aligned} \alpha _1=5\sin t,~\alpha _2=10\sin t. \end{aligned}$$

Setting the control gain of the full-state feedback controller as: \({{K}_{p1}}=80,{{K}_{p2}}=80,{{K}_{d1}}=20,{{K}_{d2}}=20\). And setting the control gain of the output feedback controller as: \({{K}_{p1}}=120,{{K}_{p2}}=120,{{K}_{d1}}=50,{{K}_{d2}}=50\). The experimental results are shown in Fig. 9. The payload can still be transported to the desired location, and the swing is suppressed within about 1 seconds. It is shown that the two controllers can suppress the wave disturbance, restrain the swing of the payload, and realize accurate positioning.

Fig. 9
figure 9

Experiment group 3 (Wave interference test): Results of proposed controllers (blue solid lines denote: experimental results of full-state feedback controller, green dotted lines: experimental results of output feedback controller, red dashed lines: target results)

5 Conclusion

In order to solve the problem of large payload lifting in marine environment, the model of dual ship-mounted crane systems are derived. According to different actual requirements, a full-state feedback controller and an output feedback controller which can ensure the asymptotic stability of the desired equilibrium point are proposed. And the proposed control methods realize the precise positioning of the boom and the suppression of the payload swing. A nonlinearized operation bounded output feedback controller based on the original nonlinear dynamics design is proposed in this paper to achieve effective control of the dual ship-mounted crane systems. Utilizing Lyapunov-based mathematical analysis, it is concluded that the equilibrium point of the closed-loop system is asymptotically stable. Finally, the effectiveness of the proposed methods are both verified by numerous compared experimental results. In order to further improve the control performance, the problems of rope length variation will be further considered in the future researches. In addition, the control gain of the proposed control method needs to be adjusted manually. Hereto, we will consider to introduce more intelligent control methods such as neural network and reinforcement learning into the controller design.