• No se han encontrado resultados

Modelado simbólico para la simulación en tiempo real de sistemas multicuerpo

N/A
N/A
Protected

Academic year: 2021

Share "Modelado simbólico para la simulación en tiempo real de sistemas multicuerpo"

Copied!
261
0
0

Texto completo

(1)

UNIVERSIDAD P ´

UBLICA DE NAVARRA

NAFARROAKO UNIBERTSITATE PUBLIKOA

Departamento de Ingenier´ıa Mec´anica, Energ´etica y de

Materiales

TESIS DOCTORAL

Modelado simb ´olico para la simulaci ´on en

tiempo real de sistemas multicuerpo.

Realizada por:

Aitor Plaza Pu´ertolas

Dirigida por:

Dr. Javier Ros Ganuza

(2)
(3)

Tesi hau neskei eskaini nahi diet: Olhain eta Xantal

(4)
(5)

AGRADECIMIENTOS

Tras el esfuerzo que me ha supuesto realizar esta tesis doctoral quiero apro-vechar este espacio para dar las gracias a quienes me han apoyado, ayudado, motivado y acompa ˜nado en este camino. Sobre todo, a los que han tenido pa-ciencia conmigo.

En primer lugar, quisiera dar las gracias a mi director de tesis, el Dr. Javier Ros. Gracias a ´el estoy aqu´ı y esta tesis est´a terminada. ´El ha sabido animarme y guiarme, transmitirme su pasi ´on por la ciencia y por el el mundoMultibody. Ha sido capaz de tenerme paciencia, confiar en m´ı y haberme escuchado cuan-do hac´ıa falta.Milesker Javier!!.

Por otro lado, quiero agradecer sinceramente a mis compa ˜neros y amigos Dr. Xabier Iriarte y Dr. Jokin Aginaga. Ellos han sido capaces de motivarme y apoyarme, de tal forma que este camino no haya sido tan largo.Milesker!!. De igual manera, quisiera agradecer al resto de los miembros de grupo de investigaci ´on IMAC, al cual tengo el honor de pertenecer.

Quisiera tambi´en dar las gracias a mi madre y a mi hermano. Ellos tambi´en han sabido apoyarme, aunque muchas veces no se lo haya dicho, estoy since-ramente agradecido.Eskerrik asko!!

A mi amigos, a los que me preguntaban:¿C´omo va esa tesis?, a los que me preguntaban sin enterarse de nada: Ah, ¿est´as haciendo una tesis?, e incluso a los que preguntaban: Pero... ¿vas a hacer del mundo un lugar mejor?, gracias!!,

eskerrik asko!!.

Beste aldetik, esker beroenak Maya familiari, familiako beste bat banintz bezala onar-tzeagatik

Azkenik, etxeko neskei nire esker beroena. Haiek jakin izan dute pazientzia izaten nirekin, batez ez zu Xantal. Olhain, zu behar bada ez zara konturatu, baina jakin ezazu nire bizitza aldatu didazula eta ezagutzen zaitudanetik egunek beste kolore bat dutela. Aprobetxatu nahi dut tarte hau zuri, Olhain, bizitza zoriontsu eta oparo bat desiratzeko. Bihotzez, milesker neskak!!!

(6)
(7)

´INDICE GENERAL

1. Introducci´on 1

1.1. Modelado simb ´olico . . . 3

1.2. Estado del arte. C ´odigos para el modelado simb ´olico . . . 4

1.2.1. C ´odigos gen´ericos de modelado simb ´olico . . . 4

1.2.2. C ´odigos simb ´olicos para el modelado multicuerpo . . . 4

1.2.3. Cinem´atica en sistemas multicuerpo . . . 8

1.2.4. Din´amica en sistemas multicuerpo . . . 8

1.2.5. Simulaci ´on en tiempo real . . . 9

1.3. Objeto de esta Tesis Doctoral . . . 10

1.4. Estructura de la Tesis Doctoral . . . 12

2. Introducci´on al modelado de sistemas multicuerpo 15 2.1. Descripci ´on de sistema multicuerpo . . . 15

2.2. Modelado cinem´atico . . . 16

2.2.1. Coordenadas generalizadas . . . 16

2.2.2. Concepto de Observador o Referencia, y de Velocidad y Aceleraci ´on de un punto. . . 17

(8)

2.2.4. Ecuaciones cinem´aticas . . . 20

2.3. Modelado Din´amico . . . 23

2.3.1. Planteamiento de las ecuaciones din´amicas . . . 24

2.4. Estructura del sistema multicuerpo . . . 28

2.5. Simulaci ´on de sistemas multicuerpo . . . 30

2.5.1. Problema de ensamblaje . . . 30

2.5.2. Problema de posici ´on, velocidad y aceleraci ´on inicial . . 32

2.5.3. Simulaci ´on cinem´atica . . . 34

2.5.4. Correcci ´on de la posici ´on y la velocidad . . . 37

2.6. Simulaci ´on din´amica directa . . . 39

2.7. C´alculo de las matrices y vectores del problema DSM y expor-taci ´on de los mismos . . . 40

2.7.1. Matrices del problema cinem´atico . . . 41

2.7.2. Matrices del problema din´amico . . . 43

2.7.3. Exportaci ´on de matrices para la resoluci ´on del problema DSM . . . 44

2.8. Coordenadas sin inercia asociada . . . 44

2.8.1. Ejemplo de sistema con coordenadas sin inercia asociada 45 3. Atomizaci´on. Algoritmos simb´olicos. Exportaci´on 47 3.1. Proceso de atomizaci ´on. . . 48

3.1.1. Atomizaci ´on “sobre la marcha”. . . 49

3.1.2. Atomizaci ´on completa de expresiones . . . 51

3.1.3. Atomizaci ´on en Robotran. Problem´atica . . . 51

3.2. Implementaci ´on de la atomizaci ´on . . . 52

3.2.1. Estado original de las funciones de atomizaci ´on y desato-mizaci ´on . . . 53

3.2.2. Atomizaci ´on con b ´usqueda basada en tablas “hash” . . . 55

3.3. Estructura de ´arbol de una expresi ´on . . . 58

3.3.1. B ´usqueda en profundidad con pre-orden . . . 59

3.4. Atomizaci ´on y desatomizaci ´on. Algoritmos recursivos . . . 63

3.4.1. Algoritmo de atomizaci ´on . . . 63

(9)

´Indice general

3.5. Algoritmo reursivo de sustituci ´on de un s´ımbolo . . . 68

3.5.1. Algoritmo reursivo de sustituci ´on de un conjunto de s´ımbo-los . . . 70

3.6. Algoritmo reursivo de derivaci ´on . . . 73

3.7. Exportaci ´on simb ´olica basada en la atomizaci ´on . . . 76

3.7.1. Exportaci ´on de una expresi ´on. . . 77

3.7.2. B ´usqueda de ´atomos de una expresi ´on atomizada . . . . 77

3.7.3. Exportaci ´on de matrices y vectores . . . 79

3.7.4. Optimizaci ´on en la exportaci ´on . . . 82

3.7.5. Exportaci ´on de matrices conjunta . . . 88

4. Modelado simb´olico de sistemas multicuerpo 93 4.1. Caracterizaci ´on cinem´atica de sistemas multicuerpo . . . 94

4.1.1. Estructura de bases . . . 95

4.1.2. Vector y tensor cartesiano. Representaci ´on y ´algebra. . . 97

4.1.3. Estructura de puntos . . . 99

4.1.4. Caracterizaci ´on cinem´atica de cada s ´olido. Referencia . . 100

4.2. Modificador “gravedad”: Atomizaci ´on y Parentesizaci ´on . . . . 102

4.2.1. Ejemplo: Vector de posici ´on entre dos puntos. . . 103

4.3. Operadores cinem´aticos . . . 105

4.3.1. Operador: Matriz de rotaci ´on . . . 106

4.3.2. Operador: Vector de posici ´on . . . 109

4.3.3. Operador: Vector de velocidad angular . . . 113

4.3.4. Operador: Vector de velocidad de un punto respecto a una referencia . . . 115

4.4. Tensores no cartesianos . . . 119

4.4.1. Matrices jacobianas como aplicaciones lineales . . . 120

4.4.2. Tensores no cartesianos. Cambios de base . . . 120

4.5. C´alculo de la matriz de masaM . . . 123

4.5.1. PPV: Torsores . . . 123

4.5.2. Torsor de inercia de D’Alembert . . . 123

(10)

4.5.4. Optimizaci ´on de M basada en coordenadas sin inercia

asociada . . . 134

4.6. C´alculo del vectorδ . . . 135

4.6.1. Vectorδ . . . 135

4.6.2. Optimizaciones en el c´alculo . . . 136

4.7. Representaci ´on matricial . . . 139

4.8. T´erminos comunes entreMyδ, bucle de c´alculo . . . 141

5. Expresiones trigonom´etricamente simplificables 143 5.1. Expresi ´on trigonom´etricamente simplificables con origen “vec-torial”. . . 144

5.1.1. Ejemplo: producto escalar de dos vectores . . . 144

5.2. Nueva estructura simb ´olica de vector: Vector extendido . . . 146

5.2.1. Operaciones entre vectores extendidos . . . 147

5.2.2. Ejemplo de vector extendido . . . 150

5.3. Simplificaciones de origen “tensorial” . . . 151

5.4. Nueva estructura simb ´olica de tensor: Tensor extendido. . . 152

5.4.1. Operaciones entre tensores extendidos . . . 153

5.4.2. Ejemplo de trabajo con tensores extendidos . . . 155

5.5. Matriz jacobiana de un vector extendido . . . 156

5.6. Orden de los elementos dentro de las nuevas estructuras . . . . 156

5.7. Optimizaci ´on del vector/tensor extendido . . . 158

5.8. Simplificaciones trigonom´etricas en el campo de la DSM . . . . 160

5.8.1. Matrices jacobianas de velocidad lineal . . . 161

5.8.2. Matrices jacobianas de velocidad angular . . . 162

5.8.3. Matrices anti-sim´etricas . . . 163

5.8.4. Productos que implican el tensor de inercia . . . 164

5.8.5. Productos que implican el vector centro de masa. . . 165

5.8.6. Producto vectorial entre la velocidad angular y vector de posici ´on . . . 167

5.8.7. Simplificaciones trigonom´etricas en otras formulaciones 168 5.9. Simplificaciones trigonom´etricas con origen en la suma de ´angu-los . . . 169

(11)

´Indice general

5.10. ESST: Mecanismo de cuatro barras . . . 170

5.10.1. C´alculo de la matriz de masa . . . 174

6. Resultados y an´alisis 181 6.1. Algoritmos gen´ericos: atomizaci ´on, sustituci ´on y derivaci ´on . . 181

6.2. Atomizaci ´on “sobre la marcha”.Generaci ´on de c ´odigo . . . 184

6.2.1. Exportaci ´on conjunta. . . 186

6.3. Evaluaci ´on num´erica . . . 188

6.4. C´alculos cinem´aticos. Parentesizaci ´on . . . 189

6.5. Modificador “Gravedad”. Reciclabilidad de ´atomos . . . 190

6.6. MatrizMy vectorδ . . . 191

6.6.1. Coordenadas sin inercia asociada.Myδ. . . 194

6.7. Expresiones susceptibles de ser simplificables trigonom´etrica-mente . . . 195

7. Conclusiones 197 7.1. Parentesizaci ´on y reciclabilidad de ´atomos . . . 197

7.1.1. Atomizaci ´on. . . 198

7.1.2. Operadores cinem´aticos . . . 198

7.1.3. Gravedad . . . 199

7.2. Algoritmos de sustituci ´on y derivaci ´on recursivos . . . 199

7.3. Generaci ´on de c ´odigo. . . 200

7.3.1. Exportaci ´on conjunta. . . 201

7.4. C´alculo deMyδ . . . 201

7.5. Expresiones susceptibles de simplificaci ´on . . . 202

7.6. Otros . . . 203

8. L´ıneas futuras 205 8.1. Algoritmos de sustituci ´on y diferenciaci ´on . . . 205

8.2. C´alculo de la matriz de observaci ´on . . . 206

8.3. Transferencias de inercia . . . 207

8.4. Vectores de aceleraci ´on . . . 207

8.5. Modelado de sistemas flexibles . . . 208

(12)

8.7. Estructura de la matriz de masa. Descomposici ´on LDL . . . 209

A. Ejemplos 211 A.1. Bloque-pe ´ndulo . . . 211

A.2. Cuadril´atero articulado. . . 213

A.3. Biela, manivela, disco . . . 215

A.4. Manipulador paralelo “Stewart” . . . 218

A.5. Locomotora FEVE 3800 . . . 219

A.5.1. Ecuaciones geom´etricas . . . 224

A.5.2. Coordenadas totales del modelo . . . 226

B. C´odigo simb´olicos generado. Mecanismo de cuatro barras 229 B.1. Componentes del vectorrCO calculado seg ´un distintos m´etodos. 229 B.2. MatrizMy vectorδjuntos . . . 230

B.3. VectorΦy matrizΦqjuntos . . . 236

Bibliograf´ıa 239

´Indice de figuras 244

´Indice de tablas 246

(13)

CAP´ITULO 1

INTRODUCCI ´

ON

En el contexto de la ingenier´ıa es normal el uso de modelos matem´aticos de sistemas para la realizaci ´on de todo tipo de experimentos y desarrollos te ´ori-cos. Concretamente, en el contexto de la ingenier´ıa mec´anica (teor´ıa de m´aqui-nas y mecanismos, rob ´otica, teor´ıa de control, realidad virtual, bio-mec´anica, etc..) los modelos multicuerpo son uno de los pilares fundamentales.

El modelo ha de representar fielmente el sistema y ha se ser construido aten-diendo a las reglas de la f´ısica conocida. As´ı pues, se entiende por modelo a un conjunto ecuaciones que representan las relaciones causa-efecto entre las entradas y salidas del sistema f´ısico a estudio. A esta fase de generaci ´on de una “buena representaci ´on” del sistema real (modelo) se le conoce como “mo-delado”.

Se define la fase de “an´alisis” al estudio desde el punto de vista num´erico del comportamiento del modelo basado en las ecuaciones que lo describen.

Estos modelos son utilizados para la toma de decisiones (optimizaci ´on, di-se ˜no, control,...) y para el an´alisis num´erico (simulaci ´on en el tiempo, posici ´on de equilibrio, an´alisis modal, etc ...).

(14)

Cuando el modelo tiene un tama ˜no relativamente “peque ˜no”, las ecuacio-nes cinem´aticas y din´amicas que lo representan pueden, en general, ser cons-truidas “a mano”. Aunque est´e sujeto a errores humanos, este m´etodo tiene la ventaja que se generan ecuaciones optimizadas en t´erminos de expresiones trigonom´etricas y aritm´eticas. La fase de an´alisis consiste en sustituir en esas ecuaciones los s´ımbolos por su valor num´erico.

La forma “cl´asica” de modelado y an´alisis de sistemas multicuerpo basada en m´etodos computacionales se denomina “generaci ´on num´erica”. En cada instante temporal del an´alisis el modelo ha de ser reconstruido en funci ´on del estado de sistema y de sus par´ametros. Es decir, en cierta media, las fases de modelado y an´alisis se han de realizar a la vez y para cada estado del siste-ma. En [1] se describen los m´etodos y algoritmos m´as usados en el an´alisis din´amico y cinem´atico desde el punto de vista de la generaci ´on num´erica.

Frecuentemente, muchos de los par´ametros del sistema son cero y en la ge-neraci ´on num´erica son tratados de igual forma que los no nulos. Esto es debido a que siempre se utiliza un modelo general. As´ı que se presenta la imposibili-dad de aprovechar dicho hecho para la disminuci ´on del costo computacional. N ´otese que en caso de realizar las operaciones “a mano”, se evita la aparici ´on de estas cantidades nulas mediante su directa eliminaci ´on.

La denominada “generaci ´on simb ´olica” toma las ventajas de los dos m´eto-dos anteriores y se implementa usualmente de forma computacional. En el “modelado simb ´olico”, se utilizan ´unicamente operadores aritm´eticos y s´ımbo-los para construir un conjunto de ecuaciones que representen el modelo. En la fase de an´alisis, en un proceso que se denomina “evaluaci ´on num´erica”, estas cadenas de texto (s´ımbolos) son sustituidas un valor num´erico. A continua-ci ´on se realizan, con datos puramente num´ericos, los an´alisis pertinentes. Para realizar la fase de an´alisis, las ecuaciones que describen los modelos se ex-presan en forma de c ´odigo. Este procedimiento se denomina “generaci ´on de c ´odigo”. Por medio del c ´odigo generado se realiza la evaluaci ´on num´erica de las distintas funciones de forma ´optima.

La “generaci ´on simb ´olica” presenta, por un lado, la ventaja de los m´etodos manuales, es decir, las ecuaciones din´amicas y cinem´aticas solo se han de cal-cular una vez. Por otro lado, presenta la ventaja de que la expresiones que sean nulas, directamente desaparecen de la ecuaciones y por lo tanto no han de ser tratadas en el an´alisis. Por ´ultimo, tienen la ventaja de que se puede trabajar

(15)

1.1. Modelado simb´olico

con sistemas de gran tama ˜no, ya que es el ordenador el que realiza los c´alculos. Esta tesis se centra principalmente en el estudio del modelado simb ´olico enfocado a sistemas de tipo multicuerpo con la idea de generar ecuaciones altamente optimizadas.

1.1.

Modelado simb´

olico

Es sobradamente conocido [2,3,4,5] (entre otros) que el modelado simb ´olico de sistemas multicuerpo produce c ´odigo eficiente para la evaluaci ´on num´eri-ca de las funciones que t´ıpinum´eri-camente aparecen en las formaciones multicuerpo (matrices jacobianas, matriz de masa, vectores de fuerzas, etc..).

Generalmente, la eficiencia del c ´odigo simb ´olico justifica su uso frente al equivalente num´erico. Esto es particularmente cierto cuando se usan m´etodos que eviten la re-evaluaci ´on de sub-expresiones que aparecen repetidamente en las funciones a evaluar. Este proceso de buscar en una funci ´on (o expresi ´on simb ´olica) sub-expresiones que se repitan y sustituirlas por “variables auxi-liares” de forma que se eval ´uen un ´unica vez [2] se denomina, en esta tesis, “atomizaci ´on” [3].

A pesar de las ventajas anteriormente citadas, la generaci ´on simb ´olica de ecuaciones en sistemas multicuerpo puede convertirse en una ardua tarea con una alta complejidad. Si la generaci ´on simb ´olica no es tratada adecuadamen-te puede llegar a limitar, e incluso a no hacer posible, el trabajo con sisadecuadamen-temas multicuerpo medianamente complejos. Esta es una de las limitaciones m´as im-portantes del modelado simb ´olico.

Por un lado, estas limitaciones tienen origen en el conocido problema (Sec-ci ´on 5.7.3 de [2]) de la “explosi ´on simb ´olica”. Es decir, el tama ˜no de las ex-presiones simb ´olicas crece de forma exponencial con en tama ˜no del problema, llegando a un punto en que el trabajo con ellas se hace imposible. Por otro la-do, adem´as, est´a la tarea de la generaci ´on de c ´odigo optimizado para realizar el an´alisis num´erico, es decir, la de la atomizaci ´on. Para sistemas medianamen-te complejos la atomizaci ´on tiene una alta complejidad computacional y que puede convertirse en dif´ıcil, sino imposible de llevar a cabo.

(16)

1.2.

Estado del arte. C´

odigos para el modelado

simb´

olico

En esta secci ´on se presentan algunos de los paquetes de ´algebra simb ´olica para el modelado simb ´olico de sistemas multicuerpo que existen en la actua-lidad. Se describen sus principales caracter´ısticas, sobre todo en cuanto a la formulaci ´on y la parametrizaci ´on (tipo de coordenadas) con las que trabajan.

1.2.1. C´odigos gen´ericos de modelado simb´olico

La primera aproximaci ´on al modelado simb ´olico de sistema multicuerpo est´a basada en el uso de motores simb ´olicos de prop ´osito general como Sym-bolic Math Toolbox de MATLAB [6], Maple [7], Sympy [8] o Xcas/Giac [9] que ayudan a la implementaci ´on de formulaciones gen´ericas con cualquier para-metrizaci ´on.

Esta forma de proceder es an´aloga a que se si realizara “a mano”, pero con el apoyo de estos motores simb ´olicos para la realizaci ´on de los c´alculos m´as tediosos. Estos motores simb ´olicos son capaces de generar c ´odigo optimizado para ser usado en la fase de an´alisis en distintos lenguajes de programaci ´on num´ericos.

Esta forma de trabajar tiene la limitaci ´on de que el motor simb ´olico trata to-dos los sistemas por igual, independientemente de la naturaleza del problema, es decir, no se saca provecho de la estructura particular de los sistemas en la din´amica de sistemas multicuerpo.

1.2.2. C´odigos simb´olicos para el modelado multicuerpo

En la actualidad, en el campo de la Din´amica de Sistemas Multicuerpo (DSM) existen un amplio conjunto de paquetes enfocados a la generaci ´on simb ´olica de sistemas multicuerpo: 3D Mec [10], Robotran [11], MapleSim [7], Neweul-M2[12], PyDy[13], Dymola [14], Wolfram SystemModeler [15]. Cada uno de ellos afronta los problemas propios del modelado simb ´olico adoptando distin-tos compromisos.

(17)

1.2. Estado del arte. C´odigos para el modelado simb´olico

1.2.2.1. Paquetes comerciales

MapleSim y Neweul-M2 son dos paquetes comerciales para el dise ˜no y si-mulaci ´on de sistemas multicuerpo basados, respectivamente, en los motores simb ´olicos Maple y Symbolic Math Toolbox de MATLAB.

Tienen la ventaja de que el trabajo con ellos es muy amigable para el usuario y no son requeridos grandes conocimientos de mec´anica para su uso.

Aun as´ı, tienen la desventaja de que el usuario no sabe qu´e est´a haciendo y no tiene control sobre la formulaci ´on y parametrizaci ´on que utilizan, que-dando limitada a la elecci ´on hecha por el paquete. Neweul-M2est´a basado en la formulaci ´on de Newton-Euler [16] con coordenadas naturales. En [5] se ob-serva que MapleSim tambi´en utiliza la misma formulaci ´on con el mismo tipo de coordenadas. Ambos paquetes, delegan en su respectivo motor simb ´olico la generaci ´on y optimizaci ´on del c ´odigo a exportar. Adem´as tanto Neweul-M2 como MapleSim tiene herramientas para realizar el an´alisis num´erico de los sistemas, basadas en MATLAB y en Maple, respectivamente.

Entre otros paquetes comerciales se pueden citar Dymola, basado en el pa-quete Modelica [17] y Wolfram SystemModeler[18] basado en el c ´odigo Mat-hematica. Al igual que los anteriores, permiten realizar las fases de modelado y de an´alisis en en mismo entorno y ambos son totalmente opacos al usuario final.

1.2.2.2. Robotran

Robotran [11,19] dispone de un motor simb ´olico propio, raz ´on por la que se ha considera separadamente de los paquetes anteriores.

Robotran trabaja con una formulaci ´on recursiva espec´ıfica, en coordenadas relativas y con un proceso propio de atomizaci ´on “sobre la marcha”.

El conjunto de formulaci ´on recursiva y atomizaci ´on “sobre la marcha”, re-duce enormemente el esfuerzo computacional requerido. Esta es, probable-mente, la mayor ventaja de Robotran. Pero, a su vez, esta caracter´ıstica hace que no sea extensible a otras formulaciones y parametrizaciones.

Robotram permite generar y exportar c ´odigo para diversos lenguajes (C, MATLAB, Python) en los que realizar el an´alisis num´erico del sistema.

(18)

1.2.2.3. Librer´ıa PyDy

PyDy es un librer´ıa simb ´olica bajo licencia GPL1 para Python enfocada al modelado simb ´olico de sistemas multicuerpo. Esta basada en el motor simb ´oli-co Sympy y al igual que los anteriores trabaja ´oli-con un formulaci ´on cerrada ba-sada en las ecuaciones de Kane [20]. La generaci ´on y optimizaci ´on del c ´odigo a exportar se delega ´ıntegramente en el motor simb ´olico, si bien, al ser una librer´ıa para Python, la fase de an´alisis puede ser realizada en ese mismo len-guaje de programaci ´on.

1.2.2.4. 3D Mec

3D Mec es un programa desarrollado por el grupo de investigaci ´on al que pertenece el autor de esta tesis y que principalmente est´a enfocado a la docen-cia en el campo de DSM.

Dispone de su propio lenguaje de programaci ´on y de un motor simb ´olico propio que permite realizar operaciones con expresiones simb ´olicas. Su fun-cionalidad para el desarrollo de las ecuaciones de la DSM es completa, aun as´ı presenta ciertas limitaciones. Principalmente, el motor simb ´olico tiene li-mitaci ´on en cuanto al tama ˜no de las expresiones que se pueden generar y no dispone de m´etodos de optimizaci ´on de las mismas.

Permite exportar c ´odigo a los lenguajes C y MATLAB. 3D Mec tambi´en per-mite realizar las fases de modelado y de an´alisis ( ´unicamente la simulaci ´on num´erica) en el mismo entorno.

1.2.2.5. Librer´ıa lib 3D MEC-GiNaC

Como punto de partida de los algoritmos presentados en esta tesis doctoral, se ha de citar la librer´ıa simb ´olica lib 3D MEC-GiNaC [3].

Es una librer´ıa simb ´olica, para el lenguaje de programaci ´onC++de c ´odigo abierto enfocada al campo de la DSM. Est´a basa en el motor simb ´olico GiNaC2.

1General Public License:www.gnu.org/licenses/gpl-3.0.en.html

2www.ginac.de. Una librer´ıa para el ´algebra simb ´olica distribuida bajo licencia GPL y que

(19)

1.2. Estado del arte. C´odigos para el modelado simb´olico

lib 3D MEC-GiNaC ofrece una colecci ´on de datos abstractos como vecto-res, tensovecto-res, puntos, bases, matrices,... y una serie de operadores/funciones orientados al campo de la din´amica multicuerpo. Es agn ´ostica en relaci ´on a la parametrizaci ´on y a la formulaci ´on elegidas, que quedan a la elecci ´on del usuario.

La librer´ıa, en el momento de iniciar esta tesis, s´ı que dispon´ıa de un m´etodo propio de atomizaci ´on muy poco eficaz, que limitaba su uso a problemas de peque ˜no tama ˜no, adem´as de generar c ´odigo no completamente ´optimo. Por lo que el proceso de optimizaci ´on y de exportaci ´on de las expresiones se delegaba en el motor simb ´olico Maple.

1.2.2.6. C´odigos simb´olicos orientados a la rob´otica

Dentro del abanico de c ´odigos simb ´olicos orientados al modelado multi-cuerpo existe un conjunto de c ´odigos simb ´olicos espec´ıficamente orientados a la rob ´otica.

As´ı, en [21] se presentan cronol ´ogicamente diversos c ´odigos orientados a la rob ´otica computacional simb ´olica, enfatizando las caracter´ısticas de cada unos de ellos.

M´as recientemente, en [22] se presenta el c ´odigo simb ´olico SYMORO+, enfo-cado al modelado automatizado y simb ´olicos de robots. Este paquete permite generar simb ´olicamente los modelos cinem´aticos y din´amicos directo e inver-so, as´ı como modelos orientados a la identificaci ´on de los par´ametros inercia-les.

Por ´ultimo, se ha de citar “The Symbolic Robot Modeling Toolbox”, una co-lecci ´on de funciones orientadas a la modelizaci ´on simb ´olica de robots. Provee las herramientas necesarias para la obtenci ´on de las expresiones simb ´olicas de la cinem´atica y din´amica de robots. Perteneciente al paquete Robotics Toolbox de MATLAB [23]. En [24] se realiza una introducci ´on detallada de la cinem´ati-ca y din´amicinem´ati-ca de manipuladores de rob ´oticos de tipo serie usando el citado paquete.

(20)

1.2.3. Cinem´atica en sistemas multicuerpo

Frecuentemente, los sistemas multicuerpo se describen utilizando una topo-log´ıa de ´arbol [2] (Cap´ıtulo 3). Esta topolog´ıa permite identificar la recursivi-dad subyacente en los c´alculos cinem´aticos que es mayormente utilizada en combinaci ´on con una parametrizaci ´on en coordenadas relativas y que consti-tuye la base de las formulaciones recursivas [25].

En estas formulaciones, la cinem´atica de cada s ´olido se define a partir del s ´olido anterior seg ´un la citada estructura de ´arbol.

En [26] se propone un conjunto de algoritmos simb ´olicos que sacan prove-cho de dicha estructura de ´arbol de sistema y, adem´as, se propone un m´etodo para la resoluci ´on de las ecuaciones geom´etricas de forma simb ´olica.

Los algoritmos recursivos presentados en las anteriores dos referencias tie-nen dos inconvenientes:

1. Requieren una estructura de ´arbol y una acotaci ´on en coordenadas rela-tivas. Este hecho limita la recursividad al nivel de esta estructura. 2. No ofrecen libertad sobre la base de proyecci ´on en que se expresan los

resultados. Esto puede conllevar la generaci ´on de expresiones simb ´oli-cas simplificables trigonom´etricamente, que aumentan la complejidad computacional del modelo.

1.2.4. Din´amica en sistemas multicuerpo

Como limitaciones que actualmente presenta la DSM simb ´olica pueden ci-tarse [2]. En la secci ´on 5.7.3 se dice que el Principio de las Potencias Virtuales es un formalismo inapropiado para sistemas de medio y gran tama ˜no, debido al crecimiento exponencial del n ´umero de operaciones simb ´olicas a realizar. Esto es debido, seg ´un el autor, a que se han de obtener las ecuaciones del mo-vimiento “en extenso” y, dadas las caracter´ısticas del proceso de atomizaci ´on que se propone, no se puede aprovechar los beneficios de este proceso.

Es por esto que, la mayor parte de los autores [26,27,28], proponen trabajar con formulaciones recursivas de ordenO(N3)cuando el tama ˜no del sistema es medianamente grande. En la referencia anterior [2] (Secci ´on 5.7.3) se justifica

(21)

1.2. Estado del arte. C´odigos para el modelado simb´olico

el porqu´e.

1.2.5. Simulaci´on en tiempo real

El concepto de tiempo real es usado ampliamente en diferentes contextos, generalmente t´ecnicos. En general se dice que un proceso es en tiempo real cuando la respuesta del ordenador es tan r´apida o m´as que la velocidad re-querida por el usuario o proceso a analizar.

En el contexto de la din´amica multicuerpo, se entiende que un c´alculo se realiza en tiempo real cuando el estado del sistema en un instante de tiempo, a partir de otro instante de tiempo dado, se determina en un menor tiempo que la diferencia entre dichos instantes.

En la simulaci ´on de sistemas multicuerpo en tiempo real el mundo virtual y el mundo real se unen. Esto puede ser ´util para una gran numero de aplica-ciones en el contexto de la ingenier´ıa, como son el dise ˜no, control y testeo de sistemas. Por ejemplo, puede ser usada para predecir el comportamiento de un robot modelado en un entorno de control real [29], para localizar el punto de contacto rueda/v´ıa en veh´ıculos ferroviarios [30] o para evaluar el compor-tamiento del conductor en veh´ıculo por medio de un simulador [31].

En la denominada “generaci ´on num´erica”, la simulaci ´on en tiempo real de-pende de principalmente de cinco factores [32]:

C ´omo se ha modelado el sistema (parametrizaci ´on).

Qu´e principios de la mec´anica se ha empleado (Euler-Newton, Potencias Virtuales, ...).

La formulaci ´on utilizada (m´etodos recursivos, formulaci ´on con penali-zadores, ...).

Los algoritmos num´ericos para la resoluci ´on num´erica de los diferentes sistemas.

El tipo de integrador (impl´ıcito, expl´ıcito, multi-paso, ...).

En la “generaci ´on simb ´olica”, una vez modelado el sistema, la simulaci ´on est´a principalmente condicionada por tres factores:

(22)

que han de ser evaluados num´ericamente.

Los algoritmos num´ericos para la resoluci ´on num´erica de los diferentes sistemas.

El tipo de integrador (impl´ıcito, expl´ıcito, multi-paso, ...).

Se ha destacar que la influencia del integrador y de los algoritmos num´ericos es independiente del tipo de generaci ´on, sea num´erica o simb ´olica.

En cambio, el tama ˜no de las expresiones simb ´olicas a ser evaluadas num´eri-camente depende directamente de la parametrizaci ´on, principios mec´anicos y formulaci ´on utilizada. A diferencia de la “generaci ´on num´erica”, donde el modelo ha de ser generado para cada estado del sistema, en la “generaci ´on num´erica” el modelo ha de ser generados una vez y evaluado num´ericamen-te para diferennum´ericamen-tes estados del sisnum´ericamen-tema. El proceso de evaluaci ´on num´erica de expresiones simb ´olicas tiene un costo computacional mucho menor que el de generaci ´on num´erica.

En cada paso de integraci ´on, las expresiones simb ´olicas han de ser evalua-das num´ericamente, por lo que la velocidad de evaluaci ´on depende directa-mente tambi´en de c ´omo de optimizadas se hayan generado y exportado. Es en este caso donde se refleja la importancia de la atomizaci ´on. Es decir, cuanto mejor atomizadas (cuanto m´as se evite, por medio de variable auxiliares, re-petir c´alculos) est´en las expresiones, m´as r´apido se evaluar´an num´ericamente y m´as r´apido se podr´a realizar la simulaci ´on (Tiempo real).

1.3.

Objeto de esta Tesis Doctoral

El modelado simb ´olico para sistemas multicuerpo es una herramienta con gran potencial pero que tiene como mayor limitaci ´on un alto coste compu-tacional, ligado a la generaci ´on de las ecuaciones, matrices y vectores implica-dos en el modelo del sistema.

Es por ello que, en esta tesis, se presenta un conjunto de t´ecnicas enfocadas superar las limitaciones del modelado simb ´olico.

As´ı pues, los objetivos espec´ıficos han sido:

(23)

1.3. Objeto de esta Tesis Doctoral

expresiones simb ´olicas de una manera eficaz y, que una vez implementa-das, realizaren esta operaci ´on con el menor coste computacional.

El proceso de atomizaci ´on ha de ser independiente del tipo de formula-ci ´on y parametrizaformula-ci ´on utilizadas.

II Crear un conjunto de algoritmos simb ´olicos gen´ericos. Es decir:

Crear un algoritmo que realice la operaci ´on de sustituci ´on de s´ımbo-los en expresiones simb ´olicas atomizadas, sin que la desatomizaci ´on sea requerida, y que produzca un resultado as´ı mismo atomizado. Crear un algoritmo que realice la derivaci ´on de expresiones atomiza-das respecto a s´ımbolos obteniendo un resultado tambi´en atomizado, sin la necesidad de desatomizar.

III Proponer un conjunto de algoritmos que saquen partido de la atomiza-ci ´on, de forma que el c ´odigo que a ser exportado sea ´optimo, para que su evaluaci ´on num´erica sea lo m´as eficiente posible.

Demostrar la relaci ´on entre la atomizaci ´on y la eficacia num´erica.

IV Proponer un conjunto de m´etodos y de algoritmos que, sacando partido de la atomizaci ´on, calculen magnitudes cinem´aticas (vector de posici ´on, vector velocidad angular y vector velocidad de un punto respecto a una referencia) con el fin de obtener expresiones simb ´olicas ´optimamente pa-rentesizadas y atomizadas.

Estos algoritmos ha de permitir obtener las componentes de las magnitu-des cinem´aticas representadas en la base que se considere “ ´optima”. V Proponer un m´etodo para el c´alculo de la matriz de masa y del vector

de fuerzas generalizadas de un sistema por medio del Principio de las Potencias Virtuales de manera que genere estos elementos atomizados y parentesizados ´optimamente.

Demostrar que el citado principio es v´alido para problemas de tama ˜no mediano y grande produciendo resultados simb ´olicos tan buenos como con otros formalismos propuestos en la literatura.

VI Realizar un an´alisis sobre el origen de las expresiones susceptibles de ser simplificadas trigonom´etricamente y proponer un m´etodo para evitar que aparezcan, evitando as´ı tener que realizar dicha simplificaci ´on.

(24)

1.4.

Estructura de la Tesis Doctoral

La tesis est´a dividida en un total de siete cap´ıtulos, adem´as de este cap´ıtulo de introducci ´on.

En el cap´ıtulo 2 se realiza una introducci ´on a la DSM y se describen, sin entrar en profundidad, los m´etodos utilizados para el modelado din´amico y cinem´atico de sistemas multicuerpo. Este cap´ıtulo tiene el objetivo de que la tesis sea autocontenida, es decir, que las referencias que se hagan a lo largo de la misma a aspectos relativos a la DSM est´en presentes en la tesis. Adem´as, este cap´ıtulo tiene el objetivo de facilitar al lector la nomenclatura utilizada a lo largo de la tesis.

En el cap´ıtulo3se presentan los algoritmos simb ´olicos de tipo gen´erico, es decir, no enfocados al contexto de la DSM. El cap´ıtulo est´a dividido en tres partes, en la primera parte (secciones3.1a3.4) se presenta el proceso de ato-mizaci ´on y se propone un conjunto de t´ecnicas para realizar este proceso de la manera m´as eficaz posible. En la siguiente secci ´on, se propone un conjun-to de algoritmos para la sustituci ´on de un s´ımbolo en expresiones (secci ´on

3.5) de forma que esta operaci ´on se realice directamente en expresiones ya atomizadas. A continuaci ´on, se pospone otro algoritmo para la diferenciaci ´on simb ´olica de expresiones atomizadas con respecto a s´ımbolo (secci ´on3.6). En la ultima parte del cap´ıtulo (secci ´on3.7) se proponen un conjunto de t´ecnicas y algoritmos para la generaci ´on y exportaci ´on de c ´odigo optimizado basado en expresiones atomizadas.

El cap´ıtulo4se presenta un conjunto de t´ecnicas y de algoritmos enfocados a ser usados en el contexto de la DSM. En primer lugar se realiza un an´alisis de la topolog´ıa que presentan los sistemas multicuerpo y de las ventajas que pueden ser obtenidas a partir de esta. A continuaci ´on, en4.3, se propone un conjunto de operadores para el c´alculo de magnitudes cinem´aticas (vectores de posici ´on y de velocidad), con resultados optimizados en cuanto a tama ˜no de las expresiones y tiempo de c´alculo. El c´alculo de estos vectores de posici ´on y de velocidad es independiente del formulismo y de la parametrizaci ´on usados. En la secci ´on4.4se propone un extensi ´on del elemento tensor en el contexto de la DSM, generaliz´andolo a tensores de rango dos. Desde la secci ´on 4.5 a la secci ´on4.8se propone un m´etodo para el c´alculo de la matriz de masa y el vector de fuerzas generalizadas basado en el PPV que saque m´aximo provecho

(25)

1.4. Estructura de la Tesis Doctoral

de la atomizaci ´on y realice estos c´alculos de la forma m´as r´apida posible. El cap´ıtulo5se presenta una t´ecnica para reducir el tama ˜no de las expresio-nes simb ´olicas evitando que aparezcan expresioexpresio-nes sean susceptibles de ser simplificadas, tanto algebraica como trigonom´etricamente, sin perder la inde-pendencia respecto al tipo de formulaci ´on o parametrizaci ´on que se utilice.

En el cap´ıtulo6se realiza un an´alisis de los algoritmos y t´ecnicas que se pre-sentan en la tesis. Los resultado obtenidos se eval ´uan en t´erminos de tama ˜no de las expresiones y del c ´odigo generado y tiempo de computaci ´on.

Por ´ultimo, en el cap´ıtulo7se presentan las conclusiones obtenidas en esta tesis doctoral y en el cap´ıtulo8una serie de l´ıneas futuras de trabajo.

(26)
(27)

CAP´ITULO 2

INTRODUCCI ´

ON AL

MODELADO DE SISTEMAS

MULTICUERPO

En este cap´ıtulo se hace una breve introducci ´on te ´orico general sobre el mo-delado de sistemas multicuerpo.

Se describe el comportamiento cinem´atico y din´amico de un sistema multi-cuerpo con la intenci ´on introducir los conceptos y la notaci ´on usados en este documento.

De igual manera se hace una introducci ´on a la simulaci ´on de sistemas mul-ticuerpo y a los distintos elementos necesarios para poder llevarla a cabo.

2.1.

Descripci´

on de sistema multicuerpo

Un sistema multicuerpo es una colecci ´on de part´ıculas naturales: cuerpos r´ıgidos o flexibles. Estos cuerpos est´an sometidos a acciones procedentes de

(28)

su interacci ´on con cuerpos del mismo sistema o del exterior.

La Din´amica de Sistemas Multicuerpo (DSM) estudia el comportamiento de dicho sistema. El problema de “din´amica directa” tiene por objeto, dadas las condiciones iniciales del sistema, determinar el estado del mismo bajo la in-fluencia de las distintas acciones exteriores. El problema de “din´amica inver-sa” tiene por objeto determinar qu´e acciones son necesarias para que el sistema se encuentre en un estado determinado.

Esta tesis ´unicamente se centra en el concepto de cuerpo r´ıgido. Un cuer-po se puede sucuer-poner r´ıgido si no presenta deformaci ´on o su deformaci ´on es tan peque ˜na que no afecta su movimiento general. Aun as´ı, la mayor´ıa de la t´ecnicas presentadas s´ı que son extensibles al campo de los s ´olidos flexibles.

Los cuerpos pueden estar conectados por diversos tipos de “enlaces” que restringen su movimiento relativo. Generalmente, este tipo de enlaces entre s ´olidos se pueden considerar sin masa.

Las fuerzas necesarias para garantizar din´amicamente las restricciones ci-nem´aticas impuestas por lo enlaces se denominan “fuerzas de enlace”. En el contexto particular del Principio de las Potencias Virtuales (PPV) estas fuerzas pueden ser caracterizadas mediante los multiplicadores del Lagrange.

Adem´as de estas fuerzas, pueden actuar sobre el sistema fuerzas de otra naturaleza como fuerzas externas o bien, fuerzas especificadas mediante una ley constitutiva en t´erminos del estado del sistema.

2.2.

Modelado cinem´

atico

El modelado cinem´atico tiene como fin la designaci ´on de una parametriza-ci ´on del sistema que permita determinar la posiparametriza-ci ´on, veloparametriza-cidad y aceleraparametriza-ci ´on de cada uno de los s ´olidos que componen dicho sistema.

2.2.1. Coordenadas generalizadas

En un modelo multicuerpo gen´erico la posici ´on y orientaci ´on de cada uno de los elementos que lo compone puede ser fijada mediante dos magnitudes. Su posici ´on puede ser acotada mediante el vector de posici ´onrde uno de sus

(29)

2.2. Modelado cinem´atico

puntos respecto de un punto arbitrario conocido y su orientaci ´on a trav´es de una matrizRde cambio de base respecto a una orientaci ´on arbitraria conocida. Tanto el vector r como la matriz R pueden depender de un conjunto de variables. Si estas variables dependen del tiempo se denominan Coordenadas Generalizadas, en cambio, si no dependen del tiempo se denominanPar´ametros geom´etricos.

Se define elVector de coordenadas Generalizadascomo:q= [q1,q2, ...,qp]T,

don-deqi;i=1, ...,pson coordenadas generalizadas.

Las coordenadas generalizadas pueden ser distancias y ´angulos y, princi-palmente, pueden ser clasificadas en funci ´on de c ´omo se definan en absolutas, relativas o naturales.

Su derivada con respecto al tiempo = [q˙1, ˙q2, ..., ˙qp]Tse denominaVector de

Velocidades Generalizadas.

Por ´ultimo, la derivada segunda = [q¨1, ¨q2, ..., ¨qp]T se denomina Vector de

Aceleraciones Generalizadas.

2.2.2. Concepto de Observador o Referencia, y de Velocidad y Aceleraci´on de un punto

UnObservador(oReferencia) puede entenderse por una pareja formada por un punto (O) y una base (B). El punto hace referencia al “Lugar del espacio desde donde se observa” y la base a la “Orientaci ´on desde la que se observa”. Los conceptos de vector de posici ´on, velocidad y aceleraci ´on son dependien-tes del observador.

Se define el vectorrOPR como el vector de posici ´on de un punto gen´ericoP

con respecto al puntoOR, donde el sub´ındiceRindica que el punto es fijo en

la referenciaR.

El vector velocidad de un punto gen´ericoPcon respecto a la referenciaRse define como: vPR= drPO R dt R (2.1)

(30)

dondeRindica la referencia en la cual se calcula la derivada.

El vector aceleraci ´on del punto P con respecto a la referencia R, an´aloga-mente, se define: aPR= dvPR dt R (2.2) SeaRB2

B1 la matriz de cambio de base que proyecta las componentes de un vector definidas en la baseB1sobre la baseB2, es decir:

u B 2 =R B2 B1 u B 1 (2.3) donde

u B indica la tres tupla formada por las componentes del vectoru

proyectadas en la baseB.

La derivada de una vector arbitrarioucon respecto a una referencia arbitra-ria se calcula seg ´un:

du dt R 1 = du dt R 2 +ωgB2 B1u (2.4)

en donde B1 es la base asociada la referencia R1, B2 es la base asociada la referenciaR2y g ωBB2 1 =R B2 B1· ˙ RB2 B1 T (2.5)

Se denomina vector velocidad angular de la referenciaB2respecto a la refe-renciaB1al vector1ωBB2

1, asociado a la matriz anti-sim´etrica g ωBB2 1. Por consiguiente, du dt R 1 = du dt R 2 +ωBB2 1∧u (2.6)

1en esta tesis se usan indistintamente la notaci ´on

(31)

2.2. Modelado cinem´atico

La aceleraci ´on angular se define:

˙ ωBB2 1 = dωBB2 1 dt R 1 (2.7) 2.2.3. Composici´on de movimientos

Sean las referencias (u observadores)R1yR2, seanO1yO2, dos puntos fijos, respectivamente, en las citadas referencias. Por composici ´on, para un punto gen´ericoP, se tiene:

Composici ´on de vectores de posici ´on: rPO1 =r

O2

O1+r

P

O2 (2.8)

Composici ´on de velocidades. Derivando respecto al tiempo en la referencia

R1la expresi ´on anterior, se obtiene:

vPR1 =vPR2+vO2 R1+ω R2 R1∧r P O2 (2.9)

Composici ´on de aceleraciones. Derivando respecto al tiempo en la referencia

R1la expresi ´on anterior, se obtiene:

aPR1 =a P R2+a O2 R1 +ω R2 R1∧(ω R2 R1∧r P O2) +2ω R2 R1∧v P R2 (2.10)

Es decir, si se conocen los vectores de posici ´on, velocidad y aceleraci ´on de un punto respecto a una referencia, las ecuaciones anteriores permiten obtener las mismas magnitudes del puntoPpero expresadas respecto a otra referencia.

(32)

2.2.4. Ecuaciones cinem´aticas

En general, pueden existir relaciones entre las coordenadas generalizadas. Estas se denominanrelaciones geom´etricas de enlaceoecuaciones cinem´aticas para las coordenadas generalizadasy toman la forma general.

Φ(q,t) =      Φ1 Φ2 .. . Φq      =0 (2.11)

dondeges el n ´umero de ecuaciones geom´etricas independientes.

Para un sistema acotado con pcoordenadas generalizadas, existe un n ´ume-rom = p−g de coordenadas independientes. Diferentes parametrizaciones pueden conducir a valores diferentes depygperomes un invariante.

Las derivadas de las ecuaciones geom´etricas con respecto al tiempo expre-san las relaciones que existen entre las velocidades generalizadas. Se denomi-nan ecuaciones de enlace cinem´atico o ecuaciones cinem´aticas para las velocidades generalizadas.

˙

Φ= dΦ

dt (q,t) =0 (2.12)

Aplicando la regla de la cadena se ve que estas ecuaciones son lineales en las velocidades generalizadas.

˙

Φ=Φq(q,t)+Φt(,t) =0 (2.13)

Donde

Φq= Φ

q (2.14)

es la matriz jacobiana de las ecuaciones geom´etricas con respecto al vector de coordenadas generalizadas y

(33)

2.2. Modelado cinem´atico

Φt=

Φ

t (2.15)

es el vector resultante de derivar parcialmente las ecuaciones geom´etricas con respecto al tiempo. Se ha de notar que: Φq=Φ˙q˙ (2.16) Donde: ˙ Φq˙= Φ˙ (2.17)

As´ı pues, la ecuaci ´on2.13se puede escribir como: ˙

Φ=Φ˙q˙(q,t)+Φt(,t) =0 (2.18)

Adem´as puede existir un conjuntor de relaciones adicionales entre las ve-locidades generalizadas que no tienen un origen geom´etrico. A estas se les denomina ecuacionesno-hol´onomasdebido a que no provienen de la derivada con respecto al tiempo de ninguna relaci ´on entre coordenadas. Esta ecuaciones provienen de relaciones que deben satisfacer las velocidades generalizadas, como por ejemplo la condici ´on de no deslizamiento.

Las ecuacionesno-hol´onomaspueden expresarse de forma general como:

˙ ΦNH=      ΦNH 1 ΦNH 2 .. . ΦNH r      =Φ˙NHq˙ (q,t)+ΦNHt (q,t) =0 (2.19)

En este documento el super´ındiceNHhace referencia aNo-Hol´onomo. Se denominac= g+ral n ´umero total de ecuaciones de enlace cinem´atico.

(34)

Se denominagrados de libertadal conjunto de velocidades generalizadas in-dependientes, dondenes el n ´umero de grados de libertad del sistema, es decir:

n= p−c. N ´otese quen ≤m.

Es importante notar que si no existen ecuaciones no-hol ´onomas (r = 0) se cumple que m = n y por lo tanto la matriz jacobiana de velocidades (Φ˙q˙)

y de posiciones coinciden (Φq). En caso de existir relaciones no-hol ´onomas,

la matriz jacobiana de posici ´on coincide solo con la sub-matriz de la matriz jacobiana de velocidades o aceleraciones asociada a las ecuaciones hol ´onomas. Este hecho puede tenerse en cuenta para obtener una ventaja computacional en la resoluci ´on de los diferentes sistemas de ecuaciones involucran las citadas matrices jacobianas.

De esta forma, el conjunto completo de ecuaciones para las velocidades ge-neralizadas puede escribirse como:

" ˙ Φq˙ ˙ ΦNH ˙ q # ˙ q+ Φ t ΦNH t =0 (2.20)

Por brevedad en la notaci ´on, y mientras no se indique lo contrario, este con-junto completo de ecuaciones para velocidades se denotar´a:

˙

Φ=Φ˙q˙(q,t)+Φt(q,t) =0 (2.21)

Es decir, de forma an´aloga a la ecuaci ´on:2.18.

Este abuso en la notaci ´on puede llevar al error, as´ı que se ha de prestar aten-ci ´on en no confundir la matriz jacobiana asoaten-ciada a las ecuaaten-ciones geom´etricas (Φq) y la asociada a las velocidades (Φ˙q˙).

En este documento se defineβ=−Φt(q,t), de forma que la ecuaci ´on

ante-rior puede expresarse como: ˙

Φq˙(q,t)=β (2.22)

(35)

(ecuacio-2.3. Modelado Din´amico

nes de velocidades hol ´onomas y no-hol ´onomas), se obtienen las ecuaciones que relacionan las aceleraciones generalizadas.

¨

Φ=Φ˙q˙(q,t)+Φ˙q(,q,t)+Φ˙t(,q,t) =0 (2.23)

Se ha de notar que las matrices jacobianas de este sistema para las acelera-ciones coincide con las matrices del sistema para velocidades, es decir:

˙ Φq˙=Φ¨q¨ y Φ˙q=Φ¨q˙ (2.24) Donde: ¨ Φq¨= ¨ Φ y ¨ Φq˙= ¨ Φ (2.25)

As´ı pues, la ecuaci ´on2.23se puede escribir como: ¨

Φ=Φ¨q¨(q,t)+Φ¨q˙(,q,t)+Φ˙t(,q,t) =0 (2.26)

De forma an´aloga, en este documento se denomina γ = −Φ¨q˙(,q,t)˙

Φt(,q,t), de forma que la ecuaci ´on anterior puede expresarse como:

¨

Φq¨(q,t)=γ (2.27)

Hay que destacar la linealidad de las ecuaciones anteriores en t´erminos de las aceleraciones generalizadas.

2.3.

Modelado Din´

amico

El modelado din´amico de sistemas multicuerpo tiene como fin la obtenci ´on de las ecuaciones que describen el comportamiento din´amico del mismo.

(36)

2.3.1. Planteamiento de las ecuaciones din´amicas

Existen diversas formas de abordar la obtenci ´on de las ecuaciones de la din´amica. Un gran n ´umero de autores utilizan la formulaci ´on de Newton-Euler, mientras que otros se basan en las ecuaciones de Lagrange.

Aunque la mayor´ıa de las t´ecnicas presentadas en esta tesis est´an pensadas para ser de car´acter general, independientes de la formulaci ´on, para obtener las ecuaciones din´amicas se ha utilizado el PPV (o principio de Jourdain).

Se ha decido usar el este principio por algunas de las ventajas que presenta: Es la metodolog´ıa m´as utilizada ya que permite abordar el an´alisis din´ami-co sin tener que plantear un n ´umero elevado de ecuaciones.

Produce las ecuaciones m´as compactas y con propiedades computacio-nales m´as interesantes (por ejemplo: simetr´ıa en la matriz de masa). Representa desde la perspectiva simb ´olica toda la riqueza conceptual de forma que las t´ecnicas presentadas en esta tesis son de aplicabilidad ge-neral. Por ejemplo, tanto las ecuaciones de Lagrange, as´ı como las de Newton-Euler pueden ser obtenidas a partir de este principio.

2.3.1.1. Acciones de inercia actuantes sobre un s´olido r´ıgido

Para un s ´olido2 gen´ericoSk, dondeBk es un punto cualquiera

cinem´atica-mente perteneciente a dicho s ´olido,Gk es su centro de masa3, ymk yISBkk son,

respectivamente, la masa y el tensor de inercia4 definido en el puntoB

k del

s ´olido, las fuerzas y momentosde inercia ode D’Almbert vienen determina-das por:

2Por s ´olido r´ıgido se entiende a un conjunto de puntos del espacio que se mueven de

ma-nera que las distancias relativas entre ellos no var´ıan con el tiempo.

3Ese punto no tienen porque coincidir con la posici ´on de ninguna de las part´ıculas del

s ´olido.

4Algunos autores, por simplicidad, definen este tensor respecto al centro de masas. En esta

tesis, por generalizar su definici ´on, se permite que sea definido respecto a cualquier punto del s ´olido y con sus componentes proyectadas de forma natural en la base del s ´olido.

(37)

2.3. Modelado Din´amico FSk =m kaGRIk MSk Bk = − dhSk Bk dt RI −mkrGBkk∧a Bk RI (2.28) Donde aGk

RI es la aceleraci ´on lineal de centro de masas del s ´olido con

res-pecto a la referencia inercial del s ´olido. hSk

Bk es el momento angular del s ´olido

definido en el puntoBkdel mismo y que se define como:

hSk Bk =I Sk Bkω Sk RI (2.29)

Se denomina torsor5de acciones de inerciaode acciones de inercia de D’Alembert

para un s ´olido gen´erico Sk aplicado en el punto Bk a la pareja de fuerza y

momento de inercia: WSk Bk = " FSk MSk Bk # =    −mkaGRIk −dh Sk Bk dt RI −mkrGBkk∧a Bk RI    (2.30)

2.3.1.2. Acciones exteriores actuantes sobre un s´olido r´ıgido

Se denomina torsor de laswkacciones exterioresal s ´olidoSkal torsor:

wSk Bk = wk

j=1 wSk Bkj= wk

j=1 " fSkj mSk Bkj # (2.31) DondewSk

Bkj es el torsor asociado a la acci ´on exterior j-´esima1 formado a la

pareja de fuerzafSk

j y momentomSBkkj.

(38)

2.3.1.3. Ecuaciones din´amicas

Utilizando la notaci ´on de torsores empleada anteriormente las ecuaciones de Newton-Euler anal´ıticas para un sistema formado por nS s ´olidos puede

escribirse: e= nS

k=1    −mkaGRIk −dh Sk Bk dt RI −mkrGBkk∧a Bk RI   + nS

k=1 wk

j=1 " fSkj mSk Bkj # =0 (2.32)

2.3.1.4. Principio de las potencias virtuales

El PPV puede ser enunciado como:

La suma de la potencia virtual de las acciones actuantes sobre un sistema,incluidas las acciones de inercia, es igual a cero.

Es decir, es la versi ´on anal´ıtica de la Segunda Ley de Newton. En su aplicaci ´on resulta de inter´es la siguiente propiedad:

La potencia virtual de las acciones de enlace actuantes sobre el sistema es cero para velocidades virtuales compatibles con los enlaces.

La propiedad anterior no es otra cosa que la versi ´on anal´ıtica de la Tercera Ley de Newton y puede ser utilizada para la caracterizaci ´on anal´ıtica de las acciones de enlace.

Sea el torsor gen´ericowS B =

fT mTBTactuante sobre un puntoBgen´erico perteneciente a un s ´olidoS, entonces, la potencia virtual del torsor cuando so-lamente cambia la velocidad ˙qiy ´esta toma el valor virtual ˙qvi puede escribirse

como: ˙ wi = fS mSB T q˙i vBRI ωSRI ˙ qvi =wSB tSB q˙i (2.33) dondevBS

RIes la velocidad del punto Bperteneciente al s ´olidoSrespecto de

(39)

2.3. Modelado Din´amico

la referenciaRI. De manera dual al concepto de torsor, la pareja de velocidades

tSB = hvBS RI T

ωSRIT iT

se le denomina “grupo cinem´atico” o “torsor cinem´ati-co”.

Tomando los torsores de inercia de cada uno de losnS s ´olidos y de laswk

acciones exteriores aplicadas sobre cada s ´olido Sk se plantea el PPV por cada velocidad generalizada ˙qiobteni´endose:

ei = nS

k=1 " Fk Mk Bk #T q˙i " vBk RI ωSRIk # ˙ qvi + nS

k=1 wk

j=1 " fSkj mSk Bkj #T q˙i " vBk RI ωSRIk # ˙ qiv=0 (2.34)

Para un sistema con un n ´umero pde coordenadas generalizadas, de forma compacta, el conjunto completo de ecuaciones toma la siguiente forma:

e= nS

k=1 " Fk Mk Bk #T " vBk RI ωSRIk # + nS

k=1 wk

j=1 " fSkj mSk Bkj #T " vBk RI ωSRIk # =0 (2.35)

Estas ecuaciones forman un sistema de p ecuaciones y como se ve en las mismas, el PPV permite obtener las ecuaciones din´amicas como un sumatorio de productos de torsores por velocidades virtuales (Fuerzas por velocidades y momentos por velocidades angulares).

Hay que remarcar que los factores ˙qv se han eliminado; se simplifican por

ser su valor arbitrario, si son coordenadas independientes.

Los movimientos virtuales empleados son en general, compatibles con los enlaces presentes en el sistema mec´anico, e incompatibles con otros. Por a la tercera ley de Newton, los torsores de enlace cuyos enlaces son respetados (no rotos) por la acotaci ´on de partida no producen potencia virtual. Por ello, solo las inc ´ognitas de enlace asociadas a los enlaces que no son compatibles con la acotaci ´on del sistema, pueden aparecer en las ecuaciones resultantes. Por inc ´ognita de enlace se entiende al conjunto de inc ´ognitas utilizadas para caracterizar las fuerzas y momentos de enlace actuantes sobre los s ´olidos del sistema.

(40)

con m´as rigor del PPV.

2.3.1.5. Inc´ognitas de enlace

La ecuaci ´on anterior permite determinar en un instante arbitrario de tiempo

t, el valor de las aceleraciones generalizadas del sistema. Esta informaci ´on es utilizada para realizar la integraci ´on num´erica del sistema multicuerpo, de-nominada simulaci ´on din´amica, que se ver´a, m´as en detalle, m´as adelante en este cap´ıtulo.

Las citadas aceleraciones no son las ´unicas inc ´ognitas del problema din´ami-co. Tambi´en aparecen como inc ´ognitas en el sistema anterior las inc ´ognitas de enlacee = [e1,e2, ...,en]Tasociadas a los enlaces que no son compatibles con

la acotaci ´on del sistema. El n ´umero de inc ´ognitas de enlace es igual al n ´umero de movimientos impedidos respecto al sistema de s ´olidos libre.

En un sistema planteado en t´erminos de un conjunto de pcoordenadas ge-neralizadas q para el que existenc = g+r relaciones cinem´aticas entre las aceleraciones generalizadas, el conjunto de ecuaciones

Φq˙q¨+Φ˙q˙q˙+Φ˙t=0 (2.36)

ha de ser a ˜nadido al conjunto 2.35de ecuaciones din´amicas para que este sistema de ecuaciones sea completo.

2.4.

Estructura del sistema multicuerpo

Las ecuaciones din´amicas son lineales con respecto a las aceleraciones gene-ralizadas,.

Se define la matriz de masaM como la parte que “acompa ˜na” a las acele-raciones generalizadas en las ecuaciones de la din´amica y depende exclusiva-mente de las coordenadas generalizadas y de los par´ametros del sistema. En general, la matrizMes sim´etrica y definida positiva.

(41)

2.4. Estructura del sistema multicuerpo

Por otra parte las acciones de enlace son lineales (Ve) con respecto a las

inc ´ognitas de enlace,e.

El conjunto de las ecuaciones din´amicas toma la forma general:

M ¨q+VTee=δ (2.37)

O escrito en forma matricial: M VTe ¨ q e =δ (2.38)

Dondeδo t´ermino independiente contiene el resto de fuerzas generalizadas: Coriolis, centr´ıpetas, constitutivas y externas. En esta tesis ha este t´ermino se le ha denominado “vector de fuerzas generalizadas”.

Si a estas ecuaciones les a ˜nadimos las relaciones de las aceleraciones gene-ralizadas (Ecuaci ´on2.27) para formar un sistema completo, se tiene que:

M VTe Φq˙ 0 ¨ q e = δ γ (2.39) 2.4.0.6. Multiplicadores de Lagrange

La fuerza generalizada asociada a las acciones de enlace puede expresarse tambi´en en t´erminos del vector de multiplicadores de Lagrangeλ.

Es decir,

VTee=Φ T

˙

qλ (2.40)

As´ı pues, el sistema completo de ecuaciones quedar´ıa de la siguiente forma: M ΦTq˙ Φq˙ 0 ¨ q λ = δ γ (2.41)

(42)

Como la matriz de masaMes sim´etrica, la matriz del sistema completo tam-bi´en es sim´etrica, aunque, en general, no tiene porqu´e ser definida positiva.

2.4.0.7. Soluci´on del sistema

A la soluci ´on del sistema de ecuaciones anterior para la obtenci ´on de las ace-leraciones generalizadas y de las inc ´ognitas de enlace (λoe) conocidos los valores de las coordenadas y velocidades generalizadas en un instante concre-to de tiempotse denomina “problema din´amico”.

2.5.

Simulaci´

on de sistemas multicuerpo

Una simulaci ´on, por definici ´on, es una imitaci ´on de un proceso, sistema o suceso del mundo real. Para realizar dicha simulaci ´on se requiere de un mo-delo, en este caso, el modelo multicuerpo, y la simulaci ´on se encarga de repre-sentar el comportamiento de este modelo a lo largo del tiempo.

En el contexto de las DSM las simulaciones m´as relevantes son la simulaci ´on anal´ıtica y la simulaci ´on din´amica.

2.5.1. Problema de ensamblaje

Antes de comenzar la simulaci ´on, las coordenadas generalizadas deben sa-tisfacer el conjunto de ecuaciones geom´etricas y en general, el valor que toman las coordenadas generalizadas no tiene por qu´e satisfacerlas.

Se denomina “Problema de ensamblaje” a la determinaci ´on del conjunto de valores de las coordenadas que satisfagan la ecuaci ´on2.11, es decir:

Φ(q,t) =0 (2.42)

Cuando las coordenadas generalizadas satisfacen la ecuaci ´on anterior se di-ce que sistema est´a “montado”.

(43)

2.5. Simulaci´on de sistemas multicuerpo

al conjunto de valores iniciales que toman las coordenadas generalizadas al inicio de la simulaci ´on.

La forma m´as usual de resolver este sistema de ecuaciones no lineales es utilizar el m´etodo de Newton-Raphson que sustituye el sistema no lineal de ecuaciones por una aproximaci ´on en serie de Taylor de primer orden respecto de las inc ´ognitas.

As´ı pues, las ecuaciones geom´etricas2.11linealizardas en torno al valor de

qk, correspondiente a la iteraci ´on k-´esima se pueden escribir de la siguiente manera:

Φ(qk−1,t) +Φq(qk−1,t)(qk−qk−1) =0 (2.43)

Si la iteraci ´on del algoritmo Newton-Raphson comienza con k = 1, la so-luci ´on m´as pr ´oxima al conjunto de valores iniciales con la precisi ´on deseada,

tolΦ,tolq, se obtendr´a cuando se cumpla

Φ(qk,t) <tolΦ y qk−qk−1 < tolq. En general el n ´umero de ecuaciones geom´etricas es inferior al de coorde-nadas generalizadas, es decir, el sistema de ecuaciones lineal del m´etodo de Newton-Raphson es compatible indeterminado. Por lo tanto, habr´a un con-junto infinito de soluciones, de entre las cuales habr´a que elegir una. Se ha de elegir la soluci ´on que satisfaga el sistema y que modifique el valor de la iteraci ´on anteriorqk−1lo m´ınimo posible.

A tal fin, una posibilidad es la utilizaci ´on de la pseudoinversa en la resolu-ci ´on de2.43de forma que en cada iteraci ´on la variaci ´onqkqk−1tiene norma m´ınima. Es decir:

qk =qk−1+Φq(qk−1,t)·Φ(qk−1,t) (2.44) En ocasiones es inevitable la introducci ´on de ecuaciones redundantes, en tal caso el sistema2.43puede ser incompatible, salvo en el entorno de la soluci ´on. Para evitar este problema, puede ser usada la misma soluci ´on basada en la pseudoinversa.

(44)

gene-ralizadas no tienen por qu´e satisfacer el conjunto de ecuaciones geom´etricas, el conjunto de valores iniciales,0, asignado a las velocidades generalizadas tampoco tiene por qu´e satisfacer las ecuaciones cinem´aticas para las velocida-des generalizadas.

El problema de velocidades inicial se resuelve de forma an´aloga obteniendo los valores del vector de velocidades generalizas que menos modifique dicho valor inicial de las mismas. Es decir:

˙

q=0+Φ˙q˙(q,0,t) βΦ˙q˙(q,0,t)·0

(2.45)

Se ha destacar que el problema de ensamblaje es equivalente a la proyecci ´on de las coordenadas y velocidades sobre el plano tangente a las restricciones (denominada “correcci ´on”) que es requerida en los problemas de integraci ´on asociados a la simulaci ´on din´amica del sistema.

Por ´ultimo cabe se ˜nalar que corregir las aceleraciones generalizadas de un sistema, por lo general, tiene inter´es en caso de que se quiera realizar ´unica-mente una simulaci ´on cinem´atica.

2.5.2. Problema de posici´on, velocidad y aceleraci´on inicial

Las ecuaciones geom´etricas, en general, no forman un conjunto completo de ecuaciones (n ´umero de ecuaciones geom´etricas independientes es menor que n ´umero el de coordenadas generalizadas). Puede que se desee no s ´olo que el valor de las coordenadas generalizadas tome un valor compatible con las ecua-ciones geom´etricas (problema de ensamblaje) sino que adem´as el mecanismo presente una posici ´on inicial espec´ıfica. Ya se ha comentado que pueden existir infinitas soluciones y se puede desear estar cerca de una de ellas.

En este caso es necesario aumentar el conjunto de ecuaciones geom´etricas, con ecuaciones adicionales destinadas a fijar la posici ´on del inicial sistema. El n ´umero de ecuaciones adicionales ha de coincidir con el n ´umero de coordena-das independientes del sistema, en el caso en que se desee una posici ´on en que todas las coordenada generalizadas queden fijadas.

(45)

2.5. Simulaci´on de sistemas multicuerpo

qj−qj0 =0 (2.46) El conjunto total de ecuaciones geom´etricas, denominado ΦInit(q,t), esta formado por las ecuaciones geom´etricas vistas en2.11m´as el conjunto de ecua-ciones anteriores, as´ı pues:

ΦInit(q,t) =       Φ(q,t) .. . qj−qj0 .. .       =0 (2.47)

Para obtener el valor de las coordenadas generalizadas, de forma que el sis-tema se encuentre montado y en la posici ´on deseada, se aplica el algoritmo de Newton-Raphson descrito en el apartado anterior al conjunto de ecuaciones geom´etricas ampliado con las ecuaciones adicionales para fijar la posici ´on.

An´alogamente, las ecuaciones cinem´aticas para velocidades generalizadas no forman un conjunto completo de ecuaciones (n ´umero de ecuaciones para velocidades independientes es menor que el n ´umero de coordenadas genera-lizadas). As´ı si se desea inicializar las velocidades de forma que su valor sea compatible con ellas y adem´as especificar la velocidad concreta del sistema, es necesario introducir un conjunto adicional de ecuaciones para que el sistema resultante sea compatible determinado.

Generalmente estas ecuaciones toman la forma: ˙

qj−q˙j0 =0 (2.48)

De forma an´aloga al problema de posici ´on, el conjunto total de ecuacio-nes cinem´aticas para velocidades generalizadas, denominadoΦ˙Init(q,,t), es-ta formado por las ecuaciones geom´etricas vises-tas en2.12m´as el conjunto de ecuaciones anteriores, as´ı pues:

(46)

˙ ΦInit(q,q˙,t) =       ˙ Φ(q,,t) .. . ˙ qj−q˙j0 .. .       =0 (2.49)

Aunque por lo general carece de inter´es pr´actico, un problema an´alogo al anterior puede resolverse para el caso en que se desee especificar la aceleraci ´on del sistema en el instante inicial, por ejemplo en una simulaci ´on cinem´atica.

2.5.3. Simulaci´on cinem´atica

Un problema que suele resultar de inter´es es la simulaci ´on ´unicamente del movimiento del sistema, para por ejemplo, conocer su espacio de trabajo.

Este problema puede ser abordado de dos formas, seg ´un la naturaleza del mismo.

2.5.3.1. Sin integraci´on

Si el sistema no tiene restricciones no-hol ´onomas basta con introducir un conjunto adicional de ecuaciones para las coordenadas, velocidades y acele-raciones generalizadas. Este conjunto de ecuaciones adicionales fijan la evolu-ci ´on de un conjunto de las coordenadas, veloevolu-cidades y aceleraevolu-ciones generali-zadas elegidas como independientes para realizar la simulaci ´on. En este caso la forma general de las citadas ecuaciones es:

qj− fj(t) =0

˙

qj− f˙j(t) =0

¨

qj− f¨j(t) =0

De esta forma la simulaci ´on cinem´atica del mecanismo durante un intervalo de tiempo, se consigue mediante la soluci ´on para los diferentes instantes de tiempo de los problemas de posici ´on, velocidad y aceleraci ´on ( Secci ´on2.5.2) incrementados respectivamente con las ecuaciones para posiciones, velocida-des y aceleraciones anteriores. Es decir:

(47)

2.5. Simulaci´on de sistemas multicuerpo ΦK.S.(q) =       Φ(q) .. . qj−fj(t) .. .       =0 (2.50) ˙ ΦK.S.(q,q˙) =       ˙ Φ(q,) .. . ˙ qj− f˙j(t) .. .       =0 (2.51) y ¨ ΦK.S.(q,q˙,q¨) =       ¨ Φ(q,,) .. . ¨ qj−f¨j(t) .. .       =0 (2.52) t←0

mientrast<tf inalhacer

ResolverΦK.S.(q) =0 ResolverΦ˙K.S.(q,) =0 ResolverΦ¨K.S.(q,,) =0

t←t+∆t

Figura 2.1.:Resoluci´on num´erica sin integraci´on

Referencias

Documento similar

Cancioneiro de Madrid. 1 Nunca espeiei de amor contentamiento. 5v) 2 Es en todo tan corta esta jornada. 6v) 3 Aquel camino larguo de mis daños. 8v) 5 El tiempo en toda cosa

CE.13 Poseer, comprender y tener capacidad para aplicar los fundamentos científicos y tecnológicos de automática básica, modelado y simulación de sistemas.. CE.14 Poseer, comprender

Esta Tesis Doctoral se fundamenta en tres ´ areas diferentes de la inform´ atica: (1) la Ingenier´ıa de Software Dirigida por Modelos (MDSE por sus siglas en ingl´ es), (2) los

4.5. El sistema de ayuda ... Procedimiento para un análisis con ANSYS ... Técnicas para el modelado ... Ventajas del modelado sólido ... Planificación del trabajo. Sistemas

En este capítulo se consideran las redes neuronales como modelo para describir sistemas dinámicos y se introduce una clase particular, los módulos neuronales, con

Según los datos suministrados por los sistemas de responsabilidad ampliada del productor, los aceites minerales usados recogidos en Castilla-La Mancha fueron

Coordenadas dependientes Pre/Posprocesado variablesSi (***)SiNoNoNo?.

El análisis dinámi o inverso ha permitido obtener rea iones arti ulares sobre un modelo bio-. me áni o (modelo bidimensional de uerpo ompleto formado por 12 sólidos rígidos y