Los Universal Robots (UR) pueden ser programados con RoboDK usando dos métodos diferentes:
1.A nivel de Interface Gáfica de Usuario (archivos URP):
Los programas URP son creados a través de la pantalla táctil del teach pendant del robot. Un programa URP puede tener uno o más archivos SCRIPT como subprogramas. Los programas URP son transformados en programas SCRIPT detrás de escena en el controlador del robot antes de la ejecución.
2.A nivel de Script (archivos SCRIPT):
Los programas de script utilizan el lenguaje de programación UR Script. Como cualquier otro lenguaje de programación, os UR Script tienen variables, tipos, declaración de control de flujo, función, etc. Además, un UR Script tiene varias funciones incorporadas y funciones que controlan las I/O y los movimientos del robot.
RoboDK es un simulador y software de programación fuera de línea para robots industriales. RoboDK puede generar Script y archivos URP los cuales pueden ser ejecutados por un robot UR. Además, es posible ejecutar programas en el robotdesde RoboDK si el robot está conectado a la computadora.
RoboDK también puede importar archivos del SCRIPT al simulador. Esto permite simular programas de SCRIPT existentes, modificarlos y volver a exportarlos.
La Interfaz Gráfica del teach pendant del UR Usuario es llamada Poliscope (como se muestra en la siguiente imagen). Refièrase al manual del Lenguaje de Programación UR Script para más información.

La IP del robot es requerida para ejecutar programas directamente desde el simulador RoboDK. También es posible transferir archivos de programa a través de FTP.
La IP del robot puede ser recuperada desde el menú Acerca de en la pantalla principal del teach pendant de UR.

El robot debe ser conectado a la computadora a través de una conexión Ethernet (conexión directa o a través de una red). Una prueba de Ping permite probar si el enlace de red se ha establecido correctamente.
Los controladores de robots proporcionan una alternativa a la Programación Fuera de Línea (donde se genera un programa, luego se transfiere al robot y se ejecuta). Con los controladores de robots, es posible ejecutar una simulación directamente en el robot (Programación en Línea). Más información disponible en la sección Controladores de Robot.
Los programas del robot pueden ser ejecutados directamente desde RoboDK hasta el robot real si se ha establecido una conexión de red.
1.Haga clic derecho en el robot en RoboDK
2.Seleccione 
3.Ingresar la IP del robot
4.Seleccione Conectar.
Debería aparecer un mensaje verde mostrando Listo si la conexión tuvo éxito.
El robot puede ser movido al seleccionar Consiga articulaciones del robot, Mover articulaciones y Movimiento lineal, desde el menú de conexión.

Hay dos métodos diferentes para ejecutar el programa desde la PC para el robot:
1.Ejecutar en el robot paso a paso con retroalimentación en RoboDK (programación en línea):
Este método utiliza el robot como un servidor y cada instrucción se envía al robot paso a paso, ya que se ejecuta en el simulador. Este método es útil para propósitos de depuración.
a.Haga clic derecho en el programa (Print3D en este ejemplo)
b.Seleccione Ejecutar en el robot
c.Haga doble clic en el programa para iniciarlo (o haga clic con el botón derecho y seleccione ejecutar)
Una vez esta opción sea marcada, se conectará al robot real cada vez que se haga doble clic en un programa (o haga clic derecho, a continuación, seleccione Ejecutar)
Estas operaciones también están disponibles desde el API RoboDK y permite integrar la programación de robots con otras aplicaciones. La API está disponible en Python y C# y otros lenguajes de programación.

2.Enviar programa al robot genera el programa completo, lo transfiere al robot y comienza el programa en el robot real (programación fuera de línea de robots):
a.Haga clic derecho en el programa (Print3D en este ejemplo)
b.Seleccione Enviar Programa al robot (Ctrl +F6).

Debe habilitar la opción de Control Remoto en el controlador del robot UR si tiene un robot URe (UR3e, UR5e o UR10e).
Siga estos pasos para habilitar el Control Remoto de URe:
3.Seleccione el menú Configuración desde el botón superior derecho
4.Seleccione Sistema-Control remoto
5.Seleccione Habilitar
6.Cambie el modo de operación a Control remoto



Las conexiones del controlador de RoboDK a los sistemas de control UR son bidireccionales. Esto significa que el controlador no solo se conecta al sistema remoto como cliente, sino que también actúa como servidor al mismo tiempo, esperando una conexión inversa desde el sistema de control. Esa conexión inversa del sistema de control UR al ordenador de RoboDK es considerada por este último como una conexión entrante externa. Este tipo de conexiones suelen ser bloqueadas por el firewall del sistema operativo. Si deshabilitar completamente el firewall de su sistema no es aceptable, utilice la siguiente tabla para permitir las conexiones entrantes y salientes necesarias:
Propósito | Dirección | Protocolo | Número de puerto | Número de puerto
|
Interfaz secundaria | RoboDK → UR | TCP | 30002 | 30002 |
Interfaz en tiempo real (RTDE) | RoboDK → UR | TCP | no se usa | 30004 |
Interfaz inversa | UR → RoboDK | TCP | 30000 | 50001 |
Emisor de scripts | UR → RoboDK | TCP | no se usa | 50002 |
Interfaz de trayectoria | UR → RoboDK | TCP | no se usa | 50003 |
Interfaz de comandos de script | UR → RoboDK | TCP | no se usa | 50004 |
Una vez que un programa está listo en RoboDK es posible generar una Script y/o un Programa URP. Estos dos archivos pueden ser ejecutados por el controlador del robot. Siga estos pasos para generar un SCRIPT y un Programa URP desde una simulación RoboDK:
1.Haga clic derecho en un programa (Print3D en el ejemplo)
2.Seleccione Generar programa de robot F6
Después de una exitosa generación de programa, el programa se mostrará en un editor de texto. Este comportamiento se puede cambiar en el menú: Herramientas➔Opciones➔Programa.

La transferencia de archivos SCRIPT y URP pueden ser hechos a través de transferencia FTP o una unidad USB.
Los siguientes pasos resumen el procedimiento para cargar un archivo URP en el robot Universal Robots.
1.Haga clic derecho en el programa y seleccione Seleccionar Postprocesador
2.Seleccione Universal Robots URP
Estos primeros 2 pasos son opcionales, ya que el postprocesador predeterminado también genera un archivo URP; sin embargo, esto le permitirá generar un programa URP legible por el usuario en lugar de un programa URP que ejecuta un archivo de script.
3.Haga clic derecho en el programa y seleccione Generar programa de robot (F6)
4.Guarde los archivos URP generados en una memoria USB.
5.Conecte la memoria USB al teach pendant del robot (Polyscope de UR)
6.En el teach pendant del robot: Seleccione la pestaña Ejecutar
7.Seleccione Cargar Programa y cargue el programa generado desde RoboDK
8.Seleccione la pestaña Programa y seleccione el botón Reproducir para iniciarlo
9.Seleccione el botón Reproducir para iniciar el programa.




Los siguientes pasos e imágenes resumen el procedimiento para ejecutar un programa SCRIPT de comandos en el robot. Estos pasos no son necesarios para ejecutar un archivo de programa URP:
1.Seleccione el Programa del Robot en la pantalla principal del teach pendant
2.SeleccionePrograma Vacío
3.Seleccione la pestaña Estructura
4.Seleccione la pestaña Avanzada
5.SeleccioneCódigo script
6.Seleccione Archivo (como se muestra en la imagen)
7.Seleccione el archivo de script generado por RoboDK
8.Seleccione él icono de ejecutar para ejecutar el programa
9.Seleccionar Archivo➔Guardar para guardar los cambios
10.Finalmente, el programa puede ser ejecutado




Un programa SCRIPT generado desde RoboDK (como al pulsar F6) puede ser transferido al robot mediante un disco USB o por FTP transfer si el robot y el computador está conectado.
Se recomienda instalar el FileZilla Cliente en la ruta de acceso predeterminada o directamente dentro de la carpeta de instalación de RoboDK para que sea detectado automáticamente por RoboDK:
C:\RoboDK\FileZilla TCP Client\
Para transferir un archivo a través del FTP:
1.Haga clic derecho en un robot
2.Seleccione Conectar al robot...
3.Seleccione Explorar. Filezilla Client abrirá (software para transferencia FTP).
4.Seleccione Archivo➔Manejo del sitio...
5.Seleccione Muestra de Robot Universal, en Sitios predefinidos.
6.Seleccione Duplicado. Se creará una copia de la configuración del Robot Universal.
7.Introducir la IP del robot (192.168.1.66 en este ejemplo).
8.Seleccione Conectar.
9.Transfiera el archivo de secuencias de comandos previamente generados para el robot.
Los programas del SCRIPT se almacenan generalmente en la carpeta /Programas/ del controlador del robot.

Hay un macro disponible en la librería que permite monitorizar el estado de un robot UR. Seleccione:
1.Seleccione Archivo➔Abrir
2.Cargar el macro UR_ActivateMonitoring.pydesde C:/RoboDK/Library/Macros/. Un nuevo objeto Python se añadirá en la estación.
3.Asegúrese de que la IP del robot está correctamente provista en los parámetros de conexión del robot.
4.Haga doble clic en la macro para iniciar el monitoreo.
El simulador actualizará la posición del robot y creará objetivos a medida que se mueva el robot real. Entre otras cosas, es posible monitorizar la velocidad del robot, la aceleración y las corrientes de los motores.
RoboDK admite la generación de programas para Universal Robots que pueden operar pinzas RobotiQ. Puede operar la pinza RobotiQ generando un programa sin conexión y utilizando el controlador de RoboDK para robots UR.
Puede operar la pinza RobotiQ directamente desde el controlador UR generando programas sin conexión utilizando RoboDK.
Para añadir compatibilidad con pinzas RobotiQ, debe seleccionar el postprocesador Universal_Robots_RobotiQ:
1.Haga clic derecho en un programa o en su robot
2.Seleccione Seleccionar Postprocesador
3.Seleccione Universal Robots RobotiQ
Después puede generar llamadas de programa que operen la pinza RobotiQ. Por ejemplo: rq_move_and_wait( 255 ) para abrir la pinza o rq_move_and_wait( 0 ) para cerrarla.

Una vez que tenga el programa listo en RoboDK, puede ejecutarlo en el robot utilizando uno de estos 2 métodos:
Haga clic derecho en un programa (como GripperOpenClose) y seleccione Enviar Programa al robot
Haga clic derecho en un programa (como GripperOpenClose) y seleccione Generar Programa (esta segunda opción requiere que cargue manualmente el programa en el robot).
Este método de operación no requiere utilizar el controlador.
Puede operar la pinza RobotiQ directamente desde RoboDK utilizando el controlador (opción Ejecutar en robot). El controlador de RoboDK para UR y RobotiQ le permite ejecutar programas paso a paso desde RoboDK y ver el puntero ejecutándose en todo momento desde RoboDK.
Es importante asegurarse de poder conectarse al robot para usar esta función. Es posible que necesite privilegios de administrador en Windows y/o añadir una regla al Firewall de Windows para permitir esta comunicación (si deshabilita el Firewall de Windows puede ayudar a determinar si el problema está relacionado con el Firewall).
Debe seguir estos pasos para añadir compatibilidad con el movimiento de la pinza RobotiQ directamente desde RoboDK:
4.Descargue el siguiente archivo de script:
https://robodk.com/files/upload/progrobodk-rq.zip
5.Descomprima el archivo progrobodk.script aquí:
C:/RoboDK/bin/progrobodk.script
6.Asegúrese de reiniciar el controlador si estaba en ejecución (haga doble clic en Desconectar y luego en Conectar).
7.Seleccione Herramientas-Opciones-Controladores
8.Desmarque la opción: Gestionar llamadas de programa con RoboDK cuando esté conectado a un robot.
Para operar correctamente la pinza utilizando el controlador (por ejemplo, abrir/cerrar la pinza), debe usar la llamada de programa rq_move_and_wait pasando un parámetro dentro del rango 0-255.
Ejemplo:
rq_move_and_wait( 0 ) # Fully close the gripper
rq_move_and_wait( 255 ) # Fully open the gripper
El número pasado como argumento es requerido por el controlador.
Los robots UR admiten movimientos circulares y movimientos lineales; sin embargo, es posible que vea errores en el teach pendant si utiliza el controlador para robots UR.
Es posible que vea los siguientes errores cuando utilice el controlador de robot UR (opción "Ejecutar en robot") porque el controlador no aplica todos los filtros predeterminados que tiene en el postprocesador UR de forma predeterminada. Estos filtros ayudan a limpiar el código para que el controlador UR pueda ejecutar el programa sin problemas.
Estos errores incluyen:
9.Arco circular con radio infinito (CIRCULAR_ARC_WITH_INFINITE_RADIUS): puede ver este error al intentar hacer un movimiento circular con un radio grande. El postprocesador convierte automáticamente estos movimientos en movimientos lineales.
10.Arco circular con radio cero (CIRCULAR_ARC_WITH_ZERO_RADIUS): puede ver este error con movimientos circulares pequeños. El postprocesador puede eliminar estos movimientos o convertirlos en movimientos lineales.
No debería ver estos errores al generar el programa sin conexión (clic derecho en un programa y seleccionar Generar programa, o F6) o al enviarlos automáticamente al robot (clic derecho en un programa y seleccionar Enviar programa al robot, o Ctrl+F6). Estos dos métodos de generación del programa utilizan el postprocesador en lugar del controlador.
Si sigue experimentando errores al generar el programa sin conexión (sin usar el controlador), puede convertir automáticamente los movimientos de arco en movimientos lineales siguiendo estos pasos:
Seleccione Herramientas-Opciones
Seleccione la pestaña Programa
Haga clic en la opción Evitar Arcos
Establezca el Tamaño de paso mínimo (mm) en 0,5 mm para movimientos lineales: esto asegurará que no exporte puntos más cercanos que 0,5 mm para que el radio de mezcla (blend) tenga algún efecto; puede aumentarlo para tener menos movimientos bruscos.
URSim le permite emular el comportamiento del controlador de robot real de Universal Robots en su ordenador. Esto le permite familiarizarse con el controlador y probar los programas que genere con RoboDK. Esta sección le guiará para instalar URSim.
Debe descargar la imagen oficial de URSim desde el sitio web de Universal Robots y Oracle VM VirtualBox desde los sitios web oficiales.
1.Descargue el simulador sin conexión más actualizado para No Linux desde este enlace: https://www.universal-robots.com/download/?query=ursim.

11.Descargue e instale el software Oracle VM VirtualBox desde el siguiente enlace: https://www.virtualbox.org/wiki/Downloads.
12.Cree una carpeta en su disco duro y llámela URSim.

13.Extraiga el contenido del archivo URSim descargado (archivo .zip o .rar) a la carpeta URSim.

Esta sección muestra cómo puede crear una nueva máquina virtual utilizando Oracle VM VirtualBox para simular el controlador de Universal Robots.
Siga estos pasos para crear una nueva máquina Linux y cargar la imagen del controlador descargada:
1.Inicie VirtualBox y pulse "Nueva".

2.Establezca el nombre en UR_Sim_Eseries y establezca la carpeta de la máquina en la carpeta que creó. Establezca el tipo en Linux y la versión en Ubuntu (64 bits).


3.Establezca el tamaño de memoria en 768 MB y pulse "Siguiente".

4.Seleccione Usar un archivo de disco duro virtual existente y defina la ruta a la carpeta donde se descomprimió el archivo. Pulse "Crear".




5.Pulse "Iniciar" para iniciar la máquina virtual.

6.Si aparece un error que indica "La aceleración de hardware no está disponible", es posible que deba reiniciar el ordenador y cambiar una configuración de la BIOS para habilitar la virtualización. Con la virtualización habilitada, puede reiniciar Windows, VirtualBox y la máquina virtual.
7.La máquina virtual debería iniciarse ahora.

Opcionalmente, puede configurar una carpeta compartida entre el ordenador Windows y el controlador emulado para transferir fácilmente archivos de programa.
Siga estos pasos para asignar la carpeta de programas de RoboDK a una nueva carpeta en el controlador de robot UR emulado:
14.Esta sección explica cómo tener una carpeta compartida entre Windows y URSim para transferir programas.
15.Abra la VM de URSim.
16.Cree una carpeta en Linux Ubuntu y llámela "RoboDK_Shared" dentro de "/home/ur/".

17.Cree un acceso directo en el escritorio arrastrando y soltando la carpeta "RoboDK_Shared" al escritorio.

18.Abra RoboDK_Shared.
19.Seleccione Ver Modo de vista de carpeta Vista compacta.

20.Desde el menú superior de la ventana de VirtualBox, seleccione Dispositivos Carpetas compartidas Configuración de carpetas compartidas.

21.Añada una nueva carpeta compartida utilizando el botón que se muestra en la siguiente imagen.

22.Seleccione la ruta de la carpeta compartida en Windows (puede usar cualquier carpeta de su ordenador).
23.Marque "Montaje automático" y "Hacer permanente".
24.Punto de montaje: /home/ur/RoboDK_Shared


25.Desde el menú superior de VirtualBox, seleccione Dispositivos Insertar imagen de CD de las Guest Additions.

26.Seleccione "Abrir en el explorador de archivos" y pulse "Aceptar".

27.Abra la carpeta: /media/ur/VBox_Gas_6.1.38 (la versión de VBox puede variar).

28.Haga doble clic en el archivo "autorun.sh" y seleccione "Ejecutar" (la contraseña es "easybot"). El script puede tardar un poco en ejecutarse.

29.Reinicie la máquina virtual.
30.Abra la terminal: Seleccione el botón Inicio Herramientas del sistema UXTerm.

31.Escriba en la terminal: sudo adduser $USER vboxsf y pulse "Enter".

32.Reinicie la VM.
33.Si genera nuevos archivos con RoboDK en su carpeta compartida de Windows, puede pulsar "Ver" → "Recargar carpeta" o pulsar "F5" en la carpeta compartida de su VM "RoboDK_Shared".

Puede probar la conexión entre RoboDK y el controlador de Universal Robots utilizando URSim.
34.En el Administrador de Oracle VM VirtualBox.
35.Seleccione la VM UR_Sim_Eseries y pulse Configuración.

36.Seleccione Red Conectado a: y seleccione Adaptador puente y pulse Aceptar.

37.Inicie la máquina virtual URSim.

38.Inicie Polyscope con el modelo UR de su preferencia.

39.Recupere la dirección IP del simulador.

40.Vaya a la ventana "Mover" de URSim.

41.Abra en RoboDK una estación con el mismo modelo UR.
42.Seleccione Conectar Conectar Robot.

43.Introduzca la dirección IP de URSim y pulse Conectar.
44.Use Obtener posición para recuperar la posición del robot URSim y aplicarla a RoboDK.
45.Use Mover articulaciones para mover el robot URSim a la posición del robot de RoboDK.
46.Haga clic derecho en un programa de RoboDK, seleccione "Ejecutar en robot" y "Ejecutar" para ejecutar el programa simultáneamente en RoboDK y en URSim.
Seguir los pasos de esta sección es opcional y solo es necesario en ciertas circunstancias cuando se requiere precisión en la programación fuera de línea. Esta sección explica cómo introducir los valores cinemáticos únicos de su robot UR en RoboDK para simular el robot con precisión.
La cinemática del controlador UR es única para cada robot. La cinemática son las dimensiones que definen el robot en forma de tabla DH (Denavit Hartenberg). El simulador de RoboDK utiliza la cinemática UR nominal por defecto, por lo que puede observar una discrepancia de 2 mm a 10 mm entre la cinemática del simulador y la del controlador.
Para que la simulación coincida exactamente con el robot real, puede importar la cinemática específica de su robot UR simplemente abriendo un archivo URP creado con el teach pendant.
También puede cargar el archivo URP manualmente siguiendo este procedimiento:
5.Obtenga un archivo URP generado utilizando el robot real (no utilizando RoboDK ni el simulador UR)
6.Abra su robot en RoboDK. Encontrará su robot UR en la biblioteca de RoboDK. También puede utilizar un robot UR disponible en una de sus estaciones de RoboDK existentes.
7.Seleccione Herramientas-Ejecutar Script
8.Seleccione UR_LoadControllerKinematics
9.Seleccione el archivo URP extraído del controlador del robot.
Debería ver un mensaje como el que se muestra en la siguiente imagen. Puede ver un mensaje de advertencia si no cargó un archivo URP válido o no seleccionó el robot UR correcto.

Cuando se complete este procedimiento, puede hacer clic con el botón derecho en un robot y seleccionar Guardar como .robot. Estos parámetros se guardan con el archivo del robot y puede utilizar el archivo del robot en lugar de repetir este procedimiento para cada proyecto nuevo.
RoboDK extrae la información específica de su robot desde el archivo URP y la tiene en cuenta para la simulación y la programación fuera de línea en el archivo del robot. Puede cambiar esta configuración y volver a la cinemática predeterminada en el menú de parámetros del robot como se muestra en la siguiente imagen.

Notará que la información de Pose mostrada en el teach pendant coincide con la cinemática mostrada en RoboDK (asegúrese de eliminar el sistema de referencia de herramienta y el sistema de referencia en RoboDK y en el robot UR para realizar la comparación).
La cinemática UR cambia de un robot a otro porque cada robot es calibrado en fábrica por UR. Otros fabricantes de robots como KUKA, ABB, Motoman o Fanuc no calibran sus robots a menos que se adquiera la denominada opción de Precisión Absoluta. Las opciones de Precisión Absoluta pueden tener en cuenta hasta 40 parámetros de calibración o más.
Este procedimiento no es lo mismo que la calibración de robot de RoboDK. La calibración de robot ayuda a mejorar la precisión del robot real.