Professional Documents
Culture Documents
TESIS
PRESENTA:
JUAN FRANCISCO VILLA MEDINA
DR. JESS ALBERTO SANDOVAL, UABC DR. ALEJANDRO ISRAEL BARRANCO, CICATA
VOCAL VOCAL SUPLENTE
Con base en el dictamen de aprobacin emitido por el Com it Tutorial de la Tesis denom inada: "C ONT RO L DISTRIB UIDO
PARA VEHCULOS AUTNOMOS BASADO EN COMPON ENTES INTELIGENTES". mediant e la opcin de tesis (Proyectos
de Investigacin) , entregado por usted para su anlisis, le informa mos que se AUTORIZA la impresin.
ATENTAM EN T E
"Ciencia es Verdad, Tcnica es Libertad"
::~ -~'~
~" 1 ABL PEREZ AL"VAREZ,
JEFE DE LA DIV. DE EST. DE POSGRADO E INV.
iNllTmITO TECNlX.OOIO:l ce LA I\U
DMSlClN DE EST\JOOJS CEPOSGAADl)
E tW'";:S1'lCl,\CDj
PPNyptm
Bculevard Forjadores de 8.CS. #4720. Col. 8 de ocr. lera. Seccin CP. 2~08(l
La Paz. 8.C.S. Conmutador (612) 121- 04-24 , Fax: (6 12) 121- 12-95
www.itlp.edu.mx
~~
Direccin General deEducacin Superior Tecnolgica
Instituto Tecnolgico de La Paz
~ frr,rT\IL' O[ Inst it utos Te cno lg icos
ll' (JUc.r:-< I"('BUU.
SUBDIRECCIN ACADMICA
DIVISIN DE ESTUDIOS DE POSGRADO E INVESTIGACIN.
Por medio del presente, informamos a usted que se autoriza la impresin del siguiente trabajo de
tesis:
Atentamente.
"Ciencia es verdad, Tcnica es Libertad"
El Comit Tutorial
ITLP-DEPI-RTT-10 Rev.O
Juan
c Francisco Villa Medina, 2013.
Dedicado a mi familia.
VI
Agradecimientos
de tiempo libre.
A mis profesores del posgrado del Instituto Tecnologico de La Paz, que a lo largo de
estos dos u
ltimos a
nos amplie mis conocimientos en diferentes areas, gracias. Gracias
a la M.S.C. Iliana Castro por su atencion y apoyo, siempre con buena disposicion.
Gracias a la Direccion General de Educacion Superior Tecnologica (DGEST) por
la beca que me fue otorgada dentro del Programa de Capacitacion Estudiantil de los
Programas de Posgrado 2011.
VII
Resumen
Abstract
Autonomous vehicles are used in diverse applications due to their great potential to
move toward a particular site and perform a specialized task. This thesis formulates,
implements, and validates a distributed control architecture for the autonomous vehi-
with the implementation of the intelligent components. The wall and trajectory fo-
llowing tasks were assigned to evaluate the performance of the distributed control
architecture based on intelligent components.
The major result of this work has been the formulation of the distributed con-
trol architecture based on intelligent components as a practical alternative for the
Agradecimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VI
Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VII
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VIII
1. Introducci
on 1
1.1. Hipotesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Propuesta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.1. Objetivo General . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.2. Objetivos Especcos . . . . . . . . . . . . . . . . . . . . . . . . 6
2. Dise
no: Arquitectura de Control 8
IX
Contenido X
4. Implementaci
on: Arquitectura de Control 58
4.1. Componentes Inteligentes . . . . . . . . . . . . . . . . . . . . . . . . . 58
5. Conclusiones 78
5.1. Contribuciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Bibliografa 81
XII
INDICE DE FIGURAS XIII
2.2. Peticiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3. Peticion de Giro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4. Registro de Componentes Inteligentes . . . . . . . . . . . . . . . . . . . 16
A.3. Peticiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
XVI
Captulo 1
Introducci
on
ambiente de trabajo especco. Estos sistemas roboticos han sido utilizados para au-
tomatizar diversos procesos en la industria y para realizar tareas en otros sectores,
como la exploracion aerea, espacial o submarina, as como la b
usqueda y rescate en
siniestros, o bien, la prestacion de servicios en hogares y ocinas. Asimismo, la roboti-
ca que se dene como la ciencia que dise
na, construye, opera e implementa robots,
1
2
Por otro lado, diferentes estrategias de control han sido utilizadas para la implementa-
cion de robots, tres clasicaciones pueden denirse: arquitecturas reactivas, delibera-
tivas e hbridas. Las arquitecturas reactivas ofrecen respuestas rapidas, gracias a una
coleccion de reglas embebidas en el sistema robotico y formadas por una condicion que
relaciona una accion, como puede ser Si hay contacto, entonces detener[6] [1]. Sin
[18] [13] [3] [25], [7]. Esta estrategia tambien es llamada arquitectura de tres capas
independientes: el planeador, el sistema reactivo y el modulo intermedio.
Recientes propuestas han desarrollado arquitecturas de control compuestas por modu-
los genericos que realizan una funcion especca en la conguracion de robots persona-
1.1. Hip
otesis
1.2. Propuesta
alg
un sensor y procesar la informacion de acuerdo a un algoritmo determinado y el
1.2. Propuesta 5
global.
La estrategia de control propuesta implica que los componentes inteligentes sean se-
leccionados de acuerdo a las especicaciones de la tarea asignada. Se busca una con-
guracion modular con la posibilidad de agregar o retirar componentes sin afectar al
resto del sistema y permitir la escalabilidad, mientras se cumple con la tarea de manera
autonoma y segura. La estrategia de control propuesta se fundamenta en la arquitec-
tura basada en comportamientos con un funcionamiento y conguracion distribuida
constituida por una red de comportamientos e implementados por los componentes
bajen con vehculos autonomos, como una alternativa para el control de estos sistemas
roboticos. Presenta ventajas al distribuir la tarea a realizar por el robot en diferen-
tes funciones atendidas por diversos componentes inteligentes, con simplicidad en el
desarrollo y depuracion de fallos al trabajar en secciones independientes a la vez.
1.3. Objetivos
Dise
nar e implementar una arquitectura de control distribuida para vehculos autono-
mos basada en componentes inteligentes. Cada componente inteligente en la congu-
racion de un vehculo autonomo sera un componente autonomo y coordinado bajo un
mecanismo de control descentralizado para proveer un comportamiento emergente para
Dise
nar los componentes inteligentes para implementar la estrategia de control.
Dise
nar la logica de comunicacion y coordinacion para el control distribuido pro-
puesto.
Dise
nar y desarrollar el conjunto de componentes inteligentes para la congura-
cion de un vehculo autonomo.
Evaluar el desempe
no de la arquitectura de control.
1.4. Descripci
on del Documento
Dise
no: Arquitectura de Control
(Fig. 2.1).
8
2.1. Componente Inteligente 9
Unidad
de
Enlace
Unidad
de
Procesamiento
Actuador/Sensor
Un CI esta organizado en un solo modulo fsico que incluye los elementos fsicos (hard-
ware) y logicos (software) de cada una de las unidades, e incluso los elementos de
energa necesarios para su operacion.
2.1. Componente Inteligente 10
de los CIs que conguran al sistema, dado que cada CI se encargan de una funcion
especca con la dependencia exclusiva del hardware involucrado (sensor o actuador)
en su implementacion.
Los CIs implementados por sensores son los que generalmente transmiten peticiones
(Fig.2.2a), a partir de analizar los datos proveniente del sensor y generar el comando
correspondiente; mientras que los CIs basados en actuadores son los que recibe peticio-
nes (Fig. 2.2b), las cuales son interpretadas y ejecutadas por un algoritmo pertinente
que controla la operacion del actuador. Tambien se pueden implementar CIs hbri-
dos (Fig. 2.2c), los cuales transmiten y reciben peticiones, que cuentan con sensores y
actuadores.
Unidad
Unidad Unidad de
de de Enlace
Enlace Enlace Recibe/Enva
Enva peticiones Recibe peticiones peticiones
Procesamiento
Procesamiento Procesamiento Interpreta peticiones /
Medicin de sensores / Interpreta peticiones / Medicin de sensores /
Toma de decisiones Ejecuta acciones Toma de decisiones
(a) CI que enva peticiones (b) CI que atiende peticiones (c) CI hbrido
funciones independientes a la plataforma movil del sistema robotico, los cuales podran
ser removibles e intercambiables en otros sistemas roboticos (Fig. 2.3).
La implementacion de sistemas roboticos basados en componentes inteligentes propor-
ciona una arquitectura de control con un entorno de ejecucion distribuido e indepen-
diente del hardware y del lenguaje de programacion que utilice cada uno de los CIs;
E E
P P
E A S/A E
P P
A E S
E Coordinador E
P P
A S
E E
P P
S/A S
2.2. Comunicaci
on
Para llevar a cabo la interaccion entre los CIs se selecciono el protocolo ZigBee [16] (Fig.
2.4) como el medio de comunicacion, debido a que permite crear redes inalambricas de
area personal (WPAN) y presenta bajo consumo electrico en comparacion con otras
alternativas, como Bluetooth [15], IrDA [19], y WiFi [14]. El estandar ZigBee es un
conjunto de protocolos de comunicacion inalambrica que utiliza el rango de 2.4 GHz,
2.2. Comunicacion 13
Avanzar Avanzar
Componente Componente
Traccin Seguidor
Incrementar
Velocidad
Componente
Coordinador
Evasor
Izquierda
Componente
Componente
Odmetro
Direccin Incrementar
Izquierda Velocidad
el que genera la red de trabajo de los ZigBee y elige el canal de transmision, al menos
debe existir uno por red. El ruteador que puede servir para encaminar los paquetes de
comunicacion entre dispositivos-nales y el coordinador. Los dispositivos-nales solo
pueden comunicarse con su nodo padre, ya sea un ruteador o coordinador.
La topologa ZigBee es analoga con la arquitectura de control basada en CIs donde
2.3. Operacion 14
2.3. Operaci
on
2.3.1. Peticiones
Para la comunicacion entre los CIs, se implemento un protocolo que establece el conte-
nido de las peticiones en un esquema de 5 bytes (Tabla A.2), que incluyen la peticion
con un n
umero de 8 bits que la identica, un parametro auxiliar que es opcional con
el porcentaje de accion que algunas peticiones requieren, la prioridad de la peticion
requerida para decidir el orden de su atencion, el identicador es el ndice registrado
0 Centrar Direccion NA
3 Detener Motores NA
6 Incrementar Velocidad NA
7 Decrementar Velocidad NA
2 70 80 3 255
distribuye entre los CIs existentes en el sistema. Para ello el CI-Coordinador lleva una
lista de todos los CIs existentes en el sistema con la informacion del mismo, a traves
de un proceso de registro que cada CI realiza al integrarse al sistema.
Coordinador para interactuar con el resto de los CIs. Este proceso permite conocer
a todos los CIs, las peticiones que puede atender un CI y las peticiones que puede
enviar, as como la prioridad de cada una de ellas; el nombre del CI tambien es ne-
cesario y al registrarse se le asigna su identicador numerico u
nico. Las direcciones
tanto de 16 como de 64 bits del dispositivo ZigBee de cada CI tambien son requeridas
para mantener la interaccion durante la operacion del sistema robotico (Tabla 2.4). Se
denio el n
umero de peticiones maximas a atender para cada CI en 10, lo que resulta
suciente para el desempe
no apropiado del sistema.
Inicio
En espera de solicitudes de
registro/comandos
No
Registra
Es comando?
componente
Si
Revisar lista de
componentes
No
Atiende este
comando?
Si
Enviar comando
una ventaja pero puede haber conictos si se solicitan peticiones contradictorias como
Avanzar y Detener al mismo tiempo por CIs diferentes.
Los CIs que atienden peticiones implementan un mecanismo para la eleccion de las
solicitudes a atender. A partir de la prioridad de la peticion solicitada se decide si es
atendida o no.
Inicio
Solicitud recibida
Identificador de
Comando Porcentaje Prioridad
Componente
Si
No
Si
No
Cada CI guarda de la u
ltima peticion atendida, la prioridad y el identicador del
componente que la solicito. Se comparan entonces las prioridades entre la u
ltima accion
de los CIs registrados, as como las peticiones que atienden, con lo cual se transmite
la peticion a los CIs que puedan atenderla. Al recibir una peticion un CI, en este caso
CI-3, interpreta dicho comando y decide las acciones a ejecutar con base en la prioridad
de la misma peticion (Fig. 2.8).
Interpreta la
peticin y
aplica el
Unidad de Unidad de Unidad de Percibe el entorno y
mecanismo 8 Procesamiento Procesamiento
5 2 Genera la peticin
Procesamiento
de seleccin
basado en Consulta
prioridades lista de CIs
Realiza la
accin
9 Actuador Coordinador Sensor 1 Medicin
autonomos tendran la capacidad de ser operados a distancia por un usuario con una
retroalimentacion visual.
20
3.1. Componentes Inteligentes 21
de cada uno de los CIs, con las unidades funcionales de procesamiento y enlace, as co-
mo los puertos de entrada y salida para la conexion de los actuadores y/o sensores
correspondientes.
de tiempo real.
La comunicacion ZigBee esta dado por los circuitos XBee-PRO fabricados por Digi
International. Estos radio modems permiten una comunicacion punto a punto o punto
a multipunto con velocidades de hasta 250 kbits/s en la frecuencia de transmision de
formar un paquete para enviar la informacion, entre otras cosas con la direccion del
3.1. Componentes Inteligentes 22
Unidad de
Enlace
XBee
Tx Rx
Energa Unidad de
Procesamiento
Microcontrolador
Actuador/Sensor
modulo destino.
La tarjeta generica incluye la unidad de procesamiento y enlace, as como una serie
de conectores para realizar la conexion con sensores o actuadores (Fig. 3.1). La comu-
nicacion entre el XBee y el microcontrolador es serial asncrona a una velocidad de
transmision de 9600 bits/segundo, basado en el estandar RS-232 con nivel de 0 a 3.3
V. Utiliza dos reguladores de voltaje, un regulador ADP122AUJZ-3.3-R7 que regula
a 3.3 V y un regulador CP1700 que regula a 2.5 V, as como una serie de resistores
con traccion en sus cuatro llantas, impulsado por dos motores de corriente directa
en paralelo para el avance y retroceso. Esta plataforma cuenta con un mecanismo de
direccion para el eje anterior y otro en el eje posterior, controlados por un servomotor
respectivamente.
Las dimensiones del vehculo son de 0.51 m de largo por 0.385 m de ancho, la separacion
entre ejes es 0.33 m, el diametro de las llantas es de 0.165 m. El chasis de la plataforma
es de aluminio. Los motores de traccion tienen una caja de engranes con una relacion
de 67.67:1 con una salida nal de 150 RPM a 12 V, con un consumo de corriente al
aire de 300 mA. Los servos son marca Futaba modelo S3004.
En este trabajo se utiliza u
nicamente el sistema de direccion del eje posterior; por lo
tanto el vehculo se comporta con la cinematica Ackermann, donde las dos ruedas en
el eje anterior brindan la traccion y las ruedas del eje posterior giran sobre un pivote
cambiando la direccion del vehculo.
El vehculo puede desplazarse a cualquier punto (x, y) en el plano (X, Y ). El angulo
es la orientacion del vehculo con respecto al eje X y V representa la velocidad lineal.
El angulo se dene como el angulo de giro del vehculo y L es la distancia entre ejes
(Fig. 3.5). El modelo cinematico del vehculo se deriva de la propiedad de un cuerpo
rgido y esta dado como:
x(t)
= V (t) cos((t))
y(t)
= V (t) sin((t))
= V (t) tan((t))
(t) (3.1)
L
Por lo tanto, la velocidad y la direccion del vehculo Ackermann deben ser atendidas
por un CI-Traccion y un CI-Direccion, respectivamente.
3.3. Componentes Inteligentes Especficos 26
(x, y)
ovil Ackermann.
Figura 3.5: Geometra de la plataforma m
Los motores de traccion y las ruedas del eje conforman el CI-Traccion, con la imple-
4N32 que sirven para aislar el ruido electrico generado por los motores a las unidades
de procesamiento y enlace (Fig. 3.6).
Las se
nales de activacion (A, B, C y D) de los motores son generadas de acuerdo a
la Tabla 3.1 e implementan una modulacion de ancho de pulso (PWM) para regular
Unidad
de
Enlace
Unidad de
Procesamiento
PIC24FJ64GB004
Optoacopladores
Bateras A B C D
para Controlador
motores de Motores
traccin
SAL1 SAL2 SAL3 SAL4
Motor1 Motor2
Actuador
Figura 3.6: Conexi
on general del CI-Tracci
on, Controlador de motores y Motores de
tracci
on.
con el valor proporcional al porcentaje del PWM. La accion Detener indica un estado
de alto para cada motor. Para regular una velocidad determinada en el vehculo, el CI-
Traccion modica el porcentaje del PWM con base en las peticiones de Incrementar y
Decrementar Velocidad (Fig. 3.7). Los circuitos del CI Traccion terminados as como
Inicio
En espera de peticiones
Si
Avanzar? Avanzar Motor 1
No
Si
Retroceder? Retroceder Motor 1
No
Si
Detener? Detener Motor 1
No
Si
Incrementar Aumentar
1
Velocidad? Velocidad Actual
No
Si
Decrementar Disminuir
1
Velocidad? Velocidad Actual
No
Avance 0 1 1 0 1 0 1 0
Retroceso 1 0 0 1 0 1 0 1
Alto 0 0 0 0 0 0 0 0
Freno 1 1 0 0 NI NI NI NI
(Fig 3.9).
Para la plataforma movil tipo Ackermann, el CI-Direccion controla dos servomotores
Futaba S3004 colocados en los ejes anterior y posterior. Utiliza una tarjeta generica para
CI y genera los pulsos de control para ambos servomotores con base en las peticiones
recibidas de otros componentes inteligentes en el sistema.
Los servomotores emplean tres cables, dos de alimentacion y uno de control. La ali-
mentacion es a 5 V y la se
nal de control es un pulso digital que genera la unidad de
procesamiento del CI para cada servomotor (Fig. 3.10). La implementacion del CI de
Direccion se muestra en la Figura 3.11.
Inicio
En espera de peticiones
Si
Girar Actuador a la
1
Izquierda? Izquierda
No
Si
Actuador a la
Girar Derecha? 1
Derecha
No
Si
Centrar? Centrar actuador 1
No
realiza el recorrido.
Es capaz ademas de regular la velocidad por medio de las peticiones de Incrementa y
3.3. Componentes Inteligentes Especficos 31
CI-Direccin
Unidad
de
Enlace
Unidad de
Energa Procesamiento
PIC 24FJ64GB004
Servomotor Servomotor
Actuador
Inicio
1 2
No
Convierte a
1 Recorrer? Distancia
Si
Inicializa cuenta
Si
Enviar Comando VelocidadActual <
2
Incrementa Vel VelocidadDeseada
No
Actualiza
DistanciaActual
Si
Enviar Comando VelocidadActual >
2
No Decrementa Vel VelocidadDeseada
DistanciaActual <
DistanciaRecibida ? No
Si
Enviar Comando
Detener
ometro Ackermann.
Figura 3.12: Comportamiento del CI-Od
una velocidad constante. Al presentarse una peticion de Recorrer una distancia, se enva
la peticion Avanzar y se comienza a acumular la distancia recorrida desde ese momento
hasta alcanzar la distancia deseada, y entonces se enva la peticion Detener. El envo de
Incrementa o Decrementa Velocidad se presenta luego de comparar la velocidad actual
con una velocidad previamente establecida, estas solicitudes no son enviadas en caso
3.3. Componentes Inteligentes Especficos 33
uno de los motores de traccion (Fig. 3.13). Se tienen 4331 pulsos por revolucion a la
salida de la caja de engranes. El sensor tiene una resolucion de 64 pulsos por giro del
motor y la caja de engranes una relacion de 67.67:1. Se utiliza un divisor de frecuencia
debido a la alta cantidad de pulsos por revolucion obtenida. Este divisor entre 16 es
implementado con un circuito 74LS93 (Fig. 3.13). La salida del divisor de frecuencia
se conecta a la entrada de la unidad de procesamiento del CI. La alimentacion tanto
del sensor como del divisor de frecuencia es de 5 V.
La plataforma diferencial utilizada es tipo oruga (Fig. 3.14), utiliza dos motores de 12
V DC con una caja de engranes con una relacion de 50:1 y una velocidad angular de
120 RPM. Su chasis es de resina de policarbonato y tiene soportes en aluminio, utiliza
polipropileno de uso rudo y moldes durables de plastico ABS en las orugas dentadas.
Sus dimensiones son 0.255 m de largo, 0.28 m de ancho, distancia entre ejes de 0.23 m
y una altura sin componentes de 0.12 m (Fig. 3.15).
El vehculo diferencial (Fig. 3.16) puede desplazarse a cualquier punto (x, y) en el plano
(X, Y ), con una orientacion dada por , donde vr y vl son las velocidades lineales de
las ruedas derecha e izquierda, respectivamente; v es la velocidad resultante y b es la
distancia del eje entre el par de ruedas. Esta conguracion del vehculo implementa
giros con radio de curvatura R sobre su propio eje a lo largo del centro instantaneo de
23cm
25.5 cm
28 cm
Y
L
R
(x, y)
b R X
curvatura (ICC) y normal a las ruedas, generados por las velocidades de los motores
para desarrollar una trayectoria. Debido a que la velocidad angular en el ICC es
el mismo para las ruedas, la posicion y orientacion (x, y, ) del robot con respecto
Las velocidades del vehculo diferencial son atendidas por un CI-Rueda Izquierda y
CI-Rueda Derecha, respectivamente.
3.3. Componentes Inteligentes Especficos 36
Son CIs basados en un motor de traccion y una rueda, cuya funcion es el control de
la movilidad del sistema robotico. Estos CIs atienden peticiones como Avanzar, Girar
Izquierda, Girar Derecha, Detener y Retroceder. Los CIs implementan el hardware
de control necesario para la operacion del motor de corriente directa con base en sus
especicaciones. Para satisfacer las peticiones de Avanzar y Retroceder, los CIs generan
las se
nales correspondientes para controlar el sentido de marcha y la velocidad del
motor. La peticion Detener indica a los CIs generar las se
nales para detener la marcha
de su motor.
Se tienen dos alternativas: Girar sobre su propio eje o Girar mientras se avanza rea-
lizando una trayectoria curva. Las acciones para peticiones de giros son particulares
para cada CI-Rueda Izquierda y Derecha.
En el caso del CI-Rueda Izquierda, si la peticion es Girar Izquierda y el motor esta de-
la accion opuesta (Fig. 3.17).Las acciones del CI Rueda Derecha en los giros dieren
u
nicamente en la direccion de marcha del motor de traccion (Fig. 3.18).
Los CIs Rueda Izquierda y Derecha controlan tanto la direccion como la traccion del
vehculo. Utilizan la tarjeta generica de componente inteligente, adicionada con un
controlador de motores DC, la unidad de procesamiento del componente se comunica
Inicio
En espera de peticiones
Si
Avanzar? Avanzar Motor 1
No
Si
Retroceder? Retroceder Motor 1
No
Si
Detener? Detener Motor 1
No
Si Si
Est Girar Disminuir
1
avanzando? Izquierda? velocidad
No No
Si
Si
Girar Aumentar
1 Retroceder Motor Girar Derecha? 1
Izquierda? Velocidad
No No
Si
1 Avanzar Motor Girar Derecha?
No
por bajo voltaje de entrada, sobre calentamiento as como por consumo excesivo de
corriente.
La conexion entre la tarjeta generica de CI, el controlador de motor y el motor se
3.3. Componentes Inteligentes Especficos 38
Inicio
En espera de peticiones
Si
Avanzar? Avanzar Motor 1
No
Si
Retroceder? Retroceder Motor 1
No
Si
Detener? Detener Motor 1
No
Si Si
Est Girar Disminuir
1
avanzando? Izquierda? velocidad
No No
Si
Si
Girar Aumentar
1 Retroceder Motor Girar Derecha? 1
Izquierda? Velocidad
No No
Si
1 Avanzar Motor Girar Derecha?
No
desarrollo un peque
no montaje de aluminio y fueron jados con tornillos al chasis (Fig.
3.20). Su ubicacion protege del exterior a los CIs, forman parte de los componentes
particulares para un vehculo diferencial por lo que son no intercambiables.
Unidad
de
Enlace
Unidad de
Procesamiento
PIC24FJ64GB004
Optoacoplador
FM TM
VMOTOR
Batera para
motor de MMBe
traccin
M+ M-
Motor
Actuador
Figura 3.19: Conexi
on de los CIs-Rueda Izquierda y Derecha.
Se utiliza una tarjeta generica (Fig. 3.21a) para componente inteligente junto con un
sensor optico incremental RE 5622 fabricado por Tosoku montado en el eje de uno de
los motores (Fig. 3.21b). Este sensor requiere una alimentacion de 5 V, cuenta con dos
canales de salida para distinguir en caso de requerirse, la direccion del giro del motor,
en este CI se utiliza un solo canal.
3.4. Componentes Inteligentes Comunes 40
Aquellos componentes que son intercambiables entre sistemas roboticos sin mayor mo-
dicacion que la conexion de energa son los componentes comunes. Principalmente
tienen sensores que con base en su medicion generan y envan las peticiones requeridas
para lograr su funcion.
3.4. Componentes Inteligentes Comunes 41
3.4.1. Distribuci
on de Energa
Tiene como funcion mantener una distancia (ds) entre el vehculo robotico y una pared
a su costado, para realizar un recorrido a su lado (Fig. 3.23). Con la medicion de dos
sensores ultrasonicos el CI genera peticiones con las acciones requeridas como girar,
Para estimar la distancia a los objetos, los sensores ultrasonicos miden el tiempo desde
que un pulso ultrasonico es enviado hasta que se recibe el eco de vuelta al sensor, luego
de chocar contra un objeto. Con base en ese tiempo y la velocidad del sonido se obtiene
una distancia.
Para construir este CI se utiliza una tarjeta generica de componente inteligente y dos
sensores ultrasonicos, operados por la unidad de procesamiento del CI (Fig. 3.25). Uno
de los sensores es colocado de forma ortogonal al vehculo con direccion hacia el objeto
a seguir, tpicamente una pared. El segundo sensor esta rotado 45 con respecto al
Sensor ultras
onico
Inicio
Lectura de Sensor 1
Lectura de Sensor 2
Si
Sensor 1 < 75 cm? Girar Izquierda 1
No
Si
Sensor 2 < 50 cm? Girar Izquierda 1
No
Si
Sensor 2 > 50 cm? Girar Derecha 1
No
Centrar Direccin
(Fig. 3.27).
En la implementacion del CI Evasor se utiliza una tarjeta generica de componente
inteligente y dos sensores ultrasonicos para detectar objetos. Su conexion electronica es
similar al CI Seguidor de Pared ya que se utiliza el mismo modelo de sensor, diere en el
Inicio
Si
Sensor Izquierda < 50 cm
O Retroceder Centrar Direccin 1
Sensor Derecha < 50 cm?
No
Si Si
Sensor Izquierda < 120 cm
Sensor Izquierda <
O Girar Derecha 1
Sensor Derecha?
Sensor Derecha < 120 cm?
No No
1 1
Cada sensor ultrasonico esta montado a cada lado de una base de acrlico dise
nada para
poder colocarse y removerse con facilidad del vehculo robotico en cuestion (Fig. 3.28).
Este CI se coloca al frente del vehculo para detectar obstaculos en el camino, los dos
(Fig. 3.29).
El CI Compas utiliza una tarjeta generica de componente inteligente y un sensor
HMC6352 fabricado por Honeywell. Este compas combina dos sensores magneto-resistivos
con la electronica analogica, digital, microprocesador y algoritmos requeridos para ob-
Inicio
No
Enviar Orientacin
Orientar?
Si
1 2
Actualiza
OrientacinActual
Si
Enviar Comando OrientacinActual <
1
Girar Derecha OrientacinDeseada?
No
Si
Enviar Comando OrientacinActual >
1
Girar Izquierda OrientacinDeseada
No
Enviar Comando
Centrar
Direccin
El montaje fsico del CI con su sensor es sobre una base de acrlico con un poste de
plastico para alejarlo de otros elementos metalicos del vehculo que puedan afectar su
funcionamiento (Fig. 3.31).
3.4. Componentes Inteligentes Comunes 48
Unidad
de
Enlace
Unidad de
Procesamiento
PIC24FJ64GB004
SDA SCL
HMC6352
Sensor Comps
Sensor
Figura 3.30: Conexi
on del CI-Comp
as.
Computadora
Interfaz Grfica Vehculo Robtico
Componente
Movimientos CI-Comunicacin
Teleoperacin Inteligente
Autnomos
Comunicacin Comunicacin
Inalmbrica Inalmbrica
Componente Componente
Debug Imagen Inteligente Inteligente
una interfaz graca de usuario (GUI por sus siglas en ingles) as como un enlace de
comunicacion inalambrico de alto alcance. Es un CI del tipo hbrido y es requerido
para complementar ciertos CIs.
La GUI es modular (Fig. 3.32), integra diversas ventanas para comunicarse con el
vehculo robotico. Permite la teleoperacion del sistema robotico as como visualizar la
imagen en tiempo real del CI-Camara. El envo de parametros para realizar recorridos
autonomos es a traves de la ventana de Movimientos Autonomos.
La ventana Debug recibe y registra la actividad del sistema completo, al registrarse
ante el CI-Coordinador comienza a recibir la actividad de peticiones generadas.
Microcontrolador Rabbit
Unidad de
Enlace
XBee
Tx Rx
Energa Unidad de
Procesamiento
Microcontrolador Rabbit
Tx Rx
Radio mdem
MaxStream
codigo y 256 kb de memoria RAM para variables; ofrecen una operacion multitarea,
permite ejecutar mas de un bloque de codigo simultaneamente.
Incorpora 6 puertos que ofrecen diferentes funciones en las que destacan 6 entra-
Radio M
odem
plataformas moviles.
Interfaz gr
afica
motores para girar la camara de video inalambrica (Fig. 3.37). Este CI esta formado
por dos secciones: la camara colocada sobre dos servomotores en el vehculo robotico
y la contraparte es un receptor inalambrico de video y una tarjeta digitalizadora de
video para computadora.
con velcro en la parte inferior para facilitar su colocacion sobre el vehculo autonomo
en cuestion. Un solo cable de 5 V de alimentacion es requerido para su funcionamiento.
3.5. Vehculos Autonomos 54
Inicio
En espera de peticiones
Si
Girar Cam Actuador a la
1
Izquierda? Izquierda
No
Si
Girar Cam Actuador a la
1
Derecha? Derecha
No
Si
Girar Cam Actuador haca
1
Arriba? arriba
No
Si
Girar Cam Actuador haca
1
Abajo? abajo
No
Una vez desarrollados los CIs, son colocados sobre cada plataforma movil los CIs par-
ticulares que correspondan, tanto al vehculo con sistema de direccion Ackermann co-
por dos bateras de polmero de litio de 11.1 V con capacidad de 5000 mAh cada una.
Los CIs estan energizados por una batera mientras que la segunda batera es para los
motores de traccion.
La plataforma diferencial con sus CIs particulares Rueda Izquierda y Derecha, as co-
Implementaci
on: Arquitectura de
Control
cada uno de los CIs desarrollados. Estas pruebas fueron realizadas de forma individual
para comprobar la correcta operacion de cada unidad funcional del CI, tanto de los
elementos fsicos como de los elementos logicos, as como para evaluar el desempe
no de
la funcion de cada CI.
CI-Traccion. Diversas rutinas fueron programadas para vericar que los motores opera-
58
4.1. Componentes Inteligentes 59
dores y puente H. Una vez que se logro el correcto control de los motores de traccion,
se probo la comunicacion inalambrica del CI para recibir peticiones y atenderlas.
CI-Direccion. Se programo una rutina para girar los servomotores de direccion desde
el centro hasta los extremos en peque
nos incrementos con el objetivo de encontrar
los lmites operacionales del vehculo Ackermann en ambos sentidos. El servomotor
del eje anterior se programo de forma ja para evitar forzar los motores de traccion
para detectar obstaculos. Se evaluo el algoritmo de evasion, que genera como salida
peticiones para girar el vehculo seg
un sea necesario o bien retroceder para evitar coli-
siones. Se experimento con diferentes valores de distancia hasta encontrar los mejores
resultados de acuerdo a la respuesta del vehculo. Como parte de las pruebas se modi-
Donde PDif y PAck son los pulsos a contar y D la distancia en centmetros a recorrer.
CI-Comunicacion. Se probo la comunicacion entre la interfaz graca y el vehculo
robotico utilizando el radio modem 9XTend al enviar diferentes peticiones y observar
4.1. Componentes Inteligentes 61
600
Medido
500 y = 1.4*x 7 Estimado
400
300
Pulsos
200
100
100
0 50 100 150 200 250 300 350 400
Distancia (cm)
1200
Medido
1000 y = 2.8*x 22 Estimado
800
600
Pulsos
400
200
200
0 50 100 150 200 250 300 350 400
Distancia (cm)
la respuesta por parte del sistema robotico. Por otra parte, se probo la comunicacion
entre el modulo Debug del CI-Comunicacion y el CI-Coordinador por medio de los
4.1. Componentes Inteligentes 62
control comercial para la consola de videojuego XBox, con lo que se logro operar el
vehculo robotico por medio del radio modem 9XTend.
CI-Coordinador. Las pruebas a este CI se enfocaron en revisar el registro de CIs as co-
mo vericar la correcta recepcion y reenvo de peticiones. Se monitoreo el traco de
Velocidad.
4.1.1. Integraci
on de Componentes Inteligentes
Una vez que se probaron y se pusieron a punto por separado los CI, se realizaron
pruebas de operacion de la arquitectura de control propuesta con varios CIs para am-
autonomos. Con los resultados obtenidos se considero que las plataformas quedaron
integradas adecuadamente para poder llevar a cabo diversas tareas.
4.1.2. Consumos El
ectricos
consumo electrico para ser utilizados en los CIs. Se midio el consumo electrico de los
CIs en operacion y se presentan en las Tablas 4.3, 4.4 y 4.5:
cias.
Estos experimentos se desarrollaron al aire libre en una cancha de basquetbol debido
a que se utilizo un sistema de posicionamiento global (GPS) para poder registrar los
recorridos y evaluar los resultados de las tareas realizadas por los vehculos.
XBee
XBee
Interfaz de Registro
Microcontrolador
PIC16F690
GPS 15L
Archivo
m de altura.
El primer escenario sin obstaculos fue un recorrido rectangular de 6 x 1.2 m y otro
escenario de 3.6 x 3.6 m (Fig. 4.8), donde se evaluaron ambas plataformas en operacion.
4.2. Experimentos y Resultados 67
CI-Direccin CI-Odmetro
CI-Rueda Izquierda CI-Odmetro
E E
E E
P P
P P
E
E
A S/A
A S/A
P P
E E E E
Coordinador Coordinador
P P P P
A S A S
1.2 m
3.6 m
6m 3.6 m
8.212
28.2834
8.21
m
8.208
0.26937
8.206
m/s
8.204
8.202
8.2
8.198
8.196
8.194
8.192
25.58 25.575 25.57 25.
aculos Ackermann.
Figura 4.9: Pruebas de seguimiento sin obst
4.10).
8.212
26.3658
8.21
m
8.208
0.21972
8.206
m/s
8.204
8.202
8.2
8.198
8.196
8.194
8.192
25.58 25.575 25.57 25.
8.212 8.212
27.0935 26.4855
8.21 8.21
m m
8.208 8.208
0.22208 0.25714
8.206 8.206
m/s m/s
8.204 8.204
8.202 8.202
8.2 8.2
8.198 8.198
8.196 8.196
8.194 8.194
8.192 8.192
25.58 25.575 25.57 25. 25.58 25.575 25.57 25.
cierta orientacion. Se enva por parte del usuario desde el CI-Comunicacion la orienta-
cion en grados (0 359) y la distancia en centmetros a recorrer. En este tipo de recorrido
son utilizados el CI-Odometro para estimar la distancia recorrida y el CI-Compas para
mantener una orientacion dada (Fig. 4.12).
Los recorridos fueron desarrollados en una cancha de basquetbol al aire libre. Se eva-
luo en ambas plataformas moviles con los siguientes resultados (Fig. 4.13).
Se solicito un recorrido de 14 m a 180 (de Norte a Sur), despues de varios recorridos
con ambas plataformas se logran distancias de 14 m con un margen de error de 0.2 m.
4.2. Experimentos y Resultados 70
CI-Direccin CI-Odmetro
CI-Rueda Izquierda CI-Odmetro
E E
E E
P P
P P
E
E
A S/A
A S
P P
E E E E
Coordinador Coordinador
P P P P
A S A S
8.212 8.212
14.0236 14.1758
8.21 8.21
m m
8.208 8.208
0.2226 0.22864
8.206 8.206
m/s m/s
8.204 8.204
8.202 8.202
8.2 8.2
8.198 8.198
8.196 8.196
8.194 8.194
8.192 8.192
25.58 25.575 25.57 25. 25.58 25.575 25.57 25.
3.6 m
3.6 m
CI-Odmetro
CI-Odmetro
E
E
CI-Direccin P
CI-Rueda Izquierda P
E S/A
E S/A
P E P E
E
E
A
A
P
P
P
P
S
E S
Coordinador E
Coordinador
CI-Seguidor CI-Seguidor
P P
E E
A A
CI-Traccin P
CI-Rueda Derecha P
S S
CI-Evasor CI-Evasor
el recorrido original.
4.2. Experimentos y Resultados 72
8.212
32.8118
8.21
m
8.208
0.26249
8.206
m/s
8.204
8.202
8.2
8.198
8.196
8.194
8.192
-25.58 -25.575 -25.57
Las pruebas fueron desarrolladas en una cancha de basquetbol al aire libre con obstacu-
los de 0.4 m de altura por 1 m de ancho. El recorrido fue de 14 m a 180 (de Norte a
Sur). Se evaluo en ambas plataformas moviles con los siguientes resultados (Fig. 4.19).
La evasion fue a la derecha del obstaculo.
Se lograron diversos recorridos con obstaculos. La direccion del giro de evasion depende
de la posicion del obstaculo. Se gira hacia donde se encuentre mayor espacio libre. Se
4.2. Experimentos y Resultados 73
CI-Comps
CI-Comps
E
E
CI-Direccin P
CI-Rueda Izquierda P
E S/A
E S
CI-Odmetro
P E P
E
E E
A
A
P
P
P P
S
E
Coordinador E
Coordinador S
CI-Odmetro
P
P
E E
A
A
CI-Traccin P
CI-Rueda Derecha P
S S
CI-Evasor CI-Evasor
Orientacin solicitada
14 m 14 m 14 m
(a) Recorrido sin (b) Con obstaculo sin CI- (c) Obstaculo y CI-Evasor
obst
aculos Evasor
experimento colocando el obstaculo con sesgo hacia cada lado, que resulto en evasion
por el sentido mas libre, en este caso el giro del vehculo fue por la izquierda (Fig. 4.20).
4.2.6. Tr
afico de Peticiones
El traco de las peticiones generadas por los CIs en el sistema robotico puede ser
registrado con la opcion Debug del CI-Comunicacion. La estructura del registro incluye
4.2. Experimentos y Resultados 74
8.212 8.212
13.9151 14.0343
8.21 8.21
m m
8.208 8.208
0.22087 0.21591
8.206 8.206
m/s m/s
8.204 8.204
8.202 8.202
8.2 8.2
8.198 8.198
8.196 8.196
8.194 8.194
8.192 8.192
-25.58 -25.575 -25.57 -25.58 -25.575 -25.57
8.212
13.9696
8.21
m
8.208
0.25399
8.206
m/s
8.204
8.202
8.2
8.198
8.196
8.194
8.192
-25.58 -25.575 -25.57
recorrido y su consecuencia con la distancia recorrida a lo largo del tiempo (Fig. 4.22).
1500
Reg. Velocidad
Distancia (cm)
1000
500
0
10 20 30 40 50 60
Tiempo (Seg)
200
150
100
10 20 30 40 50 60
Tiempo (Seg)
Se presenta una graca con las peticiones atendidas por el CI-Direccion para realizar
un recorrido en lnea recta (Fig. 4.24).
Cambio de Direccin
60
40
Derecha
20
0
Izquierda
-20
-40
-60
10 20 30 40 50 60
Tiempo (s)
4 5
2 6
1
Las peticiones del CI-Evasor tienen prioridad sobre el CI-Seguidor de Pared (Tabla
4.6), al presentarse un obstaculo (punto 3) el CI-Evasor inhibe las peticiones de otros
CIs y toma el control, mientras que en la elongacion de la pared (punto 6) la actividad
4.2. Experimentos y Resultados 77
CI-Seguidor
Ret CI-Evasor
Ava
Peticiones
Det
Der
Cen
Izq
1 42 84 125
Tiempo (s)
Conclusiones
programacion.
La naturaleza modular de la arquitectura de control permite, una vez que los compo-
nentes inteligentes han sido desarrollados y evaluados, ser utilizados en otros sistemas
roboticos. Esta exibilidad se debe a que un componente inteligente encapsula las carac-
78
5.1. Contribuciones 79
Con base en los resultados obtenidos, se concluye que la arquitectura de control distri-
buida basada en componentes inteligentes cumple satisfactoriamente con las expecta-
tivas planteadas, se conrma la hipotesis y se lograron los objetivos.
5.1. Contribuciones
El n
umero de componentes inteligentes que pueden trabajar al mismo tiempo en un
sistema robotico esta limitado por la capacidad del componente inteligente coordinador.
Se pueden emplear dispositivos con mayor capacidad de computo y comunicacion como
coordinador y aumentar el traco de peticiones en el sistema.
5.2. Trabajo Futuro 80
[2] James Sacra Albus and Alexander M Meystel. Engineering of mind : an introduc-
tion to the science of intelligent systems. Wiley, 2001.
[3] R.C. Arkin. Towards the unication of navigational planning and reactive control.
tion for an Autonomous Robot. PhD thesis, Universitat de Girona, Spain, 2009.
[5] J. Borenstein, H.R. Everett, L. Feng, and D. Wehe. Mobile robot positioning
and sensors and techniques. Journal of Robotic Systems, Special Issue on Mobile
[6] R. A. Brooks and J.H. Connell. Asynchronous distributed control system for a
mobile robot. In SPIE Proceedings, volume 0727, pages 7784, Cambridge, MA,
USA, 1986.
81
BIBLIOGRAFIA 82
[9] H.R. Everett. Sensors for Mobile Robots : Theory and Application. A.K. Peters,
Wellesley, MA, 1995.
[10] S. Farritor and S. Dubowsky. On modular design of eld robotic systems. Auto-
nomous Robots, 10(1):5765, January 2001.
[11] R. Chatila G. Giralt and M. Vaisset. An integrated navigation and motion con-
[12] D.W. Gage. Unmanned ground vehicle (ugv) development eorts. Special Issue
on Unmanned Ground Vehicles, Unmanned Systems Magazine, 1995.
[13] M.P Georgeo and A.L. Lansky. Reasoning and planning in dynamic domains: An
experiment with a mobile robot. In Sixth National Conference of the American
[14] 802.11b IEEE. Wireless medium access control (mac) and physical layer (phy)
specications: Higher-speed physical layer extension in the 2.4 ghz band, 1999.
IEEE Standard 802.11b The Institute of Electrical and Electronics Engineers Inc.
[15] 802.15.1 IEEE. Wireless medium access control (mac) and physical layer (phy)
specications for wireless personal area networks (wpans), 2002. IEEE Standard
[16] 802.15.4 IEEE. Wireless medium access control (mac) and physical layer (phy)
specications for low-rate wireless personal area networks (lr-wpans)), 2003. IEEE
Standard 802.15.4. The Institute of Electrical and Electronics Engineers Inc.
BIBLIOGRAFIA 83
[19] Charles D. Knutson and Jerey M. Brown. IrDA Principles and Protocols, volume
Volumen 1 de The IrDA Library. MCL Press, 2004.
[21] P.C. Leger and J. Bares. Automated synthesis and optimization of robot congu-
rations. In Proceedings of the 1998 ASME Design Engineering Technical Confe-
rences, 1998.
[23] A.L. Meyrowitz, D.R. Blidberg, and R.C. Michelson. Autonomous vehicles. In
IEEE, volume 84, pages 11471164, August 1996.
[24] H. Moravec and A. Elfes. High resolution maps from wide angle sonar. IEEE
[25] D.W. Payton. Internalized plans: A representation for action resources. Designing
Autonomous Agents, pages 89103, 1990.
[26] Woong Yang Kwang Roh Se-go. A modularized personal robot drpi: Desing and
[27] Bruno Siciliano and Oussama Khatib. Springer Handbook of Robotics. Springer,
2008.
[30] M. Yim, Y. Zhang, and D. Du. Modular robots. IEEE Spectrum, 39(2):3034,
Febraury 2002.
Anexo A
Unidad
de
Enlace
Unidad
de
Procesamiento
Actuador/Sensor
85
A.2. Registro de Componentes Inteligentes 86
distribuida se deben seguir una serie de especicaciones mnimas para una correcta
operacion. Sin importar la funcion que realice el CI, para interactuar con el resto del
sistema robotico requiere cumplir dos aspectos de comunicacion:
Envo/Recepcion de peticiones.
Ejemplo:
255 255 255 255 255 255 255 255 255 255 Peticiones a atender.
00 01 02 255 255 255 255 255 255 255 255 Peticiones a solicitar.
En total se envan 62 bytes. Las direcciones del XBee son en caracteres ASCII. El 255
en la lista de peticiones representa que no existe peticion en ese caso.
Despues de enviar el paquete al CI-Coordinador, se recibira un byte con el identicador
que le fue asignado al CI al registrarse, debe guardarse para adjuntar en el envo de
peticiones.
La interaccion entre CIs es con base en peticiones, que deben seguir la siguiente es-
tructura:
Ejemplo:
80 Girar al 80 % de capacidad.
60 Prioridad de la peticion.
A.3. Dise
no Base para Componente Inteligente
Componente
Base
Entradas
analgicas
PIC24FJ64GB004
RTCC SPI
Adaptacin
de seales
(PULL-
Entradas/Salidas
Ups/
digitales
Divisores
de voltaje)
Regulador
2.5 V I2C
XBee
Regulador
3.3 V RS-232
3.3 V / 5 V
Fuente externa
de 5 V
desee, as como con el procesamiento y hardware deseado, solo es requerido seguir las
especicaciones denidas en este trabajo para lograr una interaccion.
Anexo B
En las tablas B.1, B.2, B.3 y B.4 se presentan los costos estimados para diferentes
equipos desarrollados.
Total 680
Total 440
90
91
Total 820
Total 220
Mailing address:
Instituto Politecnico Nacional No. 195
Col. Playa Palo de Santa Rita sur
Email address:
jfvilla@cibnor.mx
Document Log:
Engineering Group
CIBNOR
E-mail:jfvilla@cibnor.mx