Por: Alejandro D'Agostino [tw: @lale_ ] / Jueves, 8 de Mayo de 2014

miniBloq: el entorno argentino para programar robots usado en escuelas de todo el mundo

El programa es de código abierto y compatible con Arduino. Permite eliminar los errores en tiempo real y acortar la curva de aprendizaje. Y fue usado hasta por la Universidad de Harvard para enseñar robótica en África.

La Robótica es una de las ramas tecnológicas del momento, especialmente tras la aparición de plataformas abiertas como Arduino e iniciativas para enseñar esta disciplina en las escuelas. Uno de los entornos de desarrollo (IDE, según sus siglas en inglés) más interesantes para la enseñanza de robótica es miniBloq, creado por el argentino Julián da Silva Gillig y utilizado en escuelas de todo el mundo.

“miniBloq es un entorno gráfico sencillo. La idea es reducir al máximo los errores de sintaxis, para que el usuario se concentre en el programa que está desarrollando, algo muy importante, cuando se trabaja con chicos y principiantes. Además, en las escuelas primarias, al maestro también le suele costar tiempo identificar errores de sintaxis”, explicó Da Silva Gillig en comunicación vía correo electrónico con RedUSERS.

“Tiene varias características orientadas a que quien lo utiliza vea rápidamente si se olvidó de algo, o si algo no está bien, entonces va agregando los bloques a su programa y se va enterando en el momento de qué cosas podrían no funcionar. Esto reduce mucho la curva de aprendizaje y el desarrollo de los proyectos chicos, a los que está orientado por ahora”, completó el experto, quien por estas horas está en viaje de negocios en Estados Unidos.

redusers-minibloq-07Julián Da Silva Gillig (centro)redusers-minibloq-04redusers-minibloq-08Captura de miniBloq

Si bien miniBloq puede utilizarse para cualquier proyecto, en la actualidad se utiliza para la educación. Es más, las escuelas primarias de la provincia de San Luis tienen kits de armado RobotGroup y utilizan miniBloq. “Desde el 2010, entiendo que se han capacitado aproximadamente 80.000 chicos. Y el proyecto sigue creciendo. También se está utilizando en La Rioja, en Buenos Aires, en Capital y en otros lugares. Además, está traducido a 16 idiomas, y eso lo hizo voluntariamente gente de otras partes del mundo”, añadió Julián, quien agregó que miniBloq es usado en escuelas de los cinco continentes, según los correos electrónicos que recibe y posts publicados en el foro.

“miniBloq está programado en GNU C/C++ (gcc), con las librerías open source wxWidgets. El IDE es una versión portable de Code::Blocks. La última versión además incluye una distribución de Portable Python para el nuevo mini simulador 2D que incluye, llamado miniSim, que permite aprender cosas básicas de robótica sin tener un robot“, se explayó Julián, quien adelantó que miniSim “está pensado para funcionar en las netbooks de Conectar Igualdad como hardware mínimo“.

Por otro lado, miniBloq es uno de los IDE preferidos para programar placas compatibles con Arduino debido a que es mucho más fácil de usar que el entorno oficial. Además, según remarcó el experto, permite agregar código textual o incluso programar sin los bloques. “Esto todavía está un poco verde, pero es parte de la estrategia para llevar a miniBloq a ser un IDE alternativo al Arduino IDE. Por otra parte, es el único entorno que permite pasar un proyecto de programación gráfica a textual, y viceversa con el proyecto ya comenzado”, resaltó.

También es posible portar el código generado a otros IDE, pero como miniBloq usa varios lenguajes, puede ser una tarea difícil. “El código Python generado para miniSim corre perfectamente en IDLE, el IDE que viene con las distros de Python. El código C/C++ Arduino-compatible requiere algo de trabajo para usarlo con el Arduino IDE. No probé compilar con otros IDE de C++, pero en principio debería poderse. Y se puede agregar código textual a miniBloq y usarlo como IDE básico”, se explayó Julián, quien está trabajando en una versión industrial de miniBloq.

La historia de miniBloq

redusers-minibloq-06
redusers-minibloq-05
redusers-minibloq-02

La historia de este programa comenzó en 1995, como derivado de un proyecto de ciencias escolar, cuando Julián desarrolló algunas interfaces de robótica que se conectaban al puerto paralelo y contaban con librerías para Logo, Visual Basic y Delphi. En 1997, lanzó MiniBloques, el ancestro de miniBloq, que le llevó unos dos meses de implementación.

“Tenía siete  instrucciones o bloques y permitía programar esas interfaces muy fácilmente, los colegios que lo usaron lo apreciaron bastante. Estaba desarrollado en Delphi y corría en Windows 3.1. Creo que fue un año antes de que salga el Lego RCX, que ya venía con programación gráfica”, recordó este experto en robótica de 38 años.

Luego de renunciar a su trabajo en relación de dependencia en 2003, vendió el auto y armó con dos socios la firma XiOR S.A, donde comenzaron el desarrollo del sistema constructivo para robots Multiplo. Como le faltaba la programación gráfica, en 2007 se fue de la empresa y consiguió un aporte del FONSOFT, dos años más tarde ingresó como socio a RobotGroup, una empresa creada por la profesora de matemáticas Mónica Paves y el ingeniero químico Lucio Mercado. Finalmente, gracias al financiamiento colectivo vía Kickstarter, Multiplo y MiniBloq ya son una realidad. La firma RobotGroup suele exponer sus creaciones en Tecnópolis y recibió el premio Innovar en 2006, 2010 y 2011.

Monetización y futuro de miniBloq

Una de las grandes incógnitas de los proyectos de código abierto es cómo lograr que sean rentables. Por el momento, la monetización se basa en la venta de kits de robots para armar a través de RobotGroup y de su filial china, RobotGroup-Multiplo, pero se están analizando otras alternativas. “Ahora, justamente, estoy armando un nuevo modelo de negocios, donde cada fabricante puede pagar para agregar su hardware a la distribución oficial“, reveló el emprendedor.

Además, otras empresas han aportado al proyecto, como Seedstudio, de China; SparkFun, Tesla Robotics y Arcbotics, de Estados Unidos; doingIT, de Chile; y próximamente el USA STEM Center de Los Ángeles. Además, cada vez que Julián lanza una nueva versión para Windows, su amigo chileno Juan Pizarro compila una distribución para GNU/Linux.

El día que Harvard le ganó al MIT gracias a miniBloq

A la hora de recordar anécdotas, Julián destaca su última gran satisfacción. “El Self-Organizing Systems Research Group de la Universidad de Harvard se presentó a un concurso en África patrocinado por la IEEE para desarrollar un robot de ultra bajo costo, de alrededor de US$ 10, para enseñar robótica en ese continente“, confió el experto.

La competencia no era fácil, pues también participaba el Instituto de Tecnología de Massachussets (MIT), una de las universidades tecnológicas más prestigiosas del Mundo. Pero el proyecto de Harvard obtuvo el primer premio en la categoría Software gracias a su solución basada en un derivado de MiniBloq.

Esta clase de proyectos pueden hacer la diferencia, porque llegan a chicos que no tendrían acceso de otra forma. Y que Harvard le gane al MIT en un concurso internacional usando miniBloq me pone más que contento”, remató Julián.

De acuerdo con el emprendedor, las ventajas principales del producto son su carácter contextual, que permite mostrar sólo los bloques que se pueden colocar en el lugar donde el usuario está trabajando, evitando que tenga que buscarlos; genera código en tiempo real cada vez que el proyecto se modifica, mientas otras opciones generan el código cuando se presiona un botón; muestra errores en tiempo real cuando falta completar algo o un número está mal formateado; tiene un backend XML, lo cual permite agregar casi cualquier hardware (además de Arduino); y puede generar código C/C++ para Arduino y casi cualquier lenguaje orientado a objetos o imperativo.

Claro que aún faltan algunas cosas por mejorar y serán los próximos desafíos que enfrentará miniBloq. “La edición de los bloques deja todavía bastante que desear y tengo que optimizarlo mucho. Ahora, estoy trabajando en nuevo hardware de robótica y electrónica para fabricantes, donde miniBloq va a poder mostrar los esquemas físicos de conexión y coordinar esto con el código automáticamente. Además hay otras características sorpresa en las que estoy trabajando”, señaló el emprendedor.

“El otro gran asunto es lanzar versiones para iOS y Android, pero para eso voy a necesitar apoyo económico. Quizá otro Kickstarter, no sé todavía”, remata Julián, quien ya tiene algo de experiencia con el crowfunding: con miniBloq duplicó su meta monetaria, en tanto que con el sistema de robots para armar Multiplo recaudó 10 veces más de lo pretendido.

Fotos: Gentileza Julián da Silva Gillig

Link para desgargar miniBloq (Windows y Linux)

Galería de Imágenes

Últimos lanzamientos Ver más

  • arielcero

    Muy bueno el proyecto, y que los estudiantes puedan aprender a programar de una manera didactica es un paso gigante en la educacion de nuestro país.
    Vi un proyecto similar en España y me parecio genial. Este se basa que ademas de poder programar el robot y compartir el codigo de forma libre. Podes diseñar las piezas e imprimirlas en impresoras 3D, y a su vez tambien las piezas se comparten en repositorios de Github donde todos los estudiantes, puede modificarlas y volver a subir sus creaciones. Generando “mutaciones” de una misma idea, eso es lo que lo hace poderoso e interesante.
    http://www.iearobotics.com/wiki/index.php?title=Mini-Skybot

  • Pingback: Robot N8 | Profe Tolocka()

  • alberto

    me hizo acordar a los viejos sistemas logo y list , francamente de todo lo que lei aca y un poco de como funciona la cosa esta , me parece fantastico , creo el pibe que se ponga a laburar con esto va a tener una nocion de manejo en robotica y algo de plc (sin las complejidades que este ultimo tiene pero le va a dejar una buena idea) , como todo va en estapas , a posteriori el que quiera hacer mas tendra que estudiar mas y mas complejo , pero nadie nacio sabiendo que 1 +1 es dos

  • matias

    es compatible con raspberry?

  • Pingback: #miniBloq , el lenguaje de programación argentino para robots que llega a todo el mundo | Zona de Promesas()

  • AGUANTE ARGENTINA!!

    Suma para el pais, felicito a la gente q armo esto. A DAR PROGRAMACION EN LA VILLAS!!!!!

    • pepe

      Por que en la villas flaco? Que flasheaste?

  • Silvio Casse

    Me pone orgulloso este tipo de noticias, lastima que en los noticieros no le gusta pasar las noticias buenas, siempre las malas, y malas, pero si pasarían este tipo de noticia, surgirían millones de proyectos de este estilo, sólo basta pasar este tipo de noticias geniales…

  • Pingback: miniBloq: el entorno argentino para programar robots usado en escuelas de todo el mundo | Civeloo News()

  • Mariano Gaston Noriega

    Que bueno, esas son noticias de mi país. Felicitaciones a los muchachos que nos dejan muy bien afuera.

  • SAYO

    Podrían poner el Link con la compilación en Linux. Gracias

    • Estimado, se puede bajar desde el sitio de miniBloq. Pero para facilitar la tarea, acabamos de insertar el link (tanto para Windows como para Linux) dentro de la nota: http://blog.minibloq.org/p/download.html. Gracias. Saludos.

    • SAYO

      muchas gracias.
      Ayer lo busqué y no encontré esta frase.
      Linux: Not ready yet, preliminary version in this GitHub branch.

      De nuevo muchas gracias.

  • Duilio Gomez

    Bien Por el autor de minibloq. genial que lo usen los estudiantes.

    • P0lT10n

      el proximo paso es que lo hagan ellos mismos por codigo

    • Julián

      miniBloq genera el código en tiempo real, y además permite escribir programas basados en código puro.

    • P0lT10n

      no sirve un programa que te muestra modulitos y tenga el codigo mas puro, vos lo tenes que pensar y hacer… para aprender esta bueno, pero vos tenes que saber leer el codigo, no los dibujitos del programa… porque asi vamos a saber programar con los dibujitos que nos pongan los desarrolladores, y asi no se programa…

    • Rodolfo

      No te gastes, la idea de todo esto es que puedan desarrollar un proyecto que requiere años de ingeniería, sin saber siquiera que es lo que tenes en las manos… Esto lo lanzo Arduino hace 10 años, con su IDE lleno de código fuente y su placa entrenadora UNO. Que no te extrañe que venga un Abogado (por decir una
      especialidad que nada tiene que ver) y que desarrolle una alarma domiciliaria con servicio web para monitoreo externo… Claro… (abrir el ide, buscas ejemplo, “servidor web” y listo) sin saber que es un Stack TCP/IP, que es un registro FSR, una interrupción ni que es un lazo While… Cargas el firmware, pones un shield arriba de otro como si fuese un LEGO y listo! pero buen el señor monto un desarrollo que requiere años de conocimiento. Claro que el problema existe cuando este señor dice, “epa! me gustaría que se prenda un led RGB en función del estado cambie de color” y ahí se encuentra con que no tiene idea de programación! pero le consulta a un amigo programador y lo logra, ahora el otro problema, y como conecto ese led? como calculo sus resistencias, y los drivers clase E para este?, y ahí busca a su otro amigo técnico electrónico y listo. pero entonces al final… Usaste un ejemplo que ya venía en el IDE, te lo programo un amigo y te lo desarrollo otro amigo.. y que hiciste vos? bueno ahí
      está el gran agujero que dejan estas ideas precosidas… Lamento decirlo, pero si queres saber de esto… Aprende electrónica desde cero, programación desde cero, y en un par de años vas a poder montar algún secuenciador de luces con leds y mcu… Analogía… Es como decir que la cumbia villera es música…
      Pobre de los compositores del siglo XVIII…

    • P0lT10n

      O_o me sorprendiste, todo lo que escribiste, es lo que pienso yo, y lo que veo y me enerva que pasa siempre con estas cosas de IDEs que hacen todo con dibujitos…

    • Mario

      Lo importante es abrir la cabeza muchachos, al que le guste, va a aprender todo lo demás.

    • P0lT10n

      Obio, pero aca solo lo usan para “aprobar” y listo… el que realmente le interesa, lo mira 10 minutos, aprende, y se manda con el ide…

    • PuT0nTr0laz0

      Obvio que sos un animal por haber escrito “Obio”… Pero bueno, que le vamos a hacer PuT0n…

    • P0lT10n

      jajajajajaja que envidia me tenes 😉 haters gona hate bobito

    • Rodolfo

      JAja que quilombo arme con mi comentario… Bueno es verdad comparto lo que dice Nicolás, y lo que dice Mario. En algún momento uno aprende de abajo y algún ejemplo mira aunque sea de un libro, y lo importante es abrir la cabeza y al que le interesa continuara su estudio, eso es real y lo comparto, no piensen que estoy en contra de este miniBloq, está muy bueno y parece una forma eficiente de aprendizaje para aquellos que no están tan en el tema, solo digo (por experiencia laboral propia) que tomar un ejemplo de un IDE, y montar un sistema operativo… no ayuda al alumno a comprender como funciona. Voy a poner un ejemplo, Soy PEPE que estudio en el conservatorio de violín y vi en internet esto de Arduino y que la gente hace “cosas copadas”, entonces voy a la tienda onilne de turno, adquiero una placa entrenadora por ar$400, compro un Shield de matriz de leds, instalo su IDE, y busco “Example Matrix LED…….” cargo el programa y cambio el string que dice Hola mundo por, Hola soy pepe. Entonces después subo a CaraLibro mi video re copado, tengo 34 comentarios y blablabla.. Todo bien, pero mañana se le ocurre realizar otro programa que requiera modificar el fuente y se encuentra con un * y dice que mierd… es esto? y si pepe, es un puntero.. Entonces ahí empieza la joda… (Como dicen arriba uno cuando empieza desde cero siempre ve un ejemplo en un libro) pero ojo… Cuando empzas desde cero el libro empieza con un printf(“Hola Mundo”), no empieza con punteros… ni con memoria dinámica, ni con listas/colas/pilas… no sé si me explico. Entonces ahí es donde le pifian al palito, esta bueno que PEPE diga “qué bueno que esta prender una matriz de leds” pero realmente esta bueno que no tenga ni un 1% de idea de lo que está haciendo?, Para que puede servir esto?, Desde mi punto de vista solo a modo propaganda para que PEPE el día de mañana se instruya, porque claramente si vas a un laburo y te piden que expongas el funcionamiento de ese proyecto fuiste. Entonces, a lo que voy, esta bueno, para mi es una muy buena propaganda, es mas, es un marketing extremo. Después de todo Atmel lo que quería no era generar ingenieros con esto, sino vender entrenadoras, generar “DEPENDIENTES” que requieran comprar sus Shileds (porque no todos son capaces de desarrollaros), comprar sus Cursos, Comprar sus manuales… Porque ya que estamos, PEPE que desembolso $400 en el Arduino y otros $300 en el Shield, ya tiene ahí en la mesa un hardware, entonces “ya que esta” hago el curso que me sirva para ESE hardware, logrando así un movimiento de dinero… Tengan en cuenta algo, a las grandes empresas no les interesa la gente, les interesa los números, para Atmel son números, vendieron muchas placas, vendieron muchos cursos, vendieron mucho!, y la gente que compro estas entrenadoras y no está en el tema cada vez le cuesta mas salir de ese entrenador porque si sale al mundo real (en donde tenes que saber Electrónica y Programación) se dan cuenta que les falta muchísimo, entonces se quedan ahí y siguen alimentando al gigante.

    • Nicolas

      Yo creo que es un poco extremista lo que decís Rodolfo.
      Estoy seguro que vos tambien aprendiste a programar con ejemplos.
      Todos deben empezar con ejemplos, uno no puede abstraerse de la nada, es dificil la abstracción.

      Y que mejor forma que un método gráfico, en donde uno puede relacionar más fácil. Esto es un método útil para las personas que recien empiezan a programar.

      Después de todo, lo importante es la creatividad…

    • Alberto

      eso se llama ser “socio capitalista” jajajajajaj , fue chiste , muy bueno su desarrollo

    • Roberto Gordon

      La mayoría se quedará en eso que vos llamás (parece que con conocimiento de causa) programación Lego. Pero una minoría seguirá avanzando. Si mil pibes leen historietas, diez van a pedir libros y uno será escritor. Cuestión de masa crítica.

    • cygnus2k

      Pero precisamente es asi como algunas cosas muy buenas se hicieron, por alguien que con una herramienta inicial y con la idea clara de “que” queria hacer y no “como” se hacia, pero sin la idea no lo hubiera hecho