• Descarga | Suscripciones en iVoox / Apple Podcasts / Spotify / Google Podcasts •
Juegos Robótica episodio 22. Programar LEGO Minsdstorms por bloques tipo Scratch.
Bienvenidos a Juegos Robótica, el podcast en el que hablamos de robótica educativa, iniciación a la programación, aplicaciones para docentes, entornos de programación para niños y en general todo lo que tiene que ver con despertar la curiosidad de los más jóvenes por la programación y la tecnología para que se conviertan en creadores y no en meros consumidores.
Como ya sabes este podcast es un reflejo sonoro de los contenidos y cursos que puedes encontrar en juegosrobotica.es
Y recuerda que si quieres aprender a programar a través de la robótica o quieres formarte para enseñar a programar puedes darle un vistazo plataforma de cursos en juegosrobotica.es/cursos y acceder a la formación online más completa con robótica educativa por 10 euros al mes, aprendiendo desde la base y a tu ritmo.
LEGO Mindstorms EV3.
En su momento ya repasamos la historia de LEGO Mindstorms reconociendo al kit pionero en robótica educativa, y hoy hablaremos de las posibilidades alternativas que tenemos a su software de programación original.
Actualmente la versión que se comercializa de LEGO Mindstorms es EV3, existiendo dos alternativas, una de ellas enfocada al entorno educativo y la otra enfocada al uso doméstico, si bien ambas opciones son perfectamente compatibles y les podemos dar el uso que deseemos.
El sistema de robótica educativa de LEGO es vista con recelo por muchos educadores por tratarse de un sistema propietario y cerrado, si bien esto no es del todo cierto.
Un gesto enorme de apertura por parte de LEGO se produjo en 2016 cuando permitió la libre distribución del entorno de programación para Mindstorms EV3 que se utiliza en educación y que hasta ese momento era de pago mediante licencia.
Esto quiere decir que actualmente cuando compramos un kit de LEGO Mindstorms EV3 podemos hacer uso del entorno de programación de educación sin gasto adicional y por supuesto lo vamos a poder aprovechar tanto en la versión educativa como en la versión doméstica.
Incluso podemos decidir probar el sistema comprando un kit de segunda mano y descargar libremente el software de programación educativo.
Pese a estas opciones hay sectores que opinan que sigue siendo caro teniendo en cuenta las alternativas actuales en robótica educativa, sin embargo tenemos que pensar que es un producto de altísima calidad y con una resistencia que aguanta muy bien curso tras curso su uso continuado. Es un kit de robótica educativa de precio elevado pero no diría que es caro y de hecho en muchas situaciones es más fácil de amortizar que otros kits más económicos.
Pensemos que en algunas universidades aún se utilizan kits de LEGO Mindstorms NXT, es decir de la generación anterior al EV3, y han pasado muchos años desde que se empezaron a utilizar.
Otro dato a tener en cuenta a la hora de calcular su valor real o su amortización es que puede ser utilizado en todos los niveles educativos respecto a la programación, y eso unido a su resistencia y durabilidad nos permite aprovecharlo muchísimas horas si en nuestro centro podemos dar ese uso de varios niveles.
Debido a la relación de LEGO Mindstorms con las universidades, y no debemos olvidar que el sistema fue creado en una universidad como es el Instituto Tecnológico de Massachusetts, ya desde sus primeras versiones se buscaron alternativas a su lenguaje de programación por bloques.
Otros lenguajes de programación para Mindstorms.
Además de otros lenguajes de alto nivel el kit Mindstorms EV3 puede ser programado en lenguaje Java y en una adaptación del lenguaje C llamado RobotC.
Sobretodo con RobotC lo que se buscó era que programadores que ya se estaban iniciando en lenguaje C a través de código pudieran aprovechar los kits de robótica de LEGO que ya estaban presentes en la universidad para poder adentrarse en la computación física con un lenguaje que ya conocían y sin tener que enfrentarse a la programación de microcontroladores desde la base.
Por otro lado existe la posibilidad de crear una máquina virtual en un robot de LEGO de manera que se genera un entorno que puede ser programado en Java. Aunque no sea exactamente un sistema operativo puedes pensar en que se cambia el sistema interno del robot para poder utilizar Java.
Aprovechando esta nueva funcionabilidad apareció una de las dos alternativas para programar LEGO Mindstorms por bloques en sistema vertical de las que te quiero hablar hoy. Se trata de Open Roberta.
Opciones para programar con bloques tipo Scratch.
El proyecto Open Roberta está en marcha en Alemania desde hace más de 15 años y conforma un entorno de programación a través de bloques tipo Scratch para programar diferentes kits de robótica educativa.
El proyecto recibió en 2014 la ayuda de un millón de euros por parte de Google.org lo que significó una evolución hacia el entorno de programación que actualmente conocemos y que ha sido desarrollado por el Instituto IAIS de la Fraunhofer Society.
Open Roberta está disponible para su uso en todos los colegios públicos de Alemania donde los profesores tienen acceso a una formación específica, pero puesto que el proyecto es abierto y de libre distribución se puede utilizar por parte de quien quiera.
Como te decía Open Roberta permite programar nuestro robot LEGO Mindstorms EV3 mediante bloques de tipo Scratch. A este tipo de programación la llamamos de tipo vertical para diferenciarla de la original de LEGO que es horizontal.
Obviamente la única diferencia no es la orientación en la que colocamos los bloques para programar, pero se utiliza esta nomenclatura para diferenciar un tipo de programación por bloques de otro.
De la misma manera aunque hablemos de que con Open Roberta vamos a poder programar un robot LEGO con bloques tipo Scratch realmente la base no es Scratch sino Blockly, que es un sistema casi idéntico a Scratch desarrollado por Google y que permite personalizar entornos de programación específicos basados en bloques para programar online.
El lenguaje por bloques original de LEGO es algo más complejo que el propuesto por Scratch o Blockly por lo que puede resultar un poco frustrante para niños que lo hayan utilizado y conozcan Scratch o incluso que hayan programado con mBlock. No es que sea más difícil, pero si que es muy diferente en los conceptos de los bloques.
En este sentido Open Roberta es de gran ayuda ya que lo pueden utilizar niños que se estén iniciando igual que harían con Scratch, y la curva de aprendizaje utilizando el robot se acelera respecto al software original de LEGO.
La gran ventaja de Open Roberta sobre otras alternativas para programar por bloques que veremos a continuación es que incluye un simulador.
Un simulador nos va a permitir que los alumnos puedan trabajar en su programa y lo vayan perfeccionando sin tener que estar utilizando el robot físicamente de manera que podemos tener menos unidades de las que serían necesarias sin simulador.
Posteriormente los alumnos pueden cargar el programa que ya han probado y perfeccionado mediante el simulador en el robot por turnos para comprobar su funcionamiento en el mundo real.
Además los alumnos pueden hacer uso del simulador desde casa si les pedimos algún tipo de ejercicio para trabajar fuera del aula o taller de programación.
Otra ventaja que se está poniendo en práctica en muchos colegios de Alemania es que Open Roberta permite programar no sólo LEGO Mindstorms EV3 sino que también permite la programación por el mismo sistema de bloques de Micro:Bit, Calliope, Nao, Bot´n roll, BOB3 e incluso versiones antiguas de Mindstorms como es la NXT.
Al ser un sistema abierto en principio cualquiera podría adaptar el sistema de Open Roberta a su propio robot o placa para poder entrar en el listado compatible.
Otra alternativa que tenemos para programar los robots de LEGO Mindstorms por bloques es a través de ScratchX.
Recuerda que ScratchX es un entorno de programación paralelo a Scratch que permite la instalación de extensiones “no oficiales” o que no han sido comprobadas por el equipo de Scratch.
ScratchX, de igual manera que ocurría con mBlock, tiene una apariencia exactamente igual a Scratch, por lo que su ventaja es que si vamos a trabajar con niños que ya hayan programado en Scratch no van a notar el cambio.
Esto nos permite pasar de estar programando una aplicación en Scratch a programar un robot LEGO con ScratchX directamente, lo cual es muy estimulante para los estudiantes y podemos aprovechar ese interés para virar hacia la computación física, bien sea con LEGO o con otro kit al que tengamos acceso.
El punto negativo respecto a Open Roberta es que no dispone de simulador, por lo que estaremos limitados por la cantidad de robots disponibles para los estudiantes.
Aunque con la extensión de Mindstorms EV3 para ScratchX no tenemos disponibles ni mucho menos todas las opciones de programación que tenemos con el entorno de programación original de LEGO, es más que suficiente para el nivel que supuestamente estaremos trabajando.
La extensión para ScratchX permite acciones de movimiento de motores, emitir notas y sonidos y tomar lectura de los sensores de distancia, luminosidad y encoder de motores así como de la pulsación de botón del mando a distancia de infrarrojos.
La idea, como te comentaba al principio, es poder aprovechar al máximo los kits de LEGO que tengamos disponibles y no tenerlos únicamente para una programación en niveles avanzados sino que podamos aprovechar estos equipos para iniciación a la programación de robots.
Combinando LEGO Mindstorms con LEGO Technic o ciertos kits de LEGO Educación podremos explicar conceptos básicos de mecánica que se suelen trabajar en primaria pero iniciando el concepto de automatización gracias al ladrillo inteligente de LEGO Mindstorms y la programación sencilla por bloques que nos facilita tanto Open Roberta como ScratchX.
Por último tenemos la opción de programar LEGO Mindstorms mediante Makecode. Si, has oído bien. Microsoft no va a ser menos que Google y también ha incorporado Mindstorms a la lista de dispositivos programables con Makecode aunque de momento está en fase beta.
Makecode es otro entorno de programación online basado en bloques bien conocido por su utilización con la placa micro:bit y que también se puede utilizar con Minecraft, los robots de Wonder Dash and Dot, Chibichip y las placas de prácticas Grove Zero de Seeed o Circuit Playground Express de Adafruit.
Aunque esté en fase beta está claro que Microsoft está apostando fuerte con LEGO Mindstorms con Makecode por lo que probablemente con el tiempo esta plataforma pase a ser el estándar para programar Mindstorms por bloques tipo Scratch.
En la plataforma de cursos de Juegos Robótica utilizamos el software original de LEGO para programar un robot Mindstorms EV3, pero si te interesa saber cómo funciona Open Roberta y realizar tu primer programa a través de ese entorno tienes un par de tutoriales disponibles en la web que te dejo enlazados.
Pues esto ha sido todo por hoy. Ahora ya conoces dos alternativas para programar LEGO Mindstorms EV3 a través de bloques de manera mucho más sencilla que con el software original de LEGO aunque sean un poco más limitadas respecto a las programas que podemos crear, eso sí, una de ellas con un maravilloso y práctico simulador.
Nos escuchamos en un próximo episodio hablando de otros entornos de programación, repasando algún kit de robótica educativa o cualquier otra herramienta que nos ayude en el aprendizaje de la programación y la robótica.
Hasta entonces que tengas una feliz semana, nos vemos en siete días… adiós!
O E says
15/11/19
En la última versión, Open Roberta incluye una versión beta para mBot
Dani says
Gracias por el aviso. Si podemos le daremos un vistazo y haremos una reseña.
Saludos