Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Este artículo, pretende dar una explicación simple del cómo obtener las matrices
homogéneas usadas en tratamiento matemático de manipuladores robóticos. Esto responde a que
me he dado cuenta que en la mayoría de textos, tesis y publicaciones de robótica que he leído se
abocan al uso de esta herramienta sin dar mayor detalle acerca de su origen.
Me parece bien que los autores de dichas publicaciones den por sabido el origen de las
matrices homogénea ya que sus objetivos son resolver un problema de índole robótica. Sin
embargo, pienso que el entender, de forma gráfica, como se originan las matrices de
transformación homogénea facilitará al lector el entender el problema de cinemática directa e
inversa.
Las rotaciones que sufre el sistema X’Y’Z’ definen su orientación en el espacio, para ello
usaremos un conjunto de ángulos de Euler de la siguiente forma:
Rotación yaw, ψ
Consideremos como primera rotación un giro alrededor del eje z, para ello definiré ψ como
positivo en sentido anti-horario cuando el eje z sale de la pantalla.
Y
Y
ψ
X
C B
·
· D
ψ
X
0
Las líneas punteadas negras y rojas forman un ángulo de 90º con el eje que intersectan, dado esto
y al notar que el ángulo denotado por un punto en la figura, al ser opuesto por el vértice, puede
trasladarse al triangulo superior. Es fácil ver que en ángulo superior del triángulo DPB debe ser
igual al ángulo de rotación ψ.
Cálculos
𝑿 = ̅̅̅̅ ̅̅̅̅
𝑂𝐴 − 𝐵𝐶 𝐘 = ̅̅̅̅
AB + ̅PC̅̅̅ 𝒁 = 𝒁′
𝑿 = 𝑿′ cos 𝛙 − 𝒀′ sin 𝛙 𝒀 = 𝑿′ sin 𝛙 + 𝒀′ cos 𝛙
Ordenando
𝒁 = 0𝑿′ + 0𝒀′ + 𝒁′
𝑿 cos 𝛙 − sin 𝛙 0 𝑿′
[𝒀 ] = [ sin 𝛙 cos 𝛙 0] [ 𝒀′ ]
𝒁 0 0 1 𝒁′
Sergio Merino Caro 31-10-2018, Concepción
Ingeniero Civil Electrónico
El análisis y las matemáticas involucradas en la rotación alrededor del eje X y eje Y son
completamente análogas al aplicado previamente, no obstante desarrollaré dichos cálculos para
mostrar algunas observaciones y señalar algunos detalles en los que se debe tener cuidado al
realizar la deducción de la correspondiente matriz homogénea.
Rotación pitch, θ
Esta rotación considera un giro alrededor del eje Y. Definiendo el ángulo θ como positivo
en sentido anti-horario cuando el eje Y sale de la pantalla. En este punto usted debe tener cuidado
de posicionar los ejes del sistema XYZ de forma correcta y congruente con la referencia usada en
el apartado anterior.
Si usted decidiera escribir en la horizontal el eje X y en la vertical el eje Z, estaría diciendo
de forma implícita que el eje Y ingresa a la pantalla. Hacer el análisis sin notar este detalle es
posible, sin embargo, provoca un cambio en la definición de ángulo positivo y con ello los senos
presentes en la matriz homogénea invierten sus signos.
Cambiar la definición de ángulo positivo quiere decir que ahora al mirar el plano XZ con el
eje Y saliendo desde la pantalla entenderemos que el ángulo aumenta cuando el plano rote en
sentido horario y no en sentido anti-horario tal cual fue definido.
X
X
ϴ
Z
C B
·
· D
ϴ
Z
0
A continuación se realiza la deducción matemática de la matriz homogénea con los ejes como se
muestra en la figura (Y apunta hacia afuera de la pantalla), en el apartado observación 1 usted
podrá ver qué sucede al escribir los ejes Z e X de forma errónea.
Sergio Merino Caro 31-10-2018, Concepción
Ingeniero Civil Electrónico
Cálculos
𝑿 = ̅̅̅̅
AB + ̅̅̅
PC 𝐘 = 𝐘′ 𝒁 = ̅̅̅̅ ̅̅̅̅ 𝒁 =
𝑂𝐴 − 𝐵𝐶
𝑿 = 𝑿′ cos 𝛉 + 𝒁′ sin 𝜽 −𝑿′ sin 𝛉 + 𝒁′ cos 𝛉
Ordenando
𝒀 = 0𝑿′ + 𝒀′ + 0𝒁′
𝑿 cos 𝜽 0 sin 𝜽 𝑿′
[𝒀 ] = [ 0 1 0 ] [ 𝒀′ ]
𝒁 − sin 𝜽 0 cos 𝛉 𝒁′
Rotación roll, ϕ
Esta rotación hace girar el sistema de coordenadas X’Y’Z’ en torno al eje x del
sistema XYZ, para ello definimos el ángulo ϕ como positivo en sentido cuando la rotación se
hace en sentido anti-horario mirando al eje X de frente (eje X saliendo de la pantalla). A
continuación se detalla el gráfico y los cálculos realizados para la obtención de la matriz
homogénea.
Z
Z
ϕ
Y
C B
·
·
ϕ
Y
0
Sergio Merino Caro 31-10-2018, Concepción
Ingeniero Civil Electrónico
Cálculos
𝑿 = 𝑿′ 𝐘 = ̅̅̅̅
𝑂𝐴 − 𝐵𝐶̅̅̅̅ 𝒁 = ̅̅̅̅
AB + ̅̅̅
PC 𝒁 =
𝒀 = 𝒀′ cos 𝛗 − 𝒁′ sin 𝝋 𝒀′ sin 𝛗 + 𝒁′ cos 𝛗
Ordenando
𝑿 = 𝑿′ + 0𝒀′ + 0𝒁′
𝑿 1 0 0 𝑿′
[𝒀 ] = [0 cos 𝛗 −sin 𝛗] [ 𝒀′ ]
𝒁 0 sin 𝛗 cos 𝛗 𝒁′
Conclusiones:
𝑿 𝑥𝑥 𝑥𝑦 𝑥𝑧 𝑿′
[𝒀 ] = [𝑦𝑥 𝑦𝑦 𝑦𝑧 ] [ 𝒀′ ]
𝒁 𝑧𝑥 𝑧𝑦 𝑧𝑧 𝒁′
𝑿 1 0 0 𝑿′
[𝒀 ] = [0 𝑦𝑦 𝑦𝑧] [ 𝒀′ ]
𝒁 0 𝑧𝑦 𝑧𝑧 𝒁′
En los espacios restantes escribimos de forma alternada y siempre de izquierda a derecha coseno
y seno del ángulo de rotación
𝑿 1 0 0 𝑿′
[𝒀 ] = [0 cos(𝑎𝑛𝑔𝑢𝑙𝑜) 𝑠𝑒𝑛𝑜(𝑎𝑛𝑔𝑢𝑙𝑜)] [ 𝒀′ ]
𝒁 0 𝑠𝑒𝑛𝑜(𝑎𝑛𝑔𝑢𝑙𝑜) cos(𝑎𝑛𝑔𝑢𝑙𝑜) 𝒁′
El seno con signo negativo se encuentra en las coordenadas del plano que se está rotando,
leyendo dichas coordenadas en el sentido de giro. Es así como: si el giro positivo se entiende en
Sergio Merino Caro 31-10-2018, Concepción
Ingeniero Civil Electrónico
sentido anti-horario las coordenadas del plano serán yz. Sin embargo, si el sentido positivo de giro
se entiende en sentido horario, entonces el seno con signo negativo estará en las coordenadas yz.
Rotación anti-hoaria
𝑿 1 0 0 𝑿′
[𝒀 ] = [ 0 cos(𝑎𝑛𝑔𝑢𝑙𝑜) −𝑠𝑒𝑛𝑜(𝑎𝑛𝑔𝑢𝑙𝑜)] [ 𝒀′ ]
𝒁 0 𝑠𝑒𝑛𝑜(𝑎𝑛𝑔𝑢𝑙𝑜) cos(𝑎𝑛𝑔𝑢𝑙𝑜) 𝒁′
La comprobación del sentido horario de giro requiere un poco más de cálculos ya que se
debe obtener la inversa de la matriz de coeficiente (Matriz homogénea). Esto se debe desarrolla
en el apartado observación 2.
Observación 1: Ejes x,z en orden incorrecto es equivalente a decir que el sentido de giro
positivo será en dirección horaria. El siguiente gráfico muestra esta condición, en él el eje Y apunta
al interior de la pantalla.
Z
Z
ϴ
X
C B
·
· D
ϴ
X
0
Sergio Merino Caro 31-10-2018, Concepción
Ingeniero Civil Electrónico
Cálculos
𝑿 = ̅̅̅̅ ̅̅̅̅
𝑂𝐴 − 𝐵𝐶 𝐘 = 𝐘′ 𝒁 = ̅̅̅̅
AB + ̅̅̅
PC 𝒁 =
𝑿 = 𝑿′ cos 𝛉 − 𝒁′ sin 𝜽 𝑿′ sin 𝛉 + 𝒁′ cos 𝛉
Ordenando
𝒀 = 0𝑿′ + 𝒀′ + 0𝒁′
𝑿 cos 𝜽 0 − sin 𝜽 𝑿′
[𝒀 ] = [ 0 1 0 ] [ 𝒀′ ]
𝒁 sin 𝜽 0 cos 𝛉 𝒁′
Z
Z
C
D
ϕ Y
0 B
Y
Sergio Merino Caro 31-10-2018, Concepción
Ingeniero Civil Electrónico
Cálculos
𝑿′ = 𝑿 (1)
𝐘′ = ̅̅̅̅ ̅̅̅̅
𝑂𝐴 − 𝐵𝐶
𝒀′ = 𝒀 cos 𝛗 − 𝒁 sin 𝝋 (2)
̅̅̅ + AB
𝒁′ = PC ̅̅̅̅
𝒁′ = 𝒀 sen 𝛗 + 𝒁 cos 𝛗 (3)
De (2) despejar Y
𝒀′ 𝑠𝑒𝑛 𝝋
+𝒁 =𝒀
𝑐𝑜𝑠𝝋 𝑐𝑜𝑠𝝋
Reemplazar Y en (3)
𝒀′ 𝑠𝑒𝑛2 𝝋
𝒁′ = sen 𝛗 + 𝒁 ( + cos 𝛗)
𝑐𝑜𝑠𝝋 𝑐𝑜𝑠𝝋
sen 𝛗 ′ 𝒁
𝒁′ − 𝒀 =
𝑐𝑜𝑠𝝋 𝑐𝑜𝑠𝝋
𝒀′ 𝑠𝑒𝑛2 𝝋
+ 𝒁′𝑠𝑒𝑛 𝝋 − 𝒀′ = 𝒀
𝑐𝑜𝑠𝝋 𝑐𝑜𝑠𝝋
𝒀′
𝒀 = 𝒁′ 𝑠𝑒𝑛 𝝋 + (1 − 𝑠𝑒𝑛2 𝝋)
𝑐𝑜𝑠𝝋
𝑿 = 𝑿′ + 0𝒀′ + 0𝒁′
𝑿 1 0 0 𝑿′
[𝒀 ] = [0 cos 𝛗 sin 𝛗 ] [ 𝒀′ ]
𝒁 0 −sin 𝛗 cos 𝛗 𝒁′