CONTROL OF AN ASYMMETRICAL OMNI DIRECTIONAL
MOBILE ROBOT
Seyed Mohsen Safavi, Mohammad Ajoodanian, Ahmad movahedian
Mechanical Engineering Department, Isfahan University Of Technologhy (IUT) ,Isfahan,Iran
Keywords: Holonomic Omnidirectional mobile robot; Asymmetrical Structure.
Abstract: This paper describes how to control an asymmetric wheeled mobile robot with omnidirectional wheels,
considering the sample of a robot with three wheels. When flexible motion capabilities are required this
robot must be designed to meet the related requirements, namely fast and agile motions as well as robust
navigation. This paper provides an overview for the design of kinematics and dynamics of the robot, as well
as the motion and velocities equations. In addition to the above, a control method to obtain a proper control
model is explained. Simulation example is presented to demonstrate the ability of this control method. The
implementation and test of the controller on the real robot gives the results compatible with the simulation.
It was learned that the discontinuities between omnidirectional wheels’ rollers play an important role in
decreasing the accuracy of motion.
1 INTRODUCTION
Omnidirectional vehicles provide superior
maneuvering capability compared to the more
common car-like vehicles. The ability to move along
any direction, irrespective of the orientation of the
vehicle, makes it an attractive option in dynamic
environments. The annual RoboCup competition,
where teams of fully autonomous robots engage in
soccer matches, is an example of where
omnidirectional vehicles have been used in
computationally intensive dynamic environments
(Kalmár-Nagy et al., 2004) (Veloso et al., 1999)
(Kitano et al., 1998).
Among omnidirectional mobile robots, the one with
three or more wheels is more powerful. A holonomic
system is one in which the number of degrees of
freedom (DOF) is equal to the number of
coordinates needed to specify the configuration of
the system. In the field of mobile robots, the term
holonomic mobile robot is applied to the abstraction
called the robot, or base, without regard to the rigid
bodies which make up the actual mechanism. Thus,
any mobile robot with three degrees of freedom of
motion in the plane has become known as a
holonomic mobile robot (Holmberg et al., 1999).
Many different control mechanisms have been
created to achieve holonomic motion (Jung et al,.
1999) (Moore er al., 1999). In addition, these
systems have symmetric mechanisms. The
symmetric mobile robots with 3 DOF mostly have
120-degree angles between the wheels and the full
structure includes 3 actuators as well as 3 wheels
(Kalmár-Nagy et al., 2004). The control procedure
of such robots has been the subject of discussion in
several research papers. However in small robots (18
cm diameter of base) there is not enough space to
accommodate other components and the change in
angles between the wheels would partially overcome
this problem. The angle between front wheels is
140˚ and the two other angles are 110˚, which causes
asymmetric problem in robot and its control system.
The objective of this paper is to establish a real time
control strategy that could move the asymmetrical
robot to a given location with zero final velocity as
quickly as possible based on measurement of the
vehicle position and orientation.
The paper is ordered in such a way to describe the
Persia Robot system followed by the kinematics and
dynamic model of asymmetric omnidirectional robot
vehicle. Then Simulations and PD control method
are presented. The paper ends with the concluding
remarks.
120
Mohsen Safavi S., Ajoodanian M. and movahedian A. (2005).
CONTROL OF AN ASYMMETRICAL OMNI DIRECTIONAL MOBILE ROBOT.
In Proceedings of the Second International Conference on Informatics in Control, Automation and Robotics - Robotics and Automation, pages 120-125
DOI: 10.5220/0001188501200125
Copyright
c
SciTePress
2 ROBOPERSIA SYSTEM
OVERVIEW
The complete RoboPersia system is a layered set of
subsystems which is shown in Figure 1. Figure 2
shows a photograph of the RoboPersia. An overhead
camera captures global images of the field. The
vision software processes the images to identify the
location and the velocity of robots and the ball. This
state of the field is passed to the Decision-Making
System (DMS). DMS is the highest level planner in
the system, responsible for distributing the overall
goal of the team amongst the individual robots.
DMS is responsible for the multi-robot coordination
and cooperation by selecting a role for each robot.
Some example roles include ATTACK and
DEFEND. The DMS roles and role parameters with
the field state are sent to the Role Layer which is
responsible for executing roles by selecting
behaviour for each robot. Some example behaviours
include KICK and MOVE. Behaviours and
behaviour parameters with the field state are passed
to Behaviour Layer. The Behaviour Layer attempts
to execute the desired behaviour by dedicating the
proper motion while avoiding obstacles. This layer
determines the immediate desired heading and
distance for the control layer .The Control Layer,
based on PD controller, controls the position and
head of the robots by changing the actuators duty
cycles. The feedback comes from the state of the
field
.
2.1 Optimizing the Omni Directional
Wheel
The holonomic and non-holonomic omnidirectional
mobile robot has been studied by using a variety of
mechanism. Several omnidirectional platforms have
been known to be realized by developing a
specialized wheel or mobile mechanisms (Holmberg
et al., 1999). These include various arrangements of
universal or omni wheels (La 1979; Carlisle 1983),
double universal wheels (Bradbury 1977), Swedish
or Mecanum wheels (Ilon 1971), chains of spherical
wheels (West and Asada 1992) or cylindrical wheels
(Hirose and Amano 1993), orthogonal wheels
(Killough and Pin 1992), ball wheels (West and
Asada 1994) and omni directional poly roller wheel
(Asama, 1995, Watanaba, 1998). All of these
mechanisms, except for some types with ball wheels,
have discontinuous wheel contact points which are a
great source of vibration; primarily because of the
changing support provided; and often additionally
because of the discontinuous changes in wheel
velocity needed to maintain smooth base motion
(Watanabe, 1998) (Williams et al., 2002) (Pin et al.,
1994) (Diegel et al., 2002). In order to decrease the
vibration of the platform, the number of little rollers
was increased from 12 per wheel, which was used in
the previous design to 22 with the constant diameter
(Fig. 3). The run-out is decreased nearly 0.08-
0.1mm.It’s where the previous run out was 1mm. An
equation was derived for determining the run out,
namely to find how much a given wheel design will
bounce up and down as it rotates (run-out). The
derivation is relatively straightforward procedure by
using trigonometry, and the resulting formula is
shown below in which n is the number of the rollers
and R is radius of the wheel (Fig. 4).
(1)
BOMBOCo
=
1 (2)
(3)
(4)
(5)
Figure 2: RoboPersia
Figure 1: Complete RoboPersia System
Global
Vision
Decision
Making
Role Laye
r
Behavior
Layer
Control
Layer
Onboard
Controller
Actuato
r
Robo
t
Off Field PC
Camera
)1cos1( oRODOCoutRun
Max
==
)
2
(*
2
1
n
BOC
π
=
R
BOMBOMR
2
2* ==
)
2
(1
Rn
O =
π
CONTROL OF AN ASYMMETRICAL OMNI DIRECTIONAL MOBILE ROBOT
121
=
0
1
1
L
o
P
3 ROBOT KINEMATIC
Omni directional robots usually use special wheels,
which were described in the preceding section. The
body of each wheel is connected to the DC motor
shaft. Therefore, a robot with three omni directional
wheels can equilibrate on plane easily and follow
any trajectory. Our robot structure includes three
special omni-directional wheels for the motion
system as shown in Fig.3.
3.1 Kinematics Modeling
Using omni directional wheels, the schematic view
of robot kinematics can be shown in Fig. 5 (Kalmar-
Nagy, T., 1998), where O is the robot center of
mass, Po is defined as the vector connecting O to the
origin and D is the drive direction vector of each
wheel and θ is the angle of counter clockwise
rotation. Unitary rotation matrix, [R (
θ
)] is defined
as:
(6)
The position vectors {P
o1
},…,{P
o3
}with respect to
the local coordinates centered at the robot center of
mass are given as:
(7)
(8)
(9)
Where, L is the distance of wheels from the robot
canter of mass (O).
(10)
(11)
Figure 3: The explosive view of new omni
directional wheel and Omni directional Wheel
()
[]
=
θ
θ
θ
θ
θ
cos
sin
sin
cos
R
°
110,
21 oo
PP
=
=
)
18
11
sin(
)
18
11
cos(
18
π11
1o2
π
π
L
o
PRP
°
110,
31 oo
PP
=
=
18
11
18
11
18
11
1o3
π
π
π
Sin
Cos
L
o
PRP
oii
L
PRD
=
2
1
π
=
=
=
)
18
11
cos(
)
18
11
sin(
,
)
18
11
cos(
)
18
11
sin(
,
1
0
321
π
π
π
π
DDD
Rolle
Figure 4: Schematic of Omni directional.
Figure 5: Omnidirectional Robot Model, Top View.
ICINCO 2005 - ROBOTICS AND AUTOMATION
122
T
L
L
L
++
=
)
18
7
cos()
18
7
sin(
)
18
7
cos()
18
7
sin(
cossin
)(
θ
π
θ
π
θ
π
θ
π
θθ
θ
P
3.2 Equation of motion and
velocities
Using the above notations, the wheel position and
velocity vectors can be expressed using rotation
matrix [R (
θ
)] as:
0
()
ioi
θ
=+rPR P
(12)
0
()
ioi
θ
=+vPRP
(13)
The vector P
o
=(x y)
T
is the position of the center of
mass with respect to Cartesian coordinates. The
individual wheel velocities are
(14)
Substituting equation (13) into equation (14) results
in:
(15)
Note that the second term in the right hand side is
the tangential velocity of the wheel. This tangential
velocity could be also written as:
(16)
From the kinematics model of the robot, it is clear
that the wheel velocity is a function of linear and
angular velocities of robot center of mass, i.e.:
(17)
4 DYNAMIC EQUATIONS
Linear and angular momentum balance can be
written as;
(18)
(19)
Where
i
f is the magnitude of the force produced by
the ith motor, m is the mass of the robot and J is its
moment of inertia.
f =αU −βv (20)
Where
f is the magnitude of the force generated by
a wheel attached to the motor, and v (m/s) is the
velocity of the wheel. The constants α (N/V) and β
(kg/s) can readily be determined from experiment or
from motor catalogue.
Substituting equation (20) into equation (18) and
(19) yields:
(21)
(22)
This system of differential equations can be written
in the following form (Kalmár-Nagy et al., 2004):
(23)
With
(24)
And
(25)
So that the non-dimensional equations of motion
become(Kalmár-Nagy et al., 2004):
(26)
Where q(θ, t) is the control action(Kalmár-Nagy et
al., 2004):
q(θ, t) = P(θ)U(t) (27)
()
)]([
i
T
ii
DRv
θυ
=
i
T
T
oii
T
o
i
DRRPDRP
.
)()()(
θθθυ
+=
i
T
T
oi
L DRRP )()(
θθθ
=
++
=
θ
θ
π
θ
π
θ
π
θ
π
θθ
y
x
L
L
L
v
v
v
)
18
7
cos()
18
7
sin(
)
18
7
cos()
18
7
sin(
cossin
3
2
1
=
=
0
3
1
)( PDR mf
i
ii
θ
=
=
3
1i
i
JfL
θ
=
=
3
1
..
0
)()(
i
iii
mvU PDR
θβα
=
=
3
1
..
)(
i
ii
JvUL
θβα
=
.
2
.
.
..
..
..
2
2
3
)()(
θ
β
θα
θ
L
y
x
t
J
ym
xm
UP
=
)(
)(
)(
)(
3
2
1
tU
tU
tU
tU
),(
2
.
2
.
.
..
..
..
t
J
mL
y
x
y
x
θ
θθ
q=
+
CONTROL OF AN ASYMMETRICAL OMNI DIRECTIONAL MOBILE ROBOT
123
5 POSITION CONTROL AND
IMPLEMENTATION
In order to control the position and head angle of
robot a PD controller is employed. Mathematically a
PD controller can be expressed as
(28)
By increasing K
p
the rise time becomes faster, but on
the other hand the overshoot increases too, which is
undesired. Furthermore the stability gets worse.
Derivative control improves system performance in
two ways. Firstly, it adds positive phase angles to
increase the open-loop frequency response so as to
improve system stability and to increase close-loop
system bandwidth to increase the speed of response.
Secondly, it provides braking when the response is
getting closing to the new set point. This braking
action not only helps to reduce overshoot but also
tends to reduce steady-state error. Influence of
derivative control on the system is proportional to
K
d
, but increasing derivative feedback will slow the
system response and magnify any noise that may be
present. It is important to note that derivative control
has no influence on the accuracy of the system, but
just on the response time.
A problem that can occur with derivative control is
that in a real control system, the set point is usually
stepped up or down in discrete steps. A step change
has an infinitely positive slope, which will saturate
the derivative function. A solution to this problem is
to base the derivative control on the feedback signal
alone instead of the error because the controlled
variable can never actually change instantaneously,
even if the set point does. The effect of proportional
and derivative action is summarized in table 1.
Table 1: Controller properties
Action Rise
Time
Overshoot Stability
Increasing K
p
Faster Increases Gets
worse
Increasing K
d
Slower Decreases Improves
A digital controller is used for our purpose. For
digital filter differentiation of a function e(t) the
following technique is used. The slope of e (t) at the
t = kT is approximated to be slope of the straight line
connecting e[(k-1)T] with e(kT). Numerical
derivative of e (t) at t=kT can be written as
(29)
The z-transform of this equation yields
(30)
So the digital PD controller can be written as
(31)
We use this equation to implement the controller. As
depicted in Fig.6, the position and the angle of the
robot is obtained by using a camera.
These measurements are compared with the desired
set-point values and the calculated errors. The
camera also gives the derivative of output values.
The error in position is fed to a digital PD (position
PD). Position PD output is applied to a limiter and
then mapped to direction of each wheel by an
appropriate function block (W1, W2, W3). Error in
robot angle is fed to another PD (head angle
PD).Head angle PD output (W
θ
) is limited and then
added to the outputs of mapping block.
(32)
These signals determine the duty cycle of each robot
motor.
To tune the PDs, the following procedure is pursued.
The derivative action removed by setting K
d
=0, the
gain K
p
is tuned to give the desired response and K
d
is adjusted to damp the overshoot. The above steps
are repeated until an acceptable response is
achieved.
To demonstrate the computational efficiency and
robustness of the algorithm, simulations were
performed (with m=3kg, j=0.014 Kgm
2
, L=0.07m).
Position and velocity of the vehicle are assumed to
be measured 50 times per second. The inputs to the
algorithm are initial and desired positions and head
angle.
dt
de
TeKK
dp
+=
z
z
zD
1
)(
=
+=
z
z
KKK
dp
1
+=
+=
+=
θ
θ
θ
WWU
WWU
WWU
33
22
11
T
TkekTe
D
])1[()(
=
Figure 6: Control Diagram
ICINCO 2005 - ROBOTICS AND AUTOMATION
124
The results are shown in Fig. 7.As depicted, the
robots head angle overshoot is smaller than X
overshoot and y overshoot.
6 CONCLUSIONS
Wheeled mobile robots (WMRs) are increasingly
present in industrial and service robotics,
particularly when flexible motion capabilities are
required on reasonably smooth ground and surface
(Schraft et al., 1998). Several mobility
configurations (wheel number and type, their
location and actuation, single or multi-body
structure) can be found in the applications (Jones et
al., 1993), which can be lead to designing and
implementing an asymmetric robot.
This paper has presented a control model for a
specific kind of asymmetric omnidirectional
wheeled mobile robot. During initial modelling and
experimental works, it was supposed that
asymmetric feature could be a limitation for robot to
meet the requirements. While this is true, it was
however learned that if we derive proper control
model for robot we can overcome this limitation to
some extent. Since our objective was to model the
control of a specific kind of an asymmetric
omnidirectional wheeled mobile robot, this paper did
not develop a method for a large variety of
asymmetric robots. A control method that depends
on the angles between robot wheels, and includes
motion and velocity equations are supposed to be
developed in the future studies as extension of this
work.
REFERENCES
Tamás Kalmár-Nagy, Raffaello D’Andrea ,Pritam
Ganguly 2004. “Near-optimal dynamic trajectory
generation and control of an omnidirectional vehicle”.
Robotics and Autonomous Systems 46 (2004) 47–64
M. Veloso, E. Pagello, H. Kitano (Eds.), RoboCup-99:
Robot Soccer World Cup III, Lecture Notes in
Computer Science, 1856 Springer,New York, 2000
H. Kitano, J. Siekmann, J.G. Garbonell (Eds.), RoboCup-
97: Robot Soccer World Cup I, Vol. 139, Lecture
Notes in Computer Science 1395, Springer, New
York, 1998.
Robert Holmberg_ and Oussama Khatib,” Development of
a Holonomic Mobile Robot for Mobile Manipulation
Tasks”. FSR’99 International Conference on Field and
Service Robotics, Pittsburgh, PA, Aug. 1999
M. Jung, H. Shim, H. Kim, J. Kim, The miniature omni-
directional mobile robot OmniKity-I (OK-I),
Proceedings of the InternationalConference on
Robotics and Automation 4 (1999) 2686–2691.
K.L. Moore, N.S. Flann, Hierarchial task decomposition
approach to path planning and control for an omni-
directional autonomous mobile robot, Proceedings of
the International Symposium on Intelligent
Control/Intelligent Systems and Semiotics (1999)
302–307.
Keigo Watanabe, 1998,"Control of an Omnidirectional
Mobile Robot", 1998 Second International Conference
on Knowledge Based Intelligent Electronic System,
Adelaide Australia
Robert L. Williams, II, Member, IEEE, Brian E. Carter,
Paolo Gallina, and Giulio Rosati. Dynamic Model
With Slip for Wheeled Omnidirectional Robots. IEEE
Transactions On Robotics and Automation, VOL. 18,
NO. 3, JUNE 2002.
Francois G. Pin, Stephan M.Killough,1994."A New
Family of Omnidirectional and Holonomic Wheeled
Platforms for Mobile Robots," IEEE Trans. On
Robotics and Automation, vol 10,no.4,pp.480-
489,1994
Olaf Diegel, Aparna Badve, Glen Bright, Johan Potgieter,
Sylvester Tlale,"Improved Mecanum Wheel Design
for Omni-directional Robots",Proc. 2002 Australasian
Conference on Robotics and Automation Auckland,
November 2002.
Schraft R D, Schmierer G 1998 Serviceroboter . Springer,
Berlin
Jones J L, Flynn A M 1993 Mobile Robots: Inspiration to
Implementation. A K Petters,Wellesly, MA
)1,1,1,0
0
,0
0
,0
0
( rad
d
m
d
Ym
d
XYX ==
=
===
θ
θ
Figure 7: Step Response
CONTROL OF AN ASYMMETRICAL OMNI DIRECTIONAL MOBILE ROBOT
125