3. Cinemática directa#

La cinemática directa de manipuladores consiste en determinar la posición y orientación del extremo de un manipulador, a partir de las posiciones articulares. En general suele ser un problema bastante abordable, dado que se sigue una metodología para establecer los sistemas de referencia y con base a esto formar las matrices de transformación homogénea que proporcionan las relaciones entre los mismos.

En la Figura Fig. 3.1 se muestra un esquema que representa el papel de la cinemática directa e inversa como herramientas para relacionar el espacio cartesiano (asociado con posiciones y orientaciones del elemento terminal) con el espacio de las articulaciones (asociado con las posiciones articulares).

_images/fk_and_ik.svg

Fig. 3.1 Cinemática directa e inversa#

3.1. Sobre cadenas cinemáticas y transformaciones#

Un robot manipulador está compuesto de un conjunto de eslabones interconectados mediante juntas (pares cinemáticos). En general, un manipulador serial con \(n\) juntas tendrá \(n+1\) eslabones, dado que cada junta (asumiendo que sean de 1 GDL) conecta dos eslabones.

Para identificar los componentes de un manipulador se numeran las juntas de \(1\) a \(n\) y los eslabones de \(0\) a \(n\), comenzando desde el eslabón base (o referencia fija). Con esta convención, la articulación \(i\) conecta al eslabón \(i-1\) con el eslabón \(i\) (ver Figura Fig. 3.2).

_images/kinematic_chain_num.svg

Fig. 3.2 Cadena cinemática, numeración#

Con cada una de las articulaciones se asocia una variable de articulación denotada mediante \(q_i\). En el caso de una junta de revoluta \(q_i\) es el ángulo de rotación, y para un par prismático \(q_i\) es el desplazamiento de la junta.

Para realizar el análisis cinemático se adjunta rígidamente un sistema de referencia a cada eslabón (ver Figura Fig. 3.3). En particular, se adjunta el sistema \(\{i\}\) al eslabón \(i\), esto implica que para cualquier movimiento que el robot realice las coordenadas de cada punto en el eslabón \(i\) son constantes cuando se expresan o describen con respecto al \(i\)-ésimo sistema de referencia.

_images/kinematic_chain_sys.svg

Fig. 3.3 Cadena cinemática y sistemas de referencia#

La descripción de posición y orientación de \(\{i\}\) en \(\{i-1\}\) se hace mediante una matriz de transformación \(A_i\). Evidentemente la matriz \(A_i\) no es constante puesto que varía cuando lo hace la configuración del manipulador. Sin embargo, dado que cada articulación de los manipuladores a considerar, en este curso, será a lo sumo de un grado de libertad entonces \(A_i\) es función de una sola variable de articulación \(q_i\):

\[ A_i = A_i(q_i) \]

Para un manipulador de \(n\) eslabones y bajo la consideración de que a cada eslabón de la cadena cinemática se le adjunta un sistema de referencia, la posición y orientación del elemento terminal con respecto al sistema de la base, se puede expresar como el producto matricial de todas las matrices de transformación \( A_i \) que describen la totalidad del manipulador:

\[ T_n^0 = A_1(q_1) A_2(q_2) ... A_n(q_n) \]

De manera general, la matriz de transformación homogénea que expresa la posición y orientación del sistema \(\{j\}\) con respecto a \(\{i\}\) se denomina matriz de transformación y se denota mediante \(T_{j}^{i}\). Una matriz de transformación \(T_j^i\) tiene la forma:

\[\begin{split} T_j^i = \begin{bmatrix} R_j^i & \vec{d}_j^i \\ \vec{0} & 1 \end{bmatrix} \end{split}\]

3.2. Diagramas cinemáticos de manipuladores seriales#

Un diagrama cinemático es una representación simplificada de una cadena cinemática. Este tipo de diagramas sirven para ahorrar tiempo en la esquematización de los dibujos auxiliares para el desarrollo de los análisis cinemáticos de un sistema mecánico. En lugar de un dibujo con lujo de detalles, se utilizan líneas y formas geométricas simples para representar eslabones y pares cinemáticos.

A lo largo de este capítulo (y en el resto de estos apuntes) se utilizarán diagramas cinemáticos para representar manipuladores seriales. Dado que los manipuladores seriales que estudiaremos únicamente están conformados por juntas de revoluta (R) y prismáticas (P), nos centraremos en cómo representar este tipo de uniones.

En la Figura Fig. 3.4 podemos observar la representación en el plano y en el espacio de las juntas de revoluta y prismáticas. Observe que para la revoluta en el espacio se utiliza un cilindro, es importante establecer que la dirección axial del cilindro se debe corresponder con el eje de rotación de la junta de revoluta que se esté representando. En el caso de la junta prismática, se utiliza un prisma rectangular para representarla en el espacio, la dirección más alargada del prisma define la dirección de deslizamiento de dicha junta.

_images/kinematic_diagram_symbols.svg

Fig. 3.4 Representación de las juntas de revoluta (R) y prismáticas (P)#

Los eslabones se representarán siempre utilizando líneas. Considere que un diagrama cinemático no es un dibujo a escala, ni muestra la forma o geometría específica de los eslabones que conforman el manipulador sino que permite visualizar la manera en que están conectados los eslabones y las distancias entre las articulaciones.

3.3. La metodología de Denavit-Hartenberg#

En esta sección se establecerán una serie de convenciones que proporcionan un procedimiento sistemático para el desarrollo del análisis cinemático directo. La metodología de Denavit-Hartenberg (DH) es un procedimiento que permite establecer sistemas de referencia siguiendo algunas reglas básicas que permiten describir las matrices \(A_i\) mediante cuatro transformaciones básicas realizadas en un cierto orden, a las cuales se asocian cuatro parámetros.

Está claro que existen una multitud de posibilidades que proporcionarían una descripción de un sistema transformado respecto a otro, y sería posible realizar un análisis cinemático sin seguir la metodología a describir, sin embargo el análisis cinemático de un manipulador de \(n\) grados de libertad puede llegar a ser extremadamente complejo y sería inconveniente utilizar un procedimiento sin seguir ciertas convenciones.

En la metodología de Denavit-Hartenberg cada transformación \(A_i\) se representa como el producto de cuatro transformaciones básicas:

\[\begin{split} A_i = R_{z,\theta_i} D_{z,d_i} D_{x,a_i} R_{x, \alpha_i} = \begin{bmatrix} c\theta_i & -s\theta_i & 0 & 0 \\ s\theta_i & c\theta_i & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & d_i \\ 0 & 0 & 0 & 1 \\ \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & a_i \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & c\alpha_i & -s\alpha_i & 0 \\ 0 & s\alpha_i & c\alpha_i & 0 \\ 0 & 0 & 0 & 1 \\ \end{bmatrix} \end{split}\]
(3.1)#\[\begin{split} A_i = T_i^{i-1} = \begin{bmatrix} c\theta_i & -s\theta_i c\alpha_i & s\theta_i s\alpha_i & a_i c\theta_i \\ s\theta_i & c\theta_i c\alpha_i & -c\theta_i s\alpha_i & a_i s\theta_i \\ 0 & s\alpha_i & c\alpha_i & d_i \\ 0 & 0 & 0 & 1 \end{bmatrix} \end{split}\]

Donde las cuatro cantidades \(\theta_i\), \(d_i\), \(a_i\) y \(\alpha_i\) son parámetros asociados con el eslabón y la junta \(i\).

3.3.1. Estableciendo los sistemas de referencia#

Las cuatro transformaciones anteriores están asociadas a conjunto de reglas para establecer los sistemas de referencia, mismas que se describirán a continuación.

Establecer \(z_i\)

El eje \(z_i\) de cada sistema de referencia se debe colocar de tal manera que apunte en la dirección del eje de accionamiento de la junta \(i+1\). Considerar que en el caso de una articulación de revoluta el eje de accionamiento será el eje sobre el cual se realiza la rotación y que en el caso de una articulación prismática el eje de accionamiento será la dirección de deslizamiento de la misma. De manera particular, el eje \(z_n\) (extremo del manipulador) deberá colocarse en la misma dirección que \(z_{n-1}\).

El sistema {0}

Una vez se han establecido los ejes \(z\) para toda la cadena cinemática, se procede a establecer el sistema base {0}. El origen \(o_0\) se coloca sobre cualquier punto en \(z_0\). La dirección de \(x_0\) y \(y_0\) son arbitrarias y únicamente deben cumplir el hecho de formar un sistema coordenado derecho.

Sistemas de referencia: de \(\{1\}\) a \(\{n\}\)

Una vez se establecieron los ejes \(z\) y el sistema de referencia base se comienza un proceso iterativo para definir el sistema \( \{i\} \) a partir de \( \{i-1\} \).

Con la finalidad de establecer el sistema de referencia \( \{i\} \) es necesario considerar los tres casos que a continuación se describen:

  • i. \(z_i\) y \(z_{i-1}\) no son coplanares. Si \(z_i\) y \(z_{i-1}\) no son coplanares entonces existe un único segmento de línea perpendicular a ambos ejes que los conecta y tiene longitud mínima. La línea que contiene a esta normal común a \(z_i\) y \(z_{i-1}\)define la dirección de \(x_i\) y el punto en donde esta linea interseca \(z_i\) es el origen \(o_i\).

  • ii. \(z_i\) y \(z_{i-1}\) son paralelos. Si \(z_i\) y \(z_{i-1}\) son paralelos entonces existen una cantidad infinita de normales comunes. En general se suele tomar la normal que pasa por \(o_{i-1}\) como la dirección para \(x_i\) y la intersección de dicha normal con \(z_i\)como el origen \(o_i\).

  • iii. \(z_i\) y \(z_{i-1}\) se intersecan. En este caso \(x_i\) se escoge en la dirección normal al plano formado por \(z_i\) y \(z_{i-1}\), y preferentemente en la dirección de \(z_{i-1} \times z_{i}\). El origen \(o_i\) se coloca en la intersección de \(z_i\) y \(z_{i-1}\).

Existe otro caso adicional, más simple que los anteriores: si \(z_{i-1}\) y \(z_i\) son colineales, entonces el eje \(x_i\) se coloca en la misma dirección que el eje \(x_{i-1}\).

Para todos los casos anteriores la dirección de \(y_i\) se establece de tal manera que complete un sistema coordenado derecho.

3.3.2. La obtención de los parámetros#

Una vez que se han establecido los sistemas de referencia, se procede a formar una tabla de parámetros de Denavit-Hartenberg, conformada por cinco columas: \(i\), \( a_i \), \( \alpha_i \), \( d_i \), \( \theta_i \). En cada una de las filas se colocan los parametros (\(a_i\), \(\alpha_i\), \(d_i\) y \(\theta_i\)) asociados con el \(i\)-ésimo eslabón (ver Table 3.1). Estos parámetros se obtienen (miden) de los sistemas de referencia establecidos, tomando en consideración lo que a continuación se describe:

  • El parámetro \( \theta_i \) es el ángulo que hay que rotar alrededor del eje \( z_{i-1} \) para alinear al eje \( x_{i-1} \) con el eje \( x_i \). En el caso de que la i-ésima articulación sea una revoluta, entonces \( \theta_i \) será una variable articular.

  • El parámetro \( d_i \) es la distancia entre los ejes \( x_{i-1} \) y \( x_{i} \) medida a lo largo del eje \( z_{i-1} \). Si los ejes \( x_{i-1} \) y \( x_{i} \) se intersecan, entonces \( d_i = 0 \). En el caso de que la i-ésima articulación sea de tipo prismática, entonces \( d_i \) será una variable articular.

  • El parámetro \( a_i \) es la distancia entre los ejes \( z_{i-1} \) y \( z_{i} \) medida a lo largo del eje \( x_{i} \). Si los ejes \( z_{i-1} \) y \( z_{i} \) se intersecan, entonces \( a_i = 0 \).

  • El parámetro \( \alpha_i \) es el ángulo que hay que rotar alrededor del eje \( x_i \) para alinear al eje \( z_{i-1} \) con el eje \( z_{i} \). Típicamente, en la mayoría de manipuladores este valor será \(90°\) o \(-90°\).

Es importante tener en cuenta que las variables articulares \( q_i \) sólo puede estar asociadas con los paramétros \( d_i \) y \( \theta_i \). Los parámetros \( \alpha_i \) y \( a_i \) siempre serán valores constantes.

La tabla de parámetros que resulta tiene tantas filas como grados de libertad posea el manipulador. En cada fila de la tabla se colocan los parámetros de Denavit-Hartenberg asociados con el \(i\)-ésimo eslabón, y corresponden a la descripción de transformaciones entre los sistemas de referencia \(\{i\}\) e \(\{i-1\}\). Además, es importante considerar que por cada fila de parámetros únicamente tendremos una variable articular (\(q_i\)).

Table 3.1 Tabla de parámtros de Denavit-Hartenberg#

\(i\)

\(a_i\)

\(\alpha_i\)

\(d_i\)

\(\theta_i\)

\(1\)

\(a_1\)

\(\alpha_1\)

\(d_1\)

\(\theta_1\)

\(2\)

\(a_2\)

\(\alpha_2\)

\(d_2\)

\(\theta_2\)

\(\vdots\)

\(\vdots\)

\(\vdots\)

\(\vdots\)

\(\vdots\)

\(n\)

\(a_n\)

\(\alpha_n\)

\(d_n\)

\(\theta_n\)

3.3.3. Calculando las \(A_i\) y \( T_n^0 \)#

Las matrices \(A_i\) se obtienen cuando se sustituyen cada una de las filas de la tabla de parámetros en la matriz de Denavit-Hartenberg (ecuación (3.1)). Recuerde que \(A_i = T_i^{i-1}\).

Una vez que se han calculado todas las matrices \(A_i\), se procede a multiplicarlas para determinar a la matriz \( T_n^0 \) que describe la cinemática directa del manipulador. Se debe recordar que está matriz está dada por:

\[ T_n^0 = A_1 A_2 \ldots A_n = T_1^0 T_2^1 \ldots T_{n}^{n-1} \]

La matriz \( T_n^0 \) depende de todas las variables articulares (\(q_1\), \(q_2\), \(\ldots\), \(q_n\)). Esta matriz nos proporcionará tanto la posición como la orientación del elemento terminal (sistema de referencia \(\{n\}\)) del manipulador con respecto al sistema de la base (sistema \(\{0\}\)).

Ejemplo. Calcule la cinemática directa del manipulador RR mostrado en la Figura Fig. 4.1a).

_images/rr_robot_dh.svg

Fig. 3.5 Manipulador RR#

Solución:

El manipulador planar RR de la Figura Fig. 4.1a) tiene dos grados de libertad, con los dos ejes de articulación paralelos. Los sistemas de referencia siguiendo la metodología de Denavit-Hartenberg quedarían establecidos como se muestran en la Fig. 4.1b). Recuerde que el eje \(z_0\) se debe colocar en la junta \(1\), \(z_1\) en la junta \(2\) y \(z_2\) en el extremo del manipulador y apuntando en la misma dirección que el eje \(z\) anterior (\(z_1\)). Observe que dado que \(z_0\) y \(z_1\) son paralelos, entonces el eje \(x_1\) se coloca en la dirección de la normal común a ambos ejes. El mismo caso aplica para colocar a \(x_2\).

Ahora vamos a determinar cada uno de los parámetros de Denavit-Hartenberg. Los parámetros \(\theta_1\) y \(\theta_2\) corresponden a las variables articulares \(q_1\) y \(q_2\), dado que ambas articulaciones son revolutas. El parámetro \(d_1\) recuerde que es la distancia entre los ejes \(x_1\) y \(x_0\), medida en la dirección de \(z_0\), pero dado que estos ejes se intersecan entonces \(d_1=0\). El parámetro \(a_1\) es la distancia entre \(z_0\) y \(z_1\) medida en la dirección de \(x_1\), observe que esta distancia es justamente \(l_1\). El parámetro \(\alpha_1\) es el ángulo que hay que rotar para alinear al eje \(z_0\) con el eje \(z_1\), girando alrededor del eje \(x_1\), se observa que \(z_0\) y \(z_1\) apuntan ya en la misma dirección, por lo cual \(\alpha_1 = 0°\). El parámetro \(d_2\) es la distancia entre los ejes \(x_1\) y \(x_2\), medida en la dirección de \(z_1\), pero dado que se intersecan entonces \(d_2=0\). El parámetro \(a_2\) es la distancia entre los ejes \(z_1\) y \(z_2\) medida en la dirección de \(x_2\), la cual corresponde justamente a \(l_2\). Finalmente, el parámetro \(\alpha_2\) es el ángulo que hay que rotar alrededor del eje \(x_2\) para alinear al eje \(z_1\) con el \(z_2\), se puede notar que los ejes \(z_1\) y \(z_2\) están alineados y por lo tanto \(\alpha_2 = 0°\). Así pues, la tabla de parámetros de Denavit-Hartenberg quedaría de la siguiente manera:

\(i\)

\(a_i\)

\(\alpha_i\)

\(d_i\)

\(\theta_i\)

\(1\)

\(l_1\)

\(0°\)

\(0\)

\(q_1\)

\(2\)

\(l_2\)

\(0°\)

\(0\)

\(q_2\)

Luego, cada matriz de transformación \(A_i\) se obtiene de sustituir los parámetros correspondientes en la matriz de Denavit-Hartenberg (ecuación (3.1)):

\[\begin{split} A_1 = \begin{bmatrix} c_{1} & -s_{1} & 0 & l_1 c_{1} \\ s_{1} & c_{1} & 0 & l_1 s_{1} \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \quad ; \qquad A_2 = \begin{bmatrix} c_{2} & -s_{2} & 0 & l_2 c_{2} \\ s_{2} & c_{2} & 0 & l_2 s_{2} \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \end{split}\]

Finalmente, la matriz de transformación que relaciona el extremo del manipulador con la base está dada por la multiplicación de estas matrices:

\[\begin{split} T_2^0 = A_1 A_2 = \begin{bmatrix} c_1 c_2 - s_1 s_2 & -c_1 s_2 - s_1 c_2 & 0 & l_2 c_1 c_2 - l_2 s_1 s_2 + l_1 c_1 \\ s_1 c_2 + c_1 s_2 & -s_1 s_2 + c_1 c_2 & 0 & l_2 s_1 c_2 + l_2 c_1 s_2 + l_1 s_1 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \end{split}\]

La matriz anterior se puede simplificar un poco aplicando las siguientes identidades trigonométricas:

\[ c_{12} = c_1 c_2 - s_1 s_2 \]
\[ s_{12} = s_1 c_2 + c_1 s_2 \]

Entonces:

\[\begin{split} T_2^0 = \begin{bmatrix} c_{12} & -s_{12} & 0 & l_1 c_1 + l_2 c_{12} \\ s_{12} & c_{12} & 0 & l_1 s_1 + l_2 s_{12} \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \end{split}\]

Ejemplo. Calcule la cinemática directa del manipulador RRR mostrado en la Figura Fig. 3.6.

_images/rrr_robot.svg

Fig. 3.6 Manipulador RRR#

Solución:

El manipulador RRR mostrado en la Figura Fig. 3.6 tiene tres grados de libertad (posicionamiento). Las direcciones de accionamiento de la primera y segunda articulación son mutuamente perpendiculares, además, las direcciones de la segunda y tercera articulación son paralelas. Los sistemas de referencia quedan establecidos como se muestra en la Figura Fig. 3.7. Dado que \(z_0\) y \(z_1\) se intersecan, entonces el eje \(x_1\) se coloca en la dirección normal al plano formado por ambos ejes. Los ejes \(z_1\) y \(z_2\) son paralelos, entonces \(x_2\) se coloca en la dirección de la normal común a ambos ejes. Los ejes \(z_2\) y \(z_3\) son paralelos, entonces \(x_3\) se coloca en la dirección de la normal común a ambos ejes.

_images/rrr_robot_dh.svg

Fig. 3.7 Manipulador RRR con los sistemas establecidos#

Con los sistemas establecidos de tal forma, se obtiene la tabla de parámetros de Denavit-Hartenberg:

\(i\)

\(a_i\)

\(\alpha_i\)

\(d_i\)

\(\theta_i\)

\(1\)

\(0\)

\(90°\)

\(d_1\)

\(q_1\)

\(2\)

\(l_2\)

\(0°\)

\(0\)

\(q_2\)

\(3\)

\(l_3\)

\(0°\)

\(0\)

\(q_3\)

Entonces, las matrices de transformación \( A_i \) estarán dadas por:

\[\begin{split} A_1 = \begin{bmatrix} c_1 & 0 & s_1 & 0 \\ s_1 & 0 & -c_1 & 0 \\ 0 & 1 & 0 & d_1 \\ 0 & 0 & 0 & 1 \end{bmatrix} \, ; \quad A_2 = \begin{bmatrix} c_2 & -s_2 & 0 & l_2 c_2 \\ s_2 & c_2 & 0 & l_2 s_2 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \, ; \quad A_3 = \begin{bmatrix} c_3 & -s_3 & 0 & l_3 c_3 \\ s_3 & c_3 & 0 & l_3 s_3 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \end{split}\]

Si multiplicamos \(A_2 A_3\) se tiene:

\[\begin{split} A_2 A_3 = \begin{bmatrix} c_2 c_3 - s_2 s_3 & -c_2 s_3 - s_2 c_3 & 0 & l_3 c_2 c_3 - l_3 s_2 s_3 + l_2 c_2 \\ s_2 c_3 + c_2 s_3 & -s_2 s_3 + c_2 c_3 & 0 & l_2 s_2 c_3 + l_3 c_2 s_3 + l_2 s_2 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \end{split}\]

Aplicando las identidades trigonométricas: \(c_{23} = c_2c_3 - s_2s_3\) y \(s_{23} = s_2c_3 + c_2s_3\), resulta:

\[\begin{split} A_2 A_3 = \begin{bmatrix} c_{23} & -s_{23} & 0 & l_2 c_2 + l_3 c_{23} \\ s_{23} & c_{23} & 0 & l_2 s_2 + l_3 s_{23} \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \end{split}\]

Finalmente multiplicando este resultado por \(A_1\), se obtiene la matriz \(T_3^0\):

\[\begin{split} T_3^0 = A_1 A_2 A_3 = \begin{bmatrix} c_1 c_{23} & -c_1 s_{23} & s_1 & c_1 \left( l_2 c_2 + l_3 c_{23} \right) \\ s_1 c_{23} & -s_1 s_{23} & -c_1 & s_1 \left( l_2 c_2 + l_3 c_{23} \right) \\ s_{23} & c_{23} & 0 & d_1 + l_2 s_2 + l_3 s_{23} \\ 0 & 0 & 0 & 1 \end{bmatrix} \end{split}\]

Ejemplo. Calcule la cinemática directa del manipulador ABB IRB 140 mostrado en la Figura Fig. 3.8.

_images/abb-irb-140-dimensions.png

Fig. 3.8 Dimensiones del robot ABB IRB 140#

Para calcular la cinemática directa de cualquier manipulador industrial, podemos comenzar buscando información acerca de sus dimensiones. En el caso del IRB 140 se puede encontrar información en este enlace. En la Figura Fig. 3.8 se muestra un esquema con las dimensiones del manipulador. Se debe tener en cuenta que no todas las dimensiones son relevantes para un análisis cinemático; usualmente, son de interés cinemático las distancias entre cada uno de los ejes del robot. Con esta información trazamos un diagrama cinemático que nos servirá para esquematizar nuestros sistemas de referencia de una manera más conveniente.

En la Figura Fig. 4.10 se muestra el diagrama cinemático del IRB 140, así como los sistemas de referencia ya establecidos, siguiendo las reglas de la metodología de Denavit-Hartenberg. A continuación, listamos las consideraciones para colocar cada uno de los sistemas de referencia.

  • Cada uno de los ejes \(z\) se coloca en la dirección de accionamiento de las articulaciones. De manera particular, \(z_6\) se coloca de forma paralela a la dirección del eje \(z_5\).

  • \(z_0\) y \(z_1\) no son coplanares, entonces el eje \(x_1\) se coloca en la dirección de la normal común a ambos ejes.

  • \(z_1\) y \(z_2\) son paralelos, por lo tanto el eje \(x_2\) se coloca en la dirección de la normal común que pasa por el origen de \(\{1\}\).

  • \(z_2\) y \(z_3\) se intersecan, entonces el eje \(x_3\) se coloca en una dirección que es normal al plano formado por estos ejes.

  • \(z_3\) y \(z_4\) se intersecan, por lo tanto el eje \(x_4\) se establece en una dirección normal al plano formado por estos ejes.

  • \(z_4\) y \(z_5\) se intersecan, entonces el eje \(x_5\) se coloca en dirección normal al plano formado por ambos ejes.

  • \(z_5\) y \(z_6\) son colineales, por lo tanto el eje \(x_6\) se coloca de forma alineada con \(x_5\). No obstante, es importante comprender que esa alineación no es permanente, dado que el ángulo que se forma entre \(x_5\) y \(x_6\) corresponde a la variable articular \(q_6\).

_images/abb-irb-140-kinematic-diagram.svg

Fig. 3.9 Diagrama cinemático del manipulador ABB IRB 140#

Una vez establecidos los sistemas de referencia, procedemos a obtener la tabla de parámetros:

\(i\)

\(a_i\)

\(\alpha_i\)

\(d_i\)

\(\theta_i\)

\(1\)

\(70\)

\(90°\)

\(352\)

\(q_1\)

\(2\)

\(360\)

\(0°\)

\(0\)

\(q_2\)

\(3\)

\(0\)

\(90°\)

\(0\)

\(q_3\)

\(4\)

\(0\)

\(-90°\)

\(380\)

\(q_4\)

\(5\)

\(0\)

\(90°\)

\(0\)

\(q_5\)

\(6\)

\(0\)

\(0°\)

\(65\)

\(q_6\)

Sustituyendo cada fila de parámetros en la matriz de Denavit-Hartenberg obtenemos cada una de las matrices \(A_i\):

\[\begin{split} A_1 = \displaystyle \left[\begin{matrix}\cos{\left(q_{1} \right)} & 0 & \sin{\left(q_{1} \right)} & 70 \cos{\left(q_{1} \right)}\\\sin{\left(q_{1} \right)} & 0 & - \cos{\left(q_{1} \right)} & 70 \sin{\left(q_{1} \right)}\\0 & 1 & 0 & 352\\0 & 0 & 0 & 1\end{matrix}\right] \end{split}\]
\[\begin{split} A_2 = \displaystyle \left[\begin{matrix}\cos{\left(q_{2} \right)} & - \sin{\left(q_{2} \right)} & 0 & 360 \cos{\left(q_{2} \right)}\\\sin{\left(q_{2} \right)} & \cos{\left(q_{2} \right)} & 0 & 360 \sin{\left(q_{2} \right)}\\0 & 0 & 1 & 0\\0 & 0 & 0 & 1\end{matrix}\right] \end{split}\]
\[\begin{split} A_3 = \displaystyle \left[\begin{matrix}\cos{\left(q_{3} \right)} & 0 & \sin{\left(q_{3} \right)} & 0\\\sin{\left(q_{3} \right)} & 0 & - \cos{\left(q_{3} \right)} & 0\\0 & 1 & 0 & 0\\0 & 0 & 0 & 1\end{matrix}\right] \end{split}\]
\[\begin{split} A_4 = \displaystyle \left[\begin{matrix}\cos{\left(q_{4} \right)} & 0 & - \sin{\left(q_{4} \right)} & 0\\\sin{\left(q_{4} \right)} & 0 & \cos{\left(q_{4} \right)} & 0\\0 & -1 & 0 & 380\\0 & 0 & 0 & 1\end{matrix}\right] \end{split}\]
\[\begin{split} A_5 = \displaystyle \left[\begin{matrix}\cos{\left(q_{5} \right)} & 0 & \sin{\left(q_{5} \right)} & 0\\\sin{\left(q_{5} \right)} & 0 & - \cos{\left(q_{5} \right)} & 0\\0 & 1 & 0 & 0\\0 & 0 & 0 & 1\end{matrix}\right] \end{split}\]
\[\begin{split} A_6 = \displaystyle \left[\begin{matrix}\cos{\left(q_{6} \right)} & - \sin{\left(q_{6} \right)} & 0 & 0\\\sin{\left(q_{6} \right)} & \cos{\left(q_{6} \right)} & 0 & 0\\0 & 0 & 1 & 65\\0 & 0 & 0 & 1\end{matrix}\right] \end{split}\]

La matriz \( T_6^0 \) está dada por:

\[\begin{split} T_6^0 = A_1 A_2 A_3 A_4 A_5 A_6 = \begin{bmatrix} r_{11} & r_{12} & r_{13} & d_x \\ r_{21} & r_{22} & r_{23} & d_y \\ r_{31} & r_{32} & r_{33} & d_z \\ 0 & 0 & 0 & 1 \end{bmatrix} \end{split}\]

donde:

\[ r_{11} = c_{6} \left(- c_{1} s_{5} s_{23} + c_{5} \left(c_{1} c_{4} c_{23} + s_{1} s_{4}\right)\right) + s_{6} \left(- c_{1} c_{23} s_{4} + c_{4} s_{1}\right) \]
\[ r_{21} = c_{6} \left(c_{5} \left(- c_{1} s_{4} + c_{4} c_{23} s_{1}\right) - s_{1} s_{5} s_{23}\right) - s_{6} \left(c_{1} c_{4} + c_{23} s_{1} s_{4}\right) \]
\[ r_{31} = c_{6} \left(c_{4} c_{5} s_{23} + c_{23} s_{5}\right) - s_{4} s_{6} s_{23} \]
\[ r_{12} = c_{6} \left(- c_{1} c_{23} s_{4} + c_{4} s_{1}\right) + s_{6} \left(c_{1} s_{5} s_{23} - c_{5} \left(c_{1} c_{4} c_{23} + s_{1} s_{4}\right)\right) \]
\[ r_{22} = - c_{6} \left(c_{1} c_{4} + c_{23} s_{1} s_{4}\right) + s_{6} \left(c_{5} \left(c_{1} s_{4} - c_{4} c_{23} s_{1}\right) + s_{1} s_{5} s_{23}\right) \]
\[ r_{32} = - c_{6} s_{4} s_{23} - s_{6} \left(c_{4} c_{5} s_{23} + c_{23} s_{5}\right) \]
\[ r_{13} = c_{1} c_{5} s_{23} + s_{5} \left(c_{1} c_{4} c_{23} + s_{1} s_{4}\right) \]
\[ r_{23} = c_{5} s_{1} s_{23} + s_{5} \left(- c_{1} s_{4} + c_{4} c_{23} s_{1}\right) \]
\[ r_{33} = c_{4} s_{5} s_{23} - c_{5} c_{23} \]
\[ d_x = 360 c_{1} c_{2} + 65 c_{1} c_{4} c_{23} s_{5} + 65 c_{1} c_{5} s_{23} + 380 c_{1} s_{23} + 70 c_{1} + 65 s_{1} s_{4} s_{5} \]
\[ d_y = - 65 c_{1} s_{4} s_{5} + 360 c_{2} s_{1} + 65 c_{4} c_{23} s_{1} s_{5} + 65 c_{5} s_{1} s_{23} + 380 s_{1} s_{23} + 70 s_{1} \]
\[ d_z = 65 c_{4} s_{5} s_{23} - 65 c_{5} c_{23} - 380 c_{23} + 360 s_{2} + 352 \]

3.4. Espacio articular y espacio operacional#

3.5. Cinemática directa utilizando Python#

3.6. Problemas#


En la Figura Fig. 3.10 se muestran tres sistemas de referencia \(\{0\}\), \(\{1\}\) y \(\{2\}\). De las transformaciones \( T_1^0 \), \( T_2^0 \) y \( T_2^1 \), ¿cuáles se pueden expresar mediante los parámetros de Denavit-Hartenberg?

_images/dh_frames.svg

Fig. 3.10 .#


En la figura Fig. 3.11 se muestra un manipulador de 3 GDL (RPP). Establezca los sistemas de referencia siguiendo la metodología de Denavit-Hartenberg, obtenga la tabla de parámetros DH, forme las matrices \( A_i \) y calcule la matriz \( T_3^0 \) que describe la posición y orientación del extremo del manipulador con respecto a la base.

_images/rpp_robot.svg

Fig. 3.11 .#


Dado el manipulador mostrado en la figura Fig. 3.12 y los sistemas de referencia esquematizados, determine la posición \((x,y,z)\) del extremo manipulador si \( q_1 = 30° \), \(q_2 = 45° \) y \(q_3 = 150 \) mm. Considerar que \(a_1 = 180\) mm y \( d_2 = 220 \) mm.

_images/rrp_robot_with_frames.svg

Fig. 3.12 Manipulador RRP#


En la figura Fig. 3.13 se muestra un manipulador de 4 GDL cuyas dimensiones son las indicadas. Realice lo siguiente:

  • Establezca los sistemas de referencia siguiendo la metodología de DH.

  • Obtenga la tabla de parámetros (\(a_i\),\(\alpha_i\),\(d_i\),\(\theta_i\)).

  • Forme las matrices de transformación \(T_i^{i-1}\)

  • Calcule la matriz de transformación \(T_4^0\).

_images/rrrr_robot.svg

Fig. 3.13 Manipulador RRRR#


Para el manipulador mostrado en la figura Fig. 3.14 calcule la cinemática directa.

_images/complex_robot_01.svg

Fig. 3.14 Manipulador RRR#


Para el manipulador mostrado en la figura Fig. 3.15 calcule la cinemática directa.

_images/complex_robot_02.svg

Fig. 3.15 Manipulador RRR#


Para el manipulador mostrado en la figura Fig. 3.16 calcule la cinemática directa.

_images/complex_robot_03.svg

Fig. 3.16 Manipulador RRR#


Para el manipulador mostrado en la figura Fig. 3.17 calcule la cinemática directa.

_images/complex_robot_04.svg

Fig. 3.17 Manipulador RRR#


Para el manipulador mostrado en la figura Fig. 3.18 calcule la cinemática directa.

_images/complex_robot_05.svg

Fig. 3.18 Manipulador RRR#


Calcule la cinemática directa para el manipulador SCARA mostrado en la figura Fig. 3.19.

_images/scara_robot.svg

Fig. 3.19 Manipulador RRR#


Para el robot industrial Fanuc LR Mate 200iC realice lo siguiente:

  • Trace el diagrama cinemático.

  • Establezca los sistema de referencia siguiendo la metodología de DH.

  • Obtenga la tabla de parámetros de DH.


Para el robot Fanuc M710iC/50 realice lo siguiente:

  • Trace el diagrama cinemático.

  • Establezca los sistema de referencia siguiendo la metodología de DH.

  • Obtenga la tabla de parámetros de DH.


Para el robot KUKA KR 160 R1570 nano realice lo siguiente:

  • Trace el diagrama cinemático.

  • Establezca los sistema de referencia siguiendo la metodología de DH.

  • Obtenga la tabla de parámetros de DH.


Para el robot industrial ABB IRB 910SC realice lo siguiente:

  • Trace el diagrama cinemático.

  • Establezca los sistema de referencia siguiendo la metodología de DH.

  • Obtenga la tabla de parámetros de DH.


Para el robot industrial Meca500 realice lo siguiente:

  • Trace el diagrama cinemático.

  • Establezca los sistema de referencia siguiendo la metodología de DH.

  • Obtenga la tabla de parámetros de DH.

3.7. Problemas para resolver con la computadora#

Los siguientes problemas deberán resolverse utilizando Python como lenguaje de programación. Para cada problema se debe describir de manera adecuada la metodología seguida para resolverlo.


Desarrolle un programa de computadora que, dados como entrada el conjunto de parámetros de Denavit-Hartenberg para una cadena cinemática abierta, calcule la posición de su extremo.


Se tiene un manipulador RR como el mostrado en la figura Fig. 7.37. Si se sabe que los valores de las coordenadas articulares están dados por: \(q_1 = \cos t\) y \(q_2 = \sin t \), y que sus dimensiones son \( l_1 = l_2 = 350\) mm. Desarrolle un programe que calcule y trace la trayectoria descrita por el extremo del manipulador para \(0 \leq t \leq 2\pi\).

_images/rr_robot2.svg

Fig. 3.20 Manipulador RR#


Desarrolle un programa de computadora que permita calcular la posición y orientación del extremo del robot industrial ABB IRB 140 dados como datos de entrada los valores articulares.


Desarrolle un programa de computadora que dados como entrada los valores articulares \(q_1\) y \(q_2\), del manipulador \(PP\) mostrado en la figura Fig. 3.21, calcule la posición del extremo del manipulador. El programa deberá también esquematizar la posición del manipulador.

_images/pp_robot.svg

Fig. 3.21 Manipulador PP#