2.3 Implementation issues



next up previous
Next: 3 Experiments with the Up: 2 Differential visual feedback Previous: 2.2 Model estimation

2.3 Implementation issues

If J were a square, full rank matrix, a unique could be found for each by Gaussian elimination. However, J is generally neither square, nor full rank. In fact, as we will see later, it is an advantage in a real system to have many more visual feature values than controlled DOF's giving an over-determined system. Several methods exist for finding approximate solutions , to such a system under various optimality criteria (e.g., normal equations or SVD based methods). We use the numerically stable QR factorization method, projecting a least-squares optimal solution onto the control space.

Mapping this Jacobian based control scheme onto a real robot involves a number of other issues, related to the low level control of the robot arm. The most direct approach is to use a discrete look, then move strategy, where we wait for each incremental move to be completed before initiating the next cycle. This method is satisfactory for short, high-precision moves, where the precision obtainable by extracting visual features in a stationary scene is needed. For long moves, however, this process very slow. It also results in uneven movement which uses significant excess energy, produces extra wear and tear on the robot, makes prediction difficult in interacting systems, and is aesthetically unpleasing.

What we do in this case, is to utilize a more sophisticated control structure for the robot, that instead of providing only discrete moves to a specified position, allows asynchronous updating of a position ``set point'' to which the robot servos under some simple control law (e.g. damped proportional control). On the Utah/MIT hand, an appropriate set point controller comes as part of the hardware. On the Puma, the set point controller was implemented through primitives provided by RCCL [Lloyd 94]. By running the visual control loop fast enough to keep the set point just ahead of the robot, we are able to achieve smooth trajectories by essentially ``leading'' the robot around. By varying the lead distance of the setpoint, and velocity and acceleration parameters we get a mixed mode controller having some of the advantages of both discrete and continuous control modes.

We run the vision feature tracking and visual feedback algorithm on a distributed network of Unix workstations. The worst case delays due to Unix process scheduling and Ethernet communication contention are, from a control systems viewpoint, extremely long. The setpoint method has the advantage, in this case, over a simple velocity servoing schema. Even if sensory input is completely shut out, all that happens is that the robot goes to the next setpoint, and comes to a rest, as in the look and move approach. In more usual situations we switch from a smooth servoing mode during transportation phases, through an intermediate phase, which slows down the robot somewhat during visual measurements to increase their accuracy, to a pure iterated look-and-move behavior for the highest precision moves.

  
Figure 3: Structure of the adaptive differential visual feedback control algorithm, and the time frames each part runs in. Arrows between modules indicate direction of information transfer.

The structure of the control algorithm we have implemented is shown in Fig. 3. In addition to the modules shown, there are real-time visual feature trackers that provide information about the current visual state. The system is implemented as a pvm [Geist Sunderam 93] distributed program running vision processing, and visual space control routines on a 8 processor SPARCserver 2000 multiprocessor, and robot control on a SPARCserver 330.



next up previous
Next: 3 Experiments with the Up: 2 Differential visual feedback Previous: 2.2 Model estimation



jag@cs.rochester.edu