• No se han encontrado resultados

Construcción y programación de un grupo de robots móviles sobre la base del producto Lego Mindstorms NXT

N/A
N/A
Protected

Academic year: 2020

Share "Construcción y programación de un grupo de robots móviles sobre la base del producto Lego Mindstorms NXT"

Copied!
214
0
0

Texto completo

(1)ESCUELA POLITÉCNICA NACIONAL. FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA. CONSTRUCCIÓN Y PROGRAMACIÓN DE UN GRUPO DE ROBOTS MÓVILES SOBRE LA BASE DEL PRODUCTO LEGO MINDSTORMS NXT. PROYECTO PREVIO A LA OBTENCIÓN DEL TÍTULO DE INGENIERO EN ELECTRÓNICA Y CONTROL. MEDARDO ÁNGEL SILVA AMORES [email protected]. DIRECTORA: Ing. ANA RODAS [email protected]. Quito, julio de 2011.

(2) i. DECLARACIÓN. Yo, Medardo Ángel Silva Amores, declaro bajo juramento que el trabajo aquí descrito es de mi autoría; que no ha sido previamente presentado para ningún grado o calificación profesional; y, que he consultado las referencias bibliográficas que se incluyen en este documento. A través de la presente declaración cedo mis derechos de propiedad intelectual correspondientes a este trabajo, a la Escuela Politécnica Nacional, según lo establecido por la Ley de Propiedad Intelectual, por su Reglamento y por la normatividad institucional vigente.. _______________________ Medardo Ángel Silva Amores.

(3) ii. CERTIFICACIÓN. Certifico que el presente trabajo fue desarrollado por Medardo Ángel Silva Amores, bajo mi supervisión.. _________________________ Ing. Ana Rodas B. DIRECTORA DEL PROYECTO.

(4) iii. AGRADECIMIENTO. Mi profundo agradecimiento a la Ing. Ana Rodas, cuya ayuda y estímulo ha sido determinante para facilitar la terminación de este tan esperado proyecto..

(5) iv. DEDICATORIA. Mucho tiempo tomó el llegar a este momento y posiblemente la persona que más se alegrará porque finalmente se produjo es mi madre, a quien va dedicado este trabajo..

(6) v. RESUMEN El presente trabajo tiene como principal objetivo el construir y programar un conjunto de robots móviles sobre la base del producto Lego Mindstorms en su versión NXT 1.0. Para ello se ha propuesto la construcción y programación de algunos prototipos que pretenden principalmente mostrar las diferentes opciones que ofrece el producto mencionado. Los prototipos diseñados usan, en conjunto, todos los sensores con los que viene equipado el kit 8527: de contacto, de luz, de sonido, de ultrasonido y de rotación. Los programas desarrollados intentan aprovechar las principales características con las que puede ser programado el ladrillo programable NXT: manejo de entradas y salidas, contadores, temporizadores, subrutinas, estructuras de lazo, funciones que permiten tomar decisiones, almacenamiento de datos, generación de tonos, comunicación entre ladrillos mediante bluetooth, etc. Como lenguajes de programación se utilizan, de entre las múltiples opciones existentes en el mercado y en el ciberespacio, el lenguaje propio del fabricante, NXT-G, y otro que se encuentra dentro de la categoría de software libre y que es conocido como NXC. El lenguaje de programación NXT-G está desarrollado sobre la plataforma de Labview y tiene características gráficas que lo hacen simple de manipular, pero que resulta engorroso cuando se trata de hacer programas un poco largos o cuando se requiere de una mayor capacidad de procesamiento numérico. El segundo lenguaje presentado, el NXC (Not eXactly C), tiene mejores características frente al anterior ante los dos criterios mencionados y está desarrollado sobre una plataforma de lenguaje C. Se han desarrollado las siguientes aplicaciones: un medidor de longitud, una calculadora de área y volumen a partir de la medición de longitudes, un escorpión que reacciona ante estímulos externos, un brazo mecánico que incluye la posibilidad de reconocer colores, un auto controlado con un algoritmo PID para mantener una posición relativa hacia un objeto, un seguidor de línea y una aplicación de control remoto mediante bluetooth..

(7) vi. PRESENTACIÓN El trabajo desarrollado ha sido estructurado de tal manera que se puede estudiar, de forma separada, la construcción del hardware y el diseño del software. Aún cuando los dos aspectos están siempre íntimamente relacionados, esta forma de presentación permite descubrir fácilmente las dificultades que muestra cada aspecto del diseño. En el capítulo 1 se presentan algunos conceptos básicos sobre la robótica y sus aplicaciones, colocando mayor énfasis en la parte educativa y en la investigación. Se hace una presentación del producto Lego Mindstorms y de su evolución a través del tiempo y se ofrecen también algunos ejemplos de universidades que trabajan en proyectos de investigación y lo usan como recurso principal, dada su gran versatilidad. En el capítulo 2 se realiza una descripción detallada del hardware contenido en un kit de Lego Mindstorms 8527. Se mencionan lo principios físicos y eléctricos con los que funcionan los sensores incluidos en el equipo, así como los de los servomotores existentes. Una gran parte de este capítulo está destinada a la descripción física de los prototipos diseñados en todo el trabajo. En el capítulo 3 se presentan los lenguajes de programación que van a ser utilizados durante el desarrollo de este proyecto, no sin antes mencionar las diferentes opciones que existen en el mercado y de forma libre en el ciberespacio. Los programas desarrollados para los prototipos diseñados son también detallados en este capítulo. En el capítulo 4 se muestran los resultados de algunas de las pruebas realizadas sobre los prototipos armados y se mencionan adicionalmente las dificultades mostradas por los diseños propuestos en su funcionamiento y, por tanto, sus limitaciones..

(8) vii. Finalmente se presentan conclusiones válidas sobre el trabajo desarrollado y algunas recomendaciones que podrían ser tomadas en cuenta por futuros usuarios del producto y de este documento..

(9) viii. CONTENIDO Página CAPÍTULO 1: Estudio de sistemas y aplicaciones robóticas. 1. 1.1. Robótica. 1. 1.2. Robótica didáctica. 3. 1.2.1. Campo de aplicación. 5. 1.3. Fabricantes de kits para la educación. 6. 1.4. Historia de Lego. 7. 1.5. Lego Mindstorms en la universidad. 10. 1.6. Aplicaciones a desarrollar. 13. 1.6.1. Medidores de varias magnitudes. 13. 1.6.2. Escorpión. 13. 1.6.3. Brazo mecánico. 14. 1.6.4. Vehículo con control de posición PID. 14. 1.6.5. Seguidor de línea. 14. 1.6.6. Control remoto mediante bluetooth. 14. CAPÍTULO 2: Diseño e implementación de los módulos. 16. 2.1. Características de Lego Mindstorms NXT. 16. 2.1.1. Hardware (CPU). 16. 2.1.1.1. Estructura interna del ladrillo NXT. 19. 2.1.1.2. Puertos del ladrillo NXT. 20. 2.1.1.3. Manejo de energía. 21. 2.1.1.4. Comunicaciones. 22. 2.1.1.4.1 Comunicación entre ladrillos mediante bluetooth. 23. 2.1.1.5. Sonido. 24. 2.1.1.6. Botones. 24. 2.1.2. Sensores. 25. 2.1.2.1. Sensor de contacto. 25. 2.1.2.2. Sensor de luz. 26.

(10) ix. Página 2.1.2.3. Sensor de ultrasonido. 27. 2.1.2.4. Sensor de sonido. 28. 2.1.3. Los motores de Lego NXT. 29. 2.1.4. Conjunto de piezas. 31. 2.2. Desarrollo de los módulos. 37. 2.2.1. Medidor de variables múltiples. 37. 2.2.1.1. Medidor de longitudes. 37. 2.2.1.2. Calculadora de área y volumen. 41. 2.2.1.3. Medidor de sonido. 42. 2.2.2. Escorpión. 44. 2.2.3. Brazo mecánico. 50. 2.2.4. Vehículo controlado mediante algoritmo PID. 58. 2.2.5. Seguidor de línea. 63. 2.2.6. Aplicaciones remotas. 68. CAPÍTULO 3: Desarrollo de la programación. 69. 3.1. Lenguajes de programación. 69. 3.2. Lenguaje de programación NXT-G. 74. 3.2.1. Entorno de programación del lenguaje NXT-G. 75. 3.2.2. Bloques. 76. 3.2.3. Controles de salida. 77. 3.2.4. Controles de entrada. 79. 3.2.5. Las comunicaciones. 81. 3.2.6. Flujo del programa. 82. 3.2.7. Otros bloques. 83. 3.2.8. Bloques definidos por el usuario. 84. 3.2.9. Variables. 85. 3.2.10. Operaciones matemáticas. 86. 3.2.11. Bloques especiales. 87. 3.2.12. Cables de datos. 89. 3.3. Lenguaje de programación NXC. 90. 3.3.1. Entorno de programación para el lenguaje NXC. 91.

(11) x. Página 3.3.2. Programación en NXC. 92. 3.3.2.1. Programas con NXC. 93. 3.3.2.2. Variables. 94. 3.3.2.3. Conjuntos definidos por el usuario. 95. 3.3.2.4. Arreglos. 95. 3.3.2.5. Asignaciones. 95. 3.3.2.6. Estructuras. 96. 3.3.2.7. Expresiones. 97. 3.3.2.8. Condiciones. 98. 3.3.2.9. NXC API. 98. 3.3.2.9.1 Funciones de temporización. 98. 3.3.2.9.2 Funciones de control del programa. 99. 3.3.2.9.3 Funciones de cadenas de caracteres. 100. 3.3.2.9.4 Funciones numéricas. 100. 3.3.2.10. Módulo de entrada. 100. 3.3.2.11. Módulo de salida. 101. 3.3.2.12. Módulo de sonido. 102. 3.3.2.13. Módulo de pantalla LCD. 102. 3.3.2.14. Módulo de comunicaciones. 103. 3.3.2.15. Manejo de archivos. 104. 3.4. Programación de los módulos desarrollados. 105. 3.4.1. Medidor de variables múltiples. 105. 3.4.1.1. Medidor de longitudes. 105. 3.4.1.1.1 Diagrama de flujo del medidor de longitudes. 107. 3.4.1.1.2 Código NXT-G del medidor de longitudes. 108. 3.4.1.2. 110. Calculadora de área y volumen. 3.4.1.2.1 Diagrama de flujo de la calculadora de áreas y volúmenes. 110. 3.4.1.2.2 Código NXT-G de la calculadora de áreas y volúmenes. 112. 3.4.1.3. 115. Medidor de sonido. 3.4.1.3.1 Diagrama de flujo del medidor de sonido. 116. 3.4.1.3.2 Código NXT-G del medidor de sonido. 117. 3.4.2. 118. Escorpión.

(12) xi. Página 3.4.2.1. Diagrama de flujo del programa del “escorpión”. 118. 3.4.2.2. Código NXC del programa del “escorpión”. 120. 3.4.3. Brazo mecánico. 122. 3.4.3.1. Diagrama de flujo del programa del brazo mecánico. 123. 3.4.3.2. Código NXC del programa del brazo mecánico. 125. 3.4.4. Vehículo controlado mediante un algoritmo PID. 129. 3.4.4.1. Diagrama de flujo del programa del controlador PID. 132. 3.4.4.2. Código NXC del programa del controlador PID. 133. 3.4.5. Seguidor de línea. 137. 3.4.5.1. Diagrama de flujo del seguidor de línea. 139. 3.4.5.2. Código NXC del programa del seguidor de línea. 139. 3.4.6. Aplicaciones remotas. 141. 3.4.6.1. Programa del controlador (mando). 141. 3.4.6.1.1 Diagrama de flujo del mando a distancia. 142. 3.4.6.1.2 Código NXT-G del controlador (mando). 144. 3.4.6.2. 145. Programa del vehículo controlado. 3.4.6.2.1 Diagrama de flujo del programa del vehículo controlado. 145. 3.4.6.2.2 Código NXT-G del vehículo controlado. 147. CAPÍTULO 4: Pruebas y resultados. 149. 4.1. Medidores de variables múltiples. 149. 4.1.1. Medidor de longitudes. 149. 4.1.2. Calculadora de áreas y volúmenes. 150. 4.1.3. Medidor de sonido. 152. 4.2. Escorpión. 154. 4.3. Brazo mecánico. 155. 4.4. Vehículo controlado mediante algoritmo PID. 156. 4.5. Seguidor de línea. 160. 4.6. Aplicaciones remotas. 164. CAPÍTULO 5: Conclusiones y recomendaciones. 166. 5.1. 166. Conclusiones.

(13) xii. Página 5.2. Recomendaciones. 167. Referencias bibliográficas. 169. Anexos. 173. Anexo A: Sistema de bola y viga desarrollado sobre la base del producto Lego Mindstorms NXT Anexo B: Menú principal del NXT Anexo C: Diagramas eléctricos del hardware utilizado en el producto Lego Mindstorms NXT.

(14) 1. CAPÍTULO 1 ESTUDIO DE SISTEMAS Y APLICACIONES ROBÓTICAS. 1.1. ROBÓTICA. El término robot fue introducido por el escritor checoslovaco Karen Čapeck, fallecido en 1938, quien incluyó en una de sus obras la palabra robota, que significa trabajo. La obra se llamaba “R.U.R.” (Rossum´s Universal Robots) y en ella se presenta al obrero moderno como un esclavo mecánico. Los robots y el término robótica se volvieron populares en los años cuarenta gracias al autor de ciencia ficción Isaac Asimov, quien asimismo planteó las leyes de la robótica (Runabout, 1942). En general se entiende como robot a una máquina que tiene forma humana y realiza tareas humanas. Otra definición dice que robot es un manipulador multifuncional y reprogramable, diseñado para mover materiales, piezas, herramientas o dispositivos especiales, mediante movimientos programables y variables que permitan llevar a cabo diversas tareas. En el inicio del desarrollo de los robots se perseguía que estos realicen las tareas que son peligrosas o que traen riesgos para el hombre; actualmente se busca además que puedan ejecutar procesos cognitivos y no necesariamente seguirán la inconveniente forma humana -para algunos procesos- en su diseño. Entre las principales características de un robot se encuentran su gran versatilidad al poder ejecutar diversas tareas o una misma tarea de diversas maneras y su autoadaptabilidad al entorno, lo que exige que el mismo cuente con sentidos artificiales que le permitan "darse cuenta" de la forma en la que debe cumplir su tarea. Los robots son, por lo tanto, dispositivos compuestos de sensores que reciben datos de entrada, un sistema central de control que al recibir tal información.

(15) 2. ordena al robot que efectúe una determinada acción y, finalmente, los dispositivos que ejecutan las acciones en el medio externo. En resumen, un robot consiste básicamente de cinco componentes: 1. Un cerebro que ordena la ejecución de acciones y que reacciona frente a la información proveniente de los sensores. El cerebro es normalmente un sistema microprocesado. 2. El cuerpo del robot o simplemente el chasis, que mantiene unidas a sus diferentes partes. 3. Los actuadores que permiten el movimiento del robot. Se tratan normalmente de motores eléctricos, pero también pueden haber otras posibilidades como pistones hidráulicos o neumáticos, etc. 4. Los sensores que dan al robot la información sobre su entorno. 5. Una fuente de energía que permite el funcionamiento del cerebro, actuadores y sensores. Este componente no siempre es parte del robot en sí mismo. Para clasificar los robots se pueden establecer diversos criterios: funcionalidad, geometría, inteligencia, etc. Las características con las que se clasifican los robots son: -. propósito o función,. -. sistema de coordenadas empleado,. -. número de grados de libertad,. -. generación del sistema de control.. A continuación se presenta una posible forma de clasificar los robots -. [1]. :. Industriales o manipuladores: suelen tener la forma de un brazo articulado en cuyo extremo se incorporan elementos de sujeción o herramientas. Estas máquinas realizan tareas repetitivas en industrias de automoción y se usan para montar piezas, moverlas, ajustarlas, soldarlas, pintarlas, etc..

(16) 3. -. Móviles o vehículos robot: se desplazan usando ruedas, orugas o patas articuladas y se utilizan para suministrar herramientas o materiales a los manipuladores, para transportar materiales peligrosos, para colocar cables submarinos, explorar el fondo del mar o para hacer exploraciones espaciales.. -. Prótesis para uso humano: son dispositivos electromecánicos que realizan el trabajo de las manos, los dedos o las piernas de los seres humanos.. -. Didácticos o experimentales: se utilizan en la enseñanza y el aprendizaje de la robótica. Dentro de este tipo de robots se incluyen los juguetes que imitan algunas funciones de los robots experimentales.. -. Manos. teledirigidas. (telchirs):. dedicadas. a. manipular. productos. radioactivos o peligrosos y a colaborar en operaciones quirúrgicas controladas de forma remota por cirujanos expertos (telecirugía). -. Instalaciones inteligentes: sirven para controlar de manera automatizada las mercancías de almacenes o los libros de bibliotecas, entre otras aplicaciones.. -. Microrobots o nanorobots: constituyen la última tendencia en las investigaciones en el campo de la robótica. Se trata de dispositivos de tamaños de centímetros y milímetros con los que se actúa, por ejemplo, en el cuerpo humano para realizar intervenciones en vasos sanguíneos dañados o en el interior de máquinas para diagnosticar posibles averías.. 1.2. ROBÓTICA DIDÁCTICA [2][3][4][5]. Durante las últimas décadas investigadores e industrias han propuesto y desarrollado kits que permiten la construcción de robots, diseñados para estimular el aprendizaje de conceptos y métodos relativos a la educación de estudiantes en contenidos científicos tales como informática, mecánica, matemática y física. Los kits incluyen pequeños motores, sensores, ruedas, engranajes, poleas y relés, es decir, todo aquello que el estudiante necesita para construir robots. Existen productos que incluyen cables y/o equipamientos de radio que posibilitan conectar al robot con un computador personal, lo que a su vez permite al usuario programar y controlar el invento..

(17) 4. Algunos de estos kits han sido desarrollados de acuerdo a los principios educativos derivados de las teorías del desarrollo cognitivo de Jean Piaget (1966) y revisados por Seymour Papert (1980-1986), profesor del Media Lab del Instituto Tecnológico de Massachusetts. Su enfoque indica que, en el centro de todo proceso de aprendizaje, es el papel activo de quien aprende el que amplía su conocimiento a través de la manipulación y construcción de objetos. Esta filosofía sugiere que la tradicional construcción a partir de kits concebidos para ello, es muy adecuada como herramienta de aprendizaje. Sin embargo, dar vida a un objeto por medio de la interacción con un computador personal hace posible desarrollar aplicaciones que van más allá de la idea original de los que propusieron esta metodología. En los cursos tradicionales de informática pocas veces se enseña a los alumnos sobre las indeterminaciones de la interacción en el mundo real; de hecho, a menudo. intentan. abstraerse. del. mundo. real. y. construyen. sistemas. completamente deterministas. Esto puede generar problemas a los ingenieros que posteriormente deben diseñar y/o programar sistemas de control para el mundo real. Los problemas son, a menudo, debidos a que los estudiantes yerran al ver al robot desde su propio punto de vista, ya que confían en abstracciones poco realistas en las que han sido adiestrados a lo largo de su educación. Por medio de la experimentación con sensores, motores y su control, los estudiantes modifican gradualmente su percepción de la interacción entre el robot y el mundo real, modificando continuamente sus diseños hasta convertirlos en realistas y funcionales. El éxito de este tipo de experimento educativo es parcialmente debido a la facilidad del ensamblaje de los kits de construcción disponibles en el mercado, los mismos que permiten a los estudiantes encontrar soluciones sencillas a problemas físicos no siempre sencillos. Los estudiantes adquieren una comprensión profunda de las discrepancias entre los resultados pronosticados en la fase de diseño y los realmente producidos por sus máquinas, aprendiendo a.

(18) 5. reducir tal diferencia entre diseño y construcción, lo que es fundamental para la innovación tecnológica. 1.2.1. CAMPO DE APLICACIÓN. Se han construido, por. ejemplo, pequeñas. máquinas. que simulan el. comportamiento de animales en sus entornos, ambos construidos artificialmente y que consideran condiciones reales. Tales prototipos son esencialmente robots móviles que, como los animales reales, tienen un aparato sensorial (por ejemplo, sensores sensibles a la luz o el calor), un sistema motriz (por ejemplo, brazos mecánicos o ruedas controladas por motores) y un cerebro (programa de computador que reacciona ante las señales captadas por los sensores). Estas máquinas pueden ser consideradas como organismos artificiales y ser usadas con propósitos educativos y en investigación básica, como en la psicología (investigación del comportamiento), etología (ciencia de las costumbres) y robótica. Los experimentos que se desarrollan ayudan a los estudiantes a asimilar conceptos que de otra manera serían abstractos y confusos. Se asimilan nociones complejas a través de la construcción de sistemas compuestos por varios componentes de hardware y software y se aprende a estudiar la realidad desde diferentes puntos de vista, es decir, desde diferentes niveles de análisis, observando el comportamiento de robots individuales y el comportamiento global que surge de la interacción entre estos individuos. Es importante indicar que no se trata de introducir nuevas nociones o conceptos, sino nuevos modos de observación y razonamiento que puedan ayudar a las personas a evaluar con más atención la realidad en la que viven. El posible campo de aplicación de la creación de organismos artificiales es realmente ilimitado: se ha demostrado la pertinencia de su uso tanto a nivel escolar como a nivel superior..

(19) 6. La experiencia demuestra que muchos ingenieros tienen a menudo un excelente conocimiento de los conceptos teóricos fundamentales en su disciplina, pero insuficiente experiencia en el diseño y construcción de prototipos industriales.. 1.3. FABRICANTES DE KITS PARA LA EDUCACIÓN[6]. Hay varias propuestas de hardware para usar la robótica en aplicaciones educativas. En general, se puede agrupar estas sugerencias de la siguiente manera: 1) adquisición de un robot con una morfología predefinida, y 2) construcción de un robot a partir de pequeñas piezas. En cuanto a la primera opción, existen en el mercado muchas ofertas de robots de uso adecuado para el aula. Estos robots se venden en una configuración básica y es posible adquirir módulos adicionales de acuerdo a la necesidad específica. Este tipo de robots suele ser adecuado para su uso por parte de estudiantes universitarios y de postgrado. En muchos otros casos, un robot con una morfología predefinida es inapropiado. Por ejemplo, si la idea es aprender sobre engranajes, motores y sensores, es mejor tener la posibilidad de experimentar prácticamente al construir su propio robot físico. La segunda opción antes indicada es en este caso la más adecuada. En el mercado existen también algunas posibilidades, de entre las cuales se mencionan las marcas y/o productos: National Instruments y MobileRobots Inc., Handy Board y Super Cricket del MIT, LEGO, Fischertechnik, Meccano, Parallax Inc., NeoRobotic, etc. Los productos mencionados no proporcionan la misma precisión de los robots industriales, pero son usados en procesos didácticos y de investigación. En la situación que ocupa el presente trabajo, se tratará únicamente con el producto Lego Mindstorms en su versión NXT, la misma que se encontró disponible a partir de agosto de 2006 en su versión inicial..

(20) 7. 1.4. HISTORIA DE LEGO [7]. LEGO es el nombre de una empresa de juguetes de origen danés reconocida principalmente por sus bloques de plástico interconectables. La compañía fue fundada en 1932 y el nombre LEGO fue adoptado por la misma en 1934, formado por la frase del danés "leg godt", que significa "jugar bien". Los orígenes de este juguete corresponden a un pobre carpintero de Billund, Dinamarca, llamado Ole Kirk Christiansen. El concepto de “jugar bien” sigue siendo la filosofía de los productos Lego, alentando a los niños a ser abiertos y curiosos, a estimular su creatividad, imaginación y aprendizaje mientras se divierten. Los juguetes producidos por Lego fueron construidos hasta 1949 casi exclusivamente de madera. En este año se desarrollaron juguetes de plástico con bloques interconectables, los mismos que llevaron a la marca a la fama. El material que se usó en ese entonces fue acetato de celulosa y el éxito residía en que los bloques no solo podían apilarse unos sobre otros, sino también en que podían trabarse entre ellos, aunque fue recién en 1958 en que el diseño actualmente conocido fue desarrollado. Fue también en este año en que, ante el fallecimiento de Ole Kirk, su hijo Godtfred heredó el liderazgo de la compañía. En los años 1961 y 1962 se agregaron las primeras ruedas Lego, lo que permitió a la empresa emprender la construcción de camiones, automóviles, autobuses y otros vehículos. De la misma manera, Lego hizo convenios con empresas que le permitieron introducirse en el mercado pre-escolar. En 1963 se abandonó el acetato de celulosa como material para fabricar las piezas de Lego y se pasó a usar acrilonitrilo butadieno estireno, o plástico ABS, material que dio mayor estabilidad a los ladrillos de Lego. El ABS es más resistente al calor, a ácidos, a sales y a otros químicos y no es tóxico. Una gran ventaja de los ladillos Lego fabricados con ABS es que las piezas construidas en.

(21) 8. 1963 son perfectamente interconectables con piezas producidas en el año 2004, por ejemplo. Lego ha incursionado en algunas líneas con sus productos y ha fabricado modelos para armar trenes, los mismos que incluían motores de 4,5V y que luego fueron reemplazados por otros de 12V. De la misma manera, pensando en una mayor seguridad para los usuarios más pequeños, abrió la línea Duplo, la misma que incluye ladrillos de tamaño mayor que las piezas anteriores. La conectividad entre estos productos se mantiene. En 1974 fueron creadas las figuras humanas con brazos articulados y se convirtieron en producto estrella. Más adelante, entre los años 1975 y 1977 se crearon los juegos “serie experto” y luego “constructor experto”, los mismos que incorporaban engranajes, ruedas dentadas, palancas, ejes y coyunturas universales y así se permitió el ensamblaje de vehículos mucho más cercanos a los reales. De la misma manera se han producido expansiones significativas de la línea Lego incluyendo cada vez nuevos productos: FABULAND (orientada a niños pequeños); SCALA (elementos de joyería destinados a niñas pequeñas); LEGO DACTA (productos para uso educativo); Technic (incluye también elementos neumáticos); Bionicle (reemplazó al diseño de las clásicas figuras Lego); Pneumatic (elementos neumáticos); series de piratas, Star Wars, Harry Potter, basketball, transporte, etc. Existe una gran cantidad de ingeniería en el diseño y fabricación de cada pieza de Lego. Para que piezas de series antiguas puedan ser fácilmente combinadas con piezas de modelos nuevos se requiere de altos estándares de calidad. El grado de tolerancia máximo permitido está en 2 milésimas de milímetro (0,002mm) y se asegura que máximo 18 de cada un millón de piezas no cumplen con esta característica. Esto asegura el agarre que debe existir entre piezas Lego de diferentes colecciones y el hecho de que muchos aficionados de Lego acoplen fácilmente sus colecciones de la niñez a los nuevos modelos..

(22) 9. Uno de los productos que ha generado gran atractivo y expectativa en los últimos años es el que corresponde a la serie denominada Lego Mindstorms. En 1998 Lego proporciona el primer conjunto Mindstorms: Robotics Invention System (RIS 1.0). Este producto aparece como un juguete destinado a los mayores de 12 años, aunque tuvo su mayor aceptación en los usuarios adultos. Además de las típicas piezas de Lego, se incluyen motores de corriente continua, sensores y una pieza muy importante, el RCX. El RCX era un ladrillo programable que le permitía interactuar con el entorno. Está basado en el microprocesador H8 de Hitachi y proporciona. convertidores. A/D,. comunicación. serial. y. temporizadores.. Internamente tiene 16 KB de memoria ROM y 33 KB de RAM, tiene una interfaz para tres actuadores y tres sensores y un puerto de comunicaciones de infrarrojos, así como una pantalla de cristal líquido, cuatro botones y un pequeño altavoz. El RCX fue elaborado en cooperación entre Lego y el Instituto Tecnológico de Massachusetts y existe un gran número de entusiastas que han publicado soluciones basadas en estos dispositivos en revistas como IEEE Robotics and Automation Magazine e IEEE Control Systems Magazine, entre otras. La versión NXT corresponde a la última existente del producto Mindstorms y fue lanzada al mercado en agosto de 2006. Esta versión incluye el nuevo ladrillo programable NXT, así como otros cambios menores en las piezas de construcción -la mayoría proveniente de la serie Technics- y en los sensores electrónicos. Una gran diferencia con el RCX es que permite las comunicaciones mediante USB y bluetooth, eliminándose así las limitaciones de los infrarrojos, propios de RCX, y permitiendo distancias de control mucho más grandes y sobre algunos obstáculos, sin exigir una determinada orientación entre emisor y receptor. La versión inicial de NXT, lanzada en el año 2006, traía 577 piezas, entre las que se incluían 3 servomotores, 4 sensores (ultrasónico, de contacto, de sonido y de luz), 7 cables de conexión, un cable de interfase USB y el ladrillo programable. El kit incluía NXT-G, un ambiente de programación que posibilita la creación y descarga de programas hacia el ladrillo NXT..

(23) 10. La nueva versión del NXT (2.0) fue lanzada en agosto de 2009 y contiene 619 piezas entre las que se incluyen motores y sensores (el nuevo sensor de color, dos sensores de contacto y el sensor ultrasónico). El NXT 2.0 permite la ejecución de operaciones aritméticas de punto flotante, mientras que las versiones anteriores solo permitían operaciones con números enteros.. 1.5. LEGO MINDSTORMS EN LA UNIVERSIDAD. Los productos Lego fueron inicialmente creados como juguetes para niños y lograron finalmente convertirse en equipos que atraen tanto a niños como adultos y que pueden ser fácilmente incorporados en medios educativos como herramienta para la investigación y aprendizaje en todos los niveles. En la actualidad, prácticamente todas las universidades a nivel mundial poseen kits de Lego que incluyen “ladrillos inteligentes” y se usan en áreas relacionadas con la robótica y la mecatrónica. En el Instituto Tecnológico de Massachusetts (MIT por sus siglas en inglés), por ejemplo, se han organizado cursos de "Diseño y Construcción de Robots Lego" con el objeto básico de estimular las capacidades de diseño y desarrollo en jóvenes estudiantes de ingeniería. Luego de dividir al total de estudiantes en grupos de trabajo, cada grupo se dedica a buscar la solución a un mismo problema. Al final, se presentan todas las soluciones y se escoge un ganador, que será quien presente la alternativa más eficiente. A continuación se mencionan algunas de las tantas universidades que hacen uso del producto Lego Mindstorms en sus versiones RCX y NXT tanto para el estudio de ingeniería como para la investigación en diferentes ámbitos de la ciencia: -. En el Laboratorio de Computación de Ciencias de la Educación de la Universidad de Colorado Boulder se ofrecen cursos de Introducción al diseño en Ingeniería mediante productos Mindstorms[8]. El laboratorio de inteligencia artificial de la Universidad de Zurich, en Suiza, colabora.

(24) 11. también con este proyecto como una de las entidades que aportan con investigaciones. -. En el Centro de Enseñanza de la Ingeniería y la Divulgación (CEEO) de la Universidad Tufts (Massachusetts) y en asociación con la división educativa de Lego se ofrecen resultados de investigaciones y desarrollos en cuanto a aplicaciones, así como también se presenta una amplia oferta de recursos para educadores.[9]. -. En el Departamento de Ingeniería de Sistemas y Automática de la Universidad Politécnica de Valencia se han desarrollado estudios sobre “Desarrollo y Control de Robots Móviles de Bajo Coste”, apuntando al producto Lego Mindstorms como una de las principales soluciones en ese sentido. [10]. -. Un grupo de investigadores de la Universidad de Málaga (UMA) en España ha desarrollado un prototipo basado en Lego Mindstorms NXT que permite reconocer y sugerir temas musicales, esto dentro del campo de la inteligencia artificial.. -. En la Universidad Técnica Particular de Loja (UTPL) se han desarrollado proyectos dentro del campo de los videojuegos mediante el uso de la tecnología del NXT y LabView.. -. En la ESPOL, en el desarrollo de sistemas de adquisición de datos mediante la construcción de sensores compatibles con el ladrillo NXT.. -. En la Universidad RWTH de Aachen, Alemania, se ofrece a sus estudiantes de ingeniería cursos de programación de Lego Mindstorms con Matlab y se desarrollan aplicaciones en el campo del procesamiento digital de señales. En esta universidad se ha desarrollado un kit de herramientas para programar robots Lego mediante Matlab.[11]. -. En la Universidad de Cambridge, Reino Unido, se hace que los estudiantes de ingeniería planteen soluciones a problemas relacionados con el diseño de sistemas de ingeniería, desde su parte estructural hasta los sistemas de control, haciendo uso de herramientas como Matlab.. -. En la Universidad de Ciencia y Tecnología de New Jersey (NJIT) se realizan proyectos de construcción de robots capaces de realizar tareas de cirugía..

(25) 12. -. En la Universidad de Magdeburg Otto-von-Guericke en Alemania se hace uso de Lego Mindstorms en los cursos de cibernética.. -. En la Universidad Friedrich Schiller de Jena, Alemania, se utiliza Lego Mindstorms en el desarrollo de proyectos de biomecánica.. -. En la Universidad de Lund, Suecia, en el desarrollo de proyectos de control y automatización.. -. En la Universidad de Ottawa, Canadá, en los cursos introductorios de Sistemas de Control.. -. En la Escuela de Ingeniería Eléctrica y Electrónica de la Universidad Tecnológica de Nanyang, Singapur, como posibilidad para el desarrollo de aplicaciones robóticas y de control.. Como se observa, el número de universidades y centros de estudios superiores que aprovechan del producto es realmente interminable y esto se debe principalmente a sus notables ventajas, entre las cuales destacan: -. Permitir una fácil validación experimental de la efectividad y robustez de los algoritmos con los que son programados robots móviles.. -. Hardware de costo relativamente bajo.. -. Permitir el crecimiento de alternativas abiertas de programación, ya que Lego abrió la arquitectura de su producto Mindstorms en la versión NXT.. -. Versatilidad para ser usados en un sinnúmero de experimentos, los mismos que van desde un único robot hasta un sistema de robots múltiples, desde un esquema de control centralizado hasta uno descentralizado,. -. En el tema educativo es importante el hecho de incentivar el trabajo en equipo, así como la programación de equipos reales, la construcción e integración de sistemas e informaciones multidisciplinarias.. Entre las principales desventajas cabe mencionar que estos equipos no proporcionan la misma precisión que los robots industriales..

(26) 13. 1.6. APLICACIONES A DESARROLLAR. Para el desarrollo del proyecto se cuenta con tres módulos (número de producto: 8527), cada uno con un ladrillo programable NXT. La versión del producto es la 1.0, lo que quiere decir que no se cuenta por ejemplo con el sensor de color, propio de la versión NXT 2.0, ni tampoco se tiene la opción de programar con aritmética de punto flotante. En dependencia de la tarea que se vaya a resolver se utilizarán uno o más de los sensores disponibles: de contacto, de luz, de ruido y de ultrasonido, así como los motores existentes, en un número máximo de tres. De entre el gran abanico posible de aplicaciones para el producto Lego Mindstorms se ha escogido desarrollar algunas que permitirán reconocer sus características y mostrar la versatilidad del producto: 1.6.1. MEDIDORES DE VARIAS MAGNITUDES. Mediante el uso de los sensores con los que cuenta el kit de Lego Mindstorms NXT se diseñará un medidor de distancia y, a partir de él, una calculadora de áreas y volúmenes, así como también se realizará un medidor de sonido que permite visualizar su nivel en la pantalla del NXT. Los prototipos usarán los sensores de rotación incluidos en los servomotores y el sensor de sonido. 1.6.2. ESCORPIÓN. Se intenta simular el comportamiento de un escorpión ante la presencia de un “intruso”. El prototipo hace uso del sensor de ultrasonido para detectar la distancia a la que se encuentra el “intruso” y para saber cuándo “picar” con su aguijón y del sensor de sonido para actuar ante la existencia de un nivel de ruido que supera un cierto valor umbral..

(27) 14. 1.6.3. BRAZO MECÁNICO. Se diseñará un brazo mecánico que permitirá detectar la presencia de objetos de cierto color y moverlos de un lugar a otro. Previamente se tiene que definir los límites entre los cuales se va a desplazar su parte móvil. El prototipo hace uso de los sensores de rotación incluidos en los servomotores, del sensor de luz que permite “distinguir colores” de los objetos y del sensor de contacto, que en este caso actúa como un sensor de final de carrera. 1.6.4. VEHÍCULO CON CONTROL DE POSICIÓN PID. Un vehículo de estructura mecánica sencilla debe mantener una distancia fija en relación a un objeto, la misma que ha sido previamente definida. Si el objeto de referencia cambia de ubicación, el vehículo tiene que seguirlo y al final ubicarse de tal forma que se consiga el objetivo inicial. El software, basado en un algoritmo PID, debe permitir cambiar los valores de las constantes que intervienen para poder probar algunas opciones de control. El prototipo utiliza principalmente el sensor ultrasónico para determinar en todo momento la distancia a la que se encuentra el objeto de referencia. 1.6.5. SEGUIDOR DE LÍNEA. Un vehículo con una configuración mecánica que le permita realizar giros, se convertirá en un “robot seguidor de línea”. El robot utilizará principalmente un sensor de luz para determinar la trayectoria o línea a seguir. 1.6.6. CONTROL REMOTO MEDIANTE BLUETOOTH. Un NXT controlará a otro de forma inalámbrica, haciendo uso de su módulo de comunicaciones mediante bluetooth. El robot controlado será un vehículo con características mecánicas que le permitan girar. El “comando” del control remoto.

(28) 15. será un ladrillo NXT al que está conectado un motor, del cual se aprovechará el sensor de rotación..

(29) 16. CAPÍTULO 2 DISEÑO E IMPLEMENTACIÓN DE LOS MÓDULOS. 2.1. CARACTERÍSTICAS DE LEGO MINDSTORMS NXT. El sistema Lego Mindstorms se define como una plataforma completa de desarrollo de robots móviles, basada en la unión de bloques interconectables que contiene sensores y actuadores que se conectan mediante presión. El producto Lego Mindstorms viene en dos versiones: RCX y NXT, donde la última corresponde a la versión actualizada y mejorada de la anterior. El uso de Lego Mindstorms se ha extendido principalmente porque es un sistema fácil de montar y desmontar, es muy conocido en todo el mundo, permite una gran variedad de aplicaciones, es susceptible de ser programado mediante múltiples lenguajes y además es muy indicado para su aplicación en entornos educativos y de investigación. 2.1.1 HARDWARE (CPU)[12][13] La unidad de control, definida como ladrillo inteligente NXT, cuenta con los siguientes elementos:. Figura 2.1. Ladrillo programable NXT. -. Procesador principal: ARM-7 de 32 bits (AT91SAM7S256 de Atmel) •. Arquitectura Risc. •. reloj de 48 MHz. •. memoria flash de 256 kB (no volátil). •. memoria RAM de 64 kB (volátil).

(30) 17. -. Procesador secundario AVR de 8 bits (ATmega48 de Atmel) para gestionar entradas/salidas •. reloj de 8 MHz. •. memoria flash de 4 kB. •. memoria RAM de 512 Bytes. El coprocesador Atmel AVR está encargado de manejar los siguientes componentes: la creación de las señales de salida PWM para los motores, la fuente de poder principal de la tarjeta, los botones debajo de la pantalla y el sensor de carga de la batería. Se comunica con el procesador principal a través del bus de comunicaciones I2C (InterIntegrated. Circuit:. bus. de. comunicaciones. seriales).. Los. dos. procesadores intercambian periódicamente estructuras de datos a través del bus: el AVR recibe comandos del motor y de la fuente de poder y devuelve el estado de los botones de control y del nivel de carga de la batería. -. Comunicación inalámbrica bluetooth: CSR (Cambridge Silicon Radio) BlueCore 4 v2.0 + sistema EDR (Enhanced Data Rate) •. soporta SPP (Serial Port Profile). •. 47 KB de RAM interna. •. 8 MBit de Flash externa. •. reloj de 26 MHz. Las comunicaciones vía bluetooth (clase II) son manejadas a través de una tarjeta independiente BlueCore, la misma que se encuentra conectada al CPU a través de una línea serial. El firmware de Lego permite al controlador de bluetooth funcionar en el modo maestro, en el cual se puede comunicar hasta con tres esclavos, pero solo con uno a la vez, o en modo de esclavo, en el cual se puede comunicar con un solo maestro. -. Comunicación vía USB 2.0: puerto full speed a 12 Mbps.

(31) 18 Permite al ladrillo NXT comunicarse con un host USB. Este controlador no le posibilita al ladrillo NXT actuar en la función de host, lo que le hubiera permitido aumentar la cantidad de memoria, por ejemplo. -. 4 puertos de entrada: interfaz de 6 hilos y soporte para conexiones AD y DA. El puerto 4 tiene como características el ser un puerto de alta velocidad compatible con IEC 61158 Tipo 4/EN 50170 (chip de comunicaciones RS485) para usos futuros. Todos los puertos de entrada cuentan con soporte del bus I2C.. -. 3 puertos de salida con interfaz de 6 hilos y soporte para lectura desde los codificadores.. -. Pantalla: •. 1 pantalla LCD monocromo (blanco y negro) con resolución de 100x64 pixeles (26x40,6mm). •. controlador de LCD UltraChip 1601 (UC1601). El chip se conecta al ARM7 a través del bus SPI (Serial Peripheral Interface) de 2MHz de velocidad y le permite calibrar la pantalla y otras acciones mediante un simple conjunto de comandos. -. Altavoz de salida: •. canal de sonido de salida con resolución de 8 bits y 8kHz de calidad de sonido. •. soporta tasas de muestreo de 2 a 16kHz. •. la señal de salida es tipo PWM controlada por el ARM7, que se filtra y pasa por un amplificador diferencial (SPY0030A de SunPlus) con ganancia máxima de 20. • -. bocina de impedancia característica de 16Ω y 21mm de diámetro. 4 botones de goma que permiten la interacción con el usuario. Mediante estos botones también se pueden crear pequeños programas para el ladrillo NXT sin necesidad de utilizar el computador..

(32) 19. -. Fuente de poder: alimentación con 6 pilas AA (preferiblemente alcalinas) o batería de ión de litio de 1400 mAh.. -. Conectores de 6 hilos industriales estándar tipo RJ12 con mecanismo de ajuste a la derecha.. -. Capacidad para almacenar una cantidad de programas de usuario limitada únicamente por el tamaño de la memoria interna.. Un esquema básico de la forma en que interactúa el ladrillo NXT se ve aproximadamente de la siguiente manera:. Figura 2.2. Diagrama de bloques del hardware del NXT, tomado de [14]. 2.1.1.1. Estructura interna del ladrillo NXT. El NXT puede ser dividido en tres planos..

(33) 20. Figura 2.3. Estructura del NXT. El primer plano corresponde al microcontrolador. Este se encarga de seguir las instrucciones dadas por la programación. El segundo plano está conformado por la memoria flash. En esta memoria se encuentra el programa entregado por el fabricante (firmware), el mismo que es comparable con el sistema operativo del PC y ejecuta el programa desarrollado. El tercer plano está constituido por la memoria RAM. Los programas realizados por el usuario que han sido previamente compilados se almacenan aquí. Junto al procesador principal, el NXT posee un coprocesador con una memoria flash y memoria RAM propias. Estos, en conjunto, están encargados de manejar los circuitos de entrada y salida al ladrillo NXT. 2.1.1.2. Puertos del ladrillo NXT. Los puertos del ladrillo NXT disponen de terminales de seis hilos cada uno. Los sensores pueden ser analógicos o digitales y se mantiene la compatibilidad con los sensores del RCX: -. El pin de entrada 1 está directamente conectado a un conversor A/D de 10 bits. A fin de mantener compatibilidad con sistemas anteriores de 2.

(34) 21 hilos, existe en este pin suministro de tensión durante 3ms, en el que se incluye un intervalo de lectura de la señal de 0,1ms. -. Los pines 5 y 6 son responsables de la comunicación digital. El protocolo establecido para la interfaz digital es I2C de Philips Semiconductors.. Nombre •. Pin 1, ANA. • • •. Pin 2, GND Pin 3, GND Pin 4, IPOWERA Pin 5, DIGIAI0. •. •. Pin 6, DIGIAI1. Función. Color. Entrada analógica y posible señal de salida de corriente Señal de tierra Señal de tierra Fuente de 4,3V. blanco. Pin de E/S digital conectado al procesador ARM7 (reloj I2C (SCL), RS-485 A) Pin de E/S digital conectado al procesador ARM7 (datos 2 I C (SDA), RS-485 B). amarillo. negro rojo verde. azul. Figura 2.4. Distribución de los pines de los puertos NXT, tomado de [14]. Los puertos equipados con el protocolo I2C permiten el control no solamente de sensores sino también de actuadores. Existen dispositivos comerciales que permiten la conexión de hasta 7 motores o 7 sensores en un mismo puerto. 2.1.1.3. Manejo de energía. La energía para controlar al NXT proviene de 6 pilas AA o de una batería recargable de ión litio y es una fuente de alimentación conmutable, que genera una señal de 5V y otra de 3,3V para el ARM7 y para el chip BlueCore. Para proteger a la fuente existe a su entrada un interruptor de protección que tiene una corriente de mantenimiento de 1,85A y que se dispara aproximadamente a los 3,3A. En la siguiente tabla se muestran algunos valores de consumos en el NXT bajo determinadas condiciones:.

(35) 22. Voltaje de alimentación. Corriente. Consumo (Vbatería = 9V). max (mA) normal (mA) max (mW) normal (mW) Sin carga en los motores 9V 339 114 5184 1422 5V 271 112 1744 448 3,3V 72 38 410 216 Con carga en los motores 9V 2901 848 26109 7632 5V 271 112 1142 307 3,3V 72 38 410 137 Standby Se asume una corriente de 46µA debida a detección de cortocircuitos Tabla 2.1. Mediciones de corriente en el NXT, tomado de [14]. El ladrillo NXT tiene una función de ahorro de energía que hace que este se apague si no ha sido operado por un determinado tiempo. Este tiempo puede ser modificado a través del menú de configuración del ladrillo (2, 5, 10, 30, 60 minutos o nunca). 2.1.1.4. Comunicaciones. El NXT tiene dos opciones para comunicarse con el exterior: un puerto USB 2.0 y bluetooth. El puerto USB permite la descarga rápida del firmware de Lego, así como de los. programas. del. usuario.. La. comunicación. bluetooth. posibilita. la. comunicación inalámbrica entre el NXT y el PC, con otros NXT´s y con otros dispositivos que cuenten con bluetooth. El NXT se puede conectar simultáneamente de forma inalámbrica a otros tres NXT, pero solo se puede comunicar con uno a la vez. La información que se transfiere puede tratarse de programas, archivos de sonido u otros datos necesarios durante la ejecución de sus programas internos. La comunicación es posible hasta una distancia aproximada de 10 metros (dispositivo bluetooth clase II)..

(36) 23 2.1.1.4.1. Comunicación entre ladrillos NXT mediante bluetooth. La funcionalidad bluetooth en el NXT puede ser configurada de tal forma que el canal de comunicaciones funcione como maestro o esclavo. Esto significa que uno de los ladrillos NXT actuará como maestro y los demás se comunicarán con él si así lo requieren. La figura muestra la forma en que se posibilita la comunicación entre dispositivos.. Figura 2.5. Comunicación entre ladrillos NXT usando bluettoth, tomado de [14]. La figura indica que un dispositivo maestro puede comunicarse con otros tres dispositivos bluetooth al mismo tiempo, pero el intercambio de información se puede hacer solo con uno de ellos en un momento determinado. Así, si el NXT maestro está comunicándose con el NXT Slave 1 (esclavo 1) y el NXT Slave 3 (esclavo 3) inicia el envío de datos al NXT maestro, éste último no evaluará los datos recibidos hasta que se encuentre dispuesto a atenderlo. Un ladrillo NXT no está posibilitado para actuar como maestro y esclavo al mismo tiempo, pues esto ocasionaría pérdida de datos entre los dispositivos NXT. Las comunicaciones con otros dispositivos bluetooth se realiza a través de canales. El NXT tiene 4 posibles canales para comunicación vía bluetooth: el.

(37) 24 canal 0 se usa siempre por parte de un NXT esclavo para comunicarse con el NXT maestro, mientras que los canales 1, 2 y 3 se usan para la comunicación de un maestro con tres dispositivos esclavos. 2.1.1.5. Sonido. El NXT incluye un amplificador que mejora el nivel de salida del sonido y su calidad. La señal de salida del sonido es de tipo PWM y es controlada por el microcontrolador ARM7. Los filtros introducidos antes del amplificador reducen el ruido de sobre-muestreo de la señal. El parlante incorporado en el NXT tiene una impedancia característica de 16Ω y un diámetro de 21mm. En la tabla se muestra el consumo de corriente ante sonidos ejecutados en diferentes frecuencias: Frecuencia (Hz) 440 4000. Corriente (mA) 102 78. Potencia (mW) 169 97. Tabla 2.2. Consumo de corriente ante la ejecución de sonidos, tomado de [14]. Es posible configurar el nivel o volumen del sonido emitido por el ladrillo NXT directamente desde el menú de configuración interno, accediendo a él mediante los botones disponibles y contando con la información en la pantalla. 2.1.1.6. Botones. El NXT incorpora cuatro botones de goma que permiten operarlo, así como la navegación dentro de las opciones de su software: el botón naranja sirve para encender al NXT y permite activar una opción en el menú (On/Enter/Run), el botón rectangular de color gris oscuro permite retroceder en la selección del menú (Clear/Go back) y los botones de color gris claro posibilitan la navegación hacia la izquierda o la derecha en el menú del NXT..

(38) 25 Los botones del NXT también pueden ser utilizados como controles de entrada para el programa en ejecución. En dependencia de la aplicación, el botón naranja y los botones de navegación a la izquierda y derecha pueden también ser programados para que funcionen como sensores de tacto. 2.1.2 SENSORES Existe una amplia variedad de sensores que pueden ser conectados a los ladrillos RCX o NXT; inclusive existen posibilidades para diseñar propios sensores atendiendo únicamente a las exigencias de las entradas del producto. Los sensores NXT son digitales, lo que permite obtener mayor precisión en sus medidas y además son comparables las medidas obtenidas por dos de ellos con iguales características. Las marcas HiTechnic o Mindsensors ofrecen una amplia gama de sensores que hacen uso de la tecnología digital para ser acoplados al ladrillo NXT. 2.1.2.1. Sensor de contacto. Figura 2.6. Sensor de contacto y principio de funcionamiento. Permite detectar obstáculos encontrados en el camino del robot, en el caso de tratarse de un robot móvil, o permite reaccionar ante estímulos de contacto externos. La señal emitida por este sensor es de tipo digital binario, que permite reconocer dos y hasta tres estados: presión del botón, liberación del botón y presión y liberación del botón en conjunto..

(39) 26. Figura 2.7. Acciones reconocidas por el sensor de contacto, tomado de [15]. 2.1.2.2. Sensor de luz. Figura 2.8. Sensor de luz. A través de este sensor se capacita al robot para reaccionar ante variaciones del nivel de luz y del color. Mide el nivel de luz y entrega un número entre 0 (oscuridad total) y 100 (muy brillante), sin que se pueda asignar alguna unidad a la medida mostrada. Permite medir la intensidad luminosa de un ambiente o la intensidad reflejada por superficies de distintos colores.. Figura 2.9. En la parte superior, lo que ven nuestros ojos; en la parte inferior, lo que “ve” el sensor de luz. Tomado de [15]. El sensor de luz de Lego actúa bajo un principio reflectivo. La intensidad de la radiación reflejada depende del color, la distancia al objeto y las perturbaciones luminosas del medio de trabajo. El led integrado es el encargado de emitir la radiación de color rojo (para los casos en que se tienen niveles de iluminación bajos) y el fototransistor (FT) capta la radiación reflejada y la convierte en una señal de corriente continua a través del circuito correspondiente..

(40) 27. Figura 2.10. Principio de funcionamiento del sensor de luz. Para medir el nivel de iluminación del ambiente, el sensor apaga su luz propia, mientras que la enciende si se trata de medir la intensidad reflejada. El valor entregado es un porcentaje respecto del máximo valor capaz de ser medido por el sensor. 2.1.2.3. Sensor de ultrasonido. Figura 2.11. Sensor de ultrasonidos. El sensor le permite al robot medir la distancia a obstáculos y responder ante movimientos. Utiliza el principio del eco para detectar los objetos que se encuentran a su alrededor con una señal de 40 kHz. Su capacidad de detección va desde los 3cm y llega hasta los 255cm, con una precisión de ±3cm; habiendo una zona muerta en distancias muy cortas..

(41) 28. Figura 2.12. Principio de funcionamiento del sensor de ultrasonidos. El sensor de ultrasonidos funciona de la siguiente manera: el emisor (E) entrega una serie de pulsos de sonido y existe un receptor (R) que los recibe luego de que estos se han reflejado en un objeto. El circuito electrónico se encarga de medir el tiempo que existe entre emisión y recepción y lo traduce en una distancia. El cálculo de la distancia corresponde a la aplicación de la sencilla fórmula que dice que distancia = velocidad y tiempo, donde la velocidad es la que corresponde al sonido (340ms-1 a una temperatura ambiente de 15°C y en el aire) y el tiempo es el medido por el circuito existente. Las medidas se entregan en centímetros o en pulgadas. Las mejores mediciones se producen cuando los objetos en que se reflejan las ondas emitidas por el sensor son grandes y la superficie es dura y lisa. Las superficies suaves y curvas causan dificultades al proceso de medición. 2.1.2.4. Sensor de sonido. Figura 2.13. Sensor de sonidos.

(42) 29 Permite al robot captar sonidos y así responder a órdenes que vienen desde el exterior y que han sido debidamente programadas. Puede distinguir patrones de sonido e incluso tonos musicales. Los valores medidos por este sensor, que esencialmente es un micrófono que detecta niveles de presión sonora de hasta 90dB, puede estar en decibelios (dB: para cualquier sonido, incluso aquellos que no son detectados por el oído humano) o en decibelios ajustados (dBA: sonidos que pueden ser distinguidos por el oído humano) y corresponde a una combinación de la amplitud y frecuencia de los sonidos percibidos. La respuesta a intensidades en decibelios crecientes es aproximadamente exponencial y corresponde a un valor porcentual sobre el máximo de 90dB antes mencionado. En la siguiente tabla se pueden observar las medidas obtenidas por el sensor de sonidos frente a algunos eventos, asumiendo que la distancia de la fuente de sonido al sensor es de aproximadamente 1m: Porcentaje 4% - 5% 5% - 10% 10% - 30% 30% - 100%. Descripción Habitación en silencio Personas hablando lejos Conversación normal o música que se reproduce a un volumen “normal” Personas gritando y música a alto volumen. Tabla 2.3. Valores entregados por el sensor de sonidos, tomado de [14]. 2.1.3 Los motores de Lego NXT[16][17] Los actuadores de Lego Mindstorms son motores de corriente continua. La potencia que se va a manejar en las aplicaciones que se diseñen será baja, por lo que, de requerirse mayores potencias se podría pensar en arreglos con relés, electroválvulas u otros..

(43) 30. Figura 2.14. Motores Lego NXT. Los motores Lego pueden ser también servomotores y tienen un sensor de rotación integrado. La versión anterior de motores para el RCX requería la colocación de un sensor de rotación adicional para realizar tareas de control. Gracias al sensor de rotación integrado, es posible medir el giro de su eje con una precisión de 1 grado sexagesimal. La configuración interna del motor se muestra a continuación:. Figura 2.15. Interior de un motor Lego NXT, tomado de [16]. Sus características físicas y eléctricas son: -. Motor voluminoso de 80g.. -. Tiene internamente un tren de engranajes e incluye un codificador para controlarlo.. -. Al frenar el eje el consumo puede llegar a 2A.. -. Voltaje = 12V Corriente = 0,58A Potencia = 6,96w Rendimiento = 44,5%.

(44) 31 -. A un voltaje de 9 V y velocidad de rotación de 177 rpm proporciona un par de 16,7Ncm con un consumo de corriente de 0,55A.. -. La velocidad de giro máxima posible es de alrededor de 200 rpm.. -. Es posible usar el sensor de rotación del motor si es que así se requiere.. -. Para proteger al motor de intensidades de corriente muy altas, una resistencia PTC se encuentra montada en serie con él, de manera que el valor de ésta se incrementa rápidamente cuando la temperatura aumenta, limitando así la intensidad de corriente suministrada al dispositivo.. Para el movimiento de un modelo motorizado el firmware del NXT dispone de un algoritmo PID (no modificable), el cual permite que el modelo se desplace con precisión. 2.1.4 Conjunto de piezas Entre el resto de piezas de los kits de Lego Mindstorms constan engranajes, ejes, cables, levas y pistones, juntas cardan y amortiguadores. En total, el producto 8527 de Lego, contiene 577 piezas:. Figura 2.16. Conjunto de piezas del producto Lego Mindstorms 8527. Cantidad. Descripción. 1. Disco compacto NXT. 3. Cono 1 x 1. Figura.

(45) 32 Cantidad. Descripción. 1. Sensor eléctrico de luz NXT. 1. Ladrillo programable NXT. 1. Cable eléctrico Mindstorms NXT de 20 cm. 4. Cable eléctrico Mindstorms NXT de 35 cm. 2. Cable eléctrico Mindstorms NXT de 50 cm. 3. Motor eléctrico NXT. 1. Cable eléctrico serial USB. 1. Sensor eléctrico de sonido NXT. 1. Sensor eléctrico de contacto NXT. 1. Sensor eléctrico de ultrasonidos NXT. 1. Stickers para sensores NXT. 4. Conector Technic en ángulo #1. 2. Conector Technic en ángulo #2. Figura.

(46) 33 Cantidad. Descripción. 2. Conector Technic en ángulo #4. 16. Conector Technic en ángulo #6. 22. Eje Technic 2 (con muesca). 17. Eje Technic 3. 4. Eje Technic 3 (tipo tachuela). 4. Eje Technic 4. 7. Eje Technic 5. 2. Eje Technic 5,5 (con tope). 4. Eje Technic 6. 4. Eje Technic 7. 2. Eje Technic 8. 4. Eje Technic 10. 2. Eje Technic 12. 8. Junta flexible doble para ejes Technic. 2. Junta para ejes Technic. 8. Junta para ejes Technic perpendiculares. 4. Junta para ejes perpendiculares 3L. 13. Junta para ejes perpendiculares 3L con 4 clavijas. 6. Junta para ejes perpendiculares doble. Figura.

(47) 34 Cantidad 6. Descripción Junta para ejes perpendiculares con doble abertura. 6. Junta para ejes perpendiculares con dos agujeros. 4. Clavija con eje Technic. 42. Clavija con eje Technic con fricción. 2. Eje con gancho Technic. 1. Bola Technic roja de 52 mm. 1. Bola Technic azul de 52 mm. 16. Viga Technic 3. 8. Viga Technic 3 x 3 con clavijas. 6. Viga Technic 3 x 3,8 x 7 con doble inclinación de 45. 8. Viga Technic 3 x 5 con inclinación de 90. 16. Viga Technic 4 x 4 con inclinación 53,5. 5. Viga Technic 5. 6. Viga Technic 7. 7. Viga Technic 11. 4. Viga Technic 13. Figura.

(48) 35 Cantidad. Descripción. 11. Viga Technic 15. 8. Diente Technic Bionicle 1 x 3 con agujero para eje. 4. Arma Technic Bionicle (Pincer Suukorak). 4. Ladrillo Technic 1 x 4 con agujeros. 2. Ladrillo Technic 1 x 6 con agujeros. 18 8. Seguro Technic Seguro liso Technic 1/2. 4. Conector Technic con agujero para eje. 6. Engranaje Technic de 8 dientes. 4. Engranaje Technic de 12 dientes, doble bisel. 2. Engranaje Technic de 16 dientes. 2. Engranaje Technic de 20 dientes, doble bisel. 1. Engranaje Technic de 36 dientes, doble bisel. 1. Engranaje Technic de 40 dientes. 4. Rueda de perillasTechnic. 10. Brazo Technic en forma de L 2 x 4. 1. Instrucciones para construcciones de Mindstorms NXT. Figura.

(49) 36 Cantidad. Descripción. 1. Manual rápido de Mindstoms NXT. 1. Almohadilla de prueba para Mindstorms. 3. Clavija Technic. 3. Clavija doble Technic 3L. 4. Junta Technic para clavijas perpendiculares. 1. Junta Technic para clavijas perpendiculares en curva. 4. Junta Technic para clavijas redonda. 13. Junta Technic larga. 34. Junta Technic larga con fricción. 8. Clavija Technic larga con tope. 82. Clavija Technic con fricción y ranuras. 8. Clavija Technic con fricción y gancho. 1. Brazo Technic de polo invertido. 5. Dirección Technic 9L. 4. Triángulo Technic. 1. Plato Technic con agujero en la base y cubierta negra. 2. Rueda Technic. 2. Tornillo sinfín Technic. Figura.

(50) 37 Cantidad. Descripción. 4. Rueda 56 x 26. 4. Llanta 30.4 x 20. Figura. Tabla 2.4. Grupo de piezas que conforman el kit Lego Mindstorms 8527, tomado de [18],[19] y [20]. 2.2.. DESARROLLO DE LOS MÓDULOS. En cada uno de los diseños que se explicarán a continuación se han usado exclusivamente las piezas que corresponden a un kit de Lego Mindstorms NXT. De la misma forma, se ha procurado que cada aplicación provea la posibilidad de indicar la forma en la que operan los diferentes elementos de hardware existentes en estos kits. 2.2.1. MEDIDOR DE VARIABLES MÚLTIPLES [21]. El medidor consta del ladrillo NXT y se le ha acoplado el sensor correspondiente para que se pueda medir y/o visualizar la variable física deseada: longitud, área, volumen o sonido. 2.2.1.1. Medidor de longitudes. En esta aplicación se usa el sensor de rotación que se encuentra en el interior de un motor NXT para convertir el ángulo girado por el mismo en una longitud y la conversión se realiza mediante software. A continuación se muestra un diagrama simplificado del prototipo:.

(51) 38. Figura 2.17. Esquema del medidor de longitudes. Figura 2.18. Esquema simplificado del medidor de longitudes. La rueda debe girarse sobre la superficie cuya longitud se va a medir. Se ha usado la salida C para conectar el motor con su sensor de rotación. Los elementos adicionales sirven únicamente para la sujeción del motor al ladrillo NXT y como guía para el cable de conexión. Puerto. Tipo de hardware. Se utiliza el puerto de salida C para conectar un motor.. Sensor de rotación. Utilidad Permite tomar medidas del ángulo girado y del sentido de giro. Tabla 2.5. Puertos usados en el medidor de longitudes. Las siguientes imágenes muestran al prototipo armado:.

(52) 39 Tipo de vista. Vista frontal. Vista posterior. Vista superior (salidas). Vista inferior (entradas). Imagen.

(53) 40 Tipo de vista. Imagen. Vista desde la derecha. Vista desde la izquierda. Vista oblicua que permite ubicar a los elementos de sujeción usados (detalle 1). Vista oblicua que permite ubicar a los elementos de sujeción usados (detalle 2). Tabla 2.6. Imágenes del medidor de longitudes.

(54) 41. Se ha previsto la posibilidad de acoplar diferentes ruedas disponibles en el kit de Lego Mindstorms y así poder probar algunas opciones distintas. En la siguiente tabla se presentan las tres diferentes ruedas que pueden ser conectadas al eje del motor para realizar las mediciones.. Rueda. Imagen. 43,2x22. 56x26. 81,6x15. Tabla 2.7. Imágenes de las ruedas usadas en el medidor de longitudes. 2.2.1.2. Calculadora de área y volumen. Para esta calculadora se dispone del prototipo diseñado anteriormente, el medidor de longitudes y se lo usa con un programa distinto..

(55) 42. Figura 2.19. Dimensiones necesarias para la calculadora de áreas y volúmenes. La rueda debe recorrer, una por una, las dimensiones del área o volumen a determinar. El programa incorporado deberá permitir el registro de cada una de las dimensiones por separado, la conversión de ángulo girado en distancia recorrida, la multiplicación de los valores correspondientes y la presentación de los resultados de tal forma que se puedan visualizar valores de áreas y volúmenes. 2.2.1.3. Medidor de sonido. El medidor de sonido consiste en un ladrillo NXT y un sensor de sonido conectado a una de las entradas del mismo. Un diagrama esquemático de este medidor es el siguiente:. Figura 2.20. Esquema simplificado del medidor de sonido. Los puertos usados por este dispositivo se muestran en la siguiente tabla:.

(56) 43. Puerto. Tipo de hardware. Puerto de entrada 2. Sensor de sonido. Utilidad Permite tomar medidas del nivel de sonido ambiental. Tabla 2.8. Puertos usados en el medidor de sonido. La programación tiene especial importancia en este proyecto. Para probar su funcionamiento hace falta iniciar la ejecución del programa y acercar el sensor de sonido a la fuente que lo origina. Las imágenes que se presentan a continuación son suficientes para entender su configuración física. La programación permite, adicionalmente, congelar una muestra tomada y continuar con el proceso cuando se desee. Tipo de vista. Imagen. Vista frontal 1. Vista frontal 2. Tabla 2.9. Imágenes del medidor de sonido.

(57) 44 2.2.2. ESCORPIÓN [12]. El diseño mecánico del prototipo del escorpión tiene gran complejidad. Se utilizan los tres motores disponibles en el kit, dos de ellos para provocar el movimiento horizontal –sobre el piso- del escorpión y el tercero para producir el movimiento de la cola. Cada uno de los motores que provocan el movimiento horizontal activa a tres patas del escorpión. Esto se consigue mediante una configuración mecánica como la que se indica en la figura, donde se ha distinguido con un color distinto a cada una de las piezas que intervienen y se han marcado además los puntos fijos de la estructura. Los ejes de los motores se han pintado en azul.. Figura 2.21. Esquema simplificado del escorpión. Adicionalmente se colocó sobre esta estructura básica un sensor de sonido, de tal manera que el escorpión tenga la posibilidad de “oír” y reaccionar ante estímulos sonoros. Se ha previsto el siguiente funcionamiento para el escorpión: al iniciar el programa, el escorpión deberá avanzar hacia delante hasta que se encuentre con un obstáculo que está ubicado a una distancia “r”; entonces el escorpión deberá retroceder por un cierto tiempo y luego inicia nuevamente su proceso.

(58) 45 de marcha hacia delante. Si existe de pronto un objeto que se encuentra a una distancia “p”, entonces, aparte de retroceder, el escorpión activará su cola y “picará”. El escorpión sabrá que alcanzó su objetivo y que debe retroceder su cola, si el sensor de contacto ubicado en su punta fue activado. La incorporación del sensor de sonido permite la activación inicial del escorpión y, cuando ya se encuentra en acción, hace que éste “pique” cada vez que el nivel sonoro rebase un cierto límite, independientemente de que se encuentre o no con un obstáculo delante de él. Las distancias “p” y “r” antes mencionadas, deben ser modificables por programación. Los elementos de hardware principales que han sido utilizados en este prototipo son los siguientes: Puerto. Tipo de hardware. Puerto de entrada 1. Sensor de contacto. Puerto de entrada 2. Sensor de sonido. Puerto de entrada 4. Sensor de ultrasonido. Puerto de salida A. Motor NXT. Puerto de salida B. Motor NXT. Puerto de salida C. Motor NXT. Utilidad Permite iniciar el funcionamiento del escorpión y, cuando ha iniciado su operación, permite saber si el escorpión alcanzó su objetivo al “picar”. Permite iniciar el funcionamiento del escorpión y, cuando ha iniciado su operación, mide el nivel de sonido existente en el medio. Mide constantemente la distancia a la que se encuentran los objetos que se encuentran frente a él. Motor que hace que la “cola” se mueva para “picar”. Motor izquierdo (con el sensor de ultrasonido de frente) Motor derecho (con el sensor de ultrasonido de frente). Tabla 2.10. Puertos usados en el “escorpión”.

(59) 46. Las siguientes imágenes pretenden mostrar las principales partes que constituyen este proyecto. Las imágenes mostradas no pueden entenderse como una descripción detallada del proceso de construcción, pero sí como una posibilidad de entender la forma en que está construido el prototipo en cuestión. Tipo de vista. Vista frontal. Vista posterior. Vista superior (pantalla del NXT). Imagen.

(60) 47 Tipo de vista. Vista inferior. Vista desde la derecha. Vista desde la izquierda. Detalle de las “patas” (1). Imagen.

(61) 48 Tipo de vista. Detalle de las “patas” (2). Detalle de las “patas” (3). Detalle de las “patas” (4). Detalle de la “cola” (extendida y vista desde arriba). Imagen.

(62) 49 Tipo de vista. Detalle de la “cola” (extendida y vista desde un lado). Detalle de la “cola” (extendida y vista desde la parte posterior). Detalle del sensor de contacto. Detalle del sensor de sonido. Imagen.

(63) 50 Tipo de vista. Imagen. Detalle del sensor de sonido (2). Detalle del sensor de ultrasonido. Detalle de las “tenazas” (elementos netamente decorativos). Tabla 2.11. Imágenes del “escorpión”. 2.2.3. BRAZO MECÁNICO. La complejidad de este prototipo es grande y su diseño mecánico es un reto a superar. El brazo diseñado cuenta con tres articulaciones o grados de libertad: se permite un movimiento de giro sobre su propio eje para provocar un desplazamiento sobre un plano horizontal; existe la posibilidad de realizar un cambio de altura del brazo o desplazamiento vertical y finalmente existe una garra que se puede abrir y cerrar. El diseño debe considerar que el movimiento del brazo hacia arriba/abajo y hacia los costados hace que aparezcan fuerzas y momentos de giro, que la estructura debe soportar. Por esta razón se han.

(64) 51 colocado en algunas partes del prototipo elementos que, antes que ser decorativos, permiten dar estabilidad al equipo. Para el movimiento sobre el plano horizontal se ha conseguido acoplar al motor que lo activa un sistema reductor mediante engranajes y un tornillo sinfín. Esto permite que el movimiento en esa dirección pueda manejarse con relativa precisión y suavidad. Sin embargo, por la forma en que está hecho el brazo, esta posibilidad no se ha podido conseguir en el motor que produce el movimiento vertical; el hecho de colocar más elementos en el brazo hace que aumente su peso y por tanto dificulta el desempeño de la máquina completa. Es por esta razón que el movimiento vertical no se puede considerar “suave” y preciso. Para corregir parcialmente este problema hay que hacer un trabajo a nivel de software.. Figura 2.22. Esquema simplificado del brazo mecánico. Se ha previsto la posibilidad de que el brazo mecánico pueda ser movido manualmente tanto en forma horizontal como en forma vertical, para lo cual se dispone de dos perillas que permiten estos desplazamientos..

Figure

Figura 2.2. Diagrama de bloques del hardware del NXT, tomado de [14]
Figura 2.4. Distribución de los pines de los puertos NXT, tomado de [14]
Figura 2.5. Comunicación entre ladrillos NXT usando bluettoth, tomado de [14]
Figura 2.7. Acciones reconocidas por el sensor de contacto, tomado de [15]
+7

Referencias

Documento similar

Gran parte de la información básica y características del LEGO Mindstorms NXT y de sus distintos componentes, necesarias para la elaboración de este proyecto, se

Esta aplicación permite controlar un robot Lego Mindstorms desde un Smartphone con Android, aportando un módulo de inteligencia mediante la utilización de

 Conocer en profundidad todas las opciones que ofrece el robot Lego Mindstorms NXT con el firmware LejOS.  Pruebas de velocidad de la comunicación vía Bluetooth entre

•cero que suplo con arreglo á lo que dice el autor en el Prólogo de su obra impresa: «Ya estaba estendida esta Noticia, año de 1750; y pareció forzo- so detener su impresión

En estos últimos años, he tenido el privilegio, durante varias prolongadas visitas al extranjero, de hacer investigaciones sobre el teatro, y muchas veces he tenido la ocasión

que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el

Para ello, trabajaremos con una colección de cartas redactadas desde allí, impresa en Évora en 1598 y otros documentos jesuitas: el Sumario de las cosas de Japón (1583),

Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun