Instalación y conexión inicial
Instalación de la librería robobopy
Antes de comenzar la descripción de los métodos de Python que nos permitirán programar a Robobo, es necesario instalar la librería correctamente, y tener claros algunos conceptos clave para realizar los programas con éxito.
Para poder ejecutar código en el robot, es necesario instalar la librería robobopy. Para ello utilizaremos el gestor de paquetes de Python pip (package instaler for Python).
A continuación, se explican los pasos para instalar esta librería con pip.
-
-
- Una vez que hayas instalado Python 3, abre Visual Studio Code y vete al terminal. Si no ves el terminal, elige “Ver” en el menú superior y selecciona “Terminal”
- Escribe el siguiente comando para instalar la biblioteca robobopy:
-
pip install robobopy
NOTA: para la versión de MacOS podría ser necesario utilizar el comando pip3
Conexión inicial
Todos los programas que se desarrollen en Python para programar al robot Robobo tienen una primera parte inicial común: importar la librería robobopy y realizar la conexión con el robot real o con el simulador.
Siempre será necesario incluir al menos las siguientes líneas:
1. Se importa la clase Robobo de la librería robobopy.
from robobopy.Robobo import Robobo
2. Se crea un objeto de la clase Robobo, indicando la dirección IP de Robobo.
2.1 En el caso del robot físico, se pone la IP correspondiente. Por ejemplo, si la IP es 10.113.26.130 se incluye la siguiente línea.
rob = Robobo("10.113.26.150")
2.2 En el caso del simulador, lo habitual es tenerlo instalado en el mismo ordenador en el que se realizan los programas, con lo que la dirección será “localhost”.
rob = Robobo("localhost")
3. Se establece la conexión con el simulador, a través del método “connect”:
rob.connect()
Más detalles sobre la configuración del robot Robobo en Python están desarrollados en este enlace.
Ventana de monitorización
Mientras se están creando programas con Robobo, puede ser necesario conocer el valor de los sensores de cara a establecer umbrales o valores de referencia. Por este motivo, Robobo incluye una ventana de monitorización web, que es altamente recomendable tener abierta. Para acceder a esta ventana, basta con ir a esta url: http://monitor.theroboboproject.com/
En la página que se abre, debemos escribir, en la parte superior izquierda, la dirección IP del robot real o bien localhost si estamos usando RoboboSim, y pulsar el botón Connect.
La ventana de monitorización mostrará los valores de los diferentes sensors en tiempo real según van cambiando.
Comprobación: conexión de robobopy y RoboboSim
Una vez instalada la aplicación, podemos comprobar su correcto funcionamiento en RoboboSim mediante la ejecución de un programa de ejemplo:
1. Ejecutar el simulador, y en la pantalla inicial, acceder a la selección de mundos a través del botón “Mundos”.
2. Elegir un mundo; por ejemplo, “Four Walls”.

3. Al pulsar sobre la imagen en miniatura del mundo, se muestra una pantalla como la siguiente:

4. A continuación, creamos un archivo “prueba.py” en Visual Studio Code con el siguiente contenido:
# Importamos la librería from robobopy.Robobo import Robobo
# Creamos una instancia de la clase Robobo con la dirección IP “localhost rob = Robobo("localhost") # Conectamos con el simulador rob.connect() # Robobo se mueve en línea recta durante 4 segundos rob.moveWheelsByTime(10, 10, 4) # Desconectamos Robobo rob.disconnect()
5. El último paso es ejecutar el ejemplo (pulsando en el botón de play de VisualCode)my el robot debería moverse en línea recta durante 4 segundos.

Es importante destacar que algunos módulos no están implementados en el simulador y, por lo tanto, no se puede utilizar ninguno de sus métodos. Los módulos no implementados en el simulador son:
-
-
-
-
- Micrófono.
- Detección facial.
- Detección de líneas.
- Detección de carriles.
-
-
-
La cámara del simulador siempre está activa por defecto, por lo que los métodos startCamera y stopCamera no están implementados. Además, solo se trabaja con la cámara frontal del teléfono, por lo que los métodos setFrontCamera y setBackCamera no están implementados.
Justo al comienzo de la ejecución de un programa en el simulador, los valores de los sensores no están cargados todavía, por lo que hay que esperar un instante para poder leerlos. Si la primera instrucción de un programa consiste en leer un sensor, puede devolver un valor de 0, que no se correspondería con el valor medido en otro momento para las mismas condiciones.
Por último, el simulador puede emitir sonidos como el robot real, pero también es posible mostrar un bocadillo con el texto que se está reproduciendo.
