You are on page 1of 642

FUNDAMENTOS

DE ROBTICA
2.a Edicin
FUNDAMENTOS
DE ROBTICA
2.a Edicin

Antonio Barrientos
Luis Felipe Pen
Carlos Balaguer
Rafael Aracil

MADRID BOGOT BUENOS AIRES CARACAS GUATEMALA LISBOA MXICO


NUEVA YORK PANAM SAN JUAN SANTIAGO SAO PAULO
AUCKLAND HAMBURGO LONDRES MILN MONTREAL NUEVA DELHI PARS
SAN FRANCISCO SIDNEY SINGAPUR SAN LUIS TOKIO TORONTO
La informacin contenida en este libro procede de una obra original entregada por el autor. No obstante,
McGraw-Hill/Interamericana de Espaa no garantiza la exactitud o perfeccin de la informacin publica-
da. Tampoco asume ningn tipo de garanta sobre los contenidos y las opiniones vertidas en dichos textos.

Este trabajo se publica con el reconocimiento expreso de que se est proporcionando una informacin, pero
no tratando de prestar ningn tipo de servicio profesional o tcnico. Los procedimientos y la informacin
que se presentan en este libro tienen slo la intencin de servir como gua general.

McGraw-Hill ha solicitado los permisos oportunos para la realizacin y el desarrollo de esta obra.

FUNDAMENTOS DE ROBTICA. 2.a Edicin

No est permitida la reproduccin total o parcial de este libro, ni su tratamiento informtico, ni la trans-
misin de ninguna forma o por cualquier medio, ya sea electrnico, mecnico, por fotocopia, por registro
u otros mtodos, sin el permiso previo y por escrito de los titulares del Copyright.

McGraw-Hill/Interamericana
de de Espaa, S.A.U.

DERECHOS RESERVADOS 2007, respecto a la segunda edicin en espaol, por


McGRAW-HILL/INTERAMERICANA DE ESPAA, S. A. U.
Edificio Valrealty, 1.a planta
Basauri, 17
28023 Aravaca (Madrid)

www.mcgraw-hill.es
universidad@mcgraw-hill.com

ISBN: 978-84-481-5636-7
Depsito legal: M.

Editor: Carmelo Snchez Gonzlez


Tcnico editorial: Israel Sebastin
Cubierta: CD Form, S.L.
Foto de cubierta: Robot E65. Primer robot Scara Espaol
(Cortes a DISAM-Universidad Politcnica de Madrid)
Compuesto en: Fernndez Ciudad, S. L.
Impreso en:

IMPRESO EN ESPAA - PRINTED IN SPAIN


Contenido

Prefacio ........................................................................................................................ xi
Acerca de los autores .................................................................................................. xvi

Captulo 1. Introduccin ........................................................................................... 1


1.1. Antecedentes histricos ................................................................................... 2
1.2. Origen y desarrollo de la robtica .................................................................... 8
1.3. Definicin del Robot ........................................................................................ 16
1.3.1. Definicin de Robot Industrial Manipulador ........................................ 17
1.3.2. Definicin de otros tipos de robots........................................................ 19
1.4. Clasificacin de los Robots .............................................................................. 21
1.4.1. Clasificacin atendiendo a la Generacin ............................................. 22
1.4.2. Clasificacin atendiendo al rea de Aplicacin ................................... 23
1.4.3. Clasificacin atendiendo al tipo de Actuadores .................................... 24
1.4.4. Clasificacin atendiendo al Nmero de Ejes......................................... 25
1.4.5. Clasificacin atendiendo a la Configuracin......................................... 25
1.4.6. Clasificacin atendiendo al Tipo de Control ......................................... 26
1.5. Bibliografa....................................................................................................... 28

Captulo 2. Morfologa del robot .............................................................................. 31


2.1. Estructura Mecnica de un Robot .................................................................... 31
2.2. Transmisiones y reductores .............................................................................. 37
2.2.1. Transmisiones........................................................................................ 37
2.2.2. Reductores ............................................................................................. 38
2.2.3. Accionamiento Directo.......................................................................... 40
2.3. Actuadores........................................................................................................ 42
2.3.1. Actuadores Neumticos......................................................................... 42
2.3.2. Actuadores hidrulicos .......................................................................... 44
2.3.3. Actuadores elctricos ............................................................................ 45
2.4. Sensores Internos.............................................................................................. 51
2.4.1. Sensores de Posicin ............................................................................. 51
2.4.2. Sensores de Velocidad ........................................................................... 57
2.4.3. Sensores de Presencia............................................................................ 58
2.5. Elementos Terminales ...................................................................................... 58
2.5.1. Elementos de sujecin ........................................................................... 59
2.5.2. Herramientas terminales........................................................................ 61
2.6. Bibliografa....................................................................................................... 62

v
vi FUNDAMENTOS DE ROBTICA

Captulo 3. Herramientas matemticas para la localizacin espacial.................... 65


3.1. Representacin de la Posicin.......................................................................... 65
3.1.1. Sistema cartesiano de referencia ........................................................... 66
3.1.2. Coordenadas cartesianas........................................................................ 66
3.1.3. Coordenadas Polares y cilndricas......................................................... 67
3.1.4. Coordenadas Esfricas .......................................................................... 67
3.2. Representacin de la orientacin...................................................................... 68
3.2.1. Matrices de rotacin .............................................................................. 68
3.2.2. ngulos de Euler ................................................................................... 72
3.2.3. Par de rotacin....................................................................................... 75
3.2.4. Cuaternios.............................................................................................. 75
3.3. Matrices de transformacin homognea .......................................................... 76
3.3.1. Coordenadas y matrices homogneas.................................................... 76
3.3.2. Aplicacin de matrices homogneas ..................................................... 77
3.3.3. Significado geomtrico de la matrices homogneas ............................. 86
3.3.4. Composicin de matrices homogneas ................................................. 88
3.3.5. Grficos de transformacin ................................................................... 91
3.4. Aplicacin de los Cuaternios............................................................................ 92
3.4.1. lgebra de cuaternios ............................................................................ 92
3.4.2. Utilizacin de los cuaternios ................................................................. 94
3.5. Relacin y comparacin entre los distintos mtodos de localizacin espacial...... 96
3.5.1. Comparacin de mtodos de localizacin espacial ............................... 96
3.5.2. Relacin entre los distintos mtodos de localizacin espacial .............. 97
3.6. Utilizacin de Matlab para el modelado y simulacin de robots ..................... 103
3.7. Ejercicios Resueltos ......................................................................................... 103
3.7. Bibliografa....................................................................................................... 117

Captulo 4. Cinemtica del robot............................................................................... 119


4.1. El problema cinemtico directo........................................................................ 120
4.1.1. Resolucin del problema cinemtico directo mediante mtodos geo-
mtricos.................................................................................................. 120
4.1.2. Resolucin del problema cinemtico directo mediante matrices de
transformacin homognea.................................................................... 122
4.1.3. Algoritmo de Denavit Hartenberg para la obtencin del modelo cine-
mtico directo ........................................................................................ 125
4.1.4. Solucin del problema cinemtico directo mediante el uso de cua-
ternios.................................................................................................... 130
4.2. Cinemtica Inversa ........................................................................................... 134
4.2.1. Resolucin del problema cinemtico inverso por mtodos geomtricos .... 136
4.2.2. Resolucin del problema cinemtico inverso a partir de la matriz de
transformacin homognea.................................................................... 138
4.2.3. Desacoplo cinemtico............................................................................ 143
4.3. Modelo Diferencial. Matriz Jacobiana ............................................................. 146
4.3.1. Jacobiana analtica................................................................................. 147
4.3.2. Jacobiana geomtrica ............................................................................ 152
4.3.3. Obtencin numrica de la Jacobiana geomtrica .................................. 157
4.3.4. Relacin entre la Jacobiana analtica y la Jacobiana geomtrica .......... 160
4.3.5. Jacobiana inversa ................................................................................... 161
4.3.6. Jacobiana pseudoinversa........................................................................ 163
CONTENIDO vii

4.3.7. Configuraciones singulares ................................................................... 163


4.4. Ejercicios Resueltos ......................................................................................... 166
4.5. Bibliografa....................................................................................................... 214

Captulo 5. Dinmica del robot.................................................................................. 215


5.1. Modelo dinmico de la estructura mecnica de un robot rgido ...................... 216
5.2. Obtencin del modelo dinmico de un robot mediante la formulacin de
Lagrange .................................................................................................... 219
5.2.1. Algoritmo computacional de Lagrange para el modelado dinmico de
un robot.................................................................................................. 220
5.3. Obtencin del modelo dinmico de un robot mediante la formulacin recursiva
de Newton Euler ............................................................................................... 231
5.3.1. Algoritmo computacional de Newton-Euler para el modelado dinmi-
co de un robot ........................................................................................ 232
5.4. Modelo dinmico en variables de estado ......................................................... 238
5.5. Modelo dinmico en el espacio de la tarea ...................................................... 241
5.6. Modelo dinmico de los actuadores ................................................................. 242
5.6.1. Motor elctrico de corriente continua ................................................... 243
5.6.2. Motor hidrulico con servovlvula........................................................ 246
5.7. Ejercicios Resueltos ......................................................................................... 248
5.8. Bibliografa....................................................................................................... 276

Captulo 6. Control cinemtico .................................................................................. 279


6.1. Funciones de control cinemtico...................................................................... 279
6.2. Tipos de trayectorias ........................................................................................ 282
6.2.1. Trayectorias punto a punto .................................................................... 282
6.2.2. Trayectorias continuas........................................................................... 283
6.3. Generacin de trayectorias cartesianas ............................................................ 283
6.3.1. Evolucin de la orientacin ................................................................... 285
6.4. Muestreo de trayectorias cartesianas................................................................ 287
6.5. Interpolacin de trayectorias ............................................................................ 287
6.5.1. Interpoladores lineales........................................................................... 288
6.5.2. Interpolador splin cbico....................................................................... 289
6.5.3. Interpolador splin quntico .................................................................... 291
6.5.4. Interpoladores trapezoidales.................................................................. 291
6.6. Ejercicios Resueltos ......................................................................................... 295
6.7. Bibliografa....................................................................................................... 307

Captulo 7. Control dinmico..................................................................................... 309


7.1. Control Monoarticular...................................................................................... 310
7.1.1. Validez del control monoarticular. Influencia del factor de reduccin.. 310
7.1.2. Esquema general de control monoarticular ........................................... 314
7.1.3. Control pre-alimentado por inversin del modelo................................. 315
7.1.4. Control Realimentado............................................................................ 317
7.1.5. Control Prealimentado + Realimentado ................................................ 320
7.1.6. Control con Compensacin de Gravedad .............................................. 321
7.2. Control Multiarcular......................................................................................... 322
7.2.1. Desacoplamiento por inversin del modelo .......................................... 322
7.2.2. Control PID con prealimentacin.......................................................... 324
viii FUNDAMENTOS DE ROBTICA

7.3. Control Adaptativo ........................................................................................... 326


7.3.1. Control adaptativo por planificacin de ganancias (GS)....................... 326
7.3.2. Control adaptativo con modelo de referencia (MRAC) ........................ 328
7.3.3. Control por par calculado adaptativo..................................................... 329
7.4. Aspectos prcticos de la implantacin del Regulador...................................... 330
7.4.1. Ajuste de los parmetros del PID. Especificaciones de diseo ............ 331
7.4.2. Saturacin de los amplificadores. Efecto de la accin integral ............ 333
7.4.3. Flexin y osciladores estructurales........................................................ 336
7.5. Ejercicios resueltos........................................................................................... 338
7.6. Bibliografa....................................................................................................... 352

Captulo 8. Programacin de robots ......................................................................... 355


8.1. Mtodos de programacin de robots. Clasificacin ......................................... 355
8.1.1. Programacin por guiado o aprendizaje ................................................ 356
8.1.2. Programacin textual............................................................................. 358
8.2. Requerimientos de un sistema de programacin de robots .............................. 361
8.2.1. Entorno de desarrollo ............................................................................ 362
8.2.2. Modelado del entorno............................................................................ 362
8.2.3. Tipos de datos........................................................................................ 363
8.2.4. Manejo de entradas salidas.................................................................... 364
8.2.5. Comunicaciones .................................................................................... 365
8.2.6. Control del movimiento del robot ......................................................... 365
8.2.7. Control del flujo de ejecucin del programa ......................................... 367
8.3. Estandarizacin ................................................................................................ 368
8.4. Ejemplo de programacin de un robot industrial ............................................. 369
8.5. Caractersticas bsicas de los lenguajes Rapid y V+........................................ 374
8.5.1. El lenguaje de programacin RAPID .................................................... 374
8.6. Ejercicios.......................................................................................................... 391
8.7. Bibliografa....................................................................................................... 399

Captulo 9. Criterios de implantacin de un robot industrial ................................ 401


9.1. Diseo y control de una clula robotizada ....................................................... 401
9.1.1. Disposicin del robot en la clula de trabajo ........................................ 403
9.1.2. Caractersticas del sistema de control de la clula de trabajo ............... 407
9.2. Caractersticas a considerar en la seleccin de un robot .................................. 407
9.2.1. rea de trabajo ...................................................................................... 409
9.2.2. Grados de libertad ................................................................................. 410
9.2.3. Precisin, repetibilidad y resolucin ..................................................... 412
9.2.4. Velocidad ............................................................................................... 413
9.2.5. Capacidad de carga................................................................................ 414
9.2.6. Sistema de control ................................................................................. 414
9.3. Seguridad en instalaciones robotizadas............................................................ 417
9.3.1. Causas de accidentes ............................................................................. 418
9.3.2. Medidas de seguridad ............................................................................ 419
9.4. Justificacin econmica ................................................................................... 422
9.4.1. Factores econmicos y datos bsicos necesarios................................... 422
9.4.2. El robot como elemento principal del anlisis econmico.................... 424
9.4.3. Mtodos de anlisis econmico............................................................. 425
9.5. Mercado de Robots........................................................................................... 428
CONTENIDO ix

9.6. Ejercicios Resueltos ......................................................................................... 431


9.7. Bibliografa....................................................................................................... 438

Captulo 10. Aplicaciones de los robots..................................................................... 439


10.1. Aplicaciones de los Robots industriales Manipuladores. Clasificacin......... 440
10.2. Aplicaciones industriales de los robots .......................................................... 441
10.2.1. Trabajos en fundicin ...................................................................... 441
10.2.2. Soldadura......................................................................................... 442
10.2.3. Aplicacin de materiales. Pintura.................................................... 446
10.2.4. Aplicacin de adhesivos y sellantes ................................................ 447
10.2.5. Alimentacin de mquinas .............................................................. 448
10.2.6. Procesado......................................................................................... 450
10.2.7. Corte ................................................................................................ 450
10.2.8. Montaje.............................................................................................. 453
10.2.9. Paletizacin y empaquetado ............................................................ 454
10.2.10. Control de Calidad........................................................................... 456
10.2.11. Manipulacin en salas limpias o blancas ........................................ 458
10.3. Aplicaciones de los Robots de servicio. Clasificacin................................... 460
10.3.1. Robots en la Agricultura.................................................................... 463
10.3.2. Robots en la Construccin................................................................. 464
10.3.3. Robots en la Industria nuclear ........................................................... 466
10.3.4. Robots en Medicina........................................................................... 467
10.3.5. Robots areos y submarinos .............................................................. 469
10.3.6. Robots asistenciales........................................................................... 472
10.3.7. Robots para el ocio ............................................................................ 473
10.4. Ejercicios Resueltos ....................................................................................... 476
10.5. Bibliografa..................................................................................................... 481

Captulo 11. Fundamentos de teleoperacin ............................................................ 483


11.1. Antecedentes histricos.................................................................................. 484
11.2. Definicin de nuevos trminos ....................................................................... 486
11.2.1. Definicin de trminos relacionados con la manipulacin................ 486
11.2.2. Definicin de trminos relacionados con la realimentacin sensorial .... 487
11.3. Elementos y arquitectura de un sistema de teleoperacin.............................. 489
11.3.1. Elementos de un sistema de teleoperacin ........................................ 489
11.3.2. Arquitectura de control de un sistema de teleoperacin.................... 491
11.3.3. Teleoperacin frente a robtica ......................................................... 494
11.4. Dispositivos de control y realimentacin ....................................................... 496
11.4.1. Dispositivos de control ...................................................................... 496
11.4.2. Caractersticas de los dispositivos de control .................................... 501
11.4.3. Dispositivos de realimentacin.......................................................... 503
11.4.4. Caractersticas de los dispositivos de realimentacin........................ 506
11.5. Factores humanos en teleoperacin................................................................ 507
11.5.1. Caractersticas dinmicas del operador ............................................. 508
11.5.2. Modelo general de un operador en un bucle de control manual........ 510
11.5.3. Modelo de cross-over de McRuer ..................................................... 512
11.6. Control en teleoperacin ................................................................................ 515
11.6.1. Control unilateral............................................................................... 515
11.6.2. Reflexin de fuerzas .......................................................................... 518
x FUNDAMENTOS DE ROBTICA

11.6.3. Control bilateral................................................................................. 520


11.6.4. Control de sistemas con retardo temporal ......................................... 520
11.6.5. Prestaciones de un sistema de teleoperacin ..................................... 524
11.6.6. Factores funcionales de operacin..................................................... 528
11.7. Control bilateral para teleoperacin ............................................................... 532
11.7.1. Esquema general de implantacin del control bilateral..................... 532
11.7.2. Esquemas bsicos de control bilateral............................................... 533
11.7.3. Comparacin entre esquemas de control bilateral............................. 536
11.7.4. Modelo bsico de un sistema de teleoperacin con control bilateral... 538
11.7.5. Anlisis de sistemas de control bilateral con teora clsica de control.... 542
11.7.6. Anlisis de sistemas de control bilateral con teora del cuadripolo .. 544
11.7.7. Comparacin entre mtodos de diseo y anlisis del control bilateral ... 547
11.8. Control supervisado y teleprogramacin........................................................ 548
11.8.1. Conceptos de control supervisado ..................................................... 548
11.8.2. Tele-programacin............................................................................. 550
11.9. Aplicaciones de la teleoperacin.................................................................... 554
11.10. Caso prctico-Teleoperacin espacial .......................................................... 558
11.10.1. Aplicacin de la teleoperacin espacial .......................................... 558
11.10.2. Teleoperacin del sistema ETS-VII................................................. 563
11.11. Ejercicios resueltos....................................................................................... 575
11.12. Bibliografa................................................................................................... 585

Anexo 1. Normativa sobre robots industriales ......................................................... 589


Anexo 2. Notacin de representacin esquemtica de robots ................................. 611
ndice analtico ............................................................................................................. 613
Prefacio

Para buena parte de nuestra sociedad un robot es mucho ms que un conjunto de mecanismos
y electrnica, capaz de trabajar de manera ininterrumpida fabricando bienes de consumo. Los
robots sugieren modernidad y avance cientfico, reflejando en pocas pasadas, presentes, y se-
guramente futuras, muchas de las expectativas del progreso tecnolgico.
El trmino robot naci y creci de un mito: la creacin por los humanos de un ser artificial
que emulase en aspecto y capacidades cognitivas a su propio creador. Desde 1921, fecha de
publicacin por K. Capek de la obra de teatro Robots Universales de Rossum, la literatura
y el cine han alimentado este mito. Por otro lado, con una concepcin ms pragmtica, la in-
geniera ha materializado parcialmente el concepto, siendo en la actualidad los robots in-
dustriales un elemento imprescindible para mantener el estado de bienestar, sustentado en
gran medida por la disposicin de bienes de consumo de cuya fabricacin masiva son piezas
clave.
Los robots industriales, surgidos a principios de la dcada de los sesenta, lograron supe-
rar importantes dificultades tanto tecnolgicas como socioeconmicas y alcanzaron su ma-
yora de edad en la dcada de los noventa, estabilizndose entonces su demanda y consi-
guiendo una aceptacin y reconocimiento pleno en la industria.
Alcanzada la madurez del robot industrial, los ingenieros e investigadores dedicados a la
robtica se plantearon dar un paso ms hacia el mito, sacando a los robots de las lneas de
produccin y dotndoles de la capacidad de actuar en otros entornos, poco o nada estructu-
rados, y de colaborar con personas no especializadas en su uso.
A pesar de la enorme dificultad cientfico tecnolgica de este objetivo, los esfuerzos rea-
lizados y el aprovechamiento de los avances conseguidos en las disciplinas que sirven de so-
porte a la robtica como son la electrnica o la informtica ha dado lugar a que en la pri-
mera dcada del siglo XXI se viva un nuevo resurgimiento de la robtica, evolucionando desde
el entorno industrial a dos nuevos sectores: la robtica de servicios profesionales y la robtica
personal.
En los servicios profesionales se han logrado desarrollos plenamente operativos, como se
pone de manifiesto en los robots para ciruga, limpieza de fachadas de edificios, o vigilancia.
Por su parte los robots personales van a ser, sin duda, la gran revolucin de la robtica del pri-
mer cuarto del siglo XXI, contribuyendo notablemente al cambio del modo de vida de la so-
ciedad industrializada. Esta apreciacin no es el fruto de una visin endogmica de los ex-
pertos mundiales en robtica. Bill Gates, presidente y fundador de Microsoft, artfice de la
revolucin del ordenador personal que ha cambiado de manera definitiva nuestro modo de
vida, afirma en su artculo A Robot in Every Home(publicado en la edicin de enero del
2007 de la revista Scientific American), que la industria de la robtica est evolucionando de
una manera similar a como lo hizo la industria de los ordenadores hace 30 aos, que ha lle-
vado a situar uno, o varios, ordenadores personales en cada hogar.

xi
xii FUNDAMENTOS DE ROBTICA

La robtica es, por tanto, una disciplina en auge, y la formacin del profesional de la in-
geniera, tanto en sus ramas de automatizacin, mecnica, informtica o incluso generalista,
no es indiferente a esta situacin, incluyendo desde finales de los aos ochenta a la robtica
como parte de sus enseanzas.
La robtica posee un reconocido carcter interdisciplinar, participando en ella diferentes
ciencias bsicas y tecnologas tales como la teora de control, la mecnica, la electrnica, el
lgebra y la informtica, entre otras.
Numerosas obras, la mayor parte en ingls, han surgido en el mercado bibliogrfico
desde 1980. En algunas de ellas se aprecia la tendencia de presentar la robtica como un re-
paso de tecnologas bsicas (electrnica, informtica, mecnica, etc.). Otras, la mayora,
enfocan los estudios de la robtica hacia un complicado conjunto de problemas fsico-mate-
mticos, orientados a conocer con detalle el funcionamiento del sistema de control. Alterna-
tivamente, algunos textos abordan la robtica nicamente desde el punto de vista del usuario,
con contenidos relativos al modo y oportunidad de su aplicacin, sin dar una adecuada in-
formacin sobre las tecnologas que la conforman.
Ninguno de los planteamientos anteriores es, a nuestro juicio, acertado. Una formacin en
robtica focalizada exclusivamente en el control de robots no es la ms til para la mayora de
los estudiantes, que, de trabajar con robots, lo harn como usuarios y no como fabricantes.
Sin embargo, no hay que perder de vista que se est formando a profesionales, que, posible-
mente, se debern enfrentar a nuevos problemas cuya resolucin nicamente les ser posible
abordar conociendo con detalle el funcionamiento de los sistemas y procedimientos utilizados
en la resolucin de los problemas ya conocidos.
Consecuentemente, en este texto se ha procurado llegar a un adecuado equilibrio entre los
temas relacionados con el conocimiento profundo del funcionamiento de un robot (en sus as-
pectos mecnico, informtico y de control) y aqullos en los que se proporcionan los criterios
para evaluar la conveniencia de utilizar un robot y el modo ms adecuado de hacerlo.
El libro est fundamentalmente dirigido al estudiante de ingeniera en sus especialidades
de automatizacin, electrnica o similar. Con su estudio el alumno adquirir los conoci-
mientos necesarios para poder iniciarse en el proyecto de una instalacin robotizada, junto
con una detallada comprensin del funcionamiento del robot. Asimismo, su lectura es acon-
sejable para los estudiantes de ingeniera informtica y mecnica.
El enfoque eminentemente prctico y aplicado de buena parte del texto, lo hace tambin
til para todo aquel profesional que desee adquirir los conocimientos necesarios para enten-
der y utilizar adecuadamente un robot, seleccionando en este caso los captulos de contenido
menos matemtico.
Su contenido cubre completamente un primer curso de robtica, adecuado para todo aquel
que quiera iniciarse en la misma sin dejar de lado sus mltiples vertientes. Adems, algunos de
los temas cubiertos pueden ser utilizados en cursos de postgrado en el rea de la robtica.
Para su correcta comprensin es aconsejable tener una formacin bsica en ingeniera. En
concreto, es deseable tener una adecuada base en lgebra, electrnica, control e informtica.
No obstante, cualquier otro lector sin esta formacin especfica, podr leer sin dificultad va-
rios de los captulos del libro, y captar, en los captulos ms complejos, cules son los obje-
tivos sin tener que ahondar en los medios usados para lograrlos.
El libro se ha organizado de acuerdo a la experiencia docente de los autores, que suman
ms de 60 aos impartiendo cursos de robtica dentro del marco acadmico, as como en cur-
sos de especializacin para la industria. Se ha procurado el adecuado equilibrio entre los ca-
ptulos dedicados al control de robot (Captulos 3, 4, 5, 6, 7, 11) con los dedicados a su im-
plantacin y uso (Captulos 2, 8, 9, 10, 11), incluyndose en todos un adecuado nmero de
ejemplos que faciliten el estudio y comprensin.
PREFACIO xiii

Esta segunda edicin de Fundamentos de Robtica representa con respecto de la pri-


mera, publicada en el ao 1997, un incremento notable, tanto en la extensin como en el de-
talle de los contenidos. Junto con la obligada actualizacin de datos y cifras marcada por el
transcurso de los aos, se ha abordado la inclusin de ejercicios resueltos en la mayor parte de
los captulos. En conjunto, esta nueva edicin incorpora ms de 50 ejercicios que deben de
contribuir positivamente tanto al estudio por parte de los alumnos, como a facilitar la labor pe-
daggica de los profesores. En muchos de stos se hace uso de herramientas informticas con
las que se facilita en gran medida el desarrollo de clculos o la comprensin de determinados
conceptos.
Asimismo, se ha ampliado o modificado sustancialmente el contenido de determinados
captulos. En el caso de aquellos relativos al control del robot, se ha profundizado ms en los
temas que conciernen al modelo diferencial y se ha dado al captulo dedicado al control di-
nmico un enfoque ms sistemtico y seguramente ms cercano a los conocimientos de la in-
geniera de control. En el captulo dedicado a las aplicaciones del robot se ha tenido en cuen-
ta la situacin actual de la robtica, actualizando las aplicaciones industriales de los robots y,
sobre todo, ampliando los contenidos relativos a la robtica de servicio, de cuyas principales
aplicaciones se realiza una descripcin detallada. Se pretende de esta manera que el lector ten-
ga una visin real de las posibilidades de la robtica industrial actual y de la robtica de ser-
vicios que, estando a fecha de hoy en fase de crecimiento, llegar a su apogeo en los prxi-
mos aos.
En el deseo de dar una formacin integral en robtica, se ha considerado de inters el in-
corporar informacin relativa a la normativa existente. En este sentido se ha incluido un anexo
en el que se revisa y comenta la normativa ISO, relativa a la robtica vigente en diciembre
del 2006.
Por ltimo, y de manera especial, cabe comentar la inclusin de un nuevo y extenso ca-
ptulo dedicado a la teleoperacin y en particular a la telerrobtica, en el que se revisan los di-
versos aspectos implicados en ella: tecnologas, control y aplicaciones.
En el Captulo 1 se presenta la robtica como tecnologa interdisciplinar, definiendo al ro-
bot industrial y comentando su desarrollo histrico y estado actual.
El Captulo 2 est dedicado al estudio de los elementos que componen un robot: estructura
mecnica, transmisiones y reductores, actuadores, elementos terminales y sensores. No se pre-
tende en el mismo hacer un estudio exhaustivo de estos componentes, pues no es este objetivo
propio de la robtica, sino que se destacan las caractersticas que los hacen adecuados para su
empleo en los robots.
Las herramientas utilizadas clsicamente para localizar (posicionar y orientar) el extremo
del robot y los elementos que intervienen en su entorno, se examinan en el Captulo 3, en es-
pecial las concernientes con el uso de las matrices de transformacin homognea y de los cua-
ternios. Su correcta comprensin es imprescindible para abordar los captulos siguientes
dedicados al modelado y control del robot. Este captulo cuenta con un nmero destacable de
ejemplos y de ejercicios resueltos. Se introduce en ellos el uso de ayudas informticas que
allanarn el desarrollo de los farragosos clculos implicados en el modelado de los robots.
El Captulo 4 presenta la formulacin basada en matrices de transformacin homognea
(en particular de acuerdo al procedimiento definido por Denavit y Hartenberg) para la ob-
tencin del modelo cinemtico directo e inverso de un robot. Se define y analiza con detalle
la matriz Jacobiana que establece la relacin entre las velocidades del extremo del robot y las
de sus actuadores. En todo el captulo se procura un enfoque aplicado, presentando en lo po-
sible los mtodos y algoritmos que permiten la implementacin de los desarrollos tericos in-
volucrados. De nuevo un conjunto extenso de ejemplos y ejercicios resueltos facilitan la com-
prensin de los conceptos desarrollados.
xiv FUNDAMENTOS DE ROBTICA

El Captulo 5 aborda el modelado dinmico de un robot. Como sistema dinmico, el robot


es uno de los sistemas ms sugerentes para el control, por incorporar muchas de aquellas di-
ficultades que clsicamente se obvian en el estudio del control de sistemas. Por este motivo,
el Captulo 5 junto con el 7, adems de su indudable inters para el estudio de la robtica,
constituyen un excelente colofn para los estudios de control avanzado, propios de un inge-
niero de automatizacin.
Tras establecer los modelos cinemtico y dinmico de un robot en los Captulos 4 y 5 res-
pectivamente, se est en disposicin de abordar el control del mismo. En el Captulo 6 se tra-
ta el control cinemtico, cuyo objetivo es definir con precisin las trayectorias temporales que
debern desarrollar cada uno de los actuadores del robot para conseguir los objetivos de ve-
locidad y precisin de la mejor manera posible. El resultado de esta definicin de trayectorias
debe ser llevado a la prctica por el control dinmico, objeto del Captulo 7. En ste, y tras
justificar las condiciones bajo las cuales son vlidas determinadas simplificaciones que per-
miten abordar el control del robot con un enfoque monovariable, se hace uso de la teora cl-
sica de control que se presupone conocida para la mayor parte de los estudiantes del curso
de robtica para plantear cules son las estrategias de control ms adecuadas. Tras la co-
rrecta comprensin del caso monovariable, la evolucin al control multivariable se realiza de
forma sencilla.
Una vez concluido el modelado y control del robot, se abordan los aspectos ms prcticos
de la robtica, comenzando en el Captulo 8 por la programacin. sta es tratada en primer
lugar desde un punto de vista general, analizando las caractersticas de los diferentes proce-
dimientos de programacin de robots existentes. En segundo lugar, se presentan dos de los
lenguajes de programacin de robots ms extendidos: el V+ (Adept ) y el RAPID (ABB).
A la hora de llevar a la prctica la implantacin de un sistema robotizado el ingeniero
debe de tener criterio para seleccionar cul es el robot ms adecuado para su aplicacin, as
como poder evaluar su beneficio econmico. Adems, existen una serie de aspectos prcticos,
como el diseo de la clula o la seguridad de la misma, sobre los que si bien es difcil esta-
blecer una metodologa, s es posible dar unas premisas bsicas que sirvan de gua y orien-
tacin a quien se enfrenta por primera vez con este tipo de problemas. En el Captulo 9 se tra-
tan de cubrir estos aspectos prcticos, incorporando, adems, un breve repaso al mercado
actual de la robtica industrial.
El Captulo 10 est dedicado a la utilizacin del robot en diferentes tipos de aplicaciones,
tanto las ms habituales, como la soldadura, pintura o mecanizado, como las ms novedosas
en los sectores de la construccin o ciruga. Las diferentes aplicaciones se estructuran de
acuerdo a la clasificacin establecida por la Federacin Internacional de Robots (IFR). Es evi-
dente, que la robtica est siendo aplicada a un gran nmero de sectores dispares, siendo im-
posible pretender que el estudiante de la robtica conozca las caractersticas de todos ellos.
No obstante, tras el estudio del Captulo 10 el alumno tendr una idea formada sobre dnde
se estn aplicando los robots, los motivos por los que su empleo es rentable y, lo que puede
ser ms importante, una adecuada capacidad para proyectar las soluciones robotizadas pre-
sentadas a cualquier otra aplicacin o sector.
Por ltimo el Captulo 11 recoge de una manera completa los fundamentos de la teleo-
peracin y telerrobtica. La complejidad de muchas de las aplicaciones no industriales de los
robots, como son las frecuentemente asociadas a sectores como el espacial, la construccin o
la medicina, entre otros, obliga a hacer un uso frecuente de la telerrobtica, combinando las
ventajas del uso del robot (precisin, fuerza, inmunidad en entornos hostiles) con la capaci-
dad de resolucin de problemas del ser humano. Los contenidos del Captulo 11 cubren por
s solos un curso completo de telerrobtica, pudindose utilizar como curso complementario
al de introduccin a la robtica cubierto por los captulos anteriores.
PREFACIO xv

El libro se complementa con dos anexos, el primero de los cuales se dedica a presentar y
comentar la mayor parte de las normas ISO relativas a robots. Se pretende con este anexo que
el lector tenga en primer lugar conocimiento de la existencia de la normativa, estimulndole
a la consulta de las normas originales en el caso de que lo precise su actividad laboral. Por
otra parte, algunos de sus contenidos, como definiciones, evaluacin de prestaciones o se-
guridad, guardan paralelismo directo con algunos de los contenidos del libro, por lo que su
conocimiento puede contribuir a asimilar las ideas presentadas en el texto.
Los contenidos del libro superan en algunos casos el alcance que puede ser impartido en
un curso cuatrimestral. Dependiendo de la titulacin concreta, se deber seleccionar qu ca-
ptulos se imparten plenamente o por el contrario con un contenido reducido. La materia cu-
bierta por el libro puede incluso servir para la imparticin parcial de cursos de postgrado en
robtica.
Junto a los agradecimientos formulados en la primera edicin, sobre la que se ha construi-
do esta segunda, se deben incorporar los dedicados a las personas que han contribuido de una
u otra manera en la elaboracin de esta nueva edicin. En concreto a Adrin Mora que ha co-
laborado en la edicin de textos y figuras de parte de los captulos de esta nueva edicin. Tam-
bin los trabajos en telerrobtica desarrollados por Adrin Mora y por Miguel Hernando han
sido una valiosa fuente de conocimientos, que han contribuido al desarrollo del Captulo 11.
Todos los profesores e investigadores de la Divisin de Ingeniera de Sistemas y Auto-
mtica (DISAM) de la Universidad Politcnica de Madrid y del Departamento de Ingeniera
de Sistemas y Automtica de la Universidad Carlos III de Madrid, contribuyen a diario en la
mejora de nuestro conocimiento de la robtica. Por tanto, merecen nuestro sincero agrade-
cimiento.
Carmelo Sanchez, ha sido un editor implacable, como debe ser. Su trabajo y estmulo ha
sido decisivo para que esta segunda edicin fuese una realidad.
Nuestras familias han aguantado muchos das de vacaciones, fines de semana y amane-
ceres, rodeados de papeles con Jacobianas, esquemas de control bilateral o fotos de robots.
Por ahora nos siguen comprendiendo, lo que es muy de agradecer.
En la primera edicin enfatizbamos que el libro se haba desarrollado pensando en
nuestros alumnos. No cabe imaginar que sea de otra manera. se es el origen y el fin de es-
cribir un libro de texto. Nuestra satisfaccin estar condicionada por la medida en que el libro
sea valorado por los estudiantes. En este sentido quisiramos agradecer todos aquellos co-
mentarios que, relativos a la primera edicin, nos han podido llegar por parte de los estu-
diantes, especialmente de los que viven en Latinoamrica, mostrndonos que el libro era de
alguna utilidad.

Madrid, enero 2007


Los autores.
Acerca de los autores

Antonio Barrientos es Ingeniero Industrial especialidad Automtica y Electrnica (1982) y


Doctor Ingeniero Industrial (1986) por la Universidad Politcnica de Madrid. Desde 1988 es
Profesor Titular del Departamento de Automtica Ingeniera Electrnica e Informtica In-
dustrial de la Universidad Politcnica de Madrid, impartiendo, entre otros, cursos de Rob-
tica, Automatizacin de la produccin, Teora de sistemas, Regulacin automtica y Com-
putadores.
Luis Felipe Pen es Ingeniero Industrial especialidad Automtica y Electrnica (1993) y
Doctor Ingeniero Industrial (1998) por la Universidad Politcnica de Madrid. Durante el pe-
rodo 1998-1999 fue investigador invitado (STA Fellow) en la Agencia Espacial Japonesa (ac-
tualmente JAXA), donde particip activamente en los experimentos de teleoperacin del ro-
bot a bordo del satlite ETS-VII. Posteriormente, se incorpor a industria espacial espaola
y en la actualidad es Adjunto al Director de la Divisin de Proyectos Avanzados y responsa-
ble de la Seccin de Simulacin y Control de la empresa DEIMOS Space, de la que es socio
fundador.
Carlos Balaguer obtuvo el grado de Ingeniero Electromecnico por el Instituto Energti-
co de Mosc (1977) e Ingeniero Industrial especialidad Automtica y Electrnica por la Uni-
versidad Politcnica de Madrid (1981). Es Doctor Ingeniero por la Universidad Politcnica de
Madrid (1983), donde fue Profesor Titular. En la actualidad es Catedrtico del Departa-
mento de Ingeniera de Sistemas y Automtica de la Universidad Carlos III de Madrid.
Rafael Aracil es Ingeniero Industrial especialidad Elctrica y Doctor Ingeniero Industrial
por la Universidad Politcnica de Madrid. En 1973 se incorpor al Departamento de Auto-
mtica, Ingeniera Electrnica e Informtica Industrial de la Universidad Politcnica de Ma-
drid donde, desde 1983, es Catedrtico.

xvi
CAPTULO 1
Introduccin

Antes que acabes, no te alabes.


Refranero popular

El ciudadano industrializado que vive a caballo entre el siglo XX y el XXI se ha visto en la ne-
cesidad de aprender, en escasos 25 aos, el significado de un buen nmero de nuevos trmi-
nos marcados por su alto contenido tecnolgico. De ellos, sin duda el ms relevante, haya
sido el de Internet que, de la mano del ordenador o computador personal, ha motivado un
cambio notable en el modo de vida.
Pero dejando de lado esta verdadera revolucin social, existen otros conceptos procedentes
del desarrollo tecnolgico que han superado las barreras impuestas por las industrias y centros
de investigacin, incorporndose en cierta medida al lenguaje coloquial. Es llamativo cmo
entre stas destaca el concepto robot. An sin tener datos reales, no parece muy aventurado
suponer que de preguntar al ciudadano medio sobre qu es un robot industrial, ste demos-
trara tener, cuanto menos, una idea aproximada de su aspecto y utilidad.
Esta familiaridad con la que nuestra sociedad trata al robot es ms llamativa cuando se
compara con el amplio desconocimiento que se puede tener de otras mquinas o aparatos, aun
siendo stos de mayor antigedad o utilidad como, por ejemplo, sera el osciloscopio o los pa-
rientes cercanos de los robots: las mquinas de control numrico.
Posiblemente, una de las causas principales que haya dado popularidad al robot sea su mi-
tificacin, propiciada o amplificada por la literatura y el cine de ciencia ficcin. Si bien, salvo es-
casas excepciones, los robots de novelas y pelculas tienen un nulo parecido con el robot in-
dustrial, su frecuente presencia en estos medios ha permitido que el trmino nos sea familiar,
originando que le abramos la puerta de nuestra cotidianeidad. Despus, ha sido suficiente con
que en algunas ocasiones hayamos visto un robot industrial real, por ejemplo, en una noticia en
televisin o prensa, para que hayamos dejado de lado al robot mito y hayamos aceptado, como
una mquina ms de nuestro entorno, a esa especie de brazo mecnico animado, que con rapidez
y precisin suelda carroceras de vehculos o inserta circuitos integrados en placas electrnicas.
El mito ha rodeado y rodea al robot, a pesar de las ms de 800.000 unidades instaladas en
el mundo a principios de 2005. Sus orgenes de ficcin, su controvertido impacto social, su
aparente autonoma y notorio contenido tecnolgico, origina que, a pesar de su popularidad,
siga siendo admirado y en ocasiones temido.
Este libro rene los conocimientos necesarios para conocer a fondo qu es, cmo funcio-
na y para qu sirve un robot. No es en general un libro para el gran pblico, pues en algunos
captulos se presentan conocimientos avanzados en matemticas, electrnica, control, mec-
nica e informtica, pero con las limitaciones impuestas en estos captulos, puede ser ledo y
comprendido por cualquier persona con alguna formacin tcnica.

1
2 FUNDAMENTOS DE ROBTICA

Tras su lectura es de esperar la desmitificacin del robot, quedando a la altura de cualquier


otra mquina compleja, como otras muchas que nos rodean (automvil, televisin, etc.).Tras
su estudio, el robot ser la sntesis de un importante bagaje de conocimientos cientifico-tc-
nicos, adecuadamente conjuntados para dar como resultado un dispositivo destinado a me-
jorar la produccin y la calidad de vida.

1.1. ANTECEDENTES HISTRICOS


A lo largo de toda la historia, el hombre se ha sentido fascinado por mquinas y dispositivos
capaces de imitar las funciones y los movimientos de los seres vivos. Los griegos tenan una
palabra especfica para denominar a estas mquinas: automatos. De esta palabra deriva la ac-
tual autmata: mquina que imita la figura y movimientos de un ser animado.
La Tabla 1.1 muestra los autmatas y, en general, los mecanismos automticos ms rele-
vantes creados por el hombre a lo largo de la historia, principalmente occidental, y de los que
se tienen noticias ciertas de su creacin y aplicacin [MINSKY-85] [REICHARDT-78] [COHEN-66]
[ROSHEIM-94]. En este sentido, es necesario notar que existen referencias a muchos otros me-
canismos animados o autmatas que pertenecen ms al terreno de la leyenda que al de la rea-
lidad. Tal es el caso del Hombre de hierro de Alberto Magno (1204-1282) o la Cabeza parlante
de Roger Bacon (1214-1294). Tambin hay que considerar la existencia de fraudes, como se
cree que result ser el Jugador Mecnico de Ajedrez del Barn Wolfgang von Kempelen
(1734-1804).

Figura 1.1. Gallo de Estrasburgo (1352).


CAPTULO 1. INTRODUCCIN 3

Tabla 1.1. Autmatas o mecanismos automticos ms relevantes a lo largo de la historia

Ao Autor Mecanismo Comentario


270 a.C. Ctesibius Clpsidra Aplicacin de la neumtica e hidrulica para la produccin
y rgano de agua de los primeros relojes y rganos de agua.

62 a.C. Heron Teatro Escribi un Tratado sobre Neumtica. En el teatro auto-


de Alejandra automtico mtico las figuras cambiaban de posicin, los pjaros can-
taban, se oan las trompetas y los animales beban del agua,
entre otros movimientos.

87 a.C. Escuela Mecanismo Mecanismo para el clculo de la posicin de los astros.


de Posidonio de Antikythera Resulta ser el ejemplo ms antiguo de procesamiento de in-
formacin a travs de engranajes.

1200 Al-Jazari Fuente del Pavo Al-Jazari es el autor de un tratado de mecanismos inge-
Real niosos, en el que aparece la fuente del pavo real entre otros
mecanismos. Se trata de un autmata para lavarse las ma-
nos. Tras tirar de la cola del pavo, se llena de agua una va-
sija, aparece una pequea figura con un tarro con polvos
perfumados, seguido por otra figura con una toalla.

1232-1316 Ramn Llul Ars Magna El Ars Magna consista en una serie de crculos concntricos
en las que haba distintas palabras. Cuando un grupo de pa-
labras se pona en un orden determinado formando una pre-
gunta, otras palabras se juntaban para formar la respuesta.

1352 Desconocido Gallo Es el reloj medieval ms famoso y elaborado. Estuvo ope-


de la catedral rativo hasta 1789. Apareca en compaa de otras doce fi-
de Estrasburgo guras representando a los apstoles, mova las alas, levan-
taba la cabeza y cacareaba tres veces.

1500 Leonardo Len Mecnico Construido en honor del rey de Francia, Luis XII alrededor
Da Vinci del 1500, aunque no se conservan planos del mismo. Se
cree que ante el rey dio unos paso, levant una garra y se
abri el pecho para ensear el escudo de armas del rey.

1525 Juanelo Monje u hombre Figura de monje programado para andar unos pasos, asin-
Turriano de palo tiendo con la cabeza, moviendo ojos y boca, mientras con una
mano sujeta un crucifijo y con otra se da golpes en el pecho.

1540 Tocadora Se le atribuye la construccin para Carlos V de una figura de


de Lad mujer que poda dar unos pasos en lnea recta o en crculo,
al mismo tiempo que sacaba notas de un pequeo lad.

1738 Jaques Pato Es uno de los autmatas ms famosos. Se trata de un pato


de Vaucanson de cobre que coma, beba, graznaba, mova las alas e in-
cluso digera la comida como un pato real.

1738 Flautista Presentados junto con el pato, se trataba de figuras de un


y Tamborilero metro y ochenta centmetros sobre un pedestal. El flautista,
a travs de una corriente de aire y el movimiento de labios
y dedos era capaz de tocar doce melodas distintas.

1760 Friedich Mquina Se trataba de una mquina capaz de escribir pasajes de


von Knauss de escritura hasta 107 palabras. Poda escribir cualquier texto com-
automtica puesto anteriormente o proveniente de un dictado tras el
operador presionar las teclas adecuadas.
4 FUNDAMENTOS DE ROBTICA

Tabla 1.1. Autmatas o mecanismos automticos ms relevantes a lo largo de la historia (Continuacin)

Ao Autor Mecanismo Comentario


1770 Jaquet-Droz Escriba Los tres autmatas estaban operados por mecanismos de
1772 Organista relojera basados en el uso de cadenas complejas de le-
1773 Dibujante vas. El escriba y el dibujante tenan la forma de nios j-
venes, vestidos elegantemente. l escriba poda mojar la
pluma en la tinta y escribir un texto de hasta 40 palabras.
El dibujante poda realizar dibujos de Luis XV y similares,
por ejemplo, una escena de batalla naval.
Por otro lado la organista, una chica joven, tocaba real-
mente el rgano, moviendo los brazos y manos para pre-
sionar las teclas adecuadamente.

1778 Baron W. Mquina parlante Tras un trabajo de veinte aos, construy una mquina ca-
Von paz de reproducir los rganos vocales de lo seres humanos,
Kempelen y con ello reproducir los distintos sonidos.

1796 Hanzo Mueca Se trata de una mueca de madera de unos 35 cm de alto


Hosokawa para servir el t que sujeta una bandeja. Si se pone un recipiente con t
sobre ella, la mueca se mueve hacia delante. Si se le qui-
ta, se para. Si se le vuelve a poner, se da la vuelta y vuelve
por donde ha venido. Es capaz de moverse ms de medio
metro en cada direccin.

1805 Familia Mueca capaz En un comienzo se trataba de la figura de un nio arrodi-


Maillardet de dibujar llado con un lpiz en la mano, que eran capaz de escribir
en ingls y francs y de dibujar paisajes. Posteriormente se
transform en una mujer.

1900 Leonardo Mquinas Conjunto de mquinas capaces de resolver ecuaciones poli-


Torres algebraicas nmicas por procedimientos estrctamente mecnicos. Desta-
Quevedo can los aritmforos, el tren exponencial y los husillos sinfin.

1906 El Telekino Dispositivo para el control a distancia de barcos y dirigi-


bles mediante ondas Hertzianas. Las seales se asemejan a
las del alfabeto Morse, que interpretadas dan lugar hasta
una veintena de movimientos diferentes.

1912 Mquina de jugar Mquina que era capaz de jugar partidas de Torre y Rey
al ajedrez contra Rey. Para este tipo de partidas, se pueden dar una
serie de reglas que aseguran jaque mate en un nmero de-
terminado de movimientos.

Los primeros mecanismos animados de los que se tiene noticia son los de Ctesibius (c. 270
a.C.), uno de los grandes ingenieros griegos de la escuela de Alejandra, quien aplic sus co-
nocimientos de neumtica e hidrulica para producir los primeros relojes de agua (clepsidras) y
rganos con figuras en movimiento. Basado en su trabajo, Hern de Alejandra (62 a.C.) cre los
Teatros Automticos, en los que los mecanismos animados se movan a travs de dispositivos hi-
drulicos, poleas y palancas, con fines eminentemente ldicos.
La cultura rabe (siglos VIII a XV) hered y difundi los conocimientos griegos, utilizn-
dolos no slo para realizar mecanismos destinados a la diversin, sino que les dio una apli-
cacin prctica, introducindolos en la vida cotidiana de la realeza. Ejemplo de stos son di-
versos sistemas dispensadores automticos de agua para beber o lavarse, como la Fuente del
Pavo Real, atribuida a Al-Jazari (1150?-1220?).
CAPTULO 1. INTRODUCCIN 5

Figura 1.2. Ilustracin de los autmatas realizados por Jacques Vaucanson en 1738.

En el medioevo es importante destacar la figura del mstico espaol Ramn Llull (1232-
1316), quien desarroll una mquina lgica denominada Ars Magna o arte general, con el
objetivo de demostrar racionalmente los artculos de fe. El dispositivo consista en una serie
de crculos concntricos sobre los que haba escritas distintas palabras. Cuando se movan los
crculos para obtener una frase en forma de pregunta, se obtena simultneamente la respuesta
correspondiente con otra combinacin de palabras.
Otro ejemplo relevante de la poca medieval fue el Gallo de Estrasburgo (1352). ste, que
es el autmata ms antiguo que se conserva en la actualidad, formaba parte del reloj de la to-
rre de la catedral de Estrasburgo y al dar las horas mova las alas y el pico, y cacareaba tres
veces.
Durante los siglos XV y XVI alguno de los ms relevantes representantes del renacimiento
se interesaron tambin por los ingenios descritos y desarrollados por los griegos. Es conoci-
do el Len mecnico construido por Leonardo Da Vinci (1452-1519) para el rey Luis XII de
Francia, que se abra el pecho con su garra y mostraba el escudo de armas del rey. En Espa-
a son conocidos el Hombre de palo y la Tocadora de Lad, construidos por Juanelo Turria-
no (1501-1575) en el siglo XVI para el emperador Carlos I. El primero estaba vestido de mon-
je, andaba y mova la cabeza, ojos, boca y brazos. Mientras que la segunda poda andar en
lnea recta o en crculo mientras tocaba el lad. Turriano fue tambin autor de diversas
obras de ingeniera de aplicacin prctica destacando el sistema de elevacin de agua desde
el ro Tajo hasta Toledo [REINOSO-03], [JUANELOTURRIANO].
Durante los siglos XVII y XVIII se crearon ingenios mecnicos que tenan alguna de las ca-
ractersticas de los robots actuales. Estos dispositivos fueron creados en su mayora por ar-
tesanos del gremio de la relojera. Su misin principal era la de entretener a las gentes de la
corte y servir de atraccin en las ferias. Estos autmatas representaban figuras humanas, ani-
males o pueblos enteros. Son destacables entre otros el pato de Vaucanson, la mueca escriba
de Friedich von Knauss y los muecos de la familia Droz y de la familia Mailladert.
Jacques Vaucanson (1709-1782), autor del primer telar mecnico, construy varios mu-
ecos animados (vase Figura 1.2), entre los que destaca un flautista y un tamborilero capa-
ces de tocar varias melodas (1738) y un pato (1738), capaz de graznar, beber, comer, digerir
y evacuar la comida. El relojero suizo Pierre Jaquet Droz (1721-1790) y sus hijos Henri-Louis
6 FUNDAMENTOS DE ROBTICA

Figura 1.3. Autmata escriba creado por Jaquet Droz en 1770.

y Jaquet construyeron diversos muecos capaces de escribir (1770) (Figura 1.3), dibujar
(1772) y tocar diversas melodas en un rgano (1773). stos an se conservan en el museo de
Arte e Historia de Neuchstel, Suiza. Contemporneo de los relojeros franceses y suizos fue
Henry Maillardet, quien construy, entre otros, una mueca capaz de dibujar y que an se
conserva en Filadelfia.
En 1779 la Academia de Ciencias de San Petersburgo ofreci un premio a quien inventara
un mecanismo que pronunciara las cinco vocales. Se presentaron tres inventores, entre ellos
el Barn Wolfgang von Kempelen, que present un mecanismo que imitaba las cuerdas vo-
cales y era capaz de pronunciar adecuadamente ciertas palabras, a decir de Goethe.
De manera coetnea (1796) pero en la otra parte del mundo, aparecieron en plena era To-
kugawa los tres volmenes del manual titulado Karakurizui o Bocetos de un autmata, fir-
mados por Yoriano (Hanzo) Hosokawa. Este manual describa la construccin y funciona-
miento de una mueca de comportamiento automtico, capaz de moverse en una direccin,
servir el t con una inclinacin de cabeza, y retirarse una vez recibida la taza vaca. Se cree
que se construyeron cientos de unidades.
Este karakuri o dispositivo mecnico, es quiz el antecesor ms directo de los actuales
vehculos guiados autnomos (AGV en siglas anglosajonas), pero con la particularidad de que
su aplicacin vena sustentada por una motivacin exclusivamente artstico-intelectual, y en
ningn caso con el objetivo de aliviar, descargar o ayudar en el trabajo al ser humano.
Se podra decir que los robots industriales actuales son descendientes directos de estos
muecos animados, salvo por tres cuestiones: la adopcin de forma funcional en vez antro-
pomrfica, el uso de potencia hidrulica y elctrica en vez de resortes y muelles, y el uso de
mtodos de programacin ms sofisticados que las levas.
CAPTULO 1. INTRODUCCIN 7

Figura 1.4. Mquina ajedrecista de Leonardo Torres Quevedo. (Cortesa del Museo Torres Quevedo).

A finales del siglo XVIII y principios del XIX se desarrollaron algunas ingeniosas invenciones me-
cnicas, utilizadas, fundamentalmente, en la industria textil, entre las que destacan la hiladora gi-
ratoria de Hargreaves (1770), la hiladora mecnica de Crompton (1779), el telar mecnico de
Cartwright (1785) y el telar de Jacquard (1801). Este ltimo utilizaba una cinta de papel perforada
como un programa para las acciones de la mquina. Es a partir de este momento cuando se empie-
zan a utilizar dispositivos automticos en la produccin, dando paso a la automatizacin industrial.
Si el jugador de ajedrez del Barn von Kempelen result, con casi toda seguridad, ser un
fraude, el ingeniero espaol Leonardo Torres Quevedo invent en 1912 una mquina que era
capaz de jugar un conjunto limitado de partidas finales de ajedrez (vase Figura 1.4). Segu-
ramente fue una de las primeras mquinas no slo capaces de manejar informacin, sino tam-
bin de utilizarla para tomar decisiones. Un ejemplar de la mquina ajedrecista se encuentra
en la actualidad en el museo Torres Quevedo sito en la ETSI de Caminos, Canales y Puertos
de la Universidad Politcnica de Madrid.
Leonardo Torres Quevedo fue, adems, uno de los precursores de los vehculos telediri-
gidos o teleoperados (el Telekino), y el inventor de diversas mquinas algebraicas, convir-
tindose en uno de los precursores y fundadores del concepto y disciplina de la actual auto-
mtica [GONZLEZ-05].
El Telekino era un autmata que ejecutaba rdenes a distancia transmitidas mediante on-
das Hertzianas. Fue concebido para controlar a distancia barcos y dirigibles. Est considera-
do como el primer aparato de radiodireccin del mundo, y fue demostrado al rey Alfonso XII
de Espaa en 1906 en el puerto de Bilbao dirigiendo un bote desde la orilla.
La palabra robot fue usada por primera vez en el ao 1921, cuando el escritor checo Ka-
rel Capek (1890-1938) estren en el teatro nacional de Praga su obra Rossums Universal Ro-
bot (R.U.R.). [CAPEK-35], [CAPEK-66]. Su origen es la palabra eslava robota, que se refiere al
trabajo realizado de manera forzada. Los robots de R.U.R. eran mquinas androides fabri-
cadas a partir de la formula obtenida por un brillante cientfico llamado Rossum. Estos ro-
bots servan a sus jefes humanos desarrollando todos los trabajos fsicos, hasta que finalmente
se rebelan contra sus dueos, destruyendo toda la vida humana, a excepcin de uno de sus
creadores, con la frustrada esperanza de que les ensee a reproducirse.
8 FUNDAMENTOS DE ROBTICA

El trmino robot, posiblemente, hubiera cado en desuso si no hubiese sido por los escri-
tores del gnero literario de la ciencia ficcin, algunos de los cuales retomaron la palabra, e
incluso el mensaje de la obra de Capek: la dominacin de la especie humana por seres hechos
a su propia imagen. As, en 1926, Thea von Harbou escribe Metrpolis, novela posterior-
mente llevada al cine por su marido Fritz Lang, en donde la masa obrera de una sociedad su-
perindustrializada es manipulada por un lder androide llamado Mara.
Pero sin duda alguna, fue el escritor americano de origen ruso Isaac Asimov (1920-
1992) el mximo impulsor de la palabra robot. Se le atribuye a Asimov tambin la creacin
del trmino robotics (robtica), utilizada por primera vez en una historia corta titulada Ru-
naround, publicada en 1942. Sin lugar a duda, Asimov desde su obra literaria, ha contribuido
decisivamente a la divulgacin y difusin de la robtica.
En octubre de 1942 public en la revista Galaxy Science Fiction una historia titulada The
Caves of Steel [ASIMOV-54] en la que por primera vez enunci sus tres leyes de la robtica 1.

1. Un robot no puede perjudicar a un ser humano, ni con su inaccin permitir que un ser
humano sufra dao.
2. Un robot ha de obedecer las rdenes recibidas de un ser humano, excepto si tales r-
denes entran en conflicto con la primera ley.
3. Un robot debe proteger su propia existencia mientras tal proteccin no entre en con-
flicto con la primera o segunda ley.

1.2. ORIGEN Y DESARROLLO DE LA ROBTICA


Los primeros dispositivos que responden al que hoy se conoce como robot, no adoptaron ini-
cialmente esta denominacin. Tras los primeros autmatas descritos en el apartado anterior,
casi todos de aspecto humano, los progenitores ms directos de los robots fueron los mani-
puladores teleoperados (Figura 1.5). En 1948 R. C. Goertz del Argonne National Labora-
tory desarroll, con el objetivo de manejar elementos radioactivos sin riesgo para el operador,
el primer sistema de telemanipulacin. ste consista en un dispositivo mecnico maestro-es-
clavo. El manipulador maestro, situado en la zona segura, era movido directamente por el
operador, mientras que el esclavo, situado en contacto con los elementos radioactivos y uni-
do mecnicamente al maestro, reproduca fielmente los movimientos de ste. El operador ade-
ms de poder observar a travs de un grueso cristal el resultado de sus acciones, senta a tra-
vs del dispositivo maestro las fuerzas que el esclavo ejerca sobre el entorno.
Aos ms tarde, en 1954, Goertz hizo uso de la tecnologa electrnica y del servocontrol
sustituyendo la transmisin mecnica por otra elctrica y desarrollando as el primer sistema
de telemanipulacin con servocontrol bilateral. Junto a la industria nuclear, a lo largo de los
aos sesenta la industria submarina comenz a interesarse por el uso de los telemanipulado-
res. A este inters se sum la industria espacial en los aos setenta.
La sustitucin del operador por un programa de ordenador que controlase los movi-
mientos del manipulador dio paso al concepto de robot, espoleado por la necesidades de au-
tomatizacin de las cadenas de fabricacin.

1
En la novela Robots e Imperio, publicada en 1985, Asimov incorpor una cuarta ley, conocida como ley
cero: un robot no puede lastimar a la humanidad o, por falta de accin, permitir que la humanidad sufra dao.
Esta ley, de mayor prioridad que la primera (que debe ser modificada en tal sentido), antepone el bien comu-
nitario al individual.
CAPTULO 1. INTRODUCCIN 9

Figura 1.5. Sistema de telemanipulacin bilateral.

La primera patente de un dispositivo robtico fue solicitada en marzo de 1954 por el in-
ventor britnico C. W. Kenward. Dicha patente fue emitida en el Reino Unido en 1957 con el
nmero 781.465. Sin embargo, fue George C. Devol, ingeniero norteamericano, inventor y
autor de varias patentes, el que estableci las bases del robot industrial moderno.
En 1954 Devol concibi la idea de un dispositivo de transferencia de artculos pro-
gramada que se patent en Estados Unidos en 1961 con el nmero 2.988.237. En 1956
pone esta idea en conocimiento de Joseph F. Engelberger (1925- ), vido lector de
Asimov y director de ingeniera de la divisin aeroespacial de la empresa Manning Max-
well y Moore en Stanford, Conneticut. Juntos, Devol y Engelberger comienzan a trabajar
en la utilizacin industrial de sus mquinas, fundando la Consolidated Controls Corpo-
ration, que ms tarde se convierte en Unimation (Universal Automation). En 1961 insta-
laron su primera mquina Unimate (Mquina de Transferencia Universal) en la fbrica de
General Motors de Trenton, Nueva Jersey, en una aplicacin de fundicin por inyeccin
(Figura 1.6). Otras grandes empresas, como la AMF, emprendieron la construccin de m-
quinas similares (Versatran, 1960). Ms tarde, y por motivos comerciales, se empez a de-
nominar robots a estas mquinas destinadas a transferir piezas de manera verstil o
universal, a pesar de que su aspecto no era el humanoide de los robots de la literatura o
del cine. Este afortunado cambio de nombre, favoreci notablemente la difusin y acep-
tacin de los robots por parte de la industria, proyectando una imagen de modernismo y
avance tecnolgico.
En 1968 J. F. Engelberger visit Japn y poco ms tarde se firmaron acuerdos con Ka-
wasaki para la construccin de robots tipo Unimate. El crecimiento de la robtica en Japn
aventaj en breve a los Estados Unidos gracias a Nissan, que form la primera asociacin ro-
btica del mundo, la Asociacin de Robtica Industrial de Japn (JIRA) en 1972. Dos aos
ms tarde se form el Instituto de Robtica de Amrica (RIA), que en 1984 cambi su
nombre por el de Asociacin de Industrias Robticas, manteniendo las mismas siglas (RIA).
10 FUNDAMENTOS DE ROBTICA

Figura 1.6. Joseph Engelberger con uno de los primeros Unimate.

En los aos finales de la dcada de los sesenta y principios de la dcada de los setenta se po-
nen las bases de la investigacin en robtica en las universidades. Se crean departamentos de in-
vestigacin en inteligencia artificial, y se disean los primeros robots mviles con un cierto gra-
do de autonoma, como Shakey por el Stanford Research Institute o el Stanford Cart de la
Universidad de Stanford. Tambin se ponen las bases de los diseos actuales de brazos mani-
puladores, principalmente por Victor Scheinman, con el diseo del brazo de Stanford. Este robot
fue el primer manipulador controlado por computador y con accionamiento elctrico, y que lle-
vara ms tarde al diseo, fabricacin y comercializacin del robot PUMA (Figura 1.7), uno de

Figura 1.7. Robot PUMA.


CAPTULO 1. INTRODUCCIN 11

los robots industriales ms famosos y utilizados tanto en ambientes industriales como de in-
vestigacin.
Por su parte Europa, tuvo un despertar ms tardo, aunque no menos relevante. En 1973 la
firma sueca ASEA construy el primer robot con accionamiento totalmente elctrico, el robot
IRb6 (Figura 1.8), seguido un ao ms tarde del IRb60. Posteriormente, ya como ABB, se
convertira en una de las empresas ms importantes del mundo en la fabricacin de robots in-
dustriales, y Suecia uno de los pases con ms robots per capita. En este sentido, en 1980 se
fund la Federacin Internacional de Robtica con sede en Estocolmo, Suecia. La empresa
alemana KUKA tambin fue pionera en la fabricacin e implantacin de robots industriales,
siendo una de las primeras en instalar una lnea de soldadura equipada nicamente con robots.
La configuracin de los primeros robots responda a las denominadas configuraciones esfrica
y antropomrfica, de uso especialmente vlido para la manipulacin. En 1982, el profesor Makino
de la Universidad Yamanashi de Japn, desarrolla en concepto de robot SCARA (Selective
Compliance Assembly Robot Arm) que busca un robot con un nmero reducido de grados de li-
bertad (3 o 4), un coste limitado y una configuracin orientada al ensamblado de piezas.
Otro hito tecnolgico importante en el diseo de robots es el accionamiento directo, de-
sarrollado en la Universidad Carnegie Mellon en 1981. Los motores se acoplan directamen-
te a las articulaciones sin necesidad de reductores, lo que permite movimientos ms rpidos
y precisos.
Adems de los entornos de fabricacin y de investigacin, en la dcada de los setenta los
robots comenzaron a utilizarse de forma prctica en otros entornos, como el espacial o el sub-
marino, haciendo uso principalmente de tecnologas de teleoperacin. Cabe destacar los
vehculos submarinos desarrollados por la Marina Norteamericana a principios de los sesenta
y las sondas a la luna y Marte a finales de los sesenta y principios de los setenta, culminando
en 1981 en el brazo robtico a bordo de los transbordadores espaciales estadounidenses.

Figura 1.8. Robot Irb6 de la firma sueca ASEA. (Cortesa de ABB Robtica).
12 FUNDAMENTOS DE ROBTICA

Figura 1.9. Robot humanoide ASIMO de Honda. (Cortesa de Honda).

Por otro lado, uno de los primeros robots humanoides modernos fue creado por el profe-
sor Ichiro Kato de la Universidad de Waseda, denominado Wasubot, presentado en la Expo-
sicin Universal de Tokio de 1985. El Wasubot, aunque no poda caminar, haba sido dise-
ado con una forma cercana a la humana lo que le permita leer partituras y tocar el piano con
dos manos en las teclas y un pie en el pedal. Realiz diversas demostraciones tocando msi-
ca de Bach acompaado por la Orquesta Sinfnica de la NHK.
En los ltimos aos, una nueva fiebre ha aparecido en Japn en relacin con los robots hu-
manoides. Comenz a finales de 1996, cuando la empresa Honda present el P-2, un robot
bpedo con la apariencia de un hombre embutido en un traje espacial. Producto de 10
aos de investigacin y de ms de 100 millones de dlares, el P-2 era capaz de andar por
s solo y de realizar algunas tareas bsicas, como subir escaleras. Una nueva versin me-
jorada en peso y autonoma, denominada P-3, apareci a finales del ao siguiente. En el
ao 2002, Honda sac una versin evolucionada de estos dos robots humanoides deno-
minada Asimo (Figura 1.9), aunque en la actualidad an no se conocen aplicaciones
prcticas del mismo.
Sin embargo, el pionero de los robots para entretenimiento basado en formas animales,
fue Sony con su robot mascota con forma de perro llamado Aibo (Figura 1.10). Dotado de
una cierta capacidad de aprendizaje y comportamiento autnomo, Aibo puede responder a es-
tmulos externos de su dueo y de actuar consecuentemente. Fue desarrollado por el labora-
torio D-21 de Sony y mostrado al pblico en junio de 1999, vendindose 5.000 ejemplares
por internet en tan slo cuatro das.
Por ltimo, unos de los hitos ms recientes de la robtica es su introduccin masiva en 2002 en
los hogares a travs de una aspiradora autnoma, denominada Roomba, y desarrollada por la em-
presa iRobot.
La Tabla 1.2 muestra los principales hitos en la historia reciente de la robtica, en la que
se han incluido tambin algunos eventos relevantes de disciplinas asociadas, como puede ser
el control, la informtica o la automatizacin.
CAPTULO 1. INTRODUCCIN 13

Figura 1.10. Robot Aibo de Sony. (Cortesa de Sony).

La evolucin de los robots industriales desde sus primeros balbuceos ha sido vertiginosa.
En poco ms de 40 aos las investigaciones y desarrollos sobre robtica industrial han per-
mitido que los robots tomen posiciones en casi todas las reas productivas y tipos de industria.
En pequeas o grandes fbricas, los robots pueden sustituir al hombre en aquellas tareas re-
petitivas y hostiles, adaptndose inmediatamente a los cambios de produccin solicitados por
la demanda variable.
Los futuros desarrollos de la robtica apuntan a aumentar la movilidad, destreza y au-
tonoma de sus acciones, as como a ser capaces de mantener una elevada interaccin con
los humanos. La mayor parte de los robots actuales tienen base esttica, y se utilizan en
aplicaciones industriales tales como ensamblado, soldadura, alimentacin de mquinas
herramientas, etc. Sin embargo, existen otro tipo de aplicaciones que han hecho evolucionar
en gran medida tanto la concepcin de los robots como su propia morfologa. Entre estos
robots dedicados a aplicaciones no industriales destacan los robots espaciales (brazos para
lanzamiento y recuperacin de satlites, vehculos de exploracin lunar, robots para cons-
truccin y mantenimiento de hardware en el espacio); robots para aplicaciones submarinas
y subterrneas (exploracin submarina, instalacin y mantenimiento de cables telefnicos
submarinos, limpieza e inspeccin de tuberas y drenajes subterrneos, inspeccin de sis-
temas de refrigeracin de centrales nucleares); robots militares (desactivacin de bombas,
robots centinelas experimentales dedicados a patrullar reas crticas); robots de vigilancia
y rescate (robots bomberos para patrullar fbricas, robots areos); aplicaciones mdicas
(robots cirujanos, prtesis robotizadas, sistemas de ayuda a discapacitados); robots para
aplicaciones agrcolas (sembrado y recogida de cosechas, robot para esquilar ovejas); y un
largo etctera.
Puede que en un futuro los robots industriales se parezcan a aquellos robots de las no-
velas de Capek, Harbou o Asimov que dieron nombre a los actuales herederos del Uni-
mate.
14 FUNDAMENTOS DE ROBTICA

Tabla 1.2. Principales hitos en la historia de la robtica

Fecha Acontencimiento

1911 Frederick W. Taylor publica Fundamentals of Scientific Management.


1912 Se utiliza en un aeroplano el primer piloto automtico.
1913 La compaa Ford fabrica alrededor de 1.000 vehculos diarios utilizando cadenas de produccin.
1923 La palabra robot es introducida por Karel Capek en su obra R.U.R.
1936 Alan Turing introduce el concepto de un computador denominado Mquina de Turing.
1939-45 Desarrollo de los fundamentos del servocontrol, principalmente en el laboratorio de servomeca-
nismos del MIT.
1946 Von Neumann presenta los fundamentos de los computadores.
George Devol patenta un dispositivo basado en el almacenamiento magntico para poder repro-
ducir los movimiento de una mquina.
El computador ENAC entra en funcionamiento.
La Ford Motor Company crea un Departamento de Automatizacin.
1947 Desarrollo del transitor.
1948 Norbert Wiener publica su trabajo Cybernetics.
Trabajos de Shannon sobre los fundamentos de la informacin y la comunicacin.
Primer sistema de telemanipulacin maestro-esclavo mecnico por Ray Goertz en el Argonne Na-
tional Laboratory.
Desarrollo de la primera mquina herramienta con control numrico por la Parsons Company, con
la ayuda de Snyder Corp., IBM y el MIT.
W. Grey Walter construye unas pequeas tortugas Elmer y Elisa a las que dota con una cierto
comportamiento autnomo en busca de fuentes de luz.
1950 Alan Turing publica su trabajo Computing Machinery and Intelligence en el que propone el fa-
moso test de Turing para saber si una mquina piensa por s misma.
1951 Presentacin de UNIVAC, la primera computadora comercial.
1952 John Diebold publica su trabajo Automation. The Advent of the Automatic Factory.
1954 Cyril W. Kenward solicita la patente de un dispositivo robtico tipo puente gra.
George Devol solicita la patente del Unimate, abreviatura para Universal Automation.
Goerzt desarrolla el primer manipulador maestro-esclavo con servocontrol elctrico en ambos ma-
nipuladores. Se denomin E1 y se trataba de un sistema bilateral.
1956 Se lleva a cabo el primer congreso de Inteligencia Artificial en Dartmouth College.
G. Devol y J.F. Engelberger se encuentran en una fiesta en Connecticut.
Se disea y prueba el primer micromanipulador para ciruga ocular.
1958 Desarrollo del primer circuito integrado.
Construccin de HandyMan por Ralph Mosher en General Electric, consistente en un sistema de
teleoperacin con dos manipuladores de diez grados de libertad cada uno y con dispositivos de
control de tipo exoesqueleto.
Se pone en funcionamiento la primera mquina herramienta con control numrico (La Milwau-
kee-Matic II Machining Center) capaz de intercambiar herramientas de forma automtica.
Se comienzan los trabajos para la construccin del primer Unimate.
1960 La compaa American Machine Foundry (AMF) produce el primer robot de configuracin ci-
lndrica, el Versatran.
1961 Se instala el primer Unimate en una planta de General Motors en Trenton.
1963 Desarrollo del Rancho Arm desarrollado en el Hospital Rancho Los Amigos Hospital con el ob-
jetivo de servir como brazo sustituto para personas discapacitadas.
Primeros robots submarinos desarrollados por la Marina Norteamericana para la recogida de
bombas.
1964 Se crean los primeros laboratorios de inteligencia artificial en el MIT, Stanford y la Universidad
de Edimburgo.
1966 Wiezenburn presenta su programa ELIZA, capaz de manejar un lenguaje rudimentario y mante-
ner una conversacin sencilla.
Ole Molaug disea y construye en Noruega el primer robot para pintura
CAPTULO 1. INTRODUCCIN 15

Tabla 1.2. Principales hitos en la historia de la robtica (Continuacin)

Fecha Acontencimiento

1967 La sonda Surveyor-3 se posa sobre la Luna y utiliza un brazo robotizado para la toma de muestras.
General Electric construye un robot cuadrpedo para llevar personas.
1968 El Stanford Research Institute construye Shakey, un robot mvil con cierta autonoma de movi-
miento basado en sensores de localizacin.
Engelberger cede a Kawasaki los derechos de fabricacin del Unimate en Japn.
1969 Victor Scheinman disea el Brazo de Stanford, con accionamiento elctrico y controlado por
computador.
1970 Se disea el Stanford Cart, robot mvil capaz de seguir lneas en el suelo controlado remotamente
va radio.
Se celebra el primer Simposium Nacional Americano sobre robots industriales.
La empresa alemana KUKA instala la primera lnea de soldadura equipada con robots industriales.
La URSS teleopera desde tierra el robot mvil Lunakhod sobre la Luna.
1971 Se funda la Japanese Industrial Robot Association (JIRA).
1972 Shigeo Hiroshe disea un robot que imita el mecanismo de desplazamiento de las serpientes.
1973 La empresa ASEA comercializa el primer robot industrial con accionamiento elctrico en todos sus ejes.
1974 Cincinnati Milacron produce el robot The Tomorow Tool (T3).
Se funda el Robot Institute of America (RIA), ms tarde rebautizado como Robotic Industries As-
sociation.
1976 Los brazos a bordo de las sondas Viking-1 y Viking-2 son teleoperadas desde tierra para tomar
muestras de la superficie de Marte.
1978 Se produce y comercializa el robot PUMA (Programmable Universal Machine for Assembly), ba-
sado en los diseos de Victor Scheinman.
1979 Sankyo and IBM comercializan el primer robot SCARA (Selective Compliance Assembly Robot
Arm) desarrollado por el profesor Makino de la Universidad Yamanashi de Japn.
Se establece el Instituto de Robtica en la Universidad Carnegie Mellon.
1980 Fundacin de la Federacin Internacional de Robtica.
1981 Utilizacin de el Sistema de Manipulacin Remota (SRMS), a bordo de los transbordadores es-
paciales estadounidenses.
Desarrollo en la Universidad Carnegie Mellon de los primeros robots con accionamiento directo.
1985 Presentacin de uno de los primeros robots humanoides desarrollado por el profesor Ichiro
Kato de la Universidad de Waseda, capaz de tocar el piano.
1993 Teleoperacin desde la Tierra de un robot manipulador a bordo del transbordador espacial nor-
teamericano dentro del proyecto ROTEX.
1995 Primera operacin quirrgica sobre un humano utilizando un robot.
1996 Presentacin por Honda del robot humanoide P-2, capaz de andar por s solo y de realizar algu-
nas tareas bsicas, como subir escaleras.
1997 El robot mvil Sojourner recorre ms de 100 m sobre la superficie de Marte teleoperado desde la tierra.
1999 Experimento de captura de un satlite por otro satlite con un brazo robtico a bordo, dentro del
proyecto ETS-7 de la NASDA.
Sony saca al mercado un robot mascota en forma de perro llamado Aibo.
2002 Se comercializa de manera masiva la aspiradora robtica denominada Roomba, desarrollada por
la empresa iRobot.
Presentacin de Asimo por Honda, una versin evolucionada de los robots humanoides P-2 y P-3.
16 FUNDAMENTOS DE ROBTICA

1.3. DEFINICIN DEL ROBOT


El gran dinamismo que los avances en robtica y disciplinas afines tienen en nuestros das
origina que el concepto de robot deba ser revisado y ampliado con frecuencia. La relectura de
los primeros textos literarios de ciencia ficcin que tratan la robtica, presentan casas robo-
tizadas [BRADBURY-50], automviles robots [ASIMOV-53] o robots dotados de una alta capa-
cidad de interaccin con los humanos [ASIMOV-54] . Todos ellos han dejado de ser hoy en da
quimeras de la ciencia-ficcin para ser realidades tecnolgicas que entran dentro de la disci-
plina de la robtica.
Es por ello, complicado acotar lo que debe ser entendido por un robot y consecuentemente
definir este trmino con la suficiente generalidad como para cubrir el amplio campo de dis-
positivos que como tal son, hoy en da, reconocidos. En este sentido, puede resultar vlido el
revisar las definiciones, no estrictamente tcnicas, contenidas en enciclopedias, antes de dar
una definicin de robot. En la Tabla 1.3 se recogen algunas de las definiciones consideradas
por los diccionarios y enciclopedias de ms prestigio:

Tabla 1.3. Definicin de robot segn algunos diccionarios y enciclopedias

Enciclopedia Britnica
Mquina operada automticamente que sustituye el esfuerzo de los humanos, aunque no tiene por qu
tener apariencia humana o desarrollar sus actividades a la manara de los humanos.

Diccionario Merrian Webster


Mquina que se asemeja a los humanos y desarrolla como ellos tareas complejas como andar o hablar.
Un dispositivo que desarrolla de manera automtica tareas complicadas, a menudo de manera repetitiva
Un mecanismo guiado por control automtico.

Diccionario de la Real Academia Espaola


Mquina o ingenio electrnico programable, capaz de manipular objetos y realizar operaciones antes re-
servadas slo a las personas.

En el estado tecnolgico actual de la robtica, incluso estas definiciones generalistas resultan


insuficientes para abarcar el conjunto de sistemas que son entendidos hoy en da por robot.
Por este motivo en la actualidad es frecuente aadir un adjetivo al trmino robot, que per-
mite acotar con mayor detalle sus caractersticas o campo de aplicacin. A modo de ejemplo,
se podran citar los robots manipuladores, robots humanoides, robots domsticos, robots a-
reos y submarinos, robots caminantes, tele-robots, etc.
La Tabla 1.4 muestra los tipos de robots incluidos en las lneas de actividad investigado-
ra en robtica que considera el Grupo de Robtica (GtROb) del Comit Espaol de Auto-
mtica (ww.cea-ifac.es). Esta lista, sin ser exhaustiva, muestra la gran variedad de tipos de ro-
bots considerados hoy en da.
Pero no siempre ha existido esta gran variedad de sistemas robticos. Hasta finales de los
aos ochenta, y dejando de lado la ciencia ficcin, los nicos robots reales, fuera del entorno
de laboratorio, eran aqullos dedicados a la manufactura de productos en talleres y lneas de
fabricacin. Estos robots, instalados en la industria manufacturera, estn hoy en da frme-
mente asentados, con una tecnologa bien desarrollada y un amplio mercado de fabricantes.
El trabajo que este tipo de robot realiza es bsicamente el de manipular piezas o herramientas
CAPTULO 1. INTRODUCCIN 17

Tabla 1.4. Tipos de robots considerados por el GtRob del Comit Espaol
de Automtica CEA (www.cea-ifac.es)

Robots areos
Robots asistenciales
Robots autnomos
Robots caminantes
Robots celulares
Robots cooperantes
Robots de inspeccin
Robots de educacin
Robots de entretenimiento
Robots escaladores
Robots espaciales
Robots de exteriores
Robots de servicio
Robots flexibles
Robots humanoides
Robots manipuladores
Robots marinos
Robots bio-mdicos
Robots mviles
Robots paralelos
Robots personales
Robots submarinos
Sistemas multi robots
Tele robots
Manipuladores mviles
Mini y Micro robots

en entorno industrial, por lo que se le denomina robot industrial manipulador. Sobre l ha


sido posible establecer una precisa definicin y clasificacin segn diferentes criterios, como
se ver en el siguiente apartado.
Sobre el resto de la tipologa de robots existentes hoy en da, no se dan an las condicio-
nes para establecer estas definiciones y clasificaciones de manera estable, si bien de manera
tentativa, pueden encontrarse algunas propuestas.
Se van a presentar a continuacin las definiciones estandarizadas del robot industrial ma-
nipulador, as como diferentes criterios para su clasificacin. Por otra parte y en la medida de
lo posible, se definirn y clasificarn algunos de los otros tipos de robots.

1.3.1. Definicin de Robot Industrial Manipulador


Los primeros intentos de establecer una definicin formal de robot, surgen en el ao 1979 por par-
te de la RIA (Robot Institute of America, actualmente Robotic Industries Association), segn la cual:

Robot (RIA): Un robot industrial es un manipulador multifuncional reprogramable, capaz


de mover materias, piezas, herramientas o dispositivos especiales, segn trayectorias va-
riables, programadas para realizar tareas diversas.

Esta temprana definicin, matizada y acotada, ha sido la referencia para las sucesivas de-
finiciones que se han ido dando al robot hasta llegar a la actual, establecida por la Asociacin
18 FUNDAMENTOS DE ROBTICA

Internacional de Estndares (ISO). sta en su norma ISO 8373 (en Espaa corresponde a la
UNE EN ISO 8373:1998. Robots Manipuladores Industriales. Vocabulario), define al
Robot manipulador industrial como (vase ANEXO I):

Robot manipulador industrial (ISO): Manipulador de 3 o ms ejes, con control auto-


mtico, reprogramable, multiaplicacin, mvil o no, destinado a ser utilizado en aplicaciones
de automatizacin industrial. Incluye al manipulador (sistema mecnico y accionadores) y al
sistema de control (software y hardware de control y potencia).

Ambas definiciones coinciden en indicar que el robot debe ser reprogramable y multi-
funcional o multiaplicacin, pero mientras que en la definicin original de RIA asume que
todo robot industrial debe ser manipulador, no cuestionando la existencia de robots que no lo
sean, la definicin de ISO acota su alcance slo a los robots manipuladores, mostrando as
que considera la existencia de otros tipos de robots, no incluidos en la definicin, que no es-
tn destinados a manipular o incluso que no tienen esta capacidad.
Por otro lado, la definicin ISO exige que el robot tenga al menos 3 grados de libertad (el
concepto de grado de libertad queda recogido en la propia norma, vase ANEXO I, y se in-
troduce en el Captulo 2) dejando fuera del concepto de robot aquellos dispositivos cons-
tructivamente ms simples y de capacidades ms limitadas.
Si bien en ninguna de las dos definiciones aparece de manera directa indicacin alguna
que limite la definicin de robot a aquellos manipuladores que tengan sus ejes servocontro-
lados, la definicin ISO condiciona indirectamente la definicin de robot a esta caractersti-
ca, al indicar que ste debe ser reprogramable. Efectivamente, en la propia norma, se define
el concepto de reprogramable como:

Reprogramable (ISO): Aqullos en los que los movimientos programados o las funciones
auxiliares pueden cambiarse sin modificacin fsica.

Modificacin fsica (ISO): Modificacin de la estructura mecnica o del sistema de


control (se excluyen cambios en los soportes de memoria: Disco, cinta, ROM, etc.).

La capacidad de poder ser reprogramado sin modificaciones fsicas para alcanzar dife-
rentes posiciones precisa del servocontrol que gobernar los movimientos de modo que stos
se detengan cuando la posicin alcanzada coincida con la de consigna.
De sta manera quedaran excluidos de la definicin de robot aquellos manipuladores con
control de tipo todo-nada, en los que slo pueden alcanzarse posiciones discretas. Estos
sistemas corresponden en la prctica a manipuladores de tipo neumtico, controlados me-
diante sistemas lgicos (PLC por ejemplo) que tienen un nmero discreto y pequeo de po-
siciones estables y en los que los actuadores se detienen en posiciones fijas. La modificacin
de estas posiciones implica la alteracin de los recorridos de los actuadores, mediante topes
mecnicos o incluso el rediseo o la alteracin estructural (Figura 1.11).
Por tanto, de acuerdo a la definicin ISO un robot debe tener al menos 3 ejes servocon-
trolados, es decir, con sistemas de posicionamiento tales que la seal de mando al actuador
considere la posicin de referencia y la posicin real que ste tiene en cada momento (reali-
mentacin).
CAPTULO 1. INTRODUCCIN 19

Figura 1.11. Manipulador secuencial neumtico. (Cortesa FESTO).

1.3.2. Definicin de otros tipos de robots


Para distinguir a los robots cuya actividad consiste en fabricar piezas o bienes mediante pro-
cesos de manufactura de aqullos cuya tarea no es la de producir estos bienes, se utiliza en la
actualidad de manera genrica el trmino de robots de servicio. La Federacin Internacional
de Robtica, define de manera provisional a stos como:

Robots de servicio (IFR): Un robot que opera de manera semi o totalmente autnoma
para realizar servicios tiles a los humanos y equipos, excluidas las operaciones de manu-
factura.

La definicin anterior se complementa a rengln seguido por la IFR con las siguientes
aclaraciones:

Los robots manipuladores industriales, pueden entrar tambin en la categora de robots


de servicio cuando estn dedicados a tareas no manufactureras. Los robots de servicio pue-
den estar equipados o no con un brazo manipulador como los industriales. A menudo, pero
no siempre, son robots mviles. En algunos casos, los robots de servicio consisten en una pla-
taforma mvil con uno o varios brazos que son controlados de la misma manera que los ro-
bots industriales.

Las aclaraciones ponen de manifiesto la dificultad existente en definir de manera rigu-


rosa un robot de servicio. En la prctica el especialista en robtica, debe usar su propio cri-
terio para decidir si un dispositivo determinado es o no un robot y si lo es de servicio. En-
trando en stos los dedicados a cuidados mdicos, educacin, domsticos, uso en oficinas,
intervencin en ambientes peligrosos, aplicaciones espaciales, aplicaciones submarinas, etc.
Diversas aplicaciones de los robots de servicio son examinadas con cierto detalle en el Ca-
ptulo 10.
20 FUNDAMENTOS DE ROBTICA

Actualmente, dentro de los robots de servicio se incluyen los robots domsticos o perso-
nales. stos podran definirse como:

Robot domstico: Aquel robot destinado a ser usado por humanos sin formacin tcnica
especfica, al objeto de servirle como ayudante o colaborador en sus quehaceres o activi-
dades diarias.

De manera similar a como ocurri con el ordenador personal, es admisible presuponer que
el nmero de unidades y la variedad de este tipo de robots crezca muy por encima de cual-
quier otro. De hecho ya en el ao 2003, el nmero de robots aspiradoras instalados (un tipo
particular de robot domstico que aparecieron en el mercado en el ao 2002) era de 570.000,
siendo 800.772 el nmero de robots industriales instalados en la misma fecha.
Es por ello que la divisin actual entre robot industrial y robot de servicio deber ser modifica-
da en el futuro incorporando los robots personales como un tipo independiente de los anteriores.
La definicin de robot de servicio del IFR y las aclaraciones posteriores consideran por un
lado la posibilidad de que sea un robot mvil y de que el robot no sea totalmente autnomo.
Es oportuno por ello definir robot mvil y robot no autnomo o tele-robot.
De acuerdo a la norma ISO 8373 se define robot mvil como:

Robot mvil (ISO): Robot que contiene todo lo necesario para su pilotaje y movimiento
(potencia, control y sistema de navegacin).

En ocasiones se hace referencia a los robots mviles como AGV, siglas que proceden del
trmino Autonomous Guided Vehicle o vehculo guiado autnomamente. De nuevo, la defi-
nicin es insuficiente para abarcar la realidad, pues dentro de los robots mviles se pueden
considerar los robots mviles terrestres (denominados UGV Unmanned Ground Vehicles) los
robots mviles areos (conocidos como UAV Unmanned Aerial Vehicles) y los robots mviles
submarinos (identificados como AUV Autonomous Underwater Vehicles), siendo todos ellos
en ocasiones, a pesar del nombre, semi-autnomos.
Debe entenderse, adems, que un robot mvil no tiene porqu ser necesariamente un ro-
bot de servicio, existiendo de hecho numerosos robots mviles (en su mayor parte con reco-
rridos limitados a unos caminos prefijados) trabajando en la industria manufacturera, en
particular en tareas de almacenaje y logstica.
El incremento de posibilidades con que la movilidad dota a un robot y las dificultades es-
peciales que surgen al abordar esta capacidad, han originado que los robots mviles hayan
sido y sean motivo de inters de numerosas investigaciones. Este texto no trata los robots m-
viles, pudiendo el lector interesado encontrar informacin adecuada en [OLLERO-01]
Las dificultades derivadas de la falta de estructuracin del entorno y de la imposibilidad
de predecir las situaciones en las que los robots de servicio, sean mviles o estacionarios, de-
ben operar, hace que en muchas ocasiones se deba recurrir a modos de funcionamiento
semi-autnomos o incluso totalmente dependientes de las rdenes del operador. Este tipo de
robots gobernados a distancia por un operador se conocen como tele-robots o robots teleo-
perados. Sus caractersticas y aplicaciones son motivo especfico del Captulo 11.
Una temprana definicin, de los robots teleoperados es la dada por la NASA (1978) y re-
cogida sin apenas modificaciones en el Handbook of Industrial Robotics [NOF-99]:

Robots teleoperados (NASA): Dispositivos robticos con brazos manipuladores y senso-


res y cierto grado de movilidad, controlados remotamente por un operador humano de ma-
nera directa o a travs de un ordenador.
CAPTULO 1. INTRODUCCIN 21

Esta definicin, igual que la dada en su da por el RIA para los robots, queda limitada a
los robots manipuladores, excluyendo a todos los otros que, sin tener necesariamente la ca-
pacidad de manipulacin, pueden ser operados a distancia. As, en la actualidad, se debe en-
tender por telerobot:

Telerobot: cualquier robot cuya tarea pueda ser monitorizada y reprogramada a distan-
cia por el humano.

O bien la dado por la Norma ISO.

Robot Teleoperado (ISO): Un robot que puede ser controlado remotamente por un ope-
rador humano, extendiendo las capacidades sensoriales y motoras de ste a localizaciones
remotas.

Ambas definiciones en la que se deja abierta la posibilidad de teleoperar cualquier tipo de


robot.
Un ltimo concepto derivado de la telerobtica son los denomindos Cobots. Los Cobots,
ideados por Peshkin y Colgate ([PESHKIN-99], [COLGATE-99]) el ao 1996 se definen como:

Cobot: Dispositivo robtico que manipula objetos en colaboracin fsica directa con l.

Los Cobots, ideados para la colaboracin estrecha entre humano y robot, se utilizan en
tareas donde es preciso guiar al operador por caminos sometidos a restricciones (superficies
o restricciones virtuales) o donde ste debe mover cargas notables. El cobot, limita las tra-
yectorias que puede hacer el humano o soporta la carga, mientras ste dirige el movi-
miento.
Los telerobots con capacidad hptica (vase Captulo 11) pueden tambin hacer esta
funcin de imponer restricciones a los movimientos del operario para guiarle o amplificar su
fuerza. Pero mientras que los telerobots utilizan servos de posicin y fuerza para este objeti-
vo, los Cobots son dispositivos pasivos y por ello intrnsecamente seguros.
Otras definiciones de inters relacionadas con la robots son las referentes a los tiles que
puede portar el robot en su extremo. La UNE EN ISO 8373:1998 define as:

Elemento terminal de robot (ISO): Objeto unido a la interfase mecnica dispuesta en el


extremo del robot, para dotarle a ste de la funcionalidad necesaria para realizar su tarea. Se
incluyen pinzas, herramientas y dispositivos para facilitar la conexin con otros elementos.

Pinza (ISO): Elemento Terminal concebido para coger y sujetar.

1.4. CLASIFICACIN DE LOS ROBOTS


Un robot puede ser clasificado atendiendo a diferentes criterios o caractersticas. Algunas de
stas sern dependientes de su propia esencia, otras de la aplicacin o tarea a que se destinan.
En los criterios para clasificar un robot que la continuacin se exponen, aparecen conceptos
cuyo desarrollo ser abordado en captulos posteriores, hacindose en este epgrafe slo
una breve resea a su significado.
22 FUNDAMENTOS DE ROBTICA

1.4.1. Clasificacin atendiendo a la Generacin


La generacin de un robot hace referencia al momento tecnolgico en que ste aparece. De
este modo se puede considerar que se pasa de una generacin a la siguiente cuando se da un
hito que supone un avance significativo en las capacidades de los robots.
Aun siendo sta una divisin subjetiva, es interesante, pues permite hacerse una idea de
cun avanzado es un robot. La Tabla 1.5 recoge una posible clasificacin en generaciones.
Cronolgicamente podra decirse que la primera generacin se extiende desde el comienzo de
la robtica hasta los aos ochenta. La segunda generacin se desarrolla en los aos ochenta y
es la que mayoritariamente se puede encontrar hoy en da en las industrias. La tercera gene-
racin est desarrollndose en estos das, siendo, por tanto, objeto de un futuro cercano.

Tabla 1.5. Clasificacin de los Robots segn generaciones

1.a Generacin Repite la tarea programada secuencialmente.


No toma en cuenta las posibles alteraciones de su entorno.
2.a Generacin Adquiere informacin limitada de su entorno y acta en consecuencia.
Puede localizar, clasificar (visin) y detectar esfuerzos y adaptar sus movimientos en
consecuencia.
3.a Generacin Su programacin se realiza mediante el empleo de un lenguaje natural.
Posee capacidad para la planificacin automtica de tareas.

La Tabla 1.6 recoge una clasificacin propuesta por Knasel en el ao 1986 [KNASEL-86].
A pesar de su antigedad los aspectos recogidos en ella no han perdido validez, permitiendo
tener una visin del pasado, presente y futuro de la robtica.

Tabla 1.6. Caractersticas de las generaciones de los robots [Knasel-86]

Grado de Usos ms
Generacin Nombre Tipo de control
movilidad frecuentes

1.a (1982) Pick & place Fines de carrera, Ninguno Manipulacin,


aprendizaje servicio de mquinas

2.a (1984) Servo Servocontrol, Desplazamiento Soldadura,


trayectoria continua, por va pintura
progr. condicional

3.a (1989) Ensamblado Servos de precisin, AGV Ensamblado


visin, tacto, Guiado por va Desbarbado
prog. off-line

4.a (2000) Mvil Sensores inteligentes Patas Construccin


Ruedas Mantenimiento

5.a (2010) Especiales Controlados con tcnicas


de IA Andante Uso militar
Saltarn Uso espacial
CAPTULO 1. INTRODUCCIN 23

1.4.2. Clasificacin atendiendo al rea de Aplicacin


Desde el punto de vista del uso que se da al robot es posible clasificarlos bien en base al sec-
tor econmico en el que se encuentran trabajando o bien en base al tipo de aplicacin o tarea
que desarrollan, independientemente de en qu sector econmico trabajen.
Las actividades econmicas pueden ser clasificadas de acuerdo al estndar internacional
de clasificacin de sectores de las actividades econmicas (ISIC). En [IFR-04] se establece
esta clasificacin, usndose para cuantificar el parque de robots instalados en el mundo.
Las aplicaciones a las que se dedican los robots industriales quedan tambin bien defini-
da por la IFR. Esta clasificacin puede verse con detalle en el Captulo 10. Aqu se recoge
sintetizada en la Tabla 1.7.

Tabla 1.7. Clasificacin de las aplicaciones de los robots industrial


manipuladores, segn IFR [IFR-04]

000 Sin especificar.


110 Manipulacin en fundicin.
130 Manipulacin en moldeo de plsticos.
140 Manipulacin en tratamientos trmicos.
150 Manipulacin en la forja y estampacin.
160 Soldadura.
170 Aplicacin de materiales.
180 Mecanizacin.
190 Otros procesos.
200 Montaje.
210 Paletizacin y empaquetado.
220 Medicin, inspeccin, control de calidad.
230 Manipulacin de materiales.
240 Formacin, enseanza e investigacin.
900 Otros.

En cuanto a los robos de servicio, la IFR establece de manera poco precisa un primer cri-
terio de clasificacin segn que el servicio prestado por el robot est dirigido a los huma-
nos, a los equipos o a otras actividades. Dentro de cada una de estas alternativas se conside-
ra el grado de interaccin con el humano Tabla 1.8.

Tabla 1.8. Clasificacin de los robots de servicio por Categora y tipo


de Interaccin segn IFR [IFR-04]

510 Robots de servicios a humanos (personales, seguridad, entretenimiento, etc.).


Interactivos.
No interactivos.
Otros.
520 Robots de servicios a equipos (mantenimiento, reparacin, limpieza, etc.).
Interactivos.
No interactivos.
Otros.
530 Otros robots desarrollando funciones autnomas (vigilancia, transporte, adquisicin de datos, etc.)
y/o robots de servicio que no entran en 510 y 520.
24 FUNDAMENTOS DE ROBTICA

Bastante ms prctica es la clasificacin que la IFR hace en base al tipo de aplicacin. En sta,
se dividen las aplicaciones en Personales o Domsticas, Profesionales y en genral aplicaciones de
I+D. En cada uno de los caso se detalla la actividad a la que se dedica el robot. Esta clasificacin se
presenta con detalle en el Captulo 10, recogindose aqu (Tabla 1.9) el resumen de la misma.

Tabla 1.9. Clasificacin de los robots de servicio por reas de aplicacin segn IFR [IFR-04]

Seccin 1 ROBOTS PERSONALES Y DOMSTICOS

1-5 Robots para tareas domsticas


6-10 Robots de entretenimiento
11-14 Asistenciales, ayuda a discapacitados
15 Transporte Personal
16 Seguridad y vigilancia de la vivienda
17 Otros usos personales y domsticos

Seccin II ROBOTS DE SERVICIOS PROFESIONALES

18-23 Robots de exteriores


24-28 Limpieza profesional
29-31 Sistemas de inspeccin
32-36 Construccin y demolicin
37-40 Sistemas logsticos
41-44 Medicina
45-50 Defensa, rescate y seguridad
51 Submarinos
52 Plataformas mviles de uso general
53-55 Robots de laboratorio
56-59 Relaciones pblicas
60-61 Propsito especial
62 Humanoides
63 Robots a medida
64 Otros no especificados

Seccin III I+D EN ROBTICA

64 Percepcin
65-67 Actuacin
68 Micro y nano robots
69 Arquitecturas e integracin
70 Navegacin y control
71 Interfases con usuario y otras
72 Otras actividades de I+D no especificadas
73 Investigacin bsica

1.4.3. Clasificacin atendiendo al tipo de Actuadores


Dependiendo de cul sea el tipo de energa utilizada por los ejes principales del robot, ste
puede ser clasificado como
Robot Neumtico.
Robot Hidrulico.
Robot Elctrico.
CAPTULO 1. INTRODUCCIN 25

Figura 1.12. Sistema ROBTET para reparacin de lneas elctricas, con robots de accionamiento
hidrulico (Cortesa DISAM - Universidad Politcnica de Madrid).

Como se indica en el Captulo 2, la mayor parte de los robots actuales son de acciona-
miento elctrico, pero pueden encontrarse casos particulares de robots con accionamiento hi-
drulico o neumtico.
Los accionamientos hidrulicos en particular pueden estar aconsejados cuando se precise
disponer de una elevada relacin capacidad de carga-peso del robot o cuando se precise dis-
poner de aislamiento elctrico entre el robot y el resto del sistema Figura 11.2.

1.4.4. Clasificacin atendiendo al Nmero de Ejes


Esta caracterstica es aplicable a los robots o telerobot con cadena cinemtica (es decir, sera
aplicable a los robots manipuladores, pero no lo sera, por ejemplo, a los robots mviles). Se en-
tiende por eje cada uno de los movimientos independientes con que est dotado el robot. Puesto que
de acuerdo a la definicin ISO el robot manipulador industrial debe tener al menos 3 ejes y exten-
diendo esta condicin a los robots de servicio manipuladores, se podrn encontrar robots de cual-
quier nmero de ejes superior o igual a 3. En la prctica, la mayor parte de los robots tienen 6 ejes,
seguidos por los de 4. Los robots con ms de 6 ejes son poco frecuentes, estando justificado este
nmero para aumentar la capacidad de maniobra del robot y siendo en muchas ocasiones telerobots.

1.4.5. Clasificacin atendiendo a la Configuracin


Como ocurre en el caso anterior, esta clasificacin es slo aplicable a robots o telerobots con
cadena cinemtica. Como se ver en el Captulo 2 la configuracin de un robot queda definida
por el tipo de movimientos permitidos entre 2 eslabones consecutivos de la cadena. De
acuerdo a esto se tienen los tipos de configuraciones indicados en la Tabla 1.10.
26 FUNDAMENTOS DE ROBTICA

Tabla 1.10. Tipos de Configuraciones


de Robots

Cartesiano
Cilndrico
Polar o Esfrico
Articular
SCARA
Paralelo

La Tabla 1.11 recoge el nmero de robots instalados en Espaa y en el Mundo durante el


ao 2003, atendiendo a los dos ltimos criterios: Nmero de ejes y Configuracin. Puede ob-
servarse cmo con diferencia la mayor parte de los robots que se instalaron durante ese ao
responden a robots articulares de 5 o ms ejes. Esta conclusin es extensible al nmero de ro-
bots instalados actualmente

Tabla 1.11. Robots instalados durante el ao 2003 en Espaa y en el mundo


segn nmero de ejes y configuracin

Nmero de ejes Espaa Todos los pases

3 100 4.148
4 46 3.678
5 o ms 1.708 34.906
Sin definir 177 39.043
TOTAL 2.031 81.776

Configuracin Espaa Todos los pases

Cartesiano 179 11.301


Cilndrico y Esfrico 0 4.781
Articular 1.843 37.297
SCARA 9 5.167
Paralelo 0 86
Sin definir 0 23.144
TOTAL 2.031 81.776

1.4.6. Clasificacin atendiendo al Tipo de Control


Atendiendo al tipo de control, la norma ISO 8373 y, en consonancia la IFR, distingue entre
los siguientes:

Robot secuencial (ISO): Robot con un sistema de control en el que un conjunto de mo-
vimientos se efecta eje a eje en un orden dado, de tal forma que la finalizacin de un mo-
vimiento inicia el siguiente.

En este tipo de robots slo es posible controlar una serie de puntos de parada, resultando
un movimiento punto a punto (Point to Point: PTP). Un ejemplo de ellos son los manipula-
dores neumticos.
CAPTULO 1. INTRODUCCIN 27

Robot controlado por trayectoria (ISO): Robot que ejecuta un procedimiento controlado
por el cual los movimientos de tres o ms ejes controlados, se desarrollan segn instruccio-
nes que especifican en el tiempo la trayectoria requerida para alcanzar la siguiente posicin
(obtenida normalmente por interpolacin).

Los robots controlados por trayectoria permiten la realizacin de movimientos en los que
puede ser especificado toda la trayectoria de manera continua (Trayectoria Continua: TC).

Robot adaptativo (ISO): Robot que tiene funciones de control con sensores, control
adaptativo, o funciones de control de aprendizaje.

De este modo el robot puede modificar su tarea de acuerdo a la informacin captada del
entorno, por ejemplo, a travs de un sistema de visin por computador o por sensores de fuer-
za o contacto. (El concepto de adaptativo, segn la ISO 8373 es ms amplio. Puede ser
consultado ste en el ANEXO I.)

Robot Teleoperado (ISO): Un robot que puede ser controlado remotamente por un ope-
rador humano, extendiendo las capacidades sensoriales y motoras de ste a localizaciones
remotas.

La Figura 1.13 recrea buena parte de los diversos tipos de robots que se pueden encontrar
hoy en da. Todos los robots representados existen en la actualidad, aunque los casos ms fu-
turistas (como son los humanoides) pueden no encontrarse comercializados, siendo desarro-
llos experimentales en los centros de investigacin de robtica.

a. Telemanipulador. b. Manipulador neumtico secuencial.

c. Robot manipulador industrial. d. Robot manipulador industrial sensorizado.

Figura 1.13. Idealizacin de algunos tipos de robots.


28 FUNDAMENTOS DE ROBTICA

e. Robot de intervencin en exterioes. f. Robot domstico.

g. Robot areo. h. Robot con patas.

i. Robot submarino. j. Robot humanoide.

Figura 1.13. Idealizacin de algunos tipos de robots (Continuacin).

1.5. BIBLIOGRAFA
[ASIMOV-53] I. Asimov, Sally, en: Los robots. Ed. Martnez Roca, 1984. Cuento corto pu-
blicado en 1953.
[ASIMOV-54] I. Asimov, Bvedas de acero. Ed. Martnez Roca, 1984.
[ASIMOV-85] I. Asimov, K. A. Frenkel, Robots. Mquinas a imagen y semejanza del hombre,
Plaza y Jans, 1985.
[BRADBURY-50] R. Bradbury, R., Vendrn lluvias suaves, en: Crnicas Marcianas, Ed. Mi-
notauro 1977. Cuento corto publicado en 1950.
[BYRON-94] Byron Press Multimedia, Isaac Asimovs The Ultimate Robot, CD-ROM media,
Microsoft Corp., 1994.
[CAPEK-35] K. Capek, R.U.R Rossums Universal Robots, F.R. Borov?, Praga, 1935 (Edicin
en Checo).
CAPTULO 1. INTRODUCCIN 29

[CAPEK-66] K. Capek, R.U.R. Robots Universales Rossum, Alianza Editorial, Libro de bol-
sillo, Madrid, 1966.
[COLGATE-1999] J. E. Colgate y M. A. Peshkin. Cobots United State Patent number
5.952.796, September 1999.
[COHEN-66] J. Cohen, Human Robots in Myth and Science, A.S. Barnes & Co., Inc., 1966.
[GONZLEZ-2005] F. Gonzlez de Posada y F. A. Gonzlez Redondo, Leonardo Torres
Quevedo (1852-1936) 2.a parte. Automtica, mquinas analticas. En La Gaceta de la
RSME, vol. 8.1 (2005), pgs. 267293.
[IFR-04] International Federation of Robotics and United Nations. World Robotics 2004.
Statistics, Market Analysis, Forecast, Case Studies and Profitability of Robot Invest-
ment, United Nations Publications. 2004.
[JUANELOTURRIANO] http://www.juaneloturriano.com. Pgina web de la fundacin Juanelo Tu-
rriano.
[KNASEL-86] T. M. Kansel, Mobile Robotics. State of the art review, en: Robotics 2,
North-Holland, 1986.
[MINSKY-85] M. Minsky, Ed., Robotics, Omni Publications International, 1985.
[NOF-99] S. Y. Nof., Handbook of industrial robotics. Second edition. John Wiley & Son, Inc.
1999.
[OLLERO-01] A. Ollero, Robtica. Manipuladores y robots mviles. Marcombo, Boixareu edi-
tores, 2001.
[NOSTRAND-90] J. W. Nostrand y E.L. Sampson, Robots in Service Industry, en: Concise
International Encyclopledia of Robotics, Editor R. C. Dorf, John Wiley & Sons, 1990.
[PESHKIN-99] Michael Peshkin, J. Edward Colgate, Cobots. Industrial Robot, 26 (5), 1999, pp
335-341.
[REICHARDT-78] J. Reichardt, Robots. Fact, Fiction, and Prediction, Penguin Books, 1978
[REINOSO-03] http://juanelo.fortunecity.es. Pgina web dedicada a Juanelo Turriano y su
obra.
[ROSHEIM-94] M. E. Rosheim, Robot Evolution. The Development of Anthrobotics, John
Wiley & Sons, 1994.
[SAVERIANO-88] J. W. Saveriano, Pioneers of Robotics, en: International Encyclopledia of
Robotics, Editor R.C. Dorf, John Wiley & Sons, 1988.
CAPTULO 2
Morfologa del robot

Cada uno cuenta la feria como le va en ella


Refranero Popular

Un robot est formado por los siguientes elementos: estructura mecnica, transmisiones, sis-
tema de accionamiento, sistema sensorial, sistema de potencia y control, y elementos termi-
nales.
En este captulo se examinan estos elementos constitutivos de un robot. Se estudia pri-
mero la estructura mecnica, haciendo referencia a los distintos tipos de articulaciones posi-
bles entre dos eslabones consecutivos y a las configuraciones de robots a que dan lugar. Se-
guidamente, se analizan los sistemas de transmisin y reduccin necesarios para transmitir a
cada una de las articulaciones el movimiento generado por los actuadores, que son exami-
nados en el siguiente apartado.
Se repasan despus los denominados sensores internos, necesarios para proporcionar, al
sistema que controla los movimientos del robot, informacin relativa a la localizacin del
mismo. Finalmente, el ltimo apartado se ocupa de los elementos terminales (pinzas, herra-
mientas, dispositivos de sujecin, etc.), que situados generalmente en el extremo del robot,
sirven para que ste pueda interaccionar con el mundo exterior, realizando las tareas que le
han sido asignadas.
Aunque los elementos empleados en los robots no son exclusivos de stos (mquinas he-
rramientas y otras muchas mquinas emplean tecnologas semejantes), las altas prestaciones
que se exigen a los robots han motivado que, en algunos casos, se empleen en ellos elemen-
tos con caractersticas especficas.
La Figura 2.1 muestra la estructura mecnica de un robot. Sobre ella aparecen identifi-
cados algunos de los elementos que se van a estudiar en este captulo, examinando las nece-
sidades particulares de cada uno y comparando las diversas alternativas existentes.

2.1. ESTRUCTURA MECNICA DE UN ROBOT


Mecnicamente, un robot est formado por una serie de elementos o eslabones unidos me-
diante articulaciones que permiten un movimiento relativo entre cada dos eslabones consecu-
tivos. La constitucin fsica de la mayor parte de los robots manipuladores industriales guar-
da cierta similitud con la anatoma del brazo humano, por lo que en ocasiones, para hacer
referencia a los distintos elementos que componen el robot, se usan trminos como cuerpo,
brazo, codo y mueca.

31
32 FUNDAMENTOS DE ROBTICA

Figura 2.1. Ejemplo de estructura mecnica y elementos constitutivos de un robot.


(Cortesa de INSER Robtica).

El movimiento de cada articulacin puede ser de desplazamiento, de giro, o una combi-


nacin de ambos. En 1876 Franz Reuleaux [REULEAUX-1876] identific los posibles movi-
mientos relativos entre dos elementos en contacto. Reuleaux denomin pares inferiores (lower
pairs) a aquellos en los que el contacto se realiza entre superficies, mientras que si el contacto
es puntual o lineal, los denomin pares superiores. La Figura 2.2 muestras los seis posibles
pares inferiores establecidas por Reuleaux.
Cada uno de los movimientos independientes que puede realizar cada articulacin con
respecto a la anterior, se denomina grado de libertad (GDL). En la Figura 2.2 se indica el n-
mero de GDL de cada tipo de articulacin correspondiente a los pares inferiores. Como se ob-
serva en ella, slo tres tipos de articulaciones tienen un solo grado de libertad (stos se deno-
minan pares lineales o de primer grado).
En la prctica, en robtica slo se emplean las articulaciones de rotacin y prismtica. En
caso de que un robot tuviera alguna articulacin con ms de un grado de libertad, se podra
asumir que se trata de varias articulaciones diferentes, unidas por eslabones de longitud
nula.
Una cadena cinemtica, es una serie de eslabones o barras unidas por articulaciones. La
estructura mecnica de un robot manipulador constituye una cadena cinemtica.
CAPTULO 2. MORFOLOGA DEL ROBOT 33

Esfrica o Rtula Planar Tornillo


(3 GDL) (2 GDL) (1 GDL)

Prismtica Rotacin Cilndrica


(1 GDL) (1 GDL) (2 GDL)

Figura 2.2. Los seis pares inferiores de Reuleaux.

Cuando en una cadena cinemtica se puede llegar desde cualquier eslabn a cualquier otro
mediante al menos dos caminos, se dice que se trata de una cadena cinemtica cerrada. En
caso de que slo haya un camino posible se dir que se trata de una cadena cinemtica
abierta (Vase Figura 2.3).

Figura 2.3. Cadena cinemtica: a) abierta y b) cerrada.


34 FUNDAMENTOS DE ROBTICA

El nmero de grados de libertad de una cadena cinemtica puede ser obtenido mediante la
frmula de Grbler, segn la cual:
j
NGDL = (n j 1) + f i
[2.1]
i =1

Donde:
: GDL del espacio de trabajo (Tpicamente tres en el plano, seis en el espacio).
n: Nmero de eslabones (debe incluirse el eslabn fijo o base).
j: nmero de articulaciones.
fi: Grados de libertad permitidos a la articulacin i.

As, en las cadenas mostradas en la Figura 2.3, se tendrn los valores mostrados en la Tabla 2.1.

Tabla 2.1. Aplicacin frmula de Grbler

Figura 2.3a Figura 2.3b

3 3
n 4 5
j 3 5
fi f1 = 1; f2 = 1; f3 = 1 f1=1; f2=1; f3=1 f4=1; f5=1
NGDL 3 2

Los robots manipuladores son, en la mayor parte de los casos, cadenas cinemticas
abiertas con las articulaciones de tipo rotacin o prismtica (con un solo GDL cada una), sien-
do por lo general sencillo encontrar el nmero de grados de libertad del robot, pues coincide
con el nmero de articulaciones de que se compone.
No obstante, en los robots con cadena cinemtica cerrada, que pueden usar otro tipo de ar-
ticulaciones, como las esfricas, es preciso evaluar con mayor rigor el nmero de GDL.
El empleo de diferentes combinaciones de articulaciones en un robot da lugar a diferen-
tes configuraciones, con caractersticas a tener en cuenta tanto en el diseo y construccin del
robot como en su aplicacin. Para el caso de robots con cadena cinemtica abierta, las com-
binaciones ms frecuentes son las representadas en la Figura 2.4, donde se atiende nica-
mente a las tres primeras articulaciones del robot, que son las ms importantes a la hora de
posicionar su extremo en un punto del espacio.
Los robots con cadena cinemtica cerrada y en particular los robots denominados de es-
tructura paralela, son menos frecuentes, si bien en los ltimos aos, algunos fabricantes de robots
ofrecen productos con esta caracterstica. Su composicin cinemtica origina que el estudio de su
modelado y control se aborde habitualmente de manera independiente a la de los robots de cadena
abierta [TSAI-99], [ARACIL-06]. La Figura 2.5, muestra la estructura paralela conocida como
plataforma de Steward Gough y un robot industrial comercial con estructura paralela.
La mayor parte de los robots manipuladores actuales, responden a la estructura angular,
tambin conocida como articular, representando aproximadamente el 45%, seguidos de
los de estructura Cartesiana y SCARA. Los robots de estructura esfrica y cilndrica, ms
frecuentes en los orgenes de la robtica, estn en la actualidad, prcticamente en desuso
[IFR-05].
CAPTULO 2. MORFOLOGA DEL ROBOT 35

Robot cartesiano Robot cilndrico Robot esfrico o polar

Robot SCARA Robot angular o antropomrfico

Figura 2.4. Configuraciones ms frecuentes en robots industriales.

a) b)
Figura 2.5. Estructuras paralelas: a) Plataforma de Stewart-Gouth. b ) Robot industrial paralelo.
(Cortesa de ABB).

Puesto que para posicionar y orientar un cuerpo de cualquier manera en el espacio son ne-
cesarios seis parmetros, tres para definir la posicin y tres para la orientacin, si se preten-
de que un robot posicione y oriente su extremo (y con l la pieza o herramienta manipulada)
de cualquier modo en el espacio, se precisarn al menos seis GDL.
En la Figura 2.6 se muestran los seis GDL con que est dotado el robot ARC Mate
120/S-12 de Fanuc, as como sus articulaciones y eslabones.
36 FUNDAMENTOS DE ROBTICA

Figura 2.6. Grados de libertad del robot ARC Mate 120/S-12. (Cortesa de FANUC).

En la prctica, a pesar de ser necesarios los seis GDL comentados para tener total libertad
en el posicionado y orientacin del extremo del robot, muchos robots industriales cuentan con
slo cuatro o cinco GDL, por ser stos suficientes para llevar a cabo las tareas que se les en-
comiendan (coger y dejar, paletizado, etc.).
Existen tambin casos opuestos, en los que se precisan ms de seis GDL para que el robot
pueda tener acceso a todos los puntos de su entorno. As, si se trabaja en un entorno con obs-
tculos, el dotar al robot de grados de libertad adicionales le permite acceder a posiciones y
orientaciones de su extremo a las que, como consecuencia de los obstculos, no hubiera lle-
gado con seis GDL. Otra situacin frecuente es la de dotar al robot de un GDL adicional que
le permita desplazarse a lo largo de un carril, aumentando as el volumen del espacio al que
puede acceder. Cuando el nmero de grados de libertad del robot es mayor que los necesarios
para realizar una determinada tarea se dice que el robot es redundante.
La Figura 2.7 representa las dos situaciones comentadas para el caso de robots planares a
los que les bastara con 2 GDL para posicionar su extremo en cualquier punto del plano.

Robot plano con 3 GDL para Robot plano con 3 GDL para
aumentar su maniobrabilidad aumentar su volumen de trabajo

Figura 2.7. Robots planares redundantes.


CAPTULO 2. MORFOLOGA DEL ROBOT 37

2.2. TRANSMISIONES Y REDUCTORES


Las transmisiones son los elementos encargados de transmitir el movimiento desde los ac-
tuadores hasta las articulaciones. Se incluirn, junto a las transmisiones, a los reductores, en-
cargados de adaptar el par y la velocidad de la salida del actuador a los valores adecuados
para el movimiento de los elementos del robot.

2.2.1. Transmisiones
Dado que un robot mueve su extremo con aceleraciones elevadas, es de gran importancia re-
ducir al mximo su momento de inercia. Del mismo modo, los pares estticos que deben ven-
cer los actuadores dependen directamente de la distancia de las masas al actuador. Por estos
motivos se procura que los actuadores, por lo general pesados, estn lo ms cerca posible de
la base del robot. Esta circunstancia obliga a utilizar sistemas de transmisin que trasladen el
movimiento hasta las articulaciones, especialmente a las situadas en el extremo del robot. Asi-
mismo, las transmisiones pueden ser utilizadas para convertir movimiento circular en lineal
o viceversa, lo que en ocasiones puede ser necesario.

Tabla 2.2. Sistemas de transmisin para robots

Entrada-Salida Denominacin Ventajas Inconvenientes

Circular-Circular Engranaje Pares altos Holguras


Correa dentada Distancia grande
Cadena Distancia grande Ruido
Paralelogramo Giro limitado
Cable Deformabilidad

Circular-Lineal Tornillo sinfn Poca holgura Rozamiento


Cremallera Holgura media Rozamiento

Lineal-Circular Paral. articulado Control difcil


Cremallera Holgura media Rozamiento

Existen actualmente en el mercado robots industriales con acoplamiento directo entre ac-
cionamiento y articulacin, ventajosos en numerosas ocasiones, tal y como se detalla ms
adelante. Se trata, sin embargo, de casos particulares dentro de la generalidad que, en los ro-
bots industriales actuales, supone la existencia de sistemas de transmisin junto con reduc-
tores para el acoplamiento entre actuadores y articulaciones.
Es de esperar que un buen sistema de transmisin cumpla una serie de caractersticas b-
sicas: debe tener un tamao y peso reducido, se ha de evitar que presente juegos u holguras
considerables y se deben buscar transmisiones con gran rendimiento.
Aunque no existe un sistema de transmisin especfico para robots, s existen algunos usa-
dos con mayor frecuencia y que se recogen clasificados en la Tabla 2.2. La clasificacin se ha
realizado en base al tipo de movimiento posible en la entrada y la salida: lineal o circular. En
la citada tabla tambin quedan reflejados algunas ventajas e inconvenientes propios de algu-
nos sistemas de transmisin. Entre ellos cabe destacar la holgura o juego. Es muy importante
38 FUNDAMENTOS DE ROBTICA

Figura 2.8. Telemanipulador TELBOT junto con la caja de transmisin por engranajes situada
en su base. (Cortesa de Wlischmiller GmbH).

que el sistema de transmisin a utilizar no afecte al movimiento que transmite, ya sea por el
rozamiento inherente a su funcionamiento o por las holguras que su desgaste pueda introdu-
cir. Tambin hay que tener en cuenta que el sistema de transmisin sea capaz de soportar un
funcionamiento continuo a un par elevado, y a ser posible entre grandes distancias. Las
transmisiones ms habituales son aquellas que cuentan con movimiento circular tanto a la en-
trada como a la salida. Incluidas en stas se hallan los engranajes, las correas dentadas y las
cadenas. La Figura 2.8 muestra el brazo articulado de un telemanipulador junto con los en-
granajes que transmiten el par de los motores situados en su base a los eslabones.

2.2.2. Reductores
En cuanto a los reductores, al contrario que con las transmisiones, s que existen determina-
dos sistemas usados de manera preferente en los robots industriales. Esto se debe a que a los
reductores utilizados en robtica se les exige unas condiciones de funcionamiento muy res-
trictivas. La exigencia de estas caractersticas viene motivada por las altas prestaciones que se
le piden al robot en cuanto a precisin y velocidad de posicionamiento. La Tabla 2.3 muestra
valores tpicos de los reductores para robtica actualmente empleados.
Se buscan reductores de bajo peso, reducido tamao, bajo rozamiento y que al mismo
tiempo sean capaces de realizar una reduccin elevada de velocidad en un nico paso. Se tien-
de tambin a minimizar su momento de inercia, de negativa influencia en el funcionamiento
del motor, especialmente crtico en el caso de motores de baja inercia [FERRANDO-93].
Los reductores, por motivos de diseo, tienen una velocidad mxima de entrada admisible,
que como regla general aumenta a medida que disminuye su capacidad de transmitir par.
Tambin existe una limitacin en cuanto al par de salida nominal permisible (T2) que depen-
de del par de entrada (T1) y de la relacin de transmisin a travs de la relacin:
1
T2 = T1 [2.2]
2
CAPTULO 2. MORFOLOGA DEL ROBOT 39

Tabla 2.3. Caractersticas de reductores para robtica

Caractersticas Valores tpicos

Relacin de reduccin 50-300


Peso y tamao 0,1-30 kg
Momento de inercia 104 kg m2
Velocidades de entrada mxima 6.000-7.000 rpm
Par de salida nominal 5.700 Nm
Par de salida mximo 7.900 Nm
Juego angular 0-2
Rigidez torsional 100-2.000 Nm/rad
Rendimiento 85%-98%

Donde el rendimiento () puede llegar a ser cerca del 100% y la relacin de reduccin de
velocidades (1 = velocidad de entrada; 2 = velocidad de salida) vara entre 50 y 300.
Puesto que los robots trabajan en ciclos cortos que implican continuos arranques y para-
das, es de gran importancia que el reductor sea capaz de soportar pares elevados puntuales.
Tambin se busca que el juego angular o backlash sea lo menor posible. ste se define
como el ngulo que gira el eje de salida cuando se cambia su sentido de giro sin que llegue a
girar el eje de entrada. Por ltimo, es importante que los reductores para robtica posean una
alta rigidez torsional, definida como el par que hay que aplicar sobre el eje de salida para que,
manteniendo bloqueado el de entrada, aqul gire un ngulo unitario.
Los reductores para robots ms comnmente usados son los de las empresas Harmonic
Drive [HARMONIC-06] y Cyclo-Getriebebau [CYCLO-96].
Los primeros fueron concebidos en 1955 por C. Walton Musser y destacaron por su uso
en misiones espaciales, como reductores para los rovers lunares. Su funcionamiento (Figura 2.9
y Figura 2.10), se basa en una corona exterior rgida con dentado interior (circular spline) y
un vaso flexible (flexspline) con dentado exterior que engrana en el primero. El nmero de
dientes de ambos difiere en 1 o 2. Interiormente al vaso, gira un rodamiento elipsoidal
(wave generator) que deforma el vaso, poniendo en contacto la corona interior con la zona
del vaso correspondiente al mximo dimetro de la elipse. De ser iguales el nmero de dientes

Figura 2.9. Despiece Reductor Armnico. Figura 2.10. Esquema Reductor Armnico.
(Cortesa Harmonic Drive). (Cortesa Harmonic Drive).
40 FUNDAMENTOS DE ROBTICA

Figura 2.11. Reductor cclico. (Cortesa de Cyclo).

del circular spline y del flexpline, el giro del wave generator originara que el diente i del
circular spline engranase con el diente i del flespline, de modo que tras una vuelta com-
pleta, las posiciones relativas de ambos elementos habran quedado inalterables. Pero al ha-
ber una diferencia de dientes Z = Nc Nf , tras una vuelta completa del wave generator, el
flexspline deber quedar desfasado Z dientes respecto del circular spline, lo que equivale a un
giro del flexpline en sentido inverso al wave generator de Z dientes. La relacin de reduccin
conseguida ser, por tanto, de Z/Nf. En concreto, se consiguen reducciones de hasta 320, con
una holgura cercana a cero y capacidad de transmisin de par de 5.720 Nm.
Por otra parte, el sistema de reduccin de los reductores CYCLO se basa en el movi-
miento cicloidal de un disco de curvas (Figura 2.11) movido por una excntrica solidaria al
rbol de entrada. Por cada revolucin de la excntrica el disco de curvas avanza un saliente,
rodando sobre los rodillos exteriores. Este avance arrastra a su vez a los pernos del rbol de
salida, que describirn una cicloide dentro de los huecos del disco de curvas. La componen-
te de traslacin angular de este movimiento se corresponde con la rotacin del rbol de sali-
da. La relacin de reduccin viene, por tanto, determinada por el nmero de salientes. Para
compensar los momentos de flexin y de las masas de cada disco en movimiento excntrico,
generalmente se utilizan dos discos desfasados entre s 180.

2.2.3. Accionamiento Directo


Como se ha indicado anteriormente, desde hace unos aos existen en el mercado robots que
poseen lo que se ha dado en llamar accionamiento directo (Direct Drive DD), en el que el
eje del actuador se conecta directamente a la carga o articulacin, sin la utilizacin de un re-
ductor intermedio [AN-88], [YOUCEF-89] y [MONTANO-88].
Este tipo de accionamiento aparece a raz de la necesidad de utilizar robots en aplica-
ciones que exigen combinar gran precisin con alta velocidad. Los reductores introducen
una serie de efectos negativos, como son juego angular, rozamiento o disminucin de la ri-
gidez del accionador, que pueden impedir alcanzar los valores de precisin y velocidad re-
queridos.
Las principales ventajas que se derivan de la utilizacin de accionamientos directos son las
siguientes:

Posicionamiento rpido y preciso, pues se evitan los rozamientos y juegos de las trans-
misiones y reductores.
Aumento de las posibilidades de controlabilidad del sistema a costa de una mayor
complejidad.
Simplificacin del sistema mecnico al eliminarse el reductor.
CAPTULO 2. MORFOLOGA DEL ROBOT 41

El principal problema que existe para la aplicacin prctica de un accionamiento direc-


to radica en el motor a emplear. Debe tratarse de motores que proporcionen un par elevado
(unas 50-100 veces mayor que con reductor) a bajas revoluciones (las de movimiento de la ar-
ticulacin) manteniendo la mxima rigidez posible.
Entre los motores empleados para accionamiento directo y que cumplan estas caracters-
ticas, se encuentran los motores sncronos y de continua sin escobillas (brushless), ambos con
imanes permanentes fabricados con materiales especiales (samario-cobalto). Tambin se
utilizan motores de induccin de reluctancia variable. La necesaria utilizacin de este tipo de
motores encarece notablemente el sistema de accionamiento.
Otra cuestin importante a tener en cuenta en el empleo de accionamientos directos es la
propia cinemtica del robot. Colocar motores, generalmente pesados y voluminosos, junto a
las articulaciones, no es factible para todas las configuraciones del robot debido los pares que
se generan. El estudio de la cinemtica con la que se disea el robot ha de tener en cuenta es-
tos parmetros, estando la estructura final elegida altamente condicionada por ellos. Por
este motivo, los robots de accionamiento directo son generalmente de tipo SCARA, cuyo di-
seo se corresponde bien con las necesidades que el accionamiento directo implica. Al eli-
minar el reductor tambin se disminuye de forma considerable la resolucin real del codifi-
cador de posicin acoplado al eje, tal y como se detalla en el epgrafe dedicado a sensores
internos. Esto lleva a la utilizacin en este tipo de robots de codificadores de posicin de muy
alta resolucin.
El primer robot comercial con accionamiento directo se present en 1984. Se trataba de
un robot SCARA denominado AdeptOne, de la compaa norteamericana Adept Technology,
Inc. A partir de entonces, este tipo de robots se ha hecho popular para aplicaciones que re-
quieran robots con altas prestaciones en velocidad y posicionamiento (montaje microelec-
trnico, corte de metal por lser, etc.). La Figura 2.12 muestra una fotografa del robot
AdeptThree, de la misma compaa y tambin de accionamiento directo. En la actualidad, un
robot con accionamiento directo puede llegar a aumentar tanto la velocidad como la precisin
de manera significativa con respecto a aquellos robots de accionamiento tradicional.

Figura 2.12. Robot Adept Three de accionamiento directo. (Cortesa de Adept Technology).
42 FUNDAMENTOS DE ROBTICA

2.3. ACTUADORES
Los actuadores tienen por misin generar el movimiento de los elementos del robot segn las
rdenes dadas por la unidad de control. Los primeros robots industriales utilizaban actuado-
res hidrulicos para mover sus elementos. Las ventajas prcticas del uso de la electricidad
como fuente de energa ha motivado que en la actualidad posiblemente la totalidad de los ro-
bots industriales existentes utilicen esta opcin. No obstante, en determinadas situaciones de-
ben ser considerados otros tipos de actuadores. De manera general, los actuadores utilizados
en robtica pueden emplear energa neumtica, hidrulica o elctrica. Cada uno de estos sis-
temas presenta caractersticas diferentes, de entre las que se pueden considerar las siguientes:

Potencia.
Controlabilidad.
Peso y volumen.
Precisin.
Velocidad.
Mantenimiento.
Coste.

En este epgrafe se revisan brevemente los tres tipos de actuadores citados, comparndolos
en cuanto a las caractersticas anteriores. Un estudio ms detallado de stos puede encontrarse en
bibliografa especfica ([BARRIENTOS-95], [CORTS-89], [DEPPERT-94], [VOCKROTH-94]).

2.3.1. Actuadores Neumticos


En ellos la fuente de energa es aire a presin entre 5 y 10 bar. Existen dos tipos de ac-
tuadores neumticos:
Cilindros neumticos.
Motores neumticos (de aletas rotativas o de pistones axiales).
En los primeros se consigue el desplazamiento de un mbolo encerrado en un cilindro,
como consecuencia de la diferencia de presin a ambos lados de aqul (Figura 2.13). Los ci-
lindros neumticos pueden ser de simple o doble efecto. En los primeros, el mbolo se des-

Figura 2.13. Esquema de cilindro neumtico de doble efecto. (Cortesa de FESTO).


CAPTULO 2. MORFOLOGA DEL ROBOT 43

plaza en un sentido como resultado del empuje ejercido por el aire a presin, mientras que en
el otro sentido se desplaza como consecuencia del efecto de un muelle que recupera al m-
bolo a su posicin de reposo. En los cilindros de doble efecto el aire a presin es el encarga-
do de empujar al mbolo en las dos direcciones, al poder ser introducido de forma arbitraria
en cualquiera de las dos cmaras. En [DEPPERT-94] se explica con ms detalle el funciona-
miento de estos dispositivos.
Normalmente, con los cilindros neumticos slo se persigue un posicionamiento en los
extremos del mismo y no un posicionamiento continuo. Este posicionamiento todo-nada se
consigue con una vlvula de distribucin (generalmente de accionamiento elctrico) que ca-
naliza el aire a presin hacia una de las dos caras del mbolo. Existen, no obstante, sistemas
de posicionamiento continuo de accionamiento neumtico, aunque debido a su coste y calidad
su utilizacin es muy limitada.
En los motores neumticos se consigue el movimiento de rotacin de un eje mediante aire
a presin. Los dos tipos ms usados son los motores de aletas rotativas y los motores de pis-
tones axiales. En los primeros (Figura 2.14), sobre el rotor excntrico estn dispuestas las ale-
tas de longitud variable. Al entrar aire a presin en uno de los compartimentos formados por
dos aletas y la carcasa, stas tienden a girar hacia una situacin en la que el compartimiento
tenga mayor volumen. Los motores de pistones axiales tienen un eje de giro solidario a un
tambor que se ve obligado a girar por las fuerzas que ejercen varios cilindros, que se apoyan
sobre un plano inclinado (Figura 2.15).
Otro mtodo comn, y ms sencillo de obtener movimientos de rotacin a partir de ac-
tuadores neumticos, se basa en el empleo de cilindros cuyo mbolo se encuentra acoplado a
un sistema de pin-cremallera. El conjunto forma una unidad compacta que puede adquirirse
en el mercado como tal (Figura 2.16).
En general y debido a la compresibilidad del aire, los actuadores neumticos no consiguen
una buena precisin de posicionamiento. Sin embargo, su sencillez y robustez hacen ade-
cuado su uso en aquellos casos en los que sea suficiente un posicionamiento en dos estados
diferentes (todo o nada). Por ejemplo, son utilizados en manipuladores sencillos, en apertura
y cierre de pinzas o en determinadas articulaciones de algn robot (como el movimiento ver-
tical del tercer grado de libertad de algunos robots tipo SCARA).

Figura 2.14. Motor de paletas. Figura 2.15. Motor de pistones axiales.


(Cortesa FESTO). (Cortesa FESTO).
44 FUNDAMENTOS DE ROBTICA

Figura 2.16. Actuador rotativo de tipo Pin-cremallera. (Cortesa de Rexroth Mecman).

Siempre debe tenerse en cuenta que para el empleo de un robot con algn tipo de accio-
namiento neumtico se deber disponer de una instalacin de aire comprimido, incluyendo:
compresor, sistema de distribucin (tuberas, electrovlvulas), filtros, secadores, etc. No
obstante, estas instalaciones neumticas son frecuentes y existen en muchas de las fbricas
donde se da cierto grado de automatizacin.

2.3.2. Actuadores hidrulicos


Este tipo de actuadores no se diferencian funcionalmente en mucho de los neumticos. En ellos,
en vez de aire, se utilizan aceites minerales a una presin comprendida normalmente entre los
50 y 100 bar, llegndose en ocasiones a superar los 300 bar. Existen, como en el caso de los
neumticos, actuadores del tipo cilindro y del tipo motores de aletas y pistones [VOCKROTH-94].
Sin embargo, las caractersticas del fluido utilizado en los actuadores hidrulicos marcan
ciertas diferencias con los neumticos. En primer lugar, el grado de compresibilidad de los
aceites usados es considerablemente inferior al del aire, por lo que la precisin obtenida en
este caso es mayor. Por motivos similares, es ms fcil en ellos realizar un control continuo,
pudiendo posicionar su eje en todo un rango de valores (haciendo uso de servocontrol).
Adems, las elevadas presiones de trabajo, diez veces superiores a las de los actuadores neu-
mticos, permiten desarrollar elevadas fuerzas y pares.
Por otra parte, este tipo de actuadores presenta estabilidad frente a cargas estticas. Esto
indica que el actuador es capaz de soportar cargas, como el peso o una presin ejercida sobre
una superficie, sin aporte de energa (para mover el mbolo de un cilindro ser preciso vaciar
ste de aceite). Tambin es destacable su elevada capacidad de carga y relacin potencia-peso,
as como sus caractersticas de autolubricacin y robustez.
Frente a estas ventajas existen tambin ciertos inconvenientes. Por ejemplo, las elevadas
presiones a las que se trabaja propician la existencia de fugas de aceite a lo largo de la instala-
cin. Asimismo, esta instalacin es ms complicada que la necesaria para los actuadores neu-
mticos y mucho ms que para los elctricos, necesitando de equipos de filtrado de partculas,
eliminacin de aire, sistemas de refrigeracin y unidades de control de distribucin.
Los accionamientos hidrulicos han sido utilizados con frecuencia en robots con elevada
capacidad de carga. Sin embargo, en la actualidad, las cargas manejadas por los robots de ac-
cionamiento elctrico son equiparables a la de los robots hidrulicos, habiendo quedado stos
relegados a un segundo plano.
CAPTULO 2. MORFOLOGA DEL ROBOT 45

2.3.3. Actuadores elctricos


Las caractersticas de control, sencillez y precisin de los accionamientos elctricos ha hecho
que sean los ms usados en los robots industriales actuales.
Dentro de los actuadores elctricos pueden distinguirse tres tipos diferentes [CORTS-89]:

Motores de corriente continua (DC):


Controlados por inducido.
Controlados por excitacin.
Motores de corriente alterna (AC):
Sncronos.
Asncronos.
Motores paso a paso.

Motores de Corriente Continua (DC)

Han sido durante mucho tiempo los ms utilizados, debido a su facilidad de control. En la Fi-
gura 2.17 se muestra un esquema de un motor DC, en el que se pueden apreciar sus distintos
elementos. La necesidad de mantenimiento, derivada del uso de las escobillas, y las limita-
ciones de par, motivadas por el riesgo de un sobrecalentamiento, han hecho que se haya ten-
dido a su sustitucin por motores de alterna o motores sin escobillas.
Los motores DC estn constituidos por dos devanados internos, inductor e inducido,
que se alimentan con corriente continua:
El inductor, tambin denominado devanado de excitacin, est situado en el estator y
crea un campo magntico de direccin fija, denominado de excitacin.
El inducido, situado en el rotor, hace girar al mismo debido a la fuerza de Lorentz que
aparece como combinacin de la corriente circulante por l y del campo magntico de
excitacin. Recibe la corriente del exterior a travs del colector de delgas, en el que se
apoyan unas escobillas de grafito.
El devanado inductor puede ser sustituido por imanes, que generan de manea equivalente un
campo magntico constante (como ocurre con el motor esquematizado en la Figura 2.17).
Para que se pueda realizar la conversin de energa elctrica en energa mecnica de forma
continua, es necesario que los campos magnticos del estator y del rotor permanezcan estticos
entre s. Esta conversin es mxima cuando ambos campos se encuentran en cuadratura. El co-
lector de delgas es un conmutador sincronizado con el rotor, encargado de que se mantenga el
ngulo relativo entre el campo inductor del estator y el creado por las corrientes retricas de ro-
tor. De esta forma se consigue transformar automticamente, en funcin de la velocidad de la
maquina, la corriente continua que alimenta al motor en corriente alterna de frecuencia varia-
ble en el inducido. Este tipo de funcionamiento se conoce con el nombre de autopilotado.
La velocidad de giro del motor puede ser regulada, bien variando la tensin de alimenta-
cin del inducido, como variando la del inductor.
Al aumentar la tensin del inducido aumenta la velocidad de la mquina. Si el motor est
alimentado a tensin constante, se puede variar la velocidad variando el flujo de excitacin.
Pero cuanto ms dbil sea el flujo, menor ser el par motor que se puede desarrollar para una
intensidad de inducido constante. En el caso de control por inducido, la intensidad del in-
46 FUNDAMENTOS DE ROBTICA

Figura 2.17. Motor de Corriente Continua. (Fuente Wikipedia).

ductor se mantiene constante, mientras que la tensin del inducido se utiliza para controlar la
velocidad de giro. En los controlados por excitacin se acta al contrario.
Del estudio de ambos tipos de motores, y realizndose las simplificaciones correspon-
dientes, se obtiene que la relacin entre tensin de control y velocidad de giro (funcin de
transferencia), responde a un sistema de primer orden en los controlados por inducido,
mientras que en el caso de los motores controlados por excitacin, esta relacin es la de un se-
gundo orden (Figura 2.18). Vase el Epgrafe 5.6.1 para ms detalles.

Ri Li


ei T J
ii
B
Le
ie
Re
ee


ee ie
Control 1 kp 1
por excitacin Re + Les Js + B s

ei +
ii
1 kp 1
Ri + Lis Js + B s
Control _
por inducido

kb

Figura 2.18. Motor DC- Esquema y funciones de transferencia.


CAPTULO 2. MORFOLOGA DEL ROBOT 47

Adems, en los motores controlados por inducido se produce un efecto estabilizador de la


velocidad de giro, originado por la realimentacin intrnseca que posee a travs de la fuerza
contraelectromotriz. Por estos motivos, de los dos tipos de motores DC es el controlado por
inducido el que se usa en el accionamiento de robots.
Para mejorar el comportamiento de este tipo de motores, el campo de excitacin se genera
mediante imanes permanentes, con lo que se evitan fluctuaciones del mismo. Estos imanes
son de aleaciones especiales como samario-cobalto. Adems, para disminuir la inercia aso-
ciada a un rotor bobinado, como es el del inducido, se construye ste mediante una serie de
espiras serigrafiadas en un disco plano (vase Figura 2.19). En contrapartida, este tipo de ro-
tor no posee apenas masa trmica, ni capacidad de disipacin del calor hacia el exterior, lo
que aumenta los problemas de calentamiento por sobrecarga.
Las velocidades de rotacin que se consiguen con estos motores son del orden de 1.000
a 3.000 r.p.m., con un comportamiento muy lineal y bajas constantes de tiempo. Las potencias
que pueden manejar pueden llegar a los 10 kW.
Como se ha indicado, los motores DC son controlados mediante referencias de velocidad.
stas normalmente son seguidas mediante un bucle de realimentacin de velocidad analgi-
co que se cierra mediante una electrnica especfica (accionador del motor). Sobre este bucle
de velocidad se coloca otro de posicin, en el que las referencias son generadas por la unidad
de control (microprocesador) en base al error entre la posicin deseada y la real.
El motor de corriente continua presenta el inconveniente del obligado mantenimiento de
las escobillas. Adems, las conmutaciones de stas originan chispas elctricas que pueden
ser inaceptables en, por ejemplo, ambientes con riesgo de explosin. Por otra parte, su baja
inercia trmica y mala capacidad de disipacin del calor, hace que no sea posible el propor-
cionar pares elevados, asociados al mantenimiento prolongado de intensidades elevadas
(como las que se producen ante una elevada aceleracin).
Para evitar estos problemas, se han desarrollado en los ltimos aos motores sin escobillas
(brushless). En stos, los imanes de excitacin se sitan en el rotor y el devanado de induci-
do en el estator, con lo que es posible convertir la corriente mediante interruptores estticos,
que reciben la seal de conmutacin a travs de un detector de posicin del rotor.
De entre las ventajas de los motores sin escobillas, se pueden citar:
Menor mantenimiento.
Bajo momento de inercia.

Figura 2.19. Motor de Corriente Continua de imanes permanentes y rotor serigrafiado.


48 FUNDAMENTOS DE ROBTICA

Alto par a velocidad nula.


Mejor rendimiento (no hay prdidas en rotor).
Mejor disipacin trmica (devanado en contacto con carcasa).
Mejor relacin potencia-peso o volumen.
No existe riesgo de explosin.

Motores paso a paso

Los motores paso a paso no han sido considerados, generalmente, dentro de los acciona-
mientos industriales, debido principalmente a que los pares para los que estaban disponibles
eran muy pequeos y los pasos entre posiciones consecutivas eran grandes. Esto limitaba su
aplicacin a controles de posicin simples. En los ltimos aos se han mejorado notablemente
sus caractersticas tcnicas, especialmente en lo relativo a su control, lo que ha permitido fa-
bricar motores paso a paso capaces de desarrollar pares suficientes en pequeos pasos, para su
uso como accionamientos industriales.
Existen tres tipos de motores paso a paso [BARRIENTOS-95], [TENREIRO-94]:
De imanes permanentes.
De reluctancia variable.
Hbridos.
En los primeros, de imanes permanentes (Figura 2.20), el rotor, que posee una polariza-
cin magntica constante, gira para orientar sus polos de acuerdo al campo magntico crea-
do por las fases del estator. En los motores de reluctancia variable, el rotor est formado por
un material ferromagntico que tiende a orientarse de modo que facilite el camino de las l-
neas de fuerza del campo magntico generado por la bobinas de estator. Los motores hbridos
combinan el modo de funcionamiento de los dos tipos anteriores.

Figura 2.20. Esquema de motor paso a paso de imanes permanentes con cuatro fases.
CAPTULO 2. MORFOLOGA DEL ROBOT 49

En los motores paso a paso la seal de control son trenes de pulsos que van actuando ro-
tativamente sobre una serie de electroimanes dispuestos en el estator. Por cada pulso recibi-
do, el rotor del motor gira un determinado nmero discreto de grados.
Para conseguir el giro del rotor en un determinado nmero de grados, las bobinas del es-
tator deben ser excitadas secuencialmente a una frecuencia que determina la velocidad de
giro. Las inercias propias del arranque y parada (aumentadas por las fuerzas magnticas en
equilibrio que se dan cuando est parado) impiden que el rotor alcance la velocidad nominal
instantneamente, por lo que sta y, por tanto, la frecuencia de los pulsos que la fija, debe ser
aumentada progresivamente.
Para simplificar el control de estos motores existen circuitos especializados que a partir de
tres seales (tren de pulsos, sentido de giro e inhibicin) generan, a travs de una etapa lgi-
ca, las secuencias de pulsos que un circuito de conmutacin distribuye a cada fase.
Su principal ventaja con respecto a los servomotores tradicionales es su capacidad para
asegurar un posicionamiento simple y exacto. Pueden girar adems de forma continua, con
velocidad variable, como motores sncronos, ser sincronizados entre s, obedecer a secuencias
complejas de funcionamiento, etc. Se trata al mismo tiempo de motores muy ligeros, fiables
y fciles de controlar, pues al ser estable cada estado de excitacin del estator, el control se
realiza en bucle abierto, sin la necesidad de sensores de realimentacin.
Entre los inconvenientes, se puede citar que su funcionamiento a bajas velocidades no es
suave, y que existe el peligro de prdida de una posicin por trabajar en bucle abierto. Tien-
den a sobrecalentarse trabajando a velocidades elevadas y presentan un lmite en el tamao
que pueden alcanzar.
Su potencia nominal es baja y su precisin (mnimo ngulo girado) llega tpicamente has-
ta 1,8. Se emplean para el posicionado de ejes que no precisan grandes potencias (giro de
pinza) o para robots pequeos (educacionales); tambin son muy utilizados en dispositivos
perifricos del robot, como mesas de coordenadas.

Motores de Corriente Alterna (AC)

Este tipo de motores no ha tenido aplicacin en el campo de la robtica hasta hace unos aos,
debido fundamentalmente a la dificultad de su control. Sin embargo, las mejoras que se han
introducido en las mquinas sncronas hacen que en la actualidad sea la alternativa ms uti-
lizada en los robots industriales. Esto se debe principalmente a tres factores:
La construccin de rotores sncronos sin escobillas.
Uso de convertidores estticos que permiten variar la frecuencia (y as la velocidad de
giro) con facilidad y precisin.
Empleo de la microelectrnica que permite una gran capacidad de control.
El inductor se sita en el rotor y est constituido por imanes permanentes, mientras que el
inducido, situado en el estator, est formado por tres devanados iguales decalados 120 elc-
tricos que se alimentan con un sistema trifsico de tensiones. Es preciso resaltar la similitud
que existe entre este esquema de funcionamiento y el del motor sin escobillas.
En los motores sncronos, la velocidad de giro depende nicamente de la frecuencia de la
tensin que alimenta el inducido. Para poder variar sta con precisin, el control de velocidad
se realiza mediante un convertidor de frecuencia. Para evitar el riesgo de prdida de sincro-
nismo se utiliza un sensor de posicin que detecta la posicin del rotor y permite mantener en
todo momento el ngulo que forman los campos del estator y del rotor. Este mtodo de con-
trol se conoce como autosncrono o autopilotado.
50 FUNDAMENTOS DE ROBTICA

Figura 2.21. Gama de motores sin escobillas (brushless) con su etapa de control y potencia.
(Cortesa Baldor).

El motor sncrono autopilotado excitado con imn permanente, tambin llamado motor se-
noidal, no presenta problemas de mantenimiento debido a que no posee escobillas y tiene una
gran capacidad de evacuacin de calor, ya que los devanados estn en contacto directo con la
carcasa. El control de posicin se puede realizar sin la utilizacin de un sensor externo adi-
cional, aprovechando el detector de posicin del rotor que posee el propio motor. Adems,
permite desarrollar, a igualdad de peso, una potencia mayor que el motor de corriente conti-
nua. En la actualidad diversos robots industriales emplean este tipo de accionamientos con no-
tables ventajas frente a los motores de corriente continua.
En el caso de los motores asncronos, no se ha conseguido resolver satisfactoriamente los
problemas de control que presentan. Esto ha hecho que hasta el momento no tengan aplica-
cin en robtica.

Tabla 2.4. Caractersticas de distintos tipos de actuadores para robots

Neumtico Hidrulico Elctrico

Energa Aire a presin Aceite mineral Corriente elctrica


(5-10 bar) (50-100 bar )
Opciones Cilindros Cilindros Corriente continua
Motor de paletas Motor de paletas Corriente alterna
Motor de pistn Motor de pistones axiales Motor paso a paso
Ventajas Baratos Rpidos Precisos
Rpidos Alta relacin potencia-peso Fiables
Sencillos Autolubricantes Fcil control
Robustos Alta capacidad de carga Sencilla instalacin
Estabilidad frente a cargas estticas Silenciosos
Desventajas Dificultad de control Difcil mantenimiento Potencia limitada
continuo Instalacin especial
Instalacin especial Instalacin especial
(compresor, filtros ) (filtros, eliminacin aire)
Ruidoso Frecuentes fugas
Caros
CAPTULO 2. MORFOLOGA DEL ROBOT 51

2.4. SENSORES INTERNOS


Para conseguir que un robot realice su tarea con la adecuada precisin, velocidad e inteli-
gencia, ser preciso que tenga conocimiento tanto de su propio estado como del estado de su
entorno. La informacin relacionada con su estado (fundamentalmente la posicin de sus ar-
ticulaciones) la consigue con los denominados sensores internos, mientras que la que se re-
fiere al estado de su entorno, se adquiere con los sensores externos.
En este epgrafe se tratar nicamente de los sensores internos. Informacin sobre sen-
sores externos aplicados a la robtica puede encontrarse en [TORRES-02]. De forma general
tambin puede encontrarse informacin en textos y bibliografa especializada en visin arti-
ficial [ESCALERA-01], [GONZALEZ-92]; sensores de fuerza [BURDEA-96], tacto [RUSSEL-90],
distancia o telemetra.
La informacin que la unidad de control del robot puede obtener sobre el estado de su es-
tructura mecnica es, fundamentalmente, la relativa a su posicin y velocidad. En la Tabla 2.5
se resumen los sensores ms comnmente empleados para obtener informacin de presencia,
posicin y velocidad en robots industriales, explicados con ms detalle en [NACHTIGAL-90] o
[PALLS-03]. Se comentan a continuacin los ms significativos:

Tabla 2.5. Tipos de sensores propioceptivos para robots

Medida Tipo
Inductivo
Capacitivo
Efecto hall
Presencia Clula Reed
ptico
Ultrasonido
Contacto
Potencimetros
Posicin Resolver
Analgicos Sincro
Inductosyn
LVDT
Digitales
Posicin Encoders absolutos
Digitales Encoders incrementales
Regla ptica
Velocidad Tacogeneratriz

2.4.1. Sensores de Posicin


Para el control de posicin angular se emplean, fundamentalmente, los denominados enco-
ders y resolvers. Los potencimetros dan bajas prestaciones por lo que no se emplean salvo
en contadas ocasiones (robots educacionales, ejes de poca importancia).

Codificadores angulares de posicin (encoders)


Los codificadores pticos o encoders incrementales constan, en su forma ms simple, de un
disco transparente con una serie de marcas opacas colocadas radialmente y equidistantes en-
52 FUNDAMENTOS DE ROBTICA

Figura 2.22. Disposicin de un codificador ptico (encoder) incremental.

tre s; de un sistema de iluminacin en el que la luz es colimada de forma correcta, y de un


elemento fotorreceptor (Figura 2.22). El eje, cuya posicin se quiere medir, va acoplado al
disco transparente. Con esta disposicin, a medida que el eje gire se irn generando pulsos en
el receptor cada vez que la luz atraviese cada marca. Llevando una cuenta de estos pulsos ser
posible conocer la posicin del eje.
Los pulsos que se originan como consecuencia del giro, no informan por s mismos del
sentido de ste. Al objeto de poder conocer esta informacin, se dispone de una segunda fran-
ja de marcas, desplazada de la anterior de manera que el tren de pulsos que con ella se genere
est desfasado 90 con respecto al generado por la primera franja. De esta manera (Figu-
ra 2.23), mediante el uso de un biestable de tipo D, en el que la salida mantiene el valor de la
entrada leda durante el flanco positivo del reloj, es posible obtener una seal adicional (Q)
que indique cul es el sentido de giro, y que acte sobre el contador correspondiente indi-
cando que incremente o decremente la cuenta que se est realizando.
Dado que el contador es incremental, es preciso establecer cul es el cero, para lo cual se
incorpora una marca de referencia adicional (C) nica en todo el trazado del disco, que in-
dique que se ha dado una vuelta completa y que, por tanto, se ha de reinicializar el contador.

Biestable D
A AB
C A Entrada
Q

B B
Clock

Sentido de giro

Q Entrada CLK Q
0 Flanco positivo 0
Sentido de giro
1 Flanco positivo 1
Q
Tabla de verdad del Biestable D

Figura 2.23. Salidas A y B de un encoder y valor (Q) del biestable D, segn sentido de giro.
CAPTULO 2. MORFOLOGA DEL ROBOT 53

La resolucin de este tipo de sensores depende directamente del nmero de marcas que se
pueden poner fsicamente en el disco. Un mtodo relativamente sencillo para aumentar esta
resolucin es, no solamente contabilizar los flancos de subida de los trenes de pulsos, sino
contabilizar tambin los de bajada, resultando que el captador es capaz de distinguir un n-
mero de posiciones igual a cuatro veces el nmero de marcas por canal. Se puede llegar de
esta manera a valores de 100.000 pulsos por vuelta. Este valor puede ser todava aumentado
mediante el uso de filtros que modulan el nivel de luz que llega al receptor, lo que, tras una
umbralizacin del mismo, permiten distinguir un numero de posiciones muy elevado.
El funcionamiento bsico de los codificadores o encoders absolutos es similar al de los
incrementales. Se tiene una fuente de luz con las lentes de adaptacin correspondientes, un
disco graduado y unos fotorreceptores. En este caso, el disco transparente se divide en un n-
mero determinado de sectores (potencia de 2), codificndose cada uno de ellos segn un c-
digo binario cclico (normalmente cdigo Gray) que queda representado por zonas transpa-
rentes y opacas dispuestas radialmente (Figura 2.24).
No es necesario en este caso ningn contador o electrnica adicional para detectar el sen-
tido de giro, pues cada posicin (sector) es codificada de forma absoluta. Su resolucin es fija,
y vendr dada por el nmero de anillos que posea el disco graduado. Resoluciones habituales
van desde 28 a 219 bits (desde 256 a 524.288 posiciones distintas).
Normalmente, los sensores de posicin se acoplan al eje del motor. Considerando que en
la mayor parte de los casos entre el eje del motor y el de la articulacin se sita un reductor de
relacin N, cada movimiento de la articulacin se ver multiplicado por N al ser medido por
el sensor. ste aumentar as su resolucin multiplicndola por N.
En el caso de los codificadores absolutos, este efecto origina que una misma lectura del
captador, pueda corresponder a N posiciones distintas de la articulacin. Para diferenciarlas,
se puede utilizar un encoder adicional, conectado por un engranaje reductor al principal, de
manera que cuando ste gire una vuelta completa, el codificado adicional avanzar una po-
sicin. El conjunto se denomina encoders absolutos multivuelta.
Esta misma circunstancia (presencia del reductor) originar que en el caso de los codifi-
cadores incrementales la seal de referencia o marca de cero, sea insuficiente para detectar el
punto origen para la cuenta de pulsos, pues habr N posibles puntos de referencia para un giro
completo de la articulacin. Para distinguir cul de ellos es el correcto se suele utilizar un de-
tector de presencia denominado de sincronismo, acoplado directamente al eslabn del robot
que se considere. Cuando se conecta el robot desde una situacin de apagado, es preciso eje-
cutar un procedimiento de bsqueda de referencias para los sensores (sincronizado). Duran-

Figura 2.24. Franjas en un captador ptico absoluto.


54 FUNDAMENTOS DE ROBTICA

te su ejecucin se leen los detectores de sincronismo que detectan la presencia o ausencia del
eslabn del robot. Cuando se detecta la conmutacin de presencia a ausencia de pieza, o vi-
ceversa, se atiende al encoder incremental, tomndose como posicin de origen la corres-
pondiente al primer pulso de marca de cero que aqul genere.
Los encoders pueden presentar problemas mecnicos debido a la gran precisin que se
debe tener en su fabricacin. La contaminacin ambiental puede ser una fuente de interfe-
rencias en la transmisin ptica. Son dispositivos particularmente sensibles a golpes y vi-
braciones, estando su margen de temperatura de trabajo limitado por la presencia de compo-
nentes electrnicos.

Captadores angulares de posicin (sincro-resolvers)


La otra alternativa en sensores de posicin para robots la representan los resolvers y los sin-
croresolvers, tambin llamados sincros. Se trata de captadores analgicos con resolucin
tericamente infinita. El funcionamiento de los resolvers se basa en la utilizacin de una bo-
bina solidaria al eje excitada por una portadora, generalmente a 400 Hz, y por dos bobinas fi-
jas situadas a su alrededor (Figura 2.25).
El giro de la bobina mvil hace que el acoplamiento con las bobinas fijas varen, consi-
guiendo que la seal resultante en stas, dependa del seno del ngulo de giro. La bobina m-
vil excitada con tensin Vsen( t) y girada un ngulo induce en las bobinas fijas situadas en
cuadratura las siguientes tensiones:
V1 = V sen ( t ) sen
[2.3]
V2 = V sen ( t ) cos
Que es la llamada representacin del ngulo en formato resolver.
El funcionamiento de los sincros es anlogo al de los resolvers, excepto que las bobinas fi-
jas forman un sistema trifsico en estrella. Para un giro de la bobina mvil excitada con ten-
sin Vsen(t), admitiendo que los acoplamientos y los desfases son los mismos para todos
los devanados, se obtienen las siguientes tensiones entre las fases del estator:
V13 = 3 Vcos ( t ) sen
(
V32 = 3 Vcos ( t ) sen + 120 ) [2.4]
V21 = 3 Vcos ( t ) sen ( + 240 )
Que es la llamada representacin del ngulo en formato sincro.

Figura 2.25. Esquema de funcionamiento de un resolver.


CAPTULO 2. MORFOLOGA DEL ROBOT 55

El cambio de formato sincro a formato resolver o viceversa es inmediato, ya que se pue-


de pasar de uno a otro a travs de la llamada red de Scott o transformador de Scott, de fun-
cionamiento bidireccional.
Para poder tratar en el sistema de control la informacin generada por los resolvers y los
sincros es necesario convertir las seales analgicas en digitales. Para ello se utilizan los lla-
mados convertidores resolver/digital (R/D) que, tradicionalmente, se basan en dos tipos de es-
tructuras distintas: seguimiento (tracking) y muestreo (sampling).
Ambos captadores, resolvers y sincros, son de tipo absoluto. Entre sus ventajas destacan
su buena robustez mecnica durante el funcionamiento y su inmunidad a contaminacin, hu-
medad, altas temperaturas y vibraciones. Debido a su reducido momento de inercia, imponen
poca carga mecnica al funcionamiento del eje.
La Tabla 2.6 presenta una comparacin entre distintos tipos de sensores de posicin an-
gular atendiendo a diversos parmetros de funcionamiento. Se comenta brevemente a conti-
nuacin alguno de ellos.
Dado el carcter continuo de la seal, la resolucin de los resolvers es tericamente
infinita. Bien es verdad que depende en la mayora de las ocasiones de una electrnica
asociada, lo que limita la precisin de forma prctica. En el caso de los codificadores p-
ticos la resolucin viene limitada por el nmero de secciones opaco/transparentes que se
utilicen.
La exactitud esttica, definida como la diferencia entre la posicin fsica del eje y la seal
elctrica de salida, es relativamente alta tanto en resolvers como en codificadores pticos. El
rango dinmico se encuentra ms limitado en el caso de los codificadores pticos o digitales,
no as en los resolvers donde con conversiones R/D adecuadas se puede trabajar con veloci-
dades superiores a las 6.000 rpm.

Tabla 2.6. Comparacin entre distintos sensores pticos de posicin angular

Robustez Rango Resolucin Estabilidad


mecnica dinmico trmica

Encoder mala media buena buena

Resolver buena buena buena buena

Potenciometro regular mala mala mala

Sensores de desplazamiento lineal

La medida de desplazamiento lineal en las articulaciones de los robots no es frecuente. Aun


en los casos de grados de libertad de traslacin, es posible que este movimiento sea gene-
rado inicialmente con un actuador rotativo, convirtindose en un desplazamiento gracias al
sistema de transmisin. No obstante, hay casos en los que el actuador y el grado de libertad
son de translacin, tenindose entonces que considerar el uso de un sensor de desplaza-
miento.
Una solucin comercial posible es el uso de un captador rotativo, conectado a una polea
donde se enrolla una sirga o cordel, que se fija al eje cuyo desplazamiento se quiere medir. El
desplazamiento provoca el giro de la polea y del captador rotativo, que proporciona la medida
buscada.
56 FUNDAMENTOS DE ROBTICA

Otros sensores lineales que tambin se emplean con relativa frecuencia son las denomi-
nadas reglas pticas (equivalentes a los codificadores pticos angulares). stos tienen limitada
la longitud del recorrido por la necesidad de garantizar una perfecta alineacin entre la ban-
da que contiene la trama opaco-transparente y el emisor receptor de luz.
Para el caso de cilindros, pueden ser utilizados los sensores magnetosnicos, que insta-
lados en el interior del cilindro, son muy robustos.
Por ltimo, los denominados Inductosyn (marca registrada de Farrand Industries Inc.),
funcionan de manera similar al resolver, con la diferencia de que el rotor desliza linealmen-
te sobre el estator, siendo la forma de los devanados la representada en la Figura 2.26. El es-
tator se encuentra excitado por una tensin conocida que induce en el rotor una tensin Vs,
dependiendo de su posicin relativa:

Otros sensores de desplazamiento como las LVDT presentadas, a continuacin, son vli-
dos para la medida de pequeos desplazamientos, por lo que su uso como sensor interno del
robot es muy limitado.

LVDT e Inductosyn

Entre los sensores de posicin lineales destaca el transformador diferencial de variacin lineal
(LVDT) debido a su casi infinita resolucin, poco rozamiento y alta repetibilidad. Su fun-
cionamiento se basa en la utilizacin de un ncleo de material ferromagntico unido al eje
cuyo movimiento se quiere medir. Este ncleo se mueve linealmente entre un devanado pri-
mario y dos secundarios, haciendo con su movimiento que vare la inductancia entre ellos. La
Figura 2.27 presenta un breve esquema de su funcionamiento.
Los dos devanados secundarios conectados en oposicin serie ven cmo la induccin de
la tensin alterna del primario, al variar la posicin del ncleo, hace crecer la tensin en un
devanado y disminuirla en el otro. Del estudio de la tensin E0 se deduce que sta es pro-
porcional a la diferencia de inductancias mutuas entre el devanado primario con cada uno de

Figura 2.26. Esquema de funcionamiento de un Inductosym.


CAPTULO 2. MORFOLOGA DEL ROBOT 57

Figura 2.27. Esquema de funcionamiento de un LVDT.

los secundarios, y que, por tanto, depende linealmente del desplazamiento del vstago soli-
dario al ncleo.
Adems de las ventajas sealadas, el LVDT presenta una alta linealidad, gran sensibilidad
y una respuesta dinmica elevada. Su uso est ampliamente extendido, a pesar de la limita-
cin de poder ser aplicado nicamente en la medicin de pequeos desplazamientos.

x
Vs = kV cos 2 [2.5]
P

2.4.2. Sensores de Velocidad


La captacin de la velocidad se hace necesaria para mejorar el comportamiento dinmico de
los actuadores del robot. La velocidad de movimiento de cada actuador (que tras el reductor
es la velocidad de la articulacin) se realimenta normalmente a un bucle de control analgi-
co implementado en el propio accionador del elemento motor. No obstante, en ocasiones en
las que el sistema de control del robot lo exija, la velocidad de giro de cada actuador es lle-
vada hasta la unidad de control del robot.
Normalmente, y puesto que el bucle de control de velocidad es analgico, el captador usa-
do es una tacogeneratriz que proporciona una tensin proporcional a la velocidad de giro de
su eje (valores tpicos pueden ser 10 milivoltios por rpm).
Otra posibilidad, usada para el caso de que la unidad de control del robot precise valorar
la velocidad de giro de las articulaciones, consiste en derivar la informacin de posicin que
sta posee.
58 FUNDAMENTOS DE ROBTICA

2.4.3. Sensores de Presencia


Este tipo de sensor es capaz de detectar la presencia de un objeto dentro de un radio de accin
determinado. Esta deteccin puede hacerse con o sin contacto con el objeto. En el segundo
caso, se utilizan diferentes principios fsicos para detectar la presencia, dando lugar a los di-
ferentes tipos de captadores (vase Tabla 2.5). En el caso de deteccin con contacto, se trata
siempre de un interruptor, normalmente abierto o normalmente cerrado segn interese, ac-
tuado mecnicamente a travs de un vstago u otro dispositivo. Los detectores de presencia se
utilizan en robtica principalmente como auxiliares de los detectores de posicin, para indi-
car los lmites de movimiento de las articulaciones y permitir localizar la posicin de refe-
rencia de cero de stos, en el caso de que sean incrementales.
Adems de esta aplicacin, los sensores de presencia se usan como sensores externos,
siendo muy sencillos de incorporar al robot por su carcter binario y su costo reducido. Los de-
tectores inductivos permiten detectar la presencia o contar el nmero de objetos metlicos sin
necesidad de contacto. Presentan el inconveniente de distinto comportamiento segn del tipo de
metal del que se trate. El mismo tipo de aplicacin tiene los detectores capacitivos, ms volu-
minosos, aunque en este caso los objetos a detectar no precisan ser metlicos. En cambio pre-
sentan problemas de trabajo en condiciones hmedas y con puestas a tierra defectuosas.
Los sensores basados en el efecto Hall detectan la presencia de objetos ferromagnticos
por la deformacin que stos provocan sobre un campo magntico. Los captadores pticos,
sin embargo, pueden detectar la reflexin del rayo de luz procedente del emisor sobre el ob-
jeto. Una revisin ms detallada de estos sensores puede encontrarse en [BARRIENTOS-95].

Tabla 2.7. Sistemas de sujecin para robots

Tipos de sujecin Accionamiento Uso

Pinza de presin Transporte y manipulacin de piezas sobre


de desplazamiento Neumtico o elctrico las que no importe presionar
angular o lineal

Pinza de enganche Neumtico o elctrico Piezas de grandes dimensiones o sobre


las que no se puede ejercer presin.

Ventosas de vaco Neumtico Cuerpos con superficie lisa poco porosa


(cristal, plstico, etc.).

Electroimn Elctrico Piezas ferromagnticas.

2.5. ELEMENTOS TERMINALES


Los elementos terminales, tambin llamados efectores finales (end effector) son los encar-
gados de interaccionar directamente con el entorno del robot. Pueden ser tanto elementos de
aprehensin como herramientas.
Si bien un mismo robot industrial es, dentro de unos lmites lgicos, verstil y readapta-
ble a una gran variedad de aplicaciones, no ocurre as con los elementos terminales, que son
en muchos casos especficamente diseados para cada tipo de trabajo.
CAPTULO 2. MORFOLOGA DEL ROBOT 59

2.5.1. Elementos de sujecin


Se puede establecer una clasificacin de los elementos terminales atendiendo a si se trata de
un elemento de sujecin o de una herramienta. Los primeros se pueden clasificar segn el sis-
tema de sujecin empleado. En la Tabla 2.7 se representan estas opciones, as como los usos
ms frecuentes.
Los elementos de sujecin ms comunes son las denominadas pinzas o garras. Habi-
tualmente, utilizan accionamiento neumtico para sujetar las piezas por presin (Figura 2.28).
En el mercado se pueden encontrar pinzas neumticas de diversas caractersticas, debindose
atender en la seleccin al tipo de movimientos de los dedos (linear o angular), el recorrido de
stos, la fuerza que ejercen, el nmero de dedos (por lo general 2 o 3), si se precisa ejercer fuer-
za tanto en apertura como en cierre y al tiempo de respuesta.
En el clculo de la fuerza de agarre, debe considerarse no slo el peso de la pieza a trans-
portar, sino tambin su forma; el material de que est hecha, que afectar al valor de la fuer-
za de rozamiento con la superficie con los dedos de la pinza; y las aceleraciones con que se
pretende mover a la pieza.
Dada la importancia de conseguir la mayor superficie de contacto entre dedos de la pinza
y pieza, suele ser necesario el disear unos dedos a medida para la pieza a manipular. stos
son fijados a los elementos mviles que incorporarn las pinzas.
En ocasiones, la tarea encomendada al robot precisa la manipulacin de piezas de di-
ferentes caractersticas, para cada una de las cuales es necesario el uso de una pinza di-
ferente. En estos casos hay dos opciones posibles. En la primera, el robot porta un sistema
multipinza, cada una de las cuales est preparada para la manipulacin de una pieza en
concreto. En la segunda, el robot porta un sistema que permite el cambio automtico de la
pinza. stas se encuentran preparadas para ser fijadas, de manera automtica, al elemento de
acoplamiento transportado por el robot, facilitando la conexin mecnica, neumtica y en su
caso elctrica (seales procedentes de sensores incorporados a la pinza).
Una opcin usada frecuentemente para la manipulacin de piezas en tareas de coger y de-
jar (pick & place), es la sujecin mediante succin o vaco. Se emplean para ello ventosas
de diferentes materiales (caucho, silicona, etc.) sobre las que, una vez en contacto estanco con

Figura 2.28. Pinzas neumticas para robots: a) dos dedos; b) tres dedos. (Cortesa FESTO).
60 FUNDAMENTOS DE ROBTICA

Figura 2.29. Ventosa para manipulacin por vaco. (Cortesa de FESTO).

la pieza, se hace el vaco (Figura 2.29). ste se consigue mediante el efecto Venturi que un
caudal de aire a presin consigue sobre una tobera. El sistema de vaco por Venturi y la ven-
tosa, constituyen una unidad compacta que es transportada por el robot. Lgicamente, este
mtodo de sujecin es slo aplicable a materiales que permitan la estanqueidad. Ejemplos de
manipulacin por vaco son superficies planas de plstico, vidrio, papel o metal.

Tabla 2.8. Herramientas terminales para robots

Tipo de herramienta Comentarios

Pinza soldadura por puntos Dos electrodos que se cierran sobre la pieza a soldar.
Soplete soldadura al arco Aportan el flujo de electrodo que se funde.
Cucharn para colada Para trabajos de fundicin.
Atornillador Suelen incluir la alimentacin de tornillos.
Fresa-lija Para perfilar, eliminar rebabas, pulir, etc.
Pistola de pintura Por pulverizacin de la pintura.
Can lser Para corte de materiales, soldadura o inspeccin.
Can de agua a presin Para corte de materiales.

Figura 2.30. Robot IRB 6000ID con pinza de soldadura. (Cortesa ABB).
CAPTULO 2. MORFOLOGA DEL ROBOT 61

2.5.2. Herramientas terminales


En muchas aplicaciones el robot ha de realizar operaciones que no consisten en manipular ob-
jetos, sino que implican el uso de una herramienta. En general, esta herramienta debe ser
construida o adaptada de manera especfica para el robot, pero dado que hay aplicaciones am-
pliamente robotizadas, se comercializan herramientas especficas para su uso por robots. Apli-
caciones como la soldadura por puntos, por arco o la pintura son algunas de ellas.
La Figura 2.30 muestra un robot equipado con una pinza de soldadura por puntos. sta
puede incluir los actuadores para cerrar los electrodos sobre las piezas con la adecuada pre-
sin, el transformador de soldadura y el sistema de refrigeracin de los electrodos.
En la Figura 2.31 se muestra una antorcha de soldadura al arco, mientras que la Figura 2.32,
muestra una pistola de pulverizacin de pintura.
Normalmente, la herramienta (o la pinza en su caso) est fijada rgidamente al extremo del
robot aunque en ocasiones se dota a ste de un dispositivo que, mediante cierto grado de fle-
xibilidad, permite la modificacin de su posicin ante la presencia de esfuerzos exteriores, fa-
cilitando as tareas de contacto, como el ensamblado o el desbaste de material (pulido, des-
barbado, etc.) (Vase Figura 2.33).

Figura 2.31. Antorcha de soldadura al arco. (Cortesa de ABB).

Figura 2.32. Pistola de pulverizacin neumtica de pintura. (Cortesa de ABB).


62 FUNDAMENTOS DE ROBTICA

La Tabla 2.8 enumera algunas de las herramientas ms frecuentes. En [FERRAT-86] y


[GROOVER-89] puede encontrarse un estudio detallado sobre distintas herramientas y pinzas
para robots.

Figura 2.33. Sistema con centro de adapatabilidad remoto (RCC). (Cortesa de ATI).

2.6. BIBLIOGRAFA

[AN-88] An, C. H., Atkenson, C. G. y Hollerbach, J. M., Direct Drive Arms, en: Model-ba-
sed Control of a Robot Manipulator, The MIT Press, 1988.
[ARACIL-06] Aracil, R., Saltarn, R. Sabater, J. N., Reinoso, O. Robots paralelos: Mquinas
con un pasado para una robtica del futuro. Revista Iberoamericana de Automtica e In-
formtica Industrial. Vol3. Nm. 1, Enero 2006. pp. 16-28. CEA
[BARRIENTOS-95] Barrientos, A., Pen, L. F., Carrera, J., Automatizacin de la fabricacin.
Transductores, actuadores y autmatas programables, Seccin de Publicaciones ETSI In-
dustriales de Madrid, Universidad Politcnica de Madrid, 1995.
[BURDEA-96] G. C. Burdea, Force and Touch Feedback for Virtual Reality, Wiley-Interscience,
1996.
[CORTS-89] Corts Cherta, M., Curso moderno de mquinas elctricas rotativas. Cuatro to-
mos. Editores Tcnicos Asociados, Barcelona, 1989.
[CYCLO-96] Cyclo Getriebebau, Catlogo de productos, 1992.
[DEPPERT-94] Deppert, W. y Stoll, K., Dispositivos neumticos, Marcombo Boixareu Edito-
res, Barcelona, 1994.
[ESCALERA-01] de la Escalera, A., Visin por computador. Fundamentos y mtodos. Ed.
Prentice-Hall, 2001
[FERRANDO-93] Ferrando, F., J. Mercader, Criterios para la seleccin de un reductor de ve-
locidad, Automtica e Instrumentacin, 237, pp. 100-106, 1993.
[FERRAT-86] Ferrat, G., Robtica industrial, Marcombo Boixareu Editores, Barcelona,
1986.
[GONZALEZ-92] R. C. Gonzlez y R. E. Woods, Digital Image Processing, Addison Wesley,
1992.
[GROOVER-89] Groover, M. P, Robot y efectores finales, en: Robtica Industrial. Tecnolo-
ga, Programacin y Aplicaciones, McGraw-Hill, Madrid, 1989.
[HARMONIC-06] HarmonicDrive, Catlogo de Productos, www.HarmonicDrive.net
CAPTULO 2. MORFOLOGA DEL ROBOT 63

[IFR-05] International Federation of Robotics and United Nations, World Robotics 2005, Sta-
tistics, Market Analysis, Forecast, Case Studies and Profitability of Robot Investment, Uni-
ted Nations Publications, 2005.
[MONTANO-88] Montano, L., Tards, J.D., y Saghs, C., Accionamientos directos para ro-
bots, Automtica e Instrumentacin, 179, pp. 251-261, 1988.
[NACHTIGAL-90] Natchtigal, C. L., Instrumentation and control. Fundamentals and applica-
tions, Wiley-Interscience, 1990.
[PALLS-03] Palls, R., Transductores de reactancia variable y electromagnticos, en:
Transductores y acondicionadores de seal, 4.a edicin, Marcombo, Barcelona, 2003.
[REULEAUX-1876] Reuleaux, F., The Kinematics of Machinery, London: Macmillan, 1876.
[RUSSEL-90] Russel, R.A., Robot Tactile Sensing, Prentice-Hall, 1990.
[TENREIRO-94] Tenreiro, J. A., Motores Paso a Paso. Controlo e Modos de Funcionamiento.
Ed. Publindustria, Oporto, 1994.
[TORRES-02] Torres, F., Pomares, J., Gil, P., Puente, S., Aracil, R., Robots y Sistemas senso-
riales, Ed. Prentice Hall, 2002.
[TSAI-99] Tsai, L. W., Robot Analysis: the Mechanics of Serial and Parallel Manipulators.
Wiley Interscience, John Wiley and Sons, 1999.
[VOCKROTH-94] Vockroth, R. W., Industrial Hydraulics, Delmar Publishers, Nueva York,
1994.
[YOUCEF-89] Youcef-Toumi, K., Design and Control of Direct-Drive Robots-a Survey, en:
The Robotics Review 1 ( O. Khatib, J. J. Craig y Lozano-PJrez, Ed.), pp. 283-302. The
MIT Press, Cambridge, 1989.
CAPTULO 3
Herramientas matemticas para
la localizacin espacial

De pequea centella se levanta gran fuego


Refranero Popular

Para que el robot pueda realizar las tareas de manipulacin que le son encomendadas es ne-
cesario que conozca la posicin y orientacin de los elementos a manipular con respecto a la
base del robot. Se entiende entonces la necesidad de contar con una serie de herramientas ma-
temticas que permitan especificar la posicin y orientacin en el espacio de piezas, herra-
mientas y, en general, de cualquier objeto.
Estas herramientas han de ser lo suficientemente potentes como para permitir obtener de
forma sencilla relaciones espaciales entre distintos objetos y en especial entre stos y el ma-
nipulador. Los siguientes epgrafes introducen de forma progresiva estas herramientas, de es-
pecial importancia para la adecuada comprensin de desarrollos que aparecern en captulos
posteriores. Sin embargo, es necesario resaltar que stas son de aplicacin general para el tra-
tamiento de problemas de localizacin espacial y que, por tanto, no son de aplicacin exclu-
siva en el campo de la robtica.
Los dos primeros apartados presentan los distintos mtodos existentes para la represen-
tacin de la posicin y orientacin espacial de un cuerpo rgido. Los conceptos se irn in-
troduciendo por orden creciente de dificultad, comenzando con la representacin en dos di-
mensiones, para seguidamente pasar al anlisis en tres. En el siguiente epgrafe se introduce
el concepto de matriz de transformacin homognea, necesario para la representacin con-
junta de posicin y orientacin, junto con sus propiedades y aplicaciones. Se trata de una he-
rramienta muy til para representar transformaciones espaciales, estando su uso amplia-
mente extendido en diversos campos adems del de la robtica, como por ejemplo, en el de
grficos por computador.
Los denominados cuaternios, al tratarse de una herramienta de uso ms restringido a otros
campos, como el aeronutico, no son analizados con el suficiente detalle en la bibliografa
existente en robtica. Se trata de un mtodo de gran economa computacional utilizado in-
cluso por algunos robots comerciales para la representacin de orientacin, y por ello se ha
incluido un apartado dedicado a su estudio.

3.1. REPRESENTACIN DE LA POSICIN


La localizacin de un cuerpo rgido en el espacio precisa de especificar tanto su posi-
cin como su orientacin. Ambas deben ser establecidas en relacin a un sistema de re-
ferencia definido, pudindose hacer uso de diferentes modos o herramientas para es-

65
66 FUNDAMENTOS DE ROBTICA

pecificar la relacin entre la posicin y orientacin del cuerpo rgido y los sistemas de
referencia.
La representacin de la posicin y orientacin va a ser tratada inicialmente de manera in-
dependiente para despus combinar ambas haciendo uso de herramientas matemticas que fa-
ciliten su empleo.
En un plano bidimensional, la posicin de un cuerpo rgido precisa de dos grados de
libertad y, por tanto, la posicin del cuerpo quedar definida por dos componentes in-
dependientes. En el caso de espacio tridimensional ser necesario emplear tres compo-
nentes.

3.1.1. Sistema cartesiano de referencia

Normalmente los sistemas de referencia se definen mediante ejes perpendiculares entre s


con un origen definido. stos se denominan sistemas cartesianos, y en el caso de trabajar
en el plano (2 dimensiones), el sistema de referencia OXY correspondiente queda definido
por dos vectores coordenados OX y OY perpendiculares entre s con un punto de intersec-
cin comn O (vase Figura 3.1.a).
Si se trabaja en el espacio (tres dimensiones), el sistema cartesiano OXYZ estar com-
puesto por una terna ortonormal de vectores unitarios OX, OY y OZ, tal y como se ve en la
Figura 3.1.b. Se trata de una terna ortonormal a derechas.

)
(x ,y,z
p
x a z
Y
O
y
,y)
p( x x
y
O X
X

Figura 3.1. Representacin de un vector en coordenadas cartesianas en 2 y 3 dimensiones.

3.1.2. Coordenadas cartesianas


Si se trabaja en un plano, con su sistema coordenado OXY de referencia asociado, un punto a
vendr expresado por las componentes (x, y) correspondientes a los ejes coordenados del sis-
tema OXY. Este punto tiene asociado un vector p(x, y), que va desde el origen O del sistema
OXY hasta el punto a (vase Figura 3.1a). Por tanto, la posicin del extremo del vector p est
caracterizada por las dos componentes (x, y), denominadas coordenadas cartesianas del vec-
tor y que son las proyecciones del vector p sobre los ejes OX y OY.
CAPTULO 3. HERRAMIENTAS MATEMTICAS PARA LA LOCALIZACIN ESPACIAL 67

En el caso de que se trabaje en tres dimensiones, un vector viene definido con respecto al
sistema de referencia OXYZ mediante las coordenadas correspondientes a cada uno de los
ejes coordenados. En el caso de la Figura 3.1b, el vector p estar definido por las compo-
nentes cartesianas (x, y, z).

3.1.3. Coordenadas Polares y cilndricas


Para un plano, es posible tambin caracterizar la localizacin de un punto o vector p respec-
to a un sistema de ejes cartesianos de referencia OXY utilizando las denominadas coorde-
nadas polares p(r, ) (Figura 3.2a). En esta representacin, r representa la distancia desde el
origen O del sistema hasta el extremo del vector p, mientras que es el ngulo que forma el
vector p con el eje OX.
En el caso de trabajar en tres dimensiones, un vector p podr expresarse con respecto a un
sistema de referencia OXYZ, mediante las coordenadas cilndricas p(r, , z) (Figura 3.2b).
Las componentes r y tienen el mismo significado que en el caso de coordenadas polares,
aplicado el razonamiento sobre el plano OXY, mientras que la componente z expresa la
proyeccin sobre el eje OZ del vector p.

Y
p(r,,z)

p(r,) z Y
O
r r


O X
X

a) b)
Figura 3.2. Representacin de a) coordenadas polares y b) cilndricas.

3.1.4. Coordenadas Esfricas


Tambin es posible utilizar coordenadas esfricas para realizar la localizacin de un vector en
un espacio de tres dimensiones. Utilizando el sistema de referencia OXYZ, el vector p tendr
como coordenadas esfricas (r, , ), donde la componente r es la distancia desde el origen O
hasta el extremo del vector p; la componente es el ngulo formado por la proyeccin del
vector p sobre el plano OXY con el eje OX; y la componente es el ngulo formado por el
vector p con el eje OZ (Figura 3.3).
68 FUNDAMENTOS DE ROBTICA

p(r,,)

r

Y
O

Figura 3.3. Representacin de un vector en coordenadas esfricas.

3.2. REPRESENTACIN DE LA ORIENTACIN


Un punto queda totalmente definido en el espacio a travs de los datos de su posicin. Sin
embargo, para el caso de un slido rgido, es necesario adems definir cul es su orientacin
con respecto a un sistema de referencia. En el caso de un robot, no es suficiente con especi-
ficar cul debe ser la posicin de su extremo, sino que, en general, es tambin necesario in-
dicar su orientacin. Por ejemplo, en el caso de un robot que tenga que realizar sobre una pie-
za curva una operacin de pulido, no bastara con especificar los puntos de la superficie para
situar adecuadamente la herramienta, sino que ser necesario tambin conocer la orientacin
con que la herramienta ha de realizar la operacin.
Una orientacin en el espacio tridimensional viene definida por tres grados de libertad o
tres componentes linealmente independientes. Para poder describir de forma sencilla la
orientacin de un objeto respecto a un sistema de referencia, es habitual asignar solidaria-
mente al objeto un nuevo sistema, y despus estudiar la relacin espacial existente entre los
dos sistemas. De forma general, esta relacin vendr dada por la posicin y orientacin del
sistema asociado al objeto respecto al de referencia. Para el anlisis de los distintos mtodos
de representar orientaciones se supondr que ambos sistemas coinciden en el origen, y que
por tanto, no existe cambio alguno de posicin entre ellos.

3.2.1. Matrices de rotacin

Las matrices de rotacin son el mtodo ms extendido para la descripcin de orientaciones,


debido principalmente a la comodidad que proporciona el uso del lgebra matricial.
Supngase que se tiene en el plano dos sistemas de referencia OXY y OUV con un mis-
mo origen O, siendo el sistema OXY el de referencia fijo y el sistema OUV el mvil, soli-
dario al objeto (Figura 3.4a). Los vectores unitarios de los ejes coordenados del sistema OXY
son ix, jy, mientras que los del sistema OUV son iu, jv.
Un vector p del plano se puede representar como:

P = pu i u + pv jv [3.1]
CAPTULO 3. HERRAMIENTAS MATEMTICAS PARA LA LOCALIZACIN ESPACIAL 69

Adems, se verifican las igualdades siguientes (por tratarse de productos escalares).

px = i x P
[3.2]
py = i v P

Y Y

V
V
U
jy
jv iu

O U O ix
X X

a) b)
Figura 3.4. Orientacin de un sistema OUV respecto a otro OXY en un plano.

Sustituyendo la Expresin [3.1] en [3.2] se obtiene:

px pu [3.3]
= R
py pv

donde:

i x iu i x jv
R=
jy jv
[3.4]
jy iu

es la llamada matriz de rotacin, que define la orientacin del sistema OUV con respecto al
sistema OXY, y que sirve para transformar las coordenadas de un vector en un sistema a las
del otro. Tambin recibe el nombre de matriz de cosenos directores. Es fcil de comprobar
que se trata de una matriz ortonormal, tal que R1  RT.
En el caso de dos dimensiones, la orientacin viene definida por un nico parmetro inde-
pendiente. Si se considera la posicin relativa del sistema OUV girado un ngulo sobre el OXY
(Figura 3.4b), tras realizar los correspondientes productos escalares, la matriz R ser de la forma:

cos sen
R= [3.5]
sen cos

Para el caso en que  0, en el que los ejes coordenados de ambos sistemas coinciden, la
matriz R corresponder a la matriz unitaria.
En un espacio tridimensional, el razonamiento a seguir es similar. Supnganse los sistemas
OXYZ y OUVW, coincidentes en el origen, siendo el OXYZ el sistema de referencia fijo, y el
OUVW el solidario al objeto cuya orientacin se desea definir. (Figura 3.5a). Los vectores uni-
70 FUNDAMENTOS DE ROBTICA

tarios del sistema OXYZ sern ix, jy, kz, mientras que los del OUVW sern iu, jv, kw. Un vector
p del espacio podr ser referido a cualquiera de los sistemas de la siguiente manera:

puvw = [ pu , pv , pw ]T = pu iu + pv jv + pw kw
[3.6]
pxyw = [ p x , py , pz ]T = px i x + py jy + pz kz

Y al igual que en dos dimensiones, se puede obtener la siguiente equivalencia:

px pu

py = R pv [3.7]
p pw
z

donde:

i x iu i x jv i x kw

R = jy iu jy jv jy kw [3.8]
kz iu kz jv kz kw

es la matriz de rotacin que define la orientacin del sistema OUVW con respecto al siste-
ma OXYZ. Al igual que en dos dimensiones, tambin recibe el nombre de matriz de cosenos
directores y se trata de un matriz ortonormal, tal que la inversa de la matriz R es igual a su
traspuesta: R1  RT.
Es especialmente til el establecer la expresin de la matriz de rotacin correspondiente
a sistemas girados nicamente sobre uno de los ejes del sistema de referencia.
En la Figura 3.5b, la orientacin del sistema OUVW, con el eje OU coincidente con el eje
OX, vendr representada mediante la matriz:

1 0 0
Rot x ( ) = 0 cos sen [3.9]

0 sen cos

Z Z

W W

V

V Y Y
O
U O
U
X X
a) b)
Figura 3.5. Sistema de referencia OXYZ y solidario al objeto OUVW.
CAPTULO 3. HERRAMIENTAS MATEMTICAS PARA LA LOCALIZACIN ESPACIAL 71

En la Figura 3.6a, la orientacin del sistema OUVW, con el eje OV coincidente con el eje
OY, vendr representada mediante la matriz:

cos 0 sen
Roty ( ) = 0 1 0 [3.10]
sen 0 cos
En la Figura 3.6b la orientacin del sistema OUVW, con el eje OW coincidente con el eje
OZ, vendr representada mediante la matriz:

cos sen 0

Rotz ( ) = sen cos 0 [3.11]
0 0 1
Z Z

W
W

V
V Y Y
O O



U
X U X
a) b)
Figura 3.6. Rotacin del sistema OUVW con respecto a los ejes OY y OZ.

Estas tres matrices, Ecuaciones [3.9], [3.10] y [3.11], se denominan matrices bsicas de
rotacin de un sistema espacial de tres dimensiones.

Composicin de rotaciones
Las matrices de rotacin pueden componerse para expresar la aplicacin continua de varias
rotaciones. As, si al sistema OUVW se le aplica una rotacin de ngulo sobre OX, segui-
da de una rotacin de ngulo sobre OY y de una rotacin de ngulo sobre OZ, la rotacin
global puede expresarse como:

C S 0 C 0 S 1 0 0

T = Rotz ( ) Roty ( ) Rotx ( ) = S C 0 0 1 0 0 C S =
0 0 1 S 0 C 0 S C [3.12]
C C S C + C S S S S + C SC

= S C C C + S S S C S + S SC
S C S CC

donde C expresa cos y S expresa sen .


72 FUNDAMENTOS DE ROBTICA

Es importante considerar el orden en que se realizan las rotaciones, pues el producto de


matrices no es conmutativo. As, si la rotacin se hiciera primero un ngulo sobre OZ, se-
guida de una rotacin de ngulo sobre OY, para finalizar con otra rotacin de ngulo so-
bre OX, la rotacin global vendr expresada por:

1 0 0 C 0 S C S 0

T = Rotx ( ) Roty ( ) Rotz ( ) = 0 C S 0 1 0 S C 0 =
0 S C S 0 C 0 0 1
[3.13]
CC C S S

= S SC + C S S S S + C C S C
C SC + S S C S S + S C C C

que como se aprecia, difiere en gran medida de la anterior. Obsrvese que, en todos los casos
los giros estn definidos respecto de los ejes del sistema fijo OXYZ.
Un estudio ms detallado sobre la composicin de rotaciones, aunque aplicado al caso
ms general de matrices de transformacin homognea, se puede encontrar en el Epgra-
fe 3.3.5.

3.2.2. ngulos de Euler

Para la representacin de orientacin en un espacio tridimensional mediante un matriz de ro-


tacin es necesario definir nueve elementos. Aunque la utilizacin de las matrices de rotacin
presente mltiples ventajas, como se ver en el siguiente epgrafe, existen otros mtodos de
definicin de orientacin que hacen nicamente uso de tres componentes para su descripcin.
ste es el caso de los llamados ngulos de Euler.
Todo sistema OUVW solidario al cuerpo cuya orientacin se quiere describir, puede de-
finirse con respecto al sistema OXYZ mediante tres ngulos: , , , denominados ngulos
de Euler que representan los valores de los giros a realizar sobre tres ejes ortogonales en-
tre s, de modo que girando sucesivamente el sistema OXYZ sobre estos ejes octonormales
los valores de , , , se obtendr el sistema OUVW. Es necesario, por tanto, conocer ade-
ms de los valores de los ngulos, cules son los ejes sobre los que se realizan los giros.
Existen diversas posibilidades, siendo las tres ms usuales las que se muestran a continua-
cin:

ngulos de Euler WUW

Es una de las representaciones ms habituales entre las que realizan los giros sobre ejes pre-
viamente girados. Se le suele asociar con los movimientos bsicos de un girscopo. Si se par-
te de los sistemas OXYZ y OUVW, inicialmente coincidentes, se puede colocar al sistema
OUVW en cualquier orientacin siguiendo los siguientes pasos (Figura 3.7).

1. Girar el sistema OUVW un ngulo con respecto al eje OZ, convirtindose as en el


OUVW.
CAPTULO 3. HERRAMIENTAS MATEMTICAS PARA LA LOCALIZACIN ESPACIAL 73

2. Girar el sistema OUVW un ngulo con respecto al eje OU, convirtindose as en


el OUVW.
3. Girar el sistema OUVW un ngulo con respecto al eje OW convirtindose fi-
nalmente en el OUVW.

Es importante que estas operaciones se realicen en la secuencia especificada, pues las ope-
raciones de giros consecutivos sobre ejes, no son conmutativas.

Z W W'
W'' W'''


V'''
V''
V'
O
YV


U'''
UX U' U''
Figura 3.7. ngulos de Euler WUW.

ngulos de Euler WVW

Es otra de las representaciones ms habituales entre las que realizan los giros sobre ejes pre-
viamente girados. Slo se diferencia del anterior en la eleccin del eje sobre el que se realiza el
segundo giro. Si se parte de los sistemas OXYZ y OUVW, inicialmente coincidentes, se puede
colocar al sistema OUVW en cualquier orientacin siguiendo los siguientes pasos (Figura 3.8).

Z W W'
W'' W'''

V'''


V'V''

O
YV



U'''
XU U'
U''
Figura 3.8. ngulos de Euler WVW.
74 FUNDAMENTOS DE ROBTICA

1. Girar el sistema OUVW un ngulo con respecto al eje OZ, convirtindose as en el


OUVW.
2. Girar el sistema OUVW un ngulo con respecto al eje OV, convirtindose as en
el sistema OUVW.
3. Girar el sistema OUVW un ngulo con respecto al eje OW, convirtindose fi-
nalmente en el OUVW.

Como antes, es preciso considerar que el orden de los giros no es conmutativo.

ngulos Euler XYZ

Estos giros sobre los ejes fijos se denominan guiada, cabeceo y alabeo (Yaw, Pitch y Roll).
Se trata de la representacin utilizada generalmente en aeronutica. Es tambin la ms habi-
tual de entre las que se aplican a los giros sobre los ejes del sistema fijo. Si se parte de los sis-
temas OXYZ y OUVW, al igual que en el caso anterior, se puede colocar al sistema OUVW
en cualquier orientacin siguiendo los siguientes pasos. (Figura 3.9).

1. Girar el sistema OUVW un ngulo ( con respecto al eje OX. Es el denominado


Yaw o guiada.
2. Girar el sistema OUVW un ngulo ( con respecto al eje OY. Es el denominado
Pitch o cabeceo.
3. Girar el sistema OUVW un ngulo ( con respecto al eje OZ. Es el denominado
Roll o alabeo.

Al igual que en los casos anteriores, y en general siempre que se concatenan varios giros
seguidos, es necesario considerar que no se trata de una transformacin conmutativa, de-
bindose seguir una secuencia determinada de aplicacin de los mismos.

Z W

Roll

Pitch

O Y
Yaw
V


X U

Figura 3.9. ngulos de Euler XYZ (Yaw, Pitch y Roll).


CAPTULO 3. HERRAMIENTAS MATEMTICAS PARA LA LOCALIZACIN ESPACIAL 75

3.2.3. Par de rotacin


La representacin de la orientacin de un sistema OUVW con respecto al sistema de re-
ferencia OXYZ tambin puede realizarse mediante la definicin de un vector k(kx, ky,
kz) y un ngulo de giro , tal que el sistema OUVW corresponde al sistema OXYZ gi-
rado un ngulo sobre el eje k (Figura 3.10). El eje k ha de pasar por el origen O de
ambos sistemas. Al par (k, ) se le denomina par de rotacin y se puede demostrar que
es nico.
Al igual que los ngulos de Euler, no se trata de un mtodo que permita realizar una vi-
sualizacin sencilla de la orientacin, salvo en casos muy concretos en los que el vector k
coincida con algunos de los ejes coordenados del sistema OXYZ. La utilidad de este sis-
tema se ver en epgrafes posteriores. Para la definicin de orientacin con este mtodo, es
necesario definir cuatro parmetros distintos: kx, ky, kz y . Se puede representar como
Rot(k, ).
La aplicacin de un par de rotacin que rote un vector p un ngulo alrededor del vector
unitario k se realiza a travs de la siguiente expresin:

Rot(k, ) p = p cos + (k p) sen + k(k p)(1 cos ) [3.14]

W k

kz
Y
O
kx
ky
X
U
Figura 3.10. Representacin de orientacin por eje y ngulo de giro (par de rotacin).

3.2.4. Cuaternios
Los cuaternios, definidos por Hamilton [HAMILTON-69], pueden ser utilizados como herra-
mienta matemtica de gran versatilidad computacional para trabajar con giros y orienta-
ciones. En la bibliografa clsica sobre robtica suelen ser obviados o no tratados con el su-
ficiente detalle, a pesar de ser empleados por algunos robots comerciales (ABB). Para
comprender la verdadera utilidad de los cuaternios, es necesario analizar sus propiedades y
ver la aplicacin prctica de las mismas. Esto se realizar en un epgrafe posterior, expo-
nindose aqu nicamente su definicin.
Un cuaternio Q est constituido por cuatro componentes (q0, q1, q2, q3) que representan las
coordenadas del cuaternio en una base {e, i, j, k}. Es frecuente denominar parte escalar del
76 FUNDAMENTOS DE ROBTICA

cuaternio a la componente en e: q0, y parte vectorial al resto de componentes. De modo que


un cuaternio se puede representar como:

Q = [q0 , q1 , q2 , q3] = [s, v] [3.15]

donde s representa la parte escalar, y v la parte vectorial.


Para la utilizacin de los cuaternios como metodologa de representacin de orientaciones
se asocia el giro de un ngulo sobre el vector k al cuaternio definido por:


Q = Rot(k, ) = cos , k sen [3.16]
2 2

De esta asociacin aparentemente arbitraria y gracias a las propiedades de los cuaternios


que ms adelante se vern, se obtiene una importante herramienta analtica para el tratamiento
de giros y cambios de orientacin.

3.3. MATRICES DE TRANSFORMACIN HOMOGNEA

En los epgrafes anteriores se han estudiado distintos mtodos de representar la posicin o la


orientacin de un slido en el espacio. Pero ninguno de estos mtodos por s solo permite una
representacin conjunta de la posicin y de la orientacin (localizacin). Las matrices de
transformacin homognea, permiten esta representacin conjunta, facilitando su uso me-
diante el lgebra matricial.

3.3.1. Coordenadas y matrices homogneas

Al objeto de poder representar y tratar conjuntamente la posicin y la orientacin de un


solido, se introducen las coordenadas homogneas. Un elemento de un espacio n-di-
mensional, se encuentra representado en coordenadas homogneas por n  1 dimensio-
nes, de tal forma que un vector p (x, y, z) vendr representado por p (wx, wy, wz, w), don-
de w tiene un valor arbitrario y representa un factor de escala. De forma general, un vector
p  ai  bj  ck, donde i, j y k son los vectores unitarios de los ejes OX, OY y OZ del
sistema de referencia OXYZ, se representa en coordenadas homogneas mediante el
vector columna:

x aw a
y bw b
p= = = [3.17]
z cw c

w w 1

Por ejemplo, el vector 2i  3j  4k se puede representar en coordenadas homogneas


como [2, 3, 4, 1]T, o como [4, 6, 8, 2]T o tambin como [6, 9, 12, 3]T, etc. Los vectores
nulo se representan como [0, 0, 0, n]T, donde n es no-nulo. Los vectores de la forma [a, b, c, 0]T
sirven para representar direcciones, pues representan vectores de longitud infinita.
CAPTULO 3. HERRAMIENTAS MATEMTICAS PARA LA LOCALIZACIN ESPACIAL 77

A partir de la definicin de las coordenadas homogneas surge inmediatamente el con-


cepto de matriz de transformacin homognea. Se define como matriz de transformacin
homognea T a una matriz de dimensin 4  4 que representa la transformacin de un vec-
tor de coordenadas homogneas de un sistema de coordenadas a otro.

R33 p31 Rotacin Traslacin


T= = [3.18]
f13 w11 Perspectiva Escalado

Se puede considerar que una matriz homognea se haya compuesta por cuatro submatri-
ces de distinto tamao: una submatriz R3  3 que corresponde a una matriz de rotacin; una
submatriz p3 1 que corresponde al vector de traslacin; una submatriz f1  3 que representa
una transformacin de perspectiva, y una submatriz w1  1 que representa un escalado global.
En robtica generalmente slo interesar conocer el valor de R3  3 y de p3  1, considerndose
las componentes de f1  3 nulas y la de w1  1 la unidad, aunque ms adelante se estudia su uti-
lidad en otros campos. Al tratarse de una matriz (4  4), los vectores sobre los que se aplique
debern contar con 4 dimensiones, que sern las coordenadas homogneas del vector tridi-
mensional de que se trate.

3.3.2. Aplicacin de matrices homogneas


Si como se ha mencionado, se considera la transformacin de perspectiva nula y el escalado
global unitario, la matriz homognea T resultar ser de la siguiente forma:

R33 p31 Rotacin Traslacin


T= = [3.19]
0 1 0 1

Esta expresin puede ser utilizada para representar la orientacin y posicin de un sis-
tema OUVW resultado de rotar y trasladar el sistema original OXYZ segn R3  3 y p3  1
respectivamente. Asimismo, esta matriz puede servir para conocer las coordenadas (rx ,ry ,rz)
del vector r en el sistema OXYZ a partir de sus coordenadas (ru, rv, rw) en el sistema
OUVW:

r x ru
r
= T rv
y
[3.20]
rz r w

1 1

Tambin se puede utilizar para expresar la rotacin y traslacin de un vector respecto de


un sistema de referencia fijo OXYZ, de tal manera que un vector rxyz rotado segn R3  3 y
trasladado segn P3  1 se convierte en el vector rxyz dado por:

r x r x
r

y = T r y [3.21]
r z rz

1 1
78 FUNDAMENTOS DE ROBTICA

En resumen, una matriz de transformacin homognea se puede aplicar (Figura 3.11):

1. Representar la posicin y orientacin de un sistema girado y trasladado OUVW con


respecto a un sistema fijo de referencia OXYZ, que es lo mismo que representar una
rotacin y traslacin realizada sobre un sistema de referencia.
2. Transformar un vector r expresado en coordenadas con respecto a un sistema OUVW,
a su expresin en coordenadas del sistema de referencia OXYZ.
3. Rotar (R) y trasladar (p) un vector r con respecto a un sistema de referencia fijo
OXYZ para transformarlo en el r.

Se hace notar que se utilizan coordenadas homogneas con factor de escalado unidad
(w  1), por lo que los vectores que intervienen tendrn cuatro componentes tomando la ul-
tima componente el valor 1.
A continuacin, se va a analizar con detalle el empleo de las matrices homogneas como
herramienta para representar la localizacin de objetos en el espacio tridimensional, as
como para realizar proyecciones y escalados.

a) b) c)
Figura 3.11. Aplicaciones alternativas de las Matrices de Transformacin Homognea.

Traslacin

Supngase que el sistema OUVW nicamente se encuentra trasladado un vector p  pxi 


 pyj  pzk con respecto al sistema OXYZ. La matriz T entonces corresponder a una matriz
homognea de traslacin:

1 0 0 px
0 1 0 py
T(p) = [3.22]
0 0 1 pz

0 0 0 1

que es la denominada matriz bsica de traslacin.


Un vector cualquiera r, representado en el sistema OUVW por ruvw, tendr como com-
ponentes del vector con respecto al sistema OXYZ:
CAPTULO 3. HERRAMIENTAS MATEMTICAS PARA LA LOCALIZACIN ESPACIAL 79

r x 1 0 0 px ru ru + px
r 0 1 0 py r r + p
y = v = v y
[3.23]
r z 0 0 1 pz r w r w + pz

1 0 0 0 1 1 1

Y a su vez, un vector rxyz desplazado segn T tendr como componentes rxyz:

r x 1 0 0 px r x r x + p x
r 0 py r r + p
y =
1 0
y = y y
[3.24]
r z 0 0 1 pz r z r z + pz

1 0 0 0 1 1 1

EJEMPLO 3.1

Segn la Figura 3.12 el sistema OUVW est trasladado un vector p(6, 3, 8) con res-
pecto del sistema OXYZ. Calcular las coordenadas del vector r en el sistema OXYZ, rxyz,
sabiendo que las coordenadas en el sistema OUVW son ruvw(2, 7, 3).

Z
W

)
,7,3
r(-2
O' V
11
p(6
,-3,
8) O Y
U
4
4

X
Figura 3.12. Figura del Ejemplo 3.1.

Aplicando la Ecuacin [3.23] se obtiene:

r x 1 0 0 6 2 4
r 0 1 0 3 7 4
y = =
r z 0 0 1 8 3 11

1 0 0 0 1 1 1
80 FUNDAMENTOS DE ROBTICA

EJEMPLO 3.2

Calcular el vector rxyz resultante de trasladar al vector rxyz(4, 4, 11) segn la transfor-
macin T(p) con p(6, 3, 8) (vase Figura 3.13).

Z
p

r'

19

r
11
O Y

4 4
10
1
X
Figura 3.13. Figura del Ejemplo 3.2.

Aplicando la Ecuacin [3.24] se obtiene:

r x 1 0 0 6 4 10
r 0 0 3 4 1
y =
1
=
r z 0 0 1 8 11 19

1 0 0 0 1 1 1

Rotacin

Supngase ahora que el sistema OUVW slo se encuentra rotado con respecto al sistema
OXYZ. La submatriz de rotacin R33 ser la que defina la rotacin, y se corresponde al tipo
matriz de rotacin presentada en el Epgrafe 3.2.1. De igual forma que se haca all, se pueden
definir tres matrices homogneas bsicas de rotacin segn se realice sta alrededor de cada
uno de los tres ejes coordenados OX, OY y OZ del sistema de referencia OXYZ:

1 0 0 0
0 cos sen 0
Rotx ( ) = [3.25]
0 sen cos 0

0 0 0 1

cos 0 sen 0
0 1 0 0
Roty ( ) = [3.26]
sen 0 cos 0

0 0 0 1
CAPTULO 3. HERRAMIENTAS MATEMTICAS PARA LA LOCALIZACIN ESPACIAL 81

cos sen 0 0
sen cos 0 0
Rot z ( ) = [3.27]
0 0 1 0

0 0 0 1
Un vector cualquiera r, representado en el sistema girado OUVW por ruvw  (ru, rv, rw),
tendr como componentes en el sistema OXYZ, rxyz  (rx, ry, rz) dadas por:
r x ru
r
y = T rv [3.28]
rz r w

1 1
Y a su vez, un vector rxyz rotado segn T vendr expresado por rxyz segn:
r x r x
r
y = T r y [3.29]
r z rz

1 1

EJEMPLO 3.3

Segn la Figura 3.14, el sistema OUVW se encuentra girado 90 alrededor del eje
OZ con respecto al sistema OXYZ. Calcular las coordenadas del vector rxyz si sus coorde-
nadas en el sistema OUVW son ruvw  (4, 8, 12)T..

r W

12
U O Y

8
4
V
X
Figura 3.14. Figura del Ejemplo 3.3.

Aplicando la Ecuacin [3.28] y la matriz de la Expresin [3.27] se tendr:


r x 0 1 0 0 4 8
r 1 0 0 0 8 4
y = =
rz 0 0 1 0 12 12

1 0 0 0 1 1 1
82 FUNDAMENTOS DE ROBTICA

Traslacin junto con rotacin

La principal ventaja de las matrices homogneas reside en su capacidad de representacin con-


junta de posicin y orientacin. Esta representacin se realiza utilizando al mismo tiempo la
matriz de rotacin R33 y el vector de traslacin p31 en una misma matriz de transformacin
homognea. Es por tanto la aplicacin conjunta de lo visto en los dos apartados anteriores.

Z W''
W'
U''
U' W
V''
O''
V' O'
p V Y

O
U

Figura 3.15. Distintos sistemas finales segn el orden de las transformaciones.

La traslacin y la rotacin son transformaciones que se realizan en relacin a un sistema


de referencia. Por tanto, si se quiere expresar la posicin y orientacin de un sistema OUVW,
originalmente coincidente con el de referencia y que ha sido rotado y trasladado segn ste,
habr que tener en cuenta si primero se ha realizado la rotacin y despus la traslacin o vi-
ceversa, pues se trata de transformaciones espaciales no conmutativas. En la Figura 3.15 se
muestra sta no conmutatividad de forma grfica. Se parte de un sistema OUVW coinciden-
te con OXYZ al que se va a aplicar una traslacin segn un vector px,y,z y una rotacin de 180
alrededor del eje OZ. Si primero se rota y despus se traslada se obtiene un sistema final
OUVW. En cambio, si primero se traslada y despus se rota se obtiene otro sistema final
OUVW, que representa una localizacin totalmente distinta a la del sistema final ante-
rior. Se tendr, por tanto, matrices homogneas distintas segn se realice una traslacin se-
guida de rotacin o una rotacin seguida de traslacin.

Rotacin seguida de traslacin

Para el caso de realizar primero una rotacin sobre uno de los ejes coordenados del sistema
OXYZ seguida de una traslacin definida con respecto al sistema OXYZ, las matrices ho-
mogneas sern las que a continuacin se expresan:
Rotacin de un ngulo sobre el eje OX seguido de una traslacin de vector px,y,z:

1 0 0 px
0 cos sen py
T(p) Rotx( ) = [3.30]
0 sen cos pz

0 0 0 1
CAPTULO 3. HERRAMIENTAS MATEMTICAS PARA LA LOCALIZACIN ESPACIAL 83

Rotacin de un ngulo sobre el eje OY seguido de una traslacin de vector px,y,z:

cos q 0 sen q p x

0 1 0 p y
T(p)Roty( q) = [3.31]
sen q 0 cos q pz

0 0 0 1

Rotacin de un ngulo sobre el eje OZ seguido de una traslacin de vector px,y,z:

cos y sen y 0 p x

sen y cos y 0 p y
T(p)Rotz(y ) = [3.32]
0 0 1 pz

0 0 0 1

Traslacin seguida de rotacin

Para el caso de realizar primero una traslacin seguida de una rotacin sobre los ejes coor-
denados del sistema OXYZ, las matrices homogneas resultantes son las siguientes:
Traslacin de vector px,y,z seguida de rotacin de un ngulo sobre el eje OX.

1 0 0 px

0 cos f sen f py cos f pz sen f
Rotx(f )T(p) = [3.33]
0 sen f cos f py sen f + pz cos f

0 0 0 1

Traslacin de vector px,y,z seguida de rotacin de un ngulo sobre el eje OY.

cos q 0 sen q p x cos q + pz sen q



0 1 0 py
Rotx( q)T(p) =
Roty( )T(p) =
[3.34]
sen q 0 cos q pz cos q p x sen q

0 0 0 1

Traslacin de vector px,y,z seguida de rotacin de un ngulo sobre el eje OZ.

cos y sen y 0 p x cos y p y seny


sen y cosy 0 p x sen y + p y cosy
Rotz(y )T( p) = [3.35]
0 0 1 pz
0 0 0 1

Ntese que las transformaciones se definen con respecto al sistema fijo. De definirse con
respecto al sistema mvil se deberan intercambiar los resultados.
84 FUNDAMENTOS DE ROBTICA

EJEMPLO 3.4

Un sistema OUVW ha sido girado 90 alrededor del eje OX y, posteriormente, trasla-


dado un vector p(8, 4, 12) con respecto al sistema OXYZ (Figura 3.16). Calcular las co-
ordenadas (rx, ry, rz) del vector r con coordenadas ruvw(3, 4, 11).

Z
V''

1)
,4,-1
r(-3
W'' V'
O''
p(8 16
,-4,
12)
O Y
W''
U'' 5
7
U'

X
Figura 3.16. Sistemas de referencia del Ejemplo 3.4.

Utilizando la matriz de la Expresin [3.30] se tendr:

r x 1 0 0 8 3 5
r 0 0 1 4 4 7
y = =
r z 0 1 0 12 11 16

1 0 0 0 1 1 1

EJEMPLO 3.5
Un sistema OUVW ha sido trasladado un vector p(8, 4, 12) con respecto al sistema
OXYZ y girado 90 alrededor del eje OX (Figura 3.17). Calcular las coordenadas (rx, ry, rz)
del vector r de coordenadas ruvw(3, 4, 11).

W' Z

V'
p(8
,-4
,12
)
U' O Y
V''
5
-1
11)
r(-3,4,-
W''
O'' X

U''
Figura 3.17. Situacin de los sistemas de referencia del Ejemplo 3.5.
CAPTULO 3. HERRAMIENTAS MATEMTICAS PARA LA LOCALIZACIN ESPACIAL 85

Utilizando la matriz de la Expresin [3.30] se obtiene:

r x 1 0 0 8 3 5
r 0 0 1 12 4 1
y = =
r z 0 1 0 4 11 0

1 0 0 0 1 1 1

Perspectiva y escalado

Las matrices homogneas tambin se pueden aplicar para la realizacin de un escalado de las
componentes de un vector. Bastar utilizar una matriz T del tipo:

a 0 0 0
0 b 0 0
T= [3.36]
0 0 c 0

0 0 0 1

Cualquier vector r(x, y, z) puede ser transformado en el vector r(ax, by, cz). Tambin se
puede realizar un escalado global de las tres componentes mediante la matriz:

1 0 0 0
0 1 0 0
T= [3.37]
0 0 1 0

0 0 0 s

a travs de la cual, utilizando la definicin de coordenadas homogneas, cualquier vector


r(x, y, z) puede ser transformado en un vector r(x/s, y/s, z/s).
Una aplicacin ms de las matrices homogneas es la transformacin de perspectiva. Su-
pngase una lente situada sobre el plano OXZ con distancia focal f situada sobre el eje OY
(Figura 3.18). Se puede comprobar que el punto r(x, y, z) se ve en el plano de la lente como
un punto r(x, y, z) cuyas coordenadas vienen dadas por la siguiente expresin:
x z
x = y = 0 z = [3.38]
y y
1 1
f f

Esta transformacin, denominada de perspectiva, puede realizarse a travs de una matriz


homognea del tipo [FU-88]:

x 1 0 0 0 x
y 0 1 0 0 y
= [3.39]
z 0 0 1 0 z

1 0 1/f 0 1 1

Para las aplicaciones en robtica de las matrices homogneas, se supone que no existe
ninguna transformacin de perspectiva y que el escalado es siempre unitario.
86 FUNDAMENTOS DE ROBTICA

Objeto real
x,y,z

O
f
Foco de la lente Y

x',y',z'
X Objeto proyectado

Figura 3.18. Transformacin de perspectiva.

3.3.3. Significado geomtrico de la matrices homogneas


Como ya se ha descrito, una matriz homognea sirve para transformar un vector expresado
en coordenadas homogneas con respecto a un sistema OUVW, a su expresin en las coor-
denadas del sistema de referencia OXYZ. Tambin se puede utilizar para rotar y girar un vec-
tor referido a un sistema de referencia fijo, y en definitiva sirve para expresar la orientacin y
posicin de un sistema de referencia OUVW con respecto a otro fijo OXYZ.
La matriz T de transformacin se suele escribir de la siguiente forma:

n x o x a x px
n o a p y n o a p
T= =
y y y

pz 0 0 0 1
[3.40]
nz oz a z

0 0 0 1

donde n, o, a es una terna ortonormal que representa la orientacin y p es un vector que re-
presenta la posicin.
Si se considera un vector ruvw  [0, 0, 0, 1]T, es decir, el origen del sistema OUVW, la
aplicacin de la matriz T que representa la transformacin (traslacin  rotacin) de OUVW
con respecto a OXYZ, se obtiene rxyz:

0 p x

n o a p 0 p y
=
r xyz = [3.41]
0 0 0 1 0 pz

1 1

que coincide con el vector columna p de T. Por tanto, este vector columna representa la po-
sicin del origen de OUVW con respecto del sistema OXYZ.
Si, de igual manera, se considera el vector de coordenadas homogneas [1, 0, 0, 1]T con
respecto del sistema OUVW, es decir, el vector director del eje coordenado OU del sistema
OUVW, y suponiendo el vector p de traslacin nulo, se tendr:
CAPTULO 3. HERRAMIENTAS MATEMTICAS PARA LA LOCALIZACIN ESPACIAL 87

r x nx ox ax px 1 nx
r py 0 ny
ny oy ay
= =
y
[3.42]
r z nz oz az p z 0 nz
1 0 0 0 1 1 1

Es decir, el vector columna n representa las coordenadas del eje OU del sistema OUVW
con respecto del sistema OXYZ. De igual forma, si se realiza la transformacin de los vec-
tores [0, 1, 0, 1]T y [0, 0, 1, 1]T referidos al sistema OUVW, se obtiene que el vector colum-
na o representa las coordenadas del eje OV del sistema OUVW con respecto del sistema
OXYZ, y que el vector columna a representa las coordenadas del eje OW del sistema
OUVW con respecto del sistema OXYZ.
Consecuentemente, los vectores n, o y a definen una terna ortonormal a derechas, lo que
significa que:

n = o = a =1
[3.43]
n o =a

Como ya se vio cuando se explic la matriz de rotacin, la submatriz de rotacin [n, o, a]


corresponde a una matriz ortonormal, que cumple que:

1 T
[noa] = [noa] [3.44]

La matriz inversa de la matriz homognea de transformacin T es fcilmente obtenible, y


corresponde a la siguiente expresin:

nx ny nz n p
T


o p
T
ox oy oz
T =
1
[3.45]
ax ay az a p
T


0 0 0 1

Si se tiene la relacin rxyz  T ruvw y se multiplica por la izquierda en ambos miembros


por T1, se tiene:

T1rxyz r=uvwruvw [3.46]

por lo que, realizando el mismo proceso que se hizo anteriormente, se deduce que los vecto-
res fila de la submatriz de rotacin de la matriz T (vectores columna de la submatriz de ro-
tacin de T1), representan los ejes principales del sistema de coordenadas de referencia
OXYZ con respecto a OUVW. Por ello, los vectores fila de la matriz [n o a] representan otra
terna ortonormal a derechas.
Si se aplica lo anteriormente indicado a un robot, la matriz de transformacin homognea
permite describir la localizacin (posicin y orientacin) de su extremo con respecto a su
base. As, asociando a la base del robot un sistema de referencia fijo (OXYZ) y al extremo un
sistema de referencia que se mueva con l, cuyo origen se encuentre en el punto p y los vec-
tores directores son n o a escogidos de modos que (Figura 3.19):
88 FUNDAMENTOS DE ROBTICA

n
a
X
Figura 3.19. Definicin de la matriz [noap] de la localizacin del extremo del robot.

a: sea un vector en la direccin de aproximacin del extremo del robot a su destino.


o: sea un vector perpendicular a a en el plano definido por la pinza del robot.
n: sea un vector que forme terna ortogonal con los dos anteriores.

se tendr que el extremo del robot quede perfectamente localizado por la matriz de transfor-
macin homognea dada por la Expresin [3.40].

3.3.4. Composicin de matrices homogneas


Anteriormente, se ha mencionado que una matriz de transformacin homognea sirve, entre
otras cosas, para representar el giro y la traslacin realizados sobre un sistema de referencia.
Esta utilidad de las matrices homogneas cobra an ms importancia cuando se componen las
matrices homogneas para describir diversos giros y traslaciones consecutivos sobre un sis-
tema de referencia determinado.
De esta forma, una transformacin compleja podr descomponerse en la aplicacin con-
secutiva de transformaciones simples (giros bsicos y traslaciones).
Por ejemplo, una matriz que representa un giro de un ngulo sobre el eje OX, seguido
de un giro de ngulo sobre el eje OY y de un giro de un ngulo sobre el eje OZ, puede
obtenerse por la composicin de las matrices bsicas de rotacin:

C S 0 0 C 0 S 0 1 0 0 0
S C 0 0 0 1 0 0 0 C S 0
T = Rotz( ) Roty( ) Rotx( ) = =
0 0 1 0 S 0 C 0 0 S C 0

0 0 0 1 0 0 0 1 0 0 0 1
[3.47]
CC SC + CSS SS + CSC 0
SC CC + SSS CS + SSC 0
=
S CS CC 0

0 0 0 1
CAPTULO 3. HERRAMIENTAS MATEMTICAS PARA LA LOCALIZACIN ESPACIAL 89

Debido a que el producto de matrices no es conmutativo, tampoco lo es la composicin de


transformaciones. Si se invierte el orden de aplicacin de las transformaciones, el resultado
es, lgicamente, distinto:
1 0 0 0 C 0 S 0 C S 0 0
0 C S 0 0 1 0 0 S C 0 0
T = Rotx( ) Roty( ) Rotz( ) = =
0 S C 0 S 0 C 0 0 0 1 0

0 0 0 1 0 0 0 1 0 0 0 1
[3.48]
CC CS S 0
CS + SSC CC SSS SC 0
=
SS CSC SC CSS CC 0

0 0 0 1

EJEMPLO 3.6

Se quiere obtener la matriz de transformacin que representa al sistema OUVW ob-


tenido a partir del sistema OXYZ mediante un giro de ngulo 90 alrededor del eje OX,
de una traslacin de vector pxyz(5, 5, 10) y un giro de 90 sobre el eje OZ.
La secuencia de transformaciones es:
Rotx (90) T(p) Rotz (90)
Para ello bastar multiplicar en el orden adecuado las diferentes matrices bsicas. Puesto que
las transformaciones se realizan referidas al sistema fijo (OXYZ) se deber premultiplicar:
T = Rotz(90) T(p) Rotx( 90) =
0 1 0 0 1 00 5 1 0 0 0 0 0 1 5
1 0 0 0 0 10 5 0 0 1 0 1 0 0 5
= =
0 0 1 0 0 01 10 0 1 0 0 0 1 0 10

0 0 0 1 0 00 1 0 0 0 1 0 0 0 1
En los ejemplos vistos anteriormente los ejes sobre los que se realizaban las operaciones
correspondan al sistema fijo de referencia OXYZ. Tambin es posible componer matrices de
transformacin de manera que las operaciones estn referidas en todo momento al sistema
que est movindose. Para ello bastar nicamente con ir concatenando matrices en orden in-
verso. Por ejemplo, en la siguiente ecuacin:
1 0 0 0 C 0 S 0 C S 0 0
0 C S 0 0 1 0 0 S C 0 0
T = Rotx( ) Roty( ) Rotz( ) = =
0 S C 0 S 0 C 0 0 0 1 0

0 0 0 1 0 0 0 1 0 0 0 1
[3.49]
CC CS S 0
CS + SSC CC SSS SC 0
=
SS CSC SC CSS CC 0

0 0 0 1
90 FUNDAMENTOS DE ROBTICA

se muestra una matriz que se puede interpretar como un giro de ngulo sobre el eje OX del
sistema fijo OXYZ, seguido de un giro de valor sobre el eje OV y un giro de ngulo sobre
el eje OW del sistema en movimiento OUVW. Comparar con la matriz de la Ecuacin [3.47],
que representa las mismas transformaciones referidas a los ejes de un sistema OXYZ fijo de
referencia.

EJEMPLO 3.7

Obtener la matriz de transformacin que representa las siguientes transformaciones so-


bre un sistena OXYZ fijo de referencia: traslacin de un vector pxyz(3, 10, 10); giro de
90 sobre el eje OU del sistema trasladado y giro de 90 sobre el eje OV del sistema gi-
rado.
La secuencia de transformaciones es:
T(p) Rotu (90) Rotv (90)
Se escogen las matrices bsicas correspondientes y se componen mediante postmulti-
plicacin por estar definidas las transformaciones con referencia al sistema mvil.

T = T(p) Rotx( 90) Roty(90)


1 0 0 3 1 0 0 0 0 0 1 0 0 0 1 3
0 1 0 10 0 0 1 0 0 1 0 0 1 0 0 10
= =
0 0 1 10 0 1 0 0 1 0 0 0 0 1 0 10

0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1

De forma general, a la hora de componer diversas transformaciones mediante matrices ho-


mogneas, se han de tener en cuenta los siguientes criterios:
1. Si el sistema fijo OXYZ y el sistema transformado OUVW son coincidentes, la matriz
homognea de transformacin ser la matriz 4  4 identidad, I4.
2. Si el sistema OUVW se obtiene mediante rotaciones y traslaciones definidas con res-
pecto al sistema fijo OXYZ, la matriz homognea que representa cada transformacin
se deber premultiplicar sobre las matrices de las transformaciones previas.
3. Si el sistema OUVW se obtiene mediante rotaciones y traslaciones definidas con res-
pecto al sistema mvil, la matriz homognea que representa cada transformacin se de-
ber postmultiplicar sobre las matrices de las transformaciones previas.

Siguiendo estas indicaciones, cualquier composicin de matrices homogneas puede es-


tudiarse como si se realiza cada transformacin con respecto al sistema fijo o se realiza cada
transformacin con respecto al sistema mvil.
Por ejemplo, la transformacin:

T = Rotx( ) Rot z( ) Roty( ) [3.50]

puede verse como una rotacin de sobre OY, seguida de una rotacin sobre OZ y de una
rotacin sobre OX del sistema fijo. O tambin puede verse cmo una rotacin sobre el eje
OU, seguida de una rotacin sobre el eje OW y de una rotacin sobre el eje OV del sis-
tema que est siendo transformado.
CAPTULO 3. HERRAMIENTAS MATEMTICAS PARA LA LOCALIZACIN ESPACIAL 91

3.3.5. Grficos de transformacin


Es frecuente encontrar situaciones en las que la localizacin espacial de un objeto o de su sis-
tema de referencia asociado, pueda realizarse a travs de la composicin de diversas trans-
formaciones distintas. En la Figura 3.20 se tiene un manipulador cuya base est referida al
sistema del mundo OXYZ mediante la transformacin MTR. A su vez, para pasar de la base
del manipulador a su extremo se utiliza la transformacin RTE.

M
TR
M
Y
TO
E
R
TH
TE

O
X TH
Figura 3.20. Ejemplo de aplicacin de diversas transformaciones para localizar un objeto.

El extremo de la herramienta est referido con respecto al extremo del manipulador por la
transformacin ETH. A su vez, un objeto est referido con respecto al sistema OXYZ mediante
la transformacin MTO, y por ltimo, el extremo de la herramienta est referido con respecto
al objeto a travs de la transformacin OTH.
Se observa que el final de la herramienta puede ser referido con respecto al sistema
OXYZ de dos maneras distintas: a travs del manipulador y a travs del objeto. De tal manera
que se puede escribir:

M
TR R TE E TH = M TO O TH [3.51]

Esta relacin se puede representar mediante un grfico de transformacin como el de la


Figura 3.21 [PAUL-81]. De tal manera que si se quiere obtener la relacin entre el objeto y la
herramienta bastar multiplicar ambos miembros de la ecuacin anterior por MTO1 obte-
nindose:

( M TO ) 1 M
TR R TE E TH = O TH [3.52]

Cualquier otra relacin puede ser obtenida fcilmente a partir del grfico. Para ello se ir
desde el objeto inicial al final multiplicando las matrices de transformacin correspondiente
a los arcos del grfico, y considerando que de recorrerse stos en el sentido inverso a las fle-
92 FUNDAMENTOS DE ROBTICA

M O
TO O TH

M H

R E
M E
TR R
TE TH
Figura 3.21. Grfico de transformacin.

chas deber utilizarse una matriz inversa. As, la relacin entre la base del robot y el objeto
vendr dada por:

R
TO = R TE E TH ( O TH ) 1 [3.53]

o bien por:

R
TO = ( M TR ) 1 M
TO [3.54]

3.4. APLICACIN DE LOS CUATERNIOS


En el Epgrafe 3.2.4 se defini de forma genrica lo que es un cuaternio. A continuacin, se
describe el lgebra de cuaternios y las aplicaciones en las que la utilizacin de cuaternios su-
pone una ventaja sustancial sobre otros mtodos de descripcin espacial.

3.4.1. lgebra de cuaternios


Un cuaternio est formado por cuatro componentes (q0, q1, q2, q3) que representan las coor-
denadas del cuaternio en una base {e, i, j, k}.

Q = q0 e + q1 i + q2 j + q3 k = (s, v) [3.55]

Sobre los elementos de la base se define una ley de composicin interna (producto) se-
gn se muestra en la Tabla 3.1. De este modo los cuaternios forman un grupo cclico de orden
cuatro. A continuacin, se describen algunas propiedades tiles de los cuaternios a la hora de
su utilizacin para realizar transformaciones.

Tabla 3.1. Ley de composicin interna de los cuaternios


e i j k
e e i j k
i i e k j
j j k e i
k k j i e
CAPTULO 3. HERRAMIENTAS MATEMTICAS PARA LA LOCALIZACIN ESPACIAL 93

Cuaternio conjugado

A todo cuaternio Q se le puede asociar su conjugado Q*, en el que se mantiene el signo de la


parte escalar y se invierte el de la vectorial.

Q* = [q0 , q1 , q2 , q3] = (s, v) [3.56]

Operaciones algebraicas

Se definen tres operaciones algebricas sobre los cuaternios: producto, suma y producto
con un escalar.
El producto de dos cuaternios Q1 y Q2, que va a ser muy til para la composicin de trans-
formaciones, puede deducirse de la Tabla 3.1, y viene dado por:

Q3 = Q1 o Q2 = ( s1 , v1 ) o ( s2 , v 2 ) = ( s1s2 v1v 2 , v1 v 2 + s1v 2 + s2 v1 ) [3.57]

Se observa que no se trata de un producto conmutativo. Si se expresa componente a com-


ponente se tiene:
q30 = q10 q20 (q11 q21 + q12 q22 + q13 q23)
q31 = q10 q21 + q11 q20 + q12 q23 q13 q22
[3.58]
q32 = q10 q22 + q12 q20 + q13 q21 q11 q23
q33 = q10 q23 + q13 q20 + q11 q22 q12 q21

La suma de dos cuaternios Q1 y Q2 se define como:

Q3 = Q1 + Q2 = ( s1 , v1 ) + ( s2 , v 2 ) = ( s1 + s2 , v1 + v 2 ) [3.59]

mientras que el producto por un escalar es:

Q3 = a Q2 = a( s2 , v 2 ) = (as2 , a v 2 ) [3.60]

El producto de cuaternios es, por tanto, asociativo aunque no conmutativo.

Norma e inverso

Al nmero real (q02  q12  q22  q32) se le denomina norma de Q y se representa por ||Q||.
Segn la definicin del cuaternio conjugado y la del producto de cuaternios, se deduce
que:

Q o Q* = (q02 + q12 + q22 + q32 ) e = || Q || e [3.61]

Se cumple que la norma del producto de cuaternios es igual al producto de las normas de
cada uno de ellos Q1 o Q2 = || Q1 || || Q2 .
94 FUNDAMENTOS DE ROBTICA

El inverso de un cuaternio puede hallarse mediante la expresin:

Q*
Q1 = [3.62]
|| Q ||

siempre y cuando se trate de un cuaternio no nulo.


1
Evidentemente Q o Q 1 = Q 1 o Q = (1, 0, 0, 0) = e y || Q 1 || =
|| Q ||

3.4.2. Utilizacin de los cuaternios


Las propiedades expuestas propician el uso de los cuaternios para la representacin y com-
posicin de rotaciones. Para ello, primeramente se define el cuaternio que representa un giro
de valor sobre un eje k como:


Q = Rot(k, ) = cos , k sen [3.63]
2 2

EJEMPLO 3.8

Obtener el cuaternio que representa una rotacin de 90 sobre el eje u = (3, 2, 1).
u 1
El eje de giro unitario ser k = = (3, 2, 1)
|| u || 14
Con lo que aplicando la Ecuacin [3.63]:

2 3 2 2 2 1 2
Q = Rot(k, 90) = , , ,
2 14 2 14 2 14 2

En segundo lugar, la aplicacin de la rotacin expresada por el cuaternio Q a un vector r,


vendr definida por el producto:

Q o (0, r) o Q * [3.64]

EJEMPLO 3.9

Obtener el vector r resultante de aplicar la misma rotacin del Ejemplo 3.8. Rot(u,
90) donde u = (3, 2, 1), sobre el vector r = (5, 2, 6).
u 1
El eje de giro unitario ser k = = (3, 2, 1) y el cuaternio que define el giro
|| u || 14
2 3 2 2 2 1 2
ser Q , , , = (0.70711, 0.56695, 0.37796, 0.18898)
2 14 2 14 2 14 2
CAPTULO 3. HERRAMIENTAS MATEMTICAS PARA LA LOCALIZACIN ESPACIAL 95

Con lo que aplicando la Ecuacin [3.64] se obtiene que r:


r = (0.70711, 0.56695, 0.37796, 0.18898) (0, 5, 2, 6) (0,70711, 0,56695,
0,37796, 0,18898) = (0, 3,74, 5,43, 4,63)

La composicin de rotaciones con cuaternios resulta tan sencilla como multiplicar


cuaternios entre s. De tal forma, que el resultado de rotar segn el cuaternio Q1, para
posteriormente rotar segn Q2, es el mismo que el de rotar segn Q3, obtenido por la ex-
presin:

Q3 = Q2 o Q1 [3.65]

Es importante tener en cuenta el orden de multiplicacin, pues como se ha mencionado, el


producto de cuaternios no es conmutativo.
En el caso de componer rotaciones con traslaciones se procede como sigue: el resultado
de aplicar una traslacin de vector p seguida de una rotacin Q al sistema OXYZ, es un nue-
vo sistema OUVW, tal que las coordenadas de un vector r en el sistema OXYZ, conocidas en
OUVW, sern:

(0, rxyz ) = Q o (0, ruvw ) o Q * + (0, p) [3.66]

Donde Q y p estn definidas con respecto a los sistemas de referencia mviles. El resul-
tado de primero rotar y luego trasladar al sistema vendr dado por:

(0, rxyz ) = Q o (0, ruvw + p) o Q * [3.67]

Donde p y Q estn definidos con respecto a los sistemas de referencia mviles. Si se man-
tiene el sistema OXYZ fijo y se traslada el vector r segn p y luego se le rota segn Q se ob-
tendr el vector r de coordenadas:

(0, r ) = Q o (0, r + p) oQ * [3.68]

Y si se aplica primero el giro y despus la traslacin p al vector r, ste se convertir en el


r a travs de la expresin:

(0, r ) = Q o (0, r) o Q * +(0, p) [3.69]

Se observa que el empleo de cuaternios para la composicin de rotaciones es un mto-


do computacionalmente muy prctico, pues basta multiplicar cuaternios entre s, lo que co-
rresponde a una expresin de productos y sumas muy simple. Adems permiten represen-
tar las rotaciones mediante solo 4 elementos, frente a los 9 utilizados en las matrices de
rotacin. sta es su principal ventaja, tal y como se ver en la comparacin de los distintos
mtodos.
96 FUNDAMENTOS DE ROBTICA

3.5. RELACIN Y COMPARACIN ENTRE LOS DISTINTOS


MTODOS DE LOCALIZACIN ESPACIAL
En los epgrafes anteriores se han explicado una serie de mtodos para poder realizar la lo-
calizacin espacial de un slido y de su sistema de referencia asociado. Cada uno de ellos pre-
senta una serie de caractersticas que le hacen ms o menos apto para una determinada apli-
cacin. As, algunos slo sirven para la representacin de orientacin, mientras otros, por
ejemplo, son especialmente tiles para la composicin de rotaciones.
En este apartado se analizan las ventajas e inconvenientes de cada uno de ellos, adems de
estudiar cmo se puede realizar el paso, cuando ste es posible, de uno a otro.

3.5.1. Comparacin de mtodos de localizacin espacial


Todos los mtodos expuestos son equivalentes, pero dependiendo del uso que se vaya a hacer,
ser ms adecuado emplear un procedimiento u otro.
La comparacin se realiza, fundamentalmente, en razn a su capacidad para representar y
manejar conjuntamente posicin y orientacin y su eficacia computacional.

Matrices de transformacin homognea

Sus principales ventajas residen en su capacidad de representacin conjunta de posicin y


orientacin y en la comodidad con la que se puede realizar la composicin de transforma-
ciones. Para ello bastar nicamente multiplicar, en el orden adecuado, las matrices de trans-
formacin correspondientes. Es posible, adems, la aplicacin de una transformacin sobre un
vector referido a un sistema fijo nicamente multiplicando la matriz de transformacin co-
rrespondiente por el vector.
Como principal inconveniente presenta su alto nivel de redundancia (necesita definir 12
componentes para slo seis grados de libertad). Debe considerarse, adems, que por los
inevitables errores de redondeo, la multiplicacin sucesiva de varias matrices de transfor-
macin homognea, puede resultar en un matiz que no lo sea (su caja de rotacin no sea
ortonormal). Esto dificulta su implementacin en computador.
Se trata del mtodo ms popular, pues al trabajar con matrices permite el uso de su lge-
bra que es extensamente conocida.

ngulos de Euler

Los ngulos de Euler, en cualquiera de sus modalidades, slo son capaces de representar orien-
tacin, y aunque permiten una notacin compacta (slo tres nmeros reales), no permiten la
composicin de rotaciones ni la aplicacin sobre un vector de la rotacin que definen.

Par de rotacin

El par de rotacin slo sirve para la representacin de orientaciones. Es una representacin


compacta, pues nicamente usa 4 parmetros para la definicin de orientacin de un sistema
CAPTULO 3. HERRAMIENTAS MATEMTICAS PARA LA LOCALIZACIN ESPACIAL 97

con respecto a otro. Se puede aplicar para obtener el efecto de la rotacin de un vector r un
ngulo alrededor del eje k. Sin embargo, la composicin de rotaciones presenta una ex-
presin complicada, lo que limita su utilizacin prctica en algunas aplicaciones.

Cuaternios

El cuaternio, como tal, slo es capaz de representar la orientacin relativa de un sistema


OUVW con respecto a otro, a travs del uso de cuatro componentes. Sin embargo, como se
ha visto en 3.4.2, es posible componer rotaciones junto con traslaciones de forma bastante
simple y computacionalmente econmica. Puede utilizarse tambin para obtener la transfor-
macin de un vector mediante rotaciones junto con traslaciones.

3.5.2. Relacin entre los distintos mtodos de localizacin espacial


Ya que los mtodos vistos para la representacin espacial son equivalentes, es decir, expresan
lo mismo de forma distinta, deber existir un modo de pasar de un tipo de representacin a
otro. A continuacin, se muestran las relaciones de paso que se utilizan ms frecuentemente.
A travs de ellas es posible pasar de una representacin a cualquier otra, aunque en algunos
casos sea ms cmodo utilizar una representacin auxiliar intermedia.

ngulos de Euler: Matriz de transformacin homognea

Ya se ha mencionado en varias ocasiones que los ngulos de Euler slo son capaces de rea-
lizar una representacin de la orientacin. Por ello, a la hora de obtener la matriz homognea
equivalente a un conjunto de ngulos de Euler dados, nicamente quedar definida la sub-
matriz de rotacin R33.

Relacin Directa

La obtencin de la matriz homognea correspondiente a cada conjunto de ngulos de Eu-


ler es inmediata; bastar con componer las matrices que representan las rotaciones que defi-
nen los propios ngulos:

Sistema WUW

Este sistema responde, segn el Epgrafe 3.2.2, a la composicin de la siguiente secuen-


cia de rotaciones:

TZXZ = Rotz(f ) Rotx(q) Rotz(y) [3.70]

que desarrollado en forma matricial:


98 FUNDAMENTOS DE ROBTICA

C S 0 0 1 0 0 0 C S 0 0
S C 0 0 0 C S 0 S C 0 0
TZXZ = Rotz() Rotx( ) Rotz( ) = =
0 0 1 0 0 S C 0 0 0 1 0

0 0 0 1 0 0 0 1 0 0 0 1
[3.71]
CC SC S C S SC C S S 0
SC + CC S S S + CC C C S 0
=
S S S C C 0

0 0 0 1

Sistema WVW
Segn el Epgrafe 3.2.2, el paso del sistema fijo al girado se hace realizando la siguiente
secuencia de rotaciones:

TZYZ = Rotz() Roty( ) Rotz() [3.72]

que desarrollado en forma matricial:

C S 0 0 C 0 S 0 C S 0 0
S C 0 0 0 1 0 0 S C 0 0
TZYZ = Rotz() Roty( ) Rotz() = =
0 0 1 0 S 0 C 0 0 0 1 0

0 0 0 1 0 0 0 1 0 0 0 1
[3.73]
CC C S S CC S SC C S 0
SC C + C S SC S + CC S S 0
=
S C S S C 0

0 0 0 1

Sistema XYZ (Yaw-Pitch-Roll)


De igual forma que en los casos anteriores, estos ngulos de Euler se pueden representar
mediante la concatenacin de las siguientes rotaciones:

TZYX = Rotz() Roty( ) Rotx() [3.74]

y de forma matricial:

C S 0 0 C 0 S 0 1 0 0 0
S C 0 0 0 1 0 0 0 C S 0
T = Rotz() Roty( ) Rotx() = =
0 0 1 0 S 0 C 0 0 S C 0

0 0 0 1 0 0 0 1 0 0 0 1
[3.75]
CC C S S SC C S C + S S 0
SC S S S + CC S S C C S 0
=
S C S C C 0

0 0 0 1
CAPTULO 3. HERRAMIENTAS MATEMTICAS PARA LA LOCALIZACIN ESPACIAL 99

Relacin inversa
El paso de la representacin mediante matriz homognea a cualquiera de los conjuntos de
ngulos de Euler puede realizarse a partir de la correspondiente relacin directa despejando
de ella los valores de , y . As, en el caso de la Ecuacin [3.71], del elemento (3,3) pue-
de obtenerse el valor de . Obtenido ste, puede obtenerse tanto del elemento (3,1) como
del (3,2). Del mismo modo puede obtenerse tanto del (1,3) como del (2,3).
Este modo de operar es slo vlido siempre y cuando no valga 0 o . En este caso el
sen() valdr 0 y no ser posible obtener ni de los elementos (1,3), (2,3) y (3,1), (3,2). Se
deber entonces recurrir al resto de los elementos de la Expresin [3.71], pudindose obtener
de este modo el valor de la suma + y no los valores individuales.

Par de Rotacin: Matriz de transformacin homognea

Al igual que en el caso de los ngulos de Euler, mediante un eje y ngulo de rotacin slo es
posible representar orientacin; de ah que nicamente quede definida la submatriz de rota-
cin R33 de la matriz homognea de transformacin.

Relacin directa
Se quiere descomponer el giro de un ngulo alrededor del eje definido por el vector uni-
tario k(kx, ky, kz) en la composicin de rotaciones bsicas que se puedan expresar mediante
matrices bsicas de rotacin. Esto se consigue realizando una serie de rotaciones para alinear
el eje k con uno de los ejes coordenados, por ejemplo el OZ, girar el ngulo con respecto a
l y deshacer las rotaciones previas hasta tener el vector k en su posicin inicial. Viendo la Fi-
gura 3.22, esto se consigue mediante la siguiente composicin:

Rotk( ) = Rotx( ) Roty( )Rotz( )Roty( ) Rotx( ) [3.76]

Teniendo en cuenta las siguientes relaciones:

ky kz
sen = cos =
k y2 + kz2 k y2 + kz2
[3.77]
sen = k x cos = k y2 + kz2

Expresndolo en forma matricial y sustituyendo en la Ecuacin [3.76] se tiene la matriz


homognea que expresa la rotacin alrededor del eje k de un ngulo :

k x2 V + C k x k y V k z S k x kz V + k y S 0

k k V + kz S k y2 V + C k y kz V k x S 0
Rotk( ) = x y [3.78]
k x kz V k y S k y k z V + k x S kz2 V + C 0

0 0 0 1

donde V representa el trmino verseno definido como V  1  C.


100 FUNDAMENTOS DE ROBTICA

k
O ky

X
kz
kx

Z
Figura 3.22. ngulo y eje de rotacin.

Relacin inversa
Se quiere obtener un eje k y un ngulo de rotacin equivalente a la representacin de
una rotacin mediante la matriz homognea de rotacin:

n x o x a x 0
n o a 0
Rot =
y y y
[3.79]
nz oz a z 0

0 0 0 1

Se podrn igualar las matrices de las Expresiones [3.78] [3.79] y realizar una equivalen-
cia componente a componente. Considerando el ngulo como positivo entre 0 y 180, se
puede llegar a las siguientes expresiones tanto para el ngulo como para las componentes
del vector:

( oz a y ) 2 + ( a x n z ) 2 + ( n y o x ) 2
tg =
(n x + oy + az 1)
[3.80]
oz a y a x nz ny ox
kx = ky = kz =
2 sen 2 sen 2 sen

Cuando el ngulo se acerca a 0 o a 180 aparecen problemas de indeterminacin en las


ecuaciones anteriores. Por ello, en estos casos, es necesario realizar otro tipo de aproximacin.
sta se describe con detalle en [PAUL-81] y consiste en:
CAPTULO 3. HERRAMIENTAS MATEMTICAS PARA LA LOCALIZACIN ESPACIAL 101

Obtener los valores de kx, ky, kz segn

nx C
k x = Signo (oz ay )
V
ay C [3.81]
k y = Signo (ax nz )
V
az C
kz = Signo (ny ox )
V

Evaluar cul es el mayor de los tres y usar este valor como vlido, mientras que para los
otros dos se deben usar las expresiones siguientes:

Si kx es el mayor
ny + ox ax + n z
ky = kz =
2 k x V 2 k x V
Si ky es el mayor
ny + ox oz + ay
kx = kz = [3.82]
2 k y V 2 k y V
Si kz es el mayor
ax + n z oz + ay
kx = ky =
2 kz V 2 kz V

Par de rotacin: Quaternios

Relacin directa
Por la propia definicin de cuaternios dada en el Epgrafe 3.2.4, un cuaternio Q se puede
expresar como:

Q = cos , k sen [3.83]
2 2
y componente a componente:

q0 = cos q1 = k x sen q2 = k y sen q3 = kz sen [3.84]
2 2 2 2

Relacin inversa
La relacin inversa se obtiene fcilmente de las anteriores expresiones:

= 2 arcos(q0 )
q1 q2 q3 [3.85]
kx = ky = kz =
1 q20 1 q20 1 q20
102 FUNDAMENTOS DE ROBTICA

Cuaternios: Matriz de transformacin homognea

El paso de cuaternios a la matriz de transformacin homognea, y viceversa, se pueden de-


ducir fcilmente utilizando como representacin auxiliar intermedia el eje y ngulo de rota-
cin. A continuacin, se expresan las relaciones finales, obviando los desarrollos intermedios
que se pueden encontrar en [HAMILTON-69].

Relacin directa
La representacin de la matriz de transformacin T en funcin de las componentes de un
cuaternio Q viene dada por la siguiente matriz [BEGGS-83]:

q 2 + q 2 1 q1q2 q3 q0 q1q3 + q2 q0 0
0 1
2
1
q1q2 + q3 q0 q02 + q22 q2 q3 q1q0 0
T = 2 2 [3.86]
q1q3 q2 q0 1
q2 q3 + q1q0 q02 + q32 0
2
1
0 0 0
2

Relacin inversa
La relacin inversa se puede obtener fcilmente igualando la traza y los elementos de la
diagonal principal de la matriz [3.86] con la de la matriz [3.79]:

1
q0 = (nx + oy + az + 1)
2
1
q1 = sgn (oz aqy=) (nx oy az + 1)
2 [3.87]
1
q2 = sgn (ax nqz)= ( nx + oy az + 1)
2
1
q3 = sgn (ny oqx=) ( nx oy + az + 1)
2

Tabla 3.2. Relacin entre los mtodos de localizacin espacial


Salida Matriz Par de
Cuaternios
Entrada homognea rotacin
Matriz homognea [3.87] [3.80]
Cuaternios [3.86] [3.85]
Par de rotacin [3.78] [3.84]
Euler WUW [3.71]
Euler WVW [3.73]
Euler RPY [3.75]
CAPTULO 3. HERRAMIENTAS MATEMTICAS PARA LA LOCALIZACIN ESPACIAL 103

3.6. UTILIZACIN DE MATLAB PARA EL MODELADO


Y SIMULACIN DE ROBOTS
MATLAB proporciona una valiosa herramienta de apoyo para el desarrollo de clculos y ope-
raciones habituales en robtica. Su capacidad de manipular de manera natural matrices, fa-
cilita clculos habituales en el modelado de robots.
Estas capacidades se ven aumentadas con dos Toolbox. La primera de ellas es la Toolbox
de clculo simblico, que ser usada al objeto de poder definir y manipular transformaciones
de rotacin y translacin de manera genrica. La segunda es la Toolbox desarrollada por Cor-
ke [CORKE-96] especficamente para robtica. sta aporta numerosos tipos de datos y ope-
raciones especficas para el modelado de robots, por lo que su empleo supone una apreciable
ayuda. La Toolbox de robtica para MATLAB puede ser descargada gratuitamente de la p-
gina http://www.cat.csiro.au/ict/staff/pic/robot
La ltima versin disponible es la versin 7 de abril 2002. El manual de uso de esta To-
olbox para MATLAB se encuentra en el propio fichero descargado de la direccin anterior.

3.7. EJERCICIOS RESUELTOS


Ejercicio 3.1

Encontrar los ngulos de Euler WUW asociados al cuaternio

2 2
2 , 0, 0, 2

Solucin:
El cuaternio asociado a un giro tiene por expresin:


Q = cos , k sen
2 2

Luego en este caso se trata de un giro de /2 en torno al eje Z, por lo que los ngulos de
Euler sern (/2, 0, 0).

Ejercicio 3.2

Expresar el cuaternio asociado a lo ngulos de Euler WUW (0, , 0).

Solucin:
Se trata de un giro alrededor del eje X mvil: U, que al no haber giro previo en torno al
eje Z, coincide con el eje X fijo. Por tanto, el cuaternio asociado ser:
104 FUNDAMENTOS DE ROBTICA


Q = cos , k sen
2 2

Con  0, k (1, 0, 0) por tanto, el cuaternio ser (0, 1, 0, 0).

Ejercicio 3.3

Obtener el cuaternio asociado a la rotacin definida por la matriz de rotacin:

1 0 0
0 1 2 1 2

0 1 2 1 2

Solucin:
La matriz corresponde a una rotacin de 45 en torno al eje X, por lo que el cuaternio aso-
ciado tendr la parte escalar s  cos (45/2) y la parte vectorial v  (1, 0, 0) sen(45/2).

Q  (0,9239, 0,3872, 0, 0)

Si se hace utilizando los comandos de la Toolbox de Robtica para MATLAB se tendr:

>> R = [ 1, 0, 0;
0, 1/sqrt(2), -1/sqrt(2);
0, 1/sqrt(2), 1/sqrt(2)]

R =

1.0000 0 0
0 0.7071 -0.7071
0 0.7071 0.7071

>> quaternion(R)

ans =

0.92388 <0.38268, 0, 0>

>>

Ejercicio 3.4

Obtener la terna (Cabeceo, Alabeo, Guiada) asociada a la rotacin definida por la matriz.

1 0 0
0 1 2 1 2

0 1 2 1 2
CAPTULO 3. HERRAMIENTAS MATEMTICAS PARA LA LOCALIZACIN ESPACIAL 105

Solucin:
Como es un giro simple de 45 en torno al eje X se tendr (Y P R)  (45, 0, 0) o en ra-
dianes (0,7854, 0, 0).
Hacindolo con la Toolbox de Robtica para MATLAB: (Nota: La funcin tr2rpy retorna los
ngulos en este orden (R P Y)).

>> R = [ 1, 0, 0;
0, 1/sqrt(2), -1/sqrt(2);
0, 1/sqrt(2), 1/sqrt(2)]

R =

1.0000 0 0
0 0.7071 -0.7071
0 0.7071 0.7071

>> tr2rpy(R)

ans =

0 0 0.7854

>>

Ejercicio 3.5
Obtener los ngulos de Euler WVW asociados a la rotacin definida por la matriz:

1 0 0
0 1 2 1 2

0 1 2 1 2

Solucin:
La matriz corresponde a una rotacin simple de /4, en torno al eje X. Se pide el equi-
valente expresado en giros en torno a los ejes mviles WVW (ZYZ fijos). Si se pidiera en tor-
no a los ejes WUW mviles (ZXZ fijos), la respuesta sera inmediata: (0, /4, 0), pero al ser
el segundo giro en torno al eje V (Y fijo) es preciso recurrir al siguiente procedimiento que
pretende hacer coincidir el eje X con el V, girar en torno a ste y retornar al eje X a su posi-
cin inicial. Se tendr, por tanto, que:

Se gira /2 alrededor del eje Z (coincidente con el W) con lo que el eje V se convierte
en el X (V  X).
Se gira el ngulo en torno al nuevo eje X coincidente con el V.
Se deshace el giro de /2 en torno al eje W.
106 FUNDAMENTOS DE ROBTICA

RotW(-/2) RotV() RotW(/2)


Z
W V

-/2 /2
U W W
O
Y
X

V U
V U
Figura 3.23. Transformaciones Ejercicio 3.5.

Nota: El dibujo se ha tomado  /2 para facilitar la verificacin.


Por tanto, la terna de ngulos de Euler (WVW) correspondiente al giro de alrededor
de X es (/2, , /2), en este caso particular (/2, /4, /2).
Nota: El mismo efecto se conseguira mediante los ngulos de Euler WVW dados por
(/2, /4, /2).

Ejercicio 3.6

Un sistema de coordenadas XYZ se transforma mediante un giro de 30 en torno al eje Z


seguido de un desplazamiento a lo largo del nuevo eje X en 1 unidad. Encontrar las ecua-
ciones que relacionan las coordenadas homogneas de un punto en el sistema original con sus
coordenadas en el nuevo sistema.

Solucin
Considerando que las transformaciones se definen con respecto al sistema mvil se ten-
dr que:

cos30 sen30 0 0 1 0 0 1
sen30 cos30 0 0 0 1 0 0
XYZ
TUVW = Rotz(30) T([1, 0, 0]) = =
0 0 1 0 0 0 1 0

0 0 0 1 0 0 0 1

3 2 12 0 3 2

12 3 2 0 12
=
0 0 1 0

0 0 0 1
CAPTULO 3. HERRAMIENTAS MATEMTICAS PARA LA LOCALIZACIN ESPACIAL 107

30

O Y

X W

U
Figura 3.24. Figura Ejercicio 3.6.

Luego se tendr que:

3 1
px 3 2 1 2 0 3 2 pu ( pu + 1) pv
p 2 2
y = 12 3 2 0 1 2 pv 1 3
= ( p + 1) + pv
pz 0 0 1 0 pw u 2 2
pw
1 0 0 0 1 1
1

Por tanto:

3 1
px = ( pu + 1) pv
2 2
1 1
py = ( pu + 1) + pv
2 2
pz = pw

Mediante las funciones disponibles en la Toolbox de Robtica para MATLAB se tendra:


>> T=rotz(pi/6)*transl([1 0 0])

T =

0.8660 -0.5000 0 0.8660


0.5000 0.8660 0 0.5000
0 0 1.0000 0
0 0 0 1.0000

>> syms pu pv pw real


>> Pxyz = T*[pu pv pw 1]
108 FUNDAMENTOS DE ROBTICA

Pxyz =

[ 1/2*3^(1/2)*pu-1/2*pv+1/2*3^(1/2)]
[ 1/2*pu+1/2*3^(1/2)*pv+1/2]
[ pw]
[ 1]

>>

Ejercicio 3.7
El sistema de referencia OXYZ se traslada mediante el vector (4, 2, 8), se rota mediante
un giro de 30 en torno al vector (1, 1, 0) y se traslada de nuevo segn el vector (1, 0, 1), con-
virtindose en el sistema OUVW. Todas las transformaciones estn definidas en el sistema de
referencia mvil.
Encontrar la matriz de transformacin homognea que relacione los sistemas OXYZ
con OUVW.
Encontrar las coordenadas en el sistema OXYZ del punto p cuyas coordenadas en OUVW
son (3, 2, 7).

Solucin:
Dado que las transformaciones se definen con respecto al sistema mvil el resultado de las 3
transformaciones combinadas se obtendrn post multiplicando las transformaciones simples.
Las transformaciones a realizar son:
T1: Traslacin segn el vector p1  (4, 2, 8)
T2: Rotacin de 30 en torno al vector (1, 1, 0)
T3: Traslacin segn el vector p2  (1, 0, 1)
Las expresiones de las transformaciones T1 y T3 pueden obtenerse directamente (Expresin
[3.22]). No ocurre as con T2 pues el giro se realiza en torno a un eje distinto a los X, Y o Z.
Para obtener esto es preciso recurrir a la Expresin [3.78]. No obstante, puede hacerse uso de
la Toolbox de Robtica para MATLAB con la siguiente secuencia:

>> K = [1 1 0]

K =

1 1 0

>> K = K/norm(K)

K =

0.7071 0.7071 0

>> Q = quaternion(K,pi/6)

Q =

0.96593 <0.18301, 0.18301, 0>


CAPTULO 3. HERRAMIENTAS MATEMTICAS PARA LA LOCALIZACIN ESPACIAL 109

>> T2 = Q.t

T2 =

0.9330 0.0670 0.3536 0


0.0670 0.9330 -0.3536 0
-0.3536 0.3536 0.8660 0
0 0 0 1.0000

En cuanto a T1 y T3 se obtienen directamente como:

>> T1=transl([4 2 8])

T1 =

1 0 0 4
0 1 0 2
0 0 1 8
0 0 0 1

>> T3 = transl([1 0 1])


T3 =

1 0 0 1
0 1 0 0
0 0 1 1
0 0 0 1

Por lo que se puede obtener T como:


>> T = T1 * T2 * T3

T =

0.9330 0.0670 0.3536 5.2866


0.0670 0.9330 -0.3536 1.7134
-0.3536 0.3536 0.8660 8.5125
0 0 0 1.0000

Por tanto, las coordenadas del punto puvw (3, 2, 7) en el sistema OXYZ sern:
>> Puvw = [3 2 7 1]

Puvw =

3 2 7 1

>> Pxyz = T*Puvw

Pxyz =

10.6945
1.3055
14.2211
1.0000

>>
110 FUNDAMENTOS DE ROBTICA

Ejercicio 3.8

En la figura se muestra un robot de 2 grados de libertad (d, ). La longitud de la nica ba-


rra que compone el robot es L constante. Un objeto rgido situado en el rea de trabajo del
robot queda localizado por su sistema de referencia Sp.

Sp
Xf
Yf
Sf
Y0

L
X0
So

d
Figura 3.25. Figura Ejercicio 3.8.

El extremo del robot tiene asociado el sistema de referencia Sf y se considera como sis-
tema de referencia absoluto, la base del robot So: {X0, Y0}, desde la que se mide la localiza-
cin del robot (d, ). En el extremo del robot se dispone de una cmara de visin que me-
diante el adecuado tratamiento de la imagen es capaz de dar la posicin y orientacin del
objeto (X, Y, ) definidas como la posicin del origen de Sp y el ngulo girado medidos todos
ellos con respecto al sistema Sf (extremo del robot).
Supuestos conocidos los valores de (X, Y, ) y la localizacin del robot (d, ), obtener la
localizacin del objeto Sp en la base de referencia absoluta So.
Verificar que el resultado anterior es correcto aplicndolo a:
a) El propio sistema de referencia del extremo del robot Sf.
b) A un objeto orientado como el extremo del robot, pero desplazado 1 unidad en la di-
reccin de la base del robot (eje Xf)

Solucin:
Denotando por aTb a la matriz de transformacin homognea que permite el cambio ge-
nrico de base del sistema Sa al sistema Sb se tendr que:
Tp  oTf f Tp
o

Donde oTp es la matriz de transformacin homognea que localiza a la pieza con respec-
to al sistema de referencia absoluto So.
CAPTULO 3. HERRAMIENTAS MATEMTICAS PARA LA LOCALIZACIN ESPACIAL 111

o
Tf es la matriz de transformacin homognea que localiza al extremo del robot con res-
pecto a So (funcin de (d, ))
f
Tp es la matriz de transformacin homognea que localiza a la pieza con respecto al ex-
tremo del robot que soporta a la cmara (funcin de (X, Y, )).

Se obtendrn oTf y f Tp en funcin de (d, ) y (X, Y, ) respectivamente


o
Tf  T([d, 0, 0]) Rotz() T([L, 0, 0])

Haciendo uso de las Expresiones [3.22] y [3.27].

1 0 0 d C S 0 0 1 0 0 L
0 1 0 0 S C 0 0 0 1 0 0
o
Tf =
0 0 1 0 0 0 1 0 0 0 1 0

0 0 0 1 0 0 0 1 0 0 0 1
C S 0 LC + d
S C 0 LS
o
Tf =
0 0 1 0

0 0 0 1

Prstese atencin a que las transformaciones se definen con respecto a los ejes mviles,
por lo que las matrices se post-multiplican.
Por su parte:
f
Tp  T([x, y, 0]) Rotz()
Esto es:

1 0 0 x C S 0 0 C S 0 x
0 1 0 y S C 0 0 S C 0 y
f
Tp = =
0 0 1 0 0 0 1 0 0 0 1 0

0 0 0 1 0 0 0 1 0 0 0 1

Por tanto:

C S 0 LC + d C S 0 x
S C 0 LS S C 0 y
o
Tf = o Tf f Tp = =
0 0 1 0 0 0 1 0

0 0 0 1 0 0 0 1
C ( + ) S( + ) 0 ( L + x )C yS + d
S( + ) C ( + ) 0 ( L + x )S + yC
=
0 0 1 0

0 0 0 1
112 FUNDAMENTOS DE ROBTICA

Es decir, el objeto se encuentra con respecto al sistema So en unas coordenadas:

( px , py ) = (( L + x )C yS + d , ( L + x )S + yC )

Y girado con respecto al eje Z un ngulo  .


Si se considera al objeto en el propio extremo del robot, se tendr que (X, Y, )  (0, 0, 0)
con lo que:

( px , py ) = ( LC + d , LS )

Y la orientacin corresponder a un giro respecto al eje Z de .


Dada la simplicidad del robot, a esta conclusin podra haberse llegado directamente por
consideraciones geomtricas (vase Figura 3.26).

Lsen L

d Lcos
Figura 3.26. Resolucin por consideraciones geomtricas del Ejercicio 3.8.

Para el caso de que el objeto estuviera desplazado 1 unidad a lo largo de la barra del robot
se tendra que (X, Y, )  (1, 0, 0) con lo que:

( px , py ) = (( L + 1)C + d ( L + 1)S )

Siendo su orientacin la correspondiente ante un giro en Z de .

Nota: Las operaciones de los productos de matrices simblicas pueden hacerse con ayu-
da de las funciones accesibles en la Toolbox de Robtica para MATLAB, con la siguiente se-
cuencia de comandos (Entindase t  , a ).

Obtencin de la expresin general:

>> syms d L t x y a real


>> Tof = transl([d 0 0])*rotz(t)*transl([L 0 0])
CAPTULO 3. HERRAMIENTAS MATEMTICAS PARA LA LOCALIZACIN ESPACIAL 113

Tof =

[ cos(t), -sin(t), 0, cos(t)*L+d]


[ sin(t), cos(t), 0, sin(t)*L]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]

>> Tfp = transl([x y 0])*rotz(a)


Tfp =

[ cos(a), -sin(a), 0, x]
[ sin(a), cos(a), 0, y]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]

>> Top = Tof*Tfp


Top =

[ cos(t)*cos(a)-sin(t)*sin(a), -cos(t)*sin(a)-sin(t)*cos(a), 0, cos(t)*x-sin(t)*y+cos(t)*L+d]


[ sin(t)*cos(a)+cos(t)*sin(a), cos(t)*cos(a)-sin(t)*sin(a), 0, sin(t)*x+cos(t)*y+sin(t)*L]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]

>> simple(Top)
ans =

[ cos(t+a), -sin(t+a), 0, cos(t)*x-sin(t)*y+cos(t)*L+d]


[ sin(t+a), cos(t+a), 0, sin(t)*x+cos(t)*y+sin(t)*L]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]

>> x=0
>> x =0
>> y=0
>> y =0
>> t=0
t =0

>> eval(Top)

ans =
[ cos(a), -sin(a), 0, L+d]
[ sin(a), cos(a), 0, 0]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]
>> x=1
>> y=0
>> t=0
>> eval(Top)
ans =
[ cos(a), -sin(a), 0, 1+L+d]
[ sin(a), cos(a), 0, 0]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]
>>
114 FUNDAMENTOS DE ROBTICA

Ejercicio 3.9
Dos robots (A y B) cooperan en una misma tarea. Sus bases, a las que estn asociadas sus
sistemas de referencia Sa y Sb, estn ubicados de modo que la base B est desplazada 2 uni-
dades en la direccin del eje Y del sistema Sa y girada 90 respecto del nuevo eje Z. (va-
se figura).
El robot B ejecuta un programa con una orden del tipo:
Deja el objeto en la localizacin Tbo
Esta orden implica dejar el objeto en una localizacin de coordenadas definidas por la ma-
triz de transformacin homognea Tb0 (las coordenadas se encuentran definidas con respecto
al sistema de referencia del robot B, Sb).
Este objeto debe ser recogido por el robot A, para lo que ste tendr que una orden del
tipo:
Recoge el objeto en localizacin Tao
Se pide:
a) Encontrar la expresin que define el valor que debe tomar Tao en funcin de Tbo.
b) Aplicarlo al caso concreto de que el robot B deje el objeto a 1 unidad sobre la vertical
de su origen y girado /2 respecto del eje Z.

Z O

Tbo
Tao X Y

A B
1

Z
Z

X
Y

X Y

2
Figura 3.27. Disposicin robots Ejercicio 3.9.

Solucin:
Se denotar por:
a
To: Matriz de transformacin homognea que localiza al objeto con respecto del sistema
de referencia del robot A. (Tao en el enunciado).
CAPTULO 3. HERRAMIENTAS MATEMTICAS PARA LA LOCALIZACIN ESPACIAL 115

b
To: Matriz de transformacin homognea que localiza el objeto con respecto del sistema
de referencia del robot B (Tbo en el enunciado).
a
Tb: Matriz de transformacin homognea que localiza al sistema de referencia del robot
A con respecto del sistema de referencia del robot B.

Z O

b
To
a
To X Y

A B

Z
Z

X
Y a
Tb
X Y

Figura 3.28. Matrices de transformaciones del Ejercicio 3.9.

De acuerdo a los datos del enunciado aTb se obtiene mediante las siguientes transforma-
ciones:
Translacin de 2 unidades a lo largo del eje Y: T([0, 2, 0,]).
Rotacin de /2 en torno al nuevo eje Z: Rotz(/2).

Por lo que:
Tb  T([0 2 0]) Rotz(/2)
a

1 0 0 0 0 1 0 0 0 1 0 0
0 1 0 2 1 0 0 0 1 0 0 2
a
Tb = =
0 0 1 0 0 0 1 0 0 0 1 0

0 0 0 1 0 0 0 1 0 0 0 1

Resultando de esta manera que la expresin general de aTo en funcin de bTo ser:

0 1 0 0
1 0 0 2 b
a
T0 = a Tb b T0 = To
0 0 1 0

0 0 0 1
116 FUNDAMENTOS DE ROBTICA

Para el caso particular de que el objeto est situado 1 unidad sobre la vertical del robot B
y girado 90 respecto del nuevo eje Z, se tendr que:

b
To  T([0 0 1]) Rotz(/2])

1 0 0 0 0 1 0 0 0 1 0 0
0 1 0 0 1 0 0 0 1 0 0 0
b
To = =
0 0 1 1 0 0 1 0 0 0 1 1

0 0 0 1 0 0 0 1 0 0 0 1

Con lo que:

0 1 0 0 0 1 0 0 1 0 0 0
1 0 0 2 1 0 0 0 0 1 0 2
b
To = =
0 0 1 0 0 0 1 1 0 0 1 1

0 0 0 1 0 0 0 1 0 0 0 1

Este resultado corresponde a un desplazamiento del origen del objeto con respecto al sis-
tema del robot A dado por el vector (0, 2, 1) y una coincidencia en la orientacin de los sis-
temas de referencia, valores que pueden ser confirmados fcilmente en las figuras.
La solucin del ejercicio mediante la Toolbox de Robtica para MATLAB sera:

>> Tab=transl([0 2 0])*rotz(pi/2)

Tab =

0.0000 1.0000 0 0
1.0000 0.0000 0 2.0000
0 0 1.0000 0
0 0 0 1.0000

>> Tbo = transl([0 0 1])*rotz(pi/2)

Tbo =

0.0000 1.0000 0 0
1.0000 0.0000 0 0
0 0 1.0000 1.0000
0 0 0 1.0000

>> Tao = Tab*Tbo


Tao =

1 0 0 0
0 1 0 2
0 0 1 1
0 0 0 1

>>
CAPTULO 3. HERRAMIENTAS MATEMTICAS PARA LA LOCALIZACIN ESPACIAL 117

3.7. BIBLIOGRAFA
[BARRIENTOS-86] A. Barrientos, Software de base para un robot de la segunda genera-
cin, en: Sistema operativo y lenguaje de programacin para robots dotados de senso-
res, Tesis Doctoral, DISAM, Universidad Politcnica de Madrid, 1986.
[BEGGS-83] J. S. Beggs, Kinematics, Springer Verlag, Berln, 1983.
[CORKE-96] P. I. Corke, A Robotics Toolbox for Matlab, IEEE Robotics & Automation Ma-
gazine, vol. 3, n.o 1, marzo 1996.
[FU-88] Fu, K. S., Gonzlez, R. C. y Lee, C. S. G., Cinemtica del brazo del robot, en: Ro-
btica: control, deteccin, visin e inteligencia, McGraw-Hill, Madrid, 1988.
[HAMILTON-69] Hamilton, W. R., Elements of Quaternions, Chelsea Publishing Co. New
York, 1969.
[PAUL-81] Paul, R.P., Homogeneous Transformations, en: Robot Manipulators: Mathe-
matics, Programming and Control, The MIT Press, Massachussets, 1981.
CAPTULO 4
Cinemtica del robot

Quien bien ata, bien desata


Refranero popular

La cinemtica del robot estudia el movimiento del mismo con respecto a un sistema de refe-
rencia sin considerar las fuerzas que intervienen. As, la cinemtica se interesa por la des-
cripcin analtica del movimiento espacial del robot como una funcin del tiempo, y en par-
ticular por las relaciones entre la posicin y la orientacin del extremo final del robot con los
valores que toman sus coordenadas articulares.
Existen dos problemas fundamentales a resolver en la cinemtica del robot (Figura 4.1);
el primero de ellos se conoce como el problema cinemtico directo, y consiste en determi-
nar cul es la posicin y orientacin del extremo final del robot, con respecto a un sistema de
coordenadas que se toma como referencia, conocidos los valores de las articulaciones y los
parmetros geomtricos de los elementos del robot; el segundo, denominado problema ci-
nemtico inverso, resuelve la configuracin que debe adoptar el robot para una posicin y
orientacin del extremo conocidas.
Denavit y Hartenberg propusieron un mtodo sistemtico para describir y representar la
geometra espacial de los elementos de una cadena cinemtica, y en particular de un robot,
con respecto a un sistema de referencia fijo. Este mtodo utiliza una matriz de transformacin
homognea para describir la relacin espacial entre dos elementos rgidos adyacentes, redu-
cindose el problema cinemtico directo a encontrar una matriz de transformacin homog-
nea 4 4 que relacione la localizacin espacial del extremo del robot con respecto al sistema
de coordenadas de su base.
Por otra parte, la cinemtica del robot trata tambin de encontrar las relaciones entre las
velocidades del movimiento de las articulaciones y las del extremo. Esta relacin viene
dada por el modelo diferencial expresado mediante la matriz Jacobiana.

Cinemtica Directa

Posicin y
Coordenadas
orientacin del
articulares
extremo del robot
(q1 , q2 qn ) ( x, y, z , , , )
Cinemtica Inversa

Figura 4.1. Diagrama de relacin entre cinemtica directa e inversa.

119
120 FUNDAMENTOS DE ROBTICA

4.1. EL PROBLEMA CINEMTICO DIRECTO


La resolucin del problema cinemtico directo permite conocer cul es la posicin y orien-
tacin que adopta el extremo del robot cuando cada una de las variables que fijan la posicin
u orientacin de sus articulaciones toma valores determinados.
Dado que son las variables articulares las que pueden ser ledas directamente de los co-
rrespondientes sensores por la unidad de control del robot, el modelo cinemtico directo ser
utilizado por ste, entre otros fines, para presentar al usuario informacin relativa a la loca-
lizacin del extremo del robot.
As, si se han escogido coordenadas cartesianas y ngulos de Euler para representar la po-
sicin y orientacin del extremo de un robot de seis grados de libertad, la solucin al pro-
blema cinemtico directo vendr dada por las relaciones:

x = f x (q1 , q2 , q3 , q4 , q5 , q6 )
y = f y (q1 , q2 , q3 , q4 , q5 , q6 )
z = fz (q1 , q2 , q3 , q4 , q5 , q6 ) [4.1]
= f (q1 , q2 , q3 , q4 , q5 , q6 )
= f (q1 , q2 , q3 , q4 , q5 , q6 )
= f (q1 , q2 , q3 , q4 , q5 , q6 )

La obtencin del modelo cinemtico directo puede ser abordado mediante dos enfoques
diferentes denominados mtodos geomtricos y mtodos basados en cambios de sistemas de
referencia.
Los primeros son adecuados para casos simples, pero al no ser sistemticos, su aplicacin
queda limitada a robots con pocos grados de libertad. Los mtodos basados en cambio de sis-
temas de referencia, permiten de una manera sistemtica abordar la obtencin del modelo ci-
nemtico directo del robot para robots de n grados de libertad, siendo stos, por tanto, los ms
frecuentemente utilizados, en particular los que usan las matrices de transformacin homo-
gnea.

4.1.1. Resolucin del problema cinemtico directo mediante


mtodos geomtricos
La resolucin del problema cinemtico directo consiste en encontrar las relaciones que per-
miten conocer la localizacin espacial del extremo del robot a partir de los valores de sus co-
ordenadas articulares.
La obtencin de estas relaciones puede en, ciertos casos (robots de pocos GDL), ser fcil
de encontrar mediante simples consideraciones geomtricas. Por ejemplo, para los robots de
2GDL de la Figura 4.2 se puede obtener con facilidad:
CAPTULO 4. CINEMTICA DEL ROBOT 121

y x
y y

l2
q2 y
x
q2

l1

q1 q1

x x
a) b)
Figura 4.2. Robots planares de 2 grados de libertad.

As, para el robot polar de la Figura 4.2a se tiene:

x = q2 cos q1
y = q2 sen q1 [4.2]
z=0
[noa] = Rotz(q1 )
Por su parte, para el robot articular de la Figura 4.2b:

x = l1 cosq1 + l 2 cos ( q1 + q2 )
y = l1 senq1 + l 2 sen ( q1 + q2 )
[4.3]
z=0
[noa ] = Rotz (q1 + q2 )

Para un robot de 3 grados de libertad, como el de la Figura 4.3 en el que todos sus ele-
mentos quedan contenidos en un plano, puede trabajarse sobre ste, resultando un robot si-
milar al de la Figura 4.2b obtenindose:

z z
y x

l3 z
l2 q3 l3 q3
r
q2
l2
l1 q2

y l1
q1
r

x r

Figura 4.3. Robot de 3 grados de libertad.


122 FUNDAMENTOS DE ROBTICA

r = l2 cos q2 + l3 cos (q2 + q3 )


z = l1 + l2 sen q2 + l3 sen (q2 + q3 )
x = r cos q1 [4.4]
y = r sen q1
[noa] = Rotz(q1 ) Roty( q2 q3 ) Rotx( / 2)

No existe un procedimiento especfico para resolver el problema cinemtico directo me-


diante el mtodo geomtrico, resultando por ello, por lo general, inoperativo para robots de
mayor nmero de grados de libertad.
Para estos casos y de manera general, puede utilizarse el mtodo basado en cambios de los
sistemas de referencia, que se desarrollar en el epgrafe siguiente.

4.1.2. Resolucin del problema cinemtico directo mediante


matrices de transformacin homognea
Como se ha visto en el captulo anterior, se utiliza, fundamentalmente, el lgebra vectorial y
matricial para representar y describir la localizacin de un objeto en el espacio tridimensional
con respecto a un sistema de referencia fijo. Dado que un robot se puede considerar como una
cadena cinemtica formada por objetos rgidos o eslabones unidos entre s mediante articu-
laciones, se puede establecer un sistema de referencia fijo situado en la base del robot y des-
cribir la localizacin de cada uno de los eslabones con respecto a dicho sistema de referencia.
De esta forma, el problema cinemtico directo se reduce a encontrar una matriz de transfor-
macin homognea T que relacione la posicin y orientacin del extremo del robot respecto
del sistema de referencia fijo situado en la base del mismo. Esta matriz T ser funcin de las
coordenadas articulares.
En general, un robot de n grados de libertad est formado por n eslabones unidos por n ar-
ticulaciones, de forma que cada par articulacin-eslabn constituye un grado de libertad. A
cada eslabn se le puede asociar un sistema de referencia (Figura 4.4) solidario a l y, utili-
zando las transformaciones homogneas, es posible representar las rotaciones y traslaciones
relativas entre los distintos eslabones que componen el robot. Normalmente, la matriz de
transformacin homognea que representa la posicin y orientacin relativa entre los sistemas
asociados a dos eslabones consecutivos del robot se suele denominar matriz i1Ai. As pues,
0
A1 describe la posicin y orientacin del sistema de referencia solidario al primer eslabn
con respecto al sistema de referencia solidario a la base, 1A2 describe la posicin y orientacin
del segundo eslabn respecto del primero, etc. Del mismo modo, denominando 0Ak a las ma-
trices resultantes del producto de las matrices i1Ai con i desde 1 hasta k, se puede represen-
tar de forma total o parcial la cadena cinemtica que forma el robot. As, por ejemplo, la po-
sicin y orientacin del sistema solidario con el segundo eslabn del robot con respecto al
sistema de coordenadas de la base se puede expresar mediante la matriz 0A2:
0
A 2 = 0 A1 1 A 2 [4.5]

De manera anloga, la matriz 0A3 representa la localizacin del sistema del tercer eslabn:
0
A 3 = 0 A1 1 A 2 2 A 3 [4.6]
CAPTULO 4. CINEMTICA DEL ROBOT 123

Y2 x2
y 1 S2
A2

l2
0 y1 q2
A1 x1
S1
y0 l1

q1

S 0 x0 x
Figura 4.4. Asociacin de sistemas de referencia a cada eslabn del robot.

Cuando se consideran todos los grados de libertad, a la matriz 0An se le suele denominar
T. As, dado un robot de seis grados de libertad, se tiene que la posicin y orientacin del es-
labn final vendr dada por la matriz T:

T = 0 A6 = 0 A1 1 A 2 2 A3 3 A 4 4 A 5 5 A6 [4.7]

Cada una de las matrices i1Ai representa el cambio de base que permite pasar del sistema
asociado al eslabn i1 al asociado al eslabn i. Esta matriz depender, adems de constan-
tes geomtricas propias del eslabn, del grado de libertad qi.
Por tanto, la Expresin [4.7] podr escribirse como:

T(q1 qn ) = 0 A1 (q1 ) 1 A 2 (q2 ) n1 A n (qn ) [4.8]

Resultando que la relacin entre el sistema de coordenadas de la base y del extremo que-
da definida por una matriz de transformacin homognea T funcin de las coordenadas arti-
culares, que debe hacerse coincidir con la matriz de transformacin homognea [noap] co-
rrespondiente a la localizacin en la que se desea posicionar al robot. De esta igualdad se
obtiene la solucin al problema cinemtico directo.

EJEMPLO 4.1

Para el robot de la Figura 4.4 se tiene que:


El paso de {S0} a {S1}se consigue mediante un giro q1 entorno al eje z y una traslacin
l1 a lo largo del nuevo eje x con lo que:

0
A1 = Rotz(q1 ) T(l1 , 0, 0 ) =
C1 S1 0 0 1 0 0 l1 C1 S1 0 l1C1
S C1 0 0 0 1 0 0 S1 C1 0 l1S1
=
1
=
0 0 1 0 0 0 1 0 0 0 1 0

0 0 0 1 0 0 0 1 0 0 0 1
124 FUNDAMENTOS DE ROBTICA

El paso de {S1} a {S2}se consigue mediante un giro de q2 entorno al eje z y un des-


plazamiento de l2 a lo largo del nuevo eje x con lo que:

1
A 2 = Rotz(q2 ) T(l2 , 0, 0) =
C2 S2 0 0 1 0 0 l2 C2 S2 0 l2 C2

S C2 0 0 0 1 0 0 S2 C2 0 l2 S2
= 2 =
0 0 1 0 0 0 1 0 0 0 1 0

0 0 0 1 0 0 0 1 0 0 0 1

Con lo que T  0A1 1A2 

C1S2 S1S2 C1S2 S1C2 0 l1C1 + l2 C12


S C + C S S1S2 + C1C2 0 l1S1 + l2 S12
=
1 2 1 2
0 0 1 0

0 0 0 1
C12 S12 0 l1C1 + l2 C12
S C12 0 l1S1 + l2 S12
=
12
0 0 1 0

0 0 0 1
Si se pretende que el robot alcance la posicin dada por el vector p y la orientacin de-
finida por los vectores n, o, a, se tendr que:

C12 S12 0 l1C1 + l2 C12


n o a p
S12 C12 0 l1S1 + l2 S12
=
0 0 0 1 0
0 1 0

0 0 0 1

con lo que:

x = l1C1 + l2 C12
y = l1S1 + l2 S12
z=0
[noa] = Rotz(q1 + q2 )

Expresin del modelo cinemtico directo del robot coincidente con la obtenida por
mtodos geomtricos ([4.3]).
CAPTULO 4. CINEMTICA DEL ROBOT 125

4.1.3. Algoritmo de Denavit Hartenberg para la obtencin


del modelo cinemtico directo
Aunque para describir la relacin que existe entre dos elementos contiguos se puede hacer uso
de cualquier sistema de referencia ligado a cada elemento, la forma habitual que se suele uti-
lizar en robtica es la representacin de Denavit-Hartenberg (D-H). Denavit y Hartenberg
[DENAVIT-55] propusieron en 1955 un mtodo matricial que establece la localizacin que debe
tomar cada sistema de coordenadas {Si} ligado a cada eslabn i de una cadena articulada, para
poder sistematizar la obtencin de las ecuaciones cinemticas de la cadena completa.
Escogiendo los sistemas de coordenadas asociados a cada eslabn segn la representacin
propuesta por D-H, ser posible pasar de uno al siguiente mediante 4 transformaciones b-
sicas que dependen exclusivamente de las caractersticas geomtricas del eslabn.
Hay que hacer notar que si bien en general una matriz de transformacin homognea que-
da definida por 6 grados de libertad, el mtodo de Denavit-Hartenberg, permite, en eslabones
rgidos, reducir ste a 4 con la correcta eleccin de los sistemas de coordenadas.
Estas 4 transformaciones bsicas consisten en una sucesin de rotaciones y traslaciones que
permiten relacionar el sistema de referencia del elemento i1 con el sistema del elemento i. Las
transformaciones en cuestin son las siguientes (es importante recordar que el paso del sistema
{Si-1} al {Si} mediante estas 4 transformaciones est garantizado slo si los sistemas {Si1}y {Si}
han sido definidos de acuerdo a unas normas determinadas que se expondrn posteriormente):

1. Rotacin alrededor del eje zi1 un ngulo i.


2. Traslacin a lo largo de zi1 una distancia di; vector di (0,0,di).
3. Traslacin a lo largo de xi una distancia ai; vector ai (ai,0,0).
4. Rotacin alrededor del eje xi un ngulo i.

Donde las transformaciones se refieren al sistema mvil.


Dado que el producto de matrices no es conmutativo, las transformaciones se han de
realizar en el orden indicado. De este modo se tiene que:
i 1
A i = Rotz ( i ) T (0, 0, di ) T ( ai 0, 0) Rotx ( i ) [4.9]
y realizando el producto entre matrices se obtiene que:

C i S i 0 0 1 0 0 0 1 0 0 a i 1 0 0 0
S C i 0 0 0 1 0 0 0 1
0 0 0 C i -S i 0
i 1
Ai = i =
0 0 1 0 0 0 1 d i 0 0 1 0 0 S i C i 0

0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1
[4.10]
C i C i S i S i S i ai C i
S C i C i S i C i ai S i
=
i
0 S i C i di

0 0 0 1

donde i , di , ai , i son los parmetros D-H del eslabn i. De este modo, basta con identifi-
car los parmetros i , di , ai , i para obtener las matrices i1Ai y relacionar as todos y cada
uno los eslabones del robot.
126 FUNDAMENTOS DE ROBTICA

Como se ha indicado, para que la matriz i1Ai, definida en [4.10] relacione los sistemas
{Si1} y {Si}, es necesario que los sistemas se hayan escogido de acuerdo a unas determinadas
normas. stas, junto con la definicin de los 4 parmetros de Denavit Hartenberg, conforman
el siguiente algoritmo para la resolucin del problema cinemtico directo:
DH 1. Numerar los eslabones comenzando con 1 (primer eslabn mvil de la cadena) y
acabando con n (ltimo eslabn mvil). Se numerar como eslabn 0 a la base
fija del robot.
DH 2. Numerar cada articulacin comenzando por 1 (la correspondiente al primer gra-
do de libertad) y acabando en n.
DH 3. Localizar el eje de cada articulacin. Si sta es rotativa, el eje ser su propio eje de
giro. Si es prismtica, ser el eje a lo largo del cual se produce el desplazamiento.
DH 4. Para i de 0 a n1 situar el eje zi sobre el eje de la articulacin i  1.
DH 5. Situar el origen del sistema de la base {S0} en cualquier punto del eje z0. Los ejes
x0 e y0 se situarn de modo que formen un sistema dextrgiro con z0.
DH 6. Para i de 1 a n1, situar el origen del sistema {Si} (solidario al eslabn i) en la
interseccin del eje zi con la lnea normal comn a zi1 y zi. Si ambos ejes se cor-
tasen se situara {Si} en el punto de corte. Si fuesen paralelos {Si} se situara en la
articulacin i  1.
DH 7. Situar xi en la lnea normal comn a zi1 y zi.
DH 8. Situar yi de modo que forme un sistema dextrgiro con xi y zi .
DH 9. Situar el sistema {Sn} en el extremo del robot de modo que zn coincida con la di-
reccin de zn1 y xn sea normal a zn1 y zn .
DH 10. Obtener i como el ngulo que hay que girar en torno a zi1 para que xi1 y xi que-
den paralelos.
DH 11. Obtener di como la distancia, medida a lo largo de zi1, que habra que desplazar
{Si1} para que xi y xi1 quedasen alineados.
DH 12. Obtener ai como la distancia medida a lo largo de xi (que ahora coincidira con xi1)
que habra que desplazar el nuevo {Si1} para que su origen coincidiese con {Si}.
DH 13. Obtener i como el ngulo que habra que girar entorno a xi , para que el nuevo
{Si1} coincidiese totalmente con {Si}.
DH 14. Obtener las matrices de transformacin i1Ai definidas en [4.10].
DH 15. Obtener la matriz de transformacin que relaciona el sistema de la base con el del
extremo del robot T  0A1 1A2 n1An.
DH 16. La matriz T define la orientacin (submatriz de rotacin) y posicin (submatriz de tras-
lacin) del extremo referido a la base, en funcin de las n coordenadas articulares.
articulaci
n i+1
articulacin i
i+1
i-1
i
acin ni
ul eslab
artic i-1 1
eslabn i-
i
zi
ai i

di z i-1 xi
x i-1
i

Figura 4.5. Parmetros de D-H para un eslabn giratorio.


CAPTULO 4. CINEMTICA DEL ROBOT 127

Los cuatro parmetros de D-H (i, di, ai, i) dependen nicamente de las caractersticas
geomtricas de cada eslabn y de las articulaciones que le unen con el anterior y siguiente. En
concreto estos representan (Figura 4.5):

i Es el ngulo que forman los ejes xi1 y xi medido en un plano perpendicular al eje zi1,
utilizando la regla de la mano derecha. Se trata de un parmetro variable en articula-
ciones giratorias.
di Es la distancia a lo largo del eje zi1 desde el origen del sistema de coordenadas
(i1)-simo hasta la interseccin del eje zi1 con el eje xi. Se trata de un parmetro va-
riable en articulaciones prismticas.
ai Es la distancia a lo largo del eje xi que va desde la interseccin del eje zi1 con el eje xi
hasta el origen del sistema i-simo, en el caso de articulaciones giratorias. En el caso
de articulaciones prismticas, se calcula como la distancia ms corta entre los ejes zi1
y zi.
i Es el ngulo de separacin del eje zi1 y el eje zi, medido en un plano perpendicular al
eje xi, utilizando la regla de la mano derecha.

Una vez obtenidos los parmetros D-H, el clculo de las relaciones entre los eslabones
consecutivos del robot es inmediato, ya que vienen dadas por las matrices i1Ai, que se cal-
culan segn la Expresin general [4.10]. Las relaciones entre varios eslabones consecutivos
dos a dos vienen dadas por las matrices T que, como ya se coment anteriormente, se obtie-
nen como producto de un conjunto de matrices A [4.8].

Obtenida la matriz T, sta expresar la orientacin (submatriz (3  3) de rotacin) y po-


sicin (submatriz (3  1) de traslacin) del extremo del robot en funcin de sus coordenadas
articulares, con lo que quedar resuelto el problema cinemtico directo.

Y2 X2 d3
l4
Y3 X3
2
Z2 Z3
3 4 4
1 Y4 X4
d2
1
Z1
Y1
Z4
X1
Z0
l1
0
Y0
X0
Figura 4.6. Robot cilndrico del Ejemplo 4.2.
128 FUNDAMENTOS DE ROBTICA

Tabla 4.1. Parmetros de D-H para el robot cilndrico de la Figura 4.6

Articulacin d a

1 q1 l1 0 0
2 90 d2 0 90
3 0 d3 0 0
4 q4 l4 0 0

EJEMPLO 4.2
Con el fin de ilustrar el mtodo expuesto anteriormente, se va a desarrollar a conti-
nuacin la resolucin completa del problema cinemtico directo para un robot cilndrico.
En primer lugar, se localizan los sistemas de referencia de cada una de las articula-
ciones del robot (Figura 4.6). Posteriormente, se determinan los parmetros de Denavit-
Hartenberg del robot, con los que se construye la Tabla 4.1. Una vez calculados los pa-
rmetros de cada eslabn, se calculan las matrices i1Ai, sustituyendo en la Expresin
general [4.10] de la siguiente manera:

C1 S1 0 0 0 0 1 0
S C1 0 0 1 0 0 0
0
A1 =
1 1
A2 =
0 0 1 l1 0 1 0 d2

0 0 0 1 0 0 0 1

1 0 0 0 C4 S4 0 0
0 1 0 0 S C4 0 0
A3 = A4 =
2 3 4
0 0 1 d3 0 0 1 l4

0 0 0 1 0 0 0 1

As pues, se puede calcular la matriz T que indica la localizacin del sistema final con
respecto al sistema de referencia de la base del robot.

S1C4 S1S4 C1 C1 ( d3 + l4 )
CC C1S4 S1 S1 ( d3 + l4 )
T = 0 A1 1 A 2 2 A 3 3 A 4 =
1 4
S4 C4 0 d2 + l1

0 0 0 1

Tabla 4.2. Parmetros de D-H para un robot IRB6400C

Articulacin d a

1 1 0 0 90
2 2 l1 0 90
3 3-90 0 l2 90
4 4 l3 0 90
5 5 0 0 90
6 6 l4 0 0
CAPTULO 4. CINEMTICA DEL ROBOT 129

EJEMPLO 4.3
Se va a desarrollar, a continuacin, la resolucin completa del problema cinemtico di-
recto para un robot ABB-IRB6400C.
En primer lugar, y siguiendo el algoritmo de Denavit-Hartenberg, se localizan los sis-
temas de referencia de cada una de las articulaciones del robot (Figura 4.7). Posterior-
mente, se determinan los parmetros de Denavit-Hartenberg del robot, con los que se
construye la Tabla 4.2. Se calculan ahora las matrices A, sustituyendo en la expresin ge-
neral de la siguiente manera:
C1 0 S1 0 C2 0 S2 0
S 0 C1 0 S 0 C2 0
0
A1 =
1 1
A2 =
2
0 1 0 0 0 1 0 l1

0 0 0 1 0 0 0 1

S3 0 C3 l2 S3 C4 0 S4 0
C 0 S3 l2 C3 S 0 C4 0
A3 = A4 =
2 3 3 4
0 1 0 0 0 1 0 l3

0 0 0 1 0 0 0 1

C5 0 S5 0 C6 S6 0 0
S 0 C5 0 S C6 0 0
A5 = A6 =
4 5 5 6
0 1 0 0 0 0 1 l4

0 0 0 1 0 0 0 1

Y3 l3

Z4 l4
Z3 Y4
X3
4
4 6
3 Y6
Y2 5
X2 Z6
Z2 5 X4
l2 6
Y5
3 X6

2
Z5
2 X5

Z1
l1 1 Y0 Z0 X1
X0

1
Y1

Figura 4.7. Asignacin de ejes de referencia para el robot IRB6400C del Ejemplo 4.3.
130 FUNDAMENTOS DE ROBTICA

As pues, se puede calcular la matriz T que indica la localizacin del sistema asocia-
do al extremo del robot con respecto al sistema de referencia de la base del robot:

n x ox ax px
n oy ay py
T = 0 A1 1 A 2 2 A 3 3 A 4 4 A 5 5 A 6 =
y
z
n oz az pz

0 0 0 1

A continuacin se desarrollan los trminos de la matriz T .

n x = (C1 C2 S3 + S1C3 ) (C4 C5C6 S4 S6 ) + C1S2 ( S4 C5C6 + C4 S6 ) + ( C1C2 C3 + S1S3 )S5C6

ny = ( S1C 2 S3 + S1C3 ) (C4 C5C6 S4 S6 ) + S1S2 ( S4 C5C6 + C4 S6 ) + ( S1C2 C3 C1S3 )S5C6


n z = ( S2 S3 ) (C4 C5C6 S4 S6 ) + C2 ( S4 C5C6 + C4 S6 ) + S2 C3 S5C6

ox = (C1 C2 S3 + S1C3 ) ( C4 C5C6 S4 S6 ) + C1S2 ( S4 C5 C6 + C4 S6 ) + ( C1C2 C3 + S1S3 ) ( S5C6 )

oy = ( S1C 2 S3 + S1C3 ) ( C4 C5C6 S4 S6 ) + S1S2 ( S4 C5C6 + C4 S6 ) + ( S1C2 C3 C1S3 ) ( S5C6 )

oz = ( S2 S3 ) ( C4 C5C6 S4 S6 ) + C2 ( S4 C5C6 + C4 S6 ) + S2 C3 ( S5C6 )


px = (C1 C2 S3 + S1C3 )(l4 C4 S5 ) + C1S2 (l4 S4 S5 ) + (C1 C 2 C3 + S1S3 ) ( l4 C5 + l3 ) +

+ ( l2 C1C2 S3 l2 S1C3 l1S1 )

py = ( S1 C2 S3 C1C3 )(l4 C4 S5 ) + S1S2 (l4 S4 S5 ) + ( C1 C 2 C3 C1S3 ) ( l4 C5 + l3 ) +

+ ( l2 S1C2 S3 l2 C1C3 + l1C1 )

pz = ( S2 S3 ) (l4 C4 C5 ) + C2 (l4 S4 S5 ) + S2 C3 ( l4 C5 + l3 ) + l2 S2 S3

Para calcular las ecuaciones anteriores se necesita realizar 12 llamadas a funciones


transcendentes, adems de numerosas sumas y productos, teniendo en cuenta que el vec-
tor a se calcula como el producto vectorial de los vectores n y o (a  n o).
Como se ve, en estas ecuaciones queda reflejado el valor de la posicin (px , py, pz)
y orientacin (n, o, a) del extremo del robot en funcin de las coordenadas articulares
(1, 2, 3, 4, 5, 6).

4.1.4. Solucin del problema cinemtico directo


mediante el uso de cuaternios
Puesto que las matrices de transformacin homognea y los cuaternios son mtodos alternativos para
representar transformaciones de rotacin y desplazamiento, ser posible utilizar estos ltimos de ma-
nera equivalente a las matrices para la resolucin del problema cinemtico directo de un robot.
Para aclarar el uso de los cuaternios con este fin, se van a utilizar a continuacin para re-
solver el problema cinemtico directo de un robot tipo SCARA cuya estructura geomtrica se
representa en la Figura 4.8.
El procedimiento a seguir ser el de obtener la expresin que permite conocer las coor-
denadas de la posicin y orientacin del sistema de referencia asociado al extremo del robot
CAPTULO 4. CINEMTICA DEL ROBOT 131

{S4} con respecto al sistema de referencia asociado a la base {S0}. Esta relacin ser funcin
de las longitudes l1, l2 y l3 de los elementos del robot as como de las coordenadas articulares
q1, q2, q3 y q4l. Obsrvese, que los sistemas de coordenadas se han escogido sin seguir nece-
sariamente el convenio de DH
Para obtener la relacin entre {S0} y {S4} se ir convirtiendo sucesivamente {S0} en
{S1}, {S2}, {S3} y {S4} segn la siguiente serie de transformaciones:

1. Desplazamiento de {S0} una distancia l1 a lo largo del eje z0 y giro un ngulo q1 alre-
dedor del eje z0 , llegndose a {S1}.
2. Desplazamiento de {S1} una distancia l2 a lo largo del eje x1 y giro un ngulo q2 alre-
dedor del nuevo eje z , para llegar al sistema {S2}.
3. Desplazamiento a lo largo del eje x2 una distancia l3 para llegar al sistema {S3}.
4. Desplazamiento de {S3} una distancia q3 a lo largo del eje z3 y giro en torno a z4 de un
ngulo q4, llegndose finalmente a {S4}.

De manera abreviada las sucesivas transformaciones quedan representadas por:

S0 S1 : T (z, l1 ) Rotz (q1 )


S1 S2 : T (x, l2 ) Rotz (q2 )
[4.11]
S2 S3 : T (x, l3 ) Rotz (0)
S3 S4 : T (z, q3 ) Rotz (q4 )

l2

z1
y1 l3
z2
x1
y2
l1
x2 z3
y3

z0 x3
q3
z4
y0 x4
x0
y4

q1
q2
q4

Figura 4.8. Asignacin de los sistemas de referencia a un robot SCARA.


132 FUNDAMENTOS DE ROBTICA

donde los desplazamientos quedan definidos por los vectores:


p1 = (0, 0, l1 )
p 2 = (l 2 , 0, 0)
[4.12]
p3 = (l 3 , 0, 0)
p 4 = (0, 0, q3 )
y los giros por los cuaternios:

Q1 = (C1 , 0, 0, S1 )

Q2 = (C 2 , 0, 0, S2 )
[4.13]
Q3 = (1, 0, 0, 0)

Q4 = (C 4 , 0, 0, S4 )
donde:

C i = cos i
q
2
[4.14]
Si = sen i
q
2

Aplicando las Ecuaciones [3.65] y [3.66] de uso de cuaternios, un objeto localizado en el


sistema de referencia {Si} por su vector de posicin ai y su cuaternio de rotacin Ri , tendr en
el sistema de referencia {Si1} el vector de posicin ai1 y el cuaternio Ri1 siguientes1:

(0, a i-1 ) = Qi (0, a i ) Qi* + (0, p i )


[4.15]
R i-1 = Qi R i

donde pi y Qi son respectivamente el desplazamiento y posterior rotacin que permiten con-


vertir {Si1} en {Si}. Aplicando reiteradamente la expresin anterior a los sistemas de refe-
rencia {S0},{S1},{S2},{S3} y {S4} se tendr:

(0, a 0 )=Q1 (0, a1 ) Q1* + (0, p1 )


R 0 = Q1 R1
(0, a1 )=Q2 (0, a 2 ) Q2* + (0, p2 )
R1 = Q2 R 2
[4.16]
(0, a 2 ) = Q3 (0, a 3 ) Q3* + (0, p3 )
R 2 = Q3 R 3
(0, a 3 )=Q4 (0, a 4 )Q4* + (0, p4 )
R 3 = Q4 R 4

1
Por claridad en la exposicin, se ha suprimido el smbolo de producto entre cuaternios, en sta y si-
guientes expresiones.
CAPTULO 4. CINEMTICA DEL ROBOT 133

Sustituyendo de manera consecutiva en las expresiones anteriores, se obtiene:

[ [ [ ] ] ]
(0, a 0 ) = Q1 Q2 Q3 Q4 (0, a 4 )Q4* + (0, p 4 ) Q3* + (0, p3 ) Q2* + (0, p 2 ) Q1* + (0, p1 ) =

= Q1 Q2 Q3 Q4 (0, a 4 ) Q4* Q3* Q2* Q1* + Q1 Q2 Q3 (0, p 4 ) Q3* Q2* Q1* +


[4.17]
+Q1 Q2 (0, p3 ) Q2* Q1* + Q1 (0, p 2 ) Q1* + (0, p1 ) =
= Q1234 (0, a 4 ) Q1234
*
+ Q123 (0, p 4 ) Q123
*
+ Q12 (0, p3 ) Q12
*
+ Q1 (0, p 2 ) Q1* + (0, p1 )

donde se ha tenido en cuenta que:

Q1234 = Q1 Q2 Q3 Q4 = (C124 , 0, 0, S124 )

Q123 = Q1 Q2 Q3 = (C12 , 0, 0, S12 ) [4.18]


Q12 = Q1 Q2 = (C12 , 0, 0, S12 )

y que:
Qij* = (Qi Q j )* = Q*j Qi* [4.19]

Desarrollando los productos de cuaternios de la Expresin [4.17] se tiene:

*
Q1234 (0, a 4 ) Q1234 = Q1234 (0, a4 x , a4 y , a4 z ) Q1234
*
=

= ( S124 a4 z , C124 a4 x S124 a4 y , C124 a4 y S124 a4 x , C124 a4 z ) Q1234


*
=
4.20]
= (0, C112244 a4 x S112244 a4 y , C112244 a4 y S112244 a4 x , a4 z )
*
Q123 (0, p 4 ) Q123 + Q12 (0, p3 ) Q12
*
= Q12 (0, p 4 + p3 ) Q12
*
= (0, l3 C1122 , l3 S1122 , q3 )

Asimismo, segn [4.12]:

(0, p1 ) = (0, 0, 0, l1 ) [4.21]

con lo que finalmente resulta:

(0, a 0 ) = (0, a 4 x C112244 a 4 y S112244 + l3 C1122 + l2 C11 ,


[4.22]
a 4 y C112244 a 4 x S112244 + l3 S1122 + l2 S11 , a 4 z q3 + l1 )

En cuanto a la relacin entre los cuaternios que definen la orientacin de un objeto en los
sistemas {S0} y {S4} se tendr:

R 0 = Q1 Q2 Q3 Q4 R 4 = Q1234 R 4 = (C124 , 0, 0, S124 ) R 4 [4.23]

Las Expresiones [4.22] y [4.23] permiten conocer la posicin a0 y orientacin R0 de un


objeto en el sistema {S0} conocidas stas en el sistema {S4}.
134 FUNDAMENTOS DE ROBTICA

Si, en particular, este objeto est posicionado y orientado en el extremo del robot, se ten-
dr que:

a 4 = (0, 0, 0)
[4.24]
R 4 = (1, 0, 0, 0)

con lo que:

(0, a 0 ) = (0, l3 C1122 + l2 C11 , l3 S1122 + l2 S11 , l1 q3 )


[4.25]
R 0 = (C124 , 0, 0, S124 )

lo que indica que el extremo del robot referido al sistema de su base {S0}, est posicionado en:

x = a 0x = l3 cos (q1 + q2 ) + l2 cos q1


y = a 0y = l3 sen (q1 + q2 ) + l2 sen q1 [4.26]
z = a 0z = l1 q3

y est girado respecto al sistema de la base un ngulo q1  q2  q4 segn la rotacin en torno


al eje z:

Rotz (q1 + q2 + q4 ) [4.27]

Las Expresiones [4.26] y [4.27] permiten conocer la localizacin del extremo del robot re-
feridas al sistema de la base en funcin de las coordenadas articulares (q1, q2, q3, q4), corres-
pondiendo, por tanto, a la solucin del problema cinemtico directo.

4.2. CINEMTICA INVERSA


El objetivo del problema cinemtico inverso consiste en encontrar los valores que deben
adoptar las coordenadas articulares del robot q  [q1, q2, ..., qn]T para que su extremo se po-
sicione y oriente segn una determinada localizacin espacial(p, [n, o, a]).
As como es posible abordar el problema cinemtico directo de una manera sistemtica a
partir de la utilizacin de matrices de transformacin homogneas, e independientemente de
la configuracin del robot, no ocurre lo mismo con el problema cinemtico inverso, siendo el
procedimiento de obtencin de las ecuaciones fuertemente dependiente de la configuracin
del robot.
Se han desarrollado algunos procedimientos genricos susceptibles de ser progra-
mados [GOLDENBERG-85], de modo que un computador pueda, a partir del conoci-
miento de la cinemtica del robot (con sus parmetros de Denavit-Hartenberg, por
ejemplo) obtener la n-upla de valores articulares que posicionan y orientan su extremo.
El inconveniente de estos procedimientos es que se trata de mtodos numricos itera-
tivos, cuya velocidad de convergencia e incluso su convergencia en s no est siempre
garantizada.
CAPTULO 4. CINEMTICA DEL ROBOT 135

A la hora de resolver el problema cinemtico inverso es mucho ms adecuado encontrar


una solucin cerrada. Esto es, encontrar una relacin matemtica explcita de la forma:

qk = fk ( x , y , z , , , )
[4.28]
k = 1K n (GDL)

Este tipo de solucin presenta, entre otras, las siguientes ventajas:

1. En muchas aplicaciones, el problema cinemtico inverso ha de resolverse en tiempo


real (por ejemplo, en el seguimiento de una determinada trayectoria). Una solucin de
tipo iterativo no garantiza tener la solucin en el momento adecuado.
2. Al contrario de lo que ocurra en el problema cinemtico directo, con cierta frecuencia
la solucin del problema cinemtico inverso no es nica; existiendo diferentes n-uplas
[q1, ..., qn]T que posicionan y orientan el extremo del robot del mismo modo. En estos
casos una solucin cerrada permite incluir determinadas reglas o restricciones que ase-
guren que la solucin obtenida sea la ms adecuada de entre las posibles (por ejemplo,
lmites en los recorridos articulares).

No obstante, a pesar de las dificultades comentadas, la mayor parte de los robots poseen
cinemticas relativamente simples que facilitan en cierta medida la resolucin de su proble-
ma cinemtico inverso. Por ejemplo, si se consideran slo los tres primeros grados de liber-
tad de muchos robots, stos tienen una estructura planar, esto es, los tres primeros elementos
quedan contenidos en un plano. Esta circunstancia facilita la resolucin del problema. Asi-
mismo, en muchos robots se da la circunstancia de que los tres grados de libertad ltimos, de-
dicados fundamentalmente a orientar el extremo del robot, corresponden a giros sobre ejes
que se cortan en un punto. De nuevo esta situacin facilita el clculo de la n-upla [q1, ..., qn]T
correspondiente a la posicin y orientacin deseadas. Por tanto, para los casos citados y otros,
es posible establecer ciertas pautas generales que permitan plantear y resolver el problema ci-
nemtico inverso de una manera sistemtica.
Los mtodos geomtricos permiten, normalmente, obtener los valores de las primeras va-
riables articulares, que son las que consiguen posicionar el robot (prescindiendo de la orien-
tacin de su extremo). Para ello utilizan relaciones trigonomtricas y geomtricas sobre los
elementos del robot. Se suele recurrir a la resolucin de tringulos formados por los ele-
mentos y articulaciones del robot.
Como alternativa para resolver el mismo problema se puede recurrir a manipular direc-
tamente las ecuaciones correspondientes al problema cinemtico directo. Es decir, puesto que
ste establece la relacin:

n o a p
0 0 0 1 = tij

[ ] [4.29]

donde los elementos tij son funcin de las coordenadas articulares [q1, ..., qn]T , es posible pen-
sar que mediante ciertas combinaciones de las 12 ecuaciones planteadas en [4.29] se puedan
despejar las n variables articulares qi en funcin de las componentes de los vectores n, o, a y
p. Debe considerarse en este caso que en general las 12 ecuaciones responden a ecuaciones
trigonomtricas acopladas cuya resolucin no es trivial.
Para facilitar esta solucin se ver que se puede proceder de manera ordenada, despejan-
do sucesivamente los grados de libertad.
136 FUNDAMENTOS DE ROBTICA

l3

Z0 l2 pz

Y0
X0 r
px
py

q1

Figura 4.9. Robot articular.

Por ltimo, si se consideran robots con capacidad de posicionar y orientar su extremo en


el espacio, esto es, robots con 6 GDL, el mtodo de desacoplamiento cinemtico permite,
para determinados tipos de robots, resolver los primeros grados de libertad, dedicados al po-
sicionamiento, de manera independiente a la resolucin de los ltimos grados de libertad, de-
dicados a la orientacin. Cada uno de estos dos problemas ms simples podr ser tratado y re-
suelto por cualquiera de los procedimientos anteriores.

4.2.1. Resolucin del problema cinemtico inverso


por mtodos geomtricos
Como se ha indicado, este procedimiento es adecuado para robots de pocos grados de liber-
tad o para el caso de que se consideren slo los primeros grados de libertad, dedicados a po-
sicionar el extremo.
El procedimiento en s se basa en encontrar suficiente nmero de relaciones geomtricas
en las que intervendrn las coordenadas del extremo del robot, sus coordenadas articulares y
las dimensiones fsicas de sus elementos.
Para mostrar el procedimiento a seguir se va a aplicar el mtodo a la resolucin del pro-
blema cinemtico inverso de un robot con 3 GDL de rotacin (estructura tpica articular). La
Figura 4.9 muestra la configuracin del robot. Los datos de partida son las coordenadas (px,
py, pz ) referidas a {S0} en las que se quiere posicionar su extremo.
Como se ve, este robot posee una estructura planar, quedando este plano definido por el
ngulo de la primera variable articular q1.
El valor de q1 se obtiene inmediatamente como:

py
q1 = arctg [4.30]
px
CAPTULO 4. CINEMTICA DEL ROBOT 137

Considerando ahora nicamente los elementos 2 y 3 que estn situados en un plano (Fi-
gura 4.10), y utilizando el teorema del coseno, se tendr:

r 2 = px2 + py2

r 2 + pz2 = l22 + l32 + 2 l2 l3 cos q3 [4.31]
px2 + py2 + pz2 l22 l32
cos q3 =
2 l2 l3

Esta expresin permite obtener q3 en funcin del vector de posicin del extremo p. No
obstante, y por motivos de ventajas computacionales, es ms conveniente utilizar la expresin
de la arcotangente en lugar del arcoseno.
Puesto que

sen q3 = 1 cos2 q3 [4.32]


se tendr que

1 cos 2 q
q3 = arctg 3

cos q
3 [4.33]
px2 + py2 + pz2 l22 l32
con cos q3 =
2 l2 l3

Como se ve, existen 2 posibles soluciones para q3 segn se tome el signo positivo o
el signo negativo en la raz. stas corresponden a las configuraciones de codo arriba (Fi-
gura 4.10a) y codo abajo (vase Figura 4.10b) del robot.
El clculo de q2 se hace a partir de la diferencia entre y :
q2 = [4.34]

l3
q3

pz l3 q3 pz
l2
l2

q2
q2 r
r

a) Codo abajo b) Codo arriba


Figura 4.10. Elementos 2 y 3 del robot de la Figura 4.9 contenidos en un plano y en a) configuracin
codo abajo y b) configuracin codo arriba.
138 FUNDAMENTOS DE ROBTICA

Siendo:


p pz
= arctg z = arctg
r px2 + py2
[4.35]
l sen q3
= arctg 3
l2 + l3 cos q3

Luego, finalmente

l sen q3
pz
q2 = arctg arctg 3 [4.36]
p2 + p2 l2 + l3 cos q3
x y

De nuevo los dos posibles valores segn la eleccin del signo dan lugar a dos valores di-
ferentes de q2 correspondientes a las configuraciones codo arriba y abajo.
Las Expresiones [4.30], [4.33] y [4.36] resuelven el problema cinemtico inverso para el
robot de 3 GDL considerado.

4.2.2. Resolucin del problema cinemtico inverso


a partir de la matriz de transformacin homognea
En principio es posible tratar de obtener el modelo cinemtico inverso de un robot a
partir del conocimiento de su modelo directo. Es decir, suponiendo conocidas las rela-
ciones que expresan el valor de la posicin y orientacin del extremo del robot en funcin
de sus coordenadas articulares, obtener por manipulacin de aqullas las relaciones in-
versas.
Sin embargo, en la prctica esta tarea no es trivial siendo en muchas ocasiones tan com-
pleja que obliga a desecharla. Adems, puesto que el problema cinemtico directo, resuelto a
travs de la Expresin [4.29] contiene en el caso de un robot de 6 GDL 12 ecuaciones, y se
buscan slo 6 relaciones (una por cada grado de libertad), existirn necesariamente ciertas de-
pendencias entre las 12 expresiones de partida (resultado de la condicin de ortonormalidad
de los vectores n, o y a) con lo cual la eleccin de qu Ecuaciones de [4.29] escoger debe ha-
cerse con sumo cuidado.
Se va a aplicar este procedimiento al robot de 3 GDL de configuracin esfrica (2 giros y
un desplazamiento) mostrado en la Figura 4.11. El robot queda siempre contenido en un pla-
no determinado por el ngulo q1.
El primer paso a dar para resolver el problema cinemtico inverso es obtener la Expre-
sin [4.29] correspondiente a este robot. Es decir, obtener la matriz T que relaciona el sistema
de referencia {S0} asociado a la base con el sistema de referencia {S3} asociado a su extremo. La
Figura 4.12 representa la asignacin de sistemas de referencia segn los criterios de Denavit-
Hartenberg, con el robot situado en su posicin de partida (q1  q2  0), y la Tabla 4.3 muestra
los valores de los parmetros de Denavit-Hartenberg.
CAPTULO 4. CINEMTICA DEL ROBOT 139

q3

q2

l1 Y
X

q1
Figura 4.11. Robot polar de 3 GDL.

A partir de stos es inmediato obtener las matrices A y la matriz T.

C1 0 S1 0 C2 0 S2 0 1 0 0 0
S 0 C1 0 S 0 C2 0 0 1 0 0
A1 = A2 = A3 =
0 1 1 2 2
0 1 0 l1 0 1 0 0 0 0 1 q3

0 0 0 1 0 0 0 1 0 0 0 1
[4.37]
C1C2 S1 C1S2 0 C1C2 S1 C1S2 q3C1S2
S C C1 S1S2 0 S C C1 S1S2 q3S1S2
A2 = T = 0 A3 =
0 1 2 1 2
S2 0 C2 l1 S2 0 C2 q3C2 + l1

0 0 0 1 0 0 0 1

Obtenida la expresin de T en funcin de las coordenadas articulares (q1 , q2 , q3), y su-


puesta una localizacin de destino para el extremo del robot definida por los vectores n, o, a
y p se podra intentar manipular directamente las 12 ecuaciones resultantes de T a fin de des-
pejar q1, q2, y q3 en funcin de n, o, a y p.

Tabla 4.3. Parmetros de D-H del robot de la Figura 4.11


Articulacin d a
1 q1 l1 0 90
2 q2 0 0 90
3 0 q3 0 0

Sin embargo, este procedimiento directo es complicado, apareciendo ecuaciones tras-


cendentes. En lugar de ello, suele ser ms adecuado aplicar el siguiente procedimiento:
140 FUNDAMENTOS DE ROBTICA

Z3
Y3

X3
3

Z2
q3
Y1 2
Y2

X2
q 2 Z1
X1

Z0
q1 1
l1 Y0

X0
Figura 4.12. Asignacin de sistemas de referencia del robot polar de la Figura 4.11.

Puesto que T  0A1 1A2 2A3 se tendr que:

( ) T= A A
0 1 1 2
A1 2 3
[4.38]
( A ) ( A ) T=
1 1 0 1 2
2 1 A3

n o a p
Puesto que T = es conocida, los miembros a la izquierda en las Expre-
0 0 0 1
siones [4.38] son funcin de las variables articulares (q1, ..., qk) mientras que los miembros de
la derecha lo son de las variables articulares (qk+1, ..., qn).
De este modo, de la primera de las Expresiones de [4.38] se tendr q1 aislado del resto de
las variables articulares y tal vez ser posible obtener su valor sin la complejidad que se ten-
dra abordando directamente la manipulacin de la Expresin [4.29]. A su vez, una vez ob-
tenida q1 , la segunda Expresin de [4.38] permitir obtener el valor de q2 aislado respecto de
q3. Por ltimo, conocidos q1 y q2 se podr obtener q3 de la Expresin [4.29] sin excesiva di-
ficultad.
Para poder aplicar este procedimiento, es necesario, en primer lugar, obtener las inversas
de las matrices, i1Ai. Esto es sencillo si se considera que la inversa de una matriz de trans-
formacin homognea viene dada por [3.45]:
CAPTULO 4. CINEMTICA DEL ROBOT 141

1
nx ox ax px nx ny nz nT p
n
y oy ay py o oy oz oT p
= x [4.39]
nz oz az pz aT p
ax ay az
0 0 0 1 0 0 0 1

Luego se tiene que:
1
C1 0 S1 0 C1 S1 0 0
S 0 C1 0 0 0 1 l1
A11 = =
0 1
0 1 0 l1 S1 C1 0 0

0 0 0 1 0 0 0 1
1
C2 0 S2 0 C2 S2 0 0
S 0 C2 0 0 0 1 0
A 2 1 = =
1 2
[4.40]
0 1 0 0 S2 C2 0 0

0 0 0 1 0 0 0 1
1
1 0 0 0 1 0 0 0
0 1 0 0 0 1 0 0
2
A31 = =
0 0 1 q3 0 0 1 q3

0 0 0 1 0 0 0 1

Por tanto, utilizando la primera de las Ecuaciones de [4.38] se tiene que:

C1 S1 0 0 n x ox ax px
0 0 1 l1 ny oy ay py
( )
1
0
A1 0 T3 =1 A 2 2 A 3 = =
S1 C1 0 0 nz oz az pz

0 0 0 1 0 0 0 1
[4.41]
C2 0 S2 0 1 0 0 0 C2 0 S2 S2 q3
S 0 C2 0 0 1 0 0 S2 0 C2 C2 q3
=
2 =
0 1 0 0 0 0 1 q3 0 1 0 0

0 0 0 1 0 0 0 1 0 0 0 1
De las 12 relaciones establecidas en la Ecuacin [4.41] interesan aquellas que expresan q1
en funcin de constantes ( y no de q2 y q3 ). As, por ejemplo, tomando el elemento (3,4) se
tiene:
S1 px C1 py = 0

py
tan (q1 ) =
px

py
q1 = arctan [4.42]
px
142 FUNDAMENTOS DE ROBTICA

Utilizando ahora la segunda de las Ecuaciones de [4.38] se tendr:

(A) ( )
1 0 1
1
2 A1 T= 2 A 3 =

C2 S2 0 0 C1 S1 0 0 n x ox ax p x 1 0 0 0
0 0 1 0 0 0 1 l1 ny oy ay p y 0 1 0 0
= =
S2 C2 0 0 S1 C1 0 0 nz oz az pz 0 0 1 q3

0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 [4.43]

C2 C1 C2 S1 S2 l1S2 n x ox ax p x 1 0 0 0
S C1 0 0 n oy ay p y 0 1 0 0
=
1 y =
S2 C1 S2 S1 C2 C2 l1 nz oz az pz 0 0 1 q3

0 0 0 1 0 0 0 1 0 0 0 1

Tomando el elemento (1,4) se tiene:

C2 C1 px + C2 S1 py + S2 pz l1 S2 = 0

( )
C2 C1 px + S1 py + S2 ( pz l1 ) = 0
[4.44]
C1 px + S1 py
tan (q2 ) =
( pz l1 )

y considerando que por [4.42]:

S1 px C1 py = 0

( S1 px C1 py )2 = S12 px2 + C12 py2 2 S1C1 px py = 0

(1 C12 ) px2 + (1 S12 ) py2 = 2 S1 C1 px py [4.45]


C12 px2 + S12 py2 + 2 S1 C1 px py = px2 + py2

C1 px + S1 py = px2 + py2

se tiene finalmente:

px2 + py2
q2 = arctan [4.46]
l1 pz

Por ltimo, tomando de [4.43] el elemento (3,4) se tiene:

S2 C1 px S2 S1 py + C2 pz C2 l1 = q3
C2 ( pz l1 ) S2 (C1 px + S1 py ) = q3 [4.47]

q3 = C2 ( pz l1 ) S2 px2 + py2
CAPTULO 4. CINEMTICA DEL ROBOT 143

Las Expresiones [4.42], [4.46] y [4.47] corresponden a la solucin del problema cine-
mtico inverso del robot considerado. A continuacin se reproducen estas expresiones.

py
q1 = arctan
px

px2 + py2 [4.48]


q2 = arctan
l1 pz

q3 = C2 ( pz l1 ) S2 px2 + py2

A los mismos resultados se podra haber llegado mediante consideraciones geomtricas.

4.2.3. Desacoplo cinemtico


Los procedimientos vistos en los apartados anteriores permiten obtener los valores de las 3
primeras variables articulares del robot, aquellas que posicionan su extremo en unas coorde-
nadas (px, py, pz) determinadas, aunque pueden ser igualmente utilizadas para la obtencin de
las 6 a cambio de una mayor complejidad.
Ahora bien, como es sabido, en general no basta con posicionar el extremo del robot en un
punto del espacio, sino que casi siempre es preciso tambin conseguir que la herramienta que
aqul porta se oriente de una manera determinada. Para ello, los robots cuentan con otros tres
grados de libertad, situados al final de la cadena cinemtica y cuyos ejes, con frecuencia, se
cortan en un punto, que informalmente se denominar mueca del robot. Si bien la variacin
de estos tres ltimos grados de libertad origina un cambio en la posicin final del extremo real
del robot, su verdadero objetivo es poder orientar la herramienta del robot libremente en el
espacio.
El mtodo de desacoplo cinemtico es aplicable a aquellos robots cuyos tres ltimos gra-
dos de libertad se cortan en un punto, sacando partido de este hecho, separando los problemas
de obtencin del modelo cinemtico inverso de posicin y orientacin. Para ello, dada una po-
sicin y orientacin final deseadas, establece las coordenadas del punto de corte de los 3 l-
timos ejes (mueca del robot) calculndose los valores de las tres primeras variables articu-
lares (q1, q2, q3) que consiguen posicionar este punto. A continuacin, a partir de los datos de
orientacin deseada para el extremo del robot y de los ya calculados (q1, q2, q3) obtiene los va-
lores del resto de las variables articulares.

Tabla 4.4. Parmetros D-H del robot de la Figura 4.13


Articulacin d a
1 1 l1 0 90
2 2 0 l2 0
3 3 0 0 90
4 4 l3 0 90
5 5 0 0 90
6 6 l4 0 0
144 FUNDAMENTOS DE ROBTICA

Z6
X6
O6 Z5
l4
Y6 5 X5
X4 O5
Z4 Y5
Y4 4
l3
Z3 3
X2
X3 l2
X1
Y3 Z2 2

Y2
Z1 Y1 l1
1 Z0
X0
O0
0

Y0

Figura 4.13. Cinemtica del robot IRB2400, cuya inversa se puede desacoplar.

En la Figura 4.13 se representa un robot que rene la citada caracterstica de tener los tres
ltimos ejes concurrentes en un punto, con indicacin de los sistemas de coordenadas aso-
ciados segn el procedimiento de Denavit-Hartemberg, cuyos parmetros se pueden observar
en la Tabla 4.4.
El punto central de la mueca del robot corresponde al punto de corte de los ejes z3, z4 y
z5 siendo el origen de los sistemas {S4} y {S5}: O4 y O5 respectivamente.
Como se puede observar, el movimiento de los grados de libertad 4, 5 y 6 no modifica la
posicin de este punto dependiendo slo de los 3 primeros, por lo que, fijada su posicin se
podrn determinar, q1, q2 y q3.
Por su parte, el punto final del robot ser el origen del sistema {S6}: O6. En lo que sigue se
utilizarn los vectores mueca (pm) y extremo del robot (pr):

pm = O0 O5
[4.49]
pr = O0 O6

que van desde el origen del sistema asociado a la base del robot {S0} hasta los puntos centro
de la mueca y fin del robot, respectivamente.
CAPTULO 4. CINEMTICA DEL ROBOT 145

Puesto que de acuerdo a la regla DH9, la direccin del eje z6 debe coincidir con la de z5 y
la distancia entre O5 y O6 medida a lo largo de z5 es precisamente d4  l4 , se tendr que:

p m = p r l4 z 6 [4.50]

estando todos los vectores referidos a las coordenadas del sistema {S0}.
En la Expresin [4.50] pr son las coordenadas del punto donde se pretende que se posi-
cione el robot expresadas en {S0}. Por tanto

p r = [ p x , p y , pz ] [4.51]

El vector director z6 es el vector a correspondiente a la orientacin deseada z6  [ax, ay,


az]T y l4 es un parmetro asociado con el robot. Por tanto, las coordenadas del punto central de
la mueca (pmx, pmy, pmz) son fcilmente obtenibles.
Los eslabones 1, 2 y 3, que finalizan en pm contituyen un robot de 3 gdl equivalente al ana-
lizado en el Epgrafe 4.2.1, donde se vio que era posible la obtencin de q1, q2, q3 mediante un
mtodo geomtrico.
Queda ahora obtener los valores de q4, q5, y q6 que consiguen la orientacin deseada. Para
ello, denominando 0 R6 a la submatriz de rotacin de 0 T6 se tendr:

0
R6 = [n o a ] = 0 R3 3 R6 [4.52]

donde 0 R6 es conocida por ser la orientacin deseada del extremo del robot, y 0 R3 definida
por:

0
R 3 = 0 R1 1 R 2 2 R 3 [4.53]

donde i1Ri es la submatriz de rotacin de la matriz i1Ai

que tambin ser conocida a partir de los valores ya obtenidos de q1 , q2 y q3 . Por tanto:

3
R 6 = [rij ] = ( 0 R 3 )1 0 R 6 = ( 0 R 3 )T [n o a] [4.54]

Siendo el trmino de la derecha una matriz, cuyas componentes numricas rij son cono-
cidas.
Por otra parte, 3R6 corresponde con la submatriz (3  3) de rotacin de la matriz de trans-
formacin homognea 3T6 que relaciona el sistema {S3} con el {S6}. Por tanto:

3
R6 = 3 R 4 4 R 5 5 R6 [4.55]

donde i1Ri es la submatriz de rotacin de la matriz de Denavit-Hartemberg i1Ai , cuyos va-


lores son:

C4 0 S4 C5 0 S5 C6 S6 0

3
R 4 = S4 0 C4 4
R 5 = S5 0 C5 5
R 6 = S6 C6 0 [4.56]
0 1 0 0 1 0 0 0 1
146 FUNDAMENTOS DE ROBTICA

Luego se tiene que:

C4 C5C6 S4 S6 C4 C5 S6 S4 C6 C4 S5

3
R 6 = S4 C5C6 + C4 S6 S4 C5 S6 + C4 C6 S4 C5 [4.57]
S5C6 S5 S6 C5

Por tanto [4.54] puede escribirse como:

C4 C5C6 S4 S6 C4 C5 S6 S4 C6 C4 S5
[ ]rij = S4 C5C6 + C4 S6 S4 C5 S6 + C4 C6 S4 C5 [4.58]
S5C6 S5 S6 C5

Donde rij sern por [4.54] valores numricos conocidos.


De las nueve relaciones expresadas en [4.58] se pueden tomar las correspondientes a r13,
r23, r33, r31 y r32:

r13 = C4 S5
r23 = S4 C5 [4.59]
r31 = S5C6 r32 = S5 S6 r33 = C5

Del conjunto de Ecuaciones [4.59] es inmediato obtener los valores de los parmetros ar-
ticulares (se recomienda convertir todas las funciones trigonomtricas inversas en su arco-
tangente, por ser sta computacionalmente ms robusta):

r
q4 = arcsen 23
r33
q5 = arcos (r33 ) [4.60]

r
q6 = arcttan 32
r31

Esta expresin, junto con las [4.30], [4.33] y [4.36], y teniendo en cuenta que las posi-
ciones de cero son distintas, constituyen la solucin completa del problema cinemtico in-
verso del robot articular de la Figura 4.13.

4.3. MODELO DIFERENCIAL. MATRIZ JACOBIANA


El modelado cinemtico de un robot busca las relaciones entre las variables articulares y la
posicin (expresada normalmente en forma de coordenadas cartesianas) y orientacin del ex-
tremo del robot (expresada como matrices de rotacin, ngulos de Euler o algn otro de los
CAPTULO 4. CINEMTICA DEL ROBOT 147

mtodos establecidos en el Captulo 3). En esta relacin no se tienen en cuenta las fuerzas o
pares que actan sobre el robot (actuadores, cargas, fricciones, etc.) y que pueden originar el
movimiento del mismo. Sin embargo, s incumbe a la cinemtica del robot el conocer la re-
lacin entre las velocidades de las coordenadas articulares y las de la posicin y orientacin
del extremo, o lo que es equivalente, el efecto que un movimiento diferencial de las variables
articulares tiene sobre las variables en el espacio de la tarea. Esta relacin queda definida por
el modelo diferencial. Mediante l, el sistema de control del robot puede establecer qu ve-
locidades debe imprimir a cada articulacin (a travs de sus respectivos actuadores) para con-
seguir que el extremo desarrolle una trayectoria temporal concreta, por ejemplo, una lnea rec-
ta a velocidad constante.
El modelo diferencial queda concretado en la denominada matriz Jacobiana. En general la
. . .
matriz Jacobiana de un robot, relaciona el vector de velocidades articulares (q1, q2, qn) con
otro vector de velocidades expresado en un espacio distinto. Existen diferentes posibilidades
a la hora de seleccionar este espacio. Una primera eleccin es la de considerar la relacin con
las velocidades de la localizacin del extremo del robot, siendo sta la posicin y orientacin
. . . . . .
expresada en base a sus coordenadas cartesianas y a sus ngulos de Euler (x, y, z, , , )
(otras representaciones de la orientacin pueden ser consideradas). Esta relacin viene dada
por la denominada Jacobiana analtica del manipulador.
Una segunda eleccin es relacionar las velocidades articulares, con los vectores de velo-
cidad linear y angular (vx, vy, vz, wx, wy, wz) con que se mueve el extremo del robot, expresa-
dos en un sistema de referencia determinado, por ejemplo el del origen. La relacin entre am-
bas velocidades (articulares y linear-angular del extremo) se obtiene a travs de la
denominada matriz Jacobiana geomtrica o simplemente Jacobiana del manipulador.
En ambos casos, la matriz Jacobiana directa permite conocer una expresin de las ve-
locidades del extremo del robot a partir de los valores de las velocidades de cada articulacin.
Por su parte, la matriz Jacobiana inversa permitir conocer las velocidades articulares ne-
cesarias para obtener un vector concreto de velocidades del extremo.

4.3.1. Jacobiana analtica


Supngase conocida la posicin (x, y, z) del extremo del robot as como su orientacin, de-
finida por cualquiera de los procedimientos establecidos en el Captulo 3, por ejemplo los n-
gulos de Euler WVW (, , ). La Jacobiana analtica relaciona las velocidades articulares
. . .
(q1, q2, L qn) con las velocidades de localizacin (posicin y orientacin) del extremo del ro-
. . . . . .
bot (x, y, z, , , ) (Figura 4.14).

Jacobiana analtica directa

Velocidades de las Velocidades de la


articulaciones localizacin del
extremo del robot
(q 1 , q 2 q n )
( x , y , z , , , )
Jacobiana analtica inversa

Figura 4.14. Jacobiana analtica directa e inversa.


148 FUNDAMENTOS DE ROBTICA

El mtodo ms directo para obtener la relacin entre velocidades articulares y del extremo
del robot consiste en diferenciar las ecuaciones correspondientes al modelo cinemtico di-
recto.
As, supnganse conocidas las ecuaciones que resuelven el problema cinemtico directo
de un robot de n GDL:

x = f x (q1 ,K, qn ) y = f y (q1 ,K, qn ) z = fz (q1 ,K, qn )


[4.61]
= f (q1 ,K, qn ) = f (q1 ,K, qn ) = f (q1 ,K, qn )

Si se derivan con respecto al tiempo ambos miembros del conjunto de ecuaciones ante-
riores, se tendr:

n
fx
n
fy n
x& = qi
q&i y& = qi
q&i z& = qf q&
z

i
i
1 1 1
[4.62]
n
f n
f
n
f
& = qi
q&i & = qi
q&i & = qi
q&i
1 1 1

O expresado en forma matricial:

fx fx
x& q&1 L
q1 qn
y&
z& M
& = Ja con J a = M O M [4.63]
M
&
f f
& q&n q L
1 qn

La matriz Jase denomina matriz Jacobiana analtica.


Puesto que el valor numrico de cada uno de los elementos [jpq] de la Jacobiana depender
de los valores de las coordenadas articulares qi, el valor de la Jacobiana ser diferente en cada
uno de los puntos del espacio articular.

EJEMPLO 4.4

Se va a obtener la matriz Jacobiana analtica del robot SCARA de la Figura 4.8,


cuyo esquema con la correspondiente asignacin de sistemas de coordenadas segn DH se
muestra en la Figura 4.15.
CAPTULO 4. CINEMTICA DEL ROBOT 149

y1 z2 y2
z1

x1 x2

q1 q2

q3
l2 l3

z3 y3

x3
l1
l4

x4
y4 z4
z0 y0 q4

x0

Figura 4.15. Robot Scara Ejemplo 4.4.

La Tabla de parmetros de DH viene dada por:

Tabla 4.5. Parmetros D-H para el robot Scara de la Figura 4.15

Articulacin d a
1 q1 l1 l2 0
2 q2 0 l3 0
3 0 q3 0 0
4 q4 l4 0

A partir de ella se obtienen las matrices DH:


150 FUNDAMENTOS DE ROBTICA

C1 S1 0 l2 C1 C2 S2 0 l3C2
S C1
0 l2 S1 1 S C2 0 l3S2
A1 = ; A2 =
0 1 2
0 0 1 l1 0 0 1 0

0 0 0 1 0 0 0 1
1 0 0 0 C4 S4 0 0
0 1 0 0 S C4 0 0
A3 = A2 =
2 1 4
;
0 0 1 q3 0 0 1 l4

0 0 0 1 0 0 0 1

C12 S12 0 l3C12 + l2 C1 C12 S12 0 l3C12 + l2 C1


S C12
0 l3S12 + l2 S1 0 S C12 0 l3S12 + l2 S1
A2 = ; A3 =
0 12 12
0 0 1 l1 0 0 1 q3 + l1

0 0 0 1 0 0 0 1
C124 S124 0 l3C12 + l2 C1
S C124 0 l3S12 + l2 S1
T = 0 A4 =
124
0 0 1 l4 + q3 + l1

0 0 0 1

Las correspondientes al problema cinemtico directo viene determinado por las ecua-
ciones:

x = l3C12 + l2 C1
y = l3S12 + l2 S1
z = l1 l4 + q3
= q1 + q2 + q4
=
=

Ntese que en ese caso los ngulos de Euler WVW se obtienen fcilmente, corres-
pondiendo a:

Rotz(q1  q2  q4) Rotx()  Rotz(q1  q2  q4) Roty() Rotz().

La Jacobiana analtica se obtiene por derivacin directa de estas relaciones, resul-


tando:
CAPTULO 4. CINEMTICA DEL ROBOT 151

x&

y& q&1
z&
q&
& = Ja 2
q& 3
&
q& 4
&
(l3S12 + l2 S1 ) l3S12 0 0

l3C12 + l2 C1 l3C12 0 0
0 0 1 0
Ja =
1 1 0 1
0 0 0 0

0 0 0 0

Si el robot se encuentra en un momento determinado en la posicin dada por


q1 = rad; q2 = rad; q3 = 0.75m; q4 = 0 rad
6 4

movindose a una velocidad articular de valor instantneo:


q&1 = rad s; q&2 = rad s; q& 3 = 1 m s ; q& 4 = rad s
2 2 4

y con l2  l3  1 m, la localizacin de su extremo variar a una velocidad dada por:

x& 1, 465 0, 965 0 0 3, 81


y& 1, 124 0, 258 0
0 / 2 2, 17
z& 0 0 1 0 / 2 1
&= =
1 1 0 1 1 5 / 4
& 0
0 0 0 / 4 0


&
0 0 0 0 0

Si, mantenindose la velocidad articular, el robot se encontrase en la posicin



q1 = rad; q2 = rad; q3 = 0.75m; q4 = 0 rad, la velocidad del extremo sera:
3 2
152 FUNDAMENTOS DE ROBTICA

x& 1, 36 0, 5 0 0 2, 92

&
y 0, 366 0, 866 0 0 / 2 1, 935
z& 0
0 1 0 / 2 1
& = =

1 1 0 1 1 5 / 4
& 0
0 0 0 / 4 0

&
0 0 0 0 0

4.3.2. Jacobiana geomtrica


La Jacobiana analtica presentada en el epgrafe anterior relaciona las velocidades de las
articulaciones con la velocidad de variacin de la posicin y orientacin del extremo del
robot.
Otra posible relacin de inters es la que se establece entre las velocidades articulares y la
velocidad lineal (v) y angular (w) del extremo del robot expresadas habitualmente en el sis-
tema de referencia de la base del robot {S0}.

vx q&1

vy
vz M
= J [4.64]
w x M
w
y
wz q&n

Jacobiana directa

Velocidades de las Velocidades lineales


articulaciones y angulares del
extremo del robot
(q1 , q2 qn )
(vx , vy , vz , wx , wy , wz )

Jacobiana inversa

Figura 4.16. Jacobiana geomtrica directa e inversa.

Para diferenciarla de la relacin anterior, se denominar a sta Jacobiana geomtrica o


simplemente Jacobiana.
La deduccin de esta matriz Jacobiana es menos directa que la Jacobiana analtica, pre-
cisando su obtencin algunas consideraciones. Se va a presentar aqu el modo en que sta
CAPTULO 4. CINEMTICA DEL ROBOT 153

puede ser obtenida de manera directa a partir de la matriz de transformacin homognea


n o a p , que define el modelo cinemtico directo del robot.
T =
0 0 0 1
La velocidad lineal del extremo expresada en el sistema {S0}, vendr dada por las deri-
vadas respecto del tiempo de las coordenadas (x, y, z) del extremo del robot, de modo que:

dx
vx = = x& = p& x
dt
dy
vy = = y& = p& y [4.65]
dt
dz
vz = = z& = p& z
dt

Por tanto, la relacin de la velocidad lineal del extremo del robot (vx, vy, vz) con las velo-
. . . . . .
cidades articulares (q1, q2, L qn) ser la misma que la de (x, y, z) definida en la Jacobiana ana-
ltica (Ecuacin [4.63]) pudiendo ser obtenida a partir del vector p  (px, py, pz) de la matriz
T, que expresa la posicin del extremo en funcin de las coordenadas articulares.
Para obtener la relacin de la velocidad angular (wx, wy, wz) con las velocidades articula-
res, se considerar la submatriz (3  3) de rotacin R  [n o a] de la matriz de transforma-
cin homognea del robot T.
Como es sabido R es una matriz ortonormal y por ello:

R RT  I [4.66 ]

Derivando con respecto del tiempo esta igualdad se tiene:


. .
R RT  R RT  0 [4.67]

Se define la matriz como:


.
 R RT [4.68 ]

Siendo evidente que: .


T  R RT [4.69 ]

Por tanto, de acuerdo a las relaciones anteriores se cumple que:

 T  0 [4.70]

Lo que indica que es una matriz antisimtrica.


Se puede demostrar [SPONG-06] que sus elementos estn dados por el vector de veloci-
dades angulares (wx, wy, wz ), segn:
154 FUNDAMENTOS DE ROBTICA

0 wz wy

= wz 0 wx [4.71]
w wx 0
y

Por tanto, para obtener los valores de las velocidades angulares (wx, wy, wz) en funcin de
. . .
las velocidades articulares (q1, q2, L qn), se obtendr a partir de R segn [4.68], utilizando
[4.71] para obtener los valores de w.

En resumen, es posible obtener la Jacobina geomtrica de un robot definida segn [4.64]


n o a p
a partir de la expresin de la matriz T = . Para ello se obtendrn las tres pri-
0 0 0 1
meras filas a partir de derivar con respecto del tiempo la expresin de p  (px, py, pz), lo que
proporcionar la expresin de (vx, vy, vz). Por su parte la expresin de (wx, wy, wz ), se ob-
tendr a partir de la matriz , definida segn [4.68] en funcin de la submatriz de rotacin
R  [n o a].
Este procedimiento de obtencin de la matriz Jacobiana a partir de la derivada analtica
con respecto del tiempo, no es vlido para
. su implementacin computacional, pues precisa de
derivar el vector p y obtener la matriz R (q), lo que, por lo general, es excesivamente com-
plejo. Por ello, se han desarrollado procedimientos numricos alternativos alguno de los
cuales se mostrar en los epgrafes siguientes.

EJEMPLO 4.5

Se va a obtener la Jacobiana geomtrica del Robot Scara del Ejemplo 4.4.


Las tres primeras filas de sta relacionarn las componentes de la velocidad lineal v
con las velocidades articulares, mientras que las tres ltimas filas definirn la relacin en-
tre las componentes de la velocidad angular y las articulares. De modo que

vx

vy q1 q1
Jv
vz q2 q2
= J =
wx q3 q3
wy J w
q4 q4
z
w

Tal y como se obtuvo en el Ejemplo 4.5 la matriz T correspondiente al robot viene


dada por:

C124 S124 0 l3C12 + l2 C1


S C124 0 l3S12 + l2 S1
T = A4 =
0 124
0 0 1 l4 + q3 + l1

0 0 0 1
CAPTULO 4. CINEMTICA DEL ROBOT 155

Siendo, por tanto,

p = ( px , py , pz )

Con

px = l3C12 + l2 C1
py = l3S12 + l2 S1
pz = l1 + q3

La submatriz Jv se obtendr derivando la expresin de p con respecto de q1, q2, q3 y q4

dpx
vx = = (l3S12 + l2 S1 ) q&1 l3S12 q&2
dt
dp
vy = y = (l3C12 + l2 C1 ) q&1 + l3C12 q&2
dt
dp
vz = z = q& 3
dt

Por lo que Jv tomar la forma:

( l3S12 + l2 S1 ) l3S12 0 0

J v = l3C12 + l2 C1 l3C12 0 0
0 0 1 0

Para obtener Jw se obtendr la matriz antisimtrica , a partir de la submatriz de ro-


tacin R segn la Expresin [4.68]
En este caso la submatriz de rotacin R vale:

C124 S124 0

R = S124 C124 0
0 0 1

Su derivada respecto del tiempo ser:

& = d R q& + d R q& + d R q& + d R q& =


R 1 2 3 4
dq1 dq2 dq3 dq4
S1224 C124 0

= C124 S124 0 (q&1 + q&2 + q& 4 )
0 0 0
156 FUNDAMENTOS DE ROBTICA

Por tanto, valdr:

T
0 -wz wy S124 C124 0 C124 S124 0
&
= wz 0 -wx = R R T = (q&1 + q& 2 + q& 4 ) C124 S124 0 S124 C124 0 =
-wy wx 0 0 0 0 0 0 1

S124 C124 0 C124 S124 0
& & &
= (q1 + q2 + q4 ) C124 S124 0 S124 C124 0=
0 0 0 0 0 1
0 1 0

= (q&1 + q& 2 + q& 4 ) 1 0 0
0 0 0

De donde se obtiene que w  (wx, wy, wz ) vale:


wx  0
wy  0
. . .
wz  q1  q2  q4
Siendo, por tanto, la submatriz Jw

0 0 0 0

J w = 0 0 0 0
1 1 0 1

Resultando que la Jacobiana geomtrica para el robot SCARA toma la forma:

( l3S12 + l2 S1 ) l3S12 0 0

l3C12 + l2 C1 l3C12 0 0
Jv 0 0 1 0
Jv = =
Jw 0 0 0 0
0 0 0 0

1 1 0 1

Con ella puede conocerse la velocidad lineal y angular del extremo del robot expre-
sada en el sistema de coordenadas {S0}, segn:

vx q1

vy
vz q2
= J
w
x q3
wy

wz q4
CAPTULO 4. CINEMTICA DEL ROBOT 157

4.3.3. Obtencin numrica de la Jacobiana geomtrica


Existen diferentes procedimientos que permiten la obtencin numrica de la Jacobiana a
partir de la informacin contenida en las matrices i1Ai que definen el modelo cinemtica
[ORIN-84].
Debe considerarse que puesto que las matrices i1Ai tienen, para un robot determinado, una
expresin genrica funcin de qi (tomando i1Ai un valor numrico concreto para un valor nu-
mrico de qi) estos procedimientos pueden ser aplicados tanto de manera analtica, para ob-
tener la expresin general de la Jacobiana, como numrica, para la obtencin del valor ins-
tantneo de la Jacobiana en una posicin concreta del robot.
El siguiente procedimiento de obtencin de la Jacobina, est el basado en la propa-
gacin de las velocidades. Este mtodo permite obtener las columnas de la matriz Jaco-
biana geomtrica que relaciona las velocidades articulares con las velocidades lineales y
angulares del extremo del robot, medidas con respecto del sistema de base, a partir de las
matrices i1Ai .
Se denomina 0zi al vector unitario orientado segn el eje de la articulacin i1, definido
en el sistema de coordenadas de la base del robot {S0} (tal como se defini en las reglas DH3
y DH4 del Epgrafe 4.1.3. Algoritmo de Denavith-Hartenberg)
i 1 i 1 ni i 1 o i i 1 a i i 1 pi
Las matrices Ai = contienen la informacin de los
0 0 0 1
vectores directores y origen del sistema {Si} en la base {Si-1}. Por tanto, la matriz
0 n 0 o i 0 a i 0 pi
0
Ai = i contendr la informacin de los vectores directores y origen
0 0 0 1
del sistema {Si} (solidario al eslabn i y con su eje zi en el eje de la articulacin i + 1) en la
base {S0}. De modo que 0zi estar definido por los tres primeros elementos de la tercera co-
lumna de 0Ai. (Al ser 0A0 la matriz identidad 0z0 ser el vector (0,0,1) ).
0
zi  0Ai (1:3,3) [4.72]

Donde la notacin (i: j, k) indica los elementos i a j de la columna k.


Se denominar i pn al vector que va desde el origen del sistema {Si} hasta el extremo del
robot (origen del sistema {Sn}) expresado en el sistema de la base del robot {S0}.
Puesto que la cuarta columna de 0An contiene las coordenadas del extremo del robot en el
sistema {S0} y la cuarta columna del 0Ai contiene las coordenadas del origen del sistema {Si}
en el sistema {S0}, i pn se obtendr restando las cuartas columnas de 0An y 0Ai:

pn  0An (1:3,4)  0Ai (1:3,4)


i
[4.73]

Definidos los vectores 0 zi y i pn, la matriz Jacobiana que relaciona las velocidades arti-
culares con las velocidades de traslacin y rotacin del extremo del robot expresadas en el
sistema de coordenadas de la base (relacin [4.64]) se puede obtener como una matriz 6 n
(n  nmero de grados de libertad) expresada por columnas como:

J  [J1 J2 Jn] [4.74]


158 FUNDAMENTOS DE ROBTICA

Donde
0 z i-1 p
i-1 n

Si el eslabn i es de rotacin
0
z i-1

Ji = [4.75]
0
z i-1

Si el eslabn i es de traslacin
0

EJEMPLO 4.6

Se va aplicar el procedimiento anterior para obtener la Jacobiana del robot SCARA


utilizado en los Ejemplos 4.4 y 4.5 anteriores.
Para l se obtuvo:

C1 S1 0 l 2 C1 C2 S2 0 l3C2
S C1 0 l 2 S1 S C2 0 l3S2
A1 = A2 =
0 1 1 2
;
0 0 1 l1 0 0 1 0

0 0 0 1 0 0 0 1
1 0 0 0 C4 S4 0 0
0 1 0 0 S C4 0 0
A3 = A2 =
2 1 4
;
0 0 1 q3 0 0 1 l4

0 0 0 1 0 0 0 1

C12 S12 0 l 3 C12 + l 2 C1 C12 S12 0 l 3 C12 + l 2 C1


S C12 0 l 3 S12 + l 2 S1 S C12 0 l 3 S12 + l 2 S1
A2 = A3 =
0 12 0 12
;
0 0 1 l1 0 0 1 q 3 + l1

0 0 0 1 0 0 0 1
C124 S124 0 l 3 C12 + l 2 C1
S C124 0 l 3 S12 + l 2 S1
T = A4 =
0 124
0 0 1 -l 4 + q3 + l1

0 0 0 1

Donde se han destacado en negrilla los vectores z y p de inters en los clculos si-
guientes.
A partir de las matrices i1Ai se obtiene:
CAPTULO 4. CINEMTICA DEL ROBOT 159

0
z 0 = 0 A 0 (1 : 3, 3) = (0, 0,1)T
0
z1 = 0 A1 (1 : 3, 3) = (0, 0, 1)T
0
z 2 = 0 A 2 (1 : 3, 3) = (0, 0,1)T
0
z 3 = 0 A 3 (1 : 3, 3) = (0, 0,1)T
0
z 4 = 0 A 4 (1 : 3, 3) = (0, 0, -1)T

0
p 4 = 0 A 4 (1 : 3, 4) 0 A 0 (1 : 3, 4) = (l3C12 + l2 C1 , l3S12 + l2 S1 , l4 + q3 + l1 )T
1
p 4 = 0 A 4 (1 : 3, 4) 0 A1 (1 : 3, 4) = (l3C12 , l3S12 , l4 + q3 )T
2
p 4 = 0 A 4 (1 : 3, 4 ) 0 A1 (1 : 3, 4 ) = (0, 0, l4 + q3 )T
3
p 4 = 0 A 4 (1 : 3, 4) 0 A 3 (1 : 3, 4) = (0, 0, l4 )T

Los grados de libertad 1, 2 y 4 son de rotacin, mientras que el grado de libertad 3 es


de traslacin, por lo que se tendr que:

0 z0 0 p4 0 z1 1 p 4 0 z2 0 z 3 3 p4

J1 = ; J2 = ; J3 = ; J4 =
0z 0z 0 0z
0 1 3

Siendo:

i j k l2 S1 l3S12

0
z0 p4 =
0
0 0 1 = l2C1 + l3C12
l2 C1 + l3C12 l2 S1 + l3S12 0 0

i j k l3C12

0
z1 p 4 = 0
1
0 1 = l3S12
l3C12 l3S12 l4 + q3 l4 + q3

i j k 0

0
z 3 3 p4 = 0 0 1 = 0
0 0 l4 0

Con lo que:

l2 S1 l3S12 l3S12 0 0

l2 C1 + l3C12 l3C12 0 0
0 0 1 0
J1 = ; J 2 = ; J 3 = ; J 4 =
0 0 0 0
0 0 0 0

1 1 0 1
160 FUNDAMENTOS DE ROBTICA

Y, por tanto:

(l2 S1 + l3S12 ) l3S12 0 0



l2 C1 + l3C12 l3C12 0 0
0 0 1 0
J =
0 0 0 0
0 0 0 0

1 1 0 1

Resultado que coincide con el obtenido en el Ejemplo 4.5.

Se hace notar que a diferencia del procedimiento basado en la derivacin del modelo
cinemtico (p y R) que precisa de la obtencin explicita de la Jacobiana para su codifi-
cacin posterior en un programa de ordenador, el procedimiento aqu mostrado permite la
obtencin numrica de la misma para unos valores concretos de q, a partir de los par-
metros de DH del robot.

4.3.4. Relacin entre la Jacobiana analtica


y la Jacobiana geomtrica
Se va a presentar a continuacin el modo en que estn relacionados los dos conceptos pre-
sentados en 4.3.1 y 4.3.2 de la Jacobiana, esto es, la matriz Ja que relaciona las .velocidades
. .
. . .
articulares con las velocidades de la localizacin del extremo del robot (x, y, z, , , ), y la
matriz J que relaciona las velocidades articulares con el vector de velocidad lineal y angular
del extremo. La deduccin de esta relacin puede encontrarse en [SPONG-06].
La relacin entre ambas viene dada por la expresin

I 0
J = Ja [4.76]
0 Q

Donde las matrices I y 0 son la matriz identidad y nula de dimensin (3  3) respectiva-


mente, y la matriz Q, viene definida por la expresin:

0 S C S

Q = 0 C S S [4.77]
1 0 C

Donde (, , ) son los ngulos de Euler WVW asociados a la submatriz de rotacin


R  [n o a] y que pueden ser obtenidos de sta por comparacin con la caja de rotacin de la
Expresin [3.73] que se reproduce aqu por comodidad:

CC C S S CC S SC C S

R = Rotz ( ) Roty ( ) Rotz ( ) = SC C + C S SC S + CC S S [4.78]
S C S S C
CAPTULO 4. CINEMTICA DEL ROBOT 161

En el caso de que se pretenda obtener la Jacobiana analtica Ja a partir de la Jacobiana J se


invertir la matriz que las relaciona, resultando

I 0
Ja = 1
J [4.79]
0 Q

Es preciso hacer la salvedad de que en el caso de que  0 o  , resultan indetermi-


nados los valores de y y, por tanto, no es posible obtener la matriz Q, no pudindose apli-
car la relacin anterior.

4.3.5. Jacobiana inversa


Del mismo modo que se ha obtenido la relacin directa, que permite obtener las velocidades
del extremo a partir de las velocidades articulares, puede obtenerse la relacin inversa que
permite calcular las velocidades articulares partiendo de las del extremo. En la obtencin de
la relacin inversa pueden emplearse diferentes procedimientos.
En primer lugar, supuesta conocida la relacin directa, dada por la matriz Jacobiana
[4.63] o [4.64], se puede obtener la relacin inversa invirtiendo simblicamente la matriz

x& vx
q&1 q&1
&
y vy
M z& M v
M = J a1 ; M = J 1 z [4.80]
&
w x
M & M w
q& q& y
& wz
n n

Esta alternativa, de planteamiento sencillo, es en la prctica de difcil realizacin. Supo-


niendo que la matriz Jacobiana sea cuadrada, la inversin simblica de una matriz 6  6, cu-
yos elementos son funciones trigonomtricas, es de gran complejidad, siendo este procedi-
miento inviable.
Como segunda alternativa puede plantearse la evaluacin numrica de la matriz Jacobia-
na para una configuracin (qi) concreta del robot, e invirtiendo numricamente esta matriz en-
contrar la relacin inversa vlida para esa configuracin. En este caso, hay que considerar, en
primer lugar, que el valor numrico de la Jacobiana va cambiando a medida que el robot se
mueve y, por tanto, la Jacobiana inversa ha de ser recalculada constantemente. Adems,
pueden existir n-uplas (q1,..., qn) para las cuales la matriz Jacobiana no sea invertible por ser
su determinante, denominado Jacobiano, nulo. Estas configuraciones del robot en las que el
Jacobiano se anula se denominan configuraciones singulares y sern tratadas ms adelante.
Una tercera dificultad que puede surgir con ste y otros procedimientos de cmputo de la ma-
triz Jacobiana inversa, se deriva de la circunstancia de que la matriz Jacobiana no sea cua-
drada. Esto ocurre cuando el nmero de grados de libertad del robot no coincide con la di-
mensin del espacio de la tarea (normalmente seis). En el caso de que el nmero de grados de
libertad sea inferior, la matriz Jacobiana tendr ms filas que columnas. Esto quiere decir que
el movimiento del robot est sometido a ciertas restricciones (por ejemplo, no se puede al-
162 FUNDAMENTOS DE ROBTICA

canzar cualquier orientacin). En ocasiones esto ocurre en casos en los que esta restriccin no
tiene importancia, como en robots dedicados a tareas como soldadura por arco, en las que la
orientacin de la herramienta en cuanto a su giro en torno al vector a es indiferente, o en al-
gunas tareas de coger y dejar en las que el vector a siempre toma la direccin vertical. En es-
tos casos se puede eliminar algn grado de libertad del espacio de la tarea, quedando una
nueva matriz Jacobiana cuadrada.
En los casos en que el robot sea redundante (ms de 6 GDL o ms columnas que filas en
la matriz Jacobiana) existirn grados de libertad articulares innecesarios, es decir, que no ser
preciso mover para alcanzar las nuevas posiciones y orientaciones del extremo requeridas. Por
ello, la correspondiente velocidad articular podr ser tomada como cero, o si fuera til,
como un valor constante.
La tercera alternativa de obtencin de la Jacobiana inversa, vlida para el caso de Jaco-
biana analtica inversa es repetir el procedimiento seguido para la obtencin de la Jacobiana
analtica directa, pero ahora partiendo del modelo cinemtico inverso. Esto es, conocida la re-
lacin:

q1  f1 (x, y, z, , , , ) [4.81]
M
qn  fn (x, y, z, , , , )

La matriz jacobiana inversa se obtendr por diferenciacin con respecto del tiempo de am-
bos miembros de la igualdad:

q&1 x&

M M
M = Ja M
1
[4.82]

M M
q&
n &

con:

f1 f1
L L L
x
M O M
1
Ja = M O M [4.83]
M O M

fn L L L
fn
x

Como en el caso de la primera alternativa, este mtodo puede ser algebraicamente com-
plicado.
CAPTULO 4. CINEMTICA DEL ROBOT 163

4.3.6. Jacobiana pseudoinversa


En general, en el caso de que la Jacobiana tenga ms filas que columnas, es decir, el nmero
de ejes del robot sea inferior a la dimensin del espacio de la tarea, se tendr que en las Ex-
presiones [4.63] y [4.64] habr ms ecuaciones que incgnitas, es decir, no existir un vector
.
de velocidades q que satisfaga simultneamente todas las Ecuaciones [4.63] o [4.64].
.
El vector q que consigue ajustar de la mejor manera posible (con un criterio de mnimos
cuadrados) todas las Ecuaciones de [4.63] y [4.64] se puede encontrar haciendo uso de la
pseudoinversa por la izquierda, definida por

J+i  (JT J)1 J T [4.84]


Cumpliendo de que:
J+i J  I [4.85]

Debe entenderse que, en este caso, las velocidades en el espacio de la tarea obtenidas de
[4.63] o [4.64] no sern exactamente las deseadas, pero sern las que ms se aproximan a
ellas, dando lugar a un error cuadrtico mnimo.
En el caso opuesto, esto es, si la matriz Jacobiana tiene ms columnas que filas, se estar
ante un robot redundante, con ms ejes que la dimensin del espacio de la tarea. En este caso,
.
habr infinitos vectores de velocidades articulares q que satisfagan las expresiones [4.63] o
[4.64] para unas velocidades definidas en el espacio de la tarea.
.
De todas ellas, la que minimiza la norma del vector de velocidades q , puede obtenerse
mediante la pseudoinversa por la derecha, definido como:

J+d  J T (J JT)1 [4.86]


Cumpliendo de que:
J J+d  I [4.87]

4.3.7. Configuraciones singulares

Se denominan configuraciones singulares de un robot a aqullas en las que el determinante de


su matriz Jacobiana (Jacobiano) se anula. Por esta circunstancia, en las configuraciones sin-
gulares no existe Jacobiana inversa.
Al anularse el Jacobiano, un incremento infinitesimal de las coordenadas cartesianas
supondra un incremento infinito de las coordenadas articulares, lo que en la prctica se tra-
duce en que en las inmediaciones de las configuraciones singulares, el pretender que el ex-
tremo del robot se mueva a velocidad constante, obligara a movimientos de las articulaciones
a velocidades inabordables por sus actuadores.
Por ello, en las inmediaciones de las configuraciones singulares se pierde alguno de los
grados de libertad del robot, siendo imposible que su extremo se mueva en una determinada
direccin cartesiana. Las diferentes configuraciones singulares del robot pueden ser clasifi-
cadas como:

Singularidades en los lmites del espacio de trabajo del robot. Se presentan cuando el
extremo del robot est en algn punto del lmite de trabajo interior o exterior. En esta si-
tuacin resulta obvio que el robot no podr desplazarse en las direcciones que lo alejan
de este espacio de trabajo.
164 FUNDAMENTOS DE ROBTICA

Singularidades en el interior del espacio de trabajo del robot. Ocurren dentro de la zona
de trabajo y se producen, generalmente, por el alineamiento de dos o ms ejes de las ar-
ticulaciones del robot.

EJEMPLO 4.7

Para el robot SCARA del que se obtuvo la matriz Jacobiana en el Ejemplo 4.5 se tie-
ne, considerando slo la parte de traslacin y prescindiendo del grado de libertad q4, que:

x& q&1

y& = J v q&2
z& q& 3

(l3S12 + l2 S1 ) l3S12 0

J v = l3C12 + l2 C1 l3C12 0
0 0 1

por lo que el Jacobiano ser:

J = l3C12 (l3S12 + l2 S1 ) + l3S12 (l3C12 + l2 C1 )

que se anula para:

l3C12 (l3S12 + l2 S1 ) = l3S12 (l3C12 + l2 C1 )

lo que se cumple siempre que q2  0 o , pues entonces la igualdad anterior se verifica


para cualquier q1:

l3C1 (l3S1 + l2 S1 ) = l3S1 (l3C1 + l2 C1 )

Esta situacin definida por q2  0 o corresponde a los puntos lmite del espacio de
trabajo del robot:

q2  0: Lmite exterior del espacio de trabajo.


q2  : Lmite interior del espacio de trabajo.

Se debe prestar especial atencin a la localizacin de las configuraciones singulares del


robot para que sean tenidas en cuenta en su control, evitndose solicitar a los actuadores mo-
vimientos a velocidades inabordables o cambios bruscos de las mismas.
La Figura 4.17 muestra el resultado de intentar realizar con un robot tipo SCARA, una
trayectoria en lnea recta a velocidad constante que pasa por una configuracin singular. Ob-
.
srvese la brusca variacin de la velocidad articular q2 que crece hasta valores inalcanzables
en la prctica.
CAPTULO 4. CINEMTICA DEL ROBOT 165

pn

q2

p0
q2

300
q2
240

180

120 q2

60
t0 tn t

Figura 4.17. Ejemplo de punto singular para un robot tipo SCARA.

Para evitar la aparicin de configuraciones singulares debe considerarse su existencia des-


de la propia fase de diseo mecnico, imponiendo restricciones al movimiento del robot o uti-
lizando robots redundantes (lo que conlleva otro tipo de problemas). Finalmente, el sistema de
control debe detectar y tratar estas configuraciones evitando pasar precisamente por ellas.
Un posible procedimiento para resolver la presencia de una singularidad interior al espa-
cio de trabajo, en la que se pierde la utilidad de alguna articulacin (prdida de algn grado de
libertad) sera el siguiente:

1. Identificar la articulacin correspondiente al grado de libertad perdido (causante de que


el determinante se anule).
2. Eliminar la fila de la Jacobiana correspondiente al grado de libertad perdido y la co-
lumna correspondiente a la articulacin causante.
3. Con la nueva Jacobiana reducida (rango n-1) obtener las velocidades de todas las ar-
ticulaciones, a excepcin de la eliminada, necesarias para conseguir las velocidades
cartesianas deseadas. La velocidad de la articulacin eliminada se mantendr a cero.
166 FUNDAMENTOS DE ROBTICA

4.4. EJERCICIOS RESUELTOS


Ejercicio 4.1

La figura representa un robot polar de 2 GDL consistentes en un giro q1 alrededor del eje
z seguido de una traslacin q2 medida a partir de una distancia l1.

1) Obtener el modelo cinemtico directo mediante


a. Mtodos geomtricos
b. Algoritmo de Denavit-Hartenberg
2) Escribir la funcin MATLAB (MDH) que devuelve la matriz de Denavit-Hartenberg
asociada a los correspondientes parmetros. Utilizar dicha funcin para:
a. Obtener el modelo cinemtico directo de manera simblica: matriz de transforma-
cin homognea que define la localizacin del extremo a partir de las coordenadas
articulares q  (q1, q2).
b. Escribir la funcin mcdrej41(q) (modelo cinemtico directo del robot del Ejercicio 4.1)
que para una dupla de coordenadas articulares q  (q1, q2) devuelve la matriz de
transformacin homognea que define la localizacin del extremo del robot (tomar
para l1 el valor 10).

xf
zf
y0 q2
yf

l1

q1 x0

z0

Figura 4.18. Robot Ejercicio 4.1.


CAPTULO 4. CINEMTICA DEL ROBOT 167

Solucin

1. a. Modelo cinemtico directo por mtodos geomtricos:


A partir de la figura es inmediato deducir que la posicin y orientacin del sistema aso-
ciado al extremo del robot {Sf} quedan definidos en el sistema de la base {S0} por:

x = (l1 + q2 ) cos (q1 )


y = (l1 + q2 ) sen (q1 )
z=0
= /2
=0
= q1 + / 2

y0

xf zf

of

yf

o0
x0

z0

Donde , , son los ngulos de guiada, cabeceo y alabeo (giros entorno a los ejes del
sistema fijo {S0} {o0, x0, y0, z0} que definen la orientacin del sistema final

{Sf} {of, xf, yf, zf}.


168 FUNDAMENTOS DE ROBTICA

1. b. Modelo cinemtico directo mediante el algoritmo de Denavit-Hartenberg:

z1
z1

2 2
2
2

2
2
y0
1

1
1
0 0 0 0 x0
{s0 }
1
z0
1 1

DH1 DH2-DH3 z0 DH4 DH5


x2
z2
{s2 }

y2

x1 x1
z1 z1 z1
{s1 } {s1 }

y0 y1 y0 y1 y0

x0 x0 x0
{s0 } {s0 } {s0 }
z0 z0 z0

DH6 DH7-DH8 DH9

Figura 4.19. Secuencia del algoritmo de D-H para el robot del Ejercicio 4.1.

La secuencia representada en la figura recoge los pasos DH1 a DH9 del algoritmo De-
navit-Hartenberg.
Se destaca en el mismo que:

El numero de grados de libertad es 2: n  2.


En el paso DH4 se definen los ejes sobre los que se sitan los vectores z0 y z1, pero no
los orgenes de stos, que no quedan fijados hasta los pasos DH5 y DH6.
En el paso DH6, los ejes z0 y z1 se cortan, luego el origen de {S1} se sita en el punto de
corte (que en este caso particular coincide con el origen de coordenadas del sistema
{S0}). Para clarificar el dibujo,{S1} se ha dibujado desplazado, indicando su origen real
mediante lnea de puntos.
x1 se define en el paso DH7, quedando perpendicular al plano definido por z0 y z1. Se
escoje como sentido positivo el que define la regla del pulgar de z0 a z1 (direccin del
dedo pulgar de la mano derecha, cuando el resto de los dedos giran de z0 a z1).
y1 queda definido en el paso DH8, resultando en este caso coincidente con z0.
En el paso DH9, x2 queda situado sobre el plano perpendicular al eje del robot, esco-
gindose sobre ste la direccin coincidente con x1.
CAPTULO 4. CINEMTICA DEL ROBOT 169

Una vez obtenidos los 3 sistemas de coordenadas {S0}, {S1} y {S2}, se obtiene los par-
metros DH que permiten pasar de un sistema al de acuerdo a lo indicado en los pasos DH10,
DH11, DH12 y DH13 del algoritmo, resultando la Tabla 4.6.

Tabla 4.6. Parmetros de D-H del robot de la figura


Articulacin d a
1 q1 + /2 0 0 /2
2 0 l1 + q2 0 0

A partir de ella y de acuerdo a [4.10] se obtienen las matrices:

S1 0 C1 0 1 0 0 0

C 0 S1 0 1 0 1 0 0
0
A1 = 1 ; A2 =
0 1 0 0 0 0 1 l1 + q2

0 0 0 1 0 0 0 1

Donde se ha tenido en cuenta en la primera de ellas que:

cos ( ) = cos (q1 + / 2 ) = sen (q1 )


sen ( ) = sen (q1 + / 2 ) = cos (q1 )
cos ( ) = cos ( / 2 ) = 0
sen ( ) = sen ( / 2 ) = 1
Por tanto:

S1 0 C1 0 1 0 0 0
C 0 S1 0 0 1 0
n o a p 0 1 0
T= = A 1
A = =
0 0 0 1
1 2
0 1 0 0 0 0 1 l1 + q2

0 0 0 1 0 0 0 1
S1 0 C1 (l1 + q2 ) C1
C 0 S1 (l1 + q2 ) S1
=
1
0 1 0 0

0 0 0 1
Esta matriz de transformacin homognea indica que la localizacin del robot corres-
ponde a:

x = (l1 + q2 ) C1
y = (l1 + q2 ) S1
z=0
[n, o, a] = Rotz(q1 + / 2) Roty(0 ) Rotx( / 2)
170 FUNDAMENTOS DE ROBTICA

Nota: Para la expresin de la matriz de rotacin [n, o, a] ver la Expresin [3.79]corres-


pondiente a los ngulos de Euler XYZ o guiada, cabeceo y alabeo.

Se comprueba que los valores de la posicin y orientacin del sistema asociado coinciden
a los obtenidos por el mtodo geomtrico.

2. a. Se comenzar escribiendo la funcin MDH:

function dh=MDH(teta,d,a,alfa)
dh=[cos(teta) -cos(alfa)*sin(teta) sin(alfa)*sin(teta) a*cos(teta);
sin(teta) cos(alfa)*cos(teta) -sin(alfa)*cos(teta) a*sin(teta);
0 sin(alfa) cos(alfa) d;
0 0 0 1];

A continuacin se definen las variables simblicas y se obtienen las matrices i-1Ai:


Del producto de ambas se obtiene T = 0A2 = A01*A12

>> syms q1 q2 l1
>> pil=sym(pi);
>> A01=MDH(q1+pi1/2,0,0,pi1/2)

A01=

[ -sin(q1), 0, cos(q1), 0]
[ cos(q1), 0, sin(q1), 0]
[ 0, 1, 0, 0]
[ 0, 0, 0, 1]

>> A12=MDH(0,l1+q2,0,0)

A12=

[ 1, 0, 0, 0]
[ 0, 1, 0, 0]
[ 0, 0, 1, l1+q2]
[ 0, 0, 0, 1]

>> T=A01*A12

T=

[ -sin(q1), 0, cos(q1), cos(q1)*(l1+q2)]


[ cos(q1), 0, sin(q1), sin(q1)*(l1+q2)]
[ 0, 1, 0, 0]
[ 0, 0, 0, 1]

Que como se ve coincide con el resultado obtenido algebraicamente.


3. b) La funcin mcdrej41 har uso de la funcin MDH para calcular las matrices A01
y A02.
CAPTULO 4. CINEMTICA DEL ROBOT 171

% mcdrej41 Modelo cinematico directo del robot ejercicio 4.1


% Robot polar de 2 gdl
% Recibe coordenadas articulares (q1,q2) retorna matriz T
function T=mcdrej41(q1,q2)
l1=10; % Longitud de la barra 1 (modificar al valor real en cada caso)
A01=MDH(q1+pi/2,0,0,pi/2);
A12=MDH(0,l1+q2,0,0);
T=A01*A12;

Se puede probar que ste es correcto utilizndose para algunos puntos de fcil verifica-
cin.

>> mcdrej41(0,0)

ans =

0.0000 -0.0000 1.0000 10.0000


1.0000 0.0000 -0.0000 -0.0000
0 1.0000 0.0000 0.0000
0 0 0 1.0000

>> mcdrej41(pi/2,0)

ans =

-1.0000 -0.0000 0.0000 0.0000


0.0000 -0.0000 1.0000 10.0000
0 1.0000 0.0000 0.0000
0 0 0 1.0000
>>

Ejercicio 4.2

1. Obtener mediante el algoritmo de Denavith-Hartenberg el modelo cinemtico directo


del robot de la Figura 4.20 (el modelo cinemtico de este robot se obtuvo mediante
mtodo geomtrico, en el Apartado 4.1.1).
2. Comprobar que el resultado obtenido es correcto en los casos particulares definidos por
las ternas de valores de (q1, q2, q3): (0, 0, 0) , (/2, 0, /2), (/2, /2, ).
3. Utilizar las funciones link, robot, fkine y drivebot de la Toolbox de Robtica de
MATLAB [CORKE-96] y contrastar los resultados para los casos particulares antes
definidos. (Tomar en este caso lo siguientes dimensiones para las longitudes de barras:
l1  0.1, l2  0.2 y l3  0.3.)
172 FUNDAMENTOS DE ROBTICA

z
l3
l2 q3
q2

l1

y
q1

Figura 4.20. Figura Ejercicio 4.2.

Solucin

1. Las siguientes figuras representan la secuencia de pasos DH1 a DH9 de algoritmo de


Denavit-Hartenberg

2 2 3
3 z1 z1
3
1 z2 z0 z2
z0
{S0 } y0 {S0} y0

1 x0 x0

DH1-DH2-DH3 DH4-DH5 DH6

y1 y1 y3
y2 y2
x3
2 2 q3
z1 z1 q2 z3
x1 x2 x1 x2
z0 z2 z2
z0
{S0} y0 {S0} y0
q1
x0 x0

DH7-DH8 DH9

Figura 4.21. Secuencia del algoritmo de D-H para el robot del ejercicio 4.2.
CAPTULO 4. CINEMTICA DEL ROBOT 173

Se hace notar en la misma que:

En el paso DH6, los ejes z0 y z1, se cortan, por lo que el origen de {S1} se sita en el
punto de corte. Por su parte los ejes z1 y z2 son paralelos, por lo que el origen de {S2} se
sita en la articulacin 3.
En el paso DH7, el eje x1 (normal a z0 y z1) queda situado sobre el plano que contiene
al robot (en la direccin del producto vectorial de z0  z1). En cuanto al eje x2 queda
situado en la direccin del eslabn 2 del robot (z1 y z2 son perpendiculares al plano del
robot)
En el paso DH8, el eje x3 queda situado en la direccin del eslabn 3 (de nuevo z3 es
perpendicular al plano del robot).

A partir de los sistemas de coordenadas definidos en los pasos DH1 a DH9 del algoritmo,
se obtiene la tabla de parmetros DH (pasos DH10 a DH13) (Tabla 4.7) y a partir de ella las
matrices, i1Ai, segn [4.10].

Tabla 4.7. Parmetros de D-H para el robot del Ejercicio 4.2


Articulacin d a
1 q1 l1 0 /2
2 q2 0 l2 0
3 q3 0 l3 0

C1 0 S1 0 C2 S2 0 l2 C2 C3 S3 0 l3C3
S 0 C 0 S C2 0 l2 S2 2 S C3 0 l3S3
A1 = ; A2 = ; A3 =
0 1 1 1 2 3
0 1 0 l1 0 0 1 0 0 0 1 0

0 0 0 1 0 0 0 1 0 0 0 1

Obtenindose finalmente la matriz T

n o a p 0
T = = A 3 = A1 A 2 A 3 =
0 1 2

0 0 0 1
C1C23 C1S23 S1 l3C1C23 + l2 C1C2

SC S1S23 C1 l3S1C23 + l2 S1C2
= 1 23
S23 C23 0 l3S23 + l2 S2 + l1

0 0 0 1

Lo que indica que el sistema {S3} asociando al extremo del robot se encuentra posicio-
nado en:

x = l3C1C23 + l2 C1C2
y = l3S1C23 + l2 S1C2
z = l3S23 + l2 S2 + l1
174 FUNDAMENTOS DE ROBTICA

Y est orientado segn la submatriz de rotacin [n o a] que, como puede comprobarse,


corresponde a la siguiente composicin de rotaciones simples (Expresin [3.75]):

[n o a ] = Rotz(q1 ) Roty( (q2 + q3 )) Rotx( / 2)

Este resultado coincide con el obtenido en [4.4].

2. Por simple observacin de la geometra del robot, se obtiene la localizacin asociada


a cada una de las ternas de coordenadas articulares indicadas (Tabla 4.8).

Sustituyendo los valores propuestos de q en la expresin de T puede comprobarse la coin-


cidencia de los resultados.

Tabla 4.8. Solucin para las diferentes posiciones articulares del robot del Ejercicio 4.2
q x y z [n o a]
z

1 0 0

(0, 0, 0) l2 l2 + l3 0 l1 0 0 1
l1 0 1 0
y l3
z y
x
x

z
l3 0 0 1

(/2, 0, /2) 0 l2 l1 + l3 0 1 0
l2 1 0 0
l1

l2 0 0 1

(/2, /2, ) l3 0 0 l1 + l2 l3 0 1 0
1 0 0
l1

y
z y

x x
CAPTULO 4. CINEMTICA DEL ROBOT 175

Estas operaciones pueden ser realizadas con la ayuda de MATLAB mediante la si-
guiente secuencia de comandos.

syms q1 q2 q3 l1 l2 l3;
pi1 = sym ('pi');
A01 = MDH(q1,l1,0,pi1/2);
A12 = MDH(q2,0,l2,0);
A23 = MDH(q3,0,l3,0);
A13 = simple(A12*A23);
A03 = simple(A01*A13);
T = A03
q1 = 0; q2=0; q3=0;
eval(T)
q1 = pi1/2; q2=0; q3=pi1/2;
eval(T)
q1 = pi1/2; q2=pi1/2; q3=pi1;
eval(T)

3. La Toolbox Robtica de MATLAB incluye la funcin link para la definicin de las


caractersticas cinemticas (mediante los parmetros de Denavit-Hartenberg) y dinmicas
de cada eslabn y la funcin robot para la concatenacin de las mismas para formar un
robot.

Una vez definido ste, es posible hacer uso de las mltiples instrucciones incluidas es la
Toolbox, en particular la funcin fkine resuelve el modelo cinemtico directo. Se remite al
lector al manual de la Toolbox para una informacin completa de las funciones citadas.
Hay que hacer notar que la funcin link recibe los parmetros de DH en el orden (, a, , d)
en lugar del habitual (, d, a, ).
Asimismo, se debe prestar atencin a los parmetros sigma y offset de la citada funcin.
El primero permite indicar si se trata de una articulacin de rotacin (0) o de traslacin (1). El
parmetro offset permite indicar los posibles desfases en la medida del parmetro corres-
pondiente al grado de libertad de la articulacin
Con todo, la construccin del robot se har de la siguiente manera:

>> L1=link([pi/2 0 0 10])

L1=

1.570796 0.000000 0.000000 10.000000 R (std)

>> L2=link([0 20 0 0])

L2=

0.000000 20.000000 0.000000 0.000000 R (std)

>> L3=link([0 30 0 0])

L3=
176 FUNDAMENTOS DE ROBTICA

0.000000 30.000000 0.000000 0.000000 R (std)

>> Rej_4_2=robot({L1,L2,L3},'Robot Ejercicio 4.2')

Rej_4_2=

Robot Ejercicio 4.2 (3 axis, RRR)


grav=[0.00 0.00 9.81] standard D&H parameters

alpha A theta D R/P


1.570796 0.000000 0.000000 10.000000 R (std)
0.000000 20.000000 0.000000 0.000000 R (std)
0.000000 30.000000 0.000000 0.000000 R (std)

Una vez definido el robot es posible utilizar la funcin fkine para obtener la matriz de
transformacin homognea que localiza al extremo del robot para una terna de coordenadas
articulares determinadas.

>> fkine(Rej_4_2,[0 0 0])

ans =

1.0000 0 0 50.0000
0 0.0000 -1.0000 0
0 1.0000 0.0000 10.0000
0 0 0 1.0000

>> fkine(Rej_4_2,[pi/2 0 pi/2])

ans =

-0.0000 -0.0000 1.0000 -0.0000


0.0000 -1.0000 -0.0000 20.0000
1.0000 0.0000 0.0000 40.0000
0 0 0 1.0000

>> fkine(Rej_4_2,[pi/2 pi/2 pi])

ans =

0.0000 0.0000 1.0000 0.0000


-0.0000 1.0000 -0.0000 -0.0000
-1.0000 -0.0000 0.0000 0
0 0 0 1.0000

Comprobndose que se obtienen los mismos resultados que los obtenidos anterior-
mente.
Por ultimo, puede hacerse uso de la funcin drivebot que proporciona una representacin
grafica simplificada del robot (Figura 4.22), pudindose variar interactivamente las coorde-
CAPTULO 4. CINEMTICA DEL ROBOT 177

nadas articulares y mostrndose simultneamente el valor de stas y las correspondientes co-


ordenadas cartesianas.
drivebot(Rej_4_2)

Figura 4.22. Imagen de la funcin drivebot de la Toolbox de Robtica MATLAB.

Ejercicio 4.3
Encontrar el modelo cinemtico directo del robot de 4 GDL de la Figura 4.23.

q2 q3
q4

q1

l1 l2 l3

Figura 4.23. Figura del Ejercicio 4.3.


Tomar como longitudes de las barras: l1  0.3, l2  0.2, l3  0.1
178 FUNDAMENTOS DE ROBTICA

Solucin

Se representan a continuacin la secuencia de pasos del algoritmo de D-H que permite de-
finir los sistemas de coordenadas asociados a cada eslabn.

z0 z1 z2

1 2 3 4 z1 z2
2 3 z3
1
4

z3

z0
0 y0
x0
DH1-DH4 DH5-DH6

z1 z2 z1 z2 y3
y1 y2 x3

x1 x2 x1 x2 z3

y3
x3 x3
z3 z3

z0 z0
y0 y0
x0 x0
DH7 DH8-DH9

Figura 4.24. Secuencia del algoritmo de D-H para el robot del ejercicio 4.3.

A partir de ella puede obtenerse la tabla de parmetros de Denavit-Hartenberg (Tabla 4.9)


y de sta las matrices i1Ai y la matriz T.

Tabla 4.9. Parmetros de D-H del robot del Ejercicio 4.3


Articulacin d a
1 /2 q1 l1 0
2 q2 0 l2 0
3 q3 + /2 0 0 /2
4 q4 l3 0 0
CAPTULO 4. CINEMTICA DEL ROBOT 179

0 1 0 0 C2 S2 0 l2 C2
1 0 0 l1 S C2 0 l2 S2
A1 = A2 =
0 1 2
; ;
0 0 1 q1 0 0 1 0

0 0 0 1 0 0 0 1
S3 0 C3 0 C4 S4 0 0
C 0 S3 0 S C4 0 0
A3 = A4 =
2 3 3 4
;
0 1 0 0 0 0 1 l3

0 0 0 1 0 0 0 1
C4 C23 S4 C23 S23 l3S23 l2 S2
C S S4 S23 C23 l3C23 + l2 C2 + l1
T = 0 A4 =
4 23
S4 C4 0 q1

0 0 0 1

Resultando, por tanto, que el modelo cinemtico responde a (vase Expresin [3.71]
para la justificacin de la matriz [noa]):

x = l3S23 l2 S2
y = l3C23 + l2 C2 + l1
z = q1

[n o a ] = Rotz( + q2 + q3 ) Rotx( 2 ) Rotz(q4 )

Si se utiliza la herramienta de clculo simblico de MATLAB para ayudar en la obtencin


de esta expresin se tendr:
syms q1 q2 q3 q4 l1 l2 l3
pi1=sym(pi);
A01=MDH(pi1/2,q1,l1,0);

A12=MDH(q2,0,l2,0)
A23=MDH(q3+pi1/2,0,0,pi1/2);
A34=MDH(q4,l3,0,0);
T=A01*A12*A23*A34

Dando los valores deseados a q1, q2, q3, q4 y a l1, l2, l3 y utilizando la funcin eval(T) pue-
de obtenerse la posicin y orientacin del extremo del robot para cada configuracin.

El uso de la Robtica Toolbox para MATLAB para este caso sera:


l1=0.3; l2=0.2; l3=0.1;
L1=link([0 l1 pi/2 0 1])
L2=link([0 l2 0 0])
L3=link([pi/2 0 0 0 0 pi/2])
L4=link([0 0 0 l3])
Rej_4_3=robot({L1,L2,L3,L4},'Robot Ejercicio 4.2')
180 FUNDAMENTOS DE ROBTICA

Donde se han dado a las barras las longitudes indicadas en el enunciado. Es importante
observar en la definicin del link L1 el paso de un parmetro adicional a los 4 parmetros co-
rrespondientes a los valores , a, , d, que toma el valor de 1 y que permite especificar que la
articulacin correspondiente es de translacin.
Asimismo, en la definicin del link L3 aparecen tras el quinto parmetro, que toma el va-
lor de 0 para indicar que se trata de una articulacin de rotacin, un sexto parmetro que toma
el valor de /2 y que refleja el offset que presenta el correspondiente grado de libertad,
cuyo parmetro de DH asociado es q3  /2.
La funcin fkine para diferentes configuraciones da como resultado:

fkine(Rej_4_3,[0 0 0 0])

1 0 0 0

0 0 1 0, 6
0 1 0 0

0 0 0 1

fkine(Rej_4_3,[0 pi/2 pi/2 0])

1 0 0 0, 2

0 0 1 0, 2
0 1 0 0

0 0 0 1

fkine(Rej_4_3,[0 pi 0 pi/2])

0 1 0 0

0 0 1 0
1 0 0 0

0 0 0 1

fkine(Rej_4_3,[0.5 pi/3 pi/6 pi/4])

0 0 1 0, 273

2 /2 2 /2 0 0, 4

2 /2 2 /2 0 0, 5
0 0 0 1

Puede compararse con los resultados obtenidos anteriormente.


CAPTULO 4. CINEMTICA DEL ROBOT 181

Ejercicio 4.4
Obtener el modelo cinemtico directo del robot de 5 GDL de la Figura 4.25.
Tomar l1  10, l2  0.5, l3  1, l4  0.5

q1 q2
l2
l3

l4
q4 l5
q3

l1
q5

Figura 4.25. Robot del Ejercicio 4.4.

Solucin
y1
x1
2 z1
4 x2 x3 x5
5 y3 z5
2

3 3 4 5 z2
1 y2 1 z3 y5
x4
z4
y4
z0
0 y0
1 x0

Figura 4.26. Secuencia algoritmo de DH para el robot del Ejercicio 4.4.

Las figuras y la tabla recogen el desarrollo del algoritmo de D-H que permite obtener los
valores de las matrices i1Ai.

Tabla 4.10. Parmetros de D-H para el robot del Ejercicio 4.4


Articulacin d a
1 q1 + /2 l1 0 /2
2 q2 + /2 l2 0 /2
3 0 q3 0 /2
4 q4 0 0 /2
5 q5 l4 + l5 0 0
182 FUNDAMENTOS DE ROBTICA

S
S1 0 C1 0 0 C2 0
C 2
0 S1 0 1 C 0 S2 0
A1 = ; A 2 = 2
0 1

0 1 0 l1 l2
0 1 0

0 0 0 1 0 0 0 1

1 0 0 0 C4 0 S4 0
0 0 1 0 S 0 C4 0
A3 = A4 =
2 3 4
;
0 1 0 q3 0 1 0 0

0 0 0 1 0 0 0 1
C5 S5 0 0
S C5 0 0
A5 =
4 5
0 0 1 l4 + l5

0 0 0 1
T = 0 A 5 = 0 A1 . 1 A 2 . 2 A 3 . 3 A 4 . 4 A 5
S S C +C S S1S24 S5 + C1C5 S1C24 S1C24 (l4 + l5 ) + C1l2 S1C2 q3
1 24 5 1 5
C S C + S S C S S + S C C C C1C24 (l4 + l5 ) + S1l2 + C1C2 q3
= 1 24 5 1 5 1 24 5 1 5 1 24

C24C5 C24 S5 S24 S24 (l4 + l5 ) + l1 + S2 q3

0 0 0 1

Si se hace uso de la Robotics Toolbox de MATLAB, se tendra:

L1=link([pi/2 0 0 l1 0 pi/2])
L2=link([pi/2 0 0 l2 0 pi/2])
L3=link([-pi/2 0 0 0 1 0])
L4=link([pi/2 0 0 0 0 0])
L5=link([0 0 0 l4+l5 0 0])

Donde se deben dar valores concretos a las longitudes de las barras, tomndose para ello:

l1  10; l2  0.5; l4  1; l5  0.5

Rej_4_4=robot({L1,L2,L3,L4,L5})

Pudindose entonces usar la funcin fkine para resolver el modelo cinemtico directo. Por
ejemplo:

fkine(Rej_4_4,[0 0 0 0 0]) o fkine(Rej_4_4,[pi/2,0,10,-pi/2,0])

Ejercicio 4.5

Obtener mediante la ayuda de las matrices de transformacin homognea de D-H, el mo-


delo cinemtico inverso del robot del 2 GDL de la Figura 4.27
CAPTULO 4. CINEMTICA DEL ROBOT 183

y2 x2
y 1 S2
A2

l2
0 y1 q2
A1 x1
S1
y0 l1

q1

S 0 x0 x

Figura 4.27. Robot Ejercicio 4.5.

Solucin

Tal y como se obtuvo en el Ejemplo 4.5 , para este robot se tiene:

Tabla 4.11. Parmetros de D-H para el robot del Ejercicio 4.4


Articulacin d a
1 q1 0 l1 0
2 q2 0 l2 0

C1 S1 0 l1C1 C2 S2 0 l2 C 2

S C1 0 l1S1 1 S C2 0 l2 S2
0
A1 = 1 ; A2 = 2
0 0 1 0 0 0 1 0

0 0 0 1 0 0 0 1

C12 S12 0 l1C1 + l2 C12



S C12 0 l1S1 + l2 S12
0
A 2 = 0 A1 1 A 2 = T = 12
0 0 1 0

0 0 0 1

El objeto del modelo cinemtico inverso es obtener los valores de q que dan lugar a una
n o a p
matriz T = determinada, siendo, por tanto, esta ltima el dato desconocido.
0 0 0 1
184 FUNDAMENTOS DE ROBTICA

Puede escribirse que:

C12 S12 0 l1C1 + l2 C12 nx ox ax px



S C12 0 l1S1 + l2 S12 ny oy ay py
0
A 2 = T = 12 =
0 0 1 0 nz oz az pz

0 0 0 1 0 0 0 1

Se dispone as de 12 ecuaciones (prescindiendo de las 4 identidades asociadas a la ltima


fila) con 2 incgnitas (q1 y q2) debindose seleccionar de entre ellas alguna que permita des-
pejar las incgnitas.
En este caso, seleccionando las ecuaciones correspondientes a igualar los terminos (1,4)
y (2,4) se tiene:

l1C1 + l2 C12 = px
l1S1 + l2 S12 = py

Elevando al cuadrado ambas igualdades:

l12 C12 + l22 C12


2
+ 2l1l2 C1C12 = px2
l12 S12 + l22 S12
2
+ 2l1l2 S1S12 = py2

Y sumando trmino a trmino:

l12 + l22 + 2l1l2 (C12 C1 + S12 S1 ) = px2 + py2

l12 + l22 + 2l1l2 C2 = px2 + py2

px2 + py2 l12 l22


C2 =
2l1l2

De donde se puede obtener q2.

Para obtener q1 se manipular la igualdad matricial:

n o a p
0
A1 1 A 2 =
0 0 0 1

Premultiplicando por la inversa de 0A1 se tiene:

n o a p
1
A 2 = ( 0 A1 )1
0 0 0 1

La matriz (0A1)1 puede obtenerse a partir de 0A1 mediante la relacin definida en [3.45]
resultando:
CAPTULO 4. CINEMTICA DEL ROBOT 185

C1 S1 0 l1

S C1 0 0
( A1 ) = A 0 = 1
0 1 1
0 0 1 0

0 0 0 1

Con lo que:

C1nx + S1ny C1ox + S1oy C1ax + S1ay C1 px + S1 py l1



S n + C1ny S1ox + C1oy S1ax + C1ay S1 px + C1 py
( 0 A1 )1 .T = 1 A 2 1 x =
nz oz az pz

0 0 0 1
C2 S2 0 l2 C 2

S C2 0 l2 S2
= 2
0 0 1 0

0 0 0 1

Tomando de las 12 igualdades posibles los elementos (1,4) y (2,4):

C1 px + S1 py l1 = l2 C2 C1 px + S1 py = l2 C2 + l1

S1 px + C1 py = l2 S2 S1 px + C1 py = l2 S2

Dividiendo trmino a trmino la segunda igualdad entre la primera, se obtiene:

l2 S2 C p S p
= 1 y 1 x
l2 C2 + l1 C1 px + S1 py

Dividiendo numerador y denominador del segundo miembro por C1px

py
T1
l2 S2 p
= x
l2 C2 + l1 p
1 + T1 y
px

y teniendo en cuenta que

Ta Tb
T (a b ) =
1 + TaTb

l2 S2 py
= T arctg q1
l2 C2 + l1 px
186 FUNDAMENTOS DE ROBTICA

de donde

l2 S2 py
arctg = arctg q1
l2 C2 + l1 px

Resultando finalmente que:

py l2 S2
q1 = arctg arctg
px l2 C2 + l1

Por tanto, el modelo cinemtico inverso viene dado por las ecuaciones:

py l2 S2
q1 = arctg arctg
px l2 C2 + l1
px2 + py2 l12 l22
q2 = arcos
2l1l2

Al mismo resultado podra llegarse por razonamientos geomtricos (se deja al lector la
comprobacin, pudindose basar en el desarrollo utilizado en el Apartado 4.2.1) resultando en
este caso ms simple aquel procedimiento.

Ejercicio 4.6

Obtener mediante el uso de matrices de transformacin homognea el modelo cinemtico


inverso del robot de la Figura 4.9, cuyo esquema simplificado se muestra en la Figura 4.28.

l2 l3
q2 q3

q1

l1

Figura 4.28. Modelo simplificado del robot de la Figura 4.9.


CAPTULO 4. CINEMTICA DEL ROBOT 187

Se comenzar obtenindose la tabla de parmetros de D-H.

Tabla 4.12. Parmetros de D-H del robot del Ejercicio 4.6


Articulacin d a
1 q1 l1 0 /2
2 q2 0 l2 0
3 q3 0 l3 0

y1 y2 y3
2 3
x1 x2 x3
2
1 3 z1 z2 z3

0 z0 y0

x0

Figura 4.29. Secuencia de D-H para el robot del Ejercicio 4.6.

Y a partir de ella las matrices i1Ai y sus inversas iAi-1

C1 0 S1 0 C1 S1 0 0
S 0 C1 0 0 0 1 l1
A1 = A0 =
0 1 1
;
0 1 0 l1 S1 C1 0 0

0 0 0 1 0 0 0 1
C2 S2 0 l2 C2 C2 S2 0 l2
S C2
0 l2 S2 2 S C2 0 0
A2 = ; A1 =
1 2 2
0 0 1 0 0 0 1 0

0 0 0 1 0 0 0 1
C3 S3 0 l3C3 C3 S3 0 l3
S C3
0 l3S3 3 S C3 0 0
A3 = ; A2 =
2 3 3
0 0 1 0 0 0 1 0

0 0 0 1 0 0 0 1
188 FUNDAMENTOS DE ROBTICA

Con lo que la matriz T que resuelve el problema cinemtico directo ser:

T = 0 A3 = 0 A1 . 1 A 2 . 2 A3 =
C1C2 C3 C1S2 S3 C1C2 S3 C1S2 C3 S1 C1C2 C3l3 C1S2 S3l3 + C1C2 l2
SC C SS S S1C2 S3 S1S2 C3 C1 S1C2 C3l3 S1S2 S3l3 + S1C2 l2
=
1 2 3 1 2 3
S2 C3 + C2 S3 S2 S3 + C2 C3 0 S2 C3l3 + C2 S3l3 + l2 S2 + l1

0 0 0 1
C1C23 C1S23 S1 l3C1C23 + l2 C1C2
S C S1S23 C1 l3S1C23 + l2 S1C2
=
1 23
S23 C23 0 l3S23 + l2 S2 + l1

0 0 0 1

Suponiendo que se pretenda localizar al extremo del robot segn la matriz de valor

nx ox ax px
py
n o a p ny oy ay
0 0 0 1 = n oz az pz
z

0 0 0 1

Se deber verificar que:

n o a p
T = 0 A1 1 A 2 2 A3 =
0 0 0 1
nx ox ax px
n oy ay py
A 2 2 A3 = 1 A 0
1 y
nz oz az pz

0 0 0 1

Siendo el primer miembro de la igualdad:

C23 S23 0 l3C23 + l2 C2


S C23 0 l3S23 + l2 S2
A 2 2 A3 =
1 23
0 0 1 0

0 0 0 1
CAPTULO 4. CINEMTICA DEL ROBOT 189

Por su parte el segundo miembro de la igualdad vale:

nx ox ax px C1nx + S1ny C1ox + S1oy C1ax + S1ay C1 px + S1 py


n oy ay py nz oz az pz l1
A0
y
1
=
nz oz az pz S1nx C1ny S1ox C1oy S1ax C1ay S1 px C1 py

0 0 0 1 0 0 0 1

Igualando el trmino (3,4) de ambos miembros se obtiene:

py py
0 = S1 px C1 py T1 = q1 = arctg
px px

Para obtener q2 y q3 se pasa la matriz 1A2 al otro miembro resultando:

nx ox ax px
n oy ay py
A3 = 2 A1 1 A 0
2 y
nz oz az pz

0 0 0 1

Siendo

nx ox ax px
n oy ay py
A1 1 A 0
y
2
=
nz oz az pz

0 0 0 1

C1C2 nx + S1C2 ny + S2 nz C1C2 ox + S1C2 oy + S1oz C1C2 ax + S1C2 ay + S2 az C1C2 px + S1C2 py + S2 pz S2l1 l2
C S n S S n + C n C C o S S o + C o C S a S S a + C a C S p S S p + C p C l
=
1 2 x 1 2 y 2 z 1 2 x 1 2 y 2 z 1 2 x 1 2 y 2 z 1 2 x 1 2 y 2 z 21
S1nx C1ny S1ox C1oy S1ax C1ay S1 px C1 py

0 0 0 1

Utilizando los trminos (1,4) y (2,4) se tiene:

l3C3 = C2 (C1 px + S1 py ) + S2 ( pz l1 ) l2
l3S3 = S2 (C1 px + S1 py ) + C2 ( pz l1 )

Llamando

A = C1 px + S1 py
B = pz l1
190 FUNDAMENTOS DE ROBTICA

Se puede escribir

l3C3 = AC2 + BS2 l2


l3S3 = AS2 + BC2

Elevando al cuadrado ambas igualdades

(l3C3 + l2 )2 = ( AC2 + BS2 )2


(l3S3 )2 = ( AS2 + BC2 )2
l32 C32 + l22 + 2l2 l3C3 = A2 C22 + B2 S22 + 2 ABS2C2
l32 S32 = A2 S22 + B2 C22 2 ABS2 C2

Y sumando miembro a miembro:

l32 (S32 + C32 ) + l22 + 2l2 l3C3 = A2 (S22 + C22 ) + B2 (S22 + C22 )
l32 + l22 + 2l2 l3C3 = A2 + B2
A2 + B2 l22 l32
C3 =
2l2 l3

Y teniendo en cuenta que:

A2 = (C1 px + S1 py )2 = C12 px2 + S12 py2 + 2C1S1 px py

= (1 S12 ) px2 + (1 C12 ) py2 + 2C1S1 px py

= S12 px2 C22 py2 + 2C1S1 px py + px2 + py2

= (S1 px C1 py )2 + px2 + py2

= px2 + py2

Donde se ha utilizado la relacin definida por el elemento (3,4) de la igualdad

n o a p
1
A 2 2 A3 = 1 A 0
0 0 0 1

Segn la cual S1px  C1py  0

Por lo que finalmente se tiene que:

px2 + py2 + ( pz l1 )2 l22 l32


C3 =
2l2 l3
CAPTULO 4. CINEMTICA DEL ROBOT 191

Por ultimo, para obtener q2 se divide miembro a miembro las igualdades de los trminos
(1,4) y (2,4) resultando:

l3C3 + l2 = AC2 + BS2


l3S3 = AS2 + BC2
l3C3 + l2 AC2 + BS2
=
l3S3 AS2 + BC2

Dividiendo el segundo miembro por C2:

l3C3 + l2 A + BT2
=
l3S3 AT2 + B
(l3C3 + l2 )( AT2 + B) = ( A + BT2 )l3S3
(l3C3 + l2 ) B l3S3 A = [l3S3 B + (l3C3 + l2 )A
A]T2
(l3C3 + l2 ) B l3S3 A
T2 =
(l3C3 + l2 ) A + l3S3 B

Dividiendo numerador y denominador por A (l3C3  l2)

B lS
3 3
A l2 + l3C3
T2 =
B lS
1+ 3 3
A l2 + l3C3

Teniendo en cuenta que

Ta Tb
T (a b) =
1 + TaTb

Se obtiene

B l S
T2 = T arctg arctg 3 3
A l2 + l3C3

Con lo que finalmente:

lS
pz l1
q2 = arctg arctg 3 3
2
px + py
2 l2 + l3C3
192 FUNDAMENTOS DE ROBTICA

Las expresiones anteriores permiten obtener q1, q2 y q3 en funcin de los elementos de la


n o a p
matriz , resolviendo el problema cinemtico inverso.
0 0 0 1
Como puede comprobarse, los resultados obtenidos haciendo uso de las matrices de
transformacin homognea, coinciden con los obtenidos por mtodos geomtricos en el
Apartado 4.2.1 con la matizacin que en aqul se tom el origen del sistema de referencia de
la base en el eje de la articulacin 2, mientras que aqu se ha tomado en la base del robot, por
lo que ahora a pz hay que restarle la longitud de la primera barra l1: (pzl1).

Ejercicio 4.7

Resolver el modelo cinemtico inverso del robot de la Figura 4.30 mediante:


1. Procedimientos geomtricos
2. Uso de las matrices de transformacin homognea
3. Uso de la Toolbox de Robtica de MATLAB (tomar para l1 y l2 los valores de 20 y 15
respectivamente).

l2
q2

q3

q1

l1

Figura 4.30. Robot del Ejercicio 4.7.

Solucin

Figura 4.31. Solucin mediante mtodos geomtricos del robot del Ejercicio 4.7.
CAPTULO 4. CINEMTICA DEL ROBOT 193

1. Resolucin mediante mtodos geometricos:

De la figura se obtiene:

r 2 = px2 + py2

ngulo q1:

py
q1 = arctg
px

Distancia q3:

r 2 + ( pz l1 )2 = l22 + q32

q3 = px2 + py2 + ( pz l1 )2 l22

ngulo q2:

T T
q2 = T2 = T ( ) =
1 + T T

Siendo

pz l1
T =
r
q3
T =
l2

Con lo que:

pz l1 q3

r l2 ( p l )l rq3
T2 = = z 1 2
pz l1 q3 rl2 + ( pz l1 )q3
1+
r l2
( p l )l p2 + p2 q
z 1 2 x y 3
q2 = arctg
px2 + py2 l2 + ( pz l1 )q3

2. Para resolver el problema cinemtico inverso mediante el uso de las matrices de


transformacin homognea se segirn los pasos siguientes:
194 FUNDAMENTOS DE ROBTICA

Obtencin de los parmetros de Denavit-Hartenberg.


Obtencin de las matrices i1Ai y sus inversas as como de la matriz T.
Obtencin consecutiva de las expresiones de las coordenadas articulares en funcin de
la matriz de localizacin del extremo del robot.

Se desarrollan a continuacin estos pasos:

z3
y3

x3

y1 z2
y2

x1 x2
z1

z0 y0

x0

Figura 4.32. Sistemas de D-H para el robot de Ejercicio 4.7.

Tabla 4.13. Parmetros de D-H para el robot de Ejercicio 4.7


Articulacin d a
1 q1 l1 0 /2
2 q2 0 l2 /2
3 0 q3 0 0

C1 0 S1 0 C1 S1 0 0
S 0 C1 0 0 0 1 l1
A1 = A0 =
0 1 1
;
0 1 0 l1 S1 C1 0 0

0 0 0 1 0 0 0 1
C2 0 S2 l2 C2 C2 S2 0 l2
S 0 C2 l2 S2 0 0 1 0
A2 = A1 =
1 2 2
;
0 1 0 0 S2 C2 0 0

0 0 0 1 0 0 0 1
CAPTULO 4. CINEMTICA DEL ROBOT 195

1 0 0 0 1 0 0 0
0 1 0 0 0 1 0 0
2
A3 = ; 3
A2 =
0 0 1 q3 0 0 1 q3

0 0 0 1 0 0 0 1
C1C2 S1 C1S2 C1S2 q3 + C1C2 l2
S C C1 S1S2 S1S2 q3 + S1C2 l2
T = 0 A1 1 A2 2 A3 =
1 2
S2 0 C2 C2 q3 + S2 l2 + l1

0 0 0 1

nx ox ax px
n oy ay py
A 2 2 A3 = 1 A 0
1 y
nz oz az pz

0 0 0 1

C2 0 S2 l2 C2 1 0 0 0 C1 S1 0 0 nx ox ax px

S2 0 C2 l2 S2 0 1 0 0 0 0 1 l1 ny oy ay py
=
0 1 0 0 0 0 1 q3 S1 C1 0 0 nz oz az pz

0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1

C2 0 S2 S2 q3 + C2 l2 C1nx + S1ny C1ox + S1oy C1ax + S1ay C1 px + S1 py


S 0 C2 C2 q3 + S2 l2 nz oz az pz l1
2 =
0 1 0 0 S1nx C1ny S1ox C1oy S1ax C1ay S1 px C1 py

0 0 0 1 0 0 0 1

Tomando el elemento (3,4) se tiene:

py py
0 = S1 px C1 py T1 = q1 = arctg
px px

Tomando los elementos (1,4) y (2,4) se tiene:

S2 q3 + C2 l2 = C1 px + S1 py

C2 q3 + S2 l2 = ( pz l1 )

Sistema de 2 ecuaciones con 2 incgnitas (q2 y q3) que es preciso resolver, para ello se lla-
mar:

A = C1 px + S1 py
B = pz l1
196 FUNDAMENTOS DE ROBTICA

Y puesto que:

A2 = (C1 px + S1 py )2 = C12 px2 + S12 py2 + 2C1S1 px py

= (1 S12 ) px2 + (1 C12 ) py2 + 2C1S1 px py

= S12 px2 C22 py2 + 2C1S1 px py + px2 + py2

= (S1 px C1 py )2 + px2 + py2

= px2 + py2

Donde se ha tenido en cuenta que S1 px  C1 p1  0.


Se tiene, por tanto, que:

A = C1 px + S1 py = px2 + py2
B = pz l1

Ambos valores, A y B, son, por tanto, conocidos en funcin de los datos px, py, pz, pu-
dindose entonces escribir el sistema de ecuaciones como:

S2 q3 + C2 l2 = A

C2 q3 + S2 l2 = B
Para despejar q3, se elevar al cuadrado y se sumarn ambas ecuaciones, obtenindose:

S22 q32 + C22 l22 2S2 C2 q3l1 + C22 q32 + S22l12 + 2S2C2 q3l1 = A2 + B2
q32 + l22 = A2 + B2

q3 = A2 + B2 l22 = ( px2 + py2 ) + ( pz2 l1 )2 l22

Para obtener q2 y tratando de que sta se exprese en trminos de arctg, se obtendr de la


segunda de las ecuaciones del sistema:

B C2 q3
S2 =
l2
B S2 l2
C2 =
q3

Y sustituyendo S2 en la primera:

B C2 q3
q3 + C2 l2 = A Bq3 + C2 q32 + C2 l22 = Al2
l2
Al2 + Bq3
C2 =
q32 + l22
CAPTULO 4. CINEMTICA DEL ROBOT 197

De la misma manera sustituyendo C2 en la primera ecuacin del sistema:

B S2l2
S2 q3 + l2 = A Bl2 S2 l22 S2 q32 = Aq3
q3
Bl2 Aq3
S2 =
q32 + l22

Dividiendo las expresiones de S2 y C2, se obtiene:

S2 Bl2 Aq3 ( pz l1 ) l2 q3 px + py
2 2

T2 = = =
C2 Bq3 + Al2 ( p l ) q + l p2 + p2
z 1 3 2 x y

( p l ) l q p2 + p2
z 1 2 3 x y
q2 = arctg
( pz l1 ) q3 + l2 px + py2
2

Los valores obtenidos mediante el uso de las matrices de transformacin homognea para
las coordenadas articulares q1, q2 y q3 coinciden con los obtenidos por procedimientos geo-
mtricos.

3. La Toolbox de Robtica de MATLAB dispone de la funcin ikine que mediante mto-


dos iterativos, resuelve el problema cinemtico inverso de un robot. Debe considerarse que
por utilizar un algoritmo iterativo y no una solucin cerrada (como sera la utilizacin de las
formulas antes encontradas) puede en ocasiones tardar en converger a una solucin o incluso
no converger y en el caso de haber soluciones mltiples proporcionar una de ellas, sin que se
pueda seleccionar cul.
Se toman los valores siguientes: l1  20 y l2  15
La secuencia de comandos Matlab sera la siguiente:

l1=20
l2 =15
L1=link([pi/2,0,0,l1,0,0])
L2=link([pi/2,l2,0,0,0,0])
L3=link([0,0,0,0,1,0])
Rej_4_7=robot({L1,L2,L3})
drivebot(Rej_4_7)
NOAP1=fkine(Rej_4_7,[0 0 0])
ikine(Rej_4_7,NOAP1,[0 0 0],[1 1 1 0 0 0])
NOAP2=fkine(Rej_4_7,[0 pi 20])
ikine(Rej_4_7,NOAP2,[0 0 0],[1 1 1 0 0 0])

Donde se ha utilizado, complementariamente, la funcin drivebot que ayuda a comprobar


la correcta definicin del robot y la funcin fkine que permite verificar el correcto resultado
de la funcin ikine para los diferentes valores.
La funcin ikine resuelve el problema cinemtico inverso mediante mtodos iterativos y
precisa, adems del nombre del robot (Rej_4_7) y de la matriz de transformacin homognea
198 FUNDAMENTOS DE ROBTICA

que define la localizacin del robot (NOAP1 y NOAP2 en el ejemplo), definir optativa-
mente el punto inicial para la iteracin (se ha tomado [0 0 0] en ambos casos) y para el caso,
como el presente, en que el robot tenga menos de 6 grados de libertad, aquellos valores en el
espacio cartesiano que sern utilizados (vase la ayuda de la funcin ikine en Matlab), que en
este caso son x,y,z.
Puede comprobarse que dependiendo del valor inicial a tomar, la funcin ikine puede dar
valores diferentes:

>> ikine(Rej_4_7,NOAP1,[pi 0 0],[1 1 1 0 0 0])

O incluso no converger:

>> ikine(Rej_4_7,NOAP1,[0 pi 0],[1 1 1 0 0 0])

Puede probarse, asimismo, la combinacin de expresiones fkine, ikine para diferentes va-
lores. En particular, se puede observar cmo las coordenadas articulares correspondientes a
los puntos situados sobre el eje z son independientes del valor q1, es decir, en estas condi-
ciones el grado de libertad q1 no contribuye a posicionar el extremo del robot. Obsrvese, que
para estas situaciones (px  py  0) la expresin obtenida en los apartados 1 o 2 para q1, que-
da indeterminada. Las configuraciones en cuestin corresponden a puntos singulares.

Ejercicio 4.8

Resolver el modelo cinemtico inverso para el robot de 6 GDL de la Figura 4.33.

l2 l3 l4 l5 l6

l1

Figura 4.33. Robot de 6 GDL del Ejercicio 4.8.

Solucin

Se utilizar el desacoplamiento cinemtico, posicionando la mueca del robot mediante


los 3 primeros GDL y posteriormente encontrando los 3 ltimos grados de libertad en funcin
de la orientacin deseada del extremo.
Se comenzar obteniendo la tabla de parmetros de Denavith Hartenberg.
CAPTULO 4. CINEMTICA DEL ROBOT 199

y1 y2 x4 x6
x2 y4 pm
x1 z6

z1 z2 z4 y6
x3 x5

z5
z3
y3 y5
z0 y0

x0
Figura 4.34. Sistemas de referencia de D-H para el robot del Ejercicio 4.8.

Tabla 4.14. Parmetros de D-H para el robot del Ejercicio 4.8


Articulacin d a
1 q1 l1 0 /2
2 q2 0 l2 0
3 q3 + /2 0 0 /2
4 q4 l3 + l4 0 /2
5 q5 0 0 /2
6 q6 l5 + l6 0 0

El centro de la mueca pm es el punto de corte de los ejes z4, z5 y z6 que coincide en este
caso con el origen del sistema {S5}:O5. Es importante observar que el movimiento de los 3 l-
timos grados de libertad q4, q5 y q6 no afecta a la posicin de pm.
Se desea localizar el extremo del robot en:

nx ox ax px
n oy ay py
T = 0 A6 =
y
nz oz az pz

0 0 0 1

Siendo esta matriz el dato de partida.


La posicin del extremo del robot p, se puede obtener trasladando el centro de la mueca
pm una distancia l5  l6 a lo largo del eje z5 que coincide con z6. Es decir:
200 FUNDAMENTOS DE ROBTICA

pm = p (l5 + l6 ) z6
pmx px (l5 + l6 ) ax

pmy = py (l5 + l6 ) ay
pmz pz (l5 + l6 ) az

Por tanto, es posible conocer pm en funcin de T (vectores p y a). Se trata ahora de en-
contrar los valores de q1, q2 y q3 que consiguen posicionar la mueca en pm. Para ello se con-
sidera al robot mostrado en la Figura 4.35, formado nicamente por los tres primeros grados
de libertad.

l2 l3+l4

pm
l1

Figura 4.35. Primeros tres grados de libertad del robot del Ejercicio 4.8.

La cinemtica inversa de este robot ha sido resuelta en el Apartado 4.2.1 mediante mto-
dos geomtricos y en el Ejercicio 4.6 mediante matrices de transformacin homognea. En
aquellos casos la longitud del ultimo eslabn era l3, mientras aqu es l3  l4.
Asimismo, como ocurra en el robot del Ejercicio 4.6, el sistema {S0}, se toma en la base
del robot a diferencia del robot del Apartado 4.2.1, por lo que la pz en este caso vale (pmzl1).
Debe considerarse que en este robot, el grado de libertad 4 no modifica la posicin de pm,
por lo que no se representa aun cuando se tiene en cuenta la longitud de la barra l4.
La cinemtica inversa de este robot viene data por las relaciones [4.30] [4.33] [4.36], con
las salvedades antes realizadas sobre pz y l3

pmy
q1 = arctg
pmx
1 cos2 q
3
q3 = arctg
cos q3
2
pmx + pmy
2
+ ( pmz l1 )2 l22 (l3 + l4 )2
con cos q3 =
2l2 (l3 + l4 )
CAPTULO 4. CINEMTICA DEL ROBOT 201

(l3 + l4 ) sen q3
pmz l1
q2 = arctg arctg
p2mx +p2my l2 + (l3 + l4 ) cos q3

Resueltos los 3 primeros grados de libertad, se resolvern los siguientes. Para ello se debe
considerar que las orientaciones de los sistemas {S6} y {S3} vienen relacionados por:

0
R6 = 0 R3 3 R6
3
R 6 = ( 0 R 3 ) 1 0 R 6 = 0 R 3T 0 R 6

La matriz 0R6 es la submtariz de rotacin de la matriz T y, por tanto, es conocida

nx ox ax

0
R 6 = ny oy ay
nz oz az

La matriz 0R3 puede obtenerse a partir de las matrices 0R1, 1R2 y 2R3, submatrices de ro-
tacin de 0A1, 1A2 y 2A3, tomando los valores:

C1 0 S1 C2 S2 0 S3 0 C3
1
0
R1 = S1 0 C1 ; R 2 = S2 C2 0 ; 2
R 3 = C3 0 S3
0 1 0 0 0 1 0 1 0

Resultando

C1S23 S1 C1C23

0
R 3 = R1 R 2
0 1 2
R 3 = S1S23 C1 S1C23
C23 0 S23

Con lo que

C1S23 S1S23 C23


1
( R 0 ) = ( R3 ) =
3 0 0
R 3T = S1 C1 0
C1C23 S1C23 S23

Por ltimo, la matriz 3R6 ser funcin de q4, q5 y q6 y se obtendr a partir de los parme-
tros de Denavith-Hartenberg por:

3
R6 = 3 R 4 4 R 5 5 R6
202 FUNDAMENTOS DE ROBTICA

Siendo

C4 0 S4 C5 0 S5 C6 S6 0

3
R 4 = S4 0 C4 ; 4
R 5 = S5 0 C5 ; 5
R 6 = S6 C6 0
0 1 0 0 1 0 0 0 1

C4 C5C6 S4 S6 C4 C5 S6 S4 C6 C4 S5

3
R 6 = 3 R 4 4 R 5 5 R 6 = S4 C5C6 + C4 S6 S4 C5 S6 + C4 C6 S4 S5
S5C6 S5 S6 C5

Obtenidas por tanto las expresiones de 0R3T y 0R6, como datos conocidos y la de 3R6 en
funcin de q4, q5, q6 se tendr que la expresin 3R6  (0R3)T. 0R6 proporciona 9 ecuaciones
con 3 incgnitas.

C4 C5C6 S4 S6 C4 C5 S6 S4 C6 C4 S5 C1C23 S1S23 C23 nx ox ax



S4 C5C6 + C4 S6 S4 C5 S6 + C4 C6 S4 S5 = S1 C1 0 ny oy ay
S5C6 S5 S6 C5 C1C23 S1C23 S23 nz oz az

Se van a usar en primer lugar las ecuaciones correspondientes a la ltima columna y, pos-
teriormente, las que corresponden con la ltima fila:

C4 S5 = C1S23ax S1S23ay + C23az


S4 S5 = S1ax C1ay
C5 = C1C23ax + S1C23ay + S23az

De la tercera es posible obtener q5, que usando la expresin del arcotangente toma como
valor:

1 C52
q5 = arctg
C5

Con
C5  C1C23ax  S1C23ay  S23az

Dividiendo ahora la segunda ecuacin entre la primera se obtiene

S1ax C1ay
q4 = arctg
C1S23ax S1S23ay + C23az

Se toman ahora las ecuaciones correspondientes a la ltima fila resultando:

S5C6 = C1C23nx + S1C23ny + S23nz


S5 S6 = C1C23ox + S1C23oy + S23oz
CAPTULO 4. CINEMTICA DEL ROBOT 203

Dividiendo la segunda entre la primera se obtiene:

(C1C23ox + S1C23oy + S23oz )


q6 = arctg
C1C23nx + S1C23ny + S23nz

Es importante considerar que estos valores obtenidos para q4 y q6 son slo vlidos si q5 0.
En caso contrario (q5  0) se tiene que

C46 S46 0

3
R 6 = S46 C46 0
0 0 1

Resultando inservibles las ecuaciones procedentes de la ltima fila y la ltima columna


antes usadas.
Al tratar de usar las 4 ecuaciones restantes (trminos de 3R6 donde aparecen q4 y q6) se en-
cuentra que en todas ellas aparecen q4 y q6 sumados, por tanto, slo ser posible obtener la ex-
presin de la suma (q4  q6). Es decir, habr infinitas soluciones correspondientes a que q4  q6
tomen un valor concreto. Para resolver el modelo cinemtico inverso ser preciso fijar arbitra-
riamente uno de los 2 grados de libertad.
Esta situacin (q5  0) corresponde a un punto singular y en l desaparece un grado de li-
bertad, pues q4 y q6 consiguen el mismo efecto.

Ejercicio 4.9

Obtener la matriz Jacobiana geomtrica mediante la propagacin de las velocidades del


robot cilndrico de la Figura 4.36.

d3 l4

q4
d2
q1

l1

Figura 4.36. Robot cilndrico del Ejercicio 4.9.


204 FUNDAMENTOS DE ROBTICA

Solucin

Este robot coincide con el del Ejemplo 4.2 (Figura 4.6), para el que se obtuvo:

C1 S1 0 0 0 0 1 0
S C1 0 0 1 0 0 0
A1 = A2 =
0 1 1
0 0 1 l1 0 1 0 d2

0 0 0 1 0 0 0 1
1 0 0 0 C4 S4 0 0
0 1 0 0 S C4 0 0
A3 = A4 =
2 3 4
0 0 1 d3 0 0 1 l4

0 0 0 1 0 0 0 1

De donde se obtienen las matrices 0Ai0A1 i1Ai

S1 0 C1 0 S1 0 C1 C1d3
C 0 S1 0 C 0 S S1d3
A2 = A3 =
0 1 0 1 1
;
0 1 0 l1 + d2 0 1 0 l1 + d2

0 0 0 1 0 0 0 1
S1C4 S1C4 C1 C1 (l4 + d3 )
CC C1S4 S1 S1 (ll4 + d3 )
A4 =
0 1 4
S4 C4 0 l1 + d2

0 0 0 1

Se obtienen a partir de ellas los vectores 0zi y ipn , segn [4.72] y [4.73] y sus productos
vectoriales (slo q1 y q4 corresponden a rotaciones):
0
z0  [0 0 1]T; 0z1  [0 0 1]T; 0z2  [C1 S1 0]; 0z3  [C1 S1 0]

C1 (l4 + d3 ) C1 (l4 + d3 ) 0 C1 (l4 + d3 )



0
p4 = S1 (l4 + d3 ) ; 1 p4 = S1 (l4 + d3 ) 0 = S1 (l4 + d3 )
l1 + d2 l1 + d2 l1 d2

C1 (l4 + d3 ) 0 C1 (l4 + d3 )

2
p4 = S1 (l4 + d3 ) 0 = S1 (l4 + d3 )
l1 + d2 l1 + d2 0

C1 (l4 + d3 ) C1d3 C1l4



3
p4 = S1 (l4 + d3 ) S1d3 = S1l4
l1 + d2 l1 + d2 0
CAPTULO 4. CINEMTICA DEL ROBOT 205

S1 (l4 + d3 )

0
z 0 p4 = C1 (l4 + d3 )
0

0

0
z3 p4 = 0
3

De donde se pueden obtener las columnas de la matriz Jacobiana

S1 (l4 + d3 ) 0 C1 0
C (l + d ) 0 S 0
1 4 3 1
0 1 0 0
J1 = ; J 2 = ; J3 = ; J 4 =
0 0 0 C1
0 0 0 S
1
1 0 0 0

Y, por tanto, la matriz Jacobiana ser:

S1 (l4 + d3 ) 0 C1 0
C (l + d ) 0 S1 0
1 4 3
0 1 0 0
J=
0 0 0 C1
0 0 0 S1

1 0 0 0

Ejercicio 4.10

Para el robot esfrico de la Figura 4.37.


1.a) Obtener la expresin de la matriz Jacobiana geomtrica, por derivacin de p y R.
1.b) Obtener la Jacobiana geomtrica y por propagacin de las velocidades.
2) Obtener la Jacobiana analtica derivando directamente las ecuaciones que definen el
modelo cinemtica directo con la orientacin expresada mediante los ngulos de Euler
WVW.
3) Comprobar que el resultado es correcto, obteniendo la Jacobiana geomtrica a partir de
la Jacobiana analtica.
206 FUNDAMENTOS DE ROBTICA

z3 y 3
x3

z2 y2 q2 q3
x2 y1
x1
z1

l1
q1

z0 y0
x0
Figura 4.37. Robot esfrico del Ejercicio 4.10.

Solucin

1.a) Jacobiana geomtrica por derivacin de p y R:


Para este robot se tiene la siguiente tabla de parmetros DH y las correspondientes ma-
trices (vase Epgrafe 4.4.2):

Tabla 4.15. Parmetros de D-H para el robot del Ejercicio 4.9


Articulacin d a
1 q1 l1 0 /2
2 q2 0 0 /2
3 0 q3 0 0

C1 0 S1 0 C2 0 S2 0 1 0 0 0
S 0 C1 0 S 0 C2 0 0 1 0 0
A1 = A2 = A3 =
0 1 1 2 2
0 1 0 l1 0 1 0 0 0 0 1 q3

0 0 0 1 0 0 0 1 0 0 0 1
C1C2 S1 C1S2 0 C1C2 S1 C1S2 q3C1S2
S C C1 S1S2 0 S C C1 S1S2 q3S1S2
A2 = T = 0 A3 =
0 1 2 1 2
S2 0 C2 l1 S2 0 C2 q3C2 + l1

0 0 0 1 0 0 0 1
CAPTULO 4. CINEMTICA DEL ROBOT 207

El vector de posicin p es (T (1:3,4))

px q3C1S2

p = py = q3S1S2
pz q3C2 + l1
Derivndole respecto del tiempo se obtiene la expresin de las velocidades lineales:
dx
vx = = x& = p& x = S1S2 q3q&1 C1C2 q3q& 2 C1S2 q& 3
dt
dy
vy = = y& = p& y = C1S2 q3q&1 S1C2 q3q& 2 S1S2 q& 3
dt
dz
vz = = z& = p& z = S2 q3q& 2 + C2 q& 3
dt
Por lo que la submatriz de la Jacobiana correspondiente a las velocidades lineales es:

S1S2 q3 C1C2 q3 C1S2



J v = C1S2 q3 S1C2 q3 S1S2
0 S2 q3 C2
Para obtener la parte de la Jacobiana correspondiente a la velocidad angular se considera
la submatriz de rotacin de T:

C1C2 S1 C1S2

R = S1C2 C1 S1S2
S2 0 C2
Y su derivada con respecto del tiempo:

S1C2 C1 S1S2 C1S2 0 C1C2


& &
R = C1C2 S1 C1S2 q1 + S1S2 0 S1C2 q& 2
0 0 0 C2 0 S2

Con lo que la matriz , vendr dada por:

0 -wz wy

= wz 0 -wx = R& R T =
-wy wx 0

S1C2 C1 S1S2 C1C2 S1C2 S2 C1S2 0 C1C2 C1C2 S1C2 S2
&
= C1C2 S1 C1S2 . S1 C1 0 q1 + S1S2 0 S1C2 SS1 C1 0 q& 2 =
0 0 0 C1S2 S1S2 C2 C2 0 S2 C1S2 S1S2 C2

0 1 0 0 0 C1 0 q&1 C1q& 2
& & &
= 1 0 0 q1 + 0 0 S1 q2 = q1 0 S1q& 2
0 0 0 C1 S1 0 C1q& 2 S1q& 2 0
208 FUNDAMENTOS DE ROBTICA

Y por tanto:

wx = S1q& 2
wy = C1q& 2
wz = q&1

Siendo, por tanto, Jw:

0 S1 0

J w = 0 C1 0
1 0 0

Con lo que la matriz Jacobiana toma en su conjunto la forma:

S1S2 q3 C1C2 q3 C1S2


C S q S1C2 q3 S1S2
1 2 3
0 S2 q3 C2
J=
0 S1 0
0 C1 0

1 0 0

Nota: Puede hacerse uso de MATLAB para realizar los clculos anteriores. En concreto la
secuencia de comandos siguiente obtiene el vector w:

%Obtencion del vector de velocidades angulares w =(wx,wy,wz)


syms q1 q2 q3 l1 qp1 qp2 qp3 real;
R =[ cos(q1)*cos(q2), -sin(q1), -cos(q1)*sin(q2)
sin(q1)*cos(q2), cos(q1), -sin(q1)*sin(q2)
sin(q2), 0, cos(q2)];
Rp1=diff(R,q1);
Rp2=diff(R,q2);
Rp3=diff(R,q3);

Omega1=simple(Rp1*R');
Omega2=simple(Rp2*R');
Omega3=simple(Rp3*R');

Omega=Omega1*qp1+Omega2*qp2+Omega3*qp3
wx=Omega(3,2)
wy=Omega(1,3)
wz=Omega(2,1)
CAPTULO 4. CINEMTICA DEL ROBOT 209

1.b Jacobiana geomtrica por propagacin de las velocidades.


Se va ahora ha obtener la matriz Jacobiana mediante el mtodo de propagacin de las ve-
locidades expuesto en 4.3.3.
De las matrices 0Ai se obtienen los vectores 0zi y ipn:

0
zi = 0 Ai [1 : 3, 3] ; i pn = 0 A n [1 : 3, 4 ] 0 Ai [1 : 3, 4 ]

z 0 = 0 A 0 [1 : 3, 3] = [ 0, 0, 1]
0 T

z1 = 0 A1 [1 : 3, 3] = [ S1 , C1 , 0 ]
0 T

z 2 = 0 A 2 [1 : 3, 3] = [ C1S2 , S1S2 , C2 ]
0 T

p3 = 0 A3 [1 : 3, 4 ] 0 A 0 [1 : 3, 4 ] = q3C1S2 , q3S1S2 , q3C2 + l1


0 T

p3 = 0 A3 [1 : 3, 4 ] 0 A1 [1 : 3, 4 ] = q3C1S2 , q3S1S2 , q3C2


1 T

p3 = 0 A3 [1 : 3, 4 ] 0 A 2 [1 : 3, 4 ] = q3C1S2 , q3S1S2 , q3C2


2 T

Y a partir de stas se obtiene las columnas de la matriz Jacobiana J  [J1 | J2 | J3] con

0 z i1 p
i1 n

Si el eslabn i es de rotacin
0
z i1

Ji =

0 z i1

Si el eslabn i es de traslacin
0

Siendo en este caso:


Columna J1:

i j k q3S1S2

0
z 0 p3 =
0
0 0 1 = q3C1S2
q3C1S2 q3S1S2 q3C2 + l1 0

Con lo que

q3S1S2
q C S
3 1 2
0
J1 =
0
0

1
210 FUNDAMENTOS DE ROBTICA

Columna J2:

i j k C1C2 q3

0
z1 p3 =
1
S1 C1 0 = S1C2 q3
q3C1S2 q3S1S2 q3C2 q3S2
Con lo que:

C1C2 q3
S C q
1 2 3
q3S2
J2 =
S1
C1

0
Columna J3:
Obsrvese que este grado de libertad es de traslacin, por lo que

C1S2
S S
1 2
C2
J3 =
0
0

0

Resultando finalmente que la Jacobiana es:

q3S1S2 C1C2 q3 C1S2


q C S S1C2 q3 S1S2
3 1 2
0 q3S2 C2
J=
0 S1 0
0 C1 0

1 0 0
Idntico resultado al obtenido derivando p y R y que define la relacin entre las veloci-
dades articulares y las velocidades lineal y angular del extremo del robot, expresadas en los
ejes del sistema de la base, de modo que:

v& x
v&
y q&1
v&z
= J q& 2
w
x&
q& 3
w& y

w& z
CAPTULO 4. CINEMTICA DEL ROBOT 211

Los clculos anteriores pueden ser realizados con ayuda de MATLAB, mediante la si-
guiente secuencia de comandos:

%Obtencion de la Jacobiana por propagacin de las velocidades


syms q1 q2 q3 l1 real;
A00=sym(eye(4));
A01 =[cos(q1),0,sin(q1),0;sin(q1),0,-cos(q1),0;0,1,0,l1;0,0,0,1];
A12 =[cos(q2),0,-sin(q2),0;sin(q2),0,cos(q2),0;0,-1,0,0;0,0,0,1];
A23=sym(eye(4)); A23(3,4)=q3;
A02=A01*A12; A03=A02*A23;
z00=A00(1:3,3);
z01=A01(1:3,3);
z02=A02(1:3,3);

p03=A03(1:3,4)-A00(1:3,4);
p13=A03(1:3,4)-A01(1:3,4);
p23=A03(1:3,4)-A02(1:3,4);

J1=simple([cross(z00,p03);z00])
J2=simple([cross(z01,p13);z01])
J3=simple([z02;0; 0; 0])

J=[J1 J2 J3]

2. Jacobiana analtica

Se obtendr a continuacin la Jacobiana analtica derivando el modelo cinemtico directo,


estando ste expresado como:

x = fx (q1 , , qn ) y = fy (q1 , , qn ) z = fz (q1 , , qn )


= f (q1 , , qn ) = f (q1 , , qn ) = f (q1 , , qn )

En este caso, las expresiones de la posicin (x, y, z) son directamente el vector p de la ma-
triz T, que tal y como se ha expresado anteriormente

px q3C1S2

p = py = q3S1S2
pz q3C2 + l1

Los ngulos de Euler WVW (, , ), deben obtenerse a partir de la submatriz de rota-


cin, teniendo en cuenta que sta vale:

CC C S S CC S SC C S

R = Rotz ( ) Roty ( ) Rotz ( ) = SC C + C S SC S + CC S S
S C S S C
212 FUNDAMENTOS DE ROBTICA

Por tanto, al ser en este caso

C1C2 S1 C1S2

R = S1C2 C1 S1S2
S2 0 C2

Se tendr que:

= q1
= q2
=0

Obsrvese que tambin sera vlido:

= q1 +
= q2
=

Por tanto, en conjunto se tiene que el modelo cinemtico directo viene recogido en las
ecuaciones:

x = q3C1S2
y = q3S1S2
z = q3C2 + l1
= q1
= q2
=0

Derivando estas expresiones se obtiene:

x& = S1S2 q3q&1 C1C2 q3q& 2 C1S2 q& 3


y& = C1S2 q3q&1 S1C2 q3q& 2 S1S2 q& 3
z& = S2 q3q& 2 + C2 q& 3
& = q&1
& = q& 2
& = 0
CAPTULO 4. CINEMTICA DEL ROBOT 213

Y por tanto, la Jacobiana analtica ser

q3S1S2 C1C2 q3 C1S2


q C S S1C2 q3 S1S2
3 1 2
0 q3S2 C2
Ja =
1 0 0
0 1 0

0 0 0

3. Obtencin de la Jacobiana geomtrica a partir de la analtica.

Por ltimo, se va a obtener la Jacobiana geomtrica a partir de la analtica utilizando de la


relacin [4.76].
Se comenzar obteniendo la matriz Q, definida por [4.77]

0 S C S 0 S1 C1S2

Q = 0 C S S = 0 C1 S1S2
1 0 C 1 0 C2

Donde se han tenido en cuenta los valores obtenidos para los ngulos de Euler:

= q1 ; = q2 ; = 0

Entonces la relacin entre ambas Jacobianas viene dada por [4.76], siendo:

1 0 0 0 0 0 q3S1S2 C1C2 q3 C1S2


0 1 0 0 0 0 q3C1S2 S1C2 q3 S1S2

I 0 0 0 1 0 0 0 0 q3S2 C2
J= Ja = . =
0 Q 0 0 0 0 S1 C1S2 1 0 0
0 0 0 0 C1 S1S2 0 1 0

0 0 0 1 0 C2 0 0 0
q3S1S2 C
C1C2 q3 C1S2
q C S S1C2 q3 S1S2
3 1 2
0 q3S2 C2
=
0 S1 0
0 C1 0

1 0 0

Que como se observa, coincide con el valor de la Jacobiana geomtrica obtenido en los
apartados anteriores.
214 FUNDAMENTOS DE ROBTICA

4.5. BIBLIOGRAFA
[CORKE-96] P. I. Corke, A Robotics Toolbo for Matlab, IEEE Robotics & Automation Ma-
gazine, vol. 3. n.o 1, marzo, 1996
[DENAVIT-55] J. Denavit y R. S Hartenberg, A Kinematic Notation for Lower-Pair Mecha-
nisms Based on Matrices, Journal of Applied Mechanics, junio 1955.
[FU-88] K. S. Fu et al., Cinemtica del brazo del robot, en: Robtica. Control, deteccin,
visin e inteligencia, McGraw-Hill, Madrid, 1988.
[GOLDENBERG-85] A. A. Goldenberg, B. Benhabib y R. G. Fenton, A complete generalized
solution to the inverse kinematics of robots, IEEE Journal of Robotics and Automation,
RA-1, 1, 1985.
[ORIN-84] D. E Orin y W. W. Schrader, Eficcient Jacobian Determination for Robot Mani-
pulators, en Robotics Research. The first International Symposium. MIT Press, Massa-
chusetts, 1984.
[PAUL-81] R. P. Paul, Robot Manipulators: Mathematics, Programming and Control, The
MIT Press, Massachusetts, 1981.
[SPONG-06] Mark W. Spong, Seth Hutchinson, M. Vidyasagar, Robot Modeling and Control,
John Wiley & Sons, Ltd, 2006.
CAPTULO 5
Dinmica del robot

Djole el perro al hueso: Si tu eres duro, yo tengo tiempo


Refranero popular

La dinmica se ocupa de la relacin entre las fuerzas que actan sobre un cuerpo y el movi-
miento que en l se origina. Por tanto, el modelo dinmico de un robot tiene por objetivo co-
nocer la relacin entre el movimiento del robot y las fuerzas implicadas en el mismo.
Esta relacin se obtiene mediante el denominado modelo dinmico, que establece la re-
lacin matemtica entre:

1. La localizacin del robot definida por sus variables articulares o por las coordenadas de
localizacin de su extremo, y sus derivadas: velocidad y aceleracin.
2. Las fuerzas y pares aplicados en las articulaciones (o en el extremo del robot).
3. Los parmetros dimensionales del robot, como longitud, masas e inercias de sus ele-
mentos.

La obtencin de este modelo para mecanismos de uno o dos grados de libertad no es ex-
cesivamente compleja, pero a medida que el nmero de grados de libertad aumenta, el plan-
teamiento y obtencin del modelo dinmico se complica enormemente. Por este motivo no
siempre es posible obtener un modelo dinmico expresado de una forma cerrada, esto es, me-
diante una serie de ecuaciones, normalmente de tipo diferencial de 2.o orden, cuya integracin
permita conocer qu movimiento surge al aplicar unas fuerzas o qu fuerzas hay que aplicar
para obtener un movimiento determinado. El modelo dinmico debe ser resuelto entonces de
manera iterativa mediante la utilizacin de un procedimiento numrico.
El problema de la obtencin del modelo dinmico de un robot es, por tanto, uno de los as-
pectos ms complejos de la robtica, lo que ha llevado a ser obviado en numerosas ocasiones.
Sin embargo, el modelo dinmico es imprescindible para conseguir los siguientes fines:

1. Simulacin del movimiento del robot.


2. Diseo y evaluacin de la estructura mecnica del robot.
3. Dimensionamiento de los actuadores.
4. Diseo y evaluacin del control dinmico del robot.

Este ltimo fin es evidentemente de gran importancia, pues de la calidad del control di-
nmico del robot depende la precisin y velocidad de sus movimientos. La gran complejidad
ya comentada existente en la obtencin del modelo dinmico del robot, ha motivado que se
realicen ciertas simplificaciones, de manera que pueda as ser utilizado no slo en el diseo

215
216 FUNDAMENTOS DE ROBTICA

del controlador, sino tambin en lnea con el control, cuando as lo requiera la tcnica de con-
trol empleada.
Es importante hacer notar que el modelo dinmico completo de un robot debe incluir no
slo la dinmica de sus elementos (barras o eslabones) sino tambin la propia de sus sistemas
de transmisin, de los actuadores y sus equipos electrnicos de mando. Estos elementos in-
corporan al modelo dinmico nuevas inercias, rozamientos, saturaciones de los circuitos
electrnicos, etc., aumentando an ms su complejidad.
Por ltimo, es preciso sealar que si bien en la mayor parte de las aplicaciones reales de
la robtica, las cargas e inercias manejadas no son suficientes como para originar defor-
maciones en los eslabones del robot, en determinadas ocasiones no ocurre as, siendo pre-
ciso considerar al robot como un conjunto de eslabones no rgidos. Aplicaciones de este tipo
pueden encontrarse en la robtica espacial o en robots de grandes dimensiones, entre
otras. Un estudio del modelado de robots con estas caractersticas puede encontrarse en
[AMARIS-95] y [FELIU-06]
Este captulo presta atencin a la obtencin del modelo dinmico de robots de eslabones
rgidos, realizndose posteriormente algunas consideraciones sobre la dinmica de los ac-
tuadores ms habituales en robtica.

5.1. MODELO DINMICO DE LA ESTRUCTURA MECNICA


DE UN ROBOT RGIDO
La obtencin del modelo dinmico de un mecanismo, y en particular de un robot, se basa fun-
damentalmente en el planteamiento del equilibrio de fuerzas establecido en la segunda ley de
Newton, o su equivalente para movimientos de rotacin, la denominada ley de Euler:

F = dtd (mv )
[5.1]
d
T = (I ) = I & + ( I )
dt

As, en el caso simple de un robot monoarticular como el representado en la Figura 5.1, el


equilibrio de fuerzas-pares dara como resultado la ecuacin:

d 2
MgLcos = I
dt 2 [5.2]
2 &&
=ML +MgLcos

En donde se ha supuesto que toda la masa se encuentra concentrada en el centro de gra-


vedad del elemento, que no existe rozamiento alguno y que no se manipula ninguna carga.
Para un par motor determinado,. la integracin de la Ecuacin [5.2] dara lugar a la ex-
presin de (t) y de sus derivadas (t) y (t), con lo que sera posible conocer la evolucin
de la coordenada articular del robot y de su velocidad y aceleracin.
De forma inversa, si se pretende que (t) evolucione segn una determinada funcin del
tiempo, sustituyendo en [5.2] podra obtenerse el par (t) que sera necesario aplicar. Si el ro-
bot tuviese que ejercer alguna fuerza en su extremo, ya sea al manipular una carga o, por
CAPTULO 5. DINMICA DEL ROBOT 217

ejemplo, realizar un proceso sobre alguna pieza, bastara con incluir esta condicin en la
Ecuacin [5.2] y proceder del mismo modo.
Se tiene as, que del planteamiento del equilibrio de fuerzas y pares que intervienen sobre
el robot se obtienen los denominados modelos dinmicos directo e inverso:

Modelo dinmico directo: expresa la evolucin temporal de las coordenadas articula-


res del robot en funcin de las fuerzas y pares que intervienen (t)  f( (t)).
Modelo dinmico inverso: determina las fuerzas y pares necesarios para conseguir una
evolucin de las coordenadas articulares determinada (t)  g( (t)).

El planteamiento del equilibrio de fuerzas en un robot real de 5 o 6 grados de libertad, es


mucho ms complicado que el ejemplo de la Figura 5.1. Debe tenerse en cuenta que junto con
las fuerzas de inercia y gravedad, aparecen fuerzas centrpetas debido a la rotacin y fuerzas
de Coriolis, ocasionadas por el movimiento relativo existente entre los diversos elementos,
que dependen de la configuracin instantnea del manipulador.
Como planteamiento alternativo para la obtencin del modelo se puede usar la formula-
cin Lagrangiana, basada en consideraciones energticas. Este planteamiento es ms siste-
mtico que el anterior, y por tanto, facilita enormemente la formulacin de un modelo tan
complejo como el de un robot.

L
M

Figura 5.1. Modelo de eslabn con masa concentrada.

La formulacin Lagrangiana establece la ecuacin:

 = Ec E p
d   [5.3]
i =
dt q&i qi

Con

: Funcin Lagrangiana.
Ec: energa cintica.
Ep: energa potencial.
qi: coordenadas generalizadas (en este caso las articulares).
i: fuerza o pares aplicado sobre el grado de libertad qi.
218 FUNDAMENTOS DE ROBTICA

En el caso del robot monoarticular de la Figura 5.1 se tendra:

1 &2
Ec = I [5.4]
2

donde I  ML2.

Adems:
E p = Mgh = MgLsen [5.5]
luego:
1
 = Ec Ep = ML2& 2 MgLsen [5.6]
2


= MgLcos


= ML2& [5.7]
&

d 
= ML2&&
dt &

y sustituyendo en [5.3] se obtiene:

= ML2&& + MgLcos [5.8]

ecuacin que coincide con la [5.2].


Aunque, para el caso simple del ejemplo, la obtencin del modelo mediante la formula-
cin Lagrangiana ha resultado ms tediosa que mediante la formulacin Newtoniana, la
primera muestra sus ventajas a medida que aumenta el nmero de grados de libertad. En los
ejercicios al final del captulo, pueden encontrarse varios ejemplos de la obtencin analtica
del modelo dinmico de un robot por ambos procedimientos.
Sea cual sea el procedimiento seguido para la obtencin del modelo dinmico del robot,
ste presenta la forma:

&& + H + C
= Dq [5.9]

Donde:
q: vector de coordenadas articulares.
: vector de fuerzas o pares que se aplica a cada articulacin.
D(q): la matriz de inercias, de dimensin (n  n), cuyos elementos son funcin de q.
. .
H(q, q): matriz (n  1) de fuerzas de Coriolis, dependiente de q y q.
C(q): matriz (n  1) de fuerzas de gravedad, dependiente de q.
n: nmero de grados de libertad del robot.
Hay que tener presente que el vector de pares , presupone pares efectivos, por lo que de
existir pares perturbadores o de rozamiento (viscoso o seco) stos debern ser tenidos en
cuenta, siendo:
CAPTULO 5. DINMICA DEL ROBOT 219

= motor perturbador rozamiento viscoso rozamiento seco [5.10]


.
Los elementos de H(q, q ), hi , pueden obtenerse a partir de los elementos de D(q), dij, se-
gn la expresin [SPONG-06]:

n n
hij = h & &
ijk q j qk
k =1 j =1
con [5.11]
1 d jk
dij
hijk =
qk 2 qi

La obtencin del modelo dinmico de un robot ha sido y es objeto de estudio e investi-


gacin. Numerosos investigadores han desarrollado formulaciones alternativas, basadas fun-
damentalmente en la mecnica Newtoniana y Lagrangiana, con el objeto de obtener modelos
manejables por los sistemas de clculo de una manera ms eficiente.
Algunos de estos planteamientos son los debidos a:

Uicker-1965: basado en la formulacin Lagrangiana.


Lu-1980: basado en la formulacin Newtoniana.
Lee-1983.

Un estudio completo de stos y otros planteamientos puede encontrarse en [FU-88],


[PAUL-81], [CRAIG-89] o [SPONG-06] entre otros. Aqu se expondrn nicamente los resulta-
dos finales de estos planteamientos, que expresados en forma de algoritmo, permiten obtener
el modelo dinmico del robot. En ambos casos se aplica la metodologa a seguir sobre un ro-
bot de 2 grados de libertad.

5.2. OBTENCIN DEL MODELO DINMICO DE UN ROBOT


MEDIANTE LA FORMULACIN DE LAGRANGE
Uicker en 1965 [UICKER-65] [UICKER-64] utiliz la representacin de Denavit-Hartenberg ba-
sada en las matrices de transformacin homognea, para formular el modelo dinmico de un
robot mediante la ecuacin de Lagrange.
Este planteamiento utiliza, por tanto, las matrices i1Ai que relacionan el sistema de co-
ordenadas de referencia del elemento i con el del elemento i1. Se realizan en este caso ope-
raciones de producto y suma innecesarias (recurdese la informacin redundante contenida en
las matrices i1Ai debido a la ortonormalidad de la submatriz de rotacin), tratndose por ello
de un procedimiento ineficiente desde el punto de vista computacional. Puede comprobarse
que el algoritmo es de un orden de complejidad computacional O(n4), es decir, el nmero de
operaciones a realizar crece con la potencia 4 del nmero de grados de libertad. Sin embargo,
conduce a unas ecuaciones finales bien estructuradas donde aparecen de manera clara los di-
versos pares y fuerzas que intervienen en el movimiento (inercia, Coriolis, gravedad).
Se presenta, a continuacin, al algoritmo a seguir para obtener el modelo dinmico del ro-
bot por el procedimiento de Lagrange (L).
220 FUNDAMENTOS DE ROBTICA

5.2.1. Algoritmo computacional de Lagrange


para el modelado dinmico de un robot
L 1. Asignar a cada eslabn un sistema de referencia de acuerdo a las normas de DH.
L 2. Obtener las matrices de transformacin 0Ai para cada elemento i.
L 3. Obtener las matrices Uij definidas por:

0 Ai
U ij = (vase nota 1) [5.12]
qj

L 4. Obtener las matrices Uijk definidas por:

U ij
U ijk = (vase nota 2) [5.13]
qk

L 5. Obtener las matrices de pseudoinercias Ji para cada elemento, que vienen definidas por:


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



Ji =
y x dm
i
i i y dm
i
i
2
y z dm
i
i i y dm
i
i
[5.14]
z x dm
i
i i z y dm
i
i i z dm
i
i
2
z dm
i
i


x dm
i
i y dm
i
i z dm
i
i dm
i

donde las integrales estn extendidas al elemento i considerado, y (xi yi zi) son las coordena-
das del diferencial de masa dm respecto al sistema de coordenadas del elemento.

L 6. Obtener la matriz de inercias D  [dij] cuyos elementos vienen definidos por:

n
dij = (
Traza U kj J k U Tki ) [5.15]
k =( max i , j )

con i, j  1, 2, ..., n
n: nmero de grados de libertad

L 7. Obtener los trminos hikm definidos por:

n
hikm = (
Traza U jkm J j U Tji ) [5.16]
j = max( i ,k ,m )

con i, k, m  1, 2, ..., n
CAPTULO 5. DINMICA DEL ROBOT 221

L 8. Obtener la matriz columna de fuerzas de Coriolis y centrpeta H  [hi]T cuyos ele-


mentos vienen definidos por:

n n
hi = h & &
ikm qk qm [5.17]
k =1 m=1

L 9. Obtener la matriz columna de fuerzas de gravedad C  [ci]T cuyos elementos estn


definidos por:

n
ci = ( m gU j ji
j
rj ) [5.18]
j =1

con i  1, 2, ..., n

g: es el vector de gravedad expresado en el sistema de la base {S0}y viene expresado por


(gx0 , gy0 , gz0 , 0).
i
rj: es el vector de coordenadas homogneas del centro de masas del elemento j expresa-
do en el sistema de referencia del elemento i.

L 10. La ecuacin dinmica del sistema ser:

&& + H + C
= Dq [5.19]

donde es el vector de fuerzas y pares motores efectivos aplicados sobre cada coordenada qi.

Notas

1. La derivada de la matriz de D-H 0Ai respecto de la coordenada qj puede obtenerse f-


cilmente de manera computacional, mediante la expresin:

0 Ai A j 1 Q j
j 1
0
Ai si j i
=
qj [ 0 ] si j > i

con:

0 1 0 0
1 0 0 0
Qi = si la articuulacin i es de rotacin
0 0 0 0

0 0 0 0
0 0 0 0
0 0 0 0
Qi = si la articulacin i es de traslacin
0 0 0 1

0 0 0 0
222 FUNDAMENTOS DE ROBTICA

2. Anlogamente:

0 A j 1Q j j 1 A k 1Q k k 1 Ai si i k j

U ij 0 Ai 0
= = A k 1Q k k 1 A j 1Q j j 1 Ai si i j k
qk qk q j
[00] si k > i o j > i

3. Las matrices Ji y D son simtricas y semidefinidas positivas.


4. El trmino hikm representa el efecto, en cuanto a fuerza o par, generado sobre el eslabn
i como consecuencia del movimiento relativo entre los eslabones k y m. Se cumple que
hikm  himk y que hiii  0.
5. En la obtencin de las matrices de pseudoinercia Ji, las integrales estn extendidas al
elemento i, de modo que sta se evala para cada punto del elemento de masa dm y
coordenadas (xi yi zi) referidas al sistema de coordenadas del elemento.
6. La Expresin [5.11] de la matriz de pseudoinercias Ji equivale a:

1
2 ( Ixi + Iyi + Izi ) Ixi yi Ixi zi mx
i
i i

Ix y 1
( Ixi Iyi + Izi ) Iyi zi mi yi
i i 2
Ji = i

1

Ixi zi Iyi zi
2
( Ixi + Iyi Izi ) i
mi zi



i mi xi i
mi yi
i
mi zi i
mi

con

Ixi = ( y + z ) dm Iy = ( x + z ) dm Izi = (x + yi2 ) dm


2 2 2 2 2
i i i i i i
i i i

Ipq = pqdm p q p, q = x , y , z i i i
i

EJEMPLO 5.1
Se va a aplicar el algoritmo computacional de Lagrange para la obtencin del modelo
dinmico del robot de 2 grados de libertad (1, d2) con base fija de la Figura 5.2.
L 1. Se asignan los sistemas de referencia y parmetros de Denavit-Hartenberg segn
la Figura 5.3 y la Tabla 5.1.

Tabla 5.1. Parmetros DH del robot polar del Ejemplo 5.1

Articulacin i di ai i

1 1 0 0 90
2 0 d2 0 0
CAPTULO 5. DINMICA DEL ROBOT 223

L1

m1
m22
m

d2

Figura 5.2. Robot polar de 2 grados de libertad del Ejemplo 5.1.

z2 m2
m2
z1

x1 z1
x2
y1 y2 m1
z0
y0 d2

1
1
L

x1
y0
x0 x0

Figura 5.3. Sistemas de referencia del robot polar del Ejemplo 5.1.

L 2. Matrices de transformacin 0Ai


C1 0 S1 0 1 0 0 0
S 0 C1 0 0 1 0 0
0
A1 =
1 1
A2 =
0 1 0 0 0 0 1 d2

0 0 0 1 0 0 0 1
224 FUNDAMENTOS DE ROBTICA

C1 0 S1 d2 S1
S 0 C1 d2C1
0
A2 = 0 A1 1 A2 =
1
0 1 0 0

0 0 0 1

L 3. Matrices Uij

S1 0 C1 0

A1 C1 0 S1 0
0
0 A1
U11 = = U12 = = [0]
1 0 0 0 0 d2

0 0 0 0
S1 0 C1 d2 C1 0 0 0 S1
C 0 S d S 0 0 C1
A2
0
A2
0 0
=
2 1
=
1 1
U 21 = U 22 =
1 0 0 0 0 d2 0 0 0 0

0 0 0 0 0 0 0 0

L 4. Matrices Uijk

C1 0 S1 0
S 0 C 0
U11 U = U11 = [ 0 ]
=
1 1
U111 =
1 0 0 0 0 112
d2

0 0 0 0
U12 U12
U121 = = [ 0 ] U122 = = [0]
1 d2

C1 0 S1 d2 S1 0 0 0 C1

U 21 S 0 C1 d2 C1 U 21 0 0 0 S1
U 211 = = 1 U 212 = =
1 0 0 0 0 d2 0 0 0 0

0 0 0 0 0 0 0 0
0 0 0 C1

U 22 0 0 0 S1 U 22
U 221 = = U 222 = = [0]
1 0 0 0 0 d2

0 0 0 0
CAPTULO 5. DINMICA DEL ROBOT 225

L 5. Matrices de pseudoinercia Ji

z1 z2

m1
m2

1
L
x1 x2

Elemento 1 Elemento 2

Figura 5.4. Elementos del robot polar del Ejemplo 5.1.

Elemento 1

x dm = 0 x y dm = y x dm = 0
2
1 1 1 1 1
1 1 1

y dm = 0 y z dm = z y dm = 0
2
1 1 1 1 1
1 1 1

z dm = m L z x dm = x z dm = 0
2 2
1 1 1 1 1 1 1
1 1 1

x dm = 0
1
1 y dm = 0 z dm = 0 dm = 0
1
1
1
1
1

0 0 0 0
0 0 0 0
J1 =
0 0 m1 m1 L1

0 0 m1 L1 m1

Elemento 2

Puesto que se considera la masa concentrada en el centro de masas y el origen del sis-
tema de coordenadas del elemento 2 se toma en el mismo centro de masas, la matriz J2
toma la forma:

0 0 0 0
0 0 0 0
J2 =
0 0 0 0

0 0 0 m2
226 FUNDAMENTOS DE ROBTICA

L 6. Matriz de inercias D  [dij]


2
d11 = ( ) ( )
Traza U k1 J k U k1T = Tr U11 J1 U11T + Tr U 21 J 2 U 21T = ( )
k = max(1,1)

C12 L12 m1 S1C1 L12 m1 0 0 C12 d2 2 m2 S1C1d2 2 m2 0 0



C S L 2m S12 L12 m1 2
S12 d2 2 m2
= Tr 1 1 1 1 S1C1d2 m2
0 0 0 0
+ Tr =
0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

( ) ( )
= C12 + S12 m1 L12 + C12 + S12 d2 2 m2 = m1 L12 + m2 d2 2

2
d12 = ( ) (
Traza U k 2 J k U k1T = Tr U 22 J 2 U 21T = )
k = max(1,2 )

S1C1d2 m2 S12 d2 m2 0 0

C 2 d m S1C1d2 m2
= Tr 1 2 2
0 0
= S1C1d2 m2 S1C1d2 m2 = 0
0 0 0 0

0 0 0 0

2
d21 = ( ) (
Traza U k1 J k U k 2T = Tr U 21 J 2 U 22T = )
k = max( 2 ,1)

S1C1d2 m2 C12 d2 m2 0 0
2
S1C1d2 m2
= Tr 1 2 2
S dm 0 0
= S1C1d2 m2 S1C1d2 m2 = 0
0 0 0 0

0 0 0 0

2
d22 = ( ) (
Traza U k 2 J k U k 2T = Tr U 22 J 2 U 22T = )
k = max( 2 ,2 )

S12 m2 S1C1m2 0 0

S C m C12 m2
= Tr 1 1 2
0 0
= S12 m2 + C12 m2 = m2
0 0 0 0

0 0 0 0

luego:

d11 d12 m1 L12 + m2 d2 2 0


D= =
d21 d22 0 m2
CAPTULO 5. DINMICA DEL ROBOT 227

L 7. Trminos en hikm

2
h111 = ( ) (
Traza U j11 J j U j1T = Tr U111 J1 U11T + Tr U 211 J 2 U 21T = ) ( )
j = max(1,1,1)

C1S1m1 L12 S12 m1 L12 0 0 S1C1d2 2 m2 S12 d2 2 m2 0 0


2 2 2
C m L2 C1S1m1 L12 S1C1d2 2 m2
= Tr 1 1 1
0 0 C1 d2 m2 0 0
+ Tr =
0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0
= C1S1m1 L12 + C1S1m1 L12 d2 2 S1C1m2 + d2 2 S1C1m2 = 0

2
h112 = ( ) (
Traza U j12 J j U j1T = Tr U 212 J 2 U 21T = )
j = max(1,1,2 )

C12 d2 m2 S1C1d2 m2 0 0

S12 d2 m2
= Tr 1 1 2 2
SCd m 0 0
= C12 d2 m2 + S12 d2 m2 = d2 m2
0 0 0 0

0 0 0 0

2
h121 = ( ) (
Traza U j 21 J j U j1T = Tr U 221 J 2 U 21T )
j = max(1,2 ,1)

como:

U 221 = U 212 h121 = h112 = d2 m2

2
h211 = ( ) (
Traza U j11 J j U j 2T = Tr U 211 J 2 U 22T = )
j = max( 2 ,1,1)

S12 d2 m2 S1C1d2 m2 0 0

C12 d2 m2
= Tr 1 1 2 2
SCd m 0 0
= S12 d2 m2 C12 d2 m2 = d2 m2
0 0 0 0

0 0 0 0

2
h122 = ( )
Traza U j 22 J j U j1T = Tr U 222 J 2 U 21T = 0 ( )
j = max(1,2 ,2 )
228 FUNDAMENTOS DE ROBTICA

2
h212 = ( )
Traza U j12 J j U j 2T = Tr U 212 J 2 U 22T =( )
j = max( 2 ,1,2 )

S1C1m2 C12 m2 0 0
2
S1C1m2
= Tr 1 2
S m 0 0
= S1C1m2 C1S1m2 = 0
0 0 0 0

0 0 0 0

2
h221 = ( ) (
Traza U j 21 J j U j 2T = Tr U 221 J 2 U 22T )
j = max( 2 ,2 ,1)

como:

U 221 = U 212 h221 = h212 = 0

2
h222 = ( ) (
Traza U j 22 J j U j 2T = Tr U 222 J 2 U 22T = 0 )
j = max( 2 ,2 ,2 )

L 8. Matriz columna de fuerzas de Coriolis y centrfugas H  [hi]T

2 2
h1 = h 1km qk qm
& & = h111&1&1 + h112&1d&2 + h121d&2&1 + h122 d&2 d&2 =
k =1 m=1

= 0 &12 + (d2 m2 + d2 m2 )&1d&2 + 0 d&2 2 = 2 d2 m2&1d&2

2 2
h2 = h 2 km q& k q& m = h211&1&1 + h212&1d&2 + h221d&2&1 + h222 d&2 d&2 =
k =1 m=1

= d2 m2&12 + ( 0 + 0 ) &1d&2 + 0 d&2 2 = d2 m2&12

luego

2 d m & d&
H = 2 2 1 2
d2 m2&12

Nota: Como ejercicio, el lector puede obtener alternativamente la matriz H, a partir de


la matriz D, mediante las expresiones definidas en [5.11]
CAPTULO 5. DINMICA DEL ROBOT 229

L 9. Matriz columna de fuerzas de gravedad C  [ci]T

N
ci = ( m gU j j1
j
rj )
j =1

con:

g vector de gravedad expresado en el sistema de la base del robot {S0}.

g  [0, 0, g, 0]
j
rj vector de coordenadas homogneas de posicin del centro de masas del eslabn j ex-
presado en el sistema {Sj}.
1
r1  [0, 0, L1, 1]T
2
r2  [0, 0, 0, 1]T

luego:

2
c1 = ( m gU j j1
j
)
rj = m1gU11 1 r1 m2 gU 21 2 r2 =
j =1

S1 0 C1 0 0 S1 0 C1 d2C1 0
C 0 S1
0 0 C 0 S1 d2 S1 0
= m1 [ 0 0 g 0 ] m2 [ 0 0 g 0 ]
1 1
=0
0 0 0 0 L1 0 0 0 0 0

0 0 0 0 1 0 0 0 0 1

2
c2 = ( m gU j j2
j
)
rj = m1gU12 1 r1 m2 gU 22 2 r2 =
j =1

0 0 0 0 S1 0
0 0 0 0 C1 0
= m1 [ 0 0 g 0 ] [ 0 ] m2 [ 0 0 g 0 ] =0
L1 0 0 0 0 0

1 0 0 0 0 1

Por tanto:

0
C = [ci ]T =
0
230 FUNDAMENTOS DE ROBTICA

L 10. La ecuacin dinmica del robot ser:

&& + H + C
= Dq
T1 m1 L12 + m2 d2 2 0 &&1 2 d2 m2&1d&2 0
= + +
F2 0 m2 d&&2 d2 m2&12 0


( 1 1 2 2 )
T = m L 2 + m d 2 && + 2 d m & d&
1 1 2 2 1 2
[5.20]

F = m d&& d m & 2
2 2 2 2 2 1

Donde T1 es el par motor efectivo (incluyendo rozamiento y otras perturbaciones) que


acta sobre la articulacin 1 y F2 es la fuerza motora efectiva que acta sobre la articula-
cin 2.

y0
z0
x0 y2
y1

z2
z1

x1 x2

Figura 5.5. Robot polar del Ejemplo 5.1 en configuracin tumbada.

Como se ve, el modelo dinmico responde a un sistema de 2 ecuaciones diferenciales


de 2.o orden no lineales y acopladas. Se observa tambin, cmo el trmino gravedad C no
aparece en el modelo. Esto es debido a que la estructura horizontal del robot permite que
las fuerzas de gravedad se proyecten sobre los apoyos, no siendo necesario aportacin de
par o fuerza para vencerla. Si se considerase al robot en posicin tumbada, tal y como
aparece en la Figura 5.5, mantenindose la definicin de los sistemas de referencia de la
Figura 5.3, las expresiones de las matrices y vectores A, U, J, D y H resultarn iguales
que en el caso anterior. Sin embargo, el vector C s se vera afectado, pues ahora el vector
de gravedad g expresado en el sistema de referencia de la base {S0} sera:

g  [g, 0, 0, 0]
CAPTULO 5. DINMICA DEL ROBOT 231

con lo que:

C1 L1 C1d2
S L S d
c1 = m1 [ g 0 0 0 ] m2 [ g 0 0 0 ]
1 1 1 2
= m1gL1C1 + m2 gd2C1
0 0

0 0
S1
C
c2 = m1 [ g 0 0 0 ] [ 0 ] m2 [ g 0 0 0 ]
1
= m2 gS1
0

0

m1gL1C1 + m2 gd2 C1
C=
m2 gS1

De modo que las ecuaciones correspondientes al modelo dinmico tomaran ahora la


siguiente forma:

( )
T1 = m1 L12 + m2 d2 2 &&1 + 2d2 m2&1d&2 + m1gL1 cos1 + m2 gd2 cos1
[5.21]

F2 = m2 d&&2 d2 m2&12 + m2 g sen1

5.3. OBTENCIN DEL MODELO DINMICO DE UN ROBOT


MEDIANTE LA FORMULACIN RECURSIVA
DE NEWTON EULER
La obtencin del modelo dinmico de un robot a partir de la formulacin Lagrangiana con-
duce a un algoritmo con un coste computacional de orden O(n4). Es decir, el nmero de ope-
raciones a realizar crece con la potencia cuarta del nmero de grados de libertad. En el
caso habitual de robots de 6 grados de libertad, este nmero de operaciones hace al algoritmo
presentado en el epgrafe anterior materialmente inutilizable para ser utilizado en tiempo real.
La formulacin de Newton-Euler parte del equilibrio de fuerzas y pares para cada ele-
mento:

F = dt (m v ) = m v&
d
i i i i i
[5.22]

d
Ti = (I i i ) = I i & i + i ( I i i )
dt

Donde:
Fi son las fuerzas ejercidas sobre la barra i.
Ti son los pares ejercidos sobre la barra i en torno a su centro de masas.
232 FUNDAMENTOS DE ROBTICA

mi es la masa de la barra i.
Ii es el tensor de inercia de la barra i en torno a su centro de masas, expresado en el
sistema de referencia {Si}.
.
vi , vi son la velocidad y aceleracin lineal del centro de masas de la articulacin i.
.
i , i son la velocidad y aceleracin angular de la articulacin i.

Un adecuado desarrollo de estas ecuaciones conduce a una formulacin recursiva en la que


se obtienen la posicin, velocidad y aceleracin del eslabn i referidos a la base del robot a
partir de los correspondientes del eslabn i  1 y del movimiento relativo de la articulacin i.
De este modo, partiendo del eslabn 1 se llega al eslabn n. Con estos datos se procede a ob-
tener las fuerzas y pares actuantes sobre el eslabn i referidos a la base del robot a partir de los
correspondientes al eslabn i  1, recorrindose de esta forma todos los eslabones desde el es-
labn n al eslabn 1.
El algoritmo se basa en operaciones vectoriales (con productos escalares y vectoriales en-
tre magnitudes vectoriales, y productos de matrices con vectores) siendo ms eficiente en
comparacin con las operaciones matriciales asociadas a la formulacin Lagrangiana. De he-
cho, el orden de complejidad computacional de la formulacin recursiva de Newton-Euler es
O(n) lo que indica que depende directamente del nmero de grados de libertad.
El algoritmo se desarrolla en los siguientes pasos.

5.3.1. Algoritmo computacional de Newton-Euler


para el modelado dinmico de un robot
N-E 1. Asignar a cada eslabn un sistema de referencia de acuerdo con las normas de D-H.
N-E 2. Establecer las condiciones iniciales.

Para el sistema de la base {S0}:


0
0: velocidad angular  [0, 0, 0]T
0
0: aceleracin angular  [0, 0, 0]T
0
v0: velocidad lineal  [0, 0, 0]T
0
v0: aceleracin lineal  [gx0, gy0, gz0]T
0
0, 0 0, 0v0, son tpicamente nulos salvo que la base del robot est en movimiento.
[gx0, gy0, gz0 ] es el vector de gravedad expresado en el sistema {S0} (habitualmente toma el
valor [0, 0, 9,8] pues z0 se sita vertical hacia arriba).
Para el extremo del robot se conocer la fuerza y el par ejercidos externamente n+1fn+1
n+1
y nn+1.

z0  [0, 0, 1]T
i
pi  Vector que une el origen {Si1} con el de {Si} expresadas en {Si}  [ai, di sen (i),
di cos (i)]
i
si  Coordenadas del centro de masas del eslabn i respecto del sistema {Si}
i
Ii  Matriz de inercia del eslabn i expresado en un sistema paralelo al {Si} y con el ori-
gen en el centro de masas del eslabn.
CAPTULO 5. DINMICA DEL ROBOT 233

N-E 3. Obtener las matrices de rotacin i1


Ri y sus inversas iRi1  (i1Ri )1  (i1Ri )T,
siendo:

C i C i S i S i S i
i 1
R i = S i C i C i S i C i
0 S i C i

Para i  1 ... n realizar los pasos 4 a 7:

N-E 4. Obtener la velocidad angular del sistema {Si}.

i
i =
(
i R i 1 i 1 i 1 + z 0 q& i ) si el eslabn i es de rotacin
[5.23]
i R i 1 i 1 i 1 si el eslabn i es de traslacin

N-E 5. Obtener la aceleracin angular del sistema {Si}.

i
& i =
(
i R i 1 i 1 & i 1 + z 0 && )
qi + i 1 i 1 z 0 q& si el eslabn i es de rotacin
[5.24]
i R i 1 i 1 & i 1 si el eslabn i es de traslacin

N-E 6. Obtener la aceleracin lineal del sistema i:

( )
i & i i pi + i i i i i pi + i R i 1 i 1 v& i 1 si el eslabn i es de rotacin


i
( )
qi + i 1 v& i 1 + i i i pi +
v& i = i R i 1 z 0 &&
[5.25]


( )
2 i i i R i 1z 0 q& i + i i i i i pi si el eslabn i es de traslaccin

N-E 7. Obtener la aceleracin lineal del centro de gravedad del eslabn i:


i
(
a i = i & i i si + i i i i i si + i v& i ) [5.26]

Para i  n ... 1 realizar los pasos 8 a 10.

N-E 8. Obtener la fuerza ejercida sobre el eslabn i:

i
fi = i R i +1 i +1 fi +1 + mi i a i [5.27]

N-E 9. Obtener el par ejercido sobre el eslabn i:

i
ni = i R i +1 i +1 ni +1 +
( i +1
)
R i i pi i +1 fi +1 +

[5.28]
( )
+ i pi + i si mi i a i + i Ii i i + i i i Ii i i ( )
234 FUNDAMENTOS DE ROBTICA

N-E 10. Obtener la fuerza o par aplicado a la articulacin i

i nT i R z si el eslabn i es de ro
otacin
i i1 0
i = [5.29]
i fiT i R z si el eslabn i es de traslacin
i1 0
Donde es el par o fuerza efectivo (par motor menos pares de rozamiento o perturbacin).
Tabla 5.2. Parmetros DH del robot polar del Ejemplo 5.2

Articulacin i di ai i

1 1 0 0 90
2 0 d2 0 0

EJEMPLO 5.2
En el epgrafe anterior, se obtuvo el modelo dinmico del robot de la Figura 5.2 a tra-
vs de la formulacin de Lagrange. Se va a obtener aqu el modelo dinmico del mismo
robot, utilizando la formulacin de Newton-Euler.

d2
L1

z2 m2
z1

x1 z1
x2
y1 y2 m1
z0
y0
d2

1
1
1
L

x1
y0 x0
x0

Figura 5.6. Configuracin y Sistemas de referencia del robot polar del Ejemplo 5.2.

N-E 1. La asignacin de los sistemas de referencia segn D-H es la mostrada en la Fi-


gura 5.6. Los correspondientes parmetros de D-H se muestran en la Tabla 5.2.

N-E 2.

0 = [ 0, 0, 0 ] 0 = [ 0, 0, 0 ]
0 T 0 T

v 0 = [ 0, 0, 0 ] v0 = [gx 0 , gy 0 , gz 0 ]T = [ 0, 0, g ] = [ 0, 0, g ]
0 T 0 T T

con g  9,8 (obsrvese que la gravedad est orientada segn el eje zo negativo)
CAPTULO 5. DINMICA DEL ROBOT 235

y como no se ejercen fuerzas externas en el extremo del robot: 3f3  3n3  0

z 0 = [ 0, 0, 1]
T

p1 = [ 0, 0, 0 ] p 2 = [ 0, 0, d2 ]
1 T 2 T

1
s1 = [ 0, 0, L1 ] 2
s 2 = [ 0, 0, 0 ]

y por estar toda la masa de los elementos 1 y 2 concentrada en sus respectivos centros de
gravedad:

0 0 0 0 0 0

1
I1 = 0 0 0 2
I2 = 0 0 0
0 0 0 0 0 0

N-E 3. Las matrices de rotacin i1Ri y sus inversas son:

C1 0 S1 1 0 0 C1 0 S1

0
R1 = S1 0 C1 1
R2 = 0 1 0 0
R 2 = S1 0 C1
0 1 0 0 0 1 0 1 0
C1 S1 0 1 0 0 C1 S1 0

1
R0 = 0 0 1 2
R1 = 0 1 0 2
R0 = 0 0 1
S1 C1 0 0 0 1 S1 C1 0

N-E 4.

C1 S1 0 0 0 0

1
1 = R 01
( 0 &
0 + z 0 1 = 0) 0 1 0 + 0 = &1
S1 C1 0 0 & 0
1

1 0 0 0 0

2
2 = 2 R1 1 1 = 0 1 0 &1 = &1
0 0 1 0 0

N-E 5.

1
& 1 = 1 R 0 ( 0
)
& 0 + z 0&&1 + 0 0 z 0&1 =

C1 S1 0 0 0 0 0 0

= 0 0 1 0 + 0 + 0 0 = &&1
S1 C1 0 0 && 0 & 0
1 1
236 FUNDAMENTOS DE ROBTICA

1 0 0 0 0

2
2 = R1 1 = 0 1 0 &&1 = &&1
& 2 1&

0 0 1 0 0

N-E 6.

1
( )
v& 1 = 1& 1 1 p1 + 1 1 11 1 p1 + 1 R 0 0 v& 0 =

0 0 0 0 0 C1 S1 0 0 0

= &&1 0 + &1 &1 0 + 0 0 1 0 = g
0 0 0 0 0 S C 0 g 0
1 1
2
( ) ( ) (
v& 2 = 2 R1 z 0 d&&2 + 1 v& 1 + 2 & 2 2 p2 + 2 2 2 2 R1z 0 d&2 + 2 2 2 2 2 p2 = )
1 0 0 0 0 0 0 0 1 0 0 0 0 0 0

= 0 1 0 0 + g + &&1 0 + 2 &1 0 1 0 0 + &1 &1 0 =
0 0 1 d&& 0 0 d2 0 0 0 1 d& 0 0 d2
2 2
0 &&1d2 &1d&2 0 &&1d2 2&1d&2

= g + 0 + 2 0 + 0 = g
d&& 0 0 & 2 d d&& & 2 d
2 1 2 2 1 2

N-E 7.

1
(
a1 = 1 & 1 1 s1 + 1 1 1 1 1 s1 + 1 v& 1 =)
0 0 0 0 0 0 &&1 L1

= &&1 0 + &1 &1 0 + g = g
0 L 0 0 L 0 & 2 L
1 1 1 1
2
a 2 = 2 & 2 2 s2 + 1 2 ( 2
)
2 2 s2 + 2 v& 2 =

0 0 0 0 0 &&1d2 2&1d2 &&1d2 2&1d2



= &&1 0 + &1 &1 0 + g = g
0 0 0 0 0 d&& & 2 d d&& & 2 d
2 1 2 2 1 2

N-E 8.

0 &&1d2 2&1d&2 &&1d2 m2 2&1d&2 m2



2
f2 = R 3 f3 + m2
2 3 2
a 2 = R 3 0 + m2
2
g = gm2
0 d&& & 2 d d&& m & 2 d m
2 1 2 2 2 1 2 2
CAPTULO 5. DINMICA DEL ROBOT 237

1 0 0 &&1d2 m2 2&1d&2 m2 &&1l1



1
f1 = R 2
1 2
f2 + m1 a1 = 0 1 0
1
gm2 + m1 g =
0 0 1 d&& m & 2 d m & 2 l
2 2 1 2 2 1 1
&&1d2 m2 2&1d&2 m2 &&1l1m1

= g ( m1 + m2 )
d&& m & 2 d m & 2 l m
2 2 1 2 2 1 1 1

N-E 9.

2
n1 = 2 R 3 3 n3 +
( 3
)
R 2 2 p2 3 f3 +
( 2
)
p2 + 2 s2 m2 2 a 2 + 2 I2 2 & 2 + 2 2 ( 2
)
I2 2 2 =

1 0 0 0 0 0 0 &&1d2 2&1d&2
0 0 + 0 m
= 0 1 0 + + 0 2 g +

0 0 1 0 0 d2 0 && & 2
d2 1 d2
0 0 0 0 0 0 0 0 0 d 2 m2 g

&& & & && & &
+ 0 0 0 1 + 1 0 0 0 1 = 1d2 21d2 d2 m2
2
( )
0 0 0 0 0 0 0 0 0
0
1
n1 = 1 R 2 2 n2 +
( 2
)
R1 1 p1 2 f2 +
(p1
1 )
+ 1 s1 m1 1 a1 + 1 I1 1 & 1 + 1 1 (I
1
1
1
)
1 =

1 0 0 d 2 m2 g 0 &&1d2 m2 2&1d&2 m2
&& 2

(
= 0 1 0 1d2 2&1d&2 d2 m2 + 0 ) gm2 +
0 0 1 0 && &
d2 m2 1 d2 m2
2
0

0 0 &&1 L1m1 0 0 0 0 0 0 0 0 0

+ 0 + 0 gm1 + 0 0 0 &&1 + &1 0 0 0 &1 =
0 L & 2 L m 0 0 0 0 0 0 0 0 0
1 1 1 1

d 2 m2 g L1m1g ( d2 m2 + L1m1 ) g
&& 2
( ) (
= 1d2 2&1d&2 d2 m2 + &&1 L1 m1 = &&1d2 2&1d&2 d2 m2 &&1 L1 m1
2 2 2
)
0
0 0

N-E 10.

&&1d2 m2 2&1d&2 m2
T
0

F2 = 2 f2T 2 R1z 0 = gm2 0 = d&&2 m2 &12 d2 m2
d&& m & 2 d m 1
2 2 1 2 2
238 FUNDAMENTOS DE ROBTICA

( d2 m2 + L1m1 ) g
T
0

( )
T1 = 1 n1T 1 R 0 z 0 = &&1d2 2 2&1d&2 d2 m2 &&1 L12 m1 1 =
0
0

( 1 2 2 )
= && d 2 + 2& d& d m + && L 2 m
1 2 2 1 1 1

Por tanto, las ecuaciones que componen el modelo dinmico son :

( )
T1 = &&1d2 2 + 2&1d&2 d2 m2 + &&1 L12 m1
[5.30]
F2 = m2 d&&2 m2 d2&12

Ecuaciones que coinciden con las obtenidas [5.20] mediante el algoritmo de Lagrange.
Para considerar la posicin tumbada del robot mostrada en la Figura 5.5, se debera tomar

v& 0 = [gx 0 , gy 0 , gz 0 ]T = [ g, 0, 0 ] = [ g, 0, 0 ]
0 T T

5.4. MODELO DINMICO EN VARIABLES DE ESTADO


La Ecuacin [5.9] establece el modelo dinmico inverso de un robot, dando los pares y
fuerzas que deben proporcionar los actuadores para que las variables articulares sigan una de-
terminada trayectoria q (t):

&& + H + C
= Dq [5.31]

En esta expresin, conviene recordar que la matriz de inercias D y la matriz columna de


gravedad C dependen de los valores de q, y que la matriz columna de fuerzas de Coriolis y
.
centrpetas H depende de q y q.
La Expresin [5.31] es, por tanto, no lineal, no siendo trivial su integracin para as ob-
tener el modelo dinmico directo que proporciona la trayectoria seguida como consecuencia
de la aplicacin de unos pares determinados . Para obtener este modelo directo, as como por
su utilidad posterior en el desarrollo de alguna tcnica concreta de control, puede ser conve-
niente obtener el modelo dinmico en variables de estado.
Las variables de estado naturales del sistema sern las posiciones y velocidades de cada
.
una de las articulaciones, siendo, por tanto, el vector de estado [q, q ]T. La Ecuacin [5.28]
puede expresarse como:

&& + H + C =
Dq && + N =
Dq
[5.32]
&&
q=D 1
[ N ]
con N  H  C. Y haciendo uso del vector de estado:

d q q& 0
q& = 1 + 1 [5.33]
dt D N D
CAPTULO 5. DINMICA DEL ROBOT 239

.
donde D1 es funcin de q y N es funcin de q y q. La Expresin [5.31] puede ponerse tam-
bin de la forma:

d q 0 I q 0
q& = 0 0 q& + I u
dt [5.34]
u=D 1
( )
Esta representacin responde a una ecuacin de estado lineal, habindose trasladado la no
linealidad a la entrada u. En la Figura 5.7 se representa el correspondiente diagrama de
bloques, donde:

0 I 0
A= matriz (2n 2n) y B = matriz (2n n)
0 0 I

u + []
q
.
q
D 1 (N) B
+

A
Figura 5.7. Diagrama de bloques de la dinmica de un robot en el espacio de estado.
.
El bloque sombreado es un bloque no lineal que depende del estado [q, q ], lo que se re-
presenta mediante lnea discontinua.
El uso de esta Expresin [5.34] permite encontrar la trayectoria q(t) a partir de los pares
.
(t) de manera iterativa. As, suponiendo conocidas las condiciones iniciales q(0), q(0), (0),
.
se puede evaluar los incrementos de q(0) y q (0) por unidad de tiempo y partir de estos el va-
.
lor de [q y q ] en el siguiente instante. Repitiendo este proceso puede obtenerse q(t) durante
todo el intervalo de inters.

EJEMPLO 5.3

Para el robot del Ejemplo 5.1 en su disposicin tumbada, se obtuvo el modelo din-
mico inverso dado por la Ecuacin [5.21]:

( )
T1 = m1 L12 + m2 d2 2 &&1 + 2d2 m2&1d&2 + m1gL1cos1 + m2 gd2 cos1
[5.35]
F2 = m2 d&&2 d2 m2&12 + m2 gsen1
240 FUNDAMENTOS DE ROBTICA

o expresadas en forma matricial:

T1 &&1
F = D +N
2 d&&2

con
m L 2 + m2 d 2 2 0
D= 1 1
0 m2
2d2 m2&1d&2 + m1gL1 coos1 + m2 gd2 cos1
N=
d2 m2&12 + m2 g sen1

Se tomar como vector de estado 1 , d2 , &1 , d&2 , resultando:


T

1
m L 2 + m d 2 0
D-1 = 1 1
2 2
1
0
m2
1
m L 2 + m d 2 0
2d m & d& + m1gL1 cos1 + m2 gd2 cos1 T1
D-1 ( N ) = 1 1 2 2 2 2 1 2 =

0
1 d2 m2&12 + m2 g sen1 F2
m2

2d2 m2&1d&2 + m1gL1 cos1 + m2 gd2 cos1 T1

m1 L12 + m2 d2 2
=
&
d2 m21 + m2 g sen1 F2
2

m2

La ecuacin de estado tomar la forma:

&1 1
d
&
d2 2
&& = A & + B u
1 1
d&& d&2
2 [5.36]
2d2 m2&1d&2 + m1gL1 cos1 + m2 gd2 cos1 T1

m1 L12 + m2 d2 2
u=
&
d m + m2 g sen1 F2
2
2 2 1
m2
CAPTULO 5. DINMICA DEL ROBOT 241

con:
0 0 1 0 0 0
0 0 0 1 0 0
A= y B=
0 0 0 0 1 0

0 0 0 0 0 1

Esta expresin permitira resolver computacionalmente el modelo dinmico . . directo.


Partiendo de unas condiciones iniciales de posicin [1, d2]T y velocidad [1, d2]T y de una
secuencia de pares y fuerzas (T1, F2) a lo largo del tiempo, se evaluara para el. instante
. ini-
cial el vector u y a partir de l, mediante [5.34], el vector derivada del estado [1, d2, 2, d 2].
Puesto que:

1 ( k ) = &1 ( k 1) t + 1 ( k 1)
d2 ( k ) = d&2 ( k 1) t + 2 ( k 1)

podran evaluarse los valores de la posicin [1, d2]T. en. un instante t posterior, y cono-
cidos stos y los nuevos valores de las velocidades [1, d2]T, se repetira el proceso para el
instante siguiente.

5.5. MODELO DINMICO EN EL ESPACIO DE LA TAREA


El modelo dinmico obtenido relaciona coordenadas articulares con pares o fuerzas desa-
rrolladas en las articulaciones. En ocasiones, es conveniente tener el modelo dinmico ex-
presado como una relacin entre la trayectoria del extremo del robot y las fuerzas y pares que
en l se aplican, referidos todos a un sistema de coordenadas cartesianas fijo del entorno de
trabajo. Cuando los datos (trayectorias, fuerzas, pares, etc.) se dan en estas coordenadas, se
dice que se trabaja en el espacio de la tarea.
Para obtener esta expresin del modelo dinmico se partir de la Expresin [5.9] y de la
Relacin [4.64] que establece la relacin entre velocidades lineales y angulares del extremo
del robot con las velocidades articulares haciendo uso de la matriz Jacobiana. Segn sta:

& = J q& [5.37]


.
donde representa el vector de velocidades cartesianas del extremo del robot referidas al sis-
.
tema de coordenadas asociado a su base  [vx, vy, vz, wx, wy, wz ]T. Derivando esta expresin
respecto del tiempo se obtiene:

&& = J& q& + J && q = J 1 && J 1J& q&


q && [5.38]

Expresiones que relacionan las aceleraciones cartesianas y articulares de manera directa


e inversa. Por otra parte, partiendo del hecho de que la potencia consumida por el robot debe
ser la misma tanto si se evala en el espacio cartesiano como en el articular, se tiene:

Potencia = Par velocidad TT & = T q& [5.39]


242 FUNDAMENTOS DE ROBTICA

donde TT es el vector de fuerzas y pares ejercidos en el extremo del robot expresado en el sis-
tema de coordenadas de la base y T el vector de fuerzas y pares ejercidas en las articulacio-
nes. De [5.37] y [5.39] se obtiene:

TT & = T q& TT J q& = T q& TT J = T = JT T [5.40]

Expresin, de destacable utilidad, que relaciona los pares generalizados ejercidos en el ex-
tremo del robot con los ejercidos en cada una de las articulaciones.
Sustituyendo [5.38] y [5.40] en la ecuacin del modelo dinmico [5.9] se obtiene:

= D &&
q+H+C
&& +H+C
J T T = DJ 1&& DJ 1Jq
[5.41]
( ) ( ) ( ) ( )
1 1 1 1
T = JT DJ 1&& J T & & + JT
DJ 1Jq H + JT C
T = D j&& + H j + C j

con

D = JT
( ) DJ
1 1
j

( ) ( H DJ )
1 1 &
H j = J
T
Jq& [5.42]

( ) C
1
C = J T
j

Las Expresiones [5.41] y [5.42] definen el modelo dinmico en coordenadas cartesianas


o de la tarea de un robot a partir de su modelo dinmico en el espacio articular o de la confi-
guracin y de su matriz Jacobiana.
En general puede expresarse el modelo dinmico en cualquier otro conjunto de variables
que definan la localizacin del extremo del robot, utilizando para ello la correspondiente ma-
triz Jacobiana que relaciona las velocidades articulares con las velocidades del extremo ex-
. . . . . .
presadas en las variables escogidas (por ejemplo (x, y, z, , , )).

5.6. MODELO DINMICO DE LOS ACTUADORES

Como se ha indicado en la introduccin de este captulo, el modelo dinmico de un robot se


compone por una parte del modelo de su estructura mecnica, que relaciona su movimiento
con las fuerzas y pares que lo originan, y por otra parte del modelo de su sistema de accio-
namiento, que relaciona las rdenes de mando generadas en la unidad de control con las fuer-
zas y pares utilizados para producir el movimiento.
En el Captulo 2, dedicado a la morfologa del robot, se indic que son los actuadores
elctricos de corriente continua los ms utilizados en la actualidad, si bien es notable la ten-
dencia a sustituir stos por motores sin escobillas. En un caso u otro, el modelo dinmico del
actuador responde a ecuaciones similares, por lo que a efectos de establecerlo se considera-
r el de motor de corriente continua.
CAPTULO 5. DINMICA DEL ROBOT 243

Por su parte, si bien los primeros robots utilizaron actuadores hidrulicos, en la actualidad
la presencia de estos en los robots industriales comerciales es prcticamente nula. No obs-
tante, algunos desarrollos especiales, en particular en los que la relacin peso manipula-
ble/peso del robot deba ser elevada utilizan este tipo de actuador. El modelo dinmico de un
actuador hidrulico es significativamente ms complejo que el de un actuador elctrico. A las
caractersticas dinmicas del conjunto servo-vlvula cilindro (o motor) se le debe incorporar
el comportamiento no invariante del fluido (aceite), cuyas constantes dinmicas (ndice de
Bulk, viscosidad, etc.) varan notablemente con la temperatura. Por ltimo, las propias lne-
as de transmisin, tuberas o mangueras, que canalizan al fluido desde la bomba a las servo-
vlvulas y de stas a los actuadores, pueden influir en el comportamiento dinmico del con-
junto.
Se van a exponer a continuacin los modelos dinmicos que son admitidos para trabajar
con ambos tipos de actuadores, debiendo quedar claro que en ambos casos se han realizado
cierto nmero de simplificaciones que, por lo general, son vlidas.

R L


ea eb J
i B

if

Figura 5.8. Esquema de funcionamiento de un motor de corriente continua controlado por inducido.

5.6.1. Motor elctrico de corriente continua


Un accionamiento elctrico de corriente continua consta de un motor de corriente continua
alimentado por una etapa de potencia y controlado por un dispositivo analgico o digital. El
modelado del motor de corriente continua controlado por inducido (Figura 5.8) responde a
las ecuaciones que a continuacin se deducen.
Cuando el rotor gira, se induce en l una tensin eb directamente proporcional a la velo-
cidad angular y que se conoce como fuerza contraelectromotriz:

eb = kb& [5.43]

La velocidad de giro se controla mediante la tensin ea, salida del amplificador de po-
tencia. La ecuacin diferencial del circuito del rotor es:

La i& + Ri + eb = ea [5.44]
Por otra parte, el motor desarrolla un par proporcional al producto del flujo en el en-
trehierro y la intensidad i, siendo el flujo en el entrehierro:

= kf if [5.45]
244 FUNDAMENTOS DE ROBTICA

Constante de fuerza
contralectromotriz
Velocidad
de la
Tensin de articulacin
mando
+ + +

Reductor
Red de Etapa de Potencia Devanado del Constante Dinmica de la
Atraso Puente de transistores rotor (R,L) de par estructura mecnica
+

Realimentacin de intensidad Par perturbador


Intensidad
por el devanado

Tacogeneratriz

Figura 5.9. Esquema de bloques del modelo de un motor elctrico de corriente continua.
donde if es la corriente de campo. De esta manera, la expresin del par desarrollado por el
motor es la siguiente:

= k1i [5.46]

Para una corriente de campo if constante, el flujo se vuelve constante, y el par es directa-
mente proporcional a la corriente que circula por el rotor:

= k pi [5.47]

Este par se emplea en vencer la inercia y la friccin, adems de posibles pares perturbadores:

J&& + B& = p [5.48]

Por tanto, las ecuaciones del motor de corriente continua controlado por induccin son:

eb = kb&
( Ls + R) i + eb = ea
= k pi [5.49]

p
& =
Js + B
donde todas las variables son en transformada de Laplace.
Para el control del motor se incluyen las etapas de potencia y control, utilizndose reali-
mentacin de intensidad y velocidad, tal y como se representa en la Figura 5.9.
En la Figura 5.10 se ha representado el diagrama de bloques correspondiente haciendo uso
de funciones de transferencia [OGATA-03] y [DAZZO-95], donde pueden realizarse ciertas
simplificaciones:
s+a
G1 = k k1
s+b
G2 = k2
L0
J , B : Inercia y rozamiennto viscoso equivalentes vistos a la salidaa del eje del rotor
CAPTULO 5. DINMICA DEL ROBOT 245

eb
kb

p

u + +
ea _ i _
G1 1 1
G2 kp
_ _ + R + Ls + Js + B

ki

kT

Figura 5.10. Diagrama de bloques del modelo de motor elctrico de corriente continua.

Las simplificaciones del anterior diagrama permiten obtener (en ausencia de perturba-
ciones):

& (s) k p k1k2 km


= = [5.50]
u (s) ( R + ki k2 ) ( Js + B ) + k p ( kb + kT k1k2 ) Tm s + 1

(s) k p k1k2 ( Js + B ) T s + 1
= = km m [5.51]
u(s) ( R + ki k2 ) ( Js + B ) + k p ( kb + kT k1k2 ) Tm s + 1

donde se tiene que:

k p k1k2
km =
k p ( kb + kT k1k2 ) + B ( R + ki k2 )
[5.52]
Bk p k1k2
km =
k p ( kb + kT k1k2 ) + B ( R + ki k2 )

J ( R + ki k2 )
Tm =
k p ( kb + kT k1k2 ) + B ( R + ki k2 )
[5.53]
J
Tm =
B

Se observa, por tanto, que el comportamiento tension-velocidad del motor de corriente


continua responde al de un sistema de primer orden. En cuanto a la relacin tensin-par, res-
ponde a un par polo-cero. En la prctica, la calidad de los motores utilizados en servoaccio-
namientos y las elevadas prestaciones de sus sistemas de control, hace que esta relacin pue-
da considerarse casi constante (sin la dinmica propia de los polos y ceros).
246 FUNDAMENTOS DE ROBTICA

5.6.2. Motor hidrulico con servovlvula


La introduccin de sistemas electrnicos analgicos, y recientemente digitales, para el control
de las vlvulas de distribucin de caudal utilizadas en los accionamiento hidrulicos (lineales
o rotativos), ha permitido la evolucin de las vlvulas proporcionales a las servovlvulas, con-
siguiendo que el comportamiento dinmico de los actuadores hidrulicos tenga la calidad ade-
cuada para ser usados en servomecanismos, y en especial en robtica.
El conjunto equipo electrnico, servovlvula y motor hidrulico (Figura 5.11) puede ser
modelado en una versin simplificada segn las siguientes ecuaciones:
Equilibrio de pares:

= J&& + B& + p [5.54]

Par desarrollado por el motor:

= k p P [5.55]

Continuidad de caudales:

Q1 = v&1 + Q f + Qc [5.56]

Caudal de fuga:

Q f = k f P [5.57]

Prdida de caudal por compresin del fluido:

Qc = kc P& [5.58]

Electrnica de mando de la corredera de la servovlvula:

y = g (u ) [5.59]

Caudal suministrado por la servovlvula:

Q1 = f ( y ) P [5.60]

donde:

: ngulo girado por la paleta (y el eje) del rotor.


: par proporcionado por el motor.
p: par externo perturbador.
J, B: inercia y constante de rozamiento viscoso (de motor y carga) asociados a la ar-
ticulacin.
P: diferencia de presin entre las dos cmaras del motor.
Q1: caudal proporcionado por la servovlvula (entrada al motor).
Qf: caudal que se fuga entre las dos cmaras del motor (leakage).
Qc: caudal perdido por la compresibilidad del fluido (depende del ndice de Bulk,
del volumen y de la diferencia de presiones).
CAPTULO 5. DINMICA DEL ROBOT 247

v1: volumen en la cmara de entrada al motor.


y: posicin de la corredera de la servovlvula.
u: tensin de referencia a la electrnica de mando de la servovvula.
kp, kf y kc se considerarn constantes.



Q1 Q2

u y

Electrnica
de mando

Figura 5.11. Esquema de un actuador hidrulico rotativo.

El dispositivo electrnico de mando de la corredera de la vlvula se disea con el objeti-


vo de que la relacin entre seal de mando u y posicin de la corredera y sea lo ms pa-
recida posible a una constante. Si bien este objetivo no es del todo alcanzable, existiendo
siempre una cierta dinmica en dicha relacin, la velocidad de la misma es muy superior a la
dinmica propia del accionamiento hidrulico y de la articulacin, por lo que puede ser
considerada como constante.
Por este motivo, la Relacin [5.59] se sustituye por:

y = k1' u [5.61]

Por otra parte, la relacin entre la posicin de la corredera de la vlvula, la diferencia de


presiones y el caudal suministrado [5.60] es en principio no lineal. Linealizando en torno a un
punto de funcionamiento se obtiene:

Q1 = k2' ki P [5.62]

Por tanto, la relacin entre la seal de mando u, el caudal Q1 y la presin diferencial P ser:

Q1 = k1u ki P [5.63]
.
Por ltimo, la velocidad de variacin de volumen en la cmara del motor v1 ser propor-
cional a la velocidad de giro de la paleta, luego:

v&1 = kb& [5.64]

Con lo que las Ecuaciones [5.56], [5.57] y [5.58] podrn agruparse como:

Q1 = kb& + k f P + kc P& [5.65]


248 FUNDAMENTOS DE ROBTICA

Transformando por Laplace las Ecuaciones [5.54], [5.55], [5.63] y [5.65] se obtiene el dia-
grama de bloques de la Figura 5.12, que como se observa presenta una absoluta analoga con
el correspondiente a un accionamiento elctrico (Figura 5.10) salvo por la realimentacin de
velocidad de giro del actuador presente en aqul. Esta ltima puede ser incluida en la elec-
trnica de mando, siendo entonces el modelado de ambos actuadores equivalente aunque con
caractersticas dinmicas y posibilidades diferentes.

v 1
kb
p
_
u + Q1 1 P _
1
k1 kp
_ + kf+ kcs + Js + B

ki

Figura 5.12. Diagrama de bloques del modelo de actuador hidrulico.

En el caso de utilizar un cilindro hidrulico el modelado se hace ms complicado, moti-


vado entre otras razones por la diferencia de reas del mbolo en ambas cmaras, lo que hace
que su funcionamiento a extensin y retraccin sea notablemente diferente.
Estudios ms detallados del modelado de accionamientos hidrulicos pueden encontrar-
se en [WATTON-89].

5.7. EJERCICIOS RESUELTOS


Ejercicio 5.1

La Figura 5.13 representa un robot cartesiano de 2 grados de libertad en el que se suponen


las masas concentradas tal y como se recoge en la figura (la masa m1 se mueve solidaria al es-
labn 1 sin verse arrastrada por el eslabn 2).
Obtener su modelo dinmico mediante las formulaciones de Newton y de Lagrange.

Solucin:

Formulacin de Newton:
La aplicacin de las ecuaciones de Newton_Euler son en este caso triviales, tratndose
de 2 movimientos de traslacin pura.
La fuerza a aplicar en el grado de libertad 1 debe vencer a la inercia y a la gravedad ori-
ginada por ambas masas, mientras que la fuerza del eje 2 slo debe vencer a la inercia de la
masa 2 (Figura 5.14).
CAPTULO 5. DINMICA DEL ROBOT 249

d2
Z1 y1 y2 x2

x1 Z2

m1 m2

d1

Z0 y0

x0

Figura 5.13. Robot cartesiano del Ejercicio 5.1.

Por tanto:
F1 = (m1 + m2 ) d&&1 + g (m1 + m2 )

F2 = m2 d&&2

F2

F2 F2

F2

Figura 5.14. Fuerzas de los actuadores del robot del Ejercicio 5.1.

Formulacin de Lagrange:
De acuerdo al principio de Lagrange, se cumple la relacin definida en [5.3]:
 = Ec E p
d  
i =
dt q& i qi
Donde Ec y Ep son respectivamente la energa cintica y potencial del sistema. Se debern,
por tanto, encontrar estos 2 trminos.
La Energa cintica se obtiene como:
Ec = Ec1 + Ec 2
250 FUNDAMENTOS DE ROBTICA

siendo

1 1
Ec1 = m1v12 = m1 ( x&12 + y&12 + z&12 )
2 2
1 1
Ec 2 = m2 v22 = m2 ( x& 22 + y& 22 + z&22 )
2 2
. . .
Donde se ha utilizado xi, yi, zi, para las derivadas respecto del tiempo de las coordenadas
xi , yi , zi , del centro de masas del elemento i, referidas al sistema de la base.
Por tanto, se tiene que:

( x&1 , y&1 , z&1) = (0, 0, d&1)


( x& 2 , y& 2 , z&2 ) = (d&2 , 0, d&1)

Siendo en consecuencia:

1 1 1
Ec1 = m1v12 = m1 ( x&12 + y&12 + z&12 ) = m1d&12
2 2 2
1 1 1
Ec 2 = m2 v22 = m2 ( x& 22 + y& 22 + z&22 ) = m2 (d&12 + d&22 )
2 2 2
1 1
Ec = Ec1 + Ec 2 = (m1 + m2 )d&12 + m2 d&22
2 2

Por su parte, la Energa potencial toma el valor:

E p = E p1 + E p 2 = m1gh1 + m2 gh2 = m1gd1 + m2 gd1 = g(m1 + m2 )dd1

A partir de la Energa cintica y potencial puede establecerse la funcin Lagrangiana


como:

1
 = Ec E p = (m1 + m2 ) d&12 + m2 d&22 g (m1 + m2 ) d1
2
 
Se deben obtener a continuacin los trminos y que aparecen en la Expre-
q& i qi
sin [5.3], donde en este caso qi corresponde con d1 y d2:

 
= (m1 + m2 )d&1 = g(m1 + m2 )
d&1 d1
 
= m2 d&2 =0
d&2 d2
CAPTULO 5. DINMICA DEL ROBOT 251

Con lo que la Expresin [5.3] toma la forma:

d  
i =
dt q& i qi
F1 = (m1 + m2 )d&&1 + g(m1 + m2 )
&&
F2 = m2 d2
Como se observa, ambas formulaciones conducen al mismo resultado.

Ejercicio 5.2

Obtener, mediante la formulacin de Lagrange, el modelo dinmico del robot planar de 2


grados de libertad de la Figura 5.15.

y2

x2
m2
d2

y0

q2
l1

d1
m1
q1 x0

Figura 5.15. Robot planar de 2 grados de libertad del Ejercicio 5.2.

Solucin:

Coordenadas y velocidades de los centros de masas:


Masa elemento 1:

x1 = d1C1 x&1 = d1S1q&1


v12 = x&12 + y&12 = d12 q&12
y1 = d1S1 y&1 = d1C1q&1

Masa elemento 2:

x 2 = l1C1 + d2 C12 x&1 = (l1S1 + d2 S12 ) q&1 d2 S12 q& 2



y2 = l1S1 + d2 S12 y&1 = (l1C1 + d2 C12 ) q&1 + d2C12 q& 2
v22 = x& 22 + y& 22 = (l12 + d22 + 2l1d2 C2 ) q&12 + d22 q& 22 + 2d2 (l1C2 + d2 ) q&1q& 2
252 FUNDAMENTOS DE ROBTICA

Energa cintica:

1 1
Ec = (m1v12 + m2 v22 ) = m1d12 + m2 (l12 + d22 + 2l1d2 C2 ) q&12 +
2 2
1 1
+ m2 d22 q& 22 + [ m2 2d2 (l1C2 + d2 ) ] q&1q& 2
2 2

Energa potencial:

E p = g(m1h1 + m2 h2 ) = g(m1 y1 + m2 y2 ) = g(m1d1S1 + m2 l1S1 + m2 d2 S12 )

Lagrangiana:

1 1
 = Ec E p = m1d12 + m2 (l12 + d22 + 2l1d2 C2 ) q&12 + m2 d22 q& 22 +
2 2
1
+
2
[ m2 2d2 (l1C2 + d2 )] q&1q&2 g(m1d1S1 + m2l1S1 + m2 d2 S12 )
.
Derivadas respecto de qi y sus derivadas respecto del tiempo:


= m d 2 + m2 (l12 + d22 + 2l1d2C2 ) q&1 + [ m2 d2 (l1C2 + d2 ) ] q& 2
q&1 1 1
d 
= m1d12 + m2 (l12 + d22 + 2l1d2C2 ) q&&1 + [ m2 (2l1d2 S2 q& 2 ) ] q&1 + [ m2 d2 (l1C2 + d2 ) ] q&&2 + [ m2 d2 (l1S2 q& 2 ) ] q& 2 =
dt q&1
= m1d12 + m2 (l12 + d22 + 2l1d2C2 ) q&&1 [ m2 d2 (l1C2 + d2 ) ] q&&2 [ 2m2l1d2 S2 ] q&1q& 2 [ m2 d2l1S2 ] q& 22


= m d 2 q& + [ m2 d2 (l1C2 + d2 ) ] q&1
q& 2 2 2 2
d 
= m2 d22 q&&2 + [ m2 d2 (l1C2 + d2 ) ] q&&1 + [ m2 d2 (l1S2 q& 2 ) ] q&1 =
dt q& 2
= m2 d22 q&&2 + [ m2 d2 (l1C2 + d2 ) ] q&&1 [ m2 d2l1S2 ] q&1q& 2

Derivadas respecto de qi:


= g [ (m1d1 + m2 l1)C1 + m2 d2 C12 ]
q1

= [ m2 l1d2 S2 ] q&12 [ m2 d2 l1S2 ] q&1q& 2 gm2 d2 C12
q2
CAPTULO 5. DINMICA DEL ROBOT 253

Expresin de Lagrange [5.3]

d  
i =
dt q& i qi
T1 = m1d12 + m2 (l12 + d22 + 2l1d2 C2 ) q&&1 + [ m2 d2 (l1C2 + d2 ) ] q&&2 [ 2m2 l1d2 S2 ] q&1q& 2

m d l S q& 2 +
[ 2 2 1 2] 2

+ g [ (m1d1 + m2 l1)C1 + m2 d2 C12 ]

T2 = [ m2 d2 (l1C2 + d2 ) ] q&&1 + m2 d2 q&&2 [ m2 d2 l1S2 ] q&1q& 2 + [ m2 l1d2 S2 ] q&1 +
2 2


+ [ m2 d2 l1S2 ] q&1q& 2 + gm2 d2 C12

Estas expresiones pueden escribirse en forma matricial como:

T1 m1d1 + m2 (l1 + d2 + 2l1d2 C2 ) m2 d2 (l1C2 + d2 ) q&&1


2 2 2

T = +
2 m2 d2 (l1C2 + d2 ) m2 d22 q&&2
2m2 l1d2 S2 q& 2 m2 d2 l1S2 q& 2 q&1
+ q& +
m2 l1d2 S2 q&1 0 2
g [ (m1d1 + m2 l1)C1 + m2 d2 C12 ]
+
gm2 d2 C12

Donde se aprecian claramente los trminos correspondientes a la inercia, las fuerzas


centrpetas y de Coriolis y las de gravedad.
Obsrvese, como al considerar la masa de la barra 2 concentrada en su centro de masas, la
longitud de la barra (l2) no influye en el modelo dinmico.

Ejercicio 5.3
Obtener, mediante la formulacin de Newton-Euler, el modelo dinmico del robot polar
de 2 grados de libertad de la Figura 5.16, suponiendo en este caso que la masa m1 no existe tal
y como aparece en la figura simplificada.

Solucin:
Habr 2 ecuaciones de equilibrio de fuerzas y pares correspondientes a cada uno de los
grados de libertad q1 1 y q2  d2, correspondiendo el primero a un grado de libertad de ro-
tacin y el segundo a una traslacin.
Las expresiones de Newton-Euler definidas por:

F = dt (mv)
d

T = dt (I )
d
254 FUNDAMENTOS DE ROBTICA

2 2

2
2
1 1

1
0
2 1
1 1

2
2

2 0

Figura 5.16. Robot Polar de 2 grados de libertad en disposicin tumbada del Ejercicio 5.3.

Tomarn en este caso la forma:

d &
T1 = ( I1) + m2 gd2 C1
dt

F2 = m2 d&&2 + m2 gS1 m2 d2&12

Donde se debe considerar que F y T deben incluir tanto las fuerzas y pares de los ac-
tuadores como los de la gravedad y centrfugas (deberan tambin incluir rozamientos y
fuerzas o pares externos en caso de que estos existieran).
El momento de Inercia I de la masa m2 tiene el valor:

I = m2 d22

Por lo que se tendr:

d & d
(I1 )= (m2 d22&1) = 2m2 d2&1d&2 + m2 d22&&1
dt dt

Quedando la expresin de los pares a aplicar:

T1 = 2m2 d2&1d&2 + m2 d22&&1 + m2 gd2 C1


F2 = m2 d&&2 + m2 gS1 m2 d2&12
CAPTULO 5. DINMICA DEL ROBOT 255

O expresado en forma matricial:

T1 m2 d22 0 &&1 0 2m2 d2&1 &1 m2 gd2 C1


F = + +
2 0 m2 d&&2 m2 d2&1 0 d&2 m2 gS1

Obsrvese la coincidencia de estas ecuaciones con las obtenidas para el robot del Ejem-
plo 5.1 en su disposicin horizontal (Figura 5.5), para el caso de m10

Ejercicio 5.4

Obtener, mediante la formulacin de Lagrange, el modelo dinmico del robot polar de 2


grados de libertad de la Figura 5.16, suponiendo en este caso que la masa m1 no existe tal y
como aparece en la figura simplificada.

Solucin:

Coordenadas y velocidades de la masa m2:

x 2 = d2 S1 x& 2 = (S1d&2 + C1d2&1 )



y2 = d2 C1 y& 2 = C1d&2 S1d2&1
v22 = x& 22 + y& 22 = (S1d&2 + C1d2&1 )2 + (C1d&2 S1d2&1 )2
= S12 d&22 + C12 d22&12 + 2S1d&2 C1d2&1 + C12 d&22 + S12 d22&12 2C1d&2 S1d2&1
= d&22 + d 22&12

Energa cintica:

1 1
Ec = m2 v22 = m2 (d&22 + d 22&12 )
2 2

Energa potencial:

E p = gm2 h2 = gm2 y2 = gm2 d2 S1

Lagrangiana:

1
 = Ec E p = m2 (d&22 + d 22&12 ) gm2 d2 S1
2
256 FUNDAMENTOS DE ROBTICA

.
Derivadas respecto de qi y sus derivadas respecto del tiempo:


= m2 d 22&1
&1
d 
= m2 d 22&&1 + 2m2 d2&1d&2
dt q&1

= m2 d&2
d&2
d 
= m2 d&&2
dt q& 2
.
Derivadas respecto de qi :


= gm2 d2 C1
1

= m2 d2&12 gm2 S1
d2

Expresin de Lagrange [5.3]

d  
i =
dt q& i qi
T1 = m2 d 2&&1 + 2m2 d2&1d&2 + gm2 d2 C1

2
&& &2
F2 = m2 d2 m2 d2 1 + gm2 S1

O forma matricial como:

T1 m2 d22 0 &&1 0 2m2 d2&1 &1 m2 gd2 C1


F = + +
2 0 m2 d&&2 m2 d2&1 0 d&2 m2 gS1

Expresin coincidente con la obtenida mediante la formulacin de Newton-Euler en el


Ejercicio 5.3

Ejercicio 5.5

Desarrollar un programa que implemente el algoritmo computacional de Lagrange para el


robot del Ejemplo 5.1 en su configuracin tumbada (Figura 5.5 y Figura 5.17), tomando como
valores dimensionales L1  10; m1  20; m2  10.
El programa graficar los pares necesarios para que el extremo describa una determinada
trayectoria, definida analticamente en el mismo programa. Probar el algoritmo para trayec-
torias en las que alternativamente se pretende que el eje 1 o el 2 permanezcan parados.
CAPTULO 5. DINMICA DEL ROBOT 257

2 2

2
2
1 1

1
0
1 1

Figura 5.17. Robot polar de 2 gdl en configuracin horizontal del Ejercicio 5.5.

Solucin:

El siguiente cdigo matlab (que puede ser guardado en un fichero de nombre


md_L_Rej5_5.m para su posterior ejecucin) recoge la implementacin del algoritmo
de Lagrange para el robot de las Figura 5.5 y Figura 5.17, que permite obtener los pares ne-
cesarios que hay que dar a cada actuador del robot para conseguir una trayectoria articular
deseada.
La trayectoria se define simblicamente y a partir de ella se obtiene la velocidad y ace-
leracin de manera simblica, para despus ser evaluada en 50 puntos entre 0 y 5 segundos.
Se puede cambiar la trayectoria a evaluar cambiando las instrucciones:

% Definicin simblica de la posicin


st1=sin(t)*t+pi/2;
sd2=sin(5*t)+t+1;

Como resultado se obtienen y se representan grficamente los pares y las correspondientes tra-
yectorias de posicin.
Adicionalmente, se obtienen los pares utilizando directamente la expresin analtica ob-
tenida en [5.20] y representando estos de manera superpuesta mediante x a los obtenidos por
el algoritmo, al objeto de comparar el resultado numrico con el analtico.

md_L_Rej5_5.m
% Algoritmo de Lagrange para la solucin del modelo dinmico inverso
%
% Robot polar de 2 GDL ejercicio 5.5

% Definicin de la trayectoria
%
% Definicin simblica de la trayectoria de posicin
sq1=sin(t)*t+pi/2;
sq2=sin(5*t)+t+1;
258 FUNDAMENTOS DE ROBTICA

% Obtencin simblica de la velocidad y aceleracin


sqd1=diff(sq1,t);sqdd1=diff(sqd1,t);
sqd2=diff(sq2,t);sqdd2=diff(sqd2,t);

% Parmetros dimensionales
%
L1=10;
m1=20;
m2=10;
g=9.8;
G=[g 0 0 0];
r11=[0 0 L1 1];
r22=[0 0 0 1];

%Matrices de Derivacin
%
Qr=zeros(4);Qr(1,2)=-1;Qr(2,1)=1;
Qd=zeros(4);Qd(3,4)=1;

% Bucle de paso de tiempo


%
for tk=1:1:50;
t=(tk-1)/10;

% Evaluacin numrica de posicin, velocidad y aceleracin


%
q1=eval(sq1);Q1(tk)=q1 ;qd1=eval(sqd1) ;qdd1=eval(sqdd1);
q2=eval(sq2);Q2(tk)=q2 ;qd2=eval(sqd2) ;qdd2=eval(sqdd2);

% PASOS 1 y 2 Obtencin de las matrices de transformacin Aij


%
% Matrices A00 y A11 son la identidad
A00=eye(4);
A11=eye(4);

%Evalua las matrices A01 y A02


A01 =[cos(q1) 0 -sin(q1) 0;sin(q1) 0 cos(q1) 0;0 -1 0 0;0 0 0 1];
A12 =[1 0 0 0;0 1 0 0;0 0 1 q2;0 0 0 1];

%Evalua la matriz A02=A011*A2


A02=A01*A12;

% PASO 3 Evaluacion matrices Uij


%
U11=A00*Qr*A01;
U12=zeros(4);
U21=A00*Qr*A02;
U22=A01*Qd*A12;

%PASO 4 Evaluacin de las matrices Uijk


%
U111=A00*Qr*A00*Qr*A01;
U112=zeros(4);
U121=zeros(4);
CAPTULO 5. DINMICA DEL ROBOT 259

U122=zeros(4);
U211=A00*Qr*A00*Qr*A02;
U212=A00*Qr*A01*Qd*A12;
U221=A00*Qr*A01*Qd*A12;
U222=A01*Qd*A11*Qd*A12;

% PASO 5 Evaluacin matrices de pseudoinercia Ji


%
J1=zeros(4);J1(3,3)=L1^2*m1;J1(3,4)=L1*m1;J1(4,3)=L1*m1;J1(4,4)=m1;
J2=zeros(4);J2(4,4)=m2;

% PASO 6 Evaluacin de la matriz de Inercias D


%
D(1,1)=trace(U11*J1*U11)+trace(U21*J2*U21);
D(1,2)=trace(U22*J2*U21);
D(2,1)=D(1,2);
D(2,2)=trace(U22*J2*U22);

% PASOS 7-8 Evaluacin de la matriz de Coriolis H


%
h111=trace(U111*J1*U11)+trace(U211*J2*U21);
h112=trace(U212*J2*U21);
h121=trace(U221*J2*U21);
h122=trace(U222*J2*U21);
h211=trace(U211*J2*U22);
h212=trace(U212*J2*U22);
h221=trace(U221*J2*U22);
h222=trace(U222*J2*U22);

H(1,1)=h111*qd1*qd1 + h112*qd1*qd2 + h121*qd2*qd1 + h122*qd2*qd2;


H(2,1)=h211*qd1*qd1 + h212*qd1*qd2 + h221*qd2*qd1 + h222*qd2*qd2;

% PASO 9 Evaluacin de la matriz de Gravedad C


%
C(1,1)=-m1*G*U11*r11-m2*G*U21*r22;
C(2,1)=-m1*G*U12*r11-m2*G*U22*r22;

% PASO 10 Evaluacin de los pares


%
PARES(:,tk)=D*[qdd1 qdd2]+H+C;

% FIN DEL ALGORITMO


%

%-.-.-.-..-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
% VERIFICACIN DEL RESULTADO:

% Este cdigo es nicamente a efectos de verificar


% que la programacin del algoritmo es correcta
% Obtiene la solucin analtica obtenida manualmente
% (Expresin [5.18])

T1=(m1*L1^2+m2*q2^2)*qdd1+2*q2*m2*qd1*qd2;
T1=T1 + g*(m1*L1*cos(q1)+m2*q2*cos(q1));
260 FUNDAMENTOS DE ROBTICA

F2=m2 *qdd2-q2*m2*qd1^2+m2*g*sin(q1);

PARES2(1,tk)=T1;
PARES2(2,tk)=F2;
%-.-.-.-..-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-

end % fin del bucle de paso de tiempo

% Presentacin Grfica de los resultados


%
figure(1);clf

subplot(2,2,1),plot(Q1),grid,legend(strcat(Q1:,sq1),0)
subplot(2,2,2),hold,
plot(PARES(1,:)),plot(PARES2(1,:),rx)
grid,title( PAR Q1 Alg.Lagrange),hold

subplot(2,2,3),plot(Q2),grid,legend(strcat(Q2:,sq2),0)
subplot(2,2,4),hold
plot(PARES(2,:)),plot(PARES2(2,:),rx)
grid,title( PAR Q2 Alg.Lagrange),hold

4
x 10 PAR Q1 Alg.Lagrange
3 1
Q1:sin(2*t)+pi/2

2.5
0.5

2
0
1.5

-0.5
1

0.5 -1
0 10 20 30 40 50 0 10 20 30 40 50

PAR Q2 Alg.Lagrange
2 58
Q2:1
57
1.5
56

1 55

54
0.5
53

0 52
0 10 20 30 40 50 0 10 20 30 40 50

Figura 5.18. Trayectoria con slo el primer gdl en movimiento y pares correspondientes.
CAPTULO 5. DINMICA DEL ROBOT 261

4
x 10 PAR Q1 Alg.Lagrange
3 1
Q1:sin(2*t)+pi/2

2.5
0.5

2
0
1.5

-0.5
1

0.5 -1
0 10 20 30 40 50 0 10 20 30 40 50

PAR Q2 Alg.Lagrange
1 100
Q2:0

90
0.5

80
0
70

-0.5
60

-1 50
0 10 20 30 40 50 0 10 20 30 40 50

Figura 5.19. Trayectoria con slo el primer gdl en movimiento y segundo en cero.

Se muestra en las figuras el resultado de ejecutar el cdigo para los tres conjuntos de tra-
yectorias indicadas, comentando los resultados. Sobre la grfica del par obtenido por el algo-
ritmo de Lagrange, se ha dibujado, mediante x, el valor obtenido por la expresin analtica del
modelo (Ecuacin [5.20]). En todas ellas se aprecia que el resultado obtenido por ambos pro-
cedimientos coincide. En las grficas las variables articulares 1 y d2 aparecen como Q1 y Q2
respectivamente. Asimismo, el par T1 y la fuerza F2, aparecen como PAR Q1 y PAR Q2:

1 = sin (2t ) + / 2
Trayectoria deseada:
d2 = 1
En este caso (Figura 5.18), se desea mantener constante el grado de libertad d2, mientras
que el grado de libertad 1 debe realizar un movimiento alternativo a izquierda y derecha en
torno a la posicin vertical (1/2).
Las ecuaciones del movimiento (obtenidas en [5.20]) toman la forma:

( )
T1 = m1 L12 + m2 d2 2 &&1 + 2d2 m2&1d&2 + m1gL1 cos1 + m2 gd2 cos1 = K1&&1 + K 2 cos1

F2 = m2 d&&2 d2 m2&12 + m2 g sen1 = K3&12 + K 4 sen1

Con Ki valores constantes. Estas ecuaciones reflejan que al ser d2 constante, no aparecen
pares de Coriolis en T1 y que el momento de inercia que debe vencer T1 es constante (K1). Asi-
262 FUNDAMENTOS DE ROBTICA

mismo, se observa que F2 precisa tomar valores variables distintos de cero para evitar que d2
se mueva (se pretende que d2  1), al objeto de compensar la fuerza centrfuga originada por
el giro de 1 y las variaciones del par de gravedad originadas por este giro.
Obsrvese, que si se hubiera pretendido que d2 valiese cero Figura 5.19, la masa m2 habra
quedado situada sobre el eje de giro de 1, lo que hubiera originado la desaparicin de las
fuerzas centrifugas en F2, resultando que sta dependera slo de la fuerza de gravedad ori-
ginada por m2, variable al variar 1.

1 = 2
Trayectoria deseada:
d 2 = sin (2t )

Antes de analizar los resultados (Figura 5.20) conviene llamar la atencin sobre el factor de
escala de 1013 con que aparece afectado el PAR Q1 (T1) en las grficas, que pone de manifies-
to que su valor es cero a pesar de la ligera variacin que se observa en la figura (sta es origi-
nada por el pequeo error de redondeo de Matlab a la hora de evaluar el valor de cos(/2))
En este caso las ecuaciones del modelo quedan reducidas a:

( )
T1 = m1 L12 + m2 d2 2 &&1 + 2d2 m2&1d&2 + m1gL1 cos1 + m2 gd2 cos1 = 0

F2 = m2 d&&2 d2 m2&12 + m2 g sen1 = K 5 d&&2 + K6

-13
x 10 PAR Q1 Alg.Lagrange
3 1.28
Q1:pi/2
1.26
2.5
1.24

2 1.22

1.5 1.2

1.18
1
1.16

0.5
0 10 20 30 40 50 0 10 20 30 40 50

PAR Q2 Alg.Lagrange
1 140

120
0.5

100
0
80
Q2:sin(2*t)
-0.5
60

-1 40
0 10 20 30 40 50 0 10 20 30 40 50

Figura 5.20. Trayectoria con slo el segundo gdl en movimiento y pares correspondientes.
CAPTULO 5. DINMICA DEL ROBOT 263

El movimiento que se pretende conseguir corresponde a un movimiento de vaivn sobre


el eje vertical (el extremo del robot subir y bajar verticalmente).
Al estar siempre en posicin vertical no es preciso desarrollar par alguno de rotacin, por lo
que, tal y como resulta de la resolucin del modelo, T1 debe ser cero para cualquier valor de d2.
Por su parte la fuerza F2 debe vencer a la inercia de la masa m2 (que depende de la ace-
leracin del movimiento senoidal de subida y bajada) y a la gravedad (que tiene el valor cons-
tante de m2g), por tanto, su forma debe ser la de la segunda derivada del sen(2t) afectada de
un factor de escala y centrada en m2g.
Si se realizase la trayectoria con un valor de 1  0, es decir con el robot en posicin ho-
rizontal en lugar de vertical:

1 = 0
Trayectoria deseada:
d 2 = sin (2t )

se tendra que el par T1 se vera obligado a vencer el par de gravedad que, adems del valor
constante originado por m1, tendra una componente variable con d2, tomando, por tanto, la
forma de una senoide en fase con d2, y centrada en m1gL1 (1960). Por su parte F2 no tendra
que vencer la gravedad dedicndose exclusivamente a superar la inercia, siendo por ello una
senoide negativa centrada en 0 (4m2 sen (2*t)) (Figura 5.21). Las ecuaciones del modelo se-
ran entonces:

PAR Q1 Alg.Lagrange
1 2100
Q1:0

2050
0.5

2000
0
1950

-0.5
1900

-1 1850
0 10 20 30 40 50 0 10 20 30 40 50

PAR Q2 Alg.Lagrange
1 40

Q2:sin(2*t)

0.5 20

0 0

-0.5 -20

-1 -40
0 10 20 30 40 50 0 10 20 30 40 50

Figura 5.21. Trayectoria con slo el segundo gdl en movimiento y primero cero.
264 FUNDAMENTOS DE ROBTICA

( )
T1 = m1 L12 + m2 d2 2 &&1 + 2d2 m2&1d&2 + m1gL1 cos1 + m2 gd2 cos1 = m1gL1 + m2 gd2

F2 = m2 d&&2 d2 m2&12 + m2 g sen1 = K 5 d&&2

1 = t * sen (t ) + / 2
Trayectoria deseada:
d 2 = sen (5t ) + t + 1

En este caso (Figura 5.22), ambos movimientos se encuentran acoplados, siendo com-
plejo el predecir cules sern las necesidades de pares en cada grado de libertad. Este tipo de
simulaciones en las que se somete a los grados de libertad a trayectorias complejas, similares
a las que en la prctica se pretende que desarrolle el robot, permiten estimar los pares y fuer-
zas mximos que debe proporcionar cada actuador (del orden de 104 para T1 y de 103 para F2
en este caso) contribuyendo as a su adecuada seleccin.
4
x 10 PAR Q1 Alg.Lagrange
4 1

2 0.5

0 Q1:t*sin(t)+pi/2 0

-2 -0.5

-4 -1
0 10 20 30 40 50 0 10 20 30 40 50

PAR Q2 Alg.Lagrange
7 400

6 200

5 0

4 -200

3 -400

2 -600
Q2:sin(5*t)+t+1
1 -800

0 -1000
0 10 20 30 40 50 0 10 20 30 40 50

Figura 5.22. Trayectoria con 2 gdl en movimiento y pares correspondientes.

Ejercicio 5.6

Utilizar la Toolbox de Robtica de MATLAB, para resolver el modelo dinmico del robot
del Ejercicio 5.5. Comparar el resultado con el obtenido en dicho ejercicio
CAPTULO 5. DINMICA DEL ROBOT 265

Solucin:

La Toolbox de Robtica para MATLAB, incluye la funcin rne que permite la resolucin del
modelo dinmico inverso de un robot mediante el algoritmo computacional de Newton-Euler.
Para su uso es preciso haber definido previamente el robot de manera equivalente a
como se hizo en las funciones de modelado cinemtico, pero incluyendo parmetros din-
micos (se remite al lector a la ayuda en lnea de la funcin link para detalles de stos).
En el caso del robot del ejercicio la definicin del robot responde al siguiente conjunto de
instrucciones (Pueden ser incluidas en el fichero DefRej5_6.m para su posterior ejecucin):

DefRej5_6.m
% DefRej5_6 Define los parametros del Robot del Ejercio 5.6 (Rej5_6)

clear L

%Parmetros de DH
L{1} = link([-pi/2 0 0 0 0], standard);
L{2} = link([ 0 0 0 0 1], standard);

%Masas de los eslabones


L{1}.m = 20;
L{2}.m = 10;

%Coordenadas de los centro de masas de cada eslabn


L{1}.r = [ 0 0 10 ];
L{2}.r = [ 0 0 0 ];

% Tensores de Inercia (Ixx,Iyy,Izz,Ixy,Iyz,Ixz)


L{1}.I = [ 0 0 2000 0 0 0];
L{2}.I = [ 0 0 0 0 0 0];

% Inercia del motor que acciona al elemento


L{1}.Jm = 0;
L{2}.Jm = 0;

% Coeficiente de reduccin del actuador del elemento


L{1}.G = 1;
L{2}.G = 1;

% Rozamiento viscoso del actuador del elemento


L{1}.B = 0;
L{2}.B = 0;

% Rozamiento de Coulomb en la direccin positiva


% y negativa del actuador del elemento
L{1}.Tc = [ 0 0];
L{2}.Tc = [ 0 0];

% Definicin del robot.


Rej5_6=robot(L,Polar RD,UPM,Robot cilndrico 2 GDL ejemplo 5.1);
Rej5_6.name = Polar RD;
Rej5_6.manuf = UPM;
266 FUNDAMENTOS DE ROBTICA

La funcin rne, proporciona los pares necesarios para una determinada trayectoria, defi-
nida mediante los vectores que contienen las coordenadas articulares, sus velocidades y
aceleraciones. Por tanto, ser preciso definir previamente stos.
Complementarias a la funcin rne la Toolbox de Robtica para MATLAB cuenta con las
funciones itorque, coriolis y gravload, que obtienen las aportaciones al par total por inercia,
coriolis y gravedad respectivamente.
La funcin rne_Rej5_6.m define la trayectoria (de modo similar a como se hizo en el
Ejercicio 5.5 ), calcula los pares, tanto total como sus componentes de inercia, Coriolis y gra-
vedad y los dibuja.
La Figura 5.23 muestra el resultado correspondiente a la trayectoria definida por:

1 = t * sin (t ) + / 2
Trayectoria deseada:
d 2 = sin (5t ) + t + 1

Se observa la coincidencia de sta con la obtenida en el Ejercicio 5.5 (Figura 5.22).

rne_Rej5_6.m

% Dibuja los pares para una trayectoria concreta


% utilizando la funcion rne
% Robot ejercicio 5.6

defRej5_6 % Se define el robot


grav=[-9.8,0,0]; % Se define la gravedad con respecto al sistema {S0}
% (ver funcion rne de la toolbox de matlab)
n=50; % Numero de puntos de la trayectoria

% Genera la trayectoria y la dibuja


%
% Definicin simblica de la posicin
sq1=t*sin(t)+pi/2;
sq2=sin(5*t)+t+1;

% Obtencin simblica de la velocidad y aceleracin


sqd1=diff(sq1,t) ;sqdd1=diff(sqd1,t);
sqd2=diff(sq2,t) ;sqdd2=diff(sqd2,t);

% Evaluacin numrica de posicin, velocidad, aceleracin y XY


for tk=1:1:n; t=(tk-1)/10;

q(tk,1)=eval(sq1);qd(tk,1)=eval(sqd1);qdd(tk,1)=eval(sqdd1);
q(tk,2)=eval(sq2);qd(tk,2)=eval(sqd2);qdd(tk,2)=eval(sqdd2);

XY(tk,1)=q(tk,2)*cos(q(tk,1));XY(tk,2)=q(tk,2)*sin(q(tk,1));
end

%Dibuja la trayectoria
figure(1)
subplot(2,2,1),plot(q) ,title(Posicion) ,grid
legend(strcat(Q1:,sq1),strcat(Q2:,sq2),0)
CAPTULO 5. DINMICA DEL ROBOT 267

legend boxoff
subplot(2,2,3),plot(qd),title(Velocidad) ,grid
subplot(2,2,4),plot(qdd),title(Aceleracion),grid
subplot(2,2,2),plot(XY(:,1),XY(:,2)),title(XY),grid

%-.-.-.-..-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
% VERIFICACIN:

% Este cdigo es nicamente a efectos de verificar


% que la programacin del algoritmo es correcta
% Representa la solucin analtica obtenida manualmente
% (Expresin [5.18])

% Parmetros dimensionales
%
L1=10; m1=20; m2=10; g=9.8;

q1=q(:,1);qd1=qd(:,1);qdd1=qdd(:,1);
q2=q(:,2);qd2=qd(:,2);qdd2=qdd(:,2);

T1=(m1*L1^2+m2*q2.*q2).*qdd1 + 2*q2*m2.*qd1.*qd2 +...


+m1*g*L1*cos(q1)+m2*g*q2.*cos(q1);
F2= m2*qdd2 - m2*q2.*qd1.*qd1 + m2*g*sin(q1);
%-.-.-.-..-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-

%Obtiene los pares y las aportaciones al par por


%inercia, coriolis y gravedad y las dibuja
%
figure(2)
Tau=rne(Rej5_6,q,qd,qdd,grav);
TauG = GRAVLOAD(Rej5_6,q,grav);
TauC = CORIOLIS(Rej5_6,q,qd);
TauI = ITORQUE(Rej5_6,q,qdd)

subplot(2,4,1), hold
plot(Tau(:,1)),plot(T1,rx),title(Par Total Q1 rne),grid
legend(strcat(Q1:,sq1),Location,SouthOutside)
legend boxoff,hold
subplot(2,4,2), plot(TauI(:,1)),title(Par Inercia Q1 rne),grid
subplot(2,4,3), plot(TauC(:,1)),title(Par Coriolis Q1 rne),grid
subplot(2,4,4), plot(TauG(:,1)),title(Par Gravedad Q1 rne),grid

subplot(2,4,5), hold
plot(Tau(:,2)),plot(F2,rx),title(Par Total Q2 rne),grid
legend(strcat(Q2:,sq2),Location,SouthOutside)
legend boxoff,hold
subplot(2,4,6), plot(TauI(:,2)),title(Par Inercia Q2 rne),grid
subplot(2,4,7), plot(TauC(:,2)),title(Par Coriolis Q2 rne),grid
subplot(2,4,8), plot(TauG(:,2)),title(Par Gravedad Q2 rne),grid
268 FUNDAMENTOS DE ROBTICA

Posicion XY
8 6
Q1: t*sin(t)+pi/2
Q2 : sin(5*t)+t+1
6 4

4 2

2 0

0 -2

-2 -4

-4 -6
0 10 20 30 40 50 -6 -4 -2 0 2 4 6

Velocidad Aceleracion
6 30

20
4

10
2
0
0
-10

-2
-20

-4 -30
0 10 20 30 40 50 0 10 20 30 40 50

4 4
x 10 Par Total Q1 rne x 10 Par Inercia Q1 rne Par Coriolis Q1 rne Par Gravedad Q1 rne
1 1.5 2000 3000

2000
0.5 1 1000

1000
0.5 0
0
0
0 -1000
-0.5 -1000

-0.5 -2000
-2000
-1
0 20 40 60
Q1:t*sin(t)+pi/2 -1 -3000 -3000
0 20 40 60 0 20 40 60 0 20 40 60

Par Total Q2 rne Par Inercia Q2 rne Par Coriolis Q2 rne Par Gravedad Q2 rne
400 300 0 100

200 -100
200
0 50
-200
100
-200
-300
-400 0 0
-400
-600 -100
-500
-800 -50
-200 -600
-1000
0 20 40 60
-300 -700 -100
Q2:sin(5*t)+t+1 0 20 40 60 0 20 40 60 0 20 40 60

Figura 5.23. Trayectoria y Pares correspondientes a la trayectoria con los 2 gdl en movimiento
obtenida con la funcin rne.
CAPTULO 5. DINMICA DEL ROBOT 269

Ejercicio 5.7

Desarrollar un programa que implemente el algoritmo computacional de Newton-Euler


para el robot planar de 2 grados de libertad del Ejercicio 5.2 (Figura 5.15), tomando como va-
lores dimensionales L1  L2  10; d1  d2  6; m1  20; m2  10. Comparar el resulta-
do con el obtenido con la funcin rne de la toolbox de robtica de matlab

2
2
2

2
1
1

0
1 1
0

Figura 5.24. Robot planar de 2 grados de libertad del Ejercicio 5.2.

Solucin:

Para este robot, y con los sistemas de referencia mostrados en la Figura 5.24, donde por
claridad no se han representado los ejes z, que son en todo caso perpendiculares a la figura y
salientes, se obtiene la siguiente tabla de parmetros DH y las siguientes matrices de trans-
formacin homognea:

Articulacin d a

1 q1 0 l1 0
2 q2 0 l2 0

C1 S1 01 l1C1 C2 S2 01 l2 C2
S C1 0 l1S1 S C2 0 l2 S2
A1 = A2 =
0 1 1 2
0 0 1 0 0 0 1 0

0 0 0 1 0 0 0 1
C12 S12 0 l1C1 + l2 C12
S C12 0 l1S1 + l2 S12
T = 0 A 2 = 0 A1 1 A 2 =
12
0 0 1 0

0 0 0 1
270 FUNDAMENTOS DE ROBTICA

El siguiente cdigo (recogido en el fichero md_NE_Rej5_7.m) desarrolla el algoritmo


computacional de Newton Euler para el robot en cuestin. El cdigo incluye, adems, la eva-
luacin del modelo analtico obtenido en el Ejercicio 5.2, cuyas ecuaciones eran:

T1 = m1d12 + m2 (l12 + d22 + 2l1d2 C2 ) q&&1



m d (l C + d ) q&&
[ 22 1 2 2] 2
2m l d S q& q&
[ 2 1 2 2] 1 2
m d l S q& 2 +
[ 2 2 1 2] 2

+ g [ (m1d1 + m2l1)C1 + m2 d2C12 ]

T2 = [ m2 d2 (l1C2 + d2 ) ] q&&1 +

+ m2 d22 q&&2

+ [ m2 l1d2 S2 ] q&12 +

+ gm2 d2 C12

El resultado de estas ecuaciones se muestra en la grfica mediante (x).


Asimismo, se utiliza la funcin rne de la Toolbox de Robtica para MATLAB, aplicada al
robot Scara cuya definicin se realiza mediante el cdigo del fichero DefScara. Los pares ob-
tenidos mediante rne, se muestran mediante (o). En las grficas se puede observar la coinci-
dencia de los resultados obtenidos mediante los tres mtodos.

DefScara.m
%DefScara Define los parametros del Robot del Ejercio 5.7 Scara
l1=10;l2=10;
d1=6;d2=6;
m1=20;m2=10;

clear L

%Parmetros de DH
L{1} = link([0 l1 0 0], standard);
L{2} = link([0 l2 0 0], standard);

%Masas de los eslabones


L{1}.m = m1;
L{2}.m = m2;

%Coordenadas de los centro de masas de cada eslabn


L{1}.r = [ -(l1-d1) 0 0 ];
L{2}.r = [ -(l2-d2) 0 0 ];

% Tensores de Inercia (Ixx,Iyy,Izz,Ixy,Iyz,Ixz)


L{1}.I = [ 0 0 0 0 0 0];
L{2}.I = [ 0 0 0 0 0 0];
CAPTULO 5. DINMICA DEL ROBOT 271

% Inercia del motor que acciona al elemento


L{1}.Jm = 0;
L{2}.Jm = 0;

% Coeficiente de reduccin del actuador del elemento


L{1}.G = 1;
L{2}.G = 1;

% Rozamiento viscoso del actuador del elemento


L{1}.B = 0;
L{2}.B = 0;

% Rozamiento de Coulomb en la direccin positiva y negativa del actuador


% del elemento
L{1}.Tc = [ 0 0];
L{2}.Tc = [ 0 0];

% Definicin del robot.


Scara = robot(L, Scara, UPM, Robot Scara 2 GDL (Ej. 5.7);
Scara.name = Scara;
Scara.manuf = UPM;

La Figura 5.25 recoge el resultado de este cdigo para la trayectoria

q1 = 0

q2 = t

Se observa cmo el giro del eje 2, precisa no slo aportacin de par en este eje, sino que
tambin precisa aportacin de par en el eje 1 al objeto de compensar los efectos del acopla-
miento con el eje 2 y conseguir as que el eje 1 permanezca quieto.

La Figura 5.26 muestra los pares necesarios para conseguir la trayectoria definida por:

q1 = sin (t ) + pi / 2

q2 = sin (5t ) + t + 1

En este caso se observa de nuevo el efecto que el movimiento del eje 2 tiene sobre el eje 1.

md_NE_Rej5_7.m
% Algoritmo de Newton Euler
% para la solucin del modelo dinmico inverso de un robot
%
%
% Robot Scara 2 GDL ejercicio 5.7

% Nmero de puntos de la trayectoria


n=100;
272 FUNDAMENTOS DE ROBTICA

% Definicin de la trayectoria
%
% Definicin simblica de la posicin
sq1=sin(t)+pi/2;
sq2=sin(5*t)+t+1;

% Definicion de Fuerzas en el extremo


%
sf3=[0 00 0]; % Sustituir en cada eje en caso se querer aplicar
sn3=[0 0 0]; % fuerzas o pares externos

% Obtencin simblica de la velocidad y aceleracin


sqd1=diff(sq1,t) ;sqdd1=diff(sqd1,t);
sqd2=diff(sq2,t) ;sqdd2=diff(sqd2,t);

% Parmetros dimensionales
%
l1=10;l2=10;
d1=6;d2=6;
m1=20;m2=10;
g=9.8;

% Parmetros iniciales
%
% Velocidades y aceleraciones de la base del robot
w0=[0 0 0];
dw0=[0 0 0];
v0=[0 0 0];
dv0=-[0 -g 0];
z0=[0 0 1];

% Matriz de rotacin entre {S2} y TCP ({S3})


%
R23=eye(3);

% Bucle de paso de tiempo


%
for tk=1:1:n;
t=(tk-1)/10;

% Evaluacin numrica de posicin, velocidad, aceleracin


% y trayectoria del TCP
%
q1=eval(sq1) ;qd1=eval(sqd1) ;qdd1=eval(sqdd1);
q2=eval(sq2) ;qd2=eval(sqd2) ;qdd2=eval(sqdd2);

q(tk,1)=q1;qd(tk,1)=qd1;qdd(tk,1)=qdd1;
q(tk,2)=q2;qd(tk,2)=qd2;qdd(tk,2)=qdd2;
XY(tk,1)=l1*cos(q1)+l2*cos(q1+q2);
XY(tk,2)=l1*sin(q1)+l2*sin(q1+q2);
CAPTULO 5. DINMICA DEL ROBOT 273

%Evaluacin numrica de las fuerzas y pares en el TCP


%
n3=eval(sn3) ;
f3=eval(sf3) ;
n_3(tk,:)=n3;
f_3(tk,:)=f3;

% PASO 1-2 Evaluacion de los vectores p,s y de la matriz de inercias


%
p1=[l1 0 0]; %vector de {S0} a {S1}en el sistema {S1}
p2=[l2 0 0]; %vector de {S1} a {S2}en el sistema {S2}
s1=[-(l1-d1) 0 0]; %Coordenadas del cdg de la barra 1 respecto {S1}
s2=[-(l2-d2) 0 0]; %Coordenadas del cdg de la barra 2 respecto {S2}
I1=zeros(3); %Inercias de barra 1 respecto su cdg en la base{S1};
I2=zeros(3); %Inercias de barra 2 respecto su cdg en la base{S2};

% PASO 3 Obtencin de las matrices de rotacin R01 y R12


%
R01=[cos(q1) -sin(q1) 0;sin(q1) cos(q1) 0;0 0 1];
R12=[cos(q2) -sin(q2) 0;sin(q2) cos(q2) 0;0 0 1];

%PASO 4 Evaluacin de las velocidades angulares de {Si}


%
w1=R01*(w0+z0*qd1);
w2=R12*(w1+z0*qd2);

% PASO 5 Evaluacin de las aceleraciones angulares de {Si}


%
dw1=R01*(dw0 +z0*qdd1)+cross(w0,z0*qd1);
dw2=R12*(dw1 +z0*qdd2)+cross(w1,z0*qd2);

% PASO 6 Evaluacin de las aceleraciones lineales de {Si}


%
dv1=cross(dw1,p1)+cross(w1,cross(w1,p1))+R01*dv0;
dv2=cross(dw2,p2)+cross(w2,cross(w2,p2))+R12*dv1;

% PASO 7 Evaluacin de la aceleracin lineal de los cdg


%
a1=cross(dw1,s1)+cross(w1,cross(w1,s1))+dv1;
a2=cross(dw2,s2)+cross(w2,cross(w2,s2))+dv2;

% PASO 8 Evaluacin de las fuerzas sobre los eslabones


%
f2=R23*f3+m2*a2;
f1=R12*f2+m1*a1;

% PASO 9 Evaluacin de los pares sobre los eslabones


%
n2=R23*(n3+cross((R23*p2),f3))+cross((p2+s2),m2*a2)+I2*dw2+cross(w2,(I2*w2));
n1=R12*(n2+cross((R12*p1),f2))+cross((p1+s1),m1*a1)+I1*dw1+cross(w1,(I1*w1));
274 FUNDAMENTOS DE ROBTICA

% PASO 10 Evaluacin de los pares


%
P1=n1*R01*z0;
P2=n2*R12*z0;
PARES(tk,1)=P1;
PARES(tk,2)=P2;

% FIN DEL ALGORITMO


%

%-.-.-.-..-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
% VERIFICACIN:

% Este cdigo es nicamente a efectos de verificar


% que la programacin del algoritmo es correcta
% Obtiene la solucin analtica obtenida manualmente
% (Expresin [5.20])

T1=(m1*d1^2+m2*(l1^2+d2^2+2*l1*d2*cos(q2)))*qdd1+...
+(m2*d2*(l1*cos(q2)+d2))*qdd2+...
-(2*m2*l1*d2*sin(q2))*qd2*qd1+...
-(m2*d2*l1*sin(q2))*qd2*qd2+...
+g*((m1*d1+m2*l1)*cos(q1)+ m2*d2*cos(q1+q2));

T2= (m2*d2*(l1*cos(q2)+d2))*qdd1+...
+ (m2*d2^2)*qdd2+...
+ (m2*d2*l1*sin(q2))*qd1*qd1+...
+ g*m2*d2*cos(q1+q2);

PARES2(tk,1)=T1;
PARES2(tk,2)=T2;
%-.-.-.-..-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-

end % fin del bucle de paso de tiempo


%

%-.-.-.-..-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
% VERIFICACIN:

% Este cdigo es nicamente a efectos de verificar


% que la programacin del algoritmo es correcta
% Obtiene la solucin mediante la funcin rne de la toolbox de robtica de %
de la toolbox de robtica de Matlab
defScara; % Se define el robot
grav=[0,9.8,0]; % Se define la gravedad con respecto al sistema {S0}
PARES3=rne(Scara,q,qd,qdd,grav,[f_3,n_3]);
%-.-.-.-..-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-

% Presentacin Grfica de los resultados


figure(1);clf

subplot(2,2,1),hold;grid,plot(q(:,1)),title(Q1),legend(strcat(Q1:,sq1),0),hold;
subplot(2,2,2),hold;grid,title( PAR Q1 Alg.NE (-), Sol. analtica (x),
CAPTULO 5. DINMICA DEL ROBOT 275

Funcin rne (o))


plot(PARES(:,1)),plot(PARES2(:,1),rx),plot(PARES3(:,1),bo),hold;

subplot(2,2,3),hold;grid,plot(q(:,2)),title(Q2),legend(strcat(Q2:,sq2),0)
,hold;
subplot(2,2,4),hold;grid,title( PAR Q2 Alg.NE (-), Sol. analtica (x),
Funcin rne (o))
plot(PARES(:,2)),plot(PARES2(:,2),rx),plot(PARES3(:,2),bo),hold;

Q1 PAR Q1 Alg.NE ( -), Sol. analtica (x), Funcin rne (o)


1 3000
Q1:0

0.5 2500

0 2000

-0.5 1500

-1 1000
0 20 40 60 80 100 0 20 40 60 80 100

Q2 PAR Q2 Alg.NE ( -), Sol. analtica (x), Funcin rne (o)


10 600

400
8

200
6
0
4
-200
Q2:t
2
-400

0 -600
0 20 40 60 80 100 0 20 40 60 80 100

Figura 5.25. Trayectoria y Pares con primer gdl nulo y segundo en movimiento.
276 FUNDAMENTOS DE ROBTICA

Q1 PAR Q1 Alg.NE ( -), Sol. analtica (x), Funcin rne (o)


4
x 10
3 3
Q1:sin(t)+pi/2
2
2.5

1
2
0
1.5
-1

1
-2

0.5 -3
0 20 40 60 80 100 0 20 40 60 80 100

Q2 PAR Q2 Alg.NE ( -), Sol. analtica (x), Funcin rne (o)


4
x 10
12 1

Q2:sin(5*t)+t+1
10
0.5
8

6 0

4
-0.5
2

0 -1
0 20 40 60 80 100 0 20 40 60 80 100

Figura 5.26. Trayectoria y Pares con los 2 gdl en movimiento.

5.8. BIBLIOGRAFA

[AMARIS-95] H. Amaris, Modelado y control de la flexin de robots de grandes dimensiones,


Tesis Doctoral, DISAM, Universidad Politcnica de Madrid, 1995.
[CRAIG-89] J. J. Craig, Manipulator Dynamics, en: Introduction to Robotics, Addsison
Wesley, 2.a edicin, 1989.
[DAZZO-95] J. J. DAzzo y C. H. Houpis, Writing System Equations, en: Linear Control
System Analysis and Design, McGraw-Hill, 4.a edicin, 1995.
[FELI-06] V. Feli, Robots Flexibles: hacia una generacin de robots con nuevas presta-
ciones, Revista Iberoamericana de Automtica e Informtica Industrial, vol. 3, n.o 3, ju-
lio, 2006.
[FU-88] K. S. Fu, R. C. Gonzlez y C. S. G. Lee, Dinmica del Brazo del Robot, en: Ro-
btica, Control, Deteccin, Visin e Inteligencia, McGraw-Hill/Interamericana, Madrid,
1988.
[OGATA-03] K. Ogata, Modelado Matemtico de Sistemas Dinmicos, en: Ingeniera de
Control Moderna, Prentice-Hall Hispanoamericana, 4.a edicin, 2003.
[PAUL-81] R. P. Paul, Dynamics, en: Robot Manipulators, Mathematics, Programming and
Control, The MIT Press, Massachussets, 1982.
[SALTAREN-96] R. Saltaren, Herramientas para el modelado y diseo paramtrio de robots
basadas en la dinmica de los sistemas multicuerpo, Tesis Doctoral, DISAM, Universidad
Politcnica de Madrid, 1996.
CAPTULO 5. DINMICA DEL ROBOT 277

[SALTAREN-00] R. Saltaren y otros, Prcticas de Robtica utilizando Matlab. Ed. Universidad


Miguel Hernndez, Elche, 2000.
[SPONG-06] M. W. Spong y otros, Robot modeling and control. Ed. John Wiley & Sons, Inc.
2006.
[UICKER-64] J. J. Uicker, J. Denavit y R. S. Hartenberg, An Iterative Method for the Dis-
placement Analysis of Spatial Mechanism, Trans. ASME Journal of Applied Mech., vol.
31, Serie B, 1964.
[UICKER-65] J. J. Uicker, On the Dynamic Analysis of Spacial Linkages Using 4 4 Matrices,
Ph.D. Dissertation, Northwestern University, Evaston, Ill, 1965.
[WATTON-89], J. Watton, Response, Stability and Control of Electrohydraulics Systems, en:
Fluid Power Systems, Prentice-Hall, 1989.
CAPTULO 6
Control cinemtico

No hay atajo sin trabajo


Refranero Popular

En captulos anteriores se ha visto cmo obtener el modelo cinemtico y dinmico de un


robot. El objetivo fundamental de ambos modelos es el de poder establecer las adecua-
das estrategias de control del robot que redunden en una mayor calidad de sus movi-
mientos.
El control cinemtico establece cules son las trayectorias que debe seguir cada articula-
cin del robot a lo largo del tiempo para lograr los objetivos fijados por el usuario (punto de
destino, trayectoria cartesiana del efector final del robot, tiempo invertido por el usuario, etc.).
Estas trayectorias se seleccionarn atendiendo a las restricciones fsicas propias de los ac-
cionamientos y a ciertos criterios de calidad de trayectoria, como suavidad o precisin de la
misma.

6.1. FUNCIONES DE CONTROL CINEMTICO

La Figura 6.1 muestra, de manera esquemtica, el funcionamiento del control cinemtico. Re-
cibe como entradas los datos de movimiento procedentes del programa del robot escrito por
el usuario (punto de destino, precisin, tipo de trayectoria deseada, velocidad o tiempo in-
vertido, etc.) y, apoyndose en el modelo cinemtico del robot, establece las trayectorias para
cada articulacin como funciones de tiempo. Estas trayectorias deben ser muestreadas con un
perodo T a decidir, generndose en cada instante kT un vector de referencias articulares para
los algoritmos de control dinmico.
De manera general, el control cinemtico deber realizar las siguientes funciones:

CC-1. Interpretar la especificacin del movimiento, dada en el programa, mediante una


trayectoria analtica en espacio cartesiano (evolucin de cada coordenada carte-
siana en funcin del tiempo).
CC-2. Muestrear la trayectoria cartesiana obteniendo un nmero finito de puntos de dicha
trayectoria. Cada uno de estos puntos vendr dado por una 6-upla, tpicamente
(x, y, z, , , ).
CC-3. Utilizando la transformacin homognea inversa, convertir cada uno de estos
puntos en sus correspondientes coordenadas articulares (q1, q2, q3, q4, q5, q6).
Debe tenerse en cuenta aqu la posible solucin mltiple de la transformacin ho-

279
280 FUNDAMENTOS DE ROBTICA

PROGRAMA

Punto de destino (x,y,z,,,)


Tipo de trayectoria
Tiempo a invertir o velocidad
Precisin del punto final y de la trayectoria cartesiana

Velocidad y aceleracin
GENERADOR mxima de la articulacin
DE
TRAYECTORIAS
MODELO
CINEMTICO

Trayectorias articulares qi (kT)

MUESTREO

Referencias para el control dinmico qi (kT) (kT)

CONTROL
DINMICO

Figura 6.1. Funcionamiento del control cinemtico (sombreado).

mognea inversa, as como la posibilidad de ausencia de solucin y puntos sin-


gulares, de modo que se asegure la continuidad de la trayectoria.
CC-4. Interpolacin de los puntos articulares obtenidos, generando para cada variable ar-
ticular una expresin qi(t) que pase o se aproxime a ellos de modo que, siendo una
trayectoria realizable por los actuadores, se transforme en una trayectoria carte-
siana lo ms prxima a la especificada por el programa del usuario (en cuanto a
precisin, velocidad, etc.).
CC-5. Muestreo de la trayectoria articular para generar referencias al control dinmico.

Debe entenderse que en casos particulares algunas de estas funciones pueden omi-
tirse. Por ejemplo, si el usuario especifica la trayectoria mediante las sucesivas confi-
guraciones articulares que debe adoptar el robot (como en el caso de la programacin
por guiado tal y como se describe en el Captulo 8), las funciones CC-1, CC-2 y CC-3
carecen de sentido.
La Figura 6.2 muestra un posible caso en el que se pretende que un robot de 2 grados de
libertad se mueva en lnea recta desde el punto j1 = (x1, y1) hasta el punto j4 = (x4, y4) en un
tiempo T (Figura 6.2a). El control cinemtico, a partir de la expresin analtica de esta tra-
yectoria, selecciona 4 puntos de ella: j1, j2, j3, j4 (Figura 6.2b) y mediante la transformacin
homognea inversa obtiene los correspondientes vectores articulares q1, q2, q3, q4 (Figu-
ra 6.2c). A continuacin trata de unir estos 4 puntos con algn tipo de funcin que pasando
por todos ellos garantice la suavidad de la trayectoria, evitando que se superen las veloci-
dades y aceleraciones mximas permisibles para cada accionador (Figura 6.2d). Esta funcin
CAPTULO 6. CONTROL CINEMTICO 281

x x
j 1 1
j j2

j3

j4
j4

y y
a) b)

q2 q2
q2 q2
q3 q1 q3 q1

q4 q4

q1 q1
c) d)
x

y
e)
Figura 6.2. Ejemplo de las fases del control cinemtico en un rogto de 2 grados de libertad.

constituye la trayectoria articular que, mediante su muestreo, generar referencias para los
controladores de movimiento (vase Captulo 7) de las articulaciones. El resultado final del
movimiento del extremo del robot es una trayectoria que se aproxima en mayor o menor me-
dida a la lnea recta deseada (Figura 6.2e).
Por tanto, para abordar el control cinemtico de un robot se deber, fundamentalmente,
conocer qu tipo de trayectorias se puede pretender que realice el robot (funcin CC-1) as
como qu tipo de interpoladores pueden ser eficaces para unir los puntos articulares por los
que se quiere pasar (funcin CC-4). Asimismo, ser conveniente establecer criterios para se-
leccionar cuntos y qu puntos sern muestreados en la trayectoria del espacio cartesiano
(funcin CC-2) y con qu frecuencia se deben actualizar las referencias articulares al control
dinmico (funcin CC-5).
282 FUNDAMENTOS DE ROBTICA

6.2. TIPOS DE TRAYECTORIAS


Para realizar una tarea determinada el robot debe moverse desde un punto inicial a un pun-
to final. Este movimiento podra ser realizado segn infinitas trayectorias espaciales. De
todas ellas hay algunas que, bien por su sencillez de implementacin o bien por su utilidad
y aplicacin a diversas tareas, son las que en la prctica incorporan los robots comerciales,
siendo su generacin funcin del control cinemtico (funcin CC-1). De este modo, pue-
de encontrarse que los robots dispongan de trayectorias punto a punto o trayectorias con-
tinuas.
La Figura 6.3 representa las trayectorias articulares q1(t) y q2(t) y el resultado final en el
espacio de la tarea (x, y) para un robot articular de 2 grados de libertad (equivalente a un ro-
bot SCARA visto en planta) correspondientes a los cuatro tipos de trayectorias que a conti-
nuacin se describen.

6.2.1. Trayectorias punto a punto


En este tipo de trayectorias cada articulacin evoluciona desde su posicin inicial a la final sin
realizar consideracin alguna sobre el estado o evolucin de las dems articulaciones. Nor-
malmente, cada actuador trata de llevar a su articulacin al punto de destino en el menor tiem-
po posible, pudindose distinguir dos casos: movimiento eje a eje y movimiento simultneo
de ejes. A su vez, dentro del segundo tipo, los ejes pueden moverse de manera independien-
te o coordinada

Movimiento eje a eje

En este caso, slo se mueve un eje cada vez. Comenzar a moverse la primera articulacin, y
una vez que sta haya alcanzado su punto final lo har la segunda, y as sucesivamente. Este
tipo de movimiento da como resultado un mayor tiempo de ciclo, teniendo como nica ven-
taja un menor consumo de potencia instantnea por parte de los actuadores y la posible
multiplexacin de una nica etapa de potencia. Su uso en la prctica actual es muy limitado
(Figura 6.3a).

Movimiento simultneo de ejes

En este caso, todos los actuadores comienzan simultneamente a mover las articulaciones del
robot a una velocidad especfica para cada una de ellas. Dado que la distancia a recorrer y las
velocidades sern en general diferentes, cada una acabar su movimiento en un instante di-
ferente.
El movimiento del robot no acabar hasta que se alcance definitivamente el punto final, lo
que se producir cuando concluya su movimiento el eje que ms tarde. De esta manera, el
tiempo total invertido en el movimiento coincidir con el del eje que ms tiempo emplee en
realizar su movimiento particular, pudindose dar la circunstancia de que el resto de los ac-
tuadores hayan forzado su movimiento a una velocidad y aceleracin elevada, vindose
obligados finalmente a esperar a la articulacin ms lenta (Figura 6.3b).
CAPTULO 6. CONTROL CINEMTICO 283

Por los motivos expuestos, en la prctica las trayectorias con movimiento simultneo de
los ejes, pero no coordinado, no estn por lo general implementadas, siendo sustituidas por las
trayectorias coordinadas que se describen a continuacin.

Trayectorias coordinadas o isocronas

Para evitar que algunos actuadores trabajen forzando sus velocidades y aceleraciones, te-
niendo que esperar despus la conclusin del movimiento de la articulacin ms lenta, puede
hacerse un clculo previo, averiguando cul es esta articulacin y qu tiempo invertir. Se ra-
lentizar entonces el movimiento del resto de los ejes para que inviertan el mismo tiempo en
su movimiento, acabando todos ellos simultneamente. Se tiene as que todas las articula-
ciones se coordinan comenzando y acabando su movimiento a la vez, adaptndose todas a la
ms lenta (Figura 6.3c).
El tiempo total invertido en el movimiento es el menor posible y no se demandan acele-
raciones y velocidades elevadas a los actuadores de manera intil. Desde el punto de vista del
usuario la trayectoria que describe el extremo del robot no es significativa, siendo sta im-
predecible, aunque como es obvio, un conocimiento del modelo y control cinemtico del ro-
bot permitira su clculo. La mayor parte de los robots industriales cuentan con este tipo de
trayectorias, denominndose frecuentemente de manera genrica como trayectorias punto a
punto.

6.2.2. Trayectorias continuas


Cuando se pretende que la trayectoria que sigue el extremo del robot sea conocida por el
usuario (trayectoria en el espacio cartesiano o de la tarea), es preciso calcular y controlar de
manera continua las trayectorias articulares, que, por lo general, presentarn una compleja
evolucin temporal.
Tpicamente, las trayectorias que el usuario pretende que el robot describa son trayectorias
en lnea recta o en arco de crculo. Para conseguirlo habr que seguir los pasos CC-1 a CC-5
indicados en el Epgrafe 6.1. El resultado ser que cada articulacin sigue un movimiento
aparentemente catico con posibles cambios de direccin y velocidad y sin coordinacin con
el resto de las articulaciones. Sin embargo, el resultado conjunto ser que el extremo del ro-
bot describir la trayectoria deseada (Figura 6.3d).

6.3. GENERACIN DE TRAYECTORIAS CARTESIANAS


Normalmente, el usuario del robot indica el movimiento que ste debe realizar especificando
las localizaciones espaciales por las que debe pasar el extremo, junto con otros datos, como
instantes de paso, velocidades o tipos de trayectorias. As, por ejemplo, es frecuente especi-
ficar que el robot debe ir de un punto inicial hasta otro final, siguiendo en el espacio de la ta-
rea una lnea recta a velocidad constante.
En ocasiones, el usuario precisa especificar una secuencia de localizaciones por las que se
desea que pase el extremo del robot, siendo preciso entonces establecer un interpolador entre
las localizaciones expresadas en el espacio de la tarea que dar como resultado una expresin
analtica de la evolucin de cada coordenada. La interpolacin ms simple consiste en la in-
284 FUNDAMENTOS DE ROBTICA

qi x

q2

q1

t1 t1 +t 2 y
a)
qi x

q2

q1

t2 t1 y
qi b)
x

q
2

q
1

t y
c)
qi x

q2

q1

t1 y
d)

Figura 6.3. Diferentes trayectorias articulares posibles para un robot articular de 2 GDL.
a) movimiento eje a eje, b) movimiento simultneo de ejes, c) trayectoria coordinada, d) trayectoria
continua rectilnea.

terpolacin lineal entre 2 localizaciones sucesivas, de modo que en el intervalo entre cada 2
localizaciones, cada coordenada en el espacio de la tarea evoluciona a velocidad constante
desde su valor inicial j i hasta el final j f :
CAPTULO 6. CONTROL CINEMTICO 285

t ti
j (t ) = ( j f j i ) + ji [6.1]
t f ti

donde ti y tf son los instantes de tiempo en los que se pretende alcanzar la localizacin inicial
y final del intervalo, respectivamente.
Este tipo de evolucin origina evidentes discontinuidades en la velocidad y aceleracin en
los puntos de paso, por lo que su uso no es recomendable.
Para evitar estas discontinuidades pueden utilizarse las tcnicas de interpoladores a tramos
u otros de los interpoladores que se describen en el Epgrafe 6.5 para el caso de variables ar-
ticulares.

6.3.1. Evolucin de la orientacin


Como es conocido, la especificacin de la posicin en el espacio de la tarea se realiza habi-
tualmente, y salvo escasas excepciones, en coordenadas cartesianas. Sin embargo, tal y
como se vio en el Captulo 3, la especificacin de la orientacin puede realizarse mediante di-
ferentes herramientas, como son: matrices de rotacin, ngulos de Euler (en sus diferentes
versiones), par de rotacin o cuaternios.
Esta nica alternativa de representacin de la posicin no deja dudas en cuanto a que el
procedimiento ms adecuado para unir dos posiciones en el espacio de la tarea es la interpo-
lacin de cada una de sus coordenadas, ya sea mediante un interpolador lineal o de otro tipo
de los indicados en el Epgrafe 6.5, resultando as un movimiento sencillo, fcilmente inter-
pretable por el usuario y de calidad.
Sin embargo, para el caso de la orientacin, esta interpolacin desde el valor inicial has-
ta el final puede ser planteada a trminos de matrices de rotacin, ngulos de Euler, par de ro-
tacin o cuaternios, resultando en cada caso trayectorias diferentes.
La utilizacin de las matrices de rotacin lleva a resultados inconsistentes. Como es sa-
bido, las matrices de rotacin deben ser necesariamente matrices ortonormales. La interpo-
lacin lineal o de otro tipo entre una matriz de rotacin inicial y otra final lleva a matrices in-
termedias no necesariamente ortonormales y, por tanto, que no corresponden a matrices de
rotacin.

EJEMPLO 6.1

Supngase que se quiere evolucionar desde una orientacin inicial Ri hasta otra final
Rf definidas respectivamente por:

1 0 0 0 1 0

R i = 0 1 0 R f = 0 0 1
0 0 1 1 0 0

La orientacin Rf corresponde a una rotacin desde la orientacin definida por Ri de


90 respecto del eje z seguido de una rotacin de 90 respecto del eje x.
Como se puede comprobar, las columnas o filas de ambas matrices son ortonormales,
como corresponde a matrices de rotacin.
286 FUNDAMENTOS DE ROBTICA

La evolucin lineal entre estas 2 matrices dara lugar a una matriz que en el punto in-
termedio valdra:

1 2 1 2 0

Rm = 0 1 2 1 2
1 2 0 1 2

Cuyas filas y columnas no son ortonormales y, por tanto, Rm no puede corresponder a


una orientacin vlida del extremo del robot.

La utilizacin de los ngulos de Euler, en cualquiera de sus formas, adems de ser la re-
presentacin ms compacta, no presenta este inconveniente. As, para pasar de una orienta-
cin inicial (i , i , i) a una final (f , f , f) se podran utilizar las funciones lineales:

(
(t ) = f i ) tt tt
f
i

i
+ i

(
(t ) = f i ) tt tt
f
i

i