In this paper we present an AI-based technique to build an automatic robot programming system. This system uses assembly task descriptions as well as domain knowledge to produce a desired robot control program. This system can be divided into two functional parts-- (1) the task planner which produces an abstract level assembly plan, and (2) the control program generator which decomposes the assembly plan into a sequence of executable robot commands. The high-level task planner is a knowledge-based hierarchical system containing four types of system knowledge: (i) assembly parts description, (ii) workpiece structures, (iii) assembly operations, and (iv) assembly principles. An assembly plan is generated by constructing a task hierarchy which divides a main goal into subgoals. Orders of subgoals are suggested by assembly principles. Conflicts that arise from constructing the task hierarchy can be eliminated by posting constraints along each subgoal. Generating subgoals will continue until all subgoals are described by task primitives. Based on these primitives, the robot program generator checks the mounting specifications, and then determines the detailed spatial data pertaining to the location and orientation of each part. Finally, a robot control program is composed. A case study has been conducted by implementing the proposed method in OPS5 language. The implemented system can generate control programs for the IBM 7545 manufacturing system which includes a robot manipulator controlled by textual programs in AML (A Manufacturing Language). Planning efficiency is assured by a designed control structure to execute this automatic programming system. A user interface is also provided to accept assembly task description and update the knowledge base. Accuracy of the automatic programming is tested by the robot performing an assembly task planned by this system. A description of an automatically generated robot assembly task program is included to demonstrate the success of this research.
|