Active Disturbance Rejection Control Approach for Double Pendulum Cranes with Variable Rope Lengths
Abstract:
The overhead crane is a typical underactuated system with complicated dynamics and strong couplings. It is widely employed to transport heavy cargoes in many industrial fields. Due to the complexity of working environments, however, cranes often encounter various unfavorable factors, which may degrade the transportation efficiency. To enhance control performance and anti-disturbance ability, this paper proposes an active disturbance rejection control approach based on differential flatness for double pendulum cranes with variable rope lengths. The proposed approach can position the trolley accurately, regulate rope length, and suppress the swing angles of the payload and the hook simultaneously. During the controller design, flat outputs were constructed based on differential flatness technique to deal with system couplings, and the results prove that double pendulum crane system is differentially flat. After that, model uncertainties and external disturbances were estimated by the designed extended state observer. On this basis, a controller was developed based on the feedback control technique. Finally, a series of simulations were carried out to show that the control scheme is effective and robust.
1. Introduction
Cranes are typical nonlinear underactuated systems [1], [2], [3], [4] with strong state couplings. Due to their numerous benefits, including their large transport capacity and inexpensive prices, cranes are frequently employed in factories and harbors to move heavy freight. According to diverse mechanical architectures, cranes can be categorized into many types, such as overhead cranes [5], [6], [7], tower cranes [8], [9], offshore container cranes [10], [11], and so forth. In reality, skilled employees frequently operate cranes manually. Possible operational errors could result in a significant payload swing and safety issues. External disturbances would also make crane systems more difficult to operate, which might further reduce transportation efficiency. In order to achieve optimal control performance, it is required to build automatic control methods for crane systems.
Overhead cranes are the most popular type of crane utilized in industrial manufacturing. Generally speaking, the overhead crane control has two important objectives, namely, the fast and accurate positioning of the trolley, and the effective elimination of swing. Over the past few decades, numerous academics have presented a variety of control systems that can be broadly grouped into two categories to address the control problem for overhead cranes. The first category is open-loop control approaches, including trajectory planning [12], [13], input shaping [14], [15], and other techniques. As an illustration, Tho et al. [12] proposed a minimum-time trajectory planning method for overhead crane systems that further achieves vibration-free performance. The other is closed-loop control techniques, which include adaptive control [16, 17], sliding mode control [18], [19], [20], energy-based control [21], [22], and partial feedback linearization [23]. For example, Wu proposed a continuous global sliding mode controller along with a nonlinear disturbance observer to regulate and estimate the disturbance of the overhead crane system [19]. To achieve satisfactory robustness, Zhang and He [21] designed a significant storage function characterized by the desired damping based on passivity, and further delivered a nonlinear controller by enforcing the coupled-dissipation inequality. Meanwhile, some intelligent control methods have been applied to overhead crane systems, such as neural network-based methods [24] and fuzzy logic-based methods [25].
The methods outlined above are typically used in single pendulum overhead crane systems, which ignore the geometry of the payload and treat it and the hook as a single mass point. In actuality, however, the hook mass cannot be ignored and the payload size may be too large to be considered a mass point. When this occurs, it is impossible to simply treat the payload and the hook as one mass point, and the crane system would function as a double pendulum with the payload swinging around the hook and the hook swinging around the trolley. The control problem of a double pendulum crane is substantially more challenging when compared to a single pendulum crane system because there is now an additional unactuated state variable. For double pendulum cranes, a few control strategies have been put forward. For the double pendulum crane, Ouyang et al. [26] created an adaptive tracking controller to address parameter uncertainty. Zhang and Jing [27] presented an adaptive neural network tracking control method to address the input dead-zone and tracking error restriction of the crane system. Tian et al. [28] proposed a partial enhanced-coupling nonlinear controller with initial saturation, taking into account the fact that many controllers disregard the size of the actuator's initial value. Wu et al. [29] put forward a nonlinear sliding mode control approach to control the distributed mass payload of double pendulum cranes. Similarly, additional control techniques, like the quasi-proportional integral derivative control approach, are also utilized for the double pendulum crane system [30].
There are still issues that need to be resolved even if the crane control problem has been researched in great detail. The majority of methods in use today are created for double pendulum crane systems with constant rope lengths, which often neglect the hoisting and lowering of payloads. To make the overall transportation process more effective, the cargo may even need to be raised or lowered while the trolley is moving horizontally in specific circumstances.
Active disturbance rejection control techniques have been substantially studied recently, with a focus on the benefits of high control accuracy and strong anti-disturbance capacity. The active disturbance rejection control technique is a useful control method that has been employed successfully in many engineering applications, including the control of quadrotor unmanned aerial vehicles [31], [32], position tracking control of dc torque motors [33], vibration suppression control of building structures [34], etc. Meanwhile, some robustness issues of nonlinear systems [35] and uncertain systems [36] can be resolved using active disturbance rejection control approaches.
In light of this, the authors provided a differential flatness-based active disturbance rejection control strategy for double pendulum cranes with variable rope lengths. Particularly, it is demonstrated that this system is differentially flat and that effective flat outputs have been produced by carefully examining the dynamic model of a double pendulum crane. The transition process of the flat outputs is then built, and the tracking differentiator and extended state observer are designed to estimate the flat output signals and the total disturbances of the system, respectively. Finally, simulation tests are put into place to confirm the effectiveness and reliability of the suggested controller.
The main contributions of this paper are as follows:
1. It is established that the double pendulum crane system with variable rope lengths is differentially flat, and effective flat outputs are also built using differential flatness technique. These features are employed to handle couplings and more easily accomplish the swing suppression objective.
2. The tracking differentiator that was created for the flat output of double pendulum cranes with variable rope length enables a seamless transition process and further enhances the crane system's durability and transport effectiveness.
3. The extended state observer and disturbance compensation technique used in the proposed active disturbance rejection controller allow it to accurately predict and account for the numerous unfavorable variables.
4. The proposed control method requires only a few feedback signals, which reduces control costs and simplifies engineering application.
The remainder of this paper is organized as follows: Section 2 introduces the dynamic model and the control objectives of the double pendulum crane system; Section 3 details the construction process of differential flatness output and the active disturbance rejection control; Section 4 implements a series of simulations to verify the effectiveness of our method; Section 5 summarizes the entire paper.
2. Problem Statement
Figure 1 shows the considered double pendulum crane with variable rope lengths. The dynamic model of the crane can be obtained as follows [37]:
where, x(t), l1(t), θ1(t) and θ2(t) are the trolley displacement, the rope length, the hook’s swing angle, and the payload’s swing angle, respectively; fx(t) and fl(t) are the trolley actuating force and the rope tension, respectively; m, m1 and m2 are the trolley mass, the hook mass, and the payload mass, respectively; l2 is the distance between the hook center and the payload center; g is the gravity acceleration constant.

For simplicity, it is assumed that the swing angles of the hook and the payload are usually small during transportation. Then, the following approximations can be made:
Substituting Eq. (5) into Eqns. (1)-(4), we have:
To transport the payload, an active disturbance rejection control approach needs to be designed based on the differential flatness theory for the double pendulum crane system with variable rope lengths. The approach should be able to regulate the trolley position and the rope length to desired values, while effectively suppressing the swing of the hook and the payload simultaneously:
where, xd is the trolley target position; l1d is the desired rope length.
3. Controller Design
Based on the geometric relationship in Figure 1, the coordinates of the payload can be expressed as:
where, x1(t) and y1(t) are the horizontal and vertical positions of the payload, respectively. Drawing on the relationships in Eq. (5), Eq. (11) can be further transformed into:
Then, the first and second-order time derivatives of Eq. (12) can be derived as:
Then, we have:
Substituting Eq. (15) into Eqns. (8) and (9), we have:
The following relationships can be derived from Eqns. (16) and (17):
Then, θ1(t) can be expressed as
Substituting Eqns. (19) and (20) into the first equation of (12), we have:
Thus, all state variables can be expressed by the horizontal and vertical positions x1(t) and y1(t) of the payload and their finite-order time derivatives. By the differential flatness technique [38], it is possible to conclude that the double pendulum crane with variable rope lengths is differentially flat with x1(t) and y1(t) as the flat outputs.
To facilitate the controller design, $ \boldsymbol {p}_1 \in \mathbb{R}^2$ can be introduced:
and $\boldsymbol{p}_2, \boldsymbol{p}_3, \boldsymbol{p}_4, \boldsymbol{p}_5, \boldsymbol{p}_6 \in \mathbb{R}^2$ can be defined as the first to fifth order time derivatives of p1, respectively. From the relationships in Eqns. (6), (7), (12), and (19)-(21), we have:
where, $\boldsymbol{f}\left(\boldsymbol{p}_2, \boldsymbol{p}_3, \boldsymbol{p}_4, \boldsymbol{p}_5, \boldsymbol{p}_6\right), \boldsymbol{\varphi} \in \mathbb{R}^2 ; B \in \mathbb{R}^{2 \times 2}$. These two parameters can be defined as:
where, f1, f2, b1, and b2 are detailed in the Appendix. By introducing control gains η1, η2, the following relationship can be further derived:
where, $\Upsilon \in \mathbb{R}^{2 \times 2}$ is a diagonal gain matrix defined as $\Upsilon=\operatorname{diag}\left\{\eta_1, \eta_2\right\} ; \boldsymbol{f}_d=\left[f_{1 d} f_{2 d}\right]^{\mathrm{T}}$ can be defined as:
$f_{1 d}=f_1\left(\boldsymbol{p}_2, \boldsymbol{p}_3, \boldsymbol{p}_4, \boldsymbol{p}_5, \boldsymbol{p}_6\right)+\left(b_1-\eta_1\right) f_x, f_{2 d}=f_2\left(\boldsymbol{p}_2, \boldsymbol{p}_3, \boldsymbol{p}_4, \boldsymbol{p}_5, \boldsymbol{p}_6\right)+\left(b_2-\eta_2\right) f_l.$
Next, the desired values for the flat outputs x1 and y2 can be defined as x1d and y1d, respectively:
where, θ1d and θ2d are the desired swing angles of the hook and the payload, respectively. Further, it can be obtained that θ1d = θ2d = 0. Then, Eq. (27) can be simplified as:
Then, a tracking differentiator can be designed for the flat outputs of the crane system:
where, v0 = [x1d y1d]T is the desired value vector for the flat output; $\boldsymbol{v}_1 \in \mathbb{R}^2$ is the transition process vector arranged by the tracking differentiator; $\boldsymbol{v}_2, \boldsymbol{v}_3, \boldsymbol{v}_4, \boldsymbol{v}_5, \boldsymbol{v}_6 \in \mathbb{R}^2$ are the first to fifth order time derivatives of v1, respectively; r is the control parameter to be designed for the tracking differentiator.
Next is to design an extended state observer to estimate the total disturbance of the crane system. The regulation error $\boldsymbol{e} \in \mathbb{R}^{2 \times 2}$ for the flat output can be described as:
Then, the extended state observer can be constructed as:
where, w1, w2, w3, w4, w5, w6 and w7 are the estimated values for p1, p2, p3, p4, p5, p6 and fd in Eqns. (23) and (25), respectively; β1, β2, β3, β4, β5, β6 and β7 are the observer control parameters.
To facilitate the selection of observer parameters, the closed-loop poles of the observer are all configured at -κ, that is,
Then, the following relationships can be derived as:
Now, the error vectors ϑi(i=1, …, 6) can be defined as:
Then, an active disturbance rejection controller can be designed as
where, A1, A2, A3, A4, A5, A6 and Г are positive definite diagonal gain matrices:
The active disturbance rejection control method described above can be used to accurately control the flat outputs of the system to the corresponding desired values, as well as the trolley position and rope length, while effectively suppressing the swing of the payload and the swing of the hook during transportation.
4. Simulation Results
The authors adopted MATLAB/Simulink to implement three groups of simulation tests, aiming to thoroughly verify the control performance of the suggested method. The first group is specifically used to compare our method to several current control methods and to validate the control performance of our method for a double pendulum crane with variable rope lengths under normal conditions. In the second group, our method's control performance is further evaluated using a modified payload mass and modified trolley target position. The third group is created to introduce external disturbance and check the robustness.
In all simulations, the trolley mass, the hook mass, and the payload mass were selected as 7 kg, 5 kg, and 5 kg, respectively. The distance between the hook center and the payload center was set as 0.6 m. The initial trolley position and initial rope length were set as 0 m and 0.2 m, respectively. The target trolley position and the desired rope length were set as 2 m and 1 m, respectively. Meanwhile, the gravity acceleration was adopted as 9.8 m/s2.
After carefully tuning, the control parameters of our method can be determined as:
$r=3, \kappa=10, \tau_1=0.025, \tau_2=0.02, \eta_1=11.56, \eta_2=6.53, \alpha_{1 x}=0.1, a_{2 x}=33$,
$a_{3 x}=a_{4 x}=0.04, a_{5 x}=a_{6 x}=0.01, \alpha_{1 l}=425, a_{2 l}=45, a_{3 l}=a_{4 l}=0.02, a_{5 l}=a_{6 l}=0.008.$
Group 1: The control performance of our method is compared with the linear quadratic regulator (LQR). For the LQR, the dynamic model of double pendulum crane system with variable rope lengths (1)-(4) can be linearized as:
The resulting linearized model is decoupled into two parts, namely, the horizontal movement of the trolley and the hoisting/lowering movement of the payload. For the horizontal movement of the trolley, we have the following state space model:
where, ${X}_1, {B}_1 \in \mathbb{R}^6$ and $A_1 \in \mathbb{R}^{6 \times 6}$ can be defined as:
${\chi}_1=\left[{e_x} \,\,\, {\dot{x}} \,\,\, {\theta_1} \,\,\, {\dot{\theta}_1} \,\,\, {\theta_2} \,\,\, {\dot{\theta}_2} \right]^{\mathrm{T}}, e_x=x-x_d,$
${A_1}={\left[ {\begin{array}{cccccc}0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & \frac{\left(m_1+m_2\right) g}{{-m_1} {l_1}} & 0 & \frac{m_2 g}{{m_1} {l_1}} & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 \\ 0 & 0 & \frac{\left(m_1+m_2\right) g}{{m_1} {l_2}} & 0 & \frac{\left(m_1+m_2\right) g}{{-m_1} {l_1}} & 0\end{array}}\right]},$
$B_1=\left[0 \quad \frac{m+m_1+m_2}{m} \quad 0 \quad -\frac{m_1+m_2}{m} \quad 0 \quad 0\right]^{\mathrm{T}}$.
The cost function can be selected as:
where, $Q \in \mathbb{R}^{6 \times 6}$ and $R \in \mathbb{R}$ are auxiliary matrix and auxiliary parameter, respectively. Then, the LQR controller for the horizontal movement of the trolley can be designed as:
where, k1, k2, k3, k4, k5 and k6 are control parameters determined through cost function optimization. After careful tuning, Q and R can be selected as Q=diag{30,100,10,0,1,0}, R=0.01. The control parameters of the LQR can be solved on MATLAB as:
$k_1=54.772, k_2=101.08, k_3=-33.286,k_4=-0.203, k_5=3.849, k_6=-0.134$.
For the hoisting/lowering movement of the payload, Eq. (37) can be rewritten as:
Then, the state space model for this movement can be obtained as:
where, ${\chi}_2=\left[ l_1 -l_{1 d} \,\,\,\,\,\,\ \dot{l}_1 \right]^{T}$. Eq. (44) shows that the hoisting/lowering movement of the payload is a single-input single-output system. Thus, the LQR controller for this movement will degrade into proportional-derivative (PD) control:
where, k7 and k8 are the PD control parameters. These parameters are carefully tuned to k7=30 and k8=20.
Figure 2 and Figure 3, and Table 1 display the simulation results of our method and the LQR. In Table 1, x and l1 denote the reach position of the trolley and the final length of the rope, respectively; θ1max and θ2max denote the maximum swing angle amplitudes of the hook and the payload, respectively; θ1res and θ2res represent the maximum residual swing angle amplitudes of the hook and the payload after the trolley stops, respectively.


x(m) | l1(m) | θ1max(deg) | θ2max(deg) | θ1res(deg) | θ2res(deg) | |
Our method in Group 1 | 2 | 1 | -3.5 | -4 | 0.05 | 0.08 |
LQR in Group 1 | 2 | 1 | -10.8 | -15.8 | 1 | 1.5 |
As shown in Figure 2, our method drives the trolley to the target position accurately, regulates the rope length to the desired value, and suppresses the swing of the payload and the hook efficiently. There is almost no residual swing after the transportation. In contrast, the LQR cannot eliminate large swing angles, or the residual swings of the hook and the payload after the trolley stops (as shown in the middle two subplots in Figure 2 and Table 1).
The speed of the trolley and the length of the rope can be controlled within a narrow range, as illustrated in Figure 3. Therefore, it can be seen from Figure 2 and Table 1 that our method has much superior effects for swing suppression and residual swing elimination than the LQR. Furthermore, it can be seen from the fifth subplot of Figure 2 that the proposed method's overall force trajectory is smoother and the trolley's initial actuating force is zero, whereas the LQR control method necessitates a higher starting actuating force.
To further test the performance of our method, the second group involves two cases. In the first case, the payload mass is changed to m2=7 kg. In the second case, the target position of the trolley is modified to xd=3 m. For both cases, the control parameters are kept the same with those the first group. The simulation results of the second group are illustrated in Figure 4 and Figure 5. As observed in Figure 4, even if the payload mass is altered, the control target of precise trolley position, rope length regulation, as well as the suppression of the swing of the hook and the swing of the payload, is met, which is comparable to that in the first group. With a different payload mass, there are no placement errors. The maximum swing amplitudes of the hook and the payload only rise to 1 deg and 1.5 deg, respectively. Figure 5 shows that, after modifying the trolley target position, proper control performance can still be attained with no positioning error.
The authors examined our method's resistance to disturbances in the third group. To the hook and payload, the authors manually added the initial swing angle disturbance, the external swing angle disturbance, and the random swing angle disturbances. Figures 6, Figure 7 and Figure 8 display the simulation findings. Figure 6 shows that even when the hook and the payload experience initial swing angle disturbances, the proposed controller continues to operate properly. The impact of the initial swing can be swiftly removed. In the meantime, it can be seen by comparing Figure 7 with Figure 2 that the back-and-forth motion of the trolley and the rope variation can further eliminate the added external swing disturbances for the payload and the hook (as shown in the enlarged parts of the top two subplots in Figure 7) and that the influence of external disturbances is suppressed. As shown in Figure 8, swing suppression and precise payload positioning may still be satisfactorily managed even when the system is subjected to random disturbance during the hoisting process. These simulations demonstrate the robustness and efficacy of the proposed controller.



Remark 1: In reality, heavy cargoes are delivered to their destinations via the crane system. In general, the crane mechanism is static and has no swing angle at first. Large initial swing angles are not necessary to start payload transportation. Because the swing angle is typically minimal in practice, several linearizations are performed throughout the controller design. This suggests that, in order to satisfy the small angle assumption, it might need a modest maximum swing angle amplitude, perhaps less than 10 deg. The swing angles for our method are likewise discovered from the provided simulation results to be all less than 10 degrees, which further confirms the validity of the small angle assumption. Despite the fact that the maximum swing angle may occasionally be greater, our technique may still be useful due to its robustness.


5. Conclusions
In this paper, an active disturbance rejection control scheme is proposed to address the control issues of a double pendulum crane with variable rope lengths. This scheme achieves accurate regulation for the trolley position and the rope length, as well as the simultaneous suppression of the swings of the hook and the payload. In specifically, this system is first demonstrated to be differentially flat with flat output built effectively after careful analysis for the dynamic model. Then, the proper tracking differentiator is developed to coordinate the transition process of the desired outputs, and the flat output and the system's overall disturbances are evaluated by the extended state observer. An active disturbance rejection controller is put forward after that. The designed controller finally achieves adequate performance and robustness with respect to disturbances, as per various simulation results.
Conceptualization, H.C. and X.Y.; methodology, H.C. and X.Y.; software, X.Y.; validation, X.Y., and Z.F.; formal analysis, H.C. and X.Y.; investigation, H.C.; resources, H.C.; data curation, H.C. and X.Y.; writing—original draft preparation, X.Y.; writing—review and editing, H.C.; visualization, H.C.; supervision, H.C.; All authors have read and agreed to the published version of the manuscript.
Not applicable.
The authors declare no conflict of interest.
The detailed expressions of f1, f2, b1, and b2 are as follows:
$b_1=\frac{\left(m_1+m_2\right)\left(\ddot{y}_1-g\right)^2}{m m_1 l_2 y_1}, b_2=\frac{\left(m_1+m_2\right)\left(\ddot{y}_1-g\right)}{\left(y_1-l_2\right) m_1 l_2}$,
$f_1=-2 x_1^{(5)}\left[\frac{\dot{y}_1\left(\ddot{y}_1-g\right)-2 y_1 y_1^{(3)}}{y_1\left(\ddot{y}_1-g\right)}\right]-x_1^{(4)} \frac{\left(\ddot{y}_1-g\right)^2}{y_1}\left[\frac{y_1}{\left(\ddot{y}_1-g\right)^2}\right]^{(2)}$
$-\frac{\left(m_1+m_2\right)\left(m+m_1+m_2\right)\left(\ddot{y}_1-g\right)^2}{m m_1 l_2 y_1} \ddot{x}_1-\frac{\left(m_1+m_2\right)^2\left(\ddot{y}_1-g\right)^5}{m m_1 y_1}\left[x_1^{(4)}\left(\ddot{y}_1-g\right)^2\right.$
$\left.-\left(\ddot{y}_1-g\right)\left(\ddot{x}_1 y_1^{(4)}+2 y_1^{(3)} x_1^{(3)}\right)+2 \ddot{x}_1\left(y_1\right)^2\right]-\frac{\left(m_1+m_2\right)\left(\ddot{y}_1-g\right)^2}{m_1 l_2 y_1}$
$\left\{\frac{\ddot{x}_1 y_1}{\ddot{y}_1-g}-\frac{m_1 l_2 y_1}{\left(m_1+m_2\right)\left(\ddot{y}_1-g\right)^4}\left[2 \ddot{x}_1\left(y_1^{(3)}\right)^2-\left(\ddot{y}_1-g\right)\left(\ddot{x}_2 y_1^{(4)}+2 y_1^{(3)} x_1^{(3)}\right)\right]\right\}^{(2)}$,
$f_2=-\frac{2\left(y_1^{(3)}\right)^2-\left(\ddot{y}_1-g\right) y_1^{(4)}}{\ddot{x}_1}\left(\frac{\ddot{x}_1}{\ddot{y}_1-g}\right)^{(2)}+\left(\frac{\ddot{x}_1}{\ddot{y}_1-g}\right)^{(3)} \frac{2\left(m_1+m_2\right)\left(\ddot{y}_1-g\right)^4}{m_1 l_2\left(y_1-l_2\right) \ddot{x}_1^2}\left\{\ddot{x}_1\right.$
$\left.-y_1\left(\frac{\ddot{x}_1}{\ddot{y}_1-g}\right)^{(2)}-\left[\frac{\ddot{x}_1}{\ddot{y}_1-g}-\left(\frac{\ddot{x}_1}{\ddot{y}_1-g}\right)^{(2)} \frac{m_1 l_2}{\left(m_1+m_2\right)\left(\ddot{y}_1-g\right)}\right]\left[\frac{m_2 l_2}{\left(m_1+m_2\right)}\left(\frac{\ddot{x}_1}{\ddot{y}_1-g}\right)^2\right]\right\}$
$+\frac{\left(m_1+m_2\right)^2\left(\ddot{y}_1-g\right) g}{\left(y_1-l_2\right) m_1 l_2}$.
