Beruflich Dokumente
Kultur Dokumente
AUTORES
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
2
3
cos φ
senφ
0
A senφ
cos φ
0
0 0 1
(1)
Donde X A. X
X V sin α
Las velocidades se descomponen como:
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)
_`a _b 2 cde
Nos basamos en las leyes de Newton y enunciamos continua cuyas ecuaciones eléctricas son:
> τ 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
∑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)
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
o. / .k . /n.k
5 se aprecia:
(23)
Si derivamos la expresión:
(
h a k
h
(25)
1
x
Figura 7 Ajuste de Curva logarítmica para cálculo de p1
1n
(21)
De esta manera se pueden obtener las otras variables:
2 o
Suponiendo que p1/p2 >3
x
1
1n
o
2 2 (
1 1n
f . ( .
(22)
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.
¨ ¬
°
Variables p1, p2 A,B,C
Q
¡ .¢
n
uw
ω
.£¤¢.¥¡ ¥¡ .£¤¦§
n 1X ¡ Y1
(26)
¡ .¢
¡ .¢
¬ ¬ ¨´( ¨®
Definimos al error de la trayectoria como:
³¨
±
® y ³© ©´( ©
² ¯ ¯® ª´( ª
Comparando ambas expresiones se pueden despejar
³ª
(28)
los parámetros del motor tales como:
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
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)
¨
®®®( ¨® ª©
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)
· ¨ ¨´( ³¨( ¨( ¨
®®®(
Definimos los errores en el lazo interno:
· · ³¨(
tenemos:
à à o ³©(
Ä Ä ³ª(
(33)
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
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 16 Ploteo en XY
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:
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
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