2. El simulador#

Preguntas

¿Qué es un simulador? ¿Tengo que usar uno concreto o hay varios? ¿Tengo que instalarlo? ¿Cómo lo uso? ¿Lo puedo usar con el celular? ¿Qué es Open Roberta Lab?

En esta sesión aprenderemos a:

  1. Usar un simulador con un programa sencillo

  2. Configurar diferentes Robots

2.1. ¿Cómo se programa un robot?#

Generalmente cada tipo de robot tiene un entorno de desarrollo diferente. Es decir, el fabricante:

  1. Entrega un robot (el hardware)

  2. Y el software necesario para programarlo (aplicación)

Esta situación es ideal si sólo cuentas con un tipo de robot pero a medida que se disponen de más robots, o como en el caso de Lego EV3 o Wedo, se descatalogan, se convierte en un problema. Esta es una de las principales razones para usar un simulador online como OpenRobertaLab (ORL), sirve para diferentes robots y permite centrarse en el desarrollo software.

En cualquier caso, una vez que decidas qué robot vas a usar, necesitas:

  1. Instalar el software de desarrollo

  2. Desarrollar tu programa

  3. Y trasladar el programa al robot

El tercer paso, trasladar el programa al robot, presenta algunas dificultades para su uso en clase:

  1. Necesito el robot. Uno por cada estudiante o grupo. Y tiene que funcionar (tener batería y estar operativo).

  2. Necesito conectarme con él. Es decir, probar la conexión entre el simulador y el robot, sea con un cable conectado directamente o de forma inalámbrica.

Por estas razones los docentes dejan pasar las oportunidades que el uso de la robótica les da en clase. La idea de este taller es avanzar con los pasos 1 y 2, muy sencillos de llevar al aula, antes de preparar la logística del paso 3.

2.2. Usando Open Roberta Lab#

Open Roberta en realidad es más que un simulador. Open Roberta es una iniciativa del Instituto alemán Fraunhofer para estimular a niños y jóvenes a programar mediante el uso de robots educativos. Es todo un entorno de desarrollo multirobot. Algunas de sus ventajas son:

  1. Uso de un navegador web. No se necesita instalar ningún software de desarrollo específico.

  2. Uso de un estándar de programación. El software de desarrollo es el mismo para todos los robots. Simplifica el desarrollo de programas.

  3. Es independiente del robot escogido. Aunque cada programa depende del robot escogido, según su configuración hardware, no necesitas tener el robot para programar y usas el mismo entorno con diferentes robots.

Y además, es gratis y de código abierto .

Open Roberta usa un lenguaje denominado NEPO. NEPO (New Easy Programming Online) es un metalenguaje de programación de código abierto gratuito que pueden utilizar estudiantes, académicos, profesores y otras personas interesadas en aprender a programar. Es un lenguaje de programación visual, usando bloques, y con una capa de conexión de hardware acoplada. El paradigma de programación de NEPO está inspirado en Scratch , que fue desarrollado por el Instituto de Tecnología de Massachusetts. Su uso principal es estimular el aprendizaje temprano (no programar).

Actividad S02-A01. Visita Virtual a ORL

ORL tiene una visita virtual muy sencilla , que te permite:

  1. Ver cómo usar los bloques y usar el servicio web.

  2. Crear un programa sencillo conectando bloques.

  3. Ejecutar el programa en el simulador.

Probablemente este sencillo ejercicio llega para comenzar a programar.

2.3. Primeros Pasos#

Un bloque NEPO siempre representa y encapsula una determinada funcionalidad de robot. Un conjunto de funciones de bloques se puede reconocer fácilmente a través de la categoría de bloque asociada, por ejemplo, »sensores«. La programación con NEPO sigue un principio simple. Los bloques están interconectados y serán ejecutados por el robot según el orden que determine el programador. Este principio se denomina «operación secuencial».

Por lo tanto, irás seleccionando bloques y los conectarás entre sí. No todos los bloques encajan igual, y de esa manera la construcción del programa implica que escojas un bloque que pueda encajar con otro. De momento lo más sencillo es un bloque detrás del otro, que te servirá para hacer tu primer programa.

Actividad S02-A02. Programa Hola Mundo

Una de las primeras tareas a la hora de aprender un lenguaje de programación es hacer el programa hola mundo .

En este caso se trata de realizar el programa hola mundo en un robot EV3. Lo seleccionas y usas el bloque SAY («hablar», en el menú acciones)

Solución
../../_images/hola-mundo.webp

2.4. Configuración del Robot#

2.4.1. Seleccionar#

Como puedes ver al entrar en el simulador online, el primer paso es seleccionar y configurar el robot que vas a utilizar. ORL tiene soporte para diferentes tipos de robots:

../../_images/seleccionar-robot.webp

En este taller usaremos el robot EV3dev, porque es muy completo (tiene varios sensores y actuadores).

2.4.2. Configurar#

Una vez escogido el robot, ORL te permite configurarlo y hacerte una idea de cómo es el robot. Según el tipo de robot tendrás más o menos parámetros de configuración. Y a la hora de desarrollar tu programa, tendrás disponibles diferentes sensores y acciones.

../../_images/conf-robot.webp

Cada robot, tendrá su panel de configuración. Estos son tres ejemplos de configuración, donde puedes ver una foto del robot real y su configuración en ORL:

Robot

Configuración en ORL

../../_images/mbot.webp ../../_images/mbot-conf.webp
../../_images/calliope.webp ../../_images/calliope-conf.webp
../../_images/ev3.webp ../../_images/ev3-conf.webp

Actividad S02-A03. Configurar un robot EV3

Vamos a configurar un robot Lego EV3 con unos requisitos específicos para aprender a usar el panel de configuración de ORL. Recuerda que cada robot, tendrá su panel de configuración porque tiene características diferentes.

Esta actividad consiste en configurarlo con los siguientes requisitos:

  1. Hemos construido un robot con ruedas de 8 cm de diámetro y con una distancia entre ruedas de 25 cm

  2. Necesitamos obtener información del entorno con sensores para detectar contacto, color, temperatura y obstáculos

  3. Necesitamos dos motores grandes (B y C), B en el lado izquierdo y C en el lado derecho

  4. Además vamos a incorporar un motor mediano en en el puerto Motor A y un consumidor de potencia (dispositivo especial que consume energía) en el Motor D.

Solución

El resultado de la configuracion se muestra en la siguiente imagen:

../../_images/configuracion-base.webp

Una vez seleccionado tu robot, ya podemos profundizar en diferentes sensores, acciones y otros elementos de programación para resolver cada reto que te plantees.

Configuración Física del robot

Aunque está fuera del alcance de este taller (por tiempo), esta configuracion virtual del robot, tiene un equivalente en la configuración física del robot. Es decir, es una simulación de los componentes que necesitas en tu robot.

Si luego vas a trasladar el programa (la simulación) al robot la configuración física y virtual del robot ha de ser la misma.

Firmware en un robot

Si vas a usar el robot físico, y es de cierta complejidad (por ejemplo el robot EV3), para que el programa de ORL funciona y lo puedas trasladar, necesitas realizar una instalación de software en el robot (lo que se llama firmware).

De esta manera, tu robot «entenderá» el programa que le envías. Si te interesa hacerlo, no dudes en contactarme .