|
Høgskolen i Oslo:
SO303E Kybernetikk 2 (høst-08) Prosjektoppgave: Dynamisk posisjonering av skip ("DP")(Dette dokumentet inneholder for det meste engelsk tekst. Det bør ikke skape noen problemer.) What this project is aboutIn this project you will design and simulate a simplified DP system. The system includes a Kalman Filter for estimation of one of the environmental forces acting on the vessel. This estimate is used for feedforward control. It is assumed that the project takes about 15 hours of work (2 days). SoftwareThe simulation exercises in this course are based on Matlab/Simulink. However, LabVIEW/Simulation Module the compendium used in this course describes implementation with LabVIEW/Simulation Module. You can decide whether you want to use Matlab/Simulink or LabVIEW/Simulation Module in the implementation. If you use Matlab/Simulink, you should make a Matlab script in which you define model parameters, configure the simulation, and finally runs the simulation (using the sim-command). Do not use numerical values directly in the blocks because it makes your simulator more complicated to use when there are parameter changes. Here is an example of using a Matlab script for Simulink simulations:
If you use LabVIEW/Simulation Module, you must spend some time on
learning to use Simulation Module by working through sections 1, 2, 3, 4,
and 5.1 in the tutorial
Introduction
to Technical information about DPDynamic 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. 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 ship-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(Kongsberg Maritime has approved using the information presented in this document for teaching purposes.) Nonlinear modelBelow 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):
Figure 4: Wind speeds It is assumed that position measurement signal contains noise (in every practical system there is measurement noise). The noise is assumed to be uniformly distributed random signal which is added to the (pure) position. The noise has zero mean and standard deviation 0.1 m. Local linear modelThe 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 be able to calculate the gain K from the above two differential equations...) TasksWe define the initial operating point of the system as where all variables have zero values. The simulation time step can be set to 1 second. (If you use LabVIEW/Simulation Module, you may run the simulator 100 times faster than real time.) Tip: Use the engineering units consistently, for example Newton (N) as force unit in all parameters where this applies. I also recommend that you use SI units, i.e. kg and not ton as mass unit. 1. Implementing a ship simulator in Simulink Implement a simulator of the ship 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. Also, include position measurement noise in the simulator. Check that the simulator shows a correct response, for example by comparing simulated velocity and manually calculated velocity under static conditions (you shall define these conditions yourself). Why is important to do such a check? 2. PID positional control
3. Applying your DP system
4. Feedforward control based on wind measurement In the subsequent tasks the PID settings from Task 3a or 3b can be used - whichever you prefer. 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 force, which in turn is calculated from assumed known values of wind speed and direction. Then repeat the experiment described in Task 3a. Is the control system performing better? 5. Estimation of water current speed using Kalman Filter Implement in your simulator a Kalman Filter for estimation of water current speed based on the following assumptions:
Check that the Kalman Filter produces a correct estimate of the water current in steady-state! 6. Using feedforward from estimated water current speed Implement feedforward from estimated water current speed (in addition to feedforward from wind). Does this improve the performance of the DP? (You can apply some variations of the water current speed, and see if the positional control error is less with this water current feedforward compared to not using this feedforward.) Final note Since the ship state variables, which are the speed and position, are estimated with the Kalman Filter, it is tempting to try LQ optimal control. (In LQ control there is feedback from all the state variables.) In real DP systems produced by Kongsberg Maritime, MPC (Model-based Predictive Control) is used to control the chip in certain ranges about the positional reference (and PID control is used in other ranges). MPC is actually very similar to LQ in may respects. Unfortunately, the amount of time allocated to this project does not allow implementation of LQ optimal control. Oppdatert 5.11.08 av Finn Haugen. E-post: finn@techteach.no. |