Archimedes 4.0 is an interactive assembly planning system. A fast core planner enables a highly productive plan-view-constrain-plan cycle. The user asks for a plan, simulates it in 3D, adds known process constraints violated by the plan, and then iterates until a satisfactory plan is found. Interactivity is critical to effective assembly planning for even moderately complex products, because (1) many process constraints are difficult to identify until they are violated, and (2) an impractically large number of plans result when process constraints are not considered.
The program is composed of a central search engine, plus surrounding modules that apply constraints due to part-part collisions, subassembly connectivity, tool and grasping requirements, and user-defined process constraints. Special attention is paid to efficiency in every module.
The search engine searches an AND/OR graph of oriented subassemblies using a guided iterative sampling algorithm. It performs incremental dynamic programming of assembly costs in the graph as the search proceeds. The algorithm is capable of finding an initial plan very quickly, then increasing the quality of the best solution over time, eventually converging on and recognizing the optimal plan when possible. It is specially designed for the demands of searching an extremely large state space that can be highly constrained or unconstrained.
The geometric module applies assembly sequencing constraints based on the product CAD data and certain auxiliary data. It determines part-part contacts automatically from the CAD data, and uses a non-directional blocking graph of the assembly to quickly find important directions of motion and part blocking relationships in those directions. It employs a method for very fast collision detection developed at Sandia to check operations for validity.
The path planning module uses a rapidly expanding random tree algorithm to determine feasible disassembly paths for parts that cannot be removed with a single straight line motion. This module relies on the C-Space Toolkit to provide fast distance calculations.
The tool module checks for geometric access of tools required for assembly. The system can reason about a broad range of tools, including: hand tools such as screwdrivers and wrenches; special purpose tools like laser welders and presses; and inspection tools such as CMMs, robotic cameras, and human eyesight. Limited automatic grasp planning for a library of standard robotic grippers is also supported.
The interactive module allows specification of process- or customer-specific constraints on assembly order. The engineer uses a simple graphic interface to place constraints on the valid assembly sequences, such as defining subassemblies, requiring that certain parts be placed consecutively with or before other parts, declaring fasteners, etc. The engineer can also define an optimization or cost criterion for selection of preferred sequences.
Archimedes reads CAD models in ACIS format, which is generated directly by AutoCAD, Aries, and many other modelers. Archimedes also reads faceted part representations such as stl files. ACIS translators exist from Pro/ENGINEER, STEP, and other formats. Archimedes writes assembly plans in several formats, ranging from textual descriptions to simple robot code to video of simulations. Archimedes is available on workstations from Silicon Graphics, or it can be run remotely from any Xwindows workstation through Sandia's TIE-In environment.