Está en la página 1de 139

Universidad Nacional Autonoma de Mexico (UNAM)

Facultad de Ingeniera
Materia:
APUNTES DE CONTROL DE ROBOTS INDUSTRIALES
AUTOR:
M.I. Juan Carlo Rivera Due nas

Indice general

Indice de Figuras III

Indice de Tablas V
1. Introduccion 1
1.1. Que es la robotica? . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1. Diferentes tipos de robots . . . . . . . . . . . . . . . . 3
1.2. Robots industriales: componentes y
estructura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3. Tipos de actuadores . . . . . . . . . . . . . . . . . . . . . . . 5
1.4. Arreglos cinematicos comunes . . . . . . . . . . . . . . . . . . 6
2. Movimientos Rgidos y Trasformaciones Homogeneas 15
2.1. Rotaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2. Composicion de Rotaciones . . . . . . . . . . . . . . . . . . . 21
2.3. Propiedades de las Rotaciones . . . . . . . . . . . . . . . . . . 28
2.4. Trasformaciones Homogeneas . . . . . . . . . . . . . . . . . . 31
2.5. Matrices antisimetricas . . . . . . . . . . . . . . . . . . . . . 36
POSGRADO - UNAM
II
2.6. Velocidad y aceleracion angular . . . . . . . . . . . . . . . . . 39
3. Cinematica Directa 45
3.1. Cadenas cinematicas . . . . . . . . . . . . . . . . . . . . . . . 45
3.2. La representacion de DenavitHartenberg . . . . . . . . . . . 48
4. Cinematica inversa 61
4.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.2. Desacoplamiento cinematico . . . . . . . . . . . . . . . . . . . 62
4.3. Posici on inversa: Un metodo geometrico . . . . . . . . . . . . 65
4.3.1. Conguracion articulada . . . . . . . . . . . . . . . . . 66
4.3.2. Conguracion esferica . . . . . . . . . . . . . . . . . . 70
4.4. Orientaci on inversa . . . . . . . . . . . . . . . . . . . . . . . . 72
4.4.1.

Angulos de Euler . . . . . . . . . . . . . . . . . . . . . 73
5. El Jacobiano del manipulador 77
5.1. Calculo del Jacobiano . . . . . . . . . . . . . . . . . . . . . . 78
5.2. Singularidades . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.2.1. Desacople de Singularidades . . . . . . . . . . . . . . . 88
6. Dinamica de un robot manipulador 90
6.1. Formulacion de EulerLagrange . . . . . . . . . . . . . . . . . 91
6.1.1. Calculo de la velocidad de un punto del robot utilizan-
do DH . . . . . . . . . . . . . . . . . . . . . . . . . . 92
6.1.2. Calculo de la energa cinetica: Metodo 1 . . . . . . . . 96
6.1.3. Calculo de la energa cinetica: Metodo 2 . . . . . . . . 100
6.1.4. Calculo de la energa potencial . . . . . . . . . . . . . 105
6.2. Ecuaciones de movimiento de un manipulador . . . . . . . . . 105
6.3. Propiedades del modelo del robot . . . . . . . . . . . . . . . . 121
6.3.1. Propiedades de las matrices . . . . . . . . . . . . . . . 121
6.3.2. Propiedades relacionadas con cotas de normas . . . . . 127
6.3.3. Propiedades relacionadas con todo el modelo . . . . . 131
Bibliografa 133
POSGRADO - UNAM

Indice de guras
1.1. Sistema experimental con componentes . . . . . . . . . . . . . 2
1.2. Tipos de articulaciones basicas . . . . . . . . . . . . . . . . . . 4
1.3. Conguracion articulada y su espacio de trabajo. . . . . . . . 7
1.4. Conguracion esferica y su espacio de trabajo. . . . . . . . . . 8
1.5. Conguracion SCARA y su espacio de trabajo. . . . . . . . . . 9
1.6. Conguracion cilndrica y su espacio de trabajo. . . . . . . . . 10
1.7. Conguracion cartesiana y su espacio de trabajo. . . . . . . . 11
1.8. Conguracion mu neca esferica y su espacio de trabajo. . . . . 12
1.9. Conguracion mu neca esferica y su espacio de trabajo. . . . . 13
2.1. Sistema de coordenadas jo en un cuerpo rgido . . . . . . . . 16
2.2. Rotacion alrededor del eje z
0
. . . . . . . . . . . . . . . . . . 19
2.3. Rotacion alrededor del eje y . . . . . . . . . . . . . . . . . . . 21
2.4. Rotacion respecto al sistema anterior. . . . . . . . . . . . . . . 23
2.5. Rotacion en sentido contrario. . . . . . . . . . . . . . . . . . . 24
2.6. Rotacion respecto a un sistema base. . . . . . . . . . . . . . . 25
2.7. Rotacion respecto a un eje arbitrario. . . . . . . . . . . . . . . 27
2.8. Representaci on de los angulos de Euler. . . . . . . . . . . . . . 29
POSGRADO - UNAM

INDICE DE FIGURAS IV
2.9.

Angulos roll, pitch y yaw . . . . . . . . . . . . . . . . . . . . . 30
2.10. Translaci on paralela de un sistema de coordenadas. . . . . . . 31
2.11. Transformaci on de un sistema de coordenadas. . . . . . . . . . 32
2.12. Transformaci on de un sistema de coordenadas. . . . . . . . . . 33
2.13. Derivada de un punto que no se mueve . . . . . . . . . . . . . 41
2.14. Diagrama introduciendo una traslacion . . . . . . . . . . . . . 41
3.1. Sistema de coordenadas jo en un manipulador tipo codo . . . 46
3.2. Sistema de coordenadas que satisfacen DH. . . . . . . . . . . 50
3.3. Sistema de coordenadas de la Herramienta empleando DH. . 50
3.4. Calculo de distancias a
i
y d
i
. . . . . . . . . . . . . . . . . . . 51
3.5. Calculo de angulos
i
y
i
. . . . . . . . . . . . . . . . . . . . . 51
3.6. Robot planar de 2 grados de libertad. . . . . . . . . . . . . . . 52
3.7. Calculo de
0
A
1
por inspeccion. . . . . . . . . . . . . . . . . . . 54
3.8. Conguracion cilndrica . . . . . . . . . . . . . . . . . . . . . . 55
3.9. Calculo de
0
A
1
por inspeccion. . . . . . . . . . . . . . . . . . . 56
3.10. Calculo de
0
A
1
por inspeccion. . . . . . . . . . . . . . . . . . . 57
3.11. Robot con conguracion RRPR. . . . . . . . . . . . . . . . . . 58
4.1. Diagrama de desacoplamiento cinematico. . . . . . . . . . . . 64
4.2. Conguracion tipo codo. . . . . . . . . . . . . . . . . . . . . . 66
4.3. Conguracion singular. . . . . . . . . . . . . . . . . . . . . . . 68
4.4. Conguracion brazo izquierdo. . . . . . . . . . . . . . . . . . . 69
4.5. Conguracion brazo derecho. . . . . . . . . . . . . . . . . . . . 70
4.6. Proyecci on en el plano de la articulacion 2 y 3. . . . . . . . . . 71
4.7. Manipulador esferico. . . . . . . . . . . . . . . . . . . . . . . . 72
4.8. Manipulador SACARA. . . . . . . . . . . . . . . . . . . . . . 75
5.1. Movimiento del efector nal debido a la articulacion prismatica 81
5.2. Movimiento del efector nal debido a la articulacion de rev-
olucion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.3. Manipulador planar de 2 elementos . . . . . . . . . . . . . . . 85
6.1. Un punto
i
r
i
en el elemento i . . . . . . . . . . . . . . . . . . 93
6.2. Un manipulador de dos elementos . . . . . . . . . . . . . . . . 109
POSGRADO - UNAM

Indice de tablas
3.1. Par ametros del manipulador planar de dos elementos . . . . . 53
3.2. Par ametros de la conguracion cilindrica. . . . . . . . . . . . . 54
3.3. Par ametros de la mu neca esferica . . . . . . . . . . . . . . . . 56
3.4. Par ametros de la mu neca esferica con el sistema base en la
primer articulacion. . . . . . . . . . . . . . . . . . . . . . . . . 58
3.5. Par ametros del manipulador RRPR. . . . . . . . . . . . . . . 59
POSGRADO - UNAM
Cap

tulo
1
Introduccion
El curso de robotica tiene por objetivo principal desarrollar esquemas de
control para robots industriales. Para ello, se estudia la cinematica directa e
inversa de este tipo de manipuladores, as como la descripcion de su dinamica
mediante el formalismo Euler-Lagrange. El modelo resultante se analiza para
explotar las propiedades fsicas del sistema. Finalmente, se utilizan diversas
tecnicas de control para seguimiento de trayectoria y movimiento restringido
(control de fuerza). Entre otras, pasividad, dise no y redise no de Lyapunov,
algoritmos adaptables y dise no de observadores.
1.1. Que es la robotica?
El termino robot fue introducido por el escritor checo Karel Capek en
su libro Rossums Universal Robot. Robota es la palabra checa para trabajo.
Desde entonces, el termino ha sido utilizado en una gran variedad de aparatos
mecanicos, como teleoperadores, vehculos sumergibles, etc.
En el presente curso, el termino se utilizara para designar manipuladores
mecanicos como el que se muestra en la Figura (1.1). Este tipo de robots
POSGRADO - UNAM
1.1. QU

E ES LA ROB

OTICA? 2
es basicamente un brazo mecanico controlado por computadora. Una posible
denicion para este tipo de robots es la siguiente.
Figura 1.1: Sistema experimental con componentes
POSGRADO - UNAM
1.1. QU

E ES LA ROB

OTICA? 3
Denicion 1.1.1 Un robot es un manipulador multifuncional programable
dise nado para mover materiales, partes, herramientas, o equipos especializa-
dos por medio de movimientos variables programados para la realizacion de
varias tareas.
El elemento clave de la denicion anterior es la reprogramabilidad de los
robots. Es el cerebro del robot lo que proporciona su utilidad y adaptabilidad.
Entre las ventajas en favor de la introduccion de los robots es la reduccion en
los costos de produccion, aumento de la precision, incremento en la exibili-
dad comparada con las maquinas especializadas. Ademas, los robots pueden
llevar a cabo trabajos que son peligrosos para los seres humanos.
1.1.1. Diferentes tipos de robots
Clasicacion de los robots deacuerdo a la JIRA (Japanese Industrial
Robot Association).
Clase 1(Manual ).- Dispositivos de multiples grados de libertad, en
el cual el operador controla directamente la tarea del manipulador.
Clase 2(Secuencia ja).- Dispositivos que ejecutan tareas deacuerdo
a procesos predeterminados y son difciles de modicar.
Clase 3(secuencia variable).-Se pueden alterar algunas caractersti-
cas de sus ciclos de trabajo.
Clase 4(PlayBack).-Repiten secuencias de movimientos previamente
ejecutadas (mostradas) por un operador. Estos robots tienen un con-
trol de lazo abierto.
Clase 5(Control numerico).- Tienen un control de lazo cerrado,
pueden seguir trayectorias programadas por software.
Clase 6(Inteligentes).- Similares a la clase 5, pero son capaces de
relacionarse con el ambiente en el que trabajan por medio de sensores
y toman decisiones en tiempo real (son autoprogramables).
POSGRADO - UNAM
1.2. ROBOTS INDUSTRIALES: COMPONENTES Y
ESTRUCTURA 4
1.2. Robots industriales: componentes y
estructura
Los robots manipuladores se componen de:
elementos o eslabones (link)
uniones o articulaciones (joint)
Los elementos se unen por medio de las articulaciones, las cuales pueden
ser:
revolucion o rotacionales.- Permiten a dos elementos rotar uno con
respecto al otro.
prismaticas o lineales.- Permiten un movimiento lineal entres dos
eslabones.
La siguiente Figura muestra dos representaciones estandar de este tipo
de articulaciones:
Figura 1.2: Tipos de articulaciones basicas
Normalmente se utiliza la convencion (R) para articulaciones rotacionales
y (P) para articulaciones prismaticas. Cada articulacion representa la conexion
POSGRADO - UNAM
1.3. TIPOS DE ACTUADORES 5
entre dos elementos, l
i
y l
i+1
. Las variables de las articulaciones se suelen
denotar por
i
para articulaciones rotacionales y por d
i
para prismaticas. Sin
embargo, cuando no haya lugar a confusion se utilizara la notacion
i
para
ambos tipos de articulaciones.
1.3. Tipos de actuadores
Los actuadores mas comunes para las articulaciones son:
electricos.-Son peque nos, precisos y baratos.
hidraulicos.- Son actuadores grandes y fuertes, proporcionan gran
resistencia mecanica. El problema es que necesitan mucho espacio y
tienen fugas de aceite. Las presiones que manejan son 1000 a 3000
libras/pulgada
2
.
neumaticos.- Son mas veloces que los hidraulicos tienen problemas de
histeresis trabajan a 100 libras/pulgada
2
.
El n umero de articulaciones determina los grados de libertad del ma-
nipulador. Tpicamente, un manipulador debera poseer al menos 6 grados de
libertad: 3 para posicion y 3 para orientaci on. Con un n umero menor de
grados de libertad no se puede alcanzar cualquier punto del espacio de tra-
bajo con una orientaci on arbitraria. Un manipulador con mas de 6 grados de
libertad se conoce como un manipulador cinematicamente redundante.
El espacio de trabajo de un manipulador es el volumen total abarcado
por el efector nal cuando el robot ejecuta todos los movimientos posibles.
El espacio de trabajo esta limitado por restricciones geometricas y en las
articulaciones. El espacio de trabajo se puede dividir en:
espacio de trabajo alcanzable.-Es el conjunto de puntos que puede
alcanzar el manipulador efectuando todos los movimientos posibles.
espacio de trabajo de destreza.- Son todos los puntos que el robot
puede alcanzar con orientacion arbitraria.
Otros conceptos importantes son:
POSGRADO - UNAM
1.4. ARREGLOS CINEM

ATICOS COMUNES 6
Denicion 1.3.1 La precision de un manipulador es una medida de que
tan cerca puede alcanzar el robot un punto dado dentro del espacio de tra-
bajo. La repetivilidad repeatability es una medida de que tan cerca puede
alcanzar el robot un punto que le fue ense nado con anterioridad.
Para medir la posicion de una articulacion se suele utilizar encoders dig-
itales conectados directamente en el eje del motor o bien en la articulacion
misma. Normalmente no se mide la posicion del efector nal de manera di-
recta. Se calcula con base en el conocimiento de la geometra del robot. Por
esta razon es que los robots se dise nan para ser rgidos. No obstante, actual-
mente existe la tendencia a reducir el peso de los manipuladores, por lo que
el estudio de robots con elementos elasticos ha tomado auge en los ultimos
a nos.
1.4. Arreglos cinematicos comunes
Aunque en principio un robot manipulador es un dispositivo de proposito
general, en la practica los robots se dise nan pensando en una labor especca.
La aplicacion determina la eleccion de varios parametros de dise no del contro-
lador, incluyendo la estructura cinematica. Los robots manipuladores pueden
ser clasicados de acuerdo con varios criterios, tales como su geometra o su
estructura cinematica, el tipo de aplicaciones para las cuales estan dise nados,
la forma en la cual son controlados, etc. A lo largo del curso, los manipu-
ladores seran clasicados principalmente de acuerdo con su geometra. La
mayora de los robots industriales tienen 6 o menos grados de libertad. Estos
manipuladores se clasican cinematicamente tomando en cuenta la base del
brazo o bien sus primeras tres articulaciones, mientras que la mu neca se de-
scribe de manera separada. La mayora de los manipuladores caen dentro de
una de las siguientes 5 categoras: articulados (RRR), esfericos (RRP),
SCARA (RRP), cilndricos (RPP), o cartesianos (PPP).
POSGRADO - UNAM
1.4. ARREGLOS CINEM

ATICOS COMUNES 7
1. Conguracion articulada/antropomorca(RRR). Este tipo de
manipuladores se conoce tambien como manipuladores rotacionales o
antropomorcos. En este tipo de conguracion, el eje z
2
es paralelo al
eje z
1
, y ambos son perpendiculares a z
0
. La estructura y terminologa
asociadas con el manipulador tipo codo junto con su espacio de trabajo
se muestra en la Figura (1.3):
Figura 1.3: Conguracion articulada y su espacio de trabajo.
La conguracion articulada permite una libertad de movimiento relati-
vamente grande en un espacio de trabajo reducido; por lo cual es quizas
la conguracion mas utilizada para robots industriales.
POSGRADO - UNAM
1.4. ARREGLOS CINEM

ATICOS COMUNES 8
2. Conguracion esferica (RRP). Reemplazando la tercera articu-
lacion en la conguracion rotacional por una articulacion prismatica,
se obtiene la conguracion esferica que se muestra en la Figura (1.4):
Figura 1.4: Conguracion esferica y su espacio de trabajo.
El termino conguracion esferica proviene del hecho de que las coorde-
nadas esfericas que denen la posicion del actuador nal con respecto a
un marco de referencia cuyo origen esta en la interseccion del los ejes z
1
y z
2
son iguales a las tres primeras variables de las articulaciones. Un
robot con este tipo de articulacion es el manipulador Stanford (Spong
y Vidyasagar 2006):
El espacio de trabajo de un manipulador esferico se muestra en la
Figura (1.4).
POSGRADO - UNAM
1.4. ARREGLOS CINEM

ATICOS COMUNES 9
3. Conguracion SCARA (RRP). Esta conguracion es popular en
labores de ensamblado. Cabe hacer notar que, a pesar de tener una
estructura RRP, esta no es parecida a la esferica. En realidad, su apari-
encia y su rango de aplicacion son distintos. Mientras que la congu-
racion esferica del dise no Stanford tiene ejes z
0
, z
1
y z
2
mutuamente
perpendiculares, la conguracion SCARA tiene los ejes z
0
, z
1
y z
2
mu-
tuamente paralelos. La Figura (1.5) muestra la conguracion de este
tipo de manipuladores.
Figura 1.5: Conguracion SCARA y su espacio de trabajo.
El espacio de trabajo este tipo de manipuladores se muestra en la Figura
1.5.
POSGRADO - UNAM
1.4. ARREGLOS CINEM

ATICOS COMUNES 10
4. Conguracion cilndrica (RPP). La conguracion cilndrica se mues-
tra en la Figura (1.6). La primera articulacion es rotacional y produce
una rotacion alrededor de la base, mientras que la segunda y la tercera
son prismaticas. Como el nombre lo sugiere, las variables de las artic-
ulaciones son las coordenadas cilndricas del efector nal con respecto
a la base.
Figura 1.6: Conguracion cilndrica y su espacio de trabajo.
El espacio de trabajo este tipo de manipuladores se muestra en la Figura
(1.6).
POSGRADO - UNAM
1.4. ARREGLOS CINEM

ATICOS COMUNES 11
5. Conguracion cartesiana (PPP). Un manipulador cuyas tres primeras
articulaciones son prismaticas se conoce como manipulador cartesiano.
La conguracion se muestra en la Figura (1.7).
Figura 1.7: Conguracion cartesiana y su espacio de trabajo.
Para el manipulador cartesiano, las variables de las articulaciones son
las coordenadas cartesianas del efector nal con respecto a la base.
Como es de esperarse, la descripcion de la cinematica de este tipo de
manipuladores es la mas simple de todas. El espacio de trabajo este
tipo de manipuladores se muestra en la Figura (1.7).
POSGRADO - UNAM
1.4. ARREGLOS CINEM

ATICOS COMUNES 12
6. Conguracion Mu necas Esferica (RRR).Se reere a las articula-
ciones en la cadena cinematica entre el brazo y la mano. Las articu-
laciones de la mu neca son casi siempre rotacionales. Se suele dise nar
manipuladores con mu necas esfericas, que son aquellas en las cuales
los ejes de las articulaciones se intersecan en un punto en com un. La
mu neca esferica se representa simbolicamente en la Figura siguiente
(1.8):
Figura 1.8: Conguracion mu neca esferica y su espacio de trabajo.
La mu neca esferica simplica notoriamente el analisis cinematico, per-
mitiendo desacoplar el posicionamiento y la orientaci on de un objeto
en gran medida. Por consiguiente, los manipuladores poseen tres gra-
dos de libertad, o mas, para posicionamiento. El n umero de grados de
libertad para orientacion depende del n umero de grados de libertad de
la mu neca. Es com un encontrar mu necas con uno, dos o tres grados de
libertad, dependiendo de la aplicacion.
POSGRADO - UNAM
1.4. ARREGLOS CINEM

ATICOS COMUNES 13
Otra parte importante del robot es la mano u organo terminal. El
brazo y la mu neca son utilizados principalmente para posicionamiento del
organo terminal y cualquier herramienta que esta lleve. Es el organo terminal
o la herramienta la que verdaderamente lleva a cabo el trabajo. El tipo mas
simple de organo terminal son las pinzas, como las que se muestran en la
Figura (1.9):
Figura 1.9: Conguracion mu neca esferica y su espacio de trabajo.
Las pinzas son solamente capaces de abrir y cerrar. Este tipo de organo
terminal son adecuados para movimiento de materiales o agarre de her-
ramientas, pero no para otras labores como soldadura de materiales. Por
tanto es un area de investigacion actual el estudio de manos mecanicas que
realicen labores mas complicadas.
Otras formas de clasicar robots son los siguientes:
1. Fuente de poder. La mayora de los robots son actuados electrica,
hidraulica o neumaticamente. Los actuadores hidraulicos no tienen ri-
val en cuanto a su velocidad de respuesta y capacidad de generar par.
Es la razon por la que los robots hidraulicos son utilizados para levan-
tar objetos pesados. Algunas desventajas de los robots hidraulicos son
que suele haber perdida del uido hidraulico, requieren mayor equipo
periferico (como bombas) y, por tanto, mayor mantenimiento. Ademas,
son ruidosos. Los robots actuados por motores de corriente directa o
POSGRADO - UNAM
1.4. ARREGLOS CINEM

ATICOS COMUNES 14
alterna son bastante populares porque son mas baratos, limpios y silen-
ciosos. Los robots neumaticos no economicos y simples pero no pueden
ser controlados de manera precisa. Por consiguiente, este tipo de robots
estan limitados en su rango de aplicaciones y popularidad
2.

Area de aplicacion. Puesto que los robots manipuladores son fre-
cuentemente utilizados en el area de ensamblaje, a menudo se les clasi-
ca por su aplicacion en robots para ensamblado y no ensamblado.
Los robots para ensamblado tienden a ser peque nos, actuados electri-
camente. Tienen dise no rotacional o SCARA. Las areas mayores de no
ensamblado son manejo de materiales, carga y descarga de maquinaria
y pintado.
3. Metodo de control. Los robots se clasican de acuerdo con el metodo
de control en robots servo y no servo. Los primeros robots no eran
servo. Estos robots eran basicamente dispositivos en lazo abierto cuyo
movimiento estaba limitado por paradas mecanicas predeterminadas, y
eran utiles para transferencia de materiales. De hecho, de acuerdo a la
denicion dada previamente, esta clase de manipuladores difcilmente
calican como robots. Los servo robots utilizan control por computa-
dora en lazo cerrado para determinar su movimiento, por lo que son
verdaderamente capaces de ser multifuncionales y reprogramables.
Los robots servo se clasican de acuerdo con el metodo que el contro-
lador utiliza para guiar al organo terminal. El tipo mas simple de robot
en esta clase es el robot punto a punto. A un robot punto a punto se le
pueden ense nar un conjunto discreto de puntos, pero no existe control
entre la trayectoria de los puntos del conjunto. A este tipo de robots se
les ense na una serie de puntos con el dispositivo conocido como teach
pendant. Los robots punto a punto estan severamente limitados en su
rango de aplicaciones. En los robots de trayectoria continua, por otro
lado, la trayectoria completa del organo terminal puede ser controlada.
Por ejemplo, al organo terminal se le puede ense nar a seguir una lnea
recta entre dos puntos o cualquier otra curva en el espacio. Ademas,
la velocidad y la aceleracion del organo terminal tambien pueden ser
controladas. Estos son los robots mas avanzados
POSGRADO - UNAM
Cap

tulo
2
Movimientos Rgidos y Trasfor-
maciones Homogeneas
Una buena parte de la cinematica de un robot esta relacionada con el es-
tablecimiento de varios sistemas coordinados para representar las posiciones y
orientaciones de objetos rgidos y con transformaciones entre estos ejes coor-
dinados. En realidad, la geometra del espacio tridimensional y del movimien-
to rgido juega un papel importante en todos los aspectos de la manipulacion
robotica.
POSGRADO - UNAM
2.1. ROTACIONES 16
2.1. Rotaciones
Considerese la siguiente Figura (2.1):
Figura 2.1: Sistema de coordenadas jo en un cuerpo rgido
En esta se muestra el cuerpo rgido S al cual se le ha agregado el sistema
de coordenadas Ox
1
y
1
z
1
. Se desea relacionar las coordenadas de un punto p
sobre S en el sistema de coordenadas Ox
1
y
1
z
1
con las coordenadas del mismo
punto p en un sistema de referencia jo Ox
0
y
0
z
0
, es decir, un sistema que
no ha sido rotado. Sea i
0
, j
0
, k
0
la base estandar ortonormal en Ox
0
y
0
z
0
. De
esta forma i
0
, j
0
, k
0
son vectores de magnitud unitaria a lo largo de los ejes
x
0
, y
0
y z
0
, respectivamente. De manera similar, i
1
, j
1
, k
1
es la base estandar
ortonormal en Ox
1
y
1
z
1
. Es claro que el vector p expresado en el sistema
Ox
0
y
0
z
0
esta dado por:
p
0
= p
0x
i
0
+ p
0y
j
0
+ p
0z
k
0
, (2.1)
mientras que expresado en el sistema Ox
1
y
1
z
1
se tiene:
p
1
= p
1x
i
1
+ p
1y
j
1
+ p
1z
k
1
. (2.2)
Puesto que p
0
y p
1
representan el mismo vector p, la relacion entre los
componentes de p y los dos sistemas de coordenadas puede obtenerse, toman-
do en cuenta que los vectores i
0
, j
0
, k
0
son ortonormales, como sigue:
p
0x
= p
0
i
0
= p
1
i
0
= p
1x
i
1
i
0
+ p
1y
j
1
i
0
+ p
1z
k
1
i
0
. (2.3)
POSGRADO - UNAM
2.1. ROTACIONES 17
De la misma forma se puede calcular:
p
0y
= p
1x
i
1
j
0
+ p
1y
j
1
j
0
+ p
1z
k
1
j
0
(2.4)
p
0z
= p
1x
i
1
k
0
+ p
1y
j
1
k
0
+ p
1z
k
1
k
0
. (2.5)
En forma matricial se puede escribir
p
0
=
0
R
1
p
1
, (2.6)
donde
_
_
p
ox
p
oy
p
oz
_
_
=
_

_
i
1
i
0
j
1
i
0
k
1
i
0
i
1
j
0
j
1
j
0
k
1
j
0
i
1
k
0
j
1
k
0
k
1
k
0
_

_
_
_
p
1x
p
1y
p
1z
_
_
(2.7)
La matriz anterior de 3 3 representa la matriz de transformacion de las
coordenadas de p con respecto al sistema de coordenadas Ox
1
y
1
z
1
a las co-
ordenadas de p con respecto al sistema de coordenadas Ox
0
y
0
z
0
. Es decir,
si un punto dado se expresa en el sistema de coordenadas Ox
1
y
1
z
1
como
p
1
, entonces
0
R
1
p
1
representa el mismo vector expresado en el sistema de
coordenadas Ox
0
y
0
z
0
.
De manera similar se puede escribir:
p
1x
= p
1
i
1
= p
0
i
1
= p
0x
i
0
i
1
+ p
0y
j
0
i
1
+ p
0z
k
0
i
1
, (2.8)
por lo que se puede obtener:
p
1
=
1
R
0
p
0
, (2.9)
donde
1
R
0
=
_

_
i
0
i
1
j
0
i
1
k
0
i
1
i
0
j
1
j
0
j
1
k
0
j
1
i
0
k
1
j
0
k
1
k
0
k
1
_

_
. (2.10)
POSGRADO - UNAM
2.1. ROTACIONES 18
As, la matriz
1
R
0
representa la transformacion inversa de
0
R
1
. Puesto que
el producto interno es conmutativo, es decir, j
0
k
1
= k
1
j
0
, etc., se tiene
que:
1
R
0
=
0
R
1
1
=
0
R
T
1
. (2.11)
Se dice que una matriz como
0
R
1
cuya inversa es igual a su transpues-
ta es una matriz ortogonal. Las columnas de
0
R
1
son vectores de magni-
tud unitaria mutuamente ortogonales. Se puede mostrar tambien que det
0
R
1
= 1 (puesto que el determinante de una matriz es igual al determi-
nante de su transpuesta). Para determinar el signo del determinante de
0
R
1
,
se debe recordar de los conceptos basicos del algebra lineal que (Murray
et al. 2004: pp. 23):
[
0
R
1
[ = r
T
1
(r
2
r
3
) .
Puesto que se trabaja con sistemas de coordenadas derechos, se tiene que
r
1
= r
2
r
3
, de tal forma que [
0
R
1
[ = r
T
1
r
1
= 1. Por simplicidad, se
llamara a matrices ortogonales con determinante +1 como matrices de
rotacion. Normalmente, para referirse al conjunto de todas las matrices de
rotacion de 3 3 se utiliza el smbolo SO(3), que proviene del termino ingles
Special Orthogonal.
Ejemplo 2.1.1 Supongase que un sistema de coordenadas Ox
1
y
1
z
1
se rota
un angulo alrededor del eje z
0
de otro sistema de coordenadas Ox
0
y
0
z
0
,
como se muestra en la Figura 2.3:
Encontrar la matriz de transformacion
0
R
1
.
Solucion.
Cabe hacer notar que, por convencion, el sentido positivo para el angulo
esta dado por la regla de la mano derecha. Recordando que (?: pp. 119):
a b = |a| |b| cos(),
POSGRADO - UNAM
2.1. ROTACIONES 19
jsenq
jcosq
icosq
isenq
1
1
1
1
Figura 2.2: Rotacion alrededor del eje z
0
se calcula de la Figura:
i
1
i
0
= cos
i
1
j
0
= cos
_

2

_
j
1
i
0
= cos
_

2
+
_
j
1
j
0
= cos
k
1
k
0
= 1.
Ademas, utilizando la relacion trigonometrica:
cos(a b) = cos(a) cos(b) sin(a) sin(b),
se puede obtener
j
1
i
0
= sin
i
1
j
0
= sin .
El resto de los productos punto son cero, como puede apreciarse de (2.7). De
esta forma se tiene:
0
R
1
=
_
_
cos sin 0
sin cos 0
0 0 1
_
_
. (2.12)
POSGRADO - UNAM
2.1. ROTACIONES 20

Puesto que la rotacion se da exclusivamente alrededor del eje z


0
, a
0
R
1
se le suele denotar tambien como R
z,
y se le llama matriz de rotacion
basica (alrededor del eje z). Dos propiedades de esta matriz que son muy
faciles de vericar son las siguientes:
R
z,0
= I (2.13)
R
z,
R
z,
= R
z,+
(2.14)
R
1
z,
= R
z,
. (2.15)
Asimismo es posible calcular las matrices de rotacion alrededor de los ejes x
e y como:
R
x,
=
_
_
1 0 0
0 cos sin
0 sin cos
_
_
(2.16)
R
y,
=
_
_
cos 0 sin
0 1 0
sin 0 cos
_
_
. (2.17)
Tanto R
x,
como R
y,
tienen las propiedades analogas a las de R
z,
.
Una matriz de rotacion dada tambien se puede interpretar como la ori-
entaci on del sistema de coordenadas Ox
1
y
1
z
1
relativa al sistema de coorde-
nadas Ox
0
y
0
z
0
. De hecho, las columnas de
0
R
1
son los cosenos directores de
los ejes coordenados en Ox
1
y
1
z
1
relativos al sistema de coordenadas Ox
0
y
0
z
0
.
Por ejemplo, la primera columna
_
i
1
i
0
i
1
j
0
i
1
k
0

T
de
0
R
1
especica
la direccion del eje x
1
relativa al sistema Ox
0
y
0
z
0
.
Ejemplo 2.1.2 (?: pp. 37)
El vector p
0
=
_
1 1 0

T
se rota alrededor del eje y
0
por /2 como se mues-
tra en la Figura ??:
POSGRADO - UNAM
2.2. COMPOSICI

ON DE ROTACIONES 21
Figura 2.3: Rotacion alrededor del eje y
El vector resultante p
1
esta dado por::
p
1
= R
y,

2
p
0
=
_
_
cos

2
0 sin

2
0 1 0
sin

2
0 cos

2
_
_
_
_
1
1
0
_
_
=
_
_
0 0 1
0 1 0
1 0 0
_
_
_
_
1
1
0
_
_
=
_
_
0
1
1
_
_
.

2.2. Composicion de Rotaciones


Recuerdese que la matriz de rotacion
0
R
1
en (2.6):
p
0
=
0
R
1
p
1
,
representa una transformacion rotacional entre los sistemas de coordenadas
Ox
0
y
0
z
0
y Ox
1
y
1
z
1
. Supongase que ahora se agrega un tercer sistema de
POSGRADO - UNAM
2.2. COMPOSICI

ON DE ROTACIONES 22
coordenadas Ox
2
y
2
z
2
relacionado con los sistemas Ox
0
y
0
z
0
y Ox
1
y
1
z
1
por
medio de transformaciones rotacionales. De este modo, un punto p puede
ser representado de tres formas: p
0
, p
1
y p
2
, dependiendo del sistema de
coordenadas. De manera natural se tiene que la relacion entre las distintas
representaciones de p es:
p
0
=
0
R
1
p
1
(2.18)
p
0
=
0
R
2
p
2
(2.19)
p
1
=
1
R
2
p
2
, (2.20)
donde
i
R
j
es una matriz de rotacion. Notese que
0
R
1
y
0
R
2
representan
rotaciones relativas al sistema Ox
0
y
0
z
0
, mientras que
1
R
2
representa una
rotacion relativa al sistema Ox
1
y
1
z
1
. Sustituyendo (2.20) en (2.18) lleva a
p
1
=
0
R
1
1
R
2
p
2
. (2.21)
Comparando (2.19) con (2.21) se observa que:
0
R
2
=
0
R
1
1
R
2
. (2.22)
La ecuacion (2.22) es la regla de composicion para relaciones rotacionales.
Esta regla establece que, para transformar las coordenadas de un punto p
de su representaci on p
2
en el sistema Ox
2
y
2
z
2
a su representacion p
0
en el
sistema Ox
0
y
0
z
0
, se puede transformar primero a su representaci on p
1
en el
sistema Ox
1
y
1
z
1
utilizando la transformacion
1
R
2
y despues transformar p
1
en p
0
utilizando
0
R
1
.
La ecuacion (2.21) se puede interpretar como sigue: supongase que ini-
cialmente se tienen sistemas de coordenadas que coinciden. Primero se rotan
Ox
1
y
1
z
1
y Ox
2
y
2
z
2
con respecto a Ox
0
y
0
z
0
de acuerdo con la transformacion
0
R
1
. Luego, tomando en cuenta que los sistemas Ox
1
y
1
z
1
y Ox
2
y
2
z
2
coinci-
den, se rota Ox
2
y
2
z
2
con respecto a Ox
1
y
1
z
1
de acuerdo con la transformacion
1
R
2
. En cada caso, al sistema con respecto al cual se efect ua la rotacion se
le llama sistema actual.
POSGRADO - UNAM
2.2. COMPOSICI

ON DE ROTACIONES 23
Ejemplo 2.2.1 En adelante, siempre que sea conveniente, se utilizara la
notacion c

= cos y s

= sin para funciones trigonometricas. Supongase


que una matriz de rotacion R representa una rotacion de grados alrededor
del eje y actual seguida de una rotacion de grados alrededor del eje z actual.
Entonces la matriz R puede verse en la Figura 2.4:
X
0
Y
0
Z
0
=
>
R
y,90
X
1
Z
1
Y
1
=
>
R
z,90
X
2
Y
2
Z
2
Figura 2.4: Rotacion respecto al sistema anterior.

Es importante recordar que el orden en el cual las secuencias de rotaciones


son llevadas a cabo y, consecuentemente, el orden en el cual las matrices de
rotacion son multiplicadas, es crucial. La razon es que la rotacion, a difer-
encia de la posicion, no es una cantidad vectorial y, por consiguiente, no
esta sujeta a las leyes de adicion vectorial. De este modo, las transforma-
ciones rotacionales no son conmutativas en general.
Ejemplo 2.2.2 Supongase que las rotaciones del Ejemplo 2.2.1 son llevadas
a cabo en orden inverso, es decir, primero una rotacion alrededor del eje z
actual y luego una alrededor del eje y actual. Entonces se tiene la Figura 2.5:

POSGRADO - UNAM
2.2. COMPOSICI

ON DE ROTACIONES 24
X
0
Y
0
Z
0
=
>
R
y,90
Z
1
Y
1
=
>
R
z,90
X
1
X
2
Y
2
Z
2
Figura 2.5: Rotacion en sentido contrario.
Comparando (2.2.1) con (2.2.2) es facil notar que R ,= R

.
Algunas veces es deseable llevar a cabo una secuencia de rotaciones alrede-
dor de un sistema de coordenadas jo, en vez de alrededor de sistemas de
coordenadas actuales sucesivos. Por ejemplo, se podra desear llevar a cabo
una rotacion alrededor del eje x
0
seguida de una rotacion alrededor del eje
y
0
(no del eje y
1
, el eje actual). A Ox
0
y
0
z
0
se le llama sistema o marco
jo. En este caso, la ley de composicion que se obtuvo anteriormente ya no
es valida. En realidad, se puede mostrar que la composicion correcta en este
caso consiste simplemente en multiplicar las matrices de rotacion en orden
inverso al dado por (2.22), es decir:
0
R
2
=
1
R
2
0
R
1
.
Notese que las rotaciones mismas no son llevadas a cabo en orden inverso.
Sin embargo, se llevan a cabo en el marco jo y no en el actual.
Ejemplo 2.2.3 Supongase que una matriz de rotacion R representa una
rotacion de grados alrededor del eje y
0
, seguida de una rotacion de grados
alrededor del eje jo z
0
. Esto se muestra en la Figura 2.6:
Sean p
0
, p
1
y p
2
las representaciones de un vector p, como se muestra.
Inicialmente el eje jo y el eje actual son los mismos, a saber Ox
0
y
0
z
0
. Por
POSGRADO - UNAM
2.2. COMPOSICI

ON DE ROTACIONES 25
X
0
Y
0
Z
0
=
>
R
y,90
=
>
R
z,90
X
2
Y
2
Z
2
o
o
X
1
Z
1
Y
1
P
0
P
0
P
1
P
P
2
P
Figura 2.6: Rotacion respecto a un sistema base.
consiguiente se puede escribir:
p
0
= R
y,
p
1
, (2.23)
donde R
y,
es la matriz de rotacion basica alrededor del eje y. Ahora bien,
puesto que la segunda rotacion es alrededor de un eje del sistema de coorde-
nadas jo Ox
0
y
0
z
0
y no alrededor del eje actual Ox
1
y
1
z
1
, la siguiente relacion
no es valida
p
1
= R
z,
p
2
, (2.24)
puesto que en este caso R
z,
se interpretara como una rotacion alrededor
del eje z
1
. Para poder utilizar la ley de composicion anterior, se necesita
de alg un modo que los ejes jo y actual, en este caso z
0
y z
1
, coincidan.
Por consiguiente, primero se debe deshacer la primera rotacion, luego rotar
alrededor del eje z
0
y, por ultimo, llevar a cabo una vez mas la primera
rotacion, es decir:
p
1
= R
y,
R
z,
R
y,
p
2
. (2.25)
La anterior es la relacion correcta y no (2.24). Ahora, substituyendo (2.25)
en (2.23) se obtiene:
p
0
= R
y,
p
1
(2.26)
= R
y,
R
y,
R
z,
R
y,
p
2
= R
z,
R
y,
p
2
.
POSGRADO - UNAM
2.2. COMPOSICI

ON DE ROTACIONES 26

No es necesario recordar el desarrollo arriba presentado. Basta darse cuen-


ta que se utilizan las mismas matrices de rotacion pero en orden inverso.
R = R
y,
R
z,
,
En resumen, la regla de composicion de matrices de rotacion es la sigu-
iente: dado un sistema de coordenadas jo Ox
0
y
0
z
0
, un sistema actual Ox
1
y
1
z
1
junto con una matriz de rotacion
0
R
1
que los relaciona, si se obtiene un tercer
sistema de referencia Ox
2
y
2
z
2
mediante una rotacion
1
R
2
llevada a cabo con
respecto al eje actual, entonces se posmultiplica
0
R
1
por
1
R
2
para obtener
0
R
2
=
0
R
1
1
R
2
. (2.27)
En cambio, si la segunda rotacion se lleva a cabo con respecto al eje jo,
entonces se premultiplica
0
R
1
por
1
R
2
para obtener
0
R
2
=
1
R
2
0
R
1
. (2.28)
En ambos casos
0
R
2
representa la transformacion entre los marcos Ox
0
y
0
z
0
y ox
2
y
2
z
2
. En general, el resultado obtenido utilizando (2.27) es distinto al
que se obtiene utilizando (2.28).
Rotacion alrededor de un eje arbitrario
No siempre se llevan a cabo las rotaciones alrededor de los ejes princi-
pales del sistema de coordenadas. A menudo se desea realizar una rotacion
alrededor de un eje arbitrario en el espacio. Por consiguiente, sea
k =
_
_
k
x
k
y
k
z
_
_
[[k[[ = 1
un vector unitario que dene un eje expresado en el marco de referencia
Ox
0
y
0
z
0
. Se desea encontrar la matriz de rotacion R
k,
que representa una
rotacion de grados alrededor del eje k. Existen varias formas para calcular
R
k,
, pero quizas la mas simple de todas consista en rotar el vector k para
que coincida con uno de los ejes del sistema de coordenadas (por ejemplo z
0
).
POSGRADO - UNAM
2.2. COMPOSICI

ON DE ROTACIONES 27
X
Y
Z
K
a
b
k
x
k
y
k
z
q
Figura 2.7: Rotacion respecto a un eje arbitrario.
Luego se realiza una rotacion de grados alrededor del eje z
0
y, por ultimo,
se vuelve a rotar k a su posicion original. Considerese la Figura 2.7:
Como se observar, para llevar a k al eje z
0
primero se rota alrededor el
eje z
0
por un angulo de grados, y luego por un angulo de grados
alrededor del eje y
0
. Puesto que todas las rotaciones se llevan a cabo con
respecto al sistema de coordenadas jo, se concluye que
R
k,
= R
z,
R
y,
R
z,
R
y,
R
z,
. (2.29)
De la gura, puesto que k es un vector unitario, es facil deducir que:
sin =
k
y
_
k
2
x
+ k
2
y
cos =
k
x
_
k
2
x
+ k
2
y
sin =
_
k
2
x
+ k
2
y
cos = k
z
.
Substituyendo las relaciones anteriores en (2.29) se obtiene despues de un
largo desarrollo:
R
k,
=
_
_
k
2
x
v

+ c

k
x
k
y
v

k
z
s

k
x
k
z
v

+ k
y
s

k
x
k
y
v

+ k
z
s

k
2
y
v

+ c

k
y
k
z
v

k
x
s

k
x
k
y
v

k
y
s

k
y
k
z
v

+ k
x
c

k
2
z
v

+ c

_
_
, (2.30)
donde v

= vers = 1 c

.
POSGRADO - UNAM
2.3. PROPIEDADES DE LAS ROTACIONES 28
2.3. Propiedades de las Rotaciones
Los nueve elementos r
ij
en una transformacion rotacional general R dada
en (2.7):
0
R
1
=
_

_
i
1
i
0
j
1
i
0
k
1
i
0
i
1
j
0
j
1
j
0
k
1
j
0
i
1
k
0
j
1
k
0
k
1
k
0
_

_
,
no son cantidades independientes. En realidad, un cuerpo rgido posee cuan-
do mas tres grados de libertad de rotacion, por lo que solo tres cantidades
son requeridas para especicar su orientaci on. Tres formas de obtener estas
cantidades son las siguientes:
Representacion ejeangulo. Un matriz de rotacion R SO(3) se
puede representar siempre como una unica rotacion alrededor de un eje
apropiado en el espacio por un angulo apropiado:
R = R
k,
, (2.31)
donde k es un vector unitario denido como el eje de rotacion. es
el angulo de rotacion alrededor de k. La ecuacion (2.31) se conoce
como representacion ejeangulo de R. Dada una matriz de rotacion
arbitraria R con componentes r
ij
, el angulo y el vector k equivalentes
estan dados por la expresion:
= cos
1
_
Tr(R) 1
2
_
= cos
1
_
r
11
+ r
22
+ r
33
1
2
_
,(2.32)
donde Tr denota el operador traza. Por otro lado se tiene:
k =
1
2 sin
_
_
r
32
r
23
r
13
r
31
r
21
r
12
_
_
. (2.33)
La representaci on ejeangulo tiene los siguientes problemas:
No es unica puesto que una rotacion de grados alrededor del
eje k es igual a una rotacion de grados alrededor del eje k, es
decir: donde v

= vers = 1 c

.
R
k,
= R
k,
. (2.34)
POSGRADO - UNAM
2.3. PROPIEDADES DE LAS ROTACIONES 29
Si = 0

entonces R es la matriz identidad y el eje de rotacion


no esta bien denido.

Angulos de Euler. Un metodo mas com un de especicar una matriz


de rotacion en terminos de tres cantidades independientes consiste en
usar los llamados

Angulos de Euler. Considerese una vez mas el sistema
de coordenadas jo Ox
0
y
0
z
0
y el marco rotado Ox
1
y
1
z
1
que se muestra
en la Figura 2.8:
Z
0
X
3
Z
2
Z
3
Y
1
Y
2
Y
3
X
0
X
1
Y
0
Z1
X
2
y
q
f
Figura 2.8: Representaci on de los angulos de Euler.
Se puede especicar la rotacion del marco Ox
1
y
1
z
1
relativa al marco
Ox
0
y
0
z
0
mediante tres angulos (, , ), conocidos como

Angulos de
Euler. Estos angulos se obtienen llevando a cabo tres rotaciones sucesi-
vas: la primera es alrededor del eje z por un angulo . A continuacion
se lleva a cabo una rotacion alrededor del eje y actual por un angulo
. Por ultimo se ejecuta una rotacion alrededor del eje z actual por un
angulo . Con lo cual se obtiene la siguiente matriz de transformacion
rotacional
0
R
1
:
0
R
1
= R
z,
R
y,
R
z,
(2.35)
=
_
_
c

0
s

0
0 0 1
_
_
_
_
c

0 s

0 1 0
s

0 c

_
_
_
_
c

0
s

0
0 0 1
_
_
=
_
_
c

+ c

+ c

_
_
.
POSGRADO - UNAM
2.3. PROPIEDADES DE LAS ROTACIONES 30

Angulos roll, pitch y yaw. Una matriz de rotacion R puede ser


descrita mediante un producto de rotaciones sucesivas alrededor de los
ejes principales x
0
, y
0
y z
0
tomados en orden especco. Estas rotaciones
se llaman angulos roll, pitch y yaw, los cuales se denotan tambien por
(, , ), como se muestra en la siguiente Figura 2.9:
Z
0
X
0
Y
0
YAW
PITCH
ROLL
Figura 2.9:

Angulos roll, pitch y yaw
El orden de las rotaciones es xyz. En otras palabras, primero se
realiza la rotacion yaw de grados alrededor del eje x
0
. Luego se hace
la rotacion pitch de grados alrededor del eje y
0
. Por ultimo se lleva
a cabo la rotacion roll de grados alrededor del eje z
0
. Puesto que las
rotaciones se llevan a cabo con respecto al sistema de coordenadas jo,
la matriz de rotacion resultante es la siguiente:
0
R
1
= R
z,
R
y,
R
x,
(2.36)
=
_
_
c

0
s

0
0 0 1
_
_
_
_
c

0 s

0 1 0
s

0 c

_
_
_
_
1 0 0
0 c

0 s

_
_
=
_
_
c

+ c

+ c

+ s

+ s

_
_
.
Por supuesto, en lugar de interpretar lo anterior como rotaciones yaw
pitchroll relativas a un sistema de coordenadas jo, tambien se les
puede interpretar como rotaciones rollpitchyaw llevadas a cabo alrede-
dor de los ejes actuales. El resultado nal es el mismo.
POSGRADO - UNAM
2.4. TRASFORMACIONES HOMOG

ENEAS 31
2.4. Trasformaciones Homogeneas
Considerese ahora un sistema de coordenadas Ox
1
y
1
z
1
obtenido a partir
del sistema Ox
0
y
0
z
0
mediante una translacion paralela de distancia [d[ como
se muestra en la Figura 2.10:
Z
0
X
0
Y
0
Z
1
X
1
Y
1
P
P
0
P
1
d
1
0
Figura 2.10: Translaci on paralela de un sistema de coordenadas.
De este modo, los vectores i
0
, j
0
, k
0
son paralelos a los vectores unitarios
i
1
, j
1
, k
1
, respectivamente. El vector d
01
es el vector del origen O
0
al origen
O
1
expresado en el sistema de coordenadas Ox
0
y
0
z
0
. De este modo, cualquier
punto p tiene una representacion p
0
y p
1
, como antes. Puesto que los respec-
tivos ejes coordenados son paralelos, los vectores p
0
y p
1
se relacionan por
p
0
= p
1
+
0
d
1
, (2.37)
o bien
p
0x
= p
1x
+
0
d
1x
p
0y
= p
1y
+
0
d
1y
p
0z
= p
1z
+
0
d
1z
.
La relacion mas general que existe entre los sistemas de coordenadas
Ox
0
y
0
z
0
y Ox
1
y
1
z
1
puede expresarse como la combinacion de una rotacion pu-
ra mas una translacion pura. A esta combinaci on se le conoce como movimien-
to rgido.
Ahora considera la Figura 2.11
POSGRADO - UNAM
2.4. TRASFORMACIONES HOMOG

ENEAS 32
Z
0
X
0
Y
0
Z
1
X
1
Y
1
P
P
0
P
1
d
1
0
Figura 2.11: Transformacion de un sistema de coordenadas.
Debido a que el sistema esta baja la inuencia de una rotacion no se
puede rotar directamente, por lo que debe emplearse
p
0
=
0
R
1
p
1
+
0
d
1
, (2.38)
Denicion 2.4.1 Se dice que una transformacion de la forma:
p
0
= Rp
1
+d, (2.39)
es un movimiento rgido si R es ortogonal.

Notese que la denicion anterior incluye el caso det R = 1. Sin em-


bargo, en este curso solo se considerara el caso R SO(3). Si se tienen dos
movimientos rgidos (ver Figura 2.12):
entonces
p
0
=
0
d
1
+
0
R
1
p
1
, (2.40)
p
0
=
0
d
1
+
0
R
1
1
d
2
+
0
R
2
p
2
, (2.41)
p
0
=
0
d
2
+
0
R
2
p
2
, (2.42)
p
1
=
1
d
2
+
1
R
2
p
2
, (2.43)
entonces su composicion dene un tercer movimiento rgido, que puede ser
descrito sustituyendo la expresion de p
1
dada en (2.43) en (2.40) :
p
0
=
0
d
1
+
0
R
1
_
1
d
2
+
1
R
2
p
2
_
(2.44)
=
0
d
1
+
0
R
1
1
d
2
+
0
R
1
1
R
2
p
2
.
POSGRADO - UNAM
2.4. TRASFORMACIONES HOMOG

ENEAS 33
Z
0
X
0
Y
0
Z
1
X
1
Y
1
P
P
0
d
2
0
Z
2
X
2
Y
2
P
1
P
2
d
1
0
Figura 2.12: Transformacion de un sistema de coordenadas.
Comparando (2.44) con (2.41) , se tienen las siguientes identidades:
0
R
2
=
0
R
1
1
R
2
(2.45)
0
d
2
=
0
d
1
+
0
R
1
1
d
2
. (2.46)
La ecuacion (2.45) muestra que las transformaciones rotacionales simple-
mente se multiplican para formar
0
R
2
. La ecuacion (2.46) muestra que el
vector del origen O
0
al origen O
2
es la suma del vector del origen O
0
al ori-
gen O
1
, es decir
0
d
1
y del vector del origen O
1
al origen O
2
, expresado en el
sistema Ox
0
y
0
z
0
, es decir
0
R
1
1
d
2
.
Una comparacion de esto con la siguiente multiplicaci on de matrices:
_
0
R
1
0
d
1
0
T
1
_ _
1
R
2
1
d
2
0
T
1
_
=
_
0
R
1
1
R
2
0
R
1
1
d
2
+
0
d
1
0
T
1
_
, (2.47)
donde 0
T
=
_
0 0 0

, muestra que los movimientos rgidos pueden ser rep-


resentados mediante un conjunto de matrices de la forma
H =
_
R d
0
T
1
_
, (2.48)
POSGRADO - UNAM
2.4. TRASFORMACIONES HOMOG

ENEAS 34
donde R SO(3). Puesto que R es ortogonal, la inversa de H
1
esta dada
por:
H
1
=
_
R
T
R
T
d
0
T
1
_
. (2.49)
A una matriz de transformacion (2.48) se le llama transformacion ho-
mogenea. Para representar la transformacion (2.39):
p
0
= Rp
1
+d,
por medio de una multiplicaci on de matrices, se necesita aumentar los vec-
tores p
0
y p
1
de la siguiente forma:
p
0
=
_
p
0
1
_
, (2.50)
y
p
1
=
_
p
1
1
_
. (2.51)
Los vectores p
0
y p
1
se conocen como representacion homogenea de los
vectores p
0
y p
1
, respectivamente. Tambien se dice que p
0
y p
1
estan expre-
sados en coordenadas homogeneas. Como se puede observar, la transfor-
macion (2.39) es equivalente a la siguiente ecuacion matricial (homogenea):
p
0
= H p
1
=
0
H
1
p
1
. (2.52)
El conjunto de todas las matrices de 4 4 de la forma (2.48) se le denota
por E(3) (Euclidean group de orden 3). Un conjunto de transformaciones
homogeneas basicas que genera E(3) esta dado por:
T
x,a
=
_

_
1 0 0 a
0 1 0 0
0 0 1 0
0 0 0 1
_

_
T
y,b
=
_

_
1 0 0 0
0 1 0 b
0 0 1 0
0 0 0 1
_

_
T
z,c
=
_

_
1 0 0 0
0 1 0 0
0 0 1 c
0 0 0 1
_

_
, (2.53)
para translaciones, y
R
x,
=
_

_
1 0 0 0
0 c

0
0 s

0
0 0 0 1
_

_
R
y,
=
_

_
c

0 s

0
0 1 0 0
s

0 c

0
0 0 0 1
_

_
R
z,
=
_

_
c

0 0
s

0 0
0 0 1 0
0 0 0 1
_

_
, (2.54)
POSGRADO - UNAM
2.4. TRASFORMACIONES HOMOG

ENEAS 35
para rotaciones alrededor de los ejes x, y y z, respectivamente.
La forma mas general de una transformacion homogenea que se consid-
erara en este curso puede ser escrita como:
H =
_

_
n
x
s
x
a
x
d
x
n
y
s
y
a
y
d
y
n
z
s
z
a
z
d
z
0 0 0 1
_

_
=
_
n s a d
0 0 0 1
_
. (2.55)
En la ecuacion anterior n =
_
n
x
n
y
n
z

T
es un vector que representa la
direccion del eje O
1
x
1
en el sistema O
0
x
0
y
0
z
0
, s =
_
s
x
s
y
s
z

T
es un vector
que representa la direccion del eje O
1
y
1
, y a =
_
n
x
n
y
n
z

T
representa la
direccion del eje O
1
z
1
. El vector d =
_
d
x
d
y
d
z

T
representa al vector que
va del origen O
0
al origen O
1
expresando en el marco O
0
x
0
y
0
z
0
.
Cabe hacer notar que la misma interpretaci on que se hizo para matrices
rotacionales de 3 3 es valida en cuanto a composicion y orden de transfor-
maciones homogeneas de 4 4.
Ejemplo 2.4.1 La transformacion homogenea H que representa la rotacion
de grados alrededor del eje actual x seguido por una translacion de b
unidades a lo largo del eje actual x, por una translacion de d unidades a
lo largo del eje actual z, y por una rotacion de grados alrededor del eje z
actual
H = R
x,
T
x,b
T
z,d
R
z,
(2.56)
=
_

_
1 0 0 0
0 c

0
0 s

0
0 0 0 1
_

_
_

_
1 0 0 b
0 1 0 0
0 0 1 0
0 0 0 1
_

_
_

_
1 0 0 0
0 1 0 0
0 0 1 d
0 0 0 1
_

_
_

_
c

0 0
s

0 0
0 0 1 0
0 0 0 1
_

_
=
_

_
1 0 0 0
0 c

0
0 c

0
0 0 0 1
_

_
_

_
c

0 b
c

d
s

d
0 0 0 1
_

_
.

POSGRADO - UNAM
2.5. MATRICES ANTISIM

ETRICAS 36
En realidad, la transformacion homogenea dada por (2.48) es un caso
especial de coordenadas homogeneas, que son muy utilizadas en el campo de
gracas por computadora. La transformacion mas general tiene la forma:
H =
_
R
33
d
31
f
13
s
11
_
(2.57)
=
_
matriz de rotacion vector de posicion
transformacion de perspectiva escalado
_
.
Para los propositos del curso solo se utilizaran transformacion de la forma
(2.48).
2.5. Matrices antisimetricas
En esta seccion se analizaran algunas propiedades de las matrices anti-
simetricas que son utiles para hacer transformaciones de velocidades y ace-
leraciones relativas entre sistemas de coordenadas.
Denicion 2.5.1 Se dice que una matriz S es antisimetrica si y solo si
S
T
+S = O. (2.58)
Al conjunto de todas la matrices antisimetricas de 33 de denota por SS(3).

Si S SS(3) tiene componentes s


ij
, i, j = 1, 2, 3, entonces (2.58) es
equivalente a nueve ecuaciones de la forma:
s
ij
+ s
ji
= 0, (2.59)
para i, j = 1, 2, 3. De (2.59) resulta claro que s
ii
= 0. Es decir, los terminos de
la diagonal son cero. Por otro lado, el resto de los elementos de S satisfacen
s
ij
= s
ji
(para i ,= j). Por ello es que S tiene en realidad solo tres entradas
independientes y toma la forma:
S =
_
_
0 s
3
s
2
s
3
0 s
1
s
2
s
1
0
_
_
. (2.60)
POSGRADO - UNAM
2.5. MATRICES ANTISIM

ETRICAS 37
Si a =
_
a
x
a
y
a
z

T
es un vector de dimension 3, se dene la siguiente
matriz antisimetrica:
S(a) = a = (a)

=
_
_
0 a
z
a
y
a
z
0 a
x
a
y
a
x
0
_
_
. (2.61)
Las matrices antisimetricas S(i), S(j) y S(k) que resultan cuando se
utilizan los vectores unitarios normales i, j y k, respectivamente, estan dadas
por:
S(i) =
_
_
0 0 0
0 0 1
0 1 0
_
_
S(j) =
_
_
0 0 1
0 0 0
1 0 0
_
_
S(k) =
_
_
0 1 0
1 0 0
0 0 0
_
_
. (2.62)
Una importante propiedad de la matriz S(a) es la linealidad, es decir,
para dos vectores cualesquiera a y b que pertenecen a R
3
, y para dos escalares
y se tiene:
S(a + b) = S(a) + S(b). (2.63)
Otra importante propiedad de la matriz S(a) es que para cualquier vector
p =
_
p
x
p
y
p
z

T
S(a)p = a p, (2.64)
donde a p denota el producto cruz de los vectores a y p. Es facil vericar
(2.64) por calculo directo.
Si R SO(3) y a y b son vectores en R
3
, tambien se puede mostrar por
calculo directo que
R(a b) = Ra Rb. (2.65)
La ecuacion anterior no es cierta en general, sino solo lo es para matrices
ortogonales (R
1
= R
T
).
Para cualquier R SO(3) y cualquier b R
3
, se sigue de (2.64) y de
(2.65) que
RS(a)R
T
b = R
_
a R
T
b
_
(2.66)
= (Ra)
_
RR
T
b
_
= (Ra) b
= S (Ra) b.
POSGRADO - UNAM
2.5. MATRICES ANTISIM

ETRICAS 38
De este modo se tiene que:
RS(a)R
T
= S (Ra) , (2.67)
para R SO(3), a R
3
. La propiedad (2.67) es muy importante.
Supongase ahora que la matriz de rotacion R es funcion de la variable .
Es decir R = R() SO(3) para todo . Puesto que R es ortogonal para
todo se tiene que:
R()R
T
() = I. (2.68)
Derivando ambos lados de la ecuacion anterior se tiene:
dR
d
R
T
() +R()
dR
T
d
= 0. (2.69)
Defnase
S

=
dR
d
R
T
(). (2.70)
Por tanto se tiene:
S
T
=
_
dR
d
R
T
()
_
T
= R()
dR
T
d
. (2.71)
De esta forma, la ecuacion (2.69) se puede escribir como:
S +S
T
= 0. (2.72)
En otras palabras, la matriz S denida por (2.70) es antisimetrica. Ahora
bien, multiplicando ambos lados de (2.70) por Ry recordando que esta matriz
es ortogonal se obtiene:
dR
d
= SR(). (2.73)
La ecuacion (2.73) es muy importante. Indica que para calcular la derivada
de la matriz de rotacion R es equivalente a multiplicar la matriz R por una
matriz antisimetrica S. El caso mas com un es cuando R es una matriz de
rotacion basica o bien una composicion de matrices basicas.
POSGRADO - UNAM
2.6. VELOCIDAD Y ACELERACI

ON ANGULAR 39
Ejemplo 2.5.1 Spong06
Si R = R
x,
, la matriz de rotacion basica dada por:
R
x,
=
_
_
1 0 0
0 cos sin
0 sin cos
_
_
,
entonces por calculo directo se tiene:
S =
dR
d
R
T
() =
_
_
0 0 0
0 sin cos
0 cos sin
_
_
_
_
1 0 0
0 cos sin
0 sin cos
_
_
=
_
_
0 0 0
0 0 1
0 1 0
_
_
(2.74)
Por tanto se tiene que:
dR
x,
d
= S(i)R
x,
. (2.75)
De manera similar se puede mostrar que:
dR
y,
d
= S(j)R
y,
dR
z,
d
= S(k)R
z,
. (2.76)

Sea R
k,
una matriz de rotacion alrededor de un eje denido por k, como
en (2.33), (Spong y Vidyasagar 2006) :
k =
1
2 sin
_
_
r
32
r
23
r
13
r
31
r
21
r
12
_
_
.
Se puede mostrar que:
dR
k,
d
= S(k)R
k,
. (2.77)
2.6. Velocidad y aceleracion angular
En esta seccion se discutira como representar velocidades y aceleraciones
angulares utilizando transformaciones homogeneas.
POSGRADO - UNAM
2.6. VELOCIDAD Y ACELERACI

ON ANGULAR 40
Supongase que una matriz de rotacion R es variante en el tiempo, de
tal forma que R(t) = R SO(3) para todo t R. Usando un argumento
similar al utilizado en la seccion anterior para calcular la derivada de R con
respecto a , se puede calcular:

R(t) = S(t)R(t), (2.78)


donde la matriz S(t) es antisimetrica. Ahora bien, puesto que S(t) es anti-
simetrica, puede representarse como S((t)), para un vector unico (t). Al
vector (t) se le conoce como velocidad angular del marco que rota con
respecto al sistema jo en el tiempo t.
Suponga que varia con el tiempo = (t), entonces

R(t) =
dR
d
d
dt
=

S(k)R(t) (2.79)
usando la propiedad 2.67 tenemos

R(t) = S(k

)R(t), (2.80)
Ejemplo 2.6.1 Supongase que R(t) = R
x,(t)
. Entonces

R(t) =
dR(t)
dt
se calcula utilizando la regla de la cadena:

R(t) =
dR
d
d
dt
=

S(i)R(t) = S((t))R(t), (2.81)
donde =

i es la velocidad angular alrededor del eje x.
Supongase que p
1
representa un vector jo en un sistema de coordenadas
Ox
1
y
1
z
1
y que Ox
1
y
1
z
1
esta girando con respecto al sistema Ox
0
y
0
z
0
. En-
tonces, las coordenadas de p
1
con respecto a Ox
0
y
0
z
0
estan dadas por:
p
0
=
0
R
1
(t)p
1
. (2.82)
La velocidad p
0
esta dada por
p
0
= S()
0
R
1
(t)p
1
= S()p
0
= p
0
. (2.83)
POSGRADO - UNAM
2.6. VELOCIDAD Y ACELERACI

ON ANGULAR 41
P
P
0
Z
X
Y
0
0
0
q( ) t
P
0
w q =i
Z
X
Y
1
1
1
Figura 2.13: Derivada de un punto que no se mueve
La anterior es la bien conocida expresion de la velocidad en terminos del
producto cruz de dos vectores.
Por simplicidad se omitira en adelante la dependencia de t y los su-
perndices
0
y subndices
1
. Ahora si a nadimos una traslacion y p
1
es jo:
p
0
= Rp
1
+d. (2.84)
P
O
O
1
0
P P
d
0
0
1
1
Z
X
Y
Z
X
Y
0
0
0
1
1
1
Figura 2.14: Diagrama introduciendo una traslacion
Derivando la relacion anterior y teniendo en cuenta que p
1
es constante
se obtiene
p
0
=

Rp
1
+

d (2.85)
= S()Rp
1
+

d (2.86)
= r +v,
POSGRADO - UNAM
2.6. VELOCIDAD Y ACELERACI

ON ANGULAR 42
donde r = Rp
1
es el vector que va del origen O
1
a p expresado en la orien-
tacion del sistema de coordenadas Ox
0
y
0
z
0
, y v es la velocidad a la cual el
origen O
1
se esta moviendo.
Si p
1
varia respecto al sistema Ox
1
y
1
z
1
entonces
p
0
= r +v +R p
1
(2.87)
donde R p
1
es la velocidad del punto p
1
expresada en Ox
0
y
0
z
0
. Si el vector
p
1
tambien vara con respecto al sistema Ox
1
y
1
z
1
, entonces se debe agregar
al termino v el termino R p
1
, que es la velocidad de p
1
expresada en Ox
0
y
0
z
0
.
Tambien se puede encontrar una expresion para calcular la aceleracion
relativa de dos sistemas de coordenadas como sigue. Primero debe tomarse
en cuenta que:
d
dt
(a b) =
da
dt
b +a
db
dt
. (2.88)
Si ahora se escribe la ecuacion (2.87) como (usando 2.85)
p
0


d =

Rp
1
+R p
1
(2.89)
= (Rp
1
) +R p
1
,
y derivando nuevamente con respecto al tiempo se tiene:
p
0

d = (Rp
1
) + (

Rp
1
) + (R p
1
) +

R p
1
+R p
1
(2.90)
= r + ( r) + (R p
1
) + (R p
1
) +R p
1
= r + ( r) + 2 (R p
1
) +R p
1
.
Por tanto se tiene:
p
0
= r + ( r) + 2 (R p
1
) +a, (2.91)
donde a = R p
1
+

d es la aceleracion lineal.
Al termino ( r) se le conoce como aceleracion centrpeta de
la partcula. Esta aceleracion apunta siempre al eje de rotacion y es perpen-
dicular a el.
POSGRADO - UNAM
2.6. VELOCIDAD Y ACELERACI

ON ANGULAR 43
El termino r se conoce como aceleracion transversal.
El termino 2 (R p
1
) representa la aceleracion de Coriolis.
A menudo es necesario calcular la velocidad angular resultante debido
a la rotacion relativa de varios sistemas de coordenadas. A continuaci on se
calcularan las expresiones de composicion de las velocidades angulares de
dos marcos en movimiento Ox
1
y
1
z
1
y Ox
2
y
2
z
2
con respecto a un sistema jo
Ox
0
y
0
z
0
.
Dado un punto p con representaciones p
0
, p
1
y p
2
en sus respectivos
sistemas de coordenadas, se tienen las siguientes relaciones:
p
0
=
0
R
1
p
1
+
0
d
1
(2.92)
p
1
=
1
R
2
p
2
+
1
d
2
(2.93)
p
0
=
0
R
2
p
2
+
0
d
2
, (2.94)
donde
0
R
2
=
0
R
1
1
R
2
, (2.95)
y
0
d
2
=
0
d
1
+
0
R
1
1
d
2
. (2.96)
Derivando ambos lados de (2.95) se obtiene:
0

R
2
=
0

R
1
1
R
2
+
0
R
1
1

R
2
. (2.97)
El termino
0

R
2
puede ser escrito como
0

R
2
= S(
0

2
)
0
R
2
, (2.98)
mientras que el primer termino del lado derecho de (2.97) esta dado por:
0

R
1
1
R
2
= S(
0

1
)
0
R
1
1
R
2
= S(
0

1
)
0
R
2
. (2.99)
El segundo termino del lado derecho de (2.97) tiene que ser analizado mas
detenidamente. Utilizando la expresion (2.67)
RS(a)R
T
= S (Ra) ,
POSGRADO - UNAM
2.6. VELOCIDAD Y ACELERACI

ON ANGULAR 44
se tiene:
0
R
1
1

R
2
=
0
R
1
S(
1

2
)
1
R
2
(2.100)
=
0
R
1
S(
1

2
)
0
R
T
1
0
R
1
1
R
2
= S(
0
R
1
1

2
)
0
R
2
.
Combinando las expresiones anteriores se tiene:
S(
0

2
)
0
R
2
= S(
0

1
)
0
R
2
+S(
0
R
1
1

2
)
0
R
2
(2.101)
= S(
0

1
+
0
R
1
1

2
)
0
R
2
.
Debido a la linealidad del operador S() se concluye que:
0

2
=
0

1
+
0
R
1
1

2
. (2.102)
En otras palabras, las velocidades angulares pueden sumarse una vez que
estan expresadas en el mismo sistema de coordenadas, en este caso Ox
0
y
0
z
0
.
La representaci on anterior puede extenderse para cualquier n umero de sis-
temas de coordenadas. Por ejemplo, si
0
R
n
=
0
R
1

n1
R
n
, (2.103)
entonces
0

R
n
= S(
0

n
)
0
R
n
, (2.104)
donde
0

n
=
0

1
+
0
R
1
1

2
+
0
R
2
2

3
+ +
0
R
n1
n1

n
. (2.105)
POSGRADO - UNAM
Cap

tulo
3
Cinematica Directa
En esta seccion se desarrollara la cinematica directa para robots rgi-
dos. El problema de la cinematica directa puede ser formulado de la siguiente
manera: dadas las variables de las articulaciones, determinar la posicion y
orientaci on del efector nal. Las variables de las articulaciones son los angu-
los entre los elementos en el caso de una articulacion rotacional o bien el
desplazamiento o deslizamiento en el caso de una articulacion prismatica.
3.1. Cadenas cinematicas
Para llevar a cabo el analisis cinematico, se puede considerar que un robot
esta compuesto de un conjunto de elementos rgidos conectados por varias
articulaciones. Bajo la suposicion de que cada articulacion tiene un solo gra-
do de libertad, la accion de cada articulacion puede ser descrita por medio
de un solo escalar real: el angulo de rotacion en el caso de una articulacion
de revolucion o bien el desplazamiento en una articulacion prismatica. El
objetivo de la cinematica directa consiste en determinar el efecto de todo el
conjunto de variables de las articulaciones. Para alcanzar este objetivo de
POSGRADO - UNAM
3.1. CADENAS CINEM

ATICAS 46
manera sistematica, se necesita jar algunas convenciones.
Supongase que un robot consta de n + 1 elementos, numerados del 0
al n comenzando por la base del robot, la cual se considera el elemento 0.
Las articulaciones se numeran de la 1 a la n. La iesima articulacion es el
punto en el espacio donde los elementos i 1 e i se conectan. La iesima
variable de la articulacion se denota por q
i
, que puede ser un angulo o un
desplazamiento seg un el caso. Como siguiente paso, se je rgidamente un
sistema de coordenadas a cada elemento. En particular, se ja el sistema de
coordenadas inercial (?: pp. 38) en la base del robot y se le llama marco 0.
A continuaci on se eligen los marcos del 1 al n de tal forma que el marco i
quede jo rgidamente en el elemento i. Lo anterior signica que, siempre
que el robot ejecute cualquier movimiento, las coordenadas en cada punto
del elemento i son constantes expresadas en el sistema de coordenadas i. La
Figura 3.1ilustra la descripcion anterior (?: pp. 64):
Z
0
X
0
Y
0
q
1
Z
1
X
1
Y
1
q
2
Z
2
X
2
Y
2
q
3
Z
3
X
3
Y
3
Elemento1
Elemento2
Elemento3
Figura 3.1: Sistema de coordenadas jo en un manipulador tipo codo
Ahora supongase que
i1
A
i
es la matriz homogenea que transforma las
coordenadas de un punto del sistema de coordenadas i al sistema i 1. La
matriz
i1
A
i
no es constante puesto que vara conforme la conguracion del
robot cambia. Sin embargo, la suposicion de que todas las articulaciones
son de revoluci on o prismaticas signican que
i1
A
i
es funcion de una sola
POSGRADO - UNAM
3.1. CADENAS CINEM

ATICAS 47
variable q
i
. En otras palabras se tiene:
i1
A
i
=
i1
A
i
(q
i
). (3.1)
Ahora bien, por convenci on, la matriz homogenea que transforma las coor-
denadas de un punto representado en el marco j a su representacion en el
marco i se llama matriz de transformacion, y se denota normalmente por
i
T
j
. Como ya se vio se tiene:
i
T
j
=
i
A
i+1
i+1
A
i+2

j2
A
j1
j1
A
j
si i < j
i
T
j
= I si i = j
i
T
j
= (
j
T
i
)
1
si i > j
Debido a la forma en que se colocaron rgidamente los sistemas de coorde-
nadas a los correspondientes elementos, se sigue que la posicion de cualquier
punto en el efector nal, cuando se expresa en el marco n, es constante in-
dependientemente de la conguracion del robot. Si se denota la posicion y la
orientaci on del efector nal con respecto al sistema de coordenadas inercial
o base por medio de un vector
0
d
n
y una matriz de rotacion
0
R
n
de 3 3,
respectivamente, y se dene la matriz homogenea
H =
_
0
R
n
0
d
n
0
T
1
_
, (3.2)
entonces la posicion y orientacion del efector nal con respecto al marco
inercial estan dadas por
H =
0
T
n
= A
1
(q
1
) A
n
(q
n
). (3.3)
Cada transformacion homogenea
i1
A
i
(q
i
) tiene la forma
i1
A
i
=
_
i1
R
i
i1
d
i
0
T
1
_
, (3.4)
de donde se tiene:
i
T
j
=
ii+1
A
i+2

j1
A
j
=
_
i
R
j
i
d
j
0
T
1
_
. (3.5)
POSGRADO - UNAM
3.2. LA REPRESENTACI

ON DE DENAVITHARTENBERG 48
La matriz
i
R
j
expresa la orientaci on del marco j con respecto al sistema i,
y esta dada por:
i
R
j
=
i
R
j+1

j1
R
j
. (3.6)
Los vectores
i
d
j
se calculan en forma recursiva mediante la formula:
i
d
j
=
i
d
j1
+
i
R
j1
j1
d
j
. (3.7)
En la siguiente seccion se estudiara como calcular las matrices
i1
A
i
en for-
ma sistematica. Notese que su conocimiento es lo unico que hace falta para
determinar la cinematica directa del robot.
3.2. La representacion de DenavitHartenberg
A pesar de que es posible llevar a cabo todo el analisis de este captu-
lo utilizando sistemas de coordenadas jos en cada elemento del robot de
manera arbitraria, es mejor ser sistematico en la eleccion de estos sistemas.
Una convenci on que se utiliza normalmente en robotica es la de Denavit
Hartenberg (DH). En esta convenci on, cada transformacion homogenea se
representa como el producto de cuatro transformaciones basicas:
i1
A
i
= R
z,
i
T
z,d
i
T
x,a
i
R
x,
i
(3.8)
=
_

_
c

i
s

i
0 0
s

i
c

i
0 0
0 0 1 0
0 0 0 1
_

_
_

_
1 0 0 0
0 1 0 0
0 0 1 d
i
0 0 0 1
_

_
_

_
1 0 0 a
i
0 1 0 0
0 0 1 0
0 0 0 1
_

_
_

_
1 0 0 0
0 c

i
s

i
0
0 s

i
c

i
0
0 0 0 1
_

_
=
_

_
c

i
s

i
0 0
s

i
c

i
0 0
0 0 1 0
0 0 0 1
_

_
_

_
1 0 0 0
0 1 0 0
0 0 1 d
i
0 0 0 1
_

_
_

_
1 0 0 0
0 c

i
s

i
0
0 s

i
c

i
0
0 0 0 1
_

_
_

_
1 0 0 a
i
0 1 0 0
0 0 1 0
0 0 0 1
_

_
=
_

_
c

i
s

i
c

i
s

i
s

i
a
i
c

i
s

i
c

i
c

i
c

i
s

i
a
i
s

i
0 s

i
c

i
d
i
0 0 0 1
_

_
,
POSGRADO - UNAM
3.2. LA REPRESENTACI

ON DE DENAVITHARTENBERG 49
donde las cuatro cantidades que aparecen
i
, d
i
, a
i
y
i
son parametros del
elemento i y de la articulacion i. A estas cantidades se les conoce como
angulo, distancio u oset, longitud y angulo de torsion, respectiva-
mente (?: pp. 36). Puesto que la matriz
i1
A
i
es funcion de una sola variable,
necesariamente tres de estos parametros son constantes. En realidad,
i
es
variable para una articulacion de revoluci on y d
i
lo es para una prismatica.
Cabe hacer notar que, contrario a lo que pudiera esperarse, la repre-
sentaci on DH no requiere de 6 parametros (3 para posicion y 3 para ori-
entaci on), sino solo de 4. Este resultado es posible gracias a la forma en que
se eligen los sistemas de coordenadas. A continuaci on se presenta el algoritmo
para encontrar la cinematica directa de cualquier manipulador.
Algoritmo 3.2.1 (?, ?: pp. 71, pp. 41)
Dado un robot manipulador con n articulaciones, el siguiente algoritmo sit ua
los sistemas de coordenadas para poder utilizar la convencion DH.
1. Localizar y numerar los ejes de las articulaciones z
0
, . . . , z
n1
. El eje
z
i
se alinea con el eje de movimiento (giratorio o deslizante) de la
articulacion i + 1.
2. Establecer un sistema de coordenadas ortonormal dextrogiro Ox
0
y
0
z
0
en la base soporte con el eje z
0
a lo largo del eje de movimiento de la
articulacion 1 y apuntando afuera del hombro del brazo del robot. Los
ejes x
0
y y
0
se pueden establecer convenientemente y son ortonormales
al eje z
0
.
3. Para i = 1, . . . , n 1 se llevan a cabo los pasos 4. a 6.
4. Establecer el origen O
i
en la interseccion del eje z
i
con la normal
com un entre z
i
y z
i1
. Si z
i
interseca a z
i1
, establecer el origen O
i
en la interseccion. Si z
i
y z
i1
son paralelos, el origen O
i
se localiza
en la articulacion i (ver Figura3.2).
5. Establecer x
i
a lo largo de la normal com un entre z
i
y z
i1
que pasa por
el origen O
i
, o en la direccion normal al plano z
i
z
i1
si z
i
interseca
a z
i1
(ver Figura3.2).
6. Establecer y
i
de acuerdo con la regla de la mano derecha.
POSGRADO - UNAM
3.2. LA REPRESENTACI

ON DE DENAVITHARTENBERG 50
Z
i-1
Z
i
O
i
X
i
X
i
Z
i-1
Z
i
O
i
X
i
X
i
Figura 3.2: Sistema de coordenadas que satisfacen DH.
7. Establecer el sistema de coordenadas del efector nal Ox
n
y
n
z
n
. Suponien-
do que la nesima articulacion es de revolucion, se ubica k
n
= a a lo
largo de la direccion z
n1
. Establecer el origen O
n
convenientemente a
lo largo de z
n
, preferentemente en el centro de la pinza o de cualquier
herramienta que el robot pueda estar sosteniendo. Hacer j
n
= s en la
direccion en la cual la pinza se cierra y calcular i
n
= n como s a. Si
la herramienta no es una pinza simple, establecer x
n
y y
n
para formar
un sistema dextrogiro (ver Figura3.3).
Z
n
X
n
Y
n
Z
n
X
n
Y
n
Figura 3.3: Sistema de coordenadas de la Herramienta empleando DH.
8. Crear una tabla de parametros a
i
, d
i
,
i
y
i
a
i
es la distancia de separacion desde la interseccion de los ejes z
i1
con el eje z
i
hasta el origen O
i
del sistema iesimo a lo largo del
eje x
i
(o la distancia mas corta entre los ejes z
i1
y z
i
). Nota: al
medirse la distancia desde la interseccion de los ejes z
i1
con el
eje z
i
hasta el origen O
i
, el signo de a
i
es contrario del sentido
del eje x
i
(ver Figura3.4).
POSGRADO - UNAM
3.2. LA REPRESENTACI

ON DE DENAVITHARTENBERG 51
X
i
Z
i-1
X
i-1
d
i
Y
i
Y
i-1
a
i
Z
i
O
i
Figura 3.4: Calculo de distancias a
i
y d
i
.
d
i
es la distancia desde el origen del sistema de coordenadas i 1
hasta la interseccion del eje z
i1
con el eje x
i
a lo largo del eje
z
i1
(ver Figura 3.4).

i
es el angulo de la articulacion del eje x
i1
al eje x
i
respecto al eje
z
i1
, utilizando la regla de la mano derecha(ver Figura 3.5).
X
i
Z
i-1
X
i-1
q
i
X
i
Z
i-1
a
i
Z
i
Figura 3.5: Calculo de angulos
i
y
i
.

i
es el angulo de separacion del eje z
i1
al eje z
i
respecto al eje x
i
,
utilizando la regla de la mano derecha (ver Figura 3.5).
9. Formar las matrices de transformacion homogeneas sustituyendo los
parametros encontrados en la ecuacion (3.8):
i1
A
i
=
_

_
c

i
s

i
c

i
s

i
s

i
a
i
c

i
s

i
c

i
c

i
c

i
s

i
a
i
s

i
0 s

i
c

i
d
i
0 0 0 1
_

_
POSGRADO - UNAM
3.2. LA REPRESENTACI

ON DE DENAVITHARTENBERG 52
10. Formar
0
T
n
=
0
A
1

n1
A
n
. Esta transformacion da la posicion y la
orientacion del sistema de coordenadas del efector nal expresado en
coordenadas del sistema inercial o base.

Ejemplo 3.2.1 Considerese el robot planar de dos grados de libertad que se


muestra en la Figura 3.6:
Z
0
X
0
Y
0
Z
1
X
1
Y
1
q
1
q
2
Z
2
X
2
Y
2
Figura 3.6: Robot planar de 2 grados de libertad.
Los ejes z
0
y z
1
son normales a la pagina. El sistema de coordenadas
Ox
0
y
0
z
0
se establece como se muestra. El origen se elige con la intersec-
cion del eje z
0
con la pagina, mientras que el eje x
0
es completamente arbi-
trario. Una vez que el sistema base esta jo, se ubican los sistemas Ox
1
y
1
z
1
y Ox
2
y
2
z
2
de acuerdo con la convencion DH. Los parametros se resumen
en la siguiente tabla:
Utilizando los parametros de la tabla se calculan las matrices
i1
A
i
de
acuerdo con:
i1
A
i
=
_

_
c

i
s

i
c

i
s

i
s

i
a
i
c

i
s

i
c

i
c

i
c

i
s

i
a
i
s

i
0 s

i
c

i
d
i
0 0 0 1
_

_
.
POSGRADO - UNAM
3.2. LA REPRESENTACI

ON DE DENAVITHARTENBERG 53
Articulacion a
i

i
d
i

i
1 a
1
> 0 0

0
1
(t) + [?]
2 a
2
> 0 0

0
2
(t) + [90

]
Tabla 3.1: Par ametros del manipulador planar de dos elementos
Entonces:
0
A
1
=
_

_
c
1
s
1
0 a
1
c
1
s
1
c
1
0 a
1
s
1
0 0 1 0
0 0 0 1
_

_
,
1
A
2
=
_

_
c
2
s
2
0 a
2
c
2
s
2
c
2
0 a
2
s
2
0 0 1 0
0 0 0 1
_

_
.
Las matrices T se forman:
0
T
1
=
0
A
1
,
y
0
T
2
=
0
A
1
1
A
2
=
_

_
c
1
s
1
0 a
1
c
1
s
1
c
1
0 a
1
s
1
0 0 1 0
0 0 0 1
_

_
_

_
c
2
s
2
0 a
2
c
2
s
2
c
2
0 a
2
s
2
0 0 1 0
0 0 0 1
_

_
=
_

_
c
1
c
2
s
1
s
2
c
1
s
2
s
1
c
2
0 a
2
c
1
c
2
a
2
s
1
s
2
+ a
1
c
1
s
1
c
2
+ c
1
s
2
s
1
s
2
+ c
1
c
2
0 a
2
s
1
c
2
+ a
2
c
1
s
2
+ a
1
s
1
0 0 1 0
0 0 0 1
_

_
=
_

_
c
12
s
12
0 a
2
c
12
+ a
1
c
1
s
12
c
12
0 a
2
s
12
+ a
1
s
1
0 0 1 0
0 0 0 1
_

_
.
Notese que los dos primeros elementos de la cuarta columna de la matriz
anterior son los componentes del origen o
2
con respecto al sistema de coor-
denadas de la base:
x = a
2
c
12
+ a
1
c
1
y = a
2
s
12
+ a
1
s
1
.
POSGRADO - UNAM
3.2. LA REPRESENTACI

ON DE DENAVITHARTENBERG 54
En otras palabras (x, y) son las coordenadas del efector nal en el sistema de
coordenadas de la base. La parte rotacional de la matriz
0
T
2
proporciona la
orientacion Ox
2
y
2
z
2
con respecto al sistema de coordenadas de la base.
Ahora si quisieramos obtener la matriz de transformacion
0
A
1
, por in-
speccion (sin usar DH); se superponen los dos sistemas coordenados y se
toma en cuenta la distancia d que separa a los origenes de los sistemas (ver
Figura 3.7).
Z
0
X
0
Y
0
Z
1
X
1
Y
1
q
1
q
1
q
1
q
1
senq
cosq
s
e
n
q
c
o
s
q
Y
0
Y
1
Z
0
Z
1
-X
0
X
0
X
1
a cos 1 q
a
s
e
n
1
q
a1
O
1
O
0
Figura 3.7: Calculo de
0
A
1
por inspeccion.

Ejemplo 3.2.2 .
Considerese la conguracion cilndrica que se muestra en la Figura 3.8:
Los parametros que se obtienen utilizando la convencion DenavitHartenberg
se resumen en la siguiente tabla:
Articulacion a
i

i
d
i

i
1 0 0

d
1

1
(t) + [0

]
2 0 90

d
2
(t) + [0] 0

3 0 0

d
3
(t) + [0] 0

Tabla 3.2: Par ametros de la conguracion cilindrica.


El siguiente analisis es valido para practicamente cualquier mu neca esferi-
ca. A continuacion se mostrara que las variables de las articulaciones
4
,
5
y

6
son los angulos de Euler , y . Para ello tan solo es necesario calcular
POSGRADO - UNAM
3.2. LA REPRESENTACI

ON DE DENAVITHARTENBERG 55
Z
1
X
0
Y
0
q
1
X
2
X
3
Y
3
-Y
2
Z
0
X
1
Y
1
Z
2
d
3
d
2
O
0
O
1
O
2
O
3
Z
3
Figura 3.8: Conguracion cilndrica
las matrices
3
A
4
,
4
A
5
y
4
A
6
de acuerdo con la Tabla 3.4:
0
A
1
=
_

_
c
1
s
1
0 0
s
1
c
1
0 0
0 0 1 d
1
0 0 0 1
_

_
1
A
2
=
_

_
1 0 0 0
0 0 1 0
0 1 0 d
2
0 0 0 1
_

_
2
A
3
=
_

_
1 0 0 0
0 1 0 0
0 0 1 d
3
0 0 0 1
_

_
.
Multiplicando se obtiene:
0
T
3
=
0
A
1
1
A
2
2
A
3
=
_
0
R
3
0
d
3
0
T
1
_
=
_

_
c
1
0 s
1
s
1
d
3
s
1
0 c
1
c
1
d
3
0 1 0 d
1
+ d
2
0 0 0 1
_

_
.

Ejemplo 3.2.3 .
Considerese la conguracion de una mu neca esferica que se muestra en la
Figura 3.10:
POSGRADO - UNAM
3.2. LA REPRESENTACI

ON DE DENAVITHARTENBERG 56
X
0
Y
0
q
1
O
0
Z
0
O
1
O
2
O
3
Z
2
Z
3
X
1
Z
1
Y
3
X
3
X
2
Y
2
-Y
1
q
2
q
3
Figura 3.9: Calculo de
0
A
1
por inspeccion.
Como se observa en la gura, los ejes z
3
, z
4
y z
5
se intersecan en o. Los
parametros que se obtienen utilizando la convencion DenavitHartenberg se
resumen en la siguiente tabla:
Articulacion a
i

i
d
i

i
4 0 90

0
4
(t) + [0]
5 0 90

0
5
(t) + [90

]
6 0 0

d
6

6
(t) + [0]
Tabla 3.3: Parametros de la mu neca esferica
El siguiente analisis es valido para practicamente cualquier mu neca esferi-
ca. A continuacion se mostrara que las variables de las articulaciones
4
,
5
y

6
son los angulos de Euler , y . Para ello tan solo es necesario calcular
las matrices
3
A
4
,
4
A
5
y
4
A
6
de acuerdo con la Tabla 3.4:
3
A
4
=
_

_
c
4
0 s
4
0
s
4
0 c
4
0
0 1 0 0
0 0 0 1
_

_
4
A
5
=
_

_
c
5
0 s
5
0
s
5
0 c
5
0
0 1 0 0
0 0 0 1
_

_
5
A
6
=
_

_
c
6
s
6
0 0
s
6
c
6
0 0
0 0 1 d
6
0 0 0 1
_

_
.
POSGRADO - UNAM
3.2. LA REPRESENTACI

ON DE DENAVITHARTENBERG 57
Multiplicando se obtiene:
3
T
6
=
3
A
4
4
A
5
5
A
6
=
_
3
R
6
3
d
6
0
T
1
_
=
_

_
c
4
c
5
c
6
s
4
s
6
c
4
c
5
s
6
s
4
c
6
c
4
s
5
c
4
s
5
d
6
s
4
c
5
c
6
+ c
4
s
6
s
4
c
5
s
6
+ c
4
c
6
s
4
s
5
d
6
s
4
s
5
d
6
s
5
c
6
s
5
s
6
c
5
c
5
d
6
0 0 0 1
_

_
.
Comparando la parte rotacional
3
R
6
y
3
T
6
con los angulos de Euler dados
en (2.35):
0
R
1
= R
z,
R
y,
R
z,
=
_
_
c

+ c

+ c

_
_
,
se puede observar que
4
,
5
y
6
coinciden con los angulos de Euler , y
con respecto al sistema de coordenadas Ox
3
y
3
z
3
.
Ahora si la mu neca esferica es modelada como el sistema base en la
primera articulacion se tiene (ver Figura 3.10)
X
0
Y
0
q
1
O
0
Z
0
O
1
O
2
O
3
Z
2
Z
3
X
1
Z
1
Y
3
X
3
X
2
Y
2
-Y
1
q
2
q
3
Figura 3.10: Calculo de
0
A
1
por inspeccion.
Los parametros que se obtienen utilizando la convencion DenavitHartenberg
se resumen en la siguiente tabla:

POSGRADO - UNAM
3.2. LA REPRESENTACI

ON DE DENAVITHARTENBERG 58
Articulacion a
i

i
d
i

i
1 0 90

d
1

1
(t) + [90

]
2 0 90

0
2
(t) + [90

]
3 0 0

d
3

3
(t) + [0

]
Tabla 3.4: Par ametros de la mu neca esferica con el sistema base en la primer
articulacion.
Ejemplo 3.2.4 Considerese el robot RRPR que se muestra en la Figura ??:
O
1
Z
1
X
0
Y
0
q
1
Y
3
Y
2
Z
0
Y
1
O
0
q
2
Y
4
d
3
O
2
O
3
X
2
X
3
X
1
Z
2
O
4
Z
3
q
4
X
4
Z
4
Figura 3.11: Robot con conguracion RRPR.
El primer paso para determinar consiste en establecer los sistemas de
referencia. Para ello y se ubican y numeran los ejes de las articulaciones,
tal como se muestra. Puesto que todos los ejes son paralelos, se tiene cierta
libertad en el establecimiento de los orgenes. Por conveniencia, todos los
orgenes se sit uan en las articulaciones. Una buena eleccion del eje x
0
es la
que se muestra en la Figura, puesto que hace que d
1
y d
2
sean cero. Una vez
que el sistema base esta jo, se ubica el resto de los sistemas de coordenadas
POSGRADO - UNAM
3.2. LA REPRESENTACI

ON DE DENAVITHARTENBERG 59
de acuerdo con la convencion DH. Los parametros se resumen en la siguiente
tabla:
Articulacion a
i

i
d
i

i
1 a
1
> 0 0

0
1
(t) + [0

]
2 a
2
> 0 180

0
2
(t) + [0

]
3 0 0

d
3
(t) + [?] 0

4 0 0

d
4

4
(t) + [0

]
Tabla 3.5: Par ametros del manipulador RRPR.
Utilizando los parametros de la tabla se calculan las matrices
i1
A
i
de
acuerdo con:
i1
A
i
=
_

_
c

i
s

i
c

i
s

i
s

i
a
i
c

i
s

i
c

i
c

i
c

i
s

i
a
i
s

i
0 s

i
c

i
d
i
0 0 0 1
_

_
.
Entonces:
0
A
1
=
_

_
c
1
s
1
0 a
1
c
1
s
1
c
1
0 a
1
s
1
0 0 1 0
0 0 0 1
_

_
1
A
2
=
_

_
c
2
s
2
0 a
2
c
2
s
2
c
2
0 a
2
s
2
0 0 1 0
0 0 0 1
_

_
2
A
3
=
_

_
1 0 0 0
0 1 0 0
0 0 1 d
3
0 0 0 1
_

_
3
A
4
=
_

_
c
4
s
4
0 0
s
4
c
4
0 0
0 0 1 d
4
0 0 0 1
_

_
.
Tomando en cuenta el resultado del Ejemplo 3.2.1, se calcula:
0
T
1
=
0
A
1
0
T
2
=
_

_
c
12
s
12
0 a
2
c
12
+ a
1
c
1
s
12
c
12
0 a
2
s
12
+ a
1
s
1
0 0 1 0
0 0 0 1
_

_
.
POSGRADO - UNAM
3.2. LA REPRESENTACI

ON DE DENAVITHARTENBERG 60
Por otro lado
0
T
3
=
_

_
c
12
s
12
0 a
2
c
12
+ a
1
c
1
s
12
c
12
0 a
2
s
12
+ a
1
s
1
0 0 1 0
0 0 0 1
_

_
_

_
1 0 0 0
0 1 0 0
0 0 1 d
3
0 0 0 1
_

_
=
_

_
c
12
s
12
0 a
2
c
12
+ a
1
c
1
s
12
c
12
0 a
2
s
12
+ a
1
s
1
0 0 1 d
3
0 0 0 1
_

_
.
Finalmente
0
T
4
=
_

_
c
12
s
12
0 a
2
c
12
+ a
1
c
1
s
12
c
12
0 a
2
s
12
+ a
1
s
1
0 0 1 d
3
0 0 0 1
_

_
_

_
c
4
s
4
0 0
s
4
c
4
0 0
0 0 1 d
4
0 0 0 1
_

_
=
_

_
c
12
c
4
+ s
12
s
4
c
12
s
4
+ s
12
c
4
0 a
1
c
1
+ a
2
c
12
s
12
c
4
c
12
s
4
s
12
s
4
c
12
c
4
0 a
1
s
1
+ a
2
s
12
0 0 1 d
3
d
4
0 0 0 1
_

_
.

POSGRADO - UNAM
Cap

tulo
4
Cinematica inversa
4.1. Introduccion
En el captulo anterior se mostro como determinar la posicion y ori-
entaci on del efector nal en terminos de las variables de las articulaciones. En
este captulo se estudiara el problema inverso, es decir, encontrar las variables
de las articulaciones en terminos de la posicion y orientaci on del efector nal.
A este problema se la conoce como el problema de la cinematica inversa
y es, en general, mucho mas difcil de resolver que el de la cinematica directa.
El problema general de la cinematica inversa puede establecerse como sigue:
dada una transformacion homogenea de 4 4 dada por (3.2):
H =
_
R d
0
T
1
_
E(3), (4.1)
con R SO(3) (conjunto de todas las matrices de rotacion de 3 3), encon-
trar (una o todas) las soluciones de la ecuacion
0
T
n
(q
1
, . . . , q
n
) = H, (4.2)
donde
0
T
n
(q
1
, . . . , q
n
) =
0
A
1

n1
A
n
. (4.3)
POSGRADO - UNAM
4.2. DESACOPLAMIENTO CINEM

ATICO 62
Si se desarrolla la ecuacion (4.2) se obtienen 12 ecuaciones no lineales con n
variables desconocidas, la cual puede ser escrita como:
t
ij
(q
1
, . . . , q
n
) = h
ij
i = 1, 2, 3 j = 1, 2, 3, 4, (4.4)
donde t
ij
y h
ij
son los doce elementos no triviales de
0
T
n
y H, respectiva-
mente. Estas ecuaciones son demasiado complicadas para resolverlas en forma
cerrada, por lo que se necesita desarrollar tecnicas ecientes y sistematicas
para explotar la estructura cinematica de cada manipulador en particular.
Mientras que la cinematica directa tiene siempre una sola solucion la cual
puede obtenerse simplemente evaluando las ecuaciones directas, el problema
de la cinematica inversa puede o no tener solucion. Si existe solucion puede
o no ser unica. Ademas, debido a la naturaleza no lineal de las funciones de
las variables de las articulaciones, puede ser difcil calcular la solucion aun si
esta existe.
Al resolver el problema de la cinematica inversa, el interes mayor con-
siste en encontrar soluciones en forma cerrada de las ecuaciones en vez de
una solucion numerica. Por una solucion en forma cerrada se entiende una
solucion de la forma:
q
k
= f
k
(h
11
, . . . , h
34
) k = 1, . . . , n. (4.5)
Es preferible trabajar con soluciones en forma cerrada tanto por rapidez de
computo como por la facilidad para desarrollar reglas que permitan elegir
entre varias soluciones si es el caso.
Si existe o no solucion del problema de la cinematica inversa depende
no solo de consideraciones matematicas sino tambien de restricciones fsicas.
Por facilidad para el curso, en adelante se asumira que existe al menos una
solucion para (4.5) dada una posicion y orientacion particular del efector
nal. Ademas, se supondra que H en (4.5) corresponde efectivamente a una
conguracion del espacio de trabajo del robot, con orientaci on alcanzable.
4.2. Desacoplamiento cinematico
Aunque el problema general de la cinematica inversa es bastante difcil,
para manipuladores con seis grados de libertad, que tienen las ultimas tres
POSGRADO - UNAM
4.2. DESACOPLAMIENTO CINEM

ATICO 63
articulaciones intersecando en un punto (como el manipulador Standford),
es posible desacoplar el problema de la cinematica inversa en dos proble-
mas mas simples, conocidos como cinematica inversa de la posicion y
cinematica inversa de la orientaci on. A la interseccion de los ejes de la
mu neca se le conoce como centro de la mu neca.
Por facilidad, supongase que existen exactamente seis grados de libertad
y que los ultimos tres ejes se intersecan en un punto o. Entonces se puede
expresar la ecuacion (4.2)
0
T
6
(q
1
, . . . , q
6
) = H,
como
0
R
6
(q
1
, . . . , q
6
) = R (4.6)
0
d
6
(q
1
, . . . , q
6
) = d, (4.7)
donde d y Rson la posicion y la orientaci on especicadas para el efector nal.
Ahora bien, las suposiciones sobre la mu neca esferica signica que los ejes
z
4
, z
5
y z
6
se intersecan en o, por lo que los orgenes o
4
y o
5
asignados por la
convencion de DenavitHartenberg siempre estaran en el centro de la mu neca
o. Lo verdaderamente importante de esta suposicion es que el movimiento de
los tres elementos nales alrededor de estos ejes no cambiara la posicion de
o. Por ello, la posicion del centro de la mu neca depende exclusivamente de
las primeras tres variables. Puesto que el origen del sistema de coordenadas
de la herramienta (tool frame) o
6
es simplemente una translacion de una
distancia d
6
desde o a lo largo del eje z
5
, como se ve en el Diagrama 4.1
correspondiente al Ejemplo 3.2.3, en la Tabla 3.4.
Por tanto el vector o
6
en el sistema O
0
x
0
y
0
z
0
esta dado por:
o
6
= o + d
6
Rz. (4.8)
Sea p
c
el vector del origen del sistema coordenadas de la base al centro de
la mu neca. Por ello, para tener al efector del robot en el punto d con la
orientaci on dada por R = r
ij
es necesario y suciente que el centro de la
mu neca se localice en el punto:
p
c
=
0
d
6
d
6
0
R
6
z, (4.9)
POSGRADO - UNAM
4.2. DESACOPLAMIENTO CINEM

ATICO 64
O
4
O
5
O
6
Z
5 Z
6
Z
4
Y
6
X
6
Y
0
O
0
O
Z
0
X
0
P =P (q,q,q)
c c123
d
6
0
d
6
Figura 4.1: Diagrama de desacoplamiento cinematico.
y que la orientacion del sistema de coordenadas con respecto al sistema de
la base este dada por R. Si se denota a los componentes de la posicion del
efector nal d por d
x
, d
y
, d
z
y los componentes del centro de la mu neca p
c
se denotan por p
x
, p
y
, p
z
, entonces se puede escribir (4.9) por medio de la
relacion:
_
_
p
x
p
y
p
z
_
_
=
_
_
d
x
d
6
r
13
d
y
d
6
r
23
d
z
d
6
r
33
_
_
. (4.10)
Utilizando (4.9) se pueden encontrar los valores de las primeras tres vari-
ables de las articulaciones. Esto determina la transformacion de orientacion
0
R
3
, la cual depende solo de las primeras tres variables de las articulaciones.
Ahora ya es posible determinar la orientacion del efector nal con respecto
al sistema de coordenadas O
3
x
3
y
3
z
3
de la expresion:
R =
0
R
3
3
R
6
, (4.11)
como
3
R
6
=
_
0
R
3
_
1
R =
_
0
R
3
_
T
R. (4.12)
Los tres angulos nales se encuentran como un conjunto de angulos de
Euler correspondiente a
3
R
6
. Notese que el lado derecho de (4.12) es com-
pletamente conocido puesto que R esta dado y
0
R
3
puede ser calculada una
vez que las tres primeras variables son conocidas.
En conclusion se tiene:
POSGRADO - UNAM
4.3. POSICI

ON INVERSA: UN M

ETODO GEOM

ETRICO 65
Algoritmo 4.2.1 Para la clase de manipuladores cuya cinematica inversa
se puede desacoplar en cinematica inversa de la posicion y cinematica inversa
de la orientacion, que tienen seis grados de libertad, la cinematica inversa se
calcula de acuerdo con los siguientes pasos:
1. Encontrar q
1
, q
2
y q
3
tal que el centro de la mu neca p
c
se localice en
p
c
= d d
6
Rz (4.13)
2. Utilizando las variables de las articulaciones determinadas en el paso
1, se eval ua
0
z
3
3. Encontrar el conjunto de angulos de Euler correspondiente a la matriz
de rotacion
3
R
6
=
_
0
R
3
_
1
R =
_
0
R
3
_
T
R. (4.14)

4.3. Posicion inversa: Un metodo geometrico


Para los arreglos cinematicos comunes que se consideran se puede utilizar
un metodo geometrico para encontrar las variables q
1
, q
2
, q
3
correspondiente
al vector de posicion dado por (4.9):
p
c
= d d
6
Rz.
Las razones de utilizar un metodo geometrico son que, como ya se dijo, la
mayora de los manipuladores actuales se dise nan con una cinematica simple,
que consiste normalmente en una de las cinco conguraciones basicas que se
vieron en la Seccion 1.3 con una mu neca esferica. Ademas, hay pocas tecni-
cas para tratar el problema de la cinematica inversa para conguraciones
arbitrarias. En vista de lo anterior no se justica la dicultad de un metodo
general.
En general la complejidad del problema cinematico inverso se incrementa
con el aumento de elementos con parametros distintos de cero.
POSGRADO - UNAM
4.3. POSICI

ON INVERSA: UN M

ETODO GEOM

ETRICO 66
4.3.1. Conguracion articulada
Considerese la conguracion del codo que se muestra en la gura ??:
X
0
Y
0
q
1
O
0
Z
0
q
2
q
3
P
C
R
S
P
Y
d
1
P
X
Figura 4.2: Conguracion tipo codo.
POSGRADO - UNAM
4.3. POSICI

ON INVERSA: UN M

ETODO GEOM

ETRICO 67
Los componentes p
c
, que se denotan por p
x
, p
y
, p
z
, se pueden proyectar
en el plano x
0
y
0
. Gracamente se observa que:

1
= Atan(p
x
, p
y
), (4.15)
donde Atan(x, y) denota los dos argumentos de la funcion arco tangente que
se dene para todo (x, y) ,= 0 y que es igual al unico angulo que satisface
cos =
x
(x
2
+ y
2
)
1
2
sin =
y
(x
2
+ y
2
)
1
2
. (4.16)
Por ejemplo, Atan(1, 1) = /4 mientras que Atan(1, 1) = 3/4. Notese
que otra solucion que es valida esta dada por:

1
= + Atan(p
x
, p
y
), (4.17)
en donde la solucion
2
es correspondiente a
2
.
Estas soluciones para
1
son validas a menos que p
x
= p
y
= 0. En este caso
(4.15) no esta denida y el manipulador se encuentra en una conguracion
singular, como la que se muestra en la Figura 4.3A:
En esta posicion el centro de la mu neca p
c
interseca el eje z
0
, por lo que
cualquier valor de
1
deja a p
c
jo. Por tanto, existe una innidad de solu-
ciones.
Si existe un oset d ,= 0 como el que se muestra en la Figura 4.3B,
entonces el centro de la mu neca no puede intersecar el eje z
0
.
En este caso, en general, habra solamente dos soluciones para
1
. Estas
corresponden a las llamadas conguraciones de brazo izquierdo y de brazo
derecho.
La Figura 4.4 muestra la conguracion del brazo izquierdo. Se observa
que

1
= , (4.18)
donde
= Atan(p
x
, p
y
) (4.19)
= Atan(d,

r
2
d
2
) = Atan(d,
_
p
2
x
+ p
2
y
d
2
). (4.20)
POSGRADO - UNAM
4.3. POSICI

ON INVERSA: UN M

ETODO GEOM

ETRICO 68
X
0
Y
0
q
1
O
0
Z
0
X
0
Y
0
q
O
0
Z
0
1
(A)
(B)
d
Figura 4.3: Conguracion singular.
La segunda solucion dada por la conguracion del brazo derecho que se
muestra en la Figura 4.5 esta dada por:

1
= Atan(p
x
, p
y
) Atan(d,
_
p
2
x
+ p
2
y
d
2
). (4.21)
Para encontrar los angulos
2
y
3
del codo, dada
1
, se considera el plano
formado por el segundo y tercer elemento, como se muestra en la gura 4.6:
Puesto que el movimiento de los elementos dos y tres es planar, la solucion
se puede encontrar utilizando la Ley de los cosenos de donde se obtiene:
cos
3
=
x
2
+ y
2
a
2
2
a
2
3
2a
2
a
3

= D, (4.22)
por lo que

3
= cos
1
(D). (4.23)
Sin embargo, un mejor metodo para encontrar
3
consiste en notar que si
cos
3
esta dado por (4.22), entonces sin
3
esta dado por
sin
3
=

1 D
2
, (4.24)
POSGRADO - UNAM
4.3. POSICI

ON INVERSA: UN M

ETODO GEOM

ETRICO 69
Figura 4.4: Conguracion brazo izquierdo.
de donde se obtiene

3
= tan
1
_

1 D
2
D
_
. (4.25)
La ventaja de la notacion anterior es que tanto la solucion codo hacia arriba
como la solucion codo hacia abajo se obtienen simplemente eligiendo el signo
positivo o negativo en (4.25), respectivamente. Se puede mostrar que:

2
= tan
1
_
y
x
_
tan
1
_
a
3
sin
3
a
2
+ a
3
cos
3
_
. (4.26)
Notese que
2
depende de
3
. Ahora bien, en funcion de r y s se tiene:
cos
3
=
r
2
s
2
a
2
2
a
2
3
2a
2
a
3
(4.27)
=
p
2
x
+ p
2
y
+ (p
2
z
d
1
)
2
a
2
2
a
2
3
2a
2
a
3

= D, (4.28)
de donde se tiene que
3
esta dado por

3
= Atan
_
D,

1 D
2
_
. (4.29)
POSGRADO - UNAM
4.3. POSICI

ON INVERSA: UN M

ETODO GEOM

ETRICO 70
Figura 4.5: Conguracion brazo derecho.
De manera similar
2
esta dada por

2
= Atan(r, s) Atan(a
2
+ a
3
c
3
, a
3
s
3
) (4.30)
= Atan
__
p
2
x
+ p
2
y
, p
z
d
1
_
Atan(a
2
+ a
3
c
3
, a
3
s
3
). (4.31)
Las dos soluciones para
3
corresponden a la de codo arriba y codo abajo,
respectivamente.
4.3.2. Conguracion esferica
A continuacion se resolvera la cinematica inversa de la posicion para un
manipulador esferico con tres grados de libertad como el que se muestra en
la gura 4.7:
Como en el caso del manipulador codo la primera variable de la articu-
lacion es la base de rotacion y una solucion esta dada por:

1
= Atan(p
x
, p
y
), (4.32)
siempre que p
x
, y p
y
no sean iguales a cero. Si ambos son cero, la congu-
racion es singular y
1
puede tomar cualquier valor.
POSGRADO - UNAM
4.3. POSICI

ON INVERSA: UN M

ETODO GEOM

ETRICO 71
r
2
Figura 4.6: Proyeccion en el plano de la articulacion 2 y 3.
De la Figura 4.7 se obtiene
2
:

2
= Atan(r, s), (4.33)
donde
r
2
= p
2
x
+ p
2
y
s = p
x
d
1
.
Al igual que en el caso del manipulador codo una segunda solucion para
1
y
2
esta dada por:

1
= + Atan(p
x
, p
y
)
2
= Atan(r, s). (4.34)
La distancia lineal d
3
se encuentra de la expresion
(d
3
+ a
2
)
2
= r
2
+ s
2
, (4.35)
y
d
3
=

r
2
+ s
2
a
2
=
_
p
2
x
+ p
2
y
+ (p
2
z
d
1
)
2
a
2
. (4.36)
POSGRADO - UNAM
4.4. ORIENTACI

ON INVERSA 72
Figura 4.7: Manipulador esferico.
El valor negativo de la raz cuadrada para d
3
no se toma en consideracion
por lo que en este caso se obtienen dos soluciones para la cinematica inversa
de la solucion siempre que el centro de la mu neca no interseque z
0
. Si existe
un oset entonces se tendra un brazo con conguracion izquierda y derecha
como en el caso del manipulador codo.
4.4. Orientacion inversa
En la seccion anterior se utilizo un metodo geometrico para resolver el
problema de posicion inversa. Con ello se obtienen los valores de las primeras
tres variables de las articulaciones correspondientes a una posicion dada del
origen de la mu neca. El problema de la orientaci on inversa consiste en en-
contrar los valores de las tres variables de las articulaciones nales que cor-
responde a una orientaci on dada con respecto al sistema de coordenadas
O
3
x
3
y
3
z
3
. Para una mu neca esferica esto se puede interpretar como el prob-
lema de encontrar un conjunto de angulos de Euler correspondiente a una
POSGRADO - UNAM
4.4. ORIENTACI

ON INVERSA 73
matriz de rotacion R.
4.4.1.

Angulos de Euler
Supongase que U = u
ij
SO(3) esta dada y que
3
R
6
es la transfor-
macion dependiente de los angulos de Euler (ver (2.35)):
_
_
c

+ c

+ c

_
_
=
_
_
u
11
u
12
u
13
u
21
u
22
u
23
u
31
u
32
u
33
_
_
.(4.37)
Supongase que ni u
13
ni u
23
son cero. Por tanto, de la ecuacion anterior
se observa que s

,= 0, de donde que concluye que u


31
y u
32
no son cero
simult aneamente. Si ni u
13
ni u
23
son cero entonces u
33
,= 1 y se tiene:
c

= u
33
s

=
_
1 u
2
33
,
de tal forma que:
= Atan
_
u
33
,
_
1 u
2
33
_
, (4.38)
o bien
= Atan
_
u
33
,
_
1 u
2
33
_
. (4.39)
Si se elige el primer valor para k, entonces s

> 0, y
= Atan(u
13
, u
23
) (4.40)
= Atan(u
31
, u
32
). (4.41)
Si se elige el segundo valor para k, entonces s

< 0, y
= Atan(u
13
, u
23
) (4.42)
= Atan(u
31
, u
32
). (4.43)
De este modo existen dos soluciones dependiendo del signo que se elija para .
POSGRADO - UNAM
4.4. ORIENTACI

ON INVERSA 74
Si tanto u
13
= u
23
= 0, entonces el hecho de que U sea ortogonal implica
que u
33
= 1, y que u
31
= u
32
= 0, por lo que se tiene:
U =
_
_
u
11
u
12
0
u
21
u
22
0
0 0 1
_
_
. (4.44)
Si u
33
= 1, entonces c

= 1 y s

= 0, de tal forma que = 0. En este caso


(4.37) se convierte en:
_
_
c

+ c

+ c

_
_
=
_
_
c
+
s
+
0
c
+
s
+
0
0 0 1
_
_
=
_
_
u
11
u
12
0
u
21
u
22
0
0 0 1
_
_
. (4.45)
El termino + puede calcularse como
+ = Atan(u
11
, u
21
) (4.46)
= Atan(u
11
, u
21
). (4.47)
Puesto que tan solo la suma + puede ser determinada de este modo,
existen innidad de soluciones. Por convencion se puede utilizar = 0, y
denir de acuerdo con (4.46). Si u
33
= 1, entonces c

= 1 y s

= 0, de
tal forma que = . En este caso (4.37) se convierte en:
_
_
c
+
s
+
0
c
+
s
+
0
0 0 1
_
_
=
_
_
u
11
u
12
0
u
21
u
22
0
0 0 1
_
_
. (4.48)
En este caso la solucion es:
= Atan(u
11
, u
21
) (4.49)
= Atan(u
21
, u
22
). (4.50)
Como en el caso anterior existe un n umero innito de soluciones.
Ejemplo 4.4.1 Considerese el manipulador SCARA que se muestra en la
gura 4.8:
Como se recordara, del Ejemplo 3.2.4 se sabe que la cinematica directa
satisface:
0
T
4
_

_
c
12
c
4
+ s
12
s
4
c
12
s
4
+ s
12
c
4
0 a
1
c
1
+ a
2
c
12
s
12
c
4
c
12
s
4
s
12
s
4
c
12
c
4
0 a
1
s
1
+ a
2
s
12
0 0 1 d3 d4
0 0 0 1
_

_
=
_
R d
0
T
1
_
. (4.51)
POSGRADO - UNAM
4.4. ORIENTACI

ON INVERSA 75
Figura 4.8: Manipulador SACARA.
Por supuesto, puesto que el manipulador SCARA solo tiene cuatro grados de
libertad, no siempre es posible encontrar una solucion para cualquier H
E(3) en (4.51). De hecho, por observacion se concluye que R tiene que tener
la forma:
R =
_
_
cos sin 0
sin cos 0
0 0 1
_
_
. (4.52)
Si este es el caso, entonces la suma
1
+
2

4
esta determinada por

1
+
2

4
= = Atan(r
12
, r
11
). (4.53)
Proyectando la conguracion del manipulador en el plano x
0
y
0
, mediante la
observacion se tiene:

2
= Atan
_

1 r
2
, r
_
, (4.54)
POSGRADO - UNAM
4.4. ORIENTACI

ON INVERSA 76
donde
r
2
=
d
2
x
+ d
2
y
a
1
a
2
2a
1
a
2
. (4.55)
Tambien se obtiene:

1
= Atan (d
x
, d
y
) Atan (a
1
+ a
2
c
2
, a
2
s
2
) . (4.56)
Se puede determinar
4
de (4.53) como

4
=
1
+
2
=
1
+
2
Atan(r
12
, r
11
). (4.57)
Finalmente d
3
esta dado por
d
3
= d
2
+ d
4
. (4.58)

POSGRADO - UNAM
Cap

tulo
5
El Jacobiano del manipu-
lador
En la presente seccion se desarrollara la relacion que existe entre la ve-
locidad linear y angular del efector nal (o cualquier otro punto en el ma-
nipulador) con la velocidad de las articulaciones.
Matematicamente, las ecuaciones de la cinematica directa denen una
funcion entre el espacio cartesiano de posiciones y orientaciones y el espacio
de las posiciones de las articulaciones. Las relaciones de velocidad estan por
el Jacobiano de esta funcion. El Jacobiano es una funcion matricial y puede
ser considerado como la versi on vectorial de la derivada ordinaria de una fun-
cion escalar. El Jacobiano o matriz Jacobiana es una de las cantidades
mas importantes en el analisis y control del movimiento de robots.
Para un manipulador con n elementos, primero se encontrar a el Jacobiano
que representa la transformacion instant anea entre el vector de dimension n
de velocidades de las articulaciones y el vector de dimension 6 que consiste de
las velocidades lineal y angular del efector nal. El Jacobiano es una matriz
de 6n. El mismo procedimiento se utiliza para determinar la transformacion
entre las velocidades de las articulaciones y las velocidades linear y angular
POSGRADO - UNAM
5.1. C

ALCULO DEL JACOBIANO 78


de cualquier punto en el manipulador. Despues se discutira el concepto de
conguraciones singulares. Finalmente se discutira la relacion entre las
aceleraciones de las articulaciones y del efector nal.
5.1. Calculo del Jacobiano
Considerese un manipulador de n elementos con variables de las articu-
laciones q
1
, . . . , q
n
. Sea
0
T
n
(q) =
_
0
R
n
(q)
0
d
n
(q)
i
T
1
_
, (5.1)
denota la transformacion del sistema de coordenadas del efector nal al sis-
tema de la base, donde
q =
_

_
q
1
.
.
.
q
n
_

_
es el vector de variables de las articulaciones. Cuando el robot se mueve, tanto
las variables de las articulaciones q
i
como la posicion,
0
d
n
(q), y orientaci on,
0
R
n
(q), del efector nal son funciones del tiempo. El objetivo de este captulo
consiste en relacionar las velocidades angular y lineal del efector nal con el
vector de velocidades de las articulaciones q(t). Sea
0
v
n
=
0

d
n
(5.2)
la velocidad lineal del efector nal, y defnase el vector de velocidades angu-
lares
0

n
del efector nal por medio de
S(
0

n
) =
0
R
n
(
0
R
n
)
T
. (5.3)
Lo que se busca son expresiones de la forma:
0
v
n
= J
v
q (5.4)
0

n
= J

q, (5.5)
POSGRADO - UNAM
5.1. C

ALCULO DEL JACOBIANO 79


donde J
v
y J

son matrices de 3 n. Por supuesto (5.4) y (5.5) se pueden


escribir como:
_
0
v
n
0

n
_
=
0
J
n
q, (5.6)
donde
0
J
n
esta dada por
0
J
n
=
_
J
v
J

_
. (5.7)
A la matriz
0
J
n
se le conoce como Jacobiano del manipulador o sim-
plemente Jacobiano. Notese que
0
J
n
es una matriz de 6 n, donde n es
el n umero de elementos; esta relacion puede ser calculado para cualquier
sistema coordenado i.
Nota: En particular J =
0
J
n
que es el jacobiano geometrico del ma-
nipulador. Algunas veces es posible utilizar

en lugar de , en este caso se
emplea el jacobiano analitico que en general es distinto del geometrico y se
relacionan mediante
0
J
n
(q) =
_
I
3n
T
3n
_
J
A
(q) (5.8)
A continuacion se derivaran expresiones simples para calcular el Jaco-
biano de cualquier manipulador.
POSGRADO - UNAM
5.1. C

ALCULO DEL JACOBIANO 80


Velocidad lineal
La velocidad lineal del efector nal es simplemente
0

d
n
. Por la regla de
la cadena:
0

d
n
=
n

i=1

0
d
n
q
i
q
i
. (5.9)
De este modo se observa que la iesima columna J
v
esta dada por:

0
d
n
q
i
.
Ademas, la expresion anterior es la velocidad lineal del efector nal cuando
q
i
= 1 y el resto de las velocidades q
j
, con j ,= i, son iguales a cero. En otras
palabras, la iesima columna del Jacobiano se genera manteniendo jas todas
las articulaciones con excepcion de la iesima, la cual tiene velocidad unitaria.
A continuaci on se presentan dos casos por separado:
1. Si la iesima articulacion es prismatica, entonces
0
R
1
es independiente
de q
i
= d
i
, para todo j y Si todas las articulaciones estan jas menos
la iesima, entonces se tiene
0

d
n
=
0
R
i1
i1

d
i
=

d
i
0
R
i1
k
i1
= q
i
z
i1
. (5.10)
De este modo

0
d
n
q
i
= z
i1
. (5.11)
2. Si la iesima articulacion es de revoluci on y o
k
denota el vector d
0k
del
origen o
0
al origen o
k
para cualquier k, entonces
0
d
n
=
0
d
i1
+
0
R
i1
i1
d
n
, (5.12)
o bien, utilizando la nueva notacion:
o
n
o
i1
=
0
R
i1
i1
d
n
. (5.13)
se puede observar en la gura 5.2 que tanto
0
d
i1
y
0
R
i1
son constantes
si solo se mueve la iesima articulacion. Por consiguiente, de (5.12):
0

d
n
=
0
R
i1
i1

d
n
. (5.14)
POSGRADO - UNAM
5.1. C

ALCULO DEL JACOBIANO 81


Figura 5.1: Movimiento del efector nal debido a la articulacion prismatica
Ahora bien, puesto que el movimiento de la iesima articulacion es una
rotacion q
i
alrededor de k
i1
se tiene:
i1

d
n
= q
i
k
i1

i1
d
n
. (5.15)
De este modo
0

d
n
=
0
R
i1
_
q
i
k
i1

i1
d
n
_
(5.16)
= q
i
0
R
i1
k
i1

0
R
i1
i1
d
n
= q
i
z
i1
(o
n
o
i1
) .
De este modo se tiene

0
d
n
q
i
= z
i1
(o
n
o
i1
) . (5.17)
Entonces, la parte superior del Jacobiano J
v
esta dada por:
J
v
=
_
J
v,1
J
v,n

, (5.18)
donde la iesima columna J
v,i
esta dada por
J
v,i
= z
i1
(o
n
o
i1
) , (5.19)
POSGRADO - UNAM
5.1. C

ALCULO DEL JACOBIANO 82


Figura 5.2: Movimiento del efector nal debido a la articulacion de revoluci on
si la iesima articulacion es de revoluci on y
J
v,i
= z
i1
, (5.20)
si la iesima articulacion es prismatica.
Velocidad angular
Como se recordara, de la ecuacion (2.105):
0

n
=
0

1
+
0
R
1
1

2
+
0
R
2
2

3
+ +
0
R
n1
n1

n
,
las velocidades angulares se pueden sumar vectorialmente siempre que se
expresen con respecto a un mismo sistema de coordenadas. De este modo
es posible determinar la velocidad angular del efector nal con respecto al
sistema de coordenadas de la base expresando la velocidad angular de cada
elemento con respecto a este sistema y despues sumando los resultados. Si la
iesima articulacion es de revoluci on, entonces la iesima variable de articu-
lacion q
i
es igual a
i
, mientras que el eje de rotacion es el z
i
. Por lo tanto,
la velocidad angular del iesimo elemento en el sistema de coordenadas i
POSGRADO - UNAM
5.1. C

ALCULO DEL JACOBIANO 83


esta dada por:
i1

i
= q
i
k
i1
. (5.21)
En cambio, si la iesima articulacion es prismatica, entonces la velocidad
angular del efector nal no depende de q
i
(que ahora es igual a d
i
).
Por consiguiente, la velocidad angular del efector nal
0

n
en el sistema
de coordenadas de la base esta dada por:
0

n
=
1
q
1
k
0
+
2
q
2
0
R
1
k
1
+ +
n
q
n
0
R
n1
k
n1
=
n

i=1

i
q
i
k
i1
, (5.22)
donde
z
i1
=
0
R
i1
k
i1
, (5.23)
denota el vector unitario z
i1
del sistema de coordenadas i 1 expresado
en el sistema de coordenadas de la base.
i
, i = 1, . . . , n es igual a 1 si la
articulacion es de revolucion y 0 si es prismatica. Por supuesto:
z
0
=
_
_
0
0
1
_
_
.
El vector J

de la parte de abajo de (5.7), esta entonces dado por:


J

=
_

1
z
0

n
z
n1

. (5.24)
Si a continuaci on se colocan juntas la mitad superior e inferior del Jaco-
biano se puede ver que el Jacobiano de un manipulador tiene la forma:
J
v
=
_
J
1
J
n

, (5.25)
donde la iesima columna J
i
esta dado por
J
i
=
_
_
z
i1
(o
n
o
i1
)
z
i1
_
_
, (5.26)
POSGRADO - UNAM
5.1. C

ALCULO DEL JACOBIANO 84


si la iesima articulacion es de revolucion y por
J
i
=
_
_
z
i1
0
_
_
, (5.27)
si la iesima articulacion es prismatica.
Las formulas que se obtuvieron sirven para encontrar el Jacobiano de
cualquier manipulador simple puesto que todas las cantidades necesarias se
encuentran disponibles una vez que se ha calculado la cinematica directa. En
realidad, las unicas cantidades necesarias para calcular el Jacobiano son los
vectores unitarios k
i
y los vectores del origen o
0
a los orgenes o
1
, . . . , o
n
.
Si se observa con detenimiento, el vector k
i
esta dado por los tres primeros
elementos de la tercera columna de
0
T
i
mientras que o
i
esta dado por los
3 primeros elementos de la cuarta columna de
0
T
i
. De este modo, solo la
tercera y cuarta columnas de las matrices T son necesarias para evaluar el
Jacobiano de acuerdo con las formulas anteriores. Finalmente, debe obser-
varse que el procedimiento anterior permite calcular tambien la velocidad de
cualquier punto sobre el manipulador.
Ejemplo 5.1.1 Considerese el robot planar de dos grados de libertad del
Ejemplo 3.2.1, que se muestra en la Figura 5.3
Puesto que ambas articulaciones son de revolucion la matriz Jacobiana,
que en este caso es de 6 2, tiene la forma:
J(q) =
_
z
0
(o
2
) o
0
) z
1
(o
2
) o
1
)
z
0
z
1
_
. (5.28)
Las cantidades que aparecen arriba se pueden calcular de las matrices que se
obtuvieron en el Ejemplo 3.2.1:
0
T
1
=
_

_
c
1
s
1
0 a
1
c
1
s
1
c
1
0 a
1
s
1
0 0 1 0
0 0 0 1
_

_
,
y
0
T
2
=
_

_
c
12
s
12
0 a
2
c
12
+ a
1
c
1
s
12
c
12
0 a
2
s
12
+ a
1
s
1
0 0 1 0
0 0 0 1
_

_
.
POSGRADO - UNAM
5.1. C

ALCULO DEL JACOBIANO 85


Figura 5.3: Manipulador planar de 2 elementos
Por tanto se tiene:
o
0
=
_
_
0
0
0
_
_
o
1
=
_
_
a
1
c
1
a
1
s
1
0
_
_
o
2
= =
_
_
a
1
c
1
+ a
2
c
12
a
1
s
1
+ a
2
s
12
0
_
_
z
0
= z
1
=
_
_
0
0
0
_
_
.
Llevando a cabo los calculos necesarios se obtiene:
J(q) =
_

_
a
1
s
1
a
2
s
12
a
2
s
12
a
1
c
1
+ a
2
c
12
a
2
c
12
0 0
0 0
0 0
1 1
_

_
. (5.29)
Los primeros dos renglones de (5.29) proporcionan la velocidad lineal del ori-
gen o
2
con respecto a la base. El tercer renglon proporciona la velocidad en la
direccion z
0
, que por supuesto es cero. Los ultimos tres renglones representan
la velocidad angular del sistema de coordenadas del efector nal, que en este
caso es simplemente una rotacion alrededor del eje vertical a la velocidad

1
+

2
.

POSGRADO - UNAM
5.2. SINGULARIDADES 86
5.2. Singularidades
La matriz Jacobiana de 6 n, J(q) dene el mapeo:

X = J(q) q, (5.30)
entre el vector q de las velocidades de las articulaciones y el vector

X =
_
v

_
de las velocidades del efector nal. (5.31) implica que todas las posibles
combinaciones son por columna de la matriz Jacobiana.

X = J
1
(q) q
1
+J
2
(q) q
2
+ +J
n
(q) q
n
, (5.31)
Innitesimalmente, lo anterior dene una transformacion lineal:
dX = J(q)dq, (5.32)
entre las diferenciales dX y dq. Se puede considerar que las diferencias an-
teriores denen direcciones en R
n
y R
6
, respectivamente.
Del ejemplo 5.1.1 tenemos
J(q) =
_

_
a
1
s
1
a
2
s
12
a
2
s
12
a
1
c
1
+ a
2
c
12
a
2
c
12
0 0
0 0
0 0
1 1
_

_
(5.33)
Nota: El rango de una matriz es el numero de columnas o renglones
(seg un sea el caso)linealmente independientes. Debido a lo expresado en
la ecuacion 5.31 el rango de la matriz jacobiana sera el numero de colum-
nas linealmente independientes; para un manipular de 6 grados de libertad
reankJ = 6es el rango ideal.Puesto que el Jacobiano es una funcion de la
conguracion q, aquellas conguraciones para las cuales el rango de J de-
crece son de especial importancia. Para una matriz jacobiana J R
6n
el
rango es determinado mediante.
rank(J) min(6, n) (5.34)
POSGRADO - UNAM
5.2. SINGULARIDADES 87
para el ejemplo anterior rank(J) 2. El rank de la matriz jacobiana no
es constante, depende de la conguracion q. A estas conguraciones se les
conoce como singularidades o conguraciones singulares. Es importante
identicar dichas conguraciones por varias razones:
Las singularidades representan conguraciones desde las cuales ciertas
direcciones de movimiento no pueden ser logradas
En las singularidades, velocidades acotadas del efector nal puede cor-
responder a velocidades no acotadas de las articulaciones
En las singularidades, fuerzas y momentos acotados del efector nal
pueden corresponder a momentos no acotados de las articulaciones
Las singularidades corresponden a puntos en el espacio de trabajo del
manipulador que pueden no ser alcanzable bajo peque nas modica-
ciones del los parametros de los elementos
Cerca de las singularidades no existira una solucion unica al problema
de la cinematica inversa. En tales casos puede no haber solucion o puede
haber un n umero innito de soluciones
Ejemplo 5.2.1 Considerese el sistema de ecuaciones:
dX = J(q)dq =
_
1 1
0 0
_
, (5.35)
que corresponde a loas dos ecuaciones
dx = dq
1
+ dq
2
dy = 0.
En este caso el rango de J(q) es uno y puede observarse que para cualquier
valor de dq
1
y dq
2
no hay cambio en la variables dy. Por tanto, para cualquier
vector dX que tenga un segundo componente distinto de cero representa una
direccion inalcanzable de movimiento instantaneo.

Nota: Puede utilizarse el determinante de la matriz Jacobiana del ma-


nipulador para encontrar singularidades.
POSGRADO - UNAM
5.2. SINGULARIDADES 88
Del ejemplo 5.1.1 el determinante puede calcularse como:
detJ = (a
1
s
1
+ a
2
s
12
)a
2
c
12
+ (a
1
c
1
+ a
2
c
12
)a
2
s
12
= a
1
a
2
s
1
c
12
a
2
2
s
12
c
12
+ a
1
a
2
c
1
s
12
+ a
2
2
s
12
c
12
= a
1
a
2
[c
1
(s
1
c
2
+ c
1
s
2
) s
1
(c
1
c
2
s
1
s
2
)]
= a
1
a
2
s
2
(c
2
1
+ s
2
1
) = a
1
a
2
s
2
y la matriz jacobiana inversa es
J
1
=
1
a
1
a
2
s
2
_
a
2
c
12
a
2
s
12
a
1
c
1
a
2
c
12
a
1
s
1
a
2
s
12
_
(5.36)
como puede notarse si
2
= 0 o
2
= la inversa del jacobiano se indetermina,
a esto se le llama conguracion singular. es decir, lo que signica que el efector
nal no puede moverse sobre X cuando x
2
= 0.
5.2.1. Desacople de Singularidades
Las singularidades pueden descomponerse en dos. La primera singular-
idades de armadura (posicion) que consiste de las 3 primeras o mas ar-
ticulaciones, que permiten el calculo del centro de la mu neca; mientras que
las segunda se denomina singularidades de mu neca y son el resultado del
movimiento de la mu neca esferica.
Considere el caso en que n = 6, en este caso el Jacobiano es una matriz
de 6 6 y una conguracion singular tal que
detJ(q) = 0 (5.37)
si partimos al jacobiano en dos
J(q) =
_
J
p
J
o

=
_
J
11
J
12
J
21
J
22
_
(5.38)
debido a que las ultimas 3 articulaciones sin de revoluci on (considerando que
el robot tiene una conguracion de mu neca esferica)
J
o
=
_
z
3
(o
6
) o
3
) z
4
(o
6
) o
4
) z
5
(o
6
) o
5
)
z
3
z
4
z
5
_
(5.39)
POSGRADO - UNAM
5.2. SINGULARIDADES 89
debido a que en una mu neca esferica podemos escoger o
3
= o
4
= o
5
= o
6
entonces
J
o
=
_
0 0 0
z
3
z
4
z
5
_
(5.40)
esto implica que de 5.41 obtengamos
J(q) =
_
J
11
0
J
21
J
22
_
(5.41)
entonces el detJ(q) = detJ
11
detJ
22
; donde J
11
y J
22
R
33
. Entonces las
singularidades seran el conjunto de conguraciones que satisfagan detJ
11
= 0
y/o detJ
22
= 0.
Las singularidades que satisfacen detJ
11
= 0 son llamadas singulari-
dades de armadura y las que satisfacen detJ
22
= 0 son llamadas singu-
laridades de mu neca.
Nota: Cuando 2 articulaciones de revoluci on son colineales siempre apare-
cera una singularidad.
POSGRADO - UNAM
Cap

tulo
6
Dinamica de un robot ma-
nipulador
La dinamica del robot trata con las formulaciones matematicas de las
ecuaciones de movimiento del brazo. Las ecuaciones de movimiento de un
manipulador son un conjunto de ecuaciones matematicas que describen su
conducta dinamica. Tales ecuaciones son utiles para la simulaci on en com-
putadora del movimiento del robot, el dise no de ecuaciones de control apropi-
adas para el robot y la evaluaci on del dise no y estructura del brazo.
El modelo dinamico de un robot se puede obtener a partir de leyes fsicas
conocidas tales como las leyes de la mecanica newtoniana y lagrangiana.
Esto conduce al desarrollo de las ecuaciones de movimiento dinamico para
las diversas articulaciones del manipulador en terminos de los parametros
geometricos e inerciales de los elementos. Metodos convencionales como las
formulaciones de EulerLagrange y de NewtonEuler se pueden aplicar en-
tonces sistematicamente para desarrollar las ecuaciones de movimiento del
robot.
POSGRADO - UNAM
6.1. FORMULACI

ON DE EULERLAGRANGE 91
6.1. Formulaci on de EulerLagrange
Las ecuaciones de movimiento general de un manipulador se pueden ex-
presar convenientemente mediante la aplicacion directa de la formulacion
de EulerLagrange a sistemas no conservativos. Se puede utilizar la repre-
sentaci on matricial de DenavitHartenberg para describir el desplazamiento
espacial entre los sistemas de coordenadas de elementos vecinos para obtener
la informacion cinematica del elemento. Entonces, se puede emplear la tecnica
dinamica lagrangiana para deducir las ecuaciones dinamicas de un manipu-
lador. La aplicacion directa de la formulaci on dinamica lagrangiana, junto
con la representacion de coordenadas de elementos de DenavitHartenberg,
resulta en una descripcion algortmica conveniente y compacta de las ecua-
ciones de movimiento del manipulador. El algoritmo se expresa mediante
operaciones matriciales y facilita tanto el analisis como su realizacion en una
computadora.
La derivaci on de las ecuaciones dinamicas de un manipulador con n grados
de libertad se basa en la comprension de:
1. La matriz de transformacion de coordenadas homogeneas 4 4, A
i1,i
,
que describe la relacion espacial entre los sistemas de coordenadas del
elemento iesimo y el elemento (i1)esimo. Relaciona un punto jado
en el elemento i expresado en coordenadas homogeneas con respecto al
sistema de coordenadas iesimo en el sistema de coordenadas (i 1)
esimo
2. La ecuacion de EulerLagrange:
d
dt
_
L
q
i
_

L
q
i
+
T
q
i
=
i
i = 1, . . . , n, (6.1)
donde
L = funcion lagrangiana = energa cinetica / - energa potencial T
/ = energa cinetica total del manipulador
T = energa potencial total del manipulador
T = funcion de disipacion de Rayleigh
q
i
= coordenada generalizada del manipulador
POSGRADO - UNAM
6.1. FORMULACI

ON DE EULERLAGRANGE 92
q
i
= primera derivada con respecto al tiempo de la coordenada gen-
eralizada q
i

i
= fuerza (o par) generalizado aplicado al sistema en la articulacion
i para mover el elemento i
Como puede apreciarse, es necesario elegir adecuadamente un conjun-
to de coordenadas generalizadas para describir el sistema. Las coordenadas
generalizadas se utilizan como un conjunto de coordenadas convenientes que
describen completamente la localizacion (posicion y orientaci on) de un sis-
tema con respecto a un sistema de coordenadas de referencia. En el caso de un
manipulador, se puede tomar como coordenadas generalizadas las posiciones
angulares o desplazamientos de las articulaciones. Esto corresponde tambien
a las coordenadas generalizadas con las variables articulaciones denidas en
cada una de las matrices de transformacion de coordenadas de elementos de
4 4. (
i
o d
i
, seg un se trate de una articulacion de revoluci on o de una
prismatica).
6.1.1. Calculo de la velocidad de un punto del robot
utilizando DH
La formulaci on de EulerLagrange requiere el conocimiento de la energa
cinetica del sistema fsico, que a su vez requiere un conocimiento de la ve-
locidad de cada articulacion. En esta seccion se deducira la velocidad de un
punto jado en el elemento i y se exploraran los efectos del movimiento de
otra articulacion sobre todos los puntos en este elemento.
Con respecto a la Figura 6.1, sea
i
r
i
un punto jo y en reposo en el
elemento i y expresado en coordenadas homogeneas con respecto al sistema
de coordenadas del iesimo elemento
i
r
i
=
_

_
x
i
y
i
z
i
1
_

_
= constante. (6.2)
Sea
0
r
i
el mismo punto
i
r
i
con respecto al sistema de coordenadas de la
base,
i1
A
i
la matriz de transformacion de coordenadas homogeneas que
relaciona el desplazamiento espacial del sistema de coordenadas del elemento
iesimo con respecto al sistema de coordenadas del elemento (i 1)esimo
POSGRADO - UNAM
6.1. FORMULACI

ON DE EULERLAGRANGE 93
O
0
Z
0
r
i
0
r
i
i
Figura 6.1: Un punto
i
r
i
en el elemento i
y
0
A
i
la matriz de transformacion de coordenadas de la base. Entonces,
0
r
i
esta relacionado con el punto
i
r
i
por
0
r
i
=
0
A
i
i
r
i
, (6.3)
donde
0
A
i
=
0
A
1
1
A
2

i1
A
i
. (6.4)
Si la articulacion i es de revolucion, la forma general de
i1
A
i
esta dada por:
i1
A
i
=
_

_
c

i
c

i
s

i
s

i
s

i
a
i
c

i
s

i
c

i
c

i
s

i
c

i
a
i
s

i
0 s

i
c

i
d
i
0 0 0 1
_

_
, (6.5)
o, si la articulacion i es prismatica se tiene a
i
= 0, por lo que se obtiene:
i1
A
i
=
_

_
c

i
s

i
c

i
s

i
s

i
0
s

i
c

i
c

i
c

i
s

i
0
0 s

i
c

i
d
i
0 0 0 1
_

_
. (6.6)
En general, todos los elementos no nulos de la matriz
0
A
i
son una funcion de
(
1
, . . . ,
i
), y
i
, a
i
, d
i
son parametros conocidos de la estructura cinematica
POSGRADO - UNAM
6.1. FORMULACI

ON DE EULERLAGRANGE 94
del brazo y
i
o d
i
es la variable de articulacion del elemento i. Con el n de
deducir las ecuaciones de movimiento que son aplicables a ambas articula-
ciones de revolucion y prismatica, utilizaremos la variable q
i
para representar
la coordenada generalizada de la articulacion i que es
i
(para una articu-
lacion giratoria) o d
i
(para una articulacion prismatica).
Como el punto
i
r
i
esta en reposo en el elemento i, y suponiendo el
movimiento del cuerpo rgido, otros puntos as como el punto
i
r
i
jado en
el elemento i y expresado con respecto al sistema de coordenadas iesimo
tendran velocidad nula con respecto a dicho sistema de coordenadas (que
no es un sistema inercial). La velocidad de
i
r
i
expresada en el sistema de
coordenadas de la base (que es un sistema inercial) se puede expresar como:
0
v
i

d
dt
0
r
i
=
d
dt
_
0
A
i
i
r
i
_
(6.7)
=
0

A
1
1
A
2

i1
A
i
i
r
i
+
0
A
1
1

A
2

i1
A
i
i
r
i
+
+
0
A
1
1
A
2

i1

A
i
i
r
i
+
0
A
i
i
r
i
=
_
i

j=1

0
A
i
q
j
q
j
_
i
r
i
. (6.8)
La forma compacta anterior se obtiene porque
i
r
i
= 0. La derivada parcial
de
0
A
i
con respecto a q
j
se puede calcular facilmente de una matriz Q
i
que,
para una articulacion de revoluci on, se dene como
Q
i
=
_

_
0 1 0 0
1 0 0 0
0 0 0 0
0 0 0 0
_

_
, (6.9)
y, para una articulacion prismatica, como
Q
i
=
_

_
0 0 0 0
0 0 0 0
0 0 0 1
0 0 0 0
_

_
. (6.10)
POSGRADO - UNAM
6.1. FORMULACI

ON DE EULERLAGRANGE 95
Entonces se sigue que

i1
A
i
q
i
= Q
i
i1
A
i
. (6.11)
Por ejemplo, para un brazo con todas las articulaciones giratorias, q
i
=
i
, y
utilizando (6.5):

i1
A
i
q
i
=
_

_
s

i
c

i
c

i
s

i
c

i
a
i
c

i
c

i
c

i
s

i
s

i
s

i
a
i
c

i
0 0 0 0
0 0 0 0
_

_
=
_

_
0 1 0 0
1 0 0 0
0 0 0 0
0 0 0 0
_

_
_

_
c

i
c

i
s

i
s

i
s

i
a
i
c

i
s

i
c

i
c

i
s

i
c

i
a
i
s

i
0 s

i
c

i
d
i
0 0 0 1
_

_
Q
i
i1
A
i
.
De aqu, para i = 1, 2, . . . , n,

0
A
i
q
j
=
_
_
_
0
A
1
1
A
2

j2
A
j1
Q
j
j1
A
j

i1
A
i
para j i
O para j > i
(6.12)
La ecuacion anterior se puede interpretar como el efecto del movimiento de la
articulacion j sobre todos los puntos en el elemento i. Con el n de simplicar
las notaciones, se dene
U
ij

=

0
A
i
q
j
, (6.13)
entonces la ecuacion (6.12) se puede escribir como sigue para i = 1, 2, . . . , n,
U
ij
=
_
_
_
0
A
j1
Q
j
j1
A
i
para j i
O para j > i
(6.14)
Utilizando esta notacion, v
i
se puede expresar como
0
v
i
=
_
i

j=1
U
ij
q
j
_
i
r
i
. (6.15)
POSGRADO - UNAM
6.1. FORMULACI

ON DE EULERLAGRANGE 96
Conviene apuntar que la derivada parcial de
i1
A
i
con respecto a q
i
resulta
en una matriz que no retiene la estructura de una matriz de transformacion
de coordenadas homogeneas. La ventaja de utilizar las matrices Q
i
es que se
puede todava emplear las matrices
i1
A
i
y aplicar las operaciones anteriores
a
i1
A
i
cuando se premultiplica por la Q
i
.
A continuaci on se necesita encontrar los efectos de interacci on entre las
articulaciones como
U
ij
q
k

= U
ijk
=
_

_
0
A
j1
Q
j
j1
A
k1
Q
k
k1
A
i
para i k j
0
A
k1
Q
k
k1
A
j1
Q
j
j1
A
i
para i j k
O para i > j o i < k
(6.16)
Por ejemplo, para un robot con todas las articulaciones giratorias, i = j =
k = 1 y q
1
=
1
, se tiene que
U
11

1
=

1
_
Q
1
0
A
1
_
= Q
1
Q
1
0
A
1
.
La ecuacion (6.16) se puede interpretar como los efectos de interacci on del
movimiento de la articulacion j y k sobre todos los puntos en el elemento i.
6.1.2. Calculo de la energa cinetica: Metodo 1
Despues de obtener la velocidad de la articulacion de cada elemento cuan-
do el metodo de DenavitHartenberg es aplicable, se necesita encontrar la
energa cinetica del iesimo elemento. Sea /
i
la energa cinetica del elemento
i, i = 1, 2, . . . , n, expresada en el sistema de coordenadas de la base, y sea
d/
i
la energa cinetica de una partcula en el elemento i con masa diferencial
dm. Entonces:
d/
i
=
1
2
_
x
2
i
+ y
2
i
+ z
2
i
_
dm =
1
2
Tr
_
v
i
v
T
i
_
dm. (6.17)
Sustituyendo v
i
de la ecuacion (6.15):
v
i
=
0
v
i
=
_
i

j=1
U
ij
q
j
_
i
r
i
,
POSGRADO - UNAM
6.1. FORMULACI

ON DE EULERLAGRANGE 97
la energa cinetica de la masa diferencial es:
d/
i
=
1
2
Tr
_
_
__
i

p=1
U
ip
q
p
_
i
r
i
_

__
i

s=1
U
is
q
s
_
i
r
i
_
T
_
_
dm(6.18)
=
1
2
Tr
_
i

p=1
i

s=1
U
ip
i
r
i
i
r
T
i
U
T
is
q
p
q
s
_
dm
=
1
2
Tr
_
i

p=1
i

s=1
U
ip
_
i
r
i
dm
i
r
T
i
_
U
T
is
q
p
q
s
_
.
La matriz U
ij
es la velocidad de cambio de los puntos
i
r
i
sobre el elemento i
relativo al sistema de coordenadas de la base cuando q
j
cambia. Es constante
para todos los puntos en el elemento i e independiente de la distribucion de
masa del elemento i, as que, sumando todas las energas cineticas de todos
los elementos se obtiene:
/
i
=
_
d/
i
=
1
2
Tr
_
i

p=1
i

s=1
U
ip
__
i
r
i
i
r
T
i
dm
_
U
T
is
q
p
q
s
_
. (6.19)
El termino integral dentro del corchete es la inercia de todos los puntos en
el elemento i, de ah que
J
i
=
_
i
r
i
i
r
T
i
dm =
_

_
_
x
2
i
dm
_
x
i
y
i
dm
_
x
i
z
i
dm
_
x
i
dm
_
x
i
y
i
dm
_
y
2
i
dm
_
y
i
z
i
dm
_
y
i
dm
_
x
i
z
i
dm
_
y
i
z
i
dm
_
z
2
i
dm
_
z
i
dm
_
x
i
dm
_
y
i
dm
_
z
i
dm
_
dm
_

_
, (6.20)
donde el termino
i
r
i
=
_

_
x
i
y
i
z
i
1
_

_
,
POSGRADO - UNAM
6.1. FORMULACI

ON DE EULERLAGRANGE 98
se dene como antes. J
i
se puede expresar en un tensor de inercia (un arreglo
de momentos y productos de inercia) como (?: pp. 613 y 822):
J
i
=
_

_
I
xx
+ I
yy
+ I
zz
2
I
xy
I
xz
m
i
x
i
I
xy
I
xx
I
yy
+ I
zz
2
I
yz
m
i
y
i
I
xz
I
yz
I
xx
+ I
yy
I
zz
2
m
i
z
i
m
i
x
i
m
i
y
i
m
i
z
i
m
i
_

_
,(6.21)
donde
i
r
i
=
_

_
x
i
y
i
z
i
1
_

_
,
es el vector de centro de masa del elemento i expresado en el sistema de
coordenadas i. De aqu que la energa cinetica total / de un brazo robot sea:
/ =
n

i=1
/
i
=
1
2
n

i=1
Tr
_
i

p=1
i

s=1
U
ip
J
i
U
T
is
q
p
q
s
_
(6.22)
=
1
2
n

i=1
i

p=1
i

s=1
Tr
_
U
ip
J
i
U
T
is
_
q
p
q
s
,
que es una cantidad escalar. Observese que las matrices J
i
s son dependientes
de la distribucion de masa del elemento i y no de su posicion o velocidad de
movimiento y se expresan con respecto al sistema de coordenadas iesimo.
Por tanto, la matriz J
i
se necesita calcular solamente una vez.
Una notacion mas compacta de la ecuacion (6.22) esta dada por (?):
/ =
1
2
q
T
H(q) q =
1
2
n

i=1
n

j=1
h
ij
(q) q
i
q
j
, (6.23)
POSGRADO - UNAM
6.1. FORMULACI

ON DE EULERLAGRANGE 99
donde
q =
_

_
q
1
.
.
.
q
n
_

_
.
La matriz H(q) se conoce como matriz de inercia o matriz de inercia
generalizada. Los elementos h
ij
de la matriz de inercia se pueden obtener
escribiendo (6.22) como una suma de matrices:
/ =
1
2
Tr
_
U
11
J
1
U
T
11
_
q
1
q
1
_
i = 1 (6.24)
+
1
2
Tr
_
U
21
J
2
U
T
21
_
q
1
q
1
+
1
2
Tr
_
U
21
J
2
U
T
22
_
q
1
q
2
+
1
2
Tr
_
U
22
J
2
U
T
21
_
q
2
q
1
+
1
2
Tr
_
U
22
J
2
U
T
22
_
q
2
q
2
_

_
i = 2
+
1
2
Tr
_
U
31
J
3
U
T
31
_
q
1
q
1
+
1
2
Tr
_
U
31
J
3
U
T
32
_
q
1
q
2
+
1
2
Tr
_
U
31
J
3
U
T
33
_
q
1
q
3
+
1
2
Tr
_
U
32
J
3
U
T
31
_
q
2
q
1
+
1
2
Tr
_
U
32
J
3
U
T
32
_
q
2
q
2
+
1
2
Tr
_
U
32
J
3
U
T
33
_
q
2
q
3
+
1
2
Tr
_
U
33
J
3
U
T
31
_
q
3
q
1
+
1
2
Tr
_
U
33
J
3
U
T
32
_
q
3
q
2
+
1
2
Tr
_
U
33
J
3
U
T
33
_
q
3
q
3
_

_
i = 3
=
1
2
q
1
L
111
q
1
+
1
2
_
q
1
q
2
_
T
_
L
112
L
122
L
212
L
222
_ _
q
1
q
2
_
+
1
2
_
_
q
1
q
2
q
3
_
_
T
_
_
L
113
L
123
L
133
L
213
L
223
L
233
L
313
L
323
L
333
_
_
_
_
q
1
q
2
q
3
_
_
+
donde
L
ijk

= Tr
_
U
ki
J
k
U
T
kj
_
. (6.25)
De (6.24), puede reconocerse que el elemento h
ij
esta dado por:
h
ij
=
n

k=max{i,j}
Tr
_
U
ki
J
k
U
T
kj
_
i, j = 1, 2, . . . , n. (6.26)
POSGRADO - UNAM
6.1. FORMULACI

ON DE EULERLAGRANGE 100
6.1.3. Calculo de la energa cinetica: Metodo 2
Las formulas desarrolladas en la subseccion anterior no se pueden uti-
lizar cuando la cinematica del manipulador no puede ser descrita utilizando
DenavitHartenberg. En ese caso se puede proceder como sigue. Primero se
mostrara que la energa cinetica de un objeto es la suma de dos terminos:
la energa traslacional obtenida concentrando la masa total del objeto en el
centro de masa del mismo, y la energa rotacional del cuerpo alrededor del
centro de masa. A continuaci on se mostrara que la energa potencial del ob-
jeto es la misma que se obtiene concentrando toda su masa en el centro de
masa. Una vez que se conoce la energa cinetica y potencial de cada elemento
del manipulador, el Lagrangiano de todo el robot es simplemente la suma de
los Lagrangianos individuales.
Supongase que se tiene un objeto que consiste de un conjunto de partcu-
las, y sea la densidad de masa del objeto. Sea B la extension o region
tridimensional que ocupa el objeto en el espacio, de tal forma que
_
B
(x, y, z)dxdydz = m. (6.27)
m es la masa del objeto. En este caso la energa cinetica del objeto esta dada
por
/ =
1
2
_
B
v
T
(x, y, z)v(x, y, z)(x, y, z)dxdydz (6.28)
=
1
2
_
B
v
T
(x, y, z)v(x, y, z)dm,
donde dm denota la masa innitesimal de la partcula localizada en las co-
ordenadas (x, y, z). Cuando el cuerpo lleva a cabo alg un movimiento en el
espacio tridimensional, diferentes partes del mismo se mueven con distintas
velocidades. Por ello se reformulara la ecuacion anterior. Esto se llevara a
cabo escribiendo todo con respecto al centro de masa del objeto. Cabe recor-
dar que este se dene como (?: pp. 613):
x
c
=
1
m
_
B
xdm y
c
=
1
m
_
B
ydm z
c
=
1
m
_
B
zdm. (6.29)
La ecuacion anterior puede expresarse de manera mas compacta. Sea r
c
el
vector de coordenadas del centro de masa del objeto, y sea r la posicion de
POSGRADO - UNAM
6.1. FORMULACI

ON DE EULERLAGRANGE 101
cualquier punto sobre el objeto. Entonces
r
c
=
1
m
_
B
rdm. (6.30)
Equivalentemente se puede escribir
_
B
(r
c
r) dm = 0. (6.31)
Lo anterior es valido porque
_
B
r
c
dm
_
B
rdm = r
c
m
..
porque r
c
no depende de m

_
B
rdm = 0.
A continuaci on, supongase que se ja un sistema de coordenadas rgidamente
en el centro de masa del objeto. Cuando el cuerpo se mueve, la velocidad de
un punto sobre el objeto con respecto al sistema de coordenadas de la base,
y expresada en el sistema de coordenadas de la base, esta dada por (2.85):
0
r
i
= r
c
+R
i
r
i
v = v
c
+ r. (6.32)
La ecuacion anterior tambien se puede expresar con respecto a un sistema de
coordenadas en movimiento. La transformacion se lleva a cabo multiplicando
por la correspondiente matriz de rotacion. Como siempre,
0
R
c
denota la
rotacion del sistema en movimiento al sistema de coordenadas de la base.
Entonces la velocidad de la partcula en el punto r, expresada con respecto
al sistema de coordenadas en movimiento, esta dada por
c
R
0
v =
0
R
T
c
v =
0
R
T
c
(v
c
+ r) (6.33)
=
0
R
T
c
v
c
+
_
0
R
T
c

_
0
R
T
c
r
_
=
c
R
0
v
c
+ (
c
R
0
) (
c
R
0
r) .
Cabe hacer notar que en realidad se puede seguir utilizando (6.32) siempre
y cuando se tome en cuenta que se esta trabajando en el sistema de coor-
denadas en movimiento. Por supuesto, no tiene importancia con respecto a
que sistema de coordenadas se calcula la energa potencial, puesto que esta
no cambia. De esta forma, es mas conveniente trabajar con (6.33), como se
ver a en breve. El producto cruz puede expresarse como:
v = v
c
+S()r. (6.34)
POSGRADO - UNAM
6.1. FORMULACI

ON DE EULERLAGRANGE 102
Sustituyendo (6.34) en (6.28) se obtiene la energa cinetica como:
/ =
1
2
_
B
(v
c
+S()r)
T
(v
c
+S()r) dm (6.35)
=
1
2
_
B
_
v
T
c
v
c
+v
T
c
S()r +r
T
S()
T
v
c
+r
T
S()
T
S()r
_
dm.
A continuaci on se analizan los cuatro terminos de la integral. Tomando en
cuenta que v
c
es independiente de la masa del objeto, el primer termino da
por resultado
1
2
_
B
v
T
c
v
c
dm =
1
2
mv
T
c
v
c
. (6.36)
La cantidad anterior representa la energa de una partcula de masa m lo-
calizada en el centro de masa del objeto y moviendose con una velocidad v
c
.
Se le conoce como la parte traslacional de la energa cinetica. El segundo
termino esta dado por
1
2
_
B
v
T
c
S()rdm =
1
2
v
T
c
S()
_
B
rdm = 0, (6.37)
porque
_
B
rdm = 0 = mr
c
dado que se trabaja con respecto al centro de masa del objeto. De manera
similar, para el tercer termino se tiene
1
2
_
B
r
T
S()
T
S()rdm = 0. (6.38)
El cuarto termino
/
4
=
1
2
_
B
r
T
S()
T
S()rdm, (6.39)
requiere algo mas de trabajo. Primero se le rescribe como
/
4
=
1
2
_
B
Tr
_
S()rr
T
S()
T
_
dm (6.40)
=
1
2
Tr
_
S()
_
B
rr
T
dmS()
T
_
=
1
2
Tr
_
S()JS()
T
_
,
POSGRADO - UNAM
6.1. FORMULACI

ON DE EULERLAGRANGE 103
donde J es una matriz de 3 3 dada por
J =
_
B
rr
T
dm, (6.41)
o bien
J =
_
_
_
x
2
dm
_
xydm
_
xzdm
_
xydm
_
y
2
dm
_
yzdm
_
xzdm
_
yzdm
_
z
2
dm
_
_
. (6.42)
Recordando que
S() =
_
_
0
3

2

3
0
1

2

1
0
_
_
, (6.43)
por calculo directo se puede mostrar que (6.40) esta dada por
/
4
=
1
2

T
I. (6.44)
I se conoce como matriz de inercia y esta dada por:
I =
_
_
_
(y
2
+ z
2
) dm
_
xydm
_
xzdm

_
xydm (x
2
+ z
2
) dm
_
yzdm

_
xzdm
_
yzdm
_
(x
2
+ z
2
) dm
_
_
(6.45)
=
_
_
I
xx

_
xydm
_
xzdm

_
xydm I
yy

_
yzdm

_
xzdm
_
yzdm I
zz
_
_
.
A /
4
se le conoce como la parte rotacional de la energa cinetica. De esta
forma, la energa cinetica total del objeto esta dado por
/ =
1
2
mv
T
c
v
c
+
1
2

T
I. (6.46)
En la ecuacion anterior debe notarse que
T
I proporciona el mismo re-
sultado en cualquier sistema de referencia. Sin embargo, los valores de I
y varan de acuerdo con el sistema de coordenadas con respecto al cual
se este trabajando. Por ello, I debe calcularse con respecto al sistema de
coordenadas jo en el objeto, puesto que en este caso es independiente del
POSGRADO - UNAM
6.1. FORMULACI

ON DE EULERLAGRANGE 104
movimiento del cuerpo. Esto obliga a expresar en el mismo sistema de
coordenadas. Suponiendo que
0

i
sea la velocidad angular con respecto al
sistema de coordenadas de la base, entonces
i

i
=
0
R
T
i
0

i
=
i
R
0
0

i
.
Considerense ahora los n elementos del robot. Como ya se vio anterior-
mente, tanto la velocidad angular como la velocidad lineal de cualquier punto
del robot se puede calcular utilizando el Jacobiano del sistema. En particular,
para el centro de masa del elemento i se tiene
v
ci
= J
vci
(q) q
i
=
0
R
T
i
(q)J
i
(q) q, (6.47)
0
R
T
i
=
i
R
0
toma en cuenta el hecho de que la velocidad debe de expresarse en
el sistema de coordenadas jo en el elemento i. A continuacion, supongase que
la masa del elemento i es m
i
, y que la matriz de inercia, evaluada alrededor
de un sistema de coordenadas paralelo al sistema i con origen en el centro de
masa, esta dado por I
i
. Entonces, de (6.46) se sigue que la energa cinetica
total del manipulador es
/ =
1
2
q
T

i=1
n
_
m
i
J
T
vci
(q)J
vci
(q) +J
i
(q)
T
(q)
0
R
i
I
i
0
R
T
i
(q)J
i
(q)
_
q. (6.48)
Por supuesto, es posible rescribir la ecuacion anterior en la forma (6.23)
/ =
1
2
q
T
H(q) q. (6.49)
POSGRADO - UNAM
6.2. ECUACIONES DE MOVIMIENTO DE UN MANIPULADOR 105
6.1.4. Calculo de la energa potencial
Sea T la energa potencial total de un robot y T
i
la energa potencial de
cada uno de sus elementos dada por (?: pp. 497, 559 y 613):
T
i
= m
i
g
T0
r
i
= m
i
g
T
_
0
T
i
i
r
i
_
, (6.50)
para i = 1, 2, . . . , n, y donde
g =
_

_
g
x
g
y
g
z
0
_

_
es un vector de gravedad expresado en el sistema de coordenadas de la base.
Para un sistema de nivel se tiene:
g =
_

_
0
0
g
0
_

_
,
donde g = 9,8062m/s
2
es la constante gravitacional. La energa potencial
total del brazo se puede obtener sumando las energas potenciales de cada
elemento:
T =
n

i=1
T
i
=
n

i=1
m
i
g
T
_
0
T
i
i
r
i
_
. (6.51)
6.2. Ecuaciones de movimiento de un manip-
ulador
Tomando en cuenta (6.23) y (6.51), la funcion lagrangiana L = / T
esta dada por
L =
1
2
q
T
H(q) q +
n

i=1
m
i
g
_
0
A
i
i
r
i
_
. (6.52)
Si se desea, friccion viscosa puede ser modelada como un efecto disipa-
tivo
1
. Este tipo de friccion toma la forma de una fuerza proporcional en
1
En este curso se considerara solamente friccion viscosa.
POSGRADO - UNAM
6.2. ECUACIONES DE MOVIMIENTO DE UN MANIPULADOR 106
magnitud a la velocidad y opuesta a su direccion. Considerese la funcion de
disipacion de Rayleigh dada por:
T

=
1
2
q
T
D q. (6.53)
D R
nn
es una matriz constante positiva denida. En general, D no es
diagonal. Sin embargo, si los coecientes de amortiguamiento son suciente-
mente peque nos, una buena aproximaci on de D consiste en considerarla no
solo diagonal sino tambien positiva semidenida. Esta suposicion sera hecha
en este curso. Una explicacion mas detallada puede encontrarse en el Captu-
lo 9 de ?.
Expresando (6.1) en forma matricial se tiene
2
d
dt
L
q

L
q
+
T
q
= , (6.54)
donde R
n
es el vector de fuerzas o momentos generalizados en las
articulaciones.
El siguiente paso consiste en calcular un modelo en forma matricial y cer-
rada desarrollando el lado izquierdo de (6.54). Se comenzara por el segundo
termino. De (6.52) y (6.54), se puede observar que

L
q
=

q
_
n

i=1
m
i
g
_
0
T
i
i
r
i
_
_

1
2

q
_
q
T
H(q) q
_
. (6.55)
La primera parte del lado derecho de (6.55) representa el vector g(q) R
n
de terminos gravitacionales. Su iesimo elemento, con i = 1, . . . , n, se puede
calcular por (?, ?: pp. 97):
g
i
=

q
i
_
n

j=1
m
j
g
_
0
T
j
j
r
j
_
_
=
_
n

j=1
m
j
g
_

0
T
j
q
i
j
r
j
_
_
=
n

j=i
m
j
gU
ji
j
r
j
, (6.56)
con i = 1, . . . , n. En (6.56), la denicion (6.13)
U
ji

=

0
T
j
q
i
,
2
Estrictamente hablando,
()


q
produce un vector renglon. Sin embargo se acostumbra
considerar que se trabaja con un vector columna.
POSGRADO - UNAM
6.2. ECUACIONES DE MOVIMIENTO DE UN MANIPULADOR 107
fue utilizada. En forma compacta se tiene
g(q) =
T
q
. (6.57)
El segundo termino del lado derecho de (6.55) es un vector de dimension n
que forma parte del vector de fuerzas centrfugas y de Coriolis generalizadas.
Antes de calcular este vector, se procedera a desarrollar la primera parte de
(6.54):
d
dt
L
q
=
d
dt
H(q) q = H(q) q +

H(q) q. (6.58)
El vector H(q) q en la ecuacion anterior esta en su forma matricial nal.

H(q) q R
n
pertenece tambien al vector de fuerzas centrfugas y de Coriolis
generalizadas. En adelante, se denotara a este vector por h
c
(q, q) R
n
y
esta dado por:
h
c
(q, q) =

H(q) q
1
2

q
_
q
T
H(q) q
_
. (6.59)
Por las razones que se explicaran en la siguiente seccion, es mas conveniente
utilizar lo smbolos de Christoel (Christoel symbols) para calcular
h
c
(q, q). Para ello se dene una matriz C(q, q) R
nn
tal que la relacion
h
c
(q, q) = C(q, q) q
sea valida. Para determinar los componentes de C(q, q), se puede utilizar el
elemento i de h
c
(q, q), h
c
i
, es decir:
h
c
i
=
n

j=1

h
ij
q
j

1
2
n

k=1
n

j=1
h
kj
q
i
q
k
q
j
(6.60)
=
n

j=1
_
n

k=1
h
ij
q
k
q
k
_
q
j

1
2
n

k=1
n

j=1
h
kj
q
i
q
k
q
j
=
n

k=1
n

j=1
_
h
ij
q
k

1
2
h
kj
q
i
_
q
k
q
j
. (6.61)
POSGRADO - UNAM
6.2. ECUACIONES DE MOVIMIENTO DE UN MANIPULADOR 108
Puesto que
n

k=1
n

j=1
h
ij
q
k
q
k
q
j
=
1
2
_
n

k=1
n

j=1
h
ij
q
k
q
k
q
j
+
n

k=1
n

j=1
h
ij
q
k
q
k
q
j
_
(6.62)
=
1
2
_
n

k=1
n

j=1
h
ij
q
k
q
k
q
j
+
n

k=1
n

j=1
h
ik
q
j
q
k
q
j
_
,
se tiene que
h
c
i
=
n

k=1
n

j=1
_
1
2
_
h
ij
q
k
+
h
ik
q
j

h
kj
q
i
__
q
k
q
j
i = 1, . . . , n. (6.63)
Sea
c
kji

=
1
2
_
h
ij
q
k
+
h
ik
q
j

h
kj
q
i
_
= c
jki
. (6.64)
c
kji
son los smbolos de Christoel de la primera clase (?). De este modo, el
elemento ik de la matriz C(q, q) esta dado por (?: pp. 143):
c
ij
=
n

k=1
c
kji
q
k
i, j = 1, . . . , n. (6.65)
Finalmente, puesto que
T
q
= D q,
(6.54)(6.65) lleva a las siguientes ecuaciones de movimiento:
H(q) q +C(q, q) q +D q +g(q) = , (6.66)
donde se ha substituido
C(q, q) q h
c
(q, q). (6.67)
POSGRADO - UNAM
6.2. ECUACIONES DE MOVIMIENTO DE UN MANIPULADOR 109
Ejemplo 6.2.1 (?: pp. 101)
Modelar el robot planar de dos grados de libertad del Ejemplo 3.2.1 (?: pp. 102):
Figura 6.2: Un manipulador de dos elementos
Para modelarlo, debe considerarse que sus elementos son varillas (barras
delgadas) con masas m
1
y m
2
respectivamente, que la longitud de ambos el-
ementos es l y que no existe friccion en las articulaciones.
Solucion.
Del Ejemplo 3.2.1 se sabe que:
0
A
1
=
_

_
c
1
s
1
0 lc
1
s
1
c
1
0 ls
1
0 0 1 0
0 0 0 1
_

_
,
y
1
A
2
=
_

_
c
2
s
2
0 lc
2
s
2
c
2
0 ls
2
0 0 1 0
0 0 0 1
_

_
,
POSGRADO - UNAM
6.2. ECUACIONES DE MOVIMIENTO DE UN MANIPULADOR 110
donde se ha hecho la sustitucion a
1
= a
2
= l. Por tanto se tiene:
0
A
2
=
0
A
1
1
A
2
=
_

_
c
12
s
12
0 l(c
12
+ c
1
)
s
12
c
12
0 l(s
12
+ s
1
)
0 0 1 0
0 0 0 1
_

_
.
Puesto que ambas articulaciones son de revolucion se tiene de (6.9) que:
Q
i
=
_

_
0 1 0 0
1 0 0 0
0 0 0 0
0 0 0 0
_

_
,
para i = 1, 2. Por otro lado, utilizando la ecuacion (6.14):
U
ij
=
_
_
_
0
A
j1
Q
j
j1
A
i
para j i
O para j > i
,
se tiene que
U
11
=

0
A
1

1
= Q
1
0
A
1
=
_

_
0 1 0 0
1 0 0 0
0 0 0 0
0 0 0 0
_

_
_

_
c
1
s
1
0 lc
1
s
1
c
1
0 ls
1
0 0 1 0
0 0 0 1
_

_
=
_

_
s
1
c
1
0 ls
1
c
1
s
1
0 lc
1
0 0 0 0
0 0 0 0
_

_
.
POSGRADO - UNAM
6.2. ECUACIONES DE MOVIMIENTO DE UN MANIPULADOR 111
Analogamente, para U
21
y U
22
se tiene:
U
21
=

0
A
2

1
= Q
1
0
A
2
=
_

_
0 1 0 0
1 0 0 0
0 0 0 0
0 0 0 0
_

_
_

_
c
12
s
12
0 l(c
12
+ c
1
)
s
12
c
12
0 l(s
12
+ s
1
)
0 0 1 0
0 0 0 1
_

_
=
_

_
s
12
c
12
0 l(s
12
+ s
1
)
c
12
s
12
0 l(c
12
+ c
1
)
0 0 0 0
0 0 0 0
_

_
U
22
=

0
A
2

2
=
0
A
1
Q
2
1
A
2
=
_

_
c
1
s
1
0 lc
1
s
1
c
1
0 ls
1
0 0 1 0
0 0 0 1
_

_
_

_
0 1 0 0
1 0 0 0
0 0 0 0
0 0 0 0
_

_
_

_
c
2
s
2
0 lc
2
s
2
c
2
0 ls
2
0 0 1 0
0 0 0 1
_

_
=
_

_
c
1
s
1
0 lc
1
s
1
c
1
0 ls
1
0 0 1 0
0 0 0 1
_

_
_

_
s
1
c
1
0 ls
1
c
1
s
1
0 lc
1
0 0 0 0
0 0 0 0
_

_
=
_

_
s
12
c
12
0 ls
12
c
12
s
12
0 lc
12
0 0 0 0
0 0 0 0
_

_
.
A continuacion se procedera a calcular las matrices de pseudoinercia, dadas
por la ecuacion (6.21):
J
i
=
_

_
I
xx
+ I
yy
+ I
zz
2
I
xy
I
xz
m
i
x
i
I
xy
I
xx
I
yy
+ I
zz
2
I
yz
m
i
y
i
I
xz
I
yz
I
xx
+ I
yy
I
zz
2
m
i
z
i
m
i
x
i
m
i
y
i
m
i
z
i
m
i
_

_
.
Puesto que ambos elementos son varillas, en realidad solo es necesario calcu-
lar una sola vez los momentos de inercia. Cuando el eje de referencia esta en
POSGRADO - UNAM
6.2. ECUACIONES DE MOVIMIENTO DE UN MANIPULADOR 112
el centro de masa de la varilla, entonces por tablas se sabe que (?: pp. 371):

I
xx
= 0

I
yy
=

I
zz
=
1
12
m
i
l
2
.
Por otro lado, los productos de inercia son 0 por simetra con respecto a los
ejes (?: pp. 381), es decir:

I
xy
=

I
xz
=

I
yz
= 0.
Sin embargo, los momentos anteriores deben expresarse en el sistema de co-
ordenadas i. Es facil notar que, con respecto a este sistema el vector centro
de masa esta dado por:
i
r
i
=
_

_
x
i
y
i
z
i
1
_

_
=
_

1
2
l
0
0
1
_

_
. (6.68)
Ahora bien, por el Teorema de los ejes paralelos se sabe que (?: pp. 368):
I =

I + md
2
,
para los momentos de inercia, donde

I es el momento de inercia con respecto
al sistema de coordenadas del centro de masa, m la masa del objeto y d la
distancia de los ejes. Por tanto es facil concluir que
I
xx
=

I
xx
+ 0 = 0
I
yy
= I
zz
=
1
12
m
i
l
2
+
1
4
m
i
l
2
. =
1
3
m
i
l
2
.
Por otro lado, para los productos de inercia tambien existe un Teorema de
ejes paralelos que dice que (?: pp. 381):
I
xy
=

I
xy
+ m x y I
xz
=

I
xz
+ m x z I
yz
=

I
yz
+ m y z.
De (6.68) se concluye que
I
xy
= I
xz
= I
yz
= 0.
POSGRADO - UNAM
6.2. ECUACIONES DE MOVIMIENTO DE UN MANIPULADOR 113
Por tanto, sustituyendo valores en (6.21) se obtiene:
J
1
=
_

_
1
3
m
1
l
2
0 0
1
2
m
1
l
0 0 0 0
0 0 0 0

1
2
m
1
l 0 0 m
1
_

_
J
2
=
_

_
1
3
m
2
l
2
0 0
1
2
m
2
l
0 0 0 0
0 0 0 0

1
2
m
2
l 0 0 m
2
_

_
.
A continuacion, se prosigue a calcular los elementos de la matriz de inercia,
H(q), de acuerdo con (6.26):
h
ij
=
n

k=max{i,j}
Tr
_
U
kj
J
k
U
T
ki
_
i, j = 1, 2, . . . , n.
POSGRADO - UNAM
6.2. ECUACIONES DE MOVIMIENTO DE UN MANIPULADOR 114
Primero se tiene:
h
11
= Tr
_
U
11
J
1
U
T
11
_
+ Tr
_
U
21
J
2
U
T
21
_
= Tr
_
_
_
_
_
_

_
s
1
c
1
0 ls
1
c
1
s
1
0 lc
1
0 0 0 0
0 0 0 0
_

_
_

_
1
3
m
1
l
2
0 0
1
2
m
1
l
0 0 0 0
0 0 0 0

1
2
m
1
l 0 0 m
1
_

_
_

_
s
1
c
1
0 0
c
1
s
1
0 0
0 0 0 0
ls
1
lc
1
0 0
_

_
_
_
_
_
_
+
Tr
_
_
_
_
_
_

_
s
12
c
12
0 l(c
12
+ c
1
)
c
12
s
12
0 l(s
12
+ s
2
)
0 0 0 0
0 0 0 0
_

_
_

_
1
3
m
2
l
2
0 0
1
2
m
2
l
0 0 0 0
0 0 0 0

1
2
m
2
l 0 0 m
2
_

_
s
12
c
12
0 0
c
12
s
12
0 0
0 0 0 0
l(s
12
+ s
1
) l(c
12
+ c
1
) 0 0
_

_
_
_
_
_
= Tr
_
_
_
_
_
_

1
3
m
1
l
2
c
1
+
1
2
s
1
m
1
l
2
0 0
1
2
lm
1
s
1
lm
1
c
1
1
3
m
1
l
2
s
1
+
1
2
lm
1
s
1
0 0
1
2
lm
1
c
1
+ lm
1
c
1
0 0 0 0
0 0 0 0
_

_
_

_
s
1
c
1
0 0
c
1
s
1
0 0
0 0 0 0
ls
1
lc
1
0 0
_

_
_
_
_
_
_
+
Tr
_
_
_
_
_
_

1
3
m
2
l
2
s
12
+
1
2
m
2
(c
12
+ c
1
)l
2
0 0
1
2
m
2
ls
12
m
2
l(c
12
+ c
1
)
1
3
m
2
l
2
c
12

1
2
m
2
(s
12
+ s
2
)l
2
0 0
1
2
m
2
lc
12
+ m
2
l(s
12
+ s
2
)
0 0 0 0
0 0 0 0
_

_
s
12
c
12
0 0
c
12
s
12
0 0
0 0 0 0
l(s
12
+ s
1
) l(c
12
+ c
1
) 0 0
_

_
_
_
_
_
= Tr
_
_
_
_
_
_

_
1
3
m
1
l
2
c
1
s
1

1
2
s
2
1
m
1
l
2

1
2
m
1
s
2
1
l
2
+ lm
1
c
1
s
1

1
3
m
1
l
2
s
1
c
1
+
1
2
lm
1
s
1
c
1

1
2
m
1
c
2
1
l
2
+ m
1
c
2
1
l
2

0 0 0 0
0 0 0 0
_

_
_
_
_
_
_
+
Tr
_
_
_
_
_
_
_

_
1
3
m
2
l
2
s
2
12
+
1
2
m
2
(c
12
+ c
1
)l
2
s
12

_
1
2
m
2
ls
12
m
2
l(c
12
+ c
1
)
_
(s
12
+ s
1
)l

1
3
m
2
l
2
c
2
12

1
2
m
2
(s
12
+ s
2
)c
12
l
2

_
1
2
m
2
lc
12
m
2
l(s
12
+ s
2
)
_
(c
12
+ c
1
)l
0 0 0 0
0 0 0 0
_

_
_
_
_
_
_
_
h
11
=
1
3
m
1
l
2
+
4
3
m
2
l
2
+ m
2
c
2
l
2
.
POSGRADO - UNAM
6.2. ECUACIONES DE MOVIMIENTO DE UN MANIPULADOR 115
Para h
12
= h
21
se tiene
h
12
= Tr
_
U
22
J
2
U
T
22
_
= Tr
_
_
_
_
_
_

_
s
12
c
12
0 ls
12
c
12
s
12
0 lc
12
0 0 0 0
0 0 0 0
_

_
_

_
1
3
m
2
l
2
0 0
1
2
m
2
l
0 0 0 0
0 0 0 0

1
2
m
2
l 0 0 m
2
_

_
_

_
s
12
c
12
0 0
c
12
s
12
0 0
0 0 0 0
ls
12
lc
12
0 0
_

_
_
_
_
_
_
= Tr
_
_
_
_
_
_

1
3
m
2
l
2
s
12
+
1
2
m
2
s
12
l
2
0 0
1
2
m
2
ls
12
m
2
ls
12
1
3
m
2
l
2
c
12

1
2
m
2
c
12
l
2
0 0
1
2
m
2
lc
12
+ m
2
lc
12
0 0 0 0
0 0 0 0
_

_
_

_
s
12
c
12
0 0
c
12
s
12
0 0
0 0 0 0
ls
12
lc
12
0 0
_

_
_
_
_
_
_
= Tr
_
_
_
_
_
_
_

_
1
3
m
2
l
2
s
2
12
+
1
2
m
2
c
12
l
2
s
12

_
1
2
m
2
ls
12
m
2
lc
12
_
s
12
l

1
3
m
2
l
2
c
2
12

1
2
m
2
s
12
c
12
l
2

_
1
2
m
2
lc
12
m
2
ls
12
_
c
12
l
0 0 0 0
0 0 0 0
_

_
_
_
_
_
_
_
= m
2
l
2
_

1
6
+
1
2
+
1
2
c
2
_
=
1
3
m
2
l
2
+
1
2
m
2
l
2
c
2
.
POSGRADO - UNAM
6.2. ECUACIONES DE MOVIMIENTO DE UN MANIPULADOR 116
Finalmente, para h
22
se tiene
h
22
= Tr
_
U
22
J
2
U
T
21
_
= Tr
_
_
_
_
_
_

_
s
12
c
12
0 ls
12
c
12
s
12
0 lc
12
0 0 0 0
0 0 0 0
_

_
_

_
1
3
m
2
l
2
0 0
1
2
m
2
l
0 0 0 0
0 0 0 0

1
2
m
2
l 0 0 m
2
_

_
_

_
s
12
c
12
0 0
c
12
s
12
0 0
0 0 0 0
ls
12
lc
12
0 0
_

_
_
_
_
_
_
= Tr
_
_
_
_
_
_

1
3
m
2
l
2
s
12
+
1
2
m
2
s
12
l
2
0 0
1
2
m
2
ls
12
m
2
ls
12
1
3
m
2
l
2
c
12

1
2
m
2
c
12
l
2
0 0
1
2
m
2
lc
12
+ m
2
lc
12
0 0 0 0
0 0 0 0
_

_
_

_
s
12
c
12
0 0
c
12
s
12
0 0
0 0 0 0
ls
12
lc
12
0 0
_

_
_
_
_
_
_
= Tr
_
_
_
_
_
_
_

_
1
3
m
2
l
2
s
2
12
+
1
2
m
2
c
12
l
2
s
12

_
1
2
m
2
ls
12
m
2
lc
12
_
s
12
l

1
3
m
2
l
2
c
2
12

1
2
m
2
s
12
c
12
l
2

_
1
2
m
2
lc
12
m
2
ls
12
_
c
12
l
0 0 0 0
0 0 0 0
_

_
_
_
_
_
_
_
=
1
3
m
2
l
2
s
2
12
+
1
3
m
2
l
2
c
2
12
h
12
=
1
3
m
2
l
2
.
A continuacion se calcula la matriz C(q, q). Para ello se calculan los smbolos
POSGRADO - UNAM
6.2. ECUACIONES DE MOVIMIENTO DE UN MANIPULADOR 117
de Christoel de acuerdo con (6.64):
c
111
=
1
2
_
h
11
q
1
+
h
11
q
1

h
11
q
1
_
= 0
c
211
=
1
2
_
h
11
q
2
+
h
12
q
1

h
21
q
1
_
= m
2
s
2
l
2
c
112
=
1
2
_
h
21
q
1
+
h
21
q
1

h
11
q
2
_
= m
2
s
2
l
2
c
212
=
1
2
_
h
21
q
2
+
h
22
q
1

h
21
q
2
_
= 0
c
121
=
1
2
_
h
12
q
1
+
h
11
q
2

h
12
q
1
_
= m
2
s
2
l
2
c
221
=
1
2
_
h
12
q
2
+
h
12
q
2

h
22
q
1
_
= m
2
s
2
l
2
c
122
=
1
2
_
h
22
q
1
+
h
21
q
2

h
12
q
2
_
= 0
c
222
=
1
2
_
h
22
q
2
+
h
22
q
2

h
22
q
2
_
= 0.
Por tanto, utilizando (6.65):
c
ij
=

k=1
c
kji
q
k
i, j = 1, . . . , n,
POSGRADO - UNAM
6.2. ECUACIONES DE MOVIMIENTO DE UN MANIPULADOR 118
se obtiene:
c
11
=
n

k=1
c
k11
q
k
= c
111
q
1
+ c
211
q
2
=
1
2
m
2
s
2
l
2
q
2
c
12
=
n

k=1
c
k21
q
k
= c
121
q
1
+ c
221
q
2
=
1
2
m
2
s
2
l
2
q
1

1
2
m
2
s
2
l
2
q
2
c
21
=
n

k=1
c
k12
q
k
= c
112
q
1
+ c
212
q
2
=
1
2
m
2
s
2
l
2
q
1
c
22
=
n

k=1
c
k22
q
k
= c
122
q
1
+ c
222
q
2
= 0.
Solo falta calcular el vector de termino gravitacionales, de acuerdo con (6.56):
g
i
=

q
i
_
n

i=1
m
i
g
_
0
A
i
i
r
i
_
_
=
n

j=i
m
j
gU
ji
j
r
j
i = 1, 2,
POSGRADO - UNAM
6.2. ECUACIONES DE MOVIMIENTO DE UN MANIPULADOR 119
se tiene:
g
1
=
_
m
1
gU
11
1
r
1
+ m
2
gU
21
2
r
2
_
= m
1
_
0, g, 0, 0

_
s
1
c
1
0 ls
1
c
1
s
1
0 lc
1
0 0 0 0
0 0 0 0
_

_
_

l
2
0
0
1
_

_
m
2
_
0, g, 0, 0

_
s
12
c
12
0 l(s
12
+ s
1
)
c
12
s
12
0 l(c
12
+ c
1
)
0 0 0 0
0 0 0 0
_

_
_

l
2
0
0
1
_

_
= m
1
_
gc
1
gs
1
0 lgc
1

l
2
0
0
1
_

_
m
2
_
gc
12
gs
12
0 gl(c
12
+ c
1
)

l
2
0
0
1
_

_
=
1
2
m
1
lgc
1
+ m
1
lgc
1

1
2
m
2
lgc
12
+ m
2
gl(c
12
+ c
1
)
=
1
2
m
1
glc
1
+
1
2
m
2
glc
12
+ m
2
glc
1
.
POSGRADO - UNAM
6.2. ECUACIONES DE MOVIMIENTO DE UN MANIPULADOR 120
Para g
2
se tiene:
g
2
= m
2
gU
22
2
r
2
= m
2
_
0, g, 0, 0

_
s
12
c
12
0 ls
12
c
12
s
12
0 lc
12
0 0 0 0
0 0 0 0
_

_
_

l
2
0
0
1
_

_
= m
2
_
gc
12
gs
12
0 glc
12

l
2
0
0
1
_

_
=
1
2
m
2
lgc
12
+ m
2
glc
12
=
1
2
m
2
glc
12
.
De esta forma, el modelo dado por
H(q) q +C(q, q) q +g(q) = ,
donde todos los elementos de las matrices ya han sido calculados, de tal forma
que:
H(q) =
_
1
3
m
1
l
2
+
4
3
m
2
l
2
+ m
2
c
2
l
2 1
3
m
2
l
2
+
1
2
m
2
l
2
c
2
1
3
m
2
l
2
+
1
2
m
2
l
2
c
2
1
3
m
2
l
2
_
C(q, q) =
_
_

1
2
m
2
s
2
l
2
q
2

1
2
m
2
s
2
l
2
q
1

1
2
m
2
s
2
l
2
q
2
1
2
m
2
s
2
l
2
q
1
0
_
_
g(q) =
_
1
2
m
1
glc
1
+
1
2
m
2
glc
12
+ m
2
glc
1
1
2
m
2
glc
12
_
.

POSGRADO - UNAM
6.3. PROPIEDADES DEL MODELO DEL ROBOT 121
6.3. Propiedades del modelo del robot
(?)
En esta seccion se presentan varias propiedades del modelo (6.66). Al-
gunas de ellas son propiedades fsicas mientras que otras surgen del pro-
cedimiento utilizado para obtener el modelo dinamico del manipulador. En
adelante, se utilizara la norma Euclidiana para vectores, es decir:
|q|

= (q
T
q)
1
2
.
La norma de una matriz A es la correspondiente norma inducida
|A|

= (
max
(A
T
A))
1
2
,
donde
max
() (
mn
()) denota el maximo (mnimo) valor propio de una ma-
triz. En general,
i
() denota el iesimo valor propio de una matriz.
6.3.1. Propiedades de las matrices
Una propiedad del modelo dinamico de un robot manipulador que es bien
conocida es la siguiente.
Propiedad 6.3.1 La matriz de inercia generalizada H(q) es simetrica pos-
itiva denida.
Demostracion 6.3.1
De (6.23)
/ =
1
2
q
T
H(q) q =
1
2
n

i=1
n

j=1
h
ij
(q) q
i
q
j
,
y (6.26)
h
ij
=
n

k=max{i,j}
Tr
_
U
ki
J
k
U
T
kj
_
i, j = 1, 2, . . . , n,
POSGRADO - UNAM
6.3. PROPIEDADES DEL MODELO DEL ROBOT 122
se observa que H(q) es simetrica. Puesto que la energa cinetica de cualquier
sistema mecanico solo puede ser cero si y solo si el sistema esta en reposo,
siendo de otra forma mayor que cero, se concluye de (6.23) que H(q) es
positiva denida.
La siguiente propiedad es muy importante. Se relaciona con la estructura
pasiva de un robot manipulador y se utiliza con frecuencia en la demostracion
de muchos esquemas de control (?). Esta propiedad proporciona la relacion
entre la matriz de inercia generalizada y la matriz C(q, q) empleada para
calcular el vector de Coriolis y fuerzas centrfugas h
c
(q, q).
POSGRADO - UNAM
6.3. PROPIEDADES DEL MODELO DEL ROBOT 123
Propiedad 6.3.2 La matriz N(q, q)

=

H(q) 2C(q, q) R
nn
es anti-
simetrica.
Demostracion 6.3.2
Cada elemento de

H(q) satisface

h
ij
=
n

k=1
h
ij
q
k
q
k
i, j = 1, . . . , n. (6.69)
Tomando en cuenta (6.64)
c
kji
=
1
2
_
h
ij
q
k
+
h
ik
q
j

h
kj
q
i
_
= c
jki
,
y (6.65)
c
ij
=
n

k=1
c
kji
q
k
i, j = 1, . . . , n,
se pueden calcular los elementos de N(q, q) como:
n
ij
=

h
ij
2c
ij
=
n

k=1
_
h
ij
q
k

_
h
ij
q
k
+
h
ik
q
j

h
kj
q
i
__
q
k
=
n

k=1
_
h
kj
q
i

h
ik
q
j
_
q
k
.
Como
n
ji
=
n

k=1
_
h
ki
q
j

h
jk
q
i
_
q
k
,
se tiene que h
ij
= h
ji
, lo que concluye la demostracion.
Debe notarse que la Propiedad 6.3.2 es valida debido a la denicion es-
pecial de la matriz C(q, q) con base en los smbolos de Christoel. Ahora
bien, es posible introducir mas de una matriz C(q, q) que pueda servir para
POSGRADO - UNAM
6.3. PROPIEDADES DEL MODELO DEL ROBOT 124
calcular el vector de Coriolis y fuerza centrfugas pero, independientemente
de la denicion de C(q, q), siempre se cumple que (?):
q
T
(

H(q) 2C(q, q)) q = 0. (6.70)
La validez de la ecuacion (6.70) se puede demostrar utilizando las ecuaciones
canonicas de movimiento de Hamilton. El primer paso consiste en escribir
las ecuaciones (6.1) y (6.66) como:
d
dt
L
q

L
q
= = H(q) q +C(q, q) q +g(q), (6.71)
donde


= u D q. (6.72)
El Hamiltoniano o funcion Hamiltoniana esta dada por (?, ?):
H = p
T
q L, (6.73)
donde el momentum generalizado p esta dado por
p =
L
q
. (6.74)
De (6.52)
L =
1
2
q
T
H(q) q +
n

i=1
m
i
g
_
0
A
i
i
r
i
_
,
se tiene
L
q
= H(q) q.
Entonces, de (6.73) y (6.74), el Hamiltoniano esta dado por:
H = q
T
H(q) q
1
2
q
T
H(q) q +T =
1
2
q
T
H(q) q +T = / +|. (6.75)
Por otro lado, las ecuaciones canonicas de movimiento de Hamilton se pueden
calcular tambien como:
q
i
=
H
p
i
(6.76)
p
i
=
H
q
i
+
i
, i = 1, . . . , n. (6.77)
POSGRADO - UNAM
6.3. PROPIEDADES DEL MODELO DEL ROBOT 125
De (6.76) y (6.77) se calcula la derivada de H con respecto al tiempo como:
dH
dt
=
n

i=1
H
q
i
q
i
+
n

i=1
H
p
i
p
i
(6.78)
=
n

i=1
H
q
i
H
p
i

i=1
H
p
i
H
q
i
+
n

i=1
H
p
i

i
= q
T
.
Tambien las ecuaciones (6.71) y (6.75) pueden utilizarse para calcular esta
derivada:
dH
dt
= q
T
H(q) q +
1
2
q
T

H(q) q + q
T
T
q
(6.79)
= q
T
( C(q, q) g(q)) +
1
2
q
T

H(q) q + q
T
g(q)
= q
T
+
1
2
q
T
_

H(q) 2C(q, q)
_
q.
Comparando (6.78) con (6.79) se obtiene (6.70). Debe notarse la importancia
de las deniciones de las matrices del modelo, puesto que la Propiedad 6.3.2
es solo un caso particular de (6.70).
Las siguientes dos propiedades son validas para el vector h
c
(q, q) de
fuerzas centrfugas y de Coriolis generalizadas.
Propiedad 6.3.3 El vector h
c
(q, q) satisface las igualdades:
h
c
(q, x, y) = C(q, x)y = C(q, y)x = h
c
(q, y, x) x, y R
n
. (6.80)
Demostracion 6.3.3
Dada (6.63)
h
c
i
=
n

k=1
n

j=1
_
1
2
_
h
ij
q
k
+
h
ik
q
j

h
kj
q
i
__
q
k
q
j
i = 1, . . . , n,
y (6.64)
c
kji

=
1
2
_
h
ij
q
k
+
h
ik
q
j

h
kj
q
i
_
= c
jki
,
POSGRADO - UNAM
6.3. PROPIEDADES DEL MODELO DEL ROBOT 126
el elemento i del vector h
c
(q, x, y) puede ser expresado como:
h
c
i
(q, x, y) =
n

k=1
_
n

j=1
c
kji
x
k
_
y
j
(6.81)
=
n

k=1
_
n

j=1
c
jki
y
j
_
x
k
= h
c
i
(q, y, x).

Propiedad 6.3.4 Los elementos de h


c
(q, q) satisfacen h
c
i
(q, q) = q
T
N
i
(q) q,
con
N
i
(q) = N
T
i
(q) R
nn
|N
i
| < i = 1, . . . , n. (6.82)
Demostracion 6.3.4
La ecuacion (6.65) puede ser escrita como
c
ij
= q
T
_

_
1ji
.
.
.
c
nji
_

_
, (6.83)
lo que implica que h
c
i
(q, q) esta dada por:
h
c
i
(q, q) =
_
c
i1
c
in

q = q
T
_

_
c
11i
c
1ni
.
.
.
.
.
.
.
.
.
c
n1i
c
nni
_

_
q

= q
T
N
i
(q) q.(6.84)
En vista de (6.64), i. e. c
kji
= c
jki
), N
i
(q) = N
T
i
(q). Puesto que las coor-
denadas generalizadas esta acotadas (ver la siguiente seccion), la norma de
N
i
(q) esta acotada tambien.
Las Propiedades 6.3.3 y 6.3.4 son especialmente utiles en el dise no de
observadores no lineales (?, ?).
POSGRADO - UNAM
6.3. PROPIEDADES DEL MODELO DEL ROBOT 127
6.3.2. Propiedades relacionadas con cotas de normas
Encontrar cotas de normas para las matrices del modelo (6.66) juega un
papel importante en el control de robots manipuladores porque tales nor-
mas son utiles para el dise no de muchos esquemas de control. Las cotas de
normas ofrecen muchas ventajas, especialmente cuando se emplea la teora
de Lyapunov. De hecho, para cualquier sistema mecanico los vectores q y q
estan acotados. Por simplicidad, puesto que se consideran articulaciones de
revoluci on, se asumira sin perdida de generalidad que q esta acotada.
Las siguientes cuatro propiedades se relacionan con la matriz de inercia
y pueden obtenerse con facilidad de la Propiedad 6.3.1.
Propiedad 6.3.5 La matriz de inercia H(q) satisface

mn
(H(q))|y|
2
y
T
H(q)y
max
(H(q))|y|
2
y R
n
. (6.85)
Demostracion 6.3.5
Puesto que H(q) es positiva denida, cada vector y en R
n
puede ser expre-
sado en terminos de una base ortonormal (y
1
, . . . , y
n
) como y = c
1
y
1
+ +
c
n
y
n
satisfaciendo (?: pp. 279):
y
T
H(q)y = c
2
1

1
(H(q)) + + c
2
n

n
(H(q)) (6.86)
y
T
y = |y|
2
= c
2
1
+ + c
2
n
, (6.87)
de donde se sigue (6.85).
Propiedad 6.3.6 La matriz H
1
(q) existe y satisface

1
max
(H(q))|y|
2
y
T
H
1
(q)y
1
mn
(H(q))|y|
2
y R
n
. (6.88)
Demostracion 6.3.6
La propiedad se sigue directamente de la Propiedad 6.3.5.
POSGRADO - UNAM
6.3. PROPIEDADES DEL MODELO DEL ROBOT 128
Propiedad 6.3.7 La matriz de inercia satisface 0 <
h
|H(q)|
H
<
.
Demostracion 6.3.7
Puesto que el vector de coordenadas generalizadas esta acotado, es decir
|q| < , es facil observar de (6.85) que:

h
= mn
qR
n

mn
(H(q))
H
= max
qR
n

max
(H(q)). (6.89)

Propiedad 6.3.8 H
1
(q) satisface 0 <
h
|H
1
(q)|
H
< .
Demostracion 6.3.8
La demostracion es la misma que para la Propiedad 6.3.7 con

h
= mn
qR
n

1
max
(H(q))
H
= max
qR
n

1
mn
(H(q)). (6.90)

Las Propiedades 6.3.5 a la 6.3.8 son muy importantes porque algunas


funciones de Lyapunov empleadas para probar la estabilidad de esquemas de
control hacen uso de ellas. Puesto que q esta acotada es posible encontrar la
siguiente norma de la matriz C(q, q).
Propiedad 6.3.9 La matriz C(q, q) satisface |C(q, q)| k
c
| q|, k
c
> 0.
Demostracion 6.3.9
De (6.65)
c
ij
=
n

k=1
c
kji
q
k
i, j = 1, . . . , n,
se puede observar que la matriz C(q, q) puede ser escrita como:
C(q, q) =
1
2
n

k=1
B
k
(q) q
k
, (6.91)
POSGRADO - UNAM
6.3. PROPIEDADES DEL MODELO DEL ROBOT 129
donde el elemento ij de la matriz B
k
(q) R
nn
se dene como:
h
ij
q
k
+
h
ik
q
j

h
kj
q
i
i, j = 1, . . . , n.
Calculando la norma de C(q, q) lleva a
|C(q, q)| =
1
2
_
_
_
_
_
n

k=1
B
k
(q) q
k
_
_
_
_
_

1
2
n

k=1
|B
k
(q) q
k
|
1
2
n

k=1
|B
k
(q)| | q|. (6.92)
Puesto que las matrices B
k
(q) son funciones de variables acotadas, tambien
ellas estan acotadas, por lo que se sigue la Propiedad 6.3.9 deniendo:
k
c

=
1
2
max
qR
n
n

k=1
|B
k
(q)|. (6.93)

Vale la pena hacer notar que la Propiedad 6.3.9 es valida para todo vector
y R
n
y no solo para q R
n
. Al igual que para las Propiedades 6.3.3 y
6.3.4, la Propiedad 6.3.9 facilita el dise no de observadores no lineales.
Con respecto a la matriz D de friccion viscosa, se puede establecer la
siguiente propiedad.
Propiedad 6.3.10 La matriz D es diagonal positiva semidenida y satis-
face:

mn
(D)|y|
2
y
T
Dy
max
(D)|y|
2
y R
n
. (6.94)
Demostracion 6.3.10
D es positiva semidenida porque esta denida con base en la funcion de
disipacion de Rayleigh, dada por (6.53):
T

=
1
2
q
T
D q.
Presumir que D es diagonal es en realidad un caso especial pero muy im-
portante de la funcion de disipacion de Rayleigh (?). La ecuacion (6.94) es
valida puesto que D es positiva semidenida.
POSGRADO - UNAM
6.3. PROPIEDADES DEL MODELO DEL ROBOT 130
Puesto que le vector de fuerzas gravitacionales g(q) solo es funcion de q,
es posible encontrar algunas cotas para la norma de este vector.
Propiedad 6.3.11 El vector de fuerzas gravitacionales g(q) satisface |g(q)|

g
,
g
> 0.
Demostracion 6.3.11
Puesto que
|g(q)| =
_
n

i=1
g
2
i
_1
2
, (6.95)
debe probarse que cada elemento g
i
esta acotada. Recordando que q esta aco-
tada y tomando (6.56) en cuenta
g
i
=

q
i
_
n

j=1
g
_
0
T
j
j
r
j
_
_
i = 1, . . . , n,
es facil observar que g
i
esta acotada, de tal forma que se sigue la Propiedad
6.3.11.
Tambien se puede establecer la siguiente propiedad.
Propiedad 6.3.12 El vector g(q) satisface
_
_
_
_
g(q)
q
_
_
_
_
. (6.96)
Demostracion 6.3.12
En vista de (6.56)
g
i
=

q
i
_
n

j=1
g
_
0
T
j
j
r
j
_
_
i = 1, . . . , n,
se observa que las coordenadas generalizadas aparecen solo como argumento
de funciones trigonometricas acotadas, por lo que lo mismo aplica para sus
derivadas parciales, de donde se sigue la Propiedad 6.3.12.
POSGRADO - UNAM
6.3. PROPIEDADES DEL MODELO DEL ROBOT 131
Propiedad 6.3.13 El vector de fuerzas gravitacionales g(q) satisface
|g(q
1
) g(q
2
)| |q
1
q
2
| q
1
, q
2
R
n
. (6.97)
Demostracion 6.3.13
La Propiedad 6.3.13 se sigue de la Propiedad 6.3.12 aplicando el Teorema
del Valor Medio. Puesto que g(q) es una funcion continua, diferenciable y
sus derivadas parciales con respecto a q estan acotadas, la siguiente ecuacion
debe ser satisfecha para cualquier par de vectores q
1
, q
2
:
g(q
1
) g(q
2
) =
g(q)
q

q
12
(q
1
q
2
), (6.98)
donde q
12
es un punto entre q
1
and q
2
(?). Tomando normas en cuenta:
|g(q
1
) g(q
2
)| =
_
_
_
_
_
g(q)
q

q
12
(q
1
q
2
)
_
_
_
_
_

_
_
_
_
_
g(q)
q

q
12
_
_
_
_
_
|q
1
q
2
| |q
1
q
2
|. (6.99)

6.3.3. Propiedades relacionadas con todo el modelo


En las secciones anteriores se enunciaron algunas propiedades de las ma-
trices y los vectores del modelo (6.66). En esta seccion se presentan dos
propiedades relacionadas con todo el modelo. Ambas son propiedades muy
bien conocidas de los robots rgidos. La Propiedad 6.3.14 establece que el
modelo (6.66) es lineal en sus parametros.
Propiedad 6.3.14 Mediante una denicion apropiada de sus parametros,
el modelo (6.66) puede escribirse como:
H(q) q +C(q, q) q +D q +g(q) = u = Y (q, q, q), (6.100)
donde Y (q, q, q) se conoce como el regresor, y R
p
es el vector de
parametros.
POSGRADO - UNAM
6.3. PROPIEDADES DEL MODELO DEL ROBOT 132
Demostracion 6.3.14
Una demostracion formal de esta propiedad esta fuera del alcance del curso,
pero puede consultarse en ?). Sin embargo, es facil concluir que la Propiedad
6.3.14 es valida puesto que ninguno de los parametros de las matrices
i
T
j
y
D, utilizadas para modelar el robot, son argumentos de funciones no lineales,
por lo que se les puede redenir de manera conveniente para escribir el robot
en la forma dada por (6.100).
La Propiedad 6.3.14 es muy importante porque ayuda a dise nar esquemas
de control adaptable. Es importante hacer notar que la eleccion del regresor
y de los parametros del robot no es unica.
La ultima propiedad que se considerara esta relacionada con la estructura
pasiva de los robots manipuladores.
Propiedad 6.3.15 La ecuacion dinamica de un robot manipulador dada por
(6.66) dene un mapeo pasivo q, es decir
< q, >
T

=
_
T
0
q
T
dt , (6.101)
para alg un > 0 y T > 0, con = D q R
n
.
Demostracion 6.3.15
Recuerdese que la derivada del Hamiltoniano del sistema esta dada por (6.78):
dH
dt
= q
T
< q, >
T
=
_
T
0
dH =
_
T
0
q
T
dt = H(T) H(0) H(0).
Puesto que H(T) es no negativa para todo T, se sigue la Propiedad 6.3.15,
con = H(0).
Un ejemplo del uso de esta propiedad se puede consultar en ?.
POSGRADO - UNAM
Bibliografa
Murray, R. M., Z. Li y S. S. Sastry. 2004. A Mathematical Introduction
Robotic Manipulation. Boca Raton, USA: CRC Press.
Niku, S. B. 2001. Introduction to Robotics. Analysis, Systems, Applications.
Upper Saddle River, N.J.: PearsonEducation.
Spong, M. W. y M. Vidyasagar. 2006. Robot Modeling and Control. New
York: John Wiley & Sons.
POSGRADO - UNAM