Download as pdf or txt
Download as pdf or txt
You are on page 1of 20

future internet

Article
Research on a Support System for Automatic Ship
Navigation in Fairway
Van Suong Nguyen
Faculty of Navigation, Vietnam Maritime University, Haiphong 180000, Vietnam;
nguyenvansuong@vimaru.edu.vn; Tel.: +84-385-895-922

Received: 28 December 2018; Accepted: 23 January 2019; Published: 3 February 2019 

Abstract: In previous investigations, controllers for the track-keeping of ships were designed with
the assumption of constant ship speed. However, when navigating in a fairway area, the ship’s
speed is usually decreased to prepare for berthing. The existing track-keeping systems, which are
applied when the ship navigates in the open sea with a constant ship speed, cannot be used to
navigate the ship in the fairway. In this article, a support system is proposed for ship navigation in
the fairway. This system performs three tasks. First, the ship is automatically controlled by regulating
the rudder to follow planned tracks. Second, the ship’s speed is reduced step by step to approach
the berth area at a low speed. Finally, at low speed, when the ship’s rudder is not effective enough
to control the ship’s heading to a desired angle, the ship’s heading is adjusted appropriately by the
bow thruster before changing the control mode into the automatic berthing system. By the proposed
system, the automatic systems can be combined to obtain a fully automatic system for ship control.
To validate the effectiveness of this proposed system for automatic ship navigation in the fairway,
numerical simulations were conducted with a training ship model.

Keywords: automatic ship navigation; fuzzy logic; fairway; bow thruster; wind disturbance

1. Introduction
Marine navigation plays an important role in maritime transportation and sea environment
protection. To ensure ships’ operation safely and effectively from berth to berth, modern equipment
has been produced to assist the deck officers in ship control and maneuvering. In fact, the ship
navigation process includes three stages. First, the ship is navigated by autopilot to keep the ship
heading on the desired course, and the autopilot is usually adjusted manually to track the planned
route; this stage is conducted in open sea at the full speed of the main engine and is subject to an
insignificant effect of waves. Second, the ship is controlled by the helmsmen in the fairway of the port
area to continue on the planned track. In this stage, the ship’s speed is decreased at an appropriate time
so that the ship is led to a certain area. In the last step of this stage, the ship heading is brought into the
desired one before performing the berthing process. Finally, the ship is maneuvered into the berth by
changing the rudder angle and propeller revolution simultaneously. In the second and third stages,
the control process for ship navigation is fully operated by the navigators. With the development
of a global economy, new requirements have been introduced into shipping transport, such as the
optimization of the amount of crew on board, energy saving, and cost reductions in ship operation. For
that purpose, the automation of ship operation is a feasible solution to reduce the amount of crew and
operation cost. To date, many reports have been undertaken regarding the automation of the issues
of ship motion control, such as ship course keeping, track-keeping, automatic berthing, automatic
collision avoidance, and so on. This research is seen as the basis for automatic machines and systems
in the real world for maritime applications.

Future Internet 2019, 11, 38; doi:10.3390/fi11020038 www.mdpi.com/journal/futureinternet


Future Internet 2019, 11, 38 2 of 20

The first automatic steering mechanism for ships was introduced by Sperry in 1911 [1], and
the proportional-integral-derivative (PID)-based autopilot was constructed in 1922 by Minorski [2].
The task of this autopilot is the course-keeping control of ships. To enhance the performance of this
function, different theories of control engineering were proposed, such as artificial neural networks,
fuzzy logic, the back-stepping algorithm, sliding mode control, adaptive control, optimal control, and
so on. However, these course-keeping systems have no ability to track a predetermined route, especially
under strong external disturbance. In fact, navigators have to set a new course for the autopilot
manually rather than automatically. To obtain the track-keeping ability from the course-keeping
function for ship control systems, the drift distance determined from the ship to the route needs to be
described when designing the controller. In addition, this function was also developed for unmanned
surface vehicles. However, when designing the controller, these control systems either simplified ship
dynamic models or considered the ship speed as a constant value. Therefore, these systems are only
employed
Future to follow
Internet 2018, a ship’s
10, x FOR route in open sea, and they have difficulty in satisfying the demand
PEER REVIEW 2 of 20of
track-keeping systems of ships in maritime practice when ships navigate in a fairway area. On the
otherThehand,
first since the ship
automatic motion
steering is complex
mechanism foratships
low speed, the berthing
was introduced controlin
by Sperry system
1911 [1],needs
andexact
the
controllers to regulate the rudder
proportional-integral-derivative and propeller
(PID)-based simultaneously.
autopilot was constructed To assistin 1922the by
ship in maneuvering
Minorski [2]. The
processes
task of thisatautopilot
low speed, is auxiliary devices, such
the course-keeping as bow
control of thrusters
ships. Toand azimuth
enhance thepropellers
performance are installed
of this
in ships to increase their maneuverability.
function, different theories of control engineering were proposed, such as artificial neural networks,
fuzzy As summarized
logic, above, there
the back-stepping are two sliding
algorithm, main systems
mode proposed to navigate
control, adaptive the ship
control, automatically;
optimal control,
these are the track-keeping control system of a ship in the open sea and
and so on. However, these course-keeping systems have no ability to track a predetermined route, the automatic berthing system
of the ship.
especially The strong
under ship’s speeds
externalindisturbance.
the automatic In berthing system are
fact, navigators have absolutely
to set a new different
course to those
for thein
the track-keeping
autopilot manuallysystem ratherinthan the open sea. Therefore,
automatically. to achieve
To obtain the atrack-keeping
fully automatic system
ability for the
from ship
navigation in future, an automatic navigation system of a ship in the fairway
course-keeping function for ship control systems, the drift distance determined from the ship to the is needed in combination
with the
route needs above-mentioned
to be describedsystems, which is proposed
when designing in this study.
the controller. This system,
In addition, is illustrated
this function as in
was also
Figure 1, performs
developed for unmanned three tasks:
surfaceFirst, the ship’s
vehicles. rudder
However, whenis automatically
designing the controlled
controller, bythese
a fuzzy logic
control
controller
systems to track
either the planned
simplified route; second,
ship dynamic modelsthe orship’s speed the
considered is decreased
ship speed byasthea PID controller
constant value.to
approach the
Therefore, these berth area atare
systems a low
onlyspeed; finally,to
employed when
followthe aship’s
ship’srudder
routeisinnot openeffective enough
sea, and theyathave
a low
speed to change the ship’s heading to the desired angle, the ship heading
difficulty in satisfying the demand of track-keeping systems of ships in maritime practice when is adjusted appropriately by
the bow
ships thruster
navigate in abefore
fairway berthing
area. Onmaneuvering.
the other hand,The since
bow thruster
the shipismotion
also regulated
is complex by aatsecond fuzzy
low speed,
controller.
the berthing To control
illustratesystem
the effectiveness
needs exact of this system, numerical
controllers to regulate simulations
the rudder were conducted
and propeller with
training ship of Mokpo Maritime University. The results showed that
simultaneously. To assist the ship in maneuvering processes at low speed, auxiliary devices, such asthe proposed system has the
performance
bow thrusters necessary
and azimuth for propellers
automatic areshipinstalled
navigation in thetofairway
in ships increase area.
their maneuverability.

Automaticnavigation
Figure1.1.Automatic
Figure navigationsystem
systemofofa aship
shipinina afairway.
fairway.

As summarized above, there are two main systems proposed to navigate the ship automatically;
these are the track-keeping control system of a ship in the open sea and the automatic berthing
system of the ship. The ship’s speeds in the automatic berthing system are absolutely different to
those in the track-keeping system in the open sea. Therefore, to achieve a fully automatic system for
ship navigation in future, an automatic navigation system of a ship in the fairway is needed in
combination with the above-mentioned systems, which is proposed in this study. This system, is
illustrated as in Figure 1, performs three tasks: First, the ship’s rudder is automatically controlled by
Future Internet 2019, 11, 38 3 of 20

2. Literature
Since the PID algorithm-based autopilot was proposed in 1922 by Minorski [2], many different
autopilots have been studied using modern control theories to improve the course-keeping quality.
For example, the autopilots were considered based on fuzzy set theory [3], the neural networks
combined with back-stepping algorithm [4–6], adaptive control [7], disturbance rejection control [8],
and optimal control [9]. Course-keeping autopilots with the function of ship collision avoidance
was suggested in References [10,11]. However, when there are external disturbances acting on the
ship like wind, current and waves, course keeping autopilots have difficulties tracking the planned
route, especially in strong disturbances. With the development of satellite guidance technology,
track-keeping functions can be developed from course-keeping autopilots. For this purpose, the cross
tracking error needs to be considered in the controllers. In research [12,13], precision maneuvering
and adaptive autopilots were introduced for track-keeping. In References [14–17], the authors
used neural networks to approach this problem. In studies [18–20], a sliding mode technique was
applied through combination with a pre-filter and a high gain observer for damping the disturbance.
In research [21,22], the controllers were enhanced to perform both track-keeping and roll reduction
functions in ocean waves.
In comparison with others, fuzzy logic is considered a suitable approach because it has the ability
to perform the wheel alteration of ship as helmsman’s action with the perception and inference of
input levels. As suggested in research [23], the authors proposed the fuzzy track-keeping system
by suggesting the use of two sub-autopilots. In this system, first the fuzzy controller is used to
control the ship course, and a second one is employed to regulate the distance off-set. For more
confidence, the track-keeping of the ship was, as shown in the experiment model [24]. To enhance the
adaptive nature of the fuzzy system, the research shown in Reference [25] developed a track-keeping
system with a Sugeno-type and adjustable scaling factors mechanism. Recently, the authors in
Reference [26] also employed fuzzy track-keeping control in ship maneuvering systems. Although the
above-mentioned systems obtained significant results for track-keeping, they were only constructed
under the assumption that the ship’s speed is constant. This means that these track-keeping systems
are only suitable on the open ocean – not for inland waterways or channels.
Concurrently, many studies regarding automatic berthing systems have been published based
on intelligent control theory. The process of ship berthing is carried out at low speed, when ship
maneuverability is reduced significantly. Automatic ship berthing is therefore usually regarded as
a difficult issue in the field of ship control. One of the most promising applications to berthing
automation is neural networks, which has the ability to perform the berthing steps similarly to how
it is done by the human brain. Results in automatic berthing with parallel structures were proposed
in Reference [27]. Later on, ship berthing was proposed with the assistance of bow thrusters and
tugboats [28]. As developed by the authors in Reference [29], a virtual window was used to create
instructive data for the controller. Berthing at different ports is recorded in References [30,31]. Another
approach, which examined via the research in Reference [32], used an adaptive back-stepping control
for a cruise ship under wind power. However, using a neural network or another approach for
automatic ship berthing requires the ship’s speed to be necessarily low. Therefore, in order to adapt
to automatic ship berthing systems and track-keeping systems on the open ocean, an automatic ship
navigation system in the fairway environment is necessary. The proposed system has three tasks:
(1) Tracking of the ship’s route in a fairway, (2) decreasing the ship’s speed, and (3) bringing the ship’s
heading to the desired heading before starting the ship berthing process.

3. Mathematical Model of Ship Motion

3.1. Ship Kinematics


To determine the state of dynamic ship movement (position, heading, and velocity), kinematics
equations are applied. These equations show the relationship of ship parameters in two reference
Future Internet 2019, 11, 38 4 of 20

frames: The2018,
Future Internet Earth-fixed
10, x FORreference frame O-ηξ and the body-fixed reference frame G-xy. The origin
PEER REVIEW 4 of of
20
the body-fixed reference frame is placed at the center of gravity of the ship, as described in Figure 2.
By neglecting ship motions in directions, such as heave, pitch, and roll, the transformation
transformation between
these reference frames
frames isis expressed
expressed by
by Equation
Equation (1)
(1) as
as follows:
follows:

η𝜂 = u
𝑢 cos
cos ψ
𝜓 − v𝑣 sin
sin ψ
𝜓
.

.
ξ𝜉 = u𝑢 sin
sin ψ
𝜓 + v𝑣 cos
cosψ𝜓 (1)
(1)
.
𝜓 = r𝑟
ψ

2. Ship dynamic in Cartesian reference frame.


Figure 2.
Figure

3.2. Ship Dynamic Model


3.2. Ship Dynamic Model
To solve the problems of ship maneuvering or ship control systems, the mathematical model of
To solve the problems of ship maneuvering or ship control systems, the mathematical model of
the ship needs to be described first. This model has to represent the precise characteristics of the ship
the ship needs to be described first. This model has to represent the precise characteristics of the ship
in the real world. Ship motions, such as surge, sway and yaw are enough to express the dynamic
in the real world. Ship motions, such as surge, sway and yaw are enough to express the dynamic
characteristics of the ship on the Cartesian coordinate system.
characteristics of the ship on the Cartesian coordinate system.
The Maneuvering Modeling Group (MMG) model has been employed in this research to show
The Maneuvering Modeling Group (MMG) model has been employed in this research to show
ship motion during the berthing process, in which the hydrodynamic components (forces and moments
ship motion during the berthing process, in which the hydrodynamic components (forces and
acting on the ship) were divided into separate modules, such as the hull, rudder, propeller, tugboat
moments acting on the ship) were divided into separate modules, such as the hull, rudder, propeller,
and thruster. According to MMG model, the maneuvering equation of the ship is shown as follows:
tugboat and thruster. According to MMG model, the maneuvering equation of the ship is shown as
follows: . 
(m + m x )u − m + my vr = X H + XP + XR + XW ,
𝑚 𝑚 . 𝑢 𝑚 𝑚 𝑣𝑟 𝑋 𝑋 𝑋 𝑋 ,
m + my v + (m + m x )ur = YH + YP + YR + YW + YThr , (2)
𝑚 𝑚 𝑣 𝑚 . 𝑚 𝑢𝑟 𝑌 𝑌 𝑌 𝑌 𝑌 , (2)
( Izz + Jzz )r = NH + NR + NW + NThr ,
where u, v, and r are the ship’s velocity
𝐼 𝐽 in 𝑟the surge,
𝑁 𝑁sway𝑁and 𝑁 yaw,directions, respectively; XH , YH ,
and NH are the hydrodynamic forces and moments acting on the ship’s hull. They are defined by the
where u, v, and r are the ship’s velocity in the surge, sway and yaw directions, respectively; XH, YH,
Kijima equations [33], employed as in Equation (3):
and NH are the hydrodynamic forces and moments acting on the ship’s hull. They are defined by the
Kijima equations [33], employed as in ρ Equation
 (3): 
2 0 0 2 rL
X H = 𝜌LdU X βr sin β + Xuu cos β 𝑟𝐿
𝑋 2 𝐿𝑑𝑈 𝑋 sin 𝛽 𝑋 cos 𝛽 U
2 𝑈
𝜌 𝑟𝐿 𝑟𝐿 𝑟𝐿 𝑟𝐿 𝑟𝐿 rL 2
!
𝑌
ρ 2𝐿𝑑𝑈 0 𝑌 𝛽 0 rL
𝑌 0𝑌 𝛽|𝛽| 𝑌0 rL rL 𝑌 0 𝛽 2 rL 𝑌 𝛽0 (3)

YH = LdU 2 Yβ β + Yr 𝑈+ Yββ β| β| + Yrr 𝑈 𝑈 + Yββr β 𝑈 + Yβrr β𝑈 (3)
2 U U U U U
𝜌 𝑟𝐿 𝑟𝐿 𝑟𝐿 𝑟𝐿 𝑟𝐿
𝑁 𝐿 𝑑𝑈 𝑁 𝛽 𝑁 𝑁 𝛽|𝛽| 𝑁 𝑁 𝛽 𝑁  𝛽 2 !,
ρ 2 rL 𝑈 0 𝑈 𝑈
0 rL rL rL𝑈 rL𝑈
N = L2 dU 2 Nβ0 β + Nr0 0
β2 0

+ Nββ β| β| + Nrr + Nββr + Nβrr β ,
where 𝑋 H, 𝑋 2, … . , 𝑁 , and 𝑁 are U hydrodynamic coefficients
U U which Uare assumed Uas the method
described by the authors [33].
The longitudinal force of the propeller is determined as follows:
𝑋 1 𝑡 𝑇 (4)
Future Internet 2019, 11, 38 5 of 20

0 , X 0 , . . . ., N 0 , and N 0 are hydrodynamic coefficients which are assumed as the method


where X βr uu ββr βrr
described by the authors [33].
The longitudinal force of the propeller is determined as follows:

X P = (1 − t P ) T (4)

T = ρD4p n2 KT ( J )

The hydrodynamic forces and moment by the rudder are expressed as:

XR = −(1 − t R ) FN sin δ

YR = −(1 + a H ) FN cos δ (5)

NR = −( x R + a H x H ) FN cos δ,

where
ρ
FN = f α (Λ) A R UR2 sin α R . (6)
2
Considering the dynamic model of the bow thruster on ship maneuvering, the method of
Hawkins et al. [34] was proposed. This model was also employed in the research of Tran and Im [28].
The expression is shown as follows:
!
w02 · L3 · H
T = 512· , (7)
M02

where T is the total lateral thrust of impeller and surface forces; wo and L are the rate of turn and length
on the load water line; H is the ship’s draft; Mo is the rotation rate constant. Tf and TS are the outputs
from the bow and stern thrusters, respectively, making the forces in the y-axis and moments in the
z-axis yielded by the side thrusters expressed as:
(
YThr = T f + TS
. (8)
NThr = T f xb + TS xs

In this research, the thruster is only used in bow positioning and the tugboat is made fast astern.
Thus, the components TS and TugS become zero in Equations (7) and (8), respectively.
In this study, in order to predict the hydrodynamic coefficients, the training ship (named
SAENURI) of Mokpo National Maritime University was employed as the model ship. The particulars
of this ship are shown in Table 1. Hydrodynamic coefficients predicted by the Kijima model are
presented in Table 2.

Table 1. Principle ship particulars.

Type Training Ship


Length Overall 103 [m]
Length between perpendiculars 94 [m]
Breadth 15.6 [m]
Draft 5.4 [m]
Thruster (Bow) 49,000 [N]
Transverse projected area 183.3 [m2 ]
Lateral projected area 1053.7 [m2 ]
Future Internet 2019, 11, 38 6 of 20

Table 2. Ship hydrodynamic coefficients.

Coefficient Value Coefficient Value


X βr0 0
Yβrr
−0.5012 −0.3561
Xuu0 0.183 Nβ0 0.1379
Yβ0 0.2496 Nr0 −0.0488
0
Yr0 0.0542 Nββ −0.0782
Yββ0 0
0.8755 Nrr −0.0430
0 0
Nββr
Yrr −0.0028 −0.0480
0
Yββr 0
Nβrr
0.8937 −0.3789

3.3. The Effect of Wind


In a study performed by Isherwood [35], the effect of wind on merchant ships was carried out at
different laboratories. Empirical formulas were derived in order to calculate the force and the moment
on any merchant ship induced by wind. By applying these formulas, the coefficients are determined as
follows:
2A 2A L S C
CX = A0 + A1 2 L + A2 2T + A3 OA + A4 + A5 + A6 M
LOA B B LOA LOA
2AL 2A L S C A
CY = B0 + B1 2
+ B2 2T + B3 OA + B4 + B5 + B6 SS (9)
LOA B B LOA LOA AL
2AL 2A L S C
CN = C0 + C1 2
+ C2 2T + C3 OA + C4 + C5 ,
LOA B B LOA LOA

where CX is the coefficient of the longitudinal component of the wind force; CY is the coefficient of the
lateral component of the wind force; and CN is the coefficient of the wind-induced yawing moment.
(A0 ~A6 , B0 ~B6 , C0 ~C5 ) are Isherwood’s coefficients in the above equations.
In order to define the wind-induced forces and moments acting on the ship, the following
equations are used:
1
XW = CX ρV2R AT
2
1
YW = CY ρV2R AL (10)
2
1
NW = CN ρV2R AL LOA ,
2
where, XW is the longitudinal component of wind force; YW is the lateral component of wind force; NW
is the yawing moment; VR is the relative wind speed on the ship; and LOA is the overall length of ship.
In this research, ship motion is assumed to be affected by wind alone. However, in reality there are
a number of different disturbances at work, such as currents and waves. Because the ship is navigating
in a fairway, and free board is significantly more than the ship’s draft, the effects of current and waves
can be ignored. In cases of tankers or bunker vessels, the effects of current and waves should be taken
into account in the ship dynamic model. To determine the effects of current and waves on ship motion,
one must calculate the forces and moments induced by these disturbances. They would then be placed
into the right side of Equation (2).

4. Automatic Navigation System of a ship in a Fairway

4.1. The Concept of this System


In this research, the automatic ship navigation system is proposed to perform three tasks. First, the
ship’s rudder is automatically controlled to keep it tracking the planned route. To carry out this task,
Future Internet 2019, 11, 38 7 of 20

the fuzzy logic controller is fed with two inputs and one output. The structure of the track-keeping
system proposed in this research is the same as that of others in previous studies.
Second, ship speed is automatically controlled by a PID controller, and is decreased when the ship
approaches the berthing area. The desired speed of the ship in each track is predetermined to ensure
that the ship approaches the berthing area with the desired speed. PID algorithms will calculate the
input signal to control propeller RPM.
Finally, to confirm the feasibility of such an automatic ship berthing system, the ship heading
line needs to be adjusted to the appropriate direction concurrently with the adjustment of ship speed.
Because the ship’s rudder is ineffective at low speed, the bow thruster is used for directional control
Future Internet 2018, 10, x FOR PEER REVIEW 7 of 20
instead of the ship’s rudder. The fuzzy logic is also designed with this in mind.
The
The system
system includes
includes the
the following
following components:
components: Ship
Ship Route
Route Generator,
Generator, Navigation
Navigation Algorithms,
Algorithms,
aa Decision-Making
Decision-Making Block, and the Control System. The aim of these components is presented in
Block, and the Control System. The aim of these components is presented in the
the
following section. The architecture of the automatic ship navigation system is shown in Figure
following section. The architecture of the automatic ship navigation system is shown in Figure 3. 3.

Figure 3. The
Figure 3. The operational
operational area
area of
of the
the automatic
automatic navigation
navigationsystem.
system.

4.2. Ship Route Generator


4.2. Ship Route Generator
Before beginning a voyage, deck officers must establish an optimal route for the whole voyage.
Before beginning a voyage, deck officers must establish an optimal route for the whole voyage.
Nowadays, with the development of science and technology, route planning for ship navigation can be
Nowadays, with the development of science and technology, route planning for ship navigation can
conducted automatically when the navigators enter the departure and destination points in a personal
be conducted automatically when the navigators enter the departure and destination points in a
computer. The role of this function is to create the waypoints (WPs) for of route. From these known
personal computer. The role of this function is to create the waypoints (WPs) for of route. From these
waypoints, the desired course and speed are easily calculated. Then, in combination with track-keeping
known waypoints, the desired course and speed are easily calculated. Then, in combination with
algorithms, the necessary rudder angles and ship speeds are captured in each segment of the planned
track-keeping algorithms, the necessary rudder angles and ship speeds are captured in each segment
route. In this research, this automatic navigation process for a ship in a fairway was performed by
of the planned route. In this research, this automatic navigation process for a ship in a fairway was
numerical simulations on a computer. Specifically, a fairway in the Mokpo area of South Korea was
performed by numerical simulations on a computer. Specifically, a fairway in the Mokpo area of
South Korea was applied. For this purpose, a route with ten waypoints was created (waypoint No 1
(WP1) to waypoint No 10 (WP10)), as shown in Figure 4.
To be suitable for use in berthing, the ship’s speed must be reduced gradually to avoid
damaging the main engine. In this study, the initial speed of the ship chosen in the numerical
simulation was 8 knots, with a corresponding propeller index of 2.75 (round per second). From WP1
to WP4, the ship speed is maintained at 8 knots. From WP5 to WP8, the propeller index is decreased
Future Internet 2019, 11, 38 8 of 20

applied. For this purpose, a route with ten waypoints was created (waypoint No 1 (WP1) to waypoint
No 10 Internet
Future (WP10)), as10,
2018, shown in Figure
x FOR PEER 4.
REVIEW 8 of 20

Figure4.4.The
Figure Thedesigned
designedroute
routeofofship
shipininfairway.
fairway.

4.3. To be suitable
Navigation for use and
Algorithm in berthing,
Decision the ship’s
Making speed must be reduced gradually to avoid damaging
Block
the main engine. In this study, the initial speed of the ship chosen in the numerical simulation was 8
knots,As withshown in Figure 5, propeller
a corresponding the task here indexisofto2.75
calculate
(roundtheperdesired
second).variables,
From WP1 such
to as course
WP4, (ψd ,
the ship
distance between the ship and the relevant waypoint (d), and the distance
speed is maintained at 8 knots. From WP5 to WP8, the propeller index is decreased to 1.0 rps (as was from the ship to the
ofcurrent
the actual segmentaboard of the
theT/S
planned route (∆).
SAE NURI). Then,Thethe
ship moves
ship’s ahead is
propeller onstopped
each segment
to affectfrom waypoint
the approach
WP (x , y ) to waypoint
toward the WP10 area for berthing.
i-1 d-1 d-1 WP i(x d , y d),. It is assumed that ship position at current time (t) is equal to
OS(xt, yt). In this segment, the desired course angle (ψd ) between the two waypoints WPi-1(xd-1, yd-1)
4.3.
andNavigation
WPi(xd, yd)Algorithm
is: and Decision Making Block
As shown in Figure 5, the task here is to calculate 𝑦 𝑦 desired variables, such as course (ψd ),
the
ψd = arctan . (11)
distance between the ship and the relevant waypoint𝑥(d), and 𝑥 the distance from the ship to the current
segment Theofcross
the planned route
track error (∆).
from The
the ship
ship to moves ahead
the current on eachofsegment
segment fromroute
the planned waypoint
(∆) isWP d-1 ,
i-1 (xby:
given
yd-1 ) to waypoint WPi (xd , yd ),. It is assumed that ship position at current time (t) is equal to OS(xt , yt ).
In this segment, the desired course angle ∆ (ψd ) 𝑎𝑥 𝑡
between 𝑏𝑦the𝑡 two𝑐waypoints
, WPi-1 (xd-1 , yd-1 ) and WP(12)i (xd ,
yd ) is: √𝑎 𝑏
yd − yd−1 of the line constructed by waypoints
 
where x(t), y(t) are the ship position; a, b, c
ψd = arctan are coefficients . (11)
d − xd−1as:
(WPi-1(xd-1, yd-1) and WPi(xd, yd)). The coefficients arexdefined
The cross track error from the ship to the
𝑎 current
1 segment of the planned route (∆) is given by:

∆𝑏 = 𝑦 √ 𝑦
ax (t) + by(t) + c
, (13)
(12)
𝑥 𝑥a2 + b2
where x(t), y(t) are the ship position; a, b, c are 𝑦coefficients 𝑦 of the line constructed by waypoints
𝑦
(WPi-1 (xd-1 , yd-1 ) and WPi (xd , yd )).𝑐The 𝑥coefficients . as:
𝑥are defined
𝑥
The distance between the ship and waypoint
a= − WP
1 i(xd, yd) is calculated as follows:
d= (xd–x(t))2 + (yd - y(t))2. (14)
Future Internet 2019, 11, 38 9 of 20

y d −1 − y d
b= (13)
x d − x d −1
y d − y d −1
 
c = x d + y d −1 .
x d − x d −1
The distance between the ship and waypoint WPi (xd , yd ) is calculated as follows:
q
d= ( xd − x (t))2 + (yd − y(t))2 . (14)
Future Internet 2018, 10, x FOR PEER REVIEW 9 of 20

Figure 5. The heading angle from ship to waypoint.


Figure 5. The heading angle from ship to waypoint.
The ship reaches the current waypoint (WPi ) with a certain remaining distance (d). The distance
The ship reaches
(d0 ) determines the current
the margin for thewaypoint (WPi) to
course change with
theanext
certain remaining
waypoint. distance
If the (d).
distance (d)The distance
is less than
(d0) determines the margin for the course change to the next waypoint. If the distance (d) is less than
the fixed distance (d0 ), then the controller will alter the ship rudder angle to change the ship heading
the fixedthe
toward distance (d0), then(WP
next waypoint the controller will alter the ship rudder angle to change the ship heading
i+1 ). By applying this rule, the ship course controller will change the
toward the next waypoint
ship course to the new waypoint. (WP i+1). By applying this rule, the ship course controller will change the

ship To
course to the
change thenew waypoint.
operating modes of the proposed system, the decision-making block is used.
According to the correlation ofmodes
To change the operating of the proposed
ship position system,
and ship track, theblock
this decision-making block is used.
chooses the corresponding
According to the correlation of ship position and ship track, this block chooses the
controllers. For example, in (Figure 4), from waypoint No.1 to waypoint No. 6, only the track-keeping corresponding
controllers.isFor
controller usedexample, in (Figure
to control the ship4), from
with waypoint
the rudder.No.1 to waypoint
From way-pointNo.No.6
6, only
to the track-keeping
waypoint No. 9,
controller is used to control the ship with the rudder. From way-point No.6 to
the track-keeping controller and the speed controller are operated simultaneously. On the segmentwaypoint No. 9, the
track-keeping controller and the speed controller are operated simultaneously.
between way-point No.9 to waypoint No. 10, the heading stabilizing controller is activated to bring On the segment
between
the way-point
ship heading No.9
to the to waypoint
desired angle for No. 10,berthing
the the heading stabilizing controller is activated to bring
process.
the ship heading to the desired angle for the berthing process.
4.4. Control System
4.4. Control System
4.4.1. Ship Track-Keeping Controller
4.4.1.For
Shipthe
Track-Keeping
track-keeping Controller
purpose of the ship, the fuzzy logic controller is designed using a
Mamdani-type and bisectorpurpose
For the track-keeping method.ofThe theproposed
ship, the controller
fuzzy logicincludes four issets
controller of membership
designed using a
functions:
Mamdani-typeThreeand for input signals
bisector and one
method. Thefor the output
proposed signal. The
controller three inputs
includes four setsconsist of the cross
of membership
track error,Three
functions: the heading
for inputerror, and
signals theone
and yawforrate of the ship.
the output signal.The
Theoutput is the consist
three inputs ship rudder
of theangle.
cross
The
trackparameters of this controller
error, the heading are
error, and shown
the in Table
yaw rate 3. ship. The output is the ship rudder angle. The
of the
Input set
parameters of 1:
this+VB (−VB) signifies
controller are shown a very 3. from the route to the left (right); +B (−B): is big
big error
in Table
+M (−
error;Input setM):
1: is medium
+VB error; Zero:
(−VB) signifies is small
a very error,from
big error see Figure 6a. to the left (right); +B (−B): is big
the route
error; +M (−M): is medium error; Zero: is small error, see Figure 6a.
Input set 2: +VB (−VB) signifies as very big heading error to the port (starboard) side; +B (−B): is
big heading error; +M (−M): is medium heading error; +S (−S): is small heading error; Zero: is very
small heading error, see Figure 6b.
Input set 3: +B (−B) signifies a fast yaw rate to the starboard (port); +M (−M): is slow yaw rate; +S
(−S): is very slow yaw rate; Zero: is small error, see Figure 6c.
Output set: +B (−B) signifies a big rudder angle to the starboard (port); +M (−M): is medium
rudder angle; +S(−S): is small rudder angle; Zero: is rudder angle set to zero, see Figure 6d.
Future Internet 2018, 10, x FOR PEER REVIEW 10 of 20

Future Internet 2019, 11, 38 Table 3. The parameters of track-keeping controller. 10 of 20

Fuzzy Logic Zones of Membership Functions


Variable Name (Unit)
Controller and Their Parameters
Table 3. The parameters of track-keeping controller.
+VB (−VB): (zmf [100 70])
Zones of Membership Functions
Fuzzy Logic Controller Variable Name (Unit) +B (−B):and (trapmf
Input set 1 Cross track error (meters) Their[100 80 46 35])
Parameters
+M (−M): (trapmf [45 35 10 4])
+VB (−VB): (zmf [100 70])
Zero:
+B (− (trimf [−6 0 [100
B): (trapmf 6]) 80 46 35])
Input set 1 Cross track error (meters)
+VB
+M(−VB): (trapmf[45
(−M): (trapmf [90359010804])75])
+BZero:
(−B):(trimf
(trapmf[−6[800 6])75 15 12])
Input set 2 Heading error (Degrees) +M+VB(−M): (trapmf
(−VB): (trapmf[16[9012 90
4 2.5])
80 75])
+S+B (−B):
(−S): (trapmf
(trimf [800])
[3 1.5 75 15 12])
Input set 2 Heading error (Degrees) +M (−M): (trapmf [16 12 4 2.5])
Zero: (trimf [−1.2 0 1.2])
+S (−S): (trimf [3 1.5 0])
+BZero:
(−B):(trimf
(zmf [[3 2])0 1.2])
−1.2
+M (−M): (trapmf [3 2.5 0.8 0.3])
Input set 3 Yaw rate (Degrees/second) +B (−B): (zmf [3 2])
+S+M
(−S):
(−(trimf [0.7 0.2
M): (trapmf 0.1])
[3 2.5 0.8 0.3])
Input set 3 Yaw rate (Degrees/second)
Zero:
+S (− (trimf [−0.1
S): (trimf 0 0.2
[0.7 0.1])0.1])
+BZero:
(−B):(trimf
(trapmf[−0.1[350 35
0.1])
25 8])
+M (−B):(trapmf
+B(−M): (trapmf [35[1035 8 6254])
8])
Output set Ship rudder angle (Degrees) +M (−(trapmf
M): (trapmf [10 8 6 4])
Output set Ship rudder angle (Degrees) +S (−S): [6 4 2 0])
+S (−S): (trapmf [6 4 2 0])
Zero: (trimf [−1 0 1])
Zero: (trimf [−1 0 1])

(a)

(b)
Figure 6. Cont.
Future Internet 2019, 11, 38 11 of 20
Future Internet 2018, 10, x FOR PEER REVIEW 11 of 20

(c)

(d)
Figure 6. Membership
Membership functions of three inputs and one output of track-keeping controller: (a) Cross
tracking error; (b) heading error; (c) yaw rate; (d) rudder angle.

Input
The set 2: +VB
inference (−VB) signifies
knowledge as very big heading
of the track-keeping erroristoestablished
controller the port (starboard)
based on side; +B (−rules
reasoning B): is
big heading
between the error;
inputs+Mand(− M):
the is medium
output. Theseheading error;
rules take the +S
form(−S):
of: is small heading
IF…THEN…, forerror; Zero: is very
example:
smallIFheading error,
(Crosssee Figure
track error 6b.
is +VB) and (Heading error is +VB) and (Yaw-rate is –B)
THEN +B (−
Input set 3:(Ship B) signifies
rudder fast yaw rate to the starboard (port); +M (−M): is slow yaw rate;
angle isa+B)
+S (−InS):this
is very slow yaw
example, rate;
these Zero:
rules is small
can error, see Figure
be understood 6c. When the ship is on left of the
as follows:
Output set: +B ( − B) signifies a big rudder angle to the
planned route with very big distance, and ship heading error is very large starboard (port); +M (−port
toward M): side,
is medium
and a
rudder
fast shipangle; +S(−to
yaw rate S):port,
is small
thenrudder angle;
the ship’s Zero: needs
rudder is rudder angle
to be set to
altered to zero,
hard see Figure to
starboard 6d.bring the
The inference
ship back onto the knowledge
planned route of the track-keeping
as fast as possiblecontroller is established
and stabilize the ship’s based
headingon on
reasoning rules
the route. In
between
this study, the inputs
441 rulesand
were the output. These
constructed rules take
to perform thethe form of:ofIF
inference . . controller.
the . THEN . . . , for example:
IF (Cross track error is +VB) and (Heading error is +VB) and (Yaw-rate is −B)
4.4.2.THEN
Ship Speed(ShipController
rudder angle is +B)
In this example, these rules can be understood as follows: When the ship is on left of the planned
The aim of this controller is to gradually decrease the ship’s speed in each segment of the
route with very big distance, and ship heading error is very large toward port side, and a fast ship yaw
planned track. By using the PID (Proportional-Integral-Derivate) algorithm, as shown in Figure 7,
rate to port, then the ship’s rudder needs to be altered to hard starboard to bring the ship back onto
the controller calculates the propeller signal for the ship dynamic model to obtain ship speed.
the planned route as fast as possible and stabilize the ship’s heading on the route. In this study, 441
According to the PID control theory, the error between the desired and actual speed is used as the
rules were constructed to perform the inference of the controller.
input signal for the PID controller. The control signal (n) is the ship’s propeller RPM, and will be
calculated and fed into the ship dynamics. By choosing suitable parameters for the controller (KP, Ki,
Kd), PID control law ensures that the actual speed of the ship always follows the desired value.
The error between the desired speed and actual one is defined as follows:
Future Internet 2018, 10, x FOR PEER REVIEW 12 of 20

Future Internet 2019, 11, 38


e t = ud - u t . (15)
12 of 20
The PID control law is given as follows:
t
4.4.2. Ship Speed Controller de t
n = Kp e t +Ki e τ dτ +Kd . (16)
0 dt
The aim of this controller is to gradually decrease the ship’s speed in each segment of the planned
track.ToBydetermine the(Proportional-Integral-Derivate)
using the PID PID control parameters, several methods
algorithm, exist.inThe
as shown manual
Figure method,
7, the controller
Nichols-Ziegler,
calculates the propeller signal for the ship dynamic model to obtain ship speed. According to thehas
genetic algorithm, etc. is one of them. Ship dynamics studied in this research a
PID
high
controlnonlinear in aerror
theory, the 3DOF system,the
between sodesired
the manual turning
and actual method
speed is applied
is used to determine
as the input signal for the
the PID
PID
parameters.
controller. The control signal (n) is the ship’s propeller RPM, and will be calculated and fed into the
ship In this research,
dynamics. Kp = −1;suitable
By choosing Ki = −0.05; Kd = −0.6
parameters forwere determined
the controller (KPby, Kthe
i , Kdmanual method
), PID control for
law gains
ensures
of P, the
that I, and D elements,
actual speed of respectively.
the ship always follows the desired value.

Figure
Figure 7.
7. The
Thescheme
schemeof
ofship’s
ship’sspeed
speed control
control using
using proportional-integral-derivative
proportional-integral-derivative (PID)
(PID) algorithm.

4.4.3.The error Stabilizing


Heading between theController
desired speed and actual one is defined as follows:

Because the rudder at low speed ise(ineffective,


t) = (ud − the
u(t))bow
. thruster is used to bring the ship’s
(15)
heading onto the desired angle. To automatically control the ship’s heading by the bow thruster, a
second
Thefuzzy controller
PID control lawisisalso proposed.
given This controller includes two inputs and one output. The
as follows:
inputs consist of heading error and yaw rate while Z t
the output is the pushing force by the bow
thruster. Each variable of the controller has seven membership de(t)
n = Kp e(t) + Ki e(τ)dτ + Kd function
. sets with variables: −B, −M,
(16)
dt
−S, Zero, +S, +M, and +B. The membership functions for these parameters are shown in Table 4. The
0

membership functions
To determine theofPID
the controller are presented
control parameters, in Figure
several 8.
methods exist. The manual method,
Nichols-Ziegler, genetic algorithm, etc. is one of them. Ship dynamics studied in this research
Table 4. The parameters of heading controller.
has a high nonlinear in a 3DOF system, so the manual turning method is applied to determine the
PID parameters.
Fuzzy Logic Variable Name Zones of Membership Functions and
In this research, Kp = −1; Ki(Unit)
Controller = −0.05; Kd = −0.6 were determined Their by the manual method for gains
Parameters
of P, I, and D elements, respectively. +B (−B): (trapmf [180 180 130 110])
Heading error +M (−M): (trimf [130 85 42])
Input Stabilizing
4.4.3. Heading set 1 Controller
(Degrees) +S (−S): (trimf [53 27 0])
Because the rudder at low speed is ineffective, the Zero:
bow(trimf
thruster[−1.5 0 1.5])to bring the ship’s heading
is used
+B (−B):
onto the desired angle. To automatically control the ship’s (trapmf
heading by[1the1 bow
0.8 0.5])
thruster, a second fuzzy
Yaw rate +M (−M): (trimf [0.6 0.4 0.22])
controller is also proposed. This controller includes two inputs and one output. The inputs consist of
Input set 2
heading error and yaw rate while (Degrees/sec) +S (−S):force
the output is the pushing (trimfby[0.4
the0.2
bow 0])thruster. Each variable of
the controller has seven membership function sets with Zero: (trimf [−0.1
variables: −B,0−0.1])
M, −S, Zero, +S, +M, and +B.
The membership functions for these parameters are+B (−B): in
shown (trimf
Table[10,000
4. The10,000 9500]) functions of
membership
the controller are presented in Figure 8. +M (−M): (trimf [8500 8000 7500])
Output set Bow Thruster (N)
+S (−S): (trimf [4500 4000 3500])
Zero: (trimf [−500 0 500])

Input set 1: +B (−B) signifies a big heading error to the starboard (port) side; +M (−M): is medium
heading error; +S (−S): is small heading error; Zero: is very small heading error, see Figure 8a.
Future Internet 2019, 11, 38 13 of 20

Table 4. The parameters of heading controller.


Future Internet 2018, 10, x FOR PEER REVIEW 13 of 20
Zones of Membership Functions
Fuzzy Logic Controller Variable Name (Unit)
and+M
Input set 2: +B (−B) signifies a fast yaw rate to the starboard (port); Their Parameters
(−M): is slow yaw rate; +S
(−S): is very slow yaw rate; Zero: is small error, see Figure 8b. +B (−B): (trapmf [180 180 130 110])
Input setInput
3: +Bset
(−B) bow thruster+M −M): (trimf
to (push [130 85 42])from the port
1 signifies aHeading
big force by (Degrees)
error the ship’s bow
+S (−S): (trimf [53 27 0])
(starboard) to opposite side; +M (−M): is medium pushing force; +S (trimf
Zero: (−S): is[−small pushing force; Zero:
1.5 0 1.5])
is pushing force set to zero, see Figure 8c.
+B (−B): (trapmf [1 1 0.8 0.5])
Output set: Heading error range is limited from −180 to +180 +M (−degrees.
M): (trimfThe [0.6yaw rate is bounded
0.4 0.22])
Input 2set
from −1.0 degree/s to 21.0 degree/s2,Yaw
andrate
the(Degrees/sec)
output is determined
+S (−from −10,000
S): (trimf N0])
[0.4 0.2 to 10,000N. In the
membership functions for the pushing force of the bow thruster, Zero: (trimf
there [−are
0.1 0seven
0.1]) triangle zones
which are distributed symmetrically across a “0” value. Three+B zones
(−B):at the negative
(trimf axis9500])
[10,000 10,000 are used to
push the ship’s bow from starboard to port. To complete +M
the (−M):of
design (trimf
the [8500 8000 7500])
controller, 49 inference
Output set Bow Thruster (N)
rules were built as Table 5. +S (−S): (trimf [4500 4000 3500])
Zero: (trimf [−500 0 500])

(a)

(b)

Figure 8. Cont.
Future Internet 2019, 11, 38 14 of 20
Future Internet 2018, 10, x FOR PEER REVIEW 14 of 20

(c)
Figure 8.
8. The
The membership
membership functions
functions of
of the
the controller:
controller:(a)
(a)Heading
Headingerror;
error;(b)
(b)yaw
yawrate;
rate;(c)
(c)bow
bowthruster.
thruster.

Input set 1: +B (−B) signifies a big


Table 5. Theheading
reasoningerror
rulestoofthe starboard
heading (port) side; +M (−M): is medium
controller.
heading error; +S (−S): is small heading error; Zero: is very small heading error, see Figure 8a.
Heading Error
Input set 2: +B (−B) signifies a fast yaw rate to the starboard (port); +M (−M): is slow yaw rate;
−B error,
+S (−S): is very slow yaw rate; Zero: is small −M see −SFigure Z 8b. +S +M +B
−B +B +B +B +B +M +S −M
Input set 3: +B (−B) signifies a big force by bow thruster to push the ship’s bow from the port
(starboard) to opposite side; +M (− −MM): is+B +B pushing
medium +B +M +S(−S):Zis small
force; +S −M pushing force; Zero:
−S
is pushing force set to zero, see Figure 8c.+B +B +M +S Z −S −B
Yaw Rate
Output set: Heading Z is +B
error range +Mfrom+S
limited −180 to Z +180 −Sdegrees.
−M The −Byaw rate is bounded
2 +S 2 +B +S Z −S −M
from −1.0 degree/s to 1.0 degree/s , and the output is determined from −10,000 −B −B N to 10,000N. In the
+M +M Z −S −M −B
membership functions for the pushing force of the bow thruster, there are seven −B −Btriangle zones which
are distributed symmetrically across +B a “0”
+Mvalue.
−S Three
−Mzones −Bat the−Bnegative
−B axis
−B are used to push the
ship’s bow from starboard to port. To complete the design of the controller, 49 inference rules were
5. Numerical
built as Table Simulation
5. and Result Discussion

5.1. The Conditions and Requirements of the


Table 5. The Simulation
reasoning rules of heading controller.

In this section, numerical simulations were carried outError


Heading in MATLAB to verify the effectiveness of
the proposed system for automatic ship navigation in a fairway environment. For simulation
−B −M −S Z +S +M +B
purposes, the latitude and longitude of the Mokpo area were normalized into non-dimensional units
−B +B +B +B +B +M +S −M
by using the equations given in (17):
−M +B +B +B +M +S Z −M
Because the dimensions of the −Sport+B
area (longitude
+B +M and +S latitude)
Z and
−S the−B length of the ship are
shortened in computer simulations,
Yaw Rate Z the
+B port
+M area+Sand ship
Z length
−S −M −B normalized into a
must be
+S +B +S Z −
non-dimensional form by dividing the latitude and longitude to S − M the−B −Bof the ship (L). The
length
+M +M Z − S − M − B − B
geographical coordinates of Mokpo fairway area (Figure 4) and the ship position − B were normalized to
+B +M −S −M −B −B −B −B
non-dimensional form (non-dimensional unit) as the following form:
Longitude Latitude
ηʹ =
5. Numerical Simulation and Result Discussion , ξʹ = . (17)
L L

TheConditions
5.1. The non-dimensional area of the
and Requirements Mokpo
of the fairway is shown in Figure 9. The planned route for
Simulation
ship navigation included waypoints which were marked by “plus” symbols.
In this section, numerical simulations were carried out in MATLAB to verify the effectiveness of
The details of these points are as follows: Waypoints (non-dimensional latitude,
the proposed system for automatic ship navigation in a fairway environment. For simulation purposes,
non-dimensional longitude) = (−29, −40); (−33, −30.3); (−30, −26); (−3, −7.3); (5.5, −5); (6.3, 0.5); (5, 6);
the latitude and longitude of the Mokpo area were normalized into non-dimensional units by using
(0, 10.5); (0, 12.5); and (4, 13.5). The initial position of the ship is located at a point having the
the equations(−48,
coordinates given in (17):
−15) with 4 (m/s) in surge velocity and a propeller rev/sec of 2.75 (the effect of
wind disturbance is assumed to be 5 knots in velocity from North (N) to South (S).
Future Internet 2019, 11, 38 15 of 20

Because the dimensions of the port area (longitude and latitude) and the length of the ship
are shortened in computer simulations, the port area and ship length must be normalized into
a non-dimensional form by dividing the latitude and longitude to the length of the ship (L).
The geographical coordinates of Mokpo fairway area (Figure 4) and the ship position were normalized
to non-dimensional form (non-dimensional unit) as the following form:

Longitude 0 Latitude
η0 = , ξ = . (17)
L L
The non-dimensional area of the Mokpo fairway is shown in Figure 9. The planned route for ship
navigation
Future Internetincluded waypoints
2018, 10, x FOR which were marked by “plus” symbols.
PEER REVIEW 15 of 20

Figure
Figure 9. Mokpo
9. Mokpo fairway
fairway simulation
simulation planned
planned routeroute
after after normalizing
normalizing the latitude
the latitude and longitude.
and longitude.

The details of these points are as follows: Waypoints (non-dimensional latitude, non-dimensional
The proposed system consists of three functions with respect to ship control: First, the ship is
longitude) = (−29, −40); (−33, −30.3); (−30, −26); (−3, −7.3); (5.5, −5); (6.3, 0.5); (5, 6); (0, 10.5);
brought to first waypoint WP1 to start the track-keeping process. The first fuzzy controller is
(0, 12.5); and (4, 13.5). The initial position of the ship is located at a point having the coordinates
activated to regulate the ship’s rudder and control the ship to track along the planned route from
(−48, −15) with 4 (m/s) in surge velocity and a propeller rev/sec of 2.75 (the effect of wind disturbance
(WP1) to (WP10). Second, the propeller’s PRM is decreased from 2.75 to 0 (rps) by the PID controller
is assumed to be 5 knots in velocity from North (N) to South (S).
when the ship arrives at waypoints (WP6, WP7, WP8, WP9), respectively. At waypoint (WP9), the
The proposed system consists of three functions with respect to ship control: First, the ship is
ship’s engine is stopped so that the ship approaches (WP10) on only its own residual inertia. Finally,
brought to first waypoint WP1 to start the track-keeping process. The first fuzzy controller is activated
the heading stabilizing controller is employed to bring the ship’s heading onto 346.5 degrees (this
to regulate the ship’s rudder and control the ship to track along the planned route from (WP1 ) to
direction is appropriate for approaching the wharf point from (WP9)). In this stage, the rudder’s
(WP10 ). Second, the propeller’s PRM is decreased from 2.75 to 0 (rps) by the PID controller when the
effectiveness is not sufficient to turn the ship’s heading independently. Therefore, the bow thruster
ship arrives at waypoints (WP6 , WP7 , WP8 , WP9 ), respectively. At waypoint (WP9 ), the ship’s engine
is proposed as an effective solution when the ship is difficult to control by rudder alone. After
is stopped so that the ship approaches (WP10 ) on only its own residual inertia. Finally, the heading
completing tasks of automatic ship navigation, this system can be combined with an automatic ship
stabilizing controller is employed to bring the ship’s heading onto 346.5 degrees (this direction is
berthing system to bring the ship from area WP10 to the wharf point.
appropriate for approaching the wharf point from (WP9 )). In this stage, the rudder’s effectiveness is
not Automatic
5.2. sufficient to
Shipturn the ship’s
Navigation in heading independently.
Fairway with the Proposed Therefore,
System the bow thruster is proposed as
an effective solution when the ship is difficult to control by rudder alone. After completing tasks of
The results
automatic of the numerical
ship navigation, simulation
this system of combined
can be the proposed
withsystem are shown
an automatic shipinberthing
Figure 10, and the
system to
time
bringhistory
the shipof from
the ship
areacontrol
WP10 toprocess is presented
the wharf point. in Figure 11. The ship at the start is very far from
the first waypoint (WP1), so the ship’s heading was kept steady until the ship is at the first waypoint.
For track-keeping via the proposed system, at the points (WP1), (WP2), the rudder was altered to port
(−35°) to keep the ship on the route while the rudder was also changed to (+35°) to starboard at (WP5)
and (WP7). In the segment between (WP3) and (WP4), the rudder was steady kept amidships by the
track-keeping function of the system. At the waypoints (WP1), (WP2), (WP3), and (WP4), the yaw rate
had negative values at these waypoints. At three times between (WP5) and (WP8), the yaw rate had
Future Internet 2019, 11, 38 16 of 20

5.2. Automatic Ship Navigation in Fairway with the Proposed System


The results of the numerical simulation of the proposed system are shown in Figure 10, and the
time history of the ship control process is presented in Figure 11. The ship at the start is very far from
the first waypoint (WP1 ), so the ship’s heading was kept steady until the ship is at the first waypoint.
For track-keeping via the proposed system, at the points (WP1 ), (WP2 ), the rudder was altered to port
(−35◦ ) to keep the ship on the route while the rudder was also changed to (+35◦ ) to starboard at (WP5 )
and (WP7 ). In the segment between (WP3 ) and (WP4 ), the rudder was steady kept amidships by the
track-keeping function of the system. At the waypoints (WP1 ), (WP2 ), (WP3 ), and (WP4 ), the yaw rate
had negative values at these waypoints. At three times between (WP5 ) and (WP8 ), the yaw rate had
positive values. The track cross error is maximum at the waypoints because the ship’s rudder is altered
to the next waypoint when the ship is near to the current waypoint. With the ship is stable on the route,
the track cross error converged to zero, (Figure 10). Meanwhile, for the function of speed reduction,
from the sixth waypoint (at time = 1818 s), the propeller revolution was reduced to slow down the
ships’ speed, and the main engine of the ship was stopped at the ninth waypoint (WP9 ). At the ninth
Future Internet
waypoint (WP2018,
9 ), 10, x FOR PEER
because REVIEW
the ship’s speed was low, the cross track error tended to increase even16ifofthe 20

rudder was effective and was set to its maximum angle (−35 ). It was difficult to keep the ship on
shiptrack
this on this
(fromtrack
(WP (from (WP9 to WP10). In order to avoid a loss of control in this case, the bow
9 to WP10 ). In order to avoid a loss of control in this case, the bow thruster was
thruster was activated by
activated by the heading stabilizing the heading stabilizing
controller. Thecontroller. The of
pushing force pushing
the bowforce of the
thruster bow
was thruster
calculated
was calculated based on the heading error and yaw rate. At time (2516 s),
based on the heading error and yaw rate. At time (2516 s), the heading error was a maximum (102the heading error was a
◦ ) to
maximum the
starboard, (102°)
yawtorate starboard, the(◦yaw
was −0.05 rate the
/s), and wasbow
−0.05 (°/s), and
thruster forcethe bow
was set thruster
to −8000force
(N) towas setthe
push to
−8000 (N) to push the ship’s bow from starboard to port until
ship’s bow from starboard to port until the heading error converged to zero. the heading error converged to zero.

Figure 10. The track of ship controlled by an automatic navigation system under the wind disturbance
Figure 10. The track of ship controlled by an automatic navigation system under the wind
(velocity 5 knots, direction from N to S).
disturbance (velocity 5 knots, direction from N to S).

After completing the automatic navigation process, the ship is brought to (WP10). At this point,
the ship control process is changed into automatic berthing mode with low speed ship motion. The
berthing problem noted in researches [27,28,29,30,31] can adapt to the proposed navigation system.
In Figure 12, the automatic berthing process described in References [27,28,29,30,31] uses a neural
network controller to regulate the rudder angle and the propeller revolution simultaneously.
Future Internet 2019, 11, 38 17 of 20
Future Internet 2018, 10, x FOR PEER REVIEW 17 of 20

20 40

Rudder angle
WP8 WP9
WP4
0 20
Latitude
X: 384
WP5WP6 WP7
(m/L)

(deg)
Y: -29.04 WP10 0
-20
WP3PEER REVIEW WP1 -20
-40 2018, 10, WP2
Future Internet x FOR 17 of 20
-40
0 500 1000 1500 2000 2500 0 500 1000 1500 2000 2500
20 t [s] 40 t [s]
5

angle
WP8 WP9
WP4
0 20 20
Latitude
Longitude

(round/s)
Propeller
X: 384
WP5WP6 WP7
(m/L)

(deg)
(m/L)

Y: -29.04 WP10 00
-20

Rudder
-20
WP1WP1 WP3 -20
-40 -40 WP2
-40
-5
0 0 500500 1000
1000 1500
1500 2000
2000 2500
2500 00 500
500 1000
1000 1500
1500 2000
2000 2500
2500
t [s]
t [s] 0.55
t [s]
t [s]
8
Surge velocity

20

Yaw rate
6
Longitude

(round/s)
Propeller
(deg./s)
0 4
(m/L)

00
(m/s)

-20 2
0 WP1
-40 -2 -0.5
0 -50 500 1000 1500 2000 2500
0 500500 1000
1000 1500
1500 2000
2000 2500
2500 0 500 1000 1500 2000 2500
t [s] t [s]
t [s]
400 t [s] 0.5
(m/s) angle

8
error
100
velocity

6 Yaw rate
4200 (deg./s)
(deg)
(deg)

00
Heading

Heading

2
Track-cross Surge

0 -100
0
-2 0 500 1000 1500 2000 2500 -0.50 4 500 1000 1500 2000 2500
0 500 1000 t1500
[s] 2000 2500 0x 10 500 1000 t [s]1500 2000 2500
t [s] t [s]
Bow Thruster

400200 1
Heading angle
error (m)

error

100
0 0
(N)
(deg)
(deg)

200 0
Heading

-200 -1

0 500 1000 1500 2000 2500 -1000 500 1000 1500 2000 2500
0 t [s] t [s]
0 500 1000 1500 2000 2500 0 4 500 1000 1500 2000 2500
t [s] x 10 t [s]
Figure
Figure 11.11.
TheThe timehistory
time historyofofship
shipmotion
motioncontrolled
controlled by
by the
the automatic
automaticship
shipnavigation
navigationsystem.
system.
Track-cross

Bow Thruster

200 1
error (m)

0 completing the automatic navigation process, the 0ship is brought to (WP ). At this point, the
(N)

After 10
ship control
-200 process is changed into automatic berthing mode -1 with low speed ship motion. The berthing
problem 0noted 500
in researches
1000
[27–31]2000
1500
can adapt
2500
to the proposed
0
navigation
500 1000
system.
1500
In2000
Figure2500
12, the
t [s] t [s]
automatic berthing process described in References [27–31] uses a neural network controller to regulate
the rudder angle
Figure andtime
11. The the propeller revolution
history of ship motion simultaneously.
controlled by the automatic ship navigation system.

Figure 12. The automatic ship berthing system using neural network controller.

5.3. Automatic Ship Navigation in a Fairway without the Heading Stabilizing Controller
As illustrated in Figure 13, the simulation was also carried out without the heading stabilizing
function active. The performance of controlled ship motion from WP1 to WP9 is acceptable. However,
the track cross error between (WP9 and WP10) is large when compared with Figure 10, and the ship
exhibits an increased risk of collision with the wharf. In addition, the ship’s heading cannot track
Figure 12. The automatic ship berthing system using neural network controller.
Figure 12. The automatic ship berthing system using neural network controller.

5.3. Automatic Ship Navigation in a Fairway without the Heading Stabilizing Controller
As illustrated in Figure 13, the simulation was also carried out without the heading stabilizing
function active. The performance of controlled ship motion from WP1 to WP9 is acceptable. However,
the track cross error between (WP9 and WP10) is large when compared with Figure 10, and the ship
Future Internet 2019, 11, 38 18 of 20

5.3. Automatic Ship Navigation in a Fairway without the Heading Stabilizing Controller
As illustrated in Figure 13, the simulation was also carried out without the heading stabilizing
function active. The performance of controlled ship motion from WP1 to WP9 is acceptable. However,
the track
Future cross
Internet error
2018, 10, x between
FOR PEER (WP 9 and WP10 ) is large when compared with Figure 10, and the
REVIEW 18 ship
of 20
exhibits an increased risk of collision with the wharf. In addition, the ship’s heading cannot track
toward
toward thethe wharf
wharf in in this
this situation.
situation. In
In this
this case,
case, itit would
would be
be necessary
necessary to
to employ
employ tugboats
tugboats for
for ship
ship
berthing. Additionally, ififthe
berthing. Additionally, thepropeller
propellerrevolution
revolutionisis not
not reduced
reduced when
when navigating
navigating in the
in the fairway,
fairway, the
the navigation
navigation process
process alsoalso exhibits
exhibits an inability
an inability to approach
to approach thethe wharf
wharf area.
area.

Figure 13.
Figure 13. The track ofof ship
ship controlled
controlled by
by an
an automatic
automatic navigation
navigation system
system without
without the
the heading
heading
stabilizingcontroller.
stabilizing controller.

6.
6. Conclusions
Conclusions
In
In this
thisinvestigation, the support
investigation, systemsystem
the support for automatic ship navigation
for automatic in a fairwayin
ship navigation environment
a fairway
was proposed. Conclusions can be summarized as follows:
environment was proposed. Conclusions can be summarized as follows:
•• This
This system
system isis employed
employed afterafter the
the ship
ship enters
enters the
the fairway
fairway areaarea and
and before
before the
the berthing
berthing process.
process.
This
Thissystem
systemisisresponsible
responsiblefor forthree
threetasks.
tasks.The
Thefirst task
first is is
task automatically
automatically controlling
controllingthethe
rudder
rudderto
follow pre-planned tracks. The second is to decrease the ship’s speed
to follow pre-planned tracks. The second is to decrease the ship’s speed to adapt to the to adapt to the automatic
ship berthing
automatic shipsystem. Third,
berthing the ship’s
system. Third,heading is adjusted
the ship’s headingappropriately before the process.
is adjusted appropriately before the
• The proposed system includes two fuzzy controllers and one PID controller. The first fuzzy
process.
• controller is applied
The proposed to maintain
system includes ship
two track
fuzzybycontrollers
changing the andrudder
one PIDangle while theThe
controller. second
first one is
fuzzy
to stabilize is
controller the heading
applied to error. The ship
maintain PID controller is responsible
track by changing for decreasing
the rudder the ship’s
angle while speedone
the second by
reducing propeller
is to stabilize the RPM.
heading By this
error.proposed
The PIDsystem, the automatic
controller control
is responsible forsystems of thethe
decreasing ship can
ship’s
be combined
speed to obtain
by reducing a fully automatic
propeller RPM. By thissystem for shipsystem,
proposed motionthe control.
automatic control systems of
• the ship can
Numerical be combined
simulations wereto performed
obtain a fully automatic
with the trainingsystem
shipfor ship
from motion
Mokpo control. University
Maritime
• Numerical
to validate thesimulations
effectivenesswere performed
of this system. with the training
The results showedship from Mokpo
the system Maritime
yields acceptable
University tofor
performance validate
automaticthe ship
effectiveness
navigation ofinthis system.area.
a fairway The results showed the system yields
acceptable performance for automatic ship navigation in a fairway area.
In the future, automatic functions for ship collision avoidance will be investigated and
combined for this system.

Acknowledgments: The author thanks the editors and three anonymous reviewers for their constructive
comments, which helped us to improve the manuscript.
Future Internet 2019, 11, 38 19 of 20

In the future, automatic functions for ship collision avoidance will be investigated and combined
for this system.

Funding: This research received no external funding.


Acknowledgments: The author thanks the editors and three anonymous reviewers for their constructive
comments, which helped us to improve the manuscript.
Conflicts of Interest: The author declares no conflict of interest.

References
1. Sperry, E.A. Automatic steering. Trans. Soc. Nav. Archit. Mar. Eng. 1922, 30, 53–61.
2. Minorski, N. Directional stability of automatically steered bodies. J. Am. Soc. Nav. Eng. 1922, 34, 280–309.
[CrossRef]
3. Amerongen, J.V.; Naute Lenke, H.R.; Veen der Van, J.C.T. An autopilot for ships designed by with fuzzy sets.
In Proceedings of the IFAC Conference on Digital Computer Applications to Process Control, The Hague,
The Netherland, 14–17 June 1997; pp. 479–487.
4. Witkowska, A.; Smierzchalski, R. Designing a ship course controller by applying the adaptive backstepping
method. Int. J. Appl. Math. Comput. Sci. 2012, 22, 985–997. [CrossRef]
5. Witkowska, A.; Tomera, M.; Smierzchalski, R. A backstepping approach to ship course control. Int. J. Appl.
Math. Comput. Sci. 2007, 17, 73–85. [CrossRef]
6. Zhang, Q.; Jiang, N.; Hu, Y.; Pan, D. Design of course-keeping controller for a ship based on backstepping
and neural networks. Int. J. e-Navig. Marit. Control 2017, 7, 34–41. [CrossRef]
7. Du, J.; Abraham, A.; Yu, S.; Zhao, J. Adaptive dynamic surface control with Nussbaum gain for course
keeping of ships. Eng. Appl. Artif. Intell. 2014, 27, 236–240. [CrossRef]
8. Liu, S.; Xu, C.; Wang, J. Disturbance rejection control for the course keeping of the fully submerged hydrofoil
craft. In Proceedings of the 35th Chinese Control Conference (CCC), Chengdu, China, 27–29 July 2016;
pp. 747–751.
9. Olsder, G.J. On the time optimal course changing of ships. J. Eng. Math. 1969, 3, 137–150. [CrossRef]
10. Hasegawa, K.; Kouzuki, A. Automatic Collision avoidance system for ships using fuzzy control.
In Proceedings of the 8th Ship Control System Symposium, The Hague, The Netherlands, 6–9 October
1987; Volume 2, pp. 34–58.
11. Hwang, C. The Integrated Design of Fuzzy Collision-Avoidance and H∞-Auto pilots on Ships. J. Navig.
2002, 55, 117–136. [CrossRef]
12. Bertin, D. Track-keeping controller for a precision maneuvering autopilot. In Proceedings of the IFAC
Conference Control Application in Marine Systems, Fukuoka, Japan, 27–30 October 1998; pp. 155–160.
13. Borkowski, P. Adaptive system for steering a ship along the desired route. Mathematics 2018, 6, 196.
[CrossRef]
14. Chen, M.; Ge, S.S.; Choo, Y.S. Neural network tracking control of ocean surface vessels with input saturation.
In Proceedings of the IEEE International Conference on Automation and Logistics, Shenyang, China,
5–7 August 2009; pp. 85–89.
15. Liu, Y.C.; Liu, S.Y.; Wang, N. Fully-tuned fuzzy neural network based robust adaptive tracking control of
unmanned underwater vehicle with thruster dynamics. Neurocomputing 2016, 196, 1–3. [CrossRef]
16. Zhang, G.; Zhang, X.; Zheng, J. Adaptive neural path following control for underactuated ships in fields of
marine practice. Ocean Eng. 2015, 104, 558–567. [CrossRef]
17. Zhang, Y.; Hearn, G.; Sen, P. A neural network approach to ship track-keeping control. IEEE J. Ocean Eng.
1996, 21, 513–527. [CrossRef]
18. Cheng, J.; Yi, J.; Zhao, D. Design of a sliding mode controller for trajectory tracking problem of marine
vessels. IET Control Theory Appl. 2007, 1, 233–237. [CrossRef]
19. Perera, L.; Soares, C.G. Pre-filtered sliding mode control for nonlinear ship steering associated with
disturbances. Ocean Eng. 2012, 51, 49–62. [CrossRef]
20. Qin, Z. Sliding-mode control of path following for underactuated ships based on high gain observer. J. Central
South Univ. 2016, 23, 3356–3364. [CrossRef]
Future Internet 2019, 11, 38 20 of 20

21. Ming-Chung, F.; Jhih-Hong, L. On the track keeping and roll reduction of the ship in random waves using
different sliding mode controllers. Ocean Eng. 2007, 34, 479–488.
22. Ming-Chung, F.; Yu-Hsien, L.; Bo-Jhe, W. Applying the PD controller on the roll reduction and track keeping
for the ship advancing in waves. Ocean Eng. 2012, 54, 13–25.
23. Omerdic, E.; Roberts, G.N.; Vukic, Z. A fuzzy track-keeping autopilot for ship steering. J. Mar. Eng. Technol.
2003, 2, 23–35. [CrossRef]
24. Morawski, L.; Pomirski, J. Ship track-keeping: Experiments with a physical tanker model. Control Eng. Pract.
1998, 6, 763–769. [CrossRef]
25. Velagic, J. Adaptive fuzzy ship autopilot for Track-keeping. Control Eng. Pract. 2003, 11, 433–443. [CrossRef]
26. Gierusz, W.; Nguyen, C.V.; Rak, A. Maneuvering control and trajectory tracking of very large crude carrier.
Ocean Eng. 2007, 34, 932–945. [CrossRef]
27. Im, N.K.; Hasegawa, K. A study on automatic ship berthing using parallel neural controller. J. Kansai Soc.
Nav. Archit. Jpn. 2001, 2011, 65–70.
28. Tran, V.L.; Im, N.K. A study on automatic berthing with assistance of auxiliary devices. Int. J. Nav. Archit.
Ocean Eng. 2012, 4, 199–210. [CrossRef]
29. Ahmed, Y.A.; Hasegawa, K. Automatic Ship Berthing using Artificial Neural Network Trained by Consistent
Teaching Data using Non-Linear Programming Method. J. Eng. Appl. Artif. Intell. 2013, 26, 2287–2304.
[CrossRef]
30. Im, N.K.; Nguyen, V.S. Artificial neural network controller for automatic ship berthing using head-up
coordinate system. Int. J. Nav. Archit. Ocean Eng. 2018, 10, 235–249. [CrossRef]
31. Nguyen, V.S.; Do, V.C.; Im, N.K. Development of automatic ship berthing system using artificial neural
network and distance measurement system. Int. J. Fuzzy Log. Intell. Syst. 2018, 18, 41–49. [CrossRef]
32. Park, J.Y.; Kim, N. Design of an adaptive backstepping controller for auto-berthing a cruise ship under wind
loads. Int. J. Nav. Archit. Ocean Eng. 2014, 6, 347–360. [CrossRef]
33. Kijima, K.; Katsuno, T.; Nakiri, Y.; Furukawa, Y. On the maneuvering performance of a ship with the
parameter of loading condition. J. Soc. Nav. Archit. Jpn. 1990, 168, 141–148. [CrossRef]
34. Hawkins, S.; Taggart, R.; Hoyt, E.D. The Use of Maneuvering Propulsion Devices on Merchant Ships; Report
RT-8518; Contract MA-3293; Robert Taggart, Inc.: Washington, DC, USA, 1965.
35. Isherwood, R.M. Wind Resistance of Merchant Ship. Trans. RINA 1972, 115, 327–338.

© 2019 by the author. Licensee MDPI, Basel, Switzerland. This article is an open access
article distributed under the terms and conditions of the Creative Commons Attribution
(CC BY) license (http://creativecommons.org/licenses/by/4.0/).

You might also like