Download Manual básico de Robomid - Colegio Sagrado Corazón de Granada

Document related concepts
no text concepts found
Transcript
Manual básico de Robomid
Elaborado por: Daniel Gónzález
Colegio Sagrado Corazón (Granada)
Prácticas de Tecnología 4º ESO
Colegio Sagrado Corazón (Granada)
Índice
1. Introducción a Robomind .......................................................................................................... 3
2. Uso del programa Robomind 2.6 .............................................................................................. 7
3. Ejercicios.................................................................................................................................... 9
-2-
Prácticas de Tecnología 4º ESO
Colegio Sagrado Corazón (Granada)
1. Introducción a Robomind
1.1. Introdución
Robo es un lenguaje de programación simple que permite introducirse en las nociones básicas
de la programación informática. Es un lenguaje sencillo de aprender y utilizar pero lo bastante
potente como para crear un montón de programas interesantes. Los principios que se manejan
forman el núcleo de la mayoría de los otros lenguajes de programación más complejos.
Además de una introducción a las estructuras de control básicas, se puede alcanzar una visión
en el ámbito de la robótica y la inteligencia artificial.
El entorno de desarrollo RoboMind permite escribir programas que se llevarán a cabo por un
robot simulado. Estos programas se llaman Scripts. El entorno de desarrollo está formado por
cuatro partes:
Panel de secuencias de
comandos
Panel del mundo
Panel de ejecución
Panel de mensajes
Panel de secuencias
de comandos
Panel del mundo
Panel Ejecutar
Panel de mensajes
En esta área de texto se escribe la tarea que el robot va a ejecutar.
Aquí se puede ver el estado actual del robot en su entorno. Debido a
que este es todo el entorno en el que el robot vive, se denomina “el
mundo”.
Una vez que hayan establecido las instrucciones que el robot va a
ejecutar en este panel se controla que el robot siga las instrucciones,
se detenga o la velocidad a la que el robot se mueve.
En caso de que haya errores en el programa, es aquí donde se
notifican dichos errores de compilación. Es también el lugar donde el
robot podrá notificar determinados eventos.
-3-
Prácticas de Tecnología 4º ESO
Colegio Sagrado Corazón (Granada)
1.2. Instrucciones básicas
El robot es capaz de ejecutar una serie limitada de instrucciones de
forma ordenada.
Éstas se clasifican en cuatro categorías: Mover, Pintar, Coger/Poner
y Mirar.
Las instrucciones se escriben en el panel de secuencias de comandos
y el robot las va ejecutando en secuencia. Las instrucciones deben
escribirse tal y como se muestran en la tabla siguiente prestando
atención al uso de las mayúsculas y a los paréntesis al final de cada
instrucción.
Categoría
Mover
Pintar
Coger/Poner
Ver
Instrucción
Explicación
adelante(n)
mueve ‘n’ pasos hacia delante
atras(n)
mueve ‘n’ pasos hacia atrás
izquierda()
gira 90º a la izquierda
derecha()
gira 90º a la derecha
norte(n)
gira hacia el Norte y avanza ‘n’ pasos
sur(n)
gira hacia el Sur y avanza ‘n’ pasos
este(n)
gira hacia el Este y avanza ‘n’ pasos
oeste(n)
gira hacia el Oeste y avanza ‘n’ pasos
pintarBlanco()
activa la brocha de pintura blanca
pintarNegro()
activa la brocha de pintura negra
detenerPintar()
desactiva la brocha
tomar()
coge la baliza que haya frente al robot*
poner()
suelta la baliza delante del robot
izquierdaEsObstaculo()
Detecta si la condición es Verdadera o Falsa.
Se emplea en las estructuras de control que
se verán en el siguiente apartado.
La primera parte de la instrucción
‘izquierda’ se puede cambiar por
‘centro’ o por ‘derecha’.
izquierdaEsClaro()
izquierdaEsBaliza()
izquierdaEsBlanco()
izquierdaEsNegro()
*sólo puede tener una baliza en su interior.
-4-
Prácticas de Tecnología 4º ESO
Colegio Sagrado Corazón (Granada)
1.3. Estructuras de programación
Existen dos tipos de estructuras que se pueden incluir en el programa para controlar el
funcionamiento del robot en función al entorno. Estas son: los bucles y la estructura
condicional.
1.3.1. Bucles
Un bucle es un conjunto de instrucciones que se repiten un número determinado de veces. Se
emplea el comando repetir(n). Después del comando se ponen entre llaves las
instrucciones que el robot va a repetir.
Ejemplo:
repetir(4)
{
adelante(2)
derecha()
}
Este programa hace que el robot avance 2 casillas y luego gire a la derecha. Esta secuencia la
repetirá 4 veces. En total describirá un cuadrado.
Por claridad se suele usar el tabulador para desplazar hacia delante todas las instrucciones
dentro de las llaves.
Si no se indica el número de veces que se va a repetir las instrucciones se repiten
indefinidamente.
Ejemplo:
repetir()
{
adelante(1)
}
Este programa hará que el robot avance hasta que llegue a un obstáculo.
Se puede usar la orden repetirMientras(condición) para repetir una serie de
instrucciones mientras la condición sea Verdadera. Aquí se emplean las instrucciones de la
categoría Ver.
Ejemplo:
repetirMientras(frenteEsClaro())
{
adelante(1)
}
Este programa avanzará hasta encontrar un obstáculo y se detendrá cuando lo haga.
También se puede usar la orden truncar para salir de bucle. Se usa con estructuras
condicionales, que se ven en el apartado siguiente.
1.3.2. Condicionales
Se ejecutan las instrucciones entre las llaves si una condición es verdadera. El comando que se
emplea es si(condición).
Ejemplo:
si(frenteEsObstaculo())
{
izquierda()
adelante(3)
}
Este código hace que el robot gire a la izquierda si delante tiene un obstáculo.
-5-
Prácticas de Tecnología 4º ESO
Colegio Sagrado Corazón (Granada)
También se puede usar la estructura con la posibilidad de elegir en función de si la sentencia es
verdadera o falsa
Ejemplo:
si(frenteEsObstaculo())
{
izquierda()
adelante(3)
}
otro
{
adelante(1)
}
Este código hace que si delante hay un obstáculo (si) gire a la izquierda y avance 3 casillas, si
no hay obstáculo (otro) avanza una hacia delante una sola casilla.
1.3.3. Expresiones lógicas
Se pueden emplear los operadores lógicos y, o y no, (and, or y not) para combinar expresiones
que se usan en bucles y condicionales.
Ejemplo:
repetirMientras(frenteEsClaro() y izquierdaEsObstáculo())
{
adelante(1)
}
Este programa hará que el robot avance 1 espacio mientras no tenga nada delante y a la
izquierda tenga una pared.
Ejemplo:
si(frenteEsBlanco() o frenteEsNegro())
{
tomar()
}
Este código hará que el robot coja una baliza que esté delante de él si la baliza está en una
casilla pintada de negro o blanco.
1.3.4. Instrucción de finalización
En cualquier parte del código se puede usar la instrucción End y el robot dejará de seguir
instrucciones y se quedará detenido.
-6-
Prácticas de Tecnología 4º ESO
Colegio Sagrado Corazón (Granada)
2. Uso del programa Robomind 2.6
Tras ejecutar el instalador aparece un icono de acceso directo del programa en el escritorio
Al abrir el programa aparece la pantalla inicial
Aparecen cuatro opciones de menú: Editar, Ver, Correr y Ayuda. Si se gira la rueda del ratón se
modifica el zoom, lo que permite visualizar el mundo en el que se moverá el robot.
2.1. Menú Editar
Es el menú más útil para escribir el código. Tiene opciones de deshacer/rehacer, cortar, copiar
y pegar, insertar instrucciones, en lugar de tener que escribirlas y herramientas para buscar y
reemplazar texto.
2.2. Menú Ver
Tiene las opciones de visualización. En la opción Ver se puede cambiar el zoom además de
activar o desactivar la cuadrícula, el mapa radar y el seguimiento del robot. Ésto último
permite moverse por el mapa, ya que, en caso contrario, la pantalla siempre estará centrada
en el robot. También se puede hacer una captura de la pantalla.
-7-
Prácticas de Tecnología 4º ESO
Colegio Sagrado Corazón (Granada)
2.3. Menú Correr
El menú correr sirve para controlar la ejecución de las instrucciones. El control Ejecutar inicia el
funcionamiento del robot. El botón Paso hace que ejecuten las instrucciones de una en una.
Los controles de Pausa y Detener, permiten pausar o terminar respectivamente el seguimiento
de las instrucciones.
En este menú también se puede controlar el robot manualmente mientras se va generando el
código de las instrucciones que se le dan al robot. Ese código se puede copiar y pegar en la
ventana de secuencias de comandos.
2.4. Guardar y cargar scripts
Sobre los menús están los controles para guardar o cargar un script o para abrir un nuevo
mapa. Se puede cargar cualquier script y aplicarlo a cualquier mapa. Cuando se inicia el
progama el mundo que aparece es el default.map.
-8-
Prácticas de Tecnología 4º ESO
Colegio Sagrado Corazón (Granada)
3. Ejercicios
Instrucciones generales:
1. Mientras no se indique lo contrario se trabajará en el mundo default.map.
2. Guarda cada programa (script) con el nombre EjX (X es el número de ejercicio).
3. Cada vez que consigas un ejercicio envía el script al profesor.
1) Crea un script en el que el robot avance y gire de modo que llegue a la esquina superior
izquierda. Guarda el script y llámalo Ej1.
2) Crea un script para que el robot dibuje un cuadrado blanco de lado 4 cuadrados.
3) Crea un script para que el robot dibuje un cuadrado de lado 3 cuadrados. Los lados superior
e inferior deben ser blancos y los lados izquierdo y derecho deben ser negros.
4) Crea un script para que el robot coja la baliza y la lleve al lado de una piscina.
5) Crea un script para que el robot pinte de negro el perímetro de la isla que tiene frente a su
posición inical.
6) Repite el ejercicio anterior empleando las funciones repetirMientras() o la función
si(), además de las órdenes de la categoría Mirar.
7) Crea un script para situar al robot al principio del camino blanco y luego crea las
instrucciones para que siga el camino blanco. No vale con contar los cuadrados; el robot debe
ir mirando después de cada paso a la izquierda, derecha o centro y decidir si avanza o gira.
-9-