Høgskolen i Buskerud: Emne EMAR2101 Reguleringssystemer 1

Prosjektoppgave:

Simuleringsprosjekt: Dynamisk posisjonering av skip ("DP")

(Dette dokumentet inneholder noe engelsk tekst og noe norsk tekst. Det bør ikke skape noen problemer.)

Praktiske opplysninger

I emnet inngår et obligatorisk individuelt prosjekt der du skal utvikle og bruke en simulator av et reguleringssystem i Simulink. Hver student skal skrive en kortfattet rapport og demonstrere simulatoren overfor lærer FH. Se undervisningsplanen for detaljer. Prosjektet vurderes med bestått eller ikke bestått. Det er nødvendig å bestå prosjektet for å få adgang til eksamen.

Prosjektoppgaven skal utføres individuelt, men dere oppfordres allikevel til å samarbeide. Dvs. at dere kan diskutere løsninger og lære av hverandre, men sluttproduktet skal være ditt eget. Du skal altså selv lage simulatoren, selv utføre "eksperimentene", og selv skrive rapporten.

Technical information about DP

Dynamic positioning means position control of ships using thrusters and propellers as actuators to keep the ship at a reference position relative to the seafloor or relative to another ship or platform. DP is a crucial technology in sea operations.

Kongsberg Maritime (KM) is one of the world's leading producers of DP systems. KM has approved using the information presented in this document for teaching purposes.

The following links available from KM's home page give information about DP (you should browse the information):

Figure 1 shows the main components of a DP system. In this project we will apply ordinary feedback PID control + feedforward control in the controller part of Figure 1, which is the SDP frame in the figure. (In real implementation the controller consists of a state-estimator in the form of a Kalman-filter algorithm which is based on a mathematical model of ship. The controller uses state estimates of ship position, ship speed, and water current speed to produce the control signals to the thrusters. As a part of the more comprehensive controller there is actually a PID controller.)

 

Figure 1. (Source: Kongsberg Maritime)

Figure 2 shows a ship with definitions of the vessel-fixed coordinates surge, sway and yaw.

Figur 2. (Source: Kongsberg Maritime)

Figure 3 shows the relation between the earth-fixed coordinate system and the ship-fixed coordinate system. (However, this information will not be used in this project.)

Figure 3

Mathematical model

Nonlinear model

Below is a simplified mathematical model of a ship based on force balance (Newton's 2. Law) and torque balance. The model is based on force balances along the surge axis and the sway axis, and torque balance about the yaw axis (rotation). (The nomenclature is according to Kongsberg Maritme.)

M is mass. I is inertia. D is damping coefficient. u, v, and r are ship velocities (speed variables). uc and vc are water current velocities. X and Y are forces. N is torque. The first vector at the right side of the equality sign are hydrodynamic forces or torque. The model does not contain any of the ship positions as variables. But the relation between position and velocitie is of course that the time-derivative of position is velocities. In particular, the relation between surge position and speed is

dx/dt = u

and similar for sway and yaw positions and velocities.

Although not needed in the tasks in this project, the coordinate transformations from ship-fixed velocities to earth-fixed velocities are presented here:

For simplicity, this project considers only surge movement, assuming there is no movement in the other directions.

The following information applies for a given ship (in the traditional "DP" terminology the unit "ton" represents a force of 1kN, but in this project tons represents 1000 kg, as normal):

  • Mx = 71164 tons
  • Dx = -8.4 kN/(m/s)2.
  • Ship length is Lpp = 233 m. Width is 42 m. Depth is 10 m. (However, these parameters are not needed in this project.)
  • uc typically varies in the range 0 - 3 m/s.
  • The longitudal thruster force XThrust (which is the actuator force) has a limit of 552 kN forwards and 467 kN backwards.
  • Longitudal wind force (in the surge direction) is

    XWind = Vw2[cWx1 cos(fi) + cWx2 cos(3*fi)]

    where Vw is the wind speed relative to the ship. fi is wind angle relative to the ship. If the wind comes from the front (of the ship) fi = 180 degrees. cWx1 = 0.1838 and cWx2 = -0.0068 are so-called first and second order wind coefficients. One example: With Vw = 20 m/s and fi = 180 deg, we have XWind = -70.8 kN (you should verify this example with your own calculations).
    Figure 4 shows the definitions of the different wind speeds.

Figure 4: Wind speeds

Local linear model

The process (ship) model presented above is non-linear due to the nonlinear terms desribing the hydrodynamic force. In one of the tasks given below, you will tune a PID controller using Skogestad's method which assumes a linear process model in the form of a transfer function. (However, you should still use the nonlinear model in the simulator.) Therefore the model must be linearized about some operating point to find a transfer function. As the operating point we select the "zero operating point" given as follows: Zero water current, zero wind speed, zero thruster force, zero ship position, and zero speed. The ship has less hydrodynamic damping in this operating point compared to other operating points due to the quadratic term of the hydrodynamic damping force in the model. It can be shown that the mathemical model about this operating point is simply

dx/dt = u

Mxdu/dt = XThrust

From this linear model we can get the follwing ship transfer function from thruster force to ship position:

x(s)/XThrust(s) = H(s) = K/s2

which is a double integrator. (You should calculate the gain K from the above two differential equations.)

Tasks

You should define parameters and run the simulator using a Matlab script, cf. the Simulink course.

We define the initial operating point of the system as where all variables have zero values.

You can set the simulation time-step equal to 1 second.

Tip: Use the engineering units consistently, for example Newton (N) as force unit.

1. Implementing a ship simulator in Simulink

Implement a simulator of the ship in Simulink containing the model of the movements along the surge axis (i.e. the first of the three differential equations in the simplified model given above), including the wind model. Remember to implement the limitations of the thurster force.

Check that the simulator shows a correct response, for example by comparing simulated velocity and manually calculated velocity under static conditions (you can define these conditions yourself). Why is important to do such a check?

2. PID positional control

  1. Add a PID positional control system to the ship simulator. As PID controller you can use the PID With Approximate Derivative function in Simulink. The control variable is XThrust. (In Task 4 below you will enhance the control system with a a feedforward control action from an assumed wind measurement.
     
  2. Tune the PID controller using Skogestad's method with the specification that the control system gets an approximate time constant (response time) TC equal to 2 minutes. However, TC should be adjustable (in the Matlab script). Skogestad's tuning rules for a double-integrator is not described in the text-book Praktisk reguleringsteknikk, but you find the information in skogestad.pdf.

    Note that Skogestad's formulas assumes a serial PID controller (PI controller in series with a PD controller), while the PID controller in Simulink implements a parallel PID controller (P + I + D). Information about how to transform from serial PID settings to parallell PID settings is given in skogestad.pdf. In the PID With Approximate Derivative function you must select a proper "Divisor" parameter, N, which is the inverse of the filter time-constant, Tf. A rule of thumb for Tf is Tf = 0.1*Td.

    Check that the controller works as expected, looking at the time-constant TC (63% rise-time) in the position after a small step change of the position reference. Is the stability of the control system satisfactory?

3. Applying your DP system

  1. Apply strong environmental forces on the ship as follows. A wind gust backwards (in negative surge direction) from calm to hurricane (just above violent storm), and (simultaneously) a constant water current backwards of 3 m/s. What is the maximum position control error? What is the steady-state position control error? What is the maximum applied thurster force during this operation? Is the maximum available thurster force reached?
     

  2. Repeat Task 3a, but try to make the DP system more stable, so that there is no overshoot in the position response, by increasing the derivative term of the controller. (In general, the D-term can be used to increase the stability of a control system.)

4. Feedforward control

In the subsequent tasks the PID settings from Task 3a or 3b can be used - whichever you prefer.

  1. Assume that the wind speed and direction are measured so that their values are known at any time. Expand the DP system by including a feedforward control from known wind speed and direction. Then repeat the experiment described in Task 3a. Is the control system performing better?
     

  2. Assume that also the water current is measured. Expand the DP system further by including also feedforward control from known (measured) water current. Then repeat the experiment described in Task 3a. Is the control system performing even better? (In practial DP systems the water current is not measured directly, but estimed with a state-estimator in the form of the Kalman-filter algorithm.)


[Emnets hjemmeside]


Oppdatert 12.10 2008 av Finn Haugen. E-post: finn.haugen@hibu.no