IMU and Cable Encoder Data Fusion For In-Pipe Mobile Robot Localization
IMU and Cable Encoder Data Fusion For In-Pipe Mobile Robot Localization
Abstract-Inner pipe inspection of sewer networks is a hard This paper proposes and evaluates a complementary ap
and tedious task, due to the nature of the environment, which proach to localize a mobile robot, which is based on data
is narrow, dark, wet and dirty. So, mobile robots can play an fusion of two sensor devices: an IMU and a cable encoder,
important role to solve condition assessment of such huge civil the later measuring the length of an unfolded cable, from the
infrastructures, resulting in a clear benefit for citizens. One of the
starting point of operations up to the robot platform, which is
fundamental tasks that a mobile robot should solve is localization,
but in such environments GPS signal is completely denied, so
tethered for safety, communications and energy reasons. This
alternative methods have to be developed. Visual odometry and
sensor set-up has the great advantage of its availability, since it
visual SLAM are promising techniques to be applied in such is independent of environment situations which usually cause
environments, but they require a populated set of visual feature failures in image processing. The presented method is based
tracks, which is a requirement that can not be fulfilled in such on the Graph SLAM approach [13], [1], [4], so it can be easily
environments in a continuous way. With the aim of designing exported as a complementary method to add robustness to an
robust and reliable robot systems, this paper proposes and inertial/vision based Graph SLAM estimation. Optimization is
evaluates a complementary approach to localize a mobile robot, carried out within an interval of consecutive platform states,
which is based on sensor data fusion of an inertial measurement called a window state, given the sensor measurements in that
unit and of a cable encoder, which measures the length of an
interval. Optimization tries to find out the most likely window
unfolded cable, from the starting point of operations up to the
state, given sensor measurements, where likelihood is treated
tethered robot. Data fusion is based on optimization of a set of
windowed states given the sensor measurements in that window.
in a probabilistic way. In terms of a cost function, such opti
The paper details theoretical basis, practical implementation mization searches the window state point that minimizes a cost
issues and results obtained in testing pipe scenarios. function, which is expressed as a sum of several constraints,
imposed by measurements. The paper details theoretical basis,
practical implementation issues and results obtained in testing
I. INTRODUCTION
pipe scenarios with a wheeled platform.
Inner pipe inspection of sewer networks is a hard and
tedious task, due to the nature of the environment, which II. STATE DEFINITIONS AND GRAPH MODEL
is narrow, dark, wet and dirty. Mobile robots can play an We consider the following full platform state at iteration t:
important role to solve condition assessment of such huge
civil infrastructures, resulting in a clear benefit for citizens. (1)
For instance, only at the city of Barcelona, sewer network has
an overall length of 5000 K m, an underground asset that has which is actually a column vector where pt [p� pt p�l T
grown over the last centuries, built of different materials and
sizes. Inspection robots have a big market to be exploited in
is the position of the robot, vt = f
[v� vt v; is the velocity
and qt [q6 qi q� q�lT is the quaternion representation of the
=
978-1-4673-6225-2/13/$31.00
Authorized ©2013 IEEE
licensed use limited to: College of Engineering - THIRUVANANTHAPURAM. Downloaded on September 08,2023 at 18:07:29 UTC from IEEE Xplore. Restrictions apply.
The trajectory run by the robot is modelled as a graph where the first term FJ ( si ) is the cost function associated to
linking consecutive nodes, where each node represents a plat IMU measurements, the second one FC ( si ) is that associated
form state at a given iteration t, and each link sets a constraint to cable encoder data and the third one, FW ( si ) is that
imposed by sensor data between two of such nodes. Figure 1 imposing the wheeled vehicle constraints. These three function
shows the raw graph issued from this model, composed by costs are detailed in the following section III. Please note that
N + 1 platform states. F ( si ) does not have an explicit expression, but given a set of
sensor measurements, and given a point si, we can compute
Since IMU data is provided at much higher rate than cable its value (pointwise evaluation), so numerical techniques will
encoder measurements, localization will be computed for a be employed to compute the required minimization. The goal
subset of those platform states depicted on figure 1, so a for each optimization is to find the s� point, which minimizes
new version of the graph, called reduced graph, is thought the function F ( si ) :
which only incorporates such selected platform states, also
called keyframes. Figure 2 shows the reduced graph, where (5)
all nodes are linked by a cable encoder measurement and by
an integration of a subset of consecutive IMU measurements. A. IMU Constraint
Based on this reduced graph we will formally define a window
as a subset of Nw + 1 consecutive platform states (i.e. Nw + 1 An IMU device provides high rate (up to 1 KHz) inertial
consecutive keyframes). measurements. At iteration t, the IMU measurement is:
T
So at this point three iteration index can be formally "t =
[0/ 0/ 0/ wt wt wt]
x y z X Y Z '
(6)
defined. Assuming that IMU is the highest rate sensor, the first T
one is the index running on IMU iterations, t E [0, N]. The where at [ a� at a ;] is the body acceleration vector
=
i E [0, NK], and the third index runs over a window state, measurements reported with respect to the current vehicle
j E [0, Nw]. A window state is defined as: coordinate frame. With these measurements, a set of con
si =
[xi xH1 ... xHj ... xHNw] , (3)
straints can be imposed to the pose graph, but these constraints
are not formulated on such measurement space. Alternatively,
which is also a column vector concatenating Nw + 1 platform consecutive measurements are integrated to compute the so
states, from xi to xHNw. called integrated platform states, labelled as xJ. Therefore,
for the ith window, the following vector is defined:
(
Please note that t, i and j indexes are integer values. Each
of them has a corresponding time stamp value labelled, respec
tively, as Tt ,T and THj, allowing proper ordering operations
o� = [ ( x}+1 _ xH1 )T . . . ( x}+Nw _xHNw ) T (7)
i
between them. where terms xHj,Vj E [1, Nw] are provided by the evaluation
point si, while x}+j,Vj E [1, Nw] are computed with xi initial
III. STATE OPTIMIZATION (anchored) point and IMU measurements {"tITt E [T ' THNw]}'
i
The cost function to be minimized associated to IMU measure-
State estimation will be computed for each window over the
ments is:
window state space defined by si. However, we assume the first
state of each window, xi, as a starting point, so it is anchored (8)
and optimization will not modify it. The cost function to be so at this point we have to provide a computer routine that,
minimized is: given measurements during the window period, and given
an evaluation point si, is able to output FJ ( si ) . Therefore,
(4)
we have to detail computation of x}+j, and also matrix C},
which parameterizes the uncertainty of IMU measurements,
thus (C})-1 weights the overall IMU constraint.
Within the ith window, the first integrated state, x} , is
provided by the first (anchored) platform state of the evaluation
point si, and the following integrated platform states, x} are
Fig. 1. Raw graph created when fusing IMU and cable constraints. computed with the following equations:
Black arrows are IMU measurements and red ones represent cable length
measurements from the starting motion point. v} vj-1 + Rt-1(at bQJ�t gO�t ,
= _ _
(9)
q} +-
qt
q
I I
�
(quaternion normalization) ,
neighboring nodes are linked by two constraints: (I) Black, IMU constraints
imposed by integrating several consecutive inertial measurements, and (2) Red,
platform orientation at t - 1, gO is the gravity vector, and
cable length constraints imposed as the difference of two consecutive cable b" and bw are the accelerometer and gyro bias respectively.
encoder measurements. Gravity, and bias are estimated initially as it is explained in
Authorized licensed use limited to: College of Engineering - THIRUVANANTHAPURAM. Downloaded on September 08,2023 at 18:07:29 UTC from IEEE Xplore. Restrictions apply.
subsection III-D. Recall that from quaternion representation, Algorithm 1 IMU Cost Function
]
rotation matrix is: INPUTS
·WINDOW STATE POINT: si
qOq2 +qlq3 ·SENSOR DATA: {{t ,\fth E h,THNw]}
q2q3 - Qq l ,
1 2 O 2 ·KEYFRAME TIMESTAMPS: {THj,\fj 1 . . . Nw} =
2 Q1 Q2
_ _
J1,vq (14)
J1,qq which implicitly assumes that cable deployment follows the
inner pipe geometry, and primary force that pulls the cable
deployment is due to forward vehicle motion. D.�!�+l is the
J2 =
ax�
at}
=
[ J2,0 va3 0 3
J2,qw
]' (15)
ellapsed time between consecutive keyframes i + j and i + j + 1.
Given cable measurements and the evaluation point si, the
difference between expected, gi, and measured, pi, is:
and matrix QI is the IMU device noise matrix:
t5b(si,Ai,AHNw) = gi(si) - gi(Ai,AHNw). (19)
(16)
At this point, we could follow the same approach described
Jacobian matrices J1,vq, J1,qq, J2,va and J2,qw are partial by IMU function cost, but we realise that, within window
derivatives of v} and q} with respect to q�-I, at and wt. intervals, noise of cable measurement differences was mainly
due to resolution error, since encoder measures up to lern
Algorithm 1 summarizes the procedure to compute the cable length variations. This fact inspires us an alternative
IMU part of the cost function. Instead of accumulating a large probabilistic model rather than a Gaussian one. The proposed
IiI vector and C 1 matrix, the algorithm updates the cost by approach aims to model that, within the encoder resolution
computing the contribution at each j node as a mahalanobis range, measurements should be very likely, but out of this res
distance between Xf and xHj. This is equivalent to equation 8 olution interval, probability should fall down rapidly. In terms
since C1 matrix is a block-built matrix, but avoids computation of a cost function, Fc(si), the proposed model results at zero
of the inverse of a large matrix. cost for values of t5b inside the encoder resolution range, but
the cost grows up when t5b is out of this resolution tolerance
B. Cable Length Constraint interval. This model is summarized with the following cost
function:
During the time period of the ithwindow, measurements
acquired by the cable encoder are the set {,A,HjITHj E
h,T i + Nw]} , so keyframes are directly choosen when new
cable encoder data is available. Cable encoder measures the
total unfolded length of the cable tethering the robot. Within
a window, we define the following difference: Other noise sources could be the non-straight deployment
of cable length, but since the proposed model computes
(17) differences within the starting point of the window and the end
Authorized licensed use limited to: College of Engineering - THIRUVANANTHAPURAM. Downloaded on September 08,2023 at 18:07:29 UTC from IEEE Xplore. Restrictions apply.
D. IMU Initialization
IMU device is mainly affected by two kinds of noise
processes. One of them is considered as a Gaussian process,
which is taken into account by weighting the IMU constraint
by the inverse of a covariance matrix (equation 12). But
a second noise process is of low dynamics, and it can be
modelled as a measurement bias for accelerometers, b" and
Fig. 3. Small green segments are parts of accumulated vertical displacement
another bias for the gyros, bw. Moreover, accelerometers also
over a window of Nw = 3. Lateral displacement follows the same idea. measure the ubiquitous gravity vector, gO, that is compensated
in ground applications with the force experimented by the floor.
So three vectors have to be estimated initially, in order to use
one (equation 17), main cable curvatures are cancelled since IMU data properly, gO, b" and bw, since our approach does
they affect both cable length measurements Ai and AHNw. not observe such quantities online. Such initalization assumes
that the platform is completely stopped while running the
C. Wheel Constraint optimization loop, forcing the integrated velocities to be 0 and
the orientation quaternion to be [1 0 0 OlT. So the state to be
optimized is the 9-dimensional vector of [gO b" bw]. Initial
Wheel constraint can be applied under the assumption
that the platform is wheeled, and slippage and jumping are
guess for the gravity is the mean acceleration during a short
relatively low. It assumes the heuristics that lateral and vertical
period (for instance, one second), and initial bias are set to
displacements of the vehicle are small, so it bounds these
zero vectors. Subsection V-B reports results on runnig such
motions. For a window state point si, lateral and vertical
initialization with the actual platform used for the experiments.
displacements, <51 and <5L can be computed as:
Nw-l
<5i (si)
L,v '""'
� UL V
,
(RHj)-lvHj �H
t+Jj+l' (21) E. Initial Guess
j= O
=
· SENSOR DATA: {AHjITHj E h,THNw]} before operations and sets the localization coordinate reference
· KEYFRAME TIMESTAMPS: {THj,Vj 1 . . . Nw} = frame at the initial point of platform motion.
· PARAMETERS: CYc'{C'CYL){L)CYv,{v
OUTPUT: Fc(si),Fw(si) IV. IMPLEMENTATION DETAILS
gi = AHNw _
Ai
gi = 0 A software prototype has been implemented in C++ under
for j = 0; j < Nw; j + + do Ubuntu 12.04, by using the algebra and optimization classes
d = (RHj)-lvHj ��!;+l of dlib library [3]. This section details three practical issues:
gi+ = UF ' d
timeline, skipping cable data and threshold value.
<5}+ = UL ' d a) Timeline: Since IMU and encoder devices provide
<5v+ = UV ' d data asynchronously and at different rates, timeline concepts
end for are critical, and iteration indexes are based on them. Figure 4
<5b gi - gi
=
shows the continuous timeline and the different involved
Fe Fc(<5b,cyc' {c) Ilequation 20
=
indexes running over it. As suggested in figure 4, the first
FL = FL(Si,CJL'{L) Ilequation 20 platform state of the window is called anchored, since their
Fv = Fv(S�,CJv'{v) Ilequation 20 components are not part of the optimization space, but it is
Fw = FL + Fv required as a necessary starting point to integrate IMU data
return Fe, Fw
(see subsection III-A), as well as to compute expected forward
displacements (see subsection III-B).
Authorized licensed use limited to: College of Engineering - THIRUVANANTHAPURAM. Downloaded on September 08,2023 at 18:07:29 UTC from IEEE Xplore. Restrictions apply.
b) Skipping Cable Data: Cable encoder measures, at
10Hz, the length of the unfolded cable tethering the robot,
with a 1em resolution error. In the other hand, IMU is a much
higher sensitive device that measures inertial data at 100Hz,
so a big difference in the nature of both measurements exists.
Since robot speeds are usually below 0.5m/ s, it has been
observed that skipping (ignoring) several consecutive cable
data points results in better optimized trajectories, computed Fig. 5. JT wheeled platform used to collect data.
faster, probably because of cable data needs amplitude to
have an important corrective effect over IMU data. Otherwise,
within a short window, cable data falls under the resolution
noise level. So a parameter Ns is set, indicating how many
consecutive cable data points are periodically skipped from the
raw cable data stream. Values for Ns will be typically between
o and 3. Higher values of Ns could cause large extrapolation
errors when computing expected forward increments (see
equation 18).
e) Threshold Values: In subsections III-B and III-C a
non-Gaussian probabilistic model has been proposed, depend
ing on a threshold. For cable length cost function, Fe (see
equation 20), the threshold is '"Ye' which is set to 0.5em, so
algorithm allows absolute differences between expected and
measured cable increments up to 0.5em within a window.
Beyond '"Ye' cost function behaves as a mahalanobis distance
with (Je set to 1em. For wheel constraint case, threshold
'"YL '"Yv
= 1em, so the maximum slippage/ftying/falling
=
Fig. 6. On the left, a georeferenced map of the JT garden area, where the
pipe run by the robot is deployed. On the right, a picture of that pipe. Distance
tolerated by the model will be up to 1em inside a window, between a reference corner and the start of the pipe is marked with a d, and
and (JL (Jv =1mm. =
was measured to 3.1m.
Gravity was also estimated in the same loop. For the case
time,'t of the same trial as above, estimated gravity initialization was:
i+l +Nw gO [-0.6064705 9.7851897 - 0.1997489]T m/ S2 (23)
xi(anchored) Xi
=
X
�I ----------------------------�I
window state: Si C. Trajectory Estimation
Authorized licensed use limited to: College of Engineering - THIRUVANANTHAPURAM. Downloaded on September 08,2023 at 18:07:29 UTC from IEEE Xplore. Restrictions apply.
be tunned were Ns and Nw. Ns is the number of cable data VI. CONCLUSION
skip points, being Ns 0 if all points are taken, so 0 points
=
·10
ACKNOW LEDGMENT
-- GToondTruth
Nw�7;N.�O;
__
__ Nw=15;N,,=D;
This work is carried out under the European FP7-SME
-- Nw=7;NIJ= 1; PipeGuard project with agreement number 286580. Authors
Nw�15;N,�1; would also thank the engineering support received by JT
'---------:-�-,-,_,,: Y(m]
__
- -;::;
: -:;:-
:;::-;::t_ .,
-10 -8 -6 -4 -2 elektronik and Inspiralia, which are also partners of the project.
X[m]
0 2
REFERENCES
Fig. 7. Estimated trajectories with different values for Nw and Ns compared
with ground truth pipe profile (black).
[1] M. Agrawal and K. Konolige. FrameSLAM: From Bundle Adjustment
to Real-Time Visual Mapping. IEEE Transactions on Robotics, 24(5),
October 2008.
[2] AJ. Davison. Real-Time Simultaneous Localisation and Mapping with
We were also interested to identify the effect of imposing a Single Camera. In Proceedingg of the International Conference on
Computer Vision (ICCV), 2003.
each constraint separately, so next results compare trajectory
estimates (figure 8) for four cases: (1) only IMU constraint, [3] dLib. dlib c++ library website. dlib.net.
(2)IMU and cable constraints, (3) IMU and wheel constraints [4] G. Grisetti, R. Kiimmerle, C. Stachniss, and W. Burgard. A tutorial on
graph-based SLAM. IEEE Transactions on Intelligent Transportation
and (3) IMU,cable and wheel constraints. All executions were Systems Magazine, 2:31-43, 2010.
done by setting Nw 7 and Ns 1. We see how, only
= =
.120 t===========� [8] T. Lupton and S. Sukkarieh. Visual-Inertial-Aided Navigation for High
Dynamic Motion in Built Environments Without Initial Conditions.
)- - - - - - � - - -
- - - -- IEEE Transactions on Robotics, 28(1), 2012.
-100 I
1 [9] M. Maimone, Y. Cheng, and L. Matthies. Two Years of Visual Odometry
'I
·80
1
on the Mars Exploration Rovers. Journal of Field Robotics, 3(24):169-
'1---- ----- 186, 2007.
1
Z[m]
·60
Authorized licensed use limited to: College of Engineering - THIRUVANANTHAPURAM. Downloaded on September 08,2023 at 18:07:29 UTC from IEEE Xplore. Restrictions apply.