Path following algorithm application to automatic berthing control

This paper aims to verify a new automatic berthing system using a path following algorithm. Berthing operation is one of the most burdensome tasks for crews among several ship operations. The maneuverability of a ship at low speed during berthing operation deteriorates and becomes more vulnerable to disturbances such as wind. Therefore, it is necessary to support and automate operations that require advanced skills such as berthing operation. Previous studies on automatic berthing have investigated various methods to handle the nonlinearity of ship maneuvering motion and determine the optimal control variable. There is a trade-off between accuracy and real-time performance of berthing control from these studies. The algorithms must have sufficiently real-time performance while maintaining the accuracy of control. For these purposes, we propose the automatic berthing system applied a path following algorithm for a ship with one propeller and one rudder in this paper. We show the mathematical model for numerical simulation of berthing control and carried out system identification of the subject ship. In full-scale experiments, the proposed system performed automatic berthing control in both calm wind conditions around 2 m/s and strong wind conditions around 6 m/s.


Introduction
Berthing operation is one of the most burdensome tasks for crews among several ship operations [1]. Ship's speed becomes low during berthing operation. The maneuverability of a ship at low speed deteriorates due to reduced rudder effectiveness and becomes more vulnerable to disturbances such as wind. Therefore, berthing operation requires advanced techniques for maneuvering a ship at low speed. On the other hand, in recent years, the domestic shipping industry in Japan has been facing a severe shortage of skilled ship officers and an aging population of seafarers [2]. Hence, it is necessary to support or automate operations that require advanced skills such as berthing operation.
Many studies on the automation of a berthing ship had proposed various approaches using different methods such as a proportional-derivative (PD) controller, neural network, optimal control theory, and evolution strategy. Ahmed et al. [3] proposed a controller that combines feed-forward neural networks and a PD heading controller. In this research, they created training data for an artificial neural network created by using nonlinear programming (NLP) for learning course changing control in the minimum time. They aimed to berth using a model ship of a VLCC tanker which its length is over 300 m in a full scale. In the paper, the accuracy of the final berthing position required to the controller was ± 1.5 L (> 450 m in a full scale). On the other hand, although they did not mention about the computation time in the paper, their method should be fast for the computation time, since it can have been controlled in real-time in the experiments using their model ship. Besides this research, Mizuno et al. [4] proposed the quasi real-time optimal control scheme for automatic berthing operation. This approach solves a minimum time approaching problem based on the formulation by Shoji and Ohtsu [5]. In the paper, the terminal conditions of the problem were set to ± 10 m for the ship position, ± 0.5 m/s for the surge velocity, and ± 10 • for the heading angle. This method can generate the approximate optimal solution in a few minutes using the multiple shooting algorithm [4]. They carried out experiments with the full-scale ship and obtained results satisfying the terminal conditions for all state valuables except for the heading angle. Maki et al. [6] utilize the covariance matrix adaptation evolution strategy (CMA-ES), which is an evolutionary algorithm to acquire optimal solutions for automatic berthing problems of a ship equipped one rudder and one propeller. The optimal solution obtained in the simulations had an accuracy of the order of 10 −4 for the L1 norm of the final state vector and the vector of the termination conditions. However, since it takes time to find an optimal solution, the CMA-ES solution can be used as an offline solution for the initial guess of an optimization problem for online control. From these studies, there is a trade-off between the accuracy and the real-time performance on berthing control. The nonlinearity of ship maneuvering motion makes the berthing problem complex.
From a practical standpoint, the automatic berthing algorithm must have sufficiently real-time performance, while maintaining the accuracy required for the berthing control. A simpler controller is required to increase real-time performance, which must have the performance to control a ship with sufficient precision. Here, we consider the problem of berthing control as a problem of autonomous navigation in the field of robotics. In the field of robotics, autonomous navigation usually deals with the following four items: localization, mapping, path planning, and path following. What is essential in this approach is that path planning and path following are separated. This approach simplifies the design of the system because it is possible to separate the design of the path planning and the design of the path following control in advance. A part of Ahmed's approach [3] is close to this idea. They used the PD controller to follow a line path after changing course by neural networks. On the other hand, it is not always possible to approach the pier in a straight line in the actual berthing operation, so a lightweight algorithm that can follow a general curved path is needed. Besides, the controller should have the versatility to be applied to a typical ship with one rudder and one propeller.
For these purposes, we propose a novel system that applied a path following algorithm in this paper. We conducted field tests using our experimental ship to verify performance of the proposed algorithm. The proposed system performs in both calm wind conditions around 2 m/s and strong wind conditions around 6 m/s. We also describe a mathematical model of ship maneuvering motion at low speed, proposed automatic berthing algorithm. At last, we show results of field tests of automatic berthing control using our small experimental ship equipped with a highprecision positioning device using the Quasi-Zenith Satellite System (QZSS). This paper is organized as follows: in the next section, we explain the specification of our experimental ship and the onboard control system, followed by a mathematical model of ship motion and model tuning based on full-scale experiment results. In Sect. 4, we describe the novel automatic berthing algorithm that is a combination of the path following algorithm and heading control. The path planning algorithm and the speed control scheme are also provided in this section. Results and evaluation of automatic berthing experiment to a floating pier using our experimental ship are shown in Sect. 5. Finally, we conclude the paper.

Subject ship and onboard control system
we utilized the experimental ship "Shinpo" managed by the National Maritime Research Institute shown in Fig. 1. This ship is equipped with one rudder and one propeller. Table 1 shows the principal particulars of Shinpo at the time  of experiments. The areas A F and A A are the projected area of the ship above the waterline. Shinpo is equipped with a MAU-type propeller and a bow thruster. An onboard control system was constructed to perform automatic berthing control. The architecture of the system is shown in Fig. 2. The control system consists of programmable logic controllers (PLCs), which is reliable and scalable, controls various actuators of the ship. The hydraulic steering system and the remote control system of the main engine can be monitored and operated by PLC, which can operate the rudder, governors (corresponding to engine telegraph command), the clutch, and the bow thruster used in berthing operations. The automatic berthing algorithm is implemented on a laptop computer, which can be connected to the PLC and actuators of the ship can be operated from the laptop computer. All measured sensor values are aggregated into the PLCs, then, recorded and displayed on the touch display connected to a PLC.
For berthing control, various sensors are installed on Shinpo. In the case of berthing operations for Shinpo, it is necessary to guide the ship so that the distance between the side of the ship and the pier is at most about 5 m in order for a deck crew to pass the mooring ropes to the pier stably. On the other hand, according to textbooks of ship handling (e.g. [7,8]), when approaching the the pier at a low heading angle of 10 • -15 • against it, the ship should be stopped at a distance of 1.0 B-1.5 B before being moored when the influence of currents and a wind is sufficiently small [7]. Herein, since the ship has a L oa of 16.5 m, when position control is applied to the midship position, even if the ship is ideally close to the pier at a low heading angle of exactly 10 • against the pier, the bow will be at most about 1.43 m close to the pier if we assume that the ship's shape at the waterline is a rectangle of l pp × B . Considering position control errors caused by disturbances, errors of sensors, high-precision control is required to maintain a safe distance from the pier to prevent contact between the pier and the bow. From these considerations, it is desirable to be able to obtain the ship's position with an accuracy of less than a meter to perform berthing control in the experiments. Therefore, we have adopted the Centimeter Location Augmentation Service (CLAS) compatible receiver, the Chronosphere-L6, for the ship's positioning. CLAS is the centimeter level augmentation information transmitted by QZSS. To increase the sensitivity of the receiver, the antenna is placed on the roof of the wheelhouse. The other sensors on the Shinpo are as follows. It is equipped with a GPS compass Furuno SC-50 to obtain the heading angle. The anemometer, which measures relative wind speed and direction, is also located above the wheelhouse. In addition, propeller revolution, engine speed, rudder angle, roll, pitch, etc. can also be measured.

System identification
The mathematical model of maneuvering motion of Shinpo was developed. This model utilized for the development and evaluation of the automatic berthing algorithm for Shinpo under various wind conditions. Unlike general maneuvering motions such as turning motion, a model that corresponds to changes in ship's speed, including propeller reverse rotation, is required for berthing operation. In addition, as mentioned in the paragraph on ship-mounted sensors, high-precision motion control is required for berthing control, so the accuracy of motion prediction in simulation must be sufficiently high. We developed a dynamic model based on the Mathematical Modeling Group (MMG) model [9], which can predict the maneuvering motion of a ship with high accuracy. Hydrodynamic coefficients and other parameters of the model were determined based on  the results of sea trials using Shinpo. In this section, we first describe the MMG-based motion equations of the maneuvering motion. Then, we give a brief description of the procedure to adjust parameters of the dynamic model and wind simulation. Note that waves and tidal currents are not treated this time, because the effects on ship hull due to these disturbances may be small enough around the pier.

Mathematical model of ship maneuvering motion
We use the mathematical model of maneuvering motion based on the MMG model to evaluate the response against the algorithm under disturbance, especially the effect of wind for ship motion at low speed. Figure 3 shows the coordinate systems used in this paper to describe motion equations. The notation for each symbol is in accordance with the paper [9]. The space- Here, the added masses and the added moment of inertia of surge, sway and yaw motion are denoted by m x , m y and I z , respectively. Added masses and the added moment of inertia are determined based on the multiple regression formulae of Motora's chart [10][11][12].
Forces X, Y and moment N m acting on a ship's hull around the midship except added mass can be described separating into the following components from the viewpoint of the physical meaning according to the manners of the MMG standard method.
Here, subscript H, R, P and A means hull, rudder, propeller and air (wind), respectively. Force due to the bow thruster is omitted, because the bow thruster is never used in this paper.
For the calculation of the hydrodynamic force acting on the ship's hull, we use the following model proposed by Yoshimura et al. [13] which is based on cross-flow drag theory. This model can express the hydrodynamic force in the transverse direction and the turning direction due to the large drift angle at low forward speed. This model requires a smaller number of coefficients compared with the standard MMG model such as [9].
where X ′ 0F and X ′ 0A are resistance coefficients of ahead and astern, respectively. Here, r are hydrodynamic derivatives. C D is the cross-flow drag coefficient, C rY and C rN are correction factor for lateral force and yaw moment, respectively. The resistance coefficient for ahead X ′ 0F is determined based on the result of the speed trial test The coefficient X ′ 0A is determined from the database of the tank test results for the astern resistance test.
Hydrodynamic force due to rudder and propeller with forward and reverse rotation is expressed as the model by Kitagawa et al. [14,15], which can deal with the generated unbalanced hydrodynamic force due to propeller reverse rotation.
where (1 − t R ) is the steering resistance deduction factor, a H is the rudder force increase factor, and x H is the longitudinal coordinate of acting point of the additional lateral force. The thrust deduction factor (1 − t P ) is different depending on the sign of propeller revolution n. The propeller thrust open water characteristic K T (J) for each quadrant shown in Fig. 4 are obtained from the estimation formula of MAU propellers for 1st quadrant and the database of B-series propellers for 2-4th quadrant. The propeller advanced ratio J is represented as where D is the propeller diameter and n is the propeller revolution. The wake coefficient at propeller position is denoted by w P . Assuming that ship's speed is controlled only by switching the clutch in the idle state of the main engine, the propeller revolution n corresponds to 3.1, 0, and − 3.1 rps for forward, neutral, and reverse of the clutch based on the actual ship measurement. In the simulations, the time delay of switching the clutch was ignored. When the clutch condition is neutral, the propeller revolution is 0, so the calculation of J is omitted. Then, the propeller thrust T = X P ∕(1 − t P ) is treated as 0, and the longitudinal inflow velocity to the rudder u R = (1 − w R )u is computed based on the original definition of u R [9,16]. Thrust deduction factor t P for n < 0 can be computed as follows: where J P ∶= u nP is the so-called apparent advanced ratio used in Kitagawa's model. C tp0 and C tp1 can be changed depending on J P as shown in Table 3, whose values are identified by the database of captive model tests with propeller reverse rotation. The rudder normal force F N is expressed as Here, the resultant rudder velocity U R and its effective inflow angle to rudder R is expressed as follows: where 0 is a virtual zero rudder angle for the rudder normal force. The rudder normal force coefficient C N is expressed as follows: where C N0 is the gradient coefficient of the rudder normal force, which is determined by using the Fujii's formula [17]. The stall angle of the rudder is denoted by Rstl . Then, the inflow velocity to the rudder u R is defined as follows: where The wake coefficient at rudder position in maneuvering motion is denoted by w R . The term cos( S ) is a correction factor that takes into account the direction of the velocity increases due to propeller. In Eq. (12), k x is an experimental constant which is called the increment ratio of propeller slipstream. Additionally, is the ratio of the effective area of the rudder for propeller slipstream to the whole rudder area. Here, the lateral inflow velocity v R is expressed as where R and l R are flow straightening coefficients.

Wind forces
As an external force acting on the hull, wind force is treated here. Longitudinal and lateral forces, and yaw moment acting on the hull due to wind are expressed as follows: where relationship between a true wind and an apparent wind is shown as follows: where U W is the true wind speed, W is the true wind direction where 0 • stands for a northerly wind, U A is apparent wind speed and A is apparent wind direction where 0 • stands for head wind. The direction of true wind is measured in degrees clockwise from due north and the heading of a ship. The direction of apparent wind is computed as The wind load coefficients C AX , C AY and C AN were determined using the method proposed by Kitamura et al. [18]. The curves of wind load coefficients are shown in Fig. 5. The wind conditions in simulation were generated in two settings: constant wind speed/direction and sampling using probability distributions. In the simulations using the probability distributions, the true wind speed was produced according to the Weibull distribution and the true wind direction according to the Gaussian distribution, as follows [19,20].
Here, U W is the mean true wind speed and W is the mean true wind direction. The shape parameter a in Eq. (16) was set to 2.0. The scale parameter is calculated as,

Hydrodynamic coefficients and other parameters
The hydrodynamic coefficients and other parameters of the model were identified based on the measurements of sea trials. We carried out various tests such as turning tests with rudder angles of 20 • and 40 • for ahead and astern, and Zigzag tests of ± 10 • and ± 20 • only for ahead mainly with a propeller revolution of 3.1 rps in the idle state. Next, referring to various estimation formulae and databases [13,14,21,22], initial parameters of the motion equations were set. However, since these estimated parameters are based on different ship types, the parameters were adjusted based on the measurement results of full-scale tests of Shinpo. Figure 2 shows adjusted parameters in this procedure and other parameters of the model used in this research is shown in Figs. 3 and 4. In this process, the unmeasured disturbance effects are taken into account by reproducing the steady state of the turning motion that includes fluctuation under the influence of disturbances such as tidal currents. Figure 6 shows the comparison between the measured values and the simulation results for change of the rudder angle and the propeller revolution. The turning motion in the steady state can be estimated sufficiently in the simulations. As for Zigzag tests, the simulation results are in good agreement with the measurements. Figure 7 shows time series of turning test to compare between the measurement and simulations to see the performance of ahead at idle speed. For simulations in Fig. 7, the wind forces are calculated with assuming the mean true wind speed and direction of the measurement. Though there is a difference in trajectories, because the effect such as the current disturbance in full scale experiment which could not be measured was excluded in the simulation, the speed components u, v, r can reproduce the motion of the full-scale ship at low speed.

Overview of algorithm
The core algorithm of automatic berthing control consists of three parts path planning, path following and speed control. The path to berth is generated at the start of control sequences. There are several advantages of this approach. One is that the berthing path can be confirmed before the automatic control starts. The other is that it is clear whether the system is currently functioning properly or not, since deviations from the path are known during the automatic control. Furthermore, this approach divides the problem of the automatic berthing control into subproblems: the design of berthing path, the stability of heading control and the safe speed control.
Here, as shown in Fig. 8, the control modes are switched by dividing the berthing path indicated by a blue broken line into four control sequences. These switching positions are determined based on the procedure that a human operator is berthing a ship actually. In addition, to reduce the excessive

Path planning
The path planning algorithm is designed with reference to actual trajectories by a human operator. From the results of the previous studies and the actual operation examples of Shinpo [23], it can be seen that the trajectories of berthing is a smooth curve that extends in the direction of the heading from the initial position of the ship and connects to the berthing position at an angle parallel to the pier. Such shape can be represented by a cubic Bézier curve [24]. A Bézier curve of degree N is an N-th order curve defined by N + 1 control points B 0 , … B N and expressed as follows with t as a parameter.
where 0 < t < 1 , and J n,i (t) is the Bernstein basis polynomial of degree n. A cubic Bézier curve can be expressed as a third-order polynomial of t. Figure 9 shows a schematic view of the berthing path by the Bézier curve with control points B i (i = 0, … 3).
In Fig. 9, the control point B 0 is placed at the initial position of a ship. B 1 is a point that the angle of �������� ⃗ B 0 B 1 is equivalent to the ship's initial heading angle and its L s = 0.6|y berth | . B 2 is located at the point that L e = 80 m and parallel to the pier, and B 3 is the target position of berthing. Here, the target position of berthing is set at (x berth [m], y berth [m]) = (5, 0) considering the viewpoint of the safety of experiments as well as the distance that the mooring rope can be thrown from the ship to the pier. Since the length L s changes according to the starting position, the ship can approach the pier at the almost same angle regardless of the position she starts the automatic berthing control from. The adjustment of the approach angle is mainly made by the length L e . In case of other (18) ships, it is possible to change the approaching angle to the pier by changing L e .

Path following
In this study, the pure pursuit algorithm [25] is adopted as a path following control algorithm. The pure pursuit is a very simple algorithm that only performs simple geometric calculations to determine the direction of heading. This algorithm is practical and widely used because of its high robustness [26]. As shown in Fig. 10, the pure pursuit performs turning control so that the ship reaches target point on a predefined directional path a certain distance ahead. The distance from the closest point of ship's GNSS position on the path to the target point is called the look ahead distance denoted by L T .
Here, GNSS is an abbreviation for the Global Navigation Satellite System such as Global Positioning System (GPS) and Quasi-Zenith Satellite System (QZSS). Then, rudder angle is calculated based on the angle error T using a PD heading controller. The command value of rudder is computed using T , with the maximum ±45 • as follows.
where K P and K D are the proportional and the derivative gain of the heading controller, respectively. For this reason, in the gain design of the heading controller, it is recommended to set a larger value of K P than usual HCS settings to increase the followability for the path, taking into account the followability for the section with the Fig. 9 Path planning using a cubic Bézier curve with control points Fig. 10 Geometry of the pure pursuit algorithm 1 3 greatest curvature on the path. In this case, it is necessary to pay attention to the upper limit of K P so that the heading control itself does not become unstable [27]. The look ahead distance L T is set at 26.4 m, which is 1.6 times L pp , based on results of simulations and the full-scale ship experiments of following control of circular paths. The look ahead length L T is basically fixed, but if the distance of the closest point on the path to the ship is greater than L T due to disturbance, the closest point on the path is used as the target point. In addition to path planning, it is necessary to calculate the target point beyond the berthing position when the ship is close to the pier, so a straight path is extended from point B 3 to be parallel to the pier.

Speed control
The ship's speed is controlled by the operation of the clutch during the automatic berthing control. The control system of the experimental ship used in this study can operate the main engine telegraph and clutch to control the ship speed. On the other hand, in consideration of measures against mechanical loads to the main engine and safety in actual ship experiments, this time, it was decided to carry out the berthing control by fixing the main engine speed to the idling speed. Therefore, the speed can be controlled only by switching the clutch. The clutch can take three states of forward, neutral and reverse. The ship's speed was controlled by the clutch in the four control sections shown in Fig. 8 as follows: (1) In the path following mode, the clutch is set to forward.
(2) In the neutral mode, the clutch is set to neutral and switched to forward when the surge velocity drops to u < 1.0 m/s due to such as a strong headwind. (3) In the turning mode, the clutch is set to neutral, but the clutch is switched to forward when one of the following three conditions is met: Due to the restriction of the experimental sea area explained in Sect. 5, it is assumed to berth the ship at its starboard side. On the other hand, the direction of the inequality sign in (A) in (3) is reversed for berthing the ship port side. In case that the difference between T becomes large but the ship speed is not sufficiently small, rapid turning by kick ahead maneuvering using propeller forward rotation will not be performed during the turning mode. As shown, the clutch will not be set to reverse for deceleration except in the stopping mode. This is to prevent the main engine from being overloaded by switching the clutch forward and reverse.

Environment and setting of full-scale ship experiments
The full-scale ship experiments were performed in the sea area at Innoshima Marina (Hiroshima, Japan) to validate the novel automatic berthing system. The implementation of the whole control program is written in Python. The real-time calculation of control inputs was performed using MacBook Pro [Core i7 (quad core, 2.8 GHz), RAM 16 GB]. The frequency of communication with the PLC system is set to 100 ms. This frequency determines the maximum frequency of the control loop. Figure 11 shows a map of the test sea area. There is a floating pier, and the ship will berth with the starboard side. As shown in Fig. 11, there is a shallow sea area near the floating pier in the test sea area, and it is necessary to draw a berthing path to avoid this.

Results
For validation of the automatic berthing system, we present two results of automatic berthing control tests under calm wind and strong wind. First, Fig. 12 shows the experimental results of an automatic berthing control in calm wind. In Fig. 12, the actual trajectory with the ship's position, the direction and velocity of true wind at intervals of 10 s on the left, and the states of the clutch corresponding to the trajectory are shown in color on the right. The measured values of this case are shown in Fig. 13. The distance in Fig. 13 represents the direct distance between the berthing position and the QZSS position of the ship. The deviation from the path decreases as the distance to the pier becomes small. On the other hand, it can be seen that the heading angle is adjusted by putting the clutch in the forward position intermittently during the turning mode. In this case, the speed controller keeps the surge velocity u to about 1.0 m/s, so that the ship can stop with enough time to slow down within the stopping mode. The stern is brought significantly close to the pier. There is almost no vibration in the heading angle due to the increased proportional gain in this situation. On the other hand, there are concerns about the load on the main engine due to the frequent clutch changes during the turning mode. Since performance of path following is satisfactory, the control law for clutch switching needs to be improved while balancing the path following performance. Figures 14 and  15 show the result of the automatic berthing control under a strong wind to observe tracking performance against wind disturbance. The mean of the true wind speed in this case was 5.42 m/s, and there were scenes it reaches 8.0 m/s. In this situation, the deviation from the path became larger than the previous result, but it did not increase until the berthing ends even after the neutral mode. The deviation of the path is compensated by increasing the rudder angle. However, the deviation from the path did not decrease until the end, and the ship made a sharp turn just before the berthing. Moreover, the heading angle has begun to oscillate, indicating the need to tune the gains of the PD heading controller in consideration of the balance between followability and course stability. The frequency of the clutch switch was reduced compared to the previous example, but we consider that this could be due to the crosswinds the ship received.

Heading control on approaching pier
When the distance between the ship and the pier is small, approaching the pier with the ship's bow facing the pier may give a sense of fear to operators. At the same time, this kind of approach increases the risk of the bow colliding with the pier. Thus, it is important to adequately control the change in the heading angle when approaching the pier for safety. The ship is equipped with a bow thruster, but we decided not to use the bow thruster in this study because we were concerned about the load on the bow thruster during continuous operation. And the yaw moment using the bow thruster is small when ship at forward speed. Thus, the heading angle during approach to the pier is adjusted by adding the correction angle add to the T when calculates the command rudder angle by the pure pursuit in the turning mode and the stopping mode as follows.  Figure 16 shows a geometric meaning of add for heading control during approach to the pier. By adding add , the ship starts turning earlier than the original algorithm. The results of automatic berthing using Eq. (21) changing add is shown in Fig. 17. By increasing add , T is increased when the distance from the berthing position is small. In particular, when add = −5 • s, T is positive for most of the time during the approach to the pier. This means that the ship is approaching the pier facing parallel to or away from the pier. On the other hand, there is no significant difference in the terminal heading angle due to the change in add . Hence, this method is effective for controlling the heading angle when approaching the pier without changing the path.
Here, a correction angle add is introduced to adjust the heading angle during approach to the pier. On the other hand, there is another way to redesign the path of the Bézier curve itself for the appropriate heading angle at the berthing position. The latter approach is simpler, however, the trajectory will not always follow the path in this case. Besides, there is almost no control margin at the extreme low speed state in the turning mode and later, and very complicated control is performed using the kick ahead and drifting to control the heading angle. Although it is possible to finally reach the berthing position by this approach, operator cannot judge whether the present state is normal or not during automatic berthing control. Hence, the method using the correction angle add was adopted from the viewpoint of usability.

Conclusions
A new system of automatic berthing control using path following control has been developed. The performance of the system was verified using the experimental ship Shinpo with this system on board under various wind conditions.
To carry out full-scale ship experiment, we constructed the onboard control system centering on PLC which enables to control the ship by a laptop computer. In addition, we constructed the mathematical model of maneuvering motion at low speed with main engine idling based on the measurement result of full-scale ship experiments.  Proposed algorithm consists of path planning, path following and speed control. Path following algorithm is designed actual trajectories by a human operators and a path is expressed by a Bézier curve. Path following algorithm is pure pursuit. This approach is practical because of parameters of heading control can be determined based on the settings of HCS installed on a ship. Ship's speed is controlled depending on the control modes.
In the verification of the automatic berthing system using the full-scale ship, the system has controlled the ship to follow the automatic generated Bézier path stably and brought the ship to berth successfully when the true wind speed was less than 3 m/s. Although the deviation from the path becomes larger than that at calm wind condition, berthing was finally made even at higher true wind speed.
The stability of the path following control by the pure pursuit is also shown in the scope of the experiments. However, it is not yet enough for the analysis required for the   basic parameter design of the path following performance or for the applicability to other types of ship. In addition, a safe path planning method that considers the surrounding geometry and a condition of disturbance is required to improve our algorithm. These issues need to be solved in future research.