We have not yet addressed the issue of where the Jacobian
describing
the local linear model around
comes from. One approach is to
use geometric models, derive
an analytical expression for the Jacobian, and calculate a numerical
Jacobian at each sampled point
. This approach has been used
for traditional world to joint space manipulator kinematics in cases
where analytic inversion is hard.
An advantage is that a rough model can be used, depending on the
feedback, to yield high precision positioning. Other approaches can
be described as partially adaptive, being applicable only to a
restricted set of visual motor models, requiring
partial analytic modeling of the system (e.g. restricted to
systems suitable for ARMAX modeling [Feddema and Lee, 1990, Papanikolopoulos and Khosla, 1993], or using only
image location visual measurements under a weak perspective assumption
[Hollinghurst and Cipolla, 1993]).
We want to solve manipulation problems that are unsuitable for analytic modeling at all, such as the manipulation of flexible foam in 12 DOF shown in section 5.9. We also want to place the fewest possible restrictions on the class of visual-motor functions we can estimate. This rules out systems depending on near linear functions in the desired operating space (e.g., [Chongstitvatana and Conkie, 1990, Hager et al., 1993]), and methods that would be inefficient for high DOF systems (e.g. [Yoshimi and Allen, 1993] where calculating a Jacobian update requires nm measurements, where nm is the product of the number of sensory and controlled signals)
We use a Jacobian model estimation and updating scheme based on
the information obtained more or less for free while performing the
task. By simultaneously tracking changes in visual feature values and
changes in motor joint angles we can learn about the derivatives
of f in the direction of joint space the robot has moved in.
After making the movement
and observing the
change
in the feature values, we
have a secant approximations to the directional derivative
along
. We wish to
modify the Jacobian to bring our model into agreement with the
measurement by satisfying a secant equation:
If
is along a coordinate axis of joint space
(e.g.
) then eq. 3.6 can be
satisfied by replacing the k-th column of the Jacobian with
.
For an arbitrary movement
the same
operation can be performed in
a coordinate system rotated so that
.
Let P be a coordinate change matrix from the original basis O for
to an
ON basis O' which has the first basis vector aligned with the
movement
we last made. Using P and
we can freely transform the measured change in visual appearance
and the motor-visual Jacobian J
back and forth between the two coordinate bases.
The formulas
and
,
transform the objects into O' and the inverse formulas bring them back.
In the basis O', the
difference approximation,
,
is aligned with the first basis vector in O'
since
.
In the Jacobian this derivative is represented in the first column.
Thus to incorporate the new
derivative information
into the
Jacobian, we simply insert it into the first column, leaving the information
along the other directions (in the other columns) unchanged.
Simplifying the above procedure yields:
The estimation technique we have described falls
into a class called Broyden methods [Fletcher, 1987] used in
nonlinear optimization.
For a set of n orthogonal movements
,
the updating schema in eq. 3.7 is identical to
a conventional finite difference approximation.
(See Chapter 4.8)
Note however that the estimation in eq. 3.7
accepts movements along arbitrary directions
and thus needs no additional data other than what is available
as 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
.