Manual básico de Robomid - Colegio Sagrado Corazón de Granada
Transcripción
Manual básico de Robomid - Colegio Sagrado Corazón de Granada
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-