You are on page 1of 110

INSTITUTO TECNOLÓGICO DE LA PAZ

DIVISIÓN DE ESTUDIOS DE POSGRADO E INVESTIGACIÓN
MAESTRÍA EN SISTEMAS COMPUTACIONALES

CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS BASADO
EN COMPONENTES INTELIGENTES

TESIS

QUE PARA OBTENER EL GRADO DE
MAESTRO EN SISTEMAS COMPUTACIONALES

PRESENTA:
JUAN FRANCISCO VILLA MEDINA

DIRECTOR DE TESIS DIRECTOR DE TESIS
DR. JOAQUÍN GUTIÉRREZ JAGÜEY DR. SAÚL MARTÍNEZ DÍAZ

MIEMBROS DEL JURADO:

DR. JOAQUÍN GUTIÉRREZ, ITESM DR. SAÚL MARTÍNEZ, CICESE
PRESIDENTE SECRETARIO

DR. JESÚS ALBERTO SANDOVAL, UABC DR. ALEJANDRO ISRAEL BARRANCO, CICATA
VOCAL VOCAL SUPLENTE

LA PAZ, BAJA CALIFORNIA SUR, MÉXICO, FEBRERO 2013.

SEP
--- - - -
Subsecretaría de Educación Superior
Dirección General de Educación Superior Tccnológica
Instituto Tecnológico de La paz
SrCRrTARl A D [
lD UC AC IO N PUBLICA

La Paz, RC.S. , @rmN;¡;Y"'''1
OFICIO No. DEPI/023/20I3

C. JUAN FRANCISCO VILLA MEDINA,
ESTUDIANTE DE LA MAESTRÍA EN
SIST EMAS COMPUTACIONALES,
PRESENTE.

Con base en el dictamen de aprobación emitido por el Com ité Tutorial de la Tesis denom inada: "C ONT RO L DISTRIB UIDO
PARA VEHÍCULOS AUTÓNOMOS BASADO EN COMPON ENTES INTELIGENTES". mediant e la opción de tesis (Proyectos
de Investigación) , entregado por usted para su análisis, le informa mos que se AUTORIZA la impresión.

ATENTAM EN T E
"Ciencia es Verdad, Técnica 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

C.p. Coordinación de Maestría.
Cp . Departame nto de Serv icios Escolares.

PPNyptm

Bculevard Forjadores de 8.CS. #4720. Col. 8 de ocr. lera. Sección CP. 2~08(l
La Paz. 8.C.S. Conmutador (612) 121- 04-24 , Fax: (6 12) 121- 12-95
www.itlp.edu.mx

~~
Dirección General deEducación Superior Tecnológica
Instituto Tecnológico de La Paz
~ frr,rT\I¡L' O[ Inst it utos Te cno lóg icos
ll' (JUc.rú:-< I"('BUU.

AUTORIZACIÓN DE IMPRESIÓN DE TESIS

SUBDIRECCIÓN ACADÉMICA
DIVISIÓN DE ESTUDIOS DE POSGRADO E INVESTIGACIÓN.

La Paz, 8.C.S., a 31 de enero de 2013.

C. M.C. PABLO PÉREZ ÁLVAREZ,
JEFE DE LA DIVISIÓN DE ESTUDIOS DE
POSGRADO E INVESTIGACIÓN,
P RE S ENTE.

Por medio del presente, informamos a usted que se autoriza la impresión del siguiente trabajo de
tesis:

No. de Control Nombre
M10310004 Juan Francisco Villa Medina
Maestría en: Sistemas Comoutacionales
Título de la tesis:
Control Distribuido para Vehículos Autónomos Basado en Comoonentes Intelioentes
DICTAMEN:
Se autoriza el trabajo de investigación, en virtud de que realizó las correcciones
corresoondientes conforme a las observaciones planteadas por este Comité Tutoria!.

Atentamente.
"Ciencia es verdad, Técnica es Libertad"

El Comité Tutorial

Dr. Alejandro Isra

c.c.p, Coordinación de la Maestría en Sistemas Computacionales.
c.c.p, Departamento de Servicios Escolares.
c.c.p. Estudiante..

ITLP-DEPI-RTT-10 Rev.O

Juan
c Francisco Villa Medina, 2013.

Dedicado a mi familia.

Gracias a mi familia por su apoyo y motivaci´on. Gracias a mi asesor Dr. A mis profesores del posgrado del Instituto Tecnol´ogico de La Paz. consejos y aportaciones. (CIB- NOR) por el apoyo brindado para mi superaci´on acad´emica. S. por su comprensi´on con mi falta de tiempo libre. Viviana Flores por su apoyo incondicional durante toda la realizaci´on de esta investigaci´on. Al Dr. gracias.S. Gracias a la Direcci´on General de Educaci´on Superior Tecnol´ogica (DGEST) por la beca que me fue otorgada dentro del Programa de Capacitaci´on Estudiantil de los Programas de Posgrado 2011. siempre con buena disposici´on. ´ Gracias a Alfonso Alvarez Casillas y a Jorge Cobos Anaya del taller de maquinados del CIBNOR por su apoyo en la fabricaci´on de diferentes piezas utilizadas en este trabajo. ´animo.C. Iliana Castro por su atenci´on y apoyo. A la Ing. por sus consejos y aportaciones ´ en la direcci´on de este trabajo. . por su a´nimo y tiempo gracias. VI Agradecimientos Mis agradecimientos al Centro de Investigaciones Biol´ogicas del Noroeste.C. Al Dr. que a lo largo de estos dos u ´ ltimos a˜ nos ampli´e mis conocimientos en diferentes ´areas. Miguel Angel Porta por todo su apoyo. Sa´ ul Mart´ınez por su tiempo y apoyo para mejorar este trabajo. Joaqu´ın Guti´errez por todo el tiempo y apoyo dedicado. Gracias a la M.

Las tareas de seguimiento de pared y una trayectoria permiten evaluar el desempe˜ no de la arquitectura de control. Un componente inteligente est´a basado en un sensor y/o actuador en particular. VII Resumen Se formula. as´ı como las especificaciones de operaci´on. implementa y valida una arquitectura de control distribuido para la confi- guraci´on de veh´ıculos aut´onomos. donde se integran un conjunto heterog´eneo de com- ponentes inteligentes. Se configuran dos veh´ıculos aut´onomos para realizar tareas de navegaci´on aut´onoma con el desarrollo f´ısico de los componentes inteligentes. una vez que los componentes inteligentes han sido desarrollados y evaluados. Con base en los resultados obtenidos se concluye que la arquitectura de control distribuido basado en componentes inteligentes es una alternativa pr´actica para la im- plementaci´on de sistemas rob´oticos. El componente inteligente encapsula las caracter´ısticas del sensor o actuador. . Tambi´en la naturaleza modular de la arquitectura de control permite. La comunicaci´on as´ıncrona basada en peticiones (comandos abstractos) permite una interacci´on confiable entre los componentes inteli- gentes. mediante el procesamiento de informaci´on y el control de sus accio- nes programadas se convierte en un componente aut´onomo. ser utilizados en otros sistemas rob´oticos en diversas aplicaciones. Cada componente cumple una funci´on particular y su interacci´on en conjunto a trav´es de peticiones logran un comportamiento aut´onomo para realizar la tarea asignada.

to be used in other robotic systems in various applications. The wall and trajectory fo- llowing tasks were assigned to evaluate the performance of the distributed control architecture based on intelligent components. formerly they have been developed and evaluated. by processing information and controlling their actions program- med becomes an autonomous component. An intelligent component is based on a sensor and/or actuator in particular. allows achieving an autonomous behavior to perform the assigned task. implements. . An intelligent component encapsulates the characteristics of sensor or actuator and the specifications of its operation. The asynchronous communication based on peti- tions (abstract commands) allows a reliable and robust interaction among intelligent components. VIII 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. and validates a distributed control architecture for the autonomous vehi- cle configuration. Each intelligent component performs a specific function and the interaction among the in- telligent components. by means of petitions. Two autonomous vehicles were configured to perform autonomous navigation tasks with the implementation of the intelligent components. Also the modularity of the control architecture allows the intelligent com- ponents. which integrates a heterogeneous set of 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 implementation of robotic systems.

. . . . . . . . . . . . . . . . . . . . . . . . . . . .3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Objetivos . . . . . . . . . . . . . . . .1. . . 16 IX . . .2. . . . . . . . . . . . . . . . . . . 14 2. . Introducci´ on 1 1. . . . Objetivo General . . .1. . . . . . Objetivos Espec´ıficos . . . . Comunicaci´on . . . . . . . . . . . . 6 1. . . 14 2. . . . . . . . . . .3. . . . . . . . . . . . . VI Resumen . . . . . . . . . . . . . . . . . . . Dise˜ no: Arquitectura de Control 8 2. . . . . . .3. . . 4 1. . . . . . . . . Registro de Componentes Inteligentes . . . . . . . . . . . . . . . . . . . . 6 2. . . . . Hip´otesis . . . . . . . . . . . . . . . . . . . . Descripci´on del Documento . . . . . . . . . . . . . . . . .3. . . . . . . . .2. 12 2. . . . . . . . . . Componente Inteligente . . . . . . . . . . . . . . . . . . .1. . .1. . . . .2. . . . . . . . . . . . . Propuesta . . . 8 2. . . . . . . . 6 1. . . . . . . . . . . . . . . . . . . . . . . . . . .Contenido Agradecimientos . . . . . . . .3. . . .2. . . . . . . . . . . . . . . . . . . . . VIII ´Indice de Figuras XII ´Indice de Tablas XVI 1. . . . . Operaci´on . . . . . . . . . . . . 6 1. VII Abstract . . . . . . . 3 1. . . . . . . Peticiones . . . . .3.4. . . . . . . . . . . . . . .

3. . 21 3.4. .2. . Componente Inteligente Evasor . . . .4. Integraci´on de Componentes Inteligentes . . . . . . . . . . . . . . . 30 3. Desarrollo: Arquitectura de Control 20 3. Componente Inteligente Coordinador . . . . . . Veh´ıculo Ackermann . . Componente Inteligente Od´ometro Diferencial . . . . . 41 3. . . 21 3. . . . . . . . . . .1. . . . 26 3. . . . . . . .4. . . . . .6. . . . . . . . . . . Implementaci´ on: Arquitectura de Control 58 4. . . . . . . . . . . .3. . . . . . Componentes Inteligentes Espec´ıficos . . . . .5. . . . . . . . . . . . . . . . . . . 44 3. . .3. . . 40 3. . Componente Inteligente de Comunicaci´on . . .5. . . . 49 3. . . . . . . . . . . . .3. . . . . . . . . . . . . .1. . . . . . . . 18 3. . . . . . . . . . . . . . Componentes Inteligentes Comunes . . . . . . .1. . . . Componente Inteligente Od´ometro Ackermann . .3. .4. . .3. . . . . . . . . . 58 4. . . . .3. . 38 3. . .5. . . .4.3.6. . . . . Componente Inteligente Comp´as .3. .4. . . . 63 . 41 3. . . .4.2. . . . 17 2.1. Veh´ıculo Diferencial . . . . . . . . . . . . . .1. . . . 36 3. . 53 3. . . . . 54 4.3. . . . . . Componentes Inteligentes Rueda Izquierda y Derecha . . . . . . . . . . . . . . . . . . . . .4. . . . . . . . . . . . . . . . . . . . . Componente Inteligente Tracci´on . . . . . . Componente Inteligente C´amara . . . . 24 3. . .3. . . 33 3. .7. . . . . .3.2. . . . . Veh´ıculos Aut´onomos . . . Componentes Inteligentes . . . . . . . Componente Inteligente Direcci´on . . . . . . . .Contenido X 2. . . . . . . . .2. . . . . . . 23 3. . Unidad de Enlace . . .4. . Componentes Inteligentes . . . . . . . 27 3. . Componente Inteligente Coordinador . . . . . . . . . . . . . . . . . . .1. . . . . . . . .1. . . . . Componente Inteligente Seguidor de Pared .3. . . . . . . . . . . . . . . . .1. . . . . . . 24 3. . . . .1. . . . . 21 3. . . . 46 3. . . . . . . . Mecanismo de Elecci´on . . . Unidad de Procesamiento . . Distribuci´on de Energ´ıa . . . . . . . . . . . .4. . .

. . . . 64 4. .2. . . . Componente Inteligente . . . . . . Registro de Componentes Inteligentes . . .6. . . . . .4. . . .2. . . . . . . . . . . . . . . . . . . . . . . 65 4. . . . . . . . . . . . . . . . . . . . . . 64 4. . . . . . . . . . . . . . .1. . . . . . . . . . . . . . . . . . . . . . . .2. . Especificaciones para Desarrollar un Componente Inteligente 85 A. . 88 B. . . . . Costo de los Prototipos 90 . . . . . . 66 4.1. Trabajo Futuro . . . .Contenido XI 4. Sistema de Registro GPS . . . . . . . . . . Trayectorias Aut´onomas . . . . . . . 85 A. . . 70 4. . . . Experimentos y Resultados . . .2. . . . . . . . . Tr´afico de Peticiones . . 73 5. . .3. . . . . . .2. 79 Bibliograf´ıa 81 A. . 86 A. . . . . . . . . 71 4. . . . . . . . . . . . . . . . . . . .2. . . . . . .1. . . .2. . . . . . . . . . . . . . . Contribuciones . .2. . . . . . . . . . Trayectorias Aut´onomas con Obst´aculos . . . . . Seguimiento de Pared con Obst´aculos . . . . . . . . . . . . . . . . . . . Seguimiento de Pared . 79 5. .2. .1. . .3. . . Dise˜ no Base para Componente Inteligente . . 69 4. . . . . . . Conclusiones 78 5. . Consumos El´ectricos . . . . . .2. . . . . . . . . . . . .2. . . . .5. . . . . .

. Componente Inteligente Tracci´on .3. . . .4. . . . . . . . 10 2. . . 31 3. . . . . . . . . . . . . . .7. . . .2. .6. . . . . . . . . . . .2. . . . . . . . Elecci´on por Prioridades . . . . . . Conexi´on de un Componente Inteligente . 9 2.5. . 29 3. . . . . . . . Configuraci´on de un Sistema Rob´otico . . . 31 XII . . . 30 3. .8. . . . . . . .8. . . Conexi´on del Componente Inteligente Tracci´on .1. . . . 22 3. . . . . . 17 2. . . . . 23 3. . . . . . . . . . . Componente Inteligente Coordinador . . . . . . . . . . . . . . . . . . . . . Flujo de una Petici´on . . . 12 2. . . . . . . . . . . . . . . . . . . . . . . . . Distribuci´on de Peticiones . .11. . . . . . . . . . . . 11 2. . Topolog´ıa de Red ZigBee . Comportamiento del Componente Inteligente Direcci´on . . . . . . . . . . . . . . . . . . . . . . .´Indice de Figuras 2. . . . . . . . . . . . . . . . . . . . . . . .9. . . . . . . . . Tarjeta Gen´erica . . 18 2. . . . . . . . . Conexi´on del Componente Inteligente Direcci´on . . . . . . . . . . . . . . . . .6. . . Estructura de un Componente Inteligente . . . . . . . . .1. . . . . . . . 24 3. . . . . . . . . . . 27 3.4. . . . . . . . 26 3. . . . . . . Comportamiento del Componente Inteligente Tracci´on . . . . . . . . . . . . . . . . . . . 23 3. 19 3. . . . . . . . . . . .7. . . . . Componente Inteligente Direcci´on . . . . . Componentes Inteligentes . . . . . .3. . . . .10. . . . . . . . . Geometr´ıa Ackermann . . . . Componente Inteligente Coordinador . . . 13 2. . . . . . 28 3. . . Plataforma Ackermann . . . . . . . . . . . . . . .5. . . . . . . . . . . . . . . . . .

. . . Componente Inteligente C´amara .31. . . . . . . . . . . . 49 3. 46 3. . . Comportamiento del Componente Inteligente C´amara . . . . Comportamiento del Componente Inteligente Evasor . 42 3. . . . .35. . . . . . 41 3. . . . . . . . . . . . . . . . . 47 3. . . . . . . . . . . 45 3. . . . . . . . . Componente Inteligente Od´ometro Ackermann . . . . . . .33. .17. Plataforma Diferencial . . . . . . . Componentes Inteligentes Rueda Izquierda y Derecha . . . . 52 3. . . . . . . . . . . . . . . . . Estructura del Componente Inteligente de Comunicaci´on . . . . . . . Comportamiento del Componente Inteligente Od´ometro Ackermann . . . . . . . . . .18. . . . . . . . . . . . . . . . . 33 3. . Componente Inteligente Od´ometro Diferencial . . . . . . . . . Tarjeta de Distribuci´on . . . . Componente Inteligente Comp´as . . .22. . . . . . . .28. 50 3. . . . . . . . . . . . . . Conexi´on del Componente Inteligente Comunicaci´on . . . . . . 55 3.38. . Dimensiones de la Plataforma Diferencial . . . . . . . 39 3. . .20. . . . . . . . . . . . . . . . . Interfaz Gr´afica de Usuario . . 44 3. . . 48 3. . . 54 3.12. . . . Tarea Seguimiento de Pared .26.15. . .30. . 32 3. . . . . . . . . . . Comportamiento del Componente Inteligente Seguidor Pared . . . . . . . .14. . . . . . . . . . . . . . . 45 3. . . . . . . 34 3. . . . . . Geometr´ıa Diferencial . . . . .37. . . . . . . 56 .25. .23. .36. . . . . . . . . . . . .13.24. . Conexi´on de los Componentes Inteligentes Rueda Izquierda y Derecha . . . . . 51 3. . . Comportamiento del Componente Inteligente Rueda Derecha . . . . 40 3. . . . Comportamiento del Componente Inteligente Rueda Izquierda . . . . . .27. . .34. . . . . . . . . . . . . . . . . . 34 3. . . . 40 3. . . . 38 3. . . . . 48 3. . . Tarea Evasi´on de Obst´aculos . . . . . . . . . 37 3. . . Componente Inteligente Seguidor Pared .21. . .29. . . . . . . . . . . . . 43 3. . . . .´INDICE DE FIGURAS XIII 3. Veh´ıculo Aut´onomo Ackermann . . . . . . Componente Inteligente Evasor . . . . . . 35 3. . . . . . .16. . . . . . .19. . .32. . . . . . . . . . . Conexi´on del Componente Inteligente Comp´as . . . . . . Componente Inteligente Comunicaci´on . . . Comportamiento del Componente Inteligente Comp´as . . . . . . .

. . . .15. Veh´ıculo Aut´onomo Diferencial . 74 4. . .4. . Tiempo de Reenv´ıo de Petici´on . . . . . . . . . . . . . . 76 . . . . . . . . . . . . . . . . . . . . . . 57 4. . . . . . . . . . .39. . . . . . . . . . . . . .10. . . . . Componentes Inteligentes para el Seguimiento con Obst´aculos . . . . Escenario Cuadrado con Obst´aculos . . . Orientaci´on Lograda . . . . . . . .19.12. . . . . . . . . Recorridos Aut´onomos sin Obst´aculos . . . . . . . . . . . 70 4. . . . . . . . . 61 4. . . . . . . Escenario Cuadrado con Obst´aculos . 68 4. . . . 68 4. . . . . Giros con Obst´aculos por la Derecha . . . . . . . Pruebas de Laboratorio . . . . . . . . . . . . . . . . . . . . . . . . . . . .24. Calibraci´on del Componente Inteligente Od´ometro diferencial . . . . . . . . . . . 63 4. . . . . . 73 4. . . . . . . . . .16. Distancia Recorrida Junto con el Control de Velocidad . . . . . .8. Seguimiento sin Obst´aculos Diferencial . .13. . . 75 4. Peticiones para Giros a Izquierda y Derecha en Recorrido Recto . . . . . .14. . . Seguimiento sin Obst´aculos . .23. . . . . . . . . . . . . . . . 67 4.18. . . . . . . Actividad en Componente Inteligente Coordinador . .´INDICE DE FIGURAS XIV 3.17. .25. . . . 71 4.5. . .20. . Componentes Inteligentes para Trayectorias con Obst´aculos . . . . . . . . . . . . . . . . 61 4. . . . . . . .11. . . . . .2. . . . . . Seguimiento sin Obst´aculos Cuadrado . . Componentes Inteligentes para Trayectorias sin Obst´aculos . . . . . . . . . . . .1. . . 62 4. . . . . . . . . . . . . . . . . . . .22. . . . . 75 4. Seguimiento con Obst´aculos . 74 4. . . . . .9. . . . 67 4. Seguimiento sin Obst´aculos Ackermann . . . . . . . . . . . Casos Posibles en Recorridos Aut´onomos . . . 76 4. . . 75 4. . . . . . . . . . Componentes Inteligentes para el Seguimiento sin Obst´aculos . . . . . . . . . . . 63 4. . . . . 70 4. . . . . 73 4. . . . . . . . Calibraci´on del Componente Inteligente Od´ometro Ackermann . . Sistema de Registro GPS . . . . . . 69 4. . . . . . . . . . . 72 4. Giros con Obst´aculos por la Izquierda . . . . .3. . . .7. . 66 4.6. . . . . . . . . .21. . 71 4. . . . . . . . . . . . . Ejemplo de Registro de Peticiones Generadas .

Ejemplo de Tarjeta para Desarrollar Componentes Inteligentes . . . . . . . .1. . .2. .26. . . 89 . . . . . . . . 85 A. Estructura de un Componente Inteligente . .´INDICE DE FIGURAS XV 4. Interacci´on entre Componentes Inteligentes Evasor y Seguidor de Pared 77 A.

. . . . 88 B. . . . . . Calibraci´on del CI-Od´ometro Diferencial . Peticiones . . 91 XVI .1. . . . . . . 16 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Registro de Componentes Inteligentes . . . .5. . . . . . . . . . Registro de Componentes Inteligentes . . . . . . . . . Inversi´on en las Partes Utilizadas en la Plataforma Diferencial . Prioridades de Peticiones . . . . .3.4. . . . . 90 B. . . . 77 A. . . . . .2. . . . . . . . . . . 64 4. . . 91 B. . Petici´on de Giro . . . . . . . . . . . . . . . . . . .2. . . . . . 60 4. Consumo de Corriente del Veh´ıculo Ackermann . 64 4. . Inversi´on en los Componentes Inteligentes Comunes . . . . . . 29 4. . . . . . . . . . . . . . . . . . . . . . .1. . . . . . . . . . . . Peticiones . 87 A. .2. . . 61 4. . . . . . . . . . . . . . . . . . . . . . . . . . . Protocolo de Petici´on . .2. . .´Indice de Tablas 2. . . . . . . . . . . .6. . .3. . . . . . . . 16 3. . . . . . Inversi´on en las Partes Utilizadas en la Plataforma Ackermann . . . . . . . . . Calibraci´on del Componente Inteligente Od´ometro Ackermann . . .1. . . . . . . . . . . . . . . . . 15 2. . . . . . . . . .3. . . . . . . . Inversi´on en Bater´ıas . . . . . . . . . . . . . Consumo de Corriente de los Componentes Inteligentes Comunes . . . Protocolo de Petici´on . . . . . . . . . . . . . . . . . . .4. . . . . . . 90 B. . . . . . . . . . . . . . . . . Consumo de Corriente del Veh´ıculo Diferencial . .1. . .1. . . 86 A.3. . . . . . .4. 65 4. . . . . 14 2. . . . . . . Controlador de Motores .

Un robot realiza su tarea asignada a trav´es de una arquitectura de control apropiada. La con- figuraci´on es una estructura de diferentes subsistemas. los cuales desarrollan una funci´on espec´ıfica que es 1 . planeaci´on. como la exploraci´on a´erea. la cual es representada mediante una configuraci´on que describe la relaci´on entre los componentes funcionales (como locomoci´on. veh´ıculos capaces de realizar movimientos inteligentes y actuar sin requerir una gu´ıa o control teleoperado [17]. Estos sistemas rob´oticos han sido utilizados para au- tomatizar diversos procesos en la industria y para realizar tareas en otros sectores. est´a en constante desarrollo e investigaci´on para satisfacer los retos tecnol´ogicos de nuevas aplicaciones [27].Cap´ıtulo 1 Introducci´ on Los robots son la integraci´on de componentes mec´anicos. la rob´oti- ca que se define como la ciencia que dise˜ na. la prestaci´on de servicios en hogares y oficinas. posicionamiento y comunicaci´on) y los componentes mecatr´onicos (como actuadores/sensores). espacial o submarina. electr´onicos y de procesa- miento de informaci´on para desarrollar aut´onomamente su tarea programada en un ambiente de trabajo espec´ıfico. conectados por interfaces f´ısicas (hardware) y l´ogicas (software). navegaci´on. opera e implementa robots. Dentro de la clasificaci´on de robots m´oviles se encuentran los veh´ıculos aut´onomos. construye. as´ı como la b´ usqueda y rescate en siniestros. o bien. Asimismo.

la arquitectura reactiva est´a limitada para aprender nuevos comportamientos. como pueden ser evitar obst´aculos. como puede ser ”Si hay contacto. la cual consiste en una colecci´on de comportamientos para lograr ciertas funciones. delibera- tivas e h´ıbridas. diferentes estrategias de control han sido utilizadas para la implementa- ci´on de robots. ruedas y sistemas de energ´ıa. Las arquitecturas reactivas ofrecen respuestas r´apidas. donde los componentes se pueden configurar para la manipulaci´on de objetos. En las arquitecturas de control reactivo se encuentra el modelo de Rob´otica Basada en Comportamientos (RBC). Por ejemplo. para enviar su salida al actuador correspondiente o a otros comportamientos. evitar colisiones o lograr ir a una posici´on determinada. Diversos trabajos en la s´ıntesis de sistemas rob´oticos han sido investigados para definir la configuraci´on de un manipulador o de un robot m´ovil. A diferencia de las arquitecturas reactivas. o incluso de otros comportamientos en el sistema. 2 implementada por los componentes seleccionados. Los comportamientos pueden ser implementados tanto en hardware como en software. Sin embargo. actuadores. entonces detener”[6] [1]. as´ı como para generar la locomoci´on del robot [30]. para seleccionar la configuraci´on de un robot mediante el uso de t´ecnicas de b´ usqueda [21] [10]. gracias a una colecci´on de reglas embebidas en el sistema rob´otico y formadas por una condici´on que relaciona una acci´on. Cada comportamiento puede tomar datos de los sensores del robot. tres clasificaciones pueden definirse: arquitecturas reactivas. las cuales son estructuradas y desarrolladas de forma bottom up. El uso de componentes id´enticos tambi´en se ha explorado. Por otro lado. la configuraci´on de manipuladores se han propuestos a partir de la combinaci´on de enlaces y articula- ciones prefabricados [29]. las arquitecturas deliberativas est´an basadas en un dise˜ no de forma top-down y donde el robot realiza secuencialmente las funciones de sensar-planear-actuar [11] [24] . Otros trabajos han utilizado componentes heterog´eneos que incluyen plataformas m´ovi- les.

Las arquitecturas h´ıbridas son las que toman ventaja de ambas propuestas reactivas- deliberativas. mientras que la deliberativa para la planeaci´on y toma de decisiones en un nivel alto [18] [13] [3] [25]. e incluyen software y hardware que podr´ıan acelerar la construcci´on de un robot [26]. como los veh´ıculos aut´onomos [12] [9] [23] [5] [8] [28]. tambi´en se han desarrollados arquitecturas que consideran cada m´odulo como un agente para la configuraci´on de un robot constituido por multiagen- tes. el sistema reactivo y el m´odulo intermedio. para realizar una tarea de forma aut´onoma depende de la interoperabilidad de los componentes mecatr´onicos seleccionados. En una arquitectura deliberativa se utilizan los datos provenientes de sensores para crear un modelo del ambiente. donde cada com- . la cual es enviada a los actuadores para su ejecuci´on. basadas en el concepto de multiagentes para la colaboraci´on y coordinaci´on de multirobots [4] [22]. [7]. son poco tomados en cuenta en el proceso de dise˜ no y construcci´on del sistema rob´otico. 1. distribuidos y as´ıncronos. Esta estrategia tambi´en es llamada arquitectura de tres capas independientes: el planeador. al emplear la caracter´ıstica reactiva para el control en un nivel bajo. como actuadores y sensores con sus caracter´ısticas y especificaciones. Asimismo. es evidente que la rob´otica ha creado la tecnolog´ıa y componentes necesarios para el desarrollo de sistemas rob´oticos. Hip´ otesis Se considera que es factible implementar un veh´ıculo aut´onomo al integrar un conjunto heterog´eneo de componentes inteligentes. se emplea un m´odulo planeador para elegir una acci´on.1. Hip´otesis 3 [20].1. en la implementaci´on de las estrategias de control y configuraci´on de robots los componentes f´ısicos. Recientes propuestas han desarrollado arquitecturas de control compuestas por m´odu- los gen´ericos que realizan una funci´on espec´ıfica en la configuraci´on de robots persona- les. En este contexto.1. Sin embargo. Por otra parte.

1. En este contexto. mediante su algoritmo programa- do para la toma de decisiones y acciones con el objetivo de llevar acabo su funci´on espec´ıfica. Por ejemplo un componente inteligente cuya funci´on sea evadir obst´aculos en la trayectoria de un veh´ıculo. implementar y validar una arquitectura de control basada en componentes inteligentes. tiene que medir las condiciones del ambiente de operaci´on mediante alg´ un sensor y procesar la informaci´on de acuerdo a un algoritmo determinado y el . Se denominan com- ponentes inteligentes porque cada uno de ellos es un sistema integrado independiente de otros componentes inteligentes el cual mide. Propuesta El prop´osito de este trabajo es formular. los componentes inteligentes propuestos en el presente trabajo desarrollan un comportamiento apropiado basado en el an´alisis de informaci´on o est´ımulos de su entorno. considerando sus caracter´ısticas y especificaciones. As´ı cada actuador o sensor tiene su controlador e interface con su propio procesamiento. Inteligencia puede definirse como: ”La capacidad de un sistema para comportarse apro- piadamente en un ambiente incierto”[2]. 1. y que de forma independiente realice su funci´on. Propuesta 4 ponente cumpla una funci´on particular y en su conjunto logran un comportamiento emergente para realizar una tarea asignada. que por s´ı solos son incapaces de realizar una acci´on. manteniendo la interoperabilidad con el resto de los componentes mediante la comunicaci´on as´ıncrona de mensajes y datos. a diferencia de un componente unitario como un motor o circuito electr´onico.2.2. donde cada componente se encargue de una funci´on espec´ıfica. Similares a un agente inteligente los componentes inteligentes realizan una funci´on de forma aut´onoma. Se busca obtener una relaci´on distribuida entre componentes para realizar la tarea asignada al sistema rob´otico. procesa y entrega un resultado.

en particular de veh´ıculos aut´onomos. Lo cual contribuye a optimizar recursos para el desarrollo de sistemas rob´oticos en diversas aplicaciones. La realizaci´on de este trabajo presenta aportaciones en el a´rea de la experimentaci´on e investigaci´on en rob´otica m´ovil. particularmente en la investigaci´on. con simplicidad en el desarrollo y depuraci´on de fallos al trabajar en secciones independientes a la vez. Propuesta 5 resultado es una decisi´on para el ´exito de la funci´on. Es una opci´on viable para desarrolladores que tra- bajen con veh´ıculos aut´onomos.2. con el reto de establecer cu´al componente inteligente toma el control en cada momento. . La estrategia de control propuesta se fundamenta en la arquitec- tura basada en comportamientos con un funcionamiento y configuraci´on distribuida constituida por una red de comportamientos e implementados por los componentes inteligentes. que es confiable y robusta. Se busca una con- figuraci´on modular con la posibilidad de agregar o retirar componentes sin afectar al resto del sistema y permitir la escalabilidad.1. mientras se cumple con la tarea de manera aut´onoma y segura. Es una arquitectura alternativa para el desarrollo de sistemas rob´oticos. La filosof´ıa de esta arquitectura de control es la ejecuci´on de manera con- currente de diversas funciones. Los componentes inteligentes. Los componentes inteligentes trabajan en diferentes sistemas rob´oticos y colaboran en la realizaci´on de una tarea global. como una alternativa para el control de estos sistemas rob´oticos. considerados como recursos independientes y flexibles permiten ser reutilizados para la configuraci´on de diversos robots. Presenta ventajas al distribuir la tarea a realizar por el robot en diferen- tes funciones atendidas por diversos componentes inteligentes. La estrategia de control propuesta implica que los componentes inteligentes sean se- leccionados de acuerdo a las especificaciones de la tarea asignada.

Descripci´ on del Documento En el cap´ıtulo dos se presenta la descripci´on te´orica de la arquitectura de control. se muestra el dise˜ no de los componentes inteligentes. utiliza- dos para la evaluaci´on de la arquitectura de control propuesta. Objetivos 1.1.3. Objetivos 6 1. 1. Dise˜ nar la l´ogica de comunicaci´on y coordinaci´on para el control distribuido pro- puesto.3. Objetivo General Dise˜ nar e implementar una arquitectura de control distribuida para veh´ıculos aut´ono- mos basada en componentes inteligentes. Se implementan dos . el protocolo de comunicaci´on para la transferencia de mensajes y datos. Cada componente inteligente en la configu- raci´on de un veh´ıculo aut´onomo ser´a un componente aut´onomo y coordinado bajo un mecanismo de control descentralizado para proveer un comportamiento emergente para desarrollar la tarea asignada. Evaluar el desempe˜ no de la arquitectura de control. Objetivos Espec´ıficos Dise˜ nar los componentes inteligentes para implementar la estrategia de control.2.1. 1.3.3.4. El cap´ıtulo tres describe los m´odulos desarrollados as´ı como sus componentes. Dise˜ nar y desarrollar el conjunto de componentes inteligentes para la configura- ci´on de un veh´ıculo aut´onomo. Implementar la arquitectura de control en un veh´ıculo aut´onomo.

Descripci´on del Documento 7 veh´ıculos aut´onomos donde se realizan tareas de exploraci´on con diversas variantes como detecci´on y evasi´on de obst´aculos. asimismo los experimentos desarrollados y resultados. las aportaciones de su implementaci´on y el trabajo futuro est´an en el cap´ıtulo 5.1. Las conclusiones obtenidas despu´es de evaluar la arquitectura de control basada en componentes inteligentes. as´ı como recorridos aut´onomos. La implementaci´on de la estrategia de control y el desarrollo de diversos componentes inteligentes son mostrados en el cap´ıtulo 4.4. .

mediante el procesa- miento de informaci´on y el control de sus acciones programadas. convirti´endose en un componente aut´onomo en la configuraci´on de un robot. Componente Inteligente Un Componente Inteligente (CI) est´a basado en un sensor y/o actuador en particular para realizar de manera independiente una funci´on espec´ıfica. Procesamiento y Actuador/Sensor (Fig.1. 2.1). as´ı como la manera en que se comunican y coordinan para realizar la tarea asignada al robot.Cap´ıtulo 2 Dise˜ no: Arquitectura de Control En este cap´ıtulo se presenta la l´ogica de operaci´on de la arquitectura de control basada en componentes inteligentes distribuidos para configurar sistemas rob´oticos. 8 . La integraci´on de un conjunto de CIs conforman un sistema rob´otico y la interacci´on entre ellos proveen el comportamiento aut´onomo para llevar a cabo la tarea asignada. 2. Un CI consta de tres unidades funcionales: Enlace. Se presenta la definici´on y estructura general de un componente inteligente.

y captura los elementos f´ısicos como sus especifica- ciones y caracter´ısticas. asimismo controla la ejecuci´on de las diversas acciones requeridas para realizar la funci´on del CI. Actuador/Sensor. e incluso los elementos de energ´ıa necesarios para su operaci´on. constituyendo una red ad hoc de componentes inteligentes distribuidos.1. Es la unidad que lleva a cabo la toma de decisiones mediante un algoritmo apropiado. Un CI est´a organizado en un solo m´odulo f´ısico que incluye los elementos f´ısicos (hard- ware) y l´ogicos (software) de cada una de las unidades. Enlace. o bien la integraci´on de ambos. Esta unidad est´a constituida por un actuador o un sensor.2. procesamiento y actuador/sensor. Componente Inteligente 9 Unidad de Enlace Unidad de Procesamiento Actuador/Sensor Figura 2. Tambi´en incluye la interface para la correcta operaci´on del actuador o sensor. La unidad provee la transmisi´on/recepci´on de informaci´on entre el CI y los otros CIs que conforman el sistema rob´otico. el cual interpreta los datos provenientes de la unidad actuador/sensor o atiende comandos de otros CIs. .1: Componente Inteligente conformado por las unidades funcionales de enlace. Procesamiento.

mientras que los CIs basados en actuadores son los que recibe peticio- nes (Fig. dado que cada CI se encargan de una funci´on espec´ıfica con la dependencia exclusiva del hardware involucrado (sensor o actuador) en su implementaci´on. los cuales transmiten y reciben peticiones. e incluso datos.2b). que cuentan con sensores y actuadores. 2. las cuales son interpretadas y ejecutadas por un algoritmo pertinente que controla la operaci´on del actuador. Un CI genera las peticiones de acuerdo al an´alisis de su informaci´on y las env´ıa al resto de los CIs del sistema rob´otico. Una petici´on es un comando abstrac- to que encapsula una lista estructurada de instrucciones u ´ordenes.2: Tipos de Componentes Inteligentes. 2.2c). Cada petici´on es decodifica en el CI correspondien- te y atendida con la ejecuci´on de las acciones pertinentes. Un CI desconoce al resto de los CIs que configuran al sistema. .2a).1. Las peticiones son recibidas u ´nicamente por los CIs que pueden satisfacer dichas peticiones. Componente Inteligente 10 La interacci´on entre CIs es a trav´es de peticiones. Unidad Unidad Unidad de de de Enlace Enlace Enlace Recibe/Envía Envía peticiones Recibe peticiones peticiones Procesamiento Procesamiento Procesamiento Interpreta peticiones / Medición de sensores / Interpreta peticiones / Medición de sensores / Toma de decisiones Ejecuta acciones Toma de decisiones Sensor Actuador Sensor/Actuador (a) CI que env´ıa peticiones (b) CI que atiende peticiones (c) CI h´ıbrido Figura 2.2.2. a partir de analizar los datos proveniente del sensor y generar el comando correspondiente. Tambi´en se pueden implementar CIs h´ıbri- dos (Fig. Los CIs implementados por sensores son los que generalmente transmiten peticiones (Fig.

. Componente Inteligente 11 La configuraci´on de un sistema rob´otico es un conjunto de CIs distribuidos encargados de funciones espec´ıficas.3: Configuraci´on general de un veh´ıculo aut´ onomo con CIs distribuidos. Tambi´en existen CIs particulares que tienen una relaci´on fuertemente ligada con el sistema rob´otico. generalmente una dependencia con la funci´on de locomoci´on. El sentido de las flechas indica el flujo de peticiones. E E P P E A S/A E P P A E S P E Coordinador E P P A S E E P P S/A S Figura 2.2.3). Asimismo habr´a CIs comunes que realizan funciones independientes a la plataforma m´ovil del sistema rob´otico. los cuales podr´an ser removibles e intercambiables en otros sistemas rob´oticos (Fig. La implementaci´on de sistemas rob´oticos basados en componentes inteligentes propor- ciona una arquitectura de control con un entorno de ejecuci´on distribuido e indepen- diente del hardware y del lenguaje de programaci´on que utilice cada uno de los CIs. que son seleccionados a partir de los requerimientos de la tarea a realizar y del ambiente de operaci´on. 2. En una configuraci´on debe existir un CI para coordinar el intercambio de peticiones entre CIs.1.

2. como Bluetooth [15].4: Topolog´ıa de red ZigBee. Comunicaci´ on Para llevar a cabo la interacci´on entre los CIs se seleccion´o el protocolo ZigBee [16] (Fig. debido a que permite crear redes inal´ambricas de ´area personal (WPAN) y presenta bajo consumo el´ectrico en comparaci´on con otras alternativas. El est´andar ZigBee es un conjunto de protocolos de comunicaci´on inal´ambrica que utiliza el rango de 2. Comunicaci´on 12 Figura 2.2. en lugar de considerar las fuertes dependencias entre todo el hardware para el control de un sistema rob´otico. ya que un componente inteligente encapsula las caracter´ısticas del sensor o actuador y funciona siempre de la misma forma en cualquier configuraci´on de un robot.4 GHz. y WiFi [14].2. En este contexto. 2. IrDA [19].4) como el medio de comunicaci´on. 2. puede implementarse el control de un sistema rob´otico simplemente como la configuraci´on de un grupo de componentes inteligentes (recursos) que desarrollan de manera aut´onoma determinadas funciones. .

Un dispositivo ZigBee tiene dos direcciones.4 de la IEEE y brinda un enlace seguro con un alcance de 100 m en interiores y de hasta 1600 m en ambientes abiertos con l´ınea de vista directa. Comunicaci´on 13 Avanzar Avanzar Componente Componente Tracción Seguidor Incrementar Velocidad Componente Coordinador Evasor Izquierda Componente Componente Odómetro Dirección Incrementar Izquierda Velocidad Figura 2.15. Los dispositivos-finales solo pueden comunicarse con su nodo padre.5: Las peticiones son enviadas al CI-Coordinador y ´ este las distribuye al CI correspondiente.2. se basa en el est´andar 802. su direcci´on u ´ nica de 64 bits que lo distin- gue de cualquier otro dispositivo en el mundo y una direcci´on de 16 bits que lo identifica dentro de la red donde est´e conectado. ya sea un ruteador o coordinador. El ruteador que puede servir para encaminar los paquetes de comunicaci´on entre dispositivos-finales y el coordinador. Un coordinador es el que genera la red de trabajo de los ZigBee y elige el canal de transmisi´on. Se tienen principalmente tres funciones que pue- den cumplir los ZigBee: Coordinador. La topolog´ıa ZigBee es an´aloga con la arquitectura de control basada en CIs donde . ruteador o dispositivo final. al menos debe existir uno por red.2.

se implement´o un protocolo que establece el conte- nido de las peticiones en un esquema de 5 bytes (Tabla A. el 80 es 80 % de prioridad.3.3. un par´ametro auxiliar que es opcional con el porcentaje de acci´on que algunas peticiones requieren.3 se muestra un ejemplo de una petici´on. 2. Operaci´on 14 Tabla 2. el identificador es el ´ındice registrado por el CI-Coordinador y que distingue al CI que solicita la petici´on y el u ´ ltimo dato corresponde al byte de terminaci´on. Se establece que cada CI debe tener un identificador num´erico. la prioridad de la petici´on requerida para decidir el orden de su atenci´on. el 70 es 70 % de giro en la direcci´on. La Tabla A.1: Protocolo de 5 bytes para la transferencia de peticiones entre CIs.2). 2. Operaci´ on La tarea se desarrolla con la interacci´on entre componentes inteligentes. 2. as´ı como un nombre. el 3 es el . para diferenciarse del resto de los CIs dentro del sistema rob´otico. donde se ge- neran y atienden peticiones de acuerdo a la percepci´on del entorno de trabajo.3. Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Petici´on Par´ametro Prioridad Identificador Terminador existe un CI-Coordinador con la funci´on de distribuir las peticiones. donde el 2 corresponde a girar a la derecha. Toda petici´on se env´ıa al CI-Coordinador y ´este se encarga de renviarla al o a los componentes inteligentes que puedan atenderla (Fig. Peticiones Para la comunicaci´on entre los CIs.3 muestra una lista de peticiones que pueden ser utilizadas en los CIs y en la Tabla 2. que incluyen la petici´on con un n´ umero de 8 bits que la identifica.5).1.2.

env´ıa esta petici´on al CI-Coordinador. De este modo. Operaci´on 15 Tabla 2. Cuando un CI requiere que se realice una acci´on en particular. la comunicaci´on es din´amica y el trabajo se .2: Peticiones definidas para un veh´ıculo aut´ onomo. NA (No Aplica) Petici´on Descripci´on Par´ametro 0 Centrar Direcci´on NA 1 Girar Izquierda Porcentaje de giro (1-100 %) 2 Girar Derecha Porcentaje de giro (1-100 %) 3 Detener Motores NA 4 Avanzar Veh´ıculo Porcentaje de potencia (1-100 %) 5 Reroceder Veh´ıculo Porcentaje de potencia (1-100 %) 6 Incrementar Velocidad NA 7 Decrementar Velocidad NA 8 Girar C´amara a la Izquierda NA 9 Girar C´amara a la Derecha NA 10 Girar C´amara hacia Arriba NA 11 Girar C´amara hacia Abajo NA 12 Orientar Orientaci´on deseada (0-359 ◦) 13 Recorrer Distancia a recorrer (1-65535 cm) 14 Reporta Orientaci´on Orientaci´on actual (0-359 ◦) 15 Reporta Reccorrido Distancia recorrida (1-65535 cm) identificador del CI solicitante y el 255 es el terminador.2. ´este renviar´a la petici´on al componente o componentes inteligentes que puedan atenderla.3.

Operaci´on 16 Tabla 2. las peticiones que puede atender un CI y las peticiones que puede enviar.2. Las direcciones tanto de 16 como de 64 bits del dispositivo ZigBee de cada CI tambi´en son requeridas para mantener la interacci´on durante la operaci´on del sistema rob´otico (Tabla 2. el nombre del CI tambi´en es ne- cesario y al registrarse se le asigna su identificador num´erico u ´ nico.3: Petici´ on para girar a la derecha.3. Petici´on Par´ametro Prioridad Identificador Terminador 2 70 80 3 255 distribuye entre los CIs existentes en el sistema. Tabla 2.3. lo cual permite agregar o retirar CIs sin necesidad de modificar la programaci´on en cualquier parte del sistema. El registro de CIs presenta flexibilidad en el sistema rob´otico. Direcci´on Direcci´on Peticiones Peticiones Prioridad de Nombre de 64 bits de 16 bits a atender a solicitar peticiones a del CI solicitar 8 bytes 4 bytes 10 bytes 10 bytes 10 bytes 20 bytes . Para ello el CI-Coordinador lleva una lista de todos los CIs existentes en el sistema con la informaci´on del mismo. lo que resulta suficiente para el desempe˜ no apropiado del sistema. Se defini´o el n´ umero de peticiones m´aximas a atender para cada CI en 10.4: Paquete requerido para el registro de CIs.2. a trav´es de un proceso de registro que cada CI realiza al integrarse al sistema. as´ı como la prioridad de cada una de ellas. Registro de Componentes Inteligentes Cada CI que se integra al sistema rob´otico se registra primeramente ante el CI- Coordinador para interactuar con el resto de los CIs. Este proceso permite conocer a todos los CIs. 2.4).

6: Comportamiento del CI-Coordinador. Con base en la tarea a realizar se deben elegir uno o m´as CIs que aporten la funcio- nalidad deseada. se realiza una revisi´on de la lista de los CIs registrados en busca de aquellos componentes inteligentes capaces de atender dicha petici´on y entonces se les transmite directamente (Fig.6). Es posible emplear m´as de un CI que solicite peticiones a la vez. Operaci´on 17 2.3. es 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 Figura 2. Si es una solicitud de registro. Si es una petici´on. 2. se ingresa al CI solicitante con todos sus datos a la lista de CIs. .3.3. Componente Inteligente Coordinador Con base en el protocolo definido para esta arquitectura el CI-Coordinador se mantiene a la escucha de solicitudes de registro o env´ıo de peticiones entre CIs.2.

7: Elecci´ on por prioridades. A partir de la prioridad de la petici´on solicitada se decide si es atendida o no. 2. Inicio 1 Solicitud recibida Identificador de Comando Porcentaje Prioridad Componente Si Prioridad > Prioridad Atiende Solicitud 1 Anterior? No Si (Prioridad == Prioridad Anterior) y (Id Atiende Solicitud 1 Componente == Componente Anterior)? No 1 Figura 2.2. Operaci´on 18 una ventaja pero puede haber conflictos si se solicitan peticiones contradictorias como Avanzar y Detener al mismo tiempo por CIs diferentes.3. est´a basada en prioridades. se asigna una prioridad a cada petici´on en el sistema.4. La estrategia para atender peticiones cuando se tiene a m´as de un CI solicitante a la vez. . Mecanismo de Elecci´ on Los CIs que atienden peticiones implementan un mecanismo para la elecci´on de las solicitudes a atender.3.

Por ejemplo el CI-1 toma mediciones del ambiente. desde que se genera hasta que es atendida.3. En el caso de prioridades iguales. . as´ı como las peticiones que atienden. la prioridad y el identificador del componente que la solicit´o.7). Al recibir una petici´on un CI.8: Flujo de una petici´ on a trav´ es de la red de CIs. Con los CIs dise˜ nados es posible integrarlos a una plataforma para desarrollar una tarea espec´ıfica. en este caso CI-3.2. Operaci´on 19 Cada CI guarda de la u ´ ltima petici´on atendida. interpreta dicho comando y decide las acciones a ejecutar con base en la prioridad de la misma petici´on (Fig. Se comparan entonces las prioridades entre la u ´ ltima acci´on atendida y la solicitud actual. esta informaci´on es analizada para generar y enviar la petici´on correspondiente al CI-Coordinador.8). con lo cual se transmite la petici´on a los CIs que puedan atenderla. Es atendida la petici´on de mayor prioridad. Este CI consulta la lista de los CIs registrados. 2. CI-3 CI-Coordinador CI-1 Distribuye Recibe la la petición 6 4 petición Recibe la petición 7 Unidad Unidad Unidad de de de 3 Envía la petición Enlace Enlace Enlace Petición-1 Petición-1 Interpreta la petición y aplica el Unidad de Unidad de Unidad de Percibe el entorno y mecanismo 8 Procesamiento Procesamiento 5 2 Genera la petición Procesamiento de selección basado en Consulta prioridades lista de CIs Realiza la acción 9 Actuador Coordinador Sensor 1 Medición Figura 2. tiene preferencia el componente de mayor antig¨ uedad (Fig. 2.

Se describe la lista de componentes inteligentes empleados y su interacci´on. La configuraci´on de un sistema rob´otico parte de las especificaciones de la tarea a realizar as´ı como de los requerimientos del ambiente donde operar´a. lo cual incluye la presencia y ausencia de obst´aculos. La primera tarea b´asica es la navegaci´on aut´onoma del robot mediante el seguimiento de una pared y manteni´endose a cierta distancia de separaci´on de ´esta. 20 .Cap´ıtulo 3 Desarrollo: Arquitectura de Control La definici´on de la arquitectura de control basada en componentes inteligentes permite configurar sistemas rob´oticos. La otra tarea es realizar recorridos aut´onomos donde se especifica una distancia a recorrer con cierta orientaci´on. los veh´ıculos aut´onomos tendr´an la capacidad de ser operados a distancia por un usuario con una retroalimentaci´on visual. Ambas tareas ser´an desarrolladas en un ambiente estructurado y din´amico. Adicionalmente. En este cap´ıtulo se presenta la configuraci´on de dos veh´ıculos aut´onomos para realizar dos tareas asignadas con el desarrollo f´ısico de los componentes inteligentes que los integran.

3.0. En el modo AT todo lo que se reciba por el puerto de entrada de un radio m´odem es transmitido hacia el puerto de salida del otro m´odulo.3. Estos radio m´odems permiten una comunicaci´on punto a punto o punto a multipunto con velocidades de hasta 250 kbits/s en la frecuencia de transmisi´on de 2.2. 2 puertos f´ısicos de comunicaci´on serial as´ıncrona. se desarroll´o una tarjeta gen´erica con los circuitos electr´onicos necesarios para cubrir los requerimientos de cada uno de los CIs. 5 temporiza- dores. Unidad de Enlace La comunicaci´on ZigBee est´a dado por los circuitos XBee-PRO fabricados por Digi International. Unidad de Procesamiento La unidad de procesamiento es implementada con el microcontrolador PIC24FJ64GB004 fabricado por Microchip . entre otras cosas con la direcci´on del .1. con las unidades funcionales de procesamiento y enlace. Componentes Inteligentes Para la implementaci´on de la mayor´ıa de los componentes inteligentes.1.3 V y se utilizan dos l´ıneas de datos (transmisi´on y recepci´on). 44 pines y tecnolog´ıa nanoWatt con caracter´ısticas especiales como USB 2. 3. soporte para modulaci´on por ancho de pulso.1. as´ı co- mo los puertos de entrada y salida para la conexi´on de los actuadores y/o sensores correspondientes. Componentes Inteligentes 21 3. El m´odulo XBee opera en dos formas de comunicaci´on serial basado en el protocolo RS-232: Modo transparente en AT y modo API. Su alimentaci´on es de 3. oscilador interno.1.1. Este microcontrolador es de 16 bits.4 GHz y una potencia de 10 mW. En el modo API se requiere formar un paquete para enviar la informaci´on. 13 convertidores anal´ogico/digital y un reloj de tiempo real. soporte para SPI/I2C.

a trav´es de la interfaz de desarrollo MPLAB de Microchip.1). Las unidades de procesamiento de cada CI han sido programadas con los algoritmos apropiados en el lenguaje C y el compilador CCS. m´odulo destino.2). 3.3 V.1: Conexi´ on entre las unidades de un CI.3. El dispositivo programador utilizado es el Real-Ice de Microchip por lo que cada tarjeta gen´erica incluye su conector correspondiente de programaci´on. basado en el est´andar RS-232 con nivel de 0 a 3.5 V.3 V y un regulador CP1700 que regula a 2.1. La comu- nicaci´on entre el XBee y el microcontrolador es serial as´ıncrona a una velocidad de transmisi´on de 9600 bits/segundo. un regulador ADP122AUJZ-3. 3. . as´ı como una serie de conectores para realizar la conexi´on con sensores o actuadores (Fig.3-R7 que regula a 3. Utiliza dos reguladores de voltaje. La tarjeta gen´erica incluye la unidad de procesamiento y enlace. as´ı como una serie de resistores utilizados como de levantamiento (pull-up) o divisores de voltaje para adaptar el nivel de se˜ nal entre los circuitos electr´onicos (Fig. Componentes Inteligentes 22 Unidad de Enlace XBee Tx Rx Energía Unidad de Procesamiento Microcontrolador Actuador/Sensor Figura 3.

3.2. se utiliza una l´ınea de solicitud de env´ıo (RTS) en el CI-Coordinador.2: Tarjeta gen´ erica utilizada en la implementaci´ on de componentes inteli- gentes.3: CI-Coordinador. Tambi´en se implementa el control de flujo para la recepci´on de datos.3). Figura 3. 3. solo requiere la alimentaci´ on. con lo cual se busca garantizar la transmisi´on del total de peticiones. . Componente Inteligente Coordinador El CI-Coordinador utiliza la tarjeta gen´erica sin elementos adicionales como sensores o actuadores para interactuar con los dem´as CIs (Fig.3. El XBee usado en el CI-Coordinador opera al doble de velocidad que los radio m´odems de los otros CIs. Componente Inteligente Coordinador 23 Figura 3. debido a que este CI tiene el mayor tr´afico de informaci´on.2. para indicar al XBee el momento en que pueda enviar informaci´on.

Comparado con el modo transparente AT. por lo cual se requiere generar paquetes bien definidos de informaci´on para el env´ıo de datos. 3. Veh´ıculo Ackermann La plataforma m´ovil empleada en este trabajo es un carro el´ectrico de radio control a escala 1:10 de la marca TAMIYA. Componentes Inteligentes Espec´ıficos Se configuraron dos veh´ıculos aut´onomos basados en la arquitectura de control distri- buida con CIs. 3. Componentes Inteligentes Espec´ıficos 24 Figura 3. modelo TXT-1 (Fig.4).3.3.1.3. el modo API aumenta la confiabilidad en la transmisi´on de peticiones.3. Se dise˜ naron y desarrollaron los CIs espec´ıficos para ser utilizados en un veh´ıculo con cinem´atica Ackermann y otro veh´ıculo con cinem´atica diferencial.4: Plataforma m´ ovil TAMIYA modelo TXT-1. Es un carro todo terreno . El CI-Coordinador implementa el modo de comunicaci´on API en el XBee. 3.

5). El chasis de la plataforma es de aluminio. . El veh´ıculo puede desplazarse a cualquier punto (x. y) en el plano (X. Las dimensiones del veh´ıculo son de 0.67:1 con una salida final de 150 RPM a 12 V. Y ).385 m de ancho.3. El ´angulo γ se define como el ´angulo de giro del veh´ıculo y L es la distancia entre ejes (Fig. Componentes Inteligentes Espec´ıficos 25 con tracci´on en sus cuatro llantas.33 m. por lo tanto el veh´ıculo se comporta con la cinem´atica Ackermann. 3. donde las dos ruedas en el eje anterior brindan la tracci´on y las ruedas del eje posterior giran sobre un pivote cambiando la direcci´on del veh´ıculo. El ´angulo θ es la orientaci´on del veh´ıculo con respecto al eje X y V representa la velocidad lineal.3. impulsado por dos motores de corriente directa en paralelo para el avance y retroceso. respectivamente. Esta plataforma cuenta con un mecanismo de direcci´on para el eje anterior y otro en el eje posterior.1) L Por lo tanto. Los servos son marca Futaba modelo S3004. la separaci´on entre ejes es 0. Los motores de tracci´on tienen una caja de engranes con una relaci´on de 67.51 m de largo por 0. controlados por un servomotor respectivamente. la velocidad y la direcci´on del veh´ıculo Ackermann deben ser atendidas por un CI-Tracci´on y un CI-Direcci´on. con un consumo de corriente al aire de 300 mA. el di´ametro de las llantas es de 0.165 m. El modelo cinem´atico del veh´ıculo se deriva de la propiedad de un cuerpo r´ıgido y est´a dado como: x(t) ˙ = V (t) cos(θ(t)) y(t) ˙ = V (t) sin(θ(t)) ˙ = V (t) tan(γ(t)) θ(t) (3. En este trabajo se utiliza u ´ nicamente el sistema de direcci´on del eje posterior.

C y D) de los motores son generadas de acuerdo a la Tabla 3. Incrementar y Decrementar Velocidad. B.3. a trav´es de un arreglo de cuatro optoacopladores 4N32 que sirven para aislar el ruido el´ectrico generado por los motores a las unidades de procesamiento y enlace (Fig. El CI debe atender las peticiones de Avanzar. Retroceder.5: Geometr´ıa de la plataforma m´ 3. Detener.6).3. . Componente Inteligente Tracci´ on Los motores de tracci´on y las ruedas del eje conforman el CI-Tracci´on. Componentes Inteligentes Espec´ıficos 26 Y ‫ܥܥܫ‬ ߓ ‫ݒ‬ R (x. acciones que son programadas en la unidad de procesamiento.3. y) ߠ ‫ܮ‬ X ovil Ackermann. Figura 3.1 e implementan una modulaci´on de ancho de pulso (PWM) para regular la velocidad. 3. Retroceder o Detener. La operaci´on de los motores se realiza por medio de un controlador puente H a 12 V modelo EVX 3014 marca Traxxas.2. Las se˜ nales de activaci´on (A. La velocidad y el sentido de giro de los motores se establecen con base en las peticiones de Avanzar. Asimismo se tiene programado el mecanismo de selecci´on por prioridades para atender dichas peticiones. con la imple- mentaci´on de la interface electr´onica y l´ogica de operaci´on.

6: Conexi´ on general del CI-Tracci´ on. 3. el CI- Tracci´on modifica el porcentaje del PWM con base en las peticiones de Incrementar y Decrementar Velocidad (Fig. Para regular una velocidad determinada en el veh´ıculo. 3. Maneja la direcci´on del veh´ıculo aut´onomo e integrar el hardware requerido .8. Girar Derecha y Centrar Direcci´on. Controlador de motores y Motores de tracci´ on. Los circuitos del CI Tracci´on terminados as´ı como el controlador de motor se muestran en la figura 3.3. Para las peticiones de Avanzar y Retroceder se establece la potencia en cada motor con el valor proporcional al porcentaje del PWM.7). La acci´on Detener indica un estado de alto para cada motor. Componente Inteligente Direcci´ on El CI-Direcci´on atiende las peticiones de Girar Izquierda.3.3.3. Componentes Inteligentes Espec´ıficos 27 Unidad de Enlace Unidad de Procesamiento PIC24FJ64GB004 Optoacopladores Baterías A B C D para Controlador motores de Motores tracción SAL1 SAL2 SAL3 SAL4 Motor1 Motor2 Actuador Figura 3.

para el movimiento del sistema de direcci´on a trav´es de un servomotor o actuador. Componentes Inteligentes Espec´ıficos 28 Inicio 1 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 1 Figura 3. La petici´on Centrar Direcci´on establece al actuador en su posici´on central .7: Comportamiento del CI-Tracci´ on. Las peticiones Girar Izquierda o Derecha establecen la direcci´on seg´ un el par´ametro adjunto a la petici´on.3.3.

8: Implementaci´ on del CI-Tracci´ on. Los servomotores emplean tres cables. Estado A B C D SAL1 SAL2 SAL3 SAL4 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. dos de alimentaci´on y uno de control.10). Para la plataforma m´ovil tipo Ackermann. 3. Figura 3.3. NI (No implementado).3. Componentes Inteligentes Espec´ıficos 29 Tabla 3.9). Utiliza una tarjeta gen´erica para CI y genera los pulsos de control para ambos servomotores con base en las peticiones recibidas de otros componentes inteligentes en el sistema. el CI-Direcci´on controla dos servomotores Futaba S3004 colocados en los ejes anterior y posterior. La implementaci´on del CI de Direcci´on se muestra en la Figura 3.11. La ali- mentaci´on 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. .1: Combinaciones para el controlador de motores.

9: Comportamiento del CI-Direcci´ on.3. Componentes Inteligentes Espec´ıficos 30 Inicio 1 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 1 Figura 3. 3.3. ometro Ackermann Componente Inteligente Od´ La medici´on tanto de velocidad como de distancia recorrida por el veh´ıculo aut´onomo es realizada por el CI-Od´ometro.3. que al utilizar un encoder montado en el eje de tracci´on de las ruedas. Este CI atiende la petici´on Recorrer. Es capaz adem´as de regular la velocidad por medio de las peticiones de Incrementa y . la cual requiere se le especifique una distancia y a trav´es del env´ıo de peticiones de Avanzar y Detener se realiza el recorrido.4. calcula con base en el di´ametro de las mismas la distancia y con relaci´on al tiempo la velocidad.

3.11: Implementaci´ on del CI-Direcci´ on. . Componentes Inteligentes Espec´ıficos 31 CI-Dirección Unidad de Enlace Unidad de Energía Procesamiento PIC 24FJ64GB004 Servomotor Servomotor Actuador Figura 3. Figura 3.3.10: Conexi´ on del CI-Direcci´ on.

12: Comportamiento del CI-Od´ Decrementa Velocidad. se env´ıa la petici´on Avanzar y se comienza a acumular la distancia recorrida desde ese momento hasta alcanzar la distancia deseada. y entonces se env´ıa la petici´on Detener. Figura 3.3. Componentes Inteligentes Espec´ıficos 32 Inicio 1 2 Espera peticiones Lectura de Codificador Óptico No Convierte a 1 Recorrer? Distancia Si Enviar Comando Actualiza Avanzar VelocidadActual 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 2 Enviar Comando Detener 1 ometro Ackermann. El env´ıo de Incrementa o Decrementa Velocidad se presenta luego de comparar la velocidad actual con una velocidad previamente establecida. Al presentarse una petici´on de Recorrer una distancia.3. Se compara la velocidad actual con una velocidad definida y se decide entonces si Incrementar o Decrementar la potencia de los motores para mantener una velocidad constante. estas solicitudes no son enviadas en caso .

67:1. Su chasis es de resina de policarbonato y tiene soportes en aluminio. 3.3. Se tienen 4331 pulsos por revoluci´on a la salida de la caja de engranes. Componentes Inteligentes Espec´ıficos 33 de estar dentro de la velocidad deseada (Fig. utiliza polipropileno de uso rudo y moldes durables de pl´astico ABS en las orugas dentadas. El sensor tiene una resoluci´on de 64 pulsos por giro del motor y la caja de engranes una relaci´on de 67.14).13: Implementaci´ ometro Ackermann.13). 3. on del CI-Od´ . La salida del divisor de frecuencia se conecta a la entrada de la unidad de procesamiento del CI. 3. 3. utiliza dos motores de 12 V DC con una caja de engranes con una relaci´on de 50:1 y una velocidad angular de 120 RPM. Veh´ıculo Diferencial La plataforma diferencial utilizada es tipo oruga (Fig.12).3. Se utiliza un divisor de frecuencia debido a la alta cantidad de pulsos por revoluci´on obtenida. El encoder consta de un sensor de Efecto Hall colocado de f´abrica directamente sobre uno de los motores de tracci´on (Fig. Figura 3. Este divisor entre 16 es implementado con un circuito 74LS93 (Fig.5. La alimentaci´on tanto del sensor como del divisor de frecuencia es de 5 V.3. 3.13).

14: Plataforma m´ ovil con orugas dentadas. Sus dimensiones son 0. respectivamente.12 m (Fig. Y ). 3. .15: Dimensiones de la plataforma m´ ovil diferencial.3. 3. donde vr y vl son las velocidades lineales de las ruedas derecha e izquierda. Esta configuraci´on del veh´ıculo implementa giros con radio de curvatura R sobre su propio eje a lo largo del centro instant´aneo de 23cm 25. y) en el plano (X.3.28 m de ancho.23 m y una altura sin componentes de 0.255 m de largo. 0.16) puede desplazarse a cualquier punto (x.15). distancia entre ejes de 0.5 cm 28 cm Figura 3. Componentes Inteligentes Espec´ıficos 34 Figura 3. v es la velocidad resultante y b es la distancia del eje entre el par de ruedas. con una orientaci´on dada por θ. El veh´ıculo diferencial (Fig.

curvatura (ICC) y normal a las ruedas. y) b ‫ݒ‬R X Figura 3.2) b Las velocidades del veh´ıculo diferencial son atendidas por un CI-Rueda Izquierda y CI-Rueda Derecha. la posici´on y orientaci´on (x. Debido a que la velocidad angular ω en el ICC es el mismo para las ruedas. dado por: [vr (t) + vl (t)] x(t) ˙ = cos(θ(t)) 2 [vr (t) + vl (t)] y(t) ˙ = sin(θ(t)) 2 ˙ = [vr (t) − vl (t)] θ(t) (3.16: Geometr´ıa de la plataforma m´ ovil diferencial. y. Componentes Inteligentes Espec´ıficos 35 Y ‫ܥܥܫ‬ ߱ ‫ݒ‬L ‫ݒ‬ ߠ R (x.3. generados por las velocidades de los motores para desarrollar una trayectoria.3. respectivamente. . θ) del robot con respecto al tiempo t se pueden estimar con el modelo cinem´atico basado en los par´ametros de control vr y vl .

adicionada con un controlador de motores DC. Se tienen dos alternativas: Girar sobre su propio eje o Girar mientras se avanza rea- lizando una trayectoria curva. Componentes Inteligentes Rueda Izquierda y Derecha Son CIs basados en un motor de tracci´on y una rueda. Los peticiones de Girar no se consideran al estar el robot re- trocediendo. Para satisfacer las peticiones de Avanzar y Retroceder. Los CIs Rueda Izquierda y Derecha controlan tanto la direcci´on como la tracci´on del veh´ıculo.17). La petici´on Detener indica a los CIs generar las se˜ nales para detener la marcha de su motor. El CI implementa el mecanismo de elecci´on basado en prioridades al atender peti- ciones de otros CIs.Las acciones del CI Rueda Derecha en los giros difieren u ´ nicamente en la direcci´on de marcha del motor de tracci´on (Fig. 3.3.3. En el caso del CI-Rueda Izquierda. 3. para decidir que petici´on atender. Con base en los par´ametros de las peticiones ordena al controlador de motor establecer la velocidad y direcci´on . la unidad de procesamiento del componente se comunica con el controlador de motor de forma serial a nivel TTL.18). Los CIs implementan el hardware de control necesario para la operaci´on del motor de corriente directa con base en sus especificaciones. Detener y Retroceder. Para girar a la derecha la l´ogica es similar al giro de izquierda pero con la acci´on opuesta (Fig.6. Girar Derecha. Girar Izquierda. los CIs generan las se˜ nales correspondientes para controlar el sentido de marcha y la velocidad del motor. por otro lado. si la petici´on es Girar Izquierda y el motor est´a de- tenido se establece las se˜ nales para controlar un retroceso con el motor.3. si el robot est´a avanzando la velocidad es disminuida proporcionalmente al porcentaje de giro de la petici´on. Estos CIs atienden peticiones como Avanzar. Utilizan la tarjeta gen´erica de componente inteligente. cuya funci´on es el control de la movilidad del sistema rob´otico. Las acciones para peticiones de giros son particulares para cada CI-Rueda Izquierda y Derecha. Componentes Inteligentes Espec´ıficos 36 3.

5 kHz. La conexi´on entre la tarjeta gen´erica de CI. correspondiente al motor a su cargo. Tiene una modulaci´on por ancho de pulso de 15.17: Comportamiento del CI-Rueda Izquierda.3. la comunicaci´on entre la unidad de procesamiento del CI y el controlador de motor es serial a nivel TTL a 9600 bit/segundo. Componentes Inteligentes Espec´ıficos 37 Inicio 1 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 1 Figura 3. LLC. Se utiliza el controlador MotorMindBe desarrollado por Solutions Cubed. que soporta un consumo constante de corriente de 1. para motores con voltajes de 6 a 36 VDC. El controlador de motor integra protecci´on por bajo voltaje de entrada.75 A y picos de hasta 6 A.3. el controlador de motor y el motor se . sobre calentamiento as´ı como por consumo excesivo de corriente.

20). Los CIs terminados fueron colocados en la secci´on inferior de la plataforma m´ovil.3.7.3.19. forman parte de los componentes particulares para un veh´ıculo diferencial por lo que son no intercambiables. Se desarroll´o un peque˜ no montaje de aluminio y fueron fijados con tornillos al chasis (Fig. 3. muestra en la figura 3.3.18: Comportamiento del CI-Rueda Derecha. Su ubicaci´on protege del exterior a los CIs. Componentes Inteligentes Espec´ıficos 38 Inicio 1 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 1 Figura 3. 3. . Componente Inteligente Od´ ometro Diferencial Estima la distancia recorrida al monitorear el n´ umero de vueltas que giran los motores que dan tracci´on al veh´ıculo diferencial tipo oruga.

21b). 3. en este CI se utiliza un solo canal.19: Conexi´ on de los CIs-Rueda Izquierda y Derecha. . cuenta con dos canales de salida para distinguir en caso de requerirse. Componentes Inteligentes Espec´ıficos 39 Unidad de Enlace Unidad de Procesamiento PIC24FJ64GB004 Optoacoplador FM TM VMOTOR Batería para motor de MMBe tracción M+ M- Motor Actuador Figura 3.3. la direcci´on del giro del motor.3. Se utiliza una tarjeta gen´erica (Fig.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. Este sensor requiere una alimentaci´on de 5 V. 3.

4.21: Implementaci´ on del CI-Od´ ometro Diferencial.3. Componentes Inteligentes Comunes 40 Figura 3. 3. Principalmente tienen sensores que con base en su medici´on generan y env´ıan las peticiones requeridas para lograr su funci´on.20: Implementaci´ on de los CIs-Rueda Izquierda y Derecha. Componentes Inteligentes Comunes Aquellos componentes que son intercambiables entre sistemas rob´oticos sin mayor mo- dificaci´on que la conexi´on de energ´ıa son los componentes comunes. Figura 3.4. .

establecida a 0.22). Componente Inteligente Seguidor de Pared Tiene como funci´on mantener una distancia (ds) entre el veh´ıculo rob´otico y una pared a su costado. 3.23). Componentes Inteligentes Comunes 41 Figura 3. mientras que otro colocado con cierta orientaci´on detecta objetos pr´oximos. Con la medici´on de dos sensores ultras´onicos el CI genera peticiones con las acciones requeridas como girar. Un sensor ultras´onico colocado perpendicularmente a la plataforma m´ovil se encarga de medir la distancia ds entre el veh´ıculo y la pared. detener o avanzar para mantener el seguimiento de la pared. Se genera la petici´on de girar hacia la pared si el veh´ıculo se aleja. en caso de acercarse gira en direcci´on opuesta a la pared. Se tienen salidas de 5 y 12 V que son los dos voltajes requeridos por los CIs. 3.4. Se requiere una de estas tarjetas por cada veh´ıculo a implementar.3. Si se encuentra un objeto pr´oximo en el camino el CI pide girar para alejarse (Fig.2.24). 3.22: Tarjeta de distribuci´ on de energ´ıa. 3. Distribuci´ on de Energ´ıa Se desarroll´o una tarjeta de distribuci´on de energ´ıa para facilitar la alimentaci´on de los CIs que son agregados a un veh´ıculo (Fig.4.4.5 m. para realizar un recorrido a su lado (Fig. .1. 3.

Uno de los sensores es colocado de forma ortogonal al veh´ıculo con direcci´on hacia el objeto a seguir.02 m hasta 3 m.3. luego de chocar contra un objeto. modelo Ping))) de la marca Parallax. los sensores ultras´onicos miden el tiempo desde que un pulso ultras´onico es enviado hasta que se recibe el eco de vuelta al sensor. Sensor ultras´ onico Consiste de un transmisor/receptor. Para construir este CI se utiliza una tarjeta gen´erica de componente inteligente y dos sensores ultras´onicos. 3. con un rango de operaci´on desde 0. t´ıpicamente una pared. su salida es una se˜ nal con duraci´on proporcional al tiempo transcurrido entre el pulso ultras´onico .23: Tarea de seguimiento de pared. Con base en ese tiempo y la velocidad del sonido se obtiene una distancia.4. El segundo sensor est´a rotado 45 con respecto al frente del veh´ıculo con direcci´on al objeto a seguir. Trabaja con niveles de voltaje de 5 V. Para estimar la distancia a los objetos. operados por la unidad de procesamiento del CI (Fig.25). Componentes Inteligentes Comunes 42 Figura 3.

3. Con base en la medici´on de ambos sensores ultras´onicos y la l´ogica de operaci´on descrita anteriormente para este CI. El pulso ultras´onico de transmisi´on es de 40 kHz y de 5 s de duraci´on.4. Componentes Inteligentes Comunes 43 Inicio 1 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 Dirección 1 Figura 3. Centrar Direcci´on y Avanzar para que sean atendidas por los CIs adecuados.24: Comportamiento del CI-Seguidor Pared. y el eco. . se generan las peticiones de Girar.

difiere en el comportamiento que presenta as´ı como el montaje f´ısico de dichos sensores ultras´onicos.3.2 m y 3 m se considera un rango seguro. Girar Derecha. Componente Inteligente Evasor Este CI se encarga de evitar la colisi´on con obst´aculos en la trayectoria del veh´ıculo rob´otico. En la implementaci´on del CI Evasor se utiliza una tarjeta gen´erica de componente inteligente y dos sensores ultras´onicos para detectar objetos. Las distancias de acci´on se consideran: 1. se tienen cuatro casos: libre de obst´aculos. El CI-Evasor toma acci´on cuando se encuentra un obst´aculo dentro del rango definido. 3. Centrar Direcci´on. Componentes Inteligentes Comunes 44 Figura 3.25: Implementaci´ on del CI-Seguidor Pared. 3. La salida de este CI son peticiones como Girar Izquierda.3.2 m para entrar en evasi´on.4. . 3.26). Su conexi´on electr´onica es similar al CI Seguidor de Pared ya que se utiliza el mismo modelo de sensor.4. 0. evasi´on y retroceso (Fig.27).5 m para re- troceder e intentar una nueva ruta y las distancias entre 1. Retroceder que deben ser atendidas por los CIs encargados de la locomoci´on. mientras que distancias mayores a 3 m se consideran libres de obst´aculos (Fig. Al utilizar dos sensores ultras´onicos colocados al frente del veh´ıculo es capaz de detectar objetos y realizar el procesamiento necesario para decidir un movimiento adecuado para evadirlo. obst´aculo detectado a distancia segura.

3.27: Comportamiento del CI-Evasor.4. . Componentes Inteligentes Comunes 45 Figura 3. Inicio 1 Lectura de Sensor Izquierda Lectura de Sensor Derecha Si Sensor Izquierda < 50 cm O Retroceder Centrar Dirección 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 Centrar Dirección Girar Izquierda 1 1 Figura 3.26: Tarea de evasi´ on de obst´ aculos.

29). digital.4. Su sali- da son peticiones como Girar Izquierda.28: Implementaci´ on del CI-Evasor. El CI Comp´as utiliza una tarjeta gen´erica de componente inteligente y un sensor HMC6352 fabricado por Honeywell.3. compara la orientaci´on actual del veh´ıculo y env´ıa peticiones de Girar o Centrar Direcci´on seg´ un sea el caso (Fig. El sensor est´a internamente compensado por temperatura e incluye algoritmos de calibraci´on embebidos. la salida tiene . Informa el azimut actual y puede atender la petici´on Orientar acompa˜ nada de la orientaci´on correspondiente. Este CI se coloca al frente del veh´ıculo para detectar obst´aculos en el camino. su alimentaci´on es de 5 V. 3.28). Este comp´as combina dos sensores magneto-resistivos con la electr´onica anal´ogica. El montaje de los sensores permite cambiar su orientaci´on as´ı como su inclinaci´on. Componente Inteligente Comp´ as Este es un CI de tipo h´ıbrido. Girar Derecha y Centrar Direcci´on. microprocesador y algoritmos requeridos para ob- tener una orientaci´on. Componentes Inteligentes Comunes 46 Figura 3.4. Cada sensor ultras´onico est´a montado a cada lado de una base de acr´ılico dise˜ nada para poder colocarse y removerse con facilidad del veh´ıculo rob´otico en cuesti´on (Fig. Al recibir una orientaci´on a la cual dirigirse. los dos sensores ultras´onicos permiten distinguir la ubicaci´on del obst´aculo y girar entonces en direcci´on contraria a ´el. 3. brinda al veh´ıculo aut´onomo la capacidad de orientarse en una direcci´on deseada por medio de una br´ ujula electr´onica como sensor. 3.4.

3. El montaje f´ısico del CI con su sensor es sobre una base de acr´ılico con un poste de pl´astico para alejarlo de otros elementos met´alicos del veh´ıculo que puedan afectar su funcionamiento (Fig. El CI se comunica con el sensor HMC6352 por medio de I2 C (Fig. Componentes Inteligentes Comunes 47 Inicio 2 Espera peticiones Lectura de Brújula Electrónica No Enviar Orientación Orientar? Si 1 2 Actualiza OrientaciónActual Si Enviar Comando OrientaciónActual < 1 Girar Derecha OrientaciónDeseada? No Si Enviar Comando OrientaciónActual > 1 Girar Izquierda OrientaciónDeseada No Enviar Comando Centrar Dirección 1 Figura 3. . una resoluci´on de 0. la unidad de procesamiento del CI opera como maestro mientras que el sensor como esclavo.29: Comportamiento del CI-Comp´ as. 3.30).31).1 y presenta un consumo de corriente menor a los 10 mA. Los resistores necesarios van incluidos en el m´odulo del sensor. 3.4.

Componentes Inteligentes Comunes 48 Unidad de Enlace Unidad de Procesamiento PIC24FJ64GB004 SDA SCL HMC6352 Sensor Compás Sensor Figura 3.30: Conexi´ on del CI-Comp´ as.3.4. Figura 3. .31: Implementaci´ on del CI-Comp´ as.

El CI de Comunicaci´on est´a conformado por una interfaz gr´afica de usuario (GUI por sus siglas en ingl´es) as´ı como un enlace de comunicaci´on inal´ambrico de alto alcance. Microcontrolador Rabbit Un microcontrolador RCM4110. marca Rabbit Semiconductor es utilizado en el CI de Comunicaci´on. La GUI es modular (Fig.33). Permite la teleoperaci´on del sistema rob´otico as´ı como visualizar la imagen en tiempo real del CI-C´amara.3.49 MHz. Componentes Inteligentes Comunes 49 Computadora Interfaz Gráfica Vehículo Robótico Componente Movimientos CI-Comunicación Teleoperación Inteligente Autónomos Comunicación Comunicación Inalámbrica Inalámbrica Componente Componente Debug Imagen Inteligente Inteligente Figura 3. y la comu- nicaci´on de alto alcance es a trav´es de radio m´odems MaxStream (Fig. al registrarse ante el CI-Coordinador comienza a recibir la actividad de peticiones generadas. integra diversas ventanas para comunicarse con el veh´ıculo rob´otico. 3. Opera a 29.32).5. La ventana Debug recibe y registra la actividad del sistema completo. 3. 3. La unidad de procesamiento de este CI utiliza un microcontrolador Rabbit.32: Estructura del CI-Comunicaci´ on. con 512 kb de memoria Flash para almacenar . Es un CI del tipo h´ıbrido y es requerido para complementar ciertos CIs.4. Permite el env´ıo de peticiones as´ı como la recepci´on de informaci´on sobre el estatus del veh´ıculo aut´onomo.4. El env´ıo de par´ametros para realizar recorridos aut´onomos es a trav´es de la ventana de Movimientos Aut´onomos. Componente Inteligente de Comunicaci´ on La interacci´on entre un usuario y el veh´ıculo rob´otico es posible a trav´es del CI de Comunicaci´on.

PWM. Componentes Inteligentes Comunes 50 Unidad de Enlace XBee Tx Rx Energía Unidad de Procesamiento Microcontrolador Rabbit Tx Rx Radio módem MaxStream Figura 3.33: Conexi´ on del CI-Comunicaci´ on. una variaci´on del lenguaje de programaci´on C.3. permite ejecutar m´as de un bloque de c´odigo ”simult´aneamente”. Incorpora 6 puertos que ofrecen diferentes funciones en las que destacan 6 entra- das/salidas seriales.4. implementaci´on maestro- esclavo. c´odigo y 256 kb de memoria RAM para variables. entre otros. Cada radio es capaz de transmitir con una potencia de salida de hasta 1 Watt a una frecuencia de 900 MHz. relojes para comunicaci´on s´ıncrona. El alcance ofrecido por estos radio m´odems en ambientes interiores/urbanos . La programaci´on del circuito es a trav´es de un puerto serial. Radio M´ odem El intercambio de informaci´on entre el veh´ıculo aut´onomo y una computadora es posible al utilizar un par de radio m´odems marca MaxStream modelo 9XTend. El c´odigo de programaci´on para este microcontrolador es desarro- llado en ”Dynamic C”. ofrecen una operaci´on multitarea.

Interfaz gr´ afica Permite controlar al robot de forma manual as´ı como visualizar su estado y enviar peticiones para realizar recorridos aut´onomos al especificar una distancia y direcci´on. desde 900 bps hasta 115200 bps.3. . Componentes Inteligentes Comunes 51 Figura 3. La integraci´on tanto del microcontrolador Rabbit como del radio m´odem Maxstream fue encapsulada en un contenedor de acr´ılico (Fig. es de hasta 900 m y de hasta 60. 3. La tasa de transferencia de datos es configurable.4. sensibilidad de recepci´on de -110 dBm. Por seguridad implementan encriptaci´on de 256-bits. La operaci´on de estos equipos de comunicaci´on se basa en un puerto serie RS-232/485 y el modo de operaci´on es punto a punto o multipunto.34: Implementaci´ on del CI-Comunicaci´ on.34) y es fijado con velcro en las plataformas m´oviles.000 m en ambientes abiertos con l´ınea directa de vista.

Indica la petici´on. rat´on o un gamepad la teleopera- ci´on de veh´ıculos aut´onomos que implementen la arquitectura. Muestra los componentes inteligentes registrados en el sistema junto con la informaci´on de peticiones que puede atender y peticiones que puede solicitar.3. este CI puede ser agregado o retirado del veh´ıculo en tiempo de operaci´on. Teleoperaci´on. Estatus. . Debug. esta interfaz funciona de manera modular. Cuenta con diferentes m´odulos como teleoperaci´on. estatus. Permite enviar peticiones al sistema rob´otico para recorrer una distancia determinada dada en cent´ımetros y peticiones para mantener una orientaci´on dada. Muestra y registra el tr´afico de peticiones existentes en el veh´ıculo aut´ono- mo. debug.35). qu´e componente la genera as´ı como su prioridad. Recorridos aut´onomos. Permite por medio del teclado. En re- corridos aut´onomos muestra la distancia recorrida y su orientaci´on.35: Interfaz gr´ afica de usuario. Independiente de la plataforma que se utilice. recorridos aut´ono- mos e imagen (Fig. Componentes Inteligentes Comunes 52 Figura 3.4. 3.

Es un CI que atiende peticiones (Fig. . 3.6. Un servomotor continuo permite un giro horizontal de la c´amara de 360 y un ser- vomotor est´andar un giro vertical de 120 . Derecha. 3. Desde el m´odulo de teleoperaci´on es posible cambiar el ´angulo de visi´on. Arriba y Abajo. El montaje de la c´amara. Este CI est´a formado por dos secciones: la c´amara colocada sobre dos servomotores en el veh´ıculo rob´otico y la contraparte es un receptor inal´ambrico de video y una tarjeta digitalizadora de video para computadora. Atiende peticiones como Girar C´amara a la Izquierda. Las peticiones de giro son enviadas por el usuario desde el CI de Comunicaci´on.36).5. Para su desarrollo utiliza una tarjeta gen´erica de componente inteligente y dos servo- motores para girar la c´amara de video inal´ambrica (Fig.4. Veh´ıculos Aut´onomos 53 Imagen. La imagen obtenida se visualiza en el mismo CI de Comunicaci´on y se tiene un alcance inal´ambrico de hasta 25 m. 3. Muestra la informaci´on capturada por la c´amara montada sobre el CI- C´amara en el veh´ıculo rob´otico. Componente Inteligente C´ amara Permite visualizar a distancia el exterior de un veh´ıculo aut´onomo al utilizar una c´amara de video inal´ambrica colocada sobre dos actuadores para lograr movimientos horizontales y verticales. Un solo cable de 5 V de alimentaci´on es requerido para su funcionamiento.37).3. servomotores y tarjeta gen´erica de CI es sobre acr´ılico y cuenta con velcro en la parte inferior para facilitar su colocaci´on sobre el veh´ıculo aut´onomo en cuesti´on. La imagen cap- turada es transmitida de manera inal´ambrica y visualizada en la interfaz gr´afica del CI de Comunicaci´on.

.36: Comportamiento del CI-C´ amara.3. 3.5. Veh´ıculos Aut´onomos 54 Inicio 1 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 hacía 1 Arriba? arriba No Si Girar Cam Actuador hacía 1 Abajo? abajo No 1 Figura 3. son colocados sobre cada plataforma m´ovil los CIs par- ticulares que correspondan. En ambas plataformas se requiere un CI- Coordinador para operar. Veh´ıculos Aut´ onomos Una vez desarrollados los CIs.5. tanto al veh´ıculo con sistema de direcci´on Ackermann co- mo al veh´ıculo con cinem´atica diferencial.

39. La plataforma diferencial con sus CIs particulares Rueda Izquierda y Derecha. Tracci´on y Direcci´on adem´as de los CIs comunes de Comunicaci´on. Veh´ıculos Aut´onomos 55 Figura 3. La energ´ıa para esta plataforma diferencial est´a dada por una bater´ıa de pol´ımero de litio de 11. Los CIs est´an energizados por una bater´ıa mientras que la segunda bater´ıa es para los motores de tracci´on. Seguidor de Pared. Los CIs comunes son intercambiados entre plataformas seg´ un se requiera.1 V con capacidad de 5000 mAh cada una. Seguidor de Pared y Evasor. Se muestran ambas plataformas m´oviles con algunos componentes inteligentes incorporados. La energ´ıa para este veh´ıculo Ackermann est´a dada por dos bater´ıas de pol´ımero de litio de 11. Evasor.38). .3. 3.1 V con capacidad de 4400 mAh. C´amara y Comp´as (Fig.37: Implementaci´ on del CI-C´ amara.5. Se muestran adem´as los CIs comunes de C´amara. Se tiene a la plataforma Ackermann con sus CIs particulares Od´ometro. as´ı co- mo su CI Od´ometro puede apreciarse en la Figura 3.

Figura 3. Veh´ıculos Aut´onomos 56 onomo Ackermann basado en CIs.3.5.38: Veh´ıculo aut´ .

39: Veh´ıculo aut´ onomo diferencial basado en CIs.3. .5. Veh´ıculos Aut´onomos 57 Figura 3.

Cap´ıtulo 4 Implementaci´ on: Arquitectura de Control Se presenta en este cap´ıtulo la integraci´on de CIs para implementar la arquitectura de control de dos plataformas m´oviles. Componentes Inteligentes La validaci´on de la arquitectura de control involucr´o una serie de pruebas realizadas a cada uno de los CIs desarrollados. Adem´as se muestran los resultados de diversas pruebas realizadas a cada CI.1. Estas pruebas fueron realizadas de forma individual para comprobar la correcta operaci´on de cada unidad funcional del CI. Diversas rutinas fueron programadas para verificar que los motores opera- ran de forma adecuada. tanto de los elementos f´ısicos como de los elementos l´ogicos. 4. CI-Tracci´on. con cinem´atica diferencial y Ackermann. respecti- vamente. as´ı como el desempe˜ no de cada plataforma m´ovil realizando ciertas tareas. capaces de girar en ambos sentidos y a diferentes velocidades. optoacopla- 58 . as´ı como para evaluar el desempe˜ no de la funci´on de cada CI. esto despu´es de realizar la conexi´on electr´onica entre el microcontrolador.

CI-Direcci´on. CI-C´ amara. Como parte de las pruebas se modi- fic´o el montaje f´ısico de los sensores ultras´onicos para permitir orientarlos manualmente y adaptarlos a la plataforma m´ovil utilizada. Se prob´o la respuesta del servomotor del eje posterior a peticiones de giro de la direcci´on de forma satisfactoria. El servomotor del eje anterior se program´o de forma fija para evitar forzar los motores de tracci´on en giros demasiado cerrados.1. Se prob´o la respuesta del sensor de 0 a 359 ◦. CI-Evasor. Se evalu´o el algoritmo que permite lograr una orientaci´on deseada al comparar la orientaci´on actual del veh´ıculo con la orientaci´on programada y as´ı generar las peticiones de movimiento necesarias. CI-Seguidor de Pared. Componentes Inteligentes 59 dores y puente H. se prob´o la comunicaci´on inal´ambrica del CI para recibir peticiones y atenderlas. Se program´o una rutina para girar los servomotores de direcci´on desde el centro hasta los extremos en peque˜ nos incrementos con el objetivo de encontrar los l´ımites operacionales del veh´ıculo Ackermann en ambos sentidos. Los servomotores de giro de la c´amara inal´ambrica se operaron por medio de un programa que permite controlar el ´angulo de visi´on. se encontr´o de manera experimental el valor m´aximo de giro en ambos sentidos para evitar colisiones con la base del CI. CI-Comp´as. El servomotor de giros horizontales se hizo operar con peque˜ nos incrementos por cada petici´on de giro recibida. Se desarroll´o un programa para la medici´on de dos sensores ultras´onicos para detectar obst´aculos.4. En el caso del servomotor de movimiento vertical. Una vez que se logr´o el correcto control de los motores de tracci´on. Se experiment´o con diferentes valores de distancia hasta encontrar los mejores resultados de acuerdo a la respuesta del veh´ıculo. como se observ´o en las pruebas realizadas. debido a que es un servomotor continuo que permite realizar giros de hasta 360 ◦ . Se evalu´o el algoritmo de evasi´on. Originalmente se prob´o el seguimiento de pared con un sensor . que genera como salida peticiones para girar el veh´ıculo seg´ un sea necesario o bien retroceder para evitar coli- siones.

2). Distancia recorrida Pulsos Contados 39.1: Relaci´ on de distancias y pulsos.4355*D .8 cm 50 109. 4.7898*D . Las pruebas realizadas a los od´ometros utilizados en ambas plataformas fueron similares entre s´ı.2).4.5 cm 150 214 cm 300 317 cm 450 389 cm 550 ultras´onico colocado de forma ortogonal al veh´ıculo para detectar la pared. CI-Od´ometro. Primero se midi´o el pulso generado por los sensores y se obtuvo una cuenta proporcional a la distancia recorrida.1. Se ejecutaron recorridos a diferentes distancias en repetidas ocasiones (Tabla 4. Se encontr´o como soluci´on colocar otro sensor ultras´onico orientado a 45 ◦ respecto a la pared en la parte frontal del veh´ıculo. Se prob´o la comunicaci´on entre la interfaz gr´afica y el veh´ıculo rob´otico utilizando el radio m´odem 9XTend al enviar diferentes peticiones y observar . Para la plataforma diferencial la funci´on es: PDif = 1. Componentes Inteligentes 60 Tabla 4. plataforma Diferencial.1 y 4.9871 Para la plataforma Ackermann: PAck = 2. CI-Comunicaci´on.6. Esta fue implementada en los microcontroladores para convertir de pulsos a cent´ımetros.837 Donde PDif y PAck son los pulsos a contar y D la distancia en cent´ımetros a recorrer.1 y 4. Present´o un funcionamiento adecuado excepto en giros cerrados. Esto permiti´o anticipar la forma de la pared y dar el giro en esquinas o irregularidades importantes de manera adecuada. donde el robot era incapaz de anticiparse a la forma de la pared por lo que se perd´ıa el seguimiento. se midi´o la distancia real recorrida y se relacion´o con el conteo de pulsos y se encontr´o una funci´on de tendencia lineal (Fig.21.

plataforma Ackermann.2: Funci´ on de calibraci´ ometro Ackermann. on de distancias y pulsos. se prob´o la comunicaci´on entre el m´odulo Debug del CI-Comunicaci´on y el CI-Coordinador por medio de los . on del CI-Od´ la respuesta por parte del sistema rob´otico.4. Tabla 4.4*x − 7 Estimado 400 300 Pulsos 200 100 0 −100 0 50 100 150 200 250 300 350 400 Distancia (cm) Figura 4. Componentes Inteligentes 61 600 Medido 500 y = 1.1: Funci´ on de calibraci´ on del CI-Od´ ometro diferencial.8*x − 22 Estimado 800 600 Pulsos 400 200 0 −200 0 50 100 150 200 250 300 350 400 Distancia (cm) Figura 4.2: Relaci´ Distancia recorrida Pulsos Contados 46 cm 100 183 cm 500 268 cm 1000 1200 Medido 1000 y = 2. Por otra parte.1.

Trascurren 50 ms desde que una petici´on es enviada hasta que es atendida por otro CI. por lo que se utiliz´o la velocidad m´axima permitida de 19200 bps para lograr el m´aximo nivel de atenci´on del CI-Coordinador y evitar perdida de informaci´on. Figura 4.1.4. incluido el paso por el CI-Coordinador.3: Tiempo entre una petici´ on y su reenv´ıo por el CI-Coordinador. la primera de Incrementar Velocidad (a) y la segunda para informar la distancia recorrida (b). Se comprob´o el correcto registro de las peticiones generadas en el sistema. Las pruebas a este CI se enfocaron en revisar el registro de CIs as´ı co- mo verificar la correcta recepci´on y reenv´ıo de peticiones. En la figura 4. El tiempo que transcurre entre la petici´on de alg´ un CI y la trasmisi´on del CI-Coordinador al CI correspondiente es de 23 ms (Fig. Se monitore´o el tr´afico de peticiones con la ayuda de un osciloscopio y se observ´o que la velocidad de transmi- si´on de datos entre el CI-Coordinador y su XBee es cr´ıtica. Componentes Inteligentes 62 XBee.4 se muestra la actividad del CI-Od´ometro que env´ıa dos peticiones. 4. se prob´o el m´odulo de Teleoperaci´on del CI-Comunicaci´on con un control comercial para la consola de videojuego XBox. El pulso mostrado en la parte inferior (c) representa la reacci´on del CI-Tracci´on por recibir la petici´on de Incrementar . Adicionalmente. CI-Coordinador. con lo que se logr´o operar el veh´ıculo rob´otico por medio del radio m´odem 9XTend.3).

1. se realizaron pruebas de operaci´on de la arquitectura de control propuesta con varios CIs para am- bas plataformas m´oviles.5). Se prob´o la reacci´on de los veh´ıculos ante un obst´aculo al frente al estar en movimien- .4. Velocidad. Desde el CI-Comunicaci´on en una computadora. 4. Se comprob´o la comu- nicaci´on entre el CI-Coordinador y los otros CIs en el sistema. Retroceder y Girar (Fig.1.1.5: Pruebas de laboratorio.4: Actividad entre el env´ıo y atenci´ on de peticiones. Detener. se enviaron peticiones de Avanzar. Integraci´ on de Componentes Inteligentes Figura 4. 4. Una vez que se probaron y se pusieron a punto por separado los CI. Componentes Inteligentes 63 Figura 4.

4.1.2.2. Componente Inteligente y Motores Consumo el´ectrico (mA) Od´ometro 48 Rueda izquierda 55 Rueda derecha 55 Coordinador 46 Motores 180 x 2 to. Tambi´en se hicieron pruebas a diferentes distancias y orientaciones en recorridos aut´onomos.5: 4.3. Se midi´o el consumo el´ectrico de los CIs en operaci´on y se presentan en las Tablas 4. 4. Con los resultados obtenidos se consider´o que las plataformas quedaron integradas adecuadamente para poder llevar a cabo diversas tareas. por lo que fueron seleccionados dispositivos de bajo consumo el´ectrico para ser utilizados en los CIs. Consumos El´ ectricos En sistemas energizados con bater´ıas es importante mantener un consumo de corriente bajo para aumentar la autonom´ıa.4: Consumo de corriente en el veh´ıculo diferencial. Componente Inteligente y Motores Consumo el´ectrico (mA) Od´ometro 68 Tracci´on 49 Coordinador 46 Direcci´on 170 Motores 470 Tabla 4.4.4 y 4.3: Consumo de corriente medido en el veh´ıculo Ackermann. Experimentos y Resultados Se desarrollaron experimentos para probar el desempe˜ no de la arquitectura de control en las dos plataformas m´oviles implementadas.2. ante diferentes escenarios y circunstan- . Experimentos y Resultados 64 Tabla 4.

4. El equipo GPS se dise˜ n´o y desarroll´o a partir de un microcontrolador PIC16F690 y un GPS 15L fabricado por Garmin.6).4. 4. Estos datos son enviados a trav´es de un par de radio m´odems XBee hacia la interfaz de registro. Estos experimentos se desarrollaron al aire libre en una cancha de b´asquetbol debido a que se utiliz´o un sistema de posicionamiento global (GPS) para poder registrar los recorridos y evaluar los resultados de las tareas realizadas por los veh´ıculos. Se desarroll´o una funci´on para graficar los recorridos y . en particular con el lenguaje de programaci´on C.5: Corriente medida en los CIs Comunes. El microcontrolador obtiene datos del GPS.2. La interfaz de registro fue desarrollada en Visual Studio 2010. filtra la informaci´on para obtener tanto la posici´on como la hora actual. Componente Inteligente y Motores Consumo el´ectrico (mA) Comp´as 46 Evasor 76 Comunicaci´on 152 Seguidor de Pared 90 C´amara 120 cias. Sistema de Registro GPS Se desarroll´o un sistema para el registro de recorridos basados en un sistema de posi- cionamiento global que consta de dos partes: un equipo GPS y una interfaz de registro (Fig. La informaci´on recibida desde el equipo GPS es mostrada en la pantalla de la interfaz y se cuenta con un bot´on para iniciar o detener el registro de datos en un archivo de texto.1. Utiliza un puerto COM generado por la conexi´on del radio m´odem XBee a la computadora. Se utiliz´o el lenguaje de programaci´on Matlab para el procesamiento de la informaci´on registrada con el sistema GPS.2. Experimentos y Resultados 65 Tabla 4.

2 m y otro escenario de 3. Es sencilla de ensamblar y transportar.4 m de altura.2. Seguimiento de Pared Se realizaron recorridos de seguimiento de pared en diferentes escenarios con ambas plataformas. Experimentos y Resultados 66 Equipo transmisor GPS Receptor GPS XBee XBee Interfaz de Registro Microcontrolador PIC16F690 GPS 15L Archivo (a) Equipo GPS (b) Interfaz de registro GPS Figura 4.6 m (Fig. 4.2. Direcci´on y Tracci´on) adem´as del CI-Seguidor de Pared (Fig. El primer escenario sin obst´aculos fue un recorrido rectangular de 6 x 1.2 m de ancho por 0. Se dise˜ n´o una pared seccionada como escenario de pruebas de seguimiento fabricado con madera y cart´on. La forma de ensamble est´a limitada a las combinaciones posibles con 12 secciones de 1. Od´ometro. En cada gr´afica se muestra tanto la velocidad y trayectoria recorrida como el recorrido ideal.7). 4. .4.2. 4. obtener la distancia transitada as´ı como la velocidad de cada veh´ıculo.6 x 3.8).6: Sistema de registro GPS. donde se evaluaron ambas plataformas en operaci´on. preparadas con sus CIs particulares (Coordinador.

6 m (a) Escenario rectan.9).25 m/s.8: Seguimiento sin obst´ aculos.2 m 3.2.4.27 m/s y una distancia promedio de 27. El CI-Od´ometro en la plataforma Ackermann regula la velocidad para mantenerla cons- tante a un valor programado de 0. Al encender cada veh´ıculo.7: CIs para el Seguimiento sin obst´ aculos. Experimentos y Resultados 67 CI-Dirección CI-Odómetro CI-Rueda Izquierda CI-Odómetro 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 CI-Tracción CI-Seguidor CI-Rueda Derecha CI-Seguidor (a) Plataforma Ackermann (b) Plataforma Diferencial Figura 4. 4. En el escenario rectangular se obtuvo una velocidad promedio de 0.7 m en varios recorridos (Fig. 1. (b) Escenario cuadrado gular Figura 4. El movimiento del veh´ıculo comienza cuando el CI-Seguidor de Pared toma el control al enviar peticiones de avan- zar as´ı como de girar la direcci´on con base a las mediciones de los sensores ultras´onicos. este proceso tiene una duraci´on aproximada de 30 segundos.6 m 6m 3. . comienza el proceso de registro de CIs ante el CI-Coordinador.

206 m/s 8.208 0. Experimentos y Resultados 68 8.21 m/s.2 8.57 −25.206 m/s 8.575 −25.204 8.26937 8.2. La velocidad promedio en estos recorridos fue de 0.196 8.9: Pruebas de seguimiento sin obst´ El CI-Seguidor de Pared fue cambiado a la plataforma diferencial y se realiz´o el re- corrido.21 m 8. Una vez realizadas las pruebas de seguimiento en el escenario rectangular se experi- .58 −25. Los CIs-Rueda Izquierda y Derecha en esta plataforma diferencial atien- den tanto las peticiones de avanzar como de girar. Figura 4.194 8.21972 8.10).10: Pruebas de seguimiento sin obst´ aculos con plataforma diferencial.3658 8.208 0.4 m (Fig.194 8.58 −25.2834 8. 4.212 26.192 −25.212 28. Al encender el veh´ıculo comienza el registro de CIs ante el CI-Coordinador y segundos despu´es comienza el seguimiento de pared al igual que en la plataforma Ackermann. se recorri´o en total una distancia promedio de 26. Figura 4.21 m 8.204 8.202 8.2 8.57 −25. aculos Ackermann.196 8.192 −25.202 8.575 −25. 8.4.198 8.198 8.

25 m/s en la plataforma Ackermann. Trayectorias Aut´ onomas Se realizaron trayectorias aut´onomas donde se especifica una distancia a recorrer con cierta orientaci´on.57 −25. 4.12). En la figura 4.57 −25.11: Pruebas de seguimiento sin obst´ aculos circuito cuadrado. Se solicit´o un recorrido de 14 m a 180 ◦ (de Norte a Sur).2. Los recorridos fueron desarrollados en una cancha de basquetbol al aire libre.21 m m 8.192 8. Se env´ıa por parte del usuario desde el CI-Comunicaci´on la orienta- ci´on en grados (0 359) y la distancia en cent´ımetros a recorrer.3. 4.25714 8.206 8.196 8.2 8.194 8.22208 0.192 −25.202 8.575 −25.204 8.194 8.6 X 3.198 8.208 8.58 −25. 8. despu´es de varios recorridos con ambas plataformas se logran distancias de 14 m con un margen de error de 0.206 m/s m/s 8.4.204 8.11 se muestra uno de los recorridos de cada plataforma. (a) Plataforma Diferencial (b) Plataforma Ackermann Figura 4. Se eva- lu´o en ambas plataformas m´oviles con los siguientes resultados (Fig.2 8.4855 8.212 8.198 8.2 m.196 8.575 −25. Las distancias recorridas fueron de 27 m en promedio por ambas plataformas.58 −25.2. 4. −25. .202 8.212 27.0935 26.208 0.13). Experimentos y Resultados 69 ment´o en un escenario cuadrado de 3.22 m/s en la plataforma diferencial y de 0.6 m. En este tipo de recorrido son utilizados el CI-Od´ometro para estimar la distancia recorrida y el CI-Comp´as para mantener una orientaci´on dada (Fig.21 8. Se obtuvieron velocidades de 0.

(a) Plataforma Diferencial (b) Plataforma Ackermann Figura 4. ortogonal a la trayectoria del veh´ıculo y una elongaci´on de la pared a 45 ◦ de 0.575 −25.6 X 3.6 m adicionado con un obst´aculo de 0.206 8.2.15).21 m m 8. Seguimiento de Pared con Obst´ aculos Se emple´o un escenario cuadrado de 3.194 8.206 m/s m/s 8.2 8.208 8.212 14. Diversos recorridos de seguimiento de pared se realizaron.198 8.198 8.12: CIs para trayectorias sin obst´ aculos.2.212 8.22864 8.196 8.6 m.1758 8. Puede apreciarse c´omo con la interacci´on de todos los CIs se logra . Experimentos y Resultados 70 CI-Dirección CI-Odómetro CI-Rueda Izquierda CI-Odómetro 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 CI-Tracción CI-Compás CI-Rueda Derecha CI-Compás (a) Plataforma Ackermann (b) Plataforma Diferencial Figura 4.13: Recorridos aut´ onomos sin obst´ aculos.192 −25.6 m (Fig. 4.2226 0.57 −25. 8.58 −25.202 8.57 −25.21 8. −25.14).196 8.192 8.202 8.2 8.204 8.4.575 −25.208 0. para ello se agreg´o el CI- Evasor (Fig.194 8. 4. 4.204 8.4.58 −25.0236 14.

6 m 3.2.5. 4.16). CI-Odómetro CI-Odómetro E E CI-Dirección 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-Tracción P CI-Rueda Derecha P S S CI-Evasor CI-Evasor (a) Plataforma Ackermann (b) Plataforma Diferencial Figura 4. mientras evade el obst´aculo y contin´ ua con el recorrido original. la tarea. Experimentos y Resultados 71 3.4. en particular el CI-Seguimiento de Pared alterna el control con el CI-Evasor de obst´aculos (Fig. Trayectorias Aut´ onomas con Obst´ aculos Se realizaron recorridos aut´onomos ahora con obst´aculos colocados en la trayectoria. 4.6 m Figura 4.2. Con esta prueba se puede apreciar c´omo existe una interacci´on entre los CIs para realizar el recorrido de manera aut´onoma. .15: CIs para el Seguimiento con obst´ aculos.14: Escenario cuadrado con obst´ aculos.

196 8.4. La direcci´on del giro de evasi´on depende de la posici´on del obst´aculo.2 8.21 m 8.198 8.575 -25. Al liberarse del obst´aculo. 4.206 m/s 8.26249 8. el control de la direcci´on regresa al CI-Comp´as que retoma la orientaci´on solicitada originalmente (Fig. al momento de ser detectado un obst´aculo la direcci´on del veh´ıculo aut´onomo es controlado por el CI-Evasor (Fig. Se gira hacia donde se encuentre mayor espacio libre. La evasi´on fue a la derecha del obst´aculo.58 -25. 4. Se lograron diversos recorridos con obst´aculos.192 -25.212 32.16: Seguimiento de pared con obst´ aculos.4 m de altura por 1 m de ancho. Experimentos y Resultados 72 8.204 8. 4. Las pruebas fueron desarrolladas en una cancha de basquetbol al aire libre con obst´acu- los de 0.57 (a) Seguimiento de pared con obst´aculos (b) Prueba de seguimiento con obst´aculos Figura 4. Se evalu´o en ambas plataformas m´oviles con los siguientes resultados (Fig.18). El recorrido fue de 14 m a 180 ◦ (de Norte a Sur). El CI-Evasor tiene prioridad sobre el CI-Comp´as.17).19).208 0.194 8.202 8.8118 8.2. Se .

en este caso el giro del veh´ıculo fue por la izquierda (Fig. Experimentos y Resultados 73 CI-Compás CI-Compás E E CI-Dirección P CI-Rueda Izquierda P E S/A E S CI-Odómetro P E P E E E A A P P P P S E Coordinador E Coordinador S CI-Odómetro P P E E A A CI-Tracción P CI-Rueda Derecha P S S CI-Evasor CI-Evasor (a) Plataforma Ackermann (b) Plataforma Diferencial Figura 4.17: CIs para trayectorias con obst´ aculos.20).6.2. Orientación solicitada 14 m 14 m 14 m (a) Recorrido sin (b) Con obst´aculo sin CI. Tr´ afico de Peticiones El tr´afico de las peticiones generadas por los CIs en el sistema rob´otico puede ser registrado con la opci´on Debug del CI-Comunicaci´on. La estructura del registro incluye .(c) Obst´aculo y CI-Evasor obst´ aculos Evasor Figura 4.18: Casos posibles en los recorridos aut´ onomos. 4. experiment´o colocando el obst´aculo con sesgo hacia cada lado.4. 4.2. que result´o en evasi´on por el sentido m´as libre.

20: Recorrido aut´ onomo con obst´ aculos con giro por la izquierda.192 -25.19: Recorridos aut´ onomos con obst´ aculos con giro por la derecha.202 8.204 8. Se muestra en azul c´omo la regulaci´on de velocidad tiene lugar en un .21). su prioridad as´ı como el identificador del CI que la genera y la hora en que se present´o (Fig.212 13.198 8.9696 8.194 8.57 -25.2 8.575 -25.57 Figura 4. la petici´on generada.575 -25.21 m 8.212 13.22087 0.2 8.208 0.2.57 (a) Diferencial (b) Ackermann Figura 4. que es reportada por el CI-Od´ometro. su par´ametro opcional.202 8. 4.25399 8.212 8. Puede observarse el incremento de la distancia recorrida por el veh´ıculo rob´otico.208 0.202 8.204 8.206 m/s m/s 8. Se puede apreciar a manera de ejemplo en una de las pruebas registradas el comporta- miento que se obtiene en un recorrido aut´onomo.204 8.4.196 8.194 8.206 8. Experimentos y Resultados 74 8.198 8.58 -25.21591 8.21 8.208 8.58 -25.198 8.196 8.575 -25.206 m/s 8.21 m m 8. El incremento cambiante en la distancia est´a relacionado directamente con la velocidad del veh´ıculo.9151 14.192 -25.58 -25.192 8.194 8.2 8.196 8. 8.0343 8.

Orientación del recorrido 250 Azimut (°) 200 150 100 10 20 30 40 50 60 Tiempo (Seg) Figura 4. Prioridad 0.21: Ejemplo de registro de peticiones generadas.23). Experimentos y Resultados 75 Derecha al 80%. IncrementaVel al 2%. Velocidad Distancia (cm) 1000 500 D 0 10 20 30 40 50 60 Tiempo (Seg) Figura 4. I 1500 Reg. 4.m. Prioridad 60.22: Distancia recorrida junto con el control de velocidad.4. idCI 0 12:01:22 p.m.23: Orientaci´ on lograda comparada con la orientaci´ on solicitada.m. recorrido y su consecuencia con la distancia recorrida a lo largo del tiempo (Fig. idCI 5 12:01:23 p.2. con la plataforma Ackermann. Prioridad 60.m. . Prioridad 80. Centrar al 0%. Figura 4. La variaci´on de la orientaci´on en un veh´ıculo est´a directamente relacionada con el sistema de direcci´on de la plataforma m´ovil.22). En estas pruebas se presenta una variaci´on de 5 ◦ . La informaci´on reportada por el CI-Comp´as muestra el desempe˜ no logrado en un re- corrido con una orientaci´on solicitada de 180 ◦ (Fig. 4. idCI 5 12:01:22 p. son enviadas al CI-Direcci´on para lograr mantener la orientaci´on solicitada. Derecha al 83%. idCI 7 12:01:23 p. Las peticiones generadas por el CI-Comp´as a partir de la medici´on de la orientaci´on del veh´ıculo.

2. mientras que en la elongaci´on de la pared (punto 6) la actividad . Estos recorridos se analizaron de acuerdo con las peticiones del CI-Seguidor de Pared y el CI-Evasor.24: Peticiones para giros a Izquierda y Derecha en un recorrido en l´ınea recta. en donde el punto 1 indica el inicio del recorrido. 3 representa un obst´aculo y el punto 6 es una elongaci´on de la pared. Las peticiones del CI-Evasor tienen prioridad sobre el CI-Seguidor de Pared (Tabla 4.4. 4. 4 y 5 son esquinas del cuadrado. 4 5 3 2 6 1 Figura 4.25). Cambio de Dirección 60 40 Derecha 20 0 Izquierda -20 -40 -60 10 20 30 40 50 60 Tiempo (s) Figura 4.24).26 muestra una de las vueltas y la interacci´on de las peticiones de ambos CIs.6). Experimentos y Resultados 76 Se presenta una gr´afica con las peticiones atendidas por el CI-Direcci´on para realizar un recorrido en l´ınea recta (Fig.25: Escenario cuadrado con obst´ aculos. 4. Se efectuaron recorridos con el veh´ıculo rob´otico en una trayectoria cuadrada (Fig. la Figura 4. 2. al presentarse un obst´aculo (punto 3) el CI-Evasor inhibe las peticiones de otros CIs y toma el control.

4. del CI-Evasor es m´ınima y el control lo efectu´o el CI-Seguidor de Pared.2. Tabla 4. CI-Seguidor de Pared CI-Evasor Petici´on Girar Girar Avanzar Girar Centrar Detener Retroceder Izquierda Derecha Izquierda Direcci´on Prioridad 60 60 60 70 0 0 96 . Experimentos y Resultados 77 Actividad entre CIs 1 2 3 4 5 6 1 CI-Seguidor Ret CI-Evasor Ava Peticiones Det Der Cen Izq 1 42 84 125 Tiempo (s) Figura 4.6: Prioridades de las peticiones generadas en la trayectoria de 125 segundos. Tal como se aprecia en las esquinas la petici´on de Girar Derecha es la que predomina.26: Interacci´ on entre el CI-Evasor y el CI-Seguidor de Pared.

Esta flexibilidad se debe a que un componente inteligente encapsula las carac- ter´ısticas del sensor o actuador. ser utilizados en otros sistemas rob´oticos. una vez que los compo- nentes inteligentes han sido desarrollados y evaluados. La comunicaci´on as´ıncrona basada en peticiones (comandos abstractos) permite una interacci´on robusta entre los componentes inteligentes. lo cual tambi´en permite la identificaci´on f´acilmente de una falla o mal comportamiento del sistema rob´otico. La interacci´on entre los componentes inteligentes de un sistema rob´otico provee un comportamiento aut´onomo para llevar a cabo la tarea asignada. La independencia entre componentes inteligentes provee un control distribuido robusto y configurable para el desarrollo de diversos sistemas rob´oticos. aunque estos sean desarrollados con diferentes unidades de procesamiento o programados en diferentes lenguajes de programaci´on. 78 . La naturaleza modular de la arquitectura de control permite.Cap´ıtulo 5 Conclusiones La arquitectura de control distribuida basada en componentes inteligentes es una alter- nativa pr´actica para la implementaci´on de sistemas rob´oticos. as´ı como los requerimientos de operaci´on mediante un algoritmo apropiado para llevar a cabo su funci´on espec´ıfica en cualquier configuraci´on de un robot.

2. que demuestra ser confiable y robusta. Trabajo Futuro El n´ umero de componentes inteligentes que pueden trabajar al mismo tiempo en un sistema rob´otico est´a limitado por la capacidad del componente inteligente coordinador. Permite implementar el control distribuido y construcci´on de un veh´ıculo aut´onomo basado en componentes inteligentes e independientes. . se confirma la hip´otesis y se lograron los objetivos. Se lograron cumplir las tareas impuestas de forma satisfactoria y se demostr´o una reacci´on e interacci´on adecuada entre los componentes inteligentes que configuraron los veh´ıculos aut´onomos. Contribuciones Se obtuvo una arquitectura alternativa para el desarrollo de sistemas rob´oticos. para la configuraci´on de diversos robots. en particular de veh´ıculos aut´onomos. se concluye que la arquitectura de control distri- buida basada en componentes inteligentes cumple satisfactoriamente con las expecta- tivas planteadas. 5. Lo cual contribuye a optimizar recursos para el desarrollo de sistemas rob´oticos en diversas aplicaciones. particularmente en la investigaci´on.5. Con base en los resultados obtenidos.1.1. al ser considerados como re- cursos independientes y flexibles. Permite que se reutilicen los componentes inteligentes. Se pueden emplear dispositivos con mayor capacidad de c´omputo y comunicaci´on como coordinador y aumentar el tr´afico de peticiones en el sistema. como los casos al detectar obst´aculos mientras su tarea era seguir una pared o una trayectoria. 5. Contribuciones 79 El resultado de los experimentos muestra la correcta operaci´on de dos plataformas m´oviles que implementan la arquitectura de control distribuida en diferentes tareas.

para pasar de una interacci´on coordinada a una interacci´on colaborativa. Trabajo Futuro 80 Desarrollar veh´ıculos aut´onomos a partir de componentes inteligentes que permitan desarrollar tareas con mayor grado de complejidad y en ambientes din´amicos. Tambi´en la implementaci´on de componentes inteligentes adaptables al entorno y a la configura- ci´on de diversos sistemas rob´oticos.2. Fusionar la arquitectura de control propuesta con el sistema operativo de rob´otica (ROS).5. Investigar un mecanismo de colaboraci´on entre los componentes inteligentes aplicando t´ecnicas desarrolladas en la implementaci´on de sistemas multi-agentes. destacando las ventajas de ambas alternativas. . mediante la incorporaci´on de algoritmos inteligen- tes.

Connell. Chapman. volume 0727. Journal of Robotic Systems. Wehe. [5] J. [6] R. Everett. 2009. A. Arkin. H. Brooks and J. USA. PhD thesis. A hybrid architecture applied to robot navigation. MA. [3] R. Mobile robot positioning and sensors and techniques. 1986. In International Conference on Robotics and Automation. Pengi: An implementation of a theory of activity. Borenstein. A Multi-Agent Architecture With Distributed Coordina- tion for an Autonomous Robot. 14(4):231–249. Nice. L. 1992. and D. [4] B. In Sixth National Conference of the American Association for Artificial Intelligence Conference.H. Wiley. Spain. 81 . In SPIE Proceedings. [2] James Sacra Albus and Alexander M Meystel. April 1997. Engineering of mind : an introduc- tion to the science of intelligent systems. 2001. Cambridge.M. pages 268–272. Innocenti Badano. pages 2719–2724. Agre and D.Bibliograf´ıa [1] P. France.R. In American Association for Artificial Intelligence Spring Symposium on Robot Navigation. Universitat de Girona. 1987. [7] J Connell. Towards the unification of navigational planning and reactive control. pages 1–5. 1989. Feng.C. Asynchronous distributed control system for a mobile robot. pages 77–84. Special Issue on Mobile Robots.

[14] 802. Farritor and S. 1995. Auto- nomous Robots. January 2001. [16] 802.1. 1987. .K. Everett. In First International Symposium on Robotics Research. Wireless medium access control (mac) and physical layer (phy) specifications for wireless personal area networks (wpans). 1999. Sensors for Mobile Robots : Theory and Application. 2002. IEEE Standard 802.11b The Institute of Electrical and Electronics Engineers Inc.1 IEEE. Technical Report SAND2001-3685. Reasoning and planning in dynamic domains: An experiment with a mobile robot. Lansky. Giralt and M. An integrated navigation and motion con- trol system for autonomous multisensory mobile robots.BIBLIOGRAF´IA 82 [8] H. [15] 802. [10] S. Chatila G.15. Unmanned ground vehicle (ugv) development efforts.L. 1995. [12] D.P Georgeoff and A. 10(1):57–65. Dubowsky. On modular design of field robotic systems. New Mexico. 2001.W. [9] H. IEEE Standard 802. Sandia Natio- nal Laboratories.4 ghz band. pages 191–214. MA.11b IEEE. USA. Special Issue on Unmanned Ground Vehicles. 2003. Gage.4. The Institute of Electrical and Electronics Engineers Inc.R. [13] M. Wireless medium access control (mac) and physical layer (phy) specifications: Higher-speed physical layer extension in the 2. [11] R. Vaisset. A.15. IEEE Standard 802. A critical review of the state-of-the-art in autonomous land vehicle systems and technology. Durrant-Whyte. 1983.4 IEEE. Wellesley.15. Peters. Unmanned Systems Magazine. In Sixth National Conference of the American Association for Artificial Intelligence Conference. The Institute of Electrical and Electronics Engineers Inc. Wireless medium access control (mac) and physical layer (phy) specifications for low-rate wireless personal area networks (lr-wpans)).15. pages 677–687.

Leger and J. 1990. Michelson. 25(2):414–425.W. In Proceedings of the 1998 ASME Design Engineering Technical Confe- rences. 1990. In Procee- dings of the National Conference on Artificial Intelligence (AAAI).Firby. Brown.L. 2004. 1998. GT Wilfong. E. August 1996. Autonomous vehicles. Bares. Rosenbloom. D. pages 1022–1029. IrDA Principles and Protocols. Gerkey M. J. Boston.C. pages 89–103. and R.C. Moravec and A. Lavoisier. Massachusetts. Elfes. . A modularized personal robot drpi: Desing and implementation. Japan. 1990. In Ninth National Conference of the American Association for Artificial Intelligence Conference. Mar 1985. Designing Autonomous Agents. USA.R. [25] D. [21] P. Quigley. Meyrowitz. Internalized plans: A representation for action resources. 2:116–121. [19] Charles D. S. IEEE International Conference on Robotics and Automation. IEEE Transactions Robotics. Autonomous robot vehicles. [26] Woong Yang Kwang Roh Se-go. [22] B. In ICRA Workshop on Open Source Software. High resolution maps from wide angle sonar. Knutson and Jeffrey M.BIBLIOGRAF´IA 83 [17] TL Prez IJ Cox. Laird and P. [23] A. An investigation into reactive planning in complex domains. Kobe. April 2009. An investigation into reactive planning in complex domains. page 202207. Automated synthesis and optimization of robot configu- rations. Blidberg. volume Volumen 1 de The IrDA Library. 1987. volume 84. Payton. [24] H. [20] J. [18] R. In IEEE. Ros: an open-source robot operating system. MCL Press. 2009. pages 1147–1164.

V. Verma. ASME Transaction on Manufacturing Review. Tompkins. Technology for autonomous space systems. 2008. Vitti- Lyons. Zhang. . Technical Report CMU-RI-TR-00-02. 2001. Smith. Febraury 2002. [30] M. Springer Handbook of Robotics. June 1989. Duff. [28] A. Wagner. A generalized architecture for robot structures. and D. Stroupe. and M. Springer. Yim. 39(2):30–34. Singh. 2(2):91–118.BIBLIOGRAF´IA 84 [27] Bruno Siciliano and Oussama Khatib. IEEE Spectrum. [29] D. Tesar. Y.D. T. R. Modular robots. P. R. Simmons. S.

Anexo A Especificaciones para Desarrollar un Componente Inteligente A.1. procesamiento y actuador/sensor. Procesamiento y Actuador/Sensor: Unidad de Enlace Unidad de Procesamiento Actuador/Sensor Figura A. Actuador/Sensor. Puede utilizarse el actuador o sensor que se adapte a la funci´on que 85 . Componente Inteligente Un CI consta de tres unidades funcionales: Enlace.1: Componente Inteligente conformado por las unidades funcionales de enlace.

A.2. Registro de Componentes Inteligentes 86

se desea satisfacer. El CI debe incluir las conexiones necesarias tanto de alimentaci´on
como de comunicaci´on para el funcionamiento del sensor/actuador.

Procesamiento. Puede utilizarse cualquier modo de procesamiento, desde un microcon-
trolador, una computadora hasta un arreglo de computadoras.
Enlace. Se implementa con el protocolo ZigBee, a trav´es de dispositivos XBee. Se deben
configurar estos radio m´odems para que todos funcionen en el mismo canal de operaci´on

y configurar el par´ametro Destination Address a la direcci´on del XBee utilizado como
coordinador. El dispositivo XBee opera a 3.3 V, utiliza RS 232 a un nivel de 3.3 V con
una velocidad de 9600 bps, 8 bits de datos, sin paridad y un bit de parada.
Para desarrollar componentes inteligentes compatibles con esta arquitectura de control

distribuida se deben seguir una serie de especificaciones m´ınimas para una correcta
operaci´on. Sin importar la funci´on que realice el CI, para interactuar con el resto del
sistema rob´otico requiere cumplir dos aspectos de comunicaci´on:

Registro del CI ante el CI-Coordinador.

Env´ıo/Recepci´on de peticiones.

A.2. Registro de Componentes Inteligentes

El protocolo para el registro de CIs implica el env´ıo hacia el CI-Coordinador de un
paquete de datos con la siguiente estructura:

Tabla A.1: Paquete requerido para el registro de CIs.

Direcci´on Direcci´on Peticiones Peticiones Prioridad de Nombre
de 64 bits de 16 bits a atender a solicitar peticiones a del CI
solicitar

8 bytes 4 bytes 10 bytes 10 bytes 10 bytes 20 bytes

A.2. Registro de Componentes Inteligentes 87

Tabla A.2: Protocolo de 5 bytes para la transferencia de peticiones entre CIs.

Byte 1 Byte 2 Byte 3 Byte 4 Byte 5

Petici´on Par´ametro Prioridad Identificador Terminador

Ejemplo:

407101AC Los 8 d´ıgitos menos significativos de la direcci´on de 64 bits.

01C7 La direcci´on de 16 bits del XBee.

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.

75 75 75 0 0 0 0 0 0 0 Prioridad de las peticiones a solicitar.

En total se env´ıan 62 bytes. Las direcciones del XBee son en caracteres ASCII. El 255
en la lista de peticiones representa que no existe petici´on en ese caso.
Despu´es de enviar el paquete al CI-Coordinador, se recibir´a un byte con el identificador
que le fue asignado al CI al registrarse, debe guardarse para adjuntar en el env´ıo de

peticiones.
La interacci´on entre CIs es con base en peticiones, que deben seguir la siguiente es-
tructura:
Ejemplo:

01 Petici´on a solicitar (Girar Izquierda).

80 Girar al 80 % de capacidad.

60 Prioridad de la petici´on.

04 Identificador del componente.

A.3. Dise˜
no Base para Componente Inteligente 88

255 Terminador de paquete.

Las peticiones que pueden utilizarse son:

Tabla A.3: Peticiones definidas para un veh´ıculo aut´
onomo. NA (No Aplica)

Petici´on Descripci´on Par´ametro
0 Centrar Direcci´on NA
1 Girar Izquierda Porcentaje de giro (1-100 %)
2 Girar Derecha Porcentaje de giro (1-100 %)
3 Detener Motores NA
4 Avanzar Veh´ıculo Porcentaje de potencia (1-100 %)
5 Reroceder Veh´ıculo Porcentaje de potencia (1-100 %)
6 Incrementar Velocidad NA
7 Decrementar Velocidad NA
8 Girar C´amara a la Izquierda NA
9 Girar C´amara a la Derecha NA
10 Girar C´amara hacia Arriba NA
11 Girar C´amara hacia Abajo NA
12 Orientar Orientaci´on deseada (0-359 ◦)
13 Recorrer Distancia a recorrer (1-65535 cm)
14 Reporta Orientaci´on Orientaci´on actual (0-359 ◦)
15 Reporta Reccorrido Distancia recorrida (1-65535 cm)
16 Nueva petici´on Nuevo par´ametro

Si se siguen estas especificaciones se lograr´a una comunicaci´on con cualquier sistemas
rob´otico que implemente esta arquitectura de control.

A.3. Dise˜
no Base para Componente Inteligente

Es posible utilizar el microcontrolador m´as accesible o preferido por el usuario desa-
rrollador, con las conexiones necesarias para comunicarse con el dispositivo XBee y el

sensor o actuador requerido. Se muestra un ejemplo de dise˜
no base con el microcon-
trolador PIC24FJ64GB004 para desarrollar CIs:
La funci´on que realiza el CI puede resolverse con los sensores o actuadores que se

. Dise˜ no Base para Componente Inteligente 89 Componente Base Entradas analógicas PIC24FJ64GB004 RTCC SPI Adaptación de señales (PULL- Entradas/Salidas Ups/ digitales Divisores de voltaje) Regulador 2.A.2: Ejemplo de tarjeta para desarrollar Componentes Inteligentes.3.3 V / 5 V Fuente externa de 5 V Figura A.3 V RS-232 3.5 V I2C XBee Regulador 3. as´ı como con el procesamiento y hardware deseado. solo es requerido seguir las especificaciones definidas en este trabajo para lograr una interacci´on. desee.

3 y B.Anexo B Costo de los Prototipos En las tablas B. on en las partes utilizadas en la Plataforma Ackermann Tabla B.4 se presentan los costos estimados para diferentes equipos desarrollados.2: Inversi´ on en las partes utilizadas en la Plataforma Diferencial Parte Precio (USD) Plataforma 250 CI-Rueda Izquierda 60 CI-Rueda Derecha 60 CI-Od´ometro 70 Total 440 90 .1: Inversi´ Parte Precio (USD) Plataforma 500 CI-Tracci´on 60 CI-Direcci´on 60 CI-Od´ometro 60 Total 680 Tabla B.2.1. B. B.

4400 mAh 100 Pol´ımeros de litio de 11.1 V. .4: Inversi´ on en Bater´ıas Parte Precio (USD) Pol´ımeros de litio de 11. 91 Tabla B.3: Inversi´ on en los Componentes Inteligentes Comunes Parte Precio (USD) CI-Coordinador 60 CI-Comunicaci´on 300 CI-Seguidor de Pared 90 CI-Evasor 90 CI-Comp´as 80 CI-C´amara 200 Total 820 Tabla B. Los sensores. 5000 mAh 120 Total 220 Se estima un total de 2160 USD en partes utilizadas para la implementaci´on de este trabajo.1 V. microcontroladores y dem´as equipo pueden ser elegidos a con- veniencia del desarrollador con base tanto en la precisi´on de los resultados deseados c´omo en la tarea que se desea realizar.

BCS 23096 M´exico Email address: jfvilla@cibnor. Su trabajo incluye el desarrollo e implementacin de sistemas rob´oticos para la automatizaci´on de diversos procesos involucrados en mul- tiples aplicaciones. Playa Palo de Santa Rita sur La Paz. donde imparte materias sobre Sistemas Digitales. S. grado obtenido con menci´on ho- nor´ıfica en 2008.Vita Juan Francisco Villa Medina es ingeniero en sistemas computacionales por parte del Instituto Tecnol´ogico de La Paz. 195 Col. El Ing.C.mx . Es cofundador de 7robot. donde es instruc- tor de talleres de rob´otica educativa. Mailing address: Instituto Polit´ecnico Nacional No. Interfaces y Equipos. (CIBNOR) desde el a˜ no 2008. Villa Medina trabaja en el Grupo Ingenier´ıa del Centro de Investigaciones Biol´ogicas del Noroeste. Es profesor de asignatura en la Universidad Aut´onoma de Baja California Sur (UABCS).

Document Log: Typeset by LATEX.mx .January 2013. Engineering Group CIBNOR E-mail:jfvilla@cibnor.