The basic visual servoing as described in earlier chapters allows us
to change the system state (in the visually described frame
) from
to
.
Implicit in the
servoing is that the dimension of
does not change, and
that the model
consisting of the Jacobians
estimated so far (between time 0 and
time i) is a continuous function.
In typical tasks, however, the natural dimensionality does change during the
task. For instance, unlocking a door with a key involves a reaching
movement whose main purpose is to bring the key (and
robot end effector) near the keyhole. This is naturally and easily
solved as a 3 DOF translational servoing movement. The angular
alignment does not matter while reaching, so there is no need
to precisely servo the rotational freedoms of the robot wrist.
To align and insert the key, both position and orientation must be controlled and a full 6 DOF servoing movement is needed. Then the turning of the key is a 1 DOF rotation along the axis of the lock. This last turning movement does not have a direct visual alignment goal, and would typically be done based on some other sensory feedback (i.e. turn until force sensors in hand notice step increase in force. For more examples of this last kind of ``qualitative manipulation'' see Chapter 3 in [Pook, 1995]).
When changing the servoing dimensionality as in the above example, the dimensionality of the visual motor model changes, but changing DOF's is not the only case when the model changes discontinuously in time. In our framework manipulations are described in object based coordinate frames and, during a task, each time an object is grasped or regrasped the model changes.
The general principle is for each step in a manipulation task to use the simplest possible (lowest DOF) servoing movement. From the experimental evaluation in Section 5.5, we know that the smaller and simpler the manipulation model is, the more robust is the model estimation and servoing. Also, controlling fewer DOF's requires fewer visual measurements, and a smaller task description.
The three main classes of servoing movements are transportation,
alignment and fine manipulation (Table 7.1).
The transportation movement is a coarse primitive for long
movements, such as the reach movement in the task above.
The movement is typically 3 DOF, but it can be lower (e.g. it is
a 2 DOF movement when pushing something on a surface). This means that
for m visual measurements, the visual-motor Jacobian is of size
.
Tracking can, in most cases when using stereo vision, be implemented
as simple centroid tracking of the moving object (giving a
Jacobian).
The fine manipulation movement is for precise manipulation
of an object involving
both translation and orientation in up to
6 DOF (for a rigid object).
A visual-motor Jacobian of size
,
has to be
estimated. Obviously centroid tracking is no longer sufficient for
controlling both position and orientation, and more sensitive
feature tracking of several object features must be used.
When switching between transportation and fine manipulation modes,
the appropriate preconditions of the higher DOF fine manipulation
must be satisfied, and to perform accurate fine manipulation
a (reasonably) accurate model is needed. The alignment movement
is a high DOF movement for which goal
is the precondition
of the subsequent fine manipulation. For typical robot arms with a wrist,
the high DOF Jacobian can be bootstrapped as described in the next
section and eq. 7.1. This bootstrapped model is
refined during the alignment movement to allow precise motions
in the following fine manipulation.
Table 7.1: Visual space task planning and decomposition.
Typical tasks have coarse and fine movements. We decompose movements
into transportation, alignment and fine manipulation.