Jesus Vidal Gil

325

Click here to load reader

Transcript of Jesus Vidal Gil

  • DEPARTAMENTO DE INGENIERA MECNICA Y FABRICACIN

    ESCUELA TCNICA SUPERIOR DE INGENIEROS INDUSTRIALES

    UN MTODO GENERAL, SENCILLO Y EFICIENTE, PARA LA DEFINICIN Y SIMULACIN

    NUMRICA DE SISTEMAS MULTICUERPO

    Realizada por

    JESS VIDAL GIL

    Ingeniero Industrial Escuela Tcnica Superior de Ingenieros Industriales

    Universidad Politcnica de Madrid

    Director de Tesis: D. Javier Garca de Jaln de la Fuente

    Dr. Ingeniero Industrial

    Catedrtico de Matemtica Aplicada Escuela Tcnica Superior de Ingenieros Industriales

    Universidad Politcnica de Madrid

    2006

  • i

    A mis padres Juan y Carmen

    y a mis hermanos Loli, Juan, Carmen, Rafa y Ftima

  • ii

    Agradecimientos Antes de entregar este documento, y una vez finalizado el trabajo de redaccin, llega el momento de expresar mi agradecimiento a todas las personas que me han ayudado y han contribuido, de alguna forma, en la realizacin de esta Te-sis.

    En primer lugar, debo agradecer a mi director de Tesis Javier Garca de Jaln todo el tiempo que me ha dedicado durante estos cuatro aos que hemos traba-jado juntos. Ha tenido que tener mucha paciencia conmigo, porque cuando empec la Tesis no conoca nada del mundo de la simulacin de sistemas mul-ticuerpo y, a pesar de ser una persona con muchas obligaciones, siempre ha sacado tiempo para resolver todas mis dudas. Adems, su contribucin en esta Tesis ha ido mucho ms de sus explicaciones de cuestiones de simulacin. Ja-vier ha aportado una multitud de ideas y de iniciativas que han llegado a abru-mar al autor de esta Tesis y que han sido decisivas tanto en el contenido como en la forma final del trabajo.

    Un recuerdo especial para Carlos Vera (q.e.p.d.) que fue mi tutor en los cursos de doctorado y que siempre me atendi con gran cario.

    Tambin quiero agradecer a Patxi Funes los valiosos consejos que me dio, que me ayudaron a concretar algunos aspectos de MechXML. Espero que pueda defender su Tesis dentro de poco.

    No me puedo olvidar de Enrique lvarez con quien trabaj, codo con codo, en el desarrollo de mbs3d. Desde que dej la universidad para trabajar en la em-presa privada he echado mucho de menos sus bromas y su simpata.

    A lo largo de estos aos he compartido despacho con varias personas. Merece una mencin especial Miguel del Valle porque estuvimos trabajando juntos en el programa de C++ y su colaboracin ha sido fundamental en esta Tesis. No me olvido de otros que con su compaa han hecho ms agradables las jornadas de trabajo: Asis, Beatriz, Kike, Victor, Jaime o Juan Luis.

    Tambin quiero aprovechar la oportunidad para recordar mi etapa de ingeniero automtico. Merece un especial agradecimiento Miguel Hernando por toda su ayuda cuando hice el proyecto fin de carrera y por sus consejos cuando empec el doctorado. Tambin Diego Rodrguez Losada me ayud en mis comienzos como investigador, aunque hayamos seguido caminos diversos. Tambin quie-ro agradecer a Jaime del Cerro y a Antonio Barrientos que me dirigieron en el proyecto fin de carrera y se han portado siempre muy bien conmigo, aunque les di el disgusto de no quedarme a hacer la Tesis en su Departamento.

  • iii

    Muchas gracias a los profesores Manuel lvarez, Jos Gaspar Gonzlez Mon-tiel y Luis Casass del Departamento de Matemtica Aplicada a la Ingeniera Industrial, que me prestaron su ayuda siempre que la necesit.

    Un agradecimiento especial a mi gran amigo el profesor Manuel Luna, que es ingeniero, mdico, economista y poeta. Espero que sus libros vean pronto la luz.

    Tambin debo expresar mi agradecimiento a la empresa MSC.Software, que me han permitido trabajar de forma gratuita con el programa MSC.Adams en esta Tesis. Agradezco, de forma especial, a Mnica Arroyo, que fue la persona de MSC.Software que me atendi desde el principio, porque siempre resolvi mis problemas con rapidez y eficacia.

    Muchas gracias, tambin a todas las personas del C. M. Castilla, del C. U. Fon-tal y Portazgo, que han aguantado heroicamente que les hablase de la Tesis.

    Por ltimo, un agradecimiento muy especial a mis padres y a mis hermanos que han sido para m un gran apoyo durante todos estos aos. Sin ellos no hubiera sido posible.

  • iv

    Tabla de contenidos Captulo 0: Resumen ________________________________________________________1 Captulo 1: Introduccin _____________________________________________________5

    1.1 La simulacin de sistemas multicuerpo ___________________________________5 1.1.1 Consideraciones histricas sobre el anlisis dinmico de sistemas

    multicuerpo con elementos rgidos _________________________________7 1.1.1.1 Ecuaciones diferenciales del movimiento_____________________7 1.1.1.2 Nuevas aplicaciones industriales: robtica, espacio y

    automocin ____________________________________________8 1.2 Las coordenadas naturales ____________________________________________11 1.3 Introduccin a MechXML ____________________________________________13

    1.3.1 Estado del arte en el desarrollo de lenguajes de definicin de mecanismos__________________________________________________15

    1.4 Estimacin de parmetros ____________________________________________18 1.4.1 Aplicaciones del filtro de Kalman ________________________________19 1.4.2 Estado del arte en la estimacin de parmetros ______________________20

    1.5 Objetivos de esta Tesis_______________________________________________21 Captulo 2: Simulacin Dinmica de Mecanismos: Mtodos Globales y Topolgicos_____25

    2.1 Objetivos de la simulacin dinmica de mecanismos _______________________25 2.2 Integracin numrica de las ecuaciones del movimiento _____________________26

    2.2.1 Problemas stiff y no-stiff _______________________________________26 2.2.2 Integradores de librera _________________________________________28

    2.2.2.1 Integradores explcitos __________________________________30 2.2.2.2 Integradores implcitos __________________________________31

    2.3 Tipos de coordenadas y ecuaciones diferenciales del movimiento _____________34 2.4 Mtodos globales ___________________________________________________35

    2.4.1 Formulacin dinmica basada en coordenadas dependientes y multiplicadores de Lagrange_____________________________________38

    2.4.2 Formulacin dinmica en coordenadas dependientes con la matriz R _____39 2.4.3 Necesidad de estabilizar la integracin de las ecuaciones de restriccin ___41

    2.4.3.1 Mtodo de estabilizacin de Baumgarte _____________________42 2.4.3.2 Mtodos de proyeccin de posiciones, velocidades y

    aceleraciones__________________________________________42 2.4.3.3 Mtodo de la imposicin peridica de las ecuaciones de

    restriccin ____________________________________________45 2.4.3.4 Integracin de sistemas de ecuaciones algebraico-

    diferenciales de index-2 _________________________________45 2.4.4 Formulacin dinmica en coordenadas dependientes con

    penalizadores ________________________________________________46 2.4.5 Algunos mtodos globales especialmente eficientes __________________48

    2.4.5.1 Mtodo global de Bayo y Cuadrado basado en penalizadores, mtodos de proyeccin y la regla trapezoidal_________________48

    2.4.5.2 Mtodo de von Schwerin ________________________________51 2.4.6 Formulacin dinmica basada en coordenadas independientes y

    particin de coordenadas________________________________________56

  • v

    2.4.7 Formulacin dinmica basada en coordenadas independientes y proyeccin de velocidades ______________________________________58

    2.4.8 Mtodos basados en las ecuaciones cannicas de Hamilton_____________62 2.4.8.1 Algoritmo con ecuaciones cannicas y coordenadas

    dependientes __________________________________________63 2.4.8.2 Algoritmo con ecuaciones cannicas y coordenadas

    independientes ________________________________________64 2.4.9 Valoracin general de los mtodos globales_________________________65

    2.5 Mtodos topolgicos recursivos y semi-recursivos _________________________66 2.5.1 Sistemas de cadena abierta ______________________________________67

    2.5.1.1 Mtodo de la inercia articulada____________________________67 2.5.1.2 Mtodos semi-recursivos ________________________________75 2.5.1.3 Influencia de la numeracin en los mtodos semirecursivos _____81 2.5.1.4 Valoracin general de los mtodos topolgicos para sistemas

    de cadena abierta_______________________________________82 2.5.2 Sistemas de cadena cerrada______________________________________83

    2.5.2.1 Mtodos completamente recursivos ________________________84 2.5.2.2 Eliminacin de elementos rod ____________________________86 2.5.2.3 Mtodos semi-recursivos: apertura de lazos cerrados___________95 2.5.2.4 Mtodo semi-recursivo de Cuadrado y Dopico ______________103 2.5.2.5 Valoracin general de los mtodos topolgicos para sistemas

    de cadena cerrada _____________________________________104 2.5.3 Mtodo semi-recursivo de Bae __________________________________105

    2.5.3.1 Relacin recursiva para velocidades_______________________107 2.5.3.2 Relacin recursiva para fuerzas __________________________112 2.5.3.3 Ecuaciones diferenciales del movimiento con integradores

    implcitos ___________________________________________116 Captulo 3: MechXML: Un lenguaje basado en XML para la definicin de sistemas

    multicuerpo___________________________________________________________119 3.1 Introduccin a XML________________________________________________119 3.2 Introduccin a XML Schema _________________________________________121

    3.2.1 XML Parsers________________________________________________124 3.2.2 Validacin de ficheros ________________________________________125 3.2.3 Otras herramientas de utilidad __________________________________125

    3.3 Descripcin de MechXML___________________________________________127 3.3.1 Un ejemplo sencillo definido con MechXML ______________________127 3.3.2 Estructura de MechXML ______________________________________130 3.3.3 Definicin de "modelo" _______________________________________132

    3.3.3.1 Geometra de los slidos________________________________133 3.3.3.2 El elemento fijo_______________________________________134 3.3.3.3 Slidos rgidos _______________________________________134 3.3.3.4 Pares cinemticos _____________________________________136 3.3.3.5 Resortes ____________________________________________138 3.3.3.6 Tablas ______________________________________________139 3.3.3.7 Restricciones de usuario ________________________________140

    3.3.4 Definicin de anlisis _________________________________________142 3.3.4.1 Anlisis cinemticos ___________________________________142

    3.3.4.1.1 Problema de posicin inicial ____________________143 3.3.4.1.2 Anlisis de velocidades ________________________144

  • vi

    3.3.4.1.3 Anlisis de aceleraciones _______________________145 3.3.4.1.4 Problema de desplazamientos finitos______________146

    3.3.4.2 Anlisis dinmicos ____________________________________147 3.3.4.2.1 Definicin de fuerzas y momentos exteriores _______147 3.3.4.2.2 Resultados de los anlisis dinmicos (output) _______149 3.3.4.2.3 Problema de posicin de equilibrio esttico_________149 3.3.4.2.4 Dinmica directa _____________________________149 3.3.4.2.5 Dinmica linealizada __________________________152 3.3.4.2.6 Dinmica inversa _____________________________152

    3.3.4.3 Coordenadas guiadas (motion) ___________________________153 3.3.4.4 Salidas de la simulacin (output) _________________________155

    3.3.5 Definicin de mtodo _________________________________________155 3.3.5.1 Introduccin de un mtodo propio ________________________156

    3.3.6 Expresiones matemticas ______________________________________158 3.3.7 Funciones de usuario _________________________________________159

    3.3.7.1 Dificultades encontradas en la definicin de las funciones de usuario _____________________________________________159

    3.3.7.2 Soluciones adoptadas en MechXML ______________________162 3.3.7.3 Funciones de usuario en MechXML_______________________162

    3.3.8 Acceso a las variables internas de un modelo_______________________166 3.3.8.1 Funciones relacionadas con la posicin ____________________166 3.3.8.2 Funciones relacionadas con la velocidad lineal ______________166 3.3.8.3 Funciones relacionadas con la orientacin __________________167 3.3.8.4 Funciones relacionadas con la velocidad angular _____________167

    3.3.9 Definicin der sistemas de control en MechXML ___________________168 3.3.9.1 Un ejemplo de control en MechXML______________________169 3.3.9.2 Bloques de control ____________________________________172

    3.3.9.2.1 Elemento inputSignal__________________________172 3.3.9.2.2 Elemento inputConstantSignal___________________173 3.3.9.2.3 Elemento inputStepSignal ______________________173 3.3.9.2.4 Elemento inputRampSignal _____________________173 3.3.9.2.5 Elemento inputSineWaveSignal _________________173 3.3.9.2.6 Elemento sum _______________________________174 3.3.9.2.7 Elemento gain _______________________________174 3.3.9.2.8 Elemento PID________________________________174 3.3.9.2.9 Elemento saturation ___________________________174 3.3.9.2.10 Elemento deadZone ___________________________175 3.3.9.2.11 Elementos Integrator y derivative ________________175 3.3.9.2.12 Elemento LaplaceTransferFunction_______________176 3.3.9.2.13 Elemento StateSpace __________________________177

    3.3.9.3 Llamadas a los bloques de control en las fuerzas y momentos exteriores ___________________________________________177

    3.3.10 Unidades de medida __________________________________________178 3.4 Ejemplo de un modelo completo de coche en MechXML ___________________179

    3.4.1 Modelo en MechXML de la suspensin delantera ___________________184 3.4.2 Modelo en MechXML de la suspensin trasera _____________________188 3.4.3 Modelo en MechXML de la direccin ____________________________192 3.4.4 Definicin del "anlisis" del sistema _____________________________193 3.4.5 Definicin del "mtodo" del sistema _____________________________198

  • vii

    3.5 Realizacin de parsers ______________________________________________199 3.5.1 De MechXML a otras aplicaciones_______________________________199 3.5.2 De MechXML a MSC.Adams __________________________________200

    3.5.2.1 Parser de las funciones de usuario de MechXML a MSC.Adams _________________________________________201 3.5.2.1.1 Ejemplo con el cdigo fuente de la funcin de

    usuario _____________________________________201 3.5.2.1.2 Ejemplo con el cdigo compilado de la funcin de

    usuario _____________________________________204 3.5.3 De MechXML a mbs3d________________________________________206

    3.5.3.1 Parser a mbs3dCpp ____________________________________209 3.5.3.2 Parser de las funciones de usuario a mbs3d _________________211

    3.5.3.2.1 Parser de las funciones de usuario a mbs3dCpp______214 3.5.4 De MechXML a SimMechanics _________________________________214

    3.5.4.1 Parser de las funciones de usuario a SimMechanics___________216 3.5.5 De otras aplicaciones a MechXML_______________________________218

    3.5.5.1 De MSC.Adams a MechXML ___________________________219 3.5.5.2 Parser de las funciones de usuario de MSC.Adams a

    MechXML __________________________________________221 Captulo 4: Estimacin de parmetros mediante el filtro de Kalman _________________225

    4.1 Introduccin al filtro de Kalman ______________________________________225 4.2 Filtro de Kalman discreto____________________________________________226

    4.2.1 El algoritmo del filtro de Kalman discreto _________________________233 4.2.2 Parmetros y condiciones iniciales del filtro _______________________234 4.2.3 Filtro de Kalman discreto extendido (EKF) ________________________235

    4.3 Filtro de Kalman continuo ___________________________________________237 4.3.1 Filtro de Kalman continuo extendido (EKF) _______________________239 4.3.2 Jacobiano analtico aproximado de F y H__________________________240

    4.4 Descripcin de la estimacin de parmetros mediante el filtro de Kalman ______243 4.4.1 Ejemplo de la estimacin de parmetros con un modelo longitudinal

    de un vehculo_______________________________________________246 4.4.1.1 Estimacin de la masa del coche _________________________254 4.4.1.2 Estimacin de la masa de las ruedas _______________________255 4.4.1.3 Estimacin de la posicin del centro de gravedad ____________255 4.4.1.4 Estimacin del momento de inercia de las ruedas ____________257 4.4.1.5 Estimacin de los parmetros de las suspensiones ____________258

    4.4.1.5.1 Estimacin de la rigidez de las suspensiones delantera y trasera ____________________________258

    4.4.1.5.2 Estimacin de las caracractersticas de los amortiguadores delantero y trasero. _______________260

    4.4.1.6 Estimacin de la rigidez de los neumticos _________________261 Captulo 5: Resultados ____________________________________________________263

    5.1 Pndulo simple____________________________________________________263 5.2 Cuadriltero articulado______________________________________________264 5.3 Mecanismo de Bricard ______________________________________________265 5.4 Suspensin de 5 puntos _____________________________________________267 5.5 Vehculo completo _________________________________________________268 5.6 Estimacin de la masa del chasis del vehculo____________________________270

  • viii

    Captulo 6: Conclusiones __________________________________________________277 6.1 Mtodo recursivo para el anlisis de sistemas multicuerpo: _________________277 6.2 Lenguaje MechXML _______________________________________________277 6.3 Estimacin de parmetros con el filtro de Kalman ________________________279

    Captulo 7: Lneas futuras de investigacin ____________________________________281 Captulo 8: Anexo A ______________________________________________________285

    8.1 Frmulas para la cinemtica recursiva __________________________________285 8.1.1 Introduccin ________________________________________________285 8.1.2 Par de revolucin R___________________________________________286 8.1.3 Par prismtico P _____________________________________________288

    Captulo 9: Anexo B ______________________________________________________290 9.1 Clculo recursivo de los diversos trminos de la formulacin semirecursiva de Bae290

    9.1.1 Frmulas que proceden de la expresin =X Bx ___________________291 9.1.2 Frmulas que proceden de la expresin T=g B G __________________295

    Captulo 10: Anexo C ______________________________________________________297 10.1 Formato del fichero de datos de MSC.Adams ____________________________297 10.2 Construccin de las libreras dinmicas en MSC.Adams____________________298

    Captulo 11: Bibliografa____________________________________________________299

  • 1

    Captulo 0: Resumen En esta Tesis se consideran y se realizan aportaciones entres campos diferentes, aunque estrechamente relacionados con la simulacin de sistemas multicuerpo. Buscando un denominador comn que agrupe y mantenga en relacin esos tres campos, pordra decirse que en esta Tesis se aborda el problema de la mejora de la eficiencia en la simulacin dinmica de los sistemas multicuerpo 3-D, y esto desde una triple perspectiva:

    1. Eficiencia numrica en la integracin de las ecuaciones diferenciales del movimiento, considerando sistemas de mediano y gran tamao, que desean simularse de modo interactivo e incluso en tiempo real.

    2. Eficiencia en el tiempo de los ingenieros que utilizan y/o desarrollan este tipo de programas, de modo que puedan realizar esta labor con seguridad en el tiempo ms breve posible. En este apartado se considera tanto la tarea de preparacin de los ficheros de datos, como la propia estimacin de los datos en los casos en que esta tarea sea necesaria.

    3. Eficiencia en la tarea profesional de equipos o grupos de ingenieros que tienen en ocasiones grandes dificultades para mantener utilizables sus ar-chivos histricos, pues es frecuente que casos estudiados hace unos pocos aos estn definidos en ficheros de datos que ya no son utilizables en las nuevas versiones del programa, o en otros programas alternativos. Con fre-cuencia sucede, mucho ms en los departamentos universitarios que en las empresas, que el trabajo realizado hace algunos aos ha llegado a ser casi totalmente irrecuperable, y hay que dedicar mucho tiempo para lograr su reutilizacin.

    Los tres aspectos citados de mejora de la eficiencia de personas individuales o equipos de trabajo son abordados en esta Tesis, en lo que respecta a la simula-cin dinmica de sistemas multicuerpo.

    Para la mejora de la eficiencia de la ejecucin de los programas de simulacin se ha partido de la Tesis de J. I. Rodrguez [6], presentado en el ao 2000 en la ETSII de San Sebastin, y dirigida por el Prof. Garca de Jaln. La formulacin semirrecursiva presentada en dicha Tesis ha sido mejorada en muchos aspec-tos, adems de darle la generalidad y la fiabilidad que los primeros prototipos no suelen tener.

    En el marco de esta Tesis se ha desarrollado un programa en Matlab, denomi-nado mbs3d, que implementa los mismos algoritmos que la versin de C++.

  • Captulo 0: Resumen

    2

    Como Matlab es un entorno mucho ms amigable y dispone de funciones ma-triciales de alto nivel, el desarrollo de mbs3d ha sido muy rpido y en l se han podido introducir comprobaciones (como el balance energtico de las simula-ciones) que luego han permitido avanzar ms rpidamente y con ms seguridad en la versin de C++, rebautizada en esta Tesis como mbs3dCpp. Entre las no-vedades introducidas se puede citar la introduccin de nuevos integradores como la regla trapezoidal con correccin de velocidades y aceleraciones, la introduccin del movimiento guiado en algunos elementos del sistema, una renumeracin de los elementos del mecanismo que permite resolver los siste-mas de ecuaciones finales mucho ms eficientemente, y principalmente la introduccin del control.

    Adems en esta Tesis se ha realizado la definicin y completa implementacin de MechXML, un lenguaje general basado en XML para la definicin de sis-temas multicuerpo. Los ficheros de datos basados en este lenguaje son fciles de leer e interpretar, tanto para personas como para ordenadores. Los elemen-tos del lenguaje estn basados en conceptos fsicos, independientes de la for-mulacin matemtica y del programa de ordenador con los que se realizar el anlisis. Adems, son adaptables a las peculiaridades de un programa o formu-lacin, cuando stos as lo requieren. Con MechXML los mismos ficheros de datos se pueden ejecutar con programas tan diversos como MSC.Adams, Sim-Mechanics, mbs3d y mbs3dCpp, permitiendo comprobar resultados y realizar comparaciones. El trabajo necesario para realizar traductores de MechXML a stos y a otros programas es relativamente sencillo, dadas las muchas herra-mientas, gratuitas y de gran calidad, existentes para tratar ficheros basados en XML.

    Uno de los problemas resueltos que ha presentado mayores dificultades ha sido el desarrollo de una forma "neutra" de definir las funciones de usuario, que es el aspecto en el que las aplicaciones reales ms suelen diferir. Algo parecido podra decirse de la definicin neutra y estndar de los sistemas de control.

    Con MechXML aumenta la eficiencia del trabajo de los individuos y de los grupos, por las facilidades que ofrece para emigrar a otras aplicaciones y apro-vechar los trabajos anteriores.

    Finalmente, en esta Tesis se ha desarrollado una metodologa para la estima-cin de parmetros en sistemas multicuerpo basados en los filtros de Kalman extendidos. Aunque esta metodologa se halla a un nivel experimental y de prototipo, abre grandes perspectivas para estimar parmetros difciles de medir directamente y de los que los fabricantes apenas proporcionan informacin.

  • Captulo 0: Resumen

    3

    El filtro de Kalman tiene dos caractersticas principales que explican el xito que ha tenido dentro de la ingeniera de control. En primer lugar, es un mtodo robusto frente al ruido en las medidas y las imperfecciones en el modelado. En segundo lugar, las estimaciones del filtro de Kalman son estadsticamente p-timas con respecto a cualquier funcin cuadrtica de estimacin. Adems, es un algoritmo eficiente y sencillo de implementar, ya que es recursivo y no re-quiere almacenar y volver a procesar los datos de pasos anteriores.

  • 5

    Captulo 1: Introduccin 1.1 La simulacin de sistemas multicuerpo En el contexto de esta Tesis se llama "sistema multicuerpo" a un sistema fun-damentalmente mecnico formado por varios slidos rgidos, parcialmente unidos entre s mediante pares cinemticos. Los "pares cinemticos" son unio-nes imperfectas entre slidos, que permiten algunos grados de libertad y res-tringen otros. Por extensin, en esta Tesis se considerarn tambin pares cine-mticos el "par libre" o "par flotante", que no restringe ningn grado de liber-tad, y el "par fijo", que restringe los seis grados de libertad de movimiento rela-tivo. Ni uno ni otro son verdaderos pares cinemticos, pero el algunas situacio-nes prcticas es til considerarlos como tales.

    El concepto que se acaba de exponer de "sistema multicuerpo" es muy similar a una cierta clase de "mecanismo". De hecho as es, aunque el concepto de me-canismo es algo ms general y se utiliza para designar casi a cualquier tipo de sistema mecnico con elementos mviles, como un engranaje o una leva. Los sistemas multicuerpo se corresponderan ms bien con lo que se podra llamar "mecanismos de barras articuladas", tambin conocidos como "linkages" en la literatura en ingls. Aunque, como se dir ms adelante, los fundamentos del anlisis de sistemas multicuerpo se remontan a varios siglos atrs, su origen como una parte especfica de la Mecnica se puede establecer en 1977, en el Congreso sobre "Dynamics of Multibody Systems" organizado por K. Magnus en Berln [1], bajo el patrocinio de la IUTAM (International Union of Theore-tical and Applied Mechanics). A lo largo de esta Tesis se utilizar en ocasiones la palabra "mecanismo" como sinnimo de "sistema multicuerpo", es decir, aceptando un sentido ms restringido.

    La simulacin cinemtica y dinmica de sistemas multicuerpo es una parte de lo que se ha dado en llamar mecnica computacional (en ingls, "computatio-nal mechanics"). Aunque la aplicacin del mtodo de los elementos finitos (MEF) a problemas de medios continuos en Ingeniera Mecnica es una parte mucho ms amplia, que ha recibido mayor atencin en congresos y revistas internacionales, la simulacin cinemtica y dinmica de sistemas multicuerpo tiene sus propios problemas tericos, numricos e informticos.

    Los problemas de sistemas multicuerpo suelen implicar grandes desplazamien-tos, con importantes cambios en la geometra a lo largo del movimiento. Suelen ser asimismo fuertemente no lineales y presentar discontinuidades originadas, adems de por los citados cambios en la geometra, por las fuerzas exteriores

  • Captulo 1: Introduccin

    6

    aplicadas, por choques o impactos con el entorno, por rozamientos de distinta naturaleza, por la presencia de posiciones singulares, etc.

    En general, la simulacin de sistemas mecnicos complejos (vehculos, satli-tes artificiales, maquinaria de obras pblicas, etc.) conlleva problemas numri-cos largos y difciles de resolver, por lo que es muy importante disponer de mtodos matemticos que sean a la vez robustos y muy eficientes. En la simu-lacin de sistemas multicuerpo es ms importante la interactividad e incluso el tiempo real que en los clculos de elementos finitos, que casi siempre se ejecu-tan en "batch" (por lotes). La razn est en que para comprender los movimien-tos de gran amplitud tpicos de los sistemas de multicuerpo es con frecuencia fundamental utilizar una escala de tiempos lo ms parecida a la real.

    En el primer nmero de la revista Multibody System Dynamics, publicado en enero de 1997, los profesores Schiehlen [2] y Shabana [3] presentaron dos ex-celentes revisiones del estado del arte de la simulacin dinmica de mecanis-mos con elementos rgidos y flexibles, respectivamente. Schiehlen ha actuali-zado esta revisin posteriormente [4]-[5], aunque sin grandes novedades. A pesar de los notables avances alcanzados en las dos ltimas dcadas, quedan an muchos problemas por resolver y hay todava muchos aspectos en los que se puede mejorar, al menos en un doble aspecto: desarrollar soluciones satis-factorias para problemas especialmente difciles y hacer mucho ms asequibles los anlisis de mayor inters prctico, con formulaciones ms sencillas y efi-cientes, y facilitando todo lo posible su utilizacin mediante una preparacin de datos mucho ms fiable y sencilla.

    Esta Tesis se enmarca en el campo de los sistemas multicuerpo con elementos rgidos, de cadena abierta y cerrada, y tiene como finalidad aportar soluciones ms eficientes y sencillas y mejor adaptadas a las caractersticas de los nuevos sistemas informticos. Forma tambin parte de sus objetivos el continuar el desarrollo del lenguaje MechXML, orientado a la definicin general de siste-mas multicuerpo. La definicin de este lenguaje fue iniciada por Rodrguez [6] y ha sido ampliamente desarrollada en esta Tesis, con extensiones tan impor-tantes como la inclusin de las funciones de usuario y del control. Adems, se ha desarrollado una metodologa prctica de identificacin de datos, basada en los filtros de Kalman, que permite hallar los valores de los parmetros de sis-temas reales por medio de ensayos sencillos y fciles de realizar.

  • Captulo 1: Introduccin

    7

    1.1.1 Consideraciones histricas sobre el anlisis dinmico de siste-mas multicuerpo con elementos rgidos

    1.1.1.1 Ecuaciones diferenciales del movimiento Los fundamentos tericos de los mtodos dinmicos actualmente utilizados en la simulacin de sistemas multicuerpo se apoyan en la mecnica clsica, con-cretamente en el planteamiento de las ecuaciones diferenciales del movimiento de sistemas de varios slidos rgidos con restricciones.

    Los fundamentos de la dinmica de mecanismos se comenzaron a establecer en 1687, ao en el que Newton [7] public sus famosas leyes, con las que quedan determinadas las ecuaciones de la dinmica del punto, aplicables tambin al centro de gravedad de un slido rgido. Puede decirse que con las ecuaciones de Newton quedaba resuelta la parte de traslacin del movimiento del slido rgido. En 1776, Euler [8] desarroll matemticamente el concepto de "slido rgido", lo que le permiti completar las ecuaciones de Newton con las ecua-ciones que gobiernan el movimiento de rotacin. Ambas ecuaciones constitu-yen las llamadas "ecuaciones de Newton-Euler", que son las ecuaciones dife-renciales que gobiernan el movimiento 3-D de un nico slido rgido. En 1743 DAlembert [9] estudi por primera vez la dinmica de varios slidos rgidos con restricciones (es decir, lo que actualmente se entiende por sistema multi-cuerpo), distinguiendo entre fuerzas "aplicadas" y fuerzas de "reaccin". D'A-lembert intuy el principio de los trabajos virtuales, llegando a denominar "fuerzas perdidas" a las fuerzas de reaccin, pues al final desaparecan de la formulacin. Sin embargo, fue Lagrange [10] quien en 1788 aport el trata-miento matemtico riguroso a las ideas de D'Alembert, aplicando un principio variacional a la suma de las energas cintica y potencial, y llegando a las ecua-ciones diferenciales del movimiento prcticamente en la forma en que hoy se utilizan: ecuaciones algebraico-diferenciales o DAEs para coordenadas depen-dientes, y ecuaciones diferenciales ordinarias u ODEs para coordenadas inde-pendientes.

    As pues, los fundamentos matemticos de las ecuaciones diferenciales del movimiento de los sistemas multicuerpo han estado disponibles desde hace ms de dos siglos, aunque limitados a sistemas holnomos. Quizs las contri-buciones ms importantes del siglo XX hayan sido su extensin a sistemas no-holnomos, aportacin debida en primer lugar a Jourdain [11], en 1909, y mu-cho ms tarde, aunque quizs con mucha ms influencia, a Kane and Levinson [12] quienes en 1985, introdujeron el concepto de "velocidades parciales", muy utilizado en la literatura norte-americana y ciertamente de originalidad discuti-da en otros ambientes tcnicos y cientficos.

  • Captulo 1: Introduccin

    8

    La temprana formulacin de las ecuaciones dinmicas del movimiento ha ser-vido para poner de manifiesto las limitaciones de las herramientas matemticas tradicionales respecto a la resolucin analtica de dichas ecuaciones. Durante siglo y medio, los girscopos han sido casi los nicos sistemas prcticos que se han podido abordar analticamente (ver por ejemplo, Magnus [13] en 1971). Wittenbauer [14] public en 1923 algunos mtodos grficos para resolver pro-blemas dinmicos planos, pero no era mucho ms lo que se poda hacer con las herramientas de la poca.

    1.1.1.2 Nuevas aplicaciones industriales: robtica, espacio y auto-mocin

    En la dcada de 1960 confluyeron dos factores que iban a determinar el futuro del anlisis dinmico de sistemas multicuerpo: por una parte, comienza con una enorme fuerza la carrera espacial, con el reto de llegar a la Luna antes de 1970. Para ello se requieren clculos muy precisos y fiables, porque casi nunca es posible experimentar en condiciones de ingravidez. Por otra parte, comienzan a extenderse los ordenadores digitales, muy limitados en potencia de clculo para lo que ahora es habitual, pero con capacidad suficiente para cambiar definiti-vamente la forma de trabajar de los ingenieros. Lo que hasta ese momento haba sido un reto inasequible, empieza a ser una necesidad alcanzable y peren-toria. Adems, los vehculos espaciales ofrecan una estructura topolgica de cadena abierta, relativamente fcil de tratar y muy similar a la de los robots que empiezan a introducirse en la industria. En esta poca se pueden destacar las contribuciones de Uicker [15], quien estudi la dinmica de sistemas tridimen-sionales utilizando las transformaciones matriciales de Denavit and Hartenberg [16], publicadas en 1955; Hooker and Margulis [17], y Roberson and Witten-burg [18], resolvieron mediada la dcada de 1960 el problema del control de orientacin de satlites artificiales formados por varios slidos unidos en cade-na abierta.

    En las dcadas de 1970 y 1980 las aplicaciones se extienden a otras reas de la ingeniera, principalmente al campo de la automocin, donde la presencia de cadenas cerradas es la tnica habitual en los sistemas de suspensin y direc-cin. En estos aos aparecen las formulaciones que van a dar lugar a los prime-ros programas comerciales de propsito general. As, Sheth and Uicker [19] presentaron en 1972 el programa IMP (Integrated Mechanism Program), basa-do en coordenadas relativas y en las transformaciones matriciales de Uicker [15]. Estas mismas coordenadas haban sido utilizadas por Paul and Krajcino-vic [20] en 1970, y volvieron a serlo poco tiempo despus por Smith et al. [21]. En 1975, Paul [22] public el primer artculo de revisin del estado del arte en

  • Captulo 1: Introduccin

    9

    dinmica de mecanismos y poco despus, en 1977, apareci el primer libro sobre el tema, debido a Wittenburg [23].

    La utilizacin de mtodos "topolgicos" basados en coordenadas relativas era la opcin ms natural en aquellos primeros programas para la dinmica de sis-temas multicuerpo, dada la influencia de las formulaciones de cadena abierta que les haban precedido y las limitaciones de memoria de los ordenadores de la poca. Sin embargo, poco a poco se iban a abrir paso las formulaciones "globales", mucho ms sencillas y verstiles para abordar el estudio de las to-pologas arbitrarias que surgan de la industria del automvil, sobre todo en EEUU. En 1977, Orlandea et al. [24] realizaron una gran contribucin a los mtodos globales, al aplicar tcnicas de matrices "sparse" a las ecuaciones di-nmicas y de restriccin provenientes del uso de coordenadas de puntos de referencia, utilizando ngulos de Euler para determinar la orientacin angular. De este trabajo surgi poco tiempo despus el programa MSC.Adams, que si-gue fiel en lo esencial a la formulacin original y mantiene desde entonces el liderazgo del mercado, tambin despus de haber sido adquirido hace unos pocos aos por MSC [25], la empresa que mantiene y comercializa el programa de elementos finitos NASTRAN.

    A comienzos de la dcada de 1980, Wehage and Haug [26] y Nikravesh et al. [27] pusieron los fundamentos tericos de lo que sera el programa DADS, nacido en la University of Iowa. El grupo de investigacin de dicha universi-dad, bajo la direccin del Prof. Edward Haug, iba a ser durante bastantes aos el grupo ms activo e innovador en el rea del anlisis de los sistemas multi-cuerpo. En la actualidad el programa DADS es comercializado por la empresa belga LMS [28] con el nombre de LMS Virtual.Lab Motion, y el peso especfi-co del grupo de Iowa ha decrecido notablemente tras la jubilacin del Prof. Haug.

    Otro campo del que surgieron importantes aportaciones a los mtodos de anli-sis de sistemas multicuerpo fue la robtica. La robtica se parece a los vehcu-los espaciales en que fundamentalmente considera sistemas de cadena abierta, pero se diferencia de ellos en que, por ser el control y no la simulacin el prin-cipal objetivo de los anlisis, aparecen especiales requerimientos en lo que a eficiencia se refiere. Para el control de los actuadores es fundamental resolver de un modo muy eficiente el problema dinmico inverso, que consiste en cal-cular los esfuerzos motores que producen un determinado movimiento. No es de extraar que a su resolucin se dedicaran importantes esfuerzos, uno de cu-yos resultados ms significativos fue el mtodo recursivo de Luh, Walker and Paul [29], que resolva el problema con un nmero de operaciones aritmticas proporcional al nmero N de elementos del robot (se dice que es un mtodo de

  • Captulo 1: Introduccin

    10

    orden O(N)). Este mtodo es generalmente reconocido como el mtodo ms eficiente para dicho problema.

    Tras la solucin del problema dinmico inverso, los esfuerzos se concentraron en el problema dinmico directo o problema de la simulacin dinmica, que consiste en calcular las aceleraciones en funcin de las fuerzas, para unas posi-ciones y velocidades dadas. Una de las soluciones ms eficientes fue el mtodo de la "inercia compuesta", propuesto por Walker and Orin [30]. Este mtodo estaba basado precisamente en la citada solucin recursiva del problema inver-so [29], que se utilizaba para determinar la matriz de coeficientes (matriz de inercia) en un sistema de ecuaciones lineales cuyas incgnitas eran las acelera-ciones relativas en los pares del robot. Como este sistema de ecuaciones linea-les deba ser resuelto mediante alguna variante del mtodo de eliminacin de Gauss, el nmero de operaciones aritmticas necesarias era de orden O(N3). En los comienzos de la era de los robots, en 1974, Vereschagin [31] public el primer mtodo completamente recursivo para la resolucin del problema din-mico directo. Este mtodo no tena necesidad de resolver ningn sistema de ecuaciones lineales y poda resolver el problema con un nmero de operaciones aritmticas proporcional al nmero de grados de libertad, por lo que se dice que es un mtodo de orden O(N). Pocos aos despus, Armstrong [32] present un desarrollo similar. Los mtodos completamente recursivos no alcanzaron su mxima popularidad hasta la presentacin del mtodo de la "inercia articulada" de Featherstone [33]-[34], en la dcada de 1980. Estos mtodos de orden O(N) son ms eficientes que los mtodos de orden O(N3), pero slo a partir de un determinado valor de N, que Featherstone fij en 10-11. Por debajo de ese va-lor, el mtodo de la inercia compuesta de Walker and Orin [30] continuaba siendo en teora el ms eficiente.

    La historia de los mtodos de anlisis dinmico directo e inverso de robots es la historia de una carrera por reducir al mximo el nmero de operaciones aritm-ticas (productos y sumas) necesarias para resolver el problema. Los distintos autores se esforzaban por calcular los coeficientes de todas las potencias de N en el nmero de operaciones aritmticas. Este nmero de operaciones dependa del punto de referencia elegido para cada elemento, as como del sistema de coordenadas en el que se expresaban las distintas magnitudes vectoriales. La bsqueda de expresiones o factores comunes permita reducir algunas opera-ciones adicionales. En 1995 Stelzle et al. [35] publicaron una magnfica recopi-lacin de los resultados obtenidos desde los aos 70. Segn sus conclusiones, los mtodos completamente recursivos seran los mejores slo a partir de N>7. Sin embargo, en opinin de muchos expertos, este esfuerzo terico por medir la eficiencia de las distintas formulaciones no ha estado orientado en la buena

  • Captulo 1: Introduccin

    11

    direccin. En efecto, el ahorro de unas pocas operaciones aritmticas tena ple-no sentido y justificacin con los ordenadores de los aos 70, en los que las operaciones de punto flotante eran 20 30 veces ms costosas que las opera-ciones lgicas o con enteros, y estaba justificado el prestar atencin exclusiva a las operaciones de coma flotante. Esta situacin ya no tiene ningn sentido con los ordenadores actuales, que pueden realizan las operaciones aritmticas en doble precisin con el mismo coste que las operaciones con enteros. En la prc-tica, hay muchos factores ms importantes que el nmero de operaciones arit-mticas, tales como la utilizacin de la memoria cache, el direccionamiento indirecto, las operaciones lgicas y el propio lenguaje de programacin o com-pilador utilizado. El mejor mtodo no es el que necesita menos operaciones aritmticas para realizar ciertos clculos, sino el que resuelve en menos tiempo una simulacin completa. En cualquier caso, los mtodos recursivos desarro-llados para robtica han tenido una notable influencia en los mtodos topolgi-cos para anlisis de sistemas multicuerpo presentados posteriormente, incluidos los mtodos utilizados en esta Tesis.

    Continuando con la revisin bibliogrfica, la dcada de 1980 fue un periodo extraordinariamente fecundo en lo que a sistemas multicuerpo se refiere. Por ejemplo, en los ltimos aos de dicha dcada y en los primeros aos de los 1990 aparecieron varios textos sobre el tema, entre los que se puede citar a Nikravesh [36], Roberson and Schwertassek [37], Shabana [38], Haug [39], Huston [40] y Amirouche [41]. En 1990, Schiehlen [42] present un catlogo con las principales caractersticas de todos los programas de anlisis de meca-nismos existentes.

    En la ltima parte de la dcada de los 90 se ha dedicado ms atencin a las extensiones de las formulaciones bsicas y a la resolucin de problemas inter-disciplinares. En estos ltimos aos han aparecido algunos nuevos libros (Stejskal and Valasek [43], Angeles and Kecskemthy [44], Pfeifer and Gloc-ker [45], Eich-Soellner and Fhrer [46], von Schwerin [47] y Samin and Fisette [48]), y el centro de los desarrollos se ha desplazado de EEUU a Europa. Se pueden citar algunos congresos monogrficos (Pereira and Ambrosio, eds. [49], Ambrosio and Schiehlen eds. [50], y Ambrosio ed. [51]), en los que se han presentado una buena parte de las nuevas aportaciones, as como la nueva re-vista Multibody System Dynamics, publicada por Kluwer a partir de 1997.

    1.2 Las coordenadas naturales En la exposicin histrica de la seccin 1.1.1 sobre la simulacin de sistemas multicuerpo se ha dejado al margen el desarrollo de las coordenadas naturales,

  • Captulo 1: Introduccin

    12

    aportacin espaola al tema de la que el autor de esta Tesis es deudor a travs del profesor que la ha dirigido.

    Las coordenadas naturales nacieron a comienzos de los aos 1980 en la Escue-la Superior de Ingenieros Industriales de Bilbao (Garca de Jaln et al. [52], Serna et al. [53]), pero alcanzaron su madurez a partir de 1983 en la Escuela Superior de Ingenieros Industriales de San Sebastin y en el CEIT. Las refe-rencias ms caractersticas sobre este mtodo se encuentran en Garca de Jaln et al. [54]-[55], y sobre todo en el libro de Garca de Jaln y Bayo [56], que explica con gran detalle las coordenadas naturales en el contexto de las restan-tes formulaciones publicadas en la bibliografa sobre el tema.

    El mtodo de las coordenadas naturales utiliza como variables dependientes, para definir la posicin de cada uno de los elementos del mecanismo, coorde-nadas cartesianas de puntos y componentes cartesianas de vectores unitarios. Opcionalmente se pueden tambin introducir coordenadas relativas en los pa-res. La posicin de un elemento queda determinada si se conocen las posicio-nes de tres de sus puntos (no alineados), o de dos puntos y un vector unitario, de un punto y dos vectores unitarios, etc. Las ecuaciones de restriccin surgen por dos caminos: por la condicin de slido rgido que implica ecuaciones de distancias y ngulos constantes para los puntos y vectores que pertenecen al mismo elemento, y por las condiciones que imponen algunos pares cinemti-cos, como los pares cilndrico (C) y prismtico (P), que no comparten puntos materiales. Otros pares, como los pares esfrico (S) o de revolucin (R), pue-den establecerse simplemente compartiendo puntos y/o vectores unitarios, sin ninguna ecuacin de restriccin adicional. Las ecuaciones de restriccin que surgen de las coordenadas naturales son casi siempre lineales o cuadrticas, lo que da lugar a matrices Jacobianas especialmente sencillas y fciles de calcu-lar. Con frecuencia las coordenadas naturales producen matrices de inercia constantes.

    Por su sencillez y eficiencia, las coordenadas naturales han constituido una importante aportacin a los mtodos globales. Sin embargo, ya Garca de Jaln y Bayo [56] sugeran que para optimizar la eficiencia de los anlisis, llegando incluso a poder simular en tiempo real, era necesario utilizar mtodos topolgi-cos basados en coordenadas relativas. sta fue la direccin de las Tesis presen-tadas en la ESII de San Sebastin por Jimnez [57], Goi [58] y Rodrguez [6], y ha sido tambin la formulacin utilizada en este trabajo.

    En cierta forma, la formulacin utilizada en esta Tesis est basada las citadas Tesis, principalmente en la de Jos Ignacio Rodrguez [6], cuyos resultados principales se han publicado posteriormente [59]-[60] en la revista Multibody System Dynamics. Uno de sus principales objetivos fue el incrementar la efi-

  • Captulo 1: Introduccin

    13

    ciencia de los mtodos de anlisis dinmico, aadiendo algunas mejoras y ba-sndose de modo nativo en un nuevo lenguaje estndar para la definicin de mecanismos, denominado MechXML, que posteriormente ha sido muy des-arrollado en el marco de esta Tesis. Finalmente, las referencias [61]-[62], reco-ge de un modo ms actual los avances alcanzados en los ltimos aos en los mtodos semi-recursivos para la simulacin dinmica de mecanismos en la Escuela Tcnica Superior de Ingenieros Industriales de la Universidad Politc-nica de Madrid.

    1.3 Introduccin a MechXML La utilizacin de ficheros con formato estndar (GIF, JPEG, PDF, etc.) ha con-tribuido en gran manera al desarrollo y utilizacin del WWW, pero sin duda han sido los ficheros HTML los que han constituido el factor ms determinante de su xito. Estos ficheros son muy fciles de crear, y permiten presentar la informacin de un modo multimedia, rico en contenido.

    De un modo anlogo, la existencia de un formato de ficheros estndar para intercambiar informacin sobre un determinado tipo de problemas puede bene-ficiar en gran medida a muchas reas de la ingeniera. Los mecanismos o sis-temas multicuerpo no son una excepcin, y a partir de 1990 se han publicado distintos artculos [63]-[66] con distintas propuestas en este sentido, ya que no existe un formato de datos estndar para la definicin de sistemas multicuerpo. Las aplicaciones comerciales y los grupos de investigacin que desarrollan software de simulacin utilizan formatos propios e incompatibles entre s.

    El disponer de un estndar para la definicin de mecanismos podra tener nu-merosas ventajas para todos los factores del proceso productivo:

    1. Los investigadores podran disponer de un catlogo de problemas de gran tamao y/o de especial dificultad, con los que probar sus formulaciones. Podran asimismo tratar de reproducir los resultados publicados por otros colegas, comparando su precisin y eficiencia.

    2. Los usuarios finales podran utilizar indistintamente distintas aplicaciones comerciales, contrastando con gran facilidad la validez de sus resultados. Adems, no quedaran atados por su historia a una aplicacin comercial concreta, y sera ms fcil la colaboracin con otras empresas. Tambin la formacin de estudiantes y profesionales en el anlisis de sistemas multi-cuerpo se vera muy beneficiada.

    3. Las propias empresas de desarrollo de software se veran beneficiadas por un mercado mucho ms abierto, compitiendo en trminos de calidad, de

  • Captulo 1: Introduccin

    14

    eficiencia y de soporte tcnico, sin la presencia de un alto porcentaje de clientes cautivos.

    Para que un estndar de ficheros de definicin de sistemas multicuerpo pueda alcanzar todas estas ventajas debe reunir ciertas caractersticas que lo hagan realmente til. Algunas de estas caractersticas podran ser las siguientes:

    1. La informacin debe de ser fcil de entender, tanto para las personas como para los ordenadores. Para las primerss el significado de cada elemento de informacin debe ser casi evidente, y para los segundos debe ser fcil construir una estructura de datos equivalente en memoria.

    2. La definicin del sistema mecnico debe estar basada en conceptos fsicos, independientes del modelo matemtico que ms tarde se emplear para su anlisis. Los conceptos fsicos ms importantes son los de geometra (de cada elemento, y de las restricciones al movimiento relativo entre elemen-tos), las propiedades inerciales (masa, posicin del centro de gravedad, tensor de inercia), las fuerzas y momentos aplicados, la presencia de resor-tes y amortiguadores, etc. En los ltimos aos se ha destacado con fre-cuencia lo adecuados que resultan los paradigmas de la Programacin Orientada a Objetos para la definicin de sistemas fsicos tales como los sistemas multicuerpo.

    3. Un formato de datos neutro debe ser general, es decir, debe adaptarse bien a todo tipo de programas, tanto comerciales como orientados a la investi-gacin. Los componentes de una y otra familia pueden tener entre s una amplsima gama de diferencias.

    4. Los "parsers", es decir, los traductores entre las distintas aplicaciones de-bern ser fciles de construir. Por lo general esto implica utilizar estnda-res tales como XML, que disponen ya de un gran nmero de herramientas para realizar los parsers. En el proceso de parsing se debern detectar con facilidad los errores e incongruencias en los datos.

    5. El lenguaje de definicin de mecanismos debe ser extensible, tanto en el sentido de que debe poder evolucionar fcilmente, como en el de que debe poder adaptarse tambin de un modo sencillo a las necesidades muy espe-cficas de una aplicacin concreta. Adems, las extensiones del lenguaje debern representar siempre tambin pequeas modificaciones en los par-sers.

    6. El lenguaje estndar de definicin de mecanismos deber incluir una forma tambin neutra de definir funciones de usuario, imprescindibles en cual-quier aplicacin que pretenda definir fuerzas y/o restricciones que sean

  • Captulo 1: Introduccin

    15

    complicadas funciones del estado del sistema. Este es quizs uno de los requerimientos ms difciles de satisfacer con generalidad.

    7. Para los casos ms sencillos, las funciones de usuario se deber poder sus-tituir por expresiones matemticas generales, tanto escalares como vecto-riales y matriciales.

    A lo largo de la dcada de 1990 se han realizado muchos esfuerzos para des-arrollar un lenguaje de estas caractersticas, principalmente en Alemania [63]-[66]. Los paradigmas ms utilizados han sido los de la Programacin Orientada a Objetos, la estructuracin en bloques, y las bases de datos de distintos tipos. Ms adelante se revisan brevemente algunos de estos trabajos, pero probable-mente lo que les ha faltado para reunir con sencillez las caractersticas citadas ha sido precisamente el estndar XML (eXtensible Markup Language) [67], aprobado en 1998 y ampliamente difundido en los ltimos aos en numerosas aplicaciones informticas. XML es un estndar para la creacin de lenguajes especficos para determinados tipos de informacin. Su gran aceptacin ha provocado el desarrollo de multitud de herramientas de software (muchas de ellas gratuitas) para el tratamiento de la informacin contenida en ficheros XML.

    En esta Tesis se va a describir MechXML (Mechanism eXtensible Markup Language), un prototipo de lenguaje de definicin de sistemas multicuerpo basado en XML que, tratando de reunir todas las caractersticas antes citadas, trata tambin de ofrecer las ventajas previamente descritas.

    1.3.1 Estado del arte en el desarrollo de lenguajes de definicin de mecanismos

    A lo largo de las dos ltimas dcadas ha habido diversos esfuerzos para definir un lenguaje de modelado de mecanismos universal: STEP Part 105 [68]-[70], STEPml [71], MechaSTEP [72], Modelica [73], etc. A pesar de ello, excep-tuando quizs a STEP, ninguna de las propuestas ha tenido una aceptacin im-portante en el mbito acadmico o industrial debido a diversos motivos, entre otros la falta de software que facilite el tratamiento de la informacin expresa-da en estos formatos.

    STEP (Standard for the Exchange of Product Model Data) es un estndar inter-nacional (ISO 10303) para describir las caractersticas fsicas y funcionales de los productos industriales. STEP es el resultado de muchos aos de trabajo en el tratamiento de la informacin por prate de expertos en varios campos de la industria. El objetivo de STEP es conseguir una representacin precisa, neutra e informatizable de un producto a lo largo de toda su vida. STEP ha establecido

  • Captulo 1: Introduccin

    16

    los fundamentos para la creacin de una base de datos de productos que facilite su comparticin y archivo.

    STEP est estructurado en una serie de estndares que adems de incluir el modelo de datos del producto tambin define mtodos de descripcin, mtodos de implementacin y una metodologa de tests para comprobar la conformidad con el estndar de una determinada implementacin. Para que la descripcin de los modelos sea consistente y precisa se defini un lenguaje de descripcin formal conocido como EXPRESS [69], que cuenta adems con una representa-cin grfica (EXPRESS-G). EXPRESS forma parte del estndar ISO 10303. No se trata de un lenguaje de programacin sino de un lenguaje de especifica-cin con caractersticas de orientacin a objetos. EXPRESS permite la descrip-cin formal y precisa de los modelos de STEP.

    La informacin que se puede incluir en los modelos de datos de un producto est organizada tambin en un conjunto de normas que se han publicado sepa-radamente. La norma que trata la simulacin de mecanismos es la Part 105 (ISO 10303-105) que permite definir la cinemtica de los mecanismos. Esta norma est dividida en tres partes:

    1. Kinematic structure: Se define la geometra de slidos rgidos y las uniones entre ellos.

    2. Kinematic motion representation: Se define el movimiento de un mecanis-mo dando la trayectoria de sus elementos de entrada o de todo el mecanis-mo de una forma paramtrica. Normalmente se da la trayectoria en funcin del tiempo.

    3. Kinematic analysis control and results: El objetivo es la identificacin y anlisis de configuraciones de estructuras cinemticas y la interpolacin en-tre configuraciones.

    STEP Part 105 permite definir modelos cinemticos de una forma robusta y precisa, pero resulta excesivamente complejo y tedioso para el usuario. Parece que presta ms atencin al anlisis de sistemas CAD cuyos componentes tienen una capacidad de movimiento relativo que al anlisis de verdaderos sistemas multicuerpo. Hay que sealar tambin la lentitud con la que se est procedien-do en su definicin y hasta ahora no hay una continuacin a modelos dinmi-cos con fuerzas e inercias. A pesar de sus limitaciones, STEP es soportado por muchas aplicaciones informticas y es usado por grandes empresas industriales para el intercambio de informacin sobre sus productos. Adems existe un con-sorcio internacional llamado PDES [69] cuya finalidad es acelerar el desarrollo y la implementacin de STEP.

  • Captulo 1: Introduccin

    17

    A partir de 1999, dentro de PDES, se comenz a desarrollar STEPml [71], que es la traduccin de los modelos de datos de STEP a XML. Por tanto, STEPml tiene las mismas capacidades de STEP con la ventaja de contar con todas las herramientas de XML que facilitan el tratamiento de la informacin. Hay que tener en cuenta que STEP es un formato neutro y por tanto para utilizar la in-formacin contenida en STEP hay que traducirla a otros lenguajes. Esta tarea se simplifica enormemente con XML, como se ver ms adelante. Las especi-ficaciones de STEPml para los datos del producto se definen en un DTD (Do-cument Type Definition, [67]). Ms adelante se explica qu es un DTD, de momento basta con sealar que es un fichero donde se fija la estructura y el contenido de un fichero STEPml.

    Por otra parte, MechaSTEP [72] es un proyecto realizado por empresas y uni-versidades alemanas a partir de 1997 con la idea de generalizar STEP Part 105 y crear un formato estndar de ficheros para la simulacin de sistemas meca-trnicos. MechaSTEP incluye sistemas mecnicos, elctricos, hidralicos y de control. Dentro del proyecto se programaron traductores de MechaSTEP a dos programas de simulacin de sistemas multicuerpo: Simpack [73] y Mesa Verde [74]. MechaSTEP tiene las mismas ventajas e inconvenientes que STEP. Des-cribe de forma precisa y robusta los sistemas mecatrnicos, pero por su com-plejidad no ha logrado implantarse fuera de los grupos que lo desarrollaron.

    Modelica [75]-[77] es un lenguaje orientado a objetos para la modelizacin de sistemas multidominio, que es gratuito y est mantenido por la Modelica Asso-ciation, que es una organizacin sin nimo de lucro. Modelica es muy adecua-do para sistemas mecatrnicos en robtica, en el campo aeroespacial, en auto-mocin y, en general todo tipo de sistemas fsicos heterogneos. El modelado es este lenguaje se realiza mediante diagramas de bloques. Cada bloque repre-senta un subsistema con unos determinados parmetros, que es descrito me-diante sus ecuaciones diferenciales, algebraicas y discretas. Los bloques pue-den ser reutilizados, lo cual facilita la construccin de modelos grandes y com-plejos.

    De cara al intercambio de modelos existen unas libreras estndar de bloques (Modelica Standard Library) que contienen los bloques ms comunes, aunque cada usuario puede programar sus propios bloques, que seran equivalentes a las clases de Modelica. Hay que sealar que Modelica no slo define sistemas fsicos, sino que tambin incorpora las ecuaciones que modelan matemtica-mente su comportamiento. En este sentido, va mucho ms all que los lengua-jes que slo definen los modelos fsicos.

    Para poder utilizar los modelos desarrollados en Modelica hay que incorporar-los en algn programa de simulacin. Existen traductores [76] a Dymola [77],

  • Captulo 1: Introduccin

    18

    Simulink [78] y Mathematica [79] pero se echan en falta herramientas que faci-liten el desarrollo de traductores a otros programas de simulacin y ms edito-res grficos que faciliten el desarrollo de modelos. En la actualidad la universi-dad de Linkping lidera un proyecto para el desarrollo de un entorno completo de software abierto de modelado, compilacin y simulacin de Modelica [80]. Este software es gratuito y se distribuye en cdigo fuente y binario.

    Finalmente se puede comentar que quizs los diagramas de bloques no son la herramienta ms adecuada para la descripcin de sistemas multicuerpo, cuando estos sistemas constituyen la parte principal del sistema a simular. Muchos ingenieros mecnicos prefieren usar conceptos matemticos ms cercanos a la geometra euclidea.

    1.4 Estimacin de parmetros Como se ha mencionado anteriormente, esta Tesis tiene como finalidad aportar soluciones, dentro del mundo del anlisis de sistemas multicuerpo, ms eficien-tes y sencillas, y mejor adaptadas a las caractersticas de los nuevos sistemas informticos. En esta lnea se ha desarrollado, junto con el citado lenguaje de definicin de sistemas multicuerpo MechXML, una metodologa prctica de identificacin de datos basada en los filtros de Kalman, que permite hallar los valores de los parmetros de sistemas reales por medio de ensayos sencillos y fciles de realizar.

    La dinmica de sistemas multicuerpo puede ser estudiada de muchas formas, mediante modelos matemticos con diferentes niveles de aproximacin al sis-tema real, que permitan la simulacin del comportamiento del sistema con todo tipo de condiciones iniciales, cargas, excitaciones, etc. Los modelos matemti-cos dependen de un determinado nmero de parmetros fsicos, mayor a medi-da que el modelo es ms exacto, cuyos valores pueden ser estimados en una primera fase de diseo o medidos directamente si existen prototipos reales del sistema. En algunos casos, aunque exista el modelo real, no es viable realizar la medicin directa por ser muy costosa, difcil o por otros motivos. Hay que se-alar que, aunque los fabricantes disponen siempre de informacin precisa de todos estos parmetros, en la prctica no la suelen hacer pblica, al menos de modo completo y detallado.

    Los citados parmetros pueden ser calculados mediante un algoritmo de identi-ficacin basado en ensayos sobre un modelo real. Para que sea posible la esti-macin de los parmetros es necesario que el valor de stos influya en los re-sultados de los ensayos, es decir, siguiendo la nomenclatura de la ingeniera de control, se requiere que los parmetros sean "observables".

  • Captulo 1: Introduccin

    19

    Los algoritmos de identificacin calculan el valor de los parmetros de modo que el modelo terico reproduzca lo ms exactamente posible los resultados obtenidos midiendo sobre el sistema real. Cuanto ms preciso sea el modelo terico mayor exactitud se puede obtener en el valor de los parmetros.

    1.4.1 Aplicaciones del filtro de Kalman Los filtros de Kalman [81] son usados para mltiples aplicaciones en los cam-pos ms diversos, pero principalmente se utiliza para la estimacin y anlisis del rendimiento de otros estimadores.

    La primera funcin es la estimacin del estado de sistemas dinmicos. Se utili-za principalmente en sistemas complejos multivariable en los que se ignora parcialmente su comportamiento dinmico. Los filtros de Kalman permiten estimar el estado de estos sistemas usando informacin estadstica.

    La informacin que se obtiene con los filtros de Kalman se suele emplear en algn tipo de control que se ejerce sobre el sistema. Ejemplos de este tipo de uso de los filtros de Kalman son el control de procesos de plantas qumicas, la prediccin de inundaciones, el guiado de aeronaves, etc.

    La segunda funcin principal de los filtros de Kalman es el anlisis de sistemas de estimacin. El objetivo de un anlisis de diseo es determinar qu sensores se tienen que utilizar para poder controlar un sistema y cul es la mejor forma de utilizar esos sensores, es decir, determinar su localizacin, la frecuencia de adquisicin de datos, etc. Los criterios que se utilizan en los anlisis estan rela-cionados habitualmente con la precisin de la estimacin y el coste del sistema.

    En esta Tesis se han utilizado los filtros de Kalman con la primera de las fun-ciones citadas, es decir, para la estimacin del estado de un sistema multicuer-po. Ms en concreto, el objetivo ha sido la estimacin de ciertos parmetros fsicos del sistema. Para poder estimar su valor, los parmetros se han introdu-cido como variables en las ecuaciones de estado, considerando que sus deriva-das respecto al tiempo eran nulas.

    En la literatura se pueden encontrar muchos ejemplos de grupos que estan tra-bajando con los filtros de Kalman. Limitndose al mundo del automvil, se utilizan filtros de Kalman en muchos de los sistemas de control avanzado. En la referencia [82] se explican tres aplicaciones. En la primera se utiliza el filtro de Kalman para controlar la velocidad del vehculo en funcin del curso de la carretera y de la distancia respecto al vehculo que le precede. Los sensores deben ser capaces de detectar los posibles obstculos en la trayectoria del veh-culo. La segunda aplicacin es un control que ayuda a tomar curvas. Los senso-res han de detectar los lmites de la carretera y corregir la direccin del vehcu-

  • Captulo 1: Introduccin

    20

    lo si el conductor no ha tenido el comportamiento esperado. Para el control lateral del vehculo es importante conocer el valor de perturbaciones tales co-mo el viento o el peralte de la carretera. La estimacin de estas perturbaciones se realiza asimismo con el filtro de Kalman. La tercera y ltima aplicacin del filtro de Kalman que aparece en el citado artculo es como "sensor virtual". El valor de ciertos estados que son difciles de medir o cuyos sensores apropiados son muy caros, se estiman tambin mediante el filtro de Kalman.

    Russo et al. [83] presentaron una metodologa para la identificacin de parme-tros de un coche basado en el filtro de Kalman. Se estimaba el valor de los pa-rmetros con los resultados obtenidos a partir de diversas maniobras realizadas con el coche. Los parmetros estimados fueron, por ejemplo, la altura del cen-tro de masas, la altura del eje real de balanceo o la rigidez de balanceo. La ma-sa y las inercias del vehculo se suponan conocidas.

    En la misma lnea de los sensores virtuales, Stphant et al. [84] compararon el comportamiento de cuatro observadores (sensores virtuales) en la estimacin del ngulo de deslizamiento lateral y fuerzas laterales de un vehculo, y estu-diaron cmo influan los sensores utilizados en los resultados de los observado-res. Siguiendo con los sensores virtuales, Ryu et al. [85] estimaron el valor del deslizamiento lateral y del balanceo del vehculo (roll) a partir de medidas ob-tenidas con un GPS y un sistema de navegacin inercial (INS). Un ltimo ejemplo de aplicacin del filtro de Kalman en vehculos se puede encontrar en Diana et al. [86], donde se utiliza el filtro de Kalman en la estimacin de la fuerza de contacto entre la catenaria y el pantgrafo.

    1.4.2 Estado del arte en la estimacin de parmetros Es posible encontrar en la literatura numerosos artculos que tratan el tema de la estimacin de parmetros en sistemas dinmicos (ver por ejemplo el aparta-do 3.2 del citado artculo de revisin del estado del arte de Schiehlen [2]). Una primera metodologa es la identificacin experimental est basada en la propie-dad de que los modelos dinmicos son lineales respecto a sus parmetros. Por esta razn es posible reformular la dinmica del modelo como un conjunto de ecuaciones donde los parmetros son las incgnitas. Sin embargo, no todos los parmetros pueden ser identificados usando esta formulacin, porque pueden existir dependencias entre los parmetros. Encontrar las dependencias y agru-par los parmetros para obtener la formulacin funcin de un mnimo nmero de parmetros son las mayores dificultades en la estimacin experimental. Gauthier et al. [87] han enunciado un conjunto de reglas basadas en la topolo-ga del mecanismo para agrupar los parmetros dependientes. Fisette et al. [88] propusieron un mtodo recursivo para obtener la formulacin mnima. Con el

  • Captulo 1: Introduccin

    21

    mismo fin, Moore et al. [89] han presentado un mtodo basado en manipula-ciones simblicas. Chen et al. [90] obtuvieron el conjunto mnimo de parme-tros dinmicos mediante la descomposicin en valores singulares (SVD) apli-cada a los resultados de simulacin.

    Otra posible metodologa para la identificacin de parmetros utilizada en sis-temas multicuerpo estaba basada en tcnicas de optimizacin. Serban and Freeman [91], teniendo en cuenta que el objetivo de la estimacin de parme-tros es hacer coincidir los resultados de un modelo matemtico con los datos experimentales, realizan un proceso de optimizacin en el que los parmetros son las variables que se manejan para minimizar las diferencias entre los resul-tados del modelo y los datos experimentales. La funcin objetivo es la media del error cuadrtico de dichas diferencias. Las derivadas de la funcin objetivo respecto a los parmeros del modelo equivalen a un anlisis de sensibilidades del sistema que se realiza por mtodos de diferenciacin directa. Este mtodo tiene la ventaja de que las derivadas que se calculan para el anlisis de sensibi-lidades se pueden aprovechar para comprobar la observabilidad de un parme-tro respecto a unas determinadas salidas.

    El filtro de Kalman [81] presenta dos ventajas principales respecto a las dos metodologas para la estimacin de parmetros que se han citado previamente. En primer lugar, el filtro de Kalman es ms robusto frente al ruido en las medi-das y las imperfecciones en el modelado (ruido del proceso). En segundo lugar, estima los parmetros con una mayor precisin al ser capaz de manejar una mayor cantidad de informacin acerca del modelo. Las estimaciones del filtro de Kalman son estadsticamente ptimas con respecto a cualquier funcin cua-drtica de estimacin. Adems, es un algoritmo sencillo de implementar y efi-ciente, ya que es recursivo y no requiere almacenar todos los datos previos para reprocesarlos cada vez que se da un nuevo paso.

    1.5 Objetivos de esta Tesis Para finalizar este apartado, se presentan los objetivos perseguidos en esta Te-sis, que se enmarca en el campo de los mecanismos con elementos rgidos se-gn ha sido previamente apuntado, y tiene como finalidad aportar soluciones ms eficientes, ms sencillas y mejor adaptadas a los nuevos conceptos y para-digmas informticos.

    En esta Tesis se ha pretendido mejorar la eficiencia final de una formulacin semi-recursiva de anlisis dinmico de mecanismos, utilizando un entorno in-formtico sencillo y actual. En primer lugar se ha desarrollado un programa basado en Matlab que implementa los aspectos tericos ms actuales de la for-mulacin semi-recursiva a la que antes se ha hecho referencia y que ms tarde

  • Captulo 1: Introduccin

    22

    ser explicada con todo detalle. Este programa se denomina mbs3D, y est li-bremente disponible en Internet en la direccin:

    http://mat21.etsii.upm.es/mbs/matlabcode/mbs3dv1.0/mbs3d.htm

    La ventaja de los programas desarrollados con Matlab es la rapidea con la que se programan y ponen a punto, gracias el gran nmero de funciones matemti-cas robustas y fiables de Matlab, al entorno de desarrollo tan potente y fcil de manejar, y por la estrecha conexin que existe entre los algoritmos y la pro-gramacin con Matlab, que se traduce en una eficiencia del programador hasta un orden de magnitud superior a la de los lenguajes de programacin conven-cionales, como C/C++ y/o Fortran 90. Sin embargo, al tratarse de un lenguaje interpretado o compilado en tiempo de ejecucin, los programas desarrollados con Matlab no son muy eficientes en su ejecucin, lo que los hace poco ade-cuados para realizar largas simulaciones de sistemas mecnicos complejos. Adems, Matlab es mucho ms eficiente con marices de gran tamao que con las matrices pequeas tpicas de las formulaciones recursivas o semi-recursivas de los sistemas multicuerpo.

    Por este motivo, en esta Tesis se ha desarrollado una versin de mbs3d en C/C++, que es probablemente el lenguaje de programacin ms utilizado ac-tualmente, tambin para clculo tcnico y cientfico. A este programa se le ha denominado mbs3dCpp. El disponer de una implementacin de referencia en Matlab ha permitido una eficiencia mucho mayor en el desarrollo de cdigo en C/C++, porque el proceso de depuracin de errores es muchsimo ms rpido cuando se dispone de un programa que se sabe libre de errores, y que puede ejecutarse en paralelo para suministrar resultados correctos en cada paso de la ejecucin del programa a depurar.

    No basta disponer de un programa de simulacin de sistemas multicuerpo muy eficiente; es necesario hacer que su uso sea lo ms fcil posible, como herra-mienta de investigacin y como programa de aplicacin industrial. Por ello, esta Tesis ha abordado tambin los problemas de disear e implementar un lenguaje general de definicin de sistemas multicuerpo, que se ha denominado MechXML [59], [92]-[95], y de explorar una metodologa sencilla para identi-ficar los parmetros o datos que se deben suministrar a los programas de simu-lacin (inercias, dimensiones, constantes fsicas, etc.). Esta identificacin de parmetros se ha hecho en base a los filtros de Kalman [81], una metodologa ptima desde muchos puntos de vista, muy utilizada en tratamiento de seal pero casi desconocida en la simulacin de sistemas multicuerpo.

    Aunque se han desarrollado traductores en Java para los programas comercia-les MSC.Adams [25] y SimMechanics [96], los programas mbs3d y mbs3dCpp han sido los primeros programas en utilizar MechXML como formato de datos

  • Captulo 1: Introduccin

    23

    nativo para la definicin tanto de los mecanismos como de los anlisis que se han de realizar y de los resultados que se desean obtener. La lectura de ficheros MechXML desde mbs3dCpp no es en absoluto un problema trivial y ms ade-lante se describe la solucin desarrollada en el marco de esta Tesis. Por ahora baste decir que la lectura e interpretacin de los ficheros MechXML se ha pro-gramado tambin en C/C++.

    Con objeto de medir la eficiencia del programa desarrollado, se han resuelto una coleccin de problemas que se ha considerado como representativa de los casos prcticos que se pueden presentar. Muchos de estos ejemplos se han re-suelto tambin con mbs3d y MSC.Adams, de modo que se ha podido alcanzar una idea bastante precisa de la eficiencia de los desarrollos realizados.

  • 25

    Captulo 2: Simulacin Dinmi-ca de Mecanismos: Mtodos Globales y Topolgicos 2.1 Objetivos de la simulacin dinmica de mecanismos Como seal Schwertassek [97], el objetivo fundamental de todo programa de simulacin dinmica de mecanismos es realizar con la mxima eficiencia la integracin numrica de las ecuaciones diferenciales del movimiento de modo preciso y fiable. El mismo autor sealaba tambin que los objetivos citados se obtienen mediante la confluencia de tres reas de conocimiento:

    Dinmica de mecanismos, que es el rea responsable de las distintas for-mulaciones dinmicas.

    Anlisis numrico, que es el rea que proporciona diversos mtodos num-ricos, particularmente los de integracin numrica de las ecuaciones dife-renciales (ODEs) o algebraico-diferenciales (DAEs).

    Informtica o ciencias de la computacin, que proporciona las estructuras de datos, los lenguajes de programacin y, en general, todos los detalles de la implementacin en el ordenador.

    Desde el punto de vista del usuario, a los objetivos citados por Schwertassek habra que aadir el disponer de una forma sencilla y estndar de obtener y de preparar los datos, y el de obtener unos resultados fciles de interpretar y de representar grficamente.

    Las citadas reas de conocimiento estn profundamente relacionadas entre s, de modo que es posible que las decisiones tomadas en una de ellas influyan decisivamente en las restantes. Con frecuencia, la mejor solucin ser una so-lucin de "compromiso" entre distintas alternativas, que posiblemente depende-r adems del problema concreto que se est considerando.

    En este apartado se revisan las ms importantes formulaciones existentes para la dinmica de sistemas mecnicos multicuerpo 3-D, formados por elementos rgidos. No se pretende hacer una clasificacin exhaustiva, ni considerar todos los posibles detalles de los sistemas fsicos que se habrn de estudiar. Esta revi-sin se limitar a sistemas sin cambios de configuracin y sin otras disconti-nuidades en el sistema, tales como impactos, rozamiento de Coulomb, etc. Una

  • Captulo 2: Simulacin Dinmica de Mecanismos: Mtodos Globales y Topolgicos

    26

    revisin bibliogrfica que incluye estos y otros factores puede encontrase en los ya citados artculos de Schiehlen [1], [4], [5].

    2.2 Integracin numrica de las ecuaciones del movimiento Una etapa crtica en la simulacin dinmica de sistemas mecnicos complejos es la integracin numrica de las ecuaciones diferenciales del movimiento. Aunque este problema aparece en muchas otras reas de la ingeniera tales co-mo el anlisis estructural y la mecnica de fluidos, la integracin de los siste-mas de ecuaciones diferenciales que aparecen en sistemas multicuerpo presenta sus peculiares dificultades. Dependiendo del tipo de formulacin dinmica adoptada, las ecuaciones diferenciales pueden ir acompaadas de ecuaciones algebraicas (las ecuaciones de restriccin propias de los sistemas multicuerpo), en cuyo caso se tiene un sistema de ecuaciones algebraico-diferenciales (DAEs, Differential-Algebraic Equations) mucho ms difcil de resolver que los sistemas de ecuaciones diferenciales ordinarias (ODEs, Ordinary Differen-tial Equations).

    Frente a otras reas de la ingeniera mecnica, como por ejemplo la dinmica estructural, los sistemas multicuerpo experimentan como ya se ha dicho cam-bios de posicin mucho ms fuertes, lo que se traduce en un carcter no-lineal mucho ms pronunciado. Aparecen tambin con facilidad discontinuidades (impactos, cambios de configuracin, rozamiento de Coulomb, etc.). Finalmen-te hay que destacar el carcter rgido o "stiff" de las ecuaciones diferenciales, que aparece con tanta frecuencia en la resolucin de problemas prcticos de mecanismos, y que tiene una influencia decisiva en el tipo de integradores que se pueden utilizar.

    En las siguientes secciones, antes de entrar en la revisin de los mtodos exis-tentes para el anlisis dinmico de sistemas multicuerpo, se van a presentar brevemente las familias de integradores que se han utilizado, en relacin a las mencionadas caractersticas del anlisis dinmico de los sistemas multicuerpo.

    2.2.1 Problemas stiff y no-stiff El problema de la rigidez o stiffness de los sistemas de ecuaciones diferenciales es un problema todava no muy bien conocido desde el punto vista cientfico, aunque s se conocen sus efectos y de alguna forma la manera de solucionar-lo. Simeon [98] ha apuntado que ya en 1952 Curtis y Hirschfelder [99] dieron una primera definicin de sistema de ecuaciones diferenciales "stiff": ecuacio-nes stiff son aqullas que con ciertos mtodos implcitos, en particular con los mtodos BDF (Backward Differentiation Formulae), se comportan mejor, nor-malmente muchsimo mejor, que con los mtodos explcitos.

  • Captulo 2: Simulacin Dinmica de Mecanismos: Mtodos Globales y Topolgicos

    27

    Como ha sealado Aiken [100], los sistemas "stiff" aparecen con gran frecuen-cia en la prctica: basta en muchos casos con modificar el valor de algn par-metro del sistema para pasar de una situacin apropiada para las funciones de integracin utilizadas en sistemas no-stiff a una situacin donde dichos inte-gradores se bloquean.

    Es cierto que hoy da se sabe mucho ms sobre los problemas stiff que en 1952, pero el diagnstico y el tratamiento entonces apuntados continan siendo vli-dos. Como literatura sobre problemas de valor inicial y sistemas stiff se pueden apuntar los trabajos de Brenan et al. [101], Lubich [102], Shampine [103] y Hairer and Wanner [104]. Sin entrar en los complejos (aunque parciales) traba-jos matemticos sobre el tema, llevados a cabo por los citados y otros autores, aqu se va a hacer referencia al problema de una forma ms intuitiva y prctica.

    El citado artculo de Simeon [98] contiene una interesante explicacin de en qu consiste el carcter stiff de los sistemas de ecuaciones diferenciales. Si-meon distingue dos tipos de stiffness:

    Stiffness numrica. Es la mejor conocida por los matemticos que han estu-diado el problema desde una perspectiva general. Se identifica con soluciones que contienen, junto con componentes que varan de un modo suave, funciones que decrecen muy rpidamente. En los sistemas mecnicos este tipo de stiff-ness se puede asociar con algunos componentes, tales como los amortiguado-res, que producen fuerzas que se oponen a la velocidad. Tambin se considera como caracterstica propia de un sistema stiff definido por la ecuacin diferen-cial matricial =y Ay el que los valores propios de A estn muy separados, teniendo algunos de ellos partes reales negativas mucho menores que cero. En este sentido se dice que un mtodo es "A-estable" cuando la solucin de la ecuacin anterior tiende a cero para cualquier valor del tamao de etapa h. Ningn mtodo de integracin numrica explcito tiene esta propiedad, y por eso dichos mtodos se ven obligados a utilizar tamaos de etapa muy peque-os. Esta acepcin numrica de la palabra "stiff" no tiene ninguna relacin con el concepto mecnico de stiffness o rigidez (resistencia a la deformacin).

    Stiffness mecnica. La experiencia demuestra que en ingeniera mecnica apa-recen ecuaciones diferenciales que se comportan de modo stiff sin que aparez-ca en ellos ningn tipo de fuerza disipativa, luego debe de haber otro camino por el que un sistema se hace stiff. La rigidez mecnica se produce cuando en la solucin de un sistema de ecuaciones diferenciales se superponen compo-nentes suaves con componentes oscilatorias de alta frecuencia, inducidas de ordinario por determinadas condiciones iniciales o por fuerzas armnicas. Cuando en la solucin del sistema estn realmente presentes las componentes de alta frecuencia, tanto los mtodos implcitos como los explcitos necesitan

  • Captulo 2: Simulacin Dinmica de Mecanismos: Mtodos Globales y Topolgicos

    28

    reducir el paso de integracin para poderlas captar adecuadamente. Los mto-dos implcitos tienen la ventaja de seguir siendo estables con grandes pasos o tamaos de etapa. Cuando las componentes oscilatorias de alta frecuencia po-dran estar presentes pero no lo estn debido a las condiciones iniciales intro-ducidas, el mejor comportamiento de los mtodos implcitos se hace patente. Mientras que las perturbaciones numricas de la solucin pueden excitar esas altas frecuencias en los mtodos explcitos y hacerlos inestables, el amortigua-miento numrico interno de los mtodos implcitos hace que se comporten co-rrectamente para valores grandes de h. La stiffness mecnica puede proceder de la presencia de resortes y amortiguadores de elevado valor, as como de la su-perposicin de movimientos suaves de slido rgido con movimientos elsticos con frecuencias comparativamente mucho ms elevadas.

    En esta Tesis se han utilizado integradores explcitos e implcitos. A continua-cin se revisan brevemente los integradores de ambas familias ms utilizados en la prctica.

    2.2.2 Integradores de librera No existe en el campo del anlisis dinmico de sistemas multicuerpo una tradi-cin similar a la que existe en dinmica de estructuras, con muchos aos de experiencia en el desarrollo de integradores numricos especficos para sus propios problemas (Ver por ejemplo los libros sobre el mtodo de los elemen-tos finitos de Bathe [105] y Hughes [106], o los trabajos de Garca Orden and Goicolea [107], [108] y Armero and Romero [109]-[112]). Es muy probable que las peculiares caractersticas de las ecuaciones diferenciales de la dinmica de estructuras justifiquen que se hayan desarrollado mtodos especficos para esta familia de problemas. En los ltimos aos la tendencia es a desarrollar integradores conservativos (por ejemplo, que conservan la energa o la cantidad de movimiento), porque aunque no son en s ms precisos que los integradores tradicionales, s suelen ser ms robustos y estables. En esta lnea se podra citar tambin a Betsch and Steinmann [113]-[117], que han aplicado tambin sus mtodos de integracin a sistemas multicuerpo. Todos estos trabajos, aunque muy interesantes desde los puntos de vista terico y prctico, resultan poco apropiados cuando se tiene como objetivo realizar simulaciones en tiempo real.

    As pues, tambin en el campo de la dinmica de mecanismos ha habido es-fuerzos por desarrollar mtodos especficos, ms eficientes que los mtodos de propsito general. En este sentido se podran encontrar muchos otros trabajos, entre los que se puede destacar los siguientes:

    Los trabajos de la "escuela alemana", sumarizados en los artculos de Andrzejewski et al. [118], Simeon [119], Eich-Soellner and Fhrer [46] y

  • Captulo 2: Simulacin Dinmica de Mecanismos: Mtodos Globales y Topolgicos

    29

    otros autores. Estos trabajos, en los que han participado matemticos e in-genieros, han tenido el objetivo de construir una librera de integradores especficamente diseada para sistemas multicuerpo.

    Los trabajos de algunos otros grupos europeos, entre los que cabe destacar a Dehombreux et al. [120], Cardenal et al. [121] y Cuadrado et al. [122]-[123]. Dehombreux y sus colaboradores han trabajado en el desarrollo de mtodos especialmente adaptados a sistemas de ecuaciones diferenciales de orden 2, proponiendo un mtodo de Runge-Kutta implcito de tercer or-den de precisin, incondicionalmente estable y con disipacin de energa en las frecuencias altas. Cuadrado y sus colegas han optado por utilizar la regla trapezoidal para DAEs de index-3, incluyendo control de error y de paso de integracin.

    Los trabajos de Petzold, autora de la funcin DASSL [124], y coautora de una de las monografas ms importantes sobre el tema (Brenan et al. [101]) y de numerosos artculos, algunos de ellos especficamente orientados a sistemas multicuerpo.

    Sin embargo, hay que sealar que por el momento ninguno de los trabajos cita-dos ha producido resultados que hayan influido significativamente en el estado del arte y que hayan sido universalmente reconocidos y aceptados.

    Por el contrario, en el anlisis dinmico de mecanismos sigue siendo habitual el utilizar integradores de propsito general, desarrollados por especialistas en anlisis numrico e integrados en libreras de dominio pblico o en libreras comerciales. Es muy conveniente que los integradores dispongan de estimado-res del error de integracin (local y/o global) y de algoritmos para aumentar o disminuir de modo acorde el paso y en algunos casos el orden de las frmu-las de integracin, caractersticas muy difciles de encontrar en el campo de la dinmica estructural. Otro punto de particular inters de los integradores de librera es la capacidad de resolver problemas stiff, sin que el paso de integra-cin se haga muy pequeo y el proceso llegue prcticamente a bloquearse. sta es la razn por la que en este trabajo y en los que le han precedido se decidi utilizar los llamados "integradores de librera", adaptando la formulacin a sus exigencias, opciones y dems caractersticas. Adems, para las simulaciones en tiempo real se han aadido dos integradores de paso simple, uno implcito (la regla trapezoidal) y otro explcito (Runge-Kutta clsico de cuarto orden).

    Siguiendo las ideas de Rodrguez [6], como integradores de librera para esta Tesis se han utilizado algunos integradores de Matlab y otros programas en C/C++ basados en ellos. La librera de integradores de ODEs y DAEs de Ma-tlab ha sido desarrollada por Shampine and Reichelt [125]; el primero de ellos,

  • Captulo 2: Simulacin Dinmica de Mecanismos: Mtodos Globales y Topolgicos

    30

    ya citado anteriormente [103], es uno de los investigadores de ms prestigio en esta rea. El disponer del cdigo fuente para Matlab permiti a Rodrguez [6] desarrollar versiones de C/C++ que se han mostrado particularmente robustas y eficientes.

    En general, los integradores de librera suponen que el sistema de ecuaciones diferenciales a integrar es de primer orden. Como las ecuaciones diferenciales del movimiento son de segundo orden, es necesario convertirlas en un sistema de primer orden duplicando el nmero de ecuaciones y de incgnitas a travs de la utilizacin del vector de estado:

    zy =

    z (1)

    donde la derivada del vector de estado { }T T T=y z z contiene las aceleracio-nes z que deben ser calculadas a partir de las ecuaciones diferenciales del mo-vimiento.

    2.2.2.1 Integradores explcitos Los integradores explcitos estn basados en frmulas de diferencias finitas que permiten determinar el vector de estado y en el instante t+t a partir de infor-macin relativa al instante de tiempo t y a instantes anteriores, segn la ecua-cin:

    ( ), ,..., , ,...,t t t t t t t tf t+ =y y y y y (2) El usuario debe proporcionar una funcin que calcule las derivadas del vector de estado en funcin del propio vector de estado y del tiempo, de acuerdo con la expresin:

    ( ), t=y f y (3) Esta derivada es fcil de calcular de acuerdo con los mtodo