control distribuido para vehÍculos autÓnomos...

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.

Upload: others

Post on 18-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

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

T E S I S

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.

Page 2: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce
Page 3: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

SEP--- - - -SrCRrTARl A D [

lD UC AC IO N PUBLICA

Subsecretaría de Educación SuperiorDirección General de Educación Superior Tccnológica

Instituto Tecnológico de La paz

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

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

Con base en el dictamen de aprobación emitido por el Comité Tutorial de la Tesis denominada: "CONT ROL DISTRIB UIDOPARA VEHÍCULOS AUTÓNOMOS BASADO EN COMPON ENTES INTELIGENTES". mediant e la opción de tesis (Proyectosde Investigación) , entregado por usted para su análisis, le informamos que se AUTORIZA la impresión.

ATENTAM EN T E"Ciencia es Verdad, Técnica es Libertad"

::~ -~'~~" 1ABL PEREZ AL"VAREZ,JEFE DE LA DIV. DE EST. DE POSGRADO E INV.

iNllTmITO TECNlX.OOIO:l ce LA I\UDMSlClN DE EST\JOOJS CEPOSGAADl)

E tW'";:S1'lCl,\CDj

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

PPNyptm

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

www.itlp.edu.mx

Page 4: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

AUTORIZACIÓN DE IMPRESIÓN DE TESIS~ frr,rT\I¡L' O[

ll' (JUc.rú:-< I"('BUU.

Dirección General deEducación Superior TecnológicaInstituto Tecnológico de La Paz ~~

Inst it utos Tecno lóg icos

SUBDIRECCIÓN ACADÉMICADIVISIÓ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 DEPOSGRADO E INVESTIGACIÓN,P RE S ENTE.

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

No. de Control NombreM10310004 Juan Francisco Villa MedinaMaestría en: Sistemas ComoutacionalesTítulo de la tesis:Control Distribuido para Vehículos Autónomos Basado en Comoonentes IntelioentesDICTAMEN:Se autoriza el trabajo de investigación, en virtud de que realizó las correccionescorresoondientes 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

Page 5: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

c©Juan Francisco Villa Medina, 2013.

Page 6: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

Dedicado a mi familia.

Page 7: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

VI

Agradecimientos

Mis agradecimientos al Centro de Investigaciones Biologicas del Noroeste, S.C. (CIB-

NOR) por el apoyo brindado para mi superacion academica. Gracias a mi asesor Dr.

Joaquın Gutierrez por todo el tiempo y apoyo dedicado, por sus consejos y aportaciones

en la direccion de este trabajo. Al Dr. Miguel Angel Porta por todo su apoyo, animo,

consejos y aportaciones. A la Ing. Viviana Flores por su apoyo incondicional durante

toda la realizacion de esta investigacion, por su animo y tiempo gracias.

Al Dr. Saul Martınez por su tiempo y apoyo para mejorar este trabajo.

Gracias a Alfonso Alvarez Casillas y a Jorge Cobos Anaya del taller de maquinados

del CIBNOR por su apoyo en la fabricacion de diferentes piezas utilizadas en este

trabajo.

Gracias a mi familia por su apoyo y motivacion, por su comprension con mi falta

de tiempo libre.

A mis profesores del posgrado del Instituto Tecnologico de La Paz, que a lo largo de

estos dos ultimos anos amplie mis conocimientos en diferentes areas, gracias. Gracias

a la M.S.C. Iliana Castro por su atencion y apoyo, siempre con buena disposicion.

Gracias a la Direccion General de Educacion Superior Tecnologica (DGEST) por

la beca que me fue otorgada dentro del Programa de Capacitacion Estudiantil de los

Programas de Posgrado 2011.

Page 8: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

VII

Resumen

Se formula, implementa y valida una arquitectura de control distribuido para la confi-

guracion de vehıculos autonomos, donde se integran un conjunto heterogeneo de com-

ponentes inteligentes. Cada componente cumple una funcion particular y su interaccion

en conjunto a traves de peticiones logran un comportamiento autonomo para realizar

la tarea asignada. Un componente inteligente esta basado en un sensor y/o actuador

en particular, mediante el procesamiento de informacion y el control de sus accio-

nes programadas se convierte en un componente autonomo. El componente inteligente

encapsula las caracterısticas del sensor o actuador, ası como las especificaciones de

operacion.

Se configuran dos vehıculos autonomos para realizar tareas de navegacion autonoma

con el desarrollo fısico de los componentes inteligentes. Las tareas de seguimiento de

pared y una trayectoria permiten evaluar el desempeno de la arquitectura de control.

Con base en los resultados obtenidos se concluye que la arquitectura de control

distribuido basado en componentes inteligentes es una alternativa practica para la im-

plementacion de sistemas roboticos. La comunicacion asıncrona basada en peticiones

(comandos abstractos) permite una interaccion confiable entre los componentes inteli-

gentes. Tambien la naturaleza modular de la arquitectura de control permite, una vez

que los componentes inteligentes han sido desarrollados y evaluados, ser utilizados en

otros sistemas roboticos en diversas aplicaciones.

Page 9: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

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,

implements, and validates a distributed control architecture for the autonomous vehi-

cle configuration, which integrates a heterogeneous set of intelligent components. Each

intelligent component performs a specific function and the interaction among the in-

telligent components, by means of petitions, allows achieving an autonomous behavior

to perform the assigned task. An intelligent component is based on a sensor and/or

actuator in particular, by processing information and controlling their actions program-

med becomes an autonomous component. An intelligent component encapsulates the

characteristics of sensor or actuator and the specifications of its operation.

Two autonomous vehicles were configured to perform autonomous navigation tasks

with the implementation of the intelligent components. The wall and trajectory fo-

llowing tasks were assigned to evaluate the performance of the distributed control

architecture based on intelligent components.

The major result of this work has been the formulation of the distributed con-

trol architecture based on intelligent components as a practical alternative for the

implementation of robotic systems. The asynchronous communication based on peti-

tions (abstract commands) allows a reliable and robust interaction among intelligent

components. Also the modularity of the control architecture allows the intelligent com-

ponents, formerly they have been developed and evaluated, to be used in other robotic

systems in various applications.

Page 10: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

Contenido

Agradecimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VI

Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VII

Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VIII

Indice de Figuras XII

Indice de Tablas XVI

1. Introduccion 1

1.1. Hipotesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2. Propuesta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.3. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.3.1. Objetivo General . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.3.2. Objetivos Especıficos . . . . . . . . . . . . . . . . . . . . . . . . 6

1.4. Descripcion del Documento . . . . . . . . . . . . . . . . . . . . . . . . 6

2. Diseno: Arquitectura de Control 8

2.1. Componente Inteligente . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.2. Comunicacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.3. Operacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.3.1. Peticiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.3.2. Registro de Componentes Inteligentes . . . . . . . . . . . . . . . 16

IX

Page 11: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

Contenido X

2.3.3. Componente Inteligente Coordinador . . . . . . . . . . . . . . . 17

2.3.4. Mecanismo de Eleccion . . . . . . . . . . . . . . . . . . . . . . . 18

3. Desarrollo: Arquitectura de Control 20

3.1. Componentes Inteligentes . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.1.1. Unidad de Procesamiento . . . . . . . . . . . . . . . . . . . . . 21

3.1.2. Unidad de Enlace . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.2. Componente Inteligente Coordinador . . . . . . . . . . . . . . . . . . . 23

3.3. Componentes Inteligentes Especıficos . . . . . . . . . . . . . . . . . . . 24

3.3.1. Vehıculo Ackermann . . . . . . . . . . . . . . . . . . . . . . . . 24

3.3.2. Componente Inteligente Traccion . . . . . . . . . . . . . . . . . 26

3.3.3. Componente Inteligente Direccion . . . . . . . . . . . . . . . . . 27

3.3.4. Componente Inteligente Odometro Ackermann . . . . . . . . . . 30

3.3.5. Vehıculo Diferencial . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.3.6. Componentes Inteligentes Rueda Izquierda y Derecha . . . . . . 36

3.3.7. Componente Inteligente Odometro Diferencial . . . . . . . . . . 38

3.4. Componentes Inteligentes Comunes . . . . . . . . . . . . . . . . . . . . 40

3.4.1. Distribucion de Energıa . . . . . . . . . . . . . . . . . . . . . . 41

3.4.2. Componente Inteligente Seguidor de Pared . . . . . . . . . . . . 41

3.4.3. Componente Inteligente Evasor . . . . . . . . . . . . . . . . . . 44

3.4.4. Componente Inteligente Compas . . . . . . . . . . . . . . . . . . 46

3.4.5. Componente Inteligente de Comunicacion . . . . . . . . . . . . . 49

3.4.6. Componente Inteligente Camara . . . . . . . . . . . . . . . . . . 53

3.5. Vehıculos Autonomos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

4. Implementacion: Arquitectura de Control 58

4.1. Componentes Inteligentes . . . . . . . . . . . . . . . . . . . . . . . . . 58

4.1.1. Integracion de Componentes Inteligentes . . . . . . . . . . . . . 63

Page 12: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

Contenido XI

4.1.2. Consumos Electricos . . . . . . . . . . . . . . . . . . . . . . . . 64

4.2. Experimentos y Resultados . . . . . . . . . . . . . . . . . . . . . . . . . 64

4.2.1. Sistema de Registro GPS . . . . . . . . . . . . . . . . . . . . . . 65

4.2.2. Seguimiento de Pared . . . . . . . . . . . . . . . . . . . . . . . . 66

4.2.3. Trayectorias Autonomas . . . . . . . . . . . . . . . . . . . . . . 69

4.2.4. Seguimiento de Pared con Obstaculos . . . . . . . . . . . . . . . 70

4.2.5. Trayectorias Autonomas con Obstaculos . . . . . . . . . . . . . 71

4.2.6. Trafico de Peticiones . . . . . . . . . . . . . . . . . . . . . . . . 73

5. Conclusiones 78

5.1. Contribuciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

5.2. Trabajo Futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

Bibliografıa 81

A. Especificaciones para Desarrollar un Componente Inteligente 85

A.1. Componente Inteligente . . . . . . . . . . . . . . . . . . . . . . . . . . 85

A.2. Registro de Componentes Inteligentes . . . . . . . . . . . . . . . . . . . 86

A.3. Diseno Base para Componente Inteligente . . . . . . . . . . . . . . . . 88

B. Costo de los Prototipos 90

Page 13: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

Indice de Figuras

2.1. Estructura de un Componente Inteligente . . . . . . . . . . . . . . . . . 9

2.2. Componentes Inteligentes . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3. Configuracion de un Sistema Robotico . . . . . . . . . . . . . . . . . . 11

2.4. Topologıa de Red ZigBee . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.5. Distribucion de Peticiones . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.6. Componente Inteligente Coordinador . . . . . . . . . . . . . . . . . . . 17

2.7. Eleccion por Prioridades . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.8. Flujo de una Peticion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.1. Conexion de un Componente Inteligente . . . . . . . . . . . . . . . . . 22

3.2. Tarjeta Generica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.3. Componente Inteligente Coordinador . . . . . . . . . . . . . . . . . . . 23

3.4. Plataforma Ackermann . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.5. Geometrıa Ackermann . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.6. Conexion del Componente Inteligente Traccion . . . . . . . . . . . . . . 27

3.7. Comportamiento del Componente Inteligente Traccion . . . . . . . . . 28

3.8. Componente Inteligente Traccion . . . . . . . . . . . . . . . . . . . . . 29

3.9. Comportamiento del Componente Inteligente Direccion . . . . . . . . . 30

3.10. Conexion del Componente Inteligente Direccion . . . . . . . . . . . . . 31

3.11. Componente Inteligente Direccion . . . . . . . . . . . . . . . . . . . . . 31

XII

Page 14: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

INDICE DE FIGURAS XIII

3.12. Comportamiento del Componente Inteligente Odometro Ackermann . . 32

3.13. Componente Inteligente Odometro Ackermann . . . . . . . . . . . . . . 33

3.14. Plataforma Diferencial . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.15. Dimensiones de la Plataforma Diferencial . . . . . . . . . . . . . . . . . 34

3.16. Geometrıa Diferencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.17. Comportamiento del Componente Inteligente Rueda Izquierda . . . . . 37

3.18. Comportamiento del Componente Inteligente Rueda Derecha . . . . . . 38

3.19. Conexion de los Componentes Inteligentes Rueda Izquierda y Derecha . 39

3.20. Componentes Inteligentes Rueda Izquierda y Derecha . . . . . . . . . . 40

3.21. Componente Inteligente Odometro Diferencial . . . . . . . . . . . . . . 40

3.22. Tarjeta de Distribucion . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.23. Tarea Seguimiento de Pared . . . . . . . . . . . . . . . . . . . . . . . . 42

3.24. Comportamiento del Componente Inteligente Seguidor Pared . . . . . . 43

3.25. Componente Inteligente Seguidor Pared . . . . . . . . . . . . . . . . . . 44

3.26. Tarea Evasion de Obstaculos . . . . . . . . . . . . . . . . . . . . . . . . 45

3.27. Comportamiento del Componente Inteligente Evasor . . . . . . . . . . 45

3.28. Componente Inteligente Evasor . . . . . . . . . . . . . . . . . . . . . . 46

3.29. Comportamiento del Componente Inteligente Compas . . . . . . . . . . 47

3.30. Conexion del Componente Inteligente Compas . . . . . . . . . . . . . . 48

3.31. Componente Inteligente Compas . . . . . . . . . . . . . . . . . . . . . . 48

3.32. Estructura del Componente Inteligente de Comunicacion . . . . . . . . 49

3.33. Conexion del Componente Inteligente Comunicacion . . . . . . . . . . . 50

3.34. Componente Inteligente Comunicacion . . . . . . . . . . . . . . . . . . 51

3.35. Interfaz Grafica de Usuario . . . . . . . . . . . . . . . . . . . . . . . . . 52

3.36. Comportamiento del Componente Inteligente Camara . . . . . . . . . . 54

3.37. Componente Inteligente Camara . . . . . . . . . . . . . . . . . . . . . . 55

3.38. Vehıculo Autonomo Ackermann . . . . . . . . . . . . . . . . . . . . . . 56

Page 15: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

INDICE DE FIGURAS XIV

3.39. Vehıculo Autonomo Diferencial . . . . . . . . . . . . . . . . . . . . . . 57

4.1. Calibracion del Componente Inteligente Odometro diferencial . . . . . . 61

4.2. Calibracion del Componente Inteligente Odometro Ackermann . . . . . 61

4.3. Tiempo de Reenvıo de Peticion . . . . . . . . . . . . . . . . . . . . . . 62

4.4. Actividad en Componente Inteligente Coordinador . . . . . . . . . . . . 63

4.5. Pruebas de Laboratorio . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

4.6. Sistema de Registro GPS . . . . . . . . . . . . . . . . . . . . . . . . . . 66

4.7. Componentes Inteligentes para el Seguimiento sin Obstaculos . . . . . . 67

4.8. Seguimiento sin Obstaculos . . . . . . . . . . . . . . . . . . . . . . . . 67

4.9. Seguimiento sin Obstaculos Ackermann . . . . . . . . . . . . . . . . . . 68

4.10. Seguimiento sin Obstaculos Diferencial . . . . . . . . . . . . . . . . . . 68

4.11. Seguimiento sin Obstaculos Cuadrado . . . . . . . . . . . . . . . . . . . 69

4.12. Componentes Inteligentes para Trayectorias sin Obstaculos . . . . . . . 70

4.13. Recorridos Autonomos sin Obstaculos . . . . . . . . . . . . . . . . . . . 70

4.14. Escenario Cuadrado con Obstaculos . . . . . . . . . . . . . . . . . . . . 71

4.15. Componentes Inteligentes para el Seguimiento con Obstaculos . . . . . 71

4.16. Seguimiento con Obstaculos . . . . . . . . . . . . . . . . . . . . . . . . 72

4.17. Componentes Inteligentes para Trayectorias con Obstaculos . . . . . . . 73

4.18. Casos Posibles en Recorridos Autonomos . . . . . . . . . . . . . . . . . 73

4.19. Giros con Obstaculos por la Derecha . . . . . . . . . . . . . . . . . . . 74

4.20. Giros con Obstaculos por la Izquierda . . . . . . . . . . . . . . . . . . . 74

4.21. Ejemplo de Registro de Peticiones Generadas . . . . . . . . . . . . . . . 75

4.22. Distancia Recorrida Junto con el Control de Velocidad . . . . . . . . . 75

4.23. Orientacion Lograda . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

4.24. Peticiones para Giros a Izquierda y Derecha en Recorrido Recto . . . . 76

4.25. Escenario Cuadrado con Obstaculos . . . . . . . . . . . . . . . . . . . . 76

Page 16: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

INDICE DE FIGURAS XV

4.26. Interaccion entre Componentes Inteligentes Evasor y Seguidor de Pared 77

A.1. Estructura de un Componente Inteligente . . . . . . . . . . . . . . . . . 85

A.2. Ejemplo de Tarjeta para Desarrollar Componentes Inteligentes . . . . . 89

Page 17: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

Indice de Tablas

2.1. Protocolo de Peticion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.2. Peticiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.3. Peticion de Giro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.4. Registro de Componentes Inteligentes . . . . . . . . . . . . . . . . . . . 16

3.1. Controlador de Motores . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.1. Calibracion del CI-Odometro Diferencial . . . . . . . . . . . . . . . . . 60

4.2. Calibracion del Componente Inteligente Odometro Ackermann . . . . . 61

4.3. Consumo de Corriente del Vehıculo Ackermann . . . . . . . . . . . . . 64

4.4. Consumo de Corriente del Vehıculo Diferencial . . . . . . . . . . . . . . 64

4.5. Consumo de Corriente de los Componentes Inteligentes Comunes . . . . 65

4.6. Prioridades de Peticiones . . . . . . . . . . . . . . . . . . . . . . . . . . 77

A.1. Registro de Componentes Inteligentes . . . . . . . . . . . . . . . . . . . 86

A.2. Protocolo de Peticion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

A.3. Peticiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

B.1. Inversion en las Partes Utilizadas en la Plataforma Ackermann . . . . . 90

B.2. Inversion en las Partes Utilizadas en la Plataforma Diferencial . . . . . 90

B.3. Inversion en los Componentes Inteligentes Comunes . . . . . . . . . . . 91

B.4. Inversion en Baterıas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

XVI

Page 18: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

Capıtulo 1

Introduccion

Los robots son la integracion de componentes mecanicos, electronicos y de procesa-

miento de informacion para desarrollar autonomamente su tarea programada en un

ambiente de trabajo especıfico. Estos sistemas roboticos han sido utilizados para au-

tomatizar diversos procesos en la industria y para realizar tareas en otros sectores,

como la exploracion aerea, espacial o submarina, ası como la busqueda y rescate en

siniestros, o bien, la prestacion de servicios en hogares y oficinas. Asimismo, la roboti-

ca que se define como la ciencia que disena, construye, opera e implementa robots,

esta en constante desarrollo e investigacion para satisfacer los retos tecnologicos de

nuevas aplicaciones [27]. Dentro de la clasificacion de robots moviles se encuentran los

vehıculos autonomos, vehıculos capaces de realizar movimientos inteligentes y actuar

sin requerir una guıa o control teleoperado [17].

Un robot realiza su tarea asignada a traves de una arquitectura de control apropiada,

la cual es representada mediante una configuracion que describe la relacion entre los

componentes funcionales (como locomocion, planeacion, navegacion, posicionamiento

y comunicacion) y los componentes mecatronicos (como actuadores/sensores). La con-

figuracion es una estructura de diferentes subsistemas, conectados por interfaces fısicas

(hardware) y logicas (software), los cuales desarrollan una funcion especıfica que es

1

Page 19: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

2

implementada por los componentes seleccionados.

Diversos trabajos en la sıntesis de sistemas roboticos han sido investigados para definir

la configuracion de un manipulador o de un robot movil. Por ejemplo, la configuracion

de manipuladores se han propuestos a partir de la combinacion de enlaces y articula-

ciones prefabricados [29]. El uso de componentes identicos tambien se ha explorado,

donde los componentes se pueden configurar para la manipulacion de objetos, ası como

para generar la locomocion del robot [30].

Otros trabajos han utilizado componentes heterogeneos que incluyen plataformas movi-

les, actuadores, ruedas y sistemas de energıa, para seleccionar la configuracion de un

robot mediante el uso de tecnicas de busqueda [21] [10].

Por otro lado, diferentes estrategias de control han sido utilizadas para la implementa-

cion de robots, tres clasificaciones pueden definirse: arquitecturas reactivas, delibera-

tivas e hıbridas. Las arquitecturas reactivas ofrecen respuestas rapidas, gracias a una

coleccion de reglas embebidas en el sistema robotico y formadas por una condicion que

relaciona una accion, como puede ser ”Si hay contacto, entonces detener”[6] [1]. Sin

embargo, la arquitectura reactiva esta limitada para aprender nuevos comportamientos.

En las arquitecturas de control reactivo se encuentra el modelo de Robotica Basada

en Comportamientos (RBC), la cual consiste en una coleccion de comportamientos

para lograr ciertas funciones, como pueden ser evitar obstaculos, evitar colisiones o

lograr ir a una posicion determinada. Los comportamientos pueden ser implementados

tanto en hardware como en software. Cada comportamiento puede tomar datos de

los sensores del robot, o incluso de otros comportamientos en el sistema, para enviar

su salida al actuador correspondiente o a otros comportamientos. A diferencia de las

arquitecturas reactivas, las cuales son estructuradas y desarrolladas de forma bottom

up, las arquitecturas deliberativas estan basadas en un diseno de forma top-down y

donde el robot realiza secuencialmente las funciones de sensar-planear-actuar [11] [24]

Page 20: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

1.1. Hipotesis 3

[20]. En una arquitectura deliberativa se utilizan los datos provenientes de sensores

para crear un modelo del ambiente, se emplea un modulo planeador para elegir una

accion, la cual es enviada a los actuadores para su ejecucion.

Las arquitecturas hıbridas son las que toman ventaja de ambas propuestas reactivas-

deliberativas, al emplear la caracterıstica reactiva para el control en un nivel bajo;

mientras que la deliberativa para la planeacion y toma de decisiones en un nivel alto

[18] [13] [3] [25], [7]. Esta estrategia tambien es llamada arquitectura de tres capas

independientes: el planeador, el sistema reactivo y el modulo intermedio.

Recientes propuestas han desarrollado arquitecturas de control compuestas por modu-

los genericos que realizan una funcion especıfica en la configuracion de robots persona-

les, e incluyen software y hardware que podrıan acelerar la construccion de un robot

[26]. Por otra parte, tambien se han desarrollados arquitecturas que consideran cada

modulo como un agente para la configuracion de un robot constituido por multiagen-

tes, basadas en el concepto de multiagentes para la colaboracion y coordinacion de

multirobots [4] [22].

En este contexto, es evidente que la robotica ha creado la tecnologıa y componentes

necesarios para el desarrollo de sistemas roboticos, como los vehıculos autonomos [12]

[9] [23] [5] [8] [28]. Asimismo, para realizar una tarea de forma autonoma depende de la

interoperabilidad de los componentes mecatronicos seleccionados. Sin embargo, en la

implementacion de las estrategias de control y configuracion de robots los componentes

fısicos, como actuadores y sensores con sus caracterısticas y especificaciones, son poco

tomados en cuenta en el proceso de diseno y construccion del sistema robotico.

1.1. Hipotesis

Se considera que es factible implementar un vehıculo autonomo al integrar un conjunto

heterogeneo de componentes inteligentes, distribuidos y asıncronos, donde cada com-

Page 21: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

1.2. Propuesta 4

ponente cumpla una funcion particular y en su conjunto logran un comportamiento

emergente para realizar una tarea asignada.

1.2. Propuesta

El proposito de este trabajo es formular, implementar y validar una arquitectura de

control basada en componentes inteligentes, donde cada componente se encargue de

una funcion especıfica, considerando sus caracterısticas y especificaciones. Se busca

obtener una relacion distribuida entre componentes para realizar la tarea asignada al

sistema robotico. Ası cada actuador o sensor tiene su controlador e interface con su

propio procesamiento, y que de forma independiente realice su funcion, manteniendo la

interoperabilidad con el resto de los componentes mediante la comunicacion asıncrona

de mensajes y datos.

Inteligencia puede definirse como: ”La capacidad de un sistema para comportarse apro-

piadamente en un ambiente incierto”[2]. En este contexto, los componentes inteligentes

propuestos en el presente trabajo desarrollan un comportamiento apropiado basado en

el analisis de informacion o estımulos de su entorno, mediante su algoritmo programa-

do para la toma de decisiones y acciones con el objetivo de llevar acabo su funcion

especıfica.

Similares a un agente inteligente los componentes inteligentes realizan una funcion de

forma autonoma, a diferencia de un componente unitario como un motor o circuito

electronico, que por sı solos son incapaces de realizar una accion. Se denominan com-

ponentes inteligentes porque cada uno de ellos es un sistema integrado independiente

de otros componentes inteligentes el cual mide, procesa y entrega un resultado. Por

ejemplo un componente inteligente cuya funcion sea evadir obstaculos en la trayectoria

de un vehıculo, tiene que medir las condiciones del ambiente de operacion mediante

algun sensor y procesar la informacion de acuerdo a un algoritmo determinado y el

Page 22: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

1.2. Propuesta 5

resultado es una decision para el exito de la funcion. Los componentes inteligentes

trabajan en diferentes sistemas roboticos y colaboran en la realizacion de una tarea

global.

La estrategia de control propuesta implica que los componentes inteligentes sean se-

leccionados de acuerdo a las especificaciones de la tarea asignada. Se busca una con-

figuracion modular con la posibilidad de agregar o retirar componentes sin afectar al

resto del sistema y permitir la escalabilidad, mientras se cumple con la tarea de manera

autonoma y segura. La estrategia de control propuesta se fundamenta en la arquitec-

tura basada en comportamientos con un funcionamiento y configuracion distribuida

constituida por una red de comportamientos e implementados por los componentes

inteligentes. La filosofıa de esta arquitectura de control es la ejecucion de manera con-

currente de diversas funciones, con el reto de establecer cual componente inteligente

toma el control en cada momento.

La realizacion de este trabajo presenta aportaciones en el area de la experimentacion

e investigacion en robotica movil. Es una opcion viable para desarrolladores que tra-

bajen con vehıculos autonomos, como una alternativa para el control de estos sistemas

roboticos. Presenta ventajas al distribuir la tarea a realizar por el robot en diferen-

tes funciones atendidas por diversos componentes inteligentes, con simplicidad en el

desarrollo y depuracion de fallos al trabajar en secciones independientes a la vez.

Los componentes inteligentes, considerados como recursos independientes y flexibles

permiten ser reutilizados para la configuracion de diversos robots. Lo cual contribuye

a optimizar recursos para el desarrollo de sistemas roboticos en diversas aplicaciones,

particularmente en la investigacion. Es una arquitectura alternativa para el desarrollo

de sistemas roboticos, en particular de vehıculos autonomos, que es confiable y robusta.

Page 23: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

1.3. Objetivos 6

1.3. Objetivos

1.3.1. Objetivo General

Disenar e implementar una arquitectura de control distribuida para vehıculos autono-

mos basada en componentes inteligentes. Cada componente inteligente en la configu-

racion de un vehıculo autonomo sera un componente autonomo y coordinado bajo un

mecanismo de control descentralizado para proveer un comportamiento emergente para

desarrollar la tarea asignada.

1.3.2. Objetivos Especıficos

Disenar los componentes inteligentes para implementar la estrategia de control.

Disenar la logica de comunicacion y coordinacion para el control distribuido pro-

puesto.

Disenar y desarrollar el conjunto de componentes inteligentes para la configura-

cion de un vehıculo autonomo.

Implementar la arquitectura de control en un vehıculo autonomo.

Evaluar el desempeno de la arquitectura de control.

1.4. Descripcion del Documento

En el capıtulo dos se presenta la descripcion teorica de la arquitectura de control, se

muestra el diseno de los componentes inteligentes, el protocolo de comunicacion para

la transferencia de mensajes y datos.

El capıtulo tres describe los modulos desarrollados ası como sus componentes, utiliza-

dos para la evaluacion de la arquitectura de control propuesta. Se implementan dos

Page 24: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

1.4. Descripcion del Documento 7

vehıculos autonomos donde se realizan tareas de exploracion con diversas variantes

como deteccion y evasion de obstaculos, ası como recorridos autonomos.

La implementacion de la estrategia de control y el desarrollo de diversos componentes

inteligentes son mostrados en el capıtulo 4, asimismo los experimentos desarrollados y

resultados.

Las conclusiones obtenidas despues de evaluar la arquitectura de control basada en

componentes inteligentes, las aportaciones de su implementacion y el trabajo futuro

estan en el capıtulo 5.

Page 25: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

Capıtulo 2

Diseno: Arquitectura de Control

En este capıtulo se presenta la logica de operacion de la arquitectura de control basada

en componentes inteligentes distribuidos para configurar sistemas roboticos. Se presenta

la definicion y estructura general de un componente inteligente, ası como la manera en

que se comunican y coordinan para realizar la tarea asignada al robot.

2.1. Componente Inteligente

Un Componente Inteligente (CI) esta basado en un sensor y/o actuador en particular

para realizar de manera independiente una funcion especıfica, mediante el procesa-

miento de informacion y el control de sus acciones programadas, convirtiendose en un

componente autonomo en la configuracion de un robot.

La integracion de un conjunto de CIs conforman un sistema robotico y la interaccion

entre ellos proveen el comportamiento autonomo para llevar a cabo la tarea asignada.

Un CI consta de tres unidades funcionales: Enlace, Procesamiento y Actuador/Sensor

(Fig. 2.1).

8

Page 26: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

2.1. Componente Inteligente 9

Unidadde

Procesamiento

Unidadde

Enlace

Actuador/Sensor

Figura 2.1: Componente Inteligente conformado por las unidades funcionales deenlace, procesamiento y actuador/sensor.

Actuador/Sensor. Esta unidad esta constituida por un actuador o un sensor, o

bien la integracion de ambos, y captura los elementos fısicos como sus especifica-

ciones y caracterısticas. Tambien incluye la interface para la correcta operacion

del actuador o sensor.

Procesamiento. Es la unidad que lleva a cabo la toma de decisiones mediante

un algoritmo apropiado, el cual interpreta los datos provenientes de la unidad

actuador/sensor o atiende comandos de otros CIs, asimismo controla la ejecucion

de las diversas acciones requeridas para realizar la funcion del CI.

Enlace. La unidad provee la transmision/recepcion de informacion entre el CI y

los otros CIs que conforman el sistema robotico, constituyendo una red ad hoc

de componentes inteligentes distribuidos.

Un CI esta organizado en un solo modulo fısico que incluye los elementos fısicos (hard-

ware) y logicos (software) de cada una de las unidades, e incluso los elementos de

energıa necesarios para su operacion.

Page 27: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

2.1. Componente Inteligente 10

La interaccion entre CIs es a traves de peticiones. Una peticion es un comando abstrac-

to que encapsula una lista estructurada de instrucciones u ordenes, e incluso datos. Un

CI genera las peticiones de acuerdo al analisis de su informacion y las envıa al resto de

los CIs del sistema robotico. Las peticiones son recibidas unicamente por los CIs que

pueden satisfacer dichas peticiones. Cada peticion es decodifica en el CI correspondien-

te y atendida con la ejecucion de las acciones pertinentes. Un CI desconoce al resto

de los CIs que configuran al sistema, dado que cada CI se encargan de una funcion

especıfica con la dependencia exclusiva del hardware involucrado (sensor o actuador)

en su implementacion.

Los CIs implementados por sensores son los que generalmente transmiten peticiones

(Fig.2.2a), a partir de analizar los datos proveniente del sensor y generar el comando

correspondiente; mientras que los CIs basados en actuadores son los que recibe peticio-

nes (Fig. 2.2b), las cuales son interpretadas y ejecutadas por un algoritmo pertinente

que controla la operacion del actuador. Tambien se pueden implementar CIs hıbri-

dos (Fig. 2.2c), los cuales transmiten y reciben peticiones, que cuentan con sensores y

actuadores.

ProcesamientoMedición de sensores /

Toma de decisiones

Unidadde

EnlaceEnvía peticiones

Sensor

(a) CI que envıa peticiones

ProcesamientoInterpreta peticiones /

Ejecuta acciones

Unidadde

EnlaceRecibe peticiones

Actuador

(b) CI que atiende peticiones

ProcesamientoInterpreta peticiones /

Medición de sensores /Toma de decisiones

Unidadde

EnlaceRecibe/Envía

peticiones

Sensor/Actuador

(c) CI hıbrido

Figura 2.2: Tipos de Componentes Inteligentes.

Page 28: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

2.1. Componente Inteligente 11

La configuracion de un sistema robotico es un conjunto de CIs distribuidos encargados

de funciones especıficas, que son seleccionados a partir de los requerimientos de la

tarea a realizar y del ambiente de operacion. En una configuracion debe existir un CI

para coordinar el intercambio de peticiones entre CIs. Tambien existen CIs particulares

que tienen una relacion fuertemente ligada con el sistema robotico, generalmente una

dependencia con la funcion de locomocion. Asimismo habra CIs comunes que realizan

funciones independientes a la plataforma movil del sistema robotico, los cuales podran

ser removibles e intercambiables en otros sistemas roboticos (Fig. 2.3).

La implementacion de sistemas roboticos basados en componentes inteligentes propor-

ciona una arquitectura de control con un entorno de ejecucion distribuido e indepen-

diente del hardware y del lenguaje de programacion que utilice cada uno de los CIs;

P

E

S

P

E

A

P

E

S

P

E

S

P

E

A

P

E

A

P

E

S/A

P

E

S/A

P

E

Coordinador

Figura 2.3: Configuracion general de un vehıculo autonomo con CIs distribuidos. Elsentido de las flechas indica el flujo de peticiones.

Page 29: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

2.2. Comunicacion 12

Figura 2.4: Topologıa de red ZigBee.

ya que un componente inteligente encapsula las caracterısticas del sensor o actuador y

funciona siempre de la misma forma en cualquier configuracion de un robot. En este

contexto, en lugar de considerar las fuertes dependencias entre todo el hardware para el

control de un sistema robotico, puede implementarse el control de un sistema robotico

simplemente como la configuracion de un grupo de componentes inteligentes (recursos)

que desarrollan de manera autonoma determinadas funciones.

2.2. Comunicacion

Para llevar a cabo la interaccion entre los CIs se selecciono el protocolo ZigBee [16] (Fig.

2.4) como el medio de comunicacion, debido a que permite crear redes inalambricas de

area personal (WPAN) y presenta bajo consumo electrico en comparacion con otras

alternativas, como Bluetooth [15], IrDA [19], y WiFi [14]. El estandar ZigBee es un

conjunto de protocolos de comunicacion inalambrica que utiliza el rango de 2.4 GHz,

Page 30: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

2.2. Comunicacion 13

Coordinador

ComponenteSeguidor

ComponenteEvasor

Componente Odómetro

Componente Tracción

Componente Dirección

Avanzar

Incrementar Velocidad

Izquierda

Avanzar

Incrementar Velocidad

Izquierda

Figura 2.5: Las peticiones son enviadas al CI-Coordinador y este las distribuye al CIcorrespondiente.

se basa en el estandar 802.15.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.

Un dispositivo ZigBee tiene dos direcciones, su direccion unica de 64 bits que lo distin-

gue de cualquier otro dispositivo en el mundo y una direccion de 16 bits que lo identifica

dentro de la red donde este conectado. Se tienen principalmente tres funciones que pue-

den cumplir los ZigBee: Coordinador, ruteador o dispositivo final. Un coordinador es

el que genera la red de trabajo de los ZigBee y elige el canal de transmision, al menos

debe existir uno por red. El ruteador que puede servir para encaminar los paquetes de

comunicacion entre dispositivos-finales y el coordinador. Los dispositivos-finales solo

pueden comunicarse con su nodo padre, ya sea un ruteador o coordinador.

La topologıa ZigBee es analoga con la arquitectura de control basada en CIs donde

Page 31: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

2.3. Operacion 14

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

Byte 1 Byte 2 Byte 3 Byte 4 Byte 5

Peticion Parametro Prioridad Identificador Terminador

existe un CI-Coordinador con la funcion de distribuir las peticiones. Toda peticion

se envıa al CI-Coordinador y este se encarga de renviarla al o a los componentes

inteligentes que puedan atenderla (Fig. 2.5). Se establece que cada CI debe tener un

identificador numerico, ası como un nombre, para diferenciarse del resto de los CIs

dentro del sistema robotico.

2.3. Operacion

La tarea se desarrolla con la interaccion entre componentes inteligentes, donde se ge-

neran y atienden peticiones de acuerdo a la percepcion del entorno de trabajo.

2.3.1. Peticiones

Para la comunicacion entre los CIs, se implemento un protocolo que establece el conte-

nido de las peticiones en un esquema de 5 bytes (Tabla A.2), que incluyen la peticion

con un numero de 8 bits que la identifica, un parametro auxiliar que es opcional con

el porcentaje de accion que algunas peticiones requieren, la prioridad de la peticion

requerida para decidir el orden de su atencion, el identificador es el ındice registrado

por el CI-Coordinador y que distingue al CI que solicita la peticion y el ultimo dato

corresponde al byte de terminacion.

La Tabla A.3 muestra una lista de peticiones que pueden ser utilizadas en los CIs y en

la Tabla 2.3 se muestra un ejemplo de una peticion, donde el 2 corresponde a girar a

la derecha, el 70 es 70% de giro en la direccion, el 80 es 80% de prioridad, el 3 es el

Page 32: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

2.3. Operacion 15

Tabla 2.2: Peticiones definidas para un vehıculo autonomo. NA (No Aplica)

Peticion Descripcion Parametro

0 Centrar Direccion 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 Camara a la Izquierda NA

9 Girar Camara a la Derecha NA

10 Girar Camara hacia Arriba NA

11 Girar Camara hacia Abajo NA

12 Orientar Orientacion deseada (0-359◦)

13 Recorrer Distancia a recorrer (1-65535 cm)

14 Reporta Orientacion Orientacion actual (0-359◦)

15 Reporta Reccorrido Distancia recorrida (1-65535 cm)

identificador del CI solicitante y el 255 es el terminador.

Cuando un CI requiere que se realice una accion en particular, envıa esta peticion al

CI-Coordinador, este renviara la peticion al componente o componentes inteligentes

que puedan atenderla. De este modo, la comunicacion es dinamica y el trabajo se

Page 33: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

2.3. Operacion 16

Tabla 2.3: Peticion para girar a la derecha.

Peticion Parametro Prioridad Identificador Terminador

2 70 80 3 255

distribuye entre los CIs existentes en el sistema. Para ello el CI-Coordinador lleva una

lista de todos los CIs existentes en el sistema con la informacion del mismo, a traves

de un proceso de registro que cada CI realiza al integrarse al sistema.

2.3.2. Registro de Componentes Inteligentes

Cada CI que se integra al sistema robotico se registra primeramente ante el CI-

Coordinador para interactuar con el resto de los CIs. Este proceso permite conocer

a todos los CIs, las peticiones que puede atender un CI y las peticiones que puede

enviar, ası como la prioridad de cada una de ellas; el nombre del CI tambien es ne-

cesario y al registrarse se le asigna su identificador numerico unico. Las direcciones

tanto de 16 como de 64 bits del dispositivo ZigBee de cada CI tambien son requeridas

para mantener la interaccion durante la operacion del sistema robotico (Tabla 2.4). Se

definio el numero de peticiones maximas a atender para cada CI en 10, lo que resulta

suficiente para el desempeno apropiado del sistema.

El registro de CIs presenta flexibilidad en el sistema robotico, lo cual permite agregar o

retirar CIs sin necesidad de modificar la programacion en cualquier parte del sistema.

Tabla 2.4: Paquete requerido para el registro de CIs.

Direccion Direccion Peticiones Peticiones Prioridad de Nombrede 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

Page 34: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

2.3. Operacion 17

2.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. Si es una solicitud

de registro, se ingresa al CI solicitante con todos sus datos a la lista de CIs. Si es una

peticion, se realiza una revision de la lista de los CIs registrados en busca de aquellos

componentes inteligentes capaces de atender dicha peticion y entonces se les transmite

directamente (Fig. 2.6).

Con base en la tarea a realizar se deben elegir uno o mas CIs que aporten la funcio-

nalidad deseada. Es posible emplear mas de un CI que solicite peticiones a la vez, es

Inicio

En espera de solicitudes de registro/comandos

Es comando?

Revisar lista de componentes

Atiende este comando?

Enviar comando

Si

No

Si

No

Registra componente

Figura 2.6: Comportamiento del CI-Coordinador.

Page 35: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

2.3. Operacion 18

una ventaja pero puede haber conflictos si se solicitan peticiones contradictorias como

Avanzar y Detener al mismo tiempo por CIs diferentes.

La estrategia para atender peticiones cuando se tiene a mas de un CI solicitante a la

vez, esta basada en prioridades, se asigna una prioridad a cada peticion en el sistema.

2.3.4. Mecanismo de Eleccion

Los CIs que atienden peticiones implementan un mecanismo para la eleccion de las

solicitudes a atender. A partir de la prioridad de la peticion solicitada se decide si es

atendida o no.

Inicio

Solicitud recibida

Prioridad > Prioridad Anterior?

No

Si

Atiende Solicitud

1

1

Comando Porcentaje Prioridad Identificador de Componente

(Prioridad == Prioridad Anterior) y (Id Componente == Componente Anterior)?

No

Si

Atiende Solicitud 1

1

Figura 2.7: Eleccion por prioridades.

Page 36: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

2.3. Operacion 19

Cada CI guarda de la ultima peticion atendida, la prioridad y el identificador del

componente que la solicito. Se comparan entonces las prioridades entre la ultima accion

atendida y la solicitud actual. Es atendida la peticion de mayor prioridad. En el caso

de prioridades iguales, tiene preferencia el componente de mayor antiguedad (Fig. 2.7).

Por ejemplo el CI-1 toma mediciones del ambiente, esta informacion es analizada para

generar y enviar la peticion correspondiente al CI-Coordinador. Este CI consulta la lista

de los CIs registrados, ası como las peticiones que atienden, con lo cual se transmite

la peticion a los CIs que puedan atenderla. Al recibir una peticion un CI, en este caso

CI-3, interpreta dicho comando y decide las acciones a ejecutar con base en la prioridad

de la misma peticion (Fig. 2.8).

Con los CIs disenados es posible integrarlos a una plataforma para desarrollar una

tarea especıfica.

Unidad deProcesamiento

Unidadde

Enlace

Coordinador

Unidad deProcesamiento

Unidadde

Enlace

Sensor

Unidad deProcesamiento

Unidadde

Enlace

Actuador Medición

Petición-1

CI-1

Petición-1

CI-3 CI-Coordinador

Interpreta la petición y aplica el

mecanismo de selección basado en prioridades

Realiza la acción 1

2

3

4

5

6

7

8

9

Percibe el entorno y Genera la petición

Envía la petición

Recibe la petición

Distribuye la petición

Recibe la petición

Consulta lista de CIs

Figura 2.8: Flujo de una peticion a traves de la red de CIs, desde que se genera hastaque es atendida.

Page 37: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

Capıtulo 3

Desarrollo: Arquitectura de Control

La definicion de la arquitectura de control basada en componentes inteligentes permite

configurar sistemas roboticos. La configuracion de un sistema robotico parte de las

especificaciones de la tarea a realizar ası como de los requerimientos del ambiente donde

operara. En este capıtulo se presenta la configuracion de dos vehıculos autonomos para

realizar dos tareas asignadas con el desarrollo fısico de los componentes inteligentes que

los integran. Se describe la lista de componentes inteligentes empleados y su interaccion.

La primera tarea basica es la navegacion autonoma del robot mediante el seguimiento

de una pared y manteniendose a cierta distancia de separacion de esta. La otra tarea

es realizar recorridos autonomos donde se especifica una distancia a recorrer con cierta

orientacion. Ambas tareas seran desarrolladas en un ambiente estructurado y dinamico,

lo cual incluye la presencia y ausencia de obstaculos. Adicionalmente, los vehıculos

autonomos tendran la capacidad de ser operados a distancia por un usuario con una

retroalimentacion visual.

20

Page 38: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.1. Componentes Inteligentes 21

3.1. Componentes Inteligentes

Para la implementacion de la mayorıa de los componentes inteligentes, se desarrollo una

tarjeta generica con los circuitos electronicos necesarios para cubrir los requerimientos

de cada uno de los CIs, con las unidades funcionales de procesamiento y enlace, ası co-

mo los puertos de entrada y salida para la conexion de los actuadores y/o sensores

correspondientes.

3.1.1. Unidad de Procesamiento

La unidad de procesamiento es implementada con el microcontrolador PIC24FJ64GB004

fabricado por Microchip . Este microcontrolador es de 16 bits, 44 pines y tecnologıa

nanoWatt con caracterısticas especiales como USB 2.0, oscilador interno, 5 temporiza-

dores, soporte para modulacion por ancho de pulso, 2 puertos fısicos de comunicacion

serial asıncrona, soporte para SPI/I2C, 13 convertidores analogico/digital y un reloj

de tiempo real.

3.1.2. Unidad de Enlace

La comunicacion ZigBee esta dado por los circuitos XBee-PRO fabricados por Digi

International. Estos radio modems permiten una comunicacion punto a punto o punto

a multipunto con velocidades de hasta 250 kbits/s en la frecuencia de transmision de

2.4 GHz y una potencia de 10 mW. Su alimentacion es de 3.3 V y se utilizan dos

lıneas de datos (transmision y recepcion). El modulo XBee opera en dos formas de

comunicacion serial basado en el protocolo RS-232: Modo transparente en AT y modo

API. En el modo AT todo lo que se reciba por el puerto de entrada de un radio modem

es transmitido hacia el puerto de salida del otro modulo. En el modo API se requiere

formar un paquete para enviar la informacion, entre otras cosas con la direccion del

Page 39: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.1. Componentes Inteligentes 22

Unidad deProcesamientoMicrocontrolador

Unidad deEnlaceXBee

Actuador/Sensor

Tx Rx

Energía

Figura 3.1: Conexion entre las unidades de un CI.

modulo destino.

La tarjeta generica incluye la unidad de procesamiento y enlace, ası como una serie

de conectores para realizar la conexion con sensores o actuadores (Fig. 3.1). La comu-

nicacion entre el XBee y el microcontrolador es serial asıncrona a una velocidad de

transmision de 9600 bits/segundo, basado en el estandar RS-232 con nivel de 0 a 3.3

V. Utiliza dos reguladores de voltaje, un regulador ADP122AUJZ-3.3-R7 que regula

a 3.3 V y un regulador CP1700 que regula a 2.5 V, ası como una serie de resistores

utilizados como de levantamiento (pull-up) o divisores de voltaje para adaptar el nivel

de senal entre los circuitos electronicos (Fig. 3.2).

Las unidades de procesamiento de cada CI han sido programadas con los algoritmos

apropiados en el lenguaje C y el compilador CCS, a traves de la interfaz de desarrollo

MPLAB de Microchip. El dispositivo programador utilizado es el Real-Ice de Microchip

por lo que cada tarjeta generica incluye su conector correspondiente de programacion.

Page 40: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.2. Componente Inteligente Coordinador 23

Figura 3.2: Tarjeta generica utilizada en la implementacion de componentes inteli-gentes.

Figura 3.3: CI-Coordinador, solo requiere la alimentacion.

3.2. Componente Inteligente Coordinador

El CI-Coordinador utiliza la tarjeta generica sin elementos adicionales como sensores

o actuadores para interactuar con los demas CIs (Fig.3.3).

El XBee usado en el CI-Coordinador opera al doble de velocidad que los radio modems

de los otros CIs, debido a que este CI tiene el mayor trafico de informacion. Tambien

se implementa el control de flujo para la recepcion de datos, se utiliza una lınea de

solicitud de envıo (RTS) en el CI-Coordinador, para indicar al XBee el momento en

que pueda enviar informacion, con lo cual se busca garantizar la transmision del total

de peticiones.

Page 41: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.3. Componentes Inteligentes Especıficos 24

Figura 3.4: Plataforma movil TAMIYA modelo TXT-1.

El CI-Coordinador implementa el modo de comunicacion API en el XBee, por lo cual

se requiere generar paquetes bien definidos de informacion para el envıo de datos.

Comparado con el modo transparente AT, el modo API aumenta la confiabilidad en la

transmision de peticiones.

3.3. Componentes Inteligentes Especıficos

Se configuraron dos vehıculos autonomos basados en la arquitectura de control distri-

buida con CIs. Se disenaron y desarrollaron los CIs especıficos para ser utilizados en

un vehıculo con cinematica Ackermann y otro vehıculo con cinematica diferencial.

3.3.1. Vehıculo Ackermann

La plataforma movil empleada en este trabajo es un carro electrico de radio control a

escala 1:10 de la marca TAMIYA, modelo TXT-1 (Fig. 3.4). Es un carro todo terreno

Page 42: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.3. Componentes Inteligentes Especıficos 25

con traccion en sus cuatro llantas, impulsado por dos motores de corriente directa

en paralelo para el avance y retroceso. Esta plataforma cuenta con un mecanismo de

direccion para el eje anterior y otro en el eje posterior, controlados por un servomotor

respectivamente.

Las dimensiones del vehıculo son de 0.51 m de largo por 0.385 m de ancho, la separacion

entre ejes es 0.33 m, el diametro de las llantas es de 0.165 m. El chasis de la plataforma

es de aluminio. Los motores de traccion tienen una caja de engranes con una relacion

de 67.67:1 con una salida final de 150 RPM a 12 V, con un consumo de corriente al

aire de 300 mA. Los servos son marca Futaba modelo S3004.

En este trabajo se utiliza unicamente el sistema de direccion del eje posterior; por lo

tanto el vehıculo se comporta con la cinematica Ackermann, donde las dos ruedas en

el eje anterior brindan la traccion y las ruedas del eje posterior giran sobre un pivote

cambiando la direccion del vehıculo.

El vehıculo puede desplazarse a cualquier punto (x, y) en el plano (X , Y ). El angulo θ

es la orientacion del vehıculo con respecto al eje X y V representa la velocidad lineal.

El angulo γ se define como el angulo de giro del vehıculo y L es la distancia entre ejes

(Fig. 3.5). El modelo cinematico del vehıculo se deriva de la propiedad de un cuerpo

rıgido y esta dado como:

x(t) = V (t) cos(θ(t))

y(t) = V (t) sin(θ(t))

θ(t) =V (t) tan(γ(t))

L(3.1)

Por lo tanto, la velocidad y la direccion del vehıculo Ackermann deben ser atendidas

por un CI-Traccion y un CI-Direccion, respectivamente.

Page 43: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.3. Componentes Inteligentes Especıficos 26

R

(x, y)

X

Y Y

X

Figura 3.5: Geometrıa de la plataforma movil Ackermann.

3.3.2. Componente Inteligente Traccion

Los motores de traccion y las ruedas del eje conforman el CI-Traccion, con la imple-

mentacion de la interface electronica y logica de operacion. El CI debe atender las

peticiones de Avanzar, Detener, Retroceder, Incrementar y Decrementar Velocidad,

acciones que son programadas en la unidad de procesamiento.

La operacion de los motores se realiza por medio de un controlador puente H a 12 V

modelo EVX 3014 marca Traxxas, a traves de un arreglo de cuatro optoacopladores

4N32 que sirven para aislar el ruido electrico generado por los motores a las unidades

de procesamiento y enlace (Fig. 3.6).

Las senales de activacion (A, B, C y D) de los motores son generadas de acuerdo a

la Tabla 3.1 e implementan una modulacion de ancho de pulso (PWM) para regular

la velocidad. La velocidad y el sentido de giro de los motores se establecen con base

en las peticiones de Avanzar, Retroceder o Detener. Asimismo se tiene programado el

mecanismo de seleccion por prioridades para atender dichas peticiones.

Page 44: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.3. Componentes Inteligentes Especıficos 27

Actuador

Unidad deProcesamiento

PIC24FJ64GB004

Unidadde

Enlace

ControladorMotores

Motor2Motor1

Baterías para

motores de tracción SAL1 SAL2 SAL3 SAL4

A B C D

Optoacopladores

Figura 3.6: Conexion general del CI-Traccion, Controlador de motores y Motores detraccion.

Para las peticiones de Avanzar y Retroceder se establece la potencia en cada motor

con el valor proporcional al porcentaje del PWM. La accion Detener indica un estado

de alto para cada motor. Para regular una velocidad determinada en el vehıculo, el CI-

Traccion modifica el porcentaje del PWM con base en las peticiones de Incrementar y

Decrementar Velocidad (Fig. 3.7). Los circuitos del CI Traccion terminados ası como

el controlador de motor se muestran en la figura 3.8.

3.3.3. Componente Inteligente Direccion

El CI-Direccion atiende las peticiones de Girar Izquierda, Girar Derecha y Centrar

Direccion. Maneja la direccion del vehıculo autonomo e integrar el hardware requerido

Page 45: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.3. Componentes Inteligentes Especıficos 28

Inicio

En espera de peticiones

Avanzar?

Retroceder?

No

SiAvanzar Motor

Detener?

No

SiRetroceder Motor

No

SiDetener Motor

1

1

1

1

Incrementar Velocidad?

No

SiAumentar

Velocidad Actual 1

Decrementar Velocidad?

No

SiDisminuir

Velocidad Actual 1

1

Figura 3.7: Comportamiento del CI-Traccion.

para el movimiento del sistema de direccion a traves de un servomotor o actuador. Las

peticiones Girar Izquierda o Derecha establecen la direccion segun el parametro adjunto

a la peticion. La peticion Centrar Direccion establece al actuador en su posicion central

Page 46: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.3. Componentes Inteligentes Especıficos 29

Tabla 3.1: Combinaciones para el controlador de motores. NI (No implementado).

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.9).

Para la plataforma movil tipo Ackermann, el CI-Direccion controla dos servomotores

Futaba S3004 colocados en los ejes anterior y posterior. Utiliza una tarjeta generica para

CI y genera los pulsos de control para ambos servomotores con base en las peticiones

recibidas de otros componentes inteligentes en el sistema.

Los servomotores emplean tres cables, dos de alimentacion y uno de control. La ali-

mentacion es a 5 V y la senal de control es un pulso digital que genera la unidad de

procesamiento del CI para cada servomotor (Fig. 3.10). La implementacion del CI de

Direccion se muestra en la Figura 3.11.

Figura 3.8: Implementacion del CI-Traccion.

Page 47: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.3. Componentes Inteligentes Especıficos 30

Inicio

En espera de peticiones

Girar Izquierda?

Girar Derecha?

No

SiActuador a la

Izquierda

Centrar?

No

SiActuador a la

Derecha

No

SiCentrar actuador

1

1

1

1

1

Figura 3.9: Comportamiento del CI-Direccion.

3.3.4. Componente Inteligente Odometro Ackermann

La medicion tanto de velocidad como de distancia recorrida por el vehıculo autonomo es

realizada por el CI-Odometro, que al utilizar un encoder montado en el eje de traccion

de las ruedas, calcula con base en el diametro de las mismas la distancia y con relacion

al tiempo la velocidad. Este CI atiende la peticion Recorrer, la cual requiere se le

especifique una distancia y a traves del envıo de peticiones de Avanzar y Detener se

realiza el recorrido.

Es capaz ademas de regular la velocidad por medio de las peticiones de Incrementa y

Page 48: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.3. Componentes Inteligentes Especıficos 31

CI-Dirección

Actuador

Unidad deProcesamiento

PIC 24FJ64GB004

Unidadde

Enlace

Servomotor Servomotor

Energía

Figura 3.10: Conexion del CI-Direccion.

Figura 3.11: Implementacion del CI-Direccion.

Page 49: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.3. Componentes Inteligentes Especıficos 32

Inicio

Espera peticiones

1

Lectura de Codificador Óptico

Recorrer?

No

Si

Enviar Comando Avanzar

1

Inicializa cuenta

DistanciaActual < DistanciaRecibida ?

No

Si

Actualiza DistanciaActual

Enviar Comando Detener

1

Convierte a Distancia

Actualiza VelocidadActual

VelocidadActual < VelocidadDeseada

No

Si

2

Enviar Comando Incrementa Vel2

VelocidadActual > VelocidadDeseada

No

SiEnviar Comando Decrementa Vel2

2

Figura 3.12: Comportamiento del CI-Odometro Ackermann.

Decrementa Velocidad. 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. Al presentarse una peticion de Recorrer una distancia, se envıa

la peticion Avanzar y se comienza a acumular la distancia recorrida desde ese momento

hasta alcanzar la distancia deseada, y entonces se envıa la peticion Detener. El envıo de

Incrementa o Decrementa Velocidad se presenta luego de comparar la velocidad actual

con una velocidad previamente establecida, estas solicitudes no son enviadas en caso

Page 50: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.3. Componentes Inteligentes Especıficos 33

de estar dentro de la velocidad deseada (Fig. 3.12).

El encoder consta de un sensor de Efecto Hall colocado de fabrica directamente sobre

uno de los motores de traccion (Fig. 3.13). Se tienen 4331 pulsos por revolucion a la

salida de la caja de engranes. El sensor tiene una resolucion de 64 pulsos por giro del

motor y la caja de engranes una relacion de 67.67:1. Se utiliza un divisor de frecuencia

debido a la alta cantidad de pulsos por revolucion obtenida. Este divisor entre 16 es

implementado con un circuito 74LS93 (Fig. 3.13). La salida del divisor de frecuencia

se conecta a la entrada de la unidad de procesamiento del CI. La alimentacion tanto

del sensor como del divisor de frecuencia es de 5 V.

3.3.5. Vehıculo Diferencial

La plataforma diferencial utilizada es tipo oruga (Fig. 3.14), utiliza dos motores de 12

V DC con una caja de engranes con una relacion de 50:1 y una velocidad angular de

120 RPM. Su chasis es de resina de policarbonato y tiene soportes en aluminio, utiliza

polipropileno de uso rudo y moldes durables de plastico ABS en las orugas dentadas.

Figura 3.13: Implementacion del CI-Odometro Ackermann.

Page 51: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.3. Componentes Inteligentes Especıficos 34

Figura 3.14: Plataforma movil con orugas dentadas.

Sus dimensiones son 0.255 m de largo, 0.28 m de ancho, distancia entre ejes de 0.23 m

y una altura sin componentes de 0.12 m (Fig. 3.15).

El vehıculo diferencial (Fig. 3.16) puede desplazarse a cualquier punto (x, y) en el plano

(X, Y ), con una orientacion dada por θ, donde vr y vl son las velocidades lineales de

las ruedas derecha e izquierda, respectivamente; v es la velocidad resultante y b es la

distancia del eje entre el par de ruedas. Esta configuracion del vehıculo implementa

giros con radio de curvatura R sobre su propio eje a lo largo del centro instantaneo de

25.5 cm

28 cm

23cm

Figura 3.15: Dimensiones de la plataforma movil diferencial.

Page 52: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.3. Componentes Inteligentes Especıficos 35

X

Y

(x, y) R

Y

(x, y) b

L

R

Figura 3.16: Geometrıa de la plataforma movil diferencial.

curvatura (ICC) y normal a las ruedas, generados por las velocidades de los motores

para desarrollar una trayectoria. Debido a que la velocidad angular ω en el ICC es

el mismo para las ruedas, la posicion y orientacion (x, y, θ) del robot con respecto

al tiempo t se pueden estimar con el modelo cinematico basado en los parametros de

control vr y vl, dado por:

x(t) =[vr(t) + vl(t)]

2cos(θ(t))

y(t) =[vr(t) + vl(t)]

2sin(θ(t))

θ(t) =[vr(t)− vl(t)]

b(3.2)

Las velocidades del vehıculo diferencial son atendidas por un CI-Rueda Izquierda y

CI-Rueda Derecha, respectivamente.

Page 53: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.3. Componentes Inteligentes Especıficos 36

3.3.6. Componentes Inteligentes Rueda Izquierda y Derecha

Son CIs basados en un motor de traccion y una rueda, cuya funcion es el control de

la movilidad del sistema robotico. Estos CIs atienden peticiones como Avanzar, Girar

Izquierda, Girar Derecha, Detener y Retroceder. Los CIs implementan el hardware

de control necesario para la operacion del motor de corriente directa con base en sus

especificaciones. Para satisfacer las peticiones de Avanzar y Retroceder, los CIs generan

las senales correspondientes para controlar el sentido de marcha y la velocidad del

motor. La peticion Detener indica a los CIs generar las senales para detener la marcha

de su motor.

Se tienen dos alternativas: Girar sobre su propio eje o Girar mientras se avanza rea-

lizando una trayectoria curva. Las acciones para peticiones de giros son particulares

para cada CI-Rueda Izquierda y Derecha.

En el caso del CI-Rueda Izquierda, si la peticion es Girar Izquierda y el motor esta de-

tenido se establece las senales para controlar un retroceso con el motor; por otro lado,

si el robot esta avanzando la velocidad es disminuida proporcionalmente al porcentaje

de giro de la peticion. Los peticiones de Girar no se consideran al estar el robot re-

trocediendo. Para girar a la derecha la logica es similar al giro de izquierda pero con

la accion opuesta (Fig. 3.17).Las acciones del CI Rueda Derecha en los giros difieren

unicamente en la direccion de marcha del motor de traccion (Fig. 3.18).

Los CIs Rueda Izquierda y Derecha controlan tanto la direccion como la traccion del

vehıculo. Utilizan la tarjeta generica de componente inteligente, adicionada con un

controlador de motores DC, la unidad de procesamiento del componente se comunica

con el controlador de motor de forma serial a nivel TTL.

El CI implementa el mecanismo de eleccion basado en prioridades al atender peti-

ciones de otros CIs, para decidir que peticion atender. Con base en los parametros

de las peticiones ordena al controlador de motor establecer la velocidad y direccion

Page 54: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.3. Componentes Inteligentes Especıficos 37

Inicio

En espera de peticiones

Avanzar?

Retroceder?

No

SiAvanzar Motor

Detener?

Está avanzando?

Girar Izquierda?

No

SiRetroceder Motor

No

SiDetener Motor

No

Si

No

Si

Retroceder Motor

Girar Derecha?

No

Si

Avanzar Motor

Girar Izquierda?

No

SiDisminuir velocidad

Girar Derecha?

No

SiAumentar Velocidad

1

1

1

1

1

11

1

1

Figura 3.17: Comportamiento del CI-Rueda Izquierda.

correspondiente al motor a su cargo.

Se utiliza el controlador MotorMindBe desarrollado por Solutions Cubed, LLC, que

soporta un consumo constante de corriente de 1.75 A y picos de hasta 6 A, para

motores con voltajes de 6 a 36 VDC. Tiene una modulacion por ancho de pulso de 15.5

kHz, la comunicacion entre la unidad de procesamiento del CI y el controlador de motor

es serial a nivel TTL a 9600 bit/segundo. El controlador de motor integra proteccion

por bajo voltaje de entrada, sobre calentamiento ası como por consumo excesivo de

corriente.

La conexion entre la tarjeta generica de CI, el controlador de motor y el motor se

Page 55: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.3. Componentes Inteligentes Especıficos 38

Inicio

En espera de peticiones

Avanzar?

Retroceder?

No

SiAvanzar Motor

Detener?

Está avanzando?

Girar Izquierda?

No

SiRetroceder Motor

No

SiDetener Motor

No

Si

No

Si

Retroceder Motor

Girar Derecha?

No

Si

Avanzar Motor

Girar Izquierda?

No

SiDisminuir velocidad

Girar Derecha?

No

SiAumentar Velocidad

1

1

1

1

1

11

1

1

Figura 3.18: Comportamiento del CI-Rueda Derecha.

muestra en la figura 3.19.

Los CIs terminados fueron colocados en la seccion inferior de la plataforma movil. Se

desarrollo un pequeno montaje de aluminio y fueron fijados con tornillos al chasis (Fig.

3.20). Su ubicacion protege del exterior a los CIs, forman parte de los componentes

particulares para un vehıculo diferencial por lo que son no intercambiables.

3.3.7. Componente Inteligente Odometro Diferencial

Estima la distancia recorrida al monitorear el numero de vueltas que giran los motores

que dan traccion al vehıculo diferencial tipo oruga.

Page 56: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.3. Componentes Inteligentes Especıficos 39

Actuador

Unidad deProcesamiento

PIC24FJ64GB004

Unidadde

Enlace

MMBe

Motor

Batería para motor de tracción

M+ M-

FM TM

Optoacoplador

VMO

TOR

Figura 3.19: Conexion de los CIs-Rueda Izquierda y Derecha.

Se utiliza una tarjeta generica (Fig. 3.21a) para componente inteligente junto con un

sensor optico incremental RE 5622 fabricado por Tosoku montado en el eje de uno de

los motores (Fig. 3.21b). Este sensor requiere una alimentacion de 5 V, cuenta con dos

canales de salida para distinguir en caso de requerirse, la direccion del giro del motor,

en este CI se utiliza un solo canal.

Page 57: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.4. Componentes Inteligentes Comunes 40

Figura 3.20: Implementacion de los CIs-Rueda Izquierda y Derecha.

Figura 3.21: Implementacion del CI-Odometro Diferencial.

3.4. Componentes Inteligentes Comunes

Aquellos componentes que son intercambiables entre sistemas roboticos sin mayor mo-

dificacion que la conexion de energıa son los componentes comunes. Principalmente

tienen sensores que con base en su medicion generan y envıan las peticiones requeridas

para lograr su funcion.

Page 58: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.4. Componentes Inteligentes Comunes 41

Figura 3.22: Tarjeta de distribucion de energıa.

3.4.1. Distribucion de Energıa

Se desarrollo una tarjeta de distribucion de energıa para facilitar la alimentacion de los

CIs que son agregados a un vehıculo (Fig. 3.22). Se requiere una de estas tarjetas por

cada vehıculo a implementar. Se tienen salidas de 5 y 12 V que son los dos voltajes

requeridos por los CIs.

3.4.2. Componente Inteligente Seguidor de Pared

Tiene como funcion mantener una distancia (ds) entre el vehıculo robotico y una pared

a su costado, para realizar un recorrido a su lado (Fig. 3.23). Con la medicion de dos

sensores ultrasonicos el CI genera peticiones con las acciones requeridas como girar,

detener o avanzar para mantener el seguimiento de la pared.

Un sensor ultrasonico colocado perpendicularmente a la plataforma movil se encarga

de medir la distancia ds entre el vehıculo y la pared, establecida a 0.5 m, mientras que

otro colocado con cierta orientacion detecta objetos proximos. Se genera la peticion

de girar hacia la pared si el vehıculo se aleja, en caso de acercarse gira en direccion

opuesta a la pared. Si se encuentra un objeto proximo en el camino el CI pide girar

para alejarse (Fig. 3.24).

Page 59: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.4. Componentes Inteligentes Comunes 42

Figura 3.23: Tarea de seguimiento de pared.

Para estimar la distancia a los objetos, los sensores ultrasonicos miden el tiempo desde

que un pulso ultrasonico es enviado hasta que se recibe el eco de vuelta al sensor, luego

de chocar contra un objeto. Con base en ese tiempo y la velocidad del sonido se obtiene

una distancia.

Para construir este CI se utiliza una tarjeta generica de componente inteligente y dos

sensores ultrasonicos, operados por la unidad de procesamiento del CI (Fig. 3.25). Uno

de los sensores es colocado de forma ortogonal al vehıculo con direccion hacia el objeto

a seguir, tıpicamente una pared. El segundo sensor esta rotado 45 con respecto al

frente del vehıculo con direccion al objeto a seguir.

Sensor ultrasonico

Consiste de un transmisor/receptor, modelo Ping))) de la marca Parallax, con un rango

de operacion desde 0.02 m hasta 3 m. Trabaja con niveles de voltaje de 5 V, su salida es

una senal con duracion proporcional al tiempo transcurrido entre el pulso ultrasonico

Page 60: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.4. Componentes Inteligentes Comunes 43

Inicio

Lectura de Sensor 1

Sensor 1 < 75 cm?

Sensor 2 < 50 cm?

No

SiGirar Izquierda

Sensor 2 > 50 cm?

No

SiGirar Izquierda

No

SiGirar Derecha

1

1

1

1

Centrar Dirección

1

Lectura de Sensor 2

Figura 3.24: Comportamiento del CI-Seguidor Pared.

y el eco. El pulso ultrasonico de transmision es de 40 kHz y de 5 s de duracion.

Con base en la medicion de ambos sensores ultrasonicos y la logica de operacion descrita

anteriormente para este CI, se generan las peticiones de Girar, Centrar Direccion y

Avanzar para que sean atendidas por los CIs adecuados.

Page 61: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.4. Componentes Inteligentes Comunes 44

Figura 3.25: Implementacion del CI-Seguidor Pared.

3.4.3. Componente Inteligente Evasor

Este CI se encarga de evitar la colision con obstaculos en la trayectoria del vehıculo

robotico. Al utilizar dos sensores ultrasonicos colocados al frente del vehıculo es capaz

de detectar objetos y realizar el procesamiento necesario para decidir un movimiento

adecuado para evadirlo.

La salida de este CI son peticiones como Girar Izquierda, Girar Derecha, Centrar

Direccion, Retroceder que deben ser atendidas por los CIs encargados de la locomocion.

El CI-Evasor toma accion cuando se encuentra un obstaculo dentro del rango definido,

se tienen cuatro casos: libre de obstaculos, obstaculo detectado a distancia segura,

evasion y retroceso (Fig. 3.26).

Las distancias de accion se consideran: 1.2 m para entrar en evasion, 0.5 m para re-

troceder e intentar una nueva ruta y las distancias entre 1.2 m y 3 m se considera un

rango seguro, mientras que distancias mayores a 3 m se consideran libres de obstaculos

(Fig. 3.27).

En la implementacion del CI Evasor se utiliza una tarjeta generica de componente

inteligente y dos sensores ultrasonicos para detectar objetos. Su conexion electronica es

similar al CI Seguidor de Pared ya que se utiliza el mismo modelo de sensor, difiere en el

comportamiento que presenta ası como el montaje fısico de dichos sensores ultrasonicos.

Page 62: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.4. Componentes Inteligentes Comunes 45

Figura 3.26: Tarea de evasion de obstaculos.

Inicio

Lectura de Sensor Izquierda

Sensor Izquierda < 50 cmO

Sensor Derecha < 50 cm?

No

Si

Retroceder

Girar Derecha

Girar Izquierda

1

1

1

1

Centrar Dirección

1

Lectura de Sensor Derecha

Sensor Izquierda < 120 cmO

Sensor Derecha < 120 cm?

No

SiSensor Izquierda < Sensor Derecha?

No

Si

Centrar Dirección

Figura 3.27: Comportamiento del CI-Evasor.

Page 63: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.4. Componentes Inteligentes Comunes 46

Figura 3.28: Implementacion del CI-Evasor.

Cada sensor ultrasonico esta montado a cada lado de una base de acrılico disenada para

poder colocarse y removerse con facilidad del vehıculo robotico en cuestion (Fig. 3.28).

Este CI se coloca al frente del vehıculo para detectar obstaculos en el camino, los dos

sensores ultrasonicos permiten distinguir la ubicacion del obstaculo y girar entonces

en direccion contraria a el. El montaje de los sensores permite cambiar su orientacion

ası como su inclinacion.

3.4.4. Componente Inteligente Compas

Este es un CI de tipo hıbrido, brinda al vehıculo autonomo la capacidad de orientarse

en una direccion deseada por medio de una brujula electronica como sensor. Su sali-

da son peticiones como Girar Izquierda, Girar Derecha y Centrar Direccion. Informa

el azimut actual y puede atender la peticion Orientar acompanada de la orientacion

correspondiente. Al recibir una orientacion a la cual dirigirse, compara la orientacion

actual del vehıculo y envıa peticiones de Girar o Centrar Direccion segun sea el caso

(Fig. 3.29).

El CI Compas utiliza una tarjeta generica de componente inteligente y un sensor

HMC6352 fabricado por Honeywell. Este compas combina dos sensores magneto-resistivos

con la electronica analogica, digital, microprocesador y algoritmos requeridos para ob-

tener una orientacion. El sensor esta internamente compensado por temperatura e

incluye algoritmos de calibracion embebidos; su alimentacion es de 5 V, la salida tiene

Page 64: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.4. Componentes Inteligentes Comunes 47

Lectura de Brújula Electrónica

Actualiza OrientaciónActual

OrientaciónActual < OrientaciónDeseada?

No

SiEnviar Comando Girar Derecha1

OrientaciónActual > OrientaciónDeseada

No

SiEnviar Comando Girar Izquierda1

1

Enviar Comando Centrar

Dirección

Inicio

1

2

Espera peticiones

Orientar?

No

Si

Enviar Orientación

2

Figura 3.29: Comportamiento del CI-Compas.

una resolucion de 0.1 y presenta un consumo de corriente menor a los 10 mA.

El CI se comunica con el sensor HMC6352 por medio de I2C (Fig. 3.30), la unidad de

procesamiento del CI opera como maestro mientras que el sensor como esclavo. Los

resistores necesarios van incluidos en el modulo del sensor.

El montaje fısico del CI con su sensor es sobre una base de acrılico con un poste de

plastico para alejarlo de otros elementos metalicos del vehıculo que puedan afectar su

funcionamiento (Fig. 3.31).

Page 65: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.4. Componentes Inteligentes Comunes 48

Sensor

Unidad deProcesamiento

PIC24FJ64GB004

Unidadde

Enlace

HMC6352

Sensor Compás

SDA SCL

Figura 3.30: Conexion del CI-Compas.

Figura 3.31: Implementacion del CI-Compas.

Page 66: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.4. Componentes Inteligentes Comunes 49

Vehículo Robótico

Comunicación Inalámbrica

Computadora

Comunicación Inalámbrica

Interfaz Gráfica

Teleoperación Movimientos Autónomos

Debug Imagen

Componente InteligenteCI-Comunicación

Componente Inteligente

Componente Inteligente

Figura 3.32: Estructura del CI-Comunicacion.

3.4.5. Componente Inteligente de Comunicacion

La interaccion entre un usuario y el vehıculo robotico es posible a traves del CI de

Comunicacion. Permite el envıo de peticiones ası como la recepcion de informacion

sobre el estatus del vehıculo autonomo. El CI de Comunicacion esta conformado por

una interfaz grafica de usuario (GUI por sus siglas en ingles) ası como un enlace de

comunicacion inalambrico de alto alcance. Es un CI del tipo hıbrido y es requerido

para complementar ciertos CIs.

La GUI es modular (Fig. 3.32), integra diversas ventanas para comunicarse con el

vehıculo robotico. Permite la teleoperacion del sistema robotico ası como visualizar la

imagen en tiempo real del CI-Camara. El envıo de parametros para realizar recorridos

autonomos es a traves de la ventana de Movimientos Autonomos.

La ventana Debug recibe y registra la actividad del sistema completo, al registrarse

ante el CI-Coordinador comienza a recibir la actividad de peticiones generadas.

La unidad de procesamiento de este CI utiliza un microcontrolador Rabbit, y la comu-

nicacion de alto alcance es a traves de radio modems MaxStream (Fig. 3.33).

Microcontrolador Rabbit

Un microcontrolador RCM4110, marca Rabbit Semiconductor es utilizado en el CI

de Comunicacion. Opera a 29.49 MHz, con 512 kb de memoria Flash para almacenar

Page 67: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.4. Componentes Inteligentes Comunes 50

Unidad deProcesamiento

Microcontrolador Rabbit

Unidad deEnlaceXBee

Radio módem MaxStream

Tx Rx

Energía

Tx Rx

Figura 3.33: Conexion del CI-Comunicacion.

codigo y 256 kb de memoria RAM para variables; ofrecen una operacion multitarea,

permite ejecutar mas de un bloque de codigo ”simultaneamente”.

Incorpora 6 puertos que ofrecen diferentes funciones en las que destacan 6 entra-

das/salidas seriales, relojes para comunicacion sıncrona, PWM, implementacion maestro-

esclavo, entre otros. El codigo de programacion para este microcontrolador es desarro-

llado en ”Dynamic C”, una variacion del lenguaje de programacion C. La programacion

del circuito es a traves de un puerto serial.

Radio Modem

El intercambio de informacion entre el vehıculo autonomo y una computadora es posible

al utilizar un par de radio modems marca MaxStream modelo 9XTend. Cada radio es

capaz de transmitir con una potencia de salida de hasta 1 Watt a una frecuencia de

900 MHz. El alcance ofrecido por estos radio modems en ambientes interiores/urbanos

Page 68: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.4. Componentes Inteligentes Comunes 51

Figura 3.34: Implementacion del CI-Comunicacion.

es de hasta 900 m y de hasta 60,000 m en ambientes abiertos con lınea directa de

vista. La tasa de transferencia de datos es configurable, desde 900 bps hasta 115200

bps. Por seguridad implementan encriptacion de 256-bits, sensibilidad de recepcion de

-110 dBm. La operacion de estos equipos de comunicacion se basa en un puerto serie

RS-232/485 y el modo de operacion es punto a punto o multipunto.

La integracion tanto del microcontrolador Rabbit como del radio modem Maxstream

fue encapsulada en un contenedor de acrılico (Fig. 3.34) y es fijado con velcro en las

plataformas moviles.

Interfaz grafica

Permite controlar al robot de forma manual ası como visualizar su estado y enviar

peticiones para realizar recorridos autonomos al especificar una distancia y direccion.

Page 69: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.4. Componentes Inteligentes Comunes 52

Figura 3.35: Interfaz grafica de usuario.

Independiente de la plataforma que se utilice, esta interfaz funciona de manera modular;

este CI puede ser agregado o retirado del vehıculo en tiempo de operacion.

Cuenta con diferentes modulos como teleoperacion, debug, estatus, recorridos autono-

mos e imagen (Fig. 3.35).

Teleoperacion. Permite por medio del teclado, raton o un gamepad la teleopera-

cion de vehıculos autonomos que implementen la arquitectura.

Debug. Muestra y registra el trafico de peticiones existentes en el vehıculo autono-

mo. Indica la peticion, que componente la genera ası como su prioridad. En re-

corridos autonomos muestra la distancia recorrida y su orientacion.

Estatus. Muestra los componentes inteligentes registrados en el sistema junto con

la informacion de peticiones que puede atender y peticiones que puede solicitar.

Recorridos autonomos. Permite enviar peticiones al sistema robotico para recorrer

una distancia determinada dada en centımetros y peticiones para mantener una

orientacion dada.

Page 70: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.5. Vehıculos Autonomos 53

Imagen. Muestra la informacion capturada por la camara montada sobre el CI-

Camara en el vehıculo robotico. Desde el modulo de teleoperacion es posible

cambiar el angulo de vision.

3.4.6. Componente Inteligente Camara

Permite visualizar a distancia el exterior de un vehıculo autonomo al utilizar una

camara de video inalambrica colocada sobre dos actuadores para lograr movimientos

horizontales y verticales. Es un CI que atiende peticiones (Fig. 3.36). La imagen cap-

turada es transmitida de manera inalambrica y visualizada en la interfaz grafica del

CI de Comunicacion. Atiende peticiones como Girar Camara a la Izquierda, Derecha,

Arriba y Abajo.

Para su desarrollo utiliza una tarjeta generica de componente inteligente y dos servo-

motores para girar la camara de video inalambrica (Fig. 3.37). Este CI esta formado

por dos secciones: la camara colocada sobre dos servomotores en el vehıculo robotico

y la contraparte es un receptor inalambrico de video y una tarjeta digitalizadora de

video para computadora.

Un servomotor continuo permite un giro horizontal de la camara de 360 y un ser-

vomotor estandar un giro vertical de 120 . Las peticiones de giro son enviadas por el

usuario desde el CI de Comunicacion. La imagen obtenida se visualiza en el mismo CI

de Comunicacion y se tiene un alcance inalambrico de hasta 25 m.

El montaje de la camara, servomotores y tarjeta generica de CI es sobre acrılico y cuenta

con velcro en la parte inferior para facilitar su colocacion sobre el vehıculo autonomo

en cuestion. Un solo cable de 5 V de alimentacion es requerido para su funcionamiento.

Page 71: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.5. Vehıculos Autonomos 54

Inicio

En espera de peticiones

Girar Cam Izquierda?

Girar Cam Derecha?

No

SiActuador a la

Izquierda

Girar Cam Arriba?

No

SiActuador a la

Derecha

No

SiActuador hacía

arriba

1

1

1

1

Girar Cam Abajo?

No

SiActuador hacía

abajo 1

1

Figura 3.36: Comportamiento del CI-Camara.

3.5. Vehıculos Autonomos

Una vez desarrollados los CIs, son colocados sobre cada plataforma movil los CIs par-

ticulares que correspondan, tanto al vehıculo con sistema de direccion Ackermann co-

mo al vehıculo con cinematica diferencial. En ambas plataformas se requiere un CI-

Coordinador para operar.

Page 72: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.5. Vehıculos Autonomos 55

Figura 3.37: Implementacion del CI-Camara.

Los CIs comunes son intercambiados entre plataformas segun se requiera. Se muestran

ambas plataformas moviles con algunos componentes inteligentes incorporados.

Se tiene a la plataforma Ackermann con sus CIs particulares Odometro, Traccion y

Direccion ademas de los CIs comunes de Comunicacion, Evasor, Seguidor de Pared,

Camara y Compas (Fig. 3.38). La energıa para este vehıculo Ackermann esta dada

por dos baterıas de polımero de litio de 11.1 V con capacidad de 5000 mAh cada una.

Los CIs estan energizados por una baterıa mientras que la segunda baterıa es para los

motores de traccion.

La plataforma diferencial con sus CIs particulares Rueda Izquierda y Derecha, ası co-

mo su CI Odometro puede apreciarse en la Figura 3.39. Se muestran ademas los CIs

comunes de Camara, Seguidor de Pared y Evasor. La energıa para esta plataforma

diferencial esta dada por una baterıa de polımero de litio de 11.1 V con capacidad de

4400 mAh.

Page 73: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.5. Vehıculos Autonomos 56

Figura 3.38: Vehıculo autonomo Ackermann basado en CIs.

Page 74: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

3.5. Vehıculos Autonomos 57

Figura 3.39: Vehıculo autonomo diferencial basado en CIs.

Page 75: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

Capıtulo 4

Implementacion: Arquitectura de

Control

Se presenta en este capıtulo la integracion de CIs para implementar la arquitectura de

control de dos plataformas moviles, con cinematica diferencial y Ackermann, respecti-

vamente. Ademas se muestran los resultados de diversas pruebas realizadas a cada CI,

ası como el desempeno de cada plataforma movil realizando ciertas tareas.

4.1. Componentes Inteligentes

La validacion de la arquitectura de control involucro una serie de pruebas realizadas a

cada uno de los CIs desarrollados. Estas pruebas fueron realizadas de forma individual

para comprobar la correcta operacion de cada unidad funcional del CI, tanto de los

elementos fısicos como de los elementos logicos, ası como para evaluar el desempeno de

la funcion de cada CI.

CI-Traccion. Diversas rutinas fueron programadas para verificar que los motores opera-

ran de forma adecuada, capaces de girar en ambos sentidos y a diferentes velocidades,

esto despues de realizar la conexion electronica entre el microcontrolador, optoacopla-

58

Page 76: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

4.1. Componentes Inteligentes 59

dores y puente H. Una vez que se logro el correcto control de los motores de traccion,

se probo la comunicacion inalambrica del CI para recibir peticiones y atenderlas.

CI-Direccion. Se programo una rutina para girar los servomotores de direccion desde

el centro hasta los extremos en pequenos incrementos con el objetivo de encontrar

los lımites operacionales del vehıculo Ackermann en ambos sentidos. El servomotor

del eje anterior se programo de forma fija para evitar forzar los motores de traccion

en giros demasiado cerrados, como se observo en las pruebas realizadas. Se probo la

respuesta del servomotor del eje posterior a peticiones de giro de la direccion de forma

satisfactoria.

CI-Camara. Los servomotores de giro de la camara inalambrica se operaron por medio

de un programa que permite controlar el angulo de vision. El servomotor de giros

horizontales se hizo operar con pequenos incrementos por cada peticion de giro recibida,

debido a que es un servomotor continuo que permite realizar giros de hasta 360◦. En

el caso del servomotor de movimiento vertical, se encontro de manera experimental el

valor maximo de giro en ambos sentidos para evitar colisiones con la base del CI.

CI-Compas. Se probo la respuesta del sensor de 0 a 359◦. Se evaluo el algoritmo que

permite lograr una orientacion deseada al comparar la orientacion actual del vehıculo

con la orientacion programada y ası generar las peticiones de movimiento necesarias.

CI-Evasor. Se desarrollo un programa para la medicion de dos sensores ultrasonicos

para detectar obstaculos. Se evaluo el algoritmo de evasion, que genera como salida

peticiones para girar el vehıculo segun sea necesario o bien retroceder para evitar coli-

siones. Se experimento con diferentes valores de distancia hasta encontrar los mejores

resultados de acuerdo a la respuesta del vehıculo. Como parte de las pruebas se modi-

fico el montaje fısico de los sensores ultrasonicos para permitir orientarlos manualmente

y adaptarlos a la plataforma movil utilizada.

CI-Seguidor de Pared. Originalmente se probo el seguimiento de pared con un sensor

Page 77: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

4.1. Componentes Inteligentes 60

Tabla 4.1: Relacion de distancias y pulsos, plataforma Diferencial.

Distancia recorrida Pulsos Contados

39.8 cm 50109.5 cm 150214 cm 300317 cm 450389 cm 550

ultrasonico colocado de forma ortogonal al vehıculo para detectar la pared. Presento un

funcionamiento adecuado excepto en giros cerrados, donde el robot era incapaz de

anticiparse a la forma de la pared por lo que se perdıa el seguimiento. Se encontro como

solucion colocar otro sensor ultrasonico orientado a 45 ◦respecto a la pared en la parte

frontal del vehıculo. Esto permitio anticipar la forma de la pared y dar el giro en

esquinas o irregularidades importantes de manera adecuada.

CI-Odometro. Las pruebas realizadas a los odometros utilizados en ambas plataformas

fueron similares entre sı. Primero se midio el pulso generado por los sensores y se obtuvo

una cuenta proporcional a la distancia recorrida. Se ejecutaron recorridos a diferentes

distancias en repetidas ocasiones (Tabla 4.1 y 4.2), se midio la distancia real recorrida

y se relaciono con el conteo de pulsos y se encontro una funcion de tendencia lineal

(Fig. 4.1 y 4.2). Esta fue implementada en los microcontroladores para convertir de

pulsos a centımetros. Para la plataforma diferencial la funcion es:

PDif = 1.4355*D - 6.9871

Para la plataforma Ackermann:

PAck = 2.7898*D - 21.837

Donde PDif y PAck son los pulsos a contar y D la distancia en centımetros a recorrer.

CI-Comunicacion. Se probo la comunicacion entre la interfaz grafica y el vehıculo

robotico utilizando el radio modem 9XTend al enviar diferentes peticiones y observar

Page 78: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

4.1. Componentes Inteligentes 61

0 50 100 150 200 250 300 350 400−100

0

100

200

300

400

500

600

Distancia (cm)

Pul

sos

y = 1.4*x − 7

MedidoEstimado

Figura 4.1: Funcion de calibracion del CI-Odometro diferencial.

Tabla 4.2: Relacion de distancias y pulsos, plataforma Ackermann.

Distancia recorrida Pulsos Contados

46 cm 100183 cm 500268 cm 1000

0 50 100 150 200 250 300 350 400−200

0

200

400

600

800

1000

1200

Distancia (cm)

Pul

sos

y = 2.8*x − 22

MedidoEstimado

Figura 4.2: Funcion de calibracion del CI-Odometro Ackermann.

la respuesta por parte del sistema robotico. Por otra parte, se probo la comunicacion

entre el modulo Debug del CI-Comunicacion y el CI-Coordinador por medio de los

Page 79: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

4.1. Componentes Inteligentes 62

XBee. Se comprobo el correcto registro de las peticiones generadas en el sistema.

Adicionalmente, se probo el modulo de Teleoperacion del CI-Comunicacion con un

control comercial para la consola de videojuego XBox, con lo que se logro operar el

vehıculo robotico por medio del radio modem 9XTend.

CI-Coordinador. Las pruebas a este CI se enfocaron en revisar el registro de CIs ası co-

mo verificar la correcta recepcion y reenvıo de peticiones. Se monitoreo el trafico de

peticiones con la ayuda de un osciloscopio y se observo que la velocidad de transmi-

sion de datos entre el CI-Coordinador y su XBee es crıtica, por lo que se utilizo la

velocidad maxima permitida de 19200 bps para lograr el maximo nivel de atencion del

CI-Coordinador y evitar perdida de informacion.

Figura 4.3: Tiempo entre una peticion y su reenvıo por el CI-Coordinador.

El tiempo que transcurre entre la peticion de algun CI y la trasmision del CI-Coordinador

al CI correspondiente es de 23 ms (Fig. 4.3).

Trascurren 50 ms desde que una peticion es enviada hasta que es atendida por otro

CI, incluido el paso por el CI-Coordinador. En la figura 4.4 se muestra la actividad

del CI-Odometro que envıa dos peticiones, la primera de Incrementar Velocidad (a)

y la segunda para informar la distancia recorrida (b). El pulso mostrado en la parte

inferior (c) representa la reaccion del CI-Traccion por recibir la peticion de Incrementar

Page 80: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

4.1. Componentes Inteligentes 63

Figura 4.4: Actividad entre el envıo y atencion de peticiones.

Velocidad.

4.1.1. Integracion de Componentes Inteligentes

Figura 4.5: Pruebas de laboratorio.

Una vez que se probaron y se pusieron a punto por separado los CI, se realizaron

pruebas de operacion de la arquitectura de control propuesta con varios CIs para am-

bas plataformas moviles. Desde el CI-Comunicacion en una computadora, se enviaron

peticiones de Avanzar, Detener, Retroceder y Girar (Fig. 4.5). Se comprobo la comu-

nicacion entre el CI-Coordinador y los otros CIs en el sistema.

Se probo la reaccion de los vehıculos ante un obstaculo al frente al estar en movimien-

Page 81: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

4.2. Experimentos y Resultados 64

Tabla 4.3: Consumo de corriente medido en el vehıculo Ackermann.

Componente Inteligente y Motores Consumo electrico (mA)

Odometro 68Traccion 49

Coordinador 46Direccion 170Motores 470

Tabla 4.4: Consumo de corriente en el vehıculo diferencial.

Componente Inteligente y Motores Consumo electrico (mA)

Odometro 48Rueda izquierda 55Rueda derecha 55Coordinador 46Motores 180 x 2

to. Tambien se hicieron pruebas a diferentes distancias y orientaciones en recorridos

autonomos. Con los resultados obtenidos se considero que las plataformas quedaron

integradas adecuadamente para poder llevar a cabo diversas tareas.

4.1.2. Consumos Electricos

En sistemas energizados con baterıas es importante mantener un consumo de corriente

bajo para aumentar la autonomıa, por lo que fueron seleccionados dispositivos de bajo

consumo electrico para ser utilizados en los CIs. Se midio el consumo electrico de los

CIs en operacion y se presentan en las Tablas 4.3, 4.4 y 4.5:

4.2. Experimentos y Resultados

Se desarrollaron experimentos para probar el desempeno de la arquitectura de control

en las dos plataformas moviles implementadas, ante diferentes escenarios y circunstan-

Page 82: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

4.2. Experimentos y Resultados 65

Tabla 4.5: Corriente medida en los CIs Comunes.

Componente Inteligente y Motores Consumo electrico (mA)

Compas 46Evasor 76

Comunicacion 152Seguidor de Pared 90

Camara 120

cias.

Estos experimentos se desarrollaron al aire libre en una cancha de basquetbol debido

a que se utilizo un sistema de posicionamiento global (GPS) para poder registrar los

recorridos y evaluar los resultados de las tareas realizadas por los vehıculos.

4.2.1. Sistema de Registro GPS

Se desarrollo 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. 4.6).

El equipo GPS se diseno y desarrollo a partir de un microcontrolador PIC16F690 y

un GPS 15L fabricado por Garmin. El microcontrolador obtiene datos del GPS, filtra

la informacion para obtener tanto la posicion como la hora actual. Estos datos son

enviados a traves de un par de radio modems XBee hacia la interfaz de registro.

La interfaz de registro fue desarrollada en Visual Studio 2010, en particular con el

lenguaje de programacion C. Utiliza un puerto COM generado por la conexion del

radio modem XBee a la computadora. La informacion recibida desde el equipo GPS es

mostrada en la pantalla de la interfaz y se cuenta con un boton para iniciar o detener

el registro de datos en un archivo de texto.

Se utilizo el lenguaje de programacion Matlab para el procesamiento de la informacion

registrada con el sistema GPS. Se desarrollo una funcion para graficar los recorridos y

Page 83: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

4.2. Experimentos y Resultados 66

Microcontrolador PIC16F690

Equipo transmisor GPS

XBee

GPS 15L

XBee

Receptor GPS

Interfaz de Registro

Archivo

(a) Equipo GPS (b) Interfaz de registroGPS

Figura 4.6: Sistema de registro GPS.

obtener la distancia transitada ası como la velocidad de cada vehıculo. En cada grafica

se muestra tanto la velocidad y trayectoria recorrida como el recorrido ideal.

4.2.2. Seguimiento de Pared

Se realizaron recorridos de seguimiento de pared en diferentes escenarios con ambas

plataformas, preparadas con sus CIs particulares (Coordinador, Odometro, Direccion

y Traccion) ademas del CI-Seguidor de Pared (Fig. 4.7).

Se diseno una pared seccionada como escenario de pruebas de seguimiento fabricado

con madera y carton. Es sencilla de ensamblar y transportar. La forma de ensamble

esta limitada a las combinaciones posibles con 12 secciones de 1.2 m de ancho por 0.4

m de altura.

El primer escenario sin obstaculos fue un recorrido rectangular de 6 x 1.2 m y otro

escenario de 3.6 x 3.6 m (Fig. 4.8), donde se evaluaron ambas plataformas en operacion.

Page 84: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

4.2. Experimentos y Resultados 67

P

E

S

P

E

A

P

E

A

P

E

S/A

P

E

Coordinador

CI-Dirección

CI-Tracción

CI-Odómetro

CI-Seguidor

(a) Plataforma Ackermann

CI-Rueda Izquierda

CI-Rueda Derecha

P

E

S

P

E

A

P

E

A

P

E

S/A

P

E

Coordinador

CI-Odómetro

CI-Seguidor

(b) Plataforma Diferencial

Figura 4.7: CIs para el Seguimiento sin obstaculos.

1.2 m

6 m

(a) Escenario rectan-gular

3.6 m

3.6 m

(b) Escenario cuadrado

Figura 4.8: Seguimiento sin obstaculos.

Al encender cada vehıculo, comienza el proceso de registro de CIs ante el CI-Coordinador,

este proceso tiene una duracion aproximada de 30 segundos. 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 direccion con base a las mediciones de los sensores ultrasonicos.

El CI-Odometro en la plataforma Ackermann regula la velocidad para mantenerla cons-

tante a un valor programado de 0.25 m/s. En el escenario rectangular se obtuvo una

velocidad promedio de 0.27 m/s y una distancia promedio de 27.7 m en varios recorridos

(Fig. 4.9).

Page 85: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

4.2. Experimentos y Resultados 68

−25.58 −25.575 −25.57 −25.8.192

8.194

8.196

8.198

8.2

8.202

8.204

8.206

8.208

8.21

8.212

28.2834 m

0.26937 m/s

Figura 4.9: Pruebas de seguimiento sin obstaculos Ackermann.

El CI-Seguidor de Pared fue cambiado a la plataforma diferencial y se realizo el re-

corrido. Al encender el vehıculo comienza el registro de CIs ante el CI-Coordinador

y segundos despues comienza el seguimiento de pared al igual que en la plataforma

Ackermann. Los CIs-Rueda Izquierda y Derecha en esta plataforma diferencial atien-

den tanto las peticiones de avanzar como de girar. La velocidad promedio en estos

recorridos fue de 0.21 m/s, se recorrio en total una distancia promedio de 26.4 m (Fig.

4.10).

−25.58 −25.575 −25.57 −25.8.192

8.194

8.196

8.198

8.2

8.202

8.204

8.206

8.208

8.21

8.212

26.3658 m

0.21972 m/s

Figura 4.10: Pruebas de seguimiento sin obstaculos con plataforma diferencial.

Una vez realizadas las pruebas de seguimiento en el escenario rectangular se experi-

Page 86: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

4.2. Experimentos y Resultados 69

mento en un escenario cuadrado de 3.6 X 3.6 m. Se obtuvieron velocidades de 0.22 m/s

en la plataforma diferencial y de 0.25 m/s en la plataforma Ackermann. Las distancias

recorridas fueron de 27 m en promedio por ambas plataformas. En la figura 4.11 se

muestra uno de los recorridos de cada plataforma.

−25.58 −25.575 −25.57 −25.8.192

8.194

8.196

8.198

8.2

8.202

8.204

8.206

8.208

8.21

8.212

27.0935 m

0.22208 m/s

(a) Plataforma Diferencial

−25.58 −25.575 −25.57 −25.8.192

8.194

8.196

8.198

8.2

8.202

8.204

8.206

8.208

8.21

8.212

26.4855 m

0.25714 m/s

(b) Plataforma Ackermann

Figura 4.11: Pruebas de seguimiento sin obstaculos circuito cuadrado.

4.2.3. Trayectorias Autonomas

Se realizaron trayectorias autonomas donde se especifica una distancia a recorrer con

cierta orientacion. Se envıa por parte del usuario desde el CI-Comunicacion la orienta-

cion en grados (0 359) y la distancia en centımetros a recorrer. En este tipo de recorrido

son utilizados el CI-Odometro para estimar la distancia recorrida y el CI-Compas para

mantener una orientacion dada (Fig. 4.12).

Los recorridos fueron desarrollados en una cancha de basquetbol al aire libre. Se eva-

luo en ambas plataformas moviles con los siguientes resultados (Fig. 4.13).

Se solicito un recorrido de 14 m a 180 ◦(de Norte a Sur), despues de varios recorridos

con ambas plataformas se logran distancias de 14 m con un margen de error de 0.2 m.

Page 87: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

4.2. Experimentos y Resultados 70

P

E

S

P

E

A

P

E

A

P

E

S/A

P

E

Coordinador

CI-Dirección

CI-Tracción

CI-Odómetro

CI-Compás

(a) Plataforma Ackermann

P

E

S

P

E

A

P

E

A

P

E

Coordinador

CI-Rueda Izquierda

CI-Rueda Derecha

CI-Odómetro

P

E

S

CI-Compás

(b) Plataforma Diferencial

Figura 4.12: CIs para trayectorias sin obstaculos.

−25.58 −25.575 −25.57 −25.8.192

8.194

8.196

8.198

8.2

8.202

8.204

8.206

8.208

8.21

8.212

14.0236 m

0.2226 m/s

(a) Plataforma Diferencial

−25.58 −25.575 −25.57 −25.8.192

8.194

8.196

8.198

8.2

8.202

8.204

8.206

8.208

8.21

8.212

14.1758 m

0.22864 m/s

(b) Plataforma Ackermann

Figura 4.13: Recorridos autonomos sin obstaculos.

4.2.4. Seguimiento de Pared con Obstaculos

Se empleo un escenario cuadrado de 3.6 X 3.6 m adicionado con un obstaculo de 0.6

m, ortogonal a la trayectoria del vehıculo y una elongacion de la pared a 45 ◦de 0.6 m

(Fig. 4.14).

Diversos recorridos de seguimiento de pared se realizaron, para ello se agrego el CI-

Evasor (Fig. 4.15). Puede apreciarse como con la interaccion de todos los CIs se logra

Page 88: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

4.2. Experimentos y Resultados 71

3.6 m

3.6 m

Figura 4.14: Escenario cuadrado con obstaculos.

la tarea, en particular el CI-Seguimiento de Pared alterna el control con el CI-Evasor

de obstaculos (Fig. 4.16).

P

E

S

P

E

A

P

E

A

P

E

S/A

P

E

Coordinador

CI-Dirección

CI-Tracción

CI-Odómetro

CI-Evasor

P

E

S

CI-Seguidor

(a) Plataforma Ackermann

CI-Rueda Izquierda

CI-Rueda Derecha P

E

S

P

E

A

P

E

A

P

E

S/A

P

E

Coordinador

CI-Odómetro

CI-Evasor

P

E

S

CI-Seguidor

(b) Plataforma Diferencial

Figura 4.15: CIs para el Seguimiento con obstaculos.

4.2.5. Trayectorias Autonomas con Obstaculos

Se realizaron recorridos autonomos ahora con obstaculos colocados en la trayectoria.

Con esta prueba se puede apreciar como existe una interaccion entre los CIs para

realizar el recorrido de manera autonoma, mientras evade el obstaculo y continua con

el recorrido original.

Page 89: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

4.2. Experimentos y Resultados 72

-25.58 -25.575 -25.578.192

8.194

8.196

8.198

8.2

8.202

8.204

8.206

8.208

8.21

8.212

32.8118 m

0.26249 m/s

(a) Seguimiento de pared conobstaculos

(b) Prueba de seguimiento con obstaculos

Figura 4.16: Seguimiento de pared con obstaculos.

El CI-Evasor tiene prioridad sobre el CI-Compas, al momento de ser detectado un

obstaculo la direccion del vehıculo autonomo es controlado por el CI-Evasor (Fig. 4.17).

Al liberarse del obstaculo, el control de la direccion regresa al CI-Compas que retoma

la orientacion solicitada originalmente (Fig. 4.18).

Las pruebas fueron desarrolladas en una cancha de basquetbol al aire libre con obstacu-

los de 0.4 m de altura por 1 m de ancho. El recorrido fue de 14 m a 180 ◦(de Norte a

Sur). Se evaluo en ambas plataformas moviles con los siguientes resultados (Fig. 4.19).

La evasion fue a la derecha del obstaculo.

Se lograron diversos recorridos con obstaculos. La direccion del giro de evasion depende

de la posicion del obstaculo. Se gira hacia donde se encuentre mayor espacio libre. Se

Page 90: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

4.2. Experimentos y Resultados 73

P

E

S

P

E

A

P

E

A

P

E

S/A

P

E

Coordinador

CI-Dirección

CI-Tracción

CI-Compás

CI-Evasor

P

E

S

CI-Odómetro

(a) Plataforma Ackermann

P

E

S

P

E

A

P

E

A

P

E

Coordinador

CI-Rueda Izquierda

CI-Rueda Derecha

CI-Compás

P

E

S

CI-Evasor

P

E

S

CI-Odómetro

(b) Plataforma Diferencial

Figura 4.17: CIs para trayectorias con obstaculos.

14 m

(a) Recorrido sinobstaculos

14 m

(b) Con obstaculo sin CI-Evasor

14 m

Orientación

solicitada

(c) Obstaculo y CI-Evasor

Figura 4.18: Casos posibles en los recorridos autonomos.

experimento colocando el obstaculo con sesgo hacia cada lado, que resulto en evasion

por el sentido mas libre, en este caso el giro del vehıculo fue por la izquierda (Fig. 4.20).

4.2.6. Trafico de Peticiones

El trafico de las peticiones generadas por los CIs en el sistema robotico puede ser

registrado con la opcion Debug del CI-Comunicacion. La estructura del registro incluye

Page 91: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

4.2. Experimentos y Resultados 74

-25.58 -25.575 -25.578.192

8.194

8.196

8.198

8.2

8.202

8.204

8.206

8.208

8.21

8.212

13.9151 m

0.22087 m/s

(a) Diferencial

-25.58 -25.575 -25.578.192

8.194

8.196

8.198

8.2

8.202

8.204

8.206

8.208

8.21

8.212

14.0343 m

0.21591 m/s

(b) Ackermann

Figura 4.19: Recorridos autonomos con obstaculos con giro por la derecha.

-25.58 -25.575 -25.578.192

8.194

8.196

8.198

8.2

8.202

8.204

8.206

8.208

8.21

8.212

13.9696 m

0.25399 m/s

Figura 4.20: Recorrido autonomo con obstaculos con giro por la izquierda.

la peticion generada, su parametro opcional, su prioridad ası como el identificador del

CI que la genera y la hora en que se presento (Fig. 4.21).

Se puede apreciar a manera de ejemplo en una de las pruebas registradas el comporta-

miento que se obtiene en un recorrido autonomo. Puede observarse el incremento de la

distancia recorrida por el vehıculo robotico, que es reportada por el CI-Odometro. El

incremento cambiante en la distancia esta relacionado directamente con la velocidad

del vehıculo. Se muestra en azul como la regulacion de velocidad tiene lugar en un

Page 92: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

4.2. Experimentos y Resultados 75

Derecha al 80%, Prioridad 60, idCI 5 12:01:22 p.m. IncrementaVel al 2%, Prioridad 80, idCI 0 12:01:22 p.m. Centrar al 0%, Prioridad 0, idCI 7 12:01:23 p.m. Derecha al 83%, Prioridad 60, idCI 5 12:01:23 p.m.

Figura 4.21: Ejemplo de registro de peticiones generadas.

recorrido y su consecuencia con la distancia recorrida a lo largo del tiempo (Fig. 4.22).

10 20 30 40 50 600

500

1000

1500

Dis

tanc

ia (

cm)

Tiempo (Seg)

10 20 30 40 50 60

D

I

Reg

. Vel

ocid

ad

Figura 4.22: Distancia recorrida junto con el control de velocidad.

La informacion reportada por el CI-Compas muestra el desempeno logrado en un re-

corrido con una orientacion solicitada de 180 ◦(Fig. 4.23).

10 20 30 40 50 60100

150

200

250

Azi

mut

(°)

Tiempo (Seg)

Orientación del recorrido

Figura 4.23: Orientacion lograda comparada con la orientacion solicitada.

La variacion de la orientacion en un vehıculo esta directamente relacionada con el

sistema de direccion de la plataforma movil. En estas pruebas se presenta una variacion

de 5 ◦, con la plataforma Ackermann.

Las peticiones generadas por el CI-Compas a partir de la medicion de la orientacion del

vehıculo, son enviadas al CI-Direccion para lograr mantener la orientacion solicitada.

Page 93: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

4.2. Experimentos y Resultados 76

Se presenta una grafica con las peticiones atendidas por el CI-Direccion para realizar

un recorrido en lınea recta (Fig. 4.24).

10 20 30 40 50 60

-60

-40

-20

0

20

40

60

Izqu

ierd

a

Der

echa

Tiempo (s)

Cambio de Dirección

Figura 4.24: Peticiones para giros a Izquierda y Derecha en un recorrido en lınearecta.

Se efectuaron recorridos con el vehıculo robotico en una trayectoria cuadrada (Fig.

4.25), en donde el punto 1 indica el inicio del recorrido, 2, 4 y 5 son esquinas del

cuadrado, 3 representa un obstaculo y el punto 6 es una elongacion de la pared. Estos

recorridos se analizaron de acuerdo con las peticiones del CI-Seguidor de Pared y el

CI-Evasor, la Figura 4.26 muestra una de las vueltas y la interaccion de las peticiones

de ambos CIs.

12

3

4 5

6

Figura 4.25: Escenario cuadrado con obstaculos.

Las peticiones del CI-Evasor tienen prioridad sobre el CI-Seguidor de Pared (Tabla

4.6), al presentarse un obstaculo (punto 3) el CI-Evasor inhibe las peticiones de otros

CIs y toma el control, mientras que en la elongacion de la pared (punto 6) la actividad

Page 94: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

4.2. Experimentos y Resultados 77

1 42 84 125

IzqCenDer

DetAvaRet

Pet

icio

nes

Tiempo (s)

Actividad entre CIs

CI-SeguidorCI-Evasor

1 3 4 5 6 12

Figura 4.26: Interaccion entre el CI-Evasor y el CI-Seguidor de Pared.

del CI-Evasor es mınima y el control lo efectuo el CI-Seguidor de Pared. Tal como se

aprecia en las esquinas la peticion de Girar Derecha es la que predomina.

Tabla 4.6: Prioridades de las peticiones generadas en la trayectoria de 125 segundos.

CI-Seguidor de Pared CI-Evasor

Peticion Girar Girar Avanzar Girar Centrar Detener RetrocederIzquierda Derecha Izquierda Direccion

Prioridad 60 60 60 70 0 0 96

Page 95: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

Capıtulo 5

Conclusiones

La arquitectura de control distribuida basada en componentes inteligentes es una alter-

nativa practica para la implementacion de sistemas roboticos. La interaccion entre los

componentes inteligentes de un sistema robotico provee un comportamiento autonomo

para llevar a cabo la tarea asignada.

La comunicacion asıncrona basada en peticiones (comandos abstractos) permite una

interaccion robusta entre los componentes inteligentes, aunque estos sean desarrollados

con diferentes unidades de procesamiento o programados en diferentes lenguajes de

programacion.

La naturaleza modular de la arquitectura de control permite, una vez que los compo-

nentes inteligentes han sido desarrollados y evaluados, ser utilizados en otros sistemas

roboticos. Esta flexibilidad se debe a que un componente inteligente encapsula las carac-

terısticas del sensor o actuador, ası como los requerimientos de operacion mediante un

algoritmo apropiado para llevar a cabo su funcion especıfica en cualquier configuracion

de un robot.

La independencia entre componentes inteligentes provee un control distribuido robusto

y configurable para el desarrollo de diversos sistemas roboticos, lo cual tambien permite

la identificacion facilmente de una falla o mal comportamiento del sistema robotico.

78

Page 96: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

5.1. Contribuciones 79

El resultado de los experimentos muestra la correcta operacion de dos plataformas

moviles que implementan la arquitectura de control distribuida en diferentes tareas.

Se lograron cumplir las tareas impuestas de forma satisfactoria y se demostro una

reaccion e interaccion adecuada entre los componentes inteligentes que configuraron

los vehıculos autonomos; como los casos al detectar obstaculos mientras su tarea era

seguir una pared o una trayectoria.

Con base en los resultados obtenidos, se concluye que la arquitectura de control distri-

buida basada en componentes inteligentes cumple satisfactoriamente con las expecta-

tivas planteadas, se confirma la hipotesis y se lograron los objetivos.

5.1. Contribuciones

Se obtuvo una arquitectura alternativa para el desarrollo de sistemas roboticos, en

particular de vehıculos autonomos, que demuestra ser confiable y robusta. Permite

implementar el control distribuido y construccion de un vehıculo autonomo basado en

componentes inteligentes e independientes.

Permite que se reutilicen los componentes inteligentes, al ser considerados como re-

cursos independientes y flexibles, para la configuracion de diversos robots. Lo cual

contribuye a optimizar recursos para el desarrollo de sistemas roboticos en diversas

aplicaciones, particularmente en la investigacion.

5.2. Trabajo Futuro

El numero de componentes inteligentes que pueden trabajar al mismo tiempo en un

sistema robotico esta limitado por la capacidad del componente inteligente coordinador.

Se pueden emplear dispositivos con mayor capacidad de computo y comunicacion como

coordinador y aumentar el trafico de peticiones en el sistema.

Page 97: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

5.2. Trabajo Futuro 80

Desarrollar vehıculos autonomos a partir de componentes inteligentes que permitan

desarrollar tareas con mayor grado de complejidad y en ambientes dinamicos. Tambien

la implementacion de componentes inteligentes adaptables al entorno y a la configura-

cion de diversos sistemas roboticos, mediante la incorporacion de algoritmos inteligen-

tes.

Investigar un mecanismo de colaboracion entre los componentes inteligentes aplicando

tecnicas desarrolladas en la implementacion de sistemas multi-agentes, para pasar de

una interaccion coordinada a una interaccion colaborativa.

Fusionar la arquitectura de control propuesta con el sistema operativo de robotica

(ROS), destacando las ventajas de ambas alternativas.

Page 98: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

Bibliografıa

[1] P. Agre and D. Chapman. Pengi: An implementation of a theory of activity. In

Sixth National Conference of the American Association for Artificial Intelligence

Conference, pages 268–272, 1987.

[2] James Sacra Albus and Alexander M Meystel. Engineering of mind : an introduc-

tion to the science of intelligent systems. Wiley, 2001.

[3] R.C. Arkin. Towards the unification of navigational planning and reactive control.

In American Association for Artificial Intelligence Spring Symposium on Robot

Navigation, pages 1–5, 1989.

[4] B.M. Innocenti Badano. A Multi-Agent Architecture With Distributed Coordina-

tion for an Autonomous Robot. PhD thesis, Universitat de Girona, Spain, 2009.

[5] J. Borenstein, H.R. Everett, L. Feng, and D. Wehe. Mobile robot positioning

and sensors and techniques. Journal of Robotic Systems, Special Issue on Mobile

Robots, 14(4):231–249, April 1997.

[6] R. A. Brooks and J.H. Connell. Asynchronous distributed control system for a

mobile robot. In SPIE Proceedings, volume 0727, pages 77–84, Cambridge, MA,

USA, 1986.

[7] J Connell. A hybrid architecture applied to robot navigation. In International

Conference on Robotics and Automation, pages 2719–2724, Nice, France, 1992.

81

Page 99: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

BIBLIOGRAFIA 82

[8] H. Durrant-Whyte. A critical review of the state-of-the-art in autonomous land

vehicle systems and technology. Technical Report SAND2001-3685, Sandia Natio-

nal Laboratories, New Mexico, USA, 2001.

[9] H.R. Everett. Sensors for Mobile Robots : Theory and Application. A.K. Peters,

Wellesley, MA, 1995.

[10] S. Farritor and S. Dubowsky. On modular design of field robotic systems. Auto-

nomous Robots, 10(1):57–65, January 2001.

[11] R. Chatila G. Giralt and M. Vaisset. An integrated navigation and motion con-

trol system for autonomous multisensory mobile robots. In First International

Symposium on Robotics Research, pages 191–214, 1983.

[12] D.W. Gage. Unmanned ground vehicle (ugv) development efforts. Special Issue

on Unmanned Ground Vehicles, Unmanned Systems Magazine, 1995.

[13] M.P Georgeoff and A.L. Lansky. Reasoning and planning in dynamic domains: An

experiment with a mobile robot. In Sixth National Conference of the American

Association for Artificial Intelligence Conference, pages 677–687, 1987.

[14] 802.11b IEEE. Wireless medium access control (mac) and physical layer (phy)

specifications: Higher-speed physical layer extension in the 2.4 ghz band, 1999.

IEEE Standard 802.11b The Institute of Electrical and Electronics Engineers Inc.

[15] 802.15.1 IEEE. Wireless medium access control (mac) and physical layer (phy)

specifications for wireless personal area networks (wpans), 2002. IEEE Standard

802.15.1. The Institute of Electrical and Electronics Engineers Inc.

[16] 802.15.4 IEEE. Wireless medium access control (mac) and physical layer (phy)

specifications for low-rate wireless personal area networks (lr-wpans)), 2003. IEEE

Standard 802.15.4. The Institute of Electrical and Electronics Engineers Inc.

Page 100: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

BIBLIOGRAFIA 83

[17] TL Prez IJ Cox, GT Wilfong. Autonomous robot vehicles. Lavoisier, 1990.

[18] R. J.Firby. An investigation into reactive planning in complex domains. In Procee-

dings of the National Conference on Artificial Intelligence (AAAI), page 202207,

1987.

[19] Charles D. Knutson and Jeffrey M. Brown. IrDA Principles and Protocols, volume

Volumen 1 de The IrDA Library. MCL Press, 2004.

[20] J. E. Laird and P. S. Rosenbloom. An investigation into reactive planning in

complex domains. In Ninth National Conference of the American Association for

Artificial Intelligence Conference, pages 1022–1029, Boston, Massachusetts, USA,

1990.

[21] P.C. Leger and J. Bares. Automated synthesis and optimization of robot configu-

rations. In Proceedings of the 1998 ASME Design Engineering Technical Confe-

rences, 1998.

[22] B. Gerkey M. Quigley. Ros: an open-source robot operating system. In ICRA

Workshop on Open Source Software, Kobe, Japan, 2009.

[23] A.L. Meyrowitz, D.R. Blidberg, and R.C. Michelson. Autonomous vehicles. In

IEEE, volume 84, pages 1147–1164, August 1996.

[24] H. Moravec and A. Elfes. High resolution maps from wide angle sonar. IEEE

International Conference on Robotics and Automation, 2:116–121, Mar 1985.

[25] D.W. Payton. Internalized plans: A representation for action resources. Designing

Autonomous Agents, pages 89–103, 1990.

[26] Woong Yang Kwang Roh Se-go. A modularized personal robot drpi: Desing and

implementation. IEEE Transactions Robotics, 25(2):414–425, April 2009.

Page 101: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

BIBLIOGRAFIA 84

[27] Bruno Siciliano and Oussama Khatib. Springer Handbook of Robotics. Springer,

2008.

[28] A. Stroupe, S. Singh, R. Simmons, T. Smith, P. Tompkins, V. Verma, R. Vitti-

Lyons, and M.D. Wagner. Technology for autonomous space systems. Technical

Report CMU-RI-TR-00-02, 2001.

[29] D. Tesar. A generalized architecture for robot structures. ASME Transaction on

Manufacturing Review, 2(2):91–118, June 1989.

[30] M. Yim, Y. Zhang, and D. Duff. Modular robots. IEEE Spectrum, 39(2):30–34,

Febraury 2002.

Page 102: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

Anexo A

Especificaciones para Desarrollar

un Componente Inteligente

A.1. Componente Inteligente

Un CI consta de tres unidades funcionales: Enlace, Procesamiento y Actuador/Sensor:

Unidadde

Procesamiento

Unidadde

Enlace

Actuador/Sensor

Figura A.1: Componente Inteligente conformado por las unidades funcionales deenlace, procesamiento y actuador/sensor.

Actuador/Sensor. Puede utilizarse el actuador o sensor que se adapte a la funcion que

85

Page 103: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

A.2. Registro de Componentes Inteligentes 86

se desea satisfacer. El CI debe incluir las conexiones necesarias tanto de alimentacion

como de comunicacion 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 traves de dispositivos XBee. Se deben

configurar estos radio modems para que todos funcionen en el mismo canal de operacion

y configurar el parametro Destination Address a la direccion 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

operacion. Sin importar la funcion que realice el CI, para interactuar con el resto del

sistema robotico requiere cumplir dos aspectos de comunicacion:

Registro del CI ante el CI-Coordinador.

Envıo/Recepcion 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.

Direccion Direccion Peticiones Peticiones Prioridad de Nombrede 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

Page 104: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

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

Peticion Parametro Prioridad Identificador Terminador

Ejemplo:

407101AC Los 8 dıgitos menos significativos de la direccion de 64 bits.

01C7 La direccion 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 peticion en ese caso.

Despues de enviar el paquete al CI-Coordinador, se recibira un byte con el identificador

que le fue asignado al CI al registrarse, debe guardarse para adjuntar en el envıo de

peticiones.

La interaccion entre CIs es con base en peticiones, que deben seguir la siguiente es-

tructura:

Ejemplo:

01 Peticion a solicitar (Girar Izquierda).

80 Girar al 80% de capacidad.

60 Prioridad de la peticion.

04 Identificador del componente.

Page 105: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

A.3. Diseno Base para Componente Inteligente 88

255 Terminador de paquete.

Las peticiones que pueden utilizarse son:

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

Peticion Descripcion Parametro

0 Centrar Direccion NA1 Girar Izquierda Porcentaje de giro (1-100%)2 Girar Derecha Porcentaje de giro (1-100%)3 Detener Motores NA4 Avanzar Vehıculo Porcentaje de potencia (1-100%)5 Reroceder Vehıculo Porcentaje de potencia (1-100%)6 Incrementar Velocidad NA7 Decrementar Velocidad NA8 Girar Camara a la Izquierda NA9 Girar Camara a la Derecha NA10 Girar Camara hacia Arriba NA11 Girar Camara hacia Abajo NA12 Orientar Orientacion deseada (0-359◦)13 Recorrer Distancia a recorrer (1-65535 cm)14 Reporta Orientacion Orientacion actual (0-359◦)15 Reporta Reccorrido Distancia recorrida (1-65535 cm)16 Nueva peticion Nuevo parametro

Si se siguen estas especificaciones se lograra una comunicacion con cualquier sistemas

robotico que implemente esta arquitectura de control.

A.3. Diseno Base para Componente Inteligente

Es posible utilizar el microcontrolador mas 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 diseno base con el microcon-

trolador PIC24FJ64GB004 para desarrollar CIs:

La funcion que realiza el CI puede resolverse con los sensores o actuadores que se

Page 106: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

A.3. Diseno Base para Componente Inteligente 89

XBee

ComponenteBase

Fuente externade 5 V

Entradas/Salidasdigitales

RS-232

Entradasanalógicas

I2C

SPI

PIC24FJ64GB004

RTCC

Adaptaciónde señales

(PULL-Ups/

Divisoresde voltaje)

3.3 V / 5 V

Regulador2.5 V

Regulador3.3 V

Figura A.2: Ejemplo de tarjeta para desarrollar Componentes Inteligentes.

desee, ası como con el procesamiento y hardware deseado, solo es requerido seguir las

especificaciones definidas en este trabajo para lograr una interaccion.

Page 107: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

Anexo B

Costo de los Prototipos

En las tablas B.1, B.2, B.3 y B.4 se presentan los costos estimados para diferentes

equipos desarrollados.

Tabla B.1: Inversion en las partes utilizadas en la Plataforma Ackermann

Parte Precio (USD)

Plataforma 500CI-Traccion 60CI-Direccion 60CI-Odometro 60

Total 680

Tabla B.2: Inversion en las partes utilizadas en la Plataforma Diferencial

Parte Precio (USD)

Plataforma 250CI-Rueda Izquierda 60CI-Rueda Derecha 60CI-Odometro 70

Total 440

90

Page 108: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

91

Tabla B.3: Inversion en los Componentes Inteligentes Comunes

Parte Precio (USD)

CI-Coordinador 60CI-Comunicacion 300CI-Seguidor de Pared 90CI-Evasor 90CI-Compas 80CI-Camara 200

Total 820

Tabla B.4: Inversion en Baterıas

Parte Precio (USD)

Polımeros de litio de 11.1 V, 4400 mAh 100Polımeros de litio de 11.1 V, 5000 mAh 120

Total 220

Se estima un total de 2160 USD en partes utilizadas para la implementacion de este

trabajo. Los sensores, microcontroladores y demas equipo pueden ser elegidos a con-

veniencia del desarrollador con base tanto en la precision de los resultados deseados

como en la tarea que se desea realizar.

Page 109: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

Vita

Juan Francisco Villa Medina es ingeniero en sistemas computacionales por

parte del Instituto Tecnologico de La Paz, grado obtenido con mencion ho-

norıfica en 2008. El Ing. Villa Medina trabaja en el Grupo Ingenierıa del

Centro de Investigaciones Biologicas del Noroeste, S.C. (CIBNOR) desde

el ano 2008. Su trabajo incluye el desarrollo e implementacin de sistemas

roboticos para la automatizacion de diversos procesos involucrados en mul-

tiples aplicaciones. Es profesor de asignatura en la Universidad Autonoma

de Baja California Sur (UABCS), donde imparte materias sobre Sistemas

Digitales, Interfaces y Equipos. Es cofundador de 7robot, donde es instruc-

tor de talleres de robotica educativa.

Mailing address:

Instituto Politecnico Nacional No. 195

Col. Playa Palo de Santa Rita sur

La Paz, BCS 23096

Mexico

Email address:

[email protected]

Page 110: CONTROL DISTRIBUIDO PARA VEHÍCULOS AUTÓNOMOS …posgrado.lapaz.tecnm.mx/uploads/archivos/51422145a0c0c.pdf · JEFE DE LA DIV. DE EST. DE POSGRADO E INV. iNllTmITOTECNlX.OOIO:l ce

Document Log:

Typeset by LATEX- January 2013.

Engineering Group

CIBNOR

E-mail:[email protected]