Why Assemble a Model Aircraft Engine?

The real test of our RISC approach is whether it can handle the full assembly of a mechanical device. We have chosen first to assemble a mid-sized model-aircraft engine. We chose it because (i) it is a good size for RobotWorld's workspace, (ii) it has modest complexity, with about two dozen parts (iii) in spite of this, it has some very challenging subproblems. The cylinder/piston fit is essentially zero tolerance. These engines have no piston rings, so they rely on the tightness of this fit for their compression. Pistons and cylinders are finished to an extremely smooth finish by honing, and then hand matched to get suitable fit. There are non-vertical insertion steps, near but not perfectly cylindrical parts, and non-rigid subassemblies.

Our goal is to make the assembly program parametric so that it can assemble several other sizes of engine that have roughly the same makeup. We will structure the program into subroutines that can be re-used for other assemblies. We have already acquired a number of these from previous assembly demos. We are seeking other good test problems, and we hope to attempt several other realistic assemblies in the future. It should be easier to do this as our assembly routine library grows. We expect to run into unforseen problems, and these should lead us to expand our vocabulary of simple sensors and actuators.

Eric Paulos / paulos@robotics.eecs.berkeley.edu / 15 June 1994