Tutorial mOway: introducción a la programación

12
Introducción a la programación del robot mOway

description

En este tutorial se explica algunos conceptos básicos para quienes van a programar el robot mOway por primera vez.

Transcript of Tutorial mOway: introducción a la programación

Page 1: Tutorial mOway: introducción a la programación

Introducción a la programación

del robot mOway

Page 2: Tutorial mOway: introducción a la programación

Tutorial de mOway Introducción a la Programación

www.moway-robot.com 1

Índice

Introducción ............................................................................................................................ 2

Diagramas de flujo ................................................................................................................. 2

Bloques de Movimiento .......................................................................................................... 5

Condicionales ......................................................................................................................... 6

Bucles ..................................................................................................................................... 7

Operadores AND / OR ........................................................................................................... 8

Orden en los diagramas ....................................................................................................... 10

Page 3: Tutorial mOway: introducción a la programación

Tutorial de mOway Introducción a la Programación

www.moway-robot.com 2

Introducción

En este tutorial vamos a explicar algunos conceptos básicos para quienes van a programar

el robot mOway por primera vez. La forma más fácil de comenzar es a través de la

programación gráfica, en diagramas de flujo.

Comentaremos aspectos básicos de la programación como por ejemplo qué es una

condición, los conceptos lógicos AND y OR, y cómo pueden servir para controlar nuestro robot

como nosotros queramos.

Para poder entenderlo mejor, se incluyen ejemplos de

programas realizados en MowayWorld, el software de

programación de mOway. De esta forma, puedes probar a

programar el robot con estos ejemplos y entender mejor cómo

funcionan.

Una vez que hayas probado los ejemplos de este tutorial, podrás atreverte con programas

más complicados.

Diagramas de flujo

Un robot funciona según un programa, el cual consiste en una serie de acciones que el

robot realiza en un orden determinado. Para programar el robot mOway se emplea diagramas

de flujo.

Pregunta:

¿Qué es un diagrama de flujo?

Respuesta:

Un diagrama de flujo representa un programa

gráficamente, por medio de bloques y flechas.

Los bloques (o módulos) son las acciones que va a

realizar el robot cuando lo programemos, por ejemplo:

avanzar, encender una luz, comprobar los sensores, etc.

Las flechas indican el flujo del programa, es decir, el

orden en el que el robot va a realizar las acciones indicadas

en los bloques.

Acción 1

Acción 2

Etc.

(…)

(…)

Page 4: Tutorial mOway: introducción a la programación

Tutorial de mOway Introducción a la Programación

www.moway-robot.com 3

A continuación, se enumeran unas acciones de ejemplo, que podrían ser un programa

para el robot. Las acciones serían “avanzar” y “encender la luz”:

1. Inicio del programa

2. Avanza durante 1 segundo

3. Enciende la luz frontal

4. Final del programa

Vamos a ver cómo se representaría el programa anterior en un diagrama de flujo. Como se

ha explicado antes, las acciones se indican dentro de los bloques. El orden del programa se

indica por medio de las flechas. A la derecha se muestra lo que haría el robot:

Esta forma de representar los programas hace que sean mucho más fáciles de entender,

sobre todo si son programas complicados, con muchas acciones. De un solo vistazo podemos

comprender qué acciones va a realizar el robot y en qué orden.

NOTA: El orden de las acciones es importante. En el ejemplo anterior, el robot avanzaría

con la luz apagada, se pararía y después encendería la luz. Si cambiásemos el orden de las

acciones (primero encender la luz y después avanzar), el robot avanzaría con la luz encendida

y después se pararía.

INICIO

Enciende la luz frontal

Avanza durante 1 segundo

FINAL

Page 5: Tutorial mOway: introducción a la programación

Tutorial de mOway Introducción a la Programación

www.moway-robot.com 4

El software MowayWorld permite programar el mOway con diagramas de flujo, haciendo

que sea muy fácil empezar a trabajar con el robot. El ejemplo anterior en MowayWorld se

muestra a continuación. Se utiliza un bloque de “Movimiento -> Recta” y un bloque de “Luces”.

Para terminar el programa, se usa un bloque “Fin”.

La configuración de los bloques “Movimiento -> Recta” y “Luces” sería la siguiente:

Page 6: Tutorial mOway: introducción a la programación

Tutorial de mOway Introducción a la Programación

www.moway-robot.com 5

Bloques de Movimiento

Los bloques de movimiento se usan para que el robot se desplace por medio de sus

ruedas. Se puede ordenar al robot que avance, retroceda, gire o incluso controlar cada una de

sus dos ruedas de forma independiente.

Estos bloques tienen la opción de ejecutarse durante un tiempo determinado, durante una

distancia o bien de forma indefinida. Es decir, se puede elegir que el robot se mueva durante

un tiempo y después se detenga, que se mueva hasta recorrer la distancia que le indiquemos,

o bien que se mueva continuamente sin detenerse.

PONLO A PRUEBA: Puedes comenzar con un programa para que

mOway avance (módulo “Movimiento -> Recta”). Ve cambiando los

parámetros del apartado Control de flujo (indefinidamente, tiempo

constante, distancia constante…) y comprueba lo que ocurre.

Si colocas un bloque de avance recto que se ejecute de forma indefinida, y a continuación

colocas un bloque de “Movimiento -> Rotación”, verás que el robot solo hará la rotación.

PONLO A PRUEBA: Programa este ejemplo en el robot y pruébalo. Verás que el robot

solo realiza la rotación, sin avanzar. Si quieres saber por qué, sigue leyendo.

Page 7: Tutorial mOway: introducción a la programación

Tutorial de mOway Introducción a la Programación

www.moway-robot.com 6

Al elegir la opción “indefinidamente”, el robot avanza hasta que en el diagrama se

encuentre el siguiente módulo de movimiento. Pero como el siguiente módulo (rotación) se

encuentra justo después, al robot apenas le da tiempo a avanzar y pasa a realizar la rotación

instantáneamente. Por eso no vemos que el robot avance.

Para solucionarlo, en el módulo “Movimiento -> Recta” debemos elegir bien una distancia o

bien un tiempo durante el cual queremos que el robot avance antes de realizar la rotación.

Condicionales

Un bloque condicional es una acción cuyo resultado va a depender de una condición.

Por ejemplo, imagina que queremos que mOway avance hasta que encuentre un obstáculo.

Cuando lo detecte, el robot deberá pararse hasta que apartemos el obstáculo. Entonces el

robot reanudará su avance.

Es decir, la condición para que el robot se detenga es que sus sensores de obstáculos

detecten un obstáculo delante del robot.

Si hay un obstáculo, los sensores lo detectarán y la

condición será verdadera (marca verde). Entonces el

robot se parará.

Si no hay ningún obstáculo, los sensores no detectarán

nada y la condición será falsa (cruz roja). Entonces el

robot avanzará.

PONLO A PRUEBA: Programa este ejemplo en el robot y pruébalo. Verás que no

funciona correctamente. Si quieres saber por qué, sigue leyendo el siguiente apartado.

Page 8: Tutorial mOway: introducción a la programación

Tutorial de mOway Introducción a la Programación

www.moway-robot.com 7

Bucles

Hasta ahora hemos visto que los programas tienen un inicio y un final. Esto no siempre es

así. El problema en el capítulo anterior era que el mOway comprobaba una sola vez los

sensores de obstáculos, realizaba una acción (avanzar si no detecta obstáculo o detenerse en

caso de detectarlo) y el programa finalizaba.

Para que el ejemplo anterior funcione correctamente es necesario comprobar los sensores

continuamente. Para ello haremos que el programa sea un bucle, es decir, un “círculo”

cerrado:

1. Borramos el bloque “Fin”:

2. Unimos el bloque de “Stop” con el módulo de

“Obstáculos”:

3. Finalmente, unimos el bloque de avance con el

módulo de “Obstáculos”:

Acabamos de crear un bucle. De este modo el programa se repetirá continuamente y el

robot estará siempre comprobando si hay un obstáculo.

PONLO A PRUEBA: Programa este ejemplo en el robot. El bloque de obstáculos puede

configurarse para comprobar los sensores centrales. El bloque de avance se configura

para que se ejecute indefinidamente.

Page 9: Tutorial mOway: introducción a la programación

Tutorial de mOway Introducción a la Programación

www.moway-robot.com 8

Al encenderlo, el robot avanzará. Si pones la mano delante del robot, permanecerá parado

esperando a que la mano se aparte.

Operadores AND / OR

En los bloques condicionales de “Obstáculo” y “Línea”,

además de elegir qué sensores queremos que utilice el mOway,

tenemos la opción de elegir entre AND y OR. Vamos a ver cuál

es la diferencia entre estas dos opciones.

Pregunta:

¿Qué significan las opciones AND y OR?

Respuesta:

Si elegimos la opción AND, la salida del bloque será verdadera cuando se cumplan

TODAS las condiciones. Por ejemplo, si activamos los dos sensores centrales de obstáculos y

marcamos AND, la salida será verdadera cuando el sensor central izquierdo detecte obstáculo

Y el sensor central derecho detecte también un obstáculo.

Page 10: Tutorial mOway: introducción a la programación

Tutorial de mOway Introducción a la Programación

www.moway-robot.com 9

PONLO A PRUEBA: Haz un programa que encienda el LED frontal cuando la salida del

bloque “Obstáculos” sea verdadera. Verás que el LED solo se enciende cuando ambos

sensores detectan obstáculos.

Por el contrario, si elegimos la opción OR, la salida del bloque será verdadera cuando se

cumpla ALGUNA de las condiciones. Por ejemplo, si activamos los dos sensores centrales de

obstáculos y marcamos OR, la salida será verdadera cuando bien el sensor central izquierdo

detecte obstáculo O bien el sensor central derecho detecte un obstáculo.

Page 11: Tutorial mOway: introducción a la programación

Tutorial de mOway Introducción a la Programación

www.moway-robot.com 10

PONLO A PRUEBA: Haz un programa que encienda el LED frontal cuando la salida del

bloque “Obstáculos” sea verdadera. Verás que, en este caso, el LED se enciende cuando

cualquiera de los sensores detecta un obstáculo.

Orden en los diagramas

Por último, algunos consejos a la hora de realizar tus diagramas:

Colocar los bloques de forma ordenada, para comprender fácilmente el flujo del

programa. A continuación, se ve un ejemplo en el que, siendo el mismo programa,

se entiende mucho mejor cuando los bloques están colocados en línea (imagen de

la izquierda).

Page 12: Tutorial mOway: introducción a la programación

Tutorial de mOway Introducción a la Programación

www.moway-robot.com 11

Colocar las salidas verdaderas de los condicionales en el mismo lado. Por

ejemplo, en un diagrama con varios bloques condicionales, colocar las acciones de

las salidas verdaderas a la izquierda y las falsas a la derecha. Esto no es

obligatorio, pero facilita la comprensión del programa.

Tratar de que las flechas no se crucen. Si ocurre esto, se puede modificar el

trazado desplazando las mismas por medio de las marcas que aparecerán al

poner el cursor sobre ellas.