UNIVERSIDAD DE PANAMÁ
CENTRO REGIONAL UNIVERSITARIO DE COCLÉ
FACULTAD DE INFORMÁTICA, ELECTRÓNICA Y COMUNICACIÓN
LICENCIATURA EN INFORMÁTICA PARA LA GESTIÓN EDUCATIVA Y EMPRESARIAL
ROBÓTICA
Examen Semestral: Simulador Open Roberta Lab
Integrantes:
Ángel Lorenzo 2-739-1719
Aquiles Cano 7-709-1502
Eric Aguirre 8-945-1309
Yaremis Apolayo 9-748-1536
Profesora:
Daysi Donado
Fecha de entrega:
26 de julio
I SEMESTRE 2021
Tabla de Contenido
Portada ................................................................................................................................ 1
Presentación ....................................................................................................................... 2
Tabla de contenido ............................................................................................................. 3
Introducción ....................................................................................................................... 4
Conceptos generales......................................................................................................5-6-7
Categorías de bloque Nepo ................................................................................................ 8
Bloque de acción ................................................................................................................ 8
Bloque de sensores ......................................................................................................... 9-10
Bloque de control .......................................................................................................... 11-12
Bloque de lógica ............................................................................................................ 13-14
Bloque de colores ......................................................................................................14-15-16
Bloque de variables ...................................................................................................17-18-19
Bloque de matemáticas ............................................................................................ 19-20-21
Conclusión ......................................................................................................................... 22
PARTE PRACTICA (LINK DEL VIDEO) .............................................................................. 23
Bibliografía ........................................................................................................................24
INTRODUCCIÓN
Este trabajo es presentado a consideración de la profesora Daisy Donado y busca como
objetivo dar a conocer las funcionalidades del simulador Open Roberta Lab aquí
aprenderemos a utilizarlo de una manera fácil y divertida, este simulador es una
plataforma cuyo nombre proviene de un proyecto dentro de la iniciativa alemana. Este
simulador busca alentar a los niños a codificar mediante el uso de un robot como Lego
Mindstorms y otros sistemas de hardware programables como Arduino, BBC micro: bit y
Calliope mini; aquí aprenderemos paso a paso a cómo usarlo, como trabajar en él por
medio de sus funciones de acción, sensores, control, lógica, matemáticas, texto y colores
Open Roberta Lab tiene como objetivo simplificar los conceptos de programación y
facilitar que los profesores y las escuelas enseñen a codificar.
Conceptos Generales
Open Roberta es una plataforma en internet, cuyo nombre proviene de un proyecto dentro de la
iniciativa educativa alemana "Roberta: Aprender con robots", iniciado por Fraunhofer IAIS, que
es un instituto perteneciente a la Fraunhofer Society. Con Open Roberta, se busca alentar a los
niños a codificar mediante el uso de robots como Lego Mindstorms y otros sistemas de hardware
programables como Arduino, BBC micro: bit y Calliope mini. El enfoque en la nube del Open
Roberta Lab tiene como objetivo simplificar los conceptos de programación y facilitar que los
profesores y las escuelas enseñen a codificar. En esta guía describiremos los pasos para programar
y mostraremos algunos ejemplos de códigos de programación de robots, haciendo semejanza a
la programación del robot LEGO MINDSTORMS.
➢ Ingreso al simulador en línea
Para iniciar en Open Roberta, debes ingresar a tu buscador en internet (Google, Edge, etc.), y
escribir OPEN ROBERTA, o bien colocar la siguiente dirección: [Link]. Una vez
ingresado,
aparecerá una
imagen como la que
se muestra a
continuación, en la
cual selecciona la
opción de EV3.
Para poder hacer uso de todas las herramientas de Open Roberta, es necesario en tu primer
acceso crear una cuenta, únicamente se llena el formulario y con ello con ello podrás guardar,
importar y exportar los códigos de programación que realices en la plataforma. Ya con tu cuenta
creada, podrás iniciar sesión con el usuario y contraseña que elegiste,
➢ ¿Cuáles son los sistemas operativos en que funciona Open Roberta?
La gran ventaja de usar Open Roberta Lab, es que se puede utilizar con cualquier dispositivo (PC,
tablet, smartphone) y con cualquier sistema operativo (Mac OS, Windows, Linux). Sólo se
necesita un navegador web. La plataforma de programación abierta Open Roberta Lab es de
código abierto desarrollado.
➢ ¿Qué tipos de robots permite programar Open Roberta?
Open Roberta es un entorno que permite programar distintos modelos de robots, como los EV3,
NXT y WeDo de Lego, mBot, NAO y adaptarse a diseños basados en Arduino o micro:bit, entre
otros. El lenguaje empleado se llama “NEPO” y consiste en bloques encastrables al estilo de
Scratch o Blockly.
➢ ¿Qué es VEXcode VR?
VEXcode VR le permite codificar un robot virtual utilizando un entorno de codificación basado
en bloques impulsado por Scratch Blocks o una interfaz basada en texto de Python. VEXcode
VR se basa en VEXcode, el mismo entorno de programación utilizado para los robots VEX 123,
GO, IQ y V5.
Una ventaja de usar Open Roberta Lab, es que se puede utilizar con cualquier dispositivo (PC,
tablet, smartphone) y con cualquier sistema operativo (Mac OS, Windows, Linux). Sólo se
necesita un navegador web. La plataforma de programación abierta Open Roberta Lab es de
código abierto desarrollado.
➢ ¿Que necesitamos para programar Open Roberta?
Sólo se necesita un navegador web. La plataforma de programación abierta Open Roberta Lab
es de código abierto desarrollado. Tanto el software, así como las
herramientas de desarrollo de código abierto están disponibles en el servidor de la Sociedad
Fraunhofer.
➢ ¿Cómo trabajar en Open Roberta?
Para iniciar a trabajar debemos dar clic en el botón SIM ubicado a la derecha de tu pantalla y con
ello se abrirá la ventana de los escenarios. es un metalenguaje de programación de código abierto
gratuito que pueden utilizar estudiantes, académicos, profesores y otras personas interesadas
dentro del Open Roberta Lab.
➢ Bloque de Acción de open Roberta LAB
➢ Bloque de Sensores: Contiene bloques para todos los sensores estándar del sistema EV3.
Sensor de contacto: es un sensor analógico que puede detectar el momento en el que se presiona
y se lanza el botón rojo del sensor. Esto significa que el Sensor táctil puede programarse para
actuar según tres condiciones: presionado, lanzado o en contacto (tanto presionado como
lanzado). Con la información del Sensor táctil, se puede programar un robot para ver el mundo
como lo haría una persona no vidente, es decir, extendiendo un brazo y respondiendo cuando
toca algo (presionado).
✓ Sensor de ultrasonidos: El Sensor ultrasónico es un sensor digital que puede medir la
distancia a un objeto que se encuentra frente a él. Para hacerlo, envía ondas de sonido de
alta frecuencia y mide cuánto tarda el sonido en reflejarse de vuelta al sensor. La frecuencia
de sonido es demasiado alta para el oído humano. La distancia a un objeto puede medirse
en pulgadas o centímetros. Esto le permite programar su robot para que se detenga a una
distancia determinada de una pared.
✓ Sensor de color: es un sensor digital que puede detectar el color o la intensidad de la luz
que ingresa por la pequeña ventana de la cara del sensor. Este sensor puede utilizarse en
tres modos diferentes: Modo color, Modo intensidad de la luz reflejada y Modo intensidad
de la luz ambiental.
❖ En Modo color, el Sensor de color reconoce siete colores: negro, azul, verde,
amarillo, rojo, blanco y marrón, además de Sin color.
❖ En Modo intensidad de la luz reflejada, el Sensor de color mide la intensidad de
la luz que se refleja desde una lámpara emisora de luz color rojo. El sensor utiliza
una escala de 0 (muy oscuro) a 100 (muy luminoso).
❖ En Modo intensidad de la luz ambiental, el Sensor de color mide la intensidad
de la luz que ingresa en la ventana desde su entorno, como la luz del sol o el haz
de una linterna. El sensor utiliza una escala de 0 (muy oscuro) a 100 (muy
luminoso).
✓ Sensor de infrarrojos: El Sensor infrarrojo es un sensor digital puede detectar luz
infrarroja reflejada por objetos macizos. También puede detectar señales de luz infrarroja
enviadas por la Baliza infrarroja remota. El Sensor infrarrojo puede utilizarse en tres
modos diferentes: Modo de proximidad, Modo de baliza y Modo remoto.
✓ Reiniciar: es utilizado para restablecer el robot para que
vuelva a inicializarse, esto puede ser debido a un error.
✓ Botón intro: intro es para que el robot ejecute sus funciones.
✓ Girosensor: El Girosensor es un sensor digital que detecta el
movimiento de rotación en un eje simple. Si rota el Girosensor en
la dirección que indican las flechas que se encuentran en la caja
del sensor, este puede detectar la razón de rotación en grados por
segundo. (El sensor puede medir una razón de giro máxima de
440 grados por segundo.) .
✓ Obtener ángulo: el ángulo sirve para especificar la
orientación de un sistema de referencia de ejes ortogonales,
normalmente móvil, respecto a otro sistema de ejes ortogonales
normalmente fijos.
➢ Bloque de Control: Incluye bloques para el control de secuencia del programa.
Las estructuras de repetición permiten la ejecución de una lista o secuencia de instrucciones
(bloque de instrucciones) en varias ocasiones. El número de veces que el bloque de instrucciones
se ejecutará se puede especificar de manera explícita o a través de una condición lógica que indica
cuando se va ejecutar y cuando no, a cada ejecución del bloque de instrucciones se le conoce
como iteración.
✓ Sentencia si: La estructura alternativa simple si-
entonces ejecuta una determinada acción cuando se cumple
una determinada condición. La selección si-entonces evalúa
la condición y si la condición es verdadera, entonces ejecuta
la acción S1 y si la condición es falsa, entonces no hacer nada
✓ Sentencia si, sino: Las estructuras condicionales
dobles permiten elegir entre dos opciones o alternativas
posibles en función del cumplimiento o no de una
determinada condición. Donde (si) indica el comando de
comparación, luego se evalúa mediante una condición, si la
condición es cierta, el programa ejecuta una acción
determinada y si la condición es falsa (sino) se ejecuta otro bloque de instrucciones.
✓ Repetir indefinidamente: repite indefinidamente un
bloque de instrucciones que se le configuren.
✓ Repetir n de veces: permite repetir instrucciones
repetidamente durante un tiempo determinado, o
determinado por un número de veces.
✓ Esperar: esta sentencia permite esperar que se ejecute
alguna acción hasta un punto definido, luego ejecuta otras
acciones especificadas.
✓ Esperar hasta: esperar hasta que termine de ejecutarse
otra acción anterior y luego ejecuta otro bloque de
instrucciones.
➢ Bloque Lógica del simulador Open Roberta
Con Open Roberta, se busca alentar a los niños a codificar mediante el uso de robots como Lego
Mindstorms y otros sistemas de hardware programables como Arduino, BBC micro: bit y Calliope
mini. El enfoque en la nube del Open Roberta tiene como objetivo simplificar los conceptos de
programación y facilitar la codificación a programar robots. ejemplos de códigos de
programación de robots, haciendo semejanza a la programación del robot LEGO MINDSTORMS.
Es un metalenguaje de programación de código abierto gratuito que pueden utilizar estudiantes,
académicos, profesores y otras personas interesadas dentro del Open Roberta Lab. NEPO se
traduce en New Easy Programming Online (o simplemente OPEN al revés).
NEPO es el nombre del lenguaje de programación gráfica y su 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. 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«.
Los bloques están interconectados y serán ejecutados por el robot según su orden. Este principio
se denomina "operación secuencial". Los bloques están interconectados y serán ejecutados por el
robot según su orden. Este principio se denomina "operación secuencial".
Mover el robot hacia adelante. Es momento de hacer nuestro primer programa. Los bloques
principales para hacer mover al robot son:
Inicio del programar
• Mover hacia delante
• Mover hacia atrás
• Parar En nuestro primer programa, el robot se desplazará hacia adelante y posteriormente
esperará por 1 segundo.
El código anterior cumple con el siguiente algoritmo
Explicación del desarrollo del programa o problema
1.- Mover el robot hacia adelante, velocidad de 100, distancia de 40cms.
2.- Esperar 1000 milisegundos (1000 milisegundos = 1 segundo) Para probar el robot, podemos
utilizar la escena básica, que únicamente consiste en el robot sobre un fondo blanco y
posteriormente debemos dar clic en el botón inicia como se muestra en la siguiente imagen:
➢ Bloque de Colores del simulador Open Roberta
Nuestro robot cuenta con sensores que le permiten saber cuándo está cerca de un objeto o color,
estos sensores, así como los motores que usa nuestro robot se configuran desde la opción
configuración del robot.
Para utilizar los sensores al programar, utilizamos el bloque esperar hasta, y posteriormente
Elegimos el sensor dependiendo el propósito del desafío o la tarea a realizar.
El Sensor Ultrasónico (detecta objetos)
El ejemplo más simple para utilizar el sensor ultrasónico es cuando avanza el robot y al detectar
un objeto a cierta distancia, le decimos que se detenga.
Antes de realizar el ejercicio revisa en la configuración del robot que el “Sensor 4” tenga
seleccionado al “sensor de ultrasonidos” y estés en la escena que tiene un cuadro azul.
Coloca tu robot frente al cuadro azul como lo marca la imagen.
Otro ejemplo del sensor ultrasónico, es cuando ejecutas tu código y manualmente arrastras al
recuadro azul hacia tu robot, al estar a una distancia menor de 10cms., Se emitirá un sonido que
dice “OBJETO DETECTADO”.
4.2 EL SENSOR DE COLOR
El Sensor De Color
El sensor de color detecta 7 diferentes colores: rojo, azul, verde, amarillo, café, negro y blanco.
Ahora con el sensor de color haremos que el robot avance, y cuando detecte el color seleccionado,
se detendrá.
Antes de realizar el ejercicio revisa en la configuración del robot que el “Sensor 3” tenga
seleccionado al “sensor de color” y estés en la escena que tiene las barras con los 4 colores.
Coloca tu robot antes del cuadro azul y dale Play a tu programa.
Otro ejemplo básico para utilizar el sensor de color es que cuando el robot detecte algún color,
este emita algún sonido de acuerdo al color detectado, por ejemplo:
➢ Bloque de variables
Una variable es un contenedor de información, es como si fuera una cajita en la que podemos
almacenar números o letras, y podemos usar su contenido posteriormente. Una variable es la
manera que tenemos de guardar valores. Las variables tienen nombre y son de un solo
tipo. Estas variables se pueden usar para muchas cosas: comprobaciones, operaciones
matemáticas.
Una variable puede ser declarada al inicio del programa, antes del setup(), dentro de otras
funciones o dentro de un control de flujo.
La forma general de usar una variable es la siguiente:
velocidad = 100
velocidad = velocidad + 50
velocidad = velocidad / 2
En este ejemplo, la variable velocidad almacena primero el valor 100. Después se toma ese 100, se
le suman 50, con lo que quedan 150, y ese será el nuevo valor de la variable velocidad. Por último,
se toma ese 150, se divide entre 2, con lo que quedan 75, y ese será el nuevo valor de la
variable velocidad.
Una variable es un espacio que se puede crear para almacenar información este tipo de
información puede ser:
Numérica
Booleana
Cadena
Color
Conexión
Variable de distancia o recorridos
Estas variables se definen de acuerdo se vaya hacer la simulación, cuando se crea la variable esta
tiene un valor de 0 pero conforme se vaya haciendo el funcionamiento de robot esta ira
almacenando los datos y pueden cambiar la distancia de recorrido.
Como se puede observar en la imagen están los números que serán almacenados y al lado esta el
espacio de la variable donde se le ira asignando la distancia de recorrido con los datos
almacenados y cuando se llame a la lectura de la variable es variable va a mostrar el valor que
tiene presente. En la otra imagen se observa donde la variable esta haciendo el trabajo de
simulación mostrando las diferentes distancias de recorrido hasta desde el punto de inicio al final
y la distancia de recorrido de vuelta al punto de inicio.
En estos ejemplos podemos ver las variables definidas con acciones y sensores donde se le da una
distancia de recorrido al robot de manera que salga y vuelva al punto de origen. Esto es lo que
hacen las variables en open Roberta darle función de movimiento dependiendo del caso que lo
requiera.
➢ Bloque de Matemáticas
Manejo de operadores en programación
Los operadores en programación se dividen en aritméticos, relacionales y lógicos.
Operadores aritméticos se usan para realizar operaciones de la matemática básica como la
suma, resta, multiplicación, división.
Operador Símbolo Acción
Suma + Suma dos operandos
Resta - Resta el segundo operando del primero
Multiplicación * Multiplica los dos operandos
División / Divide el primer operando por el segundo
Resto (módulo) % Facilita el resto de la división entre dos operandos (residuo de la
división)
Operadores de Relacionales
Los operadores relacionales se usan para evaluar expresiones condicionales y se basan en el
concepto de verdadero o falso
Operador Símbolo Ejemplo
Mayor que > 3 > 4 FALSO
8 > 5 VERDADERO
Mayor o igual que >= 3 >= 3 VERDADERO
4 >= 4 FALSO
Menor que < 4 < 6 VERDADERO
7 < 4 FALSO
Menor igual que <= 2 <= 2 VERDADERO
3 <= 2 FALSO
Igual == 4 = 4 VERDADERO
3 = 4 FALSO
Distinto != 6 != 7 VERDADERO
7 != 7 FALSO
Operadores Lógicos
Los operadores lógicos son usados para concatenar dos o más expresiones con operadores
relacionales.
Operador Símbolo Ejemplo
AND && AND lógico
OR || OR lógico
NOT ! NEGACIÓN
Ejemplos
3 > 2 && 4 < 5 VERDADERO, porque ambas expresiones son verdaderas
3 > 2 && 4 < 3 FALSO, porque hay una expresión falsa
3 > 2 || 4 < 3 VERDADERO, Porque hay una expresión verdadera
6 < 4 || 7 > 8 FALSO, Porque ambas expresiones son verdaderas
El operador lógico “and” solo da como resultado Verdadero si ambas expresiones son verdaderas.
Expresión A Expresión B A && B
Verdadero Verdadero Verdadero
Verdadero Falso Falso
Falso Verdadero Falso
Falso Falso Falso
El operador “or” da como resultado Verdadero cuando al menos una de las expresiones sea
verdadera.
Expresión A Expresión B A && B
Verdadero Verdadero Verdadero
Verdadero Falso Verdadero
Falso Verdadero Verdadero
Falso Falso Falso
CONCLUSIÓN
Este trabajo presenta una herramienta de software libre que facilita la enseñanza de
conceptos básicos de robótica y programación en cualquier institución educativa. Al
mismo tiempo, permite llevar a cabo el desarrollo de habilidades de pensamiento
computacional: descomposición, abstracción, reconocimiento de patrones y
pensamiento algorítmico.
Esta herramienta permite el diseño y configuración de un robot mediante la
especificación de diferentes tipos de sensores. Una vez diseñado el robot, se puede
simular su comportamiento mediante diferentes retos propuestos al usuario. Este
comportamiento se define mediante un lenguaje de programación visual basado en
bloques. También permite diseñar y personalizar un robot a través del uso de distintos
tipos de sensores. Tras su creación, dicho robot se podrá poner a prueba en un entorno
de simulación mediante distintos retos. Estos bloques permiten definir las acciones a
llevar a cabo un cabo por el robot en función de la información recogida por los sensores
con el objetivo de superar los desafíos propuestos.
PARTE PRÁCTICA DEL EXAMEN
Video de la implementación del simulador Open Roberta LAB mediante ejemplos
creados en el mismo, Explicación a través de video.
Link del video en YouTube (Aquiles Cano; Ángel Lorenzo):
[Link]
BIBLIOGRAFÍA
Fraunhofer IAIS. (2016). Open Roberta Lab. 2021, de Roberta® – Learning with Robots.
Sitio web: [Link]
Eduardo P. Morales y Manuel F. Guzmán M. (2021). Manual de operación de Open
Roberta. Documento pdf.