Robótica con Lego Mindstorms
Publicado por Luis González en 9 Abril 2007
He argumentado ya en otro post el enorme poder de la robótica como actividad integradora de aprendizajes muy variados. La robótica, es decir, el diseño, construcción, programación y ensayo de máquinas robotizadas, requiere el desarrollo de muchas competencias relacionadas entre si: mecanismos, estructuras resistentes, circuitos electrónicos, cálculo matemático, medida de magnitudes, lenguajes de programación, diseño de algoritmos, etc.
Sin embargo, es posible que la construcción de los componentes mecánicos y los circuitos electrónicos en el aula de Tecnología sea demasiado exigente para los alumnos menos expertos, y consuma demasiado tiempo. Ahí es donde el uso de Lego resulta de una gran ayuda en las etapas iniciales de introducción a la robótica. Lego es un archiconocido fabricante de juegos de construcciones mediante piezas modulares apilables. Su producto Lego Mindstorms ofrece la posibilidad de construir máquinas y vehículos, dotados con sensores, y programarlos para que respondan a los estímulos recibidos en los sensores.
Lego Mindstorms
Lego Mindstorms es el nombre comercial de un juguete orientado a la robótica, compuesto por una enorme variedad de piezas, motores, engranajes y sistemas de fijación, con las que pueden construirse máquinas y vehículos.
La pieza clave del sistema es un ladrillo mayor (en la ilustración), denominado RCX, que contiene el microcontrolador programable en el que se almacenarán las instrucciones que regirán el comportamiento del robot.
Algunas piezas especiales del equipo, que pueden conectarse mediante cables al ladrillo RCX, contienen los componentes electrónicos necesarios para detectar las variaciones en cuatro parámetros: iluminación, contacto físico, calor y grado de rotación de un eje. Con estos cuatro sensores básicos pueden construirse una gran variedad de máquinas robotizadas.
Para completar el conjunto, un entorno gráfico de programación llamado Robolab permite diseñar programas en cualquier ordenador, mediante el encadenamiento de iconos que representan los procedimientos y subrutinas básicas del programa que controlará el comportamiento del robot.
Las comunicaciones entre el ladrillo RCX y el ordenador en el que hemos diseñado el programa se resuelven mediante un enlace de infrarrojos. Para ello, el equipo cuenta con un dispositivo llamado torre de infrarrojos, que deberá conectarse a un puerto serie o a un puerto USB del PC.
Las iniciativas para utilizar los ordenadores y, de forma específica, la programación de máquinas como herramienta de aprendizaje tienen en Seymour Papert y Mitchel Resnick dos pioneros muy destacados. Pappert, matemático sudafricano que trabajó con Jean Piaget en Suiza, fundó el laboratorio de inteligencia artificial en el MIT, a principios de los 60 y contó con la colaboración de Resnick como ingeniero de sistemas, muy interesado en el modo en que las nuevas tecnologías pueden ayudar a aprender cosas nuevas.
El desarrollo de los ladrillos inteligentes RCX surgió de la iniciativa del Media Lab en el MIT, con la colaboración industrial del grupo LEGO y la financiación de la National Science Foundation.
El hardware
El ladrillo RCX aloja en su interior un microcontrolador Hitachi H8/3292, que funciona a 16 MHz de reloj y un chip de 32 KB de memoria RAM externa. En su exterior ofrece 3 entradas y 3 salidas que se conectan mediante unas piezas LEGO dotadas de flejes conductores y cables. Un puerto de infrarrojos (PC a RCX o desde RCX a RCX) le sirve para comunicarse con el ordenador en el que se ha construido el programa o con otros ladrillos RCX.
También tiene un display LCD, de una única línea, en el que puede seguirse la ejecución de las instrucciones y el estado de la batería, 4 teclas (On-Off, Program, View, Run) y un zumbador piezoelétrico que hace las veces de altavoz.
El software
El entorno de desarrollo de programas proporcionado por Lego Mindstorms se llama Robolab, un programa orientado a la construcción gráfica de programas para RCX, desarrollado en la Tufts University, con el apoyo técnico de National Instruments y la financiación de Lego.
Es un entorno multiplataforma, que puede ejecutarse en distintas plataformas (Windows, Unix, Linux, MacOs). Robolab ofrece un entorno visual (mostrar imagen de un proceso simple y de un programa con múltiples procesos simultáneos) en el que el diagrama de flujo se representa mediante iconos sencillos, que guardan analogía con los componentes de Lego y no con los símbolos estándar de los diagramas de flujo.
Sus resultados en el robot son completamente predecibles: dadas las mismas variables en las entradas, el robot pasará por la misma secuencia de estados, lo que se conoce con el término de software determinístico. Y, a pesar de que la CPU del microcontrolador sólo puede ejecutar las instrucciones de una en una, la compartición de los recursos del sistema por varios subprocesos da la sensación de que se estan ejecutando todos a la vez.
Ventajas e inconvenientes
El hecho de disponer de muchas piezas modulares, motores, engranajes y conectores, fabricados con precisión en material plástico, nos permite construir en poco tiempo estructuras, máquinas y móviles fiables y resistentes. Esta facilidad de construcción evita las frustraciones producidas por los mecanismos artesanos construidos por los alumnos. Sin embargo es muy conveniente asegurar la consistencia de la máquina mediante piezas de refuerzo.
La programación en un entorno gráfico permite eludir el aprendizaje de la sintaxis formal de un lenguaje de programación y también enseñar los conceptos básicos de programación: variables, bucles, iteración o ejecución condicional, por ejemplo.
Los montajes con Lego pueden abarcar un enorme grado de complejidad, desde un sencillísimo móvil con dos motores hasta un brazo robótico como el de este ejemplo.
Pero entre los inconvenientes hay que citar que Lego Mindstorms dispone de pocos sensores de luz y contacto. Los sensores de temperatura y ángulo de rotación hay que adquirirlos aparte, como un extra y son caros. Así que la tarea de construir sensores caseros es inevitable, utilizando componentes convencionales: LDR, resistores, NTC, potenciómetros, etc.
Los motores de la primera generación de Lego Mindstorms RCX son de corriente continua. Es casi imposible controlar el movimiento de una máquina o de un vehículo con esa tecnología. Avanzar una distancia exacta o girar un ángulo preciso es imposible, porque el giro de los motores depende del estado de carga de las baterías, de los rozamientos en las transmisiones o del deslizamiento sobre el suelo. Para conseguir un control más preciso se necesitan sensores de avance angular, escasos y caros, o motores paso a paso que no forman parte del equipamiento Lego RCX. La siguiente generación de Lego Mindstorms, denominada NXT, ha resuelto este problema. Pero la mayoría de los centros que han recibido dotaciones de Lego tienen el ladrillo RCX.
El acceso a los puertos de entrada y salida está muy dificultado por la decisión de utilizar una pieza Lego específica, dotada de unos flejes conductores en su cara interna. Es francamente complicado extender o escalar las conexiones a los puertos con materiales o componentes habituales en las tiendas de electrónica. En esto contrasta con el producto ProfiComputing de Fischertechnik, que permite las conexiones a los puertos con cable paralelo y bananas de conexión apilables.
El ladrillo RCX puede alimentarse desde un adaptador externo de 9 voltios aunque, si se quiere montar el ladrillo en un vehículo robotizado para dotarlo de autonomía es necesario alimentarlo con 6 pilas alcalinas de 1,5 voltios. Su elevado consumo aconseja utilizar baterías recargables, en lugar de pilas, pero eso tiene un serio inconveniente: las baterías recargables proporcionan una tensión de 1,2 voltios, a plena carga, lo que arroja un total de 7,2 voltios en el mejor de los casos. Para participar en una competición, un robot Lego deberá estar alimentado con pilas alcalinas para tener un buen par en el eje de los motores.
Comunidades de Lego Mindstorms
Spain-Lego: es una lista de correo de usuarios de Lego en español. Está construida sobre el gestor de grupo de Yahooy, para participar en él hay que suscribirse. Es gratuito.
Lugnet: Es la comunidad internacional de usuarios de Lego (Lego Users Group Network). En su web podrás encontrar foros, servicios y noticias de interés para los aficionados a este producto. Hay un portal hispano de Lugnet, llamado ladrillitos
Complubot. Comunidad virtual pilotada por Eduardo Gallego, que tiene su sede en el CP Miguel Hernández de Alcalá de Henares donde desarrollan su actividad en horario extraescolar y celebran todos los años un certamen de robótica educativa.
O’Reilly. Algunos aficionados, como Jonathan B. Knudsen, han publicado libros ilustrados con instrucciones completas para construir docenas de modelos Lego Mindstorms. Algunos de esos modelos y sus instrucciones de montaje son accesibles en red.
Adrian Giecco es otro de esos aficionados especiales, que construye maravillosas máquinas con Lego y nos ofrece las instrucciones para su montaje y los programas empleados para su control.

13 Agosto 2007 en 4:06 pm
necesito aprender—–
fausto_japan@hotmail.com
17 Agosto 2007 en 5:04 pm
Ahi otro LUG español. Se llama HispaLUG y su pagina es http://www.hispalug.es
3 Marzo 2008 en 1:38 am
es la primera vez que voy a dictar Robòtica y por favor si me ayudan para realizar el plan anual para nivel primario y secundario de una institucion privada.
lo hare con lego educational
mil gracias..
5 Marzo 2008 en 12:15 pm
Idea tu propia secuencia de enseñanza. Quizá te sirva empezar con unas sesiones para enseñar a usar el software Robolab, utilizando su propia guia didáctica (Using Robolab)
Saludos