382
UNIVERSIDAD PÚBLICA DE NAVARRA D EPARTAMENTO DE I NGENIERÍA MECÁNICA E NERGÉTICA Y DE MATERIALES T ESIS D OCTORAL PREPROCESADOR PARA LA SIMULACIÓN DINÁMICA DE SISTEMAS MULTICUERPO BASADO EN ÁLGEBRA SIMBÓLICA AUTOR: D. José Javier Gil Soto DIRECTOR: Dr. Javier Ros Ganuza Pamplona, febrero de 2005

UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

  • Upload
    lamque

  • View
    220

  • Download
    1

Embed Size (px)

Citation preview

Page 1: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

UNIVERSIDAD PÚBLICA DE NAVARRA

DEPARTAMENTO DE INGENIERÍA MECÁNICAENERGÉTICA Y DE MATERIALES

TESIS DOCTORAL

PREPROCESADOR PARA LA SIMULACIÓNDINÁMICA DE SISTEMAS MULTICUERPO

BASADO EN ÁLGEBRA SIMBÓLICA

AUTOR: D. José Javier Gil Soto

DIRECTOR: Dr. Javier Ros Ganuza

Pamplona, febrero de 2005

Page 2: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson
Page 3: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

Índice general

1. Introducción 3

1.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.1.1. Clasificación de los Códigos DSM . . . . . . . . . . . . 5

1.2. Estado de la cuestión . . . . . . . . . . . . . . . . . . . . . . . . 8

1.3. Objeto de la Tesis Doctoral . . . . . . . . . . . . . . . . . . . . . 10

1.4. Organización del contenido de la Tesis Doctoral . . . . . . . . . . 10

2. Cinemática 13

2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.2. Ecuaciones cinemáticas . . . . . . . . . . . . . . . . . . . . . . . 14

2.2.1. Planteamiento de ecuaciones geométricas . . . . . . . . . 16

2.2.2. Planteamiento de ecuaciones no holónomas . . . . . . . . 17

2.2.3. Elección del tipo de coordenadas . . . . . . . . . . . . . . 18

2.3. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.3.1. Coordenadas Relativas . . . . . . . . . . . . . . . . . . . 19

2.3.2. Coordenadas Cartesianas . . . . . . . . . . . . . . . . . . 22

2.3.3. Coordenadas Naturales . . . . . . . . . . . . . . . . . . . 25

3. Dinámica 27

3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.1.1. Tipos de acciones . . . . . . . . . . . . . . . . . . . . . . 28

3.2. Principio de las Potencias Virtuales para un sistema de partículas . 29

3.2.1. Principio de las Potencias Virtuales Sistematizado . . . . 31

Ecuaciones de Lagrange . . . . . . . . . . . . . . . . . . 33

Page 4: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

II ÍNDICE GENERAL

Ecuaciones de Newton . . . . . . . . . . . . . . . . . . . 35

3.3. Pcpo. de las Potencias Virtuales para sistemas de sólidos rígidos . 35

3.3.1. Principio de las Potencias Virtuales sistematizado . . . . . 38

Ecuaciones de Lagrange . . . . . . . . . . . . . . . . . . 39

Ecuaciones de Newton-Euler . . . . . . . . . . . . . . . . 41

3.4. Ecuaciones Dinámicas de Enlace . . . . . . . . . . . . . . . . . . 42

3.4.1. Caracterización de enlaces parciales . . . . . . . . . . . . 43

3.4.2. Fuerza generalizada asociada a las acciones de enlace . . . 45

3.5. Formulación Clásica de las Ecuaciones de Lagrange . . . . . . . . 46

3.5.1. Fuerza Generalizada de las Fuerzas de Inercia . . . . . . . 47

3.5.2. Expresión de las Ecuaciones de Lagrange . . . . . . . . . 49

3.5.3. Ecuaciones de Lagrange con Multiplicadores . . . . . . . 50

3.6. Expresión Matricial de las Ecuaciones de la Dinámica . . . . . . . 51

3.6.1. Ecuaciones de Lagrange . . . . . . . . . . . . . . . . . . 51

Expresión para la fuerza generalizada de inercia . . . . . . 52

Expresión para la fuerza generalizada de enlace . . . . . . 52

Expresión para las ecuaciones dinámicas . . . . . . . . . 53

Consideraciones finales . . . . . . . . . . . . . . . . . . . 53

3.6.2. Ecuaciones de Newton-Euler . . . . . . . . . . . . . . . . 54

Expresión para el torsor de inercia . . . . . . . . . . . . . 54

Expresión para el conjunto de acciones de enlace . . . . . 55

Expresión para el conjunto de acciones de no-enlace . . . 55

Expresión para las ecuaciones dinámicas . . . . . . . . . 55

Consideraciones finales . . . . . . . . . . . . . . . . . . . 57

3.6.3. Expresión matricial de las ecuaciones dinámicas de enlace 57

3.6.4. Relaciones entre los formalismos dinámicos . . . . . . . . 58

3.7. Expresión Matricial General de las Ecuaciones de la Dinámica . . 59

3.8. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

3.8.1. Cinemática . . . . . . . . . . . . . . . . . . . . . . . . . 64

Page 5: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

ÍNDICE GENERAL III

Acotación . . . . . . . . . . . . . . . . . . . . . . . . . . 64

Ecuaciones de posición ó geométricas . . . . . . . . . . . 65

Ecuaciones en velocidades . . . . . . . . . . . . . . . . . 67

Ecuaciones en aceleraciones . . . . . . . . . . . . . . . . 67

3.8.2. Dinámica . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Acciones sobre los diferentes sólidos . . . . . . . . . . . 68

Ecuaciones dinámicas . . . . . . . . . . . . . . . . . . . 75

Planteamiento dinámico basado en la Energía Cinética . . 90

4. Implementación 93

4.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

4.1.1. Organización del contenido del capítulo . . . . . . . . . . 94

4.2. El sistema simbólico mínimo . . . . . . . . . . . . . . . . . . . . 95

4.3. Cinemática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

4.3.1. Cinemática Analítica . . . . . . . . . . . . . . . . . . . . 96

La variable tiempo . . . . . . . . . . . . . . . . . . . . . 96

Parámetros . . . . . . . . . . . . . . . . . . . . . . . . . 96

Coordenadas, velocidades y aceleraciones . . . . . . . . . 98

Funciones del tiempo, en general . . . . . . . . . . . . . . 102

El operador derivada total . . . . . . . . . . . . . . . . . 105

4.3.2. Ecuaciones Cinemáticas . . . . . . . . . . . . . . . . . . 106

Ecuaciones Geométricas . . . . . . . . . . . . . . . . . . 106

Ecuaciones Iniciales de Posición . . . . . . . . . . . . . . 108

Ecuaciones No Holónomas . . . . . . . . . . . . . . . . . 109

Ecuaciones Iniciales para Velocidades . . . . . . . . . . . 110

Ecuaciones para Aceleraciones . . . . . . . . . . . . . . . 110

4.3.3. Interfaz Cinemático Cartesiano . . . . . . . . . . . . . . . 111

Punto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

Vector Cartesiano . . . . . . . . . . . . . . . . . . . . . . 112

Page 6: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

IV ÍNDICE GENERAL

Base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

Referencia Cartesiana . . . . . . . . . . . . . . . . . . . 115

4.3.4. Operadores sobre los elementos del Interfaz . . . . . . . . 116

Operador de Cambio de Base . . . . . . . . . . . . . . . 117

Operador Vector de Posición . . . . . . . . . . . . . . . . 118

Operadores de Velocidad . . . . . . . . . . . . . . . . . . 119

Operadores de Aceleración . . . . . . . . . . . . . . . . . 123

4.3.5. Problemas Cinemáticos . . . . . . . . . . . . . . . . . . . 126

El Problema de Posición . . . . . . . . . . . . . . . . . . 126

El Problema de Posición Inicial . . . . . . . . . . . . . . 129

El problema de velocidad . . . . . . . . . . . . . . . . . . 132

El problema de Velocidad Inicial . . . . . . . . . . . . . . 137

El problema de aceleración . . . . . . . . . . . . . . . . . 140

La Simulación Cinemática . . . . . . . . . . . . . . . . . 146

4.4. Dinámica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

4.4.1. Dinámica Analítica . . . . . . . . . . . . . . . . . . . . . 147

Parámetros . . . . . . . . . . . . . . . . . . . . . . . . . 147

Incógnitas de Enlace . . . . . . . . . . . . . . . . . . . . 148

Multiplicadores de Lagrange . . . . . . . . . . . . . . . . 149

Funciones de Excitación . . . . . . . . . . . . . . . . . . 151

4.4.2. Ecuaciones Dinámicas . . . . . . . . . . . . . . . . . . . 153

Redundancias en las Condiciones de Enlace . . . . . . . . 154

4.4.3. Interfaz Dinámico Cartesiano . . . . . . . . . . . . . . . 156

Tensores de Inercia . . . . . . . . . . . . . . . . . . . . . 156

Sólidos . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

Torsores . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

Torsores de inercia . . . . . . . . . . . . . . . . . . . . . 160

Torsores de enlace . . . . . . . . . . . . . . . . . . . . . 161

Torsores constitutivos . . . . . . . . . . . . . . . . . . . . 162

Page 7: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

ÍNDICE GENERAL V

Pares Cinemáticos . . . . . . . . . . . . . . . . . . . . . 164

4.4.4. Problemas dinámicos . . . . . . . . . . . . . . . . . . . . 166

El Problema Dinámico General . . . . . . . . . . . . . . 166

El problema dinámico según Newton-Euler . . . . . . . . 168

Ecuaciones Dinámicas de Enlace . . . . . . . . . . . . . . 176

El problema dinámico según Lagrange . . . . . . . . . . . 187

El problema de equilibrio estático . . . . . . . . . . . . . 193

El problema modal . . . . . . . . . . . . . . . . . . . . . 198

4.5. Funciones de Alto Nivel . . . . . . . . . . . . . . . . . . . . . . 206

4.5.1. Representación de la orientación de un sólido . . . . . . . 206

Parámetros de Euler . . . . . . . . . . . . . . . . . . . . 206

Ángulos de Euler . . . . . . . . . . . . . . . . . . . . . . 208

Pequeñas rotaciones . . . . . . . . . . . . . . . . . . . . 210

4.5.2. Pares Cinemáticos Elementales . . . . . . . . . . . . . . 213

Par Esférico . . . . . . . . . . . . . . . . . . . . . . . . . 214

Elemento de tipo barra . . . . . . . . . . . . . . . . . . . 216

Par Cilíndrico . . . . . . . . . . . . . . . . . . . . . . . . 218

Par Prismático . . . . . . . . . . . . . . . . . . . . . . . 221

Par de Revolución . . . . . . . . . . . . . . . . . . . . . 222

Par analítico o genérico . . . . . . . . . . . . . . . . . . . 223

4.5.3. Planteamiento de Torsores Constitutivos . . . . . . . . . . 225

Fuerza gravitatoria . . . . . . . . . . . . . . . . . . . . . 226

Elemento muelle-amortiguador . . . . . . . . . . . . . . 226

Elemento muelle-amortiguador, fijo en una base . . . . . . 228

Elemento muelle-amortiguador, fijo en dos bases . . . . . 230

Elemento viga de Bernouilli . . . . . . . . . . . . . . . . 233

Elemento viga generalizado . . . . . . . . . . . . . . . . 235

Page 8: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

VI ÍNDICE GENERAL

5. Ejemplos 239

5.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239

5.2. Funcionamiento de 3D_MEC_MATLAB . . . . . . . . . . . . . 240

5.3. Ejemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244

Inicialización de la librería . . . . . . . . . . . . . . . . . 244

5.3.1. Listado de definición del mecanismo . . . . . . . . . . . . 245

Problema cinemático . . . . . . . . . . . . . . . . . . . . 245

Problema dinámico . . . . . . . . . . . . . . . . . . . . . 246

Exportación . . . . . . . . . . . . . . . . . . . . . . . . . 254

5.3.2. Resultados de la simulación . . . . . . . . . . . . . . . . 255

5.4. Ejemplo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

5.4.1. Listado de definición del mecanismo . . . . . . . . . . . . 257

Problema cinemático . . . . . . . . . . . . . . . . . . . . 257

Problema dinámico . . . . . . . . . . . . . . . . . . . . . 257

Exportación . . . . . . . . . . . . . . . . . . . . . . . . . 261

5.4.2. Resultados de la simulación . . . . . . . . . . . . . . . . 262

5.5. Ejemplo 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263

5.5.1. Listado de definición del mecanismo . . . . . . . . . . . . 264

Problema cinemático . . . . . . . . . . . . . . . . . . . . 264

Problema dinámico . . . . . . . . . . . . . . . . . . . . . 266

Exportación . . . . . . . . . . . . . . . . . . . . . . . . . 270

5.5.2. Resultados de la simulación . . . . . . . . . . . . . . . . 270

5.6. Ejemplo 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272

5.6.1. Listado de definición del mecanismo . . . . . . . . . . . . 275

Problema cinemático . . . . . . . . . . . . . . . . . . . . 275

Problema dinámico . . . . . . . . . . . . . . . . . . . . . 277

Exportación . . . . . . . . . . . . . . . . . . . . . . . . . 288

5.6.2. Resultados de la simulación . . . . . . . . . . . . . . . . 289

Problema modal . . . . . . . . . . . . . . . . . . . . . . 289

Page 9: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

ÍNDICE GENERAL VII

Problema Dinámico . . . . . . . . . . . . . . . . . . . . 290

5.7. Ejemplo 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292

5.7.1. Listado de definición del mecanismo . . . . . . . . . . . . 293

Problema dinámico . . . . . . . . . . . . . . . . . . . . . 293

Problema cinemático y Problema dinámico . . . . . . . . 294

Problema de control . . . . . . . . . . . . . . . . . . . . 294

Exportación . . . . . . . . . . . . . . . . . . . . . . . . . 295

5.7.2. Resultados de la simulación . . . . . . . . . . . . . . . . 297

6. Conclusiones y Trabajo Futuro 299

6.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299

6.2. Trabajo Futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . 303

Anexo A 307

A.1. Inicialización de la librería 3D_MEC_MATLAB . . . . . . . . . 307

A.2. Plantillas numéricas para la simulación Dinámica . . . . . . . . . 314

A.3. Plantilla numérica para el Problema de Equilibrio . . . . . . . . . 317

A.4. Plantilla numérica para el Problema Modal . . . . . . . . . . . . . 321

A.5. Wrapper general para la Ode Suite de MATLAB . . . . . . . . . . 324

A.6. Wrapper general para la para SIMULINK . . . . . . . . . . . . . 329

A.7. Plantillas numéricas para resolver el ejemplo 4 . . . . . . . . . . 339

Anexo B 347

B.1. Parámetros: Ejemplos 1 y 2 . . . . . . . . . . . . . . . . . . . . . 347

B.2. Parámetros: Ejemplo 3 . . . . . . . . . . . . . . . . . . . . . . . 348

B.3. Parámetros: Ejemplo 4 . . . . . . . . . . . . . . . . . . . . . . . 349

B.4. Parámetros: Ejemplo 5 . . . . . . . . . . . . . . . . . . . . . . . 355

Anexo C 357

C.1. Posible Tratamiento Numérico de las Variables Auxiliares . . . . 357

Page 10: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

VIII ÍNDICE GENERAL

Anexo D 361

D.1. Notación Cinemática Analítica . . . . . . . . . . . . . . . . . . . 361

D.2. Notación Dinámica Analítica . . . . . . . . . . . . . . . . . . . . 361

D.3. Notación Cinemática Cartesiana . . . . . . . . . . . . . . . . . . 363

D.4. Notación Dinámica Cartesiana . . . . . . . . . . . . . . . . . . . 363

Page 11: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

Índice de figuras

2.1. Mecanismo pistón-biela-manivela . . . . . . . . . . . . . . . . . 19

2.2. Acotación del mecanismo utilizando coordenadas relativas . . . . 20

2.3. Acotación del mecanismo utilizando coordenadas cartesianas . . . 23

2.4. Acotación del mecanismo utilizando coordenadas naturales . . . . 25

3.1. Esquema de un enlace genérico entre los sólidos Solj y Solk . . . 43

3.2. Descripción gráfica del mecanismo . . . . . . . . . . . . . . . . . 64

3.3. Acotación propuesta para el mecanismo . . . . . . . . . . . . . . 65

3.4. Parámetros del problema geométrico . . . . . . . . . . . . . . . . 66

3.5. Parámetros dinámicos para el mecanismo Pistón-biela-manivela . 68

3.6. Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77

3.7. Diagrama de equilibrio para el eslabón Bie . . . . . . . . . . . . 79

3.8. Diagrama de equilibrio para el eslabón Blo . . . . . . . . . . . . 81

4.1. La matriz de cambio de base y el diagrama de orientaciones . . . . 117

4.2. Algoritmo empleado para calcular la matriz de cambio de base . . 118

4.3. El vector de posición y el diagrama de posiciones . . . . . . . . . 119

4.4. Algoritmo empleado para calcular el vector de posición . . . . . . 120

4.5. Composición de movimientos en referencias distintas . . . . . . . 121

4.6. Interpretación geométrica del método de Newton-Raphson . . . . 127

4.7. Descomposición QR para una matriz de dimensión (c, p). . . . . 132

4.8. Elementos que componen la definición del sólido Solk. . . . . . . 158

4.9. Simulación dinámica directa . . . . . . . . . . . . . . . . . . . . 167

4.10. Simulación dinámica inversa . . . . . . . . . . . . . . . . . . . . 168

4.11. Rotación finita alrededor de un eje arbitrario v. . . . . . . . . . . 206

Page 12: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

X ÍNDICE DE FIGURAS

4.12. Familia [α, β, γ] de ángulos de Euler 123 . . . . . . . . . . . 209

4.13. pequeñas perturbaciones alrededor de la orientación de partida. . 210

4.14. Par esférico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214

4.15. Elemento de tipo barra . . . . . . . . . . . . . . . . . . . . . . . 216

4.16. Par cilíndrico entre los sólidos Sol1 y Sol2 . . . . . . . . . . . . . 218

4.17. Representación de un par analítico entre dos sólidos . . . . . . . . 223

4.18. Elemento muelle-amortiguador direccional . . . . . . . . . . . . 227

4.19. Elemento muelle-amortiguador . . . . . . . . . . . . . . . . . . . 229

4.20. Elemento muelle-amortiguador con rigidez en rotaciones . . . . . 231

4.21. Elemento viga de Bernouilli entre los sólidos Sol1 y Sol2 . . . . . 233

4.22. Elemento viga generalizada . . . . . . . . . . . . . . . . . . . . . 236

5.1. Flujo del programa . . . . . . . . . . . . . . . . . . . . . . . . . 240

5.2. Ficheros generados de forma automática . . . . . . . . . . . . . . 241

5.3. Plantillas que forman la librería de simulación numérica . . . . . 242

5.4. Acotación y parámetros cinemáticos del problema . . . . . . . . . 244

5.5. Parámetros dinámicos del problema . . . . . . . . . . . . . . . . 246

5.6. Funciones obtenidas como resultado del proceso de exportación . 255

5.7. Resultados de la simulación dinámica . . . . . . . . . . . . . . . 256

5.8. Resultados de la simulación dinámica . . . . . . . . . . . . . . . 262

5.9. Acotación y parámetros cinemáticos del problema . . . . . . . . . 263

5.10. Parámetros dinámicos del problema . . . . . . . . . . . . . . . . 266

5.11. Resultados de la simulación dinámica . . . . . . . . . . . . . . . 271

5.12. Funcionamiento de la máquina transportadora . . . . . . . . . . . 272

5.13. Acotación del problema . . . . . . . . . . . . . . . . . . . . . . . 273

5.14. Simplificación adoptada para la curva de par . . . . . . . . . . . . 274

5.15. Dirección preferencial de excitación en el estacionario . . . . . . 275

5.16. Definición de puntos característicos en el sólido bastidor . . . . . 276

5.17. Elementos dinámicos presentes en el problema . . . . . . . . . . 278

Page 13: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

ÍNDICE DE FIGURAS XI

5.18. Modos de vibración en la posición de equilibrio . . . . . . . . . . 289

5.19. Resultados de la simulación dinámica . . . . . . . . . . . . . . . 290

5.20. Modelo dinámico en el entorno SIMULINK . . . . . . . . . . . . 292

5.21. Parámetros del problema . . . . . . . . . . . . . . . . . . . . . . 294

5.22. Control implementado mediante primitivas de SIMULINK . . . . 296

5.23. Resultados de la simulación dinámica . . . . . . . . . . . . . . . 297

Page 14: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson
Page 15: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

Agradecimientos

Quisiera expresar aquí mi agradecimiento a todas aquellas personas que de unmodo u otro han contribuido a la realización de este modesto trabajo.

En primer lugar al Dr. Javier Ros Ganuza, por saber transmitir su entusiasmopor la Mecánica, por aceptar la dirección de esta Tesis Doctoral y confiar en mitrabajo incluso más que yo mismo, por sus valiosas sugerencias y por un largoetcétera de pequeños detalles que han hecho posible que este trabajo vea la luz.

A los compañeros del Grupo de Investigación IMAC 1 , por acogerme como auno más y por su atención y su ayuda desinteresada tanto en lo profesional comoen lo personal.

A W. Schiehlen y H. Claus, por aceptarme como invitado en el Institüt B fürMechanik de Stuttgart durante el invierno de 2001 y permitir que ese sueño sehiciese realidad.

A toda la Comunidad del Software Libre, por su contribución al desarrollo deherramientas como las que hacen de esta Tesis un documento presentable.

A mis familiares y amigos, por echar una mano en todo momento, compartirconmigo esta especie de odisea y entender mi peculiar sentido del humor.

Por último y de manera especial a Raquel, por ofrecerme su confianza ydedicarme esa sonrisa cuando más la necesitaba.

1Ingeniería Mecánica Aplicada y Computacional

Page 16: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson
Page 17: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

1. Introducción

1.1. Introducción

Esta tesis trata sobre el planteamiento automatizado de las ecuaciones dinámi-cas de Sistemas Multi-Cuerpo complejos basándose en la utilización de un sistemade álgebra simbólica accesible desde un lenguaje de programación convencional.

Las técnicas de Dinámica de Sistemas Multi-Cuerpo (DSM) permiten la simu-lación de cualquier sistema o subsistema mecánico, y con ello su análisis, diseñoy mejora. Resulta claro por tanto el interés industrial, económico y científico de laDSM . Prueba de ello es el gran número de Universidades e Instituciones Cientí-ficas que investigan directamente en DSM o bien utilizan las técnicas que proveedicha teoría en sus investigaciones.

La DSM es una herramienta de utilidad en numerosas disciplinas:

• Encuentra una de sus aplicaciones más clásicas en la Teoría de Máquinasy Mecanismos, convirtiéndose en una herramienta idónea para el análisis ydiseño de éstos.

• Incluso la Robótica, desde una perspectiva mecanicista, puede considerarseuna de las disciplinas que forman parte de la Teoría de Máquinas.

• La Teoría de Control, en el contexto de las máquinas, encuentra como com-pañera ideal la DSM ayudándole a sintetizar los modelos del sistema o sub-sistemas mecánicos.

• Los denominados sistemas de Realidad Virtual se sirven de la DSM parapoder interactuar con los elementos del mundo virtual de forma realista.

• La Bio-Mecánica y un largo etcétera de aplicaciones,...

Si se considera que los sólidos constituyentes del sistema mecánico son flexi-bles, la teoría de la DSM comienza a confundirse con la teoría de la Elasticidad,siendo difícil aclarar donde termina una y donde comienza la otra.

Page 18: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4 Introducción

Incluso a la inversa, por ejemplo utilizando el método de las coordenadas na-turales, [GdJB94], un código de elementos finitos para elasticidad clásico puedeutilizarse para la resolución de problemas de DSM para sólidos rígidos1.

En opinión del autor de esta Tesis Doctoral, la diferencia que existe en laactualidad entre las técnicas DSM y la teoría de la Elasticidad es más debida auna evolución histórica que a una causa justificada, ya que desde el punto de vistade la Mecánica Clásica, las ecuaciones (y por tanto los métodos) coinciden. Así,en el futuro, es previsible la convergencia de ambas disciplinas.

TIPOS DE COORDENADAS

Quizá, todavía a día de hoy, una de las características que identifican laDSM es la gran variedad de tipo de coordenadas -absolutas, relativas, naturales-utilizadas en el planteamiento de las ecuaciones dinámicas. De hecho, al entraren este mundo, las primeras cuestiones que se plantean son:

¿Por que tantos tipos de coordenadas? y ¿Cuáles son las mejores?,

cuestiones que, lejos de tener una respuesta sencilla, siguen suscitando hoy endía algunas controversias en la comunidad científica.

Una forma sencilla de evitar conflictos es reconocer que, en gran medida, dichavariedad atiende a una cuestión de gustos, aunque evidentemente pueden encon-trarse otras justificaciones:

• La forma de razonar de los humanos está más próxima a un tipo de coor-denadas que a otros. Por ejemplo, para el que escribe es difícil visualizarla orientación de un cuerpo cuando se observan las posiciones de varios desus puntos, mientras que resulta más sencillo si se utiliza un ángulo paracaracterizar dicha orientación.

• La inconveniencia numérica (o limitación real como en el caso de los án-gulos de Euler) que presentan algunas coordenadas frente a las ventajas deotras ...

En última instancia, para un determinado problema, una vez fijado el méto-do de integración y el formalismo empleado para plantear el problema dinámico,siempre existe un conjunto de coordenadas que permiten una solución más rápidadel problema. Incluso métodos, como por ejemplo los recursivos2, que basados endichas coordenadas, sean computacionalmente óptimos para plantear las ecuacio-nes que resuelven el problema de simulación dinámica.

1Por ejemplo, simplificando el sistema mediante una reducción de Guyan, [Guy65, CB68].

2Referencias [Jea95, Rea04] y [Cea97].

Page 19: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

1.1 Introducción 5

PLANTEAMIENTO DE LAS ECUACIONES DINÁMICAS

Las ecuaciones dinámicas pueden plantearse apelando a diferentes formalis-mos dinámicos. Los más comunes se resumen en:

• Formalismo de Newton-Euler [Eul76] o formalismo Vectorial, según el cualse plantean dos grupos de ecuaciones cartesianas: conservación de MomentoLineal y de Momento Angular para cada uno de los sólidos del sistemamecánico.

• Formalismo de las Potencias Virtuales (equivalente al de los trabajos virtua-les), según el cual se plantean ecuaciones para un numero de movimientosvirtuales suficientes y arbitrariamente escogidos para el sistema.

• Formalismo de Lagrange [Lag88], que a partir de la energía cinética y/opotencial del sistema determina las ecuaciones dinámicas para un conjuntode movimientos virtuales coincidentes con las coordenadas del sistema.

De todos ellos, el más general es el Principio de las Potencias Virtuales, ya quetanto las ecuaciones de Newton-Euler como las ecuaciones de Lagrange puedenobtenerse a partir de dicho principio, sin más que elegir adecuadamente el grupode movimientos virtuales para plantear las ecuaciones.

Desde un punto de vista ingenieril, una ventaja que presentan los métodosvectoriales frente a los analíticos es la posibilidad que ofrecen para calcular lasfuerzas y momentos originados en los enlaces que existen entre los sólidos delsistema.

Desde el punto de vista de la simulación dinámica, los formalismos de tipolagrangiano presentan ciertas ventajas por derivar en sistemas de ecuaciones máscompactos, lo cual resulta atractivo en el contexto de la simulación en tiempo real.

Por último, mientras que los métodos vectoriales se aplican en exclusiva asistemas de sólidos rígidos, los analíticos pueden aplicarse a cualquier tipo desistemas, ya sean éstos de sólidos rígidos, flexibles, ...

1.1.1. Clasificación de los Códigos DSM

Desde el punto de vista de la implementación computacional, los códigosDSM existentes podrían clasificarse en:

Page 20: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

6 Introducción

NO SIMBÓLICOS

Se propone como definición de código no simbólico, aquel que genera lasdiferentes matrices o funciones necesitadas por el integrador o solver del sistemadinámico en forma numérica, directamente a partir de las estructuras de datosinternamente utilizadas para representar el Sistema Mecánico. En este contexto,resulta difícil separar las propias ecuaciones dinámicas de la estructura de datosque representa el sistema mecánico, o bien la solución del problema del códigoutilizado para plantearlo.

SEMI-SIMBÓLICOS

Se propone como definición de código semi-simbólico, aquél que genera lasdiferentes matrices o funciones necesitadas por el integrador o solver del sistemaen forma simbólica, normalmente como un conjunto de funciones en un determi-nado lenguaje de programación3. En este caso, las funciones anteriores se evalúanmediante un interfaz numérico independiente del programa que las generó y desus estructuras de datos.

El programa o preprocesador anterior será semi-simbólico en la medida enque las estructuras de datos empleadas no sean simbólicas y/o en la medida enque dicho procesador no tenga capacidad para realizar operaciones de álgebrasimbólica en el planteamiento del problema.

La definición anterior no es estricta, ya que el interfaz de un preprocesadorsemi-simbólico puede proporcionar una capacidad simbólica concreta4, aunquehabitualmente esto se hace de forma diferente a la filosofía de trabajo del prepro-cesador.

SIMBÓLICOS

Se pretende introducir una nueva definición de preprocesador para el cual sepropone la denominación de preprocesador simbólico.

Para entender lo que se desea significar se hace referencia a Sistemas de Ál-gebra Simbólica que se plasman en aplicaciones conocidas como MATHEMATI-CA [Mth04], MAXIMA [Max04], MAPLE [Map04], REDUCE [Red04] o MAT-LAB [Mat04] con su modulo de álgebra simbólica.

En general, los programas anteriores proporcionan al usuario un lenguaje deprogramación interpretado que incluye:

• tipos de datos simbólicos,• operadores y/o funciones que operan sobre los tipos de datos anteriores,

3C , FORTRAN , ...4por ejemplo, la definición de funciones de usuario.

Page 21: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

1.1 Introducción 7

• estructuras de control de flujo del programa,

que permiten trabajar con estos tipos de datos con la misma naturalidad con laque, por ejemplo, C trabaja con el tipo de dato real.

Un lenguaje (interfaz) dotado de la funcionalidad anterior, permitiría la defi-nición de tipos de datos simbólicos derivados (estructuras) que podrían emplear-se para representar los diferentes elementos en los que se apoya la teoría de laDSM para la definición del sistema Multi-Cuerpo, es decir:

Puntos, Bases, Referencias, Torsores, Enlaces, Sólidos,...

Además, el interfaz anterior podría completarse con una serie de operadoresy/o funciones del tipo:

Suma, Producto Escalar, Producto Vectorial, Derivada Parcial y Total,Velocidad y Velocidad Angular, Aceleración y Aceleración Angular, ...

que, actuando sobre elementos anteriores, permitirían plantear de forma sim-bólica las diferentes matrices o funciones necesarias para la simulación del siste-ma dinámico. Es decir: se podría definir un nuevo Sistema de Álgebra Simbólicaespecífico para el planteamiento de problemas de DSM .

A continuación se ponen de manifiesto algunas de las ventajas que presentanlos sistemas DSM totalmente simbólicos:

• La implementación de algoritmos de exportación de las funciones y/o ma-trices que intervienen en la solución del problema dinámico a un lenguajede programación concreto como MATLAB o C , se convierte en algo trivial.

• Las limitaciones pueden ser mínimas si las estructuras de datos y operado-res específicos son diseñadas con suficiente generalidad para representar elálgebra de la Mecánica Clásica.

• La incorporación de nueva funcionalidad al código no necesita de extrañosartificios, sino que se convierte en algo consustancial al lenguaje definido.

• La independencia del tipo de coordenadas empleado para representar el sis-tema, o del formalismo para la implementación de las ecuaciones dinámi-cas, es una consecuencia natural del concepto que se propone.

• La adecuación de algoritmos recursivos, o para la dinámica de sólidos fle-xibles, o la implementación de traductores para lenguajes de definición demecanismos5, se convierten en algo trivial cuando el lenguaje empleado esafín al de la Dinámica Clásica.

5ya sean éstos de propósito general como MECHML [Mec04], o asociados a un códigoDSM existente como ADAMS , [Ada04].

Page 22: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

8 Introducción

1.2. Estado de la cuestión

En la actualidad existen multitud de códigos computacionales para la DSM ,ya sean éstos de carácter comercial, docente o investigador. A modo ilustrativo secitarán algunos de éstos sin pretender hacer una lista exhaustiva.

En disciplinas como la Automoción, tradicionalmente se emplean códigos nu-méricos (con capacidad simbólica limitada o nula) que se caracterizan por emplearcoordenadas diferentes para cada uno de los sólidos del sistema, lo cual deriva enconjuntos de ecuaciones de gran tamaño, pero bien estructurados. Como ejemplosde códigos del tipo anterior destacan ADAMS [Ada04], DADS [Dad04] y SIM-PACK [Sim04].

Como códigos semi-simbólicos diseñados para el tratamiento de problemasde la Dinámica Vehicular podrían citarse NEWEUL [New04, PS93], basado en elformalismo de Newton-Euler, y CARSIM [Car04, Say90]. Ambos códigos permi-ten tratar de forma eficiente las restricciones de tipo no holónomo, linearizar lasecuaciones de movimiento, e incluso optimizar parámetros dinámicos. Sin embar-go, el sistema de álgebra simbólica en el que se basan tiene ciertas limitaciones yla posibilidad de manipular expresiones simbólicas en línea de comandos es es-casa o nula. En el caso particular de NEWEUL , la limitación anterior se resuelveexportando código legible por MAPLE .

En disciplinas como la Robótica o la Mecatrónica, el planteamiento del proble-ma tradicionalmente se realiza en coordenadas relativas. Por otra parte, la simula-ción en tiempo real o la incorporación del modelo obtenido como subsistema enun modelo de tamaño superior, exige cierta flexibilidad a la hora de presentar lasecuaciones que definen la dinámica del sistema. Los códigos semi-simbólicos em-pleados, entre los cuales destacan ALASKA [Ala04], ROBOTRAN [Rob04, SF03],disponen normalmente de un sistema de álgebra simbólica capaz de plantear elproblema dinámico de forma eficiente empleando diferentes formalismos.

Otro tipo de códigos semi-simbólicos para la DSM son aquellos que se presen-tan a modo de librerías especializadas para sistemas de álgebra simbólica conven-cional. Como ejemplo de los anteriores podría nombrarse a DYNAFLEX [Dyn04],cuyo sistema simbólico se basa en MAPLE y cuyo interface se apoya en la teoríalineal de grafos.

En el apartado de códigos totalmente simbólicos, destacan las siguientes refe-rencias:

• AUTOLEV [Aut04] posee un sistema simbólico propio e implementa va-rios formalismos dinámicos entre los que destaca el Principio de las Poten-cias Virtuales, [KC69, KD85].

Page 23: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

1.2 Estado de la cuestión 9

• El recientemente publicado MBSYMBA [Mbs03, LDL04], implementa unsistema simbólico para la DSM basado en MAPLE que incluye tipos de datosimbólicos para entidades como Fuerzas y Momentos. El código anteriorpermite plantear las ecuaciones dinámicas empleando los formalismos deLagrange y Newton-Euler además de realizar simulaciones numéricas conlas herramientas propias de MAPLE .

• Por último, y como precedente del código presentado en esta tesis doctoral,debe citarse a 3D_MEC . El código anterior, desarrollado en el grupo deinvestigación al que pertenece el autor, implementa su propio lenguaje deprogramación y dispone de un kernel simbólico de bajo nivel que permiterealizar operaciones con expresiones simbólicas. Aunque conceptualmentesu funcionalidad para el desarrollo de las ecuaciones de la DSM es comple-ta, presenta diferentes limitaciones:

• El lenguaje de programación que implementa, carece de estructuras decontrol, aunque éstas no sean estrictamente necesarias para los propó-sitos de un preprocesador.

• El Kernel de bajo nivel tiene ciertas limitaciones sobre el tamañomáximo de las expresiones simbólicas que es necesario manejar asícomo su simplificación, lo cual supone una limitación para trabajarcon sistemas complejos.

• El nivel de abstracción es muy bajo. Se definen tipos y estructuras deCoordenadas y Parámetros así como Vectores y Tensores cartesianos,Puntos, Bases y Referencias, además de operadores Cartesianos comoVector de posición, o de Velocidad Angular sobre los tipos de datosmencionados. En definitiva se define un Álgebra Mínima para poderescribir las ecuaciones cinemáticas y dinámicas de los sistemas Multi-Cuerpo de forma ágil.

• El interfaz a la dinámica de Sistemas Multi-Cuerpo que presenta alusuario es completamente cartesiano, lo cual resulta conveniente des-de el punto de vista del entendimiento humano. No obstante, la nopresentación al usuario de Vectores o Matrices de dimensión superiora los Cartesianos, la no disponibilidad de tipos de datos avanzadoscomo Torsor o Sólido, o la no asociación de un tipo específico a lasecuaciones que las clasifique en diferentes categorías como Cinemá-ticas o Dinámicas, dificulta la implementación de algoritmos de al-to nivel que, de una forma automatizada, planteen las ecuaciones delproblema dinámico.

Page 24: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

10 Introducción

1.3. Objeto de la Tesis Doctoral

Teniendo en cuenta las limitaciones y virtudes del Sistema de Álgebra Sim-bólica para la DSM desarrollado en el grupo de investigación al que pertenece elautor, se tomó la decisión de desarrollar un nuevo Sistema de Álgebra Computa-cional para la DSM , que basada en la experiencia adquirida, permita superar laslimitaciones expuestas en el apartado anterior.

En principio el objetivo de la tesis es el desarrollo abstracto del sistema simbó-lico para DSM mencionado, es decir, su definición conceptual. No obstante, todotrabajo científico debe permitir la validación de sus reivindicaciones.

En ese sentido pretende implementar computacionalmente una prueba de con-cepto. Y para hacerlo, decide centrarse exclusivamente en la definición de los as-pectos asociados al Álgebra propia de Mecánica, decidiendo implementar el Sis-tema Simbólico sobre una herramienta computacional existente en el mercado yde probada fiabilidad.

De las opciones disponibles, se decide utilizar el lenguaje de programaciónMATLAB junto con su módulo de Álgebra Simbólica basado en MAPLE , dispo-nible en el momento de inicio de esta Tesis Doctoral (MATLAB 6,5).

Por todo lo anterior, se decide denominar 3D_MEC_MATLAB a la implemen-tación del sistema propuesto.

Por otra parte, la prueba de concepto decide limitarse al planteamiento de lasecuaciones asociadas a Sistemas Multi-Cuerpo Rígidos. No obstante, la flexibi-lidad del sistema MATLAB–MAPLE utilizado en la implementación y la genera-lidad de las ideas propuestas, permitirán, en un futuro próximo, la extensión alcontexto de cuerpos Flexibles.

1.4. Organización del contenido de la Tesis Doctoral

En la primera parte de la tesis, y tratando de hacer que el material presentadosea en cierta medida autocontenido, se presenta la teoría de la DSM , desde elpunto de vista de la Mecánica Clásica. Así, en el Capítulo 2 se tratan los aspectosrelativos a la Cinemática de Sistemas Multi-Cuerpo, para tratar los aspectos rela-tivos a la Dinámica en el Capítulo 3. En la sección 3.8, y con el objeto de hacermás accesibles las diferentes ideas introducidas, se presenta un ejemplo clásico:el mecanismo pistón-biela-manivela.

Otro de los propósitos de esta primera parte es el de servir como referencia alas discusiones que se presentarán en el resto de la tesis. Por otra parte, es la propiaestructura de la teoría de la Dinámica de Sistemas Multi-Cuerpo la que da lugar a

Page 25: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

1.4 Organización del contenido de la Tesis Doctoral 11

la reflexión sobre cuales deben ser los diferentes tipos de datos y estructuras quepermitan la implementación más general posible de un Sistema Simbólico para laDSM .

El Capítulo 4 se dedica a la descripción de la implementación del SistemaSimbólico para la DSM , 3D_MEC_MATLAB , desarrollado. Se definen las dife-rentes estructuras de datos y las funciones y operadores más importantes, así comolos algoritmos que actúan sobre ellos, incluida la exportación. La primera parte elCapítulo sigue una estructura más o menos lineal: en primer lugar se describenlos aspectos cinemáticos del problema para después tratar los dinámicos. En estecontexto, en primer lugar se presentarán los elementos que conforman el SistemaSimbólico de Bajo Nivel para la DSM : un conjunto básico de funciones que per-miten trabajar con las diferentes estructuras de datos incluidas en el programa. Ensegundo lugar se describen las diferentes funciones de alto nivel que, implemen-tadas sobre el Sistema Simbólico de Bajo Nivel, permiten al usuario definir losSistemas Multi-Cuerpo empleando un mayor nivel de abstracción.

En el Capítulo 5 se introducen varios ejemplos que ponen de manifiesto lavalidez de la Tesis presentada en Capítulos anteriores. Se comienza con un pro-blema sencillo que se resuelve de dos formas distintas. En la primera de ellas seutiliza un nivel de abstracción bajo, que utiliza únicamente el Sistema Simbóli-co de Bajo Nivel. En la segunda en cambio, se utiliza el Sistema Simbólico deAlto Nivel, mostrándose cómo el problema también puede plantearse emplean-do la funcionalidad habitual de la mayoría de códigos existentes. Posteriormentese presenta la solución de un problema que incorpora una complejidad difícil detratar en los códigos para la DSM más comunes. Se trata de ilustrar, que el plan-teamiento de problemas complejos se resuelve sin más que emplear un nivel másbajo de abstracción en las partes no estándar6 del problema. Por último, se planteaun problema de tamaño importante, correspondiente a un trabajo de investigaciónrealizado para una empresa del entorno, tratando de demostrar que el tamaño delproblema no limita la validez de la tesis propuesta.

Por último, el Capítulo 6 se dedica a describir los diferentes aspectos e ideasmás reseñables en esta Tesis Doctoral así como a comentar algunas de las ideaspara el trabajo futuro dentro de la linea del trabajo realizado.

6o no contempladas en el interfaz simbólico de alto nivel

Page 26: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson
Page 27: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

2. Cinemática

2.1. Introducción

En este capítulo y en el que sigue, se va a introducir la teoría básica de laDinámica de Sistemas Multi-Cuerpo relevante para la implementación del pre-procesador para la DSM que persigue esta Tesis Doctoral.

En particular, la parte Cinemática de dicha teoría será tratada en este capítulo,mientras que el tratamiento de los aspectos dinámicos se pospone al capítulo si-guiente. En ambos capítulos se introducirán varios ejemplos que tratarán de hacermás claras las ideas teóricas introducidas.

En la lectura este capítulo, el lector observará cómo las ecuaciones de la Ci-nemática1, se plantean a partir de relaciones que entre magnitudes vectoriales denaturaleza cartesiana. Una vez desarrolladas, las ecuaciones anteriores se expre-sarán de forma analítica o matricial.

Esta separación de los mundos cartesiano y analítico, es también la que dife-rencia la etapa de planteamiento del problema de la etapa de solución. Se concluyeque el interfaz que el preprocesador DSM ofrezca al usuario debe ser de natura-leza cartesiana, y por lo tanto, debe fomentar al máximo la simplificación delplanteamiento de expresiones que involucren magnitudes de dicha naturaleza.

Esa preferencia por lo cartesiano en el planteamiento de las ecuaciones de lamecánica2, no es un hecho casual. En opinión del autor, se debe a la forma naturalde razonar de los humanos. Está claro que comprendemos mejor el significado delas ecuaciones cuando éstas expresan relaciones de tipo cartesiano.

Durante la lectura de este capítulo de teoría, complementada por los ejem-plos que le acompañan, el lector encontrará los diferentes elementos de naturalezacartesiana. Al nivel más básico, aparecen los elementos: Punto, Base y Referen-cia. Estos elementos, se relacionan en las expresiones cinemáticas mediante losoperadores: Vector de posición, Velocidad, Velocidad Angular, etc...

1ecuaciones de enlace de diferentes tipos2no solo presente en la cinemática, sino también en la dinámica

Page 28: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

14 Cinemática

Se concluye que el preprocesador simbólico debe implementar los diferenteselementos del interfaz cartesiano como tipos o estructuras de datos, mientras quelos operadores, deben implementarse como funciones de dicho tipo de datos.

Por último, se presentará la expresión matricial que adoptan los diferentes ti-pos de ecuaciones cinemáticas. Las matrices obtenidas, pondrán de manifiestocuáles deben ser las estructuras de datos que darán soporte al planteamiento ma-tricial de las ecuaciones.

La parte del preprocesador simbólico que da soporte los diferentes elemen-tos, operadores, matrices, etc... citados, constituyen lo que a lo largo de esta tesisdoctoral se referencia como Sistema Simbólico de Bajo Nivel.

Como se verá en el capítulo de implementación, también se implementa unSistema Simbólico de alto nivel que, basado en el sistema de Bajo Nivel, dota alpreprocesador de un mayor grado de simplicidad y abstracción.

2.2. Ecuaciones cinemáticas

Habitualmente, el planteamiento de las ecuaciones de un sistema mecánicoconlleva la introducción de un conjunto de p coordenadas generalizadas qj,j = 1 . . . p , en general dependientes3

q =

q1...qp

, (2.1)

cuyo objeto es describir, en cada instante de tiempo, la posición del sistemamecánico.

Las coordenadas generalizadas, q, se relacionan mediante un conjunto de gecuaciones geométricas o ecuaciones para las coordenadas generalizadas (proble-ma de posición). Dichas relaciones, en general no lineales, quedan recogidas en elvector φ de tal forma que

φ (q, t) =

φ1 (q, t)...

φg (q, t)

=

0...0

. (2.2)

3Existen dependencias ó relaciones cinemáticas entre ellas.

Page 29: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

2.2 Ecuaciones cinemáticas 15

Las velocidades generalizadas, q, estarán relacionadas por las derivadas delas ecuaciones anteriores y por un conjunto de r relaciones no holónomas

A (q, t) q + b (q, t) = 0, (2.3)

que dan lugar al sistema de c = g + r ecuaciones para las velocidadesgeneralizadas (problema de velocidad)

φv(q, t) q + bv (q, t) = 0 (2.4)

donde

φv

=

q

A

]y bv =

[φt

b

]

con

φq

es el jacobiano del problema de posición que se obtiene al derivar laexpresión 2.2 respecto al tiempo

φ =∂ φ

∂ qq +

∂ φ

∂ t

= φq(q, t) q + φt (q, t)

φv

representa el jacobiano del problema de velocidad.

bv es el término independiente del problema de velocidad.

Las aceleraciones generalizadas, q, están relacionadas por las ecuaciones paralas aceleraciones generalizadas, derivadas éstas de las ecuaciones para velocida-des, según

φv(q, t) q + ˙φ

v(q, q, t) q + bv (q, q, t) = 0 (2.5)

donde

˙φv

es la derivada del jacobiano del problema de velocidad respecto altiempo

˙φv

=

p∑

j=1

∂ qj

φv

qj +∂

∂ tφ

v

Page 30: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

16 Cinemática

bv representa la derivada del término independiente del problema develocidad, que formalmente se define

bv =

∂φt

∂q q +∂φ

t

∂ t

∂ b∂q q + ∂ b

∂ t

2.2.1. Planteamiento de ecuaciones geométricas

Formalmente, las ecuaciones geométricas no son más que relaciones arbitra-rias entre las coordenadas q , la variable tiempo, t (si es que son de tipo rheó-nomo), y un conjunto de parámetros relacionados con la geometría del sistemamecánico o con el carácter rheónomo del enlace.

Desde un punto de vista operativo, las ecuaciones geométricas se planteancomo condiciones que deben cumplir los vectores de posición de puntos y vectoresunitarios de las bases introducidas para posicionar los elementos del sistema.

Por ejemplo:

Proyección del vector de posición PjPi en la dirección definida por unvector unitario, u , igual a f(q, t).

PiPj · u− f(q, t) = 0 (2.6)

En particular, si f(q, t) = 0 , la ecuación anterior expresa perpendiculari-

dad entre el vector y la dirección.

Ángulo entre dos vectores unitarios, v y w , en la dirección mutuamenteperpendicular, u , igual a f(q, t).

cos (f(q, t))v ·w − sin (f(q, t))v ·w = 0 (2.7)

Puntos Pj y Pi coincidentes:

PjPi = 0 (2.8)

Vector de posición PjPi y vector unitario, u , paralelos.

PjPi ∧ u = 0 (2.9)

Page 31: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

2.2 Ecuaciones cinemáticas 17

Ángulo entre dos vectores unitarios α ≤ π/2.

u · v − cos (α) = 0 (2.10)

Distancia entre dos puntos, ρ > 0.

PjPi · PjPi − ρ2 = 0 (2.11)

Tal como puede apreciarse, las ecuaciones geométricas anteriores incluyenalgunos de los elementos (puntos y, aunque no de forma explícita, bases de pro-yección) y operadores (vector de posición) del denominado interfaz cinemáticocartesiano, descrito en la sección 4.3.3 del Capítulo de implementación.

2.2.2. Planteamiento de ecuaciones no holónomas

Formalmente las relaciones de tipo no holónomo no son sino ecuaciones li-neales en las velocidades generalizadas, en las que pueden aparecer expresionesarbitrarias que involucran a las coordenadas generalizadas y al tiempo.

Desde un punto de vista operativo estas ecuaciones se calculan como relacio-nes que deben cumplir los vectores velocidad de algunos puntos y velocidadesangulares de algunas bases empleadas en la definición del sistema mecánico.

Por ejemplo:

La velocidad4 de un puntoPi en una direcciónu especificado como funcióndel tiempo, t

VR (Pi) · u+ f (t) = 0 (2.12)

No deslizamiento entre Sol y Sol’ en el punto5 Pi , en la dirección u

[VR (Pi ∈ Sol) − VR (Pi ∈ Sol’)

]· u = 0. (2.13)

Al igual que en el caso de las ecuaciones geométricas, las ecuaciones no holó-nomas también incluyen algunos elementos y operadores (velocidad de un puntoen una referencia) del citado interfaz cartesiano.

5centro instantáneo rotación de Sol respecto a Sol’.5en la ecuación 2.12, el subíndice R de la expresión VR (Pi) representa la Referencia en la

que se sitúa el observador.

Page 32: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

18 Cinemática

2.2.3. Elección del tipo de coordenadas

Como ya se comentó en la introducción de la tesis doctoral, la elección de lascoordenadas es una delicada tarea que no tiene una respuesta única. El tipo decoordenadas, junto con el formalismo empleado, determinarán la estructura finalde las ecuaciones.

a) Coordenadas Relativas

El movimiento de un determinado sólido es relativo al del sólido anterioren la cadena cinemática. Dicho movimiento, se expresa en base a un númerode coordenadas igual al número de grados de libertad del enlace presente entreambos sólidos. Así, el número y tipo de coordenadas debe elegirse de formaapropiada para cada problema en concreto.

El número de incógnitas de movimiento empleado en esta formulación esreducido, incluso mínimo si la topología del mecanismo no presenta lazoscerrados.

Detalles de esta formulación pueden encontrarse en cualquier libro de me-cánica clásica, [Cra86, Agu96].

b) Coordenadas Cartesianas

El movimiento de cada sólido se expresa de forma independiente respectoal resto de los que integran el sistema. Las coordenadas son elegidas de formasistemática6, lo cual deriva en sistemas de ecuaciones diagonales por bloques,poco compactos y con alta dispersión (esparseidad).

Normalmente, el número de incógnitas de movimiento que resuelven el pro-blema es elevado si éste se compara con el empleado en otras formulaciones.Además, en este caso, la definición del problema exige introducir gran núme-ro de restricciones geométricas independientemente de la existencia de lazoscerrados.

Ejemplos de formulaciones basadas en este tipo de coordenadas puedenencontrarse en las referencias [Nik88] y [Sha98].

c) Coordenadas Naturales

El movimiento se caracteriza en base a los desplazamientos cartesianos dediferentes puntos de control del mecanismo.

Dada la homogeneidad en el tipo de coordenadas, las ecuaciones de movi-miento correspondientes son fácilmente estructurables y presentan un gran nú-mero de invariantes. Como contrapartida, el número de incógnitas y de ecua-

6por ejemplo, desplazamientos y giros eulerianos de dichos sólidos.

Page 33: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

2.3 Ejemplo 19

ciones de enlace en situaciones generales puede ser mayor todavía al del tipoanterior.

Por otra parte, hay situaciones en que las restricciones cinemáticas7 no pue-den introducirse de forma directa, lo que obliga a introducir coordenadas enexceso o auxiliares.

En la referencia [GdJB94] se trata en detalle la utilización de las menciona-das coordenadas naturales.

2.3. Ejemplo

En las siguientes subsecciones, con varios ejemplos desarrollados sobre el me-canismo representado en la figura 2.1, se ilustrarán las ideas expuestas en estecapítulo utilizando los diferentes tipos de coordenadas definidas en la sección an-terior.

l2

l1lg2

lg1

B

A C

E

D

e

Figura 2.1: Mecanismo pistón-biela-manivela

2.3.1. Coordenadas Relativas

El vector de coordenadas q =[

θ1 θ2

]Tdescribe la posición del mecanis-

mo sin ligaduras (véase figura 2.2).

Las coordenadas anteriores son dependientes, puesto que si toman valores ar-bitrarios, el puntoC no estaría obligado a mantenerse paralelo al eje x de la basexyz . Por tanto, existe una relación geométrica que puede plantearse

AC · ey − e = 0 (2.14)

donde ey hace referencia al vector unitario en la dirección y de la base xyz .

7por ejemplo, fijar la velocidad de giro de un determinado sólido.

Page 34: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

20 Cinemática

Abs

Bie

Blo

Man

A

D

Blo

θ1, +zAbs

θ2, +z

θ1

θ2

EC

Man Bie

B1′

2

2′

x

y

e

Figura 2.2: Acotación del mecanismo utilizando coordenadas relativas

Haciendo uso del diagrama de orientaciones que aparece en la figura 2.2, po-demos expresar la ecuación 2.14 en forma matricial:

( [I]1 ′2 ′3 ′

xyz

[AB

]1 ′2 ′3 ′

+[I]123

xyz

[BC

]123

)T

0

1

0

xyz

− e = 0 (2.15)

donde

las matrices de cambio de base quedan definidas como

[I]1 ′2 ′3 ′

xyz=

cos(θ1) − sin(θ1) 0sin(θ1) cos(θ1) 0

0 0 1

(2.16)

[I]123

xyz=[I]1 ′2 ′3 ′

xyz

[I]123

1 ′2 ′3 ′

(2.17)

Page 35: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

2.3 Ejemplo 21

con

[I]123

1 ′2 ′3 ′

=

cos(θ2) − sin(θ2) 0sin(θ2) cos(θ2) 0

0 0 1

(2.18)

los vectores de posición se definen como

[AB

]1 ′2 ′3 ′

=

l1

0

0

1 ′2 ′3 ′

,[BC

]123

=

l2

0

0

123

donde l1 y l2 son parámetros geométricos del problema.

Combinando las expresiones anteriores, la ecuación 2.14 puede reescribirse

φ =[

l1 sin(θ1) + l2 sin(θ1 + θ2) − e]

=[

0]

. (2.19)

Como es obvio, el mecanismo de la figura posee una coordenada independien-te, lo que se traduce en que basta fijar una de las incógnitas de movimiento paradeterminar completamente el movimiento del mecanismo.

Así, siendo

g = 1 , el número de restricciones geométricas,

r = 0 , el número de restricciones no holónomas,

c = g + r = 1 , el número de restricciones cinemáticas y

p = 2 , el número de coordenadas de partida,

el número de grados de libertad del sistema, n , es8 n = p − c = 1.

Derivando respecto al tiempo la ecuación 2.19, se obtiene la relación paravelocidades

θ1l1 cos(θ1) + (θ1 + θ2) l2 cos(θ1 + θ2) = 0 (2.20)

8Dado que r = 0 , el número de coordenadas independientes, m , coincide con el de gradosde libertad m = p − g = n.

Page 36: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

22 Cinemática

que de forma matricial se expresa

φ = φqq =

=[

l1 cos(θ1) + l2 cos(θ1 + θ2) l2 cos(θ1 + θ2)]q =

[0]

(2.21)

donde la parcial φt no aparece por no existir dependencias explícitas en lavariable tiempo, t. Es decir, la ecuación es esclerónoma.

Por último, derivando respecto al tiempo la ecuación , se obtiene la relaciónpara aceleraciones generalizadas

φ = φqq + ˙φ

qq =

=[

l1 cos(θ1) + l2 cos(θ1 + θ2) l2 cos(θ1 + θ2)]q

+ qT

[−l1 sin(θ1) − l2 sin(θ1 + θ2) −l2 sin(θ1 + θ2)

−l2 sin(θ1 + θ2) −l2 sin(θ1 + θ2)

]q = 0

(2.22)

2.3.2. Coordenadas Cartesianas

La acotación en coordenadas cartesianas responde a la necesidad de generarlas ecuaciones de movimiento de forma sistemática. En este caso, cada uno de lossólidos del sistema se acota de forma independiente.

En el plano, la posición de un sólido queda convenientemente representado deforma cartesiana mediante tres coordenadas independientes. Tal como se apreciaen la figura 2.3, en este caso las coordenadas elegidas son los desplazamientosabsolutos de los puntos C1, D2 y E3 y las rotaciones absolutas9 de los tres esla-bones:

q =[

xD yD θ1 xE yE θ2 xC yC θ3

]T.

Así, el número de coordenadas de partida, p = 9 , es superior al presentado enla sección anterior.

9magnitudes siempre relativas a una Referencia Absoluta, Abs . Así, la coordenada θ2, que enel apartado anterior denotaba el giro relativo entre las referencias Bie y Man , ahora representael giro absoluto de la referencia Man .

Page 37: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

2.3 Ejemplo 23

θ3

BloMan

Bie

Absθ1, +z θ3, +z

θ2, +z

C2

e

Blo

C3

Abs

θ2

θ1

Man

D1

A1

B1

Bie

y

12

x

1′′

2′

2′′

B2

E2

1′

(xD, yD)(xC , yC)

(xE, yE)

Figura 2.3: Acotación del mecanismo utilizando coordenadas cartesianas

Teniendo en cuenta la acotación elegida, se hace necesario imponer las si-guientes restricciones:

B1 yB2 coinciden (par de revolución),

C2 y C3 también coinciden,

A1 coincide con el origen de Abs , O,

Blo puede desplazarse exclusivamente en dirección horizontal y no tienepermitido el giro

Matemáticamente, las restricciones anteriores se traducen en:

OB1 = OB2

OC2 = OC3

OA1 = 0

OC · ey = e

e1′′ · ex = 1 (2.23)

donde ey es el vector unitario sobre el eje y de la base xyz , e1′′ es el vectorunitario en la dirección 1′′ de la base 1 ′′2 ′′3 ′′ y ex es el vector unitario sobre eleje x de la base xyz .

Page 38: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

24 Cinemática

Proyectando en la base global10

[OD1

]xyz

+[I]b1

xyz

[D1B1

]b1

=[OE2

]xyz

+[I]b2

xyz

[E2B2

]b2

[OE2

]xyz

+[I]b2

xyz

[E2C2

]b2

=[OC3

]xyz

+[I]b3

xyz

[C3C3

]b3

[OD1

]xyz

+[I]b1

xyz

[D1A1

]b1

=[0]xyz

yc = e

θ3 = 0 (2.24)

donde la posición de un punto genérico Pi , solidario a cualquier referenciaR i , con origen en el puntoOi y base de proyección bi se expresa como

OPi = OOi +OiPi

[OPi

]xyz

=[OOi

]xyz

+[I]bi

xyz

[OiPi

]bi

(2.25)

y donde[I]bi

xyzsiempre es de la forma

[I]bi

xyz=

cos θi − sin θi 0sin θi cos θi 0

0 0 1

(2.26)

Operando11, el sistema de ecuaciones 2.23, presentado en la forma habitual seescribe

φ =

xD + 12

l1 cos θ1 −(xE − 1

2l2 cos θ2

)

yD + 12

l1 sin θ1 −(yE − 1

2l2 sin θ2

)

xE + 12

l2 cos θ2 − xC

yE + 12

l2 sin θ2 − yC

xD − 12

l1 cos θ1

yD − 12

l1 sin θ1

yC − eθ3

=

00000000

(2.27)

y dado que g = 8 y r = 0 , también se cumple que n = p − c = 1.10nótese que, en este caso, la cinemática de cualquier punto viene expresada en función de un

grupo homogéneo de coordenadas.11buscando mayor brevedad en las expresiones, los puntos D y E se sitúan en el punto medio

de cada una de las barras.

Page 39: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

2.3 Ejemplo 25

Derivando respecto al tiempo la ecuación 2.27, se obtiene la relación paravelocidades, que en forma matricial se escribe

φ = φqq =

1 0 −12

l1 sin θ1 −1 0 −12

l2 sin θ2 0 0 00 1 1

2l1 cos θ1 0 1 1

2l2 cos θ2 0 0 0

0 0 0 1 0 − 12

l2 sin θ2 1 0 00 0 0 0 1 1

2l2 cos θ2 0 1 0

1 0 12

l1 sin θ1 0 0 0 0 0 00 1 −1

2l1 cos θ1 0 0 0 0 0 0

0 0 0 0 0 0 0 1 00 0 0 0 0 0 0 0 1

q =

00000000

(2.28)

Las relaciones para aceleraciones generalizadas se obtienen de forma análogaa la presentada en el apartado anterior, pero se omiten por brevedad en la exposi-ción.

2.3.3. Coordenadas Naturales

El planteamiento del problema en términos puramente geométricos deriva enla elección de las denominadas Coordenadas Naturales.

(xC , yC)

(xB, yB)

(0, 0)

ex

y

l2

l1

Figura 2.4: Acotación del mecanismo utilizando coordenadas naturales

Tal como se aprecia en la figura 2.4, bastan cuatro coordenadas absolutas (pun-tosB y C) para determinar el movimiento del mecanismo,

q =[

xB yB xC yC

]T

Page 40: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

26 Cinemática

En este caso, las restricciones que definen el problema geométrico puedenexpresarse

OB ·OB − l21 = 0

BC ·BC − l22 = 0

OC · ey = e

o bien,

φ =

(xB)2 + (yB)2 − l21(xC − xB)2 + (yC − yB)2 − l22

yC − e

=

000

(2.29)

y dado que g = 3 y r = 0 , en este caso también se cumple que n = p−c = 1.

Derivando respecto al tiempo la ecuación 2.27, se obtiene la relación paravelocidades, que en forma matricial se escribe

φ = φqq =

=

2 xB 2 yB 0 0−2 (xC − xB) −2 (yC − yB) 2 (xC − xB) 2 (yC − yB)

0 0 0 1

q =

000

(2.30)

Por último, las relaciones para aceleraciones generalizadas se obtienen de for-ma análoga a la presentada en el primer apartado, esto es

φ = φqq + ˙φ

qq =

=

2 xB 2 yB 0 0−2 (xC − xB) −2 (yC − yB) 2 (xC − xB) 2 (yC − yB)

0 0 0 1

q

+

2 xB 2 yB 0 0−2 (xC − xB) −2 (yC − yB) 2 (xC − xB) 2 (yC − yB)

0 0 0 0

q =

000

(2.31)

Page 41: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

3. Dinámica

3.1. Introducción

Como se comentó en la introducción del capítulo anterior, en este capítulo sedesarrollan los aspectos de la Teoría de la Dinámica relevantes para el desarrollodel preprocesador simbólico para la DSM .

Como ya se comentó, la separación entre el planteamiento basado en expre-siones vectoriales y las ecuaciones matriciales o analíticas que se obtienen, estátambién presente en el contexto dinámico.

A través de la lectura de este capítulo y de los ejemplos que al final le acompa-ñan, se irán presentando los diferentes tipos de elementos de naturaleza cartesianay los algoritmos que, a partir de dichos elementos, permiten plantear las Ecuacio-nes Dinámicas en su forma matricial o analítica.

Dejando a un lado los elementos encontrados en el capítulo anterior, uno delos elementos fundamentales que aparece en las formulaciones dinámicas es eltorsor en sus diferentes variantes: Torsor de Inercia de DÁlambert, Torsores deEnlace y Torsores asociados a otras acciones.

Los otros elementos cartesianos necesarios para el planteamiento de las ecua-ciones son el elemento sólido y sus propiedades inerciales, y el enlace parcial1

entre dos sólidos.

Como se puede observar de las diferentes expresiones matriciales presentadas,los términos inerciales pueden obtenerse sin utilizar los Torsores de Inercia, hechoque es tenido en cuenta en los diferentes algoritmos descritos en el Capítulo 4.

Así, este análisis de las ecuaciones dinámicas, sugierirá los tipos de datos yestructuras que deben implementarse en el preprocesador. Por otra parte las defi-niciones de las diferentes matrices que aparecen en las versiones matriciales de lasecuaciones dinámicas definirán los algoritmos a emplear para su planteamiento.

1abstracto, sin especificación de tipología

Page 42: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

28 Dinámica

3.1.1. Tipos de acciones

De forma clásica, el planteamiento de las ecuaciones dinámicas de cualquiersistema2 , requiere la caracterización de las acciones que recaen sobre los diferen-tes elementos del mismo.

Con el objeto de introducir la notación utilizada en las diferentes secciones delcapítulo, se propone la siguiente clasificación:

• Acciones de inercia : son aquellas acciones derivadas de las fuerzas y mo-mentos de inercia de D’ Alembert .

• Acciones de enlace : son aquellas acciones encargadas de mantener las li-gaduras cinemáticas entre los diferentes elementos del sistema. Se denotan:

Aεj (Elemento) ,

y su efecto queda reflejado en las ecuaciones dinámicas a través de las de-nominadas incógnitas de enlace, ε.

En el caso particular de sistemas de sólidos, éstas se subdividen en

Acciones correspondientes a enlaces compatibles con la acotación departida.

Acciones correspondientes a enlaces no respetados por la acotaciónde partida.

Esta clasificación tiene su importancia cuando se implementan formulacio-nes de tipo lagrangiano, ya que en estos casos, la contribución de las prime-ras se anula en virtud de la tercera ley de Newton.

• Acciones constitutivas : son aquellas acciones que vienen caracterizadaspor una ley constitutiva3 y se denotan:

Anej (Elemento)

• Otras acciones : son aquellas que no pueden englobarse en ninguno de losapartados anteriores4 y se denotan de la misma forma que las constitutivascon el objeto de diferenciarlas de las de enlace.

2ya sea de partículas ó de sólidos3por ejemplo, la gravedad ó un muelle.4por ejemplo, la fuerza a aplicar en un actuador para fijar el desplazamiento de una coordenada.

Page 43: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

3.2 Principio de las Potencias Virtuales para un sistema de partículas 29

3.2. Principio de las Potencias Virtuales para un sistema departículas

Sea un conjunto de N partículas Pi, i = 1 . . .N , acotado mediante unconjunto de coordenadas generalizadas, qi, i = 1 . . . p.

La segunda ley de Newton, aplicada a dicho sistema de partículas, resulta enun conjunto de 3N ecuaciones escalares de la forma

F (Pi) + F (Pi) = 0 i = 1 . . .N (3.1)

donde

F (Pi) = −d D(Pi)

d t

∣∣∣∣RI

F (Pi) =

Li∑

j=1

FAj (Pi) i = 1 . . . N,

representan5 respectivamente la fuerza de inercia y la resultante de todas lasacciones Aj, j = 1 . . . Li sobre la partícula Pi.

Las ecuaciones anteriores forman un conjunto suficiente y completo para des-cribir la dinámica de cualquier sistema mecánico.

El principio de D’ Alembert para una partículaPi, se puede expresar mediantela ecuación escalar

F (Pi) · Vv

z (Pi) + F (Pi) · Vv

z (Pi) = 0 (3.2)

donde Vv

z (Pi) es un vector arbitrario cualquiera al que suele atribuirse el sig-nificado físico de velocidad, por lo que se denomina velocidad virtual de la partí-cula Pi.

5 D(Pi) = m (Pi) ·VRI (Pi) es el momento lineal de la partículaPi , mientras qued

d t

∣∣∣∣RI

representa el operador derivada total respecto al tiempo, relativo a la Referencia Inercial, RI .

Page 44: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

30 Dinámica

Normalmente, Vv

z (Pi) se expresa en términos del grupo de pseudo-velocidades virtuales zv, con lo que adopta una forma general del tipo

Vv

z (Pi) =nz∑

j=1

dij (q, t) zvj = Di (q, t) zv

4=

nz∑

j=1

∂ VRI (Pi)

∂ zj

zvj (3.3)

donde

• dij (q, t) representa un vector columna (3, 1) que en general depende delas coordenadas de partida6, q, y del tiempo, t.

• Di es una matriz (3, nz) con elementos de la forma dij (q, t).

Di =∂ Vz(Pi)

∂ z

Denotando los sumandos que aparecen en la ecuación 3.2 como potencia vir-

tual, vWz(Pi), de las fuerzas de inercia sobre Pi y potencia virtual, vWz(Pi), delas acciones sobre Pi respectivamente, ésta ecuación se expresa

vWz(Pi) + vWz(Pi) = 0 (3.4)

donde el subíndice z hace referencia a un grupo arbitrario de pseudo-velocidades.

La ecuación 3.4, extendida al sistema completo, deriva en el Principio deD’ Alembert ó Principio de las Potencias Virtuales para un sistema de partículas,

vWz(Sist) + vWz(Sist) = 0, (3.5)

donde

vWz(Sist) =N∑

i=1

F (Pi) · Vv

z (Pi)

6En principio, la única condición exigida para el grupo de coordenadas q, es que éstas seancapaces de representar suficientemente el movimiento del mecanismo.

Page 45: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

3.2 Principio de las Potencias Virtuales para un sistema de partículas 31

y donde

vWz(Sist) =

N∑

i=1

F (Pi) · Vv

z (Pi)

Si el conjunto de pseudo-velocidades virtuales es suficiente para representar lacinemática del sistema en cierto instante de tiempo, del principio anterior puedeobtenerse un conjunto completo de ecuaciones dinámicas que permiten describirel movimiento del sistema.

En particular, las ecuaciones 3.1 pueden obtenerse a partir de la ecuación 3.5utilizando un conjunto de velocidades virtuales apropiadas.

3.2.1. Principio de las Potencias Virtuales Sistematizado para un sistema departículas

Partiendo de la ecuación 3.3, en la que la velocidad virtual de una partícula seexpresa en función de un grupo arbitrario de pseudo-velocidades, puede definirsela Velocidad Virtual Parcial de una partícula Pi respecto a la j-ésima pseudo-velocidad, zj , como

Vv

zj(Pi) =

∂ VRI (Pi)

∂ zj

zvj = dij (z, t) zv

j (3.6)

Análogamente, y teniendo en cuenta la definición de potencia virtual presen-tada en el apartado anterior, se define la Potencia Virtual Parcial de la fuerzaF (Pi), actuante sobre la partícula Pi respecto a la j-ésima pseudo-velocidad,zj , como

vWzj(Pi) = F (Pi) · dij (z, t) zv

j (3.7)

y de forma idéntica, la Potencia Virtual Parcial de inercia actuante sobre lapartícula Pi respecto a la pseudo-velocidad j-ésima, zj , se define entonces como

vWzj(Pi) = F (Pi) · dij (q, t) zv

j (3.8)

Page 46: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

32 Dinámica

Atendiendo a las definiciones presentadas en las ecuaciones 3.7 y 3.8, la ecua-ción 3.5 se traduce en

N∑

i=1

nz∑

j=1

vWzj(Pi) +

N∑

i=1

nz∑

j=1

vWzj(Pi) = 0

N∑

i=1

nz∑

j=1

F (Pi) · dij zvj +

N∑

i=1

nz∑

j=1

F (Pi) · dij zvj = 0 (3.9)

donde 3.9 representa una ecuación escalar que matricialmente adopta la forma

[zv]T( N∑

i=1

[Di

]TF (Pi) +

N∑

i=1

[Di

]TF (Pi)

)= 0

[Di

]T=[

Di (q, t)]T

=

[∂ Vz(Pi)

∂ z

]T

(3.10)

Llegados a este punto, resulta evidente que si las pseudo-velocidades zv sonindependientes, la ecuación escalar anterior se traduce en el sistema

N∑

i=1

[∂ Vz(Pi)

∂ z

]T

F (Pi) +

N∑

i=1

[∂ Vz(Pi)

∂ z

]T

F (Pi) = 0 (3.11)

Introduciendo el concepto de fuerza generalizada en términos de las pseudo-velocidades z, la ecuación anterior se escribe

N∑

i=1

FFz (Pi) +N∑

i=1

FFz (Pi) = 0,

o en forma compacta

FF Sistz + FF Sist

z = 0, (3.12)

Page 47: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

3.2 Principio de las Potencias Virtuales para un sistema de partículas 33

ECUACIONES DE LAGRANGE PARA UN SISTEMA DE PARTÍCULAS

Si la cinemática virtual en términos de las pseudo-velocidades z se sus-tituye por una cinemática virtual basada en las velocidades generalizadas departida, qj , j = 1 . . . p, se obtienen las Ecuaciones de Lagrange para el sistemade partículas.

La velocidad real, VRI (Pi), de una partícula Pi puede expresarse como

VRI (Pi) =

p∑

j=1

∂ ORIPi

∂ qj

∣∣∣∣RI

qj +∂ ORIPi

∂ t

∣∣∣∣RI

(3.13)

donde RI representa la referencia inercial y ORI su origen.

Considerando el sistema virtualmente detenido7, la velocidad virtual Vv

q (Pi)de una partícula Pi, teniendo en cuenta las dependencias anteriores se expresa:

Vv

q (Pi) =

p∑

j=1

∂ ORIPi

∂ qj

∣∣∣∣RI

qvj . (3.14)

Alternativamente, si se deriva la expresión 3.13 respecto a las velocidadesgeneralizadas se obtiene

Vv

q (Pi) =

p∑

j=1

∂ VRI (Pi)

∂ qj

qvj (3.15)

Así, se define la velocidad virtual parcial de la partícula P i con respecto a lavelocidad generalizada qj como

Vv

qj(Pi) =

∂ VRI (Pi)

∂ qj

qvj

Haciendo uso de las expresiones anteriores, puede ahora definirse el concepto

de potencia virtual parcial de las fuerzas exteriores, vWqj(Sist), respecto a la

velocidad generalizada qj como

vWqj(Sist) =

N∑

i=1

F (Pi)∂ VRI (Pi)

∂ qj

qvj

= FF Sistqj

qvj (3.16)

7tiempo, t = Cte.

Page 48: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

34 Dinámica

donde FF Sistqj

es un escalar que físicamente representa la fuerza generalizadaparcial sobre el sistema de partículas Sist en la dirección de la velocidad genera-lizada qj .

Por su parte, la potencia virtual parcial de las fuerzas de inercia, vWqj(Sist),

respecto a la velocidad generalizada qj se define de forma análoga según

vWqj(Sist) =

N∑

i=1

F (Pi)∂ VRI (Pi)

∂ qj

qvj

= FF Sistqj

qvj (3.17)

donde FF Sistqj

representa la fuerza generalizada de inercia sobre el sistema departículas Sist en la dirección de la velocidad generalizada qj .

Atendiendo a las definiciones anteriores, la ecuación 3.5 puede ahora expre-sarse

[qv]T(

N∑

i=1

[∂ VRI (Pi)

∂ q

]T

F (Pi) +

[∂ VRI (Pi)

∂ q

]T

F (Pi)

)= 0

(3.18)

donde resulta evidente que, si las velocidades virtuales, qv , son independien-tes, esta ecuación escalar se traduce en el sistema8

N∑

i=1

[∂ VRI (Pi)

∂ q

]T

F (Pi) +

[∂ VRI (Pi)

∂ q

]T

F (Pi) = 0 (3.19)

Recuperando la definición de fuerza generalizada presentada en las ecuaciones3.16 y 3.17, el sistema de ecuaciones anterior puede volverse a escribir en la forma

FF Sistq + FF Sist

q = 0 (3.20)

8Nótese que, aunque el conjunto de velocidades virtuales, qv , sea dependiente, dichas ve-locidades pueden considerarse como independientes siempre que la contribución de las accionesde enlace que aseguran dichas dependencias aparezca en la ecuación. El conjunto de ecuacionesresultante suele denominarse Ecuaciones de Lagrange sin multiplicadores.

Page 49: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

3.3 Pcpo. de las Potencias Virtuales para sistemas de sólidos rígidos 35

ECUACIONES DE NEWTON PARA UN SISTEMA DE PARTÍCULAS

Si como pseudo-velocidades z se eligen las velocidades cartesianas de cadauna de las partículas en una determinada base de proyección9,

xj =

xj

yj

zj

j = 1 . . . N, (3.21)

se obtienen las ecuaciones de Newton para un sistema de partículas,

F (P1)...

F (Pi)...

F (PN)

+

F (P1)...

F (Pi)...

F (PN)

=

0...0...0

, (3.22)

donde cabe notar que

∂ VRI (Pi)

∂ xj

= I3 j = 1 . . .N (3.23)

3.3. Principio de las Potencias Virtuales para un sistema de só-lidos rígidos

Desde el punto de vista de la Cinemática Analítica, un sólido rígido puedeentenderse como un conjunto de partículas o puntos materiales que sostienen unaserie de restricciones geométricas.

En este contexto, si las velocidades virtuales de los diferentes puntos de unsólido se eligen de tal forma que se mantiene la condición de sólido rígido, lavelocidad virtual Vv

z (Pi) de un punto Pi, perteneciente al sólido Solk se expresasegún

Vv

z (Pi) = Vv

z (Bk) + Ωv

z(Solk) ∧BkPi (3.24)

donde Ωv

z(Solk) se define de forma análoga a la presentada en 3.3 para Vv

z (Pi).

9Nótese que, estas pseudo-velocidades son diferentes de las derivadas de las coordenadas ge-neralizadas, q , empleadas para posicionar el sistema de partículas en el contexto cinemático.

Page 50: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

36 Dinámica

Así pues, dado un sistema constituido por M sólidos rígidos Solk, k = 1 . . .Msobre los que respectivamente actúan las acciones Aj(Solk), j = 1 . . . Lk, la po-tencia virtual asociada a una determinada acción puede escribirse10

vWAj(Solk)

z = FAj(Solk)· Vv

z (Bk) + MAj(Solk)k

·Ωv

z(Solk) . (3.25)

Como se aprecia en las ecuaciones, la potencia virtual de una determinada ac-ción Aj sobre el sólido Solk queda definida en términos de la fuerza y el momen-to de dicha acción respecto a un punto del sólido Bk. Esta combinación fuerza-momento, denominada Torsor, será representada mediante la expresion

[FAj(Solk)

k, MAj(Solk)

k

]T

Análogamente, la potencia virtual de las fuerzas de inercia actuantes sobre elsólido Solk se puede expresar

vWz(Solk) = F (Solk) · Vv

z (Bk) +M k(Solk) ·Ω

v

z(Solk) (3.26)

Por su parte, el torsor de inercia,

[F (Solk), M

k(Solk)

]T

se expresa en función de las derivadas del momento lineal, D , y el momentocinético, HBk

, de la siguiente forma

F (Solk) = −d D(Solk)

d t

∣∣∣∣RI

M k(Solk) = −

d H k(Solk)

d t

∣∣∣∣RI

−BkGk ∧d D(Solk)

d t

∣∣∣∣RI

(3.27)

10haciendo la suma de potencias virtuales para todas las partículas del sólido rígido y empleandola ecuación 3.24

Page 51: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

3.3 Pcpo. de las Potencias Virtuales para sistemas de sólidos rígidos 37

donde

• D(Solk) es el momento lineal del sólido Solk

D(Solk) =

Solk

VRI (Pk) dm = mSolk VRI (Gk) (3.28)

• H k(Solk) es el momento cinético del sólido Solk definido en su centro de

gravedad,Gk

H k(Solk) =

Solk

GkPk ∧ VRtGk(Pk) dm

=

Solk

−GkPk ∧GkPk ∧ΩRI (Solk) dm

= II k(Solk)ΩRI (Solk) (3.29)

• mSolk es la masa total del sólido Solk.

• Pk es un punto perteneciente cinemáticamente al sólido Solk.

• RtGk es una referencia translacional con el puntoGk.

• II k(Solk) es el tensor de inercia del sólido Solk respecto al puntoGk.

Teniendo en cuenta las premisas anteriores, el principio de las potencias vir-tuales para el sistema completo de sólidos se expresa

vWz(Sist) + vWz(Sist) = 0 (3.30)

donde

vWz(Sist) =

M∑

k=1

F (Solk) · Vv

z (Bk) +M k(Solk) ·Ω

v

z(Solk)

vWz(Sist) =M∑

k=1

Lk∑

j=1

FAj(Solk)· Vv

z (Bk) + MAj(Solk)k

·Ωv

z(Solk)

(3.31)

Page 52: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

38 Dinámica

3.3.1. Principio de las Potencias Virtuales sistematizado para un Sistema deSólidos Rígidos

Si la cinemática del sistema se expresa en función de un determinado conjuntode nz pseudo-velocidades zj, j = 1 . . . nz , aplicando lo desarrollado en lasección anterior y teniendo en cuenta el concepto de torsor, la ecuación 3.30 seexpresa:

[zv]T(

M∑

k=1

(∂

∂ z

[VRI (Bk)ΩRI (Solk)

])T [ F (Solk)M

k(Solk)

]+

+

M∑

k=1

Lk∑

j=1

(∂

∂ z

[VRI (Bk)ΩRI (Solk)

])T[

FAj(Solk)

MAj(Solk)k

])= 0 (3.32)

donde resulta evidente que, si las pseudo-velocidades son independientes, estaecuación escalar se traduce en el sistema

M∑

k=1

(∂

∂ z

[VRI (Bk)ΩRI (Solk)

])T [ F (Solk)M

k(Solk)

]+

+

M∑

k=1

Lk∑

j=1

(∂

∂ z

[VRI (Bk)ΩRI (Solk)

])T[

FAj(Solk)

MAj(Solk)k

]= 0 , (3.33)

que de forma compacta se escribe

M∑

k=1

FF Solkz +

M∑

k=1

Lk∑

j=1

FFAj(Solk)

z = 0 .

Page 53: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

3.3 Pcpo. de las Potencias Virtuales para sistemas de sólidos rígidos 39

ECUACIONES DE LAGRANGE PARA UN SISTEMA DE SÓLIDOS RÍGIDOS

Si el movimiento virtual de los sólidos del sistema se expresa en función delas coordenadas generalizadas qj, j = 1 . . . p y sus correspondientes derivadasqj , j = 1 . . . p, la ecuación 3.32 adopta la forma

[qv]T(

M∑

k=1

(∂

∂ q

[VRI (Bk)ΩRI (Solk)

])T [ F (Solk)M

k(Solk)

]+

+

M∑

k=1

Lk∑

j=1

(∂

∂ q

[VRI (Bk)ΩRI (Solk)

])T[

FAj(Solk)

MAj(Solk)k

])= 0 (3.34)

Si las velocidades generalizadas son independientes, la ecuación escalar ante-rior se traduce en el sistema11

M∑

k=1

(∂

∂ q

[VRI (Bk)ΩRI (Solk)

])T [ F (Solk)M

k(Solk)

]+

+M∑

k=1

Lk∑

j=1

(∂

∂ q

[VRI (Bk)ΩRI (Solk)

])T[

FAj(Solk)

MAj(Solk)k

]= 0 (3.35)

que en forma abreviada se escribe:

M∑

k=1

FF Solkq +

M∑

k=1

FFA(Solk)

q = 0 (3.36)

Si las acciones sobre los sólidos se clasifican atendiendo a lo presentado en lasección 3.1.1, la ecuación 3.36 puede volverse a escribir como

FF Sistq + FF ne

q + FF εq = 0 (3.37)

11Al igual que ocurría en el caso de sistemas de partículas, si el conjunto de velocidades virtua-les, qv , es dependiente, dichas velocidades pueden considerarse como independientes siempreque la contribución de las acciones de enlace que aseguran dichas dependencias aparezca en laecuación.

Page 54: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

40 Dinámica

donde ahora

FF Sistq =

M∑

k=1

FF Solkq

FF neq =

M∑

k=1

Lnek∑

j=1

FFAne

j (Solk)

q , FF εq =

M∑

k=1

Lεk∑

j=1

FFAε

j(Solk)

q

Al considerar todas las velocidades generalizadas como independientes, puedeque algunos de los enlaces sean violados. En ese caso, la contribución correspon-diente a las acciones de enlace, Aε (Solk) , aparece en las ecuaciones asegurandodinámicamente el cumplimiento de dichos enlaces.

Como consecuencia de la aplicación del principio de acción y reacción al con-junto de las acciones de enlace, las únicas aportaciones no nulas al vector de fuer-za generalizada son aquellas correspondientes a los enlaces no respetados por laacotación de partida, es decir:

FF εq =

M∑

k=1

Lεnrk∑

j=1

FFAεnr

j (Solk)

q = FF εnr

q .

Así, la ecuación 3.36 representa un sistema en el que, como incógnitas dinámi-cas, aparecen las aceleraciones generalizadas, q , y aquellas incógnitas de enlace,ε , que sirvieron para caracterizar los enlaces no respetados por la acotación departida.

La forma en que en este apartado se presentan las ecuaciones de Lagrange esconocida como Ecuaciones de Lagrange sin Multiplicadores. En la formulaciónclásica12, la fuerza generalizada asociada a los torsores de enlace de tipo nr(no respetados) se sustituye por la asociada a los denominados Multiplicadores deLagrange, λ , según

FF εnr

q + φT

qλ = 0 (3.38)

Si los torsores de los cuales deriva el primer sumando se caracterizan en ba-se a un número mínimo de incógnitas de enlace, la ecuación 3.38 establece unarelación biunívoca13 entre dicho grupo de incógnitas, ε , y los multiplicadoresde Lagrange, λ .

12descrita en la sección 3.5.13a no ser que existan redundancias en las condiciones de enlace involucradas.

Page 55: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

3.3 Pcpo. de las Potencias Virtuales para sistemas de sólidos rígidos 41

ECUACIONES DE NEWTON-EULER PARA UN SISTEMA DE SÓLIDOS RÍGIDOS

En este caso, para cada uno de los sólidos del sistema, Solk , k = 1 . . .M , seelige un grupo de pseudo-velocidades

zk =[

vxk vyk vzk ωxk ωyk ωzk

]T

de tal forma que VRI (Bk) =[

vxk vyk vzk

]Tes la velocidad del punto

Bk , cinemáticamente perteneciente al sólido Solk y expresado en una determi-

nada base de proyección, mientras que ΩRI (Solk) =[

ωxk ωyk ωzk

]Tes la

velocidad angular del sólido Solk.

De esta forma, a partir de la ecuación 3.32, se obtienen14 las ecuaciones deNewton-Euler para los sólidos Solk , k = 1 . . .M

[F (Solk)

M k(Solk)

]+

[FAε(Solk)

MAε(Solk)k

]+

[FAne(Solk)

MAne(Solk)k

]=

[0

0

](3.40)

donde

• El torsor de inercia del sólido Solk ya fué definido en la ecuación 3.27.

• Las acciones de enlace sobre el sólido Solk se caracterizan en términos delos diferentes torsores de enlace según

[FAε(Solk)

MAε(Solk)k

]=

Lεk∑

jε=1

[FAε

jε(Solk)

MAε

jε(Solk)

k

](3.41)

14Frecuentemente, los torsores asociados a una determinada acción Aj (Solk) se conocen en unpunto inapropiado para el planteamiento de las ecuaciones. Así, suponiendo que la acción anteriorestuviese definida en un punto Bk y se necesitase caracterizar el efecto resultante sobre B ′

k, esclaro que las expresiones

FAj (Solk)

k

= FAj(Solk)

k= F

Aj(Solk)

MAj (Solk)

k

= BkB′

k ∧FAj (Solk)

+ MAj (Solk)

k(3.39)

resultan equivalentes, lo cual resuelve de forma sencilla el problema de translación de torsores.

Page 56: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

42 Dinámica

• Las acciones constitutivas y de otros tipos sobre el sólido Solk se caracteri-zan en términos de los diferentes torsores de no-enlace según

[FAne(Solk)

MAne(Solk)k

]=

Lnek∑

jne=1

[FAne

jne(Solk)

MAne

jne(Solk)

k

](3.42)

En este caso, al estudiar el equilibrio correspondiente al sólido Solk, los torso-res de las acciones de enlace, Aε

jε(Solk), se expresan en términos de las denomi-

nadas incógnitas de enlace, ε , mientras que el resto de acciones, Anejne

(Solk) ,pueden caracterizarse en función del estado15 del sistema en cada instante de tiem-po.

Evidentemente, si el movimiento de los sólidos del sistema se expresa enfunción de un determinado conjunto, p , de coordenadas generalizadas, qj ,j = 1 . . . p , y sus correspondientes derivadas qj , j = 1 . . . p , la ecuación3.40 constituye un sistema,

F (Sol1)M

1(Sol1)...

F (SolM)M

M(SolM)

+

FAε(Sol1)

MAε(Sol1)1

...

FAε(SolM )

MAε(SolM )M

+

FAne(Sol1)

MAne(Sol1)1

...

F Ane(SolM )

MAne(SolM )M

=

0

0

...0

0

(3.43)

de 6M ecuaciones con p + nε incógnitas dinámicas, donde nε es la dimen-sión de ε.

Nótese que, en el sistema anterior, algunas de las incógnitas pueden quedarindeterminadas cuando existen dependencias entre las componentes del vector εo existen redundancias en las condiciones de enlace.

3.4. Ecuaciones Dinámicas de Enlace

En el planteamiento de las ecuaciones dinámicas por el formalismo de New-ton-Euler aparecen las denominadas fuerzas y momentos de enlace. Su funciónes la de garantizar, desde el punto de vista de la dinámica, el cumplimiento de lasrestricciones cinemáticas a las que el sistema mecánico se encuentra sujeto.

15en este contexto, se entiende por estado al vector x =[qT qT

]T.

Page 57: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

3.4 Ecuaciones Dinámicas de Enlace 43

Los torsores de enlace (conjuntos de fuerzas y momentos de enlace) se ca-racterizan haciendo uso de un conjunto de incógnitas denominadas Incógnitas deEnlace.

Desde un punto de vista más general, la forma que toman los torsores de enlaceen términos de las incógnitas de enlace puede abordarse mediante lo que en estaTesis Doctoral se denominan Ecuaciones Dinámicas de Enlace.

3.4.1. Caracterización de enlaces parciales

Bj

Bk

Bk ∈ Solk

Solj

Bj ∈ Solj

Enlace Solk

Figura 3.1: Esquema de un enlace genérico entre los sólidos Solj y Solk

El principio de acción y reacción, aplicado directamente sobre las fuerzas ymomentos asociados a un enlace genérico (figura 3.1) entre los sólidos Solj y Solkpresenta la forma

FAεj(k)

= −F Aεk(j)

MAε

j(k)

k= −MAε

k(j)

k(3.44)

donde Aεj (k) denota la acción de enlace de Solj sobre Solk (acción) y Aε

k (j)denota la acción de enlace de Solk sobre Solj (reacción).

Por otra parte, la potencia virtual asociada dicho enlace se expresa

vWε

jk = vWε

j (k) + vWε

k (j) (3.45)

Page 58: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

44 Dinámica

donde

• vWε

j (k) representa la potencia virtual asociada a la acción de Solj sobreSolk.Para un observador situado en la referencia R , la potencia virtual an-terior se expresa:

vWε

j (k) = FAεj(k)

· Vv

R(Bk) + M

Aεj(k)

k

·Ωv

R(Solk) (3.46)

siendo Bk un punto considerado cinemáticamente perteneciente al sólidoSolk.

• vWε

k (j) es la potencia virtual asociada a la acción de Solk sobre Solj y paraun observador situado en la referencia R se define como

vWε

k (j) = FAεk(j)

· Vv

R(Bj) + MAε

k(j)

j·Ω

v

R(Solj) (3.47)

siendo Bj un punto considerado cinemáticamente perteneciente al sólidoSolj.

Sustituyendo las definiciones anteriores en la ecuación 3.45 se obtienela expresión

vWε

jk = FAεj(k)

· Vv

R(Bk) + M

Aεj(k)

k

·Ωv

R(Solk)

+ FAεk(j)

· Vv

R(Bj) + MAε

k(j)

j·Ω

v

R(Solj) (3.48)

Alternativamente16, la potencia virtual asociada al enlace puede expresarse entérminos del movimiento virtual relativo entre los sólidos Solj y Solk según

vWε

jk = FAεj(k)

· Vv

Solj (Bk) + MAε

j(k)

k·Ω

v

Solj (Solk) (3.49)

La tercera ley de Newton, expresada de forma analítica17, garantiza que lasexpresiones anteriores se anulan cuando las velocidades, Vv

R(Bj,k) , y velocida-

des angulares virtuales, Ωv

R(Solj,k) , son compatibles con dicho enlace. Es decir,

cuando las velocidades y velocidades angulares virtuales se eligen de tal formaque el movimiento virtual relativo entre los sólidos Solj y Solk no viola ningunade las restricciones impuestas por el enlace, la potencia virtual asociada a dichoenlace es nula.

16Basta combinar la definición 3.45 con la ecuación 3.44 y operar de forma conveniente.17Referencias [Agu96, Ros00].

Page 59: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

3.4 Ecuaciones Dinámicas de Enlace 45

Así pues, la ecuación

FAεj(k)

· Vv

R(Bk) + M

Aεj(k)

k

·Ωv

R(Solk) +

FAεk(j)

· Vv

R(Bj) + MAε

k(j)

j·Ω

v

R(Solj) = 0 , (3.50)

y la ecuación

FAεj(k)

· Vv

Solj(Bk) + MAε

j(k)

k·Ω

v

Solj(Solk) = 0 , (3.51)

pueden emplearse indistintamente para caracterizar la j-ésima acción de en-lace entre los sólidos Solj y Solk.

3.4.2. Fuerza generalizada asociada a las acciones de enlace

La ecuación 3.50 se extiende al conjunto de acciones de enlace sobre el sistemasegún

M∑

k=1

Lεk∑

j=1

FAεj(Solk)

· Vv(Bk) + M

Aεj(Solk)

k

·Ωv(Solk) = 0 (3.52)

donde se exige que las velocidades, Vv(Bk) , k = 1 . . .M , y velocidades

angulares virtuales, Ωv(Solk) , k = 1 . . .M , sean compatibles con los enlaces.

Por otra parte, si la cinemática del sistema se expresa en función de un con-junto de nz pseudo-velocidades zj, j = 1 . . . nz, la ecuación 3.52 se escribe

[z]T(

M∑

k=1

Lεk∑

j=1

(∂

∂ z

[VRI (Bk)ΩRI (Solk)

])T[

FAεj(Solk)

MAε

j(Solk)

k

])= 0 (3.53)

Si las pseudo-velocidades son independientes18, la ecuación escalar anteriorse traduce en el sistema

FF εz =

M∑

k=1

Lεk∑

j=1

(∂

∂ z

[VRI (Bk)ΩRI (Solk)

])T[

FAεj(Solk)

MAε

j(Solk)

k

]= 0 (3.54)

18y por tanto compatibles con todos los enlaces

Page 60: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

46 Dinámica

donde FF εz representa la fuerza generalizada en el grupo de pseudo-

coordenadas z asociada a las acciones de enlace.

Si, como es habitual, las pseudo-velocidades son elegidas de tal forma quese violan algunos de los enlaces, la ecuación 3.53 debe ser resuelta junto con unconjunto de relaciones cinemáticas que aseguran dichos enlaces,

φzz = 0. (3.55)

Haciendo uso de un conjunto de multiplicadores19, λi, i = 1 . . . c , las ecua-ciones 3.54 y 3.55 pueden combinarse para obtener la expresión

M∑

k=1

Lεk∑

j=1

(∂

∂ z

[VRI (Bk)ΩRI (Solk)

])T[

FAεj(Solk)

MAε

j(Solk)

k

]+ φ

T

zλ = 0,

que en forma abreviada se escribe

FF εz + φ

T

zλ = 0. (3.56)

La bibliografía está llena de referencias en las que se proponen métodos quepermiten determinar las acciones de enlace, o mejor dicho, las incógnitas que seutilizan para definirlas, ε, a partir de los multiplicadores de Lagrange, λ. Pero di-chos métodos presuponen una normalización en la definición de las ecuaciones deenlace y en la acotación del sistema. En general, si se modifica la forma de acotarel sistema, o tan sólo la forma de definir las ecuaciones de enlace, el significadode los multiplicadores cambia.

La ecuación 3.56 permite caracterizar correctamente cualquier acción de en-lace sin especificar la tipología específica de la misma (rotula, universal,...). Esdecir, en una situación en la que los enlaces se definen a partir de restriccionescinemáticas, la ecuación 3.56 permite caracterizar los torsores asociados a dichosenlaces, aún cuando las incógnitas de enlace sean asignadas de forma arbitraria.

3.5. Formulación Clásica de las Ecuaciones de Lagrange paraun sistema de sólidos rígidos

En esta sección, los diferentes términos que aparecen en las ecuaciones diná-micas de Lagrange se deducirán de forma clásica.

19penalizadores asociados al error cometido en el cumplimiento de las relaciones cinemáticas.

Page 61: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

3.5 Formulación Clásica de las Ecuaciones de Lagrange 47

La fuerza generalizada de inercia se definirá a partir de la Energía Cinética delsistema, la asociada a las acciones de enlace en términos de los multiplicadoresde Lagrange, y el resto de fuerzas como en las ecuaciones 3.37.

3.5.1. Fuerza Generalizada de las Fuerzas de Inercia en términos de laEnergía Cinética del Sistema

De forma clásica, la fuerza generalizada de inercia se define a partir de laEnergía Cinética del sistema, T (Sist).

La Energía Cinética de un sistema de M sólidos Solk, k = 1 . . .M se obtienesumando las contribuciones de cada uno de los sólidos,

T (Solk) =1

2VRI (Gk)

T D(Solk) +

+1

2ΩRI (Solk)

T H k(Solk) , (3.57)

y en forma matricial se expresa20

T (Solk) =1

2

[VRI (Gk)ΩRI (Solk)

]T [ D(Solk)H

k(Solk)

].

20Desarrollando los términos que componen la definición de energía cinética, ésta adopta laforma general:

T (Solk) =1

2

[VRI (Gk)ΩRI (Solk)

]T

A[

VRI (Gk)ΩRI (Solk)

](3.58)

donde A es una matriz simétrica de dimensión (6, 6),

A =

[m I3 0

0 II k(Solk)

], (3.59)

constante cuando la velocidad angular del sólido, ΩRI (Solk) , se proyecta en la basesolidaria al sólido Solk.

Así, la parcial de T (Solk) respecto a cualquier velocidad generalizada, qj , se expresa como

∂ T (Solk)

∂ qj

=1

2

(∂

∂ qj

[VRI (Gk)ΩRI (Solk)

])T [A] [ VRI (Gk)

ΩRI (Solk)

]

+1

2

([VRI (Gk)ΩRI (Solk)

])T [A] ∂

∂ qj

[VRI (Gk)ΩRI (Solk)

]

=

(∂

∂ qj

[VRI (Gk)ΩRI (Solk)

])T [A] [ VRI (Gk)

ΩRI (Solk)

]

donde se ha tenido en cuenta que la matriz A es simétrica.

Page 62: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

48 Dinámica

La parcial de la expresión anterior respecto a las velocidades generalizadas, q,se escribe:

[∂ T (Solk)

∂ q

]T

=

(∂

∂ q

[VRI (Gk)ΩRI (Solk)

])T [ D(Solk)H

k(Solk)

]. (3.60)

Si se calcula la derivada total respecto al tiempo,

d

dt

[∂ T (Solk)

∂ q

]T

=d

dt

(∂

∂ q

[VRI (Gk)ΩRI (Solk)

])T [ D(Solk)H

k(Solk)

]+

+

(∂

∂ q

[VRI (Gk)ΩRI (Solk)

])Tdd t

[D(Solk)H

k(Solk)

],

(3.61)

y se tiene en cuenta que VRI (Gk) y ΩRI (Solk) son formas lineales21 en lasvelocidades generalizadas,

d

dt

(∂

∂ q

[VRI (Gk)ΩRI (Solk)

])T

=

(∂

∂ q

[VRI (Gk)ΩRI (Solk)

])T

, (3.62)

21Teniendo en cuenta que cualquier velocidad es una expresión lineal en las velocidades gene-ralizadas,

[VRI (Gk)ΩRI (Solk)

]=

[BV (q)BΩ (q)

]q,

la parcial de dicha expresión respecto a q se escribe

∂ q

[VRI (Gk)ΩRI (Solk)

]=

[BV (q)BΩ (q)

],

de lo cual se deduce que

d

dt

(∂

∂ q

[VRI (Gk)ΩRI (Solk)

])=

∂ q

[BV (q)BΩ (q)

]q

=∂

∂ q

[VRI (Gk)ΩRI (Solk)

]

Page 63: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

3.5 Formulación Clásica de las Ecuaciones de Lagrange 49

entonces la ecuación 3.61 se convierte en

d

dt

[∂ T (Solk)

∂ q

]T

=

[∂ T (Solk)

∂ q

]T

(∂

∂ q

[VRI (Gk)ΩRI (Solk)

])T [ F (Solk)M

k(Solk)

]

(3.63)

donde, si se tiene en cuenta la definición de fuerza generalizada de inerciapresentada en la sección 3.3.1, resulta obvio que

FFq (Solk) = −

(d

dt

[∂ T (Solk)

∂ q

]T

[∂ T (Solk)

∂ q

]T)

(3.64)

3.5.2. Expresión de las Ecuaciones de Lagrange en términos de la EnergíaCinética del Sistema

Haciendo uso de la ecuación 3.64, el principio de las potencias virtuales parael sólido Solk puede escribirse en términos de la energía cinética como

[qv]T[−

d

dt

[∂ T (Solk)

∂ q

]T

+

[∂ T (Solk)

∂ q

]T

+

Lk∑

j=1

FFAj(Solk)

q

]= 0 (3.65)

donde el superíndice Aj (Solk) hace referencia a cualquier acción sobre elsólido Solk.

La ecuación 3.65, extendida al sistema completo de sólidos, Solk ,k = 1 . . .M , se escribe

[qv]T[−

d

dt

[∂ T (Sist)

∂ q

]T

+

[∂ T (Sist)

∂ q

]T

+ FFA(Sist)

q

]= 0 (3.66)

Si las velocidades generalizadas virtuales se consideran independientes, laecuación 3.66 se convierte en el sistema

(d

dt

[∂ T (Sist)

∂ q

]T

[∂ T (Sist)

∂ q

]T)

+ FFA(Sist)

q = 0 (3.67)

Page 64: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

50 Dinámica

donde

• T (Sist) representa la Energía Cinética del Sistema

T (Sist) =M∑

k=1

T (Solk) (3.68)

• FFA(Sist)

q es la fuerza generalizada asociada al conjunto de todas las accio-nes sobre el sistema

FFA(Sist)

q =M∑

k=1

Lk∑

j=1

FFAj(Solk)

q (3.69)

Si las acciones sobre los sólidos se clasifican atendiendo a lo presentado enla sección 3.1.1, el término anterior puede escribirse como

FFA(Sist)

q = FF neq + FF εnr

q (3.70)

donde las fuerzas generalizadas correspondientes a enlaces respetados porla acotación de partida anulan sus contribuciones en virtud del principio deacción y reacción.

Como ya se dijo, si al considerar independientes todas las velocidades vir-tuales se viola alguno de los enlaces, el cumplimiento de dichos enlaces a niveldinámico queda garantizado por el término FF εnr

q , que a su vez se expresa enfunción del subgrupo de incógnitas ε .

3.5.3. Ecuaciones de Lagrange con Multiplicadores

Como se ha visto en el apartado anterior, la existencia de relaciones entre lascoordenadas de partida, q , obliga a caracterizar las acciones de enlace vinculadasa dichas relaciones. Sin embargo, caracterizar los torsores correspondientes a unode estos enlaces representa un trabajo extra que, en ocasiones, no aporta nada.

Haciendo uso de la ecuación 3.38, las fuerza generalizada asociada a las ac-ciones de enlace no respetadas por la acotación de partida, puede expresarse22 entérminos de los multiplicadores de Lagrange.

Page 65: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

3.6 Expresión Matricial de las Ecuaciones de la Dinámica 51

Así, la ecuación 3.67 puede volverse a escribir como

−d

dt

[∂ T (Sist)

∂ q

]T

+

[∂ T (Sist)

∂ q

]T

− φT

vλ+ FF ne

q = 0, (3.71)

donde φT

vλ representa la fuerza generalizada asociada a las acciones de

enlace no respetadas por la acotación de partida.

3.6. Expresión Matricial de las Ecuaciones de la Dinámica

La implementación computacional de las ecuaciones sugiere la expresión delas mismas en forma matricial.

3.6.1. Expresión Matricial de las Ecuaciones de Lagrange

La mayoría de los autores expresan la ecuación 3.67 en términos de la matrizde masa, Mqq , del sistema, definida ésta de forma que

T (Sist) =1

2qT Mqq q (3.72)

Teniendo en cuenta lo visto al inicio de la sección 3.5, resulta evidente que

MSolkqq

=

(∂

∂ q

[VRI (Gk)ΩRI (Solk)

])T [m I3 0

0 II k(Solk)

]∂

∂ q

[VRI (Gk)ΩRI (Solk)

]

(3.73)

donde se aplica que tanto VRI (Gk) como ΩRI (Solk) son lineales en q.

La matriz de masa global, Mqq , queda definida en términos de las matricesde masa correspondientes a cada uno de los sólidos del sistema según

Mqq=

M∑

k=1

MSolkqq

(3.74)

donde conviene apreciar que la matriz anterior es cuadrada de dimensión p,simétrica, puesto que todas las submatrices que aparecen en la ecuación 3.74 loson, y semidefinida23 positiva, puesto que la energía cinética es siempre ≥ 0.

22La demostración puede encontrarse en la referencia [Sha98]23podrían aparecer términos nulos en la diagonal principal.

Page 66: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

52 Dinámica

EXPRESIÓN PARA LA FUERZA GENERALIZADA DE INERCIA EN TÉRMINOS DE

LA MATRIZ DE MASA

Teniendo en cuenta la ecuación 3.64, e introduciendo en ésta la definición dematriz de masa, la fuerza generalizada de inercia se escribe

FFq = −

(Mqq q + ˙Mqq

q −1

2qT

[∂

∂ qMqq

]q

)(3.75)

donde se aplica que

d

dt

[∂ T (Sist)

∂ q

]T

= Mqq q + ˙Mqqq

= Mqq q +

[p∑

i=1

∂ qi

Mqq qi

]q

y que la parcial de T (Sist) respecto a q puede calcularse coordenada a coor-denada empleando la equivalencia

∂ T (Sist)∂ qi

=1

2qT

[∂

∂ qi

Mqq

]q. (3.76)

EXPRESIÓN PARA LA FUERZA GENERALIZADA DE ENLACE

En este caso, la contribución al vector de fuerza generalizada de los torsoresasociados a enlaces no compatibles con la acotación de partida se expresa hacien-do uso de la ecuación 3.38 según

φT

qλ = −FF εnr

q

donde el vector de multiplicadores de Lagrange, λ, sustituye al subgrupo deincógnitas de enlace ε .

Page 67: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

3.6 Expresión Matricial de las Ecuaciones de la Dinámica 53

EXPRESIÓN PARA LAS ECUACIONES DINÁMICAS EN TÉRMINOS DE LA MATRIZ

DE MASA

Empleando la definición de fuerza generalizada de inercia propuesta en estemismo apartado, la ecuación de Lagrange se escribe en términos de la matriz demasa del sistema como

[Mqq φ

T

v

] [q

λ

]= FF ne

q +FF qq︸ ︷︷ ︸

Qq

(3.77)

donde

• FF qq representa la contribución de las fuerzas Centrífugas y de Coriolis

FF qq = −

(˙Mqq

q −1

2qT

[∂

∂ qMqq

]q

)(3.78)

• FF neq hace referencia a cualquier fuerza generalizada que no sea de enlace.

FF neq =

M∑

k=1

Lk∑

j=1

FFAne

j (Solk)

q (3.79)

CONSIDERACIONES FINALES

El sistema de ecuaciones 3.77 debe completarse con las ecuaciones de enlacepara aceleraciones, de tal forma que el bloque de ecuaciones

[Mqq φ

T

v

φv

0

] [q

λ

]=

[Qq

− ˙φvq − bv

](3.80)

representa un sistema de dimensión (p + c, p + c) donde la matriz que aparece

acompañando a las p + c incógnitas dinámicas es simétrica , puesto que Mqq

lo es y regular, siempre que la matriz φv

sea de rango máximo24.

24en el caso de introducir ecuaciones redundantes, la matriz φv no tiene rango máximo.Esto no supone un problema de naturaleza física, pero desde un punto de vista numérico, deberáutilizarse un solver capaz de resolver sistemas de ecuaciones indeterminados. La indeterminaciónafectará exclusivamente al subconjunto de multiplicadores de Lagrange asociados a las ecuacionesredundantes.

Page 68: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

54 Dinámica

3.6.2. Expresión Matricial de las Ecuaciones de Newton-Euler

Como ya se ha dicho en apartados anteriores, el formalismo de Newton-Eulerresulta en un sistema de 6M ecuaciones con q y ε como incógnitas dinámicas.

En este caso, el equilibrio dinámico se estudia para cada sólido, lo cual exigecaracterizar todos los términos de la ecuación 3.40 en función de las incógnitasdinámicas.

EXPRESIÓN PARA EL TORSOR DE INERCIA DEL SÓLIDO Solk

Teniendo en cuenta que tanto la velocidad, VRI (Gk), como la velocidad angu-

lar, ΩRI (Solk) son expresiones lineales en las velocidades generalizadas, el torsor

de inercia del sólido Solk se expresa

[F (Solk)

M k(Solk)

]= −

d

dt

([m I3 0

0 II k(Solk)

] [VRI (Gk)ΩRI (Solk)

])

= −d

dt

([m I3 0

0 II k(Solk)

]∂

∂ q

[VRI (Gk)ΩRI (Solk)

]q

)

(3.81)

y si los términos del segundo miembro se agrupan de forma conveniente, laecuación anterior puede volverse a escribir como

[F (Solk)

M k(Solk)

]= −

(MSolk

zqq + ˙M

Solk

zqq)

(3.82)

donde

• MSolkzq

es una matriz de dimensión (6, p) que representa la matriz demasa del sólido Solk

MSolkzq

=

[m I3 0

0 II k(Solk)

]∂

∂ q

[VRI (Gk)ΩRI (Solk)

](3.83)

• el segundo sumando de la ecuación 3.82 representa la fuerza de Centrífugay de Coriolis sobre Solk,

FF qz,Solk

= − ˙MSolk

zqq, (3.84)

Page 69: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

3.6 Expresión Matricial de las Ecuaciones de la Dinámica 55

y donde

˙MSolk

zq=

p∑

i=1

∂ qiMSolk

zqqi. (3.85)

EXPRESIÓN QUE CARACTERIZA EL CONJUNTO DE ACCIONES DE ENLACE SO-BRE Solk

Teniendo en cuenta que cualquier acción de enlace es lineal en las incógnitasde enlace, el torsor asociado a todas las acciones de enlace, FF ε

z , sobre Solk seexpresa según

FF εz,Solk =

Lεk∑

j=1

[FAε

j(Solk)

MAε

j(Solk)

k

]= − VSolk

zqε (3.86)

EXPRESIÓN QUE CARACTERIZA EL CONJUNTO DE ACCIONES DE NO-ENLACE

SOBRE Solk

El torsor asociado a todas las acciones de no-enlace25, FF nez , sobre el sólido

Solk se calcula en función del estado del sistema como

FF nez,Solk =

[F Ane(Solk)

MAne(Solk)

k

]=

Lnek∑

j=1

[FAne

j (Solk)

MAne

j (Solk)

k

](3.87)

EXPRESIÓN PARA LAS ECUACIONES DINÁMICAS

Una vez desarrolladas las expresiones para los torsores de inercia y de enlace,la ecuación 3.40 puede reescribirse como

[MSolk

zq VSolkzq

] [q

ε

]= FF ne

z,Solk −˙M

Solk

zqq (3.88)

Extendiendo esta idea al sistema de M sólidos se obtiene un sistema dedimensión (6M, p + nε)

[Mzq Vzq

] [q

ε

]= FF ne

z − ˙Mzqq

︸ ︷︷ ︸Q

z

(3.89)

25constitutivas y de otros tipos

Page 70: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

56 Dinámica

donde

• Mzq es la matriz de masa del sistema,

Mzq =

MSol1zq...

MSolkzq...

MSolMzq

(3.90)

• FF εz es la fuerza generalizada de enlace, cuya expresión en términos de Vzq

y ε resulta

FF εz = − Vzq ε =

FF εz,Sol1

...FF ε

z,Solk...

FF εz,SolM

= −

VSol1zq...

VSolkzq...

VSolMzq

ε (3.91)

• FF nez es la fuerza generalizada asociada a otras acciones,

FF nez =

FF nez,Sol1

...FF ne

z,Solk...

FF nez,SolM

(3.92)

• FF qz es la fuerza generalizada asociada a las fuerzas Centrífugas y de Co-

riolis, cuya expresión en términos de ˙Mzqy q resulta

FF qz = − ˙Mzq

q =

FF qz,Sol1...

FF qz,SolK

...

FF qz,SolM

= −

˙MSol1

zq...

˙MSolk

zq...

˙MSolM

zq

q (3.93)

Page 71: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

3.6 Expresión Matricial de las Ecuaciones de la Dinámica 57

CONSIDERACIONES FINALES

El sistema 3.89 se completa con las derivadas de las ecuaciones de restricciónde tal forma que el conjunto de ecuaciones

[Mzq Vzq

φv

0

] [q

ε

]=

[Qz

− ˙φvq − bv

](3.94)

representa un sistema de dimensión (6M + c, p + nε).

La compatibilidad del sistema anterior puede explicarse teniendo en cuentaque, cada incógnita de enlace puede asociarse a la eliminación de un grado delibertad del sistema de sólidos sin enlaces, de forma que nε = 6M − n = 6M −(p − c).

Así, en una situación en la que todos los enlaces son caracterizados en basea un número mínimo de incógnitas, las 6M + c ecuaciones que componen elsistema 3.94 resolverán las p + nε = 6M + c incógnitas del problema dinámico.

Si existen redundancias en las condiciones de enlace, el número de incógnitasde enlace será, en general, mayor que 6M − n. El sistema 3.94 es indetermi-nado, pero la indeterminación sólo afecta a las incógnitas de enlace que impidenmovimientos de forma redundante.

Si se desea, para eliminar las posibles redundancias asociadas a los enlaces,pueden introducirse ecuaciones adicionales de la forma

R =

r1 (ε)...

rnε−(6M−n) (ε)

= Rε ε = 0, (3.95)

donde nε − (6M −n) representa el número de incógnitas de enlace en exceso.

3.6.3. Expresión matricial de las ecuaciones dinámicas de enlace

Teniendo en cuenta que la fuerza generalizada asociada a las acciones de en-

lace, FF εz , es lineal en ε, siempre puede encontrarse una matriz

Vzq ε = −FF εz , (3.96)

Page 72: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

58 Dinámica

cuya definición se corresponde con la derivada parcial:

Vzq = −∂

∂ ε

M∑

k=1

Lεk∑

j=1

(∂

∂ z

[VRI (Bk)ΩRI (Solk)

])T[

FAεj(Solk)

MAε

j(Solk)

ε

]. (3.97)

Así, la ecuación 3.56 se expresa en forma matricial como

[Vzq − φ

T

z

] [ε

λ

]= 0 (3.98)

Un algoritmo específico para plantear estas ecuaciones con z = q será des-crito en el capítulo 4 (implementación).

3.6.4. Relación entre los formalismos de Lagrange y Newton-Euler

Si se compara la matriz de masa de un determinado sólido Solk definida enla ecuación 3.83 con su equivalente en el formalismo de Lagrange, 3.73, se hacepatente la siguiente relación

MSolkqq

= TRSolkzq MSolk

zq(3.99)

donde

TRSolkzq

=

(∂

∂ q

[VRI (Gk)ΩRI (Solk)

])T

. (3.100)

Extendiendo este razonamiento al sistema de M sólidos, es claro que

Mqq =M∑

k=1

TRSolkzq MSolk

zq

= TRzq Mzq ,

donde TRzq es la matriz de dimensión (p, 6M) :

TRzq =[

TRSol1zq

. . . TRSolkzq

. . . TRSolMzq

], (3.101)

Page 73: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

3.7 Expresión Matricial General de las Ecuaciones de la Dinámica 59

Operando de forma análoga con el torsor asociado a las acciones de enlace, seobtiene la fuerza generalizada asociada a las acciones de enlace,

FF εq =

M∑

k=1

TRSolkzq

FF εz,Solk = TRzq FF ε

z

= − TRzq Vzq ε. (3.102)

Comparando este término con su equivalente en la formulación clásica de La-grange se obtiene la relación entre las incógnitas asociadas a los enlaces no respe-tados por la acotación de partida y los multiplicadores Lagrange,

Vqz ε− φT

vλ = 0 , (3.103)

donde Vqz es la matriz de dimensión (p, nε) , en general no cuadrada y noinversible:

Vqz = TRzq Vzq (3.104)

Por último, la fuerza generalizada asociada a las fuerzas Centrífugas y de Co-riolis se escribe

FF qq =

M∑

k=1

TRSolkzq

FF qz,Solk

= TRzq FFq

z

= − TRzq˙Mzq

q (3.105)

3.7. Expresión Matricial General de las Ecuaciones de la Diná-mica en términos de los Torsores

En el apartado 3.6 se ha descrito de forma detallada la forma matricial queadoptan las ecuaciones dinámicas. Para ello se ha utilizado definición de matriz demasa en los contextos de Lagrange y de Newton-Euler. Además se ha establecidola relación matemática existente entre dichos formalismos.

Análogamente se ha explicado la forma matricial general que pueden adoptarlas ecuaciones dinámicas de enlace, de utilidad para la caracterización automáticade los torsores de enlace.

Page 74: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

60 Dinámica

En este aparatado se presenta una expresión matricial de las ecuaciones di-námicas que incluye todos los formalismos planteables desde el principio de laspotencias virtuales. Se ha tratado de dar la máxima generalidad a la expresión,introduciendo todos los elementos que pueden aparecer:

• Ecuaciones dinámicas.

• Ecuaciones cinemáticas para aceleraciones.

• Ecuaciones dinámicas de enlace

• Ecuaciones para la eliminación de redundancias.

En este caso, las contribuciones inerciales a las ecuaciones dinámicas se des-criben en términos de los torsores de inercia26, a diferencia del tratamiento pre-sentado en la sección 3.5.

Esta descripción de las ecuaciones dinámicas se empleará, en el contexto dela dinámica, como punto de partida para definir las estructuras de datos y losalgoritmos en los que debe basarse el sistema simbólico para la DSM presentadoen esta tesis doctoral.

ECUACIONES MATRICIALES

La expresión que se introduce a continuación es completamente general, paraun problema resuelto según el principio de las potencias virtuales con velocidadesvirtuales arbitrarias z , y acotado en términos de un conjunto de coordenadasgeneralizadas q.

Mzq Vzq 0φ

v0 0

0 Vzq − φT

z

0 Rε 0

q

ε

λ

=

FF qz0

0

0

+

+

FF nez0

0

0

0

φqq + φt

0

0

(3.106)

26No obstante, se implementarán dos algoritmos diferentes para su definición:

• En términos de los torsores de inercia, empleando las ecuaciones que aquí se plantean.

• En términos de las matrices de masa, empleando las ecuaciones presentadas en elapartado 3.5.

Page 75: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

3.7 Expresión Matricial General de las Ecuaciones de la Dinámica 61

Las expresiones anteriores pueden particularizarse para diferentes formalis-mos eligiendo diferentes grupos de velocidades virtuales:

• Si z se sustituye por el conjunto de coordenadas generalizas, q , se obtie-nen las Ecuaciones de Lagrange sin multiplicadores.

Tomando como referencia las ecuaciones anteriores, y sustituyendo la de-finición de la fuerza generalizada de enlace por su equivalente en términosde λ, se obtienen las Ecuaciones de Lagrange con multiplicadores .

• Si z se sustituye por un conjunto apropiado de desplazamientos y giroscartesianos, se obtienen las Ecuaciones de Newton-Euler.

Pese a que las ecuaciones planteadas son completamente generales en térmi-nos de velocidades virtuales arbitrarias z , su implementación se limitará a losformalismos de Lagrange y Newton-Euler.

a) Expresión para Mzq

Tomando como referencia el Principio de las Potencias Virtuales y la Ter-cera ley de Newton para las acciones de enlace27, puede afirmarse

FF qz − Mzq q =

M∑

k=1

(∂

∂ z

[V (BSolk)Ω(Solk)

])T [ F (Solk)M

k(Solk)

](3.107)

donde

Mzq = −∂

∂ q

M∑

k=1

(∂

∂ z

[V (BSolk)Ω(Solk)

])T [ F (Solk)M

k(Solk)

](3.108)

b) Expresión para FF qz

Teniendo en cuenta la definición propuesta en 3.107, la contribución de las

Fuerzas Centrífugas y de Coriolis, FF qz , puede escribirse como

FF qz =

M∑

k=1

(∂

∂ z

[V (BSolk)Ω(Solk)

])T [ F (Solk)M

k(Solk)

]+ Mzq q (3.109)

27La potencia virtual producida por las fuerzas de enlace de un sistema, para movimientosvirtuales compatibles con los enlaces, es nulo

Page 76: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

62 Dinámica

o bien,

FF qz =

∂ q

(M∑

k=1

(∂

∂ z

[V (BSolk)Ω(Solk)

])T [ F (Solk)M

k(Solk)

])q . (3.110)

c) Expresión para Vqz y φz

La expresión para la fuerza generalizada de enlace, FF εz , ya se definió en

el apartado correspondiente a las ecuaciones dinámicas de enlace y es la queaparece en la ecuación 3.96.

Tal como se explica en la sección 3.6.3, la fuerza generalizada FF εz se

expresa en forma matricial según

FF εz = − Vzq ε

donde la expresión para Vzq ,

Vzq = −∂

∂ ε

M∑

k=1

Lεk∑

j=1

(∂

∂ z

[VRI (Bk)ΩRI (Solk)

])T[

FAεj(Solk)

MAε

j(Solk)

ε

],

ya fué presentada en la ecuación 3.97.

Por otra parte, la matriz φz

se corresponde con la derivada parcial

φz

=∂ φ

∂ z.

Debido a la dificultad en el plantenamiento de φz

, la implementaciónpresentada en el capítulo 4, se limitará al caso en que las derivadas parcialesse toman respecto a z = q .

En tal caso, La ecuación 3.98, presentada en la sección 3.6.3, se sustituyepor la correspondiente en términos de q ,

[Vqz − φ

T

v

] [ε

λ

]= 0 (3.111)

Page 77: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

3.7 Expresión Matricial General de las Ecuaciones de la Dinámica 63

donde

• Vzq se sustituye por Vqz ,

Vqz = −∂

∂ ε

M∑

k=1

Lεk∑

j=1

(∂

∂ q

[VRI (Bk)ΩRI (Solk)

])T[

FAεj(Solk)

MAε

j(Solk)

ε

]

(3.112)

• φz

se sustituye por φv

, ya definida en la ecuación 2.4.

La obtención de la máxima información posible para la caracterización delas acciones de enlace en el caso z = q , conduce a la aplicación de laecuación 3.111 para todos y cada uno de los enlaces del sistema28.

d) Expresión para Rε

Si se caracteriza con torsores globales, la matriz Rε , definida por la ecua-ción 3.95, es idénticamente nula29, mientras que si se hace con enlaces parcia-les, ésta adopta la forma

Rε =∂

∂ ε

([v (q)ω (q)

]T[

FAεj(Solk)

MAε

j(Solk)

k

]), (3.113)

donde v y ω, son vectores en las direcciones de los cuales se anula la fuer-za y el momento del enlace parcial, es decir, en general, indican direccionesde translaciones o rotaciones permitidas por el enlace. Se debe introducir unaecuación de este tipo por cada redundancia matemática que sea necesario eli-minar.

e) Expresión para FF nez

La fuerza generalizada en z asociada a otras acciones se expresa como

FF nez =

M∑

k=1

(∂

∂ z

[V (BSolk)Ω(Solk)

])T[

FAne(Solk)

MAne(Solk)k

](3.114)

donde

[FAne(Solk)

k, MAne(Solk)

k

]Trepresenta el torsor asociado a otras ac-

ciones sobre Solk, definido por la ecuación 3.42.

28en vez de para todo el sistema como sugiere dicha ecuación.29No existen enlaces redundantes

Page 78: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

64 Dinámica

3.8. Ejemplo

En esta sección, se desarrollan las ecuaciones cinemáticas y dinámicas co-rrespondientes al mecanismo pistón-biela-manivela que aparece en la figura 3.2con la intención de presentar al lector los conceptos teóricos que aparecen en éstecapítulo así como en el anterior de una forma sencilla e intuitiva.

B

C

E

D

eA

Figura 3.2: Descripción gráfica del mecanismo

En cuanto al formalismo a emplear en el planteamiento de las ecuaciones di-námicas, en este caso se proponen dos: Lagrange y Newton-Euler. Ambos forma-lismos se incluyen en este texto con la intención de presentar la topología de lossistemas de ecuaciones obtenidos en cada caso.

3.8.1. Cinemática

Tal como puso de manifiesto en el capítulo 2, proporcionar una descripcióncinemática del mecanismo implica:

• Elegir una serie de parámetros cinemáticos.• Elegir un conjunto de coordenadas generalizadas para representar el movi-

miento del mecanismo.• Plantear las ecuaciones de restricción, ya sean éstas geométricas o de tipo

no holónomo.

ACOTACIÓN

La figura 3.3 presenta la acotación mixta30 propuesta para el sistema mecánico.En este caso, el movimiento del mecanismo queda caracterizado mediante losángulos absolutos θ1 y θ2.

30no coincide con ninguna de las presentadas en la sección 2.3.

Page 79: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

3.8 Ejemplo 65

Bie

E

Blo

Abs

Man

D

B

θ2

A

x

2

x

θ1

y

y

2′

1′

e

C

Figura 3.3: Acotación propuesta para el mecanismo

Así pues, el vector de coordenadas generalizadas, q, contiene dos variables( p = 2 ) y se escribe

q = [θ1 θ2]T (3.115)

Los vectores de velocidades y aceleraciones generalizadas se definen en tér-

minos de las anteriores según q = [θ1 θ2]T y q = [θ1 θ2]

T respectivamente.

ECUACIONES DE POSICIÓN Ó GEOMÉTRICAS

Como ya se dijo en la primera sección, plantear las ecuaciones de restricciónrequiere de una descripción cinemática en términos de las coordenadas de partida.

Teniendo en cuenta el grupo de coordenadas elegidas, q, la única condiciónque debe imponerse para que el mecanismo funcione correctamente es que la cotavertical del puntoC sea igual al parámetro geométrico e (ver figura 3.4).

Esta condición se expresa mediante la ecuación:

AC · ey − e = 0 (3.116)

donde ey hace referencia al vector unitario en la dirección y de la base xyz .

Page 80: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

66 Dinámica

l1

lg1

D

l2

E C

B

lg2

e

A

Figura 3.4: Parámetros del problema geométrico

Haciendo uso de las matrices de cambio de base, podemos expresar la ecua-ción 3.116 en forma matricial:

( [I]1 ′2 ′3 ′

xyz

[AB

]1 ′2 ′3 ′

+[I]123

xyz

[BC

]123

)T

0

1

0

xyz

−e = 0 (3.117)

donde

[I]1 ′2 ′3 ′

xyz=

cos θ1 − sin θ1 0sin θ1 cos θ1 0

0 0 1

,

[I]123

xyz=

cos θ2 − sin θ2 0sin θ2 cos θ2 0

0 0 1

[AB

]1 ′2 ′3 ′

=

l1

0

0

1 ′2 ′3 ′

,[BC

]123

=

l2

0

0

123

Operando, la ecuación 3.117 se escribe ahora

l1 sin θ1 + l2 sin θ2 − e = 0. (3.118)

Page 81: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

3.8 Ejemplo 67

Así, el vector de restricciones, φ , únicamente contiene la ecuación 3.118, detal forma que

φ = [l1 sin θ1 + l2 sin θ2 − e] = 0 (3.119)

ECUACIONES EN VELOCIDADES

Al no existir ninguna relación de tipo no holónomo ( r = 0 ), la derivada totaldel vector de restricciones geométricas determina las relaciones entre velocidadesgeneralizadas

φ = φqq + φt =

= [l1 cos θ1 l2 cos θ2]

[θ1

θ2

]= 0 (3.120)

donde φt = 0 ya que el vector φ no presenta dependencias explícitas en lavariable tiempo, t.

Así, en este caso, el número de ecuaciones en velocidad, c = g + r = 1,coincide con el de ecuaciones geométricas y el número de grados de libertad delmecanismo, n = p − c = 1, coincide con el de coordenadas independientes,m = p − g = 1.

ECUACIONES EN ACELERACIONES

Las ecuaciones en aceleraciones se obtienen calculando la derivada total delvector φ .

φ = φqq + ˙φ

qq + φt =

= [l1 cos θ1 l2 cos θ2]

[θ1

θ2

]−

−[l1θ1 sin θ1 l2θ2 sin θ2

] [ θ1

θ2

]= 0 (3.121)

donde φt = 0 por la misma razón que en el apartado anterior.

Page 82: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

68 Dinámica

3.8.2. Dinámica

Plantear las ecuaciones dinámicas implica:

• Elegir una serie de parámetros dinámicos.

• Caracterizar todas las acciones que recaen sobre el sistema mecánico.

• Elegir un formalismo apropiado.

c1

k3

E

c3

c2

m , II

m , II

m , II

D

C

Figura 3.5: Parámetros dinámicos para el mecanismo Pistón-biela-manivela

Los parámetros dinámicos aparecen al caracterizar las acciones sobre los di-ferentes eslabones del mecanismo. En el caso del ejemplo desarrollado, podríancitarse los siguientes:

• Las masas, posiciones de los centros de gravedad y tensores de inercia delos sólidos Man , Bie y Blo .

• Los coeficientes de rigidez y amortiguamiento de todos los conjuntosmuelle-amortiguador presentes en el sistema.

ACCIONES SOBRE LOS DIFERENTES SÓLIDOS

Tal como se dijo en la introducción teórica, la contribución de cualquier acciónal conjunto de ecuaciones dinámicas se hace a través de su correspondiente torsor.

Así pues, empleando el mismo criterio que sirvió para clasificar las acciones,los torsores actuantes sobre los diferentes sólidos que componen el sistema mecá-nico se presentarán en cuatro apartados:

• Torsores de inercia.

• Torsores de enlace.

• Torsores constitutivos.

• Torsores asociados a otras acciones.

Page 83: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

3.8 Ejemplo 69

TORSORES DE INERCIA

Tal como se explica en la sección 3.3.1, el torsor de inercia se expresa en

términos de las derivadas del momento lineal, D(Solk) , y el momento cinético,

H k(Solk), según

F (Solk) = −d D(Solk)

d t

∣∣∣∣RI

M k(Solk) = −

d H k(Solk)

d t

∣∣∣∣RI

donde Gk representa el centro de gravedad de cada uno de los sólidos.

Torsor de inercia de D’ Alembert sobre Man

En el caso de la referencia Man , el torsor de inercia se calcula en el punto

D ≡ GMan (centro de gravedad).

La componente de fuerza del tensor se calcula a partir de la derivada del mo-mento lineal,

[F (Man )

]xyz

= −m1

[AAbs (D)

]xyz

,

donde la aceleración absoluta del puntoD, AAbs (D) , queda definida por

[AAbs (D)

]xyz

=

−lg1 θ1 sin θ1 − lg1 θ2

1 cos θ1

lg1 θ1 cos θ1 − lg1 θ21 sin θ1

0

xyz

=

=

−lg1 sin θ1 0lg1 cos θ1 0

0 0

q +

−lg1 θ1 cos θ1 0

lg1 θ1 sin θ1 00 0

q

(3.122)

Page 84: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

70 Dinámica

La componente de momento del tensor se calcula a partir de la derivada delmomento cinético,

[M (Man )

]xyz

= −

0

0

IIMan

zz θ1

xyz

Los cálculos se omiten por abreviar la exposición.

Torsor de inercia de D’ Alembert sobre Bie

En el caso de la referencia Bie , el torsor de inercia se calcula en el punto

E ≡ GBie (centro de gravedad).

La componente de fuerza del tensor se calcula a partir de la derivada del mo-mento lineal,

[F (Bie )

]xyz

= −m2

[AAbs (E)

]xyz

,

donde la aceleración absoluta del puntoE, AAbs (E) , queda definida por

[AAbs (E)

]xyz

=[

AAbs (B)]xyz

+

−lg2 θ2 sin θ2 − lg2 θ2

2 cos θ2

lg2 θ2 cos θ2 − lg2 θ22 sin θ2

0

xyz

(3.123)

La componente de momento del tensor se calcula a partir de la derivada delmomento cinético,

[M (Bie )

]xyz

= −

0

0

IIBie

zz θ2

xyz

Page 85: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

3.8 Ejemplo 71

Torsor de inercia de D’ Alembert sobre Blo

En el caso de la referencia Blo , el torsor de inercia se calcula en el punto

C ≡ GBlo (centro de gravedad).

La componente de fuerza del tensor se calcula a partir de la derivada del mo-mento lineal,

[F (Blo )

]xyz

= −m3

[AAbs (C)

]xyz

,

donde la aceleración absoluta del puntoC, AAbs (C) , queda definida por

[AAbs (C)

]xyz

=[

AAbs (B)]xyz

+

−l2 θ2 sin θ2 − l2 θ2

2 cos θ2

l2 θ2 cos θ2 − l2 θ22 sin θ2

0

xyz

(3.124)

La parte de momento del torsor de inercia no se calcula debido a que el sólidoBlo no gira.

TORSORES DE ENLACE

Con el fín de evitar redundancias en las incógnitas de enlace, los pares cinemá-

ticos presentes en los puntos A , B y C presentarán características diferentes.

Torsores de enlace sobre Man

Acción de enlace con Abs en el punto A (par de revolución).

[FAε

Abs(Man )

]xyz

=

F x,

F y,

F z,

xyz

,[MAε

Abs(Man )

]123

=

M 1,

M 2,

0

123

(3.125)

Page 86: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

72 Dinámica

Acción de enlace con Bie en el punto B (par esférico con restricción de giroen el eje del eslabón Bie ).

[FAε

Bie(Man )

]xyz

=

F x,

F y,

F z,

xyz

,[MAε

Bie(Man )

]123

=

M 1,

0

0

123

(3.126)

Torsores de enlace sobre Bie

Acción de enlace con Man en el punto B (se aplica el principio de acción yreacción para definir el mínimo número de incógnitas de enlace).

[FAε

Man(Bie )

]xyz

= −

F x,

F y,

F z,

xyz

,[MAε

Man(Bie )

]123

= −

M 1,

0

0

123

(3.127)

Acción de enlace con Blo en el punto C (par esférico).

[FAε

Blo(Bie )

]xyz

=

F x,

F y,

F z,

xyz

,[MAε

Blo(Bie )

]xyz

=

0

0

0

xyz

(3.128)

Torsores de enlace sobre Blo

Acción de enlace con Bie en el punto C (se aplica el principio de acción yreacción para definir el mínimo número de incógnitas de enlace).

[FAε

Bie(Blo )

]xyz

= −

F x,

F y,

F z,

xyz

,[MAε

Bie(Blo )

]xyz

=

0

0

0

xyz

(3.129)

Page 87: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

3.8 Ejemplo 73

Acción de enlace con Abs en el punto C (par prismático que sólo permitedesplazamiento en la dirección x de la base xyz ).

[FAε

Abs(Blo )

]xyz

=

0

F y,

F z,

xyz

,[MAε

Abs(Blo )

]xyz

=

M x,

M y,

M z,

xyz

(3.130)

TORSORES CONSTITUTIVOS

Torsores constitutivos sobre Man

Acción de gravedad, enD ≡ GMan

[FAne

gr (Man )]xyz

=

0

−m1g

0

xyz

,[M

Anegr (Man )

]xyz

=

0

0

0

xyz

(3.131)

Acción del amortiguador de constante c1 sobre Man en el puntoA

[FAne

c (Man )]xyz

=

0

0

0

xyz

,[MAne

c (Man )

]xyz

=

0

0

−c1θ1

xyz

(3.132)

Acción del amortiguador de constante c2 sobre Man en el puntoB

[FAne

c (Man )]xyz

=

0

0

0

xyz

,[MAne

c (Man )]xyz

=

0

0

c2

(θ2 − θ1

)

xyz

(3.133)

Page 88: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

74 Dinámica

Torsores constitutivos sobre Bie

Acción de la gravedad, en E ≡ GBie

[FAne

gr (Bie )]xyz

=

0

−m2g

0

xyz

,[M

Anegr (Bie )

]xyz

=

0

0

0

xyz

(3.134)

Acción del amortiguador de constante c2 sobre Bie enB

[FAne

c (Bie )]xyz

=

0

0

0

xyz

,[MAne

c (Bie )]xyz

= −

0

0

c2

(θ2 − θ1

)

xyz

(3.135)

Torsores constitutivos sobre Blo

Acción del conjunto muelle-amortiguador (k3, c3) en el puntoC

[FAne

kc(Blo )

]xyz

=

−k3 (xC − xo3) − c3xC

0

0

xyz

,[MAne

kc(Blo )

]xyz

=

0

0

0

xyz

(3.136)

donde xC = l1 cos θ1 + l2 cos θ2 representa el desplazamiento de Blo en ladirección del eje x y xo3 es la longitud natural del muelle cuya constante derigidez es k3.

ACCIONES ASOCIADAS A OTROS ELEMENTOS

En el caso resuelto, no existe ninguna acción asociada a motores ó actuadores.Sin embargo, en el caso más general pueden aparecer acciones que no encajan enla definición de ninguna de las anteriores.

A modo de ejemplo, si se hubiese decidido forzar el movimiento de la coorde-nada θ1 mediante una ecuación del tipo θ1−f(t) = 0 , el par motor que producedicho movimiento habría aparecido como incógnita del problema dinámico.

Page 89: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

3.8 Ejemplo 75

ECUACIONES DINÁMICAS

Atendiendo a lo expuesto en la sección anterior, el problema presenta 19incógnitas dinámicas, de las cuales 17 son incógnitas de enlace, ε , y 2 secorresponden con las aceleraciones generalizadas, q . Sin embargo, dependiendodel formalismo elegido para plantear las ecuaciones dinámicas, algunas de lasincógnitas anteriores quedan indeterminadas al no aparecer en dichas ecuaciones.

La solución del problema se llevará a cabo empleando dos formalismos:

• Formalismo de Newton-Euler.

• Formalismo de Lagrange.

Si se toma como referencia la ecuación general de la dinámica presentada enla introducción teórica, 3.106, la única diferencia entre los dos formalismos es elgrupo de pseudo-coordenadas, z , elegido al plantear las ecuaciones y consecuen-temente, el tratamiento de las acciones de enlace.

Así, en el formalismo de Newton-Euler, el grupo de pseudo-coordenadas, z ,está compuesto por desplazamientos y rotaciones cartesianas. Consecuentemente,las incógnitas de enlace aparecen como restricciones al movimiento cartesiano delos sólidos, es decir, las incógnitas de enlace coinciden con las que aparecen enlos torsores.

A diferencia de lo anterior, en el formalismo de Lagrange, el grupo de pseudo-coordenadas coincide con el grupo de coordenadas de partida, q . Además, eneste contexto, las únicas incógnitas de enlace que aparecen están asociadas a en-laces no respetados por la acotación de partida y su interpretación física no es, engeneral, inmediata.

FORMALISMO DE NEWTON-EULER

En este caso, el formalismo permite plantear 6 ecuaciones31 por sólido, locual representa un sistema de 18 ecuaciones. El problema dinámico se completacon la derivada segunda de la restricción geométrica planteada en el punto C .

Dado que el grupo de pseudo-coordenadas, z , representa un espacio de mo-vimiento independiente para cada uno de los sólidos, el formalismo de Newton-Euler se plantea sólido a sólido teniendo en cuenta todos los torsores definidos ensecciones anteriores.

Page 90: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

76 Dinámica

Así pues, la aplicación del formalismo descrito en esta sección, deriva en unsistema de 19 ecuaciones en las siguientes incógnitas:

q =[

θ1 θ2

]T

ε =[

F x, F y, F z, M 1, M 2, F x, F y,

F z,

M 1′, F x, F y, F z, F y, F z, M x, M y,

]T

(3.137)

Por simplicidad en el desarrollo, el grupo de pseudo-coordenadas para las quese plantea el formalismo de Newton-Euler será el correspondiente al movimiento32

plano:

z =[

xD yD θ1 xE yE θ2 xC yC

]T(3.138)

donde se omite la coordenada correspondiente a la rotación del sólido Blo porno aparecer en la acotación de partida.

También por brevedad, dado que algunas de las incógnitas de enlace resultanidénticamente nulas33, el vector ε se reduce a

ε =[

F x, F y, F x, F y,

F x, F y, F y, ]T

(3.139)

donde se omiten F z, , M 1, , M 2, , F z, , M 1′,

, F z, , M x, y

M y, .

Ecuaciones de Newton-Euler para el sólido Man

La figura 3.6 presenta el equilibrio dinámico del sólido Man para el caso demovimiento plano. El punto elegido para plantear las ecuaciones es el centro de

gravedad de Man , D ≡ GMan .

32desplazamientos xGk, yGk

de los centros de gravedad y giros, θk , en el eje perpendicularal plano de movimiento.

33no existen fuerzas en el eje z , perpendicular al plano de movimiento, ni momentos en losejes x e y , paralelos a éste mismo plano.

Page 91: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

3.8 Ejemplo 77

F gr,

F x,

F x,

F (Man ), M (Man )

F y,

F y,

Figura 3.6: Diagrama de equilibrio para el eslabón Man

a) Equilibrio de Fuerzas

−F (Man ) − FAεAbs

(Man )−FAε

Bie(Man )

=

= FAnegr (Man )

+ FAnec (Man )

+ FAnec (Man ) (3.140)

[−m1 lg1 sin θ1 0 −1 0 −1 0m1 lg1 cos θ1 0 0 −1 0 −1

] [q

εMan

]=

=

[0

−m1g

]− m1

[−lg1 θ1 cos θ1 0

lg1 θ1 sin θ1 0

]q (3.141)

b) Equilibrio de momentos en el puntoD

−M (Man ) − MAεAbs

(Man ) −MAε

Bie(Man )

=

= MAne

gr (Man ) + MAne

c (Man ) + MAne

c (Man )

(3.142)

[IIMan

zz 0 lg1 sin θ1 −lg1 cos θ1 −lg1 sin θ1 +lg1 cos θ1

] [ q

εMan

]=

= −c1θ1 − c2

(θ1 − θ2

)

(3.143)

Page 92: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

78 Dinámica

donde

εMan =[

F x, F y, F x, F y,

]T

es el subgrupo de incógnitas de enlace que afectan al sólido Man .

El conjunto de ecuaciones anteriores puede ahora presentarse en forma matri-cial como

[MMan

zq VMan

zq

] [q

εMan

]=

LMan∑

j=1

FFAne

j (Man )z (3.144)

donde:

MMan

zqrepresenta la matriz de masa

MMan

zq=

−m1 lg1 sin θ1 0m1 lg1 cos θ1 0

IIMan

zz 0

(3.145)

VMan

zqes la matriz asociada a todas las acciones de enlace sobre Man

VMan

zq=

−1 0 −1 00 −1 0 −1

lg1 sin θ1 −lg1 cos θ1 −lg1 sin θ1 lg1 cos θ1

(3.146)

FFAne

j (Man )z hace referencia a cualquier acción sobre Man que no sea de

enlace, esto es

LMan∑

j=1

FFAne

j (Man )z =

m1 lg1 θ 21 cos θ1

−m1

(g + lg1 θ1 θ2 sin θ1

)

−c1θ1 − c2

(θ1 − θ2

)

(3.147)

Ecuaciones de Newton-Euler para el sólido Bie

La figura 3.7 muestra el diagrama de equilibrio para el eslabón Bie para elcaso de movimiento plano. El punto elegido para plantear las ecuaciones es el

centro de gravedad de Bie , E ≡ GBie .

Page 93: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

3.8 Ejemplo 79

F (Bie ), M (Bie )

F gr,

−F x,

−F y,

F y,

F x,

Figura 3.7: Diagrama de equilibrio para el eslabón Bie

a) Equilibrio de Fuerzas

−F (Bie ) −FAεMan

(Bie )− FAε

Blo(Bie )

=

= FAnegr (Bie )

+ FAnec (Bie ) (3.148)

[−m2 l1 sin θ1 −m2 lg2 sin θ2 1 0 −1 0m2 l1 cos θ1 m2 lg2 cos θ2 0 1 0 −1

] [q

εBie

]=

=

[0

−m2g

]− m2

[−l1 θ1 cos θ1 −lg2 θ2 cos θ2

−l1 θ1 sin θ1 −lg2 θ2 sin θ2

]q (3.149)

b) Equilibrio de momentos en el puntoE

−M (Bie ) − MAεMan

(Bie ) − MAε

Blo(Bie )

=

= MAne

gr (Bie ) + MAne

c (Bie )

(3.150)

[0 IIBie

zz −lg2 sin θ2 lg2 cos θ2 −lg2 sin θ2 lg2 cos θ2

] [ q

εBie

]=

= −c2

(θ2 − θ1

)

(3.151)

Page 94: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

80 Dinámica

donde

εBie =[

F x, F y,

F x, F y, ]T

es el subgrupo de incógnitas de enlace que afectan al sólido Bie .

El conjunto de ecuaciones anteriores puede ahora presentarse en forma matri-cial como

[MBie

zq VBie

zq

] [q

εBie

]=

LBie∑

j=1

FFAne

j (Bie )z (3.152)

donde

MBie

zqrepresenta la matriz de masa

MBie

zq=

−m2 l1 sin θ1 −m2 lg2 sin θ2

m2 l1 cos θ1 m2 lg2 cos θ2

0 IIBie

zz

(3.153)

VBie

zqes la matriz asociada a todas las acciones de enlace sobre Bie

VBie

zq=

1 0 −1 00 1 0 −1

−lg2 sin θ2 lg2 cos θ2 −lg2 sin θ2 lg2 cos θ2

(3.154)

FFAne

j (Bie )z hace referencia a cualquier acción sobre Man que no sea de

enlace, y no se desarrolla por por claridad en la exposición.

Ecuaciones de Newton-Euler para el sólido Blo

La figura 3.8 muestra el diagrama de equilibrio del eslabón Blo para el casode movimiento plano. El punto elegido para plantear las ecuaciones es el centro

de gravedad de Blo , C ≡ GBlo .

Page 95: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

3.8 Ejemplo 81

−F x,

−F y,

F y,

F gr,

F (Blo ), M (Blo )

Figura 3.8: Diagrama de equilibrio para el eslabón Blo

a) Equilibrio de Fuerzas

−F (Blo ) − FAεBie

(Blo )− FAε

Abs(Blo )

=

= FAnegr (Blo )

+ FAnekc

(Blo ) (3.155)

m3

[−l1 sin θ1 −l2 sin θ2 1 0 0l1 cos θ1 l2 cos θ2 0 1 −1

] [q

εBie

]=

=

[0

−m3g

]+

[−k3 (xC − xo3) − c3xC

0

]−

− m3

[−l1 θ1 cos θ1 −l2 θ2 cos θ2

−l1 θ1 sin θ1 −l2 θ2 sin θ2

]q , (3.156)

donde

εBlo =[

F y, F x, F y, ]T

es el subgrupo de incógnitas de enlace que afectan al sólido Blo .

El conjunto de ecuaciones anteriores puede ahora presentarse en forma matri-cial como

[MBlo

zq VBlo

zq

] [q

εBlo

]=

LBlo∑

j=1

FFAne

j (Blo )z (3.157)

Page 96: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

82 Dinámica

donde

MBlo

zqrepresenta la matriz de masa

MBlo

zq=

[−m2 l1 sin θ1 −m2 l2 sin θ2

m2 l1 cos θ1 m2 l2 cos θ2

](3.158)

VBlo

zqes la matriz asociada a todas las acciones de enlace sobre Blo

VBlo

zq=

[1 0 00 1 −1

](3.159)

FFAne

j (Blo )z hace referencia a cualquier acción sobre Blo que no sea de

enlace, y no se desarrolla por la misma razón que en el apartado anterior.

Montaje de las ecuaciones de Newton-Euler

Combinando los resultados anteriores se obtiene

[Mzq Vzq

] [q

ε

]= FF ne

z (3.160)

donde

Mzq representa la matriz de masa del sistema, que en este caso tienedimensión (8, 2).

Mzq =

MMan

zq

MBie

zq

MBlo

zq

(3.161)

Vzq es la matriz asociada a todas las acciones de enlace sobre el sistema,que en este caso tiene dimensión (8, 7).

Vzq =

VMan′

zq

VBie′

zq

VBlo′

zq

(3.162)

Page 97: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

3.8 Ejemplo 83

donde

VMan′

zq=

VMan

zq

0 0 00 0 00 0 0

, VBie′

zq=

0 00 00 0

VBie

zq

000

VBlo′

zq=

[0 0 0 00 0 0 0 VBlo

zq

](3.163)

FF nez es el vector de fuerzas generalizadas sobre el sistema, y que en este

caso tiene dimensión (8, 1).

FF nez =

∑LMan

j=1 FFAne

j (Man )z

∑LBie

j=1 FFAne

j (Bie )z

∑LBlo

j=1 FFAne

j (Blo )z

(3.164)

FORMALISMO DE LAGRANGE

En este caso, tomando como pseudo-coordenadas z = q , se plantean 2ecuaciones para el mecanismo.

La aplicación del formalismo de Lagrange deriva en un sistema de 3 ecua-ciones en las siguientes incógnitas:

q =

[θ1

θ2

], λ = λ (3.165)

donde λ representa el multiplicador de Lagrange asociado a la restriccióngeométrica en el punto C.

La obtención de las ecuaciones de Lagrange puede sistematizarse de dos for-mas diferentes:

a) A partir de la definición de Energía cinética del sistema.

b) Aplicando una transformación de coordenadas apropiada a los torsores de-finidos en secciones anteriores.

Page 98: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

84 Dinámica

En el primer caso, la matriz de masa del sistema y las fuerzas Centrífugas y deCoriolis se calculan a partir de la Energía Cinética del sistema.

En el segundo caso, los términos anteriores se deducen a partir de los torsoresde inercia de D’ Alembert .

En cualquiera de los casos, deberá encontrarse una expresión apropiada paralas fuerza generalizada, definida ésta en términos de las coordenadas generaliza-das, asociada a los torsores constitutivos y de otros tipos.

Fuerza generalizada asociada al torsor de inercia de Man

FFq (Man ) =

(∂

∂ q

[VRI (D)

]xyz

)T [F (Man )

]xyz

+

+

(∂

∂ q

[ΩRI (Man )

]xyz

)T [M(Man )

]xyz

= −

[m1 lg2

1 + IIMan

zz 00 0

]q = − MMan

qqq

donde MMan

qqhace referencia a la matriz de masa del sólido Man .

Fuerzas generalizadas asociadas a los torsores constitutivos sobre Man

Acción de gravedad, enD ≡ GMan

FFAne

gr (Man )

q =

(∂

∂ q

[VRI (D)

]xyz

)T

0

−m1g

0

xyz

+

+

(∂

∂ q

[ΩRI (Man )

]xyz

)T

0

0

0

xyz

=

[−lg1 sin θ1 lg1 cos θ1 0

0 0 0

]

0

−m1g

0

=

[−m1 g lg1 cos θ1

0

]

Page 99: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

3.8 Ejemplo 85

Acción del amortiguador de constante c1 sobre Man en el puntoA

FFAne

c (Man )q =

(∂

∂ q

[ΩRI (Man )

]xyz

)T

0

0

−c1θ1

xyz

=

[0 0 10 0 0

]

0

0

−c1θ1

=

[−c1θ1

0

]

Acción del amortiguador de constante c2 sobre Man en el puntoB

FFAne

c (Man )q =

(∂

∂ q

[ΩRI (Man )

]xyz

)T

0

0

−c2

(θ1 − θ2

)

xyz

=

[0 0 10 0 0

]

0

0

−c2

(θ1 − θ2

)

=

[−c2

(θ1 − θ2

)

0

]

Fuerza generalizada asociada al torsor de inercia de Bie

FFq (Bie ) =

(∂

∂ q

[VRI (E)

]xyz

)T [F (Bie )

]xyz

+

(∂

∂ q

[ΩRI (Bie )

]xyz

)T [M(Bie )

]xyz

= −

m2 l21 m2 l1 lg2 cos (θ2 − θ1)

sym m2 lg22 + IIBie

zz

q

− m2 l1 lg2 sin (θ2 − θ1)

[θ22

−θ21

]

= − MBie

qqq +FF q

q (Bie )

Page 100: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

86 Dinámica

donde

MBie

qqhace referencia a la matriz de masa del sólido Bie .

FF qq (Bie ) representa la contribución de las fuerzas centrífugas y de

Coriolis al vector de fuerzas generalizadas.

Fuerza generalizada asociada los torsores constitutivos sobre Bie

Acción de gravedad, en E ≡ GBie

FFAne

gr (Bie )

q =

(∂

∂ q

[VRI (E)

]xyz

)T

0

−m2g

0

xyz

=

[−l1 sin θ1 l1 cos θ1 0−lg2 sin θ2 lg2 cos θ2 0

]

0

−m2g

0

=

[−m2 g l1 cos θ1

−m2 g lg2 cos θ2

]

Acción del amortiguador de constante c2 sobre Bie enB

FFAne

c (Bie )q =

(∂

∂ q

[ΩRI (Bie )

]xyz

)T

0

0

−c2

(θ2 − θ1

)

xyz

=

[0 0 00 0 1

]

0

0

−c2

(θ2 − θ1

)

=

[0

−c2

(θ2 − θ1

)]

Page 101: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

3.8 Ejemplo 87

Fuerza generalizada asociada al torsor de inercia de Blo

FFq (Blo ) =

(∂

∂ q

[VRI (C)

]xyz

)T [F (Blo )

]xyz

= −

m3 l21 m2 l1 l2 cos (θ2 − θ1)

sym m3 l22

q

− m3 l1 l2 sin (θ2 − θ1)

[θ22

−θ21

]

= − MBlo

qqq +FF q

q (Blo )

donde

MBlo

qqhace referencia a la matriz de masa del sólido Blo .

FF qq (Blo ) representa la contribución de las fuerzas centrífugas y de

Coriolis al vector de fuerzas generalizadas.

Fuerza generalizada asociada a los torsores constitutivos sobre Blo

Acción de gravedad, en C ≡ GBlo

FFAne

gr (Blo )

q =

(∂

∂ q

[VRI (C)

]xyz

)T

0

−m3g

0

xyz

=

[−l1 sin θ1 l1 cos θ1 0−l2 sin θ2 l2 cos θ2 0

]

0

−m3g

0

=

[−m3 g l1 cos θ1

−m3 g l2 cos θ2

]

Page 102: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

88 Dinámica

Acción del conjunto muelle-amortiguador (k3, c3) en el punto C.

FFAne

kc (Blo )q =

(∂

∂ q

[VRI (C)

]xyz

)T

−k3 (xC − xo3) − c3xC

0

0

xyz

=

[−l1 sin θ1 l1 cos θ1 0−l2 sin θ2 l2 cos θ2 0

]−k3 (xC − xo3) − c3xC

0

0

= − [ k3 (xC − xo3) + c3xC ]

[l1 cos θ1

l2 cos θ2

]

Fuerza generalizada asociada a los torsores de enlace no respetados porla acotación de partida

En la formulación lagrangiana, la forma de representar la contribución de este

tipo de enlaces es a través del término34 φT

qλ , que en este caso resulta

φT

qλ =

[l1 cos θ1

l2 cos θ2

donde λ es el multiplicador de Lagrange asociado a la restricción geométricaplanteada en el puntoC.

Otra forma de representar dicha contribución es emplear la información queproporciona el torsor de enlace asociado a dicha restricción, es decir

FFAε

Abs(Blo )

q =

(∂

∂ q

[VRI (C)

]xyz

)T

0

F y,

0

xyz

=

[−l1 sin θ1 l1 cos θ1 0−l2 sin θ2 l2 cos θ2 0

]

0

F y,

0

34es decir, si se quiere emplear el formalismo de Lagrange con multiplicadores, basta sustituirla fuerza generalizada asociada al conjunto de las acciones de enlace, Vqq ε , por el término

φT

qλ.

Page 103: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

3.8 Ejemplo 89

FFAε

Abs(Blo )

q =

[l1 cos θ1

l2 cos θ2

]F y,

De lo anterior se deduce que λ = F y, . En general, siempre existe una

relación entre el vector de multiplicadores, λ , y el subgrupo de incógnitas deenlace, ε , asociado a enlaces no respetados por la acotación de partida, aunqueen algunas ocasiones, ésta puede presentar indeterminaciones.

Montaje de las ecuaciones de Lagrange

Combinando los resultados anteriores, las ecuaciones de Lagrange puedenvolver a escribirse como

[Mqq φ

T

q

] [q

λ

]=[

FF neq

](3.166)

donde

Mqq representa la matriz de masa del sistema, cuadrada y simétrica queen este caso tiene dimensión (2, 2).

Mqq =3∑

k=1

MSolkqq

(3.167)

FF neq es el vector de fuerzas generalizadas sobre el sistema, y que en este

caso tiene dimensión (2, 1).

FF neq =

3∑

k=1

Lk∑

j=1

FFAne

j (Solk)

q (3.168)

Haciendo uso de lo presentado en el apartado anterior, el sistema anterior al-ternativamente puede escribirse en la forma

[Mqq Vqq

] [q

ε

]=[

FF neq

](3.169)

donde FF εnr

q = Vqq ε representa la contribución de las fuerzas generaliza-

das asociadas a los enlaces no respetados por la acotación de partida.

Page 104: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

90 Dinámica

PLANTEAMIENTO DINÁMICO BASADO EN LA ENERGÍA CINÉTICA

En este apartado, a diferencia del anterior, se hace uso de la definición deEnergía Cinética para obtener la contribución del torsor de inercia al vector defuerzas generalizadas.

La Energía Cinética del sistema se calcula en este caso sumando las contribu-ciones de los diferentes sólidos incluidos en el mismo, esto es,

T (Sist) =1

2

3∑

k=1

VRI (Gk)T D(Solk) +

+1

2

3∑

k=1

ΩRI (Solk)T H

k(Solk) (3.170)

Proyectando todas las expresiones anteriores en la base xyz y expresando elresultado de forma matricial se obtiene

T (Sist) =1

2qT Mqq q

=1

2qT

[3∑

k=1

(mSolk

[B

k

V

]TB

k

V+[BSolk

Ω

]TIISolk

k

BSolkΩ

)]q

donde las matrices B

k

Vy BSolk

Ωrepresentan las parciales

B

k

V=

∂ q

[VRI (Gk)

]xyz BSolk

Ω=

∂ q

[ΩRI (Solk)

]xyz

(3.171)

Las matrices B

k

V, particularizadas para los puntosC,D y E son

B V

=

−l1 sin θ1 −l2 sin θ2

l1 cos θ1 l2 cos θ2

0 0

B

V=

−lg1 sin θ1 0lg1 cos θ1 0

0 0

y B

V=

−l1 sin θ1 −lg2 sin θ2

l1 cos θ1 lg2 cos θ2

0 0

.

Page 105: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

3.8 Ejemplo 91

Las matrices BSolkΩ

en este caso adoptan la sencilla expresión

BMan

Ω=

0 00 01 0

BBie

Ω=

0 00 00 1

La expresión35 para Mqq presentada en 3.171 es la que acompaña al vectorq en la formulación dinámica.

Una vez obtenida la expresión de la Energía Cinética, los términos Centrífugosy de Coriolis de la ecuación dinámica pueden calcularse a partir de la expresión

Mqq q −FF qq (Sist) =

d

dt

[∂ T (Sist)

∂ q

]T

[∂ T (Sist)

∂ q

]T

(3.172)

donde el vector, FF qq se puede calcular a partir de la matriz de masa como

FF qq (Sist) = −

(˙Mqq

q −

[∂ T (Sist)

∂ q

]T)

(3.173)

donde

la derivada total de la matriz de masa se calcula como

˙Mqq= 2

3∑

k=1

(mSolk

[˙B

k

V

]TB

k

V+[

˙BSolk

Ω

]TIISolk

k

BSolkΩ

)

(3.174)

las matrices ˙B

k

V, particularizadas para los puntosC ,D y E son

˙BV

=

−l1 θ1 cos θ1 −l2 θ2 cos θ2

−l1 θ1 sin θ1 −l2 θ2 sin θ2

0 0

˙B

V=

−lg1 θ1 cos θ1 0

lg1 θ1 sin θ1 00 0

y ˙B

V=

−l1 θ1 cos θ1 −lg2 θ2 cos θ2

−l1 θ1 sin θ1 −lg2 θ2 sin θ2

0 0

.

35obviamente, ésta coincide con la que aparece en 3.167.

Page 106: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

92 Dinámica

las matrices ˙BSolk

Ω, particularizadas para los sólidos Man , Bie , Blo

son nulas en este caso.

la parcial de la Energía Cinética del sistema respecto a una de las coordena-das se calcula como

∂ T (Sist)∂ qj

=3∑

k=1

∂ T (Solk)∂ qj

(3.175)

donde la parcial de la energía cinética del sólido Solk respecto a la coorde-nada qj se expresa en términos de B

k

Vy BSolk

Ωsegún

qT

(mk

[∂

∂ qjB

k

V

]T

B

k

V+

[∂

∂ qjBSolk

Ω

]T

IISolk

kBSolk

Ω

)q

Page 107: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4. Implementación

4.1. Introducción

En este capítulo se describirá la implementación de un preprocesador parala DSM basado en el sistema de Álgebra Simbólica provisto por el entorno deprogramación MATLAB–MAPLE .

La librería desarrollada se implementa a dos niveles que se plasman en dosinterfaces completamente independientes:

• Interfaz Simbólico: formado por una serie estructuras y funciones que ope-ran con tipos de dato simbólicos y que permiten al usuario definir la to-pología del sistema mecánico y plantear las ecuaciones más típicas de laDSM .

• Interfaz Numérico: formado por una serie de funciones y plantillas1 queoperan con tipos de dato numéricos y que permiten al usuario resolver losproblemas DSM planteados.

Como es lógico, el interfaz numérico requiere una serie de funciones, a ex-portar desde el interfaz simbólico, que servirán como argumento de entrada a lasplantillas numéricas mencionadas en el punto anterior.

Además, la mayoría de los elementos que soportan la definición de problemasDSM tienen una representación dual en el interfaz simbólico y en el numérico,por lo que ambos interfaces se documentarán de forma conjunta en los diferentesapartados del presente Capítulo.

1

Se entiende como plantilla numérica al listado de instrucciones que se ejecutan de forma siste-mática para dar solución a los diferentes problemas de la mecánica.

En principio, las plantillas anteriores tienen la propiedad de ser independientes del sistema me-cánico, por lo que no necesitan ser exportados cada vez que el usuario plantea un nuevo mecanis-mo. Lo anterior contribuye a la encapsulación del código generado, concepto al que se también sehace referencia en otras partes de este texto.

Page 108: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

94 Implementación

Por coherencia con la filosofía de trabajo de la librería desarrollada, explicadaésta con ayuda de una serie de ejemplos en el Capítulo 5, las secciones dedicadasa documentar los diferentes elementos del interfaz se dividen en los siguientesapartados:

• Estructuras de datos: Descripción de los campos incluidos en las diferentesestructuras empleadas como soporte en la definición del problema DSM .

• Funciones de interfaz de usuario: Descripción de las funciones que permitenal usuario interactuar con las estructuras anteriores.

• Exportación: Funciones y/o algoritmos que permiten exportar al plano nu-mérico las diferentes funciones y matrices generadas desde el interfaz sim-bólico.

• Plantilla de solución: Plantillas numéricas que permiten resolver problemasconcretos de la DSM .

4.1.1. Organización del contenido del capítulo

En la seccón 4.2, se presentará el conjunto mínimo de tipos de datos y ope-radores provistos por el sistema MATLAB–MAPLE sobre los que se sustenta elsistema simbólico de bajo nivel para la DSM .

En las secciones 4.3 y 4.4, manteniendo la separación conceptual entre cine-mática y dinámica, se describirá el Sistema Simbólico de Bajo Nivel para la DSM .El sistema simbólico anterior está constituido por dos interfaces que presentan di-ferente nivel de abstracción:

• Interfaz Analítico, que proporciona las estructuras y/o tipos de dato impres-cindibles para el planteamiento matricial de la mecánica.

• Interfaz Cartesiano, que proporciona al usuario la funcionalidad necesariapara plantear los problemas en el lenguaje de la mecánica vectorial, muchomás adecuado para la descripción del sistema.

En la sección 4.5, se describirán las funciones que configuran el Sistema Sim-bólico de Alto Nivel. El subsistema anterior proporciona al usuario un conjuntoadicional de funciones específicas para la definición de enlaces y fuerzas consti-tutivas a partir de las primitivas del Sistema Simbólico de Bajo Nivel.

En cuanto a los problemas característicos de la DSM , éstos se clasificarán encinemáticos y dinámicos y se presentarán como apartados de las secciones 4.3 y4.4 respectivamente.

Page 109: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.2 El sistema simbólico mínimo 95

4.2. El sistema simbólico mínimo

Si bien la mayoría de los sistemas simbólicos tienen una gran funcionalidad, elsistema DSM se sustenta en un reducido conjunto de operaciones que se detallana continuación:

• La definición de expresiones simbólicas escalares en términos de variablessimbólicas, números enteros y racionales, y funciones escalares de dichasvariables (sin , cos ,...). Los operadores permitidos son: el operador unariosigno "+" y "-", y los operadores binarios suma "+", diferencia "-", pro-ducto "*" y cociente "/", junto con el operador potenciación racional "^".Todos ellos con las reglas de precedencia y asociatividad típicas, que puedenser modificadas mediante el uso de paréntesis.

• La definición de matrices cuyos elementos son expresiones simbólicas es-calares.

• La definición de expresiones de matrices de expresiones simbólicas. Losoperadores permitidos son: el operador unario signo "+", "-" o transpuesta"T" y derivada parcial con respecto a un vector "Jacobian" y los operado-res binarios suma "+", diferencia "-", producto "*".

4.3. Cinemática

En este apartado, y a modo de subsecciones, se presentarán los diferentes ni-veles de abstracción involucrados en el planteamiento simbólico de la cinemáticade cualquier sistema mecánico.

Las secciones 4.3.1 y 4.3.2 se centran en la descripción de los tipos de dato,estructuras y operadores básicos que aparecen en la Cinemática Analítica y quesirven de base al planteamiento del problema cinemático, es decir:

• Variable tiempo, t, junto con el operador Derivada Total.• Parámetros.• Coordenadas, velocidades y aceleraciones generalizadas.• Funciones del tiempo, en general.• Ecuaciones geométricas, no holónomas e iniciales de posición y velocidad.

Las secciones 4.3.3 y 4.3.4 describen las estructuras y operadores básicos queconstituyen el Interfaz Cinemático Cartesiano, y permiten plantear el problemacinemático en el lenguaje de la mecánica vectorial, es decir:

• Vectores Cartesianos.• Puntos, junto con el operador Vector de Posición.

Page 110: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

96 Implementación

• Bases u Orientaciones, junto con el operador Cambio de Base.• Referencias.• Operadores Velocidad y Velocidad Angular.• Operadores Aceleración y Aceleración Angular.

El interfaz cinemático cartesiano, junto con los tipos de dato y operadores de lacinemática analítica, constituyen el denominado Sistema Simbólico de Bajo Nivelpara el planteamiento simbólico de la cinemática.

Las funciones que constituyen el Sistema Simbólico de Alto Nivel, general-mente afectan de forma conjunta a la definiciones cinemática y dinámica, por loque serán tratadas en una sección independiente.

Por último, la sección 4.3.5 se dedicará a la descripción de los diferentes pro-blemas que aparecen en el planteamiento cinemático, desde el problema de posi-ción hasta el de simulación cinemática.

4.3.1. Cinemática Analítica

En esta sección se describirán los tipos de dato y operadores básicos que sirvende soporte al planteamiento de la cinemática analítica.

LA VARIABLE TIEMPO

Habitualmente, los motores simbólicos no soportan el concepto de derivadarespecto al tiempo.

La implementación de este operador requiere de la definición de una variablecon significado especial en el interfaz simbólico: la variable tiempo.

En el caso de la implementación propuesta, existe una variable reservada a talefecto que se designa por t.

PARÁMETROS

Se definen como parámetros todas aquellas variables, pj , cuya derivada totalrespecto al tiempo es nula, es decir:

dd t

pj = 0 , j = 1 . . . np (4.1)

Como ya se vio en anteriores apartados de este texto, los parámetros puedenclasificarse en geométricos y dinámicos atendiendo a la naturaleza de los mismos,pero en el caso del interfaz simbólico propuesto, todos ellos se almacenan en laestructura params , cuyo elemento i-ésimo contiene los campos:

Page 111: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.3 Cinemática 97

integer params(i).id→ identificador de la estructura params.string params(i).name→ identificador del parámetro.sym params(i).var→ parámetro simbólico.real params(i).value→ valor numérico del parámetro.

La variable global auto_params se reserva como contador de la estructuraparams.

Funciones de interfaz de usuario

La instrucción de definición de un parámetro se escribe:

[sym prm_i]=new_param(string name, real value)

Argumentos de entrada

name→ identificador2 del parámetro simbólico.value→ valor numérico propuesto para dicho parámetro.

Argumentos de salida

prm_i→ variable simbólica.

El campo name permite al usuario obtener la posición del parámetro en elarray params haciendo uso de la instrucción:

[i]=select_by_name(struct params, string name)

Así, i puede emplearse para acceder directamente a la estructura params.

El argumento de salida, prm_i , permite al usuario emplear la variable sim-bólica generada en cualquier expresión simbólica introducida con posterioridad.

Exportación

En el plano numérico, el vector de parámetros se inicializa haciendo uso de lafunción exportada a tal efecto:

[real *prm]=prm_init()

En principio, la variable de salida puede tener cualquier nombre, aunque porlegibilidad del código se recomienda emplear prm.

2El interfaz simbólico está dispuesto de tal forma que el usuario no puede introducir dos iden-tificadores iguales haciendo uso de la misma instrucción, ya que esto supondría la presencia dedos elementos iguales en la misma estructura. Este chequeo de unicidad se implementa de formaanáloga para el resto de instrucciones del tipo new.

Page 112: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

98 Implementación

La función anterior, en la sintaxis propia de MATLAB adopta la forma:

function [prm]=prm_init()

prm1_name=params(1).value;

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

prmi_name=params(i).value;

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

prmp_name=params(np).value;

prm(1)=prm1_name;

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

prm(i)=prmi_name;

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

prm(n)=prmp_name;

En el plano simbólico, el vector de reales anterior tiene su equivalencia enel array de variables simbólicas prmv , que será recorrido en el algoritmo deexportación.

El vector prmv se obtiene a partir de la estructura params como

prmv = [ params(1).var; ...

params(i).var; ...

params(n).var ]

Con el objeto de generar un código más eficiente, en el resto de funcionesexportadas, cualquier referencia a la variable simbólica prmv(i) se escribeprm(i).

COORDENADAS, VELOCIDADES Y ACELERACIONES

Coordenadas de partida y coordenadas auxiliares

Tal como describe en el capítulo teórico, las Coordenadas de Partida son aque-llas en términos de las cuales se define la posición u orientación de los sólidospresentes en el sistema.

Las Coordenadas Auxiliares son aquellas que se introducen en la formulacióncon el objeto de simplificar el planteamiento de ciertas ecuaciones3. La diferencia

Page 113: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.3 Cinemática 99

con las coordenadas de partida radica en que una coordenada auxiliar siemprepuede definirse en términos de las de partida.

Desde el punto de vista operativo, una coordenada auxiliar no presenta dife-rencias respecto a una coordenada de partida, por lo que ambas serán almacenadasen la misma estructura.

Estructuras de datos

Las coordenadas generalizadas se recogen en la estructura qs , cuyo elemen-to i-ésimo contiene los campos:

integer qs(i).id→ identificador numérico de la estructura qs.string qs(i).name→ identificador de la variable.sym qs(i).var→ coordenada generalizada simbólica.real qs(i).value→ valor inicial de la coordenada.boolean qs(i).isaux→ 1 si la coordenada es auxiliar, 0 para el resto.

Las velocidades generalizadas se recogen en la estructura dqs , cuyo ele-mento i-ésimo contiene los campos:

integer dqs(i).id→ identificador numérico de la estructura dqs.string dqs(i).name→ identificador de la variable .sym dqs(i).var→ velocidad generalizada simbólica.real dqs(i).value→ valor inicial de la velocidad.boolean dqs(i).isaux→ 1 si la velocidad es auxiliar, 0 para el resto.

Las aceleraciones generalizadas se recogen en la estructura ddqs , cuyo ele-mento i-ésimo contiene los campos:

integer ddqs(i).id→ identificador de la estructura ddqs.string ddqs(i).name→ identificador de la variable .sym ddqs(i).var→ aceleración generalizada simbólica.real ddqs(i).value→ valor inicial de la aceleración4.boolean ddqs(i).isaux→ 1 si la aceleración es auxiliar, 0 para el resto.

La variable global auto_qs se reserva como contador de las tres estructurasanteriores.

Funciones de interfaz de usuario

En el caso de la implementación propuesta, una coordenada se introduce en la

3ya sean éstas cinemáticas ó dinámicas4Este campo no es estrictamente necesario.

Page 114: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

100 Implementación

estructura qs mediante la instrucción:

[sym q_i, dq_i, ddq_i]=new_q(string name, ...

[real valuep, ...

[real valuev]])

Argumentos de entrada

name→ identificador de la variable simbólica.valuep→ valor inicial de la coordenada generalizada.valuev→ valor inicial de la velocidad generalizada.

Argumentos de salida

q_i → coordenada simbólica.dq_i→ velocidad simbólica correspondiente5.ddq_i→ aceleración simbólica correspondiente5.

Por su parte, una coordenada auxiliar se introduce en la estructura qs me-diante la instrucción:

[sym q_i, dq_i, ddq_i]=new_aux_q(string name, ...

[real valuep, ...

[real valuev]] )

Los argumentos de salida q_i, dq_i y ddq_i permiten al usuario em-plear las variables generadas en cualquier expresión simbólica que aparezca en elfichero de definición del mecanismo.

Exportación

En el plano numérico, el vector q se inicializa mediante la función

[real *q]=q_init().

El argumento de salida, que en principio puede tomar cualquier nombre, re-presenta el valor inicial del vector de coordenadas generalizadas.

5Las velocidades y aceleraciones se generan de forma automática anteponiendo al nombre de lacoordenada los prefijos d y dd respectivamente. Una vez generadas, las variables anteriores seintroducen en las estructuras dqs y ddqs con el mismo índice con el que aparece la coordenadaen la estructura qs .

Page 115: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.3 Cinemática 101

La función anterior, en la sintaxis propia de MATLAB , adopta la forma:

function [q]=q_init()

q1_name=q(1).value;

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

qi_name=q(i).value;

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

qp_name=q(p).value;

q(1)=q1_name;

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

q(i)=qi_name;

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

q(p)=qp_name;

De forma análoga, los vectores q y q se inicializan empleando las funciones

[real *dq]=dq_init() y [real *ddq]=ddq_init() .

En el seno de cualquier plantilla numérica, el valor instantáneo de la i-ésimacoordenada, velocidad o aceleración generalizada se corresponde con el elementoi-ésimo de los vectores q, dq y ddq respectivamente.

En el plano simbólico, los vectores anteriores tienen su equivalencia en losarrays de variables simbólicas qv, dqv y ddqv , que serán recorridos en elalgoritmo de exportación.

El vector de coordenadas simbólicas, qv , se obtiene a partir de la estructuradqs según

qv = [ qs(1).var; ...

qs(i).var; ...

qs(p).var ]

Los vectores dqv y ddqv se obtienen de forma análoga recorriendo lasestructuras dqs y ddqs respectivamente.

En el proceso de exportación, el campo booleano isaux de la estructuraqs se emplea para reordenar los vectores simbólicos anteriores de tal forma que

Page 116: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

102 Implementación

las variables auxiliares aparecen después de las de partida. El proceso de reor-denamiento anterior puede dar lugar a sistemas de ecuaciones más estructuradostanto en cinemática como en dinámica.

En el anexo C.1 se describirá un posible tratamiento numérico para coorde-nadas, velocidades y aceleraciones que, basado en el ordenamiento propuesto,permitirá agilizar el proceso de integración.

FUNCIONES DEL TIEMPO, EN GENERAL

Para las relaciones rehónomas se propone una forma general

φ (q, z, t) = 0 (4.2)

donde

z =[

z1 ( t ) . . . zi ( t ) . . . znz ( t )]T

(4.3)

es un vector de funciones dependientes del tiempo.

Tal como se desprende de las ecuaciones 4.2 y 4.3, los elementos de los vec-tores z , z y z forman parte de las diferentes ecuaciones rehónomas planteadaspor el usuario en el interfaz simbólico.

En el plano numérico, los vectores anteriores aparecen como simplesvariables, cuyos valores son asignados mediante llamadas a las funcionesz=zetas(prm, t), dz=dzetas(prm, t) y ddz=ddzetas(prm, t) , expor-tadas desde el interfaz simbólico a tal efecto.

De esta forma se consigue encapsular y hacer más general el código exportado.Una simple modificación de las funciones zetas(prm, t), dzetas(prm, t) yddzetas(prm, t) permite realizar nuevas simulaciones del mecanismo sin te-ner que modificar el resto de ficheros exportados desde el interfaz simbólico.

La citada encapsulación permite asimismo la integración del código generadoen programas de simulación de propósito general como por ejemplo SIMULINK .

Por otra parte, las velocidades y aceleraciones de partida están relacionadaspor las derivadas de la ecuación 4.2 de forma que

φqq = −φt − φ

zz

φqq = − φ

qq − φt − φ

zz − φ

zz (4.4)

donde z y z se calculan de forma sencilla a partir de la definición 4.3.

Page 117: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.3 Cinemática 103

Estructuras de datos

Las funciones del tiempo se recogen en la estructura zs , cuyo elementoi-ésimo contiene los campos:

integer zs(i).id→ identificador de la estructura zs.string zs(i).name→ identificador de la variable .sym zs(i).expr→ expresión simbólica.

Las derivadas de las anteriores se recogen en la estructura dzs , cuyo ele-mento i-ésimo contiene los campos:

integer dzs(i).id→ identificador de la estructura dzs.string dzs(i).name→ identificador de la variable .sym dzs(i).expr→ primera derivada total6 de la expresión expr.

Las derivadas de las anteriores se recogen en la estructura ddzs , cuyo ele-mento i-ésimo contiene los campos:

integer ddzs(i).id→ identificador de la estructura ddzs.string ddzs(i).name→ identificador de la variable .sym ddzs(i).expr→ segunda derivada total de la expresión expr.

La variable global auto_zs se reserva como contador de las tres estructurasanteriores.

Funciones de interfaz de usuario

En el caso de la implementación propuesta, una función del tiempo se intro-duce en la estructura zs mediante la instrucción:

[sym z_i, dz_i, ddz_i]=new_z(string name, sym exp)

Argumentos de entrada

name→ identificador de la variable simbólica.exp→ expresión simbólica.

Argumentos de salida

z_i→ sustitución para la expresión simbólica exp.dz_i→ sustitución para la primera derivada total de exp.ddz_i→ sustitución para la segunda derivada total de exp.

Los argumentos de salida z_i, dz_i y ddz_i permiten al usuario em-plear las variables generadas en cualquier expresión simbólica que aparezca en elfichero de definición del mecanismo.

6obtenida de forma automática.

Page 118: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

104 Implementación

Exportación

En el plano numérico, el vector de funciones del tiempo, z (t) , se evalúa encada instante de tiempo, haciendo uso de la función exportada a tal efecto

[real *z]=zetas(prm, t) ,

El argumento de salida, que en principio puede tomar cualquier nombre, re-presenta el valor del vector de funciones del tiempo en el instante de tiempo, t.

La función anterior, en la sintaxis propia de MATLAB adopta la forma:

function [z]=zetas(prm, t)

z=zeros(nz,1);

z(1)=z1;

.......

z(i)=zi;

.......

z(n)=zn;

function z1=z1_fun(prm, t)

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

function zi=zi_fun(prm, t)

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

function zn=zn_fun(prm, t)

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

De forma análoga, los vectores z (t) y z (t) se evalúan respectivamente em-pleando las funciones

[real *dz]=dzetas(prm, t) y [real *ddz]=ddzetas(prm, t).

En el seno de cualquier plantilla numérica, el valor instantáneo de la i-ésimafunción del tiempo o cualquiera de sus derivadas se corresponde con el elementoi-ésimo de los vectores z, dz y ddz.

Page 119: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.3 Cinemática 105

En el plano simbólico, los vectores anteriores tiene su equivalencia en losarrays de variables simbólicas zv, dzv y ddzv , que serán recorridos en elalgoritmo de exportación.

El vector zv se obtiene recorriendo la estructura zs como:

zv = [ zs(1).expr; ...

zs(i).expr; ...

zs(n).expr ]

Los vectores dzv y ddzv se obtienen de forma análoga recorriendo lasestructuras dzs y ddzs respectivamente.

EL OPERADOR DERIVADA TOTAL

La derivada de cualquier expresión simbólica, f , se calcula como

d fd t

=∂ f

∂ v1v1 + . . . +

∂ f

∂ vn

vn +∂ f

∂ t(4.5)

donde vj , j = 1 . . . n , representa el grupo de variables simbólicas depen-dientes del tiempo que aparecen en f . Si, como es habitual, dichas variables seorganizan en vectores, la derivada total se escribe

d fd t

= Fw1w1 + . . . + Fwm

wm +∂ f

∂ t(4.6)

donde

wk, k = 1 . . .m es el grupo de vectores dependientes del tiempo presentesen f .

Fwk, k = 1 . . .m es el jacobiano de f respecto al vector wk.

En el caso de la implementación propuesta, el concepto de derivada total seentiende como

d fd t

= Fq q + Fz z + Fq q + Fz z +∂ f

∂ t(4.7)

Page 120: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

106 Implementación

Dicha operación, en la sintaxis propia de MATLAB se expresa:

df = jacobian(f, qv’)*dqv + jacobian(f, zv’)*dzv + ...

jacobian(f, dqv’)*ddqv + jacobian(f, dzv’)*ddzv + ...

diff(f, t);

La función total_derivative(sym f) , accesible desde el interfaz simbó-lico, implementa el operador presentado en esta sección.

4.3.2. Ecuaciones Cinemáticas

ECUACIONES GEOMÉTRICAS

Tal como se vio en el apartado teórico, la definición del sistema mecánicoconlleva, en el caso más general, el planteamiento de relaciones geométricas nolineales entre las coordenadas de partida (ecuación 2.2).

En el contexto del interfaz simbólico presentado existe la posibilidad de intro-ducir coordenadas auxiliares, lo cual implica la presencia de relaciones geométri-cas entre las anteriores y las coordenadas de partida.

Desde el punto de vista programático, la solución adoptada para identificareste tipo de ecuaciones es similar a la presentada en la sección 4.3.1 para distinguirlas coordenadas de partida de las auxiliares, es decir: un campo booleano.

Estructuras de datos

Las ecuaciones geométricas se almacenan en la estructura Cp , cuyo elemen-to i-ésimo contiene los campos:

integer Cp(i).id→ identificador de la estructura Cp.string Cp(i).name→ identificador de la ecuación.sym expr. Cp(i).eq→ ecuación de restricción.boolean Cp(i).isaux→ 1 si la ecuación es de definición de una coorde-nada auxiliar y 0 para el resto.

La variable global auto_Cp se reserva como contador de la estructura Cp.

Funciones de interfaz de usuario

En el caso de la implementación propuesta, una ecuación de restricción7 seintroduce en la estructura Cp haciendo uso de la instrucción

new_Cp(string name, sym expr. eq, [bool isaux])

7Las ecuaciones de restricción siempre se escriben en la forma normalizada eq=0.

Page 121: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.3 Cinemática 107

Argumentos de entrada

name→ identificador de la nueva ecuación.eq→ ecuación de restricción geométrica.isaux→ 1 si la ecuación es de definición de una coordenada auxiliar,0 para el resto.

Argumentos de salida

Ninguno.

Exportación

Con el fin de evaluar el error de posición en el instante de tiempo t , seexporta la función:

[real *Cp]=Cp(prm, q, z, t).

Dicha función se escribe:

function [Cp]=Cp(prm, q, z, t)

Cp=zeros(g,1);

Cp(1)= ...;

.......

Cp(i)= ...;

.......

Cp(g)= ...;

En el plano simbólico, el vector φ tiene su equivalente en el vector de expre-siones simbólicas Cpv , que es recorrido en el algoritmo de exportación.

El vector Cpv se obtiene a partir de la estructura Cp según:

Cpv = [ Cp(1).eq ; ...

Cp(i).eq ; ...

Cp(g).eq ].

Durante el proceso de exportación, el campo booleano isaux de la estruc-tura Cp se emplea para reordenar el vector simbólico Cpv de tal forma que lasecuaciones en las que se definen las variables auxiliares aparecen después de lasque no lo son.

Tal como se explica en el anexo C.1, el proceso de reordenamiento de ecuacio-nes, junto con el de reordenamiento de coordenadas, permite estructurar de formaeficiente las ecuaciones de movimiento del sistema mecánico.

Page 122: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

108 Implementación

ECUACIONES INICIALES DE POSICIÓN

Las ecuaciones geométricas, en el caso más general, no son suficientes paradeterminar de forma unívoca la posición del mecanismo. Sin embargo, el usua-rio puede estar interesado en plantear restricciones adicionales para poder fijarcompletamente la posición del sistema en el instante inicial de la simulación.

Así pues, las ecuaciones iniciales de posición son aquellas que se introducencon el objetivo de resolver la posición de montaje inicial del sistema mecánico.

Nótese que, en este caso, aplicar una restricción de montaje sobre una coorde-nada auxiliar puede resultar particularmente cómodo.

Estructuras de datos

Las ecuaciones iniciales de posición se almacenan en la estructura Cpini ,cuyo elemento i-ésimo contiene los campos:

integer Cpini(i).id→ identificador de la estructura de datos.string Cpini(i).name→ identificador de la ecuación .sym expr. Cpini(i).eq→ ecuación.

La variable global auto_Cpini se reserva como contador de la estructuraCpini.

Funciones de interfaz de usuario

En el caso de la implementación propuesta, una ecuación geométrica inicialse introduce en la estructura Cpini haciendo uso de la instrucción

new_Cpini(string name, sym expr. eq)

Argumentos de entrada y salida

los argumentos de entrada y salida de las instrucciones new_Cpini sonanálogos a los de new_Cp .

Exportación

En el plano numérico, el vector de ecuaciones geométricas iniciales se evalúahaciendo uso de la función exportada a tal efecto

[real *Cp_t0]=Cp_t0(prm, q, z, t),

que se implementa de forma análoga a la presentada en la sección anterior paralas ecuaciones geométricas.

En el plano simbólico, el vector de ecuaciones geométricas iniciales, φi , secorresponde con el vector de expresiones simbólicas Cp_t0v , recorrido en elalgoritmo de exportación.

Page 123: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.3 Cinemática 109

El vector Cp_t0v se obtiene a partir de la estructura Cpini según:

Cp_t0v = [ Cpini(1).eq ; ...

Cpini(i).eq ; ...

Cpini(g).eq ]

El resto de funciones exportadas que derivan de la estructura Cpini , se tra-tarán en la sección 4.3.5.

ECUACIONES NO HOLÓNOMAS

Como ya se introdujo en el apartado teórico, las velocidades generalizadasestarán relacionadas por las derivadas de las ecuaciones geométricas y por unconjunto, r, de relaciones no holónomas (ecuación 2.3).

Estructuras de datos

Las ecuaciones no holónomas se almacenan en la estructura Cv , cuyo ele-mento i-ésimo contiene los campos:

integer Cv(i).id→ identificador de la estructura de datos.string Cv(i).name→ identificador de la ecuación .sym expr. Cv(i).eq→ ecuación.

La variable global auto_Cv se reserva como contador de la estructura Cv.

Funciones de interfaz de usuario

En el caso de la implementación propuesta, una ecuación de restricción noholónoma se introduce en la estructura Cv haciendo uso de la instrucción

new_Cv(string name, sym expr. eq)

Argumentos de entrada

name→ identificador de la nueva ecuación.eq→ ecuación de restricción no holónoma, (eq=0).

Argumentos de salida

Ninguno.

Exportación

Las funciones exportadas que derivan de la estructura Cv , se documentan enel apartado 4.3.5 junto con el problema de velocidad.

Page 124: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

110 Implementación

ECUACIONES INICIALES PARA VELOCIDADES

Las ecuaciones iniciales para velocidades son aquellas restricciones adicio-nales introducidas con el objetivo de especificar completamente la velocidad delsistema en el instante inicial de la simulación.

Estructuras de datos

Las ecuaciones iniciales para velocidades se almacenan en la estructuraCvini , cuyo elemento i-ésimo contiene los campos:

integer Cvini(i).id→ identificador de la estructura de datos.string Cvini(i).name→ identificador de la ecuación .sym expr. Cvini(i).eq→ ecuación.

La variable global auto_Cvini se reserva como contador de la estructuraCvini.

Funciones de interfaz de usuario

Una ecuación inicial para velocidades se introduce en la estructura Cvini ha-ciendo uso de la instrucción:

new_Cvini(string name, sym expr. eq)

Argumentos de entrada y salida

los argumentos de entrada y salida de la instrucción new_Cvini sonanálogos a los de new_Cv .

Exportación

Las funciones exportadas que derivan de la estructura Cvini , se documentanen el apartado 4.3.5 junto con el problema de velocidad inicial.

ECUACIONES PARA ACELERACIONES

Tal como se explica en el apartado teórico, las aceleraciones generalizadasestán relacionadas por las derivadas de las ecuaciones para velocidades (ecuación2.5).

En este caso, no se requieren estructuras adicionales puesto que todos los tér-minos que componen la ecuación 2.5 pueden obtenerse por derivación de expre-siones ya definidas.

Page 125: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.3 Cinemática 111

4.3.3. Interfaz Cinemático Cartesiano

Las secciones anteriores de este texto describen las estructuras básicas quedan soporte al planteamiento de la cinemática desde el punto de vista analítico(vectores de coordenadas, ecuaciones, etc ...).

El interfaz analítico que presentan las estructuras anteriores, en ocasiones po-co adecuado, necesita de un interfaz complementario que sea compatible con laforma de razonar que caracteriza a los humanos.

En este contexto, el interfaz cartesiano permite la interacción del usuario conel Sistema Simbólico de Bajo Nivel en el lenguaje de la mecánica vectorial, muchomás adecuado para la descripción de los diferentes aspectos involucrados en ladefinición del problema mecánico.

Las siguientes secciones se dedicarán a presentar los elementos básicos delinterfaz cinemático cartesiano, es decir: puntos, vectores cartesianos, matrices decambio de base (bases) y referencias.

PUNTO

En lo sucesivo, un punto se entenderá como la representación matemática dela entidad geométrica correspondiente. Así, un punto, Pj , queda definido por elvector de posición cuyo origen es un punto arbitrario de referencia, O , y cuyoextremo está situado en Pj.

Es decir, por lo que respecta a su representación interna, un punto siempre sedefine respecto a otro especificando su vector de posición relativo, lo cual simpli-fica la definición geométrica del sistema.

Estructuras de datos

Los puntos se recogen en la estructura pts , cuyo elemento i-ésimo contienelos campos:

integer pts(i).id→ identificador numérico de la estructura pts .string pts(i).name→ identificador del punto.pt pointer pts(i).pt_ptr → puntero a punto origen del vector de po-sición.sym 3-tuple pts(i).lcoords→ coordenadas de la 3-tupla de posición.or pointer pts(i).or_ptr → puntero a base en la que se expresa la 3-tupla anterior.

La variable global auto_pts se reserva como contador de la estructurapts.

Page 126: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

112 Implementación

La estructura de puntos se inicializa introduciendo como primer elemento elorigen de la referencia absoluta, OAbs , denominado org0 en el interfaz simbó-lico. En este caso, el vector de posición correspondiente al punto anterior quedadefinido por una 3-tupla nula en la base de proyección fija a la referencia Abs .

Funciones de interfaz de usuario

Un punto se introduce en la estructura pts mediante la instrucción:

new_pt(string name, string org_pt_name, ...

sym 3-tuple lcoords, string or_name)

Argumentos de entrada

name→ identificador del punto a introducir en la estructura de puntos.org_pt_name→ punto origen del vector de posición cuyo extremo esname .

lcoords→ 3-tupla de posición con origen en name y cuyo extremoes org_pt_name .or_name→ base de proyección en la cual se introduce lcoords .

Argumentos de salida

Ninguno.

VECTOR CARTESIANO

Se define como vector cartesiano al conjunto formado por una 3-tupla y labase del espacio tridimensional euclídeo en la que dicha 3-tupla se proyecta.

Dado que los vectores cartesianos son generalmente empleados como herra-mienta en el planteamiento de ecuaciones geométricas y/o cinemáticas, no es ne-cesaria la existencia de una estructura que almacene elementos de este tipo.

Desde el punto de vista operativo, los vectores cartesianos pueden represen-tarse mediante 3-tuplas siempre que el usuario sea consciente de la base de pro-yección asociada a cada una de ellas cuando realiza operaciones vectoriales.

Obviamente, lo correcto hubiera sido implementar el tipo de dato vector8, jun-to con los operadores básicos del álgebra vectorial, pero lamentablemente el len-guaje de programación de MATLAB no es suficientemente flexible en cuanto adefinición de tipos y sobrecarga de operadores.

8incluyendo los campos:sym 3-tuple vector.coords→ coordenadas de la 3-tupla.or pointer vector.or_ptr→ puntero a base de proyección.

Page 127: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.3 Cinemática 113

BASE

En el espacio vectorial euclídeo9, puede establecerse una base de 3 vectoreslinealmente independientes e1 , e2 y e3 , que permita expresar un vector cual-quiera, v , como combinación lineal,

v =3∑

i=1

viei

de tal forma que los coeficientes vi son las coordenadas del vector v en labase formada por los vectores ei , i = 1 . . . 3 .

En lo sucesivo, salvo indicación expresa de lo contrario, las bases se supondránortonormales, es decir, formadas por vectores unitarios y mutuamente perpendi-culares, verificándose

ei · ej = δij (4.8)

donde δij = 1 cuando i = j y δij = 0 en cualquier otro caso.

Por otra parte, una base ortonormal de vectores ei , i = 1 . . . 3 se denominatriedro directo si se satisfacen las relaciones

e1 ∧ e2 = e3 , e2 ∧ e3 = e1 , e3 ∧ e1 = e2 (4.9)

Por convenio, en mecánica, todas las bases empleadas cumplen las relacionesanteriores, por lo que en este texto se entenderá que todas las bases ortonormalesson triedros directos.

La matriz de cambio de base

Dadas dos bases cualesquiera, bi y bj , las componentes de un vector u en lasbases bi y bj se relacionan según:

[u]bi

=[I]bj

bi

[u]bj

(4.10)

donde[I]bj

bi

es la matriz de cambio de base que transforma componentes en

bj a componentes en bi .

9con métrica euclídea.

Page 128: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

114 Implementación

La matriz anterior se expresa en términos de los versores10 de la base bj ,e

bj

k , k = 1 . . . 3 , proyectados en la base bi según:

[I]bj

bi

=[e

bj

1 ebj

2 ebj

3

]bi

Por lo que respecta a su representación interna, una nueva base se define apartir de la matriz de cambio de base que transforma componentes en dicha basea componentes en otra base ya definida. En este contexto, la ecuación 4.10 puedevolverse a escribir como

[u]bi

=[I]b1

bi

[I]b2

b1

. . .[I]bk

bk−1

. . .[I]bj

bj−1

[u]bj

(4.11)

donde ahora

[I]bj

bi

=[I]b1

bi

[I]b2

b1

. . .[I]bk

bk−1

. . .[I]bj

bj−1

(4.12)

siendo bk , k = 1 . . . j − 1 las orientaciones intermedias entre bi y bj .

Tal como se describe en la sección 4.5, la ecuación 4.12 es el principio sobreel que se fundamenta la implementación del operador cambio de base.

Estructuras de datos

Las bases se recogen en la estructura ors , cuyo elemento i-ésimo contienelos campos:

integer ors(i).id→ identificador numérico para la estructura ors .string ors(i).name→ identificador de la base.or pointer ors(i).or_ptr→ base origen de la base generada3x3 sym matrix ors(i).matrix → matriz de cambio de base. La basepropuesta debe ser un triedro directo ortonormal.

La variable global auto_ors se reserva como contador de la estructuraors .

La estructura de bases se inicializa introduciendo como primer elemento labase del sistema de referencia cartesiano, bAbs ≡ xyz , denominada or0 enel interfaz simbólico. En este caso, la matriz de cambio de base asociada a laorientación or0 es la identidad.

10vectores que cumplen las relaciones 4.8 y 4.9.

Page 129: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.3 Cinemática 115

En el contexto de la dinámica, la base anterior se considerará de orientaciónfija respecto a la referencia inercial.

Funciones de interfaz de usuario

Una base se introduce en la estructura ors haciendo uso de la instrucción:

new_orientation(string name, string base_name, ...

3x3 sym matrix base_matrix)

Argumentos de entrada

name→ identificador de la base a introducir en la estructura ors .base_name→ base origen, a partir de la cual se define la base name .base_matrix → matriz de cambio de base que expresa los vectoresde la base name en la base base_name .

Argumentos de salida

Ninguno.

Tal como se describe en la siguiente sección, existen funciones de más altonivel que permiten definir bases en términos de argumentos más intuitivos: giroselementales, parámetros de Euler , etc ...

REFERENCIA CARTESIANA

El concepto de referencia11 representa conceptualmente al de observador, elcual se caracteriza por su posición y orientación en el espacio. Matemáticamen-te, una referencia queda definida mediante un punto (posición) y una matriz decambio de base (orientación).

Así, un sistema de referencia cartesiano o referencia cartesiana, Ref i , sedefine en términos del conjunto Oi, bi donde

• Oi es un punto que representa el origen del sistema de referencia.

• bi es una base de proyección ortonormal.

11En la literatura frecuentemente se emplea la denominación marker, pero el autor prefiere lade referencia ya que se corresponde con un concepto físico bien definido, anterior a la era delcomputador, que posee sus mismas características.

Page 130: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

116 Implementación

Estructuras de datos

Las referencias se recogen en la estructura refs , cuyo elemento i-ésimocontiene los campos:

integer refs(i).id→ identificador numérico para la estructura refs .string refs(i).name→ identificador de la referencia.pt pointer refs(i).pt_ptr→ puntero al punto origen de la referencia.or pointer refs(i).or_ptr→ puntero a la base de la referencia.

La variable global auto_refs se reserva como contador de la estructurarefs .

La estructura de referencias se inicializa introduciendo como primer elementoel sistema de referencia cartesiano, Abs ≡ OAbs , xyz . La referencia anterior,definida por el conjunto org0, or0 , recibe el nombre de ref0 en el interfazsimbólico.

Funciones de interfaz de usuario

Una referencia se introduce en la estructura refs haciendo uso de la ins-trucción:

new_ref(string name, string pt_name, string or_name)

Argumentos de entrada

name → identificador de la referencia a introducir en la estructurarefs .

pt_name→ identificador del punto origen de la referencia.or_name→ identificador de la base de proyección de la referencia.

Argumentos de salida

Ninguno.

4.3.4. Operadores sobre los elementos del Interfaz

La utilidad de las estructuras del interfaz cartesiano definidas en el apartadoanterior se pone de manifiesto cuando sobre éstas se definen los operadores:

• Cambio de base.• Vector de posición.• Velocidad y velocidad angular.• Aceleración y aceleración angular.

Estos operadores permiten al usuario redactar expresiones simbólicas en unlenguaje mucho más ágil, es decir, más comprensible para los humanos.

Page 131: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.3 Cinemática 117

En las siguientes secciones se presentan, junto con una breve descripción teó-rica, las funciones que implementan los operadores anteriores.

OPERADOR DE CAMBIO DE BASE

Con el propósito de simplificar la escritura de ecuaciones, se define el operadorde cambio de base (ecuación 4.12) sustentado en la estructura de orientaciones.

bd

bo

b1

bk

[

I

]bo

bd

=

[

I

]bd−1

bd

. . .

[

I

]bk−1

bk

. . .

[

I

]bo

b1

Figura 4.1: La matriz de cambio de base y el diagrama de orientaciones

Así, el operador (matriz) de cambio de base entre dos orientaciones cuales-quiera se obtiene como argumento de salida de la función:

[3x3 sym matrix Ado]=or_matrix(string base_o, base_d)

Argumentos de entrada

base_o→ base origen.base_d→ base destino.

Argumentos de salida

Ado→ matriz de cambio de base[I]bo

bd

, de origen a destino.

Page 132: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

118 Implementación

Así, si u_o y u_d son las componentes del mismo vector expresadas enlas bases base_o y base_d respectivamente, ambas 3-tuplas se relacionansegún:

u_d = Ado*u_o

Si No No Si

or_matrix(b_o, b_d)

Diagrama Orientaciones bd → xyz

Ado

[

I

]bd

xyz

Ado

Ado

[

I

]bo

xyz

[

I

]bo

bd

[

I

]bo

bd

=

[

I

]bo

xyz

(

[

I

]bd

xyz

)T

bdbo

Diagrama Orientaciones bo → xyz

¿ bo ?¿ bd ?

[

I

]bo

bd

=

(

[

I

]bd

bo

)T

Figura 4.2: Algoritmo empleado para calcular la matriz de cambio de base

OPERADOR VECTOR DE POSICIÓN

Se define como vector de posición, PoPf , al vector cartesiano cuyo origen es

el punto Po y cuyo extremo es el punto Pf .

Page 133: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.3 Cinemática 119

[

PoP1

]

b1

[

P1Pk

]

bk

P1

Po

[

Pf−1Pf

]

bf

Pf

[

PoPf

]

bj=

[

PoP1

]

bj+ . . .

[

Pk−1Pk

]

bj. . . +

[

Pf−1Pf

]

bj

Pf−1

Pk

[

PkPf−1

]

bf−1

Figura 4.3: El vector de posición y el diagrama de posiciones

El operador vector de posición se implementa a través de la siguiente función:

[sym 3-tuple Pofv]=position_vector(string P_o, ...

string P_f, string b_j)

Argumentos de entrada

P_o→ punto origen del vector de posición.P_f→ punto extremo del vector de posición.b_j→ identificador de la base en la que se proyecta el vector anterior.

Argumentos de salida

pvect→ vector de posición, expresado en la base base .

OPERADORES DE VELOCIDAD

En un contexto general, pueden aparecer diferentes referencias (observadores)con movimiento relativo entre sí.

Page 134: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

120 Implementación

SiSi No No

[

PfOAbs

]

bj

[

PoPf

]

bj

[

PoOAbs

]

bj

Pofv

[

PoPf

]

bj= −

[

PfPo

]

bj

Pofv Pofv

[

PoPf

]

bj=

[

PoOAbs

]

bj−

[

PfOAbs

]

bj

position_vector(P_o, P_f, b_j)

Diagrama Posiciones Pd → OAbsDiagrama Posiciones Po → OAbs

PfPo

¿ Po ?¿ Pf ?

Figura 4.4: Algoritmo empleado para calcular el vector de posición

Evidentemente, los vectores velocidad y aceleración de un punto son diferen-tes según la referencia desde la que se observa el movimiento.

Así, en esta sección, se presentan las expresiones que permiten relacionar lavelocidad de un punto para observadores situados en referencias distintas.

Vector velocidad de un punto

La velocidad de un punto P , para un observador situado en la referencia R ,se define como la derivada temporal

VR (P ) =dORP

d t

∣∣∣∣R

(4.13)

dondeOR es un punto fijo en la referencia R .

Page 135: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.3 Cinemática 121

R1

R2

P

OR1

OR2

Figura 4.5: Composición de movimientos en referencias distintas

La regla de composición de velocidades permite relacionar la velocidad de unpunto para observadores situados en referencias distintas, de tal forma que

VR2 (P ) =

[VR2 (OR1) + ΩR2 (R1 ) ∧OR1P

]+ VR1 (P ) (4.14)

donde

• ΩR2 (R1 ) representa la velocidad angular de la referencia R1 para unobservador situado en la referencia R2 .

• El término que aparece entre corchetes,

VR2 (OR1) + ΩR2 (R1 ) ∧OR1P ,

representa la velocidad de un punto, que perteneciendo cinemáticamente ala referencia R1 , estuviese situado en la misma posición que P y recibeel nombre de velocidad de arrastre.

• VR1 (P ) representa la velocidad del punto P para un observador situadoen la referencia R1 y recibe el nombre de velocidad relativa.

Page 136: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

122 Implementación

Operador Velocidad

El operador velocidad de un punto, para un observador situado en una refe-rencia se implementa por medio de la siguiente función:

[sym 3-tuple vvect]=velocity_vector(string punto, ...

string ref_obs, string proy_or_name)

Argumentos de entrada

punto→ punto del cual quiere calcularse la velocidad.ref_obs→ referencia donde se sitúa el observador.proy_or_name → identificador de la base en la que se proyecta elvector velocidad.

Argumentos de salida

vvect→ vector velocidad, expresado en la base proy_or_name .

Operador Velocidad de Arrastre

El operador velocidad de arrastre de un punto en una referencia, para un obser-vador situado en otra referencia, se implementa por medio de la siguiente función:

[sym 3-tuple vvect]=ref_velocity_vector(string punto, ...

string ref, string ref_obs, string proy_or_name)

Argumentos de entrada

punto→ punto del cual se quiere calcular la velocidad de arrastre.ref → referencia que indica la pertenencia cinemática de punto .ref_obs→ referencia donde se sitúa el observador.proy_or_name → identificador de la base en la que se proyecta elvector velocidad12.

Argumentos de salida

Ninguno.

12La instrucción anterior podría entenderse como: calcular la velocidad de punto, como cinemá-ticamente perteneciente a la referencia ref, para un observador situado en la referencia ref_obs,expresando el resultado en la base proy_or_name. Resulta particularmente útil para introducircondiciones de rodadura sin deslizamiento.

Page 137: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.3 Cinemática 123

Operador Velocidad Angular

El operador velocidad angular de una orientación respecto a otra se imple-menta por medio de la función:

[sym 3-tuple omvect]=omega_vector(string or_name_1, ...

string or_name_2, string proy_or_name)

Argumentos de entrada

or_name_1→ orientación de la cual se calcula la velocidad angular.or_name_2→ orientación en la que se sitúa el observador.proy_or_name → identificador de la base en la que se proyecta elvector velocidad angular13.

Argumentos de salida

omvect→ vector velocidad angular

OPERADORES DE ACELERACIÓN

La aceleración de un punto P , para un observador situado en la referencia R ,se expresa como

AR (P ) =d VR (P )

d t

∣∣∣∣R

. (4.15)

Derivando en el tiempo y respecto a la referencia R2 la ecuación 4.14 seobtiene

AR2 (P ) = AR2 (OR1) +d ΩR2 (R1 )

d t

∣∣∣∣R2

∧OR1P

+ ΩR2 (R1 ) ∧dOR1P

d t

∣∣∣∣R2

+d VR1 (P )

d t

∣∣∣∣R2

, (4.16)

13La instrucción anterior podría entenderse como: calcular la velocidad angular de la orien-tación or_name, respecto a la orientación org_or_name, expresando el resultado en la baseproy_or_name.

Page 138: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

124 Implementación

y teniendo en cuenta las relaciones

d VR1 (P )

d t

∣∣∣∣R2

= AR1 (P ) + ΩR2 (R1 ) ∧ VR1 (P ) (4.17)

dOR1P

d t

∣∣∣∣R2

= VR1 (P ) + ΩR2 (R1 ) ∧OR1P , (4.18)

la ecuación 4.16 puede volverse a escribir como

AR2 (P ) =

[AR2 (OR1) + ΩR2 (R1 ) ∧

(ΩR2 (R1 ) ∧OR1P

)+

+ αR2 (R1 ) ∧OR1P

]+ AR1 (P ) + 2 ΩR2 (R1 ) ∧ VR1 (P )

(4.19)

donde

• αR2 (R1 ) representa la aceleración angular de la referencia R1 para unobservador situado en la referencia R2 .

• el término que aparece entre corchetes representa la aceleración de un puntoque, perteneciendo cinemáticamente a la referencia R1 , estuviese situadoen la misma posición que P y recibe el nombre de aceleración de arrastre.

• AR1 (P ) representa la aceleración del punto P para un observador situadoen la referencia R1 y recibe el nombre de aceleración relativa.

• 2 ΩR2 (R1 ) ∧ VR1 (P ) representa la aceleración de Coriolis.

Operador Aceleración

El operador aceleración de un punto, para un observador situado en una refe-rencia se implementa por medio de la función:

[sym 3-tuple acvect]=acceleration_vector(string punto, ...

string ref_obs, string proy_or_name)

Page 139: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.3 Cinemática 125

Argumentos de entrada

punto→ punto del cual quiere calcularse la aceleración.ref_obs→ referencia donde se sitúa el observador.proy_or_name → identificador de la base en la que se proyecta elvector aceleración.

Argumentos de salida

acvect→ vector de aceleración, proyectado en la base proy_or_name.

Operador Aceleración de Arrastre

El operador aceleración de arrastre de un punto en una referencia, para unobservador situado en otra referencia, se implementa por medio de la función:

[sym 3-tuple acvect]=ref_acceleration_vector(string punto, ...

string ref, string ref_obs, string proy_or_name)

Argumentos de entrada

punto→ punto del cual quiere calcularse la aceleración.ref→ referencia que indica la pertenencia cinemática de punto .ref_obs→ referencia donde se sitúa el observador.proy_or_name → identificador de la base en la que se proyecta elvector aceleración.

Argumentos de salida

ref_acvect → vector aceleración de arrastre, proyectado en la baseproy_or_name .

Operador Aceleración Angular

El operador aceleración angular de una orientación respecto a otra se imple-menta por medio de la función:

[sym 3-tuple dom_vect]=alpha_vector(string or_name, ...

string org_or_name, string proy_or_name)

Argumentos de entrada

or_name→ orientación de la cual quiere calcularse la aceleración an-gular.org_or_name → orientación respecto de la cual se calcula dicha ace-leración angular.

Page 140: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

126 Implementación

proy_or_name → base en la que se proyecta el vector aceleraciónangular proy_or_name .

Argumentos de salida

dom_vect→ vector aceleración angular, proyectado en la base

4.3.5. Problemas Cinemáticos

En esta sección se describirán todos los problemas que el interfaz numéricopropuesto es capaz de resolver, es decir:

• Problema de posición.• Problema de posición inicial.• Problema de velocidad.• Problema de velocidad inicial.• Problema de aceleración.• Simulación cinemática.

Tal como se explica en la introducción del capítulo, cada uno de los proble-mas anteriores se resuelve numéricamente empleando una función de alto nivel,independiente de la topología del sistema mecánico, denominada plantilla.

EL PROBLEMA DE POSICIÓN

El sistema no lineal de ecuaciones φ (q, t) = 0 debe verificarse en todoinstante de tiempo, t.

El método iterativo de Newton-Raphson resuelve el sistema anterior para cual-quier instante de tiempo, t, mediante el algoritmo

φq(qi, t) δq = −φ (qi, t)

qi+1 = qi + µ δq (4.20)

donde µ representa el coeficiente de relajación del método, 0 < µ ≤ 1.

Si las relaciones entre coordenadas están impuestas de forma redundante, elalgoritmo anterior puede sustituirse por el presentado en la referencia [GdJB94],

q(qi, t)

]Tφ

q(qi, t) δq = −

q(qi, t)

]Tφ (qi, t)

qi+1 = qi + µ δq, (4.21)

para así evitar los problemas asociados a la singularidad de la matriz φq

.

Page 141: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.3 Cinemática 127

qi

qi+1 q

φ

qi+2

φ(

qi+1, t

)

φ (qi, t)

Figura 4.6: Interpretación geométrica del método de Newton-Raphson

El criterio de parada de cualquiera de los algoritmos anteriores puede estable-cerse:

• De forma global,

[φ(qi+1, t

)]Tφ(qi+1, t

)< tol,

donde tol representa una tolerancia global.

• Ecuación a ecuación,

∣∣φ(qi+1, t

)∣∣ < tol,

donde el error de la ecuación φj , j = 1 . . . c se chequea con la toleranciatolj , j = 1 . . . c.

En el caso de la implementación propuesta, el problema de posición se re-suelve mediante un algoritmo que detecta de forma automática la presencia deecuaciones redundantes. El chequeo anterior se realiza calculando el rango14 del

Page 142: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

128 Implementación

jacobiano de posición: si éste es igual al número de ecuaciones, se emplea el al-goritmo descrito en 4.23, mientras que si es menor, se emplea 4.21. El criterio deparada se establece de forma global en cualquiera de los dos casos.

Plantilla de solución para el problema de posición

En el caso de la implementación propuesta, el problema de posición se resuel-ve haciendo uso de la instrucción

[real *new_q]=solve_position(real *prm, real *q, real t, ...

real relax, int nmax, real tol)

Argumentos de entrada

prm → vector de parámetros.q → vector de coordenadas de partida.t → variable tiempo.relax→ relajación del método.nmax→ numero máximo de iteraciones del método.tol → tolerancia global, tol, con la que se resuelve el problema deposición.

Argumentos de salida

new_q → vector de coordenadas que verifica el sistema φ = 0 contolerancia tol.

Internamente, la función solve_position evalúa Cp(prm, q, z, t) yJp(prm, q, z, t), cuyo proceso de exportación se detalla en las secciones si-guientes.

Exportación de Jp

En el plano numérico, el jacobiano de posición, φq

, se evalúa en cada ins-

tante de tiempo haciendo uso de la función exportada a tal efecto:

[real **Jp]=Jp(real *prm, *q, *z, t).

14La tolerancia con la que se calcula el rango es un delicado parámetro que debería ajustarsepara cada problema. Con el fin de evitar el ajuste anterior, además de calcular el rango de φp conuna tolerancia estándar, se hace un chequeo de su condicionamiento numérico: si éste es superiora 2000 , se emplea el algoritmo 4.21.

Page 143: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.3 Cinemática 129

En el caso de la implementación propuesta, dicha matriz adopta la forma:

function [Jp]=Jp(prm, q, z, t)

Jp=zeros(g,p);

Jp(1,1)= ...;

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

Jp(i,j)= ...;

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

Jp(g,p)= ...;

donde sólo aparecen aquellos elementos, Jp(i,j) , distintos de cero.

En el plano simbólico, el jacobiano de posición, φq

, se corresponde con

la matriz de expresiones simbólicas Jpm , que será recorrida en el algoritmo deexportación.

La matriz anterior se obtiene a partir del vector de expresiones simbólicasCpv según:

Jpm = jacobian(Cpv, qv’);

EL PROBLEMA DE POSICIÓN INICIAL

El problema de posición inicial consiste en la resolución conjunta de las ecua-ciones geométricas y las ecuaciones geométricas iniciales:

φ = 0

φ0 = 0 (4.22)

El método iterativo de Newton-Raphson resuelve el sistema anterior emplean-do el algoritmo15:

φi

q(qi, t) δq = −φi (qi, t)

qi+1 = qi + µ δq (4.23)

Page 144: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

130 Implementación

donde ahora:

• El error de posición inicial se define como

φi =

φ0

],

• El jacobiano de posición inicial se define como

φi

q=

φ

q

φo

q

=

∂ q

φ0

]

o bien φi

q=

∂ φi

∂ q

• El escalar µ es el coeficiente de relajación del método.

Plantilla de solución para el problema de posición inicial

En el caso de la implementación propuesta, el problema de posición inicial seresuelve haciendo uso de la instrucción

[real *new_q]=solve_initial_position(real *prm, real *q, ...

real t, real relax, ...

int nmax,real tol)

Argumentos de entrada

Todos los argumentos de entrada tienen la misma lectura que la ins-trucción solve_position , presentada la sección anterior.

Argumentos de salida

new_q → vector de coordenadas que verifica el sistema φi = 0 contolerancia tol.

Internamente, la función solve_initial_position evalúa las funcionesCpini(prm, q, z, t) y Jpini(prm, q, z, t), cuyo proceso de exporta-ción se detalla en las secciones siguientes.

15Nótese que el algoritmo propuesto sigue arrojando soluciones válidas aún cuando el sistema4.29 sea compatible indeterminado.

Page 145: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.3 Cinemática 131

Exportación de Cpini

En el plano numérico, el vector de restricciones de posición inicial, φi , seevalúa en cada instante de tiempo empleando la función exportada a tal efecto:

[real *Cpini]=Cpini(real *prm, *q, *z, t).

En el caso más general, dicha función adopta la forma:

function [Cpini]=Cpini(prm, q, z, t)

Cpini=zeros(g+npi,1);

Cp=Cp(prm, q, z, t);

Cp_t0=Cp_t0(prm, q, z, t);

Cpini=[Cp;Cp_t0];

donde todos los elementos ya fueron definidos en apartados anteriores.

Exportación de Jpini

En el plano numérico, el jacobiano de posición inicial, φi

q, se evalúa en

cada instante de tiempo haciendo uso de la función exportada a tal efecto:

[real **Jpini]=Jpini(real *prm, *q, *z, t).

En el caso más general, la función anterior adopta la forma:

function [Jpini]=Jpini(prm, q, z, t)

Jpini=zeros(g+npi, p);

Jp=Jp(prm, q, z, t);

Jp_t0=Jp_t0(prm, q, z, t);

Jpini=[Jp;Jp_t0];

En el plano simbólico, el jacobiano de las ecuaciones geométricas iniciales,

φo

q, se corresponde con la matriz de expresiones simbólicas Jp_t0m , recorrida

en el algoritmo de exportación.

La matriz anterior se obtiene a partir del vector de expresiones simbólicasCp_t0v según

Page 146: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

132 Implementación

Jp_t0m = jacobian(Cp_t0v, qv’);

EL PROBLEMA DE VELOCIDAD

El problema de velocidad se traduce en resolver el sistema lineal de ecuaciones

φv(q, t) q = −bv (q, t) (4.24)

donde, como ya se dijo, las ecuaciones no holónomas deben ser expresioneslineales en las velocidades generalizadas.

El sistema anterior puede resolverse de forma numérica empleando una des-composición QR de la matriz φ

vde tal forma que

φv(q′, t) = Q R (4.25)

donde, si φv

tiene dimensión (c, p) ,

• q′ es un reordenamiento del vector q de tal forma que el valor absolutode los elementos diagonales de R es decreciente.

• Q es ortogonal de dimensión c .

• R es triangular superior de dimensión (c, p) con elementos diagonalesde valor absoluto decreciente.

p

c

d p − d

d

c − d

c

Figura 4.7: Descomposición QR para una matriz de dimensión (c, p).

En este caso, el rango, d , de la matriz φv

es el número de elementos de la

diagonal de la matriz R que verifican:

∣∣ R (i, i)∣∣ ≥ tol

Page 147: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.3 Cinemática 133

donde tol representa la tolerancia con la que se calcula el rango de φv

.

Las incógnitas dependientes, qd , e independientes, qi , del problema develocidad se obtienen a partir del reordenamiento propuesto y de d según

qd = q′ (1 : d) y qi = q′ (d + 1 : p).

de tal forma que

φv(q′, t)

[qd

qi

]= −bv . (4.26)

Además, teniendo en cuenta que Q es una matriz ortogonal, el sistema 4.24puede volverse a escribir como

[Rd,d Rd,i

0c−d,d

0c−d,i

][qd

qi

]= −

[Q]Tbv = −

[b

,d

b ,c−d

]. (4.27)

El sistema anterior se resuelve para las velocidades dependientes, qd , entérminos de las independientes, qi , según

qd = −[

Rd,d

]−1(b

,d+ Rd,i qi

), (4.28)

a no ser que b ,c−d

6= 0c−d , en cuyo caso el sistema es incompatible.

Para concluir, nótese que el algoritmo presentado en esta sección sigue siendoválido cuando existan relaciones redundantes entre velocidades.

Plantilla de solución para el problema de velocidad

El problema de velocidad se resuelve en la implementación propuesta hacien-do uso de la instrucción

[real *new_dq]=solve_velocity(real *prm, *q, *dq, t, tol)

Argumentos de entrada

prm→ vector de parámetros.q→ vector de coordenadas generalizadas.dq→ vector de velocidades generalizadas.t→ variable tiempo.tol→ tolerancia con la que se calcula el rango, d , de la matriz R .

Page 148: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

134 Implementación

Argumentos de salida

new_dq → vector de velocidades que verifica el sistema anterior contolerancia de rango tol. Las velocidades independientes, si existen,se extraen del vector original dq.

Internamente, la función solve_velocity evalúa las funciones:

Jv(prm, q, z, t) y bv(prm, q, z, dz, t),

cuyo proceso de exportación se detalla en las secciones siguientes.

Exportación de Jv

En el plano numérico, el jacobiano de velocidad, φv

, se evalúa en cadainstante de tiempo haciendo uso de la función exportada a tal efecto:

[real **Jv]=Jv(real *prm, *q, *z, t).

Dicha función, en el caso más general adopta la forma:

function [Jv]=Jv(prm, q, z, t)

Jv=zeros(g+r,p);

Jp=Jp(prm, q, z, t);

ACv=ACv(prm, q, z, t);

Jv=[Jp;ACv];

donde:

Jp ya se definió en el apartado anterior.

ACv se evalúa en cada instante de tiempo haciendo uso de la función ex-portada a tal efecto:

[real **ACv]=Acv(real *prm, *q, *z, t).

Page 149: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.3 Cinemática 135

Dicha función adopta la forma:

function [ACv]=ACv(prm, q, z, t)

ACv=zeros(r,p);

ACv(1,1)= ...;

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

ACv(i,j)= ...;

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

ACv(r,p)= ...;

En el plano simbólico, la matriz de restricciones no holónomas, A , secorresponde con la matriz de expresiones simbólicas ACvm , recorrida enel algoritmo de exportación.

La matriz anterior se obtiene a partir del vector cvv

Cvv = [ Cv(1).eq; ...

Cv(i).eq; ...

Cv(r).eq ]

según

ACvm = jacobian(cvv, dqv’);

Exportación de bv

En el plano numérico, el término independiente de velocidad, bv , se evalúaen cada instante de tiempo haciendo uso de la función exportada a tal efecto:

[real *bv]=bv(real *prm, *q, *z, *dz, t).

Dicha función, en el caso más general adopta la forma:

function [bv]=bv(prm, q, z, dz, t)

bv=zeros(g+r,1);

bCp=bCp(prm, q, z, dz, t);

bCv=bCv(prm, q, z, dz, t);

bv=[bCp;bCv];

Page 150: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

136 Implementación

donde

bCp , correspondiente con el vector φt , representa la contribución de lasecuaciones geométricas al término independiente de velocidad y se evalúaen cada instante de tiempo haciendo uso de la función exportada a tal efecto:

[real *bCp]=bCp(real *prm, *q, *z, *dz, t).

Dicha función adopta la forma:

function [bCp]=bCp(prm, q, z, dz, t)

bCp=zeros(g,1);

bCp(1)= ...;

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

bCp(i)= ...;

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

bCp(g)= ...;

donde sólo aparecen aquellos elementos, bCp(i) , distintos de cero.

En el plano simbólico, el vector bCp se corresponde con el array de ex-presiones simbólicas bCpv , recorrido en el algoritmo de exportación.

El vector anterior se calcula en términos de Cpv según:

bCpv = jacobian(Cpv, zv’)*dzv + diff(Cpv, t);

bCv , correspondiente con el vector b (q, t) , es la contribución de lasecuaciones no holónomas al término independiente de velocidad y se evalúaen cada instante de tiempo haciendo uso de la función exportada a tal efecto:

[real *bCv]=bCv(real *prm, *q, *z, *dz, t).

Page 151: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.3 Cinemática 137

Dicha función adopta la forma:

function [bCv]=bCv(prm, q, z, dz, t)

bCv=zeros(r,1);

bCv(1)= ...;

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

bCv(i)= ...;

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

bCv(r)= ...;

donde sólo aparecen aquellos elementos, bCv(i) , distintos de cero.

En el plano simbólico, el vector bCv se corresponde con el array de ex-presiones simbólicas bCvv , recorrido en el algoritmo de exportación.

El vector anterior se calcula en términos de Cvv y ACvm según:

bCvv = Cvv - ACvm*dqv;

EL PROBLEMA DE VELOCIDAD INICIAL

El problema de velocidad inicial consiste en la resolución conjunta de las ecua-ciones para velocidades y las ecuaciones iniciales para velocidades16:

φvq = bv

φo

vq = bv,o (4.29)

donde, al igual que ocurría con las ecuaciones no holónomas, las ecuacionesiniciales para velocidades deben ser expresiones lineales en las velocidades gene-ralizadas.

En el caso de la implementación propuesta, las derivadas de las ecuaciones in-troducidas por medio de la instrucción new_Cpini no aparecen entre las ecua-ciones que componen el problema de velocidad inicial17, por lo que los problemasde posición y velocidad inicial pueden abordarse de forma independiente.

16El algoritmo propuesto, basado en la descomposición QR , sigue arrojando soluciones válidasaún cuando el sistema 4.29 sea compatible indeterminado.

17Las ecuaciones geométricas iniciales son válidas en un sólo instante de tiempo, por lo que susderivadas no están definidas.

Page 152: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

138 Implementación

Así, la ecuación 4.29, que en forma abreviada se escribe

φi

vq = bi

v , (4.30)

se empleará, junto con 4.22, para fijar el estado del sistema mecánico al iniciode la simulación.

Plantilla de solución para el problema de velocidad inicial

El problema de velocidad inicial se resuelve en la implementación propuestahaciendo uso de la instrucción

[real *new_dq]=solve_initial_velocity(real *prm, *q, ...

real *dq, t, tol)

Argumentos de entrada y salida

todos los argumentos de entrada y salida tienen la misma lectura quela instrucción solve_velocity de la sección anterior.

Internamente, la plantilla solve_initial_velocity hace uso de las fun-ciones Jvini y bvini , cuya exportación se detalla en las siguientes seccio-nes.

Exportación de Jvini

En el plano numérico, el jacobiano de velocidad inicial, φi

v, se evalúa en

cada instante de tiempo haciendo uso de la función exportada a tal efecto:

[real **Jvini]=Jvini(real *prm, *q, *z, t).

Dicha función, en el caso más general adopta la forma:

function [Jvini]=Jvini(prm, q, z, t)

Jv=zeros(g+r+nvi,p);

Jv=Jv(prm, q, z, t);

Jv_t0=Jv_t0(prm, q, z, t);

Jvini=[Jv;Jv_t0];

Page 153: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.3 Cinemática 139

donde

Jv ya se definió en la sección anterior.

Jv_t0 se exporta en forma de función como

[real **Jv_t0]=Jv_t0(real *prm, *q, *z, t).

En el plano simbólico, la matriz de restricciones iniciales se correspondecon la matriz de expresiones simbólicas Jv_t0m , recorrida en el algoritmode exportación.

La matriz anterior se obtiene a partir del vector cviniv ,

Cviniv = [ Cvini(1).eq; ...

Cvini(i).eq; ...

Cvini(nvi).eq ] ,

según

Jv_t0m = jacobian(cviniv, dqv’);

Exportación de bvini

En el plano numérico, el término independiente de velocidad, biv , se evalúa

en cada instante de tiempo haciendo uso de la función exportada a tal efecto:

bvini=bvini(real *prm, *q, *z, *dz, t).

Dicha función, en el caso más general adopta la forma:

function [bvini]=bvini(prm, q, z, dz, t)

bvini=zeros(g+r+nvi,1);

bv=bv(prm, q, z, dz, t);

bv_t0=bv_t0(prm, q, z, dz, t);

bvini=[bv;bv_t0];

Page 154: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

140 Implementación

donde

bv ya se definió en el apartado anterior.

bv_t0 es la contribución de las ecuaciones de velocidad inicial al términoindependiente de velocidad inicial y se evalúa en cada instante de tiempohaciendo uso de la función exportada a tal efecto:

[real *bv_t0]=bv_t0(real *prm, *q, *z, *dz, t).

Dicha función tiene un aspecto muy similar al presentado en la secciónanterior para bCv .

En el plano simbólico, el vector bv_t0 se corresponde con el vector deexpresiones simbólicas bv_t0v , recorrido en el algoritmo de exportación.

El vector anterior se calcula en términos de Cviniv y Jv_t0m según:

bv_t0v = Cviniv - Jv_t0m*dqv

EL PROBLEMA DE ACELERACIÓN

El problema de aceleración se traduce en la resolución del sistema lineal deecuaciones

φv(q, t) q = −ba (q, q, t) (4.31)

donde:

La matriz φv

es la misma que aparece en el problema de velocidad.

ba se define en términos de bap y bav según:

ba =

[bap

bav

],

de tal forma que18

bap =

(∂ φt

∂ q− ˙φ

q

)q +

∂ φt

∂ zz +

∂ φt

∂ zz +

∂ φt

∂ t

bav =

(∂ b

∂ q− ˙A

)q +

∂ b

∂ zz +

∂ b

∂ zz +

∂ b

∂ t(4.32)

Page 155: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.3 Cinemática 141

Haciendo un desarrollo análogo al presentado en la sección dedicada al pro-blema de velocidad, la ecuación 4.33 puede volverse a escribir como

[Rd,d Rd,i

0c−d,d

0c−d,i

] [qd

qi

]= −

[Q]T ( ˙φ

vq + bv

)= −

[b

,d

b ,c−d

].

(4.33)

donde q′ ,

q′ =

[qd

qi

], qd = q′ (1 : d) , qi = q′ (d + 1 : p) ,

denota un reordenamiento de q realizado con el mismo criterio que se aplicaen la sección dedicada al problema de velocidad.

El sistema 4.33 se resuelve para las aceleraciones dependientes, qd , en tér-minos de las independientes, qi , según

qd = −[

Rd,d

]−1(b

,d+ Rd,i qi

), (4.34)

a no ser que b ,c−d

6= 0c−d , en cuyo caso el sistema es incompatible.

Plantilla de solución para el problema de aceleración

El problema de aceleración se resuelve en la implementación propuesta ha-ciendo uso de la instrucción

[real *new_ddq]=solve_acceleration(real *prm, *q, *dq, ...

real *ddq, t, tol)

Argumentos de entrada

prm→ vector de parámetros.q→ vector de coordenadas de partida.dq→ vector de velocidades de partida.dqq→ vector de aceleraciones de partida.t→ variable tiempo.tol→ tolerancia con la que se calcula el rango, d , de la matriz R .

18Si bien los términos anteriores podrían gestionarse de forma conjunta, el tamaño de las expre-siones simbólicas de los términos bap y bav puede dificultar el proceso de exportación.

Page 156: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

142 Implementación

Argumentos de salida

new_ddq → vector de aceleraciones que verifica el sistema anteriorcon tolerancia tol. Las aceleraciones independientes, si existen, seextraen del vector original ddq.

Internamente, la función solve_acceleration evalúa las funcionesJv(prm, q, z, dz, t) y ba(prm, q, z, dz, t), cuyo proceso de exporta-ción se detalla en las siguientes secciones.

Exportación de ba

En el plano numérico, el término independiente de aceleración, en teoría b ,se evalúa en cada instante de tiempo haciendo uso de la función exportada a talefecto:

[real *ba]=ba(real *prm, *q, *dq, *z, *dz, *ddz, t) .

Dicha función, en el caso más general adopta la forma:

function [ba]=ba(prm, q, dq, z, dz, ddz, t)

ba=zeros(g+r,1);

baCp=baCp(prm, q, dq, z, dz, ddz, t);

baCv=baCv(prm, q, dq, z, dz, ddz, t);

ba=[baCp;baCv];

Los términos baCp y baCv , correspondientes con los vectores bap y bav ,se evalúan en cada instante de tiempo haciendo uso de las funciones exportadas atal efecto:

[real *baCp]=baCp(real *prm, *q, *dq, *z, *dz, t) y[real *baCv]=baCv(real *prm, *q, *dq, *z, *dz, t)

Page 157: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.3 Cinemática 143

Así, la primera de las funciones anteriores adopta la forma:

function [baCp]=baCp(prm, q, dq, z, dz, ddz, t)

baCp=zeros(g,1);

JbCpq=JbCpq(prm, q, dq, z, dz, t);

dJp=dJp(prm, q, dq, z, dz, t);

JbCpz=JbCpz(prm, q, dq, z, dz, t);

JbCpdz=JbCpdz(prm, q, dq, z, dz, t);

JbCpt=JbCpt(prm, q, dq, z, dz, t);

baCp = (JbCpq - dJp)*dq + JbCpz*dz + JbCpdz*ddz + JbCpt;

y la segunda:

function [baCp]=baCp(prm, q, dq, z, dz, ddz, t)

baCp=zeros(g,1);

JbCvq=JbCvq(prm, q, dq, z, dz, t);

dAcv=dAcv(prm, q, dq, z, dz, t);

JbCvz=JbCvz(prm, q, dq, z, dz, t);

JbCvdz=JbCvdz(prm, q, dq, z, dz, t);

JbCvt=JbCvt(prm, q, dq, z, dz, t);

baCv = (JbCvq - dAcv)*dq + JbCvz*dz + JbCvdz*ddz + JbCvt;

donde:

JbCpq y JbCvq , correspondientes con las matrices ∂φt

∂q y ∂b∂q , se

evalúan en cada instante de tiempo haciendo uso de las funciones exportadasa tal efecto:

[real **JbCpq]=JbCpq(real *prm, *q, *dq, *z, *dz, t) y[real **JbCvq]=JbCvq(real *prm, *q, *dq, *z, *dz, t)

En el plano simbólico, las matrices JbCpq y JbCvq se corresponden conlas matrices de expresiones simbólicas JbCpqm y JbCvqm , recorridas enel algoritmo de exportación.

Page 158: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

144 Implementación

Las matrices anteriores se construyen a partir de los vectores de expresionessimbólicas bCpv y bCvv según:

JbCpqm = jacobian(bCpv, qv’); yJbCvqm = jacobian(bCvv, qv’);

dJp y dAcv , correspondientes con las matrices ˙φq

y ˙A , se eva-

lúan en cada instante de tiempo haciendo uso de las funciones exportadas atal efecto:

[real **dJp]=dJp(real *prm, *q, *dq, *z, *dz, t) y[real **dAcv]=dAcv(real *prm, *q, *dq, *z, *dz, t)

En el plano simbólico, dJp y dAcv se corresponden con las matricesde expresiones simbólicas dJpm y dAcvm , recorridas en el algoritmo deexportación.

Las matrices anteriores se construyen a partir de las matrices de expresionessimbólicas Jpm y Acvm según:

dJpm = matrix_total_derivative(Jpm); ydAcvm = matrix_total_derivative(ACvm);

donde la instrucción matrix_total_derivative se implementa como:

for i=1:1:p,

dJpm(:,i)=total_derivative(Jpm(:,i));

end

JbCpz y JbCvz , correspondientes con las matrices ∂φt

∂z y ∂ b∂z , se

evalúan en cada instante de tiempo haciendo uso de las funciones exportadasa tal efecto:

[real **JbCpz]=JbCpz(real *prm, *q, *dq, *z, *dz, t) y[real **JbCvz]=JbCvz(real *prm, *q, *dq, *z, *dz, t)

En el plano simbólico, las matrices JbCpz y JbCvz se correspondencon las matrices de expresiones simbólicas JbCpzm y JbCvzm , que serecorren en el algoritmo de exportación.

Page 159: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.3 Cinemática 145

Las matrices anteriores se construyen a partir de los vectores de expresionessimbólicas bCpv y bCvv según:

JbCpzm = jacobian(bCpv, zv’); yJbCvzm = jacobian(bCvv, zv’);

JbCpdz y JbCvdz , correspondientes con las matrices ∂φt

∂ zy ∂ b

∂ z, se

evalúan en cada instante de tiempo haciendo uso de las funciones exportadasa tal efecto:

[real **JbCpdz]=JbCpdz(real *prm, *q, *dq, *z, *dz, t) y[real **JbCvdz]=JbCvdz(real *prm, *q, *dq, *z, *dz, t)

En el plano simbólico, las matrices anteriores se corresponden con las ma-trices de expresiones simbólicas JbCpdzm y JbCvdzm , recorridas en elalgoritmo de exportación.

Las matrices anteriores se construyen a partir de los vectores de expresionessimbólicas bCpv y bCvv según:

JbCpdzm = jacobian(bCpv, dzv’); yJbCvdzm = jacobian(bCvv, dzv’);

JbCpt y JbCvt , correspondientes con los vectores ∂φt

∂ ty ∂b

∂ t, se

evalúan en cada instante de tiempo haciendo uso de las funciones exportadasa tal efecto:

[real *JbCpt]=JbCpt(prm, q, dq, z, dz, t) y[real *JbCvt]=JbCvt(prm, q, dq, z, dz, t)

En el plano simbólico, los vectores anteriores se corresponden con los vec-tores de expresiones simbólicas JbCptv y JbCvtv , recorridos en el al-goritmo de exportación.

Los vectores anteriores se construyen a partir de los vectores de expresionessimbólicas bCpv y bCvv según:

JbCptv = diff(bCpv, t); y JbCvtv = diff(bCv, t);

Page 160: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

146 Implementación

LA SIMULACIÓN CINEMÁTICA

Como se ha visto, el problema cinemático queda representado por las ecua-ciones:

φ (qi, ti) = 0

φv

(qi, ti) qi = b (qi, ti)

φv

(qi, ti) qi = b (qi, qi, ti) (4.35)

Ecuaciones que pueden no ser suficientes para determinar los valores de q, qy q de forma unívoca.

Para llevar a cabo la simulación cinemática es necesario que el sistema seadeterminado para las incógnitas de movimiento.

La forma más natural de abordar el problema anterior es proponer funcionesdel tiempo para aquellas coordenadas que el usuario considere independientes

qik − zk ( t ) = 0 , k = 1 . . . n (4.36)

donde n representa el número de velocidades independientes o grados de li-bertad del sistema.

En el caso de que el número de coordenadas independientes, p − g , seasuperior al de grados de libertad del sistema, n , para progresar en el tiempo, lasimulación deberá apoyarse en la solución propuesta por un integrador del tipo:

qi+1 = f (qi, qi, qi, δt)

Plantilla de simulación cinemática

La plantilla de segundo nivel kinematic_simulation_num resuelve la si-mulación cinemática empleando como integrador un Runge Kutta explícito decuatro pasos. Si el juego de ecuaciones propuesto no es suficiente para determinartodas las velocidades, la simulación cinemática respetará los valores iniciales delas velocidades y aceleraciones que el algoritmo QR establezca como indepen-dientes19.

19en este caso, la simulación será estable mientras el algoritmo QR no modifique el grupoinicial de velocidades independientes.

Page 161: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.4 Dinámica 147

4.4. Dinámica

En este apartado, y a modo de subsecciones, se presentarán los diferentes ni-veles de abstracción involucrados en el planteamiento simbólico de la dinámicade cualquier sistema mecánico.

Las secciones 4.4.1 y 4.4.2 se centran en la descripción de los tipos de dato,estructuras y operadores básicos que aparecen en la Dinámica Analítica, es decir:

• Incógnitas de Enlace.• Multiplicadores de Lagrange.• Funciones de excitación.• Ecuaciones para Redundancias en las Condiciones de Enlace.

La sección 4.4.3 describe las estructuras y operadores básicos que constituyenel Interfaz Dinámico Cartesiano y que permiten plantear el problema dinámico enel lenguaje de la mecánica vectorial, es decir:

• Tensores de Inercia.• Sólidos.• Torsores de Inercia, de Enlace y asociados a otras acciones.• Operador Traslación de un Torsor.• Pares Cinemáticos.

El interfaz dinámico cartesiano, junto con los tipos de dato y operadores de ladinámica analítica, constituyen el denominado Sistema Simbólico de Bajo Nivelpara el planteamiento simbólico de la dinámica.

En este caso, las ecuaciones dinámicas se obtienen como resultado de la apli-cación de un determinado formalismo20 y se exportan como un conjunto de fun-ciones que serán evaluadas numéricamente al llevar a cabo la simulación dinámi-ca.

Los algoritmos de exportación de los diferentes formalismos dinámicos asícomo la descripción de los diferentes problemas dinámicos de la DSM serán tra-tados en la sección 4.4.4.

4.4.1. Dinámica Analítica

PARÁMETROS

El planteamiento del problema dinámico requiere definir una serie de paráme-tros además de los que ya aparecieron al discutir el problema cinemático. Podríandiferenciarse conceptualmente, pero matemáticamente juegan el mismo papel, por

20Lagrange, Newton-Euler, ...

Page 162: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

148 Implementación

lo que los parámetros dinámicos se almacenan junto con los geométricos en la es-tructura params , definida en la sección 4.3.1.

INCÓGNITAS DE ENLACE

Las incógnitas de enlace (sección 3.3.1) son aquellas incógnitas dinámicasinvolucradas en la definición de torsores de enlace.

Estructuras de datos

Las incógnitas de enlace, ε, serán almacenados en la estructura trscs , cuyoelemento i-ésimo contiene los campos:

integer trscs(i).id→ identificador numérico de la estructura trscs.string trscs(i).name→ identificador de la variable .sym trscs(i).var→ incógnita de enlace simbólica.

La variable global auto_trsc se reserva como contador de la estructuratrscs.

Funciones de interfaz de usuario

Una incógnita de enlace se introduce en la estructura trscs haciendo usode la instrucción:

[sym trsc_i]=new_trsc(string name),

Argumentos de entrada

name→ identificador de la variable.

Argumentos de salida

trsc_i→ variable simbólica.

Exportación

En el plano numérico, el vector de incógnitas de enlace, ε , se inicializa ha-ciendo uso de la función exportada a tal efecto:

[real *epsln]=epsln_init()

El argumento de salida, que en principio puede tomar cualquier nombre, repre-senta el valor inicial del vector de incógnitas de enlace en el problema dinámicode Newton-Euler.

Page 163: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.4 Dinámica 149

La función epsln_init() , en la sintaxis propia de MATLAB adopta laforma:

function [epsln]=epsln_init()

epsln=zeros(n,1);

epsln(1)=0;

...........

epsln(i)=0;

...........

epsln(n)=0;

En el plano simbólico, el vector ε se corresponde con el array de variablessimbólicas epslnv , que será recorrido en el algoritmo de exportación.

El vector anterior se obtiene a partir de la estructura trscs según:

epslnv = [ trscs(1).var; ...

trscs(i).var; ...

trscs(n).var ]

En el resto de funciones exportadas, cualquier referencia a la variable simbó-lica epslnv(i) se escribe textualmente epsln(i).

MULTIPLICADORES DE LAGRANGE

Tal como se explica en la sección 3.4.2, la fuerza generalizada de enlace, FF εq ,

se puede expresar en términos de las restricciones cinemáticas y los multiplicado-res de Lagrange según

FF εq = φ

T

donde λj , j = 1 . . . c es la incógnita del problema dinámico de Lagran-ge que representa la fuerza generalizada en la dirección del enlace impuesto porla ecuación φj , j = 1 . . . c.

De la misma forma que se disponen las dos estructuras de datos Cps yCvs , el vector anterior puede dividirse conceptualmente según

λ =

[λp

λv

]

Page 164: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

150 Implementación

donde λp es el conjunto de multiplicadores asociado a las ecuaciones geo-métricas mientras que λv es el asociado a las ecuaciones no holónomas.

Estructuras de datos

Los multiplicadores de Lagrange λp y λv se almacenan en las estructuraslmbps y lmbvs . Dado que ambas estructuras poseen los mismos campos,

únicamente se presenta la estructura lmbps , cuyo elemento i-ésimo contienelos campos:

integer lmbps(i).id→ identificador numérico de la estructura lmbps.string lmbps(i).name→ identificador de la variable .sym lmbps(i).var→ multiplicador de Lagrange simbólico.

Las variables globales auto_lmbps y auto_lmbvs se reservan como con-tadores de la estructuras lmbps y lmbvs respectivamente.

Funciones de interfaz de usuario

Las estructuras lmbps y lmbvs se actualizan de forma automática al in-troducir ecuaciones geométricas y no holónomas respectivamente.

El nombre del multiplicador se genera posponiendo la etiqueta _lmb al nom-bre subministrado por el usuario para la ecuación, ya sea ésta geométrica o noholónoma.

Exportación

En el plano numérico, los vectores de multiplicadores λp y λ se inicializanhaciendo uso de las funciones exportadas a tal efecto:

[real *lmbp]=lmbp_init()→ equilibrio estático (sección 4.4.4).[real *lmbd]=lmb_init()→ problema dinámico de Lagrange.

Los argumentos de salida, que en principio pueden tomar cualquier nombre,representan los valores iniciales de los multiplicadores de Lagrange asociados alas ecuaciones geométricas y cinemáticas respectivamente.

Las funciones anteriores adoptan una forma muy similar a la presentada en lasección anterior para la función epsln_init() .

En el plano simbólico, los vectores λp y λ se corresponden con los arraysde variables simbólicas lmbpv y lmbdv , los cuales se recorren en el procesode exportación.

Page 165: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.4 Dinámica 151

Los vectores anteriores se obtienen a partir de las estructuras lmbps ylmbvs según:

lmbpv = [ lmbps(1).var; lmbvv = [ lmbvs(1).var;

lmbps(i).var; lmbvs(i).var;

lmbps(np).var ] lmbvs(nv).var ]

lmbdv = [ lmbpv;

lmbvv ]

FUNCIONES DE EXCITACIÓN

En ocasiones, el planteamiento del problema dinámico requiere caracterizar:

• Acciones exteriores dependientes del tiempo.• Leyes constitutivas dependientes del estado.• Esfuerzos realizados por determinados actuadores.

Con el objeto de facilitar al usuario la definición de acciones del tipo anterior,el interfaz simbólico se completa con la estructura de funciones de excitación.

Las funciones de excitación se expresan, en el caso más general, como

u (q, q, t) (4.37)

donde

u =[

u1 (q, q, t) . . . ui (q, q, t) . . . unu (q, q, t)]T

(4.38)

es un vector compuesto por funciones dependientes de las coordenadas gene-ralizadas, de las velocidades generalizadas y del tiempo.

El vector u aparece en el plano numérico como un simple array cuyo valor esasignado haciendo uso de la función u=ues(prm, q, dq, t) , exportada desdeel interfaz simbólico a tal efecto.

Al igual que ocurría en cinemática con las funciones z(t) y sus derivadas, laencapsulación de las funciones anteriores permite plantear diferentes simulacio-nes dinámicas modificando el contenido del fichero ues.m .

El tratamiento independiente de las funciones de excitación permite asimismola integración del código exportado en otros entornos de simulación orientados alcontrol de sistemas dinámicos como SIMULINK .

Page 166: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

152 Implementación

Estructuras de datos

Las funciones del tiempo se recogen en la estructura us , cuyo elementoi-ésimo contiene los campos:

integer us(i).id→ identificador de la estructura us.string us(i).name→ identificador de la variable .sym us(i).expr→ expresión simbólica.

La variable global auto_us se reserva como contador de la estructura us .

Funciones de interfaz de usuario

Una función de excitación se introduce en la estructura ues mediante lainstrucción:

[sym u_i]=new_u(string name, sym exp)

Argumentos de entrada

name → identificador de la variable simbólica en el listado principaldel programa.exp → expresión simbólica.

Argumentos de salida

u_i → sustitución para la expresión simbólica exp.

El argumento de salida u_i permite al usuario emplear la variable genera-da en cualquier expresión simbólica que aparezca en el fichero de definición delmecanismo.

Exportación

En el plano numérico, el vector de funciones del tiempo u (t) se evalúa encada instante de tiempo haciendo uso de la función exportada a tal efecto:

[real *u]=ues(real *prm, real *q, real *dq, real t) ,

El argumento de salida, que en principio puede tomar cualquier nombre, re-presenta el valor instantáneo del vector de funciones de excitación dependientesdel tiempo.

Page 167: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.4 Dinámica 153

La función ues(prm, q, dq, t) presenta la forma:

function [u]=ues(prm, q, dq, t)

u=zeros(nu,1);

u(1)=u1;

.......

u(i)=ui;

.......

u(n)=un;

function u1=u1_fun(prm, q, dq, t)

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

function ui=ui_fun(prm, q, dq, t)

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

function un=un_fun(prm, q, dq, t)

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

En el plano simbólico, el vector u (q, q, t) se corresponde con el array devariables simbólicas uv , el cual se recorre en el proceso de exportación.

El vector uv se obtiene a partir de la estructura us según:

uv = [ us(1).expr; ...

us(i).expr; ...

us(nu).expr ]

4.4.2. Ecuaciones Dinámicas

En el caso de la implementación propuesta, las ecuaciones dinámicas siemprese obtienen como resultado de aplicar un determinado formalismo a la informa-ción contenida en los torsores de inercia, de enlace y de otras acciones.

Consecuentemente, el usuario dispone de funciones de interfaz para rellenarlas diferentes estructuras de torsores, pero no para introducir ecuaciones dinámi-cas, ya que el planteamiento de las mismas se supone competencia del preproce-sador simbólico.

Si existen redundancias en las condiciones de enlace, el sistema de ecuacionesplanteado por el preprocesador simbólico resulta insuficiente para determinar deforma precisa el valor de las incógnitas dinámicas. En este caso, el usuario necesitauna herramienta para completar el sistema de ecuaciones de forma manual, lo cual

Page 168: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

154 Implementación

justifica la presencia de la estructura de ecuaciones dinámicas presentada en lasiguiente sección.

ECUACIONES PARA REDUNDANCIAS EN LAS CONDICIONES DE ENLACE

Tal como se describe en la sección 3.3.1, las incógnitas de enlace aparecencomo incógnitas del problema dinámico. Si existen redundancias en las condicio-nes de enlace, el sistema de ecuaciones dinámicas presenta indeterminaciones enaquellas incógnitas de enlace que impiden movimientos de forma redundante.

Si las redundancias son de origen matemático, es decir, asociadas a la carac-terización genérica de torsores de enlace, la indeterminación en las incógnitas deenlace puede se resuelve con ayuda de la información almacenada en la estructurajoints .

Por otra parte, si las redundancias son de origen físico, la única forma de re-solver la indeterminación asociada a dichas redundancias es introducir ecuacionesdinámicas adicionales del tipo:

ri (q, ε, u, t) = 0 , i = 1 . . . nr

donde la dependencia de u (q, q, t) permite mayor flexibilidad a la hora deplantear ecuaciones del tipo anterior.

Las ecuaciones dinámicas para la eliminación de redundancias de origen físicose integran en el conjunto de ecuaciones matriciales de Newton-Euler como

Rε ε = br

donde

• Rε representa la matriz de redundancias, obtenida a partir del vector deecuaciones r como

Rε = Rε (q) =∂ r

∂ ε

• br representa el término independiente, obtenido a partir del vector de ecua-ciones r como

br = br (q, u, t) = −r (q, ε = 0, u, t) .

Page 169: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.4 Dinámica 155

Estructuras de datos

Las ecuaciones para la eliminación de redundancias de origen físico se alma-cenan en la estructura DynEqs , cuyo elemento i-ésimo contiene los campos:

integer DynEqs(i).id→ identificador de la estructura DynEqs .string DynEqs(i).name→ identificador de la ecuación.sym expr. DynEqs(i).eq→ expresión simbólica lineal en las incógnitasde enlace.

La variable global auto_DynEq se reserva como contador de la estructuraDynEqs .

Funciones de Interfaz de usuario

Una ecuación para la eliminación de redundancias se introduce en la estructuraDynEqs haciendo uso de la instrucción:

new_dynamic_equation(string name, sym expr. sym_eq)

Argumentos de entrada

name→ identificador de la ecuación.sym_eq→ ecuación dinámica.

Argumentos de salida

Ninguno.

Exportación de Re

En el plano numérico, la matriz de redundancias de origen físico se evalúahaciendo uso de la función exportada a tal efecto:

[real **Re]=Re(real *prm, *q)

En el plano simbólico, la matriz de redundancias, Rε , se corresponde con lamatriz de expresiones simbólicas Re , recorrida en el algoritmo de exportación.

La matriz anterior se obtiene a partir del vector rv ,

rv = [ DynEqs(1).eq; ...

DynEqs(i).eq; ...

DynEqs(n).eq] ,

según

Re = jacobian(rv, epslnv’)

Page 170: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

156 Implementación

Exportación de bRe

En el plano numérico, el término independiente correspondiente a las ecuacio-nes de eliminación de redundancias se evalúa haciendo uso de la función exporta-da a tal efecto:

[real *bRe]=bRe(real *prm, *q, *u, t)

En el plano simbólico, el término independiente br se corresponde con el arrayde expresiones simbólicas bRe , el cual se recorre en el algoritmo de exportación.

El vector anterior se obtiene a partir del vector rv según

bRe = subs(rv, epslnv, zeros)

4.4.3. Interfaz Dinámico Cartesiano

En los siguientes apartados, se presentarán las estructuras de Tensores, Sólidosy Torsores. Dichas estructuras, junto con la de Pares Cinemáticos, son las queconstituyen el denominado interfaz dinámico cartesiano.

TENSORES DE INERCIA

El tensor de inercia del sólido Solk en el centro de gravedad, Bk , se expresa

[II

k(Solk)

]bi

=

Solk

−[

GkPk

]bi

[

GkPk

]bi

dm (4.39)

donde el operador denota la aplicación lineal asociada al producto vectorial,

[v]bi

[ω]bi

=[v]bi∧[ω]bi.

Si el punto de definición del tensor, Bk , no coincide con el punto del sólidodonde habitualmente se plantean las ecuaciones dinámicas, Gk , el tensor puedetrasladarse haciendo uso del teorema de Steiner:

[II

k(Solk)

]bi

=[II

k(Solk)

]bi− mSolk

[

GkBk

]bi

[

GkBk

]bi

. (4.40)

Al igual que ocurría en cinemática con los vectores cartesianos, el usuario delinterfaz simbólico debe ser consciente de la base de proyección asociada al tensorcuando éste realiza operaciones vectoriales. Además, las componentes del tensor

Page 171: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.4 Dinámica 157

de inercia[II

k(Solk)

]bi

, pueden expresarse en otra base bj según:

[II

k(Solk)

]bj

=

([I]bi

bj

)T [II

k(Solk)

]bi

[I]bi

bj

(4.41)

Estructuras de datos

Los tensores de inercia, II k(Solk) , se almacenan en la estructura

tensors , cuyo elemento i-ésimo contiene los campos:

integer tensors(i).id→ identificador de la estructura tensors.string tensors(i).name→ identificador del tensor.pt pointer tensors(i).pt_ptr→ punto de definición del tensor.or pointer tensors(i).or_ptr→ base en la que éste se proyecta.sym 3x3 matrix tensors(i).coef_matrix→ tensor en sí mismo.

La variable entera auto_tensors se reserva como contador de la estructuratensors .

Funciones de Interfaz de usuario

Un tensor de inercia se introduce en la estructura tensors haciendo uso dela instrucción:

new_tensor(string name, string punto,...

string base, 3x3 sym matrix tensor)

Argumentos de entrada

name→ identificador del tensor.punto→ punto de definición del tensor.base→ base en la que se expresan las componentes de dicho tensor.tensor→ matriz simbólica de dimensión (3, 3) .

Argumentos de salida

Ninguno.

SÓLIDOS

Teniendo en cuenta el papel que juega el concepto de sólido rígido en el plan-teamiento de las ecuaciones dinámicas, un sólido como el mostrado en la figura4.8 queda definido en términos de:

• Una referencia cartesiana, R ≡ Ok , bk , solidaria al sólido.• El centro de gravedad, Gk , como punto cinemáticamente perteneciente21

a la referencia R .

Page 172: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

158 Implementación

• La masa del sólido, mSolk .• El tensor de inercia, II

k(Solk) , definido en cualquier punto,Bk , cinemá-

ticamente perteneciente a la referencia R .

R

Abs

OAbs

Gk

Solk

Bk

mSolk , II k(Solk)

Ok

Figura 4.8: Elementos que componen la definición del sólido Solk.

Estructuras de datos

Los sólidos, Solk , se almacenan en la estructura bodies , cuyo elementoi-ésimo contiene los campos:

integer bodies(i).id→ identificador de la estructura bodies.string bodies(i).name→ identificador del sólido.ref pointer bodies(i).ref_ptr→ puntero a referencia.pt pointer bodies(i).gc_ptr→ centro de gravedad del sólido.sym bodies(i).mass_svar→ masa del sólido.tnsr pointer bodies(i).tensor_ptr→ tensor de inercia.

Funciones de Interfaz de usuario

En el caso de la implementación propuesta, un sólido se introduce en la es-tructura bodies haciendo uso de la instrucción

new_body(string name, string ref_name,...

[string Gk, sym mass, [string tensor]])

21El punto Bk recibe dicha denominación cuando la velocidad relativa de dicho punto en lareferencia R es nula.

Page 173: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.4 Dinámica 159

Argumentos de entrada

name→ identificador del sólido .ref_name→ referencia, R , adscrita al sólido.Gk→ centro de gravedad del sólido.mass→ masa del sólido, como parámetro simbólico.tensor→ tensor de inercia del sólido.

Argumentos de salida

Ninguno.

Tal como se aprecia en la definición de la función, las propiedades inercialesdel sólido son opcionales. Si el usuario las introduce, el procesador simbólicocalculará de forma automática el torsor de inercia asociado al nuevo sólido duranteel proceso de exportación. En caso contrario, el usuario deberá introducir el torsorcorrespondiente haciendo uso de la instrucción new_itrss.

Evidentemente, si no existen propiedades inerciales ni torsores de inercia aso-ciados a un sólido, dicho sólido representa lo que algunos autores denominansólido auxiliar de enlace. En tal caso, el punto elegido por defecto para plantearlas ecuaciones dinámicas del sólido es el origen de la referencia ref_name.

TORSORES

Tal como se explica en la sección 3.30, el efecto de cualquier acción sobrecualquier sólido queda reflejado en las ecuaciones dinámicas a través del corres-pondiente torsor.

La información requerida en la definición de un torsor puede expresarse deforma genérica como:

bd pointer torsor.bd_ptr→ sólido sobre el que actúa.pt pointer torsor.pt_ptr→ punto en el cual está definido.sym 3-tuple torsor.fvect→ fuerza en el punto de definición.or pointer torsor.f_or_ptr→ base de proyección, 3-tupla anterior.sym 3-tuple torsor.fvect→ momento en el punto de definición.or pointer torsor.f_or_ptr→ base de proyección, 3-tupla anterior.

Sin embargo, por coherencia con lo presentado en el apartado teórico, existentres estructuras de datos que se emplearán para almacenar los torsores de inercia,de enlace y asociados a otras acciones respectivamente.

Las estructuras anteriores serán recorridas en el proceso de exportación conel fín de calcular las matrices simbólicas que conforman el problema dinámico

Page 174: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

160 Implementación

aplicando los algoritmos simbólicos de las ecuaciones 3.108, 3.91, 3.114, 3.110 y3.113 respectivamente.

Las estructuras de torsores que se presentan a continuación, junto con la depares cinemáticos y la de ecuaciones dinámicas de enlace, dan soporte al plantea-miento de las ecuaciones dinámicas de Lagrange y Newton-Euler.

TORSORES DE INERCIA

El torsor de inercia de D’ Alembert sobre el sólido Solk,[F (Solk), M

k(Solk)

]T,

determina la contribución de dicha acción de inercia a las ecuaciones dinámicas.

Estructuras de datos

Los torsores de inercia se almacenan en la estructura itrss , cuyo elementoi-ésimo contiene los campos:

integer itrss(i).id→ identificador de la estructura itrss.string itrss(i).name→ identificador del torsor de inercia.bd pointer itrss(i).bd_ptr→ sólido sobre el que recae el torsor.pt pointer itrss(i).pt_ptr→ punto de definición.sym 3-tuple itrss(i).fvect→ fuerza en el punto de definición.or pointer itrss(i).f_or_ptr→ base de proyección, 3-tupla anterior.sym 3-tuple itrss(i).hvect→ momento en el punto de definición.or pointer itrss(i).h_or_ptr→ base de proyección, 3-tupla anterior.

La variable entera auto_itrss se reserva como contador de la estructuraitrss .

Funciones de Interfaz de usuario

Un torsor de inercia se introduce en la estructura itrss haciendo uso de lainstrucción:

new_itrs(string name, string body_name, string pt_name, ...

sym 3-tuple fvect, string fvect_base, ...

sym 3-tuple hvect, string hvect_base)

Argumentos de entrada

name→ identificador del torsor de inercia .body_name→ sólido sobre el que recae el torsor de inercia.pt_name→ punto de definición del torsor de inercia.

Page 175: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.4 Dinámica 161

fvect→ fuerza de inercia.fvect_base→ base en la que se expresa la 3-tupla anterior.hvect→ momento de inercia respecto al punto pt_name.hvect_base→ base en la que se expresa la 3-tupla anterior.

Argumentos de salida

Ninguno.

Exportación

El algoritmo de exportación divide el contenido del torsor de inercia en dospartes diferentes:

• Una parte lineal en las aceleraciones generalizadas, que se exportará comomatriz de masa.

• Una parte cuadrática en las velocidades generalizadas, que se exportará co-mo vector de cargas.

La forma que adoptan las contribuciones anteriores depende del formalismoempleado en el planteamiento de las ecuaciones dinámicas y se presentará en lasección dedicada a los diferentes problemas dinámicos, 4.4.4.

TORSORES DE ENLACE

El torsor asociado a la j-ésima acción de enlace sobre el sólido Solk,[F

Aεj(Solk)

k

, MAε

j(Solk)

k

]T,

determina la contribución de dicha acción de enlace a las ecuaciones dinámicas.

Estructuras de datos

Un torsor de enlace se almacenan en la estructura etrss , cuyo elementoi-ésimo contiene los campos:

integer etrss(i).id→ identificador de la estructura etrss.string etrss(i).name→ identificador del torsor de enlace.bd pointer etrss(i).bd_ptr→ sólido sobre el que recae el torsor.pt pointer etrss(i).pt_ptr→ punto de definición.sym 3-tuple etrss(i).fvect→ fuerza en el punto de definición.or pointer etrss(i).f_or_ptr→ base de proyección, 3-tupla anterior.sym 3-tuple etrss(i).hvect→ momento en el punto de definición.or pointer etrss(i).h_or_ptr→ base de proyección, 3-tupla anterior.

La variable entera auto_etrss se reserva como contador de la estructuraetrss .

Page 176: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

162 Implementación

Funciones de Interfaz de usuario

Un torsor de enlace se introduce en la estructura etrss haciendo uso de lainstrucción:

new_etrs(string name, string body_name, string pt_name, ...

sym 3-tuple fvect, string fvect_base, ...

sym 3-tuple hvect, string hvect_base)

Argumentos de entrada

name→ identificador del torsor de enlace .body_name→ sólido sobre el que recae la acción de enlace.pt_name→ punto del sólido body_name sobre el que recae la acciónde enlace.fvect→ fuerza de enlace.fvect_base→ base en la que se expresa el vector anterior.hvect→ momento de la acción de enlace respecto al punto pt_name.hvect_base→ base en la que se expresa el vector anterior.

Argumentos de salida

Ninguno.

Exportación

El algoritmo de exportación recorre la estructura de torsores de enlace en elcaso de que las ecuaciones dinámicas sean planteadas empleando el formalismode Newton-Euler.

Tal como se describe en la sección 3.6.2, la contribución a las ecuacionesdinámicas de los torsores de enlace es una expresión lineal en las incógnitas deenlace cuyo proceso de exportación se detalla en la sección dedicada al problemade Newton-Euler, 4.4.4.

TORSORES CONSTITUTIVOS

El torsor asociado a la j-ésima acción constitutiva sobre el sólido Solk,[F

Anej (Solk)

k

, MAne

j (Solk)

k

]T,

determina la contribución a las ecuaciones dinámicas de dicha acción constitutiva.

Page 177: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.4 Dinámica 163

Estructuras de datos

Los torsores constitutivos y de otros tipos se almacenan en la estructuractrss , cuyo elemento i-ésimo contiene los campos:

integer ctrss(i).id→ identificador de la estructura ctrss.string ctrss(i).name→ identificador del torsor de inercia.bd pointer ctrss(i).bd_ptr→ sólido sobre el que recae el torsor.pt pointer ctrss(i).pt_ptr→ punto de definición.sym 3-tuple ctrss(i).fvect→ fuerza en el punto de definición.or pointer ctrss(i).f_or_ptr→ base de proyección, 3-tupla anterior.sym 3-tuple ctrss(i).hvect→ momento en el punto de definición.or pointer ctrss(i).h_or_ptr→ base de proyección, 3-tupla anterior.

La variable entera auto_ctrss , se reserva como contador de la estructuractrss .

Funciones de Interfaz de usuario

Un torsor constitutivo o de otro tipo se introduce en la estructura ctrss ha-ciendo uso de la instrucción:

new_ctrs(string name, string body_name, string pt_name, ...

sym 3-tuple fvect, string fvect_basename, ...

sym 3-tuple hvect, string hvect_base)

Argumentos de entrada

name→ identificador del torsor constitutivo .body_name→ sólido sobre el que recae la acción constitutiva.pt_name→ punto del sólido body_name sobre el que recae la acciónconstitutiva.fvect→ fuerza constitutiva.fvect_base→ base en la que se expresa el vector anterior.hvect → momento de la acción constitutiva respecto al puntopt_name.hvect_base→ base en la que se expresa el vector anterior.

Argumentos de salida

Ninguno.

Page 178: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

164 Implementación

Exportación

El algoritmo de exportación recorre la estructura de torsores constitutivos encualquiera de las formulaciones empleadas en el planteamiento de las ecuacionesdinámicas.

Al igual que ocurría en el caso de los torsores de inercia, la forma que adoptala contribución de los torsores constitutivos al conjunto de ecuaciones dinámicasdepende del formalismo empleado y y se presentará en la sección dedicada a losdiferentes problemas dinámicos, 4.4.4.

PARES CINEMÁTICOS

La existencia de un par cinemático entre cualquier par de sólidos del sistemaimplica, en el caso más general, la existencia de:

• Relaciones entre coordenadas y/o velocidades generalizadas. Como es ob-vio, las relaciones anteriores no aparecen para casos en los que el enlace esrespetado por la acotación de partida.

• Torsores de acción y reacción actuantes sobre los sólidos a los que afecta elcitado par cinemático.

Existen dos formas de caracterizar un torsor de enlace:

• En base a un mínimo número de incógnitas de enlace, introduciendo tantasincógnitas de enlace como grados de libertad queden anulados por el parcinemático en cuestión.

• De forma genérica, introduciendo 6 incógnitas de enlace por cada par cine-mático.

En el primer caso, la solución para las incógnitas de enlace se obtiene juntocon el resto de incógnitas dinámicas al aplicar el formalismo de Newton-Euler.

En el segundo caso, la indeterminación en las incógnitas de enlace se resuelveintroduciendo las ecuaciones dinámicas de enlace. El planteamiento automáticode dichas ecuaciones requiere información acerca de la conectividad entre sólidos,lo cual justifica la presencia de la estructura joints.

Estructuras de datos

La estructura que recoge las características de un enlace entre dos sólidos cua-lesquiera se denomina joints .

Page 179: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.4 Dinámica 165

El elemento i-ésimo de la estructura anterior contiene los campos:

integer joints(i).id→ identificador de la estructura de datos joints.string joints(i).name→ identificador del enlace .cp pointer array joints(i).p_ptr→ ecuaciones geométricas asocia-das al enlace.cv pointer array joints(i).v_ptr → ecuaciones no holólomas aso-ciadas al enlace.etrs pointer joints(i).tr_prt_1→ torsor 1 de la acción del enlace.etrs pointer joints(i).tr_prt_2→ torsor 2 de la acción del enlace.bool joints(i).ismin→ 1 si el torsor de enlace se caracteriza en base aun mínimo número de incógnitas de enlace.

La variable global auto_joints se reserva como contador de la estructurajoints .

Funciones de Interfaz de usuario

Un par cinemático entre cualquier par de sólidos del sistema se introduce enla estructura joints haciendo uso de la instrucción:

new_joint(string name, string tr_name_1, string tr_name_2, ...

cp pointer array p_pointer, ...

cv pointer array v_pointer, [bool ismin])

Argumentos de entrada

name → identificador del par cinemático en el listado principal delprograma.tr_name_1→ torsor de acción.tr_name_2→ torsor de reacción.p_pointer→ lista22 de ecuaciones geométricas asociadas al enlace.v_pointer→ lista de ecuaciones no holónomas asociadas al enlace.ismin → 1 si el torsor de enlace se caracteriza en base a un mínimonúmero de incógnitas de enlace.

22subministrada en cualquiera de las formas:• p_pointer = [ n_1; ... n_i; ... n_n ], donde n_i representa la posición de la i-

ésima ecuación en la estructura de ecuaciones geométricas.• p_pointer = label_1;...label_i;...label_n , donde label_i representa el

nombre que el usuario empleó para definir i-ésima ecuación geométrica.Si el enlace no tiene asociada ninguna ecuación, p_pointer=0 .

Page 180: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

166 Implementación

Exportación

La estructura de pares cinemáticos entre sólidos se recorre en el caso de que elusuario decida caracterizar de forma genérica alguno de los enlaces presentes enel sistema. En tal caso, la estructura joints contiene la información necesariapara plantear las ecuaciones que resuelven la indeterminación en las incógnitas deenlace introducidas.

4.4.4. Problemas dinámicos

EL PROBLEMA DINÁMICO GENERAL

Atendiendo a la naturaleza de las incógnitas dinámicas, los problemas diná-micos pueden clasificarse en: Directos, Inversos y Combinación de Ambos (comocaso más general).

El problema dinámico directo

El problema dinámico directo consiste en determinar la evolución de un siste-ma mecánico, una vez caracterizadas las acciones actuantes sobre dicho sistema.

Las ecuaciones de movimiento correspondientes a un problema dinámico di-recto presentan las siguientes características:

• Las ecuaciones cinemáticas son de la forma

φ (q) = 0 ,[φ

v(q)

]q = 0

v(q)

]q = −

[˙φv(q, q)

]q

(4.42)

y determinan un número ni = p − c > 0 de velocidades independientes.

• Los esfuerzos de los actuadores son conocidos en todo instante de tiempo.

En el caso del problema dinámico directo, el algoritmo de simulación, cuyoesquema se representa en la figura 4.9, resuelve:

• Las aceleraciones generalizadas, q.• Las incógnitas de enlace, ε.• El estado del sistema, x =

[q, q

]T, en el siguiente instante de tiempo.

Nótese que, el cálculo de las incógnitas de movimiento en el siguiente instantede tiempo requiere hacer uso de un integrador del tipo:

qi+1 = f (qi, qi, qi, δt)

Page 181: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.4 Dinámica 167

Solver de posicióny velocidad iniciales

EcuacionesCinemáticas

EcuacionesDinámicas

φ , φv

bv , ba

M , VRε

, Q

Postprocesoε , q

Integrador

t = t + δt

q0, q

0

q , q

t = t0

Figura 4.9: Simulación dinámica directa

El problema dinámico inverso

El problema dinámico inverso consiste en determinar el esfuerzo necesariosobre los actuadores de un sistema mecánico para que dicho sistema realice unmovimiento deseado.

Las ecuaciones de movimiento correspondientes a un problema dinámico in-verso presentan las siguientes características:

• Las ecuaciones cinemáticas son de la forma

φ (q, z, t) = 0 ,[φ

v(q, z, t)

]q = bv (q, z, z, t)

v(q, z, t)

]q = ba (q, q, z, z, z, t)

(4.43)

y resuelven el problema de simulación presentado en la sección 4.3.5.

• Los esfuerzos de los actuadores son incógnitas del problema dinámico.

En el caso del problema dinámico inverso, el algoritmo de simulación, cuyoesquema se representa en la figura 4.10, resuelve:

• Los valores de q , q y q que verifican 4.43.• El vector de incógnitas de enlace, ε.• Los esfuerzos de los actuadores23, como un subgrupo, εu , del vector de

incógnitas de enlace, ε.

23Desde el punto de vista dinámico, cualquier movimiento impuesto lleva asociado un torsor de

Page 182: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

168 Implementación

Solver de posicióny velocidad iniciales

EcuacionesDinámicas

M , VRε

, QPostproceso

SolverCinemático

t = t0

q0, q

0ε , εu

φ , φv

bv , ba

t = t + δt

q , q , q

Figura 4.10: Simulación dinámica inversa

El Problema Dinámico General

En el caso más general, las ecuaciones de movimiento del sistema no tienenpor qué encajar en ninguno de los esquemas anteriores, es decir, se plantean ecua-ciones de tipo rehónomo, pero sin ser suficientes para llevar a cabo una simulacióncinemática.

Dado que las ecuaciones de movimiento correspondientes a un problema gene-ral presentan características compatibles con las del problema dinámico directo, elesquema de integración presentado en la figura 4.9 puede emplearse para resolverproblemas dinámicos generales (incluidos los dinámicos inversos).

EL PROBLEMA DINÁMICO SEGÚN NEWTON-EULER

Tal como se describe en la sección 3.6.2, el formalismo de Newton-Euler re-sulta en un sistema de 6M ecuaciones que en forma matricial se escribe

[Mzq Vzq

] [q

ε

]= Qz

El preprocesador simbólico, empleando los algoritmos que se exponen a con-tinuación, desarrolla expresiones simbólicas para los siguientes términos:

• La matriz de masa de cada uno de los sólidos Solk, k = 1 . . .M .

enlace que representa el esfuerzo realizado por el actuador encargado de forzar dicho movimien-to.Desde el punto de vista operativo, ya que los torsores anteriores se plantean en términos de unsubgrupo de incógnitas de enlace, εu , dichos torsores serán clasificados como torsores de enlace.

Page 183: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.4 Dinámica 169

La matriz de masa del sólido Solk se calcula a partir del torsor de inercia dedicho sólido según

MSolkzq

=

Lik∑

i=0

∂ q

[F (Solk)

M k(Solk)

]

xyz

donde Lik representa el número de torsores de inercia asignados de forma

manual al sólido Solk .

Si no, dado que simbólicamente resulta más eficiente, se calcula a partir delas propiedades inerciales24 introducidas en la definición del sólido según

MSolkzq

=∂

∂ q

mVRI (Gk)

H k(Solk)

xyz

donde debe imponerse que, entre las variables que definen la acotación delsólido no aparezca ninguna de las componentes del vector z (t) y tampocola variable tiempo, t.

• La matriz Vzq de cada uno de los sólidos Solk , j = 1 . . .M .

En el caso del sólido Solk, la matriz anterior se expresa como

VSolkzq

= −∂

∂ εFF ε

z,k = −

Lεk∑

j=1

∂ ε

[F

Aεj

k

MAε

jk

+GkBk ∧ FAε

jk

]

xyz

• El vector de carga de cada uno de los sólidos Qz,k , j = 1 . . .M .

En el caso del sólido Solk, el vector de carga se expresa como

Qz,k = FF nez,k +FF q

z,k (4.44)

donde

FF nez,k =

Lnek∑

j=1

[F

Anej

k

MAne

jk

+GkBk ∧ FAne

jk

]

xyz

24masa, centro de gravedad y tensor de inercia.

Page 184: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

170 Implementación

Los términos Centrífugos y de Coriolis, FF qz,k, correspondientes al sólido

Solk se calculan a partir del torsor de inercia de dicho sólido según

FF qz,k =

Lik∑

i=0

[F (Solk)

M k(Solk)

∣∣∣∣q=0

]

xyz

Si no, por la misma razón que en el punto anterior, la contribución del torsorde inercia a los términos Centrífugos y de Coriolis se calcula a partir de ladefinición de matriz de masa según

FF qz,k = − ˙M

Solk

zqq

Una vez calculados los términos anteriores, las diferentes matrices que com-ponen las ecuaciones dinámicas del sistema se obtienen empleando el algoritmode montaje presentado en la sección 3.6.2.

El problema general de simulación dinámica

El problema de simulación dinámica consiste en resolver las ecuaciones di-námicas25 presentadas en la sección anterior junto con el conjunto de ecuacionescinemáticas, es decir:

Mzq Vzq

φT

v0

[q

ε

]=

Qz

ba

Exportación de la matriz Me

En el plano numérico, la matriz de masa MSolkzq

, correspondiente al sólido

Solk , se evalúa haciendo uso de la función exportada a tal efecto

[real **Me_k] = Me_sol_k(real *prm, *q)

donde sol_k representa el nombre propuesto por el usuario para el sólidoSolk.

25si alguno de los enlaces se caracteriza de forma analítica, las ecuaciones dinámicas debencompletarse con las ecuaciones dinámicas de enlace, presentadas en la sección 4.4.4.

Page 185: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.4 Dinámica 171

La función anterior adopta la forma:

function [Me_k] = Me_sol_k(prm, q)

Me_k=zeros(6,p);

Me_k(1,1)= ...;

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

Me_k(i,j)= ...;

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

Me_k(6,p)= ...;

donde p representa el número total de coordenadas introducidas, ya seanéstas auxiliares o no.

En el plano simbólico, la matriz de masa MSolkzq

, se corresponde con una ma-triz de expresiones simbólicas que se recorre en el proceso de exportación dandolugar a la función Me_sol_k .

La matriz anterior se calcula a partir de la información almacenada en lasestructuras de torsores de inercia, itrss , y sólidos, bodies , según lo descritoen la introducción de la presente sección.

La matriz de masa del sistema Me , correspondiente con la matriz Mzq , seevalúa en el plano numérico haciendo uso de la función exportada a tal efecto:

[real **Me] = Me(real *prm, *q)

La función anterior adopta la forma:

function [Me] = Me(prm, q)

Me=zeros(6*m,p);

Me= [ Me_sol_1(prm, q) ;

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

Me_sol_k(prm, q) ;

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

Me_sol_m(prm, q) ];

Page 186: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

172 Implementación

donde m denota el número de sólidos introducidos y sol_k , k=1..m de-nota el nombre que el usuario asigna a cada uno de los sólidos.

Exportación de la matriz Ve

En el plano numérico, la matriz VSolkzq

, correspondiente al sólido Solk , se

evalúa haciendo uso de la función exportada a tal efecto

[real **Ve_k] = Ve_sol_k(real *prm, *q)

donde sol_k es el nombre propuesto por el usuario para el sólido Solk.

La función anterior adopta la forma:

function [Ve_k] = Me_sol_k(prm, q)

Ve_k=zeros(6,ne);

Ve_k(1,1)= ...;

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

Ve_k(i,j)= ...;

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

Ve_k(6,ne)= ...;

donde ne representa el número de incógnitas de enlace.

En el plano simbólico, la matriz VSolkzq

se corresponde con una matriz de

expresiones simbólicas que se recorre en el proceso de exportación dando lugar ala función Ve_sol_k .

La matriz anterior se calcula a partir de la información almacenada en la es-tructura de torsores de enlace, etrss , según lo descrito en la introducción deesta sección.

La matriz del sistema Ve , correspondiente con la matriz Vzq , se evalúa

en cada instante de tiempo haciendo uso de la función exportada a tal efecto:

[real **Ve] = Ve(real *prm, *q)

Page 187: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.4 Dinámica 173

La función anterior adopta la forma:

function [Ve] = Ve(prm, q)

Ve=zeros(6*m,ne);

Ve= [ Ve_sol_1(prm, q) ;

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

Ve_sol_k(prm, q) ;

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

Ve_sol_m(prm, q) ];

donde m denota el número de sólidos introducidos y sol_k , k=1..m de-nota el nombre que el usuario asigna a cada uno de los sólidos.

Exportación del vector Qe

En el plano numérico, el vector de cargas Qz,k , correspondiente al sólido

Solk , se evalúa haciendo uso de la función exportada a tal efecto

[real **Qe_k] = Qe_sol_k(real *prm, *q, *dq, *u, t)

donde la etiqueta sol_k representa el nombre propuesto por el usuario parael sólido Solk.

La función anterior adopta la forma:

function [Qe_k] = Qe_sol_k(prm, q, dq, u, t)

Qe_k=zeros(6,1);

Qe_k=Qec_sol_k(prm, q, dq, u, t) + ...

Qei_sol_k(prm, q, dq);

donde:

• Qec_sol_k(prm, q, dq, u, t) evalúa en el plano numérico la contri-

bución al vector de cargas del término FF nez,k .

Page 188: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

174 Implementación

La función anterior se exporta desde el interfaz simbólico con la forma

function [Qec_k] = Qec_sol_k(prm, q, dq, u, t)

Qec_k=zeros(6,1);

Qec_k(1,1)= ...;

...............;

Qec_k(6,1)= ...;

En el plano simbólico, el término FF nez,k se corresponde con un vector de

expresiones simbólicas que se recorre en el proceso de exportación dandolugar a la función Qec_sol_k .

El vector de expresiones simbólicas anterior se calcula a partir de la in-formación almacenada en la estructura de torsores constitutivos y de otrostipos, ctrss , según lo descrito en la introducción de esta sección.

• Qei_sol_k(prm, q, dq) evalúa en el plano numérico la contribución al

vector de cargas del término FF qz,k.

La función anterior se exporta desde el interfaz simbólico con la forma

function [Qei_k] = Qei_sol_k(prm, q, dq)

Qei_k=zeros(6,1);

Qei_k(1,1)= ...;

...............;

Qei_k(6,1)= ...;

En el plano simbólico, el término FF qz,k se corresponde con un vector de

expresiones simbólicas que se recorre en el proceso de exportación.

Al igual que en el caso de la matriz de masa, el vector simbólico anterior secalcula a partir de la información almacenada en las estructuras de torsoresde inercia, itrss y sólidos, bodies .

Page 189: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.4 Dinámica 175

El vector de cargas del sistema Qe , correspondiente con el vector Qz , seevalúa en cada instante de tiempo haciendo uso de la función exportada a tal efecto

[real *Qe] = Qe(real *prm, *q, *dq, *u, t)

La función anterior adopta la forma:

function [Qe] = Qe(prm, q, dq, u, t)

Qe=zeros(6*m,1);

Qe= [ Qe_sol_1(prm, q, dq, u, t) ;

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

Qe_sol_k(prm, q, dq, u, t) ;

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

Qe_sol_m(prm, q, dq, u, t) ];

donde m denota el número de sólidos introducidos y sol_k , k=1..m de-nota el nombre que el usuario asigna a cada uno de los sólidos.

Plantilla de simulación dinámica

La plantilla euler_num.m resuelve el problema general de simulación diná-mica empleando para ello un integrador explícito de cuatro pasos con correcciónde posición y velocidad.

Las de ecuaciones de movimiento representan un sistema de dimensión 6M +nλ , lineal en las incógnitas q y ε.

La matriz del sistema anterior se evalúa en el plano numérico haciendo uso dela plantilla

[real **A_e]= A_e(real *prm, *q, *z, t)

Dicha función adopta la forma:

function [A_em]=A_e(prm, q, z, t)

A_em=[ Me(prm, q) , Ve(prm, q, z, t)’ ;

Jv(prm, q, z, t) , zeros(nlmb, nlmb)];

donde zeros(nlmb, nlmb) es una matriz de ceros de dimensión (nλ, nλ).

Page 190: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

176 Implementación

El término independiente del sistema lineal anterior se evalúa en el plano nu-mérico haciendo uso de la plantilla

[real *b_e]= b_e(real *prm, *q, *dq, *u, *z, *dz, *ddz, t)

Dicha función adopta la forma:

function [b_ev]=b_e(prm, q, dq, u, z, dz, ddz, t)

b_ev=[ Qe(prm, q, dq, u, t) ;

ba(prm, q, dq, z, dz, ddz, t) ];

El problema dinámico puede también resolverse como una ODE haciendo usode uno de los integradores de la Ode-Suite de MATLAB . En tal caso, la correcciónde posición se sustituye de forma efectiva por la estabilización de Baumgarte,[Bau72].

ECUACIONES DINÁMICAS DE ENLACE

Tal como se explica en la sección 3.7, las ecuaciones dinámicas de enlaceadoptan la forma general dada por la ecuación 3.56. Si z se sustituye por q

y se tiene en cuenta que la fuerza generalizada de enlace, FF εz , es lineal en las

incógnitas de enlace, ε , dicha ecuación se puede volver a escribir en la forma:

Vqz ε− φT

vλ = 0 (4.45)

La ecuación anterior se plantea para cada uno de los enlaces26 presentes en laestructura de enlaces, joints , haciendo uso de los algoritmos que se describi-rán en los siguientes apartados.

Pares cinemáticos en general

La contribución del i-ésimo enlace de la estructura joints al conjunto deecuaciones dinámicas de enlace se expresa

FF εi

q + φT

v,εiλεi

= 0 (4.46)

26Técnicamente podría plantearse una sola ecuación para todo el sistema. Sin embargo, en elcaso más general, dicha ecuación da lugar a un número inferior de ecuaciones independientes.

Page 191: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.4 Dinámica 177

• FF εi

q representa la fuerza generalizada asociada a los torsores de enlace co-rrespondientes al i-ésimo par cinematico,

FF εi

q = FF εi

q,j + FF εi

q,k (4.47)

Los términos FF εi

q,j y FF εi

q,k representan las fuerzas generalizadas asociadas

a los torsores de enlace correspondientes al i-ésimo par cinemático entre lossólidos Solj y Solk respectivamente.

El vector de fuerza generalizada FF εi

q,j se expresa en términos del torsor deenlace correspondiente según

FF εi

q,j =

(∂

∂ q

[VAbs (Bj)ΩAbs (Solj)

]

xyz

)T [F εi

j

M εij

]

xyz

(4.48)

donde Bj representa el punto del sólido Solj donde se define el torsor aso-ciado al i-ésimo par cinemático.

• φT

v,εiλεi

representa la fuerza generalizada asociada al conjunto de restric-ciones cinemáticas involucradas en la definición del i-ésimo par cinemático.

• λj,εi, j = 1 . . . nεi

es el multiplicador de Lagrange que representa lamagnitud de la fuerza generalizada en la dirección del enlace impuesto porla ecuación de restricción cinemática φj,εi

, j = 1 . . . nεi.

Teniendo en cuenta que FF εi

q es lineal en las incógnitas de enlace, la fuer-za generalizada anterior se expresa en términos del subgrupo de incógnitas queafectan a dicho enlace, εi , según

FF εi

q = Vεi

qz εi , (4.49)

por lo que la ecuación 4.46 puede volverse a escribir como

[Vεi

qz φT

v,εi

] [εi

λεi

]= 0 (4.50)

Si el número de incógnitas de enlace empleadas para caracterizar los torsores

[F εi

j, M εi

j

]Ty[F εi

k, M εi

k

]T

es mínimo, el sistema de ecuaciones 4.50 no se incluye en el conjunto deecuaciones dinámicas de enlace del sistema.

Page 192: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

178 Implementación

Pares cinemáticos no respetados por la acotación de partida

El conjunto de ecuaciones dinámicas de enlace asociadas a los Nn enlaces norespetados por la acotación de partida se escribe

[Vnr

qz φT

v,ε,nr

] [εnr

λε,nr

]= 0 , (4.51)

donde

• εnr es el subgrupo de incógnitas de enlace que afectan a los enlaces norespetados por la acotación de partida, ordenados de tal forma que

εnr =[εT

1,nr . . . εTi,nr . . . εT

Nn,nr

]T(4.52)

• λε,nr es un reordenamiento o un subgrupo ordenado de los multiplicadores

de Lagrange,

λε,nr =[λT

ε1,nr. . . λT

εi,nr. . . λT

εNn,nr

]T(4.53)

• Vnr

qz representa la matriz27

Vnr

qz =

Vε1,nr

qz . . . 0 . . . 0...

. . ....

. . ....

0 . . . Vεi,nr

qz . . . 0...

. . ....

. . ....

0 . . . 0 . . . VεNn,nr

qz

(4.54)

• Vεi,nr

qz representa la derivada parcial

Vεi,nr

qz =∂

∂ εi,nr

[FF

εi,nr

q

](4.55)

27La topología presentada para la matriz Vnr

qz en la ecuación 4.54 se obtiene si el vector de

incógnitas correspondientes a enlaces no respetados por la acotación de partida se ordena según4.52.

Page 193: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.4 Dinámica 179

• φT

v,ε,nrrepresenta la matriz28

φT

v,ε,nr=

φT

v,ε1,nr. . . 0 . . . 0

.... . .

.... . .

...

0 . . . φT

v,εi,nr. . . 0

.... . .

.... . .

...

0 . . . 0 . . . φT

v,εNn,nr

(4.56)

Pares cinemáticos compatibles con la acotación de partida

Si en la definición del i-ésimo elemento de la estructura de pares no se inclu-yen ecuaciones cinemáticas, es decir, si dicho enlace es compatible con la acota-ción de partida, las ecuaciones dinámicas de enlace se expresan

FFεi,r

q = 0 (4.57)

Dado que la fuerza generalizada anterior es lineal en las incógnitas de enlace,la ecuación anterior puede expresarse en forma matricial como

Vεi,r

qz εi,r = 0 (4.58)

donde la matriz Vεi,r

qz se deduce de forma análoga a la presentada en la

sección anterior.

El conjunto de ecuaciones dinámicas de enlace asociadas a los Nr enlacescompatibles con la acotación de partida se escribe

Vr

qzεr = 0 (4.59)

28La topología presentada para la matriz φT

v,ε,nren la ecuación 4.56 se obtiene si el vector de

multiplicadores de Lagrange se ordena según 4.53.

El hecho anterior sugiere utilizar un reordenamiento de las ecuaciones de enlace a la hora deplantear las ecuaciones de la dinámica, de tal forma que el vector λ quede ordenado de la mismaforma en ambos contextos. El citado orden podría obtenerse a partir de la información almacenadaen la estructura de uniones, joints.

Page 194: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

180 Implementación

donde

• εr es el vector de incógnitas que afectan a los enlaces respetados por laacotación de partida,

εr =[εT

1,r . . . εTi,r . . . εT

Nr,r

]T(4.60)

• Vr

qzrepresenta la matriz29

Vr

qz=

Vε1,r

qz. . . 0 . . . 0

.... . .

.... . .

...0 . . . Vεi,r

qz. . . 0

.... . .

.... . .

...0 . . . 0 . . . VεNr,r

qz

(4.61)

• Vεi,r

qzrepresenta la derivada parcial

Vεi,r

qz =∂

∂ εi,r

[FF

εi,r

q

](4.62)

Para este conjunto de enlaces, el número de incógnitas de enlace independien-tes debe ser igual que el número de movimientos impedidos, lo cual se traduce enque el número de ecuaciones dinámicas de enlace coincide con el número de coor-denadas de partida, p . Así, el sistema de ecuaciones 4.59 proporciona la mismainformación que el sistema

Nr∑

i=1

FFεi,r

q = 0 (4.63)

De esta forma, las ecuaciones dinámicas correspondientes a los pares cinemá-ticos compatibles con la acotación de partida se expresan de forma más compacta

Vr

qzεr =

[∂

∂ εr

(Nr∑

i=1

FFεi,r

q

)]εr = 0 (4.64)

29La topología presentada para la matriz Vr

qz en la ecuación 4.61 se obtiene si el vector

de incógnitas correspondientes a enlaces compatibles con la acotación de partida se ordena según4.60.

Page 195: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.4 Dinámica 181

donde ahora Vr

qzadopta la forma

Vr

qz =[

V1,r

qz. . . Vi,r

qz. . . VNr,r

qz

](4.65)

Ecuaciones Dinámicas de Enlace del Sistema

El conjunto de ecuaciones dinámicas de enlace para el sistema se expresa fi-nalmente en términos de las ecuaciones 4.64 y 4.51 según

Vnr

qz 0 φT

v,ε,nr

0 Vr

qz 0

εnr

εr

λε,nr

=

[0

0

](4.66)

donde, en el caso más general, algunas de las ecuaciones serán dependientes.

El sistema de pNn + p ecuaciones dependientes anterior, junto con el sistemade ecuaciones de Newton-Euler presentado en la sección anterior, puede emplear-se para resolver el conjunto de incógnitas de enlace cuando todos o alguno de lostorsores de enlace se caracterizan de forma genérica.

En el caso de la implementación propuesta, el ordenamiento del vector deincógnitas de enlace no realiza. Así, las ecuaciones anteriores se expresarán entérminos del vector de incógnitas de enlace no ordenado, ε , según

Vnr

qz φT

v,ε

Vr

qz 0

λε

]=

[0

0

](4.67)

Las submatrices del tipo Vεi,nr

qz y Vεi,r

qz (ecuaciones 4.55 y 4.62 respecti-

vamente) se calculan como derivadas parciales respecto al vector de incógnitas de

enlace30, ε , por lo que, en una situación general, las matrices Vnr

qz y Vr

qz

no presentan la estructura mostrada en las ecuaciones 4.54 y 4.65.

Conjunto de ecuaciones dinámicas, incluyendo las de enlace

El problema de simulación dinámica consiste en resolver las ecuaciones demovimiento presentadas en la sección anterior junto con el conjunto de ecuacionesdinámicas de enlace del sistema.

30en vez de calcularse como derivadas parciales respecto a los vectores εi,r y εi,nr .

Page 196: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

182 Implementación

Es decir:

Mzq Vzq 0

0 Vnr

qz φT

v,ε

0 Vr

qz 0

0 Rε 0

φT

v0 0

q

ε

λε

=

Qz

0

0

br

ba

(4.68)

donde la matriz Rε se ha introducido con el objeto de eliminar posiblesindeterminaciones en la caracterización de las incógnitas de enlace, ε.

Exportación del vector lmbe

En el plano numérico, el vector de multiplicadores λε se inicializa haciendouso de la función exportada a tal efecto:

[real *lmbev]=lmbe_init()

El argumento de salida, que en principio puede tomar cualquier nombre, re-presenta el valor inicial de los multiplicadores asociados a las restricciones ci-nemáticas involucradas en la definición de los pares cinemáticos presentes en laestructura joints .

Tal como se describe en la introducción de la sección, si todos los enlaces delsistema se incluyen en la estructura de pares cinemáticos, el vector anterior es unreordenamiento del vector de multiplicadores de Lagrange.

En el plano simbólico, el vector λε se obtiene empleando el algoritmosiguiente:

• Se recorre la estructura joints en busca de aquellos enlaces con ecua-ciones cinemáticas asociadas y que no estén definidos en términos de unnúmero mínimo de incógnitas de enlace, es decir, aquellos cuyo campoismin sea nulo.

• Tomando los índices de las ecuaciones, se recorren las estructuras de mul-tiplicadores de Lagrange lmbp y lmbv y se extraen los elementos co-rrespondientes31.

31Nótese que, los elementos de las estructuras lmbp y lmbv están ordenados según el orden dedefinición de ecuaciones geométricas y no holónomas respectivamente.

Page 197: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.4 Dinámica 183

Exportación de las matrices Vqe y Jvet

En el plano numérico, la matriz Vqe , correspondiente con la matriz Vnr

qz,

se evalúa haciendo uso de la función exportada a tal efecto

[real **Vqem] = Vqe(real *prm, *q)

La función anterior adopta la forma:

function [Vqem] = Vqe(prm, q)

Vqe=zeros(p*nr,ne);

Vqe = [ Vqe_joint_1(prm, q);

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

Vqe_joint_i(prm, q);

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

Vqe_joint_nr(prm, q) ];

donde:

• p es el número total de coordenadas introducidas, ya sean éstas auxiliareso no.

• nr es el número, Nn , de pares cinemáticos con ecuaciones cinemáticasasociadas para los cuales se plantean ecuaciones dinámicas de enlace.

• joint_i, i=1..nr representa el nombre asignado por el usuario a cadauno de los pares cinemáticos anteriores.

• Vqe_joint_i(prm, q), i=1..nr , correspondientes con las matrices

Vεi

qz , i = 1 . . .Nn se evalúan en el plano numérico haciendo uso de

funciones del tipo:

[real **Vqe_i]=Vqe_joint_i(real *prm, *q), i=1..nr

cuyo contenido es de la forma:

function [Vqe_i] = Vqe_joint_i(prm, q)

Vqe_i=zeros(p,ne);

Page 198: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

184 Implementación

Vqe_i(1,1) = ...

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

Vqe_i(i,j) = ...

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

Vqe_i(p,ne) = ...

En el plano simbólico, las matrices del tipo Vεi

qz, i = 1 . . . Nn se corres-

ponden con matrices de expresiones simbólicas que se generan en el procesode exportación. Las matrices anteriores se obtienen a partir de la informa-ción contenida en la estructura de torsores de enlace, etrss , siguiendo losalgoritmos presentados en la introducción de la presente sección.

En el plano numérico, la matriz Jvet , correspondiente con la matriz φT

v,εi,

se evalúa haciendo uso de la función exportada a tal efecto

[real **Jvetm] = Jvet(real *prm, *q, *z, t)

La función anterior adopta la forma:

function [Jvetm] = Jvet(prm, q, z, t)

Jvet=zeros(p*nr,nlmbde);

Jvet = [ Jvet_joint_1(prm, q, z, t);

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

Jvet_joint_i(prm, q, z, t);

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

Jvet_joint_nr(prm, q, z, t) ];

donde:

• nlmbde representa la dimensión del vector λε .

• Jvet_joint_i(prm, q, z, t), i=1..nr , correspondientes con las ma-

trices φT

v,εi, i = 1 . . .Nn se evalúan en el plano numérico haciendo uso

de funciones del tipo:

[real **Jvet_i]=Jvet_joint_i(real *prm, *q, *z, t), i=1..nr

Page 199: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.4 Dinámica 185

cuyo contenido es de la forma:

function [Jvet_i] = Jvet_joint_i(prm, q, z, t)

Jvet_i=zeros(p,nlmbde);

Jvet_i(1,1) = ...

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

Jvet_i(i,j) = ...

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

Jvet_i(p,ne) = ...

En el plano simbólico, los jacobianos del tipo φv,εi

, i = 1 . . . Nn se

corresponden con matrices de expresiones simbólicas que se generan en elproceso de exportación. Las matrices anteriores se obtienen a partir de la in-formación contenida en las estructuras Cp y Cv siguiendo un algoritmo

análogo al que se emplea para obtener la matriz φv

(sección 4.3.5).

Exportación de la matriz Vqe_0

En el plano numérico, la matriz Vqe_0 , correspondiente con la matriz

Vr

qz, se evalúa haciendo uso de la función exportada a tal efecto

[real **Vqe_0m] = Vqe_0(real *prm, *q)

La función anterior adopta la forma:

function [Vqe_0m] = Vqe_0(prm, q)

Vqe_0m=zeros(p,ne);

Vqe_0m(1,1) = ...

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

Vqe_0m(i,j) = ...

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

Vqe_0m(p,ne) = ...

Page 200: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

186 Implementación

donde p es el número total de coordenadas introducidas y ne representael número de incógnitas de enlace presentes en la estructura epsln .

Plantilla de simulación dinámica incluyendo las ecuaciones dinámicas deenlace

La plantilla numérica euler_din_num.m resuelve el problema general desimulación dinámica empleando un algoritmo idéntico al presentado en la secciónanterior para el problema de Newton-Euler.

En este caso, las ecuaciones de movimiento representan un sistema de dimen-sión 6M + pNn + p + nλ , lineal en las incógnitas q, ε y λε.

La matriz del sistema lineal anterior se evalúa en el plano numérico haciendouso de la función exportada a tal efecto

[real **A_m]= A_ede(real *prm, *q, *z, t)

Dicha función, en el caso más general adopta la forma:

function [A_m]=A_ede(prm, q, z, t)

A_m=[Me(prm, q) , Ve(prm, q) , zeros(6*nsol, nlmbe);

zeros(p*nr, p) , Vqe(prm, q) , Jvet(prm, q, z, t);

zeros(p, p) , Vqe_0(prm, q) , zeros(p, nlmbe);

Jv(prm, q, z, t), zeros(nlmb, ne), zeros(nlmb, nlmbe)];

donde:

• zeros(i,j) representa una matriz de ceros de dimensión (i, j).

• p es el número total de coordenadas introducidas.

• nsol es el número total de sólidos introducidos.

• nlmb es la dimensión del vector λ.

• nlmbe es la dimensión del vector λ .

El término independiente del sistema lineal anterior se evalúa en el plano nu-mérico haciendo uso de la función exportada a tal efecto

[real *b_edev]= b_ede(real *prm, *q, *dq, *u, *z, *dz, *ddz, t)

Page 201: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.4 Dinámica 187

Dicha función, en el caso más general adopta la forma:

function [b_edev]=b_ede(prm, q, dq, u, z, dz, ddz, t)

b_edev=[ Qe(prm, q, dq, u, t) ;

zeros(p*nr, 1) ;

zeros(p, 1) ;

ba(prm, q, dq, z, dz, ddz, t) ];

EL PROBLEMA DINÁMICO SEGÚN LAGRANGE

Tal como se describe en la sección 3.6.1, el formalismo de Lagrange resultaen un sistema de p ecuaciones que en forma matricial se expresa

[Mqq φ

T

v

] [q

λ

]= Qq

El preprocesador simbólico desarrolla en este caso expresiones simbólicas pa-ra los siguientes términos:

• La matriz de masa de cada uno de los sólidos Solk, k = 1 . . .M .

La matriz de masa del sólido Solk se calcula a partir del torsor de inercia dedicho sólido según

MSolkqq

=

Lik∑

i=0

(∂

∂ q

[VAbs (Gk)ΩAbs (Solk)

]

xyz

)T (∂

∂ q

[F (Solk)

M k(Solk)

]

xyz

)

donde Lik representa el número de torsores de inercia asociados de forma

manual al sólido Solk .

Si no, dado que simbólicamente resulta más eficiente, se calcula a partir delas propiedades inerciales introducidas en la definición del sólido según

MSolkqq

= BT

V,k

[mSolk I3

]BV,k + BT

Ω,k

[II

k(Solk)

]bk

BΩ,k

Page 202: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

188 Implementación

donde

BV,k =∂

∂ q

[VAbs (Gk)

]xyz

, BΩ,k =∂

∂ q

[ΩAbs (Solk)

]bk

La matriz de masa del sistema, Mqq , se obtiene en términos de las ante-riores como

Mqq =M∑

k=1

MSolkq

(4.69)

• El vector de carga, Qq.

El vector de carga actuante sobre el sistema se expresa en términos del con-junto de acciones sobre cada uno de los sólidos según

Qq =M∑

k=1

FF neq,k +

M∑

k=1

FF qq,k (4.70)

donde:

• FF neq,k representa la contribución al vector de carga de las acciones

constitutivas actuantes sobre el sólido Solk.

El vector de fuerza generalizada anterior puede expresarse en términosde las contribuciones de las diferentes acciones según

FF neq,k =

Lk∑

j=1

FFAj

q,k

donde cada una de las cargas anteriores se calcula según la expresión

FFAj

q,k =

(∂

∂ q

[VAbs (Gk)ΩAbs (Solk)

]

xyz

)T [FAj

k

MAjk

+GkBk ∧ FAjk

]

xyz

• FF qq,k representa la contribución al vector de carga de los términos Cen-

trífugos y de Coriolis correspondientes al sólido Solk.

Page 203: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.4 Dinámica 189

La fuerza generalizada anterior se calcula a partir del torsor de inerciadel sólido Solk según

FF qq,k =

Lik∑

i=0

(∂

∂ q

[VAbs (Gk)ΩAbs (Solk)

]

xyz

)T [F (Solk)

M k(Solk)

∣∣∣∣q=0

]

xyz

Si no, por la misma razón que en el punto anterior, la contribución deltorsor de inercia a los términos Centrífugos y de Coriolis se calculade forma equivalente a la anterior, pero sin necesidad de desarrollar laexpresión simbólica de dicho torsor.

Los términos del tipo FFAj

q,k y FF qq,k se exportan de forma independiente.

La contribución al vector de fuerza generalizada de la fuerza y el momentode inercia también se exportan de forma independiente para cada sólido, detal forma que cada sólido contribuye al vector de cargas, como máximo32,con dos términos.

Exportación de la matriz Ml

En el plano numérico, la matriz de masa MSolkqq

, correspondiente al sólido

Solk , se evalúa haciendo uso de la función exportada a tal efecto

[real **Ml_k] = Ml_sol_k(real *prm, *q)

donde sol_k es el nombre propuesto por el usuario para el sólido Solk.

La función anterior adopta la forma:

function [Ml_k] = Ml_sol_k(prm, q)

Ml_k=zeros(p,p);

Ml_k(1,1)= ...;

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

Ml_k(i,j)= ...;

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

Ml_k(p,p)= ...;

32previo a la exportación se realiza un chequeo para comprobar que los diferentes vectores defuerza generalizada no son nulos.

Page 204: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

190 Implementación

donde p representa el número total de coordenadas introducidas, ya seanéstas auxiliares o no.

En el plano simbólico, la matriz de masa MSolkqq

se corresponde con una

matriz de expresiones simbólicas que se recorre durante el proceso de exportación.

La matriz anterior se calcula a partir de la información almacenada en lasestructuras de torsores de inercia, itrss y sólidos, bodies según lo descritoen la introducción de la presente sección.

La matriz de masa del sistema Ml , correspondiente con la matriz Mqq ,

se evalúa en cada instante de tiempo haciendo uso de la función exportada a talefecto:

[real **Ml] = Ml(real *prm, *q)

La función anterior adopta la forma:

function [Ml] = Ml(prm, q)

Ml=zeros(p,p);

Ml= Ml_sol_1(prm, q) + ...

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

Ml_sol_i(prm, q) + ...

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

Ml_sol_m(prm, q) ;

donde m denota el número de sólidos introducidos y sol_k , k=1..m de-nota el nombre que el usuario asigna a cada uno de los sólidos.

Exportación del vector Ql

En el plano numérico, la contribución al vector de carga de la fuerza y elmomento de inercia de D’ Alembert del sólido Solk se evalúan respectivamentehaciendo uso de las funciones exportadas a tal efecto

[real *Qli1_k] = Qli1_sol_k(real *prm, *q, *dq) y[real *Qli2_k] = Qli2_sol_k(real *prm, *q, *dq)

donde sol_k representa el nombre propuesto por el usuario para el sólidoSolk.

Page 205: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.4 Dinámica 191

En el plano simbólico, las expresiones simbólicas correspondientes a lostérminos anteriores se calculan recorriendo las estructuras de torsores deinercia, itrss , y sólidos, bodies .

La contribución al vector de carga de los diferentes torsores constitutivos seevalúa en el plano numérico haciendo uso de funciones del tipo

[real *Qlc_t] = Qlc_trs_k(real *prm, *q, *dq, *u, t)

donde trs_k representa el nombre propuesto por el usuario para el torsorconstitutivo exportado.

La función anterior, así como el resto de funciones de tipo vector de cargalagrangiano, adopta la forma

function [Qlc_t] = Qlc_trs_k(prm, q, dq, u, t)

Qlc_t=zeros(q,1);

Qlc_t(1,1)= ....

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

Qlc_t(i,1)= ....

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

Qlc_t(i,1)= ....

En el plano simbólico, las expresiones simbólicas correspondientes a lostérminos anteriores se calculan recorriendo la estructura de torsores de enlace,etrss .

El vector de carga del sistema Ql , correspondiente con el vector Qq , seevalúa en el plano numérico haciendo uso de la función exportada a tal efecto

[real *Ql] = Ql(real *prm, *q, *dq, *u, t)

La función anterior, en el caso más general, adopta la forma:

function [Ql] = Ql(prm, q, dq, u, t)

Ql=zeros(q,1);

Ql= Qlc_trs_1(prm, q, dq, u, t) + ...

Page 206: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

192 Implementación

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

Qlc_trs_i(prm, q, dq, u, t) + ...

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

Qlc_trs_n(prm, q, dq, u, t) + ...

Qli1_sol_1(prm, q, dq) + Qli2_sol_1(prm, q, dq) + ...

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

Qli1_sol_k(prm, q, dq) + Qli2_sol_k(prm, q, dq) + ...

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

Qli1_sol_m(prm, q, dq) + Qli2_sol_m(prm, q, dq);

donde trs_i, i=1..n denota el nombre de cada uno de los torsores presen-tes en la estructura de torsores de enlace, etrss , y sol_k , k=1..m denotael nombre que el usuario asigna a cada uno de los sólidos.

Plantilla de simulación dinámica

La plantilla numérica lagrange_num.m resuelve el problema general de si-mulación dinámica empleando para ello un integrador de las mismas característi-cas que los anteriores.

Las ecuaciones de movimiento representan un sistema de dimensión p + nλ ,lineal en las incógnitas dinámicas q y λ.

La matriz del sistema lineal anterior se evalúa en el plano numérico haciendouso de la plantilla

[real **A_l]= A_l(real *prm, *q, *z, t)

Dicha función adopta la forma:

function [A_lm]=A_l(prm, q, z, t)

A_edem=[ Ml(prm, q) , Jv(prm, q, z, t)’ ;

Jv(prm, q, z, t) , zeros(nlmb, nlmb)];

donde zeros(nlmb, nlmb) es una matriz de ceros de dimensión (nλ, nλ).

El término independiente del sistema lineal anterior se evalúa en el plano nu-mérico haciendo uso de la plantilla

[real *b_l]= b_l(real *prm, *q, *dq, *u, *z, *dz, *ddz, t)

Page 207: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.4 Dinámica 193

Dicha función adopta la forma:

function [b_lv]=b_l(prm, q, dq, u, z, dz, ddz, t)

b_lv=[ Ql(prm, q, dq, u, t) ;

ba(prm, q, dq, z, dz, ddz, t) ];

EL PROBLEMA DE EQUILIBRIO ESTÁTICO

Si bien el problema de equilibrio puede plantearse empleando cualquier for-mulación, en el presente desarrollo se toma como referencia el conjunto de ecua-ciones dinámicas de Lagrange.

El cálculo de la posición de equilibrio se realiza bajo los siguientes supuestos:

• Las ecuaciones de tipo no holónomo, aunque existan, no se tendrán encuenta.

• Las funciones de excitación, u = u (q, q, t) , se suponen independientesdel estado, es decir, u = u (t) . De lo contrario, el procesador simbólicodebería ser capaz de calcular la parcial de u respecto a q y a q , lo cualno puede garantizarse en el caso de la implementación propuesta.

El problema de equilibrio estático consiste en encontrar una solución que sa-tisfaga cualquier conjunto de ecuaciones dinámicas para el caso particular

q = q = 0 , t = t0 → z = z0 , u = u0

La condición de equilibrio estático para el conjunto de ecuaciones dinámicasde Lagrange se expresa

q(q, z0, t0)

]Tλ − FF ne

q (q, u0, t0) = 0

φ (q, z0, t0) = 0 (4.71)

donde φe

qs el jacobiano de las ecuaciones geométricas y λ es el vector de

multiplicadores asociados a las mismas.

Page 208: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

194 Implementación

El sistema no lineal anterior puede resolverse de forma iterativa para q y λp

empleando el algoritmo de Newton-Rhapson según

∂∂q

T

qλp −FF ne

q

) ∣∣∣∣q , λ

φT

q(qi, z0, t0)

φq(qi, z0, t0) 0

[δq

δλ

]=

[e

e

]

[qi+1

λp,i+1

]=

[qi

λp,i

]+ µ

[δq

δλ

](4.72)

Las expresiones e y e denotan los errores cometidos en las ecuacionesdinámicas y geométricas respectivamente y se definen según

[e

e

]=

FF neq (qi, u0, t0) −

q(qi, z0, t0)

]Tλ

−φ (qi, z0, t0)

(4.73)

La parcial del vector de fuerza generalizada respecto al vector de coordenadasgeneralizadas se calcula a partir de los vectores de carga asociados a los diferentestorsores constitutivos según

∂ qFF ne

q =M∑

k=1

Lk∑

j=1

∂ q

(FF

Anej

q,k

) ∣∣∣∣q=0

(4.74)

La parcial ∂∂q

T

)se calcula empleando el procedimiento habitual

una vez realizado el producto φT

qλ .

Plantilla de cálculo de posición de equilibrio

El problema de equilibrio estático se resuelve haciendo uso de la instrucción

[real *new_q]=solve_equilibrium_position(real *prm, *q, ...

real *lmbp, t, relax, int nmax, real tol)

Page 209: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.4 Dinámica 195

Argumentos de entrada

prm→ vector de parámetros.q→ vector de coordenadas de partida.lmbp → vector de multiplicadores asociado a las ecuaciones geomé-tricas.t→ variable tiempo.relax→ relajación del método.nmax→ numero máximo de iteraciones del método.tol → tolerancia global, tol, con la que se resuelve el problema deequilibrio.

Argumentos de salida

new_q→ vector de coordenadas que verifica el sistema 4.71 con tole-rancia tol.

Internamente, la función solve_equilibrium_position evalúa las funcio-nes

JQl_eq(prm, q, u, t) y JJplmbq(prm, q, z, lmbp, t) ,

cuyo proceso de exportación se detalla en las secciones siguientes.

Exportación de la matriz JQl_eq

En el plano numérico, la parcial ∂∂q

FF neq se evalúa haciendo uso de la función

exportada a tal efecto:

[real **JQl_eqm]=JQl_eq(real *prm, *q, *u, t)

La función anterior adopta la forma:

function [JQl_eqm]=JQl_eq(prm, q, u, t)

JQl_eqm = zeros(p,p);

JQl_eqm = JQl_eq_trs_1(prm, q, u, t) +

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

JQl_eq_trs_i(prm, q, u, t) +

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

JQl_eq_trs_n(prm, q, u, t) ;

Page 210: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

196 Implementación

donde trs_k, i=1..n representa el nombre asignado por el usuario a cadauno de los torsores constitutivos.

Las funciones del tipo JQl_eq_trs_i(prm, q, u, t), i=1..n , corres-

pondientes con las matrices ∂∂q

FFAne

j

q,k donde j = 1 . . . Lk y k = 1 . . .M se

evalúan en el plano numérico haciendo uso de funciones del tipo:

[real **JQl_i]=JQl_eq_trs_i(real *prm, *q, *u, t), i=1..n

cuyo contenido es de la forma:

function [JQl_i] = JQl_eq_trs_i(prm, q, u, t)

JQl_i=zeros(p,p);

JQl_i(1,1) = ...

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

JQl_i(i,j) = ...

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

JQl_i(p,p) = ...

donde p representa el número total de coordenadas introducidas, ya seanestas o no auxiliares y el subíndice _i representa cualquier combinación j, k.

En el plano simbólico, las matrices del tipo ∂∂q

FFAne

j

q,k se calculan a partir

de los arrays de expresiones simbólicas correspondientes a los vectores de fuerzageneralizada asociados a los diferentes torsores constitutivos según

JQl_eq_trs_i=jacobian(subs(Ql_eq_trs_i, dqv, zeros(p,1)), qv’)

donde Ql_eq_trs_i, i=1..n representa el array de expresiones simbóli-

cas correspondiente al vector de fuerza generalizada FFAne

j

q,k donde j = 1 . . . Lk

y k = 1 . . .M .

Page 211: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.4 Dinámica 197

Exportación de la matriz JJplmbq

En el plano numérico, la parcial ∂∂q

T

)se evalúa haciendo uso de

la función exportada a tal efecto:

[real **JJplmbqm]= JJplmbq(real *prm, *q, *z, *lmbp, t)

La función anterior presenta la forma:

function [JJplmbqm]= JJplmbq(prm, q, z, lmbp, t)

JJplmbqm=zeros(p,p);

JJplmbqm(1,:)=JJplmbq_1(prm, q, z, lmbp, t);

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

JJplmbqm(i,:)=JJplmbq_i(prm, q, z, lmbp, t);

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

JJplmbqm(p,:)=JJplmbq_p(prm, q, z, lmbp, t);

Las funciones del tipo JJplmbq_i(prm, q, z, lmbp, t) evalúan en elplano numérico parcial respecto al vector de coordenadas del elemento i-ésimo,i = 1 . . . p , del vector de fuerza generalizada φ

T

qλp .

El contenido de las funciones anteriores es de la forma

function [JJplmbq_iv] = JJplmbq_i(prm, q, z, lmbp, t)

JJplmbq_iv=zeros(1,p);

JJplmbq_iv(1,1) = ...

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

JJplmbq_iv(i,j) = ...

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

JJplmbq_iv(1,p) = ...

En el plano simbólico, los jacobianos anteriores se obtienen desarrollando elproducto de expresiones simbólicas

Jqlmbpv=Jqm’*lmbpv

Page 212: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

198 Implementación

para después calcular el jacobiano respecto al vector de coordenadas generali-zadas de cada uno de sus elementos según

JJplmbq_iv=jacobian(Jqlmbpv(i), qv’);

donde cada uno de los términos anteriores se exporta de forma independiente.

EL PROBLEMA MODAL

Las ecuaciones de movimiento de determinados sistemas mecánicos, en prin-cipio no lineales, pueden adaptarse al esquema lineal que aparece en los textosclásicos de análisis modal, [Rao03, Inm00, Gin01].

En tal caso, la respuesta en frecuencia de dichos sistemas puede determinar-se con ayuda de dos parámetros modales característicos: frecuencias naturales ymodos de vibración.

En este contexto, el problema modal consistirá en determinar los parámetrosmodales de un determinado sistema mecánico.

La solución del problema modal no siempre proporciona información acercadel comportamiento del sistema. Para que así sea, tanto el sistema mecánico comola fuente de excitación deben reunir ciertas condiciones.

Así, en los diferentes apartados de esta sección se analizarán los supuestos departida de la teoría clásica del análisis modal, junto con una serie de aspectos queafectan a la implementación descrita en el resto del capítulo.

Formulaciones dinámicas en coordenadas independientes

Tal como se describe en la sección 4.3.2, el algoritmo QR puede emplearsepara resolver las velocidades dependientes, qd , en términos de las independientes,qi de tal forma que

qd = q (1 : d) y qi = q (d + 1 : p).

Las ecuaciones dinámicas de Lagrange se expresan en términos del reordena-miento anterior según

Mq′ q +[φ

v

]Tλ = Qq′ (4.75)

donde Mq′ , φ′

vy Qq′ representan reordenamientos de las matrices

Mq , φv

y Qq respectivamente.

Page 213: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.4 Dinámica 199

Por otra parte, haciendo uso de la ecuación 4.34, el vector q puede sustituirsepor su equivalente

q =

− R−1

d,dRd,i

I

qi −

R−1

d,db

,d

0

= S qi − T , (4.76)

y teniendo en cuenta que la matriz S es una de las bases del espacio nulo de

φv

(q ) , la ecuación 4.75 puede volverse a escribir como

Mq′,i qi = Qq′,i (4.77)

donde

• Mq′,i se define en términos de la matriz de masa según

Mq′,i = ST Mq′ S (4.78)

• Q′,i se define en términos de los vectores Qq y T según

Qq′,i = STQq′ + ST Mq′ T (4.79)

donde, si la evaluación numérica del vector T exige calcular todas las velo-cidades generalizadas, puede hacerse uso de la ecuación 4.28.

Linearización de las ecuaciones dinámicas

Las ecuaciones de movimiento de los sistemas Multi-Cuerpo son, en gene-ral, no lineales. Sin embargo, bajo ciertas condiciones, dichas ecuaciones puedenconsiderarse lineales en las incógnitas dinámicas.

La linearización de las ecuaciones dinámicas se realiza teniendo en cuenta lossiguientes supuestos:

• Las ecuaciones rehónomas pueden expresarse en la forma

φ (q) − z = 0 (4.80)

Page 214: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

200 Implementación

donde z = z (t) representa un vector de pequeñas perturbaciones respectode la posición nominal, zN = 0.

• La fuerza generalizada asociada a cualquier acción sobre el sistema puedeescribirse en la forma

Qq (q, q, u)

donde, al igual que ocurría en el problema de equilibrio estático, se su-pondrá que el vector de funciones de excitación, u = u (q, q, t) , esindependiente del estado. En este caso, u = u (t) representa un vectorde pequeñas funciones de excitación respecto de la función de excitaciónnominal, uN = 0.

• la solución para las incógnitas dinámicas puede escribirse en la forma

q = qN (t) + δq (t) , q = qN (t) + δq (t)

q = qN (t) + δq (t) , λ = λN (t) + δλ (t)(4.81)

donde δq (t) , δq (t) , δq (t) y δλ (t) representan pequeñas desviacionesalrededor de sus respectivos valores nominales, que verifican

[Mq (qN)

]qN +

T

v(qN)

]λN = Qq (qN , qN , uN)

φ (qN ) − zN = 0

(4.82)

El desarrollo en serie de Taylor de primer orden alrededor de dicha soluciónnominal, aplicado a las funciones que aparecen en la ecuación anterior, resulta en

KN CN MN φT

q,N

φv,N

0 0 0

δq

δq

δq

δλ

=

BN u

δz

(4.83)

Page 215: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.4 Dinámica 201

donde

• KN es la rigidez del sistema33,

KN =

[(∂

∂ qMq (q)

)qN + (4.84)

+

(∂

∂ qφ

T

q(q)

)λN −

(∂

∂ qQq (q, qN , uN)

) ]

q=qN

• CN es el amortiguamiento del sistema34,

CN = −

(∂

∂ qQq (qN , q, uN)

) ∣∣∣∣∣q=q

N

(4.85)

• MN es la matriz de masa, evaluada en la posición nominal, q = qN .

• φq,N

es el jacobiano de las restricciones geométricas, evaluado en la po-

sición nominal, q = qN .

• BN es la matriz de control del sistema35,

BN =

(∂

∂ uQq (qN , qN , u)

) ∣∣∣∣∣u=uN

(4.86)

33en el caso u = u (q, q, t) , el término KN debería completarse con

(∂

∂ uQq (qN , qN , u)

)(∂

∂ qu (q, qN , t)

) ∣∣∣∣∣u=uN , q=q

N

34en el caso u = u (q, q, t) , el término CN debería completarse con

(∂

∂ uQq (qN , qN , u)

)(∂

∂ qu (qN , q, t)

) ∣∣∣∣∣u=uN , q=q

N

35En la teoría clásica de control, las señales de control siempre son la forma u = u (t) aunqueel lazo de control utiliza el estado del sistema para definirlas, por lo que la restricción impuesta ala dependencia funcional de u no tiene consecuencias prácticas.

Page 216: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

202 Implementación

Si, como es habitual, la linearización tiene lugar alrededor de la posición deequilibrio estático, el requerimiento 4.82 se convierte en 4.71 para t = t0 . En talcaso, la matriz de rigidez anterior se expresa

KEq =

[(∂

∂ qφ

T

q(q, z0, t0)

)λEq −

(∂

∂ qFF ne

q (q, u0, t0)

) ]

q=qEq

donde el subíndice Eq denota la posición de equilibrio estático.

Solución del problema modal

Tal como se describe en el anterior apartado, existen sistemas mecánicos cuyasecuaciones de movimiento pueden linearizarse. Así pues, en el desarrollo de estasección, se supondrá que el sistema admite una solución de pequeñas desviacionesrespecto a la posición de equilibrio estático, qEq .

En ausencia de ecuaciones rehónomas, el sistema 4.83 puede reducirse a unoen coordenadas independientes empleando las relaciones

δq = SEq δqi , δq = SEq δqi , δq = SEq δqi

donde:

• Los vectores δq , δq y δq se definen de tal forma que

δq =

[δqd

δqi

], δq =

[δqd

δqi

], δq =

[δqd

δqi

]

• La transformación SEq se obtiene una vez resuelta la factorización QR

de la matriz φq,Eq

según

SEq =

− R−1

d,dRd,i

I

Eq

El sistema de ecuaciones 4.83 se escribe en términos de las variables indepen-dientes como

Mi

Eqδqi + Ci

Eqδqi + Ki

Eqδqi = Bi

Equ (4.87)

Page 217: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.4 Dinámica 203

donde

Mi

Eq= ST

EqMEq SEq , Ki

Eq= ST

EqKEq SEq

y el resto de matrices se construyen de la misma forma en términos de SEq .

Frecuencias Naturales y Modos de Vibración

En este apartado, el sistema diferencial lineal 4.87 será analizado según lateoría clásica de análisis modal, [Rao03, Inm00, Gin01].

La resolución del problema de vibraciones libres no amortiguadas permite ladeterminación de los dos parámetros modales característicos: frecuencias natura-les y modos de vibración.

Suponiendo que no existen acciones exteriores sobre el sistema, u = 0 , yque los términos disipativos son nulos, el sistema 4.87 se reduce a

MEq

q,iδqi + KEq

q,iδqi = 0. (4.88)

Suponiendo que el sistema anterior admite soluciones del tipo

δqi = ψ Re[

B exp (iωt)]

, B ∈, (4.89)

el sistema 4.88 puede volverse a escribir como

KEq

q,iψ − ω2 MEq

q,iψ = 0 (4.90)

Buscar una solución distinta de la idénticamente nula para ψ se traduce enresolver el problema generalizado

KEq

q,iψ = ω2 MEq

q,iψ (4.91)

donde ψ denota el vector propio de valor propio ω2.

Los modos de vibración y sus correspondientes frecuencias naturales se en-cuentran al resolver el problema de vectores y valores propios

KEq

q,iΨ = Ω

2 MEq

q,iΨ . (4.92)

Page 218: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

204 Implementación

donde

• Ψ es la matriz de modos,

Ψ =[ψ1 . . . ψj . . . ψni

].

• Ω2

es una matriz diagonal cuyos elementos son de la forma

Ω2

jj= ω2

j ,

La j-ésima frecuencia natural, fj , asociada al j-ésimo modo de vibración,ψj , se expresa en términos de ωj según

fj = 2πωj

La solución general de la ecuación 4.90 se expresa en términos de los modosde vibración y sus correspondientes frecuencias como

δq =

ni∑

j=1

ψj Re[

Bj exp (iωjt)]

= ψ Re[

B exp (iωt)]

(4.93)

Así pues, matemáticamente hablando, el conjunto

ψj, ωj

, j = 1 . . . ni (4.94)

representa una base del espacio de soluciones de la ecuación 4.90.

Coordenadas Modales

Teniendo en cuenta que la matriz de modos es ortogonal a las matrices de masay rigidez, resulta obvio que el cambio de coordenadas

δqi = Ψ η , δqi = Ψ η , δqi = Ψ η

permite transformar el sistema diferencial 4.91 en ni ecuaciones diferencialessimples.

Page 219: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.4 Dinámica 205

Si la escala de los modos de vibración se elige de tal forma que

ΨT MEq

q,iΨ = I , (4.95)

las ecuaciones diferenciales mencionadas se reducen a

ηj + ω2j ηj = 0 , j = 1 . . . ni (4.96)

donde ηj es de la forma

ηj = Re[

Bj exp (iωjt)]

, Bj ∈

.

Plantilla de solución de frecuencias propias y modos de vibración

Las frecuencias propias y modos de vibración de un sistema mecánico se cal-culan haciendo uso de la plantilla numérica natural_modes.m , cuya versióngenérica se presenta en el anexo A.4.

El algoritmo implementado en la plantilla anterior podría resumirse en lospasos siguientes:

• Inicializar los valores de todas las incógnitas del problema: parámetros,coordenadas, multiplicadores asociados a las restricciones geométricas, to-lerancias, ...

• Resolver el problema de equilibrio estático haciendo uso de la funciónsolve_equilibrium_position , introducida en la sección 4.4.4.

• Construir las matrices Ki

Eqy Mi

Eqen términos de la matriz de trans-

formación SEq .

• Resolver el problema de valores y vectores propios generalizado asociado

a las matrices Ki

Eqy Mi

Eq, para lo cual se hace uso de la función

eig de MATLAB .

Dado que Ki

Eqes simétrica y Mi

Eqes simétrica y definida positiva, el

problema anterior puede resolverse aplicando la factorización de Choleskide la matriz de masa.

• Expandir el resultado de los modos de vibración a todas las coordenadasrealizando el producto

Ψq′ = SEq Ψq,i

Page 220: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

206 Implementación

4.5. Funciones de Alto Nivel

En esta sección se describirán las funciones que constituyen el Sistema de AltoNivel del Interface Simbólico y que permiten al usuario definir cómodamente loselementos típicos de la DSM .

El contenido de la sección se organiza en tres apartados que describen funcio-nes de alto nivel para la definición de:

• La orientación de los diferentes sólidos.• Pares cinemáticos elementales.• Fuerzas y elementos constitutivos más comunes.

4.5.1. Representación de la orientación de un sólido

En esta sección se describirán las funciones que permiten definir las matricesde cambio de base a partir de diferentes grupos de coordenadas generalizadas, yasean éstas parámetros de Euler, ángulos de Euler o ángulos diferenciales.

PARÁMETROS DE EULER

Un cambio de orientación puede expresarse en términos geométricos, comouna rotación de valor finito θ alrededor de un eje de orientación arbitraria36, v.

v

θ

1

y

x

z

3

Figura 4.11: Rotación finita alrededor de un eje arbitrario v.

La transformación anterior se relaciona con la matriz de cambio de base entrela base global xyz y una base genérica 123 mediante la expresión

[I]123

xyz=[

I]xyz

+[v]xyz

sin θ + 2[v]xyz

[v]xyz

sin2 θ

2(4.97)

36resultado matemático conocido como Teorema de Euler.

Page 221: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.5 Funciones de Alto Nivel 207

Los parámetros de Euler se definen en términos de v y θ como

θ0 = cosθ

2, θ1 = v1 sin

θ

2

θ2 = v2 sinθ

2, θ3 = v3 sin

θ

2(4.98)

donde resulta evidente que

θTθ =3∑

i=0

θi = 1 (4.99)

Teniendo en cuenta la definición 4.98, la ecuación 4.97 se expresa en términosde los parámetros de Euler como

[I]123

xyz=[

I]xyz

+ 2 θ0

[θ ]

xyz+ 2

[θ ]

xyz

[θ ]

xyz(4.100)

donde

θ =[

θ1 θ2 θ3

]T

En formulaciones matriciales, la transformación anterior puede expresarse deforma alternativa como

[I]123

xyz= 2

[E][

E]T

(4.101)

donde

[E]

=

−θ1 θ0 −θ3 θ2

−θ2 θ3 θ0 −θ1

−θ3 −θ2 θ1 θ0

,

[E]

=

−θ1 θ0 θ3 −θ2

−θ2 −θ3 θ0 θ1

−θ3 θ2 −θ1 θ0

(4.102)

Page 222: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

208 Implementación

Por su parte, el vector velocidad angular, Ωxyz(123), puede obtenerse de lasequivalencias cinemáticas:

[

Ωxyz(123)

]xyz

=

(dd t

[I]123

xyz

)([I]123

xyz

)T

[

Ωxyz(123)

]123

=

([I]123

xyz

)T (dd t

[I]123

xyz

), (4.103)

dondedd t

[I]123

xyz=

3∑

i=0

∂ θi

[I]123

xyzθi. (4.104)

Si se emplea la formulación matricial alternativa presentada en 4.101, el vectorΩxyz(123) adopta la forma

[Ωxyz(123)

]xyz

= 2[

E]θ (4.105)

o bien

[Ωxyz(123)

]123

= 2[

E]θ (4.106)

ÁNGULOS DE EULER

La forma más intuitiva de acotar la orientación de un sólido de forma unívocaen el espacio tridimensional es emplear tres ángulos de Euler independientes querepresentan rotaciones alrededor de los ejes cartesianos.

Las familias de ángulos de Euler se denotan por la secuencia de rotacionesempleada para llegar desde la configuración inicial a la final. Así, en el caso dela figura 4.12, la configuración final puede obtenerse empleando las rotacioneselementales siguientes

123α→

1′2′3′ alrededor del eje 1.

1′2′3′β→

1′′2′′3′′ alrededor del eje 2′.

1′′2′′3′′γ→

1′′′2′′′3′′′ alrededor del eje 3′′.

donde resulta evidente que la secuencia de rotaciones no es conmutativa.

Page 223: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.5 Funciones de Alto Nivel 209

βγ

2

3

1

2′

3′

α

1′′

3′′

1′′′

2′′′

γ

β

α

2′′≡ 2

3′′′≡ 3

′′

1′≡ 1

Figura 4.12: Familia [α, β, γ] de ángulos de Euler 123

La matriz de cambio de base se obtiene a partir de las matrices de cambio debase elementales como

[I]1′′′2′′′3′′′123

=[I]1′′′2′′′3′′′1′′2′′3′′

[I]1′′2′′3′′1′2′3′

[I]1′2′3′123

(4.107)

El vector velocidad angular se expresa en términos de las derivadas de losángulos propuestos como

Ω123(1′′′2′′′3′′′) = α e1 + β e2′ + γ e3′′ = G

α

βγ

(4.108)

donde e1, e2′ y e3′′ representan vectores unitarios según las direcciones1, 2′ y 3′′ respectivamente.

Page 224: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

210 Implementación

De la expresión anterior se deduce que los Ángulos de Euler presentan singu-laridades para un conjunto finito de posiciones.

PEQUEÑAS ROTACIONES

Si las rotaciones son infinitesimales, las ecuaciones presentadas en las seccio-nes anteriores pueden simplificarse haciendo uso de las aproximaciones siguientes

sin θi ≈ θi , cos θi ≈ 1 , θiθj ≈ 0 ∀ i, j. (4.109)

y

z

x

1

2

3

2

3

α

z

1

2

γy

3

β

α

x

γ

Figura 4.13: Los ángulos α , β y γ representan pequeñas perturbaciones alrede-dor de la orientación de partida.

Así, la transformación presentada en 4.97 se escribe

[I]123

xyz=[

I]xyz

+[θ

]xyz

(4.110)

Page 225: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.5 Funciones de Alto Nivel 211

El vector velocidad angular se expresa en términos de las derivadas de losángulos propuestos como

[Ωxyz(123)

]xyz

=[Ωxyz(123)

]123

=

α

βγ

. (4.111)

El operador matriz de cambio de base entre dos bases de pequeñas rotaciones,bi y bj , queda representado por

[I]bj

bi

=[I]xyz

bi

[I]bj

xyz=

([I]bi

xyz

)T [I]bj

xyz=

=[

I]xyz

+[θj

]xyz

−[θi

]xyz

(4.112)

donde ahora

[Ωbj

(bi)]xyz

=[Ωbj

(bi)]123

=

αj − αi

βj − βi

γj − γi

.

Si al plantear el problema mecánico el usuario emplea orientaciones de estetipo, la posición de cualquier punto es una expresión lineal en las coordenadas departida, lo cual reduce sensiblemente la complejidad de las ecuaciones dinámicas.

Por otra parte, la matriz de cambio de base presentada en la ecuación 4.112no reune las condiciones de ortonormalidad y ortogonalidad que se exigen a lasmatrices de cambio de base habituales, por lo que el operador cambio de base dejade ser consistente.

La simplificación de términos que con esta aproximación resultan desprecia-bles se lleva a cabo con ayuda de la estructura auxiliar smalls , donde se alma-cenan todos los giros diferenciales y sus correspondientes derivadas.

Funciones de interfaz de usuario

Las matrices de cambio de base correspondientes a cada una de las formula-ciones anteriores se obtienen haciendo uso de las instrucciones:

• Parámetros de Euler

[sym 3x3 matrix A]=A_f_e_params(sym [theta_0; theta_1; ...

theta_2; theta_3])

Page 226: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

212 Implementación

donde la ligadura entre los parámetros debe ser impuesta por el usuario enla forma

new_Cp(string label, ...

theta_0^2 + theta_1^2 + theta_2^2 + theta_3^2 - 1)

• Ángulos de Euler

[sym 3x3 matrix A]=simple_3d_rotation(integer axis, sym alpha )

donde el entero axis = 1 ... 3 indica el eje alrededor del cual se rea-liza la rotación.

• Pequeñas rotaciones

[sym 3x3 matrix A]=A_small_123_rotation(sym [alpha; ...

beta; gamma])

En cualquiera de los casos anteriores, para introducir la matriz de cambio debase en la estructura ors , debe hacerse uso de la instrucción new_orientation

definida ésta en la sección 4.3.4.

Para casos en los que no se requieren manipulaciones algebraicas adicionales,se dispone una instrucción de alto nivel,

new_or(string name, integer type, string org_or, ...

sym svars, [integer axis]) ,

que permite generar e introducir, de forma automática, matrices de cambio debase de los tipos anteriores en la estructura ors .

Argumentos de entrada

name→ identificador de la base a introducir en la estructura ors .type→ tipo de base:

1→ giro simple alrededor del eje axis de la base org_or .2→ parámetros de Euler.3→ pequeñas rotaciones.4→ matriz general de dimensión (3, 3).

org_or→ base origen, a partir de la cual se define la base name .svars→ variables simbólicas que sirven para definir la matriz de cam-bio de base. Dependiendo del valor de type este argumento contiene

1→ 1 coordenada generalizada.2→ 4 coordenadas generalizadas en el orden theta_i, i = 0..3 .3→ 3 coordenadas generalizadas en el orden alpha, beta, gamma.

Page 227: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.5 Funciones de Alto Nivel 213

4 → matriz simbólica de dimensión (3, 3).axis→ sólo se exige en el caso type=1 .

Argumentos de salida

Ninguno.

Si la definición del problema incluye giros diferenciales, las expresiones obte-nidas con operadores vectoriales del tipo

omega, velocity_vector, alfa, acceleration_vector, ...

se simplifican haciendo uso de la función

[sym 3x1 l_vect] = vector_small_filter(sym 3x1 vect) ,

cuyo objetivo es linearizar la expresión simbólica del vector vect en elconjunto de pequeñas variables almacenado en la estructura smalls.

4.5.2. Pares Cinemáticos Elementales

Como ya se dijo, la definición de un par cinemático entre dos sólidos implica,en el caso más general, la introducción de información en las siguientes estructu-ras de datos:

• Ecuaciones geométricas y/o no holónomas → Cp y/o Cv .

• Torsores de enlace → etrss .

• Pares cinemáticos → joints .

En el caso del interfaz simbólico propuesto, los pares cinemáticos elementalesse introducen por medio de funciones de alto nivel que, a través de la informacióncartesiana subministrada por el usuario, plantean las ecuaciones cinemáticas ytorsores de enlace necesarios. Para ello, se utilizarán las funciones de bajo nivelpresentadas en apartados anteriores ( new_Cp, new_etrss, etc ...).

En todos los casos, tanto los torsores de enlace como las ecuaciones cine-máticas se introducen en las correspondientes estructuras de forma automática.Además, los torsores siempre se plantean en base a un mínimo número de incóg-nitas de enlace, lo cual evita la necesidad de introducir ecuaciones dinámicas deenlace al plantear el problema.

Page 228: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

214 Implementación

Por coherencia con las estructuras de datos, y pese a no ser necesario, la estruc-tura de pares cinemáticos se rellena en todos los casos a partir de la informaciónintroducida para definir cada uno de los enlaces.

En ocasiones, la monitorización de los grados de libertad asociados a la defini-ción del enlace (ángulo entre dos sólidos, distancia entre dos puntos, etc ...) puederesultar útil e incluso necesario. En tal caso, el usuario puede definir coordenadasauxiliares cuyas ecuaciones de definición se plantean de forma automática.

Evidentemente, si el enlace es compatible con la acotación de partida, los gra-dos de libertad asociados a la definición de dicho enlace coincidirán con algunasde las coordenadas de partida, por lo que la introducción de coordenadas auxilia-res no se hace necesaria.

PAR ESFÉRICO

Las relaciones geométricas asociadas un par esférico (figura 4.14) entre elpunto B1 del sólido Sol1 y el punto B2 del sólido Sol2 se expresan

OAbsB1 = OAbsB2

dondeOAbs hace referencia al origen de la referencia Abs .

OAbs

B1 ≡ B2

Sol2

Sol1

Figura 4.14: Par esférico

Page 229: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.5 Funciones de Alto Nivel 215

El torsor de enlace, definido con signo positivo cuando actúa sobre Sol2, seescribe

[F ε

2

]xyz

=

F

2,x

F 2,y

F 2,z

xyz

,[

Mε2

]xyz

=

0

0

0

xyz

(4.113)

Funciones de interfaz de usuario

Las ecuaciones geométricas, incógnitas de enlace y torsores de enlace asocia-dos a un par esférico entre dos sólidos se introducen en las estructuras correspon-dientes haciendo uso de la instrucción:

new_espheric_joint(string name, bd_name_1, pt_name_1, ...

string bd_name_2, pt_name_2)

Argumentos de entrada

name→ identificador del enlace.bd_name_1→ sólido sobre el que recae la reacción del enlace.pt_name_1→ punto cinemáticamente perteneciente a bd_name_1 enel que se define la acción de enlace.bd_name_2→ sólido sobre el que recae la acción del enlace.pt_name_2→ punto cinemáticamente perteneciente a bd_name_2 enel que se define la acción de enlace.

En este caso37, la pertenencia cinemática de los puntos se chequea compro-bando que su vector de posición en la referencia de los respectivos sólidoses constante.

Argumentos de salida

Ninguno.

Con el fin de evitar redundancias de tipo matemático, se omitirán las ecuacio-nes del tipo 0 = 0.

Los nombres de las ecuaciones se generan posponiendo las etiquetas_e1, _e2, y _e3 al nombre del par cinemático subministrado por el usuario.

Los nombres de las incógnitas de enlace se generan posponiendo las etiquetas_f1, _f2, y _f3 al nombre del par cinemático subministrado por el usuario.

37no así en el caso de la función de bajo nivel new_etrss.

Page 230: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

216 Implementación

Los nombres de los torsores de enlace sobre los sólidos bd_name_1 ybd_name_2 se generan respectivamente posponiendo las etiquetas _t1 y_t2 al nombre del par cinemático subministrado por el usuario.

La información correspondiente al par esférico se introduce de forma automá-tica en la estructura joints mediante una instrucción del tipo:

new_joint( name, name_t1, name_t2, ...

name_e1, name_e2, name_e3, 0, 1)

donde name es el nombre propuesto por el usuario para identificar el enlace.

Si el par esférico queda implícito en la acotación de partida, el usuario puedeautomatizar la tarea de generación de torsores e incógnitas de enlace haciendo usode la instrucción:

imp_espheric_joint(string name, string b_name_1, ...

string b_name_2, string pt_name)

donde pt_name representa el nombre del punto de definición del par esféri-co.

ELEMENTO DE TIPO BARRA

Un elemento de tipo barra sin masa38, situado entre el punto B1 del sólidoSol1 y el punto B2 del sólido Sol2 queda matemáticamente representado por unasola ecuación:

[B1B2

]Txyz

[B1B2

]xyz

= L2.

Sol1

Sol2

L

B1

B2

Figura 4.15: Elemento de tipo barra

38identificado también como massless link en la bibliografía

Page 231: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.5 Funciones de Alto Nivel 217

Desde el punto de vista cinemático, la ecuación anterior supone la presenciade un par esférico en cada uno de los sólidos. Sin embargo, el equilibrio dinámicodel elemento exige que la fuerza de enlace esté alineada con la barra, por lo que lostorsores de enlace se plantean en términos de una sola incógnita independiente, ft ,que representa la fuerza de tracción-compresión sobre dicha barra.

Así pues, el torsor de enlace actuante sobre el sólido Sol2, expresado en térmi-nos de la incógnita de enlace ft , se escribe

[F ε

1

]xyz

= − (ft/L)[B1B2

]xyz

,[M ε

1

]xyz

=

000

xyz

donde, si la solución para ft es > 0 , la fuerza sobre la barra es de tracción.

Funciones de interfaz de usuario

La ecuación geométrica, incógnita de enlace y torsores de enlace asociadosa un elemento de tipo barra entre dos sólidos se introducen en las estructurascorrespondientes haciendo uso de la instrucción:

new_fixed_dist_joint(string name, b_name_1, pt_name_1, ...

string b_name_2, pt_name_2, sym dist)

donde

name→ identificador del enlace.bd_name_1→ sólido sobre el que recae la reacción del enlace.pt_name_1 → punto cinemáticamente perteneciente a bd_name_1 en elque se define la acción de enlace.bd_name_2→ sólido sobre el que recae la acción del enlace.pt_name_2 → punto cinemáticamente perteneciente a bd_name_2 en elque se define la acción de enlace39.dist → parámetro simbólico que representa la distancia entre los dos pun-tos.

El criterio con el que se elige el nombre de la ecuación y de los torso-res de enlace es análogo al presentado en la sección anterior para la funciónnew_espheric_joint.

El nombre de las incógnita de enlace se generan posponiendo la etiqueta _f alnombre subministrado por el usuario para el elemento barra.

39la pertenencia cinemática de los puntos se chequea de forma análoga a la presentada para lafunción new_espheric_joint .

Page 232: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

218 Implementación

Por último, la información correspondiente al elemento barra se introduce enla estructura joints haciendo uso de la instrucción:

new_joint(name, name_t1, name_t2, name_e1, 0, 1)

donde name es el nombre propuesto por el usuario para identificar el ele-mento barra.

PAR CILÍNDRICO

Las relaciones geométricas asociadas un par cilíndrico entre dos sólidos Sol1 ySol2 se expresan

[eb

3

]123

=

0

0

1

123

[eb

1

]123

=

cos α12

sin α12

0

123

,[B1B2

]123

=

0

0

S12

123

(4.114)

donde

• eb

3hace referencia al versor de la base 1′2′3′ en la dirección del eje de

rotación (figura 4.16).

2

1 3

B1

s12

α12

B2

joint axis

2′

1

1′

3′≡ 3

Sol2

Sol1

Figura 4.16: Par cilíndrico entre los sólidos Sol1 y Sol2

Page 233: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.5 Funciones de Alto Nivel 219

• S12 y α12 son coordenadas auxiliares que representan los desplazamientosgeneralizados permitidos por el par cinemático.

El torsor de enlace, definido con signo positivo cuando actúa sobre Sol2, seescribe

[F ε

2

]123

=

F

2,1

F 2,2

0

123

,[

Mε2

]123

=

M

2,1

M 2,2

0

123

Funciones de interfaz de usuario

Las ecuaciones geométricas, incógnitas de enlace y torsores de enlace asocia-dos a un par cilíndrico se introducen en las estructuras correspondientes haciendouso de la instrucción:

new_cylindrical_joint(name, bd_name_1, pt_name_1, or_name_1, ...

bd_name_2, pt_name_2, or_name_2, ...

integer or_axis, [sym s12, sym alpha12])

Argumentos de entrada (tan sólo los que difieren de la instrucción anterior)

or_name_1 → orientación cinemáticamente perteneciente al sólidobd_name_1.or_name_2 → orientación cinemáticamente perteneciente al sólidobd_name_2.or_axis→ eje de rotación, or_axis = 1 ... 3 , de definición delpar cilíndrico.s12 → coordenada auxiliar que representa el desplazamiento relativoentre los sólidos medido sobre el eje de rotación.alpha12 → coordenada auxiliar que representa el giro relativo entrelos sólidos alrededor del eje de rotación.

Argumentos de salida

Ninguno.

Las bases or_name_1 y or_name_2 deben estar pre-orientadas, ya que delo contrario no se asegura la convergencia del problema de posición.

Los nombres de las ecuaciones de enlace se eligen de la forma

name_vrot_1, name_vrot_2 y name_b1b2_1, name_b1b2_2

para las condiciones exigidas a los vectores eb

3y B1B2 respectivamente.

Page 234: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

220 Implementación

Si el usuario introduce la coordenada auxiliar s12 , el nombre de su ecua-ción de definición se elige de la forma name_asv1 donde name es el nombrepropuesto por el usuario como identificador del par cilíndrico.

Si el usuario introduce la coordenada auxiliar alpha12 , el nombre de susecuaciones40 de definición se eligen de la forma name_asv2 y name_asv3 don-de name tiene el mismo significado que en el caso anterior.

Caso de ser planteadas, las ecuaciones name_asv1, name_asv2 yname_asv3 se marcan como ecuaciones de definición de coordenadas auxi-liares.

Los nombres de las fuerzas y momentos de enlace se generan posponiendo lasetiquetas41 _f1, _f2 y _h1, _h2 al nombre subministrado por el usuariopara el par cinemático.

Los nombres de los torsores de enlace sobre los sólidos bd_name_1 ybd_name_2 se generan de forma análoga a la presentada en secciones anteriores.

La información correspondiente al par cilíndrico se introduce en la estructurajoints haciendo uso de la instrucción:

new_joint(name, name_t1, name_t2, ...

name_vrot_1, name_vrot_2, name_b1b2_1, name_b1b2_2, 0, 1)

donde name es el nombre propuesto por el usuario para identificar el parcilíndrico. Evidentemente, las ecuaciones name_asvi, i = 1...3 nunca apa-recen en la definición del enlace.

Por otra parte, si el par cilíndrico queda implícito en la acotación de partida, lostorsores e incógnitas de enlace se introducen en las estructuras correspondienteshaciendo uso de la instrucción:

imp_cylindrical_joint(name, bd_name_1, pt_name_1, ...

bd_name_2, pt_name_2, or_name, or_axis)

donde or_name es la base en la que se definen las incógnitas de enlace.

40La definición de la coordenada alpha12 exige plantear dos ecuaciones que, aunque redundan-tes, serán necesarias para determinar dicha coordenada de forma unívoca.

41Pueden variar en función del valor de or_axis. En el caso mostrado, or_axis = 3.

Page 235: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.5 Funciones de Alto Nivel 221

PAR PRISMÁTICO

Desde el punto de vista cinemático, un par prismático puede entenderse comoun par cilíndrico en el que la coordenada α12 se sustituye por un parámetro(ecuación 4.114).

El torsor de enlace, definido con signo positivo cuando actúa sobre Sol2, seescribe

[F ε

2

]123

=

F

2,1

F 2,2

0

123

,[

Mε2

]123

=

M

2,1

M 2,2

M 2,3

123

Funciones de interfaz de usuario

Las ecuaciones geométricas, incógnitas de enlace y torsores de enlace asocia-dos a un par prismático entre dos sólidos se introducen en las correspondientesestructuras haciendo uso de la instrucción:

new_prismatic_joint(name, b_name_1, pt_name_1, or_name_1, ...

b_name_2, pt_name_2, or_name_2, ...

integer or_axis, [prm alpha12, [sym s12]])

Si no se introduce el parámetro simbólico alpha12 , se asume que el valorde dicho parámetro es 0.

Si se introduce la coordenada auxiliar s12 , el nombre de su ecuación dedefinición se elige de la misma forma que en el caso del par cilíndrico.

La información correspondiente al par prismático se introduce en la estructurajoints haciendo uso de la instrucción:

new_joint(name, name_t1, name_t2, name_vrot_1, name_vrot_2, ...

name_b1b2_1, name_b1b2_2, name_an1, name_an2, 0, 1)

donde name_an1 y name_an2 representan los nombres de las ecuacionesde enlace, una de ellas redundante, añadidas respecto al caso anterior.

Por otra parte, si el par prismático queda implícito en la acotación de partida,los torsores e incógnitas de enlace se generan haciendo uso de la instrucción:

imp_prismatic_joint(name, b_name_1, pt_name_1, b_name_2, ...

pt_name_2, or_name, or_axis)

donde or_name es la base en la que se definen las incógnitas de enlace.

Page 236: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

222 Implementación

PAR DE REVOLUCIÓN

Desde el punto de vista cinemático, un par de revolución puede entendersecomo un par cilíndrico en el que la coordenada S12 se sustituye por un parámetro(ecuación 4.114).

El torsor de enlace, definido con signo positivo cuando actúa sobre Sol2, seescribe

[F ε

2

]123

=

F

2,1

F 2,2

F 2,3

123

,[

Mε2

]123

=

M

2,1

M 2,2

0

123

Funciones de interfaz de usuario

Las ecuaciones geométricas, incógnitas de enlace y torsores de enlace asocia-dos a un par de revolución entre dos sólidos se introducen en las correspondientesestructuras haciendo uso de la instrucción:

new_revolute_joint(name, b_name_1, pt_name_1, or_name_1, ...

b_name_2, pt_name_2, or_name_2, ...

integer or_axis, [sym alpha12])

Si se introduce la coordenada auxiliar alpha12 , el nombre de sus ecuacio-nes de definición se eligen de la forma name_asv1 y name_asv2 . El resto denombres se eligen de forma análoga a la presentada en apartados anteriores.

Los nombres de las fuerzas y momentos de enlace se generan posponiendolas etiquetas _f1, _f2, _f3 y _h1, _h2 al nombre subministrado por elusuario para el par cinemático.

La información correspondiente al par de revolución se introduce en la estruc-tura joints mediante una instrucción del tipo:

new_joint( name, name_t1, name_t2, name_vrot_1, ...

name_vrot_2, name_b1b2_1, name_b1b2_2, name_b1b2_3, 0, 1)

Por otra parte, si el par de revolución queda implícito en la acotación de par-tida, los torsores e incógnitas de enlace pueden generarse de forma automáticahaciendo uso de la instrucción:

imp_revolute_joint(name, b_name_1, b_name_2, ...

pt_name, or_name, or_axis)

Page 237: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.5 Funciones de Alto Nivel 223

donde

pt_name es el punto de definición del par de revolución.or_name es la base en la que se definen las incógnitas de enlace.

PAR ANALÍTICO O GENÉRICO

Tal como se describe en la sección 4.4.4, cualquier par cinemático entre dossólidos (véase figura 4.17), puede caracterizarse de forma genérica a partir de lasecuaciones cinemáticas que sirvieron para definir dicho par cinemático.

El torsor de enlace, definido con signo positivo cuando actúa sobre Sol2, seescribe

[F ε

2

]xyz

=

F

2,x

F 2,y

F 2,z

xyz

,[

Mε2

]xyz

=

M

2,x

M 2,y

M 2,z

xyz

Sol2

B2

Sol1

B1

[

φv, εi

]

Figura 4.17: Representación de un par analítico entre dos sólidos

La definición del par cinemático debe completarse con las correspondientesecuaciones dinámicas de enlace, que en este caso adoptan la forma

FF εi

q,1 + FF εi

q,2 + φT

v,εiλεi

= 0

Page 238: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

224 Implementación

o bien

Vεi

qz ε + φT

v,εiλεi

= 0

Funciones de interfaz de usuario

Un par genérico entre dos sólidos se define mediante la instrucción:

new_generic_joint(name, b_name_1, pt_name_1, ...

b_name_2, pt_name_2, ...

cp pointer array p_pointer, ...

cv pointer array v_pointer )

Argumentos de entrada

name→ identificador del par cinemático.b_name_1→ primer sólido que participa en el enlace.pt_name_1→ punto de definición del torsor de enlace en b_name_1.b_name_2→ segundo sólido que participa en el enlace.pt_name_1→ punto de definición del torsor de enlace en b_name_2.p_pointer→ lista42 de ecuaciones geométricas asociadas al enlace.v_pointer→ lista de ecuaciones no holónomas asociadas al enlace.

Argumentos de salida

Ninguno.

Los nombres de las fuerzas y momentos de enlace se generan posponiendo lasetiquetas _Fx, _Fy, _Fz y _Mx, _My, _Mz al nombre subministrado por elusuario para el par cinemático.

El torsor de enlace, name_t2 , actuante sobre el punto pt_name_2 del só-lido b_name_2 y proyectado en la base global se define de forma automáticacon una instrucción del tipo:

new_etrs(name_t2, b_name_2, pt_name_2, ...

[name_Fx, name_Fy, name_Fz]’ , ’or0’, ...

[name_Mx, name_My, name_Mz]’ , ’or0’)

42subministrada en cualquiera de las formas:• p_pointer = [ n_1; ... n_i; ... n_n ], donde n_i representa la posición de la i-

ésima ecuación en la estructura de ecuaciones geométricas.• p_pointer = label_1;...label_i;...label_n , donde label_i representa el nom-

bre que el usuario empleó para definir i-ésima ecuación geométrica.Si el enlace no tiene asociada ninguna ecuación, p_pointer=0 .

Page 239: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.5 Funciones de Alto Nivel 225

El torsor de enlace, name_t2 , actuante sobre el punto pt_name_1 del só-lido b_name_1 se define de forma análoga al anterior.

Exportación

Si el enlace no tiene ecuaciones asociadas, es decir, dicho enlace es compatiblecon la acotación de partida, la contribución de dicho enlace al juego de ecuacionesdinámicas de enlace se exporta como parte de la función

[TrVm] = TrV_0(prm, q)

Si el enlace tiene asociadas ecuaciones, las ecuaciones dinámicas de enlacecorrespondientes a dicho enlace se desarrollan siguiendo el algoritmo presentadoen la sección 4.4.4.

Las matrices Vεi

zqy φ

T

v, εise evalúan en el plano numérico haciendo uso

respectivo de las funciones

[TrVm] = TrV_name(prm, q) y [Jvtm] = Jvt_name(prm, q)

donde name representa el nombre asignado por el usuario al par cinemático.

4.5.3. Planteamiento de Torsores Constitutivos

La definición de una acción de tipo constitutivo entre dos sólidos queda refle-jada en la estructura de torsores constitutivos, etrss.

Los elementos constitutivos típicos que se analizan en la presente sección sonlos siguientes:

• Fuerza gravitatoria• Elemento muelle-amortiguador• Elemento muelle-amortiguador• Elemento muelle-amortiguador con rigidez en rotaciones• Elemento viga de Bernouilli• Elemento viga generalizado

El Sistema de Álgebra Simbólica de Bajo Nivel propuesto permite plantearlos torsores constitutivos asociados a los elementos anteriores en términos de lascoordenadas de partida. Sin embargo, la definición de dichos torsores resulta mássencilla cuando éstos se plantean en términos de coordenadas auxiliares tales co-mo la longitud de un muelle o el desplazamiento relativo entre los extremos de unelemento viga43.

43Nótese que, la introducción de coordenadas auxiliares requiere introducir las ecuaciones quelas definen en términos de las coordenadas de partida, lo cual se traduce en sistemas de ecuacionesde mayor tamaño.

Page 240: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

226 Implementación

En la mayoría de los casos, los torsores constitutivos serán planteadas en tér-minos de variables auxiliares definidas de forma automática. El tratamiento dedichas variables será descrito con más detalle en la sección C.1.

FUERZA GRAVITATORIA

El torsor asociado a la fuerza gravitatoria, actuante sobre el centro de grave-dad, Gk, del sólido Solk se expresa:

[F g

k

]xyz

=

0

0

−mSolk g

xyz

,[

Mg

k

]xyz

=

0

0

0

xyz

Funciones de interfaz de usuario

El torsor correspondiente a una acción gravitatoria se introduce en la estructuractrss haciendo uso de la instrucción:

new_gravity_ctrs(string name, string bd_name, integer dir)

Argumentos de entrada

name→ identificador del torsor .bd_name→ sólido sobre el que actúa la fuerza gravitatoria.dir → dirección de la base or0 , dir = -3, -2, ... 2, 3 , enel que actúa dicha fuerza.

Argumentos de salida

Ninguno.

El parámetro g se introduce en la estructura params al inicializar la basede datos del problema con un valor por defecto de 9,8 m/s2.

ELEMENTO MUELLE-AMORTIGUADOR

El elemento muelle-amortiguador direccional presentado en la figura 4.18 re-laciona el desplazamiento relativo entre los puntos B1 y B2 , haciendo unafuerza en la dirección del vector de posición que los une.

La fuerza asociado al elemento muelle-amortiguador direccional, actuante so-bre el punto B2 del sólido Sol2 se expresa:

[F kc

2

]xyz

= −kd (d − d0)[v]xyz

− cd d[v]xyz

Page 241: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.5 Funciones de Alto Nivel 227

Sol1

Sol2

B1

δL

B2

L0

Figura 4.18: Elemento muelle-amortiguador direccional

mientras que el momento actuante en cualquier punto se expresa:

[Mkc

2

]xyz

=

0

0

0

xyz

donde

• d es una variable auxiliar que representa la distancia entre los puntos B1

yB2.

• d0 es la longitud natural del muelle.

• v es un vector auxiliar que se define en términos del vectorB1B2 según

[B1B2

]xyz

= d[v]xyz

= d

v1

v2

v3

xyz

, vTv = 1

La energía potencial del elemento muelle se expresa en términos de la coorde-nada auxiliar d según:

U (k) =1

2kd (d − d0)

2

Page 242: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

228 Implementación

Funciones de interfaz de usuario

En el caso de la implementación propuesta, el torsor constitutivo anterior pue-de introducirse en la estructura ctrss haciendo uso de la instrucción

[sym d, sym dd]=new_gen_kc_ctrs(name, bd_name_1, pt_name_1, ...

bd_name_2, pt_name_2, ...

sym l0, sym kl, sym cl)

Argumentos de entrada

name→ identificador del torsor.bd_name_1 → sólido sobre el que actúa el conjunto muelle-amortiguador.pt_name_1→ punto cinemáticamente perteneciente a bd_name_1 so-bre el que actúa el conjunto muelle-amortiguador.bd_name_2 → sólido sobre el que actúa el conjunto muelle-amortiguador.pt_name_2→ punto cinemáticamente perteneciente a bd_name_2 so-bre el que actúa el conjunto muelle-amortiguador.l0 → longitud natural del muelle direccional.kl → constante de rigidez.cl → constante de amortiguamiento.

Argumentos de salida

d → coordenada auxiliar que representa la distancia entre los puntospt_name_1 y pt_name_2.dd → derivada temporal de la coordenada anterior.

Al igual que en el caso de los pares cinemáticos, la pertenencia cinemática delos puntos se chequea comprobando que su vector de posición en la referencia delos respectivos sólidos es constante.

El nombre de la coordenada auxiliar se elije posponiendo la etiqueta _d alnombre subministrado por el usuario para el elemento muelle.

La ecuación de definición de la variable auxiliar recibe el nombre dename_cp donde name representa el identificador del elemento muelle.

ELEMENTO MUELLE-AMORTIGUADOR, FIJO EN UNA BASE

El elemento muelle-amortiguador presentado en la figura 4.22 relaciona eldesplazamiento relativo entre los puntos B1 y B2 y se supone fijo a la base 123 .

Page 243: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.5 Funciones de Alto Nivel 229

1

2

3

B1

L0

Sol1

Sol2

B2

δL1

δL3

δL2

Figura 4.19: Elemento muelle-amortiguador

El torsor asociado al elemento muelle-amortiguador, actuante sobre el puntoB2 del sólido Sol2 se expresa:

[F kc

2

]123

= −[

Kl

]123

[B1B2 −L0

]123

−[

Cl

]123

(dd t

[B1B2

]123

)

[Mkc

2

]123

=

000

123

(4.115)

donde L0 representa la longitud natural del muelle.

La expresión simbólica del torsor anterior se simplifica mediante la introduc-ción de las coordenadas auxiliares δl1 , δl2 y δl3 , de forma que

[B1B2

]123

=

δl1

δl2

δl3

123

,dd t

[B1B2

]123

=

δl1

δl2

δl3

123

Page 244: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

230 Implementación

La energía potencial del elemento muelle se expresa en términos de las coor-denadas auxiliares introducidas según:

U (k) =1

2

[qa −L0

]T Kl

[qa − L0

]

qa =[

δl1 δl2 δl3]T

Funciones de interfaz de usuario

Los torsores constitutivos correspondientes a un elemento del tipo muelle-amortiguador se introducen en la estructura ctrss haciendo uso de la instruc-ción:

new_disp_kc_ctrs(name, bd_name_1, pt_name_1, ...

or_name_1, b_name_2, pt_name_2, ...

sym 3x1 L0, sym 3x1 Kl, sym 3x1 Cl)

Argumentos de entrada (tan sólo los que difieren de la instrucción anterior)

or_name_1→ orientación cinemáticamente perteneciente a bd_name_1 enla que se expresan todas las constantes constitutivas.L0 → longitud natural del muelle, expresada en la base or_name_1.Kl → rigidez, expresada en la base or_name_1.Cl → amortiguamiento, expresado en la base or_name_1.

Argumentos de salida

Ninguno.

Los nombres de las tres coordenadas auxiliares introducidas se eligen pospo-niendo las etiquetas _dltx, _dlty y _dltz al nombre subministrado por elusuario para el elemento muelle.

Las ecuaciones de definición de las variables auxiliares reciben los nombresname_cpx, name_cpy y name_cpz donde name tiene el mismo significado

que en el apartado anterior.

ELEMENTO MUELLE-AMORTIGUADOR, FIJO EN DOS BASES

El elemento muelle-amortiguador presentado en la figura 4.20 relaciona eldesplazamiento relativo entre los puntos B1 y B2 además del giro relativo entrelas bases 123 y 1 ′2 ′3 ′.

Page 245: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.5 Funciones de Alto Nivel 231

3

Sol1

B12

1

3′

1′

2′

B2

Sol2

B1B2

L0

Figura 4.20: Elemento muelle-amortiguador con rigidez en rotaciones

El torsor asociado al elemento muelle-amortiguador con rigidez en rotaciones,actuante sobre el punto B2 del sólido Sol2 se expresa:

[F kc

2

]123

= −[

Kl

]123

[δl− L0

]123

−[

Cl

]123

[δl]123

[Mkc

2

]123

= −[

Kr

]123

[Θ123(1

′2′3′) − Θ0

]123

−[

Cr

]123

[Ω123(1

′2′3′)]123

(4.116)

donde

• Θ123(1′2′3′) es el vector de rotación (sección 4.5.1) asociado a la matriz de

cambio de base[I]1′2′3′123

.

• Θ0 representa la posición de reposo para el resorte angular.

La expresión simbólica del torsor anterior se simplifica mediante la introduc-ción de las coordenadas auxiliares δl1 , δl2 , δl3 además de tres ángulos de Euler

Page 246: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

232 Implementación

con secuencia de giro 123 , de forma que

[Θ123(1

′2′3′)]123

=

θ1

θ2

θ3

123

,[Ω123(1

′2′3′)]123

=

θ1

θ2

θ3

123

(4.117)

La energía potencial del elemento muelle se expresa en términos de las coor-denadas auxiliares introducidas según:

U (k) =1

2

(qa −

[L0

Θ0

])T [ Kl 0

0 Kr

](qa −

[L0

Θ0

]),

qa =[

δl1 δl2 δl3 θ1 θ2 θ3

]T

Funciones de interfaz de usuario

Los torsores correspondientes a un elemento muelle-amortiguador con rigidezen rotaciones se introcucen en la estructura ctrss haciendo uso de la instruc-ción:

new_disp_rot_kc_ctrs(name, bd_name_1, pt_name_1, or_name_1, ...

bd_name_2, pt_name_2, or_name_2, ...

sym 3x1 L0, 3x1 Kl, 3x1 Cl, 3x1 R0, ...

sym 3x1 Kr, 3x1 Cr, [3x1 RotVect]);

Argumentos de entrada (sólo los que difieren de instrucciones anteriores)

or_name_2→ orientación cinemáticamente perteneciente a bd_name_2.bd_name_2 → sólido sobre el que actúa el conjunto muelle-amortiguador.pt_name_2→ punto cinemáticamente perteneciente a bd_name_2 so-bre el que actúa el conjunto muelle-amortiguador.R0 → posición de reposo para el resorte angular.Kr → rigidez angular, expresada en la base or_name_1.Cr → amortiguamiento angular, expresado en la base or_name_1.RotVect → vector de rotación correspondiente al cambio de baseor_name_1 -> or_name_2. Este vector es opcional. En el caso más

general, se crean tres variables auxiliares según 4.117.

Page 247: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.5 Funciones de Alto Nivel 233

Argumentos de salida

Ninguno.

Los nombres de las variables auxiliares de desplazamiento relativo se eligende forma análoga a los del apartado anterior.

Si la matriz de cambio de base entre los dos sólidos resulta ser una basede Euler con secuencia de giro 123 , 3D_MEC_MATLAB calcula el vectorde rotación de forma automática. Si el usuario introduce el vector de rotaciónde forma explícita, el torsor constitutivo se construye con dicho vector. Encualquier otro caso se genera una nueva matriz de cambio de base entre 123

y 1 ′2 ′3 ′ en términos de tres coordenadas auxiliares que reciben los nombresname_aa1, name_aa2 y name_aa3 . Los elementos de la matriz de cambiode comparan uno a uno generando nueve ecuaciones de definición, de las cualesseis son redundantes. Las ecuaciones de definición anteriores se etiquetan con losnombres name_cpaai, i=1..9 donde name representa el identificador delelemento muelle.

ELEMENTO VIGA DE BERNOUILLI

El elemento viga de Bernouilli presentado en la figura 4.21 relaciona el despla-zamiento relativo entre los puntos B1 y B2 además del giro diferencial relativoentre las bases 123 y 1 ′2 ′3 ′.

2

1

2′

3′

3

L0

Sol1

Sol2

1′

B2

B1

Figura 4.21: Elemento viga de Bernouilli entre los sólidos Sol1 y Sol2

Page 248: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

234 Implementación

El torsor asociado al elemento viga, actuante sobre el puntoB2 del sólido Sol2se expresa:

F kc2

M kc2

123

= −

EAL

0 0 0 0 00 12EIz

L3 0 0 0 −6EIz

L2

0 0 12EIy

L3 0 6EIy

L2 00 0 0 GJ

L0 0

0 0 6EIy

L2 0 4EIy

L0

0 −6EIz

L2 0 0 0 4EIy

L

123

δl1 − Lδl2δl3θ1

θ2

θ3

123

Cl 0

0 Cr

123

δl1δl2δl3θ1

θ2

θ3

123

(4.118)

donde

• E es el módulo de Young del material.

• G es el módulo de cortadura del material.

• L es la longitud de la viga.

• A es el área de la sección.

• J es el momento polar de inercia de la sección.

• Iy e Iz son los momentos de inercia de la sección respecto a los ejestransversales de la viga (en este caso 2 y 3 respectivamente).

• δl es un vector auxiliar que se define como

[δl]123

=[B1B2

]123

• θ se define de la misma forma que en 4.117. En este caso, la ecuación cons-titutiva 4.118 exige que los valores de θi , i = 1 . . . 3 sean diferenciales o,en su defecto, suficientemente pequeños.

Page 249: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.5 Funciones de Alto Nivel 235

La energía potencial se expresa en términos de la matriz de rigidez, Kv , ylas variables auxiliares introducidas según :

U (k) =1

2qT

a Kv qa

qa =[

δl1 − L δl2 δl3 θ1 θ2 θ3

]T

Funciones de interfaz de usuario

Los torsores correspondientes a un elemento viga de Bernouilli se introducenen la estructura ctrss haciendo uso de la instrucción:

new_beam_ctrs(name, bd_name_1, pt_name_1, or_name_1, ...

bd_name_2, pt_name_2, or_name_2, ...

sym 7x1 Prm, sym 3x1 Cl, ...

sym 3x1 Cr, [sym 3x1 RotVect])

Argumentos de entrada (sólo los que difieren de instrucciones anteriores)

Prm → parámetros constitutivos del elemento viga, dispuestos de laforma prm = [ E, G, L, A, I_y, I_z, J ]’

Argumentos de salida

Ninguno.

Los nombres de las variables auxiliares de desplazamiento relativo se eligende forma análoga a los de apartados anteriores.

Si el usuario introduce el argumento opcional RotVect de forma explícita,el torsor constitutivo se construye con dicho vector. En caso contrario, la librería3D_MEC_MATLAB calculará el vector de rotación de forma automática siempreque la matriz de cambio de base entre las orientaciones de los extremos de loselementos se corresponda en topología con la de una base de pequeñas rotaciones.

ELEMENTO VIGA GENERALIZADO

El elemento viga generalizado presentado en la figura 4.21 es análogo al pre-sentado en la sección anterior. La única diferencia es que la matriz de rigidez delelemento se sustituye por una matriz genérica de dimensión (6, 6) .

Page 250: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

236 Implementación

L0

B2

B1

3

21

2′

3′

1′

Sol2

Sol1

[

K]

Figura 4.22: Elemento viga generalizada

El torsor asociado al elemento viga, actuante sobre el puntoB2 del sólido Sol2se expresa ahora

F kc2

M kc2

123

= −[

Kv

]123

δl1 − Lδl2δl3θ1

θ2

θ3

123

Cl 0

0 Cr

123

δl1δl2δl3θ1

θ2

θ3

123

donde Kv representa una matriz, a subministrar por el usuario de formanumérica, de las mismas características que la presentada en el apartado anterior.

La expresión para la energía potencial del elemento es análoga a la del aparta-do anterior.

Funciones de interfaz de usuario

new_gen_beam_ctrs(name, bd_name_1, pt_name_1, or_name_1, ...

bd_name_2, pt_name_2, or_name_2, ...

sym 6x6 K_matrix, sym L0, ...

sym 3x1 Cl, sym 3x1 Cr, [sym 3x1 RotVect])

Page 251: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

4.5 Funciones de Alto Nivel 237

Argumentos de entrada (sólo los que difieren de la instrucción anterior)

K_matrix→ matriz de rigidez del elemento viga.

Argumentos de salida

Ninguno.

La matriz simbólica K_matrix se construye de forma automática a partir deuna matriz numérica de dimensión (12, 12) subministrada por el usuario haciendouso de la instrucción:

[sym 6x6 rKe] = build_gen_rK_matrix(string K_name, ...

real 12x12 K_num, tol)

Argumentos de entrada

K_name→ nombre de la matriz.K_num→matriz de rigidez numérica, expresada en la base or_name_1.tol→ tolerancia para filtrar los valores numéricos de la matriz. Cual-quier valor por debajo de tol será considerado nulo.

Argumentos de salida

rKe→ matriz simbólica de dimensión (6, 6) en el formato requeridopor la función new_gen_beam_ctrs .

La matriz de rigidez numérica introducida debe ser simétrica y los elementosno nulos se sustituyen por parámetros simbólicos de nombre K_name_i_j don-de i y j representan los índices del elemento en la matriz K_name .

En la sección 5.6 se muestra un ejemplo de uso de este elemento así como delelemento viga de Bernouilli presentado en la sección anterior.

Page 252: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson
Page 253: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

5. Ejemplos

5.1. Introducción

Tal como se describe en la introducción de la Tesis Doctoral, en este capítulo sepresentarán una serie de ejemplos destinados a ilustrar la capacidad del programaen el planteamiento de los diferentes problemas presentados en el Capítulo 4.

En primer lugar, y a modo de resumen del capítulo anterior, se describirá lafilosofía de trabajo de la librería 3D_MEC_MATLAB .

Después, y con el objeto de introducir al usuario en el manejo de la librería, seresolverán los siguientes problemas:

• Mecanismo pistón-biela-manivela básico.

• Mecanismo pistón-biela-manivela avanzado.

• Disco rodando por encima de una superficie parabólica.

De los tres ejemplos anteriores, los dos primeros ilustran los diferentes ni-veles de interacción con 3D_MEC_MATLAB , mientras que el tercero pone demanifiesto la capacidad de la librería en el planteamiento de restricciones no ha-bituales.

La colección se completa con dos ejemplos de complejidad superior:

• Máquina transportadora.

• Interacción con el entorno SIMULINK .

El primero de los ejemplos anteriores presenta una aplicación de la librería aun problema del mundo real, mientras que el segundo ilustra la forma en la queun modelo dinámico, generado con 3D_MEC_MATLAB , puede introducirse enel entorno de simulación SIMULINK .

Page 254: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

240 Ejemplos

5.2. Funcionamiento de 3D_MEC_MATLAB

La figura 5.1 muestra, a modo de diagrama de flujo, la forma habitual de inte-racción con la librería simbólico-numérica 3D_MEC_MATLAB .

init

user

kinematics

euler_dynamics

lagrange_dynamics

gr

cinematica dinamica

graficosintegradores

plantillas independientes del problema

q_init.m

dq_init.m

valores iniciales

prm_init.m

parametros

ddzetas.m

zetas.m

dzetas.m

movimiento forzado

ues.m

fuerzas exterioresleyes constitutivas

main_numeric.m

3d_Mec_Matlab

input

main_symbolic.m

toleranciassolver

Ficheros de generación automática

resultadoMatlab

numerico

simbolico

Figura 5.1: Flujo del programa

El fichero main_symbolic.m , programado por el usuario utilizando las fun-ciones de librería de 3D_MEC_MATLAB , contiene la definición del sistema me-cánico cuya simulación se pretende realizar.

La interpretación por parte de la librería simbólica del fichero anterior, produ-ce como resultado una serie de ficheros, en formato legible por MATLAB , quepermitirán realizar, desde el interfaz numérico, la simulación deseada.

Una vez exportados, los ficheros anteriores se almacenan de forma estructura-da en los directorios siguientes:

• init → funciones de inicialización de los diferentes vectores analíticos:q, dq, ddq, ...

• user → funciones especiales modificables por el usuario: z, dz

ddz, u, ...

• kinematics → funciones numéricas relacionadas con los problemascinemáticos.

• lagrange_dynamics → funciones numéricas relacionadas con el pro-blema dinámico de Lagrange y con el problema de equilibrio estático.

Page 255: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

5.2 Funcionamiento de 3D_MEC_MATLAB 241

• euler_dynamics → funciones numéricas relacionadas con el problemadinámico de Newton-Euler y con las ecuaciones dinámicas de enlace.

• gr → funciones de representación gráfica.

La figura 5.2 presenta, a modo de esquema, la ubicación por directorios asícomo los nombres de las funciones exportadas en el caso más general.

kinematics

prm_init.m

ues.m

ddzetas.m

zetas.m

dzetas.m

init

user gr

bCp.m

bCv.mbv.m

Jq.m

ACv.mJv.m

dJq.m

dACv.m

JbCpq.m JbCpdq.m JbCpz.m JbCpdz.m

JbCvq.m JbCvdq.m JbCvz.m JbCvdz.m

ba.m

lmbp_init.m

lmb_init.m

epsln_init.m

ddq_init.m

dq_init.m

q_init.m

euler_dynamics

lagrange_dynamics

Qli2_i.m i=1..n

Qli1_i.m i=1..n

Qlc_i.m i=1..n

Cp_t0.m

Cp.m

Jp_t0.m

draw_all.m

redraw_all.m

gr_i.m i=1..n

Ql.m

Ml.m Ml_i.m i=1..n

Me.m

Qec_i.m i=1..n

Qei_i.m i=1..nQe.m

Ve.m Ve_i.m i=1..n

Me_i.m i=1..n

rgr_i.m i=1..n

Figura 5.2: Ficheros generados de forma automática desde el interface simbólico

La exportación de las funciones que permiten resolver los diferentes proble-mas de la mecánica se lleva a cabo empleando funciones de alto nivel, tales como:

• export_kinematics → problema cinemático.

• export_equilibrium_position → problema de equilibrio estático.

• export_euler → problema dinámico de Newton-Euler.

Page 256: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

242 Ejemplos

• export_lagrange → problema dinámico de Lagrange.

• export_DinEq → ecuaciones dinámicas de enlace.

Desde el punto de vista de la simulación numérica, la librería3D_MEC_MATLAB dispone de una serie de plantillas que, junto con los fi-cheros exportados, permitirán al usuario resolver diferentes problemas de lamecánica presentados en el capítulo 4.

La figura 5.3 muestra, organizadas por disciplinas, las diferentes plantillasnuméricas provistas por la librería:

graficos

dinamica integradores

lagrange_ode_solver.m

lagrange_matlab_odefun.m

lagrange_simulink_odefun.m

euler_matlab_odefun.m

euler_simulink_odefun.m

euler_ode_solver.m

draw_ref.m

draw_node.m

draw_line.m

redraw_ref.m

redraw_node.m

redraw_line.m

redraw_torque.mdraw_torque.m

draw_force.m redraw_force.m

solve_position.m

solve_velocity.m

solve_initial_position.m

solve_initial_velocity.m

solve_acceleration.m

euler_A.m

euler_B.m

solve_euler_dynamics.m

lagrange_A.m

lagrange_B.m

solve_lagrange_dynamics.m

solve_equilibrum_position.m

euler_num.m lagrange_num.m equilibium_num.m

modelo.mdlmatlab_num.m

cinematica

numericas

Figura 5.3: Plantillas que forman la librería de simulación numérica

• numéricas → resolución de los diferentes problemas de la mecánica.

• cinemática → montaje y resolución de las ecuaciones cinemáticas.

• dinámica → montaje y resolución de las ecuaciones cinemáticas juntocon las dinámicas empleando diferentes formalismos.

• integración → encapsulación de las ecuaciones anteriores para serutilizadas por diferentes integradores.

• gráficos → representación gráfica de puntos, líneas, referencias, fuer-zas, momentos, ...

Page 257: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

5.2 Funcionamiento de 3D_MEC_MATLAB 243

Antes de realizar cualquier simulación numérica, el usuario deberá revisar lasfunciones contenidas en el directorio user ,

prm_init, zetas, dzetas, ddzetas y ues ,

así como los valores iniciales de posición y velocidad, q_init.m ydq_init.m respectivamente, presentes en el directorio init .

Además, el usuario deberá ajustar una serie de parámetros, tales como: tiem-pos de simulación y tolerancias para los diferentes solvers, que generalmente apa-recen en las plantillas denotadas por numéricas.

Page 258: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

244 Ejemplos

5.3. Ejemplo 1: Pistón-biela-manivela básico

En esta sección se presenta el listado de definición correspondiente al meca-nismo pistón-biela-manivela que aparece en la figura 5.4.

La definición del mecanismo es análoga a la presentada en la sección 3.8,es decir, el movimiento del mecanismo queda caracterizado mediante dos coor-denadas generalizadas, a1 y a2 , que representan los giros absolutos de loseslabones manivela y biela respectivamente.

−4 −2 0 2 4 6 8 10 12−1

0

1

2

3

4

5

6

d

l1

org0

e

error de montajeor1, ref1

or2, ref2

l2

c

or0, ref3

a1

a2

Figura 5.4: Acotación y parámetros cinemáticos del problema

En este caso, el problema se plantea empleando la funcionalidad básica delinterfaz simbólico, es decir, todos los datos se introducen de forma manual en lasdiferentes estructuras que dan soporte al planteamiento analítico de las ecuacionescinemáticas y dinámicas.

INICIALIZACIÓN DE LA LIBRERÍA

La librería simbólica 3D_MEC_MATLAB se inicializa haciendo uso de lassiguientes rutinas:

• La rutina environment.m , presentada en el anexo A.1, actualiza la va-riable path de MATLAB para que todas las funciones de interface de lalibrería simbólica estén accesibles.

• La rutina initialize.m , presentada en el anexo A.1, inicializa las varia-bles y estructuras de datos que dan soporte al planteamiento simbólico delproblema.

Page 259: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

5.3 Ejemplo 1 245

Con el fín de asegurar el correcto funcionamiento de la librería, ambas rutinasdeberán ejecutarse en las primeras lineas del listado de definición del mecanismo.

5.3.1. Listado de definición del mecanismo

Por coherencia con lo presentado en el capítulo 4, los listados de defini-ción se dividirán en las secciones: problema cinemático, problema dinámico yexportación.

Además, se suprimirá la parte concerniente a la representación gráfica de losdiferentes elementos.

PROBLEMA CINEMÁTICO

La acotación del mecanismo así como las características del problema cine-mático se representan en la figura 5.4.

1 % Longitudes de los eslabones 1 y 223 [l1]=new_param(’l1’, 4);4 [l2]=new_param(’l2’, 10);56 % Coordenadas generalizadas78 [a1, da1]=new_q(’a1’);9 [a2, da2]=new_q(’a2’);

1011 % Nota: las velocidades generalizadas se utilizan12 % en la definición de diferentes elementos constitutivos.1314 % Posición inicial para la coordenada a11516 [a10]=new_param(’a10’, pi/3);1718 new_Cpini(’Cpini1’, a1-a10);1920 % Orientaciones2122 new_or(’or1’, 1, ’or0’, a1, 3);23 new_or(’or2’, 1, ’or0’, a2, 3);2425 % Nota: El parámetro ’1’ representa un ’giro elemental’.26 % ’or0’ es el nombre de la base global, la cual se27 % genera al inicializar la base de datos del problema.2829 % Puntos característicos3031 new_pt(’b’, ’org0’, ’or1’, [l1 0 0]’);

Page 260: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

246 Ejemplos

32 new_pt(’c’, ’b’, ’or2’, [l2 0 0]’);3334 % Nota: ’org0’ es el nombre del origen de coordenadas, el cual35 % se genera al inicializar la base de datos del problema.3637 % Referencias3839 new_ref(’ref1’, ’org0’, ’or1’);40 new_ref(’ref2’, ’b’, ’or2’);41 new_ref(’ref3’, ’c’, ’or0’);4243 % Aplicación de la restricción cinemática en el punto c4445 PoC=position_vector(’c’, ’org0’,’or0’);4647 new_Cp(’Cp1’, PoC(2,1));

PROBLEMA DINÁMICO

La figura 5.5 muestra los parámetros y elementos considerados en el problemadinámico.

0 2 4 6 8 10 12−1

0

1

2

3

4

5

6

e

c1

c2

c3

bd1→ [ref1, d, m1, Izz1]

c

b

d

bd3→ [ref3, c, m3]

bd2→ [ref2, e, m2, Izz2]

g

k3, l03org0body0→ [ref0, org0, 0, 0]

Figura 5.5: Parámetros dinámicos del problema

Page 261: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

5.3 Ejemplo 1 247

En este caso, la simulación dinámica del mecanismo se realiza bajo los si-guientes supuestos:

• La gravedad actúa sobre cada uno de los componentes en la dirección nega-tiva del eje z de la base global.

• El anclaje de la manivela y el pistón están unidos por un conjunto muelle-amortiguador de constantes k3 y c3 respectivamente.

• El rozamiento viscoso presente en los pares de revolución sj_01 ysj_02 se caracteriza mediante las constantes c1 y c2 respectiva-

mente.

48 % TORSORES DE INERCIA4950 % Sólido ’bd1’51 %%%%%%%%%%%%%%5253 % centro de gravedad, punto ’d’5455 new_pt(’d’, ’org0’, ’or1’, [l1/2 0 0]’);5657 % las ecuaciones dinámicas de ’bd1’ se plantean en ’d’.5859 new_body(’bd1’, ’ref1’, ’d’);6061 % masa del sólido6263 [m1]=new_param(’m1’, 1);6465 % momento lineal en la referencia ’ref0’.6667 Lmbd1_or0=m1*ref_velocity_vector(’d’,’ref1’,’ref0’, ’or0’);6869 % derivada del momento lineal en la referencia ’ref0’.7071 Fibd1=diff_vector_t(Lmbd1_or0);7273 % momento de inercia en el punto ’d’ proyectado74 % en la base ’or1’7576 [Ixx1]=new_param(’Ixx1’, 0);77 [Iyy1]=new_param(’Iyy1’, 0);78 [Izz1]=new_param(’Izz1’, 1);79 [I1_or1]=diag([Ixx1;Iyy1;Izz1]);8081 % momento cinético en la referencia ’ref0’.8283 Ambd1=or_matrix(’or1’,’or0’)*...84 I1_or1*omega(’or1’, ’or0’, ’or1’);

Page 262: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

248 Ejemplos

8586 % derivada del momento cinético en la referencia ’ref0’.8788 Mibd1=diff_vector_t(Ambd1);8990 % torsor de inercia de ’bd1’9192 new_itrs(’itrs1’, ’bd1’, ’d’, Fibd1, ’or0’, Mibd1, ’or0’);9394 % Sólido ’bd2’95 %%%%%%%%%%%%%%9697 % centro de gravedad en ’e’9899 new_pt(’e’, ’b’, ’or2’, [l2/2 0 0]’);

100101 % las ecuaciones dinámicas de ’bd2’ se plantean en ’e’.102103 new_body(’bd2’, ’ref2’, ’e’);104105 % masa del sólido106107 [m2]=new_param(’m2’, 2);108109 % momento lineal en la referencia ’ref0’110111 Lmbd2_or0=m2*ref_velocity_vector(’e’,’ref2’,’ref0’, ’or0’);112113 % derivada del momento lineal en la referencia ’ref0’114115 Fibd2=diff_vector_t(Lmbd2_or0);116117 % momento de inercia en el punto ’e’ proyectado118 % en la base ’or2’119120 [Ixx2]=new_param(’Ixx2’, 0);121 [Iyy2]=new_param(’Iyy2’, 0);122 [Izz2]=new_param(’Izz2’, 2);123 [I2_or2]=diag([Ixx2;Iyy2;Izz2]);124125 % momento cinético en la referencia ’ref0’126127 Ambd2=or_matrix(’or2’,’or0’)*...128 I2_or2*omega(’or2’, ’or0’, ’or2’);129130 % derivada del momento cinético en la referencia ’ref0’131132 Mibd2=diff_vector_t(Ambd2);133

Page 263: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

5.3 Ejemplo 1 249

134 % torsor de inercia de ’bd2’135136 new_itrs(’itrs2’, ’bd2’, ’e’,Fibd2, ’or0’, Mibd2, ’or0’);137138 % Sólido ’bd3’139 %%%%%%%%%%%%%%140141 % las ecuaciones dinámicas de ’bd3’ se plantean en ’c’.142143 new_body(’bd3’, ’ref3’, ’c’);144145 % masa del sólido146147 [m3]=new_param(’m3’, 3);148149 % velocidad absoluta del punto ’c’.150151 VoC=ref_velocity_vector(’c’,’ref3’,’ref0’, ’or0’);152153 % momento lineal en la referencia ’ref0’.154155 Lmbd3_or0=m3*VoC;156157 % derivada del momento lineal en la referencia ’ref0’.158159 Fibd3=diff_vector_t(Lmbd3_or0);160161 % momento de inercia (no se define)162163 [Ixx3]=new_param(’Ixx3’, 0);164 [Iyy3]=new_param(’Iyy3’, 0);165 [Izz3]=new_param(’Izz3’, 0);166167 % derivada del momento lineal en la referencia ’ref0’.168 % el sólido ’bd3’ no gira -> ’Mibd3’ es nulo.169170 Mibd3=sym([0, 0, 0]’);171172 % torsor de inercia de ’bd3’173174 new_itrs(’itrs3’, ’bd3’, ’c’, Fibd3, ’or0’, Mibd3, ’or0’);175176177 % TORSORES DE ENLACE178179 % Fuerzas de enlace: unión 01 en el punto ’org0’180 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%181182 % incógnitas de enlace

Page 264: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

250 Ejemplos

183184 Fx01=new_trsc(’Fx01’);185 Fy01=new_trsc(’Fy01’);186187 % torsor de enlace reacción sobre ’body0’ en el punto ’org0’.188189 new_etrs(’etrs01’, ’body0’, ’org0’,-[Fx01, Fy01, 0]’ , ...190 ’or0’, sym([0, 0, 0]’), ’or0’);191192 % torsor de enlace acción sobre ’bd1’ en el punto ’org0’.193194 new_etrs(’etrs10’, ’bd1’, ’org0’,[Fx01, Fy01, 0]’ , ...195 ’or0’, sym([0, 0, 0]’), ’or0’);196197 % Fuerzas de enlace: unión 12 en el punto ’b’198 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%199200 % incógnitas de enlace201202 Fx12=new_trsc(’Fx12’);203 Fy12=new_trsc(’Fy12’);204205 % torsor de enlace reacción sobre ’bd1’ en el punto ’b’.206207 new_etrs(’etrs12’, ’bd1’, ’b’, -[Fx12, Fy12, 0]’ , ...208 ’or0’, sym([0, 0, 0]’), ’or0’);209210 % torsor de enlace acción sobre ’bd2’ en el punto ’b’.211212 new_etrs(’etrs21’, ’bd2’, ’b’, [Fx12, Fy12, 0]’ , ...213 ’or0’, sym([0, 0, 0]’), ’or0’);214215 % Fuerzas de enlace: unión 23 en el punto ’c’216 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%217218 % incógnitas de enlace219220 Fx23=new_trsc(’Fx23’);221 Fy23=new_trsc(’Fy23’);222223 % torsor de enlace reacción sobre ’bd2’ en el punto ’c’.224225 new_etrs(’etrs23’, ’bd2’, ’c’, -[Fx23, Fy23, 0]’ , ...226 ’or0’, [0, 0, 0]’, ’or0’);227228 % torsor de enlace acción sobre ’bd3’ en el punto ’c’.229230 new_etrs(’etrs32’, ’bd3’, ’c’, [Fx23, Fy23, 0]’ , ...231 ’or0’, [0, 0, 0]’, ’or0’);

Page 265: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

5.3 Ejemplo 1 251

232233 % Momento de enlace: unión 3s en el punto ’c’234 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%235236 % incógnita de enlace (problema 2d)237238 M3sz=new_trsc(’M3sz’);239240 % torsor de enlace reacción sobre ’body0’ en el punto ’c’.241242 new_etrs(’etr3s’, ’body0’, ’c’, sym([0, 0, 0]’) , ...243 ’or0’, [0, 0, -M3sz]’, ’or0’);244245 % torsor de enlace acción sobre ’bd3’ en el punto ’c’.246247 new_etrs(’etrs3’, ’bd3’, ’c’, sym([0, 0, 0]’) , ...248 ’or0’, [0, 0, M3sz]’, ’or0’);249250 % Fuerza de enlace asociada a ’Cp1’251 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%252253 % incógnita de enlace (mínimo)254255 F3sy=new_trsc(’F3sy’);256257 % torsor de enlace reacción sobre ’body0’ en el punto ’c’.258259 new_etrs(’etr3src’, ’body0’, ’c’, [0, -F3sy, 0]’ , ...260 ’or0’, sym([0, 0, 0]’), ’or0’);261262 % torsor de enlace acción sobre ’bd3’ en el punto ’c’.263264 new_etrs(’etrs3rc’, ’bd3’, ’c’, [0, F3sy, 0]’ , ...265 ’or0’, sym([0, 0, 0]’), ’or0’);266267 % TORSORES CONSTITUTIVOS268269 % Fuerza de gravedad, actuante sobre ’bd1’ en el punto ’d’270 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%271272 new_ctrs(’Fg01’, ’bd1’, ’d’, [0, -m1*g, 0]’, ’or0’, ...273 sym([0, 0, 0]’), ’or0’);274275 % Fuerza de gravedad, actuante sobre ’bd2’ en el punto ’e’276 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%277278 new_ctrs(’Fg02’, ’bd2’, ’e’, [0, -m2*g, 0]’, ’or0’, ...279 sym([0, 0, 0]’), ’or0’);280

Page 266: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

252 Ejemplos

281 % Fuerza de gravedad, actuante sobre ’bd3’ en el punto ’c’282 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%283284 new_ctrs(’Fg03’, ’bd3’, ’c’, [0, -m3*g, 0]’, ’or0’, ...285 sym([0, 0, 0]’), ’or0’);286287 % Muelle entre los puntos ’org0’ y ’c’288 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%289290 % parámetros dinámicos del muelle291292 k3=new_param(’k3’, 50);293 c3=new_param(’c3’, 0);294 l03=new_param(’l03’, 2);295296 % torsor constitutivo actuante sobre ’body0’ en el punto ’org0’297298 new_ctrs(’fm30’, ’body0’, ’org0’, ...299 [k3*(PoC(1,1)-l03)+c3*VoC(1,1), 0, 0]’, ’or0’, ...300 sym([0, 0, 0]’), ’or0’);301302 % torsor constitutivo actuante sobre ’bd3’ en el punto ’c’.303304 new_ctrs(’fm03’, ’bd3’, ’c’, ...305 [-k3*(PoC(1,1)-l03)-c3*VoC(1,1), 0, 0]’, ’or0’, ...306 sym([0, 0, 0]’), ’or0’);307308 % Rozamiento viscoso entre ’body0’ y ’bd1’ en el punto ’org0’309 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%310311 % parámetro dinámico312313 c1=new_param(’c1’, 0);314315 % torsor constitutivo actuante sobre ’body0’ en el punto ’org0’316317 new_ctrs(’fm10’, ’body0’, ’org0’, sym([0, 0, 0]’), ’or0’, ...318 [0, 0, c1*da1]’, ’or0’);319320 % torsor constitutivo actuante sobre ’bd1’ en el punto ’org0’321322 new_ctrs(’fm01’, ’bd1’, ’org0’, sym([0, 0, 0]’), ’or0’, ...323 [0, 0, -c1*da1]’, ’or0’);324325326 % Rozamiento viscoso entre ’bd1’ y ’bd2’ en el punto ’b’327 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%328329 % parámetro dinámico

Page 267: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

5.3 Ejemplo 1 253

330331 c2=new_param(’c2’, 0);332333 % torsor constitutivo actuante sobre ’bd1’ en el punto ’b’.334335 new_ctrs(’fm21’, ’bd1’, ’b’, sym([0, 0, 0]’), ’or0’, ...336 [0, 0, c2*(da2-da1)]’, ’or0’);337338 % torsor constitutivo actuante sobre ’bd2’ en el punto ’b’.339340 new_ctrs(’fm12’, ’bd2’, ’b’, sym([0, 0, 0]’), ’or0’, ...341 [0, 0, -c2*(da2-da1)]’, ’or0’);

Tal como se aprecia en el listado anterior, para calcular la derivada del mo-mento cinético, líneas 81 − 88 , se emplea la función diff_vector_t . Alter-nativamente, la derivada anterior puede calcularse según

81 % momento cinético, expresado en la base ’or1’8283 Ambd1_or1=I1_or1*omega(’or1’, ’or0’, ’or1’);8485 % derivada del momento cinético, expresado en ’or0’8687 Mibd1=movil_orientation_rule_derivative(Ambd1_or1, ...88 ’or1’, ’or0’, ’or0’);

La función movil_orientation_rule_derivative , que implementa laregla de derivación en bases móviles, calcula la derivada temporal del vectorAmbd1_or1 , definido en la base móvil or1 , en la base fija or0 , expresando

el resultado en la base or0 .

Si el problema se plantea empleando el formalismo de Lagrange, se obtienen2 ecuaciones dinámicas y 1 ecuación geométrica. El sistema anterior se resuelvepara dda1, dda2 y el multiplicador Cp1_lmb .

Si el problema se plantea empleando el formalismo de Newton-Euler, se ob-tienen 9 ecuaciones dinámicas y 1 geométrica que puede resolverse paradda1, dda2 y el grupo de incógnitas de enlace

Fx01, Fy01, Fx12, Fy12, Fx23, Fy23, F3sy, M3sz

La definición de las acciones sobre el suelo, body0 , no es estrictamentenecesaria para realizar la simulación dinámica, pero se incluirá a título informativoen todos los casos.

Page 268: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

254 Ejemplos

EXPORTACIÓN

El listado que se presenta a continuación exporta las funciones de iniciali-zación de los diferentes vectores analíticos además de las relacionadas con losproblemas cinemático y dinámico de Lagrange.

1 % exportar: diferentes funciones2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%34 % prm_init, q_init, dq_init, ddq_init,5 % epsln_init, lmbp_init, lmbv_init, ...67 export_definitions89 % zetas, dzetas, ddzetas

1011 export_zetas1213 % ues1415 export_ues1617 % exportar: problema cinemático18 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%1920 export_kinematics(0)2122 % 0 -> problema cinemático23 % 1 -> problema cinemático & problema equilibrio2425 % exportar: ecuaciones de Lagrange26 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%2728 export_lagange_dynamics(0)2930 % 0 -> problema dinámico31 % 1 -> problema dinámico & problema equilibrio

Internamente, la función export_lagrange_dynamics evalúa otras funcio-nes de más bajo nivel que el usuario podría emplear directamente en el listado dedefinición.

La figura 5.6 muestra la estructura de directorios así como el contenido de losmismos para el caso del listado de definición presentado en la sección anterior.

Page 269: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

5.3 Ejemplo 1 255

Figura 5.6: Funciones obtenidas como resultado del proceso de exportación

5.3.2. Resultados de la simulación

Previo a la simulación dinámica, se revisa el contenido de las funciones deinicialización presentes en el directorio init , en particular:

prm_init.m, q_init.m y dq_init.m

La revisión del directorio user no es necesaria por no haberse definido fun-ciones del tipo z(t) o u (q, q, t).

La simulación numérica del mecanismo se lleva a cabo empleando cualquierade las plantillas1:

• lagrange_num , basada en un integrador de tipo RK4 con corrección enposición y velocidad.

• matlab_num , basada en cualquiera de los integradores de la Ode-Suite deMATLAB .

1El listado de dichas plantillas se presenta en los anexos A.2 y A.5 respectivamente.

Page 270: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

256 Ejemplos

La figura 5.7 muestra el resultado de la simulación dinámica para las variablesde estado a1, a2, da1 y da2 .

0 1 2 3 4 5 6−1

0

1

2

3

4

5

6D

espl

azam

ient

o [ra

d]

Tiempo (s)

a1a2

0 1 2 3 4 5 6−3

−2

−1

0

1

2

3

4

5

6

Tiempo (s)

Vel

ocid

ad [r

ad/s

]

da1da2

Figura 5.7: Resultados de la simulación dinámica

La simulación del mecanismo se realiza partiendo en reposo desde la posicióninicial a10 = pi/3 y empleando los valores

l03 = 8, k3 = 100, c3 = 4, c1 = 1 y c2 = 1

para las constantes de los diferentes elementos constitutivos. El resto de paráme-tros pueden consultarse en el anexo B.1.

Page 271: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

5.4 Ejemplo 2 257

5.4. Ejemplo 2: Pistón-biela-manivela avanzado

El presente ejemplo, basado en el mismo mecanismo que el anterior, se planteaempleando algunas de las funciones de alto nivel presentadas en la sección 4.5.

Las diferentes estructuras se rellenan de forma automática, lo cual resulta máscómodo desde el punto de vista del usuario.

5.4.1. Listado de definición del mecanismo

PROBLEMA CINEMÁTICO

La definición cinemática del mecanismo es idéntica a la presentada en el ejem-plo 5.3 suprimiendo las líneas 45 − 47 , por lo que no se volverá a presentar.

La restricción geométrica, presente en el punto C, se define de formaautomática al emplear la instrucción new_prismatic_joint para definir el parprismático pistón-suelo.

PROBLEMA DINÁMICO

El enunciado del problema dinámico es el mismo que el presentado en la sec-ción 5.3.1, figura 5.5.

Las funciones de alto nivel, empleadas en el listado que se muestra a conti-nuación, permitirán al usuario:

• Definir sólidos y calcular de forma automática los torsores de inercia.

• Definir enlaces atendiendo a su tipo.

• Definir elementos constitutivos y calcular de forma automática los torsoresconstitutivos.

48 % SOLIDOS Y TORSORES DE INERCIA4950 % Sólido ’bd1’51 %%%%%%%%%%%%%%5253 % centro de gravedad en ’d’5455 new_pt(’d’, ’org0’, ’or1’, [l1/2 0 0]’);5657 % parámetros dinámicos5859 [m1]=new_param(’m1’, 1);60 [Ixx1]=new_param(’Ixx1’, 1);61 [Iyy1]=new_param(’Iyy1’, 1);62 [Izz1]=new_param(’Izz1’, 1);

Page 272: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

258 Ejemplos

63 [I1_or1]=diag([Ixx1;Iyy1;Izz1]);6465 % tensor de inercia6667 new_tensor(’tensor1’, ’d’, ’or1’, I1_or1);6869 % sólido con centro de gravedad en el punto ’d’7071 new_body(’bd1’, ’ref1’, ’d’, m1, ’tensor1’);7273 % Sólido ’bd2’74 %%%%%%%%%%%%%%7576 % centro de gravedad en ’e’7778 new_pt(’e’, ’b’, ’or2’, [l2/2 0 0]’);7980 % parámetros dinámicos8182 [m2]=new_param(’m2’, 2);83 [Ixx2]=new_param(’Ixx2’, 2);84 [Iyy2]=new_param(’Iyy2’, 2);85 [Izz2]=new_param(’Izz2’, 2);86 [I2_or2]=diag([Ixx2;Iyy2;Izz2]);8788 % tensor de inercia8990 new_tensor(’tensor2’, ’e’, ’or2’, I2_or2);9192 % sólido con centro de gravedad en el punto ’e’9394 new_body(’bd2’, ’ref2’, ’e’, m2, ’tensor2’);9596 % Sólido ’bd3’97 %%%%%%%%%%%%%%9899 % parámetros dinámicos

100101 [m3]=new_param(’m3’, 3);102 [Ixx3]=new_param(’Ixx3’, 3);103 [Iyy3]=new_param(’Iyy3’, 3);104 [Izz3]=new_param(’Izz3’, 3);105 [I_tensor3]=diag([Ixx3;Iyy3;Izz3]);106107 % tensor de inercia108109 new_tensor(’tensor3’, ’c’, ’or0’, I_tensor3);110111 % sólido con centro de gravedad en el punto ’c’

Page 273: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

5.4 Ejemplo 2 259

112113 new_body(’bd3’, ’ref3’, ’c’, m3, ’tensor3’);114115116 % TORSORES DE ENLACE117118 % Pares de revolución119 %%%%%%%%%%%%%%%%%%%%%120121 imp_revolute_joint(’sj01’, ’body0’, ’bd1’, ’org0’, ’or0’, 3);122 imp_revolute_joint(’sj12’, ’bd1’, ’bd2’, ’b’, ’or0’, 3);123 imp_revolute_joint(’sj23’, ’bd2’, ’bd3’, ’c’, ’or0’, 3);124125 % Par prismático pistón-suelo126 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%127128 new_prismatic_joint(’pj03’, ’body0’, ’org0’, ’or0’,...129 ’bd3’, ’c’, ’or0’, 1);130131 % TORSORES CONSTITUTIVOS132133 % Fuerza gravitatoria134 %%%%%%%%%%%%%%%%%%%%%135136 new_gravity_ctrs(’fgbd1’, ’bd1’, -2);137 new_gravity_ctrs(’fgbd2’, ’bd2’, -2);138 new_gravity_ctrs(’fgbd3’, ’bd3’, -2);139140 % Muelle generalizado entre los puntos ’org0’ y ’c’141 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%142143 k3=new_param(’k3’, 50);144 c3=new_param(’c3’, 0);145 l03=new_param(’l03’, 2);146147 [fm03_d, dfm03_d]=new_gen_kc_ctrs(’fm03’, ’body0’, ...148 ’org0’, ’bd3’, ’c’, l03, k3, c3);149150 % Rozamiento viscoso entre ’body0’ y ’bd1’ en el punto ’org0’151 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%152153 % (se respeta la definición del caso práctico anterior)154155 c1=new_param(’c1’, 0);156157 new_ctrs(’fm01’, ’bd1’, ’org0’, sym([0, 0, 0]’), ...158 ’or0’, [0, 0, -c1*da1]’, ’or0’);159160 new_ctrs(’fm10’, ’body0’, ’org0’, sym([0, 0, 0]’), ...

Page 274: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

260 Ejemplos

161 ’or0’, [0, 0, c1*da1]’, ’or0’);162163 % Rozamiento viscoso entre ’bd1’ y ’bd2’ en el punto ’org0’164 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%165166 % (se respeta la definición del caso práctico anterior)167168 c2=new_param(’c2’, 0);169170 new_ctrs(’fm12’, ’bd2’, ’b’, sym([0, 0, 0]’), ’or0’, ...171 [0, 0, -c2*(da2-da1)]’, ’or0’);172173 new_ctrs(’fm21’, ’bd1’, ’b’, sym([0, 0, 0]’), ’or0’, ...174 [0, 0, c2*(da2-da1)]’, ’or0’);

La definición de los pares de revolución en los puntos org0, b y c , líneas108 − 110 , genera de forma automática las incógnitas de enlace:

sj01_f1, sj01_f2, sj01_f3, sj01_h1, sj01_h2

sj12_f1, sj12_f2, sj12_f3, sj12_h1, sj12_h2

sj23_f1, sj23_f2, sj23_f3, sj23_h1, sj23_h2

Por otra parte, la definición del par prismático, líneas 112 − 126 , introducelas incógnitas de enlace:

pj03_f2, pj03_f3, pj03_h1, pj03_h2 , pj03_h3

Además, con la definición del muelle 03 , se genera la coordenada auxiliarfm03_d , que representa el desplazamiento del punto c a lo largo del eje 1 de

la orientación or0 . La coordenada auxiliar fm03_d se incluye en el vector decoordenadas generalizadas, de tal forma que

q = [ a1, a2, fm03_d ]’

Si el problema se plantea empleando el formalismo de Lagrange, se obtienen3 ecuaciones dinámicas, 1 ecuación geométrica y 1 de definición de la coorde-nada fm03_d . El sistema anterior se resuelve para dda1, dda2, ddfm03_d ylos multiplicadores Cp1_lmb y fm03_cp_lmb .

Si el problema se plantea empleando el formalismo de Newton-Euler, se ob-tienen 18 ecuaciones dinámicas y 2 ecuaciones cinemáticas. Como incógnitasdel problema dinámico aparecen 3 aceleraciones generalizadas y 20 incógnitasde enlace. El sistema anterior, formado por 20 ecuaciones, presenta 23−20 = 3indeterminaciones que afectan a los grupos de incógnitas:

sj01_f3, sj12_f3, sj23_f3, pj03_f3

sj01_h1, sj12_h1, sj23_h1, pj03_h1

Page 275: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

5.4 Ejemplo 2 261

sj01_h2, sj12_h2, sj23_h2, pj03_h2

Si se compara el planteamiento anterior con el propuesto en la sección 5.3.1, sepone de manifiesto que, en general, el acceso a las estructuras básicas del interfazsimbólico permite al usuario plantear el problema de forma más eficiente.

EXPORTACIÓN

Se exportarán las funciones necesarias para realizar la simulación numéricaempleando el formalismo de Newton-Euler.

1 % exportar: diferentes funciones2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%34 % prm_init, q_init, dq_init, ddq_init, ...56 export_definitions78 % zetas, dzetas, ddzetas9

10 export_zetas1112 % ues1314 export_ues1516 % exportar: problema cinemático17 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%1819 export_kinematics(0)2021 % exportar: ecuaciones de Newton-Euler22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%2324 export_euler_dynamics(0)2526 % 0 -> problema dinámico27 % 1 -> problema dinámico & torsores de cada sólido

Tal como se aprecia, las instrucciones empleadas para exportar el proble-ma mecánico son idénticas a las del ejemplo anterior, exceptuando la funciónexport_euler_dynamics(0).

Page 276: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

262 Ejemplos

5.4.2. Resultados de la simulación

Al igual que en el caso del ejemplo anterior, la simulación dinámica del me-canismo se realiza partiendo del reposo desde la posición inicial a10 = pi/3 ,empleando para ello la plantilla numérica euler_num , cuyo listado se presentaen el anexo A.2.

Los resultados obtenidos para las coordenadas y velocidades generalizadasson idénticos a los presentados en la figura 5.7.

La figura 5.8 muestra la solución para las fuerzas de enlace en los diferentespares cinemáticos.

0 1 2 3 4 5 6 7 8 9 10−150

−100

−50

0

50

100

150

200

250

300

Tiempo [s]

Fu

erz

a [N

]

sj01 f1sj01 f2sj12 f1sj12 f2sj12 f1sj12 f2sj03 f2

Figura 5.8: Resultados de la simulación dinámica

Los parámetros empleados para realizar la simulación dinámica son idénticosa los del ejemplo anterior y pueden consultarse en el anexo B.1.

Page 277: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

5.5 Ejemplo 3 263

5.5. Ejemplo 3: Disco rodando por encima de una parábola

Este tercer ejemplo pretende ilustrar la capacidad del programa a la hora deplantear restricciones no tan habituales. Además, los torsores de enlace se carac-terizarán de forma genérica con el objeto de mostrar la forma que adoptan lasecuaciones dinámicas de enlace.

El sistema mecánico propuesto es similar al presentado en el ejemplo anterior.El pistón se sustituye por un disco que gira libremente alrededor del punto C,al que se impone la condición de rodar sin deslizar por encima de la parábolarepresentada en la figura 5.9.

or1, ref1

org0

dPg

(xpg, ypg)

(x− xc)2 + (y − yc)

2 = r2

d

y − yop = cop (x− xop)2

e

or2, ref2b

c

a1

a3a2

or3, ref3

Figura 5.9: Acotación y parámetros cinemáticos del problema

Con el objeto de caracterizar el fenómeno de rodadura sin deslizamiento, seintroducen tres nuevas coordenadas generalizadas:

• a3 → giro del disco alrededor del eje y de la base global.• xpg e ypg → posición del punto geométrico de contacto, Pg , entre

el disco y la parábola.

Así pues, el movimiento del mecanismo queda representado en este caso porel grupo de coordenadas generalizadas:

q = [ a1, a2, a3, xpg, ypg ]’

Page 278: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

264 Ejemplos

5.5.1. Listado de definición del mecanismo

PROBLEMA CINEMÁTICO

La acotación del mecanismo y los parámetros del problema cinemático se re-presentan en la figura 5.9.

La condición de contacto se implementa haciendo que el punto Pg pertenez-ca a la circunferencia de radio rd y a la parábola cuyas ecuaciones se presentanen la figura 5.9.

La condición de no penetrabilidad se implementa haciendo que los gradientesde ambas curvas, evaluados en el punto geométrico de contacto, sean paralelos.

La condición de rodadura sin deslizamiento se implementa haciendo quela velocidad del punto Pg , considerado cinemáticamente perteneciente aldisco, ref3 , sea nula.

1 % longitudes de los eslabones 1 y 223 [l1]=new_param(’l1’, 4);4 [l2]=new_param(’l2’, 10);56 % giros de los eslabones78 [a1]=new_q(’a1’, pi/3); % manivela9 [a2]=new_q(’a2’, 0); % biela

10 [a3]=new_q(’a3’, 0); % disco1112 % orientaciones1314 new_or(’or1’, 1, ’or0’, a1, 3);15 new_or(’or2’, 1, ’or0’, a2, 3);16 new_or(’or3’, 1, ’or0’, a3, 3);1718 % puntos característicos1920 new_pt(’b’, ’org0’, ’or1’, [l1 0 0]’);21 new_pt(’c’, ’b’, ’or2’, [l2 0 0]’);2223 % referencias2425 new_ref(’ref1’, ’org0’, ’or1’);26 new_ref(’ref2’, ’b’, ’or2’);27 new_ref(’ref3’, ’c’, ’or3’);2829 % Condición de contacto disco-parábola30 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%31

Page 279: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

5.5 Ejemplo 3 265

32 % Parabola (y-y0p) = -c0p*(x-x0p)^2.3334 [x0p]=new_param(’x0p’, 12);35 [y0p]=new_param(’y0p’, 0);36 [c0p]=new_param(’c0p’, 0.15);3738 % Circumferencia de radio ’rd’.3940 [rd]=new_param(’rd’, 1.5);4142 % Posición del punto geométrico de contacto ’Pg’.4344 [xpg]=new_q(’xpg’,12);45 [ypg]=new_q(’ypg’, 0);4647 new_pt(’Pg’, ’org0’, ’or0’, [xpg ypg 0]’);4849 % El punto ’Pg’ verifica la ecuación de50 % la circumferencia con centro en ’c’ y radio ’rd’.5152 [Poc]=position_vector(’c’, ’org0’, ’or0’);5354 eq1=(xpg-Poc(1,1))^2+(ypg-Poc(2,1))^2-rd^2;5556 new_Cp(’Cp1’, simple(eq1));5758 % El punto ’Pg’ verifica la ecuación59 % de la parábola (y-y0p) = -c0p*(x-x0p)^2.6061 eq2=(ypg-y0p)+c0p*(xpg-x0p)*(xpg-x0p);6263 new_Cp(’Cp2’, simple(eq2));6465 % Posición inicial para el punto ’Pg’.6667 [xpg0]=new_param(’xpg0’, 12);68 [ypg0]=new_param(’ypg0’, 10);6970 new_Cpini(’Cpini1’, xpg-xpg0);71 new_Cpini(’Cpini2’, ypg-ypg0);727374 % Condición de no penetrabilidad disco-parábola75 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%7677 % Los gradientes de las dos curvas78 % en el punto geométrico son paralelos7980 grad_1=jacobian(eq1, [xpg, ypg]’);

Page 280: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

266 Ejemplos

8182 % grad_1=[2*(xpg-Poc(1,1)),2*(ypg-Poc(2,1))]8384 grad_2=jacobian(eq2, [xpg, ypg]’);8586 % grad_2=[2*c0p*(xpg-x0p),1]8788 % producto vectorial de ambos gradientes8990 eq3=grad_1(1)*grad_2(2)-grad_1(2)*grad_2(1);9192 new_Cp(’Cp3’, simple(eq3));9394 % Condición de rodadura95 %%%%%%%%%%%%%%%%%%%%%%%9697 % La velocidad de ’Pg’, considerado cinemáticamente98 % perteneciente a la referencia ref3, es nula99

100 [VPg_ref3]=ref_velocity_vector(’Pg’, ’ref3’, ’ref0’, ’or0’)101102 new_Cv(’Cv1’, VPg_ref3(1,1));103 new_Cv(’Cv2’, VPg_ref3(2,1));

PROBLEMA DINÁMICO

La figura 5.10 muestra los parámetros considerados en el problema dinámico,además de la posición de montaje.

−5 0 5 10 15−2

−1

0

1

2

3

4

5

6

org0

g

e

rueda sin deslizarPg

c

b

bd3→ [ref3, c, m3, Izz3]

bd2→ [ref2, e, m2, Izz2]

d

bd1→ [ref1, d, m1, Izz1]

Figura 5.10: Parámetros dinámicos del problema

Page 281: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

5.5 Ejemplo 3 267

En este caso, la simulación dinámica del mecanismo se realiza bajo el siguien-te supuesto: se suprimen todos los muelles y amortiguadores presentes en el sis-tema de tal forma que el mecanismo cae por gravedad.

104 % SOLIDOS Y TORSORES DE INERCIA105106 % Sólido ’bd1’107 %%%%%%%%%%%%%%108109 % centro de gravedad en ’d’110111 new_pt(’d’, ’org0’, ’or1’, [l1/2 0 0]’);112113 % parámetros dinámicos114115 [m1]=new_param(’m1’, 3);116 [Ixx1]=new_param(’Ixx1’, 0);117 [Iyy1]=new_param(’Iyy1’, 0);118 [Izz1]=new_param(’Izz1’, 6);119 [I1_or1]=diag([Ixx1;Iyy1;Izz1]);120121 % tensor de inercia122123 new_tensor(’tensor1’, ’d’, ’or1’, I1_or1);124125 % sólido con centro de gravedad en el punto ’d’126127 new_body(’bd1’, ’ref1’, ’d’, m1, ’tensor1’);128129 % Sólido ’bd2’130 %%%%%%%%%%%%%%131132 % centro de gravedad en ’e’133134 new_pt(’e’, ’b’, ’or2’, [l2/2 0 0]’);135136 % parámetros dinámicos137138 [m2]=new_param(’m2’, 2);139 [Ixx2]=new_param(’Ixx2’, 0);140 [Iyy2]=new_param(’Iyy2’, 0);141 [Izz2]=new_param(’Izz2’, 2);142 [I2_or2]=diag([Ixx2;Iyy2;Izz2]);143144 % tensor de inercia145146 new_tensor(’tensor2’, ’e’, ’or2’, I2_or2);147148 % sólido con centro de gravedad en el punto ’e’

Page 282: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

268 Ejemplos

149150 new_body(’bd2’, ’ref2’, ’e’, m2, ’tensor2’);151152 % Sólido ’bd3’153 %%%%%%%%%%%%%%154155 % parámetros dinámicos156157 [m3]=new_param(’m3’, 3);158 [Ixx3]=new_param(’Ixx3’, 0);159 [Iyy3]=new_param(’Iyy3’, 0);160 [Izz3]=new_param(’Izz3’, 3);161 [I3_or3]=diag([Ixx3;Iyy3;Izz3]);162163 % tensor de inercia164165 new_tensor(’tensor3’, ’c’, ’or3’, I3_or3);166167 % sólido con centro de gravedad en el punto ’c’168169 new_body(’bd3’, ’ref3’, ’c’, m3, ’tensor3’);170171172 % TORSORES DE ENLACE173174 % Pares de revolución175 %%%%%%%%%%%%%%%%%%%%%176177 new_generic_joint_ne(’sj01’, ’body0’, ’org0’, ’bd1’, ’org0’,0, 0);178 new_generic_joint_ne(’sj12’, ’bd1’, ’b’, ’bd2’, ’b’,0, 0);179 new_generic_joint_ne(’sj23’, ’bd2’, ’c’, ’bd3’, ’c’,0, 0);180181 % Fuerza de enlace asociada a las ecuaciones cinemáticas182 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%183184 new_generic_joint_ne(’ecr’, ’body0’, ’Pg’, ’bd3’, ’Pg’,...185 ’Cp1’;’Cp2’;’Cp3’, ’Cv1’;’Cv2’);186187188 % TORSORES CONSTITUTIVOS189190 % Fuerza gravitatoria191 %%%%%%%%%%%%%%%%%%%%%192193 new_gravity_ctrs(’fgbd1’, ’bd1’, -2);194 new_gravity_ctrs(’fgbd2’, ’bd2’, -2);195 new_gravity_ctrs(’fgbd3’, ’bd3’, -2);

Page 283: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

5.5 Ejemplo 3 269

El problema dinámico se resuelve empleando las ecuaciones de Newton-Eulerjunto con las ecuaciones dinámicas de enlace. El vector de incógnitas correspon-diente al problema dinámico se expresa ahora:

x = [ ddqv, epslnv, lmbdv ]

donde:

• ddqv es un vector formado por 5 aceleraciones generalizadas,

dda1, dda2, dda3, ddxpg, ddypg

• epslnv es un vector formado por 24 incógnitas de enlace,

sj01_Fx, sj01_Fy, sj01_Fz, sj01_Mx, sj01_My, sj01_Mz

sj12_Fx, sj12_Fy, sj12_Fz, sj12_Mx, sj12_My, sj12_Mz

sj23_Fx, sj23_Fy, sj23_Fz, sj23_Mx, sj23_My, sj23_Mz

ecr_Fx, ecr_Fy, ecr_Fz, ecr_Mx, ecr _My, ecr_Mz

• lmbdv es un vector formado por 5 multiplicadores asociados a las ecua-ciones cinemáticas,

Cp1_lmb, Cp2_lmb, Cp3_lmb, Cv1_lmb, Cv2_lmb

El conjunto de ecuaciones obtenido en este caso está formado por 18 ecua-ciones de Newton-Euler, más 5 cinemáticas, de las cuales una es dependiente,más 8 dinámicas de enlace.

El sistema anterior, formado por 30 ecuaciones independientes, presenta34 − 30 = 4 indeterminaciones, de las cuales una afecta al grupo de variablesalgebraicas2 lmbdv y las otras tres afectan al grupo de incógnitas

sj01_Fz, sj12_Fz, sj23_Fz, ecr_Fz

sj01_Mx, sj12_Mx, sj23_Mx, ecr_Mx

sj01_My, sj12_My, sj23_My, ecr_My

2redundancia presente en las ecuaciones cinemáticas

Page 284: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

270 Ejemplos

EXPORTACIÓN

Se exportarán las funciones necesarias para realizar la simulación numéricaempleando el formalismo descrito en la sección anterior.

1 % exportar: diferentes funciones2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%34 % prm_init, q_init, dq_init, ddq_init,...56 export_definitions78 % zetas, dzetas, ddzetas9

10 export_zetas1112 % ues1314 export_ues1516 % exportar: problema cinemático17 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%1819 export_kinematics(0)2021 % exportar: ecuaciones de Newton-Euler22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%2324 export_euler_dynamics(0)2526 % exportar: ecuaciones dinámicas de enlace27 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%2829 export_joint_dynamics

5.5.2. Resultados de la simulación

La simulación dinámica del mecanismo se realiza partiendo del reposo des-de la posición inicial representada en la figura 5.10, en la cual se imponen lascondiciones xpg0 = 12 y ypg0 = 10.

Page 285: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

5.5 Ejemplo 3 271

La figura 5.11 muestra la solución para las fuerzas y momentos de enlace enlos diferentes pares cinemáticos.

0 1 2 3 4 5 6 7 8 9 10−500

0

500

1000

1500

2000

2500

3000

Fu

erz

a [N

], M

om

en

to [N

m]

sj01_Fxsj01_Fysj01_Mz

0 1 2 3 4 5 6 7 8 9 10−500

0

500

1000

1500

2000

2500sj12_Fxsj12_Fysj12_Mz

0 1 2 3 4 5 6 7 8 9 10−500

0

500

1000

1500

2000

Fu

erz

a [N

], M

om

en

to [N

m]

Tiempo (s)

sj23_Fxsj23_Fysj23_Mz

0 1 2 3 4 5 6 7 8 9 10−800

−600

−400

−200

0

200

400

600

800

Tiempo (s)

ecr_Fxecr_Fyecr_Mz

Figura 5.11: Resultados de la simulación dinámica

Ya que se trata de un problema plano, se omite la solución para las incógnitasde enlace del tipo

j_i_Fz, j_i_My, j_i_Mz, i=1..4

donde j_i hace referencia a cualquiera de los pares cinemáticos caracterizados.

El listado completo de parámetros correspondiente a la simulación puedeconsultarse en el anexo B.2.

Page 286: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

272 Ejemplos

5.6. Ejemplo 4: Máquina transportadora

La figura 5.12 representa el modo de funcionamiento de la máquina transpor-tadora analizada en el presente ejemplo.

Grupo excitador (motores)

Bandeja

Bastidor Ballestas

Silentblocks

Figura 5.12: Funcionamiento de la máquina transportadora

La bandeja superior de la máquina transportadora descansa sobre un bastidorque se sujeta al suelo mediante cuatro silentblocks. El grupo excitador de la má-quina está formado por dos motores asíncronos independientes con sendas excén-tricas girando en sentidos opuestos. El grupo anterior, colocado en la parte traseradel bastidor, hace vibrar la bandeja de tal forma que el producto se desplaza en ladirección positiva del eje horizontal. Este hecho se consigue gracias al fenómenode acoplamiento dinámico o sincronización de los motores.

La máquina se modeliza tridimensionalmente en 3D_MEC_MATLAB segúnse muestra en la figura 5.13.

En este caso, el movimiento del sistema se caracteriza mediante 14 coorde-nadas generalizadas:

• xbs, ybs, zbs, a1bs, a2bs y a3bs → desplazamientos y girosdiferenciales del bastidor, bs , en la referencia absoluta.

• xba, yba, zba, a1ba, a2ba y a3ba → desplazamientos y girosdiferenciales de la bandeja, ba , en la referencia absoluta.

• phim1 y phim2 → giros relativos de los motores, m1 y m2 , res-pecto al bastidor.

Page 287: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

5.6 Ejemplo 4 273

−1−0.5

00.5

1

−1

−0.5

0

0.5

10

0.5

1

1.5zba, a3ba

zbs, a3bs

orm1, refm1

xba, a1ba

xbs, a1bsφ

m2

orm2, refm2

φm1

yba, a2ba

orba, refba

orbs, refbs

ybs, a2bs

Figura 5.13: Acotación del problema

CARACTERIZACIÓN DEL PAR MOTOR

El par motor correspondiente a un motor asíncrono puede aproximarse conuna expresión polinómica del tipo

Tm =aS3 + bS

cS4 + dS2 + 1, S =

ωs − ω

ωs

(5.1)

donde:

• a, b, c y d son constantes que dependen de las características físicas delbobinado y entre-hierro así como de la tensión de alimentación del mismo.

• S es el deslizamiento del motor.

• ωs y ω son la velocidad de sincronismo y la velocidad de funcionamientodel motor respectivamente.

Teniendo en cuenta que un motor asíncrono trabaja en un rango de velocidadespróximas a la de sincronismo, la curva de par presentada en la ecuación 5.1 puedesustituirse por su aproximación de primer orden alrededor de ωs ,

Tm = Cm (ωs − ω) = amω + bm (5.2)

donde Cm es un coeficiente que representa la rigidez del motor.

Page 288: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

274 Ejemplos

La figura 5.14 muestra la simplificación adoptada para la curva de par en elcaso del motor m1 , donde a_m = -0.2 y b_m = 21 . El motor m2 se ca-racteriza con una curva de características similares, pero simétrica a la anteriorrespecto al eje de abcisas.

T [Nm]

ωs

= 105 ω [rad/s]

T = −0,2 ω + 21

T = Cm

(ω − ωs)

Tmax

Figura 5.14: Simplificación adoptada para la curva de par

SINCRONÍA DE LOS MOTORES Y DIRECCIÓN PRINCIPAL DE EXCITACIÓN

El sistema mecánico presentado llega a un estacionario en el que los motoresalcanzan la misma velocidad de régimen. Esta sincronía marca una dirección pre-ferencial de excitación que depende de las características del conjunto bastidor-bandeja.

La figura 5.15 muestra la relación entre el giro de los motores y la direcciónpreferencial de excitación en el caso de la acotación propuesta.

El par motor, de signo contrario en cada uno de los motores, hace girar lasexcéntricas hasta que se alcanza el régimen estacionario, en el que los motoresgiran con velocidad ω.

La dirección preferencial queda definida mediante la expresión

φs = (φm1e + φm2e) /2 ,

donde φm1e y φm2e representan los ángulos girados por las excéntricas delos motores m1 y m2 en t = ∞ respectivamente.

Page 289: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

5.6 Ejemplo 4 275

φm1 = π/2

φm2 = π/2

t = ∞t = t0

Tm2

Tm1

φm1e

≈ φs1 + ω t

φm2e

≈ φs2 − ω t

φs≈ (φ

m1e+ φ

m2e) /2

Figura 5.15: Dirección preferencial de excitación en el estacionario

5.6.1. Listado de definición del mecanismo

PROBLEMA CINEMÁTICO

La acotación del mecanismo así como las características del problema cine-mático se muestran en la figura 5.13.

La figura 5.16 muestra el significado de algunos de los parámetros que de-terminan la posición de los motores y de los elementos constitutivos, ballestas ysilentblocks, que actúan sobre el sólido bs , es decir, el bastidor.

1 % Desplazamientos bastidor23 [xbs]=new_q(’xbs’);4 [ybs]=new_q(’ybs’);5 [zbs]=new_q(’zbs’);67 % Giros (diferenciales) bastidor89 [a1bs]=new_q(’a1bs’);

10 [a2bs]=new_q(’a2bs’);11 [a3bs]=new_q(’a3bs’);1213 % Desplazamientos bandeja1415 [xba]=new_q(’xba’);

Page 290: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

276 Ejemplos

sup_bs

inf_bs

lm

zm

bm

philm

ycgbs

xcgbs

l_bs/2 l_bs/2

b1_bs b4_bs

w_bs/2

w_bs/2

b2_bs b4_bs

excéntrica

anclaje Silentblock

anclajes ballestas

anclaje motor

y

z

x

x

vist

aal

zado

rear front

vist

apl

anta

izda

.dr

ha.

Figura 5.16: Definición de puntos característicos en el sólido bastidor

16 [yba]=new_q(’yba’);17 [zba]=new_q(’zba’);1819 % Giros (diferenciales) bandeja2021 [a1ba]=new_q(’a1ba’);22 [a2ba]=new_q(’a2ba’);23 [a3ba]=new_q(’a3ba’);2425 % Giros de los motores2627 [phm1, dphm1]=new_q(’phm1’);28 [phm2, dphm2]=new_q(’phm2’);29

Page 291: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

5.6 Ejemplo 4 277

30 % Referencia del bastidor ’refbs’3132 new_pt(’orgbs’, ’org0’, ’or0’, [xbs ybs zbs]’);33 new_or(’orbs’, 3, ’or0’, [a1bs, a2bs, a3bs]’);34 new_ref(’refbs’, ’orgbs’, ’orbs’);3536 % Referencia de la bandeja ’refba’3738 new_pt(’orgba’, ’org0’, ’or0’, [xba yba zba]’);39 new_or(’orba’, 3, ’or0’, [a1ba, a2ba, a3ba]’);40 new_ref(’refba’, ’orgba’, ’orba’);4142 % Posición de los anclajes de los motores4344 [phlm]=new_param(’phlm’, 0);45 [lm]=new_param(’lm’, -.85);46 [zm]=new_param(’zm’, .1);4748 new_or(’orlm’, 1, ’orbs’, phlm, 2);49 new_pt(’om3’, ’orgbs’, ’orlm’, [lm 0 zm]’);50 new_pt(’om4’, ’orgbs’, ’orlm’, [lm 0 -zm]’);5152 new_or(’or3’, 1, ’orbs’, phm1, 2);53 new_or(’or4’, 1, ’orbs’, phm2, 2);5455 % Referencia del motor superior ’ref3’5657 new_ref(’ref3’, ’om3’, ’or3’);5859 % Referencia del motor inferior ’ref4’6061 new_ref(’ref4’, ’om4’, ’or4’);

PROBLEMA DINÁMICO

La figura 5.17 muestra los parámetros y elementos considerados en la simula-ción dinámica, que en este caso se realiza bajo los siguientes supuestos:

• La gravedad actúa sobre cada uno de los componentes en la dirección nega-tiva del eje z de la base global.

• El bastidor, bs , se fija al suelo, body0 , mediante cuatro silentblocks,que en este caso se representan como elementos viga de Bernouilli.

• La bandeja, ba , se fija al bastidor, bs , mediante ocho ballestas, que eneste caso se representan como elementos viga generalizados.

• Los motores son excitados tal como se explica en la introducción de estamisma sección.

Page 292: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

278 Ejemplos

base orbllbs(solidaria a refbs)

(solidaria a refba)base orbllba

(solidaria a refbs)base orslbbs

(solidaria a ref0)base orslbs

Elemento viga Bernouilli

om4

orgba

orgbs

g

m1→ [ref3, gc3, m3, I_3]

om3m2→ [ref4, gc4, m4, I_4]

ba→ [refba, gcba, mba, I_ba]

bs→ [refbs, gcbs, mbs, I_bs]

Elemento viga generalizada

bsinf_0d

s0d

bsinf_5i

s5i

bssup_4i

bainf_4ibainf_1d

bssup_1d

Figura 5.17: Elementos dinámicos presentes en el problema

62 % SOLIDOS Y TORSORES DE INERCIA6364 % Sólido ’bs’65 %%%%%%%%%%%%%6667 % centro de gravedad, punto ’bscg’6869 [xcgbs]=new_param(’xcgbs’);70 [ycgbs]=new_param(’ycgbs’);71 [zcgbs]=new_param(’zcgbs’);7273 new_refpt(’bscg’, ’refbs’, [xcgbs, ycgbs, zcgbs]’);7475 % parámetros dinámicos7677 [mbs]=new_param(’mbs’);78 [Ixxbs]=new_param(’Ixxbs’);79 [Iyybs]=new_param(’Iyybs’);80 [Izzbs]=new_param(’Izzbs’);81 [Ibs_orbs]=diag([Ixxbs;Iyybs;Izzbs]);8283 new_tensor(’tensorbs’, ’bscg’, ’orbs’, Ibs_orbs);

Page 293: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

5.6 Ejemplo 4 279

8485 % definición del sólido8687 new_body(’bs’, ’refbs’, ’bscg’, mbs, ’tensorbs’);8889 % Sólido ’ba’90 %%%%%%%%%%%%%9192 % centro de gravedad, punto ’bacg’9394 [xcgba]=new_param(’xcgba’)95 [ycgba]=new_param(’ycgba’)96 [zcgba]=new_param(’zcgba’)9798 new_refpt(’bacg’, ’refba’, [xcgba, ycgba, zcgba]’);99

100 % parámetros dinámicos101102 [mba]=new_param(’mba’);103 [Ixxba]=new_param(’Ixxba’);104 [Iyyba]=new_param(’Iyyba’);105 [Izzba]=new_param(’Izzba’);106 [Iba_orba]=diag([Ixxba;Iyyba;Izzba]);107108 new_tensor(’tensorba’, ’bacg’, ’orba’, Iba_orba);109110 % definición del sólido111112 new_body(’ba’, ’refba’, ’bacg’, mba, ’tensorba’);113114 % Sólido ’m1’115 %%%%%%%%%%%%%116117 % centro de gravedad, punto ’gc3’118119 [bm]=new_param(’bm’, .1);120121 new_refpt(’gc3’, ’ref3’, [bm, 0, 0]’);122123 % parámetros dinámicos124125 [m3]=new_param(’m3’);126 [Ixx3]=new_param(’Ixx3’);127 [Iyy3]=new_param(’Iyy3’);128 [Izz3]=new_param(’Izz3’);129 [I3_or3]=diag([Ixx3;Iyy3;Izz3]);130131 new_tensor(’tensor3’, ’gc3’, ’or3’, I3_or3);132

Page 294: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

280 Ejemplos

133 % definición del sólido134135 new_body(’m1’, ’ref3’, ’gc3’, m3, ’tensor3’);136137 % Sólido ’m2’138 %%%%%%%%%%%%%139140 % centro de gravedad, punto ’gc4’141142 new_refpt(’gc4’, ’ref4’, [bm, 0, 0]’);143144 % parámetros dinámicos145146 [m4]=new_param(’m4’);147 [Ixx4]=new_param(’Ixx4’);148 [Iyy4]=new_param(’Iyy4’);149 [Izz4]=new_param(’Izz4’);150 [I4_or4]=diag([Ixx4;Iyy4;Izz4]);151152 new_tensor(’tensor4’, ’gc4’, ’or4’, I4_or4);153154 % definición del sólido155156 new_body(’m2’, ’ref4’, ’gc4’, m4, ’tensor4’);157158 % TORSORES DE ENLACE159160 % Pares de revolución en los motores161 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%162163 imp_revolute_joint(’pcj01’, ’bs’, ’m1’, ’om3’, ’or0’, 2)164 imp_revolute_joint(’pcj02’, ’bs’, ’m2’, ’om4’, ’or0’, 2)165166 % TORSORES CONSTITUTIVOS167168 % Fuerza gravitatoria169 %%%%%%%%%%%%%%%%%%%%%170171 new_gravity_ctrs(’fgbs’, ’bs’, -3);172 new_gravity_ctrs(’fgba’, ’ba’, -3);173 new_gravity_ctrs(’fgm1’, ’m1’, -3);174 new_gravity_ctrs(’fgm2’, ’m2’, -3);175176 % Elementos viga (silentblocks) entre el suelo y el bastidor.177 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%178179 % Rigidez y amortiguamiento (silentblocks front)180181 [zs0f]=new_param(’zs0f’);

Page 295: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

5.6 Ejemplo 4 281

182183 csf(1,1)=new_param(’csxf’);184 csf(2,1)=new_param(’csyf’);185 csf(3,1)=new_param(’cszf’);186187 csrf(1,1)=new_param(’csrxf’);188 csrf(2,1)=new_param(’csryf’);189 csrf(3,1)=new_param(’csrzf’);190191 % constantes del elemento viga (silentblocks front)192193 Ksf_params(1,1)=new_param(’Esf’);194 Ksf_params(2,1)=new_param(’Gsf’);195 Ksf_params(3,1)=zs0f;196 Ksf_params(4,1)=new_param(’Asf’);197 Ksf_params(5,1)=new_param(’Iysf’);198 Ksf_params(6,1)=new_param(’Izsf’);199 Ksf_params(7,1)=new_param(’Jsf’);200201 % Rigidez y amortiguamiento (silentblocks rear)202203 [zs0r]=new_param(’zs0r’);204205 csr(1,1)=new_param(’csxr’);206 csr(2,1)=new_param(’csyr’);207 csr(3,1)=new_param(’cszr’);208209 csrr(1,1)=new_param(’csrxr’);210 csrr(2,1)=new_param(’csryr’);211 csrr(3,1)=new_param(’csrzr’);212213 % constantes del elemento viga (silentblocks rear)214215 Ksr_params(1,1)=new_param(’Esr’);216 Ksr_params(2,1)=new_param(’Gsr’);217 Ksr_params(3,1)=zs0r;218 Ksr_params(4,1)=new_param(’Asr’);219 Ksr_params(5,1)=new_param(’Iysr’);220 Ksr_params(6,1)=new_param(’Izsr’);221 Ksr_params(7,1)=new_param(’Jsr’);222223 % Orientaciones para el elemento viga224225 new_or(’orslbs’, 1, ’or0’, sym(-pi/2), 2)226 new_or(’orslbbs’, 1, ’orbs’, sym(-pi/2), 2)227228 % definición de puntos característicos229230 % Referencia absoluta

Page 296: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

282 Ejemplos

231 %%%%%%%%%%%%%%%%%%%%%232233 [x_0i]=new_param(’x_0i’);234 [y_0i]=new_param(’y_0i’);235 [z_0i]=new_param(’z_0i’);236237 new_refpt(’s0i’,’ref0’,[x_0i y_0i z_0i]’);238239 [x_0d]=new_param(’x_0d’);240 [y_0d]=new_param(’y_0d’);241 [z_0d]=new_param(’z_0d’);242243 new_refpt(’s0d’, ’ref0’, [x_0d y_0d z_0d]’);244245 [x_5i]=new_param(’x_5i’);246 [y_5i]=new_param(’y_5i’);247 [z_5i]=new_param(’z_5i’);248249 new_refpt(’s5i’, ’ref0’, [x_5i y_5i z_5i]’);250251 [x_5d]=new_param(’x_5d’);252 [y_5d]=new_param(’y_5d’);253 [z_5d]=new_param(’z_5d’);254255 new_refpt(’s5d’, ’ref0’, [x_5d y_5d z_5d]’);256257 % Referencia bastidor258 %%%%%%%%%%%%%%%%%%%%%259260 [w_bs]=new_param(’w_bs’);261 [l_bs]=new_param(’l_bs’);262263 [inf_bs]=new_param(’inf_bs’);264265 new_refpt(’bsinf_0d’, ’refbs’, [-.5*l_bs, .5*w_bs, inf_bs]’);266 new_refpt(’bsinf_5d’, ’refbs’, [.5*l_bs, .5*w_bs, inf_bs]’);267268 new_refpt(’bsinf_0i’, ’refbs’, [-.5*l_bs, -.5*w_bs, inf_bs]’);269 new_refpt(’bsinf_5i’, ’refbs’, [.5*l_bs, -.5*w_bs, inf_bs]’);270271 % Torsores constitutivos (silentblocks front)272273 new_aux_beam_ctrs(’f5i’, ’body0’, ’s5i’, ’orslbs’, ’bs’,274 ’bsinf_5i’, ’orslbbs’, Ksf_params, csf, csrf)275276 new_aux_beam_ctrs(’f5d’, ’body0’, ’s5d’, ’orslbs’, ’bs’,277 ’bsinf_5d’, ’orslbbs’, Ksf_params, csf, csrf)278279 % Torsores constitutivos (silentblocks rear)

Page 297: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

5.6 Ejemplo 4 283

280281 new_aux_beam_ctrs(’f0i’, ’body0’, ’s0i’, ’orslbs’, ’bs’,282 ’bsinf_0i’, ’orslbbs’, Ksr_params, csr, csrr)283284 new_aux_beam_ctrs(’f0d’, ’body0’, ’s0d’, ’orslbs’, ’bs’,285 ’bsinf_0d’, ’orslbbs’, Ksr_params, csr, csrr)286287 % Elementos viga (ballestas) entre el bastidor y la bandeja288 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%289290 % Rigidez y amortiguamiento (ballestas)291292 l0bll=new_param(’l0bll’);293294 cb(1,1)=new_param(’cbx’);295 cb(2,1)=new_param(’cby’);296 cb(3,1)=new_param(’cbz’);297298 cbr(1,1)=new_param(’cbrx’);299 cbr(2,1)=new_param(’cbry’);300 cbr(3,1)=new_param(’cbrz’);301302 % Matrices numéricas de rigidez de las ballestas303 % dimensión (12,12); formato ascii legible por matlab304305 % lado derecho306307 load real_d1.dat308 load real_d2.dat309 load real_d3.dat310 load real_d4.dat311312 rkd1=build_gen_rK_matrix(’kd1’, real_d1, 1e-1)313 rkd2=build_gen_rK_matrix(’kd2’, real_d2, 1e-1);314 rkd3=build_gen_rK_matrix(’kd3’, real_d3, 1e-1);315 rkd4=build_gen_rK_matrix(’kd4’, real_d4, 1e-1);316317 % lado izquierdo318319 load real_i1.dat320 load real_i2.dat321 load real_i3.dat322 load real_i4.dat323324 rki1=build_gen_rK_matrix(’ki1’, real_i1, 1e-1);325 rki2=build_gen_rK_matrix(’ki2’, real_i2, 1e-1);326 rki3=build_gen_rK_matrix(’ki3’, real_i3, 1e-1);327 rki4=build_gen_rK_matrix(’ki4’, real_i4, 1e-1);328

Page 298: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

284 Ejemplos

329 % Orientaciones para las ballestas330331 phibll=new_param(’phibll’);332333 new_or(’orbllbs’, 1, ’orbs’, phibll, 2)334 new_or(’orbllba’, 1, ’orba’, phibll, 2)335336 % definición de puntos característicos337338 % Referencia bastidor339 %%%%%%%%%%%%%%%%%%%%%340341 [sup_bs]=new_param(’sup_bs’);342343 [b1_bs]=new_param(’b1_bs’);344 [b2_bs]=new_param(’b2_bs’);345 [b3_bs]=new_param(’b3_bs’);346 [b4_bs]=new_param(’b4_bs’);347348 new_refpt(’bssup_1d’, ’refbs’, [b1_bs, .5*w_bs, sup_bs]’);349 new_refpt(’bssup_2d’, ’refbs’, [b2_bs, .5*w_bs, sup_bs]’);350 new_refpt(’bssup_3d’, ’refbs’, [b3_bs, .5*w_bs, sup_bs]’);351 new_refpt(’bssup_4d’, ’refbs’, [b4_bs, .5*w_bs, sup_bs]’);352353 new_refpt(’bssup_1i’, ’refbs’, [b1_bs, -.5*w_bs, sup_bs]’);354 new_refpt(’bssup_2i’, ’refbs’, [b2_bs, -.5*w_bs, sup_bs]’);355 new_refpt(’bssup_3i’, ’refbs’, [b3_bs, -.5*w_bs, sup_bs]’);356 new_refpt(’bssup_4i’, ’refbs’, [b4_bs, -.5*w_bs, sup_bs]’);357358 % Referencia bandeja359 %%%%%%%%%%%%%%%%%%%%360361 [w_ba]=new_param(’w_ba’);362363 [inf_ba]=new_param(’inf_ba’);364365 [b1_ba]=new_param(’b1_ba’);366 [b2_ba]=new_param(’b2_ba’);367 [b3_ba]=new_param(’b3_ba’);368 [b4_ba]=new_param(’b4_ba’);369370 new_refpt(’bainf_1d’, ’refba’, [b1_ba, .5*w_ba, inf_ba]’);371 new_refpt(’bainf_2d’, ’refba’, [b2_ba, .5*w_ba, inf_ba]’);372 new_refpt(’bainf_3d’, ’refba’, [b3_ba, .5*w_ba, inf_ba]’);373 new_refpt(’bainf_4d’, ’refba’, [b4_ba, .5*w_ba, inf_ba]’);374375 new_refpt(’bainf_1i’, ’refba’, [b1_ba, -.5*w_ba, inf_ba]’);376 new_refpt(’bainf_2i’, ’refba’, [b2_ba, -.5*w_ba, inf_ba]’);377 new_refpt(’bainf_3i’, ’refba’, [b3_ba, -.5*w_ba, inf_ba]’);

Page 299: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

5.6 Ejemplo 4 285

378 new_refpt(’bainf_4i’, ’refba’, [b4_ba, -.5*w_ba, inf_ba]’);379380 % Torsores constitutivos para las ballestas (derecho)381382 new_aux_gen_beam_ctrs(’fb1d’, ’bs’, ’bssup_1d’, ’orbllbs’, ...383 ’ba’, ’bainf_1d’, ’orbllba’, rkd1, l0bll, cb, cbr)384385 new_aux_gen_beam_ctrs(’fb2d’, ’bs’, ’bssup_2d’, ’orbllbs’, ...386 ’ba’, ’bainf_2d’, ’orbllba’, rkd2, l0bll, cb, cbr)387388 new_aux_gen_beam_ctrs(’fb3d’, ’bs’, ’bssup_3d’, ’orbllbs’, ...389 ’ba’, ’bainf_3d’, ’orbllba’, rkd3, l0bll, cb, cbr)390391 new_aux_gen_beam_ctrs(’fb4d’, ’bs’, ’bssup_4d’, ’orbllbs’, ...392 ’ba’, ’bainf_4d’, ’orbllba’, rkd4, l0bll, cb, cbr)393394 % Torsores constitutivos para las ballestas (izquierdo)395396 new_aux_gen_beam_ctrs(’fb1i’, ’bs’, ’bssup_1i’, ’orbllbs’, ...397 ’ba’, ’bainf_1i’, ’orbllba’, rki1, l0bll, cb, cbr)398399 new_aux_gen_beam_ctrs(’fb2i’, ’bs’, ’bssup_2i’, ’orbllbs’, ...400 ’ba’, ’bainf_2i’, ’orbllba’, rki2, l0bll, cb, cbr)401402 new_aux_gen_beam_ctrs(’fb3i’, ’bs’, ’bssup_3i’, ’orbllbs’, ...403 ’ba’, ’bainf_3i’, ’orbllba’, rki3, l0bll, cb, cbr)404405 new_aux_gen_beam_ctrs(’fb4i’, ’bs’, ’bssup_4i’, ’orbllbs’, ...406 ’ba’, ’bainf_4i’, ’orbllba’, rki4, l0bll, cb, cbr)407408 % Accionamiento Motores409 %%%%%%%%%%%%%%%%%%%%%%%410411 % Leyes constitutivas de los motores412413 [am1]=new_param(’am1’);414 [bm1]=new_param(’bm1’);415 [am2]=new_param(’am2’);416 [bm2]=new_param(’bm2’);417418 [T1t]=new_u(’T1t’, am1*dphm1+bm1)419 [T2t]=new_u(’T2t’, am2*dphm2+bm2)420421 % Par de acción sobre el motor 1422423 new_ctrs(’fm1m1’, ’m1’, ’om3’, [0; 0; 0], ’orbs’, ...424 [0; T1t; 0], ’orbs’);425426 % Par de acción sobre el motor 2

Page 300: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

286 Ejemplos

427428 new_ctrs(’fm2m2’, ’m2’, ’om4’, [0; 0; 0], ’orbs’, ...429 [0; T2t; 0], ’orbs’);430431 % Pares de reacción sobre el bastidor432433 new_ctrs(’fm1bs’, ’bs’, ’om3’, [0; 0; 0], ’orbs’, ...434 -[0; T1t; 0], ’orbs’)435436 new_ctrs(’fm2bs’, ’bs’, ’om4’, [0; 0; 0], ’orbs’, ...437 -[0; T2t; 0], ’orbs’)

Tal como se aprecia en el listado anterior, los elementos de tipo silentblockse introducen haciendo uso de la función new_beam_ctrs . La función anteriorcalcula los torsores según lo descrito en la sección 4.4.4.

La matriz de rigidez3 de cualquier silentblock, en el sistema de coordenadaslocal a dicho silentblock, presenta la siguiente topología:

[ ks_77, 0, 0, 0, 0, 0 ]

[ 0, ks_88, 0, 0, 0, ks_812 ]

[ 0, 0, ks_99, 0, ks_911, 0 ]

[ 0, 0, 0, ks_1010, 0, 0 ]

[ 0, 0, ks_119, 0, ks_1111, 0 ]

[ 0, ks_128, 0, 0, 0, ks_1212 ]

La definición de cada uno de los elementos anteriores mediante la instrucciónnew_aux_beam_ctrs , genera de forma automática tres coordenadas auxiliaresque representan el desplazamiento del punto extremo respecto al punto origen delos citados elementos en la base origen, es decir, or0 . Las 12 coordenadasintroducidas reciben los nombres siguientes:

f0i_dltx, f0i_dlty, f0i_dltz, f0d_dltx, f0d_dlty, f0d_dltz

f5i_dltx, f5i_dlty, f5i_dltz, f5d_dltx, f5d_dlty, f5d_dltz

Los torsores constitutivos asociados a los elementos de tipo silentblock se ge-neran en términos de las variables auxiliares anteriores y se almacenan en la es-tructura ctrss .

La introducción de coordenadas auxiliares podría evitarse haciendo uso de lainstrucción new_beam_ctrs , la cual calcula el desplazamiento relativo entre losextremos del elemento en términos de las coordenadas de partida. Sin embargo,

3Nótese que, en este caso, 3D_MEC_MATLAB trabaja con la información necesaria paraconstruir el torsor constitutivo actuante sobre el segundo sólido introducido como argumento en lafunción new_aux_beam_ctrs .

Page 301: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

5.6 Ejemplo 4 287

la expresión simbólica de los torsores es más simple si se emplean coordenadasauxiliares, como es el caso de este ejemplo.

El giro relativo entre los extremos de los silentblocks se calcular a partir dela de la matriz de cambio de base que relaciona las bases or0 y orbs . Labase orbs es del tipo pequeñas rotaciones por lo que, en este caso, el vector derotación adoptará la sencilla expresión:

vrot = [ a1_bs, a2_bs, a3_bs ]’

Los elementos de tipo ballesta se introducen haciendo uso de la funciónnew_aux_gen_beam_ctrs , la cual calcula los torsores correspondientes segúnlo descrito en la sección 4.4.4.

En este caso, las matrices de rigidez numéricas de dimensión (12, 12) ,almacenadas en ficheros externos del tipo real_d1.dat , se transforman enmatrices simbólicas de dimensión (6, 6) haciendo uso de la instrucciónbuild_gen_rK_matrix .

La matriz de rigidez de cualquier ballesta, en el sistema de coordenadas locala dicha ballesta, presenta la siguiente topología:

[ kd1_77, 0, 0, 0, kd1_711, kd1_712 ]

[ 0, kd1_88, 0, kd1_810, 0, kd1_812 ]

[ 0, 0, kd1_99, kd1_910, kd1_911, 0 ]

[ 0, kd1_810, kd1_910, kd1_1010, kd1_1011, kd1_1012 ]

[ kd1_711, 0, kd1_911, kd1_1011, kd1_1111, kd1_1112 ]

[ kd1_712, kd1_812, 0, kd1_1012, kd1_1112, kd1_1212 ]

La definición de cada uno de los elementos anteriores mediante la instrucciónnew_aux_gen_beam_ctrs , genera de forma automática tres coordenadas auxi-liares que, al igual que en el caso anterior, representan el desplazamiento relativodel punto origen al punto extremo de los citados elementos en la base origen, esdecir, orbs . Las 12 coordenadas auxiliares introducidas reciben los nombressiguientes:

fb1d_dltx, fb1d_dlty, fb1d_dltz, fb2d_dltx, fb2d_dlty, fb2d_dltz

fb3d_dltx, fb3d_dlty, fb3d_dltz, fb4d_dltx, fb4d_dlty, fb4d_dltz

fb1i_dltx, fb1i_dlty, fb1i_dltz, fb2i_dltx, fb2i_dlty, fb2i_dltz

fb3i_dltx, fb3i_dlty, fb3i_dltz, fb4i_dltx, fb4i_dlty, fb4i_dltz

El giro relativo entre los extremos de las ballestas se calcular a partir de la dela matriz de cambio de base que relaciona las orientaciones orbs y orba .

Page 302: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

288 Ejemplos

Las dos bases anteriores son del tipo pequeñas rotaciones por lo que el vectorde rotación adoptará la sencilla expresión:

vrot = [ a1_ba-a1_bs, a2_ba-a2_bs, a3_ba-a3_bs ]’

EXPORTACIÓN

Se exportarán las funciones necesarias para simular numéricamente el sistemaempleando el formalismo de Lagrange además de las que se emplean para resolverel problema de equilibrio estático, es decir:

• JJplmbq(prm, q, z, lmbp, t) → export_kinematics(1)

• JQl_eq(prm, q, u, t) → export_lagrange_dynamics(1)

El cálculo de frecuencias propias y modos de vibración se apoya en las matri-ces de masa, Ml(prm, q) y rigidez, JQl_eq(prm, q, u, t) , del problemade Lagrange, exportadas para resolver el problema de simulación y el problemade equilibrio estático respectivamente.

1 % exportar: diferentes funciones2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%34 % prm_init, q_init, dq_init, ddq_init ...56 export_definitions78 % zetas, dzetas, ddzetas9

10 export_zetas1112 % ues1314 export_ues1516 % exportar: problema cinemático17 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%1819 export_kinematics(1)2021 % 1 -> exporta la matriz [d/dq(Jp’*lmbp)]2223 % exportar: ecuaciones dinámicas de Lagrange24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%2526 export_lagrange_dynamics(1)2728 % 1 -> exporta la matriz [d/dq(Ql)] (rigidez)

Page 303: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

5.6 Ejemplo 4 289

5.6.2. Resultados de la simulación

PROBLEMA MODAL

El problema modal se resuelve haciendo uso de la plantilla numéricanatural_modes.m , cuyo algoritmo se describe en la sección 4.4.4, y cuyolistado se presenta en el anexo A.4.

La figura 5.18 representa algunos de los modos de vibración del sistema alre-dedor de la posición de equilibrio.

−1.5−1

−0.50

0.51

1.5

−1.5

−1

−0.5

0

0.5

1

1.50

0.5

1

1.5

2

2.5

3

freq=9.5346

−1.5−1

−0.50

0.51

1.5

−1.5

−1

−0.5

0

0.5

1

1.50

0.5

1

1.5

2

2.5

3

freq=9.7695

−1.5−1

−0.50

0.51

1.5

−1.5

−1

−0.5

0

0.5

1

1.50

0.5

1

1.5

2

2.5

3

freq=17.0263

−1.5−1

−0.50

0.51

1.5

−1.5

−1

−0.5

0

0.5

1

1.50

0.5

1

1.5

2

2.5

3

freq=22.8325

Figura 5.18: Modos de vibración en la posición de equilibrio

Como es obvio, el resultado de la simulación dinámica depende de diferentesfactores, como el amortiguamiento o la respuesta en frecuencia del mismo, que nose tuvieron en cuenta al resolver el problema modal. Sin embargo, la visualizacióngráfica de los modos puede resultar bastante útil como herramienta en la etapa dediseño de la máquina transportadora.

Page 304: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

290 Ejemplos

PROBLEMA DINÁMICO

El problema dinámico se resuelve empleando el formalismo de Lagrange encoordenadas independientes. El conjunto de ecuaciones de movimiento está for-mado por 14 ecuaciones dinámicas que resuelven las 14 aceleraciones genera-lizadas de partida.

Los valores de las coordenadas y velocidades auxiliares, necesarios para eva-luar el vector de fuerza generalizada, se obtienen como postproceso en cada ins-tante de tiempo haciendo uso de las ecuaciones de posición y velocidad respecti-vamente. Las ecuaciones para aceleraciones podrían emplearse para calcular lasaceleraciones auxiliares en términos de las aceleraciones generalizadas de partida,pero en este caso no se utilizan.

Las funciones empleadas para realizar la simulación numérica del transitoriode arranque de los motores se detallan en el anexo A.7.

La simulación dinámica se realiza partiendo del reposo desde la po-sición de equilibrio estático, que se calcula haciendo uso de la funciónsolve_equilibrium_position documentada en el anexo A.3.

100

101

102

10−11

10−10

10−9

10−8

10−7

10−6

10−5

10−4

10−3

Frecuencia (Hz)

PSD

(θ 1+θ2)/2

[rad

2 /Hz]

0 2 4 6 8 10 121.55

1.6

1.65

1.7

1.75

1.8

Tiempo (s)

(θ 1+θ2)/2

[rad

]

0 2 4 6 8 10 12−0.18

−0.175

−0.17

−0.165

−0.16

−0.155

−0.15

−0.145

−0.14

−0.135

−0.13

(xba

−xbs

) [m

]

Tiempo (s)10

010

110

210

−11

10−10

10−9

10−8

10−7

10−6

10−5

10−4

10−3

Frecuencia (Hz)

PSD

(xba

−xbs

) [m

2 /Hz]

PSD

PSD

Figura 5.19: Resultados de la simulación dinámica

Page 305: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

5.6 Ejemplo 4 291

La parte superior de la figura 5.19 muestra la evolución del movimiento re-lativo de la bandeja, ba , respecto al bastidor4, bs , durante el transitorio dearranque de los motores. Tal como se aprecia, la señal presenta alto contenido enlas frecuencias:

• 9 Hz → segundo modo propio de los que aparecen en la figura 5.18.• 16 Hz → velocidad de régimen de los motores y tercer modo propio de

los que aparecen en la figura 5.18.

El modo propio de frecuencia 9 Hz, excitado en el transitorio de arranque delos motores, se irá atenuando con el paso del tiempo siempre que dicho modo noesté dinámicamente acoplado con el de 17 Hz.

La parte inferior de la figura 5.19 muestra la evolución del ángulo de sincro-nismo, entendido tal como se explica en la introducción del ejemplo durante elmismo periodo de tiempo. En este caso, la señal presenta alto contenido a va-rias frecuencias, lo cual demuestra la complejidad del fenómeno de acoplamientomecánico entre los dos motores.

El listado de parámetros empleados para llevar a cabo la simulación puedeconsultarse en el anexo B.4.

4nótese que dicho movimiento es el promotor del arrastre de producto en la máquina transpor-tadora.

Page 306: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

292 Ejemplos

5.7. Ejemplo 5: Interacción con SIMULINK

En esta sección se presenta un problema para ilustrar cómo se introduce unmodelo dinámico generado con la librería 3D_MEC_MATLAB en el programa desimulación de sistemas dinámicos SIMULINK .

La definición del sistema mecánico es idéntica a la presentada en la sección5.3. El problema dinámico se completa en este caso imponiendo el giro de lamanivela mediante la acción de un motor. El par entregado por el motor al sistemase controla aplicando una ley de control proporcional -integral.

La figura 5.20 muestra el aspecto que presenta el modelo dinámico del proble-ma planteado en el entorno de simulación SIMULINK .

0 2 4 6 8 10 12−1

0

1

2

3

4

5

6

Bucle de realimentacion

z, dz, ddz, u q, dq

Figura 5.20: Modelo dinámico en el entorno SIMULINK

El modelo dinámico está compuesto por los siguientes bloques funcionales:

• sfuncom → módulo para las señales de comando introducidas desdeel interface simbólico. La señal de control depende del estado del sistema,por lo que se hace necesario introducir un bucle de realimentación.

Page 307: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

5.7 Ejemplo 5 293

El bloque sfuncom se implementa mediante una función genérica5 de tipos cuyo argumento de entrada es el estado del sistema y cuyo argumento desalida es la señal de comando.

En este caso, la definición del bloque de comando incluye una funcióndel tipo u = u(prm, q, dq, t) . En un caso más general, el guiadodel sistema mecánico puede llevarse a cabo empleando funciones del tipoz = z(prm, t).

Teniendo en cuenta lo anterior, el bloque de control sfuncom podrá susti-tuirse por uno de los controladores provistos por SIMULINK , siempre queel formato para el argumento de salida de dicho controlador sea el siguiente:

out = [ zs, dzs, ddzs, us ]’

donde los vectores zs, dzs, ddzs se corresponden con z , z y z (t) res-pectivamente y us se corresponde con el vector de excitación u (q, q, t).

• sfundin → módulo que representa el sistema dinámico definido.

El modelo dinámico, sfundin , resuelve las ecuaciones de movimiento,

x = f (t, x) , x =

[q

q

], (5.3)

devolviendo el vector de estado, x , que sirve como argumento de entradaal módulo de control, sfuncom.

• retraso → módulo que representa el retraso sufrido por el vector deestado hasta llegar al módulo de control.

El resto de elementos presentes en la figura 5.20 están destinados a mostrarlos resultados de la simulación.

5.7.1. Listado de definición del mecanismo

PROBLEMA DINÁMICO

En este caso, la simulación dinámica del mecanismo se realiza bajo los si-guientes supuestos:

• La gravedad actúa sobre cada uno de los componentes en la dirección nega-tiva del eje z de la base global.

• El rozamiento dinámico presente en el par de revolución sj_02 se carac-teriza mediante la constante c2 = 5 .

5referencias [Mat02b] y [Mat02c]

Page 308: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

294 Ejemplos

La figura 5.5 muestra los parámetros dinámicos y los elementos de controlconsiderados en el problema.

0 2 4 6 8 10 12−1

0

1

2

3

4

5

6

e

c

b

d

bd3→ [ref3, c, m3]

bd2→ [ref2, e, m2, Izz2]

g

org0

bd1→ [ref1, d, m1, Izz1]

u→ u [prm, q, dq]

c2

Figura 5.21: Parámetros del problema

PROBLEMA CINEMÁTICO Y PROBLEMA DINÁMICO

La definición de los problemas cinemático y dinámico es idéntica a la queaparece en el apartado 5.3 de este mismo capítulo, por lo que no se presentaránaquí.

PROBLEMA DE CONTROL

El motor, solidario al punto org0 de la referencia inercial, actúa sobre lamanivela controlando el movimiento del sistema mecánico. La señal de control,que en este caso representa el par motor, responde a una ley de control de tipoproporcional-integral que se implementa mediante la función de tipo u denotadapor par en el siguiente listado:

1 % TORSORES CONSTITUTIVOS23 % Motor actuante sobre la manivela4 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%56 % control ...7

Page 309: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

5.7 Ejemplo 5 295

8 ki=new_param(’ki’, 0.25); % Integral9 kp=new_param(’kp’, 20); % Proporcional

1011 % consigna en velocidad de giro: 10 rad/s1213 da1r=new_param(’da1r’, 10);1415 % ley de control1617 par_motor = ki*(a10+da1r*t-a1)+kp*(da1r-da1);1819 % función de excitación2021 par=new_u(’par’, par_motor);2223 tresceros=sym([0, 0, 0]’);2425 % torsor constitutivo actuante sobre ’bd1’ en el punto ’org0’2627 new_ctrs(’tpar01’, ’bd1’, ’org0’, tresceros, ’or0’, ...28 [0, 0, par]’, ’or0’);2930 % torsor constitutivo actuante sobre ’body0’ en el punto ’org0’3132 new_ctrs(’tpar10’, ’body0’, ’org0’, tresceros, ’or0’, ...33 [0, 0, -par]’, ’or0’);

La consigna del control es la velocidad de giro de la manivela, da1r , queen el caso del listado anterior se fija en 10 rad/s . Las constantes proporcional eintegral del controlador se asignan a los parámetros kp y ki respectivamente.

EXPORTACIÓN

Las instrucciones empleadas para exportar el problema dinámico son idénticasa las que aparecen en el apartado 5.3, por lo que no se presentarán aquí.

La inclusión del modelo dinámico en el entorno de simulación SIMULINK selleva a cabo empleando una serie de plantillas cuyo listado se presenta en el anexoA.6.

El interfaz gráfico de SIMULINK permite adecuar el modelo presentado en lafigura 5.20 de forma sencilla. Las únicas consideraciones que el usuario deberátener en cuenta para el buen funcionamiento del modelo son las siguientes:

• El bloque correspondiente al sistema mecánico, implementado mediante lafunción de tipo s sfundin , toma como argumentos de entrada:

• El vector de estado, x = [q, dq]’.

Page 310: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

296 Ejemplos

• La señal de comando en el formato [z, dz, ddz, u]’.• El grupo de parámetros prm, tolv, tola en el orden indicado6.

De los tres anteriores, el primero representa el vector de parámetros,mientras que tolv y tola representan la tolerancia para los sol-vers de velocidad y aceleración respectivamente.

Como argumento de salida, la función sfundin devuelve el vector deestado, x.

• El bloque correspondiente al controlador, implementado en este caso me-diante la función de tipo s , sfuncom , toma como argumentos de entradael vector de estado, x = [q, dq]’ , y el vector de parámetros, prm_init.

Para implementar un bloque de control basado en primitivas del entorno SI-MULINK como el que aparece en la figura 5.22, basta sustituir las funcioneszetas, dzetas, ddzetas y ues por primitivas del entorno SIMU-LINK cuyos outputs mantengan las dimensiones de los vectores z , z ,z y u respectivamente.

Modulo de controlalternativo

Figura 5.22: Control implementado mediante primitivas de SIMULINK

6para más información, léase el listado de la plantilla modelo.mdl , anexo A.6.

Page 311: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

5.7 Ejemplo 5 297

5.7.2. Resultados de la simulación

La simulación dinámica se ha realizado con ayuda de uno de los integrado-res de la Ode-Suite de MATLAB , partiendo en reposo desde la posición iniciala10 = pi/3 y empleando los valores ki = 4, kp = 2 y da1r = 10 parasintonizar el módulo de control. El resto de parámetros pueden consultarse en elanexo B.4.

La figura 5.23 muestra el resultado de la simulación dinámica para las varia-bles de estado a1, a2, da1 y da2 , es decir, giros y velocidades angularesde la manivela y de la biela respectivamente.

0 10 20 30 40 50 60−10

−5

0

5

10

15

20

Tiempo [s]

Veloc

idad [

rad/s]

0 10 20 30 40 50 60−100

0

100

200

300

400

500

600

Tiempo [s]

Posic

ion [ra

d]

a1, da1

a2, da2

Figura 5.23: Resultados de la simulación dinámica

Tal como se aprecia en la figura, los parámetros del control proporcional -integral no proporcionan un resultado satisfactorio debido a la amplitud de osci-lación de la consigna de velocidad, pero el ajuste de los parámetros anteriores nose analizará en este caso.

Page 312: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson
Page 313: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

6. Conclusiones y Trabajo Futuro

6.1. Conclusiones

Como se ha comentado en la introducción, el objetivo de la tesis doctoral erael de analizar y poner de manifiesto las posibilidades de un Sistema de ÁlgebraSimbólica Computacional para la Dinámica de Sistemas Multi-Cuerpo, DSM ,basado en un subsistema de Álgebra Simbólica.

Para ello se proponía desarrollar una prueba de concepto basada en el lenguajeMATLAB–MAPLE .

Así, se ha implementado un lenguaje Simbólico sobre el lenguaje MATLAB–MAPLE específico para la DSM . Este lenguaje se plasma en la definición deestructuras de datos y de una serie de funciones y operadores que permiten intro-ducir sus elementos u operar con estos. Estructuras que han sido definidas a partirdel análisis de la estructura matemática de los problemas de la DSM .

El lenguaje especificado permite la intervención del usuario en la definicióndel Sistema Multi-Cuerpo en tres niveles programáticos de abstracción diferen-ciados y compatibles entre si:

• Sistema Simbólico mínimo: Es la funcionalidad provista por el propio sis-tema MATLAB–MAPLE sin más funcionalidad añadida.

• Sistema Simbólico DSM de bajo nivel: Permite definir por completo cual-quier problema DSM . No incluye funciones específicas o librerías asocia-das a elementos particulares susceptibles de aparecer en la definición delsistema, como enlaces o fuerzas constitutivas específicas. Su implementa-ción se basa exclusivamente en el Sistema Simbólico Mínimo.

• Sistema Simbólico DSM de alto nivel: Proporciona al usuario un conjun-to adicional de funciones específicas para la definición de enlaces, fuerzasconstitutivas más típicas, etc... Se basa en el Sistema Simbólico de bajo ni-vel y mínimo.

Page 314: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

300 Conclusiones y Trabajo Futuro

El lenguaje proporciona además librerías de exportación, a dos niveles:

• Primer nivel: Librerías que generan las diferentes ecuaciones, es decir lasmatrices y vectores simbólicos asociados a la formulación analítica de laDSM .

• Segundo Nivel: Librerías que, a partir de las anteriores, exportan las matri-ces y vectores anteriores en forma de funciones y variables en un lenguajede programación específico.

Finalmente, junto con la librería se proveen una serie de platillas numéricas,destinadas a la solución de los problemas típicos de la DSM .

LIMITACIONES DE LA IMPLEMENTACIÓN

• El Sistema Simbólico Mínimo MATLAB–MAPLE utilizado para la imple-mentación está limitado por la no posibilidad de sobrecarga de operadores.Así, queda limitada la definición de operadores sobre tipos de datos estruc-turados, como vector y tensor del Álgebra Cartesiana, frente a matriz (1, 3)y matriz (3, 3) de MATLAB . Estos tipos de dato, junto con sus operadores,simplificarían el interfaz que el lenguaje o librería proporciona al usuario.

• La exportación está limitada a el lenguaje de programación MATLAB nu-mérico, aunque la exportación a otros lenguajes como C es muy sencillo.

• Pese a que las estructuras de datos soportan el formalismo de las PotenciasVirtuales con toda generalidad, no se ha habilitado la definición de veloci-dades virtuales arbitrarias para la exportación de las ecuaciones dinámicas.De esta forma sería posible plantear cualquiera de los subformalismos a losque este principio puede dar lugar.

• Los sólidos considerados son rígidos. Es decir, en la actualidad, la inclu-sión de modelos de sólidos derivados del Método de los Elementos Finitos,MEF , no se considera. No obstante, sí que se contempla la definición defuerzas constitutivas producidas por elementos flexibles lineales sin masa.

• La librería no contempla la definición de eventos, ni la definición de valo-res límites para los valores de las coordenadas en la que podría basarse ladefinición de eventos. Tampoco considera la detección de contactos o coli-siones. No obstante, dichos aspectos pueden ser implementados a nivel delintegrador, utilizando integradores que permitan la definición de eventos entérminos de valores límite de las coordenadas y/o de la detección de la co-lisión. Evidentemente este último aspecto requeriría de la definición de la

Page 315: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

6.1 Conclusiones 301

geometría de la superficie de los sólidos que puedan colisionar, este últimoaspecto se dejaría a una librería externa para la detección de colisiones.

• La estructura de funciones u , si bien cumple sin limitaciones las funcionesasignadas, desde un punto de vista conceptual sería más adecuado limitarsu aplicación a la definición de fuerzas exteriores, y desarrollar un tipo defunción específica a utilizar en la definición simbólica de leyes constitutivas.Esto es debido a la diferente función que juegan y a la diferencia en sudependencia funcional cuando se tratan como funciones.

• El interfaz para la representación del esquema tridimensional del mecanis-mo provisto por el programa tiene una funcionalidad limitada. El autor se hacentrado en los aspectos mecánicos y computacionales del problema. Aun-que no ha sido explicado con profusión, el programa permite exportar unaestructura de datos con información geométrica de puntos, lineas, vectores yotras primitivas básicas que permiten representar el mecanismo en el propioMATLAB así como interactuar con sistemas de representación de propósitogeneral. Por citar un ejemplo, a partir de dichos datos han sido realizadasanimaciones utilizando el programa de renderizado POVRAY [Pov04].

HECHOS SOBRESALIENTES

Si bien la definición de una librería específica en un determinado lenguaje deprogramación para la definición de un Sistema Multi-Cuerpo no es en absolutonovedosa, el basarse en un lenguaje de programación que incorpore de forma na-tural los tipos de datos simbólicos como MATLAB–MAPLE , puede considerarsenovedoso, siendo los únicos antecendentes conocidos:

• 3D_MEC [3dM04] presenta una funcionalidad muy reducida que apenasimplementa la parte Cinemática del Sistema de Bajo Nivel y un mínimo dela Dinámica.

• AUTOLEV [Aut04] es un sistema cerrado que implementa un lenguajepropio de programación que, si bien provee ciertas capacidades simbólicas,dista mucho de tener la generalidad, modernidad y facilidad de uso quepresenta el trabajo propuesto.

• MBSYMBA [Mbs03], aunque orientado a la simulación dinámica vehicu-lar, provee un sistema simbólico para la DSM , similar en filosofía al de3D_MEC_MATLAB , que permite plantear las ecuaciones dinámicas em-pleando los formalismos más comunes. A día de hoy, el código anterior nopermite exportar código a otros lenguajes de programación, por lo que suentorno de simulación queda limitado a la línea de comandos de MAPLE .

Page 316: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

302 Conclusiones y Trabajo Futuro

Aunque, como se ha comentado anteriormente, la idea de desarrollo de unalibrería para la DSM no es una idea novedosa en si, la implementación propuestaincorpora ciertas características novedosas que pueden resumirse en los siguientespuntos:

• La elección del sistema MATLAB–MAPLE presenta ventajas añadidas,como el amplio reconocimiento y conocimiento que la comunidad cien-tífica y tecnológica tiene del citado entorno de programación. Además,3D_MEC_MATLAB permite la exportación de modelos del sistema mecá-nico a SIMULINK , lo que abre un nuevo campo a la librería desarrollada.

• El sistema está basado en código abierto, de hecho se distribuye bajo lalicencia LGPL [Lic04], lo cual permite la extensión de las capacidades delSistema Simbólico de Alto Nivel e incluso si fuese necesario del de BajoNivel. El hecho de que tanto el sistema como el interfaz que éste ofreceal usuario esté basado en el lenguaje MATLAB , confiere una importantesimplicidad a este proceso.

• La definición de un conjunto de tipos de dato y/o estructuras

Tiempo, Parámetros, Coordenadas y Funciones z (t)

que junto con el operador Derivada Total, constituyen la base para el plan-teamiento de la Cinemática Analítica.

• La incorporación de estructuras de ecuaciones

Geométricas, No-Holónomas e Iniciales de Posición y Velocidad

que junto con los tipos de dato anteriores, permiten plantear los diferentesproblemas de la Cinemática documentados en el Capítulo 4.

• La definición de un conjunto de tipos de dato y/o estructuras

Vector Cartesiano, Punto, Base y Referencia

que junto con los operadores

Vector de Posición, Cambio de Base y/o Velocidad Angular

Page 317: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

6.2 Trabajo Futuro 303

constituyen un Álgebra Cartesiana completa para el trabajo en la DSM .El resto de operadores como velocidad, aceleración y aceleración angularpueden plantearse sobre el conjunto de operadores básicos anteriores.

Las estructuras anteriores dotan al sistema de un interfaz programático com-pletamente cartesiano y afín al lenguaje natural empleado en el plantea-miento de los diferentes problemas de la Mecánica Clásica. Dicho interfazpermite desarrollar de forma muy simple y rápida un sistema completamen-te general, no limitado por el tipo de coordenadas o por el tipo de formula-ción dinámica.

• La incorporación de las estructuras cartesianas separadas para los torsoresde Inercia, de Enlace y Constitutivos.

• La definición de bajo nivel de la conectividad entre sólidos a partir los co-rrespondientes torsores de enlace, y en el caso de aparecer, las ecuacionesde enlace holónomo y no holónomo.

• La incorporación de un algoritmo de bajo nivel que, sin atender a la topo-logía de los enlaces, es capaz de caracterizar los torsores, siempre que seaplique el formalismo de Newton-Euler.

• La incorporación de la estructura de funciones u para la representación deFuerzas y Momentos Exteriores al Sistema, y para la definición de LeyesConstitutivas.

• Las estructuras de funciones z y u , de las que se puede prescindir comple-tamente para plantear el problema, cuando se utilizan, no imponen ningunalimitación sobre los problemas planteables y abren el código exportado ala interacción de otros programas como SIMULINK , o a la posibilidad demodificar los modelos constitutivos o leyes de movimiento en ecuacionesrheónomas en el código exportado.

6.2. Trabajo Futuro

A continuación se enumeran los diferentes aspectos teóricos y relativos a laimplementación que quedan pendientes de una mayor profundización y que pue-den ser objeto de nuevos trabajos de investigación:

A NIVEL SIMBÓLICO

• Incorporación de funciones de alto nivel para la representación de nuevospares cinemáticos así como nuevos elementos constitutivos.

Page 318: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

304 Conclusiones y Trabajo Futuro

• Incorporación de algoritmos recursivos, tanto en la generación de los dife-rentes términos que componen las ecuaciones dinámicas como en la expor-tación de los mismos.

• Incorporación de estructuras y algoritmos de exportación que permitanplantear y exportar las ecuaciones dinámicas empleando el formalismo delas Potencias Virtuales sin limitaciones.

• Incorporación de estructuras y algoritmos de exportación que implemen-ten el concepto de observador, presente en la mayoría de los programas depropósito general y bastante útil en el contexto de control. La implementa-ción anterior podría entenderse como extensión del concepto de coordenadaauxiliar.

• Incorporación de estructuras y algoritmos de exportación que implementenel concepto de subsistema, muy útil en entornos de simulación orientadosal control de sistemas dinámicos como SIMULINK .

• Extensión de la formulación planteada para contemplar problemas de coli-sión.

• Incorporación de estructuras y algoritmos de exportación para la resoluciónde Sistemas Multi-Cuerpo Flexibles. Aunque no se incluye en el contenidode la presente Tesis Doctoral, se han realizado pruebas de implementaciónde las formulaciones más comunes:

• Referencia Flotante: adoptada como solución en varios paquetes co-merciales como ADAMS [Mec99] o SIMPACK [Wal95], permite haceruso de la información obtenida mediante programas MEF de propósi-to general como NASTRAN [Nas04] o ANSYS [Ans04], pero su usoqueda limitado a problemas de pequeñas deformaciones.

• Coordenadas Nodales Absolutas: adoptada como solución para casosen los que se producen grandes deformaciones, exige una reformula-ción de los elementos, [Sha98], que normalmente limita la interaccióncon códigos MEF de propósito general como los mencionados en elpárrafo anterior.

En cualquier caso, la definición de un sólido flexible implica completar eltipo de dato sólido con un campo específico para recoger la informaciónMEF , y extender el algoritmo de cálculo de la fuerza generalizada de iner-cia a este nuevo caso. La utilización de formalismos flexibles específicos co-mo la representación de la deformabilidad del sólido mediante coordenadasmodales se delegaría al exportador. En este contexto, el Sistema Simbólicode bajo nivel gozaría de total generalidad de cara al planteamiento de lasecuaciones de Sistemas Multi-Cuerpo Flexibles.

Page 319: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

6.2 Trabajo Futuro 305

• Extensión del módulo de exportación a otros lenguajes de programación co-mo C o FORTRAN . Dicha extensión podría llevarse a cabo bien ampliandola capacidad actual del módulo de exportación, o bien haciendo uso de he-rramientas como PERL [Wal00].

• Con el fin de evitar la limitación del entorno simbólico de MATLAB a lahora de definir nuevos tipos de dato, el sistema simbólico completo podríaportarse a un lenguaje programación orientado a objetos como C++ [Str00].En tal caso, el sistema de Álgebra Simbólica podría implementarse con ayu-da de librerías para cálculo simbólico como GINAC [Gin04].

A NIVEL NUMÉRICO

• Traducción de las plantillas de resolución de los problemas cinemáticos ydinámicos presentados en el Capítulo 4 a otros lenguajes de programacióncomo C o FORTRAN .

• Mejora de los actuales algoritmos para la simulación dinámica en coordena-das independientes y para el tratamiento eficiente de las variables auxiliares.

• Implementación eficiente y/o paralelización de algoritmos para la simula-ción y control en tiempo real.

• Implementación de algoritmos para la simulación y control de SistemasMulti-Cuerpo Flexibles.

A NIVEL DE INTERFAZ DE USUARIO

• Interacción con programas de tipo CAD y/o implementación de un interfazgráfico que permita definir sólidos y caracterizar uniones entre los mismoscomo alternativa a su definición en línea de comandos.

• Interacción con programas de tipo MEF y/o implementación de un interfazgráfico que permita procesar los modelos flexibles antes de ser incluidos enla formulación. Aunque no se incluye en el contenido de la presente Te-sis Doctoral, se han realizado pruebas de Caracterización Modal de SólidosFlexibles con ayuda de ANSYS [Inc95] y MATLAB [Mat02a] que sirvieroncomo trabajo de investigación del autor y cuyos resultados pueden apreciar-se en la referencia [Gil01].

• Interacción en tiempo de simulación con librerías y/o estándares de repre-sentación gráfica como OPENGL [OP04] y VRML [VR97], que permitanal usuario visualizar el mecanismo con mayor calidad.

Page 320: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

306 Conclusiones y Trabajo Futuro

• Incorporación de rutinas que permitan controlar cómodamente el formato yla cantidad de información a generar desde el interfaz numérico en la etapade simulación del mecanismo.

• Incorporación de nuevas rutinas, basadas éstas en las propias primitivas derepresentación MATLAB , que faciliten al usuario la etapa de post-proceso.

Page 321: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

Anexo A

A.1. Inicialización de la librería 3D_MEC_MATLAB

Listado de la rutina de inicialización environment

La rutina environment se encarga de actualizar la variable path de MAT-LAB para que todas las funciones de la librería simbólica sean accesibles para elusuario.

1 if isunix,2 addpath routines/exports;3 addpath routines/news;4 addpath routines/grs;5 addpath routines/auxs;6 addpath routines/implicits;7 addpath routines/adds;8 addpath routines/op_primitives;9 addpath routines/small_rotations;

10 addpath routines;11 else,12 addpath routines\exports;13 addpath routines\news;14 addpath routines\grs;15 addpath routines\auxs;16 addpath routines\implicits;17 addpath routines\adds;18 addpath routines\op_primitives;19 addpath routines\small_rotations;20 addpath routines;21 end

En este caso la cadena de caracteres routines representa la ruta o pathabsoluto donde la librería simbólica se encuentra instalada.

Listado de la rutina de inicialización initialize

La rutina initialize se encarga de inicializar las variables y estructurasque sirven de base al planteamiento simbólico del problema mecánico.

1 %%%%%%%%%%%%%%%%%%%%%%%%%%%2 % Definición de variables %

Page 322: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

308 Anexo A

3 %%%%%%%%%%%%%%%%%%%%%%%%%%%45 % CINEMÁTICA6 %%%%%%%%%%%%78 % Cinemática Analítica9 %%%%%%%%%%%%%%%%%%%%%%

1011 % Tiempo1213 global t1415 % Parámetros1617 global params18 global auto_params1920 % Coordenadas Generalizadas2122 global qs2324 % Velocidades Generalizadas2526 global dqs2728 % Aceleraciones Generalizadas2930 global ddqs31 global auto_qs3233 % Funciones del tiempo, en general3435 global zs3637 % Derivadas de las anteriores3839 global dzs4041 % Derivadas de las anteriores4243 global ddzs44 global auto_zs4546 % Funciones de excitación4748 global us49 global auto_us5051 % Pequeñas Variables (diferenciales)

Page 323: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

A.1 Inicialización de la librería 3D_MEC_MATLAB 309

5253 global smalls54 global auto_smalls5556 % Ecuaciones Cinemáticas57 %%%%%%%%%%%%%%%%%%%%%%%%5859 % Ecuaciones Geométricas6061 global Cp62 global auto_Cp636465 % Ecuaciones Iniciales de Posición6667 global Cpini68 global auto_Cpini697071 % Ecuaciones No Holónomas7273 global Cv74 global auto_Cv7576 % Ecuaciones Iniciales de Velocidad7778 global Cvini79 global auto_Cvini8081 % Interfaz Cinemático Cartesiano82 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%8384 % Puntos8586 global pts87 global auto_pts8889 % Bases9091 global ors92 global auto_ors9394 % Referencias9596 global refs97 global auto_refs9899 % DINÁMICA

100 %%%%%%%%%%

Page 324: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

310 Anexo A

101102 % Dinámica Analítica103 %%%%%%%%%%%%%%%%%%%%104105 % Incógnitas de enlace106107 global trscs;108 global auto_trscs;109110 % Multiplicadores de Lagrange (ecs. geométricas)111112 global lmbps;113 global auto_lmbp;114115 % Multiplicadores de Lagrange (ecs. no holónomas)116117 global lmbvs;118 global auto_lmbv;119120 % Ecuaciones Dinámicas121 %%%%%%%%%%%%%%%%%%%%%%122123 global DynEqs124 global auto_DynEq125126127 % Interfaz Dinámico Cartesiano128 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%129130 % Tensores131132 global tensors133 global auto_tensors134135 % Sólidos136137 global bodies138 global auto_bodies139140141 % Torsores de Inercia142143 global itrss;144 global auto_itrss;145146 % Torsores de Enlace147148 global etrss;149 global auto_etrss;

Page 325: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

A.1 Inicialización de la librería 3D_MEC_MATLAB 311

150151 % Torsores Constitutivos y de otros tipos152153 global ctrss;154 global auto_ctrss;155156 % Pares cinemáticos157158 global joints159 global auto_joints160161 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%162 % Incialización de estructuras %163 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%164165 % CINEMÁTICA166 %%%%%%%%%%%%167168 % Cinemática Analítica169 %%%%%%%%%%%%%%%%%%%%%%170171 syms t real172173 auto_params=0;174 auto_qs=0;175 auto_zs=0;176 auto_us=0;177 auto_smalls=0;178179180 % Ecuaciones Cinemáticas181 %%%%%%%%%%%%%%%%%%%%%%%%182183 auto_Cp=0;184 auto_Cv=0;185 auto_Cpini=0;186 auto_Cvini=0;187188 % Interfaz Cinemático Cartesiano189 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%190191 null_vector=sym(zeros(3,1));192 null_tensor=sym(zeros(3,3));193 I3_matrix=sym(eye(3));194195 % Definición del punto ’org0’196197 auto_pts=1;198

Page 326: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

312 Anexo A

199 pts(auto_pts).id=2;200 pts(auto_pts).name=’org0’;201 pts(auto_pts).pt_ptr=1;202 pts(auto_pts).or_ptr=1;203 pts(auto_pts).lcoords=null_vector;204205 % Definición de la base ’or0’206207 auto_ors=1;208209 ors(auto_ors).id=3;210 ors(auto_ors).name=’or0’;211 ors(auto_ors).type=1;212 ors(auto_ors).or_ptr=1;213 ors(auto_ors).matrix=I3_matrix;214 ors(auto_ors).local_omega=null_vector;215 ors(auto_ors).global_omega=null_vector;216217 % Definición de la referencia ’ref0’218219 auto_refs=0;220 new_ref(’ref0’, ’org0’, ’or0’);221222 % DINÁMICA223 %%%%%%%%%%224225 % Dinámica Analítica226 %%%%%%%%%%%%%%%%%%%%227228 auto_trscs=0;229 auto_lmbp=0;230 auto_lmbv=0;231232 % Ecuaciones Dinámicas233 %%%%%%%%%%%%%%%%%%%%%%234235 auto_DynEq=0;236237 % Interface Dinámico Cartesiano238 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%239240 auto_tensors=0;241 auto_bodies=0;242243 % Definición del sólido ’body0’244245 new_tensor(’zero_tensor’, ’org0’, ’or0’, null_tensor);246 new_body(’body0’, ’ref0’, ’org0’);247

Page 327: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

A.1 Inicialización de la librería 3D_MEC_MATLAB 313

248 % Torsores249250 auto_ctrss=0;251 auto_etrss=0;252 auto_itrss=0;253254 % Pares Cinemáticos255256 auto_joints=0;

Todas las variables que aparecen en el listado anterior deberán entenderse co-mo variables reservadas por la librería para su correcto funcionamiento.

Page 328: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

314 Anexo A

A.2. Plantillas numéricas para la simulación Dinámica

Listado de la plantilla lagrange_num

1 % modificación del path de matlab23 num_environment;45 %%%%%%%%%%%%%%%%%%%%6 % PROBLEMA INICIAL %7 %%%%%%%%%%%%%%%%%%%%89 % inicializa vectores

10 %%%%%%%%%%%%%%%%%%%%%1112 t0=0;13 inc=1e-2;14 tf=4;1516 prm = prm_init17 q = q_init18 dq = dq_init19 ddq = ddq_init20 lmb = lmb_init21 lmbp = lmbp_init22 epsln = epsln_init2324 % tolerancias del solver de posición25 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%2627 relax=.25;28 nmax=300;29 tol=1e-13;3031 % problema de posición inicial32 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%3334 [q]=solve_initial_position(prm, q, t0, relax, nmax, tol);3536 % problema de velocidad incicial37 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%3839 [dq]=solve_initial_velocity(prm, q, dq, t0);4041 % problema de aceleración incicial (Lagrange)42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%4344 [ddq, lmb]=solve_lagrange_acceleration(prm, q, dq, ddq, ...45 lmb, t0, 1e4*tol);

Page 329: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

A.2 Plantillas numéricas para la simulación Dinámica 315

4647 %%%%%%%%%%%%%%%%%%%%%%%%%%%48 % SIMULACIÓN EN EL TIEMPO %49 %%%%%%%%%%%%%%%%%%%%%%%%%%%5051 count=0;5253 for t=t0:inc:tf,5455 count=count+1;5657 [q, dq, ddq, lmb]=lagrange_ode_solver(prm, q, dq, ddq, ...58 lmb, t, inc, relax, nmax, tol);596061 qs(count,:)=q’;62 dqs(count,:)=dq’;63 ddqs(count,:)=ddq’;6465 end

Listado de la plantilla euler_num

1 % modificación del path the matlab23 num_environment;45 %%%%%%%%%%%%%%%%%%%%6 % PROBLEMA INICIAL %7 %%%%%%%%%%%%%%%%%%%%89 % inicializa vectores

10 %%%%%%%%%%%%%%%%%%%%%1112 t0=0;13 inc=1e-2;14 tf=4;1516 prm = prm_init17 q = q_init18 dq = dq_init19 ddq = ddq_init20 lmb = lmb_init21 lmbp = lmbp_init22 epsln = epsln_init2324 % tolerancias del solver de posición25 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%26

Page 330: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

316 Anexo A

27 relax=.25;28 nmax=300;29 tol=1e-13;3031 % problema de posición inicial32 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%3334 [q]=solve_initial_position(prm, q, t0, relax, nmax, tol);3536 % problema de velocidad incicial37 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%3839 [dq]=solve_initial_velocity(prm, q, dq, t0);4041 % problema de aceleración incicial (Euler)42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%4344 [ddq, epsln]=solve_euler_acceleration(prm, q, dq, ddq,...45 epsln, t0, 1e4*tol);464748 %%%%%%%%%%%%%%%%%%%%%%%%%%%49 % SIMULACIÓN EN EL TIEMPO %50 %%%%%%%%%%%%%%%%%%%%%%%%%%%5152 count=0;5354 for t=t0:inc:tf,5556 count=count+1;5758 [q, dq, ddq, epsln]=euler_ode_solver(prm, q, dq, ddq,...59 epsln, t, inc, relax, nmax, tol);6061 qs(count,:)=q’;62 dqs(count,:)=dq’;63 ddqs(count,:)=ddq’;64 epslns(count,:)=epsln’;6566 end

Page 331: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

A.3 Plantilla numérica para el Problema de Equilibrio 317

A.3. Plantilla numérica para el Problema de Equilibrio

Listado de la plantilla equilibrium_num

1 % modificación del path the matlab23 num_environment;45 %%%%%%%%%%%%%%%%%%%%6 % PROBLEMA INICIAL %7 %%%%%%%%%%%%%%%%%%%%89 % inicializa vectores

10 %%%%%%%%%%%%%%%%%%%%%1112 t0=0;1314 prm = prm_init;15 q = q_init;16 lmbp = lmbp_init;1718 % tolerancias del solver de posición19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%2021 relax=0.75;22 nmax=300;23 tol=1e-7;2425 % resuelve la posición inicial26 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%2728 q=solve_initial_position(prm, q, t0, relax, nmax, tol);2930 % resuelve la posición de equilibrio31 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%3233 q=solve_equilibrium_position(prm, q, lmbp, t0, relax, nmax, tol)3435 % (punto de partida: posición inicial)

Listado de la plantilla solve_equilibrium_position

1 function [new_q]=solve_equilibrium_position(prm, q, lmbp, t, ...2 relax, nmax, tol)34 % tamaño de los vectores q y lmbp (multiplicadores asociados a5 % las ecuaciones geométricas)67 nq=size(q,1);

Page 332: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

318 Anexo A

8 nlmbp=size(lmbp,1);9

10 % guarda el vector de entrada1112 q_ini = q;1314 if (norm(equeqs(prm, q, lmbp, t))~=0),1516 % inicializa el método1718 Jp_num=Jequeqs(prm, q, lmbp, t);19 cv=equeqs(prm, q, lmbp, t);2021 deltaq=zeros(nq,1);22 deltalmb=zeros(nlmbp,1);2324 itnum=0;2526 % aplica el método de Newton-Rhapson2728 while (norm(cv) > tol),2930 itnum=itnum+1;3132 if itnum > nmax,3334 % devuelve el vector de entrada3536 disp(’The equilibrium problem has not good convergence.’)37 new_q=q_ini;3839 return;4041 end4243 % resuelve los incrementos4445 [deltaq, dltlmb,p,r]=myqreq(Jp_num, deltaq, dltlmb, ...46 -cv, tol);4748 % aplica los incrementos4950 q = q + relax*deltaq;51 lmbp = lmbp + relax*dltlmb;5253 % error admisible ?5455 Jp_num=Jequeqs(prm, q, lmbp, t);56 cv=equeqs(prm, q, lmbp, t);

Page 333: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

A.3 Plantilla numérica para el Problema de Equilibrio 319

5758 end5960 end6162 new_q = q;

Listado de la plantilla equeqs

1 function eqs=equeqs(prm, q, lmbp, t)23 % velocidad y aceleración = \vec045 dq=zeros(size(q)); ddq=zeros(size(q));67 % se evalúa z en el instante t89 z=zetas(prm, t);

1011 % se evalúa u en el instante t12 % u = 0 para fuentes externas !1314 u=ues(prm, q, dq, t); u=zeros(size(u));1516 % error en las ecuaciones geométricas1718 pos_er = Cp(prm, q, z, t);1920 % error en las ecuaciones dinámicas2122 dyn_er = Ql(prm, q, dq, u, t)-Jp(prm, q, z, t)’*lmbp;2324 eqs=[dyn_er; pos_er];

Listado de la plantilla Jequeqs

1 function J=Jequeqs(prm, q, lmbp, t)23 % velocidad y aceleración = \vec045 dq=zeros(size(q)); ddq=zeros(size(q));67 % se evalúa z en el instante t89 z=zetas(prm, t);

1011 % se evalúa u en el instante t12 % u = 0 para fuentes externas !13

Page 334: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

320 Anexo A

14 u=ues(prm, q, dq, t); u=zeros(size(u));1516 % matriz de rigidez del sistema, [d/dq(Ql)]1718 JQlm = JQl_eq(prm, q, u, t);1920 % término [d/dq(Jp’*lmbp)]2122 JJpm = JJplmbq(prm, q, z, lmbp, t);2324 % Jacobiano de posición2526 Jpm = Jp(prm, q, z, t);2728 zero=zeros(size(Jpm,1),size(Jpm,1));293031 J=[ JQlm-JJpm, -Jpm’;32 Jpm , zero];

Page 335: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

A.4 Plantilla numérica para el Problema Modal 321

A.4. Plantilla numérica para el Problema Modal

Listado de la plantilla natural_modes

1 % modificación del path the matlab23 num_environment;45 % inicializa vectores6 %%%%%%%%%%%%%%%%%%%%%78 t0=0;9

10 prm = prm_init;11 q = q_init;12 lmbp = lmbp_init;1314 % tolerancias del solver de posición15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%1617 relax=0.75;18 nmax=300;19 tol=1e-7;2021 % resuelve la posición inicial22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%2324 q=solve_initial_position(prm, q, t0, relax, nmax, tol);2526 % resuelve la posición de equilibrio27 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%2829 q_eq=solve_equilibrium_position(prm, q, lmbp, t0, relax, ...30 nmax, tol)3132 % evalúa la matriz de masa en q=q_eq33 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%3435 Mass=Ml(prm,q_eq);3637 % evalúa la matriz de rigidez en q=q_eq38 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%3940 % se evalúa u en el instante t041 % u = 0 para fuentes externas !4243 u=ues(prm, q, dq, t0); u=zeros(size(u));4445 JQlm= -JQl_eq(prm, q_eq, u, t0);

Page 336: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

322 Anexo A

4647 % selecciona coordenadas independientes48 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%4950 z=zetas(prm, t0);5152 Jpm = Jp(prm, q_eq, z, t0);5354 [Q,R,p]=qr(Jpm,0);5556 ra=rank(R);5758 Rdd=R(1:ra,1:ra);59 Rii=R(1:ra,ra+1:end);6061 % construye la matriz S_eq62 %%%%%%%%%%%%%%%%%%%%%%%%%%6364 Seq=[-Rdd\Rii;eye(size(Rii,2))];6566 % re-construye la matriz M67 %%%%%%%%%%%%%%%%%%%%%%%%%%6869 Mi=Seq’*Mass(p,p)*Seq;7071 % re-construye la matriz K72 %%%%%%%%%%%%%%%%%%%%%%%%%%7374 Ki=Seq’*JQlm(p,p)*Seq;7576 % problema generalizado de vectores y77 % valores propios: Choleski para matriz78 % de masa simétrica y definida positiva79 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%8081 [Vi, D]=eig(Ki, Mi, ’chol’);8283 % omega(rad/s)=2*pi*f_nat(Hz)84 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%8586 omega=sqrt(diag(D));878889 % filtra modos sólido rígido90 %%%%%%%%%%%%%%%%%%%%%%%%%%%%9192 rep=0;9394 for i=1:1:size(omega,1),

Page 337: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

A.4 Plantilla numérica para el Problema Modal 323

9596 if (omega(i) < 1e-3),9798 % modos de sólido rígido99

100 omega(i)=0;101102 else103104 rep=rep+1; irep(rep)=i;105106 end107 end108109 omega=omega(irep);110111 % extrae modos de la matriz de modos, Vi112 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%113114 V=Vi(:, irep);115116 % expande modos q_i -> q117 %%%%%%%%%%%%%%%%%%%%%%%%118119 modes(p,:)=Seq*V;120121122123 % proyecta modos sobre la posición de equilibrio124 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%125126 Amp=0.25;127128 nm=size(irep,2);129130 for i=1:1:nm, auxq(:,i)=q_eq; end131132 mode_matrix=auxq+Amp*modes;

Page 338: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

324 Anexo A

A.5. Wrapper general para la Ode Suite de MATLAB

Listado de la función matlab_num.m

1 function [t,y]=matlab_num(solver, tspan)23 if (nargin==1),4 tspan = 0:.01:2;5 elseif(nargin<1),6 error(’Too few arguments !’);7 end89 % modificación del path de matlab

1011 num_environment1213 %%%%%%%%%%%%%%%%%%%%14 % PROBLEMA INICIAL %15 %%%%%%%%%%%%%%%%%%%%1617 % inicializa vectores18 %%%%%%%%%%%%%%%%%%%%%1920 t0=0;2122 prm = prm_init;23 q = q_init;24 dq = dq_init;25 ddq = ddq_init;26 lmbp = lmbp_init;27 lmb = lmb_init;28 epsln= epsln_init;2930 % tolerancias del solver de posición31 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%3233 relax=.75;34 nmax=200;35 tol=1e-8;3637 % tolerancias para el solver de velocidad y aceleración38 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%3940 tolv=1e-8;41 tola=1e-8;4243 % problema de posición inicial44 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%45

Page 339: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

A.5 Wrapper general para la Ode Suite de MATLAB 325

46 q=solve_initial_position(prm, q, t0, relax, nmax, tol);4748 % problema de velocidad incicial49 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5051 dq=solve_initial_velocity(prm, q, dq, t0);5253 %%%%%%%%%%%%%%%%%%%%%%%%%%%54 % SIMULACIÓN EN EL TIEMPO %55 %%%%%%%%%%%%%%%%%%%%%%%%%%%5657 % vector de estado58 %%%%%%%%%%%%%%%%%%5960 y0=[q; dq];6162 % opciones del integrador63 %%%%%%%%%%%%%%%%%%%%%%%%%6465 options = odeset(’AbsTol’, 1e-6, ’RelTol’, 1e-4, ...66 ’Stats’, ’on’, ’InitialStep’, 1e-2, ...67 ’OutputFcn’, @odeplot);6869 tic7071 switch solver7273 case ’ode23’,74 [t, y]=ode23(@f, tspan, y0, options, prm, tolv, tola);75 case ’ode23s’,76 [t, y]=ode23s(@f, tspan, y0, options, prm, tolv, tola);77 case ’ode23t’,78 [t, y]=ode23t(@f, tspan, y0, options, prm, tolv, tola);79 case ’ode45’,80 [t, y]=ode45(@f, tspan, y0, options, prm, tolv, tola);81 case ’ode15s’,82 [t, y]=ode15s(@f, tspan, y0, options, prm, tolv, tola);83 otherwise84 error(’Unknown solver !’);8586 end8788 toc8990 %%%%%%%%%%%%%%%%%%%%%%%%%%91 % FUNCIÓN DEL INTEGRADOR %92 %%%%%%%%%%%%%%%%%%%%%%%%%%9394 function dydt = f(t, y, prm, tolv, tola)

Page 340: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

326 Anexo A

9596 dydt=matlab_odefun(t, y, prm, tolv, tola);

Listado de la función matlab_odefun.m

Aunque podría corregirse en velocidades, el error del integrador se estabilizaempleando la corrección de Baumgarte en la función matlab_ba.m .

1 function dydt = matlab_odefun(t, y, prm, tolv, tola)23 if (nargin==3),4 tolv=1e-10;5 tola=1e-8;6 end78 nq=size(y,1)/2;9

10 q=y(1:nq,1);11 dq=y(nq+1:end,1);1213 [ddq, algv]=solve_matlab_acceleration(prm, q, dq, ...14 zeros(size(q)), algv_init, t, tola);1516 % algv representa cualquier vector de variables algebraicas,17 % ya sea lmb (lambda) o epsln (epsilon)1819 dydt=[dq;ddq];

Listado de la función solve_matlab_acceleration.m

1 function [ddq, algv]=solve_matlab_acceleration(prm, q, dq, ...2 ddq_ant, algv_ant, t, tol)34 % algv representa cualquier vector de variables algebraicas5 % ya sea lmb (lambda) o epsln (epsilon)67 nq=size(q,1);89 z = zetas(prm, t);

10 dz = dzetas(prm, t);11 ddz = ddzetas(prm, t);1213 u = ues(prm, q, dq, t);1415 Ja_num=matlab_A(prm, q, z, t);16 Ba=matlab_B(prm, q, dq, u, z, dz, ddz, t);1718 solv=[ddq_ant; algv_ant];

Page 341: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

A.5 Wrapper general para la Ode Suite de MATLAB 327

1920 [solv, p , r]=qr_n_m(Ja_num, solv, Ba);2122 ddq=solv(1:nq,1);23 algv=solv(nq+1:end,1);

Listado de la función matlab_A.m

Varía dependiendo del formalismo empleado en el planteamiento de las ecua-ciones dinámicas. En este caso se resuelve por Euler.

1 function [Am]=matlab_A(prm, q, z, t)23 nq=size(q,1);45 V= Ve(prm, q);6 M= Me(prm, q);78 ntrsc=size(V,2);9

10 phiq=Jv(prm, q, z, t);1112 nrest=size(phiq,1);1314 zero=zeros(nrest, ntrsc);1516 Am=[M , V ;17 phiq , zero ];

Listado de la función matlab_B.m

Varía dependiendo del formalismo empleado en el planteamiento de las ecua-ciones dinámicas. En este caso se resuelve por Euler.

1 function [B_vector]=matlab_B(prm, q, dq, u, z, dz, ddz, t)23 B_vector=[Qe(prm, q, dq, u, t);4 matlab_ba(prm, q, dq, z, dz, ddz, t)];

Listado de la función matlab_ba.m

La corrección de Baumgarte permite estabilizar el error de posición. Los va-lores de α y β deben elegirse de forma apropiada en cada problema.

1 function [bav]=matlab_ba(prm, q, dq, z, dz, ddz, t)23 % se seleccionan los parámetros4

Page 342: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

328 Anexo A

5 alpha=10;6 beta=20;78 % se evalúan los términos de corrección9

10 Bg1 = beta^2*Cp(prm, q, z, t);11 Bg2 = 2*alpha*(Jv(prm, q, z, t)*dq-bv(prm, q, z, dz, t));1213 % se aplica la corrección de Baumgarte1415 bav= ba(prm, q, dq, z, dz, ddz, t) - Bg1 - Bg2;

Page 343: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

A.6 Wrapper general para la para SIMULINK 329

A.6. Wrapper general para la para SIMULINK

Listado del modelo dinámico modelo.mdl

En este caso, únicamente se mostrará lo necesario. El modelo puede adaptarsede forma sencilla con ayuda del interface gráfico de SIMULINK .

1 Model 23 Name "modelo"45 ................................67 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%8 % Parámetros del integrador %9 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

1011 SimulationMode "normal"12 Solver "solver"13 SolverMode "Auto"14 StartTime "0.0"15 StopTime "60"16 RelTol "1e-4"17 AbsTol "auto"18 OutputTimes "[0:.05:60]"1920 System 2122 Name "modelo"2324 ...............................2526 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%27 % Bloque del sistema mecánico %28 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%2930 Block 31 BlockType "S-Function"32 Name "Modelo Dinámico"33 Ports [1, 1]34 Position [a, b, c, d]35 FunctionName "sfuntmpl"36 Parameters "prm_init, tolv, tola"37 MaskInitialization "initialize_sizes"38 MaskIconFrame on39 MaskIconOpaque on40 MaskIconRotate "none"41 MaskIconUnits "autoscale"42

Page 344: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

330 Anexo A

4344 ...............................4546 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%47 % Retraso en la lectura del estado %48 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%4950 Block 51 BlockType TransportDelay52 DelayTime "0.01"53 InitialInput "0"54 BufferSize "1024"55 PadeOrder "0"56 TransDelayFeedthrough off57 5859 ...............................6061 %%%%%%%%%%%%%%%%%%%%%%62 % Bloque de comandos %63 %%%%%%%%%%%%%%%%%%%%%%6465 Block 66 BlockType "S-Function"67 Name "comandos"68 Ports [1, 1]69 Position [a, b, c, d]70 FunctionName "sfuncom"71 Parameters "prm_init"72 73 74

Listado de la función initialize_sizes.m

La función de tipo S correspondiente al modelo dinámico, sfundin ,se inicializa mediante la función exportada desde el interface simbólicoinitalize_sizes.m :

1 function initialize_sizes()23 global nq4 global nz5 global nu67 load(’sys_sizes.dat’);89 nq=sys_sizes(1,1);

Page 345: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

A.6 Wrapper general para la para SIMULINK 331

10 nz=sys_sizes(2,1);11 nu=sys_sizes(3,1);

El cometido de la función anterior es declarar las variables nq (número decoordenadas generalizadas), nz (número de funciones de tipo z ) y nu (nú-mero de funciones de tipo u ) como variables globales para que éstas puedan serempleadas con su valor original en el resto de las funciones.

La función initialize_sizes construye el array numérico sys_sizes apartir de la información contenida en el fichero sys_sizes.dat , exportado des-de el interface simbólico.

El fichero anterior, para el caso particular del ejemplo 5.7, presenta la forma:

1 2 % número de coordenadas generalizadas2 1 % número de funciones de tipo z(prm,t)3 1 % número de funciones de tipo u(prm, q, dq, t)

Listado de la función sim_ues.m

La función sim_ues se emplea para encapsular las funciones externas almodelo dinámico, es decir, z, dz, ddz y u .

1 function sim_u = sim_ues(prm, q, dq, t)23 % Encapsular zs y us45 % sim_u(1:nz,1) -> Vector z6 % sim_u(nz+1:2*nz,1) -> Vector dz7 % sim_u(2*nz+1:3*nz,1) -> Vector ddz8 % sim_u(3*nz+1:3*nz+nu,1) -> Vector u9

10 z = zetas(prm, t);11 dz = dzetas(prm, t);12 ddz = ddzetas(prm, t);1314 u = ues(prm, q, dq, t);1516 sim_u=[z ; dz ; ddz ; u ];

Listado de la función desim_ues.m

La función desim_ues se emplea para desencapsular las funciones anterio-res.

1 function [z, dz, ddz, uv] = desim_ues(u)23 global nz

Page 346: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

332 Anexo A

4 global nu56 z=u(1:nz,1);7 dz=u(nz+1:2*nz,1);8 ddz=u(2*nz+1:3*nz,1);9

10 uv=u(3*nz+1:3*nz+nu,1);

Listado de la función sfuncom.m

La función sfuncom se emplea para encapsular las funciones de control,u e introducirlas como función de tipo S en el bucle de control del modelomodelo.mdl .

1 function [sys,x0,str,ts] = sfuncom(t,x,u,flag, prm)23 switch flag,45 case 067 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%8 % Inicialización del modelo %9 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%

1011 [sys,x0,str,ts]=mdlInitializeSizes;1213 case 31415 %%%%%%%%%%%%%%%%%%%%%%%%%%16 % Salida del controlador %17 %%%%%%%%%%%%%%%%%%%%%%%%%%1819 sys=mdlOutputs(t,x,u, prm);2021 case 1, 2, 4, 9 2223 %%%%%%%%%%%%%%%%%%%24 % Unhandled flags %25 %%%%%%%%%%%%%%%%%%%2627 sys=[];2829 otherwise3031 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%32 % Unexpected flags (error handling) %33 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%34

Page 347: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

A.6 Wrapper general para la para SIMULINK 333

35 error([’Unhandled flag = ’,num2str(flag)]);3637 end3839 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%40 % Inicialización del modelo %41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%4243 function [sys,x0,str,ts] = mdlInitializeSizes()4445 global nz % Dimensión del vector z46 global nu % Dimensión del vector u47 global nq % Dimensión del vector q4849 sizes = simsizes;50 sizes.NumContStates = 0;51 sizes.NumDiscStates = 0;52 sizes.NumOutputs = 1+3*nz+nu; % Dimensión de ’sim_ues’.53 sizes.NumInputs = 2*nq; % Dimensión de [q, dq]’.54 sizes.DirFeedthrough = 1;55 sizes.NumSampleTimes = 1; % Al menos 1.5657 sys = simsizes(sizes);58 str = [];59 x0 = [];60 ts = [-1 0];6162 %%%%%%%%%%%%%%%%%%%%%%%%%%63 % Salida del controlador %64 %%%%%%%%%%%%%%%%%%%%%%%%%%6566 function sys = mdlOutputs(t,x,u, prm)6768 global nq % Dimensión del vector q6970 q = u(1:nq, 1);71 dq = u(nq+1:end, 1);7273 sys = sim_ues(prm, q, dq, t);

Listado de la función sfundin.m

La función sfundin se emplea para encapsular el sistema mecánico e intro-ducirlo como función de tipo S en el modelo modelo.mdl .

1 function [sys,x0,str,ts] = sfundin(t,x,u,flag, prm, tolv, tola)23 switch flag,4

Page 348: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

334 Anexo A

5 case 0,67 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%8 % Inicialización del modelo %9 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%

1011 [sys,x0,str,ts]=mdlInitializeSizes;1213 case 1,1415 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%16 % Derivada del vector de estado %17 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%181920 sys=mdlDerivatives(t, x, u, prm, tolv, tola);2122 case 2,4,92324 %%%%%%%%%%25 % Update %26 %%%%%%%%%%2728 sys=[];2930 case 3,3132 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%33 % salida (vector de estado) %34 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%3536 sys=mdlOutputs(t, x, u, prm);373839 otherwise4041 %%%%%%%%%%%%%%%%%%%%42 % Unexpected flags %43 %%%%%%%%%%%%%%%%%%%%4445 error([’Unhandled flag = ’,num2str(flag)]);4647 end4849 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%50 % Inicialización del modelo %51 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%5253 function [sys,x0,str,ts]=mdlInitializeSizes

Page 349: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

A.6 Wrapper general para la para SIMULINK 335

5455 global nq % Dimensión del vector q56 global nz % Dimensión del vector z57 global nu % Dimensión del vector u5859 sizes = simsizes;6061 sizes.NumContStates = 2*nq; % Dimensión de [q, dq].62 sizes.NumDiscStates = 0; % Es un modelo contínuo.63 sizes.NumOutputs = 2*nq; % Dimensión de [q, dq].64 sizes.NumInputs = 3*nz+nu; % Dimensión de ’sim_ues’.65 sizes.DirFeedthrough = 1;66 sizes.NumSampleTimes = 1; % Al menos 1.6768 sys = simsizes(sizes);6970 % vector de estado inicial71 %%%%%%%%%%%%%%%%%%%%%%%%%%7273 x0 = initial_state;7475 % otros vectores (defecto)76 %%%%%%%%%%%%%%%%%%%%%%%%%%7778 str = [];7980 ts = [0 0];8182 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%83 % Función que devuelve la derivada del vector de estado %84 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%8586 function sys=mdlDerivatives(t, x, u, prm, tolv, tola)8788 sys = sim_odefun(t, x, u, prm, tolv, tola);8990 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%91 % Función de salida del bloque (en este caso, el estado) %92 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%9394 function sys=mdlOutputs(t,x,u, prm)9596 sys = x ;

Listado de la función initial_state.m

La función initial_state se emplea para inicializar los valores de la fun-ción sfundin.m al comenzar la simulación del modelo.

Page 350: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

336 Anexo A

1 function [y0]=initial_state()23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%4 % Actualizar el path de Matlab %5 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%67 num_environment89 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

10 % Inicializar valores de los vectores analíticos %11 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%1213 prm = prm_init;14 q = q_init;15 dq = dq_init;16 ddq = ddq_init;17 lmbp = lmbp_init;18 lmb = lmb_init;19 epsln= epsln_init;2021 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%22 % Tolerancias para el solver de posición %23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%2425 relax=.75;26 nmax=200;27 tol=1e-8;2829 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%30 % Resuelve el problema de posición inicial %31 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%3233 q=solve_initial_position(prm, q, 0, relax, nmax, tol);3435 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%36 % Resuelve el problema de velocidad incicial %37 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%3839 dq=solve_initial_velocity(prm, q, dq, 0);404142 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%43 % devuelve el vector de estado %44 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%4546 y0=[q; dq];

Page 351: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

A.6 Wrapper general para la para SIMULINK 337

Listado de la función sim_odefun.m

La función sim_odefun se emplea para evaluar la derivada del vector deestado. El integrador se elige en el fichero de definción modelo.mdl .

1 function dxdt = sim_odefun(t, x, u, prm, tolv, tola)23 if (nargin==4),4 tolv=1e-10;5 tola=1e-8;6 end78 % Separar el vector de estado9

10 nq=size(x,1)/2;1112 q=x(1:nq,1);13 dq=x(nq+1:end,1);1415 % Resolver aceleración1617 [ddq, algv] = solve_sim_acceleration(prm, q, dq, ...18 zeros(size(q)), u, algv_init, t, tola);1920 % Corregir velocidad2122 dq = solve_sim_velocity(prm, q, dq, u, t, tolv);2324 dxdt=[dq;ddq];

Listado de la función solve_sim_position.m

La función solve_sim_position se emplea en sustitución de la funciónsolve_position.m y permite desencapsular el vector sim_ues .

1 function [new_q]=solve_sim_position(prm, q, u, t, relax, nmax, tol)23 % Desencapsular zs y us45 [z, dz, ddz, uv] = desim_ues(u);67 % Resolver el problema de posición89 if (norm(Cp(prm, q, z, t))~=0),

1011 while norm(Cp(prm, q, z, t)) < tol,1213 % Método de Newton Rhapson14

Page 352: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

338 Anexo A

15 end1617 end1819 new_q= q;

Listado de la función solve_sim_velocity.m

La función solve_sim_velocity se emplea en sustitución de la funciónsolve_velocity.m y permite desencapsular el vector sim_ues .

1 function [dq]=solve_sim_velocity(prm, q, dq_ant, u, t, tol)23 % Desencapsular zs y us45 [z, dz, ddz, uv] = desim_ues(u);67 % Resolver el problema de velocidad89 ...

Listado de la función solve_sim_acceleration.m

La función solve_sim_acceleration se emplea en sustitución de lafunción solve_matlab_acceleration.m y permite desencapsular el vectorsim_ues .

1 function [ddq, algv]=solve_sim_acceleration(prm, q, dq, ...2 ddq_ant, u, algv_ant, t, tol)34 % Desencapsular zs y us56 [z, dz, ddz, uv] = desim_ues(u);78 % Resolver aceleración9

10 nq=size(q,1);11 nl=size(lmb_ant,1);1213 solv=[ddq_ant; algv_ant];1415 Ja_num=matlab_A(prm, q, z, t);16 Ba=matlab_B(prm, q, dq, uv, z, dz, ddz, t);1718 [solv, p , r]=qr_n_m(Ja_num, solv, Ba);1920 ddq=solv(1:nq,1);2122 algv=solv(nq+1:end,1);

Page 353: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

A.7 Plantillas numéricas para resolver el ejemplo 4 339

A.7. Plantillas numéricas para resolver el ejemplo 4

En este anexo se incluyen algunas de las funciones empleadas en la simulacióndel transitorio de arranque de la máquina transportadora presentada en el ejemplo4 , sección 5.6.

La función matlab_num es una adaptación de la función general presentadaen el anexo A.5.

El resto de las funciones puede personalizarse de forma sencilla tomando co-mo referencia las plantillas generales que se incluyen en la librería.

Listado de la función matlab_num

1 function [t,y,qs]=matlab_num(solver, tspan)23 % modificación del path de Matlab4 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%56 num_environment78 % tiempo inicial, tiempo final9 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

1011 t0=0;12 tf=10;1314 % valores iniciales15 %%%%%%%%%%%%%%%%%%%1617 prm = prm_init;18 q = q_init;19 dq = dq_init;20 lmbp = lmbp_init;2122 u= ues(prm, q, dq, t0);2324 % tolerancias de los diferentes solvers25 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%2627 relax=.75;28 nmax=200;29 tol=1e-8;30 tolv=1e-8;31 tola=1e-8;3233 % representa la posición inicial de la máquina34 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Page 354: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

340 Anexo A

3536 [handle, handlen]=draw_all(prm, q, dq, u, epsln, 0);37 view(3);38 axis([-1.5 1.5 -1.5 1.5 0 3]);39 axis square;40 grid;4142 pause4344 % tolerancias del solver de posición45 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%4647 relax=.75;48 nmax=200;49 tol=1e-8;5051 % tolerancias para el solver de velocidad y aceleración52 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5354 tolv=1e-8;55 tola=1e-8;5657 % problema de posición inicial58 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5960 q=solve_initial_position(prm, q, t0, relax, nmax, tol);6162 % Resuelve el problema de equilibrio63 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%6465 q=solve_equilibrium_position(prm, q, lmbp, t0, relax, ...66 nmax, tol);6768 [handle, handlen]=redraw_all(prm, q, dq, u, epsln, 0, ...69 handle, handlen);7071 pause7273 % Simulación en el tiempo (con un integrador de Matlab)74 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%7576 nq=size(q,1);7778 ni=14;79 dq_i=dq(1:14);8081 % Vector de estado: Todo el vector ’q’82 % y sólo las velocidades independientes83 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Page 355: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

A.7 Plantillas numéricas para resolver el ejemplo 4 341

848586 y0=[q; dq_i];878889 % opciones del integrador90 %%%%%%%%%%%%%%%%%%%%%%%%%9192 options = odeset(’AbsTol’, 1e-6, ’RelTol’, 1e-4, ...93 ’Stats’, ’on’, ’InitialStep’, 1e-2, ...94 ’OutputFcn’, @odeplot);9596 % Elección del solver y resultado97 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%9899 tic

100101 switch solver102103 case ’ode23’,104 [t, y]=ode23(@f, tspan, y0, options, prm, tolv, tola);105 case ’ode23s’,106 [t, y]=ode23s(@f, tspan, y0, options, prm, tolv, tola);107 case ’ode23t’,108 [t, y]=ode23t(@f, tspan, y0, options, prm, tolv, tola);109 case ’ode45’,110 [t, y]=ode45(@f, tspan, y0, options, prm, tolv, tola);111 case ’ode15s’,112 [t, y]=ode15s(@f, tspan, y0, options, prm, tolv, tola);113 otherwise114 error(’Unknown solver !’);115116 end117118 toc119120 pause121122 disp(’Stroke a key to continue ...’);123124 % Representación de la simulación (post)125 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%126127 close128129 [handle, handlen]=draw_all(prm, q, dq, u, epsln, 0);130 view(3);131 axis([-1.5 1.5 -1.5 1.5 0 3]);132 axis square;

Page 356: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

342 Anexo A

133 grid;134135 pause;136137 qs=y(:, 1:nq)’;138 dqs_i=y(:, nq+1:end)’;139140 for i=1:1:size(qs,2),141142 u = ues(prm, qs(:,i), dqs(:,i), t(i));143 z = zetas(prm, t(i));144 [Cpv]= Cp(prm, qs(:,i), z, t(i));145146 [handle, handlen]=redraw_all(prm, qs(:,i), dqs(:,i),...147 u, epsln, 0, handle, handlen);148149 end150151152 pause153154 close all;155156 % Función del integrador (derivada del vector de estado)157 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%158159 function dydt = f(t, y, prm, tolv, tola)160161 % en este caso: dydt=[dq, ddq_i]’162163 [dydt]=odefun(t, y, prm, tolv, tola);

Listado de la función odefun

1 function dydt = odefun(t, y, prm, tolv, tola)23 % y = [q_i, q_a, dq_i]’45 [q_i, q_a, dq_i]=qi_qa_dqi_from_state(y);67 % resuelve dq_a en función de dq_i89 [dq_a]=solve_aux_velocities(prm, [q_i;q_a], dq_i, t, tolv);

1011 % resuelve ddq_i en función de [q_i, q_a, dq_i, dq_a]1213 [ddq_i]=solve_indep_accelerations(prm, [q_i;q_a], ...14 [dq_i;dq_a], t, tola);15

Page 357: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

A.7 Plantillas numéricas para resolver el ejemplo 4 343

16 % devuelve la derivada del vector de estado1718 dydt=[dq_i;dq_a;ddq_i];

Listado de la función solve_aux_velocities

La función solve_aux_velocities se emplea para resolver las velocida-des auxiliares en términos de las de partida.

1 function [dq_a]=solve_aux_velocities(prm, q , dq_i, t, tolv)23 % indices de velocidades independientes45 ni=14;6 ii=1:ni;78 % indices de velocidades auxiliares9

10 na=36;11 da=ni+1:nq;1213 % evaluar funciones z, dz ...1415 z=zetas(prm, t);16 dz=dzetas(prm, t);1718 % resolver problema de velocidad1920 Jv_num=Jv(prm, q, z, t);21 Bv=bv(prm, q, z, dz, t);2223 Jv_i=Jv_num(:,ii);24 Bv=Bv-Jv_i*dq_i;2526 dq_a=Jv_num(:,di)\Bv;

En este caso, las velocidades auxiliares son necesarias para evaluar correcta-mente el vector de cargas en cada instante de tiempo.

Listado de la función solve_indep_accelerations

La función solve_indep_accelerations resuelve el problema dinámicopara el subconjunto de coordenadas independientes.

1 function [ddq_i]=solve_indep_accelerations(prm, q, dq, t, tola)23 % matriz de masa de Lagrange4

Page 358: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

344 Anexo A

5 M=Ml(prm, q);67 % q -> todas las coordenadas89 % vector de cargas de Lagrange

1011 u = ues(prm, q, dq, t);1213 Q=Ql(prm, q, dq, u, t);1415 % dq -> todas las velocidades1617 ni=14;1819 % matriz de masa en coordenadas independientes2021 M_i=M(1:ni, 1:ni);2223 % vector de cargas en coordenadas independientes2425 Ql_i=Q(1:ni,1);2627 % resolver las aceleraciones independientes2829 ddq_i=M_i\Ql_i;

Las aceleraciones auxiliares no se calculan.

Listado de la función qi_qa_dqi_from_state

La función qi_qa_from_state , tomando como argumento el vector de es-tado, x , devuelve los vectores de coordenadas independientes, qi , y coorde-nadas dependientes qa.

1 function [q_i, q_a, dq_i]=qi_qa_dqi_from_state(state)23 % El vector de estado: todas las coordenadas4 % y sólo las velocidades independientes56 nq=50; % número total de coordenadas7 ni=14; % número de coordenadas independientes89 q_i=state(1:ni,1);

10 q_a=state(ni+1:nq, 1);1112 dq_i=state(nq+1:end,1);

Page 359: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

A.7 Plantillas numéricas para resolver el ejemplo 4 345

Listado de la función qi_qa_from_q

La función qi_qa_from_q , separa el vector de coordenadas en dos subvec-tores: independientes, qi , y dependientes qa.

1 function [q_i, q_a]=qi_qa_from_q(q)23 % Separa las coordenadas de partida de las auxiliares.45 ni=14;67 q_i=q(1:ni,1);8 q_a=q(ni+1:end, 1);

Page 360: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson
Page 361: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

Anexo B

B.1. Parámetros: Ejemplos 1 y 21 % gravedad23 g = 9.81;45 % longitudes de los eslabones67 l1 = 4;8 l2 = 10;9

10 % ángulo inicial para la manivela1112 a10 = 1.0472;1314 % PROPIEDADES INERCIALES15 %%%%%%%%%%%%%%%%%%%%%%%%1617 % Propiedades inerciales de la manivela1819 m1 = 1;20 Ixx1 = 0;21 Iyy1 = 0;22 Izz1 = 1;2324 % Propiedades inerciales de la biela2526 m2 = 2;27 Ixx2 = 0;28 Iyy2 = 0;29 Izz2 = 2;3031 % Propiedades inerciales del disco3233 m3 = 3;34 Ixx3 = 0;35 Iyy3 = 0;36 Izz3 = 3;3738 % PARÁMETROS DINÁMICOS39 %%%%%%%%%%%%%%%%%%%%%%

Page 362: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

348 Anexo B

4041 % parámetros dinámicos del muelle42 % entre los puntos ’org0’ y ’c’4344 k3 = 100;45 c3 = 4;46 l03 = 8;4748 % rozamiento dinámico en la unión sj_014950 c1 = 1;5152 % rozamiento dinámico en la unión sj_125354 c2 = 1;

B.2. Parámetros: Ejemplo 31 % gravedad23 g = 9.81;45 % longitudes de los eslabones67 l1 = 4;8 l2 = 10;9

10 % parámetros de la parábola1112 x0p = 12;13 y0p = 0;14 c0p = 0.15;1516 % radio del disco1718 rd = 1.5;19 xpg0 = 12;20 ypg0 = 0;2122 % PROPIEDADES INERCIALES23 %%%%%%%%%%%%%%%%%%%%%%%%2425 % Propiedades inerciales de la manivela2627 m1 = 3;28 Ixx1 = 0;29 Iyy1 = 0;30 Izz1 = 6;

Page 363: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

B.3 Parámetros: Ejemplo 4 349

3132 % Propiedades inerciales de la biela3334 m2 = 2;35 Ixx2 = 0;36 Iyy2 = 0;37 Izz2 = 2;3839 % Propiedades inerciales del disco4041 m3 = 3;42 Ixx3 = 0;43 Iyy3 = 0;44 Izz3 = 3;

B.3. Parámetros: Ejemplo 41 % gravedad23 g = 9.81;45 % Posición de los motores (bastidor)67 phlm = 0;8 lm = -.85;9 zm = .1;

10 bm = .1;1112 % PUNTOS CLAVE13 %%%%%%%%%%%%%%1415 % Posición de anclajes (suelo)1617 x_0i=-.5*l_bs;18 y_0i=-.5*w_bs;19 z_0i=0;2021 x_0d=-.5*l_bs;22 y_0d=.5*w_bs;23 z_0d=0;2425 x_5i=.5*l_bs;26 y_5i=-.5*w_bs;27 z_5i=0;2829 x_5d=.5*l_bs;30 y_5d=.5*w_bs;31 z_5d=0;

Page 364: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

350 Anexo B

3233 % Centro de gravedad (bastidor)3435 xcgbs = -.25;36 ycgbs = 0;37 zcgbs = 0;3839 % Posición de puntos clave (bastidor)4041 w_bs = 1;42 l_bs = 2;43 sup_bs = 0.5;44 inf_bs = -0.5;45 b1_bs = -0.85;46 b2_bs = -0.7;47 b3_bs = 0.7;48 b4_bs = 0.85;4950 % Centro de gravedad (bandeja)5152 xcgba = 0;53 ycgba = 0;54 zcgba = 0;5556 % Posición de puntos clave (bandeja)5758 w_ba = 1;59 l_ba = 2;60 sup_ba = .2;61 inf_ba = 0;62 b1_ba = -0.85;63 b2_ba = -0.7;64 b3_ba = 0.7;65 b4_ba = 0.85;6667 % PROPIEDADES INERCIALES68 %%%%%%%%%%%%%%%%%%%%%%%%6970 % Propiedades inerciales (bastidor)7172 mbs = 150;73 Ixxbs=1e-3*5382.6;74 Iyybs=1e-3*22084;75 Izzbs=1e-3*25405.;7677 % Propiedades inerciales (bandeja)7879 mba = 40;80 Ixxba=1e-3*2442.4;

Page 365: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

B.3 Parámetros: Ejemplo 4 351

81 Iyyba=1e-3*9394.5;82 Izzba=1e-3*11462;8384 % Propiedades inerciales (motor 1)8586 rb=.058788 m3 = 1.5;89 Ixx3=0.5*m3*rb^2;90 Iyy3=0.5*m3*rb^2;91 Izz3=0.5*m3*rb^2;9293 % Propiedades inerciales (motor 2)9495 m4 = 1.5;96 Ixx4=0.5*m4*rb^2;97 Iyy4=0.5*m4*rb^2;98 Izz4=0.5*m4*rb^2;99

100 % SILENTBLOCKS101 %%%%%%%%%%%%%%102103 % Longitud natural silentblocks104105 zs0f = 0.06;106 zs0r = 0.06;107108 % Amortiguamiento silentblocks109110 % Parte delantera111112 csxf = 2.5;113 csyf = 2.5;114 cszf = 2.5;115 csrxf = 0.5;116 csryf = 0.5;117 csrzf = 0.5;118119 % Parte trasera120121 csxr = 2.5;122 csyr = 2.5;123 cszr = 2.5;124 csrxr = 0.5;125 csryr = 0.5;126 csrzr = 0.5;127128 % Constantes reales sientblocks129

Page 366: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

352 Anexo B

130 % Parte delantera131132 nusf=.35;133 Esf=2100*1e6;134 Gsf=.5*Esf/(1+nusf);135 Asf=10*1e-6;136 Iysf=228.95*1e-12;137 Izsf=Iysf;138 Jsf=2196.15*1e-12;139140 % Parte trasera141142 nusr=.35;143 Esr=2100*1e6;144 Gsr=.5*Esr/(1+nusr);145 Asr=20*1e-6;146 Iysr=228.95*1e-12;147 Izsr=Iysr;148 Jsr=2196.15*1e-12;149150 % BALLESTAS151 %%%%%%%%%%%152153 % longitud natural ballestas154155 l0bll = 0.3;156157 % amortiguamiento ballestas158159 cbx = 0.35;160 cby = 0.35;161 cbz = 0.35;162 cbrx = 0.15;163 cbry = 0.15;164 cbrz = 0.15;165166 % Constantes reales ballestas (d)167168 kd1_77 = 8.20829e+007*2e-1;169 kd1_711 = -3657.24*2e-1;170 kd1_712 = 8911.56*2e-1;171 kd1_88 = 3.6931e+006*2e-1;172 kd1_810 = 251.931*2e-1;173 kd1_812 = -427476*2e-1;174 kd1_99 = 80077.9*2e-1;175 kd1_910 = 2.75055*2e-1;176 kd1_911 = 9269.02*2e-1;177 kd1_1010 = 1357.35*2e-1;178 kd1_1011 = 0.318375*2e-1;

Page 367: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

B.3 Parámetros: Ejemplo 4 353

179 kd1_1012 = -29.161*2e-1;180 kd1_1111 = 14201.7*2e-1;181 kd1_1112 = -0.649301*2e-1;182 kd1_1212 = 73890.7*2e-1;183184 kd2_77 = 8.20829e+007*2e-1;185 kd2_711 = -3657.24*2e-1;186 kd2_712 = 8911.56*2e-1;187 kd2_88 = 3.6931e+006*2e-1;188 kd2_810 = 251.931*2e-1;189 kd2_812 = -427476*2e-1;190 kd2_99 = 80077.9*2e-1;191 kd2_910 = 2.75055*2e-1;192 kd2_911 = 9269.02*2e-1;193 kd2_1010 = 1357.35*2e-1;194 kd2_1011 = 0.318375*2e-1;195 kd2_1012 = -29.161*2e-1;196 kd2_1111 = 14201.7*2e-1;197 kd2_1112 = -0.649301*2e-1;198 kd2_1212 = 73890.7*2e-1;199200 kd3_77 = 8.20829e+007*2e-1;201 kd3_711 = -3657.24*2e-1;202 kd3_712 = 8911.56*2e-1;203 kd3_88 = 3.6931e+006*2e-1;204 kd3_810 = 251.931*2e-1;205 kd3_812 = -427476*2e-1;206 kd3_99 = 80077.9*2e-1;207 kd3_910 = 2.75055*2e-1;208 kd3_911 = 9269.02*2e-1;209 kd3_1010 = 1357.35*2e-1;210 kd3_1011 = 0.318375*2e-1;211 kd3_1012 = -29.161*2e-1;212 kd3_1111 = 14201.7*2e-1;213 kd3_1112 = -0.649301*2e-1;214 kd3_1212 = 73890.7*2e-1;215216 kd4_77 = 8.20829e+007*2e-1;217 kd4_711 = -3657.24*2e-1;218 kd4_712 = 8911.56*2e-1;219 kd4_88 = 3.6931e+006*2e-1;220 kd4_810 = 251.931*2e-1;221 kd4_812 = -427476*2e-1;222 kd4_99 = 80077.9*2e-1;223 kd4_910 = 2.75055*2e-1;224 kd4_911 = 9269.02*2e-1;225 kd4_1010 = 1357.35*2e-1;226 kd4_1011 = 0.318375*2e-1;227 kd4_1012 = -29.161*2e-1;

Page 368: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

354 Anexo B

228 kd4_1111 = 14201.7*2e-1;229 kd4_1112 = -0.649301*2e-1;230 kd4_1212 = 73890.7*2e-1;231232 % Constantes reales ballestas (i)233234 ki1_77 = 8.20829e+007*2e-1;235 ki1_711 = -3657.24*2e-1;236 ki1_712 = 8911.56*2e-1;237 ki1_88 = 3.6931e+006*2e-1;238 ki1_810 = 251.931*2e-1;239 ki1_812 = -427476*2e-1;240 ki1_99 = 80077.9*2e-1;241 ki1_910 = 2.75055*2e-1;242 ki1_911 = 9269.02*2e-1;243 ki1_1010 = 1357.35*2e-1;244 ki1_1011 = 0.318375*2e-1;245 ki1_1012 = -29.161*2e-1;246 ki1_1111 = 14201.7*2e-1;247 ki1_1112 = -0.649301*2e-1;248 ki1_1212 = 73890.7*2e-1;249250 ki2_77 = 8.20829e+007*2e-1;251 ki2_711 = -3657.24*2e-1;252 ki2_712 = 8911.56*2e-1;253 ki2_88 = 3.6931e+006*2e-1;254 ki2_810 = 251.931*2e-1;255 ki2_812 = -427476*2e-1;256 ki2_99 = 80077.9*2e-1;257 ki2_910 = 2.75055*2e-1;258 ki2_911 = 9269.02*2e-1;259 ki2_1010 = 1357.35*2e-1;260 ki2_1011 = 0.318375*2e-1;261 ki2_1012 = -29.161*2e-1;262 ki2_1111 = 14201.7*2e-1;263 ki2_1112 = -0.649301*2e-1;264 ki2_1212 = 73890.7*2e-1;265266 ki3_77 = 8.20829e+007*2e-1;267 ki3_711 = -3657.24*2e-1;268 ki3_712 = 8911.56*2e-1;269 ki3_88 = 3.6931e+006*2e-1;270 ki3_810 = 251.931*2e-1;271 ki3_812 = -427476*2e-1;272 ki3_99 = 80077.9*2e-1;273 ki3_910 = 2.75055*2e-1;274 ki3_911 = 9269.02*2e-1;275 ki3_1010 = 1357.35*2e-1;276 ki3_1011 = 0.318375*2e-1;

Page 369: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

B.4 Parámetros: Ejemplo 5 355

277 ki3_1012 = -29.161*2e-1;278 ki3_1111 = 14201.7*2e-1;279 ki3_1112 = -0.649301*2e-1;280 ki3_1212 = 73890.7*2e-1;281282 ki4_77 = 8.20829e+007*2e-1;283 ki4_711 = -3657.24*2e-1;284 ki4_712 = 8911.56*2e-1;285 ki4_88 = 3.6931e+006*2e-1;286 ki4_810 = 251.931*2e-1;287 ki4_812 = -427476*2e-1;288 ki4_99 = 80077.9*2e-1;289 ki4_910 = 2.75055*2e-1;290 ki4_911 = 9269.02*2e-1;291 ki4_1010 = 1357.35*2e-1;292 ki4_1011 = 0.318375*2e-1;293 ki4_1012 = -29.161*2e-1;294 ki4_1111 = 14201.7*2e-1;295 ki4_1112 = -0.649301*2e-1;296 ki4_1212 = 73890.7*2e-1;297298 % orientación base ballestas299300 phibll = -pi/2 - pi/6;301302 % ACCIONAMIENTO MOTORES303 %%%%%%%%%%%%%%%%%%%%%%%304305 % Rigidez de los motores306307 am1 = -.2;308 bm1 = -21;309 am2 = -.2;310 bm2 = 21;

B.4. Parámetros: Ejemplo 51 % gravedad23 g = 9.81;45 % longitud de los eslabones67 l1 = 4;8 l2 = 10;9

10 % ángulo inicial de la manivela11

Page 370: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

356 Anexo B

12 a10 = 1.0472;1314 % parámetros dinámicos manivela1516 m1 = 1;17 Ixx1 = 0;18 Iyy1 = 0;19 Izz1 = (1/12)*m1*l1*l1;2021 % parámetros dinámicos biela2223 m2 = 1.5;24 Ixx2 = 0;25 Iyy2 = 0;26 Izz2 = (1/12)*m2*l2*l2;2728 % parámetros dinámicos pistón2930 m3 = 1;31 Ixx3 = 0;32 Iyy3 = 0;33 Izz3 = 0;3435 % parámetros del controlador3637 ki = 4;38 kp = 2;3940 % velocidad de referencia4142 da1r = 10;4344 % rozamiento dinámico en la unión ’sj_12’4546 c2 = 5;

Page 371: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

Anexo C

C.1. Posible Tratamiento Numérico de las Variables Auxiliares

Tal como se explica en la sección 4.3.1, las coordenadas auxiliares son aque-llas que se introducen en la formulación con el objeto de simplificar la definicióndel sistema.

Teniendo en cuenta que la evolución del sistema mecánico depende exclusi-vamente del conjunto de coordenadas de partida y sus derivadas, en el presenteanexo se propondrá un algoritmo de solución para las ecuaciones cinemáticas ydinámicas del sistema, capaz de calcular las coordenadas auxiliares, a , y susderivadas, a y a , en términos de las coordenadas generalizadas, q , y susderivadas, q y q .

El desarrollo matemático se lleva a cabo bajo los siguientes supuestos:

• Las ecuaciones dinámicas presentadas son las que se obtienen al plantear elformalismo de Lagrange con multiplicadores. Sin embargo, el resultado ob-tenido es completamente general y puede aplicarse a cualquier formalismodinámico.

• Las coordenadas auxiliares, aj , j = 1 . . . na , nunca se emplean para definirla posición u orientación de un sólido.

Dicho supuesto se traduce en que la velocidad de los puntos cinemática-mente pertenecientes a cualquiera de los sólidos del sistema se calcula entérminos de las velocidades generalizadas de partida, q , de tal forma que:

• La matriz de masa del sistema, Mqq (q) , nunca presenta dependen-cias en las coordenadas auxiliares.

• La contribución de cualquier torsor1 al vector de fuerza generalizadade Lagrange, Qq , presenta la forma2

FFAj

q =

FFAj

q,q

FFAj

q,a

=

FFAj

q,q

0

(C.1)

Page 372: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

358 Anexo C

• Existe un grupo de ecuaciones3,

φa = φa (q, a) = 0 , (C.2)

suficiente para determinar las coordenadas auxiliares, a , en términos delas coordenadas de partida q .

El conjunto de ecuaciones anterior nunca presenta dependencias explícitasen la variable tiempo, t. Las ecuaciones de guiado del sistema presentan laforma general φ (q, t) = 0 , y se incluyen en el conjunto de ecuaciones derestricción (siguiente punto).

Las derivadas totales del grupo de ecuaciones anterior se escriben:

φa

qq + φ

a

aa = −ba

v (C.3)

φa

qq + φ

a

aa = −ba

a (C.4)

donde siempre se cumple que rango(

φa

a

)= na.

El resto de ecuaciones cinemáticas y sus correspondientes derivadas, si exis-ten, se expresan según

φc = φc (q, t) = 0 (C.5)

φc

qq = −bc

v (C.6)

φc

qq = −bc

a (C.7)

donde, en el caso más general, la matriz φc

qpresenta las dependencias

funcionales

φc

q= φ

c

q(q, a, t) (C.8)

2ya sea éste de inercia, de enlace, o asociado a otras acciones.2En el proceso de exportación, el campo booleano isaux de la estructura qs se emplea pa-

ra reordenar el vector de coordenadas, q , de tal forma que las coordenadas auxiliares aparecendespués de las de partida.

3En el proceso de exportación, el campo booleano isaux de la estructura Cp se emplea parareordenar el vector de restricciones, Cpv , de tal forma que las ecuaciones de definición de lascoordenadas auxiliares siempre aparecen después de las ecuaciones geométricas de enlace.

Page 373: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

C.1 Posible Tratamiento Numérico de las Variables Auxiliares 359

Las ecuaciones de movimiento, en términos de q y a , se expresan:

Mqq 0

0 0

q

a

+

φc

q0

φa

q φa

a

T [λc

λa

]=

Qq

0

φc

q0

φa

q φa

a

q

a

=

−bca

−baa

(C.9)

Teniendo en cuenta la tipología de las matrices que aparecen en el conjun-to de ecuaciones C.9, éstas pueden expresarse en términos de las aceleracionesgeneralizadas de partida, q , según

Mqq

c

q

)T

φc

q0

q

λc

=

Qq

−bca

(C.10)

donde, en el caso más general, la evaluación numérica de Qq requiere habercalculado todas las posiciones y velocidades auxiliares.

ALGORITMO DE INTEGRACIÓN

Teniendo presente la distinción entre coordenadas de partida y auxiliares, elalgoritmo de integración propuesto se reduce a lo siguiente:

• Resolver los problemas de posición y velocidad iniciales.

• Resolver el problema de aceleración empleando la ecuación C.10. Si fuesenecesario, las aceleraciones auxiliares, a , podrían calcularse en términosde las aceleraciones de partida, q ,

a = Sa q − T a (C.11)

donde

Sa = −[φ

a

a

]−1

φa

qy T a = −

a

a

]−1

baa

pueden calcularse numéricamente en cada iteración.

Page 374: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

360 Anexo C

• Integrar las aceleraciones generalizadas, q y actualizar los valores de lascoordenadas generalizadas, q .

• Corregir el valor de las coordenadas generalizadas, q , empleando el con-junto de ecuaciones C.6. .

• Actualizar el valor de las coordenadas auxiliares empleando el conjunto deecuaciones, en general no lineales, C.2.

• Corregir el valor de las velocidades generalizadas, q , empleando el con-junto de ecuaciones C.7.

• Actualizar el valor de las velocidades auxiliares empleando el conjunto deecuaciones lineales C.4.

• Resolver el problema de aceleración, evaluando el vector de cargas con lasactuales coordenadas y velocidades auxiliares.

El algoritmo anterior presenta las siguientes ventajas computacionales:

• Normalmente, el cálculo de las aceleraciones auxiliares no se requiere, porlo que la dimensión del problema dinámico se reduce.

En cualquier caso, la actualización de las velocidades auxiliares, necesariaspara evaluar el vector de cargas, requiere calcular la matriz Sa , por lo queel esfuerzo computacional de evaluar a se reduce al de calcular el términoT a de la ecuación C.11.

• La actualización del estado se lleva a cabo eliminando la posible influencia4

de las coordenadas auxiliares.

4Si el conjunto de ecuaciones geométricas se resuelve sin tener en cuenta la distinción entrecoordenadas de partida y auxiliares, puede que la corrección de las coordenadas de partida se veaafectada por el valor de las auxiliares.

Page 375: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

Anexo D

D.1. Notación Cinemática Analítica

t Variable tiempo.

q Vector de coordenadas generalizadas.

q Vector de velocidades generalizadas.

q Vector de aceleraciones generalizadas.

z Vector de funciones rehónomas.

φq

Jacobiano de las ecuaciones geométricas.

φv

Jacobiano de las ecuaciones cinemáticas.

bv Término independiente de velocidades.

ba Término independiente de aceleraciones.

D.2. Notación Dinámica Analítica

ε Vector de incógnitas de enlace.

εu Vector de incógnitas de enlace asociadas a accionamientos.

λp Vector de multiplicadores asociados a las ecuaciones geométricas.

λv Vector de multiplicadores asociados a las ecuaciones no holónomas.

λ Vector de multiplicadores.

u Vector de funciones de excitación o leyes constitutivas.

Mqq Matriz de masa de Lagrange.

Mzq Matriz de masa de Newton-Euler.

Vzq Parcial del torsor global de enlace respecto a ε.

Vqz Parcial de la fuerza generalizada de enlace respecto a ε.

Page 376: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

362 Anexo D

Rε Matriz de redundancias matemáticas en las condiciones de enlace.

Qq Vector de Fuerza Generalizada en términos de q.

Qz Vector de Fuerza Generalizada en términos de z.

TRzq Matriz de transformación Newton-Euler → Lagrange.

T () Energía Cinética.

U () Energía Potencial.

L () Lagrangiano.

Vv

zj(Bi) Velocidad virtual parcial deBi respecto a la pseudo-velocidad zj .

Vv

qj(Bi) Velocidad virtual parcial de Bi respecto a la velocidad generalizada

qj .vW Potencia virtual de las fuerzas exteriores.vW Potencia virtual de las fuerzas de inercia.

vWqjPotencia virtual parcial respecto a la velocidad generalizada qj delas fuerzas de inercia.

vWqjPotencia virtual parcial respecto a la velocidad generalizada qj delas fuerzas exteriores.

FFqjFuerza generalizada parcial respecto a la velocidad generalizada qj

de las fuerzas exteriores.

FFqjFuerza generalizada parcial respecto a la velocidad generalizada qj

de las fuerzas de inercia.

FF qq Fuerza generalizada asociada a las fuerzas Centrífugas y de Coriolis.

SN Matriz de transformación a Coordenadas Independientes.

KN Matriz de Rigidez del Sistema.

CN Matriz de Amortiguamiento del Sistema.

BN Matriz de Control del Sistema.

η Vector de Coordenadas Modales.

Ψ Matriz de Modos.

Page 377: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

D.3 Notación Cinemática Cartesiana 363

D.3. Notación Cinemática Cartesianaxyz Orientación de la Referencia Absoluta.

OAbs Origen de la Referencia Absoluta.

Abs Referencia Absoluta.

BiBj Vector de posición entre los puntosBi y Bj.[BiBj

]bi

Proyección del vector anterior en la base bi .

ux, uy, uz Versores de la base xyz , asociada a la Referencia Absoluta.

ebi

1 , ebi

2 , ebi

3 Versores de la base genérica bi .[I]bj

bi

Matriz de cambio de base bj → bj .

Ωbi(bj ) Velocidad angular de la base bj respecto a la base bi .

αbi(bj ) Aceleración angular de la base bj respecto a la base bi .

VR (Bi) Velocidad del puntoBi en la referencia R .

AR (Bi) Aceleración del puntoBi en la referencia R .

D.4. Notación Dinámica Cartesiana

Solk k-ésimo sólido del sistema.

Aεj j-ésima acción de enlace.

Anej j-ésima acción no de enlace.

FAj Fuerza asociada a la acción Aj.

MAjk

Momento en el puntoBk asociado a la acción Aj.

D Momento lineal.

HGkMomento cinético en el punto Gk.

II k(Solk) Tensor de inercia del sólido Solk en el punto Gk.

F (Solk) Fuerza de inercia sobre el sólido Solk.

M k(Solk) Momento de inercia en el punto Gk sobre el sólido Solk.

Page 378: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson
Page 379: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

Bibliografía

[3dM04] 3d_Mec, http://www.imem.unavarra.es/3d_mec, Departamen-to Ingeniería Mecánica, Universidad Pública de Navarra, 2004.

[Ada04] Adams, http://www.mscsoftware.com, Msc Software Inc., 2004.

[Agu96] J. Agulló, Mecánica de la partícula y del sólido rígido, OK Punt, Bar-celona, 1996, ISBN: 84-920850-2-9.

[Ala04] Alaska, http://www.tu-chemnitz.de/ifm, Universität Chem-nitz, Institut für Mechatronik, 2004.

[Ans04] Ansys, http://www.ansys.com, Ansys Inc., 2004.

[Aut04] Autolev, http://www.autolev.com, Online Dynamics, Inc., 2004.

[Bau72] J. Baumgarte, Stabilizations of constraints and integrals of motions indynamical systems, Comp. Methods in Appl. Mech. and Eng. 1 (1972),no. 1, 1–16.

[Car04] Carsim, http://www.carsim.com, Mechanical Simulation Corpo-ration Inc., 2004.

[CB68] R. Craig and M. Bamptom, Coupling of substructures for dynamicanalysis, AIAA Journal 6 (1968), no. 7, 1313–1319.

[Cea97] J. Cuadrado et al., Modelling and solution methods for efficient realtime simulation of multibody dynamics, Multibody System Dynamics(1997), 259–280.

[Cra86] R. Craig, Introduction to robotics, mechanics and control, Addison-Wesley, New York, 1986.

[Dad04] Dads, http://www.lmsintl.com, The Mathworks Inc., 2004.

[Dyn04] Dynaflex, http://real.uwaterloo.ca/∼dynaflex, Universityof Waterloo, Department of System Design Engineering, 2004.

[Eul76] L. Euler, Nova methodus motum corporum regidarum determinandi,Opera Omnia 2 (1776), no. 9, 99–125.

Page 380: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

366 BIBLIOGRAFÍA

[GdJB94] J. García de Jalón and E. Bayo, Kinematic and dynamic simulationof multibody systems: the real time challenge, Springer Verlag, NewYork, 1994, ISBN: 0-387-94096-0.

[Gil01] J. Gil, Caracterización modal de sólidos flexibles, Dpto. IngenieríaMecánica, Energética y de Materiales, Universidad Pública de Nava-rra, 2001.

[Gin01] Jerry H. Ginsberg, Mechanical and structural vibrations, Wiley &Sons, New York, 2001, ISBN: 0-471-37084-3.

[Gin04] Ginac, http://www.ginac.de, Christian Bauer, 2004.

[Guy65] R. Guyan, Reduction of stiffness and mass matrices, AIAA Journal(1965), no. 2.

[Inc95] ANSYS Inc, Ansys user’s guide and reference manual, SAS IP, Ca-nonsburg,Pennsylvania, 1995.

[Inm00] Daniel J. Inman, Engineering vibrations, Prentice Hall, New York,2000, ISBN: 0-137-26142-x.

[Jea95] J.M. Jiménez et al., An efficient implementation of the velocity trans-formation method for real time dynamics with illustrative examples,Computational Dynamics in Multibody Systems (1995), 15–35.

[KC69] T.R. Kane and Wang C.F., On the derivation of the ecuations of motion,Journal of Soc. Ind. App. Math. 13 (1969).

[KD85] T.R. Kane and Levinson D.A., Dynamics, theory and applications, Mc-Graw Hill, New York, 1985.

[Lag88] J. Lagrange, Mécanique analytique, LÁcademie Royal des Sciences,Paris, 1788.

[LDL04] R. Lot and M. Da Lio, A symbolic approach for automatic generationof the equations od motion of multibody systems, Multibody SystemDynamics (2004), no. 12, 147–172.

[Lic04] GNU Lesser General Public License, http://www.gnu.org/, 2004.

[Map04] Maple, http://www.maplesoft.com, Waterloo Maple Inc., 2004.

[Mat02a] The Math Works Inc, Natick, Massachussetts, Using matlab, version6.5, 2002.

Page 381: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

BIBLIOGRAFÍA 367

[Mat02b] The MathWorks Inc., Manual de documentación: Using simulink,2002.

[Mat02c] The MathWorks Inc., Manual de documentación: Writing s-functions,2002.

[Mat04] Matlab, http://www.mathworks.com, The Mathworks Inc., 2004.

[Max04] Maxima, http://maxima.sourceforge.net, The Maxima Group(GPL), 2004.

[Mbs03] Mbsymba, http://www.dim.unipd.it/lot/mbsymba.html,Università di Padova, Dipartimento di Ingegneria Meccanica, 2003.

[Mec99] Mechanical Dynamics Inc, Adams reference, theory of flexible bodiesin adams, 1999.

[Mec04] MechML, http://mat21.etsii.upm.es/mbs/mechml, Departa-mento de Matemática Aplicada, Universidad Politécnica de Madrid,2004.

[Mth04] Mathematica, http://www.wolfram.com, Wolfram Research Inc.,2004.

[Nas04] Nastran, http://www.mscsoftware.com, Msc Software Inc.,2004.

[New04] Neweul, http://www.mechb.uni-stuttgart.de/forschung/

neweul, Universität Stuttgart, Institut B für Mechanik, 2004.

[Nik88] P.Ñikravesh, Computer aided analysis of mechanical systems, PrenticeHall, New York, 1988.

[OP04] OpenGl, http://www.opengl.org, SGI Software, 2004.

[Pov04] Povray, http://www.povray.org/, PovRay Raytracer, 2004.

[PS93] U. Popp and W. Schiehlen, Fahrzeugdynamik., 1st ed., Teubner-Verlag,Stuttgart, 1993.

[Rao03] Singiresu S. Rao, Mechanical vibrations, Prentice Hall, New York,2003, ISBN: 0-130-48987-5.

[Rea04] J. Rodriguez et al., Recursive and residual algorithms for the efficientnumerical integration of multi-body systems, Multibody System Dyna-mics (2004), 295–320.

Page 382: UNIVERSIDAD PÚBLICA DE NAVARRA DEPARTAMENTO DE … · Diagrama de equilibrio para el eslabón Man . . . . . . . . . . . 77 ... Interpretación geométrica del método de Newton-Raphson

368 BIBLIOGRAFÍA

[Red04] Reduce, http://www.reduce-algebra.com, Anthony C. Earn,2004.

[Rob04] Robotran, http://www.prm.ucl.ac.be/robotran, Universitécatholique de Louvain, Faculté de production mécanique et machines,2004.

[Ros00] J. Ros, Apuntes de dinámica, Departamento de Ingeniería Mecánica,Universidad Pública de Navarra, 2000.

[Say90] M. Sayers, Symbolic computer methods to automatically formulatevehicle simulation codes, Master Thesis, 1990.

[SF03] J.C. Samin and P. Fisette, Symbolic modelling of multibody systems,Kluwer Academic Publishers, Netherlands, 2003, ISBN: 1-4020-1629-8.

[Sha98] A. Shabana, Dynamics of multibody systems, 2nd ed., Wiley & Sons,New York, 1998, ISBN: 0-521-59446-4.

[Sim04] Simpack, http://www.simpack.de, Intec GmbH, 2004.

[Str00] B. Stroustrup, The c++ programming language, Addison Wesley, NewYork, 2000, ISBN: 0-201-70073-5.

[VR97] VRML, http://www.web3d.org, Web 3D Consortium, 1997.

[Wal95] A. Wallrapp, O.; Eichberger, Fembs an interface between fem codesand mbs codes, user manual for ansys and nastran, DLR, Oberpfaf-fenhofen, 1995.

[Wal00] L. Wall, Programming perl, O’Reilly, New York, 2000, ISBN: 0-596-00027-8.