Professional Documents
Culture Documents
Institute for Robotics and System Dynamics German Aerospace Research Establishment (DLR), Oberpfa enhofen
Abstract
A detailed dynamic model of the industrial robot Siemens Manutec r3 is described. The parameters of the model have been acquired by measurements in our laboratory. Simulation results of the model are presented as generated by the ANDECS R simulation environment. The model serves as a demanding benchmark problem to test the modeling and simulation capabilities of robot simulation packages. It is also used to investigate computer aided methods for control system design and dynamic trajectory planning.
1 Introduction
In this paper a detailed dynamic model of the industrial robot Siemens Manutec r3 is presented. All important physical e ects are modelled: the multibody dynamics, the friction, elasticity, damping and backlash in the gear-boxes, the dynamics of the motors including the current controllers, the tachogenerators and the cascade controllers. All parameters of the model have been acquired by measurements in our laboratory by S. Turk 12, 7, 13]. The parameters of the position control loop of the cascade controllers have been estimated by P. Detzner 2], since they could not be measured due to their digital implementation. The purpose of this realistic model of an actual industrial robot is twofold: First, it serves as a demanding benchmark problem to test the dynamic modeling and simulation capabilities of robot simulation packages. In particular, it is checked whether all the important physical e ects of robots can be modelled. Second, the model is used to investigate computer aided methods for control system design and dynamic trajectory planning. Although the actual design is usually carried out on a simpler model neglecting some physical e ects like backlash, the design has to be evaluated on the basis of the complete model including all physical e ects.
For comparison, simulations of the model have been carried out using the ANDECS R simulation environment1 3, 10]. Reference trajectories for the simulations have been determined by multi-objective trajectory optimization by S. Lewald 5] using the ANDECS R optimization environment. The Manutec r3 model has been coded in Fortran 77 according to the neutral DSblock format 8]. This model implementation is available from the authors on request.
DLR.
Figure 1: Picture of the robot Manutec r3 1ANDECS stands for Analysis and Design of Controlled Systems and is a registered trademark of
joints. Each arm is driven by an electronically commuted motor and a gear-box consisting of steel gear wheels embedded in the preceeding arm. The position and rate of each motor is measured by an encoder on the motor's axis. The angle beetween two arms cannot be measured directly, it has to be calculated from the motor position and gear ratio of the corresponding gear-box. Thus primarily position and rate of the motors are controlled using decentral cascade controllers. Each controller has two loops. The inner loop is realized in analog technique and controls the motor rate. The outer loop is realized digitally and controls the motor shaft position. The arms are mechanically very sti , such that their mechanical elasticity can be neglected. The gear-boxes, however, contain elasticity, damping and backlash. That means there is elasticity, damping and backlash between the driving rotor of a motor and the driven arm. Furthermore, there is considerable dry friction in the gear-boxes and in the bearings of the rotors and revolute joints.
dq
d
q ,
dt
q,
r
d rq dt gear F d rq dt gear
r
q,
dq dt
a
a ,L
6
a
F
a
dq
d
q ,
dt
q,
q,
dq dt
a
a ,L
5
F
a
5
a
dq
d
q ,
q,
r
dq dt gear F dq dt
r r
q,
dq dt
a
dt
4
a
4
F dq dt
a
dq
d
q ,
q,
q,
a
dt
rotor + gear
3
F
3
dq
d a
q ,
q,
r
d rq dt F dq dt
r r
q,
a
dq dt
dt
2
a
rotor + gear
2
F dq dt
a
dq
d
q ,
q,
q,
a
dt
rotor + gear
1
F
da q d dt
controller + motor
Uforward
dt
KD
aq
rq
T=8ms
p
rq
KV
Ks
s T0 + 1 s(s Te + 1)
-a a
1
45 o
i 2
s+ i
2D i
s+1
-b
position controller
s Ta+ 1 sT +1 b
ut
KT
( 1 s+ 2D s+1(( 1 s+1 (
2
d rq dt
p2
rate controller
tachogenerator
rq
unit Arm 1 Arm 2 Arm 3 Arm 4 Arm 5 Arm 6 Position KV { 0.3 Controller Feedforward KD { 0.03 Controller KS { 340.8 T0 s 9:95 10?3 Rate s 0:56 10?3 Controller Te Ta s 40 10?3 Tb s 20:2 10?3 KT V s=rad 0.03 Tacho!p 1=s 2014 generator Dp { 0.294 !e 1=s 1180 KM Nm=V 1.1616 1.1616 1.1616 0.2365 0.2608 0.0842 !i 1=s 4590 5500 5500 6250 6250 7400 Motor and Di { 0.6 0.6 0.6 0.55 0.55 0.27 Current a { 0.094 0.094 0.094 0.022 0.096 0.044 Controller b { 9.0 r F jmax j Nm 9.0 jrF jnom Nm 4.0 r q jmax j_ rad=s 315 315 315 335 335 366 Gear ratio p { -105 210 60 -99 79.2 -99 Table 1: Parameters of controller and electrical part of motor
converted to an analog signal by a D/A converter (zero order hold). The sampling rate is 0.008 s. The maximum torque generated by the motor is limited to jr F jmax = 9Nm. This limit is allowed to be reached for short time intervals only. For continuous operations, the manufacturer recommends a (maximum) nominal torque of jrF jnom = 4Nm. The angular rate jr q_j of the motors is also limited by about 3000{3500 revolutions per minute (this corresponds to 315{366 rad/s, see table 1).
aqj r qj ar M ij ij
= = =
( (
a hi r hi
rr M
where a q j is the angular acceleration of joint j. r q j is the angular acceleration of rotor j with respect to the arm the rotor resides3 . pj is the gear ratio of the actuator driving joint j. r J j is the moment of inertia of rotor j with respect to its axis of rotation. a~ i is a unit vector which lies in the axis of rotation of joint i. n r~ j is a unit vector which lies in the axis of rotation of rotor j. n a F i is the applied torque acting in joint i, due to elasticity and damping in the gear-box. is the scalar product of two vectors.
2
In the equations, Einstein's summation convention is used. For example, aa Mij a qj 3rotor j is the rotor which drives joint j.
P6
j =1
aa
Mij aqj
The simpli cation asumption above corresponds to the neglection of the term p r J for every actuator. This assumption is justi ed, since the o -diagonal terms arMij are two order of magnitudes smaller than the diagonal terms (pj )2 r J j due to the high gear ratios pj . The model equations simplify considerably, because the equations of the rotors become decoupled from the rest of the multibody system. Furthermore, the friction torques appear in the rotor equations only and thereby are also decoupled from the rest of the multibody system. A similar assumption will not simplify the equations for the three outermost joints, since the elasticity in the corresponding gear-boxes is neglected in the model. In this case the joint and rotor angles are rigidly coupled by the equation rqj = pj aqj and therefore no decoupling of the rotor equations from the rest of the multibody system is possible. Consequently, no simplifying assumptions are made for actuators 4, 5 and 6. Since the rotors are directly coupled to the joints, the handling of sticking friction is signi cantly more di cult than for the rst three joints, as will be explained below. Figures 4 and 5 show the structures of the rotors and gear-boxes. The corresponding model parameters are given in Table 2. For joints 1,2,3 the simplifying assumption allows to include the rotor equation in the block-diagram (Figure 4). Due to the elasticity a spring constant c and a damping factor d is present.
rotor + gear
rq rq
d rq dt
1 s
45
drq dt
NL4
_
dq dt
1 s
Mi
r
Mh d rq i dt
sliding friction d rq =0 dt
r
d2 rq dt 2
1
r
NL 3
r
M
_ a
Mh
45
d rq =0 dt sticking friction
_
Figure 4: Rotor and gear model structure of joint actuators 1, 2 and 3 The dry friction model has, as usual, a discontinuous nonlinear characteristic: If the angular rate of the rotor is r q_ 6= 0: friction acts as an applied torque r M according to a nonlinear function which is approximated by two or three linearly interpolated points (r Mi; r qi in Table 2). If the angular rate is r q_ = 0, two possibilities exist: The friction acts as a
gear
rq
a
d rq dt
p
Mi
dq dt
Mh d rq i dt
sliding friction d rq =0 dt
r
NL 3
r
M
_
Mh
45
d rq =0 dt sticking friction 1
p
a
_ r
Figure 5: Gear model structure of joint actuators 4, 5 and 6 unit Arm 1 Arm 2 Arm 3 Arm 4 Arm 5 Arm 6 2 kg m 0:0013 0:0013 0:0013 { { { rad 0.01 0.06 0.0 { { { c N m=rad 43 8.0 58 { { { d N m s=rad 0.005 0.01 0.04 { { { p { ?105 210 60 ?99 79.2 ?99 r Mh Nm 0.4 0.5 0.7 0.27 0.5 0.17 r M1 Nm 0.4 0.5 0.7 0.22 0.38 0.11 dq1=dt rad=s 0 0 0 0 0 0 r M2 Nm 0.53 0.6 0.9 0.52 0.42 0.15 dq2=dt rad=s 160 130 130 300 100 360 r M3 Nm { 0.7 1.0 { 0.5 { dq3=dt rad=s { 360 360 { 300 { Table 2: Rotor and gear parameters
rJ
constraint torque r M , i.e. it compensates the sum of all other torques acting on the rotor (= r F ? ); and it forces r q = 0, provided the friction torque is less than or equal to the upper limit r Mh. If jr F ? j > r Mh the friction remains an applied torque but switches to the opposite branch of the nonlinear function. This e ect can be explained as follows: Assume that r q_ became zero from the positive side. This is only possible, if r q 0. Therefore r F ? < r M . Since on the other hand for jr F ? j > r Mh ,we have r F ? < ?r Mh , and hence r q remains less than zero, i.e. the angular rate r q_ becomes negative. In Figure 6 the computational treatment of friction is explained by a owdiagram. Note, that sign is the Fortran intrinsic function with the same name, and that r M1 is the value of the sliding
10
t = t0
d rq = dt 0 yes t=t+dt
r
no
F- <rM h yes
no
sticking friction
r
sliding friction
r
M = -( rF-)
M = -sign(rM1 , r F- )
M=f(d rq dt)
Figure 6: Flowdiagram for the computation of friction In simulation, friction should be handeled by state events: If the angular rate of the rotor the angular rate is used as indicator function. If this function passes through zero, the crossing time point is determined by the integrator (within roundo ), the integration is stopped and it is checked whether the simulation has to be continued with sticking or sliding friction. Then the integration is restarted. In the case of sticking friction, the function r Mh ? jr F ? j is used as indicator for the next state event to switch back to the sliding friction model. The treatment of friction of the three outermost joints is more di cult (see Figure 5), since the rotor equations are no longer decoupled from the rest of the multibody system due to the neglected elasticity in the gear-boxes. If the angular rate of the rotor is r q_ = p aq_ 6= 0, friction acts as an applied torque and is handeled in the same way as for actuators 1, 2, 3. If the angular rate is r q_ = p aq_ = 0 , more possibilities exist than for the innermost actuators: The actual number of possibilities depends on the angular rate of the other joints. If for example the angular rate of all 3 outermost joints is zero at the same time instant, 23 = 8 possible situations arise, since every joint can have sticking or sliding friction. All these possibilities must be checked in order to determine the one which is in correspondence with physics. If sticking friction arises in one joint, friction acts again as a constraint torque. However, it has to compensate not only the applied torque r F in the air gap of the motor but also the dynamic coupling torque aL due to the movement of all the other arms of the robot. If the elasticity of all gear-boxes is neglected, the dynamics of the robot arms and
r q 6= 0, _
11
= pi (r F i ? r M i ); i = 1; 2; : : : ; 6 Assume that sticking friction is present in actuator 6. In this case, aq6 = 0, i.e. aq6 is a known quantity, whereas the friction torque r M 6 is an unknown constraint torque that can be calculated from
aF i aL6 rM 6
j =1
Mij aqj = hi + aF i
= =
6 X
1 aL6: p6 The unknown angular accelerations aqj ; j = 1; : : : ; 5 are calculated from the rst 5 rows of the equations of motion. Joint 6 and rotor 6 do not rotate until the torques acting 6 at the rotor jr F 6 ? aL6=p6 j become bigger than the maximum value r Mh . Note, that the situation would become worse, if no simplifying assumptions are made for the rst three actuators. Then upto 26 = 64 con gurations had to be checked to determine the actual sticking/sliding friction combination in the joints.
j =1 rF 6 ?
M6j aqj ? h6
12
Figure 7: Model structure of multibody system For our simulation of the multibody model a gravitational acceleration of 9:81m=s2 is used. The load of the robot is assumed to be a point mass with maximum 15 kg. The vector from point H 5 to the load, in coordinates of the body xed frame of arm 6, is denoted as rL and is in the range: 0:0m 0:1m
L L (r1 )2 + (r2 )2 0:15m L r3 0:25m
13
14
36
24
Table 4: Software realizations of Manutec r3 models All four DLR robot models contain the complete models for the controller and the electrical part of the motors as explained in the previous chapter. The digitally realized position control loops of the controllers are presently modelled as continuous systems (no sampling). The four models di er as follows:
Previously the models have been named \DFVLR models". However, since the DFVLR changed its abbreviation to \DLR" in 1990, the model names have been changed appropriately.
4
15
1. DLR model 1: The gear-boxes are assumed to be ideal, i.e. friction, elasticity, damping and backlash are neglected. The robot consists of a multibody system of 6 rigid arms, 6 revolute joints, 6 rotors and 6 controllers and motors. The rotor and joint angles are directly coupled, i.e. r qj = pj aqj . The controller and motor dynamics can be switched o , such that only the multibody dynamics can be simulated. This is useful e.g. for path planning. 2. DLR model 2: This model is derived from DLR model 1 by the following specializations: Joints 4, 5 and 6 of the robot are not moving. These joints are blocked by brakes in the position aq4 = 0, aq5 = 0 and aq6 = 0. The load mass is attached to the point rL = 0; 0; 0:25]T . All other assumptions are the same as for DLR model 1. 3. DLR model 3: Complete r3 model as described in the previous chapter, i.e. multibody system with 9 degress of freedom (6 joint angles and 3 rotor angles of the rst 3 actuators). Gearboxes are modelled including friction, elasticity, damping and backlash. Presently, the sticking friction in the last 3 actuators is not modelled as explained in chapter 3.2. Instead the sticking friction is approximated by a sti spring with a spring constant of 107Nms=rad. 4. DLR model 4: This model is derived from DLR model 3 by the same specializations as model 2 is derived from model 1: Joints 4, 5 and 6 of the robot hand are not moving. These joints are blocked by brakes in the position aq4 = 0, aq5 = 0 and aq6 = 0. The load mass is attached to the point rL = 0; 0; 0:25]T . All other assumptions are the same as for DLR model 3.
5 Simulation Results
The robot Manutec r3 has been simulated in the ANDECS R simulation environment 10] using the models of chapter 4. The reference trajectories for the simulation have been determined via multi-objective trajectory optimization by S. Lewald 5] using the ANDECS R optimization environment. The goal of the optimization was to move the tip of the robot from a vertical position (all angles are zero) to a point near to the ground. The optimization criteria have been choosen as a compromise between minimum time (= fast movement) and power consumption (= smooth trajectory) under the restrictions of limited motor torque r F and limited angular motor rates r q_. For the optimization the multibody model part of DLR model 2 was used. The simulations are carried out with the complete model, i.e. with DLR model 3. In Figure 8 an animation of the controlled robot is shown for di erent reference trajectories (di erent compromises between minimum time and minimum power consumption) using the robot animation software package KISMET of Kernforschungszentrum Karlsruhe. Plots of the joint angles aqj , the joint angle errors (= di erence between desired and actual angle) and the motor torques r F j are given in Figure 9.
16
17
1 1 1 2 1 2 1 2 6 5 4 3 6 5 4 3 6 5 4 3 2
1 2 2
1 2
2 1
2 1
2 1
2 1
2 1
R A S P91 - D L R
6 5 4 3
6 5 4 3
6 5 34
34 6 5
34 6 5
34 6 5
34 6 5
0.60
1.20
1.50 E0 T [s]
Relative joint angle error (feedback controlled case) E-2 [rad] 1.2 0.8 0.4 0.0 -0.4 -0.8 -1.2 0.00 1 3 5 axis 1 axis 3 axis 5 0.30 0.60 0.90 2 4 6 axis 2 axis 4 axis 6
1 1 2 3 23 1 3 4 6 5 3 3 3 3 1 2 1 2
R A S P91 - D L R
3 3 1 2 6 5 4 6 5 3 14 2 3 3 6 5 4 12 6 5 4 6 5 4 6 5 4 6 5 4 6 5 41 41 6 5 3 3 1 32 32 3 3 3 1 2 12 1 23 1 13 2 2 2 2
1.20 1.50 E0 T [s]
Motor torque (feedback controlled case) E1 [Nm] 0.75 0.50 0.25 0.00 -0.25 -0.50 -0.75 0.00 1 3 5 axis 1 axis 3 axis 5 0.30 0.60 0.90 2 4 6 axis 2 axis 4 axis 6
2 3 2 2 3 2 3 2 1 6 5 6 5 34 6 5 6 5 4 6 5 4 6 5 4 3 4 24 2 1 3 1 1 3 3 1 3 1 2 3 2 1 2 3 3 1 2
R A S P91 - D L R
1 14 1 4 1 4 1 4 1 6 5 6 5 6 5 6 5 3 2 2 3 2 3 3 3 2 2 3 2 3 22
1.20 1.50 E0 T [s]
18
References
1] Brandl H., Johanni R., and Otter M.: A very e cient algorithm for the simulation of robots and similar multibody{systems without inversion of the mass{matrix. In Proc. IFAC/IFIP International Symposium on Theory of Robots, Vienna/Austria, December 1986. 2] Detzner P.: Entwurf und Simulation der Bahnregelung des Roboters manutec r3. Diplomarbeit, Lehrstuhl fur elektrische Antriebstechnik, Technische Universitat Munchen, December 1986, and Technical Report IB 515-87/1, Institute for Robotics and Systemdynamics, German Aerospace Research Establishment (DLR), Oberpfa enhofen. 3] Grubel G., Bals H., Finsterwalder R., Gramlich G., Joos H.-D. and Otter M.: ComputerIntegrated Control-Dynamics-Design Experimentation by ANDECS. ESA Workshop Spacecraft Guidance Navigation and Control Systems Software for Design and Implementation, Noordwijk, 29. Sep - 1. Oct, 1992. 4] Franke J.: Die DLR-Robotermodelle 3 und 4 des geregelten Manutec r3. Technical Report TR R76{92, Institute for Robotics and Systemdynamics, German Aerospace Research Establishment (DLR), Oberpfa enhofen. 5] Lewald S.: TOMOPS: Multi-Objective Robot-Trajectory Optimization. IFAC Workshop on Control Applications of Optimization. Sept. 2-4, Munich, 1992. 6] Otter M. and Schlegel C.: Symbolic generation of e cient simulation codes for robots. In Proc. 2nd European Simulation Multi-Conference, Nice/France, 1988. 7] Otter M. and Turk S.: The DFVLR Models 1 and 2 of the Manutec r3 Robot. Technical Report DFVLR{Mitt.88{13, Institute for Robotics and Systemdynamics, German Aerospace Research Establishment (DLR), Oberpfa enhofen, May 1988. 8] Otter M.: DSblock: A neutral description of dynamic systems. Version 3.2. Technical Report TR R81-92, Institute for Robotics and Systemdynamics, German Aerospace Research Establishment (DLR), Oberpfa enhofen, May 1992. 9] Otter M.: Multidisciplinary Simulation. Concurrent Engineering Tools and Technologies for Mechanical System Design, E.J. Haug (editor), NATO ASI Series F, Springer Verlag, to appear. 10] Otter M.: The ANDECS Simulation Environment. Separate Contribution in this volume. 11] Pfei er F.: Uber unstetige, insbesondere sto erregte Schwingungen. Zeitschrift fur Flugwissenschaft und Weltraumforschung, vol. 12, pp. 358-367, 1988. 12] Turk S.: Zur Modellierung der Dynamik von Robotern mit rotatorischen Freiheitsgraden. Dr.-Ing.-Thesis. Fortschritt-Berichte VDI, Reihe 8, Nr. 211, VDI{Verlag, Dusseldorf, 1990. 13] Turk S. and Otter M.: Das DFVLR Modell Nr. 1 des Industrieroboters Manutec r3. Robotersysteme, vol. 3, pp. 101-106, Springer-Verlag, 1987.