We adopt a trust region method
[Dahlquist and Björck, 1995, Fletcher, 1987]
which adapts the maximum step length
automatically by taking steps as long as is possible or
desirable, while maintaining convergence.
The trust region method adjusts
so that
the controller never moves out of the region
where the linear approximation given by the current Jacobian
estimate is valid. To do this we want to solve a constrained
problem for
instead of taking the whole
Newton step
:
Define a model agreement as
and adjust
according to:
The objective of eq. 5.4 is to keep the model agreement within
the two constants
and
. The convergence
of the algorithm is quite
insensitive to their exact values. However the values of the
parameters affect how accurately the controller follows the trajectory,
and they are selected differently for coarse transportation
and fine manipulation moves, trading accuracy for time.
Typical suitable values are
and
[Dahlquist and Björck, 1995].
The trust region method has very strong convergence
properties. Convergence to an accumulation point
satisfying
the first and second order minimum conditions
and
is guaranteed for any function
, rather than
only for a quadratic function, as in the case of the unmodified
quasi-Newton method in eq. 5.2 (See [Fletcher, 1987]). For
the quasi-Newton method to work, we need the starting point
to be much closer to the goal
than for the trust region
method. The trust region
method is
efficient. When far from the goal it takes
steps as long as possible given the accuracy and validity region of
the estimated Jacobian model. When close to the goal the constraint
becomes inactive, and we achieve
the super-linear convergence of the quasi-Newton method.
The above trust region modification to the quasi-Newton
method is guaranteed to converge to a minimum. However, unless the
functional
is convex and thus only has one minimum, we
cannot guarantee that
is the desired global
minimum
. Another problem is that we have no control over
which path
the controller takes, something which
is of vital importance in robotics where, unlike optimization, the
numerical search corresponds to actual movements. So far we have
only considered the static problem. In a real robot, unless it is moved in
a look-and-move fashion [Weiss and Sanderson, 1987], we also need to consider how
to control velocities and acceleration.
With the above approach we can control velocities and accelerations
by placing additional constraints on
. With a fixed
sampling frequency (typically limited to 60 Hz by the video hardware),
the constraint
limits the joint velocity, and
limits the joint acceleration.