A Real Time Robot Arm Collision Detection System

A data structure and update algorithm are presented for a prototype real time collision detection safety system for a multi-robot environment. The data structure is a variant of the octree, which serves as a spacial index. An octree recursively decomposes three dimensional space into eight equal cubic octans until each octant meets some decomposition criteria. Our octree stores cylspheres (cylinders with spheres on each end) and rectangular solids as primitives (other primitives can easily be added as required). These primitives make up the two seven-degrees-of-freedom robot arms and environment modeled by the system. Octree nodes containing more than a predetermined number N of primitives are decomposed. This rule keeps the octree small, as the entire environment for our application can be modeled using a few dozen primitives. As robot arms move, the octree is updated to reflect their changed positions. During most update cycles, any given primitive does not change which octree node it is in. Thus, modification to the octree is rarely required. Incidents in which one robot arm comes too close to another arm or an object are reported. Cycle time for interpreting current joint angles, updating the octree, and detecting/reporting imminent collisions averages 30 milliseconds on an Intel 80386 processor running at 20 MHz.

[1]  Vincent Hayward,et al.  Fast collision detection scheme by recursive decomposition of a manipulator workspace , 1986, Proceedings. 1986 IEEE International Conference on Robotics and Automation.

[2]  Sue Whitesides,et al.  Computational Geometry and Motion Planning , 1985 .

[3]  Hanan Samet,et al.  Applications of spatial data structures , 1989 .

[4]  R. C. Smith Fast Robot Collision Detection Using Graphics Hardware , 1985 .

[5]  Tomás Lozano-Pérez,et al.  Spatial Planning: A Configuration Space Approach , 1983, IEEE Transactions on Computers.

[6]  Tomás Lozano-Pérez,et al.  Automatic Planning of Manipulator Transfer Movements , 1981, IEEE Transactions on Systems, Man, and Cybernetics.

[7]  Roman Kuchkuda,et al.  An introduction to ray tracing , 1993, Comput. Graph..

[8]  Bernard Faverjon,et al.  Obstacle avoidance using an octree in the configuration space of a manipulator , 1984, ICRA.

[9]  Michael Shneier,et al.  Describing a Robot's Workspace Using a Sequence of Views from a Moving Camera , 1985, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[10]  W. Khalil,et al.  Table Look Up for Collision Detection and Safe Operation of Robots , 1986 .

[11]  Andrew S. Glassner,et al.  Space subdivision for fast ray tracing , 1984, IEEE Computer Graphics and Applications.

[12]  Hanan Samet,et al.  The Design and Analysis of Spatial Data Structures , 1989 .

[13]  John W. Roach,et al.  Coordinating the motions of robot arms in a common workspace , 1987, IEEE Journal on Robotics and Automation.

[14]  Micha Sharir,et al.  Algorithmic motion planning in robotics , 1991, Computer.