Premessa
Questi appunti riassumono le lezioni del corso di Modellazione e Simulazione dei Sistemi Meccanici previsto nei curricola dei Corsi di Laurea Specialistica (3CFU) in Ingegneria Meccanica
ed Energetica dellUniversit`a degli Studi di Firenze. Quanto presentato nei capitoli seguenti
non esaurisce sicuramente le problematiche relative allanalisi dei sistemi multibody, costituisce soltanto una base per la preparazione dellesame, che pu`o essere integrata con gli appunti
presi durante le lezioni e tramite la consultazione dei testi elencati in bibliografia. Si richiama
lattenzione soprattutto sul libro [1], che rappresenta un compendio molto esaustivo dello stato
dellarte nello studio dei sistemi multibody. Gli autori ringraziano tutti coloro che con i loro
suggerimenti hanno contribuito alla stesura degli appunti.
Firenze, 5 dicembre 2008
Monica Malvezzi, Andrea Rindi
Indice
Indice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 Introduzione
1.1 Problemi di analisi e di sintesi . . . . . . . .
1.2 Dal modello fisico al modello matematico . .
1.3 I sistemi multibody . . . . . . . . . . . . . .
1.4 Tipi di problema . . . . . . . . . . . . . . .
1.4.1 Problema cinematico . . . . . . . . .
1.4.2 Problema dinamico . . . . . . . . .
1.4.3 Altri tipi di problema: sintesi e design
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
7
7
8
9
9
12
13
.
.
.
.
15
15
16
17
19
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
22
22
22
23
25
26
29
32
33
34
34
35
36
37
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
38
38
38
38
39
40
41
42
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
INDICE
4.2
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
42
42
44
46
46
47
49
51
52
54
58
60
61
61
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
66
66
66
70
70
71
72
72
74
74
75
75
76
77
78
.
.
.
.
79
79
79
79
80
.
.
.
.
.
.
.
80
81
82
82
83
84
87
4.3
4.4
4.5
4.6
4.7
4.8
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . .
. . . . .
. . . . .
. . . . .
un corpo
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
INDICE
7.3
7.4
4
7.2.2 Calcolo dellenergia potenziale della forza peso . . . . . . . . . . . . .
7.2.3 Equazioni di moto . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2.4 Matrice di massa . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Calcolo delle forze generalizzate . . . . . . . . . . . . . . . . . . . . . . . . .
7.3.1 Forza applicata nel baricentro e coppia ortogonale al piano . . . . . . .
7.3.2 Forza applicata in un punto generico del corpo i . . . . . . . . . . . .
7.3.3 Elementi elastici e viscosi . . . . . . . . . . . . . . . . . . . . . . . .
Sistema di equazioni differenziali . . . . . . . . . . . . . . . . . . . . . . . .
7.4.1 Moltiplicatori di Lagrange e reazioni vincolari . . . . . . . . . . . . . .
7.4.2 Esempio: Formulazione delle equazioni di moto per un pendolo semplice
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
90
90
90
90
90
92
93
94
95
95
98
98
99
100
100
102
103
104
Quadrilatero articolato. . . . . . . . . . . . . . . . . . . . . . . . .
Configurazione iniziale del sistema, quadrilatero articolato: con il valore
per 1 `e ammissibile una sola configurazione del meccanismo. . . . . .
Configurazione iniziale del sistema, quadrilatero articolato: con il valore
per 1 non `e ammissibile nessuna configurazione del meccanismo. . . .
Configurazione iniziale del sistema, quadrilatero articolato: con il valore
per 1 sono possibili due configurazioni. . . . . . . . . . . . . . . . .
Spostamento finito del meccanismo: quadrilatero articolato. . . . . . .
. . . . . . 10
assegnato
. . . . . . 10
assegnato
. . . . . . 10
assegnato
. . . . . . 11
. . . . . . 11
2.5
2.6
quadrilatero articolato: con il valore assegnato per langolo 1 sono possibili due
configurazioni. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Schema cinematico di un robot planare a tre gradi di libert`a, rappresentazione della
configurazione per mezzo di coordinate relative. . . . . . . . . . . . . . . . . .
Schema cinematico di quadrilatero articolato, rappresentazione della configurazione
per mezzo di coordinate relative. . . . . . . . . . . . . . . . . . . . . . . . . .
Schema cinematico di quadrilatero articolato con giunto prismatico, rappresentazione
della configurazione per mezzo di coordinate relative. . . . . . . . . . . . . . .
Coordinate generalizzate . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Trasformazione di coordinate tra terna mobile e terna fissa . . . . . . . . . . . .
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
Rotazione attorno a z. . . . . . . . . . . . . . . . . .
Rotazione attorno a x. . . . . . . . . . . . . . . . .
Rotazione attorno a y. . . . . . . . . . . . . . . . . .
Cambio di coordinate tra terne ad origine comune. . . .
dimostrazione della propriet`a di ortogonalit della matrice
Angoli di Eulero. . . . . . . . . . . . . . . . . . . .
Angoli di Eulero: linea dei nodi. . . . . . . . . . . . .
Rotazioni di Eulero: rotazioni e . . . . . . . . . .
2.2
2.3
2.4
4.1
4.2
4.3
Quadrilatero articolato . . . . . . . .
Manovellismo di spinta . . . . . . .
Approssimazione della soluzione di
metodo di Newton Raphson. . . . .
4.4 Giunto rotoidale . . . . . . . . . . .
4.5 Giunto prismatico . . . . . . . . . .
4.6 Vincolo sullascissa . . . . . . . . .
4.7 Vincolo sulla posizione angolare . . .
4.8 Vincolo sulla distanza tra due punti .
4.9 Coppie superiori . . . . . . . . . . .
4.10 Coppia di ingranaggi e portatreno . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
di rotazione.
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . . . . .
. . . . . . . . . .
unequazione non
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
5
.
.
.
.
. . . .
. . . .
lineare
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. .
. .
per
. .
. .
. .
. .
. .
. .
. .
. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . .
. . . .
mezzo
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. .
. .
del
. .
. .
. .
. .
. .
. .
. .
. .
. 16
. 18
. 18
. 19
. 20
. 20
.
.
.
.
.
.
.
.
23
24
25
25
27
29
30
30
. 39
. 40
.
.
.
.
.
.
.
.
41
43
45
47
48
48
49
51
4.11
4.12
4.13
4.14
4.15
4.16
4.17
4.18
4.19
4.20
4.21
4.22
4.23
4.24
4.25
4.26
4.27
54
58
59
59
59
60
62
62
62
63
63
63
64
64
64
65
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.10
5.11
5.12
5.13
5.14
5.15
5.16
Coppia rotoidale . . . . . . . . . . . . . . . . . . .
Coppia prismatica . . . . . . . . . . . . . . . . . .
Coppia cilindrica . . . . . . . . . . . . . . . . . . .
Coppia sferica . . . . . . . . . . . . . . . . . . . .
Riferimento di giunto per il generico corpo rigido i. .
Riferimenti di giunto per i corpi i e j: nomenclatura.
Prima condizione di ortogonalit`a. . . . . . . . . . .
Seconda condizione di ortogonalit`a. . . . . . . . . .
Vincolo sferico. . . . . . . . . . . . . . . . . . . . .
Vincolo sulla distanza tra due punti. . . . . . . . . .
Vincolo di parallelismo tra due vettori, primo caso. .
Vincolo di parallelismo tra due vettori, secondo caso.
Coppia rotoidale: scelta dei sistemi di riferimento. .
Coppia prismatica: scelta dei sistemi di riferimento. .
Coppia cilindrica: scelta dei sistemi di riferimento. .
Coppia sferica: scelta dei sistemi di riferimento. . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
67
67
67
67
68
69
70
71
73
73
74
75
76
76
77
78
7.1
.
.
.
.
91
91
93
96
7.2
7.3
7.4
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Capitolo 1
Introduzione
1.1 Problemi di analisi e di sintesi
I problemi tipici della Meccanica Applicata si possono dividere in due categorie fondamentali:
problemi di analisi,
problemi di sintesi.
Nei problemi di analisi sono di solito dati:
la struttura del meccanismo;
la legge di moto di uno o pi`u elementi (nei problemi di cinematica) o le forze/coppie
agenti su uno o pi`u corpi (nei problemi di dinamica);
le condizioni iniziali del meccanismo.
Utilizzando queste informazioni si risolve (di solito in forma numerica) il problema di analisi
cinematica o dinamica. I risultati del problema di analisi sono la configurazione, la velocit`a e
laccelerazione di tutti i corpi del sistema e le forze o coppie che agiscono su di essi.
Nei problemi di sintesi si parte dalle specifiche di progetto del meccanismo, in termini di:
legge di moto di alcuni elementi;
vincoli dimensionali ed ingombri;
forze, coppie, potenze erogate.
La soluzione del problema di sintesi consiste nella definizione di un meccanismo in grado di
soddisfare i requisiti delle specifiche.
CAPITOLO 1. INTRODUZIONE
scrivendo le equazioni della cinematica e della dinamica del sistema, generalmente partendo dalle leggi della meccanica classica (se le equazioni sono risolte analiticamente la
soluzione `e esatta; se sono risolte numericamente, la soluzione `e approssimata);
utilizzando programmi di simulazione che ricavano automaticamente le equazioni del
sistema e le risolvano per via numerica (soluzione approssimata).
Dato uno stesso modello fisico, i risultati analitici e numerici devono coincidere, a meno
dellerrore introdotto dal programma di simulazione, che `e generalmente trascurabile se tale
programma `e affidabile e utilizzato correttamente.
Nel passaggio dal sistema reale al modello numerico si introducono quindi due tipi di
approssimazioni:
le approssimazioni introdotte nel definire il modello fisico;
gli errori dovuti ad una soluzione numerica del modello matematico;
Alcune delle approssimazioni che si frequentemente vengono introdotte nel modello fisico
sono:
considerare corpi rigidi;
assumere che il sistema non modifichi lambiente circostante;
trascurare o gli attriti, o modellarli in maniera semplificata (attrito viscoso o coulombiano);
sostituire caratteristiche distribuite con altre concentrate (masse, forze, ecc.);
ammettere una dipendenza lineare fra variabili del sistema nel campo di funzionamento
considerato (linearit`a del modello);
assumere che i parametri caratteristici di un sistema siano invarianti modello rispetto al
tempo;
trascurare le incertezze ed i disturbi.
E evidente che da uno stesso sistema fisico possono essere definiti diversi modelli fisici con
diversi gradi di approssimazione.
CAPITOLO 1. INTRODUZIONE
Nei simulatori multibody si analizza generalmente il moto di sistemi composti da corpi rigidi,
se la flessibilit`a dei corpi non pu`o essere trascurata, `e possibile ricondurre i corpi flessibili a
sistemi di corpi rigidi uniti da vincoli, elasticit`a e smorzamenti concentrati, oppure inserire nel
modello multibody un modello di corpo flessibile generato tramite una precedente analisi FEM
(Finite Element Method).
Gli elementi necessari per definire un corpo appartenente ad un sistema multibody sono:
un sistema di riferimento ad esso solidale, detto sistema di riferimento locale, con
origine nel centro di massa del corpo e assi orientati possibilmente come gli assi principali
dinerzia del corpo;
la massa del corpo;
il tensore dinerzia del corpo espresso rispetto al sistema di riferimento locale;
eventuali sistemi di riferimento ausiliari, utili per la definizione dei vincoli;
la definizione della geometria del corpo non `e in genere necessaria, a meno che nelladefinizione dei vincoli non si tenga conto degli eventuali contatti tra i vari corpi.
I vincoli sono dispositivi che limitano il moto relativo tra due o pi`u corpi. Nel modello matematico i vincoli sono rappresentati da equazioni che egano tra loro le variabili che descrivono il
moto del meccanismo.
Il problema della definizione della configurazione iniziale del meccanismo consiste nel determinare, a partire dalla configurazione degli elementi di input, una configurazione dellintero
sistema compatibile con i vincoli su di esso imposti.
La soluzione del problema non `e immediata a causa della complessit`a delle equazioni che
rappresentano i vincoli imposti dalle coppie cinematiche. Il problema si riconduce infatti alla
soluzione di un sistema di equazioni algebriche in genere fortemente non lineare e quindi di
difficile soluzione. Si possono avere le seguenti situazioni:
il problema pu`o ammettere una soluzione;
il problema pu`o non ammettere soluzione;
il problema pu`o ammettere piu` di una soluzione.
CAPITOLO 1. INTRODUZIONE
10
Figura 1.2: Configurazione iniziale del sistema, quadrilatero articolato: con il valore assegnato per 1 e`
ammissibile una sola configurazione del meccanismo.
Figura 1.3: Configurazione iniziale del sistema, quadrilatero articolato: con il valore assegnato per 1
non e` ammissibile nessuna configurazione del meccanismo.
CAPITOLO 1. INTRODUZIONE
11
Figura 1.4: Configurazione iniziale del sistema, quadrilatero articolato: con il valore assegnato per 1
sono possibili due configurazioni.
1.4.1.2
In questo caso si vuole definire la configurazione del sistema in seguito ad uno spostamento
finito degli elementi di input, a partire da una configurazione iniziale nota. Dal punto di
vista matematico, anche in questo caso il problema si riconduce alla soluzione di un sistema
algebrico di equazioni non lineari, ma rispetto al caso precedente la ricerca della soluzione
risulta semplificata dalla conoscenza della configurazione iniziale, che pu`o essere utilizzata
come punto di partenza della procedura iterativa per la soluzione numerica del sistema di
equazioni non lineari.
Nella figura 1.5 si riporta lesempio di movimento finito per un quadrilatero articolato.
1.4.1.3
Una volta nota la configurazione del sistema, la velocit`a e laccelerazione degli elementi di
input, il problema consiste nella definizione delle velocit`a e delle accelerazioni di tutti gli
elementi del meccanismo. Rispetto ai problemi visti in precedenza, lanalisi della velocit`a
e dellaccelerazione risulta di pi`u semplice soluzione, in quanto, come vedremo nei capitoli
successivi, si riconduce alla soluzione di un sistema di equazioni lineari.
Come noto per definire la velocit`a e laccelerazione di tutti i punti solidali ad un corpo
rigido `e necessario conoscere la velocit`a di uno dei punti, la velocit`a angolare e laccelerazione
angolare. Indicando con p e q le coordinate di due generici punti P e Q, con la velocit`a
CAPITOLO 1. INTRODUZIONE
12
(1.1)
(1.2)
Simulazione cinematica
Il problema consiste nel definire la configurazione del sistema tale da garantirne lequilibrio
sotto lazione delle forze gravitazionali, delle forze esterne, delle forze esercitate dagli elementi
elastici e viscosi. La soluzione dipende ovviamente dalla massa e dalla posizione del baricentro
di ogni elemento.
Il problema si riconduce alla soluzione di un sistema algebrico di equazioni in generale non
lineare, anche in questo caso quindi si possono avere pi`u soluzioni.
1.4.2.2
Il problema `e legato allanalisi precedente e consiste nello studio dei movimenti del meccanismo
in un intorno della configurazione di equilibrio. Da questa analisi `e possibile definire le pulsazioni
naturali e i modi del sistema.
Il problema viene risolto per mezzo della linearizzazione delle equazioni di moto degli
elementi del sistema in un intorno della configurazione di equilibrio. Lanalisi `e condotta
quindi risolvendo un sistema di equazioni differenziali lineari a coefficienti costanti.
1.4.2.3
Il problema dinamico inverso consiste nel determinare il sistema di forze e coppie in grado di far
assumere al sistema un moto assegnato. Per la risoluzione del problema `e necessario conoscere
le velocit`a e le accelerazioni di tutti gli elementi del sistema, in modo da poter calcolare le
forze di inerzia che dovranno essere equilibrate dalle forze esterne e vincolari.
La soluzione della dinamica inversa consente di conoscere le forze e le coppie a cui `e
soggetto un sistema multibody di cui `e noto il movimento e pu`o essere utilizzato ad esempio
per calcolare le azioni di controllo da applicare agli attuatori del sistema per ottenere il moto
desiderato.
CAPITOLO 1. INTRODUZIONE
1.4.2.4
13
Nel problema dinamico diretto viene calcolato il moto di un sistema multibody conoscendo le
forze esterne che agiscono su di esso. Lo studio della dinamica diretta `e molto importante
perche consente di simulare e prevedere il moto effettivo del sistema sotto lazione di forze
note.
La simulazione dinamica viene effettuata mediante lintegrazione di un sistema di equazioni
differenziali generalmente non lineare. La soluzione viene determinata pertanto per mezzo di
procedure numeriche. Il problema `e di solito complesso e pesante dal punto di vista computazionale e per questo particolare cura deve essere posta nella scelta del tipo di algoritmo
per la risoluzione.
1.4.2.5
Problema dinamico diretto e inverso per sistemi multibody con elementi non
perfettamente rigidi
I sistemi meccanici reali sono costituiti da elementi che possono essere considerati rigidi solo in
prima approssimazione. Per alcuni tipi di analisi e per particolari applicazioni, ad esempio nelle
strutture per applicazioni spaziali, nella robotica, nelle macchine funzionanti ad alta velocit`a,
`e necessario tener conto anche della deformabilit`a dei corpi che costituiscono il meccanismo.
Un corpo pu`o essere considerato rigido se la distanza tra due qualsiasi punti ad esso
appartenenti rimane costante durante il moto. Se il corpo `e deformabile lo studio dinamico si
complica, dato che oltre alle equazioni della dinamica si devono considerare le equazioni che
descrivono la deformazione di ciascun elemento.
1.4.2.6
Percussioni e impatti
CAPITOLO 1. INTRODUZIONE
14
Quando si vuole progettare un nuovo meccanismo, che soddisfa certe specifiche, e si hanno
a disposizione soltanto strumenti di analisi `e necessario procedere in modo iterativo, si ipotizza
una certa soluzione, se ne analizza il comportamento cinematico e/o dinamico, se ne verifica
la compatibilit`a con i requisiti in specifica, in caso di esito negativo della verifica `e necessario
modificare la soluzione e ripetere lanalisi. E evidente che questo processo risulta in genere
lento e i risultati dipenderanno fortemente dallesperienza del progettista.
Le procedure di sintesi o design dei sistemi multibody permettono di superare questi problemi o per lo meno di ridurli. Queste procedure forniscono direttamente, senza lintervento del
progettista, un sistema meccanico che soddisfa i requisiti della specifica, o che risulta ottimale
tra tutti quelli possibili, secondo criteri specificati a priori.
1.4.3.1
Sintesi cinematica
Talvolta, anziche di funzione obiettivo, si parla di funzione di costo.La definizione del problema dellottimizzazione in termini di funzione di costo e` duale a quella vista per la funzione obiettivo. In questo caso la
soluzione ottimale e` quella che minimizza la funzione di costo, utilizzata per quantificare le performance di un
sistema.
Capitolo 2
Rappresentazione degli elementi di un
sistema multibody
2.1 Coordinate dipendenti e indipendenti
In questo capitolo verranno descritti alcuni metodi per la rappresentazione dei corpi che costituiscono un sistema multibody. Il primo problema che dobbiamo affrontare nello studio della
cinematica e della dinamica dei meccanismi `e infatti la modellazione del sistema, ovvero la
scelta di un insieme di parametri che ci permettono di definire in modo univoco in ogni istante
la posizione, la velocit`a e laccelerazione di tutti i corpi che costituiscono il meccanismo.
Esistono differenti tipi di coordinate per la rappresentazione dei sistemi multibody, e la loro
scelta non `e sempre un problema banale. Le varie possibilit`a non sono tra loro equivalenti,
alcune sono pi`u convenienti perche sono pi`u semplici da implementare, altre sono pi`u efficienti,
nel senso che richiedono minori risorse di calcolo.
La prima scelta che si deve fare per la definizione di un sistema di coordinate che descrivono
il moto del sistema multibody `e tra un insieme di coordinate indipendenti e di coordinate
dipendenti.
Il numero delle coordinate indipendenti del sistema `e pari al numero di gradi di libert`a e
quindi il minimo necessario per descrivere completamente la configurazione del sistema.
Il numero delle coordinate dipendenti `e invece maggiore del numero di gradi di libert`a del
sistema e per questo motivo non possono essere indipendenti tra loro. Le relazioni che legano
le coordinate dipendenti sono le equazioni di vincolo.
Generalmente un sistema di coordinate indipendenti non pu`o essere utilizzato per la rappresentazione di un sistema multibody perche non sempre permette di rispettare una delle pi`u
importanti condizioni, quella di rappresentare in modo univoco la posizione di un sistema multibody. Le coordinate indipendenti infatti determinano direttamente la posizione degli elementi
di input o dei gradi di libert`a guidati del sistema (per mezzo di attuatori), ma non la posizione
degli altri elementi, che deve essere determinata risolvendo il problema della definizione della
configurazione del meccanismo descritto nel capitolo precedente. Si `e visto che questo tipo di
problema in generale pu`o ammettere pi`u soluzioni.
Nella Figura 2.1 `e riportato a titolo desempio un quadrilatero articolato. Il meccanismo come noto ha un solo grado di libert`a, scegliendo come coordinats lagrangiana langolo
1 riportato in figura non `e per`o possibile definire in modo univoco la configurazione del
meccanismo.
Per superare questo problema generalmente `e pi`u conveniente adottare un insieme di coordinate dipendenti, che permette di rappresentare in modo univoco la configurazione del sistema
multibody.
15
Figura 2.1: quadrilatero articolato: con il valore assegnato per langolo 1 sono possibili due
configurazioni.
Le coordinate dipendenti sono legate tra loro da una serie di relazioni di tipo algebrico,
in numero pari alla differenza tra il numero di coordinate e il numero di gradi di libert`a del
sistema, dette equazioni di vincolo. Solitamente queste equazioni sono non lineari.
Riassumendo, scegliendo un set di coordinate indipendenti:
il numero di parametri `e minimo, quindi anche il numero di equazioni da risolvere `e
limitato;
le equazioni della dinamica hanno una struttura abbastanza complicata;
la configurazione del meccanismo non `e sempre individuata in modo univoco;
le coordinate non possono essere definite in modo sistematico.
Daltra parte, scegliendo un set di coordinate dipendenti:
il numero di parametri `e maggiore del numero dei gradi di libert`a;
il numero di equazioni da risolvere `e maggiore;
le equazioni sono per`o solitamente pi`u semplici e meno accoppiate;
la configurazione `e definita in modo univoco;
le coordinate possono essere definite in modo sistematico.
(2.1)
(2.2)
(2.3)
Si osserva che le equazioni di vincolo sono non lineari e contengono funzioni trascendenti,
questa `e una caratteristica comune della formulazione della cinematica dei sistemi multibody
con coordinate relative.
In figura 2.4 `e riportato lo schema di un quadrilatero articolato con un giunto prismatico.
In questo caso la coordinata 3 rappresenta lo spostamento relativo dellelemento 3 rispetto
al 2 ed `e pertanto una distanza. Le equazioni di vincolo derivano da unequazione vettoriale
che `e la stessa dellesempio precedente (equazione di chiusura del quadrilatero):
OA + AB + BD OD = 0 ,
(2.4)
Figura 2.2: Schema cinematico di un robot planare a tre gradi di libert`a, rappresentazione della
configurazione per mezzo di coordinate relative.
Figura 2.3: Schema cinematico di quadrilatero articolato, rappresentazione della configurazione per
mezzo di coordinate relative.
Figura 2.4: Schema cinematico di quadrilatero articolato con giunto prismatico, rappresentazione della
configurazione per mezzo di coordinate relative.
(2.5)
(2.6)
Dagli esempi precedenti `e evidente che una formulazione che utilizza coordinate relative
`e conveniente per meccanismi a catena cinematica aperta o con pochi loop. Se il meccanismo contiene pi`u anelli chiusi, `e necessario scegliere correttamente quelli che sono tra loro
indipendenti per scrivere le equazioni vettoriali di chiusura da cui si ricavano le equazioni di
vincolo.
Y 6
xi
q3i
...
q3i1 ...............................................................
... Gi
Oi
...
... i
corpo
...
...
...
...
...
...
...
...
...
..
q
3i2
O
X
(2.7)
(2.8)
Y P ...............................................................................................
......
.
... .
....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
P
*
.
.
.
.
y
... ..
...
xi
xp sin q31 + y p cos q3i
... ..
...
q3i
.... xP
....
...
...
.
.
.
q3i1 ....................................................................................
.
.
O.... i ....
...
...
...
...
...
...
....
....
...
...
...
... q3i2 X P X
O
Ri =
X
x
q3i2
= Ri
+
YP
yp
q3i1
(2.9)
(2.10)
Si osserva che, essendo il corpo rigido, le coordinate del punto P rispetto al sistema di riferimento Oi xi yi zi solidale al corpo sono costanti. E evidente quindi che le coordinate del
generico punto P durante il moto possono essere univocamente determinate una volta noti i
parametri q3i2 , q3i1 e q3i .
Se il sistema meccanico `e costituito da l corpi rigidi, la configurazione del sistema `e nota
se sono note le coordinate generalizzate di tutti i corpi che lo compogono, quindi una volta
noti 3(l 1) parametri (uno degli l corpi funge da telaio).
Si definisce spazio delle configurazioni linsieme di tutte le possibili configurazioni del
sistema meccanico:
Q = {q R3(l1) |q = [q1 , q2 , q3 , ..., q3i2 , q3i1 , q3i , ..., q3l5 , q3i4 , q3(l1) ]T }
(2.11)
il vettore q = [q1 , q2 , q3 , ..., q3i2 , q3i1 , q3i , ..., q3l5 , q3i4 , q3(l1) ]T rappresenta la generica
configurazione del sistema. Durante il moto le componenti del vettore q variano, in altri
termini, ognuno degli elementi di q `e funzione del tempo. Lanalisi cinematica del meccanismo `e finalizzata allo studio delle coordinate generalizzate e delle loro derivate (velocit`a,
accelerazioni) nel tempo.
Capitolo 3
Cinematica del corpo rigido nello spazio
3.1 Introduzione
Come noto un corpo rigido nello spazio ha 6 gradi di libert`a, quindi occorrono almeno 6
parametri per descriverlo completamente. Analogamente a quanto visto per i sistemi piani,
possiamo fissare per ogni corpo rigido un sistema di riferimento ad esso solidale, con origine
nel suo baricentro e assi principali dinerzia. Questa scelta semplifica Lespressione dellenergia
cinetica e quindi la definizione delle equazioni della dinamica. La configurazione del corpo
rigido `e nota quando `e nota la posizione del baricentro rispetto a un sistema di riferimento
fisso (3 informazioni) e lorientazione degli assi del sistema di riferimento solidale al corpo
rispetto agli assi del sistema di riferimento fisso.
Esistono vari metodi per la rappresentazione dellorientazione relativa tra due sistemi di
riferimento cartesiano, che si possono classificare due categorie:
rappresentazioni ridondanti;
rappresentazioni minime.
Il numero minimo di parametri necessari a descrivere lorientazione di un corpo rigido nello spazio `e pari a 3. Le rappresentazioni minime dellorientazione fanno appunto uso di 3
parametri, mentre quelle ridondanti usano 4 o pi`u parametri.
22
(3.2)
(3.3)
23
Le componenti dei versori i0 , j0 , k0 lungo gli assi del sistema Oxyz identificano completamente
lorientazione terna Ox0 y 0 z 0 . Tali componenti vengono usate per formare una matrice, detta
matrice di rotazione, come segue:
0
0
0
i
j
k
x
x
x
i0x = i0 i = i0 i
T
i0y = i0 j = i0 j
T
i0z = i0 k = i0 k
(3.5)
Gli elementi della matrice R si dicono coseni direttori in quanto ognuno di essi `e pari al
prodotto scalare di un versore della terna Ox0 y 0 z 0 per un versore della terna Oxyz.
Rotazione attorno a z
y'
y
x'
j'
i'
x
O
k
k'
z'
c
i0 = s
0
s
j0 = c .
0
R = Rz () =
3.2.1.2
c
s
0
k0 = s c 0
0
0 1
24
i0 j0
(3.6)
Rotazione attorno a x
Dato che x e x0 sono coincidenti, sar`a i0 = i. Per gli altri due versori, dalla Fig. 3.2 si osserva:
0
k0 = c
s
0
j0 = s .
c
y
y'
j'
x x'
i
i'
k'
z
z'
3.2.1.3
i 0 j0 k 0
1 0
0
= 0 c s
0 s c
(3.7)
Rotazione attorno a y
Dato che y e y 0 sono coincidenti, sar`a j0 = j. Per gli altri due versori, dalla Fig. 3.3 si ottiene:
c
i0 = 0
s
s
k0 = 0 .
c
Assemblando la matrice R otteniamo:
R = Ry () =
i0 j0 k0
c 0 s
= 0 1 0
s 0 c
(3.8)
y'
j'
25
x'
i'
k'
z'
OP
6z
z0 M
y0
1
-
x0
Il vettore posizione OP pu`o essere scomposto lungo 3 qualsiasi direzioni a due a due non
parallele. In particolare possiamo scomporlo lungo le direzioni dei tre versori i, j, k, ma anche
lungo le direzioni dei tre versori i0 , j0 , k0 , ottenendo la seguente relazione:
px i + py j + px k = p0x i0 + p0y j0 + p0x k0
(3.9)
Proiettando ambo i membri dellequazione 3.9 lungo le tre direzioni i, j, k (tramite loperazione
di prodotto scalare), otteniamo:
T
T
p0y j0 k
T
p0x k0 k
T
p0x i0 k
(3.10)
0T
i i
px
py = i0 T j
pz
i0 T k
26
(3.11)
p0 = [p0x p0y p0z ]T `e il vettore posizione OP espresso nel sistema di riferimento Ox0 y 0 z 0 .
Ortogonalit`a di R
Dato che ogni colonna della matrice R `e formata dalle componenti di un versore della terna
Ox0 y 0 z 0 , il prodotto scalare tra due diverse colonne `e nullo:
T
i0 j0 = 0
T
j0 k 0 = 0
T
k0 i 0 = 0 .
(3.13)
Dalle condizioni (3.13), unite al fatto che il prodotto scalare di un vettore per s`e stesso `e
pari a 1, discende una delle propriet`a pi`u importanti ed utili delle matrici di rotazione, ovvero
la propriet`a di ortogonalit`a:
RT R = I
i
i
i
i
j
i
k
1
0
0
RT R = j0 T i0 j0 k0 = j0 T i0 j0 T j0 j0 T k0 = 0 1 0 = I
0 0 1
k0 T
k 0 T i 0 k 0 T j0 k 0 T k 0
3.2.3.2
(3.14)
(3.15)
Consideriamo due sistemi di riferimento con origine coincidente Ox0 y0 z0 e Ox1 y1 z1 . Siano r0
e r1 le rappresentazioni del vettore ~r rispetto alla terna 0 e 1 e s0 e s1 le rappresentazioni del
vettore ~s rispetto alla terna 0 e 1 rispettivamente.
Il modulo del vettore (~r ~s) `e lo stesso indipendentemente dal sistema di riferimento
rispetto a cui si rappresentano i vettori, quindi:
kr0 s0 k = kr1 s1 k
(3.16)
(3.17)
27
(r1 s1 )T (r1 s1 )
(3.18)
(3.19)
Inversa di R
Si pu`o dimostrare che il determinante di una matrice di rotazione `e pari a 1. Quindi la matrice
R ammette sempre uninversa R1 . Moltiplicando a destra ambo i membri della (3.14) per
R1 , si ottiene:
1
1
RT RR
| {z } = IR
(3.20)
ovvero:
RT = R1
(3.21)
Linversa di una matrice di rotazione pu`o quindi essere semplicemente calcolata tramite
unoperazione di trasposizione.
3.2.3.4
28
Ox2 y2 z2 terna ottenuta dalla terna 1 a seguito di una rotazione R21 (specificata in terna
1).
Sia R20 la matrice di rotazione (incognita) che esprime lorientazione della terna Ox2 y2 z2
rispetto alla terna base Ox0 y0 z0 . Siano p0 , p1 , p2 , le coordinate di un punto P dello spazio
rispetto ad ognuna delle tre terne. Per quanto visto nel Par. 3.2.2, valgono le relazioni:
p0 = R10 p1
p1 = R21 p2
p0 = R20 p2
(3.22)
(3.23)
(3.24)
(3.25)
Dovendo essere valide entrambe le equazioni (3.24) e (3.25) per ogni punto P , sar`a allora:
R20 = R10 R21
(3.26)
3.2.3.5
(3.27)
(3.28)
=I
In pratica, la matrice di rotazione complessiva R20 si ottiene, come nel caso della composizione
in terna corrente, con un prodotto matriciale delle due rotazioni successive, ma questa volta
lordine di moltiplicazione va invertito, ovvero, generalizzando al caso di n rotazioni successive
0 i1
Ri , i = 1, . . . , n specificate in terna 0.
29
y1
y'
x'
x1
x''
z z'
y'
O
x'
z
z''
y'
O
y''
x'
x''
30
31
La matrice di rotazione complessiva REU L `e data dalla composizione delle tre rotazioni viste
in precedenza, definite in terna corrente. La prima rotazione (spin) `e intorno allasse z di un
angolo , la seconda (nutazione) `e intorno allasse y 0 di un angolo , la terza (precessione)
`e intorno allasse z 00 di un angolo , la matrice di rotazione risultante `e pertanto data da:
c s 0
c 0 s
c s 0
REU L = s c 0 0 1 0 s c 0 =
0
0 1
s 0 c
0
0
1
c s 0
cc s cs
s c 0 =
sc c ss
=
0
0
1
s
0
c
ccc ss ccs sc cs
= scc + cs scs + cc ss .
(3.29)
sc
ss
c
3.2.4.2
(3.30)
(3.31)
Ricordiamo che la funzione atan2(x, y) calcola larcotangente del rapporto x/y, ma utilizza il
segno di ciascun argomento per determinare il quadrante di appartenenza dellangolo risultante.
In questo modo si determina in modo corretto langolo in un intervallo di ampiezza pari
allangolo giro.
Si osserva inoltre che:
2
2
= sin2 ,
+ r2,3
r1,3
q
2
2
s = r1,3
+ r2,3
,
se si sceglie il segno positivo per la radice quadrata (ipotizzando cio`e 0 < < ), ricordando
che:
r3,3 = c
32
(3.32)
Con questa scelta del segno di sin langolo pu`o essere calcolato dagli elementi r3,1 e r3,2
in questo modo:
= atan2(r3,2 , r3,1 ) .
Se avessimo scelto il segno negativo per la radice quadrata (ovvero < < 0):
q
2
2
= atan2( r1,3
+ r2,3
, r3,3 ) ,
(3.33)
(3.34)
(3.35)
Se sin = 0 si osserva che r1,3 = r2,3 = r3,1 = r3,2 = 0. Per le propriet`a della matrice
di rotazione risulter`a necessariamente r3,3 = 1. Supponiamo che r3,3 = 1 (in questo caso
particolare gli assi z iniziale e finale coincidono). La matrice di rotazione in questo caso diventa
pari a:
cc ss cs sc 0
cos( + ) sin( + ) 0
REU L = sc + cs ss + cc 0 = sin( + ) cos( + ) 0 (3.36)
.
0
0
1
0
0
1
Si osserva che non `e possibile in questo caso calcolare e ma solo la loro somma, visto che
le due rotazioni sono effettuate rispetto allo stesso asse.
33
ruotiamo intorno allasse z di un angolo pari a , queste due ultime rotazioni servono
per riportare il versore nella configurazione iniziale.
Le cinque operazioni appena descritte sono effettuate in terna fissa, per cui la matrice di
rotazione complessiva pu`o essere calcolata in questo modo:
R = Rz ()Ry ()Rz ()Ry ()Rz () =
c s 0
c 0 s
c s 0
c 0 s
c s 0
= s c 0 0 1 0 s c 0 0 1 0 s c 0
0
0 1
s 0 c
0
0 1
s 0 c
0
0 1
(3.37)
E possibile sostituire a sin(), cos(), sin() e cos() le seguenti espressioni:
sin = p
y
2x + 2y
(3.38)
x
2x + 2y
(3.39)
(3.40)
cos = p
q
sin = 2x + 2y
cos = z
2x (1 c ) + c
x y (1 c ) z s x z (1 c ) + y s
2y (1 c ) + c
y z (1 c ) x s
R = x y (1 c ) + z s
x z (1 c ) y s y z (1 c ) + x s
2z (1 c ) + c
(3.41)
(3.42)
Si osserva che la rotazione di un angolo intorno al versore coincide con una rotazione di
un angolo intorno allasse .
(3.43)
,
,
,
.
(3.44)
(3.45)
(3.46)
(3.47)
E evidente che i parametri di Eulero non sono tra loro indipendenti essendo legati dalla
seguente relazione:
(3.48)
21 + 22 + 23 + 24 = 1 .
34
E possibile verificare che la matrice di rotazione tra la terna pu`o essere espressa in funzione
dei parametri di Eulero:
2
(1 22 23 + 24 )
2(1 2 3 4 )
2(1 3 2 4 )
(21 + 22 23 + 24 )
2(2 3 1 4 )
[R] = 2(1 2 3 4 )
(3.49)
2
2
2
2
2(1 3 2 4 )
2(2 3 1 4 )
(1 2 + 3 + 4 )
dp
= p = [
]p .
dt
0 z y
0 x
[
] = z
y x
0
(3.51)
(3.52)
Sia [R] la matrice di rotazione che lega la terna mobile alla fissa, per definizione risulta:
0
1
px
px
p0y = [R] p1y ;
(3.53)
p0z
p1z
Le coordinate di P rispetto alla terna mobile risultano costanti (il punto P `e solidale al corpo
B). La velocit`a di P pu`o essere quindi scritta in questa forma:
p = [
][R]p1
(3.54)
(3.55)
(3.56)
(3.57)
35
angoli di Eulero ,
La rotazione del corpo rigido con velocit`a pu`o essere vista come risultante di tre rotazioni:
+ j
0 + k
1
= k
(3.58)
Le componenti del versore j0 possono essere espresse rispetto alla terna base:
sin
j0 = cos ;
0
(3.59)
cos () sin ()
sin
()
sin
()
z1 =
cos ()
cos () sin ()
sin
0
cos ()
(3.60)
(3.61)
La precedente espressione pu`o essere invertita, in altri termini `e possibile esprimere le derivate
degli angoli di Eulero in funzione delle componenti del vettore velocit`a angolare rispetto alla
terna fissa. E possibile verificare che:
cos() cos()
cos()
sin()
sin()
1
sin()
= sin ()
cos ()
0
cos()
sin()
0
sin()
sin()
(3.62)
Si osserva che lespressione (3.62) risulta singolare quando sin = 0, ovvero quando = 0
oppure = . Tutte le sequenze di rotazione di questo tipo presentano problemi di singolarit`a
in alcune configurazioni. Per questo motivo la rappresentazione dellorientazione per mezzo
degli angoli di Eulero (per mezzo di tre rotazioni successive) non viene utilizzata nelle procedure
numeriche su cui si basano i software multibody.
36
[R][R]
= [
][R][RT ] ,
ricordando che [R][R]T = [I], si ha:
T
[R][R]
= [
] .
0 z y
0 x ,
] = z
y x
0
(3.63)
(3.64)
Le componenti della velocit`a angolare possono quindi essere calcolate in questo modo:
x =
3,2 =
3
X
R 3,i Ri,2
(3.65)
R 1,i Ri,3
(3.66)
R 2,i Ri,1
(3.67)
i=1
y =
1,3 =
3
X
i=1
z =
2,1 =
3
X
i=1
Ricordando lespressione della matrice di rotazione in funzione dei parametri di Eulero `e possibile verificare che la relazione che lega le componenti della velocit`a angolare alle derivate dei
parametri di Eulero `e la seguente:
1
1
2
= 2[E] 2 ,
(3.68)
3
3
0
4
dove:
4 3 2
1
3
4 1 2
.
(3.69)
[E] =
2 1
4 3
2
2
3
4
A titolo desempio ricaviamo lespressione della prima componente del vettore velocit`a
angolare:
1 =
3,2 = R 3,1 R1,2 + R 3,2 R2,2 + R 3,3 R3,2 =
d
d
=
(2(1 3 2 4 )) (2(1 2 3 4 )) +
(2(2 3 1 4 )) 21 + 22 23 + 24 +
dt
dt
d
+
21 22 + 23 + 24 (2(2 3 1 4 )) =
dt
= 4 (1 2 + 3 4 ) (1 3 + 1 3 2 4 2 4 ) +
+ 2 21 + 22 23 + 24 (2 3 + 2 3 + 1 4 + 1 4 ) +
+ 2(2 3 1 4 ) (21 1 22 2 + 23 3 + 24 4 ) ;
37
1
2
3 =
4
1
2
1
[E]
3 .
2
0
(3.70)
(3.71)
Si osserva che non esistono singolarit`a nelle equazioni cinematiche mostrate in precedenza,
per questo molte procedure numeriche utilizzano i parametri di Eulero come rappresentazione
dellorientazione.
xi
yi
zi
,
qi =
(3.72)
i
i
Definiremo quindi le velocit`a generalizzate del corpo i come le derivate temporali delle coordinate generalizzate:
x i
y i
zi
(3.73)
q i =
.
i
i
i
Per descrivere la velocit`a del corpo rigido nello spazio potremmo comunque scegliere una
qualsiasi combinazione lineare delle velocit`a generalizzate.
Ad esempio, potremmo scegliere le componenti della velocit`a angolare anziche le derivate
degli angoli di Eulero per descrivere la parte rotazionale della velocit`a. La relazione (3.61)
permette di esprimere le componenti del vettore velocit`a angolare rispetto alle derivate degli
angoli di Eulero.
Capitolo 4
Cinematica dei sistemi piani
4.1 Sistema delle equazioni di vincolo
4.1.1 Vincoli sul sistema meccanico
In questo contesto, indicheremo con il termine vincolo una relazione matematica tra le coordinate generalizzate dei corpi, che in un certo senso limitano le possibilit`a di moto del
sistema.
I vincoli sulla posizione vengono definiti olonomi;
i vincoli in cui compare anche la velocit`a vengono detti anolonomi
I vincoli possono essere ulteriormente classificati in:
Scleronomi:
Reonomi:
Le equazioni relative ai vincoli reonomi sono equazioni nelle quali compare esplicitamente
la variabile temporale t e vengono quindi imposte dal progettista, mentre le equazioni relative
ai vincoli scleronomi vengono generate in maniera sistematica, con il metodo che ci accingiamo
a descrivere, una volta che sia specificata la topologia del meccanismo e la geometria dei suoi
membri.
Ricordiamo che le coppie elementari, nel caso piano in oggetto, sono esclusivamente di tipo rotoidale o
prismatico, ognuna e` caratterizzata da due equazioni di vincolo
38
39
Il numero di gradi di libert`a del sistema `e costituito dalla differenza tra il numero totale di
coordinate generalizzate del sistema (dimensione dello spazio delle configurazioni) e il numero
di relazioni che possono essere scritte per i vincoli reonomi. In altri termini, il numero di gradi
di libert`a F del sistema risulta quindi:
F = 3(l 1) 2j1 j2
(4.1)
(4.2)
dove q = [q1 q2 q3 . . . q3i2 q3i1 q3i . . . q3(l1)2 q3(l1)1 q3(l1) ]T R3(l1) `e il vettore
delle coordinate generalizzate del meccanismo. Di tutte le equazioni (4.2), le prime 2j1 + j2
rappresentano le equazioni dei vincoli scleronomi, mentre le rimanenti F rappresentano le
equazioni dei vincoli reonomi, ovvero le leggi di moto di alcuni degli elementi del meccanismo.
4.1.3.1
Supponiamo di voler eseguire lanalisi cinematica di un quadrilatero articolato col metodo delle
equazioni di vincolo: si devono scrivere 8 equazioni di vincolo (due per ognuna delle coppie
rotoidali e per la coppia prismatica) e 1 equazione di moto per un totale di 9 equazioni.
2
1
3
= (t)
.................................................
0
l = 4, j1 = 4, j2 = 0
40
(4.3)
dove = [1 . . . 3(l1) ]T .
Si osserva che (4.3) rappresenta un sistema di 3(l 1) equazioni non lineari.
Il sistema di equazioni pu`o essere risolto per via numerica, ad esempio per mezzo del metodo
di Newton Raphson. Supponiamo di voler determinare la configurazione del meccanismo in
un certo istante t0 assegnato, dobbiamo in questo caso risolvere il sistema:
(q) = 0 ,
(4.4)
(la variabile tempo in questo caso non compare, dato che stiamo analizzando la configurazione
del sistema in un istante fissato). Il metodo di risoluzione di Newton - Raphson `e basato
sulla linearizzazione del sistema, in altri termini si approssimano le funzioni non lineari che
costituiscono il sistema, in una certa configurazione di partenza qi , per mezzo dei primi due
termini dellespansione in serie di Taylor. Con questa ipotesi il sistema da risolvere diventa:
(q)
= (qi ) + [q (qi )] (q qi ) = 0 ,
(4.5)
,
(4.7)
[q ]qi+1 = (qi ) [q ]qi
[q (q)] =
La (4.7) costituisce un sistema lineare, che, se la matrice (q) `e invertibile, pu`o essere risolto:
,
(4.8)
qi+1 = [q ]1 (qi ) [q ]qi
41
Figura 4.3: Approssimazione della soluzione di unequazione non lineare per mezzo del metodo
di Newton Raphson.
La configurazione del meccanismo viene determinata iterando il sistema (4.8) fino alla convergenza della soluzione (ovvero fintantoche la differenza tra la nuova configurazione qi+1 e
quella vecchia qi non diventa trascurabile).
Il metodo di Newton Raphson `e caratterizzato da convergenza di tipo quadratico in un
intorno della soluzione. Nella figura 4.3 si riporta schematicamente il funzionamento del
metodo per una funzione in una variabile.
Come accennato nel primo capitolo, il problema della definizione della configurazione iniziale in generale pu`o ammettere pi`u di una soluzione. La soluzione verso cui converger`a il
metodo numerico dipende dalla stima iniziale.
Si osserva inoltre che il metodo di Newton - Raphson non sempre converge verso la soluzione
dellequazione non lineare, se la configurazione iniziale non `e sufficientemente vicina alla
soluzione, si possono avere problemi di divergenza dellalgoritmo numerico.
Un ulteriore problema nasce dal fatto che il problema della configurazione iniziale pu`o non
ammettere soluzione, questo problema si verifica se ai parametri di input (vincoli reonomi)
vengono assegnati valori non compatibili con la geometria del sistema, in questo caso il metodo
numerico necessariamente diverger`a.
Il metodo di soluzione proposto `e basato sulla inversione della matrice Jacobiana. Lefficienza dellalgoritmo per la soluzione del problema della configurazione iniziale dipende
essenzialmente dallefficienza con cui viene risolto il sistema lineare (4.7).
(4.9)
(q, t)
q
(q, t)
t
(4.10)
(4.11)
42
(4.12)
(4.13)
Si osserva inoltre che la matrice [q ] dipende da q, ovvero dalla configurazione del meccanismo. Le configurazioni per le quali risulta det[q ] = 0 sono dette configurazioni singolari.
=
q + ([q ]q)
=
([q ]q)
([q ]q)
dt
q
t
q + [q,t ]q + [q ]
=
([q ]q)
q .
q
(4.14)
Mentre la derivata rispetto al tempo del secondo membro della (4.12) fornisce:
d
d
(t ) =
(t )q + (t ) = [t,q ]q + tt
dt
q
dt
(4.15)
q 2[q,t ]q tt
([q ]q)
q
(4.16)
il problema dellanalisi delle accelerazioni del meccanismo si conclude con la soluzione, per un
generico tempo t, del sistema lineare di equazioni:
[q ]
q=
(4.17)
43
yi K
xi *
xj
xA
i
...
...
.
A
..............
.
.
.
O
.
.....
q3i1......................i.....
..... .....
......
... ........Y
.
.... A
.
.
y
.
.
.A
j
.
xj
...
A
y
yi..
j
...
q3j1......................................................................
...
... Oj
...
...
...
...
...
...
...
...
...
...
..
..
q3j2
q3i2
X
O
Y 6
YP
(4.18)
YiA
(4.19)
YjA
= 0 .
Scrivendo le coordinate del punto A in termini di coordinate generalizzate per mezzo delle
Eq. (2.7) e (2.8), si ottiene:
A
XiA = q3i2 + xA
i cos q3i yi sin q3i
A
YiA = q3i1 + xA
i sin q3i + yi cos q3i
(4.20)
(4.21)
Si pu`o osservare che per scrivere le due equazioni di vincolo di cui sopra, `e sufficiente conoscere
la posizione della traccia dellasse di rotazione della coppia nei due sistemi di riferimento solidali
con i corpi i e j. Per tale ragione il metodo delle equazioni di vincolo risulta particolarmente
adatto ad essere utilizzato in un ambiente multibody. Per concludere lanalisi cinematica della
coppia `e necessario calcolare gli elementi della matrice [q ] e del vettore introdotti dalla
coppia.
Osserviamo inoltre che, per un generico punto A, risulta:
q3i2
1
0
q3i1
0
1
q3i
q3i1 YiA
XiA q3i2
q3j2
-1
0
44
q3j1
0
-1
q3j
q3j1
q3j1 XjA
YjA
Tabella 4.1: Componenti della k e k + 1 -esima riga della matrice Jacobiana relative a una
coppia rotoidale
A
A
,
(X A ) = xA
i sin q3i yi cos q3i = q3i1 Yi
q3i i
A
A
.
(YiA ) = xA
i cos q3i yi sin q3i = Xi q3i2
q3i
(4.24)
(4.25)
(4.26)
2
2
(k + 1) = [q3i
(q3i1 YiA ) q3j
(q3j2 YjA )] .
(4.27)
Ancora una volta osserviamo che gli elementi della matrice [q ] e del vettore relativi alla
coppia in esame sono individuati dalla semplice conoscenza della posizione dellasse di rotazione
della coppia rotoidale rispetto ai due sistemi di riferimento solidali con i corpi i e j.
A
Xi YiA 1
B
k = Xi YiB 1 = 0
XjC YjC 1
(4.28)
(4.29)
(4.30)
Dalla quale, sostituendo i valori delle coordinate dei punti nel sistema di riferimento inerziale in
funzione delle coordinate nei sistemi solidali con i corpi i e j per mezzo delle Eq. (2.7 e 2.8) si
ottiene lequazione di vincolo cercata. Lequazione 4.29 non necessita ulteriori manipolazioni.
45
yi K
xi *
Y 6
YP
Cj
Ai
...i.....
q3i1...................O
...
yY
...
j
...
...
q3j1......................................................................
... Oj
...
...
...
....
....
...
...
...
...
...
...
.
.
q3j2
q3i2
O
xj
Bi
k
k+1
k
k+1
q3i2
YiA
YiB
q3i1
XiB
XiA
0
q3j2
YiB
YiA
0
q3j1
XiA
XiB
q3i
B
Xi )(XjC q3i2 )+
+(YiA YiB )(YjC q3i1 )
(XiA
1
q3j
B
A
(Xi Xi )(q3j2 XjC )+
(YiA YiB )(YjC q3j1 )
-1
Tabella 4.2: Componenti della k e k + 1 -esima riga della matrice Jacobiana relative a una
coppia rotoidale
46
Lanalisi cinematica della coppia si conclude con il calcolo degli elementi della matrice q e
del vettore introdotti dalla coppia.
Dalla definizione di q (??) otteniamo i risultati riassunti nella tabella 5.3 Dalla definizione
di (4.16) otteniamo:
(k) = 2q3i [(YiA YiB )(q3i1 q3j1 ) + (XiA XiB )(q3i2 q3j2 )] +
2
+ q3i
[(XiA XiB )(q3i1 q3j1 ) + (YiB YiA )(q3i2 q3j2 )]
(4.31)
(k + 1) = 0 .
(4.32)
M
Xi
q3i2
xi
=
+ Ri
,
(4.33)
M
Yi
q3i1
yiM
per cui, posto:
d=
dx
dy
XiM X A
YiM Y A
(4.34)
(4.35)
(4.36)
(4.37)
Per quanto riguarda la matrice q , i due vincoli rispettivamente introducono gli elementi:
ax
M
1 0 xM
(4.38)
qi =
i sin q3i yi cos q3i
ay
M
0 1 xM
.
(4.39)
qi =
i cos q3i yi sin q3i
47
yi M
Y 6
1
xi
yiM
xM
i
Oi
XiM
=
=
=
=
2
M
,
q3i
(xM
i cos q3i yi sin q3i ) + dx
2
M
,
q3i
(xM
i sin q3i + yi cos q3i ) + dy
dx ,
dy .
(4.40)
(4.41)
(4.42)
(4.43)
0 0 1
a
=
qi
a = 0
(4.44)
(4.45)
(4.46)
Se, come nel caso precedente, supponiamo che i =i (t), gli elementi di e t introdotti dal
vincolo sono :
t a = i
= i
,
.
(4.47)
(4.48)
48
yi M
Y 6
1
xi
i
................................
Oi
XiM
2.10), se definiamo il
dij
yi O
yj
Oi
Mj
Mi :
xi
Oj
rj
ri
xj R
-
XiM XjM
YiM YjM
(4.49)
k = dT d d2ij = 0 .
(4.50)
d=
lequazione di vincolo pu`o essere scritta:
49
ti
yik
xi
Pi
qi
xki.
M
n
i 1Uy i
ri
yjk
rj
Pj
>
xk
i
tj
yj
>
Oi y z
i
xj
Oj
-
(4.51)
(4.52)
quindi, poiche i due sistemi Pi xik yik zik e Oi xi yi zi hanno la stessa orientazione si ha:
xM
= xPi i + ri (i ) cos i
i
xM
= yiPi + ri (i ) sin i ,
i
da cui nel riferimento assoluto:
M
M
xi
q3i2
Xi
+ Ri
=
M
yiM
q3i1
Yi
(4.53)
(4.54)
(4.55)
Dobbiamo a questo punto esprimere i vettori normale e tangente al profilo Ci nel punto M .
Posto:
ri0 =
(ri )
(4.56)
i
la tangente in M alla curva Ci `e parallela al vettore:
M 0
(xik )
ri cos i ri0 sin i
(i)
i
,
(4.57)
ti =
=
M
ri0 sin i + ri0 cos i
(yik
)
i
50
0
1
=
R
,
(4.58)
1 0
la normale in M alla curva Ci `e parallela al vettore:
i (i)
ni (i) = Rt
(4.59)
(4.60)
ni = Ri ni (i)
(4.61)
Xi XjM = 0
(4.62)
YiM YjM = 0
2. il vettore ni e tj devono essere ortogonali, cio`e
ni T tj = 0
(4.63)
k
k+1
q3i2
q3i1
+ Ri
xM
i
yiM
q3j2
q3j1
i ti (i) )T Rj tj (j) =
k+2 = (RR
T RT Rj tj (j) = 0
= ti (i) R
i
Rj
xM
j
yjM
(4.64)
(4.65)
Dalle quali, con successive derivazioni si possono ottenere la matrice Jacobiana [q ] e il vettore
.
51
rj *
j
k
ri
(4.66)
dove con ik e jk abbiamo indicato le velocit`a angolari delle due ruote relative al portatreno
e con ri ed rj i due raggi.
Dalla definizione di coordinate generalizzate,
ik = q3i q3k
jk = q3j q3k
(4.67)
(4.68)
(4.69)
(4.70)
(4.71)
da cui:
52
da cui si ottiene:
0
0
0
k = ri (q3i q3i
) rj (q3j q3j
) + (rj ri )(q3k q3k
) = 0,
(4.72)
0
0
0
avendo indicato con q3i
, q3j
, q3k
le posizioni iniziali rispettivamente dei tre membri i, j, k.
Le componenti della riga della matrice jacobiana relative al vincolo costituito dalle ruote
dentate sono le seguenti:
() = 0 ,
q3i2
() = 0 ,
q3i1
() = ri ,
q3i
() = 0 ,
q3j2
() = 0 ,
q3j1
() = rj ,
q3j
() = 0 ,
q3k2
() = 0 ,
q3k1
() = rj ri .
q3k
Il vettore `e sempre nullo.
NOTA: si `e ricavata la sola equazione di vincolo della coppia superiore e non quella
dellintero meccanismo (altre 4 equazioni).
k+1 = q3i1 +
xA
i ,
yiA
xA
j
xA
i
sin q3i +
yiA
yjA
xA
j
sin q3i
yjA
(4.73)
yjA = YjA = 0 ,
53
x2
y1
q3
q6
O1 = (q1 , q2 )
O2 = (q4 , q5 )
O2
O1
2L
y2
2L
B
x1
yjB = y2B = 0 ,
per cui le corrispondenti due equazioni si scrivono:
q1 + L cos q3 (q4 L cos q6 ) = 0 ,
q2 + L sin q3 (q4 L sin q6 ) = 0 .
Ricapitolando, le equazioni di vincolo strutturale possono essere scritte in questo modo:
q1 L cos q3
q2 L sin q3
s =
(4.75)
q1 + L cos q3 (q4 L cos q6 ) = 0 .
q2 + L sin q3 (q4 L sin q6 )
Le equazioni di vincolo reonomo sono:
q3 h(t)
d
=
=0 .
q6 g(t)
Da cui derivando si ottiene la
1
0
1
[q ] =
0
0
0
matrice Jacobiana:
0 L sin q3
0
0
0
1 L cos q3 0
0
0
0 L sin q3 1 0 L sin q6
1 L cos q3
0 1 L cos q6
0
1
0
0
0
0
0
0
0
1
(4.76)
(4.77)
54
t =
0
0
0
0
h(t)
g(t)
q32 L cos q3
q32 L sin q3
2
2
q3 L cos q3 + q6 L cos q6
.
= 2
2
L
sin
q
+
q
L
sin
q
3
6
3
6
h(t)
g (t)
(4.78)
(4.79)
Membro j
4
2
3
xi
-1
1
1.75
55
yi
0
0
0
xj
0
-1.75
0
yj
0
0
0
Tabella 4.3: Manovellismo di spinta, riepilogo dei dati relativi alle coppie rotoidali
Le equazioni di vincolo possono essere calcolate applicando le equazioni (4.73) e (4.74). Si
riporta il listato di una function MATLAB che, a partire dalle coordinate dellasse della coppia
nei sistemi di riferimento solidali ai membri xi , yi , xj , yj , genera le equazioni di vincolo:
function vincolo =
rotoidale2d(xP_i,yP_i,xP_j,yP_j,xi,yi,thetai,xj,yj,thetaj)
% riporto i punti nelle coordinate di base
posP_0i = local2base(xP_i,yP_i,xi, yi, thetai);
posP_0j = local2base(xP_j,yP_j,xj, yj, thetaj);
vincolo = posP_0i - posP_0j;
La procedura utilizza due ulteriori function: la prima, local2base, permette di riportare le
coordinate di un punto, dal sistema di riferimento locale a quello di base:
function pos = local2base(xP_i,yP_i,xi, yi, thetai)
posP_i = [xP_i yP_i]; posi_0 = [xi yi]; Ri = rot2d(thetai);
pos=posi_0 + Ri*posP_i;
La seconda, rot2d, ha come input un angolo theta e fornisce come output la matrice di
rotazione corrispondente a quellangolo:
function R = rot2d(theta)
R = [cos(theta) -sin(theta);
sin(theta) cos(theta)];
Utilizzando le function definite precedentemente si possono facilmente dedurre le equazioni
di vincolo per le tre coppie rotoidali:
per la coppia rotoidale in O:
1 = q1 cos q3 = 0 ,
2 = q2 sin q3 = 0 ;
(4.80)
56
(4.81)
(4.82)
Nella tabella 4.4 si riassumono i dati relativi alla coppia prismatica che collega lelemento
3 al telaio 4, i dati necessari per scrivere le equazioni di vincolo sono le coordinate di tre punti,
tra loro allineati, due appartenenti allelemento i e uno allelemento j, e langolo tra le
direzioni di xi e j.
Membro i
3
Membro j
4
xPi
0
yiP
0
xQ
i
1
yiQ
0
xR
j
1
yjR
0
Tabella 4.4: Manovellismo di spinta, riepilogo dei dati relativi alla coppia prismatica
I punti P , Q ed R possono essere scelti arbitrariamente, purche allineati, in questo caso si
sono scelti i punti di coordinate (0, 0) e (1, 0) per lelemento 3 e (1, 0) per lelemento 4.
Le equazioni di vincolo si possono determinare utilizzando le relazioni (4.28) e (4.29).Per
generare le equazioni di vincolo anche in questo caso si utilizza una function MATLAB di cui
si riporta il listato:
function vincolo =
prismatica2d(xP_i,yP_i,xQ_i,yQ_i,xR_j,yR_j,deltatheta,xi,yi,thetai,xj,yj,
posP_0 = local2base(xP_i,yP_i,xi, yi, thetai);
posQ_0 = local2base(xQ_i,yQ_i,xi, yi, thetai);
posR_0 = local2base(xR_j,yR_j,xj, yj, thetaj);
matrice = [posP_0 1;
posQ_0 1;
posR_0 1];
vincolo1 = det(matrice); vincolo2 = thetai - thetaj - deltatheta;
vincolo = [vincolo1;vincolo2];
Utilizzando questa function si determinano due ulteriori equazioni di vincolo:
7 = q7 sin q9 q8 cos q9 = 0 ,
8 = q9 = 0 ;
(4.83)
Per quanto riguarda lequazione di vincolo reonomo, si suppone, a titolo di esempio, che
lelemento 1 ruoti intorno al punto O con velocit`a angolare costante, risulta quindi:
9 = q3 t = 0 ;
(4.84)
57
q1 cos q3
q2 sin q3
q1 + cos q3 q4 + 1.75 cos q6
q2 + sin q3 q5 + 1.75 sin q6
q4 + 1.75 cos q6 q7
q5 + 1.75 sin q6 q8
q7 sin q9 q8 cos q9
q9
t q3
q (q) =
1
0
1
0
0
0
0
0
0
=0
(4.85)
(q,t)
:
q
0 sin q3
0
0
0
0
0
0
1 cos q3 0
0
0
0
0
0
0 sin q3 1 0 1.75 sin q6
0
0
0
1 cos q3
0 1 1.75 cos q6
0
0
0
0
0
1
0 1.75 sin q6 1
0
0
0
0
0
1
1.75 cos q6
0
1
0
0
0
0
0
0
sin q9 cos q9 q7 cos q9 + q8 sin q9
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
ed il vettore t =
(q,t)
:
t
t =
0
0
0
0
0
0
0
0
(4.86)
,
cos q3 q32
sin q3 q32
2
=
1.75 cos q6 q26
1.75 sin q6 q6
0
0
(4.87)
(4.88)
I risultati ottenuti sono stati utilizzati per lanalisi cinematica del meccanismo, ovvero per
determinare, durante il moto, posizione, velocit`a e accelerazione di tutti gli elementi del
meccanismo.
58
Figura 4.13: Manovellismo di spinta centrato: configurazione iniziale (punto morto superiore)
si suppone che la configurazione del meccanismo al tempo t, q(t), sia nota;
`e possibile quindi calcolare la matrice Jacobiana, q , il vettore t ed il vettore
corrispondenti a questa configurazione;
possono di conseguenza calcolare le derivate del vettore configurazione q(t)
eq
(t):
q(t)
= 1
q t
q
(t) = 1
q
(4.89)
(4.90)
dopo un tempo t sufficientemente piccolo, il vettore configurazione pu`o essere calcolato, con buona approssimazione, in questo modo:
1
q(t + t) = q(t) + q(t)t
+ q
(t)t2
2
(4.91)
1
0
2.75
,
0
q(0) =
(4.92)
4.5
0
0
59
5.5
4.5
3.5
2.5
1.5
0.1
0.2
0.3
0.4
0.5
tempo
0.6
0.7
0.8
0.9
Figura 4.14: Manovellismo di spinta centrato: ascissa del pistone durante la simulazione.
x 10
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Figura 4.15: Manovellismo di spinta centrato: errore nella stima dellascissa del pistone.
25
20
15
10
10
15
20
25
0.1
0.2
0.3
0.4
0.5
tempo
0.6
0.7
0.8
0.9
Figura 4.16: Manovellismo di spinta centrato: velocit`a del pistone durante la simulazione.
60
200
100
100
200
300
400
0.1
0.2
0.3
0.4
0.5
tempo
0.6
0.7
0.8
0.9
Figura 4.17: Manovellismo di spinta centrato: accelerazione del pistone durante la simulazione.
q1 0.1 cos q3
2 0.1 sin q3
7 0.125 cos q9
q 0.125 sin q9
8
q3 (t)
61
=0
(4.93)
1 0 0.1 sin q3
0
0
0 1 0.1 cos q3 0
0
1 0 0.1 sin q3 1 0
0 1 0.1 cos q3
0 1
0
0
0
1
0
[q ] =
0 0
0
0
1
0 0
0
0
0
0 0
0
0
0
0 0
1
0
0
(4.94)
(4.95)
La procedura `e stata ripetuta finche la differenza tra le configurazioni calcolate in due iterazioni
successive `e risultata inferiore ad un valore fissato (pari a 0.0001).
Ricordiamo che il problema della definizione della configurazione iniziale non presenta in
generale una sola soluzione. Nelle figure 4.18 e 4.20 si riportano le due configurazioni ottenute,
entrambe compatibili con le condizioni di vincolo imposte, mentre nelle figure 4.19 e 4.21 si
riporta la somma dei valori assoluti delle differenze tra i componenti del vettore configurazione
in due iterazioni successive. Come si vede in entrambi i casi il metodo iterativo raggiunge la
convergenza (errore totale inferiore a 0.0001) in cinque e sei iterazioni.
La configurazione finale ottenuta (tra le due possibili) dipende dalla configurazione di
partenza q0 .
62
0.15
y3
0.1
O3
y0
x2
[m]
0.05
x3
y0
x0
0
O
y1
0.05
O
x1
0.1
0.05
0.1
0.15
x
0.2
[m]
0.25
0.3
0.35
0.4
140
120
80
|q q
i1
100
60
40
20
1.5
2.5
3.5
iterazione
4.5
5.5
Figura 4.19: Quadrilatero articolato, errore durante il calcolo della configurazione iniziale.
0.1
y0
0.05
x
O0
0
x3
O1
y0
[m]
y1
0.05
0.1
x1
y1
y3
0.15
0.2
O2
x2
0.25
0
0.05
0.1
0.15
0.2
x0
0.25
[m]
0.3
0.35
0.4
0.45
63
|qi qi1|
1.5
2.5
3
iterazione
3.5
4.5
Figura 4.21: Quadrilatero articolato, errore durante il calcolo della configurazione iniziale.
1.5
0.5
0.5
1.5
2.5
3
1
0.5
0.5
1.5
2.5
3
1
64
3
componente lungo x
componente lungo y
2
vel.
0.1
0.2
0.3
0.4
0.5
tempo
0.6
0.7
0.8
0.9
0.5
0.45
0.4
vel.angolare
0.35
0.3
0.25
0.2
0.15
0.1
0.1
0.2
0.3
0.4
0.5
tempo
0.6
0.7
0.8
0.9
5
componente lungo x
componente lungo y
4
acc.
0.1
0.2
0.3
0.4
0.5
tempo
0.6
0.7
0.8
0.9
65
0.2
acc.angolare
0.4
0.6
0.8
1.2
1.4
0.1
0.2
0.3
0.4
0.5
tempo
0.6
0.7
0.8
0.9
Capitolo 5
I vincoli: sistemi tridimensionali
5.1 Gradi di libert`a
Ponendo = 3 se i corpi sono caratterizzati da moto sferico o piano e = 6 se i corpi si
muovono di un moto spaziae generico e indicando con:
l:
j:
fi :
il numero di gradi di libert`a del meccanismo, che indichiamo con F `e dato da:
F = (l 1)
j
X
( fi ) =
i=1
= (l j 1) +
j
X
fi
(5.1)
i=1
Nella tabella 5.1 si riportano le principali coppie cinematiche ed i gradi di libert`a associati a
ciascuno.
f
1
1
2
3
4
moti inibiti
2 rotazioni e 3 traslazioni
3 rotazioni e 2 traslazioni
2 rotazioni e 2 traslazioni
3 traslazioni
2 traslazioni
67
68
Per il corpo i, (vedi figura 5.5)lorientamento del sistema di riferimento di giunto `e individuata
zik rispettivamente. Il versore h ik `e individuato dal punto Qik , posto a distanza unitaria da
Pik , analogamente il versore f ik `e individuato dal punto Rik , posto a distanza unitaria da
Pik , rispetto al sistema di riferimento solidale al corpo i avremo quindi:
(i)
fik
(i)
hik
(i)
(i)
(i)
Qik
(i)
Pik
= Rik Pik
=
Il versore
g ik pu`o essere determinato come prodotto vettoriale di h ik e f ik rispettivamente:
g ik = h ik f ik ,
ovvero, in termini di componenti rispetto al sistema di riferimento i:
(i)
ik ](i) f(i)
gik = [h
ik
(i)
(i)
(i)
(i)
indicando con hik = [hx , hy , hz ]T i coseni direttori del versore h ik rispetto al sistema di
ik ](i) risulta cos`definita:
riferimento i, la matrice [h
(i)
(i)
0
hz
hy
(i)
(i)
ik ](i) =
[h
0
hx .
hz
(i)
(i)
hy
hx
0
Per semplificare la trattazione dei vincoli di base, descritta nei paragrafi successivi, `e opportuno
adottare una notazione unica per tutte le coppie cinematiche. Con riferimento alla figura 5.6,
si evidenziano i seguenti vettori:
69
70
i vettori che congiungono le origini dei sistemi di riferimento solidali ai corpi, oi e oj rispettivamente, con lorigine del sistema di
riferimento di base O;
~si ,~sj :
d~ij :
(5.2)
71
(5.3)
Indicando quindi con aii e con ajj i coseni direttori dei vettori rispetto alle terne solidali ai
sistemi di riferimento solidali ai corpi i e j rispettivamente e con [R0i ] e [R0j ] le matrici di
rotazione delle terne mobili rispetto alla terna base, risulta:
a0i = [R0i ]aii ,
a0j = [R0j ]ajj .
Sostituendo queste ultime nella relazione 5.3 si ottiene:
([R0i ]aii )T [R0j ]ajj = 0 .
(5.4)
Lequazione che esprime il vincolo di ortogonalit`a tra i due vettori `e quindi data la seguente:
o1 (aii , ajj ) = (aii )T [R0i ]T [R0j ]ajj = 0 .
(5.5)
(5.6)
72
(5.7)
Come nel caso precedente, il vettore a0i pu`o essere espresso in funzione delle sue coordinate
rispetto al sistema di riferimento locale:
a0i = [R0i ]aii
si osserva inoltre, ricordando la figura 5.6, che il vettore d~ij `e dato da:
d~ij = ~rj + ~sj ~ri + ~si
(5.8)
Le componenti del vettore d~ij rispetto al sistema di riferimento di base sono quindi date da:
d0ij = r0j + [R0j ]sjj r0i [R0i ]sii
(5.9)
(5.10)
quindi, ricordando la propriet`a di ortogonalit`a delle matrici di rotazione ([R0i ]T [R0i ] = [I]), la
condizione di vincolo si pu`o scrivere in questo modo:
o2 (aii , sii , sjj ) = (aii )T [R0i ]T r0j + [R0j ]sjj r0i (aii )T sii = 0 .
(5.11)
(5.12)
Si osserva che in questo caso la condizione di vincolo `e espressa per mezzo di unequazione
vettoriale, che si traduce in tre equazioni scalari.
(5.14)
T 0
73
74
75
Pj
~hj
f~j
(5.18)
76
Pj
~hj
f~j
77
Pj
~hj
f~j
p1 (~hi , ~hj )
pr
.
=
p2 (~hi , d~ij )
o1 (f~ , f~ )
i j
(5.19)
(5.20)
78
Pj
~hj
f~j
(5.21)
Capitolo 6
Richiami di dinamica analitica
6.1 Introduzione
In questo capitolo si introduce il problema dello studio della dinamica dei sistemi multibody. In
particolare verranno richiamati sinteticamente i metodi analitici su cui si basano le procedure
per la derivazione delle equazioni di moto dei sistemi multicorpo.
Lapplicazione diretta delle equazioni di Newton pu`o risultare difficoltosa, specialmente per
i sistemi costituiti da un numero elevato di corpi. La difficolt`a maggiore consiste nel definire
una procedura sistematica che permetta la generazione delle equazioni di moto per qualsiasi
sistema meccanico.
Un approccio pi`u conveniente dal punto di vista computazionale `e quello che fa uso del
principio di Hamilton e delle equazioni di Lagrange. Questo approccio di tipo energetico
consente di giungere ad una formulazione delle equazioni della dinamica in termini variazionali,
che si presta ad essere utilizzata con lausilio di un calcolatore.
(6.1)
80
ri
ri
ri
q1 +
q2 + ... +
qn = [riq ]q ;
q1
q2
qn
ix
ix
... r
q1
qn
r
r
[riq ] = qiy1 ... qiyn .
riz
iz
... r
q1
qn
(6.2)
(6.3)
(6.4)
Se, dunque, indichiamo la forza esterna agente sul generico corpo i appartenente al sistema
con F~i , (lindice i varia da 1 ad n, avendo indicato con n il numero di corpi che costituiscono
il sistema), il Principio dei Lavori Virtuali pu`o essere cos` formulato:
W =
n
X
F~i ~ri = 0
(6.5)
i=1
osserviamo che, se tutte le forze agenti sul sistema sono conservative, la funzione lavoro W
pu`o essere sostituita con la funzione potenziale V e, quindi il PLV pu`o essere cos` riscritto:
V = 0
(6.6)
n
X
j=1
F~j ~rj = (
n
X
j=1
F~j ) ~rj = 0
(6.7)
81
Quindi, perch`e Wt sia nullo, essendo ~rj del tutto arbitrario, deve risultare:
F~ =
n
X
F~j = 0
(6.8)
j=1
(6.9)
Essendo ~rj il vettore che individua la posizione del punto di applicazione della generica forza.
Il lavoro virtuale associato al moto di rotazione risulta quindi:
Wr =
=
n
X
j=1
n
X
F~j ~rj =
n
X
F~j ~u ~rj
j=1
~u ~rj F~j = ~u
j=1
n
X
~rj F~j = 0
j=1
ed essendo
u del tutto arbitrario, perch`e risulti Wr = 0 deve essere:
~ =
M
n
X
~rj F~j = 0
(6.10)
j=1
(6.11)
ovvero:
m~a F~ = 0 .
Se, dunque, definiamo il vettore delle forze dinerzia:
F~i = m~a ,
(6.12)
F~ + F~i = 0 ,
(6.13)
82
n
X
(F~k mk~ak ) rk
(6.14)
k=1
dy =
(l) sin dt l sin d .
t
dx =
83
t2
t2
W dt =
t1
n
X
[
(Fk mk ak )rk ]dt
t1
(6.16)
k=1
Se ipotizziamo che le forze esterne siano conservative, il lavoro svolto da tali forze `e pari alla
differenza di potenziale, cio`e allopposto della diffetenza di energia potenziale V :
Z
t2
Z
n
X
[
(Fk )rk )]dt =
t1
t2
V dt .
(6.17)
t1
k=1
t2
t1
Z
n
X
[
(mk ak )rk ]dt =
t2
t1
k=1
Z t2 X
n
n
X
d
d
(mk vk )rk ]dt +
[
[
mk vk (rk ]dt(6.18)
dt
dt
t1
k=1
k=1
t2
t1
Z t2 X
n
n
X
d
mk vk (rk ]dt =
[
mk vk (vk )]dt =
[
dt
t
1
k=1
k=1
Z t2 X
n
1
=
mk (vk )(vk )dt =
2 t1 k=1
Z t2 X
n
=
mk vk2 dt =
Z
t1
k=1
t2
T dt ,
(6.20)
t1
t2
W dt =
t1
t2
t2
V dt +
t1
T dt
t1
n
X
2
mk vk rk \t=t
t=t1
(6.21)
k=1
(6.22)
84
la 6.21 diventa:
Z
t2
t2
W dt =
(T V )dt
t1
t1
n
X
2
mk vk rk \t=t
t=t1 =
k=1
t2
Ldt
t1
n
X
2
mk vk rk \t=t
t=t1
(6.23)
k=1
Se si suppone di fissare le configurazioni estreme del sistema meccanico,quelle cio`e corrispondenti agli istanti t1 e t2 , non sono ammessi spostamenti virtuali in queste configurazioni,
ovvero:
rk (t1 ) = 0 ,
rk (t2 ) = 0 ,
si ha:
Z
t2
t2
W dt =
t1
Ldt = 0 ,
(6.24)
t1
Ldt = 0 .
(6.25)
t1
Ldt +
Wn dt = 0 .
(6.26)
t1
t1
N
X
(Fek mk ak )rk = 0 .
k=1
(6.27)
85
Le velocit`a delle masse ed i relativi spostamenti virtuali si possono dunque esprimere in funzione
delle coordinate nel modo seguente:
n
X
drk
rk dqj rk
=
+
dt
qj dt
t
j=1
n
X
rk
rk =
j=1
qj
qj
(6.28)
(6.29)
Il primo termine della 6.14, cio`e il lavoro virtuale compiuto dalle forze esterne si scrive:
N
X
Fek rk
N
X
Fek
j=1
k=1
k=1
n
X
rk
qj
qj =
N X
n
X
rk
Fek
qj
qj
k=1 j=1
n
X
Qj qj
(6.30)
j=1
Dove si `e indicata con Qj la forza generalizzata della direzione della j esima coordinata
lagrangiana, cio`e:
n
X
j=1
Fek
rk
W e
=
qj
qj
(6.31)
dove W e `e il lavoro compiuto da tutte le forze esterne per una variazione della sola coordinata
qj .
Resta da considerare il secondo termine della 6.14:
N
X
mk ak rk =
k=1
N
X
mk
k=1
XX
d2 {bf rk
d2 rk rk
r
=
m
qj
k
k
2 q
dt2
dt
j
k=1 j=1
(6.32)
1X
drk drk
T =
mk
2 k=1
dt dt
(6.33)
N
X
X d T
T
d2 rk
[ (
)
]qj
mk ak rk =
mk 2 rk =
dt
dt
q
j
j
j=1
k=1
k=1
(6.34)
86
che poich`e deve valere per qualsiasi spostamento virtuale qj risulta nulla solo se sono nulli
tutti gli addendi:
d T
T
= Qj ,
(6.35)
dt qj
qj
per j = 1, . . . , n.
87
(6.36)
Per quanto riguarda le forze conservative si osserva che la loro espressione pu`o essere ottenuta
direttamente differenziando la funzione energia potenziale V ad esse associata, ovvero:
N
X
k=1
Fck rk =
n
X
j=1
V
qj
qj
(6.37)
Il contributo delle forze non conservative viene invece considerato calcolando le forze generalizzate:
n
X
rk
nc
Qj =
Fnc
.
(6.38)
k
qj
j=1
le equazioni di Lagrange si possono riscrivere come:
d T
V
T
=
+ Qj
dt qj
qj
qj
(6.39)
Newline per j = 1, . . . , n
e, poich`e V non dipende da q
L
T
(T V ) =
=
qj
qj
qj
Le Equazioni di lagrange per sistemi non conservativi risultano:
d L
L
= Qnc
,
j
dt qj
qj
(6.40)
(6.41)
per j = 1, . . . , n.
Osserviamo che questa nuova scrittura delle equazioni di Lagrange di fatto non aggiunge nulla
rispetto alle eq. 7.2, ma pu`o risultare utile per una pi`u spedita scrittura delle equazioni di
moto.
Capitolo 7
Analisi dinamica di un sistema multibody
7.1 Minimizzazione di una funzione soggetta a vincoli
Il metodo dei moltiplicatori di Lagrange permette di passare da un problema di ottimizzazione vincolata ad un problema di ottimizzazione senza vincoli.
Supponiamo di voler rendere stazionaria una generica funzione continua e derivabile L(q1 , q2 )
soggetta al vincolo (q1 , q2 ) = 0 .
In via teorica `e possibile ricavare una delle due variabili in funzione dell altra per mezzo dell
equazionre di vincolo, sostituire lespressione cos` trovata nela funzione L e quindi ricondursi
ad un problema di massimo o minimo di una funzione di un unica variabile. Questo modo di
procedere, sempre attuabile in teoria, risulta spesso non praticabile a causa della complessit`a
della funzione , che rende loperazione di esplicitazione di una varabile praticamente irrealizzabile. Secondo il metodo dei moltiplicatori di Lagrange si pu`o pensare di sostituire al
problema originario il problema di rendere stazionaria la funzione L cos` definita:
L = L (q1 , q2 ) .
(7.1)
e di trattarla come una funzione nelle variabili q1 , q2 , , essendo una variabile artificialmente
introdotta detta moltiplicatore di Lagrange.
Le condizioni di stazionariet`a per la funzione L risultano:
L
L
=0 ,
q1
q1
q1
L
L
=0 ,
q2
q2
q2
L
= =0 .
(7.2)
(7.3)
(7.4)
Si pu`o dimostrare che la soluzione del sistema di equazioni precedente coincide necessariamente
con la soluzione del problema di ottimizzazione vincolata.
89
Partendo dal principio dei lavori virtuali e dal principio di DAlembert, si arriva alla formulazione di Hamilton (par.6.7), secondo la quale le equazioni della dinamica si possono formulare
imponendo la stazionariet`a dellintegrale (eq. 6.25):
Z t2
Ldt = 0 .
(7.5)
t1
sia reso stazionario, con le condizioni che siano nulle le variazioni delle variabili agli estremi di integrazione, (cio`e qj (t1 ) = qj (t2 ) = 0) e` che sia verificato il sistema di equazioni
differenziali:
d T
T
= Qj ,
(7.7)
dt qj
qj
con j = 1, . . . , n.
Se per`o, come nel nostro caso, il sistema meccanico `e soggetto a vincoli, cio`e le variazioni qj
non sono pi`u tra loro indipendenti, come dobbiamo formulare le equazioni di Lagrange ?
Il problema si risolve osservando che, grazie alla formulazione di Hamilton, il problema di
scrivere le equazioni di moto di un sistema meccanico soggetto a vincoli si riconduce ad un
problema di ottimizzazione di una funzione vincolata.
In altri termini, con il metodo dei moltiplicatori di Lagrange possiamo definire una funzione
lagrangiana estesa L :
L = T V (1 1 , . . . , p p ) ,
(7.8)
(7.10)
90
l1
X
mi gq3i1
(7.11)
i=1
M1 0 ... 0
0 M2 ... 0
M =
(7.13)
... ... ... ... ,
0
0 ... Mn
con
mi 0 0
Mi = 0 mi 0
0 0 Ji
(7.14)
Qj =
X
W
~rk
=
F~knc
qj
qj
k=1
(7.15)
essendo W il lavoro virtuale delle forze non conservative e j la variazione virtuale della
coordinata qj .
Fx
+ Cq3i ,
(7.16)
W = [q3i2 , q3i1 ]
Fy
91
Figura 7.1: Forza applicata nellorigine del sistema di riferimento soliale al corpo i e coppia
ortogonale al piano
(7.17)
avendo indicato con qi il vettore [q3i2 , q3i1 , q3i ]T e con Q il vettore [Fx , Fy , C]T . Il contributo
della forza F~ e della coppia C nel vettore delle forze generalizzate sar`a quindi dato da:
Fx nella posizione 3i 2,
Fy nella posizione 3i 1,
C nella posizione 3i.
92
i
xP
xP
q3i2
.
rP =
=
+ [Ri ]
ypi
yP
q3i1
Calcoliamo quindi lo spostamento virtuale del punto P :
i
xP
q3i2
rP =
+ [Bi ]
q3i
ypi
q3i1
(7.19)
(7.20)
avendo indicato con [Bi ] la matrice che si ottiene derivando gli elementi della [Ri ] rispetto a
q3i :
Fx
Fx
T
i
i
T
W = rP
= [q3i2 , q3i1 ] + [xP , yP ][Bi ] q3i
Fy
Fy
(7.22)
Fx
.
Fy
Qi =
i
T
sP [Bi ] F
Il contributo della forza F~ nel vettore delle forze generalizzate sar`a quindi dato da:
Fx nella posizione 3i 2,
Fy nella posizione 3i 1,
Fx
i
i
T
nella posizione 3i.
[xP , yP ][Bi ]
Fy
(7.23)
(7.24)
93
(7.25)
Sono ovviamente note le coordinate dei punti di attacco A e B nei sistemi di riferimento locali:
i
j
xA
xB
j
i
.
(7.26)
sA =
, sB =
i
yA
yBj
Le coordinate dei due punti possono essere calcolate nel sistema di riferimento di base:
q3i2
+ [Ri ]siA ,
rA =
q3i1
q3j2
+ [Rj ]sjB ,
(7.27)
rB =
q3j1
per cui se definiamo:
dAB = rA rb
(7.28)
(7.29)
(7.30)
94
il segno negativo `e dovuto al fatto che per gli elementi elastici la forza tende ad opporsi alla
deformazione.
Si calcola quindi la variazione l della distanza tra A e B, osservando che:
2ll = 2dTAB dAB ,
1 T
l =
d dAB =
l AB
1 T
q3j2
q3i2
j
i
+ [Bi ]q3i sA
[Bj ]q3j sB
d
=
q3i1
q3j1
l AB
(7.31)
Il passo successivo consiste nel calcolo del lavoro virtuale, dalla cui espressione si esplicitano i
termini del vettore delle forze generalizzate. In particolare si avr`a:
W
Qi =
Qj =
q3i2
W
q3i1
W
q3i
W
q3j2
W
q3j1
W
q3j
(7.32)
(7.33)
(7.34)
Calcolando il lavoro virtuale e raccogliendo i vari termini si ottiene:
F
dAB
Qi =
,
T
l dAB [Bi ]siA
F
dAB
Qj =
.
j
l dTAB [Bj ]sB
(7.35)
(7.36)
(7.37)
(avente come incognite i vettori q1 , ..., qn e 1 , ..., p ) e dalle p equazioni algebriche di vincolo
1 , ..., p presenta un numero di incognite pari a quello delle equazioni, ovvero n + p.
Tale sistema pu`o essere risolto in pi`u modi; spesso per i sistemi meccanici si usa differenziare
due volte le equazioni di vincolo:
[q ]
q = ([q ]q)
q q 2[qt ]T q Ttt =
(7.38)
che costituisce un sistema di equazioni che possono essere risolte simultaneamente con 7.37,
posto:
M Tq
q
Q
=
,
(7.39)
q 0
che noti al tempo t posizione e velocit`a di tutti i corpi presenta quali incognite lineari il vettore
q e . Una volta risolto fornisce le accelerazioni e le reazioni vincolari, dalle quali si possono
calcolare posizione e velocit`a al tempo t + t, con cui si risolve nuovamente il sistema 8.4.
95
(7.40)
In questo modo abbiamo aggiunto allenergia potenziale delle forze conservative quella dovuta
ai vincoli sulle coordinate generalizzate; possiamo quindi calcolare le reazioni vincolari dovute
alla variazione della generica coordinata generalizzata qj come:
= 1
Qvinc
j
1
p
+ + p
qj
qj
(7.41)
dalla quale risulta evidente come i moltiplicatori di Lagrange si possano interpretare come le
componenti generalizzate delle forze di reazione dovute alla presenza dei vincoli cinematici.
Riferendosi a sitemi piani, conviene eplicitare le componenti generalizzate della reazione
vincolare dovuta al vincolo k esimo in un riferimento solidale a generico corpo i esimo
detto riferimento del giunto Pk , xik , yik , zik .
Per fissare le idee consideriamo una coppia rotoidale: il riferimento del giunto `e un riferimento solidale a uno dei due corpi che la coppia vincola, con lorigine coincidente con l
asse della coppia e gli assi comunque orientati. Ricordiamo che, in generale, il numero delle
componenti delle forze di reazione introdotte da una coppia `e ugaale al grado di vincolo della
coppia stessa. (Per esempio la coppia rotoidale, nel caso piano, introduce due componenti,
cio`e due forze , mentre la coppia lungo lasse della coppia `e, in assenza di attrito, nulla).
7.4.2.3
(7.42)
(7.43)
(7.44)
Calcolo del lavoro virtuale compiuto dalle forze esterne in corrispondenza di variazioni delle coordinate generalizzate infinitesime e compatibili con i vincoli del
sistema.
W = T q3 mgq2
(7.45)
96
97
(7.46)
(7.47)
(7.48)
m 0
0
1
0
0 m
0
0
1
0 0
IG
xG sin q3 xG cos q3
1 0 xG sin q3
0
0
0 1 xG cos q3
0
0
q1
q2
q3
1
2
0
mg
T
xG q32 cos q3
xG q32 sin q3
Capitolo 8
Soluzione delle equazioni della dinamica
8.1 Introduzione
Come si visto nel capitolo precedente, applicando le equazioni di Lagrange ad un sistema
multibody descritto tramite un set di coordinate ridondanti, si ottiene il seguente sistema di
equazioni differenziali:
[M ]
q + [q ]T = Q ,
(8.1)
che devono essere risolte insieme alle equazioni di vincolo:
(q, t) = 0 ,
(8.2)
(8.3)
che costituisce un sistema di equazioni che possono essere risolte simultaneamente con (8.1),
posto:
Q
M Tq
q
=
,
(8.4)
q 0
che noti al tempo t posizione e velocit`a di tutti i corpi presenta quali incognite lineari il vettore
q e . Una volta risolto fornisce le accelerazioni e le reazioni vincolari, dalle quali si possono
calcolare posizione e velocit`a al tempo t + t, con cui si risolve nuovamente il sistema 8.4. E
[M ] = [M ] 2 [M ] 2 = [L][L] .
(8.5)
(8.6)
(8.7)
98
Q
L H
L
0
q
=
,
H T LT1
0 L1
99
(8.8)
E possibile dimostrare quindi che il vettore dei moltiplicatori di Lagrange pu`o essere
calcolato in questo modo:
{} = [L]1 {1 } ,
(8.9)
essendo:
{1 } = [L1 ]1 ([H]T [L]1 Q ) .
(8.10)
(8.11)
Questa procedura, pur essendo molto semplice, non consente di garantire che durante la
simulazione le equazioni di vincolo (8.2) siano rispettate. Se il passo di integrazione t non
`e sufficientemente piccolo con questo tipo di integrazione si ottengono errori non accettabili.
(8.12)
(q,
t) = [q ]q + t = 0 ,
(8.13)
t) = [q ]
(q,
q =0 ,
(8.14)
(8.15)
essendo e due costanti positive scelte dallutente. Per assicurare la stabilit`a del metodo e lo
smorzamento delle violazioni delle equazioni di vincolo conviene scegliere = (solitamente
si scelgono pari al reciproc del passo di integrazione). Sostituendo nellequazione (8.15) l
espressione (8.14) si ottiene:
[q ]
q + 2 + 2 = 0 ,
Che possono essere inserite nel sistema di equazioni differenziali della dinamica:
M Tq
q
=
.
q 0
2 2
(8.16)
(8.17)
100
(8.18)
1
i )t + q
(ti )t2
q(ti+1 ) = q(ti ) + q(t
2
(8.19)
E possibile verificare che i valori dei moltiplicatori di Lagrange calcolati con risolvendo il
sistema (8.17) possono risultare sensibilmente diversi da quelli che si ottengono risolvendo il
sistema (8.8), non sono quindi sufficientemente affidabili per stimare le reazioni vincolari.
(q)
(q, v) =
=0 .
(8.21)
(q, v)
Derivando rispetto al tempo la (8.21) si ottiene:
[v ]v + [q ]q = 0 ,
essendo:
[v ] =
Rm+F F
(8.22)
(8.23)
Rm+F nq
101
(8.24)
Rnq F
(8.25)
(8.26)
Se non esiste una dipendenza esplicita dal tempo nelle equazioni di vincolo (vincoli scleronomi) le derivate rispetto al tempo delle coordinate generalizzate devono soddisfare il seguente
sistema di equazioni:
[q ]q = 0 .
(8.27)
Confrontando la (8.26) con la (8.27) si ottiene la seguente condizione di ortogonalit`a:
[q ][V ] = 0 .
(8.28)
(8.29)
Per eliminare i moltiplicatori di Lagrange dalle equazioni della dinamica si premoltiplica lequzione (8.1) per [V ]T :
[V ]T [M ]
q + [V ]T [q ]T = [V]T Q ,
(8.30)
Tenendo conto della condizione di ortogonalit`a (8.28) lequazione precedente pu`o essere
semplificata in questo modo:
[V ]T [M ]
q = [V ]T Q ,
(8.31)
Sfruttando quindi lespressione delle derivate seconde delle coordinate generalizzate in funzione
delle coordinate indipendenti (8.29) si ottiene:
= [V ]T Q ,
[V ]T [M ]([V ]v + [V ]v)
(8.32)
(8.33)
Per ottenere unespressione del termine [V ]v si suddivide il vettore q Rnq 1 in due parti
u Rnq F 1 e v RF 1 contenenti rispettivamente le coordinate dipendenti e indipendenti:
u
q=
.
(8.34)
v
Le equazioni di vincolo espresse in termini di accelerazione:
[q ]
q=
(8.35)
(8.36)
102
eu
:
E possibile quindi scrivere una relazione tra q
[u ]1
u
[u ]1 [v ]
=
q
=
v +
v
[I]
0
Confrontando la (8.38) con la (8.29) si osserva quindi:
[u ]1 [v ]
[V ] =
,
[I]
1
[
]
u
[V ]v =
.
0
(8.37)
(8.38)
(8.39)
(8.40)
(8.41)
(8.42)
essendo B una matrice F nq . A causa delle singolarit`a il numero di gradi di libert`a del meccanismo e quindi il numero di righe della matrice B possono cambiare durante la simulazione.
La matrice B ha F righe indipendenti dalle righe della matrice Jacobiana [q ]. Assemblando
le equazioni (8.41) e (8.42) si ottiene:
t
[q ]
q =
.
(8.43)
[B]
v
Per quanto visto in precedenza la matrice a primo membro dellequazione (8.43) `e non
singolare, risolvendo il sistema si ottiene:
t
[q ]
q =
= [S]t + [V ]v .
(8.44)
[B]
v
1
[q ]
La matrice [S] ha dimensioni nq m ed `e data dalle prime m colonne della matrice
,
[B]
la matrice [V ] ha dimensioni nq F . Si osserva inoltre che lequazione (8.26) `e un caso
particolare della (8.44). Si ossera inoltre che:
[q ]
[q ]
[q ]
=
[[S][V ]] =
[B]
[B]
[B]
[q ] [S] [q ] [V ]
I 0
=
=
,
(8.45)
[B] [S] [B] [V ]
0 I
103
(8.46)
[B][V ] = I
(8.47)
[q ]
=
.
q
[B]
v
(8.48)
a v:
da cui `e possibile ricavare unespressione che lega q
= [S] + [V ]v .
q
(8.49)
Q
M Tq
q
=
,
(8.50)
q 0
se la matrice Jacobiana delle equazioni di vincolo q ha tutte le righe indipendenti la matrice
a primo membro `e non singolare e pu`o essere invertita, `e possibile calcolare quindi le derivate
seconde delle coordinate generalizzate e i moltiplicatori di Lagrange:
Q
M Tq
q
=
,
(8.51)
q 0
Considerando separatamente i singoli blocchi si ottiene:
1 1
M M 1 Tq (q M 1 Tq )1 q M 1 M 1 Tq (q M 1 Tq )1
M Tq
=
(q M 1 Tq )1 q M 1
(q M 1 Tq )1
q 0
(8.52)
Sostituendo nella (8.51) si ottiene la seguente espressione per il vettore delle accelerazioni:
= M 1 M 1 Tq (q M 1 Tq )1 q M 1 Q + M 1 Tq (q M 1 Tq )1 .
q
(8.53)
Sviluppando i prodotti si ottiene:
= M 1 Q M 1 Tq (q M 1 Tq )1 q M 1 Q + M 1 Tq (q M 1 Tq )1 =
q
= M 1 Q + M 1 Tq (q M 1 Tq )1 q M 1 Q
.
(8.54)
Si indica con:
f = M 1 Q ,
q
(8.55)
f
=q
f + M 1 Tq (q M 1 Tq )1 q q
.
(8.56)
q
Il vettore dei moltiplicatori di Lagrange `e dato da:
= (q M 1 Tq )1 q M 1 Q (q M 1 Tq )1
(8.57)
104
f
= (q M 1 Tq )1 q q
.
(8.58)
[M ]1 = [M ] 2 [M ] 2
(8.59)
[D] = [q ][M ] 2
(8.60)
12
12 T
21
12 T 1
= q
f + [M ] [M ] q (q [M ] [M ] q )
f =
q
q q
1
f + [M ] 2 [D]T ([D][D]T )1 q q
f
= q
.
(8.61)
(8.62)
si ottiene infine:
1
=q
f + [M ] 2 [D]+ q q
f
q
(8.63)
Questa formulazione `e stata proposta originariamente da Udwadia e Kalaba [4] che la derivarono
partendo dal principio di Gauss.
1
T
1
q
f M q
q
f =
f N
f N
q
qN q
qN q
2
2
(8.64)
N = [M ] 2 q
q
1
f N = [M ] 2 q
f
q
La funzione G(q) `e detta Gaussiana del sistema.
(8.65)
Bibliografia
[1] E. Pennestr`, F. Cheli, Cinematica e Dinamica dei Sistemi Multibody, Casa Editrice
Ambrosiana, Milano, 2006.
[2] E. Pennestr`, Dinamica Tecnica e Computazionale - vol.2, Casa Editrice Ambrosiana,
Milano, 2002.
[3] B. Allotta, Appunti del Corso di Complementi di Meccanica Applicata alle Macchine,
Universit`a degli Studi di Firenze, 2004.
[4] F.E. Udwadia and R.E. Kalaba, Analytical dynamics, a new approach, Cambridge University
Press, Cambridge, 1996.
[5] L. Vita, Sviluppo e implementazione di formulazioni per lanalisi dinamica di sistemi multibody, Universit`a degli Studi di Roma Tor Vergata, Dottorato di Ricerca in Progettazione
dei Sistemi Meccanici, Tesi di Dottorato, XVII Ciclo, 2005.
[6] A. A. Shabana, Computational Dynamics, second edition, John Wiley & Sons, Inc. New
York USA, 2001.
[7] J.
Garc`a
de
Jalon,
E.
Bayo,
Kinematics
and
Dynamics
of
Multibody
Systems,
the
Real
Time
Challenge,
Springer
Verlag,
http://mat21.etsii.upm.es/mbs/bookPDFs/bookGjB.htm.
105