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

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 pendulation 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.


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 doublependulum 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 doublependulum models) are used for the simulations; • Several research gaps are identified, in the end, and presented as possible topics for future studies.

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: where q ∈ R n is a vector of minimal generalized coordinates, M (q) = M ⊤ (q) is the mass matrix (usually assumed to be ≻ 0, but it may be ≽ 0 in some cases), C(q,q)q contains centrifugal and Coriolis nonlinear generalised forces, −G(q) = − ∂U ∂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.

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, θ 1 , θ 2 ) ⊤ [234]: where m, m 1 , m 2 are the cart, tool and payload masses, respectively, θ 1 and θ 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 2: 2D models used for OCs (a) single-pendulum (b) double-pendulum (c) flexible pendulum models 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 1 and l 2 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 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,117,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. 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]: whereȳ(z, t) is the horizontal displacement at point z in [−L, 0] and time t ≥ 0, x is the cart position, y z (z, t) denotes the link's angular inclination, ρ 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.

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. Dynamical couplings: in view of large d 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 →q, and under a boundedness condition on the potential energy, is passive, i.e., V (q(t),q(t)) − V (q(0),q(0)) ≤ t 0 Q ⊤ (s)q(s)ds along the trajectories of the system, and where V (q,q) = T (q,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 [

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.
4. Output definition: The cable flexibility hinders to define and measure specific sway angles, e.g., θ 1 and θ 2 , as shown in Fig. 2. Hence, sway measurement can be considered as a source of uncertainty and disturb the measurements.

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 θ 1 and θ 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) 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.

Review of the control strategies proposed for OCs
The main control objective in any industrial crane is payload positioning. However, due to the underactuation, 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.

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

Input shaping
In these schemes, the input F (·) 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].

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 openloop 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].
• Taking the actuator dynamic into account for the controller design [124,80].

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.

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,ẋ) from the output.
In other words, F = F (x,ẋ, t) and F l = F l (l 1 ,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.

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.
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.

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.

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ẋ 2 + m 1 gl 1 (1 − cos θ 1 ), the rate of the system's energy isĖ =ẋF . Any control signal F leading toĖ ≤ 0 ensures the BIBO stability of the system (See Remark 6). It can be shown that a collocated PD control F = −ẋ can lead to such stability. While a collocated control strategy, e.g., F = −ẋ, 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].
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(θ) ≃ θ and cos(θ) ≃ 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 infinitedimensional 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 noncollocated 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].

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θ 1 (ẍ) from  [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.

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 elacticity 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 (θ 1 ), 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 (θ 2 ), length of the second link (l 2 ), and the payload mass (m 2 ). 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 singlependulum 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-modebased 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.

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.

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 ∞ 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).

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.

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].

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].

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, . 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.

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,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.

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].

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.

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 =ẋ) and y(t) → 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).  [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      [203] Review of several control methods for single and double-pendulum systems in 2D space [101] Review of control methods for several models in 2D and 3D spaces [29] Survey on flatness control [168] Comparison of three different feedback controllers 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]).

Review of the experimental systems considered in the literature
According to Tables 2 to 9 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.

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].

Actuators employed for the experiments
Electric motors are installed on the cranes as actuators to drive the cart and the winding mechanism.

Sensors used in the experiments
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.

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.  Figure 4: Schematic diagram of the simulation-oriented model in 2D operating space with 20 links used for the simulations 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).

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.

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.,ẋ,θ 1 ,θ 2 , from the position and angles x, θ 1 , θ 2 , timedifferentiation 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.

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.

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 =ẋ −ẋ d with x d as the reference position.
• Quasi-PID: This controller has five gains k p , k d , k ϕ1 , k ϕ2 , λ. Since this controller has been designed based on the double-pendulum system, it needs two feedbacks from the first (θ 1 ) and the second (θ 2 ) sway angles.
• Noncollocated PD regulation: This controller has been designed for the single-pendulum system and needs the corresponding sway angle θ 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 , λ, ξ, ϕ.
• 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 , η and the SMC designed based on the double-pendulum system has five tuning parameters λ, α, β , K, c.
• 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 , λ. 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, λ = 0. Moreover, θ x and θ y are the projection of θ 1 on the x and y axes, respectively. 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.

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 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 θ 1 while for the double-pendulum model Fig. 2 (b), two sway angles  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.

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 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 1 , available in matlab, are implemented in an iterative manner to tune the parameters in order to minimize the objective function: +600 || e p (t) || ∞ +0.05 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 | 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 θ 1 (0) = 15 • , θ 2 (0) = −15 • ; • 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 ±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.  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.

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): 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(ωt). Note that for the 3D case, the trajectory along the y axis is defined as follows:

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.

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, θ 1 (0) = π/6 rad while other initial sway angles are zero. Doublependulum 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 ±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.  Table 13, the control law is synthesized based on the feedforward terms in addition to the feedback ones, which are not affected by noise.   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, openloop 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.

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 is not yet considered in operator-in-the-loop control strategies with velocity control inputs. 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.

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 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.

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] [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-offreedom 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): where τ is the control torque (applied by a motor mounted on the trolley), β 1 is the payload rotation angle, β 2 is the motor angle, K(β 1 , β 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(·, ·) from experimental data, where K(·, ·) represents a kind of equivalent rotational stiffness which depends on the multiple cables kinematics and mechanical properties, the payload angle β 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]. • 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 θ i , such that θ i = i j=1 α j . The mass matrix of the system in Fig. 4 (2D operational space with variable length cable) is denoted as: It is also possible to go a step further with: Details of the calculation can be found in [32]. Some properties of the mass matrix can be deduced.
The zero-order approximation implies cos(θ n − θ j ) ≈ 1, hence m (N +1+n)(N +j+1) (q) = N i=max(j,n) m i . In the limit where m i = 0 for all 1 ≤ i ≤ N − 1, then all components are equal to m N and M ll has rank 1.

Appendix A.2. Nonlinear inertial forces
The Coriolis/centrifugal forces C(q,q)q in (1) can be deduced from it using the classical Christoffel's symbols as C(q,q) = ( 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ṁ 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 1 2 J iα 2 i , 1 ≤ i ≤ N , J i the inertia momentum of body i, add terms J iαi in the Lagrange dynamics. They modify the matrix M αα (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 makesJ i (t)α 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: Thus for 1 ≤ n ≤ N : The corresponding generalized forces satisfy F g (q) = − ∂Ug ∂q . If joint flexibility is added at joints A i , 1 ≤ i ≤ 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 Thus: This introduces no couplings between the coordinates, contrarily to what occurs in flexible joint manipulators [147,35,245]. In the coordinate angles Here J is full-rank Toeplitz [25,Definition 3.1.3], and its inverse is calculated using [25,Fact 3.18.11]. This yields It is inferred that and so that 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 ≤ n ≤ N , corresponding to M (1+n)• (q) andθ n , contains the flexibility torque (−κ n−1 θ n−1 + (κ n−1 + κ n )θ n ) − κ n θ n+1 . One can think of using a backstepping-like control design using the fictitious input θ n+1 . However, as seen in Lemma 1, the vis-à-vis terms in the submatrix M θθ (q) always contain strong inertial couplings betweenθ 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, θ 1 , . . . , θ N , l 1 , . . . , l N ) ⊤ . Each link has a longitudinal linear elasticity with stiffness 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 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 Kelin-Voigt model) c ili , which is some kind of Rayleigh dissipation [33,Definition 6.12]. Reminding that l = (l 1 , l 2 , . . . , l N ) ⊤ , we have: 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: Appendix A.6. Change of generalized coordinates It is worth studying the dynamics using various sets of generalized coordinates, like z = (x, α ⊤ , l ⊤ ) ⊤ or q = (x, θ ⊤ , l ⊤ ) ⊤ . As seen above, θ = Jα 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, 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 + i j=1 l j sin( j k=1 α k ) can also be chosen. With small angles assumption we obtain linear Lagrange dynamics Mq(t) + K f lex 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. Let us first provide the 5×5 mass matrix M (q) (the angles as as in Fig. 4, with q = (x, θ 1 , θ 2 , l 1 , l 2 ) ⊤ ).
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 : The mass matrix' components are obtained from the expression of d dt ∂T ∂q and they are given by (from row 1 to row 5): The mass matrix M (z), with z = (x, α ⊤ , l ⊤ ) ⊤ , is also derived in [32]. The potential energy in (A.4) is given by: U g (θ 1 , θ 2 , l 1 , l 2 ) = −m 1 gl 1 cos(θ 1 ) − m 2 g(l 1 cos(θ 1 ) + l 2 cos(θ 2 )).
The Lagrange dynamics are given as: d dt ∂L ∂q − ∂L ∂q = Q, where L(q,q) is the Lagrangian function, L(q,q) = T (q,q) − U (q), T (q,q) = 1 2q ⊤ M (q)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,q)q = ( d dt M (q))q − 1 2 ∂ ∂qq ⊤ M (q)q, while the forces that derive from the potential are G(q) = ∂U ∂q . The first row of C(q,q) is C 1• (q,q) = (0, −(m 1 + m 2 )l 1 sin(θ 1 )θ 1 + (m 1 + m 2 ) cos(θ 1 )l 1 , −m 2 l 2 sin(θ 2 )θ 2 + m 2 cos(θ 2 )l 2 , (m 1 + m 2 ) cos(θ 1 )θ 1 , m 2 cos(θ 2 )θ 2 ), the second row of C(q,q) can be chosen as the third row of C(q,q) can be chosen as the fourth row of C(q,q) can be chosen as so the fifth row of C(q,q) can be chosen as ⇝ It is noteworthy that the above choice for C(q,q) corresponds to the Christoffel's symbols with d dt (M (q)) = C(q,q) + C ⊤ (q,q) [33, Lemma 6.17]. This choice is important because this form of the matrix C(q,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: The corresponding generalized forces satisfy F g (z) = − ∂Ug ∂q . Thus once the torque inputs have been defined, the Lagrange dynamics with varying lengths and constant masses is complete for N = 2.
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]: where the corrective term is with varying masses m i (q,q, t): where the sum is made over the particles with varying mass, 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 ≤ j ≤ 3): where v 1 ∈ IR 2 is the velocity of the mass m 1 in Fig. 2 (a): v 1 =  ẋ + l 1 cos(θ 1 )θ 1 +l 1 sin(θ 1 ) 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

Method
The default value is "all" meaning that the simulations will be done for all controllers. Alternatively, by selecting an integer value for this variable it is possible to conduct the simulation for a single controller. The integer value corresponds to the row of Table 13 model_select The default value is "rigid" meaning that the lumped mass model introduced in Sec. 5 will be used. Alternatively, it is possible to replace this value with Usually such dynamics are nonintegrable and thus can be interpreted as second-order nonholonomic constraints, which do not reduce the state-space dimension [206]. From Lemma 1 the term M θl (q) vanishes at the vertical cable's posture and is proportional to θ i and sums of angles in a neighborhood of it. Thus around the vertical posture onlyM ⊤ xθẍ remains available as a control input to this subdynamics, and some control action may also exist through N L(q,q). Said otherwise: Proposition 2. Let q = (x, θ 1 , . . . , θ N , l 1 , . . . , l N ) ⊤ . The only way to control the θ dynamics (G.5) in the neighborhood of the cable's vertical posture, is throughẍ and/or some nonlinear velocity couplings.
It is not difficult to extend these results to the case where only l 1 varies, and also to the 3D double-pendulum in Appendix F. It is noteworthy that the nonlinear forces in (D.4) could be interesting for control purposes, by choosing suitable ∂m1 ∂l1 when a winch is mounted on a fixed reference frame outside the OC's moving structure. To the best of the authors' knowledge, this is an open issue.

Appendix H. Hoisting Toolbox
A set of scripts and files have been developed in this work to conduct all the necessary numerical simulations and optimizations 2 . The controllers listed in Table 13 are implemented in the toolbox and a 2 A matlab installation is required in order to use the toolbox.
The toolbox is available on https://github.com/Mojallizadeh/HoistingToolbox under GPL license, and therefore it is possible to modify it to get customized results. All the results presented in this paper are easily reproducible thanks to this toolbox.
set of optimization algorithms have been used in the toolbox in order to optimize the parameters of the controllers. Moreover, it can generate and compare the results using plots and tables compatible with L A T E X.
The toolbox contains many functions and scripts and files. But, for a normal usages, user only needs to consider two script files named main_run.m and parameters.m and modify it according to Table G.16.
In addition, other parameters can be modified in the toolbox to get customized results as explained in detail in the corresponding files.