Post procesadores

Los Post procesadores son un paso clave en la programación fuera de línea. Los postprocesadores permiten flexibilidad para soportar cualquier controlador de robot. Un postprocesador robot define cómo los programas de robot deben generados para un controlador robot específico.

La conversión desde la simulación RoboDK a un programa robot específico se realizada con un Post procesador. Cada robot tiene un postprocesador asignado por defecto. El postprocesador se usa cuando el programa es generado fuera de línea, como se muestra en la sección Generar Programa(haciendo clic derecho en un programa, luego, seleccionando Generar Programa de Robot).

RoboDK incluye varios postprocesadores que soportan  diferentes controladores robot, listados en la sección Post procesadores disponibles. Alternativamente, es posible crear un postprocesador personalizado o modificar un postprocesador existente. Todos los postprocesadores disponibles están en la carpeta:

C:/RoboDK/posts/

Un postprocesador es un archivo PY (cada postprocesador está definido por un script Python). Es posible añadir manualmente, modificar o eliminar los archivos de la carpeta Posts de RoboDK. Si se le ha proporcionado un postprocesador RoboDK (archivo PY) debe ser colocado en la carpeta Posts para que se pueda seleccionar desde RoboDK.

Esta sección muestra cómo seleccionar, editar o crear un postprocesador y usarlo con sus robots en RoboDK. Una introducción rápida está disponible en el siguiente vídeo: https://www.robodk.com/help#PostProcessor

Seleccionar un Post procesador

Para seleccionar un postprocesador específico para un robot:

1.Haga clic derecho en un robot o un programa

2.Seleccione Seleccionar Post procesador

3.Elija un postprocesador desde la lista

4.Seleccione OK.

Post Processors - Imagen 1Post Processors - Imagen 2

El cambio es aplicado ahora y el programa puede ser generado de nuevo para ver el resultado.

Como una alternativa, también es posible seleccionar el postprocesador siguiendo estos pasos:

1.Abra el panel del robot (haga doble clic en un robot)

2.Seleccione Parámetros

3.Seleccione su postprocesador en la caja de la marca del robot, como se muestra en la siguiente imagen.

Post Processors - Imagen 3

Modificar un Post procesador

Es posible modificar postprocesadores existentes o crear nuevos postprocesadores. Los postprocesadores deben ser colocados en la carpeta C:/RoboDK/posts/ para que puedan ser seleccionados en RoboDK. En la sección anterior se describen cómo enlazar un robot específico a un postprocesador.

Cada postprocesador es un archivo PY. Es posible renombrar el archivo o copiar los archivos desde/hacia la carpeta C:/RoboDK/posts/ para compartir diferentes postprocesadores. Para eliminar un script de postprocesador existente, simplemente elimine el archivo PY correspondiente en la carpeta Posts.

Los postprocesadores pueden editarse mediante cualquier editor de texto o un editor de Python (Python IDLE). Usar el editor de Python permite depurar rápidamente y evaluar un programa de muestra al final del archivo.

Python puede ser instalado para probar y usar los postprocesadores correctamente (Python está instalado por defecto con RoboDK).

Para modificar un postprocesador existente:

1.Seleccione Programa➔Agregar/Editar Post procesador

2.Seleccione un postprocesador existente

3.Seleccione OK. Un editor de texto se abrirá con el programa.

4.Seleccione Ejecutar➔Ejecutar módulo (F5) para pre visualizar el resultado. Haga cualquier cambio si es necesario.

Post Processors - Imagen 4

Alternativamente, es posible editar manualmente un postprocesador:

1.Vaya a la carpeta de los postprocesadores: C:/RoboDK/posts/

2.Abra un archivo PY con Python IDLE (clic derecho ➔ Editar con IDLE) u otro editor de texto

3.Realice los cambios deseados

4.Ejecute el archivo para probar el resultado: Seleccione Ejecutar➔Ejecutar Módulo (F5 por defecto) desde Python IDLE.

Alternativamente, es posible editar este archivo usando un editor de texto y ejecutarlo con Python haciendo doble clic en él.

Post Processors - Imagen 5

Ejemplo de Modificación

Esta sección muestra cómo hacer un pequeño cambio para un postprocesador existente.

Como ejemplo, se realizarán los siguientes cambios en el postprocesador KUKA KRC4 existente:

Ajustar la velocidad máxima a 500 mm/s. incluso si el robot está programado para moverse más rápido, la velocidad se limitará a 500 mm/s en el postprocesador.

Generar cada programa como un archivo separado y forzar programas para tener 3000 líneas de código por programa como máximo. Los programas grandes serán divididos en programas más pequeños y llamados secuencialmente.

La sección anterior muestra cómo abrir un postprocesador existente para su edición:

1.Seleccione Programa➔Añadir/Editar Post procesador

2.Seleccione KUKA_KRC4

3.Seleccione OK. El postprocesador será mostrado en el editor de Python IDLE.

En las siguientes secciones se muestra cómo realizar en el editor de texto los cambios sugeridos.

Forzar un límite de velocidad

Siga estos pasos para establecer un límite de velocidad de 500 mm/s y evitar establecer velocidades más altas usando RoboDK:

1.Localice la definición de la función setspeed (def setspeed)

2.Añada el siguiente código antes de generar la salida $VEL.CP que cambiará la velocidad en m/s:   
speed_mms = min(speed_mms, 500)

Post Processors - Imagen 6

Generar  un programa por archivo

Añada los siguientes cambios para evitar agregar más de un programa por archivo y para generar programas con 3000 líneas de código como máximo:

1.Establezca la variable MAX_LINES_X_PROG en 3000

2.Establezca la variable INCLUDE_SUB_PROGRAMS en falso

Post Processors - Imagen 7

Post procesadores disponibles

De forma predeterminada, los siguientes postprocesadores están disponibles en RoboDK:

ABB_RAPID_IRC5: para controladores de robot ABB IRC5

ABB_RAPID_S4C: para controladores de robot ABB S4C

Adept_Vplus: para el lenguaje de programación de Adept V+

Allen_Bradley_Logix5000: para Allen Bradley Logix5000 PCL

CLOOS: para controladores de robots CLOOS

Comau_C5G: Para controladores de robots Comau C5G

Denso_PAC: para los controladores del robot Denso RC7 (y más antiguos) (lenguaje de programación PAC)

Denso_RC8: para los controladores de denso RC8 (y más antiguos) (lenguaje de programación PacScript)

Dobot: para los robots educacionales Dobot

Fanuc_R30iA: para los controladores de Fanuc R30iA y R30iB

Fanuc_R30iA_Arc: para soldadura de arco de Fanuc

Fanuc_RJ3: para los controladores de robot Fanuc RJ3

GCode_BnR: para los controladores del robot B&R

Gsk: para robots de GSK

HIWIN_HRSS: para robots HIWIN

Kairo: para los controladores de robot Keba Kairo

KUKA_IIWA: para programar en KUKA IIWA Java sunrise

KUKA_KRC2: para los controladores de robot KUKA KRC2

KUKA_KRC2_CamRob: para la opción de fresado de KUKA CamRob

KUKA_KRC2_DAT: para los controladores de robot KUKA KRC2 incluyendo archivos de datos DAT

KUKA_KRC4: para los controladores de robot KUKA KRC4

KUKA_KRC4_Config: para los controladores de robot KUKA KRC4 con datos de configuración en cada línea

KUKA_KRC4_DAT: para los controladores de robot KUKA KRC4 incluyendo archivos de datos DAT

Kawasaki: para controladores de robot Kawasaki AS

Mecademic: para robot Mecademic Meca500

Mitsubishi: para los controladores de robot Mitsubishi

Motoman/Yaskawa: para diferentes controladores de robot Motoman usando Inform II e Inform III (JBI)

Nachi_AX_FD: para los controladores de robot Nachi AX y  FD

OTC: para controladores de robot Daihen OTC

Panasonic: Para los programas de Panasonic PRG

Precise: para robots Precise Scara

Siemens_Sinumerik: para controlador de robot Siemens Sinumerik ROBX

Staubli_VAL3: para programas de robot Staubli VAL3 (controladores CS8s y posteriores)

Staubli_VAL3_InlineMove: para generar programas Staubli VAL3 con datos de movimiento en línea

Staubli_S6: para controladores de robot Staubli S6

Toshiba: para robots Toshiba

Universal_Robots: para robots UR, genera movimientos lineales como posiciones de pose

Universal_Robots_RobotiQ: para robots UR incluyendo soporte para pinza RobotiQ

Universal_Robots_joints: para robots UR, genera movimientos lineales y movimiento de articulación

Yamaha: para robots Yamaha

Referencia

El siguiente vídeo muestra una visión general de los Post procesadores en RoboDK:           
https://robodk.com/help#PostProcessor

La documentación de referencia para cada método en el postprocesador está disponible en línea:    
http://robodk.com/doc/en/PythonAPI/postprocessor.html

Todos los postprocesadores utilizan el módulo robodk.py:
http://robodk.com/doc/en/PythonAPI/robodk.html#robodk.Mat

El módulo robodk.py proporciona herramientas para operaciones de Pose (multiplicaciones, inversas,...) y conversiones entre poses y ángulos de Euler en diferentes formatos, entre otras cosas.

La documentación está disponible en línea para aprender sobre la programación de Python:           
https://docs.Python.org/3/

Cuando un programa es generado, es generado un programa de Python pre-procesado/universal y es guardado en una carpeta temporal local. El programa pre-procesado está vinculado con el postprocesador correcto (seleccionado por el usuario en RoboDK). El postprocesador define un RobotPost Class que genera el código deseado.

Los programas pre compilados son ejecutados con Python.