<figure><img src="image_1.png" /></figure>

HAL
open science

# Modeling and control of overhead cranes: a tutorial overview and perspectives

Mohammad Rasool Mojallizadeh, Bernard Brogliato, Christophe Prieur

<figure><img src="image_2.png" /></figure>

## To cite this version:

Mohammad Rasool Mojallizadeh, Bernard Brogliato, Christophe Prieur. Modeling and control of overhead cranes: a tutorial overview and perspectives. Annual Reviews in Control, 2023, 56, pp.100877. 10.1016/j.arcontrol.2023.03.002. hal-04010839v3

HAL Id: hal-04010839

https://inria.hal.science/hal-04010839v3

Submitted on 2 Mar 2023

HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

<figure><img src="image_3.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
Modeling and control of overhead cranes: a tutorial overview and perspectives

Mohammad Rasool Mojallizadeh<sup>a,*</sup>, Bernard Brogliato<sup>a</sup>, Christophe Prieur<sup>b</sup>

<sup>a</sup>Univ. Grenoble Alpes, INRIA, CNRS, Grenoble INP, LJK, 38000 Grenoble, France

<sup>b</sup>Univ. Grenoble Alpes, CNRS, GIPSA-Lab, 38000 Grenoble, France

Abstract

This article presents a complete review of the modeling and control schemes for overhead cranes operating in 2D and 3D spaces published to date. The modeling schemes including the pendulum-like models with rigid and flexible links are reviewed and their key characteristics are studied. Subsequently, an overview of the control methods developed for such models is presented. Afterward, a new simulation-oriented model enabling to capture both cables' dynamic and global nonlinearities caused by the pendulum is developed, and different control methods that exist in the literature are evaluated and compared based on this model using numerical experiments. In the end, several research gaps are identified to be considered in future works.

Keywords: overhead cranes, antisway, underactuation, control, modeling

Contents

1 Introduction

3

2 Review of the mathematical modeling developed for OCs

5

2.1 Single-pendulum models .................................................... 5

2.2 Double-pendulum models .................................................... 6

2.3 Pendulum-like model with flexible link .................................... 7

2.4 Paralleled multi-cable models ............................................ 8

2.5 Properties of the models .................................................... 9

2.6 Main sources of disturbances and uncertainties ......................... 10

2.7 Validity ........................................................................ 10

3 Review of the control strategies proposed for OCs

11

3.1 Open-loop control .......................................................... 12

3.1.1 Input shaping ................................................................ 12

3.1.2 Flatness theory .......................................................... 12

3.1.3 Path planning .......................................................... 13

3.2 Collocated control ............................................................ 13

3.3 Noncollocated control ...................................................... 14

3.3.1 Gain-scheduling .......................................................... 14

<footnote>*Corresponding author</footnote>

<footnote>Email addresses: mohammad-rasool.mojallizadeh@inria.fr (Mohammad Rasool Mojallizadeh),
bernard.brogliato@inria.fr (Bernard Brogliato), Christophe.Prieur@gipsa-lab.fr (Christophe Prieur)</footnote>
<table>
  <tbody>
    <tr>
      <td>3.3.2</td>
      <td>Noncollocated PID (quasi-PID) control</td>
      <td>14</td>
    </tr>
    <tr>
      <td>3.3.3</td>
      <td>Linear state-feedback control</td>
      <td>14</td>
    </tr>
    <tr>
      <td>3.3.4</td>
      <td>Passivity-based control</td>
      <td>14</td>
    </tr>
    <tr>
      <td>3.3.5</td>
      <td>Feedback linearization (FL)</td>
      <td>16</td>
    </tr>
    <tr>
      <td>3.3.6</td>
      <td>Sliding-mode control (SMC)</td>
      <td>17</td>
    </tr>
    <tr>
      <td>3.3.7</td>
      <td>Backstepping control design</td>
      <td>18</td>
    </tr>
    <tr>
      <td>3.3.8</td>
      <td>Fuzzy control</td>
      <td>19</td>
    </tr>
    <tr>
      <td>3.3.9</td>
      <td>Model predictive control</td>
      <td>19</td>
    </tr>
    <tr>
      <td>3.3.10</td>
      <td>Optimal control</td>
      <td>20</td>
    </tr>
    <tr>
      <td>3.3.11</td>
      <td>Lyapunov-based control design</td>
      <td>20</td>
    </tr>
    <tr>
      <td>3.4</td>
      <td>Control in 3D operational space</td>
      <td>21</td>
    </tr>
    <tr>
      <td>3.5</td>
      <td>Sway control using cable length manipulation</td>
      <td>22</td>
    </tr>
    <tr>
      <td>3.6</td>
      <td>Sway control using passive mechanical elements</td>
      <td>22</td>
    </tr>
    <tr>
      <td>3.7</td>
      <td>Summary of all methods</td>
      <td>22</td>
    </tr>
    <tr>
      <td>3.8</td>
      <td>Operator-in-the-loop methods</td>
      <td>26</td>
    </tr>
    <tr>
      <td>4</td>
      <td>Review of the experimental systems considered in the literature</td>
      <td>29</td>
    </tr>
    <tr>
      <td>4.1</td>
      <td>Scale of the experimental setups</td>
      <td>29</td>
    </tr>
    <tr>
      <td>4.2</td>
      <td>Computers employed to implement the control algorithms</td>
      <td>29</td>
    </tr>
    <tr>
      <td>4.3</td>
      <td>Actuators employed for the experiments</td>
      <td>30</td>
    </tr>
    <tr>
      <td>4.4</td>
      <td>Sensors used in the experiments</td>
      <td>30</td>
    </tr>
    <tr>
      <td>5</td>
      <td>Modeling for numerical simulations</td>
      <td>30</td>
    </tr>
    <tr>
      <td>6</td>
      <td>State, parameter and disturbance estimation</td>
      <td>32</td>
    </tr>
    <tr>
      <td>6.1</td>
      <td>State-observation</td>
      <td>32</td>
    </tr>
    <tr>
      <td>6.2</td>
      <td>Disturbance and uncertainty observer</td>
      <td>32</td>
    </tr>
    <tr>
      <td>7</td>
      <td>Numerical experiments</td>
      <td>32</td>
    </tr>
    <tr>
      <td>7.1</td>
      <td>Hoisting toolbox</td>
      <td>33</td>
    </tr>
    <tr>
      <td>7.1.1</td>
      <td>Parameter tuning</td>
      <td>34</td>
    </tr>
    <tr>
      <td>7.1.2</td>
      <td>Evaluation</td>
      <td>37</td>
    </tr>
    <tr>
      <td>7.1.3</td>
      <td>Trajectory profile</td>
      <td>37</td>
    </tr>
    <tr>
      <td>7.2</td>
      <td>Numerical simulation under different conditions</td>
      <td>37</td>
    </tr>
    <tr>
      <td>7.2.1</td>
      <td>Regulation in nominal condition</td>
      <td>38</td>
    </tr>
    <tr>
      <td>7.2.2</td>
      <td>Tracking under nominal condition</td>
      <td>39</td>
    </tr>
    <tr>
      <td>7.2.3</td>
      <td>Summarized results</td>
      <td>41</td>
    </tr>
    <tr>
      <td>8</td>
      <td>Conclusion</td>
      <td>42</td>
    </tr>
    <tr>
      <td>Appendix A</td>
      <td>Ingredients of the N-link Lagrange multibody model with lumped masses</td>
      <td>46</td>
    </tr>
    <tr>
      <td>Appendix A.1</td>
      <td>The mass matrix</td>
      <td>47</td>
    </tr>
    <tr>
      <td>Appendix A.2</td>
      <td>Nonlinear inertial forces</td>
      <td>48</td>
    </tr>
    <tr>
      <td>Appendix A.3</td>
      <td>Varying masses</td>
      <td>48</td>
    </tr>
  </tbody>
</table>
<table>
  <tbody>
    <tr>
      <td>Appendix A.4</td>
      <td>Potential energies</td>
      <td>49</td>
    </tr>
    <tr>
      <td>Appendix A.5</td>
      <td>Cable's slack behaviour</td>
      <td>50</td>
    </tr>
    <tr>
      <td>Appendix A.6</td>
      <td>Change of generalized coordinates</td>
      <td>50</td>
    </tr>
    <tr>
      <td>Appendix B</td>
      <td>Lagrange dynamics of the 2D double-pendulum with varying lengths and constant masses</td>
      <td>51</td>
    </tr>
    <tr>
      <td>Appendix C</td>
      <td>3D single-pendulum with varying link's length: Coriolis/centrifugal matrix</td>
      <td>53</td>
    </tr>
    <tr>
      <td>Appendix D</td>
      <td>Dynamics of 2D single-pendulum with varying mass and link's length</td>
      <td>53</td>
    </tr>
    <tr>
      <td>Appendix E</td>
      <td>Dynamics of 3D double-pendulum with constant links' lengths and masses</td>
      <td>54</td>
    </tr>
    <tr>
      <td>Appendix F</td>
      <td>Dynamics of 3D double-pendulum with varying links' lengths and constant masses</td>
      <td>56</td>
    </tr>
    <tr>
      <td>Appendix G</td>
      <td>Some technical results for control</td>
      <td>60</td>
    </tr>
    <tr>
      <td>Appendix H</td>
      <td>Hoisting Toolbox</td>
      <td>61</td>
    </tr>
  </tbody>
</table>

# 1. Introduction

Overhead cranes (OC) are widely employed in factories and construction sites in order to manipulate heavy objects within the workspace. A typical OC is composed of a cart (trolley) moving on a line or plane. A tool, e.g., a hook, is suspended to the cart through several cables, as shown in Fig. 1 [203]. Accurate modeling and control of OCs are challenging because of underactuation [243, 146], and cables' dynamics [113, 116, 152]. Moreover, different types of payloads, swaying around different axes observed in 3-dimensional (3D) operating space, add complexity to the problem. OCs require a precise controller design in order to guarantee an accurate and safe operation. A mathematical model is usually required to design such a controller [2]. Moreover, a realistic model helps to evaluate the controllers' performances using numerical simulations before practical implementations. Hence, mathematical modeling is an unavoidable part of the topic. The OCs are usually modeled based on the pendulum-like models, i.e., single or double-pendulum systems as shown in Fig. 2(a,b) [203]. According to the literature, most references deal with the single-pendulum model because of its simplicity. However, in the presence of heavy tools, the single pendulum model is unable to encapsulate the system's behavior since two sway angles appear in the system as shown in Fig. 2(b). A large number of references considered the double-pendulum model to take the tool's effect into account. The modeling has also been tackled from different points of view, including modeling the cables' flexibility (Fig. 2(c)) [68], kinematic modeling corresponding to the multi-cable cranes [15], etc. The models are then used for the controller design and numerical simulation. The modeling schemes will be deeply reviewed in Sec. 2.

A control scheme, in this topic, is mainly designed to control the payload position and orientation. Such a controller, in a general classification, is designed based on open-loop, collocated and noncollocated control structures [203]. The open-loop control scheme is easy to implement and is designed to avoid excitation of the systems' natural frequencies causing oscillations. Closed-loop methods, on the other hand, are developed
to ensure stability and robustness [63]. These control strategies as well as their characteristics will be studied
in detail in Sec. 3.

Reviewing the mentioned modeling and control methods was the topic of some references including the
commercial ones available in the market [203]. In addition, modeling of several cranes' structures, as well
as an introduction to the relevant controllers, have been presented in [1]. However, choosing and using the
most appropriate modeling and control method, for each specific case is still almost impossible without a
comprehensive guideline. This issue will be addressed in this study. Compared to other surveys on this
subject (see Table 11), the main contributions of this work are as follows:

* Dynamical models are presented in detail in 2D and 3D operational spaces, for fixed and variable links' lengths, for single-pendulum and double-pendulum systems, and one case with varying mass is treated.

* The control strategies are categorized into several groups, depending on their structure. The structures are then studied to extract their key properties. Subsequently, some controllers from each group have been selected, and comparative analyses are made among them through numerical experiments;

* A toolbox prototype has been developed, using the MATLAB Multibody and Optimization toolboxes, see section 7.1. It is based on a 20-pendulum model of the cable (both in 2D and 3D operational spaces). As pointed out in section 8, this is certainly not sufficient to get reliable results in all operating conditions. This is however expected to pave the way towards a more complete toolbox (incorporating, for instance, finite-element cable's models). To the best of the authors' knowledge, it is the first time that such an effort is made to better understand (at least numerically) how controllers behave when applied on more complex models than (2), (3) and (6) below. It also provides a preliminary way to tune the controllers' gains;

* The control methods are evaluated based on the simulation-oriented model enabling to capture both global nonlinearities and local vibrations (within a limited spectrum) observed in OCs due to the cables' flexibility. Hence, it is expected that the numerical simulations based on this model lead to more realistic results compared to the studies where control-oriented models (single and double-pendulum models) are used for the simulations;

* Several research gaps are identified, in the end, and presented as possible topics for future studies.

The remainder of this manuscript is structured as follows. An introduction to the modeling schemes and their properties are presented in Sec. 2. Subsequently, the control methods introduced in the literature are classified in Sec. 3. The simulation-oriented model is developed in Sec. 5. Afterward, the comparisons based on the numerical experiments are then presented in Sec. 7, and an engineering guideline is provided to enable one to select an appropriate method for each case. In the end, the conclusions are drawn, in Sec. 8, and several research gaps are identified to be addressed in future studies. Details on the Lagrange dynamics of the 2D and 3D pendulums' models with varying assumptions (constant, variable links' lengths) are given in Appendix A through Appendix F. Appendix G contains some technical computations useful for some control designs. Finally, the computer software developed in this work will be briefly introduced in Appendix H.
<figure><img src="image_4.png" /><figcaption>Figure 1: Schematic diagram of a typical OC in 3D operating space</figcaption></figure>

## 2. Review of the mathematical modeling developed for OCs

A summary of the models developed for the OCs are presented in Secs. 2.1 to 2.4, and the properties of such models are discussed in Sec. 2.5. As is well-known [33], the Lagrange dynamics (or Euler-Lagrange, or Lagrange of the second kind, or Lagrangian control system) of a multibody system can be rewritten as:

$$M(q)\ddot{q} + C(q, \dot{q})\dot{q} + G(q) = Q, \quad (1)$$

where $q \in \mathbb{R}^n$ is a vector of minimal generalized coordinates, $M(q) = M^\top(q)$ is the mass matrix (usually assumed to be > 0, but it may be ≳ 0 in some cases), $C(q, \dot{q})\dot{q}$ contains centrifugal and Coriolis nonlinear generalised forces, $-G(q) = -\frac{\partial U}{\partial q}$ is the vector of generalized forces that derive from a potential (gravity, elasticity, etc). The generalized coordinate $q$ definition varies depending on the modeling assumptions, as well as the vector of generalized forces $Q$. In the next sections and in the appendix, Lagrange dynamics of several lumped-mass multibody models are presented and discussed.

### 2.1. Single-pendulum models

Most of the reviewed references used the single-pendulum model for OCs (see Fig. 2(a)). Its dynamical equations are as follows:

$$\left\{ \begin{array}{l} (a) (m + m_1)\ddot{x} + m_1 l_1 \ddot{\theta}_1 \cos(\theta_1) - m_1 l_1 \dot{\theta}_1^2 \sin(\theta_1) = F - f_r \\ (b) m_1 l_1^2 \ddot{\theta}_1 + m_1 l_1 \cos(\theta_1) \ddot{x} + m_1 g l_1 \sin(\theta_1) = 0, \end{array} \right. \quad (2)$$

where $q = (x, \theta_1)^\top$, $m$ and $m_1$ represent the cart and payload masses, $l_1$ is the cable's length, $F$ is the force applied to the cart, $f_r$ is the friction force, $g$ is the gravity constant, $\theta_1$ is the sway angle, and $x$ is the cart position. The references using (2) are listed in Tables 2 to 4. Remark that (2) can be generalized to the case when the cable's length is variable as follows [232, 133]:

$$\left\{ \begin{array}{l} (a) (m + m_1)\ddot{x} + m_1 l_1 \ddot{\theta}_1 \cos(\theta_1) + m_1 \ddot{l}_1 \sin(\theta_1) + 2m_1 \dot{l}_1 \dot{\theta}_1 \cos(\theta_1) - ml_1^2 \dot{\theta}_1^2 \sin(\theta_1) = F - f_r \\ (b) m_1 \ddot{l}_1 + m_1 \sin(\theta_1) \ddot{x} - m_1 l_1 \dot{\theta}_1^2 - m_1 g \cos(\theta_1) = F_l \\ (c) m_1 l_1^2 \ddot{\theta}_1 + m_1 l_1 \cos(\theta_1) \ddot{x} + 2ml_1 \dot{l}_1 \dot{\theta}_1 + mgl_1 \sin(\theta_1) = 0, \end{array} \right. \quad (3)$$

where $q = (x, l_1, \theta_1)^\top$, $F_l$ is the force input on the hoisting mechanism (if any: let us remind that $l_1$ may vary also because of elasticity, see Appendix A). A different choice for $q$ can be made, using the winch mechanism
pulley radius and angle of rotation instead of $l_1$ [216]. The references considering such a model are indicated by the letter $l$ in the sixth column in Tables 2 to 4. Following the references presented in Table 7, (2) can be generalized to the 3D operating space as follows [236, 278] (see Fig. 3 (a) for the notation):

$$ egin{cases} 
(a) & (m + m_1)\ddot{x} + ml_1\ddot{\theta}_x \cos(\theta_x) \cos(\theta_y) - ml_1\ddot{\theta}_y \sin(\theta_y) \sin(\theta_y) - ml_1\dot{\theta}_x^2 \sin(\theta_x) \cos(\theta_y) \\ 
& - 2ml_1\dot{\theta}_x\dot{\theta}_y \cos(\theta_x) \sin(\theta_y) - ml_1\dot{\theta}_y^2 \sin(\theta_x) \cos(\theta_y) = F_x - f_{rx} \\[1.5em] 
(b) & (m + m_1)\ddot{y} + ml_1\ddot{\theta}_y \cos(\theta_y) - ml_1 \sin(\theta_y) \dot{\theta}_y^2 = F_y - f_{ry} \\[1.5em] 
(c) & ml_1\ddot{x} \cos(\theta_x) \cos(\theta_y) + ml_1^2\ddot{\theta}_x \cos^2(\theta_y) - 2ml_1^2\dot{\theta}_x\dot{\theta}_y \sin(\theta_y) \cos(\theta_y) + mgl_1 \sin(\theta_x) \cos(\theta_y) = 0 \\[1.5em] 
(d) & ml_1\ddot{x} \sin(\theta_x) \sin(\theta_y) - ml_1\ddot{y} \cos(\theta_y) - ml_1^2\ddot{\theta}_y - ml_1^2 \sin(\theta_y) \cos(\theta_y) \dot{\theta}_x^2 - mgl_1 \cos(\theta_x) \sin(\theta_y) = 0, 
\end{cases} \quad (4) $$

where $q = (x, y, \theta_x, \theta_y)^T$, $F_x$ and $F_y$ are the forces on the trolley towards $x$ and $y$ axes, respectively, $f_{rx}$ and $f_{ry}$ are the friction forces toward $x$ and $y$ axes, respectively, $\theta_x$ and $\theta_y$ are the sway angles with respect to the $x$ and $y$ axes, respectively. In case of varying link's length (but constant total mass), the single-pendulum 3D dynamics take the form [32, 132, 12] (see Fig. 3 (a) for an illustration of the notation):

$$ egin{cases} 
(a) & (m + m_1)\ddot{x} + m_1 l_1 \cos(\theta_x) \cos(\theta_y) \ddot{\theta}_x - m_1 l_1 \sin(\theta_x) \sin(\theta_y) \ddot{\theta}_y + m_1 \sin(\theta_x) \cos(\theta_y) \ddot{l}_1 + \\ 
& \quad + 2m_1 \cos(\theta_x) \cos(\theta_y) \dot{l}_1 \dot{\theta}_x - 2m_1 \sin(\theta_x) \sin(\theta_y) \dot{l}_1 \dot{\theta}_y - m_1 l_1 \sin(\theta_x) \cos(\theta_y) \dot{\theta}_x^2 - m_1 l_1 \sin(\theta_x) \cos(\theta_y) \dot{\theta}_y^2 \\ 
& \quad - 2m_1 l_1 \cos(\theta_x) \sin(\theta_y) \dot{\theta}_x \dot{\theta}_y = F_x - f_{rx} \\[1.5em] 
(b) & (m + m_1)\ddot{y} + m_1 l_1 \cos(\theta_y) \ddot{\theta}_y + m_1 \sin(\theta_y) \ddot{l}_1 + 2m_1 \cos(\theta_y) \dot{l}_1 \dot{\theta}_y - m_1 l_1 \sin(\theta_y) \dot{\theta}_y^2 = F_y - f_{ry} \\[1.5em] 
(c) & m_1 l_1 \cos(\theta_x) \cos(\theta_y) \ddot{x} + m_1 l_1^2 \cos^2(\theta_y) \ddot{\theta}_x + 2m_1 l_1 \cos^2(\theta_y) \dot{l}_1 \dot{\theta}_x - 2m_1 l_1^2 \sin(\theta_y) \cos(\theta_y) \dot{\theta}_x \dot{\theta}_y \\ 
& \quad + m_1 g l_1 \sin(\theta_x) \cos(\theta_y) = 0 \\[1.5em] 
(d) & - m_1 l_1 \sin(\theta_x) \sin(\theta_y) \ddot{x} + m_1 l_1 \cos(\theta_y) \ddot{y} + m_1 l_1^2 \ddot{\theta}_y + m_1 l_1^2 \cos(\theta_y) \sin(\theta_y) \dot{\theta}_x^2 + 2m_1 l_1 \dot{l}_1 \dot{\theta}_y \\ 
& \quad + m_1 g l_1 \cos(\theta_x) \sin(\theta_y) = 0 \\[1.5em] 
(e) & m_1 \sin(\theta_x) \cos(\theta_y) \ddot{x} + m_1 \sin(\theta_y) \ddot{y} + m_1 \ddot{l}_1 - m_1 l_1 \cos^2(\theta_y) \dot{\theta}_x^2 - m_1 l_1 \dot{\theta}_y^2 + m_1 g \cos(\theta_x) \cos(\theta_y) = F_l 
\end{cases} \quad (5) $$

where $q = (x, y, \theta_x, \theta_y, l_1)^T$, $F_x$, $F_y$ and $F_l$ are as above. The kinetic energy and the specific form of the matrix $C(q, \dot{q})$ yielding the skew-symmetry property (useful for passivity-based control design) are given in Appendix C. The dynamics (5) are derived with a different pair of angles in [56].

## 2.2. Double-pendulum models

This model is depicted in Fig. 2(b) in 2D operational space. Compared to (2), the effect of the tool can be considered. The dynamical equations corresponding to this model with constant links' lengths and constant masses are as follows with $q = (x, \theta_1, \theta_2)^T$ [234]:

$$ egin{cases} 
(a) & (m + m_1 + m_2)\ddot{x} + (m_1 + m_2)l_1 (\ddot{\theta}_1 \cos(\theta_1) - \dot{\theta}_1^2 \sin(\theta_1)) + m_2 l_2 \ddot{\theta}_2 \cos(\theta_2) - m_2 l_2 \dot{\theta}_2^2 \sin(\theta_2) = F - f_r \\[1.5em] 
(b) & (m_1 + m_2)l_1 \cos(\theta_1)\ddot{x} + (m_1 + m_2)l_1^2 \ddot{\theta}_1 + m_2 l_1 l_2 \cos(\theta_1 - \theta_2)\ddot{\theta}_2 + m_2 l_1 l_2 \sin(\theta_1 - \theta_2)\dot{\theta}_2^2 + \\ 
& \quad (m_1 + m_2)g l_1 \sin(\theta_1) = 0 \\[1.5em] 
(c) & m_2 l_2 \cos(\theta_2)\ddot{x} + m_2 l_1 l_2 \ddot{\theta}_1 \cos(\theta_1 - \theta_2) + m_2 l_2^2 \ddot{\theta}_2 - m_2 l_1 l_2 \sin(\theta_1 - \theta_2)\dot{\theta}_1^2 + m_2 g l_2 \sin(\theta_2) = 0, 
\end{cases} \quad (6) $$

where $m$, $m_1$, $m_2$ are the cart, tool and payload masses, respectively, $\theta_1$ and $\theta_2$ are the primary and secondary sway angles, respectively, $l_1$ and $l_2$ are the (constant) lengths of the cable and (constant) distance between the tool and the payload, respectively. Eq. (6) has been considered by the references listed in Table 5. Such a model can be generalized to the case where the lengths of the links are variable as indicated by the letter $l$ in the sixth column of Table 5. Moreover, the 3D form of this equation has been used by the references
<figure><img src="image_5.png" /><figcaption>Figure 2: 2D models used for OCs (a) single-pendulum (b) double-pendulum (c) flexible pendulum models</figcaption></figure>

shown in Table 8. The mass matrix in 2D operational space and *N* links with varying lengths, is obtained in Appendix A. The mass matrix and the nonlinear inertial forces/torques are detailed for the double-pendulum in 2D operational space and with varying lengths *l*₁ and *l*₂ in Appendix B, for the 3D operational space with constant lengths in Appendix E, and for the 3D operational space with varying lengths in Appendix F. The next step is to consider the model for the 3D OC with varying links' lengths, and a 3D payload (a container) associated with three orientation angles. This yields an 11-degree-of-freedom system which would allow the designer to take payload rotational nonlinearities into account. This is not tackled in this article, however.

**Remark 1.** The pendulum-like models (2) to (6) may present extra dynamics. For instance, considering the payload as a liquid container, rather than a point mass payload, the system presents sloshing dynamics [13, 17, 141]. Various finite-dimensional, multibody models of sloshing are proposed in the literature [141, 139, 109], and some of them have been validated experimentally [139]. This adds degrees of freedom to the OC system and increases its underactuation.

**Remark 2.** In the models presented in Fig. 2, the dynamics of the supporting structure have been totally neglected. However, due to the weak materials, the supporting structures may not present infinite stiffness leading to deformation and vibration [89]. Modeling such flexible structures usually leads to coupled partial differential equation-ordinary differential equations (PDE-ODEs).

**Remark 3.** In this article the focus is on the design of *F* (or *F*<sub>*x*</sub> and *F*<sub>*y*</sub>) as feedback controllers. Another approach, usually employed in industrial contexts, consists of assuming that this control stage is designed such that any desired motion, possibly modified online by an operator, can be perfectly tracked. Then the control problem becomes that of designing a suitable desired motion. This is known in the literature as the operator-in-the-loop [203, 88, 87, 86, 189, 115, 254] method, with velocity commands. See section 3.8 for more details and references.

The pendulum-like models, e.g., (2) to (6), are presented in the fully nonlinear form that may be difficult to analyse, especially in closed-loop form. Hence, approximated models, such as the tangent linearized model as well as the cubic model have been developed in the literature [169]. Compared to the linearized model, the cubic one contains cubic nonlinearities allowing the bifurcation analysis (see Remark 2 in [163]).

## 2.3. Pendulum-like model with flexible link

Several kinds of flexibilities, e.g., transversal deflection (see Fig. 2(c)) and length extension [194, 128] can be taken into account in this category, leading to several different equations depending on the flexibility types. The models in this category lead to PDE-ODEs, e.g., linear wave equation [64, 118, 69, 67] or
<figure><img src="image_6.png" /><figcaption>Figure 3: 3D representation of the single-pendulum (a) and double-pendulum (b) models</figcaption></figure>

semilinear wave equation [140], caused by the cart and cable dynamics, that need to be spatially discretized with finite-element methods (FEM) for simulation and for control application (for instance see [79]) and yield finite-dimensional Lagrange systems based on FEM approximations of the wave equation [71], and Rayleigh-Ritz discretization [62]. According to the literature, the PDE-ODEs corresponding to such models follow several different conventions depending on the flexibility types, leading to different equations. The list of references dealing with the flexible cables in cranes is provided in Table 6 (see Table 1 for the notation). A modeling scheme in this category is briefly introduced below. Assuming that the coordinates are selected as in Fig. 2 (c), the corresponding PDE-ODE model is as follows [69]:

$$ 
\left\{ 
\begin{array}{l}
\bar{y}_{tt} - (a\bar{y}_z)_z = 0 \\
\bar{y}_z(-L, t) = 0 \\
\bar{y}(0, t) = x(t) \\
\ddot{x}(t) = \lambda(a\bar{y}_z)(0, t) + F/m \\
a(z) = g(z + L) + \frac{gm_1}{\rho}, \quad \lambda = \frac{(m_1 + \rho L)g}{ma(0)}
\end{array}
\right.
\qquad (7)
$$

where $\bar{y}(z, t)$ is the horizontal displacement at point $z$ in $[-L, 0]$ and time $t \ge 0$, $x$ is the cart position, $\bar{y}_z(z, t)$ denotes the link's angular inclination, $\rho$ is the mass per unit length of the link, and $L$ is the length of the cable. Following [69], (7) is only valid around the vertical posture when the cable is non-stretching, and the payload acceleration is negligible compared to $g$ (another interpretation, as done in e.g., [272], is that the mass of the payload is much larger than the mass of the cable). Another assumption is done in [53] where a coupled ODE-PDE-ODE model is considered, that is the same model as in (7), but with an ODE instead of the second line of (7). Furthermore Eq. (7) has been developed for the case when the length of the cable is variable [118, 67]. The letter $l$ in the sixth column of the Table 6 indicates the references dealing with flexible cables with variable lengths.

## 2.4. Paralleled multi-cable models

In a real crane, the payload is usually suspended through several parallel cables. To study the posture of the payload, kinematic models have been developed in 2D and 3D spaces. Compared to the pendulum-like
models introduced in Secs. 2.1 to 2.3, such models have not been yet used for the controller design and
only the kinematic models have been developed without addressing the dynamics (to the best of authors'
knowledge, [41] is the only reference where a dynamic model has been developed for the multi-cable case.
However, the obtained model has not been used for the controller design because of its complexity). The list
of the references considering the kinematic of the cranes in 2D and 3D spaces are listed in Tables 9 and 10,
respectively.

**Remark 4.** The introduced models are presented in their basic forms and several factors including cart friction [178, 14], damping [269, 297] and stiffness [241] in the joints, actuator dynamics [188] and sensor noise [209, 114], elasticity in the supporting structure [89, 283], different uncertainties and disturbances [295, 274, 187, 282] can slightly modify the above-mentioned equations.

2.5. *Properties of the models*

OC systems have the following peculiar features:

1. **Large underactuation:** the degree of underactuation $d_{\text{unac}}$ is equal to the number of degrees of freedoms, minus the number of independent torque inputs in $Q$. In $N$-pendulum multibody models of cranes, there are $1 + 2N$ (with $N$ the number of joints) in the 2D case with varying lengths, or $1 + N$ in the 2D case with fixed lengths, or $2 + 3N$ (3D case with varying lengths) or $2 + 2N$ in the 3D with fixed lengths, degrees of freedom. In a typical overhead crane, the number of independent inputs varies from 1 (trolley controller in 2D space) to 3 (trolley and length controllers with a winch in the 3D space). Thus $d_{\text{unac}}$ is usually very large (if an infinite-dimensional cable's model is chosen, it is even infinity), which makes crane mechanisms occupy a particular place in the class of underactuated systems, which in fact contains a variety of systems [146].

2. **Dynamical couplings:** in view of large $d_{\text{unac}}$, the couplings between the actuated and the unactuated coordinates dynamics, and between the unactuated coordinates dynamics themselves, play a major role in the general dynamical behavior of cranes and more specifically in their control.

3. **Passivity:** passivity is one major property of Lagrange systems [34]. System (1), seen as an input/output operator $Q \mapsto \dot{q}$, and under a boundedness condition on the potential energy, is passive, i.e., $V(q(t), \dot{q}(t)) - V(q(0), \dot{q}(0)) \le \int_0^t Q^\top(s)\dot{q}(s)ds$ along the trajectories of the system, and where $V(q, \dot{q}) = T(q, \dot{q}) + U(q)$ is the total mechanical energy. However, the passive outputs usually do not correspond to the output to be controlled, mainly due to the noncollocation. A passive mapping can be recovered by defining another suitable output function [116, 62].

4. **Output/input collocation or noncollocation:** a pair output/input is said collocated if the feedback is using only the part of the generalized coordinates on which the input torque performs work. For instance, the trolley is controlled with the force $F$ which works on the displacement coordinate $x$, hence the pair $(F, x)$ is collocated. If the actuator dynamics are considered and $F$ is seen as the output of the actuator, then collocation is lost. If $F$ uses the payload's coordinates it is lost also. Noncollocation is known to make the control problem much harder.

5. **High flexibility:** though cables are not the only flexible systems encountered in mechanics, they may be one of the most flexible ones. The high flexibility of cables also leads us to consider various different dynamical regimes:

* Small amplitude-high frequency waves (vibrations) when the cable stays close to the vertical posture,
* Large-amplitude motions during which the cable behaves like a pendulum that swings,

* Large-amplitude waves with lower frequency, which travel through the cable.

An important question for control design is: When do these regimes occur (i.e., with which initial conditions and parameters)? Characterizing the modes of the cable seems mandatory. This may also imply splitting the overall control problem into subtasks relying on different models and controllers.

6. **Cables with variable length:** this may be a consequence of cable's longitudinal elasticity, or of winding mechanisms used to add a control input (see section 3.5). This is considered in robotic systems involving cables [116], in tethered systems with long hoisting ropes (marine or space applications [201, 113]). In case of winding, this implies considering varying cable's total mass (depending on the length in some way) in the derivation of the dynamical equations, and a variation of the trolley's mass as well (the total mass being kept constant). If the length variation is very small, or if the cables' total mass is small compared to the hook and payload masses, the cables' mass variation may be neglected, however [201]. This is what is done to obtain (3) as well as its double-pendulum counterpart [32, section 5.4]. See Remark Appendix A.3 in Appendix A.

7. **Cables slackness mode:** cables can exert very large forces when in the tensile mode, however, they cannot exert any action when they are slack [91]. Long cables undergoing large oscillations/deformations may undergo such phenomena. This yields models with complementarity constraints and impacts [31, Example 1.6].

8. **Large variations of the payload mass:** payloads can have very large mass (several tons), and typical tasks involve motions with and without payloads, hence huge variations of the system's inertial parameters. Should this be taken into account by designing robust inputs, adaptive inputs, or switching control strategies?

## 2.6. Main sources of disturbances and uncertainties

In addition to cable flexibilities, other effects considered as disturbances/uncertainties can be incorporated for control design or in the numerical benchmarks:

1. **Disturbances:** Coulomb-like friction between the trolley and the rails, mechanical play (static or dynamic backlash), measurement noise (sensors), uncertain parameters (inertial parameters), wind gust, collision and vessel movement for applications where the OC is mounted on a boat or a floating platform.

2. Large parameters variations (e.g., switching between heavy-payload and payload-free subtasks),

3. **Neglected dynamics:** actuator dynamics, cable flexibilities (for pendulum-like models), multiple cables vs. single cable (kinematics at the payload attachment), 3D effects (for 2D designs), like payload rotations involving nonlinear inertial torques, and flexibility in the crane's structure.

4. **Output definition:** The cable flexibility hinders to define and measure specific sway angles, e.g., $\theta_1$ and $\theta_2$, as shown in Fig. 2. Hence, sway measurement can be considered as a source of uncertainty and disturb the measurements.

## 2.7. Validity

The mentioned models have some limitations and cannot be used in any condition:
* Single-pendulum model: This is the simplest model, making the control design easier. However, the secondary sway caused by the presence of a tool is ignored in this model. Hence, such a model should be avoided when there are heavy tools.

* Double-pendulum model: This model is more accurate than the single-pendulum one since it takes into account the presence of the tool and can model the secondary sway. However, it still cannot take into account the cable dynamics other than the two sway angles $\theta_1$ and $\theta_2$. Hence, in the absence of payload, when the cable's flexibility is dominant, this model and the single-pendulum one should be avoided. Moreover, when there is a heavy payload, the cable may behave as a string and therefore high-frequency vibrations that exist in the cable cannot be shown with such models.

* Pendulum-like model with flexible link (string or wave equations): cables, in general, can present rich dynamical behaviors e.g., transversal deflection, length extension, torsion. As can be seen in Table 6 this topic has not yet been considered deeply for the overhead cranes and it is not clear how these dynamics can affect the overall systems behavior of OCs. To the best of the authors' knowledge, and according to Table 6, such models are only valid around the vertical posture of the cable and, hence, they are quite local and are unable to show the global nonlinearities that can be modeled by the single and double-pendulum systems.

*It is noteworthy that the two main classes of models considered so far for control design belong to two "extreme" classes: 1) multibody model with few degrees of freedom, global nonlinearities, few vibrational modes, 2) infinite-dimensional (PDE) linear model, valid only very locally around the vertical posture.*

* In the three above-mentioned modeling categories, it is always assumed that the payload is a point mass and therefore, it is not possible to model the orientation and 3D motions of the payload. Hence, in the presence of unbalanced payloads (payload eccentricity) more sophisticated models are required. However, controller design for such systems requires more elaborated kinematics and dynamical modeling which makes the controller design cumbersome. As can be seen in Tables 9 and 10, these kinds of models have not been used yet for the controller design.

*Multibody models are limited in terms of flexibility and cable's vibration modeling. Nevertheless they can become quite complex and nonlinear when enough effects are taken into account (notwithstanding disturbances). This is witnessed by the dynamics reported in the Appendix, see also the multi-cable system's dynamics in [41, Equations (28)-(30)].*

A simulation-oriented model will be developed in Sec. 5 in order to provide a more accurate model for numerical simulations without some of the limitations mentioned above.

### 3. Review of the control strategies proposed for OCs

The main control objective in any industrial crane is payload positioning. However, due to the underac- tuation, the payload cannot be controlled directly, and the payload motions are controlled indirectly through the forces applied to the cart (F in Fig. 2). In this case, the payload sway introduced in Sec. 1 may result in poor positioning. The control strategies developed for OCs are classified into three categories in Secs. 3.1 to 3.3.
### 3.1. Open-loop control

In this section, we introduced the open-loop controllers which have been used to control OCs.

#### 3.1.1. Input shaping

In these schemes, the input $F(\cdot)$ of the system is calculated such that the natural frequencies of the system are not excited [72] (see for example [95] for the very first works in this topic). A common approach in this class is to obtain the dynamic equations and extract the tangent linearization around a nominal operating condition. The linear model is then used to derive the natural frequencies. This approach is usually used along with a human-operated crane system [224]. In another approach, linearized equations are used to calculate the responses of the system. Subsequently, an acceleration profile is calculated such that the total response of the system satisfies constraints on the operation time, sway, and hoisting speed [9]. Input shaping usually provides cost-effective solutions since the sensors and the feedback path are not required [256]. Following the literature, the application of open-loop input shaping is rare and it is usually integrated with sensors and control feedback to compensate for the wind rejection [244], systems initial sway [262, 261], uncertainties [173], or time-delay compensation [259].

Input shaping has also been developed for double-pendulum models to avoid excitation of the primary and secondary oscillatory modes [221, 255, 173]. Some references have considered input shaping design for specific applications such as a suspended liquid container with slosh effect [13, 117, 141]. Zero vibration (ZV) [223] and zero vibration derivative (ZVD) [101] are two well-known input shaping algorithms that achieve sway reduction by convolving the unshaped input (usually bang-bang time optimal input) with a sequence of impulses. These approaches have been utilized by taking into account some constraints on the sway angles during the transient [102]. While input shapers are usually designed based on tangent linearization of the nonlinear models, there are also some works that are dedicated to nonlinear input shaping design based on heuristic algorithms such as particle swarm optimization (PSO) [157]. Another input shaping scheme has been proposed by [10] based on the trigonometric manipulations of the responses, and it is shown that in the nominal case, the final sway can be eliminated. Moreover, this method may show a faster response compared to the ZV method. The effect of the hoisting during the motion in the presence of several input shapers has also been studied by [222].

#### 3.1.2. Flatness theory

Flatness theory is a known strategy in control theory to provide a mapping among inputs and outputs of the system, and hence, it can be used to handle the underactuated dynamics of OCs since the inputs and states of OCs can be expressed by flatness outputs. The aim of this method is to generate a reference trajectory for the cart in order to achieve the payload positioning without sway [80]. This is mainly an open-loop technique that can be combined with some closed-loop controllers [306, 124, 65]. Before explaining this topic, it should be noted that the desired trajectory is normally defined for the payload and not for the cart. According to the literature, the flatness theory can help with the following items:

* Calculating a map between the desired cart and payload positions. This is especially useful for applications with the pre-installed speed driver where the input is the desired cart position [29, 80, 92, 291].

* Flatness theory can be used to generate the desired trajectory based on the desired final position such that the total motion is robust against the perturbations [306].
* Calculating the control force required for tracking [306, 80].

* System linearization, different from the feedback linearization (FL) strategy [306].

* Taking the actuator dynamic into account for the controller design [124, 80].

### 3.1.3. Path planning

In this method, the control law is calculated in an online [231] or offline [237] manners based on the model to minimize an objective function for some sort of optimality such as energy [238] or time [305]. Some of the input shaping schemes can also be categorized in this section. For example, [305] has used dynamic programming to optimize the trajectory based on the input shaping strategy. However, the effect of the actuator dynamic on global optimality is usually neglected in such studies. Path planning strategies have been proposed in [237, 231] to avoid payload sway.

## 3.2. Collocated control

Compared to the input shaping, this is a closed-loop strategy where a control algorithm computes the input signal according to the collocated feedback, i.e., cart position, and/or velocity $(x, \dot{x})$ from the output. In other words, $F = F(x, \dot{x}, t)$ and $F_l = F_l(l_1, \dot{l}_1, t)$ in (3). PID (proportional integral derivative) control is the most used collocated control strategy. This kind of controller is implemented by default on many speed drivers used in OCs. PID controllers are designed based on the tangent linearized models using classic control tools like loop-shaping [135]. Its parameters can also be tuned using Ziegler-Nichols method [220]. Reference [180] has developed a trajectory velocity reference for the cart based on the S-curve technique to control the sway. Afterward, a PID controller has been used to track the mentioned velocity reference where the only required measurement to build the feedback is the cart position. A similar strategy has been presented in [83] where many details like parameter tuning, filter design, and practical implementations have been addressed. It is shown in [76] that a single PD controller with just a measure of the cart position can make the whole system asymptotically stable, including the underactuated dynamics even in a 3D operating space [183]. However, as reported in [183], such a collocated control may lead to poor sway reduction. Hence, noncollocated feedback, e.g., sway angles are included in the control law by [183] to increase the damping. A Lyapunov function allowing the calculation of control laws without having feedback from the sway angle has been developed in [233]. Furthermore, some adaptation rules are also developed in this study based on the Lyapunov function for uncertainties in the payload's weight, friction, etc. The collocated PID controller has been integrated with a neural network in [110], and it is shown that it provides a better payload positioning compared to the classic PID. Feed-forward terms can be added to the collocated PID controller for the tracking applications [218].

**Remark 5.** Some of the references have neglected the speed drivers and the feedback inside, and considered the collocated control strategy as an open-loop scheme. The main contribution of such works is to calculate or modify the reference trajectory, e.g., using notch filters [202], smoothing the reference trajectory [29], and flatness theory in order to avoid the payload sway [29]. Because of the fast and accurate operation of modern speed drives, such methods can lead to appropriate solutions for industrial applications as reported in [29]. It should be noted that while the modification of the reference trajectory can significantly help to reduce the payload sway, it has not been deeply taken into account in this work. The trajectory design or modification can be integrated with the majority of the controllers developed in this work.
### 3.3. Noncollocated control

Compared to the collocated control, the noncollocated one needs the payload coordinates as well, e.g., payload sway, i.e., $F = F(x, \dot{x}, \theta_1, \theta_2, \dot{\theta}_1, \dot{\theta}_1)$. The noncollocated control strategies introduced in the literature are as follows.

#### 3.3.1. Gain-scheduling

Gain-scheduling refers to a method where the gains of the controllers are calculated offline to build a lookup table based on the operating condition. Such a strategy has been developed in [177, 178] where the gains of a feedback controller are selected based on the linearized model such that the response is critically damped to avoid sway oscillations.

#### 3.3.2. Noncollocated PID (quasi-PID) control

In addition to the collocated PID (see Sec. 3.2), the PID controller may use noncollocated feedback [161]. Noncollocated quasi-PID control laws have been designed for single and double-pendulum systems in [303] [240], respectively, based on the Lyapunov theorem to avoid control saturation. The PID controller may also be integrated with neural networks to compensate for the steady-state error as introduced in [246]. It should be noted that the application of PID controllers in human-in-the-loop applications has also been considered by [190]. Furthermore, several configurations of PID control families have been studied for OCs in [177] and compared with a fuzzy controller. It is concluded that tuning the parameters of the fuzzy controller could be cumbersome. However, with proper tuning, the fuzzy controller shows a better transient time than the PID controller. But, in the case of sway control, the PID controller shows better performance than the fuzzy one. Another reference in this subject is [220] where the parameters of a PID controller are tuned based on a reinforcement learning scheme and it is concluded that such a scheme can supersede the classic PID controller in terms of performance.

#### 3.3.3. Linear state-feedback control

In this method, a linear model is developed based on a linearized model (tangent linearization) and then a state-feedback law is developed based on classical methods [7, 111, 195, 167]. Such a strategy is used by [196, 179] along with state-observers.

#### 3.3.4. Passivity-based control

Passivity-based control (PBC) is a well-known control strategy to analyze or guarantee stability by studying energy dissipation [34]. This method can be used to design a control signal such that the energy of the system remains bounded, leading to bounded-input bounded-output (BIBO) stability. Considering the system shown in (2), and assuming that the energy (Lyapunov function) can be defined as $E = 1/2m\dot{x}^2 + m_1gl_1(1 - \cos\theta_1)$, the rate of the system's energy is $\dot{E} = \dot{x}F$. Any control signal $F$ leading to $\dot{E} \le 0$ ensures the BIBO stability of the system (See Remark 6). It can be shown that a collocated PD control $F = -\dot{x}$ can lead to such stability. While a collocated control strategy, e.g., $F = -\dot{x}$, can make the whole closed-loop control system asymptotically stable (as reported by several references such as [58, 74]), it may not be able to control the payload sway efficiently since the noncollocated dynamics are controlled only because of the natural dynamical coupling between the cart dynamic and the payload one [74] (see (2) and (6)). This issue has been further addressed by [230] and supported by analytical results, where horizontal displacements of
the payload have been considered as a new output (see (8) in [230] as well as [48]) and it is shown that the map between the input force and the horizontal payload velocity can also be passive and dissipative (see (11) in [230]). This can be done by defining a new storage function for the OC which includes the payload horizontal displacement. Subsequently, a new passivity-based control law has been proposed which includes both actuated (cart position) and underactuated (payload position) variables and the asymptotic stability has been ensured based on the Lyapunov and LaSalle's invariance theorems. Since the new control law contains the underactuated dynamics, it may lead to a more efficient sway control strategy as reported by [230].

**Remark 6.** *Assuming again single-pendulum model (2), and the mentioned energy function* $E = 1/2\dot{x}^2 + m_1gl_1(1 - \cos\theta_1)$, *leading to* $\dot{E} = \dot{x}F$, *the control* $F = -\dot{x}$ *just leads to* $\dot{E} = -\dot{x}^2 \le 0$ *which is semi-negative (θ₁ is absent in E)*. *Hence, Lyapunov stability usually cannot ensure the asymptotic stability of the system (convergence of θ₁, θ₂ to the origin), and LaSalle's invariance principle should be further used to ensure the asymptotic stability.*

Another passivity-based design is the interconnection and damping assignment (IDA) where the sum of the physical potential and kinetic energies are considered and the controller is designed such that the amount of this function is minimized for the desired equilibrium point. The IDA-PBC provides a systematic way to obtain stabilization through two steps. The first step is the so-called *energy shaping* where the desired storage function is designed [300]. Subsequently, the *damping injection* technique is utilized to provide asymptotic stability. However, IDA-PBC law usually requires solving PDEs which might be difficult to handle. Such a strategy has been developed for underactuated systems by [18] and implemented on an OC based on some simplifying assumptions, e.g., $\sin(\theta) \approx \theta$ and $\cos(\theta) \approx 1$. In [11], two LTI models have been developed for OCs. The first one is based on the tangent linearization of the single-pendulum model. To obtain the other LTI model, the flexibility of the cable corresponding to the single-pendulum model has been taken into account which led to a PDE. This passivity approach has been successively used for infinite-dimensional crane models in particular in [67, 69, 66, 53], exploiting the energy function that may differ from the considered model. Subsequently, the PDE has been solved based on the Laplace transformation to form the transfer functions in the Laplace domain. It is shown that these two transfer functions are positive real (PR) [34]. Hence, any strictly positive real (SPR) block can be placed in the feedback path to form a passive closed-loop control system. The coefficients of such SPR controllers are designed based on an optimization technique. The same strategy has been employed by [216] with the difference that the torque applied to the winch ($F_l$ in (3)) has been also taken into account for position tracking of the load. PBC has also been developed for the 3D operating space with *initial control saturation avoidance* [304]. *This method has been extended in* [299] *without partial feedback linearization to improve the robustness*. An energy shaping method has been introduced by [236, 277] for 3D problems where the differentiations of the variable do not appear in the control law to form an output feedback control (see also [302] which employs both the angle displacement and its derivative). The method is different from the IDA-PBC and another storage function has been defined based on the concept of virtual payload. Another PBC design has been introduced by [277] where the main contribution is to define a new output function that contains both cart and payload coordinates. Subsequently, a storage function is defined based on this output. Note that partial feedback linearization (PFL) is used in the beginning to obtain the appropriate dynamic equations for the control design. Since the position has been taken into account in the error signal, the damping characteristic is not constant and changes according to the distance to the desired position which can reduce both load
sway and operation time. Lyapunov and LaSalle's theorems are employed to show the asymptotic stability.

In [301], the PBC adopts barrier functions on the coupled-dissipation signal, so that the payload position is guaranteed in a predefined scope during the whole transportation. In the mentioned work, a new storage function containing both actuated and underactuated dynamics has been proposed to form a non-collocated control strategy (see also [47] where the barrier function-based antisway control of overhead crane is proposed). For infinite-dimensional systems, LaSalle's invariance principle could be also applied, but it requires proving a precompactness property for the solutions [225], that could be proven by studying an injection (as done in e.g. [199]) that could be difficult to establish and that is not needed when using, e.g., backstepping control design (as described in Section 3.3.7 below). In the context of OC, this approach has been successively applied in [69, 66, 64].

### 3.3.5. Feedback linearization (FL)

The aim of FL is to provide a linear input-output map by canceling the nonlinearities and hence enabling to use the design and analysis methods developed for the linear systems. As it is reported by [277], the FL cannot be implemented for the underactuated systems directly and it is necessary to use Spong's transformation [229] for the actuated and unactuated coordinates [252]. In (2), one computes $\ddot{\theta}_1(\ddot{x})$ from (b), and inserts it in (a) to get the $(x, \dot{x})$ controlled dynamics. In (3), one computes $\ddot{\theta}_1(\ddot{x})$ (c), and insert it into (a) and (b) to get the $(x, \dot{x}, l_1, \dot{l}_1)$ controlled dynamics. Similar manipulations are performed with (4) (c) (d) and (a) (b), with (5) (c) (d) and (a) (b) (e), and (6) (a), (b) and (c) (see Appendix G for more details and developments). Using this transformation, it is possible to study the underactuated Euler-Lagrange systems in terms of controllability and the possibility of linearization by state feedback [206]. However, as reported by [206], unactuated dynamics as in (G.5) are usually nonintegrable and thus can be interpreted as second-order nonholonomic constraints, which do not reduce the state-space dimension. Such studies seem to be absent in the literature for OCs control.

In [186], firstly, the dynamic model of an OC with variable-length link has been obtained and it is shown that there is coupling between the cable's length and the sway dynamic (see Appendix A for more details). Subsequently, a control law has been proposed which can be divided into two parts, to control the actuated and underactuated dynamics. Asymptotic stability is also shown using the Lyapunov theorem. Reference [130] has proposed a PFL controller to control the sway angle. Subsequently, a sliding-mode control (SMC) is designed for the hoisting mechanism. The combination of these two controllers is also addressed. A control scheme based on the FL has been developed in [56] and its asymptotic stability has been studied. This scheme has also been compared with the PD [74] and a Lyapunov-based control called $E^2$ coupling control law [76]. PFL has also been developed for 3D case [276, 235]. In [138], firstly, a single-pendulum 3D model has been obtained which includes three inputs and five outputs and then the actuated and underactuated dynamics have been separated. Subsequently, a map between actuated and underactuated systems has been achieved. After that, the FL technique is used to obtain the required control forces for the actuated and unactuated dynamics, and finally, the linear combination of these control laws is applied to the system. This strategy has also been integrated with the SMC by [252]. Furthermore, FL control for the 3D motion of an OC is introduced in [250] where the controller is mainly designed for the actuated parts and the sway angle is considered an unactuated dynamics. Subsequently, it is shown that the unactuated dynamics are locally stable by analyzing the zero dynamics using Lyapunov's linearization theorem. An FL control has
been studied in [30]. Since this method can be sensitive to the payload mass, a mass estimator has been
developed, and exponential stability has been assured using the Lyapunov theorem. While FL can lead to a
lack of robustness (since it relies on the system's parameters) it can stabilize the internal dynamics [93]. A
deadbeat control scheme is then used by [93] after FL to improve the time-optimality. According to [290],
in FL, a singularity may occur around the equilibrium point which makes the control design complicated.
This problem has been resolved by separating the whole dynamics into fast and slow parts, corresponding
to the average and oscillatory movements, and designing two different controllers for these parts.

3.3.6. Sliding-mode control (SMC)

SMC is another widely used approach in this topic because of its robustness to matched and unmatched
disturbances [90, 103, 50, 263]. It can also handle the elasticity exists in the supporting structure as reported
by [61]. In the simplest case, SMC has been designed for the single-pendulum model with a constant length
link, and a linear sliding surface is defined containing the cart position (x) and sway angle (θ₁), as well as
their time derivations [49]. Subsequently, an equivalent-based control law is proposed, and the asymptotic
stability of the closed-loop system is ensured based on the Lyapunov stability theorem. This classic approach
has been employed in [127]. A similar procedure with a variable length link has also been developed where
the sliding surface also contains error variables corresponding to the length of the link [136]. Note that the
SMCs in this topic usually need full-state feedback. SMC with a nonlinear sliding surface has also been
introduced for the single-pendulum [133] with variable length cable and double-pendulum [181, 50, 214]
systems. The SMC designed for the double pendulum system in [50] does not require the payload feedback,
i.e., secondary sway (θ₂), length of the second link (l₂), and the payload mass (m₂). In addition, SMC has
also been designed based on the tangent linearized model of the double-pendulum system integrated with
the state observer.

SMC is integrated with disturbance observers to compensate for disturbances based on the single-
pendulum model [149]. Similarly, [187, 188] have developed fuzzy observers for this purpose to estimate
the dead-zone characteristic of the actuator as an uncertainty when the SMC is used. Furthermore, [164]
has proposed an SMC for cart position, hoisting, and sway control. Since this control law depends on the
payload mass and friction factors, adaptation laws are developed to estimate these parameters [164] or to
tune the control gains [266, 103]. In addition to the first-order SMCs, other variants of the SMCs have
also been developed for the OCs such as super-twisting SMC [260, 263] leading to continuous structures.
Second-order SMC in 3D space without considering the hoisting mechanism has been addressed in [21].
This strategy has been further developed by [22] to include the hoisting mechanism as in (3). The sliding
surface depends on the load sway for sway reduction. As a result, a kind of virtual damping is added to the
closed-loop equations which stabilizes the zero dynamics corresponding to the unactuated dynamics. Such
a control strategy has been compared with the μ-synthesis controller [114] and it is concluded that the SMC
provides a better sway reduction, but it suffers from the chattering and higher energy consumption. An
adaptive fuzzy SMC has been developed by [137] for cart position and sway control in 3D space where two
linear sliding surfaces have been defined for the position and sway angle. The value of the sliding surfaces
is fed into a fuzzy system through two gains to generate the control signal. The gain of the sway angle is
calculated adaptively to achieve both tracking and sway reduction simultaneously. The design of the SMC
for the 3D operating space has been studied in other works [171]. For instance, SMC design for the single-
pendulum model in 3D space with a variable-length link has been addressed in [12] where a Luenberger
observer is used to estimate the velocities.

It should also be noted that SMC has been used along with FL scheme because of its robustness. For
instance, [130] has designed a PFL controller for the cart motion to control the sway angle. Subsequently,
an SMC is designed for the hoisting mechanism. Furthermore, a hybrid control strategy has been proposed
by [252] where SMC and PFL have been used together. The PFL is for sway control and the SMC is used
for payload lifting. An adaptive tracking SMC has been developed in [182] for a double-pendulum model
where one of the parameters of the sliding surface, i.e., the pole of the linear sliding surface, is calculated
based on an adaptation law. Asymptotic stability has been guaranteed based on the Lyapunov theorem.
Practical experiments show that the adaptive method can improve the tracking performance, compared to
a few non-adaptive schemes. A discrete-time integral SMC has been developed in [282] for a general class
of discrete-time linear systems, and robustness in the presence of matched and mismatched uncertainties
(which cannot be handled in typical SMCs) has been addressed. Application of this controller to an OC in
3D space is also considered. Another integral SMC has been designed for the negative imaginary systems
in [3] and the application of this control method on the OCs has been studied.

Some studies have also been dedicated to the numerical chattering reduction of SMCs implemented with explicit Euler methods using alternative methods, e.g., [188] where the control gain of an SMC is calculated using a fuzzy system to determine the width of the boundary layer of the saturation function to reduce the numerical chattering. Two SMCs, i.e., first and second orders strategies, along with the sliding-mode-based differentiators are developed in [23] and compared with the PI controller and a time-varying feedback strategy. Experimental results indicate that the SMC schemes are more robust than the other considered models. An SMC named “global-equivalent” has been introduced by [264] and compared with conventional SMC and the PID controller. The control is designed for the single-pendulum model with varying length links. The simulations show smaller chattering compared to the conventional SMC. The reaching phase of the system has been ensured. However, the sliding phase, as well as the stability of the sliding surface, has to be further addressed. Additionally, the chattering reduction mechanism, i.e., replacing the signum function with the saturation one to have a boundary layer, imposes extra design parameters to the system, where there is not any straightforward tuning procedure. This strategy has been further modified by [265] to form a time-variant sliding surface.

3.3.7. Backstepping control design

According to the literature, backstepping control has been used for overhead cranes when the model has a triangular form. Such a model usually appears when dealing with pendulum-like systems with a flexible link (7). In [67], considering the flexibility of the cable with variable length, a PDE-ODE model is obtained. Subsequently, a boundary feedback law is proposed to stabilize the system. Such a control law has been integrated with the neural networks to handle the uncertainties [155]. Since the cascade structure directly appears in the PDE-ODEs model, the backstepping control scheme can be utilized for the system [67]. See also [69], where the backstepping design is used to prove the exponential stability of the closed-loop system. Moreover, finite-time stability can be ensured using the same approach as done in [68, 272, 271, 145] for a fixed-length cable. To do that, a non-Lipchitz condition has been employed and nonlinear semigroup has been used to prove the global wellposedness of the closed-loop systems. Note that such property usually
is not observed in the ODEs developed for the single and double pendulum systems (2) and (6), and a state transformation may be used to realize a triangular system. Such a model has been obtained in [51] for an experimental OC. Subsequently, a backstepping controller has been designed and combined with the sliding-mode observer to form an output feedback control law.

### 3.3.8. Fuzzy control

Fuzzy control can be considered a model-free control scheme since it is designed based on the behavior of the system rather than the mathematical models. These kinds of control strategies are usually provided without solid stability proof. One of the earliest works on this subject has been done in [143]. In [308], a Takagi-Sugeno fuzzy model has been developed for an OC based on obtaining the dynamical equations, and linearization over three different points using three fuzzy rules. Then, the control rules are developed based on these rules. Input delay and actuator saturation are also considered in the control design. A terminal SMC has been designed in [144] where the uncertainties are estimated using a type-2 fuzzy system. The parameters of the fuzzy system are also tuned online based on adaptation laws developed in the work using the Lyapunov theorem. In [55], a self-organizing neuro-fuzzy system has been proposed based on the pseudo error concept. It seems that pseudo error is used as a kind of input shaping. As usual, there is no stability proof for such a model-free control strategy. An adaptive fuzzy control scheme coupled with $H_\infty$ control is designed in [274] for a class of nonlinear multi-input multi-output underactuated systems with a combination of dead-zone, hysteresis non-linearity in the input, external disturbance, and time-delays. The application of the control scheme for the cranes is then considered. Another fuzzy controller for a single-pendulum model has been developed in [285] which requires full-state feedback. In [285], a fuzzy inference system has been used for trajectory planning of the cart to reduce the payload sway based on the single-pendulum model and full-state feedback. Moreover, a fuzzy controller has been developed by [142] for the double-pendulum system in 2D space with variable length cable to address input uncertainties, e.g., dead-zone. The parameters of the fuzzy system are updated adaptively, and the effect of the adaptation has been taken into account for the stability proof using the Lyapunov theorem (see also [194] for fuzzy gain tuning of SMC in 3D operating space and cable length extension due to cable's flexibility).

### 3.3.9. Model predictive control

Model predictive control (MPC) calculates the control sequences based on the model to minimize some objective functions (e.g., corresponding to energy consumption [281]) over a horizon while satisfying some constraints like input saturation or collision avoidance. MPC can directly calculate the force [45], or on the other hand, it may just calculate the optimal trajectory integrated with other controllers [258]. MPC can be designed based on the tangent linearized [45, 258] or nonlinear models [211] of a single-pendulum. MPC has also been combined with offline trajectory planners to increase the calculation speed and realize a real-time implementation [258]. In [226], it is assumed that the dynamics of the cart and the sway angle are decoupled which is obviously unrealistic, see (2) to (4) and (6). Then two discrete-time transfer functions are obtained for input force to cart velocity and cart velocity to the sway angle. These transfer functions have fixed orders (first and two-order models), and the coefficients of these models are obtained using PSO. Subsequently, MPC is used based on these models. Inspired by [69, 67, 64] (see also [59, 131]), the paper [17] developed a control design method for Euler-Bernoulli and Timoshenko beam models, using linear abstract theory and nonlinear model predictive approach. The performance of the closed-loop systems is checked on
numerical simulations on a high-resolution scheme for the underlying PDE model. As explained in [126], MPC based on the nonlinear model may show a heavy calculation burden and special attention has to be made to its implementation, e.g., the multi-threaded implementation may be necessary.

### 3.3.10. Optimal control

Optimal control refers to any control method where the aim to minimize an objective (cost) function. The LQR is probably the most well-known one in the control community. An LQR controller has been developed by [288] for the linearized model of a single-pendulum system while satisfying some constraints on the control input to avoid control saturation. This approach was further developed for 3D operating space by [8]. However, the LQR controller can ensure optimality just for linear systems (or locally for nonlinear systems). To solve this drawback, soft computing-based algorithms like PSO have also been developed for optimal control of nonlinear systems. PSO algorithm has been employed by [156] to tune the parameters of a PID controller such that an objective function indicating the payload tracking error and sway are minimized. This scheme has been integrated with an input shaping scheme and compared with classic PID controllers. However, these approaches usually lead to offline optimizations which may lead to a lack of robustness to perturbations. Optimal controllers can be designed to satisfy some constraints on the state variables and the control input as well. Considering the constraints, the optimization usually leads to a boundary value problem [19], which can be solved by Pontryagin maximum principle. However, [158] has reported that optimal controllers can be sensitive to parameters, and they just provide a kind of sub-optimality for real online applications. Optimal controllers have also been designed considering the presence of winding and input torque [208] where the controller is designed based on five different operating conditions. Note that flatness theory is widely used in optimal control to provide a map among inputs and the desired outputs while respecting various constraints, e.g., collision avoidance [44].

### 3.3.11. Lyapunov-based control design

The Lyapunov method has been employed by almost all references either for control design or stability analysis. Methods that do not belong to other control classifications are reviewed here. This strategy may lead to full-state feedback for 2D [239, 217] and 3D problems [76]. The Lyapunov-based design has been compared with the linear quadratic regulator (LQR) and PD controllers for single-pendulum [298] and double-pendulum [307] models. Note that there is a very strong link between the Lyapunov-based control and passivity-based control when the Lyapunov function is the physical energy of the system. In this case, passivity-based theory can be used to investigate the stability and behavior of the system [230, 76]. Some studies have also been conducted to develop output feedback strategies based on Lyapunov design [234] or to avoid control saturation [234]. See also [275], where two Lyapunov functions have been proposed. The first one only includes the sway angle. By calculating their time derivatives, the desired velocity trajectory has been obtained to reduce the sway. The other Lyapunov function includes both the sway angle and the cart position and is used to obtain the control law.

The integration of the Lyapunov-based control with input shaping has been proposed in [297, 14] to reduce the payload sway. The Lyapunov-based design can be used to handle the unknown system's parameters, e.g., length of the cable, weights, and external forces [297, 14, 148]. In [75], an input shaping is developed for the cart to reduce the sway. Afterward, an adaptive controller is designed based on the Lyapunov method. This is a full-state feedback control, and the adaptation laws are derived for friction, external forces, cable
length, and weights. Lyapunov-based control design has also been considered for a multi-cable OC based on the equivalent single-pendulum model in [150]. A simple linear state-feedback controller is obtained, which contains the first derivatives of the state variables. The effect of the distributed parameter modeling in the state-feedback design when considering PDE models corresponding to flexible cables has been studied by [52] and it is shown that the system can remain exponentially stable. A Lyapunov-based feedback controller has been introduced by [64] where the model of the OC given by a PDE-ODE model and the flexibility of the cable has been taken into account (see also [89, 175, 174, 61] for the case where flexibility exists in the supporting structures). This control law only needs the absolute position of the cart and the angle between the cable and the vertical axis at the attached end. Asymptotic stability of the closed-loop system is ensured, and by studying the *decay of the energy*, it is concluded that the provided feedback cannot ensure uniform convergence (see also [52] for similar results with an input delay, [96] for the use of cooperative control in the presence of parameter uncertainties, and [241] with stiffness in the joints). A tracking controller has been developed in [296] for the 3D space, and it is concluded that this controller supersedes the collocated PD and the energy coupling output feedback [236] in terms of transient response. Another Lyapunov-based control strategy has been introduced for the double-pendulum system where the length of the first link is variable [219]. Subsequently, a Lyapunov function has been defined containing the error variables of both cart position and the cable's length to obtain the coupled control forces applied to the cart as well as the cable's winch for the tracking case (see also [148] for the double-pendulum model where the length of the first link is variable). The Lyapunov design has also been employed for the double-pendulum system in 3D space integrated with a fuzzy gain tuner [160].

### 3.4. Control in 3D operational space

The control of OCs in 3D space has been studied from a different point of view. The studies considering the control of lumped mass multibody models in 3D space are as follows:

* **Decentralized control:** In this method, the linearized model around a stable equilibrium point (vertical position) is used to design the controller. Under such conditions, the coupling among the axes is eliminated and controllers can be designed for each axis independently, without taking the couplings into account. In this case, the controllers that are designed for the 2D space can be used to control each channel, separately (the studies in this category are [246, 83, 289, 70]). Reference [156] has designed a PID controller to control one axis of a crane modeled in 3D space. The PID controller is tuned using the PSO algorithm to show the best possible payload positioning. Moreover, [157] has designed an input shaping control for one axis of a crane. Similarly, the PSO algorithm is used to tune the parameters of the shaper. To handle the coupling effect, in at least one study, each controller has been designed independently for each channel and the coupling is considered a disturbance. For instance, [260] developed a super-twisting controller while the coupling is considered a disturbance (though this is not an a priori bounded disturbance).

* **Control design considering the coupling:** In this category, the controllers are designed based on the nonlinear model of the system and the couplings among the axes have been taken into account in the control design. In this method, the controllers are usually designed based on a Lyapunov function containing the variables corresponding to all axes in order to derive a centralized control rule [277]. PFL has been also employed in this category to take the coupling into account [250, 252, 138, 236,
<table><caption>Table 1: Symbols used in the tables</caption><tr><td>Feedback (feed)</td><td>O: open-loop, C: collocated, N: noncollocated</td></tr><tr><td>Scenario (sce.)</td><td>R: regulation, T: tracking</td></tr><tr><td>Stability (stab.)</td><td>GE: global exponential, LE: local exponential<br>GA: global asymptotic, LA: local asymptotic<br>GF: global finite-time, LF: local finite-time, N/A: not available</td></tr><tr><td>Validation (val.)</td><td>S: simulation, E: experiment, SE: simulation and experiment</td></tr><tr><td>Control (cont.)</td><td>x: control cart in one direction, θ: just sway control<br>x, y: control cart in two direction, l: control the cable's length</td></tr><tr><td>Number of cables (NC)</td><td>The indicated number is the number of parallel cables. Moreover, R and F stand for rigid and flexible links, respectively</td></tr></table>

56, 276, 235]. While a centralized control law can be obtained based on these procedures to handle the coupling, the stability is usually ensured locally [250, 252, 138]. SMC is another approach in this category to handle the coupling [57]. Flatness control leads also to a centralized control law [124] in 3D space.

### 3.5. Sway control using cable length manipulation

All the above-mentioned studies try to control the payload sway by manipulating the force applied to the cart as the only control input. However, there are still other studies [267, 94, 28, 1, 2, 167] where the sway is controlled by manipulating the cable length $l_1$. In other words, the cable length is considered as a control input rather than a control output, and the dynamics corresponding to the winding mechanism are neglected. Couplings exist between the winding mechanism and the sway [1, 2, 167] (and between the $(l, \dot{l})$-dynamics and the rest of the dynamics, see section 2 and Appendix A, Appendix B, Appendix C and Appendix E for more details). Hence, cable length manipulation can be used to control the sway.

### 3.6. Sway control using passive mechanical elements

The above-mentioned references are considered as active control, i.e., the required damping for the stability is injected virtually using the force applied to the cart. On the other hand, some of the control objectives can be achieved by the implementation of passive dampers as introduced in [20], which is out of the scope of this paper. In this strategy, the cart is attached to the frame through mechanical dampers. This approach can modify the bifurcation point of the mechanical system leading to the payload sway reduction, as done in [20].

### 3.7. Summary of all methods

A summary of all studies presented for modeling and control of OCs is made in Tables 2 to 10. The nomenclature corresponding to these tables is provided in Table 1. These tables allow to review the literature at a glance and help in finding the most appropriate reference corresponding to each application.
<table><caption>Table 2: Summary of the control methods in 2D space for the lumped single-pendulum</caption><thead><tr><th>Ref.</th><th>Feed.</th><th>Sce.</th><th>Stab.</th><th>Val.</th><th>Cont.</th><th>Control method</th></tr></thead><tbody><tr><td>[186]</td><td>N</td><td>T</td><td>GE</td><td>SE</td><td>x</td><td>SMC</td></tr><tr><td>[49]</td><td>N</td><td>T</td><td>GA</td><td>S</td><td>x</td><td>SMC</td></tr><tr><td>[127]</td><td>N</td><td>T</td><td>GA</td><td>S</td><td>x</td><td>SMC</td></tr><tr><td>[93]</td><td>N</td><td>T</td><td>LA</td><td>S</td><td>x</td><td>Partial feed. lin. + deadbeat</td></tr><tr><td>[75]</td><td>N</td><td>T</td><td>GA</td><td>S</td><td>x</td><td>Lyapunov der. + adapt. frict. comp.</td></tr><tr><td>[135]</td><td>C</td><td>R</td><td>LA</td><td>E</td><td>x</td><td>PID</td></tr><tr><td>[133]</td><td>N</td><td>T</td><td>GA</td><td>S</td><td>x, l</td><td>SMC</td></tr><tr><td>[81]</td><td>N</td><td>T</td><td>N/A</td><td>S</td><td>x, l</td><td>Flatness</td></tr><tr><td>[136]</td><td>N</td><td>T</td><td>GA</td><td>E</td><td>x, l</td><td>SMC</td></tr><tr><td>[10]</td><td>O</td><td>-</td><td>N/A</td><td>SE</td><td>x</td><td>Input shaping</td></tr><tr><td>[45]</td><td>N</td><td>R</td><td>N/A</td><td>SE</td><td>x</td><td>MPC</td></tr><tr><td>[97]</td><td>N</td><td>T</td><td>LA</td><td>S</td><td>x</td><td>Feedback lin. + adaptive law</td></tr><tr><td>[233]</td><td>C</td><td>R</td><td>GA</td><td>SE</td><td>x, l</td><td>Lyapunov derived adaptive law</td></tr><tr><td>[4]</td><td>O</td><td>-</td><td>N/A</td><td>E</td><td>x</td><td>Input shaping</td></tr><tr><td>[170]</td><td>N</td><td>T</td><td>GA</td><td>SE</td><td>x</td><td>SMC</td></tr><tr><td>[164]</td><td>N</td><td>T</td><td>GA</td><td>SE</td><td>x, l</td><td>SMC with parameter estimation</td></tr><tr><td>[187]</td><td>N</td><td>T</td><td>GA</td><td>S</td><td>x</td><td>SMC + fuzzy uncertainty estimation</td></tr><tr><td>[209]</td><td>C</td><td>T</td><td>N/A</td><td>SE</td><td>x</td><td>Obs.-based time-delay tolerant PI</td></tr><tr><td>[285]</td><td>N</td><td>R</td><td>LE</td><td>S</td><td>x</td><td>State-feedback + fuzzy traj. generator</td></tr><tr><td>[188]</td><td>N</td><td>T</td><td>GA</td><td>SE</td><td>x</td><td>SMC + fuzzy compensator</td></tr><tr><td>[176]</td><td>N</td><td>R</td><td>N/A</td><td>S</td><td>x</td><td>Linear state feedback</td></tr><tr><td>[58]</td><td>C</td><td>R</td><td>GA</td><td>S</td><td>x</td><td>PD control</td></tr><tr><td>[177]</td><td>N</td><td>T</td><td>LA</td><td>SE</td><td>x</td><td>PD - fuzzy - time-delayed</td></tr><tr><td>[306]</td><td>N</td><td>R</td><td>Lya.</td><td>S</td><td>x, l</td><td>Flatness control</td></tr><tr><td>[65]</td><td>N</td><td>T</td><td>LE</td><td>E</td><td>x, l</td><td>Discrete-time flatness control</td></tr><tr><td>[102]</td><td>O</td><td>-</td><td>N/A</td><td>S</td><td>x</td><td>Input shaping</td></tr><tr><td>[222]</td><td>O</td><td>-</td><td>N/A</td><td>SE</td><td>x</td><td>Input shaping with hoisting</td></tr><tr><td>[275]</td><td>N</td><td>R</td><td>LA</td><td>S</td><td>x</td><td>Lyapunov derived</td></tr><tr><td>[298]</td><td>N</td><td>R</td><td>GA</td><td>SE</td><td>x</td><td>Lyapunov derived</td></tr><tr><td>[167]</td><td>N</td><td>T</td><td>LA</td><td>S</td><td>θ</td><td>Linear feedback (x, l are inputs)</td></tr><tr><td>[295]</td><td>N</td><td>T</td><td>GF</td><td>SE</td><td>x</td><td>Terminal SMC</td></tr><tr><td>[80]</td><td>O</td><td>-</td><td>N/A</td><td>S</td><td>x</td><td>Flatness control</td></tr><tr><td>[122]</td><td>N</td><td>T</td><td>N/A</td><td>S</td><td>x, l</td><td>Linear feedforward + GA generated traj.</td></tr><tr><td>[14]</td><td>N</td><td>T</td><td>GA</td><td>S</td><td>x</td><td>State-feedback with trajectory modification</td></tr><tr><td>[262]</td><td>N</td><td>R</td><td>N/A</td><td>SE</td><td>x</td><td>Input shaping robust to initial sway</td></tr><tr><td>[261]</td><td>N</td><td>R</td><td>N/A</td><td>SE</td><td>x</td><td>Input shaping robust to initial sway</td></tr><tr><td>[266]</td><td>N</td><td>R</td><td>GA</td><td>E</td><td>x</td><td>Terminal SMC with adaptive parameters</td></tr><tr><td>[103]</td><td>N</td><td>R</td><td>GA</td><td>S</td><td>x, l</td><td>Adaptive SMC</td></tr></tbody></table>
<table><caption>Table 3: Summary of the control methods in 2D space for the lumped single-pendulum (continued)</caption><thead><tr><th>Ref.</th><th>Feed.</th><th>Sce.</th><th>Stab.</th><th>Val.</th><th>Cont.</th><th>Control method</th></tr></thead><tbody><tr><td>[264]</td><td>N</td><td>Sce.</td><td>GA</td><td>S</td><td>x, l</td><td>SMC</td></tr><tr><td>[200]</td><td>N</td><td>R</td><td>GA</td><td>S</td><td>x</td><td>SMC</td></tr><tr><td>[300]</td><td>N</td><td>R</td><td>GA</td><td>E</td><td>x</td><td>Lyapunov derived</td></tr><tr><td>[224]</td><td>O</td><td>-</td><td>N/A</td><td>S</td><td>x</td><td>Input shaping</td></tr><tr><td>[305]</td><td>O</td><td>-</td><td>N/A</td><td>SE</td><td>x</td><td>Dynamic programming</td></tr><tr><td>[213]</td><td>N</td><td>R</td><td>LA</td><td>S</td><td>x</td><td>LMI design based on fuzzy model</td></tr><tr><td>[79]</td><td>N</td><td>T</td><td>LA</td><td>S</td><td>x</td><td>Linear state feedback</td></tr><tr><td>[281]</td><td>N</td><td>R</td><td>N/A</td><td>S</td><td>x</td><td>MPC</td></tr><tr><td>[230]</td><td>N</td><td>R</td><td>GA</td><td>SE</td><td>x</td><td>Lyapunov derived</td></tr><tr><td>[73]</td><td>N</td><td>R</td><td>GA</td><td>S</td><td>x</td><td>Lyapunov derived</td></tr><tr><td>[290]</td><td>N</td><td>T</td><td>LA</td><td>S</td><td>x</td><td>Approx. FL + LQR</td></tr><tr><td>[232]</td><td>N</td><td>T</td><td>GA</td><td>SE</td><td>x, l</td><td>Lyapunov derived</td></tr><tr><td>[196]</td><td>C</td><td>T</td><td>N/A</td><td>S</td><td>x</td><td>Observer-based linear state-feedback</td></tr><tr><td>[280]</td><td>O</td><td>-</td><td>N/A</td><td>S</td><td>x</td><td>Offline trajectory design</td></tr><tr><td>[44]</td><td>N</td><td>T</td><td>GE</td><td>SE</td><td>x</td><td>FL + flatness</td></tr><tr><td>[23]</td><td>C</td><td>T</td><td>N/A</td><td>SE</td><td>x, l</td><td>SMC</td></tr><tr><td>[130]</td><td>N</td><td>T</td><td>GA</td><td>SE</td><td>x, l</td><td>PFL + SMC</td></tr><tr><td>[226]</td><td>N</td><td>T</td><td>N/A</td><td>E</td><td>x</td><td>PSO model identification + MPC</td></tr><tr><td>[18]</td><td>N</td><td>T</td><td>N/A</td><td>E</td><td>x, l</td><td>Observer-based IDA-PBC</td></tr><tr><td>[55]</td><td>C</td><td>T</td><td>N/A</td><td>S</td><td>x</td><td>Neuro-fuzzy system</td></tr><tr><td>[114]</td><td>N</td><td>R</td><td>N/A</td><td>S</td><td>x, l</td><td>SMC, μ synthesis, state-feedback</td></tr><tr><td>[98]</td><td>C</td><td>R</td><td>LA</td><td>SE</td><td>x, l</td><td>State-observer based classic linear</td></tr><tr><td>[22]</td><td>N</td><td>T</td><td>GA</td><td>S</td><td>x, l</td><td>SMC</td></tr><tr><td>[223]</td><td>O</td><td>-</td><td>N/A</td><td>S</td><td>x</td><td>Input shaping</td></tr><tr><td>[259]</td><td>O</td><td>-</td><td>N/A</td><td>S</td><td>x</td><td>Input shaping</td></tr><tr><td>[149]</td><td>N</td><td>T</td><td>GA</td><td>SE</td><td>x</td><td>Disturbance observer based SMC</td></tr><tr><td>[125]</td><td>N</td><td>R</td><td>LA</td><td>SE</td><td>x</td><td>Convex combination of LTI systems</td></tr><tr><td>[19]</td><td>O</td><td>-</td><td>N/A</td><td>S</td><td>x, l</td><td>Optimal control (Pontryagin's principle)</td></tr><tr><td>[158]</td><td>O</td><td>-</td><td>N/A</td><td>S</td><td>x</td><td>Optimal control</td></tr><tr><td>[190]</td><td>C</td><td>R</td><td>N/A</td><td>SE</td><td>x</td><td>PD control</td></tr><tr><td>[89]</td><td>C</td><td>R</td><td>LA</td><td>SE</td><td>x</td><td>Lyapunov control considering structural deformations</td></tr><tr><td>[161]</td><td>N</td><td>-</td><td>N/A</td><td>S</td><td>x</td><td>PID with multi-objective genetic gain optimization</td></tr><tr><td>[179]</td><td>N</td><td>T</td><td>LA</td><td>S</td><td>x</td><td>Observer-based state feedback</td></tr><tr><td>[90]</td><td>N</td><td>R</td><td>GA</td><td>S</td><td>x, l</td><td>SMC robustness to matched and unmatched disturbances</td></tr><tr><td>[303]</td><td>N</td><td>R</td><td>GA</td><td>E</td><td>x</td><td>Quasi-PID with control saturation avoidance</td></tr><tr><td>[126]</td><td>C</td><td>R</td><td>N/A</td><td>E</td><td>x</td><td>Nonlinear MPC</td></tr><tr><td>[263]</td><td>N</td><td>R</td><td>GA</td><td>SE</td><td>x</td><td>SMC with disturbance observer</td></tr><tr><td>[9]</td><td>O</td><td>-</td><td>N/A</td><td>SE</td><td>x</td><td>Input shaping</td></tr></tbody></table>
<table><caption>Table 4: Summary of the control methods in 2D space for the lumped single-pendulum (continued)</caption><thead><tr><th>Ref.</th><th>Feed.</th><th>Sce.</th><th>Stab.</th><th>Val.</th><th>Cont.</th><th>Control method</th></tr></thead><tbody><tr><td>[279]</td><td>N</td><td>R</td><td>GA</td><td>SE</td><td>x</td><td>Lyapunov-based design</td></tr></tbody></table>

<table><caption>Table 5: Summary of the control methods in 2D space for the lumped-mass double-pendulum</caption><thead><tr><th>Ref.</th><th>Feed.</th><th>Sce.</th><th>Stab.</th><th>Val.</th><th>Cont.</th><th>Control method</th></tr></thead><tbody><tr><td>[181]</td><td>N</td><td>T</td><td>GF</td><td>SE</td><td>x</td><td>SMC</td></tr><tr><td>[48]</td><td>N</td><td>R</td><td>GA</td><td>E</td><td>x</td><td>Lyapunov derived</td></tr><tr><td>[265]</td><td>N</td><td>R</td><td>GA</td><td>S</td><td>x</td><td>SMC</td></tr><tr><td>[297]</td><td>N</td><td>T</td><td>GA</td><td>E</td><td>x</td><td>Lyapunov der. + adap. param. estim.</td></tr><tr><td>[256]</td><td>O</td><td>-</td><td>N/A</td><td>SE</td><td>x</td><td>Input shaping</td></tr><tr><td>[234]</td><td>N</td><td>R</td><td>GA</td><td>E</td><td>x</td><td>Lyapunov der. output feedback</td></tr><tr><td>[238]</td><td>O</td><td>-</td><td>N/A</td><td>SE</td><td>x</td><td>Dynamic programming</td></tr><tr><td>[255]</td><td>O</td><td>-</td><td>N/A</td><td>SE</td><td>x</td><td>Input shaping</td></tr><tr><td>[180]</td><td>C</td><td>T</td><td>LA</td><td>SE</td><td>x</td><td>PID control + S-shaped trajectory</td></tr><tr><td>[142]</td><td>N</td><td>R</td><td>GA</td><td>E</td><td>x, l</td><td>SMC with Adaptive fuzzy law</td></tr><tr><td>[102]</td><td>O</td><td>-</td><td>N/A</td><td>S</td><td>x</td><td>Input shaping</td></tr><tr><td>[244]</td><td>O</td><td>-</td><td>N/A</td><td>SE</td><td>x</td><td>Input shaping for distributed mass</td></tr><tr><td>[308]</td><td>N</td><td>R</td><td>N/A</td><td>SE</td><td>x</td><td>Input shaping for distributed mass</td></tr><tr><td>[200]</td><td>N</td><td>R</td><td>Asymptotic</td><td>S</td><td>x</td><td>SMC</td></tr><tr><td>[221]</td><td>O</td><td>-</td><td>N/A</td><td>SE</td><td>x</td><td>Input shaping</td></tr><tr><td>[239]</td><td>N</td><td>R</td><td>GA</td><td>E</td><td>x</td><td>Adaptive Lyapunov derived</td></tr><tr><td>[182]</td><td>N</td><td>T</td><td>GA</td><td>E</td><td>x</td><td>SMC with adaptive pole surface</td></tr><tr><td>[117]</td><td>O</td><td>-</td><td>N/A</td><td>SE</td><td>x</td><td>Input shaping for sloshing payload</td></tr><tr><td>[141]</td><td>O</td><td>-</td><td>N/A</td><td>SE</td><td>x</td><td>Trajectory planning with sloshing payload</td></tr><tr><td>[117]</td><td>O</td><td>-</td><td>N/A</td><td>SE</td><td>x</td><td>Input shaping for sloshing payload</td></tr><tr><td>[268]</td><td>C</td><td>R</td><td>GA</td><td>S</td><td>x</td><td>PD control</td></tr><tr><td>[219]</td><td>C</td><td>R</td><td>GA</td><td>SE</td><td>x, l</td><td>PBC</td></tr><tr><td>[251]</td><td>N</td><td>R</td><td>GA</td><td>S</td><td>x</td><td>SMC</td></tr><tr><td>[240]</td><td>N</td><td>R</td><td>GA</td><td>E</td><td>x</td><td>Quasi-PID</td></tr><tr><td>[173]</td><td>C</td><td>R</td><td>LA</td><td>S</td><td>x</td><td>Robust input shaping with state-observer</td></tr><tr><td>[214]</td><td>N</td><td>R</td><td>GA</td><td>S</td><td>x</td><td>SMC</td></tr><tr><td>[50]</td><td>N</td><td>R</td><td>GE</td><td>S</td><td>x</td><td>SMC</td></tr><tr><td>[218]</td><td>C</td><td>T</td><td>GA</td><td>SE</td><td>x</td><td>Tracking PID with feedforward terms</td></tr></tbody></table>
<table><caption>Table 6: Summary of the control methods for flexible single-pendulum model</caption><thead><tr><th>Ref.</th><th>Feed.</th><th>Sce.</th><th>Stab.</th><th>Val.</th><th>Cont.</th><th>Control method</th></tr></thead><tbody><tr><td>[69]</td><td>N</td><td>R</td><td>LE</td><td>S</td><td>x</td><td>Lyapunov derived</td></tr><tr><td>[271]</td><td>N</td><td>R</td><td>LE</td><td>S</td><td>x</td><td>Lyapunov derived</td></tr><tr><td>[64]</td><td>N</td><td>R</td><td>LA</td><td>S</td><td>x</td><td>Lyapunov derived</td></tr><tr><td>[68]</td><td>N</td><td>R</td><td>LF</td><td>S</td><td>x</td><td>Lyapunov derived</td></tr><tr><td>[215]</td><td>N</td><td>R</td><td>LA</td><td>E</td><td>x, l</td><td>PBC with Ritz discretization</td></tr><tr><td>[241]</td><td>C</td><td>R</td><td>GA</td><td>E</td><td>x</td><td>Joint stiffness + Lyapunov derived</td></tr><tr><td>[52]</td><td>N</td><td>R</td><td>LA</td><td>S</td><td>x</td><td>Lyapunov derived with extra actuators</td></tr><tr><td>[11]</td><td>C</td><td>T</td><td>LA</td><td>S</td><td>x</td><td>PBC</td></tr><tr><td>[216]</td><td>C</td><td>R</td><td>LA</td><td>SE</td><td>x, l</td><td>Adaptive PBC</td></tr><tr><td>[67]</td><td>N</td><td>R</td><td>LA</td><td>S</td><td>x, l</td><td>Boundary Lyapunov derived controller</td></tr><tr><td>[60]</td><td>N</td><td>R</td><td>LA</td><td>S</td><td>x</td><td>Lyapunov derived</td></tr><tr><td>[194]</td><td>N</td><td>R</td><td>GA</td><td>S</td><td>x, y, l</td><td>Fuzzy SMC in 3D space</td></tr><tr><td>[128]</td><td>N</td><td>R</td><td>GA</td><td>S</td><td>x, y, l</td><td>Control of sway because of cable's length extension in 3d</td></tr><tr><td>[155]</td><td>N</td><td>R</td><td>LA</td><td>SE</td><td>x</td><td>Boundary Lyapunov derived controller</td></tr></tbody></table>

### 3.8. Operator-in-the-loop methods

The foregoing sections deal with autonomous systems where no human intervenes in the loop. Another approach consists of considering the actions of the operator inside the control loop. A survey of this family of control methods is made in [29], see also [88, 87, 86]. Trajectory tracking controllers combined with suitable desired trajectories (for the so-called velocity-command strategy) are very important in this context, see Section 7.2.2 and Remark 10. However, the basic assumption in the operator-in-the-loop control systems is that the low-level controller (usually a collocated feedback $F$) allows to perfectly track cart velocity profiles. In other words, it is assumed that the system's output is the cart's velocity (i.e., $y = \dot{x}$) and $y(t) \to y_d(t)$ should be achieved by the collocated input $F(t)$. If the convergence is fast enough, the cart's velocity can be used to control the payload using suitable cart's motion designed with flatness (i.e., the cart's desired velocity is a suitable function of the payload's desired motion, designed from a suitable inversion method, like flatness).

**Remark 7.** This paper follows the standard convention in the control community where the open-loop control strategy refers to any control method where there is no feedback. As explained in Sec. 3.1, in the open-loop strategies, the controller directly generates the force applied to the cart based on the reference trajectory without using feedback. However, the feedback that exists in the motor speed driver is usually neglected in the operator-in-the-loop literature and any collocated feedback where there is no feedback from the sway angle is called the open-loop method in some of the resources [29]. Because of the fast dynamics (compared to the dynamics of the crane), the dynamics of the speed drive are usually neglected in this approach and it is assumed that the payload exactly tracks the reference trajectory.

Following [29], the operator-in-the-loop application refers to a condition where the velocity trajectory is generated by an operator (a human who drives the crane). This case imposes the following two extra challenges to the controller design:

* The reference velocity is generated by the driver and therefore is not totally known for the future time steps. Hence, the application of the control method where the reference trajectory for the next time
<table><caption>Table 7: Summary of the control methods in 3D space for the lumped single-pendulum with rigid link</caption><thead><tr><th>Ref.</th><th>Feed.</th><th>Sce.</th><th>Stab.</th><th>Val.</th><th>Cont.</th><th>Control method</th></tr></thead><tbody><tr><td>[277]</td><td>N</td><td>R</td><td>GA</td><td>SE</td><td>x, y</td><td>Lyapunov derived</td></tr><tr><td>[252]</td><td>N</td><td>R</td><td>GA</td><td>SE</td><td>x, y, l</td><td>PFL</td></tr><tr><td>[250]</td><td>N</td><td>R</td><td>LA</td><td>SE</td><td>x, y, l</td><td>PFL</td></tr><tr><td>[138]</td><td>N</td><td>R</td><td>LA</td><td>S</td><td>x, y, l</td><td>PFL</td></tr><tr><td>[236]</td><td>N</td><td>R</td><td>GA</td><td>E</td><td>x, y</td><td>Lyapunov derived</td></tr><tr><td>[56]</td><td>N</td><td>T</td><td>GA</td><td>S</td><td>x, y</td><td>Lyapunov derived</td></tr><tr><td>[276]</td><td>N</td><td>T</td><td>GA</td><td>SE</td><td>x, y</td><td>PFL</td></tr><tr><td>[57]</td><td>N</td><td>R</td><td>GA</td><td>S</td><td>x, y</td><td>SMC</td></tr><tr><td>[124]</td><td>N</td><td>T</td><td>GA</td><td>E</td><td>x, y, l</td><td>Flatness</td></tr><tr><td>[134]</td><td>C</td><td>T</td><td>N/A</td><td>E</td><td>x, y, l</td><td>Fuzzy</td></tr><tr><td>[284]</td><td>C</td><td>R</td><td>GA</td><td>E</td><td>x, y</td><td>Lyapunov derived adap. param. est.</td></tr><tr><td>[296]</td><td>N</td><td>T</td><td>GA</td><td>SE</td><td>x, y</td><td>Lyapunov derived.</td></tr><tr><td>[157]</td><td>O</td><td>-</td><td>N/A</td><td>SE</td><td>x, y</td><td>PSO optimized input shaping</td></tr><tr><td>[156]</td><td>C</td><td>R</td><td>N/A</td><td>SE</td><td>x, y</td><td>optimized PID with PSO</td></tr><tr><td>[246]</td><td>N</td><td>R</td><td>LA</td><td>E</td><td>x, y</td><td>PID + neural compensator</td></tr><tr><td>[83]</td><td>C</td><td>R</td><td>N/A</td><td>E</td><td>x, y</td><td>PID + input shaping</td></tr><tr><td>[282]</td><td>C</td><td>R</td><td>LA</td><td>SE</td><td>x, y</td><td>Discrete-time integral SMC</td></tr><tr><td>[46]</td><td>N</td><td>T</td><td>GA</td><td>S</td><td>x, y, l</td><td>PFL</td></tr><tr><td>[100]</td><td>-</td><td>-</td><td>N/A</td><td>SE</td><td>-</td><td>Kinematic of ship mounted cranes</td></tr><tr><td>[137]</td><td>N</td><td>T</td><td>N/A</td><td>E</td><td>x, y</td><td>adaptive fuzzy SMC + visual feedback</td></tr><tr><td>[70]</td><td>N</td><td>T</td><td>LE</td><td>S</td><td>x, y, l</td><td>Classic linear control + motor dynamics</td></tr><tr><td>[211]</td><td>N</td><td>T</td><td>N/A</td><td>E</td><td>x, y</td><td>MPC</td></tr><tr><td>[21]</td><td>N</td><td>T</td><td>LA</td><td>E</td><td>x, y</td><td>SMC</td></tr><tr><td>[132]</td><td>C</td><td>T</td><td>LA</td><td>E</td><td>x, y, l</td><td>Classic linear control</td></tr><tr><td>[74]</td><td>N</td><td>R</td><td>GA</td><td>S</td><td>x, y</td><td>Lyapunov derived</td></tr><tr><td>[76]</td><td>N</td><td>R</td><td>GA</td><td>SE</td><td>x, y</td><td>Lyapunov derived</td></tr><tr><td>[8]</td><td>N</td><td>T</td><td>N/A</td><td>S</td><td>x, y, l</td><td>Linear state feedback</td></tr><tr><td>[51]</td><td>N</td><td>T</td><td>GA</td><td>E</td><td>x, y, l</td><td>backstepping + exact differentiators</td></tr><tr><td>[260]</td><td>N</td><td>T</td><td>GA</td><td>SE</td><td>x, y, l</td><td>SMC (coupling as disturbance)</td></tr><tr><td>[43]</td><td>N</td><td>R</td><td>N/A</td><td>E</td><td>x, y</td><td>Fuzzy control</td></tr><tr><td>[144]</td><td>N</td><td>T</td><td>GA</td><td>E</td><td>x, y</td><td>TSMC + adaptive fuzzy tuning</td></tr><tr><td>[289]</td><td>N</td><td>R</td><td>N/A</td><td>E</td><td>x, y</td><td>Optimal control</td></tr><tr><td>[258]</td><td>N</td><td>-</td><td>N/A</td><td>SE</td><td>x, y</td><td>Trajectory optimization + MPC</td></tr><tr><td>[289]</td><td>N</td><td>R</td><td>N/A</td><td>E</td><td>x, y</td><td>Optimal control</td></tr><tr><td>[304]</td><td>N</td><td>R</td><td>GA</td><td>S</td><td>x, y</td><td>PBC</td></tr><tr><td>[12]</td><td>N</td><td>R</td><td>GE</td><td>S</td><td>x, y, l</td><td>SMC + Luenberger observer</td></tr></tbody></table>
<table><caption>Table 8: Summary of the control methods in 3D space for the lumped double-pendulum with rigid link</caption><thead><tr><th>Ref.</th><th>Feed.</th><th>Sce.</th><th>Stab.</th><th>Val.</th><th>Cont.</th><th>Control method</th></tr></thead><tbody><tr><td>[307]</td><td>N</td><td>T</td><td>GA</td><td>E</td><td>x, y</td><td>Adaptive Lyapunov derived</td></tr><tr><td>[183]</td><td>N</td><td>R</td><td>GA</td><td>SE</td><td>x, y</td><td>Lyapunov derived</td></tr><tr><td>[160]</td><td>N</td><td>R</td><td>GA</td><td>E</td><td>x, y</td><td>Adaptive Lyapunov derived with fuzzy gain tuner</td></tr><tr><td>[92]</td><td>N</td><td>T</td><td>LA</td><td>SE</td><td>x, y</td><td>Flatness SMC neglecting nonlinearities and couplings</td></tr></tbody></table>

<table><caption>Table 9: Summary of the control methods in 2D space for multi-cable models</caption><thead><tr><th>Ref.</th><th>Feed.</th><th>Sce.</th><th>Stab.</th><th>Val.</th><th>NC</th><th>Cont.</th><th>Control method</th></tr></thead><tbody><tr><td>[121]</td><td>N</td><td>R</td><td>LE</td><td>E</td><td>4R</td><td>x</td><td>Linear state-feedback</td></tr><tr><td>[286]</td><td>O</td><td>-</td><td>N/A</td><td>SE</td><td>2F</td><td>x</td><td>Input shaping</td></tr><tr><td>[287]</td><td>O</td><td>-</td><td>N/A</td><td>SE</td><td>2F</td><td>x</td><td>Input shaping</td></tr><tr><td>[168]</td><td>C</td><td>T</td><td>N/A</td><td>S</td><td>2R</td><td>x</td><td>LQR time-delayed and classic linear</td></tr><tr><td>[169]</td><td>N</td><td>R</td><td>LE</td><td>S</td><td>2R</td><td>θ</td><td>Control θ when x is input</td></tr><tr><td>[150]</td><td>N</td><td>R</td><td>GA</td><td>E</td><td>2R</td><td>x</td><td>Lyapunov derived</td></tr></tbody></table>

<table><caption>Table 10: Summary of the control methods in 3D space for multi-cable models</caption><thead><tr><th>Ref.</th><th>Feed.</th><th>Sce.</th><th>Stab.</th><th>Val.</th><th>NC</th><th>Cont.</th><th>Control method</th></tr></thead><tbody><tr><td>[123]</td><td>C</td><td>R</td><td>N/A</td><td>S</td><td>4R</td><td>x, l</td><td>classic linear</td></tr><tr><td>[15]</td><td>-</td><td>-</td><td>N/A</td><td>SE</td><td>4RF</td><td>-</td><td>kinematic modeling</td></tr><tr><td>[166]</td><td>-</td><td>-</td><td>N/A</td><td>S</td><td>4R</td><td>-</td><td>kinematic modeling</td></tr><tr><td>[172]</td><td>C</td><td>R</td><td>N/A</td><td>S</td><td>4R</td><td>x</td><td>Kinematic + skew control</td></tr><tr><td>[171]</td><td>N</td><td>T</td><td>GA</td><td>S</td><td>6R</td><td>x</td><td>SMC</td></tr><tr><td>[16]</td><td>-</td><td>-</td><td>N/A</td><td>S</td><td>4RF</td><td>-</td><td>kinematic modeling</td></tr></tbody></table>

<table><caption>Table 11: A list of the review papers in the literature</caption><tbody><tr><td>[203]</td><td>Review of several control methods for single and double-pendulum systems in 2D space</td></tr><tr><td>[101]</td><td>Review of control methods for several models in 2D and 3D spaces</td></tr><tr><td>[29]</td><td>Survey on flatness control</td></tr><tr><td>[168]</td><td>Comparison of three different feedback controllers</td></tr></tbody></table>
steps is required, e.g., MPC and flatness (see the example in [29] where the second derivative of the reference trajectory has to be available for the flatness control) is limited.

* The driver may generate several impulses in order to drive the payload to the destination as fast as possible. Such discontinuous impulses can hinder the application of the controllers where the derivatives of the reference signal are required to synthesize the control signal, for instance, the flatness control where the second order derivative of the reference signal is necessary [29]. To solve this issue, [29] has proposed to use a low-pass filter to make the reference trajectory continuous and differentiable. The cutoff frequency of this filter should be tuned accurately to avoid a large delay and a poor transient response (a detailed filter design procedure is available in [29]).

# 4. Review of the experimental systems considered in the literature

According to Tables 2 to 9, many references have considered experimental validation of the control systems on different kinds of experimental setups. Hence, it is of interest to review such references based on the methodology and employed laboratory setup. The experimental implementations made in the literature can be classified based on the size of the crane, the computer used to implement the control algorithms, the types of actuators, and sensors as explained in Secs. 4.1 to 4.4, respectively.

## 4.1. Scale of the experimental setups

The cranes used in the literature can be classified into three categories, i.e., full-scale setups, scaled laboratory setups adopted from the real industrial one, and small laboratory setups. The full-scale cranes are barely employed for the experiments because of clear reasons. A full-scale 15 tons crane with 25m of hoisting cable is used by [222]. A tower crane with 1650 kg lifting capacity and 45m hoisting height is considered in [204]. Another full-scale 3.2 tons crane has been employed by [15]. A tower crane with 40m hoisting cable is used in [29]. A 5-ton overhead crane is considered in [18] for the experiments. In addition to the mentioned full-scale cranes, scaled setups have also been used for the experiments. For instance, [121, 209] have considered the 1/4 and 1/50 scales of some specific industrial cranes. See also [153] for the illustration on experiments of a Lyapunov and Neural Network approach for the control design. Moreover, most of the references have built or used small laboratory setups for the experiments. In this context, two commercially available laboratory setups with a few kilograms capacity made by INTECO [10, 260, 170, 100, 118, 51, 186, 246, 61] and QUANSER [188, 216, 117] have been used in the literature. All other references have developed their own laboratory setups with small payloads (typically the cart mass is between 5 to 20 kgs and the payload is less than one kg with less than one meter of hoisting height) [295, 241, 240, 182, 180, 48, 238, 239, 150, 298, 277, 234, 57, 276, 275, 286, 236, 230, 190]. As it can be seen, most of the references have considered light payloads for the experiments. Under such conditions, the high-frequency vibrations caused by the hoisting cable may not be observed. Hence, future works with heavier payloads seem to be necessary to study the string behavior of the cable.

## 4.2. Computers employed to implement the control algorithms

Different kinds of computer architectures have been employed to implement control algorithms on OCs. In most cases, the hardware-in-the-loop (HIL) simulation strategy is used to do the experiments, where the
controllers are implemented on a personal computer in the MATLAB environment, and data acquisition (DAQ) interfacing devices are connected to the computer to receive the measurements and send the control signals to the actuators [141, 160, 65, 183, 117, 300, 241, 240, 182, 48, 239, 298, 149, 276, 10, 233, 260, 137, 130, 236, 164, 250, 129, 230] are used. In this context, different kinds of DAQ systems, e.g., dSPACE cards [65, 204], National Instrument (NI) boards [183, 244, 252, 130, 164, 250, 129], Advantech boards [137], Quanser data-acquisition terminal [117], Googol boards [240, 182, 239, 150, 149, 230, 142], ARTISAN Technology boards [21, 23] and INTECO DAQ boards [260, 10, 100, 118, 51, 186, 246] are used. Furthermore, customized digital signal processor (DSP) or microprocessor-based systems have been designed [144], especially for the industrial-scale cranes [15]. For the older implementations, the use of the VMEbus computer has been reported by [136, 134, 132, 135]. Note that to connect the computers to the actuators and sensors, RS-232 communication protocol is usually employed according to the literature [252].

### 4.3. Actuators employed for the experiments

Electric motors are installed on the cranes as actuators to drive the cart and the winding mechanism. The nominal powers of these actuators are calculated based on the weights of the cart and payload. The motors used for the cart movements are employed with different powers, e.g., 100 W. [241], 200 W. [142], 400 W. [48, 141]. On the other hand, electric machines with different powers, e.g., 100 W. [48, 142] are employed to actuate the winding mechanism for the payload hoisting.

### 4.4. Sensors used in the experiments

Sensors have been used in the experiments to measure the position of the cart, the length of the hoisting cable, as well as the sway angles. The cart's position and the length of the hoisting cables are usually measured through the optical encoders installed on the shaft of the motor driving the cart and the hoisting mechanism. Shaft encoders are identified by their resolutions in the pulse per rotation (PPR) unit, e.g., 100 [117], 360 [23, 21], 550 [160], 2000 [137] 2500 [240, 233], 4096 [43], 131072 [141], 1048576 [180, 181] PPR. Note that considering rigid links, some references have measured the sway angles using the shaft encoders installed at the attached point of the link to the cart with different resolutions, e.g., 2500 [137, 141], 6000 [233], 16384 [160] PPR. In addition, the inertial measurement units [15] as well as cameras have been used to measure the sway angles or payload position [137, 190, 211]. Moreover ultrasonic sensors are used in [141] to measure the sloshing level of the liquid container cranes.

## 5. Modeling for numerical simulations

As it was seen in Sec. 2, different types of models have been developed for OCs allowing to design and study the controllers in the closed-loop, analytically, e.g., the single and double-pendulum models. This is also the case for the PDE-ODE models developed to capture the cable's flexibility since, in the end, spatial discretization is used to obtain a model with a small number of degrees of freedom suitable for the controller implementation. While such models are convenient for the controller design, they suffer from some drawbacks as explained in Sec. 2.7. Another model has been developed in this work, allowing the implementation and evaluation of all the controllers, regardless of the model used to design them. The proposed model is a multibody, pendulum-like system with a large number *N* of links. Lumped-mass models consist of a multibody system's approach to model cables [113, 112, 106, 107, 108, 273]. As such, they can
<figure><img src="image_7.png" /><figcaption>Figure 4: Schematic diagram of the simulation-oriented model in 2D operating space with 20 links used for the simulations</figcaption></figure>

easily handle large deformations and associated nonlinearities. Sometimes they can also be seen as a set of particles linked by suitable potentials. Then they become closer to finite-element spatial (inconsistent) discretization of PDEs [71]. They can also be seen as an extension of linear oscillators: if the cable is in the vertical posture, and a torsional spring is associated with each flexible link, the system is equivalent to a linear chain of oscillators, the control of which is tackled in [185, 184]. Such models are known to be less accurate than those stemming from continuum mechanics [152], but they have the advantage of being more tractable for control and thus are abundantly used in Robotics and in Automatic Control. Hence, it is expected that the simulations based on the proposed model lead to more realistic results compared to the case where the simulations are conducted based on the low-degrees-of-freedom control-oriented models. The dynamics is studied in Appendix A. The MATLAB MULTIBODY TOOLBOX has been used in this study to realize such a model without writing down the equations.

The scheme of the 20-link model is depicted in Fig. 4, where two sets of joint angles are indicated since both can be useful for the analysis. The model is composed of 18 links with damping and stiffness in the joints to model cables' dynamics. Moreover, two other links are considered to take into account the presence of the tool and the payload as seen in the double-pendulum model Fig. 2(b). Note that the first 18 links can be considered as a simplified finite element model of the cable yielding a non-consistent mass matrix in a spatial set of coordinates [32]. While increasing the number of links can improve the model's accuracy, it increases the required time for the numerical simulations. Hence, the number of 18 links is considered by trial and error to provide the best trade-off between the simulation time and the accuracy of the model. In addition, the damping and stiffness considered in the joints are selected empirically. One can change all these parameters in the toolbox and redo the simulations to have customized results corresponding to each specific application (see Sec. 7).
# 6. State, parameter and disturbance estimation

As it was seen, the reviewed controllers need different types/numbers of sensors depending on the feedback structure. Sensor selection was the topic of some references. For instance, the implementation of vision-based sensors for sway detection has been addressed in [209, 137, 104]. Moreover, feedback based on inclinometers and IMUs have been considered in [121] and [119], respectively, and it is reported in [121] that a simple inclinometer sensor can provide the same performance as sophisticated vision-based feedback. However, there are still cases where it is not possible to use sensors for measurements. In addition, some of the system's parameters contributing to the control law synthesis may be unknown in general. All these issues motivate the design of the estimation and observation methods for the overhead cranes as explained below.

## 6.1. State-observation

The state variables required to synthesize the control signal cannot be always measured because of the cost, and technical constraints. In such cases, it is necessary to develop state-observation algorithms. The state-observer design based on the tangent linearized models of the cranes, e.g., Luenberger observer [196, 121, 98, 92], or its discrete-time form [209] has already been addressed in the literature. A Kalman-Bucy filter is developed in [204] to improve the accuracy of the measurements by removing the sensors' offset error. Since these observers are designed based on the linearized model, their stability is only valid locally, when the sway angle is small. The parameters of such linear observers can be designed using Ackermann's formula as used by [98]. In order to estimate the velocities, e.g., $\dot{x}, \dot{\theta}_1, \dot{\theta}_2$, from the position and angles $x, \theta_1, \theta_2$, time-differentiation methods, e.g., pure differentiator integrated with low-pass filters [300], sliding-mode based differentiators [51] (see also [162] for a general introduction to the differentiators) are employed.

## 6.2. Disturbance and uncertainty observer

In [279, 205, 149], nonlinear adaption laws based on the Lyapunov theorem are obtained in order to estimate the matched disturbance when it is bounded and differentiable which relaxes more conservative assumptions considered in the previous works, e.g., [210]. It is shown, in [279], that the control, integrated with the observer, eliminates the disturbance effect in finite time. The matched disturbance observer design based on the algebraic manipulations on the dynamic equations is studied by [180]. In addition to the external disturbance, more general types of uncertainties, e.g., system parameter variations, unknown actuator nonlinearities (dead-zone), and unmodeled dynamics have been estimated based on fuzzy inference systems [187, 188, 142]. Note that apart from estimation algorithms, the adaptation laws have been designed along with the control design using the Lyapunov method [307] for the uncertain parameters. In addition, static laws in algebraic forms [178, 177] as well as neural networks [154] have been developed to estimate or compensate the friction.

# 7. Numerical experiments

As it was seen in Sec. 3, a very large number of controllers have been developed for OCs. For the sake of briefness, and since our goal in this article is to pave the way towards more general studies, a few typical controllers have been selected from each category to extract their key properties. An overview of these controllers as well as their structures are presented in Tables 12 and 13, respectively. They are briefly introduced below.
* **Unshaped input:** In this method, the whole system is considered as a point mass and the required force is calculated using the Newton formula as shown in Table 13, where $m_t$ is the total system's mass and $a_d$ is the provided acceleration trajectory. The application of this method is rare because of too much payload sway and is considered in the literature only for comparisons. Hence, this controller is usually integrated with input shapers, e.g., ZV and ZVD.

* **ZV:** In this method, the unshaped input is convoluted with two impulses included in $P_1$ (see Table 13) to avoid payload sway.

* **ZVD:** Compared to ZV, in this method, the unshaped input is convoluted with three impulses included in $P_2$ (see Table 13) in order to reduce the payload sway more effectively.

* **Collocated PD:** This controller has a proportional gain $k_p$ and a derivative gain $k_d$. Moreover, $e_x = x - x_d$ and $e_v = \dot{x} - \dot{x}_d$ with $x_d$ as the reference position.

* **Quasi-PID:** This controller has five gains $k_p, k_d, k_{\phi1}, k_{\phi2}, \lambda$. Since this controller has been designed based on the double-pendulum system, it needs two feedbacks from the first ($\theta_1$) and the second ($\theta_2$) sway angles.

* **Noncollocated PD regulation:** This controller has been designed for the single-pendulum system and needs the corresponding sway angle $\theta_1$. The three gains are $k_p, k_d$ and $k_a$.

* **Collocated PD tracking:** The stability of this controller has been ensured for the tracking case. This controller has five gains $k_p, k_d, \lambda, \xi, \phi$.

* **PD-PD:** This controller has been designed based on PDEs with the four gains $\alpha_i, i = 1, 2, 3, 4$.

* **SMC single and double-pendulum:** The control law in these methods is based on the nonlinear combination of several parameters. For the sake of space, the formula of these controllers are neglected in this article. The single-pendulum SMC has six parameters $c_1, c_2, c_3, c_4, k, \eta$ and the SMC designed based on the double-pendulum system has five tuning parameters $\lambda, \alpha, \beta, K, c$.

* **PD energy:** The parameters of this controller are $k_p, k_d, k_q, \lambda, \zeta$. Moreover, $\chi = e_x + \lambda \sin(\theta_1)$ and $\varepsilon = x + \lambda \sin(\theta_1)$.

* **Coupling tracking:** Compared to the previous 2D controllers, in this scheme, two control signals, e.g., $F_x$ and $F_y$ (see (4)) are calculated in order to control the payload in 3D space. This controller has five tuning parameters $k_{px}, k_{dx}, k_{py}, k_{dy}, \lambda$. Note that if this controller is used for the 2D case, one can simply ignore one of the axis, e.g., $k_{px} = k_p, k_{dx} = k_d, k_{py} = 0, k_{dy} = 0, \lambda = 0$. Moreover, $\theta_x$ and $\theta_y$ are the projection of $\theta_1$ on the x and y axes, respectively.

**Remark 8.** According to Table 13, it can be seen that, apart from the classifications, most controllers are composed of the linear combination of feedforward, proportional, derivative, and integration terms.

## 7.1. Hoisting toolbox

A computer software named HOISTING TOOLBOX has been developed in this work in order to compare all the considered controllers using numerical simulations for an OC with parameters listed in Table 14. The toolbox is briefly introduced in Appendix H. Two main functionalities of this toolbox, i.e., parameter
<table><caption>Table 12: Overview of the controllers</caption><thead><tr><td>Controller</td><td>Feedback</td><td>Model</td><td>Space</td><td>Scenario</td></tr></thead><tbody><tr><td>Unshaped input [101]</td><td>open-loop</td><td>point mass</td><td>2D</td><td>-</td></tr><tr><td>ZV [101]</td><td>open-loop</td><td>1,2-pendulum</td><td>2D</td><td>-</td></tr><tr><td>ZVD [101]</td><td>open-loop</td><td>1,2-pendulum</td><td>2D</td><td>-</td></tr><tr><td>Collocated PD [230, 48]</td><td>collocated</td><td>1,2-pendulum</td><td>2D</td><td>regulation</td></tr><tr><td>Noncollocated Quasi-PID [240]</td><td>noncollocated</td><td>2-pendulum</td><td>2D</td><td>regulation</td></tr><tr><td>Noncollocated PD [230]</td><td>noncollocated</td><td>1-pendulum</td><td>2D</td><td>regulation</td></tr><tr><td>Collocated PD tracking [232]</td><td>collocated</td><td>2-pendulum</td><td>2D</td><td>tracking</td></tr><tr><td>PD-PD [68]</td><td>noncollocated</td><td>PDE</td><td>2D</td><td>regulation</td></tr><tr><td>SMC single-pendulum [200]</td><td>noncollocated</td><td>1-pendulum</td><td>2D</td><td>regulation</td></tr><tr><td>SMC double-pendulum [251]</td><td>noncollocated</td><td>2-pendulum</td><td>2D</td><td>regulation</td></tr><tr><td>PD energy [300]</td><td>noncollocated</td><td>1-pendulum</td><td>2D</td><td>regulation</td></tr><tr><td>Coupling tracking [296]</td><td>noncollocated</td><td>1-pendulum</td><td>3D</td><td>tracking</td></tr></tbody></table>

tuning and evaluation are introduced in Secs. 7.1.1 and 7.1.2, respectively. Before that, three remarks are presented as follows:

1. Sway angle, in the pendulum-like models, e.g., single and double-pendulum models shown in Fig. 2 (a,b), refers to the angle of the links with respect to the vertical axis. For the single pendulum model Fig. 2 (a), the only sway angle is $\theta_1$ while for the double-pendulum model Fig. 2 (b), two sway angles $\theta_1$ and $\theta_2$ can be defined. Note that, with such a definition, the sway angle cannot be clearly defined for the pendulum-like model with flexible links Fig. 2 (c).

2. The controllers have been tuned based on a double-pendulum model. The implementation of the controllers designed for the double-pendulum system is straightforward on such a model. However, some of the control methods are originally designed for the single-pendulum system and only a single angle can contribute to the control law. This issue has not been addressed in the literature and it is not clear how to manage it. In this study, two independent implementations have been considered for such methods with the first and last sway angles feedback. These implementations are indicated by (first) and (last) in Table 15.

3. The SMCs are mainly composed of discontinuous (set-valued) signum functions. It is well-known that the time-discretization of such controllers is a crucial step in their implementation, and that the implicit (or semi-implicit) algorithms drastically supersede explicit ones [6, 36, 162, 105, 37]. Therefore these set-valued inputs have been implemented based on two different discretization schemes, i.e., Euler explicit and implicit methods, indicated by “exp” and “imp”, respectively.

### 7.1.1. Parameter tuning

Parameter tuning is one of the most important topics that has to be addressed clearly for providing a fair comparison among all control methods. As it can be seen in Table 13, each controller has some parameters that need to be tuned. The appropriate intervals of some parameters have been obtained in the literature in order to ensure stability, etc. However, a systematic and comprehensive method has not been yet introduced
<table><caption>Table 13: Structure of the selected controllers for the simulations</caption><thead><tr><th>Controller</th><th>feed-forward terms</th><th>proportional terms</th><th>derivative terms</th><th>integration terms</th></tr></thead><tbody><tr><td>Unshaped input</td><td>+m<sub>t</sub>a<sub>d</sub></td><td>—</td><td>—</td><td>—</td></tr><tr><td>ZV</td><td>+conv(m<sub>t</sub>a<sub>d</sub>, P<sub>1</sub>)</td><td>—</td><td>—</td><td>—</td></tr><tr><td>ZVD</td><td>+conv(m<sub>t</sub>a<sub>d</sub>, P<sub>2</sub>)</td><td>—</td><td>—</td><td>—</td></tr><tr><td>Collocated PD</td><td>—</td><td>+k<sub>p</sub>e<sub>x</sub></td><td>+k<sub>d</sub>e<sub>v</sub></td><td>—</td></tr><tr><td>Quasi-PID</td><td>—</td><td>-k<sub>p</sub> tanh(e<sub>x</sub>)</td><td>-k<sub>d</sub> tanh(e<sub>v</sub>) - k<sub>i</sub> tanh(λ<sup>2</sup>e<sub>x</sub>)<br>-k<sub>φ1</sub> tanh<sup>2</sup>(θ<sub>1</sub>) tanh(e<sub>v</sub>)<br>-k<sub>φ2</sub> tanh<sup>2</sup>(θ<sub>2</sub>) tanh(e<sub>v</sub>)</td><td>+ λ ∫<sub>0</sub><sup>t</sup> tanh(e<sub>x</sub>)dt</td></tr><tr><td>Noncollocated PD</td><td>—</td><td>-k<sub>p</sub>(e<sub>x</sub>)<br>-k<sub>a</sub> sin(θ<sub>1</sub>)</td><td>-k<sub>d</sub>(e<sub>v</sub>)<br>-k<sub>a</sub>θ<sub>1</sub> cos(θ<sub>1</sub>)</td><td>—</td></tr><tr><td>Collocated PD tracking</td><td>+m<sub>t</sub>a<sub>d</sub></td><td>-k<sub>p</sub>e<sub>x</sub><br>2λξ<sup>2</sup><br>-ξ<sup>2</sup> - e<sub>x</sub><sup>2</sup></td><td>-k<sub>d</sub>e<sub>v</sub><br>-φsgn(e<sub>v</sub>)</td><td>—</td></tr><tr><td>PD-PD</td><td>—</td><td>-α<sub>1</sub>e<sub>x</sub><br>-α<sub>3</sub>θ<sub>1</sub></td><td>-α<sub>2</sub>e<sub>v</sub><br>-α<sub>4</sub>θ<sub>1</sub></td><td>—</td></tr><tr><td>SMC single-pendulum</td><td>—</td><td>discontinuous combination of</td><td>proportional and derivative terms</td><td>—</td></tr><tr><td>SMC double-pendulum</td><td>—</td><td>—</td><td>—</td><td>—</td></tr><tr><td>PD energy</td><td>—</td><td>-k<sub>p</sub> tanh(χ) - k<sub>q</sub>χ×<br>(x<sub>d</sub> + ζ)<sup>2</sup> - ε<sup>2</sup> + χε<br>((x<sub>d</sub> + ζ)<sup>2</sup> - ε<sup>2</sup>)<sup>2</sup></td><td>-k<sub>d</sub>χ</td><td>—</td></tr><tr><td>Coupling track.</td><td>+m<sub>t</sub>a<sub>dx</sub><br>+m<sub>t</sub>a<sub>dy</sub></td><td>-k<sub>pdx</sub> ∫<sub>0</sub><sup>t</sup> ζ<sub>x</sub>dt<br>-k<sub>py</sub> ∫<sub>0</sub><sup>t</sup> ζ<sub>y</sub>dt</td><td>-k<sub>d</sub>χ + λm<sub>t</sub> cos(θ<sub>x</sub>) cos(θ<sub>y</sub>)θ̇<sub>x</sub><br>-k<sub>d</sub>χ + λm<sub>t</sub>θ̇<sub>y</sub></td><td>—</td></tr></tbody></table>
in the literature to tune the parameters corresponding to all controllers. In fact, because of the complexity of the tuning raised by the nonlinearity and perturbation, parameter tuning is still an open problem and there exist only embryonic solutions, e.g., parameter optimization based on genetic algorithm [161]. In this work, heuristic algorithms, i.e., PSO, FMINUNC and PATTERNSEARCH<fnref n="1" />, available in MATLAB, are implemented in an iterative manner to tune the parameters in order to minimize the objective function:

$$ J = \| e_p(t) \|_{2,t \in [0,100]s} + 60 \| e_p(t) \|_{2,t \in [16,100]s} + 300 \| e_p(t) \|_{2,t \in [33,100]s} \\ + 600 \| e_p(t) \|_{\infty} + 0.05 \sum_{k=1}^{t/f/h} |F(kh) - F((k-1)h)| \quad (8) $$

where $e_p = x_p - x_d$, $x_p$ is the payload position on x axis, $t$ is the time, $t = kh$, and $h$ is the sampling time. The term $\sum_{k=1}^{t/f/h} |F(kh) - F((k-1)h)|$ is added to $J$ to decrease the chattering on the force since a real actuator may not be able to produce a force with large chattering. As can be seen in (8), $\| e_p(t) \|_2$ is calculated in different windows with different gains to decrease the steady-state error. As it was mentioned, the parameters are optimized for a double-pendulum system with the following condition:

* The system starts with initial sway angles $\theta_1(0) = 15^\circ, \theta_2(0) = -15^\circ$;

* A white noise with signal-to-noise ratio (SNR)=90dB is added to the feedback;

* A disturbance force is applied directly on the cart to simulate the external disturbances (a pulse force with period 20s and amplitude $\pm 19600N$);

* Damping is considered for the cart ($1000v(t)N$) to simulate a kind of friction between the cart and the surface) under the full payload.

The above-mentioned condition is selected in order to tune the controller gains for as realistic as possible conditions under the regulation trajectory defined in Sec. 7.1.3 below. The optimized parameters are provided in the report corresponding to this study which is available online [163]. In addition, one may use the HOISTING TOOLBOX to regenerate the parameters. Since heuristic algorithms used for the optimization are based on random initial guesses, the tuning results are not unique. In addition, these optimization algorithms do not necessarily lead to optimal solutions since different executions lead to different gains: only suboptimal gains are calculated.

It should be noted that the parameters of the only controller designed for the 3D case, i.e., coupling tracking, have been calculated for two cases. In the first case, this controller has been tuned for the 2D case when the feedback is made of the first and the last sway angles separately. Compared to the previous controllers, this controller has also been tuned for the 3D case based on the single-pendulum system (tuning in 3D space using the double-pendulum model takes too much time on INTEL CORE i7-10850H) processor. Hence, the 3D implementation of this controller with the last angle as the feedback has been ignored. Moreover, the total calculation time required for the parameter tuning and the numerical simulations corresponding to 12 selected controllers, shown in Table 12, under different conditions, listed in Table 15, is around one week. The developed toolbox can do all the procedures automatically without user intervention. However, one may easily change all the parameters in the toolbox to achieve customized results. Also computation time may be reduced by choosing smaller $N$. Optimizing $N$ is possible and worth doing, but it is outside the scope of this article.

<footnote n="1">¹See MATLAB manual for more information about these optimization methods.</footnote>
<table><caption>Table 14: Parameters of the simulation</caption><tr><td>cart mass</td><td>10T</td></tr><tr><td>tool mass</td><td>13.6T</td></tr><tr><td>maximum payload mass</td><td>40T</td></tr><tr><td>distance between the tool and the payload</td><td>1m</td></tr><tr><td>damping coefficient for the joints</td><td>1.6 (NM/(deg/s))</td></tr><tr><td>joint flexibility coefficient</td><td>0.8 NM/deg</td></tr><tr><td>cart damping coefficient</td><td>1000N/(m/s)</td></tr><tr><td>distance between the cart and the payload</td><td>10m</td></tr><tr><td>controller sampling time</td><td>50ms</td></tr><tr><td>measurement delay</td><td>100ms</td></tr></table>

### 7.1.2. Evaluation

Ideally increasing the number of links for the developed model (see Sec. 5) helps improving the accuracy which is not always possible because of the limited computational resources. In this study, a 20-link pendulum system is considered for this purpose, where the payload and the tool are connected to the last and the one before the last link, respectively. The implementations of the methods designed for the single and double-pendulum system on such a model follow the same rule mentioned in Sec. 7.1, where the first ($\theta_1$) and the last ($\theta_{20}$) angles are used for double-pendulum based design. Two separate implementations have been considered for single-pendulum-based controllers with the first and the last angles as the sway angles. Note that such a selection is not unique and one may use the provided toolbox to verify other feedback's configuration, depending on sensors which are mounted on the OC.

### 7.1.3. Trajectory profile

Two different trajectory profiles have been employed to evaluate the performances of the controllers under regulation and tracking conditions. The regulation trajectory is generated as follows (this trajectory has been employed by industrial crane developers):

$$ \left\{ \begin{array}{ll} x_d(t) = 3.5t^2/8 + 1 & 0 \le t \le 4 \\ x_d(t) = 3.5t - 6 & 4 < t < 8 \\ x_d(t) = -3.5t^2/8 + 10.5t - 34 & 8 \le t \le 12 \\ x_d(t) = 29 & t > 12 \end{array} \right. \qquad (9) $$

The regulation profile is composed of three constants values for the acceleration. Moreover, the target position is constant for $t > 12s$ (the duration of each simulation is 100s as in (8)). On the other hand, the tracking trajectory is $x_d(t) = 5 \sin(\omega t)$. Note that for the 3D case, the trajectory along the y axis is defined as follows:

$$ \left\{ \begin{array}{ll} y_d(t) = \frac{x_d(t-2)}{2} & \text{for } t \ge 2 \\ y_d(t) = 0 & \text{for } t < 2 \end{array} \right. \qquad (10) $$

## 7.2. Numerical simulation under different conditions

A set of comparative analyses have been performed for the regulation and the tracking profiles in Secs. 7.2.1 and 7.2.2, respectively. Note that, in the tables, the colors blue, black, and red indicate the
best, moderate and the worst performances in Table 15. Moreover, the results, i.e., $L_2$ norm of the payload position error, corresponding to each case are listed in one column of Table 15.

### 7.2.1. *Regulation in nominal condition*

This simulation has been performed under six different conditions as follows and the results are shown in Table 15. The cable's parameters are shown in Table 14, they were chosen according to some industrial OC parameters. They can be customized for a specific industrial crane in the developed Hoisting Toolbox.

* **Unperturbed case:** This simulation has been conducted under an unperturbed condition, i.e., no feedback noise and no cart damping with the piecewise-smooth trajectory (9). Since there is no perturbation, even the performances of the open-loop methods are comparable with the closed-loop ones. According to this simulation, the collocated PD tracking controller seems to be the best in minimizing the payload position error under this unperturbed condition. Another observation is that the SMC designed for the double-pendulum system shows the worst responses. The waveforms corresponding to the best and the worst results are shown in Fig. 5 (many other responses can be found in the report [163]).

* **Initial sway:** In this experiment, $\theta_1(0) = \pi/6$ rad while other initial sway angles are zero. Double- pendulum SMC is one of the worst. On the other hand, collocated PD tracking shows one of the best tracking performances.

* **Disturbance on the payload:** The aim of this simulation is to study the performances when a disturbance affects the payload. To this end, a pulse force with period 20s and amplitude $\pm 19600N$ is applied directly to the payload toward the x-axis. According to Table 15, the open-loop methods show the worst responses since they cannot compensate for the perturbation because of the lack of feedback. In general, the best responses belong to the quasi-PID, noncollocated PD regulation, collocated PD tracking, PD-PD, and the single-pendulum SMCs. Note that, compared to the previous cases, the SMC designed for the single-pendulum model shows one of the best responses in this specific case since it is mainly designed to be robust against disturbances.

* **Measurement noise:** This simulation mainly evaluates the controllers in the presence of measurement noise where a white noise with SNR=90dB affects all measurements within the feedback path. The results, in this case, are not unexpected since the noise affects the closed-loop controllers more than the open-loop ones. Moreover, the tracking controllers are less affected by noise, since according to Table 13, the control law is synthesized based on the feedforward terms in addition to the feedback ones, which are not affected by noise.

* **No-load condition:** The aim of this simulation is to study the regulation performances under an unperturbed case where there is no load (the masses of the tool and the payload are equal to 20 kg to avoid singularity in the simulations). The double-pendulum SMC has achieved the worst results again. Unexpectedly, the PD-PD method does not achieve good results for this case. In fact, PD-PD is designed based on the PDEs enabling to capture the vibrations that appear when the payload is heavy. The lumped-mass model does not incorporate enough modes to show this controller's capabilities, especially with light loads.
<figure><img src="image_8.png" /><figcaption>Figure 5: Waveforms corresponding to the best and the worst performances under the unperturbed condition (a) collocated PD tracking controller (b) SMC-double-pendulum (explicit)</figcaption></figure>

* **3D space:** The spherical joints are used in the model along with the distributed mass payload in order to model the 3D payload rotations. Moreover, the objective functions in this simulation are different. The $L_2$ notation in Table 15 denotes the standard norm and the measurements are sampled with the same sampling rate as the controller, i.e., 50ms. This simulation is conducted for the nominal conditions with full payload and the regulation profile (9). It can be seen that the open-loop methods show the worst responses even for this unperturbed case which was not the case for the 2D case. This is probably caused by the coupling effects between x and y axis that each axis generates disturbances on the other axis. Hence, feedback is crucial for the 3D case, even for the unperturbed condition. Another observation is that the collocated PD tracking control shows one of the best responses. As before, the SMC designed for the double-pendulum system shows the worst responses. Comparing the coupling tracking controller implemented in a decentralized way (with two separate implementations with the first and the last angles as sway) with the centralized form (see the last row of the last column, where the coupling in 3D space has been taken into account) one can see that while it can slightly improve the results, there is no significant difference between these implementations.

**Remark 9.** As alluded to above, the results reported in Table 15 are preliminary and are to be considered as an illustration of the proposed toolbox capabilities for parameter tuning. More results can be found in the report [163]. Clearly controllers gains have to be tuned according to the considered applications. Nevertheless, globally the obtained results seem logical: explicit SMC performs worse than its implicit counterpart, open-loop controllers are not robust, and collocated controllers perform better. From Fig. 5, trajectory tracking controllers show the best performance when the sinusoidal desired trajectory frequency increases.

### 7.2.2. Tracking under nominal condition

In this case, the sinusoidal tracking trajectory is considered, instead of the regulation one, to evaluate the trajectory tracking performances under an unperturbed case and the results are shown in Fig. 6. The first observation is that the tracking controllers, i.e., collocated PD tracking, and the coupling tracking achieve the best results. Moreover, for the coupling tracking controller, it is better to measure the last sway angle rather than the first one. Also, non-collocation feedback may not provide any advantages for this scenario since the best results have been achieved for the collocated PD tracking controller. It can be seen that the open-loop methods are the worst in the case of tracking. Similar to the previous case, the SMC designed for the double-pendulum with the first angle sensing has achieved the worst results among the closed-loop controllers. Moreover, the tracking controllers show the smallest position tracking errors and are almost insensitive to $\omega$.

**Remark 10.** Trajectory tracking controllers F may be very important in the context of operator-in-the-loop systems. Indeed such trajectory tracking controllers could be used in such control systems, where the operator would assign online desired trajectories to be tracked by the overall system (cart+payload). Apparently, this is not yet considered in operator-in-the-loop control strategies with velocity control inputs.
<table><caption>Table 15: L₂ norms of the payload position error</caption><thead><tr><th>Method</th><th>nominal</th><th>initial sway</th><th>disturbance</th><th>noise</th><th>no-load</th><th>3D</th></tr></thead><tbody><tr><td>Unshaped input</td><td>1.08</td><td>3.55</td><td>34.69</td><td>1.08</td><td>2.24</td><td>223.84</td></tr><tr><td>ZV</td><td>2.14</td><td>5.23</td><td>36.70</td><td>2.14</td><td>2.17</td><td>144.75</td></tr><tr><td>ZVD</td><td>3.13</td><td>5.32</td><td>36.66</td><td>3.13</td><td>3.16</td><td>209.58</td></tr><tr><td>Collocated PD</td><td>2.12</td><td>2.03</td><td>1.95</td><td>2.12</td><td>1.82</td><td>142.18</td></tr><tr><td>quasi-PID</td><td>1.38</td><td>2.81</td><td>1.29</td><td>1.38</td><td>1.94</td><td>87.58</td></tr><tr><td>Non.CO.PD.Reg. (first)</td><td>2.14</td><td>2.04</td><td>1.97</td><td>2.14</td><td>1.81</td><td>143.40</td></tr><tr><td>Non.CO.PD.Reg. (last)</td><td>1.37</td><td>1.68</td><td>1.44</td><td>1.37</td><td>1.86</td><td>92.05</td></tr><tr><td>Col.PD.Track</td><td>0.55</td><td>0.90</td><td>1.42</td><td>0.55</td><td>1.78</td><td>36.70</td></tr><tr><td>PD-PD</td><td>1.40</td><td>1.71</td><td>1.47</td><td>1.40</td><td>6.86</td><td>93.60</td></tr><tr><td>SMC-single-first (explicit)</td><td>1.39</td><td>1.70</td><td>1.47</td><td>1.39</td><td>6.34</td><td>93.36</td></tr><tr><td>SMC-single-first (implicit)</td><td>1.39</td><td>1.70</td><td>1.47</td><td>1.39</td><td>6.32</td><td>93.30</td></tr><tr><td>SMC-single-last (explicit)</td><td>1.37</td><td>1.68</td><td>1.44</td><td>1.37</td><td>1.86</td><td>92.04</td></tr><tr><td>SMC-single-last (implicit)</td><td>1.37</td><td>1.68</td><td>1.44</td><td>1.37</td><td>1.86</td><td>91.85</td></tr><tr><td>SMC-double (explicit)</td><td>21.65</td><td>35.33</td><td>18.32</td><td>13.08</td><td>123.33</td><td>178.71</td></tr><tr><td>SMC-double (implicit)</td><td>1.86</td><td>17.18</td><td>2.04</td><td>3.81</td><td>4.52</td><td>76.20</td></tr><tr><td>PD energy (first)</td><td>2.00</td><td>4.44</td><td>1.79</td><td>2.00</td><td>3.78</td><td>131.31</td></tr><tr><td>PD energy (last)</td><td>2.14</td><td>2.04</td><td>1.91</td><td>2.14</td><td>1.81</td><td>141.57</td></tr><tr><td>Coupling tracking (first)</td><td>1.17</td><td>1.74</td><td>3.43</td><td>1.17</td><td>1.36</td><td>78.73</td></tr><tr><td>Coupling tracking (last)</td><td>1.11</td><td>1.44</td><td>2.44</td><td>1.11</td><td>1.94</td><td>74.28</td></tr><tr><td>Coupling tracking (3D)</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>69.68</td></tr></tbody></table>

The data provided in this table are presented to show the abilities of the developed toolbox and have been obtained under specific conditions and may change depending on several factors e.g., gain optimization algorithm and the corresponding cost function. One may modify such parameters in the toolbox to obtain the customized results corresponding to different conditions.
<figure><img src="image_9.png" /><figcaption>Figure 6: $L_2$ norms of the payload position tracking error for the trajectory $x_d(t) = 5 \sin(\omega t)$ under nominal condition</figcaption></figure>

### 7.2.3. Summarized results

According to the preliminary comparative analyses made in this section, the following conclusions can be drawn:

* The open-loop control strategies could provide good performances in unperturbed cases for the regulation scenario in 2D space. Moreover, they are easy to implement since they don't need feedback measures. However, in the presence of perturbation or for the tracking problem, they show one of the worst responses, as expected.

* It is clear that noncollocated feedback can lead to a more complex implementation since the sway angles or payload's coordinate have to be measured for control law synthesis. However, the results show that in some specific cases, the collocated controllers show better responses than the noncollocated ones. Such a conclusion may not be true for all cases. For instance, quasi-PID sometimes leads to a better result compared to the collocated PD controller, meaning that this noncollocated feedback strategy behaves better than some collocated strategies.

* For the tracking problem, the tracking controllers show better results compared to the regulation ones, and their performances are almost independent of the trajectory's frequency (see Fig. 6). This is an expected feature since they are designed to achieve this preference. Moreover, the tracking controllers are more robust to the measurement noise because according to Table 13, their control laws also depend on the feedforward terms in addition to the feedback which decreases their sensitivity.

* Some of the controllers are designed based on the PDE models, e.g., PD-PD controller. One of the key assumptions in their design is that the payload mass is much larger than the mass of the cable (see Sec. 2.3). As a result, as it was seen in Table 15, this controller presents one of the worst responses for the no-load case.
* The PDE-based models enabling one to take into account the cable's flexibility are unable to model large nonlinearities and lose their accuracy in the presence of large sway angles. As a result, the controllers designed based on such models (PD-PD for example) cannot guarantee global stability. This issue should be addressed in the future by either calculating the domain of attraction of such controllers or extending them to take into account general nonlinearities. The characterization of the domain of attraction may also bring an answer to the previous idea.

* The controllers designed for the 3D space can handle the coupling between the axes and are expected to show advantages for such conditions. The only 3D controller shows almost the best result after the collocated PD tracking controller (which is in fact designed for the 2D case). Based on these results, it can be seen that the 3D design of the coupling tracking controller shows slightly better responses than the 2D counterpart (the same controller when the coupling exists in the 3D space is neglected, see the last row of Table 15).

The full report corresponding to this work can be found in [163], where one may find the extended results as follows:

* The complete mass matrix of the Euler-Lagrange dynamics of the proposed simulation-oriented model with an arbitrary number of links has been developed in [163, Section 3] and [32]. Moreover, the key characteristics of the model under different conditions, e.g., presence of elasticity in the links, heavy and light payloads, have been extracted.

* A more comprehensive comparative study under different operating conditions has been made in [163, Section 7] for 2D operating space, where several different objective functions such as control energy, cart and payload tracking performances, and the required time to satisfy the control objectives have been calculated. Note that, in this survey, only the payload tracking position has been selected for the comparisons of the controllers as shown in Table 15. However, considering other objective functions for the comparisons may lead to different results as explained in [163, Section 7]. For instance, while the open-loop methods present one of the worst responses in the presence of disturbances, they always need the smallest amount of control energy which makes them energy optimal among all the considered controllers.

* The extended results for the 3D case when the payload eccentricity can cause undesired 3D motions are presented in [163, Section 8], where the general results are in accordance with the 2D case except that the controllers taking into account the dynamic coupling between x and y axes, e.g., the coupling tracking controller, may be more efficient in payload positioning.

**Remark 11.** It should be again asserted that the results presented in this survey are drawn under specific conditions and controller parameters which are obtained in [163] and may not be valid under all scenarios and applications. Hence, the toolbox developed in this work has to be used for each specific application to achieve customized results.

## 8. Conclusion

A complete review of the modeling schemes developed for overhead cranes has been presented in this review article, with their key properties. Subsequently, a comprehensive review has been made for the
control methods based on their characteristics, e.g., the feedback (open-loop, collocated, and noncollocated feedback), scenario (regulation and tracking), operating space (2D and 3D), stability (local, global, etc.), and the model used to design the controller. Moreover, a compact tabular presentation allows one to select the appropriate controller at a glance. Some controller candidates have been selected from each class and preliminary comparative analysis has been made based on numerical experiments under different conditions to extract the main properties of each classification. The results obtained from such a comparison and the available toolbox for gains calculation provided a user's guideline to select the most appropriate method for each specific condition. The following research gaps have been identified in this study which potentially can be addressed in future research, as far a modeling issues are concerned:

* In the literature, the forces applied to the cart toward the *x* and *y* axes as well as the force on the hoisting mechanism are the only accessible control inputs. While these inputs might be sufficient for the payload positioning toward the *x* and *y* axes, they cannot be used to control the 3D payload's orientation. The reason is that the lengths of the cables are always equal and there is not any freedom to change the cables' lengths independently (note that in a real crane, the tool is suspended to the cart through several cables). For the equal cables' lengths, in this context, the literature just addressed the kinematic problem without taking the control design into account [166, 40, 165, 16, 40, 15]. The authors believe that the methods developed for the cable-driven robotic systems [267] may be useful to control the payload rotation in 3D space based on the kinematic developed in [166, 40, 165, 16, 40, 15, 123] if each cable's length can be controlled independently. Such a scenario has been addressed in [172, 123] where the payload is suspended by four cables which can be adjusted separately by four actuators. Note that in [159, 39, 38], it can be seen that the considered system is quite similar to an OC. Apparently, such references do not consider dynamics but just static analysis with inextensible cables that are in two modes: taut or slack. Another relative issue is the definition of the payload in 3D space usually defined by industrial terms such as trim, list, and skew motions in the literature which are unable to describe the motions when they occur simultaneously. Hence, a more accurate convention should be proposed for the 3D motions of the payload, e.g., based on the Euler or Bryan angles used in the mechanics community.

* There are many different ways to model a cable [152], which is a complex mechanical deformable system to characterize (many cables are made of braided wires, and their behaviour depends not only on materials but on the braiding structure [91] and internal interactions). A simplified pendulum-like 20-link model has been implemented in the toolbox developed in this work to capture the global inertial nonlinearities and cable flexibility simultaneously (this type of modeling approach is often used for virtual environment simulation [212, 54]). It has the advantage that several parameters can be changed and tuned easily (like longitudinal, joint stiffnesses, total mass, number *N* of links), and it is the natural extension of the single and double-pendulum models widely used in the Automatic Control literature. However, as said above this is a preliminary multibody system model which oversimplifies some cable's dynamics. While cables' models based on finite element method (FEM) have been thoroughly studied, it has not yet been considered for OC control, except for very few works. Hence, FEM models of cables should be implemented in the toolbox in future works, leading to a more accurate and customizable cable model for simulation (this is especially true for multiple-cable systems). The FEM
approaches proposed in [228, 27] look promising because they incorporate large-deformation nonlinear dynamics, hence bridging the gap between global, multibody models, and local FEM discretizations of the string equation. The ALE-ANCF method yields cable's dynamics which can be recast in a multibody framework, familiar to Automatic Control and Robotics researchers. It takes the form of quasi-Lagrange equations with equality holonomic constraints [82, Equ. (12)] [99, Equ. (26)]. It is well-suited for cables with varying lengths [99], and applies to slender geometries with large deformations, and circular cross-sections. It models axial and bending stiffnesses. The inertial nonlinearities stem from the varying length (which implies some mass flows between the elements), and the mass matrix is constant. Concerning control: advanced control methods have been applied to FEM cables models in [77, 78, 84, 85, 253], however, they seem to apply primarily to cables with important sag, in a static framework. The main obstacle with FEM models is that stability and feedback control may not be obvious using these models, in particular with respect to the available measured outputs. For the moment they are expected to be useful mainly for numerical simulation. Computational time may be an issue the designer has to take into account when performing the FEM spatial discretization (see section 7.1.1).

* As alluded to above, some industrial multiple-cable gantry cranes possess a rotational degree-of-freedom along the vertical axis. When limited to small deviations from the vertical axis, such systems possess dynamics of the form (see also [24] for slightly different equations):

$$ \begin{cases} I_1 \ddot{\beta}_1 = K(\beta_1, \beta_2) \\ I_2 \ddot{\beta}_2 = -K(\beta_1, \beta_2) + \tau, \end{cases} \qquad (11) $$

where $\tau$ is the control torque (applied by a motor mounted on the trolley), $\beta_1$ is the payload rotation angle, $\beta_2$ is the motor angle, $K(\beta_1, \beta_2)$ is the elastic torque due to the cables deformation, $I_1$ and $I_2$ are some equivalent moments of inertia. The dynamics in (11) possesses the required triangular form for backstepping [147, 35]. In an industrial context, the difficulties may be: a good estimation of the mapping $K(\cdot, \cdot)$ from experimental data, where $K(\cdot, \cdot)$ represents a kind of equivalent rotational stiffness which depends on the multiple cables kinematics and mechanical properties, the payload angle $\beta_1$ measurement or observation according to available sensors (in an industrial context, this may be a crucial issue). This should be extended to the 3D operational space, where the payload orientation plays a crucial role.

* In the same vein, sloshing dynamics inside payloads carrying liquids, involve a hard control problem. Multibody finite-dimensional models exist for sloshing effects dynamics. A fine analysis of the couplings introduced by sloshing and payload rotations may be mandatory if the application involves liquid transport.

* From a general control perspective (not restricted to OC carrying very large payloads), one has to take into account the fact that cables can pull but not push. This yields models incorporating slack modes, hence complementarity constraints and possible impacts inside the cables [31]. The multibody lumped masses dynamics is unable to model such effects [163]. Thus when light cables are considered, which are likely to reach such slack modes, another model has to be chosen. See Appendix A.5.

* Negative-imaginary (NI) systems are well suited to the study of lightweight mechanical structures
[34, Chapter 2]. This has not been exploited much in OC control (we could find only one reference using it [3]), but it has been studied for quadrotors with cable-suspended payloads [249, 248, 247]. NI theory mainly applies to linear time-invariant systems, hence may yield an alternative solution for local stabilization only.

* In some applications [210], the connection point of the last link is not located at the payload's center of mass. Hence a kind of triple-pendulum effect may appear in the system. However, mathematical modeling and control of triple-pendulum systems have never been addressed in the literature corresponding to cranes. A systematic modeling procedure has been presented in Appendix A to address the modeling of a pendulum-like system with an arbitrary number of links, which may help addressing this research gap.

* This study is only dedicated to OCs in their very basic form illustrated in Fig. 1. However, there are still other kinds of overhead cranes with different structures. For instance, according to the field investigations, the overhead cranes implemented in steel production companies usually have an extra degree of freedom, e.g., cart skew rotation. More clearly, in such applications, the trolley can rotate around the vertical axis to handle the steel bars in the warehouse. Moreover, the overhead cranes with two independently controlled carts have also been studied in the literature [270]. Another specific structure is the spider crane where the cart can also move vertically [207]. Moreover, several hoisting mechanisms may be implemented on the large-scale carts that modify the dynamic equations [310]. Such specific structures and their control have not yet received much attention in the Automatic Control literature.

A fundamental question which involves both modeling and control, is how detailed the model should be for control design. Clearly adding more degrees of freedom in a multibody lumped-mass model, quickly yields complex dynamics (see the appendix for examples) which may not be easily tractable for control design. As far as open questions on control design are concerned, some possible future research lines follow:

* As it was seen, the controllers are only designed based on the single or double-pendulum systems, and their stability is ensured only based on such models. For instance, LaSalle's invariance principle along with the Lyapunov stability theorem (see Remark 6) has been used to show the stability of the control systems on the single and double-pendulum systems. However, it is still not clear whether the stability will remain valid for a larger number of links (like the used 20-link simulation-oriented model) or not, in spite of the fact that the global structure for partial feedback linearization (à la Spong) can still be applied for the *N*-link pendulum OC, see Appendix G. Hence, the stability analysis for pendulum-like systems with an arbitrary number of links should be considered in the future. The developments presented in Appendix A may be useful (starting with *N* = 3, for instance).

* In a real crane, several cables are usually used to suspend the payload and manipulate it in 3D space. According to Table 10, while the kinematics has been addressed for such a scenario, the control design based on the derived kinematics remains largely unaddressed (as pointed out above, the only reference we could find where a dynamic model has been developed for the multi-cable case is [41]. However, the obtained model is very complex and has not yet been used for control design purpose). Designing a feedback controller based on the derived kinematics would allow the manipulation of the payload
more effectively by controlling the 3D payload motions. To this end, the control methods developed for cable-driven robotic systems can be potentially extended to this topic, see, e.g., [198, 292, 293, 197] and references therein. Usually, massless rods with varying length are used for such manipulation tasks [91].

* In this study, the so-called intelligent control schemes, e.g., data-driven machine learning [220], fuzzy control [227, 242, 294], are excluded from the comparisons because of the lack of solid stability analysis (that do exist in classical control methods analyses). However, such methods can potentially provide advantages over the classic ones and are worth considering in future research. Indeed, as an alternative solution to the physics-based modeling approach, e.g., the Euler-Lagrange framework used in this study to obtain the dynamic equations, data-driven modeling schemes can also be employed. Since such methods are obtained based on real system measurements, they can potentially lead to more realistic models (though, limited to the subspace spanned by the measurements) and are worth considering in future studies. For instance, an adaptive neuro-fuzzy inference system has been trained by a genetic algorithm in [309] to realize such a data-driven model. Alternatively, a neural network with online parameter tuning has been developed in [120] for this purpose. Estimating cable's dynamics (even multi-cable systems) using data-driven machine learning, seems to be largely open in the OC literature.

* The design or modification of the reference velocity and its effect on the sway reduction has not been considered in this work. Such methods, e.g., using notch filters, smoothing the reference trajectory, delayed feedback [257], path planning [237, 231], and flatness theory can be integrated with the majority of the controllers developed in this work to achieve a better sway reduction. Such integration remains for future works.

* In a real crane, a kind of path planning has to be considered in order to avoid collisions. In Sec. 3, we identified two control methods, i.e., MPC and optimal control, that can be used directly to avoid the collision. For the other methods, a dedicated path-planning algorithm should be designed to generate a collision-free trajectory. This issue has not been deeply considered in this work and the study of the controllers for collision avoidance is necessary in future works.

* The conclusions drawn in this review, are mainly based on the simulation-oriented model developed in this work. Hence, experimental validations of the results are mandatory doing in future works. In particular, the results compiled in Fig. 6 should be validated on laboratory setups (since it may be difficult to lead such experiments in an industrial context).

**Acknowledgements:** This work has been developed within the scope of an "Institut de Recherche Technologique NanoElec" project, founded by the french program "Investissement d'Avenirs" ANR-10-AIRT-05.

## Appendix A. Ingredients of the N-link Lagrange multibody model with lumped masses

The well-known single-pendulum and double-pendulum multibody models in 2D and 3D operational spaces are recalled in Secs. 2.1 and 2.2. Though this may be sufficient in many industrial cases, some tasks
may require cables' models with more degrees of freedom (think also of tasks involving payload-free OC, so that cables can hardly be considered as being always tight). In view of Secs. 5 and 7, it is of interest to provide some details on the N-pendulum Lagrange dynamics. In this work we consider an N-link pendulum as in Fig. 4, with massless links, all masses are lumped at the joints, in 2D operational space.

## Appendix A.1. The mass matrix

In this appendix we make the choice of pendulum angles $\theta_i$, such that $\theta_i = \sum_{j=1}^i \alpha_j$. The mass matrix of the system in Fig. 4 (2D operational space with variable length cable) is denoted as:

$$ M(q) = \begin{pmatrix} M_{x\theta}(q) & M_{x\theta l}(q) \\ M_{lx\theta}(q) & M_{ll}(q) \end{pmatrix} \in \mathbb{R}^{(1+2N) \times (1+2N)}, \qquad (A.1) $$

with $M_{x\theta}(q) \in \mathbb{R}^{(1+N) \times (1+N)}$, $M_{ll}(q) \in \mathbb{R}^{N \times N}$, and $M_{x\theta l}(q) = M_{lx\theta}^{\top}(q) \in \mathbb{R}^{(1+N) \times N}$. It is also possible to go a step further with:

$$ M_{x\theta}(q) = \begin{pmatrix} M_{xx}(q) & \bar{M}_{x\theta}(q) \\ \bar{M}_{x\theta}^{\top}(q) & M_{\theta\theta}(q) \end{pmatrix} \qquad (A.2) $$

with $M_{xx}(q) \in \mathbb{R}$, $\bar{M}_{x\theta}(q) \in \mathbb{R}^{1 \times N}$, $M_{\theta\theta}(q) \in \mathbb{R}^{N \times N}$. This expression of the mass matrix corresponds to the choice of the generalized coordinates as $q = (x, \theta_1, \dots, \theta_N, l_1, \dots, l_N)^{\top} \in \mathbb{R}^{2N+1}$. Other choices can be made, like those splitting the coordinates into actuated $q_a$ and nonactuated ones $q_{na}$, which is a classical way of doing in the Control literature [206].

**Proposition 1.** Let $q = (x, \theta_1, \dots, \theta_N, l_1, \dots, l_N)^{\top}$, and constant masses $m$ and $m_i$, $1 \le i \le N$. The mass matrix entries are calculated as follows:

* $M_{xx}(q) = m_{11}(q) = m + \sum_{i=1}^N m_i$

* The components of $M_{ll}(q)$ are $m_{(N+1+n)(N+j+1)}(q) = m_{(N+j+1)(N+1+n)}(q) = (\sum_{i=\max(j,n)}^N m_i) \cos(\theta_n - \theta_j)$, $1 \le j \le N$, $1 \le n \le N$.

* The components of $M_{\theta\theta}(q)$ are $m_{(n+1)(j+1)}(q) = (\sum_{i=\max(j,n)}^N m_i) l_n l_j \cos(\theta_n - \theta_j) = m_{(j+1)(n+1)}(q)$, $1 \le j \le N$, $1 \le n \le N$.

* The components of $\bar{M}_{x\theta}(q)$ are: for all $2 \le k \le N+1$ (components which multiply $\ddot{\theta}_k$): $m_{1k}(q) = m_{k1}(q) = (\sum_{i=k-1}^N m_i) l_{k-1} \cos(\theta_{k-1})$.

* The components of $M_{x\alpha l}$ are: for all $N+2 \le k \le 2N+1$, $m_{1k}(z) = m_{k1}(q) = (\sum_{i=k-3}^N m_i) \sin(\theta_{k-3})$; and for $1 \le n \le N$, $1 \le j \le N$: $m_{(n+1)(N+j+1)}(z) = (\sum_{i=\max(n,j)}^N m_i) l_n \sin(\theta_j - \theta_n)$.

Details of the calculation can be found in [32]. Some properties of the mass matrix can be deduced.

**Lemma 1.** Let $N \ge 1$ and $q = (x, \theta_1, \theta_2, \dots, \theta_N, l_1, l_2, \dots, l_N)^{\top}$. Consider the mass matrix in (A.1) and (A.2).

1. The diagonal components of $M(q)$ are always all constant positive.

2. The components of $M_{x\theta l}$ are small for small angles (neighborhood of the cable's vertical posture) with $\sin(\theta_k) \approx \theta_k$. Hence the mass matrix possesses an almost-diagonal structure for small angles, in the limit: $M(q) = \begin{pmatrix} M_{x\theta}(q) & 0 \\ 0 & M_{ll}(q) \end{pmatrix} \in \mathbb{R}^{(1+2N) \times (1+2N)}$. When the links are aligned (equal angles $\theta_i$) the inertial couplings between the angles and the lengths vanish, with $\sin(\theta_j - \theta_n) \approx \theta_j - \theta_n$.

3. The components of $M_{\theta\theta}(q)$ and of $M_{ll}(q)$ are constant positive for small angles.

4. Assume that $M(q) = M(q)^{\top} > 0$ for all $q$. Then it follows that $M_{\theta\theta}(q) > 0$ and $M_{ll}(q) > 0$ for all $q$.

5. In case of large payload mass (i.e., $m_N \gg m_i$ for all $1 \le i \le N-1$), the mass matrix becomes ill-conditionned, since $M_{ll}(q)$ loses its rank around the vertical position when $m_i = 0$, $1 \le i \le N-1$, and has low rank when in addition the zero order approximation for small angles is made.
Item 4 is a consequence of the Schur Complement Lemma [33, Theorem A.65] [26, Proposition 10.2.5]. The proof of item 5 is as follows. The components of $M_{ll}(q)$ are $m_{(N+1+n)(N+j+1)}(q) = (\sum_{i=\max(j,n)}^N m_i) \cos(\theta_n - \theta_j)$, $1 \le j \le N$, $1 \le n \le N$. The zero-order approximation implies $\cos(\theta_n - \theta_j) \approx 1$, hence $m_{(N+1+n)(N+j+1)}(q) = \sum_{i=\max(j,n)}^N m_i$. In the limit where $m_i = 0$ for all $1 \le i \le N-1$, then all components are equal to $m_N$ and $M_{ll}$ has rank 1.

Let us define $\theta = (\theta_1, \dots, \theta_N)^\top$ and $\alpha = (\alpha_1, \dots, \alpha_N)^\top$, and $z = (x, \alpha^\top, l^\top)^\top$. Then $\theta = J\alpha$ where $J$ is an invertible Toeplitz matrix. Thus $q = Lz$, with $L = \begin{pmatrix} 1 & 0_{1 \times N} & 0_{1 \times N} \\ 0_{N \times 1} & J & 0_{N \times N} \\ 0_{N \times 1} & 0_{N \times N} & I_N \end{pmatrix}$, $I_N$ is the identity matrix of size $N$. In theory, using the kinetic energy invariance, it is systematic to calculate $M(z) = L^\top M(Lz)L$. It is obtained:

$$M(z) = \begin{pmatrix} M_{xx} & M_{x\theta}J & \begin{pmatrix} 1 & 0 \\ 0 & J^\top \end{pmatrix} M_{x\theta l} \\ J^\top M_{x\theta}^\top & J^\top M_{\theta\theta}J & \\ M_{x\theta l}^\top & \begin{pmatrix} 1 & 0 \\ 0 & J \end{pmatrix} & M_{ll} \end{pmatrix} \quad (A.3)$$

Therefore the above conclusions still hold with the mass matrix $M(z)$ partitioned similarly as (A.1) and (A.2).

## Appendix A.2. Nonlinear inertial forces

The Coriolis/centrifugal forces $C(q, \dot{q})\dot{q}$ in (1) can be deduced from it using the classical Christoffel's symbols as $C(q, \dot{q}) = (\sum_{k=1}^n \Gamma_{ijk} \dot{q}_k)_{ij}$, where $\Gamma_{ijk} = \frac{1}{2} \left( \frac{\partial m_{ij}}{\partial q_k} + \frac{\partial m_{ik}}{\partial q_j} - \frac{\partial m_{kj}}{\partial q_i} \right)$ [33, Lemma 6.16], $n$ being the generalized coordinate dimension. In spite of the fact that such calculations may not be straightforward in general using Proposition 1, they are doable, see Appendix B, Appendix C. Such developments are mandatory doing to extend passivity-based approaches to the $N$-link pendulum case.

## Appendix A.3. Varying masses

If the links' lengths vary only because of longitudinal flexibility, the masses remain constant. In case of a winding mechanism mounted at the attachment point, the cable's total mass varies with its length, i.e., $m_1 = m_1(l_1)$. In all rigor, this has to be taken into account when deriving the Lagrange dynamics. If $l_1$ varies little then this may be neglected [201]. In some applications cables' lengths vary a lot and this dependence becomes mandatory modeling [116, 201, 113]. The Lagrange dynamics as in (1) cannot be applied directly in this case: it is necessary to add a corrective term in the dynamics [191, 193], see also [192] for a short historical summary. It is noteworthy that the mass may vary because of the payload's mass variations: $m_N = m_N(t)$, with constant lengths. Time-varying masses should be treated differently from position-dependent ones [191]: the generalized nonconservative forces have to incorporate a corrective term involving the rate $\dot{m}_N(t)$ times the gained or expelled mass' velocity (in a Galilean frame of reference). See Appendix D for computations in case of the 2D single-pendulum with position-dependent mass.

A more general multibody model of rigid links modelled as rigid slender rods may be considered, instead of the lumped-mass model. Rotational kinetic energies $\frac{1}{2}J_i\dot{a}_i^2$, $1 \le i \le N$, $J_i$ the inertia momentum of body $i$, add terms $J_i\ddot{a}_i$ in the Lagrange dynamics. They modify the matrix $M_{\alpha\alpha}(q)$ and the nonlinear terms. If this approach is chosen instead of the lumped-mass approach, and if lengths and masses are varying, then the bodies have to be considered as deformable: one can rely on continuum Mechanics or on the finite-element
method. These approaches are briefly reviewed in this article. In general, if the moment of inertia can be calculated as $J_i(t)$ in a reference frame attached to the body $i$ at its center of gravity, then the fundamental principle of dynamics applies which makes $\dot{J}_i(t)\dot{\alpha}_i(t)$ appear in the dynamics [5, section 3.2].

## Appendix A.4. Potential energies

They may have several sources: gravity, longitudinal elastic energy of the links (modeling cables extension), rotational elasticity at the joints (modeling cables bending elastic energy). If no elastic torsional joint stiffness and no longitudinal deformation is modeled, this reduces to the gravity potential energy of each link, that of the trolley being constant chosen equal to zero:

$$U_g(\theta, l) = -\sum_{i=1}^{N} m_i g \sum_{k=1}^{i} l_k \cos\left(\sum_{j=1}^{k} \alpha_j\right) = -\sum_{i=1}^{N} m_i g \sum_{k=1}^{i} l_k \cos(\theta_k) \quad (A.4)$$

Thus for $1 \le n \le N$:

$$\frac{\partial U_g}{\partial \theta_n} = -g \frac{\partial}{\partial \theta_n} \sum_{k=1}^{N} l_k \cos(\theta_k) \sum_{i=k}^{N} m_i = g l_n \sin(\theta_n) \sum_{i=n}^{N} m_i \quad (A.5)$$

$$\frac{\partial U_g}{\partial l_n} = -g \frac{\partial}{\partial l_n} \sum_{k=1}^{N} l_k \cos(\theta_k) \sum_{i=k}^{N} m_i = -g \cos(\theta_n) \sum_{i=n}^{N} m_i \quad (A.6)$$

The corresponding generalized forces satisfy $F_g(q) = -\frac{\partial U_g}{\partial q}$. If joint flexibility is added at joints $A_i$, $1 \le i \le N$ (corresponding to the masses $m_i$ in Fig. 4), in order to model some bending stiffness for the cable, then the additional potential energy is $U_{flex}(\alpha) = \frac{1}{2} \sum_{j=0}^{N-1} \kappa_j \alpha_{j+1}^2 = \frac{1}{2} \alpha^\top K \alpha$, where $\kappa_j \ge 0$ is the angular stiffness at joint $A_j$ and $K = \text{diag}(\kappa_i)$, $0 \le i \le N-1$. Thus:

$$\frac{\partial U_{flex}(\alpha)}{\partial \alpha_i} = \kappa_{i-1} \alpha_i, \quad 1 \le i \le N. \quad (A.7)$$

This introduces no couplings between the coordinates, contrarily to what occurs in flexible joint manipulators [147, 35, 245]. In the coordinate angles $\theta_i = \sum_{j=1}^{i} \alpha_j$, $1 \le i \le N$, $\theta = J\alpha$, $\alpha = J^{-1}\theta$, hence $U_{flex}(\theta) = \frac{1}{2}\alpha^\top K \alpha = \frac{1}{2}\theta^\top J^{-1} K J^{-1} \theta$. Here $J$ is full-rank Toeplitz [25, Definition 3.1.3], and its inverse is calculated

using [25, Fact 3.18.11]. This yields $J^{-1}\theta = \begin{pmatrix} \theta_1 \\ \theta_2 - \theta_1 \\ \vdots \\ \theta_N - \theta_{N-1} \end{pmatrix}$, hence $U_{flex}(\theta) = \frac{1}{2}\kappa_0\theta_1^2 + \sum_{i=1}^{N-1} \kappa_i(\theta_{i+1} - \theta_i)^2$.

It is inferred that

$$\frac{\partial U_{flex}(\theta)}{\partial \theta_1} = \kappa_0 \theta_1 - \kappa_1 (\theta_2 - \theta_1) = (\kappa_0 + \kappa_1) \theta_1 - \kappa_1 \theta_2, \quad (A.8)$$

for $2 \le j \le N-1$:

$$\frac{\partial U_{flex}(\theta)}{\partial \theta_j} = \kappa_{j-1}(\theta_j - \theta_{j-1}) - \kappa_j(\theta_{j+1} - \theta_j) = (\kappa_{j-1} + \kappa_j)\theta_j - \kappa_j\theta_{j+1} - \kappa_{j-1}\theta_{j-1}, \quad (A.9)$$

and

$$\frac{\partial U_{flex}(\theta)}{\partial \theta_N} = \kappa_{N-1}(\theta_N - \theta_{N-1}), \quad (A.10)$$
so that

$$ \frac{\partial U_{\text{flex}}(\theta)}{\partial \theta} = \begin{pmatrix} \kappa_0 + \kappa_1 & -\kappa_1 & 0 & \dots & 0 \\ -\kappa_1 & \kappa_1 + \kappa_2 & -\kappa_2 & 0 & \dots & 0 \\ 0 & -\kappa_2 & \kappa_2 + \kappa_3 & -\kappa_3 & 0 & \dots & 0 \\ \vdots & \vdots & \vdots & \ddots & \vdots & \ddots & \vdots \\ 0 & \dots & 0 & -\kappa_{N-2} & \kappa_{N-2} + \kappa_{N-1} & -\kappa_{N-1} & 0 \\ 0 & \dots & 0 & -\kappa_{N-1} & \kappa_{N-1} & 0 & -\kappa_{N-1} \end{pmatrix} \quad (A.11) $$

The joint flexibility introduces a triangular structure in the torques that derive from the elasticity potential, since the row 1+n of the Lagrange dynamics, $1 \le n \le N$, corresponding to $M_{(1+n)\bullet}(q)$ and $\ddot{\theta}_n$, contains the flexibility torque $(-\kappa_{n-1}\theta_{n-1} + (\kappa_{n-1}+\kappa_n)\theta_n) - \kappa_n\theta_{n+1}$. One can think of using a backstepping-like control design using the fictitious input $\theta_{n+1}$. However, as seen in Lemma 1, the vis-à-vis terms in the submatrix $M_{\theta\theta}(q)$ always contain strong inertial couplings between $\ddot{\theta}_n$ and the other angular accelerations. Therefore the global triangular structure of Spong's model for flexible-joint manipulators [147, 35] does not exist in such overhead crane systems.

The same system is considered with elastic links to approximate extensible cables. In this case the generalized coordinate is $q = (x, \theta_1, \dots, \theta_N, l_1, \dots, l_N)^T$. Each link has a longitudinal linear elasticity with stiffness $k_i > 0, 1 \le i \le N$. Damping can also be modeled, see [91] for details on Kelvin-Voigt model parameters estimation. The same framework as in the foregoing sections is adopted, but the potential energy is augmented with terms $\frac{1}{2}k_i(l_i - l_{i,r})^2$ (assuming that springs are at rest for $l_i = l_{i,r}$). This model is close in spirit to the lumped-mass models developed in [42, 116], but nonlinearities are considered here. It is also easy to add some viscous friction (linear spring-dashpot or Kelvin-Voigt model) $c_i\dot{l}_i$, which is some kind of Rayleigh dissipation [33, Definition 6.12]. Reminding that $l = (l_1, l_2, \dots, l_N)^T$, we have:

$$ \frac{\partial U_{\text{elas}}}{\partial l} = (k_1(l_1 - l_{1,r}), \dots, k_N(l_N - l_{N,r}))^T \quad (A.12) $$

## Appendix A.5. Cable's slack behaviour

As alluded to above, cables can pull but cannot push (they work only in traction). This is translated into a set of complementarity constraints between the cable's internal tension $T_{cab}(q)$ at its edges, and its length $L_{cab}(q)$ as: $0 \le T_{cab}(q) \perp L_{max} - L_{cab}(q) \ge 0$, where $L_{max}$ is the cable's maximum length when it is stretched. If $L_{cab}(q) = L_{max}$, then nonnegative tension is possible. If $L_{cab} < L_{max}$, then the tension vanishes, this is the slack mode. If $T_{cab}(q) > 0$, then necessarily $L_{cab}(q) = L_{max}$. Such a model implies that an impact can occur at times when the cable attains its maximum length [31, Example 1.6]. The complementarity-slackness behaviour remains true if longitudinal elasticity is modeled. The lumped-mass multibody model is unable to model such complementary-slackness behaviour. In particular, no impact can be modeled this way, showing the limitation of the multibody modeling approach. A detailed analysis can be found in [163, Section 3.7].

## Appendix A.6. Change of generalized coordinates

It is worth studying the dynamics using various sets of generalized coordinates, like $z = (x, \alpha^T, l^T)^T$ or $q = (x, \theta^T, l^T)^T$. As seen above, $\theta = J\alpha$ with J full-rank Toeplitz can be used. In the same vein $L = Jl$ can be chosen, where $L_i$ represents an approximation of the curvilinear coordinate of node i (see Fig. 4). The
nodes Cartesian coordinates can also be used [151]. As shown in [163, section 3.1.3] this yields Lagrange dynamics as:

$$M\ddot{q}(t) + K_{\text{elas}}(q(t))q(t) + K_{\text{flex}}(q(t))q(t) = Q(t). \qquad (A.13)$$

This form of the Lagrange dynamics shares common features with the FEM dynamics studied in [27] and [84] (constant matrix and nonlinear stiffness). Horizontal positions of the nodes $x_i = x + \sum_{j=1}^{i} l_j \sin(\sum_{k=1}^{j} \alpha_k)$ can also be chosen. With small angles assumption we obtain linear Lagrange dynamics $M\ddot{q}(t) + K_{\text{flex}}q(t) = Q(t)$. However, the mass matrix stemming from the lumped-mass model is diagonal and nonconsistent (while that obtained from FEM is tridiagonal and consistent [71]). We infer that if the objective is to control the OC in a neighborhood of the vertical position using a finite-degrees-of-freedom model, then the consistent FEM model should be chosen instead of the tangent linearization of the multibody model.

## Appendix B. Lagrange dynamics of the 2D double-pendulum with varying lengths and constant masses

Let us first provide the 5×5 mass matrix $M(q)$ (the angles as in Fig. 4, with $q = (x, \theta_1, \theta_2, l_1, l_2)^\top$). Detailed calculations are in [32]. The system's kinetic energy is given by the sum of the kinetic energies of the cart, mass $m_1$ and mass $m_2$:

$$T(q, \dot{q}) = \frac{1}{2}m\dot{x}^2 + \frac{1}{2}m_1[\dot{x} + l_1\dot{\theta}_1\cos(\theta_1) + \dot{l}_1\sin(\theta_1)]^2 + \frac{1}{2}m_1[l_1\dot{\theta}_1\sin(\theta_1) - \dot{l}_1\cos(\theta_1)]^2 \\ + \frac{1}{2}m_2[\dot{x} + l_1\dot{\theta}_1\cos(\theta_1) + \dot{l}_1\sin(\theta_1) + l_2\dot{\theta}_2\cos(\theta_2) + \dot{l}_2\sin(\theta_2)]^2 \\ + \frac{1}{2}m_2[l_1\dot{\theta}_1\sin(\theta_1) - \dot{l}_1\cos(\theta_1) + l_2\dot{\theta}_2\sin(\theta_2) - \dot{l}_2\cos(\theta_2)]^2 \qquad (B.1)$$

The mass matrix' components are obtained from the expression of $\frac{d}{dt}\frac{\partial T}{\partial \dot{q}}$ and they are given by (from row 1 to row 5):

$$\begin{align*}
m_{11}(q) &= m + m_1 + m_2, \quad m_{12}(q) = (m_1 + m_2)l_1 \cos(\theta_1) \\
m_{13}(q) &= m_2 l_2 \cos(\theta_2), \quad m_{14}(q) = (m_1 + m_2)\sin(\theta_1), \quad m_{15}(q) = m_2 \sin(\theta_2) \\
m_{21}(q) &= (m_1 + m_2)l_1 \cos(\theta_1) = m_{12}(q), \quad m_{22}(q) = (m_1 + m_2)l_1^2 \\
m_{23}(q) &= m_2 l_1 l_2 \cos(\theta_2 - \theta_1), \quad m_{24}(q) = 0, \quad m_{25}(q) = m_2 l_1 \sin(\theta_2 - \theta_1) \\
m_{31}(q) &= m_2 l_2 \cos(\theta_2) = m_{13}(q), \quad m_{32}(q) = m_2 l_1 l_2 \cos(\theta_2 - \theta_1) = m_{23}(q) \\
m_{33}(q) &= m_2 l_2^2, \quad m_{34}(q) = -m_2 l_2 \sin(\theta_2 - \theta_1), \quad m_{35}(q) = 0
\end{align*} \qquad (B.2)$$

$$\begin{align*}
m_{41}(q) &= (m_1 + m_2)\sin(\theta_1) = m_{14}(q), \quad m_{42}(q) = 0 = m_{24}(q) \\
m_{43}(q) &= -m_2 l_2 \sin(\theta_2 - \theta_1) = m_{34}(q), \quad m_{44}(q) = m_1 + m_2, \quad m_{45}(q) = m_2 \cos(\theta_2 - \theta_1) \\
m_{51}(q) &= m_2 \sin(\theta_2) = m_{15}(q), \quad m_{52}(q) = m_2 l_1 \sin(\theta_2 - \theta_1) = m_{25}(q) \\
m_{53}(q) &= 0 = m_{35}(q), \quad m_{54}(q) = m_2 \cos(\theta_2 - \theta_1) = m_{45}(q), \quad m_{55}(q) = m_2
\end{align*}$$

The mass matrix $M(z)$, with $z = (x, \alpha^\top, l^\top)^\top$, is also derived in [32]. The potential energy in (A.4) is given by:

$$U_g(\theta_1, \theta_2, l_1, l_2) = -m_1 g l_1 \cos(\theta_1) - m_2 g (l_1 \cos(\theta_1) + l_2 \cos(\theta_2)). \qquad (B.3)$$
The Lagrange dynamics are given as: $\frac{d}{dt}\frac{\partial L}{\partial \dot{q}} - \frac{\partial L}{\partial q} = Q$, where $L(q, \dot{q})$ is the Lagrangian function, $L(q, \dot{q}) = T(q, \dot{q}) - U(q)$, $T(q, \dot{q}) = \frac{1}{2}\dot{q}^\top M(q)\dot{q}$ is the system's kinetic energy, $U(q)$ is its potential energy, $Q$ is the vector of generalized forces. It is deduced that the inertial nonlinear forces/torques are given by $C(q, \dot{q})\dot{q} = (\frac{d}{dt}M(q))\dot{q} - \frac{1}{2}\frac{\partial}{\partial q}\dot{q}^\top M(q)\dot{q}$, while the forces that derive from the potential are $G(q) = \frac{\partial U}{\partial q}$. The first row of $C(q, \dot{q})$ is

$$C_{1\bullet}(q, \dot{q}) = \begin{aligned} & (0, -(m_1 + m_2)l_1 \sin(\theta_1)\dot{\theta}_1 + (m_1 + m_2)\cos(\theta_1)\dot{l}_1, -m_2 l_2 \sin(\theta_2)\dot{\theta}_2 + m_2 \cos(\theta_2)\dot{l}_2, \\ & (m_1 + m_2)\cos(\theta_1)\dot{\theta}_1, m_2 \cos(\theta_2)\dot{\theta}_2), \end{aligned} \quad (B.4)$$

the second row of $C(q, \dot{q})$ can be chosen as

$$C_{2\bullet}(q, \dot{q}) = \begin{aligned} & (0, (m_1 + m_2)l_1 \dot{l}_1, m_2 l_1 l_2 \sin(\theta_1 - \theta_2)\dot{\theta}_2 + m_2 l_1 \cos(\theta_2 - \theta_1)\dot{l}_2, (m_1 + m_2)l_1 \dot{\theta}_1, \\ & m_2 l_1 \cos(\theta_2 - \theta_1)\dot{\theta}_2), \end{aligned} \quad (B.5)$$

the third row of $C(q, \dot{q})$ can be chosen as

$$C_{3\bullet}(q, \dot{q}) = \begin{aligned} & (0, -m_2 l_1 l_2 \sin(\theta_1 - \theta_2)\dot{\theta}_1 + m_2 \dot{l}_1 l_2 \cos(\theta_1 - \theta_2), m_2 l_2 \dot{l}_2, \\ & +m_2 \dot{\theta}_1 l_2 \cos(\theta_1 - \theta_2), m_2 l_2 \dot{\theta}_2), \end{aligned} \quad (B.6)$$

the fourth row of $C(q, \dot{q})$ can be chosen as

$$C_{4\bullet}(q, \dot{q}) = (0, -\dot{\theta}_1(m_1 + m_2)l_1, -m_2 l_2 \cos(\theta_1 - \theta_2)\dot{\theta}_2 + m_2 \dot{l}_2 \sin(\theta_1 - \theta_2), 0, m_2 \dot{\theta}_2 \sin(\theta_1 - \theta_2)), \quad (B.7)$$

so the fifth row of $C(q, \dot{q})$ can be chosen as

$$C_{5\bullet}(q, \dot{q}) = (0, -m_2 l_1 \cos(\theta_2 - \theta_1)\dot{\theta}_1 + m_2 \sin(\theta_2 - \theta_1)\dot{l}_1, -\dot{\theta}_2 m_2 l_2, -m_2 \sin(\theta_1 - \theta_2)\dot{\theta}_1, 0), \quad (B.8)$$

It is noteworthy that the above choice for $C(q, \dot{q})$ corresponds to the Christoffel's symbols with $\frac{d}{dt}(M(q)) = C(q, \dot{q}) + C^\top(q, \dot{q})$ [33, Lemma 6.17]. This choice is important because this form of the matrix $C(q, \dot{q})$ is useful in passivity-based controllers requiring the well-known skew-symmetry property [33, Chapter 7].

It remains to calculate the generalized forces which derive from the gravity potential energy. They are given by:

$$\begin{aligned} \frac{\partial U_g}{\partial x} &= 0, & \frac{\partial U_g}{\partial \theta_1} &= (m_1 + m_2)g l_1 \sin(\theta_1), \\ \frac{\partial U_g}{\partial \theta_2} &= m_2 g \sin(\theta_2), & \frac{\partial U_g}{\partial l_1} &= -(m_1 + m_2)g \cos(\theta_1), \\ \frac{\partial U_g}{\partial l_2} &= -m_2 g \cos(\theta_2) & & \end{aligned} \quad (B.9)$$

The corresponding generalized forces satisfy $F_g(z) = -\frac{\partial U_g}{\partial q}$. Thus once the torque inputs have been defined, the Lagrange dynamics with varying lengths and constant masses is complete for $N = 2$.

**Remark 12.** When $l_2$ does not vary (the whole cable's length variation is modeled with varying $l_1$, which is realistic if a winch mechanism is mounted at the cable's attachment point and the cable is inextensible, while the total mass is assumed constant), then the dynamics take the following form [219, 217, 148], as a reduced form of the above:

$$\begin{aligned} & (a) (m + m_1 + m_2)\ddot{x} + (m_1 + m_2)\cos(\theta_1)l_1\ddot{\theta}_1 + m_2l_2\cos(\theta_2)\ddot{\theta}_2 + (m_1 + m_2)\sin(\theta_1)\ddot{l}_1 \\ & \quad -(m_1 + m_2)l_1\sin(\theta_1)\dot{\theta}_1^2 - m_2l_2\sin(\theta_2)\dot{\theta}_2^2 + 2(m_1 + m_2)\cos(\theta_1)\dot{\theta}_1\dot{l}_1 = F_x \\ & (b) (m_1 + m_2)l_1\cos(\theta_1)\ddot{x} + (m_1 + m_2)l_1^2\ddot{\theta}_1 + m_2l_1l_2\cos(\theta_1 - \theta_2)\ddot{\theta}_2 + m_2l_1l_2\sin(\theta_1 - \theta_2)\dot{\theta}_2^2 \\ & \quad +2(m_1 + m_2)l_1\dot{\theta}_1\ddot{l}_1 + gl_1\sin(\theta_1)(m_1 + m_2) = 0 \\ & (c) m_2l_2\cos(\theta_2)\ddot{x} + m_2l_2l_1\cos(\theta_1 - \theta_2)\ddot{\theta}_1 + m_2l_2^2\ddot{\theta}_2 + m_2l_2\sin(\theta_1 - \theta_2)\ddot{l}_1 \\ & \quad -m_2l_2l_1\sin(\theta_1 - \theta_2)\dot{\theta}_1^2 + 2m_2l_2\cos(\theta_1 - \theta_2)\dot{\theta}_1\ddot{l}_1 + m_2l_2g\sin(\theta_2) = 0 \\ & (d) (m_1 + m_2)\sin(\theta_1)\ddot{x} + m_2l_2\sin(\theta_1 - \theta_2)\ddot{\theta}_2 + (m_1 + m_2)\dot{l}_1 - (m_1 + m_2)l_1\dot{\theta}_1^2 \\ & \quad -m_2l_2\cos(\theta_1 - \theta_2)\dot{\theta}_2^2 - (m_1 + m_2)g\cos(\theta_1) = F_l \end{aligned} \quad (B.10)$$

where it is still assumed that the cable's total mass variation is negligible, and $q = (x, \theta_1, \theta_2, l_1)^\top$.
## Appendix C. 3D single-pendulum with varying link's length: Coriolis/centrifugal matrix

Let us first provide the system's kinetic energy, from which $M(q)$ in (5) is derived [32]:

$$ T(q, \dot{q}) = \frac{1}{2} m \dot{x}^2 + \frac{1}{2} m \dot{y}^2 + \frac{1}{2} m_1 [\dot{y} + \dot{l}_1 \sin(\theta_y) + l_1 \dot{\theta}_y \cos(\theta_y)]^2 \\ + \frac{1}{2} m_1 [\dot{x} + \dot{l}_1 \sin(\theta_x) \cos(\theta_y) + l_1 \dot{\theta}_x \cos(\theta_x) \cos(\theta_y) - l_1 \sin(\theta_x) \sin(\theta_y) \dot{\theta}_y]^2 \\ + \frac{1}{2} m_1 [-\dot{l}_1 \cos(\theta_x) \cos(\theta_y) + l_1 \dot{\theta}_x \sin(\theta_x) \cos(\theta_y) + l_1 \dot{\theta}_y \cos(\theta_x) \sin(\theta_y)]^2 \quad (C.1) $$

The nonlinear inertial forces matrix in (5) which satisfies the skew-symmetry property $\frac{d}{dt}(M(q)) = C(q, \dot{q}) + C^\top(q, \dot{q})$ is given by (row by row):

$$ C_{1\bullet}(q, \dot{q}) = \begin{aligned} & (0, 0, -m_1 l_1 \sin(\theta_x) \cos(\theta_y) \dot{\theta}_x - m_1 l_1 \cos(\theta_x) \sin(\theta_y) \dot{\theta}_y + m_1 \cos(\theta_x) \cos(\theta_y) \dot{l}_1, \\ & -m_1 l_1 \sin(\theta_x) \cos(\theta_y) \dot{\theta}_y - m_1 l_1 \sin(\theta_x) \sin(\theta_y) \dot{l}_1 - m_1 l_1 \cos(\theta_x) \sin(\theta_y) \dot{\theta}_x, \\ & -m_1 \sin(\theta_x) \sin(\theta_y) \dot{\theta}_y + m_1 \cos(\theta_x) \cos(\theta_y) \dot{\theta}_x \end{aligned} \quad (C.2) $$

$$ C_{2\bullet}(q, \dot{q}) = (0, 0, 0, -m_1 l_1 \sin(\theta_y) \dot{\theta}_y + m_1 \cos(\theta_y) \dot{l}_1, m_1 \cos(\theta_y) \dot{\theta}_y) \quad (C.3) $$

$$ C_{3\bullet}(q, \dot{q}) = (0, 0, m_1 l_1 \cos^2(\theta_y) \dot{l}_1 - m_1 l_1^2 \cos(\theta_y) \sin(\theta_y) \dot{\theta}_y, -m_1 l_1^2 \sin(\theta_y) \cos(\theta_y) \dot{\theta}_x, m_1 l_1 \cos^2(\theta_y) \dot{\theta}_x) \quad (C.4) $$

$$ C_{4\bullet}(q, \dot{q}) = (0, 0, m_1 l_1^2 \cos(\theta_y) \sin(\theta_y) \dot{\theta}_x, m_1 l_1 \dot{l}_1, m_1 l_1 \dot{\theta}_y) \quad (C.5) $$

$$ C_{5\bullet}(q, \dot{q}) = (0, 0, -m_1 l_1 \cos^2(\theta_y) \dot{\theta}_x, -m_1 l_1 \dot{\theta}_y, 0) \quad (C.6) $$

As above the coefficients can be obtained from the Christoffel's symbols (see Appendix A.2) or by computing $C(q, \dot{q})\dot{q} = (\frac{d}{dt}M(q))\dot{q} - \frac{1}{2}\frac{\partial}{\partial q}\dot{q}^\top M(q)\dot{q}$ and rearranging the terms in a suitable way so that $\dot{m}_{ij} = c_{ij} + c_{ji}$ for all $1 \le i, j \le 5$.

## Appendix D. Dynamics of 2D single-pendulum with varying mass and link's length

Lagrangian dynamics for multibody systems with varying masses deserve special attention [191, 193, 192]. As alluded to above, the mass variation can be neglected if the length variation remains small (or if the cable's mass is much smaller than the hook's and payload's masses). However in some applications it may happen that the cable mass' variation is no longer negligible [113, 201, 67]. In this case the 2D (or the 3D) single-pendulum or double-pendulum model should reflect this mass variation, by allowing for $m_1 = m_1(l_1)$. In other words, the cable's mass is lumped at the first joint, and its variation implies a varying $m_1$. If a winding mechanism is mounted at the first joint, then $m_2 = m_2(l_2)$. Let us provide now the extension of (3) with $m_1(l_1)$, relying on the theoretical results in [191, 193, 192]. Such a modeling approach belongs to a multibody system model and is obviously quite different from the one in [67] which is based on a coupled ODE-PDE (see Sec. 2.3).

Let us recall the modified Lagrange equations derived in [191, 193, 192]:

$$ \frac{d}{dt} \frac{\partial (T - U)}{\partial \dot{q}} - \frac{\partial (T - U)}{\partial q} = Q + \hat{Q}, \quad (D.1) $$
where the corrective term is with varying masses $m_i(q, \dot{q}, t)$:

$$ \hat{Q}_j = \sum_i \dot{m}_i \mathbf{v}_{0i}^{\top} \frac{\partial P_i}{\partial q_j} + \sum_i \left\{ -\frac{1}{2} \frac{\partial m_i}{\partial q_j} \mathbf{v}_i^{\top} \mathbf{v}_i + \frac{1}{2} \frac{d}{dt} \left( \frac{\partial m_i}{\partial \dot{q}_j} \mathbf{v}_i^{\top} \mathbf{v}_i \right) \right\} \quad (D.2) $$

where the sum is made over the particles with varying mass, $\mathbf{v}_{0i}$ are the velocities of expelled or gained masses, $P_i$ are their position in the Galilean frame of reference. In our case only particle with mass $m_1(l_1)$ varies, hence the corrective terms become $(1 \le j \le 3)$:

$$ \hat{Q}_j = -\frac{1}{2} \frac{\partial m_1}{\partial q_j} \mathbf{v}_1^{\top} \mathbf{v}_1 \quad (D.3) $$

where $\mathbf{v}_1 \in \mathbb{R}^2$ is the velocity of the mass $m_1$ in Fig. 2 (a): $\mathbf{v}_1 = \begin{pmatrix} \dot{x} + l_1 \cos(\theta_1) \dot{\theta}_1 + \dot{l}_1 \sin(\theta_1) \\ l_1 \sin(\theta_1) \dot{\theta}_1 - \dot{l}_1 \cos(\theta_1) \end{pmatrix}$. Therefore:

$$ \hat{Q} = \begin{pmatrix} 0 \\ -\frac{1}{2} \frac{\partial m_1}{\partial l_1} [\dot{x}^2 + \dot{l}_1^2 + l_1^2 \dot{\theta}_1^2 + 2\dot{x}(l_1 \dot{\theta}_1 \cos(\theta_1) + \dot{l}_1 \sin(\theta_1))] \\ 0 \end{pmatrix} \quad (D.4) $$

This term has to be added in the right-hand side of (3). The above derivations assume that the system's total mass varies, which is untrue if the winch mechanism is mounted on the cart. In all rigor one also has to consider the dynamics of the reel from which the cable is deployed, augmenting the generalized position vector $q$, and the input $F_l$ is the torque which acts on the reel (pulley). In fact several options and assumptions are possible, depending on the different masses distribution and on the control objective, and also on whether or not the winch mechanism is mounted on the cart or is fixed with respect to the Galilean reference frame [101, Figures 2.4 and 2.5]. Similar modifications can be made in (B.10) for the double-pendulum with varying $l_1$ and $m_1(l_1)$.

## Appendix E. Dynamics of 3D double-pendulum with constant links' lengths and masses

The system is depicted in Fig. 3 (b). The dynamics of this OC have been derived in [183, Equations (1)-(6)] and [92, Equations (1)-(6)]. The system's kinetic energy is given by:

$$ \begin{aligned} T(q, \dot{q}) = & \frac{1}{2} m \dot{x}^2 + \frac{1}{2} m \dot{y}^2 + \frac{1}{2} m_1 [\dot{y} + l_1 \dot{\theta}_{1y} \cos(\theta_{1y})]^2 \\ & + \frac{1}{2} m_1 [\dot{x} + l_1 \dot{\theta}_{1x} \cos(\theta_{1x}) \cos(\theta_{1y}) - l_1 \sin(\theta_{1x}) \sin(\theta_{1y}) \dot{\theta}_{1y}]^2 \\ & + \frac{1}{2} m_1 [l_1 \dot{\theta}_{1x} \sin(\theta_{1x}) \cos(\theta_{1y}) + l_1 \dot{\theta}_{1y} \cos(\theta_{1x}) \sin(\theta_{1y})]^2 \\ & + \frac{1}{2} m_2 [\dot{x} + l_1 \dot{\theta}_{1x} \cos(\theta_{1x}) \cos(\theta_{1y}) - l_1 \dot{\theta}_{1y} \sin(\theta_{1x}) \sin(\theta_{1y}) + l_2 \dot{\theta}_{2x} \cos(\theta_{2x}) \cos(\theta_{2y})] \\ & - l_2 \dot{\theta}_{2y} \sin(\theta_{2x}) \sin(\theta_{2y})]^2 \\ & + \frac{1}{2} m_2 [\dot{y} + l_1 \dot{\theta}_{1y} \cos(\theta_{1y}) + l_2 \dot{\theta}_{2y} \cos(\theta_{2y})]^2 \\ & + \frac{1}{2} m_2 [l_1 \dot{\theta}_{1x} \sin(\theta_{1x}) \cos(\theta_{1y}) + l_1 \dot{\theta}_{1y} \cos(\theta_{1x}) \sin(\theta_{1y}) + l_2 \dot{\theta}_{2x} \sin(\theta_{2x}) \cos(\theta_{2y}) \\ & + l_2 \dot{\theta}_{2y} \cos(\theta_{2x}) \sin(\theta_{2y})]^2 \end{aligned} \quad (E.1) $$

From the expression of $\frac{d}{dt} \frac{\partial T}{\partial \dot{q}}$, it is deduced the mass matrix $M(q) \in \mathbb{R}^{6 \times 6}$, $q = (x, y, \theta_{1x}, \theta_{1y}, \theta_{2x}, \theta_{2y})^{\top}$, given row by row:

$$ \begin{aligned} m_{11}(q) &= m + m_1 + m_2, m_{12}(q) = 0, m_{13}(q) = (m_1 + m_2)l_1 \cos(\theta_{1x}) \cos(\theta_{1y}), \\ m_{14}(q) &= -(m_1 + m_2)l_1 \sin(\theta_{1x}) \sin(\theta_{1y}), m_{15}(q) = m_2 l_2 \cos(\theta_{1x}) \cos(\theta_{2y}), \\ m_{16}(q) &= -m_2 l_2 \sin(\theta_{2x}) \sin(\theta_{2y}) \end{aligned} \quad (E.2) $$