IEEE
TRANSACTIONS
ON
ROBOTICS
AND
AUTOMATION,
VOL.
10,
NO.
5,
OCTOBER
1994
717
Robot Sensor Calibration: Solving
AX
=
XB
on the Euclidean Group
Frank C. Park and Bryan
J.
Martin
Abstract-The equation
.-IS
=
SB
on the Euclidean group arises in
the problem of calibrating wrist-mounted robotic sensors. In this article
we derive, using methods of Lie theory, a closed-form exact solution that
can be visualized geometrically, and a closed-form least squares solution
when
.-I
and
B
are measured in the presence of noise.
I. INTRODUCTION
The equation
AS
=
SB
on the Euclidean group, where
A
and
Bare known and
S
is unknown, is of fundamental importance in the
problem of calibrating wrist-mounted robotic sensors. Typically the
matrix
-4
describes the position and orientation of the wrist frame
relative to itself after some arbitrary movement, and
B
describes the
position and orientation of the sensor (e.g., camera) frame relative to
itself after the same movement.
X
then describes the position and
orientation of the sensor frame relative to the wrist frame. Calibration
involves performing several arbitrary movements
of
the robot
arm
and
solving
A-Y
=
SB
for
-Y
to determine the precise location
of
the
sensor. While solutions to this equation have been studied when
A
and
B
are general
n
x
ii
matrices (see, e.g., Gantmacher
[SI),
in
robotic applications one is only interested in solutions that belong to
the
Euclidean
group.
Shiu and Ahmad [8] first motivate this equation in the context
of robot sensor calibration, and provide a closed-form solution and
conditions for its uniqueness. Chou and Kame1 [3] present a method
for solving this equation using quatemions. In this paper we present
both exact and least-squares solutions to this equation using methods
of Lie group theory. The principal advantage of this approach, aside
from its geometric appeal, is that there exists a set of
canonical
coordinates
for the Euclidean group that leads to
a
particularly simple
characterization of the solutions to
AX
=
XB.
The solution can be
expressed explicitly and also admits a simple geometric visualization.
Because
-4-1-
=
-XB
has a one-parameter family of solutions
(as first shown by Shiu and Ahmad
[8]),
two pairs of
(Az,
B,)
satisfying certain constraints are required in order to obtain a unique
solution. Unfortunately, for sensor calibration applications some
noise
is usually present in the measured values of
A
and
B,
so
that conditions for existence of a solution may not be satis-
fied. A more practical approach is to make several measurements
{
(-41.
B1).
(-42.
BZ
).
.
. .
.
(-AL.
BI
)},
and to find an
.X
that mini-
mizes the error criterion
where
d(
..
.)
is some distance metric on the Euclidean group. Using
the canonical coordinates for Lie groups the above minimization
problem can be recast into a least-squares fitting problem that
admits a simple and explicit solution. Specifically, given vectors
XI.
23..
.
.
.
SI.
and
yl.
y2.
. .
.
,
yr.
in Euclidean n-space, NBdas
[6]
provides explicit expressions for the orthogonal matrix
0
and trans-
Manuscript received October 21, 1992; revised September 24, 1993.
The
authors are with the Department of Mechanical and Aerospace Engi-
IEEE
Log
Number 9403328.
neering, University of Califomia at Irvine, Irvine, CA 92717 USA.
lation
b
that minimize
k
17
=
(I@S<
+
b
-
~21)~
1=1
The best values of
8
and
b
turn out to depend only on the matrix
M
=
.rz
y:.
By applying the canonical coordinates and this result
a “best-fit’’ solution to
A+Y
=
XB
can be obtained.
The paper is organized as follows. In Section
I1
we examine the Lie
group structure of the Euclidean group, and derive explicit formulas
for the canonical coordinates. In Section
111
we derive closed-form
exact solutions to the equation
AX
=
XB,
and in Section IV we
present a least-squares solution given a set of noisy measurements
for
A
and
B.
11. THE EUCLIDEAN
GROUP
For our purposes it is sufficient to think
of
SE(3), the Euclidean
group of rigid-body motions, as consisting of matrices of the form
[::
‘;I
where
0
E
SO(3) and
b
E
R3.
Here SO(3) denotes the group of
3
X
3
rotation matrices. SE(3) has the structure of both a differentiable
manifold and an algebraic group, and is an example of a
Lie group.
Some well known examples of matrix Lie groups include Gl(n),
the general linear group of
n
x
n
nonsingular matrices, and Sl(n),
the special linear group of
n
x
n
nonsingular matrices with unit
determinant.
Associated with every Lie group is its
Lie algebra.
In general
a Lie algebra is a vector space,
V,
together with a bilinear map
[
,
]
:
V
x
1,’
+
L7
(called the Lie
bracket)
that satisfies, for every
7,
p,
U
E
(i)
[v,
171
=
0,
and (ii)
[[v,
PI,
~1+[[4
71,
@.]+[b.
VI,
71
=
0.
The Lie algebra of S0(3), denoted so(3), consists of the
3
X
3
skew-symmetric matrices of the form
0
-.d3
LJ2
[
LJ3
-;l]
5
[-.I
-
&‘2
Observe from this definition that so(3) can be identified with
R3.
The
Lie algebra of SE(3), denoted se(3), consists of the
4
X
4
matrices
of the form
b1
4
where
[w]
E
so(3) and
7’
E
R3.
For both so(3) and se(3) (and for
general matrix Lie algebras) the Lie bracket is given by the matrix
commutator:
[A,
B]
=
AB
-
BA.
A fundamental concept related to Lie groups is the
exponential
mapping.
Given a matrix Lie group
G
and its corresponding matrix
Lie algebra
g,
the exponential mapping is the map
exp
:
g
+
G
defined by the matrix exponential:
exp
;I
=
I
+
A
+
&A2
+
. . .
for
A
E
g.
Over some open set
U
C
g
containing
0
the mapping
exp
:
U
+
G
is a diffeomorphism.’ The exponential therefore
defines local coordinates over some neighborhood of the identity in
G;
Chevalley [2] calls these coordinates the
canonical coordinates
(with respect to a particular basis).
In the remainder of this section we derive explicit formulas for
the canonical coordinates on SE(3) and its subgroup SO(3). One of
‘A
difSeeomorphism
is a differentiable 1-1 and onto mapping whose inverse
is also differentiable.
1042-296X/94$04.00
0
1994 IEEE