410
ROBÓTICA JOHN J. CRAIG ROBÓTICA JOHN J. CRAIG TERCERA EDICIÓN TERCERA EDICIÓN

Robotica - Desconocido

Embed Size (px)

Citation preview

  • Vistenos en:www.pearsoneducacion.net

    ROBTICA

    JOHN J. CRAIG

    ROB

    TICA

    CRAIG

    ROBTICA

    ROB

    TICA

    JOHN J. CRAIG

    TERCERA EDICINTERCERA EDICIN

    CRAIG

    TerceraedicinTerceraedicin

    Algunas ciencias solamente se enfocan en el anlisis; sin embargo, la robticarequiere la sntesis de aspectos de la funcin humana mediante el uso de mecanis-mos, sensores, actuadores y las computadoras. Tal vez sea por estos motivos que estecampo de estudio sea tan fascinante.

    La presente edicin de Robtica explica de una manera clara y directa los principales campos de la ciencia e ingeniera de la manipulacin mecnica.

    El libro incluye gran cantidad de ejercicios con la herramienta MATLAB. Asimismo,al final de cada captulo se presenta un conjunto de ejercicios diferen-ciados por grado de dificultad, el cual est indicado entre corchetes despus delnmero del ejercicio. Esas dificultades varan entre [00] y [50], en donde [00] esun problema trivial y [50] es un problema de investigacin (sin resolver).

    A lo largo de todo el texto se describen aspectos computacionales y se presentanproblemas para reafirmar lo aprendido; tambin se incluyen diversos diseos deprogramacin al final de cada captulo.

    port. robtica 3/22/06 11:12 AM Page 1

  • RobticaTercera edicin

    John J. Craig

    TRADUCCIN:Alfonso Vidal Romero ElizondoIngeniero en Sistemas ElectrnicosITESM - Campus Monterrey

    REVISIN TCNICA:Jos Ramn lvarez BadaDepartamento de Ingeniera Elctrica y ElectrnicaITESM - Campus Ciudad de Mxico

  • Authorized translation from the English language edition, entitled Introduction to robotics by John J. Craig publishedby Pearson Education, Inc., publishing as PRENTICE HALL, INC., Copyright 2006. All rights reserved.ISBN 0201543613

    Traduccin autorizada de la edicin en idioma ingls, Introduction to robotics por John J. Craig, publicada porPearson Education, Inc., publicada como PRENTICE-HALL INC., Copyright 2006. Todos los derechos reservados.

    Esta edicin en espaol es la nica autorizada.

    Edicin en espaolEditor: Pablo Miguel Guerrero Rosas

    e-mail: [email protected] de desarrollo: M. Bernardino Gutirrez HernndezSupervisor de Produccin: Rodrigo Romero Villalobos

    Edicin en inglsVice President and Editorial Director, ECS: Marcia J. HortonAssociate Editor: Alice DworkinEditorial Assitant: Carole SnyderVice President and Director of Production and Manufacturing, ESM: David W. RiccardiExecutive Managing Editor: Vince OBrienManaging Editor: David A. GeorgeProduction Editor: James BuckleyDirector of Creative Services: Paul BelfantiArt Director: Jayne CanteCover Designer: Bruce KenselaarArt Editor: Greg DullesManufacturing Manager: Trudy PisciottiManufacturing Buyer: Lisa McDowellSenior Marketing Manager: Holly Stark

    TERCERA EDICIN, 2006D.R. 2006 por Pearson Educacin de Mxico, S.A. de C.V.

    Atlacomulco 500-5o. pisoCol. Industrial Atoto53519, Naucalpan de Jurez, Edo. de MxicoE-mail: editorial.universidadespearsoned.com

    Cmara Nacional de la Industria Editorial mexicana. Reg. Nm. 1031

    Prentice Hall es una marca registrada de Pearson Educacin de Mxico, S.A. de C.V.

    Reservados todos los derechos. Ni la totalidad ni parte de esta publicacin pueden reproducirse, registrarse o transmitirse, por un sistema de recuperacin de informacin, en ninguna forma ni por ningn medio, sea electrnico,mecnico, fotoqumico, magntico o electroptico, por fotocopia, grabacin o cualquier otro, sin permiso previo porescrito del editor.

    El prstamo, alquiler o cualquier otra forma de cesin de uso de este ejemplar requerir tambin la autorizacin del editor o de sus representantes.

    ISBN 970-26-0772-8

    Impreso en Mxico. Printed in Mexico.1 2 3 4 5 6 7 8 9 0 - 09 08 07 06

    ROBTICA

    Craig, John J.

    PEARSON EDUCACIN, Mxico, 2006ISBN: 970-26-0772-8rea: Ingeniera

    Formato: 18.5 3 23.5 cm Pginas: 408

  • Contenido

    Prefacio v

    1 Introduccin 1

    2 Descripciones espaciales y transformaciones 19

    3 Cinemtica de manipuladores 62

    4 Cinemtica inversa de manipuladores 101

    5 Jacobianos: velocidades y fuerzas estticas 135

    6 Dinmica de manipuladores 165

    7 Generacin de trayectorias 201

    8 Diseo del mecanismo del manipulador 230

    9 Control lineal de los manipuladores 262

    10 Control no lineal de los manipuladores 290

    11 Control de fuerza de los manipuladores 317

    12 Lenguajes y sistemas de programacin de robots 339

    13 Sistemas de programacin fuera de lnea 353

    A Entidades trigonomtricas 372

    B Convenciones de los 24 conjuntos de ngulos 374

    C Algunas frmulas de cinemtica inversa 377

    Soluciones a los ejercicios seleccionados 379

    ndice 387

  • Prefacio

    Por lo general, los cientficos tienen la sensacin de que por medio de su traba-jo estn aprendiendo sobre algn aspecto de ellos mismos. Los fsicos ven estaconexin en su trabajo; e igual pasa con los psiclogos y los qumicos. En la ro-btica, la conexin entre el campo de estudio y nosotros mismos es inusualmen-te obvia. Y, a diferencia de una ciencia que solamente analiza, el objetivo actualde la robtica requiere que la ingeniera se desve hacia la sntesis. Tal vez poreso sea tan fascinante para muchos de nosotros el estudio de esta ciencia.

    La robtica se relaciona en s con el deseo de sintetizar algunos aspectosde la funcin humana mediante el uso de mecanismos, sensores, actuadores ycomputadoras. Obviamente esto representa un enorme compromiso que evi-dentemente parece requerir una multitud de ideas provenientes de varios cam-pos clsicos.

    En la actualidad expertos de varios campos trabajan en la investigacin dedistintos temas de la robtica. Generalmente, no es comn que un solo individuodomine todos los campos de la robtica. Es natural esperar una subdivisin. Enun nivel relativamente alto de abstraccin parece razonable dividir la robticaen cuatro reas principales: manipulacin mecnica, locomocin, visin compu-tacional e inteligencia artificial.

    Este libro introduce la ciencia y la ingeniera de la manipulacin mecni-ca. Esta subdisciplina de la robtica tiene su base en varios campos clsicos; ylos ms relevantes son la mecnica, la teora de control y la ciencia computacio-nal. Los captulos del 1 al 8 tratan temas relacionados con la ingeniera mecni-ca y las matemticas. Del 9 al 11 cubren todo lo relacionado con la teora decontrol, y los captulos 12 y 13 pueden clasificarse como material relacionadocon la ciencia computacional. A pesar de esta divisin, en todo el libro se enfa-tizan los aspectos computacionales de los problemas; por ejemplo, cada captu-lo relacionado con la mecnica tiene una breve seccin dedicada a lasconsideraciones computacionales.

    Este libro evolucion a partir de los resmenes utilizados en clase para im-partir la materia Introduccin a la Robtica, en la Universidad de Stanford, du-rante las clases de otoo de 1983 a 1985. Las primeras dos ediciones se utilizaronen muchas instituciones de 1986 hasta 2002. La tercera edicin se beneficia de es-te uso e incorpora correcciones y muchas mejoras gracias a la retroalimentacinrecibida. Agradecemos a todos aquellos que han enviado correcciones del textoal autor.

    El libro es apropiado para un curso a nivel de los ltimos dos aos de li-cenciatura o del primer ao de maestra. Ser de mayor utilidad si el estudian-te ha llevado un curso bsico de esttica y dinmica, uno de lgebra lineal, y sipuede programar en un lenguaje de alto nivel. Adems es conveniente, aunqueno absolutamente necesario, que haya completado un curso introductorio enteora de control. Uno de los objetivos del libro es presentar el material de unamanera simple e intuitiva; no es necesario que la audiencia est formada estric-tamente por ingenieros mecnicos, aunque la mayor parte del material se tomade ese campo. En Stanford, a muchos ingenieros elctricos, cientficos computa-cionales y matemticos les pareci bastante legible el libro.

  • vi Prefacio

    De manera directa, este libro es para que lo utilicen todos aquellos ingenieros quedesarrollan sistemas robticos, pero el material debe verse como una plataforma im-portante para cualquiera que tenga algo que ver con la robtica. De manera muy pare-cida a como los desarrolladores de software generalmente estudian, cuando menos,algo de hardware, quienes no estn directamente involucrados con la mecnica y el con-trol de robots deben tener una base similar a la que se ofrece aqu.

    El material se adapta fcilmente a un curso de un semestre acadmico; para impar-tir el material en un trimestre probablemente se requiera omitir uno o dos captulos; eincluso a ese ritmo no podrn cubrirse todos los temas con mucha profundidad. En cier-ta manera el libro est organizado con esto en mente; por ejemplo, la mayora de los ca-ptulos presenta solamente un enfoque para resolver el problema en cuestin. Uno delos retos al escribir este libro fue tratar de hacer justicia a los temas cubiertos dentro delas restricciones de tiempo que se presentan generalmente al impartir clases. El mto-do empleado para este fin fue considerar solamente el material que afecta directamen-te al estudio de la manipulacin mecnica.

    Al final de cada captulo se presenta un conjunto de ejercicios, donde cada ejerci-cio tiene asignado un factor de dificultad, indicado entre corchetes despus del nme-ro del ejercicio. Los niveles de dificultad varan entre [00] y [50], en donde [00] es unproblema trivial y [50] es una investigacin sin resolver.1 Desde luego, lo que para unapersona pudiera ser difcil, a otra podra resultarle sencillo, por lo que para algunos lec-tores los niveles parecern incorrectos en algunos casos; sin embargo, se ha hecho unesfuerzo por estimar la dificultad de los ejercicios.

    En la parte final de cada captulo hay una tarea de programacin en la que el es-tudiante debe aplicar el contenido del captulo correspondiente a un manipulador pla-nar simple de tres articulaciones. Este manipulador simple es lo suficientementecomplejo como para demostrar casi todos los principios de los manipuladores genera-les sin necesidad de azorar al estudiante con demasiada complejidad. Cada tarea deprogramacin se basa en las anteriores, con lo que al final del curso contar con una bi-blioteca completa de software de manipulador.

    Adicionalmente, en esta tercera edicin hemos agregado ejercicios de MATLAB:un total de 12 ejercicios se encuentran asociados con los captulos del 1 al 9. El profe-sor Robert I. Williams II de la Universidad de Ohio es el desarrollador de estos ejerci-cios; estamos profundamente agradecidos con l por esa contribucin. Estos ejerciciospueden utilizarse con la Caja de Herramientas de Robtica MATLAB2 creada por Pe-ter Corke, Director de investigacin de la CSIRO en Australia.

    El captulo 1 es una introduccin al campo de la robtica. Presenta cierto materialbsico, unas cuantas ideas fundamentales y la notacin adoptada en el libro; adems,muestra un avance de los captulos siguientes.

    El captulo 2 trata acerca de las matemticas utilizadas para describir posicionesy orientaciones en el espacio tridimensional. Este material es extremadamente impor-tante: por definicin, la manipulacin mecnica se refiere al desplazamiento de obje-tos (piezas, herramientas, el robot en s) en el espacio. Necesitamos formas de describiresas acciones de una manera que sea fcilmente comprensible y lo ms intuitiva posi-ble.

    1 He adoptado la misma escala que en la obra The Art of Computer Programming de D. Knuth (Addison-Wesley).

    2 Para mayor informacin sobre la Caja de Herramientas de Robtica MATLAB, visite http://www.ict.csiro.au/robotics/ToolBox7.htm.

  • Prefacio vii

    Los captulos 3 y 4 presentan la geometra de los manipuladores mecnicos. Intro-ducen la rama de la ingeniera mecnica conocida como cinemtica: el estudio del mo-vimiento sin considerar las fuerzas que lo ocasionan. Estos captulos tratan con lacinemtica de los manipuladores, pero restringiendose a los problemas de posiciona-miento esttico.

    El captulo 5 expande nuestra investigacin de la cinemtica a las velocidades yfuerzas estticas.

    El captulo 6 trata por primera vez las fuerzas y los momentos requeridos paraproducir el movimiento de un manipulador. ste es el problema de la dinmica de losmanipuladores.

    El captulo 7 se relaciona con la descripcin de los movimientos del manipuladoren trminos de trayectorias a travs del espacio.

    El captulo 8 ofrece muchos temas relacionados con el diseo mecnico de un ma-nipulador. Por ejemplo, cuntas articulaciones son apropiadas, de qu tipo deben ser ycmo deben ordenarse?

    Los captulos 9 y 10 estudian mtodos para controlar un manipulador (general-mente con una computadora digital) de manera que rastree fielmente una trayectoriade posicin deseada a travs del espacio. El captulo 9 restringe la atencin a los mto-dos de control lineal, mientras que el captulo 10 extiende estas consideraciones al m-bito no lineal.

    El captulo 11 cubre el campo del control de la fuerza activa con un manipulador.Es decir, sobre cmo controlar la aplicacin de fuerzas mediante el manipulador. Estemtodo de control es importante cuando el manipulador entra en contacto con el en-torno que lo rodea; por ejemplo, al lavar una ventana con una esponja.

    El captulo 12 da un vistazo general a los mtodos de programacin de robots;especficamente los elementos necesarios en un sistema de programacin de robots ylos problemas especficos asociados con la programacin de robots industriales.

    El captulo 13 presenta la simulacin fuera de lnea y los sistemas de programa-cin; es decir, la ltima extensin para la interfaz hombre-robot.

    Quiero agradecer a todas las personas que han contribuido con este libro. En pri-mer lugar, agradezco a los estudiantes de ME219 de Stanford su tiempo durante los cur-sos de otoo de 1983 a 1985, quienes sufrieron con los primeros borradores: encontraronmuchos errores y brindaron infinidad de sugerencias. El profesor Bernard Roth ha con-tribuido de muchas maneras, tanto a travs de sus crticas constructivas como propor-cionndome un entorno para completar la primera edicin. En SILMA Inc. disfrut deun ambiente estimulante, adems de contar con los recursos que me ayudaron a com-pletar la segunda edicin. El Dr. Jeff Kerr escribi el primer borrador del captulo 8. Elprofesor Robert L. Williams II contribuy con los ejercicios de MATLAB que se en-cuentran al final de cada captulo, y Peter Corke expandi su caja de Herramientas deRobtica para apoyar el estilo de la notacin DenavitHartenberg utilizado en estelibro. Tengo una deuda con mis anteriores mentores en robtica: Marc Raibert, CarlRuoff, Tom Binford y Bernard Roth.

    Muchas otras personas de Stanford, SILMA, Adept y de otras instituciones tam-bin han ayudado de diversas formas; mi agradecimiento a John Mark Agosta, Mike Ali,Lynn Balling, Al Barr, Stephen Boyd, Chuck Buckley, Joel Burdick, Jim Callan, BrianCarlisle, Monique Craig, Subas Desa, Tri Dai Do, Karl Garcia, Ashitava Ghosal, ChrisGoad, Ron Goldman, Bill Hamilton, Steve Holland, Peter Jackson, Eric Jacobs, JohannJger, Paul James, Jeff Kerr, Oussama Khatib, Jim Kramer, Dave Lowe, Jim Maples,Dave Marimont, Dave Meer, Kent Ohlund, Madhusudan Raghavan, Richard Roy,

  • viii Prefacio

    Ken Salisbury, Bruce Shimano, Donalda Speight, Bob Tilove, Sandy Wells y Dave Wi-lliams.

    Los estudiantes de la clase de Robtica de 2002, impartida por el profesor Roth,en Stanford, utilizaron la segunda edicin y enviaron muchas observaciones de erroresque se corrigieron para esta tercera edicin.

    Finalmente, deseo agradecer a Tom Robbins de Prentice Hall por su supervisincon la primera edicin y ahora de nuevo con esta tercera edicin.

    J.J.C.

  • C A P T U L O 1

    Introduccin

    1.1 ANTECEDENTES1.2 LA MECNICA Y EL CONTROL DE LOS MANIPULADORES MECNICOS1.3 NOTACIN

    1.1 ANTECEDENTES

    La historia de la automatizacin industrial est caracterizada por periodos de cambios brus-cos en los mtodos populares. Ya sea como causa o, tal vez, como un efecto, dichos pe-riodos de cambio en las tcnicas de automatizacin parecen estar estrechamenteligados con la economa mundial. El uso del robot industrial, que se identific comodispositivo nico en la dcada de 1960 [1], junto con los sistemas de diseo asistido porcomputadora (CAD) y manufactura asistida por computadora (CAM), caracteriza lastendencias ms recientes en la automatizacin del proceso de manufactura. Estas tec-nologas estn llevando a la automatizacin industrial hacia otra transicin, cuyo alcan-ce se desconoce an [2].

    En los Estados Unidos hubo mucha adopcin de equipo de robtica a principiosde la dcada de 1980, a la cual le sigui un breve retraso a finales de esa misma dca-da. A partir de ese momento el mercado ha estado creciendo (figura 1.1), aunque estsujeto a las variaciones econmicas, como pasa con todos los mercados.

    En la figura 1.2 se muestra el nmero de robots instalados por ao en las princi-pales regiones industriales del mundo. Observe que Japn reporta nmeros de una ma-nera algo distinta a las dems regiones: cuentan como robots algunas mquinas que enotras partes del mundo no se consideran as (se consideran simplemente como mqui-nas de fbrica). Por ende, los nmeros reportados para Japn estn algo inflados.

    Una de las principales razones del crecimiento en el uso de robots industriales esla reduccin en el costo. En la figura 1.3 se indica que, durante la dcada de 1990, losprecios de los robots disminuyeron al mismo tiempo que aumentaron los costos de ma-no de obra humana. Adems, los robots no slo se estn volviendo ms baratos, sinotambin ms efectivos: ms rpidos, precisos y flexibles. Si factorizamos en los nme-ros estos ajustes de calidad, el costo por utilizar robots disminuye mucho ms rpidoque su etiqueta de precio. A medida que los robots se vuelvan ms efectivos en cuantoal costo por sus tareas, y a medida que aumente el costo de la mano de obra humana,habr ms trabajos que se conviertan en candidatos para la automatizacin robtica.sta es la tendencia individual ms importante que impulsa el crecimiento del merca-do de los robots. Una tendencia secundaria es que, haciendo a un lado la economa, amedida que los robots se vuelvan ms capaces, podrn hacer ms y ms tareas que se-ran peligrosas o imposibles de realizar por los trabajadores humanos.

    Las aplicaciones que llevan a cabo los robots industriales se estn volviendo cadavez ms sofisticadas pero an se da el caso de que, como en el ao 2000, aproximada-mente el 78% de los robots instalados en los EE.UU. fueron robots para soldadura omanejo de materiales [3].

    p g

  • 2 Captulo 1 Introduccin

    1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000200

    300

    400

    500

    600

    700

    800

    900

    1000

    1100

    1200

    $ m

    illon

    es

    Envos de robots industriales en Estados Unidos, millones de dlares estadounidenses.

    FIGURA 1.1: Envos de robots industriales en Estados Unidos, en millones de dlaresestadounidenses [3].

    1995 1996 1997 1998 1999 2001 2002 2003 20040

    10,000

    20,000

    30,000

    40,000

    50,000

    60,000

    Nm

    ero

    de u

    nida

    des

    Japn (todo tipo derobots industriales)

    Estados Unidos

    Unin Europea Todos los dems pases

    FIGURA 1.2: Instalaciones por ao de robots industriales de propsitos mltiples paralos aos 1995-2000 y las proyectadas para los aos 2001-2004 [3].

    -

    20.00

    1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000

    40.00

    60.00

    80.00

    100.00

    120.00

    140.00

    160.00

    ndi

    ce 1

    990

    100 Costos de mano de obra

    Precios de robots, con ajuste de calidad

    Precios de robots, sin ajuste de calidad

    FIGURA 1.3: Precios de los robots comparados con los costos de la mano de obrahumana en la dcada de 1990 [3].

    p g

  • Seccin 1.1 Antecedentes 3

    Un dominio que ofrece un mayor reto, el ensamblaje por un robot industrial, contabi-liz el 10% de las instalaciones.

    Este libro se enfoca en la mecnica y el control de la forma ms importante delrobot industrial: el manipulador mecnico. Algunas veces se debate sobre qu es lo queconstituye exactamente a un robot industrial. Dispositivos como los que se muestran enla figura 1.4 siempre se incluyen, mientras que las mquinas fresadoras controladas nu-mricamente (NC) generalmente no. La distincin est en alguna parte de la sofistica-cin de la capacidad de programacin del dispositivo; si un dispositivo mecnico puedeprogramarse para realizar una amplia variedad de aplicaciones, probablemente sea unrobot industrial. Las mquinas que en su mayor parte estn limitadas a una clase de ta-rea se consideran como de automatizacin fija. Para los fines de este texto, no necesi-tan debatirse las distinciones; la mayor parte del material es de una naturaleza bsicaque se aplica a una amplia variedad de mquinas programables.

    El estudio de la mecnica y el control de manipuladores no es una ciencia nueva,sino simplemente una coleccin de temas provenientes de campos clsicos. La inge-niera mecnica contribuye con metodologas para el estudio de mquinas en situacio-nes estticas y dinmicas. Las matemticas proveen de herramientas para describir losmovimientos espaciales y dems atributos de los manipuladores. La teora de controlproporciona herramientas para disear y evaluar algoritmos para realizar los movi-mientos deseados o las aplicaciones de fuerza. Las tcnicas de la ingeniera elctrica seaplican en el diseo de sensores e interfaces para robots industriales y la cienciacomputacional contribuye con la base para programar estos dispositivos para realizarla tarea deseada.

    FIGURA 1.4: El manipulador Adept 6 tiene seis articulaciones giratorias y es popular enmuchas aplicaciones. Cortesa de Adept Technology, Inc.

    p g

  • 4 Captulo 1 Introduccin

    1.2 LA MECNICA Y EL CONTROL DE LOS MANIPULADORES MECNICOS

    En las siguientes secciones presentaremos brevemente cada uno de los temas que cu-brir el texto, as como alguna terminologa.

    Descripcin de posicin y orientacin

    En el estudio de la robtica nos preocupamos constantemente por la ubicacin de losobjetos en el espacio tridimensional. Estos objetos son los vnculos del manipulador, laspiezas y herramientas con las que trabaja y los dems objetos en el entorno del manipu-lador. A un nivel bsico pero importante, estos objetos se describen mediante slo dosatributos: posicin y orientacin. Naturalmente, un tema de inters inmediato es la ma-nera en la que representamos estas cantidades y las manipulamos matemticamente.

    Para poder describir la posicin y orientacin de un cuerpo en el espacio, siem-pre adjuntamos rgidamente un sistema de coordenadas, o trama, al objeto. Despusdescribimos la posicin y orientacin de esta trama con respecto a algn sistema decoordenadas de referencia. (Vea la figura 1.5).

    Cualquier trama puede servir como sistema de referencia dentro del cual se pue-da expresar la posicin y orientacin de un cuerpo, por lo que a menudo pensamos entransformar o cambiar la descripcin de estos atributos de un cuerpo de una trama aotra. El captulo 2 explica las convenciones y metodologas para tratar la descripcin dela posicin y la orientacin, y las matemticas para manipular estas cantidades respec-to a varios sistemas de coordenadas.

    Es muy til desarrollar buenas habilidades respecto a la descripcin de la posiciny la rotacin de cuerpos rgidos, incluso en campos externos a la robtica.

    Cinemtica directa de los manipuladores

    La cinemtica es la ciencia que trata el movimiento sin considerar las fuerzas que loocasionan. Dentro de la cinemtica se estudian la posicin, velocidad, aceleracin y to-das las derivadas de mayor orden de las variables de posicin (respecto al tiempo o a

    Z

    Z

    X

    X

    X

    Z

    Z

    X

    YY

    Y

    Y

    FIGURA 1.5: El sistema de coordenadas o trama se adjunta a los manipuladores y alos objetos en el ambiente.

    p g

  • Seccin 1.2 La mecnica y el control de los manipuladores mecnicos 5

    cualquier otra variable). Por ende, el estudio de la cinemtica de los manipuladoresse refiere a todas las propiedades del movimiento, las geomtricas y las basadas entiempo.

    Los manipuladores consisten de vnculos casi rgidos, los cuales estn conectadospor articulaciones que permiten el movimiento relativo de los vnculos adyacentes. Es-tas articulaciones generalmente se instrumentan con sensores de posicin, los cualespermiten medir la posicin relativa de los vnculos adyacentes. En el caso de las articula-ciones giratorias o angulares, estos desplazamientos se conocen como ngulos articu-lados. Algunos manipuladores contienen articulaciones deslizantes (o prismticas), en lasque el desplazamiento relativo entre los vnculos es una translacin, algunas veces lla-mada desplazamiento de articulacin.

    El nmero de grados de libertad que posee un manipulador es el nmero de va-riables de posicin independientes que tendran que especificarse para poder localizartodas las piezas del mecanismo. ste es un trmino general que se utiliza para cualquiermecanismo. Por ejemplo, un vnculo de cuatro barras slo tiene un grado de libertad(incluso aunque haya tres miembros mviles). En el caso de los robots industriales co-munes, como un manipulador es generalmente una cadena cinemtica abierta y comola posicin de cada articulacin se define generalmente con una sola variable, el nme-ro de articulaciones es igual al nmero de grados de libertad.

    En el extremo libre de la cadena de vnculos que conforman el manipulador se en-cuentra el efector final. Dependiendo de la aplicacin que se va a dar al robot, el efec-tor final podra ser una pinza, un soplete de soldadura, un electroimn o cualquier otrodispositivo. Generalmente presentamos la posicin del manipulador proporcionandouna descripcin de la trama de la herramienta, la cual est unida al efector final, relati-va a la trama base, que est unida a la base fija del manipulador. (Vea la figura 1.6).

    Un problema muy bsico en el estudio de la manipulacin mecnica se conoce co-mo cinemtica directa, que es el problema geomtrico esttico de calcular la posicin yorientacin del efector final del manipulador. Especficamente, dado un conjunto de

    X

    X

    Z

    Z

    Y

    Y

    {Herramienta}

    {Base}

    2

    1

    3

    FIGURA 1.6: Las ecuaciones cinemticas describen la trama de la herramienta relativaa la trama base como una funcin de las variables de la articulacin.

    p g

  • 6 Captulo 1 Introduccin

    ngulos articulares, el problema de la cinemtica directa es calcular la posicin y orien-tacin de la trama de la herramienta relativa a la trama base. Imaginemos que es comocambiar la representacin de la posicin del manipulador: de una descripcin en el es-pacio de la articulacin a una descripcin en el espacio cartesiano.1 Exploraremos esteproblema en el captulo 3.

    Cinemtica inversa de los manipuladores

    En el captulo 4 consideraremos el problema de la cinemtica inversa. Este problemase plantea de la siguiente manera: dada la posicin y orientacin del efector final delmanipulador, calcule todos los conjuntos posibles de ngulos articulares que podranutilizarse para obtener esta posicin y orientacin dadas. (Vea la figura 1.7). ste es unproblema fundamental en el uso prctico de los manipuladores.

    ste es un problema geomtrico algo complicado, que se resuelve de manera ru-tinaria miles de veces diariamente en el sistema humano y en otros sistemas biolgicos.En el caso de un sistema artificial como un robot, necesitamos crear un algoritmo en lacomputadora de control que pueda realizar este clculo. En ciertos casos, la solucinde este problema es el elemento ms importante en un sistema manipulador.

    Podemos pensar en este problema como en una asignacin de ubicaciones en elespacio cartesiano 3D, a ubicaciones en el espacio de articulaciones internas del robot.Esta necesidad surge naturalmente siempre que se especifica un objetivo en coordenadasde espacio 3D externas. Algunos de los primeros robots carecan de este algoritmo; sim-plemente se desplazaban (algunas veces manualmente) hacia las ubicaciones deseadas,que despus se registraban como un conjunto de valores de articulacin (es decir, comouna ubicacin en el espacio de la articulacin) para su posterior reproduccin. Obvia-mente, si el robot se utiliza solamente en el modo de registrar y reproducir las ubicacio-nes y los movimientos de las articulaciones, no es necesario ningn algoritmo que

    X

    XZ

    Z

    Y

    Y

    {Herramienta}

    {Base}

    2

    1

    3

    FIGURA 1.7: Para una posicin y orientacin dadas de la trama de la herramienta, los valo-res de las variables de una articulacin pueden calcularse mediante la cinemtica inversa.

    1 Por espacio cartesiano nos referimos al espacio en el que la posicin de un punto se da mediante tresnmeros, y en donde la orientacin de un cuerpo se da tambin mediante tres nmeros. Algunas veces estose conoce como espacio de trabajo o espacio operacional.

    p g

  • Seccin 1.2 La mecnica y el control de los manipuladores mecnicos 7

    relacione el espacio de la articulacin con el espacio cartesiano. No obstante, actual-mente es raro encontrar un robot industrial que carezca de este algoritmo bsico de ci-nemtica inversa.

    El problema de la cinemtica inversa no es tan simple como el de la cinemticadirecta. Debido a que las ecuaciones cinemticas son no lineales, su solucin no essiempre sencilla (o incluso posible) en una forma cerrada. Adems, surgen preguntassobre si existe una solucin o existen mltiples soluciones.

    El estudio de estas cuestiones hace que apreciemos lo que la mente humana y elsistema nervioso logran realizar cuando, al parecer inconscientemente, movemos y ma-nipulamos objetos con nuestros brazos y manos.

    La existencia o inexistencia de una solucin cinemtica define el espacio de tra-bajo de un manipulador dado. La falta de una solucin significa que el manipulador nopuede obtener la posicin y orientacin deseadas, ya que se encuentran fuera del espa-cio de trabajo del manipulador.

    Velocidades, fuerzas estticas, singularidades

    Adems de tratar con los problemas de posicionamiento esttico, es conveniente ana-lizar los manipuladores en movimiento. A menudo, al realizar el anlisis de velocidadde un mecanismo, es conveniente definir una matriz conocida como el jacobiano delmanipulador. El jacobiano especifica la asignacin de las velocidades en espacio de ar-ticulaciones a las velocidades en espacio cartesiano. (Vea la figura 1.8). La naturalezade esta asignacin cambia a medida que vara la configuracin del manipulador. Enciertos puntos (llamados singularidades), esta asignacin no es invertible. Es importan-te que los diseadores y usuarios de los manipuladores tengan una comprensin de es-te fenmeno.

    Considere, como ejemplo, el artillero de la parte trasera de un avin de combate bi-plano de la Primera Guerra Mundial (mostrado en la figura 1.9). Mientras el piloto dirigeel avin desde la cabina frontal, el trabajo del artillero en la parte trasera del avin es dis-parar a las aeronaves enemigas. Para realizar esta tarea, su ametralladora est montada enun mecanismo que gira sobre dos ejes; uno de los movimientos se llama acimut y al otroelevacin. Por medio de estos dos movimientos (dos grados de libertad), el artillero puededirigir su rfaga de balas en cualquier direccin que desee en el hemisferio superior.

    v

    1

    2

    3

    FIGURA 1.8: La relacin geomtrica entre las proporciones de las articulaciones y lavelocidad del efector final pueden describirse en una matriz conocida como el jacobiano.

    p g

  • 8 Captulo 1 Introduccin

    Se detecta un avin enemigo con acimut a la una en punto y elevacin de 25grados! El artillero dirige su rfaga de balas hacia el avin enemigo y rastrea su movi-miento para poder pegarle con un flujo continuo de balas el mayor tiempo posible. Lo-gra tener xito y en consecuencia derriba el avin enemigo.

    Ahora puede verse un segundo avin enemigo con acimut a la una en punto yelevacin de 70 grados! El artillero orienta su ametralladora y empieza a disparar. Elavin enemigo se mueve para poder obtener una elevacin cada vez mayor, relativa alavin del artillero. Pronto el avin enemigo est pasando casi encima. Qu es sto?El artillero no puede seguir dirigiendo el flujo de balas hacia el avin enemigo! Des-cubri que, como el avin enemigo vol por encima, tena que cambiar su acimut enuna proporcin muy alta. No pudo deslizar su ametralladora con el acimut requeridolo suficientemente rpido, por lo que el avin enemigo escap!

    En este ltimo escenario, el afortunado piloto enemigo se salv gracias a una sin-gularidad! El mecanismo de orientacin de la ametralladora, an y cuando funcionabien sobre casi todo su rango de operacin, se vuelve menos que ideal cuando la ame-tralladora se dirige casi o directamente hacia arriba. Para rastrear objetivos que pasana travs de la posicin directamente encima del avin se requiere de un movimientomuy rpido alrededor del eje de acimut. Entre ms cerca pase el objetivo del punto queest directamente encima del avin, ms rpido deber el artillero girar el eje de aci-mut para rastrear el objetivo. Si el objetivo vuela directamente sobre la cabeza del ar-tillero, tendra que girar la ametralladora en su eje de acimut a una velocidad infinita!

    Debera quejarse el artillero con el diseador del mecanismo acerca de este pro-blema? Podra disearse un mejor mecanismo? El caso es que el problema realmenteno se puede evitar fcilmente. De hecho, cualquier mecanismo de orientacin con dosgrados de libertad que tenga exactamente dos articulaciones giratorias no puede evitareste problema. En este caso en especial, cuando se dirige la rfaga de balas directa-mente hacia arriba, en lnea recta, su direccin se alinea con el eje de rotacin del

    Elevacin

    Acimut

    FIGURA 1.9: Un biplano de la Primera Guerra Mundial con un piloto y un artillero en laparte trasera. El mecanismo del artillero en la parte trasera est sujeto al problema de lasposiciones singulares.

    p g

  • Seccin 1.2 La mecnica y el control de los manipuladores mecnicos 9

    acimut. Esto significa que, en este punto en particular, la rotacin del acimut no produ-ce un cambio en la direccin del flujo de las balas. Sabemos que necesitamos dos gra-dos de libertad para orientar el flujo de balas pero, en este punto, hemos perdido el usoefectivo de una de las articulaciones. Nuestro mecanismo se ha vuelto localmente de-generado en esta ubicacin y se comporta como si solamente tuviera un grado de liber-tad (la direccin de elevacin).

    Este fenmeno se presenta debido a una singularidad del mecanismo. Todos los me-canismos estn sujetos a estas dificultades, incluyendo los robots. Al igual que con el meca-nismo del artillero de la parte trasera del avin, estas condiciones de singularidad no evitanque el brazo de un robot se posicione en cualquier parte dentro de su espacio de trabajo.Sin embargo, pueden ocasionar problemas con los movimientos del brazo en su entorno.

    Los manipuladores no siempre se desplazan a travs del espacio; algunas vecestambin se requiere que toquen una pieza o superficie de trabajo y que apliquen unafuerza esttica. En este caso surge el siguiente problema: dada una fuerza y un momen-to de contacto deseados, qu conjunto de momentos de torsin comunes se requierepara generarlas? Una vez ms, la matriz jacobiana del manipulador surge muy natural-mente para la solucin de este problema.

    Dinmica

    La dinmica es un enorme campo dedicado al estudio de las fuerzas que se requierenpara ocasionar el movimiento. Para poder acelerar un manipulador desde una posicininerte, deslizarlo a una velocidad constante del efector final y finalmente desacelerarlohasta detenerlo completamente, los actuadores de las articulaciones deben aplicar uncomplejo conjunto de funciones de momento de torsin.2 La forma exacta de las fun-ciones requeridas de momento de torsin de un actuador dependen de los atributos es-paciales y temporales de la ruta tomada por el efector final y de las propiedades demasa de los vnculos y de la carga til; de la friccin en las articulaciones, etctera. Unmtodo para controlar a un manipulador de manera que siga una ruta deseada implicacalcular estas funciones del momento de torsin del actuador, utilizando las ecuacionesdinmicas de movimiento del manipulador.

    Muchos de nosotros hemos experimentado la sensacin de levantar un objeto que esrealmente mucho ms ligero de lo que esperbamos (por ejemplo, al levantar un envasede leche del refrigerador, del cual pensbamos que estaba lleno, pero realmente estaba ca-si vaco). Este mal clculo de la carga til puede producir un movimiento de levantamien-to inusual. Este tipo de observacin indica que el sistema de control humano es mssofisticado que un esquema cinemtico puro. Nuestro sistema de control de manipulacinhace uso del conocimiento de la masa y otros efectos dinmicos. De igual forma, los algo-ritmos que construimos para controlar el movimiento del manipulador de un robot debentomar en cuenta la dinmica.

    Un segundo uso de las ecuaciones dinmicas del movimiento es la simulacin. Alreformular las ecuaciones dinmicas, de manera que la aceleracin se calcule como unafuncin del momento de torsin de un actuador, es posible simular cmo se movera unmanipulador bajo la aplicacin de un conjunto de momentos de torsin de un actuador.(Vea la figura 1.10). A medida que el poder computacional se hace ms accesible, cre-ce el uso de las simulaciones y su importancia en muchos campos.

    En el captulo 6 desarrollaremos ecuaciones dinmicas del movimiento, las cua-les podrn usarse para controlar o simular el movimiento de los manipuladores.

    2 Utilizamos actuadores de articulaciones como trmino genrico para los dispositivos que alimentan a unmanipulador; por ejemplo, los motores elctricos, los actuadores hidrulicos y neumticos, y los msculos.

    p g

  • 10 Captulo 1 Introduccin

    Generacin de trayectorias

    Una manera comn de hacer que un manipulador se mueva de aqu para all, de unaforma suave y controlada, es hacer que cada articulacin se mueva segn lo especifica-do por una funcin continua del tiempo. Comnmente, cada articulacin inicia y termi-na su movimiento al mismo tiempo, de manera que el movimiento del manipuladorparezca coordinado. La manera exacta de calcular estas funciones de movimiento co-rresponde a la generacin de trayectorias. (Vea la figura 1.11).

    A menudo una ruta se describe no solamente mediante un destino deseado, sinotambin mediante algunas ubicaciones intermedias, o puntos va, a travs de los cuales de-be pasar el manipulador en su ruta hacia su destino. En dichas instancias se utiliza algunasveces el trmino trazador para referirse a una funcin uniforme que pasa por un conjun-to de puntos va.

    Para poder forzar al efector final a que siga una lnea recta (o cualquier otra figu-ra geomtrica) a travs del espacio, el movimiento deseado debe convertirse a un con-junto equivalente de movimientos de articulaciones. Esta generacin de trayectoriascartesianas se considerar tambin en el captulo 7.

    Diseo y sensores del manipulador

    Aunque los manipuladores son, en teora, dispositivos universales que se aplican a mu-chas situaciones, la economa generalmente dicta que el dominio de la tarea deseadaejerce una influencia sobre el diseo mecnico del manipulador. Junto a otras cuestio-nes como el tamao, la velocidad y la capacidad de carga, el diseador debe tambinconsiderar el nmero de articulaciones y su arreglo geomtrico. Estas consideracionesafectan el tamao y la calidad del espacio de trabajo del manipulador, la rigidez de laestructura del manipulador y dems atributos.

    Entre ms articulaciones contenga el brazo de un robot, ms destreza y capacidadtendr. Desde luego que tambin ser ms difcil de construir y ms costoso. Para

    A

    V

    3

    2

    1

    FIGURA 1.10: La relacin entre los momentos de torsin aplicados por los actuadores yel movimiento resultante del manipulador se incorpora en las ecuaciones dinmicas demovimiento.

    p g

  • Seccin 1.2 La mecnica y el control de los manipuladores mecnicos 11

    poder construir un robot til, podemos seguir dos enfoques: construir un robot especia-lizado para una tarea especfica o construir un robot universal que pueda realizar unaamplia variedad de tareas. En el caso de un robot especializado, debemos pensar cui-dadosamente acerca de cuntas articulaciones se necesitan. Por ejemplo, un robot es-pecializado diseado solamente para colocar componentes electrnicos en un tableroplano de circuitos no necesita tener ms de cuatro articulaciones. Tres de ellas permi-ten que la mano logre obtener cualquier posicin en el espacio tridimensional, y lacuarta se agrega para permitir a la mano girar el componente que sujeta sobre un ejevertical. En el caso de un robot universal es interesante observar que las propiedadesfundamentales del mundo fsico en el que vivimos son las que indican el nmero mni-mo correcto de articulaciones; ese nmero es seis.

    Adems del diseo del manipulador estn las cuestiones relacionadas con la elec-cin y ubicacin de los actuadores, los sistemas de transmisin y los sensores de posi-cin interna (y algunas veces de fuerza). (Vea la figura 1.12). stas y otras cuestionesde diseo se explicarn en el captulo 8.

    Control de posicin lineal

    Algunos manipuladores estn equipados con motores de pasos o con otros actuadoresque pueden ejecutar directamente una trayectoria deseada. Sin embargo, la vasta ma-yora de los manipuladores se controlan mediante actuadores que suministran unafuerza o un momento de torsin para ocasionar el movimiento de los vnculos. En estecaso se necesita un algoritmo para calcular momentos de torsin que produzcan el mo-vimiento deseado. Este problema de dinmica es fundamental para el diseo de dichosalgoritmos, pero no constituye en s una solucin. Algunas de las principales preocupa-ciones de un sistema de control de posicin son compensar automticamente los erroresen el conocimiento de los parmetros de un sistema y suprimir los disturbios que tiendena desviar al sistema de la trayectoria deseada. Para lograrlo, el algoritmo de control vi-gila los sensores de posicin y velocidad, determinando los comandos de momento de

    B

    A

    2

    1

    3

    2

    3

    FIGURA 1.11: Para poder mover el efector final a travs del espacio, desde el punto Ahasta el punto B, debemos calcular una trayectoria para que cada articulacin la siga.

    p g

  • 12 Captulo 1 Introduccin

    torsin para los actuadores. (Vea la figura 1.13). En el captulo 9 consideraremoslos algoritmos de control cuya sntesis se basa en aproximaciones lineales a la dinmi-ca de un manipulador. Estos mtodos lineales prevalecen actualmente en la prcticaindustrial.

    Control de posicin no lineal

    Aunque los sistemas de control basados en los modelos lineales aproximados son po-pulares en los robots industriales de la actualidad, es importante considerar la dinmi-ca no lineal completa del manipulador al sintetizar los algoritmos de control.Actualmente se estn creando algunos robots industriales que utilizan algoritmos decontrol no lineal en sus controladores. Estas tcnicas no lineales para controlar un

    3

    2

    1 50 lbs

    FIGURA 1.12: El diseo de un manipulador mecnico debe considerar la eleccin delactuador, su ubicacin, el sistema de transmisin, la rigidez estructural, la ubicacindel sensor y mucho ms.

    2

    3

    1 2

    3

    FIGURA 1.13: Para hacer que el manipulador siga la trayectoria deseada, debe imple-mentarse un sistema de control de posicin que utilice la retroalimentacin de lossensores de las articulaciones para mantener al manipulador en su curso.

    p g

  • Seccin 1.2 La mecnica y el control de los manipuladores mecnicos 13

    manipulador prometen mejor desempeo que los esquemas lineales ms simples. En elcaptulo 10 presentaremos los sistemas de control no lineales para los manipuladoresmecnicos.

    Control de la fuerza

    La habilidad de un manipulador para controlar las fuerzas de contacto al tocar piezas, he-rramientas o superficies de trabajo parece ser de gran importancia al aplicar los manipu-ladores a muchas tareas del mundo real. El control de la fuerza es complementario alcontrol de la posicin, ya que generalmente pensamos solamente en uno o en otro paraaplicarlo en cierta situacin. Cuando se mueve un manipulador en el espacio libre slo elcontrol de posicin tiene sentido, ya que no hay superficie contra la cual reaccionar. Sinembargo, cuando un manipulador est tocando una superficie rgida, los esquemas decontrol de posicin pueden ocasionar la acumulacin de fuerzas en el contacto, o puedenhacer que se pierda el contacto con la superficie cuando precisamente eso era lo que sedeseaba para alguna aplicacin. Los manipuladores raras veces se ven afectados por su-perficies de reaccin en todas las direcciones simultneamente, por lo que se requiere uncontrol mixto o hbrido, en donde algunas direcciones se controlan mediante una leyde control de posiciones y las direcciones restantes se controlan mediante una ley de con-trol de fuerza. (Vea la figura 1.14). En el captulo 11 presentaremos una metodologa pa-ra implementar dicho esquema de control de fuerza.

    Si queremos indicarle a un robot que lave una ventana manteniendo cierta fuer-za en la direccin perpendicular al plano del vidrio y que siga una trayectoria de movi-miento en direcciones tangentes al plano, dichas especificaciones de control dividido ohbrido son naturales para estas tareas.

    Programacin de robots

    Un lenguaje de programacin de robots sirve como interfaz entre el usuario humano yel robot industrial. Aqu surgen varias preguntas clave: Cmo describe fcilmente el

    V

    F

    F

    FIGURA 1.14: Para que un manipulador pueda deslizarse a travs de una superficie altiempo que aplica una fuerza constante, debe utilizarse un sistema de control hbridode posicin-fuerza.

    p g

  • 14 Captulo 1 Introduccin

    programador los movimientos a travs del espacio? Cmo se programan varios mani-puladores de manera que puedan funcionar en paralelo? Cmo se describen las accio-nes basadas en sensores en un lenguaje?

    Los manipuladores de robots se diferencian a s mismos de la automatizacin fi-ja por ser flexibles, lo que significa que son programables. No slo son programableslos movimientos de los manipuladores sino que, a travs del uso de sensores y comuni-cacin con otros tipos de automatizacin fabril, los manipuladores pueden adaptarse alas variaciones a medida que realizan su tarea. (Vea la figura 1.15).

    En los sistemas de robots comunes hay una manera rpida de que un usuario hu-mano indique al robot la ruta que debe seguir. En primer lugar, el usuario seala unpunto especial en la mano (o tal vez en una herramienta que est sujetando) como elpunto operacional, al que algunas veces se le conoce tambin como TCP (punto cen-tral de herramienta, por sus siglas en ingls). El usuario debe describir los movimien-tos del robot en trminos de ubicaciones deseadas del punto operacional, relativas a unsistema de coordenadas especificado por el mismo usuario. Generalmente el usuariodefinir este sistema de coordenadas de referencia relativo al sistema de coordenadasbase del robot, en alguna ubicacin relevante para la tarea en cuestin.

    Lo ms comn es que las rutas se construyan mediante la especificacin de unasecuencia de puntos va. Estos puntos se especifican con relacin al sistema de coorde-nadas de referencia y denotan ubicaciones a lo largo de la ruta a travs de la cual debepasar el TCP. Adems de especificar los puntos va, el usuario puede tambin indicarque se utilicen ciertas velocidades del TCP en varias porciones de la ruta. Algunas ve-ces pueden tambin especificarse otros modificadores para modificar el movimientodel robot (por ejemplo, diferentes criterios de uniformidad, etctera). Con estas solu-ciones el algoritmo de generacin de trayectorias debe planear todos los detalles delmovimiento: los perfiles de velocidad para las articulaciones, el tiempo de duracin

    FIGURA 1.15: Los movimientos deseados del manipulador y del efector final, las fuerzasde contacto deseadas y las estrategias de manipulacin complejas pueden describirseen un lenguaje de programacin de robots.

    p g

  • Seccin 1.2 La mecnica y el control de los manipuladores mecnicos 15

    del movimiento, etctera. Por ende, la solucin al problema de generacin de trayecto-rias se proporciona generalmente mediante instrucciones en el lenguaje de programa-cin de robots.

    La sofisticacin de la interfaz de usuario se est volviendo extremadamente im-portante a medida que se usan manipuladores y otro tipo de automatizacin programa-ble en ms y ms aplicaciones industriales. El problema de programar manipuladoresabarca todas las cuestiones de la programacin computacional tradicional y, por con-secuencia, es en s un tema extenso. Adems, ciertos atributos propios del problema deprogramacin de manipuladores hacen que surjan otros contratiempos. Hablaremossobre algunos de estos temas en el captulo 12.

    Programacin fuera de lnea y simulacin

    Un sistema de programacin fuera de lnea es un entorno de programacin de robotsque se ha extendido lo suficiente, generalmente mediante grficos computacionales,como para que pueda llevarse a cabo el desarrollo de programas sin la necesidad de ac-ceder al robot en s. Un argumento comn que ha surgido en favor de estos sistemas esque no es necesario detener el equipo de produccin (es decir, el robot) para reprogra-marlo; por lo tanto, las fbricas automatizadas pueden permanecer en modo de produc-cin una mayor porcin del tiempo. (Vea la figura 1.16).

    Tambin sirven como un vehculo natural para enlazar las bases de datos de dise-o asistido por computadora (CAD) que se utilizan en la fase de diseo de un produc-to con la fabricacin real del mismo. En algunos casos, el uso directo de datos del CADpuede reducir considerablemente el tiempo de programacin requerido para el proce-so de manufactura. En el captulo 13 hablaremos sobre los elementos de los sistemasde programacin fuera de lnea de robots industriales.

    FIGURA 1.16: Los sistemas de programacin fuera de lnea, que generalmente propor-cionan una interfaz de grficos por computadora, permiten realizar la programacindel robot sin necesidad de tener acceso al mismo.

    p g

  • 16 Captulo 1 Introduccin

    1.3 NOTACIN

    La notacin siempre es una cuestin a tratar en la ciencia y la ingeniera. En este libroutilizaremos las siguientes convenciones:

    1. Las variables escritas en maysculas generalmente representan vectores o matri-ces. Las variables en minsculas representan valores escalares.

    2. Los subndices y superndices a la izquierda identifican en qu sistema de coorde-nadas est escrita esa cantidad. Por ejemplo, AP representa un vector de posicinescrito en el sistema de coordenadas {A}, y ABR es una matriz de rotacin

    3 que es-pecifica la relacin entre los sistemas de coordenadas {A} y {B}.

    3. Los superndices a la derecha se utilizan (segn su amplia aceptacin) para indi-car la inversa o transpuesta de una matriz (por ejemplo, R1, RT).

    4. Los subndices a la derecha no estn sujetos a ninguna convencin estricta, peropueden indicar el componente de un vector (por ejemplo, x, y o z) o pueden usar-se como una descripcin (como en Pperno, la posicin de un perno).

    5. Utilizaremos muchas funciones trigonomtricas. Nuestra notacin para el cosenode un ngulo 1 puede tomar cualquiera de las siguientes formas: cos 1 = c1 = c1.Los vectores se considerarn como vectores columna; por lo tanto, los vectores fi-

    la tendrn la transpuesta indicada explcitamente.Una observacin sobre la notacin de vectores en general: muchos textos de me-

    cnica tratan las cantidades vectoriales a un nivel muy abstracto y rutinariamente utili-zan vectores definidos en relacin con distintos sistemas de coordenadas en lasexpresiones. El ejemplo ms claro es el de la adicin de vectores que se dan o se sabeque son relativos a distintos sistemas de referencia. Esto a menudo es muy convenien-te ya que produce frmulas compactas y en parte elegantes. Por ejemplo, considere lavelocidad angular, 04, del ltimo cuerpo en una conexin en serie de cuatro cuerposrgidos (como en los vnculos de un manipulador) relativa a la base fija de la cadena.Como las velocidades angulares se suman vectorialmente, podemos escribir una ecua-cin vectorial muy simple para la velocidad angular del vnculo final:

    04 = 01 + 12 + 23 + 34. (1.1)No obstante y a menos que estas cantidades se expresen respecto a un sistema de coor-denadas comn, no podrn sumarse; por lo tanto, la ecuacin (1.1), aunque elegante,ha ocultado gran parte del trabajo del clculo. Para el caso especfico del estudio delos manipuladores mecnicos, ecuaciones como la (1.1) ocultan la tarea de llevar todos losdetalles relacionados con los sistemas de coordenadas, que a menudo es con lo que ne-cesitamos tratar en la prctica.

    En consecuencia, en este libro llevaremos la informacin de marco de referenciaen la notacin para vectores y no debemos sumarlos a menos que se encuentren en elmismo sistema de coordenadas. De esta manera podemos derivar expresiones pararesolver el problema de llevar todos los detalles relacionados con los sistemas de coor-denadas; adems, estas expresiones pueden aplicarse directamente a la computacinnumrica actual.

    BIBLIOGRAFA

    [1] B. Roth, Principles of Automation, Future Directions in Manufacturing Technology, ba-sado en el Simposio de la Divisin de Investigacin e Ingeniera de Unilever llevado a ca-bo en Port Sunlight, abril de 1983, publicado por Unilever Research, Reino Unido.

    3 En el captulo 2 presentaremos este trmino.

    p g

  • Ejercicios 17

    [2] R. Brooks, Flesh and Machines, Pantheon Books, Nueva York, 2002.[3] La Federacin Internacional de Robtica y las Naciones Unidas, Robtica mundial 2001,

    Estadsticas, Anlisis de mercado, Proyecciones, Casos de Estudio y Rentabilidad de la In-versin en Robots, Publicacin de las Naciones Unidas, Nueva York y Ginebra, 2001.

    Libros de referencia general

    [4] R. Paul, Robot Manipulators, MIT Press, Cambridge, MA, 1981.[5] M. Brady et al., Robot Motion, MIT Press, Cambridge, MA, 1983.[6] W. Snyder, Industrial Robots: Computer Interfacing and Control, Prentice-Hall, Englewood

    Cliffs, NJ, 1985.[7] Y. Koren, Robotics for Engineers, McGraw-Hill, Nueva York, 1985.[8] H. Asada y J.J. Slotine, Robot Analysis and Control, Wiley, Nueva York, 1986.[9] K. Fu, R. Gonzlez y C.S.G. Lee, Robotics: Control, Sensing, Vision, and Intelligence, Mc-

    Graw-Hill, Nueva York, 1987.[10] E. Riven, Mechanical Design of Robots, McGraw-Hill, Nueva York, 1988.[11] J.C. Latombe, Robot Motion Planning, Kluwer Academic Publishers, Boston, 1991.[12] M. Spong, Robot Control: Dynamics, Motion Planning, and Analysis, IEEE Press, Nueva

    York, 1992.[13] S.Y. Nof, Handbook of Industrial Robotics, 2a Edicin, Wiley, Nueva York, 1999.[14] L.W. Tsai, Robot Analysis: The Mechanics of Serial and Parallel Manipulators, Wiley, Nue-

    va York, 1999.[15] L. Sciavicco y B. Siciliano, Modelling and Control of Robot Manipulators, 2a Edicin,

    Springer-Verlag, Londres, 2000.[16] G. Schmierer y R. Schraft, Service Robots, A.K. Peters, Natick, Massachussetts, 2000.

    Revistas de referencia general

    [17] Robotics World.[18] IEEE Transactions on Robotics and Automation.[19] International Journal of Robotics Research (MIT Press).[20] ASME Journal of Dynamic Systems, Measurement, and Control.[21] International Journal of Robotics & Automation (IASTED).

    EJERCICIOS

    1.1 [20] Haga una cronologa de los principales eventos en el desarrollo de robots industria-les durante los ltimos 40 aos. Consulte la bibliografa y las referencias generales.

    1.2 [20] Haga un grfico que muestre las principales aplicaciones de los robots industria-les (por ejemplo: soldadura por puntos, ensamblaje, etctera) y el porcentaje de ro-bots instalados que se utilizan en cada rea de aplicacin. Base su grfico en lainformacin ms reciente que pueda encontrar. Consulte la bibliografa y las referen-cias generales.

    1.3 [40] En la figura 1.3 se muestra cmo ha disminuido el costo de los robots industria-les con el paso de los aos. Busque informacin sobre el costo de la mano de obra hu-mana en varias industrias especficas (por ejemplo: la mano de obra en la industriaautomotriz, en la industria de ensamblaje de componentes electrnicos, en la agricul-tura, etctera) y haga un grfico que muestre cmo se comparan estos componentescon el uso de la robtica. En ese grfico deber verse que la curva del costo de los ro-bots cruza varias de las curvas de costo humano de distintas industrias en distintosmomentos. A partir de esta informacin, derive las fechas aproximadas del momentoen que el precio de los robots se hizo rentable para su uso en varias industrias.

    p g

  • 18 Captulo 1 Introduccin

    1.4 [10] Defina en una o dos oraciones, cinemtica, espacio de trabajo y trayectoria.1.5 [10] Defina en una o dos oraciones estructura, grado de libertad y control de posicin.1.6 [10] Defina en una o dos oraciones control de fuerza y lenguaje de programacin de

    robots.1.7 [10] Defina en una o dos oraciones control no lineal y programacin fuera de lnea.1.8 [20] Haga un grfico que indique cmo han aumentado los costos de la mano de obra

    durante los ltimos 20 aos.1.9 [20] Genere un grfico que muestre cmo ha aumentado la razn rendimiento-precio

    de las computadoras durante los ltimos 20 aos.1.10 [20] Genere un grfico que muestre los principales usos de los robots industriales (por

    ejemplo: aeroespacial, automotriz, etc.) y el porcentaje de stos instalados y en uso encada industria. Base su grfico en la informacin ms reciente que pueda encontrar.

    EJERCICIO DE PROGRAMACIN (PARTE 1)Familiarcese con la computadora que utilizar para realizar los ejercicios de programacinal final de cada captulo. Asegrese de poder crear y editar archivos y de poder compilar yejecutar programas.

    EJERCICIO MATLAB 1Al final de la mayora de los captulos en este libro viene un ejercicio con MATLAB. En ge-neral, estos ejercicios piden al estudiante que programe la matemtica de robtica pertinen-te en MATLAB y que luego revise los resultados de la Caja de Herramientas de RobticaMATLAB (MATLAB Robotics Toolbox). El libro asume que usted est familiarizado conMATLAB y el lgebra lineal (teora de matrices). Adems, el estudiante debe familiarizar-se con la Caja de Herramientas de Robtica MATLAB. Para el ejercicio MATLAB 1:

    a) De ser necesario, familiarcese con el entorno de programacin MATLAB. En la inter-faz de comandos del software MATLAB pruebe a escribir demo y help. Utilizando eleditor MATLAB con cdigos de colores, aprenda a crear, editar, guardar, ejecutar y de-purar archivos-m (archivos ASCII con series de instrucciones MATLAB). Aprenda acrear arreglos (matrices y vectores) y explore las funciones de lgebra lineal de MA-TLAB para la multiplicacin de matrices y vectores, los productos punto y cruz, trans-puestas, determinantes e inversas, y para la solucin de ecuaciones lineales. MATLABse basa en el lenguaje C pero, en general, es mucho ms fcil de usar. Aprenda a progra-mar instrucciones lgicas y ciclos en MATLAB; a utilizar subprogramas y funciones y ausar comentarios (%) para explicar sus programas y etiquetas para facilitar la legibili-dad. D un vistazo al sitio www. mathworks.com para obtener ms informacin y tuto-riales. Los usuarios avanzados de MATLAB deben familiarizarse con Simulink, lainterfaz grfica de MATLAB, y con la Caja de Herramientas Simblicas de MATLAB.

    b) Familiarcese con la Caja de Herramientas de Robtica MATLAB, un programa conherramientas para MATLAB desarrollado por Peter I. Corke de CSIRO, Pinjarra Hills,Australia, el cual puede descargar sin costo de www.cat.csiro.au/cmst/staff/pic/robot.Puede leer y modificar el cdigo fuente; adems, existe una comunidad internacional deusuarios con los que puede comunicarse a travs de [email protected]. Descargue la Caja de Herramientas de Robtica MATLAB e instlela en suequipo utilizando el archivo .zip y siguiendo las instrucciones. Lea el archivo READ-ME y familiarcese con las diversas funciones disponibles para el usuario. Busque elarchivo robot.pdf; es el manual del usuario que proporciona informacin sobre las ba-ses y el uso detallado de todas las funciones de este software. No se preocupe si nopuede entender el propsito de estas funciones todava, ya que muchas se relacionancon los conceptos de matemticas para robots que veremos en los captulos 2 a 7.

    p g

  • C A P T U L O 2

    Descripciones espaciales y transformaciones

    2.1 INTRODUCCIN2.2 DESCRIPCIONES: POSICIONES, ORIENTACIONES Y TRAMAS2.3 ASIGNACIONES: CMO CAMBIAR DESCRIPCIONES DE TRAMA A TRAMA2.4 OPERADORES: TRASLACIONES, ROTACIONES Y TRANSFORMACIONES2.5 RESUMEN DE INTERPRETACIONES2.6 ARITMTICA DE TRANSFORMACIONES2.7 ECUACIONES DE TRANSFORMADAS2.8 MS SOBRE LA REPRESENTACIN DE LA ORIENTACIN2.9 TRANSFORMACIN DE VECTORES LIBRES2.10 CONSIDERACIONES COMPUTACIONALES

    2.1 INTRODUCCIN

    Por definicin, la manipulacin robtica implica que se desplazarn piezas y herra-mientas en el espacio mediante algn tipo de mecanismo. Esto naturalmente conducea una necesidad de representar posiciones y orientaciones de piezas, herramientas y delmecanismo en s. Para manipular cantidades mecnicas que representen posicin yorientacin, debemos definir sistemas de coordenadas y desarrollar convenciones parala representacin. Muchas de las ideas aqu desarrolladas en el contexto de posicin yorientacin formarn una base para nuestra posterior consideracin de velocidades li-neales y angulares, as como de fuerzas y momentos de torsin.

    Adoptaremos la filosofa de que en alguna parte existe un sistema de coordena-das universal, y que todo lo que hablemos puede hacer referencia a este sistema. Des-cribiremos todas las posiciones y orientaciones respecto al sistema de coordenadasuniversal o respecto a otros sistemas de coordenadas cartesianas que se definen (o po-dran definirse) en forma relativa al sistema universal.

    2.2 DESCRIPCIONES: POSICIONES, ORIENTACIONES Y TRAMAS

    Una descripcin se utiliza para especificar los atributos de varios objetos con los quetrata un sistema de manipulacin. Estos objetos son piezas, herramientas y el manipu-lador en s. En esta seccin hablaremos sobre la descripcin de posiciones, orientacio-nes y de una entidad que contiene ambas descripciones: la trama.

    p g

  • 20 Captulo 2 Descripciones espaciales y transformaciones

    Descripcin de una posicin

    Una vez que se establece un sistema de coordenadas, podemos ubicar cualquier puntoen el universo con un vector de posicin de orden 3 1. Como es comn que defina-mos muchos sistemas de coordenadas, adems del sistema de coordenadas universal,los vectores deben etiquetarse con informacin que identifique en cul sistema estndefinidos. En este libro los vectores se escriben con un subndice a la izquierda que in-dica el sistema de coordenadas al que hacen referencia (a menos que quede claro, se-gn el contexto); por ejemplo, AP. Esto significa que los componentes de AP tienenvalores numricos que indican distancias sobre los ejes de {A}. Cada una de estas dis-tancias sobre un eje puede definirse como el resultado de proyectar el vector sobre eleje correspondiente.

    La figura 2.1 representa el dibujo de un sistema de coordenadas llamado {A}, contres vectores unitarios mutuamente ortogonales con puntas slidas. Un punto AP se re-presenta como un vector y puede definirse de manera equivalente como una posicinen el espacio, o simplemente como un conjunto ordenado de tres nmeros. Dados lossubndices x, y y z, los elementos individuales de un vector son:

    (2.1)

    En resumen, describiremos la posicin de un punto en el espacio con un vector de po-sicin. Otras descripciones de la posicin de puntos en tres dimensiones, como las re-presentaciones en coordenadas esfricas o cilndricas, se discutirn en los ejercicios alfinal del captulo.

    Descripcin de una orientacin

    A menudo necesitamos representar no solamente un punto en el espacio, sino tambindescribir la orientacin de un cuerpo en el espacio. Por ejemplo, si el vector AP de la fi-gura 2.2 ubica el punto directamente entre las puntas de los dedos de la mano de unmanipulador, la ubicacin completa de la mano no se especifica sino hasta que se pro-porciona tambin su orientacin. Suponiendo que el manipulador tiene un nmero su-ficiente de articulaciones,1 la mano podra orientarse arbitrariamente y al mismotiempo podra mantenerse el punto entre las puntas de los dedos en la misma posicin

    AP

    YA

    ZA

    XA

    {A}

    FIGURA 2.1: Vector relativo a la trama (ejemplo).

    AP =

    pxpypz

    1 En los captulos 3 y 4 hablaremos sobre cuntas articulaciones son suficientes.

    p g

  • Seccin 2.2 Descripciones: posiciones, orientaciones y tramas 21

    en el espacio. Para describir la orientacin de un cuerpo, adjuntaremos un sistema decoordenadas al cuerpo y luego daremos una descripcin de este sistema de coordenadasrelativo al sistema de referencia. En la figura 2.2 se ha adjuntado el sistema de coorde-nadas {B} al cuerpo de una manera conocida. Ahora basta con una descripcin de {B}relativo a {A} para dar la orientacin del cuerpo.

    Por ende, las posiciones de los puntos se describen con vectores, y las orientacio-nes de los cuerpos con un sistema de coordenadas adjunto. Una manera de describir elsistema de coordenadas {B} adjunto al cuerpo es escribiendo los vectores unitarios desus tres ejes principales2 en trminos del sistema de coordenadas {A}.

    Para denotar los vectores unitarios proporcionamos las direcciones principalesdel sistema de coordenadas {B} como XB, YB y ZB. Al escribirse en trminos del siste-ma de coordenadas {A}, se llaman AXB,

    AYB y AZB. Es conveniente si apilamos estos tres

    vectores unitarios como columnas de una matriz de 3 3, en el orden AXB, AYB, AZB.A esta matriz la llamaremos matriz de rotacin y, dado que esta matriz de rotacin es-pecfica describe a {B} en forma relativa a {A}, la representamos con la notacin ABR (laeleccin de los superndices y subndices a la izquierda en la definicin de las matricesde rotacin quedar clara en las siguientes secciones):

    (2.2)

    En resumen, puede utilizarse un conjunto de tres vectores para especificar una orienta-cin. A fin de ser ms claros, construiremos una matriz de 3 3 que tenga estos tres vec-tores como columnas. En consecuencia, siempre que se represente la posicin de unpunto con un vector, la orientacin de un cuerpo se representar con una matriz. En la

    2 A menudo es conveniente utilizar tres, aunque con dos bastara. (El tercero puede recuperarse toman-do el producto cruz de los dos ejes dados).

    APZB

    {A}

    {B}

    FIGURA 2.2: Ubicacin de un objeto en posicin y orientacin.

    A

    BR = [ AXB AYB AZB

    ] =

    r11 r12 r13r21 r22 r23r31 r32 r33

    .

    p g

  • 22 Captulo 2 Descripciones espaciales y transformaciones

    seccin 2.8 consideraremos otras descripciones de orientacin que requieren solamentetres parmetros.

    Podemos ofrecer expresiones para los escalares rij en (2.2) teniendo en cuenta quelos componentes de cualquier vector son simplemente las proyecciones de ese vector enlas direcciones unitarias de su trama de referencia. Por lo tanto, cada componente de ABRen (2.2) puede escribirse como el producto punto de un par de vectores unitarios:

    (2.3)

    Por cuestin de brevedad hemos omitido los superndices a la izquierda de la matrizms a la derecha de (2.3). De hecho, la eleccin de la trama en la cual se van a descri-bir los vectores unitarios es arbitraria, siempre y cuando sea la misma para cada par quese obtenga del producto punto. Como el producto punto de dos vectores unitarios es elcoseno del ngulo entre ellos, queda claro por qu a los componentes de las matricesde rotacin se les llama comnmente cosenos de direccin.

    Una inspeccin ms detallada de (2.3) nos muestra que las filas de la matriz sonlos vectores unitarios de {A} expresados en {B}; es decir,

    (2.4)

    As, ABR, la descripcin de la trama {A} relativa a {B}, se da mediante la transpuesta de(2.3); esto es,

    (2.5)

    Esto sugiere que la inversa de una matriz de rotacin es igual a su transpuesta; lo cualpuede verificarse fcilmente de la siguiente manera

    (2.6)

    Donde I3 es la matriz identidad 3 3. Por lo que,(2.7)

    En efecto, mediante el lgebra lineal [1], sabemos que el inverso de una matrizcon columnas ortonormales es igual a su transpuesta. Acabamos de demostrar estogeomtricamente.

    Descripcin de una trama

    La informacin necesaria para especificar completamente en dnde se encuentra lamano del manipulador en la figura 2.2 es una posicin y una orientacin. El punto enel cuerpo cuya posicin describimos podra elegirse arbitrariamente. Por conveniencia, elpunto cuya posicin describiremos se elige como el origen de la trama adjunta al cuerpo.

    A

    BR = [ AXB AYB AZB

    ] =

    XB XA YB XA ZB XAXB YA YB YA ZB YAXB ZA YB ZA ZB ZA

    .

    A

    BR = [ AXB AYB AZB

    ] =

    BXTA

    BY TA

    BZTA

    .

    ( )B

    AR = A

    BRT .

    A

    BRT A

    BR =

    AXTB

    AY TB

    AZTB

    [

    AXBAYB

    AZB

    ] = I3,

    A

    BR = B

    AR1 = B

    ART .

    p g

  • Seccin 2.2 Descripciones: posiciones, orientaciones y tramas 23

    La situacin de un par posicin y orientacin surge tan a menudo en robtica que de-finimos una entidad llamada trama, la cual es un conjunto de cuatro vectores que pro-porcionan informacin sobre la posicin y la orientacin. Por ejemplo, en la figura 2.2un vector ubica la posicin de la punta de los dedos y tres ms describen su orienta-cin. De manera equivalente, la descripcin de una trama puede definirse como unvector de posicin y una matriz de rotacin. Observe que una trama es un sistema decoordenadas en donde adems de la orientacin damos un vector de posicin que ubi-ca su origen de manera relativa a alguna otra trama fija. Por ejemplo, la trama {B} sedescribe mediante ABR y

    APBORG, en donde APBORG es el vector que ubica el origen de

    la trama {B}:

    (2.8)

    En la figura 2.3 hay tres tramas que se muestran junto con el sistema de coordenadasuniversal. Se sabe que las tramas {A} y {B} son relativas al sistema de coordenadas uni-versal y que la trama {C} se conoce en relacin a la trama {A}.

    En la figura 2.3 presentamos una representacin grfica de las tramas, lo cual esconveniente para visualizarlas. Una trama se describe mediante tres flechas que repre-sentan vectores unitarios, los cuales definen los ejes principales de la trama. Es necesa-rio dibujar una flecha que representa a un vector que va de un origen hacia el otro. Estevector representa la posicin del origen en la punta de la flecha, en trminos de la tra-ma en la cola de la flecha. Por ejemplo, en la figura 2.3, la direccin de esta flecha deubicacin nos dice que se sabe que {C} se conoce en trminos de {A} y no al revs.

    En resumen, una trama puede utilizarse como una descripcin de un sistema decoordenadas relativo a otro. Una trama abarca dos ideas al representar tanto la posi-cin como la orientacin, por lo que puede definirse como una generalizacin de esasdos ideas. Las posiciones podran representarse mediante una trama cuya parte corres-pondiente a la matriz de rotacin es la matriz identidad y cuya parte correspondiente alvector de posicin ubica el punto que se est describiendo. De igual forma, una orien-tacin podra representarse mediante una trama cuya parte correspondiente al vectorde posicin sea al vector cero.

    {B} = {ABR,A PBORG}.

    ZUZB

    ZA

    ZC

    XC

    YC

    YA

    YU

    XU XB

    YB

    XA

    {U}{B}

    {C}

    {A}

    FIGURA 2.3: Ejemplo de varias tramas.

    p g

  • 24 Captulo 2 Descripciones espaciales y transformaciones

    2.3 ASIGNACIONES: CMO CAMBIAR DESCRIPCIONES DE TRAMA A TRAMA

    Gran parte de los problemas de la robtica se refieren a cmo expresar la misma can-tidad en varios sistemas de coordenadas de referencia. En la seccin anterior presenta-mos descripciones de posiciones, orientaciones y tramas; ahora consideraremos lasmatemticas de la asignacin o mapeo, para poder cambiar las descripciones de unatrama a otra.

    Asignaciones que involucran tramas trasladadas

    En la figura 2.4 tenemos una posicin definida por el vector BP. Deseamos expresar es-te punto en el espacio en trminos de la trama {A}, cuando {A} tenga la misma orienta-cin que {B}. En este caso {B} difiere de {A} slo por una traslacin, que se da medianteAPBORG, un vector que ubica el origen de {B} relativo a {A}.

    Como ambos vectores se definen en relacin a las tramas de la misma orientacin,calculamos la descripcin del punto P relativo a {A}, AP, mediante la suma de vectores:

    (2.9)

    Observe que slo en el caso especial de orientaciones equivalentes podemos sumar vec-tores que estn definidos en trminos de tramas diferentes.

    En este ejemplo simple, hemos ilustrado la asignacin de un vector de una tramaa otra. Esta idea de asignar, o cambiar la descripcin de una trama a otra, es un concep-to extremadamente importante. La cantidad en s (en este caso, un punto en el espa-cio) no se modifica; slo se modifica su descripcin. Esto se ilustra en la figura 2.4, endonde el punto descrito por BP no se traslada sino que permanece igual, y lo que se hahecho es calcular una nueva descripcin del mismo punto con respecto al sistema {A}.

    AP = BP + APBORG.

    AP

    BP

    APBORG

    YA

    ZA

    XA

    {A}

    YB

    ZB

    XB

    {B}

    FIGURA 2.4: Asignacin de traslacin.

    p g

  • Seccin 2.3 Asignaciones: cmo cambiar descripciones de trama a trama 25

    Decimos que el vector APBORG define esta asignacin porque toda la informacinnecesaria para realizar la modificacin en la descripcin est contenida en APBORG(junto con el conocimiento de que las tramas tenan una orientacin equivalente).

    Asignaciones que involucran tramas rotadas

    En la seccin 2.2 introdujimos la nocin de describir una orientacin mediante tres vec-tores unitarios, denotando los ejes principales de un sistema de coordenadas adjunto a uncuerpo. Por conveniencia apilamos estos tres vectores unitarios como columnas de unamatriz 3 3. A esta matriz la llamaremos matriz de rotacin y, si esta matriz de rotacinespecfica describe a {B} en trminos de {A}, la identificamos con la notacin ABR.

    Observe que, segn nuestra definicin, todas las columnas de una matriz de rota-cin tienen una magnitud unitaria, adems de que estos vectores unitarios son ortogo-nales. Como vimos antes, una consecuencia de esto es que:

    (2.10)

    Por lo tanto, y como las columnas de ABR son los vectores unitarios de {B} escritos en{A}, las filas de ABR son los vectores unitarios de {A} escritos en {B}.

    De esta manera, una matriz de rotacin puede interpretarse como un conjunto detres vectores columna o como un conjunto de tres vectores fila, de la siguiente manera:

    (2.11)

    Como en la figura 2.5, es comn que se presente la situacin en la que conocemos ladefinicin de un vector con respecto a cierta trama, {B}, y nos gustara conocer su defi-nicin con respecto a otra trama, {A}, en donde los orgenes de las dos tramas sean

    BP

    YA

    YB

    ZA

    XB

    ZB

    XA

    {A}{B}

    FIGURA 2.5: Rotacin de la descripcin de un vector.

    A

    BR = B

    AR1 = B

    ART .

    A

    BR = [ AXB AYB AZB

    ] =

    BXTA

    BY TA

    BZTA

    .

    p g

  • 26 Captulo 2 Descripciones espaciales y transformaciones

    coincidentes. Este clculo es posible cuando se conoce una descripcin de la orienta-cin de {B} relativa a {A}. Esta orientacin se representa mediante la matriz de rotacinABR, cuyas columnas son los vectores unitarios de {B} escritos en {A}.

    Para poder calcular AP, hay que tener en cuenta que los componentes de cual-quier vector son simplemente las proyecciones de ese vector en las direcciones unita-rias de su trama. La proyeccin se calcula como el producto punto de los vectores. Deesta manera, podemos ver que los componentes de AP pueden calcularse como:

    (2.12)

    Para poder expresar la ecuacin (2.12) en trminos de una multiplicacin de ma-trices de rotacin, hay que observar en la ecuacin (2.11) que las filas de ABR son

    BXA,BYA y

    BZA. As que la ecuacin (2.12) puede escribirse en forma compacta, utilizan-do una matriz de rotacin:

    (2.13)

    La ecuacin (2.13) implementa una asignacin; es decir, modifica la descripcin de unvector: de BP, que describe un punto en el espacio relativo a {B}, a AP, que es una des-cripcin del mismo punto, pero expresado en forma relativa a {A}.

    Ahora podemos ver que nuestra notacin es de gran ayuda para llevar el registrode las asignaciones y las tramas de referencia. Una manera til de visualizar la notacinque hemos introducido es imaginar que los subndices a la izquierda cancelan los supe-rndices a la izquierda de la siguiente entidad, por ejemplo las B en (2.13).

    EJEMPLO 2.1

    La figura 2.6 muestra una trama {B} que se gira 30 grados de manera relativa a la tra-ma {A} sobre Z . Aqu, Z apunta hacia fuera de la pgina.

    BP

    XA

    YAYB

    XB

    {A}{B}

    FIGURA 2.6: {B} con un giro de 30 grados sobre Z .

    Apx = BXA BP,Apy = BYA BP,Apz = BZA BP.

    AP = ABR BP.

    p g

  • Seccin 2.3 Asignaciones: cmo cambiar descripciones de trama a trama 27

    Si escribimos los vectores unitarios de {B} en trminos de {A} y los apilamos co-mo columnas de la matriz de rotacin, obtendremos

    (2.14)

    Dado que

    (2.15)

    calculamos AP como

    (2.16)

    Aqu, ABR acta como una asignacin que se utiliza para describir a BP en forma

    relativa a la trama {A}, AP. Como en el caso de las traslaciones, es importante recor-dar que, si se ve como una asignacin, el vector original P no cambia en el espacio. Envez de ello, calculamos una nueva descripcin del vector en relacin a otra trama.

    Asignaciones que involucran tramas arbitrarias

    Muy a menudo, nos encontramos con una situacin en la que conocemos la descripcinde un vector respecto a cierta trama {B}, y es conveniente conocer su descripcin con res-pecto a otra trama, {A}. Ahora consideraremos el caso general de la asignacin. Aquel origen de la trama {B} no es coincidente con el de la trama {A}, sino que tiene un des-plazamiento vectorial arbitrario. El vector que define el origen de {B} se llama APBORG.Adems, {B} se gira con respecto a {A}, segn lo describe AB R. Dado

    BP, deseamoscalcular AP, como en la figura 2.7.

    AP BP

    APBORG

    YA

    ZA

    XA

    {A}

    YB

    ZB

    XB

    {B}

    FIGURA 2.7: Transformada general de un vector.

    A

    BR =

    0.866 0.500 0.0000.500 0.866 0.0000.000 0.000 1.000

    .

    BP =

    0.02.00.0

    ,

    AP = ABR BP =

    1.0001.7320.000

    .

    p g

  • 28 Captulo 2 Descripciones espaciales y transformaciones

    Primero podemos cambiar BP a su descripcin relativa a una trama intermedia quetiene la misma orientacin que {A}, pero cuyo origen es coincidente con el origen de {B}.Esto se hace multiplicndolo previamente por ABR, como en la ltima seccin. Despusconsideramos la traslacin entre orgenes mediante una simple suma vectorial, como an-tes, y obtenemos:

    (2.17)

    La ecuacin (2.17) describe una asignacin de transformacin general de un vector apartir de su descripcin en una trama a una descripcin en una segunda trama. Obser-ve la siguiente interpretacin de nuestra notacin segn se muestra en (2.17): las Bse cancelan, dejando todas las cantidades como vectores escritos en trminos de A,los cuales pueden ya sumarse sin problema.

    La forma de (2.17) no es tan atractiva como la forma conceptual

    (2.18)

    Esto es, nos gustara pensar en una asignacin de una trama a otra como un operadoren forma de matriz. Esto nos ayuda a escribir ecuaciones compactas y es conceptual-mente ms claro que (2.17). Para poder escribir las ecuaciones matemticas dadas en(2.17) en la forma de operador matricial sugerida por (2.18), definimos un operadormatricial de 4 4 y utilizamos vectores de posicin de 4 1, para que (2.18) tenga lasiguiente estructura:

    (2.19)

    En otras palabras:

    1. Se agrega un 1 como el ltimo elemento de los vectores de 4 1.2. Se agrega una fila [0 0 0 1] como la ltima fila de la matriz de 4 4.

    Adoptaremos la convencin de que un vector de posicin es de 3 1 o 4 1, de-pendiendo de si se multiplica por una matriz de 3 3 o por una de 4 4. Puede versede antemano que (2.19) implementa lo siguiente:

    (2.20)

    La matriz de 4 4 en (2.19) se llama transformada homognea. Para nuestros fi-nes, puede tratarse solamente como una construccin utilizada para convertir la rota-cin y la traslacin de la transformada general en una sola forma matricial. En otroscampos de estudio puede utilizarse para calcular operaciones de perspectiva y escala-do (cuando la ltima fila es distinta de [0 0 0 1] o la matriz de rotacin no es ortonor-mal). El lector interesado debera consultar [2].

    Comnmente escribiremos una ecuacin como (2.18) sin ninguna notacin queindique que es una representacin homognea, ya que esto es obvio debido al contex-to. Observe que aunque las transformadas homogneas son tiles para escribir ecuacio-nes compactas, un programa computacional para transformar vectores generalmenteno las utilizara debido al tiempo que se pierde al multiplicar unos y ceros. Por ende,esta representacin es principalmente para nuestra conveniencia al idear y escribirecuaciones en papel.

    AP = ABR BP + APBORG.

    AP = ABT BP.

    [AP

    1

    ]=[

    ABR APBORG

    0 0 0 1

    ][BP

    1

    ].

    AP = ABR BP + APBORG

    1 = 1.

    p g

  • Seccin 2.3 Asignaciones: cmo cambiar descripciones de trama a trama 29

    As como utilizamos matrices de rotacin para especificar una orientacin, utili-zaremos transformadas (usualmente en representacin homognea) para especificaruna trama. Observe que aunque hemos introducido transformadas homogneas en elcontexto de las asignaciones, tambin sirven como descripciones de tramas. La descrip-cin de la trama {B} relativa a {A} es ABT.

    EJEMPLO 2.2

    La figura 2.8 muestra una trama {B} que se gira 30 grados en forma relativa a {A} so-bre Z, se trasladada 10 unidades en XA y 5 unidades en YA. Encuentre

    AP en dondeBP = [3.0 7.0 0.0]T.

    La definicin de la trama {B} es

    (2.21)

    Dada

    (2.22)

    utilizamos la definicin de {B} que se acaba de dar como una transformacin:

    (2.23)

    A

    BT =

    0.866 0.500 0.000 10.00.500 0.866 0.000 5.00.000 0.000 1.000 0.00 0 0 1

    .

    BP =

    3.07.00.0

    ,

    AP = ABT BP =

    9.09812.562

    0.000

    .

    AP

    BP

    APBORG

    XA

    YA {A}

    YB

    XB

    {B}

    FIGURA 2.8: La trama {B} girada y trasladada.

    p g

  • 30 Captulo 2 Descripciones espaciales y transformaciones

    2.4 OPERADORES: TRASLACIONES, ROTACIONES Y TRANSFORMACIONES

    Las mismas formas matemticas que se utilizan para correlacionar puntos entre tramaspueden interpretarse tambin como operadores que trasladan puntos, giran vectores ohacen ambas cosas. En esta seccin ilustraremos esta interpretacin de las matemticasque ya hemos desarrollado.

    Operadores de traslacin

    Una traslacin desliza un punto en el espacio una distancia finita a lo largo de una di-reccin vectorial dada. Con esta interpretacin de trasladar el punto en el espacio, s-lo necesita estar involucrado un sistema de coordenadas. Resulta que el proceso detrasladar el punto en el espacio se logra con las mismas matemticas utilizadas paraasignar el punto a una segunda trama. Casi siempre es muy importante comprendercul interpretacin de las matemticas se est utilizando. La distincin es tan simple co-mo esto: cuando un vector se desplaza hacia adelante en forma relativa a una trama,podemos considerar bien que el vector se desplaz hacia adelante o que la trama semovi hacia atrs. Las matemticas involucradas en ambos casos son idnticas; slola manera en que vemos la situacin es distinta. La figura 2.9 indica grficamente cmose traslada un vector AP1 mediante un vector

    AQ. Aqu el vector AQ proporciona la in-formacin necesaria para realizar la traslacin.

    El resultado de la operacin es un nuevo vector AP2 que se calcula as:

    (2.24)

    Para escribir esta operacin de traslacin como un operador matricial utilizamos lanotacin:

    (2.25)

    en donde q es la magnitud con signo de la traslacin a lo largo de la direccin vectorialQ . El operador DQ puede considerarse como una transformada homognea de una

    AP1

    AQ

    AP2 AP1

    ZA

    YA

    XA

    {A}

    FIGURA 2.9: Operador de traslacin.

    AP2 = AP1 + AQ.

    AP2 = DQ(q) AP1,

    p g

  • Seccin 2.4 Operadores: traslaciones, rotaciones y transformaciones 31

    forma especialmente simple:

    (2.26)

    en donde qx, qy y qz son los componentes del vector de traslacin Q y q = qx2+ qy2+ qz2.Las ecuaciones (2.9) y (2.24) implementan las mismas matemticas. Observe que si hu-biramos definido a BPAORG (en vez de

    APBORG) en la figura 2.4 y lo hubiramos usadoen (2.9), habramos visto un cambio de signo entre (2.9) y (2.24). Este cambio de signoindicara la diferencia entre desplazar el vector hacia adelante y desplazar el sistemade coordenadas hacia atrs. Al definir la ubicacin de {B} en forma relativa a {A}(con APBORG), hacemos que las matemticas de las dos interpretaciones sean idnticas.Ahora que hemos introducido la notacin DQ, podemos tambin usarla para descri-bir tramas y como una asignacin.

    Operadores rotacionales

    Tambin se puede interpretar a una matriz de rotacin como un operador rotacionalque opera sobre un vector AP1 y convierte ese vector en uno nuevo,

    AP2, por medio deuna rotacin R. Generalmente, cuando una matriz de rotacin se muestra como unoperador, no aparecen subndices ni superndices, ya que no se considera que est re-lacionando dos tramas. Esto es, podemos escribir

    (2.27)

    De nuevo y como en el caso de las traslaciones, los clculos descritas en (2.13) y en (2.27)son las mismas; slo nuestra interpretacin es distinta. Este hecho tambin nos permitever cmo obtener matrices rotacionales que vayan a utilizarse como operadores:

    La matriz de rotacin que gira vectores a travs de cierta rotacin R, es la misma quela matriz de rotacin que describe a una trama girada por R en relacin con la trama de re-ferencia.

    Aunque una matriz de rotacin puede verse fcilmente como un operador, tam-bin definiremos otra notacin para un operador rotacional que indica claramentesobre qu eje se est girando:

    (2.28)

    En esta notacin, RK() es un operador rotacional que realiza una rotacin de gradossobre la direccin del eje K. Este operador puede escribirse como una transformada ho-mognea cuya parte correspondiente al vector de posicin sea igual a cero. Por ejemplo,si sustituimos en (2.11) se produce el operador que gira grados sobre el eje Z:

    (2.29)

    Claro que, para girar un vector de posicin, podramos utilizar tambin la partecorrespondiente a la matriz de rotacin de orden 3 3 de la transformada homognea.Por lo tanto, se puede considerar que la notacin RK representa a una matriz de 3 3o de 4 4. Ms adelante veremos cmo escribir la matriz de rotacin para una rota-cin sobre un eje Karbitrario.

    DQ(q) =

    1 0 0 qx0 1 0 qy0 0 1 qz0 0 0 1

    ,

    AP2 = R AP1.

    AP2 = RK() AP1.

    Rz() =

    cos sen 0 0sen cos 0 0

    0 0 1 00 0 0 1

    .

    p g

  • 32 Captulo 2 Descripciones espaciales y transformaciones

    EJEMPLO 2.3

    La figura 2.10 muestra un vector AP1. Deseamos calcular el vector que se obtiene al gi-rar este vector 30 grados sobre Z. Llamaremos a este nuevo vector AP2.

    La matriz de rotacin que gira los vectores 30 grados sobre Z es la misma que lamatriz de rotacin que describe a una trama que se gira 30 grados sobre Z con respec-to a la trama de referencia. Por lo tanto, el operador rotacional correcto es

    (2.30)

    Dado

    (2.31)

    calculamos AP2 como

    (2.32)

    Las ecuaciones (2.13) y (2.27) implementan los mismos