Control System
Dynamic positioning (DP) controller input.
The dynamic positioning system will only control the motions in the horizontal plane (surge, sway and yaw).
All dynamic positioning options are limited to one DP system for each body.
Maximum number of thrusters per body is 20.
1. Waypoint Guidance
When using waypoints as a reference to the DP system, you can choose between Straight lines and circular arcs
and Line of Sight. Option 1 use the turning radius to define a circular arc as the transition between the current waypoint and the next. Maximum rate of turn = velocity/turning radius. Option 2 LOS, a Line of Sight vector us computed from the vessel to the next way point or a point on the path between two waypoints. See Marinte Control Systems (T. I. Fossen) for a detailed description.
2. Thrusters
The thrusters are the numerical modelling of physical thrusters. It is a dynamic system that takes a desired thrust (and direction for azimuth thrusters) as input and generates a force as output. This force is applied to the body the thruster is installed on.
The thruster does not know where the command comes from or from which type of controller it comes from. The thruster does not know about other thrusters present in the system.
In the 4.0 formulation, the desired thrust is realized instantaneously if the two following conditions are fulfilled 

The desired thrust does not exceed the maximum thrust of the thruster. If it does, the thrust is the maximum thrust.

The increase of thrust between the desired thrust and the current thrust does not exceed the maximum thrust rate (defined by the variable Min Time Change). If it does, the thrust is the largest thrust allowed by the maximum thrust rate.

The increase of thrust between the desired thrust and the current thrust is larger than the variable relative dead band. If not, the thrust is not changed.
For azimuth thrusters, the desired direction is realized if the two following conditions are fulfilled  
The increase of azimuth angle between the desired angle and the current angle does not exceed the maximum angle rate (defined by the variable Max revolving speed)

The increase of thrust between the desired thrust and the current thrust is larger than the variable relative dead band
In the 4.1 formulation, the desired thrust is realized dynamically, meaning that the propeller is modelled as a dynamic system with a moment of inertia, a hydrodynamic resistance torque and a servomotor that controls the electrical torque. The dynamic response of the thruster to a desired thrust is more realistic than the 4.0 formulation. The azimuth angle is controlled by a simple servomotor. The theory manual of SIMO describes the models in more details.
3. The DP control system
The DP control system is an algorithm that takes as main input a desired position of the vessel (there is therefore only one DP controller per controlled vessel). The desired position can be a function of time (if a vessel has to follow another vessel for example).
The DP control system has other additional inputs that help controlling the vessel position :

Wind velocity

Drag coefficients of the vessel

Tension line measurement
The output of the DP control system is a desired thrust and a desired direction for each thruster controlled by the DP control system.
The DP control system has actually two main components  the controller, and the allocation algorithm.
3.1. DP controller
The DP controller takes as input the desired position of the vessel. The output is the total desired force to be applied to the vessel.
Since the thruster cannot react fast enough to counteract the vessel motion induced by waves, the error in position should be computed by using the lowfrequency part of the vessel motion. This is the purpose of the estimator/filter in the DP controller, such as the Kalman filter.
Once the lowfrequency part of the vessel motion is identified, the error in position can be computed and multiplied by the gains of the controller to compute the desired force (and moments) that should be applied to the vessel.
The DP controller is exactly the same in the formulations 4.0 and 4.1.
3.2. DP allocation
The DP allocation algorithm takes as input the desired force and moments computed by the DP controller. The output is a thrust and a direction for each controlled thruster.
In the formulation 4.0 the DP allocation algorithm has access to the characteristics values of the thruster model, which is ideal. In reality, the DP allocation algorithm uses inputs that can in principle be different from the thrusters installed on the vessel. The formulation 4.1 allows the user to define those inputs. This is the only difference between the two formulations.
4. Modelling a DP system in SIMA  how to start?
4.1. Thrusters
The user should first focus on modeling the thruster with the correct characteristics. In order to ease the tuning of the DP system, the maximum thrust of each thruster can be set equal to a very high (and unrealistic value), so that the thruster’s thrust will not be limited in practice. Once the DP system is tuned, the maximum thrust of each thruster can be set equal to their real value.
4.2. DP control system
In SIMA, the DP control system has three different tabs. The tabs positioning and allocation are well documented and easy to complete. In the following, we will focus on how to choose the values of the variables in the Filtering and control tab, which is independent of the chosen formulation, and which corresponds to the DP controller part described above. The list below refers to the Figure 1.
The first part is the control configuration. We need to define the gains of the controller. The DP system can be seen as a massspringdamping system. A high proportional gain corresponds to a high stiffness. A high derivative gain corresponds to a high damping. Instead of giving the gains directly, the user needs to provide the mass of the corresponding massspringdamping, its natural period and its critical damping. The corresponding gains are computed automatically. Note that the integration gains are not needed here  the biases are estimated by the Kalman filter.

1  An estimation of the mass in each degree of freedom should be given here. For surge and sway, use the mass, plus the added mass at zero frequency. For yaw, use the inertia moment in yaw, plus the added mass in yaw at zero frequency.

2  The order of magnitude of natural period is 180s. One can increase the natural period to reduce the stiffness of the system. In case of an anchored vessel, note that if the natural period is near the natural period of the anchor system, the DP system will excite the anchor system. In such cases, line tension measurement might be necessary (see point 10).

3  This is the critical damping. 0.7 is a good value to start with.

4  If the DP system is just used to damp the motion, those boxes can be chosen. The DP system will try to damp the motion, but will disregard any position error.

5  Proportional gain is computed automatically.

6  Derivative gain is computed automatically.

7  Indicates if the DP controller is informed about the wind velocity. If it does, the DP controller will react faster to windinduced motion. It uses a feed forward from measured wind force – i.e. calculated wind force using wind coefficients.

8  Specify the cutoff frequency of the lowpass filter for wind velocity measurement.

9  Choose Kalman filter to start with.
The second part is Filter details where the user defines the properties of the Kalman filter.

10  If no anchor system is present, choose none. If anchor system is present, it can be useful to choose the option Stiffness matrix for anchor system and to fill the values of the matrix that appears (which represent the stiffness of the anchor system).

11  Estimator flag for evaluation of current force. (See Theory Manual). Start with Force option.

12  This is the shortest period of the wave used for the wavefrequency motion estimation. Use the value of the period for which the wave spectrum starts to have some energy.

13  Drag coefficients of the vessel. For surge and sway, use the current coefficients. For yaw, a method is to estimate the yaw drag moment coefficients from the length of the ship and the sway current coefficient, assuming that each strip of the vessel has the same drag coefficient (quadratic damping).

14  This field has a default value. It can be changed by right clicking and choose set to editable. The default value is in most cases good enough.

15  This is the cutoff period for the Kalman filter, i.e. the period that defines what is the wavefrequency (WF) part and what is the lowfrequency (LF) part of the motion. The WF is ignored from the DP system while the LF is controlled in order to match the desired position. Start with values that are as low as possible but still away from the frequency containing energy in the wave spectrum. The cutoff period should be lower than the natural period of the DP system, but longer than wave induced motion. In the example below, 250s in surge might be too close to the natural period of the DP controller (which is 300s). Let’s say that the wave spectrum has a Tp=16s, one could have started by using a cutoff frequency of 50s. Generally, lower cut off gives more thruster use, but does not necessarily improve the standard deviation of the motion.

16  Filter damping factor  0.7 is a good value to start with.

17  Lowfrequency integral gain. For Force bias estimation (see point 11), the default values are:

LF_surge_integralgain=0.00001*mass_surge [N/m] (where the mass is in [kg])

LF_sway_integralgain=0.00001*mass_sway [N/m] (where the mass is in [kg])

LF_yaw_integralgain=0.00005*mass_yaw [N.m.s] (where the mass is in [kg.m^2])

For Current bias estimation (see point 11), the default values are:

LF_surge_integralgain=0.0025 [1/s]

LF_sway_integralgain=0.0025 [1/s]

LF_yaw_integralgain=0.00005*mass_yaw [N.m.s] (as for the force estimation)

With a lot of changing weather the bias estimates must be faster. After doing a 3 hour simulation it can be useful to plot the bias estimate and see if it has reached a stable value. If it has, the reached value can be used as bias initialization (see points 1921) as a start value. Do the simulation again. Now look at the variations. If it fluctuates too much, the gain is too high.


18  Proportional highfrequency gain. The default value in SIMA is 0.1. This is the update of the HF part and it is used to estimate the frequency of the wave induced motion. 0.1 is a time constant of 10s. With short waves (let say Tp=8s) it might be too low. One can then use 0.2 (which then corresponds to a time constant of 5s).

19  Initial bias force in surge. Use 0 to start with.

20  Initial bias force in sway. Use 0 to start with.

21  Initial bias moment in yaw. Use 0 to start with.