A real-time robot collision avoidance system (abstract)
Clifford A. Shaffer, Gregory M. Herb · 1990
A data structure and update algorithms are presented for a real-time collision avoidance system in a multi-robot environment. The data structure is a variant of the octree, which serves as the spatial index. An octree recursively decomposes 3 dimensional space into 8 equal cubic octants until each octant meets some decomposition criteria. Our octree stores cylinders and solid rectangles as primitives (other primitives can easily be added as required). These primitives make up the two seven-degree-of-freedom robot arms and environment modeled by the system. Octree nodes containing more than a pre-determined number n of primitives are decomposed (here, n=5). This rule keeps the octree small, as the entire environment for our application can be modeled using about a hundred primitives. As robot arms and grasped objects move, the octree is updated to reflect their changed positions. During most update cycles, any given primitive does not change which octree nodes it is in. Thus, modification to the octree is rarely required. Incidents in which a robot arm comes too close to another object are reported. Cycle time for receiving current joint angles, updating the octree, and detecting/reporting imminent collisions is about 25 milliseconds on an Intel 80386 processor running at 20 MHz. Our work will provide a real-time safety system for tele-operated robot arms on NASA's manned space station.