You are on page 1of 11

UNIVERSIDAD NACIONAL DE INGENIERÍA

FACULTAD DE INGENIERÍA MECÁNICA


ESCUELA PROFESIONAL DE INGENIERÍA MECATRÓNICA
Grupo de Investigación en Sistemas de Control e Inteligencia Artificial
Av. Túpac Amaru Nº 210, Lima-Perú-América Latina
Telf.: (+511) 4811070 - Fax: (+511) 3813825
Lima 25 - Perú

“DISEÑO E IMPLEMENTACIÓN DE UN ROBOT MÓVIL


AUTÓNOMO APLICANDO REDES NEURONALES
ARTIFICIALES”

AUTORES

Miyagusuku Ríos, Renato rmiyagusuku@giscia.com


Paredes Merino, Jorge Salvador jparede@giscia.com
Flores Baldoceda, Andrés Francisco aflores@giscia.com
Villalta Ramirez, Oscar Alfonso ovillalta@giscia.com

Resumen

En este proyecto de investigación presentamos el diseño e implementación de un robot móvil autónomo capaz de
evadir obstáculos en entornos desconocidos, con la finalidad de llegar a un punto determinado.
El móvil empleará como núcleo de decisión una Red Neuronal Artificial (RNA) y para la detección de obstáculos se
emplearan 3 sensores ultrasónicos que serán ubicados en la parte delantera del móvil.
En cuanto al diseño mecánico del robot móvil, se empleará una plataforma omnidireccional, dado que la dirección
de sus velocidades no presenta restricciones, por lo que será capaz de moverse hacia cualquier dirección. Tendrá tres
ruedas acopladas a motores de corriente continua, siendo un sistema MIMO, el cual se controlará mediante técnicas
de control moderno.

Summary

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 mobile’s core of decision will be an Artificial Neuronal Network (ANN) and in order to detect obstacles it’ll
have 3 ultrasonic sensors placed at the front of the mobile robot.
As for the mechanical design, an omnidirectional platform will be used, because the direction of its velocities has no
constraints, so it can move towards any direction. It will have three wheels attached to DC motors, being a MIMO
system, which will be controlled by modern control techniques.

1
I. INTRODUCCIÓN una planta altamente no lineal. Dentro de los
controladores no lineales se encuentran TCL como en
La Robótica es una ciencia interdisciplinaria que [1] y [6], Control de trayectorias usando Sliding [7] y
incluye conceptos de mecánica, electrónica y [8], u otros métodos como en [9].
sistemas ofreciendo un amplio campo para el
desarrollo de nuevas tecnologías, esta posibilidad de Para lograr que el móvil sea totalmente autónomo se
seguir innovando y creando robots más complejos es empleará como núcleo de decisión una Red Neuronal
lo que motiva a muchos investigadores a continuar Artificial (RNA) del tipo back propagation.
investigando y desarrollando proyectos.
El móvil será implementado usando un sistema
La Robótica a causado un gran impacto en la embebido, que tendrá como entradas las señales de
industria manufacturera, los robots manipuladores, los sensores ultrasónicos y encoders de los motores y
fijos en un punto dentro de una línea productiva nos entregará los voltajes necesarios para alimentar
pueden moverse a una gran velocidad, tener una los motores DC mediante canales de PWM.
precisión sobrehumana y realizar una gran diversidad
de acciones, aspectos que los hacen extremadamente III. OBJETIVOS
valiosos para las empresas, sin embargo poseen un
gran defecto, que es su falta de movilidad, dado que, Objetivo general
a pesar de su gran versatilidad, poseen un área
El objetivo principal de este proyecto es el desarrollo
limitada de acción.
de un robot móvil, autónomo que sea capaz de
desplazarse en cualquier sentido sin restricción
Una alternativa es el empleo de un robot móvil, pero
alguna que pueda solucionar el problema antes
para que dicho robot posea una verdadera aplicación
expuesto.
práctica se deben desarrollar métodos eficientes que
garantice que el robot pueda desplazarse en un medio
Objetivos específicos
determinado y desarrollar sus tareas, para el
desarrollo de estos métodos podemos basarnos en 1. Realizar el diseño e implementación de una
técnicas de Inteligencia Artificial (IA). plataforma capaz de cumplir con el objetivo
general.
Al igual que en el ejemplo anterior se dan muchos 2. Obtener un modelo matemático lo suficiente
casos similares en la industria, es por eso que mente exacto que nos permita diseñar nuestros
consideramos de vital importancia el desarrollo de algoritmos de control y simular el móvil.
plataformas capaces de realizar estas funciones, lo 3. Diseñar un controlador que nos garantice un
cual es el tema central del proyecto. óptimo funcionamiento del móvil.
4. Diseñar un modulo de evasión de obstáculos, el
II. PLANTEAMIENTO DE ESTUDIO cual empleará 3 sensores ultrasónicos para la
detección de obstáculos y empleará una RNA
Para el desarrollo de este proyecto abordaremos para la toma de decisiones.
varias áreas de la ingeniería, como lo son la 5. Finalmente es nuestro propósito independizar
mecánica, robótica, control, inteligencia artificial y totalmente a este móvil (autónomo).
procesamiento de señales.
IV. HIPÓTESIS
En un primer lugar se realizará el diseño mecánico de
la plataforma omnidireccional, la cual no debe poseer Mediante un diseño adecuado de una plataforma
restricciones en la dirección de su velocidad y debe omnidireccional y un correcto modelado matemático
ser capaz de rotar y desplazarse simultáneamente. del sistema es posible obtener un móvil capaz de
desplazarse sin restricciones.
Posteriormente se realizará un análisis cinemático y Desarrollando un adecuado algoritmo de control, un
dinámico de la plataforma diseñada, con el objetivo procesamiento de la data proveniente de los sensores
de obtener un modelo matemático lo más exacto y una RNA implementados en un sistema embebido,
posible, este modelado junto con el modelo de los es factible dotar de autonomía al móvil diseñado.
motores de corriente continua que se usarán nos
permitirán caracterizar al móvil. Análisis similares al
realizado son presentados en [1],[2] y [3]. Otros V. DESRROLLO DEL TRABAJO
proyectos como [4] y [5] incluyen en su
modelamiento deslizamiento en las ruedas, lo que fue
obviado en nuestro caso, dado que nuestro algoritmo Diseño Mecánico
de control será capaz de compensar esto. En cuanto al diseño mecánico del móvil, se ha optado
por el empleo de una plataforma omnidireccional, las
El control de la plataforma es otro punto importante que son ideales para este tipo de aplicaciones pues la
dentro del desarrollo del proyecto, optaremos por el dirección de sus velocidades no presenta
empleo de algoritmos de control no lineales, pues del restricciones, además son capaces de rotar y
modelamiento cinemático que se realizó se obtuvo desplazarse simultáneamente.
2
La plataforma está compuesta por tres ruedas Cinemática
omnidireccionales dispuestas en los vértices de un
El móvil cuenta con un sistema de referencia fijo
triángulo equilátero, cada rueda está conectada a un
(body frame) adherido al cuerpo y uno inercial, es
motor de corriente continua, siendo un sistema
decir que se encuentra fijo en la posición inicial en
MIMO, el cual será controlado mediante técnicas de
donde se encuentra, de modo que en un tiempo dado
control no lineal. La figura 1 representa un prototipo
la configuración será la siguiente (ver Fig 3):
de la plataforma.
Las ruedas que emplearemos serán ruedas Y
omnidireccionales (ver figura 2), las que poseen la
X
particularidad de poder deslizarse con gran facilidad
en el sentido perpendicular al motriz, permitiéndole
al móvil desplazarse hacia cualquier dirección. Y
Para la detección de obstáculos usaremos sensores
ultrasónicos, los mismos que estarán ubicados en la
parte superior frontal del móvil y le permitirán
reconocer los obstáculos para posteriormente poder
evadirlos. X

Figura 3 Sistemas de referencia del móvil

El sistema fijo estará representado por las


componentes X, Y y Z. Y el sistema adherido al
móvil será Xm, Ym y Zm. Los parámetros del
modelo son:
L: Longitud del radio del circulo que circunscribe al
móvil triangular.

φ: (fi) ángulo de rotación del Sistema Móvil respecto


R: Longitud de radio de las ruedas.

θ : (theta) ángulo de giro de cada rueda. i =1, 2, 3.


del Fijo.

Las llantas se posicionan; Llanta i: 120


i 1


respecto del sistema móvil tal como se observa en la
Figura 4.

2
3

Figura 1 Plataforma Omnidireccional


1

Figura 4 Disposición de las ruedas

Analizando la relación entre ambos sistemas, la


matriz de rotación que relaciona las velocidades, será:

cos φ sen φ 0
A   sen φ cos φ 0
0 0 1
(1)

Donde X  A. X 

X   V sin α
Las velocidades se descomponen como:

Figura 2 Ruedas Omnidireccionales y montaje Y  V cos α (2)

Pero las velocidades también son una combinación


lineal de las velocidades angulares en cada rueda:

3
x  1 sin 30 sin 30 θ
0 cos 30 cos 30 
(
 y    R. #1 & ' θ *
Despreciamos la componente de la aceleración, para

1 1
φ
simplificar los cálculos y dado que es un valor de
θ)
L L L
modulo constante conocido que se puede corregir

X  R. B. θ
luego. Con esta aproximación tendremos un vector
independiente de aceleraciones que se calculan en
(3)
base a la dinámica del sistema.

xG  φ [ y aU
,θ-:
Pero como nosotros tenemos V, necesitamos calcular
 yG     φ [ x  2 ]aV ^ =
θ( x  φG 0 α
1/m 0 0 1 sin 30 sin 30 f(
'θ *  . ,B-/(  y  
( φ [ y
 φ [ x  2  0 1/m 0  0 cos 30 cos 30 f 
φ
.
θ)
(4)
0 0 0 1/I L L L f)

φ [ y 1/m 0 0 1 sin 30 sin 30 τ(
 φ [ x  2 .  0 1/m 0  0 cos 30 cos 30 ]τ ^
(

X01(  X0 2 A. X  . ∆t τ)
El seguimiento de la Posición:
(5) 0 0 0 1/I L L L
(13)

V5  V6 2 V5/6 89: 2 Ω < r5/6


De la velocidad relativa al sistema fijo (2 y 3):
(6)
Modelo matemático de los motores
Dinámica Los motores usados son motores de corriente

_`a  _b 2 cde
Nos basamos en las leyes de Newton y enunciamos continua cuyas ecuaciones eléctricas son:

> @FA  m < @aA _b  fg


hij
de esta manera: (14)
hk
(15)

> τ  I F φG
fl c  m 2o 2 pq
h n ij
Y su ecuación mecánica es:
hij
hk n hk
(16)
De modo que habrá una aceleración angular siempre
que haya un cambio de dirección en el giro, de lo
Donde Vin es el voltaje de entrada a los motores, i la
contrario permanecerá a la velocidad angular de
módulo constante y de manera suave. También en el corriente del motor, θ m la posición del rotor, Km la
punto inicial (n=1) la aceleración tiene un valor constante de velocidad del motor. Además el modelo
diferente de cero. cuenta únicamente con el parámetro eléctrico Ra y

aceleración @aA que actúa sobre el sistema en


La fuerza total en el móvil es debida a una los parámetros mecánicos J (momento de inercia), B
(coeficiente de viscosidad) t Tc (Torque de carga).

∑F@@@@@A
  m F @aA  f@@A( 2 f@@A 2 f@@A)
movimiento.
Modelamiento del sistema
τJ
J  I F φG  K2. L 2 K2. L 2 K3. L
(7)
(8) Usando las ecuaciones obtenidas en la cinemática y
dinámica, junto con el modelado matemático de los
Las fuerzas se generan por los torques que es lo que motores obtendremos el modelado de todo el sistema.
Af(,,) F R  @τA(,,)
finalmente deseamos calcular:
Podemos escribir las ecuaciones (13), (15) y (16) de

rG  q 2 sopq
(9) la siguiente manera:

pq  f k c ml tG 2 ol t
c  y t
Todo esto calculado respecto a un eje inercial, por lo
que usaremos la expresión general obtenida de [10] y u x
vw vw
(17)
[11] para determinar los valores de coriolis y
aceleraciones en los ejes soldados al cuerpo (body

A  A
2 ΩN < r/
2 Ωx 2
OPQ/R OSQ/R
frame): Usando la ecuación cinemática (3) podemos expresar

OJ OJ
(10) todas las variables anteriores en función de x, sus
derivadas y el voltaje, obteniendo la siguiente
Donde ecuación:
z{ 2 oo } ~ rlG  q 2 z  so~ _ € zol 2 y  ~
|j x ( x x
m: Sistema Móvil
v vw v vw

‚rlG  q 2 ƒ_ „X
o : Sistema Fijo (origen) (18)
Ω: Velocidad angular del sistema móvil (19)

Ta U , a V W  0 2 φG < x, y 2 φ < x , y


Reemplazando:

2 xG  , yG 
Reconocimiento de Parámetros

aU φG [ y φ [ y xG
Xa Y  Z \ 2 Z  \ 2 Z \
Una parte fundamental para la obtención de un

φG [ x φ [ x yG 
modelo matemático exacto es la correcta
V
xG φG [ y φ [ y aU
(11)

Z \  Z  \2Z  \ 2 Xa Y
determinación de los parámetros del mismo.

yG  φG [ x φ [ x V
(12) En nuestro robot tenemos parámetros físicos como
la masa e inercias. Parámetros geométricos como
4
‡  •Ž.  Ž |—b 
longitudes totales, radios, etc. Estos parámetros Donde
pueden ser fácilmente obtenidos con mediciones x
directas o por medio de software que simulan dichas ‰Š .‰n

o  Ž 2 ˜( •.  Ž |—/‰Š 
x
propiedades mecánicas. Sin embargo, los parámetros
propios de los motores DC son algo más complicados ‰Š . ‰Š /‰n

‹  Ž 2 ˜ •.  Ž |—/‰n 
x
de obtener, pues estos varían con el uso, es por tanto
‰n . ‰n /‰Š
de suma importancia realizar un reconocimiento de
parámetros cuando se usan motores usados o se desea
verificar los datos del fabricante.
Reconocimiento de parámetros en motores DC

Teniendo una entrada de voltaje constante el motor


DC alcanza una velocidad determinada luego de
pasar por un periodo transitorio, si tuviésemos esos
valores y pudiésemos reconstruir esa curva
tendríamos la salida del sistema respecto a una
entrada tipo step y mediante ajustes de curva
podremos obtener la función de transferencia de
motor requerido.
Algoritmo de obtención de una función de
transferencia de una planta dada
Para obtener los modelos de la data transitoria se
asume entrada escalón (step) ya que se conoce el tipo Figura 6 Descomposición de Respuesta Escalón
de salida que genera en una planta de segundo orden

Para un t grande …( † ™ … † , y definiendo:


como es el caso de nuestros motores DC, en la figura

š †  ‡ … †  o. ˆ /‰Š .k ‹. ˆ /‰n.k
5 se aprecia:
(23)

Para un tiempo suficientemente grande:


š † ™ o. ˆ /‰Š.k (24)

Si derivamos la expresión:

 ˜(
h ›a œŠ k

(25)

Esto gráficamente significa:

Fig 5 Curva característica de un proceso de bajo orden

Puede asumirse que la curva está dada por una suma


exponencial
… †  ‡ 2 o. ˆ /‰Š.k 2 ‹. ˆ /‰n .k
‡  … ∞ (20)
Respuesta al escalón para sistemas de 2do orden:
Considerando el sistema:

 Ž  1‰
x
Figura 7 Ajuste de Curva logarítmica para cálculo de p1

Š 1‰n
(21)
De esta manera se pueden obtener las otras variables:
‹  ‡ 2 o
Suponiendo que p1/p2 >3

 Ž  
‘  x
  1‰Š 1‰n
o
˜  ˜
 2 2 ‹ (
’ “ ”
 1‰Š 1‰n
f  ‡. ˜( . ˜
(22)

Gráficamente podemos analizar:

5
El lazo interno realiza el control de las velocidades
vistas desde el sistema fijo al móvil, el lazo externo
lo hace con respecto a los desplazamientos. El control
puede dividirse en dos partes:
1. Se calcula las salidas deseadas en base al
cálculo de la cinemática y dinámica inversa.
2. Se realiza la Linealización respecto a la
trayectoria como se muestra en [1] y se usan
controladores adaptativos para corregir los
posibles errores.

De (1) y definiendo a X como ,¨ © ª-« y a


Lazo de realimentación externo

,¬­ …® ¯®-« como la trayectoria deseada, tenemos:


Figura 8 Procedimiento de Cálculo de las

¨ ¬
°
Variables p1, p2 A,B,C

 Ž   1‰  ]©^  A/(  …


°̄ 
x x
uw  Š 1‰n  n 1 ‰Š 1‰n 1‰Š .‰n
ª °
ω ž
(27)

ŸQ


 ¡ .¢
n
uw 
ω ž
  .£¤¢.¥¡ ¥¡ .£¤¦§
 n 1X ¡ Yž1
(26)
 ¡ .¢  ¡ .¢
ˆ ¬ ¬­ ¨´( ¨®
Definimos al error de la trayectoria como:
³¨
 ˆ±    …   …®  y ³©   ©´(  ©­ 
ˆ² ¯ ¯® ª´( ª­
Comparando ambas expresiones se pueden despejar
³ª
(28)
los parámetros del motor tales como:

Ra: resistencia de armadura

ˆ ˆ
L: inductancia de armadura Linealizando (1) alrededor de la trayectoria deseada
³¨
' ˆ± *  ‡(  ˆ±  o( ³© 
B: coeficiente de fricción viscosa

ˆ² ˆ² ³ª
J: momento de inercia (29)
Km: constante de torque
Kb: constante contra electromotriz

Donde:
0 0 sin ¯® ¨® cos ¯®
‡(  0 0 cos ¯® ¨® sin ¯®  ;
Control del Sistema

0 0 0
De las ecuaciones mostradas en la sección anterior

cos ¯® sin ¯® 0
notamos que nuestra plataforma posee una dinámica

o(  µ sin ¯® cos ¯® 0¶
altamente no lineal, por esta razón no es posible

0 0 1
emplear algoritmos de control clásico como los PID
ampliamente conocidos y estudiados, al menos no
directamente.
En este proyecto se usará una metodología de diseño
de controladores no lineales conocida como “Control Una vez linealizada la dinámica del error, podemos
por Linealización de Trayectoria” o TLC por sus aplicar métodos de diseño de controladores clásicos
siglas en inglés, la cual ha sido usada con gran éxito como los PI por ubicación de polos [1] y [6] o
en [1] y [6], y en áreas afines que presentan podemos aplicar métodos de control óptimo, como lo
problemas similares como lo es la aeronáutica es el diseño de controladores por realimentación de
[12],[13]. estados.
Para el control del sistema se usarán dos lazos de Para esto hace falta definir la función de costo del
control, tal como se observa en la figura 9. sistema:
»
m·  ¸ ¬ ¹ º¬ 2 ¨¹ d¨
b

¨  f¬.
Resolviendo la ecuación de Riccati [14] con

‡( con diagonal dominante, por lo que se simplifico a


De los cálculos realizados se pudo obtener una matriz

¼c½¾,½(( ½( ½() - por facilidades de cálculo.


Figura 9 Diagrama del Controlador

6
Deseamos que dicha matriz en lazo cerrado: ‡ ¿( 
‡( o( f sea constante, por lo que usaremos un
controlador con ganancia variable fÀ( donde:
fÀ(  o( /( ‡( ¼c½¾,½(( ½( ½() - (30)

De (26) y definiendo a ,¨ ®®®( ®®®


¨ ®®®-
¨) « como los
Lazo de realimentación interno

voltajes nominales para los motores y a ,¨® ©­ ª­-«


Figura 11 Dinámica del Robot

¨
®®®( ¨® ª©
como las velocidades deseada, tenemos:

®®®
¨   so /( w ‚ ©­  so /( w ] ª¨ ^ 2
vv vv

¨)
®®® ª­ 0
xy a xy a

¨®
o¹ w z y  2 ÁÂ ~ ©­ 
v a x x

ª­
xy v vw
(31)

Figura 12 Cinemática Inversa

ˆ· ¨ ¨´( ³¨( ¨( ¨
®®®(
Definimos los errores en el lazo interno:

ˆÃ   ]© ^ ©´(  y ³©(   ©(  ®®®


¨ 
ˆÄ ª ª´( ³ª( ª( ¨)
®®®
(32)

Linealizando (19) alrededor de la trayectoria

ˆ· ˆ· ³¨(
tenemos:

ˆÃ   ‡  ˆÃ  o ³©( 
ˆÄ ˆÄ ³ª(
(33)

Figura 13 Dinámica Inversa

0 ª­ ©­
Donde:

‡  ‚ /(  ª­ 0 u® „; o  ‚ /( ƒ
0 0 0
De forma similar se calculan los valores empleando

¿  ‡ o f obtenemos:
matriz en lazo cerrado ‡
la función de costo para el lazo interno y hallando la

fÀ(  o /( ‡ ¼c½¾,½(( ½( ½() - (34)

Simulaciones
Para la realización de las simulaciones se implementó
el modelo matemático hallado en la cinemática y
dinámica (Figuras 10 y 11). Además de
Figura 14 Controladores Adaptativos
implementarse en el software el controlador no lineal
descrito anteriormente (Figura 9), el cual usa la
cinemática y dinámica inversa, así como los Además se consideró un saturador a la salida del
controladores adaptativos. (Figura 12, 13 y 14) controlador, el que no permitirá el uso de voltajes
mayores a 20 voltios, lo cual es una de las
restricciones físicas del modelo.
Para el control de trayectoria se le ordenó al robot
realizar la trayectoria de una circunferencia de 1m de
diámetro iniciando su recorrido en el centro de la
circunferencia.
Figura 10 Cinemática del Robot

7
Como se sabe, la red Backpropagation necesita por lo
menos una capa oculta, el número de neuronas de la
capa oculta no se puede calcular de manera directa
por tal motivo, lo que hicimos fue comenzar con un
número pequeño de neuronas el mismo que poco a
poco fuimos aumentando hasta que observamos en
las simulaciones que la red convergía a los valores
esperados.
A continuación se encuentra la estructura básica de la
red neuronal utilizada (Figura 18):

Figura 15 Trayectoria en X, Y y PHI

Figura 18 Estructura de la Red Neuronal

Como se puede apreciar para esta red utilizamos la


función sigmoidal en la capa oculta mientras que en
la capa de salida utilizamos la función identidad, esto
debido a la necesidad que poseíamos de obtener
valores binarios.

Figura 16 Ploteo en XY

Figura 19 Funciones utilizadas en la red

Una de las deficiencias que posee la red


Backpropagation es que si el valor de la taza de
aprendizaje (α) es demasiado grande se corre el
riesgo de saltar alguno de los mínimos, ya sea local o
global, en el caso inverso, si la taza de aprendizaje es
demasiado pequeña, se tiene más seguridad de llegar
a un mínimo pero el llegar hasta dicho punto tomaría
mucho tiempo de entrenamiento, para evitar estas
dificultades agregamos en la función de
entrenamiento un término llamado momento (β) cuya
función es introducir una fracción del incremento de
pesos que se tuvo en el instante anterior de esta
manera garantizamos que no saltaremos por encima
Figura 17 Voltajes en los Motores
el mínimo más cercano al punto de partida.

El algoritmo de aprendizaje se basa en regular los


Red Neuronal Artificial
pesos de tal forma que el error vaya disminuyendo, a
Para la parte inteligente de nuestro móvil utilizamos diferencia de otros tipos de red que también utilizan
una Red Neuronal del tipo Backpropagation, puesto este método, la Backpropagation no solo se centra en
que necesitamos seleccionar un valor adecuado para el error cometido en la salida, sino que también
diversas entradas, puesto que nuestras salidas mas evalúa el error que se comete en la capa oculta de
tienden a ser simplemente la significación de neuronas.
determinados valores (izquierda y derecha),
utilizaremos una función sigmoidal en las neuronas Para el entrenamiento de esta red utilizamos las
de la capa oculta, ya que esta función arroja valores herramientas que otorga el Matlab, puesto que sólo
que tienen una tendencia a lo binario. necesitamos una función que sea capaz de predecir el

8
mejor comportamiento para el móvil este software comportamiento que el móvil tendría en cualquier
otorga las funciones necesarias para realizar un circunstancia.
entrenamiento a mayor velocidad y de esta manera
poder emplear ese tiempo ahorrado en pruebas de Como primer paso necesitamos crear un mapa
dicha función obtenida. aleatorio el cual deberá ser recorrido exitosamente
por el móvil sea cual sea la disposición de los
Como resultado del entrenamiento obtuvimos el obstáculos.
siguiente cuadro de progreso:

Figura 22 Generación aleatoria de un mapa

Como siguiente paso introducimos la función que fue


otorgada por el Matlab a la trayectoria del móvil y de
esta manera comprobamos la eficacia de esta:

Figura 20 Cuadro del Progreso en el Entrenamiento

Y la siguiente función del error respecto al progreso


en el entrenamiento:

Figura 23 Trazo de la trayectoria realizada

Sensores Ultrasónicos
Un factor muy importante para la toma de decisiones
de la trayectoria a seguir por parte del robot, son los
sensores que le permiten reconocer si existen
obstáculos en la dirección y sentido en el cual se
moviliza y que sean capaces de enviar información
aún en situaciones desfavorables (total oscuridad,
exceso de luz, niebla, etc.), por lo cual dichos
Figura 21 Función del error respecto al avance en el sensores son de tipo ultrasónico.
entrenamiento Un sensor ultrasónico, como su nombre ya lo
describe, es aquel con el cual podemos explorar el
Como se puede observar nosotros creemos entorno por medio del envío y recepción de ondas
considerable tener una tolerancia en el error de ultrasónicas, de esa manera la onda emitida por el
aproximadamente 10-5 el cual alcanzamos luego de sensor recorrerá dos veces la distancia que queremos
haber realizado una gran cantidad de iteraciones. saber:
Para probar que dicha función arrojada por las redes
Distancia 
neuronales es efectiva realizamos una GUI en Matlab ÇÈÉ
USÈÊ
ËOÌO OÈÊ Í
0O


para poder visualizar de manera sensilla el (35)

9
El sensor es controlado por un pulso 1 lógico, con
una duración de 10uS. Después de recibir este pulso, VII. RECOMENDACIONES
los sensores envían una señal acústica ultrasónica y
coloca la línea de eco en 0 lógico, a la espera de la Se recomienda la compra de motores con encoders y
recepción de eco. Una vez que el eco es caja reductora ya incorporada.
recepcionado, se pone nuevamente la línea de eco en
0 lógico. Con el microcontrolador se llega medir el
tiempo de los ecos, es decir el tiempo en que la línea
de eco estaba en 1 lógico y así calcular la distancia
del obstáculo. Pero como el funcionamiento del
robot, no requiere de la distancia a la cual está el
obstáculo, sino que solo requiere la presencia del
mismo, entonces el microcontrolador se encarga de
enviar una respuesta 1 lógico, si el obstáculo está
entre 3cm y 15 cm frente a él; y una respuesta 0
lógico cuando dicha distancia esté por encima de
15cm. Figura 25 Motor DC con encoder

Si no se compran motores nuevos o el presupuesto no


VI. CONCLUCIONES es lo suficientemente holgado y debe de optarse entre
comprar motores con encoders o motores con cajas
Mediante el empleo de 3 ruedas omnidireccionales es reductoras se recomienda preferir los motores con
posible diseñar una plataforma que cumpla con los encoders pues acoplar los mismos a motores que no
requisitos planteados en nuestros objetivos, pues no los posean es un trabajo aún más complicado que
presenta restricciones en la dirección de su acoplarles cajas reductoras.
movimiento, además al tener sólo 3 puntos de apoyo En el modelado matemático de los motores es posible
garantizamos la existencia de un plano único que los despreciar el efecto de las inductancias de los
contenga, por lo tanto nos aseguramos que todas las motores, pues en la mayoría de casos estas no afectan
ruedas se encuentren en contacto directo con la mucho al modelo y simplifica el sistema.
superficie y contribuyan al desplazamiento del móvil. Es necesario recordar que el móvil contendrá
deslizamientos en el arrastre de las ruedas
Se ha logrado obtener un modelo no lineal que omnidireccionales, pero estos pueden ser
representa satisfactoriamente al sistema. Este modelo compensados con el controlador.
se resume en las ecuaciones 17 y 18. Se recomienda no tomar en cuenta las aceleraciones
pequeñas (como se hizo anteriormente) con el fin de
El algoritmo de control diseñado se muestra eficiente, desacoplar la matriz y hacer más sencillo el cálculo
(figuras 15 y 16). Además el empleo de técnicas de inverso, y de este modo la cinemática inversa.
control óptimo y las funciones de costo nos permiten
obtener un equilibrio entre exactitud y potencia, lo BIBLIOGRAFÍA
cual le otorga al método planteado una gran ventaja,
pues ante distintas necesidades pueden fácilmente [1] Yong Liu, Xiaofei Wu, Jim Zhu, J. Jae Lew Sch. of Electr.
Eng. & Comput. Sci., Ohio Univ., Athens, OH, USA,
adaptarse las ganancias de los controladores. “Omni-Directional Mobile Robot Controller Based on
Trajectory Linearization”, pp 234-242.
Para el diseño del módulo de evasión de obstáculos [2] Muir, P. Neuman, C. “Kinematic modeling for feedback
que empleará 3 sensores ultrasónicos para la control of an omnidirectional wheeled mobile robot”
Carnegie Mellon University, Pittsburgh, PA;
detección de obstáculos se planteó colocarlos en la [3] V. F. Muñoz Martínez, G. Gil-Gómez y A. García Cerezo
parte frontal del omnidireccional separados unos 15º, “Modelado Cinemático y Dinámico de un Robot Móvil
esta configuración se ha mostrado satisfactoria ante Omni-direccional”. Instituto Andaluz de Automática
varios de los casos posibles como los mostrados en la Avanzada y Robótica. Dpto. Ingeniería de Sistemas y
Automática. Universidad de Málaga.
Figura 24, además permite un fácil entrenamiento de [4] Robert L. Williams II, Brian E. Carter, Paolo Gallina and
la RNA. Giulio Rosati “Dynamic Model with Slip for Wheeled Omni-
Directional Robots”, IEEE Transactions on Robotics and
1 2
Automation Vol. 18, No. 3, pp. 285-293 - 2002
[5] 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
[6] Watanabe, K., Shiraishi, Y., Tzafestas, S. G., Tang, J. and
3 4
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.
[7] Dongkyoung Chwa, “Sliding-Mode Tracking Control of
Figura 24 Casos Posibles Nonholonomic Wheeled Mobile Robots in Polar

10
Coordinates” IEEE Transactions on Control Systems
Technology, Vol. 12, No. 4, July 2004
[8] A Filipescu, U Nunes, S Stamatescu “Discrete-time, sliding-
mode WMR control based on parameter identification” 16 th
IFAC World Congress, 2005
[9] Giuseppe Oriolo, Member, IEEE, Alessandro De Luca,
Member, IEEE, and Marilena Vendittelli “WMR Control
Via Dynamic Feedback Linearization: Design,
Implementation, and Experimental Validation” IEEE
Transactions on Control Systems Technology, Vol. 10, No.
6, November 2002
[10] R.C. Hibbeler, Engineering Mechanics Dynamics, cap ‘rigid
body dynamics’, 2008.
[11] James L. Meriam, Dynamics, Edicion 2, Editorial Wiley,
1971. Universidad de Michigan .
[12] 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, to appear, August, 2000
[13] J. Zhu, A. Scott Hodel, Kerry Funston and Charles E. Hall,
“X-33 entry flight controller design by trajectory
linearization - a singular perturbational approach”.
Advances in the Astronautical Sciences, Vol.107, 151-170
[14] Stanislaw H. Zak , “Systems and Control” Capítulos 4-6

11