sensors

Article Performance Evaluation of IMU and DVL Integration in Marine

Gen Fukuda 1,* , Daisuke Hatta 2, Xiaoliang Guo 2 and Nobuaki Kubo 1

1 Department of Maritime Systems Engineering, Tokyo University of Marine Science and Technology, Tokyo 135-8533, Japan; [email protected] 2 Maritime Technology and Logistics, Tokyo University of Marine Science and Technology, Tokyo 135-8533, Japan; [email protected] (D.H.); [email protected] (X.G.) * Correspondence: [email protected]; Tel.: +81-3-5245-7388

Abstract: Global navigation satellite system (GNSS) spoofing poses a significant threat to maritime logistics. Many maritime electronic devices rely on GNSS time, positioning, and speed for safe vessel operation. In this study, inertial measurement unit (IMU) and Doppler velocity log (DVL) devices, which are important in the event of GNSS spoofing or outage, are considered in conventional navigation. A velocity integration method using IMU and DVL in terms of dead-reckoning is investigated in this study. GNSS has been widely used for ship navigation, but IMU, DVL, or combined IMU and DVL navigation have received little attention. Military-grade sensors are very expensive and generally cannot be utilized in smaller vessels. Therefore, this study focuses on the use of consumer-grade sensors. First, the performance of a micro electromechanical system (MEMS)-based yaw rate angle with DVL was evaluated using 60 min of raw data for a 50 m-long ship located in Tokyo Bay. Second, the performance of an IMU-MEMS using three and three accelerometers with DVL was evaluated using the same dataset. A gyrocompass, which is equipped on the ship, is used as a heading reference. The results proved that both methods could  achieve less than 1 km horizontal error in 60 min. 

Citation: Fukuda, G.; Hatta, D.; Guo, Keywords: inertial measurement unit; Doppler velocity log; global navigation satellite system; X.; Kubo, N. Performance Evaluation marine navigation of IMU and DVL Integration in Marine Navigation. Sensors 2021, 21, 1056. https://doi.org/10.3390/s21041056 1. Introduction Academic Editor: Chris Rizos Satellite positioning plays an important role in modern navigation systems. Among Received: 26 December 2020 the existing advanced navigation sensors, only satellite navigation can provide a ship’s Accepted: 1 February 2021 Published: 4 February 2021 absolute position relative to the geocentric coordinate system [1]. When navigating, the marine satellite navigation receiver has an open environment and access to several visible

Publisher’s Note: MDPI stays neutral satellites when located in the middle and at low latitudes, resulting in better position with regard to jurisdictional claims in accuracy. However, the number of ships lost at sea due to global navigation satellite system published maps and institutional affil- (GNSS) spoofing is increasing, according to reports. According to Dryad Global, a maritime iations. security intelligence agency, GNSS interference incidents in the eastern Mediterranean and the Persian Gulf have become more frequent. GNSS interference introduces positioning errors and affects the normal operation of a number of ship’s navigation aids, causing crews to make wrong decisions and posing significant marine security risks [2]. Malicious interference usually occurs near the coast, increasing the risk of vessel grounding. Copyright: © 2021 by the authors. Licensee MDPI, Basel, Switzerland. In the event of GNSS interference, the captain can rely on other navigation sensors. This article is an open access article Inertial measurement unit (IMU) and Doppler velocity log (DVL) systems work indepen- distributed under the terms and dently and are not easily disturbed. An IMU provides high-frequency angular velocity and conditions of the Creative Commons acceleration information; however, it is subject to data bias, which accumulates over time. Attribution (CC BY) license (https:// A high-precision fiber optic (FOG) provides reliable long-term navigation calcu- creativecommons.org/licenses/by/ lations [3], but is too expensive for standard use. Micro electromechanical system (MEMS) 4.0/). sensors are cheap, small, and light, and have sufficient accuracy for some applications [4,5].

Sensors 2021, 21, 1056. https://doi.org/10.3390/s21041056 https://www.mdpi.com/journal/sensors Sensors 2021, 21, 1056 2 of 20

In offshore areas, a DVL provides accurate information on speed over water and speed over ground, but cannot provide course information [6]. Recently, integrated GNSS and inertial navigation systems (GNSS-INS) have been developed that exploit the accuracy of the GNSS together with IMU high-frequency outputs to obtain very smooth positioning results [7,8]. When the GNSS signal is lost, the calculation errors in the integrated navigation system increase with IMU error accumulation. Many researchers have studied single-IMU dead-reckoning navigation and optimized algorithms to reduce error accumulation in IMUs [4,9–14]. Low-pass filtering has been used to optimize the calculation results of low-cost shipboard IMUs [4]. However, the typical error in these systems remains over 100 m after 10 min. The influence of ship vibration, wind, and waves in the offshore environment causes significant noise in IMU attitude updating [11,12]. A “virtual vertical reference” method combined with a has been proposed to reduce IMU error divergence [13]. Nonetheless, under bad weather conditions, the angular error in roll and pitch measurements of low-cost IMUs can be up to 0.09◦. Because the continuous and irregular navigation motion on the sea cannot be corrected by the device itself, low-cost IMUs alone are not reliable for navigation dead-reckoning [14]. Marine DVLs perform well in shallow water. Here, a four-beam DVL sonar, installed under the ship, measures the lateral and longitudinal velocities of the ship by transmitting and receiving sonar [15]. Only a few papers have discussed IMU/DVL coupling, which is used for autonomous underwater vehicle (AUV) navigation. AUV navigation is suitable for navigation along a predetermined fixed path [16]. However, to comply with local traffic center control and avoid collisions with other ships, vessels often cannot follow routing plans in the offshore area. Li et al. combined an IMU and 300 kHz DVL navigation using the least squares method [6]. By initial precise attitude alignment and ring-laser gyroscope, an experimental ship can sail 44 km in a river, with an error of 60 m. In this study, we considered an IMU/DVL dead-reckoning navigation method for offshore vessels, in which significant wind and wave related noise in attitude estimates are expected. Two methods were applied and evaluated: the first was simple dead-reckoning using only the yaw rate of the IMU and DVL, while the second involved the integration of INS/DVL. In the case of simple dead-reckoning, some corrections were applied as follows. The DVL velocity was smoothed with IMU acceleration using a Kalman filter (KF), and the IMU directional accuracy was improved by dynamic zero velocity update (DZUPT). We estimated the bias of the yaw rate of the IMU as accurately as possible before the start of the GNSS outage. In addition, we considered the slip angle by using the yaw rate angle. For the integrated INS/DVL method, we used three gyroscopes and three accelerometers to monitor the attitude (roll, pitch, and yaw) of the ship, and hence improved the accuracy of position estimation. The gyrocompass on board the ship was used as a reference for the heading. To evaluate the methods, we obtained raw data including IMU, DVL, and GNSS from a 50 m training ship at Tokyo University of Marine Science and Technology called “Shiojimaru.” GNSS data were used as the reference points for performance evaluation. They were also used to estimate the IMU bias before the IMU/DVL dead-reckoning started. The difference in position accuracy between the two methods is evaluated and discussed. As for the reference flame, World Geodetic System (WGS)-84 was used for GNSS. Basically, we used Cartesian coordinates for position estimation using GNSS. In addition, ellipsoidal latitude, ellipsoidal longitude, and ellipsoidal height are also used in this paper, and are called geodetic coordinates. Both geodetic and Cartesian coordinates were mathematically related and converted. As for the local cartographic in horizontal plane, we set the reference positions deduced from cm-level RTK-GNSS results in geodetic coordinates and the deviations in horizontal plane were evaluated.

2. Method 1—Dead-Reckoning Navigation Using IMU and DVL This section describes a method using an IMU and DVL to estimate velocity, direction, and position. For the IMU, only a yaw-rate gyroscope is used. GNSS data were used to estimate the direction before the GNSS outage started, as the IMU can detect changes in Sensors 2021, 21, x FOR PEER REVIEW 3 of 21

GNSS results in geodetic coordinates and the deviations in horizontal plane were evalu- ated.

2. Method 1—Dead-Reckoning Navigation Using IMU and DVL Sensors 2021, 21, 1056 This section describes a method using an IMU and DVL to estimate velocity, direc-3 of 20 tion, and position. For the IMU, only a yaw-rate gyroscope is used. GNSS data were used to estimate the direction before the GNSS outage started, as the IMU can detect changes indirection, direction, but but not not direction direction itself.itself. FigureFigure1 1 shows shows thethe algorithmalgorithm flowchart.flowchart. The The level level arm arm effecteffect between between the the IMU IMU and and DVL DVL is is corrected corrected fo forr in in the the output output of of the the DVL. DVL. While While the the real real positionposition of of the the DVL DVL is is at at the the bow bow of of the the bottom bottom of of the the ship, ship, the the output output is is converted converted to to the the valuesvalues for for the the center center of of the the deck deck of of the the ship. ship. The The vertical vertical position position of of the the IMU IMU is is near near the the centercenter of of the the deck. deck. Since Since we we primarily primarily use use the the yaw-rate yaw-rate angle angle of of the the IMU IMU for for the the heading, heading, thethe level level arm arm effects effects are are typically typically small. small.

Figure 1. IMU and DVL integration architecture. Figure 1. IMU and DVL integration architecture. 2.1. Direction Estimation 2.1. Direction Estimation In ship navigation, because of wind and currents, the ship heading direction is not alwaysIn ship the navigation, same as the because track directionof wind and (TD), currents, as illustrated the ship in heading Figure2 [direction17]. An is IMUnot alwaysgyroscope the same can provide as the track the rate direction of change (TD), in directionas illustrated of heading in Figure while 2 [17]. the GNSSAn IMU estimates gyro- scopedirection can fromprovide the the velocity rate of vector change or position in direction estimate, of heading whichis while the TD. the The GNSS angle estimates between direction from the velocity vector or position estimate, which is the TD. The angle between Sensors 2021, 21, x FOR PEER REVIEWthe heading and the TD is known as the slip angle and is influenced by many factors.4 of A21 theslip heading angle is and frequently the TD observed,is known as especially the slip whenangle aand ship is isinfluenced turning. Inby this many study, factors. the slipA slipangle angle was isestimated frequently roughly observed, using especially only the when yaw-rate a ship gyroscope is turning. ofthe In this IMU study, in the the first slip test. angle was estimated roughly using only the yaw-rate gyroscope of the IMU in the first test. Here, we introduce two methods to estimate the direction. The first is the integration of the IMU with GNSS using a KF, described in Section 2.1.1. This is used primarily to correct the biases of the IMU. During a GNSS outage, the second method, using only the IMU, is used to estimate the direction. The direction can be estimated by accumulating the angular velocity in the IMU. However, it is necessary to correct the angular velocity bias because the IMU values drift easily. In addition, it is important to check and correct the drift of the IMU due to temperature changes. However, in the test conducted as part of this study, the temperature of the IMU varied by only 1°, and therefore the correction was not necessary.

FigureFigure 2.2. Heading and track directions.

2.1.1.Here, Direction we introduce Estimation two by methods IMU with to estimateGNSS Using the direction.KF The first is the integration of theAs IMU mentioned with GNSS above, using the adirection KF, described of the inship Section can be 2.1.1 determined. This is usedby integrating primarily the to correctIMU with the the biases GNSS. of the Normally, IMU. During the GNSS a GNSS direction outage, is thederived second from method, the velocity using onlydeduced the IMU,from isthe used GNSS to estimateDoppler the frequency direction. or The the directionGNSS carrier can be phase. estimated The byGNSS accumulating direction and the angularthe IMU velocity angular in velocity the IMU. are However, integrated it isusing necessary the KF, to during correct thewhich angular two conditions velocity bias of becauseeach output the IMUare satisfied values driftsimultaneously. easily. In addition, The first it condition is important is that to the check angular and correct velocity the of driftthe IMU of the is within IMU due 0.0025 to temperature rad/s for 1 min. changes. The second However, condition in the is test that conducted the standard as part devia- of this study, the temperature of the IMU varied by only 1◦, and therefore the correction was tion of the GNSS direction for 1 min be within 1°. The calculation formulas for the KF are not necessary. given in Equations (1)–(11). Since we focused on the case of GNSS outage in this study,

2.1.1.this integration Direction Estimationwas conducted by IMU only with when GNSS the Using IMU KFand Doppler sonar dead-reckoning had started. As mentioned above, the direction of the ship can be determined by integrating the We used the GNSS based direction and velocity vector to initialize the yaw angle and IMU with the GNSS. Normally, the GNSS direction is derived from the velocity deduced accelerometers and, thus, set the initial alignment of the IMU. The accurate GNSS-based from the GNSS Doppler frequency or the GNSS carrier phase. The GNSS direction and direction and velocity vectors were also used to predict biases in the IMU. The estimated directional and velocity accuracies are within 1° and 1 cm/s, respectively. 0 1Δ = , Φ = = (1) 01 0

: GNSS direction [°]

: Gyroscope angular velocity with bias taken into account as shown in Equation (14) [ °/s] dir: Indicates that dir is a calculation of direction. Δ = 0.2 [s]…GNSS frequency;

= 1.0 [°] … GNSS error standard deviation of orientation;

= 0.02 [°/] … IMU error standard deviation of angular velocity.

: State vectors Φ ∶ State − space matrix ∶ Covariance matrix : Number of updates of KF for direction estimation The system noise matrix : 10−4 0 = (2) 010−4 The process noise : 10 = 01 (3) The measurement matrix : 10 = 01 (4)

Sensors 2021, 21, 1056 4 of 20

the IMU angular velocity are integrated using the KF, during which two conditions of each output are satisfied simultaneously. The first condition is that the angular velocity of the IMU is within 0.0025 rad/s for 1 min. The second condition is that the standard deviation of the GNSS direction for 1 min be within 1◦. The calculation formulas for the KF are given in Equations (1)–(11). Since we focused on the case of GNSS outage in this study, this integration was conducted only when the IMU and Doppler sonar dead-reckoning had started. We used the GNSS based direction and velocity vector to initialize the yaw angle and accelerometers and, thus, set the initial alignment of the IMU. The accurate GNSS-based direction and velocity vectors were also used to predict biases in the IMU. The estimated directional and velocity accuracies are within 1◦ and 1 cm/s, respectively.

   2    1 ∆t σ 0 x = θ , ω Φ = R = θG (1) kdir Gkdir Gkdir dir 0 1 dir 2 0 σωz

◦ θGk : GNSS direction [ ] ◦ ωGk : Gyroscope angular velocity with bias taken into account as shown in Equation (14) [ /s] dir: Indicates that dir is a calculation of direction. ∆t = 0.2 [s] . . . GNSS frequency; = [◦] σθG 1.0 . . . GNSS error standard deviation of orientation; ◦ σωz = 0.02 [ /s] . . . IMU error standard deviation of angular velocity.

xkdir : State vectors Φdir: State − space matrix Rdir: Covariance matrix kdir: Number of updates of KF for direction estimation The system noise matrix Q:

 10−4 0  Q = (2) kdir 0 10−4

The process noise G:  1 0  G = (3) dir 0 1 The measurement matrix H:

 1 0  H = (4) dir 0 1

The discrete state-space model:

= + xkdir+1 Φdirxkdir Gwk (5)

Observation equation: = + ykdir Hkdir xkdir vk (6) Correction of the current state from the estimate before the first step:   xˆ = xˆ + K y − H xˆ (7) kdir|kdir kdir|kdir−1 k k kdir k|k−1

Estimation of the value of the next step:

xˆ = F xˆ (8) kdir+1|kdir kdir kdir|kdir Sensors 2021, 21, 1056 5 of 20

Kalman gain update:

 −1 K = P HT H P HT + R (9) kdir kdir|kdir−1 kdir kdir kdir|kdir−1 kdir kdir

Update the error covariance matrix P : kdir|kdir

P = P − K H P (10) kdir|kdir kdir|kdir−1 kdir kdir kdir|kdir−1

Error covariance matrix estimation:

P = F P FT + G Q GT (11) kdir+1|kdir kdir kdir|kdir kdir kdir kdir kdir Based on the results of several experiments, the initial value of P was set to kdir|kdir diag([10 10]). The value of the error covariance, R, of the KF was determined as follows: GNSS direction is known to contain a noise-like error of approximately ±1.0◦ under normal = ◦ navigation speed. Therefore, we set σθG 1.0 . To calculate the error standard deviation of the angular velocity, the standard deviation σωz = 0.02 of the output value (noise) at rest was acquired before the experiment was set. This output of the filtered direction was then as the initial direction for dead-reckoning in the following test. Furthermore, the bias of the yaw-rate angle was estimated using this method, and the calculated yaw-rate angle bias was also used as the initial value of the following test.

2.1.2. Direction Estimation Using Only IMU Here, the direction was estimated at 100 Hz using only the Z-axis angular velocity. When calculating the direction with the IMU, it is necessary to obtain the initial direction from another sensor. In this experiment, the initial direction was obtained from the last GNSS epoch: = + t θt θt−1 ωGkdir(t−1) ∆ (12) t = [ ] = t − [◦ ] = [◦] ∆ 0.01 s , ωGkdir(t−1) ωGkdir at time 1 /s , θ Azimuth Normally, the angular velocity of an IMU has a bias error owing to the temperature change of the sensor and the elapsed time. The estimated bias, determined using the GNSS and IMU, was removed as an initial bias. To cater for subsequent bias changes, the DZUPT (dynamic zero velocity update) process was used. In DZUPT, the average of the sensor output value is calculated when the sensor is stationary, and the zero-point is updated using the average value as a bias. However, there is some movement on the ship at all times, even when anchored; and therefore the sensor will never be completely stationary. As the angular velocity around the Z-axis does not change while going straight, the average value of the angular velocity while going straight can be estimated and removed. The average value of the angular velocity in the experimental section, 0.0025 rad/s, was used as the threshold value to determine whether the vehicle is going straight. By sub- tracting the average value in Equation (13) of the angular velocity for 60 s (6000 epochs in 100 Hz) when going straight, as shown in Equation (14), the bias due to the time change was removed [11]. bωt: Bias estimated using DZUPT:

1 6000 bωt = ∑ ωt (13) 6000 t=1 = ( − ) ωGkdir ωt bωt (14) ◦ ωt = Z − axis angular velocity at time t [ /s] Sensors 2021, 21, 1056 6 of 20

2.2. Velocity Estimation For estimating the velocity, we considered the speed information included in the NMEA output from the GNSS receiver, the ground speed by DVL, and the IMU acceleration integral value.

2.2.1. Velocity Observation by GNSS Velocity information deduced from GNSS can be used until GNSS failure. A Doppler shift occurs in the GNSS signal due to the movement of the satellite and receiving antenna. Since the moving speed on the satellite side is accurately known from the satellite orbit information ephemeris included in the GNSS signal, the speed and direction on the receiver side can be obtained from the difference between the relative speed obtained from the Doppler shift and the speed of the satellite. The accuracy of the velocity vector from the GNSS is generally within 1 cm/s under open-sky conditions at sea.

2.2.2. Velocity Observation with DVL The DVL obtains ground speed using the Doppler shift generated by the movement of the ship between transmitted and received sound waves. Hereinafter, the speed obtained by the DVL is referred to as the sonar speed. The DVL mounted on the ship shows only the X-axis velocity (Vx) in the bow direction and the Y-axis velocity (Vy) perpendicular to it on the display of the bridge, and there is no system to store the data. Therefore, the speed shown on the screen was visually confirmed and converted into data. The final horizontal velocity was calculated using Equation (15). q V = V2 + V2 xk yk (15)

Vxk : Sonar speed in X axis [m/s]

Vyk : Sonar speed in Y axis [m/s]

2.2.3. Speed Estimation by KF The speed data from the DVL includes sudden water flow noise. In addition, there is a problem with the IMU speed drifts. Therefore, the velocities from both sensors were combined using the KF Equations (8)–(14) used in Section 2.1.2. The observed values x, the linear model Fspeed, and the error covariance Rspeed were calculated using Equations (16) and (17). The error information from the DVL was confirmed in the catalog, as shown in Section4 later, but since the information is very old, an error standard deviation of 0.11 m/s, when compared with GNSS, was used. As the voyage speed during this experiment was about 9 knots, the measurement error of 2% was about 0.09 m/s. This was judged a reasonable error value when compared with the catalog value. In addition, considering the sway of the vessel, the standard deviation of the acceleration error was set to 0.06 in stationary state. h i = V V a a xkspeed xkspeed ykspeed xkspeed ykspeed (16)

   σ2 0 0 0  1 0 ∆tS 0 Vx 2  0 1 0 ∆t   0 σV 0 0  F =  S  R =  y  (17) speed 0 0 1 0 speed  2     0 0 σax 0  0 0 0 1 2 0 0 0 σay

∆tS = 1 [s] . . . DVL observation period

σVx = 0.11 [m/s] . . . DVL speed error Standard deviation in X direction

σVy = 0.11 [m/s] . . . DVL speed error Standard deviation in Y direction 2 σax = 0.06 [m/s ] . . . IMU acceleration error standard deviation in X direction 2 σay = 0.06 [m/s ] . . . IMU acceleration error standard deviation in Y direction kspeed: Number of updates of KF for velocity estimation Sensors 2021, 21, 1056 7 of 20

In the equations above, the matrix Rspeed is the DVL speed error covariance, which is the standard deviation of the difference between the DVL and the GNSS velocity. The IMU acceleration is obtained in advance for approximately 1 h in a stationary state; and the standard deviation is used as the error standard deviation of the IMU.

2.3. Position Estimation The horizontal position was evaluated in this study because the ship was always on the sea. In order to simplify the calculation, we did not consider the roll and pitch of the ship, and only used yaw changes for dead-reckoning. The current position was estimated by integrating the azimuth angle obtained from the IMU and the moving distance obtained from the velocity from Equations (18) and (19). The reference positions for evaluating the temporal horizontal errors were deduced from the real-time kinematic (RTK)-GNSS positions of the target antenna installed on the ship.  π  px = px − + V· sin θ ·∆t (18) n n 1 t 180  π  py = py − + V· cos θ ·∆t (19) n n 1 t 180 where px, py = XY coordinates when the reference station is 0 m, and V = velocity [m/s] ∆t = 1 or 0.2 (velocity interval).

3. Method 2—INS/DVL Integrated Navigation This section describes the method of using an INS and DVL loosely coupled extended KF (EKF) integration system. The sensors for reference are different from those described in Section2. GNSS data were used as a reference to evaluate each error in Sections2 and4. On the other hand, GNSS data, a gyrocompass, and a FOG were used to evaluate each error in Sections3 and4. In this study, we developed an EKF based on NaveGo [ 13,18–20]. For the inertial navigation calculation, the algorithm described in Chapter 17 of [21] was used. The MATLAB complementary Filter System object was used for calculating roll and pitch Sensors 2021, 21, x FOR PEER REVIEW 8 of 21 using accelerometer and gyroscope sensor data, with an accelerometer gain of 0.01 [22]. The loosely coupled INS/DVL integration architecture is shown in Figure3.

FigureFigure 3. 3. LooselyLoosely coupled coupled INS/DVL INS/DVL EKF EKF integration integration architecture. architecture. 3.1. Parameter Estimation by Allan Variance 3.1. Parameter Estimation by Allan Variance We used a commercial CSM-MG100 IMU device for these tests. As the CSM-MG100 is alreadyWe used packaged, a commercial and the CSM-MG100 details of the IMU sensors devic usede for arethese unknown, tests. As wethe estimatedCSM-MG100 the isaccuracy already ofpackaged, the sensor and using the Allan details variance of the (AV)sensors analysis. used are Moreover, unknown, a more we detailedestimated profile the accuracyfrom a specific of the sensor unit is using required Allan to variance later use (AV) the level analysis. of the Moreover, sensor noise a more to configure detailed pro- a KF, filewhich from will a specific be part ofunit an is integrated required navigationto later use system the level (INS/DVL) of the sensor [12]. noise Static to bias, configure standard a KF,deviation which (STD),will be angle part velocityof an integrated random navigation walk, and biassystem instability (INS/DVL) are shown[12]. Static in Table bias,1. standardFigures4 deviationand5 show (STD), the AV angle plots velocity from the random gyroscopes walk, and and accelerometers, bias instability respectively.are shown in Table 1. Figures 4 and 5 show the AV plots from the gyroscopes and accelerometers, re- spectively.

Table 1. Parameter estimation by Allan variance (AV).

Static Bias STD Random Walk Bias Instability

(rad/s) (m/s2) (rad/s) (m/s2) (rad/s√)(m/s2√)) (rad/s)(m/s2) Gyro X −7.825 × 10−04 3.088 × 10−04 4.00 × 10−05 2.63 × 10−05 Gyro Y 3.234 × 10−03 3.107 × 10−04 4.00 × 10−05 2.90 × 10−05 Gyro Z 2.202 × 10−03 3.307 × 10−04 4.30 × 10−05 2.67 × 10−05 Acc X 6.389 × 10−02 9.326 × 10−03 1.29 × 10−03 9.35 × 10−04 Acc Y 5.178 × 10−01 1.005 × 10−02 1.69 × 10−03 1.59 × 10−03 Acc Z −9.940 9.255 × 10−03 1.40 × 10−03 1.20 × 10−03

Figure 4. Allan variance (AV) plots for gyroscopes.

Sensors 2021, 21, x FOR PEER REVIEW 8 of 21

Figure 3. Loosely coupled INS/DVL EKF integration architecture.

3.1. Parameter Estimation by Allan Variance We used a commercial CSM-MG100 IMU device for these tests. As the CSM-MG100 is already packaged, and the details of the sensors used are unknown, we estimated the Sensors 2021, 21, 1056 accuracy of the sensor using Allan variance (AV) analysis. Moreover, a more 8detailed of 20 pro- file from a specific unit is required to later use the level of the sensor noise to configure a KF, which will be part of an integrated navigation system (INS/DVL) [12]. Static bias, standard deviation (STD), angle velocity random walk, and bias instability are shown in Table 1. ParameterTable estimation 1. Figures by 4 Allan and variance5 show the (AV). AV plots from the gyroscopes and accelerometers, re- spectively. Static Bias STD Random√ Walk√ Bias Instability Table(rad/s) 1. Parameter (m/s2) estimation(rad/s) by (m/s Allan2) variance(rad/s (AV).Hz)(m/s 2 Hz)) (rad/s) (m/s2) −04 −04 −05 −05 Gyro X −7.825 × 10Static Bias3.088 × 10 STD 4.00 ×Random10 Walk 2.63 ×Bias10 Instability

Gyro Y 3.234 × 10(rad/s)−03 (m/s3.1072) ×(rad/s)10−04 (m/s2) 4.00(rad/s× 10√−05)(m/s2√))2.90 × 10(rad/s)(m/s−05 2) Gyro X −7.825 × 10−04 3.088 × 10−04 4.00 × 10−05 2.63 × 10−05 Gyro Z 2.202 × 10−03 3.307 × 10−04 4.30 × 10−05 2.67 × 10−05 Gyro Y 3.234 × 10−03 3.107 × 10−04 4.00 × 10−05 2.90 × 10−05 Acc X × −02 × −03 × −03 × −04 6.389Gyro Z 10 2.202 × 109.326−03 3.30710 × 10−04 1.29 10 4.30 × 10−05 9.35 10 2.67 × 10−05 − − − − Acc Y 5.178Acc X× 10 6.38901 × 101.005−02 × 9.32610 02 × 10−03 1.69 × 10 1.2903 × 10−03 1.59 × 10 9.3503 × 10−04 Acc Z Acc− Y9.940 5.178 × 109.255−01 × 1.00510−03 × 10−02 1.40 × 10 1.69−03 × 10−03 1.20 × 10 1.59−03 × 10−03 Acc Z −9.940 9.255 × 10−03 1.40 × 10−03 1.20 × 10−03

Sensors 2021, 21, x FOR PEER REVIEW 9 of 21

Figure 4. Allan varianceFigure (AV) 4. plots Allan for variance gyroscopes. (AV) plots for gyroscopes.

Figure 5. AV plots for accelerometers.Figure 5. AV plots for accelerometers.

3.2. INS/DVL Integration3.2. INS/DVL Integration The error equationThe error for the equation direction for the cosine direction matrix cosine relating matrix coordinate relating coordinate Frames BFrames and B and L C L(CB) is derivedL( in the) is derived navigation in the coordinate navigation frame coordinate and theframe local-level and the local-level coordinate coordinate frame frame (wander-azimuth)(wander-azimuth) as follows [23 ,as24 follows]: [23,24]: 1 .  γ =−ω ×γ −Cδω +δω1+C u ×δ v (20) γL = − ωL × γL − CLδωB + δω L + CL uN R× δvN (20) IL B e IB IL N R ZN C =−γ ×C L L L (21) δCB = −γ × CB (21) B δω = + + (22) δωeIB = ηg + bg + ηgδb (22) where , and are an angle random walk noise, static bias and discrete sequence related to bias instability δb, respectively[1 8]. The error equation for the δv is derived while ignoring errors in the Coriolis terms and the gravity vector [25], but taking into account δv, which is the error in velocity relative to the measured in the N Frame [24] part:

δv =(C a)×γ +Ca −C2ω +ω×δv (23)

a = + + (24)

where, , and are a velocity random walk noise, static bias and discrete se- quence related to bias instability δ, respectively [18]. The C is the direction cosine ma- trix that transforms vectors from N to L-Frame [24] defined as: 0 1 0 C =1 0 0 (25) 0 0 − 1 is the small-angle rotation vector error associated with C. C is the direction cosine matrix that transforms a vector from its B-frame projection form to its L-frame pro- jection form. a is the specific force acceleration vector in the B Frame [24]. δ and a are the gyroscope sensor and acceleration sensor measurement errors, respectively. ,, , and are the angular rates of the local-level coordinate frame to the inertial frame, the angular rate of the earth frame relative to the inertial frame, and the angular rate of the navigation frame to the earth frame, respectively. δω is the error in , and is the unit vector relative to the earth in N-Frame axes [24]. The INS error state vectors are summarized below:

Sensors 2021, 21, 1056 9 of 20

where ηg, bg and ηgδb are an angle random walk noise, static bias and discrete sequence related to bias instability δbg, respectively [18]. The error equation for the δvL is derived while ignoring errors in the Coriolis terms and the gravity vector [25], but taking into account δvN, which is the error in velocity relative to the earth measured in the N Frame [24] part:

. L  L B  L L B L  N N  N δv = CBaSF × γ + CBδeaSF − CN 2ωIE + ωEN × δv (23)

B δeaSF = η f + b f + η f δb (24)

where, η f , b f and η f δb are a velocity random walk noise, static bias and discrete sequence L related to bias instability δb f , respectively [18]. The CN is the direction cosine matrix that transforms vectors from N to L-Frame [24] defined as:

 0 1 0  L CN =  1 0 0  (25) 0 0 −1

L L L γ is the small-angle rotation vector error associated with δCB. CB is the direction cosine matrix that transforms a vector from its B-frame projection form to its L-frame B B projection form. aSF is the specific force acceleration vector in the B Frame [24]. δωeIB and B δeaSF are the gyroscope sensor and acceleration sensor measurement errors, respectively. L N N ωIL, ωIE, and ωEN are the angular rates of the local-level coordinate frame to the inertial frame, the angular rate of the earth frame relative to the inertial frame, and the angular L L rate of the navigation frame to the earth frame, respectively. δωIL is the error in ωIL, and N uZN is the unit vector relative to the earth in N-Frame axes [24]. The INS error state vectors are summarized below: T h L L i δxˆ = γ , δv , δbg, δb f (26)

where δbg and δb f are the bias instability estimation vectors for the gyroscope and ac- celerometer, respectively. Similar to NaveGo [20], the continuous state-space model of the system and the discrete state-space model of the system are used as follows [26]:

. δxˆ(t) = F(t)δxˆ(t) + G(t)u(t) + ζ(t) (27)

δyˆ(t) = Hδxˆ(t) + v(t) (28)

δxˆ(+) = Φδxˆ + Gu + ζ (29) δyˆ = Hδxˆ + v (30) Vectors ζ and v are known as the driving noise and measurement noise with zero-mean Gaussian white noise, respectively [20]. The state-space matrices are:

 L  1 L N  ˆ L  − ωIL× − R CN uZN× −CB 0  L B L   Cˆ a × 0 0 Cˆ  F =  B SF B  (31) (t){12×12}  0 0 − 1 0   τg  0 0 0 − 1 τf   ˆ L L L CB = I3 − Γ CB, (32)

N where uZN is a unit vector relative to the earth in the N-frame axes [24]. τg and τf are the ˆ L correlation times of the dynamic accelerometer and gyroscope biases, respectively [27]. CB Sensors 2021, 21, 1056 10 of 20

is the direction cosine matrix with an error. ΓL is a skew-symmetric operator associated with γL. The vector u is defined as:

h iT = B B η η u ωeIB, eaSF, gδb, f δb (33)

B B B ωeIB = ωIB + δωeIB (34) B B B eaSF = aSF + δeaSF, (35) η η η = b η = b where gδb and f δb are obtained in an iterative fashion with gδb(1) g and f δb(1) f . bg and b f are static bias varies [20]. The propagation interval is 1 s, and the IMU system noise matrix Q is defined as [27]:

 T 1 2 ˆ L  Q11 Q21 − 2 Sbgdτs CB 03  Q Q − 1 S τ3F Cˆ L 1 S τ2Cˆ L  Q =  21 22 3 bgd s 21 B 2 bad s B   1 2 ˆ L 1 3 ˆ L  (36)  2 Sbgdτs CB 3 Sbgdτs F21CB SbgdτsI3 03  1 2 ˆ L 03 2 Sbadτs CB 03 SbadτsI3

where Sbad, and Sbgd are accelerometer bias variation and gyroscope bias variation, re- spectively [27]. Submatrices Qxx are shown in Equation (14.81) of [27]. I3 and 03 are the 3 × 3 identity matrix and zero matrix, respectively. Fxy is value of the row x and column y of F in Equation (31). The covariance matrix R is defined using the DVL STD as:

 2  σVx 0 0 2 R{3×3} =  0 σVy 0  (37) 0 0 1

The third row is retained only for the calculation and future use, and is not used for any result. The DVL measurements in the local frame are calculated as:

L ˆ L D T D ˆvDVL = CB(CB ) ˆvDVL (38)

D CB is the direction cosine matrix used as a misalignment matrix between the IMU D ◦ ◦ ◦ and DVL. After several experiments, we set CB as φBD = 0 , θBD = 0 , ψBD = 2.6 . The scale factor error [6] was not included in this study. The measurement model of the KF is as follows [6]:

L L L h L D T D  i L δyˆ = ˆvINS − ˆvDVL = δvINS − CB(CB ) vDVL × γ (39)

h L D T D i H = −CB(CB ) VDVL I3 03 (40)

L L ˆvINS is the INS velocity output in the L Frame with errors. ˆvDVL is the DVL velocity in the L Frame with errors. The EKF is updated in the same manner as NaveGo [18–20] with DVL update time as shown Equation (41). The numerical values of the parameters used in this experiment are listed in Table2. Φ = I + F∆t (41) ∆t: DVL sampling rate with 1 [s] Sensors 2021, 21, 1056 11 of 20

Table 2. Summary of the converted input data.

X-Axis Y-Axis Z-Axis −5 −5 −5 bg 2.63 × 10 [rad/s] 2.90 × 10 [rad/s] 2.67 × 10 [rad/s] −4 2 −03 2 −3 2 b f 9.34 × 10 [m/s ] 1.60 × 10 [m/s ] 1.20 × 10 [m/s ] −7 Srg 0.966 × 10 [rad] (Equation (14.81) of [27]) −3 Sra 0.101 × 10 [m/s] (Equation (14.81) of [27]) −10 −10 −10 Sbgd 0.115 × 10 [rad] 0.115 × 10 [rad] 0.115 × 10 [rad] −7 −7 −7 Sbad 0.435 × 10 [m/s] 0.261 × 10 [m/s] 0.435 × 10 [m/s]

τg 60 [s] 60 [s] 60 [s]

τf 60 [s] 100 [s] 60 [s]

τs 1.0 [s]

4. Experiment and Results 4.1. Experiment Outline To test the algorithms described in Sections2 and3, an experiment was designed as follows. The experiment assumed that while sailing in Tokyo Bay, interference was detected near Tokyo Haneda Airport, and the GNSS direction before the interference was set as the initial direction of the IMU direction. Subsequently, the IMU azimuth, DVL velocity, and IMU acceleration with the KF were compared with GNSS-derived velocity/direction information and RTK-GNSS positions to evaluate the accuracy. The data were obtained by installing an IMU and GNSS receiver on the “Shiojimaru.” In addition, the DVL output of the ship was recorded. Table3 summarizes the sensor information used in this experiment. The IMU was the CSG-MG100, manufactured by Tokyo Aircraft Instrument Co., Ltd, Tokyo, Japan. and equipped with a time-synchronization function with GNSS. This IMU can detect three-axis acceleration and three-axis angular velocity. During the experiment, the IMU was installed with the bow direction along the X-axis, the starboard direction perpendicular to it as the Y-axis, and the vertically downward direction as the Z-axis. The four-beam DVL ATLAS DOLOG SYSTEM was installed on the bottom of the ship in front of the vessel bow thruster. In the fore-aft and lateral directions, the DVL can obtain ground speeds for up to 200 m depths. For this experiment, we set the DVL error at 0.2% of the measured value.

Table 3. Sensor information.

GNSS IMU DVL ATLAS DOLOG Name Trimble SPS855 CSM-MG100 SYSTEM Frequency 5 Hz 100 Hz 1 Hz Position Gyro Acceleration Speed Accuracy 0.01 [knot] or 0.2% of <0.1 [m] ±0.01 [m/s2] ±0.00175 [rad/s] the measured value

Since multiple KFs were used to integrate these sensors, we will introduce them with the results. The results of the RTK positioning between the Trimble Net R9 Marine Network Reference Station and the Trimble SPS855 receiver installed on the vessel were used for comparing the estimated directions, speeds, and positions. In this experiment, after the ship departed from the port, it used GNSS to sail normally, and carried out dead- reckoning experiments when it sailed to the waters of Haneda International Airport. The ship obtained GNSS, IMU, and DVL data through tests in open waters at a constant speed. In order to maximize the errors, the ship was maneuvered as vigorously as possible. After several straight and continuous large-angle turns, the difference between the heading and Sensors 2021, 21, x FOR PEER REVIEW 12 of 21

to it as the Y-axis, and the vertically downward direction as the Z-axis. The four-beam DVL ATLAS DOLOG SYSTEM was installed on the bottom of the ship in front of the vessel bow thruster. In the fore-aft and lateral directions, the DVL can obtain ground speeds for up to 200 m depths. For this experiment, we set the DVL error at 0.2% of the measured value. Since multiple KFs were used to integrate these sensors, we will introduce them with the results. The results of the RTK positioning between the Trimble Net R9 Marine Net- work Reference Station and the Trimble SPS855 receiver installed on the vessel were used for comparing the estimated directions, speeds, and positions. In this experiment, after the ship departed from the port, it used GNSS to sail normally, and carried out dead- reckoning experiments when it sailed to the waters of Haneda International Airport. The ship obtained GNSS, IMU, and DVL data through tests in open waters at a constant speed. In order to maximize the errors, the ship was maneuvered as vigorously as possible. After several straight and continuous large-angle turns, the difference between the heading and TD continued to change, and the dead-reckoning error was affected by its own inertia, water current, and wind. Using GNSS data as a reference value, the error of dead-reckon- ing was obtained.

Table 3. Sensor information.

GNSS IMU DVL Sensors 2021, 21, 1056 Trimble 12 of 20 Name CSM-MG100 ATLAS DOLOG SYSTEM SPS855 Fre- 5 Hz 100 Hz 1 Hz quency TD continued to change, and the dead-reckoning error was affected by its own inertia, Position Gyro Acceleration Speed waterAccuracy current, and wind. Using±0.01 GNSS±0.00175 data as a reference0.01 [knot] value, or 0.2% the of error the measured of dead-reckoning <0.1 [m] was obtained. [m/s2] [rad/s] value 4.2. Results with First Method 4.2. Results with First Method InIn this this experiment, experiment, we we obtained obtained a 1 ah 1voyage h voyage dataset dataset of combined of combined IMU/DVL IMU/DVL and and GNSS tracking. tracking. Figure Figure 6 6shows shows the the sensors sensors used used in this in thisexperiment. experiment. Figure Figure 7 shows7 shows that that thethe vessel first first followed followed the the yellow yellow line. line. In the In red-line the red-line area, area,the vessel the vesselnavigated navigated by the by the IMU/DVLIMU/DVL dead-reckoning. dead-reckoning. The The vessel vessel made made so someme large-angle turns and thenthen wentwent straight andstraight turned and leftturned twice. left twice. The results The results are discussed are discussed in the in the following. following.

Sensors 2021, 21, x FOR PEER REVIEW 13 of 21 Figure 6. 6. InstrumentInstrument setup. setup.

FigureFigure 7. 7. VoyageVoyage tracking tracking using using Google Google Earth. Earth.

4.2.1.4.2.1. Evaluation Evaluation of Estimated of Estimated Direction Direction InIn Figure Figure 8,8 the, the blue blue line line shows shows the di thefference difference between between the IMU direction the IMU and direction the and the GNSSGNSS true true direction. direction. The Thered line red shows line shows the direction the direction obtained obtainedby the KF based by the on KF the based on the gyroscope.gyroscope. A Alarge large difference difference occurs occurs when whenthe heading the heading changes and changes the maximum and the error maximum error accumulates to 15 degrees in 1 h. Even if the zero points are updated by DZUPT when accumulates to 15 degrees in 1 h. Even if the zero points are updated by DZUPT when going straight, the bias is constantly changing, so an error gradually occurs between the goingupdate straight,and the next the biasupdate. is constantlyIn addition, changing,the bias cannot so an be error completely gradually removed occurs by between the updateDZUPT andprocessing the next even update. when going In addition, straight due the biasto the cannot wind and be completelywaves, and the removed zero- by DZUPT processingpoint shifts slightly even when to the goingleft or right straight at each due epoch to the update. wind Consequently, and waves, andwhen the the zero-pointan- shifts slightlygular velocity to the with left the or zero right points at each slightly epoch dev update.iated is integrated Consequently, to obtain when the direction, the angular velocity withthe shape the zeroswings points to the slightly left or right. deviated Furthermore, is integrated the effect to obtain of the theslip direction,angle cannot the be shape swings tocorrected, the left as or there right. is no Furthermore, GNSS. the effect of the slip angle cannot be corrected, as there is We tested a simple case of slip-angle correction when the ship changed her course no GNSS. largely. There were seven course changes during the 1 h test. We noted that the temporal yaw-rate angle followed a similar trend to the temporal-slip angle between the heading and TD. Therefore, we used this value of yaw-rate angle as the slip angle and multiplied it by a factor to match the size of slip angle. In fact, the maximum slip angle based on the post-processed data was about 7° in the case of a 180° turn during the test. We decided the factor based on this maximum value. In the following test section, the results with slip- angle correction are compared with the results without slip-angle correction.

Figure 8. Estimated direction and error.

Sensors 2021, 21, x FOR PEER REVIEW 13 of 21

Figure 7. Voyage tracking using Google Earth.

4.2.1. Evaluation of Estimated Direction In Figure 8, the blue line shows the difference between the IMU direction and the GNSS true direction. The red line shows the direction obtained by the KF based on the gyroscope. A large difference occurs when the heading changes and the maximum error accumulates to 15 degrees in 1 h. Even if the zero points are updated by DZUPT when going straight, the bias is constantly changing, so an error gradually occurs between the update and the next update. In addition, the bias cannot be completely removed by DZUPT processing even when going straight due to the wind and waves, and the zero- point shifts slightly to the left or right at each epoch update. Consequently, when the an- gular velocity with the zero points slightly deviated is integrated to obtain the direction, the shape swings to the left or right. Furthermore, the effect of the slip angle cannot be corrected, as there is no GNSS. We tested a simple case of slip-angle correction when the ship changed her course largely. There were seven course changes during the 1 h test. We noted that the temporal yaw-rate angle followed a similar trend to the temporal-slip angle between the heading and TD. Therefore, we used this value of yaw-rate angle as the slip angle and multiplied it by a factor to match the size of slip angle. In fact, the maximum slip angle based on the post-processed data was about 7° in the case of a 180° turn during the test. We decided Sensors 2021, 21,the 1056 factor based on this maximum value. In the following test section, the results with slip- 13 of 20 angle correction are compared with the results without slip-angle correction.

Figure 8. Estimated directionFigure and error. 8. Estimated direction and error.

We tested a simple case of slip-angle correction when the ship changed her course largely. There were seven course changes during the 1 h test. We noted that the temporal yaw-rate angle followed a similar trend to the temporal-slip angle between the heading and TD. Therefore, we used this value of yaw-rate angle as the slip angle and multiplied it Sensors 2021, 21, x FOR PEER REVIEW by a factor to match the size of slip angle. In fact, the maximum slip angle14 of based 21 on the

post-processed data was about 7◦ in the case of a 180◦ turn during the test. We decided the factor based on this maximum value. In the following test section, the results with slip-angle correction are compared with the results without slip-angle correction. 4.2.2. Evaluation of Speed Estimation As shown4.2.2. in Figure Evaluation 9, when of Speedthe GNSS Estimation velocity, the speed obtained by integrating the acceleration of theAs IMU shown (hereinafter in Figure referred9, when theto as GNSS the IMU velocity, speed), the speedand the obtained DVL speed by integrating are the compared, theacceleration accuracy of of the the IMU IMU (hereinafterspeed deteri referredorates with to as the IMUincrease speed), in bias. and theBecause DVL speed are the accelerationcompared, includes the gravitational accuracy of acceleration, the IMU speed it is deteriorates difficult to with estimate the increase the bias in with bias. Because DZUPT, due theto the acceleration vertical movement includes gravitational of the vessel. acceleration, Even if DZUPT it is difficult can be to applied, estimate the bias with instability errorsDZUPT, of the due bias to and the velocity vertical cannot movement be fully of the removed. vessel. Even DVLif and DZUPT GNSS can velocity be applied, the values are generallyinstability equal, errors but of the the speed bias and of DVL velocity includes cannot some be fully jumps. removed. These DVL jump and values GNSS velocity appear as largevalues error are factors generally in position equal, but es thetimation. speed of The DVL cause includes of the some jump jumps. is generally These jump values considered to appearbe the effect as large of hull error sway factors and in air position bubbles, estimation. but the specif Theic cause cause of is the unknown. jump is generally considered to be the effect of hull sway and air bubbles, but the specific cause is unknown. To confirm this error in detail, as shown in Figure 10, the error was calculated by subtract- To confirm this error in detail, as shown in Figure 10, the error was calculated by subtracting ing the GNSS speed (RMC output from NMEA) from the sonar speed. The STD was 0.11 the GNSS speed (RMC output from NMEA) from the sonar speed. The STD was 0.11 m/s, m/s, and the maximum error was about 0.8 m/s. As a result of constructing a speed esti- and the maximum error was about 0.8 m/s. As a result of constructing a speed estimation mation KF usingKF usingthis STD, this STD,the noise the noise of the of DVL the DVL is generally is generally smoothed; smoothed; however, however, the the ac- accuracy is curacy is lowerlower than than that that of ofGNSS GNSS or or DVL DVL alone alone at at approximately approximately 452,500452,500 s. s. The The STD STD of of the error in the error in IMU/DVLIMU/DVL was was 0.09 m/s,m/s, andand the the maximum maximum error error was was 0.53 0.53 m/s, m/s, which which was betterwas than the better than theresult result of of the the DVL DVL alone. alone.

Figure 9. Speed comparison. Figure 9. Speed comparison.

Figure 10. Speed error comparison.

4.2.3. Position Estimation Result Figure 11 shows the position error of the IMU/DVL dead-reckoning. The attitude er- ror changed slightly during ship turning and increased at the point when the vessel fin- ished the turn and went straight, with a final latitude error of 873 m. Initially, the longi- tude error increased slowly and finally reached −357 m. Due to the ship-steering opera- tion, the vessel had a different force and error model at the different heading. This is why the latitude and longitude errors sometimes increased and sometimes decreased. In addi- tion, we investigated the position error with rough slip-angle correction for large turns. The final latitude error was reduced from 873 m to 851 m, and the final longitude error

Sensors 2021, 21, x FOR PEER REVIEW 14 of 21

4.2.2. Evaluation of Speed Estimation As shown in Figure 9, when the GNSS velocity, the speed obtained by integrating the acceleration of the IMU (hereinafter referred to as the IMU speed), and the DVL speed are compared, the accuracy of the IMU speed deteriorates with the increase in bias. Because the acceleration includes gravitational acceleration, it is difficult to estimate the bias with DZUPT, due to the vertical movement of the vessel. Even if DZUPT can be applied, the instability errors of the bias and velocity cannot be fully removed. DVL and GNSS velocity values are generally equal, but the speed of DVL includes some jumps. These jump values appear as large error factors in position estimation. The cause of the jump is generally considered to be the effect of hull sway and air bubbles, but the specific cause is unknown. To confirm this error in detail, as shown in Figure 10, the error was calculated by subtract- ing the GNSS speed (RMC output from NMEA) from the sonar speed. The STD was 0.11 m/s, and the maximum error was about 0.8 m/s. As a result of constructing a speed esti- mation KF using this STD, the noise of the DVL is generally smoothed; however, the ac- curacy is lower than that of GNSS or DVL alone at approximately 452,500 s. The STD of the error in IMU/DVL was 0.09 m/s, and the maximum error was 0.53 m/s, which was better than the result of the DVL alone.

Sensors 2021, 21, 1056 14 of 20 Figure 9. Speed comparison.

Figure 10. Speed error comparison.Figure 10. Speed error comparison.

4.2.3. Position Estimation4.2.3. Position Result Estimation Result Figure 11 shows the position error of the IMU/DVL dead-reckoning. The attitude Figure 11 shows the position error of the IMU/DVL dead-reckoning. The attitude er- error changed slightly during ship turning and increased at the point when the vessel ror changed slightlyfinished during the turn ship and turning went straight,and increased with a finalat the latitude point errorwhen of the 873 vessel m. Initially, fin- the ished the turn andlongitude went straight, error increased with a slowly final andlatitude finally error reached of 873−357 m. m. Initially, Due to thethe ship-steering longi- Sensors 2021, 21, x FOR PEER REVIEWtude error increasedoperation, slowly the and vessel finally had a differentreached force −357 and m. error Due model to the at ship-steering the different15 heading. of opera- 21 This is

tion, the vessel hadwhy athe different latitude force and longitude and error errors model sometimes at the different increased andheading. sometimes This decreased.is why In the latitude and longitudeaddition, we errors investigated sometimes the position increased error with and rough sometimes slip-angle decreased. correction In for addi- large turns. The final latitude error was reduced from 873 m to 851 m, and the final longitude error was wastion, reduced we investigated fromreduced −357 them from to position −314−357 m. m Theseerror to −314 withresults m. rough These indicate results slip-angle a need indicate for correction afurther need for investigation furtherfor large investigation turns. of ofThe slip-angle final latitude errorsslip-angle errorin the wasfuture. errors reduced in the future. from 873 m to 851 m, and the final longitude error

Figure 11. IMU/DVL position error. Figure 11. IMU/DVL position error. 4.3. Results with Second Method 4.3. Results with Second Method For INS/DVL, the initial conditions, such as velocity, attitude, and position, were For INS/DVL,estimated the initial using conditions, INS/GPS. such The as same velocity, data were attitude, used inand Section position, 4.2. Aswere the es- attitude was timated using INS/GPS.not estimated The same at the data starting were point,used in we Section input the 4.2. attitude As the estimatedattitude was by INS/GPS not as a estimated at the startingconstant point, value beforewe input starting the attitude the estimation. estimated To obtain by INS/GPS reference as values a constant for the attitude value before startingof the the B-frame, estimation. the gyrocompass To obtain reference installed onvalues the vessel for the was attitude used for of thethe heading, B- and frame, the gyrocompassa JCS7402-A installed [28] FOGon the was vessel used forwas the used roll-angle for the and heading, pitch-angle and referencea JCS7402- values. The A [28] FOG was usedspecifications for the ofroll-angle each of these and devicespitch-angle are listed reference in Tables values.3 and4 The. FOG specifica- specifications are tions of each of theseshown devices in Table are5. listed When in the Tables true value 3 and is unknown4. FOG specifications or the error is expectedare shown to bein included in the reference value, it is indicated as a “difference” rather than an “error.” Table 5. When the true value is unknown or the error is expected to be included in the reference value, it is indicated as a “difference” rather than an “error.”

Table 4. Specifications of the TG-5000 gyrocompass.

Less than Setting Time Within 2 h Accuracy on Scorsby Table ±0.5° Setting Point Er- Less than Less than Repeatability of Setting Point ror ±0.3° ±0.2° Accuracy Under Environmental Varia- Less than RMS Value Less than 0.1° tion ±0.5°

Table 5. Specifications of the JCS7402-A.

Digital Output Range ±Roll: ±180°, Pitch: ±90° Resolution <0.1° <±0.15° at input <±10° Accuracy <± (0.2° + 1% of input) at input = ±10°~45°

4.3.1. Evaluation of Estimated Attitude The roll and pitch outputs of INS/DVL and FOG and the differences in each output between them are shown in Figure 12. The difference between the FOG and INS/DVL pitch angle was 0.62° to −0.69°. By contrast, the difference in roll angle between the INS/DVL and FOG was 1.1° to −0.9°. Figure 12c shows that the INS/DVL had a poor re- sponse to small angle variations. We found that the drift in roll and pitch can be sup- pressed using a complementary filter for the sea conditions experienced during this ex- periment. The heading output of the INS/DVL and gyrocompass and the differences be- tween them are shown in Figure 13. The heading error increased throughout the experi-

Sensors 2021, 21, 1056 15 of 20

Table 4. Specifications of the TG-5000 gyrocompass.

Setting Time Within 2 h Accuracy on Scorsby Table Less than ±0.5◦ Setting Point Error Less than ±0.3◦ Repeatability of Setting Point Less than ±0.2◦ Accuracy Under Environmental RMS Value Less than 0.1◦ Less than ±0.5◦ Variation

Table 5. Specifications of the JCS7402-A.

Digital Output Range ±Roll: ±180◦, Pitch: ±90◦ Resolution <0.1◦ <±0.15◦ at input <±10◦ Accuracy <± (0.2◦ + 1% of input) at input = ±10◦~45◦

4.3.1. Evaluation of Estimated Attitude The roll and pitch outputs of INS/DVL and FOG and the differences in each output between them are shown in Figure 12. The difference between the FOG and INS/DVL pitch angle was 0.62◦ to −0.69◦. By contrast, the difference in roll angle between the INS/DVL and FOG was 1.1◦ to −0.9◦. Figure 12c shows that the INS/DVL had a poor response to Sensors 2021, 21, x FOR PEER REVIEW 16 of 21 small angle variations. We found that the drift in roll and pitch can be suppressed using a complementary filter for the sea conditions experienced during this experiment. The heading output of the INS/DVL and gyrocompass and the differences between them are ment to a maximumshown in of Figure −11.10°, 13. Thewhich heading is a factor error that increased affected throughout the final position the experiment error de- to a maximum scribed below.of −The11.10 heading◦, which error is a did factor not thatincrease affected initially the final until position about 4.515 error × described105 s. We below. The think this is headingbecause errorthe bias did was not increaseremoved initially by turning until nearly about 360°. 4.515 Figure× 105 s.13 We shows think that this is because the differencethe increased bias was removedexponentially by turning when nearly turning, 360 ◦and. Figure increased 13 shows at thata constant the difference rate increased when going exponentiallystraight. For this when difference, turning, andwe can increased create ata detailed a constant sensor-error rate when goingmodel, straight. es- For this timating thedifference, error when we GNSS can is create available, a detailed performing sensor-error the same model, process estimating as DZUPT the errorwhen when GNSS the vessel is ismoving available, straight performing ahead, or the esti samemating process the error as DZUPT using the when gyrocompass. the vessel isIn moving the straight future, we intendahead, to or study estimating a method the errorof bias using estimation the gyrocompass. according to In the the available future, we equip- intend to study a ment. method of bias estimation according to the available equipment.

Figure 12. (a) RollFigure angle 12. of(a) INS/DVL Roll angle and of INS/DVL FOG; (b) Rolland differenceFOG; (b) Roll between difference INS/DVL between and FOG;INS/DVL (c) Pitch and angleFOG; of(c INS/DVL) and FOG; (d) PitchPitch differenceangle of INS/DVL between and INS/DVL FOG; ( andd) Pitch FOG. difference between INS/DVL and FOG.

Figure 13. INS/DVL and gyrocompass heading and difference.

4.3.2. Evaluation of Speed Estimation The DVL and INS/DVL speed are compared in the B-frame. The estimated value is the value calculated from the attitude from the FOG and gyrocompass and the velocity determined by GPS using a trajectory generator [21]. The difference between the INS/DVL and estimated values for the B-frame X-axis and Y-axis are shown in Figure 14a,b, respec- tively. The mean difference in the X-axis velocity of INS/DVL and sonar velocity against the estimated value were −1.58 × 10−4 (STD of 9.322 × 10−2) and −1.53 × 10−4 (STD of 9.631 × 10−2), respectively. The average difference between the Y-axis INS/DVL and sonar veloci- ties and the estimated values were 1.15 × 10−1 (STD of 1.580 × 10−1) and 1.21 × 10−1 (STD of 2.168 × 10−1), respectively, which were larger than that of the X-axis. As can be seen from the average, a bias-like component was detected for the Y-axis. For improving the accu- racy, it might be necessary to use a better accelerometer to improve the accuracy of speed estimation of the INS, because it is difficult to replace the Doppler sonar.

Sensors 2021, 21, x FOR PEER REVIEW 16 of 21

ment to a maximum of −11.10°, which is a factor that affected the final position error de- scribed below. The heading error did not increase initially until about 4.515 × 105 s. We think this is because the bias was removed by turning nearly 360°. Figure 13 shows that the difference increased exponentially when turning, and increased at a constant rate when going straight. For this difference, we can create a detailed sensor-error model, es- timating the error when GNSS is available, performing the same process as DZUPT when the vessel is moving straight ahead, or estimating the error using the gyrocompass. In the future, we intend to study a method of bias estimation according to the available equip- ment.

Sensors 2021, 21, 1056 16 of 20 Figure 12. (a) Roll angle of INS/DVL and FOG; (b) Roll difference between INS/DVL and FOG; (c) Pitch angle of INS/DVL and FOG; (d) Pitch difference between INS/DVL and FOG.

Figure 13. INS/DVLFigure and 13. gyrocompassINS/DVL and heading gyrocompass and difference. heading and difference.

4.3.2. Evaluation4.3.2. of Evaluation Speed Estimation of Speed Estimation The DVL andThe INS/DVL DVL and speed INS/DVL are compared speed are in compared the B-frame. in the The B-frame. estimated The value estimated is value is the value calculatedthe value from calculated the attitude from thefrom attitude the FOG from and the gyrocompass FOG and gyrocompass and the velocity and the velocity determined determinedby GPS using by a GPStrajectory using genera a trajectorytor [21]. generator The difference [21]. The between difference the between INS/DVL the INS/DVL and estimatedand values estimated for the values B-frame for theX-axis B-frame and Y-axis X-axis are and shown Y-axis in are Figure shown 14a,b, in Figure respec- 14a,b, respec- tively. The meantively. difference The mean in difference the X-axis in velocity the X-axis of INS/DVL velocity of and INS/DVL sonar velocity and sonar against velocity against the estimatedthe value estimated were − value1.58 × were 10−4 (STD−1.58 of× 9.32210−4 ×(STD 10−2) ofand 9.322 −1.53× ×10 10−−24) (STD and − of1.53 9.631× 10× −4 (STD of 10−2), respectively.9.631 × The10− average2), respectively. difference The betw averageeen the difference Y-axis INS/DVL between the and Y-axis sonar INS/DVL veloci- and sonar ties and the velocitiesestimated and values the estimatedwere 1.15 values× 10−1 (STD were of 1.15 1.580× 10 ×− 101 (STD−1) and of 1.21 1.580 × ×1010−1 (STD−1) and of 1.21 × 10−1 2.168 × 10−1),(STD respectively, of 2.168 ×which10−1 were), respectively, larger than which that of were the largerX-axis. than As can that be of seen the X-axis.from As can be the average,seen a bias-like from the component average, awas bias-like detect componented for the Y-axis. was detected For improving for the Y-axis. the accu- For improving Sensors 2021, 21, x FOR PEER REVIEW 17 of 21 racy, it mightthe be accuracy, necessary it mightto use bea better necessary accelerometer to use a better to improve accelerometer the accuracy to improve of speed the accuracy of estimation ofspeed the INS, estimation because of it theis difficult INS, because to replace it is difficultthe Doppler to replace sonar. the Doppler sonar.

Figure 14. (a) INS/DVLFigure 14. ( anda) INS/DVL DVL x-axis and velocitiesDVL x-axis minus velocities estimated minus value, estimated respectively; value, respectively; (b) INS/DVL (b) and DVL y-axis velocities minusINS/DVL estimated and value, DVL respectively.y-axis velocities minus estimated value, respectively.

4.3.3. Evaluation4.3.3. of Evaluation Position Estimation of Position Estimation Figure 15 showsFigure the 15 position shows the estimated position by estimated the INS/DVL by the and INS/DVL RTK-GNSS. and RTK-GNSS.Figure 16 Figure 16 shows the horizontalshows the position horizontal difference position between difference INS/DVL between and INS/DVL RTK-GNSS. and RTK-GNSS.Figure 16 Figure 16 shows that theshows horizontal that the error horizontal was reduced error was be reducedcause the because angular the velocity angular bias velocity around bias the around the Z- Z-axis was canceledaxis was canceledout by the out approximately by the approximately 360° turn 360 ◦atturn around at around 4.52 × 4.52 105× [s].10 5Subse-[s]. Subsequently, quently, thethe position position estimation estimation error error increase increasedd as well as well as the as theeffect effect of the of theheading heading error error shown shown in Figurein Figure 13, and 13, the and final the error final errorwas 579 was m. 579 In m.this In study, this study,we used we a usedgyrocompass a gyrocompass as a as a reference.reference. If we use If the we gyrocompass use the gyrocompass values to values estimate to estimate the heading the heading bias in the bias circled in the circled area area in Figurein Figure17 and 17 then and correct then correct for the for heading the heading bias, we bias, obtain we obtain the result the result in Figure in Figure 18, 18, where where the final horizontal error is 170 m. This post-processing method was only applied to the results of Figure 13 found to contain bias and is, therefore, not applicable as a real- time bias detection and correction method at this time.

Figure 15. Trajectory with latitude and longitude.

Sensors 2021, 21, x FOR PEER REVIEW 17 of 21

Figure 14. (a) INS/DVL and DVL x-axis velocities minus estimated value, respectively; (b) INS/DVL and DVL y-axis velocities minus estimated value, respectively.

4.3.3. Evaluation of Position Estimation Figure 15 shows the position estimated by the INS/DVL and RTK-GNSS. Figure 16 shows the horizontal position difference between INS/DVL and RTK-GNSS. Figure 16 shows that the horizontal error was reduced because the angular velocity bias around the Z-axis was canceled out by the approximately 360° turn at around 4.52 × 105 [s]. Subse- Sensors 2021, 21, 1056 quently, the position estimation error increased as well as the effect of the heading error17 of 20 shown in Figure 13, and the final error was 579 m. In this study, we used a gyrocompass as a reference. If we use the gyrocompass values to estimate the heading bias in the circled area in Figure 17 and then correct for the heading bias, we obtain the result in Figure 18, wherethe final the horizontal final horizontal error error is 170 is m. 170 This m. This post-processing post-processing method method was was only only applied applied to the toresults the results of Figure of Figure 13 found 13 found to contain to contain bias bias and and is, is, therefore, therefore, not not applicable applicable as as aa real-timereal- timebias bias detection detection and and correction correction method method at thisat this time. time.

Sensors 2021, 21, x FOR PEER REVIEW 18 of 21 Sensors 2021, 21, x FOR PEER REVIEW 18 of 21 Figure 15. Trajectory with latitude and longitude. Figure 15. Trajectory with latitude and longitude.

Figure 16. Horizontal error. Figure 16. Horizontal error. Figure 16. Horizontal error.

Figure 17. INS/DVL and gyrocompass heading angle and difference. Figure 17. INS/DVLFigure 17. andINS/DVL gyrocompass and gyrocompass heading angle heading and difference. angle and difference.

Figure 18. Horizontal error. Figure 18. Horizontal error. Figure 18. Horizontal error. Figure 18. Horizontal error. 5. Discussion 5. Discussion In this section, the results of the two methods are summarized and briefly discussed. In this section, the results of the two methods are summarized and briefly discussed. TheThe first first method method used used only only the the yaw-rate yaw-rate gyroscope gyroscope of of the the IMU IMU and and DVL DVL for for 1 1 h h dead- dead- reckoning.The first method The horizontal used only position the yaw-rate error increased gyroscope up ofto the943 IMUm in anda 1 hDVL sailing for duration.1 h dead- reckoning. The horizontal position error increased up to 943 m in a 1 h sailing duration. Here,Here, two two important important points points should should be be considered. considered. The The first first is is to to estimate estimate the the initial initial direc- direc- tionHere, at thetwo beginning important of points the test. should The GNSS-derbe considered.ived directionThe first is can to beestimate used for the this initial purpose direc- tion at the beginning of the test. The GNSS-derived direction can be used for this purpose ifif the the slip slip angle angle of of the the vessel vessel is is very very small. small. The The second second is is to to estimate estimate the the temporal temporal bias bias of of theif the yaw-rate slip angle angle. of theThis vessel is very is veryimportant small. in The the second use of isIMUs to estimate because the the temporal sensor output bias of the yaw-rate angle. This is very important in the use of IMUs because the sensor output driftsdrifts easily. easily. Although Although temperature temperature correction correction is is also also important, important, we we did did not not correct correct the the effectdrifts of easily. the change Although in temperature temperature because correction the islargest also important,difference inwe temperature did not correct in this the effect of the change in temperature because the largest difference in temperature in this testtest was was 1°. 1°. In In general, general, the the temperature temperature of of the the IMU IMU inside inside a a ship ship is is not not difficult difficult to to maintain. maintain. Intest summary, was 1°. In ageneral, cumulative the temperature horizontal oferro ther IMUof approximately inside a ship is not1000 difficult m per tohour maintain. was In summary, a cumulative horizontal error of approximately 1000 m per hour was achievedachieved using using only only a a low-cost low-cost IMU IMU and and the the vessel’s vessel’s standard standard DVL, DVL, even even with with several several 90°–180°achieved turns. using This only means a low-cost that we IMU could and na thevigate vessel’s the vessel standard without DVL, GNSS, even due with to spoof-several 90°–180° turns. This means that we could navigate the vessel without GNSS, due to spoof- inging or or interference interference attacks attacks for for example, example, for for 1 1 h h with with an an accuracy accuracy of of approximately approximately 1000 1000 m. m. Theing secondor interference method attacks used three for example, accelerometers for 1 h andwith three an accuracy gyroscopes of approximately of the IMU with 1000 the m. The second method used three accelerometers and three gyroscopes of the IMU with the DVL.DVL. The The approach approach of of the the second second method method differe differedd from from that that of of the the first first simple simple method method in in theDVL. following The approach ways. First, of the the second parameters method of differe the AVd fromfor the that target of the IMU first were simple investigated method in the following ways. First, the parameters of the AV for the target IMU were investigated thoroughly.thoroughly. Based Based on on these these estimated estimated para parameters,meters, INS/DVL INS/DVL integration integration was was conducted conducted usingthoroughly. EKF. The Based horizontal on these position estimated error para increasedmeters, up INS/DVL to 579 m inintegration the 1-h sailing was conductedduration. using EKF. The horizontal position error increased up to 579 m in the 1-h sailing duration.

Sensors 2021, 21, 1056 18 of 20

5. Discussion In this section, the results of the two methods are summarized and briefly discussed. The first method used only the yaw-rate gyroscope of the IMU and DVL for 1 h dead- reckoning. The horizontal position error increased up to 943 m in a 1 h sailing duration. Here, two important points should be considered. The first is to estimate the initial direction at the beginning of the test. The GNSS-derived direction can be used for this purpose if the slip angle of the vessel is very small. The second is to estimate the temporal bias of the yaw-rate angle. This is very important in the use of IMUs because the sensor output drifts easily. Although temperature correction is also important, we did not correct the effect of the change in temperature because the largest difference in temperature in this test was 1◦. In general, the temperature of the IMU inside a ship is not difficult to maintain. In summary, a cumulative horizontal error of approximately 1000 m per hour was achieved using only a low-cost IMU and the vessel’s standard DVL, even with several 90◦–180◦ turns. This means that we could navigate the vessel without GNSS, due to spoofing or interference attacks for example, for 1 h with an accuracy of approximately 1000 m. The second method used three accelerometers and three gyroscopes of the IMU with the DVL. The approach of the second method differed from that of the first simple method in the following ways. First, the parameters of the AV for the target IMU were investigated thoroughly. Based on these estimated parameters, INS/DVL integration was conducted using EKF. The horizontal position error increased up to 579 m in the 1-h sailing duration. The accumulated error was reduced because all parameters and outputs of the IMU were used to estimate the direction and attitude of the vessel. As mentioned in the Introduction, very few previous studies have used IMU and DVL to estimate the position of a ship. In a study where the GNSS outage was set for only 5 min [15], experiments were conducted using various KFs. A comparison of our results with that study is impractical because of the significantly different experimental timeframes. Considering the recent challenges posed by GNSS spoofing, it might be necessary to develop a system that can guarantee about 30 min to one hour without functional GNSS. It is possible to improve the accuracy of the system we studied (method 2) by using FOG [6], but the installation cost of an INS system using FOG may be prohibitively high for merchant ships and small boats. Even the pure inertial mode of the very expensive iXblue PHINS IMU has a specification accuracy of 0.6 nm/h [29]. If we integrated a low-cost IMU with a DVL, we could achieve similar accuracy. Further improvements in accuracy are needed for discussions, such as IMO’s Standardization. According to International Maritime Organization guidelines, “Where a radionavigation system is used to assist in the navigation of ships in ocean waters, the system should provide positional information with an error not greater than 100 m with a probability of 95%” [30]. Since this criterion applies to a radio-navigation system, it does not specify time and cannot be directly applied to a system such as INS, in which the effect of error accumulation over time is large. However, we believe that this criterion can serve as a target value for the improvement of systems such as the one presented in this study. We conducted another experiment similar to the one described in this paper on a different day with high waves in deeper water in which the Doppler sonar could not measure the ground speed. As mentioned in Section4, the Y-axis of the Doppler sonar was found to be inaccurate. It is important to use the proper Doppler sonar and determine the limitations of the Doppler sonar for measuring the depths. Although this is true for both the first and second methods, if we can detect and correct the bias of the Z-axis angular velocity, we can improve the positional accuracy, as shown in Figure 18. However, real-time detection and correction of bias without GNSS will be an issue.

6. Conclusions In this study, IMU/DVL integrated positioning was proposed as a back-up system when GNSS is unavailable, and its positioning accuracy was evaluated. Two different Sensors 2021, 21, 1056 19 of 20

methods of dead-reckoning were evaluated. In the first, using only the yaw-rate gyroscope and DVL, the maximum horizontal error was 943 m in 1 h. Using the second, more sophisticated INS/DVL method, the maximum horizontal error was reduced to 579 m in 1 h. While this is a significant improvement, there is a limitation to accurate estimation using only an IMU with either method. Future improvements in positional accuracy may be made through detection and correction of the Z-axis angular velocity bias, and improved prediction or measurement of the slip angle. These two points are subject to further study. In this study, we used a training ship with students on board. Although the students were aware that GNSS is the only device that can automatically estimate the position on a ship, few of them were aware that the vulnerability of GNSS is a concern and needs to be discussed [31]. We recognize that it is important in maritime education to promote this kind of research involving students.

Author Contributions: G.F. and N.K. conceived and designed the experiments; G.F., N.K., and D.H. performed the experiments and analyzed the data; X.G. also partly analyzed the data. All authors have read and agreed to the published version of the manuscript. Funding: This research received no external funding. Institutional Review Board Statement: Not Applicable. Informed Consent Statement: Not applicable. Data Availability Statement: The data presented in this study are available on request from the corresponding author. The data are not publicly available due to the matter of the training ship. When a request is received for a reasonable reason, it can only be provided after explaining it to the relevant department and obtaining permission from all departments. Acknowledgments: The authors would like to thank the anonymous reviewers and editors for their help in improving the manuscript. The authors would also like to thank Paul G. Savage for his thoughtful replies to questions about his book. Conflicts of Interest: The authors declare that they have no conflict of interest.

References 1. Chang, L.; Niu, X.; Liu, T. GNSS/IMU/ODO/LiDAR-SLAM Integrated Navigation System Using IMU/ODO Pre-Integration. Sensors 2020, 20, 4702. [CrossRef][PubMed] 2. Nguyen, T.D. Determining Safety Limitations and the Frequency of Determining Vessel Location When Establishing Marine Bases on the Vietnam’s Sea Areas. J. Phys. Conf. Ser. 2020, 1515.[CrossRef] 3. Larsen, M.B. High Performance Doppler-Inertial Navigation-Experimental Results. In Proceedings of the OCEANS 2000 MTS/IEEE Conference and Exhibition, Cat No. 00CH37158, Providence, RI, USA, 11–14 September 2000; Volume 1442, pp. 1449–1456. 4. Rogne, R.H.; Bryne, T.H.; Fossen, T.I.; Johansen, T.A. On the Usage of Low-Cost MEMS Sensors, Strapdown Inertial Navigation, and Nonlinear Estimation Techniques in . IEEE J. Ocean. Eng. 2020, 46, 24–39. [CrossRef] 5. Rogne, R.H.; Bryne, T.H.; Fossen, T.I.; Johansen, T.A. MEMS-Based Inertial Navigation on Dynamically Positioned Ships: Dead Reckoning. IFAC-PapersOnLine 2016, 49, 139–146. [CrossRef] 6. Li, W.; Zhang, L.; Sun, F.; Yang, L.; Chen, M.; Li, Y. Alignment Calibration of IMU and Doppler Sensors for Precision INS/DVL Integrated Navigation. Optik 2015, 126, 3872–3876. [CrossRef] 7. Nagin, I.A.; Inchagov, Y.M. Effective Integration Algorithm for Pedestrian Dead Reckoning. In Proceedings of the 2018 Moscow Workshop on Electronic and Networking Technologies (MWENT), Moscow, Russia, 14–16 March 2018; pp. 1–4. 8. Núñez, J.M.; Araújo, M.G.; García-Tuñón, I. Real-Time Telemetry System for Monitoring Motion of Ships Based on Inertial Sensors. Sensors 2017, 17, 948. [CrossRef][PubMed] 9. Ben, Y.; Huang, L.; Yang, X. A Rapid Damping Method for a Marine Strapdown INS. Ocean Eng. 2016, 114, 259–268. [CrossRef] 10. Moussa, M.; Moussa, A.; Elhabiby, M.; El-Sheimy, N. Investigation of Different Low-Cost Land Vehicle Navigation Systems Based on Cpd Sensors and Vehicle Information. ISPRS Ann. Photogramm. Remote Sens. Spat. Inf. Sci. 2020, V-1-2020, 189–197. [CrossRef] 11. Silson, P.M.G. Coarse Alignment of a Ship’s Strapdown Inertial Attitude Reference System Using Velocity Loci. IEEE Trans. Instrum. Meas. 2011, 60, 1930–1941. [CrossRef] 12. Gonzalez, R.; Dabove, P. Performance Assessment of an Ultra Low-Cost Inertial Measurement Unit for Ground Vehicle Navigation. Sensors 2019, 19, 3865. [CrossRef] 13. Bryne, T.H.; Rogne, R.H.; Fossen, T.I.; Johansen, T.A. A Virtual Vertical Reference Concept for Aided Inertial Navigation at the Sea Surface. Control Eng. Pract. 2018, 70, 1–14. [CrossRef] Sensors 2021, 21, 1056 20 of 20

14. Podobnik, J.; Kralji´c,D.; Zadravec, M.; Munih, M. Centre of Pressure Estimation during Walking Using Only Inertial-Measurement Units and End-to-End Statistical Modelling. Sensors 2020, 20, 6136. [CrossRef][PubMed] 15. Romanovas, M.; Ziebold, R.; Lança, L. A Method for IMU/GNSS/Doppler Velocity Log Integration in Marine Applications. In Proceedings of the 2015 International Association of Institutes of Navigation World Congress (IAIN), Prague, Czech Republic, 20–23 October 2015; pp. 1–8. 16. Kamolov, A.; Park, S. An IoT-Based Ship Berthing Method Using a Set of Ultrasonic Sensors. Sensors 2019, 19, 5181. [CrossRef] [PubMed] 17. Federal Aviation Administration and United States. Pilot’s Handbook of Aeronautical Knowledge; Skyhorse Publishing, Inc.: New York, NY, USA, 2009. 18. González, R.; Giribet, J.I.; Patiño, H.D. An Approach to Benchmarking of Loosely Coupled Low-Cost Navigation Systems. Math. Comput. Model. Dyn. Syst. 2015, 21, 272–287. [CrossRef] 19. Gonzalez, R.; Catania, C.; Dabove, P. NaveGo: An Open-Source MATLAB/GNU Octave Toolbox for Processing Integrated Navigation Systems and Performing Inertial Sensors Profileing Analysis, Version 1.2. 2019. Available online: https:github.com/ rodralez/NaveGo (accessed on 20 January 2021). 20. Gonzalez, R.; Giribet, J.I.; Patino, H.D. NaveGo: A Simulation Framework for Low-Cost Integrated Navigation Systems. Control Eng. Appl. Inform. 2015, 17, 110–120. 21. Savage, P.G. Strapdown Analytics, 2nd ed.; Part 2; Strapdown Associates, Inc.: Maple Plain, MN, USA, 2007. 22. MATLAB. Complementaryfilter. Available online: https://jp.mathworks.com/help/fusion/ref/complementaryfilter-system- object.html (accessed on 23 December 2020). 23. Savage, P. Strapdown Inertial Navigation Lecture Notes; Strapdown Associates Inc.: Maple Plain, MN, USA, 2010. 24. Savage, P.G. Strapdown Analytics, 2nd ed.; Part 1; Strapdown Associates, Inc.: Maple Plain, MN, USA, 2007. 25. Titterton, D.; Weston, J.L.; Weston, J. Strapdown Inertial Navigation Technology; IET: London, UK, 2004; Volume 17. 26. Brown, R.G.; Hwang, P.Y. Introduction to Random Signals and Applied Kalman Filtering; John Wiley & Sons, Inc.: New York, NY, USA, 1992. 27. Groves, P.D. Principles of GNSS, Inertial, and Multisensor Integrated Navigation Systems, 2nd ed.; Artech House on Demand: Norwood, MA, USA, 2013. 28. Japan Aviation Electronics Industry, Ltd. JCS7402-A Specification. Available online: https://www.jae.com/files/user/doc/JCS7 402-A.pdf (accessed on 23 December 2020). 29. iXblue. Phins Surface. Available online: https://www.ixblue.com/sites/default/files/2020-11/Phins_DS%20%281%29.pdf (accessed on 23 December 2020). 30. A.953(23)REVOKED World—Wide Radionavigation System. Available online: https://puc.overheid.nl/nsi/doc/PUC_1419_14/1/ (accessed on 20 January 2021). 31. Terry MChris HAndy NChris HDavid, P.; Nick, W. The Potential Impact of GNSS/INS Integration on Maritime Navigation; Cambridge University Press: Cambridge, UK, 2008.