We will now attempt to control the arm motion indirectly, via its
point image in C-space (C-point). Each time the operator moves the
C-point slightly, the algorithm recovers a new set of configuration
variables (
,
) from the C-point coordinates and
automatically translates it into the actual motion in W-space. That is,
after the direction vector is calculated and step size is taken into account,
similar to the joint-mode in W-space control, angles
and
become available, and they are used to control the arm's next step.
Though not necessary for control purposes, for convenience a W-space
window with the arm real-time motion is shown next to the C-space
window used by the operator.
Recall that the Cartesian position (x, y) of the arm endpoint is the tip-mode parameter in W-space control. Certain applications, e.g. grasping, may require knowledge of this parameter. If necessary, (x, y) values can be recovered from C-space information via the direct kinematics equations:
We are now one step away from converting the complex problem of
W-space control to a simpler problem of navigating a point in the
maze (C-space). What is missing is the maze itself. This is done by
computing the C-space obstacles, also called virtual
obstacles. Each point of a virtual obstacle corresponds to an arm
configuration that is not attainable because of interference with
the corresponding physical obstacle. The related (x, y) positions in
W-space may or may not be occupied by an obstacle - in the latter
case such pieces of an obstacle are called its shadows. A
finite number of obstacles in W-space produce a finite set of
virtual obstacles in C-space. The boundaries of virtual obstacles
are known to consist of simple closed curves [6]. Since virtual
obstacles are defined in terms of arm variables (
,
), their
shape is visually unrelated to the shape of the W-space obstacles
[7, 8].