Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Proceedings of the 1998 IEEE International Conference on Robotics & Automation Leuven, Belgium- May 1998

Analysis and implementation of observers for robotic manipulators"



Basilio Bona and Marina Indri Dipartimento di Automatica e Informatica Politecnico di Torino

Corso Duca degli Abruzzi, 24 - 10129 Torino, Italy

Abstract

Different solutions to the robot control problem by using only position measurements have been studied in literature. The performances of some linear and nonlinear observers recently proposed are discussed in this paper, on the basis of the experimental results obtained in the control of a SCARA two-link manipulator with two revolute joints. The comparison is carried out by using the observed velocities to implement a linear state feedback algorithm for the robot control. The obtained results show that different factors (e.g. the required task, the available knowledge of the robot dynamic model) may influence the choice of a particular observer.

1 Introduction

Most of the commonly used control algorithms for robotic manipulators need the knowledge of both joint positions and velocities. Robot systems are generally equipped by good precision encoders or resolvers for position measurements, while the velocity sensors, if available, are often affected by considerable noise, which can significantly deteriorate the control performances. Besides, velocity sensors are often omitted in the industrial robots for cost and weight reasons.

The first, immediate solution to this problem consists in determining the velocity signal by a first-order differentiation of the available joint position signal. The simplicity of this technique from the implementation point of view makes it appealing, but unfortunately the approximation of the obtained velocity signal is not always adequate for control purposes, in addition with the quantization effects, which may cause undesired oscillations in the manipulator response.

A good alternative solution, deeply analysed in the most recent years (see for example [IJ-[10]), is given by the insertion of observers, which estimate the joint velocities starting from the available position measurements. The analytical properties of such observers have been investigated by their authors, but only the

'supported by Italian Space Agency (ASI) under grant ARS- 96-137. The experimental tests have been carried out in the La.DiSpe laboratory, Dipartim.ento di Autornatica e Informatica, Politecnico di Torino.

0-7803-4300-x-5/98 $10.00 © 1998 IEEE

practical implementation on the same robot can offer the possibility of a true evaluation of their performances from the control point of view.

This paper deals with the control of a SCARA two-link planar manipulator, with two revolute joints equipped with NSK brushless motors, incorporating resolvers for position measurements. Different solutions are considered to estimate the joint velocities starting from the position signals: the first-order differentiation of the positions, four different linear observers [1], [2], [7], [9], and a nonlinear one [8]. Their performances are compared by using the observed velocities to implement a linear state feedback algorithm for the robot control [l1J.

The choice of some observers [1], [2], [7]-[9], among the several ones developed in literature, has been made taking into account that such observers must work in conjunction with a linear state feedback algorithm: it must be stressed that an observer, that asymptotically reconstructs the state of a nonlinear system, does not guarantee that a certain stabilizing state-feedback controller will remain stable when the estimated states are used instead of the true ones in the feedback loop, as the separation principle is not valid in general for nonlinear systems.

The obtained results show that different factors as the required task and the available knowledge of the robot dynamic model, may influence the choice of a particular observer, as it will be discussed with some details in the paper.

2 Linear and nonlinear observers

In this section different observers [1], [2], [7)-[9) are introduced for the estimation of the joint velocities, starting from the position measurements of a robot. All the considered observers can be used in conjunction with a linear state feedback control law; the stability properties of the obtained closed-loop systems are briefly described for each of them.

Before introducing the observers, it is useful to remind that the dynamic model of a n-dof manipulator can be expressed as follows:

M(q)q + C(q, <ihi + G(q) = T (1)

where q is the joint position vector (in which the generalized coordinates qi are generally defined according

3006

to the well-known Denavit-Hartenberg notation), q is the joint velocity vector, M( q) is the generalized inertia matrix, C(q, q)q contains the effects of Coriolis and centrifugal forces, G( q) is the term due to gravity, and T is the vector of the applied torques.

The linear observers, that will be introduced hereafter in Section 2.1-2.4, do not depend on the robot dynamic model, while the implementation of the nonlinear one (Section 2.5) requires the knowledge of the manipulator parameters in equation (I).

2.1 Observer 1

The first observer is a simple, high-gain asymptotic observer, with linear and decoupled structure, developed in [9] by Nicosia, Tornambe and Valigi. The observer is designed under the not restrictive assumption that there exists a feedback control law such that the joint position vector tracks a reference trajectory vector, and the closed-loop robotic system is uniformly asymptotically stable.

Let define the state variables vector m = [mI mfV, with :Ill = q, :Il2 = q, and accordingly express the robot dynamic model (1) in state space form, under the assumption that only joint positions are available, i.e. with y = q as output variables vector.

The proposed observer is described by the following high-gain model:

i2 + $-1 Hp(Y - i1) $-2Hll(y-id

(2a) (2b)

where i = [if iIlT, with $1, $2 denoting respectively the dynamic estimates of the robot generalized coordinates and velocities. The constant matrices Hp = diag(hp,i) and H; = diag(hv,i) are chosen so that the spectra of the characteristic polynomials pi(.\) = .\2 + hp,i). + h.u,i, i = 1, ... , n are in the open left half-plane, and 10 is chosen as a small positive parameter.

In [9J the authors show that, for sufficiently small values of 10, the closed-loop system, constituted by the robot, the observer (2), and by a control law T = 1)(il' rez, ;VI) that uses the estimates $1, re2 supplied by the observer (in which :if = [:iff oTjT is the operating point for the regulation), can be made asymptotically stable. Besides, the convergence region estimate (see [9J for its determination) can be maximized by a proper choice of e,

2.2 Observer 2

The second observer is a linear one, which was developed in [IJ by Berghuis and Nijmeijer on the basis of a previous combined controller-observer strategy [3J. The scheme is constituted by: (i) a linear observer, which generates an estimated error state from the position error, described by the following system:

~ W + Ld(€ - e)

w Lp(e-e)

(3a) (3b)

where e := q - qd is the tracking error (with qd(t) being the joint reference trajectory), e : = Ii - qd is the estimated error, and the observer gains, Lp and Ld, are symmetric, positive definite matrices; (ii) a linear feedback controller that employs the estimates of the error state:

T = -Kd~ - Kpe (4)

where the controller gains, Kp and Kd, are symmetric, positive definite matrices.

It is shown in [1] that the resulting closed-loop system is uniformly ultimately bounded with a proper choice of the gain matrices Kp, Kd, Lp, and Ld, under not restrictive assumptions on the structure of such matrices, on the joint reference trajectory and the initial error state. A sort of 'semi-global stability' is achieved, as the required conditions can be met for any initial error state (see [1] for details about the choice of the gain matrices Kp, Kd, Lp, and Ld).

2.3 Observer 3

Berghuis and Nijmeijer presented in [2J a very simple controller-observer scheme for the global regulation of robots using only position feedback. The controller consists of a gravity compensation term and a linear state feedback, in which the velocity feedback part is replaced by a first-order linear compensator (i.e. an observer for the estimation of velocity only):

T G(q) - Kd~ - Kpe (5a)

~ -Lm + Kd€ (5b)

where G(q) is the gravity compensation term, e := q - qd represents the position error, and Kd, Kp, L are symmetric, positive definite matrices. The authors prove in [2] that the position controller (5) globally asymptotically stabilizes the robot system (1) at the equilibrium point (q, €, m) = O.

The peculiarity of this controller-observer scheme is that the controller does not employ the state variable m of the observer, but its time derivative :n; it can be quite easily proven [2] that x actually asymptotically reconstructs the velocity signal q.

Finally, for practical purposes, it is useful to note that the observer equation (5b) can be generalised as

~ = -L1:IJ + Lze (6)

where Ll and Lz are symmetric, positive definite matrices, with L2 not necessarily equal to Kd; the global asymptotical stability property of the closed-loop system still holds. The generalized form (6) of the proposed observer will be implemented in the experimental tests that will be discussed in Section 4.

2.4 Observer 4

The solution proposed by Kelly in [7] to the robot control problem by using only position measurements does not actually consist ill the insertion of a velocity observer, but in replacing the joint velocities q in the linear control law with the signals obtained by filtering the joint positions q, via a stable first order filter with sero relative degree.

3007

A filter is then designed for each joint, so to achieve a good approximation of velocity at least at low frequencies, as: 8i(s) = qi(S) . (bis)/(s + a;), cu, b; > 0, where (}i is the approximate velocity of the i-th joint, obtained from its angular position qi. The whole approximate velocity vector 6 : [61", (}n]T can then be expressed as the output of the following differential system:

-A:1! - ABq

(7a) (7b)

6

:1!+Bq

having :1! := [Xl'" XnY as state vector, and A = diag+c.}, B = diag{bi}.

It has been proven by Kelly [7] that the approximate velocity vector 6 can be employed in the following control law, instead of the true velocity vector q:

where e := q - qs; the so-obtained closed-loop system (constituted by (1), (7) and (8)) has a unique globally asymptotically stable equilibrium point in (e, ~, q) = (0,0,0), with ~ = ill + B qs,

It can be interesting to note that when filters (7) are implemented at discrete time, with sampling time T, the so-obtained approximate velocity 6(kT) can be expressed as:

O(kT) = (q(kT) - q((k - I)T)) IT + 6((k - 1)T)/2T

when A = diag{lIT}, B = diag{2/T}, in which the usual backward difference approximation, i.e. (q(kT) - q((k - l)T)) IT, is 'corrected' by the last term.

2.5 Observer 5

The last observer considered in this paper is a nonlinear, exponential, reduced-order one, proposed by Khelfi et alii in [8]. The design of the observer is straightforward in the sense that no change of coordinates is necessary, but the procedure to choose its parameters is quite complex.

For the subsequent development of the proposed nonlinear observer, it is useful to rewrite the robot dynamic model in the following state-space observable canonical form:

y

(9a) (9b)

where: OlJT = [ ... ;vf ... ], ;Vi = [qi qi]T, A = diag{Ai}, Ai = [0 1; O~, H = diag{Hi}, Hi = [10], I(;v) = [ ... Ii (OlJ)T ... J , fi(OlJ) = [0 ai(ill)jT, where ai (0lJ) depends on the parameters ofthe robot dynamic model, hey) = [ ... hi(y)T .. .jT, hi = [OJ bi(y)], where bi(y) is the ith row of the inverse inertia matrix of the manipulator.

The observer proposed by Khelfi et alii in [8] has the following state-space representation:

z Tfi

N'z + Ly + g(z,y) + j(y)T Mz+Ey

(lOa) (lOb) (10c)

(8)

where z E JPl.1l., aJ = [ ... if ... ] E JPl.2n, with aJi = [qi qilT, T = diag{T,;}, with T;T E JPl.2, N = diag{Nd, with N, E !Pl., L = diag{Li}, with L; E IPl., M = diag{Mi}, with M; E JPl.2, E = diag{E;}, with E; E JPl.2, g(z, y) = [ ... gi(Z, y) ... ]T, with gi(Z, y) E JPl., and j(y) = [ .. .:ji(y)T ... ]T, with {fey) E JPl.n.

It is shown in [8] that, under the assumption that the robot state 0lJ remains in the domain 1)0 where q is bounded, system (10) is an exponential observer for the robot system (9) if some conditions on the observer matrices, depending on the robot dynamic model, are satisfied. This requirement, i.e. the knowledge of the robot model, can be crucial in the practical realization of the observer, as uncertainties are generally present in the knowledge of the robot inertial parameters and of disturbances like friction.

In [8] sufficient conditions are given for the closedloop asymptotic stability, when the following control law is used together with observer (10):

T = -Kpe - Kdq (11)

where e := q - qd represents the position tracking error (qd is the fixed constant desired joint angular

position), and q is the velocity estimate supplied by the observer.

3 Application to a planar manipulator

The observers illustrated in Section 2 are implemented to control a SCARA two-link planar manipulator, with two revolute joints equipped with NSK brushless motors, incorporating resolvers for position measurements.

Figure 1: Sketch of the planar manipulator, with reference frames Ri and joiut coordinates qi.

The motion plane of the manipulator, which is sketched in Figure I, is orthogonal to the gravity acceleration vector, so that the gravity term G( q) in the robot dynamic equation (1) is a null vector. The performances of the observers are compared by using the estimated velocities to implement a linear state feedback control law, which is designed at continuous time in order to satisfy the following closedloop specifications in the frequency domain: (i) bandwidth c:: 60 radl s, (ii) maximum peak <::: 4 dB. The controller-observer schemes are then implemented at discrete time with sampling time T = 1 ms; the same values Kp = diag(2, I), Kd = diag(O.04,O.017) are kept for the controller gains in all the cases. The tests are performed by imposing a variation of both joint angles ql and q2 form 0 to ?r/2rad along a 2-1-2 trajectory (i.e. by applying a trapezoidal velocity profile).

3008

4 Experimental results

The results obtained by using the different observers are reported and discussed in this section; the control performances are compared also with the robot response obtained by approximating the joint velocities at discrete time by using the simple backward difference: qi (kT) = (qi (kT) - qi « k - 1 )T)) IT.

4.1 Test with observer 1

Position error [rad] • joint 1

Position error [rad] - joint 2

time[s]

Figure 2: Experimental results: tracking errors with observer 1 (solid line) and with backward difference approximation (dashed line).

The observer (2) illustrated In Section 2.1 is implemented at discrete time, in conjunction with the linear state feedback control law, by choosing: Hp = diag(7,6.2), H; = diag(2,4), e = 0.002. The position tracking errors so obtained are reported in Figure 2 with a solid line, and compared with those provided by employing the backward difference approximation (dashed line). The constant behaviour appearing at the end of the plot depends on the data acquisition software and is not related to the observers performances. The errors are strongly reduced with respect to the 'backward' approach; similar results, not reported for space reasons, are obtained also by employing the position signal estimated by the observer instead of the measured one. The only matter with observer 1 is that the real execution of the robot movement is quite 'noisy'; a quieter motion can be achieved with a different choice of the observer parameters, which unfortunately produces a worsening in the tracking error.

4.2 Test with observer 2

The controller-observer scheme (3), (4), discussed in Section 2.2, is implemented at discrete time with Lp = diag(lOOOO, 12900), La = diag(250, 280).

timor,]

Figure 3: Experimental results: tracking errors with observer 2 (solid line) and with backward difference approximation (dashed line).

time lsl .)

40r----,--~~_..:C=O~=;: ... .::_d ",:::. .. ~u,:.:[N=m:.,] . .::jO:::.in':::.' ~--,--~~---,

-300'-----COL]~OL.4~OL.6~Oj8 --~---1~-- _L_~IL.8__j timers]

h)

Figure 4: Experimental results: applied torque on joint 1 with observer 1 (a) and with observer 2 (b).

The so-obtained position tracking errors are reported in Figure 3 (solid line); also in this case, a good reduction of the errors is obtained with respect to the backward results (dashed line), even if not as large as in the previous case.

On the other hand, the oscillations of the applied command torques are smaller than with observer 1, in particular for the first joint, so that the robot motion is less 'noisy'; Figure 4 shows the time-hystory of the torque applied to joint 1 in both cases.

3009

4.3 Test with observer 3

The controller-observer scheme (Sa), (6), illustrated in Section 2.3, is implemented at discrete time with G(q) = 0 and Ll = diag(200,250), L2 = diag(150, 235).

Position trror[radl- joint 1

time[~J

Positioo t:rror Iradl- joint 2

Figure 5: Experimental results: tracking errors with observer 3 (solid line) and with backward difference approximation (dashed line).

Estimated velocity [red's] • joint I

1.8

ume [s) a)

Estimated velocity [cadis] • joint I

o. O.

6
A i ". . ..... ....
2 / . : :\ .......
1 : · \ • . ...... .......
s I • • • \ .!. .... .........
6 v : : • \ ! ....... ; .......
+/ • . \ ....... .........
• ! i \ .... .........
2· • • • •
0 ! : ! • "
1 ·0

0.2

0.5 D_l:I 1 1.2 1.4 1,6 1,8

timers]

b)

Figure 6: Experimental results: joint 1 estimated velocity by observer 1 (a) and by observer 3 (b).

Figure 5 shows the obtained position tracking errors (solid line), compared with the backward results (dashed line). The performances are good also in this

case, even if the results obtained Ly observer 1 remains the best ones from the precision point of view. On the other hand, the estimated velocity provided by observer 3 is less noisy, as it is shown in Figure 6, by comparing the estimates of the first joint velocity obtained by observer 1 (a) and by observer 3 (b).

4.4 Test with observer 4

As explained in Section 2.4, the solution proposed by Kelly [7] and indicated as 'observer 4' is actually constituted by the first-order filters described by equations (7). The complete control scheme (7), (8) is implemented at discrete time with G( q) = 0 and A = diag(llOO, 1100), B = diag(170, 160).

_tionorror[rndJ-joUt2

-20L_~-:'---c':---,L---''-~-:'--:-1.6:-~' 0""8 ----' tim: [s]

Figure 7: Experimental results: tracking errors with observer 4 (solid line) and with backward difference approximation (dashed line).

Command torque [Nm] - joint 1

i ! : ~ : ~ i : :

':]_1

-2QO 0.'2 0.4 0.6 0.8 1 1.2 1,4 1.6 1_8 2 timers]

Figure 8: Experimental results: applied torque on joint 1 with observer 4.

As Figure 7 shows, the position tracking errors obtained by using filters (7) (solid line) are worse than those provided by the backward velocity approximation (dashed line) during the entire motion of the

3010

robot. The use of such filters in conjunction with a linear control law may offer good performances in a regulation task, but it gives unsatisfactory results from the tracking point of view,

On the contrary, an improvement can be observed with reference to the command torques, which are smaller and 'well-filtered', so that a very quiet movement of the robot is achieved (see e.g. Figure 8, in which the torque applied to the first joint is reported, and compare it with the previous results reported in Figure 4).

4.5 Test with observer 5

The nonlinear observer (10), discussed in Section 2.5, is implemented in conjunction with the usual linear control law, at discrete time, with HI = [1.1 0.9], Hz = [3 0.5], kl = 100, k2 = 160, where R;, ki define vectors 7i in the observer (10) as 7i = R.; - kiH; (see [8] for details).

The so-obtained tracking results are reported in Figure 9; the position tracking errors (solid line) are comparable with those obtained by the backward difference approximation, reported with a dashed line (in some phases of the movement they are even worse).

Different choices have been made for the observer parameters, but it has not been easy to find out the best solution. In fact, the real behaviour of the controlled manipulator in this case is quite different from the one resulting by the simulation tests (not reported for space reasons), due to the presence of uncertainties in the robot dynamic model (of friction, in particular), on which the observer parameters depend. A very quiet motion of the robot is produced anyway.

Position error (rad] • joint 1

'0

0.2

Position error [rad] • joint 2

Figure 9: Experimental results: tracking errors with observer 5 (solid line) and with backward difference approximation (dashed line).

5 Final remarks and conclusions

The carried out tests have shown that the highgain observers 1 and 2 produce the best results from the tracking error point of view, but a quite noisy movement of the manipulator, which may be undesirable for greater robots employed for industrial applications. Observer 3 represents a valid compromise, as it offers a good tracking error and a particularly 'clean' estimate of the joint velocity; this solution can be preferred when the estimated velocity signal must be used not only for the robot control, but also for other applications, e.g. for the dynamic calibration of the manipulator itself. The last two solutions have not offered good results from the tracking point of view; in particular, the performances obtained by using the nonlinear observer are quite sensitive to uncertainties in the robot dynamic model.

Then, it results from these tests that the choice of a particular observer should be made on the basis of different factors, as the desired task, the intended use of the estimated velocity signals, and the available knowledge of the controlled robot. Finally, it must be noted that further improvements of the control performances can be achieved by inserting a filter on the estimated velocity signals.

References

[1] H. Berghuis, H. Nijmeijer, "Robust Control of Robots via Linear Estrmated State Feedback", IEEE Trans. on Aut. Contr., 39, 10, 2159-2162,1994.

[2] H. Berghuis, H. Nijmeijer, "Global Regulation of Robots Using Only Position Measurements" , Syst. fj Contr. Lett., 21, 289-293, 1993.

(3) H. Berghuis, H. Nijmeijer, "A Passivity Approach to Controller-Observer Design for Robots", IEEE Tmns. on Robot. and Autom., 9, 6, 740-754, 1993.

[4] C. Oanudas de Wit, N. Fixot, K.J. Astram, "Trajectory Tracking in Robot Manipulators via Nonlinear EstiInated State Feedback", IEEE Trans. on Robot. and Autom., 8, 1, 138-144, 1992.

[5] F. Desa, D. Bossanne, E. Busvelle, J.P. Gauthier, D.

Rakotopara, "Exponential Observers for Nonlinear Systerns", IEEE Trans. on Aut. Contr., 38, 3, 482-484, 1993. [6] M. Erlic, W.-S. Lu, "A Reduced-Order Adaptive Velocity Observer for Manipulator Control", IEEE Tra.ns. on Robot. and Autom., 11, 2, 293-303,1995.

[7] R. Kelly, "A Simple Set-Point Robot Controller by Using Only Position Measurements", Proc. 12th IFAC World Congr., 6, 173-176, 1993.

[8] M.F. Khelfi, M. Zasadzinski, H. Rafaralahy, E. Richard, M. Darouach, "Reduced-Order Observer-Based Point-ToPoint and Trajectory Controllers for Robot Manipulators", Contr. Eng. Pract., 4, 7, 991-1000, 1996.

[9] S. Nicosia, A. Tornambe, P. Valigi, "Experimentel Results in State EstiJnation of Industrial Robots", Proc. 29th IEEE ConI. on Dec. and Contr., 360-365, 1990.

[10] S. Nicosia, A. Tornambe, "High-gain observers in the state and parameter esfimation of robots having elastic joints" , Systems €J Control Letters, 13, 331-337, 1989.

[11] Z. Qu, J. Dorsey, "Robust Tracking Control of Robots by a Linear Feedback Law", IEEE Trans. on Aut. Contr.,36, 9, 1081-1084, 1991.

3011

You might also like