Saltar la navegación

Entrenamiento 6: Llegando a la meta

Pasadena, California. Estados Unidos. JPL (Jet Propulsion Laboratory)

Entrada al JPL

Después de semanas de duro entrenamiento, vuestras placas han aprendido a leer sensores, tomar decisiones, emitir mensajes y orientarse en el espacio. Ha llegado el momento de programar movimientos y reaccionar a su entorno. Recibís un mensaje encriptado y unas nuevas coordenadas. Os espera el Jet Propulsion Laboratory (JPL), en Pasadena para incorporar vuestras placas a sus robots y conseguir que puedan ir de un punto a otro por un recorrido prediseñado evitando obstáculos. No podéis rendiros, el éxito de la misión depende de vosotros. 

Llegando a la meta

Lista  ¿Qué necesitamos?

En este este último entrenamiento vais a incorporar la placa a su robot, la Cyberpi a mBot2 y la microbit a Nehza, para conseguir que se puedan desplazar por la superficie marciana siguiendo una trayectoria definida y esquivando obstáculos en caso de encontrarlos.

mBot2 y Nezha

Material necesario:

  • Ordenador
  • Cable USB para cargar el programa
  • Placa microcontroladora (Micro:bit o Cyberpi)
  • Placa de ampliación Nehza o mBot2 para hacer un robot seguidor de líneas y detector de ultrasonidos

Información  ¿Cómo hacer un siguelíneas?

Para hacer un robot siguelíneas, podemos usar un algoritmo simple que se basa en la lectura de dos sensores IR colocados en la parte frontal del robot, también conocido como sensor siguelíneas, con él vamos a poder discriminar cuatro combinaciones de los sensores y podremos actuar frente a ellas.

  • Ambos sensores detectan negro: el robot avanza recto. (Combinación 11 en binario)
  • El sensor izquierdo detecta negro y el derecho blanco: el robot gira a la derecha. (Combinación 10 en binario)
  • Sensor derecho detecta negro y izquierdo blanco: el robot gira a la izquierda. (Combinación 01 en binario)
  • Ambos sensores detectan negro: el robot puede detenerse, seguir avanzando, dar vueltas hasta encontrar la línea negra de nuevo, dependiendo del diseño. (Combinación 00 en binario)

Sabías que  ¿Sabíais que...?

Logo NASAEl JPL, o Laboratorio de Propulsión a Chorro, pertenece a la NASA y es responsable de muchos proyectos entre los que están el explorador Perseverance y el helicóptero de Marte Ingenuity;  el rover Curiosity; el módulo de aterrizaje InSight , el satélite SMAP para el control de la humedad del suelo en la superficie terrestre. También es responsable de gestionar la Base de datos de cuerpos pequeños que controla todos los cuerpos pequeños del Sistema Solar conocidos.

Lectura facilitada

Museo de Ciencias (Londres)

Después de semanas de entrenamiento,

vuestras placas electrónicas ya saben hacer muchas cosas:

  • Leer sensores.
  • Tomar decisiones.
  • Mostrar mensajes.
  • Saber hacia dónde están orientadas.

Ahora ha llegado un nuevo reto:

  • Debéis programar el movimiento de vuestros robots.
  • Y hacer que reaccionen al entorno.

Recibís un mensaje secreto y unas nuevas coordenadas.

El destino es el Jet Propulsion Laboratory (JPL), en Pasadena (EE. UU.).

Allí trabajan los expertos que crean los robots espaciales de la NASA.

Allí usarán vuestras placas para que los robots se muevan de un punto a otro en un camino marcado.

Tendrán que esquivar obstáculos y tomar buenas decisiones.

Esta es una misión muy importante.

No podéis rendiros.

¡El éxito depende de vosotros!

Llegando a la meta

  ¿Qué necesitamos?

En este último entrenamiento,

vais a conectar la placa al robot.

  • La CyberPi irá conectada al robot mBot2.
  • La micro:bit irá conectada al robot Nehza.

El objetivo es que los robots puedan:

  • Moverse por la superficie de Marte.
  • Seguir un camino definido.
  • Esquivar obstáculos si los encuentran.

Material necesario:

  • Ordenador
  • Cable USB para cargar el programa
  • Placa microcontroladora (Micro:bit o Cyberpi)
  • Placa de ampliación Nehza o mBot2 para hacer un robot seguidor de líneas y detector de ultrasonidos

  ¿Cómo hacer un siguelíneas?

Un robot siguelíneas es un robot que sigue una línea negra en el suelo.

Para hacerlo, usa dos sensores infrarrojos (IR) en la parte delantera.

Estos sensores detectan si hay color negro o blanco debajo del robot.

Este sistema se llama sensor siguelíneas.

Funciona con un algoritmo simple:

  • El robot lee los sensores.
  • Y actúa según lo que detecta:
  • Ambos sensores detectan negro: el robot avanza recto. (Combinación 11 en binario)
  • El sensor izquierdo detecta negro y el derecho blanco: el robot gira a la derecha. (Combinación 10 en binario)
  • Sensor derecho detecta negro y izquierdo blanco: el robot gira a la izquierda. (Combinación 01 en binario)
  • Ambos sensores detectan negro: el robot puede detenerse, seguir avanzando, dar vueltas hasta encontrar la línea negra de nuevo, dependiendo del diseño. (Combinación 00 en binario)

  ¿Sabíais que...?

El JPL, o Laboratorio de Propulsión a Chorro:

pertenece a la NASA.

Es responsable de muchos proyectos entre los que están:

  • El explorador Perseverance, que estudia Marte.
  • El helicóptero Ingenuity, que vuela sobre Marte.
  • El rover Curiosity, otro robot que también explora Marte.
  • El módulo InSight, que analiza los terremotos marcianos.
  • El satélite SMAP, que mide la humedad del suelo en la Tierra.

Programando

Robot Nezha

Objetivo:
Conseguir programar la micro:bit para que sea capaz de mantener al robot Nezha en una trayectoria definida por una línea negra.

Entorno de programación: MakeCode. (abre en ventana nueva)

Para comenzar lo primero que tenéis que conseguir es cargar las extensiones PlanetX y Nezha en MakeCode para poder controlar los motores y el sensor siguelíneas,

Una vez cargadas, debéis implementar el algoritmo siguelíneas que explicamos en sección anterior, para ello usaremos tres condicionales que, según la detección de la línea,  hagan actuar a los motores para mantener la trayectoria del robot sobre la misma. Si se sale por la derecha, debe girar levemente hacia la izquierda, si se sale por la izquierda deberá girar levemente hacia la derecha, etc.

Programa siguelíneas hecho en lenguaje de bloques MakeCode

Recordad:
Para probar el programa en la microbit, abrid el navegador de archivos, y arrastrad el archivo a la unidad microbit.

Cuando finalice el proceso de carga, veréis que la placa muestra en su matriz de led una línea y que los motores comienzan a girar dependiendo de lo que detecte el sensor siguelíneas.

 Analizad:

Fijaos que, en el ejemplo, podéis cambiar la velocidad de giro o la de avance del robot para optimizar la velocidad en la trayectoria. También, que el programa está pensado para una línea negra sobre un fondo blanco. ¿Qué tendríamos que hacer si en lugar de negra, la trayectoria fuese blanca?

Robot Mbot2

Objetivo:
Conseguir programar la tarjeta Cyberpi para que sea capaz de mantener al robot mBot2 en una trayectoria definida por una línea negra.

Entorno de programación: Mblock5 (abre en ventana nueva)

En este caso, el robot mBot viene con un sensor de líneas que tiene cuatro sensores de IR, lo que os permitiría saber si se está desviando mucho o poco de la línea con la orden "desviación del sensor cuádruple RGB", sin embargo, debéis implementar el algoritmo siguelíneas que explicamos en sección anterior, para ello usaremos tres condicionales que, según la detección de la línea, hagan actuar a los motores para mantener la trayectoria del robot sobre la misma. Si se sale por la derecha, debe girar levemente hacia la izquierda, si se sale por la izquierda deberá girar levemente hacia la derecha, etc.

Programa siguelíneas hecho en lenguaje de bloques Mblock5

Recordad:
En el entorno de programación mBlock5 podéis subir el programa a la memoria de la tarjeta o probarlo en comunicación "en vivo".

Cuando finalice el proceso de carga, veréis que la placa espera por un evento de agitación.

Analizad:

Fijaos que, en el ejemplo, podéis cambiar la velocidad de giro o la de avance del robot para optimizar la velocidad en la trayectoria. También, que el programa está pensado para una línea negra sobre un fondo blanco. ¿Qué tendríamos que hacer si en lugar de negra, la trayectoria fuese blanca?



Lectura facilitada

Robot Nezha

Objetivo:
Conseguir programar la micro:bit para:

Sea capaz de mantener al robot Nezha en una trayectoria definida por una línea negra.

Entorno de programación: MakeCode. (abre en ventana nueva)

Cargar las extensiones PlanetX y Nezha en MakeCode.

Para poder controlar los motores y el sensor siguelíneas.

Una vez cargadas, debéis implementar el algoritmo siguelíneas.

Está explicado en la sección anterior,

Para ello usaremos tres condicionales.

Según la detección de la línea,

Harán actuar a los motores,

para mantener la trayectoria del robot sobre la misma:

  • Si se sale por la derecha, debe girar levemente hacia la izquierda,
  • Si se sale por la izquierda deberá girar levemente hacia la derecha, etc.

Programa sigue líneas

Recordad:

Para probar el programa en vuestra micro:bit:

  • Abrid el navegador de archivos.
  • Arrastrad el archivo a la unidad micro:bit.
  • Al terminar, la placa muestra en su matriz de led una línea 
  • También, los motores commenzarán a girar dependiendo de lo que detecte el sensor sigue líneas.

 Analizad:

Fijaos que, en el ejemplo, podéis cambiar la velocidad de giro,

o la de avance del robot para optimizar la velocidad en la trayectoria.

También, que el programa está pensado para una línea negra sobre un fondo blanco.

¿Qué tendríamos que hacer si en lugar de negra, la trayectoria fuese blanca?

Robot Mbot2

Objetivo:

Conseguir programar la tarjeta Cyberpi.

Para que sea capaz de mantener al robot mBot2 en una trayectoria definida por una línea negra.

Entorno de programación: Mblock5 (abre en ventana nueva)

En este caso, el robot mBot viene con un sensor de líneas,

que tiene cuatro sensores de IR,

Esto os permitiría saber si se está desviando mucho o poco de la línea.

Debéis implementar el algoritmo sigue líneas,

que explicamos en sección anterior,

Para ello usaremos tres condicionales.

Según la detección de la línea,

Harán actuar a los motores,

para mantener la trayectoria del robot sobre la misma:

  • Si se sale por la derecha, debe girar levemente hacia la izquierda.
  • Si se sale por la izquierda deberá girar levemente hacia la derecha, etc.
     


Programa sigue líneas

Recordad:

En el programa mBlock5, puedes hacer dos cosas:

  • Subir el programa a la memoria de la tarjeta.
  • Probarlo en vivo, mientras la tarjeta está conectada.

Analizad:

Fijaos que, en el ejemplo, podéis cambiar la velocidad de giro,

o la de avance del robot para optimizar la velocidad en la trayectoria.

También, que el programa está pensado para una línea negra sobre un fondo blanco.

¿Qué tendríamos que hacer si en lugar de negra, la trayectoria fuese blanca?



Un paso más en programación

Si os fijáis, además del sensor siguelíneas, los dos robots tienen sensores de ultrasonidos para detectar obstáculos. ¿Os atrevéis a programarlos para que cuando detecten un obstáculo se paren y emitan una alarma?

Ampliación: 
¿Cómo podría el robot, al encontrar un obstáculo siguiendo una línea, esquivarlo y volviese a la trayectoria? ¡Pensadlo!

Lectura facilitada

Si os fijáis, además del sensor siguelíneas,

los dos robots tienen sensores de ultrasonidos para detectar obstáculos.

¿Os atrevéis a programarlos para que cuando detecten un obstáculo se paren y emitan una alarma?

Ampliación: 

¿Cómo podría el robot, al encontrar un obstáculo siguiendo una línea, esquivarlo y volviese a la trayectoria? ¡Pensadlo!

Creado con eXeLearning (Ventana nueva)