Simulation of robots in flexible manufacturing cells

Simulation of robots in flexible manufacturing cells

Robotics & Computer-lnteorated Manufacturing, Vol. 8, NO. 1, pp. 1-8, 1991 Printed in Great Britain • 0736-5845/91 $3.00 + 0.00 © 1991 Pergamon Pres...

796KB Sizes 0 Downloads 49 Views

Robotics & Computer-lnteorated Manufacturing, Vol. 8, NO. 1, pp. 1-8, 1991 Printed in Great Britain



0736-5845/91 $3.00 + 0.00 © 1991 Pergamon Press pie

Paper SIMULATION OF ROBOTS IN FLEXIBLE MANUFACTURING CELLS DRAGAN M. STOKI(~, M I O M I R K. VUKOBRATOVIC a n d DJORDJE B. LEKOVIC Institute "Mihajlo Pupin", P.O. Box 15, Volgina 15, 11000 Beograd, Yugoslavia

The simulation of robots within flexible manufacturing cells is considered in this paper. A software package has been developed for simulation of flexible manufacturing cells which include robotic systems. In order to improve the benefits of such packages, various models of robotic systems are provided: complete dynamic models, kinematic models of robots, and simple models in the form of finite automata. The user may select an appropriate robot model for simulation to meet his requirements. The advantages of such packages are discussed. An example of a flexible manufacturing cell which includes two robots is presented and the results obtained by various robot simulation models a r e glVeH.

1. I N T R O D U C T I O N Many software packages for the simulation of flexible manufacturing cells have been developed in the past several years. The benefits of using such software packages are numerous, For example, the simulation of a flexible manufacturing cell (FMC) may be used to speed up the design of an FMC on the selection of NC machines and robots; the simulation can also verify high-level control strategies. In the majority of software packages for the simulation of FMCs, robots and NC machines are usually modelled in the form of finite automata. 1'2 Such models of subsystems are useful for rapid testing of the highest control level of an FMC. By such models we may check the synchronization of all machines, conveyors, buffers and robots. This approach is usually satisfactory for NC machines, conveyors, etc., since their dynamics do not significantly influence overall system performance. However, this does not hold for robotic systems, due to their highly nonlinear dynamic behavior. Robot behavior depends on the dynamic regime and varies for various positions, speeds and accelerations of the joints) On the other hand, it is often required that the software package for simulation of an FMC answers the following questions: Could each robot in the particular FMC reach all desired positions in the work space (i.e. are all subsystems properly located in the FMC)? Is the organization of the robots correct? The software packages for the simulation of an F M C have to include kinematic models of the robots and geometric models of all subsystems. Many packages enable the testing of an FMC's "geometry", and there are quite a few that include kinematic models of robots. L4

However, to get complete and detailed insight into the behavior of robots, we have to simulate their dynamics. We may thereby estimate the time required for each operation (which reflects synchronization of the subsystems at the highest control level), see how accurately each desired path of the hand can be tracked (which reflects path planning level) and so on. In this paper we will describe various robot models that are included in our software package in order to show the benefits of these models in FMC design and control synthesis. The paper is organized as follows. In Section 2 the software package for the simulation of an FMC is briefly described; all modules of the package are listed and explained. Section 3 presents three types of models of robotic systems that are used in our package. In Section 4, an example of a particular FMC with two robots is presented and results of simulations of robots are given. Finally, the Conclusion presents the advantages of this software package. 2. BRIEF DESCRIPTION O F SOFTWARE PACKAGE FOR SIMULATING FLEXIBLE M A N U F A C T U R I N G CELLS The software package simulates various FMC's consisting of up to two robots, several NC machines, conveyers, buffers and various sensors. In the so-called initialization phase, the user has to prepare input data on all the subsystems of the FMC. The software package for the simulation of an FMS consists of several modules. Here we briefly describe these modules. (1) Module for simulation of the highest control level, i.e. the synchronization of all subsystems in the FMC. In the first phase of simulation package development, we adopted the concept of a nondynamic con-

Robotics & Computer-lntegrated Manufacturing • Volume 8, Number 1, 1991

trol of an FMC, which is realized by Petri nets. Using Petri nets, it is possible to achieve the synchronization of all subsystems within an F M C in a relatively simple way. However, in future work we intend to include socalled dynamic control of an F M C at the highest control level: control of an F M C that takes into account the dynamic charcteristics of subsystems (especially robots). The other modules are independent of the module for simulating the highest control level. (2) Module for simulation of N C machines, conveyers and buffers in terms of finite automata. The package allows for an arbitrary number of NC machines and conveyers. During simulation the user may impose various failure modes for each machine. (3) Module for simulation of sensors of arbitrary locations in the workspace. In the first phase of simulation package development we have included three types of external sensors (sensors that are not mounted on robots and NC machines): tactile sensors, proximity sensors and cameras. We have also included various types of internal sensors (potentiometers or shaft-encoders in robot joints, tachometers, accelerometers, tactile sensors, on-off sensors, etc.). The user also may impose failures on each sensor to test the behavior of the control system. (4) Module for graphic presentation of the FMC. By this model, the user sees a visual presentation of the scene in terms of 3-D graphics. Each subsystem (e.g. robot, N C machine, conveyer, etc.) may be represented by a set of regular geometric bodies. The user can specify the drawing of a scene at an arbitrary moment during the simulation, or he may request graphical representation of the scene at discrete moments (e.g. the scene may be represented at 0.5 s intervals during simulation). (5) Main module for simulation of robots. The package enables the simulation of up to two robots of arbitrary type and structure. The module for simulating robots consists of several submodules. Each submodule simulates one level in the hierarchical control of a manipulator robot: The package includes various algorithms for path planning of the robot manipulator at the strategic control level. 6 By these algorithms, the robot controller (i.e. its strategic control level) plans the path of the robot hand in the presence of obstacles in the work space. The output of this control level is the path of the hand that has to be realized by the slower control levels. The next submodule simulates the so-called tactical control level of a robot controller. At this control level, the hand trajectory is mapped into joint trajectories. This control level has to solve the inverse kinematic model of a particular robot. For the selected structure of the robot, the package generates a kinematic model in symbolic form and automatically solves the inverse kinematic problem. 7 The output of the tactical control level is the desired trajectories of robot joints.





The submodule for the simulation of the executive control level allows for the simulation of various nondynamic and dynamic control laws for the manipulators. The t~isk of the executive control level is to realize desired trajectories of the robot joints which are imposed by the tactical control level. Using the separate module for synthesis of control for manipulation robots, s the user may synthesize various control laws for his particular robot and then simulate robot performance. The software allows for the synthesis and simulation of nondynamic control laws consisting of local servos around the robot joints. 5 However, dynamic control laws may also be synthesized and simulated. For example, the synthesis and simulation of global control in the form of force feedback or online computation of robot dynamics is included, 3'9 as well as control based on the computed torque method, 1° robust control, xl etc. The package simulates microprocessor implementations of control based on specified sampling periods. The output of the executive control level is a set of control signals for actuators driving the robot joints. The submodule for simulation of the robot performance includes various models of the robot. These models are discussed in the next section.

In Fig. 1, a rough flowchart of the software package is given. In the following we will concentrate on various models for simulating robot performance.

3. MODELS OF MANIPULATION ROBOTS As we have mentioned in Section 1, our software package includes three general types of robot models.

3.1. Finite-automata model of the robot The simplest model of a robot may take the form of finite automata. This means that the model of robot accepts commands from the highest control level (e.g. commands like "move", "grasp", "stop", etc.) and it attempts to reply after a certain period of time, that the command has been executed. The model may also respond that the command has not been executed due to some failure in the robot system. The problem is to determine the time the robot requires to execute a certain command. For example, the duration of execution of the command "move from one position to another" depends on the distance between the terminal points and on the robot's capabilities. In order to get an estimate of the time required to execute a certain command, we introduce a simple model that describes the movement of the robot hand. The motion of the robot hand is described by the velocity and acceleration of the hand's center of mass (or some other selected point on the hand) and by three rotational velocities and accelerations (e.g. velocities of Euler angles of the hand with respect to axes

Simulation of robots in flexible manufacturing cells • D. M. STOKI(~et al. I

[

Block for imposing data on FMC structure (number and types of NC machines, robots, conveyers, buffers, sensors etc.)

t

Finite automata Set data on estimates on robot speed

Kinematic model Set data on robot structure and geometry - generating of symbolic kinematic model - path planning algorithms generating of geometric model of robot - set data on estimates of robot speed and accuracy

I

Dynamic model Set data on robot kinematic and dynamic and dynamic parameters generating of simbolic dynamic model - set data on actuators - selection of control law and parameters for servo level - generating of programs for simulation of servo level

_

T

Block f o r generating geometric models of various subsystems 1 in robot working space - graphical representation of FMC

I

SIMULATION

I

Simulation of the highest control level (by direct user programming or by Petri nets, etc.)

]

I

Simulation of NC machines, buffers, conveyers,

[

I i

sensors

SIMULATION OF ROBOT(s): Finite automata model: duration of hand motion

th planning solution lj t

I Solution of inverse kinematic problem

" I Kinematic model: "perfect" tracking of desired j o i n t trajectories is assumed

[

model:l

l Dynamic Simulation of servo level

!

[ Simulation of l | actuators and robot dynamics

I

Fig. 1. Global flow-chart of FMC simulation.

of the absolute coordinate system). Actually, we describe the hand motion by velocities and accelerations of the so-called external (Cartesian) coordinates of the robot. 12 We suppose that the robot hand can move with some prescribed maximum velocities and accelerations; and using these velocities, we estimate the duration of each movement of the robot. If the external coordinates are s = (xo, Yc, zo, 0, (k, ~)r where x¢, Yc, zc are the Cartesian coordinates of the selected point on the robot hand with respect to the absolute coordinate system, and 0, ~, ~b are Euler angles of the robot hand, then we assume that the maximum velocities and accelerations of external coordinates are given as follows: +

+

<

0 < 0m, < (.~ + .~ + e~) '/2 < a ,

Using these maximal velocities and accelerations, we estimate the duration td for moving from initial point So to the final point sf. The motion of the robot hand is actually simulated by the following: X(t) = x o + am(t - - to)2/2, t < t 1 x ( t ) = x o + am(t1 - - to)2/2 + Vm(t -- t l ) , t l < t < t 2 X(t) = X o + a m ( q - - t o ) 2 / 2 + v ~ ( t 2 - - t l ) + Vm(t -- t2) -- am(t - - t2)2/2, t2 < t < t 3

(2)

t l = v ~ / a m + to, t2 =(Xf -- Xo)/Vm + to, t 3 = t 2 + vJam.

We assume that t 2 > tl (i.e. v ~ / a m < (xf - xo)), that the movement starts at the moment to; s o = (Xo, Yo, Zo, 00, (ko, ~ko)r are the coordinates of the initial point, and sf = (xf, yf, zf, 0f, ~f, ~f)2 are the coordinates of the final (desired) point of the robot hand. Equations (2) hold for the first coordinate x¢ in the vector of the external (hand) coordinates s. Similar

Robotics & Computer-IntegratedManufacturing • Volume8, Number 1, 1991 equations hold for the rest of the five external coordinates. Using Eq. (2) we get the time td required for execution of the desired movement from point so to point sf. Thus, in our simulation package, when the highest control level commands the robot to move from its present (initial) point So to some desired point in external coordinate space sf, the software computes the duration according to Eq. (2). After this time period has passed, it sends information to the higher level that the desired movement has been executed. (Obviously, this holds if the user has selected this simple model to represent the robot in the simulation.) In this model, internal (joint) coordinates of the robot are not computed at all. The entire robot is replaced by a single body (hand), the movement of which is described simply by maximal linear and rotational velocities (i.e. by Eqs. (1)-(2)). The main advantage of this model is its extreme simplicity. The time required for simulation of such a model is very short, since its computation at every integration interval requires only a few multiplications and additions. This model is useful if the user wants to test the highest control level of the FMC, i.e. if he wants to check the synchronization of all subsystems in the FMC. By this model, the user may quickly test the behavior of the complete F M C if some failures appear in subsystems. However, the main drawback of this robot model is that it gives only a rough estimation of robot performance. The time required for certain motions, as estimated by Eq. (2), may be very rough so that synchronization with other subsystems may be suboptimal (from the standpoint of time required for execution of the overall task). On the other hand, this model can be used just to test the highest control level of the FMC. But we cannot test the controller of the robot, nor can we obtain information on the robot's capabilities. It should be noted that this model may be used to roughly check path planning algorithms, treating the robot as a point (point at the robot hand) that should move between the obstacles. This means that all NC machines, conveyers and other obstacles in the work space are modelled by the regular geometric bodies and the path planning algorithms (at the strategic level of the robot controller) plan the movement of the robot tip in its work space. However, such algorithms are extremely suboptimal since they neglect the robot geometry. 6 It also should be noted that the model 2 may be improved. Instead of fixed values for the maximum velocities of the robot hand vm, 0m, q~m,~bmWecan take variable values which depend on the robot position s. Also, it is possible to take into account acceleration and deceleration phases of each movement. 3.2. Kinematic model of the robot In order to test strategic and tactical levels in the robot controllers and to obtain information on a robot's kinematic capabilities, we introduced the kinematic model of the robot. The kinematic model of the

robot describes the relation between the angles (displacements) of the robot joints and the robot hand (external) coordinates. If by q we denote the n × I vector of the robot internal (joint) coordinates (n is the number of the robot simple joints), we can write the relation between the vector s of external coordinates and q as s =f(q)

(3)

where f is a function that maps the n × 1 vector q to vector s (the number of external coordinates could be less than or equal to 6). Equation (3) represents the socalled direct kinematic model of the robot. The highest control level usually specifies the desired movement of the hand. Hence, the tactical control level has to compute the joint coordinates q by solving the inverse kinematic problem q = f - l(s).

(4)

Once the trajectories of the joint coordinates are computed, they have to be realized by the executive control level. In our package, if the user simulates the robot behavior just by the kinematic model, it is assumed that the desired trajectories of the robot joints (which are computed at each sampling interval by the tactical level of the robot controller) are perfectly realized. The tactical control level is completely simulated (as well as the strategic control level), and it is assumed that the realized joint trajectories q(t) are equal to desired (nominal) trajectories. The package checks only whether the desired accelerations O°(t), velocities S°(t) and angles (displacements) q°(t) could be realized by the actuators in the robot joints. In other words, the simulator checks whether [q°(t)l < ~ird, [/l°(t)[ < qiM, qim < qO(t) < qiM, i = 1, 2 . . . . . n

(5)

where/liu is the maximum acceleration of the ith joint, ~r~ is the maximum velocity of the ith joint, and qim and q~u are the minimum and maximum angle (displacement) of the ith joint. If the conditions (5) are met, it is assumed that the desired trajectories of the robot joints are perfectly realized. Otherwise, the desired movement of the robot must be decelerated (or it must be changed if the required angles are o u t of the allowable range). Using computed trajectories of the robot joint coordinates q°(t) and using limits (5) upon the joint accelerations, velocities and angles, the simulation model determines whether the motion set by the higher control level can be met or not, and estimates the duration of the movement. Using this model, the user can test whether the robot hand can reach all required positions in the cell and whether the required movements of the robot are feasible. In other words, the user may test whether the robot can find collision-free paths between the desired positions. By this, one can select the "optimal" location of the robot and other subsystems in the cell. One can check the capabilities of the selected robot (from the "geometric point of view") to perform certain

Simulation of robots in flexible manufacturing cells • D. M. STOKId:et al.

tasks within the FMC. Therefore, this model may be used to select an appropriate robot structure for a specific F M C (i.e. select the most appropriate robot for the specific FMC, or design a new robot if necessary). Also the kinematic model may be used to redefine the subtasks assigned to a robot. The problem of robot redundancy may be solved by this model, as well as the problem of avoiding singular points in a robot trajectory. It is obvious that the kinematic model gives better estimates of the robot performance and capabilities than the finite-automata model. However, the estimate of the robot speed for accomplishing certain movements may be very rough, since it is based on inequalities (5) in which rough estimates of the allowable joints velocities and accelerations are used. Since the constraints upon the joints velocities q~u and accelerations /J~ra must cover all possible configurations of the robot, they may be too conservative. These constraints do not account for actual capabilities of the robot actuators and the actual dynamic load upon them, but only consider some rough estimates of the allowable joint velocities and accelerations. Therefore, the estimates of the time required by the robot to execute certain commands may be rough, and the coordination among the subsystems within the F M C may be suboptimal. The kinematic model of the robot can be used to test in detail both strategic and tactical levels of a robot's controller. However, the servo level of the robot controller cannot be tested. It should be noted that the above model may be improved if, instead of fixed values for joints maximal velocities and accelerations, we introduce variable values that depend on the robot configuration q. This model may also be used to test the interpolation of the robot trajectories, i.e. the so-called primitive level of the robot controller. 13

3.3. Dynamic model of the robot In order to test the complete robot controller and the F M C , we can use the dynamic model of a robot. 14 The dynamic model of the robot consists of the model of mechanical part of the robot (mechanism) and the model of actuators driving the robot's joints. The model of the mechanical part of the robot is usually assumed to be in the form

P = H(q)i~ + h(q, dl)

(6)

where P is the n x 1 vector of driving torques in the joints, H is the n x n inertia matrix of the mechanism, h is the n x 1 vector of centrifugal, Coriolis and gravity moments (forces) around the axes of the joints. Various types of actuators are applied to drive robots: D.C. electromotors, A.C. electromotors, hydraulic actuators, pneumatic actuators, etc. The models of actuators are generally nonlinear; but for the D.C. motors (which are still most often applied for industrial robots) a linear state model may be

5

adopted: ~i = A i x i -k biu i q-

fiPi, i = 1, 2 . . . . . n

(7)

where x ~= (q~, qi, iai) r is the 3 x 1 state vector of the ith actuator model, iRi is the rotor current of the ith D.C. motor, u~ is the scalar input to the ith actuator, P~ is the driving torque (load) in the ith joint, A~ is a 3 x 3 matrix, while b ~and f i are 3 x 1 vectors. The connections between the models (6) and (7) (through the state coordinates qi, ~ and driving torques P~) are evident. The robot controllers generate the input signals for the actuators according to the selected control law at the executive (servo) level:

ui(t) = gi(x(t), x°(t))

(8)

where x is the state vector of the overall system: x = (x 1, x z. . . . . xn) r and x°(t) is the nominal state vector that corresponds to desired joint trajectories q°(t), which are imposed by the tactical control level (according to (4) and robot hand trajectory s°(t) imposed by the strategic level). In (8) g~ denotes the selected control law for the ith actuator. For example, if a simple local servo is applied to control the ith joint, then

gi(x(t), x°(t)) = - k r ( x i ( t ) - x°i(t)) where ki is a 3 x 1 vector of local servo feedback gains. To this local servo control law we may add a feedforward term (nominal control), 9 which is computed using either the entire dynamic model of the robot (namely, (6) and (7)), or using only the model of actuators (7), in which the dynamic coupling fip/ between the joints is ignored. This control law is the most frequently implemented in practice and is satisfactory for robot positioning and tracking of relatively slow trajectories. However, to improve the accuracy of the desired nominal trajectories of the joints q°(t), we may implement more complex dynamic control laws. For example, we may apply global control on top of local servo signals, so that the control law is in the following form: 9,1s u,(t) = -kT(x'(t) - x°i(t)) + u°(t) + k~Pi

(9)

where u°(t) is a (centralized or local) feedforward term, k~ is the global feedback gain for the ith joint, and P~is the value which represents the information on actual coupling between the joints P~(t). This information may be obtained in two ways: by force feedback, or by on-line computation of the robot dynamic model. By measuring torques (by force sensors), we obtain direct information on coupling between the joints. The second solution requires on-line computation of the dynamic model of the robot (6), or some approximate models of the robot may be adopted. 15 As mentioned above, other types of dynamic control laws may be simulated by our software package. A separate software package may be used to synthesize control parameters for the selected control law, s and then, by simulating the complete FMC, we can verify

6

Robotics & Computer-Integrated Manufacturing • Volume 8, Number 1, 1991

whether the synthesized control law meets all specific requirements for the particular FMC. The effects of these dynamic control laws are to improve the accuracy of simulating trajectories and to increase the speed. The tracking accuracy of the desired (nominal) trajectory is usually constrained by the required robot speed: if the trajectory is relatively slow, even a simple servo may ensure sufficiently accurate tracking. However, if the speed of the desired movement is increased, the accuracy is decreased. The dynamic control low improves the accuracy of trajectory tracking even for high speeds. On the other hand, the settling time, referring to the time the robot comes to rest at a required terminal point, depends on the applied control law: dynamic control laws may considerably reduce the settling time. However, the relation between a robot's speed and accuracy depends on the specific movements and the task. For each particular movement, this relation between the accuracy and the speed may vary, although the control system tends to achieve uniform performance for the robot over all regimes. On the other hand, requirements regarding the accuracy and the speed of the robot vary depending on the specific task (for example, the accuracy is much lower if the robot has only to place a workpiece on a conveyor than if it has to accurately place a workpiece at a certain location). The simulation of the robots within the FMC does not include these dynamic effects. Hence one cannot get complete insight in the robot's actual capabilities. This may yield at least two negative consequences. The designer of the system may not utilize all the features of the specific robot. Further, the scheduling of subtasks dedicated to robots and other subsystems at the FMC control level may be suboptimal. Our software package supplies the user with accurate estimates of the robot's speed/accuracy ratio for each particular movement. If dynamic control of the robot is used, we can estimate the increase in this ratio. Therefore, the user can achieve optimal scheduling of the subtasks at the FMC's control level during off-line programming of the cell. On the other hand, for each particular movement (action) of the robot, we obtain the desired speed (if not maximal) and acceptable accuracy. We may therefore select the most appropriate controller, or optimize the robot's performance from the standpoint of energy consumption. In other words, this package reveals the relations between the higher and the lower control levels. Our package enables the simulation of dynamic models of various robots. The user has only to enter basic data on robot structure, geometry and dynamic parameters, and the package automatically generates the dynamic model 6 in symbolic form. 16 Simulation of the complete dynamic model of the robots and the entire controller may be time consuming, in spite of the fact that fast symbolic models of robot dynamics are used. Often it is not necessary to use the complete dynamic model. Approximate models may be used, in which certain dynamic effects may be ignored (e.g.

Coriolis or centrifugal forces). By this, the computer time required for simulation may be significantly reduced without affecting the accuracy of simulation results. It should be kept in mind that even complete dynamic models (6, 7) are an approximation of actual system behavior, since many effects (e.g. elastic modes of the robot's links) are not taken into account. However, the model (6, 7) is a more accurate representation of the robot's performance than the models in Sections 3.1 and 3.2.

4. AN EXAMPLE The developed software system has been tested on various types of robots and various FMCs. Here we shall briefly present an example of simulation of a particular FMC consisting of two robots, three NC machines, two buffers, two conveyers and several different sensors. The simulated FMC is presented in Fig. 2. We have developed a Petri net for control of this particular FMC. 17 First, we have simulated the performances of the FMC using the rough models of robots (see Section 3.1). Then, we applied the kinematic models of both robots to select the appropriate locations of the robots and ensure that all desired positions can be reached by the robots' end-effectors. The trajectories of the hand of the robot at the left side of the FMC are presented in Fig. 3. We have assumed the maximum speeds and accuracy for the robot servos. We estimated the duration of one cycle of task execution (time required between the entrance of a workpiece at the input conveyor and its exit at the output conveyor) at about 30 s. Then we simulated the complete dynamic models of the robots when local servos including feedforward terms are applied. 15 It was found that the robots can move faster in some movements and therefore we have been able to improve the synchronization of the entire cell and to achieve a cycle time of about 24 s. This means that an improvement of about 20~o has been achieved by simulation of the complete robot dynamics. In Fig. 4 the tracking errors of the joint trajectories are presented in the case where the first robot is forced to move faster than its nominal speed. During transfer between the desired end-positions of the robot hand, the tracking errors are high but they do not reflect execution of the complete tasks. When the robots approach their goal positions their end-effectors achieve desired positions with sufficient accuracy in spite of the high error developed during transfers. This means that these faster movements may be accepted. Further improvement may be achieved if we use dynamic control for the robot synthesis,s'15 By application of dynamic control laws, which include compensation for coupling between the joints, we may achieve more accurate tracking of faster trajectories and by this reduce the cycle time for the entire cell. The effects of control which include dynamic compensations upon the robot speed and accuracy has been explored in our previous papers. 3

Simulation of robots in flexible manufacturing cells I I D . M. STOKIt~et al.

7

Y

I

"*~x 5

\

8 // j

R2

ID, O O O D ODOD i -,2 I L-----

,', T2 ,', ,', 6

(g)

US

T1- Input transporter R 1 - Manipulator G - M i l l i n g machine BIBuffer1 S - Lathe

i

l~

(TV)

B2P T2-

TV-

Buffer 2 C a l i b r a t i n g press Output transporter Reject Visual ( T V . ) s y s t e m

US R2 ~_ ~-

~_

Controller Robot Grips ( c l o s e s ) Releases (opens)

Fig. 2. Example of FMC.

5. CONCLUSION The developed software offers some obvious advantages over existing software tools for simulation and design of an FMC. lsA9 As already mentioned, this package may be used either for design of various FMCs (selection of robots and other subsystems, allocation of robots in workspace, etc.), or for synthesis of a control strategy at both the top control level (programming of FMC) and at lower levels of robot controllers. It is obvious that simulation of robots using dynamic models requires much more processor time than simulation by the finite automata model and by kinematic models. Also, the simulation of dynamic models requires knowledge of all parameters of the robotic systems, which may complicate the user's job. When the model is precise, the data on robotic systems must be accordingly specific, but the benefits that should be expected from the simulation are also increased.

However, the user may use these model options step by step. First he may test only the highest control level using the finite automata model of the robot. This simulation is relatively fast and the user can test whether he can roughly coordinate all subsystems within his FMC. Actually, the user can program the sequence of subtasks (operations, movements of the robot hands, etc.); then the parallel actions are recognized and better synchronization and coordination of subsystems may be achieved, taking into account only rough estimates of the robot capabilities. Next, the user has to specify all relevant data for modelling the FMC geometry: geometric models of all subsystems, their locations, data on robot kinematics and so on. The execution of the FMC's tasks is simulated using robot models as in Section 3.2. By this, the path planning algorithms can be tested; also the trajectory generation level in the robots controllers and the coordination between the robots and other subsystems may be improved.

0,15

1.0

A--A

i/"l

w

X

-1.O

O.15

O

20

10 T i m e (s)

Fig. 3. H a n d trajectories of robot.

30

U

V

0

Ak----

8

16 T i m e (s)

Fig. 4. Errors in tracking of joint trajectories.

24

Robotics & Computer-Integrated Manufacturing • Volume 8, Number 1, 1991 Finally, the user has to provide data on dynamic parameters, as well as on the executive (servo) control level. Then the user can simulate the performance of the F M C using the dynamic model of the robots. By this, complete insight in robot capabilities may be obtained: how fast and accurately the robot can perform each particular movement. In this way, one can test whether the selected robot and its controller are capable of satisfying all the requirements for a specific FMC. The control at both the path planning level and the servo level m a y be improved in order to meet these requirements. On the other hand, synchronization and coordination of the robot(s) with the o t h e r subsystems can be significantly improved. Actually, such simulation enables programming and control at the highest control level of the F M C in such a way that the actual dynamic capabilities of the robots are taken into account.

REFERENCES 1. Vojnovit, M. et al.: An ESPRIT project in advanced robotics. 3rd International Conference on Advanced Robotics, '87 ICAR, Versailles, October 1987. 2. Zenkevich, S. L., Dimitriev, A. A.: Mathematical and program support for adaptive robots for assembling. The Second Yugoslav-Soviet Symposium on Applied Robotics and Flexible Automation, Arandjelovac, 1984. 3. Vukobratovit, M., Stokit, D.: Is dynamic control needed in robotic systems and if so, to what extent? Int. J. Robotic Res. No. 2, 1983. 4. Spur, G. et al.: Planning and programming of robot integrated production cells. ESPRIT Technical Conference, Brussels, 1987. 5. Vukobratovit, M., Stokit, D.: Applied Control of Manipulation Robots: Analysis, Synthesis and Exercises. Berlin, Springer, 1989. 6. Stokit, D., Vukobratovit, M., Devedjit, V.: Expert system for synthesis of dynamic control of manipulation robots. CISM-IFToMM Conference on Robots and Manipulators, "Ro.man.sy 88", Udine, Italy, 1988.

7. Kirtanski, M. V., Vukobratovit, M. K., Kirtanski, N. M., Tim~enko, A. M.: A new program package for generation of efficient manipulator kinematic and dynamic equations in symbolic form. Robotica July 1988. 8. Vukobratovit, M. K., Stokit, D. M.: A procedure for interactive dynamic control synthesis of manipulators. Trans. Systems Man, Cybernetics Sept./Oct. 1982. 9. Vukobratovit, M. K., Stokit, D. M.: Control of Manipulation Robots: Theory and Application. Series: Scientific Fundamentals of Robotics, No. 2. Berlin, Springer, 1982. 10. Paul, R. C.: Modelling, trajectory calculation and servoing of a computer controlled arm. A. I. Memo 177, Stanford Artificial Intelligence Laboratory, Stanford University, September 1972. 11. Asada, H., Slotine, E. J. J.: Robot Analysis and Control. New York, Wiley, 1986. 12. Craig, J. J.: Introduction to Robotics: Mechanics and Control. Reading, MA, Addison-Wesley, 1986. 13. Albus, S. J., McCain, G. H., Lumia, R.: NASA/NBS standard reference model for telerobot control system architecture (NASREM). NBS Technical Note 1235, 1987. 14. Vukobratovit, M. K.: Applied Dynamics of Manipulation Robots: Modelling, Analysis and Examples. Berlin, Springer, 1989. 15. Vukobratovit, M., Stokit, D,, Kirtanski, N.: Non-adaptive and Adaptive Control of Manipulation Robots. Series: Scientific Fundamentals of Robotics, No. 5. Berlin, Springer, 1985. 16. Vukobratovit, M. K., Kirtanski, N. M.: Real-time Dynamics of Manipulation Robots. Series: Scientific Fundamentals of Robotics, No. 4. Berlin, Springer, 1984. 17. Jockovit, M. B.: An application of Petri nets in a control system of flexible manufacturing cells. Fourteenth Symposium on Microprocessing and Microprogramming, Zurich, 1988. 18. Vukobratovit, M., Stokit, D.: Software Package for Simulation of Flexible Manufacturing Systems. Technical Cybernetics, Moscow (in Russian), No. 3, 1989. 19. Stokit, D., Vukobratovit, M., Lekovit, Dj.: Modelling of robots and their environment in simulation of flexible manufacturing cells. IFAC Symposium on Information Control Problems in Manufacturing Technology, Madrid, 1989.