Fault Detection and Isolation for Mechanical Manipulators Via Luenberger Observers

Fault Detection and Isolation for Mechanical Manipulators Via Luenberger Observers

Copyright Cl IFAC Robot Control, Vienna, Austria, 2000 FAULT DETECTION AND ISOLATION FOR MECHANICAL MANIPULATORS VIA LUENBERGER OBSERVERS Marco Henr...

3MB Sizes 2 Downloads 132 Views

Copyright Cl IFAC Robot Control, Vienna, Austria, 2000

FAULT DETECTION AND ISOLATION FOR MECHANICAL MANIPULATORS VIA LUENBERGER OBSERVERS

Marco Henrique Terra*, Rodrigo Aznar Mendes*, Marcel Bergerman**

*Electrical Engineering Department - EESC/USP p.a. Box 359,13560-970, Sao Carlos, SP, Brazil terra, [email protected] **Informatics Technology Center

p.a. Box 6162,13083-970, Campinas, SP, Brazil [email protected]

Abstract: This paper presents a novel fault detection and isolation method for mechanical manipulators based on Luenberger observers. The method is able to cope with free-swinging joint failures, which render the joint actuator inoperative and with zero torque. A variable threshold is defined to improve the fault detection and isolation anytime during the joint trajectory. After the fault is detected and isolated, a control reconfiguration method is invoked to command all joints, including the failed one, to their desired set-point. Simulation results illustrate the validity of the method. Copyright © 2000IFAC

Keywords: Fault detection, Fault isolation, Observers, Manipulators

1991; Bergerman and Xu, 1996) to command all joints, including the failed one, to their desired setpoints.

1. INfRODUCfION Fault detection and isolation for mechanical manipulators has been an important topic of research in the past few years (Schneider and Frank, 1996; Terra and Tin6s, 1999; Vemuri and Polycarpou, 1997; Visinsky et al., 1994; Visinsky et aI., 1995). This is due to, among other factors, the importance of manipulator reliability to the economy and the everincreasing number of robots entering the service market. In this article, Luenberger observers (Luenberger, 1966; Luenberger, 1971) are utilized to generate the residues which characterize the presence of a fault. These observers allow one to define insensitivity conditions which constrain, for a set of faults, what the observer needs to be insensitive to, and sensitivity conditions for the observers to detect a specific fault.

Th!! Luenberger observers are designed based on the feedback linearization of the manipulator dynamics. Because it is harder to detect a free-swinging joint failure when the joint position is close to the set-point (since in this situation the joint torque is minimal), we adopt a variable threshold to successfully achieve FDI all over the joint's trajectory. This article is organized as follows: Section 2 introduces the theory of Luenberger observer design. Section 3 presents the contribution of this article, Luenberger observer-based manipulator fault detection and isolation. Section 4 presents the postfailure control reconfiguration scheme. Section 5 presents simulation results to validate the method proposed.

Once a fault is detected and isolated, we adopt a control reconfiguration method (Arai and Tachi,

25

T.Q = 0

2. LUENBERGER OBSERVERS

(6)

In this section we introduce the main mathematical tool utilized in the article, the theory of Luenberger observers. A more detailed account can be found in (Luenberger, 1966; Luenberger, 1971).

where Q: n x q

Once the number of observers is defined, taking into account the plant model, each observer is designed according to a matrix Qj. Matrix F is arbitrary but must be stable. Let the nonsingular matrix V E ~n be the linear transformation such that:

Consider the linear dynamic system: ! = A· !(t) + B· !ift)

(l.a)

2::(t) = C· :!(t) + D· !f(t)

(l.b)

(7) Matrix V exists (for any C with full row rank) and is given by

and the observer: ~ =

F· ~(t) + T· B. g(t) + G .2::(t)

e(t)

=

K· ~(t) + p. 2::(t)

and q:s m-I

(2.a)

(8)

(2.b) with V E ~(n-m) with U column vectors orthogonal to the rows of C (i .e., Kernel(C) = Image(V». Define

where e(t) is a residual, scalar signal corresponding to one observer. The dimension and structure of the observers bank will be defined below. A sufficient condition for stability of the observer, or for e(t) --+ 0 is, for F an arbitrary but stable matrix (Ge and Fang, 1988):

T.A-F.T=G.C

(3.a)

K·T+P·C=O

(3.b)

A~V ·A· V· l , C~C. V· l ,T~T. V· l Solving system (3) one has:

T.A-F.T=G.C

If a fault occurs in system (1), e(t) does not converge to zero, a fact that can be used for fault detection via a bank of observers. The residue can be seen as a

$:>

T·A-F·T=G·C

Each observer corresponds to one residual signal. Equation (10) can be rewritten as:

fault signature. To understand how the bank can isolate the fault consider the following system: :!

=

A o!(t) + B og(t) + 4(t)

2::(t) = C ° :!(t) + D ° !f(t)

(11)

(4.a)

where the matrix on the left, has r+m components and the matrix on the right has n columns. Equation (11) can be partitioned as:

(4.b)

where 4(t) represents the influence of the fault in the system. The fault only affects e(t) of one of the observers of the bank if, for components of 4(t) different from zero, there exist a corresponding column, different from zero, in T. When a component of 4(t) does not affect e(t) the observer is said to be insensitive to this component; otherwise it is sensitive. Fault detection is achieved by comparing the residual signals e(t) with pre-defined thresholds. The number of sensitive observers of a system of order n with m linearly independent (U) outputs is:

n ) n! observers ( -- = m-I (m-I)! (n-m+l)!

(9)

(ToA:-FOT)T: l- GoeT: lOG

(lh)

(T. A- F· T). [ ·~·l = G· C. [ ·~·l = 0

(12.b)

I "-In

I "-In

In (12.b), a first solution is searched for with r = 1, choosing Al a stable eigenvalue of F: 0",,(" - In)

(5)

t 1 ·( A-~ .1).

=0

(13.a)

1

A fault in one component affects all others components. For each observer, the insensitivity condition is a constraint to be considered in its design. Given the matrix Q formed by U column vectors which represent the set of faults for which the observer needs to be insensitive, the insensitivity condition is given by:

(13.b)

t:"

where E K', there exist m (or more) row vectors L.I. dlk E K' such that:

26

k

~

1, ... ,m

observer, we utilize the same method for r = 1. There exist r.. , or more, U vectors drk E Rrxn, such that:

(14)

One can rewrite matrix T as a linear combination of m vectors of d Ik :

d ••.

[/.®AI.~. -F' ®1.°. ]=0

.k-1 •.. . •,. (21)

(15)

We can rewrite T as a linear combination of rm vectors d rk :

(16)

.U·Q=O

(22) d rrm

The quantity q s m -1 of matrix Q E IFq is the nwnber of states (or components) for which the

The linear combination is determined according to the desired sensitivity:

observer must be insensitive. With tl , the solution of

t.Q=tj.U.Q=O ,i=1. .. r

(13.a) is given by:

(23)

I

or

I ..

(17)

(~ ...t;).

o

U·Q

0

0

0

0

0

We now have the first solution for the weight

UoQ

0

matrices of the observer. For the matrix t, computed there exists kl ER and PI E R Ixm which satisfy (11); we must also verify if there exists kl different from zero which satisfies the following equation:

er

=0

I..

0

Q .0 '.

~1

=0

(24)

0 UoQ

From the solution T designed in (12.a), we obtain G. Now, (11) needs to be verified, and if forT designed there exists a K not null, the solution will be obtained computing P such that:

PI • C •

=

PI

(19)

P=-K·T •. ~.

Im]

(25)

0

This is the solution of (3.a - 3.b). If one cannot obtain k j not null, one must increase the order of the observer. In this case, (12.b) needs to be rewritten as follows:

3. LUENBERGER OBSERVERS FOR

MANIPULATOR FDI In this section we describe the contribution of this article, namely, the application of Luenberger observer theory for manipulator fault detection and 1 presents a schematic isolation. Figure representation of the method, which can be swnmarized as follows. The manipulator controller is fed a pre-computed sequence of joint positions, or a complete joint trajectory, to be followed. During the motion, an observer bank generates residuals that are compared, in real time, with pre-defined thresholds. Once any of the residuals reaches above the threshold, a fault decision logic module identifies which joint failed and invokes a control reconfiguration scheme (presented in the next section) to bring all joints to their desired set-points.

(20.a)

(20.b)

T=

tU.0

1.. =

o

0

(18)

If there exist kb we can obtain PI via (3.b) :



:

d r rm

o

- kl • t I

d~ I 0

t, where @ represents the Kronecker product . The equivalence between (12.b) and (20.a) can be verified observing the properties of the Kronecker product. Choosing a new stable eigenvalue, we have a new matrix F E R"u . To increase the order of the

27

Considering that the manipulator robot model has 6 states and 6 U outputs, from (5) six observers are sufficient to detect and isolate the free-swinging joint faults. Each observer ei is sensitive component i, for i = 1, ... ,6. The insensitivity matrices Q i for each observer are:

J f-FofUhs

Positions Relerence

,------,

+

o

Residuals

Fig. 1: Luenberger observer-based fault detection and isolation.

The Luenberger observer is designed taking into account the manipulator linearized dynamic equations, obtained from the classical computed torque control method. For the sake of clarity, in this section we consider a 3-link manipulator, however, the reader must keep in mind that the theory is valid for any n-link arm. The linearized state space model for the manipulator can be found from equation (26) as follows :

X, X3

X,

x,

010000 00000 0 000 1 0 0 o 0 0 000 00000 1 00000 0

0 000 10000 01000 o 0 1 0 0

1 0 0 0 0 00000 01000 O2 - 0 0 I 0 0

00010 00001

00010 00001

1 0 0 0 0

o

1 0 0 0 o 0 1 0 0 0 0 0 0 0

04 =

00001 0 00000

= q"

I

0 0

0 0 I

0 fi 0 0 fi 000 0 000 0 000 0 000 0 o 0 0 0 000 0 000 0 000 0

lL-000100

XI

X2

~=~,~=~=~,~=~,~=~=~.

o

residue 2 > residue 1 and residue 3

fault 2

residue 3 > residue 1 and residue 2

fault 3

0 0 0 1 0 000

0

0

0

0 1 0 0 0 0 0 1 0

06 -

1

0

0

0

I

0 000 0 000 0 000 0 000 0 000 0 0 0 0 000 0 0 0 0 0 fi I 0 0 0 fi 0 0 0 0 fi I 0 0 0 fi

fi 0 0 0 0

o

0

0

0

fi -I

0 0

0 0

0 0

0 0

0 0

o

0

o -fi 0

0 0

0

0

fi -I

0

o

0

0

0

o o o o

0 0

o o o o

0 0 0

o Gi _

o o o

I 0 0 0 0 I

0000000 0000000

0000

1000000

o K .•

utlloooo

001 000 0 o 0 0 0 0 0 0 0 0 I 0 o 0 0 0 0 0 0 0 0 0 0

0

o o o

o o o o

-fi 0

0 0

0

fi

0 0 0 1

o

-1

0 0 0 -fi 00000 -I 0 0 0 0

p .• O O I O O O utll

0

0

0 -I 0

0

000010 o 0 0 0 0 -I

4. POST-FAILURE CONTROL RECONFIGURAnON

Table 1: Fault decision logic.

fault 1

o o

0 0

0 0 0 0 0 0 I

-I 0

000 000100 000 0 0 0 o 0 0 -I 0 o 0 0 0

The fault decision logic simply compares the residues for each joint, and decides on which one failed according to the rules in Table 1.

residue 1 > residue 2 and residue 3

o

T~

The residues' behavior varies according to the joint velocities and torques. In the beginning of a trajectory the velocities and the torques are greater than in its final portion (close to the set-point), when the residues tend to zero. As a consequence of this fact, to correctly detect and isolate the faults we adopt a sequence of observers with time-varying dynamics. Initially the observer has a fast dynamic response, which decreases as time progresses.

Fault

000 0 0 0 000 0 0 0 fi 1 0 0 fi 0 0 0 fi 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

000000 -I 0 0 0 0 o 0 0 0 I 0 0 0 0 000000

= Xl = ql ,

Residues

1 0

o

o fi

1 000 0 0 o 1 0 0 0 0 001 000

The states are defined as

0 0

0

00000

o o

0 0

I

0

0

For the i-th observer bank the design procedure of section 2 yields, after the elimination of null rows, the following matrices:

1 0

0 0 0

0

1

0 0 0

x,

1 0 0 0

0

fi

X6

1 0

o o

0 0 0

1 0 0 0

0 0

0 0 1

0 0 0

+

00010 00001

0 0

o

Xl

X3

03 -

1 0

o

x,

x,

1 0 0

o o 05 = o

I 000 0 01000 00000 0 0 I 0 0

A manipulator with one or more failed Jomts is known in the literature as an underactuated manipulator. The failed joints are usually called passive joints, while the operational ones are called active joints. Control methods to bring all joints (active and passive) of an underactuated manipulator to their set-points have been proposed by several

?R

authors, including Arai and Tachi (1991) and Bergerman and Xu (1996). In this article we utilize the method in (Arai and Tachi, 1991) to bring the manipulator to a desired configuration after a failure occurs.

Table 2: ManiI!ulator I!arameters.

Consider an n-link manipulator with rigid links. Let q represent its joint vector and 't represent its torque vector. To understand how the position of the passive joints can be controlled, consider the dynamic equations of the manipulator:

In (26), M is the n x n symmetric, positive-definite inertia matrix, and b is the n x 1 vector of noninertial torques. Assume that na degrees of freedom of the manipulator are active joints, and the remaining np degrees of freedom are passive joints that have holding brakes instead of actuators. When the brakes are released, the passive joints can move freely and are controlled indirectly by the coupling forces generated by the motion of the active joints. In this situation, Equation (26) can be partitioned as:

Map ][~a] + [b a] qp bp

center of mass (m)

1

1.83

0.0153

0.203

0.03

2

0.81

O.OlO

0.203

0.06

3

0.81

O.OlO

0.203

0.06

In the first experiment, all joints are fed a trajectory starting at qi = [000] and ending at qf= [302 302 302 ] . At t = 1 second we introduce a fault at joint 2. Figure 2 presents the results. Figure 2a shows the joint positions moving towards the set-point until the failure occurs. Upon detection, all joints are locked for 1 second for control reconfiguration purposes (note the zero joint velocities in Figure 2b and joint torques in Figure 2c). From t = 2 seconds joint 2 is controlled to its set-point and locked. Joints 1 and 3 are then controlled and the manipulator reaches its desired configuration. The velocity residues are shown in Figure 2d, where one can clearly see how that the residue in joint 2 is greater than residue of the other joints. Based on the fault decision logic of Table 1, an alarm is signaled indicating the fault (Figure 2e).

where the subscripts a and p denote quantities related to the active and passive joints, respectively, and 'tp = o because no torque is applied at the passive joints. Manipulating (27) one arrives at: (28) Based on Equation (28) Arai and Tachi (1991) proposed a feedback linearization controller to control the positions of the joints in qp' The method consist of defining an auxiliary input u with: (29) is invertible,

length (m)

In this article two threshold levels are adopted. From t = 0 until 0.15 s the threshold is equal to 0.005, and from this point it is equal to 0.003.

M pp

ap

Inertia (kg m2 )

t

(27)

such that, when M

mass (kg)

As explained in section 3, we design observers banks with time-varying dynamics to better detect faults during the joint motions. Based on trial and error experiments, we adopt the following eigenvalues for Fj , for each observer bank: = -2000, -1000, -500, -400, -300, -200, -100, and -50, where i = 1, ... ,8 adopted at the following instants: 0 seconds, 0.15s, 0.5s, Is, 1.5s, 1.8s, 2.5s, and 3.2s. Given Qi and Fj for each observer, the observers bank were designed according to the algorithm in section 2.2, and discretized for a sampling period of lOms.

(26)

= [ : aa [:a] p pa

Joint

ij p = u. In the

absence of modeling errors and external disturbances, substitution of u in (29) by a PID-like controller of the form

~

1:1 I. : - /_ .

F

I '.

.;-

(a)

guarantees that qp follows a desired trajectory

.:

. .

.-

-,

d

qp Ct) .

5. CASE STUDY

~-1

To validate the concepts presented above we simulate a three-link planar manipulator subject to freeswinging joint failures . The manipulator parameters are given in Table 2.

"'".+ :.\-.-/""".-: \ ;

(b)

29

I

.,./ '

'1

,

'F--'--"--"-'-'-'-'-'-'--'i'- .- .-

:::::\::

[.

'-

: .

-1 -

f. t-

-.-, -, - ,-\.- \ .-

j~

- '-

-

-

-

-

-

-

of

,~

i

:: : :

~j

'j -I,- '-,''. . -' -" -' -.-

1" _' I'_ ,' _i. ', _"C_ " ~ _ " , .. - ,-: -, ', ' ,- -, ,

"

"~l ~ : ~ :: : ~ \l/:: . '" ,. ~

:: t ~

-

"

1-: ~:-:-=-~ -- ~;

.

(c) (c)

Fig. 3: Fault detection and isolation at the beginning of a trajectory. (a) Joint 1. (b) Joint 2. (c) Joint 3. -Jairtl

..

-JoIrt2 -

Jalrt3

6. CONCLUSIONS

!.

,i·

This article presents a novel FDI method for mechanical manipulators based on Luenberger observers. By adjusting the observer dynamics and by adopting a variable threshold the method is capable of detecting joint faults at any point during a trajectory. Our future work will consider experimental validation of the proposed method.

(d) . - ,-

~I

~

7. REFERENCES Arai, H. & Tachi, S. (1991). "Position control of a manipulator with passive joints using dynamic coupling". IEEE Trans. on Robotics and Automation, 7(4), 528-534. Bergerman, M. & Xu, Y. (1996) "Robust joint and Cartesian control of underactuated manipulators". Trans. of the ASME, Journ. of Dynamic Syst., Measurement, and Control, 118(3),557-565.

(e)

Fig. 2: Experiment #1. (a) Joint positions. (b) Joint velocities. (c) Joint torques. (d) Velocity residues upon the occurrence ofthe fault. (e) Fault alann.

Ge, W. & Fang, C. Z. (1988) "Detection of faulty components via robust observation". International Journal of Control, 47(2), 581-599. Luenberger, D. G. (1966). "Oservers for multivariable systems". IEEE Trans. on Automatic Control, 11(2), 190196.

In the second experiment we introduced a fault at each joint separately at t = 0.1 seconds, to illustrate the capability of the Luenberger observer to detect faults anytime during the trajectory. Figure 3 presents the results, where one can see the pairs of graphics residue-alann. All faults were correctly detected and isolated.

f'

J:

Luenberger, D. G. (1971). "An introduction to observers". IEEE Trans. on Automatic Control, 16(6), 596-602. Schneider, H. and Frank, P. M. (1996). "Observer-based supervision and fault-detection in robots using nonlinear and fuzzy logic residual evaluation", IEEE Trans. on Control Systems Technology, 4(3), 274-282. Terra, M. H. and Tin6s, R. (1999). "Fault Detection and Isolation in a Puma 560 Manipulator via Neural Networks". 14th World Congress ofIFAC, Beijing, China.

. .

.~

-

Vemuri, A T. and Polycarpou, M. M. (1997). "Neuralnetwork-based robust fault diagnosis in robotic systems", IEEE Trans. on Neural Networks, 8(6),1410-1420.

-

-

'~-'~ ,,' ,

..

..

(a) - '-

I f:

\

Visinsky, M. L, CavaUaro, J. R. and Walker, I. D. (1994). "Robotic fault detection and fault tolerance: A survey" , Reliability Eng. and System Safety, 46,139-158.

'-

- :-/t1· -t\~~ . :

Visinsky, M. L, CavaUaro, J. R. and Walker, I. D. (1995). "A dynamic fault tolerance framework for remote robots". IEEE Trans. on Robotics and Automation, 11(4), 477-490.

-

--~ This work is partiaUy funded by FAPESP under grant nos. 99110031-1 and 97/13384-7.

(b)

30