Descripción de los marcos y puntos de coordenadas de un robot

 Una de las bases más fundamentales de un sistema robótico es el movimiento y el posicionamiento cartesiano en el espacio 3D. Para programar correctamente su robot, debe comprender cómo un robot interpreta el espacio que lo rodea.

Este tutorial cubrirá los conceptos básicos de las posiciones de los robots, cómo definirlas en un sistema robótico y los marcos de coordenadas estándar del robot. Al final de este tutorial, tendrá una comprensión básica de las habilidades que necesitará como ingeniero de robótica.

Comprender las posiciones de los robots

Un marco define un sistema de coordenadas en un robot. Determina dónde se encuentra en el espacio y las ubicaciones de objetos relevantes o áreas a su alrededor en relación con el robot.


En la Figura, vemos un robot equipado con una herramienta de soldadura, un posicionador de piezas de trabajo y una pieza de trabajo. Por ejemplo, supongamos que queremos operar esta pieza manualmente. Intuitivamente sabríamos cómo posicionarnos a nosotros mismos y a la herramienta usando nuestras manos para realizar la operación requerida en la parte correcta de la pieza de trabajo.

Aunque esta es una tarea simple, una gran cantidad de procesamiento está sucediendo en nuestros cerebros para completarla. Por ejemplo, tomar el entorno usando nuestra visión, procesar ese estímulo para medir la distancia y la ubicación, pasar a la pieza de trabajo desde nuestra posición actual, reposicionar y orientar la herramienta y a nosotros mismos para operar, y luego realizar la operación en sí.

Un robot necesita pasar por un proceso similar. Para que eso suceda, la información debe ser formateada para que el robot pueda entenderla. Hacemos esto usando marcos de coordenadas definidos por un conjunto de 3 vectores, cada uno de longitud unitaria, formando un ángulo recto. Describimos estos vectores usando la anotación estándar de X, Y y Z.

Usando estos tres valores, puede expresar cualquier punto en un espacio 3D. Aún así, siempre debe hacerlo en relación con un marco de coordenadas que defina el marco de origen (también conocido como WORLD). No es útil saber que el punto de esquina de la pieza de trabajo está en (-100, 2.8, 560) a menos que sepa dónde está (0,0,0) y en qué dirección apuntan los tres ejes.

Comprender la orientación del robot

Además de las posiciones, también es necesario definir la orientación de un punto en el espacio. Existen varios enfoques para especificar la orientación del robot en 3D. El más utilizado e intuitivo son los ángulos de Euler. Expresamos los ángulos de Euler como tres rotaciones alrededor de los tres ejes de coordenadas comúnmente referidos usando la notación de A, B y C o como Roll, Pitch y Yaw. Una rotación es positiva para una rotación en sentido contrario a las agujas del reloj cuando es vista por un observador que mira hacia abajo del eje hacia el origen.

La secuencia que siguen las rotaciones A, B y C es esencial. Los robots ABB usan la convención móvil ZYX Euler, mientras que FANUC y Kuka usan la convención de ángulo Euler XYZ fijo. Stäubli y Kawasaki utilizan la convención ZYZ.

Más detalles sobre estas convenciones no se cubrirán en este tutorial, pero la idea principal para entender es que al usar los seis indicadores que aprendimos (X, Y, Z, A, B, C), ahora puede definir la ubicación y orientación de un objeto en el espacio.

[Nota] Cuando se trata de sistemas multieje, necesitará indicadores adicionales para definir la ubicación y orientación de un robot, ya que hay múltiples formas para que el robot llegue a un punto específico.

Comprender los marcos de robots

Hay tres marcos de coordenadas generales utilizados en robótica: el marco WORLD, el marco USER (Base) y el marco TOOL.

Marco WORLD



El marco WORLD es un marco de coordenadas cartesianas fijas que representa el punto central en la base del robot y define el mundo general del robot. Especifica las tres direcciones en las que apuntan todos los ejes y la posición de origen. Por ejemplo, en el formato (X, Y, Z, A, B, C), esto sería (0, 0, 0, 0, 0, 0). El marco WORLD se define normalmente como el centro de la base del robot, como se muestra en la "Figura 3".

Los marcos USER(Base) se definirán en relación con el marco WORLD, y algunos o todos los puntos en el espacio se pueden definir directamente en relación con este marco. Usar el marco WORLD es una forma muy intuitiva de trotar el robot. Visualizar el movimiento esperado en función de su montaje y usar la regla de la mano derecha para sistemas de coordenadas cartesianas lo hace fácil.


En la configuración estándar de un robot montado en el suelo, cualquiera puede usar la regla de la mano derecha para obtener la orientación del marco WORLD en el espacio. La regla de la mano derecha se forma colocando el dedo índice, el dedo medio y el pulgar de la mano derecha en ángulo recto, como se muestra en la "Figura 4". Cada uno de los dedos y el pulgar representa un eje diferente, el dedo índice: eje X, el dedo medio: eje Y y el pulgar: eje Z.

Alinear su mano mirando su dedo índice hacia la interfaz de conexión del robot le permitirá orientarse con el marco WORLD del robot.

La interfaz de conexión es la interfaz para todas las conexiones al robot, como energía, datos, motor, neumática, etc., y generalmente está en la base del robot. Por lo tanto, usted conoce el eje requerido para moverse al trotar el robot en el marco WORLD.

La aplicación también puede cambiar el marco WORLD del robot. Un ejemplo sería cuando se utiliza un robot montado en el techo o si el robot se monta ligeramente desplazado en su posición, pero cuando la dirección de operación debe permanecer alineada con un eje de coordenadas específico.

Marco de usuario (base)

El marco USER (Base) es un sistema de coordenadas cartesianas que puede definir una pieza de trabajo o un área de interés, como un transportador o una ubicación de palet. Este marco se define en relación con el marco WORLD.

Una aplicación puede tener múltiples tramas USER dependiendo del número de áreas operativas para el robot. Este tipo de marco es beneficioso ya que nos permite definir puntos relativos a un marco USER en lugar de directamente relativos al marco WORLD. De esta manera, si se produce un desplazamiento o si el marco del USUARIO es algo que puede moverse, como la parte superior o el posicionador de un robot móvil, no necesitará ajustar cada punto, solo el marco del USUARIO en sí.

Imagine una situación en la que queremos realizar una aplicación de soldadura en la pieza de trabajo con cada esquina triangular definida como un punto relativo al marco USER (Base) llamado WORKPIECE [1]. Si la rotación del posicionador está desalineada o si colocamos la pieza con un desplazamiento sobre el posicionador, todo lo que tendríamos que hacer es localizar un punto de relevancia. Una vez que el robot haya determinado el desplazamiento del bastidor WORKPIECE[1], el robot compensará todos los puntos del bastidor en función de esto.

En este ejemplo, el punto de relevancia que sería el origen del marco de la pieza de trabajo en relación con el robot podría definirse como la esquina más cercana al robot. Si sabemos que la pieza de trabajo puede compensarse durante la etapa de concepto en esta aplicación, diseñaremos la celda del robot con capacidades de detección para ubicar esta esquina. Una vez encontrado, el robot podría continuar la aplicación de soldadura como de costumbre, pero el offset ahora se ha tratado sin tener que modificar todos los puntos individualmente.

Este marco se vuelve especialmente útil cuando se trata de múltiples ubicaciones en el bastidor USER (Base), como en una aplicación de paletizado donde el palet podría estar ligeramente desplazado, por lo que el palet se define como un marco USER (Base).

Marco de herramienta


El marco TOOL es un sistema de coordenadas cartesianas definido en el punto central de la herramienta (TCP). La herramienta TCP es el punto utilizado para mover el robot a una posición cartesiana. El origen del sistema de coordenadas TOOL es la brida o placa frontal del robot, el punto de montaje de la herramienta en el eje 6. Si no se define ninguna herramienta, entonces el punto utilizado para moverse a una posición cartesiana es la propia brida del robot. Un TCP se define generalmente en el centro de la herramienta o el punto destinado al posicionamiento.

Un ejemplo es una información sobre herramientas de soldadura, una herramienta de pegado, un centro de pinza o una matriz de pinzas. Cuando el robot está programado para moverse a un punto específico con la herramienta, el TCP de la herramienta terminará en ese punto. Dado que un solo robot puede usar múltiples herramientas, el usuario también puede definir numerosos marcos de herramientas.

La enseñanza manual de la posición de un robot en el espacio 3D se realizará utilizando el TCP definido actualmente que normalmente se expresará sobre el marco WORLD o un marco USER específico. Por lo general, los puntos se enseñarán usando el robot con la herramienta deseada. Pero supongamos que un punto se programa fuera de línea, por ejemplo, cuando se utilizan datos de una simulación. En ese caso, se debe tener cuidado para garantizar que el punto esté programado con la orientación correcta para que la herramienta del robot se alinee con precisión.

Configuración de un robot

Otro conjunto de indicadores mencionados brevemente anteriormente con respecto a los datos puntuales es la configuración del robot. Cuando se trata de robots con múltiples grados de libertad y generosos límites de eje, los solucionadores cinemáticos pueden encontrar problemas si solo se les dan los datos de posición en el espacio 3D, es decir, X, Y, Z, A, B y C. El problema es que los puntos pueden representarse de múltiples maneras cuando se usa un robot con numerosos grados de libertad.

Un ejemplo de esto se muestra en la "Tabla 1". En todas estas imágenes, el robot está en la misma posición en el espacio, la única diferencia es la configuración del robot. La "Tabla 1" muestra esto mostrando las diferencias de signos de las posiciones individuales de seis ejes. Un signo negativo es una rotación en sentido contrario a las agujas del reloj alrededor del punto central del eje, y un signo positivo es una rotación en el sentido de las agujas del reloj alrededor de su punto central.


Dado que este robot puede alcanzar un punto de múltiples maneras, se necesita un método o indicador en el que el punto pueda describir su posición en el espacio sin ambigüedades. Estos indicadores son descripciones de la posición física de las articulaciones del robot y su interacción actual.

  • Kuka utiliza dos indicadores de varios bits llamados estado y giro, que consisten en el signo de la posición actual del eje y la intersección del eje.
  • Fanuc normalmente utiliza una combinación de 3 indicadores de colocación conjunta y giro para los ejes 4, 5 y 6.
  • Stäubli utiliza tres indicadores que representan la configuración del hombro, el codo y la muñeca del brazo robótico, que corresponden a conjuntos de articulaciones y sus interacciones.
De esta manera, cuando el TCP del robot está en un punto, cumple con los requisitos de posición de X, Y, Z, A, B y C. El brazo robótico físico también debe ser representativo de los indicadores de configuración. Por lo tanto, todas las condiciones necesarias para una posición cartesiana de robot son X, Y, Z, A, B, C y los indicadores adicionales.

Independientemente del robot utilizado, todos requieren algo más que los datos de posición en el espacio 3D para que el punto se defina sin ambigüedades. Dado que los idiomas varían según la plataforma, el método que utilizan para describir los puntos tiende a cambiar ligeramente.

Conclusión

Este articulo cubrió los conceptos básicos de la representación de la posición del robot en el espacio 3D. Ahora comprende el concepto de marcos y los tres tipos de marcos más esenciales en la programación de robots. También cubrimos cómo se representa un punto en el espacio cartesiano y cómo esta posición necesita indicadores adicionales para un robot multieje.

Comprender estos conceptos le permitirá comprender un sistema robótico con más detalle y desarrollar las habilidades necesarias para desarrollar programas y aplicaciones de robots más efectivos.

Comentarios

Lo más leído del Blog

Explicación del Estado de la CPU y errores de LED Siemens S7 300

Instrucciones de Bit

Introducción al PLC