Programación de Robots

RoboDK es un simulador enfocado en aplicaciones de robótica industrial. Esto significa que los programas de robot pueden ser creados, simulados y generados fuera de línea para un brazo robot específico y un controlador de robot. En otras palabras, RoboDK es un software para programación fuera de línea (Offline Programming).

Para crear programas de robot es necesario seleccionar un robot, cargar las herramientas del robot y utilizar una o más funciones de CAD para crear programas agregando objetivos o usando herramientas específicas (como convertir programas CNC en programas de robot).

Una extensa Biblioteca de robots industriales está disponible. Los robots industriales se modelan en RoboDK de la misma manera que se comportan usando controladores específicos del proveedor, incluidos los límites de los ejes, el sentido del movimiento y posición de los ejes.

Robot Programs - Imagen 1

Esta sección muestra cómo se pueden crear, simular y generar programas de robot para un controlador de robot específico usando la Interface Gráfica del Usuario GUI de RoboDK.

Programación fuera de línea

La programación fuera de línea (o programación off-line) significa programar robots fuera del entorno de producción. La programación fuera de línea elimina el tiempo de inactividad de la producción causado por la programación en el taller (programación utilizando el dispositivo de programación).

La simulación y la programación fuera de línea permiten estudiar múltiples escenarios de una celda robótica antes de configurar la celda de producción. Los errores que se cometen comúnmente al diseñar una celda de trabajo se puede predecir a tiempo.

La programación fuera de línea es la mejor manera de maximizar el retorno de la inversión para sistemas robóticos y requiere herramientas de simulación apropiadas. El tiempo para la adopción de nuevos programas se puede reducir de semanas a un solo día, permitiendo la robotización de la producción a corto plazo.

Crear un programa

Una simulación se puede lograr agregando una secuencia de instrucciones en un programa. Cada instrucción representa un código específico para un controlador específico, sin embargo, RoboDK ofrece una Interfaz Gráfica de Usuario (GUI) para construir fácilmente programas de robot, de manera genérica, sin necesidad de escribir código.

El código específico de un controlador de robot se generará automáticamente cuando se genere el programa.Para crear un nuevo programa vacío utilizando la Interfaz Gráfica de Usuario en RoboDK:

1.Seleccione ProgramaRobot Programs - Imagen 2Añadir programa  
Alternativamente, seleccione el botón correspondiente en la barra de herramientas.

2.Seleccione HerramientasRenombrar elemento... (F2) para renombrar el programa

Esta acción creará un programa vacío y permitirá añadir nuevas instrucciones haciendo clic derecho en el programa o seleccionando una instrucción del Menú del programa. La siguiente sección Instrucciones del programa proporciona más información sobre añadir instrucciones.

Robot Programs - Imagen 3

Instrucciones del programa

Es posible añadir nuevas instrucciones haciendo clic derecho sobre un programa o desde el Menú del programa, como se muestra en la sección anterior.

Esta sección describe las instrucciones admitidas por la interfaz gráfica de usuario de RoboDK para la programación fuera de línea del robot.

Mover articulación

Seleccione ProgramaRobot Programs - Imagen 4Instrucción de mover articulación para agregar una nueva instrucción de articulación. Alternativamente, seleccione el botón correspondiente en la barra de herramientas.

A menos que se seleccione un objetivo antes de añadir la instrucción, la instrucción de movimiento creará un nuevo objetivo y se vincularán. Si se mueve el objetivo, el movimiento también se modifica.

Si esta es la primera instrucción que se agrega al programa, se agregarán dos instrucciones más antes de la instrucción de movimiento: una Selección de sistema de referencia y una Selección de sistema de herramienta. Esto asegurará que cuando el programa llegue a la instrucción de movimiento, el robot estará utilizando la misma referencia y los sistemas de herramientas utilizados para crear este nuevo objetivo.

Robot Programs - Imagen 5

Movimiento lineal

Seleccione ProgramaRobot Programs - Imagen 6Instrucción de Movimiento Lineal para añadir una nueva instrucción de movimiento lineal. Alternativamente, seleccione el botón correspondiente en la barra de herramientas.

A menos que se seleccione un objetivo antes de añadir la instrucción, la instrucción de movimiento creará un nuevo objetivo y se enlazarán. Si se mueve el objetivo, el movimiento también se modifica.

Los movimientos articulares y los movimientos lineales se comportaron de la misma manera y se pueden cambiar fácilmente de un tipo a otro.

Igual que con la instrucción de movimiento de articulación, si éste es el primera instrucción que se añade al programa, se agregarán dos instrucciones más antes de la instrucción de movimiento: una Selección de sistema de referencia y una Selección de sistema de herramienta.

A diferencia de los movimientos articulares, los movimientos lineales son sensibles a las singularidades del robot y a los límites de los ejes. Por ejemplo, los robots de 6 ejes no pueden cruzar una singularidad siguiendo un movimiento lineal. La siguiente imagen muestra un ejemplo que dice que La articulación 5 está demasiado cerca de una singularidad (0 grados). [...] Como alternativa, considere un movimiento articular. Como se muestra en la siguiente imagen.

Robot Programs - Imagen 7

Si no es estrictamente necesario un movimiento lineal, haga clic con el botón derecho en la instrucción de movimiento y cámbielo a un movimiento articular (Joint Move).

Robot Programs - Imagen 8

Alternativamente, el objetivo, el TCP o la posición del sistema de referencia deben ser modificados para evitar la singularidad.

Establecer sistema de referencia

Seleccione ProgramaRobot Programs - Imagen 9Establecer Instrucción de Sistema de Referencia para utilizar un sistema de referencia específico. Esto actualizará el sistema de referencia dado en el controlador para las siguientes instrucciones de movimiento y cambiará la referencia activa del robot en RoboDK con fines de simulación. Eso significa que las instrucciones de movimiento a objetivo específicos (objetivos cartesianos) se realizarán con respecto al último sistema de referencia establecido.

El sistema de referencia es una variable también conocida como Objeto de Trabajo (robots ABB), UFRAME (robots FANUC), FRAME (para robots Motoman) o $BASE (para robots KUKA).

Robot Programs - Imagen 10

Establecer sistema de herramienta

Seleccione ProgramaRobot Programs - Imagen 11Establecer Instrucción del Sistema de Herramienta para utilizar un sistema de herramienta específico (TCP). Esto actualizará el sistema de herramienta dado en el programa para las siguientes instrucciones de movimiento y cambiará el sistema de herramientas activo del robot en RoboDK pra fines de simulación. Esto significa que las instrucciones de movimiento a un objetivo específico (objetivos cartesianos) se harán con respecto al último conjunto de sistemas de herramientas.

El sistema de referencia es una variable también conocida como Tooldata (robots ABB), UTOOL (robots FANUC), TOOL (para robots Motoman) o $TOOL (para robots KUKA).

Robot Programs - Imagen 12

Movimiento circular

Seleccione ProgramaRobot Programs - Imagen 13Instrucción de Movimiento Circular para añadir una nueva instrucción de movimiento circular. Alternativamente, Seleccione el botón correspondiente en la barra de herramientas.

A menos que se seleccionen dos objetivos antes de añadir la instrucción, la instrucción de movimiento no creará nuevos objetivos. Se requiere añadir dos objetivos más por separado y vincularlos a la instrucción de movimiento circular, como se muestra en la siguiente imagen.

Robot Programs - Imagen 14

El movimiento circular es un arco creado desde el punto en el que se encuentra el robot, pasando por el primer punto circular (objetivo enlazado 1) y terminando en el punto final (objetivo enlazado 2).

Fijar velocidad

Seleccione ProgramaRobot Programs - Imagen 15Instrucción para Fijar la Velocidad para añadir una nueva instrucción que cambie la velocidad y/o la aceleración. Es posible especificar velocidad y aceleraciones en el espacio articular y en el espacio cartesiano.

Activar los casos correspondientes para imponer una velocidad específica y/o aceleración en el programa. La velocidad del robot se aplica desde el momento en que se ejecuta esta instrucción.

La velocidad del robot también se puede cambiar en el menú de parámetros del robot: haga doble clic en el robot, a continuación, seleccione parámetros.

Robot Programs - Imagen 16

Mostrar mensaje

Seleccione ProgramaRobot Programs - Imagen 17Instrucción para Mostrar mensaje para agregar una nueva instrucción que mostrará un mensaje en el dispositivo de  programación.

Robot Programs - Imagen 18

Pausa

Seleccione ProgramaRobot Programs - Imagen 19Instrucción de Pausa para añadir una nueva instrucción que pausará la ejecución del programa durante algún tiempo o detendrá el programa hasta que el operador desee reanudar el programa.

Robot Programs - Imagen 20

Llamada de programa

Seleccione ProgramaRobot Programs - Imagen 21Instrucción de Llamada de Programa para añadir una llamada a un subprograma desde el programa actual.

De forma predeterminada, se trata de una llamada de bloqueo a un programa específico. Sin embargo, es posible cambiar a Insertar código para introducir código específico en la ubicación de esta instrucción. Esto puede ser útil para una aplicación específica y un controlador específico.

Robot Programs - Imagen 22Robot Programs - Imagen 23

Cambie de Llamada del programa a Iniciar subproceso para provocar una llamada sin bloqueo a un subprograma. En este caso, el controlador comenzará un nuevo proceso. Esta opción sólo está disponible para determinados controladores y sólo funciona para operaciones específicas.

Establecer/esperar ES

Seleccione ProgramaRobot Programs - Imagen 24Instrucción Configurar o esperar E/S para cambiar el estado de las salidas digitales. De forma predeterminada, esta instrucción se establece en ajustar salida digital. Esta instrucción también permite esperar a que una determinada entrada digital (DI) específica cambie a un estado específico.

El nombre de ES puede ser un número o un valor de texto si se trata de una variable con nombre. El valor ES puede ser un número (0 para Falso y 1 para Verdadero) o un valor de texto si es un estado con nombre.

Robot Programs - Imagen 25

Establecer como Esperar Entrada Digital para detener la ejecución del programa hasta que una entrada específica cambie a un valor específico. Además, la mayoría de los controladores de robots admite un retraso de tiempo de espera para generar un error si el tiempo de espera excede un valor específico. Compruebe la opción del tiempo de espera (ms) para activar esta función.

Robot Programs - Imagen 26

La alteración de las entradas y salidas digitales simuladas creará nuevas variables de estación.. Para comprobar el estado de estas variables, puede hacer clic con el botón derecho de la estación y seleccionar los parámetros de la estación. También es posible leer o modificar estas variables a través de la API.

Establecer valor de Redondeo

Seleccione ProgramaRobot Programs - Imagen 27Instrucción de Configuración de redondeo para modificar la precisión de redondeo. La precisión de redondeo se utiliza para suavizar los bordes entre movimientos consecutivos. Este cambio tiene efecto desde el momento que se ejecuta dentro de un programa (igual que con todas las demás instrucciones), por lo que es típico establecer este valor al principio de un programa.

Sin una instrucción de redondear, el robot alcanzará la velocidad de 0 al final de cada movimiento (a menos que el movimiento siguiente sea tangente al movimiento anterior). Esto provocará altas aceleraciones y cambios rápidos de velocidad para garantizar la mejor precisión en cada movimiento.

Este valor también se conoce como radio Blending (Universal Robots), ZoneData (robots de ABB), CNT/FINE (robots de FANUC), Cornering (robots de Mecademic) o $APO.CDIS/$APO. CPTP/Advance (robots KUKA).

Robot Programs - Imagen 28

Algunos controladores requieren configurar este valor como un porcentaje, por ejemplo, en un controlador Fanuc, si desea proporcionar el comando CNT5, debe entrar el valor 5.

También puede especificar el parámetro de redondeo en la ventana eventos del programa si está generando sus programas para el mecanizado de robots, la impresión 3D o el seguimiento de curvas/puntos.

Robot Programs - Imagen 29

Las pruebas de exactitud de la trayectoria de RoboDK permiten comprender mejor el efecto de las diferentes estrategias de redondeo.

Evento de simulación

Seleccione ProgramaRobot Programs - Imagen 30Instrucción de simulación para provocar un evento de simulación específico. Los eventos de simulación no tienen ningún impacto en el código generado y sólo se utilizan para provocar un evento específico con fines de simulación.

Los eventos de simulación usando la Interfaz Gráfica de Usuario le permiten:

adjuntar o separar objetos a herramientas robóticas

mostrar u ocultar objetos o herramientas

cambiar la posición de objetos y sistemas de referencia

Robot Programs - Imagen 31

Por ejemplo, si el robot se desplaza a una ubicación específica para agarrar un objeto, podemos configurar un evento de Adjuntar Objeto para mover ese objeto junto con el robot. Luego, después de que el robot se ha movido y está listo para dejar los objetos podemos establecer un evento de Separar objeto para dejar los objetos que la herramienta ha agarrado.

Robot Programs - Imagen 32

Simular programa

Haga doble clic en el programa Robot Programs - Imagen 33 para empezar la simulación. Alternativamente:

1.Haga clic derecho en el programa

2.Seleccione Ejecutar

Aparecerá una barra de simulación en la parte inferior si se hace doble clic en el programa. Es posible delizar la simulación para mover la simulación hacia delante o hacia atrás usando de la barra de simulación.

Robot Programs - Imagen 34

RoboDK simula 5 veces más rápido que el tiempo real por defecto. Eso significa que Si un programa toma 30 segundos para ejecutar es se simulará en 30/5 = 6 Segundos. La aceleración de la simulación aumenta esta relación a 100. Las velocidades de simulación normales y rápidas se pueden cambiar en las herramientasOpcionesMenú de movimiento.

Robot Programs - Imagen 37

Generar Programa

Siga estos pasos para generar el programa de robot requerido por el controlador de robot (específico del controlador del proveedor de robot):

1.Seleccione el Programa

2.Seleccione ProgramaGenerar programa(s) (F6)

Alternativamente, haga clic derecho en un programa y seleccione Generar Programa de Robot (F6) para generar el programa.

Robot Programs - Imagen 38

Múltiples programas se pueden seleccionar para generar más de un programa a la vez. Mantenga pulsada la tecla Ctrl para seleccionar más de un programa. Seleccionando la opción Generar Programa(s)... (Mayús + F6) se abrirá una ventana pidiéndole al usuario que proporcione una ubicación para guardar el programa.

Programa para Transferencia

Es posible transferir un programa desde el ordenador directamente al robot. Esta opción suele enviar el programa al robot a través del protocolo FTP u otros protocolos específicos, como usando la mensajería socket o la conexión serial. Primero es necesario introducir la configuración de la IP y FTP del robot en el menú de conexión del robot:

1.Haga clic derecho en un robot

2.Seleccione Conectar al robot... Aparecerá una ventana en la izquierda.

3.Entre la IP del robot

4.Seleccione Más opciones para entrar en la configuración de FTP y credenciales de la FTP (si es necesario)

Robot Programs - Imagen 39

Una vez que se han proporcionado los ajustes de red y el robot está correctamente conectado, siga estos pasos para transferir el programa al robot directamente desde RoboDK:

1.Haga clic derecho en un programa

2.Seleccione Enviar programa a robot (Ctrl + F6)

Una nueva ventana mostrará el estado (éxito o error).

Seleccionar Post Procesador

La conversión  de una simulación  en RoboDK a un programa robot específico se realiza mediante un post procesador. El post procesador define cómo se deben generar los programas de robots para un robot específico. Cada robot tiene un post procesador específico/predeterminado por defecto en RoboDK.

Para seleccionar un post procesador específico para un robot:

3.Haga clic derecho en un robot o un programa

4.Seleccione Seleccionar Post procesador

5.Elija un post procesador de la lista

6.Seleccione aceptar

Robot Programs - Imagen 40Robot Programs - Imagen 41

El cambio se aplica ahora y el programa se puede generar de nuevo para ver el resultado.

Los post procesadores en RoboDK proporcionan una completa flexibilidad para generar los programas de robots para requerimientos específicos. RoboDK proporciona post procesadores para la mayoría de los fabricantes de robots. Los post procesadores pueden ser creados o modificados fácilmente. Más información sobre post procesadores en la sección dedicada a post procesadores.

Configuración de generación de programas

Puede personalizar la forma en que genera programas para su controlador robot.

Siga estos pasos para ver la configuración de generación de programas:

1.Seleccione HerramientasOpciones.

2.Seleccione la pestaña  Programa.

Robot Programs - Imagen 42

Este menú le permite personalizar la generación de programas, tales como:

1.Dividir los movimientos de las articulaciones en pasos más pequeños.

2.Dividir los movimientos lineales en pasos más pequeños.

3.Conviertir los movimientos circulares en pequeños movimientos lineales.

4.Dividir los programas de robots grandes en subprogramas.

5.Especificar la ubicación predeterminada para guardar los programas de su robot.

6.Especificar el editor de texto predeterminado para los programas de robot.

Convierte movimientos circulares en lineales

Puede convertir fácilmente momentos circulares en pequeños movimientos lineales cuando genera programas para su robot. Esto es útil si su controlador no admite movimientos de arco.

Siga estos pasos para generar arcos como pequeños movimientos lineales:

1.Seleccione HerramientasOpciones.

2.Seleccione la pestaña Programa.

3.Seleccione Evitar arcos.

4.Especifica el tamaño máximo de arco  (mm) que define el tamaño de los movimientos lineales a lo largo del arco.

Robot Programs - Imagen 43

Dividir programas grandes

Los programas grandes pueden exceder las limitaciones de su controlador de robot. Las limitaciones del controlador pueden ser el tamaño del archivo o el número de líneas por programa. Por ejemplo, un programa de robot hecho para la impresión 3D o el mecanizado robótico puede contener miles de líneas de código.

En ese caso, es mejor dividir un programa tan largo en subprogramas más pequeños, incluido un programa principal que ejecuta los subprogramas.

Siga estos pasos para dividir automáticamente un programa largo:

1.Seleccione HerramientasOpcionesPrograma

2.Marque Limitar el número máximo de líneas por programa y proporcione el máximo de líneas deseado por programa para generar cada archivo.

Robot Programs - Imagen 44

Subprogramas en línea

Cuando genera un programa que llama a un subprograma, RoboDK creará automáticamente una instrucción para llamar a ese subprograma. Por otro lado, puede personalizar la salida del programa a subprogramas en línea directamente en su programa principal y evitar llamadas a programas.

Siga estos pasos para subprogramas en línea para evitar llamar a programas fuera de línea siguiendo estos pasos:

1.Seleccione HerramientasOpciones

2.Seleccione la pestaña Programa

3.Marque la opción Subprogramas en línea

A partir de ahora, cuando genere programas que contengan subprogramas, obtendrá el contenido de estos subprogramas directamente en el programa primero/principal.

Robot Programs - Imagen 45Robot Programs - Imagen 46