# A Theoretical and Experimental Approach of Fuzzy Adaptive Motion Control for Wheeled Autonomous Nonholonomic Vehicles

Authors: Maurizio Melluso
Journal: ISRN Robotics
 (2013)

---

## Abstract

A new fuzzy adaptive control is applied to solve a problem of motion control of nonholonomic vehicles with two independent wheels actuated by a differential drive. The major objective of this work is to obtain a motion control system by using a new fuzzy inference mechanism where the Lyapunov stability can be ensured. In particular the parameters of the kinematical control law are obtained using a fuzzy mechanism, where the properties of the fuzzy maps have been established to have the stability above. Due to the nonlinear map of the intelligent fuzzy inference mechanism (i.e., fuzzy rules and value of the rule), the parameters above are not constant, but, time after time, based on empirical fuzzy rules, they are updated in function of the values of the tracking errors. Since the fuzzy maps are adjusted based on the control performances, the parameters updating ensures a robustness and fast convergence of the tracking errors. Also, since the vehicle dynamics and kinematics can be completely unknown, dynamical and kinematical adaptive controllers have been added. The proposed fuzzy controller has been implemented for a real nonholonomic electrical vehicle. Therefore, system robustness and stability performance are verified through simulations and experimental studies.


---

## Body

## 1. Introduction

In recent years much attention has been focused upon the position and orientation control of nonholonomic mechanical systems. Nonholonomic mechanics describe the motion of systems constrained by nonintegrable constraints, that is, constraints on the system velocities that do not arise from constraints on the configurations alone. A mobile autonomous wheeled vehicle with two wheels actuated by a differential drive mechanism, that is, two independent electric DC motors with common axis, is usually studied as a typical nonholonomic system. Kinematical nonholonomic constraints arise in wheeled vehicles under the no-slip constraints. Due to nonholonomic motion, the vehicle above is also underactuated [1]. In fact there are three generalized coordinates that is, lateral position, longitudinal position, and vehicle orientation to be controlled, while there are two control inputs only, that is, steering and longitudinal inputs. Several approaches have been proposed for the synthesis of kinematical controllers for vehicles with nonholonomic constraints on the motion [2–4]. The kinematical controller is essential to guarantee the vehicle motion along the direction of the orientation. The main idea behind these algorithms is to define velocity control inputs which stabilize the closed loop system. However, in many works [4–6] the parameters of the kinematical control laws are constant and they must be chosen suitably to guarantee the asymptotical stability of the tracking errors. About the dynamical control, backstepping methodologies were treated [4, 7, 8]. Backstepping method is very important since we aim to convert a speed control (high-level control) into a torque control (low-level control) for the wheels. The classical backstepping control for nonholonomic vehicles implies the knowledge of the kinematical and dynamical parameters. Wavelet network-based controller and techniques of “adaptive backstepping” control have been proposed to solve the problem of unknown parameters and/or unstructured unmodeled dynamics [5, 6, 8]. Relatively few results have been presented about the robustness of the motion control of nonholonomic vehicles [9], that is, the problem of vehicle control where there are perturbations of the nonholonomic constraints. About the fuzzy systems, the modern literature is focusing on developing a theory based on Lyapunov stability. Some researchers [10, 11] provide an interesting theory of stability for fuzzy Mamdani control systems. About the fuzzy control applied to nonholonomic vehicles, there are several approaches [12–16]. However, the Lyapunov stability is not assured. A case of study with Lyapunov stability is proposed in [17]. Also the works above are based only on the steering kinematics and assume that there exists perfect velocity tracking, that is, the control signals affect the vehicle velocities instantaneously and this is not true. Some works developed adaptive fuzzy controller with Lyapunov stability analysis for manipulators control [18, 19]. About applications to nonholonomic vehicles of fuzzy control with Lyapunov stability, relatively few results have been obtained [20, 21].In this paper, in order to continue this research line, a fuzzy controller is used to design a stable adaptive kinematical and dynamical control system for a problem of motion control of wheeled autonomous nonholonomic vehicles actuated by a differential drive. This work is an extension of the control strategy proposed in [21].The contributions of this work include the following:(1)
The use of a new Fuzzy inference mechanism to determine the values of the parameters of the kinematical control laws generating the angular velocities for right and left wheels. So the parameters above are not constant, but they depend on the tracking errors through an intelligent fuzzy system inference, that is, a set of empirical rules and values of the rules. This assures a good robustness and very good convergence of the motion errors;(2)
Exhibiting the formal asymptotical stability proof of the motion errors by employing the Lyapunov’s theorem and Barbalat’s Lemma based on the input-output properties of the fuzzy inference system;(3)
Taking the full nonholonomic vehicle dynamics, disturbance and unmodeled dynamics into consideration in the vehicle model and fuzzy control;(4)
The extension with an adaptive kinematical and dynamical control and asymptotical stability proof of the adaptive control scheme. In this way the kinematical and dynamical parameters of the vehicle model can be unknown;(5)
Simulation to verify the robustness and the asymptotical stability of the motion errors;(6)
Implementation of the controller and application to a real nonholonomic vehicle to verify the validity of the method.This paper is organized as follows. Section2 describes the kinematic and dynamic model of a vehicle with nonholonomic constraints. Section 3.1 presents the fundamental innovation of this paper, that is, the new adaptive fuzzy speed system for motion control of nonholonomic autonomous vehicles. The inputs of the fuzzy system are the tracking errors of the motion control system, while the crisp outputs are the parameters of the kinematic control law. Due to the road conditions and contact between the wheels and the ground, the impact of the vehicle with the environment can cause slipping of the wheels with consequential perturbations violating the nonholonomic constraints. By using our fuzzy solution, the constant parameters of the classical kinematic control law [4] are obviated. In fact, in our approach, the parameters above are nonlinear functions of the tracking errors and this assures a certain robustness with respect to the perturbations above and faster convergence than the adaptive controller shown in [6]. In particular, by inserting the input-output functions of the fuzzy map without approximation into kinematic control law suitably, the input-output properties of the fuzzy system are determined to guarantee the asymptotical stability of the tracking errors which has been proved in Section 3.2. Section 3.3 adds an adaptive kinematical control with stability proof. So the kinematical parameters of the vehicle model may be unknown. In Section 4 a dynamical extension and an adaptive control are presented with stability proof. Several parameters of the dynamic model (i.e., mass, friction, and other disturbances) are unknown; therefore, an adaptation is explained by employing the adaptive backstepping method suitably. In Section 5 some simulation tests in MATLAB environment illustrate the robustness and the asymptotical stability of the tracking errors for the proposed fuzzy control system and we compare our results with the adaptive control without fuzzy proposed in [6]. Section 6 shows experimental results obtained by an implementation of the proposed control system for a real nonholonomic vehicle. Section 7 presents our conclusion.


## 2. Dynamic and Kinematic Model of a Constrained Nonholonomic Vehicle

In this section forms of the kinematic and dynamic model of a nonholonomic vehicle are presented to develop the control system of the next sections.Let us consider a mobile nonholonomic vehicle (see Figure1) with generalized coordinates q∈ℜn, subject to m constraints. The well-known dynamic model [4] is
(1)M(q)q¨+C(q,q˙)q˙+τd=E(q)τ-AT(q)λ,
where M(q)∈ℜn×n is a symmetric, positive definite matrix; C(q,q˙)∈ℜn×n is the centripetal Coriolis matrix; τd∈ℜn is a bounded unknown disturbance including unstructured and unmodeled dynamics; τ∈ℜr is the input vector including torques applied to right and left wheel; A(q)∈ℜm×n is the matrix of nonholonomic constraints; E(q)∈ℜn×r is the input transformation matrix; λ∈ℜm is the Lagrange multiplier vector of constraint forces.Figure 1
Nonholonomic vehicle and coordinate systems.Supposing that them constraints are time invariant, it yields
(2)A(q)q˙=0.LetS(q) be the Jacobian matrix with full rank n×(n-m) and made up by a set of smooth and linearly independent vectors spanning the null space of A(q), that is,
(3)A(q)S(q)=0.
It is possible to find an (n-m) velocity vector v as it follows
(4)vT=[uω],
where u and ω are the linear and angular body-fixed (Xc,Yc) velocities of the nonholonomic vehicle (see Figure 1). About the kinematical parameters, let r and b be the ray of the wheels and the distance between the driving wheels and the axis of symmetry. The P0 coordinates, that is, the intersection of the axis of symmetry with the driving wheel axis (see Figure 1), are indicated by (x0,y0), while the vehicle orientation is indicated by ϕ. In this way we focus only on three variables x,y, and ϕ, excluding the angular velocities of the right wheel (θ˙r) and of the left wheel (θ˙l). The relationship between the vector [uω] and the vector [θ˙rθ˙l] is the following:
(5)[θ˙rθ˙l]=[1rbr1r-br][uω].
Equations (5) can be rewritten as follows:
(6)η=[1rbr1r-br]v,
where
(7)ηT=[θ˙rθ˙l].Therefore, the model of a nonholonomic vehicle can be described employing five generalized coordinates,(8)qT=[x0y0ϕθrθl].In the condition of pure rolling and nonslipping, the vehicle can move in perpendicular direction to the driving wheels axis. So we have three constraint equations of the vehicle motion(9)x˙0sinϕ-y˙0cosϕ=0,x˙0cosϕ+y˙0sinϕ+bϕ˙=rθ˙r,x˙0cosϕ+y˙0sinϕ-bϕ˙=rθ˙l.The constraints above can be written in thePfaffian form (2). From (3), the Jacobian matrix S(q) is
(10)ST(q)=[cbcosϕcbsinϕc10cbcosϕcbsinϕ-c01],
where c=r/2b.One of three constraints (9) is holonomic [22]. In fact, by comparing the second and third of (9), it follows
(11)ϕ˙=c(θ˙r-θ˙l).The constraint (11) is integrable. Therefore, by eliminating ϕ or θr and θl in vector (8), two new vectors of generalized coordinates can be defined as follows
(12)q1T=[x0y0θrθl]
or
(13)q2T=[x0y0ϕ].In cases (12) and (13) A(q) matrix presents nonholonomic constraints only. In particular, in case (12), a new Jacobian matrix is obtained as it follows
(14)S1T(q1)=[c2bcos(θr-θl)c2bsin(θr-θl)10c2bcos(θr-θl)c2bsin(θr-θl)01].
In this way the kinematic model is
(15)q˙1=S1(q1)η.In case (13) the kinematic model is
(16)[x˙0y˙0ϕ˙]=[cbcosϕcbcosϕcbsinϕcbsinϕc-c][θ˙rθ˙l].From (4) and (13) and by substituting (6) into (16), it yields
(17)q˙2=S2(q2)v,
where
(18)S2(q2)=[cosϕ0sinϕ001].About the dynamical parameters, letPc be the mass center of the vehicle which is on the x-axis, let d be the distance from P0 to Pc  (see Figure 1). For the later description, mc is the mass of the vehicle without the driving wheels, mw is the mass of each driving wheels, and  Ic,  Iw,  and Im are the inertia moments of the body around a vertical axis through P0, of the wheel with a motor around the wheel axis and of the wheel with a motor around the wheel diameter, respectively. Now the dynamical model in body-fixed coordinates (Xc,Yc) is obtained by differentiating (15), replacing it into (1) and performing additional operations with S1. It follows
(19)S1TM(q1)S1η˙+S1T(M(q1)S˙1+C(q1,q˙1)S1)η=S1TE(q1)τ-S1Tτd
or
(20)M-η˙+V-m(η)η=Bτ-S1Tτd,
where
(21)M-=[b2c2m+c2I+Iwb2c2m-c2Ib2c2m-c2Ib2c2m+c2I+Iw],V-m(η)=[02bc3dmc(θ˙r-θ˙l)-2bc3dmc(θ˙r-θ˙l)0]B=[1001];τ=[τrτl]
and m and I are the dynamical parameters as it follows
(22)m=mc+2mw;I=mcd2+Ic+2mwb2+2Im.
Also M-∈ℜ(n-m)×(n-m) is a symmetric and definite positive matrix, while V-m(η)η∈ℜ(n-m)×1.


## 3. Adaptive Fuzzy Kinematic Motion Control of Nonholonomic Vehicles and Lyapunov Stability Analysis

In this section the fundamental innovation of this paper is presented, that is, a new fuzzy adaptive motion control system for electric nonholonomic vehicles with two independent wheels.


### 3.1. Fuzzy Kinematical Motion Control and Preliminary Input-Output Properties of the Fuzzy System for the Lyapunov Stability

Let the references of velocities and positions for a nonholonomic vehicle be(23)x˙r=urcosϕry˙r=ursinϕrθ˙r=ωr,
where ur>0 is the reference linear velocity and ωr is the reference angular velocity. The tracking errors between the reference position qrT=[xr,yr,ϕr] and the actual position qT=[x,y,ϕ] can be expressed in the vehicle local frame (Xc,Yc) as [4]
(24)e=[exeyeϕ]=[cosϕsinϕ0-sinϕcosϕ0001][xr-xyr-yϕr-ϕ],
where ex and ey are the lateral and longitudinal position errors, while eϕ  is the vehicle orientation error. Note that, time after time, the vector qr(t) is the reference motion for the vehicle, while q(t) is the real motion of the vehicle above. So, differentiating equation system (24) and applying two auxiliary inputs
(25)u1=-uc+urcoseϕ;u2=ωr-ωc,
where uc and ωc are the kinematic control laws in terms of steering and longitudinal velocities lead to
(26)[e˙xe˙ye˙ϕ]=[0ωc0-ωc00000][exeyeϕ]+[0ursineϕ0]+[100001][u1u2].Now a new fuzzy kinematic control law is proposed(27)uc=urcoseϕ+kx(t)ex,ωc=ωr+ur(ky(t)ey+kϕ(t)sineϕ).This control law depends on the error vector (24) and on the following parameters:
(28)kT=[kx(t)ky(t)kϕ(t)].
Parameters (28) are provided by a fuzzy controller. The fuzzy controller is used because, in this way, the parameters of the kinematic control law are not constant as in the controllers proposed in [4, 6], but they are nonlinear functions of the tracking errors (24) through an intelligent fuzzy inference system, that is, empirical fuzzy rules and values of the rules. In other words, since the model of the nonholonomic vehicle is highly nonlinear, it is convenient to have nonlinear functions of the tracking errors in the control laws. Since the fuzzy maps are adjusted based on the control performance, the updating of the parameters (28) assures a good robustness and fast convergence. Now the Fuzzy inference system is described. The input and output membership functions are shown in Figures 2 and 3, respectively. The fuzzy rules are shown in Table 1. The input and output memberships are generalized bell functions and three linguistic labels are defined as S: small, M: medium, H: High, Opp: opposite.Table 1
Controller rules.
No. Rules
E
x
E
y
E
ϕ
K
x
K
y
K
ϕ
1
S
S
S+
S
S
S
2
S
M
S+
S
M
S
3
S
H
S+
M
H
S
4
M
S
S+
M
S
S
5
M
M
S+
M
M
S
6
M
H
S+
M
H
S
7
H
S
S+
H
M
S
8
H
M
S+
H
M
S
9
H
H
S+
H
H
S
10
S
S
M+
M
M
M
11
S
M
M+
M
M
M
12
S
H
M+
M
H
M
13
M
S
M+
M
M
M
14
M
M
M+
M
M
M
15
M
H
M+
M
H
M
16
H
S
M+
H
M
M
17
H
M
M+
H
M
M
18
H
H
M+
H
H
M
19
S
S
OPP
M
M
H
20
S
M
OPP
M
M
H
21
S
H
OPP
M
H
H
22
M
S
OPP
M
M
H
23
M
M
OPP
M
M
H
24
M
H
OPP
M
H
H
25
H
S
OPP
H
M
H
26
H
M
OPP
H
M
H
27
H
H
OPP
H
H
H
28
S
S
M−
M
M
M
29
S
M
M−
M
M
M
30
S
H
M−
M
H
M
31
M
S
M−
M
M
M
32
M
M
M−
M
M
M
33
M
H
M−
M
H
M
34
H
S
M−
H
M
M
35
H
M
M−
H
M
M
36
H
H
M−
H
H
M
37
S
S
S−
S
S
S
38
S
M
S−
S
M
S
39
S
H
S−
M
H
S
40
M
S
S−
M
S
S
41
M
M
S−
M
M
S
42
M
H
S−
M
H
S
43
H
S
S−
H
M
S
44
H
H
S−
H
H
S
45
H
H
S−
H
H
SInput membership functions.
(a)
(b)
(c)Output membership functions.
(a)
(b)
(c)The inputs of the fuzzification process (see Figure2) are the absolute values of the tracking errors (cf. (24)), while the outputs of the input memberships are the degree of membership in the qualifying linguistic sets (always the interval between 0 and 1). The input set is a fuzzy singleton. The implemented methods for the logical and for the implication are the “minimum” and the “fuzzy minimum,” respectively. The “fuzzy minimum,” method truncates the output fuzzy set opportunely.  Since decisions are based on testing of all the rules (see Table 1), the aggregation is necessary; therefore, the consequents of each rule have been recombined using a maximum(max) method. The used defuzzification method is the “centroid”. So the outputs of the fuzzy system are crisp values, that is, the parameters (28) (see Figure 3).Remark 1.
The numerical outputs of the fuzzy inference system depend on the tracking errors (24); therefore, they are time varying functions (cf. (28)).Remark 2.
Since the parameters (28) depend on the tracking errors, the control system of this paper can be more robust and with faster convergence than the conventional controllers [4, 6], where the parameters of the kinematic control law are constant numbers.Remark 3.
About the memberships this remark is essential. The generalized bell functions have been chosen for the smoothness which assures continuous functions to guarantee the Lyapunov stability of the control system.Remark 4.
The parameterskx,ky and kϕ are positive numbers (see Figure 3) always to assure the stability.Remark 5.
Note that the numerical inputs of the fuzzy system (cf. Figure2) are the absolute values of the tracking errors (the range of the errors is constituted by positive values only). In any case the sign (positive or negative) of the errors above is considered by the fuzzy control laws (27).Now Figures4 and 5 show the fuzzy control surfaces. In particular the plots above show the output ky of the fuzzy inference mechanism versus two of the inputs. In other words Figures 4 and 5 show the fuzzy map, where the parameter ky depends on the tracking errors (24) through the fuzzy inference system which has been described. So the maps of Figures 4 and 5 depend on the fuzzy inference system, that is, empirical rules and value of the rules. To assure the Lyapunov stability of the motion control system, one must investigate the input-output properties of the fuzzy system. So, from Figures 2, 3, 4, and 5, the properties of the parameters (28) are the following.Figure 4
k
y versus ex and ey.Figure 5
k
y versus eϕ and ey.Property 1 (a).
The parameters of the kinematical control law (28) are continuous time functions.Property 2 (a).
The vectork(e(t)) (cf. (28)) is equal to zero if only if e is equal to zero, that is,
(29)kT(e(t))=[kx(t)ky(t)kϕ(t)]=0⟺e=0.Property 3 (a).
All the outputs of the fuzzy inference system are positive numbers and are bounded, that is,(30)0≤kx(t)≤kxmax;0≤ky(t)≤kymax;0≤kϕ(t)≤kϕmax.Property 4 (a).
Consideringj∈N and M>0 and taking into account Property 3 (a) lead to
(31)∑j=0M-1[∫jj+1ky(t)dt]>0.
Now replacing fuzzy control law (27) into model (26) leads to
(32)e˙T=[e˙xe˙ye˙ϕ]=[(ωr+ur(ky(t))ey+kϕ(t)sineϕ)ey-kx(t)ex-(ωr+ur(ky(t)ey+kϕ(t)sineϕ)ex+ursineϕ-ur(ky(t)ey+kϕ(t)sineϕ)].


### 3.2. Lyapunov Stability Proof Based on the Input-Output Properties of the Fuzzy System

From the fuzzy inference system, equations, and properties so far, it follows the first main result of this work.Theorem 6.
Let the kinematical model and the fuzzy kinematical control laws be (17) and (27), respectively. Let the linear reference velocity ur be positive. The Properties 1 (a)–4 (a) are verified for hypothesis. Then the equilibrium state of the nonautonomous closed loop system (32) is the origin of the state space and it is asymptotically stable.Proof.
Since the vectork(e) (cf. (28)) is equal to zero if only if e is equal to zero, the equilibrium state of the closed loop system (32) is the origin of the state space. The system (32) is nonautonomous. The following Lyapunov function is chosen:
(33)V0=12(ex2+ey2)+(1-coseϕ)∑j=0M-1[∫jj+1ky(t)dt],
where
(34)j∈N,M>0.
For hypothesis it is
(35)∑j=0M-1[∫jj+1ky(t)dt]>0.
Therefore, the Lyapunov function (33) is positive definite.
The time derivative of (33) is
(36)V˙0=exe˙x+eye˙y+e˙ϕsineϕ∑j=0M-1[∫jj+1ky(t)dt]+(1-coseϕ)ddt(∑j=0M-1[∫jj+1ky(t)dt]),
where
(37)ddt(∑j=0M-1[∫jj+1ky(t)dt])=∑j=0M-1ky(j).
By substituting (32) into (36), it yields
(38)V˙0=-kx(t)ex2-urkϕ(t)sin2(eϕ)∑j=0M-1[∫jj+1ky(t)dt]+(1-coseϕ)∑j=0M-1ky(j).
Due to Properties 3 (a) and 4 (a) of the fuzzy map, the first and second terms of (38) are negative. Also it results
(39)urkϕ(t)(1-cos2eϕ)∑j=0M-1∫jj+1ky(t)dt>(1-coseϕ)∑j=0M-1ky(j).
Since the function (39) does not depend on ey error, it is negative semidefinite. Therefore, vector (24) is bounded and the equilibrium state of the closed loop system (32) is stable. It is also possible to calculate the second-time derivative of Lyapunov function (33). Since the second-time derivative of (33) depends on bounded variables, it is a bounded function. Therefore, the function (38) is uniformly continuous. From Barbalat’s lemma [23], it yields
(40)limt→∞V˙0(t)=0.
From (38) and (40), ex and eϕ converge to zero. From the second equation of (32) that is
(41)e˙y=-(ωr+ur(ky(t)ey+kϕ(t)sineϕ)ex+ursineϕ,
the function e˙y converges to zero. Therefore, the steady state error along y-direction is constant. Examining the third equation of (32) leads to
(42)e˙ϕ(∞)=-urky(∞)e-y,
where e-y is the steady state value of ey. Since eϕ converges to zero, ey converges to zero. Now ky is equal to zero if e-y is equal to zero. Therefore, the equilibrium point of the closed loop system (32) is asymptotically stable.Remark 7.
Note that the proof of Theorem6 requires the system kinematical parameters of the vehicle to be accurately known.


### 3.3. Fuzzy Adaptive Kinematic Motion Control with Lyapunov Stability Proof

In this subsection the second main result of this work is explained. An adaptive controller is added to previous fuzzy control and the stability is proved. This step is necessary because the kinematical parameters as the ray of the wheels and particularly the distance between the driving wheels and the axis of symmetry can be difficult to be determined accurately. In   fact without adaptive control one must measure the parameters above manually and this can cause a measurement error perturbing the performances of the control system. Figure6 shows the block diagram of the fuzzy adaptive control system.Figure 6
Block diagram of the fuzzy adaptive kinematic control system.Preliminarily, from (6), (16), and (26) and after simple calculations, the closed loop kinematical control system can be written in the following way
(43)ddt[exeyeϕ]=θ˙r[-r2+r2bey-r2bex-r2b]+θ˙l[-r2-r2br2bexr2b]+[urcos(eϕ)ursin(eϕ)ωr].We set(44)α=1r;β=br.Differential equations (43) can be exploited by considering the estimation errors of the kinematical parameters (44):
(45)α^=α--α;β^=β--β,
where  α- and β- are the estimated values. It results
(46)ddt[exeyeϕ]=(1+α^α)uc[-100]+(1+β^β)ωc[ey-ex-1]+[urcos(eϕ)ursin(eϕ)ωr]T.Now it is possible to formulate the following theorem.Theorem 8.
Let the kinematical model and the fuzzy control law be (17) and (27), respectively.  If the reference linear and angular velocities are bounded functions and the reference angular velocity converges to zero, by choosing of the following adaptive kinematic control law:
(47)α¯˙=γexucβ¯˙=δωcsin(eϕ)ky(t)γ,δ>0,
the components of the vector [ex,ey,eϕ]Tof the closed loop system (46) converge to zero.Proof.
An extended state vector can be defined as(48)e-T=[exeyeϕα^β^].
The Lyapunov function can be chosen as it follows(49)V1=V0+12γαα^2+12δββ^2γ,δ>0,
where V0 is given by (33). Since V0 is positive definite, it is obvious that V1 is positive definite. Substituting the fuzzy control law (27) into (47) and differentiating (49) lead to
(50)V˙1=V˙0+α^γα(α-˙-γexuc)+β^δβ(β-˙-δωcsin(eϕ)ky(t)),
where uc and ωc are given by (27) and V˙0 is given by (38). Function (50) is negative semidefinite if and only if equations (47) are verified. In this case it results
(51)V˙1=V˙0.
Since the function (51) does not depend on ey component (cf. (38)), it is negative semidefinite. Therefore, the closed loop system (46) is stable and the components of the state vector (48) are bounded. It is also possible to calculate the second-time derivative of Lyapunov function (49). Since it depends on bounded variables, from Barbalat’s lemma it results
(52)limt→∞V˙1(t)=0.
Therefore, ex and eϕ converge to zero.  Now, by substituting (27) into (46), it results
(53)e˙ϕ=-(1+β^β)×(ωr+urky(t)ey+kϕ(t)sin(eϕ))+ωr.
Since the reference linear velocityur, the reference angular velocity ωr, and the components of state vector (48) are bounded,  e¨ϕ is bounded. Therefore, e˙ϕ is uniformly continuous. Since eϕ converges to zero, from Barbalat’s lemma, e˙ϕ converges to zero; therefore, from (53) ey converges to zero only if ωr converges to zero.Remark 9.
From the previous results, the adaptive fuzzy kinematic control law can be written in terms of angular velocities of left (θ˙lc) and right (θ˙rc) wheels as it follows
(54)ηc=[θ˙rcθ˙lc]=[α-β-α--β-][ucωc],
where α- and β- are the solutions of the differential equations (47), while uc and ωc are the fuzzy control laws given by (27). For Theorems 6 and 8, by employing the adaptive fuzzy kinematic control law (54), the closed loop motion control system of the nonholonomic vehicle is asymptotically stable.Remark 10.
Note that if the kinematical adaptive control law (54) is applied to vehicle directly, then the perfect velocity tracking is assumed and it is not true practically.Remark 11.
About tuning of the fuzzy memberships (cf. Figure2), one considers the initial conditions of the reference and of the actual positions and orientations. So we have initial values of the motion errors (24). Due to the asymptotical stability and boundedness of the errors above (cf. Theorems 6 and 8), one choices a range of the inputs between zero and the initial values above. In this sense the fuzzy memberships are tuned manually.


## 3.1. Fuzzy Kinematical Motion Control and Preliminary Input-Output Properties of the Fuzzy System for the Lyapunov Stability

Let the references of velocities and positions for a nonholonomic vehicle be(23)x˙r=urcosϕry˙r=ursinϕrθ˙r=ωr,
where ur>0 is the reference linear velocity and ωr is the reference angular velocity. The tracking errors between the reference position qrT=[xr,yr,ϕr] and the actual position qT=[x,y,ϕ] can be expressed in the vehicle local frame (Xc,Yc) as [4]
(24)e=[exeyeϕ]=[cosϕsinϕ0-sinϕcosϕ0001][xr-xyr-yϕr-ϕ],
where ex and ey are the lateral and longitudinal position errors, while eϕ  is the vehicle orientation error. Note that, time after time, the vector qr(t) is the reference motion for the vehicle, while q(t) is the real motion of the vehicle above. So, differentiating equation system (24) and applying two auxiliary inputs
(25)u1=-uc+urcoseϕ;u2=ωr-ωc,
where uc and ωc are the kinematic control laws in terms of steering and longitudinal velocities lead to
(26)[e˙xe˙ye˙ϕ]=[0ωc0-ωc00000][exeyeϕ]+[0ursineϕ0]+[100001][u1u2].Now a new fuzzy kinematic control law is proposed(27)uc=urcoseϕ+kx(t)ex,ωc=ωr+ur(ky(t)ey+kϕ(t)sineϕ).This control law depends on the error vector (24) and on the following parameters:
(28)kT=[kx(t)ky(t)kϕ(t)].
Parameters (28) are provided by a fuzzy controller. The fuzzy controller is used because, in this way, the parameters of the kinematic control law are not constant as in the controllers proposed in [4, 6], but they are nonlinear functions of the tracking errors (24) through an intelligent fuzzy inference system, that is, empirical fuzzy rules and values of the rules. In other words, since the model of the nonholonomic vehicle is highly nonlinear, it is convenient to have nonlinear functions of the tracking errors in the control laws. Since the fuzzy maps are adjusted based on the control performance, the updating of the parameters (28) assures a good robustness and fast convergence. Now the Fuzzy inference system is described. The input and output membership functions are shown in Figures 2 and 3, respectively. The fuzzy rules are shown in Table 1. The input and output memberships are generalized bell functions and three linguistic labels are defined as S: small, M: medium, H: High, Opp: opposite.Table 1
Controller rules.
No. Rules
E
x
E
y
E
ϕ
K
x
K
y
K
ϕ
1
S
S
S+
S
S
S
2
S
M
S+
S
M
S
3
S
H
S+
M
H
S
4
M
S
S+
M
S
S
5
M
M
S+
M
M
S
6
M
H
S+
M
H
S
7
H
S
S+
H
M
S
8
H
M
S+
H
M
S
9
H
H
S+
H
H
S
10
S
S
M+
M
M
M
11
S
M
M+
M
M
M
12
S
H
M+
M
H
M
13
M
S
M+
M
M
M
14
M
M
M+
M
M
M
15
M
H
M+
M
H
M
16
H
S
M+
H
M
M
17
H
M
M+
H
M
M
18
H
H
M+
H
H
M
19
S
S
OPP
M
M
H
20
S
M
OPP
M
M
H
21
S
H
OPP
M
H
H
22
M
S
OPP
M
M
H
23
M
M
OPP
M
M
H
24
M
H
OPP
M
H
H
25
H
S
OPP
H
M
H
26
H
M
OPP
H
M
H
27
H
H
OPP
H
H
H
28
S
S
M−
M
M
M
29
S
M
M−
M
M
M
30
S
H
M−
M
H
M
31
M
S
M−
M
M
M
32
M
M
M−
M
M
M
33
M
H
M−
M
H
M
34
H
S
M−
H
M
M
35
H
M
M−
H
M
M
36
H
H
M−
H
H
M
37
S
S
S−
S
S
S
38
S
M
S−
S
M
S
39
S
H
S−
M
H
S
40
M
S
S−
M
S
S
41
M
M
S−
M
M
S
42
M
H
S−
M
H
S
43
H
S
S−
H
M
S
44
H
H
S−
H
H
S
45
H
H
S−
H
H
SInput membership functions.
(a)
(b)
(c)Output membership functions.
(a)
(b)
(c)The inputs of the fuzzification process (see Figure2) are the absolute values of the tracking errors (cf. (24)), while the outputs of the input memberships are the degree of membership in the qualifying linguistic sets (always the interval between 0 and 1). The input set is a fuzzy singleton. The implemented methods for the logical and for the implication are the “minimum” and the “fuzzy minimum,” respectively. The “fuzzy minimum,” method truncates the output fuzzy set opportunely.  Since decisions are based on testing of all the rules (see Table 1), the aggregation is necessary; therefore, the consequents of each rule have been recombined using a maximum(max) method. The used defuzzification method is the “centroid”. So the outputs of the fuzzy system are crisp values, that is, the parameters (28) (see Figure 3).Remark 1.
The numerical outputs of the fuzzy inference system depend on the tracking errors (24); therefore, they are time varying functions (cf. (28)).Remark 2.
Since the parameters (28) depend on the tracking errors, the control system of this paper can be more robust and with faster convergence than the conventional controllers [4, 6], where the parameters of the kinematic control law are constant numbers.Remark 3.
About the memberships this remark is essential. The generalized bell functions have been chosen for the smoothness which assures continuous functions to guarantee the Lyapunov stability of the control system.Remark 4.
The parameterskx,ky and kϕ are positive numbers (see Figure 3) always to assure the stability.Remark 5.
Note that the numerical inputs of the fuzzy system (cf. Figure2) are the absolute values of the tracking errors (the range of the errors is constituted by positive values only). In any case the sign (positive or negative) of the errors above is considered by the fuzzy control laws (27).Now Figures4 and 5 show the fuzzy control surfaces. In particular the plots above show the output ky of the fuzzy inference mechanism versus two of the inputs. In other words Figures 4 and 5 show the fuzzy map, where the parameter ky depends on the tracking errors (24) through the fuzzy inference system which has been described. So the maps of Figures 4 and 5 depend on the fuzzy inference system, that is, empirical rules and value of the rules. To assure the Lyapunov stability of the motion control system, one must investigate the input-output properties of the fuzzy system. So, from Figures 2, 3, 4, and 5, the properties of the parameters (28) are the following.Figure 4
k
y versus ex and ey.Figure 5
k
y versus eϕ and ey.Property 1 (a).
The parameters of the kinematical control law (28) are continuous time functions.Property 2 (a).
The vectork(e(t)) (cf. (28)) is equal to zero if only if e is equal to zero, that is,
(29)kT(e(t))=[kx(t)ky(t)kϕ(t)]=0⟺e=0.Property 3 (a).
All the outputs of the fuzzy inference system are positive numbers and are bounded, that is,(30)0≤kx(t)≤kxmax;0≤ky(t)≤kymax;0≤kϕ(t)≤kϕmax.Property 4 (a).
Consideringj∈N and M>0 and taking into account Property 3 (a) lead to
(31)∑j=0M-1[∫jj+1ky(t)dt]>0.
Now replacing fuzzy control law (27) into model (26) leads to
(32)e˙T=[e˙xe˙ye˙ϕ]=[(ωr+ur(ky(t))ey+kϕ(t)sineϕ)ey-kx(t)ex-(ωr+ur(ky(t)ey+kϕ(t)sineϕ)ex+ursineϕ-ur(ky(t)ey+kϕ(t)sineϕ)].


## 3.2. Lyapunov Stability Proof Based on the Input-Output Properties of the Fuzzy System

From the fuzzy inference system, equations, and properties so far, it follows the first main result of this work.Theorem 6.
Let the kinematical model and the fuzzy kinematical control laws be (17) and (27), respectively. Let the linear reference velocity ur be positive. The Properties 1 (a)–4 (a) are verified for hypothesis. Then the equilibrium state of the nonautonomous closed loop system (32) is the origin of the state space and it is asymptotically stable.Proof.
Since the vectork(e) (cf. (28)) is equal to zero if only if e is equal to zero, the equilibrium state of the closed loop system (32) is the origin of the state space. The system (32) is nonautonomous. The following Lyapunov function is chosen:
(33)V0=12(ex2+ey2)+(1-coseϕ)∑j=0M-1[∫jj+1ky(t)dt],
where
(34)j∈N,M>0.
For hypothesis it is
(35)∑j=0M-1[∫jj+1ky(t)dt]>0.
Therefore, the Lyapunov function (33) is positive definite.
The time derivative of (33) is
(36)V˙0=exe˙x+eye˙y+e˙ϕsineϕ∑j=0M-1[∫jj+1ky(t)dt]+(1-coseϕ)ddt(∑j=0M-1[∫jj+1ky(t)dt]),
where
(37)ddt(∑j=0M-1[∫jj+1ky(t)dt])=∑j=0M-1ky(j).
By substituting (32) into (36), it yields
(38)V˙0=-kx(t)ex2-urkϕ(t)sin2(eϕ)∑j=0M-1[∫jj+1ky(t)dt]+(1-coseϕ)∑j=0M-1ky(j).
Due to Properties 3 (a) and 4 (a) of the fuzzy map, the first and second terms of (38) are negative. Also it results
(39)urkϕ(t)(1-cos2eϕ)∑j=0M-1∫jj+1ky(t)dt>(1-coseϕ)∑j=0M-1ky(j).
Since the function (39) does not depend on ey error, it is negative semidefinite. Therefore, vector (24) is bounded and the equilibrium state of the closed loop system (32) is stable. It is also possible to calculate the second-time derivative of Lyapunov function (33). Since the second-time derivative of (33) depends on bounded variables, it is a bounded function. Therefore, the function (38) is uniformly continuous. From Barbalat’s lemma [23], it yields
(40)limt→∞V˙0(t)=0.
From (38) and (40), ex and eϕ converge to zero. From the second equation of (32) that is
(41)e˙y=-(ωr+ur(ky(t)ey+kϕ(t)sineϕ)ex+ursineϕ,
the function e˙y converges to zero. Therefore, the steady state error along y-direction is constant. Examining the third equation of (32) leads to
(42)e˙ϕ(∞)=-urky(∞)e-y,
where e-y is the steady state value of ey. Since eϕ converges to zero, ey converges to zero. Now ky is equal to zero if e-y is equal to zero. Therefore, the equilibrium point of the closed loop system (32) is asymptotically stable.Remark 7.
Note that the proof of Theorem6 requires the system kinematical parameters of the vehicle to be accurately known.


## 3.3. Fuzzy Adaptive Kinematic Motion Control with Lyapunov Stability Proof

In this subsection the second main result of this work is explained. An adaptive controller is added to previous fuzzy control and the stability is proved. This step is necessary because the kinematical parameters as the ray of the wheels and particularly the distance between the driving wheels and the axis of symmetry can be difficult to be determined accurately. In   fact without adaptive control one must measure the parameters above manually and this can cause a measurement error perturbing the performances of the control system. Figure6 shows the block diagram of the fuzzy adaptive control system.Figure 6
Block diagram of the fuzzy adaptive kinematic control system.Preliminarily, from (6), (16), and (26) and after simple calculations, the closed loop kinematical control system can be written in the following way
(43)ddt[exeyeϕ]=θ˙r[-r2+r2bey-r2bex-r2b]+θ˙l[-r2-r2br2bexr2b]+[urcos(eϕ)ursin(eϕ)ωr].We set(44)α=1r;β=br.Differential equations (43) can be exploited by considering the estimation errors of the kinematical parameters (44):
(45)α^=α--α;β^=β--β,
where  α- and β- are the estimated values. It results
(46)ddt[exeyeϕ]=(1+α^α)uc[-100]+(1+β^β)ωc[ey-ex-1]+[urcos(eϕ)ursin(eϕ)ωr]T.Now it is possible to formulate the following theorem.Theorem 8.
Let the kinematical model and the fuzzy control law be (17) and (27), respectively.  If the reference linear and angular velocities are bounded functions and the reference angular velocity converges to zero, by choosing of the following adaptive kinematic control law:
(47)α¯˙=γexucβ¯˙=δωcsin(eϕ)ky(t)γ,δ>0,
the components of the vector [ex,ey,eϕ]Tof the closed loop system (46) converge to zero.Proof.
An extended state vector can be defined as(48)e-T=[exeyeϕα^β^].
The Lyapunov function can be chosen as it follows(49)V1=V0+12γαα^2+12δββ^2γ,δ>0,
where V0 is given by (33). Since V0 is positive definite, it is obvious that V1 is positive definite. Substituting the fuzzy control law (27) into (47) and differentiating (49) lead to
(50)V˙1=V˙0+α^γα(α-˙-γexuc)+β^δβ(β-˙-δωcsin(eϕ)ky(t)),
where uc and ωc are given by (27) and V˙0 is given by (38). Function (50) is negative semidefinite if and only if equations (47) are verified. In this case it results
(51)V˙1=V˙0.
Since the function (51) does not depend on ey component (cf. (38)), it is negative semidefinite. Therefore, the closed loop system (46) is stable and the components of the state vector (48) are bounded. It is also possible to calculate the second-time derivative of Lyapunov function (49). Since it depends on bounded variables, from Barbalat’s lemma it results
(52)limt→∞V˙1(t)=0.
Therefore, ex and eϕ converge to zero.  Now, by substituting (27) into (46), it results
(53)e˙ϕ=-(1+β^β)×(ωr+urky(t)ey+kϕ(t)sin(eϕ))+ωr.
Since the reference linear velocityur, the reference angular velocity ωr, and the components of state vector (48) are bounded,  e¨ϕ is bounded. Therefore, e˙ϕ is uniformly continuous. Since eϕ converges to zero, from Barbalat’s lemma, e˙ϕ converges to zero; therefore, from (53) ey converges to zero only if ωr converges to zero.Remark 9.
From the previous results, the adaptive fuzzy kinematic control law can be written in terms of angular velocities of left (θ˙lc) and right (θ˙rc) wheels as it follows
(54)ηc=[θ˙rcθ˙lc]=[α-β-α--β-][ucωc],
where α- and β- are the solutions of the differential equations (47), while uc and ωc are the fuzzy control laws given by (27). For Theorems 6 and 8, by employing the adaptive fuzzy kinematic control law (54), the closed loop motion control system of the nonholonomic vehicle is asymptotically stable.Remark 10.
Note that if the kinematical adaptive control law (54) is applied to vehicle directly, then the perfect velocity tracking is assumed and it is not true practically.Remark 11.
About tuning of the fuzzy memberships (cf. Figure2), one considers the initial conditions of the reference and of the actual positions and orientations. So we have initial values of the motion errors (24). Due to the asymptotical stability and boundedness of the errors above (cf. Theorems 6 and 8), one choices a range of the inputs between zero and the initial values above. In this sense the fuzzy memberships are tuned manually.


## 4. Adaptive Dynamic Motion Control Extension

In this section a low-level adaptive controller based onbackstepping method [4, 6] is added to previous fuzzy adaptive high level control for nonholonomic autonomous vehicles. The computed torque controller proposed in [4] requires exact knowledge of the dynamics of the vehicle in order to work properly. Since the dynamical parameters of the model (20) cannot be accurately known, an adaptive mechanism is inserted.Preliminarily important properties of the dynamical model (20) and kinematical model (16) must be presented.Property 5 (b).
The  linearity  in  the  parameters
p  of the dynamical model (20) is shown:
(55)M-η˙+V-m(η)η=Y(η,η˙)p,
where the vector p∈ℜl and Y(η,η˙)∈ℜ(n-m)×l are
(56)p=[p1p2p3]T=[b2c2m+c2I+Iwb2c2m-c2I2bc3dmc],(57)Y(η,η˙)=[θ¨rθ¨l(θ˙r-θ˙l)θ˙lθ¨lθ¨r-(θ˙r-θ˙l)θ˙r].
The elements of the vector p  consist of unknown dynamical parameters.Property 6 (b).
The kinematical model (16) appears as it follows
(58)[x˙0y˙0ϕ˙]=[r2cos(ϕ)r2cos(ϕ)r2sin(ϕ)r2sin(ϕ)r2b-r2b][θ˙rθ˙l]=[r2cos(ϕ)r2sin(ϕ)r2b]θ˙r+[r2cos(ϕ)r2sin(ϕ)-r2b]θ˙l=[cos(ϕ)0sin(ϕ)001][r2r2b]θ˙r+[cos(ϕ)0sin(ϕ)00-1][r2r2b]θ˙l=Σ1θ1θ˙r+Σ2θ2θ˙l,
where θ1 and θ2 are parametric vectors while Σ1 and Σ2 are vectors whose elements consist of known functions.
Now, by inserting the new fuzzy inference system of the previous sections, the adaptive backstepping technique [6] is reformulated.From (47) and (54) the fuzzy kinematical adaptive tracking controller model can be written as it follows
(59)ηc=ηc(e,α-,β-)=ηc(q,qr,α-,β-),α-˙=f1(e,α-)=f1(q,qr,α-),β-˙=f2(e,β-)=f2(q,qr,β-).Also the Lyapunov function (49) appears as it follows
(60)V1=V1(e,α-,β-)=V1(q,qr,α-,β-).Assumption 12.
The adaptive tracking controller (59) exists for the kinematical model (16). Also there is a positive-definite and radially unbounded function V1 such that
(61)V˙1=∂V1∂qq˙+∂V1∂qrq˙r+∂V1∂α-f1+∂V1∂β-f2≤0,
where all the signals are bounded.
The following theorem can be formulated.Theorem 13.
Let (16) and (20) be the kinematical and dynamical model, respectively. There is the fuzzy kinematical adaptive control (59). Properties 5 (b) and 6 (b) are verified and Assumption 12 is satisfied. The reference linear and angular velocities are bounded functions and the reference angular velocity converges to zero. The following adaptive dynamical control law is chosen:
(62)τ=[τlτr]=B--1(-Kdη~+Yp^-(∂V1∂qS^)T)θ^˙i=Λ1(∂V1∂qΣi)η~ii=1,…,2;p^˙=-ΨYTη~,
where τl is the control torque applied to the left wheel; τr is the control torque applied to the right wheel; θ^i is the estimation of θi,i=1,2  (cf. (58));  Y and p are given by (56);  p^ is the estimation of the dynamical parameters of p vector;  Σi(i=1,2) matrices are given by (58); V1 is given by (50) and satisfies Assumption 12;  S^ is the Jacobian matrix (cf (16)) and it depends on estimated kinematic parameters θ^i for i=1,2;η~ is given by
(63)η~=ηc-η=[η~1η~2]T,
where ηc is given by (54) and η is  the dynamical velocity vector of model (20); Kd,Ψ, and Λi are symmetric and positive definite matrices.Thenη~ converges to zero.Proof Track. The following Lyapunov function is chosen
(64)V2=V1+12η~TM-η~+12p~TΓ-1p~+12θ~1TΛ1θ~2+12θ~2TΛ2θ~2,(65)
p
~
=
p
^
-
p
;
θ
~
1
=
θ
^
1
-
θ
1
;
θ
~
2
=
θ
^
2
-
θ
2
.By considering Assumption12, after some calculations, the time derivative of (64) results [6]
(66)V˙2=∂V1∂qS1ηc+∂V1∂qrq˙r+∂V1∂α-f1+∂V1∂β-f2-η~TKdη~.From Assumption12 and (66) the signals included in V¨2  are bounded; therefore, from Barbalat’s lemma, the function (66) is uniformly continuous and it can be written as
(67)limt→∞V˙2(t)=0.From (52) and (67), it yields
(68)limt→∞η~(t)=0.Remark 14.
If we assume the adaptive kinematical controller of Section3 only, the perfect tracking velocity hypothesis is considered, that is,the control velocity ηc is instantaneously applied to nonholonomic vehicle, but it is not true. By inserting the dynamical control, instead, (68) is satisfied and the velocity of the nonholonomic vehicle converges to control signal after some time due to dynamical effects. This is shown in the next section.Remark 15.
If (68) is satisfied, then boundedness and convergence of the tracking errors (24) are assured.


## 5. Simulation Results

We first simulate the adaptive fuzzy controller for nonholonomic vehicles in MATLAB Simulink environment to verify the asymptotical stability and robustness performance before the experimental implementation. Also we use simulation results to compare our method with the control system proposed in [6]. In this section two simulations results are shown: the first does not consider disturbance; the second consider disturbance violating the nonholonomic constraints of the vehicle motion. Besides, two controllers have been simulated in MATLAB environment: (1)
a controller with adaptive dynamical extension assuming knowledge of the parameters (28), that is, adaptive control without fuzzy inference system [6];(2)
the new controller of this work where the parameters (28) are the outputs of the new fuzzy system of the Section 3, with the new adaptive kinematical control of the Section 3.3 (cf. (54)) and the adaptive dynamical control extension of the Section 4 (cf. (62)).So the performances and robustness of the two motion control system are compared.The kinematical and dynamical parameters of the electric nonholonomic vehicle are the following:(69)b=0.75m;d=0.3m;r=0.15m;mc=30kgmw=1kg;Ic=15.6;Iw=0.005;Im=0.0025.The parameters of the kinematic controller (27) are the outputs of the fuzzy system. The parameters of the kinematical (47) and dynamical (62) adaptive controllers are
(70)γ=0.005;δ=20.75;Kd=5;ψ=5.About the controller without fuzzy inference system, the parameters (28) are chosen as
(71)kx=ky=kϕ=5∀t.About the two DC motors, one must consider the following model:(72)τm=Kia,νa=Ladiadt+Raia,νa=Gννc,τ=K-τm,
where ia=[ia1ia2] armature currents; νa=[νa1νa2] armature voltages; νc=[νc1νc2] control voltages; τ=[τrτl] transmitted command torques to right and left wheels; τm=[τm1τm2]  produced torques; K=3.34×INcm/A constant torque parameter; K-=4×I proportionality coefficient between produced and transmitted torque; Ra=10×IΩ  armature resistance; La=0.0241×IH armature inductance; the matrix I  is an identity matrix with two rows and two columns.


### 5.1. Trajectory without Disturbance

In this test the problem of motion control for nonholonomic vehicles is simulated using a feasible, nonholonomic reference trajectory (see Figure7).Figure 7
Reference trajectoryx (m), y (m).The initial conditions for the reference position are(73)(x(0),y(0),ϕ(0))=(0,0,3.48rad).The initial conditions for the actual vehicle position are(74)(x(0),y(0),ϕ(0))=(-30,20,5.68rad).
So the control laws (54) and (62) are simulated suitably.Figures8 and 9 show the tracking errors (24) along x- and y-directions where we compare the performances of our control system (i.e., fuzzy adaptive motion control) with the performances of the control system proposed in [6] (i.e., adaptive motion control without fuzzy).Figure 8
Longitudinal position errorex (m) with (blue line) and without (green line) fuzzy system.Figure 9
Lateral position errorey (m) with (blue line) and without (green line) fuzzy system.The tracking errors resulting from the new fuzzy adaptive control of this work are bounded and converge to zero more rapidly than the tracking errors of the solution one without fuzzy mechanism [6].Figure10 shows the orientation error of the fuzzy adaptive kinematic and dynamic control system, while Figures 11 and 12 present the estimated kinematical parameters α-,β- (cf. (47)) and the dynamical parameters of  p^ vector (cf. (57) and (62)), respectively.Figure 10
Orientation error with fuzzy system,eϕ(rad).Figure 11
Adaptive kinematic parameters.Figure 12
Adaptive dynamical parameters.Remark 16.
From Figure10 it is evident that the trajectory of the robot reaches the trajectory with inclination which leads to an overshoot of near −45 degrees then a posterior correction goes near 25 degrees. In fact note that the ray of the vehicle is small, so that the vehicle is not a bigger one. In any case the control strategy may be applied for a variety of vehicles, by varying the input-output values of the memberships fuzzy. In the next section the experiments have been developed for a small nonholonomic vehicle.
From Figure10 it is evident that the orientation error is bounded and converges to 0 rad.
From Figures11 and 12 we observe that the adaptive control is direct, because the estimated parameters are not physical values, but the steady state parameters are constant and the tracking errors of Figures 8, 9, and 10 converge to zero.Remark 17.
Note that all the absolute tracking errors values of the simulation tests (see Figures8, 9, and 10) are in the range of the numerical inputs of the fuzzy system (see Figure 2). In fact the fuzzy map was adjusted based on the control performance as it is explained in Remark 11.
Figure13 shows the velocity error (63) between the dynamic velocity of the vehicle and the fuzzy control velocity (54). As discussed in Remarks 10 and 14, due to dynamical effects, the physical velocity of the vehicle tracks the fuzzy control velocity only after some time. The motion control reacts in a good way and, after some time instants, the velocity error (63) converges to zero. In other words the kinematic control signals cannot affect the vehicle velocities instantaneously.
Now the electrical vehicle has motors installed in two wheels. The model of the motor has been shown in (72).  From our simulations, the control torques (cf. (62)) for the left and right wheels can be known precisely and therefore we can estimate the currents for the motors. Based on the experimental system explained in the next section, we consider an amplification between the transmitted and the produced torques equal to 4. So Figure 14 shows the estimated armature currents for right and left motors.Tracking velocity errorη~ (rad/s).
(a)
(b)Estimated armature currents of left and right motor.
(a)
(b)


### 5.2. Trajectory with Disturbance Violating the Nonholonomic Constraints of the Vehicle Motion

This simulation test shows the robustness of the fuzzy adaptive motion control system with respect to outside disturbances violating the nonholonomic constraints (9). The disturbance above can be caused by the impact of the vehicle with the external environment, as, for example, the road conditions and the contact between the wheels and the ground where the vehicle moves. In this sense the dynamic model (20) has a bounded unknown disturbance term τd including unstructured dynamics. Now effects of the disturbances above, that is, perturbations of the actual trajectory of the vehicle, are considered only. So the simulation test consists of generating the slipping of the wheels by a step disturbance of the actual lateral position y of the vehicle for every 5 s. The reference trajectory is shown in Figure 7 and it is feasible, that is, it does not violate the nonholonomic constraints.  Figure 15 shows the tracking error along y-direction in case of control with and without fuzzy system. In case of control without fuzzy system, the parameters (28) are fixed as it results in (70). As discussed in Remark 2 it is evident that, with respect to the itself control without fuzzy inference [6], the adaptive fuzzy control system of our paper reacts to the disturbance, recovering the vehicle motion with a very good control effort.Figure 15
Lateral position errorey (m) with (blue line) and without (green line) fuzzy system.


## 5.1. Trajectory without Disturbance

In this test the problem of motion control for nonholonomic vehicles is simulated using a feasible, nonholonomic reference trajectory (see Figure7).Figure 7
Reference trajectoryx (m), y (m).The initial conditions for the reference position are(73)(x(0),y(0),ϕ(0))=(0,0,3.48rad).The initial conditions for the actual vehicle position are(74)(x(0),y(0),ϕ(0))=(-30,20,5.68rad).
So the control laws (54) and (62) are simulated suitably.Figures8 and 9 show the tracking errors (24) along x- and y-directions where we compare the performances of our control system (i.e., fuzzy adaptive motion control) with the performances of the control system proposed in [6] (i.e., adaptive motion control without fuzzy).Figure 8
Longitudinal position errorex (m) with (blue line) and without (green line) fuzzy system.Figure 9
Lateral position errorey (m) with (blue line) and without (green line) fuzzy system.The tracking errors resulting from the new fuzzy adaptive control of this work are bounded and converge to zero more rapidly than the tracking errors of the solution one without fuzzy mechanism [6].Figure10 shows the orientation error of the fuzzy adaptive kinematic and dynamic control system, while Figures 11 and 12 present the estimated kinematical parameters α-,β- (cf. (47)) and the dynamical parameters of  p^ vector (cf. (57) and (62)), respectively.Figure 10
Orientation error with fuzzy system,eϕ(rad).Figure 11
Adaptive kinematic parameters.Figure 12
Adaptive dynamical parameters.Remark 16.
From Figure10 it is evident that the trajectory of the robot reaches the trajectory with inclination which leads to an overshoot of near −45 degrees then a posterior correction goes near 25 degrees. In fact note that the ray of the vehicle is small, so that the vehicle is not a bigger one. In any case the control strategy may be applied for a variety of vehicles, by varying the input-output values of the memberships fuzzy. In the next section the experiments have been developed for a small nonholonomic vehicle.
From Figure10 it is evident that the orientation error is bounded and converges to 0 rad.
From Figures11 and 12 we observe that the adaptive control is direct, because the estimated parameters are not physical values, but the steady state parameters are constant and the tracking errors of Figures 8, 9, and 10 converge to zero.Remark 17.
Note that all the absolute tracking errors values of the simulation tests (see Figures8, 9, and 10) are in the range of the numerical inputs of the fuzzy system (see Figure 2). In fact the fuzzy map was adjusted based on the control performance as it is explained in Remark 11.
Figure13 shows the velocity error (63) between the dynamic velocity of the vehicle and the fuzzy control velocity (54). As discussed in Remarks 10 and 14, due to dynamical effects, the physical velocity of the vehicle tracks the fuzzy control velocity only after some time. The motion control reacts in a good way and, after some time instants, the velocity error (63) converges to zero. In other words the kinematic control signals cannot affect the vehicle velocities instantaneously.
Now the electrical vehicle has motors installed in two wheels. The model of the motor has been shown in (72).  From our simulations, the control torques (cf. (62)) for the left and right wheels can be known precisely and therefore we can estimate the currents for the motors. Based on the experimental system explained in the next section, we consider an amplification between the transmitted and the produced torques equal to 4. So Figure 14 shows the estimated armature currents for right and left motors.Tracking velocity errorη~ (rad/s).
(a)
(b)Estimated armature currents of left and right motor.
(a)
(b)


## 5.2. Trajectory with Disturbance Violating the Nonholonomic Constraints of the Vehicle Motion

This simulation test shows the robustness of the fuzzy adaptive motion control system with respect to outside disturbances violating the nonholonomic constraints (9). The disturbance above can be caused by the impact of the vehicle with the external environment, as, for example, the road conditions and the contact between the wheels and the ground where the vehicle moves. In this sense the dynamic model (20) has a bounded unknown disturbance term τd including unstructured dynamics. Now effects of the disturbances above, that is, perturbations of the actual trajectory of the vehicle, are considered only. So the simulation test consists of generating the slipping of the wheels by a step disturbance of the actual lateral position y of the vehicle for every 5 s. The reference trajectory is shown in Figure 7 and it is feasible, that is, it does not violate the nonholonomic constraints.  Figure 15 shows the tracking error along y-direction in case of control with and without fuzzy system. In case of control without fuzzy system, the parameters (28) are fixed as it results in (70). As discussed in Remark 2 it is evident that, with respect to the itself control without fuzzy inference [6], the adaptive fuzzy control system of our paper reacts to the disturbance, recovering the vehicle motion with a very good control effort.Figure 15
Lateral position errorey (m) with (blue line) and without (green line) fuzzy system.


## 6. Experimental System and Results

In this section a motion control experiment has been established based on the fuzzy control laws (54) and (62). Experimentation is performed on a vehicle with the same dynamical and kinematical parameters of the simulations.


### 6.1. Main Technical Aspects of the  Nonholonomic Vehicle and of the Implemented Fuzzy Adaptive Control System

The details of our vehicle are shown in Figure16. The vehicle above is constituted by a mechanical support of circular form, under which two independent traction axes have been installed (differential drive actuation). The information on linear and angular velocities and therefore on position and orientation of the vehicle have been obtained by two proprioceptive sensors, that is, one encoder for each wheel.Nonholonomic vehicle top and rear views:  PC target and independent traction axis.
(a)
(b)The electric motors are controlled by on-board personal computer (PC Target) with Pentium processor. The signals for the actuators are PWM type. Therefore, drivers for the motors have been installed. The motors and the drivers require a set of two on-board batteries of 12 V.Principal components of the experimental system are(i)
two DC motors;(ii)
two encoders Baumer, BHK series;(iii)
two drivers LMD18200;(iv)
PC Target on board with Encoder Card PCL-833, Multifunctional Card PCL-1800.We use another PC (host computer) for motion control, where the adaptive fuzzy motion controller has been implemented by using MATLAB Simulink.About the motors, they have been chosen for the good torques and robustness performance. The parameters of the model have been shown in the simulation section.  The main characteristics of the motors are(i)
nominal tension value: 24 V;(ii)
nominal current value: 2.8 A;(iii)
continuous torque:   6 Ncm;(iv)
Constant torque-current: 3.34 Ncm/A.The employed drivers produce current for the motors to generate the torques. However, the drivers above assure maximum current of 3 A for the motors with consequential very low torque. So we do not change the driver, but we use a system of motor-axis pulley (see Figure17) introducing an amplification between the produced and the transmitted torque. To use the driver LMD18200, the amplification above is 1 : 4.Figure 17
Motor axis pulley local view.The circuit for the PWM generation has been shown in Figure18. In our experimental system the card above is positioned upon the PC target (see Figure 16 top view). Note that the LMD18200 has three inputs: PWM, DIR, and BRAKE. The brake input can be controlled by microcontroller. In our experiments the input above is not used. So it is “ground”.  The input “DIR” is the direction of the motor rotation. Now the multifunctional card PCL-1800 has A/D converter, buffer FIFO of 1Kword, two converters D/A 12 bit, 16 digital inputs, and 16 digital outputs. From the D/A of the PCL-1800, reference voltages proportional to the currents are obtained.  The card above has been employed to monitor the armature currents, the reference voltages, and the current signs. So the difference between the current reference and the measure current feedback is fed into a current control block. Hence, it generates the duty ratio for the PWM converter which provides bidirectional current control of the DC motors.Figure 18
PWM generation for driver LMD18200.The encoders have been employed to evaluate the velocity rotation of the axis. They use two pulse trains, 90 degree out of phase.The host computer loads to the PC Target of the vehicle the program and the reference trajectory, while the PC Target communicates to it some variables, as, for example, the actual position.  The host PC reads motor positions for use in graphics routines by using MATLAB software. The PC target passes latest position to the fuzzy control algorithm implemented in the host PC using MATLAB simulink. So the Fuzzy control algorithm calculates the new outputs for the DAC of the PCL-1800 generating the reference voltage and waits for the next command from the PC target.About the software implementation of the fuzzy control laws (54) and (62), the system has been realized by using MATLAB Simulink, Real-Time Workshop, and XpcTarget toolboxes. In particular we have used MATLAB Simulink to implement the dynamical and kinematical fuzzy controllers and the blocks for the card I/O interfaces. So, by employing RealTime WorkShop toolbox, the blocks above are converted in C language suitably. The executable code is generated by using Visual C compilator. Therefore, the code above is downloaded in the PC target, where there is a real-time operative system. So we monitor the parameters in the remote PC by graphical routines of MATLAB.Figure19 shows the block diagram for the acquisition of the encoders data, that is, angular velocities of the right and left wheels. The data above are downloaded in the host PC. So, by using MATLAB simulink blocks to implement (16), they are processed to obtain the feedback signal and the motion errors (24) of the control system.Figure 19
Interface for data acquisition from encoders.In conclusion the control architecture has three levels:(i)
from the positions errors (24), the adaptive fuzzy kinematic control generates the speed control (cf. (54));(ii)
from the velocity error (63),  the adaptive dynamic control generates the desired torque commands (cf. (62));(iii)
actuation of the torques above by the PCL-1800 with generation of error between the reference and the measured current for the PWM input generation of the driver LMD18200.


### 6.2. Results

In this section experimental results are shown to confirm the simulation results. In the host computer we have implemented a reference curvilinear trajectory. The trajectory above is shown in Figure20 and it is equal to the curvilinear length of the simulation tests (see Figure 7). The initial conditions of the reference trajectory and of the vehicle position are the same of the simulation tests (cf. (73), (74)).Figure 20
Reference trajectory.By using the fuzzy control laws (54) and (62), time after time, we have monitored the actual position of the vehicle. Figures 21 and 22 show the experimental results of the system output response to the reference trajectory of Figure 20. In particular the reference and experimental actual trajectories along x-direction versus time are shown in Figure 21, while Figure 22 shows the same functions along y-direction versus time. To compare experimental and simulation results directly, it is evident that the vertical distances between the trace of the actual and of the reference trajectories (see Figures 21 and 22) represent the longitudinal and the lateral tracking errors.  The values of the distances above are similar to the values of the simulation results (see Figures 8 and 9).Figure 21
Reference and actual experimental trajectory alongx-direction.Figure 22
Reference and actual experimental trajectory alongy-direction.Figures23 and 24 show the reference voltages and the sign of the currents for the left and right motors, respectively. The information above come from output DAC of PCL 1800 card.Reference voltage and current left-motor sign from PCL 1800 card.
(a)
(b)Reference voltage and current right motor sign from PCL-1800 card.
(a)
(b)Figure25 shows the measured armature currents for right and left motors. Note that the driver may have done 3 A max to the motors. The measured armature currents of Figure 25 are similar to the simulation results of Figure 14.Measured armature currents.
(a)
(b)


## 6.1. Main Technical Aspects of the  Nonholonomic Vehicle and of the Implemented Fuzzy Adaptive Control System

The details of our vehicle are shown in Figure16. The vehicle above is constituted by a mechanical support of circular form, under which two independent traction axes have been installed (differential drive actuation). The information on linear and angular velocities and therefore on position and orientation of the vehicle have been obtained by two proprioceptive sensors, that is, one encoder for each wheel.Nonholonomic vehicle top and rear views:  PC target and independent traction axis.
(a)
(b)The electric motors are controlled by on-board personal computer (PC Target) with Pentium processor. The signals for the actuators are PWM type. Therefore, drivers for the motors have been installed. The motors and the drivers require a set of two on-board batteries of 12 V.Principal components of the experimental system are(i)
two DC motors;(ii)
two encoders Baumer, BHK series;(iii)
two drivers LMD18200;(iv)
PC Target on board with Encoder Card PCL-833, Multifunctional Card PCL-1800.We use another PC (host computer) for motion control, where the adaptive fuzzy motion controller has been implemented by using MATLAB Simulink.About the motors, they have been chosen for the good torques and robustness performance. The parameters of the model have been shown in the simulation section.  The main characteristics of the motors are(i)
nominal tension value: 24 V;(ii)
nominal current value: 2.8 A;(iii)
continuous torque:   6 Ncm;(iv)
Constant torque-current: 3.34 Ncm/A.The employed drivers produce current for the motors to generate the torques. However, the drivers above assure maximum current of 3 A for the motors with consequential very low torque. So we do not change the driver, but we use a system of motor-axis pulley (see Figure17) introducing an amplification between the produced and the transmitted torque. To use the driver LMD18200, the amplification above is 1 : 4.Figure 17
Motor axis pulley local view.The circuit for the PWM generation has been shown in Figure18. In our experimental system the card above is positioned upon the PC target (see Figure 16 top view). Note that the LMD18200 has three inputs: PWM, DIR, and BRAKE. The brake input can be controlled by microcontroller. In our experiments the input above is not used. So it is “ground”.  The input “DIR” is the direction of the motor rotation. Now the multifunctional card PCL-1800 has A/D converter, buffer FIFO of 1Kword, two converters D/A 12 bit, 16 digital inputs, and 16 digital outputs. From the D/A of the PCL-1800, reference voltages proportional to the currents are obtained.  The card above has been employed to monitor the armature currents, the reference voltages, and the current signs. So the difference between the current reference and the measure current feedback is fed into a current control block. Hence, it generates the duty ratio for the PWM converter which provides bidirectional current control of the DC motors.Figure 18
PWM generation for driver LMD18200.The encoders have been employed to evaluate the velocity rotation of the axis. They use two pulse trains, 90 degree out of phase.The host computer loads to the PC Target of the vehicle the program and the reference trajectory, while the PC Target communicates to it some variables, as, for example, the actual position.  The host PC reads motor positions for use in graphics routines by using MATLAB software. The PC target passes latest position to the fuzzy control algorithm implemented in the host PC using MATLAB simulink. So the Fuzzy control algorithm calculates the new outputs for the DAC of the PCL-1800 generating the reference voltage and waits for the next command from the PC target.About the software implementation of the fuzzy control laws (54) and (62), the system has been realized by using MATLAB Simulink, Real-Time Workshop, and XpcTarget toolboxes. In particular we have used MATLAB Simulink to implement the dynamical and kinematical fuzzy controllers and the blocks for the card I/O interfaces. So, by employing RealTime WorkShop toolbox, the blocks above are converted in C language suitably. The executable code is generated by using Visual C compilator. Therefore, the code above is downloaded in the PC target, where there is a real-time operative system. So we monitor the parameters in the remote PC by graphical routines of MATLAB.Figure19 shows the block diagram for the acquisition of the encoders data, that is, angular velocities of the right and left wheels. The data above are downloaded in the host PC. So, by using MATLAB simulink blocks to implement (16), they are processed to obtain the feedback signal and the motion errors (24) of the control system.Figure 19
Interface for data acquisition from encoders.In conclusion the control architecture has three levels:(i)
from the positions errors (24), the adaptive fuzzy kinematic control generates the speed control (cf. (54));(ii)
from the velocity error (63),  the adaptive dynamic control generates the desired torque commands (cf. (62));(iii)
actuation of the torques above by the PCL-1800 with generation of error between the reference and the measured current for the PWM input generation of the driver LMD18200.


## 6.2. Results

In this section experimental results are shown to confirm the simulation results. In the host computer we have implemented a reference curvilinear trajectory. The trajectory above is shown in Figure20 and it is equal to the curvilinear length of the simulation tests (see Figure 7). The initial conditions of the reference trajectory and of the vehicle position are the same of the simulation tests (cf. (73), (74)).Figure 20
Reference trajectory.By using the fuzzy control laws (54) and (62), time after time, we have monitored the actual position of the vehicle. Figures 21 and 22 show the experimental results of the system output response to the reference trajectory of Figure 20. In particular the reference and experimental actual trajectories along x-direction versus time are shown in Figure 21, while Figure 22 shows the same functions along y-direction versus time. To compare experimental and simulation results directly, it is evident that the vertical distances between the trace of the actual and of the reference trajectories (see Figures 21 and 22) represent the longitudinal and the lateral tracking errors.  The values of the distances above are similar to the values of the simulation results (see Figures 8 and 9).Figure 21
Reference and actual experimental trajectory alongx-direction.Figure 22
Reference and actual experimental trajectory alongy-direction.Figures23 and 24 show the reference voltages and the sign of the currents for the left and right motors, respectively. The information above come from output DAC of PCL 1800 card.Reference voltage and current left-motor sign from PCL 1800 card.
(a)
(b)Reference voltage and current right motor sign from PCL-1800 card.
(a)
(b)Figure25 shows the measured armature currents for right and left motors. Note that the driver may have done 3 A max to the motors. The measured armature currents of Figure 25 are similar to the simulation results of Figure 14.Measured armature currents.
(a)
(b)


## 7. Conclusions

In this paper an evolution of the adaptive control for motion control of autonomous nonholonomic vehicles by inserting a new Fuzzy inference system has been presented. In particular the fuzzy inference determines the parameters of the kinematic controller with better performance than the adaptive controller without fuzzy proposed in [6]. An adaptive mechanism on line estimated the unknown dynamical and kinematical parameters of the vehicle model. Also, by using the dynamical extension, it is evident that the hypothesis of perfect velocity tracking cannot be satisfied because it is not true practically. Our concepts are formulated to have the asymptotical stability of the tracking errors through Lyapunov theory and Barbalat’s lemma. The stability results are based on the input-output properties of the fuzzy inference system. Based on theoretical and simulation results we conclude(i)
Lyapunov stability theory can be effectively applied to determine the properties of  fuzzy system for problem of motion control of nonholonomic vehicles;(ii)
the fuzzy adaptive approach of this paper reduces the response time of the tracking errors with respect to controller without fuzzy inference mechanism [6];(iii)
the simulation results show the robustness, the asymptotical stability, and the fast convergence of the motion errors;(iv)
the experimental results confirm the validity of the proposed method.



---

*Source: 621067-2012-10-21.xml*