Next Article in Journal
Seasonal Mass Changes and Crustal Vertical Deformations Constrained by GPS and GRACE in Northeastern Tibet
Previous Article in Journal
Quantitative Determination of Fluorine Content in Blends of Polylactide (PLA)–Talc Using Near Infrared Spectroscopy
Previous Article in Special Issue
Novel Intersection Type Recognition for Autonomous Vehicles Using a Multi-Layer Laser Scanner
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Sine Rotation Vector Method for Attitude Estimation of an Underwater Robot

1
School of Electronic and Information Engineering, Chosun University, 375 Seosuk-dong Dong-gu, Gwangju 501-759, Korea
2
Department of Control and Instrumentation Engineering, Graduate school, Chosun University, 375 Seosuk-dong Dong-gu, Gwangju 501-759, Korea
3
Division of Electrical, Electronic Communication and Computer Engineering, Chonnam National University, 50 Daehak-ro, Yeosu, Jeonnam 550-749, Korea
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.
Sensors 2016, 16(8), 1213; https://doi.org/10.3390/s16081213
Submission received: 21 April 2016 / Revised: 27 July 2016 / Accepted: 28 July 2016 / Published: 2 August 2016

Abstract

:
This paper describes a method for estimating the attitude of an underwater robot. The method employs a new concept of sine rotation vector and uses both an attitude heading and reference system (AHRS) and a Doppler velocity log (DVL) for the purpose of measurement. First, the acceleration and magnetic-field measurements are transformed into sine rotation vectors and combined. The combined sine rotation vector is then transformed into the differences between the Euler angles of the measured attitude and the predicted attitude; the differences are used to correct the predicted attitude. The method was evaluated according to field-test data and simulation data and compared to existing methods that calculate angular differences directly without a preceding sine rotation vector transformation. The comparison verifies that the proposed method improves the attitude estimation performance.

Graphical Abstract

1. Introduction

Determining the attitude of underwater robots is one of the major research areas in the robotics field, because an underwater robot requires attitude information to estimate its location and control its motion [1]. The rotation and attitude with respect to a reference can be described in terms of Euler angles, quaternions, rotation matrices, rotation vectors and angle-axis representations. This paper proposes an attitude estimation approach that uses a new method called the sine rotation vector to represent rotations. If exteroceptive measurements of range to beacons and communication between the robot and beacons are available [2,3], it is possible to estimate the location without the information on attitude. However, for long-range navigation, it is practically not feasible to implement the system for range measurements or a communication network. Therefore, most underwater navigation methods require attitude data.
A vast number of studies have focused on the attitude estimation and navigation of underwater robots. The major approaches employ the following methodologies: methods using range measurement from acoustic beacons, methods integrating velocity over time, methods using landmarks or features of the environment, methods using range and bearing measurements and cooperative navigation. With the development of sensor technologies and data-fusion theory, methods that fuse a variety of heterogeneous sensors and theories have recently been developed. The navigation methods for underwater robots comprise aspects that are similar to the methods used for ground-robot navigation, whereby the multiple measurements of different features are fused [4,5].
The Kalman filter approach is used in many methods designed for the attitude estimation and navigation of underwater robots. The nonlinear dynamics, forces, moments, position and velocity of the robot are fused for the estimation through a nonlinear observer and an extended Kalman filter (EKF) [6]. A method that uses a robot kinetic model has also been proposed [7]. This method, which can also be used to estimate sea currents, makes full use of the measurements from inertial navigation systems (INS) or attitude heading and reference systems (AHRS), ultrashort base line (USBL) systems and a Doppler velocity log (DVL) for the purpose of navigation. Another similar approach that uses robot dynamics for navigation, integrating low-cost INS and USBL systems, has also been reported [8]. Notably, an adaptive dynamic model and an EKF are fused for the autonomous navigation of underwater robots [9].
A navigation method that also estimates the sensor parameters has been proposed. The method uses an inertial measurement unit (IMU), a DVL, a magnetic compass and a depth sensor, all of which constitute a typical set of navigation sensors [10]. Similar to the method described in [7], a method that concurrently estimates the location of a robot and the sea level has also been proposed [11]. Besides the popular Kalman filter-based approaches [12], some methods adopt particle filters (PFs) for the estimation [13,14].
Interference of the magnetic field is one of the most critical issues when using a magnetometer for attitude estimation. Though many methods have investigated the estimation of the bias of the magnetic field measurement [15], it is still hard to estimate and compensate for the bias because of the following reasons: the bias and interference depend on the environmental aspects, which are varying both with time and place; and it is in all directions, that is the bias is in the directions of north, east and Earth-center.
The proposed method does not explicitly estimate and compensate for the bias and interference of the magnetic field measurement. Nevertheless, the sine rotation vector method reduces the effect of bias and interference. The method uses only the northward direction of the magnetic field, and ignores the east and Earth-center direction components. Therefore, it is not affected by the bias and interference in these two directions. Likewise, the method uses only the Earth-center direction of the acceleration, thus eliminating the interference affecting the acceleration measurement toward the north and east.
This paper proposes a new approach called the sine rotation vector method, whereby an EKF is applied to estimate the attitude of an underwater robot. In some of the previous methods, the measurement innovation or residual is calculated by simply subtracting predicted Euler angles from the measured Euler angles in the correction step; however, it should be noted that physical rotation is not linearly related to Euler angles.
Euler angles can be used for the representation of both the rotation and attitude. However, the difference of two attitudes represented in Euler angles does not necessarily represent the Euler angles needed for the rotation between the attitudes. It is generally understood that the relationship R ( ϕ 1 , θ 1 , ψ 1 ) R ( ϕ 2 , θ 2 , ψ 2 ) = R ( ϕ 1 + ϕ 2 , θ 1 + θ 2 , ψ 1 + ψ 2 ) does not hold, where R ( ϕ , θ , ψ ) is the rotation matrix with the roll φ, pitch θ and yaw ψ. To avoid the problem, the sine rotation vector is used to represent the rotation instead of the direct difference of Euler angles.
In general, correspondence between the Euler angle difference and the physical rotation is not uniquely determined. The difference between the Euler angles that represent two different attitudes does not indicate the rotation between the two attitudes. Let x 1 and x 2 indicate two attitudes that are represented by Euler angles. The rotation from attitude x 1 to attitude x 2 is not necessarily the rotation that is indicated by the Euler angle difference calculated by subtracting x 1 from x 2 . The difference between the Euler angles is therefore not a legitimate representation of the measurement innovation; that is, the difference between the Euler angles does not indicate the rotation needed to adjust the predicted attitude for the Kalman filter correction step. The difference between the Euler angles of the measured attitude and the predicted attitude does not represent the physical relationship between the measured attitude and the predicted attitude. To remove the ambiguity in the calculation of the measurement innovation, the proposed method computes the innovation by calculating the sine rotation vector from the predicted attitude to the measured attitude and then converting the sine rotation vector to Euler angles. This method produces a unique and physically-consistent measurement innovation that corresponds to the pair composed of the measured attitude and the predicted attitude.
Quaternions and SO(3) matrices have been used for attitude estimation [16,17,18]. The quaternion and SO(3) matrix uniquely determine the rotation required to rotate the predicted attitude to the measured attitude as the sine rotation vector does. The problem to be addressed in using the quaternion is keeping the magnitude of the quaternion to one [19,20]. In the stage of prediction and correction, the magnitude of the quaternion deviates from one. Therefore, it is required to use some subterfuge to normalize the quaternion. Likewise, the SO(3) matrix should have the property of orthogonality. Therefore, the methods using the SO(3) matrix inevitably use some method to approximate the predicted and corrected matrix to some orthogonal matrix [19,20]. The use of the sine rotation vector does not require approximation for the normalization of vectors or the orthogonalization of matrices.
The attitude estimation problem studied in this paper is formulated in Section 2. Section 3, Section 4 and Section 5 describe the attitude estimation procedure. Section 6 shows the results of experiments and simulations using the proposed method and the previously-reported methods and presents a comparison of these results. Section 7 concludes the paper and suggests further research regarding the proposed method.

2. Problem Formulation

2.1. Nomenclature

The notations that are used for the derivation of the method are listed below.
x ( t ) attitude of a robot at time t; x ( t ) = ϕ ( t ) , θ ( t ) , ψ ( t ) T , where ϕ ( t ) , θ ( t ) and ψ ( t ) indicate roll, pitch and yaw
x ^ ( t ) attitude estimated at time t through prediction and a correction procedure; x ^ ( t ) = ( ϕ ^ ( t ) , θ ^ ( t ) , ψ ^ ( t ) ) T
P ^ ( t ) error covariance of the estimated attitude x ^ ( t )
x ( t ) attitude predicted at time t, before it is corrected by the measurements; x ( t ) = ϕ ( t ) , θ ( t ) , ψ ( t ) T
P ( t ) error covariance of the predicted attitude x ( t )
a ( t ) acceleration measured in the instrument coordinate frame; a ( t ) = ( a x ( t ) , a y ( t ) , a z ( t ) ) T
a u n i t ( t ) normalized acceleration measurement; a u n i t ( t ) = ( a x ( t ) , a y ( t ) , a z ( t ) ) u n i t T = a ( t ) a ( t )
m ( t ) magnetic field measured in the instrument coordinate frame; m ( t ) = ( m x ( t ) , m y ( t ) , m z ( t ) ) T
m u n i t ( t ) normalized magnetic field measurement; m u n i t ( t ) = ( m x ( t ) , m y ( t ) , m z ( t ) ) u n i t T = m ( t ) m ( t )
z ( t ) measurements of roll, pitch and yaw calculated from the a ( t ) and m ( t ) at time t; z ( t ) = ( ϕ ( t ) , θ ( t ) , ψ ( t ) ) T
v ( t ) linear velocity of the robot in the robot coordinate frame; v ( t ) = u ( t ) , v ( t ) , w ( t ) T
ω ( t ) rotational velocity of the robot in the robot coordinate frame; ω ( t ) = ( p ( t ) , q ( t ) , r ( t ) ) T
g ( · ) motion model of a robot that relates the robot attitude x ( t ) and the linear velocity v ( t ) to the rotational velocity x ˙ ( t ) of the robot; x ˙ ( t ) = g x ( t ) , v ( t )
h ( · ) the measurement model that relates state x ( t ) to the measurement z ( t ) ; z ( t ) = h ( x ( t ) )
t k the k-th discretized sampling time instant
Δ t k time period between t = t k 1 and t = t k ; Δ t k = t k t k 1
In many studies, an underwater robot is often referred to as an underwater vehicle. Thus, in the following sections, the terms vehicle and robot will be used interchangeably.

2.2. Problem Formulation

The following is a description of the problem to be solved.
Attitude estimation problem:
Find the attitude x ^ ( t k ) of an underwater robot at time t = t k , given the provided measurements a ( t k ) , m ( t k ) . The attitude x ^ ( t k 1 ) estimated at time t = t k 1 , the linear velocity v ( t k ) and the angular velocity ω ( t k ) are given.
The estimation procedure repeats at every time t k when new measurements are available, and it runs recursively based on the results provided at the previous estimation sequence. The estimated attitude x ^ ( t k ) will be used for the estimation of x ^ ( t k + 1 ) at the next iteration of the procedure. The estimation procedure consists of two sub-procedures: prediction and correction. The prediction and correction procedures will be derived in the following sections.
The rotational velocity of the vehicle ω ( t k ) detected with a gyroscope in the AHRS is used for the prediction. The velocity ω ( t k ) is measured in the instrument coordinate frame. It is assumed that the instrument coordinate frame is adjusted to coincide with the vehicle coordinate frame. The acceleration a ( t k ) and magnetic field m ( t k ) measurements are used for the correction; furthermore, these are measured by an AHRS in the instrument coordinate frame that is also assumed to be coincident with the vehicle coordinate frame.
The linear velocity of the vehicle v ( t k ) is detected with the DVL. The velocity v ( t k ) is measured in the instrument coordinate frame that also coincides with the vehicle coordinate frame. Using the estimated attitude, the linear velocity v ( t k ) is converted to the velocity in the Earth-fixed coordinate frame; this converted velocity is then integrated to find the location of the robot in the Earth-fixed coordinate frame. The linear velocity v ( t k ) can also be used to extract the pure gravitation field by removing the vehicle acceleration from the acceleration measurement a ( t k ) .
The proposed method utilizes the short-term superiority of the angular rate measurement and the long-term stability of the attitude algebraically calculated from the acceleration and magnetic field measurement. Table 1 depicts the complementary aspects of the these measurements. The short-term superiority of the gyroscope measurement is utilized in the prediction stage where the attitude is predicted using the angular rate measurement. Though the angular rate provides the short-term change of the attitude with high accuracy, the accuracy of the attitude calculated from the numerical integration of the attitude change deteriorates with time. To compensate for the deterioration, the long-term stability of the attitude that is algebraically calculated from the acceleration and the magnetic field is used in the measurement update or correction stage. The DVL is used to calculate the location using the estimated attitude. Furthermore, it can be used to reduce the system dynamics effect that perturbs the gravitation field in calculating the roll and pitch of the robot.

3. Predictions of Attitude and Covariance

The prediction step that is otherwise called the “time update step” is used to predict the state and error covariances for time t k ; to complete the step, the measured angular velocity ω ( t k 1 ) at time t = t k 1 , the state x ^ ( t k 1 ) and the error covariance P ^ ( t k 1 ) that was estimated previously at time t k 1 are used. The prediction is based on the function g ( · ) that is used to determine the time derivative of the attitude, as follows:
x ˙ ( t k ) = g ( x ( t k ) , v ( t k ) )
ϕ ˙ ( t k ) θ ˙ ( t k ) ψ ˙ ( t k ) = p ( t k ) + q ( t k ) S ( ϕ ^ ( t k ) ) T ( θ ^ ( t k ) ) + r ( t k ) C ( ϕ ^ ( t k ) ) T ( θ ^ ( t k ) ) q ( t k ) C ( ϕ ^ ( t k ) ) r ( t k ) S ( ϕ ^ ( t k ) ) q ( t k ) S ( ϕ ^ ( t k ) ) sec ( θ ^ ( t k ) ) + r ( t k ) C ( ϕ ^ ( t k ) ) sec ( θ ^ ( t k ) ) g ( x ( t k ) , v ( t k ) )
Using Equations (1) and (2), the attitude is predicted as x ( t k ) according to Equations (3) and (4), as follows:
x ( t k ) = x ^ ( t k 1 ) + x ˙ ( t k 1 ) Δ t k
ϕ ( t k ) θ ( t k ) ψ ( t k ) = ϕ ^ ( t k 1 ) + ϕ ˙ ( t k 1 ) Δ t k θ ^ ( t k 1 ) + θ ˙ ( t k 1 ) Δ t k ψ ^ ( t k 1 ) + ψ ˙ ( t k 1 ) Δ t k
where Δ t k = t k t k 1 . In these equations, S ( · ) , C ( · ) and T ( · ) represent sin ( · ) , cos ( · ) and tan ( · ) , respectively.
The Jacobian matrix J of the function g ( · ) is used to find the linearized state transition matrix A according to Equation (5), as follows:
A = I 3 × 3 + Δ t J
The Jacobian matrix J of the function g ( · ) is given according to Equation (6), as follows:
J = g x ( x ^ ( t k 1 ) , v ( t k 1 ) ) = q C ( ϕ ^ ) r S ( ϕ ^ ) T ( θ ^ ) q S ( ϕ ^ ) + r C ( ϕ ^ ) sec 2 ( θ ^ ) 0 q S ( ϕ ^ ) r C ( ϕ ^ ) 0 0 q C ( ϕ ^ ) r S ( ϕ ^ ) sec ( θ ^ ) q S ( ϕ ^ ) + r C ( ϕ ^ ) sec ( θ ^ ) T ( θ ^ ) 0
where the time variable ( t k 1 ) is deleted from p, q, r, ϕ ^ and θ ^ for notational simplicity.
The error covariance P ( t k ) of the predicted attitude x ( t k ) is derived as Equation (7) through the use of the linearized state transition matrix A , as follows:
P ( t k ) = A P ^ ( t k 1 ) A T + R
where R is the error covariance of the vehicle motion. The two Equations (4) and (7) complete the prediction step.

4. Corrections of Predicted Attitude and Covariance

The correction step that is otherwise called the “measurement update step” adjusts the predicted attitude x ( t k ) and error covariance P ( t k ) by using the measurements at time t k , z ( t k ) . For the corrections, the measurement model matrix H that is the linearized measurement model of h ( · ) is required. Because the measurement z ( t k ) consists of the roll, pitch and yaw of the Euler angles that match those in state x ( t k ) , the measurement model matrix H is identity, that is H = I .
Using the measurement model H , the Kalman gain for the adjustment of x ( t k ) and P ( t k ) is given according to Equation (8), as follows:
K ( t k ) = P ( t k ) H T ( H P ( t k ) H T + Q ) 1
where Q is the error covariance of the measurement.
The predicted attitude x ( t k ) is corrected to x ^ ( t k ) by Equation (9), as follows:
x ^ ( t k ) = x ( t k ) + K ( t k ) z ( t k ) h ( x ( t k ) )
The predicted covariance P ( t k ) is adjusted to P ^ ( t k ) by Equation (10), as follows:
P ^ ( t k ) = P ( t k ) K ( t k ) H P ( t k )
The innovation ν ( t k ) = z ( t k ) h ( x ( t k ) ) in Equation (9) will be derived in a manner that is different from the usual methods. The proposed method that uses the sine rotation vector will be described in Section 5.

5. Innovation by Sine Rotation Vector

5.1. Calculation of Innovation by Sine Rotation Vector

The innovation ν ( t k ) is given by Equation (11), as follows:
ν ( t k ) = z ( t k ) h ( x ( t k ) )
The innovation ν ( t k ) is the difference between the measured attitude z ( t k ) and the presumed measurement h ( x ( t k ) ) that is calculated under the assumption that the robot is in its predicted attitude x ( t k ) . Many existing methods calculate the measurement z ( t k ) from the acceleration a ( t k ) and magnetic field m ( t k ) , whereby the predicted attitude x ( t k ) is used as the presumed measurement h ( x ( t k ) ) .
This paper proposes a new approach for finding the innovation, which is the difference between the measured attitude z ( t k ) and the presumed attitude h ( x ( t k ) ) . The proposed method finds the sine rotation vector between the presumed attitude and the measured attitude. Because vehicle acceleration is negligible compared to gravity, the measured acceleration a ( t k ) is directed toward the z direction of the Earth-fixed coordinate frame; that is, the acceleration measurement a ( t k ) is the Earth-fixed z direction vector that is represented in the instrument coordinate frame. Let the presumed z direction represented in the vehicle coordinate frame be denoted by z p r e s ( t k ) . The presumed z direction vector z p r e s ( t k ) is calculated according to Equation (12), as follows:
z p r e s ( t k ) = v R w ( t k ) ( 0 , 0 , 1 ) T
where v R w ( t k ) is the rotation matrix from the Earth-fixed coordinate frame to the vehicle coordinate frame at time t = t k . v R w ( t k ) is calculated using the predicted attitude x ( t k ) ; then, the cross product of z p r e s ( t k ) and a u n i t ( t k ) meets the sine rotation vector r z ( t k ) . The sine rotation vector r z ( t k ) represents the rotation from the presumed z direction to the measured z direction, as follows:
r z ( t k ) = z p r e s ( t k ) × a u n i t ( t k )
The direction of the sine rotation vector r z ( t k ) represents the axis of rotation from the presumed z direction to the measured z direction. The length of the sine rotation vector r z ( t k ) is the sine of the rotation angle from the presumed z direction to the measured z direction. Figure 1a represents graphically how the r z ( t k ) is calculated and represents the rotation.
Likewise, the measured magnetic field m ( t k ) directs the Earth-fixed x direction that is represented in the instrument coordinate frame. The bias of the measured magnetic field m ( t k ) from the Earth-fixed x direction should be adjusted by using the methods for bias estimation [15,21]. Let the presumed x direction that is represented in the vehicle coordinate frame be denoted by x p r e s ( t k ) . Then, Equation (14) provides the presumed x direction vector x p r e s ( t k ) that is represented in the vehicle coordinate frame, as follows:
x p r e s ( t k ) = v R w ( t k ) ( 1 , 0 , 0 ) T
The cross product of x p r e s ( t k ) and m u n i t ( t k ) then becomes the sine rotation vector r x ( t k ) . The sine rotation vector r x ( t k ) represents the rotation from the presumed x direction to the measured x direction, as follows:
r x ( t k ) = x p r e s ( t k ) × m u n i t ( t k )
Figure 1b represents graphically how the r x ( t k ) is calculated and represents the rotation.
Both of the sine rotation vectors r z ( t k ) and r x ( t k ) bear the rotation information from the presumed attitude to the measured attitude. These two vectors are the rotations determined by two different sensors (the accelerometer and the magnetometer) and are combined using Equation (16), as follows:
r ( t k ) = γ z r z ( t k ) + γ x r x ( t k )
γ z and γ x in Equation (16) are mixing parameters with a sum value of one, as follows:
γ z + γ x = 1
The values of γ z and γ x need to be set based on the general rule: the larger value is assigned to the γ that corresponds to the more reliable measurement between the acceleration and magnetic field. If the acceleration measurement is more reliable than the magnetic field measurement, then γ z will have a larger value, and vice versa. In the experiment, the values are determined through trial and error, as well as based on the general rule.
From the sine rotation vector, the rotation axis b and rotation angle β are found by using Equations (18) and (19), as follows:
b = ( b 1 , b 2 , b 3 ) T = r ( t k ) r ( t k )
β = sin 1 ( r ( t k ) )
The rotation matrix R ( β , b ) that is represented in terms of the rotation angle and rotation axis is described in Equation (20), as follows:
R ( β , b ) = b 1 2 V ( β ) + C ( β ) b 1 b 2 V ( β ) b 3 S ( β ) b 1 b 3 V ( β ) + b 2 S ( β ) b 1 b 2 V ( β ) + b 3 S ( β ) b 2 2 V ( β ) + C ( β ) b 2 b 3 V ( β ) b 1 S ( β ) b 1 b 3 V ( β ) b 2 S ( β ) b 2 b 3 V ( β ) + b 1 S ( β ) b 3 2 V ( β ) + C ( β )
where V ( β ) = 1 C ( β ) is applied. The rotation matrix can also be represented in terms of the Euler angles ( ϕ , θ , ψ ) as the matrix R ( ϕ , θ , ψ ) , which is shown in Equation (21).
R ( ϕ , θ , ψ ) = C ( θ ) C ( ψ ) S ( ϕ ) S ( θ ) C ( ψ ) C ( ϕ ) S ( ψ ) C ( θ ) S ( ψ ) S ( ϕ ) S ( θ ) S ( ψ ) + C ( ϕ ) C ( ψ ) S ( θ ) S ( ϕ ) C ( θ ) C ( ϕ ) S ( θ ) C ( ψ ) + S ( ϕ ) S ( ψ ) C ( ϕ ) S ( θ ) S ( ψ ) S ( ϕ ) C ( ψ ) C ( ϕ ) C ( θ )
From the equivalence of the two rotation matrices R ( β , b ) and R ( ϕ , θ , ψ ) , the Euler angles are found by using Equation (22), as follows.
ϕ θ ψ = atan 2 ( R 32 , R 33 ) atan 2 ( R 31 , R 11 2 + R 22 2 ) atan 2 ( R 21 , R 11 ) = atan 2 b 2 b 3 V ( β ) + b 1 S ( β ) , b 3 2 V ( β ) + C ( β ) atan 2 ( b 1 b 3 V ( β ) + b 2 S ( β ) , ( b 1 2 V ( β ) + C ( β ) ) 2 + ( b 2 2 V ( β ) + C ( β ) ) 2 atan 2 ( b 1 b 2 V ( β ) + b 3 S ( β ) , b 1 2 V ( β ) + C ( β ) )
The Euler angles in Equation (22) represent the rotation from the presumed attitude to the measured attitude; consequently, it is concluded that the innovation ν ( t k ) = z ( t k ) h ( x ( t k ) ) that was used for Equation (9) is found by using Equation (23), as follows:
ν ( t k ) = z ( t k ) h ( x ( t k ) ) = atan 2 b 2 b 3 V ( β ) + b 1 S ( β ) , b 3 2 V ( β ) + C ( β ) atan 2 ( b 1 b 3 V ( β ) + b 2 S ( β ) , ( b 1 2 V ( β ) + C ( β ) ) 2 + ( b 2 2 V ( β ) + C ( β ) ) 2 atan 2 ( b 1 b 2 V ( β ) + b 3 S ( β ) , b 1 2 V ( β ) + C ( β ) )
A brief explanation regarding the calculation of the measurement z = ( ϕ , θ , ψ ) T from the acceleration a = ( a x , a y , a z ) T and magnetic field m = ( m x , m y , m z ) T follows [22]. First, the roll φ and pitch θ are calculated using the acceleration a = ( a x , a y , a z ) T in Equations (24) and (25), as follows:
ϕ = atan 2 ( a y , a z )
θ = atan 2 ( a x , a y 2 + a z 2 )
φ and θ are used to obtain the transformation matrix w R v through the use of Equation (26), as follows:
w R v ( ϕ , θ ) = C ( θ ) S ( ϕ ) S ( θ ) C ( ϕ ) S ( θ ) 0 C ( θ ) S ( ϕ ) S ( θ ) S ( ϕ ) C ( θ ) C ( ϕ ) C ( θ )
Then, the yaw ψ is calculated using Equation (27), as follows:
ψ = atan 2 ( w m y , w m z ) where , w m = ( w m x , w m y , w m z ) T = w R v ( ϕ , θ ) m

5.2. Sine Rotation Vector

The sine rotation vector is defined by the following Equation (28).
r = ( sin β ) b
where b is the unit vector in the direction of the rotation axis and β is the angle of rotation. The sine rotation vector is different from the rotation vector, which is defined by rb = β b [20,23]. The difference between the sine rotation vector and rotation vector is the magnitude of the vectors. The magnitude of the sine rotation vector is the sine of the rotation angle, while the magnitude of the rotation vector is the rotation angle itself.
The use of the sine rotation vector improves the attitude estimation in calculating the innovation vector in the EKF measurement update stage. First, the sine rotation vector uniquely determines the physical rotation regardless of the attitude to be rotated. In the case of the Euler angle difference between two attitudes represented in Euler angles, the rotation by the Euler angle difference does not necessarily correspond to the rotation between the attitudes. For example, the rotation of the attitude ( ϕ 1 , θ 1 , ψ 1 ) = ( 0 , π 2 , π 3 ) by the rotation ( ϕ 2 , θ 2 , ψ 2 ) = ( π 6 , π 6 , π 6 ) does not result in the attitude ( ϕ 1 + ϕ 2 , θ 1 + θ 2 , ψ 1 + ψ 2 ) = ( 0 + π 6 , π 2 + π 6 , π 3 + π 6 ) . On the other hand, the rotation of the attitude ( ϕ 1 , θ 1 , ψ 1 ) = ( 0 , 0 , 0 ) by the rotation ( ϕ 2 , θ 2 , ψ 2 ) = ( π 6 , π 6 , π 6 ) does result in the attitude ( ϕ 1 + ϕ 2 , θ 1 + θ 2 , ψ 1 + ψ 2 ) = ( 0 + π 6 , 0 + π 6 , 0 + π 6 ) . This example illustrates that the same rotation results in different physical rotation depending on the attitude to which the rotation is applied. On the contrary, the sine rotation vectors r x and r z uniquely rotate the predicted directions x p r e s and z p r e s to the measured directions m u n i t and a u n i t , regardless of the attitudes. In summary, the sine rotation vector uniquely determines the physical rotation regardless of the attitude to be rotated.
Second, the sine rotation vector relieves the effect of the bias and interference in measurement of the gravitational field and the magnetic field. The sine rotation vectors r x and r z deal only with x and z directional measurements, respectively. r x is free from the bias in the direction of y and z. Likewise, r z is free from the bias in the direction of x and y. Therefore, use of the sine rotation vector mitigates the effect of bias in the field measurement, even though the method does not explicitly estimate and compensate the bias.

6. Experiments and Results

The method is tested in simulations and two experimental environments. The simulation uses two measurement datasets, which are subject to both random Gaussian noise and bias. The first experiment uses an underwater robot in a test pool. The second test uses a ground vehicle equipped with GPS, AHRS and a high-precision FOG (fiber optic gyroscope). The results were analyzed and compared to the results of other methods that calculate innovation ν ( t k ) by using the Euler angles of Equations (24), (25) and (27), without transforming to the sine rotation vector; these other methods include EKF, the unscented Kalman filter (UKF) and the complementary filter (CF).

6.1. Test through Simulation

The sine rotation vector method is tested using simulation data. For comparison, EKF, which calculates innovation by subtracting the measured Euler angles from the predicted Euler angles without transforming to the sine rotation vector, is also implemented. Two simulated test datasets, which differ in measurement error, are used. They assume the same robot motion, where the robot moves with the linear velocity and angular velocity given as Equations (29) and (30), over the traveled distance 600 m for the time period of 600 s.
u ( t ) v ( t ) w ( t ) = 1 m / s 0 m / s 0 m / s
p ( t ) q ( t ) r ( t ) = 0.03 π sin ( t / 10 ) r a d / s 0.03 π cos ( t / 10 ) r a d / s 0.03 π sin ( t / 100 ) r a d / s
As for the measurement of linear velocity by a DVL, the measurement is assumed to have Gaussian noise with zero mean and σ = 0.2 m of standard deviation in all of the x, y and z directions. The measurement data for acceleration and magnetic field are generated by simulation, such that the attitude includes some bias, as well as random Gaussian noise. Table 2 describes the bias and random noise in attitude applied to produce the two simulated measurement datasets. Measurement data for Simulation 1 are affected more by bias than the data for Simulation 2, while they are corrupted by the same degree of random Gaussian noise.
Table 3 shows the error statistics for the simulation tests. The average and root mean square (RMS) of the attitude estimation error in roll, pitch and yaw are shown together with the distance error ratio relative to the traveled distance. In the table, the elements of a vector are ordered roll, pitch and yaw. In both simulations, the proposed method performs better than the other methods. Because the measurement data of the magnetic field for Simulation 2 are biased less than the data for Simulation 1 (while the measurement data of acceleration for Simulation 2 are biased a little more than the data for Simulation 1), most methods work better in Simulation 2 than in Simulation 1. Figure 2 depicts the roll error and estimated trajectory for Simulation 1. The robot starts at the origin and stops at the destination ( 83.75 , 3.49 , 4.61 ) m.

6.2. Experiment in a Test Tank

The environment for the test-tank experiments is shown in Figure 3. The experiments involved the use of an AHRS (Microstrain 3DM-GX3 25) [24] and a DVL (LinkQuest NavQuest 600 Micro) [25]. The robot navigated through the circular and rectangular trajectories shown in Figure 4. For each trajectory, once the robot circulates and returns to its initial location, it turns back and traces the path to the initial location in a reverse direction. One of the problems with the test tank experiment is that the navigation range is limited, and the performance of the method in practical use is not fully verifiable. In order to mitigate the limitation, the test tank experiment adopted turn around and trace back motion. In the experiment, the robot repeats round trip circulation to extend the navigation range, so that the traveled distance is 282.7 m and 100.8 m for the circular and rectangular motion, respectively. In addition, once the robot circulates and returns to its initial location, it turns back and traces the path to the initial location in the reverse direction. This large and sharp turning motion provides a harsher and more serious circumstance to attitude estimation. The robot finally returns to its initial location; thus, the destination of the navigation is the robot’s initial location.
Because the experiment does not involve the use of any instrument that can provide the true attitude, the performance of the methods was verified indirectly from the estimated trajectories that are calculated using the estimated attitude. The estimated location deviates from the true location, and the deviation increases as the travel time and distance are extended. The deviation at the destination reflects the performance of the attitude estimation method; therefore, the distance error between the estimated destination and the actual destination is used as an index for the performance evaluation. Table 4 presents a comparison of the distance errors of the four methods. The distance error ratio indicates the ration of the distance error at the destination relative to the overall traveled distance. In Table 4, “SRV” denotes the method proposed in this paper, and the results show that it outperforms the other methods.
Figure 5 shows the estimated trajectory for the SRV method. The blue line depicts the estimated trajectory, while the red line indicates the trajectory provided by dead reckoning, whereby the velocity is integrated (without any filtering) to estimate the attitude. Figure 6 shows the results of the pure EKF method, which uses Equations (24), (25) and (27) for the Euler angle measurement. As in Figure 5, the blue line is the estimated trajectory of the EKF, while the red line is the trajectory provided by dead reckoning without filtering.

6.3. Experiment on the Ground

The experiment on the ground to test the proposed method uses a ground vehicle equipped with GPS, AHRS (Microstrain 3DM-GX4 25) and FOG. The model’s FOG (Spatial FOG by Advanced Navigation) [26] provides the attitude data used as the reference to compare the attitudes estimated by the methods. Figure 7 shows the vehicle and sensors used for the experiment. The vehicle navigated for 170 s over a distance of approximately 551 m. Figure 8 shows the route of the navigation.
Figure 9 shows the yaw estimates of the methods compared to the yaw provided by FOG, as well as the error of the estimates. The results of the experiment are listed in Table 5, where the statistics of the yaw error are shown. EKF, UKF and CF exhibit comparable error statistics, while the proposed method outperforms these methods.

7. Conclusions

This paper proposes a new method for estimating the attitude of an underwater robot. The method uses the sine rotation vector to determine the rotational difference between the measured attitude and the presumed attitude. Compared to existing methods that directly calculate the Euler angle difference, the proposed method resolves the problem that arises from a non-unique mapping between the rotation and the Euler angle difference, when the attitude is described by the parameters of the Euler angles.
The experiments compared the proposed method to the existing methods that use EKFs, UKFs and CFs based on the differences of the Euler angles. The proposed method outperforms all of the other methods in terms of the location estimation of an underwater robot and the attitude estimation of a ground vehicle.
An investigation especially through underwater experiment to compare the properties of the sine rotation vector with other attitude representation methods, such as Euler angles, rotation matrices and quaternions with respect to attitude estimation, remains as the focus of further research. Furthermore, fusing more sensor measurements that provide directional information in the framework of the sine rotation vector is expected. Finally, it is expected that the proposed method will be implemented for navigation in a lake or ocean environment for the verification of the practical applicability, in a future study.

Acknowledgments

This research was a part of the project titled “R & D center for underwater construction robotics”, which is funded by the Ministry of Oceans and Fisheries (MOF) and the Korea Institute of Marine Science & Technology Promotion (KIMST), Korea. This research was supported by the Basic Science Research Program through the National Research Foundation of Korea (NRF), which is funded by the Ministry of Education (NRF-2013-R1A1A4A01-012469).

Author Contributions

Nak Yong Ko conceived and developed the idea, designed and implemented experiments, coordinated the project, and wrote the paper. Seokki Jeong collaborated in the development of the idea, contributed to collecting measurement data, and performing simulation. Youngchul Bae collaborated in the development of the idea, simulation, and critical revision and improvement of the paper.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Allotta, B.; Costanzi, R.; Fanelli, F.; Ridolfi, A. Underwater vehicles attitude estimation in presence of magnetic disturbances. In Proceedings of the 2016 IEEE International Conference on Robotics and Automation (ICRA), Stockholm, Sweden, 16–21 May 2016; pp. 2612–2617.
  2. Lee, Y.-P.; Moon, Y.S.; Ko, N.Y.; Choi, H.-T.; Huang, L.; Bae, Y. Measurement of DS-CDMA Propagation Distance in Underwater Acoustic Communication Considering Attenuation and Noise. Int. J. Fuzzy Logic Intell. Syst. 2015, 15, 20–26. [Google Scholar] [CrossRef]
  3. Lee, Y.-P.; Moon, Y.S.; Ko, N.Y.; Choi, H.-T.; Huang, L.; Bae, Y. DSSS-Based Channel Access Technique DS-CDMA for Underwater Acoustic Transmission. Int. J. Fuzzy Logic Intell. Syst. 2015, 15, 53–59. [Google Scholar] [CrossRef]
  4. Paull, L.; Saeedi, S.; Seto, M.; Li, H. AUV navigation and localization: A review. IEEE J. Ocean. Eng. 2014, 39, 131–149. [Google Scholar] [CrossRef]
  5. Ko, N.Y.; Kuc, T.-Y. Fusing Range Measurements from Ultrasonic Beacons and a Laser Range Finder for Localization of a Mobile Robot. Sensors 2015, 15, 11050–11075. [Google Scholar] [CrossRef] [PubMed]
  6. Kinsey, J.C.; Yang, Q.; Howland, J.C. Nonlinear Dynamic Model-Based State Estimators for Underwater Navigation of Remotely Operated Vehicles. IEEE Trans. Control Syst. Technol. 2014, 22, 1845–1854. [Google Scholar] [CrossRef]
  7. Hegrenaes, Ø.; Hallingstad, O. Model-aided INS with sea current estimation for robust underwater navigation. IEEE J. Ocean. Eng. 2011, 36, 316–337. [Google Scholar]
  8. Morgado, M.; Oliveira, P.; Silvestre, C.; Vasconcelos, J.F. Embedded Vehicle Dynamics Aiding for USBL/INS Underwater Navigation System. IEEE Trans. Control Syst. Technol. 2014, 22, 322–330. [Google Scholar] [CrossRef]
  9. Fagogenis, G.; Flynn, D.; Lane, D.M. Improving Underwater Vehicle Navigation State Estimation Using Locally Weighted Projection Regression. In Proceedings of the 2014 IEEE International Conference on Robotics and Automation (ICRA), Hong Kong, China, 31 May–7 June 2014; pp. 6549–6554.
  10. Krishnamurthy, P.; Khorrami, F. A self-aligning underwater navigation system based on fusion of multiple sensors including DVL and IMU. In Proceedings of the 2013 9th IEEE Asian Control Conference (ASCC), Istanbul, Turkey, 23–26 June 2013.
  11. Ko, N.Y.; Noh, S.W.; Choi, H.-T. Simultaneous estimation of sea level and underwater vehicle location. In Proceedings of the OCEANS 2014-TAIPEI, Taipei, Taiwan, 7–10 April 2014; pp. 1–5.
  12. Shabani, M.; Gholami, A.; Davari, N. Asynchronous direct Kalman filtering approach for underwater integrated navigation system. Nonlinear Dyn. 2015, 80, 71–85. [Google Scholar] [CrossRef]
  13. Ko, N.Y.; Kim, T.G.; Moon, Y.S. Particle filter approach for localization of an underwater robot using time difference of arrival. In Proceedings of the OCEANS, 2012-Yeosu. IEEE, Yeosu, Korea, 21–24 May 2012.
  14. Donovan, G.T. Position Error Correction for an Autonomous Underwater Vehicle Inertial Navigation System (INS) Using a Particle Filter. IEEE J. Ocean. Eng. 2012, 37, 431–445. [Google Scholar] [CrossRef]
  15. Troni, G.; Eustice, R.M. Magnetometer bias calibration based on relative angular position: Theory and experimental comparative evaluation. In Proceedings of the 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems, Chicago, IL, USA, 14–18 September 2014; pp. 444–450.
  16. Yun, X.; Bachmann, E.R.; McGhee, R.B. A simplified quaternion-based algorithm for orientation estimation from earth gravity and magnetic field measurements. IEEE Trans. Instrum. Meas. 2008, 57, 638–650. [Google Scholar]
  17. Tarek, H.; Mahony, R. Attitude estimation on SO(3) based on direct inertial measurements. In Proceedings of the 2006 IEEE International Conference on Robotics and Automation, 2006. ICRA 2006, Orlando, FL, USA, 15–19 May 2006; pp. 2170–2175.
  18. Mahony, R.; Hamel, T.; Pflimlin, J.-M. Complementary filter design on the special orthogonal group SO(3). In Proceedings of the 44th IEEE Conference on Decision and Control, Seville, Spain, 12–15 December 2005; pp. 1477–1484.
  19. Bar-Itzhack, I.Y.; Deutschmann, J.; Markley, F.L. Quaternion normalization in additive EKF for spacecraft attitude determination. In Proceedings of the Flight Mechanics/Estimation Theory Symposium, Greenbelt, MD, USA, 21–23 May 1991; pp. 403–421.
  20. Pittelkau, M.E. Rotation vector in attitude estimation. J. Guid. Control Dyn. 2003, 26, 855–860. [Google Scholar] [CrossRef]
  21. Crassidis, J.L.; Lai, K.-L.; Harman, R.R. Real-time attitude-independent three-axis magnetometer calibration. J. Guid. Control Dyn. 2005, 28, 115–120. [Google Scholar] [CrossRef]
  22. Troni, G.; Whitcomb, L.L. Preliminary experimental evaluation of a Doppler-aided attitude estimator for improved Doppler navigation of underwater vehicles. In Proceedings of the 2013 IEEE International Conference on Robotics and Automation (ICRA), Karlsruhe, Germany, 6–10 May 2013; pp. 4134–4140.
  23. Shuster, M.D. The kinematic equation for the rotation vector. IEEE Trans. Aerosp. Electron. Syst. 1993, 29, 263–267. [Google Scholar] [CrossRef]
  24. LORD Corporation. LORD product datasheet, 3DM-GX3-25™, Miniature Attitude Heading Reference System (AHRS). 2014. Available online: http://files.microstrain.com/3DM-GX3-25-Attitude-Heading-Reference-System-Data-Sheet.pdf (accessed on 30 July 2016).
  25. LinkQuest Inc. NavQuest300/NavQuest600/NavQuest600 Micro Doppler Velocity Log, Users Guide; LinkQuest Inc.: San Diego, CA, USA, 2006. [Google Scholar]
  26. Advanced Navigation. Spatial FOG Reference Manual, Version 2.2. April 2014. Available online: https://www.advancednavigation.com.au/ (accessed on 30 July 2016).
Figure 1. Sine rotation vectors. (a) Sine rotation vector rotating z directional vectors; (b) Sine rotation vector rotating x directional vectors.
Figure 1. Sine rotation vectors. (a) Sine rotation vector rotating z directional vectors; (b) Sine rotation vector rotating x directional vectors.
Sensors 16 01213 g001
Figure 2. Simulation 1 results: error of roll estimates and the estimated trajectory. (a) Error of roll estimates of the sine rotation vector method and EKF; (b) Estimated trajectory on the x y plane by the sine rotation vector method and EKF.
Figure 2. Simulation 1 results: error of roll estimates and the estimated trajectory. (a) Error of roll estimates of the sine rotation vector method and EKF; (b) Estimated trajectory on the x y plane by the sine rotation vector method and EKF.
Sensors 16 01213 g002
Figure 3. Test tank.
Figure 3. Test tank.
Sensors 16 01213 g003
Figure 4. The two trajectories for the navigation experiment.
Figure 4. The two trajectories for the navigation experiment.
Sensors 16 01213 g004
Figure 5. Circular path test tank experiment: trajectory in the x y plane estimated by the proposed method compared to the trajectories calculated without filtering and with the pure-EKF method. (a) Trajectory estimated by the proposed method and that calculated without filtering; (b) Trajectory estimated by the pure-EKF method and that calculated without filtering.
Figure 5. Circular path test tank experiment: trajectory in the x y plane estimated by the proposed method compared to the trajectories calculated without filtering and with the pure-EKF method. (a) Trajectory estimated by the proposed method and that calculated without filtering; (b) Trajectory estimated by the pure-EKF method and that calculated without filtering.
Sensors 16 01213 g005
Figure 6. Circular path test tank experiment: trajectory in the x z plane estimated by the proposed method compared to the trajectories calculated without filtering and with the pure-EKF method. (a) Trajectory by the proposed method and that calculated without filtering; (b) Trajectory by the pure-EKF method and that calculated without filtering.
Figure 6. Circular path test tank experiment: trajectory in the x z plane estimated by the proposed method compared to the trajectories calculated without filtering and with the pure-EKF method. (a) Trajectory by the proposed method and that calculated without filtering; (b) Trajectory by the pure-EKF method and that calculated without filtering.
Sensors 16 01213 g006
Figure 7. Sensors for the test on the ground. GPS is used to calculate the velocity of the vehicle. (a) Sensors on the roof of the test vehicle; (b) Fiber optic gyroscope (FOG) and attitude heading and reference system (AHRS) inside the vehicle.
Figure 7. Sensors for the test on the ground. GPS is used to calculate the velocity of the vehicle. (a) Sensors on the roof of the test vehicle; (b) Fiber optic gyroscope (FOG) and attitude heading and reference system (AHRS) inside the vehicle.
Sensors 16 01213 g007
Figure 8. Route for the ground experiment.
Figure 8. Route for the ground experiment.
Sensors 16 01213 g008
Figure 9. Ground test results: yaw estimates compared to the FOG measurement. (a) Yaw estimates of the methods; (b) Error of the estimate with respect to the yaw by FOG.
Figure 9. Ground test results: yaw estimates compared to the FOG measurement. (a) Yaw estimates of the methods; (b) Error of the estimate with respect to the yaw by FOG.
Sensors 16 01213 g009
Table 1. Complementary aspects of the measurements. DVL, Doppler velocity log.
Table 1. Complementary aspects of the measurements. DVL, Doppler velocity log.
Short-Term UseLong-Term Use
Angular rate (gyroscope)prediction-
Gravitational field (accelerometer)-correction
Magnetic field (magnetometer)-correction
Velocity (DVL)-(1) Location estimation
(2) Rejection of dynamic effect
in gravitational field measurement
Table 2. Uncertainty in the measurement in the simulation tests.
Table 2. Uncertainty in the measurement in the simulation tests.
SimulationMeasurementUncertaintyValue (degree)
Simulation 1Accelerationbias ( Δ ϕ , Δ θ , Δ ψ ) ( 5 , 5 , 1 )
random noise ( σ ϕ , σ θ , σ ψ ) ( 1 , 1 , 1 )
Magnetic fieldbias ( Δ ϕ , Δ θ , Δ ψ ) ( 2 , 2 , 5 )
random noise ( σ ϕ , σ θ , σ ψ ) ( 1 , 1 , 1 )
Simulation 2Accelerationbias ( Δ ϕ , Δ θ , Δ ψ ) ( 5 , 5 , 5 )
random noise ( σ ϕ , σ θ , σ ψ ) ( 1 , 1 , 1 )
Magnetic fieldbias ( Δ ϕ , Δ θ , Δ ψ ) ( 1 , 1 , 1 )
random noise ( σ ϕ , σ θ , σ ψ ) ( 1 , 1 , 1 )
Table 3. Simulation test results: statistics of the estimation error. CF, complementary filter.
Table 3. Simulation test results: statistics of the estimation error. CF, complementary filter.
SimulationStatisticsSRVEKFUKFCF
Simulation 1Average (rad) 0.0622 0.0657 0.0570 0.0797 0.0799 0.0571 0.0890 0.0820 0.0600 0.0804 0.0798 0.0557
RMS (rad) 0.0739 0.0789 0.0599 0.0881 0.0883 0.0606 0.1038 0.0959 0.0693 0.0891 0.0883 0.0600
distance error ratio (%) 0.723 1.618 1.6891.639
Simulation 2Average (rad) 0.0569 0.0614 0.0234 0.0893 0.0876 0.0272 0.1297 0.1206 0.0429 0.1610 0.1236 0.0303
RMS (rad) 0.0683 0.0744 0.0280 0.1068 0.1050 0.0334 0.1614 0.1512 0.0569 0.2420 0.1767 0.0391
distance error ratio (%) 0.245 1.490 1.4890.617
Table 4. Test tank experiment result: the ratio of the distance error relative to the distance traveled.
Table 4. Test tank experiment result: the ratio of the distance error relative to the distance traveled.
TrajectoryDistance Error Ratio
SRVEKFUKFCF
Circular trajectory   1.08%2.38%2.68%3.37%
Rectangular trajectory   2.06%4.07%4.82%4.82%
Table 5. Ground test estimation error: errors in yaw.
Table 5. Ground test estimation error: errors in yaw.
StatisticsError (Rad)
SRVEKFUKFCF
Average0.12640.24940.25050.2476
Root mean square error0.18620.29940.30010.3016
Maximum error0.49310.67490.68260.6877

Share and Cite

MDPI and ACS Style

Ko, N.Y.; Jeong, S.; Bae, Y. Sine Rotation Vector Method for Attitude Estimation of an Underwater Robot. Sensors 2016, 16, 1213. https://doi.org/10.3390/s16081213

AMA Style

Ko NY, Jeong S, Bae Y. Sine Rotation Vector Method for Attitude Estimation of an Underwater Robot. Sensors. 2016; 16(8):1213. https://doi.org/10.3390/s16081213

Chicago/Turabian Style

Ko, Nak Yong, Seokki Jeong, and Youngchul Bae. 2016. "Sine Rotation Vector Method for Attitude Estimation of an Underwater Robot" Sensors 16, no. 8: 1213. https://doi.org/10.3390/s16081213

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop