Sunteți pe pagina 1din 111

,

ROBOTICA:

Control, deteccion, vision e inteligencia

(111 I I

/'

K. s. FU R. C. GONZALEZ C. S. G. LEE

Traducci6n

SEBASTIAN DORMIDO BENCOMO Catedratico Informatica y Automatics Facultad de Ciencias Fisicas UNED (Madrid)

Revisi6n tecnica

ANTONIO VAQUERO SANCHEZ Catedratico Informatica y Automatics Facultad de Ciencias Fisicas Universidad Complutense de Madrid

.. ItO DE CORTESlJ.

II

McGraw-Hili

MADRID. BOGOTA. BUENOS AIRES. GUATEMALA. LlSBOA • MEXICO NUEVA YORK. PANAMA. SAN JUAN. SANTIAGO. SAO PAULO AUCKLAND. HAM BURGO • LONDRES • MONTREAL

NUEVA DELHI. PARIS. SAN FRANCISCO. SINGAPUR

ST. LOUIS. SIDNEY. TOKIO. TORONTO

CONTENIDO

Prologo

xi

1. Introducci6n

1.1. Antecedentes I

1.2. Desarrollo historico 4

1.3. Cinematica y dinarnica del brazo del robot 6

1.4. Planificaci6n de la trayectoria y control del movimiento del manipulador 7

1.5. Sensores del robot 9

1.6. Lenguajes de prograrnacion de robots to

1.7. Inteligencia del robot II

1.8. Referencias II

2. Cinematica del brazo del robot

2.1. lntroduccion

2.2. El problema cinernatico directo 2.3. El problema cinematico inverso 2.4. Observaciones finales

Referencias Problemas

13 13 15 54 78 79 79

3. Dinamica del brazo del robot

3.1. Introduccion

3.2. Forrnulacion de Lagrange-Euler 3.3. Formulaci6n de Newton-Euler

3.4. Ecuaciones de movimiento generalizadas de d' Alembert 3.5. Observaciones finales

Referencias Problemas

85 85 87

106 128 146 146 147

viii CONTENIDO
4. Ptanificacion de trayectorias de un manipulador 152
4.1. Introduccion 152
4.2 .. Consideraciones generales sobre la planificacion de trayectoria 155
4.3. Trayectorias de articulacion interpoladas 157
4.4. Planificacien de trayectorias de caminos
cartesianos del manipulador 178
4.5. Observacienes finales 201
Referencias 201
Problemas 203
5. Control de manipuladores de robot 206
5.1. Introduccion 206
5.2. Control del brazo del robot PUMA 208
5.3. Tecnica del par calculado 210
5.4. Control suboptimo de tiempo rninimo 228
5.5. Control de estructura variable 232
5.6. Control por realirnentacion desacoplado no lineal 234
5.7. Control de movimiento resuelto 239
5.8. Control adaptativo 251
5.9. Observaciones finales 272
Referencias 273
Problemas 274
6. Deteccion 275
6.1. Introduccion 275
6.2. Deteccion de altance 276
6.3. Deteccion de proximidad 285
6.4. Sensores de contacto 293
6.5. Deteccion de fuerza y torsion 299
6.6. Observaciones finales 303
Referencias 303
Problemas 304
7. Vision de bajo nivel 306
7.1. Introduccion 306
7.2. Adquisicion de irnagenes 308
7.3. Tecnicas de iluminacion 315
7.4. Geometria de forrnacion de irnagenes 319
7.5. Algunas relaciones basicas entre pixels 339
7.6. Preprocesamiento 343
7.7. Observaciones finales 372
Referencias 373
Problemas 374
8. Vision de mas alto nivel 375
8.1. Introduccion 375
8.2. Segmentacion 376
8.3. Descripcion 410 8.4. Segmentaci6n y descripcion de estructuras tridimensionales 8.5. Reconocimiento

8.6. Interpretacion

8.7. Observaciones finales Referencias Problemas

9. Lenguajes de programaci6n del robot 9.1. Introduccion

9.2. Caracteristicas de los lenguajes de nivel de robots 9.3. Caracteristicas de los lenguajes a nivel de tarea 9.4. Observaciones finales

Referencias Problemas

10. Inteligencia de robot y planificaci6n de tareas

10.1. 10.2. 10.3. 10.4. 10.5. 10.6. 10.7. 10.8. 10.9. 10.10. 10.11.

Introducci6n

Busqueda del espacio de est ados Reduccion del problema

Uso de la logica de predicados Analisis «means-ends» Resolucion del problema Aprendizaje del robot Planificacion de tareas de robot

Problemas basicos en la planificacion de tareas Sistemas expertos e ingenieria del conocimiento Observaciones finales

Referencias

Problemas

Apendices

A Vectores y matrices

B lacobiano del manipulador

Bibliografia lndice

CONTENIDO ix

431 440 456 460 460 462

465 465 467 478 487 489 489

491 491 492 502 507 512 515 523 525 528 536 539 540 540

541

542 564

576 591

CAPITULO

UNO

INTRODUCCION

Una rnaquina puede hacer el trabajo de cien hombres normales, pero ninguna rnaquina puede hacer el trabajo de un hombre extraordinario.

Elbert Hubbard

1.1 ANTECEDENTES

I r - (; -

, \ 'I.

La necesidad cada v~z mas Qresionante de aumentar la Rroductividad y conseguir productos acabados'aeunacaITd-;a--uniforrne,-esiIhaClendo que la industria gire cada vez mas hacia una automatizacion basad a en computador. En el momenta actual, la mayoria de las tareas de fabricacion automatizadas se realizan mediante maquinas de uso especial disefiadas para realizar funciones predeterminadas en un proceso de rnanufacturacion. La inflexibilidad y generalmente el alto coste de estas maquinas, a menudo llamadas sistemas de automatizacion duros, han llevado a up interes creciente en el uso de robots cap aces de efectuar una variedad de funciones de fabricacion en un entorno de trabajo mas flexible y a un menor coste de produccion.

La palabra robot proviene de la palabra checa robota. que significa trabajo. EI , diccionario Webster define a I.l~robot como «un disQositivo aut...q~atico que . .'o:' efecJua funcion~ _Qr_dim_uiamente asigna~ ':Jos seres human~. Con esta ~ , ... definicion, se pueden considerar que las lavadoras son robots. Una definicion

utilizada por el Robot Institute of America da una descripcion mas precisa de los 1

- "

robots industriales: «un robot es u..!!.._!!l_a~.pulador reprogrq_mabie mulufuncional -« .... CI,~

disefiado para mover rnateriales, piezaU>_~i~positi~~~£i~~dos.!....a t;-aves de I

movimientos program ados variables para la realizacion de una diversidad de

_- -._ .. ___......- -'"' -_._---------. _,.-.-- --- -

tareas». En suma, un robot es un mampulador reprogramable de uso general con

sensores externos que pueden efectuar diferentes tareas de montaje. Con est a definicion, un robot debe poseer inteligencia que se debe normalmente a los algoritmos de computador asociados con su sistema de control y sensorial.

Un robot industrial es un manipulador de uso general controlado por computador que consiste en algunos elementos rigid os conectados en serie mediante articulaciones prisrnaticas 0 de revolucion, EI final de la cadena esta fijo a una base soporte, mientras el otro extremo esta libre y equipado con una herramienta para manipular objetos 0 reaIizar tareas de montaje. EI movimiento de las articulaciones resulta en, 0 produce, un movimiento relativo de los distintos elementos. Mecanicarnente, un robot se compone de un brazo y una rnufieca mas

2 ROBOTICA: CO:-:TROL. DETECCION, VISION E INTELIGENCIA

una herramienta. Se disefia para aIcanzar una pieza de trabajo localizada dentro de su volumen de trabajo. El volumen de trabajo es la esfera de influencia de un robot cuyo brazo puede colocar el submontaje de la rnufieca en cualquier punto dentro de la esfera. El brazo generalmente se puede mover con tres grad os de Ii bert ad. La combinaci6n de los movimientos posiciona a la mufieca sobre la pieza de trabajo. La mufieca normalmente consta de tres movimientos giratorios. La combinaci6n de estos movimientos orienta a la pieza de acuerdo a la configuraci6n del objeto para facilitar su recogida. Estos tres ultimos movimientos se denominan a menudo eleoacion (pitch), desoiacion (yaw) y giro (roll). Por tanto, para un robot con seis articulaciones, el brazo es el mecanismo de posicionamiento, mientras que la rnufieca es el mecanismo de orientaci6n. Estos conceptos se ilustran para el robot Cincinnati Milacron T3 yel robot PUMA de Unimation que se muestran en la figura 1.1.

Barrido del hrazo



Giro

Rotacion de cintura 320c

Rotacion del hombro ,00··

Rotacion del coda 270' J7.01~.

\

/ Doblado de murieca 200'

Montaje de la pinza

b) Figura 1.1 a) Robot Cincinnati Milacron T3. b) Robot de la serie PUMA 560

INTRODUCCION 3

Muchos robots industriales, que estan disponibles comercialmente, se utilizan ampliamente en tareas de Iabricacion y de ensamblaje, tales como manejo de maler~al, soldaduras por arco y de punto, montajes de piezas, pintura al spray, carga Y descarga de rnaquinas controladas nurnericarnente, exploraciones espaciales y submarinas, investigacion de brazos protesicos y en el manejo de materia- ,_ les ~Ii.grosos. ~~tos ro?ots_f_aen en ul}LQ~. las g!_<ilf.Q..E.tegorias ~ delin9C .... \ m0VlmJentos baslcos (FIg. 1.2):

Coordenadas cartesianas lli.es ejes lineales) (ejemplo: robot RS-J de IBM y el

-rObOtSigma de Olivetti).- ~

~oordenadas cilindricas (dos ejes lineales y_ un eje rotacional) (ejemplo: robot Versatran 600 de Prab).

Coordenadas$sfericas_l!:!!2.£ie~1 y dos ejes rotacionales) (ejemplo: Unimate 2000B de Unimation Inc.),

Coordenadas de revoluci6n 0 articuladas (tres ejes rotacionales) (ejemplo: robot -- ~f3 de Cincinnati Milacron ycl'PUMA de Unimation Inc.).

La mayoria de los robots industriales de hoy dia, aunque estan controlados por mini y microcomputadores, son basicamente simples maquinas posicionales.

Cartesiano 0 .vjz

Esferico

Figura 1.2 Diversas categorias de robots.

Cilindrico

De revolucion

4 ROBOTlCA: CO:-;TROL, DETECClO:-;, VISIO:-i E l:-;TELIGENCIA

Ejecutan una tarea dada mediante la grabacion de secuencias prerregistradas 0 preprogramadas de movimientos que han sido previamente guiadas 0 ensefiadas por el usuario con un control de mando porta til. Mas aun, estos robots estan equipados con pocos 0 ningun sensor extemo para obtener la informacion vital en su entomo de trabajo. Como resultado de esto, los robots se utilizan principalmente en tareas repetitivas relativamente simples. Se esta dedicando un gran esfuerzo de investigacion para mejorar el rendimiento global de los sistemas manipuladores, y un camino es a traves del estudio de las diversas areas importantes tratadas en este libro.

1.2 DESARROLLO HISTORICO

La palabra robot se introdujo en la lengua inglesa en 1921 con el drama satirico R. V.R. de Karel Capek (Rossum Universal Robots). En este trabajo, los robots son maquinas que se asemejan a los seres humanos, pero que trabajan sin descanso. Inicialmente, los robots se fabricaron como ayudas para sustituir a los operarios humanos, pero posteriormente los robots se vuelven contra sus creadores, aniquilando a toda la raza humana. La obra de Capek es en gran medida responsable de algunas de las creencias mantenidas popularmente acerca de los mismos en nuestro tiempo, incluyendo la perfecci6n de los robots como maquinas humanoides dotadas con inteligencia y personalidades individuales. Esta imagen se reforzo en la pelicula alemana de robots Metropolis, de 1926, con el robot andador electrico y su perro «Sparko», representada en 1939 en la Feria Mundial de Nueva York, y mas recientemente por el robot C3PO, protagonista en la pelicula de 1977, La Guerra de las Galaxias. Ciertamente los robots industriales modemos parecen primitivos cuando se comparan con las expectativas creadas por los medios de cornunicacion durante las pasadas decadas,

Los primeros trabajos que condujeron a los robots industriales de hoy dia se remontan al periodo que siguio inmediatamente a la Segunda Guerra Mundial. Durante los afios finales de la decada de los cuarenta, comenzaron programas de investigacion en Oak Ridge y Argonne National Laboratories para desarrollar manipuladores mecanicos controlados de forma remota para manejar materiales radiactivos. Estos sistemas eran del tipo «rnaestro-esclavo», disefiados para reproducir fielmente los movimientos de mana y brazos realizados por un operario humano. EI manipulador maestro era guiado por el usuario a traves de una secuencia de movimientos, mientras que el manipulador esclavo duplicaba a la unidad maestra tan fidedignamente tal como Ie era posible. Posteriormente se afiadio la realimentacion de la fuerza acoplando mecanicamente el movimiento de las unidades maestro y esclavo de forma que el operador podia sentir las fuerzas que se desarrollaban entre el manipulador esclavo y su entomo. A mediados de los afios cincuenta, el acoplo rnecanico se sustituyo por sistemas electricos e hidraulicos en manipuladores tales como el Handyman de General Electric y el Minotaur I construido por General Mills.

EI trabajo sobre manipuladores maestro-esclavo fue seguido rapidamente por sistemas mas sofisticados capaces de operaciones repetitivas autonomas. A me-

INTRODUCCION 5

diados de los afios cincuenta, George C. Devol desarrollo un dispositivo que el lIamo «dispositivo de transferencia programada articulada», un manipulador cuya operacion podia ser programada (y, por tanto, cambiada) y que podia seguir una secuencia de pasos de movimientos determinados por las instrucciones en el programa. Posteriores desarrollos de este concepto por Devol y Joseph F. Engelberger condujo al primer robot industrial, introducido por Unimation Inc. en 1959. La clave de este dispositivo era el uso de una computadora en conjuncion con un rnanipulador para producir una maquina que podia ser «ensefiada» para realizar una variedad de tareas de forma autornatica. Al contrario que las maquinas de automatizacion de uso dedicado, estos robots se podian reprogramar y cambiar de herramienta a un coste relativamente bajo para efectuar otros trabajos cuando cambiaban los requisitos de fabricacion.

Aunque los robots programados ofrecian una herramienta de Iabricacion nueva y potente, se hizo patente en los afios sesenta que la flexibilidad de estas maquinas se podian mejorar significativamente mediante el uso de una realimenraeion sensorial. Al comienzo de esa decada, H. A. Ernst [1962] publico el desarrollo de una mana mecanica controlada por computador con sensores tactiles. Este dispositivo, llamado el MH-I, podia «sentir» bloques y usar esta informacion para controlar la mana de manera que apilaba los bloques sin la ayuda de un opera rio. Este trabajo es uno de los primeros ejemplos de un robot capaz de conduct a adaptativa en un entomo razonablemente no estructurado. El sistema manipulativo consistia en un manipulador ANL, modelo 8, con 6 grados de libertad, controlado por una computadora TX-O mediante un dispositivo de interfase. IEste programa de investigacion posteriormente evoluciono como parte

,

del proyecto MAC, y se Ie afiadio una camara de television para comenzar la

investigacion sobre la percepcion en la rnaquina, Durante el mismo periodo, Tomovic y Boni [1962] desarrollaron una mana prototipo provista con un sensor de presion que detectaba el objeto y proporcionaba una serial de realimentaeion de entrada a un motor para iniciar uno de dos modelos de aprehension. Una vez que la mana estaba en contacto con el objeto, se enviaba a una computadora informacion proporcional a su tarnafio y peso mediante estos elementos sensibles a la presion. En 1963, la American Machine y Foundry Company (AMF) introdujo el robot comercial VERSATRAN. Comenzando en este mismo ano, se desarrollaron diversos disefios de brazos para manipuladores, tales como el brazo Roehampton y el Edinburgh.

A finales de los afios sesenta, McCarthy [1968] y sus colegas en el Stanford Artificial Intelligence Laboratory publicaron el desarrollo de una computadora con manes, ojos y oidos (es decir, manipuladores, carnaras de TV y microfonos), Demostraron un sistema que reconocia mensajes hablados, «veia» bloques distribuidos sobre una mesa, y los manipulaba de acuerdo con instrucciones. Durante este periodo, Pieper [1968] estudio el problema cinematico de un manipulador controlado por computadora, mientras que Kahn y Roth [1971] anaJizaban la dinarnica y eJ control de un brazo restringido utilizando control bang-bang (casi de tiempo minimo).

Mientras tanto, otros paises (en particular Japon) comenzaron aver el potencial de los robots industriales. Ya en 1968, Ja cornpafiia japonesa Kawasaki

6 RODOTICA: CO;-;TROL, DETECCION, VISIO~ E I~TELIGENCIA

Heavy Industries negocio una licencia con Unimation para sus robots. Uno de los desarrollos mas poco usuales en robots sucedio en 1969, cuando se desarrollo un camion experimental por la General Electric para la Armada Americana. En el mismo afio se desarrollo el brazo Boston y al afio siguiente el brazo Stanford, que estaba equipado con una carnara y controlado por computadora. Algunos de los trabajos mas serios en robotica comenzaron cuando estos brazos se utilizaron como robots manipuladores. Un experimento en el brazo Stanford consistia en apilar autornaticamente bloques de acuerdo con diversas estrategias. Esto era un trabajo muy sofisticado para un robot automatizado de esa epoca, En 1974, Cincinnati Milacron introdujo su primer robot industrial controlado por computadora. Lo llarno «The Tomorrow Tool» (la herramienta del manana) 0 T3, que podia levan tar mas de 100 Ii bras asi como seguir a objetos moviles en una linea de montaje.

Durante los afios setenta se centro un gran esfuerzo de investigacion sobre el uso de sensores externos para facilitar las operaciones manipulativas. En Stanford, Bolles y Paul [1973], utilizando realirnentacion tanto visual como de fuerza, demostraron que un brazo Stanford controlado por computadora, conectado a una PPP-I0, efectuaba el montaje de bombas de agua de automovil. Hacia la misma epoca, Will y Grossman [1975J en IBM desarrollaron un manipulador controlado por cornputadora con sensores de contacto y fuerza para realizar montajes rnecanicos en una maquina de escribir de veinte piezas. Inoue [1974J, en el Artificial Intelligence Laboratory del MIT, trabajo sobre los aspectos de inteligencia artificial de la realirnentacion de fuerzas. Se utilize una tecnica de busqueda de aterrizajes, propia <i.e la navegacion aerea, para realizar el posicionado inicial de una tarea de montaje precisa. En el Draper Laboratory, Nevins y colaboradores [1974] investigaton tecnicas sensoriales basadas en el control coordinado de fuerza y posicion. Este trabajo desarrollo la instrumentacion de un dispositivo remote center compliance (RCC) (centro remoto de control coordinado de fuerza y posicion) que se unio a la placa de montaje de la ultima articulacion del manipulador para cerrar el conjunto de coincidencias de piezas. Bejczy [1974J, en el Jet Propulsion Laboratory, desarrollo una tecnica de control de par basad a en computadora sobre su brazo Stanford ampliado para proyectos de exploracion espacial. Desde entonces han sido propuestos diversos metodos para manipuladores mecanicos.

Hoy dia vemos la robotica como un campo de trabajo mucho mas amplio que el que teniamos simplemente hace unos po cos arios, tratando con investigacion y desarrollo en una serie de areas interdisciplinarias, que incluyen cinematica, dinamica, planificacion de sistemas, control, sensores, lenguajes de programacion e inteligencia de maquina, Estos topicos, introducidos brevemente en las secciones que siguen, constituyen el nucleo del material de este Ii bro.

1.3 CINEMA TICA Y DINAMICA DEL BRAZO DEL ROBOT

La cinematica del brazo del robot trata con el estudio analitico de la geometria del movimiento de un brazo de robot con respecto a un sistema de cooraenaaa~

_- ------

---~------

INTRODLiCCION 7

de ref~rencia fijo sin cQ,!!.siderar I~s fuerzas .~~tos que originan el rnovimien to. A~i:.E cinernatica se in teresa por la descripcion analitica del desplazamien to espaciaT del robot coii1'O'Ui1a funcion del tiempo-:en particular de las rt:Jacione5enrre la posicionae las variables de ariiculacion y la posicion y-

onefitaciOnCiel-efector final-del-brazo-del robot. - --

'-f!ay dos pro6Iemasfundamentaies en la cinernatica del robot. El primer. problema se suele conocer co~o ::}_problema .s_inemotico direclO! mientras que el ~gunQo_es eI problema cin:_molico inve!~ Como las variables indepen<iientes en un robot son las variables (Ie articulacion, y una tarea se suele dar en terminos del sistema de coordenadas de referencia, se utiliza de manera mas frecuente el problema cinernatico inverso. Denavit y Hartenberg [1955] propusieron un enfoque sistematico y generalizado de utilizar algebra matricial para describir y representar la geometria espacial de los elementos del brazo del robot con respecto a un sistema de referencia fijo. Este metoda utiliza una matriz de transformacion hornogenea 4 x 4 para describir la relacion espacial entre dos e:Iennentos rnecanicos rigidos adyacentes y reduce el problema cinernatico directo a encontrar una matriz de transforrnacion hornogenea 4 x 4 que relaciona el desplazamiento espacial del sistema de coordenadas de la mano al sistema de coordenadas de referencia. Estas matrices de transformacion hornogeneas son rambien utiles en derivar las ecuaciones dina micas de movimiento del brazo del robot. En general, el problema cinematico inverso se puede resolver mediante algunas tecnicas. Los metodos utilizados mas cornunmente son el algebraico matricial, iterativo, 0 geometrico, En el capitulo 2 se da un tratarniento detallado

\ de los problemas cinernaticos directo e inverso. '

0- La dinamica del robot, por otra Rarte, trata con la Iorrnulacion maternatica II de las ecuaciones del movirmento dei brazo. Las ecuaciones dinamicas de moY1='

mien to de un man-ipuiadOr- son un conjunto de ecuaciones maternaticas que describen fa C'Onducta dinarnica del manipUiador. Tales ecuauones de movimiento son utiles para sirriulacion en computadora ael'movimiento del brazo, el disefio de ecuaciones de control apropiadas para el robot y la evaluacion del diseiio y estructura cinernatica del robot. EI modelo dinarnico real de un brazo se puede ebrener de [eyes fisicas conocidas tales como las leyes de Newton y la mecanica lagrangiana. Esto conduce al desarrollo de las ecuaciones dinarnicas de movirniento para las distintas articulaciones del manipulador en terrninos de los para metros geornetricos e inerciales especificados para los distintos elementos. Se pueden aplicar sisternaticamente enfoques convencionales como las formulaciones de Lagrange-Euler y de Newton-Euler para desarrollar las ecuaciones de rnevimientos del robot. En el capitulo 3 se presenta una discusion detallada de la dina mica del brazo del robot. ~

PLANIFICACION DE LA TRA YECTORIA (!b

Y CONTROL DEL MOVIMIENTO DEL MANIPULADOR

Con el conocimiento de la cinernatica y la dinarnica de un manipulador con elementos series, seria interesante mover los actuadores de sus articulaciones para

8 ROBOTIC A: CONTROL, DETECCION, VISION E INTELIGENCIA

cumplir una tarea deseada controlando al manipulador para que siga un camino previsto. Antes de mover el brazo, es de interes saber si hay algun obstaculo presente en la trayectoria que el robot tiene que atravesar (ligaduras de obstaculos) y si la mana del manipulador necesita viajar a 10 largo de una trayectoria especificada (Iigaduras de trayectoria). EI problema de control de un manipulador se puede dividir convenientemente en dos subproblemas coherentes: el subproblerna de planificacion de movimiento (0 trayectoria) y el subproblema de control del movimiento.

La curva espacial que la mana del manipulador sigue desde una localizacion inicial (posicion y orientacion) hasta una final se llama la trayectoria 0 camino. La planificacion de la trayectoria (0 planificador de trayectoria) interpola y/o aproxirna la trayectoria deseada por una clase de funciones polinomiales y genera una secuencia de puntos de «consignas de control» en funcion del tiempo para el control del manipulador desde la posicion inicial hasta el destino. EI capitulo 4 discute los distintos sistemas de planificacion de trayectoria para movimientos libres de obstaculo, asi como el formalismo para describir el movimiento deseado del manipulador en terrninos de la secuencia de puntos en el espacio a traves de los cuales debe pasar y la curva espacial que recorre.

CCN~l En general, el problema de control de movimientos consiste en: 1) obtener los modelos dinarnicos del manipulador, 2) utilizar estos modelos para determinar leyes 0 estrategias de control para conseguir la respuesta y el funcionamiento del sistema deseado. Como la primera parte del problema de control se discute extensivamente en el capitulo 3, el capitulo 5 se concentra sobre la segunda parte del problema de control. Desde el punto de vista de analisis de control, el movimiento del brazo de un robot se suele realizar en dos fases de control distintas. La primera es el control de movimiento de aproximacion en el cual el brazo se mueve desde una posicion/orientacion inicial hasta la vecindad de la posicion/orientacion del destino deseado a 10 largo de una trayectoria planificada. EI segundo es el control del movimiento fino en el cual el efector final del brazo interacciona dinamicamente con el objeto utilizando informacion obtenida a traves de la realirnentacion sensorial para completar la tarea.

Los enfoques industriales actuales para controlar el brazo del robot tratan cada articulacion del brazo como un servomecanismo de articulacion simple. Este planteamiento modela la dinarnica de un manipulador de forma inadecuada porque desprecia el movimiento y la configuracion del mecanisme del brazo de forma global. Estos cambios en los parametres del sistema controlado algunas veces son bastante significativos para hacer ineficaces las estrategias de control por realimentacion convencionales. El resultado de ello es una velocidad de respuesta y un amortiguamiento del servo reducido, limitando asi la precision y velocidad del efector final y haciendolo apropiado solamente para limitadas tareas de precision. Los manipuladores controlados de esta forma se mueven a velocidades lentas con vibraciones innecesarias. Cualquier ganancia significativa en el rendimiento en esta y otras areas del control del brazo del robot requieren la consideracion de model os dinamicos mas eficientes, enfoques de control sofisticados y el uso de arquitecturas de computadoras dedicadas y tecnicas de procesamiento en paralelo. El capitulo 5 esta enfocado a deducir las leyes

INTRODUCCION 9

de control del movimiento de aproxirnacion y las estrategias que utilizan los modelos dinarnicos analizados en el capitulo 3 para controlar eficazmente un manipulador. @

1.5 SENSORES DEL ROBOT

La utilizacion de mecanismos sensores externos permite a un robot interaccionar con su entorno de una manera flexible, esto esta en contraste con operaciones prepwgramadas en las cuales a un robot se Ie «ensefia» para efectuar tareas repeti'tivas mediante un conjunto de funciones programadas. Aunque esto ultimo es con. mucho la forma mas predominante de operacion de los robots industriales actuales, la utilizacion de tecnologia sensorial para dotar a las maquinas con un may,or grado de inteligencia al tratar con su entorno es realmente un tema de investigacion Y desarrollo activo en el campo de la robotica.

La funcion de los sensores del robot se pueden dividir en dos categorias prineipales: estado interno y estado externo. Los sensores del estado interno tratan con la deteccion de variables tales como la posicion de la articulacion del brazo, que se utiliza para controlar el robot. Por otra parte, los sensores de estado externo tratan con la deteccion de variables tales como aIcance, proximidad y contacto. Los sen sores externos, que se estudian en los capitulos 6 al 8, se utilizan para guiado de robots, asi como para la identificacion y manejo de ebjetos, EI enfoque del capitulo 6 es sobre sensores de alcance, proxirnidad, contacto y de fuerza-par. En los capitulos 7 y 8 se analizan en detalle los sensores 'i tecnicas de vision. Aunque los sensores de proximidad, contacto y fuerza juegan un papel significativo en la mejora del funcionamiento del robot, se reconoce que la vision es la capacidad sensorial mas potente del robot. La vision del robot se puede definir como el proceso de extraer, caracterizar e interpretar informacion de imagenes de un mundo tridimensional. Este proceso, tam bien comunrnente conoeido como vision de maquina 0 de computadora, se puede subdividir en seis areas principales: I) sensor, 2) preprocesamiento, 3) segmentaci6n, 4) descripcion, 5): reconocimiento, 6) interpretacion.

Es conveniente agrupar est as diversas areas de vision de acuerdo con la soflsticacion que lIeva su desarrollo. Consideramos tres niveles de procesamiento: vision de bajo, medio y alto nivel. Aunque no existen fronteras nitidas entre estas subdivisiones, proporcionan un marco util para categorizar los distintos procesos que Son componentes inherentes de un sistema de vision por maquina. En nuestra discusion, trataremos los sensores y el preprocesamiento como funciones de vision de bajo nivel. Esto nos llevara desde el propio proceso de formacion de imagen hasta compensaciones tales como reduccion de ruido, y finalmente a la extraccion de caracteristicas primitivas de irnagenes tales como discontinuidades en. la intensidad. Asociaremos con la vision de medio nivel aquellos procesos que extraen, caracterizan y etiquetan componentes en una imagen resultante de la vision de bajo nivel. En terrninos de nuestras seis subdivisiones, trataremos la segmentacion, descripcion y reconocimiento de objetos individuales como funciones de vision de medio nivel. La vision de alto nivel se refiere a procesos que

1.6 LENGUAJES DE PROGRAMACION DE ROBOTS

10 R0130TICA: CONTROL, DETECCION, vrsiox E INTELlGE:-lClA

intentan emular el conocirniento. EI material del capitulo 7 trata de los sensores, preprocesamiento y con conceptos y tecnicas necesitadas para realizar funciones de vision de bajo nivel. Los temas de vision de los niveles superiores se estudian en el capitulo 8.

Un gran obstaculo en la utilizacion de los manipuladores como maquinas de uso general es la falta de comunicacion eficaz y apropiada entre el usuario y el sistema robotico, de forma que este pueda dirigir al manipulador para cumplir una tarea dada. Hay algunas formas de comunicarse con un robot, y los tres grandes enfoques para lograrlo son: el reconocimiento de palabra discreta, ensefiar y reproducir y lenguajes de programaci6n de alto nivel.

El estado actual del reconocimiento de la voz es bastante primitivo y generalmente depende del orad or. Pueden reconocer un conjunto de palabras discretas de un vocabulario limitado y normal mente requiere que el usuario pare entre palabras. Aunque es posible ahora reconocer palabras en tiempo real debido a componentes de computadora mas rapidos y algoritmos de procesamientos eficientes, la utilidad del reconocimiento de palabras discretas para describir una tarea es limitada. Mas aun, requiere una gran cantidad de memoria para almacenar el discurso, y normalmente se necesita un periodo de entrenamiento para incorporar patrones de voz con fines de reconocirniento.

El rnetodo de ensefiar y reproducir lleva consigo el instruir al robot al dirigirlo a traves de los movirnientos que va a realizar. Esto se suele efectuar en los pasos siguientes: I) dirigir al robot en movimiento len to utilizando control manual a traves de la tarea de montaje completa, siendo grabados los angulos de las articulaciones del robot en posiciones apropiadas con eJ fin de reproducir eJ movimiento; 2) edicion y reproducion del movimiento ensefiado, y 3) si el movimiento ensefiado es correcto, entonces el robot 10 ejecuta a una velocidad apropiada de forma repetitiva. Este metoda se conoce tarnbien como guiado y es el enfoque mas comunrnente utilizado en los robots industriales de hoy dia.

Un planteamiento mas general para resolver los problemas de comunicacion hombre-robot es la utilizacion de programacion de alto nivel. Los robots se utilizan comunrnente en areas tales como soldadura por arco, soldadura de pun to y pintura al spray. Estas tareas no requieren interaccion entre eI robot y el entorno y se pueden programar facilmente mediante guiado. Sin embargo, el uso de robots para efectuar tareas de montajes requiere generalmente tecnicas de programacion de alto nivel. Se necesita este esfuerzo porque el manipulador se controla normalmente por una computadora, y la manera mas efectiva para que los humanos se comuniquen con las computadoras es a traves de un lenguaje de prograrnacion de alto nivel. Mas aun, al utilizar programas para describir tareas de montaje, permite a un robot efectuar trabajos diferentes simplemente eiecutando el programa apropiado. Esto aumenta la flexibilidad y versatibilidad del robot. EI capitulo 9 presenta el uso de tecnicas de prograrnacion de alto nivel para lograr una comunicacion efectiva con un sistema robotico,

INTRODUCCION II

1.7 INTELIGENCIA DEL ROBOT

Un probJema basico en robotica es la planificacion de movimiento para resolver alguna tarea preespecificada, y luego controlar al robot cuando ejecuta las ordenes necesarias para conseguir esas acciones. Aqui planificacion significa decidir un curso de accion antes de actuar. Esta parte de sintesis de accion del problema del robot se puede lograr mediante un sistema de resolucion de problemas que I'ograni aigun objetivo marcado, dada alguna situacion inicial. Un plan es asi una representacion de un curso de accion para lograr un objetivo dado.

La investigacion sobre resolucion de problemas con robots ha conducido a muchas ideas ace rca de los sistemas para la resolucion de problemas en inteligencia artificial. En una forrnulacion tipica de un problema de robot tenemos un robot qllle esta equipado con sensores y un conjunto de acciones primitivas que puede realizar en algun mundo fa cit de comprender. Las acciones del robot cambialil un estado 0 configuracion del mundo en otro. En el «rnundo de bloques», por ejernplo, imaginamos un mundo de algunos bloques etiquetados colocados en una mesa 0 uno sobre otro y un robot consistente en una camara de tele-visiony un brazo y mana movil que es capaz de tomar y mover bloques. En algunas situaciones, el robot es un vehiculo movil con una carnara de TV que efectua tareas tales como empujar objetos de un sitio a otro en un entorno que centiene otros objetos.

Enel capitulo 10 introducimos algunos metodos basicos para la resolucion de probfemas y sus aplicaciones a la planificacion de robots. La discusion hace enfasis en la resolucion del problema 0 aspectos de planificacion de un robot. Un planificador de robot intenta encontrar una trayectoria desde nuestro mundo del robot inicial hasta un mundo del robot final. EI camino consiste en una secuencia deoperaciones que se consideran primitivas para el sistema. Una solucion a un problema pod ria ser la base de una secuencia correspondiente de acciones fisicas en el mundo fisico. La planificacion de robots. que proporciona la inteligencia y la capacidad de resolucion de problemas a un sistema robotico, es todavia un area de investigacion muy activa. Para aplicaciones de robots en tiempo real, necesitaremos algoritmos de planificacion potentes y eficaces que se ejecutaran por sistemas de cornputadoras de uso especial a alta velocidad.

1.8 REFERENCIAS

las referencias generales citadas a continuacion son representativas de publicaciones que tratan con temas de interes en robotica y en campos relacionados. Las referencias que se dan al final de los capitulos que siguen se clasifican segun los ternas especificos que se estudian en el texto. La bibliografia al final del libro se Organiza en orden alfabetico por autores, y contiene toda la informacion pertinente para cada referencia citada en el texto,

Algunas de las mejores revistas y aetas de conferencia que de forma rutinaria COntienen articulos sobre los diversos aspectos de la robotica incluyen: IEEE Journal of Robotics and Automation: International Journal of Robotics Research;

12 ROBOTlCA: CONTROL, DETECCION, VISION E INTELlGENCIA

Journal of Robotic Systems; Robotica: IEEE Transactions on Systems, Man and Cybernetics; Artificial Intelligence; IEEE Transactions on Pal/ern Analysis and Machine Intelligence: Computer Graphics, Vision, and Image Processing; Proceedings of the International Symposium on Industrial Robots; Proceedings of the International Joint Conference on Artificial Intelligence; Proceedings of IEEE International Conference on Robotics and Automation; IEEE Transactions on Automatic Control; Mechanism and Machine Theory; Proceedings of the Society of Photo-Optical and Instrumentation Engineers; ASME Journal of Mechanical Design; ASME Journal of Applied Mechanics; ASME Journal of Dynamic Systems, Measurement and Control; and ASME Journal of Mechanisms, Transmissions, and Automation in Design.

Lecturas complement arias al material de este libro se puede encontrar en los Ii bros de Dodd y Rossol [1979], Engelberger [1980], Paul [1981], Dorf [1983], Snyder [1985], Lee, Gonzalez y Fu [1986]. Tou [1985] y Craig [1986].

CAPITULO

DOS

/

CINEMATICA DEL BRAZO DEL ROBOT

jY mire como se agita, se pone en rnarcha, se des plaza y parece sentir una emocion vital!

Henry Wadsworth Longfellow

2.1 INTRODUCCION

Un manipulador rnecanico se puede modelar como una cadena articulada en lazo abierto con algunos cuerpos rigid os (elementos) conectados en series por una articulacion de revolucion 0 prismatica movida por actuadores. Un final de la cadena se une a una base soporte mientras que el otro extremo esta libre y unido con una herramienta (el efector final) para manipular objetos 0 realizar tareas de montaje. El movimiento relativo en las articulaciones resulta en el movimiento de los elementos que posicionan la mana en una orientacion deseada. En la mayoria de lias aplicaciones de robotica, se esta interesado en la descripcion espacial del efector final del manipulador con respecto a un sistema de coordenadas de referencia fija.

La cinernatica del brazo del robot trata con el estudio analitico de la geometria del movimiento de un robot con respecto a un sistema de coordenadas de referencia fijo como una funcion del tiempo sin considerar las fuerzas/rnomentos que originan dicho rnovirniento. Asi pues. trata con la descripcion analitica del desplazamiento espacial del robot como funcion del tiempo, en particular las relaciones entre las variables espaciales de tipo articulacion y la posicion y crlentacion del efector final del robot. Este capitulo se plantea dos cuestiones fundamentales, ambas de interes teorico y practico en la cinernatica del robot:

II. Para un manipulador determinado, dado el vector de angulos de las articulaciones q(t) = (ql(t), q2(t), ... , q.(t)f y los parametres geometricos del elemento, donde n es el nurnero de grados de libertad, ~cual es la orientacion y la posicion del efector final del manipulador con respecto a un sistema de coordenadas de referencia?

2. Dada una posicion y orientacion deseada del efector final del rnanipulador y los parametres geornetricos de los elementos con respecto a un sistema de coordenadas de referencia, wuede el manipulador alcanzar la posicion y orientacion de la mana que se desea? Y si puede, ~cuantas configuraciones diferentes del manipulador satisfaceran la misma condicion?

14 ROBOTICA: CONTROL, DETECCIO:-':, VISION E INTELlGENCIA

La primera pregunta se suele conocer como eI problema cinematico directo, mientras la segunda es el problema cinematico inverso (0 solution del brazo). Como las variables independientes en un brazo de robot son las variables de articulaci6n y una tarea se suele dar en terrninos de las coordenadas de referencia, el problema cinematico inverso se utiliza de forma mas frecuente, En la figura 2.1 se muestra un simple diagrama de bloques que indica las relaciones entre estos dos problemas,

Como los elementos de un brazo pueden girar y/o trasladarse con respecto a un sistema de coordenadas de referencia, el desplazamiento espacial total del efector final se debe a las rotaciones angulares y traslaciones angulares de los elementos. Denavit y Hartenberg [1955] propusieron un metodo sistematico y generalizado de utilizar algebra matricial para describir y representar la geometria espacial de los elementos de un brazo con respecto a un sistema de referencia fijo. Este metodo utiliza una matriz de transformaci6n hornogenea 4 x 4 para describir la relaci6n espacial entre dos elementos mecanicos rigid os adyacentes y reduce el problema cinernatico directo a encontrar una matriz de transformaci6n hornogenea 4 x 4 equivalente que relaciona el desplazamiento espacial del «sistema de coordenadas» de la mano al sistema de coordenadas de referencia. Estas matrices de transformaci6n homogeneas son tarnbien utiles para derivar las ecuaciones de movimiento dinamico de un brazo.

En general, el problema cinernatico inverso se puede resolver por algunas recnicas. Los metodos utilizados mas comunmente son la matriz algebraica, metodos iterativos 0 geometricos, Se presentara un enfoque geometrico basado en el sistema de coordenadas de los elementos y la configuraci6n del manipulador para obtener una solucion de las articulaciones en forma cerrada para manipuladores simples con articulaciones giratorias. A continuaci6n se estudiara un planteamiento mas general utilizando matrices homogeneas 4 x 4 para obtener una solucion de la articulaci6n para manipuladores simples.

Parametres de los elementos

Angulos de

q,(t), .... q.(t)

Cinematica directa

--... Posicion y oricntacion del efector final

las arriculacioncs -----..

Parametres de los elementos

Angulos de

las articulaciones -

q,(/), ...• q.(/)

Cinernatica inversa

~ ..J

Figura 2.1 Los problemas cinernaticos directo e inverso.

CINEMATICA DEL BRAZO DEL ROBOT 15

z

p

x

Figura 2.2 Sistemas de coordenadas de referencia y ligado at cuerpo.

2.2

EL PROBLEMA CINEMA nco DIRECTO otLe1=

Se utiliza algebra" vectorial y matricial para desarrollar un metodo generalizado 'l sistematico para describir y representar la localizacion de los elementos de un braze con respecto a un sistema de referencia fijo. Como los elementos de un braze pueden girar y /0 trasladarse con respecto a un sistema de coordenadas de referencia, se establecera un sistema de coordenadas ligado al cuerpo a 10 largo del eje de la articulacion para cad a elemento. EI problema cinematico directo se reduce a_encontrar una matriz de transformacion que re1aciona el sistema de ·;oordenadas Iigado al cuerpo al sistema de coordenadas de referencia. Se utlliza una matriz de rotacion 3 x 3 para describir las operacIOnes rotacionales del sistema ligado al cuerpo con respecto al sistema de referencia. Se utilizan entonces las coordenadas hornogeneas para representar vectores de posicion en un espacio tridimensional, y las matrices de rotacion se arnpliaran a matrices de transformacion homogenea 4 x 4 para incIuir las operaciones traslacionales del sistema de coordenadas Iigado al cuerpo. Esta representacion matricial de un elernento mecanico rigido para describir la geometria espacial de un brazo fue utilizada por primera vez por Denavit y Hartenberg [1955]. La ventaja de utilizar la representacion de elementos de Denavit-Hartenberg es su universalidad algoritmica para derivar las ecuaciones cinernaticas de un brazo.

2.2.1 Matrices de rotaci6n LD k.~

Una matriz de rotacion 3 x 3 se puede definir como una matriz de transformacion que opera sobre un vector de posicion en un espacio eucIideo tridimensional y t.ransforma sus coordenadas expresadas en un sistema de coordenadas rotado oUVW (sistema ligado al cuerpo) a un sistema de coordenadas de referencia ozrz. En la figura 2.2 se dan dos sistemas de coordenadas rectangulares, uno el

• Los vectores se representan en letras rninusculas en negrita; las matrices en letras rnayusculas en negrita.

16 ROBOTlCA: CONTROL, DETECCION, VISION E INTELlGENClA

sistema de coordenada OXYZ, con OX, OY y OZ como sus ejes de coordenadas, y el sistema de coordenadas OUVW, con OU, OV, OW como sus ejes de coordenadas. Ambos sistemas de coordenadas tienen sus origenes coincidentes en eI punto O. EI sistema de coordenadas OXYZ esta fijo en el espacio tridimensional y se considera que es el sistema de referencia. EI sistema de coordenadas OUVW esta girando con respecto al sistema de referencia OXyz. Fisicamente, uno puede considerar que el sistema de coordenadas OUVW es un sistema de coordenadas ligado al cuerpo. Esto es, esta permanente y convenientemente unido al cuerpo rigido (por ejemplo, un avion 0 un elemento del brazo del robot) y se mueve junto con el. Sean (ix, jy, kz) y (iu, jp, k,.) los vectores unitarios a 10 largo de los ejes de coordenadas de los sistemas OXYZ y OUVW, respectivamente. Un punto pen eI espacio se puede representar por sus coordenadas con respecto a ambos sistemas de coordenadas. Para facilitar el analisis, supondremos que p esta en reposo y fijo con respecto al sistema de coordenadas OUVW. Entonces el punto p se puede representar por sus coordenadas con respecto al sistema de coordenadas OUVW y OXYZ, respectivamente, como

y

(2.2-1)

donde Pxyz Y PUP" representan el mismo punto p en el espacio con respecto a diferentes sistemas de coordenadas y eI superindice T en los vectores y matrices denota la operacion traspuesta.

Nos gustaria encontrar una matriz R de transforrnacion 3 x 3 que transformara las coordenadas de P.pw a las coordenadas expresadas con respecto al sistema de coordenadas OXYZ, despues de que eI sistema de coordenadas OUVW ha sido girado. Esto es,

(2.2-2)

Observese que fisicamente el punto P.p,. ha sido girado junto con el sistema de coordenadas OUVw.

Recordando la definicion de las componentes de un vector tenemos

(2.2-3)

donde p ; Py Y p, representan las componentes de palo largo de los ejes OX, 0 Y Y OZ, respectivamente, 0 las proyecciones de p sobre los ejes respectivos. Asi, utilizando la definicion del producto escalar y la ecuacion (2.2-3),

Px = i, . p = i, . i.p. + ix . jvp,. + ix . k,.pw Py = l, . p = jy . i.p. + jy . jvPv + jy . k,.p,.

p ; = k, . p = k, . i.p. + k, . jvPv + k, . k,.p,.

(2.2-4)

o expresado en forma matricial,

CINEMATICA DEL BRAZO DEL ROBOT 17

i, . jv jy . jv k, . jv

~:c • k w 1 [PO 1

h . k., Pv

k, . k.. P w

(2.2-5)

Utilizando esta notacion, Ia matriz R en Ia ecuacion (2.2-2) esta dada por

[;. ;. i, . jv i, k., 1
R = j}.' i .• J, . jv h' k w
k, . I. k, . l, kz' k w (2.2-6)

Analogamente, se pueden obtener las coordenadas de P.t 'w con las coordenadas de P .. y:'

o

P." w = Qp"yZ

(2.2-7)

i •. jy jv . J,

k ... J, .

(2.2-8)

Como los productos escalares son conmutativos, se puede ver de las ecuaciones (2.2-6) a (2.2-8) que

y

QR

(2.2-9)

(2.2-10)

donde 13 es la matriz identidad 3 x 3. La transformacion en la ecuacion (2.2-2) 0 (2.2-7) se llama una transforrnacion ortogonal, y como los vectores en los produclOS escalares son todos vectores unitarios, se llama tam bien una transforrnacion ortonormal,

EI interes primario en desarrollar la matriz de transformacion anterior es encontrar las matrices de rotacion que representan rotaciones del sistema de ceordenadas OUVW respecto a cada uno de los tres ejes principales del sistema de coordenadas de referencia OXYZ. Si el sistema de coordenadas OUVW se gira un angulo iX respecto al eje OX para llegar a una nueva posicion en el espacio, entonces el punto P.VW' que tiene coordenadas (P., Pm p w f con respecto aI sistema OVVW, tendra coordenadas diferentes (Px, p}~ pzf con respecto al sistema de referencia 0 XYZ. La matriz de transforrnacion necesaria R".« se llama la matriz de rotacion respecto al OX con angulo iX. R:c.« se puede derivar del concepto de matriz de transformacion anterior, esto es,

(2.2-11)

18 ROIlOTICA: CONTROL, DETECCION. VISION E INTELIGENCIA

con i, iu, Y
[ I. I, i, . jv I. k.] [I ° -s~n.] (2.2-12)
Rx." = jy. i .• jy . j" J, . k", = ° cos IX
k, . I. k, . j,. k, . k", ° sen IX cos IX Analogarnente, las matrices de rotacion 3 x 3 para rotaciones respecto al eje 0 Y con angulo <p y respecto al eje OZ con angulo () son, respectivamente (vease figura 2.3),

[COS <p

, Ry . .p = °

+sen ¢

° sen <P] 1 °

° cos <P

[COS e

Rz•8 = se~ e

-sen e OJ

cos e ° (2.2-13)

° 1

Las matrices Rx. l' Ry. '" y R:.8 se lIaman las matrices de rotacion basicas. Se pueden obtener otras matrices de rotacion finitas a partir de estas matrices.

7; Ejemplo: Dado dos puntos au"", = (4, 3, 2)T y buv", = (6, 2, 4)T con respecto . al sistema de coordenadas girado OUVW, determinar los puntos correspondientes axy:, bxyz con respecto al sistema de coordenadas de referencia si ha sido rotado 60° respecto del eje OZ.

i

I

SOLUCI6N: ax},: = R:. 60' au"w Y bx}': = R:. 600 ~vw

[0,500 = 0,~66

-0,866 0,500

°

[4(0,5) + 3( - 0,866) + 2(0)] [ - 0,598]

= 4(0,866) + 3(0,5) + 2(0) = 4,964

4(0) + 3(0) + 2(1) 2,0

[0,500 bxy: = 0,~66

- 0,866 0] [6] [ 1,268]

0,500 0 2 = 6,196

° 1 4 4,0

Asi, ax}': y bxy: son iguales a (-0,598, 4,964, 2,0)T y (1,268, 6,196, 4,Of, respectivarnente, cuando se expresan en terrninos del sistema de coordenadas de referencia. 0

Ejemplo: Si axy: = (4. 3, 2f Y bx}': = (6, 2, 4)T son las coordenadas con respecto al sistema de coordenadas de referencia, determinar los puntos correspondientes au",." bu,'''' con respecto al sistema de coordenadas rotado OUVW si ha sido girado 60° respecto del eje OZ.

z

x

z

CINEMATICA DEL BRAZO DEL ROBOT 19

z

z

x

¢ = -90°

z

W O'J'-_-------Il:.__--- r

u

x

o = 90°

Figura 2.3 Sistemas de coordenadas en rotacion.

x

v

20 ROBOTlCA: CONTROL, DETECCION, VISION E INTELIGENCIA

~] m ~ [-::I~JJ

2.2.2 Matriz de rotaci6n compuesta [p~~

[ 0,500 0,866 a.vw = - 0,866 0,500

o 0

[ 4,598]

= -1,964

2,0

0,866 0,500 o

[ 0,500 b."", = - 0,~66

001] [4] [4(0,5) + 3(0,866) + 2(0) ]

3 = 4( -0,866) + 3(0,5) + 2(0) =

2 4(0) + 3(0) + 2(1)

o

Las matrices de rotacion basicas se pueden multiplicar entre si para representar una secuencia de rotacion finita respecto del eje principal del sistema de coordenadas OXYZ. Como las muItiplicaciones de matrices no coomutan, es importante el orden 0 secuencia de realizacion de las rotaciones. Por ejemplo, para desarrollar una matriz de rotacion que represente una rotaci6n de angulo IX respecto del eje OX seguida por una rotaci6n del angulo () respecto del eje OZ seguida por una rotacion del angulo ¢ respecto del eje OY, la matriz de rotacion resuItante que representa estas rotaciones es

[CO ° S¢][CO -SO 0] [~ 0 -~.] ~
R = Ry.~R%.9Rx .• = -~¢ 1 0 S(} C(} 0 CIX
o C¢ 0 o 1 SIX CIX
[ C¢CO S¢SIX - C¢S(}Cr:r. C¢SOS. + S¢C.]
= S8 C(}CIX - C8SIX (2,2-14)
-S¢C(} S¢S(}Cr:r. + C¢Sa C¢CIX - S¢S(}SIX donde C¢ =: cos ¢; S¢ =: sen ¢; C(} == cos 8; S(} =: sen (); C« == cos IX; SIX =: == sen IX. Esto es diferente de la matriz de rotacion que represent a una rotacion de angulo ¢ respecto del eje 0 Y seguida por una rotacion de angulo () respecto del eje OZ seguida por una rotacion de angulo IX respecto del eje Ox. La rnatriz de rotacion resultante es

R ~ R,.R"R,. ~ [~ 0 -~.] [CO -SO 0] tCO 0 St] ~
CIX S8 C(} 0 0 1
Sa CIX 0 o 1 -S¢ 0 C¢
[ COCO -S(} COS¢ ]
= CIXS(}C¢ + SIXS¢ CIXC(} CIXS(}S¢ - SIXC¢ (2.2-15)
SIXS(}C¢ - CIXS¢ SIXC(} SaSOS¢ + CIXC¢ CINEMATICA DEL BRAZO DEL ROBOT 21

Ademas de girar respecto de los ejes principales del sistema de referencia OXYZ, el sistema de coordenadas giratorio OUVWpuede tarnbien rotar respccto de su propio eje principal. En este caso, la matriz de rotacion resultante 0 compuesta se puede obtener de las siguientes reglas simples:

1. Inicialmente ambos sistemas de coordenadas son coincidentes, de aqui que la matriz de rotacion es una matriz identidad 13 de 3 x 3.

2. Si el sistema de coordenadas giratorio OUVW esta girando respecto de uno de los ejes principales del sistema OXYZ, entonces premultiplicar la matriz de rotacion previa (resultante) por una matriz de rotacion basica apropiada.

3. Si el sistema de coordenadas rotante OUVW esta girando respecto de su propio eje principal, entonces postmultiplicar la matriz de rotaci6n previa (resultante) por una matriz de rotaci6n basica apropiada.

Ejemplo: Encontrar la matriz de rotacion resultante que representa un giro de angulo 4> respecto del eje 0 Y seguido por una rotacion de angulo () respecto del eje 0 W seguido por una rotacion de angulo ex respecto del eje OU.

SOLUCI6N:

.\

R = Ry. ~ 13 Rw. 8 Ru. a = Ry. ~ Rw. 9 Ru. a =
[ C¢ 0 s¢][ce -S() m~ 0 _OS, J ~
- 0 1 o S() C() Cex
-S4> 0 C4> 0 0 Sex Cex
[ esc» S4>Sex - C4>S()Cex C ¢ses, + S¢C, J
= S() C()Cex - C()Sex
- S4>C() S4>S()Cex + C4>Sy. C4>C:x - S4>S()S:x Observese que este ejemplo se escoge de forma que la matriz resultante es la misma de la ecuacion (2.2-14), pero la secuencia de rotacion es diferente de la que genero dicha ecuacion, 0

2.2.3

Matriz de rotaci6n respecto de uo eje arbitrario o~1

Algunas veces el sistema de coordenadas rotante OUVW puede girar un angulo 4> respecto de un eje arbitrario r que es un vector unitario que tiene de componentes ,.~ ry Y 'z Y que pasa a traves del origen O. La ventaja es que para ciertos lIlovimientos angulares el sistema OUVW puede realizar una rotacion alrededor del eje r en lugar de algunas rotaciones respecto de los ejes principales de los sistemas de coordenadas OUVWyjo OXYz.y~ra derivar esta matriz de roJaci6.n. ~o~_emo~Qrimero realizar algunas rotaciones respecto de los ejes principales

~istema OXYZ para ali near el eje rcon el eje oz. Luego hacemos la rotacion

22 ROBOTlCA: CONTROL, DETECCION, VISION E INTELIGENCIA

r. V

/ / /

/

//

/

/

f;;;:----

I ,

I '"

I

I I I I I ,

I I

--------------------~

- /,

'-........ /,

~ // I

/ I

/ I

/ I

I I I I I

'. , ' iiI

----------~--1-~-

,

/ / /

/

/

/

/

_2

-----------------

4-

z. w

Figura 2.4 Rotacion respecto de un eje arbitrario.

respecto de r con angulo ¢ y giramos el eje principal del sistema OXY2 para volver el eje r otra vez a su posicion original. Con referencia a la figura 2.4, el alineamiento del eje 02 con el eje r se puede hacer girando respecto del eje OX con angulo IX (el eje r esta en el plano X2), seguido por una rotacion de angulo - {3 respecto del eje 0 Y (el eje r ahora se alinea con el eje 02). Despues de la rotacion del angulo ¢ respecto del eje 02 0 eje r, invertir las secuencias de rotaciones anteriores con sus respectivos angulos opuestos. La matriz de rotacion resuItante es

Rr.4> = R". _. RY,II Rz.</> Ry. _II R"." =
~ [~ 0 0][ cp 0 SP] [C~, -S¢ ~]
CIl SIX 0 o S¢ C¢
=S« CIX - S{3 0 Cp 0 0
[CP 0 -tP] [~ 0 -~a]
x o 1 CIX
S{3 0 C{3 0 SIX CIX
De la figura 2.4 encontramos facilmente que
r, r,
sen Il Jr; cos IX Jr; +
+ r2 r2
z z
sen {3 == r" cos {3 Jr; + r2
z CINEMA nCA DEL BRAZO DEL ROBOT 23

Sustituyendo en las ecuaciones anteriores,

'X'yV4> - 'zS4> ,;V4> + C4>

r y' z V 4> + 'xS4>

'x'zV4> + ,yS4>] '/: V4> - 'xS4> ,;V4> + C4>

(2.2-16)

donde V4> = vers 4> = - cos 4>. Esta es una matriz de rotaci6n muy util,

Ejemplo: Encontrar la matriz de rotaci6n Rr,i) que representa la rotaci6n

'y de angulo 4> respecto del vector r = (I, I,ll.

SOLUCI6N: Como el vector r no es un vector unitario, necesitamos normalizarlo y encontrar sus componentes a 10 largo del eje principal del sistema OXYZ. Por tanto,

I r, = -Jr-,=:;;=+=,;:;:=. =+=,0;:; = j3'

I

r, = j3' r, = j3

Sustituyendo en la ecuaci6n (2.2-16), obtenemos la matriz Rr,i):

'/)V4> + C4> ' I , I 4>
/)V4> - -S4> /)V4> + j3S
, j3
R; <P '/ V4> I I S4> '/)V4> + C4> 't, V4> - ~ S4>
I) + ----;s
'.13
't, V4> - ~ S4> 'I) V4> + _1_ S4> '/3V4> + C4>
/ j3 0
~ 2.2.4 Matriz de rotacion con representacion de angulos de Euler

La representaci6n matricial para la representaci6n de un cuerpo rigido simplifica muchas operaciones. pero necesita nueve elementos para describir completamente la rotaci6n de un cuerpo rigido rotante. No conduce directamente a un conjunto completo de coordenadas generalizadas. Tal conjunto de coordenadas generalizadas pueden describir la orientaci6n de un cuerpo rigido rotante con respecto a un sistema de coordenadas de referencia. Pueden ser proporcionadas por los llamados tres angulos de Euler 4>, () y 1/1. Aunque los angulos de Euler describen la orientaci6n de un cuerpo rigido con respecto a un sistema de referencia fijo, hay muchos tipos diferentes de representaciones de angulos de E\!ller. Las tres representaciones mas ampliamente utilizadas de los angulos de EUler se tabulan en la tabla 2.1.

La primera representaci6n de angulos de Euler en la tabla 2.1 se suele asociar COn el movimiento girosc6pico. Esta representaci6n se suele Hamar los angulos

14 ROBOTlCA: CONTROL, DETECCION, VISION E INTELIGENCIA

Tabla 2.1 Tres tipos de representaciones de angulos de Euler

Sistema I angulos Sistema II angulos Sistema III elevacion,
eulerianos de Euler desviacion y giro
Secuencia 4J respecto del eje OZ 4J respeeto del eje OZ '" respecto del eje OX
de 8 respecto del eje 0 U 8 respecto del eje 0 V 8 respecto del eje 0 Y
rotaciones '" respecto del eje 0 W '" respecto del eje 0 W 4J respecto del eje OZ eulerianos, y corresponde a las siguientes secuencias de rotaciones (vease figura 2.5):

1. Una rotaci6n de angulo lj> respecto del eje OZ (R; ~).

2. Una rotaci6n de angulo () respecto del eje OU rotado (Ru•o).

3. Finalmente, una rotaci6n de angulo I/J respecto del eje rotado 0 W (RIO'. 011)'

La matriz de rotaci6n euleriana resultante es

R4>. e. '" = Rz.4> Ru. e RIO'. '" =

-s« 0] [1

Clj> 0 0

010

[ Clj>CI/I - Slj>C(}SI/I = Slj>CI/J + Clj>C(}SI/J S(}SI/J

~() _ ~()] [~~ ~:I/J ~] =

S(} C(} 0 0 1 i

- Clj>SI/I - Slj>C(}CI/I

I

- Slj>SI/J + Clj>C(}CI/J

S(}CI/J

ssse ] -csse

C(}

(2.2-17)

z. w

W'

X.V

v-

Figura 2.S Sistemas de angulos eulerianos I.

CINEMA TICA DEL BRAZO DEL ROBOT 25

La matriz de rotacion de angulos eulerianos anterior R.p, 8, 1/1 se puede tam bien especificar en terrninos de las rotaciones respecto de los ejes principales del sistema de coordenadas de referencia: una rotacion del angulo I/! respecto del eje OZ seg,uida por una rotacion de angulo () respecto del eje OX y finalmente una rotaci6n del angulo q, respecto del eje OZ.

Con referencia a la figura 2,6, otro conjunto de representacion de angulos de Euler q,', () y I/! corresponde a la siguiente secuencia de rotaciones:

1. Una rotacion del angulo q, respecto del eje OZ (R; 4»'

2. Una rotacion del angulo () respecto del eje girado 0 V (Rv, 8)'

1, Finalmente una rotacion de angulo I/! respecto del eje girado 0 W (R"" 1/1)'

La matriz de rotacion resultante es

R." 8, 1/1 = R',4> Rv, 8 R"" 1/1 =

- Sq, 0] Cq, 0

o 1

o

o

S()] [CI/!

o SI/!

C() 0

-SI/! 0] CI/! 0 =

o 1

[ Cq,C()CI/! - Sq,SI/! = Sq,C()CI/! + Cq,SI/! -S()CI/!

- Cq,C()SI/! - Sq,CI/!

- Sq,C()St/I + Cq,CI/!

S()SI/! I

Cq,S()] Sq,S()

C()

(2.2-18)

ta matriz de rotacion de angulos de Euler anterior R4>, 8, 1/1 se puede tam bien especificar en terminos de las rotaciones respecto de los ejes principales del sistema de coordenadas de referencia: una rotacion de angulo q, respecto del eje OZseguida por una rotacion () respecto del eje 0 Y Y finalmente una rotacion de angulo q, respecto del angulo 02.

z. w

W'

V'

x, U



,Figura 2.6 Sistema de angulos eulerianos II.

26 ROBOTlCA: CONTROL, DETECCIO:-.i, VISION E INTELIGENCIA

Otro conjunto de representaci6n de angulos de Euler para la rotaci6n se llama giro, eleuacion y desoiacion (roll, pitch, yaw) (RPY), Esta se utiliza principalmente en ingenieria aeronautica en el analisis de vehiculos espaciales. Corresponde a las siguientes rotaciones en secuencia:

LUna rotacion de IjJ respecto del eje OX (Rx, ,,)-desviaci6n, 2, Una rotaci6n de f) respecto del eje 0 Y (Ry• 8)-elevaci6n, 3. Una rotaci6n de <jJ respecto del eje 02 (R; 4»-giro,

La matriz de rotaci6n resultante es

R4>.8." = Rz.4>Ry.8Rx.tII =
[q -S¢ 0] [ co 0 ~][~ 0 -~.] ~
= S: C<jJ 0 0 1 CIjJ
o 1 -se 0 Cf) 0 SIjJ CIjJ
[ csce qSOS. - sse» cssoc« + s¢s.]
= S<jJCf) S<jJSf)SIjJ + C<jJCIjJ S<jJSf)CIjJ - C<jJSIjJ
-se Cf)SIjJ Cf)CIjJ (2,2-19)

La matriz de rotaci6n anterior R4>. 8." para el giro, elevaci6n y desviaci6n se puede especificar en terrninos de la rotaci6n respecto de los ejes principales del sistema de coordenadas de referencia y del sistema de coordenadas giratorio: una rotaci6n de angulo <jJ respecto del eje 02 seguida por una rotaci6n de angulo (} respecto del eje girado' 0 V Y finalmente una rotaci6n de angulo <jJ respecto del eje

I

girado OU (vease Fig! 2.7).

f205 Interpretacion geometric. de las matrices de rotacion

Es conveniente interpretar las matrices de rotaci6n basica de forma geometrica, Escojamos un pun to p fijo en el sistema de coordenadas OUVW que sea (I, 0, O)T, esto es, Pu",,' = iu' Entonces la primera columna de la matriz de rotaci6n represen-

z

Giro

/.----1---- Y

Desviacion

Elevacion

x

Figura 2.7 Giro, elevacion y desviacion,

CINEMATICA DEL BRAZO DEL ROBOT 27

I s coordenadas de este punto con respecto al sistema de coordenadas OXYZ. ~ :Iogarnente, escogiendo p como (0, I, of Y (0, 0, I)T, se puede identificar que IO~ elemen tos de la segunda y ter~ra columna d~ una matriz de rotacion repre-

ntan los ejes OV yOW, respectivamente, del sistema de coordenadas OUVW se n respect» al sistema de coordenadas OXYZ. Asi, dado un sistema de referencia oirz y una matriz de rotacion, los vectores columna de la matriz de ~~taci6n representan los ejes principales del sistema de coordenadas OUVW con respecto al sistema de referencia y se puede deducir la localizacion de todos los ejes prinCipales del sistema de coordenadas OUVW con respecto al sistema de referencia. En otras palabras, una matriz de rotacion geornetricamente representa los ejes principales del sistema de coordenadas rotado con respecto al sistema de coordenadas de referencia.

Como la inversa de una matriz de rotacion es equivalente a su traspuesta,

los vectoresfila de la matriz de rotacion representan los ejes principales del sistema die referencia OXYZ con respecto al sistema de coordenadas rotado OUVW. Esta interpretacion geornetrica de las matrices de rotacion es un concepto imporra nte que proporciona indicaciones en muchos problemas cinernaticos del brazo de'~ robot. Se dan a continuacion algunas propiedades utiles de las matrices de rotacion:

t Cada vector columna de la matriz de rotacion es una representacion del vector unitario del eje rotado expresado en terminos de los vectores un itarios de los ejes del sistema de referenda, ycada vector fila es una representacion del vector unitario de losejes de referencia expresado en furrcion de los vectores unitarios de los eies retados del sistema OUVW.

2. Como eada fila y columna es una representacion de un vector unitario, la magnitud de cada una de elias deberia ser igual a 1. Esta es una propiedad directa de un sistema de coordenadas ortonormal. Mas aun, el determinante de una matriz de rotacion es + 1 para un sistema de coordenadas dex trogiro y -1 para un sistema de coordenadas levogiro,

3. Como cada fila es una representacion vectorial de vectores ortonormales, el producto interno (producto escalar) de cada fila por cualquier otra fila es igual a cero. Analogarnente, el producto interno de cad a columna por cualquier otra columna tam bien es igual a cero.

4. La inversa de una matriz de rotacion es la traspuesta de la matriz de rotacion

y

donde 13 es una matriz identidad de 3 x 3.

Las propiedades 3 y 4 son especialmente utiles para comprobar los resultados de mu~tiplicaciones de matrices de rotacion y para determinar un vector columna erroneo.

~jemplo: Si los ejes de coordenadas OU, OV Y OW se fueran a girar un angulo IX respecto del eje OX. (,cual seria la representacion de los ejes de

28 'R,OBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

coordenadas del sistema de referencia en terrninos del sistema de coordenadas rotado OUVW?

SOLUCI6N: Los nuevos vectores unitarios de los ejes de coordenadas se hacen i, = (1,0, O)T, iv = (0, 1, O)T Y k", = (0,0, 1)T puesto que se expresan en terminos de elIos mismos. Los vectores unitarios originales son entonces

i, = liM + Oi. + Ok; = (1, 0, O)T

iy = Oi, + cos exiv - sen exk", = (0, cos ex, -sen ex)T k, = Oi. + sen exi. + cos exk", = (0, sen ex, cos ex)T

Aplicando la propiedad 1 y considerando estes como filas de la matriz de rotacion, la matriz R". ~ se puede reconstruir como

° ° 1

cos c sen c

- sen ex cos ex

que es la misma que la traspuesta de la ecuacion (2.2-12). ~~.

o

2.2.6 Coordenadas homogeneas y matriz de transformacien

I

Com<r una matriz de rotacion 3 x 3 no nos da ninguna posibilidad para la

traslacion y el escalado, se introduce una cuarta coordenada 0 componente al vector de posicion p = (p", Pr p.)T en un espacio tridimensional que 10 transforrna en p = (wp", wpY' wp., w) . Decimos que el vector de posicion p se expresa en coordenadas homogeneas. En esta seccion utilizamos un «circunflejo» (es decir, p) para indicar la representacion de un vector cartesiano en coordenadas hornogeneas. Posteriormente, si no existe confusion, se eliminaran estos «circunflejos». EI concepto de una representacion en coordenadas homogeneas en un espacio euclideo tridimensional es util para desarrolIar transformaciones matriciales que incluyan rotacion, traslacion, escalado y transforrnacion de perspectiva. En general, la representacion de un vector de posicion de N componentes por un vector de (N + 1) componentes se lIama representacion en coordenadas homogeneas. En una representacion en coordenadas hornogeneas, la representacion de un vector N-dimensional se efectua en el espacio (N + Ij-dimensional y el vector fisico N-dimensional se obtiene dividiendo las coordenadas homogeneas por la coordenada N + 1 que es w. Asi, en un espacio tridimensional, un vector de posicion p = (p", Py, p:)T se representa por un vector ampliado (wp", wPp> wp" W)T en la representacion de coordenadas hornogeneas. Las coordenadas fisicas se reJacionan a las coordenadas hornogeneas como sigue:

p"

»», w

WPy

-,

P:

wP. w

CINEMATICA DEL BRAZO DEL ROBOT 29

No existe una representacion en coordenadas hornogeneas unica para una reptesentacion en un espacio tridimensional. Por ejemplo, PI = (wIP .. , WIPp WIP" wlf Y P2 = (W2P x , W2Py, w2Pz, w2f son todas coordenadas homogeneas representando el mismo vector de posicion p = (P .. , P." p.)T. Asi se puede ver a la cuarta componente de las coordenadas homogeneas w como un factor de escaJa. Si esta coordenada es la unidad (w = I), entonces las coordenadas hornogeneas trans(Qrmadas de un vector de posicion son las mismas que las coordenadas fislcas del vector. ~n aplicacioIl§_de_rob6.tica, este factor de escala sera siempre iguaJ a I, aunque se utiliza normalmente en informatica grafica como un factor de escala universal que tom a cualquier valor positivo.

La matriz de transforrnacion hornogenea es una matriz 4 x 4 que transforma un vector de posicion expresado en coordenadas hornogeneas desde un sistema de eoordenadas hasta otro sistema de coordenadas. Una matriz de transformacion homogenea se puede considerar que consiste en cuatro submatrices:

matriz de rotacion

vector de posicion

(2.2-20)

transformacion de perspectiva

escalado

La submatriz 3 x 3 superior izquierda representa la matriz de rotacion; la submatriz superior derecha 3 x 1 representa el vector de posicion del origen del sistema de coordenada rotado con respecto al sistema de referenda; la submatriz inferior izquierda 1 x 3 representa la transformacion de perspectiva; y el cuarto elernento diagonal es eI factor de escala global. La matriz de transformacion hernogenea se puede utilizar para explicar la relacion geometrica entre eI sistema Iigado al cuerpo OUVW y el sistema de coordenadas de referencia OXYZ.

Si un vector de posicion p en un espacio tridimensional se expresa en coordenadas hornogeneas [es decir, P = (P x , Pp Pz, 1 fJ, entonces, utilizando eI concepto de matriz de transformacion, una matriz de rotacion 3 x 3 se puede ampliar a . una. matriz de rotacion hornogenea 4 x 4 Trot para operaciones de rotacion pura. Asi, Jas ecuaciones (2.2-12) y (2.2-13), expresadas como matrices de rotacion hornogenea, se hacen

[I 0 0 ~] ~[ c~'~ 0 sen <p ~]
= 0 cos IX -sen IX T, .• 0
T x, ~ o sen IX cos IX -sen <p 0 cos <p
o 0 0 0 0 0
[00' 0 -sen (J 0 ~]
sen (J cos (J 0 (2.2-21)
Tz•fJ - 0 0 1
0 0 0 30 ROBOTlCA: CONTROL, DETECCION, VISION E INTELIGENCIA

Estas matrices de rotacion 4 x 4 se Haman las matrices de rotacion homogeneas basicas.

La submatriz superior derecha 3 x 1 de la matriz de transforrnacion homogenea tiene el efecto de trasladar el sistema de coordenadas OUVW que tiene ejes paralelos al sistema de coordenadas de referencia OXYZ, pero cuyo origen esta en (dx, dy, dz) del sistema de coordenadas de referenda:

II 0 0 dXl

o 1 0 dy

Trran. = 0 0 1 dz

o 0 0 1

(2.2-22)

Esta matriz de transforrnacion 4 x 4 se llama matriz de traslacion homogenea basica.

La submatriz inferior izquierda 1 x 3 de la matriz de transformacion homogenea representa la transforrnacion de perspectiva, que es util para vision por computadora y la calibracion de modelos de camara tal como se presenta en el capitulo 7. Por ahora, los elementos de esta matriz se fijan a cero para indicar la transformaci6n de perspectiva nula.

Los elementos de la diagonal principal de una matriz de transformaci6n homogenea producen escalado local y global. Los primeros tres elementos diagonales producen un alargamiento 0 escalado local, como en

(2.2-23)

Asi, los val ores de las coordenadas se alargan mediante los escalares a, b y c, respectivarnente. Observese que las matrices de rotaci6n basicas, Trol, no producen ningun efecto de escalado local.

EI cuarto elemento diagonal produce escalado global como en

l~ ~ ~ ~ll;l = l;J

o 0 1 0 z z

o 0 0 sis

(2.2-24)

donde s > O. Las coordenadas cartesianas fisicas del vector son

Px

s

s

z p, = -, s

w

s s

=

(2.2-25)

x

y

CINEMATICA DEL BRAZO DEL ROBOT 31

Por tanto, el cuarto elemento diagonal en la matriz de transforrnacion hornogenea tiene el efecto de globalmente reducir las coordenadas si s > I Y de alargar las eoordenadas si 0 < s < 1.

En resumen, una matriz de transformacion hornogenea 4 x 4 transforma un vector expresado en coordenadas homogeneas con respecto al sistema de coordenadas OUVW en el sistema de coordenadas de referencia OXyz. Esto es, con w = I,

PX}'Z Tpuvw
y ~..;
l,' .J.)
[n. s" a" P'~
T = ny Sy ay e, = [n s a ~J
nz Sz az pz 0 0 0
0 0 0 I
2.2.7 Interpretaei6n geometrica de las matrices
de transformaei6n homogeneas (2.2-26a)

(2.2-26b)

En general, una matriz de transformacion hornogenea para un espacio tridimensional se puede representar como en la ecuacion (2.2-26b). Escojamos un punto p fijo en el sistema de coordenadas OUVW y expresado en coordenadas hornogeneas como (0, 0, 0, If; esto es, Puvw es el origen del sistema de coordenadas OUVw. Entonces la submatriz superior derecha 3 x I indica la posicion del origen del sistema OUVW con respecto al sistema de coordenadas de referencia OXyz. Escojamos el punto p como (I, 0, 0, If; esto es, Puvw == iu' Mas aun, suponemos que los origenes de ambos sistemas de coordenadas coinciden en un punto O. Este tiene el efecto de hacer los elementos en la submatriz superior derecha 3 x I un vector nulo, Entonces la primera columna (0 vector n) de la matriz de transformacion hornogenea representa las coordenadas del eje OU de OUVW con respecto al sistema de coordenadas OXYZ. Analogarnente, cogiendo p como (0, 1,0, If Y (0,0, I, If, se puede identificar que la segunda columna (0 vector s) 0 la tercera columna (0 vector a) de los elementos de la matriz hornogenea representan, respectivamente, los ejes 0 V yOW del sistema de coordenadas OUVW con respecto al sistema de coordenadas de referencia. Asi, dado un sistema de referencia OXYZ y una matriz de transformacion hornogenea T, los vectores columnas de la subrnatriz rotacion representan los ejes principales del sistema de coordenadas OUVW con respecto al sistema de coordenadas de referencia, y se puede dibujar la orientacion de todos los ejes principales del sistema de coordenadas OUVW con respecto al sistema de coordenadas de referencia. EI vector cuarta columna de la matriz de transforrnacion hornogenea representa la posicion del origen del sistema de coordenadas OUVW con respecto al sistema de referencia. En otras palabras, una matriz de transformacion hemogenea geometricarnente representa la localizacion de un sistema de coorde-

32 ROBOTlCA: CONTROL, DETECCION, VISION E INTELlGENCIA

nadas rotado (posicion y orientacion) con respecto a un sistema de coordenadas de referencia.

Como la inversa de una submatriz de rotacion es equivalente a su traspuesta, los vectores fila de una submatriz rotacion representan los ejes principales del sistema de coordenadas de referencia con respecto al sistema de coordenadas OUVw. Sin embargo, la inversa de una matriz de transformacion homogenea no es equivalente a su traspuesta. La posicion del origen en el sistema de coordenadas de referencia con respecto al sistema de coordenadas OUVW se puede deducir solamente despues de que se determine la inversa de la matriz de transIormacion homogenea. En general, la inversa de una matriz de transforrnacion homogenea se puede encontrar que es

(2.2-27)

~

Asi, de la ecuacion (2.2-27), los vectores columna de la inversa de una matriz de

transforrnacion homogenea representan los ejes principales de los ejes de referencia con respecto al sistema de coordenada rotado OUVW, y la submatriz 3 x 1 superior derecha representa la posicion del origen del sistema de referencia con respecto al sistema OUvw. Esta interpretacion geometrica de las matrices de transformacion homogenea es un concepto importante utilizado frecuentemente a 10 largo de este libro.

2.2.8 Matriz de transformaci6n homogenea compuesta () ~

Las matrices de rotacion y traslacion homogeneas se pueden multiplicar juntas para obtener una matriz de transforrnacion homogenea compuesta (Ia llamaremos la matriz T). Sin embargo, como la multiplicaci6n de matrices no es conmutativa, se debe prestar una atencion cuidadosa al orden en el cual se multiplican estas matrices. Las reglas que siguen son utiles para determinar una matriz de transformacion homogenea compuesta:

1. Inicialmente, ambos sistemas de coordenadas son coincidentes, ya que la matriz de transformacion homogenea es una matriz identidad 4 x 4, 14,

2. Si el sistema de coordenadas rotante OUVW esta rotando/trasladandose respecto de los ejes principales del sistema OXYZ, entonces premultiplicar la matriz de la transformacion homogenea previa (resultante) por una matriz de traslacion/rotacion basica apropiada.

3. Si el sistema de coordenadas rotantes OUVW esta rotando/trasladandose respecto de su propio eje principal, entonces postmultiplicar la matriz de transformacion homogenea (resultante) por una matriz de rotacion/traslacion basica apropiada.

CINEMA TICA DEL BRAZO DEL ROBOT 33

GjemPIO: Dos puntos auvw = (4, 3, 2)T y buvw = (6,2, 4)T se trasladan a una -1r distancia de + 5 unidades a 10 largo del eje OX y - 3 unidades a 10 largo fJ del eje Oz. Utilizando la matriz de transformacion homogenea apropiada, determinar los nuevos puntos axyZ Y bxyz •

. SOLUCI6N:
~ [~ 0 0 5] n [ ~I) + 1(5)] [9]
aXY: I 0 o 3 3( I) + 1(0) 3
0 I -~ ~ = 2(1) ~(1~(-3) = -!
0 0
~ [~ 0 0 -~] m ~ ['t]
bxyz I 0
0 I
0 0
Los puntos trasladados son axyz = (9,3, _I)T Y bxyz = (11,2, I)T. 0 Ejemplo: Se quiere determinar una matriz T que representa una rotaci6n de angulo IX respecto del eje OX, seguida por una traslacion de b unidades a 10 largo del eje girado 0 V.

SOLUCI6N: Este problema puede ser engafioso, pero ilustra alguna de las componentes fundamentales de la matriz T. Se utilizaran dos metod os, uno poco ortodoxo que es ilustrativo, y el otro ortodoxo que es mas simple. Despues de la rotacion Tx. , .. el eje rotado 0 V es (en termino de los vectores unitarios ix, jy, k, del sistema de referencia) 1. = cos exJv + sen exk.; es decir, la columna 2 de la ecuacion (2.2-21). Asi, una traslacion a 10 largo del eje rotado 0 V de b unidades es bjv = b cos :xjy + b sen xk z- Asi la matriz T es

[I 0 o 0] [~ 0 0 ~] ~
o I o b cos :ex cos ex - sen ex
T = Tv. bTx .• = ~ ~ I b sen :ex sen ex cos IX
o I 0 0
~ [~ 0 0 b c~s 0]
cos IX -sen IX
sen IX cos IX b sen :ex
0 0 I En el metodo ortodoxo, siguiendo las reglas dichas anteriormente, hay que darse cuenta que como la matriz T, .• girara el eje 0 Y respecto del eje 0 V,

34 ROBOTICA: CONTROL. DETECCION. VISION E INTELIGENCIA

entonces la traslaci6n a 10 largo del eje 0 V curnplira el mismo objetivo,
esto es,
T~T .. T"·~l~ 0 0 ~Jl~ 0 0 ~] ~
cos Gt - sen Gt 1 0
sen ex cos Gt 0 1
0 0 0 0
~ [~ 0 0 h '~'"]
cos Gt -sen ex
sen Gt cos CJ. b sen CJ.
0 0 1 0 Ejemplo: Encontrar una matriz de transformaci6n hornogenea T que represente una rotaci6n de angulo ex respecto del eje OX, seguida por una traslaci6n de a unidades a 10 largo del eje OX. seguida por una traslaci6n de d unidades a 10 largo del eje OZ, seguida por una rotaci6n de angulo () respecto del eje Oz.

SOLUCI6N:
["OS B =sen (J 0 ;Jl~ o 0 f] ~
sen (J cos (J 0 I 0
T = Tz.eT:.dT_" .• Tx.a - 0 0 0 I
0 0 0 0 0
~ l~ 0 0 ~ll~ 0 0 ~] ~
1 0 cos II -sen ex
0 1 sen II cos ex
0 0 0 0 ~'

Hemos identificado dos sistemas de coordenadas, el sistema de coordenadas de referencia fijo OXYZ y' el sistema de coordenadas m6vil (traslaci6n y rotaci6n) OUVw. Para describir la relacion del desplazamiento espacial entre estos dos sistemas de coordenadas, se utiliza una matriz de transformaci6n hornogenea 4 x 4. Las matrices de transformaci6n hornogenea tienen el efecto combinado de rotaci6n, traslaci6n, perspectiva y escalado global cuando operan sobre vectores de posici6n expresados en coordenadas hornogeneas.

Si estos dos sistemas de coordenadas se asignan a cad a elemento del brazo del robot, por ejemplo, el elemento i-I Y el elemento i, respectivamente, entonces el

[COS ()

sen (J o

o

= cos CJ. sen 0 cos CJ. cos (J sen CJ.

sen ex sen () -sen II cos 0 cos ex

a cos OJ

a sen (J

d

1

o

o

CINEMATICA DEL BRAZO DEL ROBOT 35

sistema de coordenadas del elemento i-I es el sistema de coordenadas de referencia y el sistema de coordenadas del elemento i es el sistema de coordenadas m6vil cuando se activa 'la articulacion i. Utilizando la matriz T, podemos espedfi~ar un punto Pi en reposo en el elemento i y expresado en el sistema de coordenadas del elemento i (u OUVW) en terrninos del sistema de coordenadas del elemento i-I (u OXYZ) como

(2.2-28)

donde:

T = matriz de transforrnacion hornogenea 4 x 4 que relaciona los dos sistemas de coordenadas.

Pi = vector de posicion ampliado 4 x I {Xi' Yj, z., If que representa un punto en el sistema de coordenadas del elemento i en coordenadas hornogeneas.

Pi-I = es el vector de posicion ampliado 4 x I (Xi-I' Yi-I, Zj_l, I)T que representa el mismo punto Pi en terminos del sistema de coordenadas del elemento i-I.

2.2.9 Elementos, articulaciones y sus parametres U>~

Un manipulador mecanico consiste en una secuencia de cuerpos rigidos, llamados elementos, conectados mediante articulaciones prismaticas 0 de revolucion (vease Fig. 2.8). Cada par articulacion-elernento constituye un grado de libertad.

Articulaci6n 2

ElemenlO 2

/

Elernento I""

Elernento 4

Aniculacion 6

+,

Figura 2.8 Un robot PUMA ilustrando articulaciones y elementos.

36 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

De aqui que para un manipulador con N grados de libertad hay N pares articulacion-elemento con eI enlace 0 (no considerado parte del robot) unido a una base so porte donde se suele establecer un sistema de coordenadas inercial para este sistema dinarnico, y el ultimo elemento esta unido a la herramienta. Las articulaciones y elementos se enumeran hacia afuera desde la base; asi la articulacion 1 es el punto de conexion entre el elemento 1 y la base soporte. Cada elemento se conecta, a 10 mas, a otros dos, as! pyes no se form_an lazos cerrados. J

---~Eiigeneral, dos elementos se conectan mediante un tipo de articulacion que

I tiene dos superficies deslizantes, una sobre la otra, mientras permanecen en contacto. Unicamente son posibles seis tipos diferentes de articulaciones: de revolucion (giratoria), prismatica (deslizante), cilindrica, esferica, de tornillo y planar (vease Fig. 2.9). De estas, unicamente las articulaciones giratoria y prismatica son comunes en los manipuladores.

Un eje de articulacion se establece (para la articulacion t) en la conexion de dos elementos (vease Fig. 2. to). Este eje de articulacion tendra dos normales conectadas a el, una para cada uno de los elementos. La posicion relativa de tales elementos conectados (elemento i-I Y elemento i) viene dada por d.; que es la distancia medida a 10 largo del eje de la articulacion entre las norm ales. EI angulo de articulacion OJ entre las normales se mide en un plano normal al eje de la articulacion, De aqui que d, y OJ se puedan Hamar la distancia y el angulo entre los

Revolucion

Planar

&7

Cilindrica

Prisrnatica

Dc tornillo

Figura 2.9 Tipos de articulaciones.

CINEMA TICA DEL BRAZO DEL ROBOT 37

Articulacion i + 1 0,+ I

Figura 2.10 Sistema de coordenadas de elementos y sus parametres,

elementos adyacentes, respectivamente. Determinan la posicion relativa de los elementos vecinos.

Un elemento i (i = 1, ... ,6) se conecta a 10 mas a otros dos elementos (por ejemplo, el elemento i-I Y eI elemento i + 1); asi se establecen dos ejes de articulacion en ambos extrernos de la conexion, EI significado de los elementos, desde una perspectiva cinematica, es que mantienen una configuracion fija entre sus articulaciones, que se pueden caracterizar por dos parametres: a, Y IXI• EI parametro a, es la distancia mas corta medida a 10 largo de la normal comun entre los ejes de la articulacion (es decir, los ejes Zi-I y z, para las articulaciones i e i + 1, respectivarnente), y IX; es eI angulo entre los ejes de articulacion medidos en ua plano perpendicular a a; Asi, a, Y lXi se pueden llarnar la /ongitud y el angulQ de torsion del elemento i, respectivamente. Determinan la estructura del e1emente i.

En resumen, se asocian cuatro parametres, a.; IX" d, Y OJ, con cada elemento de un manipulador. Si se ha establecido un convenio de signo para cada uno de est os para metros, entonces constituyen un conjunto suficiente para determinar eompietamente la configuracion cinernatica de cada elemento del brazo del robot. Observese que estos cuatro parametres van apareados: los parametres del elemento (a;, IX;) que deterrninan la estructura del elemento y los parametres de la articulacion id; 0i) que deterrninan la posicion relativa de los elementos vecinos,

2.2.10 La representacien de Denavit-Hartenberg

Para describir la relacion traslacional y rotacional entre elementos adyacentes, Denavit y Hartenberg [1955] propusieron un metodo matricial de establecer de fcmna sistematica un sistema de coordenadas (sistema ligado al cuerpo) para cada elemento de una cadena articulada. La representacion de Denavit-Hartenberg (O-H) resulta en una matriz de transformacion hornogenea 4 x 4 que representa

38 ROBOTlCA: CONTROL, DETECCION, VISION E INTELIGENCIA

cada uno de los sistemas de coordenadas de los elementos en la articulacion con respecto al sistema de coordenadas del elemento previo. Asi, mediante transformaciones secuenciales, el efector final expresado en las «coordenadas de la mano» se puede transformar y expresar en las «coordenadas de base» que constituyen el sistema inercial de este sistema dinamico,

Se puede establecer para cada e1emento en sus ejes de articulacion un sistema de coordenadas cartesiano ortonormal (Xi' Yi, Zi)·' donde i = 1, 2, ... , n (n = numero de grad os de libertad), mas el sistema de coordenadas de la base. Como una articulacion giratoria tiene solamente un grado de libertad, cad a sistema de coordenadas (Xi' Yi' Zi) del brazo de un robot corresponde a la articulaci6n i + I Y esta fija en el elemento i. Cuando el actuador de la articulacion activa la articulacion i, el elemento i se movera con respecto al e1emento i-I. Como el sistema de coordenadas i-esimo esta fijo en el elemento i, se mueve junto con eI elemento i. Asi pues, el sistema de coordenadas n-esimo se mueve con la mana (elemento n). Las coordenadas de la base se definen como el sistema de coordenadas numero 0 (xo, Yo, zo), que tam bien es el sistema de coordenadas inercial del brazo. Asi, para un brazo como el PUMA de seis ejes, tenemos siete sistemas de coordenadas, que representamos con (xo, Yo. zo), (XI' Y I' ZI)" .. , (x6, Y6, Z6)'

Cada sistema de coordenadas se determina y establece sobre la base de tres

regIas:

1. El eje Zi _ I yace a 10 largo del eje de la articulacion.

2. El eje Xi es normal al eje Zi-I y apunta hacia afuera de H

3. El eje Yi completa el sistema de coordenadas dextrogiro segun se requiera.

Mediante estas regIas, uno es libre de escoger la Ibcalizacion del sistema de

coordenadas 0 en cualquier parte de la base so porte, rnientras que eI eje Zo este a 10 largo del eje de movimiento de la primera articulacion, El ultimo sistema de coordenadas (el n-esimo) se puede colocar en cualquier parte de la mano, mientras que el eje X~ sea normal al eje Z~_I'

La representacion de D-H de un elemento rigido depende de cuatro parametros geometricos asociados con cada e1emento. Estos cuatro parametres describen completamente cualquier articulacion prismatica 0 de revolucion, Refiriendonos a la figura 2.10, estos cuatro parametres se definen como sigue:

()j: Es el angulo de la articulacion del eje Xi-I al eje Xi respecto del eje Zi-I (utilizando la regia de la mana derecha).

d; Es la distancia desde el origen del sistema de coordenadas (i - lj-esimo hasta la interseccion del eje Zi-I con el eje Xi a 10 largo del eje Zi- I'

aj: Es la distancia de separacion desde la interseccion del eje Zi-I con el eje Xi hasta el origen del sistema i-esimo a 10 largo del eje XI (0 la distancia mas corta entre los ejes Zi-I y ZI)'

(XI: Es el angulo de separacion del eje z, _ I al eje z, respecto del eje Xi (utilizando la regIa de la mana derecha).

• (xj, Yj, zJ realmente representan los vectores unitarios a 10 largo de los ejes principales del sistema de coordenadas i, respectivamente, pero se utilizan aqui para denotar el sistema de coordenadas i.

r

CINEMATICA DEL BRAZO DEL ROBOT 39

Para una articulacion giratoria, d.; a, Y IXj son los parametres de articulacion Y permanecen constantes para un robot, mientras que 8j es la variable articulacion que cambia cuando el elemento i se mueve (0 gira) con respecto al elemento i - 1.- Para una articulacion prismatica, 8j, a, Y IXj son los parametres de la articulacion Y permanecen constantes para un robot, mientras que d, es la variaMe de la articulacion. Para eI resto de este libro, la variable de la articulacion se refiere a 8j (0 d;), esto es, la cantidad que varia, y los parametres de articulacion se refieren a los restantes tres valores geometricos constantes (dj, a., elj) para una a~ticulacion giratoria 0 (8j, a.; IX) para una articulacion prismatica.

Con las tres reglas basicas anteriores para establecer un sistema de coordenadas ortonormal en cad a e1emento y la interpretacion geometrica de los para metros de la articulacion y del elemento, se presenta en eI algoritmo 2.1 un procedi-

E E ..

§

<. ~ ~3 r< Y6 (5) !186~

1I3 Z6 (a)

XI> (0)

Parametres de coordenadas de los elementos
de un robot PUMA .
Artieu·, 8; d, Rango de la
lacion i aj a, artieulaci6n
I !90 -90 0 0 -160 a +160
2 0 0 431.8 mrn 149,09 mm -225 a 45
3 90 90 -20,32 mm 0 -45 a 225
4 0 -90 0 433.07 mm -110 a 170
S 0 90 \ b o -100 a 100
(I 0 0 0 56,25 mm -266 a 266 Figura 2.11 Establecimiento del sistema de coordenadas de elementos para un robot

PUMA. ~

40 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

Parametres de las coordenadas
de los elementos de un robot Stanford
Articu- 6; 0/; Q; d,
laci6n i
I 61 = -90 -90 0 d,
2 62 = -90 90 0 d2
3 -90 0 0 d]
4 64 = 0 -90 0 0
5 8~ = 0 90 0 0
6 86 = 0 0 0 t4 Figura 2.12 Establecimiento del sistema de coordenadas de elementos para un robot Stanford.

miento para establecer un sistema de coordenadas ortonormal consistente para un robot Ejemplos de aplicaci6n de este algoritmo a un robot tipo PUMA de seis ejes y un brazo Stanford se dan, respectivamente, en las figuras 2.11 y 2.12.

Algoritmo 2.1: Asignacion del sistema de coordenadas de los elementos. Dado un brazo con n grados de libertad, este algoritmo asigna un sistema de coordenadas ortonormal a cada elemento del brazo de acuerdo a configuraciones de brazos similar a aquellas de la geometria del brazo humano. EI etiquetado del sistema de coordenadas comienza desde la base soporte hasta el efector final del brazo. Las relaciones entre elementos adyacentes se pueden representar mediante una matriz

CINEMATICA DEL BRAZO DEL ROBOT 41

de transformacion homogenea 4 x 4. La importancia de esta asignacion es que ayudani al desarrollo de un procedimiento consistente para derivar la solucion de la articulaci6n tal como se presenta en secciones posteriores. (Observese que la asignacion de los' sistemas de coordenadas no es unica.)

D1. Establecer el sistema de coordenadas de la base. Establecer un sistema de coordenadas ortonormal dextrogiro (xo, Yo, zo) en la base soporte con el eje Zo estando a 10 largo del eje de movimiento de la articulacion 1 y apuntando hacia afuera del hombro del brazo del robot. Los ejes Xo e Yo se pueden establecer convenientemente y son normales al eje zoo

D2. Inicializar y repetir. Para cada i, i = 1, ... , n - I, realizar los pasos D3 a D6.

D3. Establecer los ejes de la articulacion. Alinear el Zj con el eje de movimien to (giratorio 0 deslizante) de la articulacion i + 1. Para robots que tengan configuraciones de brazo levogiras, los ejes Zl y Z2 estan apuntando hacia afuera del hombro y el «tronco» del brazo del robot.

D4. Establecer el origen del sistema de coordenadas i-esimo. Localizar el origen del sistema de coordenadas i-esimo en la interseccion de los ejes Zj y ZI-l 0 en la interseccion de las normales comunes entre los ejes Zj y Zj-l Y el eje Zi'

D5. Establecer el eje Xi' Establecer Xi = ±(Zi-I X Zj)/IZi-1 x zil 0 a 10 largo de la normal comun entre los ejes Zi-I y Zi cuando son paralelos.

06. Establecer el eje Yi' Asignar Yj = +(Zi X X;)/IZi x xii para completar el sistema de coordenadas dextrogiro. (Extender si es necesario los ejes z, Y Xi a los pas os D9 a DI2.)

D7. Establecer el sistema de coordenadas de la mano. Normalmente la articulacion n-esima es de tipo giratorio. Establecer z, a 10 largo de la direcci6n del eje z, -I Y apuntando hacia afuera del robot. Establecer x, tal que sea normal a ambos ejes Zn-I Y Zn' Asignar Yft para completar el sistema de coordenadas dextrogiro. (Vease la secci6n 2.2.11 para mas detalle.)

D8. Encontrar los parametres de la articulacion y del elemento. Para i, i = 1, ... , n, realizar los pasos D9 a Dl2.

D9. Encontrar d.: d, es la distancia del origen del sistema de coordenadas (i - lj-esimo ala intersecci6n del eje Zi-I Y el eje Xi a 10 largo del eje Zi-I' Es la variable de la articulacion si j es prismatica,

010. Encontrar a.. a, es la distancia de la interseccion del eje Zi-l Y el eje Xi al origen del sistema de coordenadas i-esimo a 10 largo del eje Xi"

OIl. Encontrar Oi" OJ es el angulo de rotacion desde el eje Xi-I hasta el eje

XI respecto del eje Zi-l' Es la variable de articulacion si i es giratoria.

D 12. Encontrar (XI' (Xj es el angulo de rotacion desde el eje z, _ 1 hasta el eje

Zi respecto del eje Xi'

Una vez establecido el sistema de coordenadas D-H para cada elemento, se puede desarrollar facilmente una matriz de transformacion hornogenea que relatione el sistema de coordenadas i-esimo con el sistema de coordenadas

42 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

(i - I)-esimo. Observando la figura 2.10, es obvio que un punto r, expresado en el sistema de coordenadas r-esimo se puede expresar en el sistema de coordenadas (i - lj-esimo como fj_1 realizando las siguientes transformaciones sucesivas:

I. Girar respecto del eje Zj_1 un angulo de OJ para alinear el eje Xj_1 con el eje x, (el eje Xj_1 es paralelo a x, y apunta en la misma direccion).

2. Trasladar a 10 largo del eje Zj_1 una distancia de d, para llevar en coincidencia los ejes x, - 1 Y x,

3. Trasladar a 10 largo del eje x, una distancia de a, para traer en coincidencia tam bien los dos origenes de los ejes x.

4. Girar respecto del eje x, un angulo«, para traer en coincidencia a los sistemas de coordenadas.

Cada una de estas cuatro operaciones se puede expresar mediante una matriz rotacion-traslacion hornogenea basica y el producto de estas cuatro matrices de transformacion homogeneas basicas da una matriz de transforrnacion homogenea cornpuesta, j - 1 Ai> conocida como la matriz de transformacion D-H para sistemas de coordenadas adyacentes i e i-I. Asi,

~ [~ 0 0 ;1 [CO' 8; - sen OJ 0 fl ~
j-1Aj 1 0 sen OJ cos OJ 0
'= Tz. dTz, 8T.., .r; II
0 0 0 1
0 0 0 0 0
~ [~ 0 I [~ 0 0 ~] ~
d ~]
1 cos (Xj -sen (Xj
0 1 0 sen (Xj cos (Xj
0 o 1 0 0
[CO' 8; - cos o, sen OJ sen (Xj sen OJ a; co, 8;1
_ sen OJ cos (Xj cos OJ - sen 'lj cos OJ a, sen OJ (2.2-29)
- 0 sen (Xj cos (Xj dj
0 0 0 1 Utilizando la ecuacion (2.2-27) se puede encontrar la inversa de esa transformacion como

[ cos e, sen OJ 0 -a ]
[j- 1 A.J-' jAi-1 -cos a, sen OJ cos (Xj cos OJ sen (Xj -dj se~ (Xj
sen a, sen OJ - sen a, cos OJ cos (XI -dj cos (Xj
0 0 0 1
(2.2-30) donde (Xj, a.; d, son constantes mientras que OJ es la variable de la articulacion para una articulacion tipo revolucion.

CINEMATICA DEL BRAZO DEL ROBOT 43

Para una articulaci6n prisrnatica, la variable articulaci6n es d.; mientras que N. a. Y OJ son constantes. En este caso, j-l Aj se hace

:A,,: -,I

[COS e, - cos IXj sen OJ sen IXj sen OJ ;1
j-l _ _ sen OJ cos IXj cos OJ - sen IXj cos OJ
Aj - Tz 8Tz dT.. a -
. .. 0 sen IXj cos IXj
·0 0 0 (2.2-31)

y su inversa es

[ cos e, sen OJ 0 -d,:o ',1
[i-IAJ-1 jAj-1 - COS"'j sen OJ cos IXj cos OJ sen :J.j
cos IXj sen OJ - sen IXj cos OJ cos IXj -dj cos IXj
0 0 0 I
(2.2-32) Utilizando la matriz j - 1 Aj se puede relacionar un punta Pi en reposo en el elemento i y expresado en coordenadas homogeneas can respecto al sistema de coerdenadas i en el sistema de coordenadas i-I establecido en el elemento i-II pOT

Pi-l

(2.2-33)

donde Pi~ I = (X;_ l' Y;-I' :j-l' I)T Y Pi = (Xi' Yi' Z;, I)T.

Las seis matrices de transformaci6n i- 1 A; para el robot PUryfA de seis ejes han sido deterrninadas sobre la base del sistema de coordenadas establecido en la figura 2. H, Estas matrices i-I Ai se dan en la figura 2. t 3.

2.2.11 Ecuaciones cinernaticas para los manipuladores O~1-

La rnatriz homogenea °Tj que especifica la localizaci6n del sistema de coordenadas i-esimo con respecto al sistema de coordenadas de la base es el producto en cadena de matrices de transformaci6n de coordenadas sucesivas j - 1 Ai Y se expresa como

i
°Ti = °AIIA2 '" j-1Ai n j-lA· para i = 1,2,,,., n
J
j= I
[~i Yi Zj ~jJ = [O~i O~iJ (2.2-34)
0 0 44 ROBOTICA: CONTROL, DETECCION, VISION E INTELlGENCIA

COS OJ - COS (Xj sen OJ sen IXj sen OJ a, cos OJ
sen OJ cos (XI cos OJ - sen IXj cos OJ a, sen OJ
i-1Ai == 0 sen IXj cos lXi d,
0 0 0 1
[ c, 0 -SI 0 C2 -S2 0 a,c,]
SI 0 C1 0 S2 C2 0 a2S2
°AI = 0 -I 0 0 IA2 = 0 0 I d2
0 0 0 0 0 0 I
[ c, 0 S3 a,c,] [ C, 0 -S4 n
S3 0 -C3 Q3S3 S4 0 C4
2A3 = 0 I 0 0 3~= 0 -I 0
0 0 0 0 0 0
,_
+;
'.' ; ] n
[ c, 0 Ss [ C, -S6 0
Ss 0 -Cs S6 C6 0
/4A - s~= 0 0 I
! s- O I 0
0 0 0 0 0 0
[ c, C" -SI C1S23 a2CI C2 + a3CI C23 - d2S1 ]
SI C23 C1 SIS23 a2S1 C2 + a3S1 C23 + d2 C1
TI 5 °AI IA22A3 = -S23 0 C23 -a2S2 - a3S23
0 0 0
C4 Cs C6 - S4S6 -C4CSS6 - S4C6 C4SS d6C4SS
S4 Cs C6 + C4S6 -S4CSS6 + C4C6 S4SS d6S4SS
T2• 3~ 4Ass~ = -SsC6 SSS6 Cs d6CS + d4
0 0 0 1 Fipra 2.13 Matrices de transfonnaci6n de coordenadas de los elementos del robot PUMA.

CINEMATICA DEL BRAZO DEL ROBOT 45

donde:

[Xi' Yi' zJ = matriz de orientacion del sistema de coordenadas i-esimo establecido en el elemento icon respecto al sistema de coordenadas de la base. Es la matriz particionada superior izquierda 3 x 3 de vr,

Pi = vector de posicion que apunta desde el origen del sistema de coordenadas de la base hasta el origen del sistema de coordenadas i-esimo. Es la matriz particionada superior derecha 3 x 1 de vr,

Especificamente, para i = 6, obtenemos la matriz T, T = °T6, que especifica la posicion y orientacion del punto final del manipulador con respecto al sistema de ecordenadas de la base. Esta matriz T se utiliza tan frecuentemente en la cinemauca del brazo del robot que se llama la «rnatriz del braze». Considere que la matriz T sea de la forma:

T = [~6 Y6 Z6 ~6J [O~6 O~6J [~ S a n
=
0 0 o 0
[n, S" a" P'l
= n, s, a, P, (2.2-35)
nz Sz az pz
0 0 0 1
donde (vease Fig. 2.14): n = vector normal de la mano. Suponiendo una mano del tipo de mordaza paralela que es ortogonal a los dedos del brazo del robot.

s = vector de deslizamiento de la mano. Esta apuntando en la direccion del movimiento de los dedos cuando la pinza se abre y se cierra.

a = vector de aproximacion de la mano. Esta apuntando en la direccion normal a la palma de la mano (es decir, normal a la placa de montaje de la herramienta del robot).

P = vector de posicion de la mano. Apunta desde el origen del sistema de coordenadas de la base hasta el origen del sistema de coordenadas de la mano, que se suele localizar en el punto central de los dedos totalmente cerrados.

Si, el manipulador se relaciona a un sistema de coordenadas de referencia mediante una transformacion B y tiene una herramienta unida a la base de momtaje de la ultima erticulaciou descrita por H, entonces el punto final de la henamienta se puede relacionar con el sistema de coordenadas de referencia muh,iplicando las matrices B, °T6 Y H juntas como

(2.2-36)

Observese que H _ 6 Abe .. Y B == ref AO'

46 Jl.OBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

Yu

Figura 2.14 Sistema de coordenadas de la mana [0, s, a].

La soluci6n cinematica directa de un manipulador de seis elementos es, por tanto, simplemente un asunto de calcular T = 0 A6 mediante la multiplicaci6n en cadena de las seis matrices j -I Aj Y evaluar cada elemento en la matriz T. Observese que la soluci6n cinematica directa da una (mica matriz T para un q = (ql' q2' ... , q6f Y un conjunto de sistemas de coordenadas dados, donde qj = OJ para una articulacion giratoria y qj = d, para una articulacion prisrnatica. Las (micas ligaduras son las acotaciones fisicas de OJ para cada articulaci6n del brazo del robot. La tabla en la figura 2.11 da las ligaduras de articulacion de un robot de la serie PUMA 560 basado en el sistema de coordenadas asignado en la figura 2.11.

Habiendo obtenido todas las matrices de transformaci6n de coordenadas i -I Ai para el brazo de un robot, la siguiente tarea es encontrar un metoda eficaz de calcular T utilizando una computadora digital de uso general. EI metoda mas eficiente es multiplicando las seis matrices i-I Ai juntas manualmente yevaluando los elementos de la matriz T explicitamente en un programa de computadora. Las desventajas de este metoda son: 1) es engorroso multiplicar juntas las seis matrices i-I Ai, 2) la matriz del brazo es aplicable sola mente a un robot particular para un conjunto especifico del sistema de coordenadas (no es bastante flexible). En' el otro extremo se pueden meter las seis matrices j- 1 Ai Y permitir que la computadora realice la muItiplicaci6n. Este metodo es muy flexible, pero con el coste de tiempo del calculo en cuanto que la cuarta fila de i-I Ai consiste mayormente en elementos nulos.

Un metoda que tiene ambos, calculo rapido y flexibilidad, es multiplicar a «rnano» las tres primeras matrices i-I Ai para formar TI = 0 All A/ A3 Y tambien las ultirnas tres matrices i-IAi para formar T2 = 3A/A~~A6' que es una tarea relativamente directa. A continuacion expresamos los elementos de TI y T2 explicitamente en un programa y permitimos que la computadora los multiplique para formar la matriz del brazo resultante T = TI T2.

CINEMA TICA DEL BRAZO DEL ROBOT 47

Para un robot de la serie PUMA 560, TI se determina de la figura 2.13 como

11 = °A3 = °AIIA/A3 =
[C'C" -SI CIS23 a,C,C, + a,C,C" - d,S,]
SIC23 CI SIS23 G2SIC2 + G3SICZ3 + d2CI
- -S23 0 C23 -G2S2 - G3S23
0 0 0 1 (2.2-37)

y la matriz T2 se encuentra que es

(2.2-38)

donde Cij == cos (ei + e) y Sij == sen (ei + e).

La matriz del brazo T para el robot PUMA que se muestra en la figura 2.11 se encuentra que es

[nx s,

n : S

- 0A IA 2A 3A 4A sA - Y ",: Y

- I 234 S 6 - ,

nz,' Sz

o 0

(2.2-39)

donde:

n; = CI[CdC4CSC6 - S4S6) - S23SSC6] - SI(S4CSC6 + C4S6)

n,,= SI[CdC4CSC6 - S4S6) - S23SSC6] + CI(S4CSC6 + C4S6) (2.2-40) 11~ = -SZ3[C4CSC6 - S4S6] - C23SSC"

S,,= CI[ - C23(C4CSS6 + S4C6) + S23SSS6] - SI( -S4CSS6 + C4C6) 5y = SI[ -C23(C4CSS6 + S4C6) + S23S5S6] + CI(-S4CSS6 + C4C6)

S: == S23(C4C5S6 + S4C6) + C23SSS6 G", =:; CI(C23C4S~ + SZ3CS) - SIS4SS

a'y== SdC23C4SS + S23CS) + CIS4S~ G: = -S23C4SS + C23CS

p" = CI[d6(C23C4SS + S23CS) + S23d4 + G3C23 + G2C2] - SI(d6S4SS + d2)

(2.2-41)

(2.2-42)

,P, == SI[d6(C23C4SS + S23CS) + S23d4 + G3C23 + G2C2] + CI(d6S4SS + d2)

P, = d6(C23CS - S23C4SS) + Cz3d4 - G3S23 - G2S2 (2.2-43)

48 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

Como una cornprobacion, si ()l = 90°, ()2 = 0°, ()3 = 90°, ()4 = 0°, ()s = 0°, ()6 = 0°, entonces la matriz T es

-1 0

o 1

o 0

o 0

-149,09]

921,12

20,32 1

que esta de acuerdo con el sistema de coordenadas establecido en la figura 2.11.

De las ecuaciones (2.2-40 a 2.2-43), la matriz del brazo T requiere doce Ilamadas de funciones trascendentes, cuarenta muItiplicaciones y veinte sumas si sola mente calculamos la submatriz superior derecha 3 x 3 de T y el vector normal n se encuentra del producto vectorial de (n = s x a). Mas aun, si combinamos d6 con la longitud de la herramienta del dispositivo terminal, entonces d6 = 0 y la nueva longitud de la herramienta se incrementara en d6 unidades. Esto reduce los calculos a doce llamadas de funciones trascendentes, treinta y cinco multiplicaciones y dieciseis sumas.

;

---

Ejemplo: Ha sido preparada una estacion de trabajo de un robot con una camara de TV (vease la figura que se muestra en la pagina 49), La camara puede ver el origen del sistema de coordenadas de la base donde esta unido un robot de seis articulaciones. Puede tarnbien ver el centro de un objeto (supuesto que es un cuba) que va a ser manipulado por el robot. Si se ha establecido un sistema de coordenadas local en el centro del cubo, este objeto tal como 10 ve la camara se puede representar mediante una matriz de transformacion hornogenea T l' Si el origen del sistema de coordenadas de la base tal como 10 ve la camara se puede expresar tambien mediante una matriz de transformacion homogenea T2 y

o 1]

o 10

-1 9

o 1

o 0 -1 0 o -1 o 0

-10]

20

10 1

a) i,Cual es la posicion del centro del cubo con respecto al sistema de coordenadas de la base?

b) Suponer que el cubo esta dentro del alcance del brazo. i,Cual es la matriz de orientacion [0, s, a] si necesita que la pinza (0 los dedos) de la mana se alineen con el eje y del objeto y al mismo tiempo coja el objeto desde 10 alto?

CINEMA llCA DEL BRAZO DEL ROBOT 49

..... ;r---x, y( / ~Z(

SOLUCI6N:
~ [~ 1 0 T
dmaraTcUbo == TJ 0 0 l~ ;
0 -1
0 0
y
<'m."~ ~ T ~ [ ~ 0 0 -101
-1 0 20
base - 2 0 0 -1 10
0 0 0 1 Para encontrar baseTcubo, utilizamos la regia de «producto en cadena»:

Utilizando la ecuacion (2.2-27) para invertir la matriz T2• obtenemos la rnatriz de transformacion resultante:

~ ~~1 [~ ~

-1 10 0 0

o 1 0 0

b"·T = [~

cubo 0

o

o -1 o o

1 0

o 0

o 1

o 0

11]

10

1 1

50 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

Por tanto, eI cuba esta en la posicion (11, 10, 1 f del sistema de coordenadas de la base. Sus ejes x, y y z son paralelos a los ejes - y, x y z del sistema de coordenadas de la base, respectivamente.

Para encontrar [0, s, a], hacemos uso de

° - [0 sap]

T6 - 0 0 0 1

donde p = (11, 10, If de la solucion anterior. De la figura anterior necesitamos el vector de aproxirnacion a para alinear con la direccion negativa del eje 02 del sistema de coordenadas de la base res decir, a = (0, 0, - 1 f]; el vector s se puede alinear en una 0 en otra direccion del eje y de baseTcUbo res decir, s = (± 1, 0, Of]; y el vector 0 se puede obtener del producto vectorial de s y a:

n

k

j k

±1 0 0

o 0 -1

Hl

Por tanto, la matriz de orientacion [0, s, a] se encuentra que es

[ 0 1

[0, s, a] = + 1 0 o 0

o

2.2.12

-1 o o

~\J

-1

o

Otras especificaciones de la localizaci6n de erector final

En secciones anteriores analizamos las traslaciones y rotaciones de cuerpos rigid os (0 elementos) e introdujimos la matriz de transforrnacion homogenea para describir la posicion y orientacion de un sistema de coordenadas del elemento. De particular interes es la matriz del brazo °T6 que describe la posicion y orientacion de la mana con respecto al sistema de coordenadas de la base. La subrnatriz superior izquierda 3 x 3 de °T6 describe la orientacion de la mano. Esta submatriz de rotacion es equivalente a °T6, Hay otras especificaciones que se pueden utilizar para describir la localizacion del efector final.

Representacion del angulo de Euler para orieotaci6n. Como se indico en la seccion 2.2.4, esta representacion matricial para la rotacion de un cuerpo rigido simplifica muchas operaciones, pero no conduce directamente a iin conjunto completo de coordenadas generalizadas. Tal conjunto de coordenadas generalizadas se puede proporcionar mediante los tres angulos de Euler (¢, (/ y t/J).

CINEMATICA DEL BRAZO DEL ROBOT 51

Vtilizando la matriz de rotacion con la representacion de los angulos euleriano como en la ecuacion (2.2-17), la matriz del brazo °T6 se puede expresar como:

[OPCtjl ssces«

° _ S¢Ctjl + c¢Cestjl

T6 - seStjl

o

-C¢stjl - s¢cectjl

-S¢Stjl + c¢CeCtjl

sectjl o

ssse Px] -c¢se Py

ce pz (2.2-44)

o I

Otra ventaja de utilizar la representacion de angulos Euler para la orientacion es que la memoria necesitada para almacenar la posicion y orientacion de un objeto se reduce a un vector de seis elementos XYZ¢etjl. A partir de este vector, se puede construir la matriz del brazo °T6 mediante la ecuacion (2.2-44).

Representacilm de giro, elevacilm y desviacilm para la orientacilm. Otro conjunto de representacion de angulos de Euler para la rotacion es el giro, elevacion y desviacion (roll, pitch y yaw) (RPY). Otra vez, utilizando la ecuacion (2.2-19), la representacion matricial de la rotacion se puede utilizar para obtener la matriz del braze °T6 como:

lopce

0T _ s¢ce

6 - -se

o

cssos« - sse» cssec» + sss« px]

ssses« + esc» sssec» - C¢Stjl r, (2,.2-45)

cestjl CeCtjl pz.

o 0 I,

I

Tall como se discutio en el capitulo I, existen diferentes tipos de brazos de robot de acuerdo al movimiento de sus articulaciones (XYZ, cilindricas, esfericas y de brazo articulado), Asi se puede especificar la posicion de la mano (p"" p)~ pz)T en otras coordenadas tales como cilindricas 0 esfericas. La matriz de transformacion del brazo resultante se puede obtener por

(2.2-46)

o

donde oRb (RPY~.

matriz de rotacion expresada en los angulos de Euler 0 en, s, a] 0

Coordenadas cilindricas para el subconjunto de posicionamiento. En una representaci60 de coordenadas cilindricas, la posicion del efector final se puede especificar pOr las siguientes traslaciones/rotaciones (vease Fig. 2.15):

1. Una traslacion de r unidades a 10 largo del eje OX (T; ,).

2. Una rotacion de angulo :x alrededor del eje OZ (T, l)'

3. Una traslacion de d unidades a 10 largo del eje OZ (T; d)'

52 ROBOTlCA: CONTROL, DETECCION, VISION E INTELIGENCIA

°T = [~ ~ ~

6 0 0 I

000

rex] [

rSx

d

I 0

° ~]

(2.2-48)

a

x Figura 2.15 Representaci6n del sistema de coordenadas cilindricas.

La matriz de transformacion hornogenea que representa las operaciones anteriores se puede expresar como:

roo o][ca =s« 0 ~l x
o I 0 0 s« ex 0
Tcilindrica Tz.dTz.,Tx.r - 0 0 I d 0 0 1
o 0 0 I 0 0 0
[' 0 0 '] [ca =S« 0 ,cal
o I 0 0 Sa ea 0 rSx
x = (2.2-47)
o 0 I 0 0 0 I d
00010 0 0 I Como solamente estamos interesados en los vectores de posicion (es decir, la cuarta columna de TCiJlndrica), la matriz de brazo °T6 se puede obtener utilizando la ecuacion (2.2-46):

o

y Px. == rC«; Py == r S«, P: == d.

Coordenadas esfericas para el subconjunto de posicionamiento. Podemos utilizar tam bien el sistema de coordenadas esfericas para especificar la posicion del efector final. Esto utiliza las siguientes traslaciones/rotaciones (vease Fig. 2.16):

I. Una traslacion de r unidades a 10 largo del eje OZ (Tz. r)'

2. Una rotacion de angulo f3 respecto del eje 0 Y (Ty• p).

3. Una rotacion de angulo x respecto del eje OZ (T, .• ).

CINEMA TICA DEL BRAZO DEL ROBOT 53

a

x

Figura 2.16 Representacion del sistema de coordenadas esfericas,

La matriz de transforrnacion para la operacion anterior es

[CO -s« o OJ[ Cp 0 Sp ~] X
Sri. CrI. 000 1 0
T.ph = Tz.aRy.fJTz.r = ~ 0 I 0 -Sp 0 Cp
0 o 1 0 0 0
x [~ 0 0 0] r'CP =S« Crl.S{J 'C'SP]
I
1 0 o _ Srl.CP CrI. SrxSP rSrl.Sp (2.2-49)
r - -SP I
0 1 0 Cp rCp
0 0 1 0 0 0 1 Otra vez, nuestro interes es el vector de posicion con respecto al sistema de coerdenadas de la base; por tanto, la matriz del brazo °T 6 cuyo vector de posicion se expresa en coordenadas esfericas y la matriz de orientacion [n, s, a] 0 angulos de Euler 0 (RPy) se puede obtener:

[1 0 0

0T= 0 I 0

6 0 0 1

000

rcrl.SP] [

rSrl.Sp

rCp

1 0

° ~]

(2.2-50)

o

donde Px == rCrxSp, Py == rSrl.Sp, P: == rCp.

En resumen, existen algunos rnetodos (0 sistemas de coordenadas) que se pueden escoger para describir la posicion y orientacion del efector final. Para posicionamiento, el vector de posicion se puede expresar en coordenadas cartesianas I.p"" PY' p:f, cilindrica (rex, rS'X, df, 0 esferica (rC'XSp, rSrJ.Sp, rCpf. Para describir la orientacion del efector final con respecto al sistema de coordenadas de la base, tenemos cartesianas [n, s, a], angulos de Euler (41, 8, 1/1) y (RPY). El Fesuhado de todo esto se tabula en la tabla 2.2.

54 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

Tabla 2.2 Diversas representaciones de posicionamientojorientacion

[1 0

Tposici<ln = ~ ~ o 0

o px]

o Py

I P: o I

r; = [[0, s, a] o 0

O~]

o Rq..8 . .,

o

PosicionamienlO

Orientacion

Cartesiana (Px, p}" p:l Cilindrica (rCtx, r Sa, d)T Esferica (rCxSj3, rSrzSj3, rCj3f

Cartesiana [0, s, a] Angulos de Euler (f/!, e, 1/1) R,P, Y

2.2.13 Clasificaci6n de los manipuladores

Un manipulador consiste en un grupo de cuerpos rigidos 0 elementos, con el primero de ellos conectado a una base soporte y el ultimo conteniendo el dispositivo terminal (0 herramienta). Ademas, cada elemento se conecta a 10 mas a otros dos de manera que no se forman bucles cerrados. Hicimos la hipotesis de que la conexion entre elementos (las articulaciones) tienen solamente un grado de libertad. ' Con esta restriccion, son de interes dos tipos de articulaciones: de revolucion (0 giratorias) y prismaticas, Una articulacion de revolucion solamente permite la rotacion respecto de un eje, mientras que la articulacion prismatica permite el deslizamiento a 10 largo de un eje con ninguna rotacion (deslizamiento con rotacion se denomina una articulacion tipo tornillo). Estos elementos se conectan y se accionan de forma tal que se fuerzan a moverse relativamente uno respecto de otro con el fin de posicionar el efector final (una mano 0 herramienta) en una posicion y orientacion particular.

Por tanto, un manipulador, considerado como una combinacion de elementos y de articulaciones, con el primer elemento conectado a la base y el ultimo conteniendo la «mano», se puede clasificar por el tipo de articulaciones y su orden (desde la base hasta la mano). Con este convenio, el robot PUMA se puede clasificar como 6R yel brazo de Stanford como 2R-P-3R, donde R es una articulacion de revolucion y P es una articulacion prismatica.

2.3 EL PROBLEMA CINEMATICO INVERSO

En esta seccion se plantea el segundo problema de la cinernatica del robot: la cinematica inversa 0 solucion del brazo para un manipulador con seis articulaciones. Los robots basad os en computadora se suelen controlar en eI espacio de las variables de articulacion, mientras que los objet os que se manipulan se suelen expresar en el sistema de coordenadas de mundo. Con el fin de controlar la posicion y orientacion del efector final de un robot para aicanzar su objeto, es mas

CINEMATICA DEL BRAZO DEL ROBOT 55

iJl1portante la solucion cinematics inversa. En otras palabras, dada la posicion y orientacion del efector final de un brazo de robot de seis ejes °T6 y sus parametres de articulaci6n y elementos, nos gustaria encontrar los angulos de articulacion cOrrespondientes q = (qt, qz, q3, q4' qs, q6)T del robot de rnanera que pueda pas/cionar como se desee el efector final.

En general, el problema cinematico inverso se puede resolver por diversos !l'Ictodos, tales como la transformacion inversa (Paul y col. [1981]), el algebra de tomililo (Kohli y Soni [1975]), matrices duales (Denavit [1956]), cuaterniones duales (Yang y Freudenstein [1964]), iterativo (Vicker y col. [1964]), y metodos geometricos (Lee y Ziegler [1984]). Pieper [1968] presento la solucion cinernatica para cualquier manipulador con seis grados de libertad que tiene pares de revolucion 0 prismaticos para las tres primeras articulaciones y los ejes de las articulaciones de· las ultimas otras tres se intersectan en un pun to. La solucion se puede expresar como un polinomio de cuarto grado en una incognita y una solucion en fOf111acerrada para las incognitas restantes. Paul y col. [1981] presentaron una tecnjca transfonnada inversa utilizando las matrices de h'ansfonnaciones hornogeneas 4 x 4 para resolver la solucion cinematica para la misma c1ase de manipuladores simples que analizaba Pieper. Aunque la soJ:uci6n, resultante es correcta, tiene el problema de que no da una indicacion clara sobre como seleccionar una solucion apropiada de las diversas soluciones posibles para una configuraci6n de braze particular. El usuario a menudo necesita recurrir a su intuicion para tomar la respuesta correcta. Presentaremos el metoda de Pieper para resolver la solucion lnversa para angulos de Euler. Vicker y col. [1964] y MiJenkovic y Huang [1983] presentaron soluciones iterativas para la mayoria de los robots industriales. La Stllucion iterativa a menudo requiere mas calculos y no garantiza la convergencia a la solucion correcta especialmente en los casos singulary degenerado. Mas aim, como con la tecnica transfonnada inversa, no existe indicacion sobre como escoger la selucion correcta para una configuracion de brazo particular.

Es deseable encontrar una solucion del brazo en forma cerrada para los manipuladores. Afortunadamente, la mayoria de los robots comerciales tienen una u etra de las siguientes condiciones suficientes que hacen posible la solucion del braze en forma cerrada:

1. Tres ejes de articulacion adyacentes se interseccionan en un punto.

2. Tres ejes de articulacion adyacentes son paralelos entre si.

Ambos robots, el PUMA y el de Stanford, satisfacen la primera condicion, mientras que los robots ASEA y MINIMOVER satisfacen la segunda solucion para enCOliltrar la solucion en forma cerrada.

De ia ecuaci6n (2.2-39) tenemos la matriz de transforrnacion de brazo dada CQmo

s, ax PX]

Sy ay Py _ 0 A 1 A 2 A 3A 4A SA

- 1 234 5 6 s. a. P.

001

(2.3-1 )

56 ROBOTlCA: CONTROL, DETECCION, VISION E INTELIGENCIA

La ecuacion anterior indica que la matriz de brazo T es una funcion de senos y cosenos de 81, e2",., e6• Por ejemplo, para un robot PUMA, igualando los elementos de las ecuaciones matriciales como en las ecuaciones (2.2-40) a (2.2-43), tenemos doce ecuaciones con seis incognitas (angulos de las articulaciones) y estas ecuaciones tienen funciones trigonometricas complejas. Como tenemos mas ecuaciones que incognitas, se puede concluir inmediatamente que existen multiples soluciones para un robot como el PUMA. Exploraremos dos metodos para encontrar la solucion inversa: la tecnica transformada inversa para encontrar la solucion de los angulos de Euler, que puede tarnbien utilizarse para encontrar la solucion de las articulaciones de un robot como el PUMA, y un metodo geometrico que proporciona mas comprension en resolver manipuladores simples con articulaciones giratorias.

2.3.1 Tecnica transformada inversa parala solucion de angulos de Euler

En esta seccion demostraremos el concepto basico de la tecnica transformada inversa aplicandola a resolver los angulos de Euler. La matriz de rotacion 3 x 3 se puede expresar en terminos de los angulos de Euler (4), e, 1jJ) como en la ecuacion (2.2-17), dada por

[ C4>CIjJ - ssces» = S4>CIjJ + c4>ceSIjJ SeSIjJ

- C4>SIjJ - s4>cecljJ

- S4>SIjJ + c4>CecljJ

seCIjJ

=

- c4>se (2.3-2)

ce

Se desea encontrar el valor correspondiente de 4>, e, 1/1. Igualando los elementos de la ecuacion matricial anterior, tenemos:

n, = C4>CIjJ - S4>CeSIjJ (2.3-3a)
ny S4>CIjJ + C4>CesljJ (2.3-3b)
nz sesljJ (2.3-3c)
s" - C </>SIjJ - s4>CecljJ (2.3-3d)
s = -S4>SIjJ + c4>CecljJ (2.3-3e)
v
s = sec» (2.3-3/)
z
ax ssse (2.3-3g)
ay -csse (2.3-3h)
az = ce (2.3-3/) CINEMA TlCA DEL BRAZO DEL ROBOT 57

utilizando las ecuaciones (2.3-31), (2.3-3f) y (2.3-3h), una solucion a las nueve ccuaciones anteriores es:

e = cos - 1 (a,)

~ = cos - 1 (~~)

¢ = COS - 1 (~;y)

(2.3-4)

(2.3-5)

(2.3-6)

La solucion anterior es inconsistente y mal condicionada porque:

1. La funcion arco coseno no se comporta bien en cuanto a su precision en la determinacion del angulo ya que es dependiente del valor del angulo. Esto es, cos (e) = cos ( - e).

2. Cuando sen (e) se aproxima acero, esto es, e ~ 0° 0 e ~ ± 180°, las

ecuaciones (2.3-5) y (2.3-6) dan soluciones imprecisas 0 estan indefinidas.

Debernos, por tanto, encontrar un metoda mas consistente para determinar la solucion de los angulos de Euler y una funcion arco trigonometrica mas consistente para calcular la solucion del angulo, Con el fin de evaluar e para - n: :s; e :s; n:, se utilizara una funcion arco tangente, arc tg2 (y,x), que devuelve tg-1 (ylx) ajustada al cuadrante apropiado. Se define como:

e

arc tg2 (y, x)

!: Oo:s;e:s;90°

i 90° :s; e :s; 1800 -180° :s; e :s; _90° _90° :s; e :s; O"

para +x y + y para -x y + y para -x y -y para +x y -y

(2.3-7)

Utilizando la funcion arco tangente (arc tg2) con dos argumentos, tendremos una vision de la solucion general propuesta por Paul y col. [1981].

En la ecuacion matricial [ecuacion (2.3-2)] se dan los elementos de la matriz en el lado izquierdo, mientras que los elementos de las tres matrices dellado derecho son incognitas y son dependientes de ¢, e, ~. Paul y col. [1981] sugieren premultiplicar la ecuacion matricial anterior por su transformada inversa desconocida sucesivamente y de los elementos de la ecuacion matricial resultante determinan el lingulo incognita. Esto es, movemos una incognita (por su transformada inversa) del [ado derecho de la ecuacion matricial al lado izquierdo y resolvemos para la incognita, a continuacion movemos la siguiente incognita al lado izquierdo y repetimos el proceso hasta que se resuelven todas las incognitas.

Prernultiplicando la ecur eion matricial anterior por R; ~ tenemos una incognila (cp) en ellado izquierdo y dos incognitas (e,~) en ellado derecho de la ecuacion mamricial, asi tenemos

s¢ C¢ o

-s~ C~ o

~]

58 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

o

[ cs«: + Sen; -S¢nx + Con ; n~

Cos, + S¢S), -S¢Sx + C¢Sy

-StjJ cectjJ sectjJ

-~e]

ce

(2.3-8)

(2.3-9)

Igualando los elementos (1, 3) de ambas matrices en la ecuacion (2.3-8) tenemos:

que da

<jJ = tg-I (~~J = arc tg2 (ax, -a)

(2.3-10)

Igualando los elementos (l, 1) y (I, 2) de ambas matrices tenemos:

ctjJ = Con, + Sdm, StjJ = - Cos; - S<jJSy

(2.3-11 a) (2.3-llh)

que conduce a la soluci6n para tjJ,

./, -I (StjJ) -I (-C<jJSx - S<jJSy)

'+' = tg - = tg

CtjJ Con; + Son,

= arc tg2 (- Cos; - S<jJsy> Cdm; + S<jJny)

(2.3-12)1

Igualando los elementos (2, 3) y (3, 3) de ambas matrices tenemos:

se = Soa; - Ctba, ce = a,

(2.3-13)

que nos da la soluci6n para e,

Como el concepto de la tecnica transformada inversa es mover una inc6gnita al lado izquierdo de la ecuaci6n matricial a un tiempo y resolver para la incognita. podemos intentar resolver la ecuacion matricial anterior para <jJ, e, tjJ por postmultiplicar dicha ecuacion matricial por su transformada inversa R~.11jI

StjJ CtjJ o

-S<jJ C<jJ o

0][100]

o 0 ce - se

lose CO

CINEMATICA DEL BRAZO DEL ROBOT 59

Multiplicando las matrices tenemos:

[nxCIjJ-sxSIjJ nxSIjJ+sxCIjJ

nyCIjJ -SySIjJ nySIjJ + SyCIjJ

nzCIjJ - szSIjJ nzSIjJ + szCIjJ

ax] [C¢ -S¢CO S¢SO]

ay = S¢ C¢CO - C¢SO (2.3-15)

a, 0 SO CO

Otra vez, igualando los elementos (3, 1) de ambas matrices en dicha ecuacion matricial, tenemos:

(2.3-16)

que da

(2.3-17)

Igualando los elementos (3, 2) y (3, 3) de am bas matrices tenemos:

CO = a,

(2.3-18a) (2.3-18b)

que nos conducen a la solucion para 0, I

(2.3-19)

lgualando los elementos (I, I) Y (2, I) de ambas matrices tenemos:

C¢ = nxCIjJ - sxSIjJ S¢ = nyCIjJ - SySIjJ

(2.3-20a) (2.3-20b)

que da

¢ = tg-I (nyCIjJ - SySIjJ) nxCIjJ - sxSIjJ

= arc tg2 (nyCIjJ - SySIjJ, nxCIjJ - sxSIjJ)

(2.3-21 )

Corresponde al usuario la libertad de premultipIicar 0 postmultiplicar una ecuacion matricial dada.

Apliquemos esta tecnica transformada inversa para resolver los angulos de EUler para un robot tipo PUMA (solucion OAT de un robot PUMA). Los robots

........... . ...

.........

. .....

. .

60 ROBOTlCA: COl'TROL. DETECCION, VISION E INTELlGENCIA

PUMA utilizan los simbolos 0, A, T para indicar los angulos de Euler y sus definiciones se dan a continuacion (con referencia a la figura 2.17):

o (orientacibn) es eI angulo formado desde el eje Yo hasta la proyeccion del eje a de la herramienta sobre el plano XY respecto del eje zoo

A (altitud) es el angulo formado desd~erplaOOXY hasta eI eje a de la herramienta respecto del eje s de la~herramienta.

T (herramienta) (tool) es eI angulo formado desde el plano XY hasta el eje s de la herramienta respecto del eje a de la herramienta .

'!. ••••.•.

~~."" ",\) .. '

'>:

. , ,;;:;:,;:. '.

O. una medida del angulo 'DO ::'"

fonnado entre el eje r

MUNDO Y y una proyecci6n

de la HERRAMIENTA Z

sobre el plano MUNDO XY

.....

' .

............ ::.

A_ '. ..' 'i.

·'7V}.,>'" .. ···~OO '

'DO ••••••••• ",,\\)

}-

T. una medida del angulo

formado entre la HERRAMIENTA Y Y un plano paralelo al plano MUNDO XY

A, una rnedida del angulo

fonnado entre la HERRAMIENTA Z Y un plano paralelo al plano MUNDO XY

HERRAMIENTA Y

'" ~V..v.

....... 'Do J-

.... ".

:.

.' .....

. '

..: '!.

.... ~~~

.......... ~ .......

Figura 2.17 Definicion de los angulos de Euler 0, A Y T. (Tornado del manual del robot PUMA 398H.)

CINEMATICA DEL BRAZO DEL ROBOT 61

f'igura 2.18 Alineamiento inicial del sistema de coordenadas de la herrarnienta,

Inicialmente el sistema de coordenadas de la herrarnienta (0 el sistema de coordenadas de la mano) esta alineado con el sistema de coordenadas de la base del robot, como se nos muestra en la figura 2.18. Esto es, cuando 0 = A = T = 0°. los puntos de la mano en el eje Yo negative con los dedos en un plano horizontal y cl eje s estan apuntando al eje Xo positivo. La transforrnacion necesaria que describe la orientacion del sistema de coordenadas de la mano (0, S, a) con respecto al sistema de coordenadas de la base (xo. Yo. zo) esta dado por

[ ~ ~ .

-1 0 0

(2.3-22)

De la definicion de los angulos OAT y la matriz de alineacion inicial [ecuacion, (2.3-22)]. la relacion entre la transformaci6n de la mano y los angulos OA T esta dada par

[", Sx a, ] U 1 -!] R,AT ~
11 )' S)' G), = R:.o 0
11: Sz G: 0
[CO -SO ~] U 1 0] [ CA ° SA] [CT -ST 0]
:;; SO CO o -I .: 1 0 ST CT 0
,0 0 o 0 o CA o 0 1 Postmultiplicando la ecuacion matricial anterior por la transforrnacion inversa RG, T.

[n, Sx a,] [ CT ST 0] [CO -SO ~] U 1 0]
ny Sy Gy -ST CT o = SO CO o -1 x
I1z Sz G: 0 0 1 0 0 o 0
[ CA 0 SOA]
x 0 1
-SA 0 CA 62 ROBOllCA: CONTROL, DETECCION, VISION E INTELIGENCIA

y multiplicando las matrices tenemos:

co SOCA.] SO -COCA

o -SA

(2.3-23)

Igualando los elementos (3, 2) de dicha ecuacion matricial tenemos:

nzST + s.Cl' = 0

(2.3-24)

10 que la da solucion de T,

T = tg-1 (~~J = arc tg2 (sz> -nz)

(2.3-25)

Igualando los elementos (3, 1) Y (3, 3) de ambas matrices tenemos:

SA = -a.

(2.3-26a)

y

CA = -n.CT + s.Sl'

(2.3-26b)

entonces las ecuaciones anteriores dan

A = tg-1 ( -az );= arc tg2 (-az, -n.CT + «sr,

-n.CT + s:ST ! (2.3-27)

Igualando los elementos (1, 2) y (2, 2) de ambas matrices tenemos:

CO = n.S]' + sxCT SO = nyST + syCT

(2.3-28a) (2.3-28b)

que dan la solucion de 0,

o = tg - 1 (nyST + SyCT) nxST + s.ct

= arc tg2 (nyST + siC'I', nxST + sxCT)

(2.3-29)

La prernultiplicacion 0 la postrnultiplicacion anterior de las transformadas inversas desconocidas se pueden tam bien aplicar para encontrar la solucion de las articulaciones de un robot PUMA. Los detalles respecto a la solucion del robot PUMA se pueden encontrar en Paul y col. [1981].

Aunque la tecnica de la transformada inversa proporciona un metodo general para determinar la solucion de las articulaciones de un manipulador, no da una indicacion clara sobre como seleccionar una solucion apropiada de las diversas soluciones posibles para una configuracion de brazo particular. Esto tiene que descansar sobre la intuicion geometricadel usuario. Asi, un metodo geornetrico

CINEMATICA DEL BRAZO DEL ROBOT 63

es mas util para derivar una solucion de angulos de articulacion consistentes, dada la matriz del brazo como en la ecuacion (2.2-39), y proporciona un medio para que el usuario pueda seleccionar una solucion unica para una configuracion de brazo particular. Este metodo se presenta en la seccion 2.3.2.

2.3.2 Un metodo geometrico

Eslaseccion presenta un metoda geometrico para la resolucion del problema cineroatico inverso de manipuladores de seis elementos con articulaciones giratorias. La discusion se enfoca sobre un manipulador tipo PUMA. Basado en el sistema de coordenadas del elemento y en la geometria del brazo humano, se pueden identificar diversas configuraciones de brazo de un robot tipo PUMA (Fig. 2.11) con la ayuda de tres indicadores de configuracion (BRAZO, CODO y MU~ECA) -dos asociados con la solucion de las tres primeras articulaciones y el otro con las tres ultimas=. Para un robot de seis ejes tipo PUMA, existen cuatro soluciones posibles para las tres primeras articulaciones y para cada una de las cuatro soluciones hay dos soluciones posibles para las tres ultirnas. Los dos primeros indicadores de configuracion permiten determinar una solucion de las cuatro soluciones posibles para las tres primeras articulaciones. Analogarnente, el tercer indicador selecciona una solucion de las dos posibles para las tres ultimas articulaciones. Los indicadores de articulacion del brazo se especifican por el usuario para encontrar la solucion inversa. La solucion se calcula en dos eta pas. Primere, se deriva un vector de posicion apuntando desde el hombro hasta la mufieea, Esto se utiliza para obtener la solucion de cada articulacion i (i = 1,2,3) para las tres primeras articulaciones examinando la proyeccion del vector de posicion sobre el plano Xi-1Yi-l' Las tres articulaciones ultirnas se resuelven utilizando la solucion de la articulacion calculada de las tres primeras articulaciones, 'las submatrices de orientacion de °Tj y i-I Ai (i = 4,5,6), y la proyeccion del sistema de coordenadas de los elementos sobre el plano Xi-IYi-l' De la geometria se puede encontrar facilmente la solucion del brazo de forma consistente. Como, una verificacion de la solucion de la articulacion, se pueden determinar los indicadores de configuracion del brazo de las ecuaciones de decision correspondientes, las cuales son funciones de los angulos de la articulacion. Con modi ficaciones y ajustes apropiados se puede generalizar este metoda para resolver el problema cinematico inverso de la mayo ria de los robots industriales de hoy dia COn articulaciones giratorias.

Si se dan refTherramienla, entonces podemos encontrar °T6 por premultiplicar y postmu~tiplicar refTherramienla por B-1 Y H - 1, respectivamente, y la solucion del angulo de articulacion se puede aplicar a °T6 como se desee.

r Set ax P'l
° _ -l~ -I ~ s, a, Py (2.3-30)
T6 = T = B Therramienl.H =
nz s, az pz
0 0 0 1 64 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

Definicion de las diversas configuraciones de brazo. Para un robot PUMA mostrado en la figura 2.11 (y otros robots giratorios), se definen diversas configuraciones de brazo de acuerdo con la geometria del brazo humano y el sistema de coordenadas de elementos que se establecio utilizando el algoritmo 2.1 como (Fig. 2.19):

BRAZO DERECHO (hombro): (}2 positivo mueve la mufieca en la direccion Zo positivo mientras la articulacion tres no se activa.

BRAZO IZQUIERDO (hombro): (}2 positivo mueve la mufieca en la direccion Zo negativa mientras la articulacion tres no se activa.

BRAZO ARRIBA (codo por encima de la mufieca): Posicion de la mufieca del

{ DERECHO } .

brazo con respecto al sistema de coordenadas del hombro

IZQUIERDO

{negativo} .

tiene valor de coordenada . . a 10 largo del eje Y2'

POSltlVO

BRAZO ABAJO (codo por debajo de la mufieca): Posicion de la mufieca del

{ DERECHO } I .

brazo con respecto a sistema de coordenadas del hombro

IZQUIERDO

{positiVO}

tiene valor de coordenada . a 10 largo del eje Y 2'

negativo

MUNECA ABAJO: EI vector unitario s del sistema de coordenadas de la mana y el vector unitario Ys del sistema de coordenadas (x., Ys. zs) tienen un producto escalar positivo.

MUNECA ARRIBA: EI vector unitario s del sistema de coordenadas de la mana yel vector unitario y s del sistema de coordenadas (x., Y s- zs) tienen un producto escalar negative.

(Observese que la definicion de las configuraciones del brazo con respecto al sistema de coordenadas del elemento pueden tener que ser ligeramente modificadas si se utilizan diferentes sistemas de coordenadas para los elementos.)

Con respecto a la definicion anterior de las diversas configuraciones del brazo, se definen dos indicadores de configuraciones de brazo (BRAZO y CODO) para cad a configuracion. Estos dos indicadores se combinan para dar una solucion de las cuatro posibles para las tres primeras articulaciones. Para cada una de las cuatro configuraciones del brazo (Fig. 2.19) definidas por estos dos indicadores, el tercer indicador (MUNECA) da una de las dos posibles soluciones de articulacion para las tres ultirnas articulaciones. Estos tres indicadores se pueden definir como:

BRAZO = {+ 1 brazo DERECHO
-1 brazo IZQUIERDO (2.3-31 )
CODO {+1 brazo ARRIBA
-1 brazo ABAJO (2.3-32)
MUNECA {+1 mufieca ABAJO
-I mufieca ARRIBA (2.3-33) Braze izquierdo y arriba

Braze izquierdo y abajo

CINEMA TICA DEL BRAZO DEL ROBOT 65

Brazo derecho y arriba

Figura 2.19 Definicion de diversas configuraciones de brazo.

Brazo derecho y abajo

Adernas de estos indicadores, el usuario puede definir un conmutador «FLIP» como:

F IP _ {+ 1 Cambiar la orientacion de la muiieca

L - _I No cambiar la orientacion de la rnufieca

(2.3-34)

Los valores sefialados de estos indicadores y el conmutador se especifican por el Usuario para encontrar la solucion cinernatica inver sa. Estos indicadores se pueden tambien fijar a partir del conocimiento de los angulos de la articulacion del brazo del robot utilizando las correspondientes ecuaciones de decision. Posteriorhlen.te daremos las ecuaciones de decision que determinan estos valores de los ,indicadores. Las ecuaciones de decision se pueden utilizar como una verificacion de la solucion cinematica inversa.

66 ROBOTICA: CO",TROL, DETECCION, VISION E [;-;TELIGENC[A

Solucion del braze para las tres primeras articulaciones. Del diagrama cinernatico del robot PUMA en la figura 2.11, definimos un vector de posicion p que apunta desde el origen del sistema de coordenadas del hombro (xo, Yo, zo) hasta el punto donde intersecciona el ultimo de los tres ejes de la articulacion como (vease figura 2.14):

(2.3-35)

que corresponde al vector de posicion de °T4:

(2.3-36)

Solucion de la articulacion 1. Si proyectamos el vector de posicion p sobre el plano XoYo como en la figura 2.20, obtenemos las siguientes ecuaciones para obtener (}l:

et=¢-~ (}R = n + ¢ + ~ (2.3-37)
I
r Jp~ + p; - d2 R = Jp~ + p; (2.3-38)
2
sen ¢ = P, cos ¢ Px (2.3-39)
R R
d2 r
sen ~ cos o: = (2.3-40)
R R donde los superindices L y R sobre los angulos de las articulaciones indican las configuraciones de brazo IZQUIERDOjDERECHO. De las ecuaciones (2.3-37) a (2.3-40) obtenemos las funciones seno y coseno de (}1 para las configuraciones de brazo IZQUIERDO/DERECHO:

sen (}t = sen (¢ - ~) = sen ¢ cos ex - cos ¢ sen ~

(2.3-41 )

cos et

cos (¢ - rx) = cos ¢ cos rx + sen ¢ sen rx _ pxr + pyd2

- R2

(2.3-42)

sen (}f

(2.3-43)

cos (}f

cos (n + ¢ + rx)

(2.3-44)

66 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

Solucion del brazo para las tres primeras articulaciones. Del diagrama cinematico del robot PUMA en la figura 2.11, definimos un vector de posicion p que apunta desde el origen del sistema de coordenadas del hombro (xo, Yo, zo) hasta el punto donde intersecciona el ultimo de los tres ejes de la articulacion como (vease figura 2.14):

(2.3-35)

que corresponde al' vector de posicion de °T4:

(2.3-36)

Solucion de la articulacion J. Si proyectamos el vector de posicion p sobre el plano xoYo como en la figura 2.20, obtenemos las siguientes ecuaciones para obtener 81:

8f=¢-,,- 8R = Jt + ¢ + "- (2.3-37)
1
r = Jp~ + p; - d2 R = Jp~ + p; (2.3-38)
2
sen ¢ = Py cos ¢ = Px (2.3-39)
R R
d2 r (2.3-40)
sen Cl R cos Cl =
R donde los superindices L y R sobre los angulos de las articulaciones indican las configuraciones de brazo IZQUIERDOjDERECHO. De las ecuaciones (2.3-37) a (2.3-40) obtenemos las funciones seno y coseno de 81 para las configuraciones de brazo IZQUIERDOjDERECHO:

sen Of = sen (¢ - «) = sen ¢ cos "- - cos ¢ sen "-

(2.3-41 )

nL (.t.).t. _ pxr + pydZ

cos U1 = cos 'I' - Cl = cos 'I' cos r:J. + sen ¢ sen Cl - R2

(2.3-42)

sen 8f

sen (Jt + ¢ + Cl)

(2.3-43)

(2.3-44)

Plano xoYo

Yo

I I I

I

\ I

\ Brazo izquierdo /

\ //

'- ./

......... ...._----

Cilindro interior con radio d,

Yo

(Px' p_,.) B

/--/

/

I

I

~=X"+tJ>+a I

\

\

\

\ -,

Brazo derecho

Figura 2.20 Solucion para la articulacion 1.

CINEMA TICA DEL BRAZO DEL ROBOT 67

OA = dz

AB = r = .J pZ + p2 -dZ

x y 2

DB = .J pZ + pZ = R

x y

OA = dz

DB = .J p2 + p~

x •

Cotnbinando las ecuaciones (2.3-41) a (2.3-44) y uti1izando e1 indicador de BRAZO para indicar las configuraciones de brazo IZQUIERDODERECHO, obtenemos, respectivamente, las funciones seno y coseno de (}l:

- BRAZO pyJ p; + pi - di - pxflz p; + pi

(2.3-45)

(2.3-46)

68 ROBOTlCA: CONTROL, DETECCION, VISION E I:>iTELIGENCIA

Oil = dl EF = P, liB = Gl EG = P,. Be = a, DE = P, CD = d4

so = R = ,j P; + P; + P; - dl liE = r = ,j P; + P; - dj

Figura 2.21 Soluci6n para la articulacion 2.

donde se toma la raiz cuadrada positiva en estas ecuaciones y se define BRAZO como en la ecuacion (2.3-31). Con eI fin de evaluar (}l para -It ~ (}l ~ It, se utilizara tal como se definio en la ecuaci6n (2.3-7) una funcion arco tangente. De las ecuaciones (2.3-45) y (2.3-46), Y utilizando la ecuacion (2.3-7), se encuentra que (}l es:

(2.3- 47,

Solucion de /a articulacion 2. Para encontrar la articulacion 2, proyectamos el vector de posicion p sobre eI plano x lY 1 tal como se muestra en la figura 2.21. De esta figura encontramos que tenemos cuatro configuraciones diferentes de brazo. Cada una corresponde a valores diferentes de la articulacion 2 como se muestra

en la tabla 2.3, donde 0° ~ e1. ~ 3600 Y OC ~ f3 ~ 90°.

Tabla 2.3 Diversas configuraciones de brazo para la articulacion 2
Configuraciones de braze 82 BRAZO CODO BRAZO· CODO
Brazo IZQUIERDO y ARRIBA C( - f3 -I +1 -I
Brazo IZQUIERDO y ABAJO !X + f3 -I -1 +1
Brazo DERECHO y ARRIBA !X + f3 +1 +1 +1
Brazo DERECHO y ABAJO IX - f3 +1 -1 -1 CINEMATICA DEL BRAZO DEL ROBOT 69

En la tabla anterior, (}2 se puede expresar en una ecuacion para diferentes configuraciones de brazo y codo utilizando los indicadores de BRAZO y CODO C(uno:

(}2 = a. + (BRAZO . CODO)P = a. + K· 13

(2.3-48)

donde el indicador de configuracion de brazo combinado K = BRAZO . CODO d'ara un valor de signo apropiado y el «punto» representa una operaci6n de Jl1ultiplicaci6n sobre los indicadores. De la geometria del brazo en la figura 2.21 obtenemos:

(2.3-49)

sen ct =

pz

-- =

R

pz

(2.3-50)

BRAZO'r BRAZO· Jp; 2 d2
+ P, - 2
cos a. R Jp; (2.3-51)
+ p2 + p2 _ d2
, z 2
cos 13 a~ + R2 - (dl + an
= (2.3-52)
2a2R p; + p; + p; + a~ - di - (dl + a~) 2a2Jp; + p; + p; - di

sen 13 = J 1 - cos? 13

(2.3-53)

De las ecuaciones (2.3-48) a (2.3-53) encontramos las funciones de sene y coseno de 82:

sen (ct + K· p) = sen ct cos (K . 13) + cos ct sen (K . 13) =

= sen iJ. cos 13 + (BRAZO . CO DO) cos ct sen 13 cos (}2 = cos (et + K· {J) =

= cos iJ. cos {J - (BRAZO . CODO) sen iJ. sen 13

De las ecuaciones (2.3-54) y (2.3-55) obtenemos la solucion para 02:

(2.3-54)

(2.3-55)

e _ -1 (sen ()2)

2 - tg --

cos ()2

SO/Ucion para fa articulacion 3. Para la articulacion 3, proyectamos el vector de POsicion p sobre el plano X2Y2 tal como se muestra en la figura 2.22. De esta fi.~ura obtenemos cuatro configuraciones de brazos diferentes. Cada configuracIon corresponde a valores diferentes de la articulacion 3 como se muestra en la tabla 2.4, donde ep4)Y es la componente y del vector de posicion desde el origen

(2.3-56)

70 ROBOTlCA: C01'<TROL, LJETECCION, VISION E INTELIGENCIA

D

BD=~

J 4

AD = R = ~ pi + p2 + pI _ d2

x y ;; 2

0.1 = ¢ - i3

Brazo izquierdo y abajo

,~D

a2 Ii)

XJ 0) = ¢ - i3 = 90°

Brazo izquierdo y abajo

c

Brazo izquierdo y arriba

D

Figura 2.22 Soluci6n para la articulaci6n 3.

de (x2, Y 2' Z2) hasta el punto donde se intersectan los ultimos tres ejes de articulacion,

De la geornetria del brazo en la figura 2.22 obtenemos las ecuaciones siguientes para encontrar la solucion a (}3:

R= Jp;, + p; + p; - d'f
cos 4J a~ + (dJ + a~) - R2
2a2JdJ + a~
sen 4J BRAZO . CODO Jl cos? 4J
sen f3 d4 cos f3 la31
JdJ + a~ JdJ + a~ (2.3-57)

(2.3-58)

(2.3-59)

CINEMATICA DEL BRAZO DEL ROBOT 71
Tabla 2.4 Diversas configuraciones de brazos para la articulacion 3
Configuraciones de brazo ep4)Y 03 BRAZO CODO BRAZO'CODO
Brazo IZQUIERDO y ARRIBA )0 ¢-{3 -I +1 -I
Brazo IZQUIERDO y ABAJO ~ 0 ¢ -{3 -I -1 +1
Brazo DERECHO y ARRIBA ~ 0 ¢-(3 +1 +1 +1
Brazo DERECHO y ABAJO ) 0 ¢-{3 +1 -1 -I De la tabla 2.4 podemos expresar 03 en una ecuacion para conliguraciones de brazos diferentes:

(2.3-60)

De Ja ecuacion (2.3-60), las funciones sene y coseno de 03 son, respectivamente:

sen 03 = sen (1) - f3) = sen 1> cos f3 - cos ¢ sen f3 i

cos 03 = cos (1) - f3) = cos 1> cos f3 + sen ¢ sen f3

I

(2.3-61 ) (2.3-62)

De las ecuaciones (2.3-61) y (2.3-62), y utilizando las ecuaciones (2.3-57) a (2.3-59), encontramos la soluci6n para 03:

O _ - I (sen 03)

- tg ---

3 cos 03

(2.3-63)

Solucion del brazo para las ultimas tres articulaciones. Conociendo los tres prirneros angulos de articulaci6n, podemos evaluar la matriz °T3 que se utiliza extensivamente para encontrar la solucion de las tres ultirnas articulaciones. La soluci6n de las tres ultimas articulaciones de un robot PUMA se pueden encontrar haciendo que estas articulaciones cum plan los criterios siguientes:

1. Fijar la articulacion 4 de forma tal que una rotacion respecto de la rotacion 5 alineara el eje de movimiento de la articulacion 6 con el vector de aproximaci6n dado (a de T).

2. Fijar la articulacion 5 para aJinear el eje de movimiento de la articulacion 6 con el vector de aproxirnacion.

3. Fijar la articulacion 6 para alinear el vector de orientaci6n dado (0 vector de deslizamiento 0 Y6) Y el vector normal.

72 ROBOTlCA: CONTROL. DETECCIO~, \1SION E INTELIGENCIA

Ma tematicarnente, los cri terios anteriores significan, respectivarnente:

(2.3-64)

s = Y6

dado a = (ax. ay, az)T (2.3-65) dado s = (5x, 5y, 5zf Y n = (nx' ny, nzf (2.3-66)

a = Zs

En la ecuacion (2.3-64) se puede tomar el vector producto vectorial como positivo 0 negativo. Como resultado de esto, existen dos soluciones posibles para (}4' Si el vector producto vectorial es cero (es decir, Z3 es paralelo a a), indica el caso degenerado. Esto sucede cuando los ejes de rotacion son paralelos para las articulaciones 4 y 6. Indica que en esta configuracion de brazo particular seria suficiente un robot de cinco ejes en lugar de uno que tenga seis.

Solucion de fa articulacion 4. Ambas orientaciones de la mufieca (ARRIBA y ABAJO) se definen observando la orientacion del sistema de coordenadas de la mana (n, s, a) con respecto al sistema de coordenadas (xs, Ys, zs). EI signa del vector producto vectorial en la ecuacion (2.3-64) no se puede determinar sin referirse a la orientaci6n del vector unitario nos con respecto al vector unitario Xs 0 Y 5' respectivamente, que tienen una relacion fija con respecto al vector unitario Z4 a partir de la asignacion del sistema de coordenadas del elemento. (De la figura 2.11 tenemos el vector unitario Z4 apuntando en la misma direccion que el vector unitario Y s.~

Comenzaremos con la hipotesis que el producto vectorial en la ecuacion (2.3-64) tiene signa positivo. Esto se puede indicar mediante un indicador de orientacion n que se define como:

n

si se esta en el caso degenerado si s . Y s#-O

si s . Ys = 0

(2.3-67)

De la figura 2.11, Ys = Z4' Y utilizando la ecuacion (2.3-64), se puede reescribir el indicador de orientacion n cemo:

0 si se esta en el caso degenerado
(Z3 x a) si s . (Z3 x a) #- 0

n = ~Z3 x "I (2.3-68)
(Z3 x a) si s . (Z3 x a) = 0

IIz3 x 8;1 Si nuestra hipotesis del signa del producto vectorial en la ecuacion (2.3-64) no es correcta, se carnbiara posteriesmente utilizando la cornbinacion de MUNECA y el indicador de orientacion n La n se utiliza para indicar la orientacion inicial

CINEMATIC"' DEL BRAZO DEL ROBOT 73

1;abla 2.5 Diversas orientaciones para la mufieca

Orlientaci6n de muiieca O=s' Ys 0 n . Ys MUNECA M=MUNECA sign (0)
ABAJO ~ 0 +1 +1
ABAJO < 0 +1 -I
ARRIBA ~ 0 -1 -I
ARRIBA < 0 -I +1 del vector unitario Z4 (direccion posit iva) a partir de la asignaci6n de los sistemas de coordenadas de los elementos, mientras que el indicador MUNECA especifica la preferencia del usuario en la orientacion del subsistema MUNECA de acuerdo con la definicion dada en la ecuacion (2.3-33). Si ambos indicadores tienen eI mismo signo, entonces la hipotesis del signa del producto vectorial en la ecuacion (2.3-64) es correcta. En Ia tabla 2.5 se tabulan diversas orientaciones de MUNECA que resuItan de la cornbinacion de algunos valores de los indicadores de MUNECA y su orientacion,

Otra vez, observando la proyecci6n del sistema de coordenadas (x4, Y4' Z4) sabre el plano XJYJ Y de la tabla 2.5 Y la figura 2.23, se puede demostrar que es cierto 10 siguiente (vease Fig. 2.23):

(2.3-69)

donde XJ e YJ son los vectores columnas x e y. de °T3, respectivamente, M = MUNECA sign (0), y la funcion sign se define como:

. ) { + 1

sign (x =

-I

Sl X ~ 0 Sl X < 0

(2.3-70)

cos 9. = Z. • Yl

~----- z. I I I I I

"'.1

Figura 2.23 Solucion para la aniculacion 4.

74 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

Asi, la soluci6n para (}4 con los indicadores de MUNECA y orientaci6n es:

e -I (sen (}4)

= tg --

4 cos (}4

(2.3-71)1

Si ocurre el caso degenerado, se puede escoger para (}4 cualquier valor conveniente mientras se satisfaga la orientaci6n de la mufieca (ARRIBA/ABAJO). Esto se puede asegurar siempre fijando (}4 igual al valor actual de (}4' Adernas de esto, el usuario puede activar el conmutador FLIP para obtener la otra soluci6n de (}4, esto es, (}4 = (}4 + 180°.

Solucion de fa articulacion 5. Para encontrar (}s, utilizamos el criterio que alinea el eje de rotaci6n de la articulaci6n 6 con el vector de aproximaci6n (0 a = zs). Mirando la proyecci6n del sistema de coordenadas (xs, Ys, zs) sobre el plano X4Y4, se puede demostrar que es cierto 10 siguiente (vease Fig. 2.24):

(2.3-72)

donde X4 e Y4 son, respectivamente, los vectores columnas x e y de °T4 y a es el vector de aproximari6n. Asi, la soluci6n a (}s es:

. () = tg - 1 (sen () 5) -1t ~ () 5 ~ 1t

5 cos (}s

= tg-I [(C1C2)C4 - SlS4)a;r; + (SlC2)C4 + C1S4)ay - c4s23a:] C1S2)ax + SlS23a, + C23a:

(2.3-73)

Si (}s ~ 0, entonces ocurre el caso degenerado.

Solucion de fa articulacion 6. Hasta ahora hemos alineado el eje de la articulaci6n 6 con el vector de aproximaci6n. A continuaci6n necesitamos ali near la orientaci6n de la pinza para facilitar la recogida del objeto. EI criterio para hacer

x.

Figura 2.24 Solucion para la articulacion 5.

CINEMATICA DEL BRAZO DEL ROBOT 75

esto es fijar s = Y6. Mirando la proyecci6n del sistema de coordenadas de la mano (n, s, a) sobre el plano X5Y 5' se puede demostrar que se cumple (v ease figura 2.25):

sen (}6 = n . Ys

cos (}6 = S . Y 5

(2.3-74)

donde y s es el vector columna de -r, y n y s son, respectivamente, los vectores normal y de deslizamiento. Asi, la soluci6n a (}6 es:

86 = tg - 1 (sen ()()6) cos 6

CIC23S4)nx + (C1C4 - SIC23S4)ny + (S4SZ3)n,]

- C1CZ3S4)sx + (C1C4 - SICZ3S4)Sy + (S4S23)Sz (2.3-75)

La derivaci6n anterior de la solucion cinematica inversa de un robot PUMA se basa en la interpretacion geornetrica de la posicion del punto final del elemento 3 ydel requisito de orientacion de la mano (0 herramienta). Existe un inconveniente ell la derivacion anterior para ()4' ()s y ()6· El criterio para fijar el eje de movimiento de la articulacion 5 que es igual al producto vectorial de Z3 y a puede no ser valido cuando sen ()s ~ 0, 10 que significa que ()s ~ O. En este caso, el rnanipuladorse hace degenerado con los ejes de movimiento de las articulaciones 4 y 6 alineadas. En este est ado, solamente es significativo la suma de ()4 Y ()6. Si ocurre el caso degenerado, entonces somos libres de escoger cualquier valor para ()4' Of normalmente se utiliza su valor actual y a continuacion nos gustaria tener 64 -+- ()6 igual al angulo total necesitado para ali near el vector de deslizamiento s yel vector normal n. Si el conmutador FLIP est a activado (es decir, FLIP = I), entonces (}4 = (}4 + rt, ()s = - ()s Y ()6 = ()6 + 1t.

En resumen, existen ocho soluciones al problema cinernatico inverso de un robot tipo PUMA de seis articulaciones. La solucion de las tres primeras articu-

Xj

Figura 2.25 Solucion para la articulacion 6.

1

76 ROBOTlCA: CONTROL, DETECCION, VISION E INTELIGENCIA

laciones (81, 82, 8J) posicionan el brazo mientras que las soluciones de las ultirnas tres articulaciones (84, 85, (6) proporcionan la orientacion apropiada de la mano. Hay cuatro soluciones para las tres primeras articulaciones. Dos para la configuracion del brazo del hombro derecho y dos para la configuracion del brazo del hombro Izquierdo. Para cada configuracion de brazo, las ecuaciones (2.3-47), (2.3-56), (2.3-63), (2.3-71), (2.3-73) y (2.3-75) dan un conjunto de soluciones (81, 82, 8J, 84,85, (6) Y (81, 82, 83, 84 + n, -85,86 + n) (con el conmutador FLIP activado) da otro conjunto de soluciones.

Ecuaciones de decision para los indicadores de configuracien de brazo. La solucion derivada para un brazo tipo PUMA en la seccion anterior no es unica y depende de los indicadores de configuracion de braze especificados por el usuario. Estos indicadores (BRAZO, CODO y MUNECA) se pueden determinar tam bien a partir de los angulos de las articulaciones. En este apartado deducimos las ecuaciones de decision respectivas para cada indicador de configuracion de brazo. El signa de la ecuacion de decision (positivo, cero 0 negativo) proporciona una indicacion de la configuracion de brazo tal como se definieron en las ecuaciones (2.3-31) a (2.3-33).

Para el indicador BRAZO, siguiendo la definicion del brazo DERECHO/IZQUIERDO, se puede encontrar una ecuacion de decision como:

g(8, p)

= Zo'

- sen 8, Px

k o

o [z , x p't

-Py sen 81 - Px cos 81 [z , x p/l

(2.3-76)

donde p' = (Px, Py, O)T es la proyeccion del vector de posicion p [Ec. (2.3-36)J sobre el plano XoYo. z I ( - sen e I' cos 8 I' 0) T del vector tercera columna de °TI , Y Zo = (0, 0, 1)T. Tenemos las posibilidades siguientes:

1. Si gt8, p) > 0, entonces el brazo esta en la configuracion de brazo DERECHO.

2. Si g(8, p) < O. entonces el brazo esta en la configuracion de brazo IZQUIERDO.

3. Si g(8, p) = 0, entonces el criterio para encontrar la configuracion de brazo IZQUIERDO/DERECHO no se puede determinar univocarnente. El brazo esta dentro del cilindro de radio d2 en el espacio de trabajo (v ease Fig. 2.19). En este caso se toma por defecto el braze a la DERECHA (BRAZO = + 1).

BRAZO = sign [g(8. p)] = sign (-Px cos 81 - p}' sen (1) (2.3-77)

Como el denominador de las ecuaciones de decision anteriores es siempre positivo, la determinacion de la configuracion del brazo IZQUIERDo.UERECHO se reduce a comprobar el signa del numerador de g(8, p):

CINEMATICA DEL BRAZO DEL ROBOT 77

donde la funci6n signa se definio en la ecuacion (2.3-70). Sustituyendo las componentes x e y de P de la ecuaci6n (2.3-36), la ecuaci6n (2.3-77) se hace:

BRAZO = sign (g(8, p)] = sign (g(8)] = sign (-d4S23 - G3C23 - G2C2) (2.3-78)

De aqui que a partir de la ecuacion de decision en la ecuaci6n (2.3-78) se puede relacionar su signo con el indicador de BRAZO para la configuraci6n DERECHO/IZQUIERDO como:

{ + I => brazo DERECHO -1 => brazo IZQUIERDO (2.3-79)

PaFa el indicador de brazo CODO, seguimos la definici6n de brazo ARRIBA/ ABAJO para formular la correspondiente ecuacion de decision, Utilizando ep4), y el indicador BRAZO en la tabla 2.4, la ecuacion de decision para el indicador CODO se basa en el signo de la componente y el vector de posicion 2 A3 3 A4 Y el indicador de BRAZO:

=> CODO encima mufieca => CODO debajo mufieca (2.3-80)

Para el indicador MUNECA, seguimos la definici6n de MUNECA ARRIBA/ ABAJO para obtener un producto escalar positivo de los vectores unitarios s e Ys (014):

MUNECA

{ + 1

-1

si s . Z4 > 0 si s . Z4 < 0

(2.3-81)

Angulos de aniculaeion

r-r-: -, Posicion y orientacion

del efector final

Cinematics directa

Cinernatica inversa

+

Figura 2.26 Simulacion en computador de la solucion de la articulacion.

78 ROBOTlCA: CONTROL, DETECCION, VISION E INTELIGENCIA

Si s . Z4 = 0, entonces el indicador MUNECA se puede encontrar de:

MUNECA = {~:

Sl 0 . Z4 > 0 si 0 . Z4 < 0

(2.3-82)

Combinando las ecuaciones (2.3-81) y (2.3-82) tenemos:

MUNECA = {Sign (s . Z4) sign (0 . Z4)

si s . Z4 i= 0 si s . Z4 = 0

{ + 1 => MU~ECA ARRIBA - 1 => MUNECA ABAJO

(2.3-83)

Estas ecuaciones de decision proporcionan una verificacion de la solucion del brazo. Las utilizamos para prelijar la configuracion de brazo en el problema cinernatico directo y a continuacion utilizamos los indicadores de configuracion de brazo para encontrar la solucion cinernatica inversa (vease Fig. 2.26).

Simulacilm eo computador. Se puede escribir un programa para verilicar la validez de la solucion inversa del robot PUMA mostrado en la ligura 2.11. El programa genera inicialmente todas las posiciones en el espacio de trabajo del robot dentro de los limites de angulos de las articulaciones. Se introducen en la rutina cinernatica directa para obtener la matriz de brazo T. Estos angulos de las articulaciones se utilizan tarnbien para calcular las ecuaciones de decision para obtener los tres indicadores de conliguraci6n de brazo. Estos indicadores, junto con la matriz de brazo T, se dan a la rutina de la solucion inversa para obtener la solucion de los angulos de las articulaciones que deberian estar de acuerdo con los deducidos previamente en la rutina cinernatica directa. En la ligura 2.26 se muestra un diagrama de bloques de la sirnulacion en computador.

2.4 OBSERVACIONES FINALES

Hemos discutido en este capitulo el problema cinematico directo e inverso. Se delinieron los parametres de los elementos y de las articulaciones del brazo de un robot y se introdujo una matriz de transformaci6n homogenea 4 x 4 para describir la localizacion de un elemento con respecto a un sistema de coordenadas lijo. Se dedujeron las ecuaciones cinematicas directas para un robot tipo PUMA de seis ejes.

Se introdujo el problema cinematico inverse y se utilize la tecnica transformada inversa para determinar la solucion de los angulos de Euler. Esta tecnica se puede utilizar tam bien para encontrar la solucion inversa de robots simples. Sin embargo, no proporciona una cornprension geornetrica del problema. Asi se introdujo un metoda geometrico para encontrar la solucion inversa de un robot con seis articulaciones de tipo giratorio. Se determine la solucion inversa con la ayuda de tres indicadores de configuracion de brazo (BRAZO, CODO y MUNE-

CINEMATICA DEL BRAZO DEL ROBOT 79

CA). Hay ocho soluciones para un robot tipo PUMA -cuatro soluciones para las tres primeras articulaciones y para la configuracion del brazo, dos soluciones Itlas para las ultirnas tres articulaciones-. Se puede verificar mediante simulacion 'en computadora la validez de las soluciones cinematicas directa e inversa. Con rnodificaciones y ajustes apropiados se puede generalizar el metoda geomelrico a otros robots industriales simples con articulaciones de tipo giratorio. Los conceptos cinematicos que se han tratado en este capitulo se utilizaran de forma amplia en el capitulo 3 para deducir las ecuaciones de movimiento que describen la COlllducta dinarnica de un brazo de robot.

REFERENCIAS

Mas informacion sobre matrices se puede encontrar en Bellman [1970], Frazer y colaboradores. [1960] Y Gantmacher [1959]. La utilizacion de matrices para describir la posicion de un elemento mecanico rigido se puede ver en el trabajo de nenavit y Hartenberg [1955] y en su libro (Hartenberg y Denavit [1964]). Mas informacion sobre coordenadas homogeneas se puede ver en Duda y Hart [1973] Y Newman y Sproull [1979]. La discusi6n sobre cinernatica es una extension de un trabajo de Lee [1982]. V na arnpliacion sobre cinematica se puede encontrar en Hartenberg y Denavit [1964] Y Suh y Radcliffe [1978]. Aunque la representacion matricial de los elementos presenta un enfoque sistematico para resolver el psoblema cinematico directo, el rnetodo vectorial para el problema cinematico presenta una representacion mas concisa de los mismos. Esto se estudia en un trabajo por Chase [1;963]. Otros libros de robotica que analizan el problema cinematico son Paul [1981], Lee, Gonzalez y Fu [1986] y Snyder [1985].

Pieper [1968], en su tesis doctoral, utilize un rnetodo geometrico para resolver el problema cinernatico inverso. EI estudio de la tecnica transform ada inversa para encontrar la solucion del brazo se baso en el trabajo de Paul y col. [1981]. Ell rnetodo geometrico para resolver la cinernatica inversa de un manipulador de seis elementos con articulaciones giratorias se baso en el trabajo de Lee y Ziegler [1984]. La solucion del brazo de un robot tipo Stanford se puede ver en un informe de Lewis [1974]. Otras tecnicas para resolver la cinernatica inversa se pueden ver en los articulos de Denavit [1956], Kohli y Soni [1975], Yang y Freudenstein [1964], Yang [1969], Yuan y Freudenstein [1971], Duffy y R.ooney [1975], Vicker y col. [1964]. Finalmente, el Iibro tutorial editado por Lee, Gonzalez y Fu [1986] contiene numerosos trabajos recientes sobre rob&tica.

PROBLEMAS

(it) i,Cuil es la matriz de rotacion para una rotacion de 30e respecto del eje OZ, seguida \~ Una rotacion de 60' respect a del eje OX, seguida por una rotacion de 90° respecto del eJe OY?

80 ROBOTlCA: CONTROL, DETECCIOl', \ilSlON E INTELIGENCIA

(2~2 ),Cual es la matriz de rotacion para una rotacion de angulo rjJ respecto del eje OX, -seguida por una rotacion de angulo i/J respecto del eje 0 W, seguida por una rotaci6n de angulo 0 respecto del eje 0 Y?

_.l3 Encontrar otra secuencia de rotaciones que sea diferente del problema 2.2, pero que -: resalte en la misma matriz de rotacion,

--'_./

2.4 Deducir la formula para sen (rjJ + 0) y cos (rjJ + 0) desarrollando simbolicarnente dos rotaciones de rjJ y 0 utilizando los conceptos de matriz de rotaci6n estudiados en este capitulo.

(2:5) Determinar una matriz T que representa una rotaci6n de angulo !J. respecto del eje "OZ, seguida por una traslacion de b unidades de distancia a 10 largo del eje OZ, seguida por una rotacion de angulo rjJ respecto del eje 0 V.

( '2li~Para la figura que se muestra a continuacion, encontrar las matrices de transforrna"-ci6nhomogenea 4 x 4 j-1Aj Y °Aj para i = 1,2,3,4,5.

/ / /

/

/

/

/

/

/

Yo

(~ Para la figura que.se muestra en la pagina 81, encontrar las matrices de transforrna-ctbn hornogenea 4 x 4'- I Ai Y 0 Ai para i = 1, 2, 3, 4.

/~ Se ha preparado una estacion de trabajo de robot con una carnara de TV, tal como ; s~uestra en la seccion 2.2.11. La camara puede ver el origen del sistema de coordenadas

"de la base donde se fija un robot de seis elementos, y tarnbien el centro de un cuba que tiene que ser manipulado por el robot. Si se ha establecido un sistema de coordenada local en e1 centro del cubo, entonces este objeto, tal como 10 ve la carnara, se puede representar por una matriz de transformaci6n homogenea T1. Tarubien el origen del sistema de

4in

1

/ / /

/

',I //

" '"

"

CINEMATICA DEL BRAZO DEL ROBOT 81

1.\

p\

I"~

I 5 in

I I I I I I I I I

I y,

.j------------

I

/

3,5 in

/ ---(

coordenadas de la base tal como 10 ve la carnara se puede expresar por una matriz de
transforrnacion homogenea T2, donde
~[~ I 0 '~] T, ~ fl 0 0 -10]
0 0 -I 0 20
Tl 0 -I Y 0 -I 10
0 0 0 0 I " " "

"

" " "

"

"

/

/

,,<,

a) Desgraciadamente, despues de que se ha colocado el equipo y se han tornado estos sistemas de coordenadas, alguien gira la carnara 90° respecto del eje z de la carnara. i,Cual es la posicion/orientacion de la camara con respecto al sistema de coordenadas de la base del robor' b) Despues de que haya calculado la respuesta a la pregunta a), la misma perSOna giro eI objeto 90° respecto del eje x del objeto y 10 traslado cuatro unidades de distancia a 10 largo del eje y girado, i,Cual es la posicion/orientacion del objeto con respec!o al sistema de coordenadas de la base del robot? i,Y con respecto al sistema de COord..:nadas de la camara girada?

~9 Hernos estudiado un rnetodo geometrico para encontrar la solucion cinernatica Inversa de un robot tipo PUMA. Encontrar los requisitos computacionales de la solucion de la articulaci6n en terminos de operaciones de multiplicaci6n y suma y el numero de lIamadas trascendentes (si eI mismo termino aparece dos veces, el calculo se deberia contar SOlarnenle una vez),

82 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

I 2~O~stablecer el sistema de coordenadas del elemento ortonormal (Xi' Yi' z.) para i = I, 2, ... ,6 para el robot PUMA 260 que se muestra en la figura siguiente y completar la tabla.

Rotacion de cintura 3300

m

Rotacion de hombro 310°

Rotacion de codo

8,0~ ~

/~ci~

~:';:16' ~1'

~nde

,>;;;~:l~:

13 in

Para metros de coordenadas de los elementos del robot PUMA

AnicuIaci6n I 0, ~; a, d,

2 3 4 5 6

/~ Establecer un sistema de coordenadas de elementos ortononnales (Xi' Yi' Zi) para \'i-4: 1, 2, ... ,5 para el robot MINIMOVER que se muestra en la figura siguiente y

completar la tabla. •

CINEMA TlCA DEL BRAZO DEL ROBOT 83

Parametres de coordenadas de los elementos del robot MINIMOVER

Articulaci6n i 8i (Ii aj d,

2 3 4 5

-Z:ill, , ,.~n robot tipo Stanf?rd se ha movid~ a las posicione~ que se rnuestran ,en I~ figu!a. t;a(vanables de articulacion en esta pOSICIOn son: q == (90-, -120',22 ern, 0·,70-, 90'jT. Establecer el sistema de coordenadas del elemento ortogonal (x, Yj, zJ para i == I, 2, ... ,6 para este brazo y cornpletar la tabla.

Parametres de coordenadas de los elementos del robot Stanford

Articulacion i

2 3 4 5 6

2.13 Utilizando las seis matrices i r- 1 Aj (i = 1,2, ... ,6) del robot PyMA de la figura 2.13, encontrar su error de posicion al final del elemento 3 debido al error de medida de los tres primeros angulos de articulacion (~Op ~02' ~03)' Es suficiente una solucion aproximada de primer orden.

2.141 Repetir eI problema 2.13 para el robot Stanford que se muestra en la figura 2.12. ~~n la figura se muestra un manipulador con dos grados de Iibertad. Si la longitud de cada elemento es de un metro, establecer sus sistemas de coordenadas de elementos y encontrar 0 Al Y 1 A2• Encontrar la solucion cinematics inversa para este manipulador.

84 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

~,

,----tW Para el robot PUMA que se muestra en la ligura 2.11, suponer que hemos encontra. do correctamente la solucion de las tres primeras articulaciones (el: e2, eJ) y que se dan j - 1 Aj, i = I, 2, ... ,6 Y °Tb. Utilizar la tecnica de transforrnacion inversa para encontrar la solucion de los tres ultirnos angulos de las articulaciones (04, Os, 06). Compare sus soluciones con las ecuaciones dadas (2.3-71), (2.3-73) y (2.3-75).

2.17 Para el robot Stanford de la ligura 2.12, obtener la solucion de los tres primeros angulos de articulacion. Puede utilizar cualquier metoda con el que se sienta comedo.

2.18 Repetir el problema 2.16 para el robot Stanford de la ligura 2.12.

CAPITULO

TRES

DINAMICA DEL BRAZO DEL ROBOT

La inevitable se supera mediante el esfuerzo Oliver Wendell Holmes

3.1

INTRODUCCION ~b1

La dinarnica del robot trata con las formulaciones rnaternaticas de las ecuaciones de movimiento del brazo. Las ecuaciones de movirniento de un manipulador son un conjunto de ecuaciones rnaternaticas que describen su conducta dinarnica. Tales ecuaciones son utiles para la sirnulacion en computadora del rnovimiento del robot, el disefio de ecuaciones de control apropiadas para el robot y la evaluacion del disefio y estructura del brazo. En este capitulo nos centraremos en la ferrnulacion, caracteristicas y propiedades de las ecuaciones dinarnicas de rnovirniento que son adecuadas con fines de control. EI objetivo del control de un manipulador bas ado en computadora es mantener la respuesta dinarnica del misrno de acuerdo con algun rendimiento del sistema preespecificado y objetivos deseados. En general, el rendirniento dinarnico de un manipulador depende directarnente de la eficacia de los algoritmos de control y de su modelo dinarnico. EI problema de control consiste en obtener modelos dinarnicos del brazo del robot fisico y a continuacion especificar leyes 0 estrategias de control correspondientes para conseguir la respuesta y rendimiento del sistema deseado. Este capitulo trata principalmente con la primera parte del problema de control del manipulador; esto es, la rnodelizacion y evaluacion de las propiedades y conducta dinamica de robots controlados por computadora.

EI modelo dinarnico de un robot se puede obtener a partir de leyes fisicas eonocidas tales como las leyes de la mecanica newtoniana y lagrangiana Esto conduce al desarrollo de las ecuaciones de movimiento dinarnico para las diversas articulaciones del manipulador en terrninos de los para metros geometricos e inerciales de los elementos. Metodos convencionales como las formulaciones de Lagrange-Euler (L-E) y Newton-Euler (N-E) se pueden aplicar entonces sistematicamente para desarrollar las ecuaciones de movimiento del robot. De estas dos formulaciones se obtienen diferentes formas de describir la dinarnica del brazo del robot, tales como las ecuaciones de Lagrange-Euler de Vicker (Vicker [1965], 8ejczy [1974]), las ecuaciones recursivas de Lagrange de Hollerbach (Hollerbach j [1980]), las ecuaciones de Newton-Euler de Luh (Luh y col. [1980a]) y las teuaciones generalizadas d'Alembert y Lee (Lee y col. [1983]). Estas ecuaciones

de movimiento son «equivalentes» unas a otras en el sentido de que describen la conducta dinarnica del mismo robot fisico. Sin embargo, sus estructuras pueden

86 ROBOTIC A: CONTROL, DETECCION, VISION E INTELIGENCIA

diferir porque se obtienen por diversas razones y objetivos. Algunas se obtienen para lograr tiempos de calculo rapido en la evaluaci6n de los pares de las articulaciones nominales para controlar el manipulador, otras se obtienen para facilitar el analisis y la sintesis de control, y todavia otras se obtienen para mejorar la simulacion en una computadora del movimiento del robot.

La obtencion del modelo dinarnico de un manipulador basado en la formulacion de L-E es simple y sistematica. Suponiendo el movimiento del cuerpo rigido, las ecuaciones de movimiento resultante, excluyendo la dinarnica de los dispositivos de control electronico, huelgo y el rozamiento de los engranajes, son un conjunto de ecuaciones diferenciales no lineales acopladas de segundo orden, Bejczy [1974], utilizando la representacion de la matriz de transformaci6n homogenea 4 x 4 de la cadena cinematica y la formulaci6n lagrangiana, ha demostrado que las ecuaciones de movimiento dinarnico para un robot tipo Stanford de seis articulaciones son fuertemente no lineales y constan de carga inercial, fuerzas de reacci6n de acoplo entre las articulaciones (Coriolis y centrifuga) y efectos de carga de la gravedad. Mas aun, estos pares/fuerzas dependen de los parametres fisicos del manipulador, de 1a configuraci6n instantanea de las articulaciones, de la velocidad y aceleracion de las articulaciones y de la carga que esta soportand~ el robot. Las ecuaciones de movimiento L-E proporcionan ecuaciones de estado explicitas para la dinarnica del robot y se pueden utilizar para analizar y disefiar estrategias de control avanzadas en el espacio de las variables de articulaci6n. En una menor medida se estan utilizando para resolver el problema dinamico directo, esto es, dadas las fuerzas/pares deseadas, se utilizan las ecuaciones dinarnicas para resolver las aceleraciones de las articulaciones, que se integran a continuacion para obtener las coordenadas y velocidades generalizadas; 0 para el problema dinamico inverso, esto 'es, dadas las coordenadas generalizadas deseadas y sus primeras dos derivadas respecto del tiempo, se ca1culan las fuerzas/pares generalizados. En ambos casos se puede necesitar ca1cular los coeficientes dinarnicos Dit' hit'" Y ci definidos en las ecuaciones (3.2-31), (3.2-33) y (3.2-34), respectivamente. Desgraciadamente, el calculo de est os coeficientes requiere una relativa cantidad de operaciones aritrneticas. Asi las ecuaciones de L-E son muy dificiles de utilizar con fines de cr .rol en tiempo real a menos que se simplifiquen.

Como una alternativa para derivar ecuaciones de movimientos mas eficientes, se dirigi6 la atencion a desarrollar algoritmos para calcular las fuerzas/pares generalizados basados en las ecuaciones de movimientos de N-E (Armstrong [1979], Orin y col. [1979], Luh y col. [1980a]). La obtenci6n es simple, pejo engorrosa, e implica terminos de producto vectorial. Las ecuaciones dinarnicas resultantes, excluyendo la dinarnica del dispositivo de control, huelgo y rozamiento de los engranajes, son un conjunto de ecuaciones recursivas hacia adelante y hacia atras. Este conjunto de ecuaciones se puede aplicar secuencialrnente a los elementos del robot. La recursion hacia adelante propaga la informacion cinernatica -tal como velocidades lineales, velocidades angulares, aceleraciones angulares y aceleraciones lineales del centro de masa de cada elemento- desde eJ sistema de coordenadas inercial hasta el sistema de coordenadas de la mano. La recursion hacia arras propaga las fuerzas y momentos ejercidos sobre cada elemento desde el efector final del manipulador hasta el sistema de referencia de

D1NAMICA DEL BRAZO DEL ROBOT 87

la base. EI resultado mas significativo de est a formulaci6n es que el tiempo de cMculo de las fuerzasjpares generalizados se encuentra que es linealmente proporcional al numero de articulaciones del brazo e independiente de la configuracion, del mismo. Con este algoritmo se puede realizar el control en tiempo real simple del robot en el espacio de las variables de articulacion.

:La ineficacia de las ecuaciones de movimiento de L-E surge parcialmente de las matrices homogeneas 4 x 4 que describen la cadena cinematica, mientras que la eflcacia de la forrnulacion de N-E se basa en la formulacion vectorial y en - su naluraleza recursiva. Para mejorar aim mas el tiempo de calculo de la formulacion lagrangiana, Hollerbach [1980] ha explotado la naturaleza recursiva de la formulacion lagrangiana, Sin embargo, las ecuaciones recursivas destruyen la «estructura» del modelo dinarnico que es bastante util en damos comprensi6n para el disefio del controlador en el espacio de estados. Para el analisis del control en el espacio de estado, seria interesante obtener un conjunto explicito de ecuaciones diferenciales en forma cerrada (ecuaciones de estado) que describan la conducta dinarnica del manipulador. Ademas, se deberian identificar facilmente las fuerzas de interaccion y de reaccion de los acoplos en las ecuaciones, de rnaaera que se pudiese disefiar un controlador apropiado para compensar sus efectos (Huston y Kelly [1982]). Otro rnetodo para obtener un conjunto eficiente de ecuaciones de movimiento explicito se basa en el principio de d'Alembert generalizado para deducir las ecuaciones de movimiento que se expresan explicitamente en forma vectorial matricial apropiadas para el analisis del control. Ademas, para permitir un calculo mas rapido de los coeficientes dinarnicos que las ecuaciones de L-E, las ecuaciones de movimiento de G-D explicitamente identifican las contribuciones de los efectos traslacionales y rotacionales de los elementos. Tal informacion es util para disefiar un controlador en el espacio de estado. La eficacia computacional se consigue a partir de una forrnulacion compacta utilizando matrices de transforrnacion de Euler (0 matrices de rotacion) y vectores de posicion relativos entre articulaciones.

En este capitulo se obtienen y analizan las ecuaciones de movirniento de L-E, N-E y G-D de un robot y se estudia un manipulador con dos elementos para ilustrar el uso de estas ecuaciones. Como el calculo de los coeficientes dinarnicos de las ecuaciones de movimiento es importante tanto en el anal isis del control como en la sirnulacion por computadora, se tabulan las operaciones rnaternaticas y lacarga computacional de estas ecuaciones de movimientos. EI calculo de las fuerzasjpares aplicadas a partir de las ecuaciones de movimientos de d'Alembert generalizadas es del orden O(nJ), mientras que en las ecuaciones N-E son del orden de O(n4) [0 del orden O(n3) si se optimizan] y las ecuaciones de N-E son del orden de O(n), donde n es el numero de grados de libertad del brazo.

3.2 FORMULACION DE LAGRANGE-EULER (j~

Las ecuaciones de movimiento general de un manipulador se pueden expresar convenientemente mediante la aplicacion directa de la formulacion de LagrangeEuler a sistemas no conservativos. Muchos investigadores utilizan la representa-

88 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

cion matricial de Denavit-Hartenberg para describir el desplazamiento espacis] entre los sistemas de coordenadas de elementos vecinos para obtener la informa_ cion cinernatica del elemento, y emplean la tecnica dinarnica lagrangiana para deducir las ecuaciones dinamicas de un manipulador. La aplicacion directa de la Iorrnulacion dinamica lagrangiana, junto con la representacion de coordenadas de elementos de Denavit-Hartenberg, resulta en una descripcion algoritmic, conveniente y compacta de las ecuaciones de movimiento del manipulador. EI algoritmo se expresa mediante operaciones matriciales y facilita tanto el anahsis como su realizacion en una computadora. La evaluacion de la dinarnica y de las ecuaciones de control en terrninos funcionalmente explicitos se basara enel algoritmo matricial compacto deducido en esta seccion.

La derivacion de las ecuaciones dinamicas de un manipulador con n grades de libertad se basa en la cornprension de:

1. La matriz de transformacion de coordenadas hornogeneas 4 x 4, j - !Aj, que describe la relacion espacial entre los sistemas de coordenadas del elemento i-esimo y el elemento (i - 1 j-esimo. Relaciona un punto fijado en el elemento i expresado en coordenadas hornogeneas con respecto al sistema de coordenadas i-esimo en el sistema de coordenadas (i - 1)-

esirno.

2 La ecuacion de Lagrange-Euler

/

d (OL)

dt O~i

J

i = 1, 2, ... , n

(3.2·1j

donde

L = funcion lagrangiana = energia cinetica K - energia potencial P; K = energia cinetica total del brazo;

P = energia potencial total de brazo;

qj = coordenada generalizada del brazo;

til = primers, ierivada respecto al tiempo de la coordenada generalizeda qj;

'j = fuerza (0 par) generalizado aplicado al sistema en la articulacion i

para mover el elemento i.

De las ecuaciones de Lagrange-Euler anterior se requiere escoger adecuadamente un conjunto de coordenadas generalizadas para describir el sistema Las coordenadas generalizadas se utilizan como un conjunto de coordenadas convenientes que describen completamente la localizacion (posicion y orientacion) de un sistema con respecto a un sistema de coordenadas de referencia. Para un manipulador simple con articulaciones giratorias-prismaticas, estan disponibles diversos conjuntos de coordenadas generalizadas para describir el manipulador. Sin embargo, como las posiciones angulares de las articulaciones estan disponibles rapicamente porque se pueden medir mediante potenciometros 0 codificadores u otrOS dispositivos sensores, proporcionan una correspondencia natural con las coordenadas generalizadas. Esto, en efecto, corresponde a las coordenadas generalizadas

D1NAMICA DEL BRAZO DEL ROBOT 89

con las variables articulaciones definidas en cada una de las matrices de transformaci6n de coordenadas de elementos 4 x 4. Asi, en el caso de una articulaci6n giratoria, qj == f)j' que es el margen del angulo de la articulaci6n; mientras que para una articulaci6n prisrnatica, qj == d.; que es la distancia recorrida por la articulaci6n.

La siguiente deducci6n de las ecuaciones de movimiento de un manipulador con n grad os de libertad se basa en las matrices de transformaci6n de coordenadas homogeneas desarrolladas en el capitulo 2.

Velocidades de las articulaciones de un robot tV ~j

3.2.1

La formulaci6n de Lagrange-Euler requiere el conocimiento de la energia cinetica del sistema fisico, que a su vez requiere un conocimiento de la velocidad de cada articulaci6n. En esta secci6n se deducira la velocidad de un punto fijado en el elernento i Y se exploraran los efectos del movimiento de otra articulaci6n sobre todos los puntos en este elemento.

Con referencia a la figura 3.1, sea ~j un punto fijo y en reposo en el elemento j y expresado en coordenadas homogeneas con respecto al sistema de coordenadas del elemento i-esimo,

(3.2-2)

Sea °rj el mismo punto 'i, con respecto al sistema de coordenada de la base, j - 1 Aj la matriz de transformaci6n de coordenadas homogeneas que relaciona el desplazamiento espacial del sistema de coordenadas del elemento r-esimo con respecto al sistema de coordenadas del elemento (i - 1 j-esimo y 0 Ai la matriz de transformaci6n de coordenadas que relaciona el sistema de coordenadas z-esimo con el sistema de coordenadas de la base; entonces °ri esta relacionado con el punto jrj POF

(3.2-3)

donde

(3.2-4)

Si la articulacion i es de revolucion, se sigue de la ecuaci6n (2.2-29) que la forma general de j - I Aj esta dada por

cos f)j sen OJ o

- cos !Xj sen f)j sen IXj sen f)j aj cos f)j

cos n, cos f)j - sen exj cos f)j aj sen f)j

sen (.(1 cos IXj d,

(3.2-5)

90 ROBOTICA: CONTROL, DETECCION, VISION E INTELlGENCIA

Figura 3.1 Un punfo 'r, en el elemento i.

I

0, si la articulacion i es prismatica, de la ecuaci6n (2.2-31). la forma general de ;-IAj es

['os 0. -cos a, sen OJ sen IXj sen OJ n
j-1Aj _ sen Uj cos 7.j cos 8j - sen a, cos 8j (3.2-6)
- 0 sen (tj cos a,
0 0 0 En general, todos los elementos no nulos en la matriz 0 Ai son una funci6n de (81, 0b ... ,8;), y 7.j' a.; d, son parametres conocidos de la estructura cinematics del brazo y 8j 0 d, es la variable de articulaci6n del e1emento i. Con el fin de deducir las ecuaciones de movimiento que son aplicables a ambas articulaciones de revoluci6n y prismatica, utilizaremos la variable qj para representar la coordenada generalizada de la articulacion i que es 8j (para una articulaci6n giratorialo d, (para una articulaci6n prismatica).

Como el punto jrj est a en reposo en eI elemento i, y suponiendo el movimiento del cuerpo rigido, otros puntos asi como el punto 'r, fijado en el elemento i Y expresado con respecto al sistema de coordenadas r-esimo tendran velocidad nula con respecto a dicho sistema de coordenadas (que no es un sistema inercial). La

D1NAMICA DEL BRAZO DEL ROBOT 91

velocidad de 'i, expresada en el sistema de coordenadas de la base (que es un sistema inercial) se puede expresar como

0_ do dOi

v,' = v,, = -( r,.) = -( A. r.) =

dt dt I I

= 0A' IA i-IA i + 0A IA' i-IA i

I 2' . . i ri I 2' . , i ri

+ ...

(3.2-7)

La forma compacta anterior se obtiene porque if; = 0, La derivada parcial de 0 Ai con respecto a qj se puede caJcular facilmente con la ayuda de una matriz Qi que, pasa una articulacion de revolucion, se define como

Q, ~ [; -I 0 ~]
0 0 (3.2-8a)
0 0
0 0
y, para una articulacion prismatica, como (3.2-8b)

Eotonces se sigue que

(3.2-9)

Per ejemplo, para un brazo con todas las articulaciones giratorias, qj = I1j, Y utilizando la ecuacion (3.2-5),

[ -~nO -cos C1.j cos I1j sen C1.j cos I1j -0 ~no]
oi-LA; cos 8. I I I
- cos ct.; sen 8; sen ct.; sen 8; a, cos 8; =
---....c _ I
o(Jj - 0 0 0 0
0 0 0 0
[~ -1 0 ~] [COO 8, - cos :Ii sen I1j sen :Ii sen 8i a, COSO]
0 0 sen 8i cos a, cos 11; - sen cti cos 8i a, sen 8; =
""\
0 0 0 0 sen :Ii cos a, d, -
0 0 0 0 0 0 1
.,. Qji-IAi 92 ROBOTICA: CONTROL, DETECCION, VISION E INTELIGENCIA

::lOA {OA lA i : 2A Q j-1A i-1A

_V_i = 1 2··· j-l j ir :: i

oqj 0

para} ~ para} >

(3.2-10)

De aqui, para i = 1, 2, ... , n,

La ecuacion (3.2-10) se puede interpretar como el efecto del movimiento de la articulaci6n} sobre todos los puntos en el elemento i. Con el fin de simplificar las notaciones, definamos Vij ~ 00 Ajoqj, entonces la ecuacion (3.2-10) se puede escribir como sigue para i = 1, 2, ... , n,

{OA Q j-1A

V _ j-l j i

Ij - 0

para} ~ para} >

(3.2-11)

Utilizando est a notacion, Vi se puede expresar como

(3.2-12)

Conviene apuntar que la derivada parcial de i-IAi con respecto a qi resulta ell una matriz que no retiene la estructura de una matriz de transformacion de coordenadas homogeneas, Para una articulacion giratoria, el efecto de premulti-

I plicar i-I Ai por. Qi es equivalente a intercambiar los elementos de las dos primeras filas de 1- 1 Ai' negando todos los elementos de la primera fila y anulan-

! do todos los elementos de las filas tercera y cuarta. Para una articulacion prismatica, el efecto es sustituir los elementos de la fila tercera por la fila cuarta de 1- I AI Y anular los elementos en las otras filas La ventaja de utilizar las matrices Qi es que podemos todavia utilizar las matrices i-I Ai Y aplicar las operaciones anteriores a i-I Ai cuando se premultiplica por la Qi.

A continuacion necesitamos encontrar los efectos de interaccion entre las articulaciones como

i ~ k ~} i~}~k i<}oi<k

(3.2-13)

Por ejemplo, para un robot con todas las articulaciones giratorias, i = } = k = 1 Y ql = 01, asi que

La ecuaci6n (3.2-13) se puede interpretar como los efectos de interacci6n del rnovimiento de la articulacion j y k sobre todos los puntos en el elemento i.

DlNAMICA DEL BRAZO DEL ROBOT 93

Energia cinetica de un manipulador cP h 9'1

3.2.2 1'- 4-

()espues de obtener la velocidad de la articulacion de cada elemento, necesitamos enoontrar la energia cinetica del elemento i. Sea K,. la energia cinetica del elemento t; i == 1,2, ... , n, expresada en el sistema de eoordenadas de la base, y sea dK,. la energia cinetica de una particula con masa diferencial dm en el elemento i; entonces

dK,. = 1/2(# + Y? + if) dm

= l/Z traza (vivT) dm = 1/2 Tr (vivT) dm

(3.2-14)

donde se utiliza un operador traza " en lugar de un producto escalar de vectores en la ecuacion anterior para formar el tensor del eual se puede obtener la matriz de inercia del elernento J,. (0 matriz de pseudoinercia). Sustituyendo Vi de la ecuacion (3.2-12), la energia cinetica de la masa diferencial es

(3.2-15)

La rnatriz Uij es la velocidad de cambio de los puntos ('rJ sobre el elemento i relative al sistema de coordenadas de la base cuando qj cambia. Es constante para todos los puntos en el elernento i e independiente de la distribucion de masa del elemento i. Tarnbien iii son independientes de la distribucion de masa del elemento i, asi que, sumando todas las energias cineticas de todos los elementos y poniendo la integral dentro de los corehetes,

(3.2-16)

EI ternuno integral dentro del corchete es la inereia de todos los puntos en el elemenlo i, de aqui que:

[ Jxf dm

J Ji iT JXiYidm

i == r. r. dm =

I I JXi:i dm

Jxidm

JXiY. dm

I

Jyf dm

JYi:idm Jy,.dm

Jxiz,.dm J Yi:,. dm J:f dm J:,.dm

• 1r A.t •

a.

94 ROBonCA: CONTROL, DETECCION, VISION E INTELIGENCIA

donde jrj = (x; Y;. Zj, l)T se define como antes. Si utilizamos eI tensor de inercia Ijj que se define como

donde los indices i, j, k indican los ejes principales del sistema de coordenadas i-esimo y bjj es la delta de Kronecker, entonces Jj se puede expresar en un tensor de inercia como

-Ixx + t.; + i: t., t; mj.tj
2
t., Ixx - I" + i: t.; mjYj
Jj 2
i: t; Ixx + t; - i; m.i,
2
mjxj mjYj mjzj mj
(3.2-18) o utilizando el radio de giro del cuerpo rigido m, en el sistema de coordenadas (Xj, YI' Zj), se puede expresar Jj como

-klll + kl22 + k~3 kll2 kl13 XI
2
kl12 kll 1 - kl22 + kl33 kl23 Yj
Jj=mj 2
k113 k123 ktll + kr22 - k133 Zj
2
Xj s. t, 1
(3.2-19) donde ki23 es el radio de giro del elemento i respecto del eje yz e ji'; = (XI. YI. i~ I)T es el vector centro de masa del elemento i desde el sistema de coordenadas del elemento i..esimo y expresado en el sistema de coordenadas del elemento i-esirno. De aqui que la energia cinetica total K de un brazo de robot es

(3.2-20)

DINAMICA DEL BRAZO DEL ROBOT 95

que es una cantidad escalar. Observese que las Jj son dependientes de la distribucion de masa del elemento i y no de su posicion 0 velocidad de movimiento y se expresan con respecto al sistema de coordenadas i-esimo. Por tanto, la Jj se necesita calcular solamente una vez para obtener la energia cinetica de un robot.

3.2.3 Energia potencial de un manipulador

Sea P la energia potencial total de un robot y sea Pi la energia potencial de cada uno de sus elementos:

i = 1,2, ... , n

(3.2-21)

y Ia energia potencial total del brazo se puede obtener sumando todas las energias potenciales en cada elernento,

"

p = I r,

i= I

"

= I

i= 1

(3.2-22)

donde g = (g", gy' g.; 0) es un vector fila de gravedad expresado en el sistema de coerdenadas de Ia base. Para un sistema de niveI, g = (0, 0, -/g/, 0) y g es la ceastante gravitacional (g = 9,8062 m/s2).

3.2.4 Ecuaciones de movimiento de un manipulador

De las ecuaciones (3.2-20) y (3.2-22), la funcion lagrangiana L = K - Pesta dada PQr

" i i n

L = 1/2 I I I [Tr (UijJi U~)qAkJ + I mig(O Ai ii';)

j~1 j~1 k~1 j=1

(3.2-23)

t\plicando la formulacion de Lagrange-Euler a la Iuncion lagrangiana del brazo [ecuaci6n (3.2-23)] da e1 par generalizado necesario OJ para que el actuador de la articulaci6n i mueva el element a r-esimo del manipulador,

Ti ~ :r G~) - ;~ =

== f t Tr(UjkJjU~)iit + f t t Tr(UjkINJjUDqkqIN - fmjgU/i'j

i=t k= 1 i=! k~ 1 IN= I i=t

(3.2-24)

S-ar putea să vă placă și