161
Views
0
CrossRef citations to date
0
Altmetric
Research Article

Quay-to-quay mission with autonomous docking: a model-scale experimental validation

ORCID Icon, , &
Received 15 Jan 2024, Accepted 13 May 2024, Published online: 23 May 2024

Abstract

Transport of cargo by short-sea shipping is at the forefront of the European Union's transportation policy. It has the promise to alleviate congested land transport and decrease pollution [European Commission. Citation2021. Putting European transport on track for the future]. However, the shortage of qualified personnel might impede this solution. Autonomous sailing of ships could help, especially if the whole trip is automated. In this study a control system is designed that is capable of sailing a round-trip with a model-scale feeder vessel in Marin's Seakeeping and Manoeuvring Basin. The Guidance-Navigation-Control framework is used to sail this journey with attention given to smooth switching between the operational modes. A set of experiments is conducted to validate the controller and identify crucial parts in the operation. The experiments showed that the controlled vessel can sail a round-trip with different levels of waves and wind disturbances coming from different directions. Furthermore, the round-trip can be modified such that the approach angle to the quay changes and the ship still successfully docks at the quay. It was found that the approach to the quay is most difficult during transition from high to low speed, when the bow thrusters have yet to become effective, and a large change in course is needed. This can be circumvented by changing the trajectory to the quay to have a longer straight approach, or it can be corrected when the bow thrusters become active.

1. Introduction

The maximum number of containers carried by deep sea container ships increases steadily over time. At the time of writing this number almost reaches 25 000 teu. As a result, smaller ports, for example in the Mediterranean Sea, cannot harbour these ships. Transport over land, if possible, is often congested. Smaller feeder vessels, with a capacity below 3000 teu and an average capacity between 300 and 1000 teu, can distribute the cargo from deep sea container vessels to these smaller ports. However, this solution is impeded by the shortage of qualified personnel. In this situation, autonomous sailing of feeder vessels to these smaller ports would help. To provide a real advantage, the whole trip should be automated. Improving the short sea shipping services was a subject of the eu-h2020 Moses project where autonomous sailing between ports is one of the tasks (De Juan et al. Citation2022).

The aim of this work is to design a control system capable of sailing from one quay to the next, including the (un)docking phase, with an 1:17 model-scale feeder vessel in Marin's Seakeeping and Manoeuvring Basin (smb). Experiments are done to validate the control system and to identify crucial parts in the operation. The solution is tailored to a 71 m long feeder vessel previously designed in the project. A picture of the feeder vessel in the smb is shown in Figure . Due to space limitations in the smb, the departure and arrival quay are the same. The term round-trip is therefore used.

Figure 1. 1:17 scale model of the container feeder vessel in Marin's Seakeeping and Manoeuvring Basin. Ducted fans to generate wind disturbances are encircled.

Figure 1. 1:17 scale model of the container feeder vessel in Marin's Seakeeping and Manoeuvring Basin. Ducted fans to generate wind disturbances are encircled.

The round-trip is divided into several phases. The first split is made into ‘undock’, ‘transit’ and ‘dock’ (Walmsness et al. Citation2023). During the undock phase, the vessel leaves the quay slowly and, once at a safe position from the quay, it switches to the transit phase. The ship transits to the other harbour by tracking a set of waypoints. When it reaches the harbour, the vessel has to dock at the quay. This part of the operation is again divided into an ‘approach’ phase, partially executed under-actuated and partially executed fully-actuated, and a dock phase (Okazaki and Ohtsu Citation2008; Ahmed and Hasegawa Citation2015). The change from under-actuated to fully-actuated is introduced because the bow tunnel thrusters become available at low speed. The operational phases have to be combined to sail the full mission. The commands to the actuators should not alter discontinuously at these switches, as argued in Alessandri et al. (Citation2019); Walmsness et al. (Citation2023). The experiments are performed with the assumption that there is no manoeuvring needed in the port, although such an operational state could be added. Furthermore, there are no other ships or unknown obstacles included.

The vessels dynamic behaviour, the efficiency of the actuators, as well as the requirements, all change depending on the phases of the mission. Therefore, the control strategy changes depending on which phase the operation is in. For each of the phases, the Guidance-Navigation-Control (gnc) framework is used (Shneydor Citation1998). In this scheme, the guidance provides setpoints to the vehicle controller such that the route of the vessel coincides with that of a (moving) target, and hence the vessel can track the desired route. In the transit phase, the system is under-actuated and a Line-of-Sight (los) guidance law (Breivik Citation2010; Lekkas and Fossen Citation2012) is used to provide a speed and a heading setpoint to the autopilot (Neuffer and Owens Citation1992; Fossen TI Citation2021). At low speeds, such as in the (un)docking phase, all degrees of freedom can be controlled independently, and the guidance can directly provide the setpoints to the vehicle controller. This closely relates to a dp system (Sørensen Citation2011).

Approaching the quay is the most difficult part in the operation, as the speed and the course change simultaneously. The approach phase for commercial ships has received much attention over the last decades. One method is to treat it as an Optimal Control Problem (ocp) for which the trajectory and the actuator settings are calculated at the start of the approach phase (Djouani and Hamam Citation1995; Ohtsu et al. Citation1996; Okazaki and Ohtsu Citation2008; Miyauchi et al. Citation2022), or repeatedly at each sample time (Mizuno et al. Citation2015; Martinsen et al. Citation2019; Bitar et al. Citation2020; Li et al. Citation2020). Another method is to learn the control based on the actions of a real captain, or to deduce it from a model (Hasegawa and Kitera Citation1993; Ahmed and Hasegawa Citation2015; Im and Nguyen Citation2018; Shuai et al. Citation2019; Mizuno and Koide Citation2023). In these methods the guidance and the control are combined. In order to better show the personnel what is happening, as done with a manoeuvring assistant in Schubert et al. (Citation2019), the vehicle control and the guidance can be separated. The gnc framework for the approach phase is also found in Piao et al. (Citation2019); Schubert et al. (Citation2019); Sawada et al. (Citation2021). Literature reviews on the automatic docking problem are provided by Qiang et al. (Citation2022),Lexau et al. (Citation2023),Zhang et al. (Citation2023). As indicated before, the approach employed in this work is the gnc framework. It allows a clear separation of functions, and it allows to modularly change a single component while retaining the other components.

The contribution of this work lies in a set of experiments where the vessel sails a full trip from one quay to the next. Similar results are not found in the above-cited references. Our experiments systematically test the control approach designed for a model-scale vessel for different disturbances. The disturbances levels tested are such that the real disturbances do not exceed these with 30%, 50% and 70% probability at the port of Mykonos.

A further contribution is the gnc framework for the approach phase which combines a Bézier trajectory with a Constant Bearing (cb) guidance law. This provides continuous setpoints and derivatives thereof to the vehicle controller, such that this controller can be designed as a linear controller. This work consolidates work previously presented in de Kruif (Citation2022a), de Kruif (Citation2022b), de Kruif (Citation2023), de Kruif (Citation2024), Daalen et al. (Citation2023), de Kruif et al. Citation2023).

This article starts with a description of the operation that we want to execute and a decomposition thereof in Section 2. The switching mechanism employed will also be treated in this section. The controllers use a dynamical model of the feeder vessel. The vessel and its dynamic behaviour are treated in Section 3. In this section a detailed simulation model is introduced, from which simplified control models are deduced, used to design the controllers with. Section 4 treats the guidance and the vehicle controller of each phase. The allocation algorithm that relates the force required from the vehicle controller to the active thrusters also needs to switch depending on the phase of the operation. The allocation algorithm is treated in Section 4. In Section 5, we present the experimental set-up and the results. Section 6 presents the conclusions.

2. Quay-to-quay mission

2.1. Description of phases

Figure  shows the mission considered. The corresponding state diagram, indicating which guidance, control and allocation algorithms are active is shown in Figure . The following operational states are distinguished:

Figure 2. Decomposition of a simple quay-to-quay mission where the departure quay and the arrival quay are the same. The dots in the transit phase denote the waypoints. The vessel is shifted between the dock and undock phase for visual clarification.

Figure 2. Decomposition of a simple quay-to-quay mission where the departure quay and the arrival quay are the same. The dots in the transit phase denote the waypoints. The vessel is shifted between the dock and undock phase for visual clarification.

Figure 3. Mission state diagram. Each state has its own guidance (G), controller (C) and allocator (A), which are treated in more detail in Section 4. The approach phase is split in an under-actuated (UA) part and a fully-actuated (FA) part.

Figure 3. Mission state diagram. Each state has its own guidance (G), controller (C) and allocator (A), which are treated in more detail in Section 4. The approach phase is split in an under-actuated (UA) part and a fully-actuated (FA) part.

  1. docked: The vessel is docked at the quay. A pose just behind the quay is provided as setpoint to the controller. The vessel will continuously push against the fenders to try to reach this pose. Three independent Proportional-Derivative (pd) controllers are used to control each degree of freedom. The vessel will start undocking on the user's mark.

  2. undock: The vessel moves away from the quay and orientates itself such that its heading points towards the first waypoint. The distance from the dock is provided by the user. All motions are slow, which again allows for three independent pd controllers. After a specified time when the pose is reached, the transit phase is initiated.

  3. transit: The vessel sails a track pre-defined by a set of waypoints at cruising speed. A los guidance law is used to convert the track between the waypoints to a velocity and a heading setpoint. An autopilot is designed to sail this track with only the stern azimuthing thrusters. Once the last waypoint is passed, the approach phase is started.

  4. approach: In the approach phase, the vessel decelerates from cruising speed to a stand-still at a pre-defined safe pose close to the quay. The vessel must follow a smooth trajectory connecting these poses. The first part of the approach phase is done in the under-actuated mode. When the speed drops below u= 0.5 m/s, the bow tunnel thrusters become available and the pose can be forwarded directly to three independent pd controllers. When the approach trajectory is completed, the docking phase is initiated.

  5. docking: In this final phase, the fully-actuated vessel slowly moves sideways from the safe pose to the quay.

The ‘idle’ phase in Figure is not so much an operational phase, but a convenience way to start the experiments. Nothing is done: it allows us to inspect if everything is working as intended.

2.2. Mission execution

Now that the mission has been reduced to a sequence of phases, the state machine can execute the mission. Each phase has a specific control strategy or ‘controller’ and a specific allocation strategy or ‘allocator’. Depending on the vessel state and pre-defined conditions, the state machine switches to the next phase. To avoid jumps in the switching, information is passed on to the next controller and a smooth switching scheme has been employed that is further treated in Section 4.4.

3. Ship motion model

The main particulars of the full-scale vessel are given in Table . The vessel has two stern azimuthing thrusters for main propulsion and two bow tunnel thrusters for assistance at low speed manoeuvring. A dynamic model is used to design our controllers. Not only the feedback controller is based on these models, but the a-priory knowledge is also used to create a feedforward controller with.

Table 1. Main particulars of container feeder vessel.

3.1. Detailed simulation model

A detailed simulation model is available to construct the simplified dynamic models. The model is assumed to be given and is treated in more detail in Daalen et al. (Citation2023). The elements included are

  • Hydrostatic forces, calculated from the 3D hull shape. These forces are linearised around the hydrostatic equilibrium since we operate at small roll and pitch angles.

  • Hydrodynamic forces: calm water resistance and manoeuvring forces. These are first calculated by means of cfd computations, and then approximated by a set of resistance and manoeuvring coefficients for time-domain simulations.

  • Wave radiation forces, included as frequency-dependent-added mass and damping coefficients.

  • Wave excitation forces, calculated by linear diffraction theory. Both first-and second-order wave forces are included.

  • Four-quadrant propeller characteristics for the stern and bow thrusters are used to calculate the thrust and torque generated from the rpm.

The equations of motion are solved for all six coupled degrees of freedom.

3.2. Simplified control models

Three different controllers are used, as shown in Figure . Control models that describe the dominant dynamics are used to design these controllers. The independent pd controllers assume that the speed is low and all degrees of freedom are uncoupled. The autopilot and the cascade controller assume that the heading and the speed are decoupled. As long as both variables change sufficiently slow and are individually controlled tightly enough, the interaction is limited. A relation between course and heading is also determined in order to sail a course over ground with a heading controller.

3.2.1. Zero-speed control model

At near-zero speed, the dominant dynamics can be described by a moving mass. The transfer function for a moving mass relating force to position is given as x/F=1/(ms2), where s indicates the Laplace variable and m can be one of the total masses mx,my or Iz as given in Table . The values of these masses are part of the detailed simulation model and are directly used. The force has to be applied at the cog to avoid coupling between the degrees-of-freedom.

3.2.2. Forward speed control model

The manoeuvring model for forward speed, with the hydrodynamic cross-coupling removed, is given as: (1) mxu˙=mxvr+Xu|u|u|u|+Fx,(1) where mx is the total body mass, Xu|u| the quadratic surge damping coefficient fitted to the cfd data, and u, v, r are the velocities in surge, sway and yaw direction. Fx denotes the surge force and is applied in line with the cog. The parameter values are given in Table .

Table 2. Parameter values identified for the three parts of the control model.

3.2.3. Rate-of-turn/heading control model

The vessel is course unstable as shown in Figure : After the turning circle the rate-of-turn does not return to zero, and the amplitude of a 10-10 zig-zag keeps increasing. This behaviour is described by a first order Nomoto model (Neuffer and Owens Citation1992): (2) r˙=KT(α+βr2)r+KTFy.(2) Here, the rudder angle has been replaced by the sway force Fy, applied at the location of the azimuthing thrusters. In this equation r denotes the rate-of-turn, and α<0,β>0,K/T>0 are parameters to be determined. The values of α,β are found by fitting them on a Bech's reverse spiral, while the value of K/T is found by the step response around the Fy=0 equilibrium.

Figure 4. The path of the feeder vessel for a turning circle and 10-10 zig-zag test.

Figure 4. The path of the feeder vessel for a turning circle and 10-10 zig-zag test.

The linearised transfer function of (Equation2) at r = 0 is calculated as follows: (3) rFy=K/Ts+αK/TψFy=K/Ts(s+αK/T).(3) where ψ denotes the heading. The pole corresponding to the linearised system is given in Table  and the positive sign shows the unstable behaviour of the system at this operating point. The location of the pole changes to the left-half plane if we linearise around an increased rate-of-turn.

3.2.4. Course control model

The relation between the course and the heading is based on Yu et al. (Citation2008): (4) χ˙=aχ+aψ+(1+b)ψ˙+cψ¨,(4) in which χ denotes the course, and a, b, c are parameters. In Yu et al. (Citation2008) the parameter c is not present. However, if a lateral force is applied, the vessel will move to the side first, and only when it has rotated, then the surge speed will change the course to the other direction. At lower speeds, this effect is significant. This non-minimum phase behaviour is caught if c0, and is illustrated in Figure .

Figure 5. The course χ and rate-of-turn r with fixed surge speed u = 0.5 m/s and a step of rsp=0.1 deg/s on the reference rate-of-turn.

The course and rate-of-turn with fixed surge speed and a step on the rate-of-turn setpoint.
Figure 5. The course χ and rate-of-turn r with fixed surge speed u = 0.5 m/s and a step of rsp=0.1 deg/s on the reference rate-of-turn.

The parameters values were identified in a closed-loop simulation in which the rate-of-turn was controlled. The rate-of-turn setpoint was changed stepwise. By means of a least-squares fit the relation between the drift angle and rate-of-turn in (Equation4) was calculated. The values are given in Table . The transfer function is: (5) χψ=cs2+(1+b)s+as+a=(τz1s+1)(τz2s+1)τps+1,(5) in which we have used the knowledge that the transfer from heading to course is equal to one when sailing straight. The zero z2 is in the right-half plane and it approaches the imaginary axis for low speed. This zero limits the bandwidth of a course controller.

4. Guidance – navigation – control

Figure  shows the gnc framework. The state is measured directly, which makes the navigation trivial; therefore, it is not discussed further. As already indicated in the introduction, the guidance provides setpoints to the vehicle controller such that the route of the vessel coincides with that of a moving target. The aim of the controller is to alter the actuators such that the vessel state coincides with the required state. The mission state diagram in Figure shows the guidance, controller and allocator for each operational state.

Figure 6. The guidance– navigation– control framework.

Figure 6. The guidance– navigation– control framework.

4.1. Guidance

4.1.1. Trajectory or constant pose

If the vessel is fully-actuated, then guidance is not really needed, and the output of the trajectory or of a constant pose can be directly provided to the vehicle controller. The smooth transition mechanism, elaborated upon in Section 4.4, will take care that the convergence to this constant pose or trajectory goes smoothly. The poses before and after docking are manually provided at a safe distance from the dock.

4.1.2. Line-of-sight with waypoints

In the transit phase, the route of the vessel is provided by a set of manually entered waypoints. Each waypoint consists of an x, y-position and a required surge speed. The path is defined as straight segment between two consecutive waypoints. The required heading is calculated by means of a los guidance law (Fossen TI Citation2021), as illustrated in Figure . The heading setpoint is calculated as follows: (6) ψsp=arctan2(xte,Δ)+ψs,(6) in which ψs is the angle of the segment in a North-East-Down coordinate system. xte and Δ are the cross-track-error and look-ahead distance, respectively. The surge speed setpoint is copied from the previous waypoint. If the vessel comes within an Euclidean distance R of the next waypoint, or passes the line that intersects two successive segments, then the next segment is selected.

Figure 7. The los guidance law calculates the heading setpoint ψsp based on the cross-track error (xte) and the look-ahead distance Δ. The next segment is started if the ship passes the dotted line, or is within an Euclidean distance R of the next waypoint.

Figure 7. The los guidance law calculates the heading setpoint ψsp based on the cross-track error (xte) and the look-ahead distance Δ. The next segment is started if the ship passes the dotted line, or is within an Euclidean distance R of the next waypoint.

4.1.3. Constant bearing with a trajectory

The under-actuated approach phase makes use of a constant bearing guidance law, in combination with a trajectory that brings the vessel from its cruising speed to a safe pose close to the quay. When the bow thrusters become effective, the same trajectory is used, but the cb guidance law is no longer used, as the pose required can be directly provided to the vehicle controller. The cb guidance law is used because it also uses the target speed and hence has enough information to track the target without error.

Trajectory an optimal trajectory to a dock can be determined as an ocp (Djouani and Hamam Citation1995; Ohtsu et al. Citation1996; Miyauchi et al. Citation2022). However, solving an ocp can be computationally demanding and might be difficult in real-time applications. In Sawada et al. (Citation2021),de Kruif (Citation2022a), it has been shown that Bézier curves can be used to generate smooth trajectories and their corresponding time derivatives to approach the dock. The computational time to construct the trajectory, including minimisation of the maximum rate-of-turn, mentioned in the Appendix 1, takes less than 0.1 s with Scipy on an Intel i7 1.90 GHz cpu. The acceleration and rate-of-turn values are limited when the trajectory is not too challenging, such as a single turn on an ‘S’-shaped curve. If the ship arrives parallel to the quay and should turn around, then the control points of the Bézier curve are collinear and not in increasing order, see Figure . This results in a a ‘cusp’ node with infinite acceleration which cannot be tracked. An ocp approach would be able to handle such a situation. The approach phase is initiated at a distance of about 10 ship lengths. This distance is found to be a good distance to start the approach phase: A larger distance would have the vessel sail straight to this distance, after which the same trajectory results. If a shorter distance would be used, the total duration of the operation would take longer, or it would even become infeasible to dock (de Kruif Citation2022a). From the current pose a fifth-order Bézier curve is constructed, ending at the manually entered pose close to the dock. We refer to Appendix 1 for the symbols used and the selection of the control points. A Bézier curve is a path in space only, and is dependent on its path variable h. A relation between the path variable and time makes the path a time-dependent trajectory. If we relate the path variable to time as h=tu010l0(2tu010l0), where t denotes time and u0 the initial speed, then we will decrease the speed from u0 to zero. An example trajectory is shown in Figure . The trajectory provides us with a target position pt=[pt,x,pt,y]T and target velocity vt=[vt,x,vt,y]T in Earth-fixed coordinates.

Figure 8. Generated Bézier trajectory. (a) shows the path, while (b) resp. (c) show the velocities and accelerations for surge resp. yaw.

Figure 8. Generated Bézier trajectory. (a) shows the path, while (b) resp. (c) show the velocities and accelerations for surge resp. yaw.

Constant bearing guidance law

A cb guidance law is used to provide a setpoint to the vehicle controller such that the vessel will converge to the target, i.e. the current point of the trajectory, as shown in Figure . The setpoint velocity vector, vsp=[vsp,x,vsp,y]T to the vehicle controller is given as (Breivik Citation2010): (7) vsp=vt+va=vt+γp~||p~||withp~=ptp.(7)

Figure 9. The Constant Bearing guidance law. The target has velocity vt. The setpoint to the vessel, vsp is an addition of the target velocity and an addition va.

Figure 9. The Constant Bearing guidance law. The target has velocity vt. The setpoint to the vessel, vsp is an addition of the target velocity and an addition va.

In this equation, the velocity setpoint is composed of the target velocity vt and an added velocity va which steers the vessel to the current position of the target. The speed and course setpoints to the vehicle controller, usp and χsp, are obtained from: (8) usp=||vsp||2,χsp=arctan2(vsp,y,vsp,x).(8) The value γ results from the distance between the target position and the actual vessel position: (9) γ=Umaxp~Tp~/(p~Tp~+Γ2).(9) The parameter Umax is the maximum speed at which our vessel is moving towards the target point, and Γ is the distance at which Umax is halved.

4.2. Vehicle control

The vehicle controllers calculate the forces that are needed to control the vessel. These are mapped to the actuators by the allocation algorithm, treated in §4.3.

4.2.1. 3 × PD controller

Independent pd controllers are used for each of the three degrees of freedom. These controllers are used for low speeds when the bow thrusters are active, and where the system behaves as a moving mass as treated in section 3.2.1. The control forces are calculated at the cog. The gains are calculated by pole placement, as shown in Appendix C.1. An integral term has been implemented to counteract low-frequency drift, but was set to zero in the experiments as this drift was not found to be an issue.

4.2.2. Autopilot

The autopilot used is divided into a speed controller and a heading controller. The speed controller is designed as a pi controller by means of pole placement and calculates the longitudinall force. The poles of the heading controller are placed such that it mimics a second order system. The heading controller calculates the lateral force at the location of the stern azimuthing thrusters. We refer to Appendix C.2 for the equations for the gains.

4.2.3. Approaching controller

The controller for the under-actuated approach phase is designed as a cascade controller, as shown in Figure . This approach is used so that the non-linearities and the unstable pole of the inner-loop can be addressed first. The resulting inner-loop then becomes stable, which allows for a simple outer-loop design. A single loop compensator with an unstable zero and pole would otherwise lead to a high sensitivity peak (Skogestad and Postlethwaite Citation2007). The gains and calculations are given in C.3. Note that the time-derivatives r˙sp and ψ˙sp are not calculated by numerical derivation, as implied by Figure . These signals can be derived from the known course setpoints, see Appendix C.3. The lateral force Fy is applied at the location of the azimuthing thrusters. Before it is provided to the allocation algorithm it is mapped to the cog.

Figure 10. Control setup for the course control. The controller for the rate-of-turn Cr contains a feedback (fb) and feedforward (ff) part. The inner-loop is depicted in the grey box. The rate-of-turn setpoint is provided by the controller of the outer-loop Cψ. The required heading is calculated in the block χψ. The ‘s’ blocks denote time differentiation. The subscripts ‘mv’ and ‘sp’ are used for measured value and setpoint, respectively.

Figure 10. Control setup for the course control. The controller for the rate-of-turn Cr contains a feedback (fb) and feedforward (ff) part. The inner-loop is depicted in the grey box. The rate-of-turn setpoint is provided by the controller of the outer-loop Cψ. The required heading is calculated in the block χ→ψ. The ‘s’ blocks denote time differentiation. The subscripts ‘mv’ and ‘sp’ are used for measured value and setpoint, respectively.

In the previous work, a course controller was used (de Kruif Citation2023). However, the fluctuations in course are much larger than the fluctuations in heading due to the waves, therefore, the experiments were conducted with a heading controller. This implies that the direction in which to move, the course χ, has to be converted to a heading ψ. This conversion is done based on the identified relation from a detailed numerical model of the vessel (Equation5). In this equation τz2 is associated with a zero in the right-half plane. If it would be inverted, then the heading setpoint would grow unboundedly. Therefore, only the stable part is inverted, see C.3.

4.3. Allocation

The feeder vessel is equipped with two stern azimuthing thrusters and two bow tunnel thrusters. The thruster properties are presented in Table . A quadratic relation between rpm and the thrust is determined, based on captive model tests.

Table 3. Azimuthing and bow thruster parameters.

For the azimuthing thrusters, setpoints for rpm and azimuth angle can be specified. For the bow tunnel thrusters, a setpoint for rpm can be specified. The allocation algorithm distributes the required surge and sway forces and the yaw moment over the available thrusters. Bow tunnel thrusters become less effective with increasing forward speed. The mission execution accounts for this, by activating the bow tunnel thrusters only at speeds below 0.5 m/s. Above this threshold only the stern azimuthing thrusters are used. This requires a switch in the allocation from forces to actuator settings. A similar swich is found in Rethfeldt et al. (Citation2021), albeit with pump-jets. The allocation problem is defined as an optimisation problem, where the minimum of an objective function is sought while respecting constraints. The objective function is defined as the sum of the powers Pi of all active thrusters Ti: (10) J=iPi=iciTi3/2.(10) where the thrust-to-power coefficient ci is found from the maximum thrust and power. The active thrusters must provide the required surge and sway forces and yaw moment: (11) iTicosδi=Fx,iTisinδi=Fy,iTi(rx,icosδiry,isinδi)=Mz.(11) where (rx,i,ry,i) is the thruster position with respect to the vessel's center of gravity, δi its angle, and Fx,Fy, and Mz the force in longitudinal, the force in lateral direction and moment around the vertical axis respectively. Extra inequality constraints express saturation (maximum thrust) and forbidden zones as specified in Table .

4.4. Smooth state transitions

When the operational states are combined to shape the whole operation, switching the gnc elements should not introduce excessive transients. Figure  depicts our approach to get continuous signals when switching. It is related to the approach in Alessandri et al. (Citation2019) which avoids bumps by setting the new setpoint equal to the last measured value. However, starting with an error of zero does not guarantee a continuous control signal without the use of an offset to the output Δu. In Walmsness et al. (Citation2023), the internal (integrator) state is used to guarantee this continuity. The scheme proposed in Figure does not need to know internal signals to achieve continuity.

Figure 11. Scheme used to smoothly transition between controllers. The signals Δsp and Δu vanish in time, make the control signal continuous.

Figure 11. Scheme used to smoothly transition between controllers. The signals Δsp and Δu vanish in time, make the control signal continuous.

Let Figure illustrate the controller that just became active. It receives an external setpoint (sp) and measured value (mv). The signal Δsp is added to the setpoint that goes to zero in a fixed amount of time Te. This signal is chosen such that the error to the controller starts at zero at switching time t=τ, e.g. Δsp(t)=(mv(τ)sp(τ))P(tτ,Te), where P is the polynomial P(t,1)=110t3+15t46t5 that goes from 1 to 0 and has zero first and second derivatives. Next to a change in the setpoint, the similar signal is added to the output. Again, this signal is selected such that it goes to zero in a fixed time period, Tu, and that the initial output of the controller equals the output of the control signal before the switch: Δu=(u(τ)u(τ+))P(tτ,Tu). Typically, TuTe. These choices make the control signal continuous, but not necessarily differentiable.

5. Experiments

5.1. Experimental setup

5.1.1. Feeder vessel

The experiments are conducted with scale model shown in Figure . All parameters are scaled by means of Froude scaling. There are no mechanical connections between the model and the shore during the experiments. The computations needed for the control are all done on board, and the required energy comes from a battery inside the model. An Earth-fixed pose measurement system, which mimics gps, is available from an optical position measurement system with dedicated targets on the model. Linear velocities are based on these measurements by means of an αβ tracker. The rate-of-turn is measured by a rate-gyro.

Six ducted fans are placed on the model to create wind disturbances. The thrust of these fans results from the heading and the wind coefficients from cfd calculations (Daalen et al. Citation2023). Thrust-rpm curves were measured beforehand.

Initial manoeuvring tests showed that the model is course unstable, as predicted by the cfd calculations. This implies a hysteresis loop that we have to overcome if we want to turn the model to the other direction (Nomoto Citation1972).

5.1.2. Seakeeping and manoeuvring basin

The experiments were done in Marin's Seakeeping and Manoeuvring Basin. This basin has physical dimensions of 170 m by 40 m, and a water depth of 5 m. These dimensions become 2890 m by 680 m and 85 m deep when converted to full-scale. The basin is fitted with flap-type wave makers on two adjacent sides. The waves are distributed according to a Pierson-Moskowitz spectrum. A quay with fenders was placed in the basin.

5.1.3. Control tuning

The vehicle controllers were tuned by increasing their bandwidth until they hit some limitation. The limitation found was excessive roll, for the pd controllers in sway- and heading-direction, and for the heading control of the autopilot and approaching controller. The pd controller in surge-direction was limited due to the capacity of the azimuthing thrusters. The speed controllers, however, were tuned at a lower bandwidth. This was done to avoid frequent turning of the azimuthing thrusters, which would impede the directional control. The same approach is used to tune the parameters in the guidance law (Equation6) and (Equation9): decrease the Δ,Γ until oscillations occurred. The values used in all the experiments were Δ=2Lpp and Γ=50 m. The radius R in Figure is always set to 2.5 m.

The transition times Tu was set to 10 s to spin up the thrusters slowly. The transition time Te was set quite arbitrary to 150 s, except during the point-to-point motions of the (un)docking phase, where it was set to 250 s.

The tracking performance of the underactuated cascade controller is shown in Figure . The heading is directly controlled, and its measurement coincides well with its reference signal. The heading setpoint is calculated from the course setpoint. The required course is indicated by the dashed line. The measured course is indicated by the orange line. The course is not tracked as well as the heading, as it is not controlled directly. Mismatches in the relation between numerical and scale-model will introduce errors. This behaviour is echoed in the experiments.

Figure 12. Results of tuning the cascade controller used for the approach phase.

Figure 12. Results of tuning the cascade controller used for the approach phase.

5.2. Experiments

5.2.1. Round trip

The results of the round-trip without disturbances are shown in Figure . In all experiments the vessel could sail the round-trip and safely dock at the quay. In Figure (a) the black dots on the track indicate when the operational state was switched, and they coincide with the dashed lines in Figure (b) till d). The dot at (x,y)(600,50), and t1225s is the start of the approach to the quay. The dotted line indicates the Bézier curve the vessel has to sail.

Figure 13. The full round-trip in the smb with the operational phases. In subfigure (d) the azimuth angle is denoted by δazi and the telegraph setting for azimuting- and bow thrusters is denoted by tazi,tbt, respectively. sog denotes the speed over ground. The dotted lines show the setpoints. All results are presented in full-scale.

Figure 13. The full round-trip in the smb with the operational phases. In subfigure (d) the azimuth angle is denoted by δazi and the telegraph setting for azimuting- and bow thrusters is denoted by tazi,tbt, respectively. sog denotes the speed over ground. The dotted lines show the setpoints. All results are presented in full-scale.

The gnc framework worked as expected throughout the different operational states. At the start and end of the experiment, during the undock/dock phase, the vessel moved smoothly from its current pose to target pose. The smooth transitions took care that there was no jump in the settings.

After the undocking, the vessel sailed around the smb in the transit phase. The heading setpoint, received from the los law, is tracked correctly as shown in Figure (c) between t200 sec and t1225 sec. But, inherently, there is some phase lag. Changes in the heading give rise to significant drift angles; this is visible in the turn around x = 1200 m. The speed shown in Figure (b) shows that the speed deviates from its setpoint at large heading changes. When the ship is sailing straight, the speed is better retained, e. g. t500 s till t800 s.

The approach phase brought the vessel to the safe pose with zero speed. The cb provided speed and course setpoints that the vehicle controller could track, after the course was converted to a heading. The conversion is not perfect, and a difference between the setpoint and measured course can be seen in Figure (c), similar to the result found during the tuning in Figure . The cb law will update its course setpoint if the vessel position deviates from the requested trajectory.

Two reasons can explain the difference in calculated and measured course. First, there is a likely mismatch between the parameters a, b and c, see §3.2.4, between the model and the real system. Second, the inversion of transfer function (Equation5) omitted the zero in the right-half plane to get a stable inverse and this will introduce an error. However, as the bow thrusters become effective at u<0.5 m/s, the heading and the position are independently controlled and the remainder of the trajectory is tracked such that the vessel ends at zero speed at the safe pose.

Figure (d) shows the actuator usage during the manoeuvre. The bow thrusters are only used at low velocities, and not during the transit and the under-actuated approach phase. The large noisy bow thruster commands at near standstill stand out. Because the thrust relates quadratically to the telegraph, small changes due to the noise at low thrust give rise to significant changes in the telegraph setting. The rudder speed, indicated in Table  did not pose a limiting factor. When it was decreased below 10 deg/s, its effects became clear in the performance of this experiment.

5.2.2. Disturbances

The previous trajectory is again used, but we now introduce wind and waves disturbances for low-, medium- and high-disturbance levels. Three directions of the wind and the waves are tested. The angle is the direction to where the wind is blowing, i.e. ψww=90 indicates that it blows along the Earth-fixed y-axis. Only the paths from the approaching phase onwards are shown in Figure . The trip around the basin provided no surprising results. Each path in the figure has its own reference depending on where the approaching phases started. Obviously, they all end at the same pose. Some statistics are gathered in Table .

Figure 14. The resulting paths for wind and waves of different magnitude and direction.

The resulting paths for different wind and waves disturbances.
Figure 14. The resulting paths for wind and waves of different magnitude and direction.

Table 4. Results for distance d to the trajectory, speed error u~ and heading error ψ~ for different disturbance levels and directions.

The two paths that stand out in Figure correspond to the highest two disturbance levels with ψww=90. With these disturbances, even if the vessel sailed a straight course before it started with the approach, a drift angle was needed to counter the effect of the wind and waves. This constant drift is not incorporated in the relation between the course and the heading, and hence the heading setpoint contains errors. Again, the vessel sails to the correct pose when the bow thrusters become active.

Furthermore, as one can see in Table , the velocity and heading errors u~rms and ψ~rms correlate well with the disturbance level. Inspection of these signals show that the vessel, obviously, moves with the waves. These motions dominate the rms error in speed and cannot, and should not, be compensated for with the actuators at hand. Finally, as one would expect, the speed errors are most pronounced when the disturbances come from the beam. Still, the vessel could dock with all the tested disturbances.

Although not shown, the actuators reacted to first-order wave effects. This effect could have been reduced by means of a wave filter (Hassani et al. Citation2013). Because the feeder vessel sails at different speeds and headings, the encounter spectrum would change, and an adaptive wave frequency would be necessary. In order to keep the experiment as simple as possible, and minimise the amount of parameters to tune, this has not been included.

5.2.3. Approach by waypoints

A comparison has been made for the approach to the dock between an autopilot with a los guidance law used in the preceding transit phase, and the introduced cascade controller with a cb guidance law. If the first method would result in adequate performance, then the separate controller and guidance law for the approach phase are not needed to berth the vessel, which would simplify the design. Figure  shows the results if the approach phase is omitted and waypoints are placed on the Bézier trajectory. The blue line indicates the path during the approach phase with the cb law and the cascade controller. The dotted line depicts the Bézier curve. The orange line is for the path for the los law with the autopilot. It has been mirrored in the y = 97.8 m axis for a better presentation. The dots show the waypoints used. The trajectory provided was challenging in surge acceleration and by a large rate-of-turn.

Figure 15. The approach to the dock with the cb and cascade control in comparison with tracking waypoint.

Figure 15. The approach to the dock with the cb and cascade control in comparison with tracking waypoint.

The under-actuated cascade controller tracked the curve not as good as previously in Figure . The maximum error was slightly under 17 m. Note that this is the maximum distance to the time-dependent trajectory. The distance to the path was slightly over 10 m. The larger changes in velocity contributed to the larger trajectory error. As before, when the bow thrusters become active, the vessel is brought to the original trajectory, and the distance at the end of the approach was less than 1 m.

The autopilot in combination with the los algorithm gave a much larger error. It was slightly under 100 m. This is as expected, as this guidance and control combination are mainly used for sailing a straight track. In our implementation, there was no feedforward on the required rate-of-turn, nor was there anything implemented to sail smooth curves. If these would be implemented, the error would be much smaller, and the implementation would get closer to the proposed cascade controller.

5.2.4. Transition between phases / dock phase

The final result shown in Figure  shows the behaviour when switching from the approach phase to the dock phase and the whole of the dock phase. Only the heading and the behaviour of the azimuthing thruster are shown. The switch occurs at t125 s. A heading setpoint is constructed that coincides with the current measurement and goes to the (constant) setpoint. Without the Δu introduced in Figure this would result in an initial zero telegraph setting. However, a transition from the previous setting in Tu=10 s was used to avoid this discontinuity.

Figure 16. Switching from the approach to the docking phase.

Figure 16. Switching from the approach to the docking phase.

The three pd controllers that moved the vessel from the safe pose to the dock basically act as a dynamic positioning system. The rms heading error in the docking phase is ψ~rms=0.62 deg during a lateral motion of 71 m. The largest error occurs when the thruster provides the highest thrust. This implies that the thrust is not applied perfectly at the cog. The undocking phase gives similar results and is therefore not shown.

6. Conclusions

A set of experiments was performed at Marin's smb in which an 1:17 scale model of a feeder vessel sailed from one quay to the next. The quay-to-quay mission was first divided into several operational phases, each of these phases was solved in a Guidance-Navigation-Control framework, and finally they were combined while paying attention to smooth switching between the phases. The approach was tested with different wave and wind disturbance levels, and with different routes. In all tests, the mission was completed successfully and the ship docked safely at the quay.

The approach to the quay was found most challenging: the course as well as the speed changed significantly, the manoeuvrability decreased with lower speeds, and the system changed from under-actuated to fully-actuated half-way the trajectory. However, the under-actuated half performed well through a combination of a trajectory based on a Bézier curve with a Constant Bearing guidance law, and a cascade controller as vehicle controller. The errors that did occur were nullified in the fully-actuated part such that the vessel arrived at the safe pose with near-zero velocity. The guidance also provided time derivatives of the controlled variables which could be used in a feedforward controller to improve the performance. When the approach was done by a los guidance law and an autopilot, then the results were not as good.

In this work, a switching mechanism was introduced that took care that there were no discontinuities between the phases. However, the derivatives were not smooth. Although higher order continuity was tested, it was based on unfiltered signals which generated highly fluctuating setpoints. It is recommended for the future work that continuity of the setpoints' derivatives makes use of filtered signals.

An important component in the approach to the dock was the conversion from course to heading. In the future work, this ought to be given more attention. A better heading setpoint is expected by (i) identifying the parameters instead of using the model values, (ii) use the zpetc approach to calculate the inverse (Tomizuka Citation1987), and (iii) incorporate the influence of the environment on the drift angle.

The aim of this work was on sailing from one quay to the next. In real operations there will be other ships in the vicinity. Collision avoidance with respect to local regulations need to be incorporated into this approach.

Disclosure statement

No potential conflict of interest was reported by the author(s).

Additional information

Funding

MOSES project has received funding from the European Union's Horizon 2020 research & innovation programme under grant agreement No. 861678. Content reflects only the authors' view and the Agency is not responsible for any use that may be made of the information it contains.

References

  • Ahmed Y, Hasegawa K. 2015. Consistently trained artificial neural network for automatic ship berthing control. TransNav, Int J Marine Navigation Safety Sea Transp. 9(3):417–426. doi: 10.12716/1001
  • Alessandri A, Donnarumma S, Martelli M, Vignolo S. 2019. Motion control for autonomous navigation in blue and narrow waters using switched controllers. J Mar Sci Eng. 7(6):196. doi: 10.3390/jmse7060196
  • Bitar G, Martinsen AB, Lekkas AM, Breivik M. 2020. Trajectory planning and control for automatic docking of ASVs with full-Scale experiments. IFAC-PapersOnLine. 53(2):14488–14494. doi: 10.1016/j.ifacol.2020.12.1451
  • Breivik M. 2010. Topics in guided motion control of marine vehicles [dissertation]. Norwegian University of Science and Technology. Trondheim, Norway.
  • De Juan M, Benitez I, Marcos J. 2022. The Moses project: enhancing short sea shipping with automated technologies. In: WIT Transactions on the Built Environment; vol. 212; p. 173–184. doi: 10.2495/UMT220151.
  • de Kruif BJ. 2022a. Applied trajectory generation to dock a feeder vessel. IFAC-PapersOnLine. 55(31):172–177. doi: 10.1016/j.ifacol.2022.10.427
  • de Kruif BJ. 2022b. Autonomous docking of a feeder vessel. In: International Ship Control Systems Symposium (iSCSS); Delft, The Netherlands.
  • de Kruif BJ. 2023. Autonomous docking of a feeder vessel. J Mar Eng Technol. Published online: 14 Nov 2023:1–9. doi: 10.1080/20464177.2023.2281742.
  • de Kruif BJ. 2024. Autonomously docking a feeder vessel; an experimental validation Control Applications in Marine Systems, Robotics and Vehicles (accepted). Blacksburg, Virginia, USA.
  • de Kruif BJ, van Daalen EFG, Cozijn H, Iavicoli G. 2023. Control of a full port-to-port mission for a feeder vessel. In: OCEANS 2023 – Limerick; Jun; Limerick, Ireland. IEEE.
  • Djouani K, Hamam Y. 1995. Minimum time-energy trajectory planning for automatic ship berthing. IEEE J Ocean Eng. 20(1):4–12. doi: 10.1109/48.380251
  • European Commission. 2021. Putting European transport on track for the future. Publisher: European Commission Publication Title: COM/2020/789 final; https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A52020DC0789.
  • Fossen TI. 2021. Handbook of marine craft hydrodynamics and motion control. Trondheim, Norway.
  • Hasegawa K, Kitera K. 1993. Mathematical model of manoeuvrability at low advance speed and its application to berthing control. Pages: 311-321 Publication Title: 2nd Japan-Korea Joint Workshop on Ship and Marine Hydrodynamics Place: Osaka, Japan.
  • Hassani V, Sørensen AJ, Pascoal AM. 2013. Adaptive wave filtering for dynamic positioning of marine vessels using maximum likelihood identification: theory and experiments. IFAC Proc Volumes. 46(33):203–208. doi: 10.3182/20130918-4-JP-3022.00041
  • Im NK, Nguyen VS. 2018. Artificial neural network controller for automatic ship berthing using head-up coordinate system. Int J Nav Archit Ocean Eng. 10(3):235–249. doi: 10.1016/j.ijnaoe.2017.08.003
  • Kamermans M. 2022. A Primer on Bézier Curves. [accessed 2021-12-21]. https://pomax.github.io/bezierinfo/
  • Lekkas AM, Fossen TI. 2012. A Time-Varying Lookahead Distance Guidance Law for Path Following. In: IFAC Proceedings Volumes; vol. 45; Jan. Elsevier. p. 398–403. Issue: 27 ISSN: 1474-6670.
  • Lexau SJN, Breivik M, Lekkas AM. 2023. Automated docking for marine surface vessels–A survey. IEEE Access. 11:132324–132367. doi: 10.1109/ACCESS.2023.3335912
  • Li S, Liu J, Negenborn RR, Wu Q. 2020. Automatic docking for underactuated ships based on multi-objective nonlinear model predictive control. IEEE Access. 8:70044–70057. doi: 10.1109/Access.6287639
  • Martinsen AB, Lekkas AM, Gros S. 2019. Autonomous docking using direct optimal control. IFAC-PapersOnLine. 52(21):97–102. doi: 10.1016/j.ifacol.2019.12.290
  • Miyauchi Y, Sawada R, Akimoto Y, Umeda N, Maki A. 2022. Optimization on planning of trajectory and control of autonomous berthing and unberthing for the realistic port geometry. Ocean Eng. 245:110390. doi: 10.1016/j.oceaneng.2021.110390
  • Mizuno N, Koide T. 2023. Application of reinforcement learning to generate non-linear optimal feedback controller for ship's automatic berthing system. IFAC-PapersOnLine. 56(1):162–168. doi: 10.1016/j.ifacol.2023.02.028
  • Mizuno N, Uchida Y, Okazaki T. 2015. Quasi real-time optimal control scheme for automatic berthing. IFAC-PapersOnLine. 48(16):305–312. doi: 10.1016/j.ifacol.2015.10.297
  • Neuffer D, Owens DH. 1992. Global stabilization of unstable ship dynamics using PD control. Proc IEEE Confer Decision Control. 1:519–520. ISBN: 0780304500.
  • Nomoto K. 1972. Paper 1, problems and requirements of directional stability and control of surface ships. J Mechan Eng Sci. 14(7):1–5. doi: 10.1243/JMES_JOUR_1972_014_056_02
  • Ohtsu K, Shoji K, Okazaki T. 1996. Minimum-time maneuvering of a ship, with wind disturbances. Control Eng Pract. 4(3):385–392. doi: 10.1016/0967-0661(96)00016-0
  • Okazaki T, Ohtsu K. 2008. A study on ship berthing support system – Minimum time berthing control -. In: 2008 IEEE International Conference on Systems, Man and Cybernetics; Oct. IEEE. p. 1522–1527. ISSN: 1062-922X.
  • Piao Z, Guo C, Sun S. 2019. Research into the automatic berthing of underactuated unmanned ships under wind loads based on experiment and numerical analysis. J Mar Sci Eng. 7(9):300. doi: 10.3390/jmse7090300
  • Qiang Z, Im NK, Zhongyu D, Meijuan Z. 2022. Review on the Research of Ship Automatic Berthing Control. In: Off-shore Robotics. Singapore: Springer; p. 87–109.
  • Rethfeldt C, Schubert AU, Damerius R, Kurowski M, Jeinsch T. 2021. System approach for highly automated manoeuvring with research vessel DENEB. IFAC-PapersOnLine. 54(16):153–160. doi: 10.1016/j.ifacol.2021.10.087
  • Sawada R, Hirata K, Kitagawa Y, Saito E, Ueno M, Tanizawa K, Fukuto J. 2021. Path following algorithm application to automatic berthing control. J Mar Sci Technol. 26(2):541–554. doi: 10.1007/s00773-020-00758-x
  • Schubert AU, Kurowski M, Damerius R, Fischer S, Gluch M, Baldauf M, Jeinsch T. 2019. From manoeuvre assistance to manoeuvre automation. J Phys: Confer Ser. 1357(1):012006.
  • Shneydor NA. 1998. Missile guidance and pursuit kinematics, dynamics and control. Oxford: Woodhead Publishing.
  • Shuai Y, Li G, Cheng X, Skulstad R, Xu J, Liu H, Zhang H. 2019. An efficient neural-network based approach to automatic ship docking. Ocean Eng. 191:106514. doi: 10.1016/j.oceaneng.2019.106514
  • Skogestad S, Postlethwaite I. 2007. Multivariable feedback control: analysis and design. Vol. 2. New York: Wiley.
  • Sørensen AJ. 2011. A survey of dynamic positioning control systems. Annu Rev Control. 35(1):123–136. doi: 10.1016/j.arcontrol.2011.03.008
  • Tomizuka M. 1987. Zero phase error tracking algorithm for digital control. J Dyn Syst Meas Control. 109(1):65–68. doi: 10.1115/1.3143822
  • van Daalen EFG, Iavicoli G, Cozijn H, de Kruif BJ. 2023. Simulation of a feeder on a port-to-port mission. In: Oceans 2023; Limerick, Ireland.
  • Walmsness JE, Helgesen HH, Larsen S, Kufoalor GKM, Johansen TA. 2023. Automatic dock-to-dock control system for surface vessels using bumpless transfer. Ocean Eng. 268:113425. doi: 10.1016/j.oceaneng.2022.113425
  • Yu Z, Bao X, Nonami K. 2008. Course keeping control of an autonomous boat using low cost sensors. J Syst Design Dyn. 2(1):389–400. doi: 10.1299/jsdd.2.389
  • Zhang S, Wu Q, Liu J, He Y, Li S. 2023. State-of-the-Art review and future perspectives on maneuvering modeling for automatic ship berthing. J Mar Sci Eng. 11(9):1824. doi: 10.3390/jmse11091824

Appendices

Appendix 1. Bézier curve

The target position is based on a fifth-order Bezier curve (Kamermans Citation2022): (A1) pt(h)=(1h)5p0+5(1h)4hp1+10(1h)3h2p2+10(1h)2h3p3+5(1h)h4p4+h5p5,(A1) where h is the path variable with 0h1. The subscript ‘t’ stands for ‘target’. The variables used are shown in Figure with pt=[pt,x,pt,y]T and pi=[pi,x,pi,y]T. For h = 0, the above expression evaluates to pt(0)=p0, and for h = 1 we get pt(1)=p5. The initial and final positions can be used to set p0,p5. The derivative with respect to h is calculated as follows: (A2) dptdh(h)=5(1h)4(p1p0)+20(1h)3h(p2p1)+30(1h)2h2(p3p2)+20(1h)h3(p4p3)+5h4(p5p4).(A2) At h = 0 and h = 1, this evaluates to dptdh(0)=5(p1p0) and dptdh(1)=5(p3p2). So, the tangent at the start and the end are given by the vector to the adjacent control point. This can be used to set the initial and final headings.

Figure A1. The principle variables of a cubic Bezier curve. pi are the control points, and 0h1 is the path variable.

Figure A1. The principle variables of a cubic Bezier curve. pi are the control points, and 0≤h≤1 is the path variable.

The second derivative of pt with respect to h evaluates to d2ptdh2(0)=20(p02p1+p2) and d2ptdh2(1)=20(p52p4+p3). By setting these to zero, the rate-of-turn will be zero at the start and end of the path.

In order to convert the path into a time-dependent trajectory, the path variable h must be made time-dependent. The target speed can then be calculated as follows: (A3) ut(t)=(dpt,xdt)2+(dpt,ydt)2=dhdt(dpt,xdh)2+(dpt,ydh)2.(A3) Note that the speed is defined to be positive. Evaluating the target speed at h = 0 and h = 1 gives (A4) u0=5l0dh(0)dt,uf=5lfdh(1)dt,(A4) where l0=p1p0 and lf=p5p4. Since we want to end at zero speed, uf=0 and we want to have lf finite, we need dh(1)dt=0. The polynomial h(t)=t/T(2t/T), among many others, achieves this. T is the duration of traversing the path. The derivative at t = 0 evaluates to dh(0)dt=2/T. This can be related to the initial velocity: (A5) u0=10l0Th=tu010l0(2tu010l0).(A5) l0,lf are the remaining variables that tune the initial and final straight part of the curve. We optimised these with a SciPy minimisation script to get a minimal rate-of-turn and to minimise the maximum speed if it is larger than the initial speed.

Appendix 2. Setpoint derivatives

The setpoint to the vehicle controller is a combination of the Bézier curve and the cb algorithm. The time derivatives of the Bézier curve are found by using the chain rule: (A6) vt=dptdt=dpdhdhdt,(A6) (A7) dvtdt=d2ptdt2=d2pdh2(dhdt)2+dpdhd2hdt2.(A7) These derivatives contain the earth-fixed x- and y-coordinates. The derivative of the setpoint speed to the vehicle controller, (Equation8), is (A8) duspdt=vsp,xddtvsp,x+vsp,yddtvsp,yusp.(A8) vsp=[vsp,x,vsp,y]T is known from (Equation7). The components of the acceleration are a summation of the target acceleration and acceleration to bring the vessel to the target (A9) dvspdt=dvtdt+dvadt.(A9) The first term on the right-hand side follows from (EquationA7). The second term is calculated as follows: (A10) dvadt=dγdtp~||p~||+γddt(p~||p~||),(A10) (A11) dγdt=UmaxΔ2(p~xv~x+p~yv~y)(p~Tp~+Δ2)32p~Tp~,(A11) (A12) ddt(p~||p~||)x=(p~xv~xp~yv~y)p~x(p~Tp~)32+v~xp~Tp~,(A12) (A13) ddt(p~||p~||)y=(p~xv~xp~yv~y)p~y(p~Tp~)32+v~yp~Tp~,(A13) in which v~x is the difference in the velocity between the target and the ship in the earth fixed x-coordinate. The same holds for the y-component. The time derivative of the course setpoint (Equation8) is calculated as follows: (A14) dχspdt=vsp,xddtvsp,yvsp,yddtvsp,xusp2.(A14) Again, the velocity setpoint follows from (Equation7). It's derivative is the sum of dvtdt (EquationA7) and dvadt (EquationA10)–(EquationA13). The result of d2χspdt2 is not shown here, but is available as supplementary material.

Appendix 3. Controllers

A.1. 3×PD controller

Each dof is controlled independently. With transfer function P(s)=1/ms2, and controller C(s)=Kp+sKd, we get the characteristic equation: (A15) ξ(s)=s2+sKd/m+Kp/m.(A15) If we place its roots to obtain a damped second-order system, then we find the gains (A16) s2+sKd/m+Kp/m=s2+2ζωns+ωn2Kp=mωn2,Kd=2ωn,(A16) where ωn is the natural frequency and ζ is the relative damping.

A.2. Autopilot

The autopilot is divided into a heading controller and a speed controller. Similar to the previous section, we calculate the characteristic equation based on (Equation3): (A17) ψFy=K/Ts(s+αK/T).(A17) Placing the roots of the characteristic equation to mimic a second order system, we obtain (A18) Kp=ωn2(T/K),Kd=2ζωn(T/K)α.(A18) The values of the parameters can be found in Table . The speed model (Equation1) linearised around zero speed provides the transfer function: P(s)=1/ms. When this is controlled by a pi controller Cu,fb(s):Fx/u~=(sKp+Ki)/s, we find with pole-placement the gains (A19) Ki=ωn2m,Kp=2ζωnm.(A19) A feedforward controller is used to improve changes in the setpoint (A20) Cu,ff:Fx=(mXu˙)u˙sp+Xu|u|usp|usp|.(A20)

A.3. Approaching controller

Inner-loop: The feedforward signal can be calculated directly from (Equation2) (A21) Cr,ff:Fy=αrsp+βrsp3+TKr˙sp.(A21) The feedback controller is based on (Equation3). When the loop is closed with (A22) Cr,fb:Fy=Kr(rspr),(A22) we obtain the closed-loop transfer function (A23) rrsp=KrK/Ts+K/T(α+Kr).(A23) A feedback gain Kr>α will stabilise this system (Neuffer and Owens Citation1992).

Outer-loop: The outer-loop provides a rate-of-turn setpoint. The transfer from this setpoint to the heading follows from (EquationA23): (A24) ψrsp=KrK/Ts(s+K/T(α+Kr)).(A24) Closing this system with (A25) Cψ,fb:rsp=Kψ(ψspψmv)(A25) results in the characteristic equation, which we can equate to the poles of a second-order system: (A26) ξ(s)=s2+s(K/T)(α+Kr)+KψKr(K/T)=s2+2ζωns+ωn2(A26) from which the gains directly follow. The feedforward path is trivially written as follows: (A27) Cψ,ff:rsp=ψ˙sp.(A27) Note that rsp in Figure is not calculated by numerical differentiation, but by taking the derivatives of (EquationA25) and (EquationA27).

From course to heading:

The transfer from heading to course is repeated from (Equation5): (A28) χψ=(τz1s+1)(τz2s+1)τps+1(A28)

in which τz2 places the zero in the right-half plane. The heading setpoint is calculated as the stable part of the inverse (A29) ψspχsp=τps+1τz1s+1.(A29) This can be written in state space as follows: (A30) x˙=Ax+Bχsp,(A30) (A31) ψsp=Cx+Dχsp,(A31) with A=1/τz1,B=(τz1τp)/τz12,C=1, and D=τp/τz1. From this the derivatives can be calculated as follows: (A32) ψ˙sp=Cx˙+Dχ˙sp=C(Ax+Bχsp)+Dχ˙sp,(A32) (A33) ψ¨sp=Cx¨+Dχ¨sp=C(Ax˙+Bχ˙sp)+Dχ¨sp=C(A(Ax+Bχsp)+Bχ˙sp)+Dχ¨sp.(A33) The course setpoint derivatives are calculated in Appendix 2.