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

Each link defines a coordinate system. The transform from one link coordinate frame to the next is given by the matrix:

Coordinate Transforms For Crane Motion

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 =
Where:

Actuator Force/Torque

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
Tip_accn=

  ( ∑∑ (1 − δ mn )(∏ Ai ) Am ( ∏ Ai )Ap ( ∏ Ai )
m =1 p =1 i =1 i = m +1 i = p +1 N

N

N

m −1

p −1

N

+∑

m =1

 xb  y  m −1 N  (∏ Ai ) Am ( ∏ Ai ) )  b   zb  i =1 i = m +1   1

Tip_vel=

( ∑

N

m =1

 xb  y  m −1 N  (∏ Ai ) Am ( ∏ Ai ) )  b   zb  i =1 i = m +1   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. 6. 7. 8. RAO on the wave height. An external sea-keeping program (called Proteus) Direct kinematic specification of spectrum. This is quite useful for determining the frequency response of the controller. 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 defLink revolute slew heaveComp {} 0 defLink revolute luff slew {crane_base} 1 defLink revolute hoistComp luff {boom} 40.58 90 180 -90 0 29 0 0 -90 0 45 0 -135 10 50; -240 60; 10 70; -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-forwardkinematics.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. 6. 7. OutOfPlaneFeedback VerticalDeviationFeedback 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 subclassing 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 1 0 0 -1 0 -20 -30 0 20 40 60 80 1 00 1 20 1 40

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.

Master your semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master your semester with Scribd & The New York Times

Cancel anytime.