Ir al contenido

Matrices de Transformación Homogénea

Es una matriz de 4x4 que representa la transformación de un vector en coordenadas homogéneas de un sistema de coordenadas a otro.

  • Composición: La matriz de transformación homogénea está formada por cuatro submatrices

    • una matriz de rotación (RR)
    • un vector de translación (PP)
    • una transformación de perspectiva (FF)
    • un escalado global (WW)
T=[R3x3P3x1F1x3W1x1]T = \begin{bmatrix}R_{3x3}&& P_{3x1}\\ F_{1x3}&& W_{1x1}\end{bmatrix}

En robótica industrial, se calculan las matrices RR y PP, mientras que la matriz FF se considera nula y la matriz WW se considera la unidad.

T=[R3x3P3x10001]T = \begin{bmatrix}R_{3x3}&& P_{3x1}\\ \begin{array}{ccc}0&0&0\end{array}&& 1\end{bmatrix}

La matriz de transformación homogénea sirve para conocer la orientación y la posición de un sistema con respecto a otro de referencia, es decir, la posición y orientación de una pieza con respecto a un robot. Y conocer la rotación y la traslación de un vector con respecto a un sistema de referencia fijo.

Para explicar la traslación, se supone un sistema OABCO'ABC que está trasladado un vector v=vxi^+vyj^+vzk^v = v_x\,\hat{i} + v_y\,\hat{j} + v_z\,\hat{k} con respecto a un sistema OXYZOXYZ. La matriz homogénea de traslación será:

T(v)=[100vx010vy001vz0001]T(v) = \begin{bmatrix} 1&0&0&v_x \\ 0&1&0&v_y \\ 0&0&1&v_z \\ 0&0&0&1 \end{bmatrix}

Cuando un sistema OABCO'ABC está rotado respecto a un sistema OXYZOXYZ, se pueden dar distintas matrices de rotación según los ejes de coordenadas:

La matriz de rotación respecto al eje OX\overrightarrow{OX} es:

Tx(α)=[10000cos(α)sin(α)00sin(α)cos(α)00001]T_x(\alpha) = \begin{bmatrix} 1&0&0&0 \\ 0&\cos(\alpha)&-\sin(\alpha)&0 \\ 0&\sin(\alpha)&\cos(\alpha)&0 \\ 0&0&0&1 \end{bmatrix}

La matriz de rotación respecto al eje OY\overrightarrow{OY} es:

Ty(ϕ)=[cos(ϕ)0sin(ϕ)00100sin(ϕ)0cos(ϕ)00001]T_y(\phi) = \begin{bmatrix} \cos(\phi)&0&\sin(\phi)&0 \\ 0&1&0&0 \\ -\sin(\phi)&0&\cos(\phi)&0 \\ 0&0&0&1 \end{bmatrix}

La matriz de rotación respecto al eje OZ\overrightarrow{OZ} es:

Tz(θ)=[cos(θ)sin(θ)00sin(θ)cos(θ)0000100001]T_z(\theta) = \begin{bmatrix} \cos(\theta)&-\sin(\theta)&0&0 \\ \sin(\theta)&\cos(\theta)&0&0 \\ 0&0&1&0 \\ 0&0&0&1 \end{bmatrix}

Es importante notar que si se realiza primero una rotación y luego una traslación, el resultado es diferente a si se realiza primero la traslación y luego la rotación. La composición de estas transformaciones se logra mediante la multiplicación de las matrices correspondientes.