Robótica/Herramientas matemáticas para la localización espacial

Necesariamente el manipular cualquier objeto con un robot implica el movimiento de su extremo. Asimismo, para manipular una pieza es necesario conocer la ubicación y orientación con respecto a la base del robot de ésta, por lo que se necesitan varias herramientas matemáticas para establecer relaciones espaciales entre distintos objetos que nos permitan saber la ubicación de uno respecto a otro.

A continuación se presentan varios métodos y herramientas para la representación de la posición y orientación de un cuerpo rígido que nos servirán para establecer la ubicación del efector final de un robot, o cualquiera de sus articulaciones, respecto a un punto (generalmente la base del robot).

Representación de la posición

editar

Para localizar un cuerpo rígido en el espacio se necesitan herramientas que nos permitan conocer la ubicación espacial de sus puntos. En el plano la localización se describe por dos componentes independientes, mientras que en el espacio tridimensional son necesarios tres componentes. Existen diferentes formas de representar la posición en el espacio, la más común es por medio de coordenadas cartesianas, pero existen además otros métodos como las coordenadas polares para planos y coordenadas cilíndricas y esféricas para el espacio tridimensional.

Coordenadas Cartesianas

editar

Un punto definido en el plano estará definido por las componentes x e y, por ejemplo el punto (a,b) se ubica a una distancia a medida desde el origen en el eje de las x (horizontal) y a una altura b medida desde el origen en el eje y (vertical). En el caso de las coordenadas en tres dimensiones el punto se definirá con las componentes (x,y,z), es decir, solamente se agrega un dato más (z) para indicar la posición a lo largo del eje z (perpendicular al eje x y y).

Coordenadas Polares y Cilíndricas

editar

El sistema de coordenadas polares es un sistema de coordenadas bidimensional en el cual cada punto (posición) en el plano viene determinado por un ángulo y una distancia. El sistema de coordenadas polares resulta especialmente útil en situaciones donde la relación entre dos puntos es más fácil de expresar en términos de ángulos y distancias, mientras que en el sistema de coordenadas cartesianas o rectangulares estas mismas relaciones deben ser expresadas mediante fórmulas trigonométricas.

Al ser un sistema de coordenadas bidimensional, cada punto dentro del plano se encuentra determinado por dos coordenadas: la coordenada radial y la coordenada angular. La coordenada radial (comúnmente simbolizada por r o ρ) expresa la distancia del punto al punto central del sistema conocido como polo (equivalente al origen del sistema Cartesiano). La coordenada angular (también conocida como ángulo polar o ángulo acimutal, y usualmente simbolizada por θ ó t) expresa el ángulo positivo (en sentido antihorario) medido desde el eje polar (equivalente al eje de abscisas del sistema cartesiano).

Las coordenadas cilíndricas son un sistema de coordenadas para definir la posición de un punto del espacio mediante un ángulo, una distancia con respecto a un eje y una altura en la dirección del eje.

El sistema de coordenadas cilíndricas es muy conveniente en aquellos casos en que se tratan problemas que tienen simetría de tipo cilíndrico o acimutal. Se trata de una versión en tres dimensiones de las coordenadas polares de la geometría analítica plana.

Un punto P en coordenadas cilíndricas se representa por (ρ,φ,z), donde:

  • ρ: Coordenada radial, definida como la distancia del punto P al eje z, o bien la longitud de la proyección del radiovector sobre el plano XY.
  • φ: Coordenada acimutal, definida como el ángulo que forma con el eje X la proyección del radiovector sobre el plano XY}
  • z: Coordenada vertical o altura, definida como la distancia, con signo, desde el punto P al plano XY.

Coordenadas esféricas

editar

El sistema de coordenadas esféricas se basa en la misma idea que las coordenadas polares y se utiliza para determinar la posición espacial de un punto mediante una distancia y dos ángulos.

En consecuencia, un punto P queda representado por un conjunto de tres magnitudes: el radio r, el ángulo polar o colatitud θ y el azimuth φ.

Representación de la orientación

editar

Para la representación de un punto es necesario solamente indicar sus tres coordenadas, para un cuerpo es necesario además indicar su orientación en el espacio. Por ejemplo para un robot que se encarga de pintar un vehículo no basta con conocer su ubicación en el espacio, sino que es necesario también conocer la orientación de su extremo para que realice adecuadamente la operación.

Matrices de Rotación

editar

Este es el método más extendido para la representación de orientaciones debido principalmente a la facilidad que representa el álgebra matricial. Suponiendo dos ejes coordenados OXY (fijo) con vectores unitarios para un punto iX y jY y OUV (móvil) con vectores unitarios iu y jv, como se muestra en la figura:

En ambos sistemas un vector se puede representar como:

 

 

Lo que, realizando una serie de transformaciones se convierte en:

 

Donde:

 

Es la llamada matriz de rotación que define la orientación del sistema OUV con respecto al sistema OXY, y que transforma las coordenadas de un vector en un sistema a las del otro. La matriz de rotación es una matriz ortonormal: R-1=RT. Si se considera que el sistema OUV se gira un ángulo α respecto a OXY la matriz de rotación quedará de la siguiente forma:

 

En un espacio tridimensional en donde el sistema OXYZ es el sistema fijo y OUVW es el móvil se sigue un razonamiento similar para tener que

 

 


Con lo que se obtiene la siguiente equivalencia:

  Donde:

 

Es la matriz de rotación que define la orientación del sistema OUVW con respecto al sistema OXYZ.

Al igual que en dos dimensiones la matriz también puede representarse en función de sus cosenos directores.

A continuación se muestran las matrices de rotación en función de sus cosenos directores para los giros respecto a los tres ejes.

Una rotación del sistema OUVW (con el eje OU que coincide con el eje OX) de α grados respecto a OX se representaría de la siguiente forma.

 

Una rotación del sistema OUVW (con el eje OV que coincide con el eje OY) de Ф grados respecto a OY se representaría de la siguiente forma.

 

Una rotación del sistema OUVW (con el eje OW que coincide con el eje OZ) de θ grados respecto a OZ se representaría de la siguiente forma.

 

Las anteriores tres matrices se denominan matrices básicas de transformación para un sistema de tres dimensiones.

Composición de rotaciones

editar

Las matrices de rotación pueden componerse para representar la aplicación continua de varias rotaciones. Por ejemplo si se aplica al sistema OUVW una rotación de ángulo α sobre OX, seguida de una rotación de ángulo Ф sobre OY y una rotación de ángulo θ sobre OZ, la rotación total podrá expresarse como:

 

Es importante recordar que el producto de matrices no es conmutativo por lo que el orden en el que se realizan las operaciones debe tomarse en cuenta.

Ángulos de Euler

editar

Los ángulos de Euler constituyen un conjunto de tres coordenadas angulares que sirven para especificar la orientación de un sistema de referencia de ejes ortogonales, normalmente móvil, respecto a otro sistema de referencia de ejes ortogonales normalmente fijos.

Fueron introducidos por Leonhard Euler en mecánica del sólido rígido para describir la orientación de un sistema de referencia solidario con un sólido rígido en movimiento.

Dados dos sistemas de coordenadas xyz y XYZ con origen común, es posible especificar la posición de un sistema en términos del otro usando tres ángulos (α, β, γ) de tres maneras equivalentes, como sigue:

La definición es Estática, de acuerdo con el esquema adjunto:

  • α es el ángulo entre el eje x y la línea de nodos.
  • β es el ángulo entre el eje z y el eje Z.
  • γ es el ángulo entre la línea de nodos y el eje X.
  • La intersección de los planos coordenados xy y XY se llama línea de nodos.

Cuaternios

editar

Los Cuaternios son una extensión de los números reales, similar a la de los números complejos. Mientras que los números complejos son una extensión de los reales por la adición de la unidad imaginaria i, tal que i2 = − 1, los cuaternios son una extensión generada de manera análoga añadiendo las unidades imaginarias: i, j y k a los números reales y tal que i2 = j2 = k2 = ijk = − 1. Esto se puede resumir en esta tabla de multiplicación:

la Tabla de Cayley.

1 i j k

1 1 i j k

i i -1 k -j

j j -k -1 i

k k j -i -1


1, i, j, k, son entonces las "bases" de las componentes de un cuaternión.

Álgebra de cuaternios

editar

Definimos la suma y producto entre cuaternios mediante la aritmética usual de las matrices y de los números complejos. Puede comprobarse que el conjunto H, junto con estas operaciones, satisface todas las propiedades de un campo con excepción de que el producto no es conmutativo.

 
 

Adición

La adición se realiza análogamente a como se hace con los complejos, es decir: término a término:

 

Producto

El producto se realiza componente a componente, y está dado en su forma completa por:

 

El producto entre cuaternios es asociativo, no conmutativo.

Conjugación

El conjugado de un cuaternio x = x1 + x2i + x3j + x4k está dado por \bar{x}= x1 - x2i – x3j - x4k. En otras palabras, el conjugado invierte el signo de los componentes "agregados" del cuaternio. Matricialmente esto corresponderá a la operación de transposición de cualquiera de sus representaciones matriciales.

Cociente

Usando la forma del inverso, es posible escribir el cociente de dos cuaternios como:

 

El inverso multiplicativo de un cuaternión x, distinto de cero, está dado por:

 

El cual es mismo patrón que cumplen los números complejos.

Exponenciación

La exponenciación cuaternios, al igual que sucede con los complejos, está relacionada con funciones trigonométricas. Dado un cuaternio escrito en forma canónica q = a + bi + cj + dk su exponenciación resulta ser:

 

Comparación con matrices

La multiplicación de matrices no es, en general, conmutativa al igual que en el caso de los cuaternios. Sin embargo, tampoco todas las matrices poseen un inverso multiplicativo mientras que todos los cuaternios diferentes del cero si son invertibles.

Utilización de los cuaternios

editar

Los cuaternios, gracias a las propiedades algebraicas antes descritas, son útiles para representar rotaciones de un objeto respecto a otro. Primeramente definimos un cuaternio que representa un giro de valor θ sobre un eje k como:

 

Ejemplo:

Obtener el cuaternio que representaría una rotación de 60° sobre el eje k(3,-2,1) Aplicando la ecuación anterior obtenemos que:

 

La aplicación de la rotación expresada por el cuaternio Q a un vector r, vendrá dada por:

 

Ejemplo:

Obtener el vector r’ resultante de aplicar la misma rotación del ejemplo anterior. Rot(k,60°) donde k(3,.2,1) sobre r(4,3,-5).

 

La rotación con cuaternios equivale a multiplicar cuaternios entre sí. Por lo que el resultado de rotar según el cuaternio Q1, y luego rotar según el cuaternio Q2 es el mismo que rotar según Q3 obtenido mediante la siguiente ecuación:

 

Para una traslación de un vector r seguida de una rotación Q en un sistema OXYZ, obtenemos el nuevo sistema OUVW, tal que las coordenadas de un vector p en elsistema OXYZ, conocidas en OUVW, serán:

 

Ejemplo de una matriz homogenea

editar
  • Introducción

Uno de los problemas fundamentales de la cinemática del robot es la cinemática directa, que consiste en conocer la posición y orientación del robot si son conocidos los valores de sus articulaciones.

Un método propuesto para describir y representar la geometría espacial de los elementos de una cadena cinemática fue propuesto por Denavit y Hartenberg. El método utiliza una matriz de transformación homogénea para describir la relación espacial entre dos elementos rígidos adyacentes, reduciéndose el problema cinemático directo a encontrar una matriz de transformación homogénea 4 x 4 que relacione la localización del robot con respecto al sistema de coordenadas de su base.

Resolución de un problema de cinemática directa con matrices de trasformación homogénea. La resolución del problema consiste en encontrar las relaciones que permiten conocer la localización espacial del extremo del robot a partir de de los valores de sus coordenadas articulares. Escogiendo coordenadas cartesianas y ángulos de Euler para la representación dela posición y orientación del extremo de un robot de dos grados de libertad, la solución el problema cinemático directo vendrá dado por las siguientes relaciones:

  • X=fx(q1,q2,)
  • y=fy(q1,q2,)
  • z=fz(q1,q2)
  • α=fα(q1,q2)
  • β=fβ(q1,q2)
  • γ =fγ(q1,q2)

Con las relaciones anteriores se puede localizar la posición del efector final del robot.

  • X=l1cos (q1) + l2cos (q1+q2)
  • y =l1senq1 + l2sen (q1+q2)

Para robots de más de un grado de libertad se pueden utilizar matrices de transformacion homogenea. Se pede describir un robot de n grados de libertad como una cadena de n eslabones unidos por n articulaciones con un sistema de referencia solidario. Normalmente, la matriz de transformación homogenea que representa la posicion y horientación relativa entre los sistemas asociados a dos eslabones consecutivos del robot se suele denominar matriz i-1Ai con i desde 1 hasta k se puede representar en forma total o parcial la cadena cinematica que forma el robot. El robot presentado en la figura se puede representar como 0A2 donde 0A1 y 1A2 representan los grados de livertad que presenta el robot, de la misma manera podemos representar un robot de seis grados de libertad como 0A6 o dividirlo en sus articulaciones correspondientes.

  • Ejemplo de resolución de un robot con 4 grados de libertad.

T=0A6 = 0A1 1A2 2A3 3A4