Robots Avanzados
PASO de SCRATCH a ROBORT REAL/VIRTUAL (PROGRESIÓN DE APRENDIZAJE)
Persiguiendo una IDEA
Persiguiendo una IDEA
Vamos a estudiar los algoritmos que hacen posible que Scratch se convierta en un simulador de Robot.
Empezaremos con una visión desde Scratch para terminar convirtiendo este en algo parecido al programa Mblock, que es el Scratch que programa los Robots reales (que en nuestro caso de bajo coste serán virtuales, añadiendo de esta forma otras virtudes del trabajo con la programación visual)
Movimiento Scratch y movimiento Robot (PRIMEROS PASOS 1) https://scratch.mit.edu/projects/703954910
Primer Reto lineal (PRIMEROS PASOS 2) https://scratch.mit.edu/projects/704363247
Unidad Funcional (estructura básica) https://scratch.mit.edu/projects/704730579
Con este primer vídeo presentación nos haremos una idea de parte de lo que se pretende en esta sección de Robots Avanzados
Sigamos con el proceso...
El proceso lo vamos a realizar en tres pasos:
Diseña tu robot.
Aprende a programarlo.
Resolver cualquier reto que nos planteen.
Para empezar, dibujamos nuestro robot y lo dotamos a nuestro robot de motores (movimiento continuo), sensor sigue línea y sensor de distancia que es la dotación mínima de cualquier robot educativo. Más adelante, le añadiremos más complementos en función del robot a desarrollar o del reto a resolver.
Veamos una comparativa entre el robot virtual, el Mbot y el Mbot2, los tres con la misma programación.
Programación del Robot real Mbot con Mblock basado en Scratch 2
Lo importante es que los fundamentos son siempre los mismos los llamen de una u otra manera. EVENTO, PREVIOS, BUCLE, CONDICIONAL, OPERADORES y VARIABLES.
El siguiente algoritmo convierte el robot Scratch en un robot de dos motores, M1 y M2, M1 mueve la rueda izquierda y M2 la rueda derecha.
Ver funcionamiento abajo
Sin embargo, los sensores de verdad nos devuelven valores numéricos.
En este mismo proyecto tienes las dos maneras, solo tienes que unir el evento y verás su funcionamiento
Ver funcionamiento abajo
Ver funcionamiento abajo
Accede al proyecto desde este enlace:
https://scratch.mit.edu/projects/661835471
Pulsa sobre la bandera verde para ver el movimiento.
Presiona sobre Ver dentro y tendrás acceso a la programación.
Observa que tenemos dos motores M1 y M2. Como puedes comprobar el robot camina en línea recta cuando los dos motores llevan la misma velocidad.
Estudia el algoritmo, modifica las velocidades. Prueba a dar velocidades negativas y comprueba qué ocurre en cada caso.
Otra forma más sencilla para dotar de movimiento continuo a nuestro Robot, sin un motor por rueda sería:
Accede al proyecto desde aquí:
https://scratch.mit.edu/projects/683661947
Pulsa sobre la bandera verde para ver el movimiento, arrastra el robot hasta la línea negra y verás que el robot está programado para caminar sobre la línea.
Presiona sobre Ver dentro para acceder a la programación de un sensor sigue línea.
Observa qué ocurre cuando los sensores azul o rojo del sensor están en contacto con el color negro y/o blanco.
Cambia de circuito pulsando la tecla c.
Si en alguno se atasca, recarga la página o arrástralo hasta la línea.
El siguiente enlace te lleva al proyecto:
https://scratch.mit.edu/projects/696619878
Arrastra el Robot a diferentes posiciones de la pantalla y observa como cambian los valores de las variables distancia 1 y distancia 2.
Presiona sobre Ver dentro y analiza la programación de cada objeto. Comprueba que la distancia más corta es el valor que va tomando el sensor distancia.
Este dato va a ser muy importante para configurar un sensor de distancia para la Robótica Virtual con valores reales sobre el espacio que hay entre los objetos y el robot.
ROBOT APRENDIZAJE COMPLETO
El primer ROBOT VIRTUAL que queremos mostrar es un modelo que funciona en forma y aspecto igual que lo hace un MBOT o robot MIO... es decir, con una aplicación de programación basada en Scratch.
Entra en https://scratch.mit.edu/projects/648447268 y una vez dentro, haces clic en Ver dentro, clic en el objeto robot y busca la etiqueta MI PROGRAMA DE ENTRENAMIENTO y ahí verás los bloques que hacen que este robot funcione.
En la imagen de la derecha tienes la programación.
Lo primero que tienes que colocar es el evento Al recibir - Programa Mbot y a partir de ahí los bloque de dar a M1 el valor X (motor izquierdo) y dar a M2 el valor X (motor derecho), junto con el bloque esperar X segundos donde la X de los motores M1 y M2 son velocidad y la X de esperar son segundos. Con estos bloque vamos a trabajar nuestros primeros retos.
Al tener dos motores, uno en cada rueda, significa que podemos hacer muchas combinaciones, por ejemplo, si los dos tienen valor 0 al presionar la bandera verde, el robot no se mueve, y de la misma manera si M1 y M2 son positivos avanza, si tienen valores negativos retrocede.
Un motor positivo y otro negativo hace que el robot gire sobre si mismo con realizando una circunferencia dependiendo de los valores que le hayamos dado. Y todo esto lo realizará durante el tiempo que ponga en el bloque esperar que va seguido de ellos.
De fondo verás una serie de líneas de colores con las que realizaremos nuestros retos y con las que te puedes plantear los tuyos propios.
Mira el siguiente video para ver lo explicado hasta ahora: https://youtu.be/jjgdbGs67PI
Aquí tienes de nuevo el programa de aprendizaje https://scratch.mit.edu/projects/648447268
Cambia velocidades o borra los bloques de la etiqueta MI PROGRAMA DE ENTRENAMIENTO e intenta resolverlo tu sol@.
A la derecha de MI PROGRAMA DE ENTRENAMIENTO encontrarás ejemplos de programación con sensor de distancia y sensor siguelínea para observar y experimentar con ellos (cambia el fondo y coloca obstáculos según lo que quieras estudiar, y no olvides conectar el evento al recibir Programa de Mbot en el bloque de entrenamiento a estudiar, a la vez que lo desconectas del resto de bloques de entrenamiento.
Los retos 2, 3 ,4 y 5 que veremos en la siguiente página son similares al primero, el mismo robot, pero diferentes retos. Primero haces clic en la bandera verde y ves el reto resuelto para luego cambiar velocidades, o borrar los bloque de la etiqueta MI PROGRAMA DE ENTRENAMIENTO.
Lo importante es que intentes resolverlo tú sol@.