Motion Compensation of Loading System of Boats, A Comprehensive Review
Motion Compensation of Loading System of Boats, A Comprehensive Review
June 2023
suspended loads
Mathias Hatle Grindvik
Author:
Mathias Hatle Grindvik
Supervisor:
Morten Dinhoff Pedersen
Master’s thesis
Department of Engineering Cybernetics
Norwegian University of Science and Technology
June 5, 2023
Preface
This thesis marks the completion of my journey as a student in the field of Engineer-
ing Cybernetics at the Department of Engineering Cybernetics, Norwegian University of
Science and Technology (NTNU) in Trondheim, Norway. It serves as the final milestone
in completing my Master’s degree and represents the culmination of extensive research,
learning, and personal growth.
Undertaking this thesis has been a significant and rewarding challenge, offering me
the opportunity to delve into fascinating and complex subjects. Throughout my studies at
NTNU, I have been exposed to a diverse range of topics, including modelling, simulation
and control of physical systems. This thesis has allowed me to deepen my understanding
in these areas.
I would like to extend my gratitude to my fellow co-students, whose collaboration,
teamwork, and insightful discussions have enriched my learning experience over the past
five years. Our shared pursuit of knowledge has created a stimulating environment that
fostered growth and learning.
I am deeply grateful to my main supervisor, Professor Morten Dinhoff Pedersen. Your
guidance, expertise, and unwavering support have been invaluable throughout this research
journey. Constructive feedback, encouragement through the roof, and willingness to share
your knowledge have played a pivotal role in shaping the direction and content of this
thesis.
Furthermore, I would like to express my appreciation to Cato Orset and Oddvar Gjel-
stenli at Motus Technology for initially granting me the opportunity to work on this project.
Thomas Koløen and Sindre Møller also deserves mentioning after good and rewarding dis-
cussion on the theme.
Lastly, I would like to express my heartfelt gratitude to my girlfriend, family and
friends for their unwavering support, love, and understanding throughout my academic
journey. Their encouragement and belief in my abilities have been the driving force be-
hind my achievements.
i
Executive summary
As offshore crane operations often are critical operations under tough condition de-
manding a lot from the crane operator, the need for technological solutions are very high.
Swaying loads is a safety concerns that can damage both material and in worst case per-
sonnel. With an anti-sway control system, this unwanted swaying is dampened and the
crane operator is deprived from crucial roles resulting in a much more effective operation.
In this thesis, a mathematical model of the suspended load is presented and its equa-
tions of motion is found using the Euler-Lagrange method. A nonlinear anti-sway con-
troller is found based on Lyapunov analysis and proven to make the system exponentially
stable. In addition to the anti-sway controller, a PID controller is used to moved the crane
as steered by the crane operator.
The controller is put to the test under simulations for different challenging scenarios
with and without the operator in the loop, and it proves to be very effective in damping
unwanted sway of the load.
ii
Sammendrag
Offshore kranoperasjoner er ofte kritiske operasjoner under krevende forhold som kr-
ever mye av kranoperatøren. Dette gjør at behovet for teknologiske løsninger er svært høy.
Svingende laster er en sikkerhetsbekymring som kan skade både materiell og i verste fall
personell. Med et anti-sleng kontrollsystem dempes denne uønskede svingingen, og kra-
noperatøren blir avskåret fra avgjørende roller, noe som resulterer i en mye mer effektiv
operasjon.
I denne avhandlingen blir en matematisk modell av den hengende lasten presentert, og
dens bevegelseslikninger blir funnet ved bruk av Euler-Lagranges metode. En ulineær anti-
sleng kontroller er utviklet basert på Lyapunov analyse og det er bevist at den gjør systemet
eksponentielt stabilt. I tillegg til anti-sleng kontrolleren blir det brukt en PID-kontroller
for å flytte kranen som styrt av kranoperatøren samt opprettholde ønsket posisjon.
Anti-sleng Kontrolleren er testet i simuleringer for ulike utfordrende scenarioer med
og uten operatør involvert, og den viser seg å være svært effektiv for å dempe uønskede
svingninger i lasten.
iii
Table of Contents
Preface i
Executive summary ii
Sammendrag iii
List of Figures ix
Abbreviations x
1 Introduction 1
1.1 Literature review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Problem description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Delimitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Structure of the report . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 System Modeling 7
2.1 Suspended load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Dynamics of suspended load . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.1 Equations of motion . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.2 Matrix-vector representation . . . . . . . . . . . . . . . . . . . . 11
2.3 Reduced model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4 Linearization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4.1 Controllability . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4.2 Observability . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.5 Stability analysis on open loop system . . . . . . . . . . . . . . . . . . . 14
2.5.1 Transfer function . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.6 Wind disturbance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
iv
3 Kinematics 16
3.1 Forward Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.1.1 Forward velocity kinematics . . . . . . . . . . . . . . . . . . . . 18
3.2 Inverse kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2.1 Inverse velocity kinematics . . . . . . . . . . . . . . . . . . . . . 20
4 Control design 21
4.1 Control objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.2 Interconnected model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.3 Anti-sway controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.3.1 Linear Quadratic Regulator . . . . . . . . . . . . . . . . . . . . . 23
4.3.2 Nonlinear Controller . . . . . . . . . . . . . . . . . . . . . . . . 25
4.4 Closed loop Stability analysis . . . . . . . . . . . . . . . . . . . . . . . . 26
4.5 PID controller for positioning . . . . . . . . . . . . . . . . . . . . . . . . 28
5 Sensorics 29
5.1 Indirect method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.1.1 Ultrasonic sensors . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.1.2 Camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.1.3 GPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.1.4 Inertial measurement unit . . . . . . . . . . . . . . . . . . . . . 30
5.2 Direct method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.2.1 Encoders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.2.2 Potentiometers . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.2.3 Strain gauges . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6 Estimation 34
6.1 Discrete time system model . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.1.1 Algorithm of the Kalman filter . . . . . . . . . . . . . . . . . . . 35
6.2 Performance of the Kalman filter . . . . . . . . . . . . . . . . . . . . . . 36
7 Workspace 38
8 Simulations 42
8.1 Effect of the controller . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
8.1.1 Output feedback . . . . . . . . . . . . . . . . . . . . . . . . . . 45
8.2 Operator in the loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
8.2.1 Without ASC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
8.2.2 With anti-sway active . . . . . . . . . . . . . . . . . . . . . . . . 49
8.2.3 ASC activated after crane operator . . . . . . . . . . . . . . . . . 51
8.2.4 Output feedback . . . . . . . . . . . . . . . . . . . . . . . . . . 53
8.3 Multiple joint control . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
8.4 Impact of wind on the system . . . . . . . . . . . . . . . . . . . . . . . . 58
8.4.1 Output feedback . . . . . . . . . . . . . . . . . . . . . . . . . . 60
8.5 Simplified controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
8.5.1 PD anti-sway controller . . . . . . . . . . . . . . . . . . . . . . 61
v
8.5.2 Derivative controller for anti-sway . . . . . . . . . . . . . . . . . 63
9 Discussion 64
10 Conclusion 66
10.1 Future work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Bibliography 69
Appendix 76
A Inverse Jacobian . . . . . . . . . . . . . . . . . . . . . . . . . . 76
vi
List of Tables
vii
List of Figures
1.1 Different control techniques for a crane system as proposed by Ramli [59] 2
1.2 Chronological chart showing relevant articles and publications, with the
year of publication. As we can see there has been a lot of research on the
topic in later years, and especially the years around 2020. The different
color schemes for the boxes classify the different types of controllers used
for the anti-sway part in the report. Reports that consider three dimen-
sional systems are marked with a double edge, while two dimensions are
marked with a simple edge. . . . . . . . . . . . . . . . . . . . . . . . . . 5
4.1 Total input v as a summation of input from PID, marked in green and ASC,
marked in blue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.2 Block diagram of the control system . . . . . . . . . . . . . . . . . . . . 23
5.1 Camera setup from [79]. The three cameras are marked c1,c2 and c3 while
the green markers on the wire are marked with X1 and X2 . . . . . . . . . 30
5.2 IMU sensor arrangement from [26]. . . . . . . . . . . . . . . . . . . . . 31
5.3 Arrangement of AHRS sensing unit from [21]. . . . . . . . . . . . . . . . 31
5.4 Sensor arrangement with encoders from [24]. . . . . . . . . . . . . . . . 32
5.5 The arrangement of the potentiometers as used in [52]. . . . . . . . . . . 33
5.6 Payload sway angle sensing device. (1) Flexible elements. (2) Strain
gauges. (3) Device holder mounted on trolley. (4) An intermediate mem-
ber performing a spherical motion. (5) The part of the device performing
the movement according to the rope. (6) Pulleys touching the rope. (7)
Crane rope. [23] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
viii
6.1 Estimated load sway plotted on top of the measured sway. . . . . . . . . . 36
6.2 Estimated load sway velocity plotted together with true value. . . . . . . 37
8.1 Sway angles of suspended load. The anti-sway controller is activated after
100s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
8.2 Results from the initial condition test . . . . . . . . . . . . . . . . . . . . 44
8.3 Sway angles of suspended load with output feedback. . . . . . . . . . . . 45
8.4 Joystick commands from crane operator and the desired joint angles. . . . 46
8.5 Movement of the crane tip and suspended load in the XY -plane, seen from
above. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
8.6 Plots from the simulation when the crane is rotated 90◦ without ASC active. 48
8.7 Movement of the crane tip and suspended load in the XY -plane, seen from
above. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
8.8 Plots from the simulation when the crane is rotated 90◦ and ASC is acti-
vated from the start. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
8.9 Plots from the simulation when the crane is rotated 90◦ and ASC is acti-
vated after setpoint is reached. . . . . . . . . . . . . . . . . . . . . . . . 52
8.10 Plots from the simulation when the crane is rotated 90◦ with output feedback. 54
8.11 Estimations from the Kalman filter. . . . . . . . . . . . . . . . . . . . . . 55
8.12 Commanded joint velocities and corresponding joint angles. . . . . . . . 56
8.13 Plots from the simulation when the crane is rotated 90◦ without ASC active. 57
8.14 Plots from the simulation when the system is disturbed by wind and inte-
gral action is added in the position controller. . . . . . . . . . . . . . . . 59
8.15 Estimations from the Kalman filter under windy conditions . . . . . . . . 60
8.16 Result from initial condition test with PD ASC. . . . . . . . . . . . . . . 62
8.17 Results from initial condition test with derivative ASC. . . . . . . . . . . 63
ix
Abbreviations
Abbreviation Description
DOF Degrees of freedom
ASC Anti-sway controller
x
1
Introduction
Cranes play a critical role in marine operations where precise hoisting, loading and moving
operations are required. However, the motion of the crane and the crane base can lead to
significant payload oscillations, posing safety risks and causing delays or suspensions in
operations. To mitigate these challenges, automatic control of cranes and suspended loads
has emerged as a promising approach to reduce risk and improve execution time in marine
operations. Consequently, control systems for cranes have been extensively studied in the
research community, with various open-loop and closed-loop control strategies developed
to address the challenges of crane operations in marine environments.
In this chapter, we will explore the different control system strategies and methodolo-
gies that have been proposed for cranes, with a focus on addressing payload oscillations
and improving safety and efficiency in marine operations.
The existing control methods can be classified as open-loop and closed-loop feedback
control. For the crane model, the open-loop control approaches mostly include motion
planning and input shaping, while the closed-loop include a broader range of controllers
such as sliding mode control, model predictive control, nonlinear control or flatness based
control, to mention some. The main advantage with closed-loop control compared to
open-loop, is that it makes the system more robust specially with external forces and dis-
turbances such as wind and frictional forces, but it does depend on measurements that can
be challenging.
In this thesis we will therefore work with closed-loop control approaches for the model
of the crane. A big challenge and possibly the weakest point of the closed-loop control
is the dependency on precise measurements of the payloads sway angle. That is a great
challenge to be solved, and different strategies for measurements are discussed in this
thesis. For the control design, there is assumed perfect measurements.
The anti-sway controller (ASC) presented in this thesis will aim to reduce the sway of
the load to a minimum. A simple PID controller will deal with positioning of the crane
such that the desired position is held. The system will be tested and simulated in Matlab
and Simulink to evaluate the performance of the control strategy under different scenarios.
The weakness of the presented ASC is that it holds higher order cancellation terms that
1
1 Introduction 1.1 Literature review
requires on-line calculation. These terms are however quite small and could be dropped
resulting in a much simpler controller. By doing so, the controller yields a simple PD
controller with decoupled motion. That is a beneficial aspect of the controller that also
makes it applicable for other types of cranes.
Figure 1.1: Different control techniques for a crane system as proposed by Ramli [59]
For the ’anti-sway’ control strategy, it varies mostly between MPC, LQR, SMC, Lya-
punov based control and LQR. In [63], a model predictive anti-sway controller (MPC)
is presented for a knuckle boom crane. Yang et al. [90] presents a nonlinear intelligent
control approach based on neural networks for a ship mounted crane. A flatness based
2
1 Introduction 1.1 Literature review
controller has been used for a overhead crane by Knierim et al. in [38]. Tønne presents an
anti-swing assistant system in [80] with LQR state feedback for ship-to-ship load handling.
Tuan et al. [74] presents a second order sliding mode controller for a overhead crane,
while Kim et al. [35] uses an adaptive sliding-mode controller for an offshore crane.
Martin and Irani uses a ’self-tuning anti-sway trajectory modifier’ in combination with a
sliding mode controller for a 7-DOF shipboard knuckle boom crane in [42]. Sliding mode
control has also been used to suppress sway angles for overhead cranes by Chwa [14], and
Almutari and Zribi [4], while it is used for an offshore boom crane by Raja et al. in [28].
Nonlinear controllers is a popular choice among the researchers. Nonlinear energy
based controller has been investigated for overhead cranes in [86] and for tower cranes
in [55] and [66]. Sun et al. presents a nonlinear controller for boom cranes in [71]. The
control strategy is also used for offshore cranes, as in [12] where Chu et al. uses an energy
based control strategy for an offshore knuckle boom crane. Chen et al. [11] uses the same
controller for an offshore single boom crane.
In [79], Tysse and Egeleand presents a Lyapunov based damping controller which
is used together with a MPC tracking controller for a knuckle boom crane. The same
damping controller is also used in [77] applied on a real knuckle boom crane system for
hardware experiments. Elset used another Lyapunov based damping controller in his work
for a knuckle boom crane in [17]. Ambrosino et al. [6] proposes a Lyapunov based
nonlinear control scheme for a knuckle boom crane and compare the performance to a
LQR controller. Ouyang et al. propose an anti-sway controller based on Lyapunov stability
theory in [51] for a rotary crane with only horizontal boom motion. The same research
is done in [52]. Ouyang et al. takes a slightly different approach in [54] where a double
pendulum is considered. In [46] they use a Lyapunov approach that also takes the passivity
properties of the system into consideration.
Masoud presents an interesting controller applicable for all types of cranes in [44]
where the idea is that delayed-position feedback will dampen the oscillation of the sus-
pended load. The crane tip is to follow a tracking reference defined by operator commands
and a percentage of the delayed motion of the payload, relative to the crane tip.
Open loop is another control technique used in the research field, and it is often used
in combination with other closed loop techniques. Peng et al. [58] uses a command
smoothing technique that filters the operators commands. It successfully reduces sway of
the suspended load during motion. Input shaping is another open loop technique used by
Garrido et al. [22] for an overhead crane. Open loop techniques are mostly acceptable
for damping sway angles when it comes to path following, but the technique alone is not
applicable for industrial cranes where the system is influenced by external disturbances. It
can however be used in combination with other closed loop control techniques.
Jensen et al. [30] has a distinct approach for the anti-sway compared to the rest of
the researchers. They propose input signals for the different joint actuators. The control
method uses feedforward of the velocity reference and feedback of the position error for
the different joints. The angular velocity of the suspended load are converted into a ve-
locity reference of the crane tip, which again is converted into joint velocity reference that
is added to the input as feedforward. As they state, feedforward is an effective control
method since the controlled system is a hydraulic system that yields load independent ve-
locity control. Tysse and Egeland [78] also presents a work that differs form the rest. In
3
1 Introduction 1.2 Problem description
their report, the control objective is to control the position of the crane tip and keep it still
relative to NED frame (North-East-Down). As a direct result of keeping the crane tip still
in NED, excessive oscillation of the suspended load is avoided.
Another approach that stands out in the literature is the work from Wang et al. [85].
Similar to Tysse and Egeland, the approach is to compensate for ship motions, but rather
than moving the crane tip they move the crane base, where the crane itself is mounted on
an anti-swing platform.
See Figure 1.2 for an overview of the different reports on the topic and how they spread
out chronologically in the recent years. You can easily see that there has been a lot of work
in the years around 2020 for three dimensional crane systems.
1.3 Delimitations
The thesis is limited to simulations only in Matlab and Simulink. No experimenting have
been done on a physical system.
4
1 Introduction 1.4 Structure of the report
[24]
1995
[25] Domasin
[44] 3D
[1]
[45] 2D
[22] [4]
[13] Type of controller
2010 MPC
[38] [51] [61] PID
LQR
[52] [56] SMC
Open loop
[73] [73] [15] [92] [18]
[37] Lyapunov based
Energy based
[28] [49] [16] [75] [39] Intelligent control
Flatness based
[74] [46] [12] [57] [29] Other
2015
[48] [67] [88]
[66] [10]
[78] [68]
[81]
Figure 1.2: Chronological chart showing relevant articles and publications, with the year of pub-
lication. As we can see there has been a lot of research on the topic in later years, and especially
the years around 2020. The different color schemes for the boxes classify the different types of con-
trollers used for the anti-sway part in the report. Reports that consider three dimensional systems are
marked with a double edge, while two dimensions are marked with a simple edge.
5
1 Introduction 1.4 Structure of the report
Chapter 3 - Kinematics
The forward and inverse kinematics are presented as well as the forward and inverse ve-
locity kinematics. The Kinematics are derived using DH-convention.
Chapter 5 - Sensorics
Different types of sensors for measuring the sway angle are discussed in this chapter.
Researchers that have used relevant techniques are mentioned and their sensor arrangement
are shown with figures.
Chapter 6 - Estimation
How to get the most out of the measurements of the angles are described in the chapter
about estimation. A Kalman filter is presented and shown how to gain from the observ-
ability properties of the system.
Chapter 8 - Simulations
Simulations of different scenarios are presented in this chapter. Simulations are done
for different scenarios that are considered to be challenging for the proposed anti-sway
controller.
Chapter 9 - Discussion
The results from the simulation are discussed in this chapter.
Chapter 10 - Conclusion
In the conclusion we draw a conclusion about the controller and presents suggested future
work on the theme.
6
2
System Modeling
rt `
α
Zo
θ1
β
rp
Xo
7
2 System Modeling 2.2 Dynamics of suspended load
α `
where ℓ is the length of the wire. Collecting the trigonometry in the vector Ω, such that
the position can be written on a compact vector form as
rp = rt + ℓΩ (2.3)
The velocity of the payload is calculated by taking the time derivative of the position,
hence
When deriving the dynamics of the load, it is assumed that the wire length ℓ can vary
with time. Therefore ℓ̇ needs to be included in the velocity of the load. Expanding the
velocity expression such that the the velocity in each direction can easily be extracted
8
2 System Modeling 2.2.1 Equations of motion
yields
ẋp ẋt α̇ cos(α) sin(α)
ẏp = ẏt + ℓ β̇ cos(α) cos(β) − α̇ sin(α) sin(β) + ℓ̇ cos(α) sin(β) (2.5)
żp żt α̇ sin(α) cos(β) + β̇ cos(α) sin(β) − cos(α) cos(β)
Assumption 2. The cable length is always greater than zero, ℓ(t) > 0, ∀t ≥ 0
In order to derive the system’s equations of motion, the Euler-Lagrange method can
be used. The lagrangian is defined as the difference between the kinetic energy and the
potential energy in the system.
L=K−P (2.6)
where the kinetic energy of the system is
1 ⊤
K= mṙ ṙp (2.7)
2 p
and the potential energy of the system is
Using the notation cos(θ) = cθ and sin(θ) = sθ for easy reading. Substituting (2.5)
into (2.7), the lagrangian L in (2.6) results in
1
L = m ẋ2t + ẏt2 + żt2 + α̇2 ℓ2 + ℓ2 c2α β̇ 2 + ℓ̇2 + 2ℓcα α̇ẋt + 2sα ℓ̇ẋt
2
+ 2ℓcα cβ β̇ ẏt + 2cα sβ ℓ̇ẏt − 2ℓsα sβ α̇ẏt − 2cα cβ ℓ̇żt (2.9)
+ 2ℓsα cβ α̇żt + 2ℓcα sβ β̇ żt + mgℓ cα cβ − 1
⊤
With q = α β as the generalized coordinates, the Euler-Lagrange equation of
motion is defined as
d ∂L ∂L
− =0 (2.10)
dt ∂ q̇ ∂q
Solving the Euler-Lagrange equation for the sway angle α yields
∂L
= m − ℓcα β̇ 2 − ℓsα α̇ẋt + cα ℓ̇ẋt − ℓsα cβ β̇ ẏt
∂α
+ sα cβ ℓ̇żt + ℓcα cβ α̇żt − ℓsα sβ β̇ żt (2.11)
− sα sβ ℓ̇ẏt − ℓcα sβ α̇ẏt − gℓsα cβ
∂L
= m ℓ2 α̇ + ℓcα ẋt + ℓsα cβ żt − ℓsα sβ ẏt (2.12)
∂ α̇
9
2 System Modeling 2.2.1 Equations of motion
d ∂L
= m α̈ℓ2 + α̇ℓℓ̇ + ℓcα ẍt − ℓsα ẋt α̇ + ℓ̇cα ẋt + ℓ̇sα cβ żt
dt ∂ α̇
+ ℓcα cβ żt α̇ − ℓsα sβ żt β̇ + ℓsα cβ z̈t − ℓ̇sα sβ ẏt (2.13)
− ℓcα sβ ẏt α̇ − ℓsα cβ ẏt β̇ − ℓsα sβ ÿt
d ∂L ∂L
− = m α̈ℓ2 + ℓcα ẍt − ℓsα sβ ÿt + ℓsα cβ z̈t
dt ∂ α̇ ∂α (2.14)
+ 2α̇ℓℓ̇ + ℓ2 sα cα β̇ 2 + gℓsα cβ = 0
Solving (2.14) for α̈ yields
1
α̈ = − cα ẍt + sα sβ ÿt − sα cβ z̈t − 2α̇ℓ̇ − ℓsα cα β̇ 2 − gsα cβ (2.15)
ℓ
Solving the Euler-Lagrange equation for the sway angle β yields
∂L
= m − ℓcα sβ β̇ ẏt + cα sβ ℓ̇żt − ℓsα sβ α̇żt + ℓcα cβ β̇ żt
∂β (2.16)
+ cα cβ ℓ̇ẏt − ℓsα cβ α̇ẏt − gℓcα sβ
∂L
= m ℓ2 c2α β̇ + ℓcα cβ ẏt + ℓcα sβ żt (2.17)
∂ β̇
d ∂L
= m ℓ2 c2α β̈ + 2ℓc2α β̇ ℓ̇ − 2ℓ2 cα sα β̇ α̇ + ℓ̇cα cβ ẏt
dt ∂ β̇
− ℓsα cβ ẏt α̇ − ℓcα sβ ẏt β̇ + ℓcα cβ ÿt + ℓ̇cα sβ żt (2.18)
− ℓsα sβ żt α̇ + ℓcα cβ żt β̇ + ℓcα sβ z̈t
d ∂L ∂L
− = m ℓ2 c2α β̈ + ℓcα cβ ÿt + ℓcα sβ z̈t
dt ∂ β̇ ∂β (2.19)
− 2ℓ2 sα cα β̇ α̇ + 2ℓβ̇ ℓ̇ + gℓcα sβ = 0
1
α̈ = − cα ẍt + sα sβ ÿt − sα cβ z̈t − 2α̇ℓ̇ − ℓsα cα β̇ 2 − gsα cβ
ℓ
(2.21)
1
β̈ = − cβ ÿt − sβ z̈t + 2ℓsα β̇ α̇ − 2cα β̇ ℓ̇ − gsβ
ℓcα
10
2 System Modeling 2.2.2 Matrix-vector representation
11
2 System Modeling 2.4 Linearization
2.4 Linearization
For the linearised model we consider the sway angles α and β and their angular velocity
α̇ and β̇ as states in a new system with the crane tip accelerations as input, hence
q ẍ
x= , u= t (2.30)
q̇ ÿt
With these definitions, the system can be written on the form
ẋ = f (x, u) (2.31)
q̇ q̇
ẋ = = (2.32)
M(q)−1 − Cred (q, q̇)q̇ − G(q) − Bred (q)r̈t
q̈
Now we want to linearize the system around the downward equilibrium of the system
where the swaying load is at rest, hence
⊤ ⊤
xeq = αeq βeq α̇eq β̇eq = 0 0 0 0 (2.33)
Where the matrices A and B is found by evaluating the Jacobian of f (x) at the equi-
librium with respect to the the states and input on the linear system respectively. Hence
∂f
A= ∂x x=xeq
(2.34)
∂f
B= ∂u x=xeq
(2.35)
The matrices simply reduces to
0 0 1 0
0 0 0 1
A=
−ω 2
(2.36)
0 0 0
0 −ω 2 0 0
0 0
0 0
B= − 1
(2.37)
ℓ 0
0 − 1ℓ
where ω is the systems natural frequency given by
r
g
ω= (2.38)
ℓ
With sensors measuring only the sway angles, the C matrix yields
1 0 0 0
C= (2.39)
0 1 0 0
With the matrices derived, we can write the linear system on standard state space form,
hence
ẋ = Ax + Bu
(2.40)
y = Cx
12
2 System Modeling 2.4.1 Controllability
2.4.1 Controllability
Controllability is a key property of a dynamical system that determines whether the system
can be steered from any initial state to any desired final state within a finite time using
appropriate control inputs. A system is said to be controllable if and only if there exists
a set of control inputs that can achieve this goal [9]. In this section, we will perform a
controllability analysis on the linear model of the crane dynamics, where we investigate
the controllability matrix.
The controllability matrix for the system with state-space representation (A, B) in
(2.40) is given by:
C = B AB A2 B A3 B
(2.41)
The rank of the controllability matrix indicates the degree of controllability of the
system. If the rank of C is equal to n = 4 which is the number of states, then the system
is said to be completely controllable. That means that it can be controlled from any initial
state to any final state in a finite time. With the system matrices derived above in (2.36)
and (2.37), the controllability matrix results in
g
− 1ℓ
0 0 0 0 0 ℓ2 0
g
0 0 0 − 1ℓ 0 0 0 ℓ2
C=
− 1 g (2.42)
ℓ 0 0 0 ℓ2 0 0 0
g
0 − 1ℓ 0 0 0 ℓ2 0 0
The rank of C is 4, which is equal to the number of states in the system. Therefore, the
system is controllable.
2.4.2 Observability
Observability is another important property of the linear model that needs to be analyzed.
It refers to the ability to estimate the internal state of the system based on its input and
output measurements. In other words, an observable system can be ”observed” or moni-
tored from outside using sensors or measurements. To check for observability, we use the
observability matrix O, which is defined as:
C
CA
O=
CA2
(2.43)
CA3
If the rank of the observability matrix is equal to the number of states n, then the
system is observable. Otherwise, it is unobservable [9]. For the linear model with system
matrices A and C from (2.36) and (2.39), the observability matrix yields
13
2 System Modeling 2.5 Stability analysis on open loop system
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
O=
−ω 2
(2.44)
0 0 0
0
−ω 2 0 0
0 0 −ω 2 0
0 0 0 −ω 2
The rank of the observability matrix is equal to 4, which means that the system is
observable. Therefore, we can estimate the internal states of the system using the output
measurements.
This is important as it allows us to estimate the motion of the load so that it can be used
in the anti-sway controller. The estimation process can be done using various estimation
techniques such as Kalman filtering or observer-based control. In chapter 6 we discuss
how the Kalman filter can be a useful tool for estimating non-measured states.
(λ2 + ω 2 )2 = 0 (2.46)
As we can see from the characteristic equation, we get a repeating of eigenvalues. This
is because the eigenvalues for α are the same as for β. Solving for λ yields
λα = λβ = ±iω (2.47)
The eigenvalues are complex conjugate on the imaginary axis. They are also repeated
which could cause the system to be unstable, but that is not the case here. According
to Balchen et al. [8], a closed loop system with multiple eigenvalues on the imaginary
axis is unstable. This is not the case here since the eigenvalues applies for the open loop
system with decoupled states. Therefore the open loop system is marginally stable, and a
controller should be designed to improve the stability of the system.
14
2 System Modeling 2.6 Wind disturbance
For the crane dynamics linear model with system matrices A, B, and C, the transfer
function is defined as
−1
G(s) = C sI − A B (2.48)
The transfer function results in a diagonal 2x2 matrix and can be written on the form
1 0
G(s) = g (2.49)
0 1
where
−1/ℓ
g= (2.50)
s2 + ω2
The transfer function matrix shows that the linearised system is decoupled, since it
only have elements on the diagonal, and the two states behave the same for the same type
of input. The poles of the transfer function correspond to the eigenvalues of the system
matrix A, which corresponds to what we found earlier in the stability analysis. The gain
of the transfer function represents the relationship between the input and output signals. In
this case, it shows that the output is proportional to the input with a negative gain, which
means that the angle becomes negative when the crane is moving in positive direction, and
it is dependent of the wire length ℓ. Longer wire length yields a slower response, while a
shorter wire length yields a quicker response.
15
3
Kinematics
The kinematics of the crane describes the relation between the crane base, joint angles
and the crane tip in Cartesian coordinates. The distance between the joints are listed in
Table 3.1. The Denavit-Hartenberg parameters are listed in Table 3.2, where R is the
augmented rotational matrix around either the x or z axis, depending on the subnotation,
while T are translational matrix along either the x or z axis depending on the subnotation.
The rotational angles θ1,2,3 denotes the rotation about the slew joint, boom joint and jib
joint, respectively, as seen in Figure 3.1.
Z2 X2
θ3
Z4
Z3
Zo (xt , yt , zt )
Z1 θ2 X4
Yo X3
θ1 X
1
Xo
16
3 Kinematics 3.1 Forward Kinematics
i Rz Tz Rx Tx
1 θ1 0 -90◦ 0
2 −θ2 0 0 ℓb
3 π − θ3 0 0 ℓj
4 θ2 + θ3 − π 0 90◦ 0
The rotation and translation matrix around X- and Z-axis respectively yields
1 0 0 0 1 0 0 ℓx
0 cos(θx ) − sin(θx ) 0 0 1 0 0
RX =
0
, TX = (3.1)
sin(θx ) cos(θx ) 0 0 0 1 0
0 0 0 1 0 0 0 1
cos(θz ) − sin(θz ) 0 0 1 0 0 0
sin(θz ) cos(θz ) 0 0 0 1 0 0
RZ = , TZ = (3.2)
0 0 1 0 0 0 1 ℓz
0 0 0 1 0 0 0 1
Now we can describe the homogeneous transform (HT) between joints given by the
HT- matrix where the subnotation i corresponds to one line in Table 3.2.
cos(θz,i ) − sin(θz,i ) cos(θx,i ) sin(θx,i ) sin(θx,i ) ℓx,i cos(θz,i )
sin(θz,i ) cos(θz,i ) cos(θx,i ) − cos(θz,i ) sin(θx,i ) ℓx,i sin(θz,i )
Ai =
0 sin(θx,i ) cos(θx,i ) ℓz,i
0 0 0 1
(3.4)
The final HT-matrix describes the relation between the crane base and crane tip, where
the position of the crane tip xt , yt and zt appears to the right as shown in (3.6).
ADH = A1 A2 A3 A4 (3.5)
17
3 Kinematics 3.1.1 Forward velocity kinematics
cos(θ1 ) sin(θ1 ) 0 xt
sin(θ1 ) − cos(θ1 ) 0 yt
ADH = (3.6)
0 0 −1 zt
0 0 0 1
Due to the last rotation where we line up the frame making X4 parallel to X0 and Z4
parallel to Z0 , the matrix becomes very simple. The position of the crane tip yields
xt = cos(θ1 ) ℓb cos(θ2 ) − ℓj cos(θ2 + θ3 )
yt = sin(θ1 ) ℓb cos(θ2 ) − ℓj cos(θ2 + θ3 ) (3.7)
zt = ℓb sin(θ2 ) − ℓj sin(θ2 + θ3 )
The correlation between the crane tip velocities and and joint velocities can be found using
the Jacobian:
ẋt θ̇1
ẏt = J θ̇2 (3.8)
żt θ̇3
Where the Jacobian is defined as the partial derivative of the crane tip position from
(3.7), with respect to the joint angles, hence
18
3 Kinematics 3.2 Inverse kinematics
∂xt
= sin(θ1 ) ℓj cos(θ2 + θ3 ) − ℓb cos(θ2 )
∂θ1
∂xt
= cos(θ1 ) ℓj sin(θ2 + θ3 ) − ℓb sin(θ2 )
∂θ2
∂xt
= ℓj cos(θ1 ) sin(θ2 + θ3 )
∂θ3
∂yt
= − cos(θ1 ) ℓj cos(θ2 + θ3 ) − ℓb cos(θ2 )
∂θ1
∂yt
= sin(θ1 ) ℓj sin(θ2 + θ3 ) − ℓb sin(θ2 ) (3.10)
∂θ2
∂yt
= ℓj sin(θ1 ) sin(θ2 + θ3 )
∂θ3
∂zt
=0
∂θ1
∂zt
= ℓb cos(θ2 ) − ℓj cos(θ2 + θ3 )
∂θ2
∂zt
= −ℓj cos(θ2 + θ3 )
∂θ3
The forward velocity kinematics is an important aspect of the control system. When
the crane operator steers the crane with joysticks, the position of the joystick is linear to the
joints angular velocity. Therefore it is important that the Jacobian is correctly calculated
in order to generate the right input for the system.
19
3 Kinematics 3.2.1 Inverse velocity kinematics
θ1 = Atan(yt , xt ) (3.11)
For the boom and jib angle, θ2 and θ3 , respectively, we can use the law of cosines.
Then the angle θ3 is given by
20
4
Control design
The system will consist of two controllers, one PID controller for the cranes positioning,
and an anti-sway controller to dampen the unactuated sway angles. The PID controller
works in all directions, X, Y and Z while the anti-sway controller only contributes in the
XY -plane. Explained mathematically, the control objective can be described as
where [xdt , ytd , ztd ] is the desired setpoint for the crane tip. The total input to the system is
illustrated in Figure 4.1, where the contribution from the PID is marked in green, and the
contribution from the ASC is marked in blue.
wx + vx
wy + vy
wz vz
ux
uy
Figure 4.1: Total input v as a summation of input from PID, marked in green and ASC, marked in
blue.
21
4 Control design 4.2 Interconnected model
Differentiating the forward velocity mapping in (3.8) yields the acceleration equation
from (2.23)-(2.26).
Solving the top equation in (4.6) for q̈2 yields
q̈2 = −(BJ)−1 Mq̈1 + C1 q̇ + G (4.7)
Dq̈1 + C̃q̇ + g = v
(4.8)
r̈t = v
D = −J(BJ)−1 M
C̃ = JC2 − J(BJ)−1 C1 (4.9)
−1
g = −J(BJ) G
From (4.8) we can clearly see how the input r̈t = v impacts both actuated and unactu-
ated parts of the system. We now wish to choose v such that the control objective is met.
22
4 Control design 4.3 Anti-sway controller
As previously touched upon, this is done using two different controllers, one stabilizing
the unactuated sway dynamics, while the other stabilize the crane’s position, hence
v =w+u (4.10)
where u is the contribution from the anti-sway controller and w is the contribution from
the position controller. The overall structure of the control system can be seen in Fig-
ure 4.2.
Plant
Operator w v
Kinematics Position controller + Crane and
suspended load
+
u
α, β, α̇, β̇
Anti-sway controller
The matrices Q and R are positive definite and diagonal tuning matrices. The Q
matrix hold weighting parameters on it’s diagonal that penalizes deviation from the desired
23
4 Control design 4.3.1 Linear Quadratic Regulator
setpoint for each state. The R matrix penalizes the use of control input. The feedback
control matrix K can be found using the Matlab command
The function also returns a matrix S that can be used for Lyapunov analysis, and e
which holds the eigenvalues for the closed loop system. With the system matrices A and
B derived for the linear system in (2.35) and (2.37) and the tuning matrices initially chosen
as the identity matrices, Q ∈ R4x4 and R ∈ R2x2 , the feedback control matrix results in
−0.508 0 −1.4201 0
K= (4.14)
0 −0.508 0 −1.4201
and the closed loop dynamics then takes the form
ẋ = (A − BK)x (4.15)
k2 k1
α̈ = α̇ + α − ω2 α
ℓ ℓ (4.17)
k2 k1
β̈ = β̇ + β − ω2 β
ℓ ℓ
Since the LQR guarantees stability and optimal regulation [27], we now want to design
a nonlinear controller that achieves the same properties. By tuning we can achieve the
same closed loop form as in (4.17) with a nonlinear controller, such that the optimality
properties can be adopted.
Tuned LQR
For further use, the feedback matrix from a tuned LQR yields
−2.28 0 −11.14 0
K= (4.18)
0 −2.28 0 −11.14
24
4 Control design 4.3.2 Nonlinear Controller
where the first terms yields a PD structure, while the two last terms are higher order can-
cellations terms. With ẍt = ux and ÿt = uy inserted into the reduced pendulum dynamics
in (2.28), we obtain
!
1 ℓ sα sβ
α̈ = − cα (Kd α̇ + Kp α) − ℓsα β̇ 2 + uy +sα sβ uy − ℓsα cα β̇ 2 − gsα cβ
ℓ cα cα
| {z }
ux
!
1 ℓc
α 2ℓsα s2 sβ
β̈ = − cβ (Kd β̇ + Kp β) + α̇β̇ − g α −2ℓsα α̇β̇ − gsβ
ℓcα cβ cβ cβ
| {z }
uy
(4.21)
Using the identity
sβ s2 sβ
− α = cα sβ (4.22)
cα cα
the closed loop dynamics yields
α̈ = −Kd α̇ − Kp α − ω 2 sα cβ
(4.23)
β̈ = −Kd β̇ − Kp β − ω 2 cα sβ
wich simply linearizes to
α̈ = −Kd α̇ − Kp α − ω 2 α
(4.24)
β̈ = −Kd β̇ − Kp β − ω 2 β
Now we can tune controller to match the linearized dynamics of the closed loop dy-
namics with LQR controller. Matching terms between (4.24) and (4.17) yields
k2
Kd = −
ℓ (4.25)
k1
Kp = −
ℓ
Using k1 and k2 from the tuned LQR controller in (4.18), results in the following gains
25
4 Control design 4.4 Closed loop Stability analysis
Kd = 0.4457
(4.26)
Kp = 0.0913
V̇ (x) = mℓ2 (p3 − p2 Kd )(α̇2 + β̇ 2 ) − Kp p3 (α2 + β 2 )
+ (p1 − p3 Kd − p2 Kp )(αα̇ + β β̇) (4.32)
26
4 Control design 4.4 Closed loop Stability analysis
Theorem 1. Let x = 0 be an equilibrium point for a system on the form ẋ = f (x), and
D ⊂ Rn be a domain containing x = 0. Let V : [0, ∞) × D → R be a continuously
differentiable function such that
We have that x = 0 is an equilibrium point for our system in (2.27), which is contained
in D. The Lyaponuv functions also holds the criterion for being continuously differen-
tiable. Regarding the criterion stated in (4.34), the Lyapunov function can be bounded by
bounding the wire length ℓ with an upper and lower bound. The lower bound is easily
stated as
1
ℓmin x⊤ Px ≤ V (x) (4.36)
2
where the additional term considering the potential energy is dropped since it only adds a
positive term anyways. Regarding the upper bound we must consider this additional term,
but we use that (1 − cα cβ ) ≤ 21 (α2 + β 2 ) such that the upper bound for the Lyapunov
function yields
1
V (x) ≤ ℓmax x⊤ P̃x (4.37)
2
where
mg 0 0 0
1 0 mg 0 0
P̃ = P +
0
(4.38)
ℓmax 0 0 0
0 0 0 0
27
4 Control design 4.5 PID controller for positioning
where λmin (P) is the smallest eigenvalue of P and λmax (P̃) is the largest eigenvalue of
P̃. Regarding the derivative of the Lyapunov function from (4.33), it can be limited by
V̇ (x) ≤ ℓ2min (p3 − p2 Kd )(α̇2 + β̇ 2 ) + Kp p3 (α2 + β 2 ) (4.40)
Since P and P̃ are positive definite symmetric matrices, their eigenvalues are also
positive making k1 and k2 positive constants. k3 is also a positive constant since (p3 −
p2 Kd ) and p3 Kp are negative by design.
Kd = 0.4
Kp = 0.1 (4.43)
Ki = 0.1
28
5
Sensorics
To control the swing of a knuckle boom crane, it is necessary to measure the position and
velocity of the payload. In this chapter, we review different sensors that can be used for
this purpose, and describe their advantages and limitations. There are mainly two methods
that is applicable, direct method or indirect method.
5.1.2 Camera
Camera and image processing can be used to measure the position of the payload. Tysse et
al. [76] has done hardware experiments on measuring the sway angle on a knuckle boom
crane system where they used three cameras tracking the position of two markers on the
wire. The markers were identified using size and color information. They had success with
the experiment and the crane damped the sway and returned to desired position. Yamamoto
et al. [89] used a camera mounted on the crane tip to measure the centroid of the load. The
29
5 Sensorics 5.1.3 GPS
arrangement of the cameras and markers on the wire used by Tysse et al. is shown in
Figure 5.1.
However, for systems aboard ships in rough environments, cameras for measurements
like this is not well suited. They are also expensive and require a lot of computation and
maintenance. Sunlight and weather is also a great challenge for cameras that can cause
them to see nothing at all.
Figure 5.1: Camera setup from [79]. The three cameras are marked c1,c2 and c3 while the green
markers on the wire are marked with X1 and X2 .
5.1.3 GPS
GPS can be used to measure the position and velocity of the payload. Schaper et al., (2011)
used GPS to verify an estimator with gyroscope measurements [62].
GPS is not affected by weather making it suitable for real crane systems, but on the
other side it needs a lot of power. A battery driven GPS would often require recharging.
30
5 Sensorics 5.1.4 Inertial measurement unit
[21] used an AHRS sensor in their work to estimate the sway angle of the load. The
arrangement is illustrated in Figure 5.3 They were able to proof that the mean error of the
measured sway angles were below 0.7 degrees.
Both IMU and AHRS are not influenced by weather environment, making them appli-
cable for real crane systems. They are however often proned to disturbances which heavily
impact the measurement data.
31
5 Sensorics 5.2 Direct method
5.2.1 Encoders
Encoders are widely used in real crane system to measure the position and orientation
of the crane. Measuring the sway angle is a bit more challenging. Gustafsson made a
mechanical sensor with shaft encoders to measure the sway angle of the wire in [24]. The
sensor arrangement is shown in Figure 5.4.
Encoders are well suited for this purpose, but the hatch is to find practical devises that
makes it possible to measure two angles. It can also be challenging to make a robust device
with a good longevity for the environment it will work in.
5.2.2 Potentiometers
Potentiometers is a rotating devices that outputs an adjustable voltage based on the ro-
tation. They’re a good choice for measuring angles, but it can be challenging to create
an applicable device. Researchers that have used potentiometers to measure load sway
are Gao et al. [20] and Ouyang et al. [52]. The sensor arrangement used in the latter is
illustrated in Figure 5.5.
32
5 Sensorics 5.2.3 Strain gauges
is however not so well suited for knuckle boom cranes where the jib is not parallel to the
ground. It could still be possible to modify the devise to work on other types of cranes as
well.
Figure 5.6: Payload sway angle sensing device. (1) Flexible elements. (2) Strain gauges. (3) Device
holder mounted on trolley. (4) An intermediate member performing a spherical motion. (5) The part
of the device performing the movement according to the rope. (6) Pulleys touching the rope. (7)
Crane rope. [23]
33
6
Estimation
Regardless of choice of sensor to measure the sway angle, the data often contains a lot
of noise. From the model (2.40), it’s also assumed that only the angles are measured,
but the control laws use both the angle and the angular velocity. Due to the property of
observability shown in subsection 2.4.2, we can estimate the angular velocity based on the
linear model of the system and the known input.
The Kalman filter is a widely used technique for this purpose. It provides an optimal
estimates of the state variables by combining predictions from a mathematical model of the
crane system with measurements obtained from sensors. The Kalman filter does not only
estimate states that aren’t measured, it also filters noisy measurements of the measured
states.
ẋ = Ax + Bu + w
(6.1)
y = Cx + v
where w is the zero mean Gaussian process noise with covariance Qk : w ∼ N (0, Qk ).
v is the zero mean observation noise with covariance Rk : v ∼ N (0, Rk ). The discretized
system model yields
x[k + 1] = Ad x[k] + Bd u[k] + w[k]
(6.2)
y[k] = Cd x[k] + v[k]
In this paper we choose to only estimate one step ahead such that the state transition matrix
34
6 Estimation 6.1.1 Algorithm of the Kalman filter
Ad [k] = I + Ah
Bd [k] = Bh (6.3)
Cd [k] = C
x̂[0] = x0
(6.4)
P̂[0] = P0
Predict
2: Predict state estimate and estimate the covariance
x̂k+1|k = Ad xk + Bd uk
(6.5)
P̂k+1|k = Ad Pk A⊤
d + Qk
Update
3: Update the prediction based on measurements
ỹk = zk − Cx̂k+1|k
Sk = Cd P̂k+1|k C⊤
d Rk
Kk = P̂k+1|k C⊤
dS
−1 (6.6)
xk+1|k = x̂k+1|k + Kk ỹk
Pk+1|k = (I − Kk Cd )P̂k+1|k
where
zk = Cd xk + vk (6.7)
is the actual measurement at time k. The only tuning possibilities for the Kalman filter
is the process noise matrix Qk and observation noise matrix Rk . They are included in
computing the Kalman-gain Kk in (6.6). The gain determines how much you trust the
measurements or the estimation, based on the linear model. Good initial guesses of the
state vector and covariance matrix, as shown in (6.4) can also improve estimation.
35
6 Estimation 6.2 Performance of the Kalman filter
-10
-20
0 20 40 60 80 100 120 140 160 180
20
measured
estimated
10
[deg]
-10
-20
0 20 40 60 80 100 120 140 160 180
Time [s]
Figure 6.1: Estimated load sway plotted on top of the measured sway.
In Figure 6.2, we can see how the estimated values for angular velocities are compared
to the real one.
36
6 Estimation 6.2 Performance of the Kalman filter
-5
-10
0 20 40 60 80 100 120 140 160 180
10
estimated
true
5
-5
-10
0 20 40 60 80 100 120 140 160 180
Time [s]
Figure 6.2: Estimated load sway velocity plotted together with true value.
37
7
Workspace
ϵ(x) ≤ x⊤ Ex (7.3)
The worst case scenario for the net energy is at the turning point when there is only
potential energy active:
1
ϵwc = mgℓ(α2 + β 2 ) (7.5)
2
38
7 Workspace
r (xp , yp )
(xt , yt ) X
39
7 Workspace
e = eig(P, E) (7.17)
What this function does is to solve the generalized eigenvalue problem, and return a
vector containing these eigenvalues. The variables λ and µ can then easily be extracted
from the vector e.
Using the P̃ from (4.38), only now we don’t care about the maximum length of the
wire since it don’t make any difference in this analysis. We have that
p1 + ω 2
0 p3 0
1 0 p1 + ω 2 0 p3
P̃ = mℓ2 (7.18)
2 p3 0 p2 0
0 p3 0 p2
yileds an upper limit for the Lyapunov function, for a given wire length, V (x) ≤ x⊤ P̃x.
From the Lyapunov analysis we got that p2 = 1, 0 < p3 < p2 Kd and p1 = p2 Kp + p3 Kd .
Setting
p3 = 0.4Kd
(7.19)
p1 = Kp + p3 Kd
with Kd and Kp from the (4.26), we get the following vector of generalized eigenvalues
0.8121
0.8121
e= 1.6737
(7.20)
1.6737
Then we choose µ = 0.08121 and λ = 1.6737 and insert into (7.15) such that for any
given initial radius, r0 , the future radius relative to the crane tip will be bounded by
r̂ = 1.35 r0 (7.21)
We can picture a cone where the top is the crane tip, and the load is restricted to move
inside the cone, as illustrated in Figure 7.2. The cone moves together the crane tip. This
40
7 Workspace
(xt , yt )
(xp , yp )
r0 r̂
Figure 7.2: Initial radius of the load and the restricted area it will stay within, as seen from a side
view.
results yields only for the system when it is initialized with a set of angles resulting in a
radius of the load.
The result of the radius from a given set of initial conditions is carried out in Figure 7.3.
In the figure, the radius is plotted with respect to time. The system was initialized with
◦
α 20
β 5◦
= ◦ (7.22)
α̇ 0 /s
β̇ 8◦ /s
10
Radius [m]
Figure 7.3: Radius of the suspended load with respect to crane tip.
41
8
Simulations
In this chapter the goal is to show how effective the controller is under different situations.
First, the system is tested when there is initial sway and movement of the load, before
moving to the most challenging operation which is rotation of the crane. When an operator
rotates the crane it causes a lot of motion on the load, and consequentially, a lot of work
for the ASC. Windy conditions is also challenging for the anti-sway controller since it
pushes the load out of the resting position. Multiple joint control is also simulated and
initial condition test for simplified versions of the ASC. This latter is done just to show
that it still works, when simplified.
For all simulations, the wire length is kept constant at ℓ = 25 m. This is a quite long
wire length, causing big oscillations on the load, but slowly varying due to the systems
natural frequency.
42
8 Simulations 8.1 Effect of the controller
Figure 8.1: Sway angles of suspended load. The anti-sway controller is activated after 100s
43
8 Simulations 8.1 Effect of the controller
44
8 Simulations 8.1.1 Output feedback
45
8 Simulations 8.2 Operator in the loop
Figure 8.4: Joystick commands from crane operator and the desired joint angles.
46
8 Simulations 8.2.1 Without ASC
15
Y
10
-5
-10 -5 0 5 10 15 20 25
X
Figure 8.5: Movement of the crane tip and suspended load in the XY -plane, seen from above.
47
8 Simulations 8.2.1 Without ASC
5
angle [deg]
-5
-10
0 20 40 60 80 100 120 140 160 180
time [s]
(a) Sway angles of the suspended load.
Input to the system
vx
0.8
vy
0.6 vz
0.4
0.2
-0.2
-0.4
0 20 40 60 80 100 120 140 160 180
Time [s]
(b) Input to the system.
Figure 8.6: Plots from the simulation when the crane is rotated 90◦ without ASC active.
48
8 Simulations 8.2.2 With anti-sway active
Figure 8.7: Movement of the crane tip and suspended load in the XY -plane, seen from above.
49
8 Simulations 8.2.2 With anti-sway active
0
angle [deg]
-2
-4
-6
-8
0 20 40 60 80 100 120 140 160 180
time [s]
(a) Sway angles of the suspended load.
Figure 8.8: Plots from the simulation when the crane is rotated 90◦ and ASC is activated from the
start.
50
8 Simulations 8.2.3 ASC activated after crane operator
51
8 Simulations 8.2.3 ASC activated after crane operator
5
angle [deg]
-5
Figure 8.9: Plots from the simulation when the crane is rotated 90◦ and ASC is activated after
setpoint is reached.
52
8 Simulations 8.2.4 Output feedback
53
8 Simulations 8.2.4 Output feedback
0
angle [deg]
-2
-4
-6
-8
0 20 40 60 80 100 120 140 160 180
time [s]
(a) Sway angles of the suspended load.
Figure 8.10: Plots from the simulation when the crane is rotated 90◦ with output feedback.
54
8 Simulations 8.2.4 Output feedback
-5
-10
0 20 40 60 80 100 120 140 160 180
5
measured
estimated
[deg]
-5
0 20 40 60 80 100 120 140 160 180
Time [s]
-2
2
estimated
true
-2
0 20 40 60 80 100 120 140 160 180
Time [s]
55
8 Simulations 8.3 Multiple joint control
56
8 Simulations 8.3 Multiple joint control
-0.5
-1
0 20 40 60 80 100 120 140 160 180
Time [s]
(b) Input to the system.
Figure 8.13: Plots from the simulation when the crane is rotated 90◦ without ASC active.
57
8 Simulations 8.4 Impact of wind on the system
No mass, wind speed, drag coefficient or surface area has been defined, but the dis-
turbing force is quite large in order to challenge the system properly. It is conceivable that
it is a strong wind and a very light weighted mass.
The result can be seen in Figure 8.14. In Figure 8.14a we can see how the wind moves
the equilibrium points out from the origin for the two sway angles. The new equilibrium
point for α is about 5◦ , while for β it is about −5◦ because of the direction of the wind.
The input to the system is shown in Figure 8.14b.
The most interesting result from this simulation is that the crane tip settles at the desired
setpoint, as shown in Figure 8.14c. That is thanks to the integral effect in the position
controller. With a constant offset of the sway angles, the proportional term in the ASC
will continue to push the crane in the direction of the wind, but the integral action is able
to counteract it.
58
8 Simulations 8.4 Impact of wind on the system
5
angle [deg]
-5
-0.1
-0.2
-0.3
0 20 40 60 80 100 120 140 160 180
Time [s]
(b) Input to the system.
Figure 8.14: Plots from the simulation when the system is disturbed by wind and integral action is
added in the position controller.
59
8 Simulations 8.4.1 Output feedback
0
0 20 40 60 80 100 120 140 160 180
0
measured
-2 estimated
[deg]
-4
-6
-2
-4
0 20 40 60 80 100 120 140 160 180
2 estimated
true
-2
0 20 40 60 80 100 120 140 160 180
Time [s]
(b) Estimated sway velocity compared to true velue.
Figure 8.15: Estimations from the Kalman filter under windy conditions
60
8 Simulations 8.5 Simplified controller
61
8 Simulations 8.5.1 PD anti-sway controller
15
10
angle [deg]
-5
-10
-15
0 20 40 60 80 100 120 140 160 180
time [s]
(a) Sway angles of the suspended load.
62
8 Simulations 8.5.2 Derivative controller for anti-sway
ux = ℓKd α̇
(8.5)
uy = ℓKd β̇
This is a simple derivative controller that only compensates for the velocity of sus-
pended load. The results are shown in Figure 8.17. The amplitude of the input are reduced
even further as shown in Figure 8.17b. That comes with a trade off on the load oscil-
lations as shown in Figure 8.17a, where the controller needs longer time to dampen the
oscillations.
10
angle [deg]
-10
-20
0 20 40 60 80 100 120 140 160 180
time [s]
(a) Sway angles of the suspended load.
Figure 8.17: Results from initial condition test with derivative ASC.
63
9
Discussion
Kalman filter
The Kalman filter proves to be a powerful tool for estimating the nonmeasured states for
use in feedback control. The filter estimates the sates based on a linear model of the
system, but even if the true system is highly nonlinear, it still manages to produce very
good estimates as shown in Figure 8.11. In the simulation, white noise was added on top
of the true values to look like noisy measurements.
When the system was subject to wind, the Kalman filter fails to estimate the states.
64
9 Discussion
The load settles at a new equilibrium different than the origin, tricking the linear model to
think there is still movement on the load. The Kalman filter algorithm should therefore use
an adaptive approach, where the wind could be modeled as a slowly varying disturbance.
When the the output from the Kalman filter was used in feedback, we saw signs of
domino effect. With this I mean that the oscillating output causes oscillations in the input,
which again causes oscillations on the output. Comparing Figure 8.11 with Figure 6.1 and
Figure 6.2, the effect is clearly visible, where the first figure is from when the output is used
in feedback. On a real crane system the effect would not be of the same degree because
of frictional forces that will dampen out a lot of these oscillations in the load. However,
these oscillations on the input are unwanted and should be dealt with. What could be done
is to only include contribution from the ASC if it’s above a certain threshold. This could
cut out most of the oscillation and improve the estimations.
Windy conditions
Under windy conditions, the integral effect of position controller really shows how im-
portant it is. From the result in Figure 8.14, the controllers effectively minimize the sway
before the load settles at a new equilibrium, and the crane tip settles at the desired setpoint.
The proportional term in the ASC wants to move the crane in the direction of the wind,
but the position controller holds it back, thanks to the integral effect.
65
10
Conclusion
In this thesis, a model of a knuckle boom crane with suspended load has been presented,
where the dynamics of the system is calculated using Euler-Lagrange method. Kinematics
of the crane are found using Denavit–Hartenberg convention.
An anti-sway controller based upon Lyapunov stability theory is designed and imple-
mented for testing in a Simulink model. It is used together with a simple PID controller
for keeping the crane’s position at the desired setpoint.
Different types of sensors and instrumentation have been discussed, as well as how to
use a Kalman filter for estimating non-measured states. The Kalman filter proves to be a
very powerful tool for this purpose.
We have also been able to define a limited domain around the equilibrium, where the
load is limited to, depending on the initial position of the suspended load. This is done
based on Lyapunov stability theory and net energy of the system.
The effect of the anti-sway controller is proven with simulations, and it proves to work
well with operator in the loop and under windy conditions.
A drawback of the ASC is that it requires on-line calculation, but it can however be
simplified since the higher order cancellation terms are relative small. The performance of
the simplified controller is proven with simulations. Another benefit of the simpler version
is that it completely decouples the two inputs. Meaning that input in one direction is only
dependent on one angle, and the input the other direction is dependent on the other angle.
To conclude with, the proposed anti-sway control system is suitable for industrial
cranes that are to operate in windy conditions and with operator in the loop. Optimal
motion compensation for suspended load is achieved by tuning the controller such that
the closed loop linearized system yields the same eigenvalues and properties as the closed
loop system with LQR.
The impact of waves have not been considered in this thesis. That is because Motus,
the company behind the project already have a motion compensation system for cranes.
The system compensates such that the crane tip is held still with respect to the world frame
or NED frame. As a consequence, swaying are also minimized.
66
10 Conclusion 10.1 Future work
The anti-sway controller needs be tested on a real crane system in real situations with
an operator in the loop. From the simulations it looks like the ASC works well with the
operator, but the person might feel like he/her looses control over the crane.
Simplified controller
We saw from simulations that the simplified anti-sway controller performed well. It could
be interesting to test it in real situations on a real crane system.
Instrumentation
One or maybe several measuring techniques should be tested in closed loop control with
the ASC. This should be done to conclude what type of sensor works best. For a commer-
cial product with several sensors, sensor fusion could be used to combine the measurement
to one result.
In this thesis frictional forces has been neglected, but in reality they are important in a
way that it brings stability to the system. A model considering frictional forces should be
explored. It is difficult to exactly know the frictional forces, but they could be estimated
adaptively. It would also be important for the model used in the Kalman filter to have this
included, such that the estimated angle velocities are correct.
The same applies to the disturbing force from the wind. It could be estimated as a
slowly varying disturbance.
The impact of a varying wire length have not been explored in this thesis, as it was held
constant. It would be very interesting to see how one can vary the length and how it affects
the dynamics and the controller.
The same technique used in chapter 7 could be applied for more degrees of freedom re-
sulting in a more complete definition of the work area of the crane. The contribution from
the ASC could also be limited, such that the crane tip is only allowed to move a certain
distance away from the desired setpoint.
67
10 Conclusion 10.1 Future work
68
Bibliography
[2] Eihab M. Abdel-Rahman, Ali H Nayfeh, and Ziyad N. Masoud. Dynamics and con-
trol of cranes: A review. Vibration and Control, 2003.
[3] Siebe B. van Albada, G. Dick van Albada, Hans Petter Hildre, and Houxiang Zhang.
A novel approach to anti-sway control for marine shipboard cranes. 2013.
[4] Naif B. Almutairi and Mohamed Zribi. Sliding mode control of a three-dimensional
overhead crane. 2008.
[5] Michele Ambrosino, Marc Berneman, Gianluca Carbone, Remi Crepin, Arnaud
Dawans, and Emanuele Garone. Modeling and control of 5-dof boom crane. Au-
tomation in Robotics Construction, 2021.
[6] Michele Ambrosino, Arnaud Dawans, Brent Thierens, and Emanuele Garone. Oscil-
lation reduction for knuckle cranes. 2020.
[7] Sameer Arabasi and Ziyad Masoud. Simultaneous travel and hoist maneuver input
shaping control using frequency modulation. Shock and Vibrations, 2017.
[8] Jens G. Balchen, Trond Andresen, and Bjarne A. Foss. Reguleringsteknikk. Institutt
for teknisk kybernetikk, sixth edition, 2016.
[9] Chi-Tsong Chen. Linear System Theory and Design. Oxford University Press, third
edition, 1999.
[10] He Chen, Yongchun Fang, and Ning Sun. A swing constraint guaranteed mpc algo-
rithm for underactuated overhead cranes. Transaction on Mechatronics, 2016.
[11] He Chen and Ning Sun. An output feedback approach for regulation of 5-dof offshore
cranes with ship yaw and roll perturbations. Transactions on Industrial Electronics,
2022.
69
[12] Yingguang Chu, Filippo Sanfilippo, Viljar Æsøy, and Houxiang Zhang. An effective
heave compensation and anti-sway control approach for offshore hydraulic crane
operations.
[13] Dongkyoung Chwa. Nonlinear tracking control of 3-d overhead cranes against the
initial swing angle and the variation of payload weight. Transactions on Control
System Technology, 2009.
[14] Dongkyoung Chwa. sliding-mode-control-based robust finite-time antisway tracking
control of 3-d overhead cranes. Transactions on Industrial Electronics, 2017.
[15] Wim Devesse. Slew control methods for tower cranes. Master’s thesis, KTH Indus-
trial Engineering and Management, 2012.
[16] Win Devesse, Marcus Ramteen, Lei Feng, and Jan Wikander. A real-time optimal
control method for swing-free tower crane motions. 2013.
[17] Didrik Fjeld Eslet. Crane payload stabilization using lagrangian kinematics and euler
angles. Master’s thesis, NTNU, 2019.
[18] Yongchun Fang, Bojun Ma, Pengcheng Wang, and Xuebo Zhang. A motion
planning-based adaptive control method for an underactuated crane system. Trans-
action on Control System Technology, 2012.
[19] T. I. Fossen. Handbook of Marine Craft Hydrodynamics and Motion Control. John
Wiley & Sons, Ltd, West Sussex, United Kingdom, second edition, 2021.
[20] Bingtuan Gao, Hongjun Chen, Xiaohua Zhang, and Haiming Qi. A practical optimal
controller for underactuated gantry crane systems. 2006.
[21] Bingtuan Gao, Zhenyu Zhu, Jianguo Zhao, and Boran Huang. A wireless swing angle
measurement scheme using attitude heading reference system sensing units based on
microelectromechanical devices. Sensors, 2014.
[22] S. Garrido, M. Abderrahim, A. Gimenez, and C. Balaguer. Anti-swinging input
shaping control of an automatic construction crane.
[23] Patrik Grosinger, Jan Rybar, Stefan Dunaj, Stanislav Duris, and Branislav Hucko. A
new payload swing angle sensing device ant its accuracy. Sensors, 2021.
[24] Thomas Gustafsson. Modelling and control of rotary crane systems. PhD thesis,
Luleå University of Technology, 1993.
[25] Thomas Gustafsson. Modelling and control of a rotary crane. 1995.
[26] Vaclav Helma, Martin Goubej, and Vlastimil Setka. Inertial measurements process-
ing for sway angle estimation in overhead crane control applications.
[27] João P. Hespanha. Linear Systems Theory. Princeton University Press, 2009.
[28] R. M. T. Raja Ismail and Q. P. Ha. Trajectory tracking and anti-sway control of
three-dimensional offshore boom cranes using second-order sliding modes. 2013.
70
[29] R.M.T. Raja Ismail, Nguyen D. That, and Q. P. Ha. Offshore container crane systems
with robust optimal sliding mode control. Automation and Robotics in Construction
and Mining, 2014.
[31] Tan Ying Jian and Z. Mohamed. Modelling and sway control of a double-pendulum
overhead crane system. Applications of Modelling and Simulation, 2017.
[32] Jouko Kalmari, Heikki Hyyti, and Arto Visala. Sway estimation using inertial mea-
surement units for cranes with a rotating tool. 8th IFAC Symposium on Intelligent
Autonomous Vehicles, 2013.
[33] Hassan K. Khalil. Nonlinear Systems. Prentice Hall, Upper Saddle River, New
Jersey, 1995.
[35] Gyoung-Hahn Kim and Keum-Shik Hong. Adaptive sliding-mode control of an off-
shore container crane with unknown disturbances. Transactions on Mechatronics,
2019.
[36] Jaehoon Kim, Balint Kiss, Donggil Kom, and Donggik Lee. Tracking control of
overhead crane using output feedback with adaptive unscented kalman filter and
condition-based selective scaling. 2021.
[37] Magnus B. Kjelland, Michael R. Hansen, Ilya Tyapin, and Geir Hovalnd. Tool-
point control of planar hydraulically actuated manipulator with compensation of non-
actuated degree of freedom. 2012.
[38] Karl Lukas Knierim, Kai Krieger, and Oliver Sawodny. Flatness based control of a
3-dof overhead crane with velocity controlled drives. Mechatronic Systems, 2010.
[39] Bernd Kolar and Kurt Schlacher. Flatness based control of a gantry crane. 9th IFAC
Symposium on Nonlinear Control Systems, 2013.
[40] Zhi Li, Xin Ma, and Yibin Li. Nonlinear partially saturated control of a double pen-
dulum offshore crane based on a fractional-order disturbance observer. Automation
in Construction, 2022.
[41] Iain A. Martin and Rishad A. Irani. Evaluation of both linear and non-linear control
strategies for a shipboard marine gantry crane.
[42] Iain A. Martin and Rishad A. Irani. Dynamic modeling and self-tuning anti-sway
control of a seven degree of freedom shipboard knuckle boom crane. Mechanical
Systems and Signal Processing, 2021.
71
[43] Iain A. Martin and Rishad A. Irani. A generalized approach to anti-sway control for
shipboard cranes. 2021.
[44] Ziyad N. Masoud. A control system for the reduction of cargo pendulation of ship-
mounted cranes. PhD thesis, Virginia Polytechnic Institute and State university,
2000.
[46] Rachit Mehra, Sumeet Satpute, Faruk Kazi, and N. M. Singh. Geometric-pbc based
control of 4-dof underactuated overhead crane system. 2014.
[47] Mohammad Rasool Mojallizadeh, Bernard Brogliato, and Prieurm Christophe. Mod-
eling and control of overhead cranes: A survey. 2022.
[48] Hamed Moradi and Gholamreza Vossoughi. State estimation, positioning and anti-
swing robust control of traveling crane-lifter system. Applied Mathematical Mod-
elling, 2015.
[51] Huimin Ouyang, Naoki Uchiyama, and Shigenori Sano. Anti-sway control of a rotary
crane only by horizontal boom motion. 2010.
[52] Huimin Ouyang, Naoki Uchiyama, and Sano Shigenori. Suppression of two-
dimensional load-sway in rotary crane control using only horizontal boom motion.
System Design and Dynamics, 2011.
[53] Huimin Ouyang, Jian Wang, Guangming Zhang, Lei Mei, and Xin Deng. Novel
adaptive hierarchical sliding mode control for trajectory tracking and load sway re-
jection in double-pendulum overhead cranes. 2019.
[54] Huimin Ouyang, Xiang XU, and Guangming Zhang. Boom motion trajectory gener-
ation approach for load sway rejection in rotary cranes considering double-pendulum
effect. Measurement and Control, 2020.
[55] Huimin Ouyang, Tian Zheng, Lili Yu, and Guangming Zhang. Partial enhanced-
coupling control approach for trajectory tracking and swing rejection in tower cranes
with double-pendulum effect. Mechanical Systems and Signal Processing, 2021.
[56] Humin Ouyang, Naoki Uchiyama, and Shigenori Sano. S-curve trajectory generation
for residual load sway suppression in rotary crane system using only horizontal boom
motion. System Design and Dynamics, 2011.
72
[57] Mun-Soo Park, Dongkyoung Chwa, and Myunghwan Eom. Adaptive sliding-mode
antisway control of uncertain overhead cranes with high-speed hoisting motion.
Transactions on Fuzzy Systems, 2014.
[58] Jiaohui Peng, Jie Huang, and William Singhose. Payload twisting dynamics and os-
cillation suppression of tower cranes during slewing motions. Nonlinear Dynamics,
2019.
[59] Liyana Ramli, Z. Mohamed, Auwalu M. Abdullahi, H.I. Jaafar, and Izzuddin M.
Lazim. Control strategies for crane systems: Acomprehensive review. Mechanical
Systems and Signal Processing, 2017.
[60] Florentin Rauscher, Samuel Nann, and Oliver Sawodny. Motion control of an over-
head crane using a wireless hook mounted imu. 2018.
[61] Hiroki Sano, Kiyoshi Ohishi, Tahayuki Kaneko, and Hironori Mine. Anti-sway crane
control based on dual state observer with sensor-delay correction. 2010.
[62] Ulf Schaper, Conrad Sagert, Oliver Sawodny, and Klaus Schneider. A load position
observer for cranes with gyroscope measurements. 2011.
[63] Philipp Schubert, Sebastian Stemmler, and Dirk Abel. Towards predictive anti-sway
control of a hanging loads: Model-based controller design for a knuckle boom crane,
2019.
[64] Mark W. Spong, Seth Hutchinson, and M. Vidyasagar. Robot Dynamics and Control.
John Wiley Sons Inc, 2004.
[65] Maokai Sun, Shenghai Wang, Guangdong Han, Lin An, Haiquan Chen, and Yuqing
Sun. Modeling and dynamic analysis of a triple-tagline anti-swing system for marine
cranes in an offshore environment. Marine Science and Engineering, 2022.
[66] Ning Sun, He Fang, Yongchun adn Chen, Biao Lu, and Yiming Fu. Slew/translation
positioning and swing suppression for 4-dof tower cranes with parametric uncertain-
ties: Design and hardware experimentation. Industrial Electronics, 2016.
[67] Ning Sun, Yongchun Fang, and He Chen. A new antiswing control method for un-
deractuated cranes with unmodeled uncertainties: theoretical design and hardware
experiments. Transactions on Industrial Electronics, 2015.
[68] Ning Sun, Yongchun Fang, He Chen, Yiming Fu, and Biao Lu. Nonlinear stabiliz-
ing control for ship-mounted cranes with ship roll and heave movements: design,
analysis and experiments. Systems, Man, and Cybernetics: Systems, 2018.
[69] Ning Sun, Yongchun Fang, he Chen, and Biao Lu. Amplitude-saturated nonlinear
ouput feedback antiswing control for underactuated cranes with double-pendulum
cargo dynamics. Transactions on Industrial Electronics, 2017.
[70] Ning Sun, Xiao Liang, and Yongchun Fang. Nonlinear stable transportation con-
trol for double-pendulum shipboard cranes with ship-motion-induced disturbances.
Transactions on Industrial Electronics, 2019.
73
[71] Ning Sun, Yongchun Yang, Tong ans Fang, Biao Lu, and Yuzhe Qian. Nonlinear
motion control of underactuated 3-dimensional boom cranes with hardware experi-
ments. Transactions on Industrial Informatics, 2017.
[72] Hideki Takahashi, Abdallah Farrage, Kenichi Terauchi, Shintaro Sasai, Hitoshi Saku-
rai, Masaki Okubu, and Naoki Uchiyama. Sensor-less and time-optimal control for
load-sway and boom-twist suppression using boom horizontal motion of large cranes.
Automation in Construction, 2022.
[73] Le Anh Tuan, Gook-Hwan Kim, and Soon-Geul Lee. Partial feedback linearization
control of the three dimensional overhead crane. 2012.
[74] Le Anh Tuan, Jae-Jun Kim, Soon-Geul Lee, Tae-Gyoon Lim, and Luong Cong Nho.
Second-order sliding mode control of a 3d overhead crane with uncertain system
parameters. Precision Engineering and Manufacturing, 2014.
[75] Le anh Tuan, Sang.Chan Moon, Won Gu Lee, and Soon-Geul Lee. Adaptive sliding
mode control of overhead cranes with varying cable length. Mechanical Science and
Technology, 2013.
[76] Geir Olav Tysse, Andrej Cibicik, and Olav Egeland. Vision-based control of a
knuckle boom crane with online cable length estimation. IEEE/ASME Transactions
on Mechatronics, 2021.
[77] Geir Ole Tysse, Andrej Cibicik, Lars Tingelstad, and Olav Egeland. Lyapunov-based
damping controller with nonlinear mpc control of payload position for a knuckle
boom crane. Automatica, 2022.
[78] Geir Ole Tysse and Olav Egeland. Dynamic interaction of a heavy crane and a ship
in wave motion. Modeling, Identification and Control, 2018.
[79] Geir Ole Tysse and Olav Egeland. Crane load position control using lyapunov-based
pendulum damping and nonlinear mpc position control. 2019.
[80] Sondre Sanden Tørdal. Real-Time Motion Compensation in Ship-to-Ship Load Han-
dling. PhD thesis, University of Agder, 2019.
[81] Ding Wang, Haibo He, and Derong Liu. Intellighent optimal control with critic
learning for a nonlinear overhead crane. Transaction on Industrial Informatics, 2018.
[82] Jianli Wang, Kexin Liu, Shenghai Wang, Haiquan Chen, Yuqing Sun, Anqi Niu, and
Haolin Li. Dynamic analysis and experiment of underactuated double-pendulum
anti-swing device for ship-mounted jib-cranes. Polish Maritime Research, 2022.
[83] Jianli Wang, Shenghai Wang, Chen Haiquan, Anqi Niu, and Gouliang Jin. Dynamic
modeling and analysis of the telescopic sleeve antiswing device for shipboard cranes.
Mathematical Problems in Engineering, 2021.
[84] Shenghai Wang, Zhaopeng Ren, Guoliang Jin, and Haiquan Chen. Modeling and
analysis of offshore crane retrofitted with cable-driven inverted tetrahedron mecha-
nism. 2021.
74
[85] Shenghai Wang, Yuqing Sun, Haiquan Chen, and Jialu Du. Dynamic modelling and
analysis of 3-axis motion compensated offshore cranes. Ships and Offshore Struc-
tures, 2018.
[86] Xianqing Wu and Xiongxiong He. Nonlinear energy-based regulation control of
three-dimensional overhead cranes. Transactions on Autonomous Science and Engi-
neering, 2017.
[87] Yiming Wu, Ning Sun, He Chen, and Yongchun Fang. Adaptive output feedback con-
trol for 5-dof varying-cable-length tower cranes with cargo mass estimation. Trans-
actions on Industrial Informatics, 2021.
[88] Zhou Wu, Xiaohua Xia, and Bing Zhu. Model predictive control for improving
operational efficiency of overhead cranes. Nonlinear Dynamics, 2015.
[89] Yasuhiro Yamamoto, Chunnan Wu, Hisashi Osumi, Masayuki Yano, and Yusuke
Hara. Development of an algorithm for crane sway suppression. Automation and
Robotics in Construction, 2020.
[90] Tong Yang, Nig Sun, He Chen, and Yongchun Fang. Neural network-based adap-
tive antiswing control of an underactuated ship-mounted crane with roll motions and
input dead zones. Neural Networks and Learning Systems, 2020.
[91] Menghua Zhang, Yongfeng Zhang, Bing Ji, Changhui Ma, and Xingong Cheng.
Adaptive sway reduction for tower cranes with varying cable lengths. Automation
in Construction, 2020.
[92] Yan Zhao and Huijun Gao. Fuzzy-model-based control of an overhead crane with
input delay and actuator saturation. Transactions on Fuzzy Systems, 2012.
[93] Ümit Önen and Abdullah Cakan. Anti-swing control of an overhead crane by using
genetic algorithm based lqr. International Journal Of Engineering And Computer
Science, 2017.
75
Appendix
A Inverse Jacobian
Let J† denote the inverse of the Jacobian
J−1 = J† (10.1)
holding the elements
†
J†12 J†13
J11
J† = J†21 J†22 J†23 (10.2)
J†31 J†32 J†33
With the Jacobian defined in (3.9) and the elements in (3.10), the elements on the
inverse Jacobian yields
sin(θ1 )
J†11 =
ℓj cos(θ2 + θ3 ) − ℓb cos(θ2 )
cos(θ1 )
J†12 =−
ℓj cos(θ2 + θ3 ) − ℓb cos(θ2 )
J†13 = 0
cos(θ2 + θ3 ) cos(θ1 )
J†21 =
ℓb sin(θ3 )
cos(θ2 + θ3 ) sin(θ1 )
J†22 =
ℓb sin(θ3 ) (10.3)
sin(θ2 + θ3 )
J†23 =
ℓb sin(θ3 )
cos(θ1 )(ℓj cos(θ2 + θ3 ) − ℓb cos(θ2 ))
J†31 =−
ℓb ℓj sin(θ3 )
sin(θ1 )(ℓj cos(θ2 + θ3 ) − ℓb cos(θ2 ))
J†32 =−
ℓb ℓj sin(θ3 )
ℓj sin(θ2 + θ3 ) − ℓb sin(θ2 )
J†33 =−
ℓb ℓj sin(θ3 )
76