Robotics & Computer-Integrated Manufacturing,
Printed in Great Britain.
Vol.4, No. 1/2, pp. 175-I80, 1988
0736-5845/88 $3.00 + 0.00 Pergamon Press plc
• Paper APPLICATION
OF ROBOTS IN ASSEMBLY AUTOMATION
M. VUKOBRATOVI(~ a n d D . STOKIC Institute " M i h a j l o Pupin", Beograd, Yugoslavia The development of flexible assembly is closely related to the introduction of robots in assembly automation. It has long been recognized that automatic parts assembly by robots is one of the most delicate and most difficult tasks in industrial robotics. This task involves two control problems, trajectory planning for the whole automatic assembly process and reduction of the reaction forces appearing between the parts being assembled. This p a p e r addresses both aspects of this control task. The strategical control level for the manipulation of robots and various approaches to trajectory planning tasks in assembly processes are discussed. A new approach to the determination of the strategical control level, including various models (geometric, kinematic and dynamic) for manipulation robots, is briefly described. The last and most delicate phase of the assembly process is parts mating, which is rather like inserting a p e g in a hole. In o r d e r to reduce the reaction forces appearing between the parts being assembled, force feedback control is applied. The experimental results of the industrial robot insertion process with force feedback are also presented in the paper.
1. INTRODUCTION The introduction of robots into flexible assembly is one of the key prerequisites for the development of flexible manufacturing systems. It has long been recognized that automatic parts assembly by robots is one of the most delicate and the most difficult challenges facing industrial robotics. The assembly task involves two problems from the control point of view: • trajectory planning, and • reduction of the reaction forces appearing between the parts being assembled. We shall address both problems in this paper.
jectory of the robot hand to accomplish the robotic task specified by higher control levels (if the robot is included in a flexible manufacturing system and receives its task from a higher control
i 'r0trajectory e0 o ooplanning ro I" external coordinates
00 o00
other sensors ( ModeLLing of obstacles)
I Tactical control LeveL: transformation from external to joint trajectory
2. TRAJECTORY PLANNING IN THE ASSEMBLY PROCESS The usual approach to the control of manipulation robots included in flexible manufacturing cells is hierarchical decomposition of the control task. The robot control system is decomposed into hierarchical levels. 1 Figure 1 illustrates a common hierarchical control structure for robotic systems which is often encountered in practice. This control structure comprises three control levels: • The strategical control level involves trajectory planning in the given complex environment. Using the information from various sensors (visual, tactile etc.) strategical control plans the tra-
1 I Joiottra,ectories Executive control Level : servosystems which ensure I tracking of desired I trajectories I Control signaLs~
i
IAct° t°rsl
l
I
l/
Robotstate I
Fig. 1. Hierarchical control of a robot. 175
176
Robotics & Computer-Integrated Manufacturing • Volume 4, Number 1/2, 1988
level), or by an operator. The output of this control level is a specified path in external (hand) coordinates. • The tactical control level maps the external (hand) coordinates as internal (joint) coordinates of the robot, i.e. to compute the joint trajectories of the robot. In doing this the tactical control level must take into account the state of the sensors. • The executive control level ensures that the joint trajectories specified by the tactical control level are tracked. This level might include various control algorithms to account for dynamic effects of the robotic system 2'3 and compensate for robot dynamics. The output signals from this level are sent to actuators which drive the joints of the robot. The executive control level receives direct information about the system state from the sensors (potentiometers or shaft encoders, tachogenerator s etc.). Trajectory planning problems in automatic assembly on the strategical control level might be solved by various approaches. These approaches employ different models of robots. Let us briefly mention some of these approaches. The majority of approaches to trajectory planning use geometric models of robots. The most commonly used approach is the so-called configuration space method. 4'5 This approach reduces the problem of moving the object in complex environments to a problem of planning "safe trajectories" of a point. To achieve this reduction the size of the uncontrolled objects (obstacles) is increased by the size of the moving (controlled) object; concurrently, the size of controlled objects (payload, gripper and links of the robot) is decreased into points (see Fig. 2). The
N
1I
Fig. 2. Configuration space method. trajectory of the point therefore must be planned in the allowed configuration space. To solve this problem various artificial intelligence methods can be used. One method to solve this complex problem is by configuring three searching algorithms in a configuration graph. 6 Although this approach is rather complex, it is problematic in that it takes into account only the geometric properties of the robot.
The more complex methods use kinematic models of the robot. For example in Ref. 7 the decoupled kinematic model of the robot (which takes into account maximal velocities and accelerations of the external coordinates of the robot) is used to optimize the robot's trajectory through a set of given points. (Actually, in Ref. 7 the problems of moving the robot in complex environments is not solved, but the method used in this paper can be utilized to plan a "safe trajectory" in allowed space). This model is significantly better than the previously mentioned geometric model but, obviously, it requires much more computational effort. To account for the dynamics of the robot in trajectory planning, we must consider dynamic models of the robot. One of the approaches which uses a dynamic model of the robot is the method by potentials, s In this approach, potential is considered to be a function of the robot work space points; the robot moves in a field of forces; the final position to be reached is an attractive pole for the robot, while the obstacles are repulsive surfaces. This approach is less suboptimal than previous approaches since it includes a dynamic model of the robot but its implementation in complex configuration space is rather difficult. The main obstacle to trajectory planning at the strategical control level of the robot is that it requires a long computational time and/or a powerful computer system. A better solution to trajectory planning can be achieved if we use a more complex and more precise model of the robot. However, the more complex models require more computation for solution of the problem 3. NEW SOLUTION TO THE STRATEGICAL CONTROL LEVEL To reach a workable solution to the problem of trajectory planning for an assembly task (as well as for other robotic tasks) which does not require a complex and expensive computer system, but does allow better performance of the system, we propose a new approach to strategical control level synthesis. The approach can be briefly described as follows: • The problem is first solved using an approximate model, if time does not permit solution of the problem with an exact model and with available computer equipment. • If the process repeats (as is very often the case), we approach the problem using a model more in accord with the time available for computation in the next iterations. The new approach to the strategical control level consists of three sublevels (Fig. 3):
Application of robots in assembly automation • M. VUKOBRATOVI(~and D. STOKIt~
Control task
,
I. Sublevel
Identification of task
Expert
Determination of available computing time
system
l
I KnowLedge base
:
Selection of a pproximat ive model and algorithm
! f
Base of m o d e l s / and a gor thms J
1
2. SubleveL JTrajectory planning according J ' to selected model and ~ algorithm I
1
/
3 Subtevel Identification of model parameters and algorithm improvements
I
JLower control revels '
i
I '
'
Fig. 3. Strategical control level.
• The first sublevel represents an expert system to identify the robotic task (imposed by the higher control level or by the operator); to then determine the time available for computation and solution of the trajectory planning problem; according to the time available, the expert system then selects the model of the robot and type of environment and selects the algorithm to solve the given problem. • The second sublevel approaches trajectory planning already supplied with the selected model of the system and selected algorithm. The solution found on this sublevel is sent to lower control levels of the robot (tactical control level). • The third sublevel identifies parameters of the robot and environment models using information on the behavior of the real system. This sublevel obtains information from sensors about the performance of the robot and thus improves the models of the robot and environment and improves algorithms for the solution of the trajectory planning problem. In order to accomplish the proposed strategical control level two data bases must be established. First, the expert system to identify the robotic task and select the model and the algorithm need a knowledge base. The second base consists of various models of the robotic system and environment and various algorithms for trajectory planning problems. Among the algorithms for trajectory planning we include methods of artificial intelligence. The con-
177
trol system is built to be used for various robotic systems (with various structures and parameters). In the initialization phase the geometric, dynamic and other parameters of the robot are set, and the system must automatically generate various models of the robot: geometric, kinematic or dynamic. The data base of various algorithms is also established. When the expert system identifies the control task, it selects the model of the system and the algorithm which can solve the task within the available time (dependent on the complexity of the model and algorithm and the available computer capacity). The control task is approached on the second sublevel and sent to lower levels of the robot controller. The third sublevel observes the execution of the task (according to the selected solution) and improves the models and algorithms in the data base in accordance with real system performance. If the task is repeated, the controller has more time to find a better solution; the expert system can select better (more complex) models and better algorithms and substitute them at the second sublevel to re-compute the path of the robot. By this approach to synthesis on this level we can improve the solutions on the strategical control level but avoid the application of a more complex computer system. Thus, we must establish various models of the robotic system to solve the trajectory planning problem in robotic assembly tasks. Let us briefly consider several dynamic models of the robots which can be used to apply robots to the automatic assembly task. The control task is usually set in external coordinates, i.e. the coordinates of the robot gripper with respect to the absolute coordinate system. The connection between the external coordinates s of the robot and internal (joint) coordinates q is given by" s : f(q).
(1)
Here, q is the vector n x 1, where n is the number of joints (degrees of freedom of the robot) s is the vector m x 1, where m is the number of external coordinates (m <~ n). Since the robot is controlled by internal (joint) coordinates, we must determine internal coordinates q0 from the given s o external coordinates. However, the inverse function of Eq. (1) cannot be determined in analytical form (generally). Nevertheless, q might be determined from Eq. (1) using various numerical methods. Thus we can map the given task into internal coordinates and then use the model in joint coordinates for trajectory planning. Various dynamic models of the robots might be used for automatic assembly tasks. The complete
178
Robotics & Computer-Integrated Manufacturing • Volume 4, Number 1/2, 1988
dynamic model in joint coordinates might be written in the following form. 9 The mechanical part of the system S M is described: L
S~4: P : H(q)O + h(q, cl) +j ~_16jCjRj
(2)
where P is the n × 1 vector of driving torques, H(q) is an n x n inertia matrix, h is an n × 1 Coriolis vector, centrifugal and gravity forces, Rj is the 3 × 1 vector of the reaction force in the jth contact point between the object in the robot gripper and the hole (obstacle), Cj is an n × 3 transformation matrix, and 6j is the Cronecker symbol (6j = 0 if there is no contact in the jth point, and 6j = 1 if there is a contact between the object and whole, see Fig. 4). In Eq. (2) L represents the n u m b e r of possible contacts between the parts being assembled.
RI
0
pute the matrix H and the vector h for a given q and q. 10
Instead of this complex complete model we may use various dynamic approximations which partially take into account the dynamic performance of the robot. The most convenient approximation is a decoupled model in the form: L
j(i = ~Jlixi q_ ~W(U9 + f'(h, + E ajCoRi)
where A i is an n i X F/i matrix, Bi, f i are ni × 1 vectors given by A i = (1,~ - f i F I j ~ ) 1A', Bi = (I,~ -
f~f-l,T~)-lb ~, f ~ = ( L i - f i H , T i ) lfi, Cj = [Cij], Co are 1 × 3 transformation vectors, /7~i is the constant estimation of the elements H , in the inertia matrix H, and hi is the constant estimation of the element hi in the vector h. In the decoupled model Eq. (4) the cross-inertia terms and centrifugal and Coriolis forces are neglected. Thus, we obtained a rough approximation which is much simpler than the complete model of Eqs (2), (3). However, the main problem in the application of the simple decoupled model of Eq. (4) is that we must map the given control task from external space into joint space. To avoid this problem, we may consider the model of the robot in external coordinates. We can set the complete dynamic model of the system in an external coordinate system, which is analogous to Eqs (2), (3), but which is even more complex. Thus, we may use the decoupled model of the robotic system in external coordinates. It can be shown that the decoupled model can be written in the form: (1 - 6i)[(b~)-' + m 0 ] ~ ~ + 6 i R i = N ( v i) (1
- - ~i) E ( b 2 )
The models of the actuators which drive the joints of the robot are given by: i = 1,2,...,n
1 q_
i = 1,2,3
Jpi_3]~i q_ 6,M~ 3 = U(v i) i = 4,5,6
Fig. 4. Reaction forces in the insertion process.
Si: ~' = A~x i + b'N(u i) + fiPi,
(4)
/=1
(3)
where x ~ is an n~ x 1 vector of the actuator model state, A t is an n~ x n~ matrix, b~,fi are n~ x 1 vectors, u i is the actuator (scalar) input, N ( u i) is the nonlinearity upon the ith input of the amplitude saturation type, n~ is the order of the ith actuator model. By combining the models of the actuators, Eq. (3) and the model of the mechanical part of the system Eq. (1), we get a complete model of the system. 9 However, this model might be too complex for solving the solution of a trajectory of a planning task because it requires many additions and multiplications to corn-
(5)
where /~ is the element of the vector b~, mp is the mass of the object, Je is the m o m e n t of inertia of the object, Jp = (Jpl, Jp2, Jp3) T ~- (Jpx, Jpy, Jpz) T, Ri is the reaction force acting upon the working object along the ith axis (i = 1 corresponds to the x axis, i = 2 to the y axis and i = 3 to the z axis), M~ is the m o m e n t due to reaction forces around the ith axis, v~ is the scalar "equivalent input" for subsystems in external coordinates which can be obtained by:
v = Jv
(6)
where J is an m × n Jacobian matrix defined by J = [Jij] Jij = bqj - fi is the ith element of the vector function f in Eq. (1),/~i represents the vector b k for which Jikb~ = max Jiibiz. Now, we can use the model i~l Eq. (5) to solve the problem of path planning for
Application of robots in assembly automation • M. VUKOBRATOVI(~and D. STOKI(~ automatic assembly directly in external coordinates. This approach is obviously much simpler and requires less than the approach using models in internal coordinates. This solution is also much more conservative since it neglects many effects (for example, constraints upon the "inputs" of the "external subsystems" might be taken as approximations, coupling is neglected etc.). However, using the model in Eq. (5) we can easily establish the connection between the path of the robot s and reaction forces between the object and hole (Fig. 4). The problem of planning the robot trajectory so as to achieve parts assembly (in accordance with sensor information) can also be more easily solved thus than by mapping the path from external coordinates into internal coordinates and solving the problem using models in joint coordinates. Once the problem is solved using Eq. (5), the desired path is sent to the tactical control level which computes joint trajectories, and the executive level ensures their realization. If the task repeats, in the next iteration the strategical control level might use the decoupled model in joint coordinates Eq. (4) to improve the previous solution. (In doing this it might use this previous solution obtained at the strategical and tactical control level.) If the task repeats many times, and if sufficient computation time is available, the complete centralized dynamic model of the system Eqs (2), (3) might be used to improve planning of the robot path in the automatic assembly task.
179
The second important problem in automatic assembly by robots, as already mentioned in the Introduction, is the reduction of the reaction forces which appear between the parts being assembled by the robots. Path planning on the strategical control level must ensure that there will be no undesired contact between the parts and must prevent jamming of the parts. To solve this problem we must compute the path of the robot using information on reaction forces R and moments M R. If the parts being assembled are perfectly positioned and modelled, there are no reaction forces between these parts. Unfortunately, no matter how well the path is planned, in practice it is impossible to avoid contact between the parts being assembled. This is due to some uncertain object parameters, produced by imperfect tracking of the desired trajectories etc. Thus, it is not possible to avoid reaction forces.
Undesirable reaction forces can be reduced in various ways. The first is by on-line change of trajectories, as already explained above, 4'n in relation to errors in tracking or by estimation of forces) 2 However, this m e t h o d is restricted by imperfect geometric and kinematic robot models; the recalculation of the trajectories might be unreliable. So-called compliance devices which are added to the robot's gripper 13 can also reduce reaction forces. These are special passive mechanical devices made of strings which allow very efficient assembly of the mechanical parts. The main drawback of these devices is that they are not reprogrammable, so they cannot be used for various parts and tasks, and the flexibility of the robotic system is lost. There were some attempts to make so-called active compliance, which is reprogrammable and efficient. The most commonly used approach to reduce reaction forces in automatic assembly by robots is the introduction of force feedback. Actually, the forces measured in various points on the robot and feedback loops are established to reduce the reaction forces. The various approaches to the positions of force transducers on the robot and control laws include force feedback.14-19t We shall not survey the various approaches. Force feedback efficiently reduces reaction forces, although compliance devices are much better and faster. However, force feedback allows reprogramming, which is its main advantage over compliance devices. The main problem with the application of force feedback is that the feedback gains must be carefully selected and adjusted to prevent oscillation of the gripper due to force feedback. Several experiments have studied the application of force feedback in robot control. We have established the insertion process by the UMS-2 domestic industrial robot and have considered the most delicate phase of the assembly process: the insertion process (or so-called peg-in-hole process). The force transducers are mounted on the robot's gripper at the points of contact between the robot and the object (peg). By measuring the forces at contact points between the gripper and peg we obtain direct information about the reaction forces between the peg and hole. 2° By direct force feedback we can reduce the reaction forces, but this reduction depends on the choice of feedback gain. Figure 5 presents the relation between the (measured) reaction forces and the force feedback gain. Figure 5 presents the relation between the (measured) reaction forces and the force
tin the above mentioned approach by force feedback might be also utilized if the trajections are change, but it is
used on strategical (or tactical) control level; here we refer to approaches on the executive level.
4. REDUCTION OF REACTION FORCES IN THE ASSEMBLY PROCESS
180
Robotics & Computer-Integrated Manufacturing • Volume 4, Number 1/2, 1988
Z g E
t~
II
r 05
J I K IG
Fig. 5. Maximum reaction force v. force feedback gains. feedback gain is increased. However, if we increase feedback gain over some critical value the reaction forces begin to increase due to oscillation caused by force feedback. Thus, the implementation of force feedback in automatic assembly by robots can be very efficient, but it must be carefully studied.
REFERENCES 1. Popov, E.P., Vereschagin, F.A., Zenkevich, S.L.: Manipulation Robots: Dynamics and Algorithms (in Russian). "Scientific Fundamentals of Robotics" Series, Moscow, Nauka, 1978. 2. Vukobratovi6, K.M., Stoki6, D.M.: One engineering concept of dynamic control of manipulators. J. Dynam. Syst. Meas Control Trans. ASME 103: 108-118, 1981. 3. Vukobratovi6, K.M., Stoki6, D.M.: Control of Manipulation Robots: Theory and Application. Monograph, Berlin, Springer, 1982. 4. Lozano-P6rez, T., Mason, T.M., Taylor, H.R.: Automatic synthesis of fine motion strategies for robots. Int. J. Robotics Res. 3: No 1 1984. 5. Lozano-P6rez T., Wesley, M.: An algorithm for planning collision-free paths among polyhedral obstacles. Commun. ACM 22: 560-570, 1982. 6. Zapata, R., Coiffet, P., Fournier, A.: Trajectory planning for a multi-arm robot in an assembly task. Digital Sys Ind. Aut. 2: 1984.
7. Luh, J.Y.S., Lin, C.S.: Optimum path planning for mechanical manipulators. J. Dynam. Sys. Meas Control 102: 142-151, 1981. 8. Khatib, O.: Dyamic control of manipulators in operations space. 6th IVI'oMM Congress on Theory of Machines and Mechanisms, New Delhi, 1983. 9. Vukobratovi6, K.M., Stoki6, D.M., Kir6anski, N.: Non-adaptive and Adaptive Control of Manipulation Robots. Monograph, "Scientific Fundamentals of Robotics" Vol. 5, Berlin, Springer, 1985. 10. Vukobratovi6, M., Kir6anski, N.: Real-time Dynamics of Manipulation Robots. Monograph, "Scientific Fundamentals of Robotics" Series, Vol. 4, Berlin, Springer, 1985. 11. Zapata, R., Shariat, B., Jouvencel, B., Dauchez, P., Coiffet, P.: An automatic complex assembly with two complaint arms, force feedback and vision. Proceedings of lASTED '83, Lugano, 1983. 12. Okhocimskii, E.P. etal.: Investigation of Multioperation Assembly Using Experimental Robotic System (in Russian). Moscow, Nauka, 1985. 13. Drake, S.H.: Using compliance in lieu of sensory feedback for automatic assembly. Ph.D. thesis, MIT, 1977. 14. Whitney, E.D.: Force feedback control of manipulation of fine motions. J. Dynam. Syst. Meas. Control Trans. ASME 91-97, 1977. 15. Simonovi6, S.N.: Force information in assembly process. Proceedings of the 5th International Symposium on Industrial Robots, Chicago. 16. Raibert, H.M., Graig, J.J.: Hybrid position/force control of manipulators. J. Dynam. Syst. Meas. Control Trans. ASME 103: 126-] 33, 1981. 17. Goto, T., Takeyasu, K.: Control algorithm for precision insert operation robots. IEEE Trans. Sys. Man Cybernetics SMC-10, 1980. 18. Vukobratovi6, K.M., Stoki6, M.D., Hristi6, S.D.: A new control concept of anthropomorphic manipulators. Proceedings of the Second Conference on Remotely Manned Systems, Los Angeles. 19. Stoki6, M.D., Vukobratovi6, K.M.: Simulation and control synthesis of manipulator in assembling technical parts. J. Dynarn. Syst. Meas Control Trans. ASME 1979. 20. Stoki~., D., Vukobratovi6, M., Hristi6, D.: Implementation of force feedback in manipulation robots. Int. J. Robotics Res. 4: 1985.