58.1 Introduction

Current industrial robots are essentially complex, position-controlled machines. These robots can usually take in commands in a text-based form called robot programs. Since most industrial robots nowadays can only understand very basic instructions, such as moving from one configuration to another or apply a predefined force in a specific direction, to program robots for a given task, users usually need to develop a very detailed sequential instruction set for the robot controller. Note that users typically need to redo this programming process every time when there is a change in the working environment. For example, one typical application of robots in the industrial environment is the pick-and-place task, i.e., robots are commanded to pick up an object from one location and move it to another place along a predefined trajectory. Due to the robot’s good repeatability performance, once taught, it is able to duplicate its task faithfully as long as all the initial work-cell setup remains valid. If the location of the object/workpiece is changed, users are required to modify the existing robot program to accommodate for this change. In order to specify the location of the workpiece (to be picked or placed), users can either physically move the robot end effector/gripper to the target location (walk-through programming) or manually jog the robot gripper using the provided teach pendant (jogging programming) as illustrated in Fig. 1. Although the noncontact type of tasks (pick-and-place or spot welding for instance) are still commonly being used nowadays, there is an increasing interest on developing and applying the “compliant motion” (i.e., motion and force) control for industrial robots (Lim and Tao 2010). This can be observed from the fact that several major robot manufacturing companies such as ABB and KUKA have incorporated the motion/force control capability into their new product line in the past few years (Bayegan and Elisson 2010; The ABB group 2003; KUKA automatisering + robots N.V 2003). With this additional capability, robots are now able to handle more complicated contact-type operations, such as polishing, grinding, and so on.


Fig. 1 Lead-through programming (left), walk-through programming (right) (www.osha.gov)

Note that to realize these machining tasks using industrial robots, two types of information are needed. The first set of information is called geometric information which describes the geometric constraints that the robot tool center point must follow. For example, if a robot is required to drill a hole at a particular location on the workpiece, the hole’s location with respect to the robot is the geometric constraint that the tip of the drill bit (tool center point) must go to. The second information that is required for the robotized machining operation is called process information. This information includes a set of process parameters that can be used to achieve certain machining quality. In the above drilling example, the process parameters can be the drilling speed, the rotating velocity of the drill bit, the drilling strategy, and so on. Generally, for contact operations, the required robot motion can be complex depending on the workpiece geometry and the robot work-cell arrangement. Due to this complexity, large number of target points (where the robot’s tool center point needs to interact with the workpiece/environment) is expected during the programming process. As a result, the aforementioned walk-through and lead-through programming (or online programming methods) now become less viable. The reason is that the online teaching process will require a lot of time due to the large number of target points required to be taught. In addition, online teaching methods require robots to be out of production during the teaching process; thus, it can significantly reduce the utilization of robotic systems. This observation is also true for many noncontact tasks such as arc welding or spray painting especially in the case where the required robot motion is complex. In other words, realizing a robotic task, especially contact-type machining operations, using online programming methods is usually inadequate in terms of productivity in practice.