Professional Documents
Culture Documents
Abstract—Vision-aided inertial navigation systems (V-INSs) can INSs rely on GPS in order to receive periodic corrections. In
provide precise state estimates for the 3-D motion of a vehicle when most cases, a Kalman filter estimator is used for optimally com-
no external references (e.g., GPS) are available. This is achieved by bining the IMU and GPS measurements [3]. One of the main
combining inertial measurements from an inertial measurement
unit (IMU) with visual observations from a camera under the as- limitations of the GPS-aided INS configuration is that it cannot
sumption that the rigid transformation between the two sensors be used when the GPS signals are not available (e.g., indoors,
is known. Errors in the IMU-camera extrinsic calibration process underground, underwater, in space, etc.), or their reliability is
cause biases that reduce the estimation accuracy and can even lead limited (e.g., in the vicinity of tall buildings and structures due
to divergence of any estimator processing the measurements from to specular reflections and multipath error). Furthermore, high-
both sensors. In this paper, we present an extended Kalman filter
for precisely determining the unknown transformation between a precision GPS receivers are prohibitively expensive, and often,
camera and an IMU. Contrary to previous approaches, we explic- the acquired level of accuracy is not sufficient for certain appli-
itly account for the time correlation of the IMU measurements and cations (e.g., parallel parking a car within a tight space).
provide a figure of merit (covariance) for the estimated transforma- An alternative approach to provide corrections to an INS is
tion. The proposed method does not require any special hardware via the use of visual sensors such as cameras. Cameras are small-
(such as spin table or 3-D laser scanner) except a calibration target.
Furthermore, we employ the observability rank criterion based on size, light-weight, passive sensors that provide rich information
Lie derivatives and prove that the nonlinear system describing the for the surroundings of a vehicle at low cost. When observing
IMU-camera calibration process is observable. Simulation and ex- a known scene, both the position and attitude of the camera
perimental results are presented that validate the proposed method can be computed [4]. Furthermore, by tracking visual features
and quantify its accuracy. through sequences of images, the motion of the camera can be
Index Terms—Extended Kalman filter, inertial measurement estimated [5], [6]. Cameras and IMUs are complementary in
unit (IMU)-camera calibration, Lie derivatives, observability of terms of accuracy and frequency response. An IMU is ideal for
nonlinear systems, vision-aided inertial navigation. tracking the state of a vehicle over short periods of time when
I. INTRODUCTION it undergoes motions with high dynamic profile. On the other
hand, a camera is best suited for state estimation over longer
N RECENT years, inertial navigation systems (INSs) have
I been widely used for estimating the motion of vehicles mov-
ing in a 3-D space such as airplanes, helicopters, automobiles,
periods of time and smoother motion profiles. Combining these
two sensors to form a vision-aided INS (V-INS) has recently
become a popular topic of research [7].
etc. [2]. At the core of most INS lies an inertial measurement In order to fuse measurements from an IMU and a camera in
unit (IMU) that measures linear accelerations and rotational ve- a V-INS, the 6-DOF transformation between these two devices
locities. By integrating these signals in real time, an INS is must be known precisely (cf. Fig. 1). Inaccuracies in the val-
capable of tracking the position, velocity, and attitude of a vehi- ues of the IMU-camera relative pose (position and attitude) will
cle. This deadreckoning process, however, cannot be used over appear as biases that will reduce the accuracy of the estimation
extended periods of time because the errors in the computed esti- process or even cause the estimator to diverge. In most cases,
mates continuously increase. This is due to the noise and biases in practice, this unknown transformation is computed manu-
present in the inertial measurements. For this reason, current ally (e.g., from computer-aided design (CAD) plots) or through
the use of additional sensors. For example, for the Mars Ex-
Manuscript received September 24, 2007; revised March 30, 2008. First ploration Rover (MER) mission [8], a high precision 3-D laser
published October 3, 2008; current version published October 31, 2008. This scanner was employed to measure the location of the four cor-
paper was recommended for publication by Associate Editor P. Rives and Editor ners of the IMU housing with respect to a checkerboard placed
F. Park upon evaluation of the reviewers’ comments. This work was supported
in part by the University of Minnesota (DTC) and in part by the National in front of the camera for calibration purposes. Although this
Science Foundation under Grant EIA-0324864, Grant IIS-0643680, and Grant method achieved subdegree relative attitude accuracy and less
IIS-0811946. A preliminary version of this paper was presented at the 2007 than 1 cm relative position error [9], it is prohibitive for many
IEEE/RSJ International Conference on Intelligent Robots and Systems [1].
The authors are with the Department of Computer Science and applications due to the high cost of the equipment (3-D laser
Engineering, University of Minnesota, Minneapolis, MN 55455 USA (e-mail: scanner) involved. Additionally, every time one of the two sen-
faraz@cs.umn.edu; stergios@cs.umn.edu). sors is removed (e.g., for service) and repositioned, the same
Color versions of one or more of the figures in this paper are available online
at http://ieeexplore.ieee.org. process needs to be repeated, which requires significant time
Digital Object Identifier 10.1109/TRO.2008.2004486 and effort. Automating this procedure will reduce the cost of
Authorized licensed use limited to: University of Minnesota. Downloaded on November 4, 2008 at 11:03 from IEEE Xplore. Restrictions apply.
1144 IEEE TRANSACTIONS ON ROBOTICS, VOL. 24, NO. 5, OCTOBER 2008
Authorized licensed use limited to: University of Minnesota. Downloaded on November 4, 2008 at 11:03 from IEEE Xplore. Restrictions apply.
MIRZAEI AND ROUMELIOTIS: KALMAN FILTER-BASED ALGORITHM FOR IMU-CAMERA CALIBRATION 1145
the camera and the IMU, the EKF is able to refine the initial I
pC (t) is the position of the camera in the IMU frame, and
estimate for the unknown transformation while simultaneously bg and ba are the 3 × 1 bias vectors affecting the gyroscope
tracking the position, velocity, and attitude of the two sensors and accelerometer measurements, respectively. These biases are
(Section III-B–III-E). typically present in the signals of inertial sensors, and need
to be modeled and estimated, in order to attain accurate state
A. Filter Initialization estimates. In our study, the IMU biases are modeled as random
The purpose of this process is to determine the initial estimate walk processes driven by the zero-mean white Gaussian noise
for the IMU pose (G pI , I q̄G ), where G pI denotes the position vectors nw g and nw a , respectively.
of the IMU with respect to the global frame of reference and The system model describing the time evolution of the IMU
I
q̄G is the rotation quaternion between the IMU and the global state and of the IMU-camera transformation is given by the
frames. following equations [22], [23]:
We first compute an estimate for the camera pose (G pC , C q̄G ) I 1
q̄˙ G (t) = Ω(ω(t))I q̄G (t) (3)
using visual features (corners of the squares in the calibration 2
pattern) whose positions, G pf i , are known in global coordinates. G
ṗI (t) = G vI (t) G
v̇I (t) = G a(t) (4)
Specifically, the initial estimates of the depth to these features are
computed using Ansar’s method [4], while the initial estimate ḃg (t) = nw g (t) ḃa (t) = nw a (t) (5)
for the camera pose is determined by employing Horn’s method I I
q̄˙ C (t) = 03×1 ṗC (t) = 03×1 . (6)
[20]. Finally, a least-squares algorithm refines the camera-pose
estimate and additionally computes its covariance [21]. In these expressions, ω(t) = [ωx ωy ωz ]T is the rotational ve-
In the next step of the initialization process, we use an ap- locity of the IMU, expressed in the IMU frame, and
proximate estimate for the unknown IMU-camera transforma-
0 −ωz ωy
tion (I pC , I q̄C ). This was determined manually in our case but −ω × ω
Ω(ω) = ω × = ωz 0 −ωx
it can also be found using the CAD plots showing the IMU- −ω T 0
camera placement. We should note that the requirement for an −ωy ωx 0
approximate estimate for the initial IMU-camera transformation Finally, G a is the acceleration of the IMU, expressed in the
is not limiting since it can also be determined by employing any global frame.
hand–eye calibration algorithm. An initial estimate for the IMU The gyroscope and accelerometer measurements ω m and am ,
pose is then computed from the following relations (cf. Fig. 1): respectively, which are employed for state propagation, are mod-
G
pI = G pC − CT (C q̄G )CT (I q̄C )I pC eled as
I
q̄G = I q̄C ⊗ C q̄G (1) ω m (t) = ω(t) + bg (t) + ng (t) (7)
where C(q̄) is the rotational matrix corresponding to quater- am (t) = C(I q̄G (t))(G a(t) − G g) + ba (t) + na (t) (8)
nion q̄ and ⊗ denotes quaternion multiplication. Finally, af- where ng and na are zero-mean white Gaussian noise processes
ter computing the corresponding Jacobians [by linearizing (1)] and G g is the gravitational acceleration.
and considering the uncertainty (covariance) in the estimates of By applying the expectation operator on both sides of (3)–(6),
(I pC , I q̄C ) and (G pC , C q̄G ), the covariance of the initial IMU we obtain the state estimates’ propagation equations:
pose estimate is readily found.
1
q̄˙ G (t)
Iˆ
Ω(ω̂(t))I ˆq̄ G (t)
= (9)
B. Filter Propagation 2
G ˙ G ˙
The EKF estimates the IMU pose and linear velocity as well as p̂I (t) = G v̂I (t) v̂I (t) = CT (I ˆq̄ G (t))â(t) + G g (10)
the unknown transformation (rotation and translation) between ˙ ˙
b̂g (t) = 03×1 b̂a (t) = 03×1 (11)
the camera and the IMU. Additionally, the filter estimates the
biases in the IMU signals. q̄˙ C (t)
Iˆ
= 03×1 I
p̂˙ C (t) = 03×1 (12)
1) Continuous-Time System Model: We first derive the lin-
earized continuous-time system model that describes the time with
evolution of the errors in the state estimates. Discretization of
â(t) = am (t) − b̂a (t) and ω̂(t) = ω m (t) − b̂g (t). (13)
this model will allow us to employ the sampled measurements
of the IMU for state propagation. The filter state is described by The 21×1 filter error-state vector is defined as
the vector T
T T = I δθTG b
x T G v IT b T G p TI I δθTC I p TC (14)
g a
x = I q̄G bTg G vIT bTa G pTI I q̄CT I pTC (2)
For the IMU and camera positions, and the IMU velocity and
where I q̄G (t) and I q̄C (t) are the quaternions that represent the biases, the standard additive error definition is used (i.e., the
orientation of the global frame and the camera frame in the IMU error in the estimate x̂ of a quantity x is x = x − x̂). However,
frame, respectively. The position and velocity of the IMU in the for the quaternions, a different error definition is employed. In
global frame are denoted by G pI (t) and G vI (t), respectively. particular, if ˆq̄ is is the estimated value of the quaternion q̄, then
Authorized licensed use limited to: University of Minnesota. Downloaded on November 4, 2008 at 11:03 from IEEE Xplore. Restrictions apply.
1146 IEEE TRANSACTIONS ON ROBOTICS, VOL. 24, NO. 5, OCTOBER 2008
the attitude error is described by the error quaternion: The projective camera measurement model employed is
−1 ui xi /zi
δ q̄ = q̄ ⊗ ˆq̄ [ 12 δθ T 1 ]T . (15) zi = + ηi = + η i = hi (x, Gpf i ) + η i (19)
vi yi /zi
Intuitively, the quaternion δ q̄ describes the (small) rotation that
causes the true and estimated attitude to coincide. The main where (cf. Fig. 1)
advantage of this error definition is that it allows us to rep- xi
resent the attitude uncertainty by the 3 × 3 covariance matrix C
pf i = yi = C(C q̄I )C(I q̄G ) G pf i − G pI − C(C q̄I )I pC
E{δθδθ T }. Since the attitude corresponds to 3 DOF, this is a zi
minimal representation.
The linearized continuous-time error-state equation is and η i is the feature-measurement noise with covariance Ri =
σi2 I2 .
˙ = Fc x
x + Gc n (16) The measurement Jacobian matrix Hi is
where Hi = Jicam [ Jiθ G 03×9 Jip I Jiθ C Jip c ] (20)
−ω̂ × −I3 03×3 03×3 03×9 with
03×3 03×3 03×3 03×3 03×9
1 ẑi 0 −x̂i
−CT (I ˆq̄ )â × 03×3 03×3 −CT (I ˆq̄ G ) 03×9 Jicam = (21)
Fc =
G ẑi2 0 ẑi −ŷi
03×3 03×3 03×3 03×3 03×9
03×3 03×3 I3 03×3 03×9 Jiθ G = C(C ˆq̄ I )C(I ˆq̄ G )(G pf i − G p̂I ) ×
06×3 06×3 06×3 06×3 06×9
Jiθ C = −C(C ˆq̄ I )C(I ˆq̄ G )(G pf i − G p̂I ) − I p̂C ×
−I3 03×3 03×3 03×3
03×3 I3 03×3 03×3 Jip I = −C(C ˆq̄ I )C(I ˆq̄ G ) Jip c = −C(C ˆq̄ I )
ng
0
Gc = 3×3 03×3 −CT (I ˆq̄ G ) 03×3
n
n = wg x̂i
0 I3 na ŷi = C(C ˆq̄ I )C(I ˆq̄ G ) G pf i − G p̂I − C(C ˆq̄ I )I p̂C .
3×3 03×3 03×3
0 I3 03×3 0 nw a ẑi
3×3 3×3
06×3 06×3 06×3 06×3
When observations to N features are available concur-
and I3 is the 3 × 3 identity matrix. The covariance Qc of the rently, we stack these in one measurement vector z =
system noise depends on the IMU noise characteristics and is [zT1 · · · zTN ]T to form a single batch-form update equation.
computed offline according to [24] and [25]. Similarly, the batch measurement Jacobian matrix is defined
T
2) Discrete-Time Implementation: The IMU signals ω m and as H = HT1 · · · HTN . Finally, the measurement residual is
am are sampled at 100 Hz (i.e., T = 0.01 s). Every time a new computed as
IMU measurement is received, the state estimate is propagated
using the fourth-order Runge–Kutta numerical integration of r = z − ẑ H
x+η (22)
(9)–(12). In order to derive the covariance propagation equation,
where η = [η T1 · · · η TN ]T is the measurement noise with covari-
we evaluate the discrete-time state transition matrix
t k +T ance R = Diag(Ri ), i = 1, . . . , N .
Φk = Φ(tk + T, tk ) = exp Fc (τ )dτ (17)
tk D. Iterated EKF Update
and the discrete-time system noise covariance matrix In order to increase the accuracy and numerical stability in the
t k +T face of the highly nonlinear measurement model, we employ the
Qd = Φ(tk +1 , τ )Gc Qc GTc ΦT (tk +1 , τ )dτ. (18) iterated EKF [26], [27] to update the state. The iterative scheme
tk proceeds as follows.
At each iteration step j, the following steps are done.
The propagated covariance is then computed as
1) Compute ẑj = E{z} as a function of the current jth iterate
Pk +1|k = Φk Pk |k ΦTk + Qd . x̂jk +1|k +1 using the measurement function (19).
2) Evaluate the measurement Jacobian matrix Hj [cf. (20)]
C. Measurement Model using the current iterate x̂jk +1|k +1 .
The IMU camera moves continuously and records images of 3) Form the residual rj = z − ẑj , and compute its covariance
a calibration pattern. These are then processed to detect and Sj = Hj Pk +1|k Hj T + R.
T
identify point features whose positions G pf i are known with 4) Using the Kalman gain Kj = Pk +1|k Hj (Sj )−1 , com-
respect to the global frame of reference (centered and aligned pute the correction
with the checker-board pattern of the calibration target). Once ∆xj = Kj (rj + Hj∆xj −1 ) (23)
this process is completed for each image, a list of point features
0
along with their measured image coordinates (ui , vi ) is provided with ∆x = 021×1 , necessary for determining the next
to the EKF, which uses them to update the state estimates. iterate of the updated state estimate x̂jk+1
+1|k +1 .
Authorized licensed use limited to: University of Minnesota. Downloaded on November 4, 2008 at 11:03 from IEEE Xplore. Restrictions apply.
MIRZAEI AND ROUMELIOTIS: KALMAN FILTER-BASED ALGORITHM FOR IMU-CAMERA CALIBRATION 1147
The iteration begins using the propagated state estimate earized systems in 2-D [32] often becomes intractable when
x̂0k +1|k +1 = x̂k +1|k as the zeroth iterate, which makes the first extended to 3-D.
iteration equivalent to a regular EKF update. This process is An alternative tool for studying the observability properties
repeated till the reduction in the cost function of nonlinear systems is the observability rank condition based
on Lie derivatives [17]. Bonnifait and Garcia [33] were the first
j P−1 j + rj R−1 rj
T T
Jj = x k +1|k x (24) to employ this method for examining the observability of map-
based bearing-only single-robot localization in 2-D. Later on,
with x j = x̂k +1|k − x̂jk +1|k +1 falls below the threshold τ = Martinelli and Siegwart [34] used Lie derivatives to analyze
max(0.01, 0.001 × J j −1 ), or when a maximum number of it- the observability of cooperative localization for pairs of mo-
erations is reached [28]. Finally, the covariance matrix for the bile robots navigating in 2-D. In a related problem, Mariottini
current state is updated using the values for K and S from the et al. [35] investigated the observability of 2-D leader-follower
last iteration: formations based on Lie derivatives and the observability rank
condition. Recently, Lie derivatives were also used for exam-
Pk +1|k +1 = Pk +1|k − KSKT . (25) ining the observability of the single-robot simultaneous local-
ization and mapping (SLAM) in 2-D [36], and the camera-
E. Outlier Rejection odometry extrinsic calibration process in 2-D [37]. However, to
Before using the detected features in the measurement up- the best of our knowledge, there exists no similar analysis for
date, we employ a Mahalanobis-distance test to detect and re- sensors or robots navigating in 3-D. Furthermore, the observ-
ject mismatches or very noisy observations. Every time a new ability of 3-D systems with additional unknown parameters,
measurement becomes available, we compute the following Ma- such as the 6-DOF IMU-camera transformation, has never been
halanobis distance: considered.
In this paper for the first time, we study the observability
χ2 = (zi k − ẑi k )T S−1
i (zi k − ẑi k ) . (26) of the nonlinear system describing the IMU-camera calibration
process. Specifically, after a brief review of the Lie deriva-
In this equation, zi k is the measurement of the ith land-
tives and the observability rank condition (Section IV-A), in
mark at time step k, ẑi k is the expected measurement of
Section IV-B, we prove that the IMU-camera calibration system
the same landmark based on the latest state estimate, and
is locally weakly observable when at least two rotations about
Si = Hi Pk +1|k Hi + Ri is the covariance of the corresponding
different axes are performed.
measurement residual. A probabilistic threshold on χ2 is used
to specify whether the measurement is reliable or not. Measure-
A. Nonlinear Observability
ments that pass this test are processed by the iterative update
procedure as described before. Consider the state-space representation of the following in-
finitely smooth nonlinear system:
IV. OBSERVABILITY ANALYSIS
ẋ = f (x, u)
(27)
A system is observable if its state at a certain time instant y = h(x)
can be uniquely determined given a finite sequence of its out-
where x ∈ Rn is the state vector, u = [u1 , . . . , ul ]T ∈ Rl is the
puts [29]. Intuitively, this means that the measurements of an
vector of control inputs, and y = [y1 , . . . , ym ]T ∈ Rm is the
observable system provide sufficient information for estimating
measurement vector, with yk = hk (x), k = 1, . . . , m.
its state. In contrast, the state vector of unobservable systems
If the process function, f , is input-linear [38], it can be sep-
cannot be recovered regardless of the duration of the estimation
arated into a summation of independent functions, each one
process. In dynamic systems that contain a number of constant
corresponding to a different component of the control input
but unknown quantities in their state vector (e.g., the IMU-
vector. In this case, (27) can be written as
camera 6-DOF transformation in our case), system observabil-
ity results in an additional interesting property: given sufficient ẋ = f0 (x) + f1 (x)u1 + · · · + fl (x)ul
(28)
number of measurements, the unknown constants can be esti- y = h(x)
mated with arbitrarily small uncertainty [30]. For this reason, it
where f0 is the zero-input function of the process model.
is important to study the observability of the system describing
The zeroth-order Lie derivative of any (scalar) function is
the IMU-camera calibration process.
the function itself, i.e., L0 hk (x) = hk (x). The first-order Lie
The observability of linear time-invariant systems can be
derivative of function hk (x) with respect to fi is defined as
investigated by employing any of the well-known observabil-
ity tests such as the rank of the Gramian matrix [15] or the ∂hk (x) ∂hk (x)
L1f i hk (x) = fi1 (x) + · · · + fin (x)
Popov–Belevitch–Hautus (PBH) test [31]. However, due to the ∂x1 ∂xn
time-invariance requirement, the PBH test cannot be applied to
= ∇hk (x) · fi (x) (29)
(linearized) nonlinear systems since these are usually time vary-
ing (i.e., the current state used as the linearization point changes where fi (x) = [fi1 (x), . . . , fin (x)]T , ∇ represents the gradient
dynamically). On the other hand, application of the Gramian operator, and ‘·’ denotes the vector inner product. Considering
matrix criterion, which does not assume time invariance, to lin- that L1f i hk (x) is a scalar function itself, the second-order Lie
Authorized licensed use limited to: University of Minnesota. Downloaded on November 4, 2008 at 11:03 from IEEE Xplore. Restrictions apply.
1148 IEEE TRANSACTIONS ON ROBOTICS, VOL. 24, NO. 5, OCTOBER 2008
derivative of hk (x) with respect to fi is where ω m and am are considered the control inputs, and
L2f i hk (x) = L1f i L1f i hk (x) = ∇L1f i hk (x) · fi (x). (30) q I + q × q
Ξ(q̄) = 4 3×3 T with q̄ = . (35)
−q q4
Higher order Lie derivatives are computed similarly. Addition-
Also, note that f0 is a 23 × 1 vector, while f 1 and f 2 are both
ally, it is possible to define mixed Lie derivatives, i.e., with
compact representations of three vectors of dimension 23×1,
respect to different functions of the process model. For exam-
i.e.,
ple, the second-order Lie derivative of hk with respect to fj and
fi , given its first derivative with respect to fi , is f 1 ω m = f11 ωm 1 + f12 ωm 2 + f13 ωm 3
L2f j f i hk (x) = L1f j L1f i hk (x) = ∇L1f i hk (x) · fj (x). (31) where, for i = 1, . . . , 3, f1i denotes the ith column vector com-
prising f 1 and ωm i is the ith scalar component of the rotational
Based on the preceding expressions for the Lie derivatives, velocity vector.
the observability matrix is defined as the matrix with rows: A well-known result that we will use in the observability
analysis of (34) is the following: When four or more1 known
O={∇Lf i ···f j hk (x)|i, j = 0, . . . , l; k = 1, . . . , m; ∈ IN}. features are detected in each calibration image processed by the
(32) filter, the camera pose is observable [39] and can be computed in
The important role of this matrix in the observability analysis closed-form [4]. Based on this fact, we replace the measurement
of a nonlinear system is captured by the following proposition equation [cf. (19)] with the following pair of inferred measure-
[17]. ments of the camera pose expressed with respect to the global
Proposition 1 (Observability rank condition): If the observ- frame of reference:
ability matrix [cf. (32)] of the nonlinear system defined in (27) G
q̄C = ξ 1 (z1 , z2 , z3 , z4 ) = h∗1 (x) = Jq̄I ⊗ q̄C (36)
is full rank, then the system is locally weakly observable.
Remark 1: Since the process and measurement functions G
pC = ξ 2 (z1 , z2 , z3 , z4 ) = h∗2 (x) T
= pI + C (q̄I )pC (37)
[cf. (27)] are infinitely smooth, the observability matrix O can
where C(q̄I ) is the rotational matrix corresponding to the quater-
have infinite number of rows. However, to prove that O is full
nion q̄I , ⊗ denotes quaternion multiplication, and
rank, it suffices to show that a subset of its rows are linearly
independent. −1 −I3×3 0
Jq̄I = q̄I , J = . (38)
In general, there exists no systematic method for selecting 0 1
the suitable Lie derivatives and corresponding rows of O when
At this point, we should note that the functions ξ 1 and ξ 2 in
examining the observability of a system. Instead, this selection
(36) and (37) need not to be known explicitly. Instead, what is
is performed by sequentially considering the directions of the
required for the observability analysis is their functional rela-
state space along which the gradient of each of the candidate
tion with the random variables, q̄I and pI , and the unknown
Lie derivatives provides information.
parameters, q̄C and pC , appearing in the system’s state vector.
Furthermore, we enforce the unit-quaternion constraints by
B. Observability of IMU-Camera Calibration employing the following additional measurement equations:
In this section, we compute the observability matrix of the sys-
h∗3 (x) = q̄IT q̄I − 1 = 0 (39)
tem describing the IMU-camera calibration process and prove
that it is full rank. h∗4 (x) = q̄CT q̄C − 1 = 0. (40)
First and in order to simplify the notation, we retain only few
According to Remark 1, it suffices to show that a subset of
of the subscripts describing the variables in the system state
the rows of the observability matrix O [cf. (32)] are linearly
vector [cf. (2)]:
independent. In the remaining of this section, we prove that
x(t) = [ q̄IT bTg vT bTa pTI q̄CT pTC ]T . (33) the system described by (34) and (36)–(40) is observable by
computing among the candidate zeroth-, first-, and second-order
Then, we rearrange the nonlinear kinematic equations (3)–(6) Lie derivatives of h∗1 , h∗2 , and h∗3 , the ones whose gradients
in a suitable format for computing the Lie derivatives: ensure that O is full rank.
˙ 1) Zeroth-Order Lie Derivatives (L0 h∗1 , L0 h∗2 , L0 h∗3 ): By def-
q̄ I 1 1 inition, the zeroth-order Lie derivative of a function is the func-
ḃg − 2 Ξ(q̄I )bg 2 Ξ(q̄I ) 03×3
tion itself, i.e.,
03×1 03×3 03×3
v̇ g−CT (q̄I )ba
0
T
C (q̄I ) L0 h∗1 = h∗1 = q̄I−1 ⊗ q̄C
3×3
(41)
ḃa = 03×1 + 03×3 ω m + 03×3 am
L h∗2 = h∗2 = pI + CT (q̄I )pC
0
v 03×3 03×3
(42)
ṗI
03×1 03×3 03×3 L0 h∗3 = h∗3 = q̄IT q̄I − 1. (43)
q̄˙ C
03×1 03×3 03×3
ṗC
f0 f1 f2 1 If an initial estimate of the pose is available, then observation of only three
(34) known features is sufficient for uniquely determining the camera pose [39].
Authorized licensed use limited to: University of Minnesota. Downloaded on November 4, 2008 at 11:03 from IEEE Xplore. Restrictions apply.
MIRZAEI AND ROUMELIOTIS: KALMAN FILTER-BASED ALGORITHM FOR IMU-CAMERA CALIBRATION 1149
Therefore, the gradients of the zeroth-order Lie derivatives are The gradients of the three columns of L1f 1 h∗2 stacked together
exactly the same as the Jacobians of the corresponding mea- give
surement functions:
∇L1f 1 h∗2 = [ Γ(q̄I , pC ) 09×16 Υ(q̄I ) ] (55)
∇L 0
h∗1 = [ R(q̄C )J 04×12 L(Jq̄I ) 04×3 ] (44)
where the matrices
∇L0 h∗2 = [ Ψ(q̄I , pC ) 03×9 I3×3 03×4 CT (q̄I ) ] (45)
Γ1 (q̄I , pC ) Υ1 (q̄I )
∇L0 h∗3 = [ 2q̄IT 01×19 ] (46) Γ(q̄I , pC ) = Γ2 (q̄I , pC ) Υ(q̄I ) = Υ2 (q̄I ) (56)
Γ3 (q̄I , pC ) Υ3 (q̄I )
where, for a quaternion q̄ and a vector p, we define
of dimensions 9 × 4 and 9 × 3, respectively, have block-row
q4 I3×3 − q × q
L(q̄) = (47) elements (for i = 1, . . . , 3)
−qT q4
∂ 1 ∗
q4 I3×3 + q × q Γi (q̄I , pC ) =
∂ q̄I
Lf 1 h2 ei
R(q̄) = (48)
−qT q4 ∂ 1 ∗
Υi (q̄I ) = Lf 1 h2 ei
and ∂pC
∂ T
Ψ(q̄, p) = C (q̄)p. (49) with e1 = [1 0 0]T , e2 = [0 1 0]T , and e3 =
∂ q̄ [0 0 1]T .
Also, note that for deriving (44), we have used the following Note that inclusion of all the block-row elements of the gra-
identities [23]: dient (55) in the observability matrix O [cf. (50)] implies that
all components of ω m are nonzero. However, as it will become
q̄I−1 ⊗ q̄C = R(q̄C )q̄I−1 = R(q̄C )Jq̄I
evident later on, in order to prove observability, only two of the
= L(Jq̄I−1 )q̄C = L(Jq̄I )q̄C elements of ω m need to be nonzero. In such case, matrix O will
contain the block matrices
2) First-Order Lie Derivatives (L1f 0 h∗1 , L1f 0 h∗2 , L1f 1 h∗2 ): The
first-order Lie derivatives of h∗1 and h∗2 with respect to f0 are Γi (q̄I , pC ) Υi (q̄I )
Γij (q̄I , pC ) = Υij (q̄I ) =
computed as (50), shown at the bottom of the page Γj (q̄I , pC ) Υj (q̄I )
(57)
L1f 0 h∗1 = ∇L0 h∗1 · f0 = − 12 R(q̄C )JΞ(q̄I )bg (51)
with i, j = 1, . . . , 3, i = j, instead of Γ(q̄I , pC ) and Υ(q̄I ).
L1f 0 h∗2 = ∇L0 h∗2 · f0 = − 12 Ψ(q̄I , pC )Ξ(q̄I )bg + v (52) 3) Second-Order Lie Derivative (L2f 0 h∗2 ): Finally, we compute
the second-order Lie derivative of h∗2 with respect to f0 :
while their gradients are given by
L2f 0 h∗2 = L1f 0 L1f 0 h∗2 = ∇L1f 0 h∗2 · f0
∇L1f 0 h∗1 = [ X1 − 12 R(q̄C )JΞ(q̄I ) 04×9 X2 04×3 ]
1
∇L1f 0 h∗2 = [ X3 X4 I3×3 03×10 X5 ] . (53) = − X3 Ξ(q̄I )bg + g − CT (q̄I )ba (58)
2
In these last expressions, Xi , i = 1, . . . , 5, are matrices of ap- and its gradient
propriate dimensions (4 × 4 the first two, 3 × 4 the third one,
∇L2f 0 h∗2 = [ X6 X7 03×3 −CT (q̄I ) 03×7 X8 ] (59)
and 3 × 3 the last two) which, regardless of their values, will
be eliminated in the following derivations; hence, they need not where the matrices X5 , X6 , and X7 (of dimensions 3 × 4 the
be computed explicitly. first one and 3 × 3 the last two) will be eliminated in the ensuing
The next first-order Lie derivative of interest is that of h∗2 with derivations, and therefore, we do not need to compute them
respect to f 1 , i.e., L1f 1 h∗2 . At this point, we remind the reader explicitly.
that f 1 as defined in (34) is a compact representation of three Stacking together all the previously computed gradients of
column vectors. Similarly, we can also write the resulting Lie the Lie derivatives, we form the observability matrix O shown
derivative in a compact form (i.e., a 3 × 3 matrix): in (50).
1 In order to prove that the system described by (34) and (36)–
L1f 1 h∗2 = ∇L0 h∗2 · f 1 = Ψ(q̄I , pC )Ξ(q̄I ). (54) (40) is observable, we employ the result of Proposition 1 and
2
∇L0 h∗1 R(q̄C )J 04×3 04×3 04×3 04×3 L(Jq̄I ) 04×3
0 ∗
∇L h2 Ψ(q̄I , pC ) 03×3 03×3 03×3 I3×3 03×4 CT (q̄I )
∇L1f 0 h∗1 − 12 R(q̄C )JΞ(q̄I )
X1 04×3 04×3 04×3 X2 04×3
O= ∇Lf 0 h2 =
1 ∗
X X4 I3×3 03×3 03×3 03×4 X5
(50)
3
∇L1f h∗2 Γ (q̄ , pC ) 06×3 06×3 06×3 06×3 06×4
Υij (q̄I )
ij I
1ij
Authorized licensed use limited to: University of Minnesota. Downloaded on November 4, 2008 at 11:03 from IEEE Xplore. Restrictions apply.
1150 IEEE TRANSACTIONS ON ROBOTICS, VOL. 24, NO. 5, OCTOBER 2008
show that matrix O is full rank (i.e., the state space of the
system is spanned by the gradients of the Lie derivatives of the
measurement functions [17], [18]). Before presenting the main
result of this section (cf. Lemma 3), we first state the following
two lemmas whose proofs are detailed in Appendix I.
Lemma 1: The matrix
Γij Υij
Aij = (60)
2q̄IT 01×3
formed by the fifth and sixth block-row elements of the first and
last block-columns of the observability matrix O [cf. (50)], with
Γij and Υij defined in (57), is full rank.
Corollary 1: The matrix described by (60) is full rank if the
IMU-camera rig is rotated about at least two different axes.
Note that only two block rows of Γ(q̄I , pC ) and Υ(q̄I )
[cf. (56)]—the ones corresponding to two nonzero components
Fig. 2. Trajectory of the IMU-camera system for 15 s.
of ω m —are included in Aij [cf. (60)]. Therefore, the third
component of ω m can be zero (i.e., no rotation around the cor-
responding axis) without affecting the observability properties laboratory): the IMU-camera transformation can be accurately
of the system. estimated even if no linear acceleration is exerted.
Lemma 2: For any unit-quaternions q̄ and s̄, matrix B = Remark 2: Since no noise is injected into the system along
R(q̄)JΞ(s̄) is full rank. the directions of the IMU-camera transformation [cf. (6)], re-
Lemma 3: The observability matrix O [cf. (50)] is full rank gardless of the observability of the system, the uncertainty of
when the IMU-camera rig is rotated about at least two different the IMU-camera transformation will never increase.
axes. When the linearization of the IMU-camera calibration system
Proof: Here, we provide a sketch of the proof based on block is sufficiently accurate, this remark has the following important
Gaussian elimination (for details please see [40]). We start by implication: running the estimation algorithm during periods
employing Lemma 1 and Corollary 1 to eliminate all the matri- when the observability conditions are not met (e.g., as a result
ces in the first and last columns of O. The next step is to eliminate of stopping the IMU-camera rig) will not decrease the accuracy
X2 using L(Jq̄I ), i.e., the (1,6) block element of O in (50). Note of the IMU-camera estimates, although it might not improve
that q̄ is unit quaternion and det(L(Jq̄)) = ||Jq̄|| = ||q̄|| = 1 their quality either. However, it is advisable to excite at least
[cf. (38), (40), and (47)]. Finally, since − 12 R(q̄C )JΞ(q̄I ) is full two degrees of rotational freedom for sufficiently long time at
rank (cf. Lemma 2), it can be used to eliminate X4 and X7 . the beginning of the calibration process, so as to significantly
Following these steps, O reduces to reduce the error in the IMU-camera transformation and ensure
the validity of the linear approximation.
04×4 04×3 04×3 04×3 04×3 04×3 I4×4
03×4 03×3 03×3 03×3 I3×3 03×3 03×4
03×4 I3×3 03×3 03×3 03×3 03×3 03×4 V. SIMULATION AND EXPERIMENTAL RESULTS
01×4 01×3 01×3 01×3 01×3 01×3 01×4
. A. Simulation Results
03×4 03×3 I3×3 03×3 03×3 03×3 03×4
I4×4 04×3 04×3 04×3 04×3 04×3 04×4 In order to validate the proposed EKF algorithm for esti-
mating the IMU-camera transformation when ground truth is
03×4 03×3 03×3 03×3 03×3 I3×3 03×4
03×4 03×3 03×3 −CT (q̄I ) 03×3 03×3 03×4 available, we have performed a number of simulation exper-
(61) iments. In our simulation setup, an IMU-camera rig moves in
Considering that a property of a rotation matrix is that it is full front of a calibration target containing 25 known features. These
rank (∀q̄, det(C(q̄)) = 1), it is easy to see that (61) is full rank, correspond to the vertices of a rectangular grid with 50 × 50 cm
indicating that O is also full rank. cell size, which is aligned with the yz plane (cf. Fig. 2). The
Corollary 2: The system described by (34) and (36)–(40) is camera is assumed to have 50◦ field of view. Additionally, the
observable regardless of the linear motion of the IMU-camera image measurements received at a rate of 10 Hz are distorted
rig. with noise of σ = 1 pixel. The IMU noise characteristics are the
This is evident from the fact that for proving Lemma 3, we same as those of the ISIS IMU used in the real-world experi-
did not use any Lie derivatives with respect to f 2 [cf. (34)]. ments (cf. Section V-B). The IMU measurements are received
Therefore, am , the measured linear acceleration can take ar- at 100 Hz.
bitrary values without compromising the observability of the The initial alignment error for translation is set to I p C =
system. This observation has important practical implications [5 − 5 6]T cm with a standard deviation of 5 cm in each axis.
when no significant linear motion is possible due to physical The initial alignment error for rotation is set to δθ = [4◦ −
constraints (e.g., calibration of an IMU-camera rig in an indoor 4◦ 3◦ ]T [cf. (15)] with 3◦ standard deviation of uncertainty in
Authorized licensed use limited to: University of Minnesota. Downloaded on November 4, 2008 at 11:03 from IEEE Xplore. Restrictions apply.
MIRZAEI AND ROUMELIOTIS: KALMAN FILTER-BASED ALGORITHM FOR IMU-CAMERA CALIBRATION 1151
TABLE I
FINAL UNCERTAINTY (3σ) OF THE IMU-CAMERA PARAMETERS AFTER 100 S
FOR TWO MOTION SCENARIOS
Authorized licensed use limited to: University of Minnesota. Downloaded on November 4, 2008 at 11:03 from IEEE Xplore. Restrictions apply.
1152 IEEE TRANSACTIONS ON ROBOTICS, VOL. 24, NO. 5, OCTOBER 2008
TABLE II
MONTE CARLO SIMULATIONS: COMPARISON OF THE STANDARD DEVIATIONS
OF THE FINAL IMU-CAMERA TRANSFORMATION ERROR (σ e rr ) AND THE
AVERAGE COMPUTED UNCERTAINTY OF THE ESTIMATES (σ e st )
Fig. 6. Estimated trajectory of the IMU for 50 s. The starting point is shown
by a circle on the trajectory.
Authorized licensed use limited to: University of Minnesota. Downloaded on November 4, 2008 at 11:03 from IEEE Xplore. Restrictions apply.
MIRZAEI AND ROUMELIOTIS: KALMAN FILTER-BASED ALGORITHM FOR IMU-CAMERA CALIBRATION 1153
TABLE III
INITIAL, EKF, AND BLS ESTIMATES OF THE IMU-CAMERA PARAMETERS AND
THEIR UNCERTAINTY FOR THE DESCRIBED EXPERIMENT
Fig. 7. Time evolution of the estimated IMU-camera translation along the x-,
y-, and z-axes (solid blue lines) and the corresponding 3σ bounds centered
around the BLS estimates (dashed red lines).
Authorized licensed use limited to: University of Minnesota. Downloaded on November 4, 2008 at 11:03 from IEEE Xplore. Restrictions apply.
1154 IEEE TRANSACTIONS ON ROBOTICS, VOL. 24, NO. 5, OCTOBER 2008
APPENDIX I
PROOF OF LEMMAS 1 AND 2
Lemma 1: Matrix Aij defined in (60) is full rank.
Proof: We prove this lemma for the case of practical interest
when the elements of pC = [p1 p2 p3 ]T (i.e., the vector de-
noting the position of the camera expressed with respect to the
IMU frame) are nonzero.3
For i, j = 1, . . . , 3, i = j, we expand Aij as
Γi Υi } (1 : 3) ↔ ωm i
Aij = Γj Υj } (4 : 6) ↔ ωm j (62)
T
2q̄I 01×3 } 7.
The variables on the right side of the matrix next to the row
Fig. 10. [Uncalibrated IMU-Camera] Measurement residuals along with their numbers specify the component of ω m = [ωm 1 ωm 2 ωm 3 ]T
3σ bounds for the horizontal u (top plot) and vertical v (bottom plot) axes of
the images. that are excited in order for these rows to be included in the
observability matrix O [cf. (50)]. After considerable algebra, it
evident from the camera measurement residuals shown in can be shown that [40]
Fig. 10, the approximate values for the calibration parameters
det (Aij ) = 8(−1)k pk p2j + p2i (63)
lead to large inconsistencies of the estimator.
where i, j, k = 1, . . . , 3, k = i, k = j, and i = j. We conclude
VI. CONCLUSION the proof by noting that since all elements of pC are nonzero,
the determinant of Aij in (63) is nonzero; hence, Aij is full
In this paper, we have presented an EKF-based algorithm for rank.
estimating the transformation between an IMU and a camera Lemma 2: For any unit quaternions q̄ = [q1 q2 q3 q4 ]T and
rigidly attached on a mobile platform. To the best of our knowl- s̄ = [s1 s2 s3 s4 ]T , B = R(q̄)JΞ(s̄) is full rank.
edge, this is the first approach to the IMU-camera calibration Proof: This can be readily proved by computing BT B, which
problem that appropriately accounts for the time correlation is a 3 × 3 matrix:
between the IMU measurements. Additionally and contrary to
previous work on this subject, we do not separate the task of BT B = ΞT (s̄)JT RT (q̄)R(q̄)JΞ(s̄) = I3×3 . (64)
translation estimation from rotation estimation, and hence, pre- Therefore, matrix B is full rank. For computing (64), we used the
vent error propagation. Moreover, by treating the problem within identities RT (q̄)R(q̄) = I4×4 and ΞT (s̄)Ξ(s̄) = I3×3 [23].
the Kalman filtering framework, we are also able to compute
the covariance of the estimated quantities as an indicator of the APPENDIX II
achieved level of accuracy. Therefore, by accounting for this
BUNDLE ADJUSTMENT
uncertainty in the consequent estimation algorithm, we are able
to explicitly model their impact. Last but not the least, an im- In order to compare the results of the proposed EKF algorithm
portant feature of this algorithm is the ability to perform the for estimating the 6-DOF IMU-camera transformation with the
calibration process without requiring any specific testbed (such best achievable (offline) estimates, we compute the batch least-
as rotating table [10] or high precision 3-D laser scanner [8]) ex- squares estimate, also known as bundle adjustment [42]. For this
cept the calibration pattern that is also needed when calibrating purpose, we minimize the following linearized cost function:
the intrinsic parameters of the camera. The derived estimator 1 T
CMi
= x̄0 − x̂i0 P−1
0 x̄0 − x̂i0
was tested both in simulation and experimentally, and it was 2
shown to achieve accuracy in the order of millimeters and sub- M −1
1 T
degrees, respectively, for the translational and rotational compo- + ik R−1
zk − Hik x k ik
zk − Hik x
nents of the IMU-camera transformation. Additionally and for 2
k =0
the first time, the observability of the nonlinear system describ- M −1
ing the IMU-camera calibration was investigated by employing 1 i T
+ x ik Q−1
k +1 − Φik x ik ) (65)
xik +1 − Φik x
k (
the observability rank condition based on Lie derivatives. As 2
k =0
presented, estimating the IMU-camera transformation requires
exciting only two of the rotational DOF, while no translational 3 Note that p = 0
C 3 ×1 is not physically realizable since it means that the
motion is necessary. centers of the IMU and the camera coincide. Also, the case when one or more
Currently, we are investigating the possibility to extend this elements of p C are zero is extremely rare in practice, since it requires perfect
position alignment of the camera and the IMU. However, the latter case is
study to the most challenging case of the IMU-camera cali- addressed in [40], where it is shown that the system is still observable when all
bration, where instead of using a calibration pattern, we will three degrees of rotational freedom are excited.
Authorized licensed use limited to: University of Minnesota. Downloaded on November 4, 2008 at 11:03 from IEEE Xplore. Restrictions apply.
MIRZAEI AND ROUMELIOTIS: KALMAN FILTER-BASED ALGORITHM FOR IMU-CAMERA CALIBRATION 1155
where Φik [cf. (17)], Hik [cf. (20)], and zk = rk [cf. (22)] are [17] R. Hermann and A. Krener, “Nonlinear controlability and observability,”
IEEE Trans. Autom. Control, vol. AC-22, no. 5, pp. 728–740, Oct. 1977.
evaluated at x̂ik = x̂i−1
k + x i−1
k , the ith iterate of the system’s [18] S. Sastry, Nonlinear Systems: Analysis, Stability, and Control. New
state-vector estimates at time step k, k = 0, . . . , M [cf. (2) and York: Springer-Verlag, 1999.
(14)]. Additionally, Rk represents the measurement noise co- [19] J. Lobo and J. Dias, “Relative pose calibration between visual and inertial
sensors,” Int. J. Robot. Res., vol. 26, no. 6, pp. 561–575, Jun. 2007.
variance matrix (cf. Section III-C) and Qk is the discrete-time [20] B. K. P. Horn, “Closed-form solution of the absolute orientation using
system noise covariance matrix [cf. (18)]. Furthermore, x̄0 and quaternions,” J. Opt. Soc. Amer. A, vol. 4, pp. 629–642, Apr. 1987.
P0 represent the initial state estimate and its covariance, re- [21] R. Haralick, “Pose estimation from corresponding point data,” IEEE
Trans. Syst., Man, Cybern., vol. 19, no. 6, pp. 1426–1446, Nov./Dec.
spectively. Minimizing this cost function requires solving the 1989.
following system of equations iteratively: [22] E. J. Lefferts, F. L. Markley, and M. D. Shuster, “Kalman filtering for
spacecraft attitude estimation,” J. Guid., Control, Dyn., vol. 5, no. 5,
pp. 417–429, Sep./Oct. 1982.
xi =
M (66) [23] N. Trawny and S. I. Roumeliotis, “Indirect Kalman filter for 3-D pose
estimation,” Dept. Comput. Sci. & Eng., Univ. Minnesota, Minneapolis,
where M and are computed as functions of x̂ik , zk , Φik , Hik , P0 , MN, Tech. Rep., Mar. 2005.
[24] IEEE Standard Specification Format Guide and Test Procedure for Single-
i = [
Rk , Qk , and x xiT
0 ...x iT T
N ] [43]. In our implementation, Axis Laser Gyros, The Institute of Electrical and Electronics Engineers,
0
we have initialized x̂k , k = 0, . . . , M , with the results from the New York, IEEE Standard 647-2006.
EKF proposed in this paper, and employed the sparse Cholesky [25] IEEE Standard Specification Format Guide and Test Procedure for Linear,
Singleaxis, Nongyroscopic Accelerometers, The Institute of Electrical and
factorization with symmetric approximate minimum degree per- Electronics Engineers, New York, IEEE Standard 1293-1998, 1999.
mutation to solve (66) [44]. The resulting estimates are used as [26] P. S. Maybeck, Stochastic Models, Estimation and Control, vol. 2. New
the EKF benchmarks in our experiments (cf. Section V). York: Academic Press, 1979.
[27] A. H. Jazwinski, Stochastic Processes and Filtering Theory (series Math-
ematics in Science and Engineering). vol. 64, New York: Academic
REFERENCES Press, 1970.
[28] W. H. Press, S. A. Teukolsky, W. T. Vetterling, and B. P. Flannery, Numer-
[1] F. M. Mirzaei and S. I. Roumeliotis, “A Kalman filter-based algorithm ical Recipes in C. Cambridge, MA: Cambridge Univ. Press, 1992.
for IMU-camera calibration,” in Proc. IEEE/RSJ Int. Conf. Intell. Robots [29] W. L. Brogan, Modern Control Theory. Englewood Cliffs, NJ: Prentice-
Syst., San Diego, CA, Oct. 29–Nov. 2, 2007, pp. 2427–2434. Hall, 1990.
[2] A. B. Chatfield, Fundamentals of High Accuracy Inertial Navigation. [30] S. M. Kay, Fundamentals of Statistical Signal Processing: Estimation
Reston, VA: American Institute of Aeronautics and Astronautics, Inc., Theory. Upper Saddle River, NJ: Prentice-Hall, 1993.
1997. [31] W. J. Rugh, Linear System Theory, 2nd ed. Upper Saddle River, NJ:
[3] D. Titterton and J. Weston, Eds., Strapdown Inertial Navigation Technol- Prentice-Hall, 1996.
ogy. Piscataway, NJ: IEE, 2005. [32] J. Andrade-Cetto and A. Sanfeliu, “The effects of partial observability
[4] A. Ansar and K. Daniilidis, “Linear pose estimation from points or lines,” when building fully correlated maps,” IEEE Trans. Robot., vol. 21, no. 4,
IEEE Trans. Pattern Anal. Mach. Intell., vol. 25, no. 5, pp. 578–589, May pp. 771–777, Aug. 2005.
2003. [33] P. Bonnifait and G. Garcia, “Design and experimental validation of an odo-
[5] A. Azarbayejani and A. Pentland, “Recursive estimation of motion, struc- metric and goniometric localization system for outdoor robot vehicles,”
ture, and focal length,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 17, IEEE Trans. Robot. Autom., vol. 14, no. 4, pp. 541–548, Aug. 1998.
no. 6, pp. 562–575, Jun. 1995. [34] A. Martinelli and R. Siegwart, “Observability analysis for mobile robot
[6] A. I. Mourikis, N. Trawny, S. I. Roumeliotis, A. E. Johnson, A. Ansar, localization,” in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., Edmonton,
and L. H. Matthies, “Vision-aided inertial navigation for spacecraft entry, Canada, Aug. 2–6, 2005, pp. 1471–1476.
descent, and landing,” IEEE Trans. Robot., in press. [35] G. L. Mariottini, G. Pappas, D. Prattichizzo, and K. Daniilidis, “Vision-
[7] J. Dias, M. Vinzce, P. Corke, and J. Lobo, “Special issue: 2nd workshop on based localization of leader follower formations,” in Proc. IEEE Conf.
integration of vision and inertial sensors,” in The International Journal Decision and Control, Seville, Spain, Dec. 12–15, 2005, pp. 635–640.
of Robotics Research, vol. 26. Newbury Park, CA: SAGE Publications, [36] K. W. Lee, W. S. Wijesoma, and J. I. Guzman, “On the observability
Jun. 2007, no. 6, pp. 519–535. and observability analysis of SLAM,” in Proc. IEEE/RSJ Int. Conf. Intell.
[8] A. E. Johnson, R. Willson, J. Goguen, J. Alexander, and D. Meller, “Field Robots Syst., Beijing, China, Oct. 9–15, 2006, pp. 3569–3574.
testing of the mars exploration rovers descent image motion estimation [37] A. Martinelli, D. Scaramuzza, and R. Siegwart, “Automatic self-
system,” in Proc. IEEE Int. Conf. Robot. Autom., Barcelona, Spain, Apr. calibration of a vision system during robot motion,” in Proc. IEEE Int.
18–22, 2005, pp. 4463–4469. Conf. Robot. Autom., May 15–19, 2006, pp. 43–48.
[9] A. E. Johnson, J. F. Montgomery, and L. H. Matthies, “Vision guided [38] H. Nijmeijer and A. van der Schaft, Nonlinear Dynamical Control Sys-
landing of an autonomous helicopter in hazardous terrain,” in Proc. IEEE tems. New York: Springer-Verlag, 1990.
Int. Conf. Robot. Autom., Barcelona, Spain, Apr. 18–22, 2005, pp. 3966– [39] D. Sun and J. L. Crassidis, “Observability analysis of six-degree-of-
3971. freedom configuration determination using vector observations,” J. Guid.,
[10] J. Lobo and J. Dias, “Relative pose calibration between visual and inertial Control, Dyn., vol. 25, no. 6, pp. 1149–1157, Nov. 2002.
sensors,” presented at the InerVis, Barcelona, Spain, Apr. 2005. [40] F. M. Mirzaei and S. I. Roumeliotis. (2007, Jan.) IMU-camera cal-
[11] P. Lang and A. Pinz, “Callibration of hybrid vision/inertial tracking sys- ibration: Observability analysis. Dept. Comput. Sci. & Eng., Univ.
tems,” presented at the InerVis, Barcelona, Spain, Apr. 2005. Minnesota, Minneapolis, Tech. Rep. [Online]. Available: http://mars.
[12] R. Tsai and R. Lenz, “A new technique for fully autonomous and efficient cs.umn.edu/tr/reports/Mirzaei07.pdf.
3-D robotics hand/eye calibration,” IEEE Trans. Robot. Autom., vol. 5, [41] J.-Y. Bouguet. (2006). Camera calibration toolbox for matlab. [Online].
no. 3, pp. 345–358, Jun. 1989. Available: http://www.vision.caltech.edu/bouguetj/calibdoc/
[13] J. Chou and M. Kamel, “Finding the position and orientation of a sensor [42] B. Triggs, P. McLauchlan, R. Hartley, and Fitzgibbon, “Bundle adjustment
on a robot manipulator using quaternions,” Int. J. Robot. Res., vol. 10, for structure from motion,” in Vision Algorithms: Theory & Practice,
no. 3, pp. 240–254, Jun. 1991. B. Triggs, A. Zisserman, and R. Szeliski, Eds. New York: Springer-
[14] K. Daniilidis, “Hand–eye calibration using dual quaternions,” Int. J. Verlag, 2000.
Robot. Res., vol. 18, no. 3, pp. 286–298, Mar. 1999. [43] F. M. Mirzaei and S. I. Roumeliotis. (2007, Aug.). IMU-camera
[15] P. S. Maybeck, Stochastic Models, Estimation and Control. vol. 1. New calibration: Bundle adjustment. Dept. Comput. Sci. & Eng., Univ.
York: Academic Press, 1979. Minnesota, Minneapolis, Tech. Rep. [Online]. Available: http://
[16] E. M. Foxlin, “Generalized architecture for simultaneous localization, mars.cs.umn.edu/tr/reports/Mirzaei07a.pdf.
auto-calibration, and map-building,” in Proc. IEEE/RSJ Int. Conf. Intell. [44] T. A. Davis, Direct Methods for Sparse Linear Systems. Philadelphia,
Robots Syst., Lauzanne, Switzerland, Sep. 30–Oct. 4, 2002, pp. 527–533. PA: SIAM, 2006.
Authorized licensed use limited to: University of Minnesota. Downloaded on November 4, 2008 at 11:03 from IEEE Xplore. Restrictions apply.
1156 IEEE TRANSACTIONS ON ROBOTICS, VOL. 24, NO. 5, OCTOBER 2008
Faraz M. Mirzaei (S’05) received the B.Sc. degree Stergios I. Roumeliotis (M’03) received the
in electrical engineering from Shiraz University, Shi- Diploma degree in electrical engineering from the
raz, Iran, in 2004 and the M.Sc. degree in computer National Technical University of Athens, Athens,
science and engineering (CSE) in 2007 from the Uni- Greece, in 1995 and the M.S. and Ph.D. degrees
versity of Minnesota, Minneapolis, where he is cur- in electrical engineering from the University of
rently working toward the Ph.D. degree with the CSE Southern California, Los Angeles, in 1999 and 2000,
Department. respectively.
His current research interests include single- and From 2000 to 2002, he was a Postdoctoral Fel-
multirobot systems, localization and tracking, struc- low at California Institute of Technology, Pasadena.
ture from motion, and sensor calibration. Between 2002 and 2008, he was an Assistant Pro-
Mr. Mirzaei received the University of Minnesota fessor with the Department of Computer Science and
2007 Excellence in Research Award from the CSE Department and the 2008– Engineering, University of Minnesota, Minneapolis, where he is currently an
2009 Doctoral Dissertation Fellowship. Associate Professor. His current research interests include inertial navigation
of aerial and ground autonomous vehicles, fault detection and identification,
sensor networks, distributed estimation under communication and processing
constraints, and active sensing for reconfigurable networks of mobile sensors.
Dr. Roumeliotis is currently an Associate Editor for the IEEE TRANSACTIONS
ON ROBOTICS. He received the National Science Foundation (NSF) CAREER
Award (2006), the McKnight Land-Grant Professorship Award (2006–2008), the
International Conference on Robotics and Automation (ICRA) Best Reviewer
Award (2006), and was the co-recipient of the One National Aeronautics and
Space Administration (NASA) Peer Award (2006), and the One NASA Center
Best Award (2006). Papers he has coauthored have received the Robotics Soci-
ety of Japan Best Journal Paper Award (2007), the International Conference on
Acoustics, Speech, and Signal Processing (ICASSP) Best Student Paper Award
(2006), the NASA Tech Briefs Award (2004), and one of them was the Finalist
for the International Conference on Intelligent Robots and Systems (IROS) Best
Paper Award (2006).
Authorized licensed use limited to: University of Minnesota. Downloaded on November 4, 2008 at 11:03 from IEEE Xplore. Restrictions apply.