1 Introduction

Articulated cranes (ACs) are widely used in industrial operations, allowing for temporary access to the air and making aerial work safe and easy [1]. The tip of the AC can be moved up or down to a desired height by the cooperative luffing of its arms. AC can be used for a variety of tasks, equipped at the tip with different tools or containers. Occasionally, the task may be challenging, such as sending a container with liquid to a specific position in the air without spilling water, which is when AC precise dynamic performance is desired. Trajectory planning for ACs can output desired smooth trajectories. If the arms move according to the desired trajectories during the entire process, the AC will reach the target without spilling water [2, 3]. The key to achieving this goal is to design a tracking control with desired dynamic control performance (DDCP). Since AC is necessary for aerial working and its DDCP is closely related to the safety and stability of working at height, it is essential to ensure the DDCP by AC control. Therefore, this study was aimed at controlling ACs to track desired trajectories while guaranteeing the desired dynamic control performance (DDCP).

Owing to the complex structure of an AC, its dynamic model exhibits strong nonlinearity [4,5,6]. Considering the nonlinear dynamics, its control is a tough but attractive topic [7,8,9,10]. Generally, there are two types of control for cranes, open- and closed-loop controls [11]. Open-loop control schemes have been extensively studied, mainly to reduce the sway or oscillation of payload [12]. For example, Osiński and Wojciech [13] designed an input-shaping algorithm for an offshore crane. Vaughan et al. [14] used a command shaper for the nonlinear slewing motion of a tower crane. Open-loop schemes are easy to implement and do not require feedback information, but their performance may be disturbed by uncertainty [15].

In practical AC system [16], uncertainty, such as a change in payload mass, is inevitable. The uncertainty of ACs is characterized by (possibly rapid and irregular) time-varying and unknown bounds [17]. The uncertainty could considerably degrade the performance of the control system if not properly handled [18]. To help the system resist uncertainty, closed-loop schemes using feedback information are necessary for control [19,20,21]. Among these closed-loop control schemes, recently, the sliding mode control (SMC) has been generally used. For example, Tian et al. [22] proposed an online robust adaptive SMC, estimating an unknown payload mass and eliminating its disturbances. Previously [23], an adaptive integral SMC was proposed for a tower crane with uncertainty. Although SMC has been confirmed to be effective in enabling the controlled system to converge in a steady state, it may cause control input chattering, resulting in unexpected vibration, and consequently, water spilling.

The constraint-based control (CBC), originating form a study by Chen et al. [25], is more effective for controlling nonlinear mechanical systems, and its control input satisfies the Gauss minimum principle and the Lagrange’s form of D’Alembert’s principle, thereby exhibiting a modest control magnitude. By formulating tracking tasks as equality servo constraints, the adaptive CBC [24, 26] demonstrates its ability to achieve trajectory tracking for nonlinear mechanical systems subject to uncertainty [27]. Sun et al. [28] designed a leakage-type adaptive CBC for uncertain underactuated systems. Sun et al. [29] proposed a similar control for systems with high nonlinearity and optimized the control parameters to improve performance. These CBC studies demonstrated modest control input, rigorous control design processes, and the steady-state convergence of controlled systems. Nevertheless, there is still a gap between the existing methods and the control objectives of the present study, i.e., they cannot regulate the dynamic performance during the convergence history [30]. Therefore, the DDCP cannot be guaranteed.

It is difficult to control ACs to robustly achieve trajectory tracking while guaranteeing the DDCP in the presence of (possibly rapid and irregular) time-variant uncertainty with unknown bounds. No solution has been reported regarding this, to the best of our knowledge [26,27,28,29,30].

Here, an adaptive diffeomorphism-constraint-based control (ADCBC) was designed for an AC to robustly achieve trajectory tracking while guaranteeing the DDCP in the presence of (possibly rapid and irregular) time-variant uncertainty with unknown bounds. To guarantee the DDCP, we required the steady-state tracking error to converge to a predefined area near zero, and the dynamic convergence speed was no less than a predefined certain value. A user-definable hard-limiting function prescribed the steady-state tracking error and dynamic convergence speed, and the DDCP was guaranteed by an equality servo constraint, which limited the tracking error to less than the value of the hard-limiting function during the entire process. Trajectory tracking is translated as a series of equality servo constraints, whereas the DDCP is formulated as a series of inequality servo constraints. We incorporated inequality servo constraints into equality servo constraints by “diffeomorphism”, denoting a continuously differentiable map with a continuously differentiable inverse [31]. New servo constraints are free from inequality servo constraints in mathematical form. Therefore, an ADCBC for the transformed AC with the new equality servo constraints was subsequently designed, including an adaptive law for the estimation of online uncertainty bounds to compensate for uncertainty.

The contributions of this study are as follows:

  1. (1)

    For the first time, as far as we know, the DDCP problem in the trajectory tracking of uncertain AC-like systems was studied and resolved with a user-definable hard-limiting function to prescribe the steady-state tracking error and dynamic convergence speed.

  2. (2)

    We innovatively formulated the desired trajectories and DDCP as equality and inequality servo constraints, respectively, and a diffeomorphism approach was adopted to incorporate inequality servo constraints into equality servo constraints, yielding an ADCBC method for controlling uncertain ACs while guaranteeing the DDCP.

  3. (3)

    Through the Lyapunov analysis, it was rigorously confirmed that the controlled system was uniformly bounded and uniformly ultimately bounded. Compared with other recent control methods, the simulation results further demonstrated the superiority of the proposed method in ensuring trajectory tracking while guaranteeing the DDCP, considering the strong nonlinearity, and uncertainty of the dynamic system.

2 Problem formulation

2.1 Dynamic model of an AC

An AC model is illustrated in Fig. 1, comprising two degrees of freedom (DOFs): \({q_1}\) and \({q_2}\) for the luffing angles of the main and auxiliary booms, respectively. The lengths of the main and auxiliary booms were L and l, respectively. There was a fixed angle, \(\rho \), between the auxiliary boom and the container. \({m_1}\), \({m_2}\), and m represent the masses of the main boom, auxiliary boom, and container, respectively. m changes when an unknown payload mass is placed in the container. The values of \({m_1}\), \({m_2}\), L, l, and \(\rho \) may be measured with errors. These form the uncertainty of the AC system.

Fig. 1
figure 1

Dynamic model of the AC

The dynamic model of an AC with uncertainty can be described as

$$\begin{aligned} \begin{aligned}&M(q(t),\delta (t))\ddot{q}(t) + C(\dot{q}(t),q(t),\delta (t))\dot{q}(t)\\&\quad + G(q(t),\delta (t)) = u(t), \end{aligned} \end{aligned}$$
(1)

where \(q\in {R^2}\), \(\dot{q} \in {R^2}\) and \(\ddot{q} \in {R^2}\) are the state, velocity, and acceleration vectors, respectively; \(t \in R\) is the time, an independent variable; \(\delta \in {R^m}\) is the uncertainty vector, which is (possibly rapid and irregular) time-variant, bounded with unknown bounds \(\Omega _{\delta }\), and may include system parameters and external disturbances. In addition, \(u\in {R^2}\) represents the control input; the matrices, \(M \in {R^{2 \times 2}}\), \(C \in {R^{2 \times 2}}\), and \(G \in {R^2}\), are related to \(\dot{q}(t)\), q(t), and uncertainty \(\delta (t)\), respectively. The relationship between G and q is nonlinear, and cannot be written as Gq. Therefore, the AC system was nonlinear. The vectors and matrices are as follows, and their detailed expressions are given in Appendix A.

$$\begin{aligned} q= & {} [ q_1,\ q_2 ]^T, G = {\left[ {G_1,G_2} \right] ^T}, u = {\left[ {u_1,u_2} \right] ^T},\\ M= & {} \left[ {\begin{array}{*{20}{c}} {{M_{11}}}&{}{{M_{12}}}\\ {{M_{21}}}&{}{{M_{22}}}\\ \end{array}} \right] , C = \left[ {\begin{array}{*{20}{c}} {{C_{11}}}&{}{{C_{12}}}\\ {{C_{21}}}&{}{{C_{22}}} \end{array}} \right] . \end{aligned}$$

2.2 Desired trajectories

The luffing angle of the main boom must reach the destination position, \({q_1^d}\), while the luffing angle of the auxiliary boom, \({q_2} \), must change with \({{q_1}}\) to keep the container upright during the entire process (illustrated in Fig. 1), demanding

$$\begin{aligned} \mathop {\lim }\limits _{t \rightarrow \infty } {q_1}\left( t \right) = {q_1^d}, \quad {q_2} \left( t \right) =\rho - {q_1} \left( t \right) . \end{aligned}$$
(2)

Considering the stability of the AC, the luffing velocities of the two booms should be zero after arrival, i.e.,

$$\begin{aligned} \mathop {\lim }\limits _{t \rightarrow {t_d}} {\left[ {\begin{array}{*{20}{c}} {\dot{q_1} (t)}&{\dot{q_2} (t)} \end{array}} \right] ^T} = {\left[ {\begin{array}{*{20}{c}} 0&0 \end{array}} \right] ^T}, \end{aligned}$$
(3)

where \({t_d}\) is the reaching time.

An available trajectory for the states of the AC is the cycloid curve to meet all the aforementioned requirements [9]. Thus, the following cycloid curve was employed to describe the desired trajectories.

$$\begin{aligned} \begin{aligned}&P_{1}(t)= {\left\{ \begin{array}{ll}\left( q_1^d-q_1^0\right) \left( \frac{t}{t_{d}}-\frac{\sin \left( 2 \pi t / t_{d}\right) }{2 \pi }\right) +q_1^0\\ if \quad t<t_{d}, \\ q_1^d\\ if \quad t \ge t_{d}. \end{array}\right. } \\&P_{2}(t)=\rho -P_{1}(t). \end{aligned} \end{aligned}$$
(4)

where \( q_1^0 \) is the start position of the main boom, and \(P\left( t\right) = \left[ {P_{1}\left( t \right) ,{P_{2}}\left( t \right) } \right] \). Consequently, \(\dot{P}\left( t \right) = \left[ {{\dot{P}_{1}}\left( t \right) ,{\dot{P}_{2}}\left( t \right) } \right] \), \({\ddot{P}}\left( t \right) = \left[ {\ddot{P}}_{1}(t),{\ddot{P}}_{2}(t) \right] \), and there are

$$\begin{aligned}{} & {} \begin{array}{ll} \dot{P}_{1}(t) = {\left\{ \begin{array}{ll}\frac{\left( q_1^d-q_1^0\right) }{t_{d}}\left( 1-\cos \left( 2 \pi t / t_{d}\right) \right) \\ if \quad t<t_{d}, \\ 0 \\ if \quad t \ge t_{d}. \end{array}\right. } \\ \dot{P}_{2}(t)=-\dot{P}_{1}(t). &{} \end{array} \end{aligned}$$
(5)
$$\begin{aligned}{} & {} \begin{aligned} {\ddot{P}}_{1}(t)&=\left\{ \begin{array}{lr} \frac{2 \pi \left( q_1^d-q_1^0\right) }{t_{d}^{2}} \sin \left( 2 \pi t / t_{d}\right) , \\ if \quad t<t_{d} \\ 0, \\ if \quad t \ge t_{d}. \end{array}\right. \\ {\ddot{P}}_{2}(t)&=-{\ddot{P}}_{1}(t). \end{aligned} \end{aligned}$$
(6)

Remark 1

At \(t={t_d}\), \(\left( {1 - \cos \left( {2\pi t/{t_d}} \right) } \right) =0\) and \(\sin \left( {2\pi t/{t_d}} \right) =0\). Therefore, the designed trajectories were second-order continuously differentiable in the entire time range, which was critical to the diffeomorphism approach subsequently proposed.

2.3 Trajectory tracking while guaranteeing the DDCP

For tracking control to drive the states (\(q \in {R^2}\)) tracking the desired trajectories (\(P \in {R^2}\)), the system, Eq. (1), was required to follow a class of equality servo constraints as

$$\begin{aligned} |{q_i} \left( t \right) - {P_i}\left( t \right) |= 0 \begin{array}{*{20}{c}} {}&{i = 1,2}. \end{array} \end{aligned}$$
(7)

This study was aimed at controlling an AC to track the desired trajectories while guaranteeing the DDCP. Furthermore, initial state deviation, and uncertainty are unavoidable for an AC, leading to a complicated control problem.

Problem formulation. The problem is formulated as follows: designing a control (\(u \in {R^2}\)), in the presence of the initial state deviation and (possibly rapid and irregular) time-variant uncertainty (\(\delta \in {R^m}\)) bounded with unknown bounds (\(\Omega _{\delta }\)), to drive the states of AC (\(q \in {R^2}\)) tracking the desired trajectories (\(P \in {R^2}\)) while guaranteeing the DDCP.

3 Tracking control design

Next, the control for the AC to track the desired trajectories while guaranteeing the DDCP was designed based on a diffeomorphism approach, a CBC scheme, and an adaptive law.

3.1 Formulation and management of the DDCP

The DDCP can be translated as that the steady-state tracking error converges to a predefined area near zero, and the dynamic convergence speed is no less than a predefined certain value. If a user-definable hard-limiting function prescribes the steady-state tracking error and dynamic convergence speed, the DDCP can be formulated by an equality servo constraint, which limits the amplitude of tracking error to less than the value of the hard-limiting function during the entire process. The user-definable hard-limiting functions \((i=1,2)\) were adopted as

Fig. 2
figure 2

Illustration of an inequality servo constraint while guaranteeing the DDCP

$$\begin{aligned} {\vartheta _i}\left( t \right) = \left( {{\vartheta _{i0}} - {\vartheta _{i\infty }}} \right) {e^{ - {h_i}t}} + {\vartheta _{i\infty }}, \end{aligned}$$
(8)

where \({h_i}\) are positive constants, determining the dynamic convergence speed. \({\vartheta _{i0}}\) were determined such that the initial states satisfied Eq. (9). \(\mathop {\lim }\limits _{t \rightarrow \infty } {\vartheta _i}\left( t \right) ={\vartheta _{i\infty }}\); thus, \({\vartheta _{i\infty }}\) determined the ultimate convergence region.

Consequently, the DDCP can be formulated by an inequality servo constraint (Fig. 2):

$$\begin{aligned} \begin{aligned} {P_i}( t ) - {\vartheta _i} ( t )&< { q_i } ( t )< {P_i}( t ) + {\vartheta _i} ( t ),\\ or \quad - {\vartheta _i} ( t )&< { q_i } ( t ) - {P_i}( t ) < {\vartheta _i} ( t ). \end{aligned} \end{aligned}$$
(9)

Remark 2

Here, the trajectory tracking task was translated as a series of equality servo constraints for the states of the AC, whereas the DDCP was translated as a series of inequality servo constraints (Eq. 9) with user-definable hard-limiting functions (Eq. 8).

Fig. 3
figure 3

The diffeomorphism approach

The DDCP can be managed based on a diffeomorphism approach (Fig. 3) by incorporating the inequality servo constraints into equality servo constraints. Given two manifolds, \({f_1}\), and \({f_2}\), there was an invertible map, \(F:{f_1} \rightarrow {f_2}\), with its inverse as \({F^{ - 1}}:{f_2} \rightarrow {f_1}\). If F and \({F^{ - 1}}\) were continuously differentiable, map F was called a diffeomorphism. A diffeomorphism approach can transform the states from one coordinate space to another. Using the approach of this characteristic of diffeomorphism, multiple constraints can be combined, and the inequalities can be relaxed if an appropriate map is chosen to transform the states (maybe under equality and inequality constraints) into unrestricted descriptions. A diffeomorphism approach is proposed as

$$\begin{aligned} \begin{array}{*{20}{c}} {{x_i}\left( q,t \right) : = \hbox {artanh} \frac{{q_i}(t) - {P_i}(t)}{\vartheta _i (t)} }, \end{array} \end{aligned}$$
(10)

where \( i = 1,2 \), \(x = \left[ {{x_1},{x_2}} \right] ^T\). It was discovered that when \({\Xi _i} \rightarrow {\vartheta _i}\), \({x_i} \rightarrow \infty \); when \( ( q_i - P_i ) \rightarrow - {\vartheta _i}\), \( ( q_i - P_i ) \rightarrow - \infty \); when \( q_i - P_i = 0\), \({x_i} = 0\). The transformed states \({x_i}\) were in an unrestricted range. Furthermore, this transformation was smooth and bijective (one-to-one). Based on this diffeomorphism approach, if the control can ensure that \( {x_i} ( t ) \) is bounded for the transformed AC, it can also ensure that the original AC converges to the servo constraint (Eq. 7) and guarantees the DDCP (Eq. 9) all the time.

According to Eq. (10), there was

$$\begin{aligned} {q_i} = {\vartheta _i} \tanh {x_i} + {P_i}, \end{aligned}$$
(11)

Equation (11) was differentiated once and twice with respect to time, yielding the following set of equations:

$$\begin{aligned} {\dot{q}_i}= & {} {{\dot{\vartheta }}_i} \tanh {x_i} + {\vartheta _i} {\dot{x}_i} + {\dot{P}_i}, \end{aligned}$$
(12)
$$\begin{aligned} {\ddot{q}_i}= & {} {\ddot{\vartheta }_i} \tanh {x_i} + {{\ddot{P}}_i} \nonumber \\{} & {} + \left( 2 {{\dot{\vartheta }}_i} {\dot{x}_i} + {\vartheta _i} {\ddot{x}_i} - 2 {\vartheta _i} {\dot{x}_i}^2 \tanh x_i \right) h, \end{aligned}$$
(13)

where \( h_i= 1 - \tanh ^2 {x_i}\), \( i=1,2 \).

Substituting Eqs. (1113) into Eq. (1), the transformed AC was obtained as

$$\begin{aligned} \begin{aligned}&{\Theta }(x(t),\delta (t),t)\ddot{x}(t) + {\textrm{X}}(\dot{x}(t),x(t),\delta (t),t)\dot{x}(t)\\&\quad + \Gamma (x(t),\delta (t),t) = u(t) \end{aligned}, \end{aligned}$$
(14)

where

$$\begin{aligned} \Theta = \left[ {\begin{array}{*{20}{c}} { \vartheta _1 h_1 {M_{11}} } &{} { \vartheta _2 h_2 {M_{12}} }\\ { \vartheta _1 h_1 {M_{21}} } &{} { \vartheta _2 h_2 {M_{22}}} \end{array}} \right] . \end{aligned}$$
(15)

Remark 3

The necessary and sufficient condition for the invertibility of a matrix is that its determinant should not be zero. \( |{\Theta } |= \left( {{M_{11}}{M_{22}} - {M_{12}}{M_{21}}} \right) {\vartheta _1}{\vartheta _2} h_1 h_2 \). \({\vartheta _i}>0\) and \( h_i>0 \). Thus, the necessary and sufficient condition for the invertibility of matrix \({\Theta }\) was \({M_{11}}{M_{22}} \ne {M_{12}}{M_{21}}\). \( |M |= {M_{11}}{M_{22}} - {M_{12}}{M_{21}}\); thus, the necessary and sufficient conditions for the invertibility of M were also \({M_{11}}{M_{22}} \ne {M_{12}}{M_{21}}\). The detailed proof of \({M_{11}}{M_{22}} - {M_{12}}{M_{21}} > 0\) is shown in Appendix B. Consequently, M, and \({\Theta }\) were invertible.

The problem formulated in Sect. 2.3 was equivalent to enabling the transformed AC system (Eq. 14) to follow the following servo constraints:

$$\begin{aligned} {\dot{x}_i}(t) + {\xi _i}{x_i}(t) = 0,\begin{array}{*{20}{c}} {}&{i = 1,2}, \end{array} \end{aligned}$$
(16)

or, in matrix form, as

$$\begin{aligned} \dot{x} = c\left( {x} \right) , \end{aligned}$$
(17)

with \(c = {\left[ { - {\xi _1}{x_1}, - {\xi _2}{x_2}} \right] ^T}\). The second-order form of Eq. (17) was obtained as

$$\begin{aligned} \ddot{x} = b\left( {\dot{x}} \right) , \end{aligned}$$
(18)

with \(b = {\left[ { - {\xi _1}{{\dot{x}}_1}, - {\xi _2}{{\dot{x}}_2}} \right] ^T}\). \({\xi _{1,2} } \in (0,\infty )\) are constants.

Remark 4

The CBC views the nonlinear control problem from the perspective of servo constraints. Dissimilar to the passive constraint, which indicates what kind of impact the environment will have on the system, the servo constraint indicates what the control should do to the system. Thus, the constraint force was the control force, and the servo constraint was translated as the control goal. The CBC approach enabled the control force to satisfy Gauss’s minimum principle and Lagrange’s form of D’Alembert’s principle [25]; thus, it was a modest control input.

3.2 Guaranteeing the DDCP for a nominal AC

A nominal system is a system that is accurately described by its model, with no uncertainty, and its initial state conditions match its desired trajectories.

The \({\Theta }\), \({\textrm{X}}\) and \(\Gamma \) in system Eq. (14) were decomposed as follows:

$$\begin{aligned} \begin{aligned} \left\{ \begin{aligned} \Theta (x, \delta ,t) \quad&= \Theta ^{N}(x,t)+ \Theta ^{\Delta }(x, \delta ,t) \\ {\textrm{X}} (\dot{x}, x, \delta ,t)&= {\textrm{X}} ^{N}(\dot{x}, x,t)+ {\textrm{X}} ^{\Delta }(\dot{x}, x, \delta ,t) \\ \Gamma (x, \delta ,t) \quad&=\Gamma ^{N}(x,t)+\Gamma ^{\Delta }(x, \delta ,t) \\ \end{aligned}\right. \end{aligned} \end{aligned}$$
(19)

where superscripts N and \(\Delta \) represent nominal portions (without uncertainty) and uncertain portions, respectively. \(\Theta ^{N}>0\), which is always feasible since the nominal portion is the designer’s discretion.

The nominal transformed AC can be expressed as

$$\begin{aligned} \begin{aligned}&{{\Theta }^N}(x,t)\ddot{x}(t) + {\textrm{X}^N}(\dot{x},x,t)\dot{x}(t)\\&\quad + {\Gamma ^N}(x,t) = u(t). \end{aligned} \end{aligned}$$
(20)

Theorem 1

(Proof is available in Appendix C) The nominal transformed AC (Eq. 20) was servo constraint controllable [30] with respect to constraint Eq. (18) for all \(\left( {\dot{x},x,t} \right) \in {R^2} \times {R^2} \times R\), and the corresponding control was

$$\begin{aligned} \begin{aligned} {\tau _1}= { \Theta ^N } \left[ b + D \left( {{\textrm{X}}^N} \dot{x} + {\Gamma ^N} \right) \right] , \end{aligned} \end{aligned}$$
(21)

where \(D(x,t): = {\left( {{{\Theta }^N}(x,t)} \right) ^{ - 1}}\).

3.3 Managing initial state deviation and uncertainty

The proposed tracking control guaranteeing the DDCP for the AC, accounting for the initial state deviation and uncertainty, is as follows. If the system performance of transformed AC is

$$\begin{aligned} \varepsilon : = \dot{x} - c, \end{aligned}$$
(22)

and the following control is proposed to deal with possible initial state deviation:

$$\begin{aligned} {\tau _2 } = - \kappa {{\Theta }^N }{Q^{ - 1}}\varepsilon , \end{aligned}$$
(23)

where \(\kappa \in \left( {0,\infty } \right) \) is constant; \(Q \in R_{}^{2 \times 2}\) is a given matrix, and \(Q > 0\). We defined

$$\begin{aligned}{} & {} E(x,\delta ,t ): = {{\Theta }^N}\left( {x,t} \right) \times {\left( {{\Theta }(x,\delta ,t )} \right) ^{ - 1}} - I, \end{aligned}$$
(24)
$$\begin{aligned}{} & {} \begin{aligned} \hat{D}(x,\delta ,t )&: = \left( {\Theta }(x,\delta ,t ) \right) ^{ - 1} - \left( {{{\Theta }^N}\left( {x,t} \right) } \right) ^{ - 1} \\&= D(x,t)E(x,\delta ,t). \end{aligned} \end{aligned}$$
(25)
$$\begin{aligned}{} & {} \begin{aligned} \hat{W}&:= Q \hat{D} \Theta ^{N} Q^{-1}, \\ W&:=\frac{1}{2}\mathop {\min }\limits _{\delta \in {\Omega _\delta }} {\lambda _{\min }}\left( \hat{W} + \hat{W} ^T \right) . \end{aligned} \end{aligned}$$
(26)

Assumption 1

There is (possibly unknown) constant \(\sigma > - 1\) such that for all \(\left( {\dot{x},x,t} \right) \in {R^2} \times {R^2} \times R\),

$$\begin{aligned} W \ge \sigma , \end{aligned}$$
(27)

where \({\lambda _{\min }}\) denotes the minimum eigenvalue of the matrix, whereas \({\lambda _{\max }}\) denotes the maximum eigenvalue.

Remark 5

Constant \(\sigma \) was unknown since the uncertainty bound was unknown. If \({\Theta }={\Theta }^N\) (i.e., no uncertainty), \(\hat{D}=0\), \(W=0\); thus, \(\sigma \) could be zero. Equation (27) indicates the effect of uncertainty on the possible deviation of \(\Theta \) from \(\Theta ^{N}\) to be within a certain threshold, which is unidirectional.

Notably, the terms in \(\Theta \), \(\textrm{X} \dot{x}+\Gamma \) were either constant, states and velocities, or quadratic. Similar to a previous study [26], there was an unknown constant vector (\(\alpha \in \left( 0,\infty \right) ^3\)) and a known function

$$\begin{aligned} \begin{aligned}&Z (\alpha , \dot{x}, x,t) \\&\quad = \alpha _{1}(\Vert \dot{x}\Vert +1)^{2}+\alpha _{2}(\Vert x\Vert +1)^{2}+\alpha _{3} \\&\quad = {\left[ \begin{array}{lll} \alpha _{1}&\alpha _{2}&\alpha _{3} \end{array}\right] \left[ (\Vert \dot{x}\Vert +1)^{2}(\Vert x\Vert +1)^{2} \quad 1\right] ^{T} } \\&\quad = \alpha ^{T} \tilde{Z}(\dot{x}, x,t), \end{aligned} \end{aligned}$$
(28)

such that for all \(\left( {\dot{x},x,t} \right) \in {R^2} \times {R^2} \times R\),

$$\begin{aligned} \begin{aligned}&{\left( {1 + \sigma } \right) ^{ - 1}} \mathop {\max }\limits _{\delta \in {\Omega _\delta }} \left\| Q \hat{D} \left( { - {\textrm{X}}\dot{x} - \Gamma + {\tau _1} + {\tau _2}} \right) \right. \\&\quad \left. + QD\left( { - {{\textrm{X}}^\Delta }\dot{x} - {\Gamma ^\Delta }} \right) \right\| \le Z\left( {\alpha ,\dot{x},x,t} \right) . \end{aligned} \end{aligned}$$
(29)

Remark 6

Function \( Z \left( {\alpha ,\dot{x},x,t} \right) \) may be interpreted as the uncertainty bound. \(\alpha \) was unknown since the uncertainty bound was unknown.

We propose the control as

$$\begin{aligned} u = \tau _{1}+\tau _{2}+\tau _{3}. \end{aligned}$$
(30)

with a component to deal with uncertainty as

$$\begin{aligned} \begin{aligned} {\tau _3} = - {\Theta }^N {Q^{ - 1}} \eta \gamma Z, \end{aligned} \end{aligned}$$
(31)

where

$$\begin{aligned}{} & {} \gamma =\varepsilon Z, \end{aligned}$$
(32)
$$\begin{aligned}{} & {} \eta \left( {{\tilde{\alpha }},\dot{x},x,t} \right) = \left\{ {\begin{array}{*{20}{c}} \dfrac{1}{\left\| \gamma \right\| } &{} {\mathrm{{if}} \left\| \gamma \right\| > \phi }\\ \dfrac{1}{\phi } &{}{\mathrm{{if }}\left\| \gamma \right\| \le \phi } \end{array}} \right. , \end{aligned}$$
(33)

constant \(\phi >0\). \({\tilde{\alpha }} \) was the estimated value of \(\alpha \), and \({\tilde{\alpha }}_{1,2,3} \left( {t_0}\right) > 0\). \(k_{1,2} \in R\), and \(k_{1,2}>0\). The adaptive law governing \({\tilde{\alpha }} \) was given as

$$\begin{aligned} \dot{{\tilde{\alpha }} } = {k_1}{\tilde{Z}} \left\| \varepsilon \right\| - {k_2} {\tilde{\alpha }}. \end{aligned}$$
(34)

Remark 7

The control includes three portions, \({\tau _1}\), \({\tau _2}\) and \({\tau _3}\). Among them, \({\tau _1}\) is the nominal system control, \({\tau _2}\) deals with initial state deviations, and \({\tau _3}\) deals with uncertainty with the help of \({\tilde{\alpha }} \). \({\tilde{\alpha }} \) tends to emulate \(\alpha \) online, which corresponds to the unknown uncertainty bounds.

Remark 8

The adaptive law Eq. (34) was designed to estimate the unknown uncertainty bounds in an online fashion, hence the adaptive robust control. The adaptive law was of the leakage type, where the first term on the right-hand side (RHS) was for the uncertainty compensation, and the second term was the leak. The tunable parameters \({k_1}\) and \({k_2}\) were the rates of compensation and leakage, respectively. The initial states (\({\tilde{\alpha }} \left( {{t_0}} \right) \)) were strictly positive, and \({{\tilde{\alpha }} _i}\left( t \right) > 0\) for all \(t \ge {t_0}\) since the first term on the RHS was always nonnegative and the second term caused decay. With a large tracking error, the first term dominated, and increased the \({\tilde{\alpha }} \) to reduce the tracking error. When the tracking error was small enough, the second term dominated, and decreased the adaptive parameter to prevent the control effort from being excessively large.

Theorem 2

(Proof is available in Appendix D) Let \(\psi :=\left[ {\varepsilon ^T},{{\left( {{\tilde{\alpha }} - \alpha } \right) }^T} \right] ^T \in R^{2+3}\). The control in Eq. (30) rendered the system Eq. (14) the stability performance as

Uniform boundedness (UB): For any \(r > 0\), there is a \(d\left( r \right) < \infty \) such that if \(\left\| {{\psi }\left( {{t_0}} \right) } \right\| \le r\), then \(\left\| {{\psi }\left( t \right) } \right\| \le d\left( r \right) \) for all \(t \ge {t_0}\);

Uniform ultimate boundedness (UUB): For any \(r > 0\) with \(\left\| {\psi \left( {{t_0}} \right) } \right\| \le r\), there is a \(\underline{d} >0 \) such that \(\left\| {\psi \left( t \right) } \right\| \le {\bar{d}}\) for any \({\bar{d}} > \underline{d} \) as \(t \ge {t_0} + T\left( {{\bar{d}},r} \right) \), where \(0 \le T\left( {{\bar{d}},r} \right) < \infty \).

Remark 9

Theorem 2 ensures that the proposed control guaranteed \(\varepsilon \) to be bounded. This indicated that the proposed control caused the transformed system motion to converge to the transformed servo constraint Eq. (16). Based on the diffeomorphism approach (Fig. 3), when the control ensured that \( {x_i} ( t ) \) was bounded for the transformed AC, it also ensured that the original AC converged to the servo constraint Eq. (7), and guaranteed the DDCP Eq. (9), all the time.

Remark 10

Notably, neither linearizations, nonlinear cancelation, nor any other approximations were observed in the control design; thus, the control design was approximation-free. The design approach presented in Sects. 3.2 and 3.3 is also applicable for controlling the motion of system Eq. (1) to converge to the servo constraint Eq. (7). Nevertheless, without the diffeomorphism approach presented in Sect. 3.1, the DDCP could not be guaranteed as Eq. (9). This was a significant difference between the ADCBC and conventional CBC as illustrated in the subsequent performance validation.

Remark 11

Parameters \(\kappa \), \({k_1}\) and \({k_2}\) were tunable in the control. The proof of Theorem 2 shows that the size of the UB and UUB regions was dependent on them and could be tuned arbitrarily small using appropriate parameter selections.

4 Design procedure

The proposed control design procedure for the AC is summarized in Fig. 4. Summarily, the desired trajectories, and DDCP were translated as equality and inequality servo constraints, respectively. The diffeomorphism approach was adopted to incorporate the inequality servo constraints into equality servo constraints, yielding new equality servo constraints. Thus, the control task was transformed into designing a control, causing the transformed AC to follow the new equality servo constraints. Based on the uncertainty decomposition, a CBC was designed: \({\tau _1}\) was the nominal system control, and \({\tau _2}\) and \({\tau _3}\) dealt with initial state deviations and uncertainty, respectively.

Fig. 4
figure 4

Control design flowchart

5 Performance validation

Next, the control performance of the proposed control method was compared with those of other commonly used methods and the conventional CBC in recent studies [23, 28,29,30]. Matlab is used to perform the simulation. A control task was to move the container from \({{q_1} _0}={5^ \circ }\) to \({q_1^d}\mathrm{{ = 7}}{5^ \circ }\) in \({t_d} = 60 \ \mathrm{{ s}}\) while keeping the container upright, i.e., \({{q_2} _0}={115^ \circ }\) and \({{q_2} _d}={45^ \circ }\). The DDCP for the tracking errors was determined by Eq. (8) with \({\vartheta _{10}} = {10^ \circ }\), \({\vartheta _{1\infty }} = {2^ \circ }\),\({\vartheta _{20}} = {8^ \circ }\) and \({\vartheta _{2\infty }} = {1^ \circ }\). Other parameters are listed in Table 1.

Table 1 Parameters for nominal AC

5.1 Benefits of constraint-based control

First, for the nominal AC, three different controls were compared:

  1. (1)

    CBC,

  2. (2)

    linear quadratic regulator (LQR), and

  3. (3)

    SMC [23].

Tracking errors, \({\Xi _i}(q,t): = {q_i}\left( t \right) - {P_i}\left( t \right) \), can be viewed as the system performance of the AC. Figure 5a and b illustrate the states, \({q_1} \) and \({q_2} \), for different controls and the desired trajectories, \({P_1}\) and \({P_2}\), obtained by Eq. (4), respectively. The tracking errors, \({\Xi _1}\) and \({\Xi _2}\), are drawn in Fig. 5c and d, which also show the hard-limiting functions, \({\vartheta _1}\) and \({\vartheta _2}\). The CBC and SMC caused the states to adequately track the desired trajectories throughout the luffing process. Contrarily, the LQR failed because it could not deal with the strong nonlinearity of AC.

Fig. 5
figure 5

a States and b tracking errors of nominal AC system by different control methods

Fig. 6
figure 6

Control force comparison (chattering input of SMC and modest input of CBC)

The control inputs are illustrated in Fig. 6. The CBC inputs were modest, whereas the SMC inputs were chattering. The chattering of the SMC inputs may have led to the vibration of the container, leading to the spilling of water. The control input of CBC satisfied the Gauss minimum principle and the Lagrange’s form of D’Alembert’s principle, thereby exhibiting a modest control magnitude. In summary, the CBC can cause the strong nonlinear AC system to track the desired (possibly nonlinear) trajectories with modest control inputs.

5.2 An AC with initial state deviation and uncertainty

In reality, initial state deviation and uncertainty are unavoidable in AC systems, and the performance of the proposed ADCBC was demonstrated by further comparison with a conventional adaptive CBC (ACBC) [28,29,30]. The main difference between the proposed ADCBC and the conventional ACBC is the formulation and management of the DDCP and the special uncertainty of the AC characterized by (possibly rapid and irregular) time-varying and unknown bounds. With deviation to the desired trajectories, the initial states were set as \({{q_1} _0}={10^ \circ }\), \({{q_2} _0}={118^ \circ }\), \({\dot{q_1} _0}={0.01^ \circ }\mathrm{{/s}}\) and \({\dot{q_2} _0}={0.01^ \circ }\mathrm{{/s}}\). The uncertain portions of parameters include \({m^\Delta } = 0.02{m^N}\cdot \sin t\), \(m_1^\Delta = 0.02m_1^N\) and \(m_2^\Delta = 0.01m_2^N\) for masses; \({L^\Delta } = 0.02{L^N}\sin \left( {t + \pi /4} \right) \) and \({l^\Delta } = 0.01{l^N}\sin \left( {t + \pi /3} \right) \) for boom lengths; and \(\rho _{}^\Delta = 0.01\rho _{}^N\) for the fixed angel. The control parameters chosen were \(\kappa = 0.1\), \({k_1} = 0.1\) and \({k_2} = 1\).

Figure 7a illustrates the tracking errors, \({\Xi _1}\) and \({\Xi _2}\), as well as \({\vartheta _1}\) and \({\vartheta _2}\). It was observed that the proposed ADCBC enabled the AC to track the desired trajectories while guaranteeing the DDCP, and the interference of the initial state deviation and uncertainty was suppressed. Contrarily, the conventional ACBC could approximately track the trajectories under the disturbance of initial state deviation and uncertainty but could not guarantee the DDCP. Figure 7b shows the control forces using these two methods. Both the two methods generated modest forces. For these methods, the inputs were similar, although only ADCBC could guarantee the DDCP.

Fig. 7
figure 7

a Tracking errors and b control force with initial state deviation and uncertainty

The time history of W is shown in Fig. 8a, and there is always \(W >-0.5 \). Therefore, \(\sigma \) can be \(-0.5\), and assumption 1 was verified. Figure 8b shows the history of adaptive parameter \({\tilde{\alpha }} \), which rapidly increased within the range of \(35-40 \ \textrm{s}\). Figure 7b shows that at this time, there was a change in tracking error \({\Xi _2}\). With a large tracking error, the first term in Eq. (34) was dominant, and made the \({\tilde{\alpha }} \) rapidly increase to compensate for the system uncertainty. Consequently, the tracking error decreased. When the tracking error was sufficiently small, the second term took up the dominant position and prevented a changing in adaptive parameter. In summary, the proposed ADCBC successfully tracked the desired trajectories while guaranteeing the DDCP in the presence of initial state deviation and uncertainty.

Fig. 8
figure 8

a W and b \(\tilde{\alpha } \) with initial state deviation and uncertainty

As discussed in Remark 11, \(\kappa \), \({k_1}\), and \({k_2}\) are tunable parameters for ADCBC. To understand the effectiveness of the parameters on the control performance, more simulations with different values of \(\kappa \) were performed, and the results are shown in Fig. 9 for \({\Xi _2}\). Different values of \(\kappa \) led to changes in tracking errors \({\Xi _2}\) in the time history. In addition, there was always \(-{\vartheta _2}<{\Xi _2} < {\vartheta _2}\), indicating that DDCP was guaranteed for different values of \(\kappa \). Similar results were obtained for different \({k_1}\) and \({k_2}\) values, whose figures are omitted for brevity. The effectiveness of the proposed ADCBC in guaranteeing the DDCP was further assured.

Fig. 9
figure 9

Time history of tracking errors for different parameter values

6 Conclusions

The tracking control for an uncertain AC with the DDCP requirement was investigated. An ADCBC is proposed to robustly achieve trajectory tracking while guaranteeing the DDCP, even in the presence of (possibly rapid and irregular) time-variant uncertainty with unknown bounds. The desired trajectories and DDCP were formulated as equality and inequality servo constraints, respectively. By deliberately introducing a diffeomorphism approach, the inequality servo constraints “disappeared” in the control design, which was only based on the new equality servo constraints. It is emphasized that as far as we know, this could be the first study on an AC tracking control while guaranteeing the DDCP, associated with the time-variant uncertainty of mass, length, and angles, whose bounds are unknown. The Lyapunov-based analysis confirmed that the proposed ADCBC could achieve trajectory tracking while guaranteeing the DDCP for an AC with uncertainty. The comparisons of different control methods showed the effectiveness of the proposed ADCBC for the AC.

Considering that the tunable parameters for the ADCBC can affect the control performance, future studies on the optimization of tunable parameters are worth-pursuing. In additional, control with unmodelled dynamics, such as frictional force, can also be further studied.