STATE-FEEDBACK CONTROLLER FOR A TWO-DEGREE-OF-FREEDOM FLEXIBLE ROBOT ARM J. van Amerongen*, L. Kruise*, P. LOhnberg* and M.J.L. Tiernego** Mechatronics Research Centre Twente, University o/Twente, Enschede, The Netherlands
Ahslracl. This paper describes the control of a two-degree- of-freedom flexible robot arm. The controller design is based on a simplified model, which consists of a number of interacting submodels. The submodel for a flexible link consists of an infinite number of vibration modes. When a steady-state correction for the higher modes is introduced, it is possible to model the low-frequency behaviour correctly with only a limited number of modes in the model. The controller design is based on a simplified model. In this simplified model the Coriolis and centrifugal forces and nearly all steady- state corrections are disregarded. However, the coupling between the vibrations in the two links is taken into account. Experimental results of a laboratory set up demonstrate the feasibility of the proposed algorithm.
K cywords. Modelling, pole placement; robots; state feedback; strain gauges; torque control; vibration control; flexible beam.
This paper describes the modelling and controller design of a two-degree-of-freedom flexible robot ann, based on the work of Kruise (1990). The performance of the control system is demonstrated with simulations and in an experimental set up. The latter is depicted in figure 1.
INTRODUCTION A human being who can handle the same weight as a traditional manipulator is much lighter than the manipulator. The reason is that robot constructors want a system that can be controlled easily and with a high accuracy. This is done by making the links rigid . In order to reduce the mass of the complete manipulator, the mass of the links has to be reduced. Light robots have a number of advantages. With the same actuators higher accelerations can be obtaineded and less energy will be consumed. The drawback is that such a light robot arm will bend and vibrate. Examples of extremely light robot arms are "space manipulators", such as the robot ann of the American space shuttle. There is also a tendency to faster robots. Contrary to slower robots, faster ones can also excite the resonance frequencies of more rigid links. This can result in vibrations in the links, which have a relatively high frequency. Two basic approaches can be followed to design light and still accurate robots: - design of links that are light but still stiff. The type of material, the shape and the profile of the link have to be optimized in such a way that the mass is low and the stiffness is high. - design of control systems able to compensate for bending and vibrations, enabling simple light beams to be used. Of course both approaches could be combined, leading to a superior mechatronical design. As a step towards a mechatronical design, this paper will concentrate on the second approach: design of control systems that take into account bending and vibration. The ideas developed in this paper will be applied to a robot , but the design philosophy can be used also for improving the perfonnance of other constructions, like large radar-antennas and large space structures. There is a growing interest in the control of flexible structures . Book et.al. (1975) described simulations of a flexible robot consisting of two pending links in a vertical plane. Schmitz and Canon (1980), Hastings and Book (1985) and Kruise et.al (1988) reported experimental results of a one-degree- of- freedom flexible link. Fukuda (1983, 1987) describes an experimental flexible robot consisting of two links. Papers on modelling of two-ctegree- of-freedom flexible robot anns were published by, among onthers, Benati and Morro (1988) and Low and Vidyasagar (1988).
connection for graVity compensation
elbow
1000 mm
Figure I
Experimental robot arm with dimensions
2 MODELLING A simple manipulator is considered consisting of two links, two actuators and of payload. The complete model of the manipulator can be split up into a number of interacting subsystems: a flexible link, a joint (actuator), and a payload. For each of these subsystem submodels will be derived.
2.1 Modelling of a Flexible Link Links will be considered which can bend and vibrate only in the plane of motion. A flexible link moving in a plane is characterized by twelve variables. These are: - positions of the begin (b) and end (e) : Xb, )'b, Xe , Ye - orientations of the begin and end: eb, ee
*) also: Control, Systems and Computer Eng. Lab., Dept. of Electrical Eng., University of Twente **) also: Royal Militairy Academy, Breda, The Netherlands
399
- forces at the begin and end: Fxb. Fyb. F xe. Fye - torques at the begin and end: Mb. Me Six of the twelve variables (Xb. Yb . eb. Fu. Fye. Me) will be the inputs. the other six (xe. Ye. ee. F xb. F yb. Mb) will be the outputs of the submodel. yo
where I
n
dCjJiCr)
2 d CjJi(r)
CjJ,(L)=~lr = L , cjJ, CL)=~r = L . etc.
(4)
dr and ai . ~i. Ili. are parameters that can be determined from the geometry of the link. It is often enough to consider only the modes for N S 3. Simply neglecting the higher modes can lead to serious errors. Therefore it is necesary to take into account a steady-state correction (Kruise , 1990). Five of the six outputs can be derived easily from W(r,1) as follows . The first two outputs are the position of the end of the link. These are:
x,
(5) Figure 2 Inputs of aflexible link in the x-Y plane )'.0)(1) = W(L,I) =
The deflection of the link is denoted by W(r,t) (see figure 2), where r is the distance from a point on the link to the begin of the link. The deflection W(r,l) is the solution of a fourth-order partial differential equation (Kruise, 1990):
a4 w ar4
a2 w
..
..
(6)
CjJi(L)qi(l)
where Xe(2) and Ye(2) are defined with respect 10 the frame X2 ,
Y2 which rotates with the link. The third output is the orientation of the end of the link, which is given by:
I
EI- - + pa--=-pa(rBb(O) + Yb( ) + gsin8b(O» +
a?
ee(2)U)
= a~~,1) Ir=L =~
CjJ)(L)qiCI)
(7)
The fourth and fifth outputs are the torque and force at the begin of the link . These are described by (Kruise , 1990):
where 9b(0) : ) ;&(1) :
g
I i= 1
:
F ye(l): M/O): o(x) : (0), (11
angular acceleration of the begin of the link acceleration of the begin of the link gravity constant force at the end in the tangential direction torque on the end of the link Dirac-function refer to the axis system used.
3
Fyb(l)(I)
~
=El a W~.I) I =El I
ar
r=0
CjJ)IlCO)qi(l)
(9)
i=1
The sixth output is derived from the motion in the x2-direction. Because the longitudinal vibrations are disregarded , these motions are rigid body motions (Kruise , 1990):
The two terms at the left-hand side of equation (I) describe the motions of the flexible beam. The terms at the right -hand side describe the inputs for the flexible beam. The first term describes the effect of an angular rotation. The second term describes the effect of an accelaration perpendicular to the beam. The third term gives the effect of the gravity. The last two terms describe the effect of a force and torque on the end of the beam. The partial differential equation (I) can be transformed into an infinite set of ordinary differential equations each describing one mode of vibration. For practical use the number of modes has to be finite. Fortunately. there is a number of reasons why the higher modes can be disregarded. One is that they are almost not excited because of the limited bandwidth of the actuators. Another reason is that the contribution of the higher modes is small and damps out quickly. The deflection W(r.t) can be approximated by:
where: nil
: mass of the link
.t b(I) : acceleration in the XI-direction F xb (I} the force in the axial direction at the begin F u (l): the force in the axial direction on the end.
N
W(r,l) =
I
(2)
CjJi(r)qi(t)
With simple coordinate transformations. position s with respect to the body- attached coordinate frame can be trans fomled to positions and forces with respect to the origin frame
i=l where
xo. )'0·
CjJiCr) : mode-shape functions qi(t) : modal motion
2.2 Dynamics of an actuator connected to flexible links In general an actuator is connected to two links. To make it possible to connect the motor submodel to the link submodels. the inputs of the actuator submodel and outputs of the link submodels should match . Therefore the inputs for the actuator submodel are the outputs of the link submodel and vice versa. The actuator submodel has one additional input. i.e. the driv-
The combination CjJj(r)qj(t) is called a mode. The modal motion qi can be described as: wtqi +
qi = -
~'}:b(l) - ~igsineb(O) +
CjJiCL)Fye(l)
CjJ)CL)M/O)
Ili
Ili
-'-'-'-'--L.::_+-'-'-'--'---=_
(3 )
400
ing source. The dynamics of an actuator connected to two links can be split up into two parts, a translational part and a rotational part.
2.4 Coupling of the submodels The previously derived submodels can be combined into a model of a flexible manipulator that can move in one plane (figure 4).
2.2 .1 Translarion of an actuator For the sake of simplicity it is assumed that the axis of rotation of the actuator coincides with the end of link I and with the begin of link 2. This means that forces on the actuator have no effect on the rotation of the actuator, and also that the position of the end-point of link I is equal to the position of the starting-point of link 2. The equations of motion of the actuator are (ma is the mass of the actuator):
Figure 4 Schematic model of a two-degreeof-freedomj1exible robot arm By substituting the submodels, a complete block diagram of the flexible robot arm is obtained. Based on this block diagram, a simulation program has been implemented, which has been used to test different controllers.
(13)
2.5 Derivation of a control design model In the simulation model, nonlinearities due to Coriolis and centrifugal forces, and all steady-state corrections were taken into account. Due to all these terms the simulation model is too complex to be used for the controller design. Therefore, a simplified model will be derived that is suited for the design of a controller. This model will be referred to as control design model. The effects of Coriolis and centrifugal forces will be disregarded. In addition, only steady-state corrections are taken into account which are larger than 10% . The upper arm is now described as a link with a payload. The mass of this payload consists of the mass of the elbow joint. The effect of the lower arm on the upper arm is described by an additional torque Me and a force Fe perpendicular to the link . The dynamics of the actuator of the upper arm are described (conform equation (15)) by:
(14)
2.2.2
R olation of the actuator
The second part of the actuator submodel describes the rotational dynamics. An actuator consists of a housing and a rotor. The housing is characterized by a moment of inertia ih, and the rotor by a moment of inertia I, . The equation of motion of the rotor of a current-driven actuator is
The equation of motion for the housing is derived in the following way. The internal torque Mi exerted by the rotor on the housing is opposite to the torque delivered to the rotor, hence Mi
. (0) = -nKml.m + n 2R m(Sb2 -
.
Sel
(0)
(16)
)
(20)
Using Newton's law for the mounting yields:
The external torque is (see equation (8)) (17)
(21)
where
im Km
: motor constant
Ir
: moment of inertia of the rotor
Rm
: viscous damping
11
: gear ratio : disturbance moment caused by the link
Mb
The last term in the right-hand side of equation (21) describes the steady-state correction for the torque Me at the end of the link. It can be shown that all other steady-state corrections are smaller than 10%. The equation of motion of a flexible beam with a payload is similar to that of a beam without a payload. Kruise (1990) derives the following equation from equation (3) :
: current
2.3 Dynamics of payload connected to a flexible link The last submodel that has to be derived is the submodel for a payload. A payload is connected only to one other submodel. In this paper the payload will be treated as a point mass, because it can be shown that for the payloads used here the effect of the mass of the payload on the flexible link is much larger than the effect due to the mass moment of inertia.
2··
2 macp (L) ..
macp(L)L e··
COlql +ql =-(a+---) I - - - - q l III III A
- ( I-'
maCP(L))
.
e
p(L)F
+ - - - gsm I + III III
e+
(22) pl(L)M
III
e
where ma is the mass of the elbow joint and COl is the resonance frequency of link 1. The modal parameters a, ~, Ijl(L) etc. have no index. These are the same for the upper and the lower arm . In a compact form, equation (22) can be rewritten as :
mp is the mass of the payload
..
ai··
~i.
cn(L)
pl(L)
III
III
Illlll
Illlll
ql = -----;el - ----;gsmel + ~Fe + xo
•
coT
Me - ----;ql III
(23)
where:
Figure 3
Payload connected 10 aj1exible link
ai = a + macp(L)L , ~i = ~ + maljl(L) , Ili = I + ma III III III
The equations of motions for the payload are (see figure 3):
(24)
The torque Me at the end is (see equation (16)):
(18)
(25)
(19)
401
Fe
The force Fe will be described later on in this section. The lower ann also is described as a link with a payload. The effect of the upper ann on the lower ann is described by an additional acceleration and an angular acceleration of the lower arm due to a rotation of the upper ann. The actuator of the lower arm is described by (see also equation (20)):
i = Pi + Qi + S~ + V~ + gz(0
(27) where the last tenn at the right-hand side of equation (27) is a steady-state correction due to a torque at the end of link 1. The angular acceleration is obtained by differentiating equation (27) twice with respect to time. This yields: ..
..
I··
(36)
where:
The angle 8b2 can be expressed as:
= 81 + 82 +
(35)
The dynamics of upper and lower ann , described by equations (20), (23), (26) and (29), can be written in a compact fonn:
(26)
..
= F pCOS82 + Fasin82
~T = [81, 82, ql, q2]
(37)
!iT = [iml , im21
(38)
The matrices P, Q, S, V and the vector gz are non -linear functions of 81 and 82. The model can be linearized in the neighbourhood of the point of interest ~O and ~O. The linearization of equation (36) yields:
(2R)
(39)
Note that for the angular acceleration the steady-state correction is disregarded by assuming Me to be constant. The equation of motion of the lower ann is (see also equation (22)):
where t.~ =~ - ~O, t.~ = ~ -!i0 and Slin is the linearized version of S. The matrices C q , Cs and Cv are the result of the linearization of gz. Equation (39) can be rewrinen. This yields:
8b2
(29) t.i = (I_p)-I[ (Q + Cq)t.i + (Slin + Cs)t.~ + (\I + Cv)t.!i
where:
a2, ~2 and 112 are defined confonn equation
(24).
I (40)
where / is the identity matrix. The matrix (/ - P) is invertible when the steady state corrections are disregarded. Equation (40) can be written in the standard state-space notation:
The acceleration Yb2 is the acceleration perpendicular to link 2. The acceleration Ye I perpendicular to link 1 is:
(41)
.t=Ax+Bt.u -
(30)
where: The acceleration in the axial direction is zero, because Coriolis and centrifugal effects are disregarded. Using a simple transformation it is found that:
(42) A=
(31) Equations (20) and (23) describe the dynamics of the upper arm, equations (26) and (29) describe the lower arm. The force Fe exerted on link 1 by the lower ann can be split into two parts. The first part is the force perpendicular to the lower ann . The second part is the force in the axial direction. These two terms can be combined to yield the force perpendicular to link 1. The force Fp perpendicular to the lower arm is described by (see also equation (9)) Fp
= -Ei2
11FxGb2 + gsin8b2) -
B=
pfl/(Q + C q )
(! -
p)- I~/m + CS)]
[(1- Pf~(V + Cv)] 3
(43)
(44)
CONTROLLER
3.1 Basic controller design and results of simulations A state-feedback controller for the linearized system is described by:
(32) 11= il] . =[iIO] . -K T(x-xo) [ 12 120 - -
-
11'fxCYb2 + gsin8b2) - 11'fe9b2
(45)
where ilO, i20 and ~O are steady-state values . and K is the feedback matrix. In order to study the effect of the linearization on the closed-loop behaviour, the system is lineanzed around 81 = 82 = O. In this case the poles of the open-loop system were found to be:- O.33 ± 54j, - 1.72 ± 44j , - O.OR ± 2.6j, -0.65 ± 3.6j. The feedback matrix is detennined using the pole-placement method. The dominant poles of the process were chosen at a position appropriate for a rigid control system. The imaginary parts of the non-dominant poles were kept constant, while the absolute damping was increased. This yielded poles at -15 (4x) , -15 ± 44j and -15 ± 54j. The computer program MATLAB was used to derive a pole -placement controller. The locus of the roots of the controlled process as a function of 82 is shown in figure 5.
The terms proportional to 11 describe a steady-state correction for the force. The axial force can be derived in the following way. The acceleration in the axial direction Xb2 is (see also equation (31)): (33)
Therefore, the resulting force in the axial direction is: Fa = -(m/2 + mp) (Xb2 - gcos8b2)
l(l-
(34)
where nlI2 is the mass of link 2. The force Fe perpendicular to link I is described by:
402
Im
s·plane
80
.
;"[AJ
~--
o r[sJ
tIsJ 4x
-so
50
-5
-5
Re
0 .4 -80
Figl/re 5
tIsl
Locus of the roots of the control/ed proces ql
0.05
The system becomes unstable for 82> 1.5 rad. This means that with this controller it is not possible to move to certain positions of the robot arm. In order to reach these positions. it will be necessary to linearize the process around another point. The locus of the roots shown in figure 5 is valid only for small variations around the point of linearization. It is difficult to predict how large these small variations may be. The easiest method to verify whether the linearization has an effect on the response is to the apply the controller to the non-linear process. In this way also the effects of saturation can be studied.
0
0 .5
rlsl
005 0 .5
tIsl
0 .5
tIsJ
-005
Figl/re 7 Simulations with the ''flexible'' cOl/trol/er The use of this controller is limited. because not all positions can be reached. The effects of the nonlinearities have to be taken into account in the controller design in one way or another.
In order to demonstrate the need of taking into account the flexibility. simulations have been carried out with a computed torque controller. based on the non-linear model. but disregarding flexibility (Craig. 1989). as well as with the "flexible" controller. described here. Figure 6 shows the performance of the computed torque controller. The step responses of the various signals are shown for a step from 81 = 82 = 0 to 81 = 82 = 0.5 rad. Figure 7 shows that the "flexible" controller properly damps the vibrations. except when the motors are in saturation.
3.2
Experimental results
The controller was also tested with the experimental robot arm of figure I. Because of the complexity of the controller and the fast sampling required. the controller was realized with transputers. which enables the controller to be computed in parallel (Stavenuiter et.a!' 1989). In the experimental set up not all the states can be measured. Therefore. a state observer was used.
i2{AI
il[AI
3.2.2 Observer design The sta.tes !,ll. 82. ql and q2 are measured. This means that the states 81. 82. ql and q2 have to be estimated. Because the process is nonlinear. the update matrix will be a function of the states. This will make the observer design complex. Therefore. the nonlinearities are considered to be known. In order to simplify the observer design even further, the system was split into four subsystems: shoulder and elbow joint. and two links. The couplings between the subsystems are considered to be known also. In this way the observers become independent of the geometry . This is comparable with the approach used in a computed torque controller (Craig . 19R9) where the nonlinearities are considered to be known also. The observers that result from these considerations are described in detail by Kruise (1990). The observer behaviour was chosen much faster than the behaviour of the controlled process. which yielded poles in -40 (2x) for all four observers.
tIsI -5
-5
92/radl
91[radJ
0 .4
04
0 ql
0
0.5
0
tIsJ
0 .5
r[sl
~I
3.2.2 Control/er design In this section the results obtained with a full - order statefeedback controller are presented. This controller was derived in the same way as described in section 3. Four of the eight poles were placed in - 10. The other four poles were placed in - 10 ± 63j and - 10 ± 45j. This means that the damping of these poles was increased compared with those of the uncontrolled system.
r[sl
Figl/re 6 Simulations of a computed torque control/er
403
3.2.3
Experiments
The effect of such filters in combination with a controller should be studied. In the experimental setups described in this paper only transverse vibrations in one direction were considered. In general a robot arm can move in a 3-dimensional space. This means that also transverse vibrations in other directions and torsional vibrations are excited. The interactions between these vibrations, and consequently the effect of these vibrations on the controller design, should be studied. The research described in this paper was a firs! step towards a mechatronical design of a light robot arm. It was shown that the occurring vibrations can be suppressed by an adequate controller design. In the next step the control engineer and mechanical engineer should work closely together to find the optimal combination between mechanical properties of the system and the controllability of light robot arms.
The step responses of the various signals for Srefl = Srcf2 = 0 0 to Srefl = -10°, Srcf2 = _20 are shown in figure 8. There are still small vibrations left. This is due to the presence of Coulomb friction. Contrary to what was expected , the Coulomb friction could not be disregarded in the controller design. One way to reduce the effects of Coulomb friction is by adding a small current to the control current, depending on the direction of the angular velocity (Yang and Tomizuka, 1988). Another way to reduce the effects of the Coulomb friction is by means of tacho- generators on the motor axis, rather than estimating the angular velocity from the angle signals. i.IAI "IAI
2
IlsI
IlsI
5 REFERENCES -2
Benati, 1\1. and A. Morro (1988). Dynamics of a chain of flexible links . Journal of Dynamic SYStems. Measurement and Control, llO, pp. 410-415 Berghuis, H., P. Liihnberg and H. Nijmeyer (1991), Adaptive . PD+' control of rigid robot manipulators, SYROCO '91. Vienna Book, W.J., O. Maizza-Neto and D.E. Whitney (1975) . Feedback control of two beam. two joint systems with distributed flexibility, Journal of Dynamic Systems. Measurement and Control, 97, pp. 424-431 Craig, J..J. (1989), "Introduczion to robotics: mechanics and control." Addison-Wesley, Reading, MA. De Lu,'a, A., P. Lucibello and G. Ulivi (1989), "Inversion techniques for trajectory control of flexible robot anns," Journal ofRobotic Systems. 6, 325-344 Fukuda, T. and Y. Kuribayashi (1983), Precise positioning control of flexible anns with reliable control systems, Proceedings of the 1983 International Conference on Advanced Robotics, Tokyo, Japan, I. pp. 237- 244 Fukuda, T. and A. Arakawa (1987), Modelling and control characteristics for a two-<1egrec-of-frccdom coupling system of flexible robot ilnns, International Journal ofrhe Japanese Society of Mechanical Engineers, 30, pp. 1458- 1464 Hastings, G.G. and W.J. Book (1985), Experiments in Optimal Control of a Flexible Ann, Proceedings of the 1985 American COlllrol Conference, IEEE, New York. pp 728- 729 lIilhorst, R.A., J. van Amerongen, P. Liihnberg and H.J.A.F. Tulleken, (1991 )," Intelligent adaptive control of mode-switch processes," IFAC International symposium on intelligent lUning and ad;lptive control, Singapore Kruise, L., J. \'an Arnerongen, P. Liihnberg and M.J.L. Tiernego (1988), Modelling and control of a flexible robot link, Proceedings nf the first Symposium on DynamiCS of Controlled Mechanical SystC/ns. Springer, Berlin, pp. 283-296 Kruise, L. (1990), Modelling and control of a flexible beam and rohot arm," PhD thesis, University ofTwente, Netherlands Low, K. H. and M. Vi~' asagar (1988). A Lagrangian fonnulation of the dynamic model for flexible manipulator design, Journal of Drnllmic Sysrems. Measurement and Control. 110. pp. 175-181 Yang, A. and 1\1. Tomizuka (1988), "Adaptive pulse width control for precise positioning under the innuence of stiction and Coulomb friction." Journal of Dynamic Systems. Measurement. and Control. 110. pp. 221-227 Schmitz, E. and R. Cannon (1980). Control of a flexible robot ann. l\AS:\- CR- I64l6 Sta\enuiter, A.J.C., G. ter Reehorst and A.W.P. Bakkers (1989). Transputer control of a nexible robot link. Microprocessors and Micrnsrsrems, 13.227-232.
-2
8,Iradl
8,lradl rjsl
0
1\sl
0.4
'121
t\sl
rjsl
Figure 8 Responses in the experimental set lip 4
CONCLUSIONS
It was shown that a computed torque controller designed for a rigid robot arm is not able to suppress the vibrations. The results obtained with the controller that took the f1exibility into account were good in simulations. In the experimental set up not all vibrations could be suppressed due to the presence of the Coulomb friction and stiction. This will require further attention. With the controller described in this paper not all positions could be reached. This was due the fact that the controller design was based on a linearized model of the complete system. It is being investigated in which way larger steps can be made. An approach could be to switch between different controllers, as described by Hilhorst el.a!. (1991). Hilhorst describes a method which can be used to switch between different controllers for different modes of operation. The applicabilty of this method to the f1exible arm described here is under investigation. Berghuis et.al, 199 I describe the possibilities of adaptive control for non linear systems. They de veloped a controller which works well on simulations of a rigid equivalent of the arm described in this thesis. Its apllicability to the f1exible arm is being investigated. In the experiments described here , step inputs were used. This was done to test the most difficult situation for the controller. However, it is possible to filter the reference input, by means of set point generator. This will have a number of advantages, for example - the effects of the saturation can be avoided - the amplitude of the vibrations can be decreased.
404