Robótica Lego – Lego Robotics

Mtro. Julio César Sandria Reynoso

Desde 2003 he trabajado con robots Lego Mindstorms RIS 2.0 y Lego Mindstorms NXT. En este artículo describo lo que he hecho con este interesante y divertido paquete de robótica.

Inteligencia Artificial y Robótica

En 2002 impartí mi primer curso de Inteligencia Artificial a estudiantes de la carrera de Ingeniería en Sistemas Computacionales Administrativos (ISCA) de la Universidad de Xalapa (UX, http://www.ux.edu.mx/), al terminarlo, pensé en agregar algo sobre robótica para hacerlo más práctico, interactivo e interesante para los estudiantes. 

En 2003 volví a impartir el curso de inteligencia artificial, para el cual compré el libro Stiquito for beginners: An Introduction to Robotics de James Conrad (2000). Di una breve introducción a la robótica apoyándome de dicho robot, aunque no quedé convencido de usarlo para el siguiente año, porque es un pequeño robot en forma de insecto, que se arma, se mueve con el calor generado por una pila y no hace algo realmente interesante.

A mediados de 2003 estuve buscando algún robot o paquete de robótica económico que pudiera usar con mis estudiantes de la UX, considerando siempre en usar algún lenguaje de programación como Java, C/C++, Visual Basic o Delphi, que yo dominaba. Dicha búsqueda me llevó al paquete de robótica Lego Mindstorms RIS 2.0(http://mindstorms.lego.com/), para el cual encontré que se podía programar en muchos lenguajes de programación, entre ellos Java, lenguaje que he estado usando para desarrollo de aplicaciones Web desde 2002.

A finales de 2003 me decidí y compré mi primer paquete Lego Mindstorms RIS 2.0. En diciembre de ese año estuve armando y programando con el software de Lego los diferentes modelos que traen la Constructopedia y el software. También aprendí a programarlos en Java, usando las APIs de leJOS (http://lejos.sourceforge.net/).

A principios de 2004 propuse en la UX que se compraran algunos paquetes del Lego Mindstorms RIS 2.0, y gracias al apoyo de la Ing. Araceli Torres, en ese entonces Jefa de las carreras de Ingeniería de la UX, se adquirieron 6 paquetes. 

En mayo de 2004, di mi primer curso de Programación en Java con robots Lego, el cual tuvo bastante aceptación, y en mi curso de Inteligencia Artificial (Feb-Jul 2004) los usé para un tema introductorio de Robótica.

Participación en concursos de robótica 

Primer Toreno Mexicano de Robots Limpiadores (2004)

En agosto de 2004 participamos en el 1er Torneo Mexicano de Robots Limpiadores, organizado por el Instituto Nacional de Astrofísica, Óptica y Electrónica (INAOE), la Universidad Popular Autónoma de Puebla (UPAEP) y la Universidad Veracruzana (UV) en las instalaciones de INAOE en Tonantzintla, Puebla; allí ganamos el segundo y tercer lugar con robots Lego programados en Java.

Segundo Toreno Mexicano de Robots Limpiadores (2005)

En 2005 también usé robots Lego Mindstorms RIS 2.0 en mi curso de Inteligencia Artificial, y con los alumnos de ese curso participamos en el 2do. Torneo Mexicano de Robots Limpiadores organizado por el INAOE, la UPAEP y la UV en el Edificio Carolino de la Benemérita Universidad Autónoma de Puebla (BUAP), en Puebla, Puebla; donde desafortunadamente no hicimos un buen papel. Por otra parte, en ese mismo torneo, con el Ing. Joaquín Cázares ganamos un segundo lugar con un robot construido desde cero con un microcontrolador PIC 16F84 programado en PIC-Basic. 

Tercer Torneo Mexicano de Robots Limpiadores (2006)

En 2006 también usé robots Lego Mindstorms RIS 2.0 en mi curso de Inteligencia Artificial con estudiantes de ISCA-UX y en el curso Análisis y Diseño de Sistemas con estudiantes de Ingeniería Electrónica y Comunicaciones (IEC) también de la UX. Ese año participamos en el 3er. Torneo Mexicano de Robots Limpiadores organizado por el INAOE, la UPAEP y la UV en instalaciones de la UV en Xalapa, Veracruz. Allí ganamos dos nombramientos al prototipo más ingenioso. Uno por un robot Lego programado en Java, armado por estudiantes de ISCA-UX y otro por un robot armado completamente desde cero, con un microcontrolador PIC, programado con Niple por estudiantes de IEC-UX.

¡Por fin ganamos en el 4° Torneo Mexicano de Robots Limpiadores!

Cuarto Toreno Mexicano de Robots Limpiadores (2007)

En 2007 usé otra vez robots Lego Mindstorms RIS 2.0 en mi curso de Inteligencia Artificial de la UX. Ese mismo año compré mi primer Lego Mindstorms NXT y colaboré durante 6 meses como investigador en el Centro de Investigación Innovación y Desarrollo Tecnológico, A.C. (CINNDET), donde hicieron una estancia estudiantes de ese curso de la UX y estudiantes de electrónica del Instituto Tecnológico Superior de Xalapa. 

Con ellos participamos en el 4° Torneo Mexicano de Robots Limpiadores organizado por el INAOE, la UPAEP y la UV en las instalaciones de la UPAEP en Puebla, Puebla. Finalmente ganamos dos primeros lugares, uno en la categoría principiantes con un robot Lego NXT programado con el propio software de Lego y otro en la categoría avanzados con un robot construido completamente desde cero con un microcontrolador AVR y programado en ensamblador.

Cursos y Talleres Programación de Lego Mindstorms con Java 

Desde 2004 he estado usando robots Lego Mindstorms RIS 2.0 y NXT para impartir cursos y talleres de robótica y programación Java, ya sea, aislados, de licenciatura o talleres de congresos.

  • Oct 2010. Taller Programación de Robots Lego Mindstorms NXT con Java (12 Hrs). En Congreso Internacional de Tecnología Aplicada (II CITA 2010) organizado por el Instituto Tecnológico Superior de Xalapa. Xalapa, Veracruz, México.
  • Feb 2010. Curso-Taller Programación de Robots Lego Mindstorms NXT con Java (24 Hrs). En el Instituto Tecnológico y de Estudios Superiores de Monterrey (ITESM) Campus Zacatecas. Zacatecas, México.
  • May 2007. Taller Programación de Robots Lego Mindstorms NXT (10 Hrs). En 1er Foro “Nuevas Tecnologías” Instituto Tecnológico Superior de Xalapa. Xalapa, Veracruz, México.
  • Mar 2007. Taller Minirrobótica Lego (4 hrs). En el XVII Congreso Interuniversitario de Eléctrica, Computación y Electrónica (CIECE 2007). Universidad Veracruzana, Facultad de Ingeniería Mecánica Eléctrica. Xalapa, Veracruz, México.
  • Ene 2007. Taller Introducción a la robótica (4 hrs). Universidad de Xalapa. Xalapa, Veracruz, México.
  • Mar 2006. Taller Programación en Java con robots Lego Mindstorms (4 hrs). En el Congreso Internacional de Ingeniería Industrial y Sistemas Computacionales c7. Instituto Tecnológico y de Estudios Superiores de Monterrey Campus Central Veracruz. Córdoba, Veracruz, México.
  • Nov 2005. Taller Breve introducción a Java con Lego Mindstorms (4 Hrs). En el 2° Congreso Nacional de Ingenierías CNTEC 2005. Instituto Tecnológico Superior de Xalapa. Xalapa, Veracruz, México.
  • Abr 2005. Curso-Taller Programación en Java con Robots Lego Mindstorms (20 Hrs.). Universidad de Xalapa, Xalapa, Veracruz, México. 
  • Mar 2005. Taller Breve introducción en Java con Lego Mindstorms (4 Hrs). En el Congreso Interuniversitario de Electrónica, Computación y Eléctrica (CIECE 2005) . IEEE. Puebla, Puebla, México.
  • May 2004. Curso-Taller Programación en Java con Robots Lego Mindstorms (20 Hrs.). Universidad de Xalapa, Xalapa, Veracruz, México.