In applications such as haptic rendering, NC Verification and CAM, it is often necessary to rapidly detect and correct collision between a known tool, such as a cutting tool, and an arbitrary environment, such as the workpiece to be machined. In these situations, the tool can be manually pre-defined, but the workpiece needs a general representation; and careful fulfillment of these requirements enables extremely rapid performance. We describe an algorithm and representations for rapidly detecting and correcting collision between a manually pre-defined tool and an arbitrary workpiece. For the tool, we prescribe a form of CSG consisting of implicit equations separated by binary space partitions. This representation can be enhanced to also yield depth information and exit vector information for many useful solids. The user must hand-construct the tool using this representation. For the environment, we use a cloud of over 10,000 points. This is a general representation. The collision between tens of thousands of points and the implicit representation can be accelerated with a bounding box hierarchy. We show that we can compute collision and correction information at the rate of 1000 times a second, making it possible to perform force control for haptics using the collision detection algorithm in the real-time loop.
ASJC Scopus subject areas
- Computer Graphics and Computer-Aided Design
- Industrial and Manufacturing Engineering
- Geometry and Topology