You are on page 1of 22

Active Pendulation Control

System

Department of Naval Architecture and


Marine Engineering

Glasgow, 1st February 2008


Ship-To-Ship Cargo Transfer

In order to accommodate various possible crane


configurations, we have developed a generic tool for
design of APC systems.
Project Definition
• Deliverable 1 : Numerical model of Cable Dynamics.

• Deliverable 2: Numerical Model of the Crane Motion.

• Deliverable 3 : Numerical Model of the Ship Motion.

• Deliverable 4 : A Tool to allow Modelling of Crane


Configurations.

• Deliverable 5 : Numerical Modelling of the Control


System.

• Deliverable 6 : Interactive Animation of Crane.


Deliverable 1 : Numerical Model of
Crane Dynamics
Status : Delivered the following numerical model of a
2DOF (spherical) pendulum.

phidotdot = -(m*thetadot*l^2*sin(2*theta)*phidot
+2*m*ldot*l*sin^2(theta)*phidot
-m*l*sin(theta)*sin(phi)*sxdotdot
+m*l*sin(theta)*cos(phi)*sydotdot
+k*phi
+ dampingCoeffPhi*phidot)
/(m*l^2*sin^2(theta)+r)
Deliverable 1 : Continued …
thetadotdot = (-1.*cos(theta)*cos(phi)*sxdotdot
-cos(theta)*sin(phi)*sydotdot
-sin(theta)*szdotdot-g*sin(theta)
-2*thetadot*ldot
+l*sin(theta)*phidot^2*cos(theta)
-dampingCoeffTheta*thetadot)/l

This model tells us how the cable moves if we know


the motion of the boom-tip.

The coefficients dampingCoeffTheta and


dampingCoeffPhi are to be determined
experimentally from the actual design. Current
values have been assumed by tuning the motion in
resonance until they match with experience.
Deliverable 2: Numerical model of the
Crane Motion.
• The crane is modelled as a 3D kinematic
chain.
• The crane is is composed of a set of links
connected together by various joints.

Kinematic configuration of the crane


is represented by the Denavit-
Hartenberg notation.
Respecting the Diversity in
Cranekind: And Yet Have One
Mathematical Model to Rule them All
The Denavit Hartenberg Convention

Each link coordinate frame is


specified by 4 numbers. Only one
of them is variable.
This scheme is popular in
description of mechanical linkages
and robotic manipulators.
Coordinate Transforms For Crane
Motion
Each link defines a coordinate system. The
transform from one link coordinate frame to
the next is given by the matrix:

The transformation on the boom tip is the product of all


transformation matrices along the kinematic chain leading
from the earth coordinate system through the ship and the
crane coordinate systems.
Motion of the Crane
The boom tip acceleration and velocity is computed by
numerically evaluating the analytical derivatives of the
chained matrix product. So there is no error introduced
due to numerical differentiation.
Each controlled joint coordinate is assumed to have a
second order linear dynamics.
mq + cq + kq = Actuator Force/Torque

Where:
Actuator Force/Torque = User applied force/torque+
Feedback force/torque.
m, c and k are constants for a given joint, q is the joint
variable.
Boom Tip Acceleration
N N m −1 p −1 N
Tip_accn= ( ∑∑ (1 − δ mn )(∏ Ai ) A m ( ∏ Ai )A p ( ∏ Ai )
m =1 p =1 i =1 i = m +1 i = p +1

 xb 
N m −1 N y 
+∑ (∏ Ai ) A m ∏ i
 ( A ) )  b

m =1 i =1 i = m +1  zb 
 
1  xb 
N m −1 N y 
Tip_vel= ( ∑ (∏ Ai ) A m ( ∏ Ai ) )  b 
m =1 i =1 i = m +1  zb 
 
1
Ai, Am etc. are the transformation matrices shown in slide 9.
(xb,yb,zb) are the coordinates of the boom tip in the coordinate
frame of the innermost link
Deliverable 3: Numerical Model of the
Ship Motion
The ship’s kinematics is implemented by reusing the
same DH notation. The roll is just another revolute
joint, the heave is just another prismatic joint and
so on. The ship motion contributes to the boom tip
motion by the method given in slide 10.

The ship’s dynamics is implemented in 4 ways.

5. RAO on the wave height.


6. An external sea-keeping program (called Proteus)
7. Direct kinematic specification of spectrum. This is
quite useful for determining the frequency
response of the controller.
8. Any user specified function or time series.
Deliverable 4: A CAD Tool to Allow
Modelling of Crane Configurations
The Kinematic configuration is currently specified using the
Denavit-Hartenberg parameters.
So one way to model the parameters of the crane is to specify
the DH table in the initialising script:

defLink prismatic heaveComp roll {n3} 0 90 29 0 10 50;


defLink revolute slew heaveComp {} 0 180 0 -90 -240 60;
defLink revolute luff slew {crane_base} 1 -90 0 45 10 70;
defLink revolute hoistComp luff {boom} 40.58 0 0 -135 -165 -105;

The crane designer needs to understand the DH notation. Plenty of literature


is available e.g. the following or just google denavit-hartenberg:
www.cs.dartmouth.edu/~donaldclass/Bio/current/Papers/chap3-forward-
kinematics.pdf
Tool for Designing the Crane
Configuration
If the user is uncomfortable with DH parameters, there is another
method entering the Kinematic configuration.
• Draw the joint axes in Autocad as coloured lines (red for revolute,
blue for prismatic).
• Export the DH parameters by running our Autocad lisp script.
The dynamic parameters (damping coefficient, inertia etc.) can be
stated in the initialisation script.

The 3D graphic for the crane can be optionally added.

Any number of cranes can be simulated in the same model just in


case that makes sense.
Deliverable 5: Numerical Modelling of
the Control System
Control is implemented by a feedback term that is computed
based on the current state of the cable, crane and the
ship.
Three control laws have been built into the simulation tool.
More can be added by the user.
The built in control laws are:

5. OutOfPlaneFeedback
6. VerticalDeviationFeedback
7. MotionCompensationFeedback

Control laws can be added or retracted from links on the fly.


Parameters (P,I and D gains) can be tuned on the fly.
Specifying Feedback Control
Predefined feedback control laws are added using the following scripts.
set fb2 [new_VerticalDeviationFeedback payload hoistComp];
FeedbackControl_kP_set $fb2 0.0
FeedbackControl_kI_set $fb2 0.0
FeedbackControl_kD_set $fb2 0.0

set fb3 [new_VerticalDeviationFeedback payload luff];


FeedbackControl_kP_set $fb3 0.0
FeedbackControl_kI_set $fb3 0.0
FeedbackControl_kD_set $fb3 0.0

set fb4 [new_MotionCompensationFeedback heave heaveComp];


FeedbackControl_kP_set $fb4 -1.0
FeedbackControl_kI_set $fb4 0.0
FeedbackControl_kD_set $fb4 0.0
New Control Laws can be implemented in C++ by sub-
classing from a library class FeedbackControl and
overriding one method.
Deliverable 6: Interactive Animation
Animation of results have been implemented at three
levels:
• Very realistic but non-interactive animation. This
approach uses ray tracing, and takes several hours
to produce the animation of a few seconds.

• Quite realistic interactive animation. This approach


uses modern GPU capabilities, eventually it can
incorporate or be included inside the simulation tool
(once OpenGL 2 becomes more common).

• Not-so-realistic interactive animation with full control


and simulation. Uses OpenGL 1 and texture mapping,
supported on most graphics cards.
Animation Level 1

Carried out at the Polish branch of S@S Ltd.


Animation Level 2
Animation Level 3
Typical Swing Reduction
Case: A boom crane with 40.58 m boom length
excited with purely resonant roll.

30

20

10

0
0 20 40 60 80 100 120 140
-10

-20

-30

Resonance oscillation amplitude was reduced from


25 degrees to under 4 degrees using the active
pendulation controller.
Possible Future Directions
• Applying the APCS design tool to the
crane that RR would design.

• Formal guarantee of stability – feedback


linearization to apply frequency domain
methods, Lyapunov criterion.

• Automatic design and tuning of


controller, possibly using optimisation
methods.

• An experimental model testing facility.

You might also like