to the landmarks.
13 Optimization is
used to find a velocity that minimizes
the error in the task tangent space.
The problem is then to minimize the
distance to the reference task vector.
Generally, the reference task vector
cannot be reached. In the special case,
when the reference belongs to the image space of the Jacobian, the residual
of the optimization is null. This is the
case in visual servoing, when the target image has been acquired from a
real scene with no noise.
On the contrary, if the dimension of the task space is smaller than
the dimension of the configuration
space, several configurations correspond to a single task. The task function is not one-to-one; that is, the
Jacobian matrix has more columns
than rows. For instance, in the case of
a 30-joint humanoid robot picking a
ball with its hand: the dimension of
the task space is three while the dimension of the configuration space
is 30. Several motions may fulfill the
task. The system is said to be redundant with respect to the task. Optimization is then used as a criterion
to select one motion among all the
admissible ones. In that case, several
vectors in the configuration tangent
space produce the same effect in the
task space. Equivalently, some velocities produce no effect in the task
space. This subset of the configuration tangent space is the kernel of the
Jacobian matrix and is called the null
space of the task. Any velocity in the
null space leaves the task unchanged.
Adding up a given configuration tangent vector satisfying the task with
the null space gives the vector space
of all velocities satisfying the task.
The minimization problem consists
in selecting one sample in this space,
according to some criteria, for example, the least-norm velocity.
In general, the task function may
neither be onto nor one-to-one; that
is, the Jacobian matrix is neither full
row rank (its rows are not linearly independent) nor full column rank (that
is, its columns are not linearly independent). In general, no vector in the
configuration tangent space satisfies
the task (since the transformation is
not onto), and there is infinity of vectors that minimize the distance to the
task vector in the task tangent space
(since the transformation is not one-to-one). Therefore, the selection problem becomes a double minimization
problem: we simultaneously minimize the distance to the task and the
norm of the configuration velocity. A
solution for this double minimization
problem is given by the Moore-Pen-rose pseudo-inverse,
2 also called the
least-square inverse. Notice that other
minimization criteria may be considered in the same framework by changing the metrics in the tangent spaces.
For instance, we can use weighted
pseudo-inverses in which the components of the system input (columns
of the Jacobian matrix) and the task
residual (rows of the Jacobian) do not
receive the same weight. As before the
sum of the optimal vector with the
null space gives the set of all solutions
that are optimal for the first problem
(smallest distance to the task) but only
suboptimal for the second one (
smallest velocity norm).
Optimization as Selection Principle
Stack of tasks for redundant systems.
When a robot is redundant with respect to a task, it is interesting to allocate it a secondary task. This is the
case for humanoid robots that can
perform two tasks simultaneously.
Consider two distinct task functions
dealing with the positions of the right
and left hands respectively. How to
check if both tasks are compatible? A
simple idea consists of ordering the
two tasks. At each time step of the integration process, a vector of the configuration tangent space associated to
the first task is selected. Then the secondary task is considered only within
the restricted velocity set lying in the
kernel of the first task. The reasoning
that applies to the first task also applies to the projected secondary task:
the task function may be onto, one-to-one, or neither of it. In particular,
if it is not onto, the task is said to be
singular (in the sense the Jacobian is
rank deficient). Two cases can be distinguished. If the (not projected) secondary task function is not onto, then
the singularity is said to be kinematic:
it is intrinsically due to the secondary task. On the opposite, if the (not
projected) secondary task function is
onto, then the singularity is said to be
algorithmic: because of a conflict with
It is possible to