An estimate to the image Jacobian can be
obtained by physically executing a set of calibration movements
along the basis
direction of motor space ([3, 8, 19])
and approximate the Jacobian with finite differences:
where
.
However to keep the estimate current for the typically nonlinearly
changing environment the agent would need to perform these movements
rather frequently. This is not appropriate in most manipulation
settings, where the calibration movements would interfere with the
task.
Partial modeling of the viewing geometry using
an ARMAX model and estimating only one or a few parameters
(e.g. depth) has also been tried [2, 6]. This however
restricts the camera-robot configurations and environments to
structured, easy to model settings.
We seek instead, an online method, which estimates the Jacobian by simply
observing the process, without introducing any extra ``calibration''
movements. In observing the process we obtain the changes in
visual appearance
corresponding to a
particular controller command
. This is essentially
a secant approximation of the derivative of f along the direction
. We want to update the Jacobian in such a way as
to satisfy our most recent observation (secant condition):
The condition above is under-determined; thus a family of updating formulas, called the Broyden hierarchy, is defined as follows:
(3)
Where
are different rank 1 matrices so the rank of the correction term
is equal to the number of non-zero
.
We choose an unsymmetric correction term:
This is a first order updating formula in the above hierarchy, and it
converges to the Jacobian after n orthogonal moves
. It
trivially satisfies the secant condition, but to see how
it works let's consider a change of basis transformation P
to a coordinate system O' aligned with the last movement so
.
In this basis the correction term in eq. 4 is zero except
for the first column. Thus
our updating schema does the minimum change necessary
to fulfill the secant condition (minimum change criterion).
Let
be n orthogonal
moves, and
the transformation matrices as above.
Then
are just circular permutations of
, and
the updating schema is identical to the finite differences in eq.
2, in the
frame.
Note that the estimation in eq. 4
accepts movements along arbitrary directions
and thus needs no additional data other than what is available
as a part of the manipulation task we want to solve.
In the more general case of a set of non-orthogonal moves
the Jacobian gets updated along the dimensions
spanned by
.