Fuzzy-Based Fault-Tolerant Control for Omnidirectional Mobile Robot

: The motion-planning problem is well known in robotics; it aims to ﬁnd a free-obstacle path from a starting point to a destination. To make use of actuation generosity and the fuzzy fast response behavior compared to other non-linear controllers, a fuzzy-based fault-tolerant control for an omnidirectional mobile robot with four Mecanum wheels is proposed. The objective is to provide the robot with an online scheme to control the robot motion while moving toward the ﬁnal destination with avoiding obstacles in its environment and providing an adaptive solution for a combination of one or combination of the wheel’s faults. The faults happen when the wheel does not receive the control command signal from the controller; in this case, the robot can rotate freely due to the interaction with the ground. The principle of fuzzy-based control proposed by Sugeno is used to develop the motion controller. The motion controller consists of two main controllers: the Run-To-Goal, and the obstacle-avoidance controller. The outputs of these two controllers are superposed to get the net potential force on the robot. By its simplicity, the fuzzy controller can be suitable for online applications (online path planning in our case). To the best of our knowledge, this is the ﬁrst fuzzy-based fault-tolerant controller for an omnidirectional robot. The proposed controller is tested by a set of simulation scenarios to check the proposed fuzzy tolerant control. Kuka OmniRob is used as an example of the omnidirectional robot in these simulation runs. Matlab is used to build the fuzzy-based fault-tolerant control, and the 3D simulation is developed on the CoppeliaSim software. We examine ﬁve distinct scenarios, each one with a different fault state. In all scenarios, the proposed algorithm could control the robot to reach its ﬁnal destination with the absence and presence of an obstacle in the workspace, despite actuator faults, without crossing the workspace boundaries.


Introduction
During research in recent decades, industry has investigated the applications of mobile robots in medicine, automotive, military, search and rescue, agricultural, services, underwater research, personal and other many applications in real life [1][2][3][4][5][6][7][8]. In any of these pivotal applications, the robot needs to interact with the environment. Also, it is required to do their tasks without or with minimum human input and control. As a result, it is desired to complete their missions and reach the desired destination (goal). This problem is well known in the field of robotics as a motion-planning and control problem. Many works on the topic have been investigated; the objective focuses on generating a collision-free path from the current state of the robot to the final destination. Obstacle avoidance is considered one of the basic requirements for the robot to do the task efficiently. In 1985, Oussama Khatib proposed a new method for real-time obstacle avoidance for mobile robots based on the artificial potential field. The potential field considers the robot's environment as a field of forces. The goal destination attracts the robot (attractive force); in contrast, the obstacles are considered repulsive forces that push the robot away. The resultant force is the sum of attractive and repulsive forces. They extended the method for moving objects by using time-varying artificial filed methods [9,10]. In [11], Zavlangas et al. proposed a local, real-time fuzzy-based approach for navigation and obstacle avoidance for omnidirectional mobile robots. They consider the nearest obstacle strategy in the fuzzy-based path planning algorithm. The algorithm considers the distance, location to the nearest obstacle, and the robot's current position and direction and destination.
In [12], Ren et al. presented a fuzzy-based intelligent obstacle-avoidance strategy for the wheeled mobile robot. The robot controller consists of two main fuzzy logic controllers. When there are no obstacles in the robot's path, the Run-to-Goal controller is responsible for making the robot approach the desired goal. In the presence of any obstacle, while it is heading to the goal, another fuzzy-based obstacle controller will generate commands to the robot to avoid that obstacle. As a more potent tool, in 2019, Nadour et al. presented a hybrid type-2 fuzzy controller and optical flow approach using the Horn-Shunk algorithm. They used the Takagi-Sugeno fuzzy controller to avoid the detected obstacle based on another image processing algorithm. The obstacle and its position are defined in the image processing using the Horn-Shunk algorithm. The results show the effectiveness of the visual-based navigation system [13].
In [14], the authors introduced a real-time optimal path planning of humanoid robots. They discussed the problem of the unknown environment with the presence of dangerous space. They defined the danger space where the robot is permitted to go when no free space available to go through. In other words, the robots cannot cross the danger space once at least one free path is available. Mud pits and greasy areas are examples of these dangerous areas. They also used a modified Markov decision method based on the Takagi-Sugeno fuzzy system to achieve the task (reach the destination in the presence of danger area).
Since it has wide applications and use, autonomous mobile robots must work with reliable performance and increased autonomy. The type of wheel, the configuration of the autonomous robot, and the actuators' availability determine the robot's capabilities and ability to maneuver in its environment. When the robot moves in an environment with N physical dimensions, and it has geometrical constraints on due to the interaction with the ground, then this type of robots called a non-holonomic, and in this case, the robot has a set of geometrical constraints and cannot move in all physical dimensions. In other words, the robot has fewer degrees of freedom (DOF) than the total available due to the constraints on the robot. Car-like robots, Unicycle, and differential drive robots are examples of non-holonomic robots.
In contrast, the holonomic robots can move in any direction (with N dimensions) of its space [15,16]. In these types of robots, the robot can be controlled to move in any direction since it has the same controllable directions as the same as the total DOF. The robot can move and rotate in any directions freely without any geometrical constraints, which make these types of robots at the center of the attention. The omnidirectional wheel mobile robot is an example of a holonomic mobile robot. In this type of ground robots, the robot can move or rotate in any direction based on the actuators' commands.
In most cases, designers and researchers build a navigation algorithm and assume the robot working with all its functions. In real applications, this is not the case, and the robot may suffer from faults in one or more of its actuators or/and sensors. For the robot to work efficiently and reach its goals in these cases, it must express and show tolerant behavior [15,[17][18][19]. The fault diagnosis method is known as fault detection and identification (FDI), the system's actual response is compared to the response of the theoretical response for the same input signal, if there is a deviation between these responses, then the fault is detected [20].
After identifying the fault, the next step is to impart fault-tolerant control that retains the system's performance and behavior, the closest possible to the ideal situation just before the fault. In literature, there are two main fault-tolerant control techniques used in such cases. The first one is the passive approach, in which the fault is considered a perturbation to the system. The second approach is the active method, where the pre-defined or new online control algorithms are used after identifying the system's faults. This pre-defined control algorithm depends on the type of failure in the systems; it may occur in one part, or a combination between more than one failure in the actuators or/and the sensors [15,16,[21][22][23].
In [24], the authors presented the kinematics and a method for fault-tolerant control of a three-wheel omnidirectional soccer robot, to deal with the sudden failure of one motor during the match. Ref. [23] proposed a novel gear train omnidirectional mechanism for precise and high robot mobility. In this paper, the fault tolerance problem of the omnidirectional wheels was dealt with the gear train's mechanical design. The mechanism uses three motors with conventional tire wheels. When one of the three motors are not working correctly, the robot motion is controlled by the other two healthy motors; in this case, the robot's structure and movement becomes similar to a differential two-wheeled mobile robot subjected to non-holonomic constraints [23]. Chao Ren et al. presented a reduced-order extended state observer-based sliding mode control for a three omnidirectional robot with friction compensation [25].
Qi Song et al. proposed a fault-tolerant control based on a three-degree omnidirectional robot's inverse dynamics. The inverse dynamic control is enhanced by actuator effectiveness factors introduced to the omnidirectional robot's dynamic equation. Unscented Kalman filter is used to estimate the robot's state and the actuator effectiveness factors [26].
The paper [27] represents an analysis of the four Mecanum-wheeled omnidirectional robot and performance analysis of trajectory tracking in case of one fault and two faults in the wheel's motors. The robot gives the desired performance in one fault case, and the system remains in its full actuation capabilities. The performance was not the same for the two motors' faults situation, where some of these fault combinations do not give the desired performance while some do.
Damiano Rotondo et al. proposed trajectory tracking control of a four-wheeled omnidirectional mobile robot based on the reference model approach. The control loop was enhanced by adding a switching quasi-Linear Parameter Varying to obtain fault tolerance. A set of simulations and experiments were performed to check the performance of the proposed method [28]. The work in [29] studies the FDI of actuation and sensing of an omnidirectional mobile robot with four Mecanum wheels. The approach is based on residual where the isolation of sensors based on the analyzing residual signatures, which are different for each sensor fault. For actuators faults more residual characteristics are taken into consideration to achieve the isolation.
In [30] Damiano Rotondo et al. present fault-tolerant control of an omnidirectional robot using a Switched Takagi-Sugeno approach strategy. To achieve the desired performance and keep the stability, they rely on their adaptive controller solution. To prove the effectiveness of the proposed controller, experiential results obtained for a four-wheeled omnidirectional mobile robot. Based on the experimental results that showed potential and performance, the proposed control approach was able to recover the desired trajectory tracking when the first wheel motor was subjected to a loos of effectiveness fault. All the mentioned FTC schemes deal with trajectory control, and no one discusses this problem in the presence of obstacles in the robot's path. Ref. [15] presents the design of an FTC for an omnidirectional robot with four Mecanum wheels. In this research, a non-linear predictive controller is proposed to solve multiple combinations of actuation faults problem. Depending on the identified fault, the control vector and the dynamic of the robot are reconstructed.
In this paper, we proposed a fuzzy-based tolerant control strategy for a four-wheel Mecanum omnidirectional mobile robot which appropriately uses the robot's actuation redundancy, so this will afford adaptive control solutions in the case of failure of one actuator or more of the robot. The proposed navigation and control strategy is based on Takagi-Sugeno Fuzzy Model and is composed of two fuzzy logic controllers. The first one is the Run-to-Goal controller which will control the robot to go to the final goal. In detecting an obstacle in the robot path, the second obstacle-avoidance controller will take the robot away from the obstacle, which depends on the position and the directions of both the obstacle and the final destination relative to the robot's orientation and position. These two controllers and the fuzzy rules and output to the actuators are adaptive and modified based on their health condition. We consider actuation faults where the wheels can rotate freely due to the friction with the ground but cannot receive the controller's control signal.
This paper's main contribution is to design an adaptive fault-based controller with a fast response and suitable for an online application scheme to control the omnidirectional robot with four Mecanum wheels robot motion. Consequently, this controller can control the robot to reach its final destination with the absence and presence of an obstacle in the workspace, which lacks most literary works, despite the existence of actuator faults, without crossing the workspace boundaries.

Kinematics and Dynamics of the 4 Mecanum Omnidirectional Wheel Mobile Robot
In this paper, we assume the robot as a rigid body on 4-mecanum wheels omnidirectional robot. The model assumes that the robot operates on a horizontal plane, and it considers that there is no slippage on the robot's wheels. Also, we assume that the robot's geometric parameters are known as well as the dynamic parameters. As a result, the robot chassis has a three-dimensionality, two for the plane's position, and the third dimension for the robot's orientation around the orthogonal axes to the plane of motion. Referring to Figure 1, the global reference frame is defined by the two axes X I and Y I from the origin O : {X I , Y I }. To determine the robot's position, we choose the point P on the robot's center as a reference point. The robot's body reference frame is defined by the two axes {X R , Y R }relative to the robot's center P. Thus, the robot poses ξ I can be described using the position of the point P relative to the inertial reference frame I, and the angular rotation of the robot θ relative to the I.
To describe the robot motion with respect to the I:  is an orthogonal 7 the rotational matrix used to map the motion in the local reference frame {X R , Y R } to the global reference frame{X I , Y I }. Also,ξ R is the body velocity vector of the robot in the local reference frame and given byξ R = [u, v, ω] T . Since the robot has four wheels and each wheel has a radius r, and rotate with a rotational velocity ω i , then we can relate the body velocity vectorξ R to the wheels rotational velocities vector ω = [ω 1 , ω 2 , ω 3 , ω 4 ], using the following expression:ξ Assuming that the offset of roller for the omnidirectional wheels used in this research is 45 • . Then the Jacobean matrix J v can be written as(see Figure 1): where a,b are the distance from the wheel center to X R and X Y , respectively, as shown in Figure 1. The dynamics of the robot can be written in a matrix form using Lagrange: where τ is the actuators torque vector, τ = [τ 1 , τ 2 , τ 3 , τ4] T , and τ i is the torque of the motor actuates the ith wheel, and i = {1, 2, 3, 4}. ω andω are the rotational vectors of the rotational velocity and acceleration receptively. M is a square symmetrical mass matrix and is given by: where m is the total mass of the robot with the wheels, also, I z , and I ω are the moment of inertia for the robot and the wheels, respectively. In Equation (5), D ω is a diagonal matrix and denotes the friction coefficient between the wheels and the grounds, if we assume that all wheels have the same coefficient of friction with the ground all the time (µ k ), then D ω is given by D ω = µ k I 4×4 . More details about the kinematic and dynamic of the omnidirectional robot with 4-mecanum wheels can be found in [15,16,[31][32][33]

Problem Statements
We consider an omnidirectional robot with four Mecanum wheels. We assume that the robot moves on a flat terrain surface and can move to any point in its workspace other than the obstacles area. Also, we assume that the robot moves with no or with little slipping. All the geometric and dynamic parameters of the robot are known. The robot's position, velocity, and pose and the torque of motors wheel (current of the motor) are measurable all the time.
We aim to design a fuzzy-based controller to control the robot to reach the final destination with the absence and presence of an obstacle in the workspace despite the existence of actuator faults. Figure 2 shows the simulation environment, where we have four static obstacles and the final distention as well as a KUKA Omnirob (the omnidirectional robot). In this paper, we consider actuation faults that can occur in one or a combination of fault on the wheels. The wheel failure occurs when it can rotate freely due to the friction with the ground but cannot receive the controller's control signal (there is no control on the faulty motor wheel). Thus, we proposed a fuzzy logic tolerant control strategy for an omnidirectional mobile robot with four-wheel Mecanum, which appropriately uses the robot's actuation redundancy. The control strategy will afford adaptive control solutions in case of failure, where the proposed navigation and control strategy is based on Takagi-Sugeno. The fuzzy controller is considered suitable for online applications because of its simplicity and fast time response. It is composed of two fuzzy logic controllers; the first one is the Run-to-Goal controller which will control the robot to reach the final goal. The second controller works in case of detecting an obstacle in the robot path. The second obstacle-avoidance controller will take the robot away from the obstacle; this depends on the position and the directions of both the obstacle and the final destination relative to the robot's orientation and position. These two controllers and the fuzzy rules, as well as the control signal to the actuators, are adaptive and modified based on the health condition of the actuators.  Figure 3 shows the flow chart of the main steps and proposed algorithm of path planning and control. The robot starts by setting the robot's orientation toward the goal, and then it starts moving toward the robot using the Run-to-Goal controller. If any obstacle popped up, then the Obstacle-Avoidance controller is activated. These two controllers are modified based on the robot's dynamics, which may be changed during the travel time if any failure is defined. For example, while the robot is heading to the goal and the front motor's wheel is identified to be faulty. As a result, the control signal to the rear wheels will be modified to maintain the robot's efficiency and complete the mission even there are one or more faulty wheels.

Fault Detection, Identification, and Isolation
In this section, we will describe the procedure of fault detection and identification. We assume the wheel is faulty if it cannot receive the command signal from its controller, but it is still rotating freely. We follow the same procedure proposed by [15] to diagnose the malfunction of each motor of the robot. Each motor's torque is proportional to the armature current only if we assume that the magnetic field is constant. The relationship between the torque of the motor τ m and its armature current i is given by: where K is a constant.
Thus, the residuals between the measured torque and the calculated torque from the measured current are given by : Thus, the fault can occur when the residual value r i ≥ r * (i = 1, 2, 3, 4), where r * is a threshold value for each motor residual. In other words, if the residual exceeds the r * (it is a pre-defined value and depends on the motor), then the motor will be identified as a fault motor. Then, based on each motor's residual, the fault isolation can be clearly described by the fault detection and identification system. The fault may occur in any motor of the four motors wheel. Next, we discuss all possible states that may result from the fault in one or more motors wheel.

−
State1: Where all motors are healthy motors (no faults) and the robot is fully operational. Thus, the control input signal τ control is given by : In this case, the robot can be controlled using the four available motors. − State2: In this state, only one motor of the four is identified as a faulty motor. Depending on which motor has failed, the control signal will form. As a result, the control signal may be given by the following [15]: − State3: In this case, either the front wheels (1 & 2) or the rear wheels (3 & 4) are identified simultaneously as faulty wheels. In this case, the control signal is given by: − State4: In this case, either the right wheels (2 & 3) or the left wheels (1 & 4) are identified simultaneously as faulty wheels. In this case, the control signal is given by: − State5: In this case, the faults are in the diagonal set of wheels. Either the right wheels (1 & 3) or the wheels (2 & 4) are identified simultaneously as faulty wheels. In this case, the control signal is given by: − State6: In this case, more than two actuators are failed simultaneously. Thus, in this case, the robot is uncontrollable and cannot complete the mission of the robot.
In the first two states, 1 and 2, the robot is fully actuated and can be moved anywhere in any direction. Although the robot is underactuated in the states 3, 4and 5 still, it can be moved and controlled to do the mission. The robot path planning control consists of two main problems [11,34]: • Run − To − Goal : Run-To-Goa is considered a global problem because local information cannot help find the optimal short path to the goal. Then, knowing the topology of the space is crucial to achieving optimal planning. In this research, we use the information about the final distention and the pose of the robot and its location relative to its goal (final destination) to generate the attractive force to the goal, as discussed in Section 5.

•
Obstacle Avoidance : Only local information (sensors data) are required to solve the obstacle-avoidance problem. These problems cannot be solved in advance in case of a dynamic environment, where the obstacles and the environment's components are moving. In the existence of an obstacle, the position of the robot 5.
In this research, the above two problems are modified according to the health state discussed. See Figure 3.

Fuzzy Fault-Tolerant Control
In this section, we discuss the fault-tolerant control strategy. We were influenced by the artificial potential field method proposed by Khatib [9]. In his research, Khatib uses the potential filed concept to compute the total force acting on the robot. This force has two components: the repulsive force in the existence of the obstacle, and the attractive force produced by the target to attract the robot. The potential field force is created by superposing these two forces, and the only nearest obstacle is considered to reduce the computational cost. Thus, the actuation control signal for each motor is given by: where Γ is a n × 1 vector with a single nonzero (equals one) component defines the control vector components ( τ Control ) based on the states of faults discussed in Section 4. As an example, if the FDI algorithm identified the state3 fault (front or left wheels have faults), then Γ = [0, 0, 1, 0, ..., 0] T n×1 . Each fault state has one or more fault cases; in state 3 (diagonal fault) has two cases: either the wheels 1 and 3, or the wheels 1 and 3 are faulty (both of these two cases belong to the state 3). Thus, the total number of fault cases in the five states is defined by n (11 in our problem). F att and F rep are vectors of the attractive and repulsive forces, respectively. Also, µ is a piecewise function (to activate the obstacle-avoidance controller, see Figure 3) and given by: where α is a constant factor to be tuned, P(Obs) is the position of the nearest obstacle to the robot (i.e., position sensors data), and d o is the influence enrage of the obstacle, it can be adjusted based on the running speed of the robot and the workspace size (tuned parameter).

Fuzzy-Based Run-to-Goal Problem
The principle of fuzzy-based control proposed by Sugeno was used to develop the Run-To-Goal controller. In this approach we have two inputs: the distance from the current position of the robot to the goal D G , and the angle between the robot direction θ and the angle of the straight line connecting the current position of the robot and the final goal position β, see Figure 4. The input space is divided by fuzzy memberships; a trapezoid and symmetrical triangle shape for the membership functions were used to the fact the computation, see Figure 5. We use nine-membership functions for the angle input θ; this angle could be negative or positive depends on the position of the final goal and the robot's orientation. Also, we use four membership functions for the distance between the robot the final goal position. The output of this algorithm is considered to be an attractive force to the final target position. We use nine-membership crisp output values. Matlab Fuzzy logic toolbox was used to build the fuzzy controller, and the fuzzy rules were created based on the prior knowledge of the problem domain.
A total of 36 rules were generated to cover all possible inputs; Table 1 shows a sample of these fuzzy rules. When there is no obstacle in the path, the robot always tries to adjust the heading angle toward the target.

Fuzzy-Based Obstacle Avoidance
We use the fuzzy control principle by Sugeno to develop the obstacle-avoidance controller. The fuzzy model has three inputs:

•
The distance from the current position of the robot to the nearest obstacle D O . See Figure 4.

•
The difference between the robot's orientation angle θ and the angle γ. See Figure 4.

•
The difference between the robot's orientation angle θ and the angle β is shown in Figure 4.
This input space is divided by fuzzy sets; trapezoid and symmetrical triangle shapes for the membership functions were used to reduce the computation efforts, see Figure 6. We use nine-membership functions for the angle input θ; this angle could be negative or positive depends on the position of the final goal and the robot's orientation. Moreover, we use four membership functions for the distance between the robot and the nearest obstacle in its range, D O . We also use seven membership functions for the angle between the robot orientation and the obstacle (β − γ). The output of this controller is considered to be a repulsive force. For the output, we use nine-membership crisp output values. Matlab Fuzzy logic toolbox was used to build the obstacle-avoidance fuzzy controller. Figure 7 shows the fuzzy surface of the rules for the obstacle-avoidance controller. A total of 324 rules were generated to cover all possible input combinations. Table 2 shows a sample of these fuzzy rules.

Simulation Results
In this section, a set of simulation scenarios is presented to check the proposed fuzzy tolerant controller's validity and performance in this paper. Matlab was used to build the fuzzy-based fault-tolerant control, and the 3D simulation was developed on the CoppeliaSim software. KUKA omniRob Model in CoppeliaSim was used as an example of the omnidirectional robot. We examine five distinct scenarios, each one with a different fault state. The goal is to reach the goal position while avoiding any obstacle in the path with respecting the workspace boundaries. Figure 2 shows the workspace and its boundaries, the robot, four walls (Obstacles), as well as the final goal position. The position of the final destination is {35 m, 35 m}. The CoppeliaSim simulation environment communicated with the Matlab using the remote API, which allows the communication and bidirectional data streaming between the CoppeliaSim and Matlab. Figures 8 and 9 examine the performance of the proposed control strategy with no fault conditions (State1). In this scenario, all four motors are working properly. Figure 10 shows the robot trajectory, where the robot was able successfully to reach the final destination by avoiding the obstacle in its path. The robot could not reach the final destination with a straight line because of the obstacle in its direct path, but it could avoid the obstacle with minimal efforts needed. Figures 10 and 11 examine the performance of the proposed control strategy with identified fault in the wheel1 (State2). In this scenario, all motors work properly, but the first wheel (front-left) has a fault identified by the FDI algorithm. Figure 10 shows the robot trajectory where the robot was able successfully to reach the final destination by avoiding the obstacle in its path.
However, Figures 12 and 13 examine the performance of the proposed control strategy with faults on the Front-Right and Rare-Left wheels (Diagonal fault, State3). In this scenario, Only the Front-Left and Rear-Right wheels (1 and 4) can receive control signals. Figure 12 shows the robot trajectory where it was able successfully to reach the final destination with avoiding the obstacle in its path.    Also, Figures 14 and 15 show that the robot can finish the desired task when the two right motors (2 , 3) are not functional. In this scenario, the right motors work probably, and due to the faults in the left motor, it can be seen that the robot reach the final destination, but it was not able to go straight to the goal because of the actuation faults, it takes some time (going right and left) to reach the goal.   State 5, where the rear wheels are only active, the robot was able to reach the goal smoothly. See Figures 16 and 17 that shows the path of the robot and the motors torque.   Figure 18 shows the means error of the robot positions in the five simulated scenarios. The robot starts with an error of about 75 mod at the initial position (10,10). As the robot gets closer to the destination, the error vanishes. In all scenarios, the error goes to zero after a particular time.

Conclusions
In this paper, a fuzzy fault-tolerant control for an omnidirectional robot with four Mecanum wheels has been proposed. The motor fault is considered when the wheel can rotate freely but cannot get the controller's command signal. Influenced by the artificial field method, fuzzy control based on the Sugeno Control principle was built. The controller consists of two main parts, Run-To-Goal and Obstacle-avoidance controller, which were built on Matlab Fuzzy Toolbox.
Several simulation scenarios (for KUKA Rob platform) were performed on the CoppeliaSim 3D simulation environment for different faults conditions. In all scenarios, the proposed algorithm could control the robot to reach its final destination with the absence and presence of an obstacle in the workspace, despite the existence of actuator faults, without crossing the workspace boundaries.

Conflicts of Interest:
The authors declare no conflict of interest.

Abbreviations
The following abbreviations are used in this manuscript:

FTC Fault-Tolerant Control 3D
Three-Dimensional Space TLA Three-letter acronym LD linear dichroism