5.3 12 DOF Control of a Non-rigid Foam Beam

Next: 6 Conclusions Up: 5 Experiments using visual Previous: 5.2 Combining primitives to

## 5.3 12 DOF Control of a Non-rigid Foam Beam

High DOF control problems involving manipulation of non rigid objects are very hard to solve with traditional model based robot control paradigms. The modeling of the problem can be messy or completely impractical. Even in cases where an analytic model can be provided it is often not analytically invertible, which makes design of a control system difficult. An adaptive differential visual feedback based controller, on the other hand, does not need an exact a-priori model. Instead the robot learns and refines successive linear models of the transfer function while performing its task in the real environment.

Figure 17: Left: Initial configuration of two manipulators holding a piece of foam between them. Right: The goal is given as an image of the desired pose of the foam, from which the desired positions of the ``features'', here the white dots, are extracted.

This demonstration uses two 6 DOF PUMA manipulators, one attached to each end of a piece of flexible packing material foam. The attachment is rigid, so the arms can exert torques as well as forces to the beam. The object of the system is to bend or fold the beam into a specified shape.

The goal is specified by providing goal an image of a folded piece of foam. This is done to make sure that the desired configuration is actually attainable. (The foam can be manipulated in a theoretically infinite, and practically very large number freedoms. We can only control 12 with the manipulators, so many configurations would not be attainable.) In practice, we used the robot teach pendants to manually put the foam into the shape we desire, however the control algorithm never gets any input about the pose of the robots needed to do this, just a representation of the foam shape, given in image space from two cameras. In the demonstration we start out with the foam just barely compressed between the two robots end effectors as seen in the left image in 17. We originally intended to track the foam shape using snakes [Curwen, Blake 92][Terzopoulos, Szeliski 92]. This proved hard, so we reverted to our convolution trackers, tracking a sparse representation of the foam contour using the tracking targets shown attached to the foam in fig 17.

From a transfer function point of view this is a hard problem. To start with, the transfer function is highly nonlinear. We also start from a nearly singular state (nearly straight beam). (The singularities are not just robot singularities, but all singularities in the full transfer function from robot control space to visual space) As evidence, we note that the condition number of the visual motor Jacobian improves by nearly a factor of 20 between the initial state and the goal.

Figure 18: Hitting joint limits in a robot singularity caused failure in this ``non way point'' run. Video 4

This problem is hard enough that running the system using only the final goal position did not work. The problem is that the Jacobian changes so much from the initial to the final configuration that aiming directly for the goal from the start leads the system into unstable and sometimes singular configurations where it could become trapped. An example of this is shown in Fig. 18 where joint 6 and 4 are lined up giving a singular state. The difficulty was easily resolved by giving the system a few way points (in this case two), which served to guide the algorithm around numerical (and mechanical) difficulties. In numerical analysis this is a standard method of improving convergence. With this constraint, the system was able to avoid getting onto an ill-conditioned path, and fold the beam into the goal configuration with an average end point accuracy in image space of about one pixel. This "way point" solution is illustrated in fig. 19.

Figure 19: The carrying out of the foam folding task Video 5

Next: 6 Conclusions Up: 5 Experiments using visual Previous: 5.2 Combining primitives to

jag@cs.rochester.edu