IEEE Robotics & Automation Magazine - September 2019 - 43

shows the surge velocity response due to a step increase of
5° in the commanded pitch angle of the two main thrusters. At a pitch angle of 5°, the thrusters output about 5% of
the maximum thrust force. We see that the rate of change
of the thruster itself is limited to 1.4°/s, such that it takes
approximately 3.5 s to reach 5°. Furthermore, the time
spent to reach a surge velocity of 63% of the steady-state
value of 0.37 m/s is 50 s.
During normal DP operation, there will be no step function inputs because the controller reaches a relatively fixed
command vector to compensate for the external disturbances.
However, perturbations in thruster commands occur due to
imperfect wave filtering, causing set-point changes in the
range of -0.5 to 0.5°. To ensure that the input vector to
the machine-learning algorithms contains information of the
most significant transient effects due to changes in thruster
commands, we include 10 s of history data for each input
variable. Similar delays are seen for the tunnel thrusters.
Delays also exist between the vessel velocity and changes in
wind velocity and direction.
Position Estimation Concept
Two networks predict the horizontal velocity components
of the vessel: one predicts the surge velocity and one the
sway velocity. This makes it possible to provide a custom
network in terms of input pattern for each of the velocities
expressed relative to the horizontal axes of the vessel
frame of reference. After an initial network learning
phase, the proposed approach does not rely on samples
produced by a GNSS. Inputs to the networks are therefore
available up to and including the discrete step k. This
enables a prediction of the velocities at the subsequent
time step, k + 1. To get from a predicted velocity to a predicted traveled distance in the NED frame, the predicted
velocity is multiplied by the sampling time and rotated
according to the heading angle. At this point, the traveled
distance due to the predicted velocity, Dp in Figure 4, is
added to the previously estimated position. The propagation of position is given by

LSTM
An LSTM network was used to model how the velocity of the
vessel relates to the inputs. LSTM networks differ from feedforward networks in that they have weight connections
between all nodes that are not input nodes [26]. To avoid the
problem of vanishing/exploding gradients for back-propagation-through-time learning, Hochreiter and Schmidhuber
devised a unit called a memory cell [27], which contains a
constant error carousel (CEC) unit that aims to keep the error
flow constant through a unity self-connection. A linear activation is used in the CEC. In addition to the CEC, the memory cell contains two multiplicative gate units that control the
access of input signals and output signals to the CEC. Because
LSTM networks are particularly well suited for learning the
relationship between events separated by a long time delay, we
include this network in our analysis. Due to the large inertia
North

vlon

"

vN

vN

vE

vlon

"

where pt is the estimated north-east position of the vessel in
the NED frame, vt is the predicted velocity vector relative to
the vessel-frame coordinate system, and R (}) is the square
rotation matrix that transforms the predicted velocities to
NED-frame velocities. vt contains the surge and sway velocity
of the vessel [variables (vt lon, vt lat) of Figure 4]. k is the discrete
step index with a step interval of Dt = t [k] - t [k - 1] . A
visual representation of the process is given in Figure 4.
At time t [k], the horizontal position is measured using
the signal received from GNSS satellites. At the next time
step, t [k + 1], the receiver on the vessel fails to produce the
position of the vessel via GNSS signals due to one of the
aforementioned reasons for GNSS unavailability. At this
point, the DR algorithm is activated and provides an

"

(4)
"

pt [k + 1] = pt [k] + R (}) vt [k + 1] Dt ,

estimate of the vessel position through the prediction of the
surge (vt lon) and sway (vt lat) velocities seen in Figure 4.
Together, they make up the velocity vector vt [k + 1] of (4).
By design, the method proposed in this article, the LSTM
recurrent neural network, receives only input variables that
contain information about external disturbances, the heading angle, and the control intention of the vessel. Measurable
external disturbances include the wind velocity and wind
direction for the system used in this article. Although systems exist for measuring and estimating wave spectrum
parameters in the vicinity of the vessel [23], [24] as well as
for measuring the velocity and direction of the ocean current affecting the hull [25], we limit the environmental
sensory equipment to sensors that are currently available
in the system. A key assumption at this stage is that the
velocities relative to the vessel frame are available without
bias. If the velocity targets used for training the machinelearning methods contain biases, the error rates during DR
increase significantly.

vlat

∆p
vE
vlat
t [k]

t [k + 1]

East

Figure 4. A switch from normal operation [t(k)] to loss of the
GNSS, requiring a DR system to estimate the position at the next
step without an absolute position measurement.

SEPTEMBER 2019

*

IEEE ROBOTICS & AUTOMATION MAGAZINE

*

43



IEEE Robotics & Automation Magazine - September 2019

Table of Contents for the Digital Edition of IEEE Robotics & Automation Magazine - September 2019

Contents
IEEE Robotics & Automation Magazine - September 2019 - Cover1
IEEE Robotics & Automation Magazine - September 2019 - Cover2
IEEE Robotics & Automation Magazine - September 2019 - Contents
IEEE Robotics & Automation Magazine - September 2019 - 2
IEEE Robotics & Automation Magazine - September 2019 - 3
IEEE Robotics & Automation Magazine - September 2019 - 4
IEEE Robotics & Automation Magazine - September 2019 - 5
IEEE Robotics & Automation Magazine - September 2019 - 6
IEEE Robotics & Automation Magazine - September 2019 - 7
IEEE Robotics & Automation Magazine - September 2019 - 8
IEEE Robotics & Automation Magazine - September 2019 - 9
IEEE Robotics & Automation Magazine - September 2019 - 10
IEEE Robotics & Automation Magazine - September 2019 - 11
IEEE Robotics & Automation Magazine - September 2019 - 12
IEEE Robotics & Automation Magazine - September 2019 - 13
IEEE Robotics & Automation Magazine - September 2019 - 14
IEEE Robotics & Automation Magazine - September 2019 - 15
IEEE Robotics & Automation Magazine - September 2019 - 16
IEEE Robotics & Automation Magazine - September 2019 - 17
IEEE Robotics & Automation Magazine - September 2019 - 18
IEEE Robotics & Automation Magazine - September 2019 - 19
IEEE Robotics & Automation Magazine - September 2019 - 20
IEEE Robotics & Automation Magazine - September 2019 - 21
IEEE Robotics & Automation Magazine - September 2019 - 22
IEEE Robotics & Automation Magazine - September 2019 - 23
IEEE Robotics & Automation Magazine - September 2019 - 24
IEEE Robotics & Automation Magazine - September 2019 - 25
IEEE Robotics & Automation Magazine - September 2019 - 26
IEEE Robotics & Automation Magazine - September 2019 - 27
IEEE Robotics & Automation Magazine - September 2019 - 28
IEEE Robotics & Automation Magazine - September 2019 - 29
IEEE Robotics & Automation Magazine - September 2019 - 30
IEEE Robotics & Automation Magazine - September 2019 - 31
IEEE Robotics & Automation Magazine - September 2019 - 32
IEEE Robotics & Automation Magazine - September 2019 - 33
IEEE Robotics & Automation Magazine - September 2019 - 34
IEEE Robotics & Automation Magazine - September 2019 - 35
IEEE Robotics & Automation Magazine - September 2019 - 36
IEEE Robotics & Automation Magazine - September 2019 - 37
IEEE Robotics & Automation Magazine - September 2019 - 38
IEEE Robotics & Automation Magazine - September 2019 - 39
IEEE Robotics & Automation Magazine - September 2019 - 40
IEEE Robotics & Automation Magazine - September 2019 - 41
IEEE Robotics & Automation Magazine - September 2019 - 42
IEEE Robotics & Automation Magazine - September 2019 - 43
IEEE Robotics & Automation Magazine - September 2019 - 44
IEEE Robotics & Automation Magazine - September 2019 - 45
IEEE Robotics & Automation Magazine - September 2019 - 46
IEEE Robotics & Automation Magazine - September 2019 - 47
IEEE Robotics & Automation Magazine - September 2019 - 48
IEEE Robotics & Automation Magazine - September 2019 - 49
IEEE Robotics & Automation Magazine - September 2019 - 50
IEEE Robotics & Automation Magazine - September 2019 - 51
IEEE Robotics & Automation Magazine - September 2019 - 52
IEEE Robotics & Automation Magazine - September 2019 - 53
IEEE Robotics & Automation Magazine - September 2019 - 54
IEEE Robotics & Automation Magazine - September 2019 - 55
IEEE Robotics & Automation Magazine - September 2019 - 56
IEEE Robotics & Automation Magazine - September 2019 - 57
IEEE Robotics & Automation Magazine - September 2019 - 58
IEEE Robotics & Automation Magazine - September 2019 - 59
IEEE Robotics & Automation Magazine - September 2019 - 60
IEEE Robotics & Automation Magazine - September 2019 - 61
IEEE Robotics & Automation Magazine - September 2019 - 62
IEEE Robotics & Automation Magazine - September 2019 - 63
IEEE Robotics & Automation Magazine - September 2019 - 64
IEEE Robotics & Automation Magazine - September 2019 - 65
IEEE Robotics & Automation Magazine - September 2019 - 66
IEEE Robotics & Automation Magazine - September 2019 - 67
IEEE Robotics & Automation Magazine - September 2019 - 68
IEEE Robotics & Automation Magazine - September 2019 - 69
IEEE Robotics & Automation Magazine - September 2019 - 70
IEEE Robotics & Automation Magazine - September 2019 - 71
IEEE Robotics & Automation Magazine - September 2019 - 72
IEEE Robotics & Automation Magazine - September 2019 - 73
IEEE Robotics & Automation Magazine - September 2019 - 74
IEEE Robotics & Automation Magazine - September 2019 - 75
IEEE Robotics & Automation Magazine - September 2019 - 76
IEEE Robotics & Automation Magazine - September 2019 - 77
IEEE Robotics & Automation Magazine - September 2019 - 78
IEEE Robotics & Automation Magazine - September 2019 - 79
IEEE Robotics & Automation Magazine - September 2019 - 80
IEEE Robotics & Automation Magazine - September 2019 - 81
IEEE Robotics & Automation Magazine - September 2019 - 82
IEEE Robotics & Automation Magazine - September 2019 - 83
IEEE Robotics & Automation Magazine - September 2019 - 84
IEEE Robotics & Automation Magazine - September 2019 - 85
IEEE Robotics & Automation Magazine - September 2019 - 86
IEEE Robotics & Automation Magazine - September 2019 - 87
IEEE Robotics & Automation Magazine - September 2019 - 88
IEEE Robotics & Automation Magazine - September 2019 - 89
IEEE Robotics & Automation Magazine - September 2019 - 90
IEEE Robotics & Automation Magazine - September 2019 - 91
IEEE Robotics & Automation Magazine - September 2019 - 92
IEEE Robotics & Automation Magazine - September 2019 - 93
IEEE Robotics & Automation Magazine - September 2019 - 94
IEEE Robotics & Automation Magazine - September 2019 - 95
IEEE Robotics & Automation Magazine - September 2019 - 96
IEEE Robotics & Automation Magazine - September 2019 - 97
IEEE Robotics & Automation Magazine - September 2019 - 98
IEEE Robotics & Automation Magazine - September 2019 - 99
IEEE Robotics & Automation Magazine - September 2019 - 100
IEEE Robotics & Automation Magazine - September 2019 - 101
IEEE Robotics & Automation Magazine - September 2019 - 102
IEEE Robotics & Automation Magazine - September 2019 - 103
IEEE Robotics & Automation Magazine - September 2019 - 104
IEEE Robotics & Automation Magazine - September 2019 - 105
IEEE Robotics & Automation Magazine - September 2019 - 106
IEEE Robotics & Automation Magazine - September 2019 - 107
IEEE Robotics & Automation Magazine - September 2019 - 108
IEEE Robotics & Automation Magazine - September 2019 - 109
IEEE Robotics & Automation Magazine - September 2019 - 110
IEEE Robotics & Automation Magazine - September 2019 - 111
IEEE Robotics & Automation Magazine - September 2019 - 112
IEEE Robotics & Automation Magazine - September 2019 - Cover3
IEEE Robotics & Automation Magazine - September 2019 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2010
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2010
https://www.nxtbookmedia.com