Samia Mellah
email: samia.mellah@lis-lab.fr

Guillaume Graton

Mostafa El

Adel El

Mustapha Ouladsine

Alain Planchais

E M El

On fault detection and isolation applied on unicycle mobile robot sensors and actuators

Keywords:

In this paper, a combination of model-based and hardware redundancy methods is proposed for both sensor and actuator fault detection and isolation (FDI) of unicycle mobile robots. A focus is brought on robot drift-like faults on wheels and sensors. The goal is to detect and isolate the faulty component as early as possible. The proposed method is based on a combination of hardware redundancy and a bank of Extended Kalman Filters (EKF). Each filter is tuned for a specific fault, to generate residuals with different signatures under different component faults. The different signatures allow the fault isolation. Simulation results show that the proposed method allow to detect both wheels and sensors small drift-like faults and isolate them as early as possible.

I. INTRODUCTION

Nowadays, autonomous robotic systems are increasingly used in various activities. Their advantage lies in that they can help humans to achieve their goals more easily or replace them to accomplish several activities which can be difficult, repetitive, tedious, expensive, risky or even impossible to be achieved by humans. In parallel, demands of their reliability and maintenance are increasing.

The appearance of faults is inevitable in the complete life of embedded systems like wheeled robots. These faults can be due to the wear of their elements or the environment in which they move, or when they present unanticipated situations.

The detection of a fault and the isolation of the faulty component before the system failure is very important. This allows the global system failure avoidance by changing the faulty component, making a fault tolerant control, or planning a corrective maintenance so that to insure the system reliability and safety. This is the reason why studies on fault detection and isolation (FDI) are significantly growing.

Any not-permitted deviation from the system normal behavior can be considered as a fault. According to [START_REF] Sayed-Mouchaweh | Abrupt and Drift-Like Fault Diagnosis of Concurrent Discrete Event Systems[END_REF], two types of faults can be distinguished: abrupt and driftlike faults. An abrupt fault is viewed as a violation of the component desired behavior, while a drift-like fault is viewed as a drift in the normal characteristics of component response. Moreover, in the same reference [START_REF] Sayed-Mouchaweh | Abrupt and Drift-Like Fault Diagnosis of Concurrent Discrete Event Systems[END_REF], a fault can be permanent or intermittent. In the first case, after the fault occurrence, the system remains in the faulty conditions indefinitely, while in the second case, the fault can appear only during certain periods of time and then it disappears. Abrupt faults are generally easy to detect.In this paper, only permanent drift-like faults are handled. They are considered as undesired behaviors and linked to the component wear.

FDI is a procedure which allows the faulty component determination. In [START_REF] Mouzakitis | Classification of Fault Diagnosis Methods for Control Systems[END_REF], FDI methods are broadly classified into three main categories: history-based methods (e.g.: pattern recognition, neural network), hardware-based methods (e.g.: voting techniques, limit checking, hardware redundancy), and model-based methods, where two main classes are distinguished: qualitative approaches (e.g.: fault trees, digraphs), and quantitative approaches (e.g.: parity space, parameter estimation, observer-based approach such as Kalman filter and particle filter).

Model-based FDI is a method to perform the detection and isolation of faults using mathematical models. The mathematical model of the process runs in parallel to the real system and is driven by the same inputs. The occurrence of a fault leads to a dissimilarity between the outputs of the process and those of the mathematical model. The difference between the measured process variables and their estimates through the model is called residual. FDI goal is to detect faults as early as possible, to provide a timely warning and then to isolate the faulty component.

Authors, in [START_REF] Zhuohua | Fault Diagnosis and Fault Tolerant Control for Wheeled Mobile Robots under Unknown Environments: A Survey[END_REF], give a state of the art about fault diagnosis and fault tolerant control for wheeled mobile robots under unknown environments. In [START_REF] Anastassia | Model-Based Fault Diagnosis Techniques for Mobile Robots[END_REF], model-based techniques for mobile robots FDI are summarized.

Regarding model-based FDI for autonomous mobile robots, several efforts have been made to detect either sensor or actuator faults. In [START_REF] Fourlas | Model based actuator fault diagnosis for a mobile robot[END_REF], a structural analysis-based technique to detect actuator faults in wheeled mobile robots is proposed. In [START_REF] Roumeliotis | Sensor fault detection and identification in a mobile robot[END_REF], a bank of Kalman filters is used to detect and identify sensor failures in mobile robotic system. The considered faults in this work are gyroscope and encoder failures. In [START_REF] Hashimoto | Sensor fault detection and isolation for a powered wheelchair[END_REF], FDI on powered wheelchair sensors using a model-based method is studied. In [START_REF] Yutian | Integrated Fault Diagnosis Method of Mobile Robot[END_REF], authors use a bank of Kalman filters combined to an expert system to detect and isolate mobile robot sensor faults. In [START_REF] Fourlas | Sensors fault diagnosis in autonomous mobile robots using observer Based technique[END_REF], Kalman filter identification technique is used to detect and isolate sensor faults in mobile robotic system. In [START_REF] Verma | Efficient Monitoring for Planetary Rovers[END_REF] and [START_REF] Verma | Non-Parametric Fault Identification for Space Rovers[END_REF], particle filter is proposed to monitor the states of rover and analyze the feasibility of the particle filter approach for fault detection in mobile robots. In this approach [START_REF] Verma | Non-Parametric Fault Identification for Space Rovers[END_REF], several discrete states are used, one for each fault mode, and an associated model for the continuous states is used for every mode. In [START_REF] Cai | A multiple particle filters method for fault diagnosis of mobile robot dead-reckoning system[END_REF], rule inference method is combined to multiple particle filters to diagnose faults in wheeled mobile robots.

Results show that particle filters are powerful for tracking systems, and give a probability distribution over the states, given as samples (particles). The drawbacks are that the computational demands increase fast with the state dimension, and a model is needed for each fault to track the probability of being in a fault state. With the Kalman filter, only normal behaviour model (fault free) is required to track the system. Faulty modes are studied by testing possible deviations from the normal model [START_REF] Sundvall | Fault detection for mobile robots using redundant positioning systems[END_REF].

The Extended Kalman Filter (EKF) is one of the methods which provide feasible solution for residual generation of Bayesian and non-linear systems [START_REF] Julier | A New Extension of the Kalman Filter to Nonlinear Systems[END_REF].

Mobile robot localization problem is widely treated in the literature and several methods are proposed to insure a reliable positioning. As example of references, see [START_REF] Thrun | Monte Carlo localization for mobile robots[END_REF] and references therein. A detailed and in-depth studies can be found in the relevant literature. In this work, the robot position (x, y) is assumed to be given without fault and in real time by a reliable positioning technique.

In this paper, the mobile robot is assumed to be equipped with two optical encoders which provide rotational speeds of the right and left wheels ω r and ω l respectively, and with three redundant gyroscopes which provide the yaw angle θ between the mobile robot axle and the x-axis of the mobile robot (see Fig. 1). A model-based approach using a bank of EKF and a hardware redundancy is used to detect and identify both of actuator and sensor faults in a unicycle mobile robot.

The paper is organized as follows: a presentation of the mathematical kinematic model of a unicycle wheeled mobile robot, and its closed loop control are given in section II. Section III describes the EKF theory, the investigated faults, and the residual generation with their signature table under different faults. In section IV, simulation results are presented to validate the proposed FDI approach, followed by a conclusion and some perspectives in section V.

II. UNICYCLE MOBILE ROBOT A. Unicycle mobile robot kinematic model

The geometry of the robot is presented in Fig. 1. To consider the model of the unicycle mobile robot, it is assumed that the robot is placed on a plane surface where

(0, - → x , - → y ) is the inertial reference frame and (G, - → v x , - → v y ) is
a local coordinate frame fixed on the robot at its center of mass following the robot linear speed direction on x and y. The kinematic model is given in the inertial reference by a continuous state-space representation as follows [START_REF] Fourlas | Sensors fault diagnosis in autonomous mobile robots using observer Based technique[END_REF]: The linear and angular velocity v and ω are given as a function of the angular velocities of the right and left wheels respectively ω r and ω l , with the following relations [START_REF] Roumeliotis | Sensor fault detection and identification in a mobile robot[END_REF]:

   ẋ(t) = v(t) cos θ(t) ẏ(t) = v(t) sin θ(t) θ(t) = ω(t) (1)
     v = (ω r + ω l )r 2 ω = (ω r -ω l )r b (2)
with r and b two constants denoting respectively the wheels radius and the distance between the wheels. The measured vector Y is given by:

Y = [x, y, θ, w r , w l ] T (3)
Finally, the robot model is given by:

Ẋ = F (X, u, t) ; Y = CX + Du (4a-b)
with:

X =   x y θ   , C =       1 0 0 0 1 0 0 0 1 0 0 0 0 0 0       , D =          0 0 0 0 0 0 1 r b 2r 1 r - b 2r         
Since the measurements are provided at regular times defined by a sampling time T e , it is preferable to discretize the state model [START_REF] Anastassia | Model-Based Fault Diagnosis Techniques for Mobile Robots[END_REF]. Such a discretization can be approximated using the Euler's method as follows:

   x (k + 1) = x (k) + T e v(k) cos (θ (k)) y (k + 1) = y (k) + T e v(k) sin (θ (k)) θ (k + 1) = θ (k) + T e w(k) (5)

B. Closed loop system

System observation matrix C is a full rank matrix and it provides the system observability condition.

The closed loop system is given in Matlab by the functional diagram of the following Fig. 2.

The robot is controlled to reach a desired position [x d , y d ] T starting from its initial position [x 0 , y 0 ] T . It follows a given path by applying the following control law (see [START_REF] Corke | Robotics, Vision and Control -Fundamental Algorithms in MATLAB[END_REF]):

   v = k v (x d -x) 2 -(y d -y) 2 ω = k ω arctan y d -y x d -x (6)
X(k + 1) = F (X, u, k) + z(k) Y (k + 1) = H(X, u, k) + t(k) ( 7
)
where F is a non-linear function given by ( 5) and H a linear function given by (4b). z(k) denotes modelization errors, it is assumed to be a white noise with known covariance matrix Q, while t(k) denotes measurement noise or sensor error, it is assumed to be a white noise with known covariance matrix S, and having no cross-correlation with z(k) [START_REF] Brown | Introduction to Random Signals and Applied Kalman Filtering with MAT-LAB Exercises[END_REF]. Covariance matrices Q and S for the z(k) and t(k) vectors respectively are given by:

E[z(i) z ( j) T ] = Q i if i = j 0 if i = j E[t(i) t(j) T ] = S i if i = j 0 if i = j E[z(i) t(j) T ] = 0, ∀i, j
where E[. .] denotes the mathematical expectation. In practical use, several data-based methods are applied to determine Q and S matrices, see e.g. [START_REF] Rajamani | A New Autocovariance Least-Squares Method for Estimating Noise Covariances[END_REF], [START_REF] Rutan | Adaptive Kalman filtering[END_REF]. In simulation, these matrices are defined as a part related to the model uncertainties X and to noise behavior in the measurement vector Y . Hence, they are determined easily. KF is a corrective predictor method given by two main steps related to the prediction and correction phases. For the prediction step, the state at time (k + 1) knowing (k) is defined by:

X (k + 1|k) = F ( X (k|k) , u(k)) P (k + 1|k) = A l (k)P (k|k) A T l (k) + Q (8)
where P (k+1|k) denotes the a priori error covariance matrix associated with the state vector X and A l the linearized matrix of function F as follows:

A l (k) = ∂F ∂X x(k|k) =       ∂F 1 x 1 ∂F 1 ∂x 2 . . . ∂F 1 ∂x n . . . ∂F n x 1 ∂F n ∂x 2 . . . ∂F n x n       x(k|k) (9)
Here, n = 3. The correction step contains three equations:

         X (k+1|k+1) = X (k + 1|k) + K (k + 1) × Y (k + 1) -C X (k + 1|k) K (k+1) = P (k+1|k)C T CP (k+1|k)C T +R -1 P (k+1|k+1) = (I -K (k + 1) C) P (k + 1|k) (10)
where I denotes the identity matrix with the appropriate dimension and K(k + 1) the filter gain matrix. To start the iterations, initial conditions are given by: X (0|0) = X0 , P (0|0) = P 0 . P 0 values are chosen large enough to cover all initial estimation errors.

2) Augmented system: To be able to detect optical encoder faults, a dynamic for these two parameters has to be added (i.e. to add the output of both encoders) to the system state vector. State vector X and its time derivative vector become:

X = [x, y, θ, w r , w l ] T , Ẋ = ẋ, ẏ, θ, ωr , ωl T
where [ ẋ, ẏ, θ] T is given by ( 1), and [ ωr , ωl ] T by [0, 0] T . In this case, the observation matrix is C = I 5 (I 5 stands for the 5 × 5 identity matrix) and the system is still observable.

The system can be written in a discrete form as in previous section.

3) EKFs bank: System and observer inputs and outputs are shown in Fig. 3. θ i is the gyroscope G i output (i = 1, 2, 3). The bank of EKFs contains three observers which are designed as follows:

• Observer1 (obs1) is defined as a dynamical system having five inputs namely: the system input vector [v, ω], right and left encoders outputs: ω r , ω l , and G 1 output: θ 1 . It provides three outputs: θ 1,obs1 , ω r,obs1 , and ω l,obs1 . • Observer2 (obs2) is defined as a dynamical system having three inputs: the system input vector [v, ω] and G 2 output: θ 2 , and estimates θ 2,obs2 as output. • Observer3 (obs3) is defined as a dynamical system having three inputs: the system input vector [v, ω] and G 3 output: θ 3 , and estimates θ 3,obs3 .

Fig. 3: Extended Kalman filter bank

B. Investigated faults

The objective, here, is to detect and isolate either sensor and actuator faults of wheeled mobile robots, namely: right wheel fault W r , left wheel fault W l , right encoder fault E r , left encoder fault E l , and gyroscopes fault G i (i = 1, 2, 3). After one fault apparition, another fault can appear before detecting or isolating the first faulty component, so that more then one fault appear at the same period. The term simultaneous faults is used here to design the same period faults apparition.

Simultaneous faults have a low probability apparition. However, if more then one fault appear at the same period, it is important to be able to detect and isolate the faulty components. Generally speaking, simultaneous faults can be easily detected but more difficult to be isolated. The proposed method allows some faults combinations isolation. The concerned combinations are: right and left encoder faults (E r + E l ), encoder and gyroscope faults (E + G i ), and gyroscope and wheel faults (W + G i ).

For the simulation, the following assumptions are made:

• When the mobile robot starts to function, all its components are in a normal mode. • The magnitude of the noise is assumed to be significantly smaller than the magnitude of the faults. • When a fault occurs, the system remains in the faulty state (permanent faults).

C. Residuals 1) Residual generation:

A residual can be defined as the difference between the measured process variables and their estimates through model (observer) when they are generated by an analytical redundancy method, or the difference between two sensor outputs when more than one sensor is used to measure one variable (hardware redundancy). In nominal operation mode, residuals are close to zero. In faulty mode, they get away from zero. In this research, a bank of EKFs and a hardware redundancy (three gyroscopes) are used to generate eight residuals with different signatures under different faults to detect and isolate sensor and actuator faults. Based on these two redundancy methods, eight residuals are defined as follows:

a) Analytical redundancy: Using the bank of EKFs (see Fig. 3), five residuals are generated:

r 1 = ω r -ω r,obs1 , r 2 = ω l -ω l,obs1 , r 3 = θ 1 -θ 1,obs1 , r 4 = θ 2 -θ 2,obs2 , and r 5 = θ 3 -θ 3,obs3 .
b) Hardware redundancy: Using three gyroscopes to measure the yaw angle θ, three residuals are generated:

r 6 = θ 1 -θ 2 , r 7 = θ 1 -θ 3 , and r 8 = θ 2 -θ 3 .
2) Threshold determination and residual signatures: Each residual r i is compared to 2 threshold values ±r th,i . This limit checking leads up to binary outputs:

R i = 0 if -r th,i ≤ r i ≤ r th,i 1 if r i < -r th,i or r th,i < r i
Threshold determination is the main issue of residualbased FDI methods. Too large thresholds can cause a non detection of an occurred fault (missing alarm), and too small thresholds can cause a false alarms, i.e. detection of a fault in a healthy situation.

According to [START_REF] Chen | Robust Model-Based Fault Diagnosis for Dynamic Systems[END_REF], two types of thresholds are distinguished: fixed and adaptive thresholds. Adaptive thresholds are used for inevitable parameter uncertainty, disturbance and noise encountered in practical applications.

In our case, time invariant noises are used and fixed thresholds are defined using three-sigma method [START_REF] Pukelsheim | The Three Sigma Rule[END_REF]. By defining thresholds with three-sigma method, some false alarms are tolerated (see Fig. 4).

False alarms must not be taken into consideration. For that, a program is created to check the number of successive residuals exceed their fixed thresholds. If, for N consecutive times, the residual r i exceeds its fixed threshold r th,i or -r th,i , the alarm is held and the concerned residual is assigned to 1.

Tables I andII show the signatures of the eight residuals under the various studied faults. Note that for the simultaneous faults, only G 1 fault is presented in the table, but it remains valid for the two other gyroscopes. Just residuals R 6 , R 7 , and R 8 signatures change according to Table I. The different residual signatures allow the fault isolation.

H H H H

Res. The proposed method is firstly simulated in a free-fault case and then in the case of sensor and actuator faults. Simulation under fault free mode helps to fix thresholds by applying the three-sigma method:

Fault ∅ Er E l Wr W l G 1 G 2 G 3 R 1 0 1 0 1 0 0 0 0 R 2 0 0 1 0 1 0 0 0 R 3 0 0 0 1 1 0 0 0 R 4 0 0 0 1 1 0 0 0 R 5 0 0 0 1 1 0 0 0 R 6 0 0 0 0 0 1 1 0 R 7 0 0 0 0 0 1 0 1 R 8 0 0 0 0 0 0 1 1
W l +G 1 R 1 1 1 1 0 R 2 1 1 0 1 R 3 0 0 1 1 R 4 0 0 1 1 R 5 0 0 1 1 R 6 0 1 1 1 R 7 0 1 1 1 R 8 0 0 0 0
-r th,i = -3σ i +r th,i = +3σ i wher σ i denotes the standard deviation of residual r i , i = 1, 2, ..., 8. Fig. 4 illustrates threshold definition for one residual r 1 .

As explained in section III.C.2, to avoid false alarms, the fault is said detected when the residual exceeds the threshold more than N = 4 consecutive times.

In this paper, only drift-like faults, which reflect the component wear, are considered as faults. These faults are simulated as a time varying ramp signal. Simulation results for faulty modes are given in Figs. 6 to 9. Only residuals which get away from zero for each simulated fault are presented. The rest of the non-presented residuals are still close to zero like shown in Fig. 4. Faults are simulated in different apparition moments. The angular velocities of the right and left wheels are returned respectively from the right and left encoders in radian per second (rad/s). Knowing the angular velocities, the linear velocities can be found easily by applying the following relation: v r,l = rω r,l where r = 0.095m is the wheel radius which is supposed to be the same for the two wheels in normal state. The robot control is sensitive to the direction of the robot in its environment. For security reasons, any fault in the sensor that returns the robot yaw angle θ (expressed in radian) must be detected and corrected as early as possible. For that, three redundant gyroscopes are supposed to be used, so that when a fault is detected in one gyroscope, the yaw angle information is switched to a healthy gyroscope. Wheel velocities depends on the desired path (see equations ( 6) and ( 2)). For the chosen path, right and left wheels average velocities are about 0.02 rad/s. While the average yaw angel θ values returned by G i is about 2 rad/s. Studied faults are given as percentages of these average values. In Fig. 5, a fault with a magnitude of 10 -3 rad/s on the right encoder is simulated, it represents 5% of the W r average velocity given above. This is equivalent to a deviation of 9.5 10 -5 m/s or 0.34m/h on the linear velocity. The fault appears at time t = 90s, and detected and isolated 5.44s later.

In Fig. 6, a drift-like fault due to the wear of the W r actuator with a magnitude of -10 -3 rad/s = 9.5 10 -5 m/s is simulated. The fault represents 5% of the W r average velocity. It is detected just 5.8s after its apparition (see r 1 Fig. 6) and is isolated 24.1s later. Fig. 6: Residuals r 1 , r 3 , r 4 , and r 5 under W l fault Fig. 7 shows the simulation result for a gyroscope fault. Simulated fault magnitude is 10 -3 rad = 0.0573 degrees. It represents 0.05% of average θ values. The fault appears at time time t = 10s and is detected 14.5s after its apparition and isolated 0.5s later. The yaw angle information is then switched to be returned to the controller by a healthy gyroscope G 2 or G 3 so that the robot control is not influenced by the G 1 fault. In Fig. 8, both W l actuator and G 2 faults after its apparition and isolated 20.2s after its detection. Gyroscope fault is detected 1.6s after its apparition and isolated 2s after its detection. The last figure illustrates a three-fault detection and isolation. Right and left encoders fault with a magnitude of 10 -3 rad/s = 9.5 10 -5 m/s = 5% of the average wheels velocities, and gyroscope G 2 fault with a magnitude of 10 -4 rad = 0.0057 degrees = 0.005% of θ average value. Encoders faults do not exceed 7 seconds to be detected and isolated. Gyroscope fault is detected 90.3s after its apparition and isolated 27.7s after its detection. One notes that the fault detection time depends on the fault magnitude like it can be seen in the illustrated results. Small faults take more time to be detected and isolated.

V. CONCLUSION

In this paper, a combination of two FDI approaches: model-based technique and hardware redundancy is presented to detect and isolate faults in unicycle mobile robots. The technique is based on using a bank of Extended Kalman Filters (EKF) in parallel, and three gyroscopes. Detection and isolation of faults is done by analyzing the signatures of the residuals produced between the system and the Extended Kalman Filters Bank with the hardware redundancy. Different faults are considered. The proposed method is able to detect and correctly isolate each sensor and actuator driftlike faults in a timely way by simply comparing residuals to fixed thresholds. The main challenge with respect to the current state of the art in mobile robots FDI is the ability to isolate encoders and wheels actuators faults.The method can easily be applied to other wheeled mobile systems because it relies on a simple kinematic description.

In the future, this methodology is planned to be applied to an OMRON Adept mobile robot and the work results are going to be concentrated on the estimation of fault magnitude or trend, in the aim to apply it for fault tolerant control.

Fig. 1 :

 1 Fig. 1: Unicycle mobile robot geometry where x and y are the robot position along the x-axes and the y-axes respectively, θ the angle between the mobile robot axle and the x-axis of the mobile robot, v the linear velocity associated to the center of mass, and ω the angular velocity of the center of mass. u = [v, ω] T vector denotes the input vector (control inputs).The linear and angular velocity v and ω are given as a function of the angular velocities of the right and left wheels respectively ω r and ω l , with the following relations[START_REF] Roumeliotis | Sensor fault detection and identification in a mobile robot[END_REF]:

Fig. 2 :

 2 Fig. 2: Mobile robot closed loop k v and k ω are two constants. III. EXTENDED KALMAN FILTER AND RESIDUALS GENERATION A. Extended Kalman Filter (EKF) 1) EKF equations: In EKF equations, the model and the measurement errors are taken into consideration. Hence, the previous system of equation (4a-b) is given by :

Fig. Residual r 1

 1 Fig. Residual r 1 threshold definition

Fig. 5 :

 5 Fig. 5: Residual r 1 under E r fault

Fig. 7 :

 7 Fig.7: Residuals r 6 r 7 under G 1 fault are simulated. G 2 simulated fault magnitude is 10 -2 rad = 0.57 degrees = 0.5% of the average θ values, and it appears at t = 12s. The simulated fault on the W l actuator has a magnitude of -10 -3 rad/s = -9.5 10 -5 m/s = 5% of W l average velocity, and appears at t = 10s, before G 2 fault detection and isolation. Actuator wheel fault is detected 7.4s after its apparition and isolated 20.2s after its detection. Gyroscope fault is detected 1.6s after its apparition and isolated 2s after its detection.

Fig. 8 :

 8 Fig. 8: Residuals r 2 , r 3 , r 4 , r 5 , r 6 , and r 8 under W l and G 2 faults respectively at times 10s and 12s

Fig. 9 :

 9 Fig. 9: Residuals r 1 , r 2 , r 7 , and r 8 under E r , E l , and G 3 faults respectively at times 60s, 120s and 40s

TABLE I .

 I Residual signatures under single faults

	H Res. H Fault Er +E H H

l Er +E l +G 1 Wr +G 1

TABLE II .

 II Residual signatures under simultaneous faults IV. SIMULATION RESULTS