Robot Calibration (Optical CMM)

Introducción

Los robots industriales son altamente repetitivos pero no precisos, por lo tanto, la precisión de un robot industrial se puede mejorar a través de la calibración. La precisión nominal de un robot depende de la marca y el modelo del robot, así como qué tanto puede ser mejorado. Después de la calibración del robot, la exactitud del robot puede ser mejorada por un factor que varía de 2 a 10 o incluso más.

Opcionalmente, un test Ballbar (prueba circular) o la prueba ISO9283 de precisión del recorrido pueden ser realizados para validar rápidamente la precisión de un robot.

Robot Calibration Creaform - Imagen 1

Robot Calibration Creaform - Imagen 2

Se requiere un sistema de medición para calibrar un robot. RoboDK puede ser utilizado para calibrar los robots, así como para generar programas precisos de robost (esto incluye el filtrado de los programas y el uso del motor de programación fuera de línea de RoboDK). RoboDK también se puede utilizar para probar la precisión del robot antes y después de la calibración a través de tests Ballbar o fresado del robot.

La calibración del robot puede mejorar notablemente la precisión de los robots programados fuera de línea, también conocido como programación fuera de línea (OLP). Un robot calibrado tiene una mayor precisión de posicionamiento absoluto y relativo que uno no calibrado.

Se recomienda ver el siguiente vídeo para ver una calibración completa de un robot industrial utilizando RoboDK: https://www.robodk.com/robot-calibration#tab-ct

Requerimientos

Los siguientes elementos son necesarios para instalar RoboDK y realizar de manera adecuada la calibración del robot:

1.Uno o más brazos robóticos industriales

2.Un sistema de medición: cualquier seguidor láser tales como Leica, API o Faro y o CMM óptico tal como la cámara estéreo C-Track de Creaform puede funcionar

3.El software RoboDK debe ser instalado y se requiere una licencia apropiada para las pruebas de calibración del robot. Para las licencias de red, se requiere una conexión a internet para comprobar la licencia. Para instalar o actualizar RoboDK para la calibración del robot:

a.Descargue RoboDK desde la sección de descargas
https://robodk.com/download

b.Configure el controlador para el sistema de medición (no requerido para Óptica Creaform CMM).
Descomprima y copie la carpeta correspondiente:        

API de seguimiento láser:
https://robodk.com/downloads/private/API.zip (trackers OTII y Radian)

c.Tracker Láser de Faro: https://robodk.com/downloads/private/Faro.zip (todos los trackers Faro)       
Tracker Láser de Leica:
https://robodk.com/downloads/private/Leica.zip (todos los trackers Leica)      
a la carpeta: C:/RoboDK/api/

Configuración Fuera de Línea

Es recomendado crear un entorno virtual de la configuración del robot en RoboDK (configuración fuera de línea) antes de empezar a tomar medidas. En esta sección se explica cómo preparar la estación de RoboDK fuera de línea. Esto se puede hacer antes de tener el robot y el tracker, usando sólo una computadora con RoboDK instalado.

Ejemplos de configuración de calibración con RoboDK pueden ser descargados desde la siguiente carpeta:      
https://www.robodk.com/downloads/calibration/

Omitir esta sección si ya tiene una celda fuera de línea. Los sistemas de coordenadas y sistemas de herramientas pueden ser estimados aproximadamente. Una estación de ejemplo es mostrada en la siguiente imagen.

Robot Calibration Creaform - Imagen 3xxx

Estación RoboDK

Una estación RoboDK es donde se almacena la información del ambiente virtual y de calibración de la estación. La estación es guardada como un archivo RDK. Siga los siguientes pasos para crear una estación de robot para la calibración del robot desde el principio (vista previa del vídeo: https://youtu.be/Nkb9uDamFb4):

1.Seleccione el robot:

a.Seleccione ArchivoAbrir Biblioteca en Línea. La biblioteca en línea se mostrará en RoboDK.

b.Usaelos filtros para encontrar su robot por marca, carga útil, ...

c.Seleccione Descargar y el robot debe aparecer automáticamente en la estación.

d.También puede descargar los archivos de robots (extensión de archivo .robot) http://www.robodk.com/library y abrirlos con RoboDK.

Robot Calibration Creaform - Imagen 4

2.Modelar la estación virtual

a.Añadir sistemas de referencia mediante la selección de ProgramaAñadir Sistema de Referencia.

          i. Un sistema de “Referencia de Mediciones” debe ser añadido con respecto al sistema base del robot.

         ii. Una “Referencia de Rastreo” debe ser añadida con respecto a la “Referencia de Mediciones” que acabamos de añadir.

        iii. Una “Referencia de Herramienta” adicional puede ser añadida con respecto sistema de “Referencia de Mediciones” para visualizar la posición de la herramienta visto por el tracker.

Consejo 1: Arrastrar y soltar elementos en el árbol para reconstruir la dependencia que existe en el mundo real. Por ejemplo, la referencia de seguimiento debe ser colocada con respecto a la “Referencia de Mediciones”.

Consejo 2: Se puede mover alrededor de los sistemas de coordenadas o sistemas de las herramientas manteniendo pulsada la tecla ALT y MAYÚSC + tecla ALT, respectivamente. Como alternativa, puede hacer doble clic en el sistema de referencia e ingresar las coordenadas correctas.

Consejo 3: Cambiar el nombre de un objeto utilizando la tecla F2 en el árbol de elementos.

b.Agregue el objeto de herramienta (STL, IGES y archivos STEP son formatos compatibles) y arrastre y suelte al robot (en el interior del árbol de elementos), esto va a convertir el objeto en una herramienta. Más información disponible aquí.

Robot Calibration Creaform - Imagen 5Robot Calibration Creaform - Imagen 6

Opcional: Seleccione ProgramaAñadir Herramienta (TCP) para añadir cualquier TCP que queramos visualizar en la estación (para comprobar si hay colisiones u otros). Para establecer un valor aproximado del TCP:

          i. Haga doble clic en la nueva herramienta.

         ii. Establecer un valor aproximado de TCP. Puede copiar/pegar los 6 valores a la vez usando los dos botones a la derecha.

        iii. Es recomendado cambiar el nombre de los TCP utilizados para la calibración con el nombre de “ID CalibTool”, donde ID es el número de posición de calibración.

Robot Calibration Creaform - Imagen 7

c.Añadir otros archivos CAD en 3D (STL, IGES, STEP, SLD, ...) para modelar la estación virtual usando el menú ArchivoAbrir… Alternativamente, arrastre y suelte archivos en la ventana principal de RoboDK.

Consejo 1: Importe los archivos 3D del espacio de trabajo de medición y nombre el Espacio de Trabajo de manera que las mediciones de robots sean generadas en el interior del espacio de trabajo del tracker. Por otra parte, establezca el espacio de trabajo invisible si no quiere limitar las mediciones en el interior del espacio de trabajo del tracker. Más información está disponible en la siguiente sección.

Consejo 2: Es posible seleccionar CTRL+ALT+MAYÚSC+P para bloquear la exportación de archivos confidenciales en 3D que se han importado en RoboDK.

3.Añadir el módulo de calibración en la estación:

a.Seleccionar el menú UtilidadesCalibrar Robot.

b.Seleccionar Cámara Estéreo.

Robot Calibration Creaform - Imagen 8

A continuación, aparecerá la siguiente ventana.

Robot Calibration Creaform - Imagen 9

Esta ventana se puede cerrar por ahora. Podemos abrirla en cualquier momento haciendo doble clic en el elemento de estación de calibración del robot..

Robot Calibration Creaform - Imagen 10

4.Guardar la estación.

a.Seleccione ArchivoGuardar estación.

b.Proporcione una carpeta y un nombre de archivo.

c.Seleccione Guardar. Un nuevo archivo RDK será generado (archivo de la estación RoboDK).

Podemos recuperar las modificaciones de la estación en cualquier momento abriendo el archivo RDK (doble clic en el archivo en Windows).

Resumiendo, es importante que vuelva a comprobar los siguientes puntos:

1.El sistema de coordenadas “Referencia de Mediciones” está unido directamente al sistema de coordenadas base del robot.

Por ahora, podemos utilizar una estimación de este sistema de coordenadas (valor aproximado).

2.El Tracker de Referencia está unido directamente a las Referencias de Mediciones. La Referencia del tracker debe ser una posición estimada del dispositivo de medición del tracker con respecto a la Referencia de mediciones.

3.El proyecto de “Calibración del Robot” está presente en la estación y todas las medidas que planea tomar están libres de colisión y visibles por el tracker (haga doble clic en la configuración de calibración y seleccione mostrar para cada grupo de los cuatro grupo de mediciones).

4.Si queremos comprobar automáticamente si hay colisiones debemos usar el nombre de la etiqueta “colisión” en cada objeto que se quiere utilizar para comprobar las colisiones. Es recomendado utilizar una herramienta alrededor de 25% más grande que la herramienta de calibrado para evitar colisiones de manera segura.

Generar objetivos  de calibración

Hay cuatro conjuntos de mediciones que son requeridas para lograr con éxito la calibración del robot:

1.Configuración de la Base: Se requieren seis mediciones (o más) de movimiento en los ejes 1 y 2 para colocar la referencia de calibración con respecto al robot. Seleccione Mostrar en la ventana de configuración de calibración y el robot se moverá a lo largo de la secuencia.

2.Herramienta de configuración: Se requieren siete o más mediciones para calibrar la herramienta de brida de montaje y los objetivos de la herramienta (eje 5 y 6 en movimiento). Seleccione Mostrar y el robot se moverá a lo largo de la secuencia.

3.Mediciones de calibración: Se requieren 60 mediciones o más para calibrar el robot. Estas mediciones pueden ser colocadas aleatoriamente en el espacio de trabajo del robot y libre de colisión con los objetos circundantes.

4.Mediciones de validación (opcional): se pueden usar tantas mediciones como se desee para validar la precisión del robot. Estas mediciones se utilizan únicamente para validar la precisión del robot y no para calibrar el robot.

Los dos primeros conjuntos de mediciones se generan automáticamente por RoboDK. Seleccione Mostrar y el robot seguirá la secuencia (como se muestra en las siguientes imágenes). Si la secuencia tiene que ser cambiada, seleccione Medir y exportar las medidas de calibración como un archivo CSV seleccionando Exportar Datos. Este archivo puede ser editado usando una hoja de Excel y volver a importar haciendo clic en Importar datos.

Los últimos dos conjuntos de mediciones (de calibración y validación) pueden generarse usando la secuencia de comandos macro llamada “Robot Calibration Creaform - Imagen 11Crear mediciones. Esta secuencia de comandos de macro se añade automáticamente a la estación cuando comenzamos el proyecto de calibración del robot. Haga doble clic en el macro para ejecutarlo. Esta macro es un programa Python que guía al usuario a definir los siguientes ajustes:

   Número de mediciones: El número de mediciones a generar. Por defecto, se utilizan 80 mediciones porque se requiere un mínimo de 60 mediciones para la calibración del robot.

   Posición de referencia: La posición de referencia debe ser una posición del robot donde la herramienta se enfrenta el tracker con objetivos visibles.

   Límites de articulación: Se deberán precisar los límites inferior y superior de cada articulación.

   Límites cartesianos: Podemos proporcionar límites cartesianos (valores X,Y,Z) con respecto al sistema de coordenadas del robot.

La secuencia de comandos genera automáticamente mediciones en las que la herramienta se enfrenta al tracker así como respecto a las restricciones articulares y cartesianas. Se permite un giro de +/- 180 grados alrededor de la herramienta alrededor de la dirección que se enfrenta el tracker en la posición de referencia. Además, la secuencia de movimientos de la articulación es libre de colisión y dentro del espacio de trabajo de medición (si se establece como visible el espacio de trabajo). La siguiente imagen muestra el resumen que se presenta al usuario antes de que comience la secuencia automática. Puede tomar hasta 5 minutos para que la secuencia finalice.

Robot Calibration Creaform - Imagen 12

Un nuevo mensaje aparecerá una vez que el algoritmo termine. Seleccione Calibración para usar las 60 mediciones de calibración del robot. Podemos volver a ejecutar la misma secuencia de comandos para generar otra serie de medidas para la validación. Este paso es opcional, pero 60 mediciones ore más son recomendados para fines de validación.

Si se desea, se puede modificar el script haciendo clic derecho en el script Crear mediciones y seleccionar Editar Script, luego, modifique los parámetros adicionales del algoritmo.  El script guarda automáticamente la entrada del usuario como parámetros de la estación. Podemos ver, editar o borrar estos ajustes haciendo clic derecho en la estación y seleccionando los parámetros de la estación, como se muestra en la siguiente imagen.

Robot Calibration Creaform - Imagen 13

Robot Calibration Creaform - Imagen 14

Por último, también es posible importar las configuraciones que han sido seleccionadas de forma manual mediante la selección de los datos de importación (dentro del menú Medición). Podemos importar un archivo TXT o CSV como una matriz NX6, donde N es el número de configuraciones.

Robot Calibration Creaform - Imagen 15

Configuración de calibración del robot

Se requieren dos objetos: un objeto de la herramienta (sostenida por el robot) y un objeto de referencia base (estática en la célula). El tracker debe ser capaz de ver el objeto de la herramienta y el objeto de referencia de base para cada medición. Estos objetos también se conocen como “modelos” (en VXelements) y se definen por un conjunto de objetivos unidos a los objetos de la herramienta y del sistema de coordenadas. El tracker rastrea la posición de estos objetivos proporcionando el sistema de coordenadas de estos objetos como una medición con respecto al tracker. RoboDK toma cada medición como la posición de la herramienta con respecto al sistema de coordenadas base, por lo que el tracker se puede mover sin alterar las mediciones.

Se requiere adjuntar un grupo de objetivos a la herramienta y al sistema de coordenadas, respectivamente, para permitir el seguimiento de estos objetos correctamente. Las siguientes imágenes muestran algunos ejemplos de configuraciones adecuadas:

Robot Calibration Creaform - Imagen 16 Robot Calibration Creaform - Imagen 17

Robot Calibration Creaform - Imagen 18  Robot Calibration Creaform - Imagen 19

Las siguientes subsecciones deben llevarse a cabo de forma secuencial para estar listo para comenzar a tomar medidas. Por último, será necesario conectar el tracker y el robot al computador para automatizar el procedimiento de toma de medidas.

Sistema de coordenadas de la sonda

En primer lugar, se requieren dos modelos: un modelo de la herramienta y un modelo del sistema de coordenadas base. Un modelo es un objeto definido como una lista de puntos (coordenadas X, Y, Z) que corresponden a los objetivos con respecto a la referencia de modelo (sistema de coordenadas base o de herramienta). Podemos utilizar opcionalmente HandyProbe para colocar el sistema de coordenadas donde se desee.

Debemos seguir estos pasos dos veces para definir los modelos de herramientas y bases:

1.Inicie VXelements y conecte el tracker. Calibre el tracker así como el HandyProbe si se requiere.

2.Seleccione Modelos de Seguimiento desde el árbol izquierdo en VXelements y seleccione Detectar modelo. Seleccione los objetivos que correspondan con un modelo (herramienta u objeto) y seleccione “Aceptar”.       

Robot Calibration Creaform - Imagen 20

3.El sistema de coordenadas del objeto se puede colocar en una posición específica con respecto a ciertas características del objeto. Este paso es opcional, pero muy recomendable si tenemos que colocar con precisión las características del TCP con respecto a la brida de montaje del robot. Por ejemplo, podríamos colocar con precisión el eje Z de la herramienta a lo largo de un cilindro de referencia que es utilizado como el eje del husillo.        
Para mover correctamente el sistema de coordenadas del objeto debemos usar HandyProbe y traer estas características en la sesión virtual de VXelements. El modelo que se utiliza debe ser definido como el modelo de posicionamiento de manera que las características se prueben con respecto a este modelo. Es posible para sondear puntos, líneas, planos, cilindros, conos y definir los sistemas de coordenadas con respecto a estas características.

Robot Calibration Creaform - Imagen 21

Cuando terminemos podemos exportar el modelo como un archivo txt. Debemos ver los objetivos en el archivo de texto como una lista de puntos XYZ.

Conectar con el tracker

La IP del tracker es necesaria para configurar correctamente la comunicación en RoboDK. Asegúrese de que no se está ejecutando VXelements y siga estos pasos para comprobar la comunicación con el tracker:

a.Seleccione el menú “ConectarConectar Cámara Estéreo”. Una nueva ventana se abrirá.

b.Entrar en el “modelo de base” y el “modelo de herramientas”, como archivos de texto (generados en la sección anterior). Estas son las posiciones de los objetivos que definen el sistema de coordenadas y la herramienta sistema, respectivamente.

c.Seleccione el botón “Conectar”.

d.Cuando la conexión tenga éxito, debemos proporcionar los modelos de Base y de Herramienta como archivos de texto (.txt).

Verá que una versión integrada de VXelements se inicia y, después de unos segundos, debería ver un mensaje verde que muestra “Listo” si la conexión es exitosa. Las ventanas VXelements pueden ser cerrardas y la conexión permanecerá activa. Si la conexión no tiene éxito hay que asegurarse de que no hay procesos VXelements ejecutándose en segundo plano en la barra de tareas de Windows o el administrador de tareas (seleccionar CTRL+ALT+DEL para obligar a detener el proceso de “VXelementsApiImplementation”) y, a continuación, seleccione Conectar en RoboDK para intentar de nuevo.

Robot Calibration Creaform - Imagen 22

Conectar con el robot

La IP del robot (o el número de puerto COM para conexiones RS232) es necesaria para configurar correctamente la comunicación con RoboDK. Siga estos pasos para comprobar la comunicación con el robot:

1.Seleccione ConectarConectar robot. Una ventana nueva aparecerá.

2.Establecezca la IP y el puerto del robot (o el puerto COM si la conexión es a través de RS232).

3.Haga clic en el botón Conectar.

4.Consulte el apéndice en caso de problemas.

Si la conexión es exitosa se debería ver un mensaje verde mostrando Listo. La posición del robot virtual debe coincidir exactamente con la posición del robot real si seleccionamos Obtener articulaciones actuales. Alternativamente, seleccionar Mover a articulaciones actuales para mover el robot a la posición actual establecida en el simulador. La ventana se puede cerrar y la conexión permanecerá activa.

Robot Calibration Creaform - Imagen 23

Calibración del robot

La calibración del robot se divide en 4 etapas. Cada paso requiere tomar un conjunto de mediciones. Estos cuatro pasos se deben seguir en orden:

1.Mediciones de referencia base (3 minutos).

2.Mediciones de referencia de la herramienta (3 minutos)

3.Calibración de mediciones (7 minutos, 60 mediciones)

4.Validación de mediciones (7 minutos, 60 mediciones).

El siguiente video muestra cómo realizar esta calibración en 20 minutos: https://youtu.be/Htpx-p7tmYs. Las mediciones de validación (paso 4) no son obligatorias para calibrar el robot, sin embargo, ofrecen un punto de vista objetivo de los resultados de precisión. También es posible ver el impacto de la calibración del robot en un área y validarlo en un área diferente.

Seleccione el botón de Medir para cada uno de los cuatro conjuntos de mediciones. Esto abrirá una nueva ventana que permite tomar nuevas medidas, así como la importación y exportación de mediciones existentes en un archivo de texto (en formato csv o txt).

Midiendo la base

Estas mediciones se pueden realizar en cualquier lugar de la brida de montaje de la herramienta si medimos el mismo objetivo para todas las 6 mediciones. Para iniciar las mediciones, seleccione Medir en la sección de Configuración de la Base. La siguiente ventana se abrirá. Entonces, seleccione Iniciar Medición y el robot se moverá secuencialmente a través de las mediciones programadas.

Robot Calibration Creaform - Imagen 24

Cierre la ventana cuando las mediciones estén completas y el sistema de Mediciones de Referencia será actualizado con respecto al sistema base del robot. Si no hemos seleccionado algún sistema de coordenadas, podemos añadir una referencia (seleccione ProgramaAñadir Sistema Coordenado) y colóquela debajo de la referencia base del robot (arrastrándola y soltándola en el árbol de elementos).

Robot Calibration Creaform - Imagen 25

El resumen mostrará la posición y la orientación o el sistema de coordenadas del robot con respecto al sistema de coordenadas de calibración (formato [x, y, z, w, p, r], en mm y radianes)

Una vez completado este paso podemos mostrar con precisión el espacio de trabajo del tracker con respecto al robot en RoboDK en tiempo real.

Medición de la herramienta

Al igual que el apartado anterior: seleccione Medir en la sección de Configuración de Herramienta. La siguiente ventana se abrirá. Seleccione Iniciar medición y el robot se moverá secuencialmente a través de las mediciones planeadas. Haga doble clic en una medida para continuar desde esa posición.

Robot Calibration Creaform - Imagen 26

El resumen mostrará el TCP calibrado (posición y orientación) cuando se haya completado el procedimiento. La definición del TCP (en la siguiente imagen “husillo”) se actualizará automáticamente. Si no hemos seleccionado alguna TCP, podemos añadir una nueva (seleccione “ProgramaAñadir Herramienta vacía”) y seleccione “Recalcular”.

Robot Calibration Creaform - Imagen 27

Calibración del robot

Seleccione Medir en la sección Calibración. La siguiente ventana se abrirá. A continuación, seleccione Iniciar Medición y el robot se moverá secuencialmente a través de las medidas planeadas. Haga doble clic en una medida para continuar desde esa posición.

Robot Calibration Creaform - Imagen 28

Cierre la ventana cuando se hayan completado las mediciones. El robot se calibra automáticamente y se mostrará el siguiente mensaje si no hay problemas.

Robot Calibration Creaform - Imagen 29

Por último, la pantalla verde mostrará algunas estadísticas con respecto a las medidas de calibración y cuánto se mejora la precisión para esas mediciones.

Robot Calibration Creaform - Imagen 30

Validación del robot

No debemos validar la precisión del robot utilizando las mismas medidas que hemos utilizado para calibrar el robot, por lo tanto, se recomienda tomar medidas adicionales para validar la precisión (que tiene un punto de vista más objetivo de los resultados de precisión).

El mismo procedimiento de calibración debe ser seguido para tomar las mediciones de validación. El resumen mostrará las estadísticas de validación. Véase la siguiente Sección Resultados para más información.

Resultados

Una vez que se ha completado la calibración podemos analizar la mejora de la precisión mediante la lectura de las estadísticas proporcionadas por RoboDK. Para visualizar estas estadísticas, abra la ventana de calibración del robot (doble clic en el icono de Calibración del Robot). La ventana de resumen en la sección de validación mostrará los errores antes de la calibración (cinemática nominal) y después de la calibración (cinemática calibrada). Dos tablas se proporcionan, una muestra las estadísticas relativas a los errores de posición y la otra muestra errores de distancia:

   Errores de posición: El error de posición es la precisión que el robot puede alcanzar en un punto con respecto a un sistema de coordenadas.

   Errores de distancia: El error de distancia se obtiene mediante la medición del error de distancia de los pares de puntos. La distancia entre dos puntos vistos por el robot (obtenida usando las cinemáticas calibradas) se compara con la distancia vista por el sistema de medición (físicamente medido). Todas las combinaciones son tomadas en cuenta. Si tomamos 315 mediciones tendremos 315x315/2=49455 valores de error de distancia.

Las estadísticas proporcionadas son el error medio, la desviación estándar (std) y el error máximo. También se proporciona la media más tres veces la desviación estándar, que corresponde al error esperado para el 99,98% de todas las mediciones (si tenemos en cuenta que los errores siguen una distribución normal).

Robot Calibration Creaform - Imagen 31

Seleccione Mostrar estadísticas y dos histogramas mostrarán la distribución de los errores antes y después de la calibración, un histograma de exactitud de la posición y la otra que muestra la precisión de la distancia. Las siguientes imágenes corresponden a las 315 mediciones de validación utilizadas en este ejemplo.

Robot Calibration Creaform - Imagen 32Robot Calibration Creaform - Imagen 33

Por último, podemos seleccionar “Hacer reporte” y un informe en formato PDF con la información presentada en esta sección será generado.

Programa de Filtrado

Una vez que el robot ha sido calibrado, tenemos dos opciones para generar programas que utilizan la exactitud absoluta del robot calibrado:

   Filtrar los programas existentes: todos los objetivos del robot dentro de un programa se modifican para mejorar la precisión del robot. Se puede hacer manualmente o usando la API.

   Utilice RoboDK para la Programación Fuera de Línea para generar programas precisos (los programas generados ya se filtraron, incluyendo programas generados mediante la API).

Para filtrar un programa existente de forma manual: arrastre y suelte el archivo de programa de robot en la pantalla principal de RoboDK (o seleccione ArchivoAbrir) Y seleccione Sólo Filtrar. El programa se filtra y se guarda en la misma carpeta. El resumen de filtrado mencionará si había algún problema utilizando el algoritmo de filtrado. También tenemos la opción de importar un programa si queremos simularlo dentro de RoboDK. Si el programa tiene cualquier dependencia (sistema de la herramienta o definiciones del sistema base, subprogramas, ...) deben estar ubicados en el mismo directorio donde se importó el primer programa.

Robot Calibration Creaform - Imagen 34

Robot Calibration Creaform - Imagen 35

Una vez que importamos el programa dentro RoboDK podemos regenerarlo con o sin precisión absoluta. En las principales opciones de configuración de precisión de RoboDK (HerramientasOpcionesPrecisión) podemos decidir si queremos generar siempre los programas utilizando la cinemática precisa, si queremos preguntar cada vez, o si queremos utilizar la cinemática actual de robots. La cinemática actual de robots se puede cambiar haciendo clic derecho en el robot y activar/desactivar la etiqueta “Use cinemáticas precisas”. Si está activo veremos un punto verde, si no está activo, veremos un punto rojo.

Robot Calibration Creaform - Imagen 36

Robot Calibration Creaform - Imagen 37


Filtrar programa usando la API

Es posible filtrar un programa completo usando RoboDK dado un robot calibrado y el programa del robot usando el llamado FilterProgram:

robot.FilterProgram(file_program)

Un ejemplo de macro llamado FilterProgram está disponible en la sección Macros de la biblioteca. El código siguiente es un ejemplo de script en Python que utiliza la API de RoboDK para filtrar un programa.

from robolink import * # API to communicate with RoboDK

from robodk import *  # basic matrix operations

import os                 # Path operations

 

# Get the current working directory

CWD = os.path.dirname(os.path.realpath(__file__))

 

# Start RoboDK if it is not running and link to the API

RDK = Robolink()

# optional: provide the following arguments to run behind the scenes

#RDK = Robolink(args='/NOSPLASH /NOSHOW /HIDDEN')

 

# Get the calibrated station (.rdk file) or robot file (.robot):

# Tip: after calibration, right clic a robot and select "Save as .robot"

calibration_file = CWD + '/KUKA-KR6.rdk'

 

# Get the program file:

file_program = CWD + '/Prog1.src'

 

# Load the RDK file or the robot file:

calib_item = RDK.AddFile(calibration_file)

if not calib_item.Valid():

raise Exception("Something went wrong loading " + calibration_file)

 

# Retrieve the robot (no popup if there is only one robot):

robot = RDK.ItemUserPick('Select a robot to filter', ITEM_TYPE_ROBOT)

if not robot.Valid():

raise Exception("Robot not selected or not available")

 

# Activate accuracy

robot.setAccuracyActive(1)

# Filter program: this will automatically save a program copy

# with a renamed file depending on the robot brand

status, summary = robot.FilterProgram(file_program)

 

if status == 0:

print("Program filtering succeeded")

print(summary)

calib_item.Delete()

RDK.CloseRoboDK()

else:

print("Program filtering failed! Error code: %i" % status)

print(summary)

RDK.ShowRoboDK()

 

RDK.ShowRoboDK()

Filtrar la posición usando la API

El siguiente código es un ejemplo de script Python que utiliza la API de RoboDK para filtrar un objetivo (posición pose o posición de articulación), utilizando el comando FilterTarget:

pose_filt, joints = robot.FilterTarget(nominal_pose, estimated_joints)

Este ejemplo es útil si una aplicación de otro fabricante (que no sea RoboDK) genera el programa del robot usando posiciones pose.

from robolink import * # API to communicate with RoboDK

from robodk import *  # basic matrix operations

 

def XYZWPR_2_Pose(xyzwpr):

return KUKA_2_Pose(xyzwpr) # Convert X,Y,Z,A,B,C to a pose

def Pose_2_XYZWPR(pose):

return Pose_2_KUKA(pose) # Convert a pose to X,Y,Z,A,B,C

 

# Start the RoboDK API and retrieve the robot:

RDK = Robolink()

robot = RDK.Item('', ITEM_TYPE_ROBOT)

if not robot.Valid():

raise Exception("Robot not available")

 

pose_tcp = XYZWPR_2_Pose([0, 0, 200, 0, 0, 0]) # Define the TCP

 

pose_ref = XYZWPR_2_Pose([400, 0, 0, 0, 0, 0]) # Define the Ref Sistema

 

# Update the robot TCP and reference sistema

robot.setTool(pose_tcp)

robot.setSistema(pose_ref)

 

# Very important for SolveFK and SolveIK (Forward/Inverse kinematics)

robot.setAccuracyActive(False) # Accuracy can be ON or OFF

 

# Define a nominal target in the joint space:

joints = [0, 0, 90, 0, 90, 0]

 

# Calculate the nominal robot position for the joint target:

pose_rob = robot.SolveFK(joints) # robot flange wrt the robot base

 

# Calculate pose_target: the TCP with respect to the reference sistema

pose_target = invH(pose_ref)*pose_rob*pose_tcp

 

print('Target not filtered:')

print(Pose_2_XYZWPR(pose_target))

 

joints_approx = joints # joints_approx must be within 20 deg

pose_target_filt, real_joints = robot.FilterTarget(pose_target, joints)

print('Target filtered:')

print(real_joints.tolist())

print(Pose_2_XYZWPR(pose_target_filt))impresión(Pose_2_XYZWPR(pose_target_filt))


Dominio del robot

Una vez que el robot ha sido calibrado, usualmente necesitamos RoboDK para filtrar los programas, por lo tanto, es requerida una licencia RoboDK (una licencia básica OLP es suficiente para generar programas precisos de robot una vez que el robot haya sido calibrado). Filtrar un programa significa que los objetivos en un programa son alterados/optimizados para mejorar la precisión del robot, teniendo en cuenta todos los parámetros de calibración (alrededor de 30 parámetros).

Alternativamente, podemos calibrar solamente los desplazamientos de articulaciones más los sistemas de coordenadas base y de herramienta (4 parámetros de desplazamiento de articulación más 6 parámetros para el sistema base más 6 parámetros para el sistema de la herramienta). La calibración no será tan precisa como si se hubiera utilizado la calibración completa por defecto, pero podría permitir entrar en ciertos parámetros en el controlador del robot y no depender de RoboDK para generar programas de robot.

Para obtener la calibración sólo para los desplazamientos de articulación hay que seleccionar el botón Calib. Param. Y luego el botón de masterización (dentro del menú de calibración del robot).

Robot Calibration Creaform - Imagen 38

Robot Calibration Creaform - Imagen 39

Aparecerá una nueva ventana después de que seleccionemos Hacer masterización del programa. En esta ventana podemos seleccionar qué ejes queremos considerar para la creación de la nueva posición inicial.

Robot Calibration Creaform - Imagen 40

El botón Crear programa de masterización aparecerá en la ventana de calibración del robot. Seleccione este botón para generar un programa que traerá el robot a la nueva posición de inicio. Transfiéralo al robot y ejecútelo,entonces, la nueva posición de partida debe ser registrada.

Si el robot y el PC están conectados, podemos hacer clic derecho en el programa y seleccionar Enviar Programa de robot para enviar automáticamente el programa al robot. De lo contrario, podemos seleccionar Generar programa de robot para ver los nuevos valores de articulación para la posición inicial.

Robot Calibration Creaform - Imagen 41

Sistema de coordenadas y sistema de herramienta

RoboDK proporciona algunas utilidades para calibrar los sistemas de coordenadas y sistemas de herramientas. Estas herramientas pueden ser accedidas desde UtilidadesCalibrar Sistema Coordenado y UtilidadesCalibrar Sistema de Herramienta (TCP) respectivamente.

Robot Calibration Creaform - Imagen 42

Para calibrar un sistema de coordenadas o un sistema de herramienta (también conocido como sistema de Usuario y TCP, respectivamente) necesitamos algunas configuraciones del robot tocando 3 o más puntos, estas configuraciones de robot pueden ser valores de articulación o coordenadas cartesianas (con datos de orientación en algunos casos). Se recomienda utilizar los valores de articulación en lugar de las coordenadas cartesianas, ya que es más fácil de comprobar la configuración de robot real en RoboDK (copiando y pegando las articulaciones del robot a la pantalla principal de RoboDK).

Herramienta de calibración

Seleccione UtilidadesCalibrar Sistema de Herramienta (TCP) para calibrar el TCP usando RoboDK. Podemos utilizar tantos puntos como se desee, utilizando diferentes orientaciones. Más puntos y cambios de orientación más grandes son mejores, ya que vamos a obtener una mejor estimación del TCP, así como una buena estimación del error de TCP.

Las siguientes dos opciones están disponibles para calibrar un TCP:

   Tocando un punto estacionario con el TCP con diferentes orientaciones.

   Tocando un plano con el TCP (como una sonda de contacto).

Se recomienda calibrar tocando un plano de referencia si tenemos que calibrar una sonda de contacto o un husillo. Este método es más estable frente a errores del usuario.

Si el TCP es esférico, el centro de la esfera se calcula como la nueva TCP (no es necesario proporcionar el diámetro de la esfera).

Robot Calibration Creaform - Imagen 43

Los siguientes pasos se deben seguir para calibrar el TCP con un plano (como se ve en la imagen):

1.Seleccione la herramienta que necesita ser calibrada.

2.Seleccione el método de calibración“Calib XYZ por plano”.

3.Seleccione la calibración usando “articulaciones”.

4.Seleccione el robot que se está utilizando.

5.Seleccione el número de configuraciones que vamos a usar para la calibración del TCP (se recomienda tomar 8 o más configuraciones).

6.Seleccionar una estimación del plano de referencia. Si el plano de referencia no es paralelo al plano XY del robot (desde la referencia de robot) se debe añadir una estimación de este plano de referencia dentro de ± 20 grados. La posición de este plano no es importante, sólo la orientación.

Robot Calibration Creaform - Imagen 44

7.Podemos empezar a llenar la tabla de valores de articulación. Podemos llenarla manualmente o copiando/pegando con los botones (como se muestra en la imagen). También podemos utilizar el botón “Obtener Jx” para obtener los valores actuales de las articulaciones del robot en el simulador. Si estamos obteniendo las articulaciones de un robot real conectado al robot en primer lugar debemos seleccionar “Obtener articulaciones actuales” en el menú de conexión del robot (ver imagen adjuntada o en el apéndice para obtener más información sobre la conexión de un robot con RoboDK). Se recomienda encarecidamente mantener una copia separada de las articulaciones utilizadas para la calibración (por ejemplo, un archivo de texto).

Robot Calibration Creaform - Imagen 45

8.Una vez que se llena la tabla veremos los nuevos valores de TCP (X, Y, Z) como el “TCP Calibrado”, hacia el final de la ventana. Podemos seleccionar “Actualizar” y el nuevo TCP se actualizará en la estación RoboDK. La orientación de la sonda no se puede encontrar utilizando este método.

9.Podemos seleccionar “Mostrar errores” y vamos a ver el error de cada configuración con respecto al TCP calculado (que es el promedio de todas las configuraciones). Podemos eliminar una configuración si tiene un error más grande que los otros.

10.  Debemos actualizar manualmente los valores en el controlador de robot real (X, Y, Z solamente). Si es utilizado este TCP en un programa generado por RoboDK, no es necesario actualizar los valores en el controlador del robot.

Calibración del sistema de coordenadas

Seleccione UtilidadesCalibrar Sistema Coordenado para calibrar un sistema de coordenadas. Es posible establecer un sistema de coordenadas utilizando diferentes métodos. En el ejemplo de la figura, un sistema de coordenadas está definido por tres puntos: el punto 1 y 2 definen la dirección del eje X y el punto 3 define el eje Y positivo.

Robot Calibration Creaform - Imagen 46

Anexo I - El dominio de los ejes 1 y 6

Hay que prestar especial atención si queremos recuperar los valores de masterización/inicio para los ejes 1 y 6. Estos valores están directamente relacionados con la estructura base del robot para el eje 1 y una referencia TCP para el eje 6. Por lo tanto, las mediciones externas se deben tomar para configurar correctamente estos valores. Esta ventana aparece después de que seleccione “Crear programa de masterización” en el menú de calibración.

Robot Calibration Creaform - Imagen 47

Los dos procedimientos siguientes se deben seguir para configurar correctamente los parámetros de masterización para estos dos ejes.

Referencia del eje 6

Debemos usar un objetivo de referencia para configurar apropiadamente la posición de “inicio” del eje 6. El ángulo de compensación será la rotación alrededor del eje Z de la brida de montaje de la herramienta necesaria para adaptarse mejor al TCP medido (X, Y, Z) con la referencia conocida del TCP. El TCP medido (ver la siguiente imagen) es uno de los TCP que fue medido en el paso dos del procedimiento de calibración. El TCP de referencia es una referencia conocida que corresponde a uno de los TCP para la herramienta de calibración que se ha utilizado.

Idealmente, el TCP de referencia debe ser medido por el CMM con respecto a la brida de montaje de la herramienta (una réplica de la brida de montaje de la herramienta del robot sería lo mejor). Alternativamente, podemos utilizar un nuevo robot para medir el TCP (paso dos del procedimiento de calibración) por primera vez y utilizar un TCP medido como referencia. Es importante utilizar un pin pasador y/o la referencia apropiada de la brida de montaje de la herramienta para asegurarse de que el efector final sea colocado siempre en la misma posición.

Robot Calibration Creaform - Imagen 48

Referencia del eje 1

Debemos medir adecuadamente tres objetivos básicos antes de iniciar una calibración del robot si queremos alinear el eje 1 con el sistema base del robot real. Estos objetivos base deben elegirse de modo que el sistema de coordenadas se pueda encontrar con respecto al robot.

La posición de “inicio” del eje 1 depende directamente de las tres posiciones base, así como la configuración de la base del robot. La configuración de la base del robot es la primera etapa de calibración, en la que el sistema base del sistema de medición se coloca con respecto al sistema base del robot mediante el movimiento y medición del eje 1 y 2.

Las posiciones base del sistema de medición se pueden establecer pulsando “Establecer posiciones base” (véase la siguiente imagen). Estas son 3 mediciones que definirán el sistema de coordenadas del robot deseado (las 2 primeras mediciones definen el eje X y el tercer punto del eje Y positivo). Debemos utilizar puntos de referencia apropiados relacionados con la base del robot para que este procedimiento sea repetible.

El ángulo de corrección para la articulación 1 será el ángulo entre el eje X de la referencia base medida a través de 3 puntos y la referencia de base medida moviendo los ejes del robot 1 y 2. Por supuesto, ambos vectores se proyectan previamente al plano XY de la referencia base obtenida tocando los puntos de los árboles.

Robot Calibration Creaform - Imagen 49