Esta guía le ayudará a preparar una estación básica con RoboDK para la programación fuera de línea de robots industriales. Este ejemplo muestra cómo puede realizar la simulación y programación de un brazo robótico para una aplicación de pintura robotizada.
Este ejemplo también proporciona una descripción general de los conceptos básicos de los robots, como el uso de sistemas de referencia, herramientas y objetivos.
La sección de ejemplos proporciona más ejemplos para muchas aplicaciones diferentes. Por ejemplo, para mecanizado robotizado, pulido o soldadura.
Todos los robots, objetos y herramientas utilizadas en un proyecto RoboDK se guardan como una estación RoboDK (archivo RDK). Una estación RoboDK contiene todas las configuraciones relacionadas con robots, herramientas, sistemas de referencia, objetos y otros parámetros. La estación RoboDK se almacena en un archivo (extensión RDK).
No es necesario mantener una copia separada de los archivos del robot, herramientas y objetos ya que son guardados como un archivo RDK.
Siga estos pasos para crear un nuevo proyecto RoboDK (estación RDK):
1.Descargue e instale RoboDK: https://robodk.com/es/download
2.Haga doble clic en el acceso directo del escritorio
3.Si hay otras estaciones abiertas:
Seleccione Archivo➔ Nueva estación (Ctrl+N) para iniciar un nuevo proyecto
Se pueden abrir múltiples proyectos RoboDK al mismo tiempo. Haga doble clic en el icono de la Estación en el árbol y se mostrará ese proyecto.
Puede seleccionar y añadir robots a su proyecto desde RoboDK o desde la biblioteca en línea.
Siga los siguientes pasos para elegir un robot desde la biblioteca en línea:
1.Seleccione Archivo➔ Abrir biblioteca en línea (Ctrl+Mayús+O). Aparecerá una nueva ventana anidada que muestra la biblioteca en línea.
También es posible seleccionar el botón correspondiente en la barra de herramientas.
2.Use los filtros para encontrar su robot por marca, carga útil, ...
En este ejemplo utilizaremos un robot UR10 (robot de carga de 10 kg y 1,3 m de alcance).
3.Seleccione Descargar. El robot debe aparecer automáticamente en la estación en unos segundos.
4.La biblioteca en línea se puede cerrar una vez el robot aparezca.
La ubicación predeterminada de este proyecto de ejemplo es: C:/RoboDK/Library/Tutorial-UR-Painting.rdk.
Un sistema de coordenadas o referencia permite el posicionamiento de objetos con respecto a un robot o con respecto a otros objetos o referencias en el espacio 3D (incluyendo la posición y orientación).
Para añadir un nuevo sistema de referencia:
1.Seleccione Programa➔ Añadir Sistema de Referencia.
Alternativamente, seleccione el botón equivalente en la barra de herramientas.
2.Haga doble clic en el sistema de referencia (en el árbol o en la geometría 3D de la estación) para introducir las coordenadas mostradas en la siguiente imagen (posición X, Y, Z y ángulos de Euler para la orientación). La rueda del ratón se puede utilizar en la parte superior de cada casilla para actualizar rápidamente la posición del sistema de referencia en la pantalla principal.
Se utilizan los siguientes colores por defecto:
●Coordenada X ➔ Rojo
●Coordenada Y ➔ Verde
●Coordenada Z ➔ Azul
●Primera Rotación de Euler ➔ Cian
●Segunda Rotación de Euler ➔ Magenta
●Tercera Rotación de Euler ➔ Amarillo
3.Seleccione Vista➔Agrandar Sistemas de Coordenadas (+) para aumentar el tamaño de los sistemas de referencia
4.Seleccione Vista➔Reducir Sistemas de Coordenadas (-) para reducir el tamaño de los sistemas de referencia
5.Seleccione Vista➔Mostrar/Ocultar texto en pantalla (/) para mostrar u ocultar el texto en la pantalla
6.Opcionalmente, cambie el nombre de cualquier sistema de referencia u objeto en el árbol seleccionando F2
Si se usa más de un sistema de referencia, es posible arrastrarlos y colocarlos dentro del Árbol de la estación para que coincidan con la dependencia que existe en la configuración real. Por ejemplo, el sistema de referencia 2 podría ser colocado con respecto a la referencia base del robot. En este caso, si se mueve la referencia base del UR10, el sistema 2 también se mueve con él. Es importante tomar esto en cuenta si se usan otros robots o sistemas de referencia dentro del mismo proyecto. La siguiente imagen muestra la diferencia en la dependencia.
Incluso si la dependencia es diferente, también es posible introducir o recuperar las coordenadas de cualquier sistema de referencia con respecto a cualquier otro sistema de referencia, como se muestra en la siguiente imagen. La mayoría de los controladores de robots requieren las coordenadas del sistema de referencia con respecto al sistema base del robot.
Los sistemas de referencia también se pueden mover en la pantalla principal sosteniendo la tecla Alt, o seleccionando el botón correspondiente en la barra de herramientas. Luego, arrastre la referencia con el ratón en la pantalla. A medida que se mueve la referencia, se actualizarán los valores de coordenadas correspondientes.
RoboDK soporta la mayoría de formatos 3D estándar como los formatos STL, STEP (o STP) e IGES (o IGS). Otros formatos como WRML, 3DS u OBJ también son compatibles (STEP e IGES no son compatibles con las versiones Mac y Linux).
Siga los siguientes pasos para cargar un nuevo archivo 3D:
1.Seleccione Archivo➔ Abrir
2.Seleccione el objeto Object Inspection (Inspección de Objeto) disponible en la librería RoboDK local:
C:/RoboDK/Library/Object Inspection.
3.Alternativamente, arrastre y suelte los archivos en la ventana principal de RoboDK para importarlos automáticamente
4.Arrastre y suelte el objeto al sistema de referencia Referencia 2 (dentro del árbol de la estación)
Video: Cómo importar objetos y crear herramientas: https://www.youtube.com/watch?v=gNgCwwpZrWE&list=PLjiA6TvRACQd8pL0EnE9Djc_SCH7wxxXl&index=4
Se pueden cargar o crear nuevas herramientas de robot (TCP) en RoboDK a partir de geometría 3D previamente cargada.
Siga estos pasos para cargar un objeto y configurarlo como una herramienta de robot:
1.Seleccione Archivo➔ Abrir (como se describe en la sección anterior)
2.Seleccione el archivo Paint gun.stl para añadirlo como un objeto (se añadirá en el sistema base del robot)
3.Arrastre y suelte el objeto al elemento del robot dentro del árbol de la estación como se muestra en la siguiente imagen
Las herramientas se pueden cargar o guardar con el formato .tool.
De forma predeterminada, RoboDK definirá el centro de la herramienta (TCP, o Tool Center Point) en la posición [X, Y, Z] = [0, 0, 200] mm. Esta posición se puede cambiar introduciendo las coordenadas manualmente y/o moviendo el TCP manteniendo presionada la tecla Alt+Mayús como se muestra en la siguiente imagen:
1.Mantenga Alt + Mayús o seleccione el botón mostrado en la barra de herramientas
2.Seleccione el plano azul claro (plano XZ del TCP) y arrastre el TCP aproximadamente hacia la superficie de la pistola pulverizadora, como se muestra en la siguiente imagen
3.Seleccione la flecha redondeada verde (rotación alrededor del eje Y) para que el eje Z apunte hacia fuera
4.Una vez obtenida una estimación de las coordenadas es posible retocar estos valores manualmente haciendo doble clic en el objeto Paint gun (pistola de pintura). La rueda del ratón se puede utilizar en la parte superior de cada casilla para actualizar rápidamente la posición en la pantalla principal.
En este punto podemos guardar la estación:
1.Seleccione Archivo➔ Guardar Estación (Ctrl+S)
2.Guardar el archivo como Test de Pintura.rdk. El título de la ventana y el nombre de la estación se actualizarán
Puede posicionar una herramienta (TCP) con respecto a otra, por ejemplo, para definir un punto de separación determinado o para colocar un cortador con respecto a una referencia o portaherramientas.
Estos pasos suponen que se debe agregar un segundo TCP con respecto al primero a 150 mm a lo largo del eje Z:
1.Haga clic derecho en el robot
2.Seleccione Añadir herramienta (TCP). Aparecerá un nuevo elemento llamado Tool 2.
3.Haga doble clic en este nuevo TCP
4.Seleccione TCP con respecto a ➔Paint gun
5.Introduzca la coordenada Z a 150 mm y coloque las otras traslaciones y rotaciones a 0.
Este nuevo TCP relativo al TCP previamente definido se eliminará en las secciones siguientes de esta demostración.
Es posible que la geometría de la herramienta no esté alineada correctamente con respecto a la brida de montaje del robot (sistema de referencia del adaptador) cuando se carga en RoboDK.
Los siguientes pasos asumen que se cometió un error y la herramienta se montó 180 grados alrededor del eje Z, por lo que se debería aplicar la siguiente corrección:
1.Seleccione Más opciones en la ventana detalles de la herramienta
2.Introduzca 180 en la casilla amarilla (rotación Z) de la geometría de la pistola de pintura, como se muestra en la siguiente imagen. La rueda del ratón se puede utilizar en la parte superior de cada caja para actualizar rápidamente la posición en la pantalla principal.
Las posiciones del robot se registran/representan como Objetivos. Un objetivo cartesiano define la posición de la herramienta con respecto a un sistema de coordenadas. Un objetivo de articulación define la posición del robot dados los valores de articulación del robot.
Siga estos pasos para crear dos objetivos como un nuevo objetivo de inicio y un objetivo de aproximación, respectivamente:
1.Haga doble clic en el robot para mostrar el panel del robot
2.Seleccione la pistola de pintura como sistema de herramienta. Una vez que una herramienta o un sistema de referencia se activa, se mostrará un punto verde en el icono.
3.Seleccione la Referencia 2 como sistema de referencia
4.Sostenga la tecla Alt y mueva el robot arrastrándolo a través del TCP o la brida de montaje del robot a una posición segura, libre de colisiones con cualquier objeto. Alternativamente, mueva la herramienta (TCP) con respecto al sistema de referencia.
5.Use la sección Otras configuraciones para cambiar a una configuración del robot diferente y asegurarse de que ninguno de los ejes del robot está cerca de límites de eje.
6.Seleccione Programa➔ Enseñar Objetivo (Ctrl+T), o el botón correspondiente en la barra de herramientas (como se muestra en la imagen). El objetivo se colocará como dependencia del sistema de referencia activo y se guardará la posición actual del robot automáticamente (ejes cartesianos y articulares).
En este ejemplo, los ejes del robot usados para el primer objetivo son: [-150,-75,-90,-60, 70, 110] grados. Estos valores se pueden copiar de este texto y pegar en la sección de Pilotaje Articular del panel del robot, usando el botón correspondiente.
7.Renombre del primer objetivo como Inicio presionando F2. Alternativamente, seleccione Herramientas➔Renombrar elemento….
8.Mueva el robot a un borde de la pieza (arrastrando la herramienta mediante la tecla Alt, introduciendo coordenadas o moviendo los ejes manualmente)
En este ejemplo usamos las siguientes coordenadas de articulación del robot [0, 0, 200, 180, 0, 180] grados.
9.Seleccione Programa➔ Enseñar Objetivo (Ctrl+T) o el botón apropiado en la barra de herramientas para crear un nuevo objetivo
10.Cambie el nombre del destino a Aproximación como se muestra en el paso 7
11.Seleccione el objetivo de inicio y el objetivo de aproximación alternativamente para ver el robot moverse entre los dos objetivos
12.Haga clic derecho en el objetivo y seleccione Enseñar Posición Actual (Alt+doble clic), si es necesario, para registrar una posición diferente
13.Haga clic derecho en el objetivo y seleccione Opciones... (F3) para abrir la ventana de opciones de objetivo que se muestra en la siguiente imagen
Si es necesario, proporcione valores diferentes para definir los objetivos.
Puede crear fácilmente un nuevo programa que acerque el robot a la pieza de forma segura.
Siga estos pasos para crear un programa que se mueva de la posición de Inicio a la de Aproximación del objetivo:
1.Seleccione Programa➔ Añadir Programa en el menú o en el botón correspondiente de la barra de herramientas (como se muestra en la siguiente imagen)
2.Renombre el programa como MoverAproximacion
3.Seleccione la posición de Inicio
4.Seleccione Programa➔ Instrucción Movimiento Axial (o el botón correspondiente en la barra de herramientas)
Dos instrucciones serán añadidas automáticamente para decirle al robot qué sistema de herramienta y sistemas de referencia estamos usando
5.Seleccione la Aproximación del destino
6.Seleccione el Programa➔ Instrucción Movimiento Axial otra vez
Haga doble clic en el programa MoverAproximacion y se ejecutará la simulación del programa. La barra de simulación y se mostrará un tiempo de ciclo estimado.
La función Crear Objetivos en la Superficie, es útil para aplicaciones como la pintura o la inspección.
Siga estos pasos para enseñar objetivos usando Enseñar Objetivo(s) sobre una superfície:
1.Seleccione el Programa➔ Enseñar Objetivo(s) Sobre una Superficie (Ctrl+Mayús+T)
2.Mueva el cursor del ratón sobre la pieza para tener una vista previa del robot para alcanzar esa posición
3.Seleccione algunos puntos en el objeto (clic izquierdo). Cada clic izquierdo del ratón define un nuevo destino manteniendo el eje Z del TCP normal a la superficie (perpendicular a la superficie).
4.Si es necesario, ajuste la orientación alrededor del eje Z moviendo la rueda en el panel izquierdo o pulsando las teclas izquierda/derecha.
5.Mantenga la tecla Alt para mover a un objetivo existente
6.Mantenga Alt+Mayús para mover un objetivo existente mientras lo mantiene en la superficie
7.Seleccione la tecla Esc o haga clic derecho en la pantalla y seleccione Hecho para salir del modo Crear Posiciones en la Superficie
Una vez creados los objetivos, genere un programa siguiendo estos pasos:
1.Seleccionar todos los objetivos creados en la superficie y haga clic derecho
2.Seleccione Renombrar grupo desde el menú emergente
3.Introduzca Pintura. Todos los destinos seleccionados se renombrarán y enumerarán.
4.Haga clic derecho sobre los objetivos de nuevo y seleccione Crear Programa. Se generará un nuevo programa. El primer movimiento será un movimiento conjunto y los siguientes movimientos serán lineales.
5.Seleccione F2 para cambiar el nombre del programa a Pintura
6.Haga doble clic en el programa Pintura para ver la simulación en movimiento a lo largo de los objetivos
7.Si es necesario, reordene los movimientos arrastrando las instrucciones de movimiento dentro del programa
Puede crear fácilmente un nuevo programa que retraiga de forma segura el robot de la pieza a una posición segura.
Similar a las operaciones anteriores:
1.Con el robot colocado en el último objetivo, mueva el robot hacia arriba incrementando la coordenada Z del TCP con respecto al sistema de referencia en el panel del robot (caso destacado en la siguiente imagen)
2.Seleccione Programa➔ Añadir Programa, o el botón correspondiente en la barra de herramientas.
3.Seleccione Programa➔ Instrucción Movimiento Lineal, o el botón apropiado en la barra de herramientas . Renombrarlo como MoverRetraer pulsando la tecla F2.
4.Seleccione la posición Inicio
5.Seleccione Programa➔ Instrucción Movimiento Axial. Una nueva instrucción de movimiento será añadida, vinculado al objetivo Inicio.
Simule cada programa individualmente haciendo doble clic en él. La simulación se puede acelerar sosteniendo la tecla barra espaciadora o seleccionando el botón de simulación rápida /.
Puede crear fácilmente un programa principal de robots que ejecute los programas de aproximación, pintar y retraer secuencialmente.
Siga los siguientes pasos para crear un programa principal:
1.Seleccione Programa➔ Añadir Programa.
2.Seleccione Programa➔ Instrucción de llamada a Programa.
3.Introducir el nombre MoverAproximacion o seleccione Seleccionar programa para seleccionarlo automaticamente.
4.Seleccione OK.
5.Repita los pasos anteriores para Pintura y MoverRetraer como se muestra en la siguiente imagen
Haciendo doble clic en el Programa Principal se ejecutará la simulación completa. Haga clic derecho en el Programa Principal y seleccione Bucle para hacerlo simular en bucle.
Si el sistema de referencia Referencia 2 se mueve (por ejemplo, manteniendo pulsada la tecla Alt y arrastrando el eje X/rojo del sistema de referencia), el objeto y los objetivos seguirán. Si los objetivos no se pueden alcanzar, se mostrará un pequeño signo de advertencia en el icono de destino como se muestra en la siguiente imagen.
Una vez que tenga la simulación lista en RoboDK, puede generar fácilmente el programa del robot para que pueda ejecutar el programa en el controlador del robot sin tener que escribir una sola línea de código.
Puede exportar cualquier programa individualmente o el programa principal incluyendo los subprogramas:
Es posible exportar cualquier programa individualmente o el programa principal incluyendo los subprogramas:
1.Haga clic derecho en un programa (MainProg por ejemplo).
2.Seleccione Generar Programa (F6).
Alternativamente, seleccione Generar Programa... para especificar la ubicación para guardar el archivo.
3.El SCRIPT del programa para tu robot UR se mostrará en un editor de texto.
Este archivo es el resultado de generar el programa fuera de línea. El archivo se puede enviar al controlador del robot para ejecutar los mismos movimientos que se simularon en RoboDK.
Nota. Si está utilizando un robot UR, puede cambiar el post procesador para generar archivos URP legibles por el controlador del robot. Visite las siguientes secciones para obtener más información sobre la diferencia entre los programas SCRIPT y URP: Inicie un programa SCRIPT con un Controlador de robot Universal y Cómo generar y modificar un programa URP para un controlador de Robot Universal.
●Seleccione Enviar programa al robot (Ctrl+F6) para enviar el programa a través del FTP (programación fuera de línea)
●Active la opción Ejecutar en el Robot para ejecutar el programa paso a paso cada vez que ejecutamos el programa (programación en línea). Esto permite ejecutar el programa directamente en el robot y ver la simulación al mismo tiempo. Se necesitan los controladores del robot la programación en línea.
Es posible cambiar el post-procesador para los robots UR y personalizar la forma en que se genera un programa:
1.Haga clic derecho en un programa o un robot
2.Seleccione Seleccionar Post-Procesador
3.Seleccione Universal Robots URP
Genere el programa de nuevo. En este ejemplo, el post-procesador predeterminado utiliza valores de articulaciones para definir cada movimiento lineal y el segundo post-procesador utiliza coordenadas cartesianas para definir cada movimiento lineal.
Puede personalizar su simulación usando scripts. La API de RoboDK permite personalizar la simulación tanto como se desee. De forma predeterminada, RoboDK instala Python y un conjunto de macros de ejemplo que permiten un mayor nivel de personalización. Esto incluye la simulación de una pistola de pintura, la programación de robots a través de Python, la simulación de cámaras 2D, la conversión de archivos SVG a programas de robots, configurar automáticamente un TCP dado un punto de apoyo, la simulación de eventos discretos, etc. También se pueden utilizar otros lenguajes de programación, como C#, C++ o Matlab. Hay más información disponible en la sección API de RoboDK.
En este ejemplo, vamos a añadir un macro de ejemplo existente que simulará el comportamiento de la pistola de pintura. También volveremos a colorear el volumen de la herramienta con un color transparente (seleccionando Herramientas➔Herramienta para cambiar color - Mayús+T) o cargue el modelo existente con los colores apropiados (disponible en la biblioteca local como paint_gun.tool o la biblioteca en línea, tenga en cuenta que si añade una nueva herramienta para usarla en el programa debería actualizar la instrucción de selección de herramienta).
1.Seleccione Archivo➔ Abrir para abrir una nueva macro de Python (archivo py)
2.Navegue hasta C:/RoboDK/Library/Macros/ para ver algunas macros de ejemplo.
3.Seleccione SprayOn.
4.Seleccione Abrir. Un nuevo objeto Python se añadirá. Este macro permite simular la deposición de partículas modelando el volumen de pulverización.
5.Haga doble clic en el macro SprayOn para probarlo.
6.Seleccione Encender para activarlo.
7.Mantenga la tecla Alt, arrastre la brida de montaje del robot y mueva el robot a lo largo de la superficie con la pistola de pintura.
Se puede observar el rastro de la pistola de pintura. El color y la transparencia deben cambiar dependiendo de lo cerca o lejos que el TCP esté de la superficie.
Seleccione Esc una vez para borrar la pintura simulada.
8.Haga doble clic en el mismo programa SprayOn y seleccione Apagado para desactivar la simulación de partículas.
Para entender mejor lo que sucede con esta macro es posible ver o editar el código Python de la siguiente manera:
1.Haga clic derecho SprayOn.
2.Seleccione Editar script Python.
Una nueva ventana (editor de texto) aparecerá mostrando el código que modela el comportamiento de pulverización y cómo Python se integra con RoboDK.
Para tener en cuenta la simulación de pulverización en el programa principal podemos seguir estos pasos:
1.Clic derecho en la instrucción Llamar MoverAproximacion.
2.Seleccione Añadir instrucción➔ Instrucción de Llamado de Programa, se añadirá una nueva instrucción después de la primera llamada del programa y aparecerá una nueva ventana.
3.Ingresar SprayOn(1).
4.Seleccione OK.
5.Repita la misma operación después de la configuración PaintTop del programa SprayOn(0), como se muestra en la siguiente imagen.
Si es necesario, reordena las instrucciones arrastrándolas y dejándolas caer dentro del programa.
6.Ejecute el programa MainProg. Después de dos iteraciones, el resultado debe verse como se muestra en la imagen (simulación a velocidad normal).
También es posible crear nuevas macros:
1.Seleccione Programa➔ Añadir Programa Python
2.Haga clic derecho en el nuevo programa y seleccione Editar script Python
RoboDK permite también configurar la velocidad del robot dentro del programa, salidas digitales, esperar entradas digitales, mostrar mensajes, etc. Estas instrucciones están disponibles en el menú Programa.