Adaptive sliding mode based fault tolerant control of wheeled mobile robots

ABSTRACT In this paper, we propose an adaptive sliding mode-based fault tolerant control for mobile robots. While a mobile robot is tracking a given trajectory, several fault cases may occur, such as sensor model and controller faults, changes in the dynamic equation due to robot body shape or weight changes, and loss of actuator effectiveness. Disturbance signals are caused by the actuator faults and, for various reasons, can be considered the primary issue for the robots. In real-time applications, the Sliding Mode Controller (SMC) is insufficient if the robot parameters are unknown, the robot model is non-linear, and the overall system is subject to disturbances. An adaptive law is used to support the SMC to maintain the sliding surface and solve the problems of unknown system parameters, actuator faults, and disturbances. Besides SMC, the kinematic controller is also used, and its gain values are optimized using a neural network and a kinematic controller. The stability of the overall system is proven by using the Lyapunov theory. Besides actuator faults, the system is disturbed by defining a disturbance signal, which is added to the control signals. To show the effectiveness of the proposed controller, it is compared with traditional SMC and PID.


Introduction
Autonomous systems, including mobile robots, are widely used for many different tasks, such as search and rescue, monitoring, human-robot interaction tasks, etc. As the usage of these systems increases, the expected performance of these systems also increases. There are two major categories to consider for mobile robots: non-holonomic and holonomic. Wheeled Mobile Robots (WMR) are electromechanical systems that use activation torques to drive their wheels and are classified as non-holonomic. Autonomous systems, including mobile robots, are vulnerable to faults and external disturbances. Actuator, sensor, and controller (system) faults are the three major categories into which these faults can be divided. These faults can be amplified during the process of the system. It is crucial that the robot be able to behave tolerantly in the event of actuation and/or sensor faults. Therefore, Fault-Tolerant Control (FTC) systems are widely used today in a variety of fields, including the automotive and electronic industries, unmanned vehicle control, and even space research [1].
From its initial position and orientation, the WMR is expected to reach its target position and orientation. In order to accomplish this, one of the important aspects is the Trajectory Tracking (TT) control system. Thanks to the TT control, WMR is able to maintain track of its reference trajectory even if it changes over time [2].
In TT, the WMR must advance from the initial position point until it reaches the reference trajectory line at high torque. After obtaining the reference trajectory, WMR should reduce its torque and maintain a stable and precise trajectory track [3]. Such a TT controller was proposed by Kanayama et al. [4]. The stability of the proposed system and the control rule were proved using the Lyapunov approach. In addition, this study examined the effects of kinematic controller gains on the system state.
The Adaptive Sliding Mode Control (ASMC) was proposed as an FTC system for the TT problem, considering the uncertainties, nonlinear dynamic model, and artificial noises by Mevo et al. [5]. In that study, a nonlinear dynamic model structure was applied, and the designed controller overcame the uncertainty of robot parameters, as in Refs. [6] and [7]. ASMC reduced actuator faults in a Differential Drive Mobile Robot (DDMR) by using the sliding surface diagram for Loss of Effectiveness (LOE) actuator fault as suggested in Ref. [1]. Also, a similar FTC scheme was used in Jin et al. [8]. Actuator faults and unknown parameters degrade the driving performance of the mobile robot. To achieve asymptotic system stability for partial LOE and bias-actuator faults, novel adaptive fault-tolerant control strategies were developed. To address faults of partial loss of control effectiveness in DDMR, sliding mode control [9][10][11], model predictive control [12], and a fault diagnosis-based approach [13] were used. The nonlinear model predictive based FTC scheme was proposed for an omnidirectional mobile robot with four mecanum wheels. The fault scenario was defined as the wheels not receiving commands and rotating freely [14]. Fault diagnosis was provided with a state transition scheme.
For trajectory tracking, neuro-fuzzy type artificial intelligence methods were employed. Mohareri et al. detailed the process of calculating the gain values using the direct Neural Network (NN) model while developing the kinematic controller [15]. In this work, a kinematic model-based backstepping controller was designed, as well as a non-linear kinematics-based controller and another controller based on the NN inverse model. On the other hand, a fuzzy rule-based faulttolerant control was proposed for an omnidirectional mobile robot with four wheels [16]. The controller was responsible for not only the generation of an obstaclefree path but also providing an adaptive solution for a combination of one or more of the wheel's faults. The kinematic and dynamic controllers were used in conjunction with Internet of Things (IoT) and NN-based algorithms, and they demonstrated significant advantages in parameter uncertainty and roller skid [17]. Furthermore, learning-based algorithms such as iterative learning and distributed controllers were also considered as FTC to provide satisfactory transient and steady state performance [18,19].
The use of the adaptive law on the sliding mode controller is a correct method for time-varying trajectories and faults. However, if the gain values of the kinematic controller, which is another controller, are not adjusted properly, the results may not be satisfactory. Therefore, in this work, an artificial NN-based backstepping controller has been added to the system. The main objective of this study is to present an overview of recent developments in theory and methodology and develop a control strategy with improved transient and steadystate characteristics by reviewing the literature for FTC systems in DDMR. After evaluating the approaches in the literature on the simulation results, it is aimed to achieve the desired system behaviour faster by developing the controller structure within the scope of this study. The first controller system is the kinematic controller, which allows the use of reference velocity signals given by low-level feedback control to the DDMR wheels. Velocities are obtained by the kinematic controller by using the position errors and reference velocities of the DDMR. The Lyapunov stability method was used to prove the stability of the kinematic controller rule. The second controller system is an artificial NNbased controller that optimizes the gain coefficients of the kinematic controller. Since the trajectory changes with time, constant gain values are insufficient. Besides, TT error by modelling a proper tracking system is not a convergent function. The proposed NN-based control algorithm provides variable gains according to the instantaneous changing trajectory of the kinematic controller-based backstepping controller. Since the gains have an effect on the torque values in the wheels, the initial value of the gains should be suitable.
The third controller for this system is the ASMC which is an adaptive system that provides a predictive control scheme for DDMR with a nonlinear dynamic model, noise, uncertainties, and error. ASMC is a special case of variable structure control systems that have a complex structure that uses decision-making rules and feedback control laws together. The decision rule model chooses a specific feedback control structure based on conditions affecting the system's behaviour. This system is called the switching function. The ASMC structure is designed to be driven into the sliding surface in the system state space. Once the sliding surface is reached, ASMC tries to keep the states on the sliding surface boundary [20]. The Lyapunov stability approach was used to test the stability of the ASMC rule.
The last proposed controller system is the traditional PID and SMC, which has been added to the system to discuss the differences between ASMC, SMC, and PID. By using a PID controller or SMC instead of an ASMC in the same mobile robot system without modifying it, the stability of the PID controller in FTC is emphasized and compared [21].
The rest of this paper is organized as follows: The kinematic model and the nonlinear DDMR model are presented with kinematic constraints and the Lagrange approach in chapter 2. Chapter 3 gives kinematic, NNbased, adaptive sliding mode, and PID controllers. The asymptotic stability of this system is demonstrated by Lyapunov theory, which is discussed in Chapter 4. In chapter 5, numerical simulation results are given. Concluding remarks are given in chapter 6.

Mathematical model
This section presents the mathematical model of the DDMR structure. The designed DDMR structure has three wheels. The two wheels on the front of the robot body are the driven wheels. There are two actuators attached to these wheels. The wheel behind the robot body is non-driven and only exists for mobile robot balance.
The robot system described above, and the coordinate systems are shown in Figure 1. The midpoint "A" on the axis between the wheels is the origin of the robot frame. Point "C", which is the robot's centre of mass, is on the axis and is at a distance "d" from point "A". L is the distance between the wheel and the centre point. The wheel radius is shown as "R". Although the velocity of each wheel can change, the DDMR must turn around a point along the common wheel axes for the DDMR to fulfil its rolling movement [22]. The point around which the robot rotates, which is called the Instantaneous Center of Curvature (ICC), is shown in Figure 1.
There is a coordinate system on point "A" of the robot body, as can be seen in Figure 1. This frame can be called a robot coordinate system or moving frame since this coordinate system is displaced according to the mobile robot's movement. The other coordinate system is the inertial coordinate system, which is used when working on the position of the robot. These frames are represented as three-dimensional vectors as follows: A transformation matrix obtained as follows to work on two frames by transforming robot coordinate frame (q r ) with respect to the inertial coordinate system (q I ) [23]: Frame-to-frame conversion is done with the following equation by using the orthonormal rotation matrix (Rot(θ )):q (3)

Kinematic model
The forward kinematics of the robot is related to the relationship between the positions, velocities, accelerations of the robot and its physical structures. The equations given in Refs. [1,5] are used to develop the kinematic model structure. By changing the velocities of the two wheels, the trajectory of the robot can change.
Assuming that both wheels must have the same angular velocity (ω) around the ICC, the following equations can be derived using Figure 1 [24]: Let the position vector at point "A" be (x a , y a ). The position vector for the ICC is obtained as shown in the triangle in Figure 1: V R and V L are the right and left wheel linear velocities. R a is the distance from the ICC point to the midpoint "A" between the wheels. At any time, v and w can be solved as follows: Due to the wheel structure, the robot body cannot move along the y r axis in the moving frame. Thus, the velocity at point "A" is calculated as follows: In Equation (7), the rotational velocities of the wheels can be shown as in Equation (8): The velocity vector in the robot frame is transformed to the inertial frame using the orthogonal rotation matrix Rot(θ ) as follows [25]: If the velocity terms for the DDMR body given in Equation (9) are replaced with the terms given in Equation (6), the forward kinematic model equation becomes as follows [26]: The kinematic model is then derived by fault modelling. In this work, Loss of Effectiveness (LOE) is selected for fault modelling. The fault model is designed to account for the power loss in the motors. This is because there is no sensor model in the designed mobile robot. The LOE parameters are defined as 0 < k L , k R < 1 are multiplied byφ R andφ L , respectively, as follows [1]: where The fault values of right and left wheel angular velocities are obtained by w Rf and w Lf , respectively. The combination of the fault values with the kinematic model is given as follows: The purpose of using the kinematic model of DDMR in the system is to express the current position of the robot body relative to the inertial coordinate system by using the velocities obtained from the nonlinear model structure.

Kinematic constraints
Kinematic constraints of the robot are caused by some assumptions, which are the wheel movement of the robot in the horizontal plane, the point of contact between the wheels and the ground, and the absence of friction for rotation around the wheel, etc. [15].
The velocity of the centre point "A" (in Figure 1) is zero along the lateral axis since the DDMR cannot move laterally [27,28] Using the orthogonal rotation matrix Rot(θ ), the velocity in the inertial frame is: Ensure that the point of contact with the ground is on the left and right wheels respectively, labelled P. Thus, the velocities of the contact points in the robot coordinates are as follows: Velocities in the inertia frame can be calculated as a function of the velocities at point A .
x pR =ẋ a + Lθcos(θ ) y pR =ẏ a + Lθsin(θ ) The rolling constraint equations are obtained using Equation (16) as follows: Constraint terms Equations (14) and (17) can be written in a matrix form as follows:

Dynamic model
The dynamic analysis of the DDMR structure can be defined as the examination of the relationships between the torque or force magnitudes applied to the wheels by the actuator and the position, velocity, and acceleration of the DDMR with respect to time. The main difference between dynamic and kinematic modelling is that the kinematic model examines motion only with the geometric relations governing the system, without considering the forces affecting the motion [16,29]. The dynamic model of the system is derived from the Lagrangian dynamic approach [16,28]. The general form of the Lagrangian equation is obtained as follows: Above, Q i refers to nonconservative forces in the system, and the Lagrange multiplier is denoted by λ j .
Equation (20) is the Lagrange function, which is the difference between the kinetic (T) and potential (V) energies of the system. In our case, the potential energy is zero because there is no height state in the system, so Lagrange is equal to the kinetic energy for this system ( Figure 2).
The kinetic energy formula of the mobile robot body without wheels is as follows: In here, m c refers to the mass of the DDMR without the driving wheels and actuators, I c refers to the moment of inertia of the DDMR about the x r axis through the centre of mass. The kinetic energy of the right and left wheels and actuators of the robot is as follows: Here, m w refers to the mass of each driving wheel, including the actuator. v wR and v wL are right and left linear velocities, respectively. I w refers to the moment of inertia of each driving wheel with an actuator about the wheel axis, and I m refers to the moment of inertia of each driving wheel with an actuator about the wheel radius [27].
The kinetic energy of the robot body in Equation (21) is obtained as follows: Here, x a , y a , and θ a refer to the position vector of the midpoint of the mobile robot frame.
The kinetic energy of the right and left wheels in Equation (22) of the robot: The total kinetic energy of the mobile robot is obtained using Equations (23) and (24), as follows: The total mass and equivalent inertia of the mobile robot: The Lagrange equation is given as follows using Equations (26) and (27): A step-by-step approach is used to find the dynamic model equations using generalized coordinates and the Lagrangian equation. As a result, the Lagrange equations are obtained as follows: Here, C 1 , C 2 , C 3 , C 4 and C 5 refer to the coefficients related to kinematic constraints that can be written in terms λ Lagrange multiplier vectors.
Using the Lagrange equations above, general dynamic equation is given in Equation (30) where M(q) is the symmetric positive definite inertia matrix, V(q,q) is the centripetal and Coriolis matrix, G(q) is the gravitational vector, τ d denotes the bounded unknown disturbances or noises, including unstructured unmodelled dynamics, B(q) is the input transformation matrix, τ is the input torque vector, A τ (q) is the matrix associated with the constraints, and λ is the vector of the constraint forces.
q,q andq specify position, velocity, and acceleration vectors, respectively. Since the DDMR system moves in the horizontal plane and the system is only tested in simulation, the gravitational force G(q) is neglected. Since gravity is neglected and wheel frictions are given to the system with the fault defined in the kinematic model, F(q) is neglected. In addition, since the disturbance value is added to the ASMC signal, τ d is neglected in the dynamic model. After these assumptions, the dynamic model is obtained as follows: By expanding the system in Equation (9),q vector can be written as follows. The velocities (q) and accelerations q in Equation (31) can be found using the in Equation (32).
Here, to express Equation (31), the energy-based Lagrangian approach, which is the dynamic model of the robot, is used.
Using Equation (29), the structure in Equation (31) is obtained as follows: Since the Lagrange multipliers λ are not known, the constraint term A τ (q)λ in Equation (33) must be eliminated by defining the reduced vector.
The S(q) matrix is used for the reduction. TheS(q) matrix is a modified forward kinematic matrix relating the distance between the robot's centre of gravity and the wheel axis, as seen in the forward kinematic equation [18].q The acceleration matrix is obtained by taking the time derivative of Equation (34) as follows: The S(q) matrix is in the null space of the kinematic constraint matrix A(q), which means S T (q)A T (q) = 0. Hence: As can be seen in Equation (36), the constraint term of the dynamic model can be eliminated.
The dynamic model should be revised accordingly. τ L and τ R are left and right torques respectively, used in the new dynamic equation. It can be expressed as follows: Using Equations (34) and (37), the dynamic model of DDMR is modified as follows: If the equation is reordered, the following equation is obtained: Both sides of the Equation (39) are multiplied by transformation matrix S T (q): The dynamic model terms in Equation (40) can be represented as follows: By reordering the Equations (40) and (41), the new dynamic model of DDMR becomes: If the matrix multiplications shown in Equation (41) are done, the following matrix terms are obtained: 2L m c dθ 0 B (q) = 1 0 0 1 (43) Using the velocity in Equation (6), Equation (42) can be converted to an alternative form. This structure in Equation (44) is the nonlinear model of DDMR.
Note that the Lagrange approximation considers the mass and inertia of the wheels and not the robot as a single rigid body. With the nonlinear model, linear velocity and angular velocities are obtained by using Equation (44).

Kinematic controller
The kinematic-based backstepping controller was proposed in the literature for a non-holonomic DDMR [4,15]. In that approach, a stable TT control rule for a non-holonomic mobile robot that neglects DDMR dynamics is based on the steering system. A mobile robot system has two postures, which are the reference position vector P r and the current position vector P c . They are three-dimensional vectors and include the x, y, and θ postures. The error is obtained by taking the difference between the reference and current position vectors.
The difference between P r and P c gives the error value in the base frame. This value is multiplied by the rotation matrix to obtain the error posture in the robot coordinate system.
(45) The current velocities are obtained as follows: K x , K y and K θ are positive gain values. These gains are very important for the system to work satisfactory. Since DDMR system needs slow and a non-oscillating response, the kinematic controller gains must be well tuned [15]. For this reason, Neural network-based algorithm is employed for determining the gains.

Neural network based adaptive backstepping controller
The proposed control algorithm provides the backstepping controller with parameters and adaptive gains that vary with reference trajectory [30,31]. The control structure adapts the kinematics-based controller gains to minimize the following cost function [15,32].
In here, g x , g y and g θ are neural network gains. Error values can be seen from Equation (45). K x , K y and K θ are considered part of the cost function above and they are optimized and updated according to the gradient descent method. The kinematic controller gains are represented by the vector α. The partial derivative of the cost function with respect to α:

∂J ∂α
= g x x e ∂x e ∂α + g y y e ∂y e ∂α + g θ θ e ∂θ e ∂α = e p T g The matrix form of the g value here is shown as follows: In Equation (48), if e p is replaced by Equation (45): (50) Since the vector q r is the reference position consisting of fixed values, its derivative is zero. As the chain rule indicates, the following equation can be written: After the Equation (51) given above is obtained, the desired derivative expression in Equation (52) is written as follows: The derivative of the cost function with respect to the controller gains ∂J ∂α is rewritten as follows: The representation of the derivative of the cost function with respect to the controller gains in matrix form is written as follows: The algorithm for calculating the Jacobian matrix using the NN model is as follows: The initial weight values should be the most suitable for the model. Weights are tuned by training the model using the back propagation algorithm. It is essential to have incorrect values to use back propagation. Thus, the forward propagation method is used first. The forward propagation algorithm is used to obtain the prediction data generated by the NN. Since it is predicted data, there is a difference between the estimated value and the real value. The difference between these two values is used to determine the error value, which propagates from the output layer to the input layer on the NN, resulting in "backward propagation" with various derivative processes [15]. The NN model with two layers of neurons is shown in Figure 3.
The first layer of the NN model feeds L neurons, and the second layer feeds m neurons. The following terminology is used to describe the different parameters of the neural networks shown in Figure 3: Kinematic controller velocities (v c and w c ) are input layers for NN.
x,ŷ,θ are the outputs of the NN. N i and N o are the number of inputs and outputs of the neural network, respectively. N h is the number of neurons in the hidden layer. ζ and δ are the learning and momentum rate, respectively. σ is the activation function. Whereas Whi values are the weights from hidden layer to input layer, Woh values are the weights from the output layer to hidden layer.
According to the defined neural network model above, the relationship between the inputs and the outputs of the network is given as follows: 1, 2, . . . , m and l = 1, 2, . . . , L.
The activation function represented by σ is chosen as the sigmoid (logistic curve) function is given in Equation (56).
The back propagation algorithm needs the derivative of the activation function. Derivative of the sigmoid function with respect to ρ: The expression ρ in the Equation (56) above is the representation of the product of the weight and neuron values up to the desired layer.
The back propagation algorithm is a weight adjustment algorithm based on the gradient descent method.
An output signal is given as a reference to the neural network, and the difference between this output and the output (y i ) produced by NN is an error. The weights are changed in cycles until the error is minimized by the network.
By using the error function, the cost function is found as follows: The required gradients of the cost function E(k) by weights can be easily determined using the chain rule.
In here, z l refer to the sigmoid function up to the hidden layer. The Jacobian matrix is obtained as follows: With the above equations, the kinematic controller gains change and adapts to make the cost function zero according to the gradient descent method as follows:

Adaptive sliding mode controller
For the ASMC structure, traditional dynamic equations are used [5,6]. The sliding surface linear and angular velocities, which come from the output of the kinematic controller and nonlinear model, are used [33]. The velocity error is found by taking the differences between these velocities [34].
In this work, a PI type sliding surface is used for ASMC as follows: In here, β must have a positive value (β > 0) satisfying the Hurwitz condition. If the system is on the sliding surface s(t) = 0 and the error e c (t = ∞) → 0,ṡ(t) = 0 is the necessary condition for the state to remain on the sliding surface during the trajectory tracking. Taking the derivative of Equation (65) for this case, it becomes as follows:ṡ The acceleration terms in Equation (66) can be expressed as:v The linearization of the nonlinear dynamic model in Equation (44) is obtained as follows: If the acceleration expressions in Equation (67) are written into Equation (68), it becomes as follows: Here, γ and α are used as adaptive model parameters. The following torques force the system to approach the switching signal faster with gain K.
The discontinuity of the sign function in the ASMC law and the large η value can cause chattering phenomena. To avoid chattering, the sign function has been replaced by the continuous tanh (Hyperbolic tangent) function. In other words, the tanh function is used as an estimator of the sign function. The steepness of the tanh function determines how it can approach the sign function [34].
The control signal is obtained by summing the above Equations (69), (70), and (71), as follows: u eq is the adaptive compensation item, u w is the feedback item, and u d is the robustness item. Disturbances are added externally to the control signals. In this work, the disturbances are limited and represented with Δ 1 and Δ 2 : |Δ| ≤ D < |η|. The adaptive law is obtained for this system as proposed in Refs. [34][35][36][37]. Using a reasonable priori knowledge of physical systems, an adaptive robust control design based on a discontinuous projection map is obtained to solve the TT control problem. The estimated parameters γ and α are revised with the adaptive law parameters are obtained as follows: Using the above equation, ASMC law is obtained as:

PID controller
In this section, a conventional PID controller, which is widely used in the literature, is added to the system to compare the two controllers. The proportional term (P) is used to calculate instantaneous errors, the integral term (I) provides information about the amount of previous errors, and the derivative term (D) provides an estimate of future errors based on the instantaneous magnitude fluctuation rate [38]. Two PID controllers are used in the system. The first one produces a control signal with linear velocity errors. The second one generates a control signal with angular velocity errors. The following function is used for these two PID controllers: Lyapunov stability analysis Theorem 1: The stability analysis of the kinematic controller is proved by the Lyapunov stability approach in this section [5,15]. The mobile robot tracking error system dynamics is given in Equation (45). The time derivative of the TT position error is: The position error dynamics can be represented in the matrix form as follows: For any initial conditions, all the functions for the mobile tracking error dynamic system are bounded and go to zero with time; so lim t→∞ (x e , y e , θ e ) = 0.
Proof: Except for the Lyapunov theorem, the LOE chosen as the fault model effect on the DDMR model can be seen from the equations as follows: x e = −ẋ Δvcos 2 θ +θ Δw y e + v r cosθ Δẇ For the above Equation (78), the scalar function (V 0 ), which is the positive definite Lyapunov function for the kinematic controller analysis, is suggested as follows: Substituting (45) and (78) in (82), it is obtained as follows:V For t > 0,V 0 is a negative definite function for any x e , y e , θ e = 0 that indicates the asymptotic stability of the overall system. Thus, e p goes to zero under the following conditions: reference velocities are continuous and v r , w r , K x , K y and K θ are bounded [15].

Theorem 2:
Considering the values of the disturbances and faults of the mobile robot, an adaptive law is proposed in Equation (76). The stability of the ASMC is proved by the Lyapunov stability approach in this section, which is proposed in [5,34]. The positive definite Lyapunov function is selected as:

Proof:
The derivative of Lyapunov function in Equation (84) is as follows: If external artificial noises are added to the Equation (66), derivative of sliding surface is obtained as follows: The inequality can be obtained for every scaler value of s (s R) and positive scaler ε: where μ is the nominal control inputs. The suitable adaptive law for ASMC is selected from [5,34]: Therefore, Since |Δ| ≤ D, ASMC asymptotic stability is verified.

Simulations
The proposed controller algorithms are tested in the MATLAB/Simulink environment with numerical simulation. The block diagram containing the whole system is given in Figure 4. The reference block shown at left produces the reference position vector. The error is obtained by taking the difference between the current position vector obtained in the kinematic model and the reference position vector. Since the error vector is in the inertial frame, it is necessary to transform the error vector into the robot frame. The kinematic controller obtains the current linear and angular velocities by using the position errors in the robot frame and reference velocities. The DDMR system needs the variables K x , K y and K θ with respect to its position in the state space. Kinematic controller gain values in adaptive structures are obtained by the neural network block. ASMC generates a control signal using current velocities from the kinematic controller, velocities from the nonlinear model, and wheel angular velocities from the kinematic model. As illustrated in Figure 4, the transition between controller strategies, namely PID, SMC, and ASMC, can be provided by a switch. Unlike ASMC, the PID controller generates the control signal without using wheel angular velocities. Disturbances are added to the output of the control signals for all controller approaches that we used in this work. The linear and angular velocities of the robot are obtained with the nonlinear dynamic model. The fault structure is modelled in the kinematic model.
The mobile robot, which is subject to both faults and disturbances, tries to follow its reference trajectory. Ode45 is used to solve non-stiff differential equations in systems with ASMC, SMC, and PID. In each case, same disturbances which are Δ 1 = 0.25 * sin(3 * t) and Δ 2 = 0.75 * cos(2 * t) is used for fair comparison. Unstable signals, which are disturbances, are added to the control signals. The noise signals are more unstable at the beginning of the simulation. For this reason, the mobile robot has difficulty settling into the reference trajectory. Reference and robot parameters are shown in Table 1.
The initial values of K x , K y and K θ values are given in Table 1. For the PID control approach, two different PID controllers are used for linear and angular velocities. PID gain values have different values because the two systems use two different error values. PID1 and PID2 generate control signals using linear velocity error and angular velocity, respectively. To determine PID controller gains, PID tuner application (transfer function based) is used in the MATLAB/Simulink environment. The PID Tuner app automatically tunes the gains of a PID controller for a SISO plant, which is a mobile robot system, to achieve a balance between performance and robustness. Here, the balance between settling time and robustness is provided with the PID controller gains, which are given in Table 2.
Although the system is subjected to faults and disturbances, as shown in Figure 5, it shows a satisfactory result in TT with the proposed controller structures. In the sixth second, a fault occurs in the system, and the fault continues until the end of the simulation. Therefore, a deterioration in the condition of the trajectory tracking occurs after sixth second. If SMC is compared with the PID system, there are small differences. However, the ASMC system gives much better results than the PID and SMC systems in the curved parts of the reference trajectory, and the ASMC system tracks closer to the reference trajectory in the linear parts. The system with a PID controller settles into the reference trajectory later than the ASMC and SMC systems. The three-controller system gives satisfactory results in TT compared with [6,[39][40][41].
As can be seen in Figure 6, the linear velocity increases until the DDMR catches the reference trajectory. Afterwards, it progresses stably. When the fault occurs in the sixth second, linear velocity values increase in DDMR systems. Because the fault model in the actuators tries to reduce the wheel velocities of the DDMR. The controller system does not allow the robot to stop or slow down by increasing the velocity. If the linear velocity values in the ASMC system are compared with those in the PID and SMC systems, it is seen  that the two figures are very similar. The mobile robot with the PID system initially accelerates to catch the trajectory more slowly than the ASMC and SMC systems. After the eighth second, it progresses stably, similar to a sine wave.
In Figure 7, the angular velocity changes abruptly until it settles onto the reference trajectory. There is more fluctuation after the sixth second, as does the linear velocity. The difference between the angular velocity and the linear velocity is that it can take negative values according to the direction of the mobile robot. If the angular velocity values in the ASMC system are compared with the PID and SMC systems, it is seen that the angular velocity graphs are almost the same due to the reference trajectory being important for angular velocity change. The difference here is that the fluctuation is greater in the PID system due to the structure of the PID.
In Figure 8, control torques which are generated for both right and left wheels by each controller can be seen. Here there are high torque values when the DDMR starts to move from its initial state and the fault occurs in the sixth second, so the DDMR moves with acceleration. This is because the controllers are trying to push the mobile robot to follow the reference trajectory. After DDMR catches the reference line, left and right  wheel torques decrease, and the control signals for all three ASMC, SMC, and PID tend to go to zero. All three systems perform satisfactorily in TT, but SMC and PID controller have more chattering than ASMC, so ASMC produces more smooth control inputs. Figure 9 shows that the error graphs are similar for all three control strategies. The DDMR system has a higher error value until the mobile robot catches the reference line. Afterwards, the error value decreases, and the process proceeds stably. When the fault occurs in the sixth second, the error values increase, and then the error value decreases, and the process proceeds stably again. In DDMRs with fault models, the system error does not disappear because the actuators are constantly given error values over time and disturbances are always present when the system is operating.
To compare the results more accurately, Root Mean Square (RMS) values of the errors for all three systems are given in Table 3.
As can be seen from Table 3, the ASMC gives better results compared to the PID controller and SMC, but the difference is small since the kinematic and NNbased adaptive backstepping controllers have effective operation.    Figure 10 shows that the RMS error graphs are similar for all three control strategies. It starts at zero and suddenly reaches a value of one. The RMS error value decreases and progresses stably until the fault occurs in the sixth second, and then the error value decreases and progresses stably again. If the angular velocity values in the ASMC system are compared with the PID and SMC systems, it is clear that the RMS error in the x-axis is less than the PID and SMC systems in the sixth second.
In Figure 11, the controller gains are compared with each other with respect to the adaptive controller point of view, K x , K y and K θ values are not kept constant for all controllers. The change in the gain values is small because a big change affects the system operation and increases the torque value. Looking at the other changes, it is seen that the gain values do not take very different values from the initial conditions until the fault occurs in the sixth second, and then the gain value decreases and progresses stably again. Here, there are high torque values when the fault occurs. K y and K θ values change in very similar ways in ASMC and PID. K x values change more in ASMC than in SMC and PID as the sliding mode controller structure has an adaptive law. Due to having a fault in the system, the kinematic controller gain values are high compared to those without a fault modelling system [5,15,42], so that the DDMR has high velocity values.

Conclusion
In this paper, first the dynamic and kinematic models are obtained by using kinematic constraints and the Lagrangian approach. The proposed control methods for TT of the DDMR system are ASMC, SMC, and PID controllers. The effects of disturbances and faults in the system's actuators are eliminated, and the DDMR system follows the reference trajectory by adding kinematic controllers and NN-based controllers to the system. In the real-time application, the robot model is nonlinear since the robot parameters are unknown. For this reason, in this work, an adaptive law is proposed to maintain the sliding state, solving the problem of unknown parameters and disturbances. A comparison is made between the PID controller, which is mostly used in linear systems, the SMC, and the adaptive SMC used in nonlinear systems, and responses under faults and disturbances are examined.