Está en la página 1de 7

DESIGN AND IMPLEMENTATION OF A MOBILE ROBOT USING ARTIFICIAL

NEURAL NETWORKS AS CORE OF DECISION FOR NAVIGATION

Renato Miyagusuku, Jorge S. Paredes, Oscar A. Villalta, Andres F. Flores



Grupo de Invesitgaci
on en Sistemas de Control e Inteligencia Artificial
Facultad de Ingeniera Mec
anica
Universidad Nacional de Ingeniera
Av Tupac Amaru N 210, Rimac, Lima, Per u

Emails: rmiyagusuku@giscia.com, jparedes@giscia.com, ovillalta@giscia.com,


aflores@giscia.com

Abstract In this research project we present the design and implementation of an autonomous mobile robot
capable of avoiding obstacles in unknown environments, in order to reach a certain point. The mobiles core of
decision will be an Artificial Neural Network (ANN) and to detect obstacles it has 3 ultrasonic sensors placed at
its front.
As for the mechanical design, an omnidirectional platform will be used, because the direction of its velocity has
no constraints, so it can move towards any direction. It has three wheels attached to DC motors, being a MIMO
system, which will be controlled by Trajectory Linearization.

Keywords omnidirectional, Artificial Neural Network, Trajectory Linearization

1 Introduction 2 Study Approach

Robotics is an interdisciplinary science that in-


For the development of this project will ad-
cludes concepts of mechanics, electronics and com-
dress several areas of engineering, as mechanics,
puter systems offering a wide field for the develop-
robotics, control, artificial intelligence and signal
ment of new technologies, innovation and design of
processing.
more complex robots, this possibility is what moti-
vates researchers to keep developing new projects. The first step was the mechanical design of the
Robotics cause a major impact on manufactur- omnidirectional platform, which should not have
ing, robot manipulators, fixed on a point within restrictions on speed and direction, being able to
a production line can move at high speed, have rotate and move simultaneously.
a precision more exact than a human and per- Subsequently we performed a kinematic and
form a variety actions, aspects that make them dynamic analysis of the platform, obtaining an
extremely valuable for companies, however have a accurate mathematical model; this model along
major flaw, its lack of mobility, since, despite its with the DC motors model characterizes the mo-
great versatility, have an limited area of action. bile robot. Similar analysis were presented (Yong,
An alternative is the use of a mobile robot, 2008; Muir, 1987 and Mu noz, 2003). Other
but so that the robot has a real application we project (Balakrishna, 1995) included in their mod-
must develop efficient methods that ensure that eling sliding wheels, which was neglected in our
the robot can move in dynamic environment per- case, since our control algorithm compensates for
forming the required tasks. For the development this.
of these methods we use Artificial Intelligence The platform control is another important
(AI). As in the previous example, there are many within the project development; we choose the
similar cases in the industry, thats why we con- use of nonlinear control algorithms, since from the
sider of vital importance to develop platforms ca- kinematic modeling we obtained a highly nonlin-
pable of performing these functions; this is the ear plant. Within nonlinear controllers there are
main focus of the project. TCL (Yong, 2008 and Watanabe, 1998), Sliding
So the main objective of this project was to Control (Dongkyoung, 2004 and Filipescu, 2005),
develop a mobile robot capable of autonomous or other methods (Giuseppe, 2002).
scroll in any direction without restrictions, so that
itll be able to solve the problem before exposed. Later to ensure that the mobile is fully auto-
We did the design and implementation of a plat- nomic, we used as the core of decision an Artificial
form capable of meeting the general objective and Neural Network (ANN).
got a mathematical model exact enough to allow The mobile system was implemented using an
us to design our control algorithms and simulate embedded system, which will take as input sig-
the mobile. We also designed a controller that nals the ultrasonic sensors and encoders from the
guarantees an optimum operation and an obsta- motors and we delivered the voltages needed to
cle avoidance module based on 3 ultrasonic sensors power them by PWM channels from the embebed
for detection and an ANN for decision making. system.
3 Development of the project L: Radius of the circle circumscribing the mo-
bile.
3.1 Mechanical Design
It was decided the use of an omnidirectional plat- R: Radius of the wheels.
form which are ideal for applications such as this,
because the direction of their velocities has no re- : Rotation angle of the body fixed system
strictions, and also are able to rotate and move si- with respect to the Fixed.
multaneously. The platform consists of three om-
nidirectional wheels arranged at the vertices of an i : Rotation angle of each wheel. i = 1, 2, 3.
equilateral triangle, each wheel is connected to a
DC motor, being MIMO system, which will be
controlled by non linear control techniques. Fig-
ure 1 shows the prototype platform. The wheels
used were omnidirectional wheels (also shown in
figure 1), which have the particularity of being
able to slide with ease in the direction perpendic-
ular to the motor, allowing the mobile to move in
any direction. For the position of the ultrasonic
sensors, we located them in the front of the mo-
bile, so that the mobile will know the approaching
obstacles.
Figure 3: Wheels Positions

The wheels are positioned, on the mobile sys-


tem as shown in figure 3 Analyzing the geometri-
cal relationships between both systems, its speed
rotation matrix is represented by:

sin ()

cos () 0

sin ()
A= cos () 0
(1)
0 0 1
Figure 1: Mechanical Design of the platform and
omnidirectional wheels used X = AXm

But the speeds are also a linear combination


3.2 Kinematics of the angular velocities at each wheel so:

The mobile has a fixed reference system on the


1

xm 1 sin (30) sin (30)

body (body frame) and an inertial one, fixed in

the initial position you are in, so that at a given 2

ym
= R 0 cos (30) sin (30)


time the configuration is as shown in figure 2.

1 1 1
m L L L 3
(2)

X = R.B

As we need to compute we can expres 2 as:

1

xm



1 1 y

2 = [B] m (3)

R
3 m

So that the position tracking is:

Figure 2: Mobile robot reference systems


Xn+1 = Xn + A.Xm .t (4)
The fixed system will be represented by the
components X, Y and Z, and the system adhered And the relative speed to the fixed system is:
to the mobile robot by Xm, Ym and Zm. The
model parameters are: VB = VA + VB/A + rB/A (5)
3.3 Dinamics 3.4 DC motors
We rely on Newtons laws: The engines used are DC motors whose power
X equations are:
F~ = m.~a
X Vi n = V0 + i.Ra (14)
~ = I.
So there will be an angular acceleration when- dm
ever there is a change of direction in the rotation, V0 = Ke (15)
dt
otherwise the angular velocity magnitude remains
constant. Also at the starting point (n = 1) the And the mechanical equation is:
acceleration has a nonzero value. The total force
in the mobile is due to acceleration acting on the d2 m dm
Km .i = J +B + TC (16)
moving system. dt2 dt
X
F~m = m.a~m = f~1 + f~2 + f~3 (6) Where Vi n is the input voltage to the mo-
tors,i the motor current,m is the rotor position,
Km is the engine speed constant. Furthermore,
t ot = I. = f1 .L + f2 .L + f3 .L (7) the model relies solely on the electrical parame-
The forces generated by the torque are what ter Ra and the mechanical parameters J (moment
we finally wish to calculate: of inertia), B (viscosity coefficient) and Tc (Load
Torque).
~ .R = 1,2,3
f1,2,3 ~ (8)
All this calculated inertia about an axis, so 3.5 System Modeling
well use the general expression (Hibbeler, 2008)
Using the equations obtained in the kinematics
to determine the values of Coriolis accelerations in
and dynamics, together with the mathematical
the axles and welded to the body (body frame):
modeling of the motors will get the entire system
modeling. We can write equations 13, 15 and 16
drm/o dVm/o
Am = Ao + rm/o + + (9) as follows:
dt dt
Where
V Ke
m: Mobile System T.c = Kt .( ) J + B (17)
Ra Ra
o: Fixed System (source)
Using the kinematic equation 2 we can express
: Angular velocity of the mobile system all the above variables in terms of x, their deriva-
tives and voltage, obtaining the following equa-
Replacing:
tion:


(ax , ay ) = 0+(x, x,
y)+( y)+(
xm , ym ) (10)
Jm Kt 1 Ke Kt
(I+ BB 0 )Xm = c+( HB)V ( (Bm + ))
R Ra R Ra
(18)
m y m y
" # " #
ax xm
= + + DXm = c + EV F Xm
ay m x m x ym
(11)
3.6 Parameters Recognition

m y m y
" # " #
xm ax A critical part for obtaining an accurate mathe-
= + +
ym m x m x ay matical model is the correct determination of its
(12) parameters. In our robot we have physical param-
We neglect the acceleration component, to eters such as mass and inertia, geometric parame-
simplify calculations, and because its a known ters as 5 total lengths, radius, etc. These param-
constant value, it can be corrected later. With this eters can be easily obtained by direct measure-
approach we have a separate accelerations vector ments or through softwares simulating these me-
that are calculated based on the system dynamics. chanical properties. However, specific parameters
of DC motors are more complicated to obtain, as

y


1
sin(30)

sin(30)
these vary with use, is therefore its tremendously
m m m m 1



1



cos(30) cos(30)




important that we perform a parameters recogni-
x
m +
0
2 (13)



R



m m



tion when using second hand DC motors or when
0 L L L 3
m m m you want to check the manufacturers data.
3.6.1 DC motor parameters recognition Linearizing around the desired trajectory
Having a constant voltage input for the DC motor,
ex

ex

u

it reaches a certain speed after passing through a
ey = A1 ey B1 v (21)
transitional period, if we have those values and we
can rebuild that output, we would have the sys- e e r
tems response to a step type input and through
curves adjustments we can obtain the motor trans- Where
fer function required.
0 0 sin () u cos ()

A1 = 0 0 cos () u sin ()

3.7 System Control
0 0 0
From the equations shown in the previous section
we noted that our platform has highly nonlinear
cos () sin () 0

dynamics, which is why you cant use classical
control algorithms such as a PID, widely known B1 = sin () cos () 0

and studied control law, at least not directly. In
0 0 1
this project we used a methodology for designing
nonlinear controllers known as Trajectory Lin- Once linearized the error dynamics, we can
earization Control or TLC, which has been used apply classic PI controllers design (Yong, 2008 and
successfully (Yong, 2008 and Watanabe, 1998), Watanabe,1998) or we can apply optimal control
and in areas related to similar problems as is air- methods. Here we will need to define the cost
crafts (Zhu, 2000 and Zhu, 2001). For the control functional:
system we used two control loops, as seen in Fig- Z
ure 4. Ju = x0 Qx + u0 Ru (22)
0

Solving the Riccati equation (Stanislaw, 2002)


when u = -Kx. From the calculations we ob-
tained a matrix with dominant diagonal, there-
fore we simplified it to diag([a11 a12 a13 ]) to make
less operations. We want the closed loop matrix
Figure 4: Control Diagram f1 = A1 B1 .KP 1 to be constant, so we used a
A
controller with variable gain KP 1 where:
The inner loop performs the speed control sys-
tem seen from the fixed to mobile, the outer loop
makes with respect to displacement. The control KP 1 = B11 (A1 diag([a1 1a1 2a1 3])) (23)
can be divided into two parts:

1. The desired outputs are estimated based on 3.7.2 Inner Loop


the calculation of inverse kinematics and dy- Redefining the nominal voltages Ui as [u1 u2 u3 ]0
namics. = [
and U uvr]0 as the desired speeds.
2. Linearization is performed on the trajectory
(Yong, 2008) and adaptive controllers are Ui = (HB)
1 RRa
(D U RV ) + B
0 Ra n K e K t
(
+ bo )U
used to correct any errors. Ke n Ke R Ra
(24)
Where:
3.7.1 Outer Loop

rv

~ as the desired
Redefining Xm as [uvr]0 and [~x~y ] RV = ru
trajectory 0

We define the trajectory error as:


~x

u
eu u uc1 u1 u1 u~1

v = A1

~
y (19)
ev = v vc1 , v1 = v1 v~1
~

r er r rc1 r1 r1 r~1
(25)
We define the trajectory error as: Linearizing around the desired trajectory
~
x
ex x u uc1 ~
u

eu eu u1
ey = y ~
y , v = vc1 ~
v

ev = A2 ev B2 v1 (26)
e ~
r rc1 ~
r
(20) er er r1
Where
0 ~r ~v

A2 = D1 ~r 0 u F, B2 = D 1 E
~

0 0 0

As in the outer loop we calculated the KP 2


values using the cost function and calculating the
closed loop matrix Af2 = A2 B2 .KP 2 , where:

KP 2 = B21 (A2 diag([a2 1a2 2a2 3])) (27)

3.8 Simulation
For the realization of simulations the mathemat-
ical models described before (kinematics and dy- Figure 7: Trayectory
namics) were implemented as seen in figure 5.

Figure 5: Kinematic (sky blue) and Dynamic


(green) models

For the implementation of the nonlinear con-


troller, we used the inverse kinematics and dynam-
ics, and also the controllers with variable gains as
seen in figure 6.

Figure 8: XY graph

Figure 6: Controllers with variable gains

In addition it was considered a saturated con-


troller output, which does not permit the use of
voltages higher than 20 volts, which is one of the
physical constraints of the model. For the trajec-
tory control, the robot was commanded to per-
form a 1m diameter circle starting at the center
of it. The results are shown in figures 7 and 8.
The voltage output for this trayectory is
shown in figure 9.

3.9 Artificial Neural Network


Figure 9: Voltages Output
For the intelligent part of our mobile robot we
used a Back propagation neural network, as we
needed to select an appropriate value output from
various inputs. One weakness of the Back propa- tees the existence of a single plane that contains
gation network is that, if the value of the learning them, therefore we ensure that all wheels are in
rate is too big theres a risk of jumping one direct contact with the surface and contribute to
of, either local or global minimums, in the reverse the displacement of the mobile.
case, if the learning rate is too small, it is safer to It has succeeded in obtaining a nonlinear
reach a minimum, but reaching that point would model representing the system successfully. This
take too much training , to avoid these difficulties model is summarized in equation 18.
we added a momentum whose function is to in- The designed control algorithm is efficient as
troduce a fraction of the weights increase that was seen in figures 7 and 8. Besides the use of opti-
taken at the instant before. This way we guaran- mal control techniques and cost functions allow us
tee that well not jump above the minimum closest to obtain a balance between accuracy and power,
to the point of departure. For network training which gives the method raised a big advantage,
we used the tools given by Matlab, since we only since different needs before profits can easily ac-
needed a function that was able to predict the best commodate drivers.
performance for the mobile, Matlab provides the To design the obstacle avoidance module that
necessary functions for faster training Figure 10 uses 3 ultrasonic sensors to detect obstacles arose
shows the training progress: place in the front of the omnidirectional separated
about 15 , this configuration has proved success-
ful at several possible scenarios as shown in figure
11.

References

Balakrishna, R.; Ghosal, A. Modeling of slip for


wheeled mobile robots IEEE Transactions on
Robotics and Automation. Volume 11, Issue 1,
Feb 1995 Page(s):126 - 132

Dongkyoung Chwa, Sliding-Mode Tracking


Control of Nonholonomic Wheeled Mobile Robots
in Polar Coordinates IEEE Transactions on Con-
trol Systems Technology, Vol. 12, No. 4, July 2004

Figure 10: ANN Training Filipescu , Nunes, Stamatescu Discrete-time,


sliding-mode WMR control based on parameter
To prove that the function thrown by neural identification 16 th IFAC World Congress, 2005
networks is effective, we programmed a Matlab
GUI to easily view its behavior under any circum- Giuseppe Oriolo, Member, IEEE, Alessandro
stances. First we created a random map and made De Luca, Member, IEEE, and Marilena Ven-
the mobile robot go from one point to another suc- dittelli WMR Control Via Dynamic Feedback
cessfully avoiding the obstacles as seen in figure 11 Linearization: Design, Implementation, and
Experimental Validation IEEE Transactions
4 Conclusions on Control Systems Technology, Vol. 10, No. 6,
November 2002
Through the use of 3 omnidirectional wheels its
possible to design a platform that meets the re- Hibbeler, Engineering Mechanics Dynamics,
quirements set forth in our goals, because there cap rigid body dynamics, 2008.
are no restrictions on the direction of motion, in
addition, having only 3 points of support guaran- Muir, Neuman, Kinematic modeling for
feedback control of an omnidirectional wheeled
mobile robot Carnegie Mellon University, Pitts-
burgh, PA; 1987

Munoz Martnez, G. Gil-Gomez y A. Garca


Cerezo Modelado Cinematico y Dinamico de
un Robot Movil Omni-direccional. Instituto
Andaluz de Automatica Avanzada y Robotica.
Dpto. Ingeniera de Sistemas y Automatica.
Figure 11: Random generated map (left) Followed Universidad de Malaga, 2003
Trayectory (right)
Robert L. Williams II, Brian E. Carter,
Paolo Gallina and Giulio Rosati Dynamic Model
with Slip for Wheeled Omni-Directional Robots,
IEEE Transactions on Robotics and Automation
Vol. 18, No. 3, pp. 285-293 - 2002

Stanislaw H. Zak , Systems and Control


Captulos 4-6; Oxford University Press, USA ;
2002

Watanabe, K., Shiraishi, Y., Tzafestas, S.


G., Tang, J. and Fukuda, T., Feedback Control
of an Omnidirectional Autonomous Platform for
Mobile Service Robots, Journal of Intelligent
and Robotic Systems, 22(3), pp. 315-330, 1998.

Yong Liu, Xiaofei Wu, Jim Zhu, J. Jae Lew


Sch. of Electric Eng. and Computer Sci., Ohio
Univ., Athens, OH, USA, Omni-Directional
Mobile Robot Controller Based on Trajectory
Linearization, 2008

Zhu, J. Jim, Banker, Brad D. and Hall,


Charles E., X-33 Ascent Flight Controller
Design By Trajectory Linearization-A Singular
Perturbational Approach,Proceedings, AIAA
Guidance, Navigation and Control Conference,
Denver, CO, August, 2000

Zhu, A. Scott Hodel, Kerry Funston and


Charles E. Hall, X-33 entry flight controller de-
sign by trajectory linearization - a singular pertur-
bational approach. Advances in the Astronautical
Sciences, Vol.107, 151-170 , 2001

También podría gustarte