This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Comparison of two non-linear model-based control strategies for autonomous vehicles

Eugenio Alcalá, Laura Sellart, Vicenç Puig, Joseba Quevedo, Jordi Saludes, David Vázquez and Antonio López E. Alcalá, V. Puig, J. Quevedo and J. Saludes are with the Advanced Control Systems Group, Automatic Control Department, Universitat Politècnica de Catalunya (UPC), Campus de Terrassa, Rambla Sant Nebridi, 10, 08222, Spain. e-mail: joseba.quevedo@upc.eduL. Sellart, D. Vázquez and A. López are with Computer Vision Center (CVC), Edifici O, Campus UAB, 08193 Bellaterra, Barcelona
Abstract

This paper presents the comparison of two non-linear model-based control strategies for autonomous cars. A control oriented model of vehicle based on a bicycle model is used. The two control strategies use a model reference approach. Using this approach, the error dynamics model is developed. Both controllers receive as input the longitudinal, lateral and orientation errors generating as control outputs the steering angle and the velocity of the vehicle. The first control approach is based on a non-linear control law that is designed by means of the Lyapunov direct approach. The second approach is based on a sliding mode-control that defines a set of sliding surfaces over which the error trajectories will converge. The main advantage of the sliding-control technique is the robustness against non-linearities and parametric uncertainties in the model. However, the main drawback of first order sliding mode is the chattering, so it has been implemented a high order sliding mode control. To test and compare the proposed control strategies, different path following scenarios are used in simulation.

I INTRODUCTION

Autonomous driving systems have been actively researched. Several works have shown the possibility of autonomous driving in real life [1]. Google has been testing its autonomous vehicle in actual traffic conditions. In August 2012, Google announced that they have completed over 500,000 km autonomous driving without any accident [2]. Another research group in Italy, the VisLab in Parma University, did 13,000 km test run for autonomous vehicles from Italy to China [4]. Such a vehicles perceive the surrounding environment by camera sensors and fusion with other sensors. The VisLab also tested the autonomous vehicle in a real environment, together with real traffic on July 2013. In May 2014, Google presented a new concept for their driverless car that had neither a steering wheel nor pedals [5], and unveiled a fully functioning prototype in December 2014 that they planned to test on San Francisco Bay Area roads beginning in 2015. Google plans to make these cars available to the public in 2020 [6].

The Computer Vision Center (CVC) is automatizing an electric car within the context of the project Automated and Cooperative Driving in the City (ACDC)111 http://adas.cvc.uab.es/projects/ACDC/ (see Figure 1). At this stage, environmental perception is mainly based on Computer Vision. In particular, while following a planned route provided by a global path planner, it is detected the obstacle-free navigable path in front of the vehicle by using an on-board stereo rig. Accordingly, a short path is planned obtaining the desired set of positions and velocities. Such a set is send to the car controller to properly execute the maneuver. Figure 2 shows the architecture of the project. In this paper, we focus on the design and implementation of such a vehicle low-level controller.

Refer to caption
Figure 1: Real autonomous car
Refer to caption
Figure 2: System architecture of the autonomous vehicle

This paper is focused on the low frame of the automatic control of the speed and the steering angle of the car following a predefined path with the best performances of stability and precision. Aware that a good automatic car control is the basis for achieving the other challenges of the autonomous driving systems. We propose two strategies of non-linear automatic low level control, based on the method of Lyapunov [12] and based on sliding mode, and a comparison of both has been made in a simple simulator (based on Simulink). Currently, it is being tested in a complex simulator developed in Unity 3D222http://unitypackages.net/unitycar/joomla/index.php (see Figure 3).

Refer to caption
Figure 3: Virtual reality vehicle simulator in Unity

This paper is organized as follows. Section II introduces the kinematic model of the vehicle that has been used. In Section III, we develop the control strategies. Section IV presents the results of such strategies. Section V presents the conclusions.

II CONTROL ORIENTED VEHICLE MODEL

For control design, the autonomous car has been considered as a bicycle-like vehicle ([7], [11] ) positioned at a non-zero distance with respect to a dynamic waypoint (virtual car of reference), whose motion is controlled by the combined action of both the angular velocity ωr(t)\omega_{r}(t) and the linear velocity vr(t)v_{r}(t) of the real vehicle (Figures 4 and 5). This model assumes that the vehicle is symmetric, the steering angle is the same in both front wheels, the roll and pitch movement are neglected, the linear movement in zz axis is also neglected and angles like steering and yaw are assumed to be small.

Refer to caption
Figure 4: Bicycle model
Refer to caption
Figure 5: Vehicle’s position and orientation with respect to the dynamic target frame (virtual car)

Then, the set of kinematic equations of the cartesian position (xr,yrx_{r},y_{r}) and orientation (θr\theta_{r}) of the real vehicle is presented as follows:

{x˙r=vrsin(θr)y˙r=vrcos(θr)θ˙r=vrltan(ϕr)\begin{cases}\dot{x}_{r}=v_{r}sin(\theta_{r})\\ \dot{y}_{r}=v_{r}cos(\theta_{r})\\ \dot{\theta}_{r}=\frac{v_{r}}{l}tan(\phi_{r})\end{cases} (1)

where vrv_{r} and ϕr\phi_{r} represent the linear velocity and the steering angle respectively. Consequently, from Fig. 5, the kinematic equations for the virtual car can be defined as:

{x˙d=vdsin(θd)y˙d=vdcos(θd)θ˙d=vdltan(ϕd)\begin{cases}\dot{x}_{d}=v_{d}sin(\theta_{d})\\ \dot{y}_{d}=v_{d}cos(\theta_{d})\\ \dot{\theta}_{d}=\frac{v_{d}}{l}tan(\phi_{d})\end{cases} (2)

where xdx_{d}, ydy_{d} and θd\theta_{d} are the position and orientation of the next way point generated by the trajectory planner.
The error model (3) is defined as the difference between real vehicle position and the desired one multiplied by the rotation matrix over zz axis which is the orthogonal to the road plane:

[xeyeθe]=[cosθdsinθd0sinθdcosθd0001][xrxdyrydθdθr]\left[\begin{array}[]{c}x_{e}\\ y_{e}\\ \theta_{e}\\ \end{array}\right]=\left[\begin{array}[]{ccc}cos\theta_{d}&sin\theta_{d}&0\\ -sin\theta_{d}&cos\theta_{d}&0\\ 0&0&1\\ \end{array}\right]\left[\begin{array}[]{c}x_{r}-x_{d}\\ y_{r}-y_{d}\\ \theta_{d}-\theta_{r}\\ \end{array}\right] (3)

that after some algebraic manipulations lead to the following expression:

{x˙e=vrcos(θe)+yevdltan(ϕd)vdy˙e=vrsin(θe)xevdltan(ϕd)θ˙e=vrltan(ϕr)vdltan(ϕd)\begin{cases}\dot{x}_{e}=v_{r}cos(\theta_{e})+y_{e}\frac{v_{d}}{l}tan(\phi_{d})-v_{d}\\ \dot{y}_{e}=v_{r}sin(\theta_{e})-x_{e}\frac{v_{d}}{l}tan(\phi_{d})\\ \dot{\theta}_{e}=\frac{v_{r}}{l}tan(\phi_{r})-\frac{v_{d}}{l}tan(\phi_{d})\end{cases} (4)

that can be expressed as follows taking into account the real and reference vehicle models (1)-(2):

{x˙e=vr+ωryevdcos(θe)y˙e=ωrxe+vdcos(θe)θ˙e=ωrωd\begin{cases}\dot{x}_{e}=v_{r}+\omega_{r}y_{e}-v_{d}cos(\theta_{e})\\ \dot{y}_{e}=-\omega_{r}x_{e}+v_{d}cos(\theta_{e})\\ \dot{\theta}_{e}=\omega_{r}-\omega_{d}\end{cases} (5)

where ωr=θr˙\omega_{r}=\dot{\theta_{r}} and ωd=θd˙\omega_{d}=\dot{\theta_{d}}.

III DESCRIPTION OF AUTOMATIC CONTROL STRATEGIES

The autonomous car control objective of path following via way points consists to reach asymptotically to zero the difference between the dynamic position and orientation of the real car respect to the dynamic way points (virtual car) position and orientation.

In this paper, two nonlinear automatic control strategies for autonomous vehicles for path following and navigation among way-points have been considered: one based on the direct method of Lyapunov [12] and the other based on sliding mode control (SMC) [10]. Both techniques will consider as starting point the error model derived from the vehicle control-oriented model presented in previous section.

On one hand, the idea of nonlinear control based on the direct Lyapunov method is to define a control law assuring the stability and the asymptotic elimination of the following error.

On the other hand, the basic idea of SMC is to reach a sliding surface in finite time and remain on this. However, this control approach has a drawback: the chattering, i.e. a trajectory oscillation over the sliding surface. There are several ways of dealing with this problem e.g., using a higher order sliding surface or smoother functions instead of the common sign function.

III-A Direct Lyapunov approach

We are going to design a control based on the direct Lyapunov approach. This method guaranties the asymptotic stability of the vehicle control because:

limt[x˙ey˙eθ˙e]=0\lim_{t\to\infty}\left[\begin{array}[]{c}\dot{x}_{e}\\ \dot{y}_{e}\\ \dot{\theta}_{e}\\ \end{array}\right]=0 (6)

which involves also:

limt[xrxdyrydθrθr]=0\lim_{t\to\infty}\left[\begin{array}[]{c}x_{r}-x_{d}\\ y_{r}-y_{d}\\ \theta_{r}-\theta_{r}\\ \end{array}\right]=0 (7)

As control law we propose to use the non linear law from [12]:

[vrωr]=[vdcosθek1xeωdk2vdsinθeθeyek3θe]\left[\begin{array}[]{c}v_{r}\\ \omega_{r}\\ \end{array}\right]=\left[\begin{array}[]{c}v_{d}cos\theta_{e}-k_{1}x_{e}\\ \omega_{d}-k_{2}v_{d}\frac{sin\theta_{e}}{\theta_{e}}y_{e}-k_{3}\theta_{e}\\ \end{array}\right] (8)

Given the following Lyapunov function:

V=12xe2+12ye2+12θe2V=\frac{1}{2}x_{e}^{2}+\frac{1}{2}y_{e}^{2}+\frac{1}{2}\theta_{e}^{2} (9)

the stability condition is achieved when V˙0\dot{V}\leq 0. Thus, taking into account the error model (5), the proposed control law (8) and substituting in the derivative of (9) and after some simplifications we obtain the following expression:

V˙=k1k2xe2k3θe20\dot{V}=-k_{1}k_{2}x_{e}^{2}-k_{3}\theta_{e}^{2}\leq 0 (10)

which implies that the control parameters k1k_{1}, k2k_{2} and k3k_{3} should be positive to assure the asymptotic stability of the closed-loop.

III-B Sliding mode control

The main idea behind this approach is to reach the sliding surface in a finite time and remain on such surfaces where the error is null. From the mathematical point of view a sliding surface is an expression composed by states of the system to be minimized.

Refer to caption
Figure 6: Sliding Mode behaviour

Fig. 6 shows the basic principle of the method and it can be seen how the trajectory reaches the surface ss and remains there. However, the trajectory presents some oscillations around the surface. This is known as the chattering phenomena. This drawback can be reduced by using a higher order sliding surfaces or using smooth functions instead of the common used sign function.
In this paper, a stable SMC has been designed which has as inputs the errors (3), desired linear velocity (vdv_{d}), desired angular velocity (ωd\omega_{d}), desired linear acceleration (v˙d\dot{v}_{d}) and desired angular acceleration (w˙d\dot{w}_{d}), and as outputs the velocity (vrv_{r}) and the steering angle (ϕr\phi_{r}).
In order to implement it, a set of sliding surfaces are chosen. There is a surface sis_{i} per control action. Given that there are three error variables (xex_{e}, yey_{e} and θe\theta_{e}) and only two surfaces, one sliding surface have to contain two of such error variables. It has been decided to couple yey_{e} and θe\theta_{e} in the same sliding equation, therefore the resulting surfaces are the following:

s1=x˙e+k1xes_{1}=\dot{x}_{e}+k_{1}x_{e} (11)
s2=y˙e+k2ye+k3θes_{2}=\dot{y}_{e}+k_{2}y_{e}+k_{3}\theta_{e} (12)

where k1k_{1}, k2k_{2} and k3k_{3} are positive defined parameters.
According to [9], the dynamics of the sliding surface is the following, which is called the reaching law:

s˙i=QisiPisign(si)\dot{s}_{i}=-Q_{i}s_{i}-P_{i}sign(s_{i}) (13)

where QQ and PP are positive defined parameters and its stability can be proven using Lyapunov theorem [10]. A Lyapunov candidate function and its time derivative is defined as follows:

V=12ssV=\frac{1}{2}s^{\prime}s (14)

Evaluating its derivative:

V˙=ss˙\dot{V}=s\dot{s} (15)

and considering the control law (13), it can be expressed as:

V˙=s1(Q1s1P1sgn(s1))+s2(Q2s2P2sgn(s2))\dot{V}=s_{1}(-Q_{1}s_{1}-P_{1}sgn(s_{1}))+s_{2}(-Q_{2}s_{2}-P_{2}sgn(s_{2})) (16)

or alternatively:

V˙=Q1s12Q2s22P1|s1|P2|s2|\dot{V}=-Q_{1}s_{1}^{2}-Q_{2}s_{2}^{2}-P_{1}|s_{1}|-P_{2}|s_{2}| (17)

such that to fulfill the Lyapunov stability theorem, Q1Q_{1}, Q2Q_{2}, P1P_{1} and P2P_{2} have to be semi-positive definite.
Finally, the control law will have the following expression:

ui=ueqiuciu_{i}=u_{eq_{i}}-u_{c_{i}} (18)

where the first term is called equivalent control and makes the derivative of the sliding surface equal to zero to stay on the sliding surface.
The second part of (18) is the corrective control which compensates the deviations from the sliding surface to reach the sliding surface:

uci=Qisi+Pisgn(si)g(x)u_{c_{i}}=\frac{Q_{i}s_{i}+P_{i}sgn(s_{i})}{g(x)} (19)

Hence, in order to obtain the control law it is necessary to find the term ueqiu_{eq_{i}}. To do so, the sliding surfaces are derived and set equal to zero:

s˙1=x¨e+k1x˙e\dot{s}_{1}=\ddot{x}_{e}+k_{1}\dot{x}_{e} (20)
s˙2=y¨e+k2y˙e+k3θ˙e\dot{s}_{2}=\ddot{y}_{e}+k_{2}\dot{y}_{e}+k_{3}\dot{\theta}_{e} (21)

By developing the two last equations:

s˙1=v˙rcos(θe)+vrθ˙esin(θe)+y˙eωd+yeω˙dv˙d+k1x˙e\dot{s}_{1}=\dot{v}_{r}cos(\theta_{e})+v_{r}\dot{\theta}_{e}sin(\theta_{e})+\dot{y}_{e}\omega_{d}+y_{e}\dot{\omega}_{d}-\dot{v}_{d}+k_{1}\dot{x}_{e} (22)
s˙2=v˙rsin(θe)+vrcos(θe)θ˙exeω˙dx˙eωd+K2y˙e+K3θ˙e\dot{s}_{2}=\dot{v}_{r}sin(\theta_{e})+v_{r}cos(\theta_{e})\dot{\theta}_{e}-x_{e}\dot{\omega}_{d}-\dot{x}_{e}\omega_{d}+K_{2}\dot{y}_{e}+K_{3}\dot{\theta}_{e} (23)

Then, imposing that when reaching the sliding surfaces:

s˙1=0:\dot{s}_{1}=0:

ueq1=v˙r=vrθ˙esin(θe)y˙eωdyeω˙d+v˙dk1x˙ecos(θe)u_{eq_{1}}=\dot{v}_{r}=\frac{-v_{r}\dot{\theta}_{e}sin(\theta_{e})-\dot{y}_{e}\omega_{d}-y_{e}\dot{\omega}_{d}+\dot{v}_{d}-k_{1}\dot{x}_{e}}{cos(\theta_{e})} (24)

s˙2=0:\dot{s}_{2}=0:

ueq2=ωr=ωd+k2y˙e+w˙dxe+wdx˙ev˙csin(θe)vrsin(θe)+k3u_{eq_{2}}=\omega_{r}=\omega_{d}+\frac{-k_{2}\dot{y}_{e}+\dot{w}_{d}x_{e}+w_{d}\dot{x}_{e}-\dot{v}_{c}sin(\theta_{e})}{v_{r}sin(\theta_{e})+k_{3}} (25)

where the denominator corresponds with g(x)g(x) in (19).
Therefore, replacing the obtained equivalent control equations in the structure proposed in (18) and developing them, the following control laws are obtained:

v˙c=vrθ˙esin(θe)y˙eωdyeω˙d+v˙dk1x˙eQ1s1P1sgn(s1)cos(θe)\dot{v}_{c}=\frac{-v_{r}\dot{\theta}_{e}sin(\theta_{e})-\dot{y}_{e}\omega_{d}-y_{e}\dot{\omega}_{d}+\dot{v}_{d}-k_{1}\dot{x}_{e}-Q_{1}s_{1}-P_{1}sgn(s_{1})}{cos(\theta_{e})}

(26)

vc=v˙c𝑑tv_{c}=\int\dot{v}_{c}dt (27)

θ˙c=wd+P2s2Q2sign(s2)k2y˙e+w˙dxe+wdx˙ev˙csin(θe)vrsin(θe)+k3\dot{\theta}_{c}=w_{d}+\frac{-P_{2}s_{2}-Q_{2}sign(s_{2})-k_{2}\dot{y}_{e}+\dot{w}_{d}x_{e}+w_{d}\dot{x}_{e}-\dot{v}_{c}sin(\theta_{e})}{v_{r}sin(\theta_{e})+k_{3}}

(28)
ϕc=atan(lvrθ˙c)\phi_{c}=atan(\frac{l}{v_{r}}\dot{\theta}_{c}) (29)

Equations (26) and (27) represent the velocity control law while (28) and (29) represent the steering control law.

IV APPLICATION

In this section, the results of the previous control methods are presented in simulation. The simulation has been developed in Matlab/Simulink and it is also currently developed in the Unity platform 333http://unitypackages.net/unitycar/joomla/index.php.
In parallel with the implementation of the controller, a trajectory planner has also been implemented which provides the specific instructions to the control area.

The next steps are followed to perform the trajectory tracking:

  • The GPS provides to the vehicle a set of forward way points at every segment. The space between two way points is called segment.

  • When a segment finishes, the planner takes the next way point and perform the correct speed profile according to the maximum acceleration allowed. From this segment a set of sub way points are calculated with its respective position, orientation, linear velocity, angular velocity, linear acceleration and angular acceleration.

  • Once such a segment has been sampled, at every sample time (Ts = 0.1s) the control area takes a sub way point features as a desired configuration and perform the control.

Figure 8 shows the total path to be followed, where blue circles represent the way points and between them there are a set of sub way points. Figure 7 shows the desired set of velocities for the whole path computed by the planner.

Input disturbances have been included in the sensors data and in the model as gaussian random noises to make the simulation more realistic. Inside the vehicle model, two first order filters have been considered in order to mitigate the high frequency terms of the control signals in case of the sliding model controller.

In next subsections the results of the control methods are presented.

Refer to caption
Figure 7: Desired angular and linear velocities
Refer to caption
Figure 8: Path proposed to prove control techniques

IV-A Direct Lyapunov based controller results

The controller is designed according the procedure described in Section III.A. The design parameters are adjusted as follows: k1=0.9k_{1}=0.9, k2=1.1k_{2}=1.1 and k3=3k_{3}=3. They have been adjusted by trial and error. Fig. 10 presents the resulting path, the control actions and the errors. It can be seen that the errors are sufficiently small. For instance in the case of lateral vehicle error the maximum value reached when the car arrives to a curve is 5 cm.

Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Figure 9: Direct Lyapunov-based controller results: (a) Desired and tracked path. (b) Steering angle applied to the vehicle. (c) Longitudinal speed. (d) Longitudinal vehicle error. (e) Lateral vehicle error. (f) Orientation vehicle error.

IV-B Sliding mode control results

The controller is designed according the procedure describes in Section III.B. The set of sliding parameters are shown in Table I, which have been adjusted by trial and error too.

Fig. 10 shows the results using the sliding mode controller. The vehicle is able to follow the proposed path with small error under noise and perturbation. It can be appreciated in Fig. 10 d), e) and f) that the errors are quite small. In fig. 11, the sliding surfaces are showed where it can be seen how they try to reach the zero value and once there remain there.

TABLE I: Sliding mode control parameters
k1k_{1} 0.22
k2k_{2} 2
k3k_{3} 2.55
P1P_{1} 0.48
Q1Q_{1} 0.048
P2P_{2} 3.7
Q2Q_{2} 0.3
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Figure 10: Sliding mode controller results: (a) Desired and tracked path. (b) Steering angle applied to the vehicle. (c) Longitudinal speed. (d) Longitudinal vehicle error. (e) Lateral vehicle error. (f) Orientation vehicle error.
Refer to caption
Refer to caption
Figure 11: (a) Sliding surface of the longitudinal error. (b) Sliding surface of the lateral and orientation error.

IV-C Result discussion

By observing the results we can admit both methods provide similar results and they are very good.
Note that the steering angle control action of the Lyapunov technique is smother. It is due to the fact that the SMC method perform the steering signal by using the three errors and the acceleration action, and all these variables have noise. On the other hand, Lyapunov technique only uses two of the three errors to compute the steering angle.
Notice also that the sliding mode method achieves smaller errors although such an errors can be minimised by obtaining a better set of parameters in both techniques.
Both control methods have demonstrated to be robust with respect to some noise and disturbances, and the obtained results show the effectiveness of such proposed control schemes.

V CONCLUSIONS

This work has presented the comparison of two non-linear model-based control strategies for autonomous cars. Both controllers have been designed using a control oriented model of vehicle based on a bicycle model commonly used in the literature for modelling autonomous cars. The two control strategies follow a model reference approach. Using this approach, the error dynamics model has been developed. Both controllers receive as input the longitudinal, lateral and orientation errors generating as control outputs the steering angle and the velocity of the vehicle. The first non-linear control approach has been designed by means of the Lyapunov direct approach. The second approach has been designed using the sliding mode approach. Both controllers have been implemented, tested and compared with different path following scenarios in simulation. From the obtained results, both methods provide similar results being quite robust to uncertainty and noise.

As already commented, currently, both control strategies are being tested on a virtual reality simulation developed in Unity before being tested in a real car available at the Computer Vision Center.

ACKNOWLEDGEMENTS

This work is supported by the Spanish MEC project TRA2014-57088-C2-1-R, by Ministerio Economia y Competitivad (MINECO) and FEDER through the project CICYT HARCRICS DPI2014-58104-R and DGT project SPIP2014-01352, by the Secretaria d’Universitats i Recerca del Departament d’Economia i Coneixement de la Generalitat de Catalunya (2014-SGR-1506). Our research is also kindly supported by NVIDIA Corporation in the form of different GPU hardware.

References

  • [1] A. Carvalho, S. Lefévre, G. Schildbach, J. Kong and F. Borrelli, “Automated driving: The role of forecasts and uncertainty—A control perspective”, European Journal of Control, 24,pp 14-32, , 2015.
  • [2] C. Urmson. ”The self-driving car logs more miles on new wheels” Googleblog, Aug. 2012. Available: http://googleblog.blogspot.hu/2012/08/the-self-driving-car-logs-more-miles-on.html
  • [3] J. Muller. ”With Driverless Cars, Once Again It Is California Leading The Way. ” Forbes.com, Sep. 2012. Available: http://www.forbes.com/sites/joannmuller/2012/09/26/with-driverless-cars-once-again-it-iscalifornia-leading-the-way/
  • [4] A. Broggi, ”VIAC: The VisLab Intercontinental Autonomous Challenge.” Vislab, Nov. 2010. Available: http://viac.vislab.it
  • [5] L. Gannes. ”Google Introduces New Self Driving Car at the Code Conference - Re/code”. Re/code, 2014.
  • [6] T. Halleck, ”Google Inc. Says Self-Driving Car Will Be Ready By 2020”. International Business Times, 2015.
  • [7] M. Aicardi, G. Casalino, A.Bicchi, A. Balestrino, ”Closed loop stering of unicycle-like vehicles via Lyapunov techniques”, IEEE Robotics and Automation Magazine, pp. 27-35, March 1995.
  • [8] B. Siciliano, O. Khatib, and F. Groen, The DARPA Urban Challenge: Autonomous Vehicles in City Traffic, vol. 56. Springer, 2009.
  • [9] W. Gao, John Y. Hung and James C. Hung. Variable Structure Control: A Survey. IEEE, 1993.
  • [10] J. Slotine and W. Li. Applied Nonlinear Control. Prentice-Hall, 1991.
  • [11] R. Solea and U. Nunes, ”Trajectory Planning and Sliding-Mode Control Based Trajectory-Tracking for Cybercars”, Integrated Computer-aided Engineering, Int. Journal, IOS Press, vol.14, n.1, pp.33-47, 2007.
  • [12] W. Dixon, D. Dawson, E. Zergeroglu and A.Behal, “Nonlinear Control of Wheeled Mobile, Springer-Verlag New York, Inc. Secaucus, NJ, USA 2001