La cinemática directa permite determinar la posición y orientación del elemento terminal de un manipulador a partir de sus coordenadas articulares. Es uno de los problemas fundamentales de la robótica y constituye la base para estudiar posteriormente la cinemática inversa, las velocidades y la dinámica.
En el capítulo anterior introdujimos las matrices de rotación y las transformaciones homogéneas para describir sistemas de referencia. Ahora emplearemos esas herramientas para construir modelos de manipuladores seriales. Comenzaremos con la composición directa de transformaciones y después estudiaremos la convención de Denavit–Hartenberg (DH), que facilita la asignación sistemática de sistemas.
La Figura Figure 1 ilustra la relación entre cinemática directa e inversa. La primera parte de las coordenadas articulares; la segunda busca configuraciones articulares que produzcan una pose deseada.
Figure 1:Relación entre cinemática directa e inversa.
Al finalizar el capítulo, deberías poder describir la cadena cinemática de un manipulador serial, establecer sistemas de referencia apropiados, obtener un modelo de cinemática directa y comprobar que sus resultados son coherentes con la geometría del robot.
3.1El problema de la cinemática directa¶
Consideremos un manipulador serial con articulaciones de un grado de libertad. Representamos las variables articulares mediante el vector
Una articulación revoluta (R) permite la rotación relativa entre dos eslabones alrededor de un eje; su variable es un ángulo. Una articulación prismática (P) permite la traslación relativa a lo largo de un eje; su variable es un desplazamiento lineal. Ambas poseen un grado de libertad, y los valores de las variables articulares determinan la configuración del manipulador.
También se utilizan los términos junta revoluta y junta prismática como sinónimos de articulación. En teoría de mecanismos, al describir el movimiento relativo permitido entre los eslabones, es habitual hablar de pares cinemáticos: par revoluto y par prismático. En adelante, utilizaremos preferentemente articulación revoluta y articulación prismática.
La cinemática directa busca la transformación homogénea que describe la pose del sistema terminal respecto del sistema de la base :
El bloque representa la orientación del sistema terminal y el vector representa la posición de su origen, ambos respecto de la base. Así, una transformación homogénea describe la pose, no únicamente la posición.
Aunque la cinemática directa se calcula componiendo transformaciones, la expresión obtenida depende de la geometría del manipulador y de los sistemas elegidos. Un mismo robot admite diferentes descripciones matemáticas sin que cambie su comportamiento físico.
3.1.1Espacio articular y espacio operacional¶
El espacio articular reúne las configuraciones del robot, expresadas por los valores de . Sus coordenadas no tienen por qué compartir unidades: las articulaciones revolutas se describen mediante ángulos y las prismáticas mediante distancias.
El espacio operacional representa las tareas en términos de variables asociadas a la posición y orientación del elemento terminal. Si únicamente interesa posicionar un punto, pueden bastar sus coordenadas . Si también importa la orientación, necesitamos una representación adicional, como las matrices de rotación estudiadas en el capítulo anterior.
La cinemática directa establece una correspondencia desde las configuraciones articulares hacia las poses alcanzadas:
No todas las poses son necesariamente alcanzables: la arquitectura, las dimensiones y los límites articulares restringen los movimientos posibles. Por otra parte, diferentes configuraciones pueden dar lugar a una misma pose; estudiaremos esta cuestión en el capítulo de cinemática inversa.
3.2Cadenas cinemáticas y sistemas de referencia¶
Un manipulador serial es una cadena cinemática abierta de eslabones rígidos conectados por articulaciones. Si posee articulaciones de un grado de libertad, tiene eslabones, incluida la base fija, que identificamos con el índice 0.
Numeramos las articulaciones de 1 a y los eslabones de 0 a . La articulación conecta el eslabón con el eslabón , como ilustra la Figura Figure 2.
Figure 2:Numeración de eslabones y articulaciones de una cadena serial.
Asociamos un sistema de referencia rígidamente al eslabón . Así, las coordenadas de un punto fijo al eslabón permanecen constantes cuando se expresan en su propio sistema, aunque cambien al describirlas desde la base.
Figure 3:Sistemas de referencia asociados a los eslabones.
La transformación describe la pose de respecto de . Si los sistemas se asignan de manera apropiada a los eslabones y cada articulación posee un grado de libertad, esa transformación depende de la variable correspondiente y de parámetros geométricos constantes.
Por composición, la pose del sistema terminal se obtiene mediante
El orden de los factores es esencial: las transformaciones homogéneas no conmutan en general. Los índices indican qué sistemas se relacionan y ayudan a comprobar que se está utilizando un orden compatible. Si la herramienta requiere un sistema terminal diferente, podremos añadir su transformación correspondiente.
3.3Diagramas cinemáticos de manipuladores seriales¶
Un diagrama cinemático representa de forma simplificada los eslabones y las articulaciones de un manipulador. Su propósito es mostrar la conectividad y la disposición de los ejes articulares sin reproducir todos los detalles constructivos del robot.
En estos apuntes estudiaremos principalmente manipuladores con articulaciones revolutas (R) y prismáticas (P). La Figura Figure 4 presenta símbolos para representarlas.
Figure 4:Representación de articulaciones revolutas (R) y prismáticas (P).
En una articulación revoluta espacial, el eje del cilindro dibujado indica la dirección del eje de giro. En una prismática, la dirección longitudinal del prisma indica la dirección de deslizamiento. Los eslabones se representan con segmentos de línea.
El diagrama no pretende describir fielmente la forma o el volumen de cada eslabón. Al realizar el análisis distinguimos las distancias relevantes para la cinemática de los detalles constructivos que no modifican la relación entre las articulaciones.
3.4Cinemática directa mediante transformaciones elementales¶
Antes de introducir una convención sistemática, consideremos un manipulador planar RR con dos eslabones de longitudes y . Ambos ejes de giro son paralelos al eje .
Situamos el sistema en la primera articulación, el sistema en el extremo del primer eslabón y el sistema en el extremo del segundo. Elegimos cada eje en la dirección longitudinal del eslabón correspondiente.
Para pasar de a , rotamos alrededor de y trasladamos a lo largo del eje del sistema rotado. Repetimos la construcción para el segundo eslabón:
Por composición,
De esta expresión obtenemos las coordenadas del extremo:
La orientación del sistema terminal en el plano se describe mediante una rotación alrededor de de ángulo . Más adelante reconstruiremos el modelo completo con Denavit–Hartenberg.
Este ejemplo demuestra que podemos obtener la cinemática directa sin DH si conocemos la secuencia de transformaciones elementales. En manipuladores espaciales más complejos, sin embargo, puede resultar difícil elegir sistemas y transformaciones de manera consistente.
3.4.1¿Por qué utilizar una convención sistemática?¶
La asignación de sistemas de referencia no es única. Diferentes elecciones pueden producir expresiones matriciales distintas, aunque describan el mismo movimiento físico cuando se consideran las transformaciones entre sus respectivas bases y sistemas terminales.
La convención de Denavit–Hartenberg proporciona reglas geométricas para asignar sistemas y expresar cada transformación consecutiva mediante cuatro parámetros. Así reducimos decisiones arbitrarias y seguimos un procedimiento común para diferentes robots.
Aquí utilizaremos la convención DH clásica o estándar. Existen otras formulaciones, como DH modificada, y otros enfoques, como el producto de exponenciales. Sus reglas de asignación y los órdenes de las transformaciones no deben confundirse.
3.5Convención de Denavit–Hartenberg¶
En la convención DH clásica, la pose del sistema respecto de se describe mediante cuatro parámetros: , , y . La transformación entre sistemas consecutivos se construye en este orden:
Las rotaciones y traslaciones son transformaciones homogéneas de , como se definieron en el capítulo anterior. El orden es parte de la convención y no puede alterarse arbitrariamente.
Al efectuar el producto obtenemos
Aquí y . Los parámetros describen la geometría relativa de los sistemas; uno de ellos incorpora la variable articular de la junta .
3.5.1Asignación de los sistemas de referencia¶
La matriz (9) tiene la forma anterior solo cuando los sistemas se asignan de acuerdo con la convención DH clásica. Comenzamos por identificar los ejes de las articulaciones.
1. Ejes . El eje se coloca sobre el eje de movimiento de la articulación : eje de giro para una revoluta o dirección de deslizamiento para una prismática, con .
2. Sistema base . Su origen se sitúa sobre el eje de la primera articulación. Los ejes e se eligen para completar un sistema derecho. La elección del sistema base influye en los parámetros y en la pose calculada respecto de él.
3. Sistemas intermedios. Para definir el sistema , examinamos las rectas que contienen y . En la convención DH clásica, el eje debe cumplir dos condiciones geométricas respecto de :
Ser perpendicular a .
Intersecar a .
Estas condiciones se refieren a las rectas que contienen los ejes, no a que sus orígenes deban coincidir. Para completar la construcción, se elige como una normal común a y : también es perpendicular a y lo interseca en el origen del sistema . De esta manera, la elección de es compatible con la secuencia de transformaciones de la matriz DH clásica.
La manera de trazar esa normal común depende de la disposición relativa de los ejes :
Ejes no coplanares (rectas alabeadas): los ejes no son paralelos ni se intersecan. Existe una única normal común que une ambas rectas con distancia mínima; su dirección define .
Ejes paralelos y distintos: existen múltiples normales comunes. Una elección habitual es la que pasa por el origen anterior.
Ejes que se intersecan: se elige perpendicular al plano de ambos ejes, con dirección compatible con .
Ejes coincidentes: puede elegirse perpendicular al eje común y alineado con en una configuración de referencia. Esto no implica que la alineación se mantenga durante el movimiento.
En todos los casos, se determina para completar un sistema coordenado derecho.
4. Sistema terminal . Una vez identificado el eje de la última articulación, el sistema final admite cierta libertad de elección. Es frecuente tomar paralelo a para simplificar el modelo, pero no es una obligación universal. El último sistema DH tampoco tiene que coincidir con el punto de operación de la herramienta.
Estas reglas permiten comprobar la disposición geométrica de los sistemas antes de obtener los parámetros. En particular, al revisar un diagrama DH, conviene verificar que cada eje sea perpendicular a y lo interseque.
3.5.2Parámetros de Denavit–Hartenberg¶
Una vez establecidos los sistemas, obtenemos los parámetros DH. Antes de identificarlos en un manipulador conviene visualizar dónde se miden. En la Figura Figure 5 se representa un caso general de dos ejes consecutivos no coplanares. El eje es una normal común que corta a en el punto y a en el origen .
Figure 5:Interpretación geométrica de los cuatro parámetros de Denavit–Hartenberg clásicos: y se miden a lo largo y alrededor de , respectivamente; y se miden a lo largo y alrededor de , respectivamente. Las líneas auxiliares grises y delgadas prolongan las direcciones de los ejes para identificar el punto y facilitar la interpretación geométrica.
Los parámetros son desplazamientos y ángulos con signo, medidos según el sentido positivo de los ejes elegidos:
: ángulo de rotación alrededor de desde la dirección de hacia la de . Para comparar ambas direcciones, puede trasladarse paralelamente hasta el punto .
: desplazamiento a lo largo de desde el origen hasta el punto , donde el eje interseca a .
: desplazamiento a lo largo de desde hasta el origen , donde interseca a .
: ángulo de rotación alrededor de desde la dirección de hasta la de . Para interpretarlo, puede trasladarse paralelamente hasta el origen .
En resumen, y se asocian al eje , mientras que y se asocian al eje . Esta agrupación permite recordar el orden de operaciones de la transformación . Aunque la figura muestra ejes no coplanares para distinguir las cuatro mediciones, las mismas definiciones se aplican cuando los ejes son paralelos, se intersecan o coinciden, utilizando las reglas de asignación explicadas anteriormente.
En una articulación R, el parámetro variable es y es constante. En una articulación P, el parámetro variable es y es constante. Los parámetros geométricos y son constantes en ambos casos.
Conviene distinguir el parámetro DH de la coordenada articular empleada por el controlador o el enunciado. Según el origen y el sentido elegidos para , puede ser necesario incorporar un desplazamiento constante o invertir el signo. Si los sentidos positivos coinciden, por ejemplo:
No debemos suponer que el cero articular del robot físico coincide automáticamente con el utilizado para construir su tabla DH.
Una vez determinados los parámetros de todos los sistemas, los organizamos como se muestra en la Tabla Table 1. Cada fila representa una articulación y reúne la información para construir su transformación .
Table 1:Parámetros de Denavit–Hartenberg (convención clásica).
| 1 | ||||
| 2 | ||||
La tabla contiene una fila por articulación de un grado de libertad. No describe necesariamente transformaciones adicionales entre la base DH y el sistema del mundo, ni entre el último sistema DH y el punto de operación de una herramienta.
3.5.3Construcción del modelo de cinemática directa¶
Con los sistemas de referencia asignados y una tabla de parámetros como la Tabla Table 1, sustituimos cada fila en la ecuación (9) para obtener las transformaciones consecutivas .
La pose del sistema terminal respecto de la base es el producto ordenado
Para interpretar el resultado separamos la orientación y la posición:
La matriz depende de las coordenadas articulares y de los parámetros geométricos. A continuación aplicaremos este procedimiento a manipuladores sencillos y después a un robot industrial de seis articulaciones.
3.6Ejemplos resueltos¶
Aplicaremos la convención DH clásica a manipuladores de complejidad creciente. En cada caso, el objetivo no es solo realizar el producto de matrices, sino justificar la asignación de sistemas, identificar los parámetros y comprobar la interpretación geométrica del resultado.
Ejemplo. Cinemática directa de un manipulador RR. Determine la transformación del sistema terminal del manipulador planar mostrado en la Figura Figure 6, empleando la convención DH clásica.
Figure 6:Manipulador RR: a) estructura geométrica; b) sistemas de referencia asociados.
Solución. El robot tiene dos articulaciones revolutas de ejes paralelos y eslabones de longitudes y . Colocamos sobre el eje de la primera articulación y sobre el de la segunda. Tomamos paralelo a los anteriores en el extremo del segundo eslabón. Los ejes y apuntan a lo largo de sus eslabones respectivos, como se muestra en la parte b de la Figura Figure 6.
Como los ejes son paralelos y tienen el mismo sentido, los ángulos de torsión y son nulos. Las normales comunes tienen longitudes y , de modo que y . Los orígenes elegidos están a la misma altura, por lo cual . Finalmente, al ser articulaciones revolutas, y .
| 1 | 0 | 0 | ||
| 2 | 0 | 0 |
De la ecuación (9) obtenemos:
Aquí y . Tras multiplicar las transformaciones y utilizar las identidades trigonométricas
obtenemos el modelo:
La cuarta columna proporciona la posición del extremo en la base, mientras que el bloque superior izquierdo representa una rotación de alrededor de . Este resultado coincide con el obtenido previamente mediante transformaciones elementales.
Comprobación. Para , los dos eslabones quedan alineados sobre el eje y el extremo debe estar en . Al sustituir ambos ángulos en obtenemos exactamente esa posición y una orientación igual a la de la base.
3.6.1Comprobación simbólica del manipulador RR con SymPy¶
Una vez obtenido el modelo de manera analítica, podemos utilizar SymPy para reproducir el producto de matrices y comprobar las identidades trigonométricas. El siguiente programa construye la matriz DH clásica a partir de sus cuatro parámetros, calcula y muestra la matriz obtenida para compararla con la expresión deducida anteriormente. Finalmente, añade una comprobación automática de que ambas coinciden.
El código constituye una comprobación, no un sustituto de la asignación geométrica de sistemas ni de la determinación de los parámetros. Puedes ejecutarlo en un notebook de Python para visualizar la matriz simbólica; la construcción del libro no ejecuta automáticamente estos fragmentos.
import sympy as sp
q1, q2, l1, l2 = sp.symbols("q1 q2 l1 l2", real=True)
def dh(a, alpha, d, theta):
ct, st = sp.cos(theta), sp.sin(theta)
ca, sa = sp.cos(alpha), sp.sin(alpha)
return sp.Matrix([
[ct, -st*ca, st*sa, a*ct],
[st, ct*ca, -ct*sa, a*st],
[0, sa, ca, d],
[0, 0, 0, 1],
])
T = sp.trigsimp(dh(l1, 0, 0, q1) * dh(l2, 0, 0, q2))
print("Transformación T_2^0 calculada con SymPy:")
sp.pprint(T)
T_esperada = sp.Matrix([
[sp.cos(q1 + q2), -sp.sin(q1 + q2), 0,
l1*sp.cos(q1) + l2*sp.cos(q1 + q2)],
[sp.sin(q1 + q2), sp.cos(q1 + q2), 0,
l1*sp.sin(q1) + l2*sp.sin(q1 + q2)],
[0, 0, 1, 0],
[0, 0, 0, 1],
])
assert sp.simplify(T - T_esperada) == sp.zeros(4)
print("El modelo simbólico coincide con la solución analítica.")Primero, compara visualmente la matriz mostrada con la solución analítica del ejemplo RR. La instrucción assert añade una comprobación automática: si la diferencia simplificada entre ambas matrices es nula, el programa continúa e imprime el mensaje de confirmación; si no lo es, señala que la comparación no se cumplió. La validación es simbólica y no requiere asignar valores numéricos a , , o .
Para explorar: modifica alguno de los parámetros DH e identifica qué elemento de la matriz resultante cambia y cuál es su interpretación geométrica.
Ejemplo. Cinemática directa de un manipulador espacial RRR. Determine la transformación del extremo del robot mostrado en la Figura Figure 7.
Figure 7:Manipulador espacial de tres articulaciones revolutas.
Solución. En este robot, el eje de la primera articulación es perpendicular al de la segunda, mientras que los ejes de las articulaciones segunda y tercera son paralelos. La Figura Figure 8 muestra una asignación de sistemas compatible con DH clásica.
Figure 8:Asignación de sistemas de referencia para el manipulador RRR.
Los ejes y se intersecan; de ahí que y, con la orientación mostrada, . Los ejes , y son paralelos, por lo que . Las distancias de los eslabones corresponden a y . El origen del segundo eje se encuentra a una altura constante respecto de la base.
| 1 | 0 | |||
| 2 | 0 | 0 | ||
| 3 | 0 | 0 |
Al sustituir en la matriz DH, obtenemos
Es conveniente multiplicar primero las dos últimas matrices, cuyos ejes de giro son paralelos. Si definimos y , el producto se simplifica a
Finalmente,
Interpretación. La distancia horizontal al eje de la primera articulación es ; el ángulo determina su dirección en el plano . La coordenada vertical es . Cuando , el extremo está a altura y a distancia radial , lo que permite comprobar los términos de posición del modelo.
Aunque el manipulador tiene tres articulaciones, no puede alcanzar arbitrariamente todas las orientaciones espaciales: sus movimientos y su arquitectura restringen las poses posibles.
Ejemplo. Calcule la cinemática directa del manipulador RRP mostrado en la figura.
Figure 9:Esquema de un manipulador RRP.
Solución. En este manipulador la primera y segunda articulación son no coplanares, entonces se coloca en la dirección de la normal común a a . La segunda y tercera articulación se intersecan, entonces debe colocarse perpendicular al plano formado por y . Finalmente, dado que y son colineales, entonces podemos establecer en la misma dirección que de tal manera que .
Figure 10:Manipulador RRP con los sistemas de referencia establecidos.
Para la obtención de parámetros se debe tener en cuenta que la primera y segunda articulación son revolutas, entonces y , de manera similar dado que la tercera junta es prismática entonces . A continuación, se muestra la tabla de parámetros:
| 1 | ||||
| 2 | 0 | 0 | ||
| 3 | 0 | 0 | 0 |
Sustituyendo cada fila de parámetros en la ecuación (9):
Finalmente, calculamos :
Ejemplo. Cinemática directa de un robot industrial ABB IRB 140. Construyamos un modelo geométrico de seis articulaciones revolutas a partir de las dimensiones y los ejes articulares del manipulador.

Figure 11:Dimensiones del robot ABB IRB 140 utilizadas en el modelo.
Solución. Para modelar un robot industrial, necesitamos identificar las direcciones de sus ejes articulares y las distancias entre ellos, no todos los detalles constructivos de sus eslabones. La Figura Figure 11 contiene dimensiones de referencia; se puede consultar también la documentación técnica empleada para el ejemplo.
En la Figura Figure 12 se presenta el diagrama cinemático con una asignación DH clásica. Al recorrer los ejes:
y son no coplanares; se coloca sobre su normal común.
y son paralelos; su normal común define .
y , y , y y se intersecan; se eligen los ejes , y perpendiculares a los planos correspondientes.
y son coincidentes. Elegimos coincidente con en la configuración articular de referencia; durante el movimiento relativo, el ángulo entre ambos varía con .
Figure 12:Diagrama cinemático y sistemas de referencia del ABB IRB 140.
Para los sistemas representados, los parámetros se reúnen en la Tabla Table 2. Suponemos que las variables coinciden con los ángulos DH de este modelo, sin introducir compensaciones adicionales para los ceros articulares.
Table 2:Parámetros DH del ABB IRB 140. Longitudes en milímetros; ángulos en grados.
| 1 | 70 | 352 | ||
| 2 | 360 | 0 | 0 | |
| 3 | 0 | 0 | ||
| 4 | 0 | 380 | ||
| 5 | 0 | 0 | ||
| 6 | 0 | 0 | 65 |
Como ilustración, al sustituir las filas primera y cuarta en la ecuación (9) obtenemos
Las otras cuatro transformaciones se calculan del mismo modo. El modelo completo es
El desarrollo simbólico de sus doce entradas no constantes es extenso y poco ilustrativo. En cambio, para interpretar el resultado, evaluemos una configuración concreta del modelo:
Al sustituir estos valores en las seis transformaciones y multiplicarlas se obtiene
Por tanto, en esta configuración el origen del sistema se encuentra en mm respecto de la base. Las tres primeras columnas describen su orientación: el eje apunta según , el eje según y el eje según . La altura 712 mm incluye , mientras que la componente horizontal 515 mm proviene de con los signos y sentidos definidos por los sistemas del modelo.
Esta evaluación comprueba una configuración del modelo DH adoptado, sin afirmar que sea necesariamente una posición de operación permitida por los límites articulares reales. Para relacionarlo con los valores de un controlador industrial habrá que comprobar sus convenciones de cero y sentido positivo.
3.6.2Evaluación numérica de un robot industrial con NumPy¶
Para un manipulador de seis articulaciones, resulta más práctico evaluar las transformaciones numéricamente que desarrollar todas las entradas del producto simbólico. En el siguiente ejemplo utilizamos NumPy y los parámetros DH del ABB IRB 140 definidos anteriormente.
La tabla del ejemplo expresa los ángulos en grados, mientras que las funciones trigonométricas de NumPy utilizan radianes. Por eso realizamos la conversión explícitamente. Conservamos las distancias en milímetros y multiplicamos las transformaciones en el mismo orden que la cadena cinemática.
import numpy as np
def dh(a, alpha, d, theta):
ct, st = np.cos(theta), np.sin(theta)
ca, sa = np.cos(alpha), np.sin(alpha)
return np.array([
[ct, -st*ca, st*sa, a*ct],
[st, ct*ca, -ct*sa, a*st],
[0, sa, ca, d],
[0, 0, 0, 1],
], dtype=float)
# (a_i en mm, alpha_i en grados, d_i en mm)
parametros = [
(70, 90, 352),
(360, 0, 0),
(0, 90, 0),
(0, -90, 380),
(0, 90, 0),
(0, 0, 65),
]
q = np.deg2rad([0, 90, 0, 0, 0, 0])
T = np.eye(4)
for (a, alpha_grados, d), theta in zip(parametros, q):
T = T @ dh(a, np.deg2rad(alpha_grados), d, theta)
np.set_printoptions(precision=3, suppress=True)
print("Transformación T_6^0 calculada con NumPy (posición en mm):")
print(T)
T_esperada = np.array([
[0, 0, 1, 515],
[0, -1, 0, 0],
[1, 0, 0, 712],
[0, 0, 0, 1],
])
np.testing.assert_allclose(T, T_esperada, atol=1e-10)
np.testing.assert_allclose(T[:3, :3].T @ T[:3, :3], np.eye(3), atol=1e-10)
np.testing.assert_allclose(np.linalg.det(T[:3, :3]), 1.0, atol=1e-10)
print("Las comprobaciones numéricas se cumplieron.")Al ejecutar el código, la matriz impresa permite comparar visualmente el resultado con el obtenido en el ejemplo: la posición del extremo es mm. El resultado esperado, omitiendo residuos numéricos cercanos a cero, es
[[ 0. 0. 1. 515.]
[ 0. -1. 0. 0.]
[ 1. 0. 0. 712.]
[ 0. 0. 0. 1.]]Algunas entradas podrían aparecer como -0. por efectos del redondeo en punto flotante; se interpretan como cero. Las instrucciones np.testing.assert_allclose realizan además comprobaciones automáticas con una tolerancia pequeña, necesaria por el redondeo numérico. Las dos últimas verifican que el bloque de orientación es ortogonal y tiene determinante unitario. Si alguna comparación falla, el programa indica el error; si todas se cumplen, aparece el mensaje de confirmación.
Este programa utiliza exclusivamente NumPy y no depende de una biblioteca especializada de robótica. Más adelante podremos utilizar herramientas de mayor nivel para modelar y visualizar manipuladores sin repetir todo el cálculo matricial.
3.7Interpretación y comprobación de resultados¶
Obtener el producto de matrices es solo una parte del análisis. También necesitamos comprobar que el modelo representa la geometría y las convenciones que hemos adoptado.
Una primera comprobación consiste en evaluar una configuración conocida —por ejemplo, con algunas articulaciones en cero— y comparar la pose calculada con la que se espera del diagrama cinemático. Las longitudes y desplazamientos deben expresarse en unidades compatibles.
Si extraemos la submatriz de orientación de una transformación homogénea válida, debe cumplirse
La última fila de la transformación debe ser . En cálculos numéricos pueden aparecer pequeñas diferencias por redondeo; las discrepancias considerables suelen indicar errores en el orden de composición, los signos de los ángulos o la tabla de parámetros.
El sistema no tiene por qué coincidir con el punto central de herramienta (Tool Center Point, TCP). Si conocemos una transformación fija desde el último sistema DH hasta la herramienta, podemos obtener
En aplicaciones computacionales posteriores podremos utilizar Python para evaluar estas expresiones y contrastar los resultados simbólicos, numéricos y geométricos.
3.7.1Guía para construir y revisar un modelo DH¶
En un problema nuevo, conviene seguir una secuencia de trabajo definida:
Identificar las articulaciones y numerarlas desde la base, señalando sus ejes de movimiento y variables .
Asignar los sistemas de referencia según las reglas de DH clásica, comprobando las condiciones geométricas de los ejes y .
Obtener los cuatro parámetros de cada articulación e indicar los desplazamientos constantes, los sentidos positivos y las unidades.
Construir cada transformación y multiplicarlas en el orden de la cadena para obtener .
Interpretar y comprobar la posición y orientación resultantes en al menos una configuración cuya geometría se comprenda fácilmente.
Este procedimiento no determina una única tabla DH para un robot: la asignación de sistemas y los ceros articulares pueden variar. Lo importante es que la tabla, las transformaciones y el significado de las variables sean coherentes entre sí.
3.8Problemas¶
Las actividades siguientes están organizadas por complejidad. En los ejercicios de modelado, justifica la asignación de los sistemas de referencia y documenta los parámetros y las unidades empleados. Salvo indicación contraria, utiliza la convención DH clásica estudiada en este capítulo.
En los problemas que requieran la transformación completa, presenta por separado el bloque de orientación y el vector de posición, e incluye al menos una comprobación geométrica sencilla.
3.8.1Interpretación de transformaciones¶
Antes de construir modelos más elaborados, revisa qué características geométricas deben cumplir los sistemas de referencia para que una transformación tenga la forma DH clásica.
En la Figure 13 se muestran tres sistemas de referencia , y . De las transformaciones , y , ¿cuáles pueden describirse directamente mediante los cuatro parámetros de una transformación DH clásica con los sistemas de la figura? Justifica tu respuesta comprobando las restricciones geométricas que debe cumplir el eje .
Figure 13:Sistemas de referencia para analizar la compatibilidad con la convención DH clásica.
3.8.2Modelado de manipuladores¶
En los siguientes problemas pasarás de un diagrama cinemático a una tabla DH y a la transformación del extremo. Comprueba tanto la asignación de los ejes como la coherencia de los resultados.
En la Figure 14 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 y calcule la matriz que describe la posición y orientación del extremo del manipulador con respecto a la base.
Figure 14:Manipulador RPP para la asignación de sistemas DH.
Dado el manipulador mostrado en la Figure 15 y los sistemas de referencia esquematizados, determine la posición del extremo manipulador si , y . Considera y . Interpreta los sentidos de las variables según los sistemas esquematizados.
Figure 15:Manipulador RRP
En la Figure 16 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 (,,,).
Forme las matrices de transformación
Calcule la matriz de transformación .
Figure 16:Manipulador RRRR
Considere un manipulador SCARA con dos articulaciones revolutas de ejes verticales que proporcionan el posicionamiento horizontal, una articulación prismática que permite el desplazamiento vertical y una cuarta articulación revoluta, coaxial con la prismática, que modifica la orientación de la herramienta alrededor del eje vertical. Calcule la cinemática directa.
Figure 17:Esquema de la morfología SCARA. Considere también la articulación revoluta terminal de la muñeca para completar la cadena RRPR.
3.8.3Práctica adicional con manipuladores espaciales¶
Para cada manipulador de las figuras siguientes, construye una tabla DH clásica y obtén su modelo de cinemática directa. Puedes verificar los resultados calculando una configuración articular de referencia.
Los esquemas representan configuraciones diferentes; no supongas que una tabla de parámetros puede reutilizarse sin revisar la orientación y posición de los ejes articulares.
Para el manipulador mostrado en la Figure 18 establezca una tabla DH y calcule la transformación homogénea del sistema terminal respecto de la base.
Figure 18:Manipulador RRR
Para el manipulador mostrado en la Figure 19 establezca una tabla DH y calcule la transformación homogénea del sistema terminal respecto de la base.
Figure 19:Manipulador RRR
Para el manipulador mostrado en la Figure 20 establezca una tabla DH y calcule la transformación homogénea del sistema terminal respecto de la base.
Figure 20:Manipulador RRR
Para el manipulador mostrado en la Figure 21 establezca una tabla DH y calcule la transformación homogénea del sistema terminal respecto de la base.
Figure 21:Manipulador RRR
Para el manipulador mostrado en la Figure 22 establezca una tabla DH y calcule la transformación homogénea del sistema terminal respecto de la base.
Figure 22:Manipulador RRR
3.8.4Aplicaciones a robots industriales¶
Para cada uno de los siguientes robots, utilizando la documentación dimensional enlazada:
Dibuja un diagrama cinemático que identifique sus articulaciones y ejes de movimiento.
Asigna sistemas de referencia conforme a la convención DH clásica y justifica las elecciones para ejes paralelos o que se intersecan.
Construye la tabla de parámetros DH, indicando unidades y cualquier desplazamiento entre las coordenadas articulares y los parámetros de la tabla.
Escribe el producto de transformaciones que determina la pose del sistema terminal respecto de la base y comprueba al menos una configuración conocida.
Nota: las dimensiones de una ficha técnica no siempre especifican todos los parámetros necesarios para reproducir los ceros articulares del controlador. Si debes adoptar una convención adicional, documéntala explícitamente.
3.9Actividades computacionales¶
Estas actividades utilizan Python para evaluar, comprobar y visualizar modelos cinemáticos. Puedes trabajar con NumPy, SymPy y Matplotlib, según el tipo de problema; no es necesario utilizar una biblioteca especializada de robótica.
Presenta el código y explica las entradas, las unidades, las convenciones de signos y los resultados. Como mínimo, verifica una configuración conocida y comprueba la validez de la matriz de orientación obtenida cuando corresponda.
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 transformación homogénea completa del sistema terminal respecto de la base. Incluye una prueba con un manipulador RR y valida que la submatriz de orientación sea ortogonal y tenga determinante igual a uno.
Se tiene un manipulador RR como el mostrado en la figura Figure 23. Si se sabe que los valores de las coordenadas articulares están dados por: y , y que sus dimensiones son mm. Desarrolle un programa que calcule y trace, utilizando Matplotlib, la trayectoria descrita por el extremo del manipulador para . Considere que y están expresados en radianes y que es un parámetro adimensional.
Figure 23: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. Usa los parámetros del ejemplo resuelto, convierte los ángulos a radianes para evaluar las funciones trigonométricas y compara la configuración con el resultado mostrado anteriormente.
Desarrolle un programa de computadora que dados como entrada los valores articulares y , del manipulador mostrado en la figura Figure 24, calcule la posición del extremo del manipulador. El programa deberá también esquematizar la posición del manipulador.
Figure 24:Manipulador PP