Demostració Pas a Pas de la Matriu de Transformació per Robots

La matriu de transformació homogènia d'una junta de robot es pot obtenir combinant matrius de rotació i translació. Aquesta matriu ens permet descriure completament la posició i orientació d'una junta en l'espai tridimensional.

1. Rotació al Volt de l'Eix \(x\)

Comencem amb la matriu de rotació per a una rotació d'un angle \(\theta_x\) al voltant de l'eix \(x\). Aquesta matriu és:

\[ R_x(\theta_x) = \begin{pmatrix} 1 & 0 & 0 \\ 0 & \cos\theta_x & -\sin\theta_x \\ 0 & \sin\theta_x & \cos\theta_x \end{pmatrix} \]

Aquesta matriu només afecta els eixos \(y\) i \(z\), mantenint l'eix \(x\) inalterat.

2. Rotació al Volt de l'Eix \(y\)

A continuació, considerem una rotació d'un angle \(\theta_y\) al voltant de l'eix \(y\). La matriu de rotació és:

\[ R_y(\theta_y) = \begin{pmatrix} \cos\theta_y & 0 & \sin\theta_y \\ 0 & 1 & 0 \\ -\sin\theta_y & 0 & \cos\theta_y \end{pmatrix} \]

Aquesta matriu afecta els eixos \(x\) i \(z\), mantenint l'eix \(y\) inalterat.

3. Rotació al Volt de l'Eix \(z\)

Finalment, considerem una rotació d'un angle \(\theta_z\) al voltant de l'eix \(z\). La matriu de rotació és:

\[ R_z(\theta_z) = \begin{pmatrix} \cos\theta_z & -\sin\theta_z & 0 \\ \sin\theta_z & \cos\theta_z & 0 \\ 0 & 0 & 1 \end{pmatrix} \]

Aquesta matriu només afecta els eixos \(x\) i \(y\), mantenint l'eix \(z\) inalterat.

4. Combinació de les Matrius de Rotació

Per obtenir la matriu de rotació completa \(R\), combinem les tres matrius de rotació mitjançant el producte de matrius. És important recordar que l'ordre en què es multipliquen les matrius és important (la multiplicació de matrius no és commutativa).

Així, la matriu de rotació resultant és:

\[ R = R_z(\theta_z) \cdot R_y(\theta_y) \cdot R_x(\theta_x) \]

Aquesta matriu \(R\) descriu la rotació total de la junta.

4.1. Multiplicació de \( R_y(\theta_y) \) per \( R_x(\theta_x) \)

Comencem amb les matrius de rotació:

\[ R_x(\theta_x) = \begin{pmatrix} 1 & 0 & 0 \\ 0 & \cos\theta_x & -\sin\theta_x \\ 0 & \sin\theta_x & \cos\theta_x \end{pmatrix} \]

\[ R_y(\theta_y) = \begin{pmatrix} \cos\theta_y & 0 & \sin\theta_y \\ 0 & 1 & 0 \\ -\sin\theta_y & 0 & \cos\theta_y \end{pmatrix} \]

Ara fem la multiplicació de \( R_y(\theta_y) \) per \( R_x(\theta_x) \):

\[ R_y(\theta_y) \cdot R_x(\theta_x) = \begin{pmatrix} \cos\theta_y & 0 & \sin\theta_y \\ 0 & 1 & 0 \\ -\sin\theta_y & 0 & \cos\theta_y \end{pmatrix} \cdot \begin{pmatrix} 1 & 0 & 0 \\ 0 & \cos\theta_x & -\sin\theta_x \\ 0 & \sin\theta_x & \cos\theta_x \end{pmatrix} \]

Multipliquem fila per columna:

\[ R_y(\theta_y) \cdot R_x(\theta_x) = \begin{pmatrix} \cos\theta_y \cdot 1 + 0 \cdot 0 + \sin\theta_y \cdot 0 & \cos\theta_y \cdot 0 + 0 \cdot \cos\theta_x + \sin\theta_y \cdot \sin\theta_x & \cos\theta_y \cdot 0 + 0 \cdot -\sin\theta_x + \sin\theta_y \cdot \cos\theta_x \\ 0 \cdot 1 + 1 \cdot 0 + 0 \cdot 0 & 0 \cdot 0 + 1 \cdot \cos\theta_x + 0 \cdot \sin\theta_x & 0 \cdot 0 + 1 \cdot -\sin\theta_x + 0 \cdot \cos\theta_x \\ -\sin\theta_y \cdot 1 + 0 \cdot 0 + \cos\theta_y \cdot 0 & -\sin\theta_y \cdot 0 + 0 \cdot \cos\theta_x + \cos\theta_y \cdot \sin\theta_x & -\sin\theta_y \cdot 0 + 0 \cdot -\sin\theta_x + \cos\theta_y \cdot \cos\theta_x \end{pmatrix} \]

Simplificant, obtenim:

\[ R_y(\theta_y) \cdot R_x(\theta_x) = \begin{pmatrix} \cos\theta_y & \sin\theta_y\sin\theta_x & \sin\theta_y\cos\theta_x \\ 0 & \cos\theta_x & -\sin\theta_x \\ -\sin\theta_y & \cos\theta_y\sin\theta_x & \cos\theta_y\cos\theta_x \end{pmatrix} \]

4.2. Multiplicació del resultat amb \( R_z(\theta_z) \)

Multipliquem la matriu resultant per \( R_z(\theta_z) \):

\[ R_z(\theta_z) = \begin{pmatrix} \cos\theta_z & -\sin\theta_z & 0 \\ \sin\theta_z & \cos\theta_z & 0 \\ 0 & 0 & 1 \end{pmatrix} \]

Multiplicació:

\[ R_z(\theta_z) \cdot (R_y(\theta_y) \cdot R_x(\theta_x)) = \begin{pmatrix} \cos\theta_z & -\sin\theta_z & 0 \\ \sin\theta_z & \cos\theta_z & 0 \\ 0 & 0 & 1 \end{pmatrix} \cdot \begin{pmatrix} \cos\theta_y & \sin\theta_y\sin\theta_x & \sin\theta_y\cos\theta_x \\ 0 & \cos\theta_x & -\sin\theta_x \\ -\sin\theta_y & \cos\theta_y\sin\theta_x & \cos\theta_y\cos\theta_x \end{pmatrix} \]

Multiplicant fila per columna:

\[ R = \begin{pmatrix} \cos\theta_z\cos\theta_y + (-\sin\theta_z) \cdot 0 + 0 \cdot (-\sin\theta_y) & \cos\theta_z\sin\theta_y\sin\theta_x + (-\sin\theta_z)\cos\theta_x + 0 \cdot (\cos\theta_y\sin\theta_x) & \cos\theta_z\sin\theta_y\cos\theta_x + (-\sin\theta_z) \cdot (-\sin\theta_x) + 0 \cdot (\cos\theta_y\cos\theta_x) \\ \sin\theta_z\cos\theta_y + \cos\theta_z \cdot 0 + 0 \cdot (-\sin\theta_y) & \sin\theta_z\sin\theta_y\sin\theta_x + \cos\theta_z\cos\theta_x + 0 \cdot (\cos\theta_y\sin\theta_x) & \sin\theta_z\sin\theta_y\cos\theta_x + \cos\theta_z \cdot (-\sin\theta_x) + 0 \cdot (\cos\theta_y\cos\theta_x) \\ -\sin\theta_y & \cos\theta_y\sin\theta_x & \cos\theta_y\cos\theta_x \end{pmatrix} \]

Simplificant, obtenim:

\[ R = \begin{pmatrix} \cos\theta_z\cos\theta_y & -\sin\theta_z\cos\theta_x + \cos\theta_z\sin\theta_y\sin\theta_x & \sin\theta_z\sin\theta_x + \cos\theta_z\sin\theta_y\cos\theta_x \\ \sin\theta_z\cos\theta_y & \cos\theta_z\cos\theta_x + \sin\theta_z\sin\theta_y\sin\theta_x & -\cos\theta_z\sin\theta_x + \sin\theta_z\sin\theta_y\cos\theta_x \\ -\sin\theta_y & \cos\theta_y\sin\theta_x & \cos\theta_y\cos\theta_x \end{pmatrix} \]

4. Matriu de Rotació Completa

Així, la matriu de rotació completa \( R \) per a una junta de robot després de rotacions consecutives en els eixos \(x\), \(y\) i \(z\) és:

\[ R = \begin{pmatrix} \cos\theta_z\cos\theta_y & -\sin\theta_z\cos\theta_x + \cos\theta_z\sin\theta_y\sin\theta_x & \sin\theta_z\sin\theta_x + \cos\theta_z\sin\theta_y\cos\theta_x \\ \sin\theta_z\cos\theta_y & \cos\theta_z\cos\theta_x + \sin\theta_z\sin\theta_y\sin\theta_x & -\cos\theta_z\sin\theta_x + \sin\theta_z\sin\theta_y\cos\theta_x \\ -\sin\theta_y & \cos\theta_y\sin\theta_x & \cos\theta_y\cos\theta_x \end{pmatrix} \]

Aquesta matriu \(R\) descriu la rotació total resultant de les tres rotacions consecutives al voltant dels eixos \(x\), \(y\) i \(z\).

5. Incorporació de la Translació

A més de la rotació, cada junta pot tenir una translació en l'espai tridimensional, representada per un vector de translació \(\mathbf{d}\):

\[ \mathbf{d} = \begin{pmatrix} d_x \\ d_y \\ d_z \end{pmatrix} \]

Aquest vector representa la posició de la junta en els eixos \(x\), \(y\) i \(z\).

6. Formació de la Matriu de Transformació Homogènia

Ara, combinem la matriu de rotació \(R\) i el vector de translació \(\mathbf{d}\) per formar la matriu de transformació homogènia \(T\):

\[ T = \begin{pmatrix} R & \mathbf{d} \\ \mathbf{0}^\top & 1 \end{pmatrix} \]

Aquí, \(R\) és la matriu de rotació de 3x3, \(\mathbf{d}\) és el vector de translació de 3x1, \(\mathbf{0}^\top\) és un vector fila de zeros (1x3), i el valor \(1\) a la part inferior dreta completa la matriu homogènia de 4x4.

7. Matriu de Transformació Completa per a una Junta

Finalment, substituint la matriu \(R\) pel producte de les matrius de rotació, la matriu de transformació homogènia completa per a una junta es pot escriure com:

\[ T = \begin{pmatrix} R_z(\theta_z) \cdot R_y(\theta_y) \cdot R_x(\theta_x) & \mathbf{d} \\ \mathbf{0}^\top & 1 \end{pmatrix} \]

Aquesta matriu \(T\) descriu completament la posició i orientació d'una junta d'un robot en l'espai tridimensional.