Academia.eduAcademia.edu
Introducción a la robótica Introducción a la robótica Subir Kumar Saha Indian Institute of Technology Revisión técnica: Jorge Eduardo Aguirre Aguilar Francisco Javier Sandoval Palafox Departamento de Ingeniería Mecánica y Mecatrónica Instituto Tecnológico y de Estudios Superiores de Monterrey Campus Estado de México MÉXICO • BOGOTÁ • BUENOS AIRES • CARACAS • GUATEMALA • MADRID • NUEVA YORK SAN JUAN • SANTIAGO • SÃO PAULO • AUCKLAND • LONDRES • MILÁN • MONTREAL NUEVA DELHI • SAN FRANCISCO • SINGAPUR • ST. LOUIS • SIDNEY • TORONTO Director Higher Education: Miguel Ángel Toledo Castellanos Editor sponsor: Pablo Roig Vázquez Coordinadora editorial: Marcela Rocha Martínez Editora de desarrollo: Karen Estrada Arriaga Supervisor de producción: Zeferino García García Diseño de portada: María Josefa Vaca García Traducción: Dr. Thomas W. Bartenbach INTRODUCCIÓN A LA ROBÓTICA Prohibida la reproducción total o parcial de esta obra, por cualquier medio, sin la autorización escrita del editor. DERECHOS RESERVADOS © 2010, respecto a la primera edición en español por McGRAW-HILL/INTERAMERICANA EDITORES, S.A. DE C.V. A Subsidiary of The McGraw-Hill Companies, Inc. Prolongación Paseo de la Reforma 1015, Torre A Pisos 16 y 17, Colonia Desarrollo Santa Fe, Delegación Álvaro Obregón C.P. 01376, México, D.F. Miembro de la Cámara Nacional de la Industria Editorial Mexicana, Reg. Núm. 736 ISBN 13: 978-607-15-0313-8 Copyright © 2008 de la primera edición en inglés de Introduction to robotics, by Subir Kumar Saha, published by Tata McGraw-Hill Education Private Limited, NOIDA, India. ISBN: 978-0-07-066900-0 All rights reserved 1234567890 109876543210 Impreso en México Printed in Mexico Dedicado a Los estudiantes de la India Contenido Sobre el autor Prefacio x xii 1. Introducción 1 1.1 Historia 1 1.2 Robots 5 1.3 El uso de robots 8 Resumen 13 Ejercicios 13 Ejercicios basados en la web 13 2. Robots seriales 14 2.1 2.2 2.3 2.4 2.5 2.6 Subsistemas de robots 14 Clasiicación de robots por aplicación 24 Clasiicación de robots por sistema de coordenadas 24 Clasiicación de robots por su sistema de potencia 29 Clasiicación de robots por el método de control 29 Clasiicación de robots por método de programación 30 Resumen 30 Ejercicios 31 Ejercicios basados en la web 31 Contenido 3. Actuadores 32 3.1 3.2 3.3 3.4 Actuadores neumáticos 33 Actuadores hidráulicos 36 Actuadores eléctricos 38 Selección de motores 49 Resumen 50 Ejercicios 51 Ejercicios basados en la web 51 4. Sensores 52 4.1 4.2 4.3 4.4 4.5 Clasiicación de sensores 52 Sensores internos 53 Sensores externos 62 Sistema de visión 66 Selección de sensores 72 Resumen 74 Ejercicios 75 Ejercicios basados en la web 75 5. Transformaciones 76 5.1 5.2 5.3 5.4 Arquitectura de robots 76 Posición de un cuerpo rígido 83 Transformación de coordenadas 92 Los parámetros de Denavit y Hartenberg (DH) 100 Resumen 109 Ejercicios 109 Ejercicios basados en MATLAB 110 6. Cinemática 112 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 Análisis de la posición directa 113 Análisis de la posición con cinemática inversa 121 Análisis de velocidad: la matriz jacobiana 130 Velocidades de eslabones 133 Computación jacobiana 134 Jacobiano usando el DeNOC 138 Singularidad 142 Análisis de aceleración 143 Resumen 144 Ejercicios 145 Ejercicios basados en la web 145 vii viii Contenido 7. Estática 146 7.1 7.2 7.3 7.4 7.5 Balance de fuerzas y momentos 147 Cálculo recursivo 149 Pares de torsión equivalentes 151 El papel del jacobiano en la estática 157 Elipsoide de fuerza 161 Resumen 162 Ejercicios 162 Ejercicios basados en MATLAB 162 8. Dinámica 163 8.1 8.2 8.3 8.4 8.5 Propiedades de inercia 164 Formulación de Euler-Lagrange 172 La formulación Newton-Euler 181 Algoritmo recursivo de Newton-Euler 186 Algoritmos dinámicos 195 Resumen 203 Ejercicios 203 Ejercicios basados en la web 203 Ejercicios basados en MATLAB 204 9. Dinámica recursiva de robots 9.1 9.2 9.3 9.4 205 Modelado dinámico 206 Expresiones analíticas 211 La dinámica inversa recursiva usando RIDIM 221 La dinámica directa recursiva y la simulación 229 Resumen 236 Ejercicios 236 Ejercicios basados en RIDIM 236 Ejercicios basados en MATLAB 237 10. Control 239 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 10.10 Técnicas de control 240 Sistemas lineales de segundo orden 242 Control retroalimentado 246 El desempeño de sistemas de control retroalimentados Una articulación robótica 255 Controlador de articulaciones 260 Control de trayectoria no lineal 266 Representación de estado-espacio y control 270 Estabilidad 276 Controles cartesianos y de fuerza 279 Resumen 281 Ejercicios 282 Ejercicios basados en MATLAB 282 252 Contenido ix 11. Planeación de movimientos 283 11.1 11.2 11.3 11.4 11.5 Planeación de espacios articulares 284 Planeación del espacio cartesiano 290 Trayectorias de posición y orientación 295 Planeación de punto a punto 300 Generación de ruta continua 306 Resumen 314 Ejercicios 314 Ejercicios basados en MATLAB 315 12. Computadoras para robots 12.1 12.2 12.3 12.4 12.5 316 Velocidad de computación 316 Requerimientos de hardware 320 Consideraciones de control 322 Programación de robots 325 La arquitectura de hardware 334 Resumen 337 Ejercicios 337 Ejercicios basados en la web 337 Apéndice A: Principios básicos matemáticos Apéndice B: El uso de MATLAB y RIDIM Apéndice C: Proyectos de estudiantes: Estudios de caso Referencias Índice analítico 338 346 357 365 369 x Apéndice A Principios básicos matemáticos Sobre el autor Nacido en Maldaha, Bengala Occidental (India), el profesor Subir Kumar Saha realizó la mayor parte de sus estudios escolares en Vidyasagar Vidyapith, Midnapore (también en Bengala Occidental). En 1983, completó su BE (Mech.) en el RE College (hoy NIT), en Durgapur, seguido por la maestría del IIT en Kahargpur en 1985. Obtuvo su doctorado por la McGill University de Canadá en 1991 y se ailió inmediatamente después al centro de investigación y desarrollo de la Toshiba Corporation de Japón. En 1995 regresó al ITT Madras como docente invitado, y luego se incorporó como profesor asistente en el ITT Delhi. El profesor Saha es receptor de la beca Humboldt y pasó nueve meses en la University of Stuttgart, Alemania, durante 1999-2000. También ha sido profesor invitado de varias universidades en el extranjero, entre otras: McGill University en Canadá, Monash University en Australia y la University of Verona en Italia. Él está activamente involucrado en la docencia, investigación y desarrollo de tecnologías y estableció la sección de Delhi del SAE-IIT en 1997, así como el Laboratorio de Mecatrónica del IIT Delhi en julio de 2001. Sus actividades de investigación, consultoría y capacitación incluyen muchas empresas privadas como Asahi India, Sona Steering, Minda-Huf, SAMTEL, Colour Rubes; así como del sector público entre las que se encuentran BHEL, CEPC; además de agencias gubernamentales como DST, MIT, CWDB; todas estas empresas son una clara indicación de la conianza que tiene la industria en el compromiso del profesor Saha. A su favor tiene más de 125 publicaciones de investigación en revistas que gozan de reputación y en memorias de congresos. Dos de sus intereses más recientes son los siguientes: 1) popularizar el concepto de la formación en ingeniería por medio de la participación en concursos de robótica. Por ejemplo, desde 2003, ha dirigido los equipos de estudiantes del IIT Delhi en su participación Sobre el autor xi en los concursos Doordarshan-Robocon. El equipo liderado por él fue campeón en 2007 y representó a la India en el concurso internacional celebrado en Hanoi, Vietnam. A in de fortalecer ese concepto, el profesor Saha ha emprendido una serie de conferencias llamadas Robotics [AT]? durante su estancia en el IIT Madras entre diciembre de 2006 y diciembre de 2007. Hasta la fecha, ha pronunciado ocho conferencias en diferentes universidades e institutos. 2) A in de popularizar los problemas de ingeniería que enfrentan las industrias rurales de la India, por ejemplo, la industria alfombrera, el profesor Saha ha formulado, entre los estudiantes de los IIT y de otras escuelas de ingeniería, los problemas técnicos rurales como problemas de investigación a in de resolverlos mediante herramientas modernas, ya sea de software o teóricas. Este concepto ha conducido a varias publicaciones en revistas nacionales e internacionales, así como a una tesis de doctorado cuya publicación como libro especial se espera en 2009 por parte de una editorial internacional de renombre. Prefacio La robótica es un tema que atrae a muchas mentes jóvenes, lo cual se debe principalmente a la abundante representación de robots en muchas historias de ciencia icción y en películas populares. A partir de los años sesenta, los robots se han usado sobre todo en aplicaciones industriales, particularmente en la industria automotriz para la soldadura de carrocerías. Incluso, hoy día, los usuarios más importantes de robots son los gigantes automovilísticos. Los robots también encuentran aplicaciones cada vez mayores en la cirugía médica, la industria minera y la exploración del espacio, y aun en instituciones que se preocupan del cuidado de personas de la tercera edad. Introducción a la robótica tiene por objetivo la comprensión de los conceptos subyacentes en el diseño y construcción de un robot, y en su funcionamiento. En el mercado existe un número de libros que normalmente tienen en cuenta a investigadores que trabajan fundamentalmente en los aspectos de análisis de robots, por ejemplo, cinemática, dinámica, control, etc., o a ingenieros en activo interesados en el estudio de viabilidad del uso de robots para aplicaciones particulares, su adquisición, programación, economía, etc. En un plan de estudios de licenciatura, es importante que los estudiantes conozcan tanto los aspectos de análisis como las aplicaciones. Por lo tanto, se percibió la necesidad de un libro que cubriera ambos aspectos de manera lúcida. La inspiración para escribir este tipo de libro, sin embargo, llegó hace casi una década (abril de 1999), cuando el profesor Gayatri Kansal, de la Indira Gandhi National Open University (IGNOU), en Nueva Delhi, me pidió algunos materiales de instrucción sobre robótica para sus estudiantes. Al mismo tiempo, no encontré ningún libro de texto sobre robótica disponible en la India a un precio accesible. Por lo tanto, sentí el impulso de escribir uno que debía tener calidad internacional, pero con precio indio. Esto no sólo ayudaría a los estudiantes Prefacio xiii de la India a poseer un libro de robótica, sino también a los de otros de países de condiciones económicas parecidas. A pesar de que el libro se dirige básicamente a estudiantes universitarios de las ingenierías mecánica y eléctrica y a alumnos de ciencias de la computación que se inscriben en un curso de robótica, también puede servir a las necesidades de un curso de robótica de nivel avanzado dirigido a estudiantes de maestría o doctorado que se enfoquen, por ejemplo, en cinemática, dinámica y control de robots. El material que ofrece este libro también pueden utilizarlo ingenieros activos con o sin previa experiencia en el tema de la robótica, con el propósito de adoptar, mantener o incluso diseñar un robot. De hecho, debido a los múltiples ejemplos y ejercicios que ofrece el libro, cualquiera podrá prepararse para un examen competitivo sobre robótica. La intención de este libro es la de servir tanto a los estudiantes de licenciatura como a los de posgrado en sus cursos de robótica. La siguiente es una guía para los maestros que atienden los siguientes niveles: Para cursos de licenciatura En el nivel introductorio (de preferencia estudiantes del 2o. y 3er. año) Para la disciplina mecánica, utilice los capítulos 1 a 6. Para los estudiantes de electricidad y ciencias computacionales, utilice los capítulos 1 a 5 y 12. En el nivel superior (de preferencia estudiantes del 3er. y 4o. año) Para la disciplina mecánica, utilice los capítulos 2, 6 a 8 y 11. Para los estudiantes de electricidad y ciencias computacionales, utilice los capítulos 2, 5, 6, 8, 10 y 11. Para cursos del nivel de posgrado (estudiantes de maestría y doctorado) Sin antecedentes de un curso de robótica Para la disciplina mecánica, utilice los capítulos 1 a 8. Para la disciplina eléctrica, utilice los capítulos 1 a 5, 10 y 12. Con antecedentes de cursos del nivel licenciatura sobre robótica Para la disciplina mecánica, utilice los capítulos 5 a 11. Para los estudiantes de electricidad y ciencias computacionales, utilice los capítulos 5 a 8, 10 y 11. Además, el libro es adecuado para cursos sobre mecatrónica y dinámica multicuerpo. Por ejemplo, los capítulos 3 a 6, 8 y 10 cubren aproximadamente de 75 a 80% de un curso sobre mecatrónica, mientras que los capítulos 5, 6, 8 y 9 pueden cubrir hasta 80% de un curso sobre dinámica de multicuerpos que sólo trate de los cuerpos rígidos, y aproximadamente 60% de un curso sobre dinámica de multicuerpos que trate de los cuerpos deformables. En este libro se introducen varias características especiales que lo distinguen de cualquier otro texto contemporáneo sobre robótica: xiv • • • Prefacio Flujo natural del contenido, es decir, los temas están organizados de tal modo que el estudiante pueda comprender el tema de manera lógica. Por ejemplo, cada vez que escuchamos sobre alguna cosa nueva, tenemos curiosidad acerca de cómo se ve o cómo funciona. Por ende, los aspectos de los diferentes robots y su clasiicación se cubren en los capítulos 1 y 2. Entonces despertará el interés de conocer los componentes de un robot. Por lo tanto, se explican los actuadores y sensores en los capítulos 3 y 4. Después de conocer la estructura del robot y sus componentes, es natural sentir curiosidad sobre cómo se mueve un robot y cuáles son las fuerzas causantes. Aquí se presenta la necesidad de transformación, cinemática, estática y dinámica. Esto se cubre en los capítulos 5 a 9, respectivamente. A esto le siguen las leyes de control en el capítulo 10. Entonces el robot está listo para el uso práctico, y el usuario tiene que decidir cómo moverlo para una tarea particular. La planeación de movimiento del capítulo 11 es la que explica los movimientos del robot. Finalmente, se estudia el hardware y software que accionan al robot, lo que se explica en el capítulo 12. Se ofrecen cuadros de texto para resaltar información histórica, contemporánea y de otros intereses que podrán ayudarle al lector a complementar sus conocimientos teóricos obtenidos en los contenidos de los capítulos. Ejercicios basados en la web y en MATLAB aparecen al inal de cada capítulo y ayudan al estudiante a mantenerse al tanto de lo que está pasando en la robótica alrededor del mundo y a saber cómo implementar los conceptos matemáticos para las aplicaciones reales. La organización completa del libro es la siguiente: Capítulo 1: Introducción Se introducen los diferentes tipos de robots con sus campos de aplicación, población, etcétera. Capítulo 2: Robots seriales clasiicación de robots. Se presentan diferentes metodologías que se usan para la Capítulo 3: Actuadores Se explican varios tipos de actuadores, a saber: neumáticos, hidráulicos y eléctricos, y se recomienda cómo proceder a su selección. Capítulo 4: Sensores Se explican los sensores, los componentes importantes de un sistema robótico. Capítulo 5: Transformaciones Se deinen las arquitecturas de un robot, además, se presenta la descripción matemática de la postura del robot, es decir, la posición y orientación de su efector inal, junto con la deinición de los parámetros de Denavit y Hartenberg (DH). Capítulo 6: Cinemática Forma la base fundamental para el diseño y control de un robot. Se calculan ecuaciones, relacionando las coordenadas de articulaciones con las coordenadas cartesianas del efector inal. Capítulo 7: Estática Cuando los robots se mueven lentamente, es suiciente considerar las fuerzas que actúan sobre los robots, independientemente de los movimientos que las causan. Esto se llama estática. Capítulo 8: Dinámica La dinámica es útil para el control y la representación virtual de un sistema robótico. Aquí se inieren diferentes metodologías, como las ecuaciones de movimiento de Euler-Lagrange y Newton-Euler. Prefacio xv Capítulo 9: Dinámica recursiva de robots* Se presenta la dinámica recursiva de robots, un conjunto de algoritmos modernos y avanzados. El asterisco (*) que hay junto al título indica que este capítulo puede saltarse en un curso de licenciatura o posgrado preliminar. Sólo deberá abordarse en el curso de posgrado avanzado dirigido a estudiantes de maestría y doctorado o por los que desean aceptar un proyecto de maestría o una investigación de doctorado en el área de la dinámica de robots. Capítulo 10: Se cubren las leyes de control lineal, P, PD, PID, estabilidad, etcétera. Capítulo 11: Planeación de movimientos Se analizan varios aspectos de la planeación de movimientos. Se calculan ecuaciones de planeación de trayectorias basadas en la articulación y en el espacio cartesiano. Capítulo 12: Computadoras para robots Una vez que los algoritmos se hayan desarrollado, es importante implementarlos en el hardware electrónico. Por ende, se describen diferentes programas de robots, tales como ACL, etcétera. Referencias Contiene la lista de libros, artículos y otras fuentes de las que se toman diferentes materiales para su uso en este libro. Apéndice A: Principios básicos de matemáticas Se introducen muchos conceptos básicos de álgebra lineal, teoría del control y otros que le ayudarán al lector en la comprensión de las expresiones que se usan en diferentes capítulos, en particular en los capítulos 5 a 10. Apéndice B: Uso de software de MATLAB y RIDIM Se explica cómo usar las dos aplicaciones de software, a saber: MATLAB y el software de desarrollo propio, RIDIM. Apéndice C: Estudios de caso, proyectos de estudiantes Se explican varios estudios de caso, es decir, robots desarrollados por estudiantes para competencias de robótica, así como para proyectos de licenciatura y posgrado. El libro cuenta con varios complementos que facilitan el proceso de enseñanza-aprendizaje. Para mayor información sobre este material de soporte, póngase en contacto con su representante local. Finalmente, es mi deber agradecer a las personas sin cuyo apoyo el libro no hubiese visto la luz del día. Fue un largo viaje desde abril de 1999, pero estoy feliz de que inalmente terminó; ciertamente, fue un esfuerzo “lento pero seguro” para mí. Después del profesor Gayatri Kansal, como mencioné anteriormente, quisiera recordar a mis estudiantes de posgrado, Mahesh Sharma, Subhashis Pati, T. Gopala Rao, Tamogna Das y Naveen Sukumar, por escribir algunas partes de los capítulos y dibujar varios diagramas para este libro. Estoy agradecido con S. S. Petkar, Arvind Patle, estudiantes del MTech, y con Pankaj Marothiya y Amit, estudiantes del BTech, por generar el código C++ para el desarrollo interno del software RIDIM (Recursive Inverse Dynamics for Industrial Manipulators) que se usa para resolver muchos ejemplos de este libro y que también está disponible en la página web del mismo. Estoy en deuda con dos de mis ex estudiantes de doctorado, Dr. Prasad Bhangale y Dr. Himanshu Chaudhary, por el uso del RIDIM durante su trabajo de investigación y por atestiguar su coniabilidad. Quisiera agradecer a muchos estudiantes del IIT Delhi, particularmente a los que han participado en las competencias ROBOCON bajo mi supervisión y que han mostrado gran entusiasmo para construir los múltiples robots en funcionamiento que aparecieron en el apéndice C. Gracias también al Dr. I. N. Kar, profesor titular del de- xvi Prefacio partamento de Ingeniería Eléctrica del IIT Delhi, por ofrecerse amablemente para la lectura del capítulo 10 sobre control y por darme sus comentarios oportunos al respecto. Agradezco en especial a Suril V. Dhah, un alumno que actualmente está estudiando su doctorado y que leyó meticulosamente los capítulos y me ayudó a preparar las soluciones a los problemas que se dan en los ejercicios de este libro. Me gustaría dar las gracias a los muchos revisores por sus valiosos comentarios que realmente han elevado la calidad de este libro. Revisores de la India A.K. Jha Departamento de Ingeniería Mecánica, Instituto de Tecnología, Banaras Hindu University (BHU), Varanasi Rajeev Gupta Departamento de Ingeniería Mecánica, Harcourt Butler Technological Institute (HBTI), Kanpur Shubhashis Sanyal Departamento de Ingeniería Mecánica, Government Engineering College, Raipur S. Natarajan Departamento de Ingeniería Mecánica, Global Academy of Technology, Bangalore Umesh M. Daivagna Departamento de Ingeniería Mecánica, Sei Taralabalu Jagadguru Institute of Technology, Ranebennur, Karnataka Arul Sanjivi Departamento de Tecnología de Producción, Amrita Viswa Vidya Peetham Deemed University, Coimbatore Tanmoy Mohanty Departamento de Ingeniería Mecánica, Kalinga Institute of Industrial Technology, Bhubaneswar D. R. K. Parhi Departamento de Ingeniería Mecánica, National Institute of Technology, Rourkela M. T. Puranik Departamento de Ingeniería Mecánica, Vishwakarma Institute of Technology, Pune Revisores internacionales Gregory P. Starr Harvey Lipkin Mark Minor Warren Dixon University of New Mexico, Albuquerque, USA Georgia Institute of Technology, USA University of Utah, Salt Lake City, Utah, USA University of Florida en Gainesville, USA Mis agradecimientos estarían incompletos si no menciono a Tata-McGraw Hill por estar de acuerdo con la publicación de este libro, así como a sus ejecutivos, Vibha Mahajan, Shukti Mukherjee, Surabhi Shukla, Sohini Mukherjee, Baldev Raj, Anjali Razdan y muchos otros en el fondo, por su convicción y ayuda. Sin ellos, el libro no se hubiera hecho realidad. Finalmente, mi familia —mi esposa Bulu y mi hija Esha— ha estado esperando mucho tiempo por más atención de mi parte, para pasar tiempo de familia conmigo. Les agradezco su paciencia, comprensión, apoyo y cooperación. Estoy convencido de que los lectores encontrarán este libro verdaderamente valioso en su calidad y lúcida presentación, de tal modo que podrán adquirir fácilmente los conocimientos Prefacio xvii requeridos. Sin embargo, tratándose de la primera edición, podrá contener algunos errores y fallas tipográicas involuntarias, y les ruego a los lectores que me las señalen en forma directa (saha@mech.iitd.ac.in) o que escriban a la página web del libro cuya dirección se ha mencionado anteriormente. ¡Feliz lectura! IIT Delhi 14 de febrero de 2008 Subir Kumar Saha xviii Apéndice A Principios básicos matemáticos Lista de abreviaturas ABU AC ADC AGV BRA CCD CID CNC CP CPL CPU CSG D DAC DAE DC DeNOC det. DH DOF Asian Broadcasting Union Corriente alterna Convertidor de análogo a digital Vehículo guiado automáticamente British Robot Association Dispositivo de carga acoplada Dispositivo de inyección de carga Control numérico por computadora Ruta continua Lenguaje de programación de computadoras Unidad central de procesamiento Geometría sólida constructiva Derivativo Convertidor de digital a análogo Ecuaciones algebraicas diferenciales Corriente directa Complemento ortogonal natural desacoplado Determinante Denavit y Hartenberg Grados de libertad Lista de abreviaturas DSP EL EMF GIM HaPRA I ISO JIRA JV KE LED LSI LVDT MCI MIMO MOS MTTF MTTR NASA NC NE NO NOC ODE P PD PE PI PID PLC PM PO PR PSD PTP PUMA RAM RIA RIDIM RNE RP Procesamiento digital de señales Euler-Lagrange Fuerza electromotriz Matriz de inercia generalizada Brazo robótico planar suspendido Integral International Standad of Organization The Japan Industrial Robot Association Variable articular Energía cinética Diodo de Emisión luminosa Integraciones de gran escala Transformador diferencial de variables lineales Matriz de inercia convectiva Múltiples entradas-múltiples salidas Semiconductor de óxido metálico Tiempo promedio entre fallas Tiempo promedio de reparación National Aeronautic Society of America Normalmente cerrado Newton-Euler Normalmente abierto Complemento ortogonal natural Ecuaciones diferenciales ordinarias Proporcional Proporcional derivativo Energía potencial Proporcional integral Proporcional integral derivativo Controlador lógico programable Imán permanente Porcentaje de sobrealimentación Revoluto o Rotacional prismático Detector sensible a la posición Punto a punto Programmable Universal Manipulator for Assembly Random Access Memory Robotics Institute of America Dinámica inversa recursiva para manipuladores industriales (Recursive Inverse Dynamics for Industrial Manipulators) Newton-Euler recursivo Revoluta o rotacional prismática xix xx RPL RUR RVDT SCARA SBEU SFED SFEU SISO TF WMR VCI VLSI 5P Lista de abreviaturas Lenguaje de programación de robots Rossum’s Universal Robots Transformador diferencial de variables rotativas Selective Compliance Assembly Robot Arm SBED Hombro atrás/codo abajo Hombro atrás/codo arriba Hombro al frente/codo abajo Hombro al frente/codo arriba Entrada única/salida única Función de transferencia Robot móvil sobre ruedas Vector de inercia convectiva Integraciones a muy grande escala Proper Planning Prevents Poor Performance (la planeación correcta impide el desempeño defectuoso) Lista de símbolos g ΠC q q̇ q̈ r τ τi we wi wi ẇ i ai Bij b bi, qi, ai, ai C c ci Vector n-dimensional de aceleraciones gravitacionales Potencia debida a la llave de torsión de restricción wC Vector n-dimensional de coordenadas generalizadas Vectores n-dimensionales de velocidades y aceleraciones, respectivamente Función spline Vector n-dimensional de fuerzas generalizadas debido a fuerzas y momentos externos Par torsional en cada articulación Vector tridimensional de velocidad angular del efector inal Vector tridimensional de velocidad angular del i-ésimo cuerpo Vectores tridimensionales de velocidad angular y aceleración del eslabón i, respectivamente Vector tridimensional denotando el punto Oi+1 de Oi Matriz de propagación de torsión 6 × 6 desde #i hasta #j Coeiciente de amortiguamiento Cuatro parámetros DH Matriz de n × n para términos de inercia convectiva (MCI) Número total de restricciones impuestas por articulaciones p Número de restricciones impuestas por cada articulación xxii Lista de símbolos ci ċi c̈i di ess ei fij g h I Ii ∼ Ii J k kp, kv, ki L M ∼ M Mi ∼ Mi ∼ ∼ ∼ M w , M i, M e mi m ∼ m N Nd Nl Nu n ni nij p p pi [p]F Vector tridimensional denotando el centro de masa Ci del origen F Vectores tridimensionales de velocidad y aceleración lineales del centro de masa del eslabón i, respectivamente Vectores tridimensionales de velocidad y aceleración lineal del centro de masa Ci desde el punto de origen Oi Error de estado estacionario Vector unitario tridimensional a lo largo del eje de la i-ésima articulación Vector tridimensional de la fuerza resultante ejercida sobre el eslabón i por el eslabón j en Oi Vector tridimensional de aceleración debida a la gravedad Vector n-dimensional de términos de inercia convectiva (VCI) Matriz de inercia generalizada de n × n (GIM) Tensor de inercia de 3 × 3 del i-ésimo cuerpo o eslabón alrededor de su centro de masa, Ci Tensor de inercia de 3 × 3 del i-ésimo cuerpo compuesto consistente de eslabones rígidamente conectados, a #iy #n Matriz jacobiana de 6 × 6 para un robot de n DOF Constante de resorte Ganancias proporcionales, derivativas e integrales, respectivamente Lagrangiano Matriz de masa generalizada de 6n × 6n Matriz de masa compuesta de 6n × 6n Matriz de masa de 6 × 6 para el i-ésimo cuerpo Matriz de masa de 6 × 6 para el i-ésimo cuerpo compuesto Matrices de 6n × 6n que constituyen MCI Masa del i-ésimo cuerpo Momento lineal Momento angular Matriz NOC de 6n × 6n Matriz de bloque diagonal de 6n × 6n de las matrices DeNOC Matriz triangular de bloque inferior de 6n × 6n de las matrices DeNOC Matriz triangular de bloque superior de 6n × 6n de las matrices DeNOC Grado de libertad del sistema completo Grado de libertad relativo de cada articulación Vector tridimensional del momento resultante ejercido sobre el eslabón i por el eslabón j en Oi Número de pares cinemáticos o articulaciones en el sistema Vector de posición de un punto P. El vector de posición de cualquier otro punto se representa de forma semejante Vector de propagación 6-dimensional de movimiento de articulación Representación del vector P en el sistema ijo F. Representación similar para otros sistemas Lista de símbolos Q Qi r ri s T T Tl Td t te ti · ti U W Wi wi w wE, wC ∼E w i x, y, z 1 O 0 [•]T xxiii Matriz de rotación de 3 × 3 Matriz de rotación de 3 × 3 transformando el sistema i al sistema i+1, es decir, cualquier representación vectorial en el sistema i+1 se premultiplica por esta matriz para encontrar la representación en el sistema i Número de cuerpos rígidos o eslabones en el sistema Vector tridimensional del origen Oi+1 desde el centro de masa Ci Dimensión del espacio de trabajo (para planar, s = 3; para espacial, s = 6) Energía cinética Matriz de transformación homogénea de 4 × 4 Matriz DeNOC triangular de 6n × 6n del bloque inferior Matriz DeNOC diagonal de bloque de 6n × 6n Vector 6n-dimensional de torsión generalizada Vector de torsión 6-dimensional del efector inal Vector de torsión 6-dimensional de torsión asociado al i-ésimo cuerpo Vector de rapidez de torsión 6-dimensional del i-ésimo cuerpo Energía potencial Matriz generalizada de 6 × 6 de las velocidades angulares Matriz de velocidad angular de 6 × 6 para el i-ésimo cuerpo Vector 6-dimensional de llave de torsión actuando sobre el i-ésimo cuerpo compuesto Vectores 6-dimensionales de llave de torsión generalizada Vectores 6-dimensionales de llaves de torsión externas y de restricción, respectivamente Vector 6-dimensional de llave de torsión externa para el i-ésimo cuerpo compuesto Vectores unitarios a lo largo de los ejes X, Y y Z, respectivamente. Notaciones similares para otros vectores unitarios Matriz identidad de dimensión compatible Matriz de dimensión compatible en donde todos sus elementos son ceros Vector de dimensión compatible en donde todos sus elementos son ceros Transpuesta del argumento [•] DEMOSTRACIÓN PASO A PASO Capítulo 1 Introducción El tema de la Robótica es relevante en el plan de estudios de ingeniería hoy en día debido a la capacidad de los robots para realizar trabajos incesantes y peligrosos. Un robot sólo tiene sentido cuando su intención es la de relevar a un trabajador humano de una labor aburrida, desagradable o demasiado precisa. Normalmente, un robot es diseñado para que asista a un trabajador humano. Al contrario de lo que por lo general se cree, en realidad no es más rápido que los humanos en la mayoría de las aplicaciones, pero es capaz de mantener su velocidad durante un largo periodo. De esto resulta que la productividad aumenta si la cantidad de piezas que se va a producir es muy grande. Además, la inteligencia de los robots más avanzados de la actualidad no se acerca a la humana. Por lo tanto, la introducción de un robot en un proceso sin el entendimiento real de los beneÝcios que puede proporcionar sería desastrosa y no es aconsejable. 1.1 Los cuadros de texto en cada capítulo proporcionan hechos históricos e información relacionada con el tema para complementar el conocimiento obtenido a través del texto del libro. Historia Aunque la idea de los robots se remonta a tiempos antiguos, hace más de 3 000 años en la leyenda hindú de los elefantes mecánicos (Fuller, 1999), la palabra robot se usó por primera vez en 1921, en la obra de teatro Rossum’s Universal Robots (RUR), escrita por el checo Karel 6apek (1890-1938). En la obra RUR (Dorf, 1988), un fabricante Ýcticio de criaturas mecánicas diseñaba robots para reemplazar a trabajadores humanos. EÝcientes pero completamente faltos de emociones, Origen de la palabra robot El origen de la palabra robot puede ser encontrado en la palabra checa robota, que significa “trabajo forzado” u “obligatorio”. Las fotos de robots en la práctica y sus aplicaciones reales ofrecen un entendimiento y utilidad verdadera del tema que cubre este libro. Introducción a) Figura 1.4 7 b) Un AGV: a) autónomo; b) trabajando (recogiendo un bastidor con puertas de automóvil) [Cortesía de: www.globalspec.com] ii) Robots caminates Estos robots caminan como seres humanos, como se mues- tra en la Ýgura 1.6. Se usan en los ejércitos, en la exploración subacuática y en lugares de terreno accidentado. iii) Robots paralelos Como lo indica su nombre, estos robots tienen una conÝguración paralela, en contraste con la estructura de tipo serial de un robot industrial como los que se ven en las Ýguras 1.1 y 1.3. En este sentido, un robot caminante con todas sus patas en contacto con el suelo es un robot paralelo. Como se muestra en la Ýgura 1.7, también se usa una estructura paralela con seis patas para controlar la plataforma móvil como simulador de vuelo para la capacitación de futuros aviadores. Como se ve en la misma Ýgura, la estructura tiene seis patas para controlar la plataforma móvil. Estos robots también se usan a) Una rueda Mekanum b) Un AGV Figura 1.5 Un vehículo guiado automáticamente (AGV) con ruedas Mekanum [Cortesía de Ángeles (2003)] seguridad varían de un país a otro y son esenciales para asegurar que toda instalación cumpla con la legislación local. La seguridad se reÝere principalmente a mantener al personal fuera del alcance de trabajo del robot y sirve para asegurar que los movimientos puedan detenerse fácilmente en caso de una emergencia. Para este Ýn, los robots tienen cadenas de seguridad dual o cadenas de marcha integradas. Éstos son dos circuitos paralelos que detendrán el movimiento del robot cuando sean interrumpidos. También se prevén conexiones externas, incluidos los paros de emergencia. Asimismo, cabe mencionar que casi todos los robots tienen frenos de disco operados eléctricamente en cada eje, y activados sólo si se aplica la energía para soltarlos. Por lo tanto, en caso de un corte del suministro eléctrico o si el paro de emergencia es aplicado, el robot se detiene en seco, en una fracción de segundo, en su posición. No sufre un colapso y retiene sus datos posicionales y de programa. Los resúmenes al final de cada capítulo dan una visión general del tema que se ha explicado. RESUMEN En este capítulo se presentan los robots, su historia, deÝniciones, categorías, aplicaciones y poblaciones. También se exponen las leyes de robótica y cuándo deben usarse los robots. EJERCICIOS 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 ¿Qué es un robot? ¿Cuáles son los tipos de robots? Mencione algunas aplicaciones típicas de un robot industrial. ¿Cuáles son las diferencias entre un robot y una máquina-herramienta CNC? ¿Cómo debe decidirse sobre el uso de un robot para un determinado trabajo? ¿Qué son las cuatro D de la robótica? ¿Qué es R.U.R.? ¿Cuáles son las leyes de la robótica? Anote las diferencias entre robots seriales y paralelos. ¿Cuáles son los problemas de seguridad en el uso de robots? Los ejercicios basados en la web mantienen a los lectores al corriente de los últimos desarrollos en este campo. EJERCICIOS BASADOS EN LA WEB Basándose en búsquedas en la web, conteste las siguientes preguntas: 1.11 1.12 1.13 1.14 Busque nombres de diferentes fabricantes de robots. ¿Cómo se especiÝca un robot industrial? ¿Cuál es la población de robots en el mundo? ¿Qué industria es considerada el usuario más grande de robots industriales de tipo serial? 1.15 ¿Cuáles son las áreas nuevas de aplicaciones de robots? 3.4 La selección de componentes (motores en este ejemplo) y los cálculos necesarios, ofrecen al estudiante un planteamiento práctico del tema y proporcionan información útil al ingeniero en planta para las aplicaciones de productos reales. Selección de motores Para cualquier aplicación de robots tiene que decidirse cuál de los actuadores disponibles es el más adecuado. Tiene que tomarse en consideración precisión de posicionamiento, conÝabilidad, velocidad de operación y costo, así como otros factores. Los motores eléctricos son por naturaleza limpios y con capacidad para trabajar con alta precisión si son operados correctamente. En contraste, los sistemas neumáticos no son capaces de operar una trayectoria continua de alta precisión, y los actuadores hidráulicos requieren del uso de aceite a presión. Los sistemas hidráulicos pueden generar mayor potencia en un volumen compacto que en los motores eléctricos. El aceite a presión puede conducirse por tuberías hacia actuadores sencillos, capaces de generar pares de torsión con altos valores y operaciones rápidas. También hay que tomar en cuenta que la potencia necesaria para controlar una válvula electrohidráulica es pequeña. Básicamente, este trabajo se realiza mediante la compresión del aceite y suministrarlo a los accionamientos del brazo del robot. Toda la energía puede ser suministrada por un solo motor eléctrico poderoso y eÝciente que acciona la bomba hidráulica que está en la base del robot o ubicada en alguna distancia. La potencia es controlada en válvulas electrohidráulicas compactas. Sin embargo, las válvulas electrohidráulicas de alta precisión son más costosas y menos conÝables que los ampliÝcadores y controladores eléctricos de baja potencia. Por otra parte, los motores eléctricos deben tener controles individuales capaces de controlar su potencia. En robots de mayores dimensiones, esto requiere la conmutación de 10 a 50 amperios con 20 a 100 voltios. La conmutación de la corriente tiene que ser rápida; de lo contrario, habrá una gran disipación de potencia en el circuito de conmutación que causará un exceso de calor. Los motores eléctricos pequeños usan circuitos de conmutación sencillos y son fáciles de controlar por medio de los circuitos de baja potencia. Los motores a pasos son particularmente sencillos para la operación de un lazo abierto. La ventaja más grande de un sistema hidráulico es la seguridad de su operación. Como regla general, se preÝeren actuadores hidráulicos donde se requieren movimientos rápidos con altos pares de torsión, en rangos de potencia que estén aproximadamente en el orden de los 3.5 kW, a menos que no pueda tolerarse la ligera posibilidad de una fuga de aceite. Los motores eléctricos son preferidos para niveles de potencia que estén por debajo de a 1.5 kW aproximadamente, a menos que haya un peligro debido al posible incendio de materiales explosivos. En rangos entre 1-5 kW, podrá determinar la decisión la disponibilidad de un robot en un sistema de coordenadas particular con características especíÝcas o por un costo más bajo. La conÝabilidad de todo tipo de robots manufacturados por fabricantes reconocidos industrialmente es suÝcientemente buena. No obstante esto no es el factor más determinante. 3.4.1 Cálculos Se necesitan cálculos matemáticos simples para determinar el par torsor, velocidad y características de potencia de un actuador o motor para diferentes aplicaciones. El par torsor se deÝne en términos de una fuerza multiplicada por distancia o momento. Una fuerza f, a la distancia a del centro de rotación, tiene un momento o par torsor t, o sea t = fa. En términos th21=atan2(s21,c21); th22=atan2(s22,c22); th23=pi-th21; th24=pi-th22; %Angles in degree r2d=180/pi; th11d=th11*r2d, th12d=th12*r2d, th21d=th21*r2d, th22d=th22*r2d, th23d = th23*r2d, th24d = th24*r2d, th31d=th31*r2d, th32d=th32*r2d 6.2.3 Una muñeca Considere la muñeca de la igura 6.9, cuyas relaciones cinemáticas pueden darse mediante la ecuación (6.12). Se buscan las variables de las articulaciones ␪1, ␪2 y ␪3, correspondientes a una orientación del efector inal Q con la siguiente forma: LMq MM N 11 Q ∫ q21 q31 q12 q13 q 22 q23 q32 q33 OP PP Q donde qij para i, j = 1, … 3 son los elementos de la matriz de bloque Q de la matriz de transformación homogénea T, ecuación (6.12). Entonces es posible computar las soluciones de los ángulos de las articulaciones directamente como q1 = a tan 2 (q23, q13) q2 = a tan 2 FH (6.30a) 2 2 , q33 q13 + q23 IK (6.30b) (6.30c) q3 = a tan 2 (–q32, q31) para ␪2 entre 0 y ␲. Observe que si se permite que cada articulación gire 360º, existen dos posibles soluciones para los últimos tres desplazamientos de las articulaciones. En efecto, ya que las ecuaciones (6.30a-c) involucran la función de arcotangente, el ángulo ␪1 podrá tener dos valores que se encuentran a 180º. Las dos coniguraciones que corresponden a las dos soluciones se ilustran en la igura 6.9. Z1 #3 #3 Z3, Z4 Los conceptos complejos, como las rotaciones, se explican con diagramas detallados y expresiones matemáticas. X3, X4 #2 #2 Z2 X1, X2 #1 Solución ␪i(1) #1 Solución ␪i(2) Figura 6.9 Múltiples configuraciones de la muñeca Tq = LMCq MM Sq MN 00 i i - Sq i Cq i 0 0 0 0 1 0 OP PP PQ 0 0 0 1 (5.49b) La resultante transformación de coordenadas entre los sistemas conectados con los cuerpos i – 1 e i, es decir, Ti, se obtiene ahora mediante la posmultiplicación de las cuatro transformaciones elementales de arriba, como se hace en la ecuación (5.31d), es decir, Ti = Tb Tq Ta Ta (5.50a) La expresión Ti también puede leerse como matriz de transformación del sistema adjuntado al cuerpo i, es decir, sistema i + 1, como se representa en el sistema incorporado al cuerpo i – 1, es decir, sistema i. Por medio de sustitución de las expresiones de matriz de las ecuaciones (5.49 a-d) a la ecuación (5.50a), se obtiene la siguiente expresión: Ti = Ejemplo 5.24 Los ejemplos de la programación MATLAB ayudan al estudiante a resolver problemas complejos con facilidad. LMCq MM Sq MN 00 i i - Sq i Ca i Cq i Ca i Sq i Sa i - Cq i Sa i ai Cq i a i Sq i Sa i 0 Ca i 0 bi 1 OP PP PQ (5.50b) Obtenga la ecuación (5.50b) por medio de MATLAB Para obtener la ecuación (5.50b), las operaciones simbólicas tienen que ejecutarse en MATLAB. Para este in, se usan los siguientes comandos: >syms bi thi ai ali; >tbm=[1,0,0,0;0,1,0,0;0,0,1,bi;0,0,0,1]; >tthm=[cos(thi),-sin(thi),0,0;sin(thi),cos(thi),0,0;0,0,1,0;0,0,0,1]; >tam=[1,0,0,ai;0,1,0,0;0,0,1,0;0,0,0,1]; >talm=[1,0,0,0;0,cos(ali),-sin(ali),0; 0,sin(ali),cos(ali),0; 0,0,0,1]; >tim=tbm*tthm*tam*talm tim = [ cos(thi), -sin(thi)*cos(ali), sin(thi)*sin(ali), cos(thi)*ai] [ sin(thi), cos(thi)*cos(ali), -cos(thi)*sin(ali), sin(thi)*ai] [ 0, sin(ali), cos(ali), bi] [ 0, 0, 0, 1] donde el comando “syms” se usa para deinir las variables simbólicas “bi”, “thi”, “ai” y “ali” para los parámetros DH bi, qi, ai y ai, respectivamente. Además, se usan las notaciones “tbm”, “tthm”, “tam” y “talm” para representar las matrices Tb, Tq, Ta y Ta, dadas por las ecuaciones (5.49a-d), respectivamente. Finalmente, la resultante matriz Ti denotada como “tim” en el ambiente de MATLAB, se evalúa arriba, lo que coincide con la ecuación (5.50b). esfera unitaria de n dimensiones en el espacio torsional de la articulación se traza sobre un cilindro de 6 dimensiones en el espacio de fuerza del efector inal. De este modo, la ventaja mecánica del manipulador se torna ininitamente grande en alguna dirección. RESUMEN En este capítulo se derivan los pares de torsión que se requieren para ejercer una fuerza y un momento por el efector inal mientras el robot está en equilibrio estático. Se demuestra cómo el jacobiano de velocidad entra en consideración en el análisis estático. Finalmente, se da una interpretación física de la matriz Jacobiana en el dominio de la fuerza. EJERCICIOS 7.1 7.2 7.3 7.4 ¿Qué es un equilibrio estático en la robótica? ¿Cómo se relacionan las matrices de propagación de torsión y de llave de torsión? Deine el desplazamiento y el trabajo virtuales. ¿Cómo entra en consideración la matriz del jacobiano de velocidad en el análisis estático? 7.5 ¿Qué le pasaría a las fuerzas del efector inal si se aplicaran pares de torsión de articulación mientras el jacobiano asociado fuese singular? 7.6 Extraiga la matriz jacobiana para el brazo planar rotacional-prismático (RP) del ejemplo 7.2. 7.7 Busque la expresión de la matriz Jacobiana arriba mencionada en el sistema ijo. 7.8 ¿Por qué es importante el concepto de elipsoide de fuerza en el estudio de la estática? 7.9 ¿Qué pasa si uno de los ejes principales del elipsoide de fuerza desaparece? 7.10 Derive las expresiones del par de torsión y fuerza para el brazo planar prismáticorotacional (PR) que se presenta en la igura 5.26 si se aplica la fuerza fe del efector inal y no se consideran los pesos de eslabones. Los ejercicios basados en MATLAB aumentan las destrezas para la solución de problemas. EJERCICIOS BASADOS EN MATLAB 7.11 Veriique los resultados del ejercicio 7.7 usando un programa MATLAB. 7.12 Veriique los resultados del ejercicio 7.10. 7.13 Busque las expresiones de par torsional para el robot SCARA que se presenta en la igura 5.28. 7.14 Averigüe los pares torsionales para el brazo antropomórico del ejemplo 7.6, mientras ␪1 = ␪2 = 0 y ␪3 = ␲/2. 7.15 ¿Cuáles son los valores del par torsional para la muñeca esférica que se muestra en la igura 5.30 si se aplica solamente un momento ne en su efector inal? El software de desarrollo propio no sólo permite que el lector obtenga resultados para problemas complejos, sino también ofrece la posibilidad de escribir nuevos programas basados en los ya existentes. DINÁMICA INVERSA RECURSIVA DE MANIPULADORES INDUSTRIALES DR. S.K. SAHA DEPARTAMENTO DE INGENIERÍA MECÁNICA INSTITUTO DE TECNOLOGÍA DE LA INDIA, DELHI SIGUIENTE CANCELAR Figura 9.5 2. 3. 4. 5. Interfaz de MS-Windows de RIDIM separación articular, ángulo articular, longitud de eslabón y ángulo de torsión, respectivamente. Historial de tiempo del parámetro DH variable, es decir, qi para un par rotacional y bi para una articulación prismática, así como su primera y segunda derivada en el · · tiempo, es decir, qi, bi, y q¨i, b̈i, respectivamente. Masa de cada cuerpo mi. Vector que denota la distancia de la (i + 1)ésima articulación del iésimo centro de masa Ci en el (i + 1)ésimo sistema de referencia, es decir, [ri]i+1. Tensor de inercia del iésimo eslabón alrededor de su centro de masa Ci en el (i + 1) ésimo sistema [Ii]i+1. Observe que RIDIM tiene las siguientes características: • • Puede manejar manipuladores con pares o articulaciones tanto rotacionales o revolutas como prismáticas: Toma en cuenta la gravedad, pues considera la aceleración negativa debido a la gravedad denotada por g al primer cuerpo #1, como se muestra en la ecuación (9.32). Ejemplo 9.3 Dinámica inversa de un manipulador planar de tres DOF En la igura 9.6 se presenta el manipulador de tres eslabones en estudio, cuyos parámetros DH e inerciales se muestran en la tabla 9.2. Se supone que el manipulador se mueve en el plano X-Y, donde la gravedad está trabajando en la dirección negativa Y. Suponga que i y j son los dos vectores unitarios paralelos a los ejes X y Y, respectivamente, Tabla A.1 Evaluación de la función “Atan2” x Atan2(y, x) +ve 0 –ve Atan(z) Sgn(y) p/2 Atan(z) + Sgn(y)π la tabla Atan2(–1, 1) = p/4 y Atan2(1, –1) = 3p/4, mientras que Atan(–1) devuelve –p/4 en ambos casos. A.2 Vectores Los principios básicos matemáticos repasan rápidamente los fundamentos matemáticos necesarios para los temas cubiertos en el libro, sin la necesidad de consultar inmediatamente otras fuentes. Mientras no se señale algo diferente, los vectores serán deinidos como vectores de columna y denotados con letras minúsculas en negrillas. Por ende, un vector a n-dimensional se deine como LM a OP MM ⋮ PP Na Q 1 a ∫ (A.2) n donde a1, …, an son los elementos del vector a. El vector a también puede representarse como (A.3) a ∫ [a1, º, an]T donde el superíndice T denota transposición. La magnitud, longitud o norma del vector a, denotada con letras itálicas, se determina por a = A.2.1 aTa = a12 + º + an2 (A.4) Vectores unitarios Un vector unitario se deine como un vector con magnitud igual a 1. Por tanto, el vector unitario a lo largo del vector a, denotado con a, puede deinirse como a (A.5) a = a donde a se determina por la ecuación (A.4). Por ende, la magnitud del vector unitario a es a = 1. Ahora, si i, j y k denotan los vectores unitarios a lo largo de los ejes X, Y y Z, respectivamente, del sistema de coordenadas como se presenta en la igura A.1, cualquier vector cartesiano tridimensional que se muestra en la igura A.1, por decir, a ≡ [a1, a2, a3]T, puede expresarse como a = a1 i + a2 j + a3 k (A.6) en la que los vectores unitarios i, j y k tienen las siguientes representaciones: LM OP MM PP NQ LM OP MM PP NQ LM OP MM PP NQ 1 0 0 i ∫ 0 ,j∫ 1 ,y k∫ 0 0 0 1 (A.7) Los robots construidos por estudiantes le dan a los lectores la confianza para crear sus propios robots que, ciertamente, aumentarán sus conocimientos acerca de estos temas. Figura C.2 Robot automático de 2007 Figura C.3 Robot manual de 2007 mecanismo de un paralelogramo de cuatro barras para el robot manual de la igura C.3. Este último puede extenderse casi medio metro enfrente del robot para poder colocar el bloque dentro de la línea de límite del polígono de 10 lados. Una vez terminado el diseño, el siguiente nivel de desafío es su fabricación, ensamble, programación y funcionamiento exitoso. Según la experiencia del autor, normalmente deberán revisarse los siguientes aspectos para completar este tipo de proyecto con éxito: 1. Una planeación correcta, tomando en cuenta las 5 P (Proper Planning Prevents Poor Performance —la planeación correcta impide el desempeño defectuoso—). 2. Cada estudiante debe llevar una bitácora de proyecto para registrar actividades diarias, esbozos, informaciones, etc. 3. Seguimiento estricto de un diagrama de Gantt bien planeado. Un típico diagrama Gantt se presenta en la igura C.4. En caso de que no pueda cumplirse con las fechas límite, deberán averiguarse las causas y deben tomarse medidas sin redeinición del diagrama de Gantt. De hecho, el calendario actual podrá colocarse debajo del calendario planeado. 4. Es de extrema importancia que los estudiantes aprendan cómo trabajar en grupo. En particular, los coordinadores de diferentes tareas, por ejemplo, mecánico, eléctrico, fabricación, etc., deberán saber cómo distribuir el trabajo entre otros miembros de sus grupos. De lo contrario, ellos terminarán haciendo la mayor parte de los trabajos mientras que otros no tendrán trabajo. Este último grupo podrá frustrarse e incluso abandonar el proyecto. Capítulo 1 Introducción El tema de la Robótica es relevante en el plan de estudios de ingeniería hoy en día debido a la capacidad de los robots para realizar trabajos incesantes y peligrosos. Un robot sólo tiene sentido cuando su intención es la de relevar a un trabajador humano de una labor aburrida, desagradable o demasiado precisa. Normalmente, un robot es diseñado para que asista a un trabajador humano. Al contrario de lo que por lo general se cree, en realidad no es más rápido que los humanos en la mayoría de las aplicaciones, pero es capaz de mantener su velocidad durante un largo periodo. De esto resulta que la productividad aumenta si la cantidad de piezas que se va a producir es muy grande. Además, la inteligencia de los robots más avanzados de la actualidad no se acerca a la humana. Por lo tanto, la introducción de un robot en un proceso sin el entendimiento real de los beneficios que puede proporcionar sería desastrosa y no es aconsejable. 1.1 Historia Aunque la idea de los robots se remonta a tiempos antiguos, hace más de 3 000 años en la leyenda hindú de los elefantes mecánicos (Fuller, 1999), la palabra robot se usó por primera vez en 1921, en la obra de teatro Rossum’s Universal Robots (RUR), escrita por el checo Karel Čapek (1890-1938). En la obra RUR (Dorf, 1988), un fabricante ficticio de criaturas mecánicas diseñaba robots para reemplazar a trabajadores humanos. Eficientes pero completamente faltos de emociones, Origen de la palabra robot El origen de la palabra robot puede ser encontrado en la palabra checa robota, que significa “trabajo forzado” u “obligatorio”. 2 CAPÍTULO 1 Introducción se pensaba al principio que estos robots eran mejores que las personas, puesto que hacían lo que se les ordenaba sin preguntar. Al final, los robots se volvieron contra sus amos. Acabaron con la raza humana, salvo un solo hombre para que pudiera seguir produciendo más robots. Desgraciadamente, la fórmula se había perdido en la destrucción causada por los robots. Este sentimiento de odio hacia los robots parece existir hasta hoy. El miedo de que vayan a apoderarse del trabajo de las personas ha dado como resultado el retraso en el desarrollo en esta área. Sin embargo, Isaac Asimov, en sus historias de ciencia ficción de los años cuarenta, se imaginaba al robot como ayudante de la humanidad y postulaba tres reglas básicas para robots. Por lo general, éstas se conocen como las leyes de la robótica. Las leyes de la robótica 1. Un robot no debe dañar a un ser humano ni, por su inacción, dejar que un ser humano sufra daño. 2. Un robot debe obedecer las órdenes que le son dadas por un ser humano, excepto si éstas entran en conflicto con la primera ley. 3. Un robot debe proteger su propia existencia, a menos que ésta entre en conflicto con las dos primeras leyes. Más tarde, Fuller (1999) introdujo una cuarta ley que dice: 4. Un robot podrá tomar el trabajo de un ser humano, pero no debe dejar a esta persona sin empleo. Existen intentos de apegarse a estas leyes de la robótica, pero no hay modos automáticos para su impleEl porqué del nombre mentación. Por ejemplo, lo más probable es que el roUNIMATION bot militar, por su propia naturaleza, se haya diseñado con la intención de romper estas reglas. La mayoría La palabra UNIMATION es la contracción de los términos UNIversal y aude los robots industriales de la actualidad están disetoMATION, debido a la creencia de ñados para trabajar en ambientes que son peligrosos y que el robot es una herramienta unimuy difíciles para trabajadores humanos. Por ejemplo, versal que puede usarse para muchos tipos de tareas. la mano de un robot puede diseñarse para la manipulación de un objeto muy caliente o muy frío, que la mano humana no podría manipular de manera segura. Inspirado por los libros de Asimov sobre robots, Joseph H. Engelberger intentó diseñar un robot trabajador en la década de los cincuenta. Junto con George C. Devol, fundó la empresa UNIMATION Robotics Company en 1958 Sin embargo, el primer robot de esta compañía fue instalado hasta 1961, en la compañía automotriz de General Motors en Nueva Jersey, Estados Unidos. Se trataba de un molde automatizado de fundición para dados (o matrices) que arrojaban manijas de puertas al rojo vivo, así como otras partes de autos dentro de tanques con refrigerante en una línea que las transportaba hacia los trabajadores para su recorte y pulido. Su característica más interesante era una tenaza sobre una armadura de acero que eliminaba la necesidad de que un operario tocara piezas de acero fundido de autos recién fabricados. Este robot tenía 5 grados de libertad (Degrees of freedom: DOF), pero había algunas aplicaciones donde se requerían 6 DOF. La figura 1.1 muestra un robot Unimate con 6 DOF. Desde entonces, la robótica ha evolucionado en un sinnúmero de aplicaciones, desde su uso en soldadura, pintura, ensamble, carga y descarga de herramentales de máquinas, 1.1 Historia a) Fotografía de un robot Unimate [Cortesía de http://www.robothalloffame.org/unimate.html] Armado para el servicio. Un manipulador Unimate —en realidad sólo un brazo— levanta y coloca piezas en una planta de General Electric. Movimiento Movimiento radial Cabeceo (Pitch) Movimiento vertical Rotación (Yaw) Balanceo (Roll) b) Bosquejo de un robot Unimate [Cortesía de Critchlow (1985)] Figura 1.1 Robot Unimate 3 4 CAPÍTULO 1 Introducción inspección, agricultura, enfermería, cirugía médica, usos militares y seguridad hasta las exploraciones subacuáticas y del espacio. La mayoría de estos robots se siguen usando en la soldadura (aprox. 25%) y en el montaje (aprox. 33%). Los últimos en la serie son el Pathfinder Lander y el microrover Sojourner, que aterrizó en Marte el 4 de julio de 1997. Éstos fueron desarrollados por la National Aeronautic Society of America (NASA) de Estados Unidos. Las figuras 1.2 a) y b), respectivamente, muestran el Mars Pathfinder Lander y el microrover Sojourner. a) Pathfinder Lander con el microrover a bordo afuera. b) Microrover Sojourner Figura 1.2 Sistemas robóticos para la exploración de Marte [Cortesía: http://mpfwww.jpl.nasa.gov] 1.2 1.2 Robots 5 Robots El robot se define, de manera formal en la Organización Internacional para la Estandarización (ISO), como un manipulador multifuncional reprogramable, capaz de mover materiales, piezas, herramientas o dispositivos especiales, a través de movimientos variables programados, para Máquinas-herramienta el desempeño de tareas diversas. Existen otras definicon control numérico ciones dadas por otras asociaciones, como por ejemcomputarizado (CNC) plo, el Robotics Institute of America (RIA), la Japan vs. Robots Industrial Robot Association (JIRA), la British Robot Las máquinas-herramienta con conAssociation (BRA) y otras. Todas ellas coinciden en trol numérico computarizado (CNC) se distinguen de los robots porque dos puntos: la capacidad de reprogramación y la muléstos tienen capacidades de reprotifuncionalidad de los robots. gramación y multifuncionalidad. En términos generales, los robots son clasificados como industriales, no industriales o para usos especiales. Un típico robot industrial fabricado por la compañía Cincinnati Milacron de Estados Unidos se muestra en la figura 1.3a) y un robot indio apropiado para aplicaciones industriaExtensión del codo Pivote del hombro Rotación Balanceo Movimiento del brazo Cabeceo a) Cincinnati Milacron (T3) [Cortesía: Koivo (1989)] 6 CAPÍTULO 1 Introducción b) Robot pick and place de Systemantics India Figura 1.3 Robots industriales les ligeras se puede ver en la figura 1.3b). Estrictamente hablando, un robot es un manipulador controlado por una computadora. En el estudio de la robótica, sin embargo, siempre se supone que un manipulador como el que se muestra en la figura 1.3 es controlado por computadora. Por lo tanto, puede ser considerado un robot. El objetivo de los robots industriales es el de servir a un propósito universal y de mano de obra no calificada o semicalificada, por ejemplo, para soldar, pintar, realizar mecanizados, etc. Por otro lado, un robot de uso especial es el que se emplea en ambientes distintos del entorno normal de una fábrica. Por ejemplo, un robot de serie montado sobre una nave espacial para la recuperación de un satélite defectuoso o para volver a colocarlo después de la reparación puede ser considerado un robot de uso especial. El rover Sojourner de la figura 1.2b) también puede calificarse como robot de uso especializado. Otros robots de uso especial se clasifican como sigue: ¿Es AGV lo mismo que WMR? i) Vehículos guiados automáticamente (AGV) Son sistemas robóticos móviles que se usan comúnmente para el manejo de materiales en fábricas. Las figuras 1.4a) y b), respectivamente, muestran un AGV de este tipo y su aplicación en el manejo de materiales. Por lo general, estos AGV siguen una trayectoria que está señalada en el piso de la nave. También existen AGV autónomos que no necesitan una trayectoria cableada. Asimismo, hay características adicionales, por ejemplo, la capacidad de movimiento omnidireccional, como se muestra en la figura 1.5. Las ruedas omnidireccionales o MekAGV vs. robots anum de la figura 1.5a), a diferencia de las ruedas caminante convencionales de dos grados de libertad (DOF) Un robot caminante es otro tipo de que se usan en automóviles y otros AGV, proporciorobot móvil, en el cual se usan patas nan tres DOF; es decir, estos AGV también pueden en lugar de ruedas para la locomomoverse lateralmente. Los AGV se usan asimismo ción como es el caso de los AGV. Por lo tanto, un robot caminante es disen hospitales en enfermería, en vigilancia y otras tinto de un AGV o WMR. aplicaciones. Un vehículo guiado automáticamente (AGV) es un tipo de robot móvil que tiene ruedas para su locomoción. Por lo tanto, también se llama robot móvil con ruedas (WMR). Resulta entonces que un AGV es lo mismo que un WMR. 1.2 a) Robots 7 b) Figura 1.4 Un AGV: a) autónomo; b) trabajando (recogiendo un bastidor con puertas de automóvil) [Cortesía de: www.globalspec.com] ii) Robots caminates Estos robots caminan como seres humanos, como se muestra en la figura 1.6. Se usan en los ejércitos, en la exploración subacuática y en lugares de terreno accidentado. iii) Robots paralelos Como lo indica su nombre, estos robots tienen una configuración paralela, en contraste con la estructura de tipo serial de un robot industrial como los que se ven en las figuras 1.1 y 1.3. En este sentido, un robot caminante con todas sus patas en contacto con el suelo es un robot paralelo. Como se muestra en la figura 1.7, también se usa una estructura paralela con seis patas para controlar la plataforma móvil como simulador de vuelo para la capacitación de futuros aviadores. Como se ve en la misma figura, la estructura tiene seis patas para controlar la plataforma móvil. Estos robots también se usan a) Una rueda Mekanum Figura 1.5 b) Un AGV Un vehículo guiado automáticamente (AGV) con ruedas Mekanum [Cortesía de Ángeles (2003)] 8 CAPÍTULO Figura 1.6 1 Introducción El robot caminante de la Universidad Estatal de Ohio, un hexápodo [Cortesía de Todd (1985)] como máquina-herramientas y como robots médicos para reducir el temblor de la mano del cirujano durante una operación, etc. La figura 1.8 muestra el uso de un robot paralelo de una máquina fresadora. En este libro sólo se analizarán los robots industriales de tipo serial, como los que se ven en las figuras 1.1 y 1.3. Sin embargo, las herramientas usadas o desarrolladas aquí pueden extenderse para analizar otros robots, como AGV, paralelos y similares. 1.3 El uso de robots Los robots de cualquier tipo, industrial o no industrial, no son tan rápidos ni tan eficientes como las máquinas automatizadas de uso especial. Sin embargo, estos robots pueden fácilmente reentrenarse o reprogramarse para realizar un sinfín de tareas, mientras que una máquina automatizada de uso o propósito especial, incluso una máquina CNC, sólo puede Figura 1.7 Robot paralelo para un simulador de vuelo [Cortesía de biostavart.tripod.com] 1.3 El uso de robots 9 Figura 1.8 Robot paralelo que funciona como fresadora [Cortesía de: http:// biotsavart.tripod.com/hexapod.htm#HISTORY] realizar una serie de labores muy limitada. Es el grado de reprogramabilidad lo que distingue un robot de una máquina-herramienta de CNC. Sin embargo, no hay ninguna línea de demarcación internacionalmente reconocida. Queda la pregunta, pues, sobre cuándo debe considerarse que un determinado trabajo ha de ser ejecutado por una persona, un robot o una máquina especial. La respuesta a esta pregunta no es sencilla. Algunas normas generales pueden servir para proponer factores significativos que deben tenerse presentes. Reglas generales para la decisión sobre el uso de un robot 1. La primera regla por considerar se refiere a lo que se conoce como Las cuatro D de la robótica (Four Ds of Robotics), es decir, si la tarea es sucia (Dirty), aburrida (Dull), peligrosa (Dangerous) o difícil (Difficult). De tener una de estas características, un ser humano probablemente no será capaz de ejecutar la tarea en forma eficiente. Por lo tanto, es un trabajo apropiado para que se le automatice o para que lo realice un robot. 2. La segunda regla es que un robot no debe dejar a un ser humano sin trabajo o desempleado. La robótica y la automatización deben servir para hacer nuestra vida más placentera, no más desagradable. 3. La tercera regla implica cuestionarse si es posible o no encontrar personas dispuestas a realizar el trabajo. De no ser así, dicho trabajo es candidato para la automatización o la robótica. Ciertamente, esto debería ser un motivo primordial para el crecimiento de la automatización y de la robótica. 4. La cuarta regla general es que el uso de robots o de automatización debe tener beneficios económicos a corto y largo plazos. 10 CAPÍTULO 1 Introducción Así, como punto de partida general, consideraremos lo siguiente: una tarea que tiene que realizarse una sola vez o unas cuantas veces y que no es peligrosa es mejor que la efectúe un ser humano. Después de todo, él es la más flexible de todas las máquinas. En cambio, será mejor que una tarea que tenga que ser hecha cientos o cientos de miles de veces sea ejecutada por una máquina automatizada flexible, como un robot industrial. Y una tarea que debe realizarse un millón de veces o más, probablemente sea mejor que se efectúe mediante la construcción de una máquina altamente automatizada de uso especial. 1.3.1 Aplicaciones En todo el mundo, los robots se usan más extensiva y ampliamente en la industria automotriz. En los últimos tiempos, sin embargo, además de este sector, una fuerte demanda de la industria de componentes electrónicos, de la industria de equipos de comunicación y de la de computadoras están reforzando el incremento de la participación en el mercado. La figura 1.9 muestra la distribución estimada de aplicaciones de robots en diferentes sectores en los años 2004 y 2005. 1.3.2 Población La figura 1.10 muestra la población estimada de robots industriales en diferentes continentes, mientras que la tabla 1.1 presenta la distribución de robots por países y los pronósticos para el futuro. Las aplicaciones de otros robots pueden verse en la figura 1.11. 1.3.3 Economía Los robots industriales son cada vez más y más económicos, lo que se refleja en los precios para robots industriales usados. Tome en cuenta que un ABB IRB 6000, que está valorado en aproximadamente 7 000 dólares costaba más de 157 515 dólares cuando era nuevo, en 1993. Un robot equivalente nuevo costará entre 52 505 dólares y 105 dólares, dependiendo Vehículos automotores Partes automotrices Industrias eléctricas Industrias químicas Productos metálicos 2004 2005 Maquinaria Productos alimenticios Comunicación Productos de precisión y ópticos Figura 1.9 0 5 000 10 000 15 000 20 000 Unidades 25 000 30 000 Uso de robots industriales durante 2004-2005 [Fuente: http://www.ifr.org/statistics/keyData2005.htm] 1.3 El uso de robots 11 80 000 70 000 Unidades 60 000 50 000 40 000 30 000 20 000 10 000 0 1996 1997 1998 1999 2000 Asia/Australia Figura 1.10 2001 2002 2003 Europa América 2005 Poblaciones estimadas de robots industriales [Cortesía de http://www.ifr.org/statistics/keyData2005.htm] del fabricante y de las especificaciones. Los precios para robots se están volviendo tan económicos que en algunos países uno nuevo es incluso más económico que el trabajador más barato. 1.3.4 2004 Seguridad ¿Constituyen los robots una amenaza para el empleo? Las estadísticas muestran que los usuarios más grandes del mundo no son los que tienen la tasa más alta de desempleo. Por ende, puede considerarse que los robots no son una amenaza directa al empleo. Número de unidades Los robots industriales pueden ser peligrosos. Son dispositivos extraordinariamente potentes, especialmente aquellos modelos que tienen gran capacidad y alcance. Esto significa que la seguridad es de suma importancia, tanto en la instalación como durante la producción. Los reglamentos de 12 000 10 000 8 000 6 000 4 000 2 000 Su ba cu át ic o Li m D pi ef ez en a sa ,r e se s gu ca Co rida te, d n de stru m cc ol ió ic n/ ió n Ca m Pl po ro ata bo fo r ts m m as óv d ile e M s ed ic in a Lo gí To sti do ca sl os de m ás 0 Hasta finales de 2005 Figura 1.11 Nuevas instalaciones 2006-2009 Aplicaciones de otros robots y su pronóstico [Cortesía de http://www.ifr.org/statistics/keyData2005.htm] 12 CAPÍTULO Tabla 1.1 1 Introducción Existencias estimadas de robots industriales durante 2004-2005 y pronóstico para 2006-2009 Existencias operacionales al final del año Instalaciones anuales País América Brasil Norteamérica (Canadá, México, USA) Resto de América Asia/Australia China India Indonesia Japón Malasia Filipinas República de Corea (todos los tipos industriales) Singapur Taiwán provincia de China Tailandia Vietnam Resto de Asia Australia Nueva Zelanda Europa Austria Benelux Dinamarca Finlandia Francia Alemania Italia Noruega Portugal España Suecia Suiza Turquía Reino Unido Países de Europa Central/Oriental Resto de Europa África Total 2004 2005 2006 2009 15 400 208 15 170 21 555 320 21 136 17 200 20 100 22 52 311 3 493 369 74 37 086 250 65 5 457 99 76 047 4 461 450 193 50 501 243 80 13 005 244 424 5 443 5 463 3 680 757 14 170 4 096 1 458 99 124 11 881 1 014 14 3 505 15 464 2 472 113 3 349 652 29 409 545 536 296 401 3 009 13 401 5 679 61 211 2 826 833 310 24 785 419 913 28 863 485 1 097 354 556 3 275 10 506 5 425 115 144 2 649 939 442 207 1 363 1 149 73 157 87 204 97 207 126 669 2006 2009 182 500 16 500 126 961 143 203 153 500 2 352 2 672 19 100 123 663 139 553 149 400 65 000 76 000 40 000 46 000 28 200 33 800 3 000 10 700 5 100 3 700 13 000 6 200 800 1 200 2004 2005 946 978 443 193 481 664 502 000 7 096 11 557 619 1 069 121 314 356 483 373 481 372 000 1 452 1 695 93 173 51 302 61 576 4 170 4 938 279 019 297 374 307 700 3 907 4 148 8 749 9 362 2 342 2 661 3 712 4 159 28 133 30 434 32 200 120 544 126 725 132 300 53 244 56 198 58 900 724 811 1 488 1 542 21 893 24 081 7 341 8 028 3 539 3 732 196 403 14 176 14 948 14 700 8 372 9 337 176 000 583 000 388 500 345 400 37 900 142 700 66 400 14 300 659 805 220 250 430 634 900 1 600 110 60 130 150 849 603 922 875 964 100 1 112 500 Ejercicios basados en la web 13 seguridad varían de un país a otro y son esenciales para asegurar que toda instalación cumpla con la legislación local. La seguridad se refiere principalmente a mantener al personal fuera del alcance de trabajo del robot y sirve para asegurar que los movimientos puedan detenerse fácilmente en caso de una emergencia. Para este fin, los robots tienen cadenas de seguridad dual o cadenas de marcha integradas. Éstos son dos circuitos paralelos que detendrán el movimiento del robot cuando sean interrumpidos. También se prevén conexiones externas, incluidos los paros de emergencia. Asimismo, cabe mencionar que casi todos los robots tienen frenos de disco operados eléctricamente en cada eje, y activados sólo si se aplica la energía para soltarlos. Por lo tanto, en caso de un corte del suministro eléctrico o si el paro de emergencia es aplicado, el robot se detiene en seco, en una fracción de segundo, en su posición. No sufre un colapso y retiene sus datos posicionales y de programa. RESUMEN En este capítulo se presentan los robots, su historia, definiciones, categorías, aplicaciones y poblaciones. También se exponen las leyes de robótica y cuándo deben usarse los robots. EJERCICIOS 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 ¿Qué es un robot? ¿Cuáles son los tipos de robots? Mencione algunas aplicaciones típicas de un robot industrial. ¿Cuáles son las diferencias entre un robot y una máquina-herramienta CNC? ¿Cómo debe decidirse sobre el uso de un robot para un determinado trabajo? ¿Qué son las cuatro D de la robótica? ¿Qué es R.U.R.? ¿Cuáles son las leyes de la robótica? Anote las diferencias entre robots seriales y paralelos. ¿Cuáles son los problemas de seguridad en el uso de robots? EJERCICIOS BASADOS EN LA WEB Basándose en búsquedas en la web, conteste las siguientes preguntas: 1.11 1.12 1.13 1.14 Busque nombres de diferentes fabricantes de robots. ¿Cómo se especifica un robot industrial? ¿Cuál es la población de robots en el mundo? ¿Qué industria es considerada el usuario más grande de robots industriales de tipo serial? 1.15 ¿Cuáles son las áreas nuevas de aplicaciones de robots? Capítulo 2 Robots seriales Normalmente, un robot industrial es serial por naturaleza, tal como se muestra en las figuras 1.1 y 1.3, por lo que a éstos se les conoce como robots seriales. Cualquier robot, serial o de otro tipo, consiste en varios subsistemas, por ejemplo, subsistema de movimiento, subsistema de reconocimiento, etc. Éstos se explican en la sección 2.1. Las especificaciones de uno de estos robots seriales, el Cincinnati Milacron de la figura 1.3, se muestra en la tabla 2.1. Según ésta, la aplicación del robot (fila 2 de la tabla) es para el manejo de materiales; es decir, el robot es el más apropiado para este propósito. Por lo tanto, este robot puede clasificarse como un robot de manejo de materiales. Ahora considere el espacio de operación del brazo (filas 6-9 de la tabla). Donde se muestran el alcance y la ubicación en la que el brazo puede moverse, lo que define una forma geométrica, esto quiere decir que otra manera de clasificar especificaciones de ¿Volumen de trabajo o un robot se basa en su volumen geométrico de trabajo, espacio de trabajo? o bien en la configuración del brazo o en su sistema de Estos términos significan lo mismo: coordenadas. De manera similar, existen otros tipos de los puntos más lejanos que puede alclasificación, basadas en los diferentes aspectos de un canzar el efector final de un robot. robot, lo que se explica en la sección 2.2. 2.1 Subsistemas de robots Como se ilustra en la figura 2.1, un sistema robótico consiste por lo general en tres subsistemas: subsistema de movimiento, subsistema de reconocimiento y subsistema de control. Sus funciones se describen a continuación. Tabla 2.1 Una especificación de robot típica (Fig. 1.1) [Cortesía de: Cugy y Page (1984)] Fabricante Modelo Cincinnati Milacron T3-595 País de origen: Aplicaciones principales: Estados Unidos Manejo de materiales Configuración (cinemática): Capacidad de carga máxima: Polar 204 kg Repetibilidad: Precisión: N/D ± 2.00 mm Brazo Espacio operativo Velocidad Muñeca Espacio operativo Velocidad Eje 1 Eje 2 Eje 3 240° 90° 120° 635 mm/s 635 mm/s 635 mm/s Eje 4 Eje 5 Eje 6 180° 270° 635 mm/s 635 mm/s Sistema de potencia: eléctrico, 380 V 50 Hz, 27 kVA, pistón hidráulico lineal más cinco pistones rotativos, 155 bar Alcance horizontal máximo: 2 590 mm; posición de montaje: piso Sistema de control Tipo de memoria: Tamaño de memoria estándar: N/D: Datos no disponibles. casete Caja de teach-in punto a punto diálogo directo (inglés) integrado como estándar Subsistemas de robots Peso total del robot: 2 300 kg Canal de control: Método de teach-in Modo de operación: Lenguaje utilizado para el programa del controlador: Diagnóstico: 2.1 Número de programa: Sensores: CIP 3200 Minicomputadora RAM 64 K máx. 1 750 puntos N/D disponibles 15 16 CAPÍTULO 2 Robots seriales Subsistema de reconocimiento Subsistema de movimiento Computadora Ambiente del objeto Subsistema de control Figura 2.1 Subsistemas de robots y sus interacciones [Cortesía de: Yoshikawa (1990)] i) Subsistema de movimiento El subsistema de movimiento es la estructura física del robot que realiza un movimiento deseado parecido al de los brazos humanos, tal como se ilustra en la figura 2.2. ii) Subsistema de reconocimiento El subsistema de reconocimiento utiliza diferentes sensores para recabar información sobre el propio robot, sobre cualquier objeto que va a ser manipulado y sobre el ambiente de trabajo. Basándose en los datos de los sensores, este subsistema reconoce el estado del robot, el de los objetos y el del ambiente de trabajo. Hombro Eslabón 2 Articulación 2 Eslabón 1 Articulación 3 Articulación 1 Eslabón 3 Eslabón 0 (Base) Brazo Codo Eslabón 4 Articulación 4 Eslabón 5 Eslabón 6 a) Robot PUMA Articulación 5 Muñeca Mano Articulación 6 Dedo b) Partes equivalentes en el cuerpo humano Figura 2.2 Manipulador robótico y sus partes equivalentes en el cuerpo humano 2.1 Subsistemas de robots 17 iii) Subsistema de control El subsistema de control regula el movimiento del robot con el fin de lograr una determinada tarea, usando la información proporcionada por el subsistema de reconocimiento. Puede ser útil señalar aquí que una persona con una formación en ingeniería mecánica trabaja nor¿Por qué la robótica es malmente en el área del subsistema de movimiento, interdisciplinaria? mientras que personas con conocimientos en ciencias Porque requiere conocimientos en de la computación e ingeniería eléctrica se enfocan en ingeniería mecánica, ingeniería eléclos subsistemas de reconocimiento y control, respectitrica, ciencias de la computación y vamente. Esto se debe a las asignaturas de sus planes tecnologías de la información. de estudios. La robótica, sin embargo, es un campo interdisciplinario, y el conocimiento detallado de las tres disciplinas sin duda ayudará en el diseño y desarrollo de un mejor sistema robótico. Así resulta que no es raro ver cómo las personas rebasan sus límites de especialización. Se ve con frecuencia que un especialista en ingeniería mecánica trabaja en el área de inteligencia artificial (subsistema de reconocimiento), mientras que alguien con formación en ingeniería eléctrica o ciencias de la computación se ocupa de la simulación dinámica y del diseño de robots (subsistema de movimiento). 2.1.1 El subsistema de movimiento ¿Robot o manipulador? Los elementos del subsistema de movimiento son los siguientes: i) Manipulador Se trata de la estructura física, la parte que se está moviendo. Ésta incluye eslabones (también llamados “cuerpos”) y articulaciones (que también se denominan “pares cinemáticos”), normalmente conectadas en serie, como es el caso de los robots que se muestran en las figuras 1.1 y 1.3, y del robot PUMA de la figura 2.2a). Los eslabones están hechos de acero o de aluminio. También pueden usarse otros materiales, dependiendo de los requerimientos. Las articulaciones son por lo general del tipo “rotatorio” o de “traslación”. En el estudio de la robótica y de los mecanismos, a estas articulaciones se les conoce respectivamente como “revolutas” y “prismáticas”, tal como se muestra en las figuras 5.1 y 5.2 del capítulo 5. Un ejemplo de una articulación revoluta es la bisagra de una puerta; una articulación prismática es el arreglo pistón/cilindro del motor de combustión interna que se utiliza en automóviles. A semejanza del conjunto que forman el brazo, la muñeca y la mano del ser humano, tal como se muestra en la figura 2.2b), el manipulador del robot también tiene tres partes. Las primeras dos, el brazo y la muñeca, pueden verse en las figuras 2.2a) ¿Qué es PUMA? y b), respectivamente, mientras que la tercera parte, la mano, se muestra en la figura 2.3a) y b). La función de PUMA significa Programmable Uniun brazo es la de colocar un objeto en una determinaversal Manipulator for Assembly (Manipulador universal programada ubicación en el espacio cartesiano tridimensional, ble para el ensamble). donde es orientado por la muñeca. Para un robot típico En este libro, ambas palabras se usan muchas veces en forma indistinta. Sin embargo, como se explica en este capítulo, el manipulador es la estructura mecánica del robot. 18 CAPÍTULO 2 Robots seriales de seis grados de libertad, como se muestra en las figuras 1.1 y 1.3 o 2.2a), los primeros tres eslabones y articulaciones forman el “brazo” y las últimas tres articulaciones de intersección mutua conforman la “muñeca”. ii) Efector final Ésta es la parte instalada en el extremo del manipulador. Es equivalente a la mano humana. Un efector final podría ser una mano mecánica que manipula un objeto o que lo sostiene antes de que sea movido por el brazo del robot. En las figuras 2.3a) y b) se muestran dos manos típicas. La figura 2.3a) presenta un sujetador sencillo de dos dedos para sujetar objetos sencillos, mientras que una mano de dedos múltiples, como la de la figura 2.3b), puede ejecutar tareas más complejas. Otros sujetadores más ¿Efector final o mano? sencillos operados en forma neumática pueden verse en la figura 2.4. También se consideran como efectores Una mano mecánica (figura 2.3) es un tipo de efector final que se usa en finales algunas herramientas especializadas, como un robots. Efector final es un término electrodo de soldadura, un soplete oxiacetilénico, una mucho más genérico para lo que se brocha de pintura o una muela abrasiva montada en el encuentre montado en el extremo extremo de un brazo manipulador para la ejecución de de un manipulador de robot. Otros ejemplos de efectores finales son una tareas específicas. pistola para soldar, una brocha para pintar, etcétera. iii) Actuador Los actuadores de un robot pro- porcionan el movimiento para el manipulador y para el efector final. Se clasifican como neumáticos, hidráulicos o eléctricos, según su principio de operación, lo cual se explica en el capítulo 3. Observe aquí que un motor, por ejemplo un motor eléctrico de CD o CA, que se acopla a los elementos móviles de transmisión, es decir, Pistón con cremallera (alternativamente puede usarse un motor eléctrico con un tornillo sinfín) a) Sujetador simple [cortesía de Mair (1988)] b) Mano de tres dedos [cortesía de Ángeles (2003)] Figura 2.3 Manos de robot 4 3 1 2 b) c) d) Figura 2.4 Sujetadores de accionamiento neumático: a) Mordaza angular; b) Mordaza paralela; c) Mordaza paralela con dos cilindros; d) Mordaza paralela con disco de leva [Cortesía: Robot grippers por Gareth J. Monkman, Stefan Hesse, Ralf Steinmann, Henrik Schunk, Wiley, 2007; http://media.wiley.com/product_data/excerpt/90/35274061/3527406190.pdf] Subsistemas de robots 1: Mordaza o dedo; 2: Cilindro neumático; 3: Guía recta; 4: Disco de leva 2.1 a) 19 20 CAPÍTULO 2 Robots seriales a) Banda síncrona o dentada Figura 2.5 b) Cadena de rodillos Transmisión por banda y cadena engranajes, etc., es llamado actuador. Sin embargo, un sistema neumático o hidráulico que proporciona movimientos para los eslabones del robot, con o sin elementos de transmisión, se llamará actuador y no motor. iv) Transmisión Como lo sugiere el término, estos elementos transmiten el movimiento de motores y de actuadores a los eslabones del manipulador. En el caso de motores eléctricos, estos elementos, junto con el motor eléctrico, forman un actuador. Los siguientes son elementos de transmisión típicos: a) Transmisión por banda y cadena Los accionamientos por banda se utilizan mucho en la robótica, especialmente la banda síncrona, como se muestra en la figura 2.5a). Sin embargo, su vida útil es breve, ya que dependen de la tensión de la banda para producir agarre a través de la polea. Las cadenas, por otro lado, como se muestra en la figura 2.5b), son por lo general más económicas. Tienen una mayor capacidad de carga y una vida útil más larga en comparación con las transmisiones por banda, aunque menor en comparación con los engranajes. b) Engranajes Entre todas las transmisiones mecánicas, los diferentes tipos de engranajes, como se muestra en la figura 2.6, son los más confiables y duraderos, aunque el juego entre los dientes tendrá que tomarse en cuenta cuidadosamente durante la fase de diseño. Engranajes de dientes rectos Engranaje cónico de dientes curvos Engranajes helicoidales Engranaje de tornillo tangente Figura 2.6 Engranajes Engranaje cónico recto Engranaje de piñón y cremallera 2.1 c) Mecanismos de eslabones A fin de reducir el peso y exceso de flexibilidad de los elementos de transmisión arriba mencionados, se emplean los mecanismos de eslabones de la figura 2.7a). La figura 2.7b) muestra cómo se utiliza un gato de husillo con un arreglo de cuatro barras para transmitir movimientos. Subsistemas de robots 21 ¿Qué es un mecanismo? Una serie de eslabones, por lo general rígidos, acoplados por articulaciones que permiten movimientos relativos entre cualquiera de dos eslabones, forman un mecanismo. 2.1.2 Subsistema de reconocimiento El elemento más importante en el subsistema de reconocimiento es el sensor, el cual puede compararse con nuestros ojos o nuestra nariz. La inclusión de sensores en un robot cambia su naturaleza de estúpida a inteligente. A fin de procesar la señal detectada, en su mayoría análoga, por medio de un controlador digital, se requiere un convertidor analógico digital (Analog-to-Digital Converter, ADC). De esta manera, un subsistema de reconocimiento consiste normalmente en los siguientes dos elementos. i) Sensores La mayoría de los sensores son esencialmente transductores, que convierten la forma de una señal en otra. Por ejemplo, el ojo humano convierte patrones de luz en señales eléctricas. Los sensores forman parte de una de varias áreas generales: visión, tacto, detección de rango y proximidad, navegación, reconocimiento del habla, etc. Cada una de estas áreas es en sí un área de investigación individual. Sin embargo, algunas de ellas se explican en el capítulo 4. ii) Convertidor analógico digital (ADC) Este dispositivo electrónico se comunica con los sensores y con el controlador del robot. Por ejemplo, el ADC convierte 2 4 4 1 + 3 3 1 2 2 1 3 4 2 1 + 3 4 a) Mecanismos de cuatro barras Figura 2.7 Gato de husillo Ensamble de servomotor b) Uso de mecanismos en el manipulador de robótico Mecanismos y su uso en el manipulador de robótico 22 CAPÍTULO 2 Robots seriales el voltaje creado por una deformación unitaria en una galga extensométrica en una señal digital, es decir, 0 o 1, de manera que el controlador digital del robot pueda procesar esta información. Físicamente se ve como cualquiera otra tarjeta de interface de computadora dentro de la unidad de procesamiento central (CPU), como se muestra en la figura 2.8. 2.1.3 Subsistema de control El papel de un sistema de control en un mando de robot se muestra en la figura 2.9a). Principalmente consiste en los siguientes dispositivos: i) Controlador digital El controlador digital es un dispositivo electrónico especial que tiene un CPU, memoria y, a veces, un disco duro para almacenar los datos programados. En sistemas de robótica, estos componentes se mantienen dentro de una caja sellada que se denomina controlador, como puede verse en la figura 2.9b). Se usa para controlar los movimientos del manipulador y del efector final. Un controlador de robot es como un supervisor en una fábrica. Puesto que una computadora tiene las mismas características que un controlador digital, también se utiliza como un controlador de robot. Un controlador procesa los comandos programados por el usuario y transmite señales apropiadas a los actuadores a través de los convertidores analógicos digitales (DAC). Los lenguajes de programación pueden ser los mismos que se usan en la computación, es decir, BASIC, Fortran, C y C++. Para los robots comerciales, sin embargo, los lenguajes son generalmente distintos. Por ejemplo, Fanuc de Japón usa el lenguaje de programación de robots “Karel”. Esto sirve principalmente para la introducción de características específicas en los sistemas robóticos con el fin de que se distingan los productos. ii) Convertidor digital analógico (DAC) Un DAC convierte la señal digital del controlador del robot en una señal análoga para accionar los actuadores; por ejemplo, un motor eléctrico de CD. El controlador digital también está acoplado a un DAC para re- Figura 2.8 Un convertidor analógico digital [Cortesía: http://www.eeci.com/adc-16p.htm] 2.1 Subsistemas de robots 23 Trayectoria deseada del efector final Desplazamiento y velocidad de las articulaciones Controlador Entrada de accionamiento Sensor Robot Configuración actual del efector final a) Esquema de control de un robot b) Controlador ABB Figura 2.9 Subsistema de control [Cortesía: http://www.abb.com/Product/seitp327/ f0cec80774b 0b3c9c1256fd a00409c2c.aspx] convertir su señal en una señal análoga equivalente, es decir, el voltaje eléctrico para el motor de CD. La apariencia física de un DAC se muestra en la figura 2.10. iii) Amplificador Puesto que los comandos de control del controlador digital convertidos en señales análogas por el ADC son muy débiles, requieren de amplificación para realmente accionar los motores eléctricos del manipulador de robot. Figura 2.10 ADC vs. DAC Un DAC sirve al propósito opuesto al de un ADC. Un convertidor digital analógico [Cortesía: http://www.eeci.com] 24 2.2 CAPÍTULO 2 Robots seriales Clasificación de robots por aplicación Este método de clasificación se vuelve más relevante, pues cada vez más robots se están diseñando para servir en tareas específicas. Por ejemplo, muchos robots están diseñados para trabajos de ensamble y no serán muy fácilmente adaptables para otras aplicaciones. Éstos se denominan “robots de ensamble”. Para la soldadura de costura, algunos proveedores proporcionan sistemas de soldadura completos junto con el robot, es decir, el equipo de soldadura con sus unidades de manejo de materiales, sus mesas giratorias, etc., juntas como una unidad integral. Este sistema robótico integral se llama “robot de soldadura”, aunque su unidad manipuladora independiente podría adaptarse para una variedad de tareas. Algunos robots están específicamente diseñados para la manipulación de cargas pesadas y, por lo tanto, se llaman “robots de trabajo pesado”. 2.3 Clasificación de robots por sistema de coordenadas A esta clasificación también se le conoce como clasificación por la configuración del brazo y por el volumen geométrico de trabajo. Este método clasifica al robot sin tomar en cuenta al efector final. Indica el volumen de coordenadas alcanzables por un punto en el efector final, en vez de sus orientaciones. Existen cuatro tipos fundamentales: Cartesiano, cilíndrico, esférico o polar y articulado o de revoluta. i) Cartesiano Cuando el brazo de un robot se mueve de modo rectilíneo, es decir, en las direcciones de las coordenadas x, y y z del sistema de coordenadas cartesianas rectangulares diestras, como se ve en la figura 2.11a), se le llama tipo cartesiano o rectangular. El robot asociado se conoce entonces como robot cartesiano. Se llama a los movimientos desplazamiento x, altura o elevación y y alcance z del brazo. Su espacio de trabajo tiene la forma de una caja o de un prisma rectangular, como se indica en la figura 2.11b). Un robot cartesiano necesita un espacio de gran volumen para su operación. Sin embargo, este robot tiene una estructura rígida y ofrece una posición precisa para el efector final. El manteniy z x a) Configuración del brazo Figura 2.11 b) Caja rectangular Un brazo de robot cartesiano y su espacio de trabajo 2.3 Clasificación de robots por sistema de coordenadas 25 miento de estos robots es difícil, puesto que los movimientos rectilíneos se obtienen por lo general a través de conjuntos de actuadores eléctricos giratorios acoplados a tuercas y tornillos esféricos. El polvo acumulado en los tornillos puede llegar a dificultar el movimiento suave del robot. Por lo tanto, tienen que cubrirse mediante fuelles. Además, mantener la alineación de los tornillos requiere una mayor rigidez en estos componentes. Por ende, estos robots tienden a ser más caros. ii) Cilíndrico Cuando el brazo de un robot tiene ¿Por qué hay diferentes sistemas una articulación de revoluta y dos prismáticas, es decir, de coordenadas para si la primera articulación prismática del tipo cartesiadefinir arquitecturas no, figura 2.11a), es reemplazada por una articulación de robots? de revoluta con su eje girado 90° respecto al eje z, los No hay ninguna razón especial, aparpuntos que puede alcanzar pueden ser convenientete de la conveniencia de definir un mente especificados con coordenadas cilíndricas, es punto en el espacio cartesiano tridimensional. decir, ángulo q, altura y y radio z, como se indica en la figura 2.12a). Un robot con este tipo de brazo se denomina robot cilíndrico, cuyo brazo se mueve por medio de q, y y z, es decir, tiene una rotación de base, una elevación y un alcance, respectivamente. Puesto que las coordenadas del brazo pueden asumir cualquiera de los valores entre los límites superior e inferior especificados, su efector final puede moverse en un volumen limitado, que es una sección de corte dentro del espacio entre los dos cilindros concéntricos, como se muestra en la figura 2.12b). Observe que éste no es el caso para un brazo cartesiano; su volumen de trabajo es una caja sólida, y z q a) Configuración del brazo Figura 2.12 b) Forma cilíndrica Brazo de robot cilíndrico dentro de su volumen de trabajo 26 CAPÍTULO 2 Robots seriales como se muestra en la figura 2.11b). La línea punteada de la figura simplemente completa el límite del volumen de espacio de trabajo para una mejor visualización. No tiene otro propósito. Un robot de este tipo podrá tener problemas para tocar el piso cerca de la base. Se usan exitosamente cuando una tarea requiere que se alcancen aperturas pequeñas o en el trabajo sobre superficies cilíndricas, por ejemplo, para la soldadura de dos tubos. iii) Esférico o polar Cuando el brazo de un robot es capaz de cambiar su configuración moviendo sus dos articulaciones de revoluta y su articulación prismática, es decir, cuando la segunda articulación prismática a lo largo de la altura y del tipo cilíndrico es reemplazada por una articulación de revoluta con su eje girado 90° respecto al eje z, se denomina brazo de robot esférico o polar; la posición del brazo se describe convenientemente por medio de las coordenadas esféricas q, f y z; el brazo se muestra en la figura 2.13a). Los movimientos del brazo representan la rotación de la base, los ángulos de elevación y el alcance, respectivamente. Su volumen de trabajo es indicado en la figura 2.13b). iv) Articulado o de revoluta Cuando un brazo de robot consiste en eslabones conectados por articulaciones de revoluta, es decir, cuando la tercera articulación prismática también es reemplazada por otra articulación de revoluta con su eje girado 90° respecto al eje z, se le ¿Por qué son huecos algunos volúmenes de llama brazo unido articulado o de revoluta. Este caso trabajo, por ejemplo, se muestra en la figura 2.14a). Su volumen esférico de el de la figura 2.12b)? trabajo se muestra en la figura 2.14b) donde su superficie interna es difícil de determinar. Tales robots son Las partes huecas son aquellas que relativamente más sencillos de fabricar y mantener, están fuera del alcance del efector ya que los actuadores del robot están directamente final del robot. Se denominan zonas singulares (véase el capítulo 6 para la acoplados mediante transmisiones de engranes o bien definición). por bandas. Sin embargo, la realización de una tarea f z q a) Configuración del brazo Figura 2.13 b) Forma esférica Robot esférico con su volumen de trabajo 2.3 y Clasificación de robots por sistema de coordenadas 27 f q a) Configuración del brazo Figura 2.14 b) Espacio de trabajo Un brazo de robot articulado con su espacio de trabajo en coordenadas cartesianas requiere de transformaciones matemáticas. Estos aspectos se estudian en el capítulo 6. Es bastante interesante observar que las cuatro arquitecturas fundamentales del brazo que se mencionan arriba pueden derivarse unas de otras. Esto se explica en la tabla 2.2. Además, la tabla 2.3 proporciona las ventajas y desventajas de estos brazos robóticos básicos. En parte de la literatura también se usan clasificaciones como Gantry y SCARA (Selective Compliance Assembly Robot Arm), como se muestra en las figuras 2.15 y 2.16, respectivamente. Esto en verdad no se requiere, pues los tipos fundamentales son suficientes para ayudar a su entendimiento. Por ejemplo, el brazo del robot tipo gantry es del tipo cartesiano puesto al revés. Este robot es grande, versátil en su operación, pero caro. El SCARA, por otro lado, es Tabla 2.2 Transformación de tipos de brazo de robot Tipo Cartesiano Articulaciones 1 (base): Movimiento 2 (elevación): Movimiento 3 (alcance): Movimiento P: desplazamiento x P: altura y P: alcance z ↓ Cilíndrico ↓ –P+R+90°@z R: rotación q ↓ Esférico ↓ R: ↓ ↓ Articulado: R: ↓ P: -do- ↓ –P+R+90°@z -do- R: Ángulo f -do- ↓ R: -do- ↓ P: -do- ↓ P: -do- ↓ –P+R+90°@z R: ángulo y –P: Quitar la articulación prismática; +R: Agregar articulación de revoluta; +90°@: Girar la articulación de revoluta alrededor del eje z por 90°; -do-: Sin cambios. 28 CAPÍTULO Tabla 2.3 2 Robots seriales Comparación de brazos de robot fundamentales [Cortesía de Fuller (1999)] Configuración Cartesiano (3 ejes lineales) x: desplazamiento de la base y: altura z: alcance Ventajas • Fácil de visualizar • Estructura rígida • Programación offline fácil • Paradas mecánicas fáciles Desventajas • Alcance sólo hacia adelante y atrás • Requiere gran espacio en las instalaciones • Los ejes son difíciles de sellar • Caro • No tiene alcance hacia Cilíndrico (1 eje giratorio y 2 • Llega a todo su derredor • Ejes y y z rígidos arriba de sí mismo ejes lineales) • Los ejes q son fáciles de se- • Eje q menos rígido q: rotación de la base llar • Ejes y y z difíciles de sellar f: altura • No puede llegar alrededor z: alcance de obstáculos • El movimiento horizontal es circular • No tiene alcance hacia Esférico (2 ejes giratorios y • Llega a todo su derredor • Llega arriba y debajo de obs- arriba de sí mismo 1 eje lineal) táculos • Corto alcance vertical q: rotación de la base • Gran volumen de trabajo f: ángulo de elevación z: alcance Articulado (3 ejes giratorios) • Llega arriba y debajo de obs- • Difícil de programar táculos offline q: rotación de la base • Área de trabajo más grande • Dos o más maneras de alf: ángulo de elevación para el espacio de instala- canzar un punto y: ángulo de alcance ción más reducido • El robot más complejo un tipo cilíndrico cuyo alcance se logra mediante el uso de una articulación de revoluta en lugar de una articulación prismática (compare las figuras 2.12a) y 2.16). Un robot SCARA es muy conveniente para operaciones de ensamble; por lo tanto, se usa mucho para este propósito en varias industrias. y x z Figura 2.15 Robot tipo gantry [Cortesía de Koivo (1989)] 2.5 Clasificación de robots por el método de control 29 z f q Figura 2.16 2.4 Brazo SCARA [Cortesía de Fuller (1999)] Clasificación de robots por su sistema de potencia Los robots son accionados por energía eléctrica o por energía de fluidos. Esta última categoría está subdividida en sistemas neumáticos e hidráulicos. Hoy en día, el método de accionamiento más común es la energía eléctrica mediante el uso de varios tipos de motores, por ejemplo, el motor de pasos, servo CD y servo CA sin escobillas. Los robots neumáticos se utilizan en trabajos de ensamble ligero o embalaje, pero por lo regular no son convenientes para tareas pesadas o donde se necesite control de velocidad. Por otro lado, los robots hidráulicos se utilizan en aplicaciones de cargas pesadas debido a su alta proporción potencia-tamaño. 2.5 Clasificación de robots por el método de control En este caso, el término control puede significar dos cosas: una es su estrategia de control de movimientos, es decir, si un robot está servocontrolado o no, y la otra es cómo se logra la trayectoria de movimiento, es decir, de punto a punto o de manera continua. i) Servocontrolado/no servocontrolado Los robots son servocontrolados (ciclo cerrado) o no servocontrolados (ciclo abierto). Con el fin de aprovechar las ventajas completas del control digital o por microprocesador, lograr una buena precisión en condiciones de carga pesada y llevar a cabo tareas complejas con seguridad, se requiere el servocontrol completo. En este método de control, se transmiten comandos a los actuadores de los brazos para mover cada eje únicamente con la cantidad necesaria. El movimiento real se 30 CAPÍTULO 2 Robots seriales monitorea tanto para el desplazamiento como para la velocidad, y se compara con la señal del comando. La diferencia entre el comando y la acción, que se define como el error, se utiliza como retroalimentación al controlador con la finalidad de realizar la modificación de los comandos para corregir la posición. La mayoría de los robots eléctricos e hidráulicos son servocontrolados. Los robots neumáticos normalmente no son servocontrolados. En este caso, se transmite una señal de comando y se supone que el brazo del robot alcanza su posición deseada. El no servocontrol es apropiado cuando sólo se requiere el control de posición de cargas ligeras. Sin embargo, si se ha de controlar velocidad, aceleración y par de torsión, o si el movimiento contra cargas pesadas es necesario, entonces el no servocontrol usualmente no es posible. La mayoría de los robots industriales de la actualidad utilizan el servocontrol. Este problema de control requiere conocimientos de control proporcional-derivativo (PD), proporcionalintegral (PI), proporcional-integral-derivativo (PID, lógica difusa, redes neurales, así como otras teorías de control. ii) Control de trayectoria En un control de trayectoria punto a punto, el brazo del robot se mueve desde un punto deseado hasta el siguiente sin considerar la trayectoria que se toma entre ellos. La trayectoria real que se toma podrá ser el resultado de una combinación de movimientos de eslabones del brazo, calculada para proporcionar el tiempo mínimo de viaje entre los puntos. El control punto a punto se usa extensamente en el ensamble, en el paletizado y en la carga/descarga de máquinas-herramientas. En un control de trayectoria continua, el robot se mueve a lo largo de una trayectoria continua con orientaciones específicas, por ejemplo, en soldadura, donde la señal de los sensores en las articulaciones es constantemente monitoreada por el controlador del robot. Un problema de control de esta índole se denomina problema de planeación de trayectoria. 2.6 Clasificación de robots por método de programación Los robots industriales pueden ser programados por diferentes medios. Pueden programarse, por ejemplo, online u offline. Los métodos online requieren el uso directo del robot y utilizan un teach pendant (caja de enseñanza) para la programación punto a punto, así como brazos de esclavo o un accesorio de empuñadura de pistola para la programación de trayectoria continua. Los robots más recientes tienen la posibilidad de programación offline, es decir, el robot puede seguir trabajando en una tarea particular, mientras se prepara un programa para una nueva tarea en una terminal de computación, utilizando el lenguaje de programación del robot, por ejemplo, VAL, ALU u otros. RESUMEN En este capítulo se han presentado varios subsistemas de un sistema robótico. Un robot es clasificado con base en su volumen de trabajo, método de control, etc. Las clasificaciones presentadas en este capítulo permitirán al usuario seleccionar/pedir un robot según sus requerimientos. Ejercicios basados en la web 31 EJERCICIOS 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 ¿Cuáles son los diferentes subsistemas de un sistema robótico? ¿Por qué se usan transmisiones en un manipulador de robot? ¿Cuándo deberá darse preferencia a una polea de banda y no a los engranajes? ¿Cuáles son las ventajas de usar mecanismos y no otros arreglos de transmisión? ¿Cuáles son las diferentes formas de clasificar un robot? ¿Por qué se requiere ADC y DAC en robots? ¿Qué tipo de robot es conveniente para pintar una barra? ¿Por qué? ¿Cuál es la forma del volumen de trabajo del robot SCARA (figura 2.16)? Dibújela. 2.9 ¿Por qué están vacíos algunos volúmenes de trabajo? 2.10 ¿Cuál es el significado completo de PUMA? 2.11 ¿Qué tipo de brazo básico tiene el robot PUMA? 2.12 ¿Cuál es el tipo de control que es apropiado para operaciones de soldadura? EJERCICIOS BASADOS EN LA WEB Basándose en búsquedas en la web, conteste las siguientes preguntas: 2.13 Mencione algunos fabricantes de robots y sus lenguajes de programación de robots. 2.14 ¿Cuáles son las relaciones de engranaje que se usan normalmente en robots industriales? 2.15 Busque algunas aplicaciones industriales donde se utilizan robots Gantry. 2.16 Mencione algunas industrias que emplean robots SCARA así como la razón. 2.17 ¿Cuáles son los precios normales de los robots industriales que se usan para la soldadura de carrocerías de automóviles? Capítulo 3 Actuadores En este capítulo se analizará uno de los componentes básicos del robot: el actuador. Los actuadores son los músculos de los robots y comprenden lo siguiente: i) ii) iii) iv) una fuente de alimentación un amplificador de potencia un servomotor un sistema de transmisión Actuador vs. motor Un motor, junto con la transmisión y otros accesorios, si existe, se llama actuador (véase la figura 3.1). Sin embargo, en muchos casos, estos términos se usan de manera indistinta para decir que mueven un eslabón del robot. Las conexiones entre todos los componentes de los actuadores se describen en la figura 3.1. Para elegir un actuador, vale la pena empezar desde el requerimiento impuesto sobre la potencia mecánica, –Pu, por la fuerza y velocidad que describe el movimiento de articulaciones. Con base en la fuente de la potencia de entrada, –Pa, los actuadores pueden clasificarse en tres grupos: i) Actuadores neumáticos Estos actuadores utilizan energía hidráulica proporcionada por un compresor y la transforman en energía mecánica por medio de pistones o turbinas. ii) Actuadores hidráulicos Estos actuadores emplean la energía neumática almacenada por un compresor que la transforma en energía mecánica mediante pistones o turbinas. 3.1 33 Actuadores neumáticos Fuente de alimentación Pp Pc Amplificador de potencia Pda Pa Motor o servomotor Pm Pds Transmisión Pu Pdt Pp: Fuente primaria de potencia (electricidad, fluido presurizado o aire comprimido, etc.). Pc: Potencia de control de entrada (normalmente eléctrica). Pa: Potencia de entrada al motor (de tipo eléctrico, hidráulico o neumático). Pm: Salida de potencia del motor. Pu: Potencia mecánica que se requiere. Pda, Pds y Pdt: Pérdidas de potencia por disipación durante las conversiones realizadas por el amplificador, el motor y la transmisión. Figura 3.1 Un sistema de actuador iii) Actuadores eléctricos La fuente principal de energía de entrada es la energía eléctrica que fluye desde el sistema de distribución eléctrico. Una parte de la potencia de entrada del motor, –Pa, se convierte en potencia mecánica, –Pm, a la salida y el resto , –Pds, se disipa debido a las pérdidas de los motores mecánicos, eléctricos, hidráulicos o neumáticos. En una aplicación robótica, un actuador deberá tener las siguientes características: • • • • • • • 3.1 baja inercia alta relación de potencia-peso posibilidad de sobrecarga y entrega de pares de torsión de impulsos capacidad para desarrollar altas aceleraciones amplios rangos de velocidad alta precisión de posicionamiento buena precisión de rastreo de trayectorias y posicionamiento Actuadores neumáticos El actuador neumático es uno de los dos tipos de dispositivos de potencia dada por fluidos para robots industriales. El otro es hidráulico y se describe en la siguiente sección. Los actuadores neumáticos utilizan aire comprimido para su accionamiento y se usan extensamente para realizar los movimientos típicos de abrir y cerrar las mordazas en el sujetador (gripper) de un robot, como se muestra en la figura 2.4, o bien para su accionamiento de brazos de robot sencillos en aplicaciones donde el control continuo de movimientos no sea una preocupación. Un actuador neumático que incluye un cilindro neumático y otros accesorios se muestran en la figura 3.2. Las especificaciones de estos sistemas son empleadas, por ejemplo, en los sujetadores de robots de la figura 2.4 y se exponen en la tabla 3.1. 34 CAPÍTULO 3 Actuadores Cilindro neumático Pistón ubicado dentro del cilindro Cilindro de Unidad del compresor doble efecto Indicador de nivel Unidad de aire Biela de mando Motor eléctrico acondicionado Tanque receptor Drenaje de agua Válvula de control de cuatro vías de Filtro Lubricador activación manual Regulador a) Componentes del actuador neumático Indicador Regulador de presión Lubricador Filtro Tanque receptor Válvulas ajustables de control de flujo (una en cada línea) Actuador Secador Posrefrigerador Paquete FRL (Filtro Regulador Lubricador) Válvula de control direccional Compresor Filtro de aire Entrada de aire Figura 3.2 b) Circuito neumático Un actuador neumático Las ventajas y desventajas de los actuadores neumáticos son las siguientes: Ventajas • • • • Es la forma más económica de todos los actuadores. Los componentes son perfectamente asequibles y por lo regular el aire comprimido ya se encuentra disponible en las instalaciones de las fábricas. El aire comprimido puede almacenarse y transportarse fácilmente a través de largas distancias. El aire comprimido es limpio, a prueba de explosiones e insensible a fluctuaciones de temperatura. Por lo tanto, puede emplearse en muchas aplicaciones. Estos actuadores tienen pocas partes móviles, por lo que son muy confiables y ayudan a reducir los costos de mantenimiento. 3.1 Actuadores neumáticos 35 Tabla 3.1 Especificaciones de un actuador para un sujetador (Catálogo RS) Especificaciones técnicas Marca SMC Núm. de parte del fabricante MHC2-25D Tipo Sujetador (doble efecto) Barreno 25 mm Ángulo de operación 30° (abierto) a –10° (cerrado) Rango de presión 1 a 6 bar Tamaño del puerto de conexión M5 m Rango de temperatura 0 a 60 °C Medio Aire no lubricado Par de sujeción 1.4 Nm a 5 bar Repetibilidad en posición de cerrar ± 0.1 mm Frecuencia de operación máxima 80 cpm (ciclos por minuto) • • • • • • • Puesto que los sistemas neumáticos son comunes en toda la industria, el personal que suple ¿Cuánto es un bar? a otro está frecuentemente muy familiarizado con la tecnología. Un bar = un atm = 14.7 psi = 101 356.5 N/m2 o aproximadamente 105 PA. Tienen una acción y un tiempo de respuesta muy rápida, lo que permite ciclos de trabajo expeditos. Normalmente no se requiere ninguna transmisión mecánica. Un sistema neumático puede ser intrínsecamente seguro en áreas con peligro de explosión, ya que no se requiere un control eléctrico. En condiciones de humedad, no existe tampoco peligro de electrocución. Los sistemas son por lo regular compactos. El control es sencillo, por ejemplo, se usan con frecuencia topes mecánicos. Los componentes individuales pueden interconectarse fácilmente. Desventajas • • • • Puesto que el aire es compresible, el control de la precisión en la velocidad y la posición no es fácil de lograr, a menos que se incorporen dispositivos electromecánicos mucho más complejos en el sistema. Esto significa que a menudo sólo está disponible una secuencia limitada que opera con una velocidad fija. Si se usan topes mecánicos, la reanudación del sistema puede ser lenta. Los sistemas neumáticos no son convenientes para mover cargas pesadas bajo control preciso, debido a la compresibilidad del aire. Esta compresibilidad requiere de la aplicación de más fuerza de la que normalmente sería necesaria para asegurar que el actuador esté firmemente en posición contra su tope en condiciones de carga. Si penetra humedad en las unidades y se ha usado metales ferrosos, podrían ocasionarse daños en los componentes individuales. 36 CAPÍTULO 3 Actuadores La compresibilidad del aire en un actuador neumático no permite un control sofisticado, pero de esto puede sacarse provecho, impidiendo daños debidos a sobrecarga y proporcionando el cumplimiento que puede ser requerido en muchas aplicaciones prácticas. 3.2 Actuadores hidráulicos Los actuadores hidráulicos también son dispositivos de potencia de fluidos para robots industriales. Ellos utilizan fluidos de alta presión, como aceite, para transmitir fuerzas al punto de aplicación deseado. Un actuador hidráulico es muy similar en aspecto a uno accionado neumáticamente. Los diferentes componentes se muestran en la figura 3.3 y una especificación típica del cilindro se ofrece en la tabla 3.2. Estos actuadores están diseñados para operar con presiones mucho más altas (normalmente entre 70 y 170 bar). Son apropiados para aplicaciones de alta potencia. Las ventajas y desventajas de los actuadores hidráulicos son las siguientes: Ventajas • • Alta eficiencia y alta relación potencia-tamaño. Es posible el control completo y preciso de velocidad, posición y dirección de los actuadores. Tabla 3.2 Un cilindro hidráulico con un barreno de 32 mm y una carrera de 50 mm (Catálogo RS) Especificaciones técnicas Marca Núm. de parte del fabricante Tipo Cuerpo Tamaño de barreno Carrera Tamaño del puerto Presión de prueba estática Presión de trabajo Fuerza máxima a 160 bar Caudal máximo a 0.1 mm/seg Largo total Largo total (pistón extendido) Diámetro de la punta de la barra Tamaño de rosca de la punta de la barra Material de sellado Medio hidráulico recomendado Rango de temperatura de trabajo del líquido hidráulico Rexroth CDL1M00/32/18/50/CIX/B1CHUMS Cilindro-vástago rótula Acero al carbono 32 mm 50 mm G 1/4 240 bar 160 bar 12.8 kN 4.8 l/min 200 mm 250 mm 18 mm 18 mm NBR / Poliuretano Líquidos con base en aceites minerales –20 a +80°C 3.2 Actuadores hidráulicos 37 Válvula de cuatro vías Filtro de aceite Línea de suministro Válvula Indicador Bomba de presión de cierre manual hidráulica Cilindro de doble efecto Válvula de seguridad de presión Líneas de retorno Depósito de aceite Palanca de inversión de control manual Punzonadora a) Componentes del actuador hidráulico Cilindro de doble biela y doble efecto Acumulador Bomba de desplazamiento Válvula de retención variable Filtro Flujo libre Válvula de seguridad accionada por piloto Depósito P • • • • • B Amortiguador viscoso R Depósito Válvula de control direccional b) Circuito hidráulico Figura 3.3 • A Carga estática Muela lineal Un actuador hidráulico Ocurren pocos problemas de contragolpe debido a la rigidez e incompresibilidad del fluido, especialmente cuando el actuador actúa como la propia articulación o unión, que es el caso de los actuadores rotativos de aspas que se describen más adelante. “Contragolpe” es el término que se usa para describir el juego no deseado en componentes de transmisión desde su posición deseada cuando se ponen en condiciones de carga debido al desgaste o a espacios libres entre superficies. Grandes fuerzas pueden aplicarse directamente en las ubicaciones requeridas. Por lo general, tienen una mayor capacidad de carga que los actuadores eléctricos y neumáticos. No se requiere ninguna conexión mecánica, es decir, se obtiene un accionamiento directo con simpleza mecánica. Son autolubricantes (bajo desgaste) y no corrosivos. Debido a la presencia de un acumulador, el cual actúa como un dispositivo de “almacenamiento”, el sistema puede responder a súbitas demandas de potencia. Los robots hidráulicos son más capaces de resistir cargas súbitas que los eléctricos. 38 CAPÍTULO 3 Actuadores Desventajas • • • • • Pueden darse fugas que causan una pérdida de rendimiento y contaminación general del área de trabajo. También hay un mayor riesgo de incendios. La fuente de alimentación puede ser ruidosa, normalmente alrededor de 70 decibeles o dBA, o incluso más, si no está protegida por un amortiguador acústico. Cambios de temperatura alteran la viscosidad del líquido hidráulico. Por lo tanto, la viscosidad del líquido se incrementará y posiblemente cause movimiento lento del robot. Para robots más pequeños, la energía hidráulica usualmente no es económicamente factible, puesto que el costo de los componentes hidráulicos no se reduce en proporción al tamaño. El servocontrol de sistemas hidráulicos es complejo y no se entiende tan ampliamente como el servocontrol eléctrico. Sistemas hidráulicos impulsan a los robots más fuertes y rígidos, y por ende la selección del módulo de compresibilidad del aceite es un atributo de suma importancia. Un módulo de compresibilidad alta implica El nivel de 70 decibeles es aproximaun sistema de respuesta rígido, de respuesta rápida y damente el del ruido generado por el tráfico pesado. con un aumento de presión de rapidez correspondiente, mientras que uno de compresibilidad baja podrá dar como resultado un sistema muy libre debido a la alta compresibilidad del aceite. Los sistemas o circuitos hidráulicos siempre tienen cuatro componentes esenciales: un depósito para almacenar el fluido, bombas para transportarlo, válvulas para controlar el flujo y un actuador para llevar a cabo los dictados del fluido sobre alguna carga. Igual que los actuadores rotativos neumáticos, los hidráulicos están disponibles en el mercado. ¿Cuán ruidoso son 70 decibeles? 3.3 Actuadores eléctricos Por lo general, se habla de los actuadores eléctricos como aquéllos donde un motor eléctrico acciona los eslabones del robot por medio de alguna transmisión mecánica como por ejemplo los engranes. En los primeros años de la robótica industrial, los robots hidráulicos eran los más comunes, pero las recientes mejoras en el diseño de motores eléctricos implicaron que la mayoría de los robots nuevos fueran de construcción completamente eléctrica. El primer robot ¿Quién es ABB? comercial de accionamiento eléctrico fue introducido por ABB en 1974. Las ventajas y desventajas de un ABB es una empresa multinacional motor eléctrico son las siguientes: con sede en Zúrich, Suiza, que trabaja Ventajas • • Amplia disponibilidad en el suministro de energía. El elemento de accionamiento básico en un motor eléctrico es normalmente más ligero que para la energía de fluidos. en las áreas de la tecnología de energía y automatización. La empresa fue constituida en 1988 por medio de la fusión entre ASEA de Suecia y Brown, Boveri & Cie. de Suiza. Tiene operaciones en más de 100 países y una de las manufacturas de robots industriales más grandes del mundo. 3.3 • • • • • • • Actuadores eléctricos 39 Alta eficiencia en la conversión de la energía. Sin contaminación del ambiente de trabajo. En relación con el costo, la precisión y repetibilidad de los robots accionados por energía eléctrica es comúnmente mejor que la de robots accionados por fluidos. Por ser relativamente silenciosos y limpios, resultan muy respetuosos con el ambiente. Son de fácil mantenimiento y reparación. Los componentes estructurales pueden ser de peso ligero. El sistema de accionamiento es muy conveniente para el control electrónico. Desventajas • • • Los robots de accionamiento eléctrico frecuentemente requieren la incorporación de algún tipo de sistema de transmisión mecánica. Esto agrega masa y movimiento no deseable que requieren energía adicional y que pueden complicar el control. Debido a la complejidad más alta del sistema de transmisión, se generan costos adicionales para su adquisición y mantenimiento. Los motores eléctricos no son intrínsecamente seguros. Por lo tanto, no pueden usarse, por ejemplo, en ambientes explosivos. Las desventajas mencionadas anteriormente son paulatinamente superadas por la introducción de sistemas motrices de accionamiento directo, donde el motor eléctrico es una parte relevante de la articulación del brazo del robot, por lo que se eliminan los elementos de transmisión. Además, la introducción de más recientes motores sin escobillas permite que se usen los robots eléctricos en algunas aplicaciones de riesgo de incendios, tales como la pintura con pulverizador, puesto que se ha eliminado la posibilidad de chispas en las escobillas del motor. Los diferentes tipos de motores eléctricos son motores de paso, de CD y CA. 3.3.1 Motores a pasos CD vs. CA Los motores a pasos (Stepper Motors) (también llamados en inglés como stepping motors) se utilizaron CD significa corriente directa o continua, mientras que CA significa coprimero para el control remoto de los indicadores de rriente alterna. Las baterías en lindirección para tubos lanzatorpedos y cañones en buternas, autos, etc., suministran CD. ques de guerra británicos y, más tarde, para propósitos Para el uso doméstico, sin embargo, el suministro eléctrico es de CA con similares en la armada de Estados Unidos. Un tipo de 230 voltios y 50 ciclos (en la India y motor de reluctancia variable fue patentado por vez otros países), 110 voltios, 60 ciclos primera en 1919, por C. L. Walker, un ingeniero civil (en Estados Unidos y otros países), y escocés; sin embargo, su producción comercial no coparecidos. menzó sino hasta 1950. Estos motores son empleados en algunos robots en el más pequeño y término medio del rango industrial y con los robots de enseñanza y pasatiempo. También son ampliamente usados en otras aplicaciones industriales y tienen las ventajas de que no necesariamente requieren un sistema de retroalimentación y de los costos asociados. Sin embargo, son compatibles con muchos dispositivos de retroalimentación, si esto se requiriera, y son usados en configuraciones de servocontrol total en robots industriales de servicio medio. Puesto que se trata de motores de control digital, no necesitan el gasto adicional de equipos de conversión de digital 40 CAPÍTULO 3 Actuadores a analógica cuando se conectan a un sistema de control por computadora. Normalmente, la flecha del motor gira en forma incremental en pasos iguales en respuesta a un tren de impulsos de entrada programado. Como el rotor indexa una cantidad específica para cada pulso de control, todo error de posicionamiento es no acumulativo. Para conocer la posición final del rotor, todo lo que se requiere es contar el número de pulsos transmitidos al devanado de fase de la bobina del estator. El número de pulsos por unidad de tiempo determina la velocidad del motor. El rotor puede estar hecho para indexar lentamente, haciendo una pausa después de cada incremento, o puede moverse rápidamente generando un movimiento continuo que se llama “slewing” (hasta llegar a una velocidad de giro constante). El máximo par torsor dinámico en un motor de paso ocurre con bajas frecuencias de pulsos. Por lo tanto, puede fácilmente acelerar una carga. Una vez que se haya alcanzado la posición requerida y se terminen los impulsos de comando, la flecha se detiene sin necesidad de embragues o frenos. Los momentos de rotación o ángulos de paso reales de la flecha pueden obtenerse normalmente desde 1.8° hasta 90°, dependiendo de la selección particular del motor. Así, con un ángulo de paso nominal de 1.8°, una corriente de 1 000 pulsos dará un desplazamiento angular de 1 800° o cinco revoluciones completas. También tienen una capacidad de velocidad baja sin necesidad de reducción de engranaje. Por ejemplo, si el motor mencionado anteriormente es accionado por 500 pulsos por segundo, girará a 150 RPM. Otra ventaja del motor a pasos es que la inercia del motor a menudo es baja, y también si más de un motor a pasos es accionado desde la misma fuente éstos se mantendrán perfectamente sincronizados. Algunas desventajas son que los motores a pasos tienen menor salida y eficiencia en comparación con otros, y que las entradas y circuitos de accionamiento tienen que estar cuidadosamente diseñados en relación con el par torsor y velocidad requeridas. Hay varios tipos de motores a pasos, por ejemplo, los de reluctancia variable, los de imanes permanentes y los híbridos. i) Motor a pasos de reluctancia variable “Reluctancia magnética” o simplemente “reluctancia” es el término análogo de resistencia eléctrica. Igual que una corriente sólo sucede en un lazo cerrado, un flujo magnético ocurre sólo alrededor de una trayectoria cerrada, aunque tal vez ésta pueda ser más variada que el de una corriente. La figura 3.4a) muestra la forma básica del motor a pasos de reluctancia variable. El rotor está hecho de acero bajo carbono y tiene cuatro polos, mientras que el estator tiene seis. Cuando una de las fases, por ejemplo AA, es excitada debido a una corriente de CD que pasa a través de las bobinas alrededor de los polos, las posiciones del rotor completan la trayectoria de flujo que se muestra en la figura 3.4a). Observe que existe una trayectoria de flujo principal a través de los dientes alineados de rotor y estator, y que las trayectorias de flujo secundarias ocurren como se indica. Cuando los dientes del rotor y el estator están alineados de esta manera, la reluctancia es minimizada y el rotor está en reposo en esta posición. Puede decirse que esta trayectoria de flujo es casi como un hilo elástico que constantemente está tratando de acortarse a sí misma. El rotor se moverá hasta que los polos de rotor y estator estén alineados. Esto se llama la posición de mínima reluctancia. Para girar el motor en sentido opuesto a las manecillas del reloj, se apaga la fase AA y se excita la fase BB. En ese momento la trayectoria de flujo principal tiene la forma indicada en las figuras 3.4b) y c). Esta forma del motor a pasos generalmente da ángulos de paso de 7.5° o 15°. ii) Motor a pasos de imanes permanentes El método básico de operación de un tipo de motor de imanes (o magnetos) permanentes es similar al de reluctancia varia- 3.3 41 Actuadores eléctricos N S C S A B B N N C A N N S a) Configuración básica S S 30 B N B B N S b) Inicio del paso Figura 3.4 B S c) Paso completado Motor a pasos de reluctancia variable ble. Como se ilustra en la figura 3.5, hay dos bobinas, A y B, cada una de las cuales produce cuatro polos, pero que están desplazadas una de la otra por medio paso polar. El rotor es de construcción de imanes permanentes y tiene cuatro polos, tal como se ilustra. Cada polo está enrollado con devanado de campo y las bobinas que hay en los pares opuestos de polos están en serie. La corriente es suministrada desde una fuente de CD hasta el devanado a través de interruptores. Puede verse en la figura 3.5a) que el motor está en reposo y que los polos del rotor de imanes permanentes están sostenidos entre los polos residuales del estator. En esta posición, el rotor está enganchado, a menos que se aplique una fuerza de giro. Si se energizan las bobinas y se invierte en el primer pulso la polaridad magnética de los polos de la bobina A, el rotor sufrirá un par torsor y girará en sentido contrario a las manecillas del reloj, como se muestra en la figura 3.5b); los polos invertidos se identifican como A. Si ahora se invierten los polos de la bobina B, quedan B, como se muestra en la figura 3.5c), el rotor nuevamente sufrirá un par torsor y dará otra vuelta hasta que los polos del rotor estén posicionados a medio camino entre los polos del estator. De este modo, cambiando las corrientes a través de las bobinas, el rotor gira 45°. Si en el primer impulso los polos de la bobina B hubieran sido invertidos, entonces el motor hubiera girado en el sentido de las manecillas del reloj. Los ángulos de paso que se producen comúnmente con este tipo de motor son 1.8°, 7.5°, 15°, 30°, 34° y 90°. iii) Motor a pasos híbrido Los motores a pasos híbridos combinan las características de los motores de reluctancia variable y de imanes permanentes, teniendo un imán 42 CAPÍTULO 3 Actuadores A B N N S S A N S N S N B A B S N S A N B Rotor N A A N N S N B B S S N S B A B S N S N A Estator S A a) B S N B S N S N S B A b) N A S B A c) Figura 3.5 Motor a pasos de imanes permanentes permanente interconectado en cubiertas de hierro que están cortadas para tener dientes, como se muestra en la figura 3.6. El rotor se coloca en la posición de reluctancia mínima en respuesta a que se estén energizando un par de bobinas del estator. Los ángulos de paso normales son 0.9° y 1.8°. De la descripción anterior resulta entonces obvio que la velocidad con la que se aplican los impulsos determina la velocidad del motor, el número total de impulsos determina el desplazamiento angular y el orden en el que se energizan las bobinas en la primera instancia determina la dirección de rotación. Es precisamente por esta facilidad de accionamiento, usando el control digital directo, que los motores a pasos son apropiados para su empleo en un robot controlado por computadora, aunque el motor sí requiere interactuar con una fuente de pulsos de alta corriente. 3.3.2 Motores de CD Aunque mucha gente podría nunca haber tenido suficiente experiencia con sistemas neumáticos o hidráulicos, todos han tenido contacto casi diario con motores eléctricos. Ya sean motores CD (frecuentemente operados por baterías) para arrancar el auto u operar un juguete de niños, o motores CA (operados por la red eléctrica) para encender la licuadora, etc., N S Dientes en cubiertas Figura 3.6 Imán permanente Motor a pasos híbrido 3.3 Actuadores eléctricos 43 sus capacidades son bien conocidas. El primer robot industrial y comercial eléctricamente accionado fue introducido en 1974 por la gigantesca corporación sueca ASEA. Tradicionalmente, los expertos en robótica empleaban motores de DC (corriente directa) eléctricamente accionados para robots no sólo por la disponibilidad de versiones potentes, sino porque son fácilmente controlables con dispositivos electrónicos relativamente sencillos. Aunque se necesita corriente directa, rara vez se usan baterías (para robots no móviles); en cambio, se “rectifica” el suministro de CA para dar un equivalente adecuado de CD. La operación de un motor eléctrico se basa en el principio de que un conductor sufrirá una fuerza si una corriente eléctrica fluye con ángulos rectos hacia un campo magnético. Por lo tanto, se requiere dos componentes básicos para construir un motor: uno para producir el campo magnético —usualmente llamado estator— y otro para funcionar como conductor —comúnmente llamado armadura o rotor—. El principio se muestra en la figura 3.7a) para un elemento de un motor CD, mientras que un motor CD de dos polos se presenta en la figura 3.7b). El campo Conductor s Rotación Escobillas – Campos magnéticos Conmutador i + a) Principio de un motor CD Estator Bobinas de campo Rotor o armadura Escobillas N S Conmutador b) Motor CD de dos polos con bobinas de campo Figura 3.7 Motor CD 44 CAPÍTULO Tabla 3.3 3 Actuadores Especificaciones de un motor CD (Catálogo RS) Especificaciones técnicas Marca Núm. de parte del fabricante Tipo Tamaño del eje (SMI) Velocidad (rpm) Potencia nominal (W) Voltaje nominal (VCD) Corriente de entrada Altura (mm) Ancho (mm) Largo (mm) Parvalux PM2 160W511109 Motor eléctrico industrial CD M 4 000 rpm 160 W 50 V(CD) 3.8 A 78 mm 140 mm 165 mm Par torsor magnético podrá ser creado por “bobinas de campo” devanadas en el estator o por imanes permanentes. Si se usaran las bobinas de campo, recibirían una corriente eléctrica para crear los polos magnéticos en el estator. En la figura 3.7b), la corriente del rotor es suministrada a un conductor por medio de “escobillas” y “conmutadores”. La corriente que pasa a través del campo produce un par torsor en el conductor que tiene el máximo para s = 90°. Además, entre más alto sea el voltaje suministrado a las bobinas del estator del motor, más rápidamente girará el motor, lo que proporciona un método muy sencillo para el control de velocidad. De manera parecida, la variación de la corriente que recibe la armadura controla el par torsor. La inversión de la polaridad del voltaje causa que el motor gire en el sentido opuesto. Algunos robots grandes utilizan motores de CD de control de campo, es decir, motores en los cuales el par torsor es controlado por la manipulación de la corriente que va a las bobinas de campo. Estos motores permiten una mayor salida de potencia con altas velocidades y pueden dar una buena relación de potencia-peso. Especificaciones típicas de un motor CD se dan en la tabla 3.3, mientras que sus características de velocidad/par torsor se muestran en la figura 3.8 para diferentes valores de voltaje. Sin embargo, puede decirse que para sistemas robóticos industriales, los métodos de control de campos excitados por corriente Voltaje significan un tiempo de respuesta demasiaalto do lento y causan pérdidas que hacen que el control por campos magnéticos permanentes y por armadora sea más atractivo. i) Motores de CD de imanes permanentes (IP) En el motor de imanes permanentes no se usa bobinas de campo y el campo es producido por los imanes permanentes. Algunos motores de (Imanes Permanentes) IP tienen bobinas devanadas sobre Voltaje bajo Velocidad de rotación Figura 3.8 Características de velocidad del par torsor 3.3 Actuadores eléctricos 45 Yunque Imanes permanentes Árbol Armadura a) Cilíndrico b) Disco Figura 3.9 Dos tipos de configuraciones de motores de CD de imanes permanentes los polos de imanes, pero éstas sólo sirven para recargar los imanes si su fuerza falla. Debido al hecho de que el flujo de campo es una constante, el par torsor de estos motores es directamente proporcional a la corriente de la armadura. Otras ventajas son: no se requieren fuentes de energía de excitación para las bobinas de campo, la confiabilidad es mejorada conforme no exista fallas en las bobinas de campo, y el que no existan pérdidas de potencia de las bobinas de campo se traduzcan en una mejora en la eficiencia y el enfriamiento. Dos tipos de configuración de IP se muestran en la figura 3.9. Se trata de los tipos cilíndricos y de disco. El motor cilíndrico trabaja de manera parecida a la que ya se describió para otros motores de CD, excepto porque no hay bobinas de campo, mientras que el motor de disco tiene un diámetro largo y una armadura corta de algún material no magnético. El que más comúnmente se usa en robots industriales es el motor cilíndrico. ii) Motores de CD de imanes permanentes sin escobillas Un problema de los motores de CD es que requieren un conmutador y escobillas a fin de invertir periódicamente la corriente a través de cada bobina de la armadura. Las escobillas hacen un contacto de deslizamiento con los conmutadores, saltan chispas entre los dos y, en consecuencia, sufren desgaste. Por lo tanto, las escobillas tienen que cambiarse periódicamente y la superficie de los conmutadores debe renovarse. Para evitar estos problemas se diseñaron motores sin escobillas que consisten básicamente en una secuencia de la bobina del estator C A y un rotor de imanes permanentes. Un conductor que lleva corriente en un campo magnético experimenta una fuerza; de igual manera, como N B B consecuencia de la tercera ley de movimiento S de Newton, el imán también sufrirá una fuerza Bobinas opuesta e igual. En el motor CD convencional, Rotor del estator el imán está fijo y se hace que los conductores de imán de corriente se muevan. En el motor CD de imaA C permanente nes permanentes sin escobillas el mecanismo es al contrario: los conductores de corriente están Figura 3.10 Motor CD de imanes perfijos y el imán se mueve. El rotor es un imán manentes sin escobillas 46 CAPÍTULO 3 Actuadores permanente de ferrita o cerámico. La figura 3.10 muestra la forma básica de uno de estos motores. La corriente que va a las bobinas del estator es electrónicamente cambiado por transistores en secuencia alrededor de las bobinas, donde la conmutación está controlada por la posición del rotor, de tal modo que siempre hay fuerzas que actúan sobre el imán, haciendo que gire en el mismo sentido. Los motores “sin escobillas” tienen muchas ventajas sobre los motores CD convencionales; por ejemplo: • • • • • • • Tienen una mejor disipación de calor, ya que éste se pierde más fácilmente desde el estator que desde el rotor. Hay una inercia reducida del rotor. Los motores sin escobillas son menos costosos. Son mucho más duraderos. Pesan menos. Son de menores dimensiones, pero con una potencia comparable. La ausencia de escobillas reduce los costos de mantenimiento debido al desgaste de escobillas y conmutadores, y también permite que los robots eléctricos se utilicen en áreas de peligro, por ejemplo, en atmósferas inflamables, como aplicaciones de aspersión de pintura. Una desventaja es que el sistema de control para motores sin escobillas es relativamente más caro. 3.3.3 Motores CA Hasta hace poco, los motores CA (de corriente alterna) no se habían considerado apropiados para robots debido a los problemas involucrados en el control de sus velocidades. En su forma más sencilla, el motor CA consiste en electroimanes externos alrededor de un rotor central pero sin ninguna forma de mecanismo de conmutación mecánico para los electroimanes. Sin embargo, puesto que la corriente alterna (tal como el suministro eléctrico público) constantemente cambia de polaridad (primero fluyendo en un sentido, luego en el opuesto, varias veces por segundo, por ejemplo, 50 veces en la India y 60 en Estados Unidos), es posible conectar el suministro de CA directamente a los electroimanes. La inversión alterna del sentido de la corriente a través de las bobinas realizará la misma tarea de cambio de polaridad que en los motores DC. El campo magnético de las bobinas parecerá “girar” (casi como si las bobinas por mismas hubiesen sido giradas mecánicamente). Especificaciones típicas de un motor CA se muestran en la tabla 3.4. Las características de velocidad/par torsor de los motores CA se presentan en la figura 3.11. Los motores CA no han sido extensamente empleados en aplicaciones robóticas debido a los problemas que surgen en el control de velocidad. En principio, entre más alta sea la frecuencia de la corriente alterna aplicada al motor, más rápidamente girará. Hasta hace poco, en gran medida fue muy impráctico suministrar frecuencias variables en forma simultánea a un número de accionamientos de ejes. Observe que en ambos tipos de motores el electromagnetismo se usa para suministrar el frenado regenerativo con el fin de disminuir los tiempos de desaceleración y minimizar el exceso del eje. Ambos tipos demuestran un incremento de velocidad cuando hay un aumento de la señal de entrada. Sin embargo, por cualquier aumento 3.3 Actuadores eléctricos 47 Tabla 3.4 Especificaciones de un motor CA (Catálogo RS) Especificaciones técnicas Marca ABB Núm. de parte del fabricante Tipo Voltaje de alimentación Potencia de salida Corriente de entrada Diámetro del árbol Largo del árbol Velocidad Par torsor nominal Par de arranque Altura Largo Ancho 1676687 Motores industriales eléctricos monofásicos y trifásicos 220-240 VCA 50 Hz 180 W 0.783 A 14 mm 30 mm 1 370 rpm 1.3 Nm 1.3 Nm 150 mm 213 mm 120 mm de la señal de entrada dado (por voltaje o por frecuencia de voltaje), la velocidad del motor no puede pronosticarse con precisión. Tienen que hacerse preparativos adicionales para medir la velocidad del motor y comparar esta velocidad real con la velocidad del comando. Los motores de corriente alterna (CA) pueden clasificarse en dos grupos, monofásicos y polifásicos, donde cada grupo está subdividido en motores de inducción y motores síncronos. Los monofásicos se usan normalmente para requerimientos de baja potencia, mientras que los polifásicos, para potencias mayores. Los motores de inducción son por lo regular más económicos que los que son síncronos y, por lo tanto, se emplean muy extensamente. Diseño A Par torsor (% del valor nominal) 300 Diseño C Diseño D 200 100 Diseño B 0 Figura 3.11 0 20 40 60 80 Velocidad (% del valor nominal) 100 Características normales de velocidad/par torsor para cuatro diferentes diseños de un motor de inducción CA. [Cortesía: http://www.offshoresolutions.com/products/motors/ac/ induction.htm] 48 CAPÍTULO 3 Actuadores i) El motor de inducción monofásico con rotor jaula de ardilla Este motor consiste en un rotor de jaula de ardilla hecho de barras de cobre o aluminio que caben en ranuras en los anillos de extremos para formar circuitos eléctricos completos, como los que se muestran en la figura 3.12. No hay conexiones eléctricas externas al rotor. El motor básico consiste ¿Motor CD en este rotor con un estator que tiene un conjunto de o motor CA? devanados. Cuando una corriente alterna pasa a traLos motores CD son fáciles de controvés de los devanados del estator, se produce un campo lar en comparación con los motores magnético alternativo. Como resultado de la inducCA. Por lo tanto, se prefieren los prición electromagnética, fuerzas electromagnéticas son meros en aplicaciones robóticas. inducidas en los conductores del rotor y el flujo de corriente en el rotor. Inicialmente, cuando el rotor es estacionario, las fuerzas que hay en los conductores que portan corriente o en el rotor del campo magnético del estator son tales que dan como resultado que no exista un par torsor neto. El motor no es de arranque automático. Existen métodos para hacer que el motor sea de arranque automático y para dar este impulso para arrancarlo. Uno de estos métodos es el de usar un devanado de arranque auxiliar para dar al rotor un empuje inicial. El rotor gira con una velocidad determinada por la frecuencia de la corriente alterna que se aplica al estator. Para un suministro de frecuencia constante a un motor monofásico de dos polos, el campo magnético alternará con esta frecuencia. Esta velocidad de rotación del campo magnético se denomina velocidad síncrona. El rotor nunca igualará esta frecuencia de rotación y normalmente difiere de ella en 1 a 3%. Esta diferencia se llama slip (diferencia de velocidad entre la rotación síncrona y la operativa). Por lo tanto, para un suministro de 50 Hz, la velocidad de rotación del rotor será casi 50 revoluciones por segundo. ii) El motor de inducción trifásico Como se muestra en la figura 3.13a), este motor es parecido al de inducción monofásico, pero tiene un estator con tres devanados ubicados con 120° aparte, donde cada devanado está conectado a una de las tres líneas del suministro. Puesto que las tres fases alcanConductores del rotor que forman la jaula de ardilla zan sus corrientes máximas en diferentes momentos, puede considerarse que el campo magnético gira alrededor de los polos del estator, completando una rotación en un Anillos de extremos que conectan los extremos ciclo completo de la corriente. La rotación de todos los conductores para formar los circuitos del campo es mucho más suave que en el en los cuales se inducen corrientes motor monofásico. El motor trifásico tiene Estator Rotor una gran ventaja sobre el motor monofásico por ser de arranque automático. El sentido Polo Polo de rotación se invierte por el intercambio de cualquiera de dos de las conexiones de línea, lo que cambia el sentido de rotación del campo magnético. iii) Motores síncronos Los motores síncronos tienen estatores similares a los que se describen arriba para los motores Vista del extremo de la jaula de ardilla Figura 3.12 Motor de inducción monofásico 3.4 Selección de motores 49 Tres pares de inducción, pero un rotor es un imán persimétricamente ubicados manente. El campo magnético producido Rotor por el estator gira, así que el imán lo hace con él. Con un par de polos por fase de suministro, el campo magnético gira 360° en un N S ciclo del suministro, por lo que la frecuencia de rotación en esta disposición es la misma que la frecuencia del suministro. Se utilizan Estator motores síncronos cuando se requiere una a) b) velocidad precisa. Estos motores no son de Figura 3.13 Motor de CA trifásico arranque automático, por lo que tiene que emplearse algún sistema para arrancarlos. En comparación con los motores de CD, los motores CA tienen la gran ventaja de ser más económicos, resistentes, confiables y libres de mantenimiento. Sin embargo, el control de velocidad es por lo general más complejo que en motores DC; como consecuencia, un accionamiento de CD con control de velocidad generalmente resulta más barato que un accionamiento CA con control de velocidad, aunque la diferencia de precios se reduce cada vez más como resultado de desarrollos tecnológicos y de la reducción de precios de dispositivos de estado sólido. El control de velocidad de motores CA está basado en la disponibilidad de un suministro de frecuencia variable, puesto que la velocidad de estos motores es determinada por la frecuencia del suministro. En algunos casos especiales, por ejemplo, en motores CA de inducción de rotor devanado, la velocidad puede ser controlada mediante el acceso al circuito del rotor, donde diferentes valores de resistencia pueden insertarse en el circuito del rotor. 3.4 Selección de motores Para cualquier aplicación de robots tiene que decidirse cuál de los actuadores disponibles es el más adecuado. Tiene que tomarse en consideración precisión de posicionamiento, confiabilidad, velocidad de operación y costo, así como otros factores. Los motores eléctricos son por naturaleza limpios y con capacidad para trabajar con alta precisión si son operados correctamente. En contraste, los sistemas neumáticos no son capaces de operar una trayectoria continua de alta precisión, y los actuadores hidráulicos requieren del uso de aceite a presión. Los sistemas hidráulicos pueden generar mayor potencia en un volumen compacto que en los motores eléctricos. El aceite a presión puede conducirse por tuberías hacia actuadores sencillos, capaces de generar pares de torsión con altos valores y operaciones rápidas. También hay que tomar en cuenta que la potencia necesaria para controlar una válvula electrohidráulica es pequeña. Básicamente, este trabajo se realiza mediante la compresión del aceite y suministrarlo a los accionamientos del brazo del robot. Toda la energía puede ser suministrada por un solo motor eléctrico poderoso y eficiente que acciona la bomba hidráulica que está en la base del robot o ubicada en alguna distancia. La potencia es controlada en válvulas electrohidráulicas compactas. Sin embargo, las válvulas electrohidráulicas de alta precisión son más costosas y menos confiables que los amplificadores y controladores eléctricos de baja potencia. Por otra parte, los motores eléctricos 50 CAPÍTULO 3 Actuadores deben tener controles individuales capaces de controlar su potencia. En robots de mayores dimensiones, esto requiere la conmutación de 10 a 50 amperios con 20 a 100 voltios. La conmutación de la corriente tiene que ser rápida; de lo contrario, habrá una gran disipación de potencia en el circuito de conmutación que causará un exceso de calor. Los motores eléctricos pequeños usan circuitos de conmutación sencillos y son fáciles de controlar por medio de los circuitos de baja potencia. Los motores a pasos son particularmente sencillos para la operación de un lazo abierto. La ventaja más grande de un sistema hidráulico es la seguridad de su operación. Como regla general, se prefieren actuadores hidráulicos donde se requieren movimientos rápidos con altos pares de torsión, en rangos de potencia que estén aproximadamente en el orden de los 3.5 kW, a menos que no pueda tolerarse la ligera posibilidad de una fuga de aceite. Los motores eléctricos son preferidos para niveles de potencia que estén por debajo de a 1.5 kW aproximadamente, a menos que haya un peligro debido al posible incendio de materiales explosivos. En rangos entre 1-5 kW, podrá determinar la decisión la disponibilidad de un robot en un sistema de coordenadas particular con características específicas o por un costo más bajo. La confiabilidad de todo tipo de robots manufacturados por fabricantes reconocidos industrialmente es suficientemente buena. No obstante esto no es el factor más determinante. 3.4.1 Cálculos Se necesitan cálculos matemáticos simples para determinar el par torsor, velocidad y características de potencia de un actuador o motor para diferentes aplicaciones. El par torsor se define en términos de una fuerza multiplicada por distancia o momento. Una fuerza f, a la distancia a del centro de rotación, tiene un momento o par torsor t, o sea t = fa. En términos generales, la potencia P es transmitida en un eje de mando y es determinada por el par torsor t, multiplicado por la velocidad angular w. La potencia P es expresada como P = tw. Como ejemplo, el cálculo puede señalar cuántos kilovatios o caballos de potencia se requieren en un motor que se usa para accionar un brazo de robot de 2 metros que levanta una masa de 25 kg a 10 rpm. Si la masa del brazo es considerada igual a cero, entonces P = (25 × 9.81 × 2) (2p× 10/60) = 0.513 kW El uso de ecuaciones simples de este tipo es a menudo suficiente para lograr una aproximación útil de un valor deseado. Cálculos más detallados pueden considerar todos los datos apropiados, usando las ecuaciones de estática y dinámica que apliquen. RESUMEN Un robot se mueve por actuadores. Se explican diferentes formas de actuadores, a saber: neumáticos, hidráulicos y eléctricos. Para los motores eléctricos, se presentan sus especificaciones normales así como las características de velocidad/par torsor. También se resume a grandes rasgos cómo debe seleccionarse un motor adecuado. Ejercicios basados en la web 51 EJERCICIOS 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 3.20 Mencione los componentes de un sistema actuador de una articulación. ¿Qué es un actuador? Mencione los requerimientos de un actuador para aplicaciones robóticas. ¿Cuáles son los diferentes tipos de actuadores? Haga una lista de tres ventajas y tres desventajas de un actuador neumático. Indique las aplicaciones típicas de los actuadores neumáticos. ¿Por qué se prefieren actuadores neumáticos en robots de montaje de la industria? ¿Por qué se necesita un tanque de almacenamiento en actuadores neumáticos? ¿Qué componente provee básicamente el movimiento mecánico? ¿Cuándo se prefieren actuadores hidráulicos en los sistemas robóticos? ¿Qué fluido es utilizado en actuadores hidráulicos y cuál es el rango de presión? Indique los diferentes tipos de actuadores hidráulicos. ¿Cuáles son los riesgos al usar actuadores hidráulicos? ¿Cuál es la función de la Válvula de Control de Direccional? Indique las ventajas y desventajas de los motores eléctricos. ¿Cuáles son los tipos de motores a pasos? ¿Por qué se prefiere utilizar motores de CD como si fueran servomotores? Describa las diferencias funcionales entre los motores a pasos, los CD y los CA. Dibuje una gráfica típica de velocidad/par torsor de un motor CD. ¿Cómo se selecciona un motor? EJERCICIOS BASADOS EN LA WEB Basándose en búsquedas en la web, conteste las siguientes preguntas: 3.21 Mencione tres empresas que fabrican tanto actuadores neumáticos como hidráulicos. ¿Cuáles son los precios de estos actuadores? 3.22 Busque por lo menos tres fabricantes de motores eléctricos CD y CA. ¿Cuáles son sus precios? 3.23 ¿Cuál es un valor típico de la constante del motor CD? 3.24 Infórmese si existe algún software que pueda especificar un motor con base en los requerimientos de carga y la velocidad de un robot. Indíquelo. 3.25 Encuentre dos empresas que fabriquen motores de accionamiento directo. Capítulo 4 Sensores Los sensores en los robots son como nuestros ojos, nariz, oídos, boca y piel. A semejanza de los órganos humanos, por ejemplo los ojos o la piel, términos como visión, táctil, etc., han surgido en la jerga de los sensores de robots. Tal como los seres humanos, los robots tienen que recabar amplia información sobre su ambiente a in de funcionar de manera efectiva. Tienen que recoger un objeto y saber que lo han recogido. Cuando el brazo del robot se mueve a través del espacio cartesiano, tiene que evitar obstáculos y acercarse a los objetos con una velocidad controlada. Algunos objetos son pesados; otros, frágiles; y algunos más, demasiado calientes para ser manejados. Estas características de los objetos y del ambiente tienen que reconocerse e introducirse en la computadora que controla los movimientos del robot. Por ejemplo, para mover el efector inal de un robot, con o sin carga, a lo largo de una trayectoria deseada y ejercer una fuerza deinida sobre un objeto, el efector inal y los sensores (que normalmente se ubican en las articulaciones) trabajan en coordinación con el controlador del robot (microprocesador, computadora o microcontrolador, cualquiera que fuere el caso). 4.1 Clasificación de sensores Las capacidades más comunes requeridas por un robot son las siguientes: i) Tacto sencillo Presencia o ausencia de un objeto. 4.2 Sensores internos 53 ii) Palpación o tacto complejo Presencia de un objeto más alguna información sobre su tamaño o forma. iii) Fuerza simple Fuerza medida a lo largo de un solo eje. Sensor vs. transductor iv) Fuerza compleja Fuerza medida a lo largo de dos o más ejes. v) Proximidad Detección de un objeto sin contacto. vi) Visión simple Detección de bordes, agujeros, esquinas, etcétera. Un sensor es una especie de transductor, mientras que un transductor es un dispositivo que convierte un tipo de energía en otro para varios propósitos, incluida la medición de parámetros físicos como posición, velocidad, etcétera. vii) Visión compleja Reconocimiento de formas. Para el control de movimiento, dispositivos como potenciómetros, generadores tacométricos, encóders, etc., se usan como sensores en las articulaciones, mientras que sensores basados en galgas extensométricas, etc., se usan en el efector inal para el control de la fuerza de contacto. Una clasiicación amplia de sensores se encuentra en la igura 4.1. 4.2 Sensores internos Como lo sugiere el nombre, los sensores internos se emplean para monitorear el estado interno de un robot, es decir, su posición, velocidad, aceleración, etc., en un momento determinado. Basado en estas informaciones, el controlador decide acerca del comando de control. Dependiendo de las diferentes cantidades que miden, los sensores se denominan como de posición, velocidad, aceleración o fuerza. 4.2.1 Sensores de posición Los sensores de posición miden la posición de cada articulación, es decir, el ángulo de articulación de un robot. A partir de dichos ángulos puede encontrarse la coniguración del ejecutor inal, y ubicar su posición y orientación por medio de la cinemática directa, que se revisará en el capítulo 6. A continuación se explican los diferentes sensores de posición. i) Encóder El encóder es un dispositivo óptico digital que convierte el movimiento en una secuencia de pulsos digitales. Mediante el conteo de un solo bit o la decodiicación de un conjunto de bits, los pulsos pueden convertirse en medidas relativas o absolutas. De este modo, los encóders son de tipo incremental o absoluto. Además, cada tipo puede ser lineal y rotatorio a su vez. a) Encóder lineal incremental Como se muestra en la igura 4.2a), este encóder tiene una escala transparente con una retícula opaca. El tamaño del espesor de las líneas de la retícula y el del espacio entre ellas son iguales y se encuentran en el rango de micrones. De un lado, la escala se equipa con una fuente de luz y un lente de condensador. Del otro, hay celdas 54 Sensores Lineal Rotativo Velocidad Fuerza Aceleración Todos los sensores de fuerza Galgas extensométricas Interruptores de límite Encóder incremental Encóder absoluto Potenciómetro Interruptores neumáticos Interruptores de efecto Hall Todos los sensores de posición Tipo sin contacto Tipo de contacto Sensores piezoeléctricos Tacómetro Interruptores piezoeléctricos LVDT Transductores de presión Sensor de efecto Hall Resólver Sensores de proximidad Sensores de efecto Hall Sensores de microondas Sensores ultrasónicos Sensores láser Sensores de visión Figura 4.1 Clasificación de sensores 4 Sensores Posición CAPÍTULO Sensores externos Sensores internos 4.2 Sensores internos 55 Fuente de luz Lente de condensador Escala de vidrio con retícula opaca Retícula de índice Celdas sensibles a la luz a) Tipo lineal incremental Posición del escáner 1 0 0 1 1 16 0 0 2 1 El escáner lee la posición como 16 + 2 + 1 = 19 b) Tipo lineal absoluto 14 13 12 0 15 OP 1 OP2 OP3 OP4 1 2 Disco codiicado perforado Eje o lecha Electrónica de procesamiento de señales 3 11 4 10 c) Tipo rotativo incremental 5 Muchas fuentes de luz Fuente de luz Detector de luz 9 6 8 7 d) Tipo rotativo absoluto e) Encóder rotativo Figura 4.2 Encóders sensibles a la luz. La resistencia de las celdas (fotodiodos) disminuye cada vez que reciben un rayo de luz. De este modo, se genera un pulso cada vez que un rayo de luz es atravesado por la línea opaca. Este pulso se introduce en el controlador que actualiza a un contador (un registro de la distancia recorrida). b) Encóder lineal absoluto En principio, se parece al encóder lineal incremental. La diferencia es que da un valor absoluto de la distancia recorrida en cualquier momento. Así, las posibilidades de perder los pulsos a altas velocidades son menores. La salida es digital en este caso. La escala se marca con una secuencia de tiras opacas y transparentes, como se muestra en la igura 4.2b). Si el bloque opaco que aparece en la escala de la ilustración repre- 56 CAPÍTULO 4 Sensores senta 1 (uno) y el bloque transparente 0 (cero), entonces la columna de la extrema izquierda mostrará un número binario como 00000, es decir, un valor decimal de 0, y la columna siguiente mostrará un número binario 00001, es decir, una valor decimal de 1. c) Encóder rotativo incremental Se parece al encóder incremental lineal, con la diferencia de que las retículas se encuentran en este caso en un disco, como en la igura 4.2c). El valor común del espesor de los espacios transparentes es igual a 20 micrones. Hay dos conjuntos de líneas de retículas en diferentes círculos que detectan el sentido de rotación, lo que permite mejorar la precisión del sensor. Tabla 4.1 Muestra de códigos grises Hay otro círculo que sólo contieDecimal Código binario Código gris ne una marca de retícula. Éste se usa para la medición del número 0 0000 0001 de revoluciones completadas. 1 0001 0001 2 0010 0011 d) Encóder rotativo absoluto 3 0011 0010 Parecido al encóder lineal absoluto, el disco se divide en un núme4 0100 0110 ro de tiras circulares, y cada tira tiene segmentos de arco deinidos, como se muestra en la igura 4.2d). Este sensor proporciona directamente la salida digital (absoluta). El encóder se monta directamente sobre el eje del motor o con algún engranaje para aumentar la precisión de medición. Con el in de evitar ruidos en este encóder, a veces se usa una escala gris. Un código gris, a diferencia de los códigos binarios, permite que sólo uno de los bits binarios en una secuencia de código cambie entre líneas radiales. También impide que se confundan los cambios en la salida binaria del encóder absoluto cuando el encóder oscila entre puntos. Una muestra de un código gris se presenta en la tabla 4.1 para algunos números. Observe la diferencia entre los códigos grises y binarios. La disposición básica del encóder rotativo se presenta en la igura 4.2e). ii) Potenciómetro El potenciómetro, también llamado simplemente “poti”, es un dispositivo de resistencia variable que expresa desplazamientos lineales o angulares en términos de voltaje, tal como se muestra en las iguras 4.3a) y b), respectivamente. Consiste en una clavija deslizante que hace contacto con un elemento resistivo; conforme se mueve este punto de contacto, la resistencia entre el contacto deslizante y las conexiones de los extremos del dispositivo cambia en proporción al desplazamiento, x y ␪ para potenciómetros lineales y angulares, respectivamente. iii) LVDT El transformador diferencial lineal variable (LVDT) es uno de los transductores de desplazamiento que más extensamente se usa, particularmente cuando se necesita alta precisión. Genera una señal de CA cuya magnitud se relaciona con el desplazamiento de un núcleo móvil, como se indica en la igura 4.4. El concepto básico es el de un núcleo férrico que se mueve en un campo magnético, donde el campo se produce de un modo similar al campo de un transformador estándar. Existe un núcleo central, rodeado por dos bobinas secundarias idénticas y una bobina principal, como se muestra en la igura 4.4. Conforme el núcleo cambia su posición con respecto a las bobinas, cambia también el campo magnético y, por tanto, se modiica la amplitud de voltaje en la bobina secundaria como una función 4.2 Sensores internos + L vR x – v0 R0 a) Tipo lineal + a – q vR R0 v0 b) Tipo rotatorio vR: Voltaje de referencia; v0: Voltaje medido L, x, R0, a, q: Otros parámetros físicos Figura 4.3 Potenciómetros Bobinas secundarias idénticas Aislador x Núcleo férrico móvil Conexión con el objeto desplazado Bobina principal Voltage |v0| de salida –a O a a: Valor de x para la zona lineal Figura 4.4 Principio del LVDT Posición del núcleo x 57 58 CAPÍTULO 4 Sensores del desplazamiento del núcleo a través de un segmento considerable. Un transformador diferencial rotatorio variable (RVDT) opera con el mismo principio que el LVDT, y también está disponible con un rango de aproximadamente  40º. iv) Sincronizadores y resólvers Mientras que los encóders producen salidas digitales, los sincronizadores y resólvers proporcionan señales análogas como salida. Éstos consisten en un eje (lecha) giratorio (rotor) y una carcasa estacionaria (estator). Sus señales tienen que convertirse a la forma digital por medio de un convertidor analógico a digital antes de que la señal sea introducida a la computadora. Como se ilustra en la igura 4.5, los sincronizadores y resólvers emplean rotores de un solo devanado que giran dentro de estatores ijos. En un sincronizador sencillo, el estator tiene tres devanados, orientados a 120º uno del otro y eléctricamente conectados en una conexión “Y”. Los resólvers diieren de los sincronizadores en que sus estatores sólo tienen dos devanados orientados a 90º. Puesto que los sincronizadores tienen tres bobinas de estator en una orientación de 120º, son más difíciles de fabricar que los resólvers y, por tanto, más caros. Los resólvers modernos, en contraste, están disponibles sin escobillas ya que emplean un transformador para acoplar las señales del rotor desde el estator al rotor. El devanado principal de este transformador se ubica en el estator, y el secundario en el rotor. Otros resólvers utilizan las escobillas o anillos colectores tradicionales para acoplar la señal al devanado del rotor. Los resólvers sin escobillas son más resistentes que los sincronizadores porque no hay riesgo de que las escobillas puedan romperse o soltarse, por lo que la vida útil de un resólver sin escobillas sólo está limitada por sus cojinetes. La mayoría de los resólvers se fabrican para trabajar a en un rango de de 2V hasta 40V RMS y a frecuencias de entre 400 Hz a 10 kHz. Las precisión angular abarca de 5 minutos de arco hasta 0.5 minutos de arco. (Hay 60 minutos de arco en un grado y 60 segundos de arco en un minuto de arco.) En la operación, los sincronizadores y resólvers se parecen a transformadores rotatorios. El devanado del rotor se excita mediante un voltaje de referencia de CA con frecuencias de hasta algunos kHz. La magnitud del voltaje inducido en cualquier devanado del estator S1 Rotor R1 Rotor S2 Estator Sincronizador S1 A S 3 = V sen ␻t sen ␪ S3 A S 2 = V sen ␻t sen (␪ + 120°) S2 A S 1 = V sen ␻t sen (␪ + 240°) ␪ V sen ␻t R2 S3 R1 Estator Rotor V sen ␻t R2 Resolver S4 Estator S1 A S 3 = V sen ␻t sen ␪ S4 A S 2 = V sen ␻t sen (␪ + 90° = V sen ␻t cos ␪ S2 Figura 4.5 Sincronizadores y resólvers 4.2 Sensores internos 59 es proporcional al seno del ángulo ␪ entre el eje de la bobina del rotor y el eje de la bobina del estator. En el caso de un sincronizador, el voltaje inducido a través de cualquier par de terminales del estator será la suma vectorial de los voltajes a través de las dos bobinas conectadas. Por ejemplo, si el rotor de un sincronizador se excita mediante un voltaje de referencia V sen (w t) a través de sus terminales R1 y R2, la terminal del estator verá voltajes en la siguiente forma: V sen (wt) sen q V sen (wt) sen (q + 120°) V sen (wt) sen (q + 240°) donde V y w son la amplitud de entrada y frecuencia, respectivamente, mientras que ␪ es el ángulo del eje (lecha). En el caso de un resólver con un voltaje de referencia de CA del rotor de V sen (wt), los voltajes en las terminales del estator serán S1 a S3 = V sen (wt) sen q S4 a S2 = V sen (wt) sen (q + 90°) = V sen (wt) cos q Como se mencionó anteriormente, la salida de estos sincronizadores y resólvers primero tiene que digitalizarse. Para este propósito se utilizan convertidores analógicos-digitales, que normalmente son de 8 o 16 bits. Ocho bits signiica que el rango completo de señales analógicas será convertido en un máximo de 28 = 256 valores. 4.2.2 Sensores de velocidad Los sensores de velocidad realizan la medición tomando medidas de posición consecutivas a intervalos de tiempo constante, calculando la razón de cambio respecto al tiempo de los valores de posición, o lo determina en forma directa con base en diferentes principios. i) Todos los sensores de posición Básicamente todos los sensores de posición, cuando se utilizan con ciertos límites de tiempo, pueden dar la velocidad, por ejemplo, el número de pulsos proporcionados por un encóder de posición incremental dividido entre el tiempo consumido en hacerlo. Sin embargo, este método impone una carga computacional sobre el controlador, que podrá estar ocupado por algunas otras operaciones. ii) Tacómetro Estos sensores pueden encontrar directamente la velocidad en cualquier momento y sin mucha carga computacional. Éstos miden la velocidad de rotación de un elemento. Hay varios tipos de tacómetros en uso, pero un diseño sencillo se basa en la regla de Fleming, que declara que “el voltaje producido es proporcional al índice del acoplamiento inductivo”. Aquí un conductor (básicamente una bobina) se sujeta al elemento rotativo que gira en un campo magnético (estator). Conforme incrementa la velocidad del eje, el voltaje producido en las terminales de las bobinas también aumenta. De otra manera, como se muestra en la igura 4.6, puede colocarse un imán sobre el eje rotativo y una bobina sobre el estator. El voltaje producido es proporcional a la velocidad de rotación del eje. Esta información se digitaliza mediante un convertidor analógico-digital y se introduce en la computadora. iii) Sensor de efecto Hall Otro dispositivo de medición de velocidad es el sensor de efecto Hall, cuyo principio se describe a continuación. Si una pieza plana de ma- 60 CAPÍTULO 4 Sensores Eje (lecha) Imán permanente N S Líneas de fuerzas magnéticas Núcleo ferromagnético Señal de voltaje Figura 4.6 Diagrama esquemático de un tacómetro terial conductivo llamada chip Hall se sujeta a una diferencia de potencial en sus dos lados opuestos como se indica en la igura 4.7, entonces el voltaje que se genera a través de las caras perpendiculares es cero. Pero si un campo magnético se induce en ángulos rectos al conductor, el voltaje se genera en las otras dos caras perpendiculares. Entre más alto sea el valor de campo, más lo será el nivel de voltaje. Si se utiliza un imán anular, el voltaje producido será proporcional a la velocidad de rotación del imán. 4.2.3 Sensores de aceleración De manera parecida a las mediciones de velocidad que se dan a partir de la información de los sensores de posición, pueden encontrarse las aceleraciones como la razón de cambio respecto al tiempo de las velocidades obtenidas por los sensores de velocidad o calculado a partir de las informaciones de posición. Pero ésta no es una manera eiciente para calcular la aceleración, puesto que impondrá una carga de trabajo pesada sobre la computadora, lo que puede reducir la velocidad de operación del sistema. Otra forma de medir la aceleración es calculando la fuerza que resulta de multiplicar masa por aceleración. Las fuerzas se Flujo de corriente Chip Hall N Flujo (campo magnético) Señal de voltaje S Señal de voltaje (analógico) Figura 4.7 Principio de un sensor de efecto Hall 4.2 miden, por ejemplo, usando galgas extensométricas, cuya fórmula es F= D RAE RC donde F: fuerza; ∆R: cambio de resistencia de la galga; A: área; E: módulo de elasticidad del material de la galga; R: resistencia original de la galga; y C: constante de deformación de la galga. Por tanto, la aceleración a es la fuerza dividida entre la masa del objeto de aceleración m, es decir, a= Sensores internos 61 ¿Por qué aceleración a partir de la fuerza pero no a partir de la velocidad? Encontrar la aceleración a partir de la fuerza involucra integración, lo que suprime cualquier ruido en la señal de fuerza. Sin embargo, si la señal de velocidad se usa para determinar la aceleración, tiene que realizarse la diferenciación, lo que amplifica el ruido en la señal de velocidad. Por lo tanto, se recomienda el primer método. D RAE RCm Se señala aquí que las velocidades y aceleraciones que se miden mediante el uso de sensores de posición requieren diferenciaciones. Por lo general, esto no es deseable, puesto que el ruido en los datos medidos, si es que existe, será ampliicado. En forma alternativa, se recomienda el uso de integradores para obtener la velocidad a partir de la aceleración y, por consiguiente, las posiciones. Los integradores tienden a suprimir el ruido. 4.2.4 Sensores de fuerza ¿Qué es el factor de calibre? Se trata de una medida de sensibilidad para las galgas extensométricas que se define por G = 1 DR e R donde G es el factor de calibre y ␧ es la deformación unitaria. • • Una balanza de resorte es un ejemplo de un sensor de fuerza en donde se aplica una fuerza, por ejemplo, el peso, al platillo de balanza que causa un desplazamiento, es decir, el resorte se estira. El desplazamiento es entonces una medida de la fuerza. Existen otros tipos de sensores de fuerza, por ejemplo, con base en galgas, utilizando el sensor de efecto Hall, etcétera. i) Galgas extensométricas El principio de este sensor es que el alargamiento de un conductor aumenta su resistencia eléctrica. La resistencia eléctrica normal para galgas es de 50-100 ohmios. El incremento de resistencia se debe a Incremento de la longitud del conductor; y Decremento en el área del conductor. Las galgas están hechas de conductores eléctricos, usualmente de alambre o papel metálico grabado sobre un material base, como se muestra en la igura 4.8. Están pegados en las supericies donde se medirán las deformaciones unitarias, por ejemplo, R1 y R2 de la igura 4.9a). Las deformaciones ocasionan cambios en la resistencia eléctrica de las galgas, lo que se mide mediante su conexión al circuito de puente de Wheatstone como una de las cuatro resistencias, R1 … R4 de la igura 4.9b). Éste es un método barato y preciso para medir deformaciones. Sin embargo, deberá tenerse cuidado con los cambios de temperatura. Para mejorar el voltaje de salida y anular los cambios de resistencia debidos al cambio de tempe- 62 CAPÍTULO 4 Sensores ratura, se usan dos galgas, tal como se muestra en la igura 4.9a), para medir la fuerza en el extremo de la viga voladiza. ii) Sensor piezoeléctrico Un material piezoeléctrico presenta un fenómeno conocido como efecto piezoeléctrico. Este efecto señala que cuando cristales elásticos asimétricos se deforman mediante una fuerza, se desarrollará un potencial eléctrico dentro de la red cristalina deformada, como se ilustra en la igura 4.10. Este efecto es reversible. Esto quiere decir que si se aplica un voltaje entre las supericies del cristal, éste cambiará sus dimensiones físicas. La magnitud y polaridad de las cargas inducidas son proporcionales a la magnitud y dirección de la fuerza aplicada. Los materiales piezoeléctricos son cuarzo, turmalina, sal de Rochalle y otros. El rango de fuerzas que pueden medirse usando sensores piezoeléctricos es de 1 a 20 kN y con una proporción de 2  105. Estos sensores pueden usarse para medir un cambio instantáneo en la fuerza (fuerzas dinámicas). Figura 4.8 Galgas extensométricas Galgas extensométricas R1 R2 a) Viga voladiza con galgas iii) Detección con base en la corriente Puesto que el par de torsión proporcionado por un motor eléctrico es una función de la corriente consumida, su medición, junto con las características conocidas del motor, proporciona la detección del par de torsión. 4.3 F R1 R2 R3 R4 b) Circuito de puente de Wheatstone Figura 4.9 Medición de deformación Sensores externos Los sensores externos se utilizan principalmente para saber más acerca del ambiente del robot, especialmente sobre los objetos que se va a manipular. Los sensores externos pueden dividirse en las siguientes categorías: • • Tipo de contacto Tipo sin contacto 4.3.1 Tipo de contacto i) Interruptor de límite Un interruptor de límite se construye de modo muy parecido al interruptor de luz común que se usa en casas y oicinas. Tiene las mismas características de + – + – + – + – + – + – Figura 4.10 + – + – + – + – + – + – Sensor piezoeléctrico 4.3 Sensores externos 63 +V encendido/apagado. El interruptor de límite tiene generalmente un brazo mecánico sensible a la presión, como se muestra en la igura 4.11a). Cuando un objeto aplica presión sobre el brazo mecánico, se activa el interruptor. Es posible que un objeto tenga un imán que cause que un contacto suba y cierre cuando el objeto pase sobre el brazo. Como se muestra en la igura 4.11b), el registro de subida a) b) mantiene la señal en +V hasta que el interruptor Figura 4.11 Interruptor de límite cierra, transmitiendo la señal a tierra. Los interruptores de límite pueden ser normalmente abiertos (NO) o normalmente cerrados (NC) y pueden tener polos múltiples. Un interruptor normalmente abierto permite lujo de corriente hasta que se aplica presión al interruptor. Un interruptor de polo sencillo permite que se abra o cierre un circuito al contacto, mientras que un interruptor de polos múltiples permite que circuitos de interruptores múltiples estén abiertos o cerrados. Los interruptores de límite son dispositivos mecánicos que pueden tener los siguientes problemas: • • • Están sujetos a fallas mecánicas; Su tiempo promedio entre fallas es bajo en comparación con sensores sin contacto; y La velocidad de operación es relativamente lenta en comparación con la velocidad de conmutación de microsensores fotoeléctricos, que es hasta 3 000 veces más rápida. Los interruptores de límite se utilizan en robots para detectar las posiciones extremas de los movimientos, donde el eslabón apaga el actuador correspondiente cuando alcanza una posición extrema y, de este modo, impide posibles daños de la estructura mecánica del brazo del robot. 4.3.2 Tipo sin contacto i) Sensor de proximidad La detección de proximidad es la técnica que se usa para detectar la presencia o ausencia de un objeto por medio de un sensor electrónico sin contacto. Hay dos tipos de sensores de proximidad: inductivo y capacitivo. Los sensores de proximidad inductivos se usan en lugar de interruptores de límite para la detección sin contacto de objetos metálicos. Los sensores de proximidad capacitivos se usan sobre la misma base que los sensores de proximidad inductivos, pero también pueden detectar objetos no metálicos. a) Sensor de proximidad inductivo Todos los sensores de proximidad inductivos consisten en cuatro elementos básicos, a saber: • • Bobina de sensor y núcleo férrico Circuito detector • • Circuito oscilador Circuito de salida de estado sólido Como se muestra en la igura 4.12, el circuito del oscilador genera un campo magnético de frecuencia de radio. El campo se centra alrededor del eje del núcleo férrico que modela el campo y lo dirige hacia la cara del sensor. Cuando un objeto metálico se acerca a la cara y entra al campo magnético, se inducen corrientes de Eddy en la supericie del objeto. Esto da como resultado un efecto de carga o amortiguación que causa una reducción en la amplitud de la señal del oscilador. El circuito del detector identiica el cambio de la amplitud del oscilador. El circuito del detector se encenderá con una amplitud de operación especíica. Esta señal 64 CAPÍTULO 4 Sensores enciende el circuito de salida de estado sólido. A esto se le llama frecuentemente “condición amortiguada”. Cuando el objeto sale del campo de detección, el oscilador responde con un aumento de amplitud. Cuando la amplitud aumenta más allá de un valor especíico, se detecta mediante el circuito detector. Éste se apaga, haciendo que la señal de salida regrese al estado normal o apagado. El rango de detección de un sensor de proximidad inductivo es la distancia entre la cara del detector y el objeto. También indica la forma del campo de detección que se genera mediante la bobina y el núcleo. Hay varios factores mecánicos y ambientales que afectan el rango de detección. El rango usual es hasta 1015 mm, pero algunos sensores también tienen rangos tan altos como 100 mm. Objeto b) Sensor de proximidad capacitivo Un sensor de proximidad capacitivo tra- Detector Oscilador baja de manera muy parecida a un sensor de proximidad inductivo. Sin embargo, el medio de detección es bastante distinto. La detección Salida capacitiva se basa en la capacitancia dieléctrica. La capacitancia es la propiedad de los materiales aislantes para almacenar una carga. Un capacitor consiste en dos placas que están separadas Figura 4.12 Sensor de proximidad por un material aislante, usualmente llamado inductivo dieléctrico. Cuando se cierra el interruptor, se Cable de alimentación almacena una carga en las dos placas. La distancia entre las placas determina la capacidad Electrodo del capacitor para almacenar la carga y puede Medio dieléctrico calibrarse como una función de la carga almacenada para determinar el estatus de conmutación discreto de ENCENDIDO y APAGADO. La igura 4.13 ilustra el principio de un sensor Figura 4.13 Principio de sensores capacitivo. Una placa capacitiva forma parte capacitivos del interruptor, la cara del sensor es el aislador y el objeto es la otra placa, todos unidos con tierra física. El interruptor capacitivo tiene los mismos cuatro elementos que el sensor inductivo, es decir, sensor (el medio dieléctrico), circuito oscilador, circuito detector y circuito de salida de estado sólido. El circuito del oscilador en un interruptor capacitivo trabaja igual que el de un interruptor inductivo. El circuito del oscilador incluye la capacitancia de la placa del objeto externo y de la placa del objeto interno. En un sensor capacitivo, el oscilador empieza a oscilar cuando se detecta una capacitancia de retroalimentación suiciente. Las características principales de los sensores de proximidad capacitivos son las siguientes: 4.3 • • • • • • Sensores externos 65 Pueden detectar objetos no metálicos Pueden detectar objetos de peso ligero o pequeños que no pueden ser detectados por interruptores de límite mecánicos Ofrecen un alto índice de conmutación para una respuesta rápida en aplicaciones de conteo de objetos Pueden detectar objetos a través de barreras no metálicas (vidrio, plástico, etc.) Tienen una larga vida operacional con un número virtualmente ilimitado de ciclos de operación La salida de estado sólido proporciona una señal de contacto libre de rebotes Los sensores de proximidad capacitivos tienen dos limitaciones principales: • • Les afecta el vaho y la humedad Necesitan un rango extenso para la detección efectiva Los sensores de proximidad capacitivos tienen un mayor rango de detección que los de proximidad inductivos. La distancia de detección para interruptores capacitivos tiene que ver con el área del plato, así como el tamaño de la bobina tiene que ver en los sensores de proximidad inductivos. Los sensores capacitivos básicamente miden un intervalo dieléctrico. Por consiguiente, es deseable poder compensar las condiciones del objeto y la aplicación por medio de un ajuste de sensibilidad para el rango de detección. La mayoría de los sensores de proximidad capacitivos se equipa con un potenciómetro de ajuste de sensibilidad. ii) Sensor de desplazamiento de semiconductor Como se muestra en la igura 4.14, el sensor de desplazamiento de semiconductor utiliza un diodo de emisión de luz (LED) de semiconductor o láser como fuente de luz, así como un detector sensible a la posición (PSD). El rayo láser se enfoca sobre el objeto por medio de un lente. El objeto releja al rayo, que luego se enfoca sobre el PSD creando un punto de luz. El punto de luz Circuito de accionamiento Circuito de ampliicación de señales Láser de semiconductor Lente del transmisor Elemento de detección de la posición de la luz (PSD) Desplazamiento Lente receptor de luz Posición de referencia Objeto de medición Figura 4.14 Sensor basado en semiconductores [Cortesía de: http://www.sensorcentral.com/displacement/ laser02.php] 66 CAPÍTULO 4 Sensores se mueve cuando el objeto lo hace. El desplazamiento de la pieza de trabajo puede entonces determinarse detectando el movimiento del punto de luz. 4.4 Sistema de visión Los sensores de visión pueden clasiicarse como de tipo externo sin contacto, como lo indica la igura 4.1. Sin embargo, aquí se estudian en una sección separada debido a su complejidad, que requiere un tratamiento detallado. Los componentes típicos de un sistema de visión para uso como alarma de seguridad se muestran en la igura 4.15. Los sistemas de visión se utilizan exitosamente con robots para permitir que miren a su alrededor con el in de encontrar las piezas que van a recoger y para colocarlas en los lugares apropiados. Anterior a los sistemas de visión en robots se empleaban plantillas para el posicionamiento exacto de objetos. Estos dispositivos son muy caros. Otras tareas de sistemas de visión que se usan para robots incluyen la determinación del patrón geométrico de los objetos, el movimiento de los mismo y la reconstrucción de la geometría 3D de los objetos a partir de sus imágenes en 2D para la medición, y la construcción de los mapas del ambiente para la navegación del robot. Los sistemas de visión proporcionan información que es difícil o imposible de obtener de otra manera. Su cobertura va desde unos cuantos milímetros hasta decenas de metros, con un ángulo angosto o amplio, dependiendo de las necesidades y el diseño del sistema. 4.4.1 Elementos del sensor de visión En los sistemas de visión, el componente principal de visión es una cámara completa, incluidos un equipo sensor, la electrónica asociada, el formato de señales de salida y un lente. En función de la aplicación, la cámara podría ser una RS-170/CCIR, NTSC/PAL (éstas son señales estándares de televisión americana RS-170 monocolor, de televisión europea/india CCIR monocolor, NTSC color y PAL producidas por las videocámaras, respectivamente), de escaneo progresivo, variable o de líneas. Los cinco parámetros de sistema más importantes que rigen la elección de la cámara son campo de vista, resolución, distancia de trabajo, profundidad de campo e índice de adquisición de datos de imágenes. Como regla general, para mediciones de tamaño, el sensor deberá tener un número de pixeles de por lo menos el Luz IR Cámara Tarjeta de imágenes de video Computadora Alarma Micro controlador Figura 4.15 Tarjeta de imágenes de video 4.4 Sistema de visión 67 doble de la proporción del tamaño más grande al más pequeño de los objetos de interés. La iluminación deberá organizarse de tal forma que se iluminen los objetos de interés. A menudo, como interfaz entre la cámara y una computadora anitriona, se necesita una tarjeta de video o de captura de video, usualmente en forma de tarjeta de enchufe que se instala en la computadora. La tarjeta de imágenes de video almacenará las imágenes de la cámara en una memoria de tarjeta o de sistema, muestreando y digitalizando los datos analógicos conforme sea necesario. En algunos casos, la misma cámara podrá producir los datos digitales que son compatibles con una computadora estándar. En estos casos, no será necesaria una tarjeta de imágenes de video por separado. Se necesita un software de visión para crear el programa que procesa las imágenes. Cuando una imagen se haya analizado, el sistema debe ser capaz de comunicar el resultado para controlar el proceso o para transmitir la información a una base de datos. Esto requiere una interface digital de entrada/salida. El ojo y cerebro humanos pueden identiicar objetos e interpretar escenas bajo una amplia variedad de condiciones. Los sistemas de visión artiiciales son mucho menos versátiles, así que la creación de un sistema exitoso requiere de la consideración cuidadosa de todos los elementos del sistema y de una identiicación precisa de las metas que se van a lograr, lo que deberá mantenerse lo más sencillo que sea posible. i) Sistemas de cámaras Los primeros sistemas de visión empleaban la cámara vidicón, que era un dispositivo voluminoso de tubos de vacío. Las cámaras vidicón son mucho más susceptibles a la interferencia de ruido electromagnético y requieren mucha energía. Sus ventajas principales son una más alta resolución y mejor sensibilidad a la luz. A in de reducir el tamaño, en la mayoría de los sistemas actuales se usan cámaras de estado sólido, basadas en técnicas de dispositivos de carga acoplada (CCD) o en dispositivos de inyección de carga (CID). Las cámaras de estado sólido son más pequeñas, más resistentes, duran más y tienen menos distorsión de imágenes inherente que las cámaras vidicón. También son levemente más caras, pero los precios están bajando. Los fabricantes frecuentemente recomiendan la operación de los sensores con iltros apropiados para eliminar longitudes de onda IR. Tanto los chips de CCD como de CID utilizan técnicas de transferencia grande para capturar una imagen. En una cámara CCD, la luz incide en el equivalente óptico de un chip de memoria de acceso aleatorio (RAM). La luz se absorbe en sustrato de silicón, donde la acumulación de carga es proporcional a la cantidad de luz que llega al equipo. Una vez que se haya recibido la cantidad suiciente de energía para proporcionar una imagen, las cargas se transmiten a través de los registros de control integrados. Algunos chips CCD utilizan una técnica de transferencia de cargas entre líneas. Otros emplean el método de transferencia de fotogramas, que es más lexible por variar el periodo de integración. Un tipo de dispositivo electrónico puede ajustar la sensibilidad de la cámara a la luz por medio del control de la cantidad de voltaje a través de sus elementos y del periodo de tiempo que el equipo se sujeta a la carga. La cámara CID trabaja con un principio similar. Un chip CID es un dispositivo basado en el semiconductor de óxido y metal (MOS) con múltiples puertos, parecido a los CCD. La señal de video es el resultado de un pulso de corriente de una recombinación de los portadores. Los CID producen una mejor imagen (de menos distorsión) y usan una técnica de lectura distinta que los CCD, lo que requiere una unidad de dirección de escaneo separada. Por tanto, los CID son más caros que los CCD. La diferencia principal entre una cámara CCD y una CID es el método para generar la señal de video. En los CID, la carga tiene que moverse fuera del equipo mediante la conmutación de voltajes entre puertas pares 68 CAPÍTULO 4 Sensores Adquisición de imágenes Sensor Pixeles Procesamiento de imágenes Clasiicación de pixeles Representación Clase de pixeles Segmentación Figura 4.16 Descripción Límites de regiones de conjuntos de pixeles Propiedades Detección visual e impares. El lujo de la corriente que resulta crea una señal analógica. En la cámara CID, cada elemento se descarga y el lujo que resulta se usa en forma directa. La cantidad de carga almacenada es una función lineal de la intensidad relectiva del objeto y del tiempo de exposición a la cámara. 4.4.2 Pasos en la detección de visión Como se ilustra en la igura 4.16, la detección de la visión, también llamada visión de máquina, tiene dos pasos: la adquisición de imágenes y el procesamiento de imágenes. i) Adquisición de imágenes En la adquisición de imágenes, una imagen se obtiene y digitaliza para su ulterior procesamiento, tal y como se muestra en la igura 4.17. El primer paso en la digitalización es dividir la imagen en celdas (pixeles), especiicadas por hileras y columnas. Una imagen exagerada se muestra en el lado izquierdo. A cada pixel se le asigna un número basado en su intensidad de luz o luminosidad de imagen. A pesar de que la adquisición de imágenes es principalmente una función de hardware, puede usarse software para controlar intensidad de la luz, ajuste de apertura del lente, ángulo de la cámara, sincronización, campo de vista, tiempos de lectura y otras funciones. La adquisición de imágenes tiene cuatro elementos principales, a saber: • • • • Una fuente de luz, controlada o ambiental; Un lente que enfoca la luz relejada desde el objeto hasta un sensor de imagen: Un sensor de imágenes que convierte la imagen de luz en una imagen eléctrica almacenada; Elementos de electrónica para leer la imagen detectada desde el elemento de detección de imágenes y que, después de procesarla, transmite la información de la imagen a una computadora para su procesamiento. Después, la computadora realiza el resto de los pasos, es decir, el análisis de imágenes y el reconocimiento de patrones. ii) Procesamiento de imágenes El procesamiento de imágenes examina los datos digitalizados para localizar y reconocer un objeto dentro del campo de imágenes. Pueden usarse diferentes métodos. La mayoría de las técnicas de análisis de imágenes incluye segmentación, extracción de parámetros y reconocimiento de patrones. La segmentación desglosa la escena en diferentes piezas o segmentos y permite que el objeto deseado sea aislado; si múltiples objetos de interés están presentes, la segmentación los separa en la imagen. La extracción de parámetros examina después los objetos segmentados y determina 4.4 Sistema de visión 69 j (columnas) 1 2 1 2 3 4 5 6 7 8 9 10 6 7 8 9 10 j (hileras) 1 2 3 4 5 6 7 8 9 10 j (hileras) j (columnas) 3 4 5 1 45 78 35 34 41 40 74 121 126 128 2 42 67 12 27 31 44 66 115 129 124 3 40 63 28 25 20 27 59 109 117 126 4 62 74 49 110 136 145 138 102 112 115 5 124 103 77 226 238 243 240 104 109 191 6 127 117 69 109 221 230 225 109 101 107 7 130 127 66 78 118 210 205 93 85 103 8 134 134 85 73 129 175 190 125 99 100 9 138 136 133 199 80 94 98 104 105 108 10 139 136 133 129 126 122 112 119 139 171 Figura 4.17 Imagen digitalizada la característica clave, por ejemplo, tamaño, posición, orientación, forma, intensidad, color y textura. El reconocimiento de patrones intenta equiparar las características observadas con criterios almacenados y permite así que se identiiquen los objetos. Con base en una actividad especíica durante la fase de procesamiento de imágenes, un sistema de visión se clasiica como visión de bajo, mediano o alto nivel, como se indica en la igura 4.18. Estos niveles se explicarán a continuación. a) Visión de nivel bajo La actividad en la visión de nivel bajo consiste en procesar la imagen para la extracción de datos (lujo de contornos, de esquinas u óptico). Las operaciones se llevan a cabo en los pixeles de la imagen para extraer las propiedades arriba mencionadas respecto a su intensidad o profundidad en cada punto de la imagen. Por ejemplo, uno podrá interesarse en la extracción de regiones uniformes, donde el gradiente de los pixeles permanece constante, o en los cambios de primer orden en el gradiente, lo que correspondería a líneas rectas, o en los cambios de segundo orden, que podrían usarse para extraer propiedades de supericie tales como picos, hoyos, crestas, etc. Las actividades de visión de 70 CAPÍTULO 4 Sensores Imagen reticulada Reconocimiento de patrones Objetos específicos Estéreo Mapa de profundidad Características Mapa de bordes Agrupamiento Líneas, curvas, regiones Etiquetado Objetos Reconocimiento Descripción funcional Figura 4.18 Niveles de visión nivel bajo están invariablemente basadas en datos, y a veces se llaman ascendente. Se trata del área donde el modelaje del funcionamiento de la corteza visual es más apropiado. b) Visión de nivel intermedio En este nivel se reconocen los objetos y se interpretan escenas de 3D usando los datos obtenidos de la visión de nivel bajo. El nivel intermedio de procesamiento se ocupa fundamentalmente de agrupar las entidades. El caso más simple es cuando uno agrupa los pixeles en líneas. Puede entonces expresarse la línea en forma funcional. De manera similar, si la salida de la información del nivel bajo es un mapa de profundidad, posiblemente uno tendrá, además, que distinguir los límites del objeto u otras características. Incluso en el caso más sencillo, donde se intenta extraer una sola esfera, no es un proceso fácil irse de una representación de profundidad de supericie a una representación de centro y radio. c) Visión de nivel alto La visión de nivel alto, que es equivalente a la comprensión de la imagen, se ocupa de manera principal de la interpretación de la escena en términos de los objetos que hay en ella, y se basa usualmente en el conocimiento de los objetos especíicos y sus relaciones. La interpretación de una escena va más allá de las tareas de extracción de líneas y agrupamiento. Se requiere además tomar decisiones acerca de los tipos de límites, como los que ocluyen, y sobre qué información está oculta para el usuario. En esta fase es esencial más agrupamiento, ya que posiblemente aún tendremos que decidir 4.4 Sistema de visión 71 cuáles líneas se agrupan para formar un objeto. Para este propósito, uno tiene que distinguir, además, qué líneas forman parte de la estructura de los objetos, cuáles de ellas forman parte de una textura de supericie o son causadas por sombras. Por ende, los sistemas de nivel alto se orientan a objetos y a veces se llaman desde arriba hacia abajo. Casi siempre requieren algún grado de conocimiento acerca de los objetos de la escena. 4.4.3 Dificultades en la visión y sus remedios Un sistema de visión no puede representar o procesar de modo único todos los datos disponibles debido a problemas computacionales como memoria y requerimientos de tiempo de procesamiento que se imponen a la computadora. Por lo tanto, el sistema tiene que hacer concesiones. Otros problemas incluyen las variaciones de la luz, el tamaño del objeto y la ubicación del objeto, así como limitaciones en el rango dinámico disponible en los sensores de visión ¿Qué es un pixel? normales. El sistema de visión requiere hardware y software especializados. Es posible adquirir solamenUn “pixel” es la abreviatura de “picte el hardware con poca o ninguna programación de ture element” (elemento de imagen). aplicación. De hecho, algunos programas de terceros Se trata de un solo punto en una imaestán disponibles. Un planteamiento de sólo hardware gen gráfica. es más económico y puede hacerse más lexible para manejar los requerimientos de visión comunes. Sin embargo, visto que este planteamiento requiere destreza en el procesamiento de imágenes, solamente es de interés para usuarios que desean tener la responsabilidad de la interpretación de imágenes. Es una práctica usual obtener el hardware y el software de aplicación juntos de parte del proveedor. Pero el usuario aún tendrá que realizar programación especíica para alguna aplicación. Los proveedores principales de sistemas de visión se especializan en el suministro de software sólo para algunas áreas de aplicación. Todo sistema de visión requiere un sensor con el in de convertir la imagen visual en una señal electrónica. Se usan varios tipos de sensores de video, incluidos cámaras vidicón, dispositivos de tubos de vacío y sensores de estado sólido. Originalmente, muchos de estos sistemas de visión se diseñaron para otras aplicaciones, por ejemplo, la televisión, así que se tiene que procesar la señal para extraer la imagen visual y remover la información de sincronización antes de que la señal se transmita a la computadora para su ulterior procesamiento. Después, la computadora trata esta señal como un arreglo de pixeles y procesa estos datos para extraer la información deseada. El procesamiento de imágenes puede ser muy lento. Para un sensor normal de 200 000 o más pixeles, un sistema de visión podrá consumir muchos segundos, incluso minutos, para analizar la escena completa y determinar la acción que debe tomarse. El número de bits que se va a procesar es bastante grande. Por ejemplo, un sistema con un arreglo de 512  512 pixeles y una intensidad de 8 bits por pixel produce más de dos millones de bits que deben procesarse. Si se recibiera una imagen continua con un rango de cuadros de 30 Hz, los bits de datos se recibirían a una razón de 8 MHz. Pocas computadoras pueden aceptar entradas con esta velocidad de datos, y de todas maneras no quedaría tiempo para procesar los datos. Cuando se considera un sistema de mayor resolución, un sistema de color o un sistema de múltiples cámaras, los requerimientos de gestión de datos se tornan astronómicos. Pueden usarse varios métodos para reducir la cantidad de 72 CAPÍTULO 4 Sensores datos que se van a manejar y, al mismo tiempo, reducir el tiempo de procesamiento. Éstos se explican a continuación: a) Un planteamiento es la visión binaria que se utiliza cuando se procesa solamente una información en blanco y negro (se ignoran las variaciones de intensidad y tonos grises). En la visión binaria, una fotografía se convierte en una imagen binaria por medio del umbralamiento, como se ilustra en la igura 4.19. En el umbralamiento, se selecciona un nivel de brillo. Todos los datos con intensidades iguales o mayores que este valor se consideran blanco; todos los demás valores, como negro. b) Otro método para recortar el tiempo de proceso es el control de la colocación de objetos, de tal modo que los objetos de interés no pueden traslaparse en la imagen. Por lo tanto, los complicados algoritmos para separar imágenes son innecesarios, y se reduce el tiempo de procesamiento de imágenes. c) Un tercer planteamiento reduce la gestión de datos por medio del procesamiento de únicamente una ventana pequeña de los datos existentes; es decir, el objeto se ubica en un campo de vista predeinido. Por ejemplo, si el robot busca una marca en una tarjeta de circuitos impresos, el sistema de televisión puede disponerse de tal modo que la marca se encuentre siempre en la esquina superior derecha. d) Una cuarta manera toma una muestra estadística de datos y adopta decisiones basadas en esta muestra. Desgraciadamente, todos estos planteamientos ignoran algunos de los datos disponibles y, en efecto, producen un sistema de robot menos sólido. Se ahorra tiempo de procesamiento, pero algunos tipos de objetos complejos no pueden reconocerse. 4.5 Selección de sensores Cuando se utilizan sensores, primero que nada tiene que decidirse qué es lo que el sensor tendrá que hacer y cuál es el resultado que se espera. Esta sección abordará algunas de las a) Imagen inicial Figura 4.19 b) 30% umbral Umbralamiento de imágenes [Cortesía de: Handbook of Industrial Automation, R. L. Shell y E. L. Hall editores, © 2000, Marcel Dekker, Nueva York] 4.5 Selección de sensores 73 características que deben tomarse en consideración para la selección y el uso de diferentes tipos de sensores para aplicaciones de robots. Se trata de las siguientes: i) Rango El rango es una medida de la diferencia entre los valores mínimos y máximos medidos. Por ejemplo, una galga pudiera medir valores en el rango de 0.1 a 10 newton. ii) Sensibilidad La sensibilidad se deine como la proporción del cambio de salida a un cambio de entrada. Como ejemplo, si un movimiento de 0.025 mm causa un voltaje de salida por 0.02 voltios, entonces la sensibilidad es 0.8 voltios por mm. A veces se usa para indicar el cambio más pequeño en la entrada que será observable como cambio de salida. Usualmente, se busca la máxima sensibilidad que ofrezca una señal lineal y precisa. iii) Linealidad La linealidad perfecta permitiría que se graique la salida versus la entrada como línea recta en una hoja cuadriculada. La linealidad es una medida de la constancia de la proporción de salida y entrada. La forma de ecuación sería y = bx donde x es la entrada, y la salida y b es una constante. Si b es variable, la relación no es lineal. Por ejemplo, b podrá ser una función de x, de tal modo que b = a + dx, donde el valor de d introduce una no linealidad. Una medida de no linealidad podría darse como valor de d. iv) Tiempo de respuesta El tiempo de respuesta es aquel que se necesita para que un cambio en la entrada sea observable como cambio estable en la salida. En algunos sensores, la salida oscila durante un tiempo breve antes de ijarse en un valor estable. Se mide el tiempo de respuesta desde el inicio de un cambio en la entrada hasta el momento en el que la salida se haya ijado en un rango especiicado. v) Precisión Precisión es una medida de la diferencia entre los valores medidos y reales. Una precisión de ± 0.025 mm signiica que en todas las circunstancias consideradas, el valor medido estará dentro de 0.025 mm del valor real. Para el posicionamiento de un robot y su ejecutor inal, la veriicación de este nivel de precisión requeriría la medición cuidadosa de la posición del ejecutor inal respecto a la ubicación base de referencia con una precisión general de 0.025 mm en todas las condiciones de temperatura, aceleración, velocidad y carga. Se necesitaría un equipo de medición de precisión cuidadosamente calibrado contra estándares secundarios para veriicar esta precisión. vi) Repetibilidad La repetibilidad es una medida de la diferencia de valor entre dos mediciones sucesivas en las mismas condiciones y es un criterio mucho menos estricto que la precisión. En tanto que las fuerzas, la temperatura y otros parámetros no hayan cambiado, se esperaría que los valores sucesivos estuvieran iguales, sin importar lo mala que fuera la precisión. vii) Resolución La resolución es una medida del número de mediciones dentro de un rango desde el mínimo hasta el máximo. También se usa para indicar el valor del incremento más pequeño del valor que sea observable. 74 CAPÍTULO 4 Sensores viii) Tipo de salida La salida puede ser en forma de un movimiento mecánico, una corriente o voltaje eléctrico, una presión o un nivel de líquido, una intensidad de luz u otra forma. Para ser útil, debe convertirse en otra forma, por ejemplo, en el LVDT (transformador diferencial lineal variable) o en galgas extensométricas que se explicaron con anterioridad. Además de las características que se mencionan arriba, los sensores deberán tener características físicas adecuadas. Por ejemplo: i) Tamaño y peso Usualmente, tamaño y peso son importantes características físicas de los sensores. Si el sensor ha de ser montado sobre la mano o el brazo del robot, se volverá parte de la masa que tiene que acelerarse y desacelerarse por parte de los motores de accionamiento de muñeca y brazo. De esta manera, afecta el desempeño del robot en forma directa. La reducción de tamaño y peso es un reto para los diseñadores de sensores. Uno de los primeros sensores de fuerza/par de torsión de la muñeca, por ejemplo, tenía un diámetro de aproximadamente 125 mm, pero se redujo a aproximadamente 75 mm de diámetro por medio de un cuidadoso rediseño. ii) Confiabilidad La coniabilidad es de máxima importancia en todas las aplicaciones de robots. Puede medirse en términos de tiempo medio sin averías (MTTF) como el número medio de horas entre la falla que causa que alguna parte del sensor se vuelva inoperante. En el uso industrial, se espera que el sistema del robot en total esté disponible hasta 98 o 99% de los días laborales. Puesto que hay cientos de componentes en un sistema de robot, cada uno de ellos debe tener una coniabilidad muy alta. Algunos de los sensores, aunque buenos, son incapaces de resistir la presión ambiental diaria y, por ende, no pueden utilizarse en robots. Parte del requerimiento para la coniabilidad es la facilidad de mantenimiento. Un sensor de fácil reparación no tiene que ser tan coniable como el que se esconde en las profundidades del robot. La facilidad de mantenimiento es, por tanto, una medida en términos de tiempo medio sin reparación (MTTR). iii) Interconexión La interconexión de sensores con dispositivos de acondicionamiento de señales y del controlador del robot es a menudo un factor determinante en la utilidad de sensores. Los enchufes no estándares o los requerimientos para voltajes y corrientes no estándares podrán hacer que un sensor sea demasiado complejo y caro para el uso. Las señales de un sensor también tienen que ser compatibles con el resto del equipo que se usa si el sistema ha de trabajar correctamente. RESUMEN En este capítulo se presentan la necesidad de sensores en la robótica, los diferentes tipos de sensores que se usan en aplicaciones robóticas y los criterios de su selección. Se enfatizan los aspectos funcionales más que sus modelos matemáticos para que el lector sea capaz de decidir qué sensor debe usarse y cuándo. Los diferentes sensores se clasiican según sus usos funcionales, por ejemplo, posición, velocidad, aceleración, fuerza, etcétera. Ejercicios basados en la web 75 EJERCICIOS 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15 4.16 Deina sensibilidad y linealidad. Distinga precisión de repetibilidad. Indique las características físicas en la selección de sensores. ¿Cuáles son los componentes fundamentales de un sensor? ¿Por qué se usan los términos “interno” y “externo” para clasiicar sensores? Clasiique los sensores internos. Mencione algunos sensores de velocidad. ¿Por qué no se preieren los sensores de posición para velocidad y aceleración? ¿Existe alguna ventaja de los sensores externos sobre los internos? Mencione algunos tipos de sensores de contacto y sin contacto. ¿Cuáles son las ventajas de sensores de proximidad capacitivos? ¿Qué es una visión de máquina? ¿Cuáles son los componentes principales de un sistema de visión? ¿Cuál es el componente del sensor en un sistema de visión? ¿Cuáles son las diicultades típicas en un sistema de visión? ¿Cuáles son las características que deberán revisarse en la selección de un sensor? EJERCICIOS BASADOS EN LA WEB Basándose en búsquedas en la web, conteste las siguientes preguntas: 4.17 Mencione por lo menos cinco empresas comerciales que fabrican diferentes tipos de sensores. Ordene los sensores según el nombre de cada compañía. 4.18 ¿Cuáles son los precios típicos de encóders, generadores tacométricos y acelerómetros? 4.19 ¿Cuál es el precio de una cámara CCD? 4.20 Mencione una compañía fabricante de robots que implemente un sistema de visión en sus robots. Capítulo 5 Transformaciones Con el in de controlar un robot, es necesario conocer las relaciones entre los movimientos de las articulaciones (entrada) y los movimientos del efector inal (salida), ya que los primeros controlan a los segundos. Por tanto, el estudio de la cinemática es importante cuando tienen que realizarse transformaciones entre los sistemas de referencia de las coordenadas a los que son referidos los diferentes eslabones del robot. 5.1 Arquitectura de robots Un robot se compone de varios eslabones que se conectan en forma serial mediante articulaciones. Los grados de libertad del robot (DOF) dependen del número y tipos de eslabones y articulaciones, así como de la cadena cinemática del robot. 5.5.1 Eslabones y articulaciones Los cuerpos individuales que forman un robot se llaman “eslabones”. En este estudio, a menos que se señale lo contrario, se supone que todos los eslabones son rígidos, es decir, la distancia entre dos puntos dentro del cuerpo no cambia mientras éste se mueva. Un cuerpo rígido en el espacio cartesiano tridimensional tiene seis DOF. Esto implica que la posición del cuerpo puede describirse mediante tres coordenadas de traslación y la orientación por medio de tres coordenadas de rotación. Por así convenir al análisis, ciertos cuerpos no rígidos, como cadenas, cables o correas, podrán considerarse como eslabones cuando realizan la misma función que los cuerpos rígidos. Desde el punto de vista cinemático, se consideran como un solo eslabón dos o más miembros cuando se conectan entre sí sin ningún movi- 5.1 Arquitectura de robots 77 miento relativo entre ellos. Por ejemplo, un ensamble con dos engranes conectados por un eje común representa un solo eslabón. Los eslabones de un robot se acoplan mediante pares o articulaciones cinemáticas. Una “articulación” acopla dos eslabones y proporciona las restricciones físicas para el movimiento relativo entre los eslabones. No es una entidad física, sino simplemente un concepto que permite especiicar cómo un eslabón se mueve respecto a otro. Por ejemplo, una articulación en bisagra de una puerta le permite a ésta moverse alrededor de un eje en relación con el muro ijo. Ningún otro movimiento es posible. El tipo de un movimiento relativo permitido por una articulación se rige por la forma de la supericie de contacto entre los miembros, que puede ser una supericie, una línea o un punto. Por consiguiente, se les llama articulaciones de pares “inferiores” o “superiores”. Si dos eslabones pareados están en contacto mediante una supericie, a esta articulación se le conoce como articulación de par inferior. De lo contrario, si los eslabones están en línea o contacto mediante un punto, la articulación se conoce como de par superior. Por esta deinición, la articulación de bisagra de la puerta siempre es una articulación de par inferior, mientras que una bola que corre sobre un plano representa una articulación de par superior. Los pares inferiores y superiores de mayor uso aparecen en la tabla 5.1. i) Articulación revoluta o rotacional, R Una articulación revoluta o rotacional, también conocida como “par giratorio”, “bisagra” o “articulación de clavija”, permite que dos eslabones pareados giren, uno respecto al otro, alrededor del eje de la articulación, por ejemplo Z, tal como se muestra en la igura 5.1. Por lo tanto, una articulación revoluta impone cinco restricciones, es decir, prohíbe que uno de los eslabones se traslade respecto al otro a lo largo de los tres ejes perpendiculares X, Y y Z, junto con la rotación alrededor de dos ejes, X y Y. Esta articulación tiene un grado de libertad (DOF). ii) Articulación prismática, P Una “articulación prismática” o “par cinemático prismático” permite que dos eslabones arreglados en pares se deslicen, uno respecto al otro, a lo largo de su eje, como se muestra en la igura 5.2. También impone cinco restricciones y, por tanto, tiene un DOF. iii) Articulación helicoidal, H Como se muestra en la igura 5.3, una articulación helicoidal permite que dos eslabones unidos giren alrededor del eje de la articulación y se trasladen, al mismo tiempo, a lo largo de él. Sin embargo, el traslado no es independiente, sino que se relaciona con la rotación por el paso del tornillo. Por ende, la articulación helicoidal también tiene cinco restricciones y, por consiguiente, un DOF. X Y R Z a) Forma geométrica Figura 5.1 b) Representaciones Una articulación revoluta o rotacional 78 CAPÍTULO 5 Transformaciones P a) Forma geométrica Figura 5.2 b) Representaciones Una articulación prismática H a) Forma geométrica Figura 5.3 b) Representaciones Una articulación helicoidal iv) Articulación cilíndrica, C Esta articulación permite la rotación alrededor del eje de la articulación y el traslado independiente a lo largo de ella, como se muestra en la igura 5.4. Por lo tanto, una articulación cilíndrica impone cuatro restricciones sobre los eslabones pareados y tiene dos DOF. v) Articulación esférica, S Este tipo de articulación permite que uno de los eslabones pareados gire libremente en todas las orientaciones posibles respecto al otro alrededor del centro de una esfera. No permite el traslado relativo. Por consiguiente, impone tres restricciones y tiene tres DOF. C a) Forma geométrica Figura 5.4 b) Representaciones Una articulación cilíndrica 5.1 Arquitectura de robots 79 S a) Forma geométrica Figura 5.5 b) Representaciones Una articulación esférica a) Forma geométrica Figura 5.6 b) Representaciones Una articulación planar vi) Articulación planar, L Esta articulación de tres DOF permite dos traslados a lo largo de dos ejes independientes del plano de contacto y una rotación alrededor del eje perpendicular del plano, como se ve en la igura 5.6. La tabla 5.1 resume las articulaciones básicas de pares inferiores, donde todas tienen contacto de supericie entre los eslabones interconectados. Otra articulación de pares inferiores de uso común en la robótica es la “articulación universal” de dos DOF, como se muestra en la igura 5.7, que es la combinación de dos articulaciones revolutas entrecruzadas. Ejemplos de articulaciones de pares superiores en robots son los “engranes” y las “levas con seguidores de rodillos”, donde hacen líneas de contacto. 5.1.2 Cadena cinemática Una “cadena cinemática” es una serie de eslabones conectados por articulaciones. Cuando cada uno de los eslabones de una cadena cinemática se acopla a un máximo de otros dos, la cadena se denomina “cadena cinemática simple”. R #2 #1 #3 O R Figura 5.7 Una articulación universal 80 CAPÍTULO Tabla 5.1 5 Transformaciones Articulaciones de pares inferiores Símbolo Forma geométrica y representaciones DOF R Figura 5.1 1 Cilindro Prismática P Figura 5.2 1 Prisma Helicoidal H Figura 5.3 1 Tornillo Cilíndrica C Figura 5.4 2 Cilindro Esférica S Figura 5.5 3 Esfera Planar L Figura 5.6 3 Plano Nombre Rotacional Mecanismo vs. manipulador Mientras que un mecanismo puede ser un sistema mecánico de cadena abierta y cerrada, un manipulador se trata en este estudio como un sistema de cadena abierta. Supericie común Una cadena cinemática sencilla puede ser “abierta” o “cerrada”. Es cerrada cuando cada uno de los eslabones se acopla a otros dos eslabones, como se muestra en la igura 5.8. Una cadena cinemática es abierta si contiene exactamente dos eslabones, es decir, los eslabones de los extremos, que se acoplan solamente a un eslabón. El manipulador robótico que se muestra en la igura 5.9 se clasiica en esta categoría. 5.1.3 Grado de libertad Formalmente, el grado de libertad (DOF) de un sistema mecánico se deine como el número de coordenadas independientes o coordenadas mínimas necesarias para describir perfectamente su posición o coniguración. Así, un cuerpo rígido que se mueve en el espacio cartesiano tridimensional tiene seis DOF, tres para la posición y tres para la orientación. Existen varias metodologías para determinar el DOF. Uno de estos métodos, presentado por Grubler en 1917 para mecanismos planares, fue posteriormente generalizado por Kutzbach, en 1929, para mecanismos espaciales. En forma conjunta, se conocen como el criterio de Grubler-Kutzbach y se describen a continuación: #2 #3 #1 Base, #0 Figura 5.8 Un mecanismo de cuatro barras Suponga lo siguiente: s: dimensión del espacio de trabajo (para mecanismos planares, s = 3; para espaciales, s = 6), r: número de cuerpos rígidos o eslabones en el sistema; p: número de pares cinemáticos o articulaciones en el sistema; ci: número de restricciones impuestas por cada articulación; c: número total de restricciones impuestas por articulaciones p; ni: grado de libertad relativo de cada articulación; n: grado de libertad de todo el sistema. 5.1 Arquitectura de robots 81 b3 ␪2 ␪5 #3 #1 #4 #2 ␪4 #5 ␪1 ␪6 Base, #0 ␪1, ␪ 2, b3, ␪4,␪ 5 y ␪6 : movimientos de articulaciones Figura 5.9 #6 Un manipulador robótico El DOF del sistema completo, n, se determina entonces a partir del DOF total asociado con todas las articulaciones móviles menos el número total de restricciones impuestas por todas las articulaciones, es decir, n = s (r – 1) – c (5.1) p donde c ∫  c i. i =1 Observe que –1 en la ecuación (5.1) corresponde al eslabón ijo del sistema que tiene un DOF de cero. Además, para los eslabones acoplados, la suma del número de restricciones impuestas por cada articulación ci y el grado de libertad relativo permitido por esta articulación ni es igual a la dimensión del espacio de trabajo s, es decir, s = ci + ni Por lo tanto, el número total de restricciones impuestas por todas las articulaciones puede ser reescrito p c= p  ci =  i =1 p (s – ni ) = s p – i =1  ni (5.2) i =1 Cuando se sustituye la ecuación (5.2) en la ecuación (5.1), se obtiene el DOF n como p n = s (r – p – 1) +  ni (5.3) i que es el muy conocido criterio de Grubler-Kutzbach para la determinación de los grados de libertad de un sistema. Observe que las dimensiones del eslabón no se incluyen en la fórmula, lo que ocasionalmente afecta al DOF del mecanismo debido a la disposición geométrica de sus eslabones. 82 CAPÍTULO 5 Transformaciones Ejemplo 5.1 Mecanismo de cuatro barras La igura 5.8 muestra un mecanismo plano de cuatro barras cuyos eslabones, incluida la base, se conectan en un giro mediante cuatro articulaciones rotacionales. Aquí, s = 3, r = 4 y p = 4. La ecuación (5.3) da (5.4) n = 3 (4 - 4 - 1) + (1 + 1 + 1 + 1) = 1 Por tanto, la conexión planar de cuatro barras tiene un DOF. Ejemplo 5.2 Un manipulador robótico La igura 5.9 muestra el diagrama esquemático de un robot Stanford. Su DOF puede determinarse usando la ecuación (5.3) siendo s = 6, r = 7 (incluida la base ija) y p = 6. Entonces, según la ecuación (5.3), el DOF del robot es (5.5) n = 6 (7 - 6 - 1) + 6 ¥ 1 = 6 Ejemplo 5.3 Mecanismo de cinco barras La igura 5.10 muestra un mecanismo planar de cinco barras. Hay cinco eslabones conectados en un lazo mediante cinco articulaciones rotacionales o revolutas. Por tanto, s = 3, r = 5 (incluida la base) y p = 5. La ecuación (5.3) proporciona (5.6) n = 3 (5 - 5 - 1) + 5 ¥ 1 = 2 El mecanismo planar de cinco barras tiene dos DOF, el cual también se usa frecuentemente como manipulador robótico. #2 #2 #3 #4 #1 #4 #0 Figura 5.10 Un mecanismo de cinco barras #3 #1 #0 Figura 5.11 Un mecanismo de paralelogramo doble 5.2 Ejemplo 5.4 83 Posición de un cuerpo rígido Un mecanismo de paralelogramo doble La igura 5.11 muestra un mecanismo de paralelogramo doble, donde s = 3, r = 5 (incluida la base ija) y p = 6. Según lo anterior, la ecuación (5.3) proporciona n = 3 (5 - 6 - 1) + 6 ¥ 1 = 0 (5.7) lo que interpreta el sistema como una estructura con cero DOF. Esto no es cierto, puesto que se sabe que el mecanismo tiene un DOF. En realidad, el eslabón 4 tiene una longitud igual que la del eslabón 1. Por ende, el eslabón 4 es cinemáticamente redundante y puede quitarse sin destruir la cadena cinemática básica ni el comportamiento de entrada/salida del mecanismo. En general, si el criterio de Grubler-Kutzbach, ecuación (5.3), proporciona n > 0, el mecanismo tiene n DOF. Si el criterio proporciona n = 0, se trata de una estructura con cero DOF, y si n < 0, el sistema es una estructura estáticamente indeterminada con restricciones redundantes. Sin embargo, se presentan excepciones como la que se muestra en la igura 5.11, que no obedece al criterio de Grubler-Kutzbach. Para estos sistemas, Tsai (1999) describe un criterio de movilidad diferente, por ejemplo, el criterio de movilidad del lazo, etc., que puede emplearse para determinar su DOF. 5.2 Posición de un cuerpo rígido El movimiento de un cuerpo rígido en el espacio Diferencia entre cartesiano tridimensional comprende la traslación y posición y configuración la rotación. Mientras que la traslación se deine mediante el uso de las tres coordenadas cartesianas, la Estos términos significan lo mismo rotación necesita tres coordenadas angulares. Por lo en este libro, es decir, la posición de tanto, el movimiento del cuerpo rígido puede deinirse un punto sobre un cuerpo rígido y la en forma completa usando las seis coordenadas. En el orientación del cuerpo rígido. estudio de la cinemática de manipuladores robóticos, se trata constantemente con la posición y orientación de varios cuerpos en el espacio. Los cuerpos de interés incluyen los eslabones del manipulador, las herramientas y las piezas de trabajo. Con el in de identiicar la posición y orientación de un cuerpo, es decir, su “postura” o “coniguración”, se establece un sistema de coordenadas ijas que se llama “sistema o marco de referencia ijo”. Luego se emplea un sistema de coordenadas cartesianas que se adjunta al cuerpo móvil para describir su postura. La postura o la posición y orientación de un cuerpo rígido respecto al sistema de coordenadas de referencia se conoce a partir de los seis parámetros independientes. Como se muestra en la igura 5.12, supongamos que el sistema de coordenadas X-Y-Z fuese el “sistema de referencia ijo”. El sistema de coordenadas U-V-W se adjunta al cuerpo móvil y se denomina “sistema de referencia móvil”. Queda claro que la postura o coniguración del cuerpo rígido se conoce si se sabe la posición del sistema móvil respecto al sistema ijo. Esta posición se 84 CAPÍTULO 5 Transformaciones determina a partir de la “posición” de cualquier punto sobre él, por ejemplo, el origen O o el punto P, y la “orientación” del sistema móvil respecto a al sistema ijo. 5.2.1 Descripción de la posición La “posición” de cualquier punto P sobre un cuerpo rígido en movimiento respecto a un sistema de referencia ijo puede describirse mediante el vector cartesiano tridimensional p como se indica en la igura 5.12. Si las coordenadas del punto P o los componentes del vector p son px, py, pz en el sistema ijo F, se denota como LM p OP ∫ Mp P MN p PQ x [p]F (5.8) y z donde el subíndice F se reiere al sistema de referencia en el que el vector p se representa. Los subíndices x, y y z representan las proyecciones del vector de posición p sobre los ejes de coordenadas del sistema de referencia ijo, a decir, a lo largo de X, Y y Z, respectivamente. El vector p puede expresarse en forma alternativa como p = px x + py y + pz z (5.9) donde x, y y z denotan los vectores unitarios a lo largo de los ejes X, Y y Z del sistema F, respectivamente, como se indica en la igura 5.12. Sus representaciones en el sistema F, es decir, [x]F, [y]F y [z]F son como sigue: [x]F LM1OP ∫ M0P , [y] MN0PQ F LM0OP ∫ M1P , y [z] MN0PQ F LM0OP ∫ M0P MN1PQ (5.10) Si se sustituye la ecuación (5.10) en la (5.9), puede demostrarse que la expresión del vector p en el sistema F, es decir, [p]F, es la misma que se da en la ecuación (5.8). Observe que si el vector p se representa en otro sistema de referencia ijo al del sistema F, tendrá diferentes componentes a lo largo de los ejes de coordenadas nuevos, a pesar de que la posición real del punto P no ha cambiado. Por lo tanto, se escribirá un vector normalmente sin mencionar pz Z W P pw p z w O u x pu v y V pv Sistema móvil, M py Y Sistema ijo, F px X U Figura 5.12 Descripción espacial 5.2 Posición de un cuerpo rígido 85 algún sistema, por ejemplo, como ocurre en la ecuación (5.9), la cual se llama, en contraste con las ecuaciones (5.8) y (5.10), representación de un sistema invariante. Sin embargo, es importante observar que cuando se resuelve un problema numérico, debe elegirse un sistema de coordenadas adecuado. Ejemplo 5.5 Posición de un punto en el sistema fijo Si las coordenadas de un punto P en el sistema de coordenadas ijas son px = 3, py = 4 y pz = 5, entonces el vector de posición p, según la ecuación (5.8), puede calcularse con 3 [p]F LM OP ∫ M4 P MN5PQ 5.2.2 Descripción de la orientación La “orientación” de un cuerpo rígido respecto al sistema ijo puede describirse de diferentes maneras. Por ejemplo, i) Representación por coseno director; ii) Representación por los ángulos de Euler; y otras. Cada una tiene sus propias limitaciones. De ser necesario, puede cambiarse de una representación a otra durante el control de movimiento de un robot para evitar sus limitaciones. Aquí se representarán las dos maneras previamente señaladas, que son suicientes para entender los conceptos subyacentes y sus limitaciones. Quien se interese en otras representaciones, podrá recurrir a los libros de Tsai (1999) o Ángeles (2003). i) Representación del coseno director Para describir la orientación o la rotación de un cuerpo rígido, considere el movimiento de un sistema móvil M respecto a uno ijo F con un punto ijo, por ejemplo, el origen sistema ijo O, como se muestra en la igura 5.12. Suponga que u, v y w denotan los tres vectores unitarios que apuntan a lo largo de los ejes de coordenadas U, V y W de la trama móvil M, respectivamente, los cuales son parecidos a los vectores unitarios x, y y z, a lo largo de X, Y y Z de la trama ija F. Puesto que cada uno de los vectores unitarios u, v o w denota la posición de un punto a una distancia de unidad del origen en los ejes de la trama M, ellos se expresan usando sus proyecciones sobre los ejes X, Y, Z o sobre el sistema F como (5.11a) u = ux x + uy y + uz z (5.11b) v = vx x + vy y + vz z (5.11c) w = wx x + wy y + wz z donde ux, uy y uz son los componentes del vector unitario u, a lo largo de los ejes X, Y y Z, respectivamente. De manera similar, vx, vy y vz y wx, wy y wz se deinen para los vectores unitarios v y w, respectivamente. Ahora el punto P del cuerpo rígido, como se muestra en la igura 5.12 y lo da la ecuación (5.8), se expresa en el marco de referencia móvil M como p = puu + pv v + pw w (5.12) 86 CAPÍTULO 5 Transformaciones donde pu, pv y pw son los componentes del vector p a lo largo de los ejes U, V y W del sistema de referencia móvil M. La sustitución de las ecuaciones (5.11a-c) en la ecuación (5.12) da como resultado p = (pu u x + pvv x + pww x)x + (puuy + pvvy + pwwy)y + (puuz + pvvz + pwwz)z (5.13) Si se compara el lado derecho de las ecuaciones (5.8) y (5.13), se obtienen las siguientes identidades: px = ux pu + vx pv + wx pw (5.14a) py = uypu + vy pv + wy pw (5.14b) pz = uz pu + vz pv + wz pw (5.14c) Las ecuaciones (5.14a-c) se escriben en forma de matriz como [p]F = Q[p]M (5.15) donde [p]F y [p]M son las representaciones del vector tridimensional p en los sistemas F y M, respectivamente, y Q es la rotación de 3 ⫻ 3 o matriz de orientación que transforma la representación del vector p del sistema M al F. Éstas se denotan como sigue: LM p OP LM p OP LMu ∫ M p P , [p] ∫ M p P , y Q ∫ Mu MN p PQ MN p PQ MNu LMu x v x w xOP = Mu y v y w y P MN u z v z w z PQ x [p]F y u x v y w z M z T T T T T T T T T vx vy vz wx wy wz OP PP Q (5.16) Observe las columnas de la matriz Q. Son nada más los componentes de los vectores unitarios ortogonales (es decir, con 90º entre uno y otro) u, v y w en el sistema de referencia ijo F, que deben cumplir con las siguientes seis condiciones ortogonales: uTu = vTv = wTw = 1, y uTv (∫ vTu) = uTw (∫ wTu) = vTw(∫ wTv) = 0 Además, para los tres vectores ortogonales u, v y w, lo siguiente es válido: (5.17) (5.18) u ¥ v = w, v ¥ w = u, y w ¥ u = v Por tanto, la matriz de rotación de 3 ⫻ 3 Q, que denota la orientación del sistema móvil M respecto al sistema ijo F, se llama ortogonal. Ella cumple con las siguientes propiedades debido a la ecuación (5.17): (5.19) QTQ = QQT = 1; donde det (Q) = 1, y Q-1 = QT donde 1 es la matriz de identidad de 3 ⫻ 3. Además, si se quiere encontrar la descripción de rotación en el sistema F respecto al sistema M denotado por Q⬘, puede derivarse de modo similar. Puede demostrarse que Q⬘ = QT. Observe también que, según la ecuación (5.16), el elemento (1, 1) de Q es el coseno del ángulo entre los vectores u y x, es decir, uTx. Lo mismo es válido para los demás elementos de Q. Por lo tanto, esta matriz de rotación se conoce como “Representación por coseno director” de la matriz de rotación. Esta representación requiere nueve parámetros, a saber, los elementos de la matriz de 3 ⫻ 3 Q. Sin embargo, los nueve parámetros no son independientes, ya que también tienen que cumplir con las seis condiciones de la ecuación (5.17). Por lo tanto, sólo tres son independientes y deberían ser suicientes para deinir el movimiento 5.2 Posición de un cuerpo rígido 87 de rotación tridimensional. Empero, es difícil elegir el conjunto de tres parámetros independientes. Éste es el inconveniente de la representación del coseno director. Ejemplo 5.6 Rotaciones elementales Suponga que un sistema de referencia M coincide con el sistema de referencia ijo F. Entonces se gira el sistema M con un ángulo a alrededor del eje Z, como se muestra en la igura 5.13a). Los vectores unitarios del nuevo sistema M pueden describirse en términos de sus componentes en el sistema F como sigue: [u] F LMCa OP ∫ M Sa P , [v] MN 0 PQ F LM- Sa OP ∫ M Ca P , y [ w] MN 0 PQ F LM0OP ∫ M0P MN1PQ (5.20) donde S ≡ sen; C ≡ cos. Por lo tanto, la matriz de rotación denominada por QZ se calcula con Qz LMCa ∫ M Sa MN 0 OP 0P 1PQ - Sa 0 Ca 0 (5.21) En forma parecida, puede demostrarse que la rotación del ángulo b alrededor del eje Y y con un ángulo g alrededor del eje X, se dan, respectivamente, por Z, W Sistema, M V z, w x ␣ Sistema, M P py Y y U u p Sistema, F ␣ X Y V v pu pv Sistema, F ␣ X px b) Transformación de coordenadas U a) Rotación alrededor del eje Z Y P py p py9 py9 p9 ␣ p9 ␣ px9 px p 9 x c) Rotación vectorial Sistema rotado, F Sistema, F X Figura 5.13 Interpretaciones alternativas de la matriz de rotación 88 CAPÍTULO 5 Transformaciones QY LM Cb ∫ M 0 MN-Sb OP PP Q LM MM N 0 Sb 1 0 1 0 , y QX ∫ 0 Cg 0 Cb 0 Sg 0 - Sg Cg OP PP Q (5.22) Las matrices mencionadas en las ecuaciones (5.21) y (5.22) se llaman “rotaciones elementales” y son útiles para describir cualquier rotación arbitraria donde se conozcan los ángulos respecto a los ejes de coordenadas. Ejemplo 5.7 Propiedades de matrices de rotación elemental De las ecuaciones (5.21) y (5.22), la multiplicación de matrices de, por ejemplo, QTz y Qz, da como resultado lo siguiente: Q zT Qz LM Ca = M- Sa MN 0 Sa Ca 0 0 0 1 OP LMCa PP MM Sa QN0 - Sa Ca 0 OP PP Q LM MM N 1 0 0 0 0 = 0 1 0 0 0 1 1 OP PP Q Usando la deinición de determinante de una matriz dada en el apéndice A, puede fácilmente calcularse que det(Qz) = 1. Por ende, Qz cumple con las dos propiedades de una matriz de rotación. Del mismo modo, puede demostrarse que las otras dos matrices también tienen las propiedades de una matriz de rotación. Ejemplo 5.8 Transformación de coordenadas Considere dos sistemas de coordenadas con un origen común. Uno de ellos gira con un ángulo a alrededor del eje Z. Suponga que [p]F y [p]M son las representaciones vectoriales del punto P en los sistemas F y M, respectivamente, como se muestra en la igura 5.13b). Con base en geometría simple, la relación entre las coordenadas del punto P en los dos sistemas de coordenadas se da por px = pu Ca - pv Sa (5.23) py = pu Sa + pv Ca (5.24) pz = p w (5.25) donde px, py y pz, así como pu, pv y pw, son las tres coordenadas del punto P a lo largo de los ejes de los sistemas F y M, respectivamente. Es fácil darse cuenta a partir de las ecuaciones (5.23) a (5.25) que el vector [p]F ⬅ [px, py, pz]T no es otra cosa que [p]F = QZ [p]M (5.26) donde [p]M ⬅ [pu, pv , pw] y QZ se calculan con la ecuación (5.21). La matriz QZ no solamente representa la orientación del sistema M respecto al sistema ijo F, como en la igura 5.13a), sino también transforma la representación de un vector desde el sistema M, por ejemplo, [p]M, a otro sistema F, es decir, [p]F. T 5.2 Ejemplo 5.9 Posición de un cuerpo rígido 89 Rotación del vector Considere el vector p que se obtiene mediante la rotación de un vector p⬘ en el plano X-Y con un ángulo a alrededor del eje Z del sistema de referencia F de la igura 5.13c). Suponga que p⬘x, p⬘y y pz son las coordenadas del vector p⬘ en el sistema F, es decir, [p⬘]F ≡ [p⬘x, p⬘y, p⬘z]T. Entonces, el vector p en el sistema F [p]F tiene los siguientes componentes: px = p¢x Ca - p¢y Sa py = p¢x Sa + p¢y Ca pz = p¢z (5.27) (5.28) (5.29) que pueden obtenerse mediante la rotación del sistema ijo F por lo cual el vector p⬘ se adjunta con un ángulo a en sentido opuesto al de las manecillas del reloj alrededor del eje Z, de tal manera que el vector p⬘ alcanza al vector p, como se indica en la igura 5.13c). Las ecuaciones de la (5.27) a la (5.29) pueden reescribirse en una forma más compacta como (5.30) [p]F = QZ [p¢]F donde QZ se calcula con la ecuación (5.21). ii) Representación de los ángulos de Euler Los ángulos de Euler constituyen una representación “mínima” de la orientación, obtenida al componer las tres rotaciones elementales respecto a los ejes de los sistemas de referencia actuales. Existe la posibilidad de 12 conjuntos distintos de ángulos de Euler respecto a la secuencia de posibles rotaciones elementales, a saber, XYZ, XZY, XZX, XYX, YXZ, YZX, YXY, YZY, ZXY, ZYZ, ZXZ y ZYX. De todos ellos, se utiliza más comúnmente el conjunto ZYZ en la representación de ángulos de Euler. Esto implica que el sistema ijo F gira primero alrededor de su eje Z para alcanzar un sistema intermedio A, luego lo hace alrededor del eje Y del sistema rotado, es decir, Y⬘del sistema A, para llegar a otro sistema intermedio B y inalmente alrededor del eje Z del sistema que fue rotado dos veces, es decir, Z⬙ del sistema B, para llegar al sistema deseado M, como se muestra en la igura 5.14. Suponga que f, q y j son los ángulos alrededor de Z, Y⬘ y Z⬙, respectivamente. La rotación total descrita por estos ángulos se obtiene entonces como las composiciones de las rotaciones elementales, como se explica a continuación, en la igura 5.14. • Gire el sistema ijo F con el ángulo f alrededor del eje Z, como se indica en la igura 5.14a). Esta rotación se describe con la matriz de rotación QZ, como se deriva en la ecuación (5.21), es decir, Qz LMCf ∫ Sf MM 0 N - Sf Cf 0 OP P 1 PQ 0 0 (5.31a) 90 • CAPÍTULO 5 Transformaciones Gire el sistema actual A con un ángulo q alrededor de su eje Y⬘, igura 5.14b). Esta rotación se denota por QY⬘ y se describe con la matriz de rotación QY de la ecuación (5.22), es decir, QY ¢ • LM Cq ∫ 0 MM-Sq N OP P Cq QP Sq 0 0 1 0 (5.31b) Gire el sistema B con un ángulo j alrededor de su eje Z⬙, igura 5.14c). Esta rotación se denota por Qz⬙ y se describe con la matriz de rotación QZ de la ecuación (5.21), es decir, Qz≤ LMCj ∫ Sj MM 0 N - Sj Cj 0 OP P 1 PQ 0 0 (5.31c) La orientación resultante del sistema M denotada por Q se obtiene a partir de la composición de las tres rotaciones elementales QZ, QY⬘ y Qz⬙ respecto a sus referencias actuales. Lo anterior se obtiene por medio de posmultiplicación de las sucesivas matrices de rotación, es decir, Q = QZ QY ¢ QZ≤ (5.31d) Z, Z ⬘ Z, Z ⬘ Z⬘⬘ ␪ Sistema, A Sistema, A Y⬘ Y⬘, Y ⬘⬘ ␾ Y Sistema, F ␾ X ␪ X⬘ a) Rotación alrededor del eje Z Sistema, B X⬘ X⬘⬘ b) Rotación alrededor del eje Y, es decir, eje Y⬘ Z⬘⬘, W Sistema, M V ␰ Sistema, B Y⬘⬘ ␰ U X⬘⬘ c) Rotación alrededor del eje Z, es decir, eje Z⬘⬘ Figura 5.14 Los ángulos de Euler ZYZ 5.2 Posición de un cuerpo rígido 91 cuyos elementos se calculan a continuación: LMCf Cq Cj - Sf Sj Q ∫ Sf Cq Cj + Cf Sj MM N - Sq Cj - Cf Cq Sj - Sf Cj Cf Sq - Sf Cq Sj + Cf Cj Sf Sq Sq Sf Cq OP PP Q (5.31e) La desventaja de la representación mínima de ángulos de Euler, ecuación (5.31e), es que a veces fracasa en encontrar la solución para un problema inverso, es decir, que una matriz de rotación dada encuentre los ángulos de rotación de Euler equivalentes. Por ejemplo, si Q se da de la siguiente manera: LMq Q ∫ Mq MNq 11 21 31 q12 q13 q 22 q 32 q23 q33 OP PP Q (5.32a) entonces el ángulo f puede obtenerse a partir de la comparación de (1, 3) y (2, 3) elementos de Q dados por las ecuaciones (5.31e) y (5.32a), es decir, f = atan2 FG q , q IJ H Sq Sq K 23 (5.32b) 13 donde “atan2(y, x)” es la función de dos argumentos que proporciona una solución única para el ángulo. La solución de la ecuación (5.32b) existe, siempre y cuando Sq ≠ 0, es decir, cuando q  0, o np para n = 1, 2, . . . Un aspecto importante de la representación de rotación, ya sea un coseno director o un ángulo de Euler o cualquier otra, es que, a diferencia de los vectores es no conmutativa, es decir, el orden de rotaciones es importante para derivar la matriz de rotación correcta. Como se ilustra en la igura 5.15a-c), la rotación de un paralelepípedo alrededor del eje Z y del eje actual Y es distinta de la rotación alrededor del eje Y del eje actual Z, como se muestra en la igura 5.16a-c). A in de mostrar esto en forma matemática, la matriz resultante para las rotaciones alrededor de los ejes Z y Y, denotada por QZY, puede darse de esta manera: QZY = QY QZ LM0 = M1 MN0 0 1 0 0 1 0 OP PP Q (5.33a) donde QY y QZ son como sigue: QY QZ LM C90∞ 0 S 90º OP LM 0 0 1 0 P = M0 1 ∫ M 0 MN- S 90∞ 0 C90∞PQ MN-1 0 LMC90∞ - S 90º 0OP LM0 -1 ∫ M S 90º C 90∞ 0P = M1 0 MN 0 0 1PQ MN0 0 OP PP Q 0O 0PP 1PQ 1 0 ; 0 (5.33b) Observe que el orden de multiplicación en la ecuación (5.33a) es contrario al de la ecuación (5.31d). Esto se debe al hecho de que las rotaciones en la ecuación (5.31d) se determi- 92 CAPÍTULO 5 Transformaciones Z Z W W B C V A D B C A V Y Y D X U U V a) D A B X Z b) U C Y W X c) Figura 5.15 Rotación sucesiva de un paralelepípedo alrededor de los ejes Z y Y nan respecto a los sistemas en uso, mientras que en la ecuación (5.33a) lo hacen respecto al sistema ijo. El resultado de la ecuación (5.33a) puede veriicarse a partir de la igura 5.15c) utilizando el concepto de representación por coseno director de una matriz de rotación, como se explicó anteriormente. Del mismo modo, puede obtenerse la matriz de rotación resultante para las rotaciones alrededor de los ejes Y y Z, que son denotadas por QYZ como QYZ = QZ QY LM 0 = M0 MN-1 OP 1P 0PQ -1 0 0 0 (5.33c) Cuando se comparan las ecuaciones (5.33a) y (5.33c), resulta obvio que las dos secuencias de rotaciones son diferentes. Sin embargo, lo mismo no es válido para la representación vectorial de un punto P respecto a O. Puede sumarse el vector b a a o el a a b, como en la igura 5.17. Ambas sumas resultarán en el mismo vector p. 5.3 Transformación de coordenadas Como se ilustra en la subsección 5.2.1, la posición de un cuerpo rígido en el espacio se expresa en términos de la posición de un punto apropiado sobre el cuerpo, por ejemplo, OM en la igura 5.18 respecto al origen O del sistema ijo F, mientras que su orientación o rotación se expresa en términos de los componentes del vector unitario del sistema móvil M, adjun- 5.3 Z 93 Transformación de coordenadas Z W B A C A V B Y D X U a) X Z b) C W V Y D U V B A W C D Y U c) X Figura 5.16 Rotación sucesiva de un paralelepípedo alrededor de los ejes Y y Z P P W Z Z b p OM a O o Y M Y X X Figura 5.17 V p9 p Suma de dos vectores Figura 5.18 F U Dos sistemas de coordenadas tada al cuerpo, como se explicó en la subsección 5.2.2. En la igura 5.18, la relación entre los dos sistemas de coordenadas, a saber, F y M, se deriva como sigue: considere un punto arbitrario P sobre el cuerpo rígido por el cual el sistema M se adjunta a OM. Suponga que p y p⬘ son los vectores que denotan el punto P desde el origen de los sistemas de referencia F y M, respectivamente. Además, suponga que o es el vector posicional que denota la traslación del origen del sistema M, OM desde el del sistema F, es decir, O. De este modo, p = o + p¢ (5.34) Observe que si p⬘ se conoce en el sistema móvil M, entonces no es otra cosa que las coordenadas del punto P en el sistema M, es decir, [p⬘]M. Además, si Q es la orientación del sistema M respecto al sistema F, entonces el vector p⬘ en el sistema F es [p⬘]F = Q[p⬘]M. Por lo tanto, el vector p en el sistema ijo F, es decir, [p]F, puede obtenerse como [p]F = [o]F + Q[p¢¢ ]M (5.35) 94 CAPÍTULO 5 Transformaciones La ecuación (5.35) representa la “transformación de coordenadas” del punto P del cuerpo rígido desde el sistema móvil M al sistema de referncia ijo F, mientras que la traslación y la rotación se involucran. 5.3.1 Transformación homogénea La transformación de coordenadas dada por la ecuación (5.35) puede reordenarse como LM[p] OP = LM Q N 1 Q N0 [ o] F 1 F T OP LM[p¢ ] OP QN 1 Q M (5.36) donde 0 ≡ [0, 0, 0]T es el vector tridimensional de ceros. La ecuación (5.36) se escribe en forma compacta como (5.37) [p] F = T [p ¢ ] M donde [P]F y [P⬘]M son los vectores en cuatro dimensiones que se obtienen cuando uno se coloca en el fondo de los vectores tridimensionales originales [p]F y [p⬘]M, respectivamente, como el cuarto elemento, mientras que la matriz T de 4 × 4 se llama “matriz de transformación homogénea”. La ecuación (5.36) o (5.37) es sencilla en el sentido de ¿Por qué homogéneo? que la transformación de un vector, que incluye tanto La matriz T de la ecuación (5.36) se la traslación como la rotación desde el sistema M al ocupa tanto de la traslación como sistema F, se realiza por simple multiplicación de una de la rotación del sistema adjunto al matriz de 4 × 4 en lugar de una multiplicación de macuerpo respecto al sistema de refetrices y suma de vectores, como en la ecuación (5.35). rencia fijo. Sin embargo, desde el punto de vista de la complejidad computacional, es decir, de los números de multiplicaciones/divisiones y sumas/restas que se requieren en un programa de computación, la ecuación (5.35) es más económica en comparación con las ecuaciones (5.36) y (5.37), puesto que se tendrán que ejecutar algunas multiplicaciones y sumas innecesarias con unos y ceros. Aquí cabe señalar que para la matriz T de transformación homogénea, no es válida la propiedad de ortogonalidad, es decir, (5.38) T TT π 1 o T-1 π TT Sin embargo, el inverso de la matriz T de transformación homogénea puede obtenerse fácilmente a partir de la ecuación (5.36) como T –1 = Ejemplo 5.10 LMQ MN 0 T - Q T [ o] F T 1 OP PQ (5.39) Traslación pura Recurriendo a la igura 5.19a), considere el sistema M que se obtiene a partir del sistema F mediante su traslación por dos unidades a lo largo del eje Y y una unidad a lo largo del eje Z. Su relación se representa por una matriz de transformación homogénea, es decir, 5.3 LM1 0 T∫ M MM0 N0 Ejemplo 5.11 Transformación de coordenadas 0 1 0 0 0 0 1 0 0 2 1 1 OP PP PQ 95 (5.40) Rotación pura Considere la igura 5.19b), donde el sistema M se obtiene a partir del sistema de referencia F por medio de su rotación alrededor de su eje Z con un ángulo de 30º. La matriz de transformación homogénea para la rotación pura se proporciona entonces por LMC30∞ S30∞ T∫M MM 0 N0 - S30∞ C30∞ 0 0 0 0 1 0 OP PP PQ 0 0 = 0 1 LM 3 MM 12 MM 2 MN 00 - 1 2 OP P 0P P 0P P 1Q 0 0 3 2 0 0 0 1 0 (5.41) Z, W Z W M V M 1 2 Y 30° U X 30° F V X U F a) b) Y V U M 30° 2 1 c) Figura 5.19 X F Diferentes movimientos Y 96 CAPÍTULO 5 Transformaciones Ejemplo 5.12 Movimiento general Como se muestra en la igura 5.19c), el sistema M se obtiene del sistema de referencia F mediante su traslación a lo largo de los ejes X y Y por 2 y 1 unidades, respectivamente, seguida por una rotación de 30º alrededor de W. La matriz de transformación homogénea correspondiente se obtiene de la multiplicación de las matrices de transformación homogénea que representan la traslación y la rotación puras, respectivamente, respecto a los sistemas de referencia originales, es decir, T ∫ Tt Tr (5.42) donde los subíndices “t” y “r” signiican “traslación” y “rotación”, respectivamente, y donde Tt y T se proporcionan con las ecuaciones (5.40) y (5.41), respectivamente. La matriz T resultante se proporciona con LMC30∞ S30∞ T∫M MM 0 N0 Ejemplo 5.13 OP LMM 23 1 P= M 1 0P M 2 P M 1Q M 0 N0 - S30∞ 0 2 C30∞ 0 0 0 1 0 - 1 2 3 2 0 0 OP P 1P P 0P P 1Q 0 2 0 1 0 (5.43) Transferencia de un punto Recurriendo a la igura 5.20, considere un punto P que se expresa en el sistema F y que se denota con el vector p1. Suponga que p2 denota la nueva ubicación de este punto después de rotar p1 con 30º alrededor del eje Z, y luego trasladando 2 unidades a lo largo del eje Y y –1 unidad a lo largo del eje Z. La relación entre p1 y p2 puede describirse como [p2]F LMC30∞ S30∞ = T[p ] , donde T ∫ T T = M MM 0 N 0 1 F t r OP PP PQ - S30∞ C30∞ 0 0 0 0 0 2 1 -1 0 1 (5.44a) donde Tt y Tr corresponden a la traslación pura y a la rotación pura, es decir, LM1 0 T = M MM0 N0 t 0 0 1 0 0 1 0 0 OP Py -1P P 1Q 0 2 LMC30∞ S30∞ T =M MM 0 N0 r - S30∞ C30∞ 0 0 0 0 1 0 0 0 0 1 OP PP PQ (5.44b) Observe que el orden de multiplicaciones en la ecuación (5.44a), que se parece a la ecuación (5.33a) o (5.33c), y los movimientos se especiican respecto al sistema ijo F en lugar de los sistemas de referencia originales. 5.3 Transformación de coordenadas 97 Z 2 30° –1 P p1 p2 Y X Transferencia de un punto Figura 5.20 Ejemplo 5.14 Producto de dos transformaciones homogéneas Suponga que TA y TB son proporcionados por TA LMC30∞ S30∞ =M MM 0 N0 TB LM C45∞ - S 45∞ =M MM 0 N 0 C30∞ 0 0 0 1 0 OP 1 P 0P P 1Q S 45∞ C 45∞ 0 0 0 0 1 0 1 1 0 1 - S30∞ 0 2 y OP PP PQ (5.45) que se representan gráicamente en la igura 5.21. Observe que cada una de las transformaciones TA o TB es un producto de las dos transformaciones elementales que representan la traslación y rotación respecto a los sistemas de referencia dados. Por ejemplo, la matriz TA puede escribirse como (5.46a) donde las matrices de transformación homogénea de 4 ⫻ 4, TAt y TAr, se asocian con la traslación y rotación desde el sistema ijo F al sistema A, respectivamente; es decir, TA = TAt TAr TAt LM1 0 = M MM0 N0 0 1 0 0 0 0 1 0 OP PP PQ LM MM MN C30∞ - S30∞ 2 S30∞ C30∞ 1 , y TAr = 0 0 0 0 0 1 0 0 1 0 0 0 0 1 OP PP PQ (5.46b) 98 CAPÍTULO 5 Transformaciones YB Y YA XA 45° 1 1 XB 1 2 F 30° X a) Transformaciones respecto a los sistemas actuales Y YA XA YB 1 1 45° 30° 1 XB X 2 b) Transformaciones respecto al sistema ijo F Figura 5.21 Interpretaciones gráficas de los productos de dos matrices de transformación homogénea El total de transformaciones por alcanzar el sistema B desde el sistema F se obtiene ahora como T = TA TB (5.47a) La matriz T de 4 ⫻ 4 se expresa como LM 3 + 1 MM 2 2 T = M- 3 - 1 MM 2 2 MN 00 3 -1 2 2 3 +1 2 2 0 0 0 0 1 0 OP P 3+ 3P P 2 P 0 P 1 PQ 3+ 3 2 (5.47b) Observe que si se ejecutan las mismas transformaciones respecto al sistema ijo F, como se muestra en la igura 5.21b), el orden de multiplicaciones tiene que ser invertido, es decir, T = [TB]F [TA]F (5.48a) donde [TA]F y [TB]F también se obtienen de las multiplicaciones de orden inverso de las traslaciones y rotaciones, por ejemplo, [TA]F = [TAr]F [TAt]F 5.3 Transformación de coordenadas 99 donde TAt y TAr son las matrices de 4 ⫻ 4 proporcionadas en la ecuación (5.46b). Las matrices [TA]F, [TB]F y T se calculan como sigue: LMC30  S30 0 M [T ] = M S30 C30  0 MM 0 0 1 MN 0 0 0 LM C45∞ S45∞ 0 - S 45∞ C 45∞ 0 [T ] = M MM 0 0 1 MN 0 0 0 LM 3  1 3  1 MM 2 2 2 2 3 1 3 1 T = M MM 2 2 2 2 0 MN 00 0 A F B F 1 2 3 1 2 0 1 3  OP PP PP PQ OP 0 P 0 P P 1 PQ 2 0 0 1 0 (5.48b) 53 3 2 2 3 3 2 2 0 1 OP PP PP PP Q (5.48c) Cuando se comparan las ecuaciones (5.47b) y (5.47c), sólo las coordenadas del origen del sistema B son diferentes, como queda claro a partir de las iguras 5.21a-b). Ejemplo 5.15 Verificación de la ecuación (5.48c) por medio de MATLAB Para veriicar la ecuación, deben usarse los siguientes comandos: >tam=[cos(pi/6),-sin(pi/6),0,sqrt(3)-1/2;sin(pi/6),cos(pi/ 6),0,1+sqrt(3)/2;0,0,1,0;0,0,0,1]; >tbm=[cos(pi/4),sin(pi/4),0,sqrt(2);-sin(pi/ 4),cos(pi/4),0,0;0,0,1,0;0,0,0,1]; >tm=tbm*tam tm = 0.9659 0.2588 0 3.6049 -0.2588 0.9659 0 0.4483 0 0 1.0000 0 0 0 0 1.0000 donde “tam” y “tbm” representan las matrices [TA]F y [TB]F, respectivamente, mientras que la matriz resultante [TA]F se denota por “tm”. Puede veriicarse fácilmente que la ecuación (5.48c) es la expresión proporcionada pot “tm”. 100 5.4 CAPÍTULO 5 Transformaciones Los parámetros de Denavit y Hartenberg (DH) Un manipulador robótico consiste en varios eslabones, usualmente conectados por articulaciones de un solo grado de libertad, por ejemplo, una articulación rotacionalo prismática. Con el in de controlar el efector inal respecto a la base, es necesario encontrar la relación entre los sistemas de coordenadas adjuntos al efector inal y la base. Esto puede obtenerse a partir de la desLa primera aparición cripción de las transformaciones de coordenadas adde los parámetros DH juntadas a todos los eslabones que forman la descripLos parámetros DH aparecieron por ción general de manera recursiva. Para este propósito, vez primera en 1955 (Denavit y Harel material que se presenta en la sección previa para tenberg, 1955) para representar una describir la posición y orientación del cuerpo rígido es línea dirigida que no es otra cosa que el eje de una articulación de par inútil para obtener la composición de transformaciones ferior. de coordenadas entre los sistemas consecutivos. Como primer paso, deberá derivarse un método sistemático general para deinir la posición y orientación relativa de los dos eslabones consecutivos. El problema es la deinición de los dos sistemas adjuntos a los dos eslabones sucesivos y el cálculo de la transformación de coordenadas entre ellos. En general, los sistemas de referencia se eligen de manera arbitraria mientras estén de manera adjunta al eslabón al que se reieran. No obstante, conviene establecer algunas reglas para la deinición de los sistemas de eslabones. La convención que aquí se adopta para un robot de cadena serial como el que se muestra en la igura 5.22 es que tiene n + 1 eslabones, es decir, vínculo #0, ... #n, acoplados por n articulaciones, es decir, articulación 1, ... n. Ahora, en la igura 5.23, 4 a) Supongamos que el eje i denota el #3 eje de la articulación que conecta 3 i el eslabón i – 1 al vínculo i. b) Un sistema de coordenadas Xi, Yi, Zi #i #2 se adjunta al extremo del eslabón i – 1, no al eslabón i, para i = 1, ... 2 i+1 n + 1. c) Elija el eje Zi a lo largo del eje de la #1 n articulación i, cuyo sentido positi#n vo puede tomarse hacia cualquier 1 dirección del eje. Base ija d) Ubique el origen Oi en la intersecEfector inal ción del eje Zi con la perpendicular Figura 5.22 Manipulador serial común a Zi–1 y Zi. También localice O⬘i sobre Zi en la intersección de la perpendicular común a Zi y Zi+1. e) Elija el eje Xi a lo largo de la perpendicular común a los ejes Zi–1 y Zi con la dirección del primero al último. f ) Elija el eje Yi para que se complete con un sistema de referencia derecho. 5.4 Los parámetros de Denavit y Hartenberg (DH) 101 Zi, Z9i, Z 0i Articulación i Z⬘⬘⬘i, Zi + 1 Zi – 1 Eslabón i – 1 Eslabón i Articulación i + 1 Articulación i – 1 ␣i ai O⬘i ␪i Oi + 1 X0i, X-i, Xi bi ai – 1 +1 X⬘i Oi Xi a) La i-ésima articulación número es rotacional Articulación i Articulación i + 1 Eslabón i Articulación i – 1 Eslabón i – 1 ␣i Oi + 1 ␣i – 1 O⬘ a i i ai – 1 ␪i bi Oi b) La i-ésima articulación es prismática Figura 5.23 Convención de sistemas de referencia y parámetros de Denavit y Hartenberg (DH) Observe que las convenciones arriba ilustradas no dan una deinición única de los sistemas de eslabones en los siguientes casos: 102 CAPÍTULO 5 Transformaciones • Para el sistema 1 que se une a la base ija, es decir, el eslabón 0, sólo se especiica el sentido de los ejes Z1. Entonces O1 y X1 pueden elegirse en forma arbitraria. • Para el último sistema n + 1 no aplica la convención mencionada, ya que no existe ningún eslabón n + 1. Por ende, el sistema n + 1 puede elegirse en forma arbitraria. • Cuando dos ejes consecutivos son paralelos, la perpendicular común entre ellos no se deine de manera única. • Cuando se cruzan dos ejes consecutivos, el sentido de Xi es arbitrario. Cuando la articulación i es prismática, sólo se determina el sentido del eje Zi, mientras que la ubicación de Oi es arbitraria. En todos estos casos, puede explotarse la indeterminación para simpliicar el proceso. Por ejemplo, los ejes del sistema n + 1 pueden hacerse paralelos a los del sistema n. Una vez que se hayan establecido los sistemas de los eslabones, la posición y orientación de el sistema i respecto a el sistema i – 1 quedan completamente especiicadas por los cuatro parámetros que se conocen como parámetros de Denavit y Hartenberg (DH). Por tanto, a estos sistemas también se les conoce como sistemas de referencia de DH. Los cuatro parámetros DH se deinen como sigue: a) bi (Desplazamiento de la articulación) Longitud de las intersecciones de las perpendiculares comunes en el eje de articulación Zi, es decir, Oi y O⬘i. Ésta es la posición relativa de los eslabones i – 1 e i. Esto se mide como la distancia entre Xi y Xi+1 a lo largo de Zi. b) p i (Ángulo de la articulación) Es el ángulo entre las proyecciones ortogo- nales de las perpendiculares normales Xi y Xi+1 a un plano perpendicular del eje de la articulación Zi. La rotación es positiva cuando se realiza en el sentido contrario a las manecillas del reloj. Es el ángulo relativo entre los eslabones i – 1 e i. Esto se mide como el ángulo entre Xi y Xi+1 alrededor de Zi. c) ai (Longitud del eslabón) La longitud entre O⬘i y Oi+1. Esto se mide como la distancia entre las perpendiculares comunes a los ejes Zi y Zi+1 a lo largo de Xi+1. d) `i (Ángulo de torsión) El ángulo entre las proyecciones ortogonales de los ejes de articulación Zi y Zi+1 sobre un plano perpendicular a la perpendicular común. Esto se mide como el ángulo entre los ejes Zi y Zi+1 alrededor del eje Xi+1 para que se tome como positivo cuando la rotación se realiza en el sentido contrario a las manecillas del reloj. Observe que los cuatro parámetros que se mencionan arriba se deinen en forma secuencial cuando se mueve desde el eslabón i – 1 al eslabón i + 1 a través del eslabón i. Además, los primeros dos parámetros, es decir, bi y qi, deinen la posición relativa de los eslabones i – 1 e i, mientras que los últimos dos, ai y ai, describen el tamaño y la forma del eslabón i que siempre son constantes. Los parámetros bi y qi, sin embargo, son variables, dependiendo del tipo de articulaciones que se usen. En particular, • • ␪i es variable si la articulación i es rotacional; y bi es variable si la articulación i es prismática. Así, para un tipo de articulación dada, es decir, rotacional (revoluta) o prismática, uno de los parámetros DH es variable, lo que se denomina “variable de articulación”, mientras que los tres parámetros restantes son constantes y se llaman “parámetros de eslabones”. 5.4 Ejemplo 5.16 Los parámetros de Denavit y Hartenberg (DH) 103 Parámetros DH de un brazo planar de tres eslabones X4 La igura 5.24 muestra un brazo planar de tres eslabones. Los sistemas de coordenadas para deinir los parámetros DH se muestran en la igura. Los X3 Y4 a3 #3 parámetros DH se tabulan en la tabla 5.2, donde ␪3 Y a1 y qi, para i = 1, 2, 3, son las longitudes de los 3 eslabones y los ángulos de articulaciones, respecY2 a2 #2 tivamente. El eje Zi es perpendicular al plano de la Y1 página y X1 se elige en forma arbitraria. Observe ␪2 X2 que el sistema 1, es decir, X1, Y1 y Z1, se adjunta al a1 eslabón denotado como #0. Puesto que no existe #1 ␪1 un vínculo 4, el sistema 4 puede ser asignada arX1 #0 bitrariamente, de tal modo que su eje X se sitúa a lo largo del eslabón, tal como se hizo para los Figura 5.24 Un brazo planar de sistemas 2 y 3. tres eslabones Tabla 5.2 Parámetros DH del brazo de tres eslabones Eslabón bi qi ai ai 1 0 q1 (JV) a1 0 2 0 q2(JV) a2 0 3 0 q3(JV) a3 0 JV: Variable de articulación Cabe señalar lo siguiente: para que un miembro de dos eslabones tenga las dos articulaciones rotacionales o revolutas, es decir, que la #3 se remueva de la igura 5.24, los parámetros DH de la tabla 5.2, sin la tercera hilera, siguen siendo válidos. Ejemplo 5.17 Parámetros DH de un brazo planar rotacional-prismático En un brazo planar rotacional-prismático (RP), igura 5.25, donde las articulaciones rotacional y prismática se indican como R y P, respectivamente, los parámetros DH se encuentran en la tabla 5.3. Tabla 5.3 Parámetros DH del brazo RP Eslabón bi qi ai ai 1 0 q 1(JV) 0 p/2 2 b2(JV) 0 0 0° 104 CAPÍTULO 5 Transformaciones Y1 X3 X2 Z 2, Z 3 b2 EE (x, y) X1 ␪1 R P Figura 5.25 Ejemplo 5.18 Brazo planar rotacional-prismático Parámetros DH de un brazo planar prismático-rotacional Si se intercambian las articulaciones rotacional y prismática, el resultado es un brazo prismático-rotacional (PR), como se muestra en la igura 5.26. Sus parámetros DH se muestran en la tabla 5.4. Y3 Y1 (x, y) X3 a2 P EE ␪2 R b1 Y2 Z1 X2 Figura 5.26 Tabla 5.4 Brazo planar prismático-rotacional Parámetros DH del brazo PR Eslabón bi qi ai ai 1 b1(JV) 0 0 p/2 2 0 q2(JV) ai 0 Ejemplo 5.19 Parámetros DH de un brazo esférico Respecto al brazo de robot del tipo esférico que se muestra en la igura 5.27, observe que el primero y segundo eslabones, es decir, #1 y #2, se entrecruzan y la longitud del primero no afecta el movimiento del efector inal debido a la rotación de la primera articulación. Por lo tanto, es útil situar tanto el primer como el segundo sistema de 5.4 Los parámetros de Denavit y Hartenberg (DH) 105 Z3 , Z 4 Z 1, Y 2 Y1 O4 X1, X2 X4 O2, O 2 ␪1 b2 ␪2 Y4 #3 b3 #2 #1 X3 O3 Z2 , Y 3 #0 Figura 5.27 Un brazo de tipo esférico referencia en la intersección de los primeros dos ejes rotacionales, es decir, en O1 u O2. Los parámetros DH se tabulan en la tabla 5.5, donde b2, b3 y qi, para i = 1, 2, 3, se indican en la igura 5.27. Tabla 5.5 Parámetros DH del brazo esférico Eslabón bi qi ai ai 1 0 q1 (JV) 0 p/2 2 b2 q2 (JV) 0 p/2 3 b3(JV) 0 0 0 5.4.1 Transformaciones entre sistemas DH En este momento puede expresarse la transformación de coordenadas entre los sistemas DH i e i + 1, que se adjuntan a los eslabones i – 1 e i, respectivamente. En la igura 5.23, a) Traslade el sistema i mediante bi a lo largo de los ejes Zi. Esto lleva el origen Oi del sistema i en coincidencia con O⬘i. Suponga que O⬘i es el origen de el sistema desplazado i⬘. La matriz de transformación correspondiente es Tb LM1 0 = M MM0 N0 0 1 0 0 0 0 0 0 1 bi 0 1 OP PP PQ donde bi indica la traslación por la cantidad bi a lo largo del eje Zi. (5.49a) 106 CAPÍTULO 5 Transformaciones b) El sistema desplazado, es decir, el sistema i⬘, se gira con un ángulo qi alrededor del eje Zi, lo que lleva el eje X⬘i (paralelo a Xi) en alineación con el eje Xi+1. El nuevo sistema se llama i⬙. La matriz de transformación correspondiente es Tq LMCq Sq = M MM 0 N0 i i - Sq i Cq i 0 0 OP PP PQ 0 0 0 0 1 0 0 1 (5.49b) c) Deslice el sistema i⬙ mediante ai a lo largo del eje Xi⬙ (⬅ Xi+1). Esto lleva al origen del sistema i⬙, Oi⬙ (⬅ O⬘i ) en coincidencia con Oi+1. La matriz de transformación correspondiente es Ta = LM1 MM0 MN00 0 1 0 0 0 ai 0 0 1 0 0 1 OP PP PQ (5.49c) El nuevo sistema se llama i⵮. d) Finalmente, gire el sistema i⵮ con un ángulo ai alrededor del eje X⵮i (⬅Xi+1), que ahora coincidirá con el sistema i + 1. La matriz de transformación correspondiente es Ta LM1 0 = M MM0 N0 0 Ca i Sa i 0 0 - Sa i Ca i 0 OP PP PQ 0 0 0 1 (5.49d) La resultante transformación de coordenadas entre los sistemas conectados con los cuerpos i – 1 e i, es decir, Ti, se obtiene ahora mediante la posmultiplicación de las cuatro transformaciones elementales de arriba, como se hace en la ecuación (5.31d), es decir, (5.50a) La expresión Ti también puede leerse como matriz de transformación del sistema adjuntado al cuerpo i, es decir, sistema i + 1, como se representa en el sistema incorporado al cuerpo i – 1, es decir, sistema i. Por medio de sustitución de las expresiones de matriz de las ecuaciones (5.49 a-d) a la ecuación (5.50a), se obtiene la siguiente expresión: Ti = Tb Tq Ta Ta LMCq Sq T = M MM 0 N0 i i i - Sq i Ca i Cq i Ca i Sa i 0 Sq i Sa i - Cq i Sa i Ca i 0 ai Cq i a i Sq i bi 1 OP PP PQ (5.50b) Observe que la matriz de transformación del sistema i al sistema i + 1 es una función de únicamente la i-ésima variable de articulación de potencia, es decir, qi para una articulación revoluta o rotacional, y bi para una articulación prismática, porque los otros tres parámetros DH son constantes. 5.4 Ejemplo 5.20 Los parámetros de Denavit y Hartenberg (DH) 107 Transformación homogénea del brazo planar de tres eslabones Conforme a la igura 5.24 y a los parámetros DH indicados en la tabla 5.2, las matrices de transformación homogénea Ti pueden derivarse de la ecuación (5.50b) como LMCq Sq T = M MM 0 N0 - Sq i Cq i i i i Ejemplo 5.21 0 0 0 ai Cq i 0 a i Sq i 1 0 0 1 OP PP , para i = 1, 2, 3 PQ (5.51) Transformación homogénea del brazo planar RP Conforme a la igura 5.25 y a los parámetros DH indicados en la tabla 5.3, las matrices de transformación homogénea Ti, para i  1, 2, pueden derivarse de la ecuación (5.50b) como T1 LMCq Sq = M MM 0 N0 Ejemplo 5.22 1 1 OP P,y T 0P P 1Q 0 Sq 1 0 0 - Cq 1 0 1 0 0 0 2 LM1 0 = M MM0 N0 0 1 0 0 0 0 0 0 1 b2 0 1 OP PP PQ (5.52) Transformación homogénea del brazo planar PR Conforme a la igura 5.26 y a los parámetros DH indicados en la tabla 5.4, las matrices de transformación homogénea Ti para i = 1, 2, pueden derivarse de la ecuación (5.50b) como T1 LM1 0 = M MM0 N0 0 0 0 -1 1 0 0 0 0 0 b1 1 OP PP PQ y T2 LMCq Sq = M MM 0 N0 2 2 - Sq 2 Cq 2 0 0 0 a2 Cq 2 0 a2 Sq 2 1 0 0 1 OP PP PQ (5.53) 108 CAPÍTULO 5 Transformaciones Ejemplo 5.23 Transformación homogénea del brazo esférico Conforme a la igura 5.27 y a los parámetros DH indicados en la tabla 5.5, las matrices de transformación homogénea Ti, para i = 1, 2, 3, pueden derivarse de la ecuación (5.50b) como LMCq Sq = M MM 0 N0 LM1 0 0 1 = M MM0 0 N0 0 1 T1 T3 Ejemplo 5.24 1 0 Sq 1 0 - Cq 1 1 0 0 0 0 0 0 0 1 b3 0 1 OP PP PQ OP PP PQ LM MM MN Cq 2 0 Sq 2 0 , y T2 = 0 0 0 1 0 Sq 2 0 - Cq 2 1 0 0 0 OP PP PQ 0 0 , b2 1 (5.54) Obtenga la ecuación (5.50b) por medio de MATLAB Para obtener la ecuación (5.50b), las operaciones simbólicas tienen que ejecutarse en MATLAB. Para este in, se usan los siguientes comandos: >syms bi thi ai ali; >tbm=[1,0,0,0;0,1,0,0;0,0,1,bi;0,0,0,1]; >tthm=[cos(thi),-sin(thi),0,0;sin(thi),cos(thi),0,0;0,0,1,0;0,0,0,1]; >tam=[1,0,0,ai;0,1,0,0;0,0,1,0;0,0,0,1]; >talm=[1,0,0,0;0,cos(ali),-sin(ali),0; 0,sin(ali),cos(ali),0; 0,0,0,1]; >tim=tbm*tthm*tam*talm tim = [ cos(thi), -sin(thi)*cos(ali), sin(thi)*sin(ali), cos(thi)*ai] [ sin(thi), cos(thi)*cos(ali), -cos(thi)*sin(ali), sin(thi)*ai] [ 0, sin(ali), cos(ali), bi] [ 0, 0, 0, 1] donde el comando “syms” se usa para deinir las variables simbólicas “bi”, “thi”, “ai” y “ali” para los parámetros DH bi, qi, ai y ai, respectivamente. Además, se usan las notaciones “tbm”, “tthm”, “tam” y “talm” para representar las matrices Tb, Tq, Ta y Ta, dadas por las ecuaciones (5.49a-d), respectivamente. Finalmente, la resultante matriz Ti denotada como “tim” en el ambiente de MATLAB, se evalúa arriba, lo que coincide con la ecuación (5.50b). Ejercicios 109 RESUMEN En este capítulo, primero se deine la postura o coniguración del cuerpo rígido. Se presentan sus representaciones. También se deine la matriz de transformación homogénea que se ocupa tanto de la traslación como de la rotación de un sistema de coordenadas entre sí. En la última parte, se introducen los parámetros de Denavit y Hartenberg (DH) y se deriva la matriz de transformación homogénea correspondiente. EJERCICIOS 5.1 Compruebe lo siguiente: a) b) c) d) 5.2 5.3 5.4 5.5 det (Q) = 1 (5.55a) Q–1 = QT (5.55b) Q⬘ = QT, donde Q⬘ se deine según la ecuación (5.19). (5.55c) Para la rotación elemental con ␣ alrededor de cualquier eje, X, Y o Z, Qk–1 = QkT, donde k = X, Y o Z. ¿Cuáles son los signiicados equivalentes de una matriz de rotación? Suponga que QA es la rotación del sistema ijo a un nuevo sistema A respecto al sistema F, y que QB es la rotación del sistema A a otro nuevo sistema B respecto al sistema A. ¿Cuál es la representación de matriz resultante del sistema B respecto a su sistema de referencia original F, es decir, Q? Suponga que [QA] es la rotación d del sistema ijo a un nuevo sistema A respecto del sistema F, y que [QB]F es la rotación del sistema A a otro nuevo sistema B, también respecto al sistema F. Busque la representación de matriz resultante del sistema B respecto al sistema de referencia original F, es decir, Q. ¿Debería el resultado ser el mismo que se obtiene en la pregunta 5.3? Suponga que QA y QB, como se deinen en la pregunta 5.3, son dadas por QA 5.6 LMC30∞ = M S 30∞ MN 0 OP PP Q LM MM N OP PP Q - S 30∞ 0 C45∞ - S 45∞ 0 C 30∞ 0 , y QB = S 45∞ C 45∞ 0 0 1 0 0 1 (5.55) Ilustre las dos transformaciones de arriba en forma gráica y busque Q = QA QB. Si TA fuese la matriz homogénea que representa una transformación del sistema ijo a un nuevo sistema A respecto al sistema ijo F, y si TB fuese otra transformación a un sistema B respecto al sistema A, busque la matriz de transformación resultante T. 110 CAPÍTULO 5 Transformaciones 5.7 Si [TA]F fuese la matriz homogénea que representa una transformación del sistema ijo a un nuevo sistema de referencia A respecto al sistema F, y si [TB]F fuese otra transformación a uno sistema B, también respecto al sistema F, busque la matriz de transformación resultante. Comente los resultados obtenidos en ésta y en la anterior pregunta. 5.8 Busque los parámetros DH del robot SCARA que aparece en la igura 5.28. 5.9 La igura 5.29 muestra un brazo articulado antropomorfo. Busque los parámetros DH. 5.10 Busque las matrices de transformación homogénea para la arquitectura de robot que se muestra en la igura 5.29. 5.11 Busque los parámetros DH del brazo esférico que se muestra en la igura 5.30. 5.12 ¿Cuáles son las matrices de transformación homogénea para la arquitectura de robot de la igura 5.30? EJERCICIOS BASADOS EN MATLAB 5.13 Evalúe los valores numéricos de QA y QB. 5.14 Compruebe las ecuaciones (5.55a-c). 5.15 Utilizando los valores numéricos del ejercicio 5.5, demuestre la propiedad no conmutativa de las rotaciones, es decir, QAQB ≠ QBQA. 5.16 Usando las funciones “atan” y “atan2”, encuentre el ángulo formado por la línea que une el origen (0, 0) y un punto (2, 1). 5.17 Repita el ejercicio 5.16 para los puntos (0, 0) y (2, 1). Comente los resultados obtenidos usando “atan” y “atan2”. ¿Cuál es el correcto? Z 3, Z 4 Z2 Z1 ␪2 ␪1 b2 b3 b1 a1 a2 ␪4 Figura 5.28 Un robot SCARA b4 Ejercicios basados en MATLAB q2 Z1 Z2 Z3 X1, X2 a2 q3 X3 a3 X4 q1 Figura 5.29 Z1, X3, X4 Z4 Un brazo articulado Z2 ␪2 X1, X2 O1, O2, O3 ␪3 ␪1 Z 3, Z 4 Figura 5.30 Un brazo esférico 111 Capítulo 6 Cinemática Para que un robot ejecute una tarea especíica, primero que nada deberá establecerse la posición y la orientación del efector inal, es decir, su posición o coniguración en relación con su base. Esto es esencial para resolver problemas de posicionamiento. Una vez que las relaciones mencionadas se diferencian una y dos veces, surgen entonces los problemas de análisis de Cinemática inversa vs. la velocidad y aceleración necesarios para el control directa de movimientos uniformes del efector inal, así como el análisis dinámico del robot en cuestión. Puesto que Mientras que la cinemática inversa de robots seriales permite encontrar la coniguración del efector inal se determina por las múltiples soluciones, la cinemática seis variables cartesianas que se controlan mediante directa sólo tiene una solución. los movimientos de las articulaciones del robot, es necesario encontrar las relaciones entre los dos conjuntos. En el análisis de posición, se encuentra una relación entre las coordenadas cartesianas, es decir, la posición de un punto en el efector inal y su orientación con los ángulos de las articulaciones. Aquí existen dos tipos de problemas: la cinemática directa y la inversa, como se ilustra en la igura 6.1. En la cinemática directa, las posiciones de las articulaciones ya están determinadas y el problema radica en encontrar la coniguración del efector inal. En la cinemática inversa, se resuelve inverso, es decir, la posición del efector inal está determinada y el problema radica en encontrar los ángulos de las articulaciones. 6.1 Análisis de la posición directa Movimiento del efector inal 113 Movimiento de las articulaciones Q, p ␪3 ␪3 Q y p ␪2 ␪ 1, ␪ 2, y ␪3 Cinemática directa Cinemática inversa Tiempo ␪2 Tiempo ␪1 ␪1 Tiempo Figura 6.1 6.1 Cinemática directa e inversa Análisis de la posición directa En la cinemática directa para posición, las posiciones de las articulaciones, es decir, los ángulos de las articulaciones de revoluta y el desplazamiento de las articulaciones prismáticas se conocen. La tarea es encontrar la coniguración del efector inal, es decir, su posición y orientación. Esto puede obtenerse a partir de las ecuaciones de clausura, como se explicará en los siguientes pasos: a) De acuerdo con las reglas que se dieron en la sección 5.4, adjunte un sistema de coordenadas a cada uno de los eslabones n + 1 del robot, donde el sistema 1 se adjunta al sistema de coordenadas ijo y el sistema n + 1, al efector inal o cuerpo n-ésimo. b) Deina los parámetros Denavit-Hartenberg (DH) que se presentaron en la sección 5.4. c) Escriba las matrices de transformación homogénea de la ecuación (5.50) como T1, T2 … Tn, donde Ti para i = 1, … n, que representa la transformación del cuerpo i o sistema i + 1 respecto a su cuerpo anterior i – 1, o sistema adjunto a él, es decir, sistema i. ␾ Efector inal, P (px, py) Y1 a2 ␪2 a1 ␪1 Figura 6.2 X1 Cinemática de un brazo planar de dos eslabones 114 CAPÍTULO 6 Cinemática d) Como se muestra en la subsección 5.4.1, la matriz de transformación homogénea del sistema de coordenadas del efector inal respecto al sistema 1, es decir, T, se obtiene entonces mediante la posmultiplicación de las transformaciones homogéneas individuales mostradas arriba, Ti, para i = 1, … n, es decir, T = T1 T2 º Tn (6.1) Observe que para cada transformación del lado derecho de la ecuación (6.1), Ti se expresa en el sistema de coordenadas adjunto al cuerpo i – 1 o sistema i, mientras que el lado izquierdo de la matriz T se expresa respecto al sistema ijo, es decir, sistema 1. Por lo tanto, deberá tenerse cuidado para transferir correctamente los vectores y matrices asociados a los sistemas sucesivos antes de multiplicarlos o sumarlos en los últimos sistemas . La ecuación (6.1) se conoce como la ecuación de clausura del robot en cuestión. Si se sustituye la expresión para la matriz de transformación homogénea Ti de la ecuación (5.50b) en la ecuación (6.1), se obtienen dos relaciones distintas en términos de la orientación de los eslabones de las articulaciones y de las posiciones de los orígenes de los sistemas adjuntos a los eslabones. Éstas son Q = Q1 Q2 º Qn p = a1 + Q1 a2 + º + Q1 º Qn–1 an (6.2) (6.3) donde la matriz Qi es la matriz de rotación ortogonal que se introdujo en la subsección 5.2.2, que representa la orientación del sistema i + 1 respecto al sistema i. Además, el vector ai es la posición del origen del sistema i + 1 adjunto al cuerpo i del cuerpo del sistema i adjunto al cuerpo i – 1. Aunado a esto, Q es la orientación del efector inal respecto al sistema ijo, es decir, sistema 1, y p es la posición del origen del sistema adjunto al efector inal, es decir, sistema n + 1, desde el origen del sistema 1. Al comparar ambos lados de la ecuación (6.1) o las ecuaciones (6.2) y (6.3), se observa que la primera es fácil de entender, mientras que las últimas ecuaciones son computacionalmente eicientes. Usando la ecuación (6.1), se tienen que calcular 16 parámetros de las matrices 4 × 4, mientras que sólo se utilizan 12 parámetros, nueve para las matrices de 3 × 3 y tres para los vectores de posición. Observe que en el análisis cinemático de posición directa, el lado derecho de la ecuación (6.1) o los de las ecuaciones (6.2) y (6.3) están determinados como entradas y los lados izquierdos se calculan como salidas. Ejemplo 6.1 Cinemática directa de un brazo planar de dos eslabones Como se muestra en la igura 6.2, los parámetros DH de un brazo de dos eslabones pueden obtenerse de la tabla 5.2, como se señala después de la tabla, es decir, en las primeras dos hileras de la tabla 5.2. Sus dos matrices de transformación homogénea Ti, i = 1, 2, se obtienen con la ecuación (5.50b), es decir, LMc s T ∫M MM 0 N0 i i i - si ci 0 0 0 ai ci 0 ai si 1 0 0 1 OP PP PQ (6.4) 6.1 Análisis de la posición directa 115 donde si ≡ sen ␪i y ci ≡ cos ␪i. La solución para el análisis de posición de cinemática directa del manipulador se da entonces como T = T1T2 donde T representa la posición o coniguración del efector inal respecto a su base, es decir, el sistema 1. La matriz T de 4 × 4 se expresa como LMc s T∫M MM 0 N0 12 - s12 c12 0 0 12 0 a1 c1 + a2 c12 0 a1 s1 + a2 s12 1 0 0 1 OP PP PQ (6.5) donde s12 ≡ sen ␪12; c12 ≡ cos ␪12; y ␪12 ≡ ␪1 + ␪2 … ␪i, siendo el ángulo de la i-ésima articulación, como se indica en la igura 6.2. Además, a1 c1 + a2 c12 ∫ px y a1 s1 + a2 s12 ∫ py donde px y py se muestran en la igura 6.2. Conociendo los valores numéricos de los parámetros DH, a saber, a1 y a2 aquí, y los valores de entrada de ␪1 y ␪2, puede calcularse fácilmente la matriz T, que especiicará la posición del punto P en el efector inal y la orientación del efector inal, es decir, ␾. Ejemplo 6.2 Cinemática directa de un brazo planar rotacional-prismático En la igura 5.25, se muestra un brazo planar rotacional-prismático (RP) cuyos parámetros DH se evalúan en la tabla 5.3. Sus matrices de transformación homogénea T1 y T2 también se obtienen con la ecuación (5.52). Por lo tanto, la relación de cinemática directa que proporciona la matriz de 4 × 4 T = T1T2 puede obtenerse como LMc MMs0 MN 0 1 T∫ Ejemplo 6.3 1 0 s1 0 - c1 1 0 0 0 b2 s1 - b2 c1 0 1 OP PP PQ (6.6) Cinemática directa de un brazo planar de tres eslabones Los parámetros DH del brazo, como se muestra en la igura 6.3, se presentan en la tabla 5.2. Las tres matrices de transformación homogénea Ti, i = 1, 2, 3, se obtienen entonces con la ecuación (5.50b). Éstas aparecen en la ecuación (6.4). La solución para el análisis de posición de cinemática directa del manipulador se da entonces como 116 CAPÍTULO 6 Cinemática X4 ␸ Efector inal, P (px, py) Y4 ␪3 a3 X3 Y3 Y1 a2 ␪2 Y2 ␤ ␣ Muñeca W (wx, wy) X2 a1 ␪1 X1 Figura 6.3 Cinemática de un brazo planar de tres eslabones T = T1 T2 T3 donde T representa la posición o coniguración del efector inal respecto a su base, es decir, el sistema 1. La matriz de 4 × 4 T se expresa como LMc s T∫M MM 0 N0 123 123 - s123 c123 0 0 0 a1 c1 + a2 c12 + a3 c123 0 a1 s1 + a2 s12 + a3 s123 1 0 0 1 OP PP PQ (6.7) donde s12, c12 y ␪12 se deinen según la ecuación (6.5). Además, s123 ≡ sen ␪123; c123 ≡ cos ␪123 y ␪123 ≡ ␪12 + ␪3 ≡ ␸ … ␪1 y ␸ que se muestran en la igura 6.3. Además, a1c1 + a2c12 + a3c123 ≡ px, y a1s1 + a2s12 + a3s123 ≡ py, donde px y py se indican en la igura 6.3. Observe que el uso directo de las ecuaciones (6.2) y (6.3) para el caso planar también proporciona las expresiones ␸ = ␪123, y las relaciones arriba mencionadas de px y py, respectivamente, lo cual será computacionalmente más eiciente. Ejemplo 6.4 Cinemática directa de un robot SCARA Un robot SCARA se muestra en la igura 5.28. Basándose en sus parámetros DH que se encuentran en el ejercicio 5.8, sus transformaciones homogéneas se obtienen como T1 LMc s ∫M MM 0 N0 1 - s1 1 c1 0 a1 c1 0 a1 s1 0 0 1 0 b1 1 OP LMc PP , T ∫ MMs0 PQ MN 0 2 2 - s2 2 c2 0 a2 c 2 0 a 2 s2 0 0 1 0 b2 1 OP PP PQ (6.8a) 6.1 T3 LM1 0 ∫M MM0 N0 0 1 0 0 LM MM MN OP PP PQ 117 Análisis de la posición directa 0 0 c4 0 0 s4 , T4 ∫ 1 b3 0 0 1 0 - s4 c4 0 0 0 0 0 0 1 b4 0 1 OP PP PQ (6.8b) La cinemática directa resultante para la posición puede entonces obtenerse como T = T1T2T3T4 que da LMc s T∫M MM 0 N0 124 - s124 0 124 c124 0 0 1 0 0 OP a s +a s P b +b +b +b P PQ 1 a1 c1 + a2 c12 1 1 1 2 2 12 3 (6.9) 4 donde s124 ≡ sen ␪124; c124 ≡ cos ␪124, y ␪124 ≡ ␪12 + ␪4. Ejemplo 6.5 Cinemática directa de un brazo esférico El diagrama cinemático de un brazo esférico que se introdujo en la igura 2.13 se muestra en la igura 5.27. Sus parámetros DH se dan en la tabla 5.5, mientras que las matrices de transformación homogénea se expresan en el ejemplo 5.23. Según la ecuación (5.54), la relación de cinemática directa se expresa como LMc c s c T= M MM s N0 1 2 1 2 2 Ejemplo 6.6 s1 c1 s2 - c1 s1 s2 - c2 0 0 0 b2 s1 + b3 c1 s2 - b2 c1 + b3 s1 c2 - b3 c2 1 OP PP PQ (6.10) Cinemática directa de un brazo articulado antropomórfico Los parámetros DH y las matrices de transformación homogénea del brazo articulado antropomórico de la igura 5.29 se obtienen en los ejercicios 5.9 y 5.10, respectivamente. Puesto que tiene tres grados de libertad, la posmultiplicación de las tres matrices de transformación homogénea, es decir, T1 T2 T3, proporciona LMc c s c T∫M MM - s N 0 1 23 1 23 23 - c1 s23 - s1 s23 - c23 0 - s1 c1 0 0 c1 ( a2 c2 + a3 c23 ) s1 ( a2 c2 + a3 c23 ) - ( a2 s2 + a3 s23 ) 1 OP PP PQ (6.11) 118 CAPÍTULO 6 Cinemática donde T representa la coniguración del efector inal representado en el sistema ijo. Ejemplo 6.7 Cinemática directa de una muñeca Los parámetros DH y las matrices de transformación homogénea de la muñeca que se ve en la igura 5.30 se evalúan en los ejercicios 5.11 y 5.12. Ésta tiene tres grados de libertad. La multiplicación de las tres matrices de transformación homogénea se obtiene con T = T1T2T3, es decir, LMc c c - s s s c c +c s T= M MM s c N 0 1 2 3 1 3 1 2 3 1 3 2 3 Ejemplo 6.8 - c1 c2 s3 - s1 c3 - c1 s2 - s1 c2 s3 + c1 c3 - s2 s3 0 - s1 s2 c2 0 OP PP PQ 0 0 0 1 (6.12) Cinemática directa de un robot articulado antropomórfico En la igura 6.4 se muestra un robot articulado antropomórico, cuyos parámetros DH se marcan en la tabla 6.1. Consiste básicamente en el brazo de la igura 5.29 con la muñeca de la igura 5.30 montada en él. Tiene seis grados de libertad (DOF). La coniguración del efector inal se obtiene como T = T1 … T6. La expresión inal de la matriz de orientación Q, y el vector de posición del efector inal p, que son componentes de bloque de la matriz T de 4 × 4, se obtienen con Z1 ␪2 O 1, O 2 Z2 X4 X1, X2 Z3 O 3, O 4 X5 ␪3 O 5 , O6 ␪4 a1e, a2e X6 Z4 X3 ␪5 ␪6 O7 ␪1 Z6 Z7 Efector terminal X7 Figura 6.4 Robot articulado antropomórfico Z5 6.1 LMq Q ∫ Mq MNq Análisis de la posición directa 11 q12 q13 21 q 22 q23 31 q32 q33 119 OP PP Q y LM p OP p ∫ Mp P MN p PQ 1 (6.13a) 2 3 donde q11 q12 q13 q21 q22 q23 q31 q32 q33 ∫ c1[c23 (c4 c5 c6 – s4 s6) – s23 s5 c6] + s1 (s4 c5 c6 + c4 s6) ∫ c1[c23 (–c4 c5 s6 – s4 c6) + s23 s5 s6] – s1 (s4 c5 s6 – c4 c6) ∫ c1(–c23 c4 s5 – s23 c5) – s1 s4 s5 ∫ s1[c23 (c4 c5 c6 – s4 s6) – s23 s5 c6] + c1 (–s4 c5 c6 – c4 s6) ∫ s1 [c23 (–c4 c5 s6 – s4 c6) + s23 s5 s6] + c1 (s4 c5 s6 – c4 c6) ∫ s1 (–c23 c4 s5 – s23 c5) + c1 s4 s5 ∫ – c23 s5 c6 + s23 (s4 s6 – c4 c5 c6) ∫ c23 s5 s6 + s23 (s4 s6 + c4 c5 s6) ∫ – c23 c5 + s23 c4 s5 (6.13b) y p1 = a2 c1c2 p2 = a2 s1c2 p3 = – a2 s 2 Tabla 6.1 (6.13c) Los parámetros DH del brazo articulado de 6 DOF i bi ␪i ai ␣i 1 0 ␪1 (JV) 0 2 0 ␪2 (JV) a2 –␲/2 0 3 0 ␪3 (JV) 0 –␲/2 4 0 ␪4 (JV) 0 ␲/2 5 0 ␪5 (JV) 0 6 0 ␪6 (JV) 0 –␲/2 0 JV: Variable de articulación Ejemplo 6.9 Cinemática directa de un robot PUMA En la igura 6.5 se muestra la arquitectura de un robot PUMA, cuyos parámetros DH se presentan en la tabla 6.2. La cinemática directa del robot PUMA para un conjunto determinado de sus ángulos de articulaciones ␪i, para i = 1, … 6, puede obtenerse de manera parecida al robot articulado del ejemplo 6.8. Puesto que las expresiones 120 CAPÍTULO 6 Cinemática Efector terminal Ze Xe b6 Z 4, Z6 Z5 X3 b4 X5, X6 Z1 a3 X4 Z3 a2 Z2 X1, X2 b2 Un robot PUMA Figura 6.5 resultantes son muy complejas, se proporciona el resultado para un conjunto de ␪i que corresponde a la coniguración de la igura 6.2. Los valores de ␪i para los cuales se da el resultado se muestran dentro de los corchetes [ y ] de la tabla 6.2. La matriz Q y el vector p se obtienen entonces con: LM MM N 1 0 0 Q∫ 0 1 0 0 0 1 OP PP Q y L p ∫ MM MNa Tabla 6.2 i bi a3 b2 2 + b4 OP P + b PQ (6.14) 6 Parámetros DH del robot PUMA ␪i ai ␣i –␲/2 0 1 0 ␪1 (JV) [0] 0 2 b2 ␪2 (JV) [–␲/2] a2 3 0 ␪3 (JV) [␲/2] a3 ␲/2 4 b4 ␪4 (JV) [0] 0 –␲/2 5 0 ␪5 (JV) [0] 0 6 b6 ␪6 (JV) [0] 0 ␲/2 0 JV: Variable de articulación; los valores dentro de [y] representan los ángulos para las JV correspondientes a la igura 6.2 6.2 Análisis de la posición con cinemática inversa 121 Al comparar las expresiones de la ecuación (6.14) con la orientación y posición del sistema del efector inal Xe – Ye – Ze, puede veriicarse fácilmente que los resultados son correctos. Ejemplo 6.10 Cinemática directa del brazo Stanford En la igura 6.6 se muestra la arquitectura del robot PUMA Stanford, cuyos parámetros DH se presentan en la tabla 6.3. Parecido al robot PUMA, la matriz Q y el vector p para el efector inal se obtienen de la siguiente manera: LM- 1 Q ∫M0 NM 0 0 -1 0 Efector terminal Ze Z 4, Z 6 O 0P P 1 QP b4 0 Z3 Z1 Xe X5, X6 Z5 X4 X3 b3 Z2 y LM 0 OP p ∫M b MNb + b + b PPQ 2 1 3 X2 (6.15) b2 b1 X1 4 Figura 6.6 El robot Stanford donde los valores de variables de articulaciones se presentan en la tabla 6.3 para la coniguración que se muestra en la igura 6.6. La comparación de la ecuación (6.15) con la igura 6.6 también muestra que los resultados son correctos. Tabla 6.3 Parámetros DH del brazo Stanford i 6.2 bi ␪i ai ␣i ␪1 (JV) [0] 0 –␲/2 ␪2 (JV) [␲] 0 0 –␲/2 0 1 b1 2 b2 3 4 b3 (JV) b4 5 6 ␪4 (JV) [0] 0 0 0 ␪5 (JV) [0] 0 0 ␪6 (JV) [0] 0 ␲/2 –␲/2 0 Análisis de la posición con cinemática inversa Las ecuaciones cinemáticas directas, en la forma de la ecuación (6.1) o de las ecuaciones (6.2) y (6.3), establecieron la relación funcional entre las variables de articulaciones y la orientación y posición del efector inal. El problema de la cinemática inversa consiste en la determinación de las variables de articulaciones correspondientes a una orientación y 122 CAPÍTULO 6 Cinemática posición especíicas del efector inal. La solución de este problema es de fundamental importancia con el in de transformar las especiicaciones de movimiento asignadas al efector inal en el espacio operacional en los correspondientes movimientos de espacio de las articulaciones. En la cinemática directa (ecuación 6.1), la matriz de posición y rotación del efector inal se computa en forma única una vez que se conocen las variables de las articulaciones. Por otro lado, el problema de la cinemática inversa es mucho más complejo debido a las siguientes razones: • • • • Por lo general, las ecuaciones por resolver son no lineales en las variables de articulaciones; de este modo, no siempre es posible encontrar una solución explícita. Pueden existir múltiples soluciones. También pueden existir soluciones ininitas, por ejemplo, en el caso de manipuladores robóticos cinemáticamente redundantes. Posiblemente no hay soluciones admisibles debido a la arquitectura del manipulador. Un planteamiento posible frente al problema de la cinemática inversa es buscar una solución explícita usando álgebra o geometría. Otra posibilidad es encontrar una solución numérica por medio de algún algoritmo de aproximación sucesiva. Aunque el primer planteamiento es generalmente más deseable para la aplicación de la solución al control de tiempo real de robots, no siempre es posible obtener las soluciones explícitas para manipuladores con arquitectura arbitraria. Más bien, la clase de manipuladores para los cuales las soluciones explícitas quedan garantizadas es muy limitada. Observe, sin embargo, que la mayoría de los manipuladores que se utilizan en la industria pertenecen a esta clase. El enfoque algebraico a la solución explícita signiica la búsqueda de los ángulos de las de articulaciones por medio de la transformación algebraica de las ecuaciones (6.1)-(6.3). El enfoque geométrico signiica la búsqueda de los ángulos de las articulaciones usando la heurística geométrica para aprovecharse de la estructura especial de los manipuladores. A veces es útil usar ambos enfoques juntos para resolver un problema. Puesto que es difícil encontrar una solución general para un manipulador con arquitectura arbitraria, las soluciones de cinemática inversa para la posición se presentan respecto a arquitecturas de robots especíicas, como se explicará a continuación. 6.2.1 Brazo planar de tres eslabones Considere el brazo de la igura 6.3, cuya cinemática directa de posición se resuelve en el ejemplo 6.3. Lo que se busca aquí es encontrar los ángulos de las articulaciones ␪1, ␪2 y ␪3 correspondientes a la posición y orientación determinadas para un efector inal. Para un movimiento planar, la posición y orientación del efector inal pueden especiicarse por el origen del sistema coordenado 4, es decir, (px py), y por la orientación del sistema adjunto al efector inal respecto al eje X1, es decir, el ángulo ␸, como se muestra en la igura 6.3. Por lo tanto, se especiican como la entrada. Las soluciones se obtienen entonces mediante dos planteamientos distintos, como se explicará a continuación. i) Solución algebraica En primer lugar, se ilustra la técnica de la solución algebraica. Según el análisis de la cinemática de posición directa del brazo planar de tres eslabones, como se realizó en el ejemplo 6.3, j = q1 + q2 + q3 (6.15a) 6.2 Análisis de la posición con cinemática inversa px = a1 c1 + a2 c12 + a3 c123 py = a1 s1 + a2 s12 + a3 s123 123 (6.15b) (6.15c) Observe que estas ecuaciones son no lineales en los ángulos de las articulaciones ␪1, ␪2 y ␪3. Además, el problema de la cinemática inversa se simpliica mediante la subdivisión de la tarea, es decir, el efector inal se orienta ya que se haya posicionado su muñeca W de la igura 6.3. Las coordenadas de W son wx y wy. Las relaciones de posición de las ecuaciones (6.15a-c) se reescriben entonces como wx = px – a3 cj = a1 c1 + a2 c12 (6.16a) wy = py – a3 sj = a1 s1 + a2 s12 (6.16b) Elevando los dos lados de la ecuación (6.12) al cuadrado, se encuentra que proporciona w2x + w2y = a12 + a 22 + 2 a1a2 c2 c2 = w 22  w 2z  a12  a22 2 a1 a2 (6.17a) (6.17b) La existencia de una solución para la ecuación (6.17b) impone la condición ⫺ 1 ≤ c2 ≤ 1. De lo contrario, el punto (px, py) estará fuera del espacio de trabajo alcanzable del brazo. Entonces, s2 = ± 1 - c22 (6.17c) donde el signo positivo es relativo a la postura del codo hacia arriba y el signo negativo se reiere a la postura del codo hacia abajo. Por lo tanto, el ángulo ␪2 se computa como (6.18) donde “atan2”, en contraste con “atan”, es una función en cualquier lenguaje de computación, como MATLAB, C, FORTAN, etc., que computa el valor de “tan-1( )” en el cuadrante apropiado. Si un punto se encuentra en el primer y tercer cuadrantes, la función “atan” da la respuesta en los dos casos que corresponden únicamente al primer cuadrante. Esto es así porque los argumentos y/x y –y(–x) dan como resultado el mismo valor numérico. Cuando se usa “atan2”, el argumento y/x proporcionará el resultado correspondiente al primer cuadrante, mientras que –y/–x dará resultados que se encuentran en el tercer cuadrante. Una vez que se determinó ␪2, el ángulo ␪1 se encuentra mediante la expansión de c12 y s12 de la ecuación (6.16) y su restructuración como wx = (a1 + a2 c2 )c1 – a2 s1 s2 (6.19a) wy = (a1 + a2 c2 )s1 + a2 c1 s2 (6.19b) Con el in de evaluar ␪1, la ecuación (6.19a) se multiplica por a2s2 y la ecuación (6.19b) por (a1 + a2c2), seguido por la resta de la primera con respecto a la última. Esto da como resultado el valor de s1 como q2 = atan2 (s2, c2) (a1 + a2 c2 ) w y - a2 s2 w x D En forma parecida, c1 se obtiene como s1 = c1 = (a1 + a2 c2 ) w x + a2 s2 w y D (6.20a) (6.20b) 124 CAPÍTULO 6 Cinemática donde ⌬ ≡ a12 + a22 + 2a1a2c2 = wx2 + wy2. Siguiendo la analogía a la ecuación (6.18), la solución para ␪1 se obtiene de la siguiente manera: (6.20c) q1 = atan2 (s1, c1) Finalmente, se encuentra el ángulo ␪3, según la expresión de la ecuación (6.15a), como q3 = j – q1 – q2 (6.21) ii) Solución geométrica Aquí se presenta una técnica de solución geométrica. Como el caso visto anteriormente, el ángulo de orientación se da en la ecuación (6.15a) y las coordenadas del origen del sistema coordenado 3 se computan según la ecuación (6.16). La aplicación de la ley de los cosenos al ángulo formado por los eslabones a1, a2 y los puntos de conexión de segmentos O1 y W, igura 6.3, da como resultado ¿Por qué geométrico? La solución geométrica tiene una mejor comprensión gráfica. Por lo tanto, es útil para el estudio. w2x + w2y = a21 + a22 – 2 a1 a2 cos (p – q2) (6.22) Las dos coniguraciones admisibles del triángulo se muestran en la igura 6.3. Cuando se observa cos (␲ – ␪2) = – cos ␪2 ≡ –c2, se obtiene inmediatamente la ecuación (6.17a), mientras que la existencia del triángulo garantiza lo siguiente: w x2 + w y2 £ a1 + a2 Esta condición no se cumple cuando el punto W se encuentra fuera del espacio de trabajo que es alcanzable por el brazo. Sin embargo, basado en la suposición de soluciones admisibles, el ángulo ␪2 se obtiene como q2 = cos–1 (c2) (6.23) donde la postura de codo hacia arriba se obtiene cuando ␪2 se encuentra entre –␲ y 0, y la posición de codo hacia abajo se obtiene para ␪2 entre 0 y ␲. Para encontrar ␪1, considere los ángulos ␣ y ␤ en la igura 6.3, que se computan según a = atan2 (wy , wx) y w x2 + w y2 cos b = a1 + a2 c2 (6.24a) donde la determinación de los ángulos ␣ y ␤ depende del signo de wx y wy. Además, la sustitución de la expresión de c2 de la ecuación (6.17b) en la ecuación (6.24a) proporciona el ángulo ␤, es decir, b = cos –1 w x2 + w y2 + a12 + a22 2 a1 w x2 + w y2 (6.24b) En la ecuación (6.24 b), ␤ debería estar dentro de 0 y ␲ con el in de conservar la existencia del triángulo. Entonces, q1 = a ± b (6.25) donde el signo positivo es válido para ␪2 ∈(␲, 0) y el signo negativo lo es para ␪2 ∈(0, ␲). Finalmente, ␪3 se computa según la ecuación (6.21). 6.2 Ejemplo 6.11 Análisis de la posición con cinemática inversa 125 Cinemática inversa del brazo planar de tres eslabones En la igura 6.3, la matriz homogénea de entrada T de la ecuación (6.7) se da como LM 1 MM 23 T∫ MM 20 MN 0 - 3 2 1 2 0 1 0 0 0 0 OP P 3 + 1P 2 P 0 P 1 PQ 3+ 5 2 (6.26a) donde ␸ = 60º, y los parámetros DH constantes no cero, según la tabla 5.2, son a1 = a2 = 2 unidades, y a3 = 1 unidad. Usando las ecuaciones (6.17b-c), c2 y s2 se calculan como c2 = 0.866 y s2 = 0.5, que da ␪2 = 30º. Entonces se evalúan s1 y c1 según las ecuaciones (6.20a-b) como s1 = 0 y c1 = 1. El valor del ángulo de articulación ␪1 se obtiene como ␪1 = 0º. Finalmente, se obtiene ␪3 según la ecuación (6.21) como ␪3 = 30º. Los resultados se resumen abajo: q1 = 0o, q2 = 30o y q3 = 30o (6.26b) Observe que se usaron los valores positivos de s2 para evaluar ␪2 = 30º. El uso del valor negativo daría como resultado el siguiente conjunto de resultados: q1 = 26.56o, q2 = –30o, y q3 = 63.43o Ejemplo 6.12 (6.26c) Cinemática inversa del brazo planar de tres eslabones usando MATLAB Con el in de resolver el ejemplo 6.11, puede escribirse un programa de MATLAB, como se muestra a continuación, que puede guardarse en un archivo denominado, por ejemplo, “ch6ikin3.m”, que puede ejecutarse para arrojar los resultados arriba mencionados. %Program for the inverse kinematics of 3-link arms %Non-zero constant DH parameters a1=2; a2=2;a3=1; %Input phi=pi/3; px=2.5+sqrt(3); py=1+sqrt(3)/2; %Intermediate calculations wx=px-a3*cos(phi); wy=py-a3*sin(phi); del=wx*wx+wy*wy; %Calculations for theta_2 c2=(del-a1*a1-a2*a2)/(2*a1*a2); s2=sqrt(1-c2*c2); th21=atan2(s2,c2); th22=atan2(-s2,c2); %Calculation for finding theta_1 126 CAPÍTULO 6 Cinemática s11=((a1+a2*cos(th21))*wy-a2*s2*wx)/del; a2*s2*wy)/del; s12=((a1+a2*cos(th22))*wy+a2*s2*wx)/del; a2*s2*wy)/del; th11=atan2(s11,c11); th12=atan2(s12,c12); c11=((a1+a2*cos(th21))*wxc12=((a1+a2*cos(th22))*wx+ %Calculation for theta_3 th31=phi-th11-th21; th32=phi-th12-th22; %Angles in degree r2d=180/pi; th11d=th11*r2d, th12d=th12*r2d, th31d=th31*r2d, th32d=th32*r2d th21d=th21*r2d, th22d=th22*r2d, 6.2.2 Un brazo articulado Considere el brazo articulado que se presenta en la igura 6.7. Se buscan las variables de las articulación ␪1, ␪2 y ␪3, correspondientes a una posición conocida pw del efector inal. Observe que la relación cinemática para pw se expresa en la cuarta columna de la matriz T en la ecuación (6.11), según la cual (6.27a) q1 = a tan 2 (py, px) donde las entradas px y py son iguales a los elementos (4,1) y (4,2) de la matriz T, es decir, px = c1 (a2 c2 + a3 c23) y py = s1 (a2 c2 + a3 c23) Observe que otra solución admisible para ␪1 es (6.27b) q1 = p + a tan 2 (py, px) cuando ␪2 es igual a ␲ – ␪2(1), donde ␪2(1) es una de las soluciones correspondientes a ␪1 que se obtiene con la ecuación (6.27a), como se indica en la igura 6.7. Una vez que se conozca ␪1, la arquitectura restante es planar respecto a las variables ␪2 y ␪3. Por ende, explotando la solución para la muñeca del brazo planar de tres eslabones de la subsección 6.2.1, se obtiene en donde c3 ∫ q3 = a tan 2 (s3, c3) ␪1 ␪2(2) X3 ␪3(1) a2 ␪2(1) X1, X2 (6.28) Z2 a3 Efector terminal pW ␪3(2) p x2 + p y2 + pz2 - a22 - a32 2 a 2 a3 s3 ∫ ± 1 - c32 y Z1 q2 = a tan 2 (s2, c2) (6.29) Figura 6.7 Dos soluciones admisibles 6.2 Análisis de la posición con cinemática inversa 127 En la ecuación (6.29), los argumentos s2 y c2 se evalúan como s2 ∫ c2 ∫ (a 2 + a 3 c3) pz - a 3 s3 p x2 + p y2 D (a2 + a3 c3 ) p x2 + p y2 + a3 s3 pz D El denominador ∆ es igual a ∆ ≡ px2 + py2 + pz2. El problema inverso de este brazo admite cuatro soluciones. Dos de ellas se presentan en la igura 6.7, mientras que una de las otras dos es la imagen de espejo de la igura alrededor del eje Z1, seguido por una rotación alrededor de Z2 para alcanzar pw. La cuarta solución es la imagen de espejo de los últimos dos eslabones alrededor de X1 desde su última coniguración. Para un brazo de robot que es más genérico por naturaleza donde se da el desplazamiento del eslabón b2 ≠ 0, también puede verse que existen cuatro soluciones, como se presenta en la igura 6.8a). Según los valores de ␪1, ␪2 y ␪3, se conocen como • • hombro al frente / codo arriba (SFEU) y hombro-frente / codo abajo (SFED), como lo muestran las líneas continuas; y hombro atrás / codo arriba (SBEU) y hombro atrás / codo abajo (SBED), como lo muestran las líneas punteadas. Observe que para la coniguración de hombro al frente, las coniguraciones de codo arriba y codo abajo se muestran en la igura 6.8b). Es obvio que la orientación del antebrazo es distinta para los dos pares de soluciones. Observe también que sólo es posible encontrar las soluciones si px ≠ 0 y py ≠ 0. En caso de que px = py = 0, la ecuación (6.27a) no proporciona ningún ␪1. Además, se obtiene una ininidad de soluciones y es posible determinar las variables de las articulaciones ␪2 y ␪3, independientemente del valor de ␪1. A continuación se verá que el brazo en una de estas coniguraciones es cinemáticamente singular y, más especíicamente, tiene singularidad de hombro. Hombro atrás Codo arriba, codo abajo Codo arriba Codo abajo Hombro al frente Codo arriba, codo abajo a) Cuatro coniguraciones b) Vista frontal correspondiente a hombro al frente Figura 6.8 Configuraciones de un brazo articulado con desplazamiento no cero 128 CAPÍTULO 6 Cinemática Ejemplo 6.13 Cinemática inversa del brazo articulado Con el in de encontrar las cuatro soluciones admisibles del brazo que se presenta en la igura 6.7, deben considerarse los siguientes valores numéricos: a2 = a3 = 1 unidad, y px = 1 unidad, py = pz = 0 unidades. Las soluciones se evalúan entonces como 1) 2) 3) 4) q1(1) = 0o; q2(1) = 60o; q3(1) = –120o; Configuración SFEU q1(1) = 0o; q2(2) = –60o; q3(2) = 120o; Configuración SFED q1(2) = 180o; q2(1) = 240o; q3(1) = –120 o; Configuración SBEU q1(2) = 180o; q2(2) = 120o; q3(2) = 120o; Configuración SBED Observe que los valores de px, py y pz se toman de tal modo que las cuatro soluciones de arriba pueden veriicarse fácilmente usando la igura 6.7. Ejemplo 6.14 Cinemática inversa del brazo articulado usando MATLAB Con el in de resolver el ejemplo 6.13, puede escribirse un programa de MATLAB, como se muestra abajo, que puede guardarse en un archivo, por ejemplo, “ch6ikin3aa.m”, y ejecutarse para arrojar los resultados que se señalan arriba. Además, si se cambian los valores de “a2”, “a3” y “px”, “py”, “pz”, que corresponden a los parámetros DH de robots, y la posición del efector inal, pueden generarse muchas otras soluciones. %Inverse Kinematics of Articulated Arm %Non-zero constant DH parameters a2=1; a3=1; %Input px=1; py=0; pz=0; %Intermediate calculation delxy = px*px+py*py; del=delxy+pz*pz; %Calculations for theta_1 th11=atan2(py,px); th12=pi+atan2(py,px); %Calculations for theta_3 c3=(del-a2*a2-a3*a3)/(2*a2*a3); s3=sqrt(1-c3*c3); th31=atan2(s3,c3); th32=atan2(-s3,c3); %Calculation for finding theta_2 s21=(-(a2+a3*cos(th31))*pz-a3*s3*delxy)/del; c21=((a2+a3*cos(th31)) *delxy+a3*s3*pz)/del; s22=(-(a2+a3*cos(th31))*pz+a3*s3*delxy)/del; c22=((a2+a3*cos(th31)) *delxya3*s3*pz)/del; 6.2 Análisis de la posición con cinemática inversa 129 th21=atan2(s21,c21); th22=atan2(s22,c22); th23=pi-th21; th24=pi-th22; %Angles in degree r2d=180/pi; th11d=th11*r2d, th12d=th12*r2d, th21d=th21*r2d, th22d=th22*r2d, th23d = th23*r2d, th24d = th24*r2d, th31d=th31*r2d, th32d=th32*r2d 6.2.3 Una muñeca Considere la muñeca de la igura 6.9, cuyas relaciones cinemáticas pueden darse mediante la ecuación (6.12). Se buscan las variables de las articulaciones ␪1, ␪2 y ␪3, correspondientes a una orientación del efector inal Q con la siguiente forma: LMq Q ∫ Mq MNq 11 q12 q13 21 q 22 q23 31 q32 q33 OP PP Q donde qij, para i, j = 1, … 3, son los elementos de la matriz de bloque Q de la matriz de transformación homogénea T, ecuación (6.12). Entonces es posible computar las soluciones de los ángulos de las articulaciones directamente como q1 = a tan 2 (q23, q13) q2 = a tan 2 FH 2 q13 + 2 , q23 q33 (6.30a) IK (6.30b) (6.30c) q3 = a tan 2 (–q32, q31) para ␪2 entre 0 y ␲. Observe que si se permite que cada articulación gire 360º, existen dos posibles soluciones para los últimos tres desplazamientos de las articulaciones. En efecto, ya que las ecuaciones (6.30a-c) involucran la función de arcotangente, el ángulo ␪1 podrá tener dos valores que se encuentran a 180º. Las dos coniguraciones que corresponden a las dos soluciones se ilustran en la igura 6.9. Z1 X3, X4 #3 #3 Z3, Z4 #2 Z2 #2 X1, X2 #1 Solución ␪i(1) Figura 6.9 #1 Solución ␪i(2) Múltiples configuraciones de la muñeca 130 CAPÍTULO 6 Cinemática Supongamos que ␪i(1) y ␪i(2) son la primera y la segunda solución con ␪i(1) ≤ ␪i(2). Se relacionan por y q3 (2) = q3(1) + p q1 (2) = q1 (1) + p; q2(2) = –q2 (1); Por lo tanto, para ␪2 entre –␲ y 0, (6.31a) q1 = a tan 2 (–q23, –q13) FH q2 = a tan 2 - 2 q13 + 2 q23 , q33 IK q3 = a tan 2 (q32, –q31) (6.31b) (6.31c) Aquí se observa que los ángulos de articulaciones siempre tendrán que obtenerse usando los valores “tan” en vez de los valores “sen” o “cos”, debido a la razón que se explicó después de la ecuación (6.18). Además, observe que un robot de muñeca particionada de 6 DOF tiene un total de ocho soluciones de cinemática inversa para el análisis de posición. Ejemplo 6.15 Cinemática inversa de la muñeca Con el in de encontrar las dos soluciones de la muñeca de la igura 6.9, se consideran los siguientes valores numéricos para la matriz de orientación Q: LM0 Q ∫ M0 MN1 0 -1 0 OP 0 P 0 PQ 1 lo que lleva a los siguientes dos conjuntos de resultados: 1) q1(1) = 0o; q2(1) = 90 o; q3(1) = 0 o; 2) q1(2) = 180 o; q2(2) = –90 o; q3(2) = 180 o. Los valores arriba mencionados pueden veriicarse fácilmente a partir de los sistemas de coordenadas adjuntos que aparecen en la igura 6.9. 6.3 Análisis de velocidad: la matriz jacobiana Jacobiano Éste es un término tomado de las matemáticas para describir una función vectorial, f(x), para la cual se define la jacobiana J como J ⬅ ⭸f/⭸x, que es la matriz de m × n para la función m-dimensional f y la variable dependiente x de la dimensión n. En las secciones anteriores se presentaron ecuaciones cinemáticas que establecen las relaciones entre las variables de las articulaciones y la posición y orientación del efector inal. En esta sección se presentará la relación entre las velocidades de articulaciones y las velocidades lineales y angulares correspondientes del efector inal. Esta representación de la relación se describe mediante una matriz que se llama jacobiana, que depende de la coniguración del manipulador. La 6.3 Análisis de velocidad: la matriz jacobiana 131 matriz jacobiana es una de las herramientas más importantes para la caracterización de manipuladores. De hecho, es útil para: encontrar coniguraciones singulares analizar redundancias determinar algoritmos de cinemática inversa para el análisis de velocidad describir la relación entre las fuerzas aplicadas al efector inal y los pares de torsión resultantes en las articulaciones v) derivar los algoritmos de dinámica i) ii) iii) iv) Observe que las ecuaciones de cinemática de posición que se obtienen con las ecuaciones (6.1)-(6.3) tienen tanto la matriz de rotación Q como el vector de posición p, que son funciones de las variables de articulaciones p ≡ [␪1, … ␪n]T. Tanto la posición como la orientación del efector inal varían conforme varía p. Aquí el objetivo es expresar la velocidad angular del efector inal ve, la velocidad lineal, o simplemente la velocidad ve (≡ p), igual que una función de las velocidades de las articulaciones ␪, como (6.32a) w = J qɺ e w (6.32b) ve = Jv qɺ donde J␻ y Jv son las matrices de 3 × n que describen la contribución de las velocidades de las articulaciones p˙ a la velocidad angular del efector inal ve y la velocidad ve, respectivamente. Las matrices J␻ y Jv también son las funciones de las variables de articulación p. Las ecuaciones (6.32a-b) pueden escribirse en forma compacta como t = Jqɺ (6.33) e donde J ∫ LMJ OP NJ Q w v y te ≡ [ve ve ] . El vector de seis dimensiones te se describe aquí como la “rotación” del efector inal (Ángeles, 2003), donde la matriz jacobiana J de 6 × n es una función de las variables de articulación p, únicamente. En las ecuaciones (6.32a-b), la velocidad ve fue especiicada como la derivada respecto al tiempo de la posición p del efector inal, es decir, ve ≡ p, mientras que nada se mencionó acerca de la velocidad angular ve y de la matriz de representación de orientación Q. Esto se deriva de la siguiente manera: T T T i) Considere una matriz de rotación de tiempo variable Q. Puesto que la matriz Q es ortogonal, tiene la siguiente propiedad: (6.34a) QQT = QTQ = 1 donde 1 es la matriz identidad de 3 × 3. La diferenciación de la ecuación (6.34a) respecto al tiempo nos da ɺ QT + Q Q ɺ T=O (6.34b) Q ii) Ahora introduzca ɺ QT (6.35a) W =Q donde W es la matriz antisimétrica de 3 × 3 debido a la ecuación (6.34b), es decir, W + WT = O 132 CAPÍTULO 6 Cinemática iii) La posmultiplicación de ambos lados de la ecuación (6.35a) por Q proporciona ɺ (6.36) WQ = Q lo que nos permite expresar la derivada de tiempo de la matriz de rotación Q, es decir, · Q, como una función de Q. iv) Ahora considere un vector arbitrario x sujeto a un cuerpo móvil. Las representaciones del vector x en el sistema coordenado ijo F y el sistema móvil sujeto al cuerpo M son [x]F y [x]M, respectivamente. Si Q representa la orientación del sistema M respecto al sistema F, entonces [x]F = Q [x]M, cuya derivada respecto al tiempo es ɺ [x] + Q[ xɺ ] [ xɺ ] = Q (6.37a) F M M Puesto que el vector [x]M es la representación del vector x ijo en el sistema móvil M, su expresión en el sistema M no cambia cuando se mueve el cuerpo. Por lo tanto, [ẋ]M = 0. Como resultado, la ecuación (6.37a) se vuelve ɺ [x] [ xɺ ]F = Q (6.37b) M · Usando la expresión de Q, es decir, la ecuación (6.36), la ecuación (6.37b) se reescribe como [ xɺ ]F = W Q [x]M (6.37c) En forma alternativa, si v denota la velocidad angular del cuerpo rígido al que el sistema M se sujeta, entonces se sabe, según los principios básicos de la mecánica (Ghosh y Mallik, 1998), que (6.38) [ xɺ ]F = [w w ¥ x]F, o [ xɺ ]F = [w w ]F ¥ Q[x]M donde “×” denota el producto cruz entre dos vectores cartesianos tridimensionales. Al comparar las ecuaciones (6.37c) y (6.38), es obvio que la matriz antisimétrica W denota el operador vectorial entre el vector v y el vector Q[x]M. La matriz W es tal que sus elementos simétricos respecto a los elementos de diagonal cero representan los componentes del vector v, es decir, v ≡ [wx, wy wz]T en la forma LM 0 W ∫Mw MN- w z y -w z wy 0 -w x wx 0 OP PP Q (6.39) lo que justiica que W es una función de v. Ejemplo 6.16 Matriz de rotación y velocidad angular Considere la matriz de rotación elemental alrededor del eje Z que se da en la ecuación (5.21). Si el ángulo de rotación es ␣, que es una función del tiempo, entonces la matriz de rotación Q es como sigue: LMcos a Q ∫ M sen a MN 0 - sen a cosa 0 P0PO 1 PQ 0 (6.40) 6.4 Velocidades de eslabones 133 · Su derivada respecto al tiempo Q se obtiene entonces por LM- aɺ sena ɺ = aɺ cos a Q MM N 0 - aɺ cos a - aɺ sen a 0 OP P 0 PQ 0 (6.41a) 0 Por lo tanto, la matriz del producto cruz W, asociada con el vector de velocidad angular v, se calcula como LM MM N 0 T ɺ W ∫ Q Q = aɺ 0 OP 0P 0 QP - aɺ 0 0 0 (6.41b) Al comparar las ecuaciones (6.39) y (6.41b), el vector de velocidad angular v se obtiene por w ∫ [wx , wy, wz]T = [0 0 aɺ ]T que es la velocidad angular del sistema coordenado alrededor del eje Z. 6.4 Velocidades de eslabones Considere un eslabón genérico i de un manipulador. De acuerdo con la convención de Denavit-Hartenberg (DH) presentada en la sección 5.4, el eslabón i conecta las articulaciones i e i + 1, mientras que el eslabón i – 1 conecta las articulaciones i – 1 e i. Observe que el sistema i se sujeta al eslabón i – 1 con su origen sobre el eje de la articulación i, como se muestra en la igura 6.10. Suponga que oi y oi–1 son los vectores de posición de los orígenes de los eslabones i e i – 1, es decir, Oi y Oi–1, respectivamente. Suponga que ai–1 denota la posición del origen del eslabón i respecto al eslabón i – 1. De acuerdo con las reglas de la suma de vectores, puede escribirse (6.42a) oi = oi–1 + ai–1 Sistema coordenado i Articulación i – 1 Oi–1 ai–1 Oi ei Articulación i Eslabón i – 1 ai oi–1 Z oi Eslabón i Oi+1 Articulación i + 1 Sistema coordenado ijo X O Y Figura 6.10 Eslabones acoplados de un robot 134 CAPÍTULO 6 Cinemática Mediante la diferenciación de la expresión anterior, la velocidad del origen del eslabón i, es decir, Oi, se obtiene como (6.42b) oɺ i = oɺ i–1 + aɺ i–1 · donde a i–1 = ωi–1 × ai–1, en el cual vi–1 es la velocidad angular del eslabón i – 1. Puesto que oi y oi–1 son también los vectores de posición de los puntos en los eslabones i e i – 1, respectivamente, la ecuación (6.43b) proporciona la expresión de la velocidad lineal del eslabón i como función de la velocidad y de la velocidad angular del eslabón i – 1. Para la expresión de la velocidad angular del eslabón i, v1, puede obtenerse como (6.43) w i = w i–1 + w i,i–1 donde vi–1 es la velocidad angular del eslabón i – 1 y vi,i–1 es la velocidad angular relativa del eslabón i respecto al eslabón i – 1. Observe que las ecuaciones (6.42a-b) logran expresiones distintas, dependiendo del tipo de articulación i, es decir, de revoluta o prismática. Articulación de revoluta Puesto que la articulación de revoluta proporciona un movimiento angular para un eslabón respecto a su movimiento previo, el ángulo de articulación ␪i, como se deinió en la sección 5.4, es variable. Si ei denota el vector unitario paralelo · al eje de la articulación de revoluta, entonces ωi,i–1 = ␪i ei. Por lo tanto, ωi de la ecuación (6.43) puede reescribirse como w = w + qɺ e (6.44a) i i–1 i i La correspondiente expresión de velocidad, ecuación (6.42b), se proporciona por (6.44b) oɺ i = oɺ i–1 + w i–1 ¥ ai–1 Articulación prismática Una articulación prismática sólo permite el movimiento de traslación relativo. Es decir, la longitud de articulación bi es variable y no hay movimiento angular relativo entre los eslabones i – 1 e i. Por lo tanto, (6.45a) w i = w i–1 y la expresión de velocidad, ecuación (6.42b), es como sigue: oɺ = oɺ + w ¥ a + bɺ e i i–1 i–1 i–1 i i (6.45b) donde ei es el vector unitario paralelo a la dirección de traslación del eslabón i respecto al · eslabón i – 1 y biei es la velocidad lineal relativa. 6.5 Computación jacobiana Aquí se derivará la expresión general para la matriz jacobiana J, ecuación (6.33). Puesto que el efector inal es el cuerpo n-ésimo de la cadena serial, la velocidad angular y la velocidad del efector inal, ve y ve, respectivamente, se obtienen a partir de las velocidades del n-ésimo eslabón, es decir, vn y o· n, como w e ∫ w n, y ve = oɺ n + w n ¥ ane (6.46) donde ane es el vector de posición tridimensional del efector inal respecto al origen del n-ésimo eslabón On. Entonces se computan las velocidades de los eslabones empezando des- 6.5 Computación jacobiana 135 de el cuerpo ijo, es decir, el eslabón 0, y siguiendo las relaciones recursivas que se obtienen con las ecuaciones (6.44a-b) o con las ecuaciones (6.45a-b), dependiendo del tipo de articulaciones que se usan. Por ejemplo, si todas las articulaciones son de rotación, entonces (6.47a) w0 = 0 w 1 = qɺ 1 e1 ⋮ w n = qɺ 1 e1 + qɺ 2 e2 + º + qɺ n en (6.47b) (6.47c) y (6.48a) oɺ 1 = 0 oɺ 2 = oɺ 1 + w 1 ¥ a1 = qɺ 1 e1 ¥ a12 ⋮ oɺ n = qɺ 1 e1 ¥ a1, n + qɺ 2 e2 ¥ a2, n + º + qɺ n–1 en–1 ¥ a n–1, n (6.48b) (6.48c) donde ai,j ≡ ai + … +aj–1 es el vector que conecta el origen del eslabón i al origen del eslabón j, es decir, Oj. Según las ecuaciones (6.46)-(6.48), la matriz jacobiana J de la ecuación (6.33) puede escribirse como J = LM e Ne ¥ a 1 1 1e º e2 en e 2 ¥ a 2 e º e n ¥ a ne OP Q (6.49) donde ai,e ≡ ai,n + an es el vector presentado en la igura 6.4 para i = 1,2, y J es la matriz de 6 × n. Según la ecuación (6.49), la i-ésima columna de la matriz, J, denotada como ji, puede escribirse como LM e OP si la articulación i es de rotación, y Ne ¥ a Q L0O j ∫ M P si la articulación i es prismática Ne Q i ji ∫ i (6.50a) i, e (6.50b) i i Ejemplo 6.17 Jacobiano del brazo de dos eslabones Puesto que hay dos articulaciones rotacionales que sólo pueden usarse para el posicionamiento del efector inal, el renglón de bloques superior de la ecuación (6.49) que corresponde a la orientación del efector inal no es relevante. Por lo tanto, el jacobiano del manipulador de dos eslabones puede expresarse como J = [e1 ¥ a1e e2 ¥ a 2e ] donde e1 ∫ e2 ∫ [0 0 1]T. Además, a1e ∫ a1 + a2 ∫ [a1 c1 + a2 c12 a1 s1 + a2 s12 0]T a2e ∫ a2 ∫ [a2 c12 a2 s12 0]T s1 = sen q1; c1 ∫ cos q1; s12 ∫ sen (q1 + q2); c12 ∫ cos (q1 + q2) donde (6.51a) 136 CAPÍTULO 6 Cinemática Observe que todos los vectores, según la ecuación (6.51), se expresan en un sistema ijo, es decir, el sistema 1. Además, si se extraen los elementos no cero de la ecuación (6.51a), la matriz jacobiana de 2 × 2 resultante se obtiene por J = LM- a s - a s Na c +a c 1 1 1 1 Ejemplo 6.18 2 12 2 12 - a2 s12 a2 c12 OP Q (6.51b) Jacobiano del brazo de tres eslabones Puesto que hay tres articulaciones rotacionales, la ecuación (6.49) da e1 e2 e3 J = e1 ¥ a1e e 2 ¥ a 2 e e 3 ¥ a 3e donde e1 ∫ e2 ∫ e3 ∫ [0 0 (6.52) 1]T. Además, a1e ∫ a1 + a2 + a3 a2e a3e ∫ [a1 c1 + a2 c12 + a3c123 a1 s1 + a2 s12 + a3s123 0]T ∫ a2 + a3 ∫ [a2 c12 + a3c123 a2 s12 + a3s123 0]T ∫ a3 ∫ [a3c123 a3s123 0]T donde s1, c1, s12 y c12 se deinen según la ecuación (6.51a), mientras que s123 y c123 se deinen como sigue: s123 y sen (R1 + R2 + R3); y c123 y (R1 + R2 + R3) Una vez que los elementos de los vectores ei y aie para i = 1, 2, 3, representados en el sistema ijo 1, se sustituyen en la ecuación (6.52), habrá tres renglones no cero correspondientes al movimiento planar de tres grados de libertad del manipulador, que son relevantes, es decir, LM MM N 1 J = - a1 s1 - a2 s12 - a3 s123 a1 c1 + a2 c12 + a3 c123 1 1 - a2 s12 - a3 s123 - a3 s123 a2 c12 + a3 s123 a3 c123 OP PP Q (6.53) Los tres renglones de arriba se reieren a los componentes del valor escalar de la velocidad angular alrededor del eje Z1, y a los dos valores para la velocidad lineal a lo largo de los ejes X1, Y1, respectivamente. Ejemplo 6.19 Brazo articulado antropomórfico La matriz jacobiana para la parte del brazo del robot articulado antropomórico que se muestra en la igura 6.4 se obtiene según la ecuación (6.49). Los elementos de los vectores se obtienen mediante las matrices de transformación que se dieron en el ejemplo 6.6, es decir, 6.5 [e1]1 LM0OP ∫ 0 ; [e ] MM1PP NQ 2 Computación jacobiana LM- s OP ∫ c MM PP N0Q 137 1 1 ∫ [e3]1 (6.54a) 1 y [a1e]1 ∫ [a2e]1 LMc (a c + a c ∫ Ms (a c + a c MN - (a s + a s OP ) P ; [a ) PQ 1 2 2 3 23 ) 1 2 2 3 23 2 2 3 23 3e]1 LMa c c ∫ Ma s c MN - a s 3 1 23 ∫ [a3]1 3 1 23 3 23 OP PP Q (6.54b) Por lo tanto, la matriz jacobiana de 6 × 3 se obtiene por 0 LM 0 MM 1 J = M +a c ) s ( a c MM MM c (a c 0+ a c ) N 1 1 Ejemplo 6.20 2 2 2 2 3 23 3 23 - s1 - s1 c1 0 c1 0 - c1 (a2 s2 + a3 s23) - a3 c1 s23 - s1 (a2 s2 + a3 s23) - a3 s1 s23 - (a2 c2 + a3 c23) - a3 c23 OP PP PP PP PQ (6.54c) Jacobiano de un robot PUMA usando MATLAB Puesto que la evaluación de la expresión jacobiana para el robot PUMA es difícil, se escribe a continuación un programa en MATLAB para las coniguraciones que se presentan en la igura 6.5. %Jacobian calculation for PUMA Robot syms a1 a2 a3 a4 a5 a6 b1 b2 b3 b4 b5 b6 al1 al2 al3 al4 al5 al6 th1 th2 th3 th4 th5 th6; %For PUMA Robot DH parameters al1=-pi/2;al2=0;al3=pi/2;al4=-pi/2;al5=pi/2;al6=0; sal1 = -1; cal1 = 0; sal2 = 0; cal2 = 1; sal3 = 1; cal3 = 0; sal4 = -1; cal4 = 0; sal5 = 1; cal5 = 0; sal6 = 0; cal6 = 1; th1=0;th2=-pi/2;th3=pi/2;th4=0;th5=0;th6=0; sth1 = 0; cth1 = 1; sth2 = -1; cth2 = 0; sth3 = 1; cth3 = 0; sth4 = 0; cth4 = 1; sth5 = 0; cth5 = 1; sth6 = 0; cth6 = 1; t1m = [cth1, -sth1*cal1, sth1*sal1, 0,sal1,cal1,b1; 0,0,0,1]; t2m = [cth2, -sth2*cal2, sth2*sal2, 0,sal2,cal2,b2; 0,0,0,1]; t3m = [cth3, -sth3*cal3, sth3*sal3, 0,sal3,cal3,b3; 0,0,0,1]; t4m = [cth4, -sth4*cal4, sth4*sal4, 0,sal4,cal4,b4; 0,0,0,1]; a1*cth1; sth1, cth1*cal1, -cth1*sal1, a1*sth1; a2*cth2; sth2, cth2*cal2, -cth2*sal2, a2*sth2; a3*cth3; sth3, cth3*cal3, -cth3*sal3, a3*sth3; a4*cth4; sth4, cth4*cal4, -cth4*sal4, a4*sth4; 138 CAPÍTULO 6 Cinemática t5m = [cth5, -sth5*cal5, sth5*sal5, a5*cth5; sth5, cth5*cal5, -cth5*sal5, a5*sth5; 0,sal5,cal5,b5; 0,0,0,1]; t6m = [cth6, -sth6*cal6, sth6*sal6, a6*cth6; sth6, cth6*cal6, -cth6*sal6, a6*sth6; 0,sal6,cal6,b6; 0,0,0,1]; %To extract a_ie vectors in their own frames t56m=t5m*t6m; t46m=t4m*t56m; t36m=t3m*t46m; t26m=t2m*t36m; t16m=t1m*t26m; a6v=t6m(1:3,4);a56v=t56m(1:3,4);a46v=t46m(1:3,4);a36v=t36m(1:3,4);a26v=t26 m(1:3,4);a16v=t16m(1:3,4); %To form rotation matrices for coordinate transformations q1m=t1m(1:3,1:3); q12m=q1m*t2m(1:3,1:3); q13m=q12m*t3m(1:3,1:3); q14m=q13m*t4m(1:3,1:3); q15m=q14m*t5m(1:3,1:3); %e_i and e_i x a_ie vectors in the 1st frame e6v_1=simple(q15m(1:3,3)), e6ca6v_1=simple(q15m*[-a6v(2);a6v(1);0]) e5v_1=simple(q14m(1:3,3)), e5ca56v_1=simple(q14m*[-a56v(2);a56v(1);0]) e4v_1=simple(q13m(1:3,3)), e4ca46v_1=simple(q13m*[-a46v(2);a46v(1);0]) e3v_1=simple(q12m(1:3,3)), e3ca36v_1=simple(q12m*[-a36v(2);a36v(1);0]) e2v_1=simple(q1m(1:3,3)), e2ca26v_1=simple(q1m*[-a26v(2);a26v(1);0]) e1v_1=[0;0;1], e1ca16v_1=[-a16v(2);a16v(1);0] Ejemplo 6.21 Jacobiano para la configuración del robot PUMA de la figura 6.5 La matriz jacobiana del robot PUMA para la coniguración presentada en la igura 6.5 se obtiene del programa MATLAB del ejemplo 6.20 como LM 0 MM 01 J= M MM- b - b - b MMN a + 0a 2 3 1 3456 5 0 1 0 a2 + b4 + b6 0 - a3456 0 1 0 b4 + b6 0 - a3456 0 0 1 - b5 a456 0 0 1 0 b6 0 - a56 OP PP PP a P P 0 PQ 0 0 1 0 (6.55) 6 donde a56 ≡ a5 + a6; a456 ≡ a4 + a56; y a3456 ≡ a3 + a456. Según la ecuación (6.55), puede veriicarse que por lo menos los primeros tres renglones son verdaderos, ya que son los componentes de los vectores unitarios que representan los ejes de las articulaciones de revoluta del robot PUMA en el sistema ijo, es decir, el sistema 1. 6.6 Jacobiano usando el DeNOC* En esta subsección, primero se deriva el concepto de las matrices de complemento ortogonal natural desacoplado (DeNOC) (Saha, 1999), que se introdujo originalmente para el mode* Sugerido para el nivel PG. 6.6 Jacobiano usando el DeNOC lado dinámico de robots seriales, y posteriormente se usó para sistemas paralelos y otros de ciclo cerrado. Posteriormente, se muestra cómo el DeNOC puede usarse para derivar la matriz jacobiana. 139 El origen del DeNOC Apareció por primera vez en 1995, cuando fue presentado durante la Conferencia Internacional sobre Robótica y Automatización del IIEE celebrada en Nagoya, Japón. 6.6.1 Definición del DeNOC Primero se define la rotación de un cuerpo rígido como LMw OP N oɺ Q i ti ∫ (6.56) i donde vi y o· i son los vectores tridimensionales de la velocidad angular y de la velocidad del origen del cuerpo i-ésimo, es decir, Oi. Haciendo uso de la deinición de la rotación que se da en la ecuación (6.56), las ecuaciones (6.44a-b) se reescriben ahora como (Bhangale, 2004) ti = Ai, i–1 t i–1 + piqɺ i (6.57a) · donde ␪i es el índice de articulación de la i-ésima articulación de rotación de i, ei es el vector unitario a lo largo del eje de la articulación de i y ai–1 es el vector que denota el punto Oi respecto a Oi–1, como se muestra en la igura 6.10 para ai. Además, la matriz ti–1 es el vector de rotación en 6 dimensiones de cuerpo (i – 1). Adicionalmente, la matriz Ai,i–1 de 6 × 6 y el vector pi de seis dimensiones se deinen por Ai, i–1 ∫ LM Na 1 O i, i -1 ¥ 1 1 OP Q y pi ∫ LMe OP N0Q i (6.57b) Observe aquí que el vector pi de arriba es distinto del vector tridimensional p de la ecuación (6.3) que representa la posición del efector inal de un robot. También en la ecuación (6.57b), ai,i–1 ≡ ai–1,i = –ai–1 es el vector del origen del cuerpo i al origen del (i – 1), 1 y O son las matrices de 3 × 3 de identidad y cero, respectivamente, 0 es el vector tridimensional de ceros y ai,i–1 × 1 es el tensor del producto vectorial asociado con el vector ai,i–1 que se deine como (ai,i–1 × 1)x = ai,i–1 × x, para cualquier vector cartesiano tridimensional x. La matriz Ai,i–1 y el vector pi tienen las siguientes interpretaciones físicas: 1) Si q̇ i = 0, es decir, cuando los dos eslabones (i – 1) e i se conectan rígidamente, Ai,i–1 ti,i–1 propaga la rotación ti–1 a ti. Esto quiere decir que la velocidad angular del eslabón i permanece igual a la de (i – 1), es decir, vi = vi–1, y la velocidad lineal del punto Oi, ȯ i se obtiene de la velocidad del punto Oi–1, ȯ i–1 y de la velocidad angular del eslabón (i – 1), vi–1, es decir, ȯ i = ȯ i–1 + vi–1 × ai–1. La matriz de 6 × 6 Ai,i–1 se llama aquí matriz de propagación de rotación (Saha, 1999) que tiene la siguiente propiedad: Ai–1,i Ai,i+1 = Ai–1,i+1 (6.58) 140 CAPÍTULO 6 Cinemática · 2) Cuando ␪i ≠ 0, es decir, cuando el movimiento de la articulación i-ésima se permite, · pi␪i, se suma a los componentes de Ai,i–1ti–1, dando de esta manera pie a la rotación real del cuerpo i-ésimo ti. Por lo tanto, al vector de seis dimensiones pi se le llama vector de propagación de movimiento de articulación de la i-ésima articulación. Observe aquí que si la i-ésima articulación es prismática, la expresión de pi en la ecuación (6.57a) cambia a pi ∫ LM 0 OP Ne Q (6.59) i y no habrá ningún cambio en la expresión de la matriz Ai,i–1. Ahora, para n cuerpos del manipulador serial, las ecuaciones (6.47-6.48) se obtienen por t1 = p1qɺ 1 (6.60a) t2 = A21 t1 + p2qɺ 2 ⋮ (6.60b) tn = An,n–1 t n–1 + pnqɺ n (6.60c) Las ecuaciones (6.60a-c) se escriben en forma compacta así: t = At + N qɺ (6.61a) d donde el vector de rotación generalizada de seis dimensiones t, la matriz bidiagonal del bloque inferior de 6n × 6n A, la matriz diagonal del bloque inferior de 6n × 6n Td y el vector de índice de articulación de n dimensiones ṗ se obtienen por LM t OP LM O A t t∫ M P ;A∫ M MM ⋮ PP MM ⋮ Nt Q MN O 1 2 n 21 ⋯ OP LMp OP 0 ;N ∫ M M ⋮P P MN 0⋮ O PQ O O 1 d ⋱ ⋯ A n , n-1 0 ⋯ 0 p2 ⋮ ⋱ pn ⋯ OP LMqɺ PP ; qɺ ∫ MMqɺ PQ MMNqɺ 1 2 n OP PP PP Q (6.61b) Cuando se reescribe la ecuación (6.61a) como (1 – A) t = Nd qɺ (6.62) puede encontrarse fácilmente la rotación generalizada t, deinida como t ≡ [t1 … tnT]T en términos del vector de índice de articulación ṗ, es decir, (6.63) t = Nl Nd qɺ T donde N1 ≡ (1 – A)–1, cuya expresión puede obtenerse como LM 1 MM A ∫ A MM MNA 21 Nl ∫ (1 – A)–1 31 n,1 O 1 A 32 ⋮ ⋯ O ⋯ 1 ⋱ ⋯ A n, n -1 OP P ⋮P P OP 1 PQ O O (6.64) 6.6 Jacobiano usando el DeNOC 141 En la ecuación (6.63) se señala el resultado de N1Nd como matriz de Complemento Ortogonal Natural (NOC), que fue originalmente propuesta por Ángeles y Lee (1988), mientras que la forma desacoplada que se obtiene por la ecuación (6.63), llamada matrices NOC Desacopladas (DeNOC), aparecieron por vez primera en Saha (1995). A continuación se mostrará cómo pueden usarse las matrices DeNOC para derivar la matriz jacobiana de un manipulador. 6.6.2 Derivación de la matriz jacobiana La matriz jacobiana, ecuación (6.33), se deriva aquí a partir de la deinición de las matrices DeNOC que aparecen en la ecuación (6.63). Observe que el efector inal de un manipulador robótico no es más que una parte del n-ésimo cuerpo con su posición distinta de su origen On. Se ubica en un punto denotado por ane desde On. Por lo tanto, se introduce una matriz de propagación de rotación, digamos Aen, como se deine en la ecuación (6.57b) para encontrar la rotación del efector terminal te a partir de tn, es decir, te = Aen tn (6.65a) donde la matriz de 6 × 6 Aen está dada por Aen ∫ LM 1 OOP = LM 1 OOP Na ¥ 1 1 Q N- a ¥ 1 1 Q (6.65b) n en El vector aen se deine como el vector ai+1,i ≡ ai, i+1 Si se sustituye la expresión de tn de la expresión de rotación generalizada t de la ecuación (6.61b), la ecuación (6.65a) puede reescribirse como t = A N N qɺ (6.66) e en 1n d donde la matriz de 6 × 6, N1n, es como sigue: N1n ∫ [An1 An2 º An,n–1 1] (6.67) en lo que Nd y ṗ se obtienen con la ecuación (6.61b). Si se sustituye la expresión de N1n de la ecuación (6.67) y Nd de la ecuación (6.61b) a la ecuación (6.66), se obtiene te = Aen [An1 p1, An2 p2 ,º, An,n–1 pn, pn ] qɺ (6.68a) Usando la propiedad de la matriz de propagación de rotación, ecuación (6.58), la ecuación (6.68a) puede escribirse en la forma de la ecuación (6.33), donde J = [Ae1 p1, Ae2 p2 ,º, Aen pn, pn] (6.68b) En la ecuación (6.68b), J es la matriz jacobiana de 6 × n. Si se sustituyen las expresiones para la matriz Aei y el vector pi para i = 1… n, como se deine en la ecuación (6.75b), en la ecuación (6.68b), dará como resultado la expresión familiar de J, como en la ecuación (6.49), donde aei = –aie … aie es el vector que junta el origen del eslabón i-ésimo Oi con un punto en el efector inal, como se presenta en la ecuación (6.48c). Dependiendo del requerimiento, cualquiera de estas expresiones para la matriz jacobiana, es decir, la ecuación (6.49) o la ecuación (6.68b), podrá usarse en beneicio del usuario, por ejemplo, para lograr eiciencia o para obtener mejores interpretaciones físicas, etcétera. 142 6.7 CAPÍTULO 6 Cinemática Singularidad En la ciencia de la robótica surge frecuentemente la pregunta acerca de si la matriz J, como en la ecuaMatriz singular ción (6.33), es singular o no. Para un J no singular, se calculan los índices de articulación necesarios en Se trata de un término proveniente cada instante de tiempo a lo largo de la trayectoria de del álgebra lineal. Para un sistema de ecuaciones de álgebra lineal, Ax = b, movimiento del efector inal. La verdadera pregunta A singular implica que no existe una es: ¿el jacobiano es no singular o invertible para todos solución para la incógnita x. Esto siglos valores de las posiciones de las articulaciones, es nifica que el determinante de la madecir, p ? La mayoría de los robots tienen valores de triz A desaparece. p donde el jacobiano se convierte en singular. Estas posiciones se llaman singularidades del robot. Todos los manipuladores robóticos tienen singularidades en los límites de su espacio de trabajo, y la mayoría tiene posiciones geométricas singulares dentro de sus espacios de trabajo. Un estudio a fondo de la clasiicación de singularidades supera el alcance de este libro. Sin embargo, las singularidades se clasiican normalmente como: 1. Singularidades de límites del espacio de trabajo: Ocurren cuando el manipulador se extiende o se dobla completamente sobre sí mismo, de tal modo que el efector inal está cerca o en el límite del espacio de trabajo. 2. Singularidades interiores del espacio de trabajo: ocurren fuera de los límites del espacio de trabajo y por lo general se producen cuando se alinean dos o más ejes de las articulaciones. Observe que cuando un manipulador se encuentra en una posición singular, ha perdido uno o más grados de libertad, visto desde el espacio cartesiano. Esto signiica que hay alguna dirección en el espacio cartesiano a lo largo de la cual es imposible mover el efector inal del robot, sin importar qué incrementos en la articulación se seleccionen. Es obvio que estas situaciones ocurren en los límites del espacio de trabajo. Alternativamente, los incrementos en las articulaciones se acercan a ininito conforme se llega a la posición singular. En situaciones prácticas, el controlador exigirá potencia de los actuadores para cumplir con el requerimiento ininito de incremento en la articulación. Como resultado, el actuador será desactivado para prevenir un daño de consideración. Ejemplo 6.22 Singularidad del brazo planar de dos eslabones En la igura 6.2, las singularidades pueden obtenerse mediante la igualación a cero del determinante jacobiano asociado , es decir, det(J) = 0. La matriz jacobiana de 2 × 2, J, se obtiene según la ecuación (6.51b) como J ∫ LM- a s - a s Na c +a c 1 1 1 1 2 12 2 12 - a2 s12 a2 c12 OP Q (6.69) 6.8 Análisis de aceleración 143 donde det(J) = a1a2s2, lo que implica que el brazo es singular cuando ␪2 = 0 o ␲. Físicamente, cuando ␪2 = 0, el brazo se extiende en forma recta. En esta coniguración, el movimiento del efector inal sólo es posible a lo largo de una dirección que es perpendicular al brazo. De igual manera, cuando ␪2 = ␲, el brazo se dobla completamente sobre sí mismo, y nuevamente el movimiento de la mano sólo es posible en un sentido cartesiano en lugar de dos. Éstas se llaman singularidades de frontera. Ejemplo 6.23 Singularidad del brazo antropomórfico En la igura 6.4 y en el ejemplo 6.19, las singularidades del brazo correspondientes a los movimientos lineales pueden obtenerse a partir del determinante del jacobiano asociado, es decir, usando los últimos tres renglones de la ecuación (6.54c). Esto se denota como Jv en la ecuación (6.32b) de la siguiente manera: LM- s (a c + a c ) = M c (a c + a c ) MN 0 1 Jv 1 2 2 2 2 3 23 3 23 - c1 (a2 s2 + a3 s23) - a3 c1 s23 - s1 (a2 s2 + a3 s23) - a3 s1 s23 - (a2 c2 + a3 c23) a3 c23 OP PP Q (6.69a) El determinante de Jv se obtiene como det(Jv) = –a22 a3 sq3 cq2 + 1 a a 2 [s(q2 + 2q3) – sq2] 2 2 3 (6.69b) Según la ecuación (6.69b), queda claro que una de las coniguraciones singulares sucede cuando ␪3 = 0 o ␲, es decir, cuando los eslabones 2 y 3 estén en una línea, esto es, extendidos o doblados, como en el caso del brazo planar. 6.8 Análisis de aceleración Normalmente, se requieren los resultados del análisis de aceleración en los cálculos dinámicos donde las fuerzas de inercia se equiparan con las fuerzas externas. Las expresiones de aceleración pueden obtenerse mediante la diferenciación de las expresiones de velocidad. Por ejemplo, las aceleraciones del efector inal de un robot se obtienen al diferenciar la ecuación (6.33) como ɺɺ + Jɺ qɺ ɺt = J q (6.70a) e · · · · T ·T donde te = [v e ve ] … v e, y ve son las aceleraciones angular y lineal del efector inal, respectivamente, y p¨ ≡ [␪1 … p¨ n]T, donde ␪¨1 representa la aceleración de articulación para la articulación i. La columna i de J̇ se obtiene por ɺj ∫ i LM Neɺ ¥ a i eɺ i ɺ i, e i, e + e i ¥ a OP Q (6.70b) 144 CAPÍTULO 6 Cinemática Los vectores e· y a· i,e son la derivada de tiempo de los vectores ei y ai,e, que se obtienen de las ecuaciones (6.50a) y (6.50b), respectivamente. Ejemplo 6.24 Análisis de aceleración del brazo planar de dos eslabones Usando la ecuación (6.70a), la derivada respecto al tiempo de la matriz jacobiana J para el brazo de dos eslabones puede darse como LM N - a1 c1qɺ 1 - a2 c12 (qɺ 1 + qɺ 2 ) - a2 c12 (qɺ 1 + qɺ 2 ) Jɺ ∫ - a1 s1qɺ 1 - a2 s12 (qɺ 1 + qɺ 2 ) - a2 s12 (qɺ 1 + qɺ 2 ) OP Q (6.71) ɺɺ ∫ [qɺɺ , qɺɺ ]T. q 1 2 y Ejemplo 6.25 Análisis de aceleración del brazo antropomórfico De manera similar al caso planar del ejemplo 6.24, la derivada respecto al tiempo de la matriz jacobiana J para el brazo antropomórico se obtiene por LM M ɺJ = MM MM-c qɺ (a MM- s qɺ (a N 1 1 1 1 0 - c1qɺ 1 - c1qɺ 1 0 - s1qɺ 1 - s1qɺ 1 0 0 0 ɺ ɺ s1qɺ 1 ( a2 s + a3s) - c1 (a2 cqɺ 2 + a3cqɺ 23) a3s s1qɺ 1 - a3cc1qɺ 23 2c + a3c) + s1( a2 sq 2 + a3sq 23) ɺ ɺ ɺ ɺ ɺ ɺ ɺ 2 c + a3c ) - c1 ( a2 sq 2 + a3sq 23) - c1q 1 ( a2 s + a3s) - s1 (a2 cq 2 + a3cq 23) - a3s c1q 1 - a3c s1q 23 ɺ ɺ ɺ 0 a2 sq 2 + a3sq 23 a3sq 23 OP PP PP PP PQ (6.72) ɺɺ ∫ [qɺɺ , qɺɺ , qɺɺ ]T donde a2s ∫ a2 s2; a2c ∫ a2 c2; a3s ∫ a3 s23; a3c ∫ a3 c23 y q 1 2 3 RESUMEN En este capítulo se hace primero una introducción a la cinemática de cuerpos rígidos. Se presentan las representaciones de posición y orientación. Basado en los conceptos anteriores, se realizan análisis de posición, velocidad y aceleración de un robot serial. Se hace hincapié en los análisis de cinemática directa e inversa y en la matriz jacobiana que aparece en el análisis de velocidad. También se introduce el concepto de las matrices DeNOC para la obtención de la matriz jacobiana. Se dan varios ejemplos para entender los conceptos que se introducen en este capítulo. Ejercicios basados en la web 145 EJERCICIOS 6.1 6.2 Deina la cinemática directa e inversa. Si los dos eslabones de un manipulador planar de dos eslabones tienen la misma longitud, encuentre la expresión para la matriz de transformación homogénea. 6.3 Determine la matriz de transformación homogénea general para el robot de brazo prismático-rotacional que se presenta en la igura 5.26. 6.4 Encuentre las matrices de transformación homogénea, individuales y general para la muñeca esférica que se muestra en la igura 5.30. 6.5 ¿Cuál es la inalidad de una muñeca? ¿Cuál es su grado de libertad (DOF)? 6.6 ¿Puede usarse un brazo de posición como muñeca aunque tenga el mismo DOF? 6.7 ¿Qué es el jacobiano de un sistema robótico? 6.8 ¿Cómo ayuda el estudio de singularidad en el análisis de un robot? 6.9 ¿Puede haber singularidad dentro del espacio de trabajo de un robot? 6.10 Derive la matriz jacobiana para el ejercicio 6.2. EJERCICIOS BASADOS EN LA WEB 6.11 Busque la matriz de transformación general para el robot SCARA que se presenta en la igura 5.28. 6.12 Exprese la matriz jacobiana para el robot SCARA que se muestra en la igura 5.28. 6.13 Determine por lo menos una coniguración singular para un robot SCARA. 6.14 Repita los ejercicios 6.11 a 6.13 para la arquitectura del robot que se presenta en la igura 5.29. 6.15 Repita los ejercicios 6.11 a 6.13 para la arquitectura del robot que se presenta en la igura 5.30. Capítulo 7 Estática Cuando un manipulador robótico ejecuta una determinada tarea, por ejemplo, levantar una pieza de trabajo de una máquina, su efector inal ejerce un momento y La estática es la rama de la física apliuna fuerza sobre el ambiente externo en el punto de concada que se ocupa del análisis de los momentos y las fuerzas que actúan tacto. Esta fuerza y este momento se generan mediante sobre un sistema que está en equililos actuadores que se instalan en las diferentes articulabrio estático. ciones. Para un manipulador serial, los momentos y las fuerzas de los actuadores se transmiten al punto de contacto por medio de una cadena de lazo abierto. En la estática, se busca la relación entre los pares de torsión/fuerzas, los momentos cartesianos y las fuerzas aplicadas en el efector inal. Lo anterior tiene importancia práctica para determinar la calidad de la transmisión del momento y la fuerza a través de las diferentes articulaciones de un manipulador robótico y sirve como base para clasiicar el tamaño de eslabones y cojinetes del manipulador, así como para la selección de los actuadores apropiados. Los resultados también pueden ser usados para satisfacer el sistema de control. La estática del mecanismo espacial puede tratarse por medio de varios métodos, por ejemplo, el método de vectores, el principio de trabajo virtual y otros. En este capítulo, se desarrollarán varios métodos para representar las fuerzas estáticas que actúan sobre Equilibrio estático un manipulador robótico y su transformación entre diferentes sistemas de coordenadas. La transformación En un equilibrio estático, un sistema de momentos y fuerzas entre el espacio del actuador y está en reposo o moviéndose a veloel del efector inal es el centro de este estudio. Con ello cidad constante a través de su centro se muestra que los momentos y las fuerzas de entrada de masa. de actuadores se relacionan con las fuerzas de salida del efector inal al trasponer la matriz Jacobiana del robot, como se observó en el capítulo anterior. Además, se introducen los diagramas de cuerpo libre para la derivación de las reacciones generadas en diferentes articu¿Qué es la estática? 7.1 Balance de fuerzas y momentos 147 laciones. Desde la fase de diseño, es importante una comprensión profunda de las reacciones de las articulaciones para la clasiicación correcta del tamaño de eslabones y actuadores. Primero se establecerán las ecuaciones básicas que rigen el balance estático de un eslabón. Luego se aplicarán estas ecuaciones para el análisis estático de manipuladores seriales. Finalmente, se describirá el concepto de pares de torsión y transformación de articulaciones equivalentes entre las fuerzas del efector inal y la torsión de articulaciones equivalentes. 7.1 Balance de fuerzas y momentos En un manipulador robótico serial, cada eslabón se conecta a uno o dos eslabones por medio de varias articulaciones. La igura 7.1 representa las fuerzas y momentos que actúan sobre un eslabón típico i que se conecta con el eslabón i – 1 mediante la articulación i y con el eslabón i + 1 mediante la articulación i + 1. Las fuerzas que actúan sobre el eslabón i por el eslabón i – 1 a través de la articulación i pueden ser reducidas a una fuerza resultante fi-1,i y a un momento resultante ni-1,i alrededor del origen Oi del i-ésimo sistema de coordenadas adjunta al eslabón (i – 1). De manera parecida, las fuerzas que actúan sobre el eslabón i + 1 por el eslabón i en la articulación (i + 1) pueden reducirse a una fuerza resultante fi,i+1 y a un momento ni,i+1 alrededor del origen Oi+1 del i-ésimo sistema de coordenadas adjunto al i-ésimo eslabón. A continuación se deinen las siguientes notaciones: fi-1,i : Vector tridimensional de una fuerza resultante ejercida sobre el eslabón i por el eslabón i – 1 en Oi. ni-1,i : Vector tridimensional de un momento resultante ejercido sobre el eslabón i por el eslabón i – 1 en Oi. fi+1,i : Vector tridimensional de una fuerza resultante ejercida sobre el eslabón i por el eslabón i + 1 en Oi+1. Observe que fi+1,i = –fi,i+1. ni+1,i : Vector tridimensional de un momento resultante ejercido sobre el eslabón i por el eslabón i + 1 en Oi+1, de tal modo que ni+1,i = ni,i+1. g : Vector tridimensional de aceleración debido a la gravedad. di : Vector tridimensional que denota la posición del centro de masa del i-ésimo eslabón Ci relativo al origen del i-ésimo sistema, es decir, Oi, como se indica en la igura 7.1. ri : Vector tridimensional que denota la posición del origen del (i + 1)-ésimo sistema, es decir, Oi+1 relativo al centro de masa del eslabón i, Ci. ai : Vector de posición tridimensional de Oi+1 respecto a Oi, de tal modo que ai = di + ri. Considere ahora el balance de fuerzas y momentos de la igura 7.1. Hay tres fuerzas que se ejercen sobre el eslabón i: fi–1,i, fi+1,i(= –fi+1,i) y mig. La ecuación de balance de fuerzas se escribe entonces como fi–1,i - fi,i+1 + mi g = 0 (7.1) Ahora considere el balance de momentos alrededor de Oi en el eslabón i, es decir, el punto donde el eslabón i – 1 se conecta al eslabón i. Hay dos momentos que actúan sobre el eslabón i: ni–1,i y ni+1,i(= –ni,i+1). Adicionalmente, las fuerzas mig y –fi,i+1 producen momentos alrededor de Oi. Al sumar estos momentos se obtiene ni–1,i – ni,i+1 –ai ¥ fi,i+1 + di ¥ m ig = 0 (7.2) 148 CAPÍTULO 7 Estática Zi+1 Zi Articulación, i Articulación, i + 1 Ci mig –fi, i+1 ri di Z1 ai Oi+1 –ni, i+1 ai Xi Oi Y1 ni–1, i fi–1, i X1 Figura 7.1 Fuerzas y momentos que actúan sobre el eslabón i donde fi–1,i y ni–1,i son las fuerzas y momentos de reacción entre el eslabón i – 1 y el eslabón i. Para i = 1, f01 y n01 representan la fuerza y el momento ejercidos sobre el primer eslabón móvil por el eslabón de la base ija. Para i = n + 1, fn,n+1 y nn,n+1 representan la fuerza y el momento ejercidos sobre el ambiente por el efector inal. En este sentido, el ambiente se trata como un eslabón adicional, numerado n + 1. Las ecuaciones (7.1) y (7.2) se escriben para cada eslabón móvil i = 1, ..., n con el in de proporcionar ecuaciones de 6n en 6(n + 1) número de fuerzas y momentos de reacción. Por lo tanto, para dar una solución única, deberán especiicarse seis de las fuerzas y los momentos de reacción. Cuando un manipulador realiza una tarea determinada, por ejemplo, una inserción o esmerilado, el efector inal ejerce cierta fuerza o momento sobre su ambiente. Por otro lado, cuando el manipulador carga un objeto, el peso del objeto se convierte en una carga para el efector inal. Por lo tanto, considerando la fuerza y el momento del efector inal fm,n+1 y nm,n+1 como una cantidad conocida, pueden resolverse las ecuaciones (7.1) y (7.2) para las fuerzas y los momentos de reacción restantes, es decir, LM n OO M f OPP M n M ⋮P M f P OP M ⋮ M 1 PQ Mn MN f 01 LM 1 MMO MMO MNO O -1 - a 1 ¥ 1 º O -1 º O 1 O ⋮ ⋱ O O O O O O ⋮ ⋮ 1 O 01 12 12 n - 1, n n - 1, n OP LM PP MM PP = M PP MM PP MM- d Q MN - d1 ¥ m1g - m1g - d 2 ¥ m2 g - m2 g ⋮ n ¥ mn g + a n ¥ f n, n + 1 + n n, n + 1 - mn g + fn, n +1 OP PP PP PP PP Q (7.3) Observe que la ecuación (7.3) está dispuesta para escribir primero la ecuación (7.2), seguida por la ecuación (7.1). Esto se realiza para representar la ecuación (7.3) en forma 7.2 Cálculo recursivo 149 compacta, usando la deinición de una llave de torsión, que es un vector de seis dimensiones, es decir, n i - 1, i (7.4) w i–1, i ∫ f i - 1, i LM N OP Q donde los vectores tridimensionales fi–1,i y ni–1,i son la fuerza de reacción sobre el eslabón i por el eslabón i – 1 en Oi y el momento sobre el eslabón i por el eslabón i –1 alrededor de Oi, respectivamente. Usando la ecuación (7.4), la ecuación (7.3) puede entonces reescribirse como LM 1 MM ⋮ MNOO - A 12 O ¢ ⋯ O ⋮ ⋱ O 1 - A ¢n - 1, n O 1 ⋯ OP LM w PP MMw ⋮ PQ MMN w 01 n - 2, n -1 n - 1, n LM w ⋮ = MM MMww + w N OP PP PP Q g 1 g n -1 g n e n OP PP PP Q (7.5a) donde la matriz de 6 × 6, Ai,i+1, se deine como A¢i, i+1 ∫ LM 1 NO OP Q a i , i +1 ¥ 1 1 (7.5b) en la cual ai,i+1 denota el vector tridimensional desde el punto Oi hasta Oi+1, es decir, ai,i+1 ≡ a1. La matriz Ai,i+1 se denomina matriz de propagación de llave de torsión en Chaudhary y Saha (2005), que no es más que la matriz traspuesta de la matriz de propagación rotacional para los eslabones i e i + 1. La deinición de la matriz de propagación rotacional se obtiene con la ecuación (6.57b). Además, wgi ≡ mi[(di × g)T, gT]T y wen ≡ [(an × fn.n+1 + nn.n+1)T f T n.n+1]T son los vectores de llave de torsión externos de seis dimensiones debido a la gravedad y a las entradas conocidas sobre el eslabón n, respectivamente. Asimismo, usando las notaciones w J ∫ [w T01 w T12 … w Tn–1,n] T, y w¢ ∫ LMw N gT 1 T w 2g º ( w ng + w en ) T T OP , la ecuación (7.5) pueQ de resolverse para wJ como (7.6a) w J = N u w¢ donde Nu LM 1 O ∫ M MM ⋮ NO ¢ ⋯ A 1¢ n A 12 1 ⋯ A ¢2n ⋮ O ⋱ O ⋮ 1 OP PP PQ (7.6b) Observe que Nu en la ecuación (7.6b) no es más que la matriz traspuesta de la matriz Nd proporcionada por la ecuación (6.64). 7.2 Cálculo recursivo En esta sección, se desarrollará un método recursivo para el análisis estático de un manipulador serial. El método recursivo resuelve las fuerzas y los momentos que reaccionan en la articulación de un eslabón, sin necesidad de resolver las ecuaciones 6n, (7.3) o (7.5), simultáneamente. Para facilitar el análisis basado en la deinición de llave de torsión proporcionada en la ecuación (7.4), las ecuaciones (7.1) y (7.2) se escriben en forma recursiva como 150 CAPÍTULO 7 Estática f i–1, i = f i,i+1 – mi g n i–1, i = n i,i+1 + a i ¥ f i,i+1 – d i ¥ m i g (7.7a) (7.7b) Observe que los vectores en las ecuaciones (7.7 a-b) aún no se expresan en algún sistema de coordenadas. Sin embargo, el vector de posición ri a menudo se especiica en el sistema (i + 1)-ésimo, donde tiene representación constante. Por otro lado, el vector ai puede expresarse de manera conveniente en el sistema i-ésimo en términos de los parámetros DH como [a i] i LMa cq OP ∫ Ma sq P MN b PQ i i i i (7.8a) i Los vectores di pueden entonces obtenerse como LMa cq OP LMr OP ∫ [a ] – [r ] = Ma sq P – Q Mr P MN b PQ MNr PQ LMr OP [r ] ∫ Mr P MNr PQ i [d i] i i i i i i i i i Donde ix i iy iz ix i i+1 iy (7.8b) iz donde rix, riy y riz son los componentes del vector ri a lo largo de los ejes Xi+1-, Yi+1- y Zi+1- del sistema (i + 1)-ésimo y Qi es la matriz de rotación que transforma la representación del vector en el sistema (i + 1)-ésimo en el sistema i-ésimo. Usando las ecuaciones (7.7a-b), los momentos y fuerzas de reacción de la articulación pueden calcularse en forma recursiva. El proceso empieza con el último eslabón donde el efector inal se conecta. Continúa con un eslabón a la vez y termina en el eslabón de la base. Para i = n, el momento y fuerza del efector inal nn+1,n (=–nn,n+1) y fn+1,n (=–fn,n+1) se consideran como conocidos en el sistema adjunto a ellos, es decir, –[ nn,n+1]n+1 y –[ nn,n+1]n+1 son entradas. Por ende, las ecuaciones (7.7a-b) proporcionan el momento y fuerza de reacción nn–1,n y fn–1,n en la n-ésima articulación: Los valores pueden evaluarse apropiadamente en el n-ésimo o en el (n – 1)-ésimo sistema de coordenadas. El proceso se repite para i = n – 1, ... 1 hasta que se hayan encontrado todos los momentos y fuerzas de reacción. Ahora se muestra el cálculo. Las ecuaciones (7.7a-b) para el i-ésimo eslabón se escriben primero en el (i + 1)-ésimo sistema que se adjunta a él, es decir, [f i–1, i] i+1 = [f i, i+1 – mi g] i+1 [n i–1, i] i+1 = [ni,i+1 + a i ¥ f i, i+1 – d i ¥ m i g] i+1 (7.9a) (7.9b) Una vez que las fuerzas y momentos de reacción se hayan calculado en el (i + 1)-ésimo sistema, se convierten en el i-ésimo sistema por medio de las siguientes transformaciones: [f i–1, i] i = Qi [f i–1, i] i+1 y [n i–1,i] i = Qi [n i–1,i] i+1 (7.10) Observe que el término g en las ecuaciones (7.9a-b) denota la aceleración debida a la gravedad expresada en el (i + 1)-ésimo sistema. Puesto que g usualmente se especiica en el sistema ijo, es decir, el sistema 1, deberá convertirse en el sistema adjunto al eslabón antes 7.3 Pares de torsión equivalentes 151 de ser sustituido en las ecuaciones (7.9a-b). Esto puede realizarse mediante la siguiente fórmula recursiva: Para i = 1, ... n, (7.11) [g] i+1 = Q Ti [g] i Además, si el momento y fuerza del efector inal se especiican en el sistema ijo, también deberán transformarse dentro del sistema del efector inal de la misma manera, es decir, [f n,n+1] n+1 = Q T[f n, n +1]1 y [n n, n+1] n+1 = Q T [n n, n+1]1 (7.12) donde Q ≡ Q1 … Qn – Qi para i = 1, …, n, siendo la matriz de rotación entre los i-ésimo y (i + 1)-ésimo sistemas, es decir, la primera matriz de 3 × 3 de la matriz de transformación homogénea Ti derivada en la ecuación (5.50b). 7.3 Pares de torsión equivalentes Una vez que se conocen las fuerzas y momentos que reaccionan en las articulaciones, pueden determinarse las fuerzas o pares de torsión de los actuadores. Para un manipulador serial, cada articulación se acciona mediante un actuador que ejerce una fuerza o un par torsión entre los dos eslabones adyacentes. Estas fuerzas o pares de torsión de actuación pueden encontrarse mediante la proyección de las fuerzas que reaccionan sobre sus correspondientes ejes de articulaciones. Para una articulación o rotacional, el actuador ejerce un par torsional alrededor del i-ésimo eje de articulación. Suponiendo que el par torsional iccional en la articulación sea insigniicante, la fuerza del actuador ␶i se obtiene por ti = eiT n i–1, i (7.13) donde ei es el vector unitario que apunta a lo largo del i-ésimo eje de articulación, es decir, Zi de la igura 7.1, alrededor del cual se está realizando el movimiento relativo entre los dos eslabones colindantes. El par torsional del actuador tiene aquel componente de ni–1 que corresponde a la dirección del eje de la articulación. Sus otros dos componentes son reacciones que deberán ser soportadas por el cojinete de la articulación. Al término ␶i se le llama par torsional de la articulación. Para una articulación prismática, la fuerza del actuador se obtiene de manera similar. Es la fuerza que se ejerce a lo largo del i-ésimo eje de la rotacional. Nuevamente, suponiendo que la fuerza de fricción en la articulación sea insigniicante, la fuerza del actuador, denotada con la misma letra ␶i, se expresa como (7.14) t i = eiT f i–1, i donde ei es el vector unitario que apunta a lo largo del i-ésimo eje de articulación positivo, a lo largo del cual se trasladan los dos eslabones adyacentes. La ecuación (7.14) implica que la fuerza del actuador solamente lleva el componente de fi–1,i a lo largo de la dirección del eje de la articulación, mientras que sus otros componentes se apoyan en los cojinetes o rodamientos de la articulación. Usando la notación de llave de torsión de 6 dimensiones wi–1,i, la fuerza de la articulación o par torsional ␶i puede escribirse como (7.15) t i = piT wi – 1, i donde pi es el vector de propagación de 6 dimensiones del movimiento de la articulación para la articulación rotacional o prismática, según fuere el caso, que se da en las ecuaciones (6.57b) o (6.59), respectivamente. 152 CAPÍTULO 7 Estática Ejemplo 7.1 Estática de un brazo planar de dos eslabones El brazo de manipulador planar de dos eslabones está aplicando una fuerza f sobre el ambiente, por ejemplo, una pared, con su efector inal. Suponga que la fuerza f es conocida en el sistema del efector inal, es decir, en el sistema 3. Por lo tanto, [f23]3 ≡ [fx, fy, 0]T. Los pares de torsión de la articulación que se requieren se encuentran como función de las coniguraciones del brazo y de los componentes de la fuerza aplicada. Observe que la gravedad no juega ningún papel cuando el manipulador se acuesta sobre el plano horizontal. En la igura 7.2 y en las ecuaciones (7.9-7.10), LM f OP MM f PP N0Q x [f23]3 ∫ y y [f12]3 = [f23]3 para i = 2. Por lo tanto, [f12]2 = Q2[f12]3 = LM f cq MM f sq N x 2 x 2 - f y sq 2 + f y cq 2 0 OP PP Q (7.16a) donde la matriz de orientación Q2 se obtiene por Q2 LMcq ∫ M sq MN 0 2 2 - sq 2 cq 2 0 OP P 1PQ 0 0 (7.16b) X3 Y3 f Y1 Y2 a2 ␪2 a1 ␶1 ␪1 X2 ␶2 X1 Figura 7.2 Brazo planar de dos eslabones aplicando una fuerza Entonces, puesto que no se ejerce ningún movimiento externo, es decir, n23 = 0, por parte del efector inal, el momento [n12]2 se obtiene como [n12]2 ∫ Q2 [a2 ¥ f23]3 = [a 2]2 ¥ [f 23]2 = [a2 ¥ f12]2 LM 0 = M 0 MNa f 2 y OP PP Q (7.16c) 7.3 Pares de torsión equivalentes 153 donde a cq MML OPP MN 0 PQ La fuerza [f ] y el momento [n ] se evalúan entonces como LM f cq - f sq OP [f ] = Q [f ] = M f sq + f cq P MN PQ 0 LM 0 0 [n ] ∫ Q [n + a ¥ f ] = Q [n ] + [a ¥ f ] = M MNa f + a f sq 2 2 (7.16d) [a2]2 ∫ a2 sq 2 01 1 01 1 01 1 01 1 1 12 1 12 2 1 01 2 1 12 2 x 12 y 12 x 12 y 12 (7.17a) 2 y OP PP Q 1 01 1 1 x 2 + a1 f y cq 2 (7.17b) [a1]1 LMa cq OP ∫ Ma sq P MN 0 PQ 1 1 1 1 (7.17c) donde Q1[n12]2 tendrá la misma expresión que [n12]2 de la ecuación (7.16c). Finalmente, los pares de torsión de la articulación para generar la fuerza f en el efector inal se obtienen por (7.18) t1 = a1 fx sq2 + (a2 + a1 cq 2)fy; y t2 = a2 fy Ejemplo 7.2 Estática de un brazo planar rotacionalprismático En la igura 7.3 se presenta un brazo planar rotacional-prismático (RP) cuyo efector inal está aplicando una fuerza f. Su problema de estática se resuelve aquí, es decir, el par de torsión y la fuerza de la articulación se evalúan para ejercer la fuerza f por el efector inal. Primero se evalúan las fuerzas en la articulación 2 a partir de la fuerza determinada del efector inal, f ≡ [f23]3, es decir, Y1 X3 X2 b2 ␪1 R Figura 7.3 Z2, Z3 f EE (x, y) X1 P Brazo rotacional-prismático de dos eslabones aplicando una fuerza 154 CAPÍTULO 7 Estática LM f OP ∫ M0P MN f PQ x [f23]3 z y [f12]3 = [f23]3 para i = 2. Por lo tanto, LM f OP MM 0 PP Nf Q x [f12]2 = Q2[f 12]3 = (7.19a) z donde la matriz de orientación Q2 es una matriz identidad, ya que los sistemas 2 y 3 son paralelos. Puesto que no se ejerce ningún momento externo, es decir, n23, por parte del efector inal, el momento [n12]2 se obtiene por [n12]2 = Q2[a2 ¥ f23]3 = [a2]2 ¥ [f23]2 = [a2 ¥ f12]2 LM 0 = Mb f MN 0 2 x OP PP Q donde [a2]2 LM 0 OP ∫ M0P MNb PQ (7.19b) 2 La fuerza [f01]1 y el momento [n01]1 se evalúan entonces como [f01]1 = Q1[f01]2 LM f cq = M f sq MN x 1 x 1 + f z sq 1 - f z cq 1 0 OP PP Q [n01]1 ∫ Q1[n12 + a1 ¥ f12]2 = Q1[n12]2 + [a1 ¥ f01]1 = (7.20a) LM 0 MM 0 Nb f 2 x OP PP Q (7.20b) donde [a1]1 = 0 porque el parámetro DH a1 = 0 y la matriz Q1 se calculan usando los parámetros DH dados en la tabla 5.3 y la ecuación (5.52); es decir, LM MM N0 cq 1 0 sq 1 Q1 ∫ sq 1 0 - cq 1 1 0 OP PP Q (7.20c) Finalmente, el par torsional de articulación en la articulación rotacional τi y la fuerza en la articulación prismática τ2 están dados por t1 = b2 fx; y t2 = f z (7.21) 7.3 Ejemplo 7.3 Pares de torsión equivalentes 155 Estática de un manipulador planar de 3 DOF La igura 7.4 muestra un manipulador planar de 3 eslabones con tres grados de libertad (DOF). Todas sus articulaciones son rotacionales o revolutas. Cuatro sistemas de referencia o de coordenadas con todos los ejes Z apuntando hacia fuera del papel se deinen para cada eslabón de acuerdo con la convención DH señalada en el capítulo 5. Consideremos que fuerza y momento del efector inal se obtienen por [f34]4 = [fx, fy, 0] X4 nz Y4 Y3 g a3 ␶3 Y2 a2 ␪2 a1 ␶1 y X3 ␪3 Y1 T [n34]4 = [0, 0, nz] T f34 ␪1 X2 ␶2 X1 Manipulador planar de Figura 7.4 respectivamente. También la aceleración debi3 eslabones y 3 DOF da a la gravedad g apunta a lo largo de Y negativo y el centro de masa se sitúa en el punto central de cada eslabón. Luego se obtienen los momentos y fuerzas de reacción (o simplemente las reacciones) de la articulación. Observe que los parámetros DH del manipulador se dan en la tabla 5.2, donde las matrices de transformación que se necesitan para el análisis de cinemática se derivan en el ejemplo 6.3. Además, los vectores ai, ri y di se dan como [a i] i LMa cq OP ∫ M a sq P , [r ] MN 0 PQ i 1 i i LM 1 a OP 2 ∫ M 0 P MM PP N0Q i i i+1 y [d i] i = [a i] i – Q i [ri] i+1 LM 1 a cq OP 2 M P = M1 a sq P MM 2 PP N0 Q i 1 i 1 (7.22) donde ai para i = 1, 2, 3 es la longitud del i-ésimo eslabón. La ecuación (7.22) se escribe en el sistema de referencia 1 usando las matrices de rotación Qi para i = 1, 2, 3; es decir, LMcq OP = a M sq P MN 0 PQ 1 [a1]1 1 1 LMcq OP MMsq PP N0Q 1 a [d1]1 = 1 2 1 (7.23a) 156 CAPÍTULO 7 Estática LMcq [a ] = Q [a ] = a M sq NM 0 LMcq [a ] = Q [a ] = a M sq MN 0 12 2 1 1 2 2 2 12 13 3 1 12 3 3 3 13 Lcq OP OP a M PP , [d ] = Q [d ] = 2 MMsq PP N0Q Q OP Lcq OP a M PP , [d ] = Q [d ] = 2 MMsq PP Q N0Q 12 (7.23b) 2 2 1 1 12 2 2 13 3 3 1 12 (7.23c) 13 3 3 donde Q12 ≡ Q1Q2, q 12 ≡ q 1 + q 2 y q 13 ≡ q 12 + q 3. Las ecuaciones (7.7a-b) se aplican entonces para calcular las fuerzas de reacción que se ejercen sobre el eslabón 3. Luego se procede a los eslabones 2 y 1 en secuencia. Para i = 3, la sustitución de a3, d3, f34 y n34 en las ecuaciones (7.7a-b) proporciona [f23]3 = Q3 [f34]4 – m3Q T12 [g]1 = LM f cq MM f sq N x 3 x 3 - f y sq 3 + m3 gs12 + f y cq 3 + m3 gc12 0 [n23]3 = Q3 [n34]4 + [a3]3 ¥ Q3 [f34]4 – [d3]3 ¥ OP PP Q (7.24a) LM 0 OP ∫ M 0 P (7.24b) MNn PQ m 3Q T12 [g]1 23z donde [g]1 ≡ [0, –g, 0] ; g es la aceleración debida a la gravedad e igual a 9.81 m/s2. Además, T FH 1 n23z ∫ nz + a 3 f y - m3 gcq 13 2 IK (7.24c) Para i = 2, f23 y n23 se utilizan entonces con el in de obtener lo siguiente: [f12]2 = [f23 – m2g]2 = Q2[f23]3 – m2Q T1[g]1 = LM f cq MM f sq N x 23 x 23 - f y sq 23 + m23 gsq 1 + f y cq 23 + m23 gcq 1 0 OP PP Q (7.25a) [n12]2 = Q2 [n23]3 + [a2]2 ¥ Q2 [f23]3 – [d2]2 ¥ m2Q T1 [g]1 LM 0 OP ∫ M 0 P MNn PQ (7.25b) 12 z donde m12 ≡ m1 + m2, y el término n12z se obtiene por FH n12z ∫ nz + a 3 f y - 1 m3 gcq 13 2 IK + a LM f sq N 2 x 3 F H + f y cq 3 + m3 + I K 1 m gcq 12 2 2 OP Q (7.25c) 7.4 157 El papel del jacobiano en la estática En forma parecida se obtiene para i = 1 lo siguiente: OP gP PQ LM 0 OP – [d ] ¥ m [g] ∫ M 0 P MNn PQ LM f cq - f sq ] – m [g] = M f sq + f cq + m MN 0 x [f01]1 = Q1[f12 2 1 x 1 [n01]1 = Q1[n12]2 + [a1]1 ¥ Q1[f12]2 y 13 y 13 13 13 1 1 1 13 1 (7.26a) (7.26b) 01z donde m13 ≡ m1 + m2 + m3, y el término n01z se obtiene por FH IK + a LM f sq N + f cq + F m H n 01z ∫ n z + a 3 f y - 1 m3 gcq 13 2 LM N + a1 f x sq 23 2 y 23 x 3 F H + f y cq 3 + m3 + 23 IK + 1 m1 gcq 1 2 I K 1 m gcq 12 2 2 OP Q OP Q (7.26c) Finalmente se aplica la ecuación (7.13) para calcular los pares torsionales de las articulaciones, los cuales se obtienen como t1 = [e1] T1 [n 01]1 = n 01z ; t 2 = [e2] T2 [n12]2 = n12z; y t 3 = [e3] T3 [n23]3 = n 23z (7.27) donde [ei]i ≡ [0, 0, 1]T para i = 1,2,3 y n23z, n12z, n01z se obtienen en las ecuaciones (7.24c)-(7.26c), respectivamente. 7.4 El papel del jacobiano en la estática Los pares torsionales y fuerzas de articulaciones obtenidos en la situación estática balancean las fuerzas y momentos que actúan sobre el efector inal. La relación entre estos dos conjuntos de fuerzas generalizadas, es decir, momentos y fuerzas sobre el efector inal en el espacio cartesiano, Trabajo virtual y los pares torsionales y fuerzas de las articulaciones en el espacio de la articulación pueden derivarse utilizanEl trabajo virtual en un sistema es el do el principio del trabajo virtual. Consideremos que trabajo que resulta de las fuerzas reales que actúan por medio de un des␦x y ␦␪ repreplazamiento virtual. Desplazamiento sentan desplazavirtual mientos ininitesimales del efector inal que incluyen, respectivamente, componentes lineales y rotacionales, Un desplazamiento virtual es un supuesto cambio infinitesimal de coory las articulaciones del manipulador. Estos desplazadenadas de un sistema que ocurre mientos se llaman virtuales si son consistentes con mientras el tiempo se mantiene cualquier restricción que se imponga sobre el sistema. constante. Se llama virtual en lugar Por ejemplo, si el efector inal está en contacto con una de real, puesto que ningún desplazamiento real puede ocurrir fuera del pared rígida, entonces los desplazamientos virtuales paso del tiempo. son tangentes a la pared. 158 CAPÍTULO 7 Estática Ahora bien, si we denota la torcedura del efector inal, entonces el trabajo virtual efectuado por él se obtiene por wTe␦x. De manera parecida, si ␶ denota el vector de todos los pares torsionales y fuerzas de la articulación que actúan en las articulaciones para producir la llave de torsión we, entonces el trabajo virtual deinido en el espacio de la articulación se obtiene por ␶T␦p. Observe que cuando el manipulador robótico está en equilibrio, el principio del trabajo virtual señala que (7.28) q w Te dx = t Tdq donde el desplazamiento virtual ␦x y ␦p puede relacionarse a partir de la deinición del jacobiano que se introdujo en el capítulo anterior, que es dx = Jd q (7.29) La sustitución de la ecuación (7.29) en la ecuación (7.28) proporciona (7.30) w Te Jd q = t Tdq q La ecuación arriba mencionada es válida para todos los ␦p, y, por ende, lo siguiente es válido: (7.31) w Te J = t T Si se transponen ambos lados de la ecuación (7.31a), se obtiene la relación entre la torcedura del efector inal y los pares de torsión o torsionales y fuerzas de articulaciones, es decir, (7.32) t = J Twe Aquí cabe señalar que si la matriz Jacobiana J de la ecuación (7.31) o de la (7.32) es singular, entonces el efector inal no puede ejercer fuerzas estáticas como se desea. Ejemplo 7.4 El jacobiano en la estática de un brazo planar de dos eslabones Se derivan dos relaciones para los pares de torsión de articulación del brazo de manipulador planar de dos eslabones en el ejemplo 7.1, es decir, en la ecuación (7.18). Entonces se reordenan como t = J Tf (7.33a) donde t ∫ [t1, t 2] T, f ∫ [fx, f y, 0] T donde la matriz J de 3 × 3 se obtiene por LM a sq J ∫ Ma cq + a MN 0 1 1 2 2 2 OP P 0 PQ 0 a2 (7.33b) Los renglones no cero de la matriz J de la ecuación (7.33b), sin embargo, no son lo mismo que la matriz Jacobiana para el brazo planar de 2 eslabones que se derivó en la ecuación (6.51b) o (6.69). Esto es así por las siguientes razones: la matriz J de la ecuación (7.33b) se representa en el sistema de referencia 3 como los valores de la fuerza f del efector inal, mientras que J de la ecuación (6.69) se representa en el sistema ijo, es decir, en el sistema de referencia 1. De hecho, [J]1 = Q1Q2[J]3 7.4 es decir, LMcq - sq 0OP LMcq - sq cq cq 0P M sq ∫ M sq NM 0 0 1PQ MN 0 0 LM- a sq - a sq - a sq OP a cq P = M a cq + a cq MN 0 0 PQ 1 [J]1 El papel del jacobiano en la estática 1 1 2 1 1 1 1 2 2 1 2 2 12 2 2 12 OP LM a sq PP MMa cq + a 1Q N 0 0 0 1 1 2 2 2 159 OP P 0 QP 0 a2 12 2 (7.34) 12 donde Q1 y Q2 son las matrices de rotación de 3 × 3, mientras que [J]1 y [J]3 son las representaciones del mismo jacobiano en los sistemas 1 y 3. Ahora bien, los renglones diferentes a cero de la ecuación (7.34) coinciden con la matriz que se da en la ecuación (6.51b) o (6.69). Ejemplo 7.5 El jacobiano en la estática del manipulador planar de 3 DOF Observe que las expresiones para los pares torsionales de articulación, ecuación (7.27), pueden disponerse como sigue: t = J Twe + Ag m g donde los vectores de 3, 6 y 3 dimensiones ␶, we y mg se deinen como t ∫ [t1, t2, t3] T; we ∫ [0, 0, nz, fx, fy, 0] T; m g ∫ [m1g, m2g, m3g] T (7.35a) (7.35b) mientras que la matriz J de 6 × 3 y la matriz Ag de 3 × 3 se obtienen por 0 LM 0 MM 1 J ∫ M MM a sq + a sq MMa + a cq0 + a cq N 2 3 y LM 1 a cq 2 M ∫ M 0 MM 0 N 1 Ag 1 3 2 1 3 0 0 1 a2 sq 3 23 1 23 1 a cq 2 2 12 1 a cq 2 2 12 0 a1cq 1 + a 3 + a 2 cq 3 OP P 1P P 0P a P P 0 PQ 0 0 (7.35c) 3 1 a cq 2 3 13 1 a2 cq 12 + a3cq 13 2 1 a cq 2 3 13 a1cq 1 + a2 cq 12 + OP PP (7.35d) PP Q Es importante observar dos puntos en la ecuación (7.35a). Primero, a diferencia de la ecuación (7.31b) o (7.33a), la expresión para los pares de torsión de articulación contiene un término adicional Agmg aunado a JT We. Segundo, los renglones que son diferentes de cero de la matriz Jacobiana de la ecuación (7.35c) no son iguales a los que se 160 CAPÍTULO 7 Estática obtienen en la ecuación (6.53). En realidad, la ecuación (7.31b) se obtiene sin tomar en consideración los pesos de los eslabones. Por lo tanto, no aparece ningún término asociado con dichos pesos. Sin embargo, éstos podrán convertirse en fuerzas y momentos equivalentes del efector inal, y podrá reescribirse la ecuación (7.31b), de donde se obtendría un término adicional como en la ecuación (7.35a). En segundo lugar, como se señaló en el ejemplo 7.4, la expresión para la matriz Jacobiana, ecuación (7.35c), se representa en el sistema 4, puesto que la llave de torsión we se conoce en el sistema 4, mientras que la expresión J de la ecuación (6.53) es la representación en el sistema 1. En efecto, [J]1 = LMQ NO 1 OP LMQ Q Q NO O 2 1 OP LMQ Q Q NO O 3 2 OP [J] Q Q O (7.36) 4 3 donde Q1, Q2 y Q3 son las matrices de rotación de 3 × 3, y O representa la matriz cero de 3 × 3. Además, [J]1 y [J]4 son las representaciones del mismo jacobiano en los sistemas 1 y 4. Entonces puede demostrarse que los renglones diferentes de cero de [J]1 son exactamente las mismas que en la ecuación (6.53). Ejemplo 7.6 Pares de torsión estáticos en el brazo articulado antropomórfico En la parte del brazo de la igura 6.4, puede verse un brazo articulado antropomórico para el cual se obtiene la matriz Jacobiana en la ecuación (6.54c). Si el momento ne y la fuerza fe actúan sobre el efector inal que se conoce en el propio sistema del efector inal, entonces los pares de torsión que se requieren en las tres articulaciones del brazo pueden calcularse usando la ecuación (7.28), en donde no son considerados los pesos de eslabones, es decir, ⌢ t = J T Q we t ∫ [t1, t2, t3] T; we ∫ [w 34]4 ∫ [n x, ny, nz, f x, fy, fz] T donde (7.37a) ) y la matriz de 6 × 6, Q ≡ diag[Q, Q], donde Q = Q1Q2Q3 transforma la representación de un vector desde el sistema del efector inal, es decir, el sistema 4, al sistema ijo, es decir, el sistema 1. Esto puede extraerse de la ecuación (6.11) como LMc c Q ∫ Ms c MN- s 1 23 1 23 23 - c1s23 - s1s23 - c23 OP c P 0 PQ - s1 1 (7.37b) Además, la matriz Jacobiana de 6 × 3 se da en la ecuación (6.54c) que se representa en el sistema 1. El resultado de la ecuación (7.33a) para los pares de torsión de articulaciones puede obtenerse mediante el uso de un programa MATLAB que se presenta a continuación. %Statics torques in the Articulated Arm syms a1 a2 a3 th1 th2 th3 nx ny nz fx fy fz; 7.5 Elipsoide de fuerza 161 %For Articulated 3-DOF Arm, initital values are th1=0; th2=0; th3=0; sth1=0;cth1=1;sth2=0;cth2=1;sth3=0;cth3=1; sth23=0;cth23=1; qm = [cth1*cth23, -cth1*sth23, -sth1; sth1*cth23, -sth1*sth23, cth1; -sth23, -cth23, 0]; ne_1 = qm*[nx;ny;nz]; fe_1 = qm*[fx;fy;fz]; jacm = [0,-sth1,-sth1;0,cth1,cth1;1,0,0; -sth1*(a2*cth2+a3*cth23),-cth1*(a2*sth2+a3*sth23),-a3*cth1*sth23; cth1*(a2*cth2+a3*cth23), -sth1*(a2*sth2+a3*sth23),-a1*sth1*sth23; 0,-(a2*cth2+a3*cth23),-a3*cth23]; %Joint torques tau=jacm.’*[ne_1;fe_1] Para la coniguración inicial, es decir, ␪1 = ␪2 = ␪3 = 0, la salida del programa MATLAB puede checarse como sigue: LM- n + (a + a ) f OP t ∫ M- n + (a + a ) f P MN n + a f PQ y 2 3 z z 2 3 y z (7.37c) 3 y lo que fácilmente puede veriicarse según la igura 5.29. 7.5 Elipsoide de fuerza Parecido a la transformación de velocidades, la transformación de fuerzas para robots con un sólo tipo de articulación y para un tipo de tarea puede ser caracterizada por una comparación de la fuerza del efector inal producida por un par unitario torsional de articulación. La sustitución de la ecuación (7.32) en la expresión ␶T␶ = 1 proporciona w Te JJ Twe = 1 (7.38) En una coniguración de robot determinada, la ecuación (7.38) representa el elipsoide de seis dimensiones para un robot de 6 DOF. Puesto que el producto JJT es una matriz simétrica semideinida positiva, sus vectores propios son ortogonales. Los ejes principales del elipsoide coinciden con los vectores propios de JJT, y sus longitudes son iguales a las recíprocas de las raíces cuadradas de los valores propios. Puesto que la matriz Jacobiana depende de la coniguración, el elipsoide de fuerza también depende de la coniguración. Conforme el efector inal se mueve de una ubicación a otra, la forma y orientación del elipsoide de fuerza también cambiará por consecuencia. Entre más se acerca el elipsoide a una esfera, mejor serán las características de transmisión. Se dice que esta transformación es isotrópica cuando los ejes principaIsotrópico les son de iguales longitudes. En un punto isotrópico, una esfera unitaria de n dimensiones en el espacio de Se trata de una palabra que se usa un par de torsión de la articulación se traza sobre una en álgebra lineal para identificar el esfera de 6 dimensiones en el espacio de fuerza del número uno como condición en una efector inal. Por otro lado, en un punto singular, una matriz. 162 CAPÍTULO 7 Estática esfera unitaria de n dimensiones en el espacio torsional de la articulación se traza sobre un cilindro de 6 dimensiones en el espacio de fuerza del efector inal. De este modo, la ventaja mecánica del manipulador se torna ininitamente grande en alguna dirección. RESUMEN En este capítulo se derivan los pares de torsión que se requieren para ejercer una fuerza y un momento por el efector inal mientras el robot está en equilibrio estático. Se demuestra cómo el jacobiano de velocidad entra en consideración en el análisis estático. Finalmente, se da una interpretación física de la matriz Jacobiana en el dominio de la fuerza. EJERCICIOS 7.1 7.2 7.3 7.4 ¿Qué es un equilibrio estático en la robótica? ¿Cómo se relacionan las matrices de propagación de torsión y de llave de torsión? Deine el desplazamiento y el trabajo virtuales. ¿Cómo entra en consideración la matriz del jacobiano de velocidad en el análisis estático? 7.5 ¿Qué le pasaría a las fuerzas del efector inal si se aplicaran pares de torsión de articulación mientras el jacobiano asociado fuese singular? 7.6 Extraiga la matriz jacobiana para el brazo planar rotacional-prismático (RP) del ejemplo 7.2. 7.7 Busque la expresión de la matriz Jacobiana arriba mencionada en el sistema ijo. 7.8 ¿Por qué es importante el concepto de elipsoide de fuerza en el estudio de la estática? 7.9 ¿Qué pasa si uno de los ejes principales del elipsoide de fuerza desaparece? 7.10 Derive las expresiones del par de torsión y fuerza para el brazo planar prismáticorotacional (PR) que se presenta en la igura 5.26 si se aplica la fuerza fe del efector inal y no se consideran los pesos de eslabones. EJERCICIOS BASADOS EN MATLAB 7.11 Veriique los resultados del ejercicio 7.7 usando un programa MATLAB. 7.12 Veriique los resultados del ejercicio 7.10. 7.13 Busque las expresiones de par torsional para el robot SCARA que se presenta en la igura 5.28. 7.14 Averigüe los pares torsionales para el brazo antropomórico del ejemplo 7.6, mientras ␪1 = ␪2 = 0 y ␪3 = ␲/2. 7.15 ¿Cuáles son los valores del par torsional para la muñeca esférica que se muestra en la igura 5.30 si se aplica solamente un momento ne en su efector inal? Capítulo 8 Dinámica En este capítulo se estudiarán las ecuaciones de movimiento para un robot, es decir, la manera en la que se produce el movimiento del robot debido a los pares de torsión y a las fuerzas que se aplican a las articulaciones mediante los actuadores. Se desarrollará un conjunto de ecuaciones que describen el comportamiento dinámico de un robot, lo que también se llama el modelo dinámico del robot. Este desarrollo es importante en varios aspectos: iii) Un modelo dinámico puede usarse para desarrollar las estrategias apropiadas de control. Un Dinámica controlador soisticado requiere del uso de un modelo dinámico realístico para lograr el desempeño óptimo del robot en operaciones de La dinámica es el estudio de las fuerzas y momentos que causan el movialta velocidad. Algunos métodos de control de- miento en un sistema. penden directamente de un modelo dinámico con el in de calcular los pares de torsión y las fuerzas requeridas en los actuadores para seguir la trayectoria deseada. iii) El modelo dinámico puede usarse para la simulación por computadora de un sistema robótico. Cuando se construye un sistema robótico, es posible pronosticar cómo se va a comportar, mediante el estudio del comportamiento del modelo en varias condiciones de operación. iii) El análisis dinámico de un robot proporciona todas las fuerzas y momentos de reacción que se necesitan para el diseño y la determinación de los tamaños de eslabones, cojinetes y actuadores. Conociendo los parámetros físicos de cualquier robot, uno normalmente desea resolver problemas relacionados con su dinámica: la dinámica inversa y la dinámica directa. El problema de la dinámica inversa es encontrar los pares de torsión y/o las fuerzas de actuadores que son necesarios para generar la trayectoria deseada del robot. Esta formulación de la di- 164 CAPÍTULO 8 Dinámica námica es útil para el problema del control del robot. El segundo problema, el de la dinámica directa, es encontrar la respuesta de un brazo de robot respecto a algunos pares de torsión o fuerzas en las articulaciones. Es decir, dados los pares de torsión o fuerzas de las articulaciones, tiene que computarse el movimiento resultante del robot como función del tiempo. Esto no es tan crítico como el problema de la dinámica inversa, ya que se usa principalmente para la simulación en computadora de un robot, lo que solamente muestra cómo funcionará éste cuando se está construyendo. Por otro lado, un modelo eiciente de dinámica inversa se vuelve sumamente importante para el control de robots en tiempo real. Las ecuaciones de dinámica del movimiento pueden formularse por medio de varios métodos. Uno consiste en aplicar las ecuaciones de movimiento de Lagrange. La ventaja de usar este planteamiento es que elimina las fuerzas de restricción de las ecuaciones de dinámica de movimiento si las coordenadas generalizadas se eligen en forma independiente. Esta eliminación hace que sea adecuado para el control y para la siPlanteamiento mulación de movimiento. Sin embargo, dichas fuerzas vectorial vs. de restricción eliminadas pueden recuperarse usando planteamiento de multiplicadores de Lagrange si se han de usar para los energía propósitos de diseño. Otro planteamiento es la aplicaLas ecuaciones de Newton-Euler se ción de las leyes de Newton y Euler para movimientos conocen como planteamiento vectolineales y rotacionales, respectivamente. Escribir las rial, mientras que las de Euler-Lagrange se sustentan en un planteamiento ecuaciones de movimiento de Newton y Euler para basado en la energía. cada eslabón del robot da como resultado un sistema de ecuaciones que contiene las fuerzas aplicadas y las fuerzas de restricciones. Estas ecuaciones pueden entonces resolverse simultáneamente para todas las fuerzas, incluidas las que son resultado de las restricciones que no contribuyen al movimiento de los eslabones, pero que se requieren para el diseño de los mismos. Si alguien sólo se interesa en la simulación del movimiento, las fuerzas de restricción pueden eliminarse usando las relaciones geométricas y cinemáticas que describen la naturaleza de las restricciones. También existen metodologías alternativas para resolver la dinámica de robots, por ejemplo, el principio de D’Alembert, las ecuaciones de movimiento de Kane y las que se basan en los complementos ortogonales de las matrices de restricción de velocidad. Uno de estos métodos basados en los complementos ortogonales, las matrices de complemento ortogonal natural desacoplado (DeNOC) (Saha, 1999), se presentará en el capítulo 9. 8.1 Propiedades de inercia En el estudio de la dinámica, propiedades de inercia tales como centro de masas, momento de inercia, tensor de inercia, etc., asociados con la masa o la inercia de los eslabones individuales que aparecen en las ecuaciones dinámicas de movimiento de un robot, afectarán el comportamiento de este último. Para estudiar la dinámica de un robot, es importante conocer estas diferentes propiedades de inercia. 8.1.1 Centro de masa La masa es la cantidad de materia que posee un cuerpo de una forma y tamaño determinados. En la igura 8.1, F es un sistema de coordenadas cartesianas, dV es un diferencial de volu- 8.1 Propiedades de inercia 165 Cuerpo, B ␳dV Z u Zc r d C L Yc p c Xc Y O Sistema coordenado, F X Momentos de masa Figura 8.1 men del material B, ρ es la densidad material y p es el vector de posición del diferencial de masa ρdV desde el origen del sistema F, es decir, O. El centro de masa del cuerpo B se deine entonces como el punto C, de tal modo que su vector de posición denotado por c es c∫ donde m ∫ z 1 m z Masa vs. momento de inercia El momento de inercia de un objeto es una propiedad de su masa y de su forma geométrica. La masa influye en forma directa en un movimiento lineal, mientras que afecta el movimiento rotacional indirectamente a través del momento de inercia. (8.1a) pr dV V rdV es la masa total del cuerpo B. Ade- V más, si como se presenta en la igura 8.1, p = c + r se sustituye en la ecuación (8.1a), se obtiene lo siguiente: c∫ 1 m z cr dV + V 1 m z rrdV (8.1b) V Puesto que el vector c es independiente del volumen V del cuerpo B, puede extraerse del signo integral. Además, z rdV = m. Por lo tanto, puede reescribirse la ecuación (8.1b) como V c ∫c+ 1 m z rrdV (8.1c) V lo que inmediatamente da: z V rr dV = 0 (8.1d) 166 CAPÍTULO 8 Dinámica Esta propiedad, asociada con el centro de masas de un cuerpo rígido, se utilizará más adelante, en la subsección 8.3.2, para la derivación del momento angular. 8.1.2 Momento de inercia y tensor de inercia En la igura 8.1, suponga que u es el vector unitario paralelo a la línea L, pasando a través de un punto de referencia, por ejemplo, el origen O del sistema F. Además, si d es la distancia del diferencial de masa rdV del cuerpo B desde la línea L, entonces el momento de inercia del cuerpo B respecto a la línea L se determina por un escalar positivo, es decir, Iuu = z d 2rdV = V z d Tdr dV (8.2) V donde el vector d es ortogonal al vector unitario u, como se indica en la igura 8.1, y d es su magnitud, que es igual a d = | p ¥ u| (8.2) La sustitución de la ecuación (8.3) en la ecuación (8.2) proporciona Iuu = z | p ¥ u |2r dV = V z (p ¥ u) T (p ¥ u)rdV = uTIu (8.4) V donde (p ¥ u)T ( p ¥ u) = (pTp)(uTu) – (pTu)2 = uT[(pTp)1 – ppT]u donde 1 es la matriz de identidad de 3 × 3. Por tanto, la matriz I de 3 × 3 de la ecuación (8.4) se determina por I= z (8.5) [(pT p)1 – pp T ]rdV V El término I de la ecuación se denomina tensor de inercia o matriz de inercia del cuerpo B alrededor del punto O. El tensor de inercia I es simétrico y un positivo-deinitivo que también puede escribirse como LM I I ∫ MI MN I xx I xy I xz yx I yy I yz zx I zy I zz OP PP Q (8.6) En la ecuación (8.6), la expresión para los elementos de I se determinan por I xx ∫ z V (y2 + z2)rdV, Iyy ∫ Ixy = Iyx ∫ = – z V z V (z2 + x2)rdV, Izz ∫ xyrdV, Iyz = Izy ∫ – z V z V (x2 + y2)rdV (8.7a) z (8.7b) yzrdV, Ixz = Izx ∫ – V xzrdV donde x, y y z representan las coordenadas del diferencial de masa ρdV respecto al origen del sistema F, es decir, O. Además, los subíndices xx, yy y zz denotan los ejes de coordenadas X, Y y Z del sistema F, cuyo origen se ubica en O respecto a lo cual se calculan los momentos de inercia Ixx, Iyy e Izz y el producto de las inercias Ixy, Iyz, Ixz. Los valores numéricos de estos elementos dependen de la selección de un punto de referencia y del sistema de coorde- 8.1 nadas en este punto respecto al cual están calculadas. Mientras que los términos de inercia para un cuerpo rígido de geometría sencilla se computan mediante la integración volumétrica dada por las ecuaciones (8.7 a-b), los mismos tienen que determinarse en forma experimental para los objetos de formas irregulares. Finalmente, observe que en la ecuación (8.2), la distancia d o el vector d es independiente del volumen V del cuerpo B, como se ha visto para el vector c según la ecuación (8.1b). Por lo tanto, el término d puede extraerse del signo integral. Como resultado, la ecuación (8.2) se reescribe como Iuu = d 2 z rdV = md 2 Propiedades de inercia 167 El tensor y sus órdenes En la física, los tensores caracterizan las propiedades de un sistema físico. Por ejemplo, un tensor del orden cero es un escalar que representa la masa de un objeto. Un tensor del orden uno es un vector que podría representar la posición de un punto, mientras que un tensor de segundo orden se representa por una matriz de 3 × 3 que denota, por ejemplo, la llamada matriz (o tensor) de inercia de un objeto. (8.8) V donde el escalar d tiene una expresión, en términos de los vectores p y u, como d ≡ |p × u|, que es una cantidad real no negativa. Al escalar d se reiere como el radio de giro del cuerpo B respecto a la línea L. 8.1.3 Teorema de los ejes paralelos Suponga que C(xc , yc , zc) es el sistema de coordenadas cartesianas adjunto al centro de masa C de un cuerpo rígido B con sus ejes de coordenadas paralelos a los de F, como se muestra en la igura 8.1. Entonces puede demostrarse que Ixx = I cxx + m(y 2c + z 2c ), Iyy = I cyy + m(z 2c + x 2c), I zz = I czz + m(x 2c + y 2c), Ixy = I cxy – mxc yc, Iyz = I cyz – myc zc, Izx = I cxz – mzc xc (8.9a) (8.9b) donde xc, yc y zc son las coordenadas del centro de masa en el sistema F, e Icxx,Icyy, Iczz e Icxy, Icyz, Icxz son los momentos de inercias y los productos de inercias respecto al centro de masa C, respectivamente. Las ecuaciones (8.9 a-b) se llaman teorema de los ejes paralelos. 8.1.4 Teorema de los ejes perpendiculares Para un objeto plano, por ejemplo, el disco delgado que se presenta en la igura 8.2, el momento de inercia alrededor de un eje perpendicular al plano Izz es la suma de los momentos de inercia de dos ejes perpendiculares a través del mismo punto en el plano del objeto Ixx e Iyy, es decir, (8.10) La utilidad de este teorema va más allá del cálculo de los momentos de objetos estrictamente planos. Se trata de una herramienta valiosa para la acumulación de los momentos de inercia de objetos tridimensionales, tales Z Y Izz = Ixx + Iyy X Figura 8.2 Un disco delgado 168 CAPÍTULO 8 Dinámica como cilindros, mediante su división en discos planos, y en la suma de los momentos de inercia de los discos compuestos, como se hace en el ejemplo 8.3. 8.1.5 Momentos principales de inercia Se demuestra que la matriz de inercia depende de la selección de un punto de referencia y de la orientación del sistema de referencia. Resulta que para una determinada orientación de un sistema de referencia, los productos de inercia desaparecerán. Estos ejes especiales de coordenadas se llaman ejes principales y los momentos de inercia correspondientes se llaman momentos principales de inercia. Vamos a suponer que I es la matriz de inercia de un cuerpo rígido B alrededor de un punto O, expresado en el sistema de referencia F. También supongamos que L es el eje principal que pasa a través del origen O y que apunta en la dirección de u. Por deinición, u es paralelo al vector del segundo momento de B alrededor de L. Esto quiere decir (8.11) Iu = lu La ecuación (8.11) contiene tres ecuaciones homogéneas lineales con tres incógnitas, es decir, ux, uy y uz. La condición para la existencia de soluciones no triviales es I xx - l I yx I xy I yy - l I xz I yz Izx I zy I zz - l =0 (8.12) Por lo tanto, los valores y vectores propios de la matriz de inercia I corresponden a los momentos principales de inercia y a las direcciones de los ejes principales, respectivamente. Por lo general, en correspondencia con cada punto de referencia, existe por lo menos un conjunto de tres ejes principales de inercia mutuamente perpendiculares. Algunos hechos adicionales sobre la matriz de inercia son los siguientes: iii) Si dos ejes del sistema de referencia forman un plano de simetría para la distribución de la masa del cuerpo, los productos de inercia que tienen un índice como la coordenada, que es normal al plano de simetría, serán cero. iii) Los momentos de inercia siempre tienen que ser positivos. Los productos de inercia pueden tener cualquier signo. iii) La suma de los tres momentos de inercia son invariantes bajo cambios de orientación en el sistema de referencia. iv) La suma de cualquiera de dos momentos de inercia es mayor que el tercero, es decir, Ixx + Iyy > Izz. Ejemplo 8.1 El tensor de inercia de una caja El tensor de inercia para el cuerpo rectangular de densidad uniforme ρ respecto al sistema de coordenadas rectangulares en una esquina, como se muestra en la igura 8.3, se obtiene como sigue. Primero debe computarse Ixx. Usando el elemento de volumen en (x, y, z), dV = dx dy dz 8.1 Propiedades de inercia 169 Z dy dz dx (x, y, z) O h Y w l X Figura 8.3 Un cuerpo de densidad uniforme se obtiene Ixx = z zz h l o o o (y2 + z2)rdxdydz = zz h l o FG hl w + h lw IJ r = hlwr (l H 3 3K 3 3 = w 3 2 o (y2 + z2)wrdydz = z h o FG l + z lIJ wrdz H3 K 3 m 2 (l + h 2) 3 + h 2) = 2 (8.13) donde m ⬅ hlwρ es la masa total del cuerpo. De manera similar, puede obtenerse Iyy e Izz por inspección, es decir, Iyy = m 2 (w + h 2 ); 3 y m 2 (l + w2) 3 Izz = (8.14) después Ixy se computa como Ixy = – z zz h l w o o o xyrdxdydz = – w2 y rdydz = – o 2 zz h l o z h o w2 l2 m rdz = – wl 4 4 Permutando los términos, se obtiene m m Ixz = – hw; y Iyz = – hl 4 4 (8.15) (8.16) Por lo tanto, el tensor de inercia para este objeto es LM m (l + h ) M3 m I = M - wl MM - m4 hw N 4 2 2 - m wl 4 m (w2 + h2) 3 m - hl 4 - m hw 4 - m hl 4 m 2 (l + w 2 ) 3 OP PP PP Q (8.17) Observe que el tensor 3 × 3, representado por la matriz I de la ecuación (8.17), es simétrico. 170 CAPÍTULO 8 Dinámica Ejemplo 8.2 El tensor de inercia de una caja alrededor de su centro de masa El tensor de inercia para el mismo cuerpo sólido que se describe en el ejemplo 8.1 se obtiene con un sistema de coordenadas cuyo origen está en el centro de masa C del cuerpo. Observe aquí que puede aplicarse el teorema de los ejes paralelos ecuación (8.9), donde xc = w/2, yc = l/2 y zc = h/2. Entonces, m 2 2 (8.18a) I czz = (w + l ), y I cxy = 0 12 Los otros elementos se encuentran por simetría. El tensor de inercia resultante escrito en el sistema ubicado en el centro de masa C se determina por LMh MM N m I = 12 C 2 + l2 0 0 0 2 w +h 0 OP 0 P + w PQ 0 2 l 2 (8.18b) 2 Puesto que el resultado es una diagonal, el sistema en C debe representar los ejes principales de este cuerpo. Para una barra delgada, w y h son mucho más pequeños que l. Por lo tanto, su tensor de inercia puede calcularse de manera aproximada por IC = Ejemplo 8.3 LM MM N 1 0 0 ml 2 0 0 0 12 0 0 1 OP PP Q (8.19a) El tensor de inercia de un cilindro Un cilindro de diámetro d y longitud l, como se presenta en la igura 8.4a), es una forma muy común que se utiliza como eslabón de robots. De manera similar a la ecuación (8.7a), el componente Ixx del cilindro se computa como Ixx = z V r2rdV = z d /2 2 r rl2prdr 0 = d4 md 2 rlp = 32 8 (8.20) donde r es la distancia radial desde el eje del cilindro, es decir, el eje X, donde se encuentra el volumen elemental del cilindro. Además, m = ρlπd2/4 es la masa total Z Z Y Y dx d O X l a) Cilindro X O Figura 8.4 Un objeto cilíndrico x b) Disco delgado 8.1 Propiedades de inercia 171 del cilindro. La expresión para el momento de inercia de un cilindro alrededor de los ejes Y o Z, es decir, con un diámetro en su extremo, puede obtenerse cuando se usan tanto el teorema de los ejes paralelos como el de los ejes perpendiculares. Este planteamiento incluye encontrar una expresión para un disco delgado a una distancia x desde el eje Y o z, como se muestra en la igura 8.3b), y la suma de todos estos discos. Para un disco ininitésimamente delgado con un espesor dx, el momento de inercia alrededor del eje central, es decir, el eje X, se determina por medio de la ecuación (8.20), como 1 (8.21a) dIxx = d2dm 8 además según el teorema de los ejes perpendiculares, (8.21b) dIxx = dIyy + dIzz Puesto que el momento de inercia alrededor de los ejes Y y Z debe ser igual por simetría, se concluye que 1 (8.21c) dIyy = dIxx = 1 d2dm 2 16 Obtener el momento de inercia del cilindro completo alrededor de un diámetro en su extremo involucra sumar a través de un número ininito de discos delgados a diferentes distancias de este eje, es decir, Y o Z. Esto implica una integral de x = 0 a x = 1. Para cualquier disco dado a la distancia x, por ejemplo, desde el eje Y, cuando se usa el teorema de los ejes paralelos se obtiene el momento de inercia alrededor del eje Y, es decir, dIyy = 1 d2dm + x2dm (8.21d) 16 Ahora bien, expresando el elemento de masa dm en términos de x, puede integrarse a lo largo de la longitud del cilindro, es decir, Iyy = z l 0 1 dIyy = 1 md2 + ml2 3 16 (8.21e) La plausibilidad de lo arriba expuesto puede verse si se observa que la ecuación (8.21e) es la suma de las expresiones para un disco delgado alrededor de un diámetro más la expresión para una barra delgada alrededor de su extremo. En el caso restrictivo, cuando d = 0, se obtiene la expresión de la barra delgada, y cuando l = 0, se obtiene la expresión para el disco. Por lo tanto, el tensor de inercia I de 3 × 3 para el cilindro se obtiene mediante LM md MM 8 I = MM 0 MN 0 2 0 0 md 2 + ml 2 16 3 0 0 md 2 + ml 2 16 3 OP PP PP PQ (8.22) donde puede comprobarse que el producto de los términos de inercia Ixy, Ixz e Iyz es cero, ya que el cilindro se coloca en forma simétrica alrededor de los ejes Y y Z. 172 8.2 CAPÍTULO 8 Dinámica Formulación de Euler-Lagrange El modelo dinámico de un robot puede derivarse de manera sistemática por medio del concepto de coordenadas generalizadas y de una función escalar llamada lagrangiano, que se deine como la diferencia entre la energía cinética y la energía potencial del sistema mecánico en cuestión, es decir, L =T–U (8.23) donde L denota la función lagrangiana, y T y U son la energía total cinética y potencial del sistema. Observe que la energía cinética depende tanto de la coniguración, es decir, posición y orientación, como de la velocidad de los eslabones de un sistema robótico, mientras que la energía potencial depende únicamente de la coniguración de los eslabones. Las ecuaciones de movimiento de Euler-Lagrange se obtienen entonces por FG IJ – ∂L H K ∂qɺ d ∂L dt ∂qɺ i = fi, para i = 1, º, n (8.24) i donde n es el número de coordenadas generalizadas independientes que se usan para deinir la coniguración del sistema, y los qi y los φi son las coordenadas generalizadas y fuerzas generalizadas debidas a las fuerzas aplicadas correspondientes a las coordenadas generalizadas, respectivamente. 8.2.1 Coordenadas generalizadas Las coordenadas que especiican por completo la coniguración —es decir, la posición y orientación— de todos los cuerpos de un sistema mecánico se llaman coordenadas generalizadas. Se dice que la coniguración de un sistema mecánico es completamente conocida si se conoce la posición y orientación de todos los cuerpos que hay en el sistema. Puesto que un cuerpo rígido tiene seis grados de libertad (DOF), un sistema mecánico con m cuerpos móviles requiere coordenadas 6m para especiicar por completo su coniguración en el espacio cartesiano tridimensional. Estas coordenadas se llaman coordenadas generalizadas de un sistema mecánico como, por ejemplo, el brazo de un robot. Sin embargo, estos cuerpos no pueden moverse libremente por las restricciones que imponen las articulaciones, es decir, están sujetos a restricciones impuestas por las articulaciones. Como resultado, las coordenadas 6m ya no son independientes. Si existen c restricciones, entonces n = 6m ⫺ c coordenadas pueden especiicarse de manera independiente. Éstas se llaman coordenadas generalizadas in(x2, y2) dependientes, y el sistema tiene un DOF de n. Por lo d2 ␪2 Y tanto, el número de coordenadas generalizadas indea1 pendientes es igual al número de DOF del robot. d1 (x , y ) ␪1 1 1 Observe que las coordenadas generalizadas pueden X deinirse de varias maneras. Por ejemplo, considere el robot planar de dos eslabones que se presenta en la i- Figura 8.5 Brazo de robot de gura 8.5. Puesto que un cuerpo rígido en un plano tiene dos eslabones 8.2 Formulación de Euler-Lagrange 173 3 DOF, dos cuerpos requieren seis coordenadas, es decir, (x1, y1, q1) y (x2, y2, q2), las cuales no son independientes, puesto que hay dos articulaciones de revoluta que restringen el movimiento de los dos cuerpos. Observe que las coordenadas (x1, y1,) y (x2, y2) deinen las posiciones del centro de masa de los eslabones, mientras que q1 y q2 denotan la orientación de los eslabones, es decir, los sistemas coordenados ijos del cuerpo. Además, d1 y d2 son las ubicaciones del centro de masa desde el origen de los sistemas, y para el primer conjunto de seis coordenadas existen cuatro restricciones, es decir, x1 = d1 cos q1 ; y1 = d1 sen q1 (8.25a) x2 = a1 cos q1 + d2 cos q12 ; y2 = a1 sen q1+ d2 sen q12 (8.25b) donde q12 ≡ q1 + q2. Por ende, el sistema tiene 6 – 4 = 2 DOF. Entonces, el conjunto independiente de coordenadas generalizadas puede ser q1 y q2. Desde luego, uno puede seleccionar otras dos coordenadas generalizadas independientes. Sin embargo, para el ejemplo presentado, q1 y q2 son el conjunto más conveniente desde el punto de vista de los análisis de dinámica y cinemática de robots. 8.2.2 Energía cinética Considere un robot que consiste en n eslabones rígidos, como el que se presenta en la igura 8.6a). Entonces, la energía cinética de un eslabón normal i, igura 8.6b), denotada como Ti, se obtiene mediante 1 1 Ti = mi cɺ Ti cɺ i + w iT Ii w i (8.26) 2 2 · donde ci : Vector de velocidad (lineal) tridimensional del centro de masas Ci del i-ésimo eslabón; vi : Vector de velocidad angular tridimensional del i-ésimo eslabón; mi : Masa del i-ésimo eslabón. Una cantidad escalar; Ii : El tensor de inercia o matriz de 3 × 3 del i-ésimo eslabón alrededor de Ci, como se deine en la subsección 8.1.2. En la ecuación (8.22), el tensor de inercia Ii para el i-ésimo cuerpo es invariante de tiempo, es decir, constante. Sin embargo, depende de la coniguración del brazo del robot y se expresa en un sistema de referencia diferente, por ejemplo, el sistema ijo, como [Ii]F = Qi[Ii]i+1Q iT (8.27) donde [Ii]i+1 es la matriz de inercia del i-ésimo eslabón representada en el sistema del eslabón móvil i + 1 que se sujeta al i-ésimo cuerpo, y Qi es la matriz de rotación de 3 × 3 del eslabón i o el sistema i + 1 respecto al sistema ijo 1 o F, como se derivó en el capítulo 5. La energía cinética total T se da ahora por la suma de las contribuciones de cada eslabón rígido debido a los movimientos relativos de cada articulación, es decir, n n T =  i =1 Ti = 1  2 dmi cɺ iT cɺ i + w Ti I i w i i (8.28) i =1 En este punto, es necesario expresar la energía cinética como una función de las coordenadas generalizadas del sistema. Para un robot, las variables de las articulaciones, es decir, los ángulos de las articulaciones de revoluta y el desplazamiento para las articulaciones prismáticas, especiican por completo la coniguración del robot. Por ende, los ángulos y 174 CAPÍTULO 8 Dinámica Oi i O3 Z1 Oi + 1 #i i+1 3 n O2 #1 #2 ρ2i On #n 2 O1 Efector terminal Y1 1 Sistema coordenado, F X1 a) Cadena serial Articulación, i ωi Cuerpo, #i vi Z ai di fi ri Ci ci Masa: mi, Inercia:Ii ni Y Articulación , i + 1 Sistema coordenado, F X b) El i-ésimo cuerpo Figura 8.6 Un robot de cadena serial desplazamientos de las articulaciones se consideran las coordenadas generalizadas. Para el i-ésimo eslabón, la velocidad angular y la velocidad lineal se calculan a partir del primer eslabón de la cadena serial, igura 8.6a), como w 1 = qɺ 1e1 (8.29a) cɺ 1 = w 1 ¥ d1 = e1 ¥ d1qɺ 1 (8.29b) w 2 = w 1 + qɺ 2 e2 = e1qɺ 1 + e2qɺ 2 (8.29c) cɺ 2 = cɺ 1 + w 1 ¥ r1 + w 2 ¥ d2 = e1 ¥ (a1 + d2)qɺ 1 + e2 ¥ d2qɺ 2 (8.29d) ⋮ ⋮ ɺ w i = w i–1 + q i ei = e1qɺ 1 + e2qɺ 2 + º + eiqɺ i (8.29e) cɺ i = cɺ i -1 + w i–1 ¥ ri–1 + w i ¥ di = e1 ¥ r 1i qɺ 1 + º + ei ¥ r ii qɺ i (8.29f) 8.2 Formulación de Euler-Lagrange 175 Observe que al escribir las ecuaciones (8.29a-f), se supone que todas las articulaciones son de revoluta. Por consiguiente, el vector ei es el vector unitario paralelo al eje de la articulación revoluta, mientras que ai, di y ri se presentan en la igura 8.6b). Además, qij es el vector que conecta el origen de la i-ésima articulación Oi con el j-ésimo centro de masa Cj. Para i = j, qii ≡ di. Utilizando las ecuaciones (8.29e-f), las velocidades del i-ésimo eslabón pueden entonces expresarse en términos de todos los índices de articulaciones n, es decir, (8.30a) w = J qɺ , donde J ∫ [ j j º j 0 º 0] i w,i w,i w,1 w,2 w,i cɺ i = Jc,i qɺ , donde Jc,i ∫ [j c,1 jc,2 º jc,i 0 º 0] (8.30b) ⭈ ⭈ ⭈ ⭈ donde p ≡ [q 1, q 2, ..., q n]T es el vector n-dimensional de índice de articulaciones. En las ecuaciones (8.30a-b), Jω,i y Jc,i son las matrices de 3 × n. Proporcionalmente, Jω,i y Jc,i son los vectores tridimensionales que, según las ecuaciones (8.2e-f), pueden escribirse como (8.31a) jw, i ∫ ei; y jc,i ∫ ei ¥ r ij Observe que para una articulación prismática la ecuación (8.31a) se modiica como (8.31b) jw,i ∫ 0; y jc,i ∫ ei donde 0 representa el vector tridimensional de ceros y el vector ei es el vector unitario a lo largo de la traslación de la articulación prismática. Si se sustituyen las ecuaciones (8.30a-b) en la ecuación (8.26) y luego se suma a través de todos los eslabones, la expresión para la energía cinética del sistema se obtiene como n T = n 1 1 m cɺ T cɺ + w iT I i w i =  qɺ T I i qɺ 2 i =1 i i i 2 1 Âd i (8.32a) donde la matriz Ii de n × n se determina por T Ii Jw,i I i ∫ mi J cTi Jc, i + Jw,i (8.32b) Observe que en la ecuación (8.32 b) las expresiones J J y J I J también están en las matrices de n × n. Además, si una matriz I de n × n se deine como sigue: T c,i c,i T ω,i i ω,i n I =  Ii (8.33) i =1 Entonces la energía cinética total puede rescribirse según la ecuación (8.32a) como T = 1ɺT ɺ q Iq 2 (8.34) donde la matriz I se llama matriz de inercia generalizada (GIM) del robot en cuestión. Cabe señalar aquí que la GIM del robot I de la ecuación (8.34) involucra las matrices Ii, que a su vez es una función de las matrices Jω,i y Jc,I, como es evidente de la ecuación (8.32b). Por lo tanto, el manipulador GIM es dependiente de la coniguración, es decir, únicamente de la función de p. También, de modo parecido a como se deine en las ecuaciones (8.5) y (8.6) la inercia de un cuerpo rígido Ii, el manipulador GIM I es también simétrico y positivo-deinido. Esto es obvio por la forma cuadrática de la ecuación (8.34) que indica que la energía cinética del sistema siempre es positiva, a menos que esté en reposo. 176 8.2.3 CAPÍTULO 8 Dinámica Energía potencial Como en el caso de la energía cinética, la energía potencial total almacenada en el robot se obtiene por la suma de las contribuciones de cada eslabón. Sobre la base de eslabones rígidos, la energía potencial guardada en el eslabón i se deine como la cantidad de trabajo que se necesita para levantar el centro de masas del eslabón i desde un plano de referencia horizontal hasta su posición presente bajo la inluencia de la gravedad. En el caso del sistema coordenado de inercia, el trabajo necesario para desplazar el eslabón i hasta la posición Ci se determina por –miciTg, donde g es el vector debido a la aceleración de gravedad. Por ende, la energía potencial total almacenada en un brazo de robot se obtiene mediante n U =–  mi c iT g (8.35) i =1 En la ecuación (8.35), el vector ci es una función de las variables de articulación, es decir, las q del robot. Por lo tanto, la energía potencial total es una función únicamente ⭈ de las variables de articulación p, y no de las velocidades de articulación p. Además, ci es una función no lineal de p, y, por lo tanto, U no puede expresarse de manera adecuada en términos de p. 8.2.4 Ecuaciones de movimiento Tras haber computado las energías cinética y potencial totales del robot en estudio, es decir, las ecuaciones (8.32) y (8.35), respectivamente, el lagrangiano de la ecuación (8.23) puede escribirse como n L =T–U=  LNM 2 qɺ T Ii qɺ + mi c iT gOQP 1 (8.36) i =1 ⭈ Ahora la función de Lagrange debe diferenciarse respecto a qi, q i y t para formular las ecuaciones dinámicas de movimiento. Con el in de facilitar la derivación, se expande el término de energía cinética como suma de los escalares. Si suponemos que iij es el elemento (i, j) del GIM I del robot, entonces la ecuación (8.36) puede escribirse como n L = L N n O Q 1  MM 2 iij qɺ i qɺ j + mi c iT gPP i =1 j =1 (8.37) ⭈ Puesto que la energía potencial no depende de q i, si se toma la derivada parcial de L dada ⭈ por la ecuación (8.37) respecto a q i, se obtiene ∂L = ∂qɺ i n  iij qɺ j (8.38) j =1 para i = 1, …, n. Entonces la ecuación (8.38) se diferencia respecto al tiempo t como F I GH JK d ∂L dt ∂qɺ i n = L N F di I O Q n L N n ∂iij O Q  MMiij qɺɺ j + GH dt JK qɺ j PP =  MMiij qɺɺ j +  ∂q k qɺ j qɺ k PP j =1 ij j =1 k =1 (8.39) 8.2 Formulación de Euler-Lagrange 177 Tomando la derivada parcial de la ecuación (8.37) respecto a qi, se obtiene I F GH   i qɺ qɺ JK +  m g n 1 ∂ ∂L = ∂q i 2 ∂q i n n ij j k j j = 1 k =1 j =1 T ∂c j ∂q i (8.40) Puesto que la derivada parcial de ci respecto a qi, ∂cjl∂qi en ecuación (8.40), es igual al vector de la i-ésima columna de la submatriz jacobiana Jcj denotada por j(i)c, j, la ecuación (8.40) puede escribirse como 1 ∂L = 2 ∂q i n n n ∂i jk   ∂q i qɺ j qɺ k +  mj gT j (i)c, j j =1 k =1 (8.41) j =1 Mediante la combinación de las ecuaciones (8.38) y (8.41), se obtienen las ecuaciones dinámicas de movimiento como n  iij qɺɺ j (8.42) + hi + g i = ti j =1 para i = 1, …, n, donde n hi ∫ n F ∂i ij   GH ∂q k - j =1 k =1 IJ K 1 ∂i jk ɺ ɺ q j qk 2 ∂q i y n gi ∫ –  mj gT j (i)c, j (8.43) j =1 La ecuación (8.34) puede armarse para todas las coordenadas generalizadas n como ɺɺ + h + g = t Iq (8.44a) donde la matriz de inercia generalizada I de n × n se deine en la ecuación (8.33) y los vectores n-dimensionales h, f y s se deinen abajo: h ≡ [h1, …, hn]T: el vector n-dimensional de las aceleraciones centrífugas y de Coriolis. El vector h ⭈ también puede expresarse como h = Cp, donde los elementos de la matriz C de n × n se obtienen mediante n cij ∫ F ∂i ij  GH ∂q k k =1 - ¡Coriolis en la dinámica! Si uno camina a lo largo del radio de un carrusel dando vueltas, uno experimentará una fuerza lateral. Esto se debe a la fuerza que resulta de la aceleración de Coriolis. I JK 1 ∂i jk ɺ q 2 ∂q i k También f ≡ [γ1, …, γn]T: el vector n-dimensional de aceleraciones gravitacionales; s ≡ [t1, …, tn]T: el vector n-dimensional de fuerzas generalizadas. (8.44b) 178 CAPÍTULO 8 Dinámica Ejemplo 8.4 Expresión alternativa para los elementos de la matriz C en la ecuación (8.44b) A partir de la expresión de hi dada antes de la ecuación (8.34), puede demostrarse lo siguiente mediante el intercambio del orden en la suma y tomando ventaja de la simetría: F ∂i I   GH ∂q JK qɺ n n ij k j =1 k =1 n 1 ɺ j qk = 2 F ∂i n ij   GH ∂q k + j =1 k =1 I JK ∂iik ɺ ɺ q j qk ∂q j (8.45) Por lo tanto, n hi ∫ n F ∂i ij   GH ∂q k j =1 k =1 - I JK 1 1 ∂i jk ɺ ɺ q j qk = 2 2 ∂q i n F ∂i n ij   GH ∂q k + j =1 k =1 I JK ∂i jk ∂iik qɺ j qɺ k ∂q j ∂q i (8.46) Como resultado, el elemento cij se extrae de la ecuación (8.46) como cij ∫ I JK F n ∂i jk ∂iij ∂i 1 + ik qɺ 2 k =1 ∂q k ∂q j ∂q i k  GH (8.47) Cabe señalar aquí que por medio del uso de las ecuaciones (8.44b) y (8.47) para los mismos valores de i y j, se encontrarían expresiones diferentes. Sin embargo, la expresión de hi basada en cualquiera de las ecuaciones deberá ser la misma. Ejemplo 8.5 Matriz antisimétrica I·-2C En primer lugar, se obtiene la derivada respecto al tiempo en un elemento de la matriz de inercia I, es decir, diij /dt como diij = dt n diij  dq k qɺ k (8.48) k =1 · Por lo tanto, el elemento (i, j) de la matriz I -2C puede obtenerse mediante las ecuaciones (8.47) y (8.48) como diij – 2cij = dt n  k =1 n = diij ɺ q – dq k k F ∂i  GH ∂qikj k =1 - F ∂i n ij  GH ∂q k + k =1 I JK ∂i jk ɺ ∂iik q ∂q j ∂q i k I JK ∂i jk ɺ q ∂q i k (8.49) Puesto que la matriz de inercia I es simétrica, es decir, iij = iji, puede demostrarse por medio de intercambio de los índices que F H diij di ji – 2cji = – - 2cij dt dt · lo que implica que la matriz I-2C es antisimétrica. I K (8.50) 8.2 Ejemplo 8.6 Formulación de Euler-Lagrange 179 Dinámica de un brazo de un eslabón La ecuación dinámica de movimiento del brazo de un Y1 O eslabón y DOF = 1 que se presenta en la igura 8.7 se derit va mediante la formulación de Euler-Lagrange (EL). Se a q g adjuntan dos sistemas de coordenadas siguiendo la conC vención de los parámetros DH que se analizó en la sección X1 Y2 5.4. Observe en la igura 8.7 que no se usa ningún subíndice en los parámetros del eslabón porque solamente X2 existe uno. Según la formulación EL, la coordenada generalizada es q, mientras que a/2 es la distancia del cenFigura 8.7 Brazo de un tro de masa del eslabón desde su origen de articulación eslabón O. Además, supongamos que la masa del eslabón es m, y su tensor de inercia alrededor de los centros de masa, es denotado por I. Con el sistema de coordenadas seleccionado, es decir, el sistema ijo X1 – Y1, los jacobianos Jw,i y Jc,i para i = 1, la ecuación (8.30a-b) proporcionará OP Q LM N T a a (8.51a) sq cq 0 2 2 donde sq y cq representan sen q y cos q, respectivamente. Según la ecuación (8.34), el término de inercia escalar I se da por m m (8.51b) I ∫ a2 + Izz = a2 4 3 Observe aquí que, a pesar de que la matriz de inercia I del eslabón tenga todos los elementos no cero debido a la estructura de Jw,1, sólo el elemento (3, 3) de I, a saber Izz, contribuye al término de inercia generalizada. Usando la ecuación (8.43), se obtienen los elementos de los vectores h y f, es decir, h y g, respectivamente, de la siguiente manera: a (8.52) h = 0; y g ∫ –mgT j(1)c,1 = mg sq 2 donde g ⬅ [g 0 0]T – g es la aceleración debida a la gravedad. Usando las ecuaciones (8.51a-b), la ecuación de movimiento en la forma de la ecuación (8.44a) es: 1 ma2 ɺɺ + 1 mgasq = t (8.53) q 2 3 Cabe señalar aquí que para un sistema sencillo como el brazo de un eslabón, es recomendable obtener la ecuación de movimiento, es decir, la ecuación (8.53), directamente de las ecuaciones (8.24) y (8.26). Esto se muestra a continuación: Jw,1 ∫ [0 0 1]T ; Jc,1 ∫ - T ∫ FH IK a 1 m qɺ 2 2 2 1 ma 2 ɺ 2 ma 2 ɺ 2 q = q 6 2 12 a - a cq U = mg 2 2 + FH y L =T–U∫ IK ma 2 ɺ 2 q – mg a (1 – cq) 2 6 (8.54a) 180 CAPÍTULO 8 Dinámica Para la coordenada generalizada q, la ecuación (8.24) proporciona entonces FG IJ H K d ∂L 1 1 1 1 ∂L = ma2qɺɺ ; = – mgasq ; y ma2qɺɺ + mgasq = t (8.51b) 3 2 3 2 ∂q dt ∂qɺ lo que muestra la misma expresión que la que se obtuvo en la ecuación (8.53). Ejemplo 8.7 Dinámica de un brazo de robot de dos eslabones Se derivan las ecuaciones dinámicas de movimiento del robot de dos eslabones y DOF = 2, basadas en las ecuaciones de Euler-Lagrange. El vector de las coordenadas generalizadas es q ∫ [q1, q2]T mientras que a1/2 y a2/2 son las distancias del centro de las masa de los dos eslabones desde sus respectivos orígenes de articulación, es decir, O1 y O2. Además, supongamos que las masas de los dos eslabones son m1 y m2, y que sus tensores de inercia alrededor de los centros de masa son I1 e I2. Con el sistema de coordenadas seleccionado, es decir, el sistema ijo F, los jacobianos Jw,i y Jc,i para i = 1, 2, la ecuación (8.30a-b) proporcionará Jw,1 LM0 ∫ M0 NM1 OP 0 ;J P 0 QP 0 w,2 LM0 ∫ M0 NM1 OP 0 P 1 QP 0 (8.55a) y LM- a s 2 M a ∫M c MN 20 1 1 Jc,1 1 1 OP P 0P ; J 0PQ LM- a s - a s 2 M a ∫Mac + c MN 0 2 2 0 1 1 12 a2 s 2 12 a2 c 2 12 0 - 2 c,2 1 1 12 OP PP PQ (8.55b) Según la ecuación (8.33), la matriz de inercia generalizada I de 2 × 2 se determina por I∫ LMi Ni 11 i12 21 i22 OP Q (8.56a) cuyos elementos son los siguientes: i11 = FG H IJ K m1 2 a2 a 1 + I1,zz + m2 a12 + 2 + a1 a2 c2 + I2,zz 4 4 i12 = i21 ∫ m2 i22 = m2 FG a H4 2 2 a22 + I2,zz 4 + a1 a2 c2 2 IJ + I K 2,zz (8.56b) (8.56c) (8.56d) 8.3 La formulación Newton-Euler 181 donde si ≡ sen qi y ci ≡ cos qi para i = 1, 2. Observe aquí que, a pesar de que las matrices de inercia I1 e I2 de los eslabones 1 y 2, respectivamente, tengan todos los elementos no cero debido a las estructuras de Jw,1 y Jw,2, sólo el elemento (3, 3) de I1 e I2, a saber, I1,zz e I2,zz, contribuyen a las expresiones de la matriz de inercia generalizada, es decir, las ecuaciones (8.56a-d). Usando la ecuación (8.43), se obtienen los elementos de los vectores h y f, es decir, hi y fi, respectivamente, para i = 1, 2 de la siguiente manera: h1 ∫ 1 ∂i11 ɺ 2 ∂i11 ɺ ɺ q + q q + 2 ∂q 1 1 ∂q 2 1 2 FG ∂i H ∂q 12 2 IJ K ∂i - 1 22 qɺ 22 2 ∂q 1 a a = –m2 a1 a2 s2qɺ 1 qɺ 2 – m2 1 2 s2qɺ 22 2 h2 ∫ = y FG ∂i H ∂q 21 1 - (8.57a) IJ K ∂i 1 ∂i11 ɺ 2 ∂i22 ɺ ɺ q + q q + 1 22 qɺ 22 2 ∂q 2 1 ∂q 1 1 2 2 ∂q 2 m2 a a s qɺ 2 2 1 2 2 1 (8.57b) F H a1 a c1 + m2g a1 c1 + 2 c12 2 2 a g2 ∫ –m1gT j (2)c,1 – m2 gT j(2)c,2 = m2g 2 c12 2 g1 ∫ –m1 gT j (1)c,1 – m2 gT j (1)c,2 = m1g I K (8.58a) (8.58b) donde g ≡ [0 –g 0]T –g es la aceleración debida a la gravedad. 8.3 La formulación Newton-Euler En esta sección se deine en primera instancia la cantidad de movimiento lineal y angular de un cuerpo rígido. Esto se usará para la derivación de las ecuaciones de Newton-Euler (NE) del movimiento de un sistema robótico determinado. Basada en las ecuaciones NE, se presenta un método recursivo para el análisis dinámico, que es útil para el control del robot. 8.3.1 Cantidad de movimiento lineal La cantidad de movimiento lineal del elemento de masa ρdV respecto al punto O, como se presenta en la igura 8.1, se denota por dm —observe que la m en negrillas es diferente de la m en cursivas que representa la masa— y se deine mediante dp (8.59) dm = rdV dt Por lo tanto, la cantidad de movimiento lineal total del cuerpo B alrededor de O se determina por m = z V dp d rdV = dt dt z V prdV (8.60) 182 CAPÍTULO 8 Dinámica Usando la deinición del centro de masa de la ecuación (8.1a), la ecuación (8.60) puede reescribirse como d (8.61) m = (mc) = m cɺ dt ¿Puede cambiar la masa de un objeto? Desde luego que sí. Imagine un avión o un auto cuya masa total se reduce conforme se está consumiendo el combustible debido a su operación. Por la derivación de la ecuación (8.61), la derivada de tiempo de la masa m es cero, pues para un cuerpo rígido la masa no cambia con el paso del tiempo. Además, c· ≡ dc/dt denota la velocidad del centro de la masa respecto al sistema de referencia F. La ecuación (8.61) implica que la cantidad de movimiento lineal total de un cuerpo rígido es igual a la cantidad de movimiento lineal de una masa puntual, con la masa m ubicada en el centro de masa C. 8.3.2 Cantidad de movimiento angular ∼ de un elemento de masa ρdV alreEn la igura 8.1, la cantidad de movimiento angular dm dedor de un punto de referencia O se deine como el momento de su cantidad de movimiento lineal, ecuación (8.61), alrededor de O, es decir, ~ O = p ¥ d p rdV (8.62) dm dt Por lo tanto, la cantidad de movimiento angular total de B alrededor de O se determina por ~O = m z V p¥ dp rdV dt (8.63a) Cuando se sustituye p = c + r, como se muestra en la igura 8.1, en la ecuación (8.63a), se obtiene ~O = m z V FH dc rdV IK + dt c¥ z V F d r rdV I + H dt K c¥ z V r¥ FH dc rdV IK + dt z V r¥ F d r rdV I H dt K (8.63b) Observando que dr =v¥r (8.63c) dt donde v es la velocidad angular del cuerpo B, la ecuación (8.63b) puede reordenarse como ~ O = c ¥ cɺ m z z V F H z I FH K rdV + c ¥ v ¥ rrdV + V z V IK rrdV ¥ cɺ + z z V r ¥ (v ¥ r)rdV (8.63d) en la que rdV = m y, según la ecuación (8.1d), rr dV = 0. Por lo tanto, el segundo y V V tercer términos de la ecuación (8.63d) desaparecen, lo que proporciona la cantidad de mo∼ O como vimiento angular total alrededor de O, es decir, m ~ O = c ¥ (m cɺ ) + m ~ m (8.64) donde ~ ∫ m z V w ¥ r)rdV r ¥ (w (8.65) 8.3 La formulación Newton-Euler 183 ~ de la ecuación (8.65) denota la cantidad de movimiento angular del cuerpo El término m · rígido alrededor del centro de masa C. Además, el vector c de la ecuación (8.64) es la velocidad del centro de masa C respecto al sistema de referencia F. Adicionalmente, la ecuación (8.64) es la cantidad de movimiento angular total de B alrededor del origen O, que es igual a la cantidad de movimiento angular de una masa puntual con la masa m concentrada en el centro de la masa, más la cantidad de movimiento angular de rotación alrededor de su centro de masa. Entonces, mediante la deinición del producto vectorial triple, es decir, a × (b × c) = (aTc)b – (aTc)c, donde a, b, y c son los vectores cartesianos tridimensionales, la expresión r × (v × r) de la ecuación (8.65) puede expresarse como r ¥ (v ¥ r) = (rT r)v – (rT v)r = [(rT r)1 – rrT ]v (8.66) Cuando se comparan las ecuaciones (8.5) y (8.65), se observa que ~ ∫ Iv, donde I ∫ m z V [(rT r)1 – rrT ]rdV (8.67) donde I es el tensor de inercia del cuerpo B alrededor de su centro de masa C. Aquí cabe señalar que la cantidad de movimiento angular determinada en la ecuación (8.67) puede expresarse en cualquier sistema de referencia. Si se expresa la ecuación (8.67) en el sistema de referencia F, se obtiene ~ ] = [I] [w [m (8.68) F F w ]F en la que [.]F denota la cantidad del vector o matriz expresada en el sistema F. Si se expresa la ecuación (8.68) en un sistema de cuerpo ijo, centro de masa C ~ ] = [I] [w [m (8.69) C C w ]C [v]C es la velocidad angular del cuerpo B en relación con el sistema ijo F, pero expresado en el sistema del cuerpo C, es decir, [v]C = QT[v]F. La matriz Q de 3 × 3 es la matriz de rotación que describe la orientación del sistema coordenado C en relación con el sistema F. Pues∼ es un vector, su transformación sigue a la de un vector, a saber, to que m ~ ] = Q[ m ~] (8.70) [m F C Cuando se sustituyen las ecuaciones (8.68) y (8.69) en la ecuación (8.70), se obtiene (8.71) w ]F = Q[I]C [w w ]C [I]F [w El uso de [v]C = QT[v]F en la ecuación (8.71) proporciona (8.72) [I]F = Q[I]C QT La ecuación (8.72) transforma una matriz de inercia expresada en un sistema de referencia en otra. Ambas matrices de inercia se toman alrededor del centro de masa C. Los elementos de [I]C son constantes porque generalmente están expresados en el sistema del cuerpo ijo C. Sin embargo, los elementos de [I]F no lo son, ya que están expresados en el sistema ijo F, y la orientación del sistema C en relación con F es dependiente del tiempo. La dependencia de [I]F resulta de la matriz de rotación Q. 8.3.3 Ecuaciones de movimiento Se asume que existe un sistema ijo de inercia respecto a la cual se derivarán las ecuaciones de movimiento de Newton-Euler (NE). Como se muestra en la igura 8,8, suponga que F es el sistema ijo. Además, el vector m es la cantidad de movimiento lineal del cuerpo rígido B 184 CAPÍTULO 8 Dinámica f Cuerpo, B Z ZC YC n C c Masa: m; Inercia: I O XC Sistema,C Y Sistema,F X Figura 8.8 Fuerza y momento resultantes actuando sobre un cuerpo rígido expresado en el sistema F, y la cantidad de movimiento angular correspondiente se represen∼ . Suponga también que los vectores f O y nO son las resultantes de fuerzas y ta por el vector m momentos ejercidos sobre el cuerpo rígido B en y alrededor del origen O, respectivamente. Entonces pueden deinirse las ecuaciones lineales de Newton como la derivada respecto al tiempo de la cantidad de movimiento lineal m, es decir, dm fO = (8.73) dt mientras que las ecuaciones rotacionales de movimiento de Euler se dan como la razón de ∼ O, es decir, cambio de la cantidad de movimiento angular respecto al tiempo m ~O dm (8.74) nO = dt Si se toma un punto arbitrario como referencia, la aplicación de las ecuaciones básicas de movimiento (8.73)-(8.74) podrá resultar inconveniente. A continuación se mostrará que, cuando se usa el centro de masa C como punto de referencia, el movimiento del cuerpo rígido puede dividirse de forma natural en dos partes: el movimiento lineal del centro de masa C más un movimiento rotacional del cuerpo rígido alrededor del centro de masa C. En la igura 8.8, el centro de masa de un cuerpo rígido B es C, denotado por el vector c. En primer lugar se aplican las leyes de Newton. La sustitución de la ecuación (8.61) en la ecuación (8.73) da como resultado d ( mcɺ ) fO = (8.75) dt Para un cuerpo de masa constante, la ecuación (8.75) se reduce entonces a dcɺ fO = m = m ɺɺc (8.76) dt La ecuación (8.76) se llama ecuación de movimiento de Newton para el centro de masa. Luego se considera el movimiento rotacional del cuerpo rígido B. La diferenciación de la ecuación (8.53) respecto al tiempo da como resultado ~ ~O dm dm dcɺ (8.77) =c¥m + dt dt dt 8.3 La formulación Newton-Euler 185 Suponga que h y n son las resultantes de fuerzas y momentos ejercidos en el centro de masa C, tal como se muestra en la igura 8.8. Entonces lo siguiente es válido: (8.78a) fO = f (8.78b) nO = n + c ¥ f Mediante la sustitución de las ecuaciones (8.74) y (8.78b) en la ecuación (8.77) se obtiene ~ dm dcɺ (8.79) n+c¥f = +c¥m dt dt Mediante la sustitución de las ecuaciones (8.76) y (8.78a) en la ecuación (8.79), y comparando ambos lados, se obtiene lo siguiente: ~ dm n = (8.80) dt En otras palabras, la razón de cambio de la cantidad de movimiento angular de B alrededor del centro de masa C es igual al momento resultante ejercido en el mismo punto. La ∼ puede desarrollarse de forma más conveniente en el sistema del centro de derivada de m masa de cuerpo ijo C, como se muestra en la igura 8.8, porque los elementos del tensor de inercia de B son constantes en el sistema C. La sustitución de la ecuación (8.67) en la ecuación (8.80) y la expresión de la ecuación resultante en el sistema C nos da d ([I]C [w ]C ) (8.81) [n]C = dt ∼ en la ecuación (8.80) u (8.81) se toma respecto al Observe que la diferenciación de m sistema coordenado de inercia F, a pesar de que las cantidades estén representadas en el sistema C. Si se aplica la regla de diferenciación, la ecuación (8.81) da como resultado lo siguiente: w ]c ¥ ([I]c [w w ]c ) [n]c = [I]c [ wɺ ]c + [w (8.82) La ecuación (8.82) se llama ecuación de movimiento rotacional de Euler para el sistema de coordenadas del centro de masa. Las ecuaciones de movimiento de Euler también pueden escribirse en el sistema ijo F. Para hacer esto, ambos lados de la ecuación (8.82) se multiplican por la matriz de rotación Q y se hace uso de las relaciones w ]F , y [n]C = QT [n]F [w w ]C = QT [w es decir, w ]F ¥ (Q[I]C QT [w w ]F ) [n]F = Q[I]C QT [ wɺ ]F + [w (8.83a) o simplemente w ]F ¥ ([I]F [w w ]F ) [n]F = [I]F [ wɺ ]F + [w donde [I]F ∫ Q[I]C QT (8.83b) La ecuación (8.83b) se llama ecuación de movimiento rotacional de Euler para un sistema de cuerpo no-ijo por ejemplo, el sistema ijoF. Aunque las ecuaciones (8.82) y (8.83b) tienen forma similar, son fundamentalmente diferentes. Los elementos del tensor de inercia en la ecuación (8.82) son constantes, mientras que los de la ecuación (8.83b) están subordinados al tiempo. Por lo tanto, se preiere la ecuación (8.82) sobre la ecuación (8.83b). 186 CAPÍTULO 8.4 8 Dinámica Algoritmo recursivo de Newton-Euler Aquí se presenta un algoritmo recursivo de Newton-Euler (NE) para el análisis dinámico de un robot serial que incorpora todos los momentos y fuerzas que actúan sobre el eslabón individual del manipulador robótico. Por lo tanto, las ecuaciones que resultan incluirán todos los momentos y fuerzas de restricción debidos a una articulación entre los dos eslabones adyacentes. Estos momentos y fuerzas de restricción son útiles para determinar los tamaños de eslabones y cojinetes durante la fase de diseño. El método consiste en un cálculo progresivo de las velocidades y aceleraciones de cada eslabón, seguido por el cálculo regresivo de los momentos y fuerzas en cada articulación. Los momentos y fuerzas que actúan sobre un eslabón normal i de un manipulador serial se presentan en la igura 8.6. Con ines de análisis, se emplean las siguientes notaciones: fi–1,i : Vector tridimensional de la fuerza resultante ejercida sobre el eslabón i por el eslabón i – 1 en Oi. ni-–1,i : Vector tridimensional del momento resultante ejercido sobre el eslabón i por el eslabón i – 1 en Oi. fi+1,i : Vector tridimensional de la fuerza resultante ejercida sobre el eslabón i por el eslabón i + 1 en Oi+1. Observe que fi+1,i = –fi,i+1. ni+1,i : Vector tridimensional del momento resultante ejercido sobre el eslabón i por el eslabón i + 1 en Oi+1, de tal manera que ni+1, i = –ni,i+1. g ni fi Ii oi ci ri ai o· i, öi c· i, c̈ i vi, v· i ei : El vector tridimensional de aceleración debida a la gravedad. : El momento resultante ejercido alrededor del centro de masa del eslabón i. La fuerza resultante ejercida alrededor del centro de masa del eslabón i. : : La matriz de inercia del eslabón i alrededor de su centro de masa Ci. : Vector de posición del origen del i-ésimo eslabón, como se muestra en la igura 8.9. : Vector de posición del centro de masa del i-ésimo eslabón. : Vector de posición del origen del eslabón i + 1 desde el centro de masa del eslabón i, Ci. : Vector de posición del origen del eslabón i + 1 desde el centro de masa del eslabón i, Oi. : Velocidad y aceleración lineales del origen Oi. : Velocidad y aceleración lineales del centro de masa del eslabón i. : Velocidad y aceleración angulares del eslabón i. : El vector unitario apuntando a lo largo del eje Zi. A continuación se presentarán los cálculos progresivo y regresivo. 8.4.1 Cálculo progresivo En primer lugar, se evalúan la velocidad y aceleración angulares, así como la velocidad y aceleración lineal de cada eslabón en términos del eslabón que le antecedió. Estas veloci- 8.4 Algoritmo recursivo de Newton-Euler Zi, ei 187 Zi+1, ei+1 Articulación i Articulación i + 1 Ci ri mig di Z1 Oi+1 Xi+1 ni, i+1 ai oi+1 bi oi O fi, i+1 ai Xi Oi Y1 ni–1, i X1 Figura 8.9 fi–1, i Momentos y fuerzas ejercidos sobre el eslabón i dades pueden calcularse entonces de manera recursiva, empezando con el primer eslabón móvil y terminando con el eslabón del efector inal. Las condiciones iniciales para el eslabón de base son c·0 = c̈0 = v0 = w· 0 = 0. i) Propagación de la velocidad angular Debido a la construcción serial del manipulador robótico, la velocidad angular del eslabón i en relación con el eslabón i – 1 es · igual a q iei para una articulación de revoluta y 0 para una articulación prismática, donde ei denota el vector unitario apuntando a lo largo del i-ésimo eje de la articulación. Por ende, la velocidad angular del eslabón i puede escribirse como wi = |RSw |Tw i -1 + qɺ i e i i -1 : para una articulación de revoluta : para una articulación prismática (8.84a) Si se expresa la ecuación (8.84a) en el i-ésimo sistema de eslabones, se obtiene [w w i]i = |RSQ |TQ T i - 1 [w i - 1]i - 1 T i - 1 [w i - 1]i - 1 + qɺ i [e i ]i : para una articulación de revoluta (8.84b) : para una articulación prismática donde la transposición de la matriz de rotación de 3 x 3 que representa la orientación del sistema i + 1 adjunto al eslabón i respecto a la de i adjunto al eslabón i – 1 se determina por LM MM N cq i - 1 QTi–1 ∫ -ca i -1 sq i - 1 s a i - 1 cq i - 1 sq i - 1 ca i - 1 cq i - 1 0 sa i -1 - sa i - 1 cq i - 1 ca i - 1 OP PP Q (8.85) 188 CAPÍTULO 8 Dinámica donde qi, ai son los ángulos de articulación y torsión de los parámetros DH que se deinieron en el capítulo 5, mientras que el vector unitario [ei]i ∫ [0, 0, 1]T apunta a lo largo del i-ésimo eje de articulación y se expresa en su sistema de coordenadas. ii) Propagación de la aceleración angular La aceleración angular del eslabón i se obtiene mediante la diferenciación de la ecuación (8.84a) respecto al tiempo, es decir, wɺ i - 1 + qɺɺ i e i + qɺ i w i ¥ ei : para una articulación de revoluta (8.86a) wɺ i = ɺɺ i - 1 : para una articulación prismática w R| S| T Si se expresa la ecuación (8.86a) en el i-ésimo sistema de eslabones, se obtiene [ wɺ i ]i = |RSQ |TQ T ɺ i - 1]i - 1 + qɺɺ i [ei ]i i - 1[ w T ɺ i - 1]i - 1 i - 1[w + qɺ i [w i ]i ¥ [e i ]i : para una articulación de revoluta : para una articulación prismática (8.86b) La ecuación (8.86b) proporciona una fórmula recursiva para computar la aceleración angular del eslabón i en términos del eslabón i – 1. iii) Propagación de la velocidad lineal En la igura 8.9, puede observarse lo siguiente: 1) si la i-ésima articulación es de revoluta, el eslabón i no se traslada a lo largo del i-ésimo eje de articulación; y 2) si la i-ésima articulación es prismática, hay una velocidad de traslación de bi a lo largo del i-ésimo eje de articulación. Por ende, puede escribirse la velocidad del centro de masa Ci en términos de la velocidad de Ci-1 cɺ i = RScɺ Tcɺ w i -1 ¥ ri -1 + w i ¥ d i : para una articulación de revoluta ɺ para una articulación prismática + i - 1 w i - 1 ¥ (ri -1 + d i ) + bi e i : i -1 + (8.87a) La ecuación (8.87a) también puede escribirse en el i-ésimo sistema coordenado como [ cɺ i ]i = |RSQ |TQ T ɺ i - 1 ([ c i - 1]i - 1 T ɺ c i - 1 ([ i - 1]i - 1 + [w i -1]i -1 ¥ [ri -1]i -1) + [w i ]i ¥ [d i ]i : Revoluta + [w i -1]i -1 ¥ [ri -1]i -1) + [w i ]i ¥ [d i ]i + bɺi [e i ]i : Prismática (8.87b) donde w i–1]i–1 [w w i]i = Q Ti–1 [w para la articulación prismática se obtiene en la ecuación (8.87b). Además, en la que [di]i = [ai]i – [ri]i LM MM N OP PP Q LM MM N a i cq i rix [ai]i ∫ ai sq i ; y [ri]i+1 ∫ riy bi riz OP PP Q (8.88) 8.4 Algoritmo recursivo de Newton-Euler 189 y donde rix, riy y riz son los componentes constantes del vector ri en el sistema(i + 1) que se adjunta al eslabón i. La ecuación (8.87b) es la fórmula recursiva para calcular la velocidad lineal del eslabón i en términos del eslabón (i ⫺ 1). iv) Propagación de la aceleración lineal La aceleración lineal del centro de masa del eslabón i puede obtenerse mediante la diferenciación de la ecuación (8.87a) respecto al tiempo como 2 Revoluta Prismática (8.89a) donde se usan para la derivación de la ecuación (8.89a) ωi = ωi-1 y ω· i = ω· i-1 para las articulaciones prismáticas, así como las ecuaciones (8.84a) y (8.86a), respectivamente. Al expresar la ecuación (8.89a) en el i-ésimo sistema coordenado se obtiene entonces como (8.89b) 2 donde todas las cantidades vectoriales dentro de [...] están representadas en el sistema j para j = i – 1 e i. La ecuación (8.89b) es la fórmula recursiva para calcularla aceleración lineal del eslabón i en términos de la del eslabón i – 1. v) Aceleración de la gravedad Finalmente, la aceleración de la gravedad del (i – 1)-ésimo sistema al i-ésimo sistema puede transformarse así: [g]i = QTi –1 [g]i–1 (8.90) 8.4.2 Cálculo regresivo Una vez que se hayan encontrado las velocidades y aceleraciones de los eslabones, pueden computarse los pares de torsión y fuerzas de articulaciones, eslabón por eslabón, empezando con el del efector inal y terminando con el de la base. En primer lugar se aplican las ecuaciones (8.76) y (8.82) para computar la fuerza de inercia y el momento ejercidos en y alrededor del centro de masa del eslabón i. Ellas son El significado de recursivo Las velocidades, fuerzas, etc., de eslabones se computan para un eslabón después de que se conozcan las mismas para sus eslabones anteriores o posteriores. [fi]i = mi [ ɺɺc i ] i (8.91a) ɺ i]i w i ]i ¥ [Ii] i [w w [ni]i = [Ii] i [ wɺ i ] i + [w (8.91b) 190 CAPÍTULO 8 Dinámica Luego se escriben las ecuaciones de balance de fuerza y momento alrededor del centro de masa del eslabón i. Como se ve en la igura 8.9, (8.92a) (8.92b) [fi] i = [fi–1,i] i – [fi,i+1,] i + mi [g] i [ni] i = [ni–1,i] i – [ni,i+1] i – [di]i ¥ [fi–1,i] i – [ri]i ¥ [fi,i+1,] i Al reordenar las ecuaciones (8.92a-b) en forma recursiva, se obtiene (8.92c) (8.92d) [fi–1,i] i = [fi]i + [fi,i+1,] i – mi[g] i [ni–1,i]i = [ni]i + [ni,i+1, ]i + [di] i ¥ [fi–1,i] i + [ri]i ¥ [fi,i+1] i Las ecuaciones (8.92c-d) pueden usar para resolver [fi–1,i]i y [ni–1,i]i en forma recursiva, empezando con el eslabón del efector inal. Para el efector inal, el momento y la fuerza [nn, n+1]n+1 y [fn, n+1]n+1, respectivamente, representan el momento externo y la fuerza externa aplicadas por el efector inal sobre el ambiente, como se explicó en el capítulo 7. Se asume que estos valores son conocidos. 8.4.3 Expresiones de pares de torsión o fuerza en articulaciones Los pares de torsión y fuerzas τi de actuadores se obtienen mediante la proyección de las fuerzas de restricciones a sus correspondientes ejes de articulaciones, es decir, ti = R|[e ] [n S|[e ] [f T T i i T i i i - 1, i ]i i - 1, i ]i : para una articulación de revoluta (8.93) : para una articulación prismática La ecuación (8.93) declara que τi no es otra cosa que el último elemento del vector [ni–1,i]i o [fi–1,i]i. Ejemplo 8.8 Ecuaciones NE para el brazo de un eslabón y DOF = 1 Considere el manipulador planar de DOF = 1 que se muestra en las iguras 8.7 y 8.10. La matriz de rotación es cq - s q 0 (8.94) Q ∫ sq cq 0 LM MM 0 N 0 Y1 OP P 1 PQ El vector a1 en su propio sistema de coordenadas se representa así: [a]1 = [acq1 asq1 0]T (8.95) ␶ f LM N 1 asq 2 x 01 Figura 8.10 OP Q 0 T y 01 g X1 Además, suponiendo que el eslabón es homogéneo, los vectores [d]1 y [r]2 se dan como [d]1 ∫ 1 acq 2 f O C Diagrama de cuerpo libre de un eslabón 8.4 Algoritmo recursivo de Newton-Euler y [r]2 = LM a N2 0 0 OP Q T 191 (8.96) Suponga que el eslabón es una viga cuadrada con un área de sección transversal relativamente pequeña. Entonces la matriz de inercia del eslabón alrededor de su centro de masa C representada en un sistema adjunto a sí mismo, es decir, el sistema 2, se da por 0 0 0 ma 2 (8.97) 0 1 0 [I]2 = 12 0 0 1 LM MM N OP PP Q Si se aplica el algoritmo recursivo de Newton-Euler para calcular las velocidades y aceleraciones del eslabón en forma recursiva, se obtiene lo siguiente: a) Cálculo progresivo En primer término, se computan las velocidades y aceleraciones del eslabón, tomando en cuenta que se ha adjuntado a la base ija cuyas velocidades angulares y lineales son cero; es decir, [w w ]1 [ cɺ ]1 LM0OP LM0OP = 0 ; y [ wɺ ] = 0 MMqɺ PP MMqɺɺPP NQ NQ s q L OP LM-sq OP aM a ɺ ɺɺ = q M cq P ; y [ ɺɺc ] = q M cq P – qɺ 2 2 MN 0 PQ MN 0 PQ (8.98a) 1 1 2 LM MM N cq a sq 2 0 OP PP Q (8.98b) Se supone que la aceleración por gravedad apunta en la dirección X1 del primer sistema, es decir, [g]1 ∫ [g 0 0]T b) Cálculo regresivo Para el cálculo regresivo se obtienen primero que nada las fuerzas ejercidas sobre el eslabón. Suponiendo que no existan fuerzas aplicadas externamente, es decir, [f12]2 = [n12]2 = 0 los cálculos progresivos en las ecuaciones siguiente: - sq a ɺɺ [f1]1 = m q cq - qɺ 2 2 0 F GG GH LM MM N OP PP Q (8.91a-b) y (8.92c-d) para i = 2 dan lo LMcq OPI MMsq PPJJJ N 0 QK LM- m a (qɺɺsq + qɺ cq ) - mgOP MM m2 a (qɺɺcq - qɺ sq ) PP ; = MN 2 0 PQ 2 [f01]1 2 LM OP MM PP NQ 0 a2 ; [n]1 = m 0 12 ɺɺ q (8.99) 192 CAPÍTULO 8 Dinámica [n01]1 OP LM 0 = M MM ma qɺɺ + ma 0qɺɺ + 1 mgasq PPP N 12 4 2 Q 2 (8.100) 2 c) Cálculo del par de torsión en articulaciones Finalmente, aplicando la ecuación (8.93) para computar el par de torsión requerido, la única ecuación dinámica se obtiene como 1 1 (8.101) t = ma2qɺɺ + mgasq 3 2 que nuevamente es la misma que en la ecuación (8.53) u (8.54b). Ejemplo 8.9 Ecuaciones NE para un manipulador de dos eslabones Considere el manipulador de DOF = 2 que se presenta en la igura 8.5. Las matrices de rotación son cq 1 - sq 1 0 cq 2 - sq 2 0 Q1 LM ∫ sq MM 0 N OP 0 ;y Q P 1 PQ cq 1 0 1 2 LM ∫ sq MM 0 N 2 cq 2 0 OP 0 P 1 PQ (8.102) Los vectores a1 y a2 en su propio sistema coordenado son como sigue: [a1]1 ∫ [a1cq1 0]T ; y [ a2]2 ∫ [a2cq2 a2sq2 0]T a1sq1 (8.103) Además, suponiendo que los eslabones son homogéneos, los vectores [di]i y [ri]i+1 para i = 1, 2 se dan como [di]i ∫ LM 1 a cq N2 i i 1 a sq 2 i i 0 OP Q T ; y [ ri]i+1 = LM a N2 i 0 0 OP Q T (8.104) Suponga que los dos eslabones son vigas cuadradas con un área de sección transversal relativamente pequeña. Entonces la matriz de inercia del eslabón i alrededor de su centro de masa representada en un sistema coordenado adjunto se da por LM MM N OP PP Q 0 0 0 mi ai2 0 1 0 ; para i = 1, 2 Ii+1 = 12 0 0 1 (8.105) Aplicando el algoritmo recursivo de Newton-Euler para calcular las velocidades y aceleraciones de eslabones, y luego las fuerzas y momentos, y también recursivamente se obtiene lo siguiente: a) Cálculo progresivo En primer término se computan las velocidades y aceleraciones del eslabón 1. Puesto que el eslabón 1 se adjunta a la base ija cuyas velocidades angulares y lineales son cero, sus velocidades se determinan por 8.4 [w w 1]1 Algoritmo recursivo de Newton-Euler LM 0 OP LM 0 OP = M 0 P ; y [ wɺ ] = M 0 P MNqɺ PQ MNqɺɺ PQ L-sq OP a M ɺ =q ; y [ ɺɺc ] cq P 2 M MN 0 PQ 1 1 [ cɺ 1 ]1 (8.106a) 1 1 1 193 1 1 1 1 ɺɺ a1 1 = q1 2 LM-sq OP MM cq PP – qɺ N0Q 1 1 2 1 LM MM N cq 1 a1 sq 1 2 0 OP PP Q (8.106b) Se supone que la aceleración por gravedad apunta en la dirección Y1 del primer sistema, es decir, [g]1 ∫ [0 –g 0]T Entonces se computan las velocidades y aceleraciones del eslabón 2. Si se sustituyen las velocidades y aceleraciones del eslabón 1 en las ecuaciones (8.84b), (8.86b), (8.87b) y (8.89b), se obtiene LM 0 OP LM 0 OP w ] = M 0 P ; y [ wɺ ] = M 0 P [w MNqɺ + qɺ PQ MNqɺɺ + qɺɺ PQ LM - a sq qɺ OP 2 P M a ɺ ɺ [ c ] = Ma q + cq qɺ P ; 2 PQ MN 0 LM-a qɺ - a ( sq qɺɺ + cq qɺ )OP 2 P M a ɺɺ [ ɺɺc ] = M a q + (cq qɺɺ - sq qɺ ) P 2 MN PQ 0 2 2 2 2 1 2 1 (8.107a) 2 2 2 2 2 2 1 1 y 2 2 12 1 1 2 2 1 1 2 2 12 2 2 12 12 2 2 2 12 2 12 (8.107b) · · · donde q 12 ⬅ q 1 + q 2 q̈ 12 ⬅ q̈ 1 + q̈ 2. La aceleración por gravedad expresada en el segundo sistema del eslabón es [g]2 = Q1T [g]1 = [ –g1sq1 –g1cq1 0]T b) Cálculo regresivo Para el cálculo regresivo se obtienen primero que nada las fuerzas ejercidas sobre el eslabón 2 y luego las del eslabón 1, suponiendo que no existan fuerzas aplicadas externamente, es decir, [f32]2 = [n32]2 = 0 Luego, sustituyendo [f23]3 = [n23]3 = 0 junto con las velocidades y aceleraciones del eslabón 2 obtenidas a partir de los cálculos progresivos, en las ecuaciones (8.91a-b) y (8.92c-d) para i = 2, se encuentra 194 CAPÍTULO 8 Dinámica LM- a qɺ - a (sq qɺɺ + cq qɺ )OP 2 L0O M P a M P a ɺɺ ɺɺ ɺ =m M a q + 0 (cq q - sq q ) P ; [n ] = m 12 Mɺɺ P 2 P MN M 0 Q Nq PQ LM-a qɺ - a ( sq qɺɺ + cq qɺ ) + gsq OP LM f OP 2 M P a = m M a qɺɺ + (cq qɺɺ - sq qɺ ) + gcq P ∫ M f P 2 MN PQ MN 0 PQ 0 OP L 0 O LM 0 PP ∫ MM 0 PP = M 0 MM a a a M P N- 2 sq f + 2 cq f + m 12 qɺɺ PQ Nn Q 1 [f2]2 2 1 2 12 2 2 12 2 1 2 1 2 12 2 2 2 12 2 2 2 2 (8.108) 2 12 1 [f12]2 [n12]2 1 2 2 2 1 2 2 2 1 2 x 2 12 2 12 2 12 1 2 12 2 y 2 12 2 12 1 2 2 2 x 12 y 12 (8.109a) (8.109b) z 12 12 Si se sustituyen las fuerzas antes mencionadas y los momentos obtenidos para el eslabón 2 junto con las velocidades y aceleraciones del eslabón 1 en las ecuaciones (8.91a-b) y (8.92c-d) para i = 1, se obtiene lo siguiente: F GG GH LM MM N y 1 12 x 1 12 [f01]1 [n01]1 OPI PPJJJ ; [n ] QK LM MM N OP PP Q LM cq f - sq f - m a (sq qɺɺ + cq qɺ ) OP 2 M P a = Msq f + cq f + m (cq qɺɺ - sq qɺ ) + m g P 2 MN PQ 0 0 OP L = MM 0 MM m a qɺɺ + n + a f + m g a cq PPP 2 Q N 3 OP PP Q LM MM N - sq 1 cq 1 a1 ɺɺ 2 ɺ q 1 cq 1 - q 1 sq 1 [f1]1 = m1 2 0 0 x 1 12 2 1 1 1 1 y 1 12 1 z 12 y 1 12 1 1 1 0 a12 0 1 = m1 12 ɺɺ q1 2 1 1 1 1 1 1 2 1 1 1 1 (8.110) (8.111a) 1 (8.111b) 1 c) Cálculo del par de torsión de las articulaciones Finalmente, aplicando la ecuación (8.93) para computar el par de torsión requerido, se obtienen dos ecuaciones dinámicas como F H m1a12 ɺɺ m a2 a q 1 + 1 m2a1a2 sq2 qɺ 12 + 2 2 qɺɺ12 + m2 g 2 cq 12 + a1 cq 1 2 2 3 3 a a1 a1a 2 2 + m1 g cq1 + m2 cq 2 qɺɺ1 + m2 a1 a1qɺɺ 1 + 2 (cq 2 qɺɺ12 - sq 2 qɺ 12 ) 2 2 2 t1 = LM N t2 = m aa m a m2 a22 ɺɺ q 12 + 2 1 2 [cq2 qɺɺ1 + sq2 qɺ 12 ] + 2 2 gcq12 2 2 3 I K OP Q (8.112a) (8.112b) 8.5 Algoritmos dinámicos 195 Como era de esperarse, la ecuación dinámica para la segunda articulación es más sencilla que la obtenida para la primera. En este ejemplo se demuestran claramente los diferentes efectos dinámicos, incluido el efecto de Coriolis y el acoplamiento de velocidad centrífuga, así como los efectos gravitacionales. A partir de las ecuaciones (8.112a-b), puede verse que el modelo dinámico es bastante complejo, incluso para un manipulador simple de DOF = 2. Cuando se utiliza el método recursivo de NewtonEuler, también se encuentran todas las fuerzas de reacción de las articulaciones. Las ecuaciones (8.112a-b) pueden veriicarse con las que se obtuvieron usando el método de Lagrange en el ejemplo 8.7. 8.5 Algoritmos dinámicos En la dinámica de robots se resuelven por lo general dos tipos de problemas. Uno se llama dinámica inversa, donde se dan los parámetros geométricos inerciales del robot, así como los movimientos de las articulaciones, es decir, sus posiciones, velocidades y aceleraciones, y se calculan los correspondientes pares de torsión y las fuerzas de articulaciones. El segundo se llama dinámica progresiva o directa, donde se obtienen las aceleraciones de las articulaciones, dados los parámetros geométricos e inerciales. Mientras que la dinámica inversa se usa para el control de robots, la dinámica directa es esencial para la simulación. Al tomar en cuenta las ecuaciones de movimiento, ecuación (8.44a), se observa que la dinámica inversa requiere la evaluación de su lado izquierdo, mientras que la dinámica directa resuelve las aceleraciones de las articulaciones. 8.5.1 Dinámica inversa Para el control de un manipulador robótico, particularmente de aquellos basados en la dinámica de robots, los pares de torsión y fuerzas de los actuadores se calculan mediante la dinámica inversa. Para tal in, puede usarse la ecuación (8.44a), donde las matrices y vectores asociados se evalúan en la subsección 8.2.4, o el algoritmo recursivo de Newton-Euler (RNE) que se presenta en la sección 8.4. Para sistemas robóticos complejos, por ejemplo, manipuladores industriales de DOF = 6, se preiere por lo general el RNE, como se ilustra en el ejemplo 8.9. Ejemplo Ejemplo8.10 8.10 Dinámica inversa para el brazo de un eslabón usando MATLAB Para el manipulador de un eslabón que se presenta en la igura 8.7, considere a = 1, m = 1 y que se varíe el ángulo de articulación q como q = q(0) + LM N FH IK OP Q q (T ) - q ( 0) T 2p tt sen T T 2p (8.113a) donde ␪i(0) = 0; ␪i(T) = ␲ y T = 10 seg. Usando la ecuación (8.113a), las expresiones del índice de articulación y de las aceleraciones se determinan por 196 CAPÍTULO 8 Dinámica LM F I OP , N H KQ q (T ) - q ( 0) L 2p qɺɺ = MN T sen FH2Tp tIK OPQ T q (T ) - q ( 0 ) 2p t 1 - cos qɺ = T T y (8.113b) Observe que la trayectoria de la ecuación (8.113a) se eligió de tal manera que las velocidades y aceleraciones de articulación al principio y al inal son ceros, es decir, · · q (0) = q (T ) = 0 y q̈ (0) = q̈ (T ) = 0. Mediante el programa de MATLAB que se presenta a continuación, las gráicas de articulación y el correspondiente par de torsión se evalúan según la ecuación (8.53) y se dan en las iguras 8.11 y 8.12. En la igura 8.11, · “th”, “thd” y “thdd” representan las variables q, q y q̈, respectivamente. % Inverse Dynamics for One-Link Arm % Input for trajectory and link parameters T = 10; thT = pi; th0 = 0; m = 1; a = 1; g = 9.81; con = 2*pi/T; delth = thT - th0; iner = m*a*a/3; grav = m*g*a/2; for i = 1:51, ti (i) = (i-1)*T/50; ang = con*ti(i); % Joint trajectory th (i) = th0 + (delth/T)*(ti (i) - sin(ang)/con); thd (i) = delth*(1 - cos(ang))/T; thdd (i) = delth*con*sin(ang)/T; % Joint torque tau (i)= iner*thdd (i) + grav*sin(th(i)); end plot (ti,th,’-’,ti,thd,’:’,ti,thdd,’-.’) figure plot (ti, tau) 3.5 th (rad) thd (rad/seg) thdd (rad/sec2) Movimiento de la articulación (Nm) 3 2.5 2 1.5 1 0.5 0 –0.5 0 1 2 Figura 8.11 3 4 5 6 Tiempo (seg) 7 8 9 Trayectoria de la articulación 10 8.5 Algoritmos dinámicos 197 5 Par de torsión de la articulación 4 3 2 1 0 –1 0 1 2 Figura 8.12 Ejemplo 8.11 3 4 5 6 Tiempo (seg) 7 8 9 10 Par de torsión del brazo de un eslabón Dinámica inversa para un manipulador de dos eslabones usando MATLAB Para el manipulador de dos eslabones que se presenta en la igura 8.5, considere a1 = a2 = 1 y suponga que las variaciones del ángulo de la articulación para ambas q1 y q2 son las mismas que en la ecuación (8.113), excepto porque sus posiciones inales son distintas, es decir, q1(T) = p y q2 = p/2. Usando el programa de MATLAB que se presenta a continuación, el ángulo de la articulación y las gráicas de torsión se muestran en las iguras 8.13 y 8.14, respectivamente. % Inverse Dynamics for Two-Link Manipulator % Input for trajectory and link parameters T = 10; th1T = pi; th10 = 0; th2T = pi/2; th20 = 0; m1 = 1; a1 = 1; m2 = 1; a1 = 1; a2 = 1; g = 9.81; con = 2*pi/T; delth1 = th1T - th10; delth2 = th2T - th20; iner21 = m2*a1*a2; for i = 1:51, ti (i) = (i-1)*T/50; ang = con*ti(i); % Joint trajectory th1 (i) = th10 + (delth1/T)*(ti (i) - sin(ang)/con); th1d (i) = delth1*(1 - cos(ang))/T; th1dd (i) = delth1*con*sin(ang)/T; th2 (i) = th20 + (delth2/T)*(ti (i) - sin(ang)/con); th2d (i) = delth2*(1 - cos(ang))/T; th2dd (i) = delth2*con*sin(ang)/T; thdd = [th1dd(i);th2dd(i)]; %Inertia matrix sth2 = sin(th2(i)); cth2 = cos(th2(i)); i22 = m2*a2*a2/3;i21 = i22 + iner21*cth2/2;i12 = i21; i11 = i22 + m1*a1*a1/3 + m2*a1*a1 + iner21*cth2; 198 CAPÍTULO 8 Dinámica im = [i11, i12; i21, i22] %h-vector h1 = - (m2*a1*a2*th1d(i) + iner21/2*th2d(i))*th2d(i)*sth2; h2 = iner21/2*sth2*th1d(i)*th1d(i); hv=[h1;h2] %gamma-vector cth1 = cos(th1(i)); cth12 = cos(th1(i) + th2(i)); gam1 = m1*g*a1/2*cth1 + m2*g*(a1*cth1 + a2/2*cth12); gam2 = m1*g*a2/2*cth12; gv = [gam1;gam2] % Joint torque tau=im*thdd + hv + gv; tor1(i) = tau(1); tor2(i)=tau(2); end plot(ti,th1,’-’,ti,th2,’:’) figure plot (ti, tor1,’-’,ti,tor2,’:’) 8.5.2 Dinámica directa y simulación La simulación de un robot es útil para entender su comportamiento, aun cuando no exista en realidad. Esto involucra lo que se conoce como dinámica progresiva o directa, en contraste con la dinámica inversa que se explica en la subsección 8.5.1, seguido por la solución de las ecuaciones de movimiento. La dinámica directa se deine como la que, dados los parámetros cinemáticos e inerciales y los pares de torsión y fuerzas de las articulaciones en función del tiempo, se puede entonces encontrar la trayectoria del manipulador robótico. En otras pala3.5 th1 th2 Ángulo de la articulación (rad) 3 2.5 2 1.5 1 0.5 0 0 Figura 8.13 1 2 3 4 5 6 Tiempo (seg) 7 8 9 10 Ángulos de articulación del manipulador de dos eslabones 8.5 Algoritmos dinámicos 199 Par de torsión de la articulación (Nm) 25 tau1 tau2 20 15 10 5 0 –5 –10 –15 –20 0 Figura 8.14 1 2 3 4 5 6 Tiempo (seg) 7 8 9 10 Pares de torsión de articulación del manipulador de dos eslabones bras, se sabe que el vector s, como en la ecuación (8.44a), encontrará al vector p. El problema de la dinámica directa requiere la solución de las aceleraciones de articulación p̈ según las ecuaciones de movimiento, la cual es algebraica de naturaleza, es decir, ɺɺ = I –1 (tt – h – g ) q (8.114) Puesto que la matriz de inercia I es un positivo-deinitivo simétrico, siempre es invertible. Además, la ecuación (8.114) representa un conjunto de ecuaciones diferenciales que son altamente no lineales y no pueden ser resueltas (integradas) analíticamente, excepto en los casos más simples. Por ende, obtener p para s dado y las condiciones iniciales requiere la integración numérica. El software MATLAB tiene una rutina integrada como ODE45 para ejecutar la integración numérica de las ecuaciones diferenciales que están arregladas en forma de espacio- estado. Por ejemplo, el espacio-estado de la ecuación (8.44a) se obtiene mediante la deinición del siguiente vector 2n-dimensional del estado y(t) como y(t) ∫ [ y T1 (t), y T2 (t)]T donde y1 (t) = q ; y2 (t) = qɺ (8.115a) La forma espacio-estado para las ecuaciones de movimiento en la ecuación (8.44a) se expresa entonces como yɺ (t) ∫ LM yɺ (t) OP = LM Nyɺ (t)Q NI y 2 (t ) 1 2 -1 (t - h - g ) OP Q (8.115b) 200 CAPÍTULO 8 Dinámica Ejemplo 8.12 Simulación de un brazo de un eslabón Para el brazo de un eslabón se expresa la aceleración de la articulación q̈ según la ecuación (8.53) o la (8.54b) como FH IK FH IK 3 t - 1 mgasq 2 ma 2 Por lo tanto, la forma espacio-estado se determina por yɺ1 = y2 qɺɺ = (8.116) 3 t - 1 mgasq (8.117) 2 ma 2 · donde el vector espacio-estado bidimensional se determina por y ≡ [y1 y2]T = [q q ]T. Entonces mediante ODE45 de MATLAB se realiza la integración numérica para la entrada del par de torsión no articulado es decir, t = 0, y los valores iniciales del vector de estado, es decir, y(0·) ≡ [t/2 0]T, junto con el valor de g = 9.81. El programa MATLAB para generar los resultados de simulación se muestra a continuación, mientras que los resultados se presentan en la igura 8.15. A partir de la igura 8.15, queda claro que el brazo se comporta como un péndulo sólido, lo que realmente es el caso cuando no se aplica ningún par de torsión en la articulación y el eslabón se mueve únicamente por gravedad. yɺ 2 = % Program for state-space form % (Save in a file named ‘ch8fdyn1 m’) %For one-link arm function ydot =ch8fdyn1(t,y); m = 1; a = 1; g = 9.81; tau=0; iner = m*a*a/3; grav = m*g*a/2; ydot=[y(2);(tau-grav*sin(y(1)))/iner]; % Commands to integrate numerically % (From MATLAB Window) %For one link arm tspan=[0 10]; y0=[pi/2; 0]; [t,y]=ode45(‘ch8fdyn1’,tspan,y0); Figura 8.15 Simulación de un brazo de un eslabón, únicamente bajo gravedad Ángulo y velocidad de la articulación 6 th (rad) thd (rad/sec) 4 2 0 –2 –4 –6 0 1 2 3 4 5 6 Tiempo (seg) 7 8 9 10 8.5 Ejemplo 8.13 Algoritmos dinámicos 201 Simulación de un manipulador de dos eslabones Para un manipulador de dos eslabones, el vector de aceleración bidimensional de articulación p̈ puede resolverse algebraicamente en la forma de la ecuación (8.114), donde la matriz de inercia y el vector asociados se dan en las ecuaciones (8.56)-(8.58). La forma espacio-estado se obtiene entonces como yɺ 1 = y2 yɺ 2 = I –1 (tt – h – g ) (8.118) donde el vector espacio-estado de cuatro dimensiones se determina por y ≡ [y1 y2]T, en la que los vectores bidimensionales y1 y y2 son y1 ≡ [q1 q2]T y y2 ≡ [q̇1 q̇2]T. Parecido al brazo de un eslabón, las entradas para el manipulador de dos eslabones también se toman como ceros, es decir, τ1 = τ2 = 0, y los valores iniciales del vector de estado es y(0) = [0 0 0 0]T, junto con el valor de g como g = 9.81. La integración numérica se realiza mediante ODE45 de MATLAB, lo que se muestra a continuación. Los resultados de simulación se presentan en la igura 8.20. % Program for state-space form % (Save in a file named ‘ch8fdyn2 m’) %Simulation of two-link manipulator function ydot =ch8fdyn2(t,y); m1 = 1; m2 = 1; a1 = 2; a2 = 1; g = 9.81; iner21 = m2*a1*a2; tau1 = 0; tau2 = 0; th1=y(1); th2 =y(2); th1d=y(3); th2d=y(4); %Inertia matrix sth2 = sin(th2); cth2 = cos(th2); i22 = m2*a2*a2/3; i21 = i22 + iner21*cth2/2; i12 = i21; i11 = i22 + m1*a1*a1/3 + m2*a1*a1 + iner21*cth2; im = [i11, i12; i21, i22]; %h-vector h1 = - (m2*a1*a2*th1d + iner21/2*th2d)*th2d*sth2; h2 = iner21/2*sth2*th1d*th1d; hv=[h1;h2]; %gamma-vector cth1 = cos(th1); cth12 = cos(th1 + th2); gam1 = m1*g*a1/2*cth1 + m2*g*(a1*cth1 + a2/2*cth12); gam2 = m1*g*a2/2*cth12; gv = [gam1;gam2]; % RHS tau=[tau1;tau2]; phi=tau-hv-gv; thdd=im\phi; ydot=[y(3);y(4);thdd(1);thdd(2)]; % Commands to integrate numerically % (From MATLAB Window) %For two-link manipulator tspan=[0 10]; y0=[0;0;0;0]; [t,y]=ode45(‘ch8fdyn2’,tspan,y0); Ángulo (rad) y velocidad (rad/seg) de articulación CAPÍTULO 8 Dinámica 10 th 1 th 1d 8 6 4 2 0 –2 –4 –6 –8 0 1 2 3 4 5 6 Tiempo (seg) 7 8 9 10 a) Articulación 1 Ángulo (rad) y velocidad (rad/seg) de articulación 202 20 th 2 th 2d 15 10 5 0 –5 –10 –15 –20 –25 0 1 2 3 4 5 6 Tiempo (seg) 7 8 9 b) Articulación 2 Figura 8.16 Resultados de simulación para el manipulador de dos eslabones, únicamente bajo gravedad 10 Ejercicios basados en la web 203 RESUMEN En este capítulo se presenta la dinámica de cuerpo rígido de un sistema robótico, usando tanto la formulación de Euler-Lagrange como la de Newton-Euler. Se da un ejemplo del brazo de un eslabón y un grado de libertad (DOF), y otro del manipulador de dos eslabones y DOF = 2, para ilustrar ambas formulaciones. También se presentan los resultados de dinámica inversa y directa que se usan en el control y la simulación de un robot. EJERCICIOS 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 ¿De qué manera los teoremas de ejes paralelos y perpendiculares son útiles para la determinación del momento de inercia de masa de formas complejas? Derive las ecuaciones de Euler-Lagrange (EL) de movimiento para el manipulador de articulaciones revoluto-prismáticas (RP) que se muestra en la igura 5.25. Repita el ejercicio 8.2, usando el algoritmo recursivo de Newton-Euler (NE). Repita los ejercicios 8.2 y 8.3 para el manipulador prismático-revoluto (PR) que se presenta en la igura 5.26. ¿Cuáles son las aparentes ventajas y desventajas de las formulaciones de EulerLagrange y Newton-Euler? Utilizando el algoritmo recursivo NE, busque los pares de torsión de las articulaciones del manipulador planar de tres eslabones que se muestra en la igura 5.24. Para el brazo de un eslabón que se presenta en la igura 8.7, suponga que el eslabón no tiene masa y que el efector inal tiene una masa m. Derive su ecuación de movimiento. ¿Cómo se compara con la que se da en la ecuación (8.53)? Deina la dinámica inversa y directa de un manipulador robótico. ¿Qué es una forma espacio-estado? ¿Cuál es su origen? EJERCICIOS BASADOS EN LA WEB Basándose en búsquedas en la web, busque las respuestas a las siguientes preguntas: 8.10 Mencione tres ejemplos de software comerciales que sean capaces de ejecutar la dinámica de un manipulador robótico. 8.11 ¿Qué otras formulaciones dinámicas posibles hay para la dinámica de robots? 8.12 ¿Hay software disponibles para una arquitectura especíica de un robot? 204 CAPÍTULO 8 Dinámica EJERCICIOS BASADOS EN MATLAB 8.13 Escriba un programa para generar el par de torsión y la fuerza del manipulador RP, basándose en la ecuación de movimiento derivada en el ejercicio 8.2, mientras que se deinen las trayectorias mediante la ecuación (8.113a). Tome q(0) = 0, q(T) = p/2, b(0) = 0; b(0) = 0, b(T) = 0.1 m … q y b son las variables de articulación para la articulación revoluta y prismática, respectivamente. Considere T = 10 seg. 8.14 Repita el ejercicio 8.13 para el robot PR que se menciona en el ejercicio 8.4. 8.15 Busque los pares de torsión de las articulaciones para el manipulador del ejercicio 8.6. 8.16 Busque los resultados de simulación para el manipulador de tres eslabones mientras que no se le aplique ningún par de torsión y nada más la gravedad esté actuando en él; las condiciones iniciales para las coordenadas generalizadas son: q1(0) = q2(0) = q3(0) = 0 rad; qɺ 1(0) = qɺ 2 (0) = qɺ 3 (0) = 0 rad/seg Tome los parámetros geométricos e inerciales como: a1 = a2 = 1 m; a3 = 0.5 m; m1 = m2 = 1 kg; m3 = 0.5 kg Estática 205 Capítulo 9 Dinámica recursiva de robots* Este capítulo introduce una de las metodologías basadas en los complementos ortogonales para la gene¿Por qué recursivo? ración automática de algoritmos dinámicos, a saber, las dinámicas inversa y directa. Como se mencionó en Se sabe que los algoritmos recursivos proporcionan algoritmos de compuel capítulo 8, la dinámica inversa es esencial para el tación eficientes y numéricamente control de manipuladores robóticos, mientras que la estables. dinámica directa es necesaria para la simulación por computadora y el control de retroalimentación en tiempo real. Además, para resolver los problemas de dinámica inversa o directa de un sistema robótico complejo, se necesita un conjunto de ecuaciones dinámicas de movimiento del robot en estudio, las cuales se deinen en el capítulo 8 usando las formulaciones de Euler-Lagrange (EL) y Newton-Euler (NE). Las ecuaciones de movimiento resultantes pueden ser ecuaciones diferenciales ordinarias (ODE) o ecuaciones algebraicas diferenciales (DAE) (Shabana, 1994). El mismo conjunto puede obtenerse mediante planteamientos alternativos, por ejemplo, complementos ortogonales de las restricciones de velocidad (Huston y Passerello, 1974), las ecuaciones de Kane (Kane y Levinson, 1983) y otros. De entre ellos, muchos investigadores adoptaron el planteamiento de complementos ortogonales para la generación automática de las ecuaciones de movimiento para sistemas mecánicos complejos, tales como los robots que se estudian en este libro. Uno de estos complementos es el complemento ortogonal natural (NOC) que originalmente propusieron Ángeles y Lee (1988) para robots seriales, pero que generalizaron * Este capítulo requiere la comprensión exhaustiva de los capítulos 7 y 8. Por lo tanto, sólo debe impartirse a estudiantes de posgrado, es decir, alumnos del nivel M. Tech./M.S./Ph.D. 206 CAPÍTULO 9 Dinámica recursiva de robots Saha y Ángeles (1991) para tomar en cuenta también las restricciones no holonómicas de robots móviles sobre ruedas. Posteriormente, Saha (1997, 1999, 2003) desacopló el NOC, lo que se denominó NOC Desacoplado (DeNOC) y mostró tener las siguientes ventajas: • • • Permite obtener algoritmos de dinámica inversa y directa del orden recursivo (n), siendo n el número de eslabones del robot. El algoritmo de la dinámica directa recursiva no fue posible obtenerlo con la forma original del NOC. Cada elemento escalar de las matrices y vectores que se asocian con las ecuaciones de movimiento del manipulador robótico puede escribirse en forma analítica, lo que permite proporcionar la interpretación física, por ejemplo, la inercia del cuerpo articulado, etc., y le ayuda al programador en la depuración de los algoritmos de computación. Puesto que la metodología se construye sobre la mecánica básica y las teorías del álgebra lineal, este concepto pueden entenderlo incluso estudiantes de licenciatura. El modelado que se basa en DeNOC se aplicó exitosamente a: 1) manipuladores seriales con base ija, como se usa en robots industriales (Saha, 1997; 1999; 2003); 2) robots seriales con base libre, una coniguración para robots de espacio de lotación libre (Saha, 1996); 3) robots de tipo Plataforma Stewart paralelos de lazo cerrado (Saha y Schiehlen, 2001; Khan et al., 2005) y máquinas herramientas hexápodas (Koteswara Rao et al., 2006); 4) sistemas mecánicos generales de lazos cerrados múltiples (Chaudhary y Saha, 2006) y 5) sistemas seriales de eslabones lexibles (Mohan y Saha, 2007a). Como se enfatiza en los ensayos que se mencionan arriba y se demuestra en Mohan y Saha, (2007b), la formulación que se basa en DeNOC proporciona algoritmos eicientes y numéricamente estables. 9.1 Modelado dinámico En esta sección se derivan ecuaciones dinámicas de movimiento de un robot serial de n eslabones y n grados de libertad, como se muestra en la igura 9.1a), usando las matrices del Complemento Ortogonal Natural Desacoplado (DeNOC). Primero que nada, se escriben en forma compacta las ecuaciones de movimiento desacopladas de Newton-Euler (NE) para los n eslabones, que se introdujeron en la sección 8.3. Luego se Modelado expresan en forma matemática las restricciones entre los eslabones de las articulaciones, por ejemplo, reEn el contexto de este libro, modelado significa una manera de entender voluta o rotacional, prismática, etc., lo que trae a coel comportamiento de un robot, inlación a la matriz DeNOC. El DeNOC relaciona las cluso sin tenerlo a la mano. velocidades cartesianas de todos los eslabones con la rapidez o velocidad de las articulaciones. Finalmente, la premultiplicación de la matriz DeNOC por las ecuaciones NE desacopladas proporciona un conjunto de ecuaciones independientes de movimiento, que no son otra cosa que las ecuaciones de movimiento de Euler-Lagrange (EL) que se presentaron en la sección 8.2. Por ende, las ecuaciones EL se derivan por medio de matrices DeNOC sin tener que recurrir a las derivadas parciales complejas que proporcionó la ecuación (8.24). 9.1 Oi O3 Z i+1 3 n O2 #1 O1 207 Oi+1 #i i Modelado dinámico #2 On #n 2 Efector terminal Y 1 Sistema de referencia F Cuerpo compuesto i X a) Cadena serial vi (velocidad) Ci ni ci O ωi (velocidad angular) mi: masa Ii: tensor de inercia fi b) El i-ésimo cuerpo libre Figura 9.1 Un manipulador serial 9.1.1 Ecuaciones Newton-Euler sin acomplamiento Para el manipulador serial de lazo abierto de n eslabones y n grados de libertad (DOF) de la igura 9.1 a), si mi es la masa del i-ésimo eslabón e Ii denota el tensor de inercia de 3 × 3 del i-ésimo eslabón alrededor de su centro de masa Ci como se indica en la igura 9.1b), entonces las ecuaciones de movimiento de Newton-Euler para el i-ésimo eslabón pueden ser derivadas a partir de su diagrama de cuerpo libre, y pueden escribirse en orden inverso como Ecuación de Euler : Ii wɺ i + w i ¥ Iiw i = ni (9.1a) (9.1b) Ecuación de Newton : mi ɺɺc i = fi . donde vi y v i son los vectores tridimensionales de velocidad y aceleración angulares del i-ésimo eslabón, respectivamente, mientras que c̈i es el vector tridimensional del centro de masa alrededor de Ci. Además, ni y fi son los vectores tridimensionales del momento resultante alrededor de Ci y la fuerza resultante en Ci, respectivamente. Cabe señalar en este punto que no se hace referencia alguna al sistema de coordenadas para expresar los vectores y matrices, ya que pueden representarse en cualquier sistema deinido por el analista. Normalmente se expresan en el sistema adjunto al i-ésimo eslabón, es decir, el sistema (i + 1). Sin embargo, se evitarán durante las derivaciones de las ecuaciones de movimiento de las secciones y subsecciones siguientes. Cuando se combinan las ecuaciones (9.1 a-b), las seis ecuaciones de movimiento de NE escalares y sin acoplamiento se escriben en forma compacta como Mi ɺt i + Wi Mi Ei ti = wi (9.2a) 208 CAPÍTULO 9 Dinámica recursiva de robots donde la matriz de masa Mi de 6 × 6 y la matriz de velocidad angular Wi de 6 × 6 para el i-ésimo eslabón se determinan por Mi ∫ LMI NO OP Q LM N OP Q O wi ¥ 1 O ; y Wi ∫ mi 1 O O i (9.2b) en la que ωi × 1 es el tensor de producto vectorial de 3 × 3 que se asocia con el vector de velocidad angular ωi, que se deine como (ωi × 1)x ≡ ωi × x para cualquier vector cartesiano x. Además, 1 y 0 son las matrices de identidad y cero de 3 × 3, respectivamente. Es más, los vectores de 6 dimensiones, torsión ti y llave de torsión wi son como sigue: ti ∫ LMw OP y w ∫ LMn OP N cɺ Q Nf Q i i i i (9.2c) i donde, en contraste con la deinición de torsión que se señaló en la sección 6.6, se toma en consideración la velocidad lineal del centro de masa del i-ésimo eslabón Ci. En la ecuación · (9.2a), el vector ti es la derivada respecto al tiempo del vector de torsión ti, tal como se deine en la ecuación (9.2c). La ecuación (9.2a) se escribe ahora para todos los n eslabones, es decir, i = 1, … n, como (9.3a) M ɺt + WMt = w donde M y W son la matriz de masa generalizada 6n × 6n y la matriz generalizada de las velocidades angulares, respectivamente, las cuales se determinan por M ∫ diag. [M1, º, Mn], y W ∫ diag. [W1, º, Wn ] (9.3b) Asimismo, los vectores de 6n dimensiones de torsión y de llave de torsión generalizados se determinan por (9.3c) t ∫ [t1T, º, t nT]T; y w ∫ [w1T, º, wnT] T Las ecuaciones (9.3a-c) representan las ecuaciones de movimiento NE escalares y sin acoplamiento de 6n para los n eslabones en el manipulador robótico que aquí se estudia. 9.1.2 Restricciones cinemáticas Los eslabones del manipulador robótico de la igura 9.1a) se acoplan por pares o articulaciones cinemáticos que son rotacionales o prismáticos. A partir del movimiento de cuerpo rígido de los dos cuerpos, a saber, #i y #j, como se ve en la igura 9.2, pueden derivarse las velocidades angulares y lineales del i-ésimo eslabón, es decir, la torsión del i-ésimo cuerpo que se deine en la ecuación (9.2c) según las velocidades del j-ésimo eslabón, y el movimiento de articulación de la i-ésima articulación. Éstos se derivan de la siguiente manera: (9.4a) w = w + e qɺ i j i i cɺ i = cɺ j + w j ¥ rj + w i ¥ di (9.4b) Las seis ecuaciones de restricción de velocidad escalar también pueden escribirse en forma compacta como (9.4c) ti = Bij tj + piqɺ i donde qi es el desplazamiento de articulación, angular para una articulación rotacional y lineal para una articulación prismática. Además, la matriz Bij de 6 × 6 y el vector pi de 6 9.1 pi ej Cj cjk #i Ci cij cik ci cj Ck 209 ei di rj #j Modelado dinámico Sistema de referencia inercial #k O Figura 9.2 Tres cuerpos acoplados dimensiones son funciones de las posiciones de los centros de masas de los dos cuerpos sucesivos Ci y Cj de la igura 9.2 y el eje de la articulación que los une, a saber, ei. Lo anterior se deine como 1 O ei (9.4d) Bij ∫ y pi ∫ c ij ¥ 1 1 ei ¥ di OP Q LM N LM N OP Q donde cij × 1 es el tensor de producto vectorial que se asocia con el vector cij como se muestra en la igura 9.2, que es deinido de manera similar a vi × 1 de la ecuación (9.2b), es decir, (cij ¥ 1)x = cij ¥ x para cualquier vector cartesiano tridimensional arbitrario x. El vector cij se determina por cij = –di – rj. Es interesante observar en este punto que la matriz Bij y el vector pi tienen las siguientes interpretaciones: • Para dos cuerpos móviles rígidamente conectados #i y #j, Bij propaga la torsión de #j a #i. Por ende, la matriz Bij se denomina aquí matriz de propagación de torsión, la cual tiene las siguientes propiedades: BijBjk = Bik ; Bii = 1; y Bij–1 = Bji • (9.5a) El vector pi, por otro lado, toma en cuenta el movimiento de la i-ésima articulación. Por lo tanto, pi se denomina vector de propagación de velocidad de articulación, el cual depende del tipo de articulación. Por ejemplo, la expresión de pi en la ecuación (9.4d) es para una articulación rotacional como la que se presenta en la igura 9.2, mientras que para una articulación prismática, el vector pi se determina por pi ∫ LM 0 OP : Para juntas prismáticas Ne Q (9.5b) i donde ei es el vector unitario paralelo al eje del movimiento lineal. En forma correspondien· te, qi de la ecuación (9.4c) signiicará la rapidez de articulación lineal. No se tratarán otras articulaciones aquí porque cualquier otro tipo, por ejemplo, una esférica o una roscada, puede emplearse como combinación de tres pares rotacionales o de pares de rotacionales y prismáticos, respectivamente. Para i = 1, …, n, la ecuación (9.4c) se escribe en forma compacta para todas las n articulaciones como t = N qɺ , donde N ∫ Nl Nd (9.6a) 210 CAPÍTULO 9 Dinámica recursiva de robots donde t, que contiene las torsiones de todos los eslabones, es la torsión generalizada de 6n dimensiones que se deine en la ecuación (9.3c). En la ecuación (9.6a) se expresa como una · transformación lineal del vector n-dimensional de velocidad de articulación θ. La matriz Ni · de 6n × 6n, la matriz Nd de 6n × n y el vector n-dimensional θ, se deinen como sigue: LM 1 B N ∫M MM ⋮ NB 21 l n1 O 1 ⋮ Bn2 OP PP PQ LM MM MN ⋯ O p1 0 ⋯ O 0 p2 ; Nd ∫ ⋱ ⋮ ⋮ ⋮ ⋯ 1 0 0 OP PP PQ MML MM MN ⋯ 0 qɺ 1 ⋯ 0 qɺ ; y qɺ ∫ 2 ⋱ ⋮ ⋮ ɺq ⋯ pn n PPO PP PQ (9.6b) La matriz N de 6n × n de la ecuación (9.6a) no es más que la matriz de Complemento Ortogonal Natural (NOC) de las restricciones de velocidad (Ángeles y Lee, 1988), y sus formas desacopladas Nl y Nd se denominan matrices de NOC desacopladas (DeNOC) (Saha, 1997; 1999). Las expresiones de las matrices DeNOC permiten desarrollar los algoritmos dinámicos recursivos, inversos y directos que se necesitan en el control y la simulación de manipuladores robóticos. 9.1.3 Ecuaciones acopladas de movimiento Las ecuaciones NE desacopladas de movimiento obtenidas por la ecuación (9.3a) se reescriben como (9.7) M ɺt + WMt = w E + wC donde w de la ecuación (9.3a) se sustituye por w ⬅ wE + wC, donde wE y wC son las llaves de torsión externas y de restricción, respectivamente. La llave de torsión externa wE la aportan los momentos y fuerzas que resultan de los actuadores de articulaciones, efectos ambientales, etc., mientras que la llave de torsión de restricción wC se debe a la presencia de las articulaciones que contienen los momentos y fuerzas de reacción en las interfaces de articulaciones. Puesto que la llave de torsión de restricción wC no hace ningún trabajo útil para el movimiento de los eslabones del robot, la energía consumida que se debe a wC, es decir, PC ⬅ tTwC, desaparece. El único propósito de wC es mantener la coniguración relativa de los eslabones sin separarse. Si se usa la expresión para la torsión generalizada t de la ecuación (9.6a), la energía disipada debido a wC, PC se determina por P C ∫ tT wC ∫ qɺ T NT wC ∫ qɺ T NTd NTl wC = 0 (9.8a) Para el robot serial de n eslabones y n grados de libertad, el vector de velocidad de articu· lación n-dimensional θ es independiente. Por lo tanto, para cumplir con la ecuación (9.8a), debe ser válida la siguiente condición: NT wC ∫ NTd NTl wC = 0 (9.8b) Ahora, cuando se multiplica la transpuesta del NOC N a las ecuaciones de movimiento NE desacopladas, es decir, la ecuación (9.7), se obtiene el siguiente conjunto de ecuaciones dinámicas independientes: ɺɺ + h = t , donde h ∫ C qɺ Iq (9.9a) T donde se usa el resultado de la ecuación (9.8b) y la derivada de tiempo de la torsión genera· ·· lizada t según la ecuación (9.6a), denominada, t = Np̈ + Np. Observe que la ecuación (9.9a), 9.2 Expresiones analíticas 211 en comparación con las ecuaciones de movimiento deducidas en el capítulo 8, es decir, la ecuación (8.44a), no contiene el término g debido a la gravedad. De hecho, t de la ecuación (9.9a) contiene el efecto de g. De alguna manera, t de la ecuación (9.9a) = t de la ecuación (8.44a). Más aún, ~ I ∫ NTMN ∫ NTd M Nd la matriz de inercia generalizada (GIM) de n × n es simétrica y positiva-deinitiva; ~ ~ ~ ɺ + WMN) ∫ NT ( M C ∫ NT (M N l + M w + M e )Nd d la matriz n × n de términos de inercia convectiva; ~ : el vector n-dimensional de términos de inercia convectiva; h ∫ C qɺ = NT w¢ d ~ E: el vector n-dimensional de fuerzas generalizadas debido a los pares t ∫ N w ∫ NTd w de torsión/fuerzas, y los que resulten de la gravedad, el ambiente y la disipación. ~ ~ ~ ~ ~ y Asimismo, las matrices de 6n × 6n M, Mi, Mw, Me, y los vectores 6n-dimensionales w ~ E w se determinan por ~ ~ ~ ~ T ɺl,M M ∫ NlT MNl ; M l ∫ NlT M N w ∫ M W, M e ∫ N1 WMN 1 ~ ∫ N T (Mt¢ + WMt) ; t¢ ∫ ( N ~ E ∫ N T wE ɺ + N W)N qɺ ; y w w¢ (9.9b) T E l l l d l · donde se usa Nd = ΩNd – Ω ≡ diag. [Ω1,..., Ωn]; Ωi ≡ diag. [wi × 1, wi × 1], y las matrices N1, M, W y el vector wE están previamente deinidos. Observe en lo anterior que t no es más que el vector de rapidez de torsión, mientras que p̈ = 0. Cabe señalar en este punto que la ecuación (9.9a) también se deduce en el capítulo 8, es decir, en la ecuación (8.44a), usando las ecuaciones de movimiento de Euler-Lagrange. En ese último caso, se requieren complejas diferenciaciones parciales, mientras que el primero proviene de las ecuaciones de movimiento de Newton-Euler que pueden visualizarse más fácilmente en el espacio cartesiano tridimensional y mediante conceptos sencillos de álgebra lineal. 9.2 Expresiones analíticas Puede demostrarse que por medio del concepto de las matrices DeNOC, cada elemento de las GIM y MCI, así como del VIC y de las fuerzas generalizadas, puede expresarse en forma analítica, lo que permite extraer muchas interpretaciones físicas y sugiere maneras de simpliicar las expresiones y la complejidad computacional. A continuación se obtienen las expresiones analíticas. 9.2.1 Matriz de inercia generalizada (GIM) Las expresiones para la GIM I de n × n se obtienen según la ecuación (9.9a) como ~ I ∫ NTMN ∫ NdT M Nd (9.10a) ~ donde M ∫ NlT MNl es la matriz de masa compuesta simétrica de 6n × 6n, que se obtiene como 212 CAPÍTULO 9 Dinámica recursiva de robots LM M~ ~ M B M ~ ~ M ∫ MM B MM ⋮ MNM~ B sym 1 2 21 3 31 ~ M2 ~ M 3B 32 ~ M3 ⋮ ~ M n B n2 OP PP PP PQ (9.10b) ⋮ ⋱ ~ ~ M n B n3 º M n n n1 ~ ~ donde “sym” denota los elementos simétricos de la matriz M. La matriz Mi de 6 × 6, que se evalúa de i = n a i = 1 como ~ M i ∫ Mi + n  BTki M k Bki (9.10c) k = i +1 que requiere cálculos del orden n2, ya que hay una suma a través de k = i + 1, ..., n. Sin embargo, una mirada profunda a la ecuación, junto con las primeras dos propiedades de la misma (9.5a), revela que la expresión de suma puede evaluarse en forma recursiva para i = n, ..., 1 como ~ ~ ~ (9.10d) M i ∫ Mi + BTi+1,i Mi +1 Bi+1 ,i donde M n ∫ M n La ecuación (9.10d) tiene las siguientes interpretaciones físicas: 1) Es la matriz de masa de un cuerpo compuesto por los eslabones #n, ..., #i, que se conectan en forma rígida. Esto se denomina el cuerpo compuesto i, como se indica en ~ la igura 9.1a), cuyo nombre puede justiicarse a partir de las matrices de bloque Mi. En la ecuación (9.10d), si i = n, entonces LM N In ~ M n = Mn ∫ O y para i = n – 1, O mn 1 OP Q (9.11a) ~ ~ M n -1 = M n–1 + BTn,n–1 M n Bn,n–1 (9.11b) lo que puede reescribirse como ~ ~ I - d n -1 ¥ 1 ~ M n -1 ∫ ~ n -1 (9.11c) ~ 1 d n -1 ¥ 1 m n -1 ~ , el vector tridimensional c~ y la matriz I~ se determinan por donde el escalar m n–1 n–1 n–1 LM MN OP PQ ~ ~ ~ (9.12a) m n -1 ∫ m n–1 + mn , donde mn = mn ~ ~ ~ (9.12b) d n -1 ∫ mn cn,n–1 + d n , donde d n = 0 ~ ~ ~ ~ (9.12c) In -1 ∫ I n–1 + In – d n -1 ¥ (cn,n–1 ¥ 1), donde In = I n ~ La matriz I n–1 es el tensor de inercia del cuerpo compuesto por los eslabones rígidamente conectados #(n – 1) y #n respecto al centro de masa del (i – 1)-ésimo eslabón, es decir, Ci-1, en el cual el tercer término no es más que el que se asocia con la transfe- 9.2 213 Expresiones analíticas rencia de la deinición de In de Cn a Cn–1, es decir, parecido al teorema de ejes paralelos que se proporciona en la subsección 8.1.3. Si se continúa con i = n – 2, ..., 1, el escalar ~ , el vector tridimensional c~ y la matriz ~I de 3 × 3 se calculan como sigue: m i i i ~ ~ =m + m (9.13a) m i +1 i i ~ ~ (9.13b) d i ∫ mi+1 ci+1,i + d i +1 ~ ~ ~ ~ (9.13c) Ii = Ii + Ii +1 – d i +1 ¥ (c i+1,i ¥ 1) – ci+1, i ¥ ( d i ¥ 1) ~ 2) El efecto de inercia del cuerpo compuesto (i + 1), I i+1 se toma en cuenta respecto a Ci y se suma con el tensor de inercia del eslabón ~ i respecto a Ci,Ii para dar la inercia del cuerpo compuesto i respecto a Ci, es decir, I i. Otros términos, a saber, los bloques 21 y 22 de la ecuación (9.11c), se incluyen de forma parecida para~ deinir la matriz de masa del cuerpo compuesto i, o la matriz de masa compuesto Mi. Entonces, usando ~ la expresión I ; NdT M Nd, la GIM simétrica I se escribe como LM p M~ p MMp M~~ B p I ∫ p M B p MM ⋮ MNp M~ B p T 1 T 2 T 3 T n 1 1 2 21 1 3 31 1 n n1 1 º T ~ p2 M 2 p2 ~ p 3T M 3 B32 p 2 ⋮ T ~ p n M n Bn2 p2 º º ~ p 3T M 3 p 3 ⋮ T ~ p n M n B n3p 3 º º º sym ⋮ ⋮ ⋱ ⋮ T ~ º p n M np n OP PP PP PQ (9.14a) donde “sym” denota los elementos simétricos y los elementos (i, j) de la GIM, que se denotan por iij, lo que se proporciona en forma analítica como ~ iij ∫ pTi M i Bij pj , para i = n, º, 1; j = i, º, 1 (9.14b) Observe que los elementos simétricos que aparecen encima de los elementos diagonales de la GIM en la ecuación (9.14a) pueden expresarse como ~ iji ∫ pTj B Tij M i pi, para i = n ,º, 1; j = i – 1 ,º, 1 (9.14c) En la ecuación (9.14a), iij = iji. Por ende, sólo se necesita calcular (9.14b) o (9.14c) en el algoritmo dinámico. En los ejemplos de este capítulo se calcularán los elementos del triángulo inferior de la GIM por medio de (9.14b). 9.2.2 Matriz de términos de inercia convectiva (MCI) Las expresiones analíticas de la matriz de términos de inercia convectiva (MCI) se determinan según la deinición de MCI que se señaló en seguida de la ecuación (9.9), es decir, ~ ~ ~ ɺ + WMN) ∫ NT ( M C ∫ NT (M N (9.15a) d l + M w + M e )Nd ~ ~ ~ donde las matrices Ml, Mw y Me de 6n × 6n se reproducen según la ecuación (9.9b) como ~ ~ ~ ~ T T ɺl;M M l ∫ NTl M N w ∫ MW ∫ N l MNl W ; y M e ∫ N l WMNl (9.15b) 214 CAPÍTULO 9 Dinámica recursiva de robots ~ La matriz Ml se obtiene entonces como ~ Ml LM 1 O ∫M MM ⋮ MNO B T21 º B Tn1 ⋮ 1 º T ⋮ ⋱ Bn , n -1 O º 1 OP LM PP MM O PP MMN O⋮ Q 1 O º M2 º ⋮ ⋱ º O OP LM ɺO PP MMB⋮ PMɺ M Q MNB O ⋮ O 21 ɺ º B n , n -1 n1 n º º ⋱ O O ⋱ OP PP P OPQ O ⋮ O (9.15c) · donde la matriz Bi+1,i de 6 × 6 se determina por OP Q LM O N- (rɺ + dɺ O (9.15d) i i + 1) ¥ 1 O · ~ · en la que ri = ωi × ri y di+1 = ωi+1 × di+1. La expresión de Mi se reescribe entonces como Bɺ i +1, i ∫ LMB H~ MM H~~ ∫ MM H⋮ MN H~ T 21 ~ Ml T ~ B 31 H 32 º T ~ B 32 H 32 º ~ ⋱ H 32 21 21 31 O ⋮ ⋮ ~ T ⋮ B n , n - 1H n, n - 1 ~ º H n, n -1 ⋮ ~ H n2 n1 OP ⋮P ⋮P P ⋮P O PQ ~ B Tn1H n , n - 1 (9.15e) ~ ~ · ~ ~ T ~ En la ecuación (9.15e), Hij = Mi Bij + B i+1,i Hi+1,i y para i = n, Hn+1,n = O. Luego, la matriz Mw de 6n × 6n, como se deine en la ecuación (9.15b), se forma como LM M~ ~ M B ∫M MM ⋮ MNM~ B 1 ~ Mw 2 n 21 n1 OP L PP MM PP MMN O⋮ Q OP P ⋮ P P W Q º sym W1 O º O W2 º ⋮ º º ~ M2 ⋮ ⋱ ⋮ ~ ~ M n Bn2 º M n ⋮ O ⋮ ⋱ º º n lo que proporciona LM M~ W ~ M B W ∫M MM ⋮ MNM~ B W ~ 1 1 ~ Mw 2 n 21 1 n1 1 T ~ B 21 M 2 W2 ~ M1W2 ~ º B Tn1M n Wn ~ º B Tn 2 M n Wn ⋮ ⋱ ⋮ ~ M n B n 2 W2 º ~ M n Wn OP PP PP Q (9.15f) Finalmente, la matriz Me se obtiene como ~ Me LM 1 O ∫M MM ⋮ MNO T ⋮ B 21 B Tn1 ⋮ ⋮ 1 T ⋮ ⋱ Bn , n -1 O º 1 OP LW M PP MM O PP MMN O⋮ Q 1 1 º O W2 M 2 ⋮ ⋮ ⋱ O º OP LM 1 PP MMB⋮ PM W M Q NB O ⋮ O n 21 n n1 O 1 ⋮ OP PP P 1Q º O º ⋮ ⋱ ⋮ Bn2 º 9.2 215 Expresiones analíticas lo que puede escribirse en forma compacta como LM ~ M~ ¢ M¢ B ∫M MM ⋮ MNM~ ¢ B 1 ~ Me 2 21 n n1 º ~ M¢2 ⋮ ~ M¢n B n 2 º sym º ⋮ ⋱ ⋮ ~ º M ¢n OP PP PP Q (9.15g) ~ ~ donde Mⴕi para i = n, ..., 1 se calcula en forma parecida a la matriz Mi de la ecuación (9.10d) como ~ ~ (9.15h) M¢i = M¢i + BTi+1,i M i¢ + 1 Bi+1,i en la que Mⴕi = WiMi para i = n, ..., 1. Los elementos escalares de la MCI, C es decir, cij para i, j = n, ..., 1 se obtienen entonces explícitamente según la ecuación (9.15) como ~ ~ ~ ci j ∫ p Ti [BTj +1,i H Tj +1,i + BTji ( M j W j + M ¢j )]p j ~ ~ ~ ci j ∫ pTi ( M j Bij Wj + Hij + M¢i ) pj si i £ j (9.15i) de otra manera. Al comparar las ecuaciones (9.14b) y (9.15i), se observa que los elementos de la GIM y de la MCI se expresan de manera uniforme, es decir, pTi (.)pj, donde (.) denota el argumento de la matriz. En la ecuación (9.15i), la expresión analítica explícita para cada elemento de · la MCI está disponible, cuyo uso no es recomendable para el cálculo del vector h(; Cp) en la ecuación (9.9a), pero es conveniente para las interpretaciones físicas y la depuración. El vector h se llama aquí vector de los términos de inercia convectiva (VCI). Mientras que la evaluación explícita de la MCI, C requiere cálculos del orden (n2) —donde n es el grado de libertad del robot—, el VCI h puede calcularse en forma recursiva y sólo requiere operaciones del orden n. El algoritmo del orden n para el VCI se proporciona a continuación. Ahora, por lo que respecta a la interpretación física de la MCI, observe que, para un robot planar con articulaciones exclusivamente rotacionales, todos los ejes son paralelos y no cambian de · sentido mientras el robot está~en movimiento. De allí su derivada de tiempo Nd = WNd = O. Como resultado, el término Mw desaparece para proporcionar expresiones más sencillas. 9.2.3 Vector de términos de inercia convectiva (VCI) El vector de términos de inercia convectiva (VCI) h se proporciona, según la ecuación (9.9a), como ~ , donde w¢ ~ = NT (Mt¢ + WMt) y t¢ = ( N ɺ + N W )N qɺ (9.16) h ∫ C qɺ = NTd w¢ l l d l Observe que t es el vector generalizado de velocidad de torsión, mientras que p̈ = 0, es decir, contiene los términos centrífugos y de aceleración de Coriolis. Si se introducen las siguientes notaciones M¢ = WM y w ¢ = Mt¢ + M¢t y se sustituye la expresión para Ni de la ecuación (9.6b) en la ecuación (9.16), se obtiene ~¢ T w w ¢1 º B Tn1 1 B 21 1 ~ ¢2 w ¢2 w ⋮ O 1 ~ (9.17a) = w¢ = ⋮ ⋮ ⋮ ⋱ B Tn, n -1 ~¢ w w ¢n O º O 1 n LM MM MM N OP L PP MM PP MM QN OP PP PQ LM MM MN OP PP PQ 216 CAPÍTULO 9 Dinámica recursiva de robots donde wi = Miti + Miti, para i = n, …, 1. El vector de 6n dimensiones w puede interpretarse como la llave de torsión generalizada debida a los términos de inercia convectiva. Además, ~  de la ecuación (9.17a) pueden obtenerse en forma recursiva los elementos del vector w i como ~ ~ = w¢ + BT ~ w¢ (9.17b) i i+1,i w¢i + 1 , donde w¢n = w¢n i Asimismo, si se usa la expresión para Nd, el VCI de la ecuación (9.16) h se determina por ~¢ p1T w 1 T ~ p2 w¢ 2 (9.18a) h ∫ ⋮ ~¢ pT w LM MM MM N n n OP PP PP Q en la que cada elemento hi se escribe como ~ , para i = n, º, 1 hi = pTi w¢ i (9.18b) Juntas, las expresiones de las ecuaciones (9.17b) y (9.18b) proporcionan un algoritmo de orden n para el VCI. 9.2.4 Fuerza generalizada Las expresiones para los elementos de las fuerzas generalizadas t que se proporcionan según la ecuación (9.9a) son las siguientes: ~ E , donde w ~ E = NT w E (9.19a) t =N w l d Cuando se sustituye la expresión para Nl de la ecuación (9.6b) y se observa que wE ≡ ~ E se escribe como [(w1E)T …(wnE)T]T, el vector de 6n dimensiones w ~E w LM 1 O ∫M MM ⋮ MNO BT21 º BTn,1 1 ⋮ ⋱ BTn, n -1 º O 1 OP LMw OP LMw~ PP MMw PP = MMw~ PP MMw⋮ PP MMw~⋮ QN Q N E 1 E 2 E 1 E 2 E n E n OP PP PP Q (9.19b) ~ E ≡ w E + BT w ~E y w ~ E ≡ w E. La fuerza generalizada t se encuentra entonces donde w i i i+1 i i+1,i n como ~E p1T w 1 ~E p T2 w 2 (9.20a) t ∫ ⋮ ~E pT w LM MM MM N n n PPO PP PQ Según la ecuación (9.19a), cada elemento del vector t n-dimensional, es decir, ti, se obtiene entonces a partir de ~ E , para i = n, º, 1 ti = p iT w i (9.20b) 9.2 Expresiones analíticas 217 Las ecuaciones (9.9a), (9.14b), (9.15i) o (9.18b) y (9.20b) juntas proporcionan las expresiones explícitas para las ecuaciones dinámicas de movimiento para un robot serial de n eslabones y n grados de libertad. Ejemplo 9.1 Brazo planar de un eslabón Para el brazo de un eslabón que se presenta en la igura 9.3, se utiliza la ecuación de movimiento mediante el concepto de las matrices DeNOC. Si se utilizan las ecuaciones (9.6a-b), las matrices DeNOC para el brazo de un eslabón se obtienen mediante t q N = Nl Nd = p, donde C X1 (9.21) Nl = 1, y Nd = p Y1 O a Y2 mg Observe en lo anterior que no se puso el subíndice 1 al vector p de 6 dimensiones de propagación de la velocidad de articulaciones, ya que sólo hay una articulación. El término de inercia, que es escalar para el brazo de un eslabón, se obtiene entonces según la ecuación (9.14b) como X2 Figura 9.3 Brazo de un eslabón ~ I(∫ i11) = pT M p = eT Ie + m(e ¥ d)T (e ¥ d) ; donde p ∫ LM e OP ; M~ ∫ M = LM I NO Ne ¥ d Q O m1 OP Q (9.22a) En la ecuación (9.22a), el subíndice 1 tampoco se usa en las notaciones de vector y matriz, ya que sólo existe un eslabón y una articulación. Entonces, los vectores tridimensionales e y d en el sistema ijo, es decir, el sistema 1, se obtienen como [e]1 ∫ [0 0 1]T; [d]1 ∫ LM 1 acq N2 1 asq 2 0 OP Q T (9.22b) Además, la matriz de inercia I de 3 × 3 para el brazo de un solo eslabón alrededor de su centro de masa C en la trama que ija el eslabón, es decir, el sistema 1, se escribe como 0 0 0 ma 2 0 1 0 (9.22c) [I]2 = 12 0 0 1 OP PP Q LM MM N Usando la ecuación (8.72) puede escribirse LM MM N c 2q ma 2 [I]1 = Q[I]2 Q = s q cq 12 0 T s q cq s 2q 0 OP P 1 PQ 0 0 (9.22d) 218 CAPÍTULO 9 Dinámica recursiva de robots donde Q es la matriz de rotación de 3 × 3 proporcionada por L MM N cq Q = sq 0 - sq cq 0 0 0 1 O PP Q (9.22e) La sustitución de las ecuaciones (9.22b-d) en la ecuación (9.22a) proporciona entonces 1 (9.22f) I = ma2 3 Luego se obtiene ~el VCI mediante la ecuación (9.15i), ~ donde para el caso de un eslabón B11 = 1, BT21 H 21 = O, ya que no se presenta, y M ≡ M = WM. Por lo tanto, W + WM)p = qɺ eT [(Ie ¥ e) + (e ¥ Ie)–md ¥ d] = 0 C(∫ c ) = pT (MW (9.23a) 11 donde la expresión de la matriz W de 6 × 6 que se usa arriba se determina por ɺ ɺ (9.23b) W = qe ¥ 1 ɺ O y W = qe ¥ 1 O O O O qe ¥ 1 LM N OP Q LM N OP Q Además, el vector p de 6 dimensiones y la matriz M de 6 × 6 se obtienen con la ecuación (9.22a). Es más, las propiedades de los productos vectoriales se utilizan para obtener el resultado de la ecuación (9.23a), es decir, d × d = 0 y eT (Ie × Ie) = 0 o eT (e × Ie) = 0. Este último resultado se debe al hecho de que el vector e es ortogonal al que se obtiene de su producto vectorial, a saber, e × Ie. Finalmente, se obtiene la fuerza generalizada según n 1 (9.23c) t1 = NTwE = e T (e ¥ d) T = t – mgasq 2 f LM OP NQ donde el momento externo debido al actuador, así como la fuerza externa debida a la gravedad representadas en el sistema 1, se dan como (9.23d) [n]1 ∫ [0 0 t]T, [f]1 ∫ [mg 0 0 ]T El subíndice 1 se agrega a la fuerza generalizada en el lado izquierdo de la ecuación (9.23c), es decir, t1. Esto sirve para distinguir la fuerza generalizada t1 del par de torsión del actuador t en la ecuación (9.23d). En este punto cabe señalar que para sistemas sencillos como el de este ejemplo, podrá ser más fácil obtener la ecuación dinámica de movimiento, ecuación (9.23c), a partir de la aplicación directa de las expresiones en términos de la matriz NOC que aparecen después de la ecuación (9.9a). Ejemplo 9.2 Manipulador planar de dos eslabones En la igura 9.4 se presenta un manipulador planar de dos eslabones con dos articulaciones rotacionales. Este manipulador tiene dos grados de libertad y sus coordenadas independientes son q1 y q2. En forma correspondiente, las velocidades de las articula· · · ciones son q1 y q2. El vector bidimensional de velocidad de articulaciones p se deine entonces como (9.24) qɺ ∫ [qɺ , qɺ ]T 1 2 9.2 Expresiones analíticas 219 Y1 (x, y) EE Y2 a2 C2 p2 X2 d2 e2 C1 d1 R a1 e1 X1 p1 R Figura 9.4 Manipulador planar de dos eslabones Las longitudes de los eslabones son a1 y a2, y las masas son m1 y m2. Los elementos de la matriz de inercia generalizada (GIM) se calculan entonces como sigue: para i, j = 2, el cálculo de i22 se muestra abajo, según la ecuación (9.14b), como ~ i22 ∫ p T2 M 2 B22 p2 (9.25a) donde p2 ∫ LM e OP ; B ∫ LM 1 OOP ; NO 1 Q Ne ¥ d Q LI O OP ~ M =M ∫ M N O m 1Q 2 22 2 y 2 (9.25b) 2 2 2 2 donde el vector [e2]2 ≡ [e2]1 ≡ [0. 0, 1]T es el vector unitario a lo largo del eje de la segunda articulación rotacional, como se indica en la igura 9.4. El vector d2 se muestra en la igura 9.4, mientras que I2 es el tensor de inercia alrededor de C2. Usando la ecuación (9.25b) y suponiendo que el centro de masa se encuentra en el centro de la longitud del eslabón, es decir, d2 = a2/2, el elemento (2, 2) de la GIM, es decir, i22, se obtiene entonces en forma explícita, similarmente a I (≡ i11) del ejemplo 9.1 como i22 = [e2]T2 [I2]2 [e2]2 + m2[e2 ¥ d2]2T [e2 ¥ d2]2 1 1 1 = m a2 + m a2 = m a2 12 2 2 4 2 2 3 2 2 Para i = 2, j = 1, el elemento i21 se proporciona entonces como ~ i21 = p T2 M 2 B21 p1, donde p1 ∫ e1T , (e1 ¥ d1) T (9.25c) T (9.26a) y la matriz B21 se determina por B21 = OO LM 1 ( ) 1 r + d ¥ 1 PQ N 1 2 9.26b) 220 CAPÍTULO 9 Dinámica recursiva de robots donde el vector r1 = a1 – d1. Por lo tanto, el elemento (2, 1) de la GIM, i21, se calcula, parecido a i22, como i21 = eT2 I2 e1 + m2 (e2 ¥ d2)T [e1 ¥ (a1 + d2)] = e T2 I2 e2 + m2 d T2 a1 + m2 d T2 d2 1 1 1 = m a 2 + m a a cq + m a 2 12 2 2 2 2 1 2 2 4 2 2 1 1 (9.26c) = m2 a 22 + m2 a1 a2 cq2 3 2 En la ecuación (9.26c) se aplica la regla del producto vectorial, a saber (a × b)T (c × d) = (aTc)(bTc) – (aTd)(bTc). Además, e1 = e2, e2Te2 = 1 porque e2 es un vector unitario, e2Td1 = 0 porque e2 es ortogonal a d1. Además, di = ai/2, ri + di = ai para i = 1, 2, ~ r1 + d1 = a1, y dT2a1 = 21 a2a1 cq1. Entonces, la matriz M1 se calcula como ~ - d1 ¥ 1 I1 ~ ~ (9.27a) M1 = M1 + BT21 M 2 B21 = ~1 d1 ¥ 1 m 1 ~ ~ ~ donde I , c y m se dan a continuación; LM N 1 1 OP Q 1 ~ ~ ~ ~ =m +m I1 = I1 + I2 – m2 c21 ¥ ( d1 ¥ 1); d1 = m2c21; y m (9.27b) 1 2 1 ~ ~ ~ en la que se usan I 2 ≡ I2, δ 2 = 0, y m2 = m2. Ahora, para i, j = 1, el elemento (1, 1) de la GIM, i11, se encuentra como ~ ~ d T d = 1 (m a 2 + m a 2 ) + m a 2 + m a a cq (9.28a) i11 = e T1 I1 e1 + m 2 2 2 1 2 1 2 2 1 1 1 3 1 1 Para i, j = 2, 1, los elementos de la MCI se obtienen, según la ecuación (9.15i), como ~ ~ ~ (9.29a) c22 = p 2T (B T32 H32 + B T22 (M 2 W2 + M¢2 )p2 = 0 ~ ~ ~ 1 (9.29b) c21 = p 2T [ H 21 + M 2 B 21 W1 + M¢2 B 21 ] p1 = m2 a1 a2 sq2 qɺ 1 2 ~ ~ ~ c12 = p 1T [ B T31 H 32 + B T21 (M 2 W2 + M¢2 )]p 2 1 m a a sq (qɺ + qɺ 2 ) 2 2 1 2 2 1 ~ ~ ~ = p 1T [ B T21 H 21 + B T11 (M 1 W1 + M¢2 )]p 1 (9.29c) =– c11 1 (9.29d) m a a sq qɺ 2 2 1 2 2 2 ~ ~ En las ecuaciones (9.29a-c), se utilizaron H32 ≡ O y M2 p2 = 0. Además, para robots ~ planares puede demostrarse que el término PTi BTji Mj Ωj Pj para i, j = 1, 2 desaparece. Finalmente, puede demostrarse que los elementos del vector h tienen las siguientes expresiones: ~ = 1 m a a sq qɺ 2 h2 = p T2 w¢ (9.30a) 2 2 2 1 2 2 1 ~ = – m a a sq 1 qɺ + qɺ qɺ h1 = p T1 w¢ (9.30b) 2 2 1 2 2 1 1 2 2 =– FH IK 9.3 La dinámica inversa recursiva usando RIDIM 221 que no son otra cosa que el resultado de la multiplicación de los elementos de la MCI, las ecuaciones (9.29a-d), con las del vector de velocidad de articulaciones θ·, ecuación (9.24). 9.3 La dinámica inversa recursiva usando RIDIM* La dinámica inversa tiene la siguiente deinición: “Si se proporcionan los parámetros geométricos e inerciales ¿Por qué “inversa”? de un robot, junto con sus movimientos de articulaciones, encuentre los pares de torsión y las fuerzas de las En comparación con la dinámica diarticulaciones”. En esta sección se hace hincapié en recta, los cálculos “reversivos” o “inque, para el propósito del análisis de la dinámica inver- versos” son generados por ecuaciosa, no es necesario evaluar en forma explícita las matri- nes dinámicas de movimiento. De allí viene este término. ces y los vectores que aparecen en la ecuación (9.9a), ya que el requerido lado derecho puede evaluarse mediante un algoritmo de orden recursivo (n) (Saha, 1999), donde n es el número de eslabones en el manipulador robótico. El algoritmo recursivo se utilizó en el pasado para desarrollar un programa de C++ de uso universal que recibió el nombre de RIDIM (Recursive Inverse Dynamics for Industrial Manipulators; dinámica inversa recursiva para manipuladores industriales) (Marothiya y Saha, 2003). 9.3.1 El algoritmo de dinámica inversa recursiva Aquí se presenta el algoritmo recursivo (Saha, 1999) que se implementa en RIDIM; este algoritmo tiene dos recursiones, a saber, hacia delante y hacia atrás, que se muestran a continuación: Recursión hacia delante a 1 = p1qɺ 1; b 1 = p1qɺɺ1 + W 1 p1qɺ 1 ɺ a a = p qɺ + a ; b = p qɺɺ + W p qɺ + B b + B 2 2 2 1 ⋮ a n = p nqɺ n + a n–1; 2 2 2 2 2 2 21 1 21 1 ⋮ ɺ b n = pnqɺɺ n + W n pn qɺ n + Bn,n–1 b n–1 + B n, n -1 a n–1 donde la matriz Ωi de 6 × 6 se deine como Wi ∫ LMw ¥ 1 N O i O wi ¥ 1 OP Q Recursión hacia atrás g n = Mn b n + Wn Mna n; g n–1 = M n–1b n–1 + Wn–1 M n–1a n–1 + BTn,n–1g n; ⋮ g 1 = M1b 1 + W1M1a 1 + BT21 g 2; (9.31) tn = pTng n tn–1 = pTn–1g n–1 ⋮ t1 = pT1g 1 * RIDIM (Recursive Inverse Dynamics for Industrial Manipulators; dinámica inversa recursiva para manipuladores industriales) es un programa de C++ de desarrollo propio con una interfaz de MS-Windows. 222 CAPÍTULO 9 Dinámica recursiva de robots donde `i, ai y fi son los vectores de seis dimensiones con las dimensiones de torsión, la rapidez de torsión y la llave de torsión. Observe que, a partir de las ya dichas expresiones del ~ E, mientras que w ~E = 0. Esto implica par de torsión/fuerza y de la ecuación (9.20b), fi ≡ w i n+1 que los pares de torsión y fuerzas se deben únicamente al movimiento del sistema sin ningún momento y fuerza externos sobre el efector inal. Además, si hay presencia de gravedad, se está tomando en cuenta por proveer una aceleración negativa que se denota por g al primer cuerpo #1 (Kane y Levinson, 1983), es decir, se agrega un término adicional a ai como b 1 = p1qɺɺ1 + W 1 p1qɺ 1 + r , donde r ∫ [0, –gT ] T (9.32) Ahora bien, para un manipulador serial de articulaciones puramente rotacionales, la complejidad computacional del algoritmo citado líneas arriba se presenta en la tabla 9.1, lo que se compara con algunos de los otros algoritmos dinámicos inversos que existen. A pesar de que el algoritmo de arriba no es el mejor, es muy sencillo, como es evidente en el algoritmo de dos pasos, donde se tratan seis vectores dimensionales en forma parecida a aquéllos de tres vectores dimensionales. Es decir, si se conoce `1, encontrar a `2 es muy similar a la evaluación de la velocidad lineal del cuerpo 2 a partir de la velocidad conocida del cuerpo 1. Tabla 9.1 Complejidades computacionales para la dinámica inversa Algoritmo Hollerbach (1980) Luh et al. (1980) Walker y Orin (1982) RIDIM (Saha, 1999) Khalil et al. (1986) Ángeles et al. (1989) Balafoutis et al. (1988) Multiplicaciones/ divisiones (M) Suma/ sustracción (A) 412n–277 150n–48 137n–22 120n–44 105n–92 105n–109 93n–69 320n–201 131n+48 101n–11 97n–55 94n–86 90n–105 81n–65 n=6 2195M 17119A 852M 834A 800M 676M 538M 521M 489M 595A 527A 478A 435A 421M 9.3.2 El programa RIDIM El programa RIDIM se desarrolló en C++ para la dinámica inversa de un manipulador general de n eslabones. Con el in de hacer el programa amigable para el usuario, también se desarrolló una interfaz de usuario en MS-Windows, como se muestra en la igura 9.5. El programa también tiene módulos de análisis de cinemática inversa y directa y veriicación de resultados, respectivamente. Las entradas requeridas para el análisis de dinámica inversa con el uso de RIDIM son como sigue: Para i = 1, ..., n, ¿Por qué “industrial” en RIDIM? El programa también puede usarse para robots de aplicaciones no industriales. Sin embargo, la mayoría de los robots industriales son de tipo serial. Por esto se usa la palabra “industrial”. 1. Los parámetros constantes de Denavit-Hartenberg (DH) (Denavit y Hartenberg, 1955) del robot bajo estudio, que están deinidos en la sección 5.4. Ellos son bi, ai, ai para una articulación rotacional y qi, ai, ai para una articulación prismática. Los parámetros bi, qi, ai y ai se llaman desplazamiento o separa- 9.3 La dinámica inversa recursiva usando RIDIM 223 DINÁMICA INVERSA RECURSIVA DE MANIPULADORES INDUSTRIALES DR. S.K. SAHA DEPARTAMENTO DE INGENIERÍA MECÁNICA INSTITUTO DE TECNOLOGÍA DE LA INDIA, DELHI SIGUIENTE CANCELAR Figura 9.5 2. 3. 4. 5. Interfaz de MS-Windows de RIDIM ción articular, ángulo articular, longitud de eslabón y ángulo de torsión, respectivamente. Historial de tiempo del parámetro DH variable, es decir, qi para un par rotacional y bi para una articulación prismática, así como su primera y segunda derivada en el · · tiempo, es decir, qi, bi, y q̈i, b̈i, respectivamente. Masa de cada cuerpo mi. Vector que denota la distancia de la (i + 1)-ésima articulación del i-ésimo centro de masa Ci en el (i + 1)-ésimo sistema de referencia, es decir [ri]i+1. Tensor de inercia del i-ésimo eslabón alrededor de su centro de masa Ci en el (i + 1)ésimo sistema [Ii]i+1. Observe que RIDIM tiene las siguientes características: • • Puede manejar manipuladores con pares o articulaciones tanto rotacionales o revolutas como prismáticas: Toma en cuenta la gravedad, pues considera la aceleración negativa debido a la gravedad denotada por g al primer cuerpo #1, como se muestra en la ecuación (9.32). Ejemplo 9.3 Dinámica inversa de un manipulador planar de tres DOF En la igura 9.6 se presenta el manipulador de tres eslabones en estudio, cuyos parámetros DH e inerciales se muestran en la tabla 9.2. Se supone que el manipulador se mueve en el plano X-Y, donde la gravedad está trabajando en la dirección negativa Y. Suponga que i y j son los dos vectores unitarios paralelos a los ejes X y Y, respectivamente, 224 CAPÍTULO 9 Dinámica recursiva de robots a2 2 d2 p2 C2 a2 2 r2 Y a1 g C3 p3 Efector inal q13 p1 X Figura 9.6 Manipulador de tres eslabones y que k = i × j. Los tres pares de torsión o torsionales de las articulaciones, es decir, t1, t2 y t3, se evaluaron por medio del programa RIDIM, para lo cual se tomaron como entrada ángulos articulares suaves, como los de la subsección 8.5.1, y las correspondientes velocidades y aceleraciones. Los parámetros DH e inerciales del robot PUMA a) Parámetros DH Tabla 9.2 Eslabón ai (m) Articulación bi (m) ai (rad) qi (rad) r 1 0.3 0 0 r 2 0.25 0 0 r 3 022 0 0 JV: Variable articular con valores iniciales entre corchetes [ y ]; r: Articulación revoluta b) Parámetros de masa e inercia mi Eslabón (kg) 1 2 3 0.5 0.4 0.3 JV [0] JV [0] JV [0] rotacional o ri,x ri,y (m) ri,z Ii,xx Ii,xy Ii,xz Ii,yy (kg-m2) Ii,yz Ii,zz 0.15 0.125 0.11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.00375 0.00208 0.00121 0 0 0 0.00375 0.00208 0.00121 El ángulo de articulación se determina por LM F H N q (T ) - q ( 0 ) L = MN1 - cos FH 2Tp tIK OPQ ; T q (T ) - q ( 0 ) L 2 p 2p IO = sen F t M H T T K PQ NT qi = qi (0) + qɺ i qɺɺ i q i (T ) - q i ( 0) 2p T sen tt 2p T T i i i i I OP KQ (9.33a) (9.33b) 9.3 La dinámica inversa recursiva usando RIDIM 225 Ángulo articular (grados) 200 150 100 50 0 0 2 4 6 8 10 t (seg) Figura 9.7 Trayectoria articular · donde se tomaron T = 10 seg, valores iniciales de la articulación qi(0) = qi(0) = q̈i(0) = 0 · y cuyos valores inales son qi(T) = p, qi(0) = q̈i(0) = 0 para i = 1, 2, 3. La trayectoria de la articulación se muestra en la igura 9.7, donde los pares de torsión de la articulación obtenidos por RIDIM se graican en la igura 9.8. Los términos “tau_1”, “tau_2” y “tau_3” de la igura 9.8 denotan los pares de torsión de la articulación t1, t2 y t3, respectivamente. Las gráicas también se veriicaron con las que se obtuvieron de las expresiones explícitas disponibles en muchos libros sobre robótica, por ejemplo, Ángeles (2003). 5 tau_1 Pares de torsión (Nm) 4 3 2 tau_2 1 tau_3 0 –1 –2 0 2 4 6 Tiempo (seg) 8 10 Figura 9.8 Pares de torsión de las articulaciones del manipulador de tres eslabones 226 CAPÍTULO 9 Dinámica recursiva de robots Ejemplo 9.4 El robot PUMA Para el robot PUMA que se presenta en la igura 9.9, los resultados de dinámica inversa se obtuvieron para sus parámetros DH e inerciales que se muestran en la tabla 9.3. Ze Efector terminal Xe 0.056 Z 4, Z 6 Z5 X5, X6 0.042 X3 Z3 Z1 X1, X2 X4 02 0. 0.432 Z2 0.149 Figura 9.9 Un robot PUMA Se supone que la trayectoria para cada articulación será la misma que para el manipulador de tres eslabones, como se deinió en las ecuaciones (9.33a-b) para el mismo T, y los valores de articulaciones iniciales y inales. Las gráicas de pares de torsión correspondientes se dan en las iguras 9.10a-f). Los parámetros DH e inerciales del robot PUMA a) Parámetros DH Tabla 9.3 Eslabón Articulación ai (m) bi (m) ai (rad) qi (rad) 1 2 3 4 5 6 r r r r r r 0 0.432 0.02 0 0 0 0 0.149 0 0.432 0 0.05 –p/2 0 –p/2 –p/2 –p/2 0 JV [0] JV [0] JV [0] JV [0] JV [0] JV [0] JV: Variable articular con valores iniciales entre corchetes [ y ]; r: Articulación rotacional o revoluta 9.3 La dinámica inversa recursiva usando RIDIM 227 b) Parámetros de masa e inercia Eslabón mi (kg) 1 2 3 4 5 6 10.521 15.761 8.767 1.052 1.052 0.351 ri,x ri,y (m) ri,z Ii,xx 0.054 0 0 0 0.292 0 –0.197 0 0.02 –0.057 0 0 –0.007 0 0 0.019 0 0 Par de torsión (Nm) Par de torsión (Nm) 2 0 –2 –4 0 2 4 6 8 Tiempo (seg) a) Articulación 1 Par de torsión (Nm) Par de torsión (Nm) 0 0 0 0 0 0 0.5091 8.2672 0.3009 0.181 0.0735 0.0141 0 –50 0 2 4 6 8 Tiempo (seg) b) Articulación 2 10 0 2 4 6 8 Tiempo (seg) d) Articulación 4 10 0 2 4 6 8 Tiempo (seg) f ) Articulación 6 10 0.15 20 10 0 –10 –20 0 2 4 6 8 Tiempo (seg) c) Articulación 3 0.1 0.05 0 –0.05 –0.1 10 0.15 0.02 Par de torsión (Nm) Par de torsión (Nm) 1.612 8.0783 3.3768 0.1273 0.1273 0.0071 Ii,zz 50 –100 10 30 0.1 0.05 0 –0.05 –0.1 Ii,yy Ii,yz (kg-m2) 100 4 –30 0 0 0 0 0 0 0 0 0 0 0 0 1.612 0.4898 3.3768 0.181 0.0735 0.0071 6 –6 Ii,xy Ii,xz 0 2 4 6 8 Tiempo (seg) e) Articulación 5 Figura 9.10 10 0.1 0 –0.01 –0.02 –0.03 Pares de torsión de articulaciones del robot PUMA 228 CAPÍTULO 9 Dinámica recursiva de robots Ejemplo 9.5 El brazo STANFORD Para el brazo Stanford que se presenta en la igura 9.11, los parámetros DH y otros se muestran en la tabla 9.4. Observe que se distingue del robot PUMA en que tiene una articulación prismática en la ubicación 3 de la articulación. Las funciones para las articulaciones rotacionales o revolutas se tomaron exactamente de las mismas que en el robot PUMA del ejemplo 9.4, con los siguientes datos: T = 10 seg, qi(0) = 0 para i ≠ 2,3, q2(0) = p/2; y q1(T) = p/3 para i ≠ 3. Puesto que la tercera articulación es prismática, el desplazamiento de la articulación, que se denota por b3, es una variable. Su variación se toma igual que en la ecuación (9.33a), a saber, bi = bi (0) + LM N F H bi (T ) - bi ( 0) 2p T tt sen T T 2p I OP KQ (9.34) donde b3(0) = 0, y b3(T ) = 0.1 m. Efector terminal Ze Z4, Z6 0.6 b3 X3 Z1 X2 Xe X5, X6 Z5 X4 Z3 Z2 0.1 0.1 X1 Figura 9.11 Tabla 9.4 El brazo Stanford Los parámetros DH e inerciales de un brazo Stanford a) Parámetros DH Eslabón Articulación 1 2 3 4 5 6 r r p r r r ai (m) 0 0 0 0 0 0 bi (m) ai (rad) qi (rad) 0.1 0.1 JV [0] 0.6 0 0.0 –p/2 –p/2 0 p/2 –p/2 0 JV [0] JV [0] 0 JV [0] JV [0] JV [0] JV: Variable articular con valores iniciales entre corchetes [ y ]; r: Articulación rotacional ; p: Articulación prismática 9.4 229 La dinámica directa recursiva y la simulación b) Parámetros de masa e inercia mi ri,x Eslabón (kg) ri,y (m) ri,z 0 0 0 0 0 0 –0.1 0 0 –0.1 0 0 0 0 0 0 –0.06 0.2 1 2 3 4 5 6 9 6 4 1 0.6 0.5 Ii,xx Ii,xy Ii,yz (kg-m2) Ii,yy Ii,yz Ii,x 0.01 0.05 0.4 0.001 0.0005 0.003 0 0 0 0 0 0 0 0 0 0 0 0 0.02 0.06 0.4 0.001 0.0005 0.001 0 0 0 0 0 0 0.01 0.01 0.01 0.0005 0.0002 0.002 Los pares de torsión y fuerza que se obtienen mediante RIDIM se graican luego en las iguras 9.12a-f) y coinciden exactamente con los que se reportan en Cyril (1988) para el mismo brazo. 9.4 La dinámica directa recursiva y la simulación La deinición de la dinámica directa es: si se proporcionan los pares de torsión y fuerzas, junto con los parámetros físicos del robot, se buscan las aceleraciones de las articulaciones, es decir, se resuelven para las aceleraciones de las articulaciones p̈ según las ecuaciones dinámicas de movimiento, ecuación (9.9a). La simulación, por otro lado, involucra la dinámica directa, seguida por la solución de las ecuaciones diferenciales ¿Por qué “directo”? en las aceleraciones articulares, para obtener veloci· dades y posiciones de las articulaciones, es decir, p y Este paso para la simulación lleva al p, respectivamente, para un conjunto determinado de comportamiento de un robot como posiciones iniciales de articulaciones y velocidades si éste existiese y se le estuviese mo· del manipulador en estudio, es decir, p (0) y p (0), res- viendo. Por eso se usa la palabra “directo”. pectivamente. 9.4.1 Algoritmo de dinámica directa recursiva Convencionalmente, se resuelven las aceleraciones articulares según la ecuación (9.9a), usando la descomposición de Cholesky de la GIM I, como lo hacen Walker y Orin (1982), Ángeles (2003) y otros, o mediante el comando de MATLAB de “e\I” (Matlab, 2002), donde e representa el vector de las fuerzas generalizadas debido a los momentos y fuerzas externos, la gravedad y los términos de Coriolis, etc. El planteamiento que se menciona arriba requiere cálculos del orden (n3), donde n es el número de eslabones que hay en el robot y produce aceleraciones articulares no suaves (Ascher et al., 1997). Por el contrario, la formulación dinámica basada en las matrices de complemento ortogonal natural desacoplado (DeNOC) que se presentan en este capítulo permite resolver p̈ de la ecuación (9.9a) en forma recursiva con la complejidad computacional de orden (n) (Saha, 1999; 2003). Se sabe que estos CAPÍTULO 9 Dinámica recursiva de robots 0.15 18 0.1 17.5 17 16.5 16 Par de torsión (Nm) Par de torsión (Nm) 230 0.05 0 –0.05 –0.1 –0.15 0 2 4 6 8 Tiempo (seg) a) Articulación 1 10 –20 –25 –30 1.35 1.3 1.25 1.2 1.15 1.1 1.05 1 0.95 0.9 0.85 Par de torsión (Nm) 0 –5 –10 –15 0 2 4 6 8 Tiempo (seg) c) Articulación 3 10 0.1 0 –0.1 –0.2 –0.3 –0.4 –0.5 –0.6 –0.7 –0.8 –0.9 0 2 4 6 8 Tiempo (seg) b) Articulación 2 10 0 2 4 6 8 Tiempo (seg) d) Articulación 4 10 0 2 4 6 8 Tiempo (seg) f ) Articulación 6 10 0.0003 Par de torsión (Nm) Par de torsión (Nm) Fuerza (N) 5 15.5 15 14.5 0.0002 0.0001 0 –0.0001 –0.0002 0 2 4 6 8 Tiempo (seg) e) Articulación 5 Figura 9.12 10 –0.0003 Pares de torsión y fuerza para el brazo Stanford algoritmos recursivos proporcionan periles suaves para p̈, como se informa en Ascher et al. (1997), Mohan y Saha (2007) y otros. En esta subsección se presenta un algoritmo de dinámica directa recursiva del orden (n) que requiere las siguientes entradas: Para i = 1, ..., n, 1. Ítems de dinámica recursiva 1, así como 3-5, como se menciona en la subsección 9.3.2. 2. Valores iniciales para los parámetros variables DH, es decir, qi para una articulación rotacional y bc para una articulación prismática, y su derivada respecto al tiempo, es · · decir, q i y bi. 3. Historial de tiempo de las fuerzas/pares de torsión de la articulación, es decir, ti. 9.4 La dinámica directa recursiva y la simulación 231 · 4. Cada componente del vector i ≡ s – Cp, obtenido mediante la ecuación (9.9a), es decir, ei, que ha de calcularse en forma recursiva mediante un algoritmo de dinámica inversa, por ejemplo, el que se da en la subsección 9.3.1, mientras que p̈ = 0. El algoritmo que se basa en la descomposición UDUT de la matriz generalizada de inercia I de la ecuación (9.9a), es decir, I = UDUT, donde U y D son las matrices superior y diagonal, · respectivamente. Además, mediante la sustitución para I y j ≡ t – Cp en la ecuación (9.9a), se obtiene ɺɺ ∫ j UDUT q (9.35) Luego se utiliza un método recursivo de tres pasos para calcular las aceleraciones de las articulaciones a partir de las ecuaciones arriba mencionadas, por ejemplo, 1. Solución para î: La solución î = U–1 i se evalúa en función de los términos escalares como , para i = n, º, 1 f = f – pT h (9.36a) i i i i,i+1 Observe que f̂ n ≡ fn, y el vector de 6 dimensiones ηi,i+1 se obtiene como h i,i+1 ∫ BTi+1,i h i+1 y h i+1 ∫ y i+1 f i +1 + h i+1,i+2 (9.36b) en la que ηn,n+1 = 0. La nueva variable ψi+1 es la matriz de 6 × 6 que se evalúa mediante yi = y i  p y m ∫ pT y i , donde y i ∫ M i i i i m i (9.36c) En la ecuación (9.36c), la matriz de 6 × 6 M̂ i, que se llama “inercia de cuerpo~ articulado” (Saha, 1997; 1999), puede obtenerse en forma recursiva, parecido a Mi, en la ecuación (9.10d), como T  ∫ M + BT   M i+1,i Mi +1 B i+1,i , donde M i+1 = M i+1 – y i +1 y i+1 i i (9.36d) para i = n – 1, ..., 1, y M̂ n = Mn. ~: La solución Di~ = î involucra la inversa de la matriz diagonal D de la 2. Solución para ϕ ecuación (9.35), que es simple, a saber, D–1 sólo tiene elementos diagonales no ceros que son los recíprocos de los correspondientes elementos diagonales de D. El vector i~ se obtiene como sigue: Para i = 1, ..., n, ~ f i = j i / m i (9.37) El escalar mˆ i se deine en la ecuación (9.36c). 3. Solución para p̈: En este paso, = U–Ti~ se calcula para i = 2, ..., n como ~ ~ qɺɺ i = f i – y iT m i , i -1 (9.38a) 232 CAPÍTULO 9 Dinámica recursiva de robots ~ ~ se obtiene como donde q̈ = f 1, y el vector de seis dimensiones µ i,i-1 ~ ~ ~ ~ ɺɺ m i, i -1 ∫ Bi,i–1 m i -1 y m i -1 ∫ p i–1q i -1 + m i - 1, i - 2 (9.38b) en la que ~ l10 ≡ 0. La complejidad del algoritmo de dinámica directa propuesto se compara en la tabla 9.5 con algunos otros algoritmos. La comparación muestra claramente que el algoritmo que se presenta arriba es el mejor. Además, mediante el uso de cualquier otro algoritmo recursivo, la complejidad computacional para la dinámica directa tiene ventajas sobre el algoritmo de orden convencional (n3) cuando n ≥ 12, mientras que el algoritmo que se menciona arriba tiene ventajas incluso para n ≥ 10. Tabla 9.5 Algoritmo Saha (2003) Featherstone (1983) Valasek [14] Brandl et al. [14] Walker y Orion (1982) 9.4.2 Complejidades computacionales para la dinámica directa Multiplicaciones/ divisiones(M) Suma/ resta (A) 191n-284 199n-198 226n-343 250n-222 n3/6+23 187n-325 174n-173 206n-345 220n-198 n3/6+7n2+233n/3-46 n2/2+115n/3-47 n=6 n = 10 862M 797A 996M 871A 1013M 891A 1278M 1122A 633M 480A 1626M 1545A 1792M 1527A 1917M 1715A 2278M 2002A 1653M 1209A Simulación La simulación consiste en la dinámica directa para encontrar la aceleración articular p̈, seguida por su integración, es decir, para obtener p· y θ, para un determinado conjunto de condiciones iniciales, es decir, p·(0) y θ(0). Como se señaló en el capítulo 8, subsección 8.5.2, excepto en casos sumamente simples, la integración debe hacerse en forma numérica, usando métodos establecidos, como Runge-Kutta-Fehlberg, Adams-Bashforth-Moulton y otros (Shampine, 1994) o el comando “ode45” de MATLAB (Matlab, 2002). En esta subsección se generaron resultados de simulación utilizando un programa de computación escrito en C++ para la implementación del algoritmo de dinámica directa que se dio en la subsección 9.4.1 y el método de integración numérica mediante la fórmula de Runge-Kutta-Fehlberg. Aquí se elabora un aspecto importante de periles de aceleración de articulaciones suaves que están disponibles a partir de un algoritmo recursivo de dinámica directa como se menciona en la subsección 9.4.1. Cuando el peril de aceleración de articulación para p̈ no es suave, la convergencia de su integración numérica para obtener la velocidad y posición de la articulación, es decir, p· y θ, es lenta. Alternativamente, con un peril p̈ suave obtenido según un algoritmo recursivo de dinámica directa, la convergencia de los resultados de integración numérica es más rápida. Por lo tanto, el tiempo total del CPU que se requiere para la dinámica directa y la integración numérica juntas mediante el uso del algoritmo recursivo podrá ser más corto incluso para n = 6 en comparación con su algoritmo de orden (n3). Este aspecto se comprueba en Mohan y Saha (2007) mediante la simulación. 9.4 Ejemplo 9.6 La dinámica directa recursiva y la simulación 233 Simulación del manipulador de tres DOF Aquí se considera el manipulador de tres DOF que se presenta en la igura 9.6, para dejarlo caer bajo gravedad desde la coniguración horizontal inicial, es decir, qi(0) = · qi(0) = 0, para i = 1, 2, 3. El incremento en el tiempo, ∆T, para la integración numérica se toma como ∆T = 0.01 seg. Los resultados para las posiciones de la articulación, a saber, las variaciones de q1, q2 y q3 con el tiempo se muestran en la igura 9.13, donde “th_1”, “th_2” y “th_3” representan q1, q2 y q3, respectivamente. Observe en la igura 9.6 que, debido a la gravedad del primer ángulo de la articulación, q1 se incrementará inicialmente en sentido negativo. Esto es evidente según la igura 9.13. Además, el sistema bajo gravedad se comporta como un péndulo de tres eslabones, lo que queda claro conforme todas las variaciones de ángulo de la articulación de la igura 9.13. 3 2 Ángulo (rad) 1 0 th_2 –1 th_3 –2 th_1 –3 –4 0 Figura 9.13 0.5 1 1.5 2 Tiempo (seg) 2.5 3 3.5 Ángulos de las articulaciones para el manipulador de tres DOF Ejemplo 9.7 Simulación del robot PUMA Para el robot PUMA, cuya arquitectura se muestra en la igura 9.10, la simulación de caída libre, es decir, que el robot se deje caer libremente bajo gravedad, se realiza con · las condiciones iniciales qi(0) = q i (0) = 0 para i = 1, ..., 6. El intervalo ∆T, que se adopta para la integración numérica, se toma como ∆T = 0.01 seg. Las variaciones para las 234 CAPÍTULO 9 Dinámica recursiva de robots ¿Qué es “libre”? 5 4 3 2 1 0 –1 –2 1.2 1 0.8 0.6 0.4 0.2 0 –0.2 –0.4 –0.6 –0.8 3 Ángulo (rad) 2.5 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 Tiempo (seg) c) Articulación 3 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 Tiempo (seg) e) Articulación 5 Figura 9.14 Ejemplo 9.8 2 1.5 1 0.5 0 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 Tiempo (seg) a) Articulación 1 Ángulo (rad) 0.2 0 –0.2 –0.4 –0.6 –0.8 –1 –1.2 Ángulo (rad) Ángulo (rad) Ángulo (rad) Ángulo (rad) Las articulaciones están libres de cualquier par de torsión aplicado. posiciones de las articulaciones contra el tiempo se muestran en las iguras 9.14 a-f). Según la igura 9.10, queda claro que, debido a la longitud, a3 = 0.02, la articulación 2 girará en sentido positivo, lo que es evidente según la igura 9.14b). 3 2.5 2 1.5 1 0.5 0 –0.5 0.6 0.4 0.2 0 –0.2 –0.4 –0.6 –0.8 –1 –1.2 –1.4 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 Tiempo (seg) b) Articulación 2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 Tiempo (seg) d) Articulación 4 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 Tiempo (seg) f) Articulación 6 Ángulos articulares del robot PUMA Simulación del brazo Stanford Aquí se realiza la simulación de caída libre del brazo Stanford con los siguientes valo· · res: qi(0) = 0 para i ≠ 2, 3, q2(0) = p, b3(0) = 0; qi(0) = 0 para i ≠ 3 y b3(0) = 0. El intervalo ∆T para la integración numérica se toma igual que antes, es decir, ∆T = 0.01 seg. 0 2 –0.3 –0.4 –0.5 –0.6 0 0.5 0.5 0 –0.5 3 3.5 0 0.5 1 1.5 2 2.5 Tiempo (seg) 0 0.5 3 3.5 0 10 –0.5 8 –1 6 –1.5 –2 –3 3 3.5 4 2 0 0.5 1 1.5 2 2.5 Tiempo (seg) 3 3.5 Ángulos articulares del brazo Stanford –2 0 0.5 1 1.5 2 2.5 Tiempo (seg) f ) Articulación 6 3 3.5 235 Figura 9.15 1.5 2 2.5 Tiempo (seg) 0 e) Articulación 5 d) Articulación 4 1 c) Articulación 3 –2.5 0 0.5 0 3 3.5 Ángulo (rad) Ángulo (rad) Ángulo (rad) 1.5 2 2.5 Tiempo (seg) 20 10 b) Articulación 2 a) Articulación 1 5 0 –5 –10 –15 –20 –25 –30 –35 –40 1 40 30 La dinámica directa recursiva y la simulación 1 1.5 2 2.5 Tiempo (seg) 1 60 50 9.4 –0.7 Desplazamiento (m) 1.5 –0.2 Ángulo (rad) Ángulo (rad) –0.1 70 236 CAPÍTULO 9 Dinámica recursiva de robots Los resultados de posiciones de articulaciones se presentan luego en las iguras 9.15af). Debido a la coniguración inicial del brazo Stanford que se da en la tabla 9.4a), el movimiento de la articulación 3 deberá incrementarse en forma pronunciada una vez que la articulación 2 gire más que p/2. Esto es cierto, como es evidente según las iguras 9.15c) y b), respectivamente. En la igura 9.15b), la articulación 2 gira por p/2 de su valor de p/2 o 1.5708 radianes para volverse cero. Esto sucede poco después de 0.5 seg., cuando el desplazamiento de la articulación 3 empieza a aumentar, como queda claro en la igura 9.15c). RESUMEN En este capítulo es presentado el modelado dinámico de robots seriales mediante el uso de complementos ortogonales naturales desacoplados(DeNOC). Se presentan algoritmos de dinámica recursiva inversos y directos para el control y la simulación de robots, respectivamente. Se reportan las complejidades computacionales de ambos algoritmos con resultados ilustrativos para sistemas robóticos planares y espaciales. EJERCICIOS 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 ¿Qué es la dinámica inversa? ¿Por qué se preiere el concepto de las matrices DeNOC sobre otros planeamientos de modelado dinámico? ¿Cuál es el signiicado de “ortogonal” en DeNOC? Busque la expresión de la energía cinética del brazo de un eslabón, ecuación (8.54a), aplicando las matrices DeNOC. Derive la ecuación de movimiento del brazo de un eslabón, igura 9.3, usando las expresiones de matrices y vectores mediante la matriz NOC N que aparece después de la ecuación (9.9a). Escriba la expresión de la energía cinética total para un manipulador de n eslabones, usando la deinición de torsión generalizada t que se presenta en la ecuación (9.3c). Repita el·ejercicio 9.6, usando la deinición de la velocidad de articulación generalizada p de la ecuación (9.6b). ¿Cuáles son las características de RIDIM? EJERCICIOS BASADOS EN RIDIM 9.9 Usando el programa RIDIM, busque los pares de torsión de articulaciones para el manipulador planar de dos DOF que se muestra en la igura 9.4. Ejercicios basados en MATLAB 237 9.10 Genere pares torsionales o de torsión de articulaciones para el manipulador de tres DOF de la igura 9.6 para la trayectoria de articulación proporcionada por las ecuaciones (9.33a-b) con las siguientes entradas: qi(0) = qɺ i (0) = qɺɺ i (0) = 0; qi(T) = p/2, qɺ i (0) = qɺɺ i (0) = 0, para i = 1, 2, 3 (9.39) EJERCICIOS BASADOS EN MATLAB 9.11 Genere las gráicas de pares torsionales o de torsión de articulaciones para el ejemplo 9.10, usando las siguientes expresiones explícitas: ɺɺ + C qɺ = t g + t , donde q ∫ [q q q ]T Iq 1 2 3 (9.40a) donde las matrices GIM y MCI de 3 × 3, I y C, respectivamente, así como el vector tridimensional s g, debido a la gravedad, se determinan por i11 = 1 (m a 2 + m2 a 22 + m3 a 23 ) + m2 a 21 + m3 (a 21 + a 22 ) 3 1 1 + (m2 + 2m3)a1 a2 cq2 + m3 a3 (a2 cq 3 + a1 cq23) i12 = i21 = FH IK 1 1 (m a 2 + m3 a 23 ) + m3 a 22 + m a + m3 a2 a1cq2 3 2 2 2 2 2 1 m a (2a cq + a1cq23) 2 3 3 2 3 1 1 = i31 = m3 a 23 + m3 a3 (a2 cq3 + a1cq23) 3 2 1 = (m2 a 22 + m3 a 23 ) + m3 (a 22 + a2 a3 cq3) 3 1 1 1 = i32 = m3 a 23 + m3 a2 a3 cq3; i33 = m3 a 23 3 2 3 1 = – [{m2 a1 a2 sq2 + m3 (2a1 a2 sq2 + a1 a3 sq23)}qɺ 2 2 + m (a a sq + a a sq )qɺ ] + i13 i22 i23 c11 3 c12 23 2 3 3 3 1 = – [{m2 a1 a2 sq2 + m3 (2a1 a2 sq2 + a1 a3 sq23)}qɺ 12 2 + m (a a sq + a a sq )qɺ ] 3 c13 = – 1 3 23 2 3 3 3 1 m (a a sq + a2 a3sq3)qɺ 123 2 3 1 3 23 1 [{m2 a1 a2 sq2 + m3 (2a1a2 sq2 + a1 a3 sq23)}qɺ 1 – m3 a2 a3 sq3qɺ 3 ] 2 1 1 = – m3 a2 a3 sq3qɺ 3 ; c23 = – m3 a2 a3 sq3qɺ 123 2 2 c21 = c22 1 3 (9.40b) (9.40c) 238 CAPÍTULO 9 Dinámica recursiva de robots 1 1 m [(a a sq + a2 a3 sq3)qɺ 1 + a2 a3 sq3qɺ 2]; c32 = m3 a2 a3 sq3qɺ 12 2 3 1 3 23 2 =0 c31 = c33 y 1 g[–m1 a1 cq1 – 2m2 (a1 cq1 + a2 cq12) – 2m3 (a1 cq1 2 1 + a2 cq12)... + a3 cq123)] 2 1 1 = g[–m2 a2 cq12 – 2m3 (a2 cq12... + a3 cq123); 2 2 1 = g[–m3 a3 cq123] 2 t g1 = t g2 t g3 ) (9.40d) donde q12 ∫ q1 + q2; q123 ∫ q12 + q3; qɺ 12 ∫ qɺ 1 + qɺ 2 ; qɺ 123 ∫ qɺ 12 + qɺ 3. Busque los pares de torsión de los actuadores de articulaciones, vector τ, para graicar. 9.12 Veriique los resultados de simulación del ejemplo 9.11 usando las expresiones de la ecuación (9.40) y “ode45”. Cinemática 239 Capítulo 10 Control El control de cualquier sistema signiica aplicar/ejercer fuerza(s) para que el sistema se mueva/trabaje de acuerdo con las instrucciones ordenadas. En un sistema robótico, se requiere de un manipulador para Una computadora personal o un sisteejecutar una tarea especíica mediante el movimiento ma dedicado de circuitos electrónicos conectado al manipulador. de su efector inal en forma precisa y repetida. En el capítulo 6 se calcularon ecuaciones para obtener los historiales de tiempo de todos los movimientos de las articulaciones para lograr el movimiento deseado del efector inal. En este capítulo se desarrollarán las leyes de control, donde los historiales de las articulaciones pueden convertirse en entradas con el in de hacer que el robot siga la trayectoria ordenada. Se asume que el lector tiene los conocimientos básicos de sistemas de control (Ogata, 1987; Kuo, 1991; Gopal, 1997). El control de un robot requiere el conocimiento del modelo matemático del mismo, así como de un sistema inteligente que actúe sobre él. Mientras que el modelo matemático necesario se obtiene de las leyes físicas que rigen el movimiento del manipulador, el sistema inteligente requiere de dispositivos sensoriales y medios para accionar y reaccionar ante las variables detectadas. En el control de un robot, las articulaciones individuales se accionan mediante actuadores, ya sean neumáticos, hidráulicos o eléctricos, como se explicó en el capítulo 3. Los actuadores aplican una fuerza o un par de torsión sobre los eslabones para que se muevan. Sus comandos provienen del sistema de control del manipulador que lo mueven para ejecutar el movimiento especíico ordenado para el efector inal. Estos comandos se basan en los valores nominales de control generados a partir del conjunto de pares de torsión de las articulaciones en función de los historiales de tiempo. Observe que el generador de trayectoria o planeador prepara los historiales de articulaciones, como se indica en la igura 10.1. Esencialmente, se trata de un algoritmo que se basa en cualquiera de los ¿Quién controla un robot? 240 CAPÍTULO 10 Control Generador de trayectorias θd . θd .. θd Sistema de Control θ τd Manipulador del robot . θ Lazo cerrado Figura 10.1 Diagrama de bloques de un sistema de control de robots métodos desarrollados en el capítulo 11. Sin embargo, debido a las diicultades que hay en las computaciones precisas de los parámetros de manipuladores en el modelo matemático, por ejemplo, las longitudes de eslabones, masas e inercias, cambios en la carga de trabajo, consideraciones de fricción, holguras, etc., el efector inal del robot no seguirá en forma exacta la trayectoria ordenada. Por lo tanto, las posiciones reales de las articulaciones y/o del efector inal, así como sus derivadas pueden retroalimentar al sistema de control para obtener un movimiento preciso. En la igura 10.1 se presenta un diagrama esquemático del control de un manipulador. Las líneas punteadas para la retroalimentación indican que el sistema de control podrá o no emplear la retroalimentación de los movimientos actuales reales de las articulaciones. Los parámetros pd, θ̇d y θ̈d son las posiciones, velocidades y aceleraciones deseadas predeinidas de todas las articulaciones, respectivamente, mientras que p y θ̇ son las posiciones y velocidades reales de las articulaciones, respectivamente. El control de un robot puede clasiicarse como lineal y no lineal. El uso de técnicas de control lineal sirve cuando el robot se mueve lentamente, de manera que puede ser matemáticamente modelado por medio de ecuaciones diferenciales lineales con coeicientes constantes. Para el caso de un control de robot real, estos métodos lineales se consideran esencialmente como métodos aproximativos, ya que las ecuaciones dinámicas de movimiento de un manipulador robótico son en realidad ecuaciones diferenciales no lineales. Sin embargo, la teoría de control lineal sirve de base para sistemas de control no lineales más complejos. Para muchas aplicaciones prácticas, el uso de sistemas de control lineales es a menudo razonable, puesto que los manipuladores robóticos que se usan en la mayoría de las industrias se mueven relativamente lento. Pero si las articulaciones se mueven rápidamente, entonces todas ellas tienen que moverse de manera simultánea. En esta situación, las fuerzas dinámicas acopladas son signiicativas, y la dinámica del robot es no lineal y compleja. Las articulaciones no pueden moverse de manera independiente, y se requiere de algoritmos de control complejos. 10.1 Técnicas de control Pueden emplearse varias técnicas para resolver un problema de control de un manipulador robótico. Tanto la técnica que se emplea como la manera de su implementación podrán tener una inluencia signiicativa sobre el desempeño del robot. Por ejemplo, la necesidad de un movimiento continuo se contrapone de aquella que permitiese un control de punto a punto, donde únicamente importa alcanzar la posición inal. Por otro lado, el diseño mecánico del robot tiene una inluencia sobre el tipo de método de control que va a utilizarse. Por ejemplo, el problema de control de un robot cartesiano es signiicativamente diferente al problema de control de un robot articulado antropomórico, pues en este último los movimientos del 10.1 Técnicas de control 241 efector inal tienen que convertirse a los movimientos de las articulaciones. El sistema para accionar las articulaciones también tiene un efecto sobre el tipo de estrategia de control que se utilizará. Si un manipulador se acciona mediante motores eléctricos con engranes reductores de alta razón de transferencia, la presencia de los engranes tiende a linealizar la dinámica del sistema. Los términos efectivos de masa e inercia de los eslabones son por lo regular enormemente reducidos por el cuadrado de la relación del engranaje. Por lo tanto, la dinámica de las articulaciones se desacopla, y cada articulación puede ser controlada en forma independiente. Sin embargo, la presencia de engranajes introduce fricción, deformación y holgura en el tren de engranajes. Como resultado, el diseñador del control tiene que poner más atención a estos efectos que a la inercia no lineal, a las fuerzas de Coriolis, etc., con el in de lograr alto rendimiento. Por el contrario, los accionamientos directos, como se da en el caso de robots de accionamiento directo, eliminan los problemas del tren de engranajes, aunque introducen términos no lineales debido al acoplamiento entre articulaciones y los eslabones. Como resultado, debe pensarse en diferentes estrategias de control para obtener un alto rendimiento. Por otro lado, el problema de control del manipulador es de múltiples entradas y múltiples salidas (MIMO por sus siglas en inglés), como se indica en la igura 10.1 mediante los vectores n-dimensionales a lo largo de cada línea de señal. Para simpliicar el problema, se considera cada articulación como independiente y controlada por separado. Esta ¿Por qué SISO? consideración se justiica para robots con múltiples engranajes, como ya se mencionó anteriormente. Ahora En robots con múltiples engranajes, la consideración de un control indepenbien, para el modelo de una sola articulación, existe una diente y separado para cada articulasola entrada y una sola salida (SISO). El control que se ción es equivalente a un problema de diseña para este tipo de modelo se llama comúnmente control SISO. control de variable de articulación independiente. Por lo tanto, para un manipulador de n articulaciones, tienen que diseñarse n sistemas de control SISO independientes. Puesto que cada sistema SISO puede modelarse como una ecuación diferencial lineal de segundo orden, sus características se estudiarán en la siguiente sección, mientras que a continuación se mencionan las diferentes maneras de controlarla: i) Control de encendido/apagado o control de dos pasos. ii) Control proporcional (P): produce una señal de control proporcional al error entre el movimiento deseado y el real. iii) Control derivativo (D): se genera una señal de control que es proporcional a la razón de cambio del error. El control derivativo se conoce como un control anticipado que mide la razón de cambio del error existente, anticipa el error más grande entrante y aplica la corrección antes de que el error mayor pueda llegar. El control derivativo nunca se usa solo. iv) Control integral (I): produce una señal de control proporcional a la integral del error respecto al tiempo. Este tipo de controlador puede considerarse como el retroactivo que suma todos los errores y luego responde. v) Modos de combinación: en estos modos se combinan las estrategias arriba mencionadas, como los controles proporcionales (P) y derivativos (D), y por ello se llama control PD. De manera similar, también se usan controles proporcionales e integrales (PI), así como proporcionales, integrales y derivativos (PID), para lograr el desempeño deseado. 242 CAPÍTULO 10 Control Observe que un controlador basado en las estrategias mencionadas reacciona a la señal de error y suministra a los actuadores la entrada de control necesaria. Para el control de robots existen también sistemas de control más avanzados, tales como el adaptivo, el de par de torsión computado, el difuso, entre otros. Éstos no se analizarán en este libro. 10.2 Sistemas lineales de segundo orden Considere el sistema mecánico que se presenta en la igura 10.2. Un bloque de la masa m se une a un resorte con rigidez k y sujeto a una fricción de coeiciente b. La posición cero del bloque y el sentido positivo de x se indican en la igura 10.2. Si se supone que hay una fuerza de fricción proporcional a la velocidad del bloque, el diagrama de cuerpo libre de las fuerzas que está actuando sobre el bloque lleva directamente a la siguiente ecuación de movimiento: x k m b Figura 10.2 Sistema de masaresorte con fricción (10.1) x + b xɺ + kx = 0 m ɺɺ que es una ecuación diferencial de coeiciente constante lineal de segundo orden. La solución para la ecuación diferencial (10.1) es una función del tiempo x(t) que describe el movimiento del bloque. Esta solución dependerá de las condiciones iniciales del bloque, es decir, de su posición y velocidad inicial. Según el estudio de las ecuaciones diferenciales, si se supone que la solución de x es x = est, entonces la solución para la ecuación (10.1) depende de las raíces de su ecuación característica, a saber, ms2 + bs + k = 0 (10.2) que tiene las siguientes raíces: s1 = - b + b 2 - 4mk - b - b 2 - 4mk ; y s2 = 2m 2m (10.3) Si s1 y s2 son reales, el comportamiento del sistema es lento y no oscilatorio. Si s1 y s2 son complejos, es decir, si tienen componentes imaginarios, el comportamiento del sistema es oscilatorio. El rango entre estos dos comportamientos da el tercer tipo de respuesta, es decir, la respuesta no oscilatoria más rápida. Estos casos se presentarán a continuación. Caso I: Raíces reales y desiguales Este caso se presenta cuando b2 > 4 mk, es decir, cuando la fricción domina y el resultado es el comportamiento lento. Esta respuesta se llama sobreamortiguada. La solución x(t), que da el movimiento del bloque en el caso de raíces reales y desiguales, tiene la siguiente forma: x(t) = c1es1t + c2es2t (10.4) donde s1 y s2 se obtienen por la ecuación (10.3), que también se llaman polos del sistema. Los coeicientes c1 y c2 son constantes que pueden ser determinadas para cualquier conjunto de condiciones iniciales, es decir, la posición y velocidad inicial del bloque. La igura 10.3 10.2 Im{s} Sistemas lineales de segundo orden x (t) Re{s} Figura 10.3 243 t Ubicación de raíces (polos) y respuesta del sistema de un sistema sobreamortiguado. muestra un ejemplo de ubicaciones de polos o raíces y la correspondiente respuesta de tiempo a una condición inicial de no cero. Cuando los polos de un sistema de segundo orden son reales y desiguales, el sistema demuestra movimientos lentos o sobreamortiguados. En casos donde uno de los polos tiene una magnitud mucho mayor que el otro, el polo de mayor magnitud puede omitirse, puesto que el término que le corresponde decaerá rápidamente a cero en comparación con el otro polo más dominante. Esta misma noción de dominio se extiende a los sistemas de mayor orden; por ejemplo, frecuentemente puede estudiarse un sistema de tercer orden como sistema de segundo orden si se consideran solamente dos polos dominantes. Ejemplo 10.1 Movimiento de un bloque con raíces (polos) reales y desiguales Para el sistema de la igura 10.2, si los parámetros del sistema son m = 1, b = 5 y k = 6, la ecuación característica se obtiene por (10.5) s2 + 5s + 6 = 0 que tiene raíces (polos) en s1 = 2 y s2 = 3. Por lo tanto, la respuesta tiene la siguiente forma: x(t) = c1e–2t + c2e–3t (10.6) Si el bloque está inicialmente en reposo y se libera de la posición x = –1, es decir, x(0) = –1 y x· (0) = 0, los coeicientes c1 y c2 pueden entonces calcularse fácilmente a partir de las ecuaciones que satisfagan las condiciones iniciales en t = 0, es decir, c1 + c2 = –1; y –2c1 – 3c2 = 0 (10.7) La ecuación (10.7) proporciona c1 = –3 y c2 = 2. De este modo, el movimiento del sistema para ≥ 0 se obtiene por (10.8) x(t) = –3e–2t + 2e–3t Caso II: Raíces complejas Este caso se presenta cuando b2 < 4 mk, es decir, cuando domina la rigidez, y se da como resultado el comportamiento oscilatorio. Esta respuesta se llama subamortiguada. Para este caso, la ecuación característica tiene raíces complejas de la forma s1 = l + mi; y s2 = l – mi (10.9) 244 CAPÍTULO 10 Control x (t) Im{s} Re{s} Figura 10.4 t Ubicación de raíces (polos) y respuesta del sistema de un sistema subamortiguado. que proporciona la solución en la forma x(t) = c1 e1s1 t + c2 es2 t (10.10) Sin embargo, la ecuación (10.10) es difícil de usar en forma directa, puesto que involucra números imaginarios de manera explícita. Si se usa la fórmula de Euler, puede demostrarse que (10.11) e ix = cos x + i senx entonces, la solución, ecuación (10.10), puede manipularse en la forma x(t) = a 1elt cos (m t) + a 2 e l t sen (mt), donde a 1 ∫ c1 + c2 y a 2 ∫ i(c1 – c2) (10.12) Como sucedió anteriormente, los coeicientes α1 y α2 son constantes que pueden ser determinadas para cualquier juego determinado de condiciones iniciales, es decir, la posición y velocidad inicial del bloque. Suponga que las constantes α1 y α2 se escriben como a 1 = r cos d, y a 2 = rsen d (10.13) Entonces, la ecuación (10.12) puede escribirse en la siguiente forma: x(t) = re lt cos (mt – d ) donde r= a 12 + a 22 , y d = A tan 2 (a 2, a1) (10.14) (10.15) Ahora queda claro, por la ecuación (10.14), que el movimiento resultante es una oscilación cuya amplitud disminuye exponencialmente hacia cero. La igura 10.4 muestra las ubicaciones de los polos y la correspondiente respuesta de tiempo a una condición inicial de no cero. Cuando los polos de un sistema de segundo orden son complejos, el sistema muestra un movimiento oscilatorio o subamortiguado. Ejemplo 10.2 Movimiento de un bloque con raíces complejas Si los parámetros del sistema que se presenta en la igura 10.2 son m = 1, b = 1 y k = 1, la ecuación característica se vuelve s2 + s + 1 = 0 (10.16) 10.2 Sistemas lineales de segundo orden 245 cuyas raíces son s1 , 2 = – 1 ± 3 i. Por lo tanto, la respuesta x(t) tiene la siguiente 2 2 forma: x(t) = e 1 - t 2 FGa H 1 cos 3 3 t + a 2 sen t 2 2 IJ K (10.17) Observe que para el bloque que estuvo inicialmente en reposo y que se liberó de la posición x = –1, las condiciones iniciales son x(0) = –1 y x· (0) = 0. Para determinar las constantes c1 y c2, se tiene que a 1 = –1, y 1 3 a + a =0 2 1 2 2 (10.18) lo que da a 2 = – 1 . Por lo tanto, el movimiento del sistema para t ⱖ 0 se obtiene 3 por x(t) = e 1 - t 2 FG - cos H 3 1 3 tt sen 2 2 3 IJ K (10.19) lo que también puede ponerse en la forma de la ecuación (10.14) como 1 x(t) = Caso III: 2 -2t cos e 3 FG 3 t + 150∞IJ H2 K (10.20) Raíces reales e iguales Este caso especial se presenta cuando b2 = 4 mk, es decir, cuando la fricción y la rigidez están balanceadas, lo que produce la respuesta no oscilatoria más rápida posible. Esta respuesta se llama críticamente amortiguada. Mediante la ecuación (10.3), puede demostrarse que tiene raíces iguales y reales s, es decir, raíces repetidas. La solución tiene la forma x(t) = (c1 + c2 t)est (10.21) donde s1 = s2 = s = – b . Por lo tanto, la ecuación (10.21) puede escribirse como 2m x(t) = (c1 + c2 t) e - b t 2m (10.22) La igura 10.5 muestra las ubicaciones de polos y la respuesta de tiempo correspondiente a una condición inicial no cero. Cuando los polos de un sistema de segundo orden son reales e iguales, el sistema muestra un movimiento críticamente amortiguado: la respuesta no oscilatoria más rápida posible. Este tercer caso de amortiguamiento crítico es generalmente una situación deseable, ya que el sistema nuliica las condiciones iniciales de no cero y regresa a su posición nominal lo más rápidamente posible sin comportamiento oscilatorio. 246 CAPÍTULO 10 Control x (t) Im{s} Re{s} Figura 10.5 t Ubicación de raíces (polos) y respuesta del sistema de un sistema críticamente amortiguado Ejemplo 10.3 Movimiento de un bloque con raíces iguales y reales Para el sistema de la igura 10.2, los parámetros son m = 1, b = 4 y k = 4. La ecuación característica es (10.23) s 2 + 4s + 4 = 0 cuyas raíces son s1 = s2 = s = –2. Por lo tanto, la respuesta tiene la siguiente forma: x(t) = (c1 + c2 t)e–2t (10.24) Para el bloque que estuvo inicialmente en reposo cuando se liberó de la posición x = –1, las condiciones iniciales son x(0) = –1 y x· (0) = 0, lo cual se utilizará para determinar c1 y c2. Para cumplir con estas condiciones en t = 0, se tiene que c1 = –1, y –2c1 + c2 = 0 (10.25) La ecuación (10.25) se cumple mediante c1 = –1 y c2 = –2. De este modo, el movimiento del sistema para t ≥ 0 se obtiene por (10.26) x(t) = (–1 – 2t)e–2t En los ejemplos 10.2 y 10.3, todos los sistemas estuvieron estables. Para cualquier sistema físico pasivo como el de la igura 10.2, éste será el caso. Estos sistemas mecánicos siempre tienen las propiedades m > 0; b > 0 y k > 0 (10.27) En el caso de que un sistema no sea estable, no siempre será posible cambiar los parámetros del sistema físico. Por lo tanto, tiene que usarse el concepto de un control retroalimentado, donde deberá ser posible cambiar de manera efectiva los valores de uno o más de los coeicientes de la ecuación característica, de tal modo que el sistema resultante sea estable. Esto se analizará en la siguiente sección. 10.3 Control retroalimentado En el caso de un control de lazo abierto de un robot, es decir, sin retroalimentación, el par de torsión o las fuerzas en un actuador pueden computarse en forma directa a partir del modelo dinámico del manipulador que se calculó en los capítulos 8 y 9, en las ecuaciones (8.44a) o 10.3 Control retroalimentado 247 (9.9a). Utilizando, por ejemplo, la ecuación (8.44a) —el comportamiento dinámico de un manipulador para una trayectoria determinada, es decir, para pd, ṗd y p̈ d—, las ecuaciones de movimiento se expresan como q d + hd + g d = td I ɺɺ (10.28) donde pd, ṗd y p̈d denotan los vectores n-dimensionales —siendo n el número de articulaciones del manipulador— de las posiciones, velocidades y aceleraciones de articulaciones deseadas, respectivamente. Estos valores se conocen a partir del generador de trayectorias, como se indica en la igura 10.1. Además, I: la matriz de inercia generalizada de n × n (GIM), que es una función de los ángulos de articulación pd. hd: el vector n-dimensional de los términos de inercia convectiva (VCI), que es una función de ángulos y velocidades de articulaciones, es decir, pd, ṗd. fd: el vector n-dimensional de aceleraciones gravitacionales, que es una función únicamente de los ángulos de articulación, es decir, pd. sd: el vector n-dimensional de las fuerzas generalizadas, que pueden ser pares de torsión o fuerzas en las articulaciones, dependiendo del tipo de articulaciones utilizadas, es decir, revolutas o prismáticas, respectivamente. Los pares de torsión o fuerzas de articulaciones surgen debido a la presencia de los actuadores necesarios para impulsar el robot a lo largo de la trayectoria de las articulaciones deseada, es decir, pd, ṗd y p̈ d. Observe que cuando se usa la ecuación (10.28), el robot no seguirá la trayectoria deseada, debido a incertidumbres acerca de la longitud de eslabones, masa e inercia, así como por la no consideración de fricción, holguras, etc. Por lo tanto, el control por retroalimentación es esencial, donde se retroalimentan al sistema de control las posiciones reales de las articulaciones o el efector inal y a veces sus derivadas, como se indica en la igura 10.1 mediante las líneas punteadas. ¿Qué es lo que se Con el in de hacer esto, los robots están equipados con retroalimenta? sensores en cada articulación para medir los ángulos de Se retroalimenta el estado actual del las articulaciones y a veces también se instalan sensores robot, es decir, la posición y frecuende velocidad, por ejemplo, tacómetros. Los principios temente la velocidad de cada articude algunos de estos sensores se explicaron en el capí- lación. tulo 4. Para el control retroalimentado, el robot acepta un vector de pares de torsión y fuerzas de las articulaciones, denotados por s, del sistema de control. La ecuación (10.28) computa estos pares de torsión y fuerzas de articulaciones para el sistema de control, mientras que los sensores del manipulador leen el vector de posiciones de las articulaciones p y las velocidades de las articulaciones ṗ para el controlador. Observe que los pares de torsión y fuerzas de las articulaciones td son necesarios para producir la trayectoria deseada pd. Si el modelo dinámico fue completo y exacto, y si no hubo presencia de ruidos u otras perturbaciones, el uso continuo de la ecuación (10.28) a lo largo de la trayectoria deseada lo produciría, y no habrá error entre las posiciones y velocidades de articulaciones deseadas y reales. Puesto que esto no sucede en la realidad, debido a la imperfección del modelo dinámico y la inevitable presencia de perturbaciones, la retroalimentación se utiliza para computar el error, que también se conoce como servo-error, encontrando la diferencia entre las posiciones deseadas y reales, y, del mismo modo, entre las velocidades deseadas y reales, es decir, e = q – q ; y eɺ = qɺ – qɺ (10.29) d d 248 CAPÍTULO 10 Control El sistema de control computará entonces el par de torsión como alguna función del servo-error para ser transmitido a los actuadores, de manera que el servo-error sea mínimo o cero. Un sistema de control que hace uso de la retroalimentación se llama sistema de lazo cerrado. El lazo cerrado de uno de estos sistemas de control alrededor del robot es aparente, según la igura 10.1, mientras que la igura 10.6 muestra una implementación por hardware del sistema de control de lazo cerrado. En la igura 10.6, el comparador es un circuito electrónico que mide el error entre la salida deseada (también conocido como “referencia”) y la salida real o medida, y produce señales para el controlador. El controlador puede ser una computadora o microcomputadora o incluso un microprocesador que implemente una estrategia de control basada en la señal de error arriba mencionada. La señal del controlador se convierte entonces en una señal análoga mediante un convertidor de digital a análogo (DAC), otro circuito electrónico, antes de ser ampliada por el ampliicador de potencia con el in de acrecentar la pequeña señal, de tal modo que pueda mover el actuador de la articulación. Luego se usa un sensor para detectar la posición y, de ser posible, la velocidad de la articulación, lo que retroalimenta al comparador después de que se convierte la señal análoga por medio de un convertidor de análogo a digital (ADC), que es otro circuito electrónico. En el control retroalimentado, la señal de control sd no es la única entrada que actúa sobre el sistema. Como se muestra en la igura 10.6, las perturbaciones también son entradas, que no se controlan pero que inluyen en el comportamiento de la salida. Por lo tanto, el controlador debe diseñarse, además para la minimización del servo-error, para reducir los efectos de las perturbaciones. Como resultado, el robot deberá comportarse de manera estable. Si se logra esto, puede decirse que el controlador rechaza las perturbaciones. El doble objetivo de seguir la trayectoria o rastreo y rechazar las perturbaciones es central para cualquier metodología de control. Deberá observarse que un sistema de control incorrectamente diseñado a veces puede dar como resultado el desempeño inestable, en el cual los servo-errores se aumentan en vez de reducirse. Por lo tanto, la primera tarea de un ingeniero de control es comprobar que su diseño produce un sistema estable; en segundo lugar, debe comprobar que el desempeño de lazo cerrado del sistema es satisfactorio, es decir, que el error se encuentra dentro de los límites aceptados. En la práctica, estas comprobaciones podrán abarcar desde comprobaciones matemáticas basadas en ciertas suposiciones y modelos hasta resultados más empíricos, como los que se obtienen a través de la simulación numérica o la experimentación. Comparador Controlador Ampliicador de potencia Actuador Manipulador Perturbaciones Elementos de retroalimentación Figura 10.6 Sensores Implementación por hardware de un controlador de lazo cerrado 10.3 10.3.1 249 Control retroalimentado Control retroalimentado de un bloque En esta subsección se presenta una ilustración del control por retroalimentación, utilizando el sistema de masa-resorte-amortiguador que se presentó en la sección 10.2. Suponga que la respuesta natural del bloque no es como se desea. Quizá sea subamortiguada y oscilatoria y se quiera que sea críticamente amortiguada. O tal vez el resorte falte por completo (k = 0) y de esta forma el sistema nunca regrese a x = 0 si éste se perturba. Mediante el uso de sensores, de un actuador y de un sistema de control, puede modiicarse el comportamiento del sistema. La igura 10.7a) presenta un sistema de masa-resorte-amortiguador con la adición de un actuador, por lo que es posible aplicar una fuerza ƒ al bloque. El diagrama de cuerpo libre que se presenta en la igura 10.7b) lleva a la siguiente ecuación de movimiento: (10.30a) x + b xɺ + kx = f m ɺɺ que tiene una representación alternativa, a saber, ɺɺ x + 2Vw n xɺ + w 2n x = f ¢ (10.30b) donde f b k ;V∫ ; y f¢ ∫ m m 2 km wn ∫ (10.30c) Los términos wn y z se llaman frecuencia natural y razón de amortiguamiento, respectivamente, mientras que ƒ⬘ es la función de forzamiento modiicada que actúa sobre el sistema. Ahora supóngase que hay sensores capaces de detectar la posición y velocidad del bloque. Se propone una ley de control que computa la fuerza y que deberá ser aplicada por los actuadores como función de la retroalimentación detectada, es decir, (10.31) f = kp (xd – x) + kv ( xɺd - xɺ) donde xd y ẋd son la posición y velocidad deseada del bloque. Si el bloque tiene que mantenerse en reposo en el origen, entonces xd = 0 y ẋd = 0. Este control se ilustra en la igura 10.8, donde ẍd representa la aceleración deseada que también se deriva para ser cero, es decir, ẍd = 0. Observe que la parte izquierda de la línea punteada en la igura 10.8 es el sistema de control (usualmente implementado en una computadora), mientras que la parte de la derecha de la línea punteada es el sistema físico. Implícitas en la igura están las interfaces entre la computadora de control y los comandos del actuador de salida, junto con la información del sensor de entrada. El sistema de control propuesto es un sistema de regulación de posiciones, que simplemente trata de mantener la posición del bloque en un lugar ijo, independientemente de las fuerzas de perturbación aplicadas al bloque. Al igualar la dinámica de lazo x f k m b a) Sistema físico f m kx . bx b) Diagrama de cuerpo libre Figura 10.7 Un sistema de masa-resorte-amortiguador con un actuador 250 CAPÍTULO 10 Control Entrada de control f + Deseado (referencia) ..xd Σ + xd Σ x Salida kv Retroalimenmentaciones Σ + + . x + kp . xd Sistema – – El controlador lee la entrada del sensor y escribe los comandos de salida del actuador Figura 10.8 Un sistema de control retroalimentado abierto del bloque, ecuación (10.30a), con la ley de control de la ecuación (10.31), se calcula la dinámica de lazo cerrado como x + b xɺ + kx = – k px – k v xɺ m ɺɺ (10.32a) x + (b + kv) xɺ + (k + kp)x = 0 m ɺɺ (10.32b) x + b¢ xɺ + k¢x = 0 m ɺɺ (10.32c) o lo que da donde b⬘ ≡ b + kv y k⬘ ≡ k + kp. Según las ecuaciones (10.32b-c), queda claro que, mediante la elección de las ganancias de control kv y kp, puede lograrse que el sistema de lazo cerrado se comporte como cualquiera de los sistemas de segundo orden que se explicaron en la sección 10.2. Las ganancias se seleccionan para obtener la amortiguación crítica, es decir, b⬘ = 2 冪莦 mk⬘. Observe que kv y kp podrán ser negativos o positivos, dependiendo de los parámetros del sistema original. Sin embargo, si b⬘ o k⬘ son negativos el resultado podría derivar en un sistema inestable. Esta inestabilidad sería obvia si se escribiera la solución de la ecuación diferencial de segundo orden del lazo cerrado, ecuación (10.32b), en la forma de las ecuaciones (10.4), (10.12) y (10.21). También tiene sentido intuitivo que si b⬘ o k⬘ son negativos, los servo-errores tienden a magniicarse en vez de reducirse. 10.3.2 Representación de la función de transferencia La ley de control arriba mencionada también puede explicarse mediante el concepto de la función de transferencia (TF) que se usa extensamente en la teoría de control. La deinición de una TF se da en el apéndice A. Ahora bien, para el sistema de masa-resorte amortiguado que se muestra en la igura 10.7, la TF de lazo El papel de T abierto, conforme a la ecuación (A.26 a), se obtiene Cambia las ecuaciones diferenciales a por algebraicas para simplificar las estrategias de solución. G (s) = x ( s) 1 = 2 f ( s) ms + bs + k (10.33) 10.3 Deseado xd (s) + e(s) Σ – Controlador kp + kvs Control retroalimentado f (s) Sistema G(s) 251 Salida x(s) Figura 10.9 Representación de la función de transferencia del control retroalimentada donde x(s) y f(s) son las transformadas de Laplace de los parámetros de variación en el tiempo, es decir, el desplazamiento x y la fuerza f, respectivamente. Para el control retroalimentado, se selecciona la función de forzamiento f de acuerdo con la ecuación (10.31), de tal modo que el bloque siga o rastree una trayectoria deseada denotada por xd, que por lo general es también una función del tiempo. Por ende, el sistema de lazo cerrado para el control retroalimentado como se muestra en la igura 10.8 también tiene la representación que se muestra en la igura 10.9, donde la salida x(s), usando las reglas de las manipulaciones del diagrama de bloques, puede escribirse como x(s) = G(s) (kp + kv s) [xd (s) – x(s)] (10.34a) En la igura 10.9, la señal de entrada al controlador es el error e(s), deinido como la diferencia entre la salida real y la deseada que genera la fuerza necesaria f(s), es decir, f(s) = (kp + kvs)e(s). Mediante el reordenamiento de la ecuación (10.34a), puede obtenerse fácilmente la TF de lazo cerrado, relacionando la salida x(s) y la salida deseada xd(s) como G ( s) ( k p + k v s) x ( s) = (10.34b) xd ( s) 1 + G ( s) ( k p + k v s) Según la ecuación (10.34b), queda claro que para un comportamiento deseado del sistema de lazo cerrado, los polos de la ecuación característica deberán seleccionarse de manera apropiada. Según la ecuación (10.34b), la ecuación característica se obtiene por 1 + G(s)(kp + kv s) = 0 (10.35) Si se sustituye la expresión para la TF, G(s) que se obtiene por la ecuación (10.33), puede reescribirse la ecuación (10.35), que proporciona la expresión equivalente a la ecuación (10.32c). Entonces, según la ecuación (10.35), el sistema de lazo cerrado se amortigua críticamente cuando sus polos son iguales, es decir, s1 = s2. Para esta situación, b⬘ = 2冪莦 mk⬘, que también se obtiene según el análisis de dominio de tiempo que se presenta en la subsección 10.3.1. Ejemplo 10.4 Diseño sencillo de controladores Si los parámetros del sistema de la igura 10.7 son m = 1, b = 1 y k = 1, las ganancias kp y kv para una ley de control de regulación de posiciones deberán encontrarse para un sistema críticamente amortiguado con la rigidez de lazo cerrado de 16.0, es decir, k⬘ = 16.0. Para la amortiguación crítica se requiere b⬘ = 2兹苶 mk⬘ = 8.0, es decir, b¢ ∫ b + kv = 8 (10.36) Por lo tanto, kv = 7 porque b = 1. Además, kp = 15, ya que k⬘ ≡ k + kp = 16 y k = 1. 252 CAPÍTULO 10 Control Ejemplo 10.5 Gráficas de MATLAB para el comportamiento del bloque de la figura 10.7 Para los parámetros señalados en el ejemplo 10.4, la TF del bloque se obtiene según la ecuación (10.33) como x ( s) 1 = 2 (10.37a) f ( s) s + s+1 El comportamiento del bloque x(s) para una perturbación inicial, por ejemplo, la entrada de pulsos, es decir, f(s) = 1, se obtiene mediante el comando que se proporciona a continuación: G(s) = >> num = 1; >> den = [1 1 1]; >> impulse(num,den); La respuesta se muestra en la igura 10.10a), donde la amplitud a lo largo del eje Y representa el valor de x(t). Observe la sobreoscilación y la naturaleza vibratoria de la respuesta al principio y antes de estabilizarse. Ésta es la característica de un sistema subamortiguado. Ahora bien, la respuesta del sistema se graica para el bloque controlado por retroalimentación mediante la función de transferencia de lazo cerrado que se obtiene según la ecuación (10.36), es decir, G ( s) ( k p + k v s) x ( s) 7 s + 15 = = 2 (10.37b) xd ( s) 1 + G ( s) ( k p + k v s) s + 8s + 16 donde se emplea el G(s) de la ecuación (10.37a). La respuesta x(s) para el pulso de entrada xd(s) = 1 puede entonces obtenerse usando los siguientes comandos: >> numc = [7 15]; >> denc = [1 8 16]; >> impulse(numc,denc); La respuesta se muestra en la igura 10.10b), donde la estabilidad asintótica se asegura, puesto que los dos polos de la ecuación característica son –4. 10.4 El desempeño de sistemas de control retroalimentados La habilidad para ajustar el desempeño de un sistema es la ventaja distintiva de cualquier control retroalimentado. Con el in de analizar y diseñar sistemas de control, tiene que deinirse y medirse su desempeño. Luego, basado en el desempeño deseado, podrán ajustarse los parámetros del sistema para dar la respuesta deseada. Puesto que los sistemas de control son inherentemente dinámicos, su desempeño usualmente se especiica en términos de su respuesta en tiempo para una señal de entrada especíica, así como el error de estado estable resultante. Es necesario determinar inicialmente si el sistema es estable o no, es decir, si la respuesta a una señal de entrada especíica proporciona las medidas deseadas de desempeño. Sin embargo, observe que usualmente se desconoce la señal de entrada real a un sistema. Por 10.4 El desempeño de sistemas de control retroalimentados 253 0.6 0.5 Amplitud 0.4 0.3 0.2 0.1 0 –0.1 0 2 4 6 Tiempo (seg) 8 10 12 a) Sin control 7 6 5 Amplitud 4 3 2 1 0 –1 0 0.5 1 1.5 Tiempo (seg) 2 2.5 3 b) Con control PD Figura 10.10 Comportamiento del bloque sin y con control ende, se selecciona normalmente una señal de entrada estándar de prueba. Una de ellas es la entrada escalonada. Las entradas escalonadas son, de hecho, también entradas comunes a muchos procesos físicos. En aplicaciones de control, una práctica común es la de evaluar el comportamiento de un sistema con base en su respuesta escalonada. Este planteamiento 254 CAPÍTULO 10 Control es bastante útil porque hay una correlación razonable entre la respuesta de un sistema a una entrada de prueba estándar y la capacidad del sistema para funcionar en condiciones de operación normales. Además, el uso de una entrada estándar le permite al diseñador la comparación de varios diseños disponibles. Con el in de evaluar el desempeño de un sistema de control, considere el sistema que se presenta en la igura 10.7, cuyo comportamiento se evaluará contra una entrada escalonada unitaria. Para este tipo de estudio, es más conveniente usar la forma de la ecuación dinámica de movimiento que se da en la ecuación (10.30b), donde la correspondiente función de transferencia (TF) se obtiene en la ecuación (A.26b). Para una entrada escalonada unitaria, es decir, ƒ⬘(s) = 1/s, la salida x(s) se obtiene por x(s) = G(s) f ¢(s) = 1 s ( s 2 + 2Vw n s + w 2n ) (10.38a) 1 s ( s + s1) ( s + s2 ) (10.38b) que puede ser reordenada como x(s) = G(s) f ¢(s) = donde s1 y s2 son las raíces de la ecuación característica de los polos del sistema que se proporciona en la ecuación (A.27). Mediante las fórmulas inversas de la transformada de Laplace, la salida x, como función de tiempo, t, se obtiene como 1 (10.39) x =1– e– Vw nt sen (w n 1 - V 2 t + f), donde f = cos–1 V 2 1- V y el término wn冪莦 1 – ς2, se conoce como frecuencia natural amortiguada. Dependiendo del valor de la razón de amortiguamiento ζ, estos polos pueden ser reales y desiguales (ζ > 1) o reales e iguales (ζ = 1) o complejos conjugados (ζ < 1). Por lo tanto, se reiere al sistema como sobreamortiguado, críticamente amortiguado y sub-amortiguado, respectivamente. Para varios valores de la razón de amortiguamiento ζ, se muestran las respuestas en la igura 10.10. Conforme se reduzca ζ, se acercan los polos del sistema al eje imaginario y la respuesta se vuelve cada vez más oscilatoria. Ahora, los desempeños medidos respecto a la respuesta transitoria de la entrada escalonada a un sistema se muestran en la igura 10.11. La prontitud de la respuesta se mide por el tiempo de subida Tr y el tiempo pico Tp, como se indica en la igura. Para sistemas sub-amortiguados con ζ < 1 y una sobreoscilación, el tiempo de subida Tr es un índice útil, mientras que para los sistemas sobreamortiguados ζ > 1 y sin sobreoscilación, no se deine ningún tiempo pico. Por lo tanto, se usa normalmente un tiempo de subida de 10-90% Tr1, como se indica en la igura 10.11. La similitud con la que la respuesta real coincide con la entrada escalonada se mide por el porcentaje de sobreoscilación y el tiempo de estabilización Ts. El porcentaje de sobreoscilación (PO) se deine como M pt - f v (10.40) PO = ¥ 100% fv donde Mpt es el valor pico de la respuesta de tiempo y ƒv es el valor inal de la respuesta. Normalmente, ƒv es la magnitud de la entrada, pero muchos sistemas tienen un valor inal diferente de la magnitud de entrada deseada. Para el sistema con un paso unitario que se representa en la ecuación (10.38a), el valor de ƒv es uno. Entonces, el tiempo de estabilización 10.5 1.8 ζ = 0.1 1.6 0.2 Una articulación robótica 255 1.4 0.4 1.2 Salida, x 0.7 1.0 0.8 1.0 0.6 2.0 0.4 0.2 0.0 0 2 Figura 10.11 4 6 Tiempo, t 8 10 12 Respuesta de un sistema de segundo orden Ts se deine como el tiempo necesario del sistema para estabilizarse dentro de un determinado porcentaje d de la amplitud de entrada. La banda de ± d se muestra en la igura 10.11. Para el sistema de segundo orden en estudio, la respuesta permanece dentro de 2% después de cuatro constantes de tiempo, es decir, 4 Ts = 4t = (10.41) Vw n Finalmente, el error de estado estable se mide en la respuesta escalonada del sistema, como se muestra en la igura 10.12. Por otro lado, los requerimientos de la respuesta transitoria son la prontitud de respuesta Tr y Tp y la cercanía de la respuesta a lo deseado Mpt y Ts, que son contradictorias. Por lo tanto, tiene que encontrarse una solución intermedia. Para un sistema robótico, no puede permitirse una respuesta oscilatoria, particularmente en una operación de levantar y colocar, donde un efector inal podrá chocar contra el objeto antes de recogerlo para su manipulación. Por lo tanto, la más alta velocidad, pero sin una respuesta oscilatoria, dicta que los parámetros de diseño del controlador deberán seleccionarse de tal manera que tengan una razón de amortiguamiento igual a uno o cerca de uno, pero menos que uno. 10.5 Una articulación robótica En esta sección se desarrollará el modelo para una articulación robótica. Para ello, primero que nada se desarrollará el modelo del par de torsión de un motor de corriente directa (CD) que se muestra en la igura 3.8 y que comúnmente se usa en robots industriales, seguido 256 CAPÍTULO 10 Control M pt Sobreoscilación Respuesta 1.0 + δ 1.0 0.9 0.1 0 est 1.0 – δ Tr1 Tr Tiempo de subida Figura 10.12 Ts Tiempo de estabilización Tp Tiempo pico Tiempo,t Respuesta escalonada de un sistema de segundo orden por el modelo general de articulaciones. Puesto que un actuador también se equipa con un conjunto de engranajes o arreglos de poleas de banda o cadena articulada para aplicar el par de torsión o la fuerza al eslabón colindante (el próximo más alto), éstos también se tomarán en cuenta en el modelo. 10.5.1 Modelo de un motor CD Un motor de CD, como el que se muestra en la igura 3.7, trabaja con el principio de que un conductor de corriente en un campo magnético experimenta una fuerza. Si el estator del motor produce un lujo de inducción magnética y la corriente en el rotor (que también se llama inducido o armadura) es ia, entonces habrá un par de torsión sobre el rotor que lo hace girar. La magnitud de este par de torsión es tm = km ia (10.42) donde tm y km son el par del motor y la constante del motor, respectivamente. La constante del par de torsión del motor puede determinarse mediante un conjunto de curvas de par/velocidad que se presentan en la igura 3.8 para diferentes valores de los voltajes aplicados. La ecuación (10.42) implica que el par de torsión sobre el rotor se controla con el control de la corriente del inducido. Observe que cuando un motor gira, también actúa como un generador y se desarrolla un voltaje a través de su inducido. Este voltaje es proporcional a la velocidad del conductor en el campo y se llama fuerza contraelectromotriz (EMF). Esta fuerza contraelectromotriz, denotada como vb, se opone al lujo de corriente en el conductor, lo que puede expresarse como vb = ke qɺ m (10.43) donde ke es la constante de fuerza contraelectromotriz, y q̇ m denota la velocidad angular del rotor del motor. Además, tomando en cuenta el diagrama de circuitos para un motor CD 10.5 Una articulación robótica 257 controlado por el inducido que se representa en la igura 10.13, la ecuación diferencial para el circuito se obtiene como di (10.44) la a + ra ia = va – ke qɺ m dt donde va, la y vb son la fuente de voltaje, la inductancia del devanado del inducido y la fuerza contraelectromotriz generada, respectivamente. En un control de robot, es deseable controlar el par de torsión generado por el motor en lugar de la velocidad, por medio de los circuitos electrónicos controladores del motor. Estos circuitos de accionamiento detectan la corriente la ra a través del inducido y continuamente ajustan la fuente de voltaje va, para que una corriente deseada + . ia luya a través del inducido. Este tipo de circuito + v keqm a se llama control del motor por ampliicación de la ia – – corriente. En estos sistemas de accionamiento por corriente, la velocidad con la que puede controlarse el cambio de corriente del inducido se limita Figura 10.13 El circuito del inducido por la inductancia del motor Ia y un límite superior de un motor de CD sobre la capacidad de la fuente de voltaje va. 10.5.2 Modelo de articulaciones independiente En esta sección se calcularán los modelos de ecuación diferencial y la función de transferencia que tratan cada ¿Por qué engranajes en robots? eslabón del manipulador robótico como un sistema independiente de una sola entrada/una sola salida (SISO). Se necesitan engranajes para la reducLa igura 10.14 muestra un eslabón con la inercia ción de velocidad de un motor de CD li, conectado al motor de CD a través de un par de en- que se utiliza en robots, el cual sólo granajes. La razón de radios es h: 1, es decir, se trata es eficiente con altas velocidades, de 2 000 RPM o más. de un tren de engranajes reductores. La razón de radios normal h en aplicaciones robóticas está en el rango de 20 a 200 o más. Luego se combinan las inercias del actuador (Ia) y de los engranajes (Ig) como Im = Ia + Ig. El término Im se llama aquí inercia del rotor. En términos del ángulo de rotación del motor qm, se da la ecuación de movimiento del sistema de eslabones del actuador, por t t (10.45) Im qɺɺ m + bm qɺ m = t m – l = k m ia – l h h donde el par generado aplicado al rotor es tm y el par La velocidad común de de carga es tl. La expresión para tm aportada por la una articulación de robot ecuación (10.42) es una función de la corriente ia que Alrededor de 60 rpm. luye en el circuito del inducido y que se usa en la ecuación (10.45). Además, bm es el coeiciente de fricción viscosa que incluye fricciones en las escobillas y engranajes. Añadido a esto, la relación de radios (h) causa un aumento del par de torsión que se ve en la carga y una reducción de la velocidad de la carga, lo que proporciona qɺ (10.46) t l = ht m, y qɺ l = m h 258 CAPÍTULO 10 Control ql Ig bl h Il tl . qm bm Ia tm Figura 10.14 Un eslabón conectado a un motor CD a través del tren de engranes donde h >> 1. Si se expresa el par de torsión de carga tl conforme a los parámetros de carga, a saber, ql y bl, es decir, tl = Ilq̈l + blq, donde bl es la fricción viscosa en los cojinetes de car-ga, entonces la ecuación (10.45) se reescribe como 1 (10.47) I m qɺɺ m + bm qɺ m + (Il qɺɺl + bl qɺ l ) = t m = km ia h Si se usa la relación del movimiento de motor y eslabón que se obtiene en la ecuación (10.46), la ecuación (10.47) puede escribirse en términos de las variables del motor qm y tm como FI GH + m Il h2 I qɺɺ + Fb JK GH m m + bl h2 I qɺ JK m = tm (10.48a) mientras que, en términos de las variables de carga, es decir, ql y tl, lo mismo puede expresarse como (10.48b) (I + h 2I ) qɺɺ + (b + h 2 b ) qɺ = t l m l l m l l El término ll + h2lm se llama inercia efectiva, que se ve en el lado del eslabón de salida del engranaje. Asimismo, el término bl + h2bm se conoce como amortiguación efectiva. Observe que en articulaciones de muchos engranajes, es decir, h >> 1, la inercia del rotor del motor puede ser una parte signiicativa de la inercia efectiva combinada. Este efecto permite la suposición de que la inercia efectiva es una constante. Se sabe, con base en la dinámica, que la inercia del eslabón o de la carga Il de una articulación del mecanismo en realidad varía según la coniguración y la carga. Sin embargo, en robots de múltiples engranajes, las 10.5 259 Una articulación robótica variaciones representan un menor porcentaje de lo que representarían en un manipulador de accionamiento directo, es decir, h = 1. Con el in de encontrar la representación de la función de transferencia (TF) de la articulación con el motor de CD, los engranajes y el eslabón, se escriben las ecuaciones (10.44) y (10.45) en el dominio de Laplace como (10.49) (la s + ra)ia (s) = va (s) – ke sqm (s) t l ( s) (Im s 2 + b ms)qm(s) = k m ia (s) – h (10.50) donde las variables con (s) representan las transformadas de Laplace de la correspondiente función en el dominio del tiempo. El diagrama de bloques del sistema de actuador/articulación se presenta en la igura 10.15. La TF de va(s) a qm(s) se obtiene con tl(s) = 0 como q m ( s) km (10.51) = s [(la s + ra ) ( I m s + bm ) + k e k m ] v a ( s) mientras que la TF del par de carga tl(s) a qm(s) se obtiene con va(s) = 0 como q m ( s) - (la s + ra )/ h = (10.52) t l ( s) s [(la s + ra ) ( I m s + bm) + k e k m] Observe que la magnitud de esta última función de transferencia, es decir, el efecto del par de torsión de la carga sobre el ángulo del motor, se reduce por la relación de reducción (h). Esto también se señaló después de la ecuación (10.48b). Para muchos sistemas electromecánicos, por ejemplo, los robots en estudio, se supone por lo general que la constante de tiempo eléctrica dada por la /ra es mucho más pequeña que la constante de tiempo mecánica Im /bm. Por lo tanto, el orden del modelo dinámico del actuador puede reducirse en el orden por uno. Esto se realiza de la siguiente manera. Se divide el numerador y denominador de las ecuaciones (10.51) y (10.52) entre ra y se desprecia la constante de tiempo eléctrica asignándola en cero. Las TF de arriba se reescriben entonces como q m ( s) q ( s) - 1/h k m / ra = ;y m = t l ( s) s ( Is + b) s ( Is + b) v a ( s) donde I = I m ; b ∫ bm + (10.53a) ke km ra (10.53b) Puesto que se supusieron tl(s) = 0 y va = 0 mientras se obtuvieron las TF de lazo abierto de las ecuaciones (10.51) y (10.52), la respuesta total del sistema de orden reducido en el dominio de tiempo se obtiene mediante la superposición de las dos TF obtenidas por la ecuatl /h va(s) + Σ – 1 las + ra ia(s) km + – Σ 1 Im s + b m 1 s ke Figura 10.15 Diagrama de bloques de un motor de CD qm(s) 260 CAPÍTULO 10 Control ción (10.53a). Luego se realiza la transformación de Laplace inversa, lo que proporcionará la siguiente expresión: I qɺɺ m + b qɺ m = ua – t d donde (10.54a) t km va ; y t d ∫ l (10.54b) h ra En las ecuaciones (10.54a-b), b repretd senta la amortiguación efectiva ua de la – qm(s) ua 1 1 Σ entrada de control y td, la entrada de pers Is + b + turbación. El diagrama de bloques correspondiente se muestra en la igura 10.16. Figura 10.16 Diagrama de bloques simpli- ua ∫ ficado del motor de CD Ejemplo 10.6 Inercia efectiva Si la inercia del eslabón varía de 2 a 6 kg/m2, la inercia del rotor es 0.02 kg/m2 y la relación de reducción es de 30, entonces las inercias efectivas mínima y máxima se calculan como I mín = Il (mín) + h2 I m = 2 + (900)(0.01) = 11, donde h = 30 I máx = Il (máx) + h2 I m = 6 + (900)(0.01) = 15 Observe que la variación de porcentaje de la inercia efectiva es sólo aproximadamente 27% en comparación con la variación original de 67%. Esto se debe a la presencia de la relación de radios. 10.6 Controlador de articulaciones En esta sección se analizarán varios controladores de retroalimentación, a saber, proporcionales (P), proporcionales y derivativos (PD), así como proporcionales, integrales y derivativos (PID), basándose en el modelo de articulaciones desarrollado en la sección 10.5. Inicialmente, no se supone ninguna perturbación, es decir, td = 0, para la discusión sobre controladores P y PD, mientras que el controlador PID se introduce para rechazar la perturbación. 10.6.1 Controlador proporcional (P) La igura 10.17 presenta el diagrama de bloques de una articulación robótica, ecuación (10.54a), sin perturbación alguna, donde qd(s) y q(s) son el ángulo de articulación deseado y real del motor, mientras que kp es la ganancia del controlador retroalimentado . El subíndice m para el ángulo del motor se abandonará de ahora en adelante. Según la igura 10.17, la función de transferencia de lazo cerrado (TF) se obtiene por (10.55) 10.6 261 Controlador de articulaciones donde wn ∫ kp b ;y V∫ I 2 kpI (10.56) Los términos ωn y ζ se conocen como frecuencia natural y amortiguación del sistema de lazo cerrado de segundo orden que se muestra en la igura 10.17, respectivamente. El comportamiento del sistema se determina por los valores de ζ, es decir, ζ < 1 o subamortiguado, ζ = 1 o críticamente amortiguado y ζ > 1 o sobreamortiguado, como se ve en la sección 10.2 para el sistema de masa-resorte con fricción. Observe que, según la ecuación (10.56), dados los parámetros de sistema I y b, pueden determinarse una frecuencia natural adecuada y la relación de amortiguamiento mediante la selección de la ganancia del controlador kp. Por lo tanto, mediante el cambio de kp, puede alterarse el comportamiento del sistema dado y hacerlo subamortiguado, críticamente amortiguado o sobreamortiguado. Puesto que kp aparece tanto en la expresión de ωn como en la de ζ, no pueden obtenerse los dos de manera simultánea y arbitraria. Por ende, se introduce entonces otro método de control, es decir, el controlador proporcional y derivativo, donde ωn y ζ pueden seleccionarse en forma arbitraria. 10.6.2 Controlador Proporcional-Derivativo (PD) En este controlador, la ganancia se elige como kp + kvs en lugar de kp en la igura 10.17, donde kv se llama ganancia derivativa o ganancia de velocidad. Para este controlador, la TF de lazo cerrado se da como kv s + kp k s / I + w n2 q ( s) (10.57a) = 2 = 2 v q d ( s) s + 2Vw n s + w n2 Is + (b + k v ) s + k p donde la frecuencia natural wn se deine igual que en la ecuación (10.56), mientras que la relación de amortiguamiento se deine como b + kv (10.57b) V ∫ kp I En este punto, tanto la frecuencia natural ωn como la relación de amortiguamiento ζ se determinan entonces por kp y kv. Puede demostrarse que si kp se aumenta, el tiempo de estabilización se reduce (el sistema se vuelve más rápido), mientras que al aumentar kv, se reduce la sobreoscilación, pero el sistema se vuelve más lento. Por ende, mediante la elección correcta de los valores kp y kv, puede elegirse wn y ζ para cumplir con los requerimientos del tiempo de estabilización y la sobreoscilación. Para la amortiguación crítica se obtiene kv = 2冪莦 kpI – b. El controlador que se describió anteriormente se llama proporcional-derivaqd (s) + Figura 10.17 kp Σ – Controlador 1 s (Is + b) q (s) Motor Controlador proporcional de una articulación motorizada 262 CAPÍTULO 10 Control td (s) qd (s) + Figura 10.18 kp + kvs Σ – + – Σ Controlador 1 s (Is + b) q (s) Motor Controlador proporcional-derivativo con perturbación tivo o controlador PD. Es muy versátil y se usa extensamente para el control de robots. Sin embargo, no es capaz de compensar el error de estado estable debido a las holguras o a la fricción no modelada en el sistema mecánico, entre otros factores, lo que puede modelarse como la entrada de perturbación, es decir, td ≠ 0. Esto puede veriicarse mediante la igura 10.18, donde el ángulo q se obtiene primero como kv s + kp t ( s) (10.58) q (s) = qd (s) – d P ( s) P( s) donde el polinomio característico P(s) se obtiene por P(s) ≡ Is2 + (b + kv)s + kp. El error e puede entonces obtenerse como t ( s) Is 2 + bs q (s) + d P ( s) d P( s) Para una entrada escalonada y una perturbación constante, es decir, cuando e(s) = qd (s) – q(s) = (10.59a) qd t ; y t d (s) = d (10.59b) s s el error de estado estable ess se obtiene mediante el teorema de valor inal (Ogata, 1987). Esto se obtiene por t (10.60) ess = lím e(s) = d s Æ0 kp Puesto que td es proporcional a la reducción de engranaje 1/h, el error de estado estable es menor para reducciones de engranaje altas. Además, ess puede hacerse aún más pequeño si la ganancia proporcional kp se hace grande. Sin embargo, el valor de kp no puede aumentarse a cualquier valor, ya que podrá excitar la oscilación estructural. Por lo tanto, se propone un controlador alterno con un término de integración adicional. q d (s) = 10.6.3 Controlador Proporcional-Integral-Derivativo (PID) Mediante el uso de un término de integración con la ley de control de PD, se obtiene lo siguiente: ki (10.61) s donde ki es la ganancia integrativa y la ecuación (10.61) es la bien conocida ley de control PID, como se muestra en la igura 10.19. Este controlador PID puede lograr que el error de estado estable sea cero. Sin embargo, f (s) = kp + kv s + 10.6 Controlador de articulaciones td (s) qd (s) + Σ – Figura 10.19 ki kp + kvs + s + – Σ Controlador 263 q ( s) 1 s (Is + b) Motor Controlador proporcional-integral-derivativo el término de integración tiene que elegirse con cuidado, puesto que un ki grande puede causar la inestabilidad del sistema. Observe que con el término de integración td(s) = 0, la TF del sistema de lazo cerrado se obtiene con k v s 2 + k p s + ki q ( s) = , donde P(s) = Is 3 + (b + kv)s 2 + kp s + k i q d ( s) P ( s) (10.62) que es un sistema de tercer orden porque el orden más alto del polinomio característico es tres. Si se aplica un criterio de estabilidad, por ejemplo, el de Routh-Hurwitz (Ogata, 1987) al polinomio arriba mencionado, resultará que el sistema de lazo cerrado es estable si todas las ganancias kp, kv y ki son positivas; además, (b + k v ) k p (10.63) I Asimismo, el error de estado estable puede calcularse de manera parecida a las ecuaciones (10.58)-(10.60) como ki < q(s) = ki + k p s + k v s 2 st d ( s) qd (s) – P ( s) P ( s) e(s) = qd (s) – q(s) = (10.64a) st d ( s) Is 3 + bs 2 qd (s) + P ( s) P ( s) ess = s lím 0 se(s) = s lím 0 (10.64b) q t st d = 0, donde qd (s) = d ; y t d (s) = d s s P ( s) (10.64c) Por lo tanto, el controlador PID causa que el robot alcance el objetivo deseado, incluso en presencia de una perturbación constante. 10.6.4 Selección de ganancias del controlador Uno de los problemas principales que ocurre con mayor frecuencia en la implementación de uno de los controladores arriba mencionados principalmente en el PID, es la elección de las ganancias del controlador, lo que también se llama sintonía. Como puede verse según la desigualdad de ecuación (10.63), la magnitud de ki se limita por la restricción de estabilidad. Por lo Frecuencia de resonancia En esta frecuencia un puente se derrumbará si se permite que haya vibración durante algún tiempo. 264 CAPÍTULO 10 Control Tabla 10.1 Respuesta del lazo cerrado kp kv ki Efecto de las ganancias en los controladores Tiempo de subida Sobreoscilación Tiempo de estabilización Error de estado estable Disminución Cambio pequeño Disminución Aumento Disminución Aumento Cambio pequeño Disminución Aumento Disminución Cambio pequeño Eliminación tanto, una regla general de diseño común es la de establecer primero ki = 0 y diseñar la ganancia proporcional y derivativa, kp y kv, respectivamente, para obtener el comportamiento transitorio deseado, es decir, tiempo de subida, tiempo de estabilización, etc. También puede tomarse en consideración el efecto de lexibilidad de la articulación mientras se eligen las ganancias. Por ejemplo, suponga que kj es la rigidez efectiva de la articulación, por lo tanto, la frecuencia de resonancia de la articulación es wj = 冪莦 kj /I. Es práctica de ingeniería común limitar wn de la ecuación (10.56b) a no más que la mitad de ωj para evitar la excitación de la resonancia de la articulación. Para la selección de kp y kv, debe recordarse que un controlador proporcional con una ganancia kp reducirá el tiempo de subida y el error de estado estable, pero jamás lo eliminará, mientras que un control derivativo con una ganancia kv tendrá el efecto de aumentar la estabilidad del sistema, es decir, reducirá la sobreoscilación y mejorará la respuesta transitoria. Finalmente, un control integral con la ganancia ki eliminará el error de estado estable, pero podrá hacer que la respuesta transitoria empeore. Estos puntos se resumirán en la tabla 10.1. Aquí se hace notar que las correlaciones señaladas en la tabla 10.1 posiblemente no sean exactas porque kp, kv y ki son interdependientes. De hecho, el cambio de una de estas variables puede cambiar el efecto de las otras dos. Por esta razón, esta tabla sólo deberá usarse como referencia cuando se determinan los valores de ganancia. Una vez que se hayan elegido kp y kv, se obtiene la ganancia ki mediante la ecuación (10.63). Finalmente, puede tenerse en cuenta que no se necesita implementar los tres controladores (proporcional, derivativo e integral) en un solo sistema si no es necesario. Por ejemplo, si un controlador PI da una respuesta suicientemente buena, no es necesario implementar un controlador derivativo en el sistema. El controlador deberá mantenerse lo más sencillo posible. Ejemplo 10.7 Respuesta de un controlador de articulación mediante MATLAB Para un brazo de un eslabón, se supone que I = b = 1 y la ganancia del control proporcional kp = 1. Por medio de MATLAB se obtiene la respuesta del brazo para la entrada escalonada del ángulo de articulación deseado qd. La función de transferencia (TF) se evalúa mediante la ecuación (10.56a), es decir, q ( s) 1 1 = 2 , donde qd = q d ( s) s s + s+1 (10.65a) 10.6 Controlador de articulaciones 1.4 1.2 Amplitud 1 0.8 0.6 0.4 0.2 0 0 2 4 6 8 a) Controlador P 10 12 Tiempo(seg) 1 0.9 0.8 Amplitud 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 2 1 3 4 5 6 7 b) Controlador PD Tiempo(seg) 1.5 Amplitud 1 0.5 0 Figura 10.20 0 5 10 15 20 25 30 35 40 45 Tiempo(seg) c) PID controlador Controladores de articulaciones para un brazo de un eslabón 265 266 CAPÍTULO 10 Control Los comandos que se usan para obtener la respuesta son parecidos a los del ejemplo 10.5, mientras que la respuesta se muestra en la igura 10.20a). Observe el valor unitario de estado estable para la amplitud que indica el ángulo de articulación deseado qd. Entonces, con el in de reducir la sobreoscilación, se introduce un control derivativo con la ganancia derivativa kv = 1. La TF correspondiente se obtiene según la ecuación (10.56b) como q ( s) s+1 = 2 (10.65b) q d ( s) s + 2s + 1 Para la entrada escalonada del ángulo de articulación deseado, la respuesta se presenta en la igura 10.20b), que muestra el comportamiento asintótico para alcanzar el valor de estado estable . Además, las otras características de la tabla 10.1, por ejemplo, la disminución del tiempo de estabilización, son bastante obvias según la igura 10.20b). Finalmente, la respuesta para el controlador PID se obtiene mediante la TF determinada, basado en el polinomio característico de la ecuación (10.62), es decir, q ( s) s2 + s + 1 (10.65c) = 3 q d ( s) s + 2s 2 + s + 1 Para ki = 1 y la entrada escalonada de qd = 1/s, la respuesta se muestra en la igura 10.20c). Observe que algunas características, por ejemplo, el aumento de sobreoscilación, que se dan en la tabla 10.1 también son obvias. 10.7 Control de trayectoria no lineal El análisis de las secciones anteriores fue hecho con la suposición de que la señal de referencia y la perturbación son constantes que no se aplican para el rastreo de trayectorias de variación de tiempo más generales, como, por ejemplo, una trayectoria polinomial cúbica que se presentará en el capítulo 11. Además, el sistema de la sección 10.6 fue lineal, mientras que un sistema de múltiples grados de libertad es no lineal. Por lo tanto, en esta sección se presentará un planteamiento basado en la partición de la ley de control o en un control por par de torsión computado. 10.7.1 Partición de la ley de control En la preparación para el diseño de leyes de control para robots de múltiples grados de libertad más complejos, considere una estructura del controlador ligeramente diferente para el problema que se muestra en la igura 10.17. En este método se realiza la partición del controlador en una parte basada en el modelo y otra parte en el servo. El resultado es que los parámetros del sistema (es decir, m, b y k en este caso) aparecen sólo en la parte basada en el modelo y la parte de servo es independiente de estos parámetros. Este planteamiento se conoce como partición de la ley de control. Observe que la ecuación de movimiento de lazo abierto para el sistema determinado, es (10.66) x + b xɺ + kx = f m ɺɺ donde la parte de la ley de control basada en el modelo hará uso de valores conocidos para m, b y k. Esta parte de la ley de control se organiza de tal modo que se reduce el sistema de 10.7 Control de trayectoria no lineal 267 tal forma que parece tener una masa unitaria. La segunda parte de la ley de control hace uso de la retroalimentación para modiicar el comportamiento del sistema. Puesto que la parte del modelo basada en la ley de control tiene el efecto de hacer que el sistema aparezca como una masa unitaria, el diseño de la parte de servo es muy simple. Las ganancias se eligen para controlar un sistema compuesto únicamente por una sola masa unitaria, es decir, sin fricción y sin rigidez. La parte del control basada en el modelo aparece en la ley de control como (10.67) f = af¢ + b donde a y b son funciones o constantes y se eligen de tal modo que ƒ⬘ se considera la nueva entrada del sistema y el sistema parece ser una masa unitaria. Con esta estructura de la ley de control, la ecuación del sistema mediante las ecuaciones (10.66)-(10.67) es como sigue: (10.68a) x + b xɺ + kx = a f ¢ + b m ɺɺ Queda claro que con el in de hacer que el sistema aparezca como una masa unitaria con ƒ⬘ como entrada, a y b se tienen que elegir como (10.68b) a = m, y b = b xɺ + kx Mediante estas asignaciones e incorporándolas en la ecuación (10.68a), se obtiene la siguiente ecuación de sistema: ɺɺ (10.69) x = f¢ que es la ecuación de movimiento para una masa unitaria. Entonces se propone una ley de control para computar ƒ⬘ como f ¢ = –k v xɺ – k p x (10.70) Si se combina esta ley de control con la ecuación (10.69), se obtiene ɺɺ x + k v xɺ + k p x = 0 (10.71) Mediante esta metodología, el ajuste de las ganancias de control es fácil y queda independiente de los parámetros del sistema, es decir, (10.72) kv = 2 k p que debe ser válido para la amortiguación crítica. La igura 10.21 muestra el diagrama de bloques para el controlador particionado que se utiliza para controlar el sistema de la igura 10.7. f9 ? – kp Figura 10.21 – kv f m + Sistema Σ x . x + . bx + kx Un sistema de control de lazo cerrado con control particionado 268 CAPÍTULO 10 Control Ejemplo 10.8 Control particionado para un bloque Si los parámetros del sistema de la igura 10.7 son m = 1, b = 1 y k = 1, se determinan a, b y las ganancias kp y kv para una ley de control de regulación de posición que resulta en el amortiguamiento crítico del sistema con una rigidez de lazo cerrado de 16.0, es decir, kp = 16. Suponga que elegimos (10.73) a = 1, y b = xɺ + x de tal modo que el sistema aparezca como una masa unitaria según la entrada ƒ⬘. Luego establecemos la ganancia kv = 2冪莦 kp para el amortiguamiento crítico, lo que resulta en kp = 16.0 y kv = 8.0. 10.7.2 Control de trayectoria del bloque Considerando la igura 10.7, en lugar de simplemente mantener este bloque en una ubicación deseada, vamos a mejorar el controlador de tal modo que pueda lograrse que el bloque siga una trayectoria. La trayectoria se deine como una función de tiempo, por ejemplo, xd(t) que especiica la ubicación deseada del bloque. Suponga que la trayectoria es continua (es decir, que existen las primeras dos derivadas) y que el generador de trayectorias proporciona xd, ẋ d y ẍd para cualquier tiempo t. El servo-error entre la trayectoria deseada y la real se deine por e = xd – x. Una ley de control de servo que entonces genera la trayectoria que se va a seguir se obtiene por (10.74) x d + kv eɺ + kpe f ¢ = ɺɺ Al combinar las ecuaciones (10.69) y (10.74) se obtiene (10.75) ɺɺ x d + kv eɺ + k pe x = ɺɺ o (10.76) ɺɺ e + kv eɺ + kp e = 0 Ésta es una ecuación diferencial de segundo orden para la que pueden elegirse los coeicientes con el in de obtener cualquier respuesta (frecuentemente la opción que se elige es el amortiguamiento crítico). Una ecuación de este tipo se escribe en el espacio del error, ya que describe la evolución de los errores en relación con la trayectoria deseada. La igura 10.22 muestra un diagrama de bloques de un controlador que sigue una trayectoria. .. xd + f9 Σ + f Σ Sistema . bx + kx kv . e . xd + Σ – e xd + Figura 10.22 + + + kp m Σ – Un controlador de trayectoria para el sistema que se presenta en la figura 10.7. 10.7 Control de trayectoria no lineal 269 Si el modelo es perfecto (es decir, m, b y k no están completamente deinidos) y si no hay ruido ni error inicial, el bloque seguirá precisamente la trayectoria deseada. Si existe un error inicial, se suprimirá de acuerdo con la ecuación (10.76), y posteriormente el sistema seguirá con precisión la trayectoria deseada. 10.7.3 Control no lineal de un robot En esta subsección se extenderá el control de trayectoria del bloque a un robot de múltiples grados de libertad (DOF). Cabe señalar que el manipulador robótico de múltiples DOF, a diferencia de una articulación de un solo DOF como la de la sección 10.6, es un sistema no lineal. Sin embargo, visto que la mayoría de los robots industriales tienen una relación de radios alta, ¿Qué es no lineal? se supone que su dinámica de articulaciones es lineal e independiente. Por lo tanto, el método de control lineal Los coeficientes de las ecuaciones didesarrollado para la articulación sencilla se aplica en ferenciales que representan la dináforma independiente a todas las articulaciones de un mica del robot son funciones de las variables de control y sus derivadas. robot. Este método de control podrá funcionar razonablemente bien en muchas aplicaciones industriales, En el caso de sistemas lineales, estos coeficientes son constantes. pero no funciona bien si se le compara con un método de control no lineal. En particular, no puede garantizarse el amortiguamiento crítico o el mismo tiempo de estabilización de manera uniforme en cada punto del espacio de trabajo para todas las articulaciones. Tampoco es posible analizar y pronosticar el desempeño exacto de un método de PD o PID para el robot no lineal. En este control se supone que el sistema es lineal y la inercia de los eslabones es constante. Sin embargo, en el capítulo 8 se observó que la matriz de inercia depende de la coniguración del robot. Además, existen términos de Coriolis y centrífugos no lineales. Un método de control lineal, cuando se utiliza en un robot no lineal, no se desempeña de manera uniforme en cada punto del espacio de trabajo de un robot. Por ende, se presentará a continuación un método de control avanzado que se basa en la partición de la ley de control que ofrecerá un desempeño mucho mejor en comparación con el método de control lineal. Sin embargo, muchos otros controles existen en la literatura, por ejemplo, en Canadus de Wit et al. (1996), que el lector podrá consultar. Aquí, el controlador no lineal cancela las no linealidades en el modelo dinámico del robot que se va a controlar, como se hizo en la subsección 10.7 para el bloque. Como resultado, se obtiene un conjunto de ecuaciones lineales desacopladas. Uno de estos controladores basados en el modelo se llama control de par de torsión computado. Observe que el modelo dinámico de un robot de n DOF puede expresarse según la ecuación (8.44) como q +h+g =t I ɺɺ (10.77) donde la matriz de inercia generalizada I de n × n se deine en la ecuación (8.33) y los vectores n-dimensionales h, f y s se deinen según la ecuación (8.44a), mientras que θ̈ es el vector n-dimensional de las aceleraciones de las articulaciones. El paso clave en el control no lineal de un sistema robótico complejo es el uso del concepto de la partición de la ley de control, como se mencionó anteriormente. Supóngase que la salida del controlador puede escribirse como (10.78a) t = Att ¢ + b 270 CAPÍTULO 10 Control donde la matriz A de n × n y el vector n-dimensional β se eligen como A = I, y b = h + g (10.78b) La sustitución de las ecuaciones (10.78a-b) en la ecuación (10.77) proporciona lo siguiente: (10.79) t ¢ = ɺɺ q Esta ecuación puede verse como un sistema de inercia unitaria con una nueva entrada t⬘. De alguna manera se cancelan las no linealidades en el modelo de dinámica no lineal original del sistema. Cuando se elige la matriz A y el vector a de manera adecuada, se transforma el sistema no lineal en un sistema lineal. Entonces puede aplicarse un controlador PD, similar al bloque de la ecuación (10.74), al sistema de inercia unitaria como t ¢ = ɺɺ q + K eɺ + K e (10.80a) d v p donde e = pd – p, y Kp y Kv son las matrices diagonales de n × n. Mediante la sustitución de la ecuación (10.80a) en la ecuación (10.79), se obtiene ɺɺ e + K v eɺ + K pe = 0 (10.80b) La ecuación vectorial arriba señalada es la ecuación desacoplada de error n escalar que corresponde a las n articulaciones del robot. Si se establecen los elementos de las matrices Kp y Kv, puede entonces lograrse el desempeño crítico o sobreamortiguado en cada punto del espacio de trabajo del robot. El método de control propuesto que se describe arriba utiliza una linealización por retroalimentación en contraste con la linealización de un sistema no lineal donde se elige un punto de operación alrededor del cual se realiza la linealización. Por lo tanto, este último se linealiza en un punto del espacio de trabajo y no en el control no lineal basado en la ley de control particionada. Un diagrama de bloques de este control se presenta en la igura 10.23. Puede verse que el controlador tiene dos partes, a saber: 1) una parte accionada por el error que computa t⬘ basado en la ley de control PD o PID que se presenta en las subsecciones 10.6.2 y 10.6.3, respectivamente; y 2) una parte basada en el modelo donde se computan A y a. 10.8 Representación de estado-espacio y control Sistemas complejos tienen múltiples entradas y múltiples salidas, o sistemas MIMO. Estos sistemas pueden ser lineales o no lineales y con o sin variación en el tiempo, como se indicó an.. θd + s9 Σ + Kv s Σ Robot h+f . e . θd + Σ – e θd + Figura 10.23 + + + Kp I Σ – Controlador de seguimiento de trayectorias para el robot 10.8 Representación de estado-espacio y control 271 teriormente. Éste es un planteamiento muy potente para tratar estos sistemas es el de estado-espacio. Este enfoEstado-espacio que se basa en el concepto del estado. Se deine como el conjunto de variables más pequeño (las llamadas va- Un estado-espacio de un sistema diriables de estado), de tal modo que el conocimiento de námico se forma como una gráfica de sus variables de control y sus deriestas variables en t = t0, junto con el conocimiento de la entrada para t ≥ t0, determina por completo el compor- vadas, graficadas contra los ejes que representan las variables y derivadas tamiento del sistema en cualquier t ≥ t0. ya mencionadas. En una representación de estado-espacio de un sistema dinámico, se ocupan de tres tipos de variables, a saber, variables de entrada, de salida y de estado. Observe que la representación de estado-espacio de un sistema de control no es única, excepto cuando el número de variables es el mismo para cualquiera de las diferentes representaciones de estado-espacio del mismo sistema. Normalmente, la representación del estado-espacio de un sistema de variación de tiempo no lineal puede darse como (10.81) xɺ = f (x, u, t); y y = g(x, u, t) donde el vector x de 2n dimensiones se llama vector de estado para un sistema regido por n ecuaciones diferenciales de segundo orden, mientras que u es el vector de entrada r-dimensional y t es el tiempo. Además, y es el vector de salida de m dimensiones, y f y g son las funciones de vectores de 2n y m dimensiones respectivamente Si el sistema es lineal, puede modiicarse la ecuación (10.81) como (10.82) xɺ = Ax + Bu; y y = Cx + Du donde la matriz A de 2n × 2n es la matriz de estado, la matriz B de 2n × r es la matriz de entrada y la matriz C de m × 2n es la matriz de salida. Para un sistema no lineal, puede linealizarse la ecuación (10.81) alrededor de un estado operativo, para obtener así la ecuación resultante en la forma de la ecuación (10.82). Observe que para el sistema de entrada sencilla y salida sencilla (SISO), puede calcularse la función de transferencia (TF) según la representación del estado-espacio, por ejemplo, la ecuación (10.82) nuevamente, donde los vectores y y u son escalares, denotados por y y u, respectivamente. Para ello, las transformadas de Laplace de la ecuación (10.82) con condiciones iniciales iguales a cero se expresan como sx (s) = Ax(s) + Bu(s) (10.83a) (10.83b) y(s) = Cx(s) + Du(s) Si se resuelve para x(s) según la ecuación (10.83a) y se sustituye en la ecuación (10.83b), se obtiene la relación entre la salida y(s) con la entrada u(s), es decir, (10.84a) y(s) = [C (sI – A) –1 B + D]u(s) Por lo tanto, la TF deinida por G(s) se extrae de la ecuación (10.84a) como y ( s) (10.84b) = C(sI – A) –1 B + D u ( s) Observe que el lado derecho de la ecuación (10.84b) involucra a (s1 – A)–1. Por ende, G(s) puede escribirse como q ( s) (10.84c) G(s) = | sI - A | G(s) = 272 CAPÍTULO 10 Control donde q(s) es un polinomio en s, y ⏐s1 – A⏐ representa el determinante de la matriz (s1 – A), que es igual al polinomio característico de G(s). En otras palabras, los valores propios de A son idénticos a los polos de G(s). Por otra parte, dada una función de transferencia, también puede obtenerse la representación de estado-espacio tomando una transformación de Laplace inversa de la expresión para la salida, y relacionando la TF y la entrada, como se ilustra en el ejemplo 10.9. Ejemplo 10.9 Representación estado-espacio de un bloque Considere el movimiento del bloque en la igura 10.6, cuya única ecuación dinámica de movimiento se obtiene por la ecuación (10.30a). Se deine lo siguiente: (10.85a) x1 = x; y x2 = xɺ Luego, la ecuación (10.30a) puede expresarse como k b 1 (10.85b) xɺ 1 = x 2; y xɺ 2 = – m x 1 – m x 2 + m f donde la salida y puede darse por y = x1 (10.85c) Las ecuaciones arriba señaladas (10.85b-c) se ponen entonces en forma de matriz/vector como (10.86a) xɺ = Ax + Bu; y y = Cx + Du donde 0 0 1 x1 x ∫ ;A∫ k b ; B ∫ 1 ; u ∫ f; C ∫ [1 0]; D = 0 (10.86b) x2 m m m En las ecuaciones (10.86a-b), el vector bidimensional x es el vector de estado, la matriz A de 2 × 2 es la matriz de estado, mientras que las matrices B y C de 2 × 1 y 1 × 2, respectivamente, son las matrices de entrada y salida del bloque en estudio. Además, el vector de salida y y la matriz de transmisión directa D son escalares. LM MN LM OP N Q Ejemplo 10.10 Y g q a m Figura 10.24 LM MN OP PQ Estado-espacio de un robot de DOF = 1 t X OP PQ Brazo de un robot de DOF = 1 Considere el brazo robótico con DOF = 1 cuya masa, sin pérdida de ninguna generalidad, se supone que se concentra al inal del eslabón sin masa de longitud l, como se muestra en la igura 10.24. El par de torsión t y la gravedad g que está actuando hacia abajo también se muestran en la igura. Observe que sin ningún par de torsión externo t, es decir, t = 0, el sistema es un simple péndulo. Se da entonces la ecuación de movimiento para el brazo con DOF = 1 por 10.8 Representación de estado-espacio y control 273 g t (10.87) sen q = a ma 2 La ecuación (10.87) es una ecuación diferencial no lineal debido a la aparición de la función “sen”. Puesto que esto es un sistema de segundo orden, se necesitan dos variables de estado, a saber, x = q, y x = qɺ (10.88) ma2 qɺɺ = t – mga sen q, o qɺɺ + 1 2 Luego se obtiene lo siguiente: g t (10.89) – sen x1 2 a ma Puesto que no hay entrada u, y se obtiene por y = q = x1 (10.90) Aunque es difícil que una ecuación general no lineal exprese la forma de estadoespacio de la ecuación (10.82), es posible para este péndulo, donde los vectores y matrices asignados son los siguientes: xɺ 1 = x 2; y xɺ 2 = x ∫ 0 LM x OP ; A ∫ LM g sen x Nx Q MN- a x 1 1 2 1 OP PQ 1 1 0 ; B = ma 2 ; u ∫ t; C ∫ [1 0]; D = 0 (10.91a) En la ecuación (10.91a), si el ángulo q se limita a ser pequeño, entonces el sistema puede linealizarse. Para un ángulo pequeño q, se sabe que sen q = sen x1 ≈ x1. Por lo tanto, la representación de estado-espacio del modelo linealizado, donde sólo la matriz A ha cambiado, A∫ Ejemplo 10.11 LM 0g MN- a 1 0 OP PQ (10.91b) Función de transferencia a partir de la representación de estado-espacio Considere el movimiento del bloque de la igura 10.6, para el cual se da la representación de estado-espacio en las ecuaciones (10.86a-b). Para encontrar la TF según la ecuación (10.86b), la matriz s1 – A se evalúa primero como 1 b m OP = LM ks PQ MN m 1 = k b 2 s + s+ m m LMs + b MM - km N m LMs 0OP – LM 0k N0 sQ MN- m OP PQ -1 (10.92a) b s+ m Entonces es fácil encontrar la matriz inversa de 2 × 2 en la ecuación (10.92a) como s1 – A = (s1 – A) –1 OP P sP Q 1 (10.92b) 274 CAPÍTULO 10 Control Finalmente, la ecuación (10.84b) proporciona lo siguiente: b s+ 1 0 1 1 m G(s) = [1 0] 1 +0= 2 k b k 2 ms + bs + k s m s + s+ m m m PP LM PQ MN MM MN Ejemplo 10.12 OP PQ (10.92c) Representación de estado-espacio a partir de una función de transferencia determinada Dada la función de transferencia del brazo robótico con DOF = 1, su representación de estado-espacio puede escribirse según la primera TF de la ecuación (10.53a), es decir, q ( s) K (10.93a) G(s) = m = va ( s) s (Ts + 1) donde K ≡ km /rab y T ≡ I/b es la constante de tiempo del sistema. Según la ecuación (10.93a) puede escribirse lo siguiente: s2Tqm (s) + sq m (s) = Kva (s) (10.93b) Tomando la transformada de Laplace inversa de la ecuación (10.93b), se obtiene la ecuación en el dominio de tiempo como T qɺɺ + qɺ = Kv (10.93c) m m a Puesto que la ecuación (10.93c) es una ecuación diferencial de segundo orden, se requieren las dos variables de estado, a saber, x1 y x2, que se deinen como x = q , y x = qɺ (10.94a) 1 m 2 m Esto proporciona la representación estado-espacio de la dinámica de una sola articulación como (10.94b) xɺ = Ax + bu, y y = c T x donde u, los vectores bidimensionales x, b, c y la matriz A de 2 × 2 se presentan como sigue: 0 0 1 x1 1 1 ; b ∫ K ; u = va; y c ∫ x ∫ ;A∫ (10.94c) 0 x2 0 T T LM MN LM OP N Q 10.8.1 OP PQ LM OP MN PQ LM OP NQ Control retroalimentado basado en estado-espacio Para un robot de múltiples DOF cuya dinámica se rige por la ecuación (10.77), la representación estado-espacio en forma de la ecuación (10.81) puede darse de la siguiente manera: x ∫ LMx OP ; f ∫ LM Nx Q N I 1 2 -1 OP Q x2 , y g ∫ x1 (t - h - g ) (10.95) 10.8 Representación de estado-espacio y control 275 donde x1 = p, parecido al péndulo, pero es un vector n-dimensional para el robot de n DOF, mientras que x es el vector de estado de 2n dimensiones. Si la ecuación de movimiento se obtiene por la ecuación (10.77) y linealizada alrededor de cualquier punto operativo, entonces la ecuación (10.95) puede tener la representación estado-espacio que se muestra en la ecuación (10.82). Si se considera cada articulación del robot como independientemente controlada, como se mencionó en la subsección 10.5.2, entonces la representación estado-espacio de cada articulación se obtiene por las ecuaciones (10.82) y (10.94b), para la que puede darse un control retroalimentado lineal mediante u(t) = –kTx + qd (10.96) donde cada elemento de k son ganancias constantes por determinarse, y qd es una entrada de referencia o deseada. Al sustituir la ecuación (10.96) en la ecuación (10.94b), se obtiene (10.97) xɺ = (A – bk T) x + bqd lo que demuestra que el control lineal retroalimentado tiene como efecto cambiar los polos del sistema que se determinaron por A a los que se determinan por (A – bkT). En la ecuación (10.96), el control se determina como una combinación lineal de los estados del sistema que, en este caso, son la posición del motor y la velocidad. Si se compara esto con el control PD o PID, como se presenta en la subsección 10.6.2 y en la 10.6.3, respectivamente, lo que también es una función de la posición del motor y la velok cidad, no se obtiene ninguna ventaja. Sin embarIm Il ql u, qm go, para un sistema de mayores dimensiones, por bm bl ejemplo, una articulación cuya lexibilidad se está tomando en cuenta, como se muestra en la igura Figura 10.25 Articulación sencilla 10.25, puede comprobarse que la retroalimentacon flexibilidad ción estado-espacio será una ventaja. Observe que la lexibilidad de la articulación puede ocurrir por muchas razones. Por ejemplo, la lexibilidad torsional de los engranajes, el balanceo de la lecha, la deformación del cojinete, etc., pueden contribuir considerablemente a la lexibilidad en las articulaciones. Si se escribe su modelo dinámico, resultarán dos ecuaciones diferenciales de segundo orden, correspondientes a sus dos DOF, es decir, qm y ql, que corresponden a las rotaciones del motor y del eslabón o de la carga, respectivamente. En este tipo de sistema, si los coeicientes de amortiguación bm y bl son pequeños, lo que frecuentemente es el caso en muchos robots industriales, es difícil controlar el sistema, ya que dos de los cuatro polos están situados en el origen, mientras que los otros dos se encuentran en el eje imaginario. Suponga que el control PD tradicional de la subsección 10.6.2 está implementado para controlar la articulación lexible; entonces el cómputo de sus dos ganancias dependería de que se hayan colocado los sensores de posición y velocidad en el eje motriz o en el eje del eslabón, es decir, el controlador PD es una función de las variables del motor o de las variables de la carga. En este tipo de control puede demostrarse (Spong et al., 2006) que el sistema es inestable para una ganancia proporcional grande. Alternativamente, si se aplica el control retroalimentado de estado de la forma dada por la ecuación (10.96), es posible lograr un rango mucho más grande de polos de lazo cerrado, lo que logra la estabilidad del sistema. Esto es posible porque hay cuatro parámetros de ganancia en la ecuación (10.96) que corresponden al vector de estado x de 4 dimensiones, es decir, ángulo del motor, velocidad del motor, ángulo de la carga y velocidad 276 CAPÍTULO 10 Control de la carga, que pueden ser medidos si se colocan sensores apropiados en los ejes del motor y de la carga. La ganancia k, a diferencia del control tradicional PD, donde las dos ganancias son funciones de la posición y velocidad del motor o de la posición y velocidad de la carga, es una función de esas cuatro dimensiones. Por lo tanto, mediante la retroalimentación de estado hay más parámetros libres para obtener la estabilidad. Sin embargo, problemas como la posibilidad de control y observación son también importantes, ya que determinan el éxito de la ley de control retroalimentado del estado. 10.9 Estabilidad Al principio de este capítulo se determinó de forma analítica la estabilidad de un sistema de control lineal Estabilidad en términos del amortiguamiento, como se muestra en los ejemplos 10.1-10.3. El desempeño de estos sistemas Estabilidad significa que un sistema durante el comportamiento transitorio también se pre- no divergirá de su posición deseada. Por ejemplo, un balón que se mantiesentó en la sección 10.4. Los mismos análisis son válidos ne dentro de un cuenco es estable, para un sistema no lineal que se desacopla y linealiza pero será inestable cuando se invierta por medio de un controlador basado en modelos, como el cuenco. se presentó en la sección 10.7, porque el sistema general nuevamente es lineal. Sin embargo, cuando no se realiza el desacoplamiento y la linealización, o si quedan incompletos o inexactos, el sistema general de lazo cerrado permanece no lineal. Para sistemas no lineales, puede realizarse el análisis de estabilidad y desempeño mediante el análisis de estabilidad de Lyapunov o segundo método de Lyapunov. 10.9.1 El método de Lyapunov Una característica interesante de este método de estabilidad es que puede concluirse sin resolver la ecuación diferencial que rige el sistema. Sin embargo, el método no proporciona ninguna información sobre la respuesta transitoria o sobre el desempeño del sistema, por ejemplo, si se sobreamortigua o subamortigua o cuánto tiempo se tardará en suprimir una perturbación. No obstante, es importante diferenciar la estabilidad del desempeño porque un sistema estable podrá tener un desempeño de control poco satisfactorio. Para explicar el método de Lyapunov, considere el sistema no lineal que se describe mediante un conjunto de ecuaciones diferenciales dado por (10.98) xɺ = f (x) donde x es un vector de estado n-dimensional como se introdujo en la sección 10.8 y f(x) es la función vectorial n-dimensional. Observe que cualquier ecuación diferencial de orden mayor siempre puede escribirse como un conjunto de ecuaciones de primer orden en la forma de la ecuación (10.98). Vea los ejemplos 10.9 y 10.10 para los sistemas de segundo orden. Para demostrar que un sistema es estable mediante el método de Lyapunov, se necesita lo siguiente: 1. Proponga una función de energía generalizada v(x) que se llama función de Lyapunov, cuyas primeras derivadas parciales sean continuas y v(x) > 0 para todos los x, excepto v(0) = 0. 2. Evalúe la primera derivada respecto al tiempo de v(x). 10.9 Estabilidad 277 3. Veriique si v̇(x) ≤ 0. Aquí, v̇(x) implica el cambio de v(x) respecto al tiempo a lo largo de todas las trayectorias del sistema. La idea es que una función tipo energía positiva deinitiva del estado demuestre que siempre disminuye o permanece constante. Por lo tanto, el sistema es estable en el sentido que el tamaño del vector de estado se limite. Cuando v̇(x) es estrictamente menos que cero, el estado converge en forma asintótica hacia el vector cero. Sin embargo, para v̇(x) ≤ 0, es decir, cuando v̇(x) desaparece en algunos lugares de la trayectoria, LaSalle y Lefschetz (1961) demostraron que el sistema aún puede ser asintomáticamente estable en ciertas situaciones. Observe que el método de Lyapunov puede aplicarse igualmente a sistemas lineales. La principal diicultad de ese método, sin embargo, es la elección de la función de Lyapunov, v(x). En muchas aplicaciones es fácil adivinar, pero obtener v(x) para un sistema complejo es difícil, ya que no hay ningún método estándar para conformarlo. Ejemplo 10.13 Estabilidad del bloque Considere el bloque de la igura 10.2, cuya ecuación rectora es la ecuación (10.1), es decir, (10.99) x + b xɺ + kx = 0 m ɺɺ La energía total del sistema, incluida la energía cinética debida a la velocidad del bloque ẋ, más la energía potencial debida a la delexión del resorte x, es decir, 1 1 (10.100) v = m xɺ 2 + kx 2 2 2 donde el primer término en la ecuación (10.100) representa a la energía cinética y el segundo a la potencial. Observe que el valor de v es siempre no negativo, como lo requiere el paso 1 del método de estabilidad de Lyapunov que se explicó arriba. La razón de cambio de v se obtiene entonces mediante la diferenciación de la ecuación (10.100), es decir, (10.101a) vɺ = m xɺ ɺɺ x + kx xɺ Si se sustituye la ecuación (10.99) para mẍ en la ecuación (10.101a), se obtiene (10.101b) vɺ = – b xɺ 2 que siempre es no positivo, ya que b > 0. De este modo, la energía siempre está saliendo del sistema, a menos que ẋ = 0. Esto implica que un bloque inicialmente desplazado perderá energía hasta que se detenga. Un análisis de estado estable del sistema en la posición de reposo revela que kx = 0, garantizando que x = 0. Por lo tanto, el bloque inicialmente en reposo llegará eventualmente a descansar. Ejemplo 10.14 Estabilidad de un robot con DOF = 1 Para veriicar la estabilidad de un brazo robótico con DOF = 1 como el que se presenta en la igura 10.23, con q = 0 cuando no hay ningún par de torsión externo actuando, es decir, t = 0, considere la siguiente función de Lyapunov: v= 1 ma2 x 22 + mga(1 – cos x1) 2 (10.102) 278 CAPÍTULO 10 Control en la que x1 y x2 son las variables de estado deinidas en el ejemplo 10.10. Además, la ecuación (10.102) representa la energía total del sistema, que siempre es más grande que cero, y que es cero cuando desaparece la variable de estado, es decir, x1 = x2 = 0. Observe que el segundo término, es decir, la energía potencial, se calcula sobre la base de una energía potencial cero en x = a. Luego se obtiene la derivada respecto al tiempo de la ecuación (10.102) como vɺ = ma2 x 2 xɺ2 + mga sen x1 x2 (10.103) La ecuación (10.103) es cero para la condición de equilibrio del eslabón, es decir, q = q̇ = 0 o, en términos de las variables estado-espacio, x1 = x2 = 0. Puesto que v no es menos que cero, la estabilidad asintótica no puede garantizarse. Ejemplo 10.15 Estabilidad de un robot con DOF = 1 con control PD Suponga que el robot con DOF = 1 del ejemplo 10.14 está bajo el control PD, es decir, la salida del actuador se obtiene por t = –kpx1 – kvx2. Los términos kp y kv son las ganancias proporcionales y derivativas, respectivamente, que siempre son positivas. Ahora vamos a deinir la función de Lyapunov como 1 1 (10.104) v = ma2 x 22 + mga(1 – cos x1) + k p x 21 2 2 Mediante la diferenciación de la ecuación (10.104) respecto al tiempo, se obtiene (10.105a) vɺ = ma2 x2 xɺ 2 + mga sen x1 x 2 + kp x1 x2 Si se sustituye para ẋ 2 de la ecuación (10.89) en la ecuación (10.105a), se obtiene la expresión para v̇ como (10.105b) vɺ = –kv x 22 lo que garantiza la estabilidad asintótica, ya que kv > 0. 10.9.2 Estabilidad del robot con múltiples DOF Para un robot de múltiples DOF que sigue una trayectoria, la estabilidad puede comprobarse mediante el método de Lyapunov para un controlador PD mientras que la matriz de ganancia derivativa Kv sea una deinitiva positiva. Para demostrarlo, considere las ecuaciones dinámicas de movimiento para el robot de múltiples DOF dadas en la ecuación (10.77). El correspondiente control PD puede darse mediante t = K pe – K v qɺ + g (10.106) donde e = pd – p, y Kp y Kv son las matrices de ganancia diagonales que son deinitivas positivas. Mediante esta ley de control, se obtiene el sistema de lazo cerrado según la ecuación (10.77) como q + h + K v qɺ = K p e I ɺɺ (10.107) Considere la función de Lyapunov como 1 1 (10.108) v = qɺ T I qɺ + e T K p e 2 2 10.10 Controles cartesianos y de fuerza 279 La función v en la ecuación (10.108) siempre es positiva o cero porque la matriz de inercia del robot I y la matriz de ganancia de posición Kp son matrices positivas deinitivas. Si se diferencia la ecuación (10.108) respecto al tiempo, se obtiene 1 (10.109a) vɺ = qɺ T I ɺɺ q + qɺ T Iɺ qɺ – eT K p qɺ 2 Usando la ecuación (10.107), la ecuación (10.109 a) se reescribe como 1 vɺ = – qɺ T K v qɺ + qɺ T ( Iɺ – 2C) qɺ (10.109b) 2 donde h ≡ Cṗ se sustituye, como se señala después de la ecuación (8.44a), İ es la derivada de tiempo de I y C es la matriz de términos de inercia convectiva. Observe que, como se muestra en el ejemplo 8.5, la matriz İ – 2C es antisimétrica y, por lo tanto, causa que el término ṗT(I – 2C) ṗ desaparezca. Por ende, la ecuación (10.109b) lleva a vɺ = – qɺ T K qɺ (10.109c) v que es no positiva mientras que Kv sea positivo deinitivo. Sin embargo, esto no garantiza de forma automática la estabilidad asintótica, aún así, LaSalle y Lefschetz (1961) demostraron que el sistema logra la estabilidad global asintótica. 10.10 Controles cartesianos y de fuerza En los métodos de control que se presentaron anteriormente, se supuso que la trayectoria deseada eran historiales de tiempo de posiciones de articulaciones, velocidades y aceleraciones, y el esfuerzo correspondiente eran pares de torsión de las articulaciones. En un robot, sin embargo, es el efector inal el que realmente realiza el trabajo o interactúa con su ambiente. Por ende, es más natural especiicar el movimiento del robot en términos de la posición y orientación del efector inal y sus velocidades y aceleraciones, o las correspondientes fuerzas y momentos que actúan en consecuencia. Observe aquí que el movimiento del efector inal de un robot se logra mediante el control de un conjunto de movimientos de las articulaciones, como también se señalaba en el capítulo 5, porque los robots están diseñados de esta manera. Por lo tanto, las especiicaciones de los movimientos de las articulaciones se usan para controlar el robot. En caso de que se desee especiicar los movimientos cartesianos junto con las fuerzas y momentos que están actuando sobre el efector inal, el controlador deberá tener la capacidad de hacer la transformación necesaria desde el espacio cartesiano del efector inal al espacio de las articulaciones, de tal modo que se comuniquen las señales apropiadas a los actuadores de las articulaciones. En este contexto, se resumirá a continuación los métodos que se presentan en la literatura. Puesto que estos algoritmos no se usan extensamente o a veces se usan de manera muy simpliicada en robots industriales, se evitarán sus detalles. Para la lectura adicional sobre estos temas se recomienda que los lectores consulten a Craig (1989), Mittal y Nagrath (2003), Ghosal (2006), Spong et al. (2006) y otros. 10.10.1 El control cartesiano En este control, dada la posición y orientación cartesiana así como las primeras dos derivadas, un planteamiento es usar la cinemática inversa para posición, velocidad y aceleración con el in de obtener la posición, velocidad y aceleración de la articulación, y usar uno de 280 CAPÍTULO 10 Control Posición, velocidad y aceleración deseadas del efector final Figura 10.26 Cinemática inversa para posición, velocidad y aceleración Posición, velocidad y aceleración deseadas de la articulación Control del robot basado en el movimiento de la articulación Un control cartesiano que usa la cinemática inversa y un controlador de movimiento de la articulación los planteamientos de control de articulaciones que se presentan en las secciones 10.3, 10.6 y 10.8, respectivamente. Esto se presenta en la igura 10.26. La conversión de trayectoria es bastante compleja y consume mucho tiempo. Por lo tanto, en muchas ocasiones sólo se ejecuta la cinemática inversa para la posición para obtener los movimientos de articulación deseados, los que luego son numéricamente diferenciados para obtener las velocidades y aceleraciones de articulaciones. Esta diferenciación numérica tiende a ampliicar el ruido, lo que conduce a otras diicultades del control. Una manera alternativa de evitar las diicultades que se mencionan arriba, es decir, el ruido numérico, etc., es el uso de un algoritmo de cinemática directa, como el que se presenta en el capítulo 6, para convertir las trayectorias reales de articulaciones disponibles de los sensores de articulaciones en las trayectorias del efector inal, y aplicar una ley de control para obtener las fuerzas y momentos que van a ser aplicadas al efector inal. Estas fuerzas y momentos de control se transforman luego en los pares de torsión de los actuadores de articulaciones necesarios mediante la premultiplicación de las cantidades anteriores por la transposición de la matriz jacobiana calculada en el capítulo 6. La correlación entre las fuerzas y momentos del efector inal se obtienen en el capítulo 7. Este método se presenta en la igura 10.27. 10.10.2 Control por fuerza En aplicaciones donde el efector inal tiene que aplicar una fuerza controlada, por ejemplo, en un vidrio que es limpiado por un robot, los métodos de posición y control que se presentaron en las secciones anteriores no serán apropiados, a menos que la herramienta en el efector inal, por ejemplo, una esponja, sea suicientemente suave. Si el efector inal es rígido, por ejemplo, una herramienta de rasgado, entonces cualquier incertidumbre en la posición de la supericie de vidrio o el error posicional en el efector inal causará que se rompa el vidrio o que el rascador ni siquiera toque el vidrio. En tales situaciones deberá especiicarse la fuerza, y no la posición, para obtener un desempeño satisfactorio del robot. De hecho, es más realista usar un controPosición, velocidad y aceleración deseadas del efector final + Ley de Errores control de la Σ trayectoria – cartesiana Fuerzas y momentos de control Posición, velocidad y aceleración real del efector final Figura 10.27 JT Par de torsión de control de la articulación Robot Cinemática directa Un control cartesiano que usa la cinemática directa Posición, velocidad y aceleración real de la articulación Resumen Trayectoria deseada del efector inal Trayectoria cartesiana real Ley de control de trayectoria cartesiana Fuerzas y momentos deseados del efector inal Ley de control de fuerzas Figura 10.28 S Cinemática directa Fuerzas y momentos + de control Σ + S9 281 Trayectoria real de la articulación Pares de torsión de Robot JT control de las articulaciones Fuerzas y momentos de articulación real Controlador híbrido de posición/fuerza lador híbrido de posición/fuerza donde ambos controladores de posición y fuerza se utilicen basados en los requerimientos de la tarea. Por ejemplo, un robot que depende del ancho de la esponja podrá limpiar cierta anchura del vidrio para luego tomar una posición en el vidrio con el in de limpiar la siguiente anchura del vidrio. Mientras toma la siguiente posición, el robot se está moviendo en un espacio libre sin ninguna necesidad de aplicar fuerza. Por lo tanto, un controlador de posición será suiciente. En efecto, la tarea del robot se subdivide en varias subtareas. Una típica ilustración de un controlador híbrido de posición/fuerza se presenta en la igura 10.28, donde S y S⬘ son matrices diagonales que actúan como modo de cambio de estado para decidir si el controlador de posición o el de fuerza está en acción. Observe que cuando el efector inal del robot está en contacto con la supericie, surgen ciertas restricciones naturales. Se trata de las siguientes: 1. Cuando un robot está en contacto con una supericie, no la puede atravesar. Por ende, existe una restricción de posición natural. 2. Si la supericie que se va a contactar es sin fricción, el robot tampoco puede aplicar ninguna tangente de fuerza a la supericie. Por ende, existe una restricción de fuerza natural. Cuando dos supericies están en contacto, las restricciones naturales arriba mencionadas pueden especiicarse como la restricción de posición a lo largo de la normal a la supericie, mientras que la restricción de fuerza puede diseñarse a lo largo de la tangente a la supericie. Estos dos tipos de restricciones, fuerza y posición, segmentan los grados de libertad de posibles movimientos del efector inal en dos conjuntos ortogonales que deben ser controlados según diferentes criterios. Además, cualesquiera otras variables de fuerza y posición que puedan ser controladas durante el movimiento se llaman restricciones artiiciales. RESUMEN En este capítulo se presentan los algoritmos para el control de movimiento de robots. Se analizan controles tanto lineales como no lineales. También se presenta el aspecto de estabilidad de un algoritmo de control. Finalmente, para completar el tema, se introduce el control por trayectoria cartesiana y fuerza. Se ofrecen varios ejemplos para ilustrar diferentes conceptos en este capítulo. 282 CAPÍTULO 10 Control EJERCICIOS 10.1 Para el movimiento del bloque que se presenta en la igura 10.2, si m = 2, b = 6, k = 4 y si está inicialmente en reposo, describa su movimiento cuando se libere de la posición x = 1. 10.2 ¿Cuáles son los polos de un sistema de control? 10.3 Para un sistema de segundo orden, deina la sobreoscilación y la constante de tiempo. 10.4 ¿Qué es el control PID? ¿Por qué es importante el término de la integral? 10.5 Considere un sistema de accionamiento de eslabón que consiste en un servomotor CD con una inercia total de 0.02 kg/m2, una fricción de cojinete de 0.5 N/s y una caja de engranajes con una relación de radios de 32. La inercia del eslabón es 5 kg/m2 y la fricción del cojinete del eslabón es 2 N/s. Determine la inercia efectiva y el amortiguamiento efectivo para la articulación. Suponga que todas las lechas son rígidas y sin masa. 0.2 10.6 La función de transferencia (TF) de un sistema es G ( s) = 01 . s 2 + 0.6s + 1 Busque su frecuencia natural y la relación de amortiguamiento. 10.7 Escriba la representación estado-espacio del problema en el ejercicio 10.1. 10.8 Busque la TF a partir de la representación estado-espacio del ejercicio 10.6. 10.9 Considere el sistema no lineal ɺɺ x + 7 xɺ 2 + x xɺ + x 3 = u donde u es la entrada de control. Diseñe un sistema de control conveniente basado en la ley de control particionada, de tal modo que la respuesta del error sea críticamente amortiguada. Dibuje el diagrama de bloques. 10.10 ¿Por qué son necesarios el control cartesiano y el control por fuerza en una aplicación de robot? 10.11 Explique el criterio de estabilidad de Lyapunov para sistemas no lineales. EJERCICIOS BASADOS EN MATLAB 10.12 Para la TF que se deine en el ejercicio 10.6, obtenga la respuesta de tiempo del sistema para una entrada de paso unitaria. 10.13 Obtenga la respuesta de tiempo y(t) para una entrada de paso unitaria si la función de transferencia de dominio de Laplace de un sistema lineal de segundo orden G(s) 16 se obtiene por G(s) = s 2 + 14 s + 49 ¿Cuál es el tipo de amortiguamiento? 10.14 Busque los errores de estado estable para todos los controladores del ejemplo 10.7. Capítulo 11 Planeación de movimientos El objetivo de la planeación de movimientos de un robot es generar una función con la cual se moverá un robot. Esa generación de función depende de las tareas del robot, por ejemplo, recoger un objeto de un punto para depositarlo en otro o soldar dos piezas metálicas a lo largo de una curva. En el primer caso, se asigna el punto inicial y el punto inal, es decir, el movimiento de punto a punto, mientras que en el segundo, tiene que especiicarse una secuencia inita de puntos, es decir, un movimiento de ruta continua. Un usuario de robots normalmente especiica un número de parámetros para describir una tarea de punto a punto o de ruta continua. Luego, un algoritmo de planeación de la trayectoria calcula las entradas al controlador de movimiento del robot. La planeación de las trayectorias puede efectuarse ¿Por qué planeación ya sea en el espacio de las articulaciones o articular, es de movimientos? decir, en términos de las posiciones articulares, velocidades y aceleraciones, o espacio cartesiano (también Igual que una persona decide sobre la llamado espacio operacional). Esto es, en términos de ruta que seguirá de un lugar a otro, la ruta de un robot tiene que decidirse las posiciones, del efector inal, orientaciones y sus medio de la planeación de moviderivadas respecto al tiempo. Por lo regular se preiere por mientos. lo último, ya que permite una descripción natural de la tarea que el robot tiene que realizar. Sin embargo, la acción de control para el robot se lleva a cabo en el espacio de la articulación. Por esta razón, debe usarse un algoritmo inverso, apropiado para reconstruir la secuencia de tiempo de variables articulares correspondientes a la secuencia arriba mencionada en el espacio cartesiano. La planeación de la trayectoria en el espacio cartesiano naturalmente permite dar cuenta de la presencia de cualquier restricción a lo largo de la ruta del efector inal. Éstas tienen que ver con las regiones del espacio de trabajo en las que el robot tiene prohibido actuar, por ejemplo, por la presencia de obstáculos. Estas restricciones se describen mejor en el espacio cartesiano porque sus puntos correspondientes en el espacio articular son difíciles de 284 CAPÍTULO 11 Planeación de movimientos calcular. Pero en la vecindad de coniguraciones singulares, es decir, cuando no pueden calcularse variables articulares para variables del efector inal determinadas por la inexistencia del inverso de la matriz de movimiento de transferencia asociada, la planeación de las trayectorias en el espacio cartesiano no es posible. En estos casos, es recomendable especiicar el movimiento del efector inal en términos de las variables de las articulaciones, es decir, la planeación del espacio articular. Por lo tanto, tiene que generarse una secuencia de tiempo de las variables de las articulaciones. Para redondear el tema, se presentarán ambos tipos de planeación de las trayectorias en las siguientes secciones. 11.1 Planeación de espacios articulares En esta sección, se considerarán métodos para determinar una trayectoria deseada con variables articulares a través del tiempo. En el método del espacio articular, se supone que se conocen las posiciones iniciales y inales de la articulación correspondientes a las coniguraciones iniciales y inales del efector inal mediante la solución del problema de cinemática inversa de posición que se explicó en el capítulo 6. Entonces, el problema básico es cómo seleccionar una trayectoria entre una posición inicial y una inal de articulación con el intervalo que se permite para el movimiento entre las dos. En la literatura, se han propuesto varios métodos para resolver el problema. Uno simple que se basa en las funciones polinomiales de tiempo. Suponga que para alguna articulación, el ángulo inicial es q0 en un tiempo t = 0 y el ángulo inal es qƒ en un tiempo t = tƒ, es decir, (11.1) q(0) = q0; y q(tf) = q f Además, para iniciar y detener el efector inal de acuerdo con cierta velocidad y aceleración deseada, tiene que cumplirse con las siguientes condiciones: qɺ (0) = qɺ 0; qɺ (tf) = qɺ f qɺɺ (0) = qɺɺ 0; qɺɺ (tf) = qɺɺ f (11.2) (11.3) Aunque muchas funciones cómodas puedan satisfacer las restricciones determinadas por las ecuaciones (11.1)-(11.3), se eligen aquí polinomios del tiempo t por su facilidad en el cálculo y simplicidad de expresión. El orden más bajo que puede cumplir totalmente con las seis condiciones, las ecuaciones (11.1)-(11.3), es cinco, es decir, q(t) = a0 + a1t + a2 t 2 + a3 t 3 + a4 t 4 + a5 t 5 Realizando la derivada de la ecuación (11.4) respecto al tiempo, se obtiene qɺ (t) = a + 2a t + 3a t 2 + 4a t 3 + 5a t4 1 2 3 4 5 (11.4) (11.5) qɺɺ (t) = 2a2 + 6a3t + 12a4t + 20a5t (11.6) Si se sustituyen las condiciones de las ecuaciones (11.1)-(11.3) en las ecuaciones (11.4)(11.6), se obtienen seis ecuaciones con coeicientes como incógnitas, denominadas, a0. . ., a5, es decir, q(0) = q 0 = a0 (11.7a) (11.7b) q(tf) = qf = a0 + a1 tf + a2 t 2f + a3 t 3f + a4 t 4f + a5 t 5f qɺ (0) = a (11.7c) 2 1 3 11.1 Planeación de espacios articulares qɺ (tf) = a1 + 2a2 tf + 3a3 t 2f + 4a4 t 3f + 5a5 t 4f qɺɺ (0) = 2a2 qɺɺ (t ) = 2a + 6a t + 12a t 2 + 20a t 3 2 f 3 f 4 f 5 f 285 (11.7d) (11.7e) (11.7f ) Si se resuelven las ecuaciones (11.7a-f ), se determinan los coeicientes (incógnitas) a0, . . ., a5, que cumplen con las ecuaciones (11.1)-(11.3), como 1 (11.8a) a0 = q 0; a1 = qɺ 0; a 2 = qɺɺ 0 2 a3 = 1 [20(q f – q 0) – 8( qɺ f + 12 qɺ 0) tf – (3 qɺɺ 0 – qɺɺ f ) t 2f] 2 t 3f (11.8b) a4 = 1 [30(q 0 – q f) + (14 qɺ f + 16 qɺ 0) tf + (3 qɺɺ 0 – 2 qɺɺ f) t 2f ] 2 t 4f (11.8c) 1 [12 (q f – q 0) – 6( qɺ f + qɺ 0) tf + ( qɺɺ f – qɺɺ o) t 2f ] (11.8d) 2 t 5f Observe que si las aceleraciones en el punto inal desaparecen, es decir, si q̈0 = q̈ƒ = 0, y la relación que se muestra en la igura 11.1 se satisface por q0, qƒ, q˙0 y q˙ƒ, es decir, si a5 = qf – q0 = tf 2 ( qɺ 0 + qɺ f) (11.9) entonces a5 = 0, lo que implica que sólo se requiere un polinomio del cuarto orden para q (t). Usando combinaciones de los polinomios del cuarto orden y líneas rectas, pueden determinarse con mucha facilidad las trayectorias para varios casos. Vamos a considerar dos de estos casos, como se explicará en las siguientes subsecciones. 11.1.1 Cuando se cuentan con los puntos iniciales y finales, p0 y pƒ Como en la igura 11.2, se desarrolla la trayectoria que inicia desde el reposo en q0, pasa a través de las fases de aceleración, velocidad constante y desaceleración, y inalmente llega a un alto total en qƒ. Para este propósito, primero se elige el valor del parámetro ∆ que denota q . q0 q0 2 0 Figura 11.1 qf tf tf /2 . qf . (q0 + qf) tf t Condiciones de frontera q̈0 = q̈ƒ y ecuación (11.9) 286 CAPÍTULO 11 Planeación de movimientos q qf 2 qf 3 qf 1 q02 q01 q0 O D D D D t Figura 11.2 Trayectoria con aceleración, velocidad constante y desaceleración la mitad del periodo de aceleración y desaceleración. En segundo lugar, se determinan los puntos auxiliares q02 y qƒ1 mediante el siguiente procedimiento: se toman dos puntos q01 y qƒ2 en el tiempo t = ∆ y t = tƒ – ∆, como q01 = q0 y qƒ2 = qƒ. Entonces se conectan q01 y qƒ2 con una línea recta y se determinan q02 y qƒ1 como los puntos en la línea recta en los tiempos t = 2∆ y t = tƒ – 2∆. Luego se determinan los segmentos de la trayectoria entre q0 y q02 y entre qƒ1 y qƒ mediante los polinomios de cuarto orden, de tal modo que sus velocidades coincidan con la composición de las líneas rectas que conectan a q0 – q01 – qƒ2 – qƒ en los puntos de frontera q0, q02, qƒ1 y qƒ y sus aceleraciones son cero en estos puntos frontera. El segmento de la trayectoria entre q02 y qƒ1 se especiica por la línea recta. De este modo, se determina la trayectoria completa mediante la línea sólida en negritas de la igura 11.2. Ejemplo 11.1 Planeación de una trayectoria para un manipulador planar de dos eslabones Si se aplica el método arriba mencionado al manipulador planar de dos eslabones que se muestra en la igura 11.3a), se genera una trayectoria que inicia desde el reposo en la posición inal, igura 11.3b) en 2 segundos. Suponga que elegimos ∆ = 0.25 seg. Entonces el primer ángulo de la articulación, q1, se obtiene como sigue: primero elegimos q01 = 90º en tiempo, t = 0.25 seg y qƒ2 = 60º en t = 1.75 seg. Luego se obtiene la ecuación de la línea recta como q = – 20t + 95 (11.10a) Por lo tanto, q02 en t = 0.5 seg y qƒ1 en t = 1.5 seg se encuentran como q 02 = 85°; y q f1 = 65° (11.10b) Entonces se obtienen los coeicientes del polinomio de cuarto orden entre q0 y q02 como a0 = 90; a1 = a2 = 0; a3 = – 80; y a4 = 80 (11.10c) 11.1 Y Planeación de espacios articulares 287 Y 60° a2 = 1 120° a1 = 1 90° O O 60° X X a) Posición inicial b) Posición final Figura 11.3 Manipulador de dos eslabones Observe que se utilizan condiciones de q˙0 = q¨0 = q¨ƒ = 0, y qƒ –q0 = tƒ/2(q˙ƒ + q˙0) para encontrar los valores de coeicientes. Para el intervalo 0 < t ≤ 0.5, la trayectoria de la articulación es como sigue: q1 = 90 – 80t 3 + 80t 4 (11.10d) Para la línea recta entre q02 y qƒ1, es decir, 0.5 < t ≤ 1.5, puede obtenerse fácilmente como q1 = 85 – 20(t – 0.5) (11.10e) Finalmente, el polinomio de cuarto orden entre qƒ2 y qƒ, es decir, 1.5 < t ≤ 2.0 puede escribirse como q1(t) = a0 + a1 (t – 1.5) + a2 (t – 1.5)2 + a 3 (t – 1.5) 3 + a4 (t – 1.5) 4 (11.10f) cuyos coeicientes se calculan como (11.10g) a0 = 65; a1 = – 20; a3 = 80; y a4 = – 80 Por lo tanto, la trayectoria inal para q1 se escribe como R|90 - 80t + 80t , q (t) = S85 - 20 (t - 0. 5), |T65 - 20 (t - 1.5) + 80 (t - 1.5) 3 4 0 £ t £ 0. 5 0.5 < t £ 1. 5 1 3 (11.10h) 4 - 80 ( t - 1.5) , 15 . < t £ 2.0 De manera similar, se da el segundo ángulo de articulación q2 por R|- 60 - 160t + 160t , q (t) = S- 70 - 40 (t - 0.5), |T-110 - 40 (t - 1.5) + 160 (t - 1.5) 3 4 0 £ t £ 0.5 0.5 < t £ 1.5 2 3 4 - 160 ( t - 1. 5) , 1.5 < t £ 2.0 La igura 11.4 muestra la trayectoria resultante del punto inal. (11.11) 288 CAPÍTULO 11 Planeación de movimientos t=0 Y t = 0.5 5° 10° 10° t = 1.0 5° t = 1.5 O X Figura 11.4 11.1.2 Trayectoria de punto final Cuando se cuenta con el punto inicial, varios puntos intermedios y el punto final Aquí se determina una trayectoria que empieza desde el reposo en la posición inicial q0, pasa a través de las posiciones intermedias q1 y q2 y se detiene en la posición inal qƒ. Primero considere el caso donde no es necesario pasar exactamente a través de q1 y q2. En éste, sean los puntos auxiliares especiicados q02, q11, q12, . . ., qƒ1, como en la igura 11.5. Observe que los valores en el punto q01 y q0 son los mismos, que los valores en qƒ2 yqƒ son los mismos y que q02 y q11 están en la línea recta entre q01 y q1. Los puntos q12, . . ., qƒ1 se determinan de la misma manera. Entonces se determinan los segmentos de la trayectoria para (q0, q02), q qf 2 qf qf 1 q1 q0 q01 D Figura 11.5 q21 q02 D q22 q12 q11 D D q2 D D D D t Trayectoria que pasa cerca de los puntos intermedios 11.1 289 Planeación de espacios articulares (q11, q12), . . ., (qƒ1, qƒ) mediante polinomios de cuarto orden, así como para (q02, q11), (q12, q21), y (q22, qƒ1), usando líneas rectas. La trayectoria resultante se ilustra mediante una línea en negritas en la igura 11.5. Luego considere el caso donde se requiere que la trayectoria pase exactamente a través de q1 y q2. Este caso puede resolverse mediante el incremento del número de puntos auxiliares. Un método se presenta en la igura 11.6a). Los puntos auxiliares se determinan de la siguiente manera: Como lo muestra la igura 11.6b), qi2(i = 1, 2) es el punto medio entre A —la intersección de la línea de t = ti – ∆ con la línea recta entre qi–1 (q01 cuando i = 1) y qi— y B —la intersección de la línea de t = ti – ∆ con la línea recta entre qi y qi+1 (q2 cuando i = 1)—. El punto qi3 se determina de manera parecida. Luego se determinan los segmentos de la trayectoria para (q0, q02), (q11, q1), (q1, q14), . . ., (qƒ1, qƒ) mediante polinomios del cuarto orden y para (q02, q11), (q14, q21) y (q24, qƒ1), usando líneas rectas, como en el caso anterior. En el problema básico de conectar q0 y qƒ mediante un polinomio, que se mencionó al principio de esta sección, si la condición de frontera para la posición, ecuación (11.1) y la condición de la velocidad, ecuación (11.2), pero no la de la continuidad de aceleración, ecuación (11.3), se consideraron como polinomios que pueden simpliicarse. De manera más especíica, puede usarse un polinomio de tercer orden q(t) = a0 + a1t + a2 t 2 + a3 t 3, (11.12a) q q12 q q13 1 q11 q0 q01 q14 qf 1 qf 2 qf q21 q02 q22 q2 q23 q24 O t D t1 t2 tf a) Puntos intermedios qi3 B qi qi2 qi1 qi – 1 qi4 A qi + 1 D ti b) Determinación de los puntos qi 2 y qi 3 Figura 11.6 Trayectoria que pasa a través de los puntos intermedios 290 CAPÍTULO 11 Planeación de movimientos en lugar de un polinomio de quinto orden. Las constantes en la ecuación (11.7) son 1 a0 = q0, a1 = qɺ 0, a2 = 2 [3(qf – q 0) – (2 qɺ 0 + qɺ f)tf ], tf a3 = 1 [–2(q f – q 0) + ( qɺ f + qɺ 0)tf]. t 3f (11.12b) En particular, si q0, qƒ, q˙0 y q˙ƒ cumplen con la ecuación (11.9), entonces a3 = 0, y así q(t) se vuelve un polinomio de segundo orden. Por lo tanto, en los casos 1 y 2 que se trataron arriba también pueden usarse polinomios de segundo orden. 11.2 Planeación del espacio cartesiano Cuando se genera una trayectoria entre dos coniguraciones del robot por medio de un método de variaEspacio articular vs. espacio cartesiano bles articulares, como se describió en la subsección anterior, a veces es difícil pronosticar el movimiento En el espacio articular se utilizan ándel efector inal en el espacio cartesiano. También hay gulos articulares y desplazamientos casos donde se requiere alguna trayectoria especíica para definir la configuración de un del efector inal. Por ejemplo, en la soldadura por arco, robot, mientras que las coordenadas cartesianas se utilizan para el mismo el electrodo deberá seguir con precisión a una costura. propósito en el espacio cartesiano.. En estos casos, deseamos generar una trayectoria en términos de las variables de posición y orientación, es decir, la coniguración del efector inal. Hay varios modos de describir la posición y orientación, es decir, la coniguración del efector inal. Puesto que el efector inal de un cuerpo rígido en el espacio cartesiano tridimensional tiene seis grados de libertad, se requieren seis variables para determinar la coniguración del efector inal. Una vez que se elija la manera, puede determinarse la trayectoria en términos de una variable de selección arbitraria, que es una secuencia de polinomios de la forma de la ecuación (11.4) o de la ecuación (11.10). La trayectoria de un efector inal que se obtiene de esta manera es muy simple y fácil de visualizar. Por ejemplo, en caso que el efector inal se mueva sobre la línea recta que conecta las coniguraciones iniciales y inales en el espacio cartesiano tridimensional, pueden usarse las coordenadas X, Y y Z del origen del sistema de referencia del efector inal respecto al sistema de referencia como las tres variables para describir la traslación. Ejemplo 11.2 Trayectoria de un robot de dos eslabones en el espacio cartesiano Vamos a obtener una trayectoria para el problema del ejemplo 11.1, no en términos de variables articulares, sino en términos de las variables de posición del efector inal, es decir, r ⬅ [x, y]T. Puesto que para la longitud del eslabón a1 = a2 = 1 la posición inicial r0 es [兹莦 3/2, 3/2]T y la posición inal rƒ es [1, 0]T, la trayectoria r(t) = [x(t), y(t)]T se 11.2 Planeación del espacio cartesiano 291 obtiene, de manera similar al método de variables articulares, como en la sección 11.1.1, como R| 3/2 + 4 (2 - 3) (t - t )/3 0 £ t £ 0.5 |(5 3 + 2)/12 + (2 - 3) (t - 0.5)/ 3 0.5 < t £ 1.5 x(t) = S ||(10 + 3)/12 + (2 - 3) (t - 1.5) / 3 T- 4 (2 - 3)[(t - 1.5) - (t - 1.5) ]/ 3 15. < t £ 2 R|3/2 - 4t + 4t 0 £ t £ 0.5 y(t) = S5/ 4 - (t - 0. 5) 0.5 < t £ 1.5 |T1/ 4 - (t - 1.5) + 4 (t - 1.5) - 4 (t - 15. ) 1.5 < t £ 2.0 3 4 3 3 (11.13a) 4 4 3 (11.13b) 4 La igura 11.7 muestra la trayectoria de punto inal resultante. En cuanto a la orientación del efector inal, si toma- Y t=0 mos los ángulos de Euler o los ángulos de roll, pitch t = 0.5 y yaw (balanceo, cabeceo, rotación), el efector inal se mueve en una línea recta respecto a estas variables. Sin embargo, el movimiento correspondiente al t = 1.0 sistema de referencia es difícil de entender en forma intuitiva porque se da como una combinación de est = 1.5 tas tres rotaciones alrededor de tres diferentes ejes de variación de tiempo. Los siguientes dos métodos O X t = 2.0 son efectivos para evitar esta diicultad. El primero se Figura 11.7 Trayectoria de punto basa en la representación de la orientación alrededor final de un eje ijo y el segundo es la representación por rotaciones alrededor de dos ejes. 11.2.1 Método de rotación de un solo eje Una representación de la relación entre dos sistemas FA y FB que tienen el mismo origen se determina por Representación alterna de rotación el par [e, a], donde e ≡ [ex, ey, ez]T es el eje de rotación equivalente y a es el ángulo de rotación equivalente. Se usa la dirección de los cosenos y ánEste par se utiliza para obtener FB de FA mediante una gulos de Euler (vea el capítulo 5). sola rotación alrededor del vector unitario ijo e por un ángulo a. Observe que el par [e, a] también puede representarse mediante un vector tridimensional proporcional a e que tenga la dirección e y la magnitud a. Observe también que la matriz de rotación Q(e, a) se determina por LMe C¢a + Ca Q(e, a) = Me e C ¢a + e Sa MNe e C¢a - e Sa 2 x ex e y C ¢a - ez Sa x e y2 y x z z y C ¢a + Ca e y ez C ¢a + e x Sa OP e e C ¢a - e Sa P PQ e C ¢ a + Ca e x ez C ¢a + e y Sa y z 2 z x (11.14) 292 CAPÍTULO 11 Planeación de movimientos donde Sa ≡ sen a, Ca ≡ cos a, y Ca ≡ 1 – Ca. La comprobación de la ecuación (11.14) es como sigue. Primero observamos que Q(e, a) = [i¢ j¢ k¢] donde iⴕ, jⴕ y kⴕ son los vectores unitarios en las direcciones X, Y y Z de FB expresadas en FA. Sean r1 el vector arbitrario en FA y r2 el vector obtenido por girar r1 alrededor de e por a, puede obtenerse la igualdad según los principios básicos de la cinemática rotacional (Ángeles, 2003) como r2 = (eT r1)e + Ca [r1 – (eT r1)e] + Sa (e ¥ r1) (11.15a) Puesto que para r1 ≡ [1, 0, 0] implica r2 ≡ iⴕ, y puede demostrarse según la ecuación (11.15 a) que T r2 ∫ [e 2x C¢a + Ca, ex ey C¢a + ez Sa, ex ez C¢a – ey Sa]T (11.15b) que no es otra cosa que la primera columna de Q(e, a), como se muestra en la ecuación (11.14). La segunda y tercera columnas son obtenidas de manera similar. Entonces, el método de rotación de un solo eje se determina. Suponga que la orientación rf Respecto al sistema de referencia del efector inal r0 es [eƒ, af] cuando se expresa mediante la representación arriba mencionada [e, a]. Entonces puede darse una trayectoria desde r0 hasta rƒ como una para la cual a cambia de 0 a aƒ alrededor del eje ijo eƒ. El cambio de a puede especiicarse, por ejemplo, mediante la solución similar a q(t) de la ecuación (11.4), es decir, con las siguientes condiciones de frontera: ɺɺ (0) = 0, a ɺɺ f, a (0) = 0, a (tf) = a f, aɺ (0) = 0, aɺ 0 ,(tf) = aɺ f, a ɺɺ 0, (tf ) = a La trayectoria para la orientación se determina por [eƒ, a(t)], donde 0 ≤ t ≤ tƒ. Puesto que la trayectoria se determina por una rotación alrededor de un eje eƒ que se ija al sistema de referencia, es fácil de entender de manera intuitiva. 11.2.2 Método de rotación de eje doble Suponga que la orientación inal respecto a la inicial es determinada por (f, q, y) cuando se expresa usando los ángulos de Euler. Si se usa la ecuación (11.14) y la representación de matriz en términos de f, q y y, como se hizo en el capítulo 5, puede verse fácilmente que la orientación también se determina por la matriz de rotación Q(eⴕ, q)Q(kⴕ, y + f), donde eⴕ ≡ [–sen f, cos f, 0]T y donde kⴕ es el eje Z después de la transferencia por Q(eⴕ, q). De este modo, puede realizarse una trayectoria de inicial a inal usando Q(eⴕ, q), Q(kⴕ, y + f), donde q y y + f son funciones polinomiales de tiempo especiicadas por la ecuación (11.4) con condiciones de frontera apropiadas y kⴕ es el vector unitario paralelo al eje Z del tiempo t después de la transferencia por Q(e, q). Expresado de manera simple, esta trayectoria es una combinación de dos rotaciones simultáneas; una alrededor del eje perpendicular a los vectores de aproximación de las coniguraciones inicial y inal, es decir, r0 y rƒ (el cual tiene una dirección constante en el sistema de referencia del efector inal de r0) a través de un ángulo q, y la otra rotación a través de un ángulo (y + f) alrededor del vector de aproximación en cada instante. Ambos ejes de estas dos rotaciones son fáciles de entender. En particular, cuando la última articulación de un manipulador es rotacional o de revoluta con su eje rotacional coincidente con el vector de aproximación del efector inal, esta articulación puede ejecutar la segunda rotación alrededor de k por sí misma. Aunque el método de rotación del 11.2 Ejemplo 11.3 Planeación del espacio cartesiano 293 Trayectoria para la orientación del efector final Suponga que quisiéramos encontrar una trayectoria que transiere la orientación del efector inal desde el reposo en la orientación inicial que se presenta en la igura 11.8a) a la orientación inal que se muestra en la igura 11.8b), llegando al reposo en el tiempo tƒ = 1. Resuelva el problema por medio de los métodos de rotación de un solo eje y del eje doble. Puede verse fácilmente, en la igura 11.8, que la matriz de rotación Q que representa la orientación inal respecto a la inicial es 0 0 1 LM Q ∫ M1 MN0 0 1 OP 0P 0PQ Si se compara esta matriz con la ecuación (11.14), se obtiene lo siguiente: i) Si se suman los elementos diagonales, (e 2x + e 2y + e 2z) C¢a + 3Ca = 0 Puesto que e es el vector unitario, e2x + e 2y + e2z = 1, y 1 + 2C = 0, es decir C = –1/2. Por lo tanto, a = 120º. ii) Si se restan los elementos no diagonales de la siguiente manera, proporcionará los componentes del vector unitario e, es decir, ex q32 - q23 1 q13 - q31 = e y 2sa ez q21 - q12 LM MM N OP PP Q LM MM N OP PP Q La expresión arriba mencionada inmediatamente da como resultado e ≡ [1/ 兹莥3, 1/ 兹莥3, 1/ 兹莥3] T. Si se usa un polinomio de quinto orden para la interpolación en la forma de la ecuación (11.4), la trayectoria de esta orientación se determina por [e, α], 0 ≤ t ≤ 1 donde a = 1.200t 3 – 1.800t 4 + 720t 5 Yf Z0 Y0 X0 Xf Zf a) Orientación inicial Figura 11.8 b) Orientación inal Orientación inicial y final del efector final 294 CAPÍTULO 11 Planeación de movimientos Un ejemplo de la matriz de rotación que representa la orientación intermedia en t = 0.5 de esta trayectoria es como sigue: OP PP Q LM 2/3 Q ∫ M 2/3 MN-1/ 3 -1/ 3 2 /3 2 / 3 1/ 3 2/ 3 2/3 Esta orientación se muestra en la igura 11.9a). Entonces el problema queda resuelto por medio del método de rotación de eje doble. Los ángulos de Euler para la orientación inicial y inal son [f0, q0, y0] T = [0°, 0°,0°]T, y [ff, qf, yf]T = [0°, 90°, 90°]T. Por lo tanto, la trayectoria se determina por Q(e¢, q) Q(k¢, y + f), 0 £ t £ 1 donde q = y + f = 900t 3 – 1.350t 4 + 540t 5 La matriz de rotación Q para la orientación intermedia en el tiempo t = 0.5 para este caso se calcula según eⴕ ≡ [0, 1, 0]T y q = y + f = 45° a t = 0.5 como LM 1/ 2 Q = M 0 MN- 1/ 2 OP LM1/ 2 0 P M1/ 2 1/ 2 P M 0 QN 0 1/ 2 - 1/ 2 1 1/ 2 0 0 OP LM 1/ 2 0P = M1/ 2 1P M - 1/ 2 Q N OP 0 P 1/ 2 P Q - 1/ 2 1/ 2 0 1/ 2 1/ 2 Esta orientación queda representada en la igura 11.9b). Si se compara esto con la igura 11.9a), vemos que el vector de aproximación siempre es perpendicular al eje Y0, lo que da como resultado una ruta más corta. Por otro lado, si el movimiento del efector inal tiene que seguir una trayectoria prescrita de movimiento, esto tiene que ser analíticamente geométrico. Entonces será necesario referirse a los movimientos primitivos deiniendo las características geométricas de las rutas y tiempos primitivos deiniendo la ley de tiempo sobre la ruta misma, como se presenta a continuación. Zo Zo q Z Y y+j Z e k eⴕ Yo Xo Yo Xo X X a) Rotación de eje sencillo Figura 11.9 b) Rotación de eje doble Métodos de orientación intermedia 11.3 Trayectorias de posición y orientación 295 eje doble es un poco más complejo que el método de rotación de un solo eje, es más fácil de entender el cambio del vector de aproximación. 11.3 Trayectorias de posición y orientación Si se considera que x es el vector de las variables de espacio operacional que expresa la posición y orientación del efector inal del manipulador, generar una trayectoria en el espacio operacional representa determinar una función x(t), tomando el sistema del efector inal desde la ubicación inicial hasta la inal en un tiempo tƒ a lo largo de una ruta determinada con una ley especíica de tiempo de movimiento. Para ello, primero que nada considere la posición del sistema del efector inal. Por consecuencia, la orientación se dará. 11.3.1 Rutas primitivas Para la deinición de rutas primitivas, es conveniente referirse a la descripción paramétrica rutas en el espacio. Supóngase que p es el vector tridimensional y f(s) es una función vectorial continua deinida en el intervalo [si, sƒ]. Considere la ecuación (11.16) p = f (s) con referencia a su descripción geométrica, la secuencia de valores de p con s variando en [si, sƒ] se llama ruta en el espacio. La ecuación (11.16) deine la representación paramétrica de la ruta Γ y el escalar s se conoce como parámetro. Conforme incremente s, el punto p se moverá sobre la ruta a una dirección dada. Se dice que esta dirección está inducida en Γ por la representación paramétrica (11.16). Una ruta es cerrada cuando p(sf) = p(si); de otra forma, es abierta. Si pi es un punto en lruta abierta Γ en el cual se haya ijado una dirección, la coordenada de la rutas del punto genérico p es la longitud del arco de Γ con los extremos p y pi si p le sigue a pi, lo contrario de esta longitud si p precede a pi. Se dice que el punto pi es el origen de la coordenada de la ruta (s = 0). De la presentación señalada anteriormente se establece que para cada valor de s le corresponde un punto perfectamente determinado y entonces la coordenada de la ruta puede usarse como un parámetro en una representación paramétrica diferente de la ruta Γ, es decir, (11.17) p = f (s) El rango de variación del parámetro s será la secuencia de las coordenadas de la ruta asociada con los puntos de Γ. Considere una ruta Γ representada por la ecuación (11.17). Suponga que p es un punto correspondiente en la coordenada de la ruta s. Excepto en casos especiales, p permite la deinición de tres vectores unitarios que caracterizan la ruta. La orientación de estos vectores depende exclusivamente de la geometría de la ruta, mientras que su dirección depende también de la dirección incluida por la ruta. El primero de estos vectores unitarios es el vector unitario de tangente denotado por t. Este vector se orienta a lo largo de la dirección incluida en la ruta por s. El segundo vector unitario es el vector unitario normal denotado por n. Este vector se orienta a lo largo de la línea que cruza a p con un ángulo recto con t y que se encuentra en el llamado plano F (igura 11.10). Este plano es la posición límite del plano que contiene el vector unitario t y un punto pⴕ ∈ Γ cuando pⴕ tiende a p a lo largo de la ruta. La dirección de n es tal que la ruta Γ, en la vecindad de p respecto al plano que contiene t y la normal a n, 296 CAPÍTULO 11 Planeación de movimientos Γ t Φ p Z pi pf n b O Y X Figura 11.10 Representación paramétrica de una ruta en el espacio se encuentra en el mismo lado de n. El tercer vector unitario es el vector unitario binormal denotado por b. Este vector es de esta forma para que el sistema de referencia (t, n, b) es derecho (acorde a la regla de la mano derecha) (igura 11.10). Observe que no siempre será posible deinir uno de estos sistemas en forma única. Puede demostrarse que los tres vectores unitarios señalados anteriormente están vinculados por relaciones simples con la representación de la ruta Γ como función de la coordenada de la ruta. En particular, ellos son dp d 2p 1 (11.18) t= ;n= ;y b=t¥n 2 ds d 2p ds ds2 A continuación se presentarán típicas representaciones paramétricas de la rutas que son útiles para la generación de rutas en el espacio operacional. Ejemplo 11.4 Segmento lineal en el espacio Considere el segmento lineal en el espacio que conecta el punto pi con el punto pf . La representación paramétrica de esta ruta es s dp p(s) = pi + (11.19) dp donde cp ≡ pf – pi. Observe que p(0) = pi y p(⎥⎥ cp⎥⎥) = pf . Por ende, la dirección inducida en Γ por la representación paramétrica de la ecuación (11.19) va de pi a pf . Al derivar la ecuación (11.19) respecto a s se obtiene dp dp d 2p (11.20) = ;y =0 ds ds 2 dp En este caso no es posible deinir el sistema (t, n, b) de forma única. Ejemplo 11.5 Círculo en el espacio Considere un círculo Γ en el espacio. Antes de obtener su representación paramétrica es necesario introducir sus parámetros signiicativos. Suponga que el círculo se especiica asignando (ecuación 11.11): 11.3 • • • Trayectorias de posición y orientación 297 el vector unitario del eje del círculo r el vector posicional d de un punto a lo largo del eje el vector posicional pi de un punto sobre el círculo Z d Z9 c r X9 pi c O9 Y9 O Y X Figura 11.11 Representación paramétrica de un círculo en el espacio Mediante estos parámetros puede encontrarse el vector posicional c del centro del círculo. Si c = pi – d, para que pi no sea el eje, es decir, para que el círculo no degenere en un punto, debe ser | cTr | æ ||c||. En este caso es d Tr)r c = d + (d (11.21) Luego se desea encontrar una representación paramétrica del círculo como función de la coordenada de la ruta. Observe que esta representación es muy simple para una opción conveniente del sistema de referencia. Para ver esto, considere el sistema de referencia O-XYZ, donde O coincide con el centro del círculo, el eje X se orienta a lo largo de la dirección del vector pi – c; el eje Z se orienta a lo largo de r y el eje Y se orienta de tal modo que completa un sistema derecho. Cuando se expresa en este sistema de referencia, la representación paramétrica del círculo es LMr cos FG s IJ OP MM H r K PP F sI p¢(s) = M r sen G r J P MM H K PP MN 0 PQ (11.22) donde r = ⎥⎥pi – c⎥⎥ es el radio del círculo y el punto pi ha sido asumido como el origen de la coordenada de la ruta. Para un sistema de referencia diferente, la representación de la ruta se vuelve p(s) = c + Qp¢(s) (11.23a) 298 CAPÍTULO 11 Planeación de movimientos donde c se expresa en el sistema de referencia O-XYZ y Q es la matriz de rotación del sistema de referencia O-XYZ respecto al sistema de referencia O–XYZ, que puede escribirse como (11.23b) Q ∫ [x¢ y¢ z¢] en la que xⴕ, yⴕ, zⴕ indican los vectores unitarios del sistema de referencia expresado en el sistema de referencia O-XYZ. La diferenciación de la ecuación (11.23a) respecto a s da como resultado LM- sen FG s IJ OP MM H r K PP d p dp F s I ; y ds =Q M ds cos GH r JK P MM PP MN 0 PQ 2 2 11.3.2 LM- 1 cos FG s IJ OP MM r1 H r K PP F I =QM - r sen G s J P H rK P MM MN 0 PPQ (11.24) Posición Si p = f(s) es el vector tridimensional de la representación paramétrica de la ruta Γ como una función de la coordenada de la ruta s, el origen del sistema de referencia del efector inal se mueve de pi a pf en un tiempo tƒ. Por motivos de simplicidad, suponga que el origen de la coordenada de la ruta esté en pi, y que la dirección inducida en Γ se va de pi a pf . La coordenada de la ruta se va entonces del valor s = 0 en t = 0 al valor s = sƒ (longitud de la ruta) en t = tƒ. La ley de tiempo a lo largo de la ruta se describe mediante la función s(t). Para encontrar una expresión analítica para s(t), puede emplearse cualquiera de los métodos para la generación de las trayectorias articulares que se describen arriba. En particular, puede elegirse un polinomio cúbico o una secuencia de segmentos lineales con mezclas parabólicas para s(t). Vale la pena hacer algunos comentarios sobre la evolución de tiempo de p en Γ para una ley de tiempo determinada s(t). La velocidad del punto p se deine por la derivada del tiempo de p dp (11.25) pɺ = sɺ = sɺ t ds donde t es el vector tangente a la ruta en el punto p en la ecuación (11.17). Entonces, s· representa la magnitud del vector de velocidad relativa al punto p, tomado con el signo positivo o negativo, dependiendo de la dirección de p· a lo largo de t. La magnitud de p· inicia desde cero en t = 0, luego varía con un peril parabólico o trapezoidal según cualquiera de las opciones antes mencionadas para s(t) y inalmente regresa a cero en t = tƒ. Ejemplo 11.6 Velocidad y aceleración para un segmento lineal Considere el segmento del ejemplo 11.4 que conecta el punto pi con el punto pƒ. La representación paramétrica de esta ruta se determina por la ecuación (11.19). La 11.3 Trayectorias de posición y orientación 299 velocidad y aceleración de p puede calcularse fácilmente recordando la regla de diferenciación de funciones compuestas, es decir, ɺɺ sɺ s (11.26) ɺɺ = d p = sɺ t; y p d p = ɺɺ st pɺ = dp dp donde el vector cp se deine según la ecuación (11.19). Ejemplo 11.7 Velocidad y aceleración para un círculo Aquí, considere un círculo Γ en el espacio. Según la representación paramétrica que se derivó en la ecuación (11.24), la velocidad y la aceleración del punto p en el círculo son: LM- sɺsenFG s IJ OP MM H r K PP F sI ; y pɺ = Q M MM sɺcos GH r JK PPP MN 0 PQ LM- 1 sɺ MM r ɺɺ = Q M 1 ɺ p MM- r s MN 2 2 FG IJ F I OP H KP H K F s I s FG s IJ PP sen G r J + ɺɺcos H K H rKP PP 0 Q s s cos r - ɺɺs sen r (11.27) Observe que el vector de velocidad se alinea con t y el vector de aceleración se determina por dos contribuciones: la primera se alinea con n y representa la aceleración centrípeta, mientras que la segunda se alinea con t y representa la aceleración tangencial. 11.3.3 Orientación Considere ahora la orientación del efector inal. Normalmente esto se especiica en términos de la matriz de rotación del sistema de referencia del efector inal (con variación del tiempo) respecto al sistema de referencia de base. Como bien se sabe, las tres columnas de la matriz de rotación representan los tres vectores unitarios del sistema de referencia del efector inal (n, s, a) expresados en el sistema de referencia de base. Para generar una trayectoria, sin embargo, no es conveniente referirse a la matriz de rotación para caracterizar la orientación. Por ejemplo, una interpolación lineal sobre los vectores unitarios n, s, a que describen la orientación inicial y inal no garantiza la ortonormalidad de los vectores mencionados en cada instante de tiempo. En vista de la diicultad mencionada, la orientación se describe para propósitos de generación de las trayectorias en términos del ángulo triple e ≡ [f, q, y]T; es decir, los ángulos de Euler ZYZ, para los cuales puede especiicarse una ley de tiempo. Usualmente, f se mueve a lo largo del segmento que conecta su valor inicial ei a su valor inal eƒ. En este caso, también es conveniente elegir un polinomio cúbico o un segmento lineal con la ley de tiempo de combinaciones parabólicas. Para ei y eƒ determinados, los periles de posición, velocidad y aceleración son: ɺɺ sɺ s (11.28) ɺɺ = s d f j = ji + d f ; jɺ = df y j df df df 300 CAPÍTULO 11 Planeación de movimientos donde ce ≡ iƒ – ii, y la ley de tiempo para s tiene que especiicarse. Los tres vectores unitarios del sistema de referencia del efector inal pueden calcularse —con referencia a los ángulos de Euler ZYZ— como en la ecuación (5.31e), la velocidad angular del sistema de referencia del efector inal como en la ecuación (6.39) y la aceleración angular mediante la diferenciación de la propia ecuación (6.39). Una forma alternativa para generar una trayectoria para la orientación de una interpretación más clara en el espacio cartesiano puede derivarse cuando se recurre al método del eje equivalente de rotación que se presentó en la sección 11.2. Determinados dos sistemas de coordenadas en el espacio cartesiano con el mismo origen y diferente orientación, siempre es posible determinar un vector unitario e, de tal modo que el segundo sistema puede obtenerse a partir del primer sistema mediante la rotación de la magnitud a alrededor del eje de este vector unitario. Si Qi y Qƒ denotan, respectivamente, las matrices de rotación del sistema de referencia inicial Oi-XiYiZi y el sistema inal Of-XfYfZf, ambos respecto al sistema de referencia base, la matriz de rotación entre las dos sistemas puede calcularse si se recuerda que Qƒ = Qi Q, la ecuación (5.19), permite escribir LMq Q = Mq MNq 11 Q= Q Ti f 21 31 q12 q22 q32 q13 q23 q33 OP PP Q ~ ~ Si la matriz Q̈ se deine para describir la transición de Qi a Qƒ, debe ser Q (0) = 1 y Q (tf) = Qƒ. Por lo tanto, la matriz Q puede expresarse como la matriz de rotación alrededor de un eje ijo en el espacio; el vector unitario e del eje y el ángulo de rotación a pueden calcularse usando el ejemplo 11.3, es decir, a = cos –1 FG q H 11 IJ K + q 22 + q 33 - 1 1 ,y e= 2 sena 2 LMq MMq Nq 13 - q23 - q31 21 - q12 32 OP PP Q (11.29) ~ para sen a ≠ 0. La matriz Q puede interpretarse como una matriz Q(a) y puede calcularse mediante la ecuación (11.14). Luego es suiciente asignar una ley de tiempo a a, del tipo de las que se presentan para la articulación sencilla con a(0) = 0 y a(tƒ) = a, y el cálculo de los componentes ex, ey, ez del vector unitario del eje ijo según la ecuación (11.29). Por ende, ~ Q = Qi Q(a ) representa la matriz de rotación que describe la orientación del efector inal como una función de tiempo respecto al sistema de referencia base. Una vez que se hayan especiicado ~ una ruta y una trayectoria en el espacio operacional en términos de p y e o Q , pueden usarse técnicas de cinemática inversa para encontrar las trayectorias correspondientes en el espacio articular p. 11.4 Planeación de punto a punto En el movimiento de punto a punto, el manipulador tiene que moverse desde la coniguración articular inicial hasta la inal dentro de un tiempo determinado tƒ. En este caso, la 11.4 301 Planeación de punto a punto ruta real del efector inal no es importante. El algoritmo deberá generar una trayectoria que, respecto a los Aplicación de movimiento PTP requerimientos generales mencionados, también será capaz de optimizar algún índice de desempeño cuando Aquella donde se requieren operaciose mueve la articulación de una posición a otra. Una nes de recoger y colocar, por ejemplo, sugerencia para la selección de la primitiva de movi- tomar una pieza de trabajo de una miento podrá derivarse del análisis de un problema de banda transportadora y colocarla sobre una mesa de maquinado para su movimiento incremental. Si I es el momento de inercia procesamiento. para un cuerpo rígido alrededor de su eje de rotación, se requiere tomar el ángulo desde un valor inicial qi hasta un valor inal qƒ en el tiempo tƒ. Es obvio que existen soluciones ininitas para este problema. Suponiendo que la rotación se ejecute mediante un par de torsión τ proporcionado por un motor, puede encontrarse una solución que minimiza la energía disipada por el motor. Este problema de optimización puede formalizarse como sigue: colocar q˙ = w determina la solución para la ecuación diferencial I wɺ = t (11.30a) sujeta a la condición tf z w (t)dt = q f – q i (11.30b) 0 de tal modo que se minimice el índice de desempeño tf z t 2(t)dt (11.30c) 0 Puede demostrarse que la solución resultante es del tipo w(t) = at 2 + bt + c ( 11.30d) Aunque la dinámica de articulaciones o articular no puede describirse de la manera simple mencionada, la elección de una función polinomial de tercer orden para generar una trayectoria de articulación representa una solución válida para el problema en estudio. Por lo tanto, a in de determinar un movimiento de articulación, puede elegirse el polinomio cúbico q(t) = a 3 t 3 + a2 t 2 + a1t + a0 ( 11.31a) que da como resultado periles de velocidad parabólica y aceleración lineal, a saber, qɺ (t) = 3a3 t 2 + 2a2 t + a1; y qɺɺ (t) = 6a 3 t + 2a2 ( 11.31b) Puesto que cuatro coeicientes están disponibles, es posible imponer, aparte de los valores de posición de articulación inicial y inal qi y qƒ, también los valores de velocidad de arti· · culación inicial y inal qi y qƒ que usualmente se ponen en cero. La determinación de una trayectoria especíica se determina por la solución del siguiente sistema de ecuaciones: a0 = qi; a1 = qɺ i; a3 t 3f + a2 t 2f + a1 tf + a0 = q f; y 3 a3t 2f + 2a2 tf + a1 = qɺ f ( 11.31c) que permite calcular el resultado de los coeicientes del polinomio en una ecuación (11.31a). La igura 11.12 ilustra la ley de tiempo obtenida por medio de los siguientes datos: qi = 0, CAPÍTULO 11 Planeación de movimientos 3 Rad 2 1 0 0 0.2 0.4 0.6 seg 0.8 1 a) Posición 5 4 Rad/s 3 2 1 0 0 0.2 0.4 0.6 0.8 seg b) Velocidad 1 0.2 0.4 0.6 0.8 seg c) Aceleración 1 20 2 10 Rad/s 302 0 –10 –20 0 Figura 11.12 Historiales de tiempo con un polinomio cúbico 11.4 Planeación de punto a punto 303 qƒ = π, tf = 1 y q˙i = q˙ƒ = 0. Como se esperaba, la velocidad tiene un peril parabólico, mientras que la aceleración tiene un peril lineal con discontinuidad inicial y inal. Si se desea asignar también los valores iniciales y inales de aceleración, tienen que cumplirse seis restricciones y luego se necesita un polinomio de por lo menos quinto orden, como se obtiene en la sección 11.1. Un planteamiento alternativo con leyes de tiempo del tipo polinomial mixto se adopta frecuentemente en la práctica industrial, lo que permite la veriicación directa si las velocidades y aceleraciones resultantes pueden soportarse por el manipulador mecánico polinomial. En este caso, se asigna un peril de velocidad trapezoidal que impone una aceleración constante en la fase de arranque, una velocidad y una desaceleración constantes en la fase de llegada. La trayectoria resultante se forma por un segmento lineal conectado por dos segmentos parabólicos en su posición inicial y inal. Como puede verse en los periles de velocidad de la igura 11.13, se supone que tanto la velocidad inicial como la inal son nulas y los segmentos con aceleraciones constantes tienen la misma duración de tiempo; esto implica una magnitud igual q̈c en los dos segmentos. Observe también que la elección de arriba conduce a una trayectoria simétrica con respecto al punto promedio qm = (qf + qi)/2 en tm = tf /2. La trayectoria deberá cumplir con algunas restricciones con el in de asegurar q qf qm qc qi O tc tf – tc tc t tf – tc tf t b) Velocidad .. θ .. θc tf – tc O tf a) Posición . θ . θc O tm tc tf t .. – θc c) Aceleración Figura 11.13 Ley de tiempo con un perfil de velocidad trapezoidal 304 CAPÍTULO 11 Planeación de movimientos la transición de qi a qf en el tiempo tf. La velocidad al inal del segmento parabólico debe ser igual a la velocidad (constante) del segmento lineal, es decir, q - qc qɺɺ c tc = m t m - tc (11.32a) donde qc es el valor alcanzado por la variable articular al inal del segmento parabólico al tiempo tc con la aceleración constante q̈c (observe que q̇ (0) = 0). Es entonces qc = q i + 1 ɺɺ 2 q t 2 c c (11.32b) La combinación de las ecuaciones (11.32 a y b) proporciona qɺɺc t 2c – qɺɺc tf tc + qf – q i = 0 (11.32c) Usualmente, q̈c se especiica y entonces, para tf , qi y qf determinado, la solución para tc se calcula , según la ecuación (11.32c), como (tc ≤ tf /2) tc = tf – 2 1 2 t 2f qɺɺ c - 4(q f - q i ) qɺɺ (11.33) c La aceleración se sujeta entonces a la constante | qɺɺc | ≥ 4 |q f - q i | t 2f (11.34) Cuando la aceleración q̈c se elige de tal modo que cumple con la ecuación (11.34) con el signo de igualdad, la trayectoria resultante ya no ostenta el segmento de velocidad constante y solamente tiene los segmentos de aceleración y desaceleración (peril triangular). Determinados qi, qf y tf, y por ende también una velocidad de transición promedio, la ecuación (11.34) permite la imposición de un valor de aceleración consistente con la trayectoria. Luego tc se calcula según la ecuación (11.33) y se genera la siguiente secuencia de polinomios: R|q | q(t) = Sq ||q T 1 ɺɺ 2 q t 0 £ t £ tc 2 c ɺɺ i + q c t c ( t - t c / 2) t c · t £ t f - t c 1 ɺɺ 2 t f - tc · t £ t f f + q c (t f - t ) 2 i + (11.35) La igura 11.14 muestra una representación de la ley de tiempo de movimiento obtenida por imponer los datos q i = 0, q f = p, tf = 1, y |q̈c | = 6π. La especiicación de la aceleración en el segmento parabólico no es la única manera de determinar trayectorias con un peril de velocidad trapezoidal. Aparte de qi, qf y tc, también puede especiicarse la velocidad de crucero qc, que se sujeta a la restricción |q f - q i | 2|q f - q i | < | qɺ c | £ tf tf (11.36) 11.4 Planeación de punto a punto 305 Rad 3 2 1 0 0 0.2 0.4 0.6 Seg 0.8 1 0.6 0.8 Seg b) Velocidad 1 a) Posición 5 4 Rad/s 3 2 1 0 0 0.2 0.4 0 0.2 0.4 10 Rad/s 2 20 0 –10 –20 0.6 Seg 0.8 1 c) Aceleración Figura 11.14 Historiales de tiempo con el perfil de ley de tiempo de velocidad trapezoidal 306 CAPÍTULO 11 Planeación de movimientos Si se reconoce que q̇c = q̈ctc, la ecuación (11.32) permite que se calcule tc como tc = q i - q f + qɺ c t f qɺ (11.37) c y por ende la aceleración resultante es qɺɺ c = qɺ c2 q i - q f + qɺ c t f (11.38) Los valores calculados de tc y q̈c como en las ecuaciones (11.37) y (11.38) permiten la generación de la secuencia de polinomios como queda expresado en la ecuación (11.35). La adopción de un peril de velocidad trapezoidal da como resultado un peor índice de desempeño en comparación con el polinomio cúbico. La disminución, sin embargo, se limita; el tf término t 2 dt se incrementa en 12.5% respecto al caso óptimo. z 0 11.5 Generación de ruta continua En varias aplicaciones, la ruta se describe en términos de un número de puntos mayores a dos. Por ejemplo, incluso para el simple movimiento de punto a punto de una tarea de recoger y colocar, podrá valer la pena Donde es necesario el movimiento asignar dos puntos intermedios entre el punto inicial continuo del efector final a lo largo de una ruta, por ejemplo, al soldar y el punto inal. Pueden conigurarse posiciones condos tubos. venientes para levantar y bajar el objeto, por lo que se obtienen velocidades reducidas respecto a la transferencia directa del objeto. Para aplicaciones más complejas, puede ser conveniente asignar una secuencia de puntos con el in de garantizar un mejor monitoreo de las trayectorias ejecutadas; los puntos deben especiicarse con mayor densidad en aquellos segmentos de la ruta donde tienen que evitarse obstáculos o donde se espera una curvatura de ruta alta. No debe olvidarse que las variables articulares correspondientes se calcularon con coniguraciones del espacio cartesiano. Por lo tanto, el problema es generar una trayectoria donde N puntos, llamados puntos de ruta, se especiican y el manipulador tiene que alcanzarlos en ciertos instantes de tiempo. Para cada variable articular Aplicación del movimiento de ruta continua • • • • • No es posible asignar las velocidades iniciales y inales. Conforme aumenta el orden de un polinomio, se incrementa su comportamiento oscilatorio, y esto podrá llevar a trayectorias que no son naturales para el manipulador. La precisión numérica para la computación de coeicientes polinómicos disminuye conforme se incrementa el orden. El sistema resultante de ecuaciones de restricción es difícil de resolver. Los coeicientes polinomiales dependen de todos los puntos asignados; entonces, si se desea cambiar un punto, tienen que volverse a calcular todos. 11.5 307 Generación de ruta continua Estos inconvenientes pueden superarse si se considera un número adecuado de polinomios de interpolación de bajo orden, continuos en los puntos de ruta, en lugar de un solo polinomio de orden alto. De acuerdo con la sección anterior, el polinomio de interpolación del orden más bajo es el polinomio cúbico, puesto que permite imponer la continuidad de velocidades en los puntos de ruta. En la variable de una articulación sencilla, se busca una función q(t), formada por una secuencia de N – 1 polinomios cúbicos qk(t), para k = 1, . . ., N – 1, continuo con las primeras derivadas. La función q(t) alcanza los valores qk para t = tk(k = 1, . . ., N), y q1 = q0 en t1 = 0; y qN = qf en tN = tf; los qk representan los puntos de ruta que describen la trayectoria deseada en t = tk, como se muestra en la igura 11.15. Pueden considerarse las siguientes situaciones: · • Valores arbitrarios de q (t) se imponen en los puntos de ruta. · • Los valores de q (t) en los puntos de ruta se asignan de acuerdo con ciertos criterios. • La aceleración q̈(t) será continua en los puntos de ruta. Para simpliicar el problema, también es posible encontrar polinomios de interpolación de un orden menor de tres que determinan trayectorias que pasan junto a los puntos de ruta en los instantes determinados de tiempo. 11.5.1 Polinomios de interpolación con restricciones de velocidad en puntos de ruta Esta solución requiere que el usuario sea capaz de especiicar la velocidad deseada en cada punto de la ruta; la solución no tiene ninguna novedad respecto a los conceptos que se mencionan arriba. El sistema de ecuaciones que permite el cálculo del coeiciente de los N – 1 polinomios cúbicos que interpola los N puntos se obtiene mediante la imposición de las siguientes condiciones sobre el polinomio genérico rk(t), interpolando qk y qk+1 para k = 1, …, N – 1: r k (tk) = q k; r k (tk +1) = q k +1; rk (tk) = qɺ k ; rk (tk +1) = qɺ k +1 (11.39) El resultado es N – 1 sistemas de cuatro ecuaciones en los cuatro coeicientes desconocidos del polinomio genérico; éstos pueden resolverse uno independiente del otro. Las q q2 r2 q3 r 3 r1 rN–1 qN = qf q1 = qi t1 = 0 Figura 11.15 t2 t3 tN = tf t Una trayectoria sobre una ruta dada, obtenida por medio de polinomios de interpolación 308 CAPÍTULO 11 Planeación de movimientos velocidades iniciales y inales de la trayectoria se ponen normalmente en cero (q̇1 = q̇N = 0) y la continuidad de velocidad en los puntos ruta se asegura al poner rɺ k (tk +1) = rɺ k+1 (tk+1), para k = 1,…, N - 2 (11.40) La igura 11.6 presenta el historial de tiempo de posición, velocidad y aceleración obtenidas mediante los datos: q1 = 0, q2 = 2p, q3 = p/2, q4 = p, t1 = 0, t2 = 2, t3 = 3, t4 = 5, q̇1 = 0, q̇2 = , q̇3 = –, y q̇4 = 0. Observe la discontinuidad resultante en la aceleración, puesto que sólo se garantiza la continuidad de la velocidad. 11.5.2 Polinomios de interpolación con velocidades calculadas en puntos de ruta En este caso, tiene que computarse la velocidad de la articulación en una ruta, de acuerdo con ciertos criterios. Mediante la interpolación de los puntos de la ruta con segmentos lineales, pueden calcularse las velocidades relativas conforme a las siguientes reglas: qɺ = 0 1 qɺ k = R|0 S| 1 (v T2 sgn (v k ) π sgn (v k + 1) k + v k + 1) sgn (v k ) π sgn (v k + 1) (11.41) qɺ N = 0 donde vk = (qk – qk –1)/(tk – tk – 1) proporciona la pendiente del segmento en el intervalo [tk–1, tk]. Con la coniguración de arriba, la determinación de los polinomios de interpolación se reduce al caso anterior. La igura 11.17 presenta el historial de tiempo de posición, velocidad y aceleración que se obtienen mediante los siguientes datos: q1 = 0, q2 = 2p, q3 = p/2, q4 = p, t1 = 0, t2 = 2, t3 = 3, t4 = 5, q̇1 = 0, y q̇4 = 0. Es fácil darse cuenta que la secuencia impuesta por puntos ruta conduce a tener cero velocidad en los puntos intermedios. 11.5.3 Polinomios de interpolación con aceleración continua en puntos de ruta (splines) Ninguna de las dos soluciones mencionadas asegura la continuidad de aceleración en los puntos de la ruta. Spline Dada una secuencia de N puntos de ruta, también la aceleración es continua en cada tk si se imponen cuaEl término spline (función de empaltro restricciones; a decir: dos restricciones de posición me suave) proviene de los bosquejos para cada uno de los cúbicos adyacentes, y dos resgenerados en dibujo, donde los splines eran tiras flexibles guiadas por tricciones que garantizan la continuidad de velocidad puntos en un papel y que se usaban y aceleración. Entonces tiene que cumplirse con las para dibujar curvas. siguientes ecuaciones: ɺɺ k–1(tk) = r ɺɺ k (tk) r k –1 (tk) = q k; r k –1 (tk) = r k (tk); rɺ k–1 (tk); = rɺ k (tk); y r 11.42) El sistema resultante para los N puntos de la ruta, incluidos los puntos iniciales y inales, no puede resolverse. De hecho, se forma por 4(N – 2) ecuaciones para los puntos intermedios 11.5 Generación de ruta continua Rad 6 4 2 0 0 2 Seg 4 6 4 6 4 6 a) Posición Rad/s 5 0 –5 0 2 Seg b) Velocidad Rad/s2 20 0 –20 –40 0 2 Seg c) Aceleración Figura 11.16 Polinomios de interpolación con restricciones de velocidad en puntos de ruta 309 CAPÍTULO 11 Planeación de movimientos Rad 6 4 2 0 0 2 0 2 0 2 Seg a) Posición 4 6 Rad/s 5 0 –5 Seg b) Velocidad 4 6 30 20 10 Rad/s2 310 0 –10 –20 –30 Figura 11.17 Seg c) Aceleración 4 6 Polinomios de interpolación con velocidades calculadas en puntos de ruta 11.5 311 Generación de ruta continua y seis ecuaciones para los puntos externos; las restricciones de posición para los polinomios r 0(t1) = qi y rN (tf) = qf no deben contarse como polinomios, ya que simplemente son los valores impuestos de las velocidades y aceleraciones iniciales y inales. En suma, se tienen 4N – 2 ecuaciones en 4(N – 1) incógnitas. Sólo puede resolverse el sistema si se eliminan las dos ecuaciones que permiten la asignación arbitraria de los valores de aceleración inicial y inal. Deberán usarse polinomios del cuarto orden para incluir esta posibilidad para el primero y último segmentos. Por otro lado, si solamente se han de usar polinomios del tercer orden, puede realizarse el siguiente engaño. Se introducen dos puntos virtuales para los cuales pueden imponerse restricciones de continuidad sobre posición, velocidad y aceleración, aunque sin especiicar las posiciones reales. Cabe señalar que la ubicación efectiva de estos puntos es relevante, pues sus restricciones de posición se reieren únicamente a la continuidad. Por lo tanto, la introducción de dos puntos virtuales implica la determinación de N + 1 polinomios cúbicos. Considere N + 2 instantes de tiempo tk, donde t2 y tN+1 convencionalmente se reieren a los puntos virtuales. El sistema de ecuaciones para determinar los N + 1 polinomios cúbicos puede encontrarse si se toman las 4(N – 2) ecuaciones: r k–1 (tk) = qɺɺ k (tk ) rk–1 (tk) = qk; r k–1(tk) = q k (tk); rɺ k –1(tk) = qɺ k (tk); y ɺɺ (11.43) para k = 3, …, N, escrito para los N – 2 puntos de ruta intermedios, las 6 ecuaciones r1(t1) = q i; rɺ 1(t1) = qɺ i; y ɺɺ r 1 (t1) = qɺɺ i (11.44a) r N+1 (tN+2) = qɺɺ f r N+1 (tN+2) = qf ; rɺ N+1(tN+2) = qɺ f ; y ɺɺ (11.44b) escritas para los puntos iniciales y inales y las 6 ecuaciones: r k–1 (tk) = ɺɺ r k (tk) r k–1 (tk) = r k (tk); rɺ k–1 (tk) = rɺ k (tk); y ɺɺ (11.45) para k = 2, N + 1, escritas para los dos puntos virtuales. El sistema resultante tiene 4(N + 1) ecuaciones en 4(N + 1) desconocidas, que son los coeicientes de los N + 1 polinomios cúbicos. La solución para el sistema es computacionalmente demandante, incluso para valores bajos de N. No obstante, el problema puede proyectarse en forma conveniente con el in de resolver el sistema de ecuaciones resultante mediante un algoritmo computacionalmente eiciente. Puesto que el polinomio genérico rk(t) es cúbico, su segunda derivada debe ser una función lineal de tiempo que luego puede escribirse como ɺɺ r k (t) = ɺɺ r k (t k +1) ɺɺ r k (t k ) (tk+1 – t) + (t – tk) k = 1,…, N + 1 Dt k Dt k (11.46) donde ∆tk = tk+1 – tk indica el intervalo por alcanzar qk+1 a partir de qk. Mediante la doble integración de la ecuación (11.46) a través del tiempo, puede escribirse el polinomio genérico como r k (t) = ɺɺ r k (t k +1) ɺɺ k (t k ) r (tk+1 – t) 3 + (t – tk) 3 + 6Dt k 6Dt k + FG r (t ) - Dt rɺɺ (t ) IJ (t 6 K H Dt k k k k k k k+1 – t) F r (t GH Dt k k + 1) k - r k (t k +1) Dt k ɺɺ 6 I (t – t ) JK k (11.47) 312 CAPÍTULO 11 Planeación de movimientos para k = 1, …, N + 1 que depende de las 4 incógnitas r k (tk), r k (tk+1), r̈k (tk) y r̈k (tk+1). Observe que las N variables qk para k ≠ 2, N + 1 se determinan mediante la ecuación (11.39), mientras se impone continuidad para q2 y qN+1 por medio de la ecuación (11.42). Usando las ecuaciones (11.42) y (11.44), se reducen las incógnitas en N + 1 ecuación (11.47) a 2(N + 2). Por medio de la observación de que la ecuación (11.44) depende de q2 y qN+1 y que q˙i y q˙f se determinan, q2 y qN+1 pueden computarse como una función de r̈1(t1) y r̈N+1(tN+2), respectivamente. Por lo tanto, queda un número de 2(N + 1) incógnitas. Tomando en cuenta las ecuaciones (11.42) y (11.45) y sin tomar en cuenta que en la ecuación (11.44) q¨i y q¨f se determinan, las incógnitasse reducen a N. En este punto pueden utilizarse las ecuaciones (11.42) y (11.45) para escribir el sistema de N ecuaciones en N incógnitas: rɺ 1 (t2) = rɺ 2 (t2);…; rɺ N (tN +1) = rɺ N+1 (tN+1) (11.48) La diferenciación del tiempo de la ecuación (11.47) da tanto ṙk(tk+1) como ṙk+1(tk+1) para k = 1, …, N y, por lo tanto, es posible escribir un sistema de ecuaciones lineales del tipo ɺɺ 2 (t2)… ɺɺ A[ r r N+1(tN+1)] T = b (11.49) que presenta un vector b de términos conocidos y una matriz de coeiciente no singular A; la solución para este sistema siempre existe y es única. Puede demostrarse que la matriz A tiene una estructura de banda tridiagonal del tipo LMa MMa A= ⋮ MM 0 MN 0 11 21 a12 a23 ⋮ 0 0 0 0 ⋮ 0 0 ⋮ a N -1, N -1 a N -1, N a N , N -1 a NN OP PP PP PQ (11.50) que simpliica la solución para el sistema. Esta matriz es la misma para todas las articulaciones, ya que depende solamente de los intervalos ∆tk especiicados. Existe un eiciente algoritmo de solución para el mencionado sistema, que se determina por un cálculo directo seguido por un cálculo inverso. Según la primera ecuación, r̈2(t2) puede calcularse como función de r̈3(t3) y luego se sustituye en la segunda ecuación que entonces se vuelve una ecuación de las incógnitas r̈3(t3) y r̈4(t4). Esto se realiza en forma directa mediante la transformación de todas las ecuaciones a ecuaciones con dos incógnitas, excepto la última que tendrá a r̈N+1(tN+1) como única incógnita. En este punto pueden determinarse todas las incógnitas paso a paso por medio de un cálculo inverso. La secuencia arriba mencionada de polinomios cúbicos se llama spline para indicar las funciones continuas que interpolan una secuencia de puntos determinados, asegurando la continuidad de la función y sus derivadas. La igura 11.18 ilustra el historial de tiempo de posición, velocidad y aceleración obtenido mediante los datos q1 = 0, q3 = 2p, q4 = p/2, q6 = p, t1 = 0, t3 = 2, t4 = 3, t6 = 5, q˙1 y q˙6 = 0. Dos diferentes pares de puntos virtuales fueron considerados en los instantes de tiempo: t2 = 0.5, t5 = 4.5 (la línea continua en la igura) y t2 = 1.5, t5 = 3.5 (la línea punteada en la igura), respectivamente. Observe el peril de velocidad parabólica y el peril de aceleración lineal. Además, para el segundo par, se obtienen valores de aceleración más grandes, ya que los instantes de tiempo relativos son más cercanos a los dos puntos intermedios. 11.5 Generación de ruta continua Rad 6 4 2 0 0 1 2 Seg 3 4 5 a) Posición Rad/s 5 0 –5 0 1 2 Seg 3 4 5 b) Velocidad 30 20 Rad/s2 10 0 –10 –20 –30 0 1 2 Seg 3 4 5 c) Aceleración Figura 11.18 Splines cúbicos para dos diferentes pares de puntos virtuales 313 314 CAPÍTULO 11 Planeación de movimientos RESUMEN En este capítulo se presentan varias técnicas de planeación de movimientos. También se analizan trayectorias del espacio articulares y del espacio cartesiano que pueden seguirse por los actuadores articulares y por el efector inal, respectivamente. Aparte de las operaciones de levantar y colocar, también se presenta la planeación de movimiento continuo en aplicaciones como la soldadura o el evitar obstáculos. EJERCICIOS 11.1 Se desea que se mueva la primera articulación de un robot de seis ejes desde la posición inicial q0 = 15º hasta la posición inal qf = 75º en 3 segundos usando un polinomio cúbico. a) b) c) d) Determine la trayectoria. Calcule el ángulo articular a 2 segundos. Comente acerca de sus velocidades y aceleraciones del punto inal. Compare el resultado presente con los que se obtuvieron en el ejemplo 11.1. 11.2 Repita el problema del ejercicio 11.1, pero esta vez con la aceleración inicial y la desaceleración inal especiicados como 5º/s2. 11.3 Un robot planar de dos grados de libertad debe seguir una línea recta entre los puntos de inicio (3.10) cm y inal (8.15) cm del segmento de movimiento. Busque la variable de articulación para el robot si la ruta se divide en 5 segmentos. Suponga que cada eslabón tiene una longitud de 10 cm. 11.4 Busque los coeicientes de dos polinomios cúbicos que están conectados en un spline de dos segmentos con aceleración continua en los puntos de vía intermedios. 11.5 Una sola trayectoria cúbica se determina por q(t) = 10 + 90t 2 – 60t 3 que se utiliza entre t = 0 y 1 seg. ¿Cuáles son las posiciones, velocidades y aceleraciones iniciales y inales? 11.6 Busque los coeicientes de un polinomio cúbico q(t) = a0 + a1t + a2 t 2 + a3 t3 cuando q(0), q̇ (0), q̈ (0), y q(tf) se especiican. 11.7 Una articulación giratoria se mueve desde –150º hasta +450º en 4 segundos. Determine una trayectoria polinómica continua si las velocidades y aceleraciones iniciales y inales son cero. ¿Cuál es el orden del polinomio? 11.8 Para un manipulador de 3 grados de libertad, diseñe una combinación con una trayectoria lineal y con una trayectoria parabólica. La orientación inicial y inal Ejercicios basados en MATLAB 315 del efector inal, denotada por Qi y Qf , respectivamente, se especiica mediante las siguientes matrices: LM0 Q ∫ M1 MN0 i OP PP Q LM MM N 1 0 0 0 0 0 0 y Qf ∫ 1 -1 0 0 -1 0 0 1 OP PP Q 11.9 El peril de velocidad de una trayectoria es trapezoidal con un segmento de aceleración constante para 0.5 segundos y una velocidad constante de 10º/seg. Determine los parámetros de la trayectoria continua para interpolar la secuencia de tiempo de la posición con este tipo de trayectoria. EJERCICIOS BASADOS EN MATLAB 11.10 Graique posiciones, velocidades y aceleraciones para la trayectoria determinada en el ejercicio 11.5. Utilice 100 pasos entre t = 0 y 1 seg. 11.11 Para el ejercicio 11.6, busque los valores numéricos de los coeicientes mediante la formulación del problema como una ecuación algebraica lineal en la forma de Ax = b, donde x  [a0 a1 a2 a3] T. Graique q (0) = 0, q̇ (0) = 0, q̈ (0) = 0, q(tf) = 30o y tf = 5 seg. Graique q (t), q̇ (t) y q̈ (t). 11.12 Determine los coeicientes de un polinomio de quinto grado, formulando el problema como una ecuación algebraica lineal en la forma de Ax = b, donde x ≡  [a0 a1 a2 a3 a4 a5] T, y q(0) = 0, q(tf) = 30°, q̇ (0) = q̈ (0) = q̈ (tf) = q̈ (tf) = 0, tf = 5 seg. Graique (t), q̇ (t) y q̈ (t). 11.13 Graique los diagramas de posición, velocidad y aceleración del ejercicio 11.9. Capítulo 12 Computadoras para robots En este capítulo se analizará la interfaz entre el usuario (humano) y el robot. Normalmente, es por medio de la interfaz de la computadora como el usuario aprovecha todos los algoritmos de mecánica y control. En los capítulos anteriores se presentó un número de algoritmos asociados con cinemática, dinámica y control del sistema robótico. Muchos de estos cálculos tienen restricciones de tiempo real porque deben completarse dentro de un corto periodo (por decir, 15 milisegundos). Adicionalmente, estos cálculos son a menudo complejos e involucran la evaluación de funciones trigonométricas, la multiplicación o inversión de matrices o el procesamiento de grandes cantidades de datos, como los de una fotografía. 12.1 Velocidad de computación Existe un número de algoritmos para controlar los diferentes aspectos de los movimientos de un robot, para los cuales se demostrará cómo pueden ejecutarse los cálculos complejos en estos algoritmos dentro de un tiempo corto. También se presentarán maneras de organizar el software y el hardware para cumplir con los objetivos. 12.1.1 Agilización de software En esta subsección se abordarán técnicas para aumentar la velocidad de cálculo en una computadora convencional. Estas técnicas aprovechan las propiedades únicas de muchos cálculos que son necesarios para el control de robots. 12.1 Velocidad de computación 317 i) El uso de la aritmética de números enteros Aquí los números serán representados como enteros y se evitará el uso de representación de puntos lotantes (“reales”). Esto puede lograrse mediante una técnica que se El requerimiento conoce como escalamiento, donde un número fracciode velocidad de nal, por ejemplo 22.75, se representa por un número computación entero 2 275, multiplicado o escalado por una constan- La velocidad de computación deberá te 1/100. Se descubre que si el escalamiento es cons- ser menor que la capacidad de velocitante, puede obtenerse una ventaja considerable de dad de un robot. velocidad sobre el punto lotante. Aun con la introducción de procesadores lotantes de alta velocidad, la aritmética de números enteros es normalmente 5 a 10 veces más rápida que la del punto lotante. Además, usando pura aritmética de números enteros, todavía pueden manejarse valores fraccionarios. Antes de usar esta técnica, tiene que asegurarse de que la pérdida de precisión inherente al escalamiento no impactará seriamente el desempeño del robot. ii) La computación de funciones trigonométricas En los sistemas de computación comercial, las funciones trigonométricas se evalúan por medio de varias técnicas, incluidas funciones racionales o polinomios de Chebychev. La aritmética involucrada se hace usualmente con punto lotante, lo que resulta en alta precisión y baja velocidad. En aplicaciones robóticas, sin embargo, el mecanismo más apropiado para computar funciones trigonométricas es mediante la consulta de tablas. Por ejemplo, los valores de sen q se guardan simplemente en una tabla para q = 0 … 89 grados. Esta tabla de 90 palabras proporciona al instante el valor del seno de un ángulo con una precisión de 1º. De hecho, las 90 palabras requieren de menos memoria que la que necesita un programa para computar la función en forma explícita. Si se requiere una precisión más alta que el grado más cercano, existen dos opciones. La primera es la interpolación lineal entre las entradas de la tabla. Puesto que las funciones de seno y coseno son bastante lineales entre intervalos de 1º, la interpolación rinde excelentes resultados. Otra técnica de interpolación hace uso de la identidad trigonométrica para el seno de dos ángulos sumados, es decir, (12.1) sen (a + b) = sen a cos b + cos a sen b El ángulo se segmenta en dos partes, un número entero a y una fracción b. Luego se aplica la ecuación (12.1). La evaluación exacta de la ecuación (12.1) requiere después cuatro consultas de tabla para los valores de sen α, cos b, cos α y sen b, dos multiplicaciones y una suma. Una evaluación aproximada puede obtenerse aún más rápido. Para ello, el ángulo se escala de tal manera que la parte fraccionaria es muy pequeña. Supongamos que b es la parte fraccionaria, entonces (12.2) cos b = 1, y sen b = b Esto queda numéricamente ilustrado en el siguiente ejemplo. Ejemplo 12.1 El valor de sen (0.8034) Suponga que los valores de la función de seno son tabulados en incrementos de 0.01 rad, es decir, que los valores de sen (0.80) y sen (0.81), etc., son conocidos, entonces puede escribirse (12.3a) 0.8034 rad = 0.8 rad + 0.0034 rad 318 CAPÍTULO 12 Computadoras para robots Luego, usando la ecuación (12.3a), puede escribirse la ecuación (12.1) como sen (0.8034) = sen (0.80) cos (0.0034) + cos (0.80) sen (0.0034) (12.3b) Para el ángulo muy pequeño de 0.0034 rad, cos (0.0034) = 1 y sen (0.0034) = 0.0034. Por ende, (12.3c) sen (0.8034) = sen (0.80) + 0.0034 cos (0.80) donde sen (0.80) y cos (0.80) están disponibles en los resultados tabulados. Esta técnica de interpolación requiere solamente dos consultas de tabla, una multiplicación y una suma. Observe que en la implementación real para un sistema robótico, el cálculo de funciones trigonométricas es de los más rápidos. iii) Operaciones de matriz En el control de robots, por lo general no se requiere la inversión de una matriz en forma explícita, sino, más bien, se resuelve un conjunto de ecuaciones algebraicas lineales, lo que se realiza en forma numérica. En caso de que tenga que computarse una inversión explícita, esto se hace en forma numérica mediante la resolución de una serie de ecuaciones algebraicas lineales cuyos lados derechos son las columnas de una matriz identidad mientras que las incógnitas correspondientes son la columna de la inversa deseada. Por ejemplo, si una matriz X de n × n es la inversa de la matriz J de n × n, es decir, X = J–1, entonces sólo tienen que resolverse n ecuaciones algebraicas lineales n veces basados en el hecho de que JX = 1 – 1 es la matriz de identidad de n × n. Las ecuaciones algebraicas para i = 1, …, n son Jx i = ei, donde X ∫ [x1,…, x n] y 1 ∫ [e1,…, en] (12.4) T T Además, los vectores xj ≡ [xlj,…, xnj] y ej ≡ [eij] para i = 1,..., n contienen n elementos escalares. Adicionalmente, eij = 1 cuando i = j, de otra manera eij = 0 cuando i ≠ j. En la literatura del análisis numérico, alta precisión y estabilidad o solidez son importantes, mientras que en la robótica, la velocidad es esencial, mientras que la precisión, aunque sea importante, no es tan difícil de mantener. De este modo, en muchas instancias los métodos simples y rápidos se preieren ante la complejidad y la alta precisión. 12.1.2 Consideraciones de hardware La computación distribuida, es decir, el uso de varias computadoras que interactúan en tiempo real para proporcionar la velocidad y potencia computacional requerida, tiene una aplicación inmediata en la robótica. La literatura sobre la computación distribuida es diversa y abundante. Hasta aquí, se ha supuesto que cualquier computación se está realizando mediante una sola computadora de propósito general. Aquí se mostrará cómo utilizar la computación distribuida para realizar dos funciones simples, tales como, la lectura de encóders para obtener información sobre las posiciones así como el cómputo de las señales de servo-error en las articulaciones. i) Lectura de encóders La velocidad con la que los datos vienen de un encóder depende de la velocidad rotacional de la articulación, de la resolución del encóder y del algoritmo que se usa para el análisis de las señales. Si se supone una codiicación de cuadratura (un nuevo conteo para cada uno de los cuatro estados de un encóder incremental), un encóder de 2 500 conteos/revolución y una velocidad máxima de la articulación de una 12.1 Velocidad de computación 319 rev/seg, se encuentra un nuevo pulso de datos en cada 100 µs. Usando interrupciones, el conjunto mínimo absoluto de instrucciones en cualquier software asociado con la interfaz de la computadora con los encóders sería REGISTER SAVE BIT TEST JUMP INCREMENT (OR DECREMENT) REGISTER RESTORE RETURN Este proceso normalmente requeriría aproximadamente 5 a 10 µs en cualquier computadora. Si la velocidad del procesador se toma como 5 µs y tienen que controlarse seis articulaciones con máxima velocidad, entonces tan sólo para mantenerse al tanto de las posiciones se requeriría 5 × 6 = 30 µs, es decir, 30% de los recursos de la computadora. ii) La computación de señales de servo-error Por medio de un contro- lador PD (proporcional-derivativo) tiene que computarse t = K p (q q d – q ) – K v qɺ (12.5) donde s es el vector de los pares de torsión deseados, y pd y p son los ángulos deseado y real de la articulación, respectivamente, mientras que θ̇ es la velocidad real de la articulación. Además, los términos Kp y Kv son las matrices de las ganancias proporcional y derivativa, respectivamente. El programa para implementar este tipo de cálculo es LOAD qd LOAD q SUBTRACT MULTIPLY (pd — p) BY Kp LOAD ṗ MULTIPLY ṗ BY Kv SUBTRACT OUTPUT RETURN De manera optimista, este programa tardaría 15 µs. Por razones de estabilidad, el servo de la articulación tiene que calcularse aproximadamente cada 2 ms. Este número varía considerablemente según las resonancias estructurales del manipulador. Por lo tanto, el cálculo del servo de articulación para las seis articulaciones andará por el orden de 6 ¥ 15 ¥ 10 - 6 2 ¥ 10 -3 = 45 ¥ 10 –3 es decir, 4.5% de los recursos de la computadora. Estas estimaciones varían tremendamente según los detalles de implementación. La cuestión es, sin embargo, que una cantidad signiicativa de la computación involucrada en la robótica es sencilla, localizada y fácilmente distribuible entre los elementos de procesamiento. 320 CAPÍTULO 12 Computadoras para robots LSI-11 mp mp mp Articulación 1 Articulación 2 mp mp mp Articulación 3 Articulación 4 Articulación 5 Articulación 6 Figura 12.1 Arquitectura PUMA 12.2 Requerimientos de hardware La arquitectura Unimate PUMA ejempliica el concepto de distribución por articulación. Esta arquitectura se presenta en la igura 12.1. Se adjunta un procesador separado a los transductores de entrada y salida de cada articulación. Este procesador mantiene la posición angular y la velocidad actual de esta articulación, y la lleva mediante servo hacia el punto de referencia proporcionado por el procesador central. Éste lee la posición angular de los procesadores de las articulaciones, computa las transformaciones cinemáticas y proporciona puntos de referencia a los procesadores de articulaciones. Debido a que se realiza toda la cinemática en el mismo procesador, la arquitectura proporciona simplicidad de diseño y programación, mientras que descarga el control simultáneo de las articulaciones a procesadores paralelos. El sistema que se muestra en la igura 12.2 presenta una ilosofía arquitectónica alternativa de distribución de compu¿Qué es hardware? tación por función. Tal como el PUMA, este sistema El hardware son las cosas físicas, como asocia un procesador a cada articulación. Sin embargo, los circuitos integrados en la forma de el cálculo de la cinemática también se distribuye. Cada chips electrónicos, circuitos eléctricos procesador mantiene la posición y velocidad de su aren tarjetas impresas, etc., que se sienticulación, así como también las diferentes funciones ten duras cuando se tocan. trigonométricas de estos parámetros. Estas cantidades se guardan en una memoria multipuertos y por ende están inmediatamente disponibles para los demás procesadores. El cálculo de los demás términos cinemáticos se distribuye uniformemente entre los procesadores. Este método distribuye la carga computacional de manera más uniforme a costa de una pieza compleja de hardware (la memoria multipuertos 9511) y de software más complejo. Una extensión inmediata y una mejora de esta arquitectura serían como se muestra en la igura 12.3, desasociando el servo-cálculo de la cinemática. La igura 12.3 es, de hecho, la arquitectura PUMA con el único procesador central sustituido por un arreglo de procesadores y memorias comunes. El rápido desarrollo de dispositivos con Integraciones de Gran Escala (LSI) e Integraciones de Muy Gran Escala (VLSI) puede ofrecer aumentos tremendos de rendimiento cuando se combina convenientemente con la computación general. Por ejemplo, el chip AMD 9511 ofrece una capacidad de punto lotan- 12.2 Articulación 321 9511 9511 9900 9900 Articulación 9511 Articulación MEMORIA GLOBAL 9511 Articulación Requerimientos de hardware 9900 9900 9511 9900 9511 9900 Articulación Articulación USUARIO Figura 12.2 Un control de robot distribuido por función y por articulación te completa de 32 bits y se diseña para una fácil interfaz con el microprocesador de 8 bits. El Intel 8087 ofrece una aritmética de alta velocidad y acoplamiento directo al bus 8086. Empresas como TRW y AMD anuncian chips multiplicadores que realizan multiplicaciones de números enteros de 16 bits en tan sólo unos nanosegundos. La tecnología de punta cambia tan rápidamente que es una posibilidad real pensar en chips para transformación de coordenadas y un chip que compute el jacobiano e incluso el jacobiano inverso en tiempo real. Estos chips tienen las siguientes características: i) Cálculos rápidos y repetitivos (normalmente aquellos que no requieren ramas condicionales). Articulación Servoprocesador 9511 9511 9900 9900 9511 Articulación Servoprocesador Memoria global 9900 9511 Servoprocesador Articulación Usuario Figura 12.3 9900 Articulación Servoprocesador Articulación 9900 9511 9900 Servoprocesador 9511 Servoprocesador Articulación Una arquitectura propuesta para desacoplar los servo-cálculos 322 CAPÍTULO 12 Computadoras para robots ii) Fácil interfaz con un sistema de bus de un procesador universal. iii) Control directo por uno de estos procesadores. 12.3 Consideraciones de control El sistema de control para supervisar las actividades de un sistema robótico deberá ser dotado de un número de herramientas que ofrecen las siguientes funciones: • • • • La capacidad de mover objetos físicos en el ámbito de trabajo, es decir, la habilidad de manipulación. La capacidad de obtener información sobre el estado del sistema y el ámbito de trabajo, es decir, la habilidad sensorial. La capacidad de explotar la información para modiicar el comportamiento del sistema de manera programada, es decir, la habilidad de comportamiento inteligente. La capacidad de almacenar, elaborar y proporcionar datos sobre la actividad del sistema, es decir, la habilidad del procesamiento de datos. Una implementación efectiva de estas funciones puede obtenerse por medio de una arquitectura funcional, considerando ésta como la supervisión de varios niveles de actividad dispuestos en una estructura jerárquica. Quizá la mejor manera de entender el término jerárquico es mediante la estructura de mando militar, en la que los generales pasan órdenes a los oiciales, los cuales pasan órdenes a los sargentos quienes pasan órdenes a las tropas. En este tipo de jerarquía, se supone que el control luye desde arriba hacia abajo, y los reportes supuestamente luyen desde abajo hacia arriba. Los niveles bajos de la estructura están orientados para la ejecución de movimientos físicos, mientras que los niveles más altos están orientados hacia la planeación lógica de acciones. Los niveles están conectados por el lujo de datos; aquéllos dirigidos hacia los niveles más altos se reieren a mediciones o resultados de acciones, mientras que los que están dirigidos hacia los niveles más bajos se enfocan en la transmisión de directrices. En cuanto a las funciones del sistema de control que implementan el manejo de las actividades de sistema que se enumeraron arriba, en general, conviene asignar tres modelos funcionales a cada nivel. El primer módulo se dedica a la gestión de datos sensoriales (módulo sensorial). El segundo se dedica a proporcionar información relevante del entorno (módulo de modelado). El tercer módulo se dedica a decidir la política de la acción (módulo de decisión). De manera más especíica, los módulos sensoriales adquieren, elaboran, correlacionan e integran datos sensoriales en tiempo y espacio, con el in de reconocer y medir los datos del sistema y las características del ambiente. Queda claro que las funciones de cada módulo están orientadas al manejo de los datos sensoriales relevantes de su nivel. Por otro lado, los módulos de modelado contienen modelos derivados con base en conocimientos a priori del sistema y el ambiente. Estos modelos se actualizan mediante la información que proviene de los módulos sensoriales, mientras que la activación de las funciones requeridas se encarga a los módulos de decisión. Finalmente, los módulos de decisión realizan la descomposición de tareas de alto nivel en acciones de nivel bajo. Esta descomposición de tareas tiene que ver tanto con la descomposición en tiempo de acciones secuenciales como con la descomposición en el espacio de acciones simultáneas. Cada módulo de decisión queda encargado de las funciones referentes a la gestión de asignaciones de acción elemental, a la 12.3 Consideraciones de control 323 planeación y a la ejecución de tareas. Las funciones de un módulo de decisión caracterizan el nivel de la jerarquía y determinan las funciones necesarias para los módulos de modelado y sensoriales que operan en el mismo nivel. Esto implica que los contenidos de estos dos módulos no permiten la determinación privilegiada del nivel jerárquico, ya que la misma función podrá estar presente en varios niveles, dependiendo de las necesidades de los módulos de decisión en los niveles de alivio. La arquitectura funcional necesita una interfaz de operario en cada nivel de la jerarquía, de tal modo que se permita que un operario realice funciones de supervisión e intervención en el sistema robótico. Una descomposición jerárquica de una tarea de control, particularmente en la robótica, tiene el mismo sentido. Un ejemplo de este tipo de jerarquía en el control del robot PUMA se vio anteriormente. En este sistema, un procesador central computaba la cinemática y proporcionaba puntos de referencia para los servos de las articulaciones. Algunos diseñadores de sistemas robóticos han planteado sus tareas de manera parecida. Aunque la mayoría de los investigadores estaría de acuerdo con la ilosofía básica del control jerárquico, existe una diferencia considerable en los métodos que se usan para implementar la jerarquía. Por ejemplo, el control de un sistema multivariante podrá considerarse en una forma rigurosamente matemática y podrán tratarse de encontrar técnicas óptimas o subóptimas para controlar el sistema entero. Si estas técnicas están correctamente estructuradas, podrán implementarse en un una disposición jerárquicamente estructurada de procesadores. Estas descomposiciones matemáticas son el tema de gran parte de la investigación actual en la teoría de control y optimización. Un sistema robótico avanzado podrá segmentarse en tres módulos distintos, como se muestra en la igura 12.4. El módulo de programa acepta entradas del usuario, de manera interactiva o en la forma de un programa del robot. Esta descripción de tarea se traduce en un conjunto de comandos de nivel inferior, tal vez incluidas ramas condicionales, parecido a la tarea de un compilador que convierte de FORTRAN a un lenguaje máquina. El módulo de ubicación sirve para relacionar nombres y ubicaciones simbólicas, por ejemplo, mordaza, a descripciones cartesianas de puntos en el espacio de trabajo. El módulo de sistema de control es responsable de controlar los movimientos del robot para que pueda lograr las tareas descritas por el módulo de programa en las ubicaciones descritas por el módulo de ubicación. El módulo del sistema de control tiene un requerimiento de tiempo real y tiene que descomponerse más. La igura 12.5 representa una descomposición jerárquica de las funciones de control en tiempo real. El número exacto de niveles en esta descomposición, como también las responsabilidades exactas de cada nivel, son detalles que se ubican en la preocupación del diseñador del sistema y no son importantes en este momento. Sin embargo, existen observaciones muy importantes que tienen que hacerse respecto a la estructura general de la igura 12.5. Primero que nada, en los niveles más altos, las funciones de control son independientes de la geometría del brazo. Esto quiere decir que la determinación de la trayectoria se realiza en coordenadas cartesianas relativas a las restricciones, por lo tanto podrá ser necesario especiicar ubicaciones en un sistema coordenado móvil, por ejemplo, en un transportador (lo que signiica que el módulo de ubicación debe ser capaz de actualizaciones en tiempo real). Puesto que la descripción de la tarea no requiere el conocimiento de la geometría del robot en esta fase, podrán usarse los mismos algoritmos y software para muchos robots diferentes, tal como FORTRAN puede usarse en cualquier tipo de computadora. En los niveles inferiores de la jerarquía de control, los detalles de los algoritmos se vuelven estrechamente relacionados con la geometría del brazo. Una vez que se hayan realizado las transformaciones cinemáticas, 324 CAPÍTULO 12 Computadoras para robots Módulo de programa Módulo de ubicación Prepara la tabla de descripción de tareas Prepara la tabla de ubicación Interfaz de comandos de descripción de tareas al sistema de control Módulo de control Valores de ubicación de otras bases de datos Interfaz de datos de ubicación al sistema de control Figura 12.4 Módulos de control jerárquico Procesamiento sensorial de alto nivel Subtarea Procesamiento sensorial de nivel mediano Movimiento elemental Procesamiento sensorial de bajo nivel Primitiva Retroalimentación de descripción cartesiana Retroalimentación de posición de articulación Figura 12.5 Transformación Servo Descomposición jerárquica 12.4 Datos sensoriales, de error y estatus a niveles más altos Conjunto de algoritmos para procesar datos de retroalimentación sensorial Programación de robots 325 Comando de entrada • Datos de retroalimentación procesados • Éxito relativo en obtener los datos de procesamiento deseados • Condiciones de error de niveles más bajos • Datos sensoriales, de error y de estatus de niveles inferiores • • Figura 12.6 Conjunto de algoritmos para generar salidas del sistema de control Tipos de datos sensoriales de procesamiento que van a ser retornados Predicciones de datos esperados Estatus respecto al éxito en lograr el comando Comando de salida Detalles de un solo nivel el algoritmo de control podrá variar de un robot a otro. Esto se observa en los dos niveles inferiores de la igura 12.5. El nivel más bajo compara puntos de referencia (proporcionados por el nivel siguiente) con posiciones de la articulación (proporcionadas por sensores) y mueve la articulación para reducir el error. El siguiente nivel computa las transformaciones cinemáticas y proporciona estos puntos de referencia al nivel más bajo. En la igura 12.5 puede observarse que en realidad hay dos jerarquías involucradas: una de control desde arriba hacia abajo y otra de estatus desde abajo hacia arriba. La igura 12.6 muestra esto en forma más clara porque detalla un solo nivel en la estructura. Puesto que cada nivel en la jerarquía se deine bien, funcionalmente, la tarea de control del robot puede dividirse en módulos de procesamiento en los que cada módulo tiene entradas y salidas bien deinidas y, por ende, puede asociarse con un elemento de procesamiento independiente. 12.4 Programación de robots La ventaja más grande en la aplicación de robots industriales es su lexibilidad, su habilidad de reprogramación para nuevas producciones y su gran rango de movimientos. Sin embargo, un obstáculo mayor en el uso de manipuladores como máquinas de ensamble universales es la falta de una comunicación adecuada y eiciente entre el usuario y el sistema robótico, de tal modo que Software el usuario pueda dirigir el manipulador para realizar una determinada tarea. La utilización de la lexibilidad El significado de software es un condel robot presupone la programación efectiva. El sistejunto de programas que hacen que ma de cómputo que controla al manipulador tiene que el hardware funcione adecuadamenestar programado para enseñar al robot la secuencia te. 326 CAPÍTULO 12 Computadoras para robots particular de movimientos y otras acciones que tengan que ejecutarse con el in de lograr su tarea. Hay varias maneras de programación de robots industriales, a saber, online y ofline. 12.4.1 Programación online La programación online se lleva a cabo en el propio lugar de producción e involucra la celda de trabajo. El robot se programa mediante una caja de prácticas. La programación online tiene las siguientes ventajas y desventajas en comparación con la programación ofline: Ventajas • • • Fácil acceso En concordancia con la posición real de equipo y piezas Sencillez de programación, así que incluso un operario prácticamente sin capacitación puede realizarla Desventajas • • • • • • Movimiento lento del robot durante la programación La lógica de programa y cálculos son difíciles de programar Diicultad para incorporar datos de sensores Suspensión de la producción durante la programación El costo es equivalente al valor de producción Mala documentación En la programación online, los usuarios mueven al propio robot a cada punto de avance por medio de algún tipo de dispositivo en el espacio de trabajo real. En la práctica, la programación online es la que se utiliza, por mucho, con más frecuencia. En la programación online se coloca una pieza real en el espacio de trabajo, exactamente como en la producción, y la programación se Online basa en enseñar al robot las trayectorias que tenga que seguir. Esta enseñanza se lleva a cabo guiando el braOnline significa que los robots están zo del robot a través de una serie de movimientos y en línea con otras máquinas cuando grabando estos movimientos, para que posteriormente se escriben los programas en sus conpuedan repetirse en forma automática. Durante este troladores. proceso, el brazo puede propulsarse en forma manual (es decir, el operario usa sus músculos para cambiar el brazo de una posición a otra) o por sus accionamientos (es decir, el operario utiliza las palancas de mando, el teclado de un dispositivo portátil de enseñanza o una réplica de tamaño reducido del manipulador para ordenar los accionamientos a las posiciones apropiadas). Independientemente de la manera de propulsar el brazo durante el proceso , hay dos maneras de grabar la trayectoria de un movimiento del brazo. En el método PTP (Point to point, de punto a punto), el brazo se transiere a cada punto característico de la trayectoria, se detiene allí y, mediante un botón especial que hay en el panel de control, se memoriza esta posición en el sistema de control. Durante la reproducción, el brazo del robot pasa a través de estos puntos usando una forma de interpolación entre ellos. En el método de CP (Continuous path, recorrido continuo), conforme se transiere el brazo, las posiciones se registran en forma automática en intervalos constantes. Puesto que los puntos están muy cercanos entre sí, no se necesitan rutinas especiales de interpolación. 12.4 Programación de robots 327 Además, los movimientos pueden reproducirse con diferentes velocidades, cambiando la base de tiempo (el intervalo permitido para alcanzar al siguiente punto). A pesar de que los sistemas online generan código de programación de procedimiento, los usuarios pueden crear puntos de avance sin editar este código y, como resultado, esto se considera como menos intimidante y más intuitivo que la programación ofline. Observe, sin embargo, que si no puede completarse la reprogramación durante el tiempo muerto normal, como en ines de semana, entonces la empresa incurrirá en gastos en la forma de producción perdida. Por ende, el conjunto de tareas viables para la programación en línea se restringe por el tiempo de programación. Aunque los usuarios usualmente ven la programación online como menos intimidante, sí pasan demasiado tiempo simplemente moviendo el robot entre puntos de avance en vez de transferir conocimientos reales. Además, debido al difícil proceso de posicionamiento del robot, los usuarios tienden a descartar su trabajo anterior y a crear puntos de referencia desde el principio cada vez. Esto representa un derroche muy grande, ya que los programas de robots suelen contener subtareas repetidas, y los diseños de productos contienen muchas similitudes con diseños previos. La programación dirigida Un método de programación online se conoce como programación dirigida. Esto también se conoce como enseñar y reproducir, o de guía, y es el método más comúnmente usado en los robots industriales hoy en día. Este método involucra la enseñanza del robot para llevarlo a través de los movimientos que el usuario desea. La enseñanza y reproducción se logra normalmente mediante los siguientes pasos: i) Llevar al robot en movimiento lento, usando el control manual, a través de toda la tarea de ensamble, y registrar los ángulos de las articulaciones del robot en las ubicaciones apropiadas con el in de reproducir el movimiento; ii) Editar y reproducir el movimiento enseñado; iii) Si el movimiento es correcto, entonces el robot se opera con la velocidad correcta en modo repetitivo. Guiar el robot en movimiento lento normalmente puede lograrse en diferentes formas, usando una palanca de control, un juego de botones (uno para cada articulación) o un sistema de manipulador amo/esclavo. En la actualidad, el sistema de uso más común es una caja manual con botones. Mediante este método, el usuario mueve el robot manualmente a través del espacio y presiona un botón para registrar cualquier posición angular del manipulador. El conjunto de posiciones angulares se registra a partir de los puntos de referencia de la trayectoria que el manipulador haya atravesado. Estos puntos de referencia de posición se interpolan luego por métodos numéricos, y el robot se desplaza a lo largo de la trayectoria suavizada . En el modo edición-reproducción, el usuario puede cambiar las posiciones angulares registradas y asegurar que el robot no colisionará con ningún obstáculo mientras realiza la tarea deseada. En el modo de ejecución el robot se moverá repetitivamente conforme a la trayectoria suavizada que se editó. Si la tarea cambia, entonces se repiten los tres pasos que arriba se mencionaron. Las ventajas de este método son que sólo requiere un espacio relativamente pequeño de memoria para registrar posiciones angulares y que es sencillo de aprender. La principal desventaja es la diicultad para utilizar este método con el in de integrar información de retroalimentación sensorial al sistema de control. Aplicaciones basadas en posición y trayectorias de recorrido, tales como la soldadura de arco y la carga de máquinas, normalmente emplean la enseñanza de pasos o enseñanza dirigida. En la enseñanza dirigida, 328 CAPÍTULO 12 Computadoras para robots el usuario ejecuta los movimientos requeridos en forma manual, sosteniendo a la vez algún dispositivo (el manipulador mismo o una réplica a escala) para registrar el recorrido. La programación paso a paso En contraste con la programación dirigida, el usuario especiica los puntos intermedios mediante un dispositivo portátil de enseñanza que se conecta al controlador del robot para dirigirlo y programarlo. El dispositivo portátil de enseñanza tiene un diseño, peso, botones y secuencias de comandos completamente diferentes dependiendo del fabricante. La interacción es normalmente difícil incluso para los profesionales. Conocimientos acerca de soldadura, pintura y manipulación en robots industriales también son muy importantes para automatizar una tarea. Más allá de los conocimientos comunes de robots, el programador necesita conocer el proceso automatizado para generar verdaderos beneicios en la calidad de productos, la durabilidad del equipo y la reducción del tiempo de fabricación. 12.4.2 La programación offline Offline Offline significa que los programas no necesitan estar escritos en los controladores del robot cuando están en línea con otras máquinas. La programación ofline se lleva a cabo en una computadora y en modelos de la celda de trabajo con el robot, en piezas de trabajo y en el ambiente. Los programas del robot pueden crearse en la mayoría de los casos por la reutilización de datos CAD existentes, de tal modo que la programación será rápida y efectiva. Las ventajas y desventajas de la programación ofline son las siguientes: Ventajas • • • • • • • • • No ocupa equipos de producción; de esta manera, la producción puede continuar durante el proceso de programación. Programación efectiva de lógica y cálculos con instalaciones de depuración de vanguardia. Las ubicaciones se construyen de acuerdo con modelos y esto puede signiicar que los programadores tendrán que poner a punto programas en línea o utilizar sensores. Programación efectiva de ubicaciones. Veriicaciones del programa mediante simulación y visualización. Buena documentación por medio del modelo de simulación con programas adecuados. Reutilización de datos CAD existentes. Es independiente del costo de la producción. La producción puede continuar durante la programación. Herramientas de soporte de proceso para la selección de parámetros de soldadura. Desventajas • • Se necesitan usuarios expertos. Demanda una inversión en un sistema de programación ofline. La programación ofline requiere lenguajes de programación de alto nivel que ofrecen un planteamiento general para resolver el problema de comunicación humano/robot. En la década pasada, se usaron robots en forma exitosa en áreas como la soldadura por arco y 12.4 Programación de robots 329 la pintura por espray usando guías o patrones . La programación de robots es signiicativamente distinta de la programación tradicional de computadoras. Programar un sistema robótico requiere la deinición de un ambiente de programación sustentado en lenguajes apropiados, lo que le permite al operario asignar las direcciones de tareas que el robot debe ejecutar. El ambiente de programación se encarga no sólo de revisar la ejecución de la traducción de instrucciones mediante un lenguaje adecuado, sino también de revisar la ejecución correcta de una tarea ejecutada por el robot. Por lo tanto, los ambientes de programación de robots, aparte de tener más características en común con los ambientes de la programación de computadoras, presentan un número importante de asuntos relacionados con la observación que la ejecución de programas produce sobre el entorno físico. En otras palabras, aun si existe una descripción muy exacta de la realidad física en el ambiente de programación, ocurrirá de manera inevitable un número de situaciones que no han sido ni pueden ser previstas. En consecuencia, un ambiente de programación de robots debe dotarse con las siguientes características: • • • • • • • • • un sistema de operación en tiempo real modelado del entorno control de movimiento entrada/salida lectura de datos proveniente de los sensores interacción con el sistema físico capacidad de detección de errores recuperación de las funciones operativas correctas una estructura especíica de lenguaje Pueden identiicarse varias consideraciones que deben manejarse por cualquier método de programación de robots. Para ilustrarlas, considere los comandos de control de movimiento que se usan para dirigir el robot con el in de que mueva su manipulador hacia una posición deinida en el espacio. Por ejemplo, la instrucción “mover P1” podría usarse para dirigir el robot a un punto en el espacio llamado P1. Se emplean comandos de entrada/salida para controlar la recepción de señales de sensores y otros dispositivos en la celda de trabajo y para iniciar señales de control a otras piezas de equipo en la celda. Por ejemplo, la instrucción “señal 3 encendida” podría usarse para encender un motor en la celda, donde el motor se conecta con la línea de salida 3 en el controlador del robot. Los objetos que van a manipularse por un robot son tridimensionales y tienen una variedad de propiedades físicas. Los robots operan en un ambiente espacial complejo. La descripción y representación de objetos tridimensionales en una computadora son imprecisas y la información sensorial tiene que monitorearse, manipularse y utilizarse correctamente. La programación ofline se basa en medios externos para expresar la tarea que el sistema robótico tendrá que realizar. La tarea se expresa en un lenguaje de programación de robots (Robot Programming Language RPL). Esto puede ser un lenguaje especíicamente deinido para robots o un lenguaje de programación de computadoras universal (CPL). Le ventaja de usar RPL se asocia con hacer que el robot sea más productivo, con la facilidad de utilización de datos de sensores y con la creación de la documentación del programa. Para lograr que un robot sea más productivo, la fase en la que se requiere la programación debe ser lo más corta posible. En otras palabras, la programación de robots tiene que hacerse independiente del robot. El programa se desarrolla ofline, y solamente más tarde se carga al sistema de control 330 CAPÍTULO 12 Computadoras para robots para su ejecución. El problema de este planteamiento es que, a pesar de que los robots que se fabrican actualmente tienen una alta repetitividad, demuestran baja precisión. Esto requiere la calibración del programa que se crea ofline. Los planteamientos actuales para la programación ofline pueden clasiicarse en dos categorías principales: la programación orientada al robot y la programación orientada al objeto o programación basada en las tareas. En la programación orientada al robot, se describe explícitamente una tarea de ensamble como una secuencia de movimientos del robot. El robot se guía y controla por el programa a través de toda la tarea, donde cada instrucción del programa corresponde aproximadamente a una acción del robot. Por el otro lado, la programación basada en las tareas describe la tarea de ensamble como una secuencia de metas posicionales de los objetos más que los movimientos del robot que se necesitan para alcanzar estas metas y, por lo tanto, no se especiica ningún movimiento explícito del robot. Estos planteamientos se analizarán a continuación. La programación orientada al robot Los lenguajes orientados al robot son lenguajes de programación estructurada que incorporan instrucciones de alto nivel y tienen la característica de un lenguaje interpretado con el in de obtener un ambiente interactivo que permite que el programador revise la ejecución de cada instrucción del programa fuente antes de proceder a la siguiente. Las propiedades comunes de estos lenguajes son las siguientes: • • • • • • • • • • editor de texto estructuras complejas de representación de datos uso extenso de variables de estado predeinidas ejecución de operaciones de matriz algebraica uso extensivo de representaciones simbólicas para los sistemas de coordenadas posibilidad de especiicar el movimiento coordinado de más sistemas coordenados rígidamente unidos a objetos por medio de un solo sistema de coordenadas inclusión de subrutinas con intercambio de datos y parámetros uso de acondicionamiento lógico y puesta en secuencia por medio de banderas capacidad de computación paralela funciones de un controlador lógico programable (PLC) El planteamiento más común para el diseño de un lenguaje en el nivel de un robot es el de extender un lenguaje de alto nivel existente para que cumpla con los requerimientos de la programación de robots. Hasta cierto grado, este planteamiento es ad hoc y no hay lineamientos de cómo implementar la extensión. Pueden reconocerse fácilmente varias características clave que son comunes de todos los lenguajes orientados a robots si se examinan los pasos involucrados en el desarrollo de un programa de robot. Considere la tarea de insertar un perno en un oriicio, como se muestra en la igura 12.7. Esto requiere mover el robot al alimentador, recoger el perno, moverlo al soporte e insertar el perno en uno de los oriicios. Normalmente, los pasos para desarrollar el programa son los siguientes: a) Se establece el espacio de trabajo y se ijan las partes mediante el uso de sujetadores y alimentadores. b) La coniguración (orientación y posición) de las partes (alimentador, soportes, etc.) y sus características (barreno del soporte, agarre del perno, etc.) se deinen usando las estructuras de datos proporcionados por el lenguaje. 12.4 Programación de robots 331 Z Z A Y B X A Y Figura 12.7 Z X Una tarea simple de inserción c) La tarea de ensamble se segmenta en una secuencia de acciones, tales como mover el robot, recoger objetos y ejecutar una inserción. d) Se agregan comandos sensoriales para detectar situaciones anormales (como la incapacidad de localizar el perno al agarrar) y monitorear el progreso de la tarea de ensamble. e) El programa se depura y reina mediante la repetición de los pasos del b) al d ). Las características importantes son la especiicación de posición, paso b), la especiicación de movimiento, paso c), y la detección, paso d ), lo que puede programarse usando los lenguajes de robots AL, AML y otros. Observe que AL fue desarrollado por la universidad de Stanford, mientras que AML fue desarrollado por IBM. Ejemplo 12.2 Definiciones de AL y AML para sistemas coordenados de base AL: base ← FRAME (nilrot, VECTOR (20, 0, 15)*inches); beam ← FRAME (ROT(A, 90*deg), VECTOR (20, 15, 0)*inches); feeder ← FRAME (nilrot, VECTOR (25, 20, 0)*inches); Observe: nilrot es un sistema predeinido que tiene el valor ROT(Z, 0*deg). El símbolo “←” es el operador de asignación en AL. Un punto y coma termina una instrucción. El símbolo “*” es un operador de multiplicación dependiente del tipo. Aquí se utiliza para adjuntar unidades a los elementos del vector. ALM: base = < < 20, 0, 15 >, EULERROT (< 0, 0, 0 >) >; beam = < < 20, 15, 0 >, EULERROT (< 0, 0, 90 >) >; feeder = < < 25, 20, 0 >, EULERROT (< 0, 0, 0 >) >; Nota: EULERROT es una subrutina que forma la matriz de rotación dados los ángulos. 332 CAPÍTULO 12 Computadoras para robots Ejemplo 12.3 Instrucciones de movimiento de AL y AML AL: {Move are from rest to frame A and then to bold-grasp} MOVE barm TO A; MOVE barm TO bolt-grasp; {Another way of specifying the above statement} MOVE barm TO bolt-grasp VIA A; {Move along the current Z axis by 1 inch, i.e., move relative} MOVE barm TO ⊗ - 1*Z*inches; Notas: Reiérase a la igura 12.7 para el punto A, eje Z, etc. Además, barm es el nombre del brazo del robot. El símbolo “⊗” indica la ubicación actual del brazo que es equivalente a base * T6 * E. Instrucciones entre claves {…} son comentarios. AML: — Move joint 1 and 4 to 10 inches and 20 degrees, respectively (absolute move) MOVE (< 1, 4 >, <10, 20 >); — Move joints 1, 3 and 6 by 1 inch 2 inches, and 5 degrees, respectively (relative move) DMOVE (<1, 3, 6 >, <1, 2, 5 >); Nota: Instrucciones precedidas por “⎯” son comentarios. Programación basada en las tareas Un planteamiento completamente diferente en la programación de robots se hace mediante la programación basada en las tareas. La manera natural de describir una tarea de ensamble es en términos de los objetos que van a manipularse en lugar de mediante los movimientos del robot. El lenguaje basado en las tareas se aprovecha de este hecho y simpliica la tarea de programación. Un sistema de programación basado en las tareas permite que el usuario describa la tarea en un lenguaje de alto nivel (especiicación de tarea). Un planeador de tareas consultará entonces una base de datos (modelos del entorno) y transformará la especiicación de la tarea en un programa de nivel del robot que ejecutará la tarea (síntesis del programa del robot). Basándose en esta descripción, puede conceptualmente dividirse la planeación de tareas en tres fases: modelado del entorno, especiicación de tareas y síntesis del programa. Cabe mencionar que estas tres fases no son completamente independientes; de hecho, se relacionan computacionalmente. La igura 12.8 presenta una arquitectura posible para el planeador de tareas. La especiicación de la tarea se descompone en una secuencia de subtareas por el fragmentador de tareas y se extrae información tal como el estado inicial, estado inal, posición de agarre, operando, especiicaciones y relaciones de sujeción. Luego se pasan las subtareas a través del planeador de subtareas, que genera el programa de robot requerido. El concepto de planeación de tareas es bastante parecido a la idea de la generación automática de programas en la inteligencia artiicial. El usuario provee los requerimientos de entrada/salida de un programa deseado, y el generador de programas generará un programa que producirá el comportamiento deseado de entrada/salida. 12.4 Programación de robots 333 Tareas Fragmentador de tareas Conocimiento Planeador de subtareas Modelo Robot Figura 12.8 Planeador de tareas Algunas de las diicultades y las soluciones correspondientes en la programación en el nivel de tareas son las siguientes: a) Modelos geométricos y físicos Para que el planeador de tareas pueda generar un programa de robot que ejecute una determinada tarea, deberá tener información sobre los objetos y sobre el propio robot. Éstas incluyen las propiedades geométricas y físicas de los objetos que pueden representarse por modelos. Un modelo geométrico proporciona la información espacial (dimensión, volumen, forma) de los objetos en el espacio de trabajo. Existen numerosas técnicas para modelar los objetos tridimensionales. El planteamiento más común es la geometría sólida constructiva (Constructive Solid Geometry CSG), donde los objetos se deinen como construcciones o combinaciones, usando operaciones de conjuntos regularizadas (tales como unión, intersección) de objetos primitivos (tales como cubos o cilindros). El primitivo puede representarse de varias maneras: i) Un conjunto de bordes y puntos ii) Un conjunto de supericies iii) Cilindros generalizados iv) Descomposición de celdas Las propiedades físicas, como inercia, masa y coeiciente de fricción, podrán limitar el tipo de movimiento que el robot pueda ejecutar. En lugar de guardar cada una de las propiedades en forma explícita, pueden derivarse del modelo de objeto. Sin embargo, ningún modelo puede ser 100 por ciento preciso, y piezas idénticas podrán tener ligeras diferencias en sus propiedades físicas. Para tratar con éstas deben introducirse tolerancias en el modelo. b) Representación de estados del entorno El planeador de tareas debe ser capaz de estimular los pasos de ensamble con el in de generar el programa del robot. Cada paso de ensamble puede representarse de forma sucinta por el estado actual del entorno. Una manera de representar estos estados es el uso de coniguraciones de todos los objetos en el espacio de trabajo. AL ofrece una relación de sujeción llamada AFFIX que permite que se unan los sistemas coordenados unos con otros. Esto es equivalente a unir físicamente una parte a otra parte, y si una de las partes se mueve, todos los demás también se moverán. AL automáticamente actualiza las ubicaciones de los sistemas coordenados mediante la multiplicación de las transformaciones apropiadas. Por ejemplo, AFFIX beam_bore TO beam RIGIDLY; beam_bore = FRAME(nilrot, VECTOR (1, 0, 0)*inches); 334 CAPÍTULO 12.4.3 12 Computadoras para robots Programación por simulación Entre las tecnologías más recientes disponibles para la programación se encuentran aquellas que usan la simulación virtual. Las simulaciones mediante el uso de modelos virtuales del ambiente de trabajo y de los propios robots pueden ofrecer ventajas tanto para la empresa como para el programador. Por medio de una simulación, pueden programarse robots ofline, lo que no causa ningún tiempo muerto para una línea de ensamble que podrá depender considerablemente de estos robots. Las acciones del robot y las piezas de ensamble pueden visualizarse en un ambiente tridimensional virtual meses antes de que se produzcan incluso los prototipos. La igura 12.9 ilustra uno de estos ambientes. Tampoco se requiere que los programadores tengan mucha destreza técnica en la escritura de código. Mientras que el paso hacia la simulación virtual para la programación de robots es un paso hacia adelante en el diseño de interfaces de usuarios, muchos de los diseños todavía tienen un camino largo por delante. 12.5 La arquitectura de hardware La estructura jerárquica de la arquitectura funcional que se adopta como modelo de referencia para el sistema de control de un robot industrial, junto con su articulación en diferentes módulos, sugiere una implementación de hardware que explote recursos computacionales distribuidos interconectados por medio de canales de comunicación adecuados. Para este in, vale la pena recordar que las funciones implementadas en los sistemas de control actuales toman en cuenta los tres niveles desde el servo hasta la acción, que normalmente limitan el desarrollo de las funciones implementadas en el nivel de acción. En los niveles de servo y Figura 12.9 Ambiente de simulación Cortesía de: http://www.public.iastate.edu/rterlemei/FinalPaper.pdf 12.5 La arquitectura de hardware 335 primitivo, las capacidades computacionales se requieren con restricciones de tiempo real demandantes. Un modelo generalizado de la arquitectura de hardware para el sistema de control de un robot industrial se presenta en la igura 12.10. Las tarjetas están conectadas con un bus, por ejemplo, un bus VME que permite el lujo de datos de soporte de comunicación; el ancho de banda del bus debe ser suicientemente ancho para cumplir con los requerimientos por restricciones de tiempo real. La tarjeta del sistema es normalmente un CPU equipado con • • • • • • • un microprocesador con coprocesador matemático una memoria EPROM de secuencia de arranque una memoria RAM local una memoria RAM compartida con las otras tarjetas mediante el bus un número de puertos seriales y paralelos con interfaz al bus y al entorno externo contadores, registros y temporizadores un sistema de interrupción Las siguientes funciones deberán implementarse en la tarjeta del sistema: • • • Interfaz del operario por medio de dispositivo portátil de enseñanza, teclado, video e impresora Interfaz con una memoria externa (disco duro) que se usa para almacenar datos y programas de aplicación Interfaz con estaciones de trabajo y otros sistemas de control por medio de una red local de comunicación, por ejemplo, Ethernet Memoria externa Dispositivo portátil de enseñanza Impresora Video Teclado Estación de trabajo SISTEMA Cinemática Dinámica E/S Bus Fuerza Servo Visión Ampliicadores de potencia Transductores de posición y velocidad Servomotores Sensor de fuerza Cámara Monitor Figura 12.10 Modelo general de la arquitectura de hardware para robots industriales 336 • • • • CAPÍTULO 12 Computadoras para robots Interfaz de E/S con dispositivos periféricos en el área de trabajo, por ejemplo, alimentadores, transportadores y sensores de ENC./APAG. Secuencia de arranque del sistema Intérprete del lenguaje de programación Árbitro del bus Las otras tarjetas que hay frente al bus podrán equiparse, aparte de los componentes básicos de la tarjeta del sistema, con un procesador complementario o alternativo (DSP, transputadora) para la implementación de funciones computacionalmente demandantes o dedicadas. En la arquitectura de la igura 12.10, se implementan las siguientes funciones en la tarjeta de cinemática: • • • • Computación de movimiento de los primitivos Computación de cinemática directa, cinemática inversa y el jacobiano Prueba de viabilidad de trayectoria manejo de redundancia cinemática La tarjeta de dinámica se dedica a • La computación de la dinámica inversa La tarjeta de servo tiene las funciones de • Microinterpolación de referencias • Computación del algoritmo de control • Conversión de digital a análogo e interfaz con los ampliicadores de potencia • Gestión de datos de transductores de posición y velocidad • Interrupción de movimiento en caso de fallas Las restantes tarjetas de la igura se consideraron para ilustrar cómo el uso de sensores podrá precisar capacidades de procesamiento local para recuperar informaciones signiicativas de los datos que puedan usarse efectivamente en el sistema sensorial. La tarjeta de fuerza realiza las siguientes operaciones: • Acondicionamiento de datos proporcionados por el sensor de fuerza • Representación de fuerzas en un determinado sistema de coordenadas La tarjeta de visión está a cargo de • Procesamiento de datos proporcionados por la cámara • Extracción de características geométricas de la escena • Localización de objetos en un determinado sistema de coordenadas Aunque las tarjetas se conectan al mismo bus, la frecuencia con la que se intercambien datos no tiene que ser la misma para cada tarjeta. Aquellas que están conectadas a los sensores ciertamente tienen la necesidad de intercambiar datos con el robot en la máxima frecuencia posible (de 100 a 1 000 Hz) con el in de asegurar un desempeño dinámico alto para el control de movimientos como también para relevar el contacto del efector inal en un tiempo muy breve. Por otro lado, las tarjetas de cinemática y dinámica implementan funciones de modelado y, como tales, no requieren la actualización de datos con una velocidad tan alta como la de la tarjeta de servo. De hecho, la coniguración del manipulador no varía de forma apreciable en un tiempo muy corto, por lo menos respecto a las velocidades o aceleraciones operacionales normales de los robots industriales de la actualidad. Las frecuencias de Ejercicios basados en la web 337 muestreo comunes están en el rango de 10-100 Hz. La tarjeta de visión tampoco requiere una velocidad alta de actualización porque la escena es por lo general casi estática y porque las funciones interpretativas son normalmente complejas. Por lo regular, las frecuencias están en el rango de 1-10 Hz. En suma, el acceso de tarjetas al bus de comunicación de la arquitectura de control del hardware podrá realizarse de acuerdo con una lógica de velocidades múltiples, lo que permite resolver problemas de saturación de datos en el bus. RESUMEN En este capítulo se explican los requerimientos de software y hardware para el control de robots. También se presentan las metodologías de programación online y ofline. Se mencionan las ventajas y desventajas de ambos tipos de programación. EJERCICIOS 12.1 ¿Cuáles son los requerimientos de hardware y software para un controlador de robot? 12.2 Describe la programación online. 12.3 ¿Cuáles son las ventajas y desventajas de la programación online? 12.4 ¿Cuáles son los tipos de programación online? 12.5 ¿Cuál es la diferencia entre la programación dirigida y la paso a paso? 12.6 ¿Cuáles son los tipos de programación ofline? 12.7 ¿Cuáles son las características que deben tener los ambientes de la programación ofline? 12.8 ¿Cuándo deberá preferirse la programación online frente a la programación ofline? 12.9 ¿Qué es programación por simulación? 12.10 ¿Por qué es difícil la programación basada en las tareas? 12.11 Explique “programa por simulación”. 12.12 ¿Cuáles serían las limitaciones de “programa por simulación”? EJERCICIOS BASADOS EN LA WEB 12.13 ¿Cuáles son los tipos de programación de robots que utilizan los fabricantes en el ejercicio 1.11? 12.14 Mencione algunos softwares de simulación de robots. 12.15 Mencione algunos métodos de programación de robots que ofrecen los fabricantes de robots. 12.16 Averigüe por lo menos dos nombres de empresas que ofrezcan la característica de “programa por simulación” en sus robots. Apéndice A Principios básicos matemáticos En este libro se supone que el lector se halla familiarizado con las deiniciones matemáticas de las áreas de álgebra lineal, trigonometría y otros campos relacionados. Algunas de ellas se introducirán en este apéndice para lograr que el lector entienda rápidamente las derivaciones y notaciones que se usan en diferentes capítulos de este libro. A.1 La función “Atan2” La función usual arco tangente inversa denotada por Atan(z), donde z = y/x, devuelve un ángulo en el rango de (–p/2, p/2). Con el in de expresar el rango completo de ángulos, es útil deinir la llamada función de arco-tangente de dos argumentos denotada por Atan2(y, x) que devuelve el ángulo en el rango completo, es decir, (–p, p). Esta función se deine para todos los (x, y) ≠ 0 y es igual al ángulo único q, de tal manera que cos q = x 2 x +y 2 , y sen q = y 2 x + y2 (A.1) La función usa los signos de x y y para seleccionar el cuadrante adecuado para el ángulo q, como se explica en la tabla A.1. En la tabla A.1, z = y/x y Sgn(.) denotan el usual signo de la función de signo, es decir, su valor es –1, 0 o 1, dependiendo de los valores positivo, cero y negativo de y, respectivamente. Sin embargo, si tanto x como y son ceros, “Atan2” queda indeinido. Entonces, mediante A.2 Vectores 339 Tabla A.1 Evaluación de la función “Atan2” x Atan2(y, x) +ve 0 –ve Atan(z) Sgn(y) p/2 Atan(z) + Sgn(y)π la tabla Atan2(–1, 1) = p/4 y Atan2(1, –1) = 3p/4, mientras que Atan(–1) devuelve –p/4 en ambos casos. A.2 Vectores Mientras no se señale algo diferente, los vectores serán deinidos como vectores de columna y denotados con letras minúsculas en negrillas. Por ende, un vector a n-dimensional se deine como LM a OP a ∫M⋮P MNa PQ 1 (A.2) n donde a1, …, an son los elementos del vector a. El vector a también puede representarse como (A.3) a ∫ [a1, º, an]T donde el superíndice T denota transposición. La magnitud, longitud o norma del vector a, denotada con letras itálicas, se determina por a = A.2.1 aTa = a12 + º + an2 (A.4) Vectores unitarios Un vector unitario se deine como un vector con magnitud igual a 1. Por tanto, el vector unitario a lo largo del vector a, denotado con a, puede deinirse como a (A.5) a = a donde a se determina por la ecuación (A.4). Por ende, la magnitud del vector unitario a es a = 1. Ahora, si i, j y k denotan los vectores unitarios a lo largo de los ejes X, Y y Z, respectivamente, del sistema de coordenadas como se presenta en la igura A.1, cualquier vector cartesiano tridimensional que se muestra en la igura A.1, por decir, a ≡ [a1, a2, a3]T, puede expresarse como a = a1 i + a2 j + a3 k (A.6) en la que los vectores unitarios i, j y k tienen las siguientes representaciones: LM1OP LM0OP LM0OP i ∫ 0 ,j∫ 1 ,y k∫ 0 MM0PP MM0PP MM1PP NQ NQ NQ (A.7) 340 APÉNDICE A Principios básicos matemáticos a3 Z A a k i O j a2 Y Sistema de coordenadas a1 X Figura A.1 Sistema de coordenadas y vectores unitarios Observe que en la ecuación (A.6), las magnitudes de los vectores unitarios que usan las ecuaciones (A.4) y (A.7) son uno. A.2.2 Productos escalares y productos punto El producto escalar de dos vectores n-dimensionales a y b, aquí denotados como aT b, es un número escalar deinido por aT b = a1 b1 + º + an bn (A.8) El producto escalar es conmutativo, es decir, (A.9) aT b = bT a Ahora bien, para vectores cartesianos bidimensionales y tridimensionales que representan cantidades físicas, como posición de un punto o fuerza en un punto, etc., el producto escalar también se llama producto punto, lo que se determina por (A.10) aT b = ab cos q donde q es el ángulo entre los vectores a y b, como B b se muestra en la igura A.2. La interpretación física del producto punto es que el vector b se proyecta al vector a, como lo indica OA en la igura A.1, y se q multiplica por la magnitud de a. Alternativamente, a A puede interpretarse como la proyección de a al vecO tor b cuyo resultado se multiplica por la magnitud Figura A.2 Producto punto de dos del último. Entonces, si estos dos vectores son orvectores cartesianos togonales entre sí, es decir, si θ = 90º, el producto punto desaparecerá, a saber, aTb = 0. A.2.3 Producto vectorial o producto cruz Un producto vectorial o cruz entre dos vectores cartesianos, por decir, a y b, denotado por c, se deine como A.2 i j c = a ¥ b = a1 a2 b1 b2 vectores k a3 = (a2 b3 – a3 b2)i + (a3 b1 – a1 b3)j + (a1b2 – a2b1)k b3 341 (A.11a) donde “×” denota el símbolo para el producto cruz. El resultado del producto cruz es también un vector, es decir, c, que es ortogonal a los dos vectores originales a y b. La magnitud del vector c se denota como c y se determina por (A.11b) c = ab sen q donde el ángulo q es el ángulo entre los vectores a y b, como se muestra en la igura A.3. Con el in de obtener la dirección del vector resultante c, se aplica la regla de la mano derecha, es decir, si la palma de una mano derecha se coloca a lo largo del vector a y luego se gira hacia el vector b, el pulgar señala la dirección del vector c. El producto cruz tiene las siguientes propiedades: c b q a Figura A.3 Producto cruz de dos vectores cartesianos a ¥ b = –b ¥ a; a ¥ (b ¥ c) = (aT c)b – (aT b)c; y aT (b ¥ c) = |a b c| (A.12) A.2.4 Matriz de producto cruz Una matriz de producto cruz siempre se asocia con un vector cartesiano tridimensional, por decir, a, el cual, cuando se pre-multiplica por otro vector cartesiano tridimensional, por ejemplo, b, da como resultado el producto cruz entre los dos vectores, como se muestra en la subsección A.2.3. Si a × 1 denota la matriz de producto cruz asociada con el vector a, entonces (A.13a) (a ¥ 1)b = a ¥ b La matriz de 3 × 3 (a × 1) es antisimétrica y singular. Su representación en términos de los componentes del vector, a ≡ [a1, a2, a3]T, se determina por LM 0 a¥1 ∫ M a MN- a - a3 0 3 1 a1 2 OP -a P 0 PQ a2 (A.13b) Entonces es una cuestión sencilla veriicar la ecuación (A.13b) según el resultado de la ecuación (A.11a). A.2.5 Diferenciación de vectores Si el vector a ≡ [a1 … an]T es la función vectorial n-dimensional de tiempo, entonces su derivada de tiempo, denotada por ȧ, se deine como aɺ ∫ [ aɺ1 º aɺ n ]T (A.14) 342 APÉNDICE A Principios básicos matemáticos Los productos escalares y vectoriales cumplen con las siguientes reglas de productos para la diferenciación, parecidas a la regla de productos para la diferenciación de funciones escalares ordinarias: d T d (A.15) (a b) = aɺ T b + aT bɺ ; y (a ¥ b) = aɺ ¥ b + a ¥ bɺ dt dt Instrucciones similares también se aplican para la integración de vectores. A.2.6 Independencia lineal Para un conjunto de vectores a1, …, an, se dice que es linealmente independiente si y sólo si n  ai ai = 0 implica que ai = 0 para toda i (A.16) i =1 A.3 Matrices Una matriz se deine como un arreglo ordenado de números reales. Una matriz de m × n, por ejemplo, A, con m hileras y n columnas tiene mn elementos denotados como aij para i = 1, …, m y para j = 1,…, n. Si cada columna de la matriz A se representa por el vector m-dimensional aj ≡ [a1,j … am,j]T para j = 1,…, n, entonces la matriz A tiene la siguiente representación: A ∫ [a1 (A.17a) º an] De manera similar, puede deinirse cada hilera como el vector n-dimensional ai ≡ ai,1 … ai,n]T para i = 1, …, m, y puede representarse la matriz A como LM a OP A∫M ⋮ P MNa PQ T 1 (A.17b) T m donde aTi ≡ [ai,1, …, ai,n]. Observe que ambas ecuaciones (A.17a-b) representan la misma matriz. En función de los requerimientos, una podrá elegirse sobre la otra. A.3.1 El determinante de una matriz El determinante de una matriz sólo se deine para matrices cuadradas. Para una matriz A de n × n, el determinante es el escalar denotado por det(A) o |A| y se determina por a11 a21 det(A) = |A| = ⋮ an1 a12 a22 ⋮ an 2 º a1n º a2 n = ⋱ ⋮ º ann  (–1)i +j aij det(Aij ) (A.18) donde det(Aij) es el determinante de la matriz (n – 1) × (n – 1) Aij, obtenido por borrar la i-ésima hilera y la j-ésima columna de la matriz A. Como ejemplo, el determinante de la matriz A de 3 × 3 se calcula a continuación: A.3 a11 a12 a13 det(A) = a21 a31 a22 a23 = a11 a32 a33 a22 a32 a23 a21 – a12 a33 a31 a23 a21 + a13 a33 a31 Matrices a22 a32 343 (A.19) = a11(a22 a33 – a23 a32) – a12 (a21 a33 – a23 a31) + a13 (a21 a32 – a22 a31) Con respecto al determinante de una matriz A, las siguientes propiedades son útiles: • • • • • • Si todos los elementos de una hilera o columna de la matriz son cero, entonces det(A) = 0. Los determinantes de A y su transpuesta AT son iguales, es decir, det(A) = det(AT). Para dos matrices A y B, det(AB) = det(A)det(B). Si A es una matriz de identidad, es decir, A = 1, entonces su determinante es la unidad, es decir, det(A) = 1. Si dos hileras o columnas son dependientes, entonces det(A) = 0. Estas matrices se llaman singulares. Si todas las hileras o columnas son independientes, entonces det(A) ≠ 0. Estas matrices se llaman no singulares. A.3.2 La inversa de una matriz Nuevamente, la inversa de una matriz sólo se deine para matrices cuadradas. Para una matriz A de n × n, se deine como 1 (A.20a) A–1 = Adj(A) det(A) donde Adj(A) se deine como sigue: (A.20b) Adj(A) = [(–1)i+j det(A ij)]T Observe aquí que para resolver un conjunto de ecuaciones algebraicas lineales Ax = b se requiere de la inversa de la matriz A, a saber, x = A–1b. Pueden usarse las ecuaciones (A.20a-b) para obtener x. Sin embargo, con el in de lograr eiciencia computacional, se sugiere usar la descomposición de la matriz, así como sustituciones directas e indirectas (Strang, 1980). Algunas propiedades de la matriz inversa son las siguientes: • • • AA–1 = A–1 A = 1, donde 1 es una matriz de identidad. (A–1) –1 = A y (AT ) –1 = (A–1)T. (AB)–1 = B–1 A–1. A.3.3 Valores propios y vectores propios Los valores propios de una matriz A son las soluciones en s de la siguiente ecuación: det(s1 – A) = 0 (A.21a) donde 1 es la matriz de identidad de dimensión igual que la matriz A. La función det(s1 – A) es un polinomio en s y se llama polinomio característico de A. Si se es un valor propio de A, un vector propio de A correspondiente a se es un vector xe de no cero que cumple con el sistema de ecuaciones lineales que se determina por (se1 – A)xe = 0 (A.21b) 344 APÉNDICE A Principios básicos matemáticos Entrada x(s) Función de transferencia G (s ) Salida y(s) Figura A.4 Descripción de entrada/salida de un sistema A.4 Función de transferencia Una función de transferencia (Mohan, 1997; Onwubolu, 2005; Dorf, 1992) relaciona en forma algebraica la salida de un sistema con su entrada. Esta función permite la separación de la entrada, el sistema y la salida en tres partes separadas y distintas, como se muestra en la igura A.4. La relación de la transformada de Laplace1 de la salida y(s), dividida entre la transformada de Laplace de la entrada x(s), da la función de transferencia G(s), es decir, y ( s) (A.22) G(s) = x (s) donde x(s) y y(s) son por lo general polinomios en la variable compleja s. En la ecuación (A.22) el denominador polinómico x(s) se llama polinomio característico, cuyas raíces se llaman polos, mientras que las raíces del polinomio del numerador y(s) se llaman ceros. Como ejemplo, considere el sistema amortiguado de masa-resorte que se presenta en la igura 10.6. Sus ecuaciones de movimiento dadas en la ecuación (10.30 a) se reproducen aquí como (A.23) m xɺɺ + b xɺ + kx = f Tomando la transformada de Laplace de todos los términos de la ecuación (A.23), en la suposición de condiciones iniciales cero, se obtiene ms2x(s) + bsx(s) + kx(s) = f(s) (A.24) La resolución para x(s) según la ecuación antecedente proporciona f (s) x(s) = (A.25) 2 ms + bs + k Por lo tanto, la función de transferencia G(s) del sistema amortiguado de masa-resorte se determina por x (s) 1 G(s) = = (A.26a) f ( s ) ms 2 + bs + k En forma alternativa, si se usa la ecuación diferencial de la forma dada por la ecuación (10.30b), entonces la ecuación (A.26a) puede expresarse también como sigue: 1/m x (s) (A.26b) = 2 f (s) s + 2 V w n s + w 2n donde wn y ς son la relación de frecuencia natural y amortiguamiento del sistema, respectivamente, y están deinidas en la ecuación (10.30c). Según la ecuación (A.26a-b), los dos polos del sistema amortiguado masa-resorte se determinan entonces por G(s) = La transformada de Laplace convierte la representación de un sistema físico por medio de un conjunto de ecuaciones diferenciales en un conjunto de ecuaciones algebraicas. 1 Resumen s1,2 = -b ± b 2 - 4 mk = –V wn ± wn V 2 - 1 2m 345 (A.27) lo que determina la forma de la respuesta natural del sistema en cuestión, mientras que los polos y ceros juntos afectan los picos y amplitudes tanto de la respuesta forzada como de la natural. RESUMEN En este apéndice se presentan algunos aspectos básicos del álgebra lineal y de las teorías de control, lo que ayudará al lector a entender los conceptos que se aplican en este libro, principalmente en los capítulos 5-10. Apéndice B El uso de MATLAB y RIDIM En este apéndice, se explican los pasos que hay que seguir para usar el software comercial MATLAB y el programa RIDIM, desarrollado por el autor y su grupo de estudiantes. B.1 El uso de MATLAB MATLAB es un software comercial de MathWorks Inc, USA. Tiene un gran número de operadores y comandos que pueden ejecutar una amplia gama de análisis, por ejemplo, operaciones de matriz, soluciones de ecuaciones algebraicas y diferenciales, optimizaciones, experimentos de control, etcétera. B.1.1 Inicializar MATLAB MATLAB debe instalarse en la computadora donde el usuario realizará computaciones. Si un ícono está disponible en el escritorio, el usuario tiene que dar un doble clic en él mediante el botón izquierdo del mouse. Alternativamente, puede dar un clic izquierdo, en secuencia, sobre los botones/menús que se despliegan: Start -> All Programs -> Matlab -> MATLAB. B.1.2 ¿Cómo usar MATLAB? Cuando arranca el software MATLAB, aparece la pantalla de MATLAB con el mensaje “>>”. Esta ventana se llama ventana de comando MATLAB. Aquí se muestran algunas B.1 El uso de MATLAB 347 operaciones básicas. Para una descripción detallada, pueden consultarse los libros disponibles sobre MATLAB, por ejemplo, Pratap (2002), y usar los demos y el menú de ayuda del software. B.1.2.1 Vectores en MATLAB Para cualquier vector columna, o para lo que en este libro simplemente se llama vector, por ejemplo, a ≡ [a1 a2 a3]T, se utilizan los siguientes comandos: >> syms a1 a2 a3 >> av = [a1; a2; a3] av = [a1] [a2] [a3] donde “syms” es un comando de MATLAB para deinir la variable como simbólica en lugar de numérica. Además, “av” es un nombre de variable deinido por el usuario para el vector a. En contraste, un vector renglón, por ejemplo, a ≡ [a1 a2 a3], puede generarse como >> syms a1 a2 a3 >> av = [a1 a2 a3] av = [a1, a2, a3] Si los elementos del vector renglón son números, por ejemplo, a ≡ [2 1 5], entonces >> av = [2 1 5] av = 2 1 5 La suma de dos vectores, por ejemplo, a ≡ [2 1 5]T y b ≡ [1 4 2]T, se obtienen como >> >> >> cv 3 5 5 av = [2; 1; 3]; bv = [1; 4; 2]; cv = av + bv = El producto escalar de los dos vectores arriba mencionados como a y b se obtiene como >> av = [2; 1; 3]; >> bv = [1; 4; 2]; >> av’*bv ans = 12 Observe arriba que si ninguna variable se asigna a la izquierda de la operación, se considera como “ans”. B.1.2.2 Matrices en MATLAB Suponga que dos matrices, A y B, se determinan por 348 APÉNDICE B El uso de MATLAB y RIDIM LM2 A∫ 3 MM5 N LM1 OP 2 ;y B∫ 2 MM8 P 6 PQ N OP P 9PQ 3 1 2 3 5 3 5 1 2 (B.1) La representación de estas matrices en MATLAB es como sigue: >> am 2 3 5 >> bm 1 2 8 am = [2 3 1; 3 5 2; 5 1 6] = 3 1 5 2 1 6 bm = [1 2 3;2 3 5;8 2 9] = 2 3 3 5 2 9 La suma de las dos matrices A y B se determina por >> am+bm ans = 3 5 5 8 13 3 4 7 15 mientras que la multiplicación de A y B, AB, se determina por >> am*bm ans = 16 15 29 25 55 25 30 52 74 Aparte de operaciones algebraicas, pueden encontrarse también las propiedades de las matrices, como el determinante, valores propios, etc. Por ejemplo, el determinante de A se calcula como >> det(am) ans = 10 mientras que los valores propios de A son >> eig(am) ans = 9.2085 0.3121 3.4794 Adicionalmente la matriz inversa de A puede obtenerse mediante >> inv(am) ans = 2.8000 –1.7000 –0.8000 0.7000 –2.2000 1.3000 0.1000 –0.1000 0.1000 B.2 El uso de RIDIM 349 Finalmente, la solución de un sistema de ecuaciones algebraicas escrito en la forma de Ax = b, se determina por x = A–1b. En MATLAB, el vector x se obtiene como >> xv = am\bv xv = –3.8000 1.8000 3.2000 donde el vector b es el que se usaba en la subsección B.1.2.1. Ahora puede veriicarse la multiplicación de la matriz A y del vector x como >> am*xv ans = 1.0000 4.0000 2.0000 que se veriica como vector b. Cabe señalar aquí que, sea lo que fuere lo que se hizo arriba en la ventana de comandos de MATLAB, también puede teclearse en un archivo .m, por ejemplo, “soln.m”, lo que luego puede ejecutarse desde la ventana de MATLAB o haciendo clic sobre “Debug->Run” en el editor de archivos. En este caso, posiblemente el software pida la coniguración de ruta de MATLAB. El usuario deberá especiicar la ruta donde se guardó “soln.m”. En todo caso, los resultados aparecerán en la ventana de comandos de MATLAB. B.2 El uso de RIDIM RIDIM es el acrónimo de Recursive Inverse Dynamics for Industrial Manipulators (Dinámica Inversa Recursiva para Manipuladores Industriales). Su programa de interfaz VC++ fue desarrollado para los usuarios de MS-Windows con el in de combinar dos programas de C++, uno para resolver el problema de cinemática inversa formulado en Marothiya y Saha (2003); el otro es el algoritmo de dinámica inversa recursiva propuesto en Saha (1999). Tanto los aspectos de la cinemática inversa como los de la dinámica inversa se analizan también en los capítulos 6 y 9 de este libro. El programa requiere de las siguientes entradas: • • • • Los parámetros de Denavit y Hartenberg (DH) del manipulador robótico deinidos en el capítulo 5. Estos parámetros DH se guardan en un archivo. La coniguración inicial y inal del robot. Esto puede aportarse en coordenadas de nivel de la articulación o en coordenadas cartesianas. El tiempo que se desea utilizar para moverse desde la posición inicial hasta la inal. El número de pasos. Basándose en las entradas que se mencionan, el programa calcula la trayectoria por seguir y la guarda en otro archivo. Luego existe la opción de realizar la dinámica inversa, usando RIDIM para la trayectoria calculada, cuya salida (fuerzas/pares de torsión de la articulación) también se guarda en un archivo. Los resultados guardados en los archivos están disponibles para graicar u otros análisis. 350 B.2.1 APÉNDICE B El uso de MATLAB y RIDIM Instalación de RIDIM Para instalar RIDIM, baje “ridim.zip” de http://web.iitd.ac.in/saha o del sitio web del libro. Observe que el sistema de cómputo del usuario debe tener los siguientes dos archivos en C:\windows\system: MFC42D.DLL MSVRTD.DLL Si no existen los dos archivos mencionados, hay que tomarlos del RIDIM\SYSTEM-FILES directorio de fólders descomprimidos. Luego, instale RIDIM siguiendo los pasos que se indican a continuación: 1. Descomprímalo en el directorio “C:\”. Es decir, durante la descompresión, seleccione “fólder diferente” y give/choose “C:\”. 2. Váyase al fólder “C:\”. Haga un clic derecho en el fólder RIDIM; luego haga clic en “propiedades” y después en “sólo lectura” (esto quitará la palomita si es que existe). Aplique y cierre la ventana. 3. Haga doble clic en “RIDIM” para entrar en el fólder. Luego, en “seleccionar todo”. Lleve la lecha del cursor sobre cualquier ícono de archivo. Haga clic derecho, luego en “propiedades”, después en “sólo lectura” (esto quitará la palomita si es que existe). Aplique y cierre la ventana. 4. Haga doble clic en el fólder ”depurar”. Jale el archivo “proj” (el archivo de aplicación donde el ícono de RIDIM aparece) al escritorio. 5. Haga doble clic sobre el ícono “RIDIM”. 6. Ingrese a la entrada que desea. 7. Graique usando MS-EXCEL o MATLAB. Si las instrucciones mencionadas no funcionan, lo más probable es que usted no tenga acceso de escritura en el drive “C”. Pida permiso al administrador del sistema o envíe un correo electrónico al administrador del sitio web del libro. B.2.2 ¿Cómo usar RIDIM? 1. Haga doble clic en el ícono de RIDIM (nombre del archivo: proj1) que está en el escritorio. Aparecerá una ventana con instrucciones acerca del software. Haga clic en “Next” para proceder o en “Cancel” para cerrar el programa. Aparecerá una ventana que pedirá el número de grados de libertad. Ingrese el número de grados de libertad, por ejemplo DOF 6 ↵ donde el usuario deberá especiicar cantidades subrayadas y ↵ signiica “Press Next” o “Press Return Button”. 2. Después, dependiendo de la elección del usuario, el programa pedirá los parámetros DH y las propiedades del eslabón. Por ejemplo, los parámetros DH y los parámetros del eslabón se dan en la tabla B.1. Consulte los capítulos 5-9 para revisar el signiicado de los términos. Todos los valores mencionados arriba deberán ingresarse para un eslabón tras otro, empezando con el eslabón 1. Después de haber ingresado todos los datos, aparecerá una ventana que indica el almacenamiento de los parámetros en un archivo “dhpara. r”. Haga clic en “Next”. B.2 Tabla B.1 Núm. Jt. 351 El uso de RIDIM Datos de muestra que usa RIDIM (guardados en “dhpara.r”) ai bi a qI mi xcm ycm zcm Ixx Ixy Ixz Iyy Iyz Izz 1 R 1 0 –90 0 1 1 1 1 1 1 1 1 1 1 2 R 2 5 180 0 1 1 1 1 1 1 1 1 1 1 3 R 3 3 –90 0 1 1 1 1 1 1 1 1 1 1 4 R 0 7 90 0 1 1 1 1 1 1 1 1 1 1 5 R 0 0 90 0 1 1 1 1 1 1 1 1 1 1 6 R 1 2 90 0 1 1 1 1 1 1 1 1 1 1 3. Para la planeación de trayectorias, se piden 2 parámetros: a) Tiempo total: por ejemplo, Total time: 15 ↵ b) Núm. de pasos: Esto sirve para decidir sobre la precisión de los cálculos. Entre mayor sea el número de pasos, más grande será la precisión de la planeación de trayectorias. Estos datos son importantes para calcular los resultados en varias posiciones. Por ejemplo: Núm. de pasos: 30 ↵ 4. Aparecerá una ventana en la que se tendrá que hacer clic sobre la opción “Run Ikin. cpp” para la cinemática inversa y la planeación de trayectorias. Primero que nada, el programa preguntará si el usuario desea ingresar los datos en coordenadas del nivel de articulación o en coordenadas de nivel cartesiano: Deberá especiicarse cómo se desea ingresar las posiciones: ¿En coordenadas del nivel de articulación (presione 1) o en coordenadas de nivel cartesiano (presione 2)? 1 ↵ i) Si se ingresa 1, se piden los ángulos de articulación de la siguiente manera, tanto para la posición inicial como para la inal: Entrar trayectoria: Nivel de articulación (1) o nivel cartesiano (2) ↵ Entre las coordenadas iniciales y inales de articulación [Ángulo para el par revoluto y longitud para el par prismático] Valor inicial (grados o metros) para la articulación 1: 10 ↵ Valor inicial (grados o metros) para la articulación 2: 60 ↵ Valor inicial (grados o metros) para la articulación 3: 45 ↵ Valor inicial (grados o metros) para la articulación 4: 30 ↵ Valor inicial (grados o metros) para la articulación 5: 90 ↵ Valor inicial (grados o metros) para la articulación 6: 100 ↵ y de manera similar para la coniguración inal. ii) Si se presiona 2, aparecerá una ventana donde deberán proporcionarse los siguientes datos: Se pide la coniguración inicial, por ejemplo: 1. Entre la posición del efector inal Entre (P1 P2 P3) 6 1 5 ↵ 2. Entre la matriz de rotación del efector inal: (Q) Entre Q11 12 13: 0 1 0 ↵ 352 5. 6. 7. 8. 9. 10. 11. APÉNDICE B El uso de MATLAB y RIDIM Entre Q21 22 23: -1 0 0 ↵ Entre Q31 32 33: 0 1 0 ↵ Las posibles soluciones de cinemática inversa se generan y muestran, y se pide que el usuario dé un número particular de solución que deba usarse para los cálculos. Si el usuario no está seguro de cuál deba seleccionar, puede presionar cualquier tecla. En este caso, se seleccionará el número de solución por default (que actualmente es 1). Por ejemplo, Ingrese el núm. de solución que se va a revisar: (Presione cualquier tecla para default, por ejemplo, 1): 3 ↵ Se sigue un procedimiento similar para obtener la coniguración inal. (Observe que, para el caso planar de DOF = 2, antes de pedir la posición inicial y inal, se le pregunta al usuario si necesita la solución del brazo inferior o del superior. La ventana que aparecerá tendrá el siguiente aspecto: ¿Desea usted la solución del brazo inferior (1) o superior (2)? 1 ↵ Después de ingresar todos los datos, las soluciones de cinemática inversa se guardan en un archivo. Luego, TECLEAR “ok” Y LUEGO ENTER PARA CONTINUAR ok ↵ Aparecerá una ventana indicando que las computaciones de trayectoria se efectuaron y que los datos generados se guardaron en un archivo “ikin.r”. Se pide “RUN Idyn. cpp”. Presione “ok”. Nuevamente aparecerá una ventana con las opciones “Ikin.cpp” e “Idyn.cpp”. Haga clic en la segunda opción. Aparecerá una ventana para Idyn.cpp que pregunta por el vector de gravedad. Por ejemplo, ¿Vector de gravedad en el 1er sistema coordenado (g_x g_y g_z)? 0 0 –1 ↵ Los resultados de dinámica inversa se guardan en un archivo y el programa sale automáticamente. Aparecerá una ventana más que indica que el par de torsión de la articulación o los valores de fuerza están guardados en el archivo “Idyn.xls” en el fólder de RIDIM en el directorio C: que puede graicarse. Para cerrar el programa, haga clic en el ícono “X” en el lado derecho de la pantalla. Con el in de usar el módulo de “cinemática directa” de RIDIM para veriicar los resultados de cinemática inversa arriba mencionados, pueden seguirse los siguientes pasos: 1. Haga un doble clic en “forwardkin.exe” en el fólder “C:\debug” o en una ventana por medio del ícono de RIDIM. 2. Aparecerá una ventana donde se pregunta si el usuario desea usar los parámetros DH guardados en el archivo “dhpara.r” o si desea ingresar nuevos valores, por ejemplo, Valores de parámetros DH ¿Desea leer el archivo dhpara.r? (Presione 1) ¿O desea crear uno? (presione 2) 2 ↵ 3. Si se ingresa 1, se tomarán los valores ingresados por medio del software de RIDIM. Si se presiona 2, se solicitarán primero los grados de libertad y después los parámetros de la articulación, por ejemplo: Ingrese el núm. de grados de libertad: 3 ↵ Ingrese los parámetros DH B.2 El uso de RIDIM 353 Longitud del eslabón (a[i]) Longitud del offset (b[1]) Ángulo de giro en grados (alfa[i]): eslabón 1 1 2 90 ↵ eslabón 2 3 4 45 ↵ eslabón 3 1 1 0 ↵ 4. Después de ingresar los datos, se pide que el usuario elija si desea revisar las soluciones guardadas en “ikinsoln.r” o si quiere ingresar nuevos valores de articulación (q). Desea revisar los valores de articulaciones guardados en ikindsoln.r (presione 1) O desea ingresar sus propios valores (presione 2) 2 ↵ 5. Si se ingresa 1, se realiza la cinemática directa de la solución guardada. Esto sigue exactamente el procedimiento que se explica en el inciso 3. En contraste, si se ingresa 2, entonces se piden los valores individuales theta; por ejemplo Entre th[1] (grados): 45 ↵ Entre th[2] (grados): 60 ↵ Entre th[3] (grados): 30 ↵ 6. Basados en la entrada, los resultados de cinemática directa, a saber, la matriz de orientación del efector inal y la posición, se visualizan, es decir, La matriz de rotación es: 0.33968 –0.118764 0.933013 –0.16032 –0.984789 –0.0669873 0.926777 –0.126826 –0.353553 La posición EE es: 5.86889 –1.28797 5.1713 Presione ok e ingrese ok ↵ B.2.3 Una ilustración con PUMA 560 El robot PUMA 560 se presenta en la igura B.1 y sus parámetros DH se muestran a su lado. Para usar el programa de cinemática inversa, se usan las siguientes entradas: Posición del efector inal: p = [0.67837 0.24867 0.07662]T Orientación del efector inal Q = [0.84086 0.25393 0.47799; 0.54115 0.37712 0.75163; 0.01060 0.89067 – 0.4545] Los valores de p y Q se toman de la salida de una solución de cinemática directa cuando los ángulos de articulaciones se toman como q = [5 30 10 45 90 60 ]T grados Esto signiica que una de las soluciones del programa de cinemática inversa deberá coincidir con los valores arriba mencionados, lo que tiene es correcto según la siguiente salida del módulo de cinemática inversa de RIDIM: 354 APÉNDICE Cadera(articulación 1) B Hombro (Articulación 2) Hombro z Tronco Antebrazo Codo (Articulación 3) Eslabón k 1 Rotación de la muñeca (Articulación 4) Doblado de la muñeca (Articulación 5) Brida (Articulación 6) y a (m) 0 b (m) 0 2 0.432 0.149 0 q2 (JV) 3 0.02 0 90 q3 (JV) 4 0 0.432 –90 q4 (JV) 5 0 0 90 q5 (JV) 6 0 0.056 0 q6 (JV) Muñeca x Figura B.1 El robot PUMA 560 y sus parámetros DH a (deg) –90 q (deg) q1 (JV) El uso de MATLAB y RIDIM Brazo superior B.2 El uso de RIDIM 355 Las soluciones son: Sol núm.: 1 5 30 10 45 90.0002 60.0001 Sol núm.: 2 –149.82 –132.601 10 –83.9618 24.3137 –19.1774 Sol núm.: 3 5 –47.3984 164.698 77.6014 46.3851 –12.3228 Sol núm.: 4 –149.82 150 164.698 –155.036 75.9605 70.9998 Sol núm.: 5 5 30 10 –135 –90.0002 –120 Sol núm.: 6 –149.82 –132.601 10 96.038 –24.3137 160.822 Sol núm.: 7 5 –47.3984 164.698 –102.399 –46.3851 167.677 Sol núm.: 8 –149.82 150 164.698 24.9645 –75.9605 –109 Ingrese el número de solución para revisar (presione cualquier tecla para el default, p.ej. 1): Ahora se pide que el usuario seleccione una determinada solución, o bien se selecciona una por default. Observe que el núm. de solución 1 (indicado arriba como “Sol núm. 1”) es el que corresponde a los valores de entrada. Entonces, para demostrar el módulo de cinemática inversa de RIDIM, se generan las trayectorias de posición, velocidad y aceleración basadas en las soluciones de cinemática inversa. Por ejemplo, vamos a usar los siguientes valores: Condiciones iniciales: qi(0) = 0; condiciones inales: qi(T) = 180º para i = 1, ..., 6; duración de tiempo T = 10 seg. 0.7 3 Velocidad de la articulación Valor de la articulación 3.5 2.5 2 1.5 1 0.5 0 1 2 3 4 5 6 7 Tiempo (seg) a) Posición Aceleración de la articulación 0 8 9 10 2 3 0.6 0.5 0.4 0.3 0.2 0.1 0 0 1 2 3 4 5 6 7 8 9 10 Tiempo (seg) b) Velocidad 0.25 0.2 0.15 0.1 0.05 0 0 –0.05 1 4 5 6 7 8 9 10 –0.1 –0.15 –0.2 –0.25 Tiempo (seg) c) Aceleración Figura B.2 Trayectoria de la articulación: a) posición, b) velocidad y c) aceleración APÉNDICE B El uso de MATLAB y RIDIM 8 6 4 2 0 0 1 2 3 4 5 6 7 8 9 10 –2 –4 –6 –8 Tiempo (seg) a) Articulación 1 100 80 60 40 20 0 –20 0 1 2 3 4 5 6 7 8 9 10 –40 –60 –80 –100 Tiempo (seg) b) Articulación 2 Par de torsión (Nm) Par de torsión (Nm) 356 10 0 0 1 2 3 4 5 6 7 8 9 10 –10 –20 Par de torsión (Nm) –30 Tiempo (seg) c) Articulación 3 0.2 0.15 0.1 0.05 0 5 Par de torsión (Nm) 20 0 1 2 3 4 5 6 7 8 9 10 –0.1 –0.15 Figura B.3 Tiempo (seg) e) Articulación 5 Par de torsión (Nm) Par de torsión (Nm) 30 0.5 0.4 0.3 0.2 0.1 0 0 1 2 3 4 5 6 7 8 9 10 –0.1 –0.2 –0.3 Tiempo (seg) d) Articulación 4 0.015 0.01 0.005 0 0 1 2 3 4 5 6 7 8 9 10 –0.005 –0.01 –0.015 –0.02 –0.025 Tiempo (seg) f) Articulación 6 Valores de par de torsión en a) articulación 1, b) articulación 2, c) articulación 3, d) articulación 4, e) articulación 5, f ) articulación 6 Las trayectorias generadas para cada articulación se muestran en la igura B.2(a-c). Luego se obtienen los resultados de la dinámica inversa para el PUMA 560, que se encuentran graicados en la igura B.3(a-f ). Las gráicas se generaron mediante el programa MS-Excel. RESUMEN En este apéndice se explica el uso de MATLAB y RIDIM. Esto le ayudará al lector a resolver algunos de los ejemplos y ejercicios que se presentan en los capítulos sobre cinemática y dinámica. Cinemática 357 Apéndice C Proyectos de estudiantes: Estudios de caso En este apéndice se presentan varios estudios de caso con los proyectos de estudiantes, donde están involucrados síntesis, diseño, fabricación y control de brazos y mordazas robóticos, tanto aquellos que se construyeron para participar en concursos de robots, como los que fueron realizados como parte de proyectos de licenciatura y posgrado. Se enfatiza fuertemente el primer conjunto, ya que involucra a todas las fases del ciclo de vida de un producto y, por ende, se presenta en primer lugar. C.1 Robots para ROBOCON ROBOCON, la abreviación de ROBOtic CONtests, es una competencia robótica de estudiantes, organizada cada año por la Asian Broadcasting Union (ABU). A pesar de que era una competencia robótica popular en Japón entre estudiantes de licenciatura, se abrió para otros países asiáticos en 2002. Desde entonces, Doordashan (compañía de televisión de la India) organiza una competencia en la India para seleccionar un equipo representativo de ese país. Normalmente, el campeón de la India representa a su país en las competencias ABURobocon que se llevan a cabo en diferentes países de Asia. Hasta la fecha, Japón (2002), Tailandia (2003), Corea del Sur (2004), China (2005), Malasia (2006) y Vietnam (2007) han albergado el evento. La India presentó la Robocon de 2008 en Pune. Bajo la dirección del autor, equipos del IIT Delhi han participado en el ROBOCON de la India desde 2003. En la siguiente subsección se presentan experiencias de proyectos 358 APÉNDICE C Proyectos de estudiantes: Estudios de caso de ROBOCON. De manera ilustrativa, se menciona que en la competencia de 2007, la ITT Delhi se quedó con el título de campeona de la India. C.1.1 La experiencia de 2007 En esta competencia se permitieron dos tipos de robots. Uno es el “automático”, cuya tarea es transferir bloques desde los bordes exteriores del polígono de 10 lados en el campo de juego, como se muestra en la igura C.1, hasta los vértices del triángulo en el centro. Se trata de robots preprogramados. Por ende, se usa el término “automático”. El otro tipo se llama “manual”, que puede controlarse por medio de una palanca de mando o de un conmutador por parte de un operario. La tarea de este robot es transferir bloques desde las esquinas del campo cuadrado a los bordes del polígono de 10 lados. Cada transferencia exitosa acumula puntos y el juego prosigue. Más que en las reglas exactas, en este libro se hace hincapié en el diseño, la fabricación y los aspectos de programación. Tanto los robots automáticos como los manuales tienen una mordaza para sostener los bloques de aproximadamente 300 mm de diámetro. Es importante sintetizar un mecanismo adecuado que debe sostener los bloques que están hechos de un material suave, sin aplastarlos y sin que se resbalen. El segundo aspecto es la elevación y colocación. Mientras que se usa un arreglo de poleas para el robot automático que se presenta en la igura C.2, se preiere un Figura C.1 El campo de juego de 2007 C.1 Figura C.2 Robot automático de 2007 Robots para Robocon Figura C.3 359 Robot manual de 2007 mecanismo de un paralelogramo de cuatro barras para el robot manual de la igura C.3. Este último puede extenderse casi medio metro enfrente del robot para poder colocar el bloque dentro de la línea de límite del polígono de 10 lados. Una vez terminado el diseño, el siguiente nivel de desafío es su fabricación, ensamble, programación y funcionamiento exitoso. Según la experiencia del autor, normalmente deberán revisarse los siguientes aspectos para completar este tipo de proyecto con éxito: 1. Una planeación correcta, tomando en cuenta las 5 P (Proper Planning Prevents Poor Performance, la planeación correcta impide el desempeño defectuoso). 2. Cada estudiante debe llevar una bitácora de proyecto para registrar actividades diarias, esbozos, informaciones, etcétera. 3. Seguimiento estricto de un diagrama de Gantt bien planeado. Un típico diagrama Gantt se presenta en la igura C.4. En caso de que no pueda cumplirse con las fechas límite, deberán averiguarse las causas y deben tomarse medidas sin redeinición del diagrama de Gantt. De hecho, el calendario actual podrá colocarse debajo del calendario planeado. 4. Es de extrema importancia que los estudiantes aprendan cómo trabajar en grupo. En particular, los coordinadores de diferentes tareas, por ejemplo, mecánico, eléctrico, fabricación, etc., deberán saber cómo distribuir el trabajo entre otros miembros de sus grupos. De lo contrario, ellos terminarán haciendo la mayor parte de los trabajos mientras que otros no tendrán trabajo. Este último grupo podrá frustrarse e incluso abandonar el proyecto. TASK September 1 2 3 4 October 1 2 3 4 November 1 2 3 4 2 December 1 2 3 4 1 January 2 3 0 4 February 1 2 3 7 4 APÉNDICE Minor I, IISemester1 Major Minor ISemester2 Formalisation andPlanning Introduction to First year students Study on Rules Team Making Market Survey Designing Dr. Saha’s Comments Final Design Mechanical Fabrication andRepair Electrical Fabrication andRepair Electrical Installation Game Field Inspection andTesting Packaging and Transport 0 360 2 0 0 6 August 1 2 3 4 C Proyectos de estudiantes: Estudios de caso Figura C.4 Diagrama de Gantt de los participantes en Robocon 2007 (IIT Delhi) C.2 Brazo robótico planar suspendido (HaPRA) 361 5. Por encima de todo, son obligatorios valores como dedicación, sinceridad, honestidad y pensamiento positivo entre los miembros para una participación exitosa donde los robots realmente se muevan y cumplan con sus tareas, más que simplemente ganar el juego. C.2 Brazo robótico planar suspendido (HaPRA) Como parte de dos proyectos de B. Tech, principalmente, se desarrolló el HaPRA de tres grados de libertad. En el primer proyecto (Venugopal y Shabeer, 1996), se consideraba la tarea industrial de levantar objetos cilíndricos, por ejemplo, cabezas de pistón, de un transportador a una máquina y viceversa, como se ilustra en la igura C.5. La coniguración del brazo del robot, junto con sus dimensiones, etc., fue evaluada en este primer proyecto, que fue presentado en un congreso (Venugopal et al., 1997). En el segundo proyecto de B. Tech (Sharma y Ashutosh, 1997), se realizó la fabricación de este brazo. Entonces se hizo hincapié en el aspecto de bajo costo. Puesto que la carga Vista frontal (rendija) a) Objeto cilíndrico (cabeza de pistón) 1 2 3 Sli ttin gM K Tr r do rta a o sp trad an Tr e en d an de spor sa tad lid or a b) Tarea de transferencia Figura C.5 Una tarea industrial de un brazo de robot 362 APÉNDICE C Proyectos de estudiantes: Estudios de caso Figura C.6 Fotografía del HaPRA y su controlador efectiva sólo era de aproximadamente 500 g, se eligieron accionamientos por cadena de fácil disponibilidad, a saber, cadenas de bicicleta. El control completo se logró mediante el uso de motores de pasos y una PC. El brazo se presenta en la igura C.6. El diseño detallado y el trabajo de desarrollo se presentaron en otro congreso (Baghla et al., 1999). C.3 Mordaza para objetos cilíndricos La mordaza fue diseñada en otro proyecto de B. Tech, teniendo en cuenta que lo mismo puede usarse para el HaPRA que se explicó en la sección C.2 (Agarwal y Singh, 2004). Para una gama de formas cilíndricas, la mordaza se sintetiza como un mecanismo de seis barras, como se presenta en la igura C.7a). Su análisis cinemático completo se realizó utilizando la opción de movimiento del software Pro-E. La mordaza fue fabricada y puesta en interfaz con un motor de pasos para demostrar sus capacidades de movimiento, como se muestra en la igura C.7b). El proyecto recibió en el ITT Delhi el premio como mejor proyecto de hardware de B. Tech Padamshri Manmohan Suri para el año de 2004. C.4 Robot de accionamiento directo Este robot de accionamiento directo, como se presenta en la igura C.8, fue desarrollado en dos proyectos M. Tech. En el primero de ellos se realizaron los análisis cinemáticos y C.4 Robot de accionamiento directo 363 a) Dibujo de Pro-E) b) Interfaz de control Figura C.7 Mordaza para objetos cilíndricos dinámicos, y se fabricó el brazo que contiene dos grados de libertad (Barma, 2001). Posteriormente, se agregó un tercer brazo en el marco de otro proyecto M. Tech (Ramvath, 2004), que deberá ser útil para la aplicación real del robot en operaciones para recoger y colocar. La metodología detallada de diseño fue presentada en un congreso nacional (Ramvath et al., 2005). 364 APÉNDICE C Proyectos de estudiantes: Estudios de caso a) Robot de accionamiento directo b) Tercer eje (dibujo de Pro-E) Figura C.8 Brazo de robot de accionamiento directo RESUMEN En este apéndice se presentan varios sistemas robóticos desarrollados en el marco de proyectos de estudiantes. Esto hará que el lector entienda los requerimientos de hardware y software para construir su propio sistema robótico. Referencias 365 Referencias Agarwal, A. y Singh, S., “Design and Manufacturing of Robotic Gripper”. B. Tech Project Report, ME Dept, IIT Delhi, mayo de 2004. Angels, J. Fundamentals of Robotic Mechanical Systems, Springer-Verlag, Nueva York, 2003. Ángeles, J. y Lee, S., “The formulation of dynamical equations of holonomic mechanical systems using a natural orthogonal complement”, ASME J. Appl. Mech., V. 55, marzo de 1988, pp. 243-244. Ascher, U.M., Pai, D.K. y Cloutier, B.P., “Forwad dynamics, elimination methods, and formulation stiffness in robot simulation”, Int. J. Rob. Res., V.16, N. 6, 1997, pp. 749-758. Baghla, D., Anurag, A., Saha, S.K., Sharma, Prasenjit, S. y Mehta, G.R., “Development of a hanging planar robotic arm (HaPRA)”, Proc. Of the 11a. ISME Conf., IIT Delhi, 3-5 de febrero de 1999, pp. 93-98. Barma, D., “Design and Fabrication of a Planar Robot”, diciembre de 2001. Bishop, P.H., The mechatronics Handbook, CRC Press, Nueva York, 2002. Bhangale, P.P., Dynamics Based Modelling, Computational Complexity, and Architecture Selection of Robot Manipulators, Ph. D thesis, IIT Delhi, 2005. Canudas de Wit, C. Siciliano, B., Bastin, G. (Eds.), Theory of Robot Control, Springer-Verlag, Nueva York, 1996. Chaudhary, H. y Saha, S.K., “Constrait wrench formulation for closed-loop systems using two-level recursions”, ASME J. of Mechanical Design, 2006. Chaundhary, H. y Saha, S.K., “Matrix formulation of constraint wrenches for serial manipulators”, CD-Proc. IEEE Int. Conf. on R&A, Barcelona, España, 18-22 de abril de 2005, pp. 4647-4652. 366 Referencias Corke, P.I., Visual Control of Robots: High-performance Visual Servoing, Research Studies, Press Ltd., Somerset, Inglaterra, 1996. Craig, J.J., Introduction to Robotics: Mechanics and Control, Addison-Wesley, Singapore, 1986. Critchlow, R.H., Introduction to Robotics, McMillan Publishing Company, Nueva York, 1985. Cugy, A. y Page, K., Industrial Robot Speciications, Kogan Page, Londres, 1984. Cyril, X., Dynamics of Flexible-Link Manipulators, Ph. D thesis, McGill University, Canadá 1988. Denavit, J. y Hartenberg, R.S., “A kinematic notation for lower-pair mechanisms based on matrices”, ASME J. Appl. Mech., V. 23, 1955, pp. 215-221. Dorf, R.C., International Encyclopedia of Robotics, John Wiley & Sons, Nueva York, 1988. Dorf, R.C., Modern Control Systems, Addison-Wesley, Nueva York, 1992. Fu, K.S., González, R.C. y Lee, C.S.G., Robotics: Control, Sensing, Vision and Intelligence, McGraw-Hill, 1987. Fuller, J.L., Robotics: Introduction, Programming, and Proyect, Prentice Hall, Nueva Jersey. Howards, B. y Erlemeier, T., “Interface design for ofline robot programming with the use of virtual simulation”, www.public.iastate.edu/~terlemei/FinalPaper.pdf, 30 de abril de 2007. Gopal, M., Control Systems-Principles and Design, Tata McGraw-Hill, Nueva Delhi, 1997. Ghosal, A., 2006, Robotics: Fundamental Concepts and Analysis, Oxford University Press, Nueva Delhi, 2006. Histand, M.B. y Alciatare, D.G., Introduction to Mechatronics and Measurement Systems, McGraw-Hill, Nueva Delhi, 1999. Huston, H. y Passarello, C.E., “On constraint equation-A new approach”, ASME J. Appl. Mech., V. 41, 1974, pp.1130-1131. Kane, T.R. y Levinson, D.A., “The use of Kane’s dynamical equations for robotics”, Int. J. Rob. Res., V. 2, N. 3, 1983, pp. 3-21. Khan, W.A., Krovi, V.N., Saha, S.K. y Ángeles, J., “Recursive kinematics and inverse dynamics for a planar 3R parallel manipulator”, ASME J. of Dynamic Systems, Measurement and Control, V. 127, Issue 4, septiembre de 2005, pp. 529-536. Kuo, B.C., Automatic Control Systems, 6a. Ed. Prentice-Hall, Englewood Cliffs, Nueva Jersey, 1991. Klafter, R.D., Chmielewski, T.A. y Negin, M., Robotic Engineering-An Integrated Approach, Prentice-Hall India, Nueva Delhi, 1994. Koivo, A.J., Fundamental for Control of Robotic Manipulators, John Wiley & Sons, Nueva York, 1989. Koren, Y., Robotics for Engineers, McGraw-Hill, Nueva Delhi, 1987. Koteswara Rao, A.B., Saha, S.K. y Rao, P.V.M., “Dynamics modeling of hexaslides using the decoupled natural orthogonal complement matrices”, Int. J. of Multibody System Dynamics, V.15, 2006, pp.159-180. LaSalle, J. y Lefschetz, S., Stability by Liapunov’s Direct Mothod with applications, Academic Press, Nueva York, 1961. Referencias 367 Mair, G.M., Industrial Robotics, Prentice Hall, Nueva York, 1988. Marothiya, P. y Saha, S.K., “Robot inverse kinematics and dynamics algorithms for windows, Recent Trends in Manufacturing”, Proc. Of the Conference on Advances and Recent Trends in Manufacturing, Kalyani Govt. Eng. College, WB, India, Elite Publishing House, Nueva Delhi, 2003, pp. 229-237. Matlab, MATLAB- The Language of Technical Computing, Versión 6.5, lanzamiento 13, 2002. Mittal, R.K. y Nagrath, I.J., Robotics and Control, Tata McGraw-Hill, Nueva Delhi, 2003. Mohan, A. y Saha, S.K., “A computationally eficient and numerically stable simulation algorithm serial robots with lexible links”, CD-Proc. Of the ECCOMAS Thematic Conf. (Multibody Dynamics 2007), Milán, Italia, 25-38, junio de 2007, pp. 1-20. Mohan, A. y Saha, S.K., “A recursive numerically stable, and eficient simulation algorithm for serial robots”, Int. J. of Multibdy System Dynamics, V. 17, N. 4, Mayo de 2007, pp. 291-319. Molone, R., Literature, Robot In, International Encyclopedia of Robotics (Editor a cargo: R.C. Dorf), John Wiley & Sons, Nueva York, 1988, pp. 779-791. Ogata, K., Modern Control Engineering, Prentice-Hall of India, Nueva Delhi, 1987. Onwubolu, G.C., Mechatronics-Principles and Applications, Elsevier, Nueva York, 2005. Pratap, R., MATLAB 6: A Quick Introduction for Scientists and Engineers, Oxford University Press, Nueva York, 2002. Ramavath, P., “Design and Analysis of a Parallel Drive Robot”, M. Tech Projects Report, ME Dept., IIT Delhi, mayo de 2004. Ramavath, P., Barma, D., Saha, S. K., Seth, B. y Jaitly, D., “Development of a direct-drive based tree-DOF robot”, Nat. Conf. on Industrial Problems on Mechines and Mechanisms, IIT Kharagpur, 24-25, febrero de 2005, pp. 67-74. Saha, S.K., “Dynamic simulation of serial manipulators using the UDUT decomposition of the inertia matrix”, Int. J. of Multibody System Dynamics, V. 9, N.1, febrero de 2003, pp. 63-85. Saha, S.K., “Dynamic modelling of serial multi-body systems using the decoupled natural orthogonal complement matrices”, ASME J. of Applied Mechanics, V. 66, diciembre de 1999, pp. 986-996. Saha, S.K., “A decomposition of the manipulator inertia matrix”, IEEE On Robotics and Automation, V. 13, N. 2, abril 1997, pp. 301-304. Saha, S.K., “Inverse dynamics algorithm for space robots”, The ASME J. of Dynamic Systems, Measurment and Control, V. 118, septiembre 1996, pp. 625-629. Saha, S.K. y Schiehlen, W.O., “Recursive kinematics and dynamics for closed loop multibody systems”, Int. J. of Mechanics of Structures and Machines, V. 29, N. 2, agosto de 2001, pp. 143-175. Saha, S.K. y Ángeles, J., “Dynamics of nonholonomic mechanical systems using a natural orthogonal complement”, ASME J. Appl. Mech., V. 58, marzo de 1991, pp. 238-243. Sciavicco, L. y Siciliano, B., Modelling and Control of Robot Manipulator, Springer-Verlag, Londres, 2000. Shabana, A.A., Computational Dynamics, John Wiley & Sons, Inc., Nueva York, 1994. Shampine, L.F., Numerical Solution of Ordinary Differential Equations, Chapman and Hill, Nueva York, 1994. 368 Referencias Sharma, P. y Ashutosh Kumar, Design of an Industrial Robot, B. Tech Project Report, ME Dept., IIT Delhi, mayo de 1997. Smith, S.D., “Art Robotic”, International Encyclopedia of Robotics, John Wiley & Sons, Nueva York, 1988, pp. 81-87. Spong, M. W., Hutchison, S. y Vidyasagar, M., 2006, Robot Modeling and Control, Wiley India, Nueva Delhi, 2006. Stewart, G.E., Introduction to Matrix Computations, Academic Press, Inc., Nueva York, 1973. Strang, G., Linear Algebra and Its Applications, Harcourt Brace Jovanovich, Publishers, Orlando, Florida, 1995. Stadler, W., Analytical Robotics and Mechatronics, McGraw-Hill, Nueva Delhi, 1995. Todd, T.J., Walking Machines, Kogan Page, Londres, 1985. Tsai, L., Robot Analysis: The Mechanics of Serial and Parallel Manipulators, John Wiley & Sons, Nueva York, 1999. Spong, M.W., Hutchison, S. y Vidyasagar, M., 2006, Robot Modeling and Control, Wiley India, Nueva Delhi, 2006. Venugopal, S. y Shabeer, S., Simulation and Animation for Robot Design, ME Dept., IIT Madras, mayo 1996. Venugopal, S. y Saha, S.K., “Interactive design for industrial robots”, Proc. Of the AIMTDR Conf., Warangal, 9-11 de enero de 1997, pp. 201-205. Walker, M.W. y Orin, D.E., “Eficient dynamic computer simulation of robotic mechanisms”, ESME J. Dyn. Sys., Meas. And Cont., V. 104, septiembre de 1982, pp. 205-211. Yoshikawa, T., Foundation of Robotics, The MIT Press, Massachusetts, 1990. Índice analítico Índice analítico Símbolos (ADC), 21 (DAC), 22 (DH) parámetros, 100 (DOF), 76 (ISO), 5 A Aceleración angular, 188 Aceleración lineal, 189 Actuador, 18 Adquisición de imágenes, 68 AGV, 6 Algoritmo recursivo de Newton-Euler, 186 Algoritmos de dinámica, 195 Ampliicador, 23 Análisis de aceleración, 143 de posición inversa, 121 de velocidad, 130 Ángulos de Euler, 89 Arquitectura, 76 Articulación cilíndrica, 78 de par superior, 77 de par inferior, 77 esférica, 78 helicoidal, 77 planar, 79 prismática, 77, 134 revoluta, 77, 134 “universal”, 79 Articulaciones, 76 Articulado, 26 “atan2”, 123, 338 B Brazo articulado, 126, 136 Brazo planar de tres eslabones, 122 C Cadena cinemática, 79 Cálculo recursivo, 149 Capacitivo, 63 Cartesiano, 24 Centro de masa, 164 Cilíndrico, 25 Cinemática, 112 directa, 112 inversa, 112, 122 369 370 Índice analítico Clasiicación, 24 de sensores, 52 Computación directa, 186 Computación regresiva, 189 Control, 29 Coordenadas generalizadas, 172 Coseno de dirección, 85 D DeNOC, 138 Deslizamiento, 48 Desplazamiento virtual, 157 Detector de deformación, 61 Dinámica, 163, 205 directa, 198 directa recursiva, 229 inversa, 195 inversa recursiva, 221 I Imán permanente, 40, 44 Independencia lineal, 342 Inducción, 47 Inductivo, 63 “Inferior”, 77 Interruptor de límite, 62 Inverso, 343 J Jacobiano, 130, 134, 157 L Leyes de robótica, 2 LVDT, 56 M Formulación Newton-Euler, 181 Fuerza generalizada, 216 Función de transferencia, 344 Manipulador, 17 MATLAB, 346 Matriz de inercia convectiva (MCI), 213 de inercia generalizada (GIM), 211 de producto cruz, 341 de propagación de torsión, 209 jacobiana, 141 Mecanismos, 21 Modelado dinámico, 206 Momento, 147 angular, 182 de inercia, 166 lineal, 181 Momentos principales de inercia, 168 Monofase, 47 Motores CA, 46 CD, 42 de paso, 39 síncronos, 48 Muñeca, 129 G N Gantry, 27 Grado de libertad, 80 Neumático, 32, 33 Newton-Euler (NE), 206 H O HaPRA, 361 Híbrido, 41 Hidráulico, 32, 36 Ofline, 30 Online, 30 Orientación, 85 E Economía, 10 Ecuaciones de movimiento, 176, 183, 210 Efector inal, 18 Eléctrico, 33, 38 Elipsoide de fuerza, 161 Encóder, 53 Energía cinética, 173 Energía potencial, 176 Engranajes, 20 Escalar, 340 Escribir las ecuaciones de Newton y Euler, 164 Esférico, 26 Eslabones, 76 Estática, 146 Euler-Lagrange (EL), 172, 206 F Índice analítico P Par de torsión o fuerza de articulación, 190 Pares cinemáticos, 77 Población, 10 Polar, 26 Polifase, 47 Postura, 83 Potenciómetro, 56 Producto cruz, 340 Propagación de velocidad de articulación, 209 Proximidad, 53 PUMA, 138 Sin escobillas, 45 Sincros, 58 Singularidad, 141 Sistema de visión, 66 Sistemas de DH, 105 Sistemas de resolución, 58 Solución algebraica, 122 Solución geométrica, 124 Subsistema(s), 14 de control, 17 de movimiento, 16 de reconocimiento, 16 R T Reluctancia variable, 40 Repercusión negativa, 37 Restricciones cinemáticas, 208 RIDIM, 222, 349 Robocon, 357 Robot PUMA, 137 Robots caminantes, 7 Robots paralelos, 7 S SCARA, 28 Seguridad, 11 Selección de motores, 49 Selección de sensores, 72 Sensor de desplazamiento de semiconductor, 65 de efecto Hall, 59 de proximidad, 63 piezoeléctrico, 62 Sensores, 21, 52 de aceleración, 60 de fuerza, 61 de posición, 53 de velocidad, 59 Simulación, 198, 229, 232 371 Tacómetro, 59 Tacto, 52 Tensor de inercia, 166 Teorema de ejes paralelos, 167 Teorema de ejes perpendiculares, 167 Términos de vectores de inercia convectiva (VCI), 215 Trabajo virtual, 157 Transformación homogénea, 94 Transformaciones, 76 Transmisión, 20 Trifásico, 48 U UNIMATION, 2 Uso de robots, 8 V Valores propios, 343 Vectores, 339, 340 propios, 343 unitarios, 339 Velocidad angular, 187 Velocidad lineal, 188 Visión, 53 Director Higher Education: Miguel Ángel Toledo Castellanos Editor sponsor: Pablo Roig Vázquez Coordinadora editorial: Marcela Rocha Martínez Editora de desarrollo: Karen Estrada Arriaga Supervisor de producción: Zeferino García García Diseño de portada: María Josefa Vaca García Traducción: Dr. Thomas W. Bartenbach INTRODUCCIÓN A LA ROBÓTICA Prohibida la reproducción total o parcial de esta obra, por cualquier medio, sin la autorización escrita del editor. DERECHOS RESERVADOS © 2010, respecto a la primera edición en español por McGRAW-HILL/INTERAMERICANA EDITORES, S.A. DE C.V. A Subsidiary of The McGraw-Hill Companies, Inc. Prolongación Paseo de la Reforma 1015, Torre A Pisos 16 y 17, Colonia Desarrollo Santa Fe, Delegación Álvaro Obregón C.P. 01376, México, D.F. Miembro de la Cámara Nacional de la Industria Editorial Mexicana, Reg. Núm. 736 ISBN 13: 978-607-15-0313-8 Copyright © 2008 de la primera edición en inglés de Introduction to robotics, by Subir Kumar Saha, published by Tata McGraw-Hill Education Private Limited, NOIDA, India. ISBN: 978-0-07-066900-0 All rights reserved 1234567890 109876543210 Impreso en México Printed in Mexico