Professional Documents
Culture Documents
June 2, 2016
As Autonomous Underwater Vehicles(AUVs) grow in size, the limited energy they can carry on
board imposes serious constraints on both workload and range. The problem of maintaining attitude
with minimum control effort is especially important for large AUVs to improve power efficiency. A
good estimation of the vehicles attitude enables better control of propulsion, which saves power for
other operations [1]. This project investigates two state estimation techniques, the Extended Kalman
Filter and the Unscented Kalman Filter, to determine the center of buoyancy(CoB) of the vehicle
from onboard sensor measurements.
1 Introduction
Conventional AUV dynamics can be modeled as a rigid-body balanced with gravity, buoyancy,
thrust, drag and other perturbations from the underwater environment. In more recent applications
with manipulators, the AUV becomes a multi-body system connected through joints, which adds
some disturbance to the equilibrium. Figure 1 gives some examples of current AUVs developed
by different research centers. SAUVIM is a semi-autonomous vehicle with a 7-dof manipulator
which can perform task at a depth of 4000m. Girona 500 AUV is developed by Girona Underwater
Vision and Robotics Team and is reconfigurable for different tasks. With up to 8 thrusters, Girona
can be controlled all 6 degrees of freedom. Maximum operation depth for Girona 500 is 500m.
VORTEX has a 7-link manipulator, the control architecture of which can be found in [11] One of
the most important goals during autonomous tasks is to maintain desired position and attitude while
manipulator performs tasks which may involve interaction with surrounding environment. Reaction
force acts as a disturbance to the system dynamics. In the ideal case, the gravity and buoyancy
forces align, making the vehicle neutrally buoyant. However for large AUVs under diverse working
conditions, variable buoyancy brings more advantages. The problem is how to identify dynamic
equation parameters, such as CoB position. By measuring the position of COB with respect to
CG, ballast operation and the thruster forces could be optimized for stabilization, depth control,
and navigation. In this project, the team investigates algorithms to estimate Center of Buoyancy
position with respect to Center of Mass. Extended Kalman Filter and Unscented Kalman Filter are
applied to the vehicle transition and measurement models to provided a good estimate of system
states. Different algorithm performances are compared and discussed.
2 Problem Formulation
Modeling of Autonomous Underwater Vehicle has been studied in many literature, [2] [3] [4], where
dynamic models of multibody systems are derived. Derived from Newton-Euler Equations, dynamic
equations for a general multibody system has the following form:
1
(a) SAUVIM, University of Hawaii
(b) Girona, Girona Underwater Vision (c) vortex, Inria and Ifremer
and Robotics team
= D p + TCM th + r (2)
where D is damping matrix, TCM is thruster control matrix and r is restoring force, including
buoyancy and gravity.
As for measurement, GPS is not available underwater, so Inertial Navigation System(INS) is
equipped. Specifically, PHINS with a self-adaptive Kalman Filter can provide transformation ma-
trix from PHINS frame to inertial frame, linear and angular velocity, and acceleration. In all, 21
measurement variables are used in filter update step.
Different versions of the Kalman filter have been applied to this estimation problem. Besides
conventional designs like the EKF and UKF, novel filter architecuture have been developed that
tailors to attitude sensing. In particular, the Invariant Extend Kalman Filter (IEKF) [5] applied to
the 3D rotation group has been shown to perform well [6].
2
3 Mathematical Models
When implementing Kalman Filter and its variants, process transition model and measurement
model are necessary. Preliminary development of our models is introduced in the following sections.
TCM projects thruster forces into joint space. To calculate r , duality between velocity and force
is used. Jacobian matrix is used to describe relationships between general velocity of a certain fixed
point on rigid body and joint velocities(state p) as:
p
= J(q, xp ) p
vp
T
p vp is angular and linear velocities of point p in inertial frame, xp is coordinates of point p
in CoM frame and p is system quasivelocity. With this relationship, r is given by:
where , and are roll, pitch and yaw angles respectively and
X vx
0
Y = Rcm vy
(6)
Z vz
In order to estimate buoyancy, the state vector is augmented with the coordinates of the CoB
with respect to CoM in the body frame cm pcb , as well as the magnitude of the buoyancy force Fb .
During operation, Fb is considered as a constant,
Fb = 0 (7)
while cm pcb is moving slowly, in simulation section, both a static cm pcb and moving cm pcb will be
demonstrated. Also, assuming the vehicle to be neutrally buoyant, buoyancy should be equal and
opposite to gravity, which is a known parameter in simulation. The state vector is therefore:
T
x = p q cm pcb Fb (8)
3
Specifically 16 variables are chosen for the state vector to represent Markov Process [7] as in Equa-
tion 9.
A(q)1 (B(q, p)p + T CR th + d + r ) t
031
0
xt+1 = xt +
1 sin() tan() cos() tan()
+ wt
(9)
T
0
cos() sin() t
0 sin()/ cos() cos()/ cos()
0 T
Rcm v t
System quasi-velocity vector in six direction p, coordinates of center of buoyancy expressed in
body frame cm pcb , buoyancy Fb , orientation of center of mass frame expressed in Euler angles
and coordinates of the origin of center of mass frame 0 xcm . To simulate actual process, additive
Gaussian noise is added to simulation with zero mean and proper variace. More detailed dynamic
model development process can be found in [9], [10].
3.2 Measurement
The inertial measurement unit (IMU) typically consisting of gyroscopes and accelerometer provides
angular rates in the body frame, as well as the inclination with respect to the earth frame. The
particular AUV model we are constructing is equipped with a a Photonic Inertial Navigation System
(PHINS) unit, which outputs position,heading, roll, pitch, depth, velocity, and heave. The high
accuracy inertial measurement capability is based on Fiber Optic Gyroscope technology coupled
with an embedded digital signal processor that runs an Extended Kalman Filte. This INS is aided
by a differential GPS, a Doppler Velocity Log (DVL) other than the classical depth sensor,in order
to improve the absolute measurement of the vehicle position Doppler Velocity Log(DVL) provides
linear velocity information. Further, access to controller inputs during thruster and ballast operation
is assumed.
4
0
vph
0 = J 0 (q, xph )p (11)
ph
row 4 to 6 is PHINS linear velocity expressed in inertial frame.
Angular velocity of PHINS in PHINS frame is computed by:
p ph
T
ph = Rcm x y z (12)
The equations of linear acceleration are more complicated than the other three. Considering the
relationship between derivative of system configuration q and quasivelocity p, we got
6
d dq d dV dp X V dp
( ) = (V p) = p+V =( [V p]i )p + V (13)
dt dt dt dt dt i=1
qi dt
where V is a matrix transform velocity p into derivative of system configuration q, i.e.
1 sin() tan() cos() tan()
0
V = E 03 03 Rcm andE = 0 cos() sin()
0 sin()/ cos() cos()/ cos()
with Ai s denoting the block components of the matrix. Similarly for the computation of Kalman
gain and the update step, the Jacobian to the measurement equation z = h(x) calculates to:
C 1 0124 C 2 03
h 046 034 046 I3
C(x, u) = =
x (x,u) C3 034 C4 03
C5 C6 C7 03
Observation of this block structure is useful in alleviating the computation burden, but it is still
a very cumbersome task, and decision is made to use MATLABs symbolic solver to derive the
exact equations. Ideally, linearization should be made online at the current operation point, but
Simulink does not support the linearization command in the embedded function. In practice, online
linearization would also pose a forbidding computation cost to the filter.
5
Figure 2: Block diagram of the simulation model in MATLAB Simulink
The UKF [13], on the other hand, samples 2n + 1 = 33 sigma points by the unscented trans-
formation which uses vectors from the Cholesky factorization of the covariance matrix. These
points are propagated directly through the nonlinear system and measurement equations, then to
be transformed back to the posterior distribution by preallocated weights. This procedure reduces
the singluarities involved in inverting covariance matrices and further introduces extra parameters
to tune the sigma points. Some literature propose schemes for tuning the unscented transformation,
but a general methodology does not exist because of the heuristic nature of the UKF design.
6
4
10
0.2 1.41
0.1
1.4
0
-0.1 1.39
-0.2
0 5 10 15 1.38
0.6
1.37
0.4
1.36
0.2
1.35
0
0 5 10 15
1.34
0.6
0.4 1.33
0.2
1.32
0
-0.2 1.31
0 5 10 15 0 5 10 15
X cb [m] Buoyancy F b [N]
10 4
2 1.425
0 1.42
-1
0 5 10 15
1.415
0.4
0.2
1.41
0
-0.2
0 5 10 15 1.405
1
1.4
0
-1
-2 1.395
0 5 10 15 0 5 10 15
X cb [m] Buoyancy F b [N]
15 20
10 10
5 0
0 -10
-5 -20
0 5 10 15 0 5 10 15
4 2
1
2
0
0
-1
-2 -2
0 5 10 15 0 5 10 15
2 2
1
0
0
-2
-1
-4 -2
0 5 10 15 0 5 10 15
linear velocities [m/s] angular rates [rad/s]
7
percent from ground truth, estimation over 10 to 15 seconds (1000 to 1500 time steps) are liable
to diverge. In the EKF case, this is attributable to the highly nonlinear dynamics involved with
buoyancy that deteriorates the quality of the linearization. For the UKF however, which does not
suffer from linearization issues, there also occurred cases where it diverges from the truth over ex-
tended period of time. One possible explanation is that the sigma point transformation, despite its
capability to handle nonlinearities, could fail to track the evolution of distribution in non-Gaussian
processes.
4 Conclusion
In summary, the project constructs a nonlinear model of the AUV dynamics with focus on the
buoyancy variation. Vehicle and sensor dynamics are treated as Gaussian processes with additive
Gaussian white noise. A linearized version of the system is used to construct the EKF, while the
UKF makes a sigma point transformation and propagates the resulting samples directly through
the nonlinear equations. Performances of both filters showed similar accuracy in estimating speeds
and orientations, states that we havd direct sensor information on. For buoyancy and the center of
buoyancy, however, neither EKF nor UKF achieved stable performance, and the test is inconclusive.
Future work could be carried forth in two aspects. Firstly, new filtering techniques that has been
developed for the attitude sensing problem could be implemented. One of the concepts the team
looked into is the Multiplicative Extended Kalman Filter (MEKF), of which the aforementioned
IEKF is a generalization. Multiplicative EKF [12] differs from standard EKF in that (a) it makes
use of quaternion representation of the attitude which avoids the singularity issue and (b) it is a
indirect Kalman Filter that estimates the error state, measured by the true state with respect to a
reference state, where the system nominally stabilizes. By employing this error state Kalman Filter
structure, the filter operates in a small range of deviations where the linearization assumptions are
more likely to be valid. And since quaternions are used to represent attitude, the error state could
also be expressed as an error quaternion that exactly describes the deviation. Further, the team
could implement a simple control law and test the filter in closed loop. It is expected that given a
wisely chosen feedback, the states are more likely to remain in the working range of the filter, thus
providing a more accurate state information for control, which is the ultimate goal of the estimation
problem.
Some final thoughts After appreciating the work of other team projects, we gained additional
perspectives into the estimation problem.
1. To circumvent the singularity issue of the Extended Kalman Filter, the inverse formulation of
Information Filter may be employed, which avoids inverting the bulky covariance terms resulting
from the high dimension of state and measurement vectors in the prediction step.
2. Instead of initializing the filter with a single Gaussian distribution, multiple Gaussians could be
chosen over the range of possible state values to better capture the uncertainty in the initialization.
It is expected in a small number of iterations that the correct hypotheses would converge, so that
the Gaussian mixture could be pruned to preserve the most confident estimate.
3. During different modes of operation that the AUV is working in, different models could be
used to describe the dynamics of buoyancy. We could also have seperate filters that estimate the
vehicle motion as states and the buoyancy vector as parameters. By transforming the problem
into a dual estimation formulation, we could make use of the computational power more wisely, in
8
that buoyancy parameters could be estimated at a variable time interval, with focus on transition
periods when the vehicle is changing configuration and thus the center of buoyancy moves in the
body frame. In periods of regular motion the buoyancy estimator could be switched off, thus saving
power consumption, which is one of the original motivations.
References
[1] Kinsey, James C., Ryan M. Eustice, and Louis L. Whitcomb. A survey of underwater vehi-
cle navigation: Recent advances and new challenges IFAC Conference of Manoeuvering and
Control of Marine Craft. Vol. 88. 2006.
[2] Antonelli, Gianluca, and Alexander Leonessa, Underwater robots: motion and force control of
vehicle-manipulator systems, IEEE Control Systems Magazine 2008.
[3] Hussain, Nur Afande Ali, Mohd Rizal Arshad, and Rosmiwati Mohd-Mokhtar, Underwater
glider modelling and analysis for net buoyancy, depth and pitch angle control Ocean Engineering
38.16 (2011): 1782-1791.
[4] Ridao, P and Tiano, A and El-Fakdi, A and Carreras, M and Zirilli, A, On the identification of
non-linear models of unmanned underwater vehicles Control engineering practice 12.12 (2004):
1483-1499.
[5] Silvere Bonnabel, Philippe Martin, Erwan Salaun. Invariant Extended Kalman Filter: the-
ory and application to a velocity-aided attitude estimation problem 48th IEEE Conference on
Decision and Control, Dec 2009, Shanghai, China. pp.1297-1304, 2009
[6] Persson, S. Mikael, and Inna Sharf. Steady-state invariant Kalman filter for attitude and imbal-
ance estimation of a neutrally-buoyant airship. Proceedings of the AIAA Guidance, Navigation,
and Control Conference,(Boston, Massachusetts). 2013.
[7] Giacomo Marani, Song K. Choi, Junku Yuh Real-time center of buoyancy identification for
optimal hovering in autonomous underwater intervention Intelligent Service Robotics, 2010,
Volume 3, Number 3, Page 175
[8] Wan, Eric A., and Ronell Van Der Merwe. The unscented Kalman filter for nonlinear estimation
Adaptive Systems for Signal Processing, Communications, and Control Symposium 2000. AS-
SPCC. The IEEE 2000
[9] Fauske, Kjell Magne, Fredrik Gustafsson, and Oyvind Hegrenaes. Estimation of AUV dynamics
for sensor fusion Information Fusion, 2007 10th International Conference on. IEEE, 2007.
[10] McMillan, Scott, David E. Orin, and Robert B. McGhee. Efficient dynamic simulation of an
underwater vehicle with a robotic manipulator Systems, Man and Cybernetics, IEEE Transac-
tions on 25.8 (1995): 1194-1206.
[11] Coste-Maniere, Eve and Wang, Howard H and Rock, Stephen M and Peuch, Alexis and Perrier,
Michel and Rigaud, Vincent and Lee, Michael J. Joint evaluation of mission programming for
underwater robots Robotics and Automation, 1996. Proceedings., 1996 IEEE International
Conference on 3 (1996): 24922497.
9
[12] Burton, R., S. M. Rock, J. Springmann, and J. Cutler Online Attitude Determination of a
Passively Magnetically Stabilized Spacecraft Proceedings of the 23rd AAS/AIAA Space Flight
Mechanics Meeting, Kauai, HI, AAS/AIAA, Feb, 2013
[13] SJ Julier, JK Uhlmann New extension of the Kalman filter to nonlinear systems AeroSense97,
1997
10