Ir al contenido

Conexión entre UR5e y PC

Mediante XML-RPC podremos comunicar facilmente el UR5e con el PC, entre otros protocolos de comunicación, este considero es el más sencillo de cara a las necesidades del curso.

Para la comunicación entre PC y URSIM es importante obtener la IP del PC desde URSIM para esto usaremos host.docker.internal y le haremos ping, URSIM no lo tiene instalado por lo que lo instalaremos, dentro del contenedor:

Terminal del contenedor URSIM en docker desktop, mostrado en la imagen la pestaña Exec

Figura 1: Terminal del contenedor URSIM en docker desktop, mostrado en la imagen la pestaña Exec
Ventana de terminal
apt update && apt install iputils-ping -y

luego de instalado haremos ping al host:

Ventana de terminal
ping host.docker.internal

con esto obtendremos la dirección IP del host en mi caso 192.168.65.254. Para verificar que todo esta funcionando descargar los archivos de prueba que nos entrega Universal Robots:

Dentro de la carpeta zip esta la versión del servidor xml-rpc de python que es la que usaremos. Correremos el archivo de python en un terminal:

Ventana de terminal
python xmlrpc_server.py

Recomiendo cambiar la siguiente linea del archivo xmlrpc_server.py, para tener retorno en el terminal donde se ejecute el codigo de python.

server = SimpleXMLRPCServer(("", 50000), allow_none=True)
# por
server = SimpleXMLRPCServer(("", 50000), allow_none=True, logRequests=True)

Dentro del contenedor podremos verificar que tenemos conexión al servidor con el siguiente comando en el terminal del docker desktop (Figura 1):

Ventana de terminal
curl http://192.168.65.254:50000

obteniendo la siguiente respuesta.

<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error response</title>
</head>
<body>
<h1>Error response</h1>
<p>Error code: 501</p>
<p>Message: Unsupported method ('GET').</p>
<p>Error code explanation: 501 - Server does not support this operation.</p>
</body>
</html>

Ya con esto tenemos todo listo para probarlos desde el ursim.

Para probar la comunicación entre el robot y el PC, usaremos el URSIM, esto lo haremos desde la interfaz VNC. Siguiendo los pasos a continuación:

  1. Copiamos el archivo XMLRPC.urp en la carpeta programs de donde ejecutamos el contenedor.
  2. Abrimos la interfaz VNC.
  3. Abrimos en el URSIM el archivo XMLRPC.urp.
  4. Cambiamos la dirección IP.
  5. Ejecutamos el programa. El servidor en python debe seguir activo.

Captura de pantalla del programa funcionando en el URSIM

Figura 2: Captura de pantalla del programa funcionando en el URSIM