Computer controlled robots offer a number of significant advantages in manufacturing and assembly tasks. These include consistent product reliability and the ability to work in harsh environments. The programmable nature of robotic automation allows the possibility of applying them to a number of tasks. In particular, significant savings can be expected in batch production, if robots can be applied to produce numbers of products successfully without plant re-tooling. Unfortunately, despite considerable progress made in robot programming [Lozano-Perez 83] [Paul 81] ;Ahmad 84] [Graver et al. 84] [Bonner & Shin 82] and in sensing [Gonzalez & Safabakhsh 82] [Fu 82] [Hall et al. 82], [Goto et al. 80], [Hirzinger & Dietrich 86], [Harmon 84], kinematics and control strategies [Whitney 85] [Luh S3] [Lee 82], a number of problems still remain unsolved before en-mass applications take place. In fact, in current applications, the specialized tooling for manufacturing a particular product may make up as much as 80% of the production line cost. In such a production line the robot is often used only as a programmable parts transfer device. Improving robots ability to sense and adapt to different products or environments so as to handle a larger variety of products without retooling is essential. It is just as important to be able to program them easily and quickly, without requiring the user to have a detailed understanding of complex robot programming languages and control schemes such as RCCL [Hayward & Paul 84], VAL-II [Shimano et al., 84], AML [Taylor et al., 83], SR3L-90 [Ahmad 84] or AL [Mujtaba & Goldman 79]. Currently there are a number of Computer Aided Design (CAD) packages available which simplify the robot programming problem. Such packages allow the automation system designer to simulate the assembly workcell which may consist of various machines and robots. The designer can then pick the motion sequences the robot has to execute in order to achieve the desired assembly task. This is done by viewing the motions on a graphical screen from different viewing angles to check for collisions and to ensure the relative positioning is correct, much the same way1 as it is done in on-line teach playback methods (see Figure 1). Off-line robot programming on CAD stations does not always lead to successful results due to two reasons: (i) The robot mechanism is inherently inaccurate due to incorrect kinematic models programmed in their control system [Wu 83] [Hayati 83] [Ahmad 87] [Whitney et ■ al. 84]. (ii) The assembly workcell model represented in the controller is not accurate. As a result parts and tools are not exactly located and their exact position may vary. This causes a predefined kinematic motion sequence program to fail, as it cannot deal with positional uncertainties. Sensors to detect real-time errors in the part and tool positions are obviously required with tailored sensor-based motion strategies to ensure assembly accomplishment. In this chapter we deal with how sensors are used to successfully ensure assembly task accomplishment. We illustrate the use of various sensors by going through an actual assembly of an oil pump. Additionally we illustrate a number of motion strategies which have been developed to deal with assembly errors. Initially, we discuss a number of sensors found in typical robotic assembly systems in Section 1. In Section 2 we discuss how and when sensors are to be used during an assembly operation. Issues relating to sensing and robust assembly systems are discussed very briefly in Section 3. Section 4 details a sensor-based robot assembly to illustrate practical applications.

Date of this Version