Está en la página 1de 53

UNIVERSIDAD POLITÉCNICA DE SINALOA

PROGRAMA ACADÉMICO DE INGENIERÍA MECATRÓNICA


CINEMÁTICA DE ROBOTS

CINEMATICA DE ROBOTS

AUTOR:

M.C. RAFAEL ANGEL NARCIO LAVEAGA

Mazatlán, Sinaloa. Septiembre de 2020


ÍNDICE

I. Introducción a cinemática de robots 1


1.1. Conceptos y nomenclatura . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Objetivos de la robótica industrial . . . . . . . . . . . . . . . . . . . . . . 6
1.3. Clasificación de mecanismos y cadenas cinemáticas . . . . . . . . . . . . . 6
1.3.1. Elementos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.1.1. Número de conexiones . . . . . . . . . . . . . . . . . . 6
1.3.1.2. Movimiento mecánico . . . . . . . . . . . . . . . . . . . 6
1.3.2. Pares cinemáticos . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.2.1. Número de elementos . . . . . . . . . . . . . . . . . . . 7
1.3.3. Número de grados de libertad que permitan . . . . . . . . . . . . . 7
1.3.4. Cadenas cinemáticas . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.4.1. Movilidad . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.5. Mecanismos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.5.1. Grados de libertad . . . . . . . . . . . . . . . . . . . . . 8
1.3.5.2. Estructura . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.6. Robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.6.1. Robots manipuladores o industriales . . . . . . . . . . . 8
1.3.6.2. Robots móviles . . . . . . . . . . . . . . . . . . . . . . 11
1.4. Repaso de sistemas de coordenadas . . . . . . . . . . . . . . . . . . . . . 11
1.4.1. Notación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.2. Sistemas de coordenadas . . . . . . . . . . . . . . . . . . . . . . . 12
1.4.2.1. Coordenadas cartesianas . . . . . . . . . . . . . . . . . . 12
1.4.2.2. Coordenadas polares . . . . . . . . . . . . . . . . . . . . 12

I
ÍNDICE II

1.4.2.3. Coordenadas Cilíndricas . . . . . . . . . . . . . . . . . . 13


1.4.2.4. Coordenadas esféricas . . . . . . . . . . . . . . . . . . . 14
1.5. Repaso de operaciones vectoriales y matriciales . . . . . . . . . . . . . . . 15
1.5.1. Axiomas de los números reales . . . . . . . . . . . . . . . . . . . . 15
1.5.2. Operaciones vectoriales . . . . . . . . . . . . . . . . . . . . . . . 17
1.5.2.1. Suma y resta de vectores . . . . . . . . . . . . . . . . . 17
1.5.2.2. Producto punto o escalar . . . . . . . . . . . . . . . . . 17
1.5.2.3. Producto cruz o vectorial . . . . . . . . . . . . . . . . . 18
1.5.3. Operaciones con matrices . . . . . . . . . . . . . . . . . . . . . . 19
1.5.3.1. Sumas y restas de matrices . . . . . . . . . . . . . . . . 19
1.5.3.2. Multiplicación de matrices . . . . . . . . . . . . . . . . 19
1.5.3.3. Matriz transpuesta . . . . . . . . . . . . . . . . . . . . . 20
1.5.3.4. Matriz inversa . . . . . . . . . . . . . . . . . . . . . . . 21
1.6. Propiedades de las matrices . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.6.1. Propiedades de las matrices de rotación . . . . . . . . . . . . . . . 21
1.6.1.1. Ejemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.6.1.2. Ejemplo 2 . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.6.2. Propiedades de las matrices homogéneas . . . . . . . . . . . . . . 27
1.6.2.1. Ejemplo matriz inversa . . . . . . . . . . . . . . . . . . 29
1.6.2.2. Ejemplo: Problema 2.15 c) Lynch . . . . . . . . . . . . . 32
1.6.2.3. Ejemplo 1: Mecanismo con 1 grado de libertad . . . . . . 33

II. Cinemática Directa 36


2.1. Cinemática Directa con marcos de referencia arbitrarios . . . . . . . . . . . 36
2.2. Cinemática Directa con Denavit - Hartenberg . . . . . . . . . . . . . . . . 39

III.Cinemática Inversa y Cinemática Diferencial 43


3.1. Cinemática inversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.1.1. Ejemplo: Cinemática inversa del robot RR . . . . . . . . . . . . . . 43
Índice de figuras

1.1. Representaciones de los tipos de juntas. . . . . . . . . . . . . . . . . . . . 3


1.2. Configuraciones comunes de los robots articulados . . . . . . . . . . . . . 9
1.3. Configuración del robot SCARA . . . . . . . . . . . . . . . . . . . . . . . 9
1.4. Configuración del robot Cartesiano . . . . . . . . . . . . . . . . . . . . . . 10
1.5. Configuración del robot Cilíndrico . . . . . . . . . . . . . . . . . . . . . . 10
1.6. Diagrama del robot esférico . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.7. Robot Delta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.8. Coordenadas cartesianas . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.9. Coordenadas Polares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.10. Coordenadas Cilíndricas . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.11. Coordenadas esféricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.12. Rotación de un marco de referencia . . . . . . . . . . . . . . . . . . . . . 26
1.13. Rotación un sistema de coordenadas . . . . . . . . . . . . . . . . . . . . . 28

2.1. Robot de 2 grados de libertad en configuración RR . . . . . . . . . . . . . 36


2.2. Ángulos α y θ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3.1. Robot de 2 grados de libertad en configuración RR definiendo el ángulo


gamma. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

III
Índice de tablas

2.1. Parámetros de Denavit - Hartenberg para un robot RR . . . . . . . . . . . . 41

IV
Capítulo I

Introducción a cinemática de
robots

Previo a dar inicio al contenido de la materia de Cinemática de Robots es necesario tener


en claro lo aprendido en las materias pasadas como cinemática de mecanismos, además de
familiarizarnos con algunos conceptos nuevos.
En esta materia el alumno aprenderá a calcular la cinemática directa de un robot, la
cinemática inversa, y su cinemática diferencial. Además de modelar el robot haciendo uso
de interfaces gráficas de usuario.

1.1. Conceptos y nomenclatura


Robot: Un robot “es un ente físico inteligente que puede realizar acciones que tienen
efectos en el mundo real”. [1].

Robot manipulador: Es aquel robot que es capaz de manipular su entorno, estando


conectado de forma serial, y estando fijo a una base, son la forma más importante de
robot industrial [2] llegándose a utilizar ambos términos como sinónimos.

Robot móvil: Es aquel robot que es capaz de desplazarse a través de un medio, no


esta fijo. Por ejemplo, los robots de búsqueda y rescate.

Espacio de trabajo: Es el volumen de espacio que puede ser alcanzado por el efector
final o herramienta del robot manipulador. [2].

1
CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 2

Espacio de trabajo diestro: Es el volumen de espacio que puede ser alcanzado por
el efector final o herramienta del robot manipulador utilizando todas las orientaciones
posibles. [2].

Espacio de trabajo alcanzable: Es el volumen de espacio que puede ser alcanzado


por el efector final o herramienta del robot manipulador en al menos una orientación.
[2].

Máquina: Combinación de cuerpos dispuestos de tal forma que producen un trabajo.


Actualmente el concepto de máquina connota la capacidad para transmitir niveles de
fuerza/momento considerables como ocurre, por ejemplo, con el motor de un auto-
móvil [3].

Mecanismo: Combinación de cuerpos dispuestos de tal forma que producen un tra-


bajo. Con capacidad para transmitir únicamente niveles de fuerza/momento bajos,
siendo la principal función del dispositivo el transmitir o modificar el movimiento,
como por ejemplo en un reloj [3].

Elemento: Componente de un mecanismo. En un mecanismo todos los elementos


presentan movilidad, excepto uno [3].

Elemento fijo: Elemento de un mecanismo que no presenta movilidad [3].

Cinemática Directa:

1. La cinemática directa se refiera al problema de encontrar la posición y orienta-


ción del marco de referencia del actuador final dadas las configuraciones de las
juntas. [4].

2. La problemática de la cinemática directa concierne la relación entre las juntas


individuales, y la posición y orientación de su actuador final [5].

Cadena Cinemática: Se denomina cadena cinemática a un conjunto de elementos


móviles unidos mediante pares cinemáticos. Por definición, en una cadena cinemática
no existe elemento fijo. La cadena cinemática es una generalización del concepto
CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 3

de mecanismo, de manera que un mecanismo se puede definir como una cadena


cinemática en la que uno cualquiera de sus elementos se ha hecho fijo. Las cadenas
cinemáticas pueden ser abiertas o cerradas [3].

Articulaciones: Son los eslabones que conforman el mecanismo.

Juntas: Son los puntos de unión entre las articulaciones del mecanismo, suelen per-
mitir movimientos sea rotacionales (juntas de revoluta) o traslacionales (juntas pris-
máticas), siendo representadas como se muestra en la imagen 1.1.

Figura 1.1: Representaciones de los tipos de juntas. Imagen recuperada de [5]

Par cinemático: Unión entre dos elementos de un mecanismo que permite algunos
movimientos relativos entre los elementos e impide otros [3].

Movilidad: Número de parámetros que es necesario utilizar para definir completa-


mente su posición en una cadena cinemática [3].

Grado de libertad: Número de parámetros que es necesario utilizar para definir


completamente su posición en un mecanismo [3].

Inversiones: Se denominan inversiones a a cada uno de los mecanismos que se pue-


den obtener a partir de la misma cadena cinemática [3].

Número de inversiones: Cantidad de mecanismos estructuralmente diferentes que


se pueden obtener a partir de la misma cadena cinemática [3].
CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 4

Marco de referencia: Es un sistema de coordenadas con un origen fijado en un


punto. Usualmente se le representa con flechas, siendo estas una representación de los
ejes del mismo, saliendo de un punto, siendo este el origen del marco de referencia.

Marco de referencia inercial: En robótica también llamado marco de referencia


del mundo ("World Frame") o marco de referencia de base ("Base Frame"). Es un
marco de referencia fijo, todos los demás objetos y marcos de referencia del sistema
se mueven respecto a él. Usualmente se coloca en la base o en una parte inerte del
robot.

Vector de posición: Es un vector que contiene la información de la posición de


un marco de referencia respecto a otro, estando este en un sistema de coordenadas
arbitrario.

Matriz cuadrada: Una matriz de n filas y n columnas.

Matriz transpuesta: Dada una matriz A de n × m elementos, su transpuesta AT es


una matriz de m × n, rotando la matriz original A de tal forma que las filas pasan a
ser columnas y viceversa.

Matriz inversa: Dada una matriz A de n × n elementos, si esta es multiplicada por


su matriz inversa A−1 , el resultado da una matriz identidad I de n × n.

Matriz ortogonal: Matriz A tal que su matriz inversa A−1 es igual a su matriz trans-
puesta AT . Quedando A−1 = AT .

Matriz de rotación: Son matrices que representan la rotación de un marco de re-


ferencia respecto a otro. Estas matrices pertenecen al grupo SO3 (R ∈ SO3, SO :
Especial Ortogonal, 3 por representar un objeto tridimensional), o grupo de rotación,
tienen la propiedad, de que, al multiplicarse con otra matriz del mismo grupo, el
resultado sigue siendo una matriz del grupo SO3. Es decir, que al multiplicar dos
matrices de rotación siempre se obtiene una matriz de rotación. Estas matrices repre-
sentan la rotación de un marco de referencia respecto a otro [4].
CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 5

Matriz homogénea o Transformada homogénea: Son matrices que nos dan tanto
la información de la orientación de un objeto, como la posición del mismo. Perte-
necen al grupo SE3 (Especial Euclideano tridimensional), siendo matrices de 4 × 4
constituidas como se muestra en la ecuación 1.1:
 
r r r p
   11 12 13 1 
 
R P r21 r22 r23 p2 
T = =


 (1.1)
0 1 r r r p 
 31 32 33 3 

0 0 0 1

Dónde R es una matriz de rotación, y P es un vector de posición.

Transformada homogénea local: Transformada homogénea del marco de referen-


cia de una junta i visto desde el marco de referencia una junta i − 1 en la cadena
cinemática.

Transformada homogénea global: Transformada homogénea del marco de referen-


cia de una junta i visto desde el marco de referencia inercial (desde el origen).

Una vez definidos estos conceptos, es importante establecer una nomenclatura para
referirse a cada uno de ellos. Utilizando en este documento la siguiente nomenclatura:

1. R = Matriz de rotación.

2. T = H = Matriz Homogénea o transformada Homogénea.

3. ~P = P = Vector de posición

~ = O = Vector de posición del origen del marco de referencia incercial.


4. O

5. Pji = Vector de posición del marco de referencia j visto desde i.

6. Rij = Matriz de rotación del marco de referencia j visto desde i.

7. T ji = Transformada homogénea del marco de referencia j visto desde i.

8. Ai = Ai−1
i = Transformada homogénea local del marco de referencia i visto desde
i − 1.
CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 6

9. Hi = Hi0 = Transformada homogénea global del marco de referencia i.

1.2. Objetivos de la robótica industrial


1. Aumentar la Productividad.

2. Mejorar la Calidad de los Productos Fabricados.

3. Potenciar la Flexibilidad en la Adaptación a Series de Producción Cortas.

4. Optimizar el Rendimiento de Otras Máquinas y Herramientas, Relacionadas con la


Labor del Robot.

5. Lograr una Rápida Amortización de la Inversión.

6. Disminuir los stocks de Productos Terminados, así como el de sus plazos de entrega.

7. Realizar Trabajos en Condiciones Hostiles y Peligrosas.

[6]

1.3. Clasificación de mecanismos y cadenas cinemáticas


1.3.1. Elementos
1.3.1.1. Número de conexiones

Podemos clasificar los elementos de acuerdo al número de conexiones que tengan, sien-
do un elemento con dos conexiones un elemento binario, uno con 3 conexiones un elemento
ternario, etc.

1.3.1.2. Movimiento mecánico

Podemos clasificar a los elementos según el movimiento mecánico que tengan:

Manivela: Se trata de una manivela si el elemento da vueltas completas alrededor de


un eje.

Biela: Se le denomina biela si oscila respecto de un eje fijo.


CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 7

Balancín: Se le clasifica como balancín si tiene un movimiento general.

Podemos encontrar estos 3 tipos de elementos en un mecanismo de cuatro barras.

1.3.2. Pares cinemáticos


1.3.2.1. Número de elementos

Una forma de clasificar a los pares cinemáticos es mediante el número de elementos


que conectan. Si conectan a dos elementos se les clasifica como binario, si conecta a 3
elementos se trata de un par ternario, y así sucesivamente.

1.3.3. Número de grados de libertad que permitan

Otra forma en que se clasifica a los pares cinemáticos es por el número de grados de
libertad que permiten, si un par cinemático permite 1 grado de libertad es un par de clase
I, si permite 2 es de clase II, y si permite 3 es de clase III, y así sucesivamente hasta llegar
a las clase V. Además de darle diferentes nombre a los pares cinemáticos dependiendo de
los grados de libertad que tengan. Siendo algunos de los más comunes:

Pares cinemáticos de clase I:

• Revoluta (R): Cuando permiten que el elemento rote respecto a un eje fijo .

• Prismático (P): Cuando permiten que el elemento se desplaze respecto a un eje


o una curva (si se usan coordenadas polares, cilíndricas, o esféricas).

• Helicoidal (H): Permite un movimiento de traslación a lo largo de un eje y si-


multáneamente un movimiento de rotación, dependiente de la translación sobre
el mismo eje. Como,por ejemplo con un tornillo.

Pares cinemáticos de clase II:

• Cilíndrico (C): Permite un movimiento de traslación a lo largo de un eje y


simultáneamente un movimiento de rotación sobre el mismo, independiente de
la translación.

• Leva (Ca): Permite un movimiento de traslación a lo largo de un eje y simultá-


neamente un movimiento de rotación sobre un eje perpendicular al primero.
CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 8

En robótica, desglosamos todos los pares cinemáticos de orden superior en pares cinemáti-
cos de clase I, teniendo regularmente solo pares de tipo revoluta y prismáticos.

1.3.4. Cadenas cinemáticas


1.3.4.1. Movilidad

La primera forma de clasificar a las cadenas cinemáticas es mediante su movilidad,


siendo esta el número de parámetros necesarios para definir completamente su posición
[3]. La movilidad es dependiente tanto de la cantidad como del tipo de pares cinemáticos
que contengan.

1.3.5. Mecanismos
1.3.5.1. Grados de libertad

Los mecanismos pueden ser clasificados por el número de grados de libertad, siendo
este un concepto análogo al de movilidad. En el caso de los mecanismos, siempre hay por
lo menos un elemento fijo en el origen, esto quiere decir que este elemento no presenta
ningún movimiento ni rotacional ni traslacional. Podemos definir el número de grados de
libertad mediante el criterio de Grübler - Kutzbach.

1.3.5.2. Estructura

También es posible dividir a los mecanismos en diferentes mecanismos mediante su


estructura.

1.3.6. Robots
1.3.6.1. Robots manipuladores o industriales

La mayoría de los robots manipuladores tiene 6 o menos grados de libertad, estos robots
son usualmente clasificados mediante las 3 primeras juntas del brazo, siendo la muñeca
descrita por separado.La mayoría de los robots manipuladores esta en una de las siguientes
categorías: Articulado (RRR), Esférico (RRP), SCARA (RRP), Cilíndrico (RPP), o
Cartesiano (PPP) [5]. Dentro de los robots articulados entran robots como el PUMA, o
los robots planares.
CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 9

(b) Configuración de codo [5]


(a) Robot articulado [7] (c) Configuración planar [5]

Figura 1.2: Configuraciones comunes de los robots articulados

(a) Robot SCARA [7] (b) Diagrama del robot SCARA [5]
Figura 1.3: Configuración del robot SCARA

Siendo todos los robots mencionados anteriormente, robots conectados de manera se-
rial, sin embargo también existen los robots parelelos, es decir, que cuentan con más de
una extremidad, y dependen de la coordinación entre sus extremidades o brazos para lle-
var a cabo sus movimientos, una clasificación de este tipo son los robots tipo Delta [8, 7].
Algunas de las aplicaciones de cada tipo de robot son las siguientes:

Articulado: (figura 1.2) Se utiliza para soldar, ensamblar, empaquetar, inspeccionar


piezas, mover piezas de lugar, manejo de herramientas, etc. Es el robot manipulador
más antropomórfico, y uno de los que tiene más flexibilidad para su uso, siendo muy
popular en la industria automotriz [7].

SCARA: (figura 1.3) Se utilizan para tomar y posicionar objetos, ensamblaje (me-
diante la inserción de piezas sencillas, por ejemplo), inspección, y empaquetado. Son
comunes en la industria [7].

Cilíndrico: (figura 1.5) Se usan para manejo de herramientas, ciertas operaciones de


ensamblado, soldadura, etc. Su espacio de trabajo tiene forma cilíndrica [7].
CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 10

(a) Robot Cartesiano [7] (b) Diagrama del robot Carte-


siano [5]
Figura 1.4: Configuración del robot Cartesiano

(b) Diagrama del


(a) Robot Cilíndrico [5] robot Cilíndrico [5]
Figura 1.5: Configuración del robot Cilíndrico

Cartesiano: (figura 1.4) Se utilizan popularmente como cortadoras láser, fresado-


ras CNC, mesas XYZ, impresoras 3D. Son usados para ensamblar estructuras con
un área grande, y que pueden tener una altura elevada, recientemente están siendo
llevados a la industria de la construcción [7].

Figura 1.6: Diagrama del robot esférico [5]

Esférico: (figura 1.6) Tiene las mismas aplicaciones que el robot cilíndrico, pero
tiene más flexibilidad, pero menos que el robot articulado.

Delta: (figura 1.7)Se utilizan para mover piezas más pequeñas, sus movimientos son
CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 11

más finos y requieren mayor coordinación, son populares en la industria de la elec-


trónica [7]. Son una subclasificación de los robots paralelos.

Figura 1.7: Robot Delta [7]

1.3.6.2. Robots móviles

Una forma de clasificar a los robots móviles, es por el medio en el que se desplazan,
utilizando esta clasificación, los podríamos dividir en terrestres, acuáticos, o aéreos.

1.4. Repaso de sistemas de coordenadas


1.4.1. Notación

Los vectores con dos dimensiones pueden ser escritos de las siguientes maneras:

Notación de vector unitario: Se utilizan vectores unitarios junto con las cantidades
que les corresponden, por ejemplo en la ecuación 1.2, en coordenadas cartesianas:

A = 2ı̂ + 3ˆ+ k̂ (1.2)

Dónde ı̂, ˆ, y k̂ son los vectores unitarios de los ejes x, y, y z, respectivamente.

Notación matricial: También es posible representar estos vectores con notación ma-
tricial, tanto de forma vertical, como horizontal (ecuación 1.3. Siendo ambas nota-
ciones equivalentes
 
2
  h i
A = 2ı̂ + 3ˆ+ k̂ = 3 = 2 3 1 (1.3)
 
 
1
CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 12

1.4.2. Sistemas de coordenadas


1.4.2.1. Coordenadas cartesianas

Figura 1.8: Coordenadas cartesianas (izquierda) con sus vectores unitarios (derecha) [9]

El sistema cartesiano fue desarrollado por René Descartes (Latin: Renatus Cartesius).
Él publicó el concepto en su libro La Géométrie en 1637. La idea de unir el álgebra con
la geometría resultó en un gran avance en el desarrollo de las matemáticas, especialmente,
para el, próximo a inventarse, cálculo.
Este sistema de coordenadas es el más básico, consistiendo, en general, de 3 números
números representando una ubicación: x, y, y z. Sus coordenadas son rectilíneas, lo que
significa que son una cuadrícula de líneas rectas [9], como se muestra en la figura 1.8,
mostrando a la izquierda los vectores unitarios de las coordenadas cartesianas. Quedando
de la siguiente manera:
 
x
  h i
s = xı̂ + yˆ+ zk̂ = y = x y z (1.4)
 
 
z

1.4.2.2. Coordenadas polares

Las coordenadas polares son un tipo de coordenadas curvilíneas que son útiles cuando
el vector es de únicamente 2 dimensiones, como se muestra en la figura 1.9. Principalmente
cuando el sistema que se esta analizando presenta un movimiento angular o movimiento
CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 13

Figura 1.9: Coordenadas Polares [9]

(b) Vectores unitarios de las


(a) Ejemplo de coordenadas coordenadas cilíndricas [9]
Cilíndricas [10]
Figura 1.10: Coordenadas Cilíndricas

circular. Y lo podemos expresar como se muestra en la ecuación 1.5.

s = ρ ρ̂ + φ φ̂ (1.5)

Siendo las equivalencias con las coordenadas cartesianas las ecuaciones 1.6, 1.7, 1.8, y 1.9.


ρ= x+y (1.6)
y
φ = arctan (1.7)
x
x = ρ cos (φ ) (1.8)

y = ρ sin (φ ) (1.9)

1.4.2.3. Coordenadas Cilíndricas

Si proyectamos las coordenadas polares sobre el eje z obtenemos las coordenadas ci-
líndricas, como se muestra en la figura 1.10a estando sus vectores unitarios a la derecha en
la figura 1.10b. Siendo las coordenadas cilíndricas un tipo de coordenadas curvilíneo con 1
línea curva y 2 líneas rectas.
CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 14

Teniendo las mismas equivalencias mostradas en las ecuaciones 1.6, 1.7, 1.8, y 1.9,
añadiendo el eje z que se queda igual al eje z de las coordenadas cartesianas.
Para obtener los vectores unitarios de las coordenadas cilíndricas a partir de las coorde-
nadas cartesianas, hacemos la multiplicación que se muestra en la ecuación 1.10, mientras
que para obtener los vectores unitarios de las coordenadas cartesianas a partir de las cilín-
dricas, hacemos el procedimiento indicado en la ecuación 1.11 [9].
    
ρ̂ cos (φ ) sin (φ ) 0 ı̂
    
φ̂ = − sin (φ ) cos (φ ) 0 ˆ (1.10)
    
    
ẑ 0 0 1 k̂
   −1     
ı̂ cos (φ ) sin (φ ) 0 ρ̂ cos (φ ) − sin (φ ) 0 ρ̂
        
= =
ˆ − sin (φ ) cos (φ ) 0 φ̂  sin (φ ) cos (φ ) 0 φ̂ (1.11)
        
        
k̂ 0 0 1 ẑ 0 0 1 ẑ

1.4.2.4. Coordenadas esféricas

Figura 1.11: Coordenadas esféricas (izquierda) con sus vectores unitarios (derecha) [9]

Las coordenadas esféricas son un sistema de coordenadas curvilíneas que tiene 2 líneas
curvas y 1 línea recta (como se muestra en la figura 1.11), constando de lo siguiente:

1. Esferas concéntricas con su centro en el origen (radio de la esfera, ecuación 1.12).


p
ρ= x2 + y2 + z2 (1.12)

2. Conos circulares derechos con su origen en el eje z y sus vértices en el origen (ángulo
CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 15

azimutal, ecuación 1.13).


! p !
z x2 + y2
θ = arc cos p = arctan (1.13)
x2 + y2 + z2 x

3. Medios planos perpendiculares al eje z (ángulo polar ecuación 1.14) [9, 10].
y
φ = arctan (1.14)
x

Y para transformar de coordenadas esféricas a coordenadas cartesianas, utilizamos las


ecuaciones 1.15, 1.16, y 1.17.

x = ρ sin (θ ) cos (φ ) (1.15)

y = ρ sin (θ ) sin (φ ) (1.16)

z = ρ cos (θ ) (1.17)

Se deja como ejercicio al lector investigar las transformaciones de los vectores unitarios de
las coordenadas esféricas respecto a las coordenadas cilíndricas y cartesianas.

1.5. Repaso de operaciones vectoriales y matriciales


Para saber de las operaciones algebraicas que pueden ser realizadas con diferentes ele-
mentos, es importante tener un concepto de las propiedades de sus operaciones, a estas
propiedades les llamaremos axiomas. Empezaremos definiendo los axiomas de los núme-
ros reales (que son las reglas que definen al algebra con números reales R) para después
ver los axiomas de los vectores.

1.5.1. Axiomas de los números reales

Propiedades aditivas

• Elemento neutro: a ∈ R, a + 0 = a. Existe un elemento dentro de los números


reales, denotado por 0, tal que a + 0 = a.

• Propiedad conmutativa: a, b ∈ R, a + b = b + a. Cuando se suman dos núme-


ros, el resultado es el mismo independientemente del orden de los sumandos[11].
CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 16

• Propiedad asociativa: a, b, c ∈ R, (a + b) + c = a + (b + c). Cuando se suman


tres o más números, el resultado es el mismo independientemente del orden en
que se suman los sumandos [11].

• Elemento inverso: a ∈ R, a + a−1 = a + (−a) = a − a = 0. Para todo número


a que pertenezca a los números reales, existe un elemento inverso aditivo de-
notado por −a tal que el resultado de la adición de ambos números da como
resultado el elemento neutro 0 [10].

Propiedades multiplicativas

• Elemento neutro: a ∈ R, a ∗ 1 = a. Existe un elemento dentro de los núme-


ros reales, denotado por 1, tal que a ∗ 1 = a para todo a que exista dentro del
conjunto de los números reales.

• Propiedad conmutativa: a, b ∈ R, a ∗ b = b ∗ a. Cuando se multiplican dos


números, el producto es el mismo sin importar el orden de los multiplicandos
[12].

• Propiedad asociativa: a, b, c ∈ R, (a ∗ b) ∗ c = a ∗ (b ∗ c). Cuando se multiplican


tres o más números, el producto es el mismo sin importar como se agrupan los
factores [12].

• Propiedad distributiva: a, b, c ∈ R, (a + b) ∗ c = a ∗ c + b ∗ c. La suma de dos


números por un tercero es igual a la suma de cada sumando por el tercer número
[12].

• Elemento inverso: a ∈ R, a∗a−1 = aa = 1. Para todo número a que pertenezca a


los números reales, existe un elemento inverso multiplicativo denotado por a−1
tal que el resultado de la multiplicación de ambos números da como resultado
el elemento neutro 1.

Estas propiedades aplican al álgebra con números reales, sin embargo, algunos de estos
axiomas no aplican en otras álgebras, como la vectorial, o cuando se trata de números
complejos. Se deja como ejercicio al lector comprobar cada una de estas propiedades en el
álgebra vectorial, indicando si se cumplen o no.
CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 17

1.5.2. Operaciones vectoriales


1.5.2.1. Suma y resta de vectores

La suma de 2 vectores en cualquier sistema de coordenadas se lleva a cabo elemento


por elemento, como se muestra en las ecuaciones 1.18, 1.19,1.20, y 1.21.

~A + ~B = A1 qˆ1 + A2 qˆ2 + A3 qˆ3 + B1 qˆ1 + B2 qˆ2 + B3 qˆ3 (1.18)


   
A B
h i h i  1  1
~A + ~B = A A A + B B B =  A2  + B2 
  
(1.19)
1 2 3 1 2 3
   
A3 B3
~A + ~B = (A1 + B1 ) qˆ1 + (A2 + B2 ) qˆ2 + (A3 + B3 ) qˆ3 (1.20)
 
A + B1
h i  1 
~A + ~B = A + B A + B A + B = A + B  
(1.21)
1 1 2 2 3 3
 2 2

A3 + B3

Llevandose a cabo la resta de vectores de forma similar [10, 13].

1.5.2.2. Producto punto o escalar

Los vectores pueden multiplicarse de dos maneras, mediante el producto punto, que da
como resultado una cantidad escalar, o mediante el producto cruz que da como resultado
una cantidad vectorial. Siendo el producto punto una suma de la multiplicación elemento
por elemento de ambos vectores, mostrando el procedimiento en las ecuaciones 1.22, 1.23,
1.24, 1.25, 1.26, y 1.27. Llegando al mismo resultado independiente de la representación
CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 18

que usemos para los vectores en este caso [10].

~A · ~B = (A1 qˆ1 + A2 qˆ2 + A3 qˆ3 ) · (B1 qˆ1 + B2 qˆ2 + B3 qˆ3 ) (1.22)

qˆ1 · qˆ2 = qˆ2 · qˆ1 = qˆ1 · qˆ3 = qˆ3 · qˆ1 = qˆ2 · qˆ3 = qˆ3 · qˆ2 = 0 (1.23)

qˆ1 · qˆ1 = qˆ2 · qˆ2 = qˆ3 · qˆ3 = 1 (1.24)


~A · ~B = (A1 · B1 ) (1) + (A2 · B2 ) (1) + (A3 · B3 ) (1) (1.25)
~A · ~B = A1 B1 + A2 B2 + A3 B3 (1.26)
 
B
h i  1
~A · ~B = A A A · B  
 = A1 B1 + A2 B2 + A3 B3 (1.27)
1 2 3
 2
B3

(1.28)

Pudiendo también ser representada esta operación mediante una suma, como se muestra en
la ecuación 1.29, donde i actúa como un índice.
N
~A · ~B = ∑ Ai Bi (1.29)
i=1

O de forma geométrica, podemos definir el producto punto como se define en la ecuación .


Dónde |~A| es el módulo (o valor absoluto) del vector ~A, |~B| es el módulo (o valor absoluto)
del vector ~B, y θ es el ángulo entre ambos vectores, pudiendo interpretarse geométricamen-
te como una medida de que tan paralelos son 2 vectores (ecuación 1.30.

~A · ~B = |~A||~B| cos (θ ) (1.30)

1.5.2.3. Producto cruz o vectorial

Así como el producto punto puede interpretarse geometricamente como una medida de
que tan paralelos son 2 vectores, el producto cruz, sería una medida de que tan perpendicu-
lares son dos vectores, como se muestra en la ecuación 1.31.

~A × ~B = |~A||~B| sin (θi )q̂i (1.31)


CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 19

Pudiendo también ser calculado a partir de sus componentes o tomandolo como una deter-
minante, como se muestra en las ecuaciones 1.32 y 1.33 [9].
   
ˆ ˆ
q q q ˆ (A B − A3 B2 )
 1 2 3  2 3 
~A × ~B = det A A A  = (A B − A B )
  
(1.32)
 1 2 3  3 1 1 3 

B1 B2 B3 (A1 B2 − A2 B1 )
~A × ~B = (A2 B3 − A3 B2 ) qˆ1 + (A3 B1 − A1 B3 ) qˆ2 + (A1 B2 − A2 B1 ) qˆ3 (1.33)

1.5.3. Operaciones con matrices


1.5.3.1. Sumas y restas de matrices

Las sumas y restas de matrices solo se pueden realizar entre matrices de la misma
cantidad de elemento, es decir, entre 2 o más matrices que tengan m × n elementos, y
también se llevan a cabo elemento por elemento, como con los vectores. Pudiendo ser vistos
los vectores horizontales como matrices de 1 × n y los vectores verticales como matrices
de n × 1 elementos.

1.5.3.2. Multiplicación de matrices

Al multiplicar un número por una matriz o un vector, todos los elementos que le confor-
man son multiplicados por este número. Mientras que, al multiplicar 2 matrices, el número
de columnas del vector de la primera matriz debe de coincidir con el número de filas de
la segunda matriz, en caso contrario, la multiplicación no puede llevarse a cabo, aplica la
misma regla al multiplicar vectores por matrices.
CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 20

h i
~Anx = A (1.34)
n1 An2 An3
 
B
 1n 
~Bxn = B2n 

 (1.35)
 
B3n
   
A A A13 ~A
 11 12   1x 
A = A21 A22 A23  = ~A2x  (1.36)
   
   
A31 A32 A33 ~A3x
 
B B B13
 11 12  h i
B = B21 B22

B23

 = ~ ~ ~
Bx1 Bx2 Bx3 (1.37)
 
B31 B32 B33

La multiplicación de matrices, al igual que el producto punto entre vectores en repre-


sentación matricial, se hace fila por columna. Por ejemplo, si definimos las matrices A y
B como se muestra en las ecuaciones 1.34, 1.35, 1.36, y 1.37, donde ~Anx son los vectores
horizontales que conforman la matriz A, y ~Bxn son los vectores verticales que conforman
la matriz B. Entonces podemos ver a los elementos resultante de esta multiplicación como
resultados de los productos punto de estos vectores.
    
A A A B B B ~A · ~B ~A1x · ~Bx2 ~A1x · ~Bx3
 11 12 13   11 12 13   1x x1 
A ∗ B = A21 A22 A23  B21 B22 B23  = ~A2x · ~Bx1 ~A2x · ~Bx2 ~A2x · ~Bx3 
 (1.38)
   
    
A31 A32 A33 B31 B32 B33 ~A3x · ~Bx1 ~A3x · ~Bx2 ~A3x · ~Bx3

1.5.3.3. Matriz transpuesta

Si en una matriz, sus columnas pasan a ser sus filas, y sus filas sus columnas, enton-
ces obtendríamos la transpuesta de esta matriz. Siguiendo con el ejemplo de la matriz A
CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 21

(ecuaciones 1.34 y 1.36) en la ecuación 1.40 se muestra su matriz transpuesta.


   
A11 A12 A13 ~A
   1x 
A = A21 A22 A23  = ~A2x  (1.39)
   
   
A31 A32 A33 ~A3x
 
A11 A21 A31
  h i
AT = A12 A22 A32  = ~AT1x ~AT2x ~AT3x (1.40)
 
 
A13 A23 A33

(1.41)

1.5.3.4. Matriz inversa

No existe una operación como la división para las matrices, el inverso multiplicativo de
una matriz A es su matriz inversa A−1 . Al multiplicar una matriz por su inversa, el resultado
es una matriz identidad, como se muestra en la ecuación 1.42
 
1 0 0
 
A ∗ A−1 = 0 1 0 (1.42)
 
 
0 0 1

1.6. Propiedades de las matrices


Una vez establecida la nomenclatura para la cinemática del robot, procedemos a expli-
car algunas propiedades de las matrices de rotación y de las matrices homogéneas, mismas
que utilizaremos para la resolución de la cinemática directa y la cinemática inversa del
robot estudiado. Iniciando por las matrices de rotación, y después pasando a las matrices
homogéneas [4].

1.6.1. Propiedades de las matrices de rotación


Proposición 1.6.1 Las matriz inversa de cualquier matriz de rotación es igual a su trans-
puesta. RT R = R−1 R = I ∴ RT = R−1 .

Proposición 1.6.2 Las matriz inversa de cualquier matriz de rotación R ∈ SO3 es otra
matriz de rotación
CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 22

Proposición 1.6.3 Las multiplicación de 2 matrices de rotación siempre da como resultado


otra matriz de rotación.

Para saber la orientación de un marco de referencia respecto al origen, basta con hacer una
serie de multiplicaciones como se muestra en la ecuación 1.43. Cambiando efectivamente
su marco de referencia.
R0n = R01 R12 ...Rn−1
n (1.43)

Para rotar un vector, o cambiar su marco de referencia la rotación se hace como se muestra
en la ecuación 1.44.
Pn0 = R0n−1 Pnn−1 = R01 R12 ...Rn−2 n−1
n−1 Pn (1.44)

Siendo las matrices de rotación más comunes, las rotaciones respecto a los ejes conside-
rando que se estén utilizando coordenadas cartesianas:
 
1 0 0
 
Rx = 0 cos (θ ) − sin (θ )
 
 
0 sin (θ ) cos (θ )
 
cos (θ ) 0 sin (θ )
 
Ry = 
 
0 1 0 
 
− sin (θ ) 0 cos (θ )
 
cos (θ ) − sin (θ ) 0
 
Rz =  sin (θ ) cos (θ ) 0
 
 
0 0 1
CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 23
    
cos (θ ) 0 sin (θ )
1 0 0 cos (θ ) sin2 (θ ) cos (θ ) sin (θ )
    
Ry Rx =  =
0  0 cos (θ ) − sin (θ )  − sin (θ ) 
    
0 1 0 cos (θ )
    
− sin (θ ) 0 cos (θ ) 0 sin (θ ) cos (θ ) − sin (θ ) cos (θ ) sin (θ ) 2
cos (θ )

(1.45)
    
1 0 0 cos (θ ) 0 sin (θ ) cos (θ ) 0 sin (θ )
    
Rx Ry = 0 cos (θ ) − sin (θ )  0 = sin2 (θ ) cos (θ ) − cos (θ ) sin (θ )
    
0 1
    
0 sin (θ ) cos (θ ) − sin (θ ) 0 cos (θ ) − cos (θ ) sin (θ ) sin (θ ) 2
cos (θ )
(1.46)
    
1 0 0 cos (θ ) − sin (θ ) 0 cos (θ ) − sin (θ ) 0
    
Rx Rz = 0 cos (θ ) − sin (θ )  sin (θ ) cos (θ ) 0 = cos (θ ) sin (θ )
    2
cos (θ ) − sin (θ )

    
2
0 sin (θ ) cos (θ ) 0 0 1 sin (θ ) cos (θ ) sin (θ ) cos (θ )
(1.47)
 
1 0 0 x
 
0 cos (θ ) − sin (θ )
 
0
y
T1 = 


 (1.48)
0 sin (θ ) cos (θ ) z
 
0 0 0 1

Una propiedad interesante de estas matrices, es que al multiplicar dos matrices que están
siendo rotadas sobre el mismo eje (a las que llamaremos Rab y Rbc ecuaciones 1.49, 1.50,
1.51, y 1.61) pero con diferente ángulo (por ejemplo 2 matrices de rotación respecto al eje
z una con un ángulo θ1 y otra con un ángulo θ2 , al multiplicar ambas matrices de rotación,
la matriz Rac resultar ser otra matriz de rotación respecto al eje z cuyo ángulo de rotación α
CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 24

es igual a la suma de los ángulos de las dos rotaciones previas (α = θ1 + θ2 ).


 
cos (θ1 ) − sin (θ1 ) 0
 
Rab =  sin (θ1 ) cos (θ1 ) 0 (1.49)
 
 
0 0 1
 
cos (θ2 ) − sin (θ2 ) 0
 
Rbc =  sin (θ2 ) cos (θ2 ) 0 (1.50)
 
 
0 0 1

Procedemos a multiplicar ambas matrices (ecuación 1.51)


 
cos (θ1 ) cos (θ2 ) − sin (θ1 ) sin (θ2 ) − [sin (θ2 ) cos (θ1 ) + sin (θ1 ) cos (θ2 )] 0
 
a
Rc = sin (θ2 ) cos (θ1 ) + sin (θ1 ) cos (θ2 ) cos (θ1 ) cos (θ2 ) − sin (θ1 ) sin (θ2 )
 
0
 
0 0 1
(1.51)
Procedemos a verificar las identidades trigonométricas mostradas en las ecuaciones 1.52,
1.53, y 1.54.

cos (θ2 − θ1 ) + cos (θ2 + θ1 )


cos (θ1 ) cos (θ2 ) = (1.52)
2
cos (θ2 − θ1 ) − cos (θ2 + θ1 )
sin (θ1 ) sin (θ2 ) = (1.53)
2
sin (θ2 − θ1 ) + sin (θ2 + θ1 )
sin (θ1 ) cos (θ2 ) = (1.54)
2

Y procedemos a resolver para cos (θ1 ) cos (θ2 ) − sin (θ1 ) sin (θ2 ) (ecuaciones 1.55 y 1.56).

cos (θ2 − θ1 ) + cos (θ2 + θ1 ) − cos (θ2 − θ1 ) + cos (θ2 + θ1 )


cos (θ1 ) cos (θ2 ) − sin (θ1 ) sin (θ2 ) =
2
(1.55)

cos (θ1 ) cos (θ2 ) − sin (θ1 ) sin (θ2 ) = cos (θ2 + θ1 ) (1.56)

Una vez habiendo resuelto esta parte, pasamos a resolver para sin (θ2 ) cos (θ1 )+sin (θ1 ) cos (θ2 )
(ecuación 1.57)

sin (θ2 − θ1 ) + sin (θ2 + θ1 ) + sin (θ1 − θ2 ) + sin (θ1 + θ2 )


sin (θ1 ) cos (θ2 )+sin (θ2 ) cos (θ1 ) =
2
(1.57)
CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 25

En la ecuación 1.57 es necesario hacer uso del conocimiento que tenemos de que la función
seno es una función asimétrica (ecuación 1.58) y la función coseno es simétrica (ecuación
1.59) para poder llegar al resultado.

sin (−θ ) = − sin (θ ) (1.58)

cos (θ ) = cos (−θ ) (1.59)

Sustituyendo la ecuación 1.58 en la ecuación 1.57 obtenemos la ecuación 1.60

sin (θ1 ) cos (θ2 ) + sin (θ2 ) cos (θ1 ) = sin (θ1 + θ2 ) (1.60)

Entonces sustituimos las ecuaciones 1.56 y 1.60 en la ecuación 1.51 para llegar a la ecua-
ción 1.61 donde α = θ1 + θ2 , habiendo comprobado esta propiedad de las matrices de
rotación.
   
cos (θ1 + θ2 ) − sin (θ1 + θ2 ) 0 cos (α) − sin (α) 0
   
Rac =  sin (θ1 + θ2 ) cos (θ1 + θ2 ) 0 =  sin (α) cos (α)) 0 (1.61)
   
   
0 0 1 0 0 1

1.6.1.1. Ejemplo 1

Desarrollaremos el ejemplo 2.1 del libro [3] para ejemplificar el cambio de orientación.
Partimos de la figura 1.12. En la figura 1.12a podemos observar la rotación de un marco
de referencia, esta rotación genera un cambio de perspectiva en el objeto, haciendo que sea
visto de forma diferente, haciendo que pasemos de verlo de como se muestra en ui , que es
como se ve desde el marco de referencia inercial, hasta como se ve en u f , mostrándose este
efecto en la figura 1.12b.
Podemos pensarlo en como pasamos de ver un objeto que tenemos enfrente en una
posición arbitraria ui a como lo observaríamos al rotar la cabeza en un ángulo θ .
Entonces lo que nos interesa es saber el cambio de orientación del objeto al cambiar la
perspectiva desde la cual lo observamos. Siendo el marco de referencia a nuestro punto de
vista original (marco de referencia inercial), y b el punto de vista actual (el nuevo marco de
referencia.
CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 26

(a) Cambio de base. (b) Cambio de perspectiva en el vector.


Figura 1.12: Rotación de un marco de referencia. Imagénes recuperadas de [3]

Entonces, al estar el objeto en el plano X-Y, la rotación necesariamente es sobre el eje


Z, así que elegimos la matriz de rotación en el eje Z, además sabemos que el ángulo de
rotación es de θ = 30 deg. Por lo que la orientación del marco de referencia b visto desde
a queda como se muestra en la ecuación 1.62

    √ 
3 1
cos (θ ) − sin (θ ) 0 cos (30°) − sin (30°) 0 − 0
     2 √2 
a 3
Rb =  sin (θ ) cos (θ ) 0 =  sin (30°) cos (30°) 0 =  21 0 (1.62)
     
     2 
0 0 1 0 0 1 0 0 1

Ahora, suponiendo que el marco de referencia a y el marco de referencia b se en-


contrasen en un mismo punto, lo único que tendríamos que hacer para encontrar u f sería  
1
 
multiplica u f = a Rb ui , tal y como se muestra en la ecuación 1.44. Por ejemplo, si u f = 0
 
 
0
obtendríamos lo mostrado en la ecuación 1.63
√   √ 
3 1 3
− 0 1
 2 √2     2 
u f = a Rb ui =  12 3
0 0 =  12  (1.63)
    
 2    
0 0 1 0 0

1.6.1.2. Ejemplo 2

Por ejemplo, imaginemos que tenemos un marco de referencia A y una marco de re-
ferencia B, ambos con el mismo origen. Se tiene un vector de posición con un marco de
CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 27

referencia C  
10
 
A
PC = 20 (1.64)
 
 
5
Y el marco de referencia B esta rotado 30° sobre el eje Z respecto a A. Obtener la posición
de C respecto a B:

1. Obtener la matriz de rotación de B respecto a A:


   
cos (θ ) − sin (θ ) 0 cos (30°) − sin (30°) 0
   
A
RB =  sin (θ ) cos (θ ) 0 =  sin (30°) cos (30°) 0 (1.65)
   
   
0 0 1 0 0 1

2. Obtener la matriz de rotación de A respecto a B:


   
cos (θ ) sin (θ ) 0 cos (30°) sin (30°) 0
   
T
RBA = RAB = − sin (θ ) cos (θ ) 0 = − sin (30°) cos (30°) 0 (1.66)
   
   
0 0 1 0 0 1

3. Multiplicar la matriz de rotación RBA por el vector de posición PCA


    
cos (30°) − sin (30°) 0 10 10 cos (30°) − 20 sin (30°)
    
B B A
PC = RA PC =  sin (30°) cos (30°) 0 20 = 10 sin (30°) + 20 cos (30°)
    
    
0 0 1 5 5
(1.67)

1.6.2. Propiedades de las matrices homogéneas

Las matrices homogéneas tienen propiedades similares a las matrices de rotación. Son
matrices compuestas que tienen la siguiente forma:
 
R i Pi
j j
T ji =  (1.68)
0 1

Donde Rij es la matriz de rotación de j vista desde i, y Pji es la posición relativa de j respecto
a i.
CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 28

Figura 1.13: Rotación un sistema de coordenadas [5]

Proposición 1.6.4 Las matriz inversa de cualquier matriz de homogénea es también una
matriz homogénea[4]. Y tiene la siguiente forma:
" # 
i T −Ri T Pi j j   j j
i −1 j R j j j Ri Ri Pji Ri Pi
(T j ) = (Ti ) = = = (1.69)
0 1 0 1 0 1

Proposición 1.6.5 Las multiplicación de 2 matrices de homogéneas siempre da como re-


sultado otra matriz de rotación. Siendo la multiplicación de la siguiente manera:

  i j j
R j Pji Rkj Pkj
 i   i
Rk Pji
 
j R j Rk Rij Pk + Pji
T ji Tk = = = = Tki (1.70)
0 1 0 1 0 1 0 1

[4]

Propiedades que utilizaremos para obtener la posición y orientación del actuador final
con respecto al origen. Una vez definidos estos conceptos, es importante establecer una
nomenclatura para referirse a cada uno de ellos en los siguientes ejemplos:

1. R = Matriz de rotación.

2. R = Matriz de rotación.

3. T = H = Matriz Homogénea o transformada Homogénea.


CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 29

4. ~P = P = Vector de posición

~ = O = Vector de posición del origen del marco de referencia incercial.


5. O

6. Pji = Vector de posición del marco de referencia j visto desde i.

7. Rij = Matriz de rotación del marco de referencia j visto desde i.

8. T ji = Transformada homogénea del marco de referencia j visto desde i.

9. Ai = Ai−1
i = Transformada homogénea local del marco de referencia i visto desde
i − 1.

10. Hi = H 0j = Transformada homogénea local del marco de referencia i visto desde i−1.

1.6.2.1. Ejemplo matriz inversa

Partimos de una matriz homogénea genérica con una rotación en z (ecuación 1.71).
 
a
cos (θ ) − sin (θ ) 0 xb
 
 a
 sin (θ ) cos (θ ) 0 yb 

a
Tb =   (1.71)

 0 0 a
1 zb


 
0 0 0 1

Extraemos la matriz de rotación (ecuación 1.72) y obtenemos su matriz inversa (ecuación


1.73):
 
cos (θ ) − sin (θ ) 0
 
a
Rb =  sin (θ ) cos (θ ) 0 (1.72)
 
 
0 0 1
 
cos (θ ) sin (θ ) 0
 
a −1
Rb = a Rb T = b Ra = − sin (θ ) cos (θ ) 0 (1.73)
 
 
0 0 1

Habiendo definido la matriz inversa, hacemos la operación para hacer el cambio en el


CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 30

vector de posición para pasarlo de a Pb (ecuación 1.74) a b Pa (ecuaciones 1.75 y 1.76).


 
ax
 b
a
Pb = a yb  (1.74)
 
 
az
b
  
cos (θ ) sin (θ ) 0 a xb
  
b
Pa = −b Ra a Pb = − − sin (θ ) cos (θ ) 0 a yb  (1.75)
  
  
0 0 1 a zb
   
a a
− xb cos (θ ) − yb sin (θ ) bx
   a
b
Pa =  a xb sin (θ ) − a yb cos (θ )  = b ya  (1.76)
   
   
−a zb bz
a

Entonces procedemos a armar la matriz homogénea inversa (ecuación 1.77), para com-
pactar, nombramos a cada uno de sus elementos como se muestra en la ecuación 1.78, y
hacemos lo mismo con la matriz homogénea que teníamos originalmente 1.79 para poder
hacer la multiplicación de forma más ordenada.

 
cos (θ ) sin (θ ) 0 −a xb cos (θ ) − a yb sin (θ )
 
− sin (θ ) cos (θ ) 0 a xb sin (θ ) − a yb cos (θ )
 
a −1 b

Tb = Ta =   (1.77)
−a zb
 
 0 0 1 
 
0 0 0 1
 
T T T T
 ba11 ba12 ba13 ba14 
 
a −1 b
Tba21 Tba22 Tba23 Tba24 
Tb = Ta =  

 (1.78)
Tba31 Tba32 Tba33 Tba34 
 
Tba41 Tba42 Tba43 Tba44
 
Tab11 Tab12 Tab13 Tab14
 
 
a
Tab21 Tab22 Tab23 Tab24 
Tb = 
 
 (1.79)
Tab31 Tab32 Tab33 Tab34 
 
Tab41 Tab42 Tab43 Tab44

Habiendo hecho esto, procedemos a hacer la multiplicación fila por elemento por ele-
CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 31

mento para la primera fila a fin de ilustrar el procedimiento a seguir.


 
Tab11
 
h iTab21 

Tba11 Tba12 Tba13 Tba14    = cos2 (θ ) + sin2 (θ ) = 1 (1.80)

Tab31 
 
Tab41
 
T
 ab12 
h i Tab22 


Tba11 Tba12 Tba13 Tba14   = cos (θ ) sin (θ ) − cos (θ ) sin (θ ) = 0 (1.81)
 
Tab32 
 
Tab42
 
Tab13
 
h iTab23 

Tba11 Tba12 Tba13 Tba14  =0 (1.82)
 
Tab33 
 
Tab43
 
Tab14
 
h i 
Tab24  a
Tba11 Tba12 Tba13 Tba14    = xb cos (θ ) + a yb sin (θ ) − a xb cos (θ ) − a yb sin (θ ) = 0

Tab34 
 
Tab44
(1.83)

Dejándose el resto del procedimiento como ejercicio al lector. Dando como resultado una
matriz identidad de 4 × 4 como se muestra en la ecuación 1.84
 
1 0 0 0
 
 
b a a b
0 1 0 0
I = Ta Tb = Tb Ta =  

 (1.84)
0 0 1 0
 
0 0 0 1
CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 32

1.6.2.2. Ejemplo: Problema 2.15 c) Lynch

Partiendo de las matrices homogéneas a Tb (ecuación 1.85) y b Tc (ecuación 1.86) encon-


trar la matriz homogénea c Ta .
 
√1 − √12 0 −1
 2 
 1
√1

a
√ 0 0
Tb = 2

2 
 (1.85)
0 0 1 1
 
0 0 0 1
 
√1 0 √1 0
 2 2 
 
b
 0 1 0 1
Tc = 
 1
 (1.86)
− √ 0 √1

2 2
0
 
0 0 0 1

Para hacer esto podemos seguir uno de dos caminos equivalentes:

1. Método 1:

a) Encontrar b Ta = a Tb −1 .
−1
b) Encontrar c Tb = b Tc .

c) Obtener c Ta = c Tb b Ta .

2. Método 2:

a) Obtener a Tc = a Tb b Tc .

b) Encontrar c Ta = a Tc −1 .

Siendo el método más eficiente, el método 2, por lo tanto seguiremos ese camino.

1. Obtener a Tc = a Tb b Tc (ecuación 1.87).


    
1
√1 − √1 0 −1 √1 0 √1 0 − √12 1
− √12 − 1
 2 2  2 2   2 2 
1  21 √1 1 √1
 1
√1
   
a a b
√ 0 0  0 1 0 2

Tc = Tb Tc = 
 2 2  = 2 2 
1 1  − √12 √1
  1
0 − √ √1
 
0 0 0 2
0 1 
    2 2 
0 0 0 1 0 0 0 1 0 0 0 1
(1.87)
CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 33

2. Encontrar c Ta = a Tc −1 . Para hacer esto, primero es necesario extraer la matriz de


rotación a Rc y obtener su inversa (ecuación 1.88)
 
1 1
2 2 − √12
 
c a −1 a T
Ra = Rc = Rc = − √1 √1 (1.88)
 
2 2
0 
 
1 1 √1
2 2 2

Y después extraemos el vector de posición y procedemos a multiplicar c Pa = −c Ra a Pc


(ecuación 1.89)
    
1 1
2 2 − √12 − √12 − 1 − √18 − 12 + √18 − √12
    
c
Pa = − − √1 √1 0   √1  = − 1
+ √1 + 1 (1.89)
    
2 2

 2 2  2   2 
1 1 √1 1 1 1 1
2 2 2
1 − 8−2+ 8+ 2
√ √ √
 
1
2 + √12
 
c 1
Pa = −1 − √  (1.90)
 
 2 
1 √1
2 − 2

Y una vez habiendo hecho esto, procedemos a armar la matriz homogénea (ecuación
1.91) resolviendo el problema
 
1 1
2 2 − √12 1
2 + √12
 
 1
− √ √1 0 1
−1 − √2 

c 2 2
Ta = 
 1
 (1.91)
1 √1 1 1 
2− 2 
 2 √
2

 2
0 0 0 1

1.6.2.3. Ejemplo 1: Mecanismo con 1 grado de libertad

O viéndolo de forma más desarrollada, por ejemplo, en un mecanismo con un marco


de referencia inercial 0 en el origen, cuya primer par cinemático e encuentre en el mismo
origen y sea una junta de revoluta (rotación) con un ángulo θ1 , teniendo esta junta su
propio marco de referencia 1 que rota junto con ella, y a partir de allí tenga un eslabón de
longitud L con un marco de referencia 2 al final del mismo, cuya distancia respecto al marco
de referencia 1 sea L. Dada esta información queremos obtener su posición y orientación
respecto al marco de referencia inercial.
CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 34

Para esto iniciamos definiendo sus posiciones y orientaciones relativas mediante ma-
trices homogéneas que llamaremos locales, porque definen la posición y orientación de un
marco de referencia respecto al marco de referencia previo:

1. Para el marco de referencia, ya que es inercial, no presenta rotación, por lo que no


hay cambio de orientación respecto a un marco de referencia previo, siendo su matriz
de orientación una matriz identidad, así mismo, se encuentra en el origen, por lo que
no presenta una distancia respecto al marco de referencia previo, entonces su vector
de posición es 0. Entonces su matriz homogénea es una matriz identidad de 4x4,
como se muestra en la ecuación 1.92, no siempre es necesario incluir esta matriz en
el sistema ya que no produce cambios al no haber ni una rotación relativa ni una
posición relativa respecto a un marco previo, dejándose indicado en el esquema del
sistema a representar  
1 0 0 0
 
 
0 1 0 0



 (1.92)
0 0 1 0
 
0 0 0 1

2. Una vez haciendo esto, definimos la matriz homogénea para el marco de referencia
1. Para esto, al tener una sola rotación podemos decir que se encuentra en un plano,
elegiremos el plano XY, por lo que la rotación será respecto al eje Z con un ángulo θ1 .
Al encontrarse en la misma posición que el marco de referencia anterior, su distancia
respecto al mismo es 0, por lo que su vector de posición relativa es 0. Quedando su
matriz homogénea respecto a 0 como se muestra en la ecuación1.93.
 
cos (θ1 ) − sin (θ1 ) 0 0
 
 
0
 sin (θ1 ) cos (θ1 ) 0 0
A1 = T1 =   
 (1.93)
 0 0 1 0
 
0 0 0 1

3. Siendo el siguiente paso, definir la posición y orientación relativa del marco de re-
ferencia 2 respecto a 1. Debido a que están conectados ambos marcos de referencia
mediante un eslabón, y no presenta rotación el marco de referencia 2 (ya que no se
CAPÍTULO I. INTRODUCCIÓN A CINEMÁTICA DE ROBOTS 35

encuentra en un par cinemático), entonces tiene la misma de orientación que el marco


de referencia previo, quedando, por lo tanto su matriz de rotación como una matriz
identidad. Mientras que su posición estará dada por L en un eje arbitrario según la po-
sición inicial que definamos para el mecanismo. En este casi definiremos que cuando
todos los ángulos están en 0, solo presenta componente en el eje horizontal. Siendo
representada la matriz homogénea de como se muestra en la ecuación 1.94.
 
1 0 0 L
 
 
1
0 1 0 0
A2 = T2 = 
 
 (1.94)
0 0 1 0
 
0 0 0 1

Una vez hecho esto, procedemos a obtener las orientación y posición del marco de
referencia 2 respecto al origen, desarrollo que se muestra en las ecuaciones 1.95 y 1.96.
  
cos (θ1 ) − sin (θ1 ) 0 0 1 0 0 L
  
  
0 0 1
 sin (θ1 ) cos (θ1 ) 0 0 0 1 0 0
H2 = T2 = A1 A2 = T1 T2 =  



 (1.95)
 0 0 1 0 0 0 1 0
 
  
0 0 0 1 0 0 0 1
 
cos (θ1 ) − sin (θ1 ) 0 L cos (θ1 )
 
 
0
 sin (θ1 ) cos (θ1 ) 0 L sin (θ1 ) 
H2 = T2 =   
 (1.96)
 0 0 1 0 
 
0 0 0 1
Capítulo II

Cinemática Directa

2.1. Cinemática Directa con marcos de referencia arbitra-


rios
En esta sección desarrollaremos se muestra el proceso paso a paso para obtener la ci-
nemática directa de un robot manipulador, utilizando el ejemplo del robot planar de dos
grados mostrado en la figura 2.1.

Figura 2.1: Robot de 2 grados de libertad en configuración RR. Imagen recuperada de [5]

I.- Colocar el marcos de referencia inercial: Colocamos primero el marco de referen-


cia inercial (marco de referencia 0), esto regularmente se hace en la base del robot.

II.- Identificar los grados de libertad del robot: Se identifican los grados de libertad
en cada junta del robot, para identificar donde se deben de colocar los marcos de
referencia restantes.

36
CAPÍTULO II. CINEMÁTICA DIRECTA 37

III.- Colocar los marcos de referencia: Colocamos un marco de referencia por cada
grado de libertad del robot. Es decir, si en una junta se tiene 2 grados de libertad se
ponen dos marcos de referencia allí para representar los cambios de orientación y/o
traslación. Además de colocar un marco de referencia en el actuador final, para poder
definir su posición y traslación respecto al origen.

IV.- Definir una posición inicial: Se elige una posición inicial tal que todos los actuado-
res están desactivados y no hayan causado cambios en la configuración del sistema.

V.- Definir los ejes de los marcos de referencia: Se elige la orientación de los ejes de los
marcos de referencia de una forma conveniente. Una convención común para hacer
esto, es la convención de Denavit - Hartenberg (DH). En este ejemplo tomaremos la
misma orientación para todos los marcos de referencia, rotando todas las juntas de
revoluta respecto al eje "z"

VI.- Definir los vectores de posición: Se definen los vectores de posición de cada marco
de referencia respecto al anterior a fin de armar las matrices homogéneas locales.

VII.- Definir las matrices de rotación: Dadas las orientaciones de los marcos de referen-
cia, se definen las matrices de rotación para cada marco de referencia.

VIII.- Armar las matrices homogéneas locales:

1. La matriz homogénea del marco de referencia 1 se encuentra ubicada en el


origen, pero con el ángulo θ1 como se observa en la ecuación 2.1.
 
cos (θ1 ) − sin (θ1 ) 0 0
 
 
 sin (θ1 ) cos (θ1 ) 0 0
A1 = 


 (2.1)
 0 0 1 0
 
0 0 0 1

2. El marco de referencia 2 se encuentra a una distancia a1 del origen, y también


CAPÍTULO II. CINEMÁTICA DIRECTA 38

presenta rotación, como se ve reflejado en la ecuación 2.2.


 
cos (θ2 ) − sin (θ2 ) 0 a1
 
 
 sin (θ2 ) cos (θ2 ) 0 0 
A2 = 
 
 (2.2)
 0 0 1 0
 
0 0 0 1

3. El marco de referencia 3, colocado en el actuador final, no presenta rotación,


pero sí esta a una distancia a2 del marco de referencia 1, como se ve reflejado
en la ecuación 2.3.  
1 0 0 a2
 
 
0 1 0 0
A3 = 


 (2.3)
0 0 1 0
 
0 0 0 1

IX.- Obtener las matrices homogéneas globales:


 
cos (θ1 ) sin (θ1 ) 0 0
 
− sin (θ1 ) cos (θ1 ) 0 0
 
a) H1 = A1 = 


 0 0 1 0
 
0 0 0 1
 
cos (θ1 + θ2 ) − sin (θ1 + θ2 ) 0 a1 cos (θ1 )
 
 
 sin (θ1 + θ2 ) cos (θ1 + θ2 ) 0 a1 sin (θ1 ) 
b) H2 = H1 A2 = 


 0 0 1 0 
 
0 0 0 1
 
cos (θ1 + θ2 ) − sin (θ1 + θ2 ) 0 a1 cos (θ1 ) + a2 cos (θ1 + θ2 )
 
 
 sin (θ1 + θ2 ) cos (θ1 + θ2 ) 0 a1 sin (θ1 ) + a2 sin (θ1 + θ2 ) 
c) H3 = H2 A3 = 



 0 0 1 0 
 
0 0 0 1

Siendo H3 ya la matriz homogénea global correspondiente al actuador final, misma


que nos da la orientación y posición del mismo respecto a la configuración de las
CAPÍTULO II. CINEMÁTICA DIRECTA 39

juntas del robot. Habiendo resuelto la cinemática directa del robot. Se deja como
ejercicio al lector completar el procedimiento para llegar al resultado.

2.2. Cinemática Directa con Denavit - Hartenberg


Aunque es posible resolver la cinemática directa usando marcos de referencia arbitra-
rios, siempre es útil seguir pasos establecidos, haciendo de esto una tarea más sistemática.
Una convención popular para asignar los marcos de referencia, es la convención de Dena-
vit - Hartenberg. Para esta convención, cada transformada homogénea local es construida a
partir de la multiplicación de 4 transformadas homogéneas, cada una de ellas dependiente
de un solo parámetro, como se muestra en las ecuaciones 2.4, 2.5, y 2.6.
    
c −sθi 0 0 1 0 0 0 1 0 0 ai 1 0 0 0
 θi    
sθi cθi 0 0 0 1 0 0  0 1 0 0  0 cαi −sαi
    
0
Ai = 








 (2.4)
0 0 1 0 0 0 1 di  0 0 1 0  0 sαi cαi 0
    
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1
 
c −sθi cαi sθi sαi ai cθi
 θi 
sθi cθi cαi −cθi sαi ai sθi 
 
Ai = 


 (2.5)
0 sαi cαi di 
 
0 0 0 1
 
cos (θi ) − sin (θi ) cos (αi ) sin (θi ) sin (αi ) ai cos (θi )
 
 sin (θi ) cos (θi ) cos (αi ) − cos (θi ) sin (αi ) ai sin (θi ) 
 
Ai = 
 
 (2.6)
 0 sin (αi ) cos (αi ) di 
 
0 0 0 1

Donde cθi = cos (θi ), sθi = sin (θi ), cαi = cos (αi ), y sαi = sin (αi ). Pudiendo definir por
completo esta cada matriz de transformación utilizando los parámetros θi .di .ai , y αi . Pero
antes de asignar estos parámetros, debemos de asignar las posiciones de los marcos de
referencia y sus ejes utilizando los siguientes lineamientos:

1. Localizar y enumerar los ejes de las juntas (los ejes sobre el que rotan las juntas de
revoluta, o se mueven las juntas prismáticas) y etiquetalos como ẑ0 , ẑ1 ,... ẑn−1 .
CAPÍTULO II. CINEMÁTICA DIRECTA 40

2. Establecer el marco de referencia inercial, colocando el origen en cualquier punto


sobre el eje ẑ0 , y colocando de forma conveniente x̂0 y ŷ0 usando la regla de la mano
derecha.

3. Para los marcos de referencia i = 1, ..., n − 1 hacer los siguiente:

a) Establecer el origen oi del marco de referencia en cuestión en la intersección


entre ẑi y ẑi−1 , si son paralelos, colocar oi en un punto conveniente de ẑi .

b) Colocar el eje x̂i en la normal común entre el eje ẑi−1 y ẑi ; o, si se intersectan
ẑi−1 y ẑi , colocar x̂i en la dirección normal al plano formado por ẑi−1 y ẑi .

c) Establecer el eje ŷi utilizando la regla de la mano derecha [5].

4. Por último, se coloca el marco de referencia del actuador final. Si la articulación final
es angular, se de tal forma que los ejes x̂n y x̂n−1 queden alineados cuando θn = 0
colocando el origen on de forma tal que dn = 0. Si la articulación final es prismática,
el eje x̂n se asigna de tal forma que θn = 0, y el origen on se coloca en la intersección
de x̂n−1 y el eje de la articulación n cuando dn = 0 [2].

Figura 2.2: α y θ [5]

Una vez haciendo esto, procedemos a definir los parámetros de las articulaciones que usa-
remos para definir las transformadas homogéneas locales:

ai : A veces llamado "Longitud de la articulación", es la distancia entre oi hacia ẑi−1


a lo largo del eje x̂i .

di : También llamado "Desplazamiento del vínculo", es la distancia a lo largo del eje


ẑi−1 desde oi−1 hasta el punto de intersección entre los ejes x̂i y zi . di es variable si la
junta es prismática.
CAPÍTULO II. CINEMÁTICA DIRECTA 41

αi : Llamado "Torsión del vínculo", es el ángulo entre ẑi−1 y ẑi medido sobre el eje x̂i
(ver figura 2.2).

θi : Llamado "Ángulo de articulación", es el ángulo entre x̂i−1 y x̂i medido sobre el


eje ẑi−1 .θi es variable si la junta es de revoluta (ver figura 2.2) [5, 2].

Una vez definidos estos parámetros, llenamos una tabla con los mismos, quedando, por
ejemplo, para el robot planar de dos grados de libertad (figura 2.1) así como se muestra en
la tabla 2.1, donde las variables de las articulaciones son θ1 y θ2 dando que ambas juntas
son de revoluta. Una vez hecho esto, procedemos a evaluar estos parametros en la ecuación

i ai αi di θi
1 a1 0 0 θ1
2 a2 0 0 θ2

Tabla 2.1: Parámetros de Denavit - Hartenberg para un robot RR

2.4 para ambas articulaciones a fin de obtener las matrices locales 2.7 y 2.8.
      
c −sθ1 0 0 1 0 0 0 1 0 0 a1 1 0 0 0 c −sθ1 0 a1 cθ1
 θ1      θ1 
      
sθ1 cθ1 0 0 0 1 0 0 0 1 0 0  0 1 0 0 sθ1 cθ1 0 a1 sθ1 
A1 = 






=
 


0 0 1 0 0 0 1 0 0 0 1 0  0 0 1 0  0 0 1 0 
      
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1
(2.7)
      
c −sθ2 0 0 1 0 0 0 1 0 0 a1 1 0 0 0 c −sθ2 0 a2 cθ2
 θ2      θ2 
      
sθ2 cθ2 0 0 0 1 0 0 0 1 0 0  0 1 0 0 sθ2 cθ2 0 a2 sθ2 
A1 = 







=
 


0 0 1 0 0 0 1 0 0 0 1 0  0 0 1 0   0 0 1 0 
      
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1
(2.8)

Y, por último, multiplicamos las matrices locales para obtener la matriz global. Obteniendo
el mismo resultado que con el método anterior (ecuación 2.9). Completando así el cálculo
CAPÍTULO II. CINEMÁTICA DIRECTA 42

de la cinemática directa para el robot RR.


 
cos (θ1 + θ2 ) − sin (θ1 + θ2 ) 0 a1 cos (θ1 ) + a2 cos (θ1 + θ2 )
 
 
 sin (θ1 + θ2 ) cos (θ1 + θ2 ) 0 a1 sin (θ1 ) + a2 sin (θ1 + θ2 ) 
H2 = A1 A2 = 
 (2.9)

 0 0 1 0 
 
0 0 0 1
Capítulo III

Cinemática Inversa y Cinemática


Diferencial

3.1. Cinemática inversa


3.1.1. Ejemplo: Cinemática inversa del robot RR

I.- Cinemática Directa: Partimos del resultado de la problemática de la cinemática di-


recta del robot, dada por la ecuación 3.1.
 
cos (θ1 + θ2 ) sin (θ1 + θ2 ) 0 a1 cos (θ1 ) + a2 cos (θ1 + θ2 )
 
− sin (θ1 + θ2 ) cos (θ1 + θ2 )
 
0 a1 sin (θ1 ) + a2 sin (θ1 + θ2 ) 
H = 

 (3.1)
 0 0 1 0 
 
0 0 0 1

II.- Conocer el espacio de trabajo del robot: Para el robot mostrado en la figura 2.1,
si a1 6= a2 suponiendo que ambas articulaciones puedan rotar 360°, su espacio de
trabajo alcanzable es un disco con un radio externo de rex = a1 +a2 y un radio interno
de ri = |a2 − a1 |. Siendo esta condición rara vez cierta ya que no es común que
las articulaciones puedan rotar 360° y menos sin colisionar entre ellas. Para esto al
momento de hacer la programación o el control de robot se introducen condiciones
límite.

III.- Cinemática de posición inversa:A partir del vector de posición del actuador final
buscamos las configuraciones posibles para los grados de libertad del robot.

43
CAPÍTULO III. CINEMÁTICA INVERSA Y CINEMÁTICA DIFERENCIAL 44

1. Extraemos el valor para x. Dado en la ecuación 3.2

x = a1 cos (θ1 ) + a2 cos (θ1 + θ2 ) (3.2)

2. Extraemos el valor para x. Dado en la ecuación 3.3

y = a1 sin (θ1 ) + a2 sin (θ1 + θ2 ) (3.3)

3. Extraemos el valor para z. Dado que es un robot planar, z = 0.

4. Trazamos una línea desde el origen hasta la posición del actuador final del robot,
esta línea va a representar una distancia r que esta dada por la ecuación 3.4,
desarrollada como 3.8.

r2 = x2 + y2 (3.4)

donde : (3.5)

x2 = a21 cos2 (θ1 ) + 2a1 a2 cos (θ1 ) cos (θ1 + θ2 ) + a22 cos2 (θ1 + θ2 ) (3.6)

y2 = a21 sin2 (θ1 ) + 2a1 a2 sin (θ1 ) sin (θ1 + θ2 ) + a22 sin2 (θ1 + θ2 ) (3.7)

∴ r2 = a21 + a22 + 2a1 a2 [cos (θ1 ) cos (θ1 + θ2 ) + sin (θ1 ) sin (θ1 + θ2 )] (3.8)

Obteniendo un triángulo rectángulo cuya hipotenusa es r, los catetos son x y y,


y a su ángulo lo llamaremos α que es una variable conocida, teniendo también
otro ángulo al que llamaremos β definido como β = θ1 − α. Formando otro
triángulo cuyos catetos son a1 y a2 , y cuya hipotenusa también es r, siendo a2 el
cateto opuesto al ángulo beta, mismo triángulo que queremos pasar a triángulo
rectángulo mediante la ley de cosenos.

5. Usamos ley de cosenos y resolvemos para β

a22 = a21 + r2 − 2a1 r cos (β ) (3.9)

2a1 r cos (β ) = a21 + r2 − a22 (3.10)


a21 + r2 − a22
cos (β ) = (3.11)
2a1 r
 2 2 2
−1 a1 + r − a2
β = cos (3.12)
2a1 r
CAPÍTULO III. CINEMÁTICA INVERSA Y CINEMÁTICA DIFERENCIAL 45

Siendo x, y, r, a1 , y a2 variables conocidas en el problema de la cinemática


inversa. Con la información obtenida aquí, podemos convertir el triángulo con
ángulo β en un triángulo rectángulo, donde su hipotenusa, cateto adyacente, y
cateto opuesto, dados respectivamente por 3.13, 3.14, y 3.15.

h = 2a1 r (3.13)

ca = a21 + r2 − a22 (3.14)


q q
co = h − ca = 4a21 r2 − (a21 + r2 − a22 )2
2 2 (3.15)

6. Una vez obtenidos los componentes de ese nuevo triángulo, procedemos a uti-
lizar la ecuación de la tangente de β y lo usamos para resolver despejar β como
se muestra en la ecuación 3.17.
q
4a21 r2 − (a21 + r2 − a22 )2
tan (β ) = (3.16)
a21 + r2 − a22
q 
4a21 r2 − (a21 + r2 − a22 )2
β = tan−1   (3.17)
a21 + r2 − a22

7. Dado que ya calculamos β , y conocemos α, entonces encontramos el valor de


θ1 como se muestra en la ecuación 3.18.

θ1 = α + β (3.18)

Teniendo dos soluciones posibles para θ1 .

8. Para resolver para θ2 primero definimos el ángulo γ como se muestra en la


figura 3.1

9. Habiendo definido gamma, podemos observar la relación que existe una rela-
ción entre θ2 y γ tal y como se muestra en la ecuación 3.19

θ2 = π − γ = 180° − γ (3.19)

10. El lado opuesto a γ es r, teniendo esto en mente utilizamos ley de cosenos para
CAPÍTULO III. CINEMÁTICA INVERSA Y CINEMÁTICA DIFERENCIAL 46

Figura 3.1: Robot de 2 grados de libertad en configuración RR definiendo el ángulo gamma.

despejar gamma.

r2 = a21 + a22 − 2a1 a2 cos (γ) (3.20)

2a1 a2 cos (γ) = a21 + a22 − r2 (3.21)


a21 + a22 − r2
cos (γ) = (3.22)
2a1 a2
 2 2 2
−1 a1 + a2 − r
γ = cos (3.23)
2a1 a2
h2 = 2a1 a2 (3.24)

ca2 = a21 + a22 − r2 (3.25)


q 2
co2 = 4a21 a22 − a21 + a22 − r2 (3.26)
q 2 
2 2 2 2
4a1 a2 − a1 + a2 − r 2
γ = tan−1   (3.27)
a21 + a22 − r2

Quedando dos soluciones posibles para θ2

IV.- Cinemática de orientación inversa: Para este caso existen dos soluciones posibles,
al elegir raíces positivas, o raíces negativas. Se puede definir la configuración deseada
a partir de la orientación dada.
REFERENCIAS

[1] “¿Qué es un robot?” May. 2018. [En línea]. Disponible en: https://espabot.es/
que-es-un-robot/

[2] J. J. Craig, Robotica. Pearson Educación, 2006, google-Books-ID: hRzOp_qdxG8C.

[3] A. Avello Iturriagagoitia, Teoría de Máquinas, 2nd ed. Tecnun Universidad de


Navarra, 2014. [En línea]. Disponible en: https://dadun.unav.edu/bitstream/10171/
34797/1/Avello_Teoria_de_Maquinas_Edicion_2_Ene_2014.pdf

[4] K. M. Lynch y F. C. Park, Modern Robotics: Mechanics, Planning, and Control,


1st ed. Cambridge, UK: Cambridge University Press, Jul. 2017.

[5] M. W. Spong, S. Hutchinson, y M. Vidyasagar, Robot Dynamics and Control, 2nd ed.,
2004. [En línea]. Disponible en: http://home.deib.polimi.it/gini/robot/docs/spong.pdf

[6] “1.2. Objetivos de la Robótica Industrial: Objetivos de la Robótica Industrial.”


[En línea]. Disponible en: http://www.udesantiagovirtual.cl/moodle2/mod/book/view.
php?id=24897

[7] “Types of Robots - ROBOTS: Your Guide to the World of Robotics.” [En línea].
Disponible en: https://robots.ieee.org/learn/types-of-robots/

[8] “What Are The Main Types Of Robots?” [En línea]. Disponible en: /faq/
what-are-the-main-types-of-robots

[9] N. Lucid, Advanced Theoretical Physics: A Historical Perspective, Jun.


2015. [En línea]. Disponible en: https://www.lulu.com/shop/nick-lucid/

47
REFERENCIAS 48

advanced-theoretical-physics-a-historical-perspective/paperback/product-24250687.
html

[10] G. B. Arfken y H. J. Weber, “Mathematical Methods for Physicists, 4th ed.”


American Journal of Physics, vol. 67, no. 2, pp. 165–169, En. 1999. [En línea].
Disponible en: http://aapt.scitation.org/doi/abs/10.1119/1.19217

[11] “Propiedades de la suma.” [En línea]. Disponible en: https://www.aaamatematicas.


com/pro74ax2.htm

[12] “Properties of optical fibres 2.5.12.” [En línea]. Disponible en: http://www.kayelaby.
npl.co.uk/general_physics/2_5/2_5_12.html

[13] H. Young, R. A. Freedman, y A. L. Ford, University Physics with Mo-


dern Physics, 13th ed. Pearson Education, 2010. [En línea]. Disponible
en: http://www.academia.edu/27727258/University_Physics_with_Modern_Physics_
13th_Edition_-_Young_and_Freedman.pdf

También podría gustarte