# Takagi–Sugeno Fuzzy Controller and Sliding Mode Controller for a Nonholonomic Mobile Robot

Authors: Hafedh Abid
Journal: Mathematical Problems in Engineering
 (2021)

---

## Abstract

This paper focuses on the nonholonomic wheeled mobile robot. We have presented a scheme to develop controllers. Two controllers have been developed. The first concerns the kinematic behavior, while the second relates to the dynamic behavior of the mobile robot. For the kinematic controller, we have used a Takagi–Sugeno fuzzy system to overcome the nonlinearities present in model, whereas for the second controller, we have used the sliding mode approach. The sliding surface has the identical structure as the proportional integral controller. The stability of the system has been proved based on the Lyapunov approach. The simulation results show the efficiency of the proposed control laws.


---

## Body

## 1. Introduction

In the last decades, the path of travel is considered as one of the critical problems in the field of mobile robotics. The trajectory tracking consists of guiding the robot through intermediate points to reach the final destination. This tracking is carried out under a constraint time, which means that the robot must reach the goal within a predefined time. In the literature, the problem is treated as the tracking of a reference robot that moves to the desired trajectory with a certain rhythm. The real robot must follow precisely the reference and reduce the distance error, by varying its linear and angular velocities [1, 2]. There are many works that have focused on tracking the trajectory of the mobile robots, and they consider the mobile robot as a particle; in this case, the inputs are velocities. Their aims are kinematic models. In [3], the kinematic control law approach supposes that the control signal generates the exact motion commanded. On the contrary, some works consider the kinematic aspect and the dynamic aspect for the mobile robot. In this case, the actuator inputs signals are torques instead of velocities [4]. In [5], Lee et al. suggest a technique for designing the tracking control of wheeled mobile robots based on a new sliding surface with an approach angle. In [6], authors proposed a robust backstepping controller for the uncertain kinematic model of the wheeled mobile robot based on a nonlinear disturbance observer in order to cope with model uncertainties and the external disturbances. Topalov [7] proposed an adaptive fuzzy approach for the kinematic controller. This method was able to decrease the effect of unmodeled disturbances. In [8], a dynamic Petri recurrent fuzzy neural network was proposed. In [9], the proposed controller combines nonlinear time varying feedback with an integral sliding mode controller. The latter is obtained by introducing an integral term in the switching manifold.In [10], a robust adaptive mobile robot controller is presented using backstepping for kinematics and dynamics motions, and the adaptive process was based on the neural network. In [11], a classical parallel distributed compensation (PDC) control law, based on Takagi–Sugeno fuzzy modeling, is proposed. The controller comprises sixteen rules in which the control gains have been calculated using LMI techniques. In [12], the authors present an adaptive controller with consideration of unknown model parameters.In [13], the authors suggest a controller of a mobile robot in Cartesian coordinates with an approach angle based on the sliding mode. In [14], the authors combine hybrid backstepping kinematic control with the adaptive integral sliding mode kinetic control of the three-wheeled mobile robot.Most of the works deal with nonholonomic wheeled mobile robot, which is used for kinematic motion of a classical controller arising from the backstepping method [2, 10, 12, 14, 15].This paper includes two main contributions. First, a new controller based on Takagi–Sugeno fuzzy systems for kinematic motion. This lastly uses three fuzzy rules. The second contribution consists of developing for the dynamic part a controller based on the sliding mode. The sliding surface, which is based on linear and angular velocities of the robot, has the similar structure as the proportional integral controller. The switching control term of the latter controller combines the two sliding surfaces.The remainder of this paper is organized as follows. Section2 is devoted to the description of the kinematic and dynamic models of the two-wheeled mobile robot. Section 3 that is reserved to the controllers design includes two subsections, the first is reserved to the development of the new T-S type fuzzy controller of the kinematic behavior, whereas the second is consecrated to the design of the dynamic motion controller using the sliding mode approach. The stability analysis is checked in the both precedent subsections by the Lyapunov approach. Then, Section 4 is sacred to the presentation of the simulation results.


## 2. Mobile Robot Modeling

In this section, we are interested in the modeling of the robot, which is composed of two driving wheels and a drive shaft in the center, as shown in Figure1. Indeed, the Section 2.1 is reserved for kinematic modeling, while Section 2.2 concerns dynamic modeling.Figure 1
Representation of the navigation environment.We define the current positionxc,yc and the heading angle θ, which constitute the coordinates of the middle point of the mobile robot and the angle between the heading direction and the x-axis to describe the current posture position of the mobile robot. Figure 1 depicts the current posture position of a two wheels mobile robot in Cartesian frame coordinates.The nonholonomic constraint of a wheeled mobile robot is given by the following equation:(1)y˙cosθ−x˙sinθ=0.


### 2.1. Fuzzy Kinematic Model of Robot

Based on the Newton–Euler equations [16] and the previous hypotheses, the state equations of the mobile robot are represented by the following equations’ system [17]:(2)x˙=vcosθ,y˙=vsinθ,θ˙=ω,v=x˙2+y˙2,where (x, y), v, and ω represent, respectively, the instantaneous position coordinates of point C of the mobile robot in the global Cartesian frame and the measurements at point C of the linear and angular speeds of the robot. The state variables of mobile robot are q=xyθT:(3)vd=x˙d2+y˙d2,wd=x˙dy¨d−y˙dx¨dx˙d2+y˙d2,where vd and wd represent, respectively, the desired linear and angular velocity.The state kinematic model of the mobile robot in Cartesian frame coordinates is given by the following expression:(4)q˙=x˙y˙θ˙=cosθ0sinθ001vtwt=JθVm,with(5)Vm=vωT,Jθ=cosθsinθ0001T.In order to develop a T-S fuzzy controller, which stabilizes the system and allows the robot to follow the desired path, we need a fuzzy model. In this context, we proceed to determine a fuzzy model of the robot.The posture vector error is not specified in the global frame coordinate system, but quite as a vector error in the local frame coordinate system of the robot:qet=e1e2e3T.The posture vector errorqe is computed based on the actual posture vector qt=xyθT and the reference posture vector qdt=xdydθdT:(6)q˙dt=JθdVmd,where Vmd=vdωdT.So,(7)q˜=qd−q=xd−xyd−yθd−θ=exeyeθ.The relation between the local frame and the global frame, as shown in Figure2, is given by the following equation:(8)qe=ℜeq˜,where(9)ℜe=cosθsinθ0−sinθcosθ0001.Figure 2
Trajectory tracking.Equation (8) allows transforming the magnitudes described in the global coordinate system to the local coordinate system:(10)q˙e=ℜ˙eq˜+ℜeq˜˙.However, by differentiating equation (10), which contains the linear speed and the angular speed terms, we obtain the derivative of the error vector, which is expressed by the following equation:(11)q˙e=e˙1=ωe2−ν+νdcose3,e˙2=−ωe1+νdsine3,e˙3=ωd−ω.The posture error model can be rewritten as follows:(12)e˙1e˙2e˙3=cose30sine3001vdwd+−1e20−e101vw.We note that equation (12) contains trigonometric nonlinearities which are cos (e3) and sin (e3). However, the nonlinearities depend on the error e3, whose range of variation is from −pi/2 to pi/2.The advantage of the T-S type fuzzy approach is that it allows describing the nonlinear model by linear submodels. Indeed, each submodel represents a local linear relation between the inputs and the outputs and all the nonlinearities are reported in the premises of the fuzzy rules [18].Based on the theory of T-S fuzzy systems, the nonlinear model (12) can be transformed into three local models, which are inferred by fuzzy rules. The three local models are described by the following systems of equations:From the weights assigned to each rule, the state vector of the fuzzy models is inferred as follows (which corresponds to a barycentric aggregation).The member ship function for the errore3 is given in Figure 3.Figure 3
Membership function.The rules of the local models are given by the following expression:(13)ife3isμ1,thenq˙e=A1Vmd+B1Vm,ife3isμ2,thenq˙e=A2Vmd+B2Vm,ife3isμ3,thenq˙e=A3Vmd+B3Vm.The T-S fuzzy model of equation (12) is given by the following equation:(14)q˙e=∑i=13μiAiVmd+BiVm,where μiandAiandBi represent, respectively, the weight assigned to each rule and the matrices associated to the local model.With,(15)A1=10e3001,A2=001001,A3=00−1001,B1=B2=B3=−1e20−e101.


### 2.2. Dynamic Model of Robot

The dynamic equation of the wheeled mobile robot is given by the following equation:(16)Mqq¨+Cq,q˙q˙+Fq˙=Bqτ−ATqλ,where Cq,q˙ is the centripetal and Coriolis matrix, Fq˙ is the friction force, τ represents the torque vector, and ATq=0:(17)Mq=m000m000Jg,Bq=1rcosθcosθsinθsinθL−L,Cq,q˙=000000000,where m and Jg represent, respectively, the mass and the moment inertia of the wheeled mobile robot. L and r represent, respectively, the distance separating the two driving wheels and the wheel radius. Without considering disturbances and uncertainties, the latest equation becomes as(18)M¯qV˙m=B¯qτ,where(19)M¯q=m00Jg,B¯q=1r11L−L,Vm=vw,τ=τrτl.The expressions of linear and angular velocities of the mobile robot, (v, w), depend on the left and right linear velocities of the motors. They are expressed by the following equations:(20)v=vr+vl2,w=vr−vl2L.


## 2.1. Fuzzy Kinematic Model of Robot

Based on the Newton–Euler equations [16] and the previous hypotheses, the state equations of the mobile robot are represented by the following equations’ system [17]:(2)x˙=vcosθ,y˙=vsinθ,θ˙=ω,v=x˙2+y˙2,where (x, y), v, and ω represent, respectively, the instantaneous position coordinates of point C of the mobile robot in the global Cartesian frame and the measurements at point C of the linear and angular speeds of the robot. The state variables of mobile robot are q=xyθT:(3)vd=x˙d2+y˙d2,wd=x˙dy¨d−y˙dx¨dx˙d2+y˙d2,where vd and wd represent, respectively, the desired linear and angular velocity.The state kinematic model of the mobile robot in Cartesian frame coordinates is given by the following expression:(4)q˙=x˙y˙θ˙=cosθ0sinθ001vtwt=JθVm,with(5)Vm=vωT,Jθ=cosθsinθ0001T.In order to develop a T-S fuzzy controller, which stabilizes the system and allows the robot to follow the desired path, we need a fuzzy model. In this context, we proceed to determine a fuzzy model of the robot.The posture vector error is not specified in the global frame coordinate system, but quite as a vector error in the local frame coordinate system of the robot:qet=e1e2e3T.The posture vector errorqe is computed based on the actual posture vector qt=xyθT and the reference posture vector qdt=xdydθdT:(6)q˙dt=JθdVmd,where Vmd=vdωdT.So,(7)q˜=qd−q=xd−xyd−yθd−θ=exeyeθ.The relation between the local frame and the global frame, as shown in Figure2, is given by the following equation:(8)qe=ℜeq˜,where(9)ℜe=cosθsinθ0−sinθcosθ0001.Figure 2
Trajectory tracking.Equation (8) allows transforming the magnitudes described in the global coordinate system to the local coordinate system:(10)q˙e=ℜ˙eq˜+ℜeq˜˙.However, by differentiating equation (10), which contains the linear speed and the angular speed terms, we obtain the derivative of the error vector, which is expressed by the following equation:(11)q˙e=e˙1=ωe2−ν+νdcose3,e˙2=−ωe1+νdsine3,e˙3=ωd−ω.The posture error model can be rewritten as follows:(12)e˙1e˙2e˙3=cose30sine3001vdwd+−1e20−e101vw.We note that equation (12) contains trigonometric nonlinearities which are cos (e3) and sin (e3). However, the nonlinearities depend on the error e3, whose range of variation is from −pi/2 to pi/2.The advantage of the T-S type fuzzy approach is that it allows describing the nonlinear model by linear submodels. Indeed, each submodel represents a local linear relation between the inputs and the outputs and all the nonlinearities are reported in the premises of the fuzzy rules [18].Based on the theory of T-S fuzzy systems, the nonlinear model (12) can be transformed into three local models, which are inferred by fuzzy rules. The three local models are described by the following systems of equations:From the weights assigned to each rule, the state vector of the fuzzy models is inferred as follows (which corresponds to a barycentric aggregation).The member ship function for the errore3 is given in Figure 3.Figure 3
Membership function.The rules of the local models are given by the following expression:(13)ife3isμ1,thenq˙e=A1Vmd+B1Vm,ife3isμ2,thenq˙e=A2Vmd+B2Vm,ife3isμ3,thenq˙e=A3Vmd+B3Vm.The T-S fuzzy model of equation (12) is given by the following equation:(14)q˙e=∑i=13μiAiVmd+BiVm,where μiandAiandBi represent, respectively, the weight assigned to each rule and the matrices associated to the local model.With,(15)A1=10e3001,A2=001001,A3=00−1001,B1=B2=B3=−1e20−e101.


## 2.2. Dynamic Model of Robot

The dynamic equation of the wheeled mobile robot is given by the following equation:(16)Mqq¨+Cq,q˙q˙+Fq˙=Bqτ−ATqλ,where Cq,q˙ is the centripetal and Coriolis matrix, Fq˙ is the friction force, τ represents the torque vector, and ATq=0:(17)Mq=m000m000Jg,Bq=1rcosθcosθsinθsinθL−L,Cq,q˙=000000000,where m and Jg represent, respectively, the mass and the moment inertia of the wheeled mobile robot. L and r represent, respectively, the distance separating the two driving wheels and the wheel radius. Without considering disturbances and uncertainties, the latest equation becomes as(18)M¯qV˙m=B¯qτ,where(19)M¯q=m00Jg,B¯q=1r11L−L,Vm=vw,τ=τrτl.The expressions of linear and angular velocities of the mobile robot, (v, w), depend on the left and right linear velocities of the motors. They are expressed by the following equations:(20)v=vr+vl2,w=vr−vl2L.


## 3. Design of Robot Controllers

In this work, we consider the kinematic and dynamic behavior of the robot. The purpose of the control design is to allow the robot to follow the virtual robot. The latter represents the reference robot and provides the desired path defined by the following vector:qdt=xdydθdT.The architecture of the control scheme of the robot, includes six blocks, as shown in Figure4. The first block generates the desired states, whereas the second block transforms the error from the local frame into the general frame. The third and fourth blocks are reserved, respectively, for kinetic and dynamic controllers. The fifth and sixth blocks, respectively, describe the behavior of the kinematic and dynamic models of the robot.Figure 4
Architecture of the robot controller.


### 3.1. Fuzzy Kinematic Controller

In this section, we are interested in the search for a T-S type fuzzy controller, which guarantees the convergence of the kinematic errors towards zero in the local coordinate system and allows the robot to follow the desired path.Based on the T-S fuzzy model (14), the rules for the local controllers are given by the following expressions:(21)ife3isμ1,thenVm=ν=K1e1+νdω=K3e3+νde2e3+ωdT,ife3isμ2,thenVm=ν=K1e1+νdω=K3e3+νde2e3+ωdT,ife3isμ3,thenVm=ν=K1e1+νdω=K3e3+νde2e3+ωdT.The global T-S fuzzy controller is given by the following equation:(22)Vm=νc=∑i=13μiνi=K1e1+μ1νdωc=∑i=13μiωi=ωd+K3e3+μ1νde2+μ2−μ3νde2e3T.Ife3=0,thenμ1=1andμ2=μ3=0, so(23)Vm=νc=∑i=13μiνi=K1e1+μ1νdωc=∑i=13μiωi=ωd+K3e3+μ1νde2T.


#### 3.1.1. Stability Analysis

To check the stability of the robot, we use Lyapunov’s theory. However, we choose the following Lyapunov candidate function:(24)V=12e12+12e22+12e32.The derivative of Lyapunov function is as follows.So,(25)V˙=e˙1e1+e˙2e2+e˙3e3,V˙=μ1ωe2−ν+νd+μ2ωe2−ν+μ3ωe2−νe1+μ1−ωe1+νde3+μ2−ωe1+νd+μ3−ωe1−νde2+μ1ωd−ω+μ2ωd−ω+μ3ωd−ωe3.So,(26)V˙=−ν+μ1νde1+μ1νde2+ωd+μ2−μ3νde2e3−ωe3.If we choose the following linear and angular velocities,(27)νc=K1e1+μ1νd,ωc=∑i=13μiωi=ωd+K3e3+μ1νde2+μ2−μ3νde2e3.Equation (26) becomes(28)V˙=−K1e12−K3e32≤0,ife3≠0.Ife3=0,thenμ1=1andμ2=μ3=0. So, νc=K1e1+νd and ωc=∑i=13μiωi=ωd+K3e3+νde2.Also,(29)V˙=−K1e12−K3e32≤0.The derivative of the Lyapunov function is negative and the stability of the system is guarantee.


### 3.2. Dynamic Controller Based on Sliding Mode

In this section, we are interested in the development of a controller, which guarantees the convergence of the posture errorqe towards zero for any arbitrary reference trajectory. However, we have developed a controller based on the sliding mode approach because the latter is considered a robust approach [19, 20]. In this case, we define two sliding surfaces. The first surface depends on linear velocity, while the second uses angular velocity, S=svswT:(30)St=SvSw=eet+K∫0teeδdδ,where sv and sw are given, respectively, by equations (31) and (32), ee=Vc−Vm=evewT. With ev=vc−v and ew=wc−w,(31)Svt=evt+kv∫0tevδdδ,(32)Swt=ewvt+kw∫0tewδdδ.However, the derivatives of the sliding surfacessvt and swt are given by the following expressions:(33)S˙vt=e˙vt+kvevt,S˙wt=e˙wt+kwewt.The dynamic motion of the robot is described by equation (7) which can be transformed as(34)V˙m=M¯q−1B¯qτ.Equation (34) can be written as(35)V˙m=B˜τ,where B˜=M¯−1B¯Based on the sliding mode theory, the controller includes two terms which are known as equivalent control law and switching control. The global control law is expressed as(36)u=τ=ueq+us=τeq+τs.The equivalent control lawueq is computed by recognizing that S˙=0 which is a necessary condition for the state trajectory to stay in the sliding surface [19, 20]. The derivative of the sliding surface is(37)S˙t=e˙et+Keet,with e˙e=V˙c−V˙m and ee=Vc−Vm.Thus, substituting (35) for (37), we obtain(38)S˙t=V˙c−B˜τ+Keet=00,with(39)M¯−1=1mJgJg00m,B˜=M¯−1B¯=1rmJgJgJgmLmL,B˜−1=r2LmLJgmL−Jg,B¯−1=12LrL1L−1.However, the equivalent control lawueq=τeq can be computed as(40)ueq=τeq=B˜−1V˙c+B˜−1Keet,with(41)V˙c=ν˙c=K1e˙1+μ1ν˙dω˙c=ω˙d+K3e˙3+μ1ν˙de2+νde˙2+μ2−μ3ν˙de2+νde˙2e3−νde2e˙3e32.So,(42)ueqrueql=rm2rJg2Lrm2−rJg2LK1e˙1+μ1ν˙dω˙d+K3e˙3+μ1ν˙de2+νde˙2+μ2−μ3ν˙de2+νde˙2e3−νde2e˙3e3+λevλew,ueqrueql=rm2rJg2Lrm2−rJg2LK1e˙1+μ1ν˙d+λevω˙d+K3e˙3+μ1ν˙de2+νde˙2+μ2−μ3ν˙de2e3+νde2e3−νde2e˙3e32+λew,ueqrueql=rm2K1e˙1+μ1ν˙d+λev+rJg2Lω˙d+K3e˙3+μ1ν˙de2+νde˙2+μ2−μ3ν˙de2+νde˙2e3−νde2e˙3e32+λewrm2K1e˙1+μ1ν˙d+λev−rJg2Lω˙d+K3e˙3+μ1ν˙de2+νde˙2+μ2−μ3ν˙de2+νde˙2e3−νde2e˙3e32+λew.Finally, we obtain(43)ueqr=rm2K1e˙1+μ1ν˙d+λev+rJg2Lω˙d+K3e˙3+μ1ν˙de2+νde˙2+μ2−μ3ν˙de2+νde˙2e3−νde2e˙3e32+λew,ueql=rm2K1e˙1+μ1ν˙d+λev−rJg2Lω˙d+K3e˙3+μ1ν˙de2+νde˙2+μ2−μ3ν˙de2+νde˙2e3−νde2e˙3e32+λew.The switching control term is generally chooses asus=−ηsignS, with η≻0. This term can be canceled when the system reaches the sliding surface [20]. In this paper, the switching control law is chosen as follows:(44)τs=−ks1sgnsv+sw−ks1sgnsv−sw.


#### 3.2.1. Reaching Condition and Stability Analysis

To verify the reaching condition, we need to just check the following condition. The Lyapunov candidate function is chosen as(45)V=12STS.The derivative can be expressed as(46)V˙=STS˙,V˙=STV˙c−B˜τ+Keet,V˙=STV˙c−B˜τeq+τs+Keet,V˙=STS˙=STV˙c−B˜τeq+τs+Keet.Based on equation (40), V˙c−B˜τeq+Keet=0So,(47)V˙=STS˙=STrm2rJg2Lrm2−rJg2L−kssgnsv+sw−kssgnsv−sw,V˙=ST−ksrm2sgnsv+sw−ksrJg2Lsgnsv−sw−ksrm2sgnsv+sw+ksrJg2Lsgnsv−sw,V˙=svsw−ksrm2sgnsv+sw−ksrJg2Lsgnsv−sw−ksrm2sgnsv+sw+ksrJg2Lsgnsv−sw,V˙=ksrmsv+sw2sgnsv+sw−ksrJgsv−sw2Lsgnsv−sw,V˙=−ksrm2sv+sw−ksrJg2Lsv−sw.We notek1s=ksrm/2 and k2s=ksrJg/2L. So,(48)V˙=−kssv+sw−k2ssv−sw≺0.


## 3.1. Fuzzy Kinematic Controller

In this section, we are interested in the search for a T-S type fuzzy controller, which guarantees the convergence of the kinematic errors towards zero in the local coordinate system and allows the robot to follow the desired path.Based on the T-S fuzzy model (14), the rules for the local controllers are given by the following expressions:(21)ife3isμ1,thenVm=ν=K1e1+νdω=K3e3+νde2e3+ωdT,ife3isμ2,thenVm=ν=K1e1+νdω=K3e3+νde2e3+ωdT,ife3isμ3,thenVm=ν=K1e1+νdω=K3e3+νde2e3+ωdT.The global T-S fuzzy controller is given by the following equation:(22)Vm=νc=∑i=13μiνi=K1e1+μ1νdωc=∑i=13μiωi=ωd+K3e3+μ1νde2+μ2−μ3νde2e3T.Ife3=0,thenμ1=1andμ2=μ3=0, so(23)Vm=νc=∑i=13μiνi=K1e1+μ1νdωc=∑i=13μiωi=ωd+K3e3+μ1νde2T.


### 3.1.1. Stability Analysis

To check the stability of the robot, we use Lyapunov’s theory. However, we choose the following Lyapunov candidate function:(24)V=12e12+12e22+12e32.The derivative of Lyapunov function is as follows.So,(25)V˙=e˙1e1+e˙2e2+e˙3e3,V˙=μ1ωe2−ν+νd+μ2ωe2−ν+μ3ωe2−νe1+μ1−ωe1+νde3+μ2−ωe1+νd+μ3−ωe1−νde2+μ1ωd−ω+μ2ωd−ω+μ3ωd−ωe3.So,(26)V˙=−ν+μ1νde1+μ1νde2+ωd+μ2−μ3νde2e3−ωe3.If we choose the following linear and angular velocities,(27)νc=K1e1+μ1νd,ωc=∑i=13μiωi=ωd+K3e3+μ1νde2+μ2−μ3νde2e3.Equation (26) becomes(28)V˙=−K1e12−K3e32≤0,ife3≠0.Ife3=0,thenμ1=1andμ2=μ3=0. So, νc=K1e1+νd and ωc=∑i=13μiωi=ωd+K3e3+νde2.Also,(29)V˙=−K1e12−K3e32≤0.The derivative of the Lyapunov function is negative and the stability of the system is guarantee.


## 3.1.1. Stability Analysis

To check the stability of the robot, we use Lyapunov’s theory. However, we choose the following Lyapunov candidate function:(24)V=12e12+12e22+12e32.The derivative of Lyapunov function is as follows.So,(25)V˙=e˙1e1+e˙2e2+e˙3e3,V˙=μ1ωe2−ν+νd+μ2ωe2−ν+μ3ωe2−νe1+μ1−ωe1+νde3+μ2−ωe1+νd+μ3−ωe1−νde2+μ1ωd−ω+μ2ωd−ω+μ3ωd−ωe3.So,(26)V˙=−ν+μ1νde1+μ1νde2+ωd+μ2−μ3νde2e3−ωe3.If we choose the following linear and angular velocities,(27)νc=K1e1+μ1νd,ωc=∑i=13μiωi=ωd+K3e3+μ1νde2+μ2−μ3νde2e3.Equation (26) becomes(28)V˙=−K1e12−K3e32≤0,ife3≠0.Ife3=0,thenμ1=1andμ2=μ3=0. So, νc=K1e1+νd and ωc=∑i=13μiωi=ωd+K3e3+νde2.Also,(29)V˙=−K1e12−K3e32≤0.The derivative of the Lyapunov function is negative and the stability of the system is guarantee.


## 3.2. Dynamic Controller Based on Sliding Mode

In this section, we are interested in the development of a controller, which guarantees the convergence of the posture errorqe towards zero for any arbitrary reference trajectory. However, we have developed a controller based on the sliding mode approach because the latter is considered a robust approach [19, 20]. In this case, we define two sliding surfaces. The first surface depends on linear velocity, while the second uses angular velocity, S=svswT:(30)St=SvSw=eet+K∫0teeδdδ,where sv and sw are given, respectively, by equations (31) and (32), ee=Vc−Vm=evewT. With ev=vc−v and ew=wc−w,(31)Svt=evt+kv∫0tevδdδ,(32)Swt=ewvt+kw∫0tewδdδ.However, the derivatives of the sliding surfacessvt and swt are given by the following expressions:(33)S˙vt=e˙vt+kvevt,S˙wt=e˙wt+kwewt.The dynamic motion of the robot is described by equation (7) which can be transformed as(34)V˙m=M¯q−1B¯qτ.Equation (34) can be written as(35)V˙m=B˜τ,where B˜=M¯−1B¯Based on the sliding mode theory, the controller includes two terms which are known as equivalent control law and switching control. The global control law is expressed as(36)u=τ=ueq+us=τeq+τs.The equivalent control lawueq is computed by recognizing that S˙=0 which is a necessary condition for the state trajectory to stay in the sliding surface [19, 20]. The derivative of the sliding surface is(37)S˙t=e˙et+Keet,with e˙e=V˙c−V˙m and ee=Vc−Vm.Thus, substituting (35) for (37), we obtain(38)S˙t=V˙c−B˜τ+Keet=00,with(39)M¯−1=1mJgJg00m,B˜=M¯−1B¯=1rmJgJgJgmLmL,B˜−1=r2LmLJgmL−Jg,B¯−1=12LrL1L−1.However, the equivalent control lawueq=τeq can be computed as(40)ueq=τeq=B˜−1V˙c+B˜−1Keet,with(41)V˙c=ν˙c=K1e˙1+μ1ν˙dω˙c=ω˙d+K3e˙3+μ1ν˙de2+νde˙2+μ2−μ3ν˙de2+νde˙2e3−νde2e˙3e32.So,(42)ueqrueql=rm2rJg2Lrm2−rJg2LK1e˙1+μ1ν˙dω˙d+K3e˙3+μ1ν˙de2+νde˙2+μ2−μ3ν˙de2+νde˙2e3−νde2e˙3e3+λevλew,ueqrueql=rm2rJg2Lrm2−rJg2LK1e˙1+μ1ν˙d+λevω˙d+K3e˙3+μ1ν˙de2+νde˙2+μ2−μ3ν˙de2e3+νde2e3−νde2e˙3e32+λew,ueqrueql=rm2K1e˙1+μ1ν˙d+λev+rJg2Lω˙d+K3e˙3+μ1ν˙de2+νde˙2+μ2−μ3ν˙de2+νde˙2e3−νde2e˙3e32+λewrm2K1e˙1+μ1ν˙d+λev−rJg2Lω˙d+K3e˙3+μ1ν˙de2+νde˙2+μ2−μ3ν˙de2+νde˙2e3−νde2e˙3e32+λew.Finally, we obtain(43)ueqr=rm2K1e˙1+μ1ν˙d+λev+rJg2Lω˙d+K3e˙3+μ1ν˙de2+νde˙2+μ2−μ3ν˙de2+νde˙2e3−νde2e˙3e32+λew,ueql=rm2K1e˙1+μ1ν˙d+λev−rJg2Lω˙d+K3e˙3+μ1ν˙de2+νde˙2+μ2−μ3ν˙de2+νde˙2e3−νde2e˙3e32+λew.The switching control term is generally chooses asus=−ηsignS, with η≻0. This term can be canceled when the system reaches the sliding surface [20]. In this paper, the switching control law is chosen as follows:(44)τs=−ks1sgnsv+sw−ks1sgnsv−sw.


### 3.2.1. Reaching Condition and Stability Analysis

To verify the reaching condition, we need to just check the following condition. The Lyapunov candidate function is chosen as(45)V=12STS.The derivative can be expressed as(46)V˙=STS˙,V˙=STV˙c−B˜τ+Keet,V˙=STV˙c−B˜τeq+τs+Keet,V˙=STS˙=STV˙c−B˜τeq+τs+Keet.Based on equation (40), V˙c−B˜τeq+Keet=0So,(47)V˙=STS˙=STrm2rJg2Lrm2−rJg2L−kssgnsv+sw−kssgnsv−sw,V˙=ST−ksrm2sgnsv+sw−ksrJg2Lsgnsv−sw−ksrm2sgnsv+sw+ksrJg2Lsgnsv−sw,V˙=svsw−ksrm2sgnsv+sw−ksrJg2Lsgnsv−sw−ksrm2sgnsv+sw+ksrJg2Lsgnsv−sw,V˙=ksrmsv+sw2sgnsv+sw−ksrJgsv−sw2Lsgnsv−sw,V˙=−ksrm2sv+sw−ksrJg2Lsv−sw.We notek1s=ksrm/2 and k2s=ksrJg/2L. So,(48)V˙=−kssv+sw−k2ssv−sw≺0.


## 3.2.1. Reaching Condition and Stability Analysis

To verify the reaching condition, we need to just check the following condition. The Lyapunov candidate function is chosen as(45)V=12STS.The derivative can be expressed as(46)V˙=STS˙,V˙=STV˙c−B˜τ+Keet,V˙=STV˙c−B˜τeq+τs+Keet,V˙=STS˙=STV˙c−B˜τeq+τs+Keet.Based on equation (40), V˙c−B˜τeq+Keet=0So,(47)V˙=STS˙=STrm2rJg2Lrm2−rJg2L−kssgnsv+sw−kssgnsv−sw,V˙=ST−ksrm2sgnsv+sw−ksrJg2Lsgnsv−sw−ksrm2sgnsv+sw+ksrJg2Lsgnsv−sw,V˙=svsw−ksrm2sgnsv+sw−ksrJg2Lsgnsv−sw−ksrm2sgnsv+sw+ksrJg2Lsgnsv−sw,V˙=ksrmsv+sw2sgnsv+sw−ksrJgsv−sw2Lsgnsv−sw,V˙=−ksrm2sv+sw−ksrJg2Lsv−sw.We notek1s=ksrm/2 and k2s=ksrJg/2L. So,(48)V˙=−kssv+sw−k2ssv−sw≺0.


## 4. Simulation Results

In this part, we present the simulation results of the nonholonomic wheeled mobile robot. The parameters of the robot (see Figure1) are m = 17 kg, J=0.537kg⋅m2,L=0.24m,andr=0.1m and initial position xoyoθ=55π/12. The reference speed has been chosen as the variable as shown by the following equation:(49)vr=vro+910−7t,fort≤15s,vr=vr,for15≤t≤27s,vr=vr−910−7t,fort≻27s andvr≥0.8.The initial speeds have been chosen asvro=0.8,vd=0.78,andvg=0.38.Figures5–7 show, respectively, the evolution in time of mass, inertia, and radius of the robot.Figure 5
Evolution of mass of the robot.Figure 6
Evolution of inertia of the robot.Figure 7
Evolution of radius of the robot.Figures8 and 9 show, respectively, the evolution in time of the robot along the x- and y-axis (the trajectories of robot and its reference).Figure 8
Evolution of the robot trajectory along thex-axis (blue denotes the trajectory and magenta denotes the reference trajectory).Figure 9
Evolution of the robot trajectory along they-axis (blue denotes the trajectory and magenta denotes the reference trajectory).Figures10 and 11 show, respectively, the behavior evolution of linear speed v and the error speed ev=vr−v.Figure 10
Evolution of linear speedv.Figure 11
Evolution of the error of the linear speedev=vr−v.Figures8–10 show that all the signals follow quickly the reference. The curves of the reference signals and the responses overlap in a very short time after start-up.Figure12 shows the evolution the angular error e3.Figure 12
Evolution the angular errore3.Figures13 and 14 show, respectively, the behavior evolution of errors x2ref − x2 and x1ref − x1.Figure 13
Evolution of the errorxr2 − x2.Figure 14
Evolution the errorxr1 − x1.Figures15 and 16 show, respectively, the behavior evolution of errors e1 and e2.Figure 15
Evolution ofe1.Figure 16
Evolution ofe2.Figures12–16 show that all the errors rapidly tend towards zero. This clearly shows that the system converges towards the desired trajectories in a very short time. This proves the effectiveness of the proposed command.


## 5. Conclusion

In this paper, we have presented a scheme to control a nonholonomic robot. We have proposed two controllers. The first concerns the kinematic behavior, while the second relates to the dynamic behavior of the mobile robot. To overcome the nonlinearities present in the model, we have used a Takagi–Sugeno fuzzy system for the kinematic controller. For the second controller, we have used the sliding mode technique, which is known as a robust technique. The proposed sliding surface has the same structure as the proportional integral controller. The Lyapunov approach has been used to prove stability of the system. The results presented in Section4 show the efficiency of the proposed control laws.



---

*Source: 7703165-2021-06-18.xml*