CONTROL OF A NON-HOLONOMIC MOBILE ROBOT
NOOR ASYIKIN BINTI SULAIMAN
A project report submitted in partial fulfilment of the
requirements for the award of the degree of
Master of Electrical Engineering (Mechatronics and Automatic Control)
Faculty of Electrical Engineering
Universiti Teknologi Malaysia
MAY 2007
iii
To my beloved parents, husband and son
iv
ACKNOWLEDGEMENT
Firstly, I would like to thank my supervisor, Assoc. Prof. Dr. Mohamad Noh,
for all his teachings and guidance, his criticism on me and my work, and his help on
this project. I would also like to thank all my colleagues and friends for their help,
discussions and information sharing. Finally I would express my special thanks to
my loving and caring husband, my adorable son and my loving parents for all their
love, sacrifice, understanding and support.
succeeded.
Without them, I could never be
v
ABSTRACT
Non-holonomic system is a mechanical system that is subject to nonholonomic constraints. They are the constraints on the velocity of the system which
can not be integrated into position constraints that can be used to reduce the number
of generalized coordinates. Mobile robots constitute a typical example of nonholonomic systems.
In this project, the application of two different types of
kinematics controller are examined and analysed. Both of the controllers are using
Lyapunov method which is the simplest and successful method in kinematics
stabilization.
The first controller guarantees to be global asymptotically stable
tracking control and the second controller guarantees to be asymptotically stable
tracking control. Both controllers are able to control a non-holonomic mobile robot
to track the desired trajectory.
SIMULINK/MATLAB.
All simulations are performed using
vi
ABSTRAK
Sistem tidak berholonomi adalah sejenis mekanikal sistem yg mempunyai
sekatan tidak berholonomi. Ia adalah sekatan terhadap halaju sistem yang tidak
boleh disatukan dengan sekatan kedudukan untuk mengurangkan jumlah koordinat
sesuatu sistem. Robot bergerak adalah salah satu contoh sistem tidak berholonomi.
Di dalam projek ini, penggunaan dua jenis pengawal kinematik yang berlainan diuji
dan dianalisis. Kedua-dua pengawal ini menggunakan kaedah Lyapunov. Pengawal
jenis ini adalah kaedah yang paling mudah dan berjaya digunakan di dalam
penstabilan kinematik.
Kedua-dua pengawal tersebut mampu mengawal robot
bergerak tidak berholonomi untuk menjejaki laluan yang dikehendaki.
simulasi dilakukan dengan menggunakan SIMULINK/MATLAB
Semua
vii
TABLE OF CONTENTS
CHAPTER
1
2
TITLE
PAGE
DECLARATION
ii
DEDICATION
iii
ACKNOWLEDGEMENT
iv
ABSTRACT
v
ABSTRAK
vi
TABLE OF CONTENTS
vii
LIST OF TABLES
x
LIST OF FIGURES
xi
LIST OF SYMBOLS
xiii
INRODUCTION
1
1.1 Project Introduction
1
1.2 Objectives
3
1.3 Scopes of Project
3
1.4 Methodology
4
1.5 Thesis Outline
5
LITERATURE REVIEW
6
2.1
Introduction
6
2.2
Mobile Robot
6
2.3
Non-Holonomic System
7
2.4
Control Techniques
8
2.4.1
Kinematics Control
8
2.4.2
Dynamic Control
9
viii
3
2.4.3
Adaptive Control
10
2.4.4
Intelligent Control
11
2.4.5
Robust Control
12
2.4.6
Motion Planning
12
2.5 Chapter Summary
13
MATHEMATICAL MODELLING OF
14
NON-HOLONOMIC MOBILE ROBOT
4
3.1
Introduction
14
3.2
Non-Holonomic Mobile Robot
15
3.3
Vehicle Kinematics
16
3.4
Chapter Summary
18
CONTROL OF A NON-HOLONOMIC
19
WHEELED MOBILE ROBOT
4.1
Introduction
19
4.2
Globally Asymptotically Stable Tracking
19
Control
4.2.1
Architecture of Tracking Control
19
4.2.2
Error Posture Block
20
4.2.3
Control Rule Block and
23
Its Stability
5
4.2.4
Effects of Control Parameters
29
4.2.5
Maximum Velocity Limiting
33
4.3
Asymptotically Stable Tracking Control
34
4.4
Chapter Summary
37
SIMULATION RESULTS AND ANALYSIS
38
5.1
Introduction
38
5.2
MATLAB and SIMULINK
38
5.3
SIMULINK Model
40
5.4
Simulation Result
44
5.4.1
Circular Input
44
5.4.2
Straight Line Input
48
ix
5.4.3
6
REFERENCES
Ramp Input
51
5.5 Chapter Summary
55
CONCLUSION
56
6.1
Introduction
56
6.2
Conclusion
56
6.3
Future Works
57
59
x
LIST OF TABLES
TABLE NO.
TITLE
PAGE
4.1
Routh-Hurwitz table for globally asymptotically
27
stable controller
4.2
Routh-Hurwitz table for asymptotically stable
34
controller
5.1
Inputs for simulation
38
6.1
Table of summary
54
xi
LIST OF FIGURES
FIGURE NO.
TITLE
PAGE
1.1
ASIMO, a humanoid robot manufactured by Honda 2
1.2
Methodology of the project
4
3.1
Non-holonomic mobile robot
15
4.1
Architecture of tracking control
20
4.2
Reference and current posture
21
4.3
Concept of error posture
21
4.4
Various damping response
32
5.1
Simulation model using MATLAB/SIMULINK
41
5.2
Error block
42
5.3
Control block by Kim’s controller
42
5.4
Control block by Kanayama’s controller
43
5.5
Kinematics block
43
5.6
Circular trajectory
45
5.7
Position error - ye
45
5.8
Position error - xe
46
5.9
Position error - θe
46
5.10
Linear velocity
47
5.11
Angular velocity
47
5.12
Straight line trajectory
48
5.13
Position error - ye
49
5.14
Position error - xe
49
5.15
Position error - θe
50
5.16
Linear velocity
50
xii
5.17
Angular velocity
51
5.18
Ramp trajectory
52
5.19
Position error - ye
52
5.20
Position error - xe
53
5.21
Position error - θe
53
5.22
Linear velocity
54
5.23
Angular velocity
54
xiii
LIST OF SYMBOLS
ν
-
Linear velocity
ω
-
Angular velocity
θ
-
Heading angle
ζ
-
Damping ratio
ωn
-
Natural frequency
νr
-
Reference velocity
CHAPTER 1
INTRODUCTION
1.1
Project Introduction
Mobile robots are mechanical devices that are equipped with an on-board
power source, computational resources, sensors and actuators. They are able to
move autonomously and freely to perform their task. These mobile vehicles can be
operated in large buildings (such as shopping centre, hospital and warehouse),
nuclear waste facility, security and defence industry, transportation sector, inspection
process and planetary exploration. The interest in investigating and developing
mobile robots has become increasingly relevant and beneficial to human society and
industry. There has been active and rapid development in this area pertaining to its
research and implementation. Recent advances in computer and sensor technologies
have made it feasible and practical to design and develop new and innovative mobile
robots that can effectively serve as utility vehicles and material transporters.
2
Figure 1.1: ASIMO, a humanoid robot manufactured by Honda
One of the important aspects of the mobile robot systems is related to its
motion or navigation control. The issue of control problem is not only dependent on
the kinematics and dynamics of the mobile robot system but also the actual
individual elements of the control itself. Without a good control system, a mobile
robot is practically useless and ineffective. Therefore, the development of a mobile
robot is significantly influenced by the proper design of the control system. A
variety of theoretical and applied control problems of mobile robot system have been
studied and proposed such as kinematics control, dynamic control, intelligent
control, adaptive control, and robust control.
3
Meanwhile, substantial research has been devoted to motion planning. The
motion planning objective is to transfer a system from a specified initial state to a
specified final state while motion control is to solve the three basic navigation
problems; tracking a reference trajectory, path following and stabilization about a
desired posture.
In this thesis, a study on kinematics modelling and a design of two stable
tracking controllers of non-holonomic wheeled mobile robot using Lyapunov, which
capable to track a reference trajectory will be presented. Then both controllers will
be discussed in terms of their advantages and disadvantages.
1.2
Objectives
The objective of this project is to design two different stable tracking
controllers to control the non-holonomic mobile robot to track a reference trajectory.
Then, the simulation will be performed using MATLAB/SIMULINK.
1.3
Scopes of Project
This project was carried out within the following frame of work;
(i)
The non-holonomic mobile robot considered in this project is a
tricycle-type mobile robot.
(ii)
This project considered only kinematics model.
(iii)
It is assumed that there is no slipping between the wheels and the
floor and mobile robot travels at low speed.
4
(iv)
All
simulation
works
are
to
be
conducted
using
MATLAB/SIMULINK software.
1.4
Methodology
Generally, the method used to accomplish this project is described in Figure
1.1. First of all, understanding on nonholonomic wheeled mobile robot is crucial to
start the project. Therefore, the first step is to study on nonholonomic wheeled
mobile robot system. Secondly, study on mathematical modelling of the robot.
Then, the designs of the tracking controller based on two different types of controller
and perform the simulation using MATLAB/SIMULINK. Last but not least, the
actual output response is compared with the desired output response.
Study on nonholonomic mobile robot
Study on mathematical modelling
Design a controller
Simulate using MATLAB/SIMULINK
Compare the actual output response with the desired output response
Figure 1.2: Methodology of the project
5
1.5
Thesis Outline
This thesis consists of six chapters. Chapter I provides some background of
the project, the objectives, the scope of studies and the methodologies. Chapter II
contains the literature review on non-holonomic system and also on a number of
control techniques applied to the mobile robot that were proposed by some
researchers.
Chapter III entails the kinematic modeling of the nonholonomic
wheeled mobile robot system. Chapter IV follows with the design of a stable
tracking control using Lyapunov. Simulation results, analysis and discussion of the
performance of both the techniques are presented in Chapter V. The work is then
concluded in Chapter VI with some suggestions and future works.
CHAPTER 2
LITERATURE REVIEW
2.1
Introduction
This chapter will discuss on wheeled mobile robot, non-holonomic system
and also on a number of control techniques applied to the mobile robot that were
proposed by some researchers.
2.2
Mobile Robot
Generally, robots can be divided into two categories, which are non-mobile
and mobile robots. Each type of robot has different advantages depending on its
application. One of the advantages of mobile robot is in term of its mobility and
manoeuvrability. Hence, mobile robot are more preferred to be able to operate in
everyday environments, with all the normal variations and uncertainties that are
characteristics of the laces in which humans work, live, and play.
7
Usually, mobile robot requires two driven motors for driving wheels and
freely castor wheel for stability of mobile robot. Through its wheels, it can navigate
as accurately as the other types of robot.
2.3
Non-holonomic System
The motion of a mechanical system can be subject to various geometric and
kinematics constraints which will restrict the admissible positions or velocities of the
system.
Non-holonomic system is a mechanical system with nonintegrable
kinematics constraints which cannot be reduced to geometric constraints. Integrable
kinematics constraints are essential geometric constraints. Due to these constraints,
control schemes developed for holonomic system such as robot manipulator are not
applicable for non-holonomic systems.
A basic assumption of a non-holonomic system is that the motion should
have a roll or slide contact without slip. In a simple term, Braunl [1] described a
non-holonomic system as a one that cannot navigate in all possible direction. A
simple example of a non-holonomic system is a rolling of wheels without slipping on
a plane.
There are many example of non-holonomic system such as coupled rigid
bodies, space manipulators and wheeled mobile robot. In this project, only wheeled
mobile robot will be discussed.
Wheeled mobile robots have non-holonomic
constraints since it possess only two degrees of freedom which are linear velocity, ν
and rotational velocity, ω for locomotion control but in term of positioning, it has
three degree of freedom, x, y and θ.
8
2.4
Control Techniques
Control of non-holonomic systems has been widely studied considering
classical mechanics with reference to the system kinematics and dynamic models.
One of the early methods of mobile robot control was kinematics control. It is
assumed that the masses and the inertias of the mobile robot and the wheels are
negligible.
Usually, the control input for the kinematics control model is the
velocity.
Another control technique is dynamic control model. It is rather complicated
since it involves a number of parameters such as mass, centre of gravity, force,
torque, speed, acceleration and mass moment of inertia.
Then a number of
researchers have investigated the application of dynamic control that also
incorporates elements of adaptive control, intelligent control, robust control and etc.
Various types of control methods and some examples will be discussed here.
2.4.1
Kinematics Control
There are a number of research works which specifically employ kinematics
control to non-holonomic mobile robot. In most literatures, the non-holonomic
tracking problem is simplified by neglecting the vehicle dynamics and considering
only the steering system. It is often assumed that the mobile robot systems fulfil
perfect velocity tracking. In general, these proposed controllers have successfully
driven the trajectory tracking error to converge to zero asymptotically. Nevertheless,
the use of kinematics control remains inadequate in terms of providing good
stability, manoeuvrability and robustness when the robot is operated in the presence
of disturbances and uncertainties.
9
Kanayama et al. [2] proposed a stable tracking control method for an
autonomous mobile robot.
The main objective of the control rule is to find a
reasonable target and applying linear and rotational velocities ( ν, ω) to actuate the
mobile robot for the tracking purpose. By using a Lyapunov function, the control
algorithm has been proven in its ability to achieve mobile robot stabilization with
asymptotically stable concept.
A lot of research showed the stable tracking control laws for mobile robots,
but few results showed the globally asymptotically stability. Kim et al. [3] has
proposed a globally asymptotically stable tracking control law for mobile robot with
non-holonomic velocity constraints. It considered a posture of mobile robot and
error state in the control law. The stability of the controller is derived by Lyapunov
method.
2.4.2
Dynamic Control
The current trend in the motion control of mobile robot is to develop and
incorporate the dynamic control model into the system. By reckoning the mass and
inertia factors, the dynamic model is in actual fact approaching closer to the real
system compared to the kinematics model. Generally, the main equation of motion
that is employed in dynamic control model is derived from the Euler-Lagrange
method. It contains a number of essential parameters such as the symmetric and
positive definite inertia matrix, coriolis and centrifugal torque vectors, gravitational
torque vector and the matrix associated with the constraints (including disturbances).
Fiero and Lewis [4] proposed a dynamic control that is extended to integrate
the kinematics controller with a torque controller into the non-holonomic mobile
10
robot system. This method combines both the kinematics and torque control laws
that is developed through a back-stepping approach. It is asymptotically stable and
guaranteed to converge through the derivative of a Lyapunov function.
The
advantage of this control algorithm is that it can be readily applied to the three basic
non-holonomic navigation problems; tracking a reference trajectory, path following
and stabilization about a desired posture.
2.4.3
Adaptive Control
For tracking and stabilization problem to a fixed posture when the dynamic
model of the mobile robot contains unknown parameters, many researchers have
developed a number of adaptive control methods. Most adaptive control methods
use a back-stepping technique, where the stability is proven by Lyapunov theory.
Colbaugh et al. [5] proposed an adaptive control schemes for the tracking and
fixed posture stabilization when the mobile robot contains unknown parameters.
They offer two adaptive controllers as solutions.
First, an efficient trajectory
generation algorithm combined with an adaptive tracking strategy is developed to
provide simple and effective method for driving the non-holonomic system to any
specified goal configuration. Secondly, the motion control objective is achieved
using a stabilizing control law developed using ideas from homogenous system
theory and performance-based adaptive control.
Fukao et al. [6] presented the integration of kinematics and torque controller
for the dynamic model of a non-holonomic wheeled mobile robot. In their design, a
new kinematics adaptive controller is proposed, and then a torque adaptive controller
is derived using the kinematics controller. The torque controller is designed using
11
back-stepping method so that the velocity of the mobile robot converges to the
desired one.
2.4.4
Intelligent Control
A number of intelligent control techniques applied to mobile robot have been
proposed by various researchers such as the use of fuzzy logic, neural network,
neuro-fuzzy, iterative learning or its hybrid. The main aim of the use of various
control methods is to achieve a better overall performance.
Hu and Yang [7] presented a neural network controller, which is the
combination of both kinematics and dynamic control, where both the robot dynamics
and geometric parameters are completely unknown.
System’s stability and the
convergence of the tracking errors are rigorously proved by using Lyapunov stability
theory. The control of mobile robot is achieved through the online learning of the
neural network.
Wang and Yang [8] developed a neuro-fuzzy control system for obstacle
avoidance of a non-holonomic mobile robot. A combination of four infrared sensors
is equipped to detect the distance of obstacles around the mobile robot. The distance
information is processed by the proposed neuro-fuzzy controller to adjust the
velocities of two separate driven wheels of the robot.
12
2.4.5
Robust Control
Yang et al [9] have proposed a tracking control of non-holonomic mobile
robot using variable structure system. The posture of mobile robot is presented in
polar coordinates and a sliding mode control algorithm is presented for
asymptotically stabilization of the mobile robot to a desired trajectory. The designed
system is robust to disturbance perturbations and measurement errors.
Lin et al [10] have proposed a robust damping control (RDC) for the tracking
control of wheeled mobile robots in the presence of unknown dynamics and bounded
disturbances. Compare with conventional robust control schemes such as saturationtype control, RDC does not require any knowledge of the bounds of the
uncertainties.
RDC controller has a fairly simple structure and can be easily
implemented in real systems.
2.4.6 Motion Planning
Motion planning techniques can be basically as differential geometric,
geometric phase and optimal control. Kolmanovsky and McClamroch [11] discussed
a more complete review of non-holonomic motion planning schemes The idea of
using piecewise constant input to generate motions in the directions of iterated Lie
brackets has been proposed for the kinematics models of the non-holonomic systems
by Li and Canny [12]. Fernandes et al. [13] have proposed that optimal control can
also be used to find feasible paths for the non-holonomic systems. One can use the
variational principle to find the control satisfying necessary optimization condition.
The optimal control depends on the solution of the nonlinear two-point boundary
value problem which can be solved using numerical methods.
13
2.5
Chapter Summary
In this chapter, a brief introduction on types of mobile robot, on a nonholonomic system and also on a number of control techniques applied to the mobile
robot that were proposed by some researchers were presented.
The earliest proposed control technique was kinematics control model. It is a
simple method, but yet a successful method to control the wheeled mobile robot.
Later, in the middle of 90s, a new control technique was introduce, which is dynamic
control model. Then a number of researchers have investigated the application of
dynamic control that also incorporates elements of adaptive control, intelligent
control, and robust control.
discussed on this chapter.
Some of the control techniques have been briefly
CHAPTER 3
MATHEMATICAL MODELLING OF NON-HOLONOMIC MOBILE
ROBOT
3.1
Introduction
The motion of a mechanical system can be subject to various geometric and
kinematics constraints which will restrict the admissible positions or velocities of the
system. Unlike the geometric constraints, the kinematics constraints usually cannot
be used to reduce the number of generalized coordinates.
Holonomic comes from the Greek word that means ‘whole’ or integer. A
system, whose constraints, if any, are all holonomic, is called a holonomic system.
The holonomic constraints are the constraints that can be integrated as typically
introduced by mechanical interconnections between the various bodies of the system.
Meanwhile, a non-holonomic system is a mechanical system with non-integrable
kinematics constraints which cannot be reduced to geometric constraints. Integrable
kinematics constraints are essential geometric constraints.
15
3.2
Non-holonomic Mobile Robot
The non-holonomic mobile robot shown in Figure 3.1 consists of two driving
wheels mounted on the same rear axis and a front free wheel. In the sequel, it
assumed that its body is rectangular though any polygonal shape would lead to
similar results. The robot moves on a horizontal plane. The contact of each wheel
with the ground is assumed to satisfy the rolling without slipping condition.
Figure 3.1: Non-holonomic mobile robot
From Figure 3.1, x and y are the Cartesian coordinates of the centre of mass
of the vehicle and θ is an heading angle of the vehicle, taken counter clockwise from
the X-axis.
16
3.3
Vehicle Kinematics
Consider a set of constraints linear in the generalized velocities as below;
A( p ) p = 0
(3.1)
Where A(p) is an m x n constraint matrix and p is the n-vector of generalized
coordinates, and also known as a robot posture . The constraints in equation (3.1)
are assumed to be nonholonomic constraints which are nonintegrable and cannot be
reduced to geometric constraints. From Figure 3.1, the nonholonomic constraint
arises from the zero sideways velocity of the wheels can be written as;
− x sin θ + y cos θ = 0
(3.2)
From equation (3.2), the matrix of A (p) and p can be obtained as below;
A( p) = [− sin θ
cosθ
⎡ x⎤
0] and p = ⎢⎢ y ⎥⎥
⎢⎣θ ⎥⎦
Since the robot has a locomotion capability in the plane, the posture p is in
fact a function of time t. Then, let S (p) be a full rank matrix (n-m) formed by a set of
smooth and linearly independent vector fields spanning the null space of A (p);
A( p ) J ( p ) = 0
(3.3)
17
[− sin θ
cos θ
⎡ J 11
0]⎢⎢ J 21
⎢⎣ J 31
J 12 ⎤
J 22 ⎥⎥ = 0
J 32 ⎥⎦
Therefore,
− J 11 sin θ + J 21 cosθ = 0
(3.4)
− J 12 sin θ + J 22 cosθ = 0
(3.5)
Let J 11 = cosθ and J 21 = sin θ , then equation (3.4) becomes;
− sin θ cosθ + cosθ sin θ = 0
Let J 12 = 0 , then;
J 22 cos θ = 0
∴ J 22 = 0
Since J12 = J 22 = 0, J 32 can be set equal to 1. It cannot be set to zero because
this will result a zero vector. Therefore, the matrix of J(p) is;
⎡cos θ
J ( p ) = ⎢⎢ sin θ
⎢⎣ 0
0⎤
0⎥⎥
1⎥⎦
(3.6)
The vehicle’s motion is controlled by its linear velocity, ν and rotational
velocity, ω which are also functions of time. The vehicle’s kinematics is defined as
follows;
18
⎡cos θ
⎡ x ⎤
⎥
⎢
p = ⎢ y ⎥ = Jq = ⎢⎢ sin θ
⎢⎣ 0
⎢⎣θ ⎥⎦
0⎤
⎡v⎤
0⎥⎥ ⎢ ⎥
ω
1⎥⎦ ⎣ ⎦
(3.7)
The linear velocity and rotational velocity are controlled by its accelerator
and steering wheel or handle, respectively.
In this project, only kinematics model is considered, which represents the
relationship between postures and velocities of the described non-holonomic
wheeled mobile robot. The dynamic model is not considered in order to simplify the
analysis. It is known that this simplification is acceptable when the system velocities
are low, as is in most mobile robot applications [14].
3.4
Chapter Summary
In this chapter, a mathematical modeling of a non-holonomic wheeled mobile
robot is derived from the robot’s kinematics. The robot used in this research work is
a tri-cycle type with two driving wheels mounted on the same rear axis and a front
free wheel. The robot’s motion is controlled by its linear velocity, ν and rotational
velocity, ω which are also functions of time. The modeling is then will be used to
control the robot and will be described later in next chapter.
CHAPTER 4
CONTROL OF A NON-HOLONOMIC WHEELED MOBILE ROBOT
4.1
Introduction
This chapter discusses about two different kinematics controllers: globally
asymptotically stable tracking control and asymptotically stable tracking control
proposed by Kim et al. [3] and Kanayama et al. [2], respectively. Both controllers
were designed using Lyapunov stability theory. Basically, the architecture of both
controllers is same except for their control rule. The design details in each controller
are presented here.
4.2
Globally Asymptotically Stable Tracking Control
4.2.1
Architecture of Tracking Control
Figure 4.1 shows the architecture of a tracking control system for the nonholonomic mobile robot.. The global input of the system is the reference posture,
20
pr= [xr, yr, θr]’ and reference velocities, qr= [νr, ωr]’, which are variables of time.
The global output of the system is the current posture, pc. The purpose of this
tracking controller is to nullify the error posture to 0.
qr(t)
Pr(t)
Error
Control
rule
Velocity
limiting
Robot’s
kinematic
Integration
Figure 4.1: Architecture of tracking control
The first block, which is an error block, calculates an error posture from pr
and pc. The second is the control rule block for the non-holonomic mobile robot,
which calculates target velocities, q= [ν, ω]’ using the quantity of error posture, pe,
orientation of mobile robot and the reference velocities.
The velocity limiting block is transforming target velocities to mobile robot’s
real current velocities. The fourth block contains the robot kinematics to produce the
derivative of a current posture, p c as in equation (3.7). The last but not least is
integration box to change from p c to p c .
4.2.2
Error Posture Block
In this control system, two postures are used; a reference posture,
p r = [x r
yr
θ r ]T and a current posture, pc = [xc
yc θ c ] .
T
The reference
Pc(t)
21
posture is a goal posture of the robot and the current posture is its real posture at that
particular moment. The postures are as illustrated in Figure 4.2.
Figure 4.2: Reference and current posture
Figure 4.3 represents the concept of error posture, pe which is a
transformation of the reference posture, pr in a local coordinate system with an origin
of (xc, yc) and an X-axis in the direction of θc. In the other words, it calculates the
location of the robot at each time step.
Figure 4.3: Concept of error posture
22
The error posture, pe is obtained as follow;
xe = a + b
where a =
(4.1)
x r − xc
cos θ c
y sin θ c
b'
= e
cos θ c
cos θ c
and b =
ye = c − d
where c =
and d =
(4.2)
yr − yc
cos θ c
x sin θ c
d'
= e
cosθ c
cosθ c
θe = θr − θc
(4.3)
Then, substitute equation (4.2) into equation (4.1);
xe =
x r + y e sin θ c − xc
cos θ c
⎡ y − xe sin θ c − y c ⎤
xr + ⎢ r
⎥ sin θ c − xc
cos θ c
⎣
⎦
xe =
cos θ c
⎡ y − xe sin θ c − y c ⎤
xe cos θ c = x r + ⎢ r
⎥ sin θ c − xc
cos
θ
c
⎣
⎦
x e cos 2 θ c = x r cos θ c + ( y r − x e sin θ c − y c ) sin θ c − x c cos θ c
x e (cos 2 θ c + sin 2 θ c ) = ( x r − x c ) cos θ c + ( y r − y c ) sin θ c
xe = ( x r − xc ) cos θ c − ( y r − y c ) sin θ c
(4.4)
23
Substitute equation (4.2) with equation (4.1);
ye =
y r − xe sin θ c − y c
cos θ c
⎡ x + y e sin θ c − xc ⎤
yr − ⎢ r
⎥ sin θ c − y c
cos θ c
⎣
⎦
ye =
cos θ c
⎡ x + y e sin θ c − xc ⎤
y e cosθ c = y r − ⎢ r
⎥ sin θ c − y c
cos θ c
⎣
⎦
y e cos 2 θ c = y r cos θ c − ( x r + y e sin θ c − x c ) sin θ c − y c cos θ c
y e (cos 2 θ c + sin 2 θ c ) = ( y r − y c ) cos θ c − ( x r − x c ) sin θ c
y e = ( y r − y c ) cos θ c − ( x r − x c ) sin θ c
(4.5)
Equation (4.4), (4.5) and (4.3) can be written in a vector form as follows;
⎡ cos θ c
p e = Te ( p r − pc ) = ⎢⎢− sin θ c
⎢⎣ 0
4.2.3
sin θ c
cos θ c
0
0⎤ ⎡ x r − x c ⎤
0⎥⎥ ⎢⎢ y r − y c ⎥⎥
1⎥⎦ ⎢⎣θ r − θ c ⎥⎦
(4.6)
Control Rule Block and Its Stability
In this section, a stable control rule will be developed using a Lyapunov
function [15]. Tracking control always requires feed forward actions to provide the
force necessary to make the required motion.
controller are in the form of;
u = feed forward + feedback
Many control rules of tracking
24
or in a similar form. The feed forward part intends to provide the necessary input for
following the specified motion trajectory and the feedback part stabilizes the tracking
error. In this system, the control rule for the target velocities using the error posture,
pe, the orientation of mobile robot and the reference velocities are as follows;
v r cos θ e + K x xe − K θ θ eω
⎡
⎤
⎡v⎤ ⎢
sin θ e ⎥
vr
q=⎢ ⎥=
⎣ω ⎦ ⎢ω r + 2 [ K y ( y e + K θ θ e ) + K ]⎥
θ
⎣
⎦
(4.7)
where Kx, Ky and Kθ are positive constants. The first term in each velocity is a feed
forward part. The term ( y e + K θ θ e ) represents the posture of mobile robot. The
more mobile robot face to desired position, the less the value of ( y e + K θ θ e )
increases.
The derivative of equation (4.6) is obtained as below;
xe = ( x r − xc ) cos θ c + ( y r − y c ) sin θ c
x e = ( x r − x c ) cos θ c + ( y r − y c ) sin θ c − ( x r − x c )θc sin θ c + ( y r − y c )θc cos θ c
= y eω c − vc + x r cos θ c + y r sin θ c
= y eω c − vc + x r cos(θ r − θ e ) + y r sin(θ r − θ e )
= y eω c − vc + x r (cos θ r cos θ e + sin θ r sin θ e ) + y r (sin θ r cos θ e − cos θ r sin θ e )
= y eω c − vc + ( x r cos θ r + y r sin θ r ) cos θ e + ( x r sin θ r + y r cos θ r ) sin θ e
= y eω c − vc + v r cos θ e
(4.8)
y e = −( x r − xc ) sin θ c + ( y r − y c ) cos θ c
y e = −( x r − x c ) sin θ c + ( y r − y c ) cos θ c − ( x r − x c )θc cos θ c − ( y r − y c )θc sin θ c
= − xeω c + x c sin θ c − y c cos θ c − x r sin θ c + y r cos θ c
= − xeω c + x r sin(θ r − θ e ) + y r cos(θ r − θ e )
25
= − xeω c + x r (sin θ r cos θ e − cos θ r sin θ e ) + y r (cos θ r cos θ e + sin θ r sin θ e )
= − xeω c + ( x r cos θ r + y r sin θ r ) sin θ e + ( y r cos θ r − x r sin θ r ) cos θ e
= − xeω c + v r sin θ e
(4.9)
θe = θr − θc
θe = θr − θc = ω r − ω c
(4.10)
The derivative of pe, equation (4.8) until equation (4.10), can be expressed in
a vector-matrix form as;
⎡ x e ⎤ ⎡ y eω c − vc + v r cos θ e ⎤
p e = f (t , p e ) = ⎢⎢ y e ⎥⎥ = ⎢⎢ − xeω c + v r sin θ e ⎥⎥
⎥⎦
⎢⎣θe ⎥⎦ ⎢⎣
ωr − ωc
(4.11)
Let assume:
⎡v ⎤ ⎡v ⎤
qc = ⎢ c ⎥ = ⎢ ⎥ = q
⎣ω c ⎦ ⎣ω ⎦
(4.12)
This perfect velocity tracking assumption simplifies the forth coming
analysis. Then, equation (4.11) will become;
⎡ x e ⎤ ⎡ y eω − v + v r cos θ e ⎤
p e = f (t , p e ) = ⎢⎢ y e ⎥⎥ = ⎢⎢ − xeω + v r sin θ e ⎥⎥
⎥⎦
⎢⎣θe ⎥⎦ ⎢⎣
ωr − ω
(4.13)
Equation (4.11) demonstrates that p e is a function of pe, pr and q (pe, qr).
Since pr and qr are functions of time t, p e can be considered as a function of time t
and pe. Let substitute equation (4.11) by equation (4.7), then;
26
⎤
⎡
sin θ e
vr
}] − K x xe ⎥
⎢( y e + K θ θ e )[ω r + {K y ( y e + K θ θ e ) +
2
Kθ
⎡ x e ⎤ ⎢
⎥
sin θ e
vr
⎢
⎥
⎢
− [ω r + {K y ( y e + K θ θ e ) +
}] xe + v r sin θ e ⎥
p e = f (t , p e ) = ⎢ y e ⎥ =
⎥
⎢
Kθ
2
⎢⎣θe ⎥⎦ ⎢
⎥
sin θ e
vr
⎥
⎢
− {K y ( y e + K θ θ e ) +
}
⎥⎦
⎢⎣
Kθ
2
(4.14)
In a control system, the first and most important criterion is the stability
because an unstable control system is typically useless and potentially dangerous. A
system is described as stable if starting the system somewhere near its desired
operating point implies that it will stay around the point ever after. The most useful
and general approach for studying the stability of nonlinear control system is the
theory introduced by Russian mathematician Alexandr Mikhailovich Lyapunov.
There are two methods that have been introduced by Lyapunov, that are
direct method and linearization method. The direct method determines the stability
properties of a nonlinear system by constructing a scalar “energy-like” function for
the system and examining the function’s time variation. The linearization method
draws conclusions about a nonlinear system’s local stability around an equilibrium
point from the stability properties of its linear approximation.
Let a scalar function V below as a Lyapunov function candidate;
V=
1 − cos θ e
1 2 1
xe + ( y e + K θ θ e ) 2 +
Ky
2
2
(4.15)
Definitely, V ≥ 0 where V = 0 at pe = 0 and V > 0 when pe ≠ 0. Consequently,
V is positive definite and the time derivative of V as shown below is negative definite
because V < 0 at pe ≠ 0 and V = 0 at pe = 0.
asymptotically stable equilibrium point [15].
Therefore, pe = 0 is globally
27
θ sin θ e
V = x e xe + ( y e + K θ θe )( y e + K θ θ e ) +
Ky
(4.16)
sin θ e V = x e xe + ( y e + K θ θ e ) y e + [ K θ ( y e + K θ θ e ) +
]θ e
Ky
sin θ e
v
V = [( y e + K θ θ e ){ω r + r [ K y ( y e + K θ θ e ) +
]} − K x xe ]xe
2
Kθ
+ ( y e + K θ θ e )(−[ω r +
+ [ Kθ ( ye + Kθ θ e ) +
= − K x xe −
2
sin θ e
vr
{K y ( y e + K θ θ e ) +
}]xe + v r sin θ e )
2
Kθ
sin θ e
sin θ e
v
](− r {K y ( y e + K θ θ e ) +
Ky
Kθ
2
v sin 2 θ e
vr
K y Kθ ( ye + Kθ θ e ) 2 − r
2
2K y Kθ
By linearizing (4.14) around pe;
⎛ ∂f (t , p e ) ⎞
⎟⎟
p e = ⎜⎜
pe
⎝ ∂p e ⎠ pe =0
Let use the constant matrix A to denote the Jacobian matrix of f (t, pe) with respect pe
at pe=0.
⎛ ∂f (t , pe ) ⎞
⎟⎟
A = ⎜⎜
⎝ ∂p e ⎠ pe =0
⎡
⎢− K x
⎢
= ⎢ − ωr
⎢
⎢ 0
⎣
ωr
−
0
vr K y
2
⎤
⎥
Kθ ωr
⎥
vr
⎥
vr
1 ⎥
− ( K y Kθ +
)⎥
Kθ ⎦
2
A is continuously differentiable and is bounded. Then, the system;
p e = Ape
(4.17)
28
is called the linearization of the original nonlinear system at the equilibrium point 0.
The characteristic equation of A is;
sI − A = a3 s 3 + a 2 s 2 + a1 s + a0 = 0
(4.18)
where;
a3 = 1
a2 =
vr
1
( K y Kθ +
) + Kx
Kθ
2
a1 =
K y vr
a0 =
K x K y vr
2
K x vr
1
2
(K y Kθ +
) + ωr
Kθ
2
+
2
2
+
2
ω r 2 vr
2
( K y Kθ +
1
)
Kθ
Using Routh-Hurwitz;
Table 4.1: Routh-Hurwitz table for globally asymptotically stable tracking controller
s
3
s
2
K y vr
1
K x K y vr
2
K y K θ v r (1 + K y K θ ) + K x v r (1 + K y K θ
2
2
( K y K θ + 2)) + 2 K x K θ v r (1 + K y K θ )
2
s
1
+ 4K x Kθ ω r
2
2
2 K θ v r (1 + K y K θ ) + 4 K x K θ
2
s
0
K x K y vr
2
2
+
ω r 2 vr
2
+
2
vr
1
( K y Kθ +
) + Kx
2
Kθ
3
2
(K y Kθ +
2
1
)
Kθ
2
K x vr
1
2
( K y Kθ +
) + ωr
2
Kθ
2
+
ω r 2 vr
2
(K y Kθ +
1
)
Kθ
29
Since there are no sign changes in the first column of the Routh table, it
shows that the linearized system is stable, and then the equilibrium point is globally
asymptotically stable (for the actual nonlinear system) [15].
4.2.4
Effects of Control Parameters
In previous section, it has been shown that the system is stable for any
combination of parameter values of Kx, Ky and Kθ. However, since it is required a
non-oscillatory but not too slow response of robot, an optimal parameter values
should be determined. In order to simplify the analysis, the situation in which the
reference posture is moving on the x-axis to the positive direction at a constant
velocity νr will only be considered. Mathematically, this condition can be written as
follows;
⎡ x r (t ) ⎤ ⎡v r t ⎤
⎡ v r (t ) ⎤ ⎡v r ⎤
=
p r (t ) = ⎢⎢ y r (t )⎥⎥ = ⎢⎢ 0 ⎥⎥ and q r (t ) = ⎢
ω r (t )⎥⎦ ⎢⎣ 0 ⎥⎦
⎣
⎢⎣θ r (t ) ⎥⎦ ⎢⎣ 0 ⎥⎦
(4.19)
This condition is called the linear reference motion. In addition, it is assumed that;
θ e << 1 and θe << 1
From (4.6) and (4.17);
Te ( p r − p c ) + Te ( p r − p c ) = ATe ( p r − p c )
Te ( p r − p c ) = ATe ( p r − p c ) − Te ( p r − p c )
(4.20)
30
Te ( p r − p c ) = ( ATe − Te )( p r − p c )
−1
p r − p c = Te ( ATe − Te )( p r − pc )
−1
p c = Te ( ATe − Te )( pc − p r ) + p r
(4.21)
Condition (4.19) indicates that θ r = 0 . Therefore;
θ c = θ e << 1 and θc = θe << 1
Thus, Te and Te in (4.21) can be considered as identity matrix and null matrix
respectively as below;
⎡ cos θ c
Te = ⎢⎢− sin θ c
⎢⎣ 0
sin θ c
cos θ c
0
0 ⎤ ⎡1 0 0 ⎤
0⎥⎥ = ⎢⎢0 1 0⎥⎥
1⎥⎦ ⎢⎣0 0 1⎥⎦
⎡0 0 0 ⎤
Te = ⎢⎢0 0 0⎥⎥
⎢⎣0 0 0⎥⎦
Then;
p c = A( p c − p r ) + p r
⎡
⎡ x c ⎤ ⎢− K x
⎢
p c = ⎢⎢ y c ⎥⎥ = ⎢ 0
⎢⎣θc ⎥⎦ ⎢
⎢ 0
⎣
−
0
0
vr K y
2
⎤
⎥ ⎡ x c − v r t ⎤ ⎡v r ⎤
0
⎥⎢
⎥ ⎢ ⎥
vr
⎥ ⎢ yc ⎥ + ⎢ 0 ⎥
v
1 ⎥ ⎢⎣ θ c ⎥⎦ ⎢⎣ 0 ⎥⎦
)⎥
− r (K y Kθ +
2
Kθ ⎦
(4.22)
31
Equation (4.22) shows the behavior of xc is independent from yc and θc.
Then, from equation (4.22), it can be deduced that;
θc =
y
y c
and θc = c
vr
vr
θc = −
vr K y yc
2
−
v rθ c
1
(K y Kθ +
)
Kθ
2
(4.23)
2
vr K y
v y
1
yc + r c ( K y K θ +
)+
=0
Kθ
2
2
Equation (4.23) is in fact in the form of second order system;
yc + 2ζω n y c + ω n = 0
(4.24)
where;
K y Kθ + 1
2
ζ =
Kθ
Ky
2
and ω n = v r
Ky
2
(4.25)
The damping ratio, ζ determines the characteristics of the system transient
response. Figure 4.4 shows that overdamped response is a little bit slower than
critically damped response, and underdamped response is the fastest among the three
responses but it has an overshoot. Thence, it can be deduced that critically damped
response is the fastest possible without overshoot.
32
Figure 4.4: Various damping response
Adopting the critical damping condition, the value of ωn should also be
determined for appropriate response of current posture.
A larger ωn makes
convergence faster, but too larger ωn demands the robot an excessive rotational
velocity. The sampling time robot used in this analysis is Ts = 10ms [2]. The value
of ωn in this analysis is 2.4/sec where the time constant 1/ ωn = 42 ms is sufficiently
larger than the sampling time.
By using linear reference velocity, νr = 0.3 m/s, the value of Ky and Kθ are
then;
Ky = 128/m2 and Kθ =0.03/m
(4.26)
33
A larger Kx makes the convergence faster and reduces a steady state error xe.
However, with a larger Kx, the control system tends to be oscillatory and instable
even in its stop state. Therefore, Kx is chosen as 10/sec.
4.2.5
Maximum Velocity Limiting
A real robot has its maximum linear velocity that it can attain. The target
velocities in equation (4.7) may become too large to be attained by a real robot.
Therefore, to transform the target velocities to robot’s real velocities, a velocity
limitation scheme is introduced in this tracking control system. Besides that, the
linear or rotational acceleration may become too large and causing robot’s slippage.
The maximum linear velocity used is 0.65m/s [2]. With consideration of
condition that even when the robot runs at vˆ and rotates at ω̂ at the same time, the
velocity of the outer wheel should not exceed the maximum velocity. Kanayama et
al. [2] have chosen the maximum velocities as:
(vˆ, ωˆ ) = (0.4ms −1 ,0.8rads −1 )
The accelerations was determined by experiments with which the robot never
slips are;
(aˆ , αˆ ) = (0.5ms −2 ,5rads −1 ) .
34
4.3
Asymptotically Stable Tracking Control
In general, this controller is almost similar with the previous controller. The
difference is only the control rule part, where it calculates the target velocities using
the error posture, pe and the reference velocities only.
v r cos θ e + K x xe
⎤
⎡ v ⎤ ⎡ v( p e , q r ) ⎤ ⎡
q=⎢ ⎥=⎢
=⎢
⎥
⎥
⎣ω ⎦ ⎣ω ( pe , q r )⎦ ⎣ω r + v r ( K y y e + K θ sin θ e )⎦
(4.27)
where Kx, Ky and Kθ are positive constants. The first term in each velocity is
a feed forward part. The time derivative of pe is then;
⎡ x e ⎤ ⎡ (ω r + v r ( K y y e + K θ sin θ e )) y e − K x xe ⎤
⎢
⎥
p e = f (t , p e ) = ⎢⎢ y e ⎥⎥ = ⎢− (ω r + v r ( K y y e + K θ sin θ e )) xe + v r sin θ e ⎥
⎥
⎢⎣θe ⎥⎦ ⎢⎣
− v r ( K y y e + K θ sin θ e )
⎦
(4.28)
Define a Lyapunov function candidate as;
V =
1 2
2
( x e + y e ) + (1 − cos θ e ) / K y
2
The time derivative of V is;
V = x e xe + y e y e + θe sin θ e / K y
V = [(ω r + vr ( K y y e + K θ sin θ e )) y e − K x xe ]xe
+ [−(ω r + v r ( K y y e + K θ sin θ e )) x e + v r sin θ e ] y e
+ [ −v r ( K y y e + K θ sin θ e )] sin θ e / K y
(4.29)
35
= [ω r y e + v r K y y e + v r K θ y e sin θ e − K x xe ]xe
2
+ [−ω r x e − v r K y y e x e − v r K θ x e sin θ e + v r sin θ e ] y e
+ [−v r K y y e − v r K θ sin θ e ]
= − K x xe −
2
sin θ e
Ky
v r K θ sin 2 θ e
≤0
Ky
(4.30)
Definitely, equation (4.29) is positive definite, but equation (4.30) is negative
semi-definite since it does not contain all the error states. Therefore, the use of
linearization method is crucial to draw conclusion about its stability.
Let use the constant matrix A to denote the Jacobian matrix of f (t, pe) with respect pe
at pe=0.
⎡− K x
⎛ ∂f (t , p e ) ⎞
⎢
⎟⎟
= ⎢ − ωr
A = ⎜⎜
⎝ ∂p e ⎠ pe =0 ⎢ 0
⎣
ωr
0
− vr K y
⎤
⎥
vr ⎥
− v r K θ ⎥⎦
0
(4.31)
A is continuously differentiable and is bounded. Then, the system’s characteristic
equation can be computed as;
sI − A = a3 s 3 + a 2 s 2 + a1 s + a0 = 0
where;
(4.32)
36
a3 = 1
a2 = Kθ vr + K x
a1 = K y v r + K x K θ v r + ω r
2
2
a0 = K x K y vr + ω r Kθ vr
2
2
Table 4.2: Routh-Hurwitz table for asymptotically stable controller
s3
1
K y vr + K x Kθ vr + ω r
s2
Kθ vr + K x
K x K y vr + ω r Kθ vr
s
2
Kθ vr K y + K x Kθ vr + K x Kθ vr + K xω r
3
1
2
2
2
2
2
2
2
Kθ vr + K x
K x K y vr + ω r Kθ vr
2
s0
2
Since there are no sign changes in the first column of the Routh table, it
shows that the linearized system is stable, and then the equilibrium point is
asymptotically stable (for the actual nonlinear system) [15].
By considering condition (4.19) and condition (4.20), one get;
p c = A( p c − p r ) + p r
⎡ x c ⎤ ⎡− K x
⎢
p c = ⎢⎢ y c ⎥⎥ = ⎢ 0
⎢⎣θc ⎥⎦ ⎢⎣ 0
0
0
− vr K y
⎤ ⎡ x c − v r t ⎤ ⎡v r ⎤
⎥
v r ⎥ ⎢⎢ y c ⎥⎥ + ⎢⎢ 0 ⎥⎥
− v r K θ ⎥⎦ ⎢⎣ θ c ⎥⎦ ⎢⎣ 0 ⎥⎦
0
(4.33)
Equation (4.33) shows the behavior of xc is independent from yc and θc. Then, from
equation (4.33);
yc + v r K θ y c + v r 2 K y = 0
(4.34)
37
where;
ζ =
Kθ
2 Ky
and ω n = v r K y
(4.35)
By taking the same value of νr, ωn, ζ and Kx as in the previous controller, the values
of Ky and Kθ can be computed;
Ky = 64/m2 and Kθ =16/m
4.4
Chapter Summary
In this chapter, two nonlinear kinematics controls using Lyapunov method,
proposed by Kim et al. [3] and Kanayama et al. [2], were derived. Kanayama et al
[2] proposed a stable tracking control law using Lyapunov direct method and proved
the uniformly asymptotically stable concept using Lyapunov linearization method.
Meanwhile, Kim et al [3] proposed a globally asymptotically stable tracking control
law. Furthermore, Kanayama’s control law considered only the quantity of position
error states of control system, but for Kim’s, they didn’t consider only the position
error states but also the posture of mobile robot. The design procedure has been
discussed clearly in this chapter.
CHAPTER 5
SIMULATION RESULTS AND ANALYSIS
5.1
Introduction
This chapter describes the simulation of the control of a non-holonomic
mobile robot using MATLAB and SIMULINK. The results presented in this chapter
are based on the design that has been stated in previous chapters.
5.2
MATLAB and SIMULINK
MATLAB is a technical computing environment for high performance
numeric computation and visualization. MATLAB integrates numerical analysis,
matrix computation, signal processing and graphics in an easy-to-use environment
where problems and solutions are expressed just as they written mathematically
without traditional programming.
39
MATLAB can extend functionally and versatility with addition of optional
application specific toolboxes. Toolboxes are comprised of suites of MATLAB
function (M-files) written by world-class authorities on each of the respective topic.
MATLAB is an open environment for which many specialized toolboxes have been
developed: Control System, Signal Processing, Optimization, Robust Control,
Micro-analysis and Synthesis (micro-tools), System Identification, MMLE State
Space Identification and Neural Network.
SIMULINK (formerly known as Simulab) is a graphical environment for the
modelling and simulating block diagram and general nonlinear systems. It is a
companion program to MATLAB and an interactive system for simulating nonlinear
dynamic system. It is a graphical mouse-driven program that allows modelling a
system by drawing a block diagram on the screen and manipulating it dynamically.
It can work with linear, nonlinear, continuous, discrete-time, multivariable and multi
rate systems.
Block sets are add-ins to SIMULINK that provide additional libraries of
blocks for specialized applications like communications, signal processing, and
power systems. Real-time workshop is a program that allows to generate C code
from block diagrams and to run it on a variety of real-time system
40
5.3
SIMULINK Model
Figure 5.1 depicts the simulation model of the tracking control system
described in previous chapter. The input block contains the desired trajectory used
in this analysis. There are three types of input used here, which are circular, straight
line and ramp input. Each input consists of five terms, xr, yr, θr, νr, and ωr. For all
inputs, νr is fixed to 0.3m/s as mentioned in previous chapter.
Table 5.1: Inputs for simulation
Type of Input
Input
Remarks
Circular
xr = x + 0.5 sin θ r
x and y represent the
y r = y − 0.5 cosθ r
centre coordinate of the
θ r = ωr t
circle and 0.5 is the radius
v r = 0.3
ω r = 0.6
Straight line
xr = vr t
y r = 0.4
θr = 0
v r = 0.3
ωr = 0
Ramp
xr = vr t
y r = 0.09t + 0.7
θ r = vr
v r = 0.3
ωr = 0
of the circle.
41
Figure 5.1: Simulation model using MATLAB/SIMULINK
42
Figure 5.2: Error block
Figure 5.2 shows the error block to emulate equation (4.4). It calculates an error
from current and reference coordinate.
Figure 5.3: Control block for Kim’s controller
43
Figure 5.4: Control block for Kanayama’s controller
Figure 5.3 and Figure 5.4 show the control block from Kim [3] and
Kanayama [2]. Control block calculates target velocity so that the robot can track
the reference trajectory.
Figure 5.5: Kinematics block
44
Kinematics block in Figure 5.5 produces the derivative of a current
coordinate. It models the equation (3.6).
5.3
Simulation Results
As mention earlier, this project was simulated using three different inputs:
circular, straight line and ramp. Each input has been analyzed in term of its tracking
capability, positioning errors and capability to follow the control input.
5.3.1
Circular Input
Figure 5.6 represents the tracking of a circular trajectory. It shows that
Kanayama’s controller [2] is slightly faster than Kim’s controller [3]. The same goes
to the position error for ye in Figure 5.7, where Kanayama’s controller [2] converge
to ‘0’ faster than Kim’s controller [3]. But position error for xe in Figure 5.8
happened to be alike to each other. Even though θe in Figure 5.9 for Kim’s [3]
converges to ‘0’ slower than Kanayama’s [2], the transient response is better than
Kanayama’s [2]. The reason is, Kim [3] has considered the orientation of mobile
robot in the control rule. The same goes to the transient response in Figure 5.11.
Lastly, Figure 5.10 and Figure 5.11, show that both controllers are able to follow the
control input.
45
Figure 5.6: Circular trajectory
Figure 5.7: Position error-ye
46
Figure 5.8: Position error-xe
Figure 5.9: Position error-θe
47
Figure 5.10: Linear velocity
Figure 5.11: Angular velocity
48
5.3.2
Straight Line Input
In general, the performance of straight line trajectory has not much difference
from the circular input performance. The trajectory tracking and the position error
ye, show that Kanayama’s controller [2] has better performance than Kim’s controller
[3]. Even though Figure 5.14 shows that both controllers converge to ‘0’ at same
time, but the transient response for Kim’s [3] is better than Kanayama’s [2]. Figure
5.15 and Figure 5.17 also show that the transient responses for Kim’s [3] are better
than Kanayama’s [2].
Figure 5.12: Straight line trajectory
49
Figure 5.13: Position error-ye
Figure 5.14: Position error-xe
50
Figure 5.15: Position error-θe
Figure 5.16: Linear Velocity
51
Figure 5.17: Angular Velocity
5.4.2
Ramp Input
The performances for ramp input also quite similar to the performances of
circular and straight line input. It can be seen that from Figure 5.18 to Figure 5.23,
the Kanayama’s [2] show a better result than Kim’s [3]. However, the transient
response for Figure 5.21 and 5.23, show that Kim’s [3] is better than Kanayama’s
[2].
From all the results, it can be concluded that Kanayama’s controller [2] is
able to converge to ‘0’ faster than Kim’s controller [3].
But, in term of the
orientation of mobile robot, the Kim’s [3] has better performance than Kanayama’s
[2].
52
Figure 5.18: Ramp Trajectory
Figure 5.19: Position error-ye
53
Figure 5.20: Position error-xe
Figure 5.21: Position error-θe
54
Figure 5.22: Linear Velocity
Figure 5.23: Angular Velocity
55
5.5
Chapter Summary
This chapter has presented the simulation models and the results of this
research work. All the simulations were performed using MATLAB/SIMULINK
and the performances have been analysed for every input. It can be concluded that
controller proposed by Kanayama et al [2] can nullify the position error to ‘0’
slightly faster than globally asymptotically stable controller proposed by Kim et al
[3]. Despite of that, the transient performances for θe and angular velocity of Kim’s
are better than the one that proposed by Kanayama’s.
CHAPTER 6
CONCLUSION
6.1
Introduction
This chapter presents the conclusion drawn from the present research works.
Suggestion for future works concerning the improvements and upgrading of the nonholonomic mobile robot behaviors is also presented.
6.2
Conclusion
Generally, this project is concerned with the control a non-holonomic mobile
robot to track a reference trajectory by using two different controllers.
The
controllers used in this thesis are using Lyapunov nonlinear controller.
By using the developed model, the mobile robot behaviors are being
simulated using MATLAB and SIMULINK. The simulation model and the results
have been discussed in the previous chapter. Simulation results have shown that
57
asymptotically stable tracking controller proposed by Kanayama et al [2] can nullify
the position error to ‘0’ slightly faster than globally asymptotically stable controller
proposed by Kim et al [3]. In spite of that, the theory presented in chapter 4 has
shown that the controller proposed by Kim is more stable in term of Lyapunov
stability theory.
Kim et al [3] has included orientation of mobile robot in their proposed
control law. As a result, the transient performances for θe and angular velocity are
better than the one that proposed by Kanayama. The summary of this project is
shown in Table 6.1.
Table 6.1: Table of summary
Kim’s controller
Kanayama’s controller
Guarantee globally asymptotically stable
Guarantee asymptotically stable tracking
tracking control law
control law
Control law considers quantity error
posture, reference velocities and
orientation of mobile robot
6.3
Control law considers only quantity error
posture and reference velocities
Slower error convergence
Faster error convergence
Better transient response in term of
Poorer transient response in term of
orientation
orientation
Future Works
One of the limitations of this thesis is lacking out of the experimental setup.
This experiment is a pilot model which may be a scaled model of a non-holonomic
58
mobile robot.
It is used mainly to compare the actual performance with the
simulated performance.
The kinematics controller is usually applied to control the robot position and
motion path. It is assumed that masses as well as inertias of the robot and wheels are
negligible.
Therefore the stability and robustness of the wheeled mobile robot
cannot be analyzed.
The drawback can be overcome by including dynamic
modeling.
In real robot application, there are many kind of physical constraints involved
such as friction effects, vibration of system and obstacles in path. These constraints
can be considered in order to provide a more realistic study and at the same time
improve system performance.
REFERENCES
1. Braunl, T. Embedded Robotic: Mobile Robot Design and Applications with
Embedded Systems. Springer. 2003.
2. Kanayama, Y., Kimura, Y., Miyazaki, F., and Noguchi, T. A Stable Tracking
Control Method for an Autonomous Mobile Robot. Proceeding of IEEE
International Conference on Robotics and Automation. 1990.
3. Kim, D. -H. and Oh, J. -H. Global Asymptotically Stable Tracking Control of
Mobile Robots. Proceeding of IEEE International Conference on Control
Applications. 1998.
4. Fiero, R. and Lewis, F. L. Control of a Nonholonomic Mobile Robot: Backstepping Kinematics into Dynamics. Proceeding IEEE of the 34th Conference on
Decision & Control. 1995.
5. Colbaugh, R., Barany, E. and Glass, K. Adaptive Stabilization of Nonholonomic
Mechanical System. Proceeding of the 36th Conference on Decision and Control.
1997.
6. Fukao, T., Nakagawa, H., and Adachi, N. Adaptive Tracking Control of a
Nonholonomic Mobile Robot. IEEE Transaction on Robotics and Automation.
2000.
7. Hu, T., Yang, S. X., Wang, F., and Mittal, G., S. A Neural Network Controller
for a Nonholonomic Mobile Robot with Unknown Robot Parameters. Proceeding
of IEEE International Symposium on Computational Intelligent in Robotics and
Automation. 2002.
8. Wang, X. and Yang, S. X. A Neuro-Fuzzy Approach to Obstacle Avoidance of a
Nonholonomic Mobile Robot. Proceeding of IEEE International Conference on
Advance Intelligent Mechatronics. 2003.
60
9. Yang, J. -M., Choi, I. -H., and Kim, J. -H. Sliding Mode Control of a
Nonholonomic Wheeled Mobile Robot for Trajectory Tracking. Proceeding of
IEEE International Conference on Robotics and Automation. 1998.
10. Lin, S. and Goldenberg, A. Robust Damping Control of Wheeled Mobile Robots.
Proceeding of IEEE International Conference on Robotics and Automation.
2000.
11. Kolmanovsky, I. and McClamroch, N. H. Developments in Nonholonomic
Control Problems. IEEE Control System Magazine. 1995.
12. Li, Z. and Canny, J. F. Nonholonomic Motion Planning. Kluwer. 1993.
13. Fernandes, C., Gurvits, L. and Li, Z. X. A Variation Approach to Optimal
Nonholonomic Motion Planning. Proceeding of IEEE International Conference
on Robotics and Automation. 1991.
14. Lee, T. -C., Song, K. -T., Lee, C. -H., and Teng, C. –C. Tracking Control of a
Unicycle-Modeled Mobile Robots Using a Saturation Feedback Controller. IEEE
Transaction Control System Technology. 2001.
15. Slotine J.-J. E. and Li W. Applied Nonlinear Control. Englewood Cliffs, New
Jersey: Prentice Hall. 1991.
© Copyright 2026 Paperzz