Next Article in Journal
A Preliminary Design Method of High-Power Electro-Hydrostatic Actuators Considering Design Robustness
Next Article in Special Issue
Adaptive Sliding-Mode Path-Following Control of Cart-Pendulum Robots with False Data Injection Attacks
Previous Article in Journal
Mechanical Properties and Microstructural Behavior of Uniaxial Tensile-Loaded Anisotropic Magnetorheological Elastomer
Previous Article in Special Issue
Fault-Tolerant Control of Linear Systems with Unmatched Uncertainties Based on Integral Sliding Mode Technique
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Online Fault Detection for Four Wheeled Skid Steered UGV Using Neural Network

Department of Electrical Engineering & Computer Science, DGIST, Daegu 42988, Korea
*
Author to whom correspondence should be addressed.
Actuators 2022, 11(11), 307; https://doi.org/10.3390/act11110307
Submission received: 29 September 2022 / Revised: 20 October 2022 / Accepted: 21 October 2022 / Published: 26 October 2022
(This article belongs to the Special Issue Sensor and Actuator Attacks of Cyber-Physical Systems)

Abstract

:
This paper proposes a neural network-based actuator fault detection scheme for four-wheeled skid-steered unmanned ground vehicles (UGV). The neural network approach is first validated on vehicle dynamics simulations. Then, it is tailored for the experimental setup. Experiments involve a motion tracking system, Husarion Rosbot 2.0 UGV with associated network control systems. For experimental work, the disturbance is intentionally induced by augmenting wheels with a bump. Network size optimization is also carried out so that computing resource is saved without degrading detecting accuracy too much. The resulting network exhibit fault detection and isolation accuracy over 97% of the test data. A scenario is experimentally illustrated where a fault occurs, is detected, and tracking control is modified to continue operation in the presence of an actuator fault.

1. Introduction

Unmanned Ground Vehicles (UGV) have been an actively studied topic in the industry and academia [1,2,3]. The most widely used UGVs are skid-steered type [4,5] and mecanum wheel type [6]. Successful applications of UGV include warehouse cleanup, rescue, search, and reconnaissance [7]. However, difficulties arise in actual applications due to mechanical/electrical failures [8,9]. Thus, fault detection and isolation have also been studied [10,11,12,13,14,15,16,17,18,19,20].
This work addresses the problem of detecting actuator faults of skid-steered UGVs using deep learning [21]. First, the deep learning approach is applied to the computer-simulated dynamics of the skid-steered UGV to efficiently determine the type and size of the neural network and also scope out necessary inputs (e.g., position, velocity, control input, etc.). Building a fault-detecting neural network on actual data from experiments is carried out with a moderate number of adjustments on the network and inputs obtained from simulated data.
The actuator fault-detecting neural network is trained offline, but is intended to be used online. Illustrations are given that actuator faults occur during operations, and the network detects faults within a pre-defined time delay.
In addition to the online fault detection, we demonstrate a strategy to react to actuator faults. Skid-steered robots use 2, 4, and 6 wheels. Actuator redundancy exists for four- and six-wheeled skid-steered robots. They can move forward or steer as long as one actuator per each side remains intact. Thus, a strategy to continue the task may exist if this redundancy is exploited. Specifically, we carry out experiments to demonstrate a scenario where a fault occurs, it is online detected by the neural network, and the reference command (velocity reduced) for the motion controller is adjusted so that the motion of the UGV remains close to the desired trajectory.
A brief review of the prior work is given on fault detection for electro-mechanical systems including UGV, unmanned aerial vehicles, wind turbines, and motors. References for dynamic model-based approach include [10,11,12,13,14]. Reference [10] introduced the model-based fault diagnosis for a dynamic system. A disturbance observer (DOB) [11] can detect a fault in a disturbance-free experimental environment. A UIO (Unknown Input Observer) based actuator fault detection method for UGV with four mecanum wheels is presented in paper [12]. The model based actuator fault (tire flatness) detection for four-wheel skid steered robot is proposed in paper [13]. Reference [14] introduced the robot parameter estimation based skid steered mobile robot fault (tire flatness) detection method.
Prior work on data-based approach include [15,16,17,18,19,20]. Reference [15] introduced an artificial neural network-based motor failure detection method. The robust data-driven fault detection approach for the wind turbine is proposed in paper [16]. Real-time distributed ensemble learning for UGV suspension fault is presented in paper [17]. Reference [18] presented the neural network-based quadrotor fault detection method. The neural network-based UAV (Unmanned Aerial Vehicle) fault detection method is proposed in paper [19]. Reference [20] presented the bearing fault detection using neural networks that can be used in noisy environments.
It must be pointed out that applying the model-based approach to skid-steered UGV is challenging due to the nonlinear dynamics of the robot. To the best of the authors’ knowledge, no prior work is found that applies the data-based approach to the actuator fault detection of the four-wheeled skid steered robots.
The rest of this paper is organized as follows: Section 2 develops a fault-detecting neural network for the simulated dynamics of a four-wheeled skid-steered vehicle. This method is extended to the actual robot experiment in Section 3. Section 4 presents a scenario in which an induced fault is detected, and a strategy is deployed to continue the trajectory following the task. Finally, conclusions are given in Section 5.

2. Fault Detecting Neural Network for Simulated Dynamics

2.1. Skid Steered Vehicle Kinematics

Kinematics of skid-steered mobile robots are introduced in paper [4,5]. Kinematics of four-wheeled skid-steered mobile robot are shown in Figure 1.
In this figure, the body of the vehicle with four tires is shown. The position of the vehicle center of mass (COM) is denoted by X and Y in the global frame. The vehicle orientation, an angle between global X frame and local x frame, denoted by θ is depicted in the figure. The Center of geometry (COG) is the geometric center of the UGV. The instantaneous center of rotation (ICR) in local frame is denoted by ( x c , y c ) . The angular velocity around ICR is denoted by ω . The vehicle speed at COM is denoted by ( v x , v y ) . The speed of the vehicle at each wheel in local frame is denoted by x ˙ i and y ˙ i , ( i = 1 , 2 , 3 , 4 ) , respectively. The mobile robot is assumed to be moving only on a horizontal plane. It is also assumed that wheels do not slip in the longitudinal direction.
The vehicle state vector q in the global coordinate is defined by
q = X Y θ .
Kinematic equation of motion is given by rotation matrix as follows:
q ˙ = X ˙ Y ˙ θ ˙ = cos θ sin θ 0 sin θ cos θ 0 0 0 1 v x v y ω .
The velocity in the local frame is defined by an inverse rotation matrix as follows:
v x v y = cos θ sin θ sin θ cos θ X ˙ Y ˙
The UGV system has a non-holonomic constraint. The UGV cannot move sideways infinitesimally v y = 0 by its construction unless the UGV rotates around ICR, which yields v y = x c ω . Combining (3) and v y = x c ω gives
X ˙ sin θ + Y ˙ cos θ x c ω = 0 .
We define a row vector A by A = sin θ cos θ x c . Then, the above equation implies a constraint on the generalized velocity, it is given by
A q ˙ = 0 ,
Combining (2) and (5), we can get kinematics with constraints.
q ˙ = S η
where S = cos θ x c sin θ sin θ x c cos θ 0 1 , η = v x ω .
Due to the constraint (5), the following equality holds for any non-zero η .
0 = A q ˙ = A S η
The above equation gives A S = 0 or S T A T = 0 .

2.2. Skid Steered Vehicle Dynamics

Dynamics of skid-steered mobile robots are introduced in paper [4,5]. Figure 2 shows the forces acting on each wheel of the mobile robot.
In this figure, the tractive forces of the vehicle are denoted by F x i , ( i = 1 , 2 , 3 , 4 ) . The friction forces are denoted by f x i and f y i , ( i = 1 , 2 , 3 , 4 ) . Four wheels generate the tractive force F x i against resistance forces f x i . We assume that wheel tractive force is equal on each side of the vehicle to prevent longitudinal slip. Therefore, wheel tractive forces satisfy F x 1 = F x 4 and F x 2 = F x 3 . The distance from COM to the front of the vehicle is denoted by a, the back of the vehicle by b, and the side by c.
The input of conventional dynamics in previous papers [4,5] is divided into the left and right sides of torque. In order to detect the fault of all four actuators separately, we propose a dynamic that deals with four independent inputs by modifying the conventional dynamics. Using the variables shown in Figure 2, the dynamics of the mobile robot in the global frame are written as:
M q ¨ + R = B τ
where M = m 0 0 0 m 0 0 0 I , R = f x cos θ f y sin θ f x sin θ + f y cos θ M r , B = 1 r cos θ cos θ sin θ sin θ c c , τ = τ 1 + τ 4 τ 2 + τ 3 , m is the vehicle mass, I is the moment of inertial, and r is the wheel radius. The variables τ 1 , τ 2 , τ 3 and τ 4 are torques on each wheel, and given by τ i = 2 r F x i ,   ( i = 1 , 2 , 3 , 4 ) , respectively. The variables f x , f y , and M r are, respectively, the sum of friction forces in x direction, y direction, and the resistive moment generated during rotation. Each one of the three is explained in the next paragraph.
In order to explain f x , f y , and M r in (8) the gravitational load distribution of the vehicle must be considered first. The vehicle load is allocated by the geometrical structure. The vehicle gravitational loads acting on the wheel-ground contact points at four wheels are given by
F z 1 = F z 2 = b a + b · m g 2 , F z 3 = F z 4 = a a + b · m g 2 .
The longitudinal resistive force of each wheel is f x i = μ x F z i sgn ( x ˙ i ) , ( i = 1 , 2 , 3 , 4 ) , where μ x is the longitudinal friction coefficient. Finally, the longitudinal resistive force f x = i = 1 4 f x i . Because we assume wheels on the same side have the same speed, we obtain
f x = i = 1 4 f x i = μ x m g 2 ( sgn ( x ˙ 1 ) + sgn ( x ˙ 2 ) ) .
Similarly, the total lateral force f y is given by
f y = i = 1 4 f y i = μ y m g a + b ( sgn ( y ˙ 1 ) + sgn ( y ˙ 3 ) ) .
The resistive moment M r is induced by f x i and f y i , and given by
M r = a ( f y 1 + f y 2 ) b ( f y 3 + f y 4 ) + c [ ( f x 2 + f x 3 ) ( f x 1 + f x 4 ) ] = μ y a b m g a + b ( sgn ( y ˙ 1 ) sgn ( y ˙ 3 ) ) + μ x c m g 2 ( sgn ( x ˙ 2 ) sgn ( x ˙ 1 ) ) .
The individual wheel velocities are given by
x ˙ 1 = x ˙ 4 = v x c ω , x ˙ 2 = x ˙ 3 = v x + c ω , y ˙ 1 = y ˙ 2 = v y + a ω , y ˙ 3 = y ˙ 4 = v y b ω .
If the constraint (5) is applied to the dynamics, the dynamics including the constraint can be given as:
M q ¨ + R = B τ + A T λ
where λ is the vector of Lagrange multipliers.
Now, in order to reflect the kinematics in (14), we differentiate (6) to obtain
q ¨ = S ˙ η + S η ˙ .
Combining (7), (14), and (15) yields
S T M S ˙ η + S T M S η ˙ + S T R = S T B τ .
We rearrange the (16), the torque input dynamics are as follows.
v ˙ x ω ˙ = x c ω 2 1 m f x 1 m x c 2 + I ( m x c ω v x + x c f y + M r ) + 1 m r 1 m r c r ( m x c 2 + I ) c r ( m x c 2 + I ) τ 1 + τ 4 τ 2 + τ 3
An actual robot is controlled by a voltage input. However, the dynamics (17) are consisted of torque inputs. In order to unify the input of the actual robot and the simulation, the input is converted to a voltage. The torque-voltage conversion equation is as follows.
τ i + b m o t R m o t + k m o t 2 R m o t ω i = k m o t R m o t u i ,
where u i is the voltage input, k m o t is the motor constant, R m o t is the motor resistance, b m o t is the motor friction constant, and ω i = x ˙ i r is the wheel angular velocity.
The final voltage input UGV dynamics are given by
v ˙ x ω ˙ = 4 ( b m o t R m o t + k m o t 2 ) m r 2 R m o t 0 0 4 c 2 ( b m o t R m o t + k m o t 2 ) r 2 R m o t ( m x c 2 + I ) v x ω + k m o t m r R m o t k m o t m r R m o t c k m o t r R m o t ( m x c 2 + I ) c k m o t r R m o t ( m x c 2 + I ) u 1 + u 4 u 2 + u 3 + x c ω 2 1 m f x 1 m x c 2 + I ( m x c ω v x + x c f y + M r ) .
Combining (6) and (19), the UGV dynamics are written with five state variables: position ( X , Y ) , orientation ( θ ) , linear velocity ( v x ) , and angular velocity ( ω ) . The UGV has 5 degrees of freedom including translation on a plain, roll, pitch, and yaw. Roll and pitch are permitted due to tires. Only three of them (translation, yaw) are controlled. The number of state variables and the degrees of freedom are the same for normal operation and faulty operation.
The input voltage of the actual UGV is limited according to the specification of the actuator. In order to create a realistic dynamical model, we limit the input voltage as follows.
u l i m u i u l i m .
As indicated by (19), actuators on the same side complement each other. As an example, the inequality 2 u l i m u 1 + u 4 2 u l i m holds.
Actuator fault for the simulated dynamics is defined by setting u i = 0 for the i-th actuator. This is a short-circuit condition for the actuator. According to (18), a faulty actuator yields a braking torque (negative sign). The fault defined in this manner does not require modifications of the matrix involved in (19). We note that. for the actual experiment. a fault is defined as a power outage implemented by relays.
If a fault occurs in the first actuator, u 1 = 0 , the left side of system input capacity decreases to u l i m u 1 + u 4 u l i m . If all the two left actuators are faulted, the left actuator input becomes u 1 + u 4 = 0 .
Trajectory tracking feedback control of the UGV dynamics consists of a high-level position tracking controller and four low-level motor controllers. The high level controller takes the desired trajectory and the current state of the UGV and computes desired values of v x and ω , respectively. The four individual motor controller controls the angular velocity of each wheel. The output of the four controllers are respectively denoted by u ^ i , i = 1 , 2 , 3 , 4 . When a fault occurs on the i-th actuator, u i = 0 takes place regardless of the value of u ^ i .
The parameters of the simulation used are summarized in Table 1.

2.3. Actuator Fault Detecting Neural Network

First, we consider the input of the network. We propose the data pre-processing method for training the neural network. The input of a neural network consists of system states and control input sampled periodically by the period T s . We stack the sampled states and control input as a vector.
h i = X ( T s i ) Y ( T s i ) θ ( T s i ) X ˙ ( T s i ) Y ˙ ( T s i ) θ ˙ ( T s i ) u ^ 1 ( T s i ) u ^ 2 ( T s i ) u ^ 3 ( T s i ) u ^ 4 ( T s i ) ,
where h i R 10 is a vector of states and control inputs stacked. Note that the network takes input h i that contains u ^ i instead of u i .
The continuous L data input approach is frequently used as an input to a neural network [18,19]. In order to input the consecutive data, we stack the L depth input vector H i , L .
H i , L = h i L + 1 h i L + 2 h i
We define the initial position of the input vector as
h i , p o s = X ( T s ( i L + 1 ) ) Y ( T s ( i L + 1 ) ) θ ( T s ( i L + 1 ) ) 0 0 0 0 0 0 0 .
In order not to be affected by the initial position, subtract the first position of each component of H i , L . We use the pre-processed data H ¯ i as an input to the neural network.
H ¯ i = h i L + 1 h i , p o s h i L + 2 h i , p o s h i h i , p o s
The output of the network is a scalar value denoted by ξ i . The output only takes three discrete values, 1 , 2 and 3, each of which implies
ξ i = 1 , no fault , ξ i = 2 , fault occurs at u 1 or u 4 , ξ i = 3 , fault occurs at u 2 or u 3 .
It must be pointed out that the dynamics in Section 2.2 used for simulation are constrained by ω 1 = ω 4 and ω 2 = ω 3 . This is because no tire slippage is included in the model. For this reason, although four individual controllers exist for motion control, two control outputs on each side are always identical, i.e., u ^ 1 = u ^ 4 and u ^ 2 = u ^ 3 . Thus, the network cannot isolate the faults from the same side. Therefore, ξ i takes three discrete values instead of five values. Since no such constraint is imposed on the actual experiment, we expand the output to have five discrete values in Section 3.
We point out that the output ξ i defined as (25) does fault detection and isolation at the same time. Note that the value of ξ i is obtained at time later than t = T s ( i + L ) as the input H i , L requires h i to h i L + 1 .
For the neural network, we use the fully connected layer and ReLU function. Stochastic Gradient Descent is used for training the network. The network consists of four layers and each layer contains 512 nodes. The initial learning rate is 0.01. The learning rate drop factor is 0.9 and the learning rate drop period is 3. We also use momentum as 0.95 to prevent convergence to the local minimum. A dropout of 0.3 is used to prevent the over-fitting of specific features. We train the network by using the pre-processed data.

2.4. Neural Network Training for Simulation

Data for network training are obtained as follows. Six trajectories are considered
X ( t ) = 0.5 t , Y ( t ) = 0.5 t ,
X ( t ) = 0.5 t , Y ( t ) = 0.5 t ,
X ( t ) = sin ( 0.5 t ) , Y ( t ) = cos ( 0.5 t ) ,
X ( t ) = cos ( 0.5 t ) , Y ( t ) = sin ( 0.5 t ) ,
X ( t ) = sin ( 0.5 t ) cos 2 ( 0.5 t ) , Y ( t ) = sin 2 ( 0.5 t ) cos ( 0.5 t ) ,
X ( t ) = sin 2 ( 0.5 t ) cos ( 0.5 t ) , Y ( t ) = sin ( 0.5 t ) cos 2 ( 0.5 t ) ,
where the first two are referred to as linear, the third and fourth are referred to as circular and the last two as clover. Trajectories (27)–(32) starting at ( X ( 0 ) , Y ( 0 ) ) = ( 0 , 0 ) is shown in Figure 3a–f, trajectory (29) starting at ( X ( 0 ) , Y ( 0 ) ) = ( 1 , 0 ) is shown in Figure 3g, trajectory (30) starting at ( X ( 0 ) , Y ( 0 ) ) = ( 0 , 1 ) is shown in Figure 3h. For each trajectory, data were collected under normal (solid in black), a left actuator fault from t = 0 (dashed dot in blue), and a right actuator fault from t = 0 (dash-dot in red) conditions. Figure 3c,d show that the UGV cannot follow the desired trajectory when faults occur. The initial position of the UGV is off the trajectory. In contrast, Figure 3g,h shows that the UGV stays on the desired trajectory when faults occur. This is because the UGV is initially located on the trajectory.
The collected data are pre-processed by using (21), (22), (23), and (24). The parameter L is set to L = 10 . Out of the total pre-processed data, 70% is used for training, and 30% is used for testing. The accuracy of fault detection and isolation turns out to be over 99%.
We also consider noise in the position sensors. The noises are all zero mean, and standard deviation of 0.001 for X, Y, and 0.002 for θ . The fault detection and isolation accuracies are summarized in Table 2. Although decreased compared to the case without noise, the accuracy is still over 90%.

2.5. Online Fault Detection Simulation

Detecting faults online using a neural network requires significant computational resources. Indeed, the actuator fault detecting neural network has 4 layers and 512 nodes per layer, which gives 1,103,875 parameters. The number of computing operations is substantial.
In order to reduce the computational load, the size of the neural network is analyzed. The neural network size is reduced as much as possible while maintaining the fault detection accuracy. The results are summarized in Table 3. In the table, with only 2 layers and 256 nodes per layer, the accuracy is maintained above 99%. If 2 layers and 128 nodes per layer are used, the accuracy drops by almost 4%. Thus, for online fault detection, 2 layers and 256 nodes per layer are selected. The resulting number of parameters is 158,211 which is reduced from 1,103,875 by almost 85%.
To detect faults online, a neural network is trained using collected data from Section 2.4. Online fault detection is performed on the trajectories (27)–(32). The fault scenarios are normal from 0 to 5 s, a left actuator fault from 5 s to 10 s, a right actuator fault from 10 s to 15 s, and finally, from 15 s to 20 s is normal.
If a fault is determined by the output of the neural network at one instance, the accuracy may be poor. We assume that when a fault occurs, it lasts for a period of time. Then, the detection is designed to take place by looking at the last N values of ξ i rather than a single value of ξ i . Denote the detection output by ξ ¯ i , then it is written as
ξ ¯ i = mode { ξ i , ξ ( i 1 ) , , ξ ( i N + 1 ) } , i > N 1 ,
where the function ‘mode’ gives the value of the most frequently appearing in the set. The parameter N = 1000 is used. The sampling time of the simulation is 0.001 s. Therefore, a delay of 1 s is expected to obtain the first fault detection result. Additionally, the same delay occurs when the fault condition changes because of checking 1000 neural network outputs. Figure 4 shows the online fault detection results. In this figure, the solid black line represents the actual fault class, and the solid red line represents the fault detection result. Faults can be detected and isolated online. Also, we can check the expected delay, when the initial fault detection result is obtained and when the fault condition is changed.

3. Fault Detecting Neural Network for an Actual UGV

3.1. Neural Network Training for Experiment

In this section, we apply the fault detection method in the experiment. The fault detection method is similar to Section 2.3. The difference is that the input and output of the neural network are adjusted according to the experimental resource.
Figure 5 shows the experimental setup. The robot is controlled by receiving commands from the PC. The PC reads UGV position and orientation from the motion tracker every 10 ms. The position of the UGV is measured using a Vicon Tracker. We use Husarion’s Rosbot 2.0 as a UGV to obtain data for fault detection. Figure 6 shows Husarion’s Rosbot 2.0. This robot is a four-wheeled skid-steered robot with 4 actuators controlled independently. Four Xinhe motor XH-25D are used for Rosbot 2.0 actuators. A quadrature encoder is mounted on each actuator. The actuators are controlled by CORE2 which is an STM32F407-based microcontroller. A single board computer on Rosbot 2.0 is an ASUS Tinker board with 2 GB RAM. The robot is equipped with a VL53L0X distance sensor, an Orbbec Astra RGBD camera, an RpLidar A2 lidar sensor, and an MPU-9250 IMU sensor. To obtain data when a fault occurs, the fault generator of each actuator is designed using Arduino. The UGV used in this work is Rosbot 2.0 by Husarion. It operates on three 3500 mAh batteries that last about 5 h, which is shorter than the time it took us to collect motion data. We used two sets of batteries so that experiments were not interrupted.
In addition, we attach a bump, made by using a 3D printer, on each tire to create the effect of disturbance. The bumps are attached to the wheel; it is expected to emulate driving conditions on an uneven surface such as an open field. A bump attached to a wheel is shown in Figure 7.
Data for network training are obtained as follows. Six trajectories are considered: circular, clover, and modified clover trajectories. We do not use the linear trajectory used in the simulation due to the limitation of the experimental space. Clockwise and counterclockwise rotations are considered for each of the six trajectories. For each trajectory, data are collected in the normal and each actuator fault conditions. The fault considered in the experiment is a case in which the actuator voltage input is disconnected due to the fault of the power supply circuit.
X ( t ) = 1.5 sin ( 0.26 t ) , Y ( t ) = 1.5 cos ( 0.26 t ) ,
X ( t ) = 1.5 cos ( 0.26 t ) , Y ( t ) = 1.5 sin ( 0.26 t ) ,
X ( t ) = 3 sin ( 0.1 t ) cos 2 ( 0.1 t ) , Y ( t ) = 3 sin 2 ( 0.1 t ) cos ( 0.1 t ) ,
X ( t ) = 3 sin 2 ( 0.1 t ) cos ( 0.1 t ) , Y ( t ) = 3 sin ( 0.1 t ) cos 2 ( 0.1 t ) ,
X ( t ) = sin ( 0.1432 t ) cos 2 ( 0.186 t ) , Y ( t ) = sin 2 ( 0.139 t ) cos ( 0.1576 t ) ,
X ( t ) = sin 2 ( 0.139 t ) cos ( 0.1576 t ) , Y ( t ) = sin ( 0.1432 t ) cos 2 ( 0.186 t ) .
Collected data are shown in Figure 8 and Figure 9. Figure 8 shows the experimental data without disturbance (without the bumps) while Figure 9 shows the experimental data with disturbance. For each trajectory, data are collected under normal (solid in black), 1st actuator fault (dashed dot in blue) 2nd actuator fault (dash-dot in red), 3rd actuator fault (dot in magenta), and 4th actuator fault (dot in cyan) conditions.
The input and output of the neural network are adjusted according to the experimental environment. The inputs of the fault detection neural network are the position ( X , Y ) in the global frame, orientation θ , and the control input p w m of each actuator. The output consists of a normal and a fault of each actuator. Each actuator controls each wheel by receiving angle feedback from each encoder, independently. Therefore, the fault of each actuator can be detected, independently. The output of the network is a scalar value denoted by ξ i . The output only takes five discrete values, 1 , 2 , 3 , 4 and 5, each of which implies
ξ i = 1 , no fault , ξ i = 2 , fault occurs at 1 st wheel , ξ i = 3 , fault occurs at 2 nd wheel , ξ i = 4 , fault occurs at 3 rd wheel , ξ i = 5 , fault occurs at 4 th wheel .
The network type and training options of the neural network are configured the same as in Section 2.3. The obtained data are pre-processed according to the depth of the input vector L = 2 , 3 , 4 , 5 , 10 , and 20. The pre-processed data are divided into 70% for the train and 30% for the test. As a result, it is possible to obtain a fault detection accuracy of over 90%. Table 4 shows the fault detection result according to the depth of the input vector. As the depth L of the input vector increases the accuracy increases.

3.2. Online Fault Detection Experiment

We consider the size of the neural network to reduce the computational loads. We check the test fault detection accuracy by the size of the neural network when the depth of the input vector L is 20. Indeed, the actuator fault detection neural network has 4 layers and 512 nodes per layer, which gives 1,125,381 parameters. The number of computing operations is substantial.
In order to reduce the computational load, the size of the neural network is analyzed. The neural network size is reduced as much as possible while maintaining the fault detection accuracy. The results are summarized in Table 5. In the table, with only 2 layers and 128 nodes per layer, the accuracy is maintained above 97%. if 2 layers and 64 nodes per layer are used, the accuracy drops by almost 1%. Thus, for online fault detection, 2 layers and 128 nodes per layer are selected. The resulting number of parameters is 51,717 which is reduced from 1,125,381 by almost 95%.
To detect faults online, a pre-trained neural network from Section 3.1 is used. Online fault detection is performed on the trajectories (33)–(38). The fault scenarios are normal, and each actuator fault conditions from t = 0 .
The fault detection result is decided by 100 of ξ i (32). The sampling time of the simulation is 0.13 s. Therefore, a delay of 13 s is expected to obtain the first fault detection result. We perform online fault detection while driving on a clockwise circular trajectory with the disturbance. Figure 10 shows the online fault detection results in the experiment. In this figure, the solid black line represents the actual fault condition, and the solid red line represents the fault detection result. Faults can be detected and isolated online. Also, we can check the expected delay, when the initial fault detection result is obtained.

4. Scenarios of Fault Detection and Toleration

In this section, we propose the fault toleration method based on the online fault detection result. The fault toleration scenario is that the UGV reduces the velocity of the trajectory when a fault is detected. In order to properly respond to a fault, limited performance is quantified. The limited performance maintenance condition (40) is defined as the Mean Square Error ( M S E ) .
mean ( ( X X r ) 2 ( Y Y r ) 2 ) 0.1 ,
where X r and Y r are reference trajectories in the global frame. We measured the circular trajectory lap time T m a x = 2 π / ω m a x it takes to drive one lap while increasing the speed of the trajectory ω m a x when the limited performance maintenance condition is satisfied. The following Table 6 shows limited performance quantification results. In this table, if a fault occurs, the one lap time is increased. The fault of the wheel closer to the center of the circle has little effect, and the fault of the wheel farther from the center of the circle is greatly affected.
The experiment scenario is as follows: the UGV is faulted in the 2nd actuator from t = 0 . The fault is detected online while driving on a circular trajectory in the 2nd actuator fault condition. When a fault is detected online, the velocity of the circular trajectory is reduced which can be driven in the 2nd actuator fault condition based on Table 6.
Figure 11 shows the fault detection and toleration result. In Figure 11a,b, the solid black line means the reference trajectory and the red dotted line means the UGV path. In Figure 11c, the solid black line means the fault condition and the red dotted line means the fault detection result. In this Figure, a fault is detected at about 13 s. At that time, the velocity of the trajectory is reduced based on Table 6, then, the trajectory can be followed. This result shows that if the UGV reduces its velocity of trajectory to maintain limited performance, it can continue its mission and return to the base for repair. Therefore, it is possible to prevent the leakage of military secrets and economic loss due to mission failure.

5. Conclusions

In this paper, we developed actuator fault detection/isolation neural networks for four-wheeled skid-steered UGV. Initially, a network is developed for a dynamic mode of a four-wheel skid-steered UGV. The actuator fault for this case is a short circuit of the voltage input to the motor drive for simplicity. Due to the limitation of the dynamic model (wheel speeds on the same side are always identical) the resulting network isolates which sides a fault has occurred but does not distinguish fault at the front or rear motor. Overall detection accuracy is high with a two-layer, 256 nodes/layer, fully connected network. UGV trajectories that data for network training are tested and selected in the simulation study.
Experimental work is also carried out. A Husarion Rosbot 2.0 robot and VICON positioning system are used. A motor fault is implemented by additional circuitry that realizes as a relay switch for power supplied to each and every one of the motors. This fault is different from the one considered in the simulation study but is viewed as more realistic. High accuracy for detection and isolation has been achieved by the neural network. For experimental work, a 2 layer 128 nodes/layer fully connected network is used to reduce computational load since it resides in a UGV mounted onboard unit operating with the UGV batteries. Several scenarios have been illustrated for fault detection and isolation.
Limitations of this work include the followings. Network training is done with only one UGV. Applying the network for a different but same type of UGV and validating accuracy remains future work. Detection of a fault occurring on UGV trajectories that are not used for training has not been performed, which remains future work too.

Author Contributions

Conceptualization, Y.A. and Y.E.; methodology, Y.A.; software, Y.A.; validation, Y.A.; formal analysis, Y.A. and Y.E.; investigation, Y.A.; resources, Y.E.; data curation, Y.A.; writing—original draft preparation, Y.A.; writing—review and editing, Y.A. and Y.E.; visualization, Y.A. and Y.E.; supervision, Y.E.; project administration, Y.E.; funding acquisition, Y.E. All authors have read and agreed to the published version of the manuscript.

Funding

This work has been supported by the Unmanned Swarm CPS Research Laboratory Program of Defense Acquisition Program Administration and Agency for Defense Development (UD220005VD).

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Tang, J.; Chen, Y.; Jaakkola, A.; Hyyppa, J.; Hyyppa, H. NAVIS-An UGV Indoor Positioning System using Laser Scan Matching for Large-area Real-time Applications. Sensors 2014, 14, 11805–11824. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  2. Guérin, F.; Guinand, F.; Brethé, J.F.; Pelvillain, H. UAV-UGV cooperation for objects transportation in an industrial area. In Proceedings of the 2015 IEEE International Conference on Industrial Technology, Seville, Spain, 17–19 March 2015. [Google Scholar]
  3. Gao, X.; Yan, L.; Gerada, C. Modeling and analysis in trajectory tracking control for wheeled mobile robots with wheel skidding and slipping: Disturbance rejection perspective. Actuators 2021, 10, 222. [Google Scholar] [CrossRef]
  4. Caracciolo, L.; Luca, A.; Iannitti, S. Trajectory Tracking Control of a Four-wheel Differentially Driven Mobile Robot. In Proceedings of the 1999 IEEE International Conference on Robotics and Automation, Detroit, MI, USA, 10–15 May 1999. [Google Scholar]
  5. Arslan, S.; Temeltaş, H. Robust Motion Control of a Four Wheel Drive Skid-steered Mobile Robot. In Proceedings of the 2011 7th International Conference on Electrical and Electronics Engineering, Bursa, Turkey, 1–4 December 2011. [Google Scholar]
  6. Sahoo, S.R.; Chiddarwar, S.S.; Alakshendra, V. Intuitive dynamic modeling and flatness-based nonlinear control of a mobile robot. Simulation 2018, 94, 797–820. [Google Scholar] [CrossRef]
  7. Nielsen, C.W.; Goodrich, M.A.; Ricks, R.W. Ecological interfaces for improving mobile robot teleoperation. IEEE Trans. Robot. 2007, 23, 927–941. [Google Scholar] [CrossRef] [Green Version]
  8. Casper, J.; Murphy, R.R. Human-robot Interactions during the Robot-assisted Urban Search and Rescue Response at the World Trade Center. IEEE Trans. Syst. 2003, 33, 367–385. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  9. Jennifer, C.; Murphy, R.R. How UGVs physically fail in the field. IEEE Trans. Robot. 2005, 21, 423–437. [Google Scholar]
  10. Chen, J.; Patton, R.J. Robust Model-Based Fault Diagnosis for Dynamic Systems; Kluwer Academic Publishers: Boston, MA, USA; Dordrecht, The Netherlands; London, UK, 2012; Volume 3, pp. 65–76. [Google Scholar]
  11. Li, S.; Yang, J.; Chen, W.; Chen, X. Disturbance Observer-Based Control: Methods and Applications; CRC Press: Boca Raton, FL, USA, 2014; pp. 27–42. [Google Scholar]
  12. Na, G.; Eun, Y. Actuator Fault Detection for Unmanned Ground Vehicles Considering Friction Coefficients. Sensors 2021, 21, 7674. [Google Scholar] [CrossRef] [PubMed]
  13. Fourlas, G.K.; Karkanis, S.; Karras, G.C.; Kyriakopoulos, K.J. Model Based Actuator Fault Diagnosis for a Mobile Robot. In Proceedings of the 2014 IEEE International Conference on Industrial Technology, Busan, Korea, 26 February–1 March 2014. [Google Scholar]
  14. Fourlas, G.K. Fault Detection Approach for a 4-wheel Skid Steering Mobile Robot. In Proceedings of the 2013 IEEE International Conference on Industrial Technology, Cape Town, South Africa, 25–28 February 2013. [Google Scholar]
  15. Scalabrini Sampaio, G.; Vallim Filho, A.R.D.A.; Santos da Silva, L.; Augusto da Silva, L. Prediction of Motor Failure Time using an Artificial Neural Network. Sensors 2019, 19, 4342. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  16. Yin, S.; Wang, G.; Karimi, H.R. Data-driven Design of Robust Fault Detection System for Wind Turbines. Mechatronics 2014, 24, 298–306. [Google Scholar] [CrossRef]
  17. Wallace, C.; Ackels, S.; Benavidez, P.; Jamshidi, M. Real-Time Distributed Ensemble Learning for Fault Detection of an Unmanned Ground Vehicle. In Proceedings of the 2020 IEEE 15th International Conference of System of Systems Engineering, Budapest, Hungary, 2–4 June 2020. [Google Scholar]
  18. Park, J.H.; Chang, D.E. Data-driven Fault Detection and Isolation of System with Only State Measurements and Control Inputs using Neural Networks. In Proceedings of the 2021 21st International Conference on Control, Automation and Systems, Jeju, Korea, 12–15 October 2021. [Google Scholar]
  19. Wang, B.; Liu, D.; Peng, Y.; Peng, X. Multivariate Regression-based Fault Detection and Recovery of UAV Flight Data. IEEE Trans. Instrum. Meas. 2019, 69, 3527–3537. [Google Scholar] [CrossRef]
  20. Chen, Y.; Zhang, D.; Zhang, H.; Wang, Q. Dual-Path Mixed Domain Residual Threshold Networks for Bearing Fault Diagnosis. IEEE Trans. Ind. Electron. 2022, 69, 13462–13472. [Google Scholar] [CrossRef]
  21. LeCun, Y.; Bengio, Y.; Hinton, G. Deep learning. Nature 2015, 521, 436–444. [Google Scholar] [CrossRef] [PubMed]
Figure 1. Four wheeled skid steered vehicle kinematics model.
Figure 1. Four wheeled skid steered vehicle kinematics model.
Actuators 11 00307 g001
Figure 2. Four wheeled skid steered vehicle dynamics model.
Figure 2. Four wheeled skid steered vehicle dynamics model.
Actuators 11 00307 g002
Figure 3. Collected simulation data. CW is clockwise and CCW is counterclockwise rotation. (a) Linear Y = X . (b) Linear Y = X . (c,g) circular (CCW). (d,h) circular (CW). (e) Clover (CCW). (f) Clover (CW).
Figure 3. Collected simulation data. CW is clockwise and CCW is counterclockwise rotation. (a) Linear Y = X . (b) Linear Y = X . (c,g) circular (CCW). (d,h) circular (CW). (e) Clover (CCW). (f) Clover (CW).
Actuators 11 00307 g003aActuators 11 00307 g003b
Figure 4. Online fault detection results in simulation. CW is clockwise and CCW is counterclockwise rotation. (a) Linear y = x . (b) Linear y = x . (c,g) circular (CCW). (d,h) circular (CW). (e) Clover (CCW). (f) Clover (CW).
Figure 4. Online fault detection results in simulation. CW is clockwise and CCW is counterclockwise rotation. (a) Linear y = x . (b) Linear y = x . (c,g) circular (CCW). (d,h) circular (CW). (e) Clover (CCW). (f) Clover (CW).
Actuators 11 00307 g004aActuators 11 00307 g004b
Figure 5. Experimental setup. The PC is connected to the robot wirelessly and the Vicon Tracker by wire.
Figure 5. Experimental setup. The PC is connected to the robot wirelessly and the Vicon Tracker by wire.
Actuators 11 00307 g005
Figure 6. Husarion Rosbot 2.0.
Figure 6. Husarion Rosbot 2.0.
Actuators 11 00307 g006
Figure 7. Bump on the wheel.
Figure 7. Bump on the wheel.
Actuators 11 00307 g007
Figure 8. Experiment data without disturbance. Normal is no fault condition, Fault 1 is the first actuator fault, Fault 2 is the second actuator fault, Fault 3 is the third actuator fault, and Fault 4 is the fourth actuator fault. (a) Circular (CCW). (b) Circular (CW). (c) Clover (CCW). (d) Clover (CW). (e) Modified Clover (CCW). (f) Modified Clover (CW).
Figure 8. Experiment data without disturbance. Normal is no fault condition, Fault 1 is the first actuator fault, Fault 2 is the second actuator fault, Fault 3 is the third actuator fault, and Fault 4 is the fourth actuator fault. (a) Circular (CCW). (b) Circular (CW). (c) Clover (CCW). (d) Clover (CW). (e) Modified Clover (CCW). (f) Modified Clover (CW).
Actuators 11 00307 g008
Figure 9. Experiment data with disturbance. Normal is no fault condition, Fault 1 is the first actuator fault, Fault 2 is the second actuator fault, Fault 3 is the third actuator fault, and Fault 4 is the fourth actuator fault. (a) Circular (CCW). (b) Circular (CW). (c) Clover (CCW). (d) Clover (CW). (e) Modified Clover (CCW). (f) Modified Clover (CW).
Figure 9. Experiment data with disturbance. Normal is no fault condition, Fault 1 is the first actuator fault, Fault 2 is the second actuator fault, Fault 3 is the third actuator fault, and Fault 4 is the fourth actuator fault. (a) Circular (CCW). (b) Circular (CW). (c) Clover (CCW). (d) Clover (CW). (e) Modified Clover (CCW). (f) Modified Clover (CW).
Actuators 11 00307 g009
Figure 10. Online fault detection result in clockwise circular trajectory experiment with disturbance. (a) No fault. (b) First actuator fault. (c) Second actuator fault. (d) Third actuator fault. (e) Fourth actuator fault.
Figure 10. Online fault detection result in clockwise circular trajectory experiment with disturbance. (a) No fault. (b) First actuator fault. (c) Second actuator fault. (d) Third actuator fault. (e) Fourth actuator fault.
Actuators 11 00307 g010
Figure 11. Online fault detection and toleration result. (a) X position. (b) Y position. (c) Fault detection result.
Figure 11. Online fault detection and toleration result. (a) X position. (b) Y position. (c) Fault detection result.
Actuators 11 00307 g011
Table 1. Parameter value of simulation.
Table 1. Parameter value of simulation.
ParameterSymbolValueUnit
vehicle massm2.84kg
moment of inertiaI0.0225kg·m 2
gravitational accelerationg9.81m/s 2
wheel radiusr0.085m
distance from front wheel to COMa0.053m
distance from rear wheel to COMb0.053m
half of vehicle widthc0.096m
center of rotation x position x c 0m
longitudinal friction coefficient μ x 0.001-
lateral friction coefficient μ y 0.2-
motor constant k m o t 0.01N·m/ W
motor resistance R m o t 1 Ω
motor friction constant b m o t 0.1N·m·s
Table 2. Neural network training result for simulation.
Table 2. Neural network training result for simulation.
Train Accuracy (%)Test Accuracy (%)
Without noise99.2299.88
With noise95.7091.72
Table 3. Fault detection accuracy according to network size for simulation.
Table 3. Fault detection accuracy according to network size for simulation.
Number of Nodes
per Layer
Number of LayersNumber of
Parameters
Test Accuracy
(%)
51241,103,87599.88
5123841,21999.27
5122578,56399.34
2564289,79598.21
2563224,00399.13
2562158,21199.13
128246,33995.24
Table 4. Neural network training result for experiment.
Table 4. Neural network training result for experiment.
L23451020
Test accuracy (%)93.2694.4294.7895.2796.7898.14
Table 5. Fault detection accuracy according to network size for experiment.
Table 5. Fault detection accuracy according to network size for experiment.
Number of NodeNumber of LayerNumber of ParameterTest Accuracy (%)
51241,125,38198.18
5123862,72598.10
5122600,06998.31
2563234,75797.74
2562168,96597.97
128251,71797.55
64217,66996.77
Table 6. Limited performance quantification result.
Table 6. Limited performance quantification result.
ClassLap Time (s) r = 1 m Lap Time (s) r = 1.5 m
CCWCWCCWCW
19.9712.0812.3220.26
29.8720.9412.3248.33
316.9812.3222.4320.26
412.8511.8519.6319.04
59.8116.9812.3226.17
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

An, Y.; Eun, Y. Online Fault Detection for Four Wheeled Skid Steered UGV Using Neural Network. Actuators 2022, 11, 307. https://doi.org/10.3390/act11110307

AMA Style

An Y, Eun Y. Online Fault Detection for Four Wheeled Skid Steered UGV Using Neural Network. Actuators. 2022; 11(11):307. https://doi.org/10.3390/act11110307

Chicago/Turabian Style

An, Youngwoo, and Yongsoon Eun. 2022. "Online Fault Detection for Four Wheeled Skid Steered UGV Using Neural Network" Actuators 11, no. 11: 307. https://doi.org/10.3390/act11110307

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop