Anti Sway Vassa
Anti Sway Vassa
Anti Sway Vassa
FALCUTY OF TECHNOLOGY
TELECOMMUNICATIONS ENGINEERING
Vo Thanh Vinh
Master’s Thesis for the degree of Master of Science in Technology submitted for inspection
in Vaasa, 1st, May, 2014.
ACKNOWLEDGEMENT
I would like to specially express my gratitude to Professor Petri Helo for inaugurating,
leading and managing this project. Along the way, he has provided me with all the needed
helps, encouragements, technical advises and communications. Therefore, to him I am
grateful.
I would like to express my gratitude to Professor Mohammed Salem Elmusrati for giving
me wholehearted support and supervision to successfully complete my thesis. Especially,
the knowledge that I learnt from him during my education period serves as vital role to the
success of the project.
My special appreciation and thanks to Mr. Steve Ekstrom who has also been a leader of this
project. His knowledge and passion have been essential for the success of the project.
A special thank goes to Mr. Niklas Envall and Mr. Andreas Ek. Mr. Niklas Envall has been
the main engineer in designing and producing process of the anti-sway production board.
Mr. Andreas Ek has been responsible for installation and configuration of cranes. In
addition, they have always been invaluable source of knowledge for me to consult when I
am stuck with problems.
In addition, I would like to credit all members of the Telecommunication and Information
Technology Department in the University of Vaasa and Technobothnia Research Centre for
maintaining the high quality and comfortable, learning-oriented environment during my
period of education.
Vo Thanh Vinh
3
TABLE OF CONTENTS
ACKNOWLEDGEMENT ...................................................................................................... 2
1. INTRODUCTION ........................................................................................................ 10
1.1. Background ............................................................................................................ 10
1.2. Objective of the project .......................................................................................... 11
1.3. Overview of related works ..................................................................................... 13
1.3.1. Mechanical-based solutions............................................................................ 13
1.3.2. Sensorless solutions ........................................................................................ 16
1.3.3. Sensor based solutions .................................................................................... 16
1.3.4. Conclusion of previous works ........................................................................ 19
2. MODELING OF INDUSTRIAL CRANE AND ITS LOAD-SWAY PROBLEM ..... 21
2.1. Introduction to gantry and overhead crane ............................................................ 21
2.2. Physics model of crane .......................................................................................... 23
2.3. Observational frame of reference in crane physics model analysis ....................... 25
2.4. Sway analysis of moving cranes ............................................................................ 27
2.5. Conclusion ............................................................................................................. 32
3. ANTI-SWAY ALGORITHM....................................................................................... 33
3.1. Introduction and requirements of the anti-sway algorithm .................................... 33
3.2. Crane’s oscillation propositions............................................................................. 33
3.2.1. Oscillation when trolley has no acceleration .................................................. 33
3.2.2. Oscillation during trolley acceleration/deceleration ....................................... 34
3.2.3. Symmetric property of oscillation .................................................................. 36
3.3. Anti-sway algorithm mechanism ........................................................................... 37
3.3.1. Ramping up period ......................................................................................... 37
3.3.2. Ramping down ................................................................................................ 45
3.4. Anti-sway algorithm pseudo implementation ........................................................ 49
3.5. Conclusion ............................................................................................................. 53
4. ANTI-SWAY ALGORITHM SIMULATION ............................................................. 54
4.1. Introduction ............................................................................................................ 54
4
PID Proportional-Integral-Derivative
FLC Fuzzy Logic Controller
8
SYMBOLS
UNIVERSITY OF VAASA
Faculty of Technology
Author: Vo Thanh Vinh
Topic of the Thesis: Anti-Sway Algorithm And Its Implementation For
Industrial Overhead And Gantry Cranes
Name of the Supervisor: Professor Petri Helo
Professor Mohammed Salem Elmusrati
Degree: Master of Science in Technology.
Department: Department of Computer Science.
Degree Programme: Master's Programme in Communications and
Systems Engineering.
Major Subject: Telecommunication Engineering
Year of Entering the University: 2011
Year of Completing the Thesis: 2014 Pages: 112
Abstract:
In today’s market, due to stiff competition, manufacturers must continuously seek for
innovation to increase productivity. One potential area of innovation is improving crane
operations. Typically, cranes are used in manufacturing or maintenance processes, where
productivity and safety are considered as most important requirements. Load swinging
during crane’s movement is considered as most severe problem affecting ability to operate
crane efficiently .Production queue delay can be greatly reduced if crane sway control is
implemented properly.
In this paper, the crane load sway phenomenon is modeled and analyzed in depth. As the
result, a new solution to suppress load sway is proposed. In contrast with various existing
anti-sway solutions, our solution is easy to deploy, fast to converge and independent with
load weight as well as crane’s rope length. Moreover, the solution is also very affordable
and suitable for most of existing motor drive models .The solution is theoretically verified
by simulation with software physics engine. Lastly, several anti-sway hardware prototypes
were developed and tested against a real overhead crane in factory. The proposed anti-sway
algorithm has been proven to be very effective in minimizing load sway to increase speed
and reliability in crane operation.
Keywords:
Overhead Crane, Load Sway, Anti-sway, Kalman Filter, Modbus, Inclination Sensor,
dsPIC33F, ABB ACS800, Arduino, ASM PTAM27, ADIS16029, ST485, Box2D.
10
1. INTRODUCTION
1.1. Background
Nowadays, cranes are very popular equipment in factories. They are part of everyday work
to move heavy objects between production lines. Cranes can be found in metal factories,
car industries, loading and unloading ships, machinery factories….In many cases, the
efficiency of production is decided by how fast load-moving operation is. Therefore, many
factory-owners have been investing money and effort in order to improve the safety,
consistency and velocity of their cranes.
There are many problems associated with improving the operation of cranes .However, the
sway of load carried by crane during movement has always been the most classical and
challenging problem in crane movement. Heavy-load sway can cause serious damage in
property and human injury if accident happens. Without the help of anti-sway solutions,
crane operators need to control crane based solely in feeling, observation and experience.
Workers need to have certain level of expertise and experience to be qualified to control
cranes. Anti-sway solutions can vastly reduce the risk of accidents and improve speed as
well as reliability of crane operation. Workers with basic training can operate crane safely
with the help of anti-sway algorithm.
In this thesis, I will focus on developing and analyzing an innovative solution to counter
sway when operating an industrial overhead or gantry crane. The solution is promised to be
effective and inexpensive in term of implementation, integration and maintenance.
Moreover, since we are developing systems for industrial environment, there is certain level
of robustness we need to fulfill such as: dust, water, electrical noise, wide range of
temperature… These standard requirements are also taken into account when designing the
solution.
In addition, because of the option of replacing the old motor drive with newer one is often
too expensive and complicated to be considered by factory-owner, the proposing anti-sway
11
solution will be convenient and simple to be able to integrate with not only modern cranes
but also legacy crane systems. In fact, the solution is designed as a plug-in system for
existing cranes. By using plug-in design, the solution can support various crane vendors
and can be highly customizable and extendable. At the end of the thesis, some extended
possibilities of the solution will be introduced to readers.
The thesis will mainly focus on developing an inexpensive, effective and convenient
solution for minimize the effect of load sway in industrial crane operation. This project,
apart from promoting academic knowledge gained from my education, has practical impact
to production’s efficiency and safety if it is applied successfully. Manual controlling of the
crane can be replaced with computer-aided system to improve speed and reliability. Target
of the project is to fulfill following requirements:
Phần này là giới thiệu project, cách mà cần trục được sử dụng trong nhà máy,
nơi sản xuất hay các cảng. Mục đích chính của project là thiết kế hệ thống
anti-sway thay vì phải thay thế động cơ (với chi phí cao) nhằm đảm bảo tính an
toàn, hiệu quả và ổn định.
The anti-sway module will act as a plug-in to existing crane system as demonstrated by the
user cases in Figure 2. The module will be integrated with motor drive and remote
controller to listen and modify speed command for the motor via motor drive to reduce the
sway effect during operation.
13
There has been significant research effort on minimizing sway effect of cranes. As a result,
there is wide range of solutions using various mechanical structures, sensor inputs and
controlling methods to address the problem. Popular existing anti-sway solutions will be
examined in this session.
In this type of solution, additional mechanical structure was installed to the crane to
maximize the damping effect of crane’s oscillation.
One example solution is to install a small auxiliary mass to the spreader of the crane in
combination with closed loop system such as controller (GB. Kang et al.., 2003) or gain
scheduling controller (Dong Kyu Kim et al., 2005).
Figure 3. Crane with additional auxiliary mass (GB. Kang et al.., 2003:2).
In above solution, a rather complex auxiliary structure was required to be installed to the
spreader. The installation of the auxiliary mass is not always possible for all types of
hook/spreader. Moreover, spring damping effect is very slowly convergent. As the result,
sway effect is killed off slowly. In Figure 4 and Figure 5, it takes approximately 10 seconds
to stabilize the load. Moreover, he crane can’t be stopped effectively without a long delay
because of slow convergence. Lastly, system parameters depend on load mass and rope
length measurements which are usually vary from operation to operation.
Các cơ cấu cơ khí (ở đây là tải phụ) không phải lúc nào cũng khả thi cho tất
cả các móc/ các gắp xếp dỡ. Trong các nghiên cứu trước đây, giao động
khác phục bằng tải phụ tác động rất chậm (hình 4 và 5 phía dưới trong
nghiên cứu trước đây mất sấp xỉ 10s để ổn định tải). Do đó, cần trục ở các
nghiên cứu trên không thể dừng một cách hiệu quả nếu thiếu thời gian delay
dài vì sự hội tụ chậm (hình 4 và 5). Thêm vào đó, thông số hệ thống phụ
thuộc vào tính toán tải phụ và chiều dài dây rất ít được áp dụng khi thực
hiện từ lần hoạt động này sang lần hoạt động khác.
15
Input Shaping Controllers (Neil Singer et al., 1997) is an example solution that requires no
sensor to minimize swinging effect. This is among most popular methods to control cranes.
However, the system greatly depends on rope length parameter and it is also slowly
convergent.
Ưu: Không cần thêm thiết bị
phần cứng.
PP điều khiển thanh Nhược:
mảnh (input shapping) là - Chậm hội tụ giao động.
pp đk không yêu cầu - Không phù hợp với các hệ
sensor để giảm thiểu giao thống có thông số thay đổi.
động tác động. Một trong Vì bộ điều khiển cần ước
những phương pháp phổ lượng thông số để cho ra
biến nhưng phụ thuộc model hiệu quả. Thông số
vào chiều dài dây và nó dây và tải có thể thay đổi rất
cũng chậm hội tụ (hình lớn và chúng thường không
6). dễ để đo đạc.
Nonlinear controllers: Nonlinear coupling controller (Y. Fang et al., 2003), Second-
order sliding-mode controller (G. Bartonlini et al., 2002), Output-Delayed
Feedback Control (Rajeeb Dey et al., 2010), Fuzzy Controller (Shu-jiang Li et al.,
2005). pp sử dụng
sensor và điều
khiển vòng kín
(closed-loop).
-> vision system:
Camera +
software
= Đắt + ảnh
hưởng bởi môi
trường.
-> cảm biến gia
tốc, cảm biến độ
nghiêng
= Sử dụng điều
khiển phi tuyến,
fuzzy, Second-
order sliding,
Output delay
feedback
Figure 7. Results for the gantry kinetic energy coupling control law (Y. Fang et al.,2003).
18
Figure 8. Result for second-order sliding-mode control (G. Bartonlini et al., 2002).
Điều khiển phi tuyến tốc độ hội tụ cải thiện nhưng vẫn còn một ít giao
động để đạt tới trạng thái hội tụ
19
Điều khiển tuyến tính: PID Chống nhiễu ngoài tốt và thay đổi thông số hệ thống. Tuy nhiên
vẫn có nhược điểm của chậm hôị tụ.
Linear controllers. PID-based is the most popular in this controller category, PID
controller is very robust against external disturbance factors and changes of system
parameters. However, it still has the disadvantage of slow convergence.
Figure 11. Sway angle of the hoisting rope response with PD-type FLC (M.A. Ahmad,
2009).
In this section, popular controlling methods of crane has been briefly described and
analyzed. Major problem of these controlling methods is that they take a long period of
time to achieve the convergence - stable system without sway. Some solutions have been
proven to be expensive, difficult to maintain and not reliable under some conditions (bad
weather, dusty environment …). In addition to those disadvantages, most of previous
solutions depend heavily on system parameters which are not always constant and easy to
measure. Therefore, the target of this thesis project is to address those disadvantages and
propose an inexpensive, maintainable, stable and most importantly, fast convergence.
21
Overhead crane is the type of cranes consists of: parallel runways, crane bridge connecting
runways, hoist for lifting. As a result, overhead cranes can move load in 3 dimensions: up
and down, along the runways and along the bridge. This type of crane is very popular inside
factories due to its multi-directional movement ability.
Figure 12. Crane structure (Baoding Weyou Technology Company, EOT Crane).
22
Gantry crane is very similar to overhead crane. However, it does not have the parallel
runways which restrict the movement in 2 directions: up and down, along the bridge.
Gantry cranes are very popular outside manufacturing factories.
The movement of cranes is enabled by motors. Motors are controlled by motor drive, also
known as motor controller or frequency converter. Motor drive can control speed,
acceleration, torque and various other attributes of a motor.
23
Figure 13. Different types of overhead and gantry crane (U.S. Department of Energy, 2007.
DOE Standard Hoisting and Rigging).
Moving crane with heavy load can be modeled as a pendulum with movable pivot point.
However, the crane still possesses symmetric oscillation properties of the standard
pendulum which we will exploit to solve the swinging problem of the crane.
Chứng minh
khẳng định trên
Figure 15. Symmetric oscillation of pendulum.
The symmetric oscillation property can be demonstrated with following examples (with
reference to above figure):
2.3. Observational frame of reference in crane physics model analysis Hệ quy chiếu vật lý
26
Sử dụng cần cầu trục làm hệ tham chiếu. Chiều dương từ t > p.
Throughout the analysis of crane’s physics model, we will use crane’s hoist as
observational frame of reference. It means that we will observe the swinging phenomenon
of the crane as if we are attached to the crane’s hoist. Moreover, positive direction of
coordinate system will be from left to right.
Figure 16. Observational frame of reference attached to the hoist and positive direction is
from left to right.
The swinging phenomenon is actually the movement of the load in reference to the hoist.
Therefore, the choice of using the hoist as reference coordinate system is logical.
It is worth noticing that: if the hoist is accelerating with acceleration and we are using the
hoist as observational frame, the load will look as if it suffers from a force from our
observational frame of reference (David Morin, 2008: 457 – 500).
Hiện tượng lắc liên quan tới sử di chuyển của hoist (phần di chuyển). Do đó
chọn hoist là hệ tọa độ tham chiếu là logic.
Vì vậy phải chú ý rằng, khi hoist di chuyển với gia tốc vector a và dùng hoist
làm hệ quan sát thì tải sẽ chịu 1 lực từ a là f = -m(a->). Tham khảo David Morin
2008: 457 - 500. Xem hình 17
27
Quy ước
Ramping up period: during this period the motor will accelerate according to
acceleration parameter configured in motor drive.
Constant speed period: after ramping up period, the motor will reach maximum
speed configured in motor drive. The motor will be kept at constant maximum
speed until user decides to stop the movement.
Ramping down period: this is stopping period of the crane. The crane speed
will be decelerated according to deceleration parameter configured in motor
drive.
28
Figure 18. Speed diagram during crane’s movement (taken from ABB ACS800 motor
drive).
At beginning, let’s assume that the load is at its normal equilibrium position as follow:
29
B
B
Suppose that at the end of the ramping-up period (at the beginning of constant speed
period), the load is at C position like in the figure below:
Gỉa sử ban đầu cần trục đang ở điểm cân bằng (không giao động). Trong quá trình
gia tốc (RAMPING UP) (với gia tốc a > 0) vị trí cân bằng thay đổi từ A -> B.
Kết quả là tải
sẽ bắt đầu giao động quanh điểm cân bằng mới là B (với góc tối đa là telta1/0).
30
Suppose that at the end of the constant speed period the load is at F position like the figure
below:
Kết thúc quá trình gia tốc, động cơ sẽ chạy ổn định với a = 0. Tại khi
bắt đầu quá trình này, tải ở điểm C sau đó sẽ quay về điểm cân bằng A. Vì vẫn
còn vẫn tốc từ quá trình ramping-up, khi quay về A thậm chí sẽ giao động mạnh
hơn. Do đó góc dao động quanh 1 góc với biên độ tối đa
là một góc telta 2/0 (độ lớn = góc từ C-A).
31
In the ramping down period (with acceleration ), the equilibrium point is now E in
figure above. The load, at the end of constant speed period is at F with certain velocity. As
a result, during ramping down period, the load is oscillating around E with amplified
maximum angle .
Suppose that at the end of the ramping down period, the load is at G position with certain
velocity like in the figure below:
Trong quá trình giảm tốc (ramping-down), vector gia tốc a < 0, điểm
cân bằng bây giờ là E. Khi kết thúc quá trình constant speed, tải
tại F sẽ có 1 vận tốc cố định. Kết quả là trong quá trình giảm tốc,
tải giao động quanh E với góc tối đa telta 3/0.
32
Khi dừng lại, vị trí con lắc lại trở về A và giao động quanh nó với 1 góc là
telta 4/0. Qúa trình lắc gây ra bởi sử thay đổi vị trí cân bằng. Thêm vào đó,
biên độ dao động phóng đại khi thay đổi trạng thái chuyển động.
In brief, during all periods of crane’s movement, swing happens as the result of changing
equilibrium position. Moreover, swing amplitude is magnified when crane is switching
from one state to another (ramp-up constant speed ramp-down).
2.5. Conclusion
In this chapter, overhead crane as well as gantry crane were introduced and compared with
each other. Both mentioned types of crane are affected by load swinging problem during
operation. In order to analyze swinging problem, physics model of crane is presented based
on a standard pendulum. However, small swing pendulum’s calculations are not applicable
to our crane model because it is not feasible to assume small swing during crane’s
movement. At the end, the analysis of crane motion demonstrates how swing happens and
how swing amplitude is amplified during movement’s process.
Để phân tích bài toán lắc lư, mô hình vật lý của cần trục được trình bày dựa trên
trên một con lắc chuẩn. Tuy nhiên, các tính toán của con lắc xích đu nhỏ không
áp dụng được đối với mô hình cần trục của chúng tôi vì không khả thi nếu giả sử
dao động nhỏ trong quá trình sự chuyển động
33
3. ANTI-SWAY ALGORITHM
The algorithm was developed in order to minimize swing of load for crane movement under
the control of operator.
The speed control commands must be simple so that motor drive can perform
effectively.
The algorithm needs to take into account that crane might be carrying heavy load
that it is not possible to change speed very frequently.
is not guaranteed.
Rope’s length and load’s weight are not available for algorithm because we want
algorithm to be able to perform well with variable load’s weight and rope’s length.
All motor drive’s parameters are available to algorithm to utilize such as: current
measurement of speed, speed settings (such as: step speed, max speed, min speed,
etc), digital IOs, …
Algorithm can send start/stop/set speed command to motor drive.
The inclination (or angle) of the crane’s rope will be made available for no-swing
algorithm by a sensor.
The algorithm will be implemented using microcontroller.
Giao động khi con lăn di chuyển với vận tốc không đổi
34
At normal condition (the trolley has no speed or constant speed), a pendulum will oscillate
around the equilibrium position as following figure due to gravity:
Tại điều kiện bình thường (v=0 hoặc a = 0), con lắc dao động quanh vị
trí cân bằng bởi ngoại lực.
In the situation which the trolley is accelerating with acceleration of , if we are taking the
trolley as observational frame of reference (which basically means we are standing on the
trolley), we will see the load swinging around another equilibrium position( named B in the
figure) as follow:
Con lăn là hệ tọa độ thì con lắc sẽ dao động quanh điểm cân bằng
B như hình dưới.
35
Tại thời điểm bắt đầu gia tốc, a và v = 0, điểm A là điểm thấp nhất
C là cao nhất, đồng thời tại 2 vị trí này thì v = 0 và chúng dao động
quanh B trong quá trình gia tốc.
Dao động là theo sin hoặc cos, do đó thời gian từ 2 điểm biên qua lại với nhau
là bằng nhau.
37
In other words, time taken for travelling from one point to another is independent of
moving direction during symmetric oscillation.
Based on theoretical analysis, following speed control pattern is proposed in order to reduce
swing when ramping up.
Do đó cần có pha v = constant để trong quá trình giảm tốc con lắc đưa về vị trí cân
bằng
39
The first period from 0 to is trivial. The algorithm will send a start command and set
speed to half of target speed in motor drive. Then motor drive will ramp up its motor
according to pre-defined acceleration parameter.
The third period from to is very similar to first period mentioned above. The
algorithm will set speed to full target speed in motor drive. Then motor drive will ramp up
its motor according to pre-defined acceleration parameter.
The critical period is from to , the second period of the whole ramping-up process. In
fact, the algorithm is all about deciding how long this period should be to effectively
prevent oscillation/swing.
From 0 to , the load will oscillate around point B with A and C as positions (maximum
angle positions). (Refer to “3.2.2. Oscillation during trolley acceleration/deceleration”).
Vào thời điểm t1, giả sử con lắc tại vị trí A, lúc này sau t1 với a = 0, v = constant. Con lắc quay
về A sau đó lại quay về D
When the crane reaches target speed ( ), the load will be exactly at point A with zero
velocity.
Tại thời điểm t3 (cuối quá trình constant speed), con lắc sẽ tại vị trí A. Explain is below.
43
(3.1)
v = v0 + at which v0 = 0 at t0 = 0
is duration of period.
is change of speed.
is acceleration.
While oscillating around B, it takes to travel from AD, so DA will take same time
( . Moreover, from to , the load is oscillating around B with A as (maximum
angle). Therefore, at A, velocity will equal zero (At maximum angle, oscillation has no
speed).
At when the load is at A with zero speed, the crane will move with constant target speed.
It means that the load oscillate around A (refer to “3.2.1. Oscillation when trolley has no
acceleration”) with both initial position and speed are zero. As the result, after , all
oscillation is killed.
44
Notes:
At , the position of the load can be like following figure where the load has already
reached C and it is going back towards A.
Figure 34. Load at position point D and going towards A (positive speed).
Then we need to keep the motor running at half of target speed until the load reaches D
position in reversed direction again like following figure:
In short, if at the load is at a particular point D, the motor will be kept running under
constant speed (half of target speed) until the load is at D again in reversed direction ( ).
After that the crane will be accelerated up to target speed ( ). Then, constant target speed
is used for the rest of the movement. At the result of holding period (from to ), the
oscillation will be fully eliminated during constant speed period.
The same principle is applied to ramp down / decelerate crane. After ramping up period
(from 0 to ), all the oscillation is eliminated during constant speed period (from to ).
Therefore, the situation right before is:
47
At , the load is at D with certain velocity . After , motor is kept at constant speed (half
of target speed). As a result, oscillation’s equilibrium position is shifted back to A.
Algorithm will wait until the load returns back to D with same velocity and in reversed
direction as follow:
At t = 0, the algorithm will set motor’s speed reference to and start motor.
If above two formulas are satisfied, the moment is . The algorithm will set speed
reference in motor drive to causing motor to ramp up to full target speed.
The algorithm waits until crane’s operator presses button to stop the crane ( ).
At , the algorithm will set motor’s speed reference to . Motor will ramp
If above two formulas are satisfied, the moment is . The algorithm will set speed
reference in motor drive to 0 causing motor to ramp down to zero speed.
53
3.5. Conclusion
In this chapter, physics model of crane has been introduced and analyzed. Crane’s hoist was
chosen as observational frame of reference. Based on selected frame of reference, a detailed
explanation of swinging phenomenon was presented. In normal crane’s operation, swinging
of crane is amplified during all periods of crane’s movement: ramping up, constant speed
and ramping down. In order to minimize swaying of crane, anti-sway algorithm was
developed and proven using theoretical physics laws. Motor drive’s parameters and
inclination sensor’s values are served as inputs for anti-sway algorithm. In next chapter,
simulation tool will be used to simulate algorithm’s behaviors as well as its effectiveness.
54
4.1. Introduction
After drafting anti-sway algorithm on paper, there is a need to simulate the algorithm in
order to study its behaviors and prove its effectiveness. Some of the most robust physics
frameworks have been evaluated including Bullet Physics Library, ODE (Open Dynamics
Engine), Newton Game Dynamics and Box2D. Finally, Box2D has been chosen as a
simulation framework to examine the performance of the algorithm.
In fact, the Box2D engine is so good that it became de facto standard for 2D graphic games
nowadays. It has been ported to various languages such as .NET, Java, JavaScript, Flash,
etc.
In order to simulate crane’s physics model in Box2D, following Box2D model is used.
55
By using above settings, different periods during crane’s movement can be simulated as
follow:
Ramping up period : a constant positive force is applied to trolley so that the trolley
is accelerated with a constant acceleration
Constant speed period: when the trolley reaches target speed, the trolley is released
from the force and it moves steadily during this period.
Ramping down period: a constant negative force is applied to trolley until it stops.
The Box2D is constructed with parameters defined as in following figure
57
In case of normal operation (without anti-sway algorithm), the results of simulation are as
follow
58
0
0 1.02 2.04 3.06 4.08 5.1 6.12 7.14 8.16 9.18 10.2 11.22 12.24 13.26 14.28 15.3
-1
-2
Time (sec)
-1
Time (sec)
The simulation results with the usage of anti-sway algorithm are as follow
10
0
0 1.02 2.04 3.06 4.08 5.1 6.12 7.14 8.16
-2
Time (sec)
-1
Time (sec)
From above simulation result charts, the effectiveness of anti-sway algorithm has been
clearly displayed. The sway only happens during ramping up and down periods. During
constant speed and fully stop periods, the sway is minimized to almost zero.
4.3. Conclusion
In this chapter, Box2D physics engine is utilized to simulate crane behaviors during normal
operation (without anti-sway algorithm) and enhanced operation (with anti-sway
algorithm). Theories in chapter 2 and 3 have been proven to be correct and effective in
killing load sway during crane movement. With the usage of anti-sway algorithm, the sway
is minimized to almost zero during constant speed and full stop period.
61
Based on theoretical foundation built in previous sections of this paper, the prototype is
planned to test the concept of anti-sway on a real crane. Motor drive is a device used
variable-frequency technique to control the speed of AC motors. The ABB ACS800 motor
drive was selected as the target to test the concept because of its availability. We have a test
rack of ACS800 for testing in the laboratory and a real crane controlled by ACS800 in a
construction material factory which we can borrow during summer vacation period.
In Figure 43, area marked with number 1 is the ABB ACS800 motor drive. Area marked
with number 2 is control board with digital and analog IOs. Lastly, area marked with
number 3 is the motor to be controlled.
ABB Group (www.abb.com) is the largest and most innovative motor drive manufacturer
nowadays. ABB provides customers with scalable motor control in all ranges of
application. ABB drives are bundled with advanced drive technologies and algorithms.
Moreover, ABB drive can be extended with optional module such as RTAC (Pulse Encoder
Interface Module), RMBA (Modbus Adapter Module), RDCO (DDCS Communication
Option Modules)…
The ACS800 Single Drive which belongs to the High Performance Drives group will be
our target of implementation and analysis. The ACS-800 includes Start-up Assistant,
Adaptive Programming and DTC-Direct Torque Control. Moreover, it is equipped with an
optional module RMBA-01(Modbus Adapter Module) which enables the drive control
through Modbus RTU RS-485 protocol.
The ACS800 can be connected to a computer via optical fiber cable, NDPA-02 DDCS/PC
Card and DriveWindow software. All motor and motor drive parameters can be seen in
DriveWindow software. DriveWindow can be used to read, monitor and set value for
parameters. Parameters can be used to completely control all features of motor drive such
as: start, stop, set maximum speeds, current speed, ramp-up time, ramp-down time, read
digital inputs, etc... More details of these parameters can be found in chapter “Actual
signals and parameters” (ABB Group, Firmware Manual ACS800 Standard Control
Program 7.x)
63
Modbus is asynchronous and does not define the physical interface. Popular physical
interfaces for Modbus includes RS-232 and RS-485.
Modbus protocol can be enabled for ACS800 by using ABB’s RMBA-01 (Modbus Adapter
Module). RMBA module only supports Modbus RTU (Remote Terminal Unit) over
galvanically-isolated serial RS-485. Therefore, our discussion of Modbus protocol will
focus on Modbus RTU over RS-485.
65
Most important specification details of RMBA-01 module are listed as follow (User’s
Manual Modbus Adapter Module RMBA-01, 2002:30-31).
Size of the link: 247 stations including repeaters (31 stations and 1 repeater per
segment).
Medium: Shielded, twisted pair RS485 cable.
Termination: built in, active type.
Maximum Bus Length: 1200 m.
Topology: Multi-drop.
Serial communication type: Asynchronous, half duplex.
Transfer rate: 600, 1200, 2400, 4800, 9600, 19200 bit/s.
Protocol: Modbus RTU.
66
Figure 53. RMBA-01 module layout (ABB Group, 2002:14. User’s Manual Modbus
Adapter Module RMBA-01).
67
Figure 54. Modbus Adapter Module installed on ACS800’s control panel (area marked in
red rectangular).
Within the scope of anti-sway application, not all functions of Modbus are used. Only two
following functions of Modbus are used and implemented:
Function number 3: Read Holding Registers. This function is used to read multiple
consecutive parameters from the drive.
Function number 16: Preset Multiple Registers. This function is used to write
multiple consecutive parameters to the drive.
Modbus RTU works only with 2 byte parameters. Therefore, after read holding register
query is sent successfully from Modbus master, the corresponding slave will send back
values of requested parameters using 2 byte format.
68
Register address 16 bits The data address of the first register requested
starts from 40001.
Register count 16 bits The total number of registers requested.
The Modbus master will request slave to change its parameter values by using function
number 16 (Preset multiple registers). Parameter value is represented as 2 bytes per each.
Register address 16 bits The data address of the first register starts
from 40001.
Register count 16 bits The number of registers to write.
Register address 16 bits The data address of the first register starts
from 40001.
Register count 16 bits The number of registers written.
5.4. Conclusion
The ABB ACS800 motor drive is chosen as our first target to verify the concept of anti-
sway on a crane. Moreover, among many others, Modbus was selected as a standard
communication protocol to communicate between anti-sway device and motor drive.
Modbus is a ubiquitous protocol for industrial devices. Thus, anti-sway device has ability to
extend support to other vendors such as: Vacon, Kone, etc.
Among many Modbus’s functions, function number 16 (Preset multiple registers) and
function number 3 (Read Holding Registers) are presented in details. The anti-sway device
will utilize these Modbus functions to communicate with motor drives. Modbus
configuration for ACS800 is also demonstrated in this chapter.
Reset fault.
Above possibilities allow us to implement anti-sway solution for ABB ACS800 motor
drive.
75
6.1. Introduction
In this section, the architecture overview of anti-sway device will be presented. Moreover,
connections between different parts of the system are illustrated. As a result, readers will
have a broad picture of how the final device will look like after going through this chapter.
6.3. Conclusion
The block and connection diagrams have been demonstrated within this chapter. Generally,
for a minimal anti-sway device, three essential hardware parts are required: central MCU,
RS-485 transceiver and inclination sensor. Similarly, three separate software modules are
also required: Modbus driver, anti-sway algorithm and Kalman filter. With the combination
of software and hardware parts, anti-sway prototype device will be built and tested in
coming chapters.
78
7.1. Introduction
This is a very early prototype implementation of the device. The main purpose is to verify
the concept of anti-sway algorithm before developing any further. The microcontroller will
be the central processing unit which contains the anti-sway algorithm and communicate
with motor drive via Modbus and acquiring measurement data from inclination sensor. We
started with an Arduino Duemilanove board which is very inexpensive, fast and easy to
build the prototype.
Microcontroller ATmega168
Operating Voltage 5V
Input Voltage
7-12V
(recommended)
Input Voltage (limits) 6-20V
Arduino board is also shipped with standard IDE (Integrated Development Environment)
based on Wiring (http://wiring.org.co/). Arduino developer can write AVR code in a
C/C++-derived language called Wiring. Therefore, the algorithm code which was used in
Box2D simulation environment can be quickly ported to Arduino.
80
The selected inclination sensor for this first generation prototype is ASM PTAM27-1-180-
U6-CW-T0.1-KAB2M produced by ASM - Automation, Sensors, and Measurement GmbH
(http://www.asm-sensor.com/). The sensor provides linear analog output, wear free, high
resolution, small delay and high shock resistance capabilities.
Figure 59. PTAM27 inclination sensor (ASM GmbH, 2012. PTAM27 Universal MEMS
Inclination Sensor with Analog Output).
According to the specification, this is one of the best inclination analog sensors available at
present. More details of ASM PTAM27 sensor can be found in “PTAM27 Universal
MEMS Inclination Sensor with Analog Output” (ASM GmbH, 2012).
7.4.1. Introduction
With the usage of inclination sensor, it is required to have Kalman filter to address noisy
measurements. The noisy data is fed to Kalman filter and less noisy data is returned by
Kalman algorithm.
Our process can be considered similar as sloshing in which the measurement is oscillating
in form of sin wave. This is a non linear process which normally requires using extended
Kalman filter to model the process correctly. However, in this prototype, we can avoid the
complexity and slowness of extended Kalman filter in embedded system by relaxing
original Kalman model.
Predict
(7.1)
(7.2)
Update
(7.3)
(7.4)
(7.5)
Where
.
83
A simple 2–D Kalman filter is implemented to correct noisy angle measurement from
inclination sensor. Our relaxed model is built as follow (constant-velocity particle model):
Where
is angular velocity ( ).
With and
We assumed that noise only caused by the swinging motion (angular velocity noise).
Therefore, the continuous process variant matrix can be represented as:
q = 0.8.
. (Sampling rate).
The testing results of the Kalman filter are displayed in following graphs.
85
Figure 62. Kalman filter update takes 192 microseconds with floating point arithmetic.
87
Figure 63.Kalman filter update takes 88 microseconds with Q16 fixed point arithmetic.
As the result, we can see a big improvement in performance of Kalman filter. Time taken
with Q16 fixed point algorithm was reduced to less than 43% of floating point algorithm
time.
Pin description
Button 2 is used to switch on initial communication establishment with the drive. After
turning button 1 to ON (switch to the right) for 5 seconds, the motor should be at the
READY_TO_GO state. Currently, only right switch of this button is connected.
Button 1 is used to START/STOP the motor. Right switch is used to start the motor. On the
other hand, motor stops if the left switch is ON.
R1, R2, R3 and R4 are pull-up resistors for buttons. Typical value for pull-up resister is 10
KOhm.
90
ST485 chip is used to convert RS485 signal from Modbus RTU of motor drive to UART of
Arduino.
R5 is used to reduce the current flowing in the sensor by connecting it in parallel with the
sensor. The maximum current of ASM PTAM27-1-180-U6-CW-T0.1-KAB2M is only 20
mA, while the output current of the Arduino is 40mA.
After the board is set-up and tested against the ACS800 test rack, the board is taken to the
factory to test with real ACS800 crane. Inclination sensor is mounted to crane’s wire rope
91
and connected to our Arduino board. Then, our Arduino board is connected to ACS800 via
Modbus cable. Although we only managed to borrow the crane and arrange testing session
in four days, the final results show really promising result of the described anti-sway
algorithm. The board was able to start, stop and modify crane’s speed properly. Moreover,
the anti-sway algorithm has been able to reduce swinging significantly.
During testing session, some videos have been captured to demonstrate the effectiveness of
anti-sway algorithm.
In the video, the crane was carrying a very heavy hook which weights around 1 ton. The
anti-sway board was kept on the ground for debugging purposes. Therefore, the crane can
only move maximum approximately 20 meter distance because of the connection between
the anti-sway board and the inclination sensor.
In the first video where the operator is performing the crane movement normally, the
oscillation matches really well with our theory in 2.4. The oscillation always happens and it
is amplified during crane’s movement. At destination position, the crane swings heavily.
In the second video where the operator is performing the same crane movement via buttons
on anti-sway board, the oscillation does not exist during crane movement. The hook travels
smoothly when the crane reaches maximum speed. At destination, the crane stops quietly
with almost no sway. There was very small sway caused by the rotation of the hook around
its gravity center.
7.8. Conclusion
The anti-sway prototype board’s hardware is introduced in this chapter. A Kalman filter
was also implemented to minimize noise from inclination sensor’s measurement. Moreover,
92
testing results of anti-sway prototype board with real crane are described to prove the
efficiency of anti-sway algorithm. The algorithm implementation was capable of
minimizing dramatically the sway of crane during its movement.
Using TTL analog sensor in factory results in much noise because of electrostatic
generated from metals.
Using TTL analog sensor with long distance cable also results in much noise.
Using TTL analog sensor can be slow as the micro-controller needs to perform
DAC (digital-to-analog converter).
Overall, the analog sensor will be replaced by a new sensor in next prototype because it is
the most important hardware for anti-sway algorithm.
Summarily, by using a relatively inexpensive and available hardware, the first generation
anti-sway prototype has been built and proven to be effective in cancelling crane’s sway.
93
8.1. Introduction
The second generation design of the device is created based on testing results of the first
generation anti-sway prototype. The second generation prototype will be very similar to
final production product. The design improvements will include:
Figure 67. dsPIC33F Performance vs. Price chart (Microchip Technology, 2005. dsPIC®
Digital Signal Controllers the Best of Both Worlds).
Both tested MCUs have shown great flexibilities and computational capacities. Especially,
by using programmable pin feature, the same software can run in both mentioned MCU
without any changes.
ADIS16209 from Analog Devices is high accuracy, dual-axis digital inclinometer and
accelerometer. The sensor operates on 3.3 V and communicates with MCU via SPI (Serial
Peripheral Interface Bus).
97
Figure 70. ADIS16209 pin configuration (Analog Devices, ADIS16209 data sheet).
The sensor is working based on request/response mechanism. The MCU sends read/write
requests to the sensor via SPI protocol and sensor will perform actions based on original
requests. For full list of possible request registers, please refer to table User Register Map
in “Analog Devices, ADIS16209 Data Sheet”.
12.04 STEP REF 3 [rpm] For example: 1500. This speed is enabled if DI3
and DI4 are high.
12.05 STEP REF 3 [rpm] For example: 2000. This speed is enabled if DI3,
DI4 and DI5 are high.
For first generation board, the crane is started and stopped using buttons on the board
directly. However, for production usage, the remote pendant must be the device to start and
stop crane. Therefore, the remote pendant integration module must be implemented.
The board was successfully validated against the ACS800 test rack. In this prototype board,
Microstick II which is integrated development hardware platform for Microchip’s 16-bit
and 32-bit microcontrollers was used to develop software on the MCU. Modbus, remote
pendant integration and SPI drivers are successfully implemented on dsPIC33F platform.
All anti-sway requirements are strongly fulfilled by the design.
A short introduction of final production board will be given in this section of this thesis.
The final production board is highly similar in design with second generation prototype.
Improved features of production boards include:
ADM2582E from Analog Devices, Inc is selected as our new RS-485 Transceiver.
The signal and power of RS-485 signal is isolated. Therefore, better transmission of
Modbus is guaranteed.
Ethernet support. Ethernet communication will be supported for future features.
Microchip TCP/IP stack (Microchip Technology Inc, The Microchip TCP/IP Stack)
has been successfully customized and flashed to production board. The board can
act as standard HTTP server, FTP server or TCP/IP client, etc.
Better power module to provide protection against power outage.
Instead of using imprecise internal oscillator of dsPIC33F, crystal oscillator is used
as clock source for better accuracy.
The sensor is attached directly to the board. As the result, whole board will be
attached to the static part of the crane’s rope.
Figure 76. Final anti-sway production board (with Ethernet and 2 Modbus ports).
104
Figure 77. Final anti-sway production board (without Ethernet and only one Modbus port).
In this chapter, the second generation and production anti-sway devices were designed
using dsPIC33F from Microchip Technology as MCU. The dsPIC33F family is more
computationally powerful and gives developers greater control over functionalities of the
MCU. The inclination sensor, the most important component of anti-sway board, is also
switched to digital ADIS16209 inclination sensor which provides much more
functionalities and robustness. Moreover, software module for integrating with crane’s
remote pendant is implemented. In addition to second generation board design, the final
production board functionalities and improvements were briefly introduced.
105
Following graphs were captured when operating crane with and without anti-sway device:
In this thesis, the swinging nature of overhead cranes has been discussed in depth in order
to come up with an effective anti-sway solution. Physics model of overhead crane has been
built in order to simulate swinging behavior in physics engine. Box2D framework was
selected as physics engine to study swinging phenomenon during crane’s movement. Based
on the research and simulation of crane model, a novel crane anti-sway solution was
proposed. The solution combines both hardware and software to solve swinging problem.
Apart from being able to effectively reduce sway, the proposed solution also satisfies
following additional requirements:
The anti-sway solution has been successfully built and tested in simulated environment as
well as real industrial environment. Two prototype designs have been built and tested
during the project before producing production board.
Moreover, thanks to the multi-purpose sensor, anti-sway device can perform many
advanced features:
108
In short, the limit of the board is up to our imagination. With TCP/IP and multi-purpose
sensor support, the anti-sway device is able to perform many operations that can greatly
enhance the safety and effectiveness of crane operations.
Currently, the board only supports anti-sway functionality for indoor cranes and cranes that
suffers from constant wind. For future work, we will continue to perform research with
outdoor cranes.
109
REFERENCE
Randall D. Knight (2012). Physics for Scientists and Engineers: A Strategic Approach with
Modern Physics, 3/E. Pearson Education, Inc. ISBN-10: 0321844351.
M.A. Ahmad (2009). Sway Reduction on Gantry Crane System using Delayed Feedback
Signal and PD-type Fuzzy Logic Controller: A Comparative Assessment. Proceedings
of World Academy of Science, Engineering And Technology Volume 38 February
2009. ISSN: 2070-3740.
W. Wang, J. Yi, D. Zhao and D. Liu (2004). Design of a stable sliding-mode controller for
a class of second-order underactuated systems. IEE Proceedings - Control Theory
and Applications.
K. S. Hong, B. J. Park, and M. H. Lee (2000). Two stage control for container cranes.
JSME International Journal, Series C, vol. 43.
110
Kim, Y.S., Yoshihara, H., Fujioka, N., Kasahara, H., Shim, H. and Sul, S.K (2003). A new
vision-sensorless anti-sway control system for container cranes. Industry
Applications Conference, Vol. 1.
Neil Singer, William Singhose and Eric Kriikku(1997) . An Input Shaping Controller
Enabling Cranes to Move without Sway. American Nuclear Society 7th Topical
Meeting on Robotics and Remote Systems.
Ki-Ru Park and Dong-Soo Kwon (2010). Swing-Free Control of Mobile Harbor Crane
with Accelerometer Feedback. International Conference on Control, Automation and
Systems 2010.
Rajeeb Dey, Nishant Sinha, Priyanka Chaubey, S. Ghosh and G. Ray (2010). Active Sway
Control of a Single Pendulum Gantry Crane System using Output-Delayed Feedback
Control Technique. 2010 11th Int. Conf. Control, Automation, Robotics and Vision.
Hideki Kawai, Young Bok Kim and Yong Woon Choi (2009). Anti-sway system with image
sensor for container cranes. Journal of Mechanical Science and Technology 23.
Shu-jiang Li, zhi-yuan Xu, Hai Wu, Shao-hua Hu and Jin-xue Xu(2005). Intelligent anti-
swing control for horizontal moving process of bridge crane. International
Conference on Control and Automation.
111
Dong Kyu Kim, Young Bok Kim, Ji Seong Jang and Guisheng Zhai (2005). Gain-
Scheduling Approach to Mass Damper Type Anti-Sway System Design. Proceedings
of the 16th IFAC World Congress, 2005.
GB. Kang, Y.B. Kim, S.B.An, G.H. Chae and J.H. Yang (2003). A New Approach to Anti-
Sway System Design for a Container Crane. SICE Annual Conference.
Dah-Jing Jwo (2007). Remarks on the Kalman filtering simulation and verification. Applied
Mathematics and Computation 186 (2007).
Baoding Weyou Technology Company. EOT Crane [online]. Accessed 18 August 2013,
<http://www.weyou.co/info2/info25.html>.
Greg Welch and Gary Bishop (2006). An Introduction to the Kalman Filter.
Ramsey Faragher (2012). Understanding the Basis of the Kalman Filter Via a Simple and
Intuitive Derivation. IEEE Signal Processing Magazine.
ABB Group. ABB industrial drives ACS800, single drives, 0.75 to 6000 hp.
ABB Group (2009). ACS800 Firmware Manual ACS800 Standard Control Program 7.x.
ASM GmbH. PTAM27 Universal MEMS Inclination Sensor with Analog Output.
Analog Devices, Inc . High Accuracy, Dual-Axis Digital Inclinometer and Accelerometer
ADIS16209 Rev.C.
Nilesh Rajbharti, Microchip Technology Inc (2008). The Microchip TCP/IP Stack.
Martin Bowman Microchip Technology Inc (2007). Using the C30 Compiler and the I2C™
Peripheral to Interface Serial EEPROMs with dsPIC33F.
Arduino project. Arduino Language Reference [online]. Accessed 18 August 2013, <
http://arduino.cc/en/Reference/HomePage>.
Microchip Technology Inc (2009). Section 23. Serial Peripheral Interface (SPI).