Ir al contenido
Español

macOS

Ejecutar el servidor de la partida y el programa controlador en el mismo ordenador

Sección titulada «Ejecutar el servidor de la partida y el programa controlador en el mismo ordenador»

Primero, prueba a ejecutar el servidor de la partida y tu programa controlador en el mismo ordenador. No es la misma configuración que en una competición, pero resulta útil para depurar en local.

Abre el mundo y pulsa “TOGGLE REMOTE” en la ventana de control. El botón se vuelve naranja para indicar que el modo remoto está activado.

El botón TOGGLE REMOTE, activado

Si no se muestra la ventana de control, haz clic derecho en “DEF MAINSUPERVISOR Robot” en el Scene Tree y elige “Show Robot Window”.

Abre una terminal y ejecuta los siguientes comandos, sustituyendo <Your controller path> por la ruta de tu programa controlador.

Ventana de terminal
export WEBOTS_HOME=/Applications/Webots.app
"$WEBOTS_HOME/Contents/MacOS/webots-controller" "<Your controller path>"

Si Webots está instalado en otro lugar o con otro nombre, cambia WEBOTS_HOME en consecuencia, por ejemplo "/Applications/Webots R2023b.app".

El controlador se conecta a Webots y espera hasta que empieza la partida.

Pulsa el botón de inicio en la ventana de control. El robot aparece y tu programa empieza a ejecutarse.

Para detener la partida, pulsa Ctrl+C en la terminal.

Cuando la simulación termina, el gestor de la partida de Erebus también se detiene. Para volver a ejecutar la partida, recarga el mundo.

Ejecutar el servidor de la partida en otro ordenador

Sección titulada «Ejecutar el servidor de la partida en otro ordenador»

Esta es la configuración que se usa en las competiciones oficiales. El ordenador que ejecuta tu controlador (el cliente) y el que ejecuta la partida (el servidor) deben estar conectados a la misma red.

  1. (Servidor) Inicia Webots en el servidor, abre el mundo y activa el modo remoto en la ventana de control.

  2. (Servidor) Averigua la dirección IP del servidor en System Settings > Network (Ajustes del Sistema > Red).

  3. (Cliente) Ejecuta los siguientes comandos, sustituyendo <Your controller path> por la ruta de tu programa controlador y <Server IP address> por la dirección IP que encontraste en el paso anterior.

    Ventana de terminal
    export WEBOTS_HOME=/Applications/Webots.app
    "$WEBOTS_HOME/Contents/MacOS/webots-controller" --protocol=tcp --ip-address=<Server IP address> "<Your controller path>"
  4. (Servidor) Inicia la partida pulsando el botón de inicio.

  • El controlador no puede conectarse: comprueba que los dos ordenadores pueden comunicarse entre sí, por ejemplo con ping, que el cortafuegos del servidor permite el puerto TCP 1234, y que la lista de IP permitidas de la pestaña Network de las preferencias (Preferences) de Webots está vacía o incluye al cliente.
  • Aparece No robot name provided: este mensaje es normal mientras el controlador espera. Si no desaparece, el modo remoto no está activado: comprueba el botón TOGGLE REMOTE.
  • El controlador no encuentra una biblioteca de Python: el programa se ejecuta con la instalación de Python del cliente, así que instala la biblioteca ahí.

Para más detalles sobre esta configuración, consulta la guía de Webots.