Programación de Robots

RoboDK es un simulador enfocado en aplicaciones de robots industriales. 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 un programa para un robot es necesario seleccionar un robot, cargar las herramientas del robot y utilizar una o más características de CAD a trayectoria para crear programas mediante la adición de destinos o el uso de herramientas específicas (como la conversión de programas CNC a programas de robots).

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, incluyendo los límites de los ejes, el sentido del movimiento y el enlace del eje.

Robot Programs - Imagen 1

Esta sección muestra cómo se pueden crear, simular y generar programas de robots para un controlador de robots 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 la disminución de producción causada por la programación en planta (programación mediante el teach pendant). La simulación y la programación fuera de línea permiten estudiar múltiples escenarios de una celda de trabajo antes de configurar la celda de trabajo de producción. Errores comúnmente realizados en el diseño de una célula de trabajo se puede predecir en el 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 puede ser cortado 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 mediante la adición de 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 robots, de manera genérica, sin la necesidad para escribir código. El código específico de un controlador de robot será generado automáticamente cuando se genera el programa.

Para crear un nuevo programa vacío utilizando la Interfaz Gráfica de Usuario en RoboDK:

1.Seleccione ProgramaRobot Programs - Imagen 2 Agregar 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.

En esta sección se describen las instrucciones soportadas por la Interfaz Gráfica de Usuario RoboDK para la programación fuera de línea de robots.

Mover articulación

Seleccione ProgramaRobot Programs - Imagen 4 Instrucció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 estarán vinculados. Si se mueve el objetivo, el movimiento también se modifica.

Si esta es la primera instrucción que se agrega al programa, dos instrucciones más serán agregadas antes de la instrucción del movimiento: a Selección de sistema de referencia y un Selección de sistema de herramienta. Esto asegurará de que cuando el programa llega a la instrucción de movimiento el robot esté 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 6 Instrucción de Movimiento Lineal para agregar 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 de articulaciones 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 Add a a programa, se añadirán dos instrucciones más antes de la instrucción de movimiento: a Selección de sistema de referencia y un Selección de sistema de herramienta.

Importante Se recomienda mantener el primer movimiento de cada programa como un movimiento articular usando un objetivo común. De esta forma se configura correctamente la configuración deseada primer movimiento y Assurez de que el robot real se mueve de la misma manera que fue simulado.

Contrariamente a los movimientos conjuntos, los movimientos lineales son sensibles a las singularidades del robot y a los límites del eje. Por ejemplo, los robots de 6 ejes no pueden cruzar una singularidad después de un movimiento lineal. La siguiente imagen muestra un ejemplo diciendo La articulación 5 está demasiado cerca de una singularidad (0 grados). [...] Considere a cambio un movimiento de articulación. 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 una instrucción conjunta.

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 Programa Robot Programs - Imagen 9 Establecer 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 instrucciones de seguimiento de movimiento y va a 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 harán con respecto al último sistema de referencia.

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

Robot Programs - Imagen 10

Establecer sistema de herramienta

Seleccione Programa Robot Programs - Imagen 11 Establecer Instrucción del Sistema de Herramienta para utilizar un sistema de herramienta específico (TCP). Esto actualizará el sistema de la herramienta en el programa para las instrucciones de seguimiento de movimiento y va a cambiar la herramienta Activa del robot en RoboDK con 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 13 Instrucció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

La trayectoria 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 15 Instrucció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 17 Instrucción para Mostrar mensaje para agregar una nueva instrucción que mostrará un mensaje en el teach pendant.

Robot Programs - Imagen 18

Pausa

Seleccione ProgramaRobot Programs - Imagen 19 Instrucción de Pausa para agregar 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 21 Instrucción de Llamada de Programa para agregar una llamada a un sub programa 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 22        Robot Programs - Imagen 23

Cambie de Llamada del programa a Iniciar subproceso para provocar una llamada sin bloqueo a un sub-programa. 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/espere IO

Seleccione ProgramaRobot Programs - Imagen 24 Instrucción Configurar o esperar I/O 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 una determinada Entrada Digital (DI)  para cambiar a un estado específico.

El nombre de IO puede ser un número o un valor de texto si se trata de una variable con nombre. El valor IO 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

Si se alteran las Entradas Digitales y las salidas digitales simuladas se crearán 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 27 Instrucción de Configuración de redondeo para modificar la precisión de redondeo. La exactitud de redondeo utilizada 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 con el movimiento anterior). Esto provocará altas aceleraciones y cambios rápidos de velocidad para asegurar la mejor precisión para cada movimiento.

Este valor también se conoce como radio de doblado (robots Universal), 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

Las pruebas de exactitud de la trayectoria de RoboDK permiten comprender mejor el efecto de los diferentes valores de redondear con un sistema de medición.

Evento de simulación

Seleccione ProgramaRobot Programs - Imagen 29 Instrucció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 permite:

·     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 30

Por ejemplo, si el robot se desplaza a una ubicación específica para agarrar un objeto, podemos configurar un evento de Adjuntar Objecto 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 31

Simular programa

Haga doble clic en el programa Robot Programs - Imagen 32 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 33

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 36

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 37

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 usualmente envía el programa al robot a través del protocolo FTP u otros protocolso específicos, como usando la mensajería o la conexión serial. Primera es necesario introducir los ajustes de 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.Ingrese la  IPdel 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 38

Una vez que se han proporcionado los ajustes de red y el robot está correctamente conectado, sigaestos 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 ventana emergente mostrará el éxito o el estado fallido.

Seleccionar Post- Processor

La conversión desede el Simulador de RoboDK para un programa de 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:

1.Haga clic derecho en un robot o un programa

2.Seleccione Seleccionar Post-procesador

3.Elegir un post-procesador de la lista

4.Seleccione aceptar

Robot Programs - Imagen 39 Robot Programs - Imagen 40

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 las marcas robóticas. Los post-procesadores pueden ser creados o modificados fácilmente. Más información sobre post-procesadores en la Section dedicada for post procesadores.

Dividir programas largos

Los programas largos pueden exceder las limitaciones del controlador. 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 exceder 1 millón líneas de código. En ese caso, es mejor dividir un programa así de largo en sub-programas más pequeños, incluyendo un programa principal que ejecuta los subprogramas en orden.

Para dividir automáticamente un programa largo:

1.Seleccione ToolsOpcionesPrograma

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 41