Professional Documents
Culture Documents
Diciembre 2009
Dedicatoria A mis hijos Franco y Berenice. A mi Esposa Mercedes. A mi mentor Marcelo. A mi amigo Dario. A profesores y alumnos que me ensean da a da.
Resumen En esta tesis se detallan los principales aspectos necesarios para realizar la construccin de un equipo de robots colaborativos. Se realiza una puestas al da de los diferentes tipos de robot, sensores, actuadores y consideraciones a tener en cuenta en el diseo y programacin del software control. Se disea y desarrolla las placas de control, electromecnica y sistema de comunicacin por radio enlace. Se plantea como eje del mismo la factibilidad de construir un conjunto de robots con materiales encontrados en el mercado nacional. Se realiza una comparacin de los principales robots en el mercado nacional y posibles alternativas importadas (costos y capacidades) .
Abstract This thesis details the key aspects necessary for building a collaborative team of robots. It performs an update of the different types of robots, sensors, actuators and considerations to take into account in the design and control software programming. It designs and develops control plates, electrical and radio communication system link. This raises the same axis as the feasibility of constructing a set of robots with materials found in the domestic market. A comparison is made of the main robots in the domestic and imported alternatives (costs and capacities).
Agradecimientos
A la Facultad de Tecnologa Informtica de la Universidad Abierta Interamericana por permitirme realizar mis estudios de Magister. Al Centro de Altos Estudios en Tecnologa Informtica por brindarme el apoyo , el material tcnico necesario y sus instalaciones tanto en la realizacin de la investigacin como en la publicacin y difusin de la misma. A el Dr. Marcelo De Vincenzi por guiarme en la realizacin del presente trabajo, en un terreno con muy poca difusin en nuestro pas. Y por confiar que era posible la realizacin del mismo. A la profesora Dra. Zulma Cataldi por su gua en los aspectos metodolgicos, cientficos y las revisin del presente trabajo. Al Lic. Dario Miranda por leer, corregir y asesorar en aspectos semnticos y de claridad del trabajo, por tantas horas dedicadas a la consulta y por su incentivo permanente. A mi esposa Mercedes por apoyar tantas horas invertidas en investigacin y desarrollo y a mis hijos Franco y Berenice por realizar las pruebas de crash test de los robots.
ndice de contenido
1 Introduccin ................................................................................................................................1 1.1 Objetivo de la Tesis:....................................................................................................................................3 1.2 Contribuciones Principales.........................................................................................................................4 1.3 Estructura General de la Tesis...................................................................................................................4 2 Robot Autnomos........................................................................................................................6 2.1 Generalidades...............................................................................................................................................6 2.2 Robots de investigacin ............................................................................................................................6 2.3 Robots teledirigidos y autnomos.............................................................................................................7 2.4 El Entorno....................................................................................................................................................8 2.4.1 Definicin.........................................................................................................................................8 2.4.2 El medio...........................................................................................................................................8 2.4.3 Terrestres..........................................................................................................................................9 2.4.4 Acuticos o submarinos...............................................................................................................10 2.4.5 Areos.............................................................................................................................................11 2.4.6 Espaciales.......................................................................................................................................12 2.5 Control del entorno de trabajo.................................................................................................................13 2.5.1 Normales........................................................................................................................................13 2.5.2 Controlados....................................................................................................................................13 2.5.3 Extremos........................................................................................................................................13 2.5.4 El medio ideal................................................................................................................................14 2.6 Sensores.......................................................................................................................................................15 2.6.1 Definicin.......................................................................................................................................15 2.6.2 Visin..............................................................................................................................................15 2.6.3 Visin simple.................................................................................................................................17 2.6.4 Audicin.........................................................................................................................................18 2.6.4.1 Sonares....................................................................................................................................18 2.6.4.2 Reconocimiento acstico.....................................................................................................19 2.6.5 Tctiles............................................................................................................................................19 2.6.6 Temperatura...................................................................................................................................20 2.6.7 Velocidad y desplazamiento.........................................................................................................20 2.6.8 Tensin elctrica............................................................................................................................21 2.6.9 Posicionamiento............................................................................................................................22 2.6.10 Enlace de comunicacin inalmbrico ...........22 2.7 Inteligencia..................................................................................................................................................24 2.7.1 Definicin.......................................................................................................................................24 2.7.2 Tipos de robot autnomos..........................................................................................................24 3 Una aplicacin en ftbol robot...................................................................................................26 3.1 Caractersticas Del Entorno Elegido......................................................................................................26 3.2 Campo de juego.........................................................................................................................................27 3.3 Robots.........................................................................................................................................................28 3.4 Descripcin el juego.................................................................................................................................29 4 Robot y Kits en el Mercado Nacional........................................................................................30 4.1 CheBot V2..................................................................................................................................................30 4.2 Robot N10..................................................................................................................................................32 4.3 Blockitronic.................................................................................................................................................34 4.4 Lego Mindstorms NTX............................................................................................................................36 5 Modelo de control de robots......................................................................................................38 5.1 Modelos de Control ..................................................................................................................................38 5.2 Reconocimiento de imgenes...................................................................................................................39
5.3 Bases para el desarrollo del algoritmo.....................................................................................................40 5.4 Definicin De Las Tareas a realizar por el Sistema...............................................................................41 5.4.1 Sistema de locomocin ................................................................................................................42 5.4.2 Sistema de alimentacin...............................................................................................................42 5.4.3 Sistemas de sensores ....................................................................................................................43 5.5 Tareas a realizar en controlador central..................................................................................................43 5.5.1 Sistema de comunicacin ............................................................................................................43 5.5.2 Sistema de Visin.........................................................................................................................43 5.5.3 Sistema de Control .......................................................................................................................43 5.6 Objetivos del software...............................................................................................................................44 5.6.1 Control de Robot..........................................................................................................................44 5.6.2 Estrategia........................................................................................................................................44 5.6.3 Otros...............................................................................................................................................44 6 Diseo de la investigacin ........................................................................................................45 6.1 Hiptesis......................................................................................................................................................45 6.2 Tareas a realizar..........................................................................................................................................45 6.3 Diseo de la solucin................................................................................................................................46 7 Construccin de los robots ........................................................................................................47 7.1 Diseo ........................................................................................................................................................47 7.1.1 Plan de trabajo...............................................................................................................................47 7.1.2 Bateras............................................................................................................................................48 7.1.3 Motor..............................................................................................................................................51 7.1.4 Locomocin...................................................................................................................................53 7.1.5 Controlador....................................................................................................................................53 7.1.6 Fuente de alimentacin regulada de 3,3V.................................................................................54 7.1.7 unidad de procesamiento central................................................................................................55 7.1.8 Driver de potencia.........................................................................................................................56 7.1.9 Comunicacin................................................................................................................................57 7.1.10 Protocolo de comunicacin ..........59 7.1.11 Trama ...........................................................................................................................................59 7.2 Los robots...................................................................................................................................................61 7.2.1 Robot de ftbol V1.......................................................................................................................61 7.2.2 Robot de ftbol V2.......................................................................................................................61 8 Desarrollo del hardware y software............................................................................................64 8.1 Especificaciones tcnicas del hardware...................................................................................................64 8.2 Programador de microcontroladores pic................................................................................................64 8.3 Especificaciones tcnicas del software utilizado....................................................................................65 8.3.1 El Compilador .............................................................................................................................65 8.3.2 MikroBasic V5.0.2 [MikroBasic,2009].......................................................................................65 8.3.3 CCS PCWH Compiler [CCS PCWH].......................................................................................66 8.3.4 MPLAB [MPLAB,2009]...............................................................................................................66 8.3.5 WinPic800 (licencia gratuita) [WINPIC800, 2009]...................................................................67 8.3.6 Placas electrnicas.........................................................................................................................68 8.3.6.1 ExpressSCH ..........................................................................................................................68 8.3.6.2 ExpressPCB...........................................................................................................................69 8.4 Programa embebido..................................................................................................................................70 8.4.1 Controlador del robot..................................................................................................................70 8.4.1.1 Modelo algortmico del sistema..........................................................................................70 8.4.1.2 Rutinas de inicializacin.......................................................................................................71 8.4.1.3 Rutinas de gestin de comunicaciones..............................................................................72 8.4.1.4 Rutinas de control.................................................................................................................72 8.4.2 Programa de testeo autnomo....................................................................................................73
8.4.2.1 Diagrama simplificado de estados......................................................................................74 8.4.3 Programa de interface con la computadora ..............................................................................74 8.4.4 Programas en la computadora.....................................................................................................76 8.4.4.1 Programa testeo remoto .....................................................................................................76 8.4.5 Sistema de reconocimiento de imgenes....................................................................................77 9 Anlisis y pruebas finales...........................................................................................................78 9.1 Relevamiento mercado nacional..............................................................................................................78 9.2 Se presenta el anlisis comparativo de los robots..................................................................................79 9.3 Robot de Ftbol V2...................................................................................................................................80 9.4 Pruebas con modo autnomo..................................................................................................................81 9.5 Pruebas con modo teledirigido................................................................................................................81 9.6 Pruebas y participacin en eventos..........................................................................................................82 10 Validacin de las hiptesis propuestas.....................................................................................83 10.1 Validacin ....................................................................................................................................83 11 Conclusiones.............................................................................................................................84 12 Anexos......................................................................................................................................88 12.1 Plan de trabajo..........................................................................................................................................88 12.2 Anexo Exposiciones y Congresos ........................................................................................................90 12.2.1 AADECA2006............................................................................................................................90 12.2.2 CIITI 2006 Buenos Aires.......................................................................................................91 12.2.3 CAFR 2006..................................................................................................................................93
ndice de Ilustraciones
Ilustracin 1: Robot Rover (NASA) Ilustracin 2: Robot Pathfinder (NASA) Ilustracin 3: Robot RV-MV1 (Mitsubishi) Ilustracin 4: Tipos de entornos Ilustracin 5: Robot Honda Ilustracin 6: Robot Snakebot (NASA) Ilustracin 7: Robot ACFR Ilustracin 8: Robot Solar (Aerovironment) Ilustracin 9: Sonda Espacial Mars Express (ESA) Ilustracin 10: Robot Dante II (NASA) Ilustracin 11: Robot CHEBOT (UBA) Ilustracin 12: Robot Marvin (Technische Universitat Mnchen) Ilustracin 13: Robot Khepera UBA Ilustracin 14: Robot rastreador Emerita Ilustracin 15: Robot con sonares frontales y cmara. Ilustracin 16: Robot con 6 sonares (O.T.R.I) Ilustracin 17: Robot Charly 1 (NeoRobotic) Ilustracin 18: Entorno en el cual se realizan las competencias Ilustracin 19: Campeonato de la FIRA 2003 realizado en Austria Ilustracin 20: Robot CheBot V1 Ilustracin 21: Robot N10 (XIOR) Ilustracin 22: Blockitronic (Kit completo con conexin a PC) Ilustracin 23: NTX Lego Ilustracin 24: Equipo de robots categora F180 Ilustracin 25: Pilas AA NiMh Ilustracin 26: Pack Batera Lithium Ilustracin 27: Batera Gel 12V Ilustracin 28: Motor MR6 Ilustracin 29: Prototipo Robot Ftbol V1 Ilustracin 30: Esquema bsico del controlador del robot Ilustracin 31: Prototipo robot Seguidor de Objetos (con cable) Ilustracin 32: Circuito bsico fuente regulada Ilustracin 33: Circuito de modulo de control 4 4 5 7 8 8 9 9 10 12 13 15 16 16 16 16 19 23 23 26 28 30 32 43 44 44 45 47 48 49 49 50 51
Ilustracin 34: Circuito de potencia Ilustracin 35: Circuito interface RS232 para PC Ilustracin 36: Mdulos de RF Ilustracin 37: Modelo bsico de comunicacin Ilustracin 38: Comandos por ruedas Ilustracin 39: Protocolo trama completa. Ilustracin 40: Robot de ftbol V1 Ilustracin 41: Robot de ftbol V2 Ilustracin 42: : Vista del interior con sus principales mdulos Ilustracin 43: Vista con sealizacin de los motores Ilustracin 44: Mikro Basic V5.0.2 Ilustracin 45: CCS PCWH Compiler Ilustracin 46: MPLAB Software para del programador de PICs Ilustracin 47: Winpic8000 Grabador Ilustracin 48: ExpressSCH (esquemtico circuito electrnico) Ilustracin 49: ExpressPCB (mscara del circuito impreso) Ilustracin 50: Modelo algortmico del sistema Ilustracin 51: Giro Derecha Ilustracin 52: Diagrama bsico de estados Ilustracin 53: Diagrama simplificado de estados Ilustracin 54: Esquema de enlace RF Ilustracin 55: Diagrama simplificado de estados del enlace RF Ilustracin 56: Programa de control Ilustracin 57: Esquema simplificado programa teleoperacin Ilustracin 58: AADECA 2006 Ilustracin 59: AADECA 2006 - Stand Ilustracin 60: CIITI 2006 Stand Ilustracin 61: Equipo Ftbol V2 Ilustracin 62: Robots V2 Ilustracin 63: Conferencia CIITI 2006 Ilustracin 64: CAETI vs Roberto Art - CAFR 2006 Ilustracin 65: Gol de la victoria Ilustracin 66: Entrega de premios Ilustracin 67: Robot ftbol V1 Ilustracin 68: Varios robot desarrollos propios
52 52 53 54 55 55 56 57 57 58 60 61 62 62 63 64 65 68 68 69 70 70 71 71 100 101 102 102 103 103 104 104 105 105 106
Ilustracin 69: Primer prototipo robot Ftbol V1 con driver por relays. Ilustracin 70: Primer prototipo robot Ftbol V1 con driver por relays.
106 106
Introduccin
A fines de la dcada del 80 y principios de los 90 INTEL se perfilaba como la industria de microprocesadores por excelencia. Su producto Pentium creca en el mercado y pareca que nada poda pararlo, en lo que a ordenadores domsticos se refera. Con los alemanes fuera de mercado y Motorola dedicndose a telefona, todo quedaba para INTEL. Pero apareci la competencia cuando menos lo esperaban. Las flamantes AMD y su serie de procesadores K, se surgieron como productos buenos y econmico. Cuando le preguntaron a un ingeniero de AMD como lo haban logrado contest, eliminando todo lo que estaba de adorno. El presente trabajo se basa en la economa de recursos y la posibilidad de abaratar el producto final en los robots autnomos. La sencillez y bajo costo permite el acceso a un mayor nmero de usuarios. No solo el hecho de que los robots puedan ser manufacturados con materiales reciclados, sino que pueden ser programados con software de costos medios o gratuitos en algunos casos. Tambin se apunta a la especificidad del robot. Como prototipo se presenta un robot jugador de ftbol. Se pens en la solidez sin descuidar la lnea. En el texto se citan problemas de otros aparatos, que fallaron al girar por ejemplo, y que son corregibles con soluciones sencillas. Lo expuesto es posible, y adems ha sido probado. Se ofrecen distintas versiones de robots, que demuestran que la teora ya ha sido puesta en prctica. El diseo y fabricacin de robots consta de dos grupos principales de problemas a resolver, de hardware y de software. A nivel hardware ser necesario contar con robots de caractersticas particulares, capaces de funcionar como herramientas para el desarrollo del software. El alto costo de los mismos y su difcil acceso fueron los principales motivadores del presente trabajo. En el momento de iniciar esta tesis no existan alternativas validas en el pas, y la importacin como segunda alternativa era poco vlida debido al alto costo por los impuestos y la carencia de soporte a nivel nacional. Actualmente es posible encontrar algunos kits a nivel nacional, pero siguen teniendo un precio elevado o no renen las caractersticas necesarias para el tipo de investigacin educativa. Por lo tanto el primer objetivo ser desarrollar un grupo de robots como herramientas
TESIS MAESTRA EN INFORMTICA 1 ING. NSTOR BALICH
de base sobre la cual se implementarn las primeras aproximaciones al software de control cooperativo. Los principales problemas en el diseo de robots autnomos son: la velocidad de procesamiento, la complejidad de los algoritmos capaces de tomar decisiones en tiempo real , y la comunicacin entre robots. Este trabajo comienza con una introduccin a los conocimientos de robtica necesarios para comprender la problemtica y familiarizarse con el lenguaje, al mismo tiempo que se brinda un panorama actual de la robtica en el mundo. El trabajo se centra en la construccin de cuatro robots, crear su software de control y sentar las bases necesarias para implementar el algoritmo de control por realimentacin visual como ncleo de proceso totalmente autnomo del grupo de robots, e integrarlos con un sistema de navegacin cooperativa en ftbol de robot. Se resumieron algunos aspectos importantes a considerar en la arquitectura de robots mviles, con el fin de suministrar una idea clara de esta complejidad. Entre ellos se enuncian: sensores, mecanismos de desplazamiento, formulacin de trayectorias por mtodos de clculos trigonomtricos mediante arcos y rectas [Byoung-Ju et al.,1999]evasin de obstculos [PathFinder y Rovers,1997], el entorno, la conformacin de estrategias de juego, aprendizaje, identificacin de objetos, y validacin de reglas entre otras cuestiones, que en algunos casos escapa al contenido del presente trabajo por ello se los enunciar brevemente, dando referencia al material ampliatorio para quien desee profundizar esos aspectos. Se incluye una puesta al da sobre los principales tipos de robots mviles, sus caractersticas y las tcnicas actualmente utilizadas para su control.
1.1 Objetivo de la Tesis: El objetivo general de la tesis es: Crear un grupo de robots capaces de satisfacer a los requermientos para la investigacin con el menor costo posible utilizando materiales del mercado local. Los objetivos especficos son: Realizar una puesta al da sobre robots y su tecnologa. Identificar los principales aspectos en la fabricacin de robots. Desarrollar un mtodo para la fabricacin de robots. Desarrollar un sistema electrnico para el control de los robots Desarrollar un sistema electrnico / protocolo de comunicacin por radiofrecuencia Crear software de control para el grupo de robots. Probar que el modelo de fabricacin propuesto es capas de satisfacer los requerimientos de la investigacin con el menor costo posible utilizando materiales del mercado local. Crear un grupo de robots capaces de satisfacer a los requerimientos para la investigacin con el menor costo posible utilizando materiales del mercado local. Realizar un breve anlisis de los robots en el mercado nacional. Contrastar estos robots en una competencia con otros robots desarrollados por otras universidades o empresas de robtica.
1.2 Contribuciones Principales Las contribuciones principales de la tesis son: La elaboracin de una sistematizacin e identificacin de los principales aspectos a tener en cuenta en la construccin de robots. La generacin de conocimiento y experiencia a nivel local en un rea en desarrollo. Establecer las pautas para el diseo y fabricacin de un grupo de robots autnomos con control centralizado. La fijacin de las bases para el desarrollo de un software de control para trabajo
1.3 Estructura General de la Tesis La tesis esta dividida en 11 captulos y 1 anexo Captulo 2, Robots Autnomos, se realiza una puesta al da desarrollando los principales conceptos vinculados con, tipos de robots; identificacin, control y eleccin del entorno de trabajo , tipos de sensores , introduccin a la inteligencia computacional, definicin de robots autnomos. Capitulo 3, Una aplicacin en ftbol robot, se presentan las caractersticas del entorno de investigacin basado en ftbol de robot, con la descripcin del campo de juego, los robots para ftbol, se describe el juego y las ventajas del uso de este entorno para experimentacin en robtica colaborativa. Capitulo 4, Robot y Kits en el Mercado Nacional, se investigan y presentan las alternativas a nivel nacional, costos y principales caractersticas. Captulo 5, Modelo de control de robots, se exponen alternativas de modelo de control, introduccin a reconocimientos de imgenes, se enuncian las bases para el desarrollo de
algoritmos de control colaborativo. Identificacin y definicin de las tareas a realizar por el sistema de control, objetivos del software. Captulo 6, Diseo de la investigacin, se presentan las diferentes hiptesis, cronograma de tareas y el diseo de la solucin. Captulo 7, Construccin de los robots, se presenta el diseo del plan de trabajo, la especificaciones de actuadores / sensores (bateras, motor, locomocin). Se disea y fabrican los circuitos del controlador principal, protocolo de comunicacin, trama de datos. Y se exponen los dos modelos de robots fabricados V1 y V2. Captulo 8, Desarrollo de hardware y software, se definen las especificaciones tcnicas del software desarrollado tanto a nivel microcontrolador (mikrobasic) como en alto nivel (VB.net o python). Se describen los algoritmos desarrollados divididos en rutinas de inicializacin, de comunicaciones y de control. Se realizan los testeos iniciales y se ejemplifica en diagramas de estados. Captulo 9, Anlisis y Prueba finales, se realiza una comparacin entre los robots comprados y los construidos en el presente trabajo. Se enuncian las pruebas realizadas en laboratorio y los resultados obtenidos en la participacin en eventos universitarios. Captulo 10, Validacin de la hiptesis propuestas, se validan las hiptesis con el trabajo realizado a lo largo de la presente tesis. Captulo 11, Conclusiones, se elaboran las conclusiones y se delinean futuras lineas de investigacin como continuacin del presente trabajo. 12 Anexos, se exponen fotografis de los robots, y presentaciones en diferentes congresos del equipo de ftbol robot.
2 Robot Autnomos
2.1 Generalidades
Actualmente el uso de los robots se ha extendido ms all de los entornos industriales, forman parte de nuestra vida diaria. Se interacta frecuentemente con ellos ya sea en forma consiente o no. Es de notar un gran incremento en su aceptacin como herramienta educativa y de investigacin. Su valor didctico experimental los ha llevado a mbitos acadmicos, universitarios, escuelas de enseanza media, escuelas tcnica y hogares. Existe una gran variedad de robots y mquinas automticas que simplifican el trabajo diario. Se los encuentran en formas variadas, desde cajeros automticos, expendedoras de alimentos, lava-autos hasta brazos robots de ensamblaje, pintura o soldadura, presentes en la industria electrnica y automotriz desde hace tiempo. A modo de introduccin se ofrece una clasificacin general de los robots, agrupndolos y analizando sus principales caractersticas. Se identifica los requerimientos a nivel de diseo de hardware y software necesarios para la fabricar los robots mismos.
llamada robtica. En muchos casos esta exploracin repercutir directamente en nuestra vida diaria en forma de aparatos elctricos, nuevos materiales o aplicaciones comerciales.
Se define como
intervencin de un operador humano, ya sea en forma parcial o total. Por ejemplo, los utilizados en la desactivacin de explosivos. Se llaman autnomos a aquellos que son capaces de tomar sus propias decisiones basados en la interpretacin del entorno en que se encuentren, sin ningn tipo de intervencin humana. Dentro de esta categora se analizan principalmente los robots mviles del tipo vehculo, debido que existen numerosos tipos de robots de variadas configuraciones que se encuadran en esta categora por ejemplo: un brazo robot autnomo (sin asistencia humana) con visin artificial realizando tareas de clasificacin de objetos (ver ilustracin 3)
2.4 El Entorno
2.4.1 Definicin Es el conjunto de elementos externos al robot en el cual debe realizar la tarea encomendada. En una analoga con el mundo natural, es el medio ambiente donde un ser vivo debe desenvolverse. Entre los componentes del entorno se encuentran: la superficie donde se desplazar el robot que se denomina el medio (agua, tierra, campo de juego), los obstculos (demarcaciones, piedras, accidente geogrficos), variables del entorno (luz, temperatura, viento) y otros robots (propios o contrarios). 2.4.2 El medio Es posible clasificarlo en cuatro tipos bsicos: acutico, terrestre, areo y espacial. Sus caractersticas definen los mecanismos que permitirn al robot desplazarse. A su vez en combinacin con la tarea a realizar en l, se define el tipo y la cantidad de sensores y actuadores, la potencia necesaria, la complejidad de los algoritmos de toma de decisiones, etc (ver ilustracin 4).
Esp a c ia l
A re o
E nto rno
T e rre stre
Ac u tic o
Ilustracin 4: Tipos de entornos
2.4.3 Terrestres Es el entorno familiar para los humanos y permite una implementacin de dispositivos adaptados al mismo muy rpidamente. Los robots creados para este entorno son fciles de construir y se basan en conceptos de mecnica muchas veces ya probados. En muchos casos solo es cuestin de dotar de inteligencia a un vehculo convencional (ruedas). Ha dado origen a muchas alternativas de desplazamiento que van desde lo convencional a modelos de imitacin del mundo animal (serpientes). Como ejemplo de robot humanoide se encuentra a [ASIMO,2009](ver ilustracin 5), que reproduce el desplazamiento bpedo humano, u otros que reproducen el desplazamiento de araas como los hexpodos de mltiples piernas, rastreros que simulan el desplazamiento de serpientes o gusanos como [SnakeBot,2001](ver ilustracin 6) desarrollado por el Instituto de Astrobiologa de la NASA, y por ltimo los robots podos que cambian su forma de acuerdo al medio o tarea a realizar. Existen otros mtodos que no se encuentran en la naturaleza, del tipo oruga como en mquinas excavadoras, o de pistn donde se cuenta con un nico pistn ubicado en la parte central del robot, permitiendo el desplazamiento del mismo mediante saltos. Pero el mtodo ms comn es la utilizacin de ruedas. Existen diferentes combinaciones que hacen posible la utilizacin de las mismas de las que se seleccionaron:
A) Dos ruedas con traccin independiente: cada rueda es controlada por un motor individual que se controla por separado, esto le permite realizar giros sobre si mismo con solo invertir el sentido de giro de una de las ruedas con respecto a la otra.
B) De cuatro o tres ruedas: donde un par de ruedas se encuentran unidas a un nico eje de empuje horizontal controlado por un motor y otro motor controla la direccin. Es el caso de los automviles convencionales. C) Omnidireccional: [Keigo , 1998] mediante tres o ms ruedas con traccin individual logra desplazarse de manera inmediata en cualquier direccin, siendo ms complejo en su construccin y manejo. La direccin est dada por el vector de direccin resultante formado por la suma de los vectores de direccin de cada rueda.
2.4.4 Acuticos o submarinos Las hlices o turbinas son por lejos el mtodo preferido para impulsar robots acuticos, pero tambin existen otros que buscan simular el comportamiento de animales acuticos utilizando aletas, movimientos ondulatorios tipo serpiente, o robot caminantes tipo langostas. Robot teledirigido sumergible desarrollado por el Australian Centre for Field Robotics The University of Sydney [ACFR] permite mediante una cmara remota realizar tareas de exploracin submarina de observacin y de recoleccin de muestras utilizando un conjunto de propulsores basados en hlices (ver ilustracin 7).
10
2.4.5 Areos Inicialmente pensados para investigaciones militares, pueden tener la forma de aviones de exploracin autnomos, cuyo objetivo principal es incursionar en las lneas enemigas sin ser detectados, con el fin de realizar un reconocimiento visual del terreno y del enemigo, aviones de exploracin climatolgica, globos aerostticos, dirigibles, helicpteros y tambin una nueva lnea de investigacin muy interesante que busca reproducir el aletear de diferentes insectos. Un ejemplo es el robot areo de comunicaciones impulsado por energa solar, desarrollado por la empresa [Aeroenvironment , 2009] en California Funciona de la misma forma que un satlite de comunicaciones recibiendo y retransmitiendo seales de radio, volando a gran altura de forma totalmente autnoma, sin necesidad de recargar de combustible debido a que sus clulas solares lo impulsan durante el da y un conjunto de bateras por la noche (ver ilustracin 8).
11
2.4.6 Espaciales En este tipo se agrupan los robots que navegan en el espacio exterior. stos utilizan medios variados de propulsin como ser motores de propulsin nuclear, inicos, de combustible slido o mediante clculos que permiten aprovecha la atraccin gravitacional de planetas y lunas. En muchos casos son sondas de exploracin con gran variedad de instrumentos de medicin y captura de imgenes. En esta clase de robots es especialmente necesario contar con un elevado grado de autonoma debido a que cuanto mayor sea la distancia de la tierra se producirn demoras cada vez ms grandes en la transmisin y recepcin de datos, haciendo muy dificultoso o imposible operarlos de forma teledirigida. Por lo tanto deben poder realizar tareas sin asistencia humana como por ejemplo: controlar su sistema de propulsin, monitorear y/o corregir su trayectoria, realizar mediciones y las otras tareas para las que fueron diseados. Como ejemplo se tiene la sonda europea [Mars Express,2009] la cual se encuentra orbitando el planeta rojo que recientemente confirm la existencia de agua en dicho planeta (ver ilustracin 9).
12
13
Tambin en esta categora se agrupan los robots de exploracin submarina profunda, que deben hacer frente a altas presiones y temperaturas extremas, robots de manipulacin y mantenimiento de centrales atmicas, robot mdicos en zonas contaminadas, entre otros. En el caso de robots semiautnomos que necesitan de supervisin humana, se pueden citar: los de exploracin de alta atmsfera, sondas espaciales, robots de exploracin marciana en donde las temperaturas oscilan entre -100 y +100 grados centigrados entre el da y la noche.
2.5.4 El medio ideal Tras haber analizado los posibles entornos y tipos de robots. Se han establecido como entorno ideal para esta investigacin, el entorno terrestre y controlado; adems se eligi un robot con ruedas y propulsin diferencial debido a su simplicidad y prestaciones.
14
2.6 Sensores
2.6.1 Definicin Es necesario que el robot sea capaz de percibir el entorno donde se encuentra, analizarlo y luego con estos datos realizar un plan de accin. Al aplicar este plan de realimentarse de las variaciones accin tambin debe que afecten el entorno y de manera recursiva hacer las
correcciones necesarias hasta alcanzar su objetivo. Haciendo una analoga con los seres humanos se los podra llamar el sentido del robot. Es necesario seleccionar el tipo de sensores a utilizar en la construccin de robots mviles. Mediante un pequeo ejercicio mental se puede pensar en qu sentidos intervienen en el acto de caminar. Se dira sin duda que el de la vista es el principal de ellos, pues permite definir un punto de origen, uno de destino y trazar una trayectoria imaginaria entre ambos, identificar posibles obstculos, determinar la velocidad y el grado de avance. Otro importante sentido es el del equilibrio, fundamental en robot con patas, sobre todo en los del tipo humanoide. Con el objetivo de simplificar el modelo se usar un robot tipo vehculo de dos ruedas por ejemplo Chebot y Khepera [Mondada et al.,1999]robots desarrollados por la Universidad de Buenos Aires (ver ilustracin 11).
2.6.2 Visin El proceso de digitalizacin de la imagen se realizar mediante una cmara de video y una placa digitalizadora encargada de transformar la seal de video a formato digital. Una vez transformado a digital puede ser procesado y almacenado por el computador.
15
Es comn pensar que es simple lograr que un robot vea de la misma forma que un humano. En realidad esto es muy cierto en el sentido de captura de imgenes, e incluso puede ser mejorada; sobre todo con los ltimos avances en electrnica y video que permiten capturar imgenes en un amplio rango del espectro lumnico, rayos X, infrarrojo, o con amplificadores lumnicos que permiten tomar imgenes con mnimas cantidades de luz, que para el ojo humano equivaldran a una oscuridad completa. Su complejidad radica en la dificultad que presenta el anlisis de estas imgenes. Cada imagen es traducida en millones de puntos con diferentes intensidades de luz, para luego ser analizados por el software. Para realizar este anlisis tambin debe poder eliminar el ruido en la imagen producto de reflejos, sombras, contrastes, etc. Una vez que la imagen es depurada se debe separar a los objetos del fondo, identificarlos, diferenciarlos entre s, determinar si son obstculos fijos o en movimiento, etc. Esta tarea asume la forma de millones de clculos que deben ser realizados rpidamente, esto es as porque el robot se encuentra desplazndose mientras controla el sistema de locomocin, definiendo un plan de accin a cada instante con la realimentacin visual. Por consiguiente si el robot se demora mucho tiempo en identificar un obstculo, la accin correctiva para esquivarlo llegara demasiado tarde y no podra evitarse la colisin con el mismo. En la prctica es recomendable minimizar la cantidad de datos a analizar. Un mtodo utilizado con frecuencia es disminuir el grado de exactitud de la imagen. Si no fuera necesario diferenciar colores se puede usar una cmara monocromtica o en el caso de usar una cmara color trasformar la imagen a niveles de grises, luego aplicando por ejemplo ecuaciones de reconocimiento de bordes identificar formas, para por ltimo compararlas con un conjunto de formas almacenadas y as identificar el objeto. Una buena idea para determinar distancias y obstculos es usar dos cmaras paralelas simulando la visin estereoscpica humana, de esta manera por una simple triangulacin de cada punto de la imagen tomada por cada cmara, se calcula las diferentes distancias. Este mtodo es el utilizado por el robot Marvin de Technische Universitat Mnchen [Marvin](ver ilustracin 12).
16
2.6.3 Visin simple Existen tambin sensores simples que se pueden considerar como de visin. Esto son los sensores infrarrojos, los lser, etc. El objetivo de estos sensores no es reconocer un objeto, sino detectar su presencia y en algunos casos hasta calcular la distancia que los separa, son muy tiles cuando se necesita evitar un obstculo. Esta distancia se obtiene mediante el clculo del tiempo en que tarda el haz lumnico en rebotar contra el objetivo. Este tipo de sensores tambin es muy usado en la deteccin y seguimiento de lneas, como en las competencias robticas, donde se debe seguir una trayectoria marcada por una lnea de color sobre el suelo, resultando vencedor el robot que logre recorrerla en el menor tiempo posible. En este caso se sensa la diferencia entre la cantidad de luz reflejada que es proporcional al color de la superficie reflectante. Al variar la intensidad lumnica significa que el sensor est desenfocado con respecto a la lnea, entonces corrige la trayectoria hasta obtener nuevamente la intensidad lumnica reflectante que representa la lnea. Este tipo de robots es llamado rastreadores [Robot Rastreador, Emrita](ver ilustracin 13 y 14).
17
2.6.4 Audicin
2.6.4.1 Sonares Reconocen el entorno en base a sensores del tipo ultrasnico u otro medio de captacin de sonido. Es un mtodo poco familiar pero bastante utilizado en robtica. En la naturaleza es utilizado por los murcilagos que al no emplear la visin normal debido a sus hbitos nocturnos, necesitan reemplazarla por un sistema que le permite reconocer su entorno en base al rebote de las ondas sonoras. Estas ondas son de una frecuencia ultrasnica fuera del espectro audible humano, por ello este mtodo es inaudible. Estos sensores van desde muy complejos tipo radares o sonares que permiten reconocer objetos, hasta los mas simples que cumplen la funcin de detectar la presencia de objetos [O.T.R.I] y tambin aquellos para realizar el clculo de distancias por el mismo mtodo utilizado en los sensores de visin simple por rebote de seal (ver ilustracin 15 y 16).
18
Ilustracin 15: Robot con sonares frontales y cmara. Ilustracin 16: Robot con 6 sonares (O.T.R.I)
2.6.4.2 Reconocimiento acstico Mediante un micrfono se realiza la captura del sonido, se transforma a formato digital y se procesa por un programa analizador de seales. Se puede detectar la proximidad de otros robot, debido al ruido de sus motores, determinar el ruido ambiente (filtrarlo si fuera necesario) y por ltimo permitir el intercambio de informacin entre robots o con el ser humano. La transferencia de informacin se puede lograr mediante un sistema de reconocimiento de rdenes verbales. De forma ms sencilla con un mtodo de modulacin por tonos, al igual que con los mdems telefnicos, donde se necesit un generador de tonos y un receptor decodificador en cada robot.
2.6.5 Tctiles Haciendo una analoga con los dedos humanos se puede realizar una clasificacin en base a la forma en que perciben (sensan) su entorno: A) Sensores de presin del tipo piezoelctrico: su funcionamiento se basa en traducir la fuerza mecnica ejercida sobre ellos en un potencial elctrico (por ejemplo, al presionar un objeto con el sensor). Dicho potencial es proporcional a la fuerza ejercida por lo tanto comparndola con una escala de tensin calibrada, se obtiene el valor de la fuerza ejercida
19
(que puede representar, el peso de un objeto, el agarre necesario de una mano robot, etc.). La utilizacin de los sensores de presin se hace especialmente necesaria en brazos robticos, donde es necesario ejercer una presin especfica sobre los objetos con el fin de no daarlos. Tambin son tiles en robots bpedos donde es necesario sensar constantemente el peso descargado sobre cada pata para mantener el equilibrio. B) Sensores de contacto elctrico (switch): constan de dos contactos separados por una distancia (llamada X) y al ejercerse presin sobre ellos se los junta mecnicamente producindose el contacto elctrico, entonces comienza a circular una corriente elctrica que es traducida en un estado lgico Verdadero (1) cuando estn cerrados o Falso (0) cuando estn abiertos. Son utilizados generalmente para detectar colisiones contra objetos como por ejemplo paredes, o la presencia de los objetos que se desea manipular.
2.6.6 Temperatura Son muy tiles a la hora de controlar la temperatura de los motores o si se busca ejecutar determinada accin al llegar a un valor predeterminado. En un robot, el tener un cooler (enfriador) continuamente funcionando como sistema de refrigeracin es muy costoso debido a la energa que ste consume. Entonces la solucin es poner en funcionamiento el sistema de refrigeracin solo cuando la temperatura alcance su lmite superior, desconectndolo cuando alcance el lmite mnimo; de esta manera se reduce el consumo de energa racionndolo en forma eficiente.
2.6.7 Velocidad y desplazamiento Generalmente no se esta conciente de la velocidad y la cantidad de pasos que se dan al moverse de un punto a otro. En un robot autnomo es muy importante tener una nocin exacta de la cantidad de pasos y la velocidad, pues esto permite calcular la distancia recorrida, y administrar eficientemente la energa consumida.
20
Un mtodo muy utilizado es el del Encoder (contador de pulso). Consta de un emisor y un receptor infrarrojos donde un haz de luz debe atravesar una rueda dentada solidaria con el eje del motor o las ruedas. Al interrumpirse el haz IR(infrarrojo) se cuenta un pulso por cada ranura, una vuelta completa de la rueda tendr tantos pulsos como ranuras. Conociendo la cantidad de pulsos y la distancia entre las ranuras se puede calcular la distancia recorrida y si se considera el tiempo empleado se obtendr la velocidad. Este mtodo es usado para controlar motores de corriente continua, y es similar al utilizado en el sensado de la posicin del mouse de la computadora personal. Esto se puede ver en la foto del sistema de motores del robot Charly1 , donde se usan motores de corriente continua sensados por un optoacoplador tipo encoder [Balich, 2004b](ver ilustracin 17).
Otra alternativa es usar motores paso a paso en donde la distancia y velocidad estn dadas por la seal que se usa para comandarlos, pudindose de igual manera lograr una realimentacin con el mtodo anterior. El alto costo y la dificultad de encontrarlos en el mercado local lo hacen menos elegible.
2.6.8 Tensin elctrica Al igual que los humanos necesitan ingerir alimentos para restablecer su reserva de energa y racionarla de acuerdo a su actividad fsica, es conveniente que un robot pueda administrarla de igual manera. Esto se logra usando sensores de tensin que transforman el voltaje sensado en un
21
valor digital. Un ejemplo prctico es el robot Rover de exploracin marciana. Este opera normalmente consumiendo sus reservas de energa hasta que el voltaje de sus bateras desciende a un lmite de seguridad establecido, en cuyo caso pasa a modo carga a travs de sus clulas solares, cuando alcanza el lmite de carga completa vuelve a estar operacional.
Charly 1 es un robot desarrollado como primer prototipo de investigacin para el presente trabajo.
2.6.9 Posicionamiento Son sensores de orientacin que permiten ubicarse geogrficamente al igual que lo hace una brjula en funcin de los polos magnticos. Dentro de esta categora se incluyen tambin los equipos de posicionamiento global (GPS) que nos dan la orientacin y la posicin (latitud y longitud) del robot en funcin de la triangulacin de tres o ms seales provenientes de igual cantidad de satlites.
2.6.10 Enlace de comunicacin inalmbrico El establecimiento de un buen enlace de comunicacin entre un robot y su controlador central es un factor crtico, aumentando cuanto mayor sea el grado de dependencia del controlador central. Se debe dotar al robot de la mayor autonoma posible para disminuir esta dependencia del enlace de comunicacin. Por ejemplo si el robot puede sensar los obstculos en su camino, ubicar el punto destino, calcular su trayectoria y controlar sus motores para llegar a tal punto, el controlador central solo deber indicarle el punto destino y la orden de arranque. De esta forma el robot operar de forma autnoma realizando todas las operaciones necesarias para llegar a dicho punto, mientras el controlador central monitorea su funcionamiento y de ser necesario trasmitir una orden de correccin que en el caso de un explorador marciano tardar 10 minutos en llegar desde la tierra.
22
Normalmente se utilizan mtodos de transmisin por radio frecuencia, donde la informacin es modulada sobre una seal portadora que es trasmitida por el emisor (computador central) que luego es captada por el receptor (robot), decodificada con el fin de interpretar los datos enviados. Esto implica utilizar un protocolo de transmisin de datos que garantice la transmisin de informacin y la recepcin correcta de la misma. El mtodo ms simple es el checksum que en trminos sencillos, representa un valor que es dado por la suma de los valores binarios (Cdigo ASCII) de los caracteres enviados, al ser decodificados en el receptor es calculado nuevamente y comparado con el enviado por el emisor, si no coincidieran significa que la informacin recibida no es correcta. Este tipo de protocolo tambin puede utilizarse con otros medios de transmisin como ser ondas sonoras, donde mediante codificacin por tonos, al igual que en los mdem. Se logra trasmitir la informacin. El inconveniente con este mtodo es que no se pueden cubrir grandes distancias y que es muy sensible al ruido ambiente. Otra forma sera por un enlace ptico mediante un haz infrarrojo o lser, pero no solo existe el problema de la distancia que se debe cubrir, sino tambin que es sensible a cualquier objeto que se interpusiera en el haz. La ltima alternativa sera un enlace por cable mediante una interface serie del tipo RS232 o 422 , de nuevo se encuentra una limitacin por la distancia del cable. Si las caractersticas del robot permiten una comunicacin permanente por cable, el puerto serie es la alternativa ideal. Esto se debe a su bajo costo, facilidad de implementacin y calidad de transmisin. Es muy utilizado en las primeras etapa del desarrollo en prototipos inalmbricos, pues con la aparicin de kits comerciales es posible trasformar de manera transparente un enlace RS232 por cable a uno inalmbrico del tipo Bluetooth o Wireless 4
RS232 : Protocolo para transmisin de datos por puerto serie. 422 : Protocolo de trasmisin diseado para entornos industriales. Bluetooth :especificacin industrial para Redes Inalmbricas de rea Personal (WPANs). 4 Wireless : protocolo de comunicacin inalmbrico.
23
2.7 Inteligencia
2.7.1 Definicin Se define inteligencia del robot como el conjunto de hardware y software que le permite procesar, resolver y planificar los pasos necesarios para realizar su tarea en forma autnoma (sin asistencia humana).
2.7.2 Tipos de robot autnomos Robots autnomos que llevan montado sobre ellos el hardware necesario para operar (la inteligencia): Est compuesto por la unidad de control de hardware, la unidad de sensado, y la unidad de toma de decisiones encargada de procesar la informacin y ejecutar los algoritmos de control. Robots autnomos distribuidos: Son aquellos que mediante un enlace de comunicacin delegan las tareas de sensado y navegacin a una unidad central de procesamiento. De esta manera cada robot se articula a modo de tentculo del computador central, operando en su conjunto como un nico sistema autnomo con componentes distribuidos. En el primer caso la desventaja es que los robots deben ser grandes y pesados, con motores potentes pues deben transportar la unidad de sensado y navegacin en muchos casos delegada en un computador. Esto trae como consecuencia un mayor consumo de energa y por consiguiente el aumento del tamao de las bateras. En el segundo caso la inteligencia (computador) se encuentra ubicada fuera del robot. Esto permite una disminucin en el peso final, al no tener que transportarlo, por ello pueden utilizar bateras ms pequeas, tambin no tiene lmites en cuanto al hardware a utilizar en el controlador central. La desventaja es que se debe establecer un vnculo de comunicacin entre ambos, por ello la velocidad de respuesta depender directamente de la velocidad y la calidad del mismo.
24
La distancia de autonoma del robot estar limitada por la distancia mxima del enlace de comunicacin de acuerdo a la tecnologa seleccionada: por cable, radiofrecuencia, ptico o sonido. Particularmente, en ambientes colaborativos donde se debe controlar ms de un robot, con el fin de realizar una tarea en comn, es necesario contar con un punto central de coordinacin de los robots. Sumado a que los robots deben ser lo mas econmicos y sencillos de armar, todas estas caractersticas hacen conveniente el uso de un modelo centralizado de control.
25
26
Las reglas bsicas del juego son tomadas de las competencias de ftbol real con algunas adaptaciones. El objetivo del equipo es concretar la mayor cantidad de goles mientras se trata bloquear al otro equipo. Esto adquiere una mayor complejidad al tener en cuenta las reglas del juego, que deben ser consideradas en cada instante por los robots.
27
3.3 Robots
Los robots varan segn la categora en la que participan, siendo stas definidas por la FIRA [RobotSot,2005]. Otra categora es MiroSot en la que el tamao de los robots es de 7,5 cm x 7,5 cm de ancho y 7,5 cm altura, dndose libertad en el tipo de traccin utilizada y son teledirigidos por un computador central encargado tambin de realizar la digitalizacin de imgenes (ver ilustracin 19).
28
29
30
Es un robot de chasis fijo, no puede modificarse su forma y est adaptado a las regulaciones de FIRA (Federacin Internacional de Ftbol Robot). Es un robot de avanzada diseado para experimentacin en universidades. Su costo es elevado pero esto se debe a la alta tecnologa empleada y los materiales como ser, aluminio de aviacin, bateras de litio, placas de doble faz y montaje superficial. (ver ilustracin 20)
31
32
Otros: Bus 2WI estndar para conectar otras placas en paralelo y otros dispositivos (sensores especiales, etc.).
Al igual que el Chebot se construy con materiales avanzada , procesos de fresado CNC y placas controladoras doble faz. Al ser un kit constructivo brinda libertad en cuanto al ensamblaje de los robots. Su costo es elevado debido principalmente a los materiales y el mecanizado de las piezas, el software es bastante completo, siendo un conjunto de herramientas de libre acceso en Internet. Algunas piezas y el eje de los motores son poco fuertes, lo cual hace que ante un golpe brusco se doblen o se partan segn el caso. En el 2006 se ha empezado a comercializar en Argentina pero su objetivo sigue siendo principalmente el exterior como en 2004 y 2005 (ver ilustracin 21).
33
4.3 Blockitronic
En 2006 la empresa Dimare S.A. lanza en Argentina el kit [BlockyTronic,2009] de fabricacin nacional, que consiste en un controlador con dos motores y un conjunto de sensores que se adiciona un juego de bloques plsticos para armar, dndole la funcionalidad de programar el movimiento del robot desde una computadora personal. Posee las siguientes caractersticas: Alimentacin: Dos 4 Pilas AAA. Motorizacin: Dos motores CC de 6V con reduccin por engranaje. Traccin: Diferencial. Tamao: Configurable. Chasis: Configurable en base a las posibilidades del Kit. Velocidad: no informada. Realimentacin: 2 sensores de choque tipo bumper. Microprocesador: PIC16F628. Salidas: Leds, y buzzer. Comunicacin PC: Serie 232 de un solo sentido de la PC al Kit Software: Sencillo con SO propio en el microcontrolador, pensado para chicos de 6 a 12 aos. Enlace de radio: No posee
Es una ampliacin a un kit de bloques constructivos tipo mil ladrillos, que permite agregar movimiento y la capacidad de programacin las entradas salidas estn restringidas a los componentes proporcionados, no siendo intercambiable ni abierto a la creacin de nuevos
TESIS MAESTRA EN INFORMTICA 34 ING. NSTOR BALICH
dispositivos. El acople de los bloques es endeble para construcciones con gran peso. Al estar pensado como juguete se logra un buen compromiso precio calidad para edades de 7 a 12 aos (ver ilustracin 22).
35
36
37
38
De esta manera se har reproducir el lazo de realimentacin que se produce en los seres humanos. Cuando una persona desea alcanzar un objeto dentro de su campo visual, se mueven sus msculos del brazo de tal manera de aproximarse los mas posible al objeto, con movimientos cada vez ms exactos en la medida que se aproxima; no se tiene una nocin exacta de la distancia, sino que el cerebro continuamente corrige la posicin hasta que logra tomar dicho objeto.
39
40
Mediante tcnicas de inteligencia computacional es posible predecir una mayor cantidad de movimientos, generar bases de conocimiento, deducir la estrategia del oponente, realizar el reconocimiento de imgenes, etc. Esto es muy vlido como mtodo de investigacin y de hecho es donde se obtendrn los mejores resultados, pero tambin existen otras formas de resolver este problema, con una aproximacin ms directa basada en metas. Al basarse en metas se centraliza todo el desarrollo en la resolucin de problemas puntuales y prximos en el tiempo, expresndolo en trminos del simulador, a un ciclo de distancia. Un ejemplo es predecir el movimiento de la pelota en la siguiente lectura de datos y actuar en consecuencia. Qued demostrado la eficacia de este enfoque en el hecho de ser utilizado por el equipo de software simulado del colegio Schnthal [Silvera et al.,2003] obteniendo el segundo puesto en la categora SimuroSot Middle League del campeonato mundial de la FIRA 2003. En sntesis ellos hicieron especial nfasis en el modelo de objetos, la optimizacin del cdigo, las ecuaciones trigonomtricas y una estrategia basada en roles, enmarcada solo en los conocimientos adquiridos por sus alumnos a lo largo del ciclo secundario.
41
1. Un conjunto de reglas similares a las del ftbol con humanos, que permiten una rpida asimilacin de las mismas. 2. Un entorno controlado en cuanto a iluminacin, terreno, colores y objetos. 3. Un equipo contrario que escapa al control, brindando la aleatoriedad necesaria para evaluar el algoritmo de toma de decisiones y el clculo de estrategias. 4. Problemas fsicos, mecnicos, electrnicos y de visin que hacen necesario un enfoque desde diferentes disciplinas. 5. Prediccin de movimientos, toma de decisiones, velocidad de procesamiento, comunicacin y trabajo en grupo son algunos de los puntos a resolver mediante algoritmos empleando tcnicas de inteligencia artificial.
De ahora en adelante el trabajo se enfoca en un sistema robtico autnomo con inteligencia distribuida diseado para operar dentro del entorno de ftbol robot. En este entorno y en base a lo expuesto anteriormente se destaca el siguiente conjunto de tareas a realizar:
5.4.1 Sistema de locomocin Controlar el sentido de giro de los motores Controlar la velocidad Controlar el posicionamiento
42
5.4.3 Sistemas de sensores Sensor de contacto con la pelota Sensor de proximidad de obstculos Sistema de disparo Controlar la direccin y el impulso del disparo de la pelota Sistema de comunicacin Protocolo de comunicacin inalmbrica o infrarroja.
Sistema de Visin Identificacin del objetos y del entorno Digitalizar las imgenes del entorno Determinar los diferentes actores
5.5.3 Sistema de Control Calcular trayectorias de los objetos Determinar estrategia utilizada por el adversario Determinar el plan de accin ms adecuado para contrarrestar al adversario. Controlar de reglas de accin .
43
5.6.2 Estrategia Establecer una estrategia de juego general. Determinar la estrategia del oponente. Predecir los movimientos del adversario actuando en consecuencia. Asignar roles especficos a cada robot segn el anlisis del juego
5.6.3 Otros Chequeo de las reglas del juego Realizar jugadas preparadas Chequeo de energa en los robots Chequeo del correcto funcionamiento de los robots
44 ING. NSTOR BALICH
6 Diseo de la investigacin
Luego de la puesta al da, se han identificado los problemas a resolver y a definir en forma concreta los objetivos, la(s) hiptesis y el diseo de la investigacin. Se plantea un trabajo experimental, donde se disearon y fabricaron las herramientas para el mismo (los robots). Luego, se comprobar su funcionamiento correcto. Con estos robots disponibles se utilizar un sistema de control cooperativo con visin global. A partir de los objetivos descriptos en la Introduccin en la seccin 1.1, se derivan las hiptesis de trabajo de 1 a 3 centradas en la generacin de tecnologa a nivel nacional en la fabricacin de robots:
6.1 Hiptesis
Hiptesis 1: Es posible disear y fabricar un grupo de robots autnomos colaborativos con un presupuesto reducido, con componentes encontrados en el mercado Argentino? Hiptesis 2: Un sistema de realimentacin visual computacional para robot se puede disear y desarrollar en base al sistema de realimentacin de la visin humana de forma reactiva, permitiendo controlar los robots de manera eficiente. Hiptesis 3: El algoritmo de control del grupo de robots autnomos colaborativos se puede delegar mayormente en el sistema de realimentacin visual.
45
Utilizacin del entorno de ftbol robot como un ambiente propicio para la investigacin en sistemas robticos colaborativos.
Fabricacin de un grupo de robots capaces de satisfacer a los requerimientos para la investigacin con el menor costo posible utilizando materiales del mercado local.
46
Otras consideraciones de diseo a tener en cuenta en base a la categora F180 de la Robocup (ver ejemplo en ilustracin 24) : Restriccin de tamao: el robot debe entrar en un cilindro de 180mm de dimetro por 200 mm de alto. No debe tener aristas que daen a otros robots No debe cubrir ms del 20% de una pelota estndar de golf. La comunicacin debe realizarse por un enlace de radiofrecuencia. Robustez: El robot debe soportar choques a una velocidad de 5 Km/hr por hora por lo menos.
47
Autonoma: Por lo menos debe durar 1 hr. sin necesidad de cambiar bateras.
7.1.2 Bateras Luego de una bsqueda en el mercado local y evaluar diferentes tipos de bateras se seleccionaron bateras de gel 12V debido a la relacin costo / potencia. El problema de estas bateras es el gran peso con respecto a otras opciones, esto no condicion en la eleccin de la potencia de los motores para el robot. Se defini una tensin de alimentacin de 12V con lo cual se evaluaron tres alternativas: 1) PILAS AA NiMh Pack de pilas doble A recargables de NiMh (Nquel Metal) (ver ilustracin 25) con una entrega de corriente de 2700 mAmp . Estas pilas entregan una tensin 1,2V con un precio de $10 c/u. Por lo tanto para tener una tensin de 12V necesitamos 10 pilas a un costo de $100. Se necesita un cargador convencional de costo $80. Para comparar en las mismas condiciones usaremos una tensin de 14,4V con 12 pilas $120.
48
2) PACK LITIO-ION Existe un tipo de bateras muy comn en telfonos celulares o cmaras de video, llamadas comnmente bateras de Lithium (ver ilustracin 26). Son muy livianas se las encuentra comnmente en packs de 2,8V por celda y una corriente de 2,5 Amp, por ello ser necesario solicitar un pack compuesto por cuatro para el primer caso 2,8V x 5 = 14V. Estas bateras son costosas ya que cada pack cuesta $30 aproximadamente, el precio final seria $ 150. Los cargadores tradicionales existen para pack de 2,8V a 4,2V tienen un costo de $120, pero ser necesario desarrollar uno especial para 14V.
3) GEL Otra opcin son las bateras de Gel comnmente utilizadas en alarmas (ver ilustracin 27), con un peso y tamao mayor que las anteriores en su versin ms pequea suministran 12V con una corriente de 1,200 Amp con un costo de $25.
49
50
7.1.3 Motor Se opt por un motor de corriente continua con caja reductora, descartando servomotores debido a la baja velocidad que alcanzan y una complejidad media debido a la seal de comando por frecuencia, tambin se descart motores paso a paso debido a su elevado costo, a su peso y la cantidad de lneas de comando por lo menos cuatro para un motor bipolar. Como primer paso el motor deba funcionar con 12V, entonces se calcul la velocidad deseada para el robot, definiendo el dimetro de las ruedas las RPM (revoluciones por minutos), la potencia y por ende el consumo de corriente del motor, adems de considerar un bajo costo del mismo. Dimetro de la Rueda: 7cm Velocidad Esperada: 3,5 Km/h RPM
Con un dimetro de rueda de 7cm se calcul la longitud de la circunferencia, para estimar la distancia recorrida por vuelta. Longitud Circunferencia = 2 * pi * radio = 21,98 cm Con una velocidad deseada de 3,5 Km/h nos da: Velocidad mts/min = 3500m/60minutos = 58 mts/minuto. Finalmente las revoluciones sobre el motor corresponde a: RPM = 58 mts/min * 100 / 21,98cm = 263 RPM
51
Potencia En este caso se seleccion probando de manera experimental diferentes motores de los que se conseguan con los parmetros anteriores. Se ensay con los motores de la firma IGNIS los modelos MR6 (6-78) (6-258) (6-330), optando por MR6 (6-258)(ver ilustracin 28) con las siguientes caractersticas:
RPM: 258 Volt: 12V Corriente de bloqueo: 1,3 Amp Corriente de trabajo: 0,4 Amp Cupla de nominal: 0,50 Kg.cm Cupla de arranque: 50 Kg.cm
52
7.1.4 Locomocin Como se ha justificado en el capitulo anterior se seleccion un tipo de locomocin basado en traccin diferencial mediante dos motores que controlan directamente cada rueda, y una tercer rueda o bolilla que gira libremente, con la funcin de servir de punto de apoyo. En la ilustracin 29 se ve un prototipo bsico realizado en un programa de diseo, el que sirvi de base para la versin final del Robot Ftbol V1.
7.1.5 Controlador Se denomina controlador al dispositivo electrnico capaz de controlar las acciones del robot traduciendo los comandos que le son enviados en forma remota desde el computador central. Se puede observar un esquema en bloques del circuito elctrico en la ilustracin 30 y una implementacin en un robot controlado por puerto paralelo en la ilustracin 31.
53
Tomando este diseo como base para el robot de ftbol se reemplazan los sensores de posicionamiento, por un sistema de deteccin de posicionamiento en base a realimentacin visual. Y tambin la fuente externa de 30V por una batera de 12V ya que nuestros robots sern totalmente autnomos. 7.1.6 Fuente de alimentacin regulada de 3,3V
Utilizamos un circuito bsico para regular y filtrar la tensin de alimentacin de entre 12 y 14,8 volts a la tensin de alimentacin de la unidad de control basada en el microcontrolador. Como puede verse este circuito est basado en el integrado LM7805 que es un regulador de tensin de 5V a la salida reducindola mediante tres diodos a 3,3 V, y una entrada de entre 7,5 Volt a 20 Volt de corriente continua, con una corriente de 1000 mAmp . Se puede observar en la ilustracin 32 el circuito desarrollado para la fuente de alimentacin del modulo de radiofrecuencia.
54
7.1.7 unidad de procesamiento central Este circuito est basado en un microtrolador 16F84 de la firma Microchip, que se seleccion debido a su bajo costo, fcil acceso en el pas y documentacin accesible referente al uso del mismo. Actualmente es reemplazado por otros micros como el 16F625 o el 16F88 con mayor capacidad de memoria, conversores analgicos digitales entre otras mejoras. Pese a estas diferencias pareci acertado el desarrollo sobre el micro ms antiguo debido a que son totalmente compatibles con sus reemplazos. Este circuito consta de una conexin por puerto serie RS232 para poder conectarlo al computador, para testear el robot o enviar informacin al computador. Un mdulo de transmisin full-dplex de dos canales a 2,4 Ghz que describiremos ms adelante. Y una conexin al circuito de potencia. El 16F84 consta de su etapa osciladora con un cristal de 4 Mhz, led de monitoreo de estado, un pulsador de reset y un conjunto de resistencias y condensadores como filtros de ruido elctrico (ver ilustracin 33).
55
7.1.8 Driver de potencia Se realiz un circuito basado en un driver H con transistores TIP110 de bajo costo, optoacoplando la etapa de potencia con la de control para de esta manera evitar el ingreso de ruido elctrico a la etapa de control. Se desarroll un circuito digital complementario que evita la activacin de dos lneas de control del driver H al mismo tiempo, que como se ensay en versiones anteriores de esta etapa, ocasionan en el momento de encendido o bloqueo del microcontrolador, un cortocircuito y una escalada trmica que destruye los transistores de potencia (ver ilustracin 34).
56
7.1.9 Comunicacin Para completar el circuito de comunicacin fue necesario desarrollar una interface que se comunicara con el computador. Para esto se hicieron modificaciones al controlador anteriormente descripto, de tal forma que este mismo circuito con pequeas modificacin en hardware pudiera ser utilizado como interface RF. Para lo cual se desarroll un software completamente diferente. Como puede notarse en el circuito la principal diferencia son las lneas de datos del 16F88 o 16F84 necesaria para controlar los mdulos de RF (radio frecuencia) (ver ilustracin 35 y 36).
57
58
7.1.10
Protocolo de comunicacin
Es necesario desarrollar el software para la comunicacin entre los robot y el computador, adems de disear un sencillo protocolo de comunicacin. Todos los robot son controlados en forma autnoma sin intervencin humana por un nico computador en base a su sistema de imgenes global. Puede observarse que pese a soportar comunicacin full dplex, el computador no recibe informacin del robot, se utiliza la comunicacin en un solo sentido (ver ilustracin 37).
Computador
Robot
Ilustracin 37: Modelo bsico de comunicacin
7.1.11 Trama El gestionado de la comunicacin es realizado mediante las configuracin por software que carga el mdulo central de control en el segundo microcontrolador que se encuentra en los mdulos de 2,4Ghz. En base a estos parmetros se identifican los address (direcciones de la placas RF de los robots). Cada robot recibe un conjunto de tres caracteres el primero fija la velocidad del motor 1, el segundo la velocidad del motor 2 y el tercero es un segundo chequeo de paridad, ya que los mdulos poseen su propio chequeo de integridad de datos.
59
El controlador descompone el carcter de cada motor y con valores de 0 a 125 mueve el motor hacia delante con una velocidad comprendida entre 0 y 125. Si recibiera un carcter comprendido entre 126 y 255 se invierte el sentido de giro se resta 126 y se toman nuevamente las velocidades entre 0 y 125. Cuando se recibe un 0 significa detener el motor. Es un protocolo fuertemente dependiente el sistema de realimentacin visual donde el robot solo se mueve al recibir la orden, por ello en pleno movimiento el canal se mantiene continuamente ocupado con datos minimizando as la interferencia por seales externas (ver ilustracin 38).
Finalmente la trama completa estar formada por un encabezado generado y filtrado por el mdulo emisor / receptor siendo totalmente transparente para el usuario donde solo se fija la direccin address destino. Se utiliz un protocolo de multidifucin donde se le enva todo el tiempo a todos los robots un vector de 5 posiciones, o sea 25 caracteres en total. Cada robot al conocer su propio nmero toma el grupo de tres caracteres que le pertenecen para luego procesar esa informacin (ver ilustracin 39).
60
7.2.2 Robot de ftbol V2 En esta versin se aument la robustez del robot y se compactaron todos sus componentes de tal manera que soportara impactos a mxima velocidad. Se aument la superficie de traccin con ruedas de mayor tamao y se separo los motores y la batera de la unidad de control. Con la
TESIS MAESTRA EN INFORMTICA 61 ING. NSTOR BALICH
ventaja de facilitar el cambio de batera o el reemplazo de la unidad de control. A continuacin en las ilustraciones 41, 42, 43, 44 se muestran diferentes vistas del robot indicando cada una de los bloques anteriormente descriptos.
62
63
Computadora Pentium IV con 512 Mb de memoria RAM Sistema operativo Windows XP SP2 en castellano Visual Basic .Net 2003 Puerto Serie 232 y 2 Puertos USB
64
Robots
Programador NeoRobotic.
65
8.3.3 CCS PCWH Compiler [CCS PCWH] Es otro compilador de la firma Custom Service Computer Inc. Que permite programar en lenguaje C, para luego ser compilado a cdigo mquina (archivo .hex), es licenciado (ver ilustracin 46).
8.3.4 MPLAB [MPLAB,2009] Es el entorno gratuito de Microchip [Microchip,2009] empresa creadora los microcontroladores que se utilizaron en este trabajo. Permite programar en ASSEMBLE y compilarlo a cdigo maquina (archivo .hex), para todas la gama de micros, as mismo cuenta con un simulador a igual que los dos compiladores anteriormente citados.
66
8.3.5 WinPic800 (licencia gratuita) [WINPIC800, 2009] Es un programa que junto con los programadores mencionados permite pasar el programa en cdigo maquina (archivo .hex) a la memoria programable del lo microcontrolador. Se utiliz este programa en su versin gratuita dada la calidad, velocidad y compatibilidad con el hardware desarrollado (ver ilustracin 48).
67
8.3.6 Placas electrnicas Una vez diseados los circuitos electrnicos es necesario montarlos. Existen dos paso a seguir para montar las placas. La primera es con placas experimentales las cuales pueden ser tiles para prototipos simples, pero no es muy aconsejable para circuitos complejos o que contengan etapas de comunicacin. La segunda opcin es desarrollar las propias placas, realizando la impresin de la mscara, su impresin sobre una placa sensible de cobre, y luego un bao qumico para eliminar las partes no conductivas del circuito impreso. 8.3.6.1 ExpressSCH Programa utilizado para el diseo del circuito esquemtico de las placas desarrolladas. De licencia gratuita posee la ventajas de funciones especiales que nos permitieron utilizar componentes del mercado local, creando nuestra propia librera de componentes (ver ilustracin 49).
68
8.3.6.2 ExpressPCB Una vez realizado el circuito se utilizo este programa para vincular el esquemtico generado con ExpressSCH. Se colocaron los componentes y se realizo el ruteo de los mismos. Este programa tambin permite crear nuestros componentes con las dimensiones reales, realizar mascaras de hasta dos caras y no posee ruteador automtico (ver ilustracin 50).
69
Se requiere un programa que al ejecutarse sobre la placa del controlador del robot. El programa debe ser capaz de recibir los comandos a travs del enlace por radio, decodificarlos, validar si la informacin es correcta y determinar a que robot est dirigida. Una vez decodificada e interpretada el programa debe accionar, controlar la velocidad y el sentido de giro de los motores con cuenta el robot. El conjunto del sistema se diseo basado en tecnologa de objetos y su representacin simplificada mediante el modelo algortmico que se observa en la ilustracin 51. 8.4.1.1 Modelo algortmico del sistema
70
8.4.1.2 Rutinas de inicializacin Este conjunto de rutinas cumple la funcin de inicializar los dispositivos que conforman el controlador del robot. Realizando una divisin en base a microcontroladores existen dos dispositivos principales a inicializar que son: - Placa de Control: El dispositivo principal del sistema, y se podra considerar como el CEREBRO del robot. Su funcin principal es la inicializar el sistema, gestionar la comunicacin con el dispositivo de RF, controlar la etapa de potencia y determinar el funcionamiento correcto del sistema. Existen un conjunto de rutinas que permiten inicializar los registros internos del sistema, la variables de posicin y velocidad, las variable de sentido, el chequeo de integridad de datos, el armado de la trama antes de ser enviada, y la lgica de automatizacin de tareas como es el caso de los comandos para avanzar, retroceder o patear entre otros posibles. Este conjunto de rutinas de inicializacin las hemos denominado Init Config Robot. - Placa de RF: Se podra considerar como la VOZ y el OIDO del robot que le permite comunicarse con el computador central. Esta placa est formada por el modulo de 2,4Ghz, contiene un microcontrolador que recibe rdenes a travs de un bus de datos. Para ello, es necesario enviar durante el inicio una serie de comandos que fijarn el canal a utilizar por el enlace de RF, el nmero de dispositivos a conectar, el tipo de chequeo de integridad de informacin, la longitud y formato de la trama de datos que se denomin como Config Device RF.
71
8.4.1.3 Rutinas de gestin de comunicaciones Recepcin de RF: Existe un conjunto de rutinas ejecutadas por el microntrolador del mdulos RF a las cuales no se tiene acceso, que son encargadas de gestionar la transmisin y recepcin del enlace por radio frecuencia. El programa desarrollado enviar las rutinas de inicializacin a ste modulo y luego un conjunto de rutinas con rdenes anatmicas hacia este mdulo (enviar datos, recibir datos, enviar a todos entre otras). - Decodificacin de RF: Es el conjunto de rutinas internas del modulo RF que realizan el modulado/demodulador de la informacin. Existe otro conjunto de rutinas en el microcontrolador 16F84 que se encargan de decodificar una segunda codificacin basada en el protocolo anteriormente descripto.
8.4.1.4 Rutinas de control Interpretacin de comandos: Una vez decodificados los datos es necesario interpretarlos, si bien estas rutinas podran estar tanto en este grupo como el anterior, en base al criterio de lgica en la toma de acciones por parte del robot y su vinculacin directa se prefiri esta clasificacin. Al interpretar estas rdenes el sistema discriminar si son comandos o parmetros, qu tipos de comandos son, si pertenecen a este robot u otro. Accionamiento de actuadores: Una vez ya completada la etapa de decodificacin, interpretacin y validacin queda la etapa llevar a cabo las acciones. En este caso, por ejemplo son comandos que actan sobre los motores (que es un tipo de actuador) en diferentes niveles de abstraccin, girar ruedas izquierda adelante a velocidad X, girar rueda derecha atrs a velocidad X y la composicin de estas dos rdenes girar robot hacia la derecha a velocidad X (ver ilustracin 52 y 53).
72
Diagrama de estados
8.4.2 Programa de testeo autnomo Este programa est diseado para controlar el robot en forma autnoma realizando algunas secuencias fijas de control, en funcin de tiempos internos y una lgica establecida para testeos de hardware. Por ejemplo avanzar 2 segundos, girar a derecha 1 segundo, girar completo 2 segundos, avanzar 2 segundos, detenerse 2 segundos y comenzar nuevamente. Este programa no
73
utiliza el modulo de RF, y tambin se utiliz para probar duracin de batera, temperatura de las etapas de potencia, y resistencia a los choques del robot (ver ilustracin 54)
8.4.3 Programa de interface con la computadora Este programa controla la interface que se conecta al puerto serie del computador y permite realizar el enlace por radiofrecuencia. Inicializa el mdulo de 2.4 Ghz y gestiona el protocolo de comunicacin por RS232 con la computadora. El programa se ejecuta y se encuentra grabado dentro del 16F84 que controla esta interface (ver ilustracin 55 y 56). Esquema del enlace radiofrecuencia
74
75
8.4.4 Programas en la computadora 8.4.4.1 Programa testeo remoto Principalmente permite probar y validar el funcionamiento correcto del sistema (controlador central la computadora, comunicacin por radio y los robots en su conjunto. Permite teleoperar un conjunto de hasta cinco robots, con una interface visual en Windows, permite configurar velocidad de las ruedas de cada robot, posee comandos compuestos que se ejecutan de forma transparente para el usuario, como es el caso de avanzar, girar o retroceder. El control se puede realizar por teclado o mediante una interface por gamepad. Se desarroll con un modelo de objetos y nica clase robots. La interface con el gamepad se realizo mediante una clase que utiliza la tecnologa directX de Microsoft, desarrollado en Visual Basic .net 2003, se puede ver la interface visual en la ilustracin 57 y su esquema simplificados en la ilustracin 57.
76
8.4.5 Sistema de reconocimiento de imgenes Con el fin de realizar comportamientos complejos y validar el desempeo con otros robots, es necesario utilizar un sistema de reconocimiento de imgenes que permita al computador reconocer la posicin de los robots, el campo de juego y la pelota. Este programa permite dotar de autonoma al sistema mediante un diseo algortmico basado de visin centralizada. Para ello se utiliz en principio un sistema de visin desarrollado por el grupo GIRA del Centro de Investigacin [CAETI,2009], la participacin de alumnos pasantes y el Ing. Nstor Balich en los aspectos del hardware y robot. Ya en una etapa ms avanzada se utiliz el sistema [DORAEMON] de procesamiento de imgenes para ftbol de robot, desarrollado y liberado por la universidad de Manitoba en Canad. Utilizado tambin por el Grupo de Robtica Cognitiva del Laboratorio de Investigacin y Desarrollo en Inteligencia Artificial Departamento de Ciencias e Ingeniera de la Computacin UNIVERSIDAD NACIONAL DEL SUR y tambin utilizado por la Universidad de la Repblica. Actualmente se est trabajando en un proyecto de investigacin a cargo del autor de este trabajo con un sistema de control y estrategia realizado en Visual Basic . Net, que permita la conexin al Doraemon, la estrategia de juego y control de las acciones de los robots, todo en tiempo real.
77
Motores
Paso a Paso
Servos propios
RS232 y RF nica
RS232 Reconfigurable
Bluetooth Reconfigurable
Imagen
$ 300
$ 900
$ 2170 (US700)
$ 178
78
Robot Ftbol V2 Cuatro Robots$ 1200 Bateras (Cuatro Robots)$ 100 Cargador$ 55 Modulo RF Receptor Incluido Emisor RF $ 200 Total $ 1555
XIOR $ 8680
NXT
Es un desarrollo de firma dinamarquesa lego, originalmente con su lego Mirdstorm, que era compatible con sus piezas de construccin incursionaron y se hicieron lderes en el mercado de kits de construccin y robtica, tanto a nivel hobbysta como de estudiantes primario, secundario y
79
universitario. De hecho grandes centro de investigacin como el MIT usa estos kits como herramienta en sus clases de ingeniera y computacin. NXT es la ltima versin de su kit robtico, con piezas nuevas y no es compatible con el anterior. Es un kit de robtica propiamente dicho, con conexin a bluetooth sensores especiales, motores con control de posicionamiento, y dems accesorios. La desventaja es que no existe represente en el pas y se encarece su costo llegando a 100 dlares en gastos de importacin CHEBOT
Fue un proyecto universitario realizado por la Universidad de Buenos Aires con el objetivo de participar en el mundial de ftbol robot en Europa. Es un desarrollo realizado con la ltima tecnologa a nivel mundial por ello algunos de sus componentes se importaron. Se desarroll una combinacin entre motores paso a paso y control de posicin innovadora, con placas electrnicas de doble capa, montaje superficial y matricera en aluminio de aviacin. Su precio es justo para la tecnologa que posee y es mucho ms econmico que el producto de XIOR. Pero su principal desventaja es su chasis fijo, si bien se puede utilizar su controlador haciendo adaptaciones para otro tipo de robot.
y en el protocolo de datos que se hicieron para AADECA2006. Finalmente para el CAFR2007 se introdujeron mejoras en la carrocera, un nuevo sistema de imgenes y control en squeak desarrollado en otro proyecto y el desarrollo de un pateador, que permite patear la pelota en forma automtica.
81
82
83
recibir la orden de avanzar continuamente hasta que alcance la distancia, chequeada por el sistema de visin.
11
Conclusiones
En la investigacion realizada se ha sintetizado el concocimiento existente en el tema y se adquiri expe riencia en la fabricacion de robots de futbol. Se adquirio expertis en la utilizacin de herramientas de diseo y prototipado en CAD (diseo asistido por computador) y fabricacin de circuitos electronicos. Se realizo la programacion y la definicion de algoritmos orientados al manejo de un grupo de robots ta nto en lenguaje de bajo nivel (Assembler) y alto nivel (VB.net / Python). Por ltimo se logr la integra cion y comunicacion entre robots en un equipo de ftbol integramente desarrollada en Python que to mo como base el presente trabajo y participo en CAFR2009 organizado por la Universidad de Morn. Se logro un aporte genuino al construir robots con economa de recursos y producto final adems de s u sencillez que permitir el acceso a un mayor nmero de usuarios. Se traslado todo el conocimiento y modelado terico producto de la investigacin en el programa curricular de la Paradigmas Tecnolgicos II . Adicionalmente aunque no era requisito para la tesis de maestra se construyeron los robots, se desarrollaron los algoritmos necesarios, esto permiti comprobar el trabajo terico y en muchos casos realimentarlo. En base a estos resultados se decidi continuar la investigacin orientada a: a) El desarrollo de una plataforma de robtica educativa de bajo costo b) Investigar y desarrollar un sistema de imgenes propio. c) Modelado de algoritmia independiente del lenguaje, utilizando Python sobre Linux/Windows. d) Incorporar estas prcticas de programacin en la enseanza de programacin orientada a objetos en la materia Paradigmas Tecnolgicos II de 3 ano de de la carrera en Ingeniera en Sistemas Informticos,
84
e) Incorporar la construccin de un robot por parte de los alumnos en la materia Paradigmas Tecnolgicos II. Utilizndola como herramienta educativa integradora, fomentando el trabajo grupal, y realizacin de un proyecto desde el diseo y construccin del hardware, la programacin en los diferentes niveles, hasta interfaces de usuarios
Muchos de los objetivos planteados a futuro, se han materializado en diferentes trabajos: El conocimiento producto del desarrollo y experimentacin poco habitual, se pudo trasladar a los alumnos bajo con la idea de ensear todos los temas involucrados en la construccin/programacin de robots mediante la experimentacin real. Esta transferencia de conocimiento se realizo con xito durante el primer cuatrimestre de la materia Paradigmas Tecnolgicos II 2009 , en la cual 25 alumnos construyeron mas de 15 robots (incluyendo programacin en bajo y alto nivel, contenidos tericos de la materia, investigacin) Se creo la version 3 de los robots mejorando los algoritmos del sistema de control y modificando la parte mecnica con mejoras producto de las participaciones en 2006 y 2007, agregando la funcionalidad de pateador a los tres robots. Se creo un software de control basado en agentes distribuidos con comportamiento emergente desarrollado en Python, creando el equipo pyB presentado en el CAFR2009 organizado por la Universidad de Morn en octubre de este ao. Se participo por segunda vez con el equipo CAETIFC programado en squeak sobre la misma plataforma robtica.
85
Bibliografa
ACFR: , Robot teledirigido de exploracin submarina, , http://www.acfr.usyd.edu.au Aeroenvironment , 2009: , High-Altitude Solar-Electric Airplanes, 2009, http://www.avinc.com/media_gallery/ Amandi, 2001: Amandi, Desarrollo de Sistemas Multi_Agentes Inteligencia Artificial, 2001 ASIMO,2009: , Robot bpedo del tipo humanoide, 2009, http://world.honda.com/ASIMO Balich, 2004b: Ing. Nstor Adrin, Charly 1 (Robot de Experimentacin), 2004, http://www.robotia.com.ar BlockyTronic,2009: BlockyTronic, Kit nacional de robotica para nios, , http://www.blockymania.com.ar/blockytronic Byoung-Ju et al.,1999: Byoung-Ju Lee, Sung-Oh and Gwi-Tae Park, Trajectory Generation and Motion Tracking Control for the Robot Soccer Game , 1999 CAETI,2009: , Centro de Altos Estudios en Tecnologa Informtica, 2009, http://www.caeti.uai.edu.ar CAFR,2004: , Campeonato Argentino de Ftbol Robot, 2004, http://www.exa.unicen.edu.ar/cafr2004 Castelo et al.2002: Claudia C. Castelo Hctor R.Fassi , Flacio E.Scarpettini, Revisin del Estado del Arte y Desarrollo del Equipo de Ftbol Robot , 2002 CCS PCWH: , CCS PCWH Compiler - Lenguaje C para microcontroladores, 2009, http://www.ccsinfo.com/content.php?page=comppcwide DANTE II: , Robot teledirigido de exploracin de volcanes , 2009, http://www.ri.cmu.edu/projects/project_163.html DORAEMON: , Soft de Reconocimiento de imgenes para ftbol robot, , http://sourceforge.net/projects/robocup-video Keigo , 1998: Keigo Watanabe , Control of an Omnidirectional Mobile Robot. Proceeding, 1998 Laplagne,2002: Ignacio Eduardo Laplagne, Aspectos de estrategia y control en un equipo de ftbol de robots, 2002 Lego NTX,2009: Lego, kit para robotica, 2009, http://mindstorms.lego.com Mars Express,2009: , Sonda orbital marciana, , http://sci.esa.int/science-e/www/area/index.cfm? fareaid=9 Marvin: Technische Universitat Mnchen, Robot mvil con visin estereoscpica, , http://www.rcs.ei.tum.de/research/rovi/marvin.html Mataric, M. J: Maja J Matari, Professor of Computer Science and Neuroscience - University of Southern California , , http://www-robotics.usc.edu/~maja/ Microchip,2009: , Empresa fabricante de microcontroladores., 2009, http://www.microchip.com MikroBasic,2009: MikroBasic, Lenguaje Basic para microcontroladores, , http://www.mikroelektronika.co.yu/en/compilers/mikrobasic/pic/index.htm
86
Mondada et al.,1999: F. Mondada, E. Franzi, A. Guignard, Proceedings of the 1st International Khepera Workshop, 1999, 1999, http://en.wikipedia.org/wiki/Khepera_mobile_robot MPLAB,2009: Mikrochip, MPLAB, 2009 - Entorno de programacin en assembler, 2009, http://www.microchip.com O.T.R.I: , Robot de investigacin con 6 sonares, , http://www.otri.us.es/articulos/ver_articulo.php? idart=24 PathFinder y Rovers,1997: , PathFinder y RoversRobots de exploracin del planeta Marte, 1997, http://marsprogram.jpl.nasa.gov Robot Rastreador, Emrita: , Robot Rastreador, , http://platea.pntic.mec.es/~lmarti2/proyecto.htm RobotSot,2005: FIRA, Categora de robots autnomos , 2009, http://www.fira.net Santos et al.,2003: Jaun Miguel Santos, Hugo Daniel Scolnik, Ignacio Laplagne, Sergio Daicz, Flavio Scarpettini, Hctor Fassi, Claudia Castelo, An aproach for control and team strategy in Robot Soccer -Uba-Sot, 2003 Schmit et al..,2004: Del Rio, da Silva , Schmit, Diseo de un robot autnomo experimental, Silvera et al.,2003: Silvera Rodrigo , Aguirre Facundo, Silveria Javier , Zabala Gonzalo, WCAFR2003 (Work Shop Campeonato de Ftbol de Robot), 2003, SnakeBot,2001: Astrobiology News staff writer, SnakeBot Robot del tipo serpiente, , http://nai.arc.nasa.gov/news_stories/news_detail.cfm?ID=197 Thongchai et al.,2000: Thongchai, S; Suksakulchai, S; Wilkes, DM; Sarkar, Sonar behavior-based fuzzy control for a mobile robot, 2000, Veloso, Kwub,1998]: Leuven, Belium, May 1998 . Kwub Han, Manuela Veloso, Reactive Visual Control of Mltiple Non -Holonomic Robotic Agents, 1998 WINPIC800, 2009: , Programa de grabacin de microcontroladores, 2009, http://www.winpic800.com Yujin-Robot,2009: , Empresa de desarrollo de Robot de ftbol, 2009, http://www.yujinrobot.com/english/index.php
87
12
Anexos
8 meses
Finalizada
colaborativo (cuatro robots mnimo). Integracin con otros trabajos de investigacin en visin artificial y trabajo colaborativo. Competencia de ftbol robots CAFR2006 Redaccin de captulo para la tesis
88
Grupo de robots reales funcionando. Interface de control por RF 2,5 Ghz para PC. Videos de las pruebas experimentales y/o participacin en competencias. Circuitos y esquemas de los robots desarrollados. Sugerencias para investigaciones futuras y conclusiones finales.
89
90
12.2.2 CIITI 2006 Buenos Aires Presentacin del equipo de Ftbol de Robot y el sistema de visin desarrollado en el CAETI por el grupo de alumnos dirigido por el Lic. Gonzalo Zabala Investigador de Inteligencia Artificial en Robtica perteneciente al grupo GIRA. Presentacin del grupo de robot y sistema de teleoperacin por joystick del desarrollados por Ing. Nstor Balich perteneciente al grupo GIRA (Grupo de investigacin en Robtica Autnoma) del Centro de Altos Estudios en Tecnologa Informtica Universidad Abierta Interamericana.
91
92
12.2.3 CAFR 2006 Equipo de Ftbol Robot versin V1 presentado en el Congreso Argentino de Ftbol Robot y el Work Shop en Inteligencia Artificial Aplicado a la Robtica Mvil (Segundo puesto en el campeonato de ftbol robot).
93
94
OTRO PROTOTIPOS
95
Ilustracin 69: Primer prototipo robot Ftbol V1 con driver por relays.
96
Esta obra est bajo una licencia Reconocimiento-No comercial-Sin obras derivadas 3.0 Argentina de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org o envi una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA.
Mis emails
nestor.balich@vaneduc.edu.ar nestor.balich@neorobotic.com
97