viernes, 3 de abril de 2020

Simulador efecto epidemia paso a paso (Parte final)

Si habéis seguido nuestros pasos en este momento ya tendréis el simulador de epidemia listo. Nuestro simulador incorpora lo siguiente:

  1. Tenemos una población inicial de individuos.
  2. Un individuo enfermo contagia con uno sano si se tocan.
  3. Pasado cierto tiempo un individuo enfermo se cura. Si se cura pasa a estar inmune y no puede volver a enfermar.
  4. Durante el tiempo en el que un individuo está enfermo puede fallecer.
  5. Podemos variar el número de individuos que se mueven, modelando de esta manera la llamada "distancia social".

Os dejamos aquí los enlaces a las entradas del blog para que los que no lo habéis visto podáis empezar:

  1. Propuesta de pasos (I)
  2. Soluciones a los pasos (I)
  3. Propuesta de pasos (II)
  4. Soluciones a los pasos (II)

En este último paso lo que os proponemos es que programéis una manera de visualizar esta curva de contagios. Para ello un par de pistas:

  1. Usamos la extensión Pen de Scratch que nos permite usar nuestro objeto (sprite) para dibujar.
  2. El objetivo es ir "dibujando" el número de enfermos. Para eso podemos mover el objeto que creemos para dibujar a una posición (x,y) donde la x sea el "tiempo" y la y sea el número de enfermos.


Tendría que quedaros algo así (os presentamos los resultados para distintos porcentajes de individuos que no se mueven 0%, 40% y 70%). Fijaos cómo se nota el "aplanamiento" de la curva.



En un par de días publicaremos un videotutorial con nuestra solución. ¡Esperamos que os guste!








miércoles, 1 de abril de 2020

Soluciones para el simulador epidemia paso a paso (Parte 2)

Recopilamos en este post los videotutoriales explicando cómo programar paso a paso el simulador de pandemia (la segunda parte):
Pasos 5 y 6. Añadimos la posibilidad de que nuestros enfermos, tras un tiempo de enfermedad se curen. Y que una ve curados sean inmunes a nuevos contagios (cuidado, esto los científicos no saben aún si es cierto en el caso del coronavirus covid-19)



Paso 7. Añadimos la mortalidad (esto no lo hace el simulador de Resnick). 


Paso 8. Pasamos al punto clave de reducir la movilidad, por fin. Establecemos un porcentaje de la población que no se va a mover.




¿Os ha sido útil? ¿Lo habéis hecho de otra manera? No dejéis de contarnos...

martes, 31 de marzo de 2020

Robótica extraescolar en el Colegio María Virgen

El kit BeDuino es nuestro kit base para todos los niveles Makers. Es uno de nuestros materiales más queridos porque tiene casi todo lo que necesitamos para nuestras clases:

  • Tiene muchas piezas para crear
  • Motores para dar movimiento a las construcciones
  • Sensores variados (infrarrojos, de contacto, de luz, mando de control remoto)
  • LEDs imprescindibles para todo buen "maker"
  • Altavoz
  • Placa de control basada en Arduino con conectores estándar Arduino (esto nos permite ampliar este kit con facilidad, con todo el enorme repertorio de sensores y actuadores Arduino)


Este kit es el que usamos en nuestros cursos Makers 2 donde los alumnos construyen y programan robots muy diferentes. Este vídeo resume alguno de los trabajos de los alumnos del curso Makers 2 de robótica del Colegio María Virgen de Madrid



miércoles, 25 de marzo de 2020

Simulador efecto pandemia paso a paso (para hacer en casa). Parte 2

Lo retomamos donde lo dejamos. Teníamos ya el simulador básico donde nuestro enfermo "extiende" la enfermedad entre los individuos sanos.
Vamos ahora a avanzar un poquillo más para parecernos cada vez más al proyecto de Michael Resnick.
Paso 5. Añadimos la posibilidad de que nuestros enfermos, tras un tiempo de enfermedad se curen. Nosotros lo hemos hecho cambiando la bolita de color. Debería quedar algo así (no os olvidéis de restar un enfermo cuando uno se cura)


Paso 6. Consideramos que los enfermos que se han recuperado son inmunes a la enfermedad y no pueden volver a enfermar.




Paso 7. Vamos a añadir la mortalidad (esto no lo hace el simulador de Resnick). Nos parece importante, porque si no podemos caer en la falsa sensación de que una vez estemos infectados todos ya no hay problema  y nos olvidamos de los que murieron en el proceso. Nosotros hacemos desaparecer el clon que fallece. Muy interesante en este punto es jugar con los números, ¿cuánto tiempo tarda cada enfermo en sanar? ¿qué tasa de mortalidad ponemos?




Paso 7. Pasamos al punto clave de reducir la movilidad. Establecemos un porcentaje de la población que no se va a mover. Esas "bolitas" las dejamos quietas en el sitio. Consejillo: variad la cantidad de indivíduos que no se mueven ¿qué observáis?


Ya sólo nos queda la última parte para poder visualizar mejor los datos, pero esa la dejamos para el siguiente post. ¡Ánimo con esto! iremos sacando los vídeos con las explicaciones de las soluciones en los próximos días.
Si tenéis dudas, consejos ideas, nos queréis mandar vuestro código ¡¡no lo dudéis ni un instante!!



martes, 24 de marzo de 2020

Reto Matavirus con Microbit

Va avanzando este periodo de confinamiento necesario y todos vamos pasando por distintos estados de ánimo. Nuestros niños y adolescentes están siendo muy valientes pero seguro que hay días o momentos a los largo del día en los que el enfado les consume. Os proponemos esta actividad para esos momentos o para cualquier otro; puede ser reconfortante luchar contra el enfado creando.

Para este reto os proponemos usar el entorno de programación MakeCode de Micro:bit. La ventaja es que si no tenéis la placa en casa podéis usar el simulador como hemos hecho nosotros. Es un entorno de bloques sencillo e intuitivo.

Os animamos a que programéis la placa Micro:bit de manera que haga lo siguiente:

  1. Muestre en la matriz de LEDs el dibujo de un coronavirus.
  2. Al pulsar los botones A+B vaya eliminando el virus y nos deje el mensaje fundamental de responsabilidad para estos días #quedatencasa.


En este vídeo de nuestro canal de YouTube tenéis el ejemplo de funcionamiento.


Y por si necesitáis una ayuda aquí tenéis el videotutorial con nuestra solución explicada paso a paso.



viernes, 20 de marzo de 2020

Simulador efecto pandemia paso a paso. Soluciones a la primera parte

Nos alegramos mucho de la cálida acogida que ha tenido nuestro proyecto.
Recogemos aquí los vídeos explicativos y los proyectos Scratch para los 4 pasos que os proponíamos en esta primera parte. ¡Esperamos que os sean de utilidad!

Paso 1: un individuo sano moviéndose libremente. 

En este paso básico trabajamos:

  • movimiento por la pantalla
  • rebote contra los bordes
Aquí tenéis el proyecto Scratch y en el vídeo una pequeña explicación.


Paso 2: dos indivíduos moviéndose libremente.

En este paso podemos trabajar:
  • creación de un clon
  • creación de un bloque

De nuevo os dejamos el enlace al proyecto Scratch y al vídeo explicativo.


Paso 3: Creamos la población.

En este sencillo paso simplemente creamos 100 clones en lugar de 1. 
Este es el enlace al proyecto y el vídeo con la explicación.



Paso 4: Creamos el mecanismo de contagio.


Este es el paso más complicado de esta primera parte. Vamos a distinguir por color individuos sanos de enfermos, contagiar cuando un indivíduo sano "toca" a uno enfermo y llevar la cuenta de los enfermos. Podemos trabajar los siguientes conceptos:
  • Variables, creación y uso de variables. Variables para todos los sprites y variables para un sprite.
  • Toma de decisiones: bucle if-then.
  • Bucles anidados.
  • Detección de color.

No os importe dedicarle más tiempo a este paso, sin duda es el más complejo. Esperamos que el vídeo con nuestra explicación que os dejamos a continuación y el proyecto Scratch os sean de ayuda.


Y con este vídeo terminamos las explicaciones a la primera parte. ¡¡Estad atentos porque aún nos quedan  muchas mejoras que hacer!!

martes, 17 de marzo de 2020

Simulador efecto pandemia paso a paso (para hacer en casa). Parte 1

El sábado 14 el periódico The Washington Post publicó un artículo (también disponible en castellano) explicando con una simulación con pelotitas moviéndose en la pantalla por qué el brote de coronavirus crece de la manera que lo hace y por qué el confinamiento ayuda a "aplanar la curva". Os dejamos aquí el enlace al artículo.

Ayer Mitchel Resnick uno de los creadores de Scratch compartió el proyecto Epidemic Simulation en Scratch inspirado en el artículo. Moviendo una barra se puede seleccionar el porcentaje de personas que "se quedan en casa" y ver los efectos en el número de contagios y la evolución de la curva.
El proyecto es fantástico pero complejo para principiantes. Así que hemos desarrollado una secuencia de pasos para ir llegando a ese programa tan chulo que propone el maestro Resnick pero en pequeños pasos, aptos para los más novatos.

Os proponemos la siguiente secuencia para trabajar en casa:
1. Comenzamos con 1 persona sana moviéndose líbremente. El resultado tendría que ser algo así:


2. Vamos ahora a añadir otra persona sana moviéndose líbremente. Debería comenzar en una posición aleatoria. (Pista: podemos usar la herramienta de clonar).

3. El paso 3 es bien sencillo. Vamos a replicar esto y a tener muchas personas moviéndose libremente. Por ejemplo así:

4. Vamos ahora a introducir elementos "enfermos". El enfermo será de otro color. Cada vez que una bolita sana choque con un enfermo, el sano enfermará (cambiará de color). Este es uno de los pasos más complejos de la programación.


Con esto ya tenemos el simulador básico. Pero quedan muchas mejoras que hacer para parecernos a la propuesta de Resnick. Esas para el próximo post.
Os iremos compartiendo nuestras soluciones paso a paso con explicación. Si queréis enviarnos las vuestras o si necesitáis ayuda, ¡aquí estamos, en casa pero presentes!

jueves, 5 de marzo de 2020

Robots ¿teleoperados?

Nunca me han gustado los robots teleoperados. Qué queréis que os diga, no me parecía robots. ¡¡Menos mal que me estoy reformando!!

¿Qué es un robot teleoperado?
Según los expertos un robot teleoperado es un robot que se controla a distancia mediante conexiones inalámbricas de distintos tipos

Y por eso no me gustaba nada, me parecía que eso de controlar un robot a distancia le quitaba interés y "glamour" a la robótica. ¡O robots autónomos completamente o nada de nada!
No tiene mucho sentido plantear teleoperado como opuesto a autónomo. Hay muchos casos en los que aunque el robot pueda considerarse teleoperado, es imprescindible que tenga cierto grado de autonomía, sobre todo si hay mucho retardo en las comunicaciones. Si nuestras órdenes tardan mucho en llegarle necesitamos que pueda hacer ciertas cosas de manera autónoma (no chocarse, por ejemplo) porque nuestro comando va a llegarle tarde seguro.
Que haya retardo en las comunicaciones depende mucho de donde estemos nosotros y donde esté el robot. Por ejemplo, si nosotros estamos en la Tierra y el robot en el espacio. Muchos robots espaciales son teleoperados, como el manipulador Dextre que está en la Estación Espacial Internacional.

Resultado de imagen de robot espacial dextre
Robot espacial Dextre (Fuente: wikipedia.org)
Además de los robots espaciales hay muchos otros robots que también son teleoperados como drones o robots médicos.

Resultado de imagen de robot médico da vinci
Robot médico para cirugía (Fuente wikimedia commons)

Si os quedan todavía dudas os invito a que leáis este estupendo libro "The Robot in the Garden: Telerobotics and Telepistemology in the Age of the Internet" editado por Ken Goldberg.
Insecto teleoperado constuído con el kit de robótica MRT Exciting

martes, 25 de febrero de 2020

Brazo robótico con el kit de robótica educativa Goma Brain

Los brazos y manipuladores robóticos nos acompañan en la industria desde hace ya bastante tiempo. Más nuevos son los proyectos de prótesis robóticas impresas en 3D que, en muchos casos de manera altruista, "makers" de todo el mundo construyen para ayudar a niños y niñas que lo necesitan.
Nuestros alumnos de la extraescolar de robótica Makers1 también construyen y programan un brazo robótico con el kit GomaBrain. Nos gusta que los alumnos que comienzan a iniciarse en el mundo de la robótica tengan referencias reales de todos aquellos robots que ellos construyen y con el caso de los brazos robóticos las referencias reales nos sobran.
Este brazo robótico nos permite trabajar con nuestros alumnos muchos aspectos. Vamos a destacar hoy en este post los siguientes:

  • Transmitir movimiento con engranajes
  • Iniciación a los bucles IF-ELSE
  • Experiencia práctica del rozamiento

Transmitir movimiento con engranajes.
Los motores son fascinantes y hacer girar con ellos ruedas es estupendo pero el salto llega cuando queremos conseguir algo más, como en el caso del brazo robótico: queremos mover ambas pinzas con un único motor. Una de las maneras más bonitas de conseguirlo es usando engranajes. Nuestro motor mueve uno de los engranajes, el tractor, que engrana con otro y lo mueve también. Como además, cada uno de los engranajes rota en sentido contrario justo conseguimos lo que queríamos, que la pinza se abra o se cierre, ya que cada uno de los brazos que la forman se mueve en uno de los sentidos.
El brazo robótico suele ser el primer contacto de nuestros alumnos con los engranajes. Ir entendiendo poco a poco esta transmisión de movimiento nos va a ir abriendo puertas a realizar construcciones cada vez más complejas.


Iniciación a los bucles IF-ELSE
Una de las piedras angulares de la programación es la toma de decisiones. En función de alguna variable o en nuestro caso de alguna entrada lo que nuestro programa o nuestro robot haga será diferente. Una de las estructuras de programación básicas para permitirnos tomar decisiones son los bucles IF-ELSE. En el brazo robótico vamos a tener que programar tres casos diferentes que van a requerir que programemos con las tarjetas una decisión:
1. Si el botón derecho está pulsado el motor ha de girar en sentido antihorario y la pinza se cerrará.
2. Si el botón izquierdo está pulsado el motor tendrá que girar en sentido horario y la pinza se abrirá.
3. Si no hay pulsado ningún botón el motor estará parado.
Este algoritmo va a ser uno de los primeros que nuestros alumnos programen con un bloque IF y aunque parece sencillo hay muchos matices que trabajar.


Experiencia práctica de rozamiento.
No es fácil coger cosas con un brazo robótico, sobre todo algunas. Con nuestro brazo robótico del Goma Brain experimentamos estas dificultades jugando a coger distintos objetos, no es lo mismo coger una pelota blandita que una hoja de papel o una pieza que resbala. No vamos a hablar de coeficiente de rozamiento pero nuestros alumnos sí van a "tocar" esa diferencia entre coger unas cosas u otras y pensarán como se puede modificar el brazo robótico para que sea más sencillo agarrar distintos tipos de objetos. En este vídeo resumen que os dejamos podéis verlo muy bien.



viernes, 14 de febrero de 2020

¿Por qué hacer robots de Sumo?



Resultado de imagen de sumo
El Sumo es un arte marcial japonés donde luchadores corpulentos se enfrentan en un área circular. Es el deporte nacional de Japón y sus orígenes se remontan al siglo VIII, aunque el Sumo moderno,  más o menos como lo conocemos hoy, proviene del s. XVII.
Pero ¿cómo y por qué llega el Sumo a los robots? Al igual que otras competiciones de robots, la competición en sí misma no es más que la excusa para otros fines. Entre estos objetivos se encuentran:


  1. Fomentar el intercambio de ideas y experiencias entre investigadores en robótica (recordad que estas competiciones surgen en el ámbito universitario y de investigación).
  2. Aplicar conocimientos de robótica a entornos diferentes (un tatami para sumo, por ejemplo) y que plantea retos interesantes.
  3. Pasarlo bien y divertirse, que no es menos importante


El sumo robótico al igual que el fútbol para robots y otras competiciones sale del ámbito de investigación y se extiende y generaliza con la llegada de la robótica educativa y amateur. Robots de sumo que en los 90 sólo estaban al alcance de laboratorios de investigación ahora son accesibles para cualquiera con unos mínimos conocimientos de electrónica y programación y sin necesidad de un gran desembolso económico.

El sumo robótico se inventó en Japón a finales de los 80 por Hiroshi Nozawa, jefe de Fuji Software Inc. El primer torneo se celebró en agosto de 1989 con 33 robots y desde entones el sumo robótico se ha ido haciendo popular en todo el mundo. En ambientes de aficionados es una de las competiciones más populares, probablemente por la sencillez de las reglas y del juego. Sólo se necesitan dos robots, un tatami de ciertas dimensiones (podéis consultar las dimensiones oficiales de competición nacional de sumo robótico japonesa aquí) y un cronómetro.
Cada partida dura 3 minutos. Pierde el robot que con cualquier parte de su cuerpo toca el exterior del tatami. Si en esos 3 minutos ninguno ha perdido y el combate está en tablas será el árbitro quién decida el contrincante que gana o si se celebra una prórroga.

En Logix5 no podemos resistirnos a hacer nuestras propias partidas de sumo robótico en las clases, nos ayudan a aprender a construir robots más robustos, que aguanten los embates de los contrincantes, a comprender bien los sensores infrarrojos que harán que nuestros robots no se salgan del tatami y los de ultrasonidos que nos permiten detectar dónde está el contrario.



Tan tan popular se ha hecho el sumo robótico que desde 2014 hay una competición de sumo para robots "mediocres", la hebocon. Este nombre proviene de la palabra japonesa "heboi" que quiere decir imperfecto, de poca calidad. El principal objetivo de esta competición no es desde luego ganar, sino divertirse y construir y ver los robots más extravagantes y peculiares. ¡No dejéis de echar un vistazo a los robots tan originales que se construyen para esta competición!

Para saber más:


  • De Sumo: 

  • De Sumo robótico:

  • De Hebocon: