PRÁCTICAS CON ROBOMIND. PARTE 1. Robomind Cuando lo tengas instalado mueve el ratón por los diferentes botones y te saldrá una descripción para lo que sirve cada uno. Es muy sencillo, no te olvides los de arriba del todo a la izquierda que son los que servirán para cargar los diferentes mapas o escenarios. Para aprender a programar con el robot lo primero que hay que saber es que el robot se mueve y en la parte de arriba tiene un sensor que puede detectar lo que hay en frente, a la izquierda o a la derecha, por eso verás que se mueve cuando lo programes. También dispone de una brocha que si la sacamos puede pintar de blanco o de negro. En los escenarios (mapas) hay obstáculos y balizas, las balizas son los dibujitos como de una especie de bomba, y el resto son obstáculos. Instrucciones básicas Estas instrucciones solo pueden usarse al escribir directamente el script. Para nuestro robot existen las siguientes instrucciones básicas: Movimiento adelante(n) atrás(n) izquierda() derecha() norte(n) sur(n) este(n) oeste(n) Pintar pintarBlanco() pintarNegro() detenerPintar() Tomar tomar() poner() Lanzar moneda Ver lanzarMoneda() Izquierda Mover n pasos hacia adelante Mover n pasos hacia atrás Girar a la izquierda de 90 grados Girar a la derecha de 90 grados Girar hacia el norte y mover n pasos hacia adelante Girar hacia el sur y mover n pasos hacia adelante Girar hacia el este y mover n pasos hacia adelante Girar hacia el oeste y mover n pasos hacia adelante Usar brocha blanca para pintar el suelo Usar brocha negra para pintar el suelo Dejar de pintar, esconder brocha Tomar la baliza delante del robot Poner la baliza delante del robot Lanzar una moneda para tomar una decisión. lanzarMoneda() será verdadero o falso. Delante Derecha izquierdaEsObstaculo() frenteEsObstaculo() derechaEsObstaculo() izquierdaEsClaro() frenteEsClaro() derechaEsClaro() izquierdaEsBaliza() frenteEsBaliza() derechaEsBaliza() izquierdaEsBlanco() frenteEsBlanco() derechaEsBlanco() izquierdaEsNegro() frenteEsNegro() derechaEsNegro() Ahora debes realizar estos ejercicios, están planteados de tal manera que va aumentando el grado de dificultad. Ejercicio 1 Abre el mapa OpenArea.Map y crea un programa que escriba la inicial de tu nombre: DIBUJO PROGRAMA FECHA Y FIRMA Ejercicio 2 Haz un programa que pinte de color negro el borde los dos cuadros con dos piscinas que están delante del robot, al acabar de pintar el borde debe volver a la posición inicial, pero sin pintar. DIBUJO PROGRAMA FECHA Y FIRMA Ejercicio 3 Ahora vamos a usar los sensores de Robomind. Para eso necesitamos “la condicional si” (if en inglés). Lo que hará será comprobar que cumple la condición que le digamos y si la cumple realizará las órdenes que le demos y si no la cumple, seguirá su camino sin hacer las órdenes dadas. La estructura es esta: si (condición){Lo que hace si se cumple la condición} Abre el mapa default.map y haz que el robot se mueva hasta la baliza y al detectarla con la condicional “si” la recoja. Después tiene que llevar y dejar la baliza en el punto de inicio. Aquí tienes las instrucciones necesarias: DIBUJO PROGRAMA derecha() FECHA Y FIRMA adelante(3) derecha() adelante(1) si(frenteEsBaliza() ) { tomar() } derecha() adelante(3) derecha() poner() fin Observa que ponemos fin cuando queremos que se pare y finalice el programa. Ejercicio 3 Crea un programa que recoja la baliza más lejana del robot y la deje al lado de la otra baliza. DIBUJO PROGRAMA FECHA Y FIRMA Ejercicio 4 Otra función muy útil en Robomind es la de “repetir”. Podemos decirle que repita algo, un número de veces determinado o que lo repita siempre. repetir(3){Repite 3 veces lo que hay aquí} repetir(){Repite de forma indefinida lo que hay aquí} Fíjate en este ejemplo, vamos hacer que pinte un cuadrado de forma muy sencilla y con pocas instrucciones. Abre el mapa OpenArea.map y crea un programa que haga un cuadro de lado 4 repitiendo 3 instrucciones: DIBUJO PROGRAMA repetir(4) FECHA Y FIRMA { pintarBlanco() adelante(3) derecha() } Ejercicio 5 Abre el mapa findSpot1.map. Programa para que el robot aparque en el círculo blanco. Tiene que detectar el punto blanco el sensor de mirar a la izquierda. DIBUJO PROGRAMA repetir() { si(izquierdaEsBlanco()) { izquierda() adelante(1) fin } otro{ adelante(1) } } FECHA Y FIRMA Ejercicio 6 Abre un mapa cualquiera y que el coche se mueva sin parar por el mapa de forma que cuando se encuentre un obstáculo gire a la derecha para poder avanzar: DIBUJO PROGRAMA repetir() FECHA Y FIRMA { adelante(1) si(frenteEsObstaculo() ) { derecha() } } Ejercicio 7 Ahora vamos hacer que el robot sea capaz de seguir una línea blanca pintada en un escenario. Abre el mapa default.map y que el robot llegue a la línea blanca y la siga. DIBUJO PROGRAMA FECHA Y FIRMA derecha() adelante(8) repetir(){ si(frenteEsBlanco() ){ adelante(1) } si(izquierdaEsBlanco() ){ izquierda() adelante(1) } si(derechaEsBlanco() ){ derecha() adelante(1) } si(frenteEsObstaculo() ){ fin } } Robomind en su avance analiza si hay una línea blanca a su izquierda a su derecha o de frente y actúa en consecuencia. Ejercicio 8 ¿Sabrías hacer el mismo programa pero que pinte encima de la línea blanca una negra? DIBUJO PROGRAMA FECHA Y FIRMA