Figure 14: Left: Planning the different phases of an insert type movement consisting of reaching and fine manipulation movements. Right: Performing the planned insertion. Video 1
The visual feedback control algorithms provide a means of effecting a visually specified goal while attending to a set of features. Real tasks generally consist of a sequence of goals, and the perception vectors specifying each usually involve different features. There may, however, be certain classes of primitive tasks which make similar use of features, and which re-appear in different applications. We start by identifying and implementing two such primitives which are useful in the general domain of object manipulation. The first primitive class is what we term a transportation move. The basic objective is to bring an object close to a goal position from a distance several times the size of the object. At this stage, the exact orientation and positioning accuracy is not critical. Because transportation is primarily concerned with position in 3-D space, we implement it as a point location problem under 3 DOF control. The second primitive class is fine manipulation of the sort required to perform insertion, alignment, or position a gripper for a pickup. Here accuracy and alignment are important, so we use a 6 DOF controller, which can handle the spatial freedoms of a rigid object.
We can now define a general move as consisting of a transportation phase followed by a fine alignment phase, optionally followed by an insertion or pickup move, which is either performed open loop, or executed under control of another sensory modality such as touch. Fig. 14 shows an example of an insertion sequence using this general move strategy. The robot first executes a long transportation move to a goal specified by the visual location of a single point in two cameras, then a 6 DOF alignment move to a goal specified by five point locations in in one camera and two in another. Note that we do not need any correspondence between features in the two image, nor do we even have to track the same features. The visual alignment goal is a position just above the insertion hole, and is indicated in the figure by the five + symbols. These are obtained using a local coordinate frame that specifies the visual direction of ``up'' in the two cameras. This knowledge was, in turn, derived from vertical lines on the object into which the insertion was being performed.
What occurs technically is that at the transition from 3 DOF control to 6 DOF the Jacobian is expanded from a to a matrix (tracking five feature points in the image shown, and two in the other). The newly added features are expected to behave roughly the same as the old one in response to the 3 trained DOF's, so we can expand the Jacobian into a estimate. The rest of the DOF's not previously explored are filled with random numbers of magnitude commensurate with the rest of the Jacobian. The function of the alignment is thus twofold: It positions the piece for the precision insertion, and it updates the (now expanded) internal motor-visual Jacobian model to be accurate around the insertion point.