Sei sulla pagina 1di 106

Appunti del Corso di Modellazione e Simulazione

Dinamica dei sistemi multibody


Monica Malvezzi, Andrea Rindi
Dipartimento di Energetica Sergio Stecco, Sezione di Meccanica Applicata
Universit`a di Firenze
via S. Marta 3, 50139 Firenze, Italy
malvezzi@mapp1.de.unifi.it

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

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

2 Rappresentazione degli elementi di un sistema multibody


2.1 Coordinate dipendenti e indipendenti . . . . . . . . . . .
2.2 Coordinate assolute e relative . . . . . . . . . . . . . . .
2.2.1 Alcuni esempi . . . . . . . . . . . . . . . . . . .
2.3 Sistemi piani: coordinate generalizzate . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.

7
7
7
8
9
9
12
13

.
.
.
.

15
15
16
17
19

3 Cinematica del corpo rigido nello spazio


3.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Matrice di rotazione - coseni direttori . . . . . . . . . . . . . . .
3.2.1 Espressione di R per rotazioni attorno agli assi coordinati
3.2.2 Cambio di coordinate tra due terne con la stessa origine .
3.2.3 Propriet`a della matrice di rotazione . . . . . . . . . . . .
3.2.4 Angoli di Eulero . . . . . . . . . . . . . . . . . . . . . .
3.2.5 Rappresentazione asse/angolo . . . . . . . . . . . . . . .
3.2.6 Parametri di Eulero . . . . . . . . . . . . . . . . . . . .
3.3 Velocit`a di un corpo rigido nello spazio . . . . . . . . . . . . . .
3.3.1 Derivata rispetto al tempo della matrice di rotazione . . .
3.3.2 Velocit`a angolare e angoli di Eulero . . . . . . . . . . . .
3.3.3 Velocit`a angolare e parametri di Eulero . . . . . . . . . .
3.3.4 Coordinate generalizzate e velocit`a generalizzate . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

22
22
22
23
25
26
29
32
33
34
34
35
36
37

4 Cinematica dei sistemi piani


4.1 Sistema delle equazioni di vincolo . . .
4.1.1 Vincoli sul sistema meccanico .
4.1.2 Gradi di libert`a nei sistemi piani
4.1.3 Equazioni di vincolo . . . . . .
4.1.4 Configurazione del meccanismo
4.1.5 Velocit`a del meccanismo . . . .
4.1.6 Accelerazioni del meccanismo .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

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

5 I vincoli: sistemi tridimensionali


5.1 Gradi di libert`a . . . . . . . . . . . . . . . . . . .
5.2 Sistemi di riferimento . . . . . . . . . . . . . . .
5.3 Vincoli di base . . . . . . . . . . . . . . . . . . .
5.3.1 Vincolo di ortogonalit`a - primo caso . . . .
5.3.2 Vincolo di ortogonalit`a - secondo caso . .
5.3.3 Vincolo sferico . . . . . . . . . . . . . . .
5.3.4 Vincolo di distanza . . . . . . . . . . . . .
5.3.5 Vincolo di parallelismo - primo caso . . . .
5.3.6 Vincolo di parallelismo - secondo caso . . .
5.4 Equazioni di vincolo per alcune coppie cinematiche
5.4.1 Coppia rotoidale . . . . . . . . . . . . . .
5.4.2 Coppia prismatica . . . . . . . . . . . . .
5.4.3 Coppia cilindrica . . . . . . . . . . . . . .
5.4.4 Coppia sferica . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

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

Coppie cinematiche elementari . . . . . . . .


4.2.1 Coppia rotoidale . . . . . . . . . . .
4.2.2 Coppia prismatica . . . . . . . . . .
Vincoli elementari . . . . . . . . . . . . . .
4.3.1 Vincoli di moto assoluto . . . . . . .
4.3.2 Vincoli di moto relativo . . . . . . .
Coppie superiori . . . . . . . . . . . . . . .
Coppia ad ingranaggi . . . . . . . . . . . .
Esempio: robot planare a due gradi di libert`a
Esempio: Manovellismo di spinta centrato .
Esempio: quadrilatero articolato . . . . . . .
4.8.1 Equazioni di vincolo . . . . . . . . .
4.8.2 Jacobiano delle equazioni di vincolo .
4.8.3 Configurazione iniziale . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

6 Richiami di dinamica analitica


6.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 Il principio dei lavori virtuali . . . . . . . . . . . . . . . . . . . . .
6.2.1 Spostamenti virtuali . . . . . . . . . . . . . . . . . . . . .
6.2.2 Il principio dei lavori virtuali: enunciato . . . . . . . . . . .
6.3 Equivalenza tra PLV e formulazione newtoniana per lequilibrio di
rigido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.4 Principio di DAlembert . . . . . . . . . . . . . . . . . . . . . . .
6.5 Principio di DAlembert-Lagrange . . . . . . . . . . . . . . . . . .
6.6 Esempio: Applicazione del Principio di DAlembert . . . . . . . . .
6.7 Principio di Hamilton . . . . . . . . . . . . . . . . . . . . . . . .
6.8 Equazioni di Lagrange . . . . . . . . . . . . . . . . . . . . . . . .
6.9 Equazioni di Lagrange per sistemi non conservativi . . . . . . . . .

. . . . .
. . . . .
. . . . .
. . . . .
un corpo
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .

7 Analisi dinamica di un sistema multibody


88
7.1 Minimizzazione di una funzione soggetta a vincoli . . . . . . . . . . . . . . . 88
7.2 Equazioni di Lagrange per un sistema multibody piano . . . . . . . . . . . . . 88
7.2.1 Calcolo dellenergia cinetica . . . . . . . . . . . . . . . . . . . . . . . 89

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

8 Soluzione delle equazioni della dinamica


8.1 Introduzione . . . . . . . . . . . . . .
8.2 Formulazione stabilizzata di Baumgarte
8.3 Ortogonalizzazione dei vincoli . . . . .
8.3.1 Vincoli scleronomi . . . . . . .
8.3.2 Vincoli scleronomi e reonomi .
8.4 La formulazione di Udwadia Kalaba . .
8.4.1 Il principio di Gauss . . . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

90
90
90
90
90
92
93
94
95
95
98
98
99
100
100
102
103
104

Elenco delle figure


1.1
1.2
1.3
1.4
1.5
2.1

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

ELENCO DELLE FIGURE

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

Manovellismo di spinta centrato: schema cinematico . . . . . . . . . . . . . .


Manovellismo di spinta centrato: configurazione iniziale (punto morto superiore)
Manovellismo di spinta centrato: ascissa del pistone durante la simulazione. . .
Manovellismo di spinta centrato: errore nella stima dellascissa del pistone. . .
Manovellismo di spinta centrato: velocit`a del pistone durante la simulazione. .
Manovellismo di spinta centrato: accelerazione del pistone durante la simulazione.
Quadrilatero articolato, configurazione iniziale. . . . . . . . . . . . . . . . . .
Quadrilatero articolato, errore durante il calcolo della configurazione iniziale. .
Quadrilatero articolato, configurazione iniziale. . . . . . . . . . . . . . . . . .
Quadrilatero articolato, errore durante il calcolo della configurazione iniziale. .
Quadrilatero articolato, simulazione cinematica. . . . . . . . . . . . . . . . . .
Quadrilatero articolato, traiettoria del baricentro della biella. . . . . . . . . . .
Quadrilatero articolato, velocit`a del baricentro della biella. . . . . . . . . . . .
Quadrilatero articolato, velocit`a angolare della biella. . . . . . . . . . . . . . .
Quadrilatero articolato, accelerazione del baricentro della biella. . . . . . . . .
Quadrilatero articolato, accelerazione angolare della biella. . . . . . . . . . . .

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

Forza applicata nellorigine del sistema di riferimento soliale al corpo i e coppia


ortogonale al piano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Forza applicata in un generico punto P solidale al corpo i . . . . . . . . . .
Attuatore dinamico lineare tra i corpi i e j. . . . . . . . . . . . . . . . . . .
Pendolo semplice: sistemi di riferimento e coordinate utilizzati. . . . . . . .

.
.
.
.

91
91
93
96

7.2
7.3
7.4

Manipolatore planare a due gradi di libert`a. . . . . . . . . . . . . . . . . . . . . 53

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

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.

1.2 Dal modello fisico al modello matematico


Il modello fisico `e una rappresentazione del sistema reale il pi`u possibile simile ad esso nelle
sue condizioni di funzionamento, considerando le caratteristiche significative ai fini dellanalisi,
semplice e facilmente analizzabile con strumenti matematici e numerici. Labilit`a del progettista consiste proprio nel realizzare modelli fisici semplici ma sufficientemente accurati, e
nel contempo adatti ad ottenere facilmente il modello matematico per via analitica o con il
supporto di sistemi di simulazione assistita dal calcolatore.
Dato il modello fisico, il modello matematico pu`o essere ottenuto:
7

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.

1.3 I sistemi multibody


Con il termine sistema multibody si intende un sistema meccanico costituito da un insieme di
corpi rigidi collegati tra loro in modo da avere un moto relativo.
Gli elementi di un sistema multibody sono collegati tra loro da coppie cinematiche o giunti.
Un giunto consente il moto relativo tra due elementi in certe direzioni e lo impedisce in altre.
Gli elementi che costituiscono un sistema multibody sono pertanto:
corpi (in genere rigidi);
vincoli o coppie cinematiche;
forze (esterne).

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.

1.4 Tipi di problema


1.4.1 Problema cinematico
Nei problemi di cinematica viene analizzato il moto del sistema indipendentemente dalle forze
che vi sono applicate, quindi da un punto di vista esclusivamente geometrico.
Nello studio del problema cinematico solitamente `e nota la configurazione o il moto di uno
o pi`u membri. Gli elementi del meccanismo di cui `e noto il moto vengono detti elementi di
input e sono in numero pari ai gradi di libert`a del meccanismo.
1.4.1.1

Definizione della configurazione iniziale

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

Il problema si manifesta anche per i cinematismi pi`u semplici. Consideriamo ad esempio un


quadrilatero articolato piano, cinematismo caratterizzato come noto quattro elementi (di cui
uno fisso) collegati tra loro da quattro coppie rotoidali e pertanto dotato di un solo grado
di libert`a (vedi figura 1.1), si suppone che lelemento di input sia la manovella OA, la sua
configurazione `e identificata dallangolo 1 della coppia rotoidale in O.
Nella figura 1.2 `e riportato il caso in cui, per il valore assegnato di 1 , il cinematismo pu`o
assumere una sola configurazione. Questa possibilit`a si verifica nel caso limite in cui i segmenti
AB e O1 B sono allineati.
Nella figura 1.3 `e riportato il caso in cui, per il valore assegnato di 1 non `e ammessa
nessuna configurazione del meccanismo, nella figura 1.4 `e riportato infine il caso in cui, per il
valore assegnato di 1 sono ammesse due possibili configurazioni.

Figura 1.1: Quadrilatero articolato.

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.

Allaumentare della complessit`a del meccanismo aumenta ovviamente il numero di possibili


soluzioni del problema.

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

Spostamento finito del meccanismo

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.

Figura 1.5: Spostamento finito del meccanismo: quadrilatero articolato.

1.4.1.3

Analisi della velocit`a e dellaccelerazione

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

angolare e con laccelerazione angolare, risulta:


vQ = vP + (q p)
aQ = aP + ( (q p)) + (q p)
1.4.1.4

(1.1)
(1.2)

Simulazione cinematica

La simulazione cinematica permette di conoscere le caratteristiche del moto (configurazione,


velocit`a e accelerazione) di tutti gli elementi che costituiscono il sistema multibody una volta
note le leggi di moto degli elementi di input. La simulazione cinematica di fatto comprende
tutti i problemi visti in precedenza.
La simulazione cinematica permette di ottenere utili informazioni sul moto del meccanismo,
pu`o quindi essere utilizzata ad esempio per analizzare le traiettorie di ogni elemento, per
identificare collisioni, interferenze e cos` via.
Dal punto di vista matematico il problema pu`o essere visto come la successione di una
serie di spostamenti finiti.

1.4.2 Problema dinamico


In generale il problema dinamico risulta pi`u difficile da risolvere rispetto a quello cinematico
in quanto coinvolge le forze che agiscono sul meccanismo e le caratteristiche inerziali (massa
e tensore di inerzia) di ognuno degli elementi che lo compongono.
1.4.2.1

Equilibrio del sistema in condizioni statiche

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

Analisi delle vibrazioni del sistema

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

Problema dinamico inverso

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

Problema dinamico diretto (simulazione dinamica)

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

Un altro interessante problema dinamico consiste nella determinazione della risposta di un


sistema multibody ad una percussione, ovvero ad una forza caratterizzata da notevole entit`a
che agisce per un tempo brevissimo. La caratteristica che permette di quantificare le azioni di
questo tipo `e limpulso, ovvero lintegrale della forza nel tempo.
Una caratteristica delle sollecitazioni di tipo impulsivo `e che producono una discontinuit`a
nella distribuzione delle velocit`a del sistema, la cui entit`a dipende appunto dallimpulso della
forza applicata.
Dal punto di vista pratico lanalisi della risposta del sistema ad una percussione non `e
molto frequente, dato che molto raramente si hanno a disposizione dati affidabili relativi alla
forza da applicare.
Il problema dellimpatto o dellurto `e dal punto di vista pratico pi`u importante. Limpatto
consiste nellanalisi della risposta del sistema in seguito alla collisione tra due o pi`u corpi.
Anche la collisione implica una discontinuit`a nella distribuzione della velocit`a, dovuta al fatto
che nel punto in cui avviene limpatto nascono forze di tipo impulsivo, la cui entit`a `e per`o
incognita. Per poter risolvere il problema `e necessario introdurre ulteriori equazioni, in genere
di natura sperimentale che definiscono le caratteristiche delle superfici a contatto ed il tipo di
impatto.

1.4.3 Altri tipi di problema: sintesi e design


I tipi di problemi descritti finora sono tutti di analisi, nel senso che studiano il moto di
un mecanismo dal punto di vista cinematico e/o dinamico) una volta nota la sua struttura
(propriet`a geometriche e inerziali, coppie cinematiche).

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

La sintesi cinematica di un sistema multibody consiste nel determinare le dimensioni ottimali


di tutti gli elementi in modo da ottenere il moto desiderato, ad esempio far seguire ad un
punto appartenente ad uno dei corpi una traiettoria assegnata.
Il problema di sintesi cinematica `e fondamentalmente di tipo geometrico ed `e stato molto
analizzato anche in passato, fin dalla seconda met`a dellOttocento. I primi metodi sviluppati
erano principalmente di tipo grafico. Sono note numerose applicazioni di sintesi cinematica
applicate al quadrilatero articolato piano. E evidente che tali procedure hanno applicazione
limitata, troppo specifica e sono eccessivamente complesse.
I metodi utilizzati attualmente sono di tipo numerico e hanno la caratteristica di poter
essere applicati a una vasta casistica di meccanismi, sia piani che tridimensionali.
1.4.3.2

Analisi di sensibilit`a e design ottimale

Il design ottimale di un meccanismo inizia con la definizione di una funzione obiettivo. Lo


scopo dellottimizzazione `e quello di ottenere il sistema con le massime performance possibili.
Lobiettivo viene ottenuto massimizzando questa funzione.1
In altri termini, la funzione obiettivo pu`o essere vista come una vera e propria funzione
matemaatica in pi`u variabili, di cui si vuole cercare il massimo. Le variabili da cui dipende
la funzione sono dette variabili o parametri di progetto. In alcuni problemi si possono avere
anche dei vincoli nelle variabili di progetto che sono rappresentati per mezzo di equazioni o
disequazioni e che di fatto limitano lo spazio in cui trovare la soluzione ottimale. Vincoli sui
parametri di progetto possono essere ad esempio i range di variazione dei parametri, vincoli di
tipo fisico (ad esempio, non si possono avere elementi con massa o lunghezza negative ) e
cos`via.
La funzione obiettivo viene definita a seconda dellapplicazione del meccanismo (ad esempio, realizzazione di una traiettoria, minimizzazione degli sforzi trasmessi al telaio ecc.).
Esistono molte tecniche per la soluzione del problema di ottimizzazione, quasi tutte sono
basate sulla conoscenza delle derivate della funzione obiettivo rispetto ai parametri di progetto.
In generale, `e evidente che il valore assunto dalla derivata della funzione obiettivo rispetto
a un certo parametro fornisce una stima di quanto le variazioni del parametro hanno influenza
sulle variazioni della funzione. Lo studio delle derivate parziali della funzione obiettivo rispetto
ai parametri di progetto `e nota con il nome di analisi di sensibilit`a.
1

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

CAPITOLO 2. RAPPRESENTAZIONE DEGLI ELEMENTI DI UN SISTEMA MULTIBODY16

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.2 Coordinate assolute e relative


Le coordinate relative sono utilizzate soprattutto per lanalisi cinematica e dinamica dei meccanismi a catena cinematica aperta (come ad esempio i robot seriali). Le coordinate relative definiscono la posizione di ciascun elemento in una catena cinematica utilizzando come
parametri o coordinate lo spostamento relativo tra due elementi adiacenti.
Nel caso di sistemi multibody planari se due elementi sono collegati con un giunto rotoidale
(R), la loro posizione relativa `e definita per mezzo di un angolo, se sono collegati con un giunto
prismatico (P) la loro posizione relativa `e descritta per mezzo di una distanza.
Nel caso di un meccanismo con catena cinematica aperta, scegliendo una rappresentazione
con coordinate relative il numero di coordinate `e pari al numero di gradi di libert`a e quindi
non `e necessario definire equazioni di vincolo.
I vantaggi della scelta di un set di coordinate relative sono:

CAPITOLO 2. RAPPRESENTAZIONE DEGLI ELEMENTI DI UN SISTEMA MULTIBODY17


il numero di coordinate `e ridotto, si ha quindi una buona efficienza computazionale;
`e una rappresentazione particolarmente conveniente per meccanismi con catena cinematica aperta;
i parametri scelti per la rappresentazione del sistema sono gli spostamenti relativi tra due
elementi adiacenti nel giunto che li unisce, questa particolarit`a `e utile quando nel giunto
`e presente un attuatore o un motore, dato che `e possibile controllare direttamente il
moto del corrispondente grado di libert`a.
Daltra parte, questo tipo di rappresentazione presenta i seguenti inconvenienti:
la formulazione matematica pu`o essere pi`u complessa, dato che la posizione di ciascun
elemento `e legata a quella di tutti gli elementi che lo precedono nella catena cinematica.
nelle equazioni di moto compaiono matrici che, pur avendo dimensioni limitate, sono
piene e talvolta richiedono consistenti risorse di calcolo;
richiedono una fase di preprocessing (per determinare le equazioni di vincolo) e una di
postprocessing ( per determinare la posizione assoluta degli elementi).
Nel caso di sistemi multibody planari nella formulazione con coordinate relative le equazioni
di vincolo rappresentano le equazioni di chiusura dei loop cinematici.
Un esempio di rappresentazione di meccanismi che fa uso delle coordinate relative `e quello
in cui i sistemi di riferimento solidali ai vari elementi del meccanismo sono fissati facendo uso
della convenzione di Denavit Hartenberg [3].

2.2.1 Alcuni esempi


Nel caso di un meccanismo a catena cinematica aperta, come ad esempio il robot planare a
tre gradi di libert`a mostrato in figura 2.2, non sono necessarie equazioni di vincolo.
Nel quadrilatero articolato mostrato in figura 2.3, la configurazione `e descritta per mezzo
delle tre rotazioni 1 , 2 , 3 . Il meccanismo ha un grado di libert`a ed `e quindi necessario
scrivere due equazioni di vincolo. E possibile definire la seguente equazione vettoriale:

OA + AB + BD OD = 0 ,

(2.1)

da cui si ricavano le seguenti equazioni scalari:


L1 cos 1 + L2 cos(1 + 2 ) + L3 cos(1 + 2 + 3 ) OD = 0 ,

(2.2)

L1 sin 1 + L2 sin(1 + 2 ) + L3 sin(1 + 2 + 3 ) = 0 .

(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)

CAPITOLO 2. RAPPRESENTAZIONE DEGLI ELEMENTI DI UN SISTEMA MULTIBODY18

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.

CAPITOLO 2. RAPPRESENTAZIONE DEGLI ELEMENTI DI UN SISTEMA MULTIBODY19

Figura 2.4: Schema cinematico di quadrilatero articolato con giunto prismatico, rappresentazione della
configurazione per mezzo di coordinate relative.

da cui si ricavano le seguenti equazioni scalari:


L1 cos 1 + 3 cos(1 + 2 ) + L3 cos(1 + 2 /2) OD = 0 ,

(2.5)

L1 sin 1 + 3 sin(1 + 2 ) + L3 sin(1 + 2 /2) = 0 .

(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.

2.3 Sistemi piani: coordinate generalizzate


In questo paragrafo descriveremo una procedura per la definizione di un set di coordinate
assolute e dipendenti per caratterizzare in modo univoco la configurazione dei sistemi multibody
piani.
Il vantaggio di questo tipo di rappresentazione `e che permette di definire le coordinate
in modo sistematico e quindi `e facilmente automatizzabile ed implementabile nei simulatori
numerici.
Come noto un corpo rigido nello spazio ha tre gradi di libert`a, in altri termini sono necessarie
tre informazioni (coordinate) per descrivere in modo univoco la posizione di ogni punto ad
esso solidale.
Al generico corpo rigido i-esimo `e associato un sistema di riferimento Oi xi yi zi , ad esso
solidale, avente lorigine Oi coincidente con il centro di massa Gi del corpo stesso, come
mostrato in Fig. 2.5. La posizione e lorientazione del corpo i `e univocamente determinata una
volta che siano note le due coordinate del centro di massa e lorientazione della terna Oi xi yi zi
rispetto alla terna base OXY Z. Possiamo quindi definire come coordinate generalizzate
del corpo i, le seguenti tre quantit`a:
q3i2 , q3i1 :

coordinate del centro di massa Gi rispetto al sistema di riferimento di base;

CAPITOLO 2. RAPPRESENTAZIONE DEGLI ELEMENTI DI UN SISTEMA MULTIBODY20


yi K

Y 6

xi

q3i
...
q3i1 ...............................................................
... Gi
Oi
...
... i
corpo
...
...
...
...
...
...
...
...
...
..
q
3i2
O
X

Figura 2.5: Coordinate generalizzate


q3i :

angolo formato tra gli assi X e xi misurato a partire da X e


positivo in senso antiorario (Z positiva).

Se xP e y P sono le coordinate, rispetto al sistema di riferimento locale Oi xi yi zi , di un generico


punto P appartenente al corpo i, come mostrato in Fig. 2.6, la trasformazione:
X P = q3i2 + xP cos q3i y P sin q3i
Y P = q3i1 + xP sin q3i + y P cos q3i

(2.7)
(2.8)

permette di esprimere le coordinate di P nel sistema di riferimento di base.


xP cos q3i y P sin q3i
z }| {
....
....
...
...
Y 6 yi K
... P
...

Y P ...............................................................................................
......

.
... .
....

.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
P
*
.
.
.
.
y
... ..
...
xi
xp sin q31 + y p cos q3i
... ..
...

q3i

.... xP
....

...
...

.
.
.
q3i1 ....................................................................................
.
.
O.... i ....
...
...
...
...
...
...
....
....
...
...
...
... q3i2 X P X
O

Figura 2.6: Trasformazione di coordinate tra terna mobile e terna fissa


Le Eq. (2.7),(2.8), possono essere scritte in forma pi`u compatta definendo la matrice di

CAPITOLO 2. RAPPRESENTAZIONE DEGLI ELEMENTI DI UN SISTEMA MULTIBODY21


rotazione Ri :

Ri =

cos q3i sin q3i


sin q3i cos q3i

Con notazione matriciale possiamo quindi scrivere:


P
p

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.

3.2 Matrice di rotazione - coseni direttori


Supponiamo di avere due terne Ox0 y 0 z 0 e Oxyz, aventi origine comune in O, e di volerne
descrivere lorientazione relativa.
Siano i0 , j0 , k0 i versori degli assi del sistema di riferimento Ox0 y 0 z 0 e i, j, k, i versori degli
assi del sistema di riferimento Oxyz.
Scomponendo il versore i0 lungo le tre direzioni dei versori i, j, k si ottiene la seguente
relazione:
(3.1)
i0 = i0x i + i0y j + i0z k .
Analogamente, per i versori j0 e k0 si ottiene:
j0 = jx0 i + jy0 j + jz0 k
k0 = kx0 i + ky0 j + kz0 k .

22

(3.2)
(3.3)

CAPITOLO 3. CINEMATICA DEL CORPO RIGIDO NELLO SPAZIO

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

R = i0 j0 k0 = i0y jy0 ky0


(3.4)
0
0
0
iz jz kz
Proiettando ognuna delle tre equazioni (3.1), (3.2), (3.3) lungo le direzioni dei versori i,
j, k, si ottengono nove relazioni del tipo:
T

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.

3.2.1 Espressione di R per rotazioni attorno agli assi coordinati


Ricaviamo adesso le espressioni della matrice R nel caso in cui la terna mobile sia ruotata,
rispetto alla terna fissa, di un certo angolo attorno ad uno degli assi coordinati (della terna
fissa).
3.2.1.1

Rotazione attorno a z

y'

y
x'

j'
i'

x
O
k

k'

z'

Figura 3.1: Rotazione attorno a z.


Con riferimento alla figura 3.1, supponiamo che la terna Ox0 y 0 z 0 abbia lasse z 0 coincidente
con lasse z e che lasse x0 sia ruotato di un angolo rispetto allasse x. Dalla coincidenza
degli assi z e z 0 segue che k0 = k = [0 0 1]T . I versori i0 e j0 valgono invece:

c
i0 = s
0

s
j0 = c .
0

CAPITOLO 3. CINEMATICA DEL CORPO RIGIDO NELLO SPAZIO


Assemblando la matrice R otteniamo:

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'

Figura 3.2: Rotazione attorno a x.


Assemblando la matrice R otteniamo:
R = Rx () =

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)

CAPITOLO 3. CINEMATICA DEL CORPO RIGIDO NELLO SPAZIO


y

y'

j'

25

x'
i'

k'

z'

Figura 3.3: Rotazione attorno a y.

3.2.2 Cambio di coordinate tra due terne con la stessa origine

OP
6z

z0 M

y0
1
-

x0

Figura 3.4: Cambio di coordinate tra terne ad origine comune.


Supponiamo di conoscere le coordinate [p0x p0y p0z ]T di un punto P dello spazio rispetto ad
un sistema di riferimento Ox0 y 0 z 0 e di voler calcolare le coordinate [px py pz ]T dello stesso
punto rispetto ad un altro sistema di riferimento Oxyz, avente la stessa origine del primo
sistema di riferimento, come mostrato in Fig. 3.4.

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

px = p0x i0 i + p0y j0 i + p0x k0 i


py = p0x i0 j + p0y j0 j + p0x k0 j
pz =

T
p0x i0 k

(3.10)

CAPITOLO 3. CINEMATICA DEL CORPO RIGIDO NELLO SPAZIO


Non `e difficile riconoscere che le Eq. 3.10
come segue:

0T
i i
px
py = i0 T j
pz
i0 T k

26

possono essere anche scritte in forma matriciale


0
j0 T i k 0 T i
px
j0 T j k0 T j p0y
p0z
j0 T k k 0 T k

(3.11)

o anche, in modo pi`u compatto:


p = Rp0 ,
(3.12)

dove p = [px py pz ]T `e il vettore posizione OP espresso nel sistema di riferimento Oxyz e

p0 = [p0x p0y p0z ]T `e il vettore posizione OP espresso nel sistema di riferimento Ox0 y 0 z 0 .

3.2.3 Propriet`a della matrice di rotazione


3.2.3.1

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

La (3.14) pu`o essere dimostrata come segue:


0T
0T 0 0T 0 0T 0

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)

Ortogonalit`a di R: altra dimostrazione

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)

`e possibile scrivere le coordinate di ~r e ~s rispetto al sistema di riferimento 0 in funzione delle


coordinate rispetto al sistema di riferimento 1, tramite la matrice di rotazione.
kr0 s0 k = k[R10 ](r1 s1 )k =
q
=
([R10 ](r1 s1 ))T ([R10 ](r1 s1 )) =
q
(r1 s1 )T [R10 ]T [R10 ](r1 s1 )
=

(3.17)

CAPITOLO 3. CINEMATICA DEL CORPO RIGIDO NELLO SPAZIO

27

Figura 3.5: dimostrazione della propriet`a di ortogonalit della matrice di rotazione.


Per definizione risulta inoltre:
kr1 s1 k =

(r1 s1 )T (r1 s1 )

(3.18)

Quindi si verifica immediatamente che:


[R10 ]T [R10 ] = I
3.2.3.3

(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

Composizione di rotazioni successive in terna corrente

Supponiamo di avere tre terne con origine comune:


Ox0 y0 z0 , terna base;
Ox1 y1 z1 terna ottenuta dalla 0 a seguito di una rotazione R10 (specificata in terna 0);

CAPITOLO 3. CINEMATICA DEL CORPO RIGIDO NELLO SPAZIO

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)

Sostituendo lespressione (3.23) di p1 nella (3.22) si ottiene:


p0 = R10 R21 p2

(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)

La (3.26) `e la legge di composizione di rotazioni successive in terna corrente. Generalizzando,


se abbiamo n + 1 terne, numerate da 0 ad n, ognuna legata alla precedente da una matrice
Rii1 , la matrice di rotazione che esprime lorientazione dellultima terna rispetto alla prima,
assunta come terna base, `e data da:
n2 n1
Rn0 = R10 R21 . . . Rn1
Rn

3.2.3.5

(3.27)

Composizione in terna fissa

Supponiamo di avere tre terne ad origine comune:


Ox0 y0 z0 , terna base;
Ox1 y1 z1 terna ottenuta dalla terna 0 a seguito di una rotazione 0R10 (specificata in terna
0, indicata nellapice sinistro);
Ox2 y2 z2 terna ottenuta dalla terna 1 a seguito di una rotazione 0R21 (anchessa specificata
in terna 0).
Per ottenere la legge di composizione delle due rotazioni, sfruttiamo la conoscenza della legge di
composizione in terna corrente: la rotazione complessiva pu`o essere vista come una successione
delle seguenti rotazioni, tutte specificate in terna corrente:
rotazione R1 = 0R10 che porta la terna 0 sulla terna 1;
rotazione R2 = (0R10 )T che riporta la terna 1 sulla terna 0;
rotazione R3 = 0R21 che impone alla terna corrente la seconda rotazione;
rotazione R4 = 0R10 che recupera la rotazione R2 = (0R10 )T .
Applicando la regola di composizione in terna corrente otteniamo:
R20 = R1 R2 R3 R4 = R3 R4 = 0R21 0R10
| {z }

(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.

CAPITOLO 3. CINEMATICA DEL CORPO RIGIDO NELLO SPAZIO

29

3.2.4 Angoli di Eulero


Supponiamo di dover descrivere lorientazione relativa di una terna Ox1 y1 z1 (che diremo convenzionalmente terna mobile) rispetto ad una terna Oxyz (che diremo convenzionalmente
terna base). Il metodo degli angoli di Eulero permette di scomporre la rotazione finale in
una composizione di tre rotazioni elementari (rispetto ad assi coordinati) specificate in terna
corrente.
Esistono 12 possibili definizioni degli angoli di Eulero, noi esamineremo gli angoli di Eulero
di tipo ZY Z. Il nome ZY Z discende dal fatto che si usano tre rotazioni elementari successive
attorno agli assi Z, Y , Z della terna corrente.
z
z'' z 1

y1

y'

x'

x1
x''

Figura 3.6: Angoli di Eulero.


Descriviamo adesso in dettaglio il metodo.
Date le terne Oxyz e Ox1 y1 z1 , come mostrato in Fig.3.6 identifichiamo la retta intersezione tra il piano xy e il piano x1 y1 : tale retta si dice linea dei nodi. (Fig.
3.7)
Eseguiamo una prima rotazione della terna Oxyz di un algolo attorno allasse z, fino
a che lasse y non coincida con la linea dei nodi, come mostrato in Fig.3.8, ottenendo la
nuova terna corrente Ox0 y 0 z 0 che ha lasse y 0 lungo la linea dei nodi e lasse z 0 coincidente
con lasse z. Langolo e` langolo formato dallasse y e dalla linea dei nodi, scelto
positivo se concorde con z.
Eseguiamo una rotazione della terna Ox0 y 0 z 0 di un angolo attorno allasse y 0 , fino a
che lasse z 0 non coincida con lasse z1 , come mostrato in Fig.3.8 ottenendo una nuova
terna corrente Ox00 y 00 z 00 che ha lasse z 00 coincidente con lasse z1 e gli assi x00 e y 00 nel
piano x1 y1 . Langolo e` langolo formato dallasse z e dallasse z1 , scelto positivo se
concorde con y 0 .
Eseguiamo infine una rotazione della terna Ox00 y 00 z 00 di un angolo attorno allasse
z 00 , fino a che lasse x00 non sia coincidente con lasse x1 , come mostrato in Fig.3.8.c:

CAPITOLO 3. CINEMATICA DEL CORPO RIGIDO NELLO SPAZIO

z z'

y'
O

x'

Figura 3.7: Angoli di Eulero: linea dei nodi.

z
z''

y'
O

y''

x'
x''

Figura 3.8: Rotazioni di Eulero: rotazioni e .

30

CAPITOLO 3. CINEMATICA DEL CORPO RIGIDO NELLO SPAZIO

31

a questo punto la terna corrente `e coincidente con la terna Ox1 y1 z1 . Langolo e`


langolo formato dallasse y1 e dalla linea dei nodi orientata come y 0 , scelto positivo
se concorde con z1 .
3.2.4.1

Dagli angoli di Eulero alla matrice di rotazione

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

Dalla Matrice di rotazione agli angoli di Eulero

E data la matrice di rotazione:

r1,1 r1,2 r1,3


R = r2,1 r2,2 r2,3
r3,1 r3,2 r3,3

(3.30)

si vogliono determinare i corrispondenti angoli di Eulero.


Confrontando la (3.29) con la (3.30) si osserva che:
r1,3 = cs ,
r2,3 = ss ,
supponendo che s 6= 0 `e possibile calcolare in questo modo:
= atan2(r2,3 , r1,3 ).

(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

CAPITOLO 3. CINEMATICA DEL CORPO RIGIDO NELLO SPAZIO


langolo pu`o essere calcolato in questo modo:
q
2
2
= atan2( r1,3
+ r2,3
, r3,3 ) .

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)

langolo sarebbe stato definito in questo modo:


= atan2(r3,2 , r3,1 ) .

(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.

3.2.5 Rappresentazione asse/angolo


Consideriamo due sistemi di riferimento con origine comune Ox1 y1 z1 (che diremo convenzionalmente terna mobile) e Oxyz (che diremo convenzionalmente terna base). E possibile
dimostrare che si pu`o passare dalla terna fissa alla terna mobile effettuando una rotazione
di un angolo rispetto ad un asse definito dal versore le cui componenti, nel sistema di
riferimento fisso, sono [x , y , z ]T .
Calcoliamo le componenti della matrice di rotazione tra la terna fissa e la terna mobile in
funzione delle componenti del vettore e langolo . Indichiamo con langolo della proiezione
del vettore sul piano xy e lasse x, indichiamo con langolo tra il versore e lasse z.
Per portare la terna Oxyz a coincidere con la terna Ox1 y1 z1 possiamo fare le seguenti
rotazioni:
ruotiamo di un angolo pari a intorno allasse z, in questo modo portiamo il versore
sul piano xz;
ruotiamo di un angolo pari a intorno allasse y, in questo modo portiamo il versore
a coincidere con lasse z;
ruotiamo intorno allasse z di un angolo ;
ruotiamo intorno allasse y di un angolo pari a ;

CAPITOLO 3. CINEMATICA DEL CORPO RIGIDO NELLO SPAZIO

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

La matrice di rotazione pu`o quindi essere scritta in questo modo:

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.2.6 Parametri di Eulero


Consideriamo un corpo rigido che ruota intorno ad un punto fisso. Sia Oxyz una terna fissa,
rispetto alla quale vogliamo descrivere il moto del corpo rigido e Ox0 y 0 z 0 una terna solidale al
corpo rigido. Le due terne hanno origine comune in O.
Si `e visto nel paragrafo precedente che per portare la terna Oxyz a coincidere con la terna
0 0 0
Ox y z `e sufficiente effettuare una rotazione di un angolo rispetto a un certo asse . Le
componenti del versore possono essere espresse nel sistema di riferimento fisso:
= x i + y j + z k .

(3.43)

I PARAMETRI DI EULERO sono quindi definiti in questo modo:


1 = x sin(/2)
2 = y sin(/2)
3 = z sin(/2)
4 = cos(/2)

,
,
,
.

(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 .

CAPITOLO 3. CINEMATICA DEL CORPO RIGIDO NELLO SPAZIO


3.2.6.1

34

Matrice di rotazione e parametri di Eulero

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 )

3.3 Velocit`a di un corpo rigido nello spazio


3.3.1 Derivata rispetto al tempo della matrice di rotazione
Consideriamo un corpo B che ruota intorno ad un punto fisso O, sia Ox1 y1 z1 un sistema di
riferimento ad esso solidale, sia Ox0 y0 z0 il sistema di riferimento di base. Consideriamo quindi
un punto P solidale al corpo B, siano:
0
px
p = p0y
(3.50)
0
pz
le sue coordinate rispetto alla terna fissa. La velocit`a di P `e data da:
p =

dp
= p = [
]p .
dt

Ricordiamo che la matrice [


] `e cos`definita:

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)

Derivando membro a membro lequazione (3.53) si ha:


1
p = [R]p 1 + [R]p

(3.55)

ma essendo il punto P solidale al corpo B risulta p 1 = 0, per cui risulta:


1
p = [R]p

(3.56)

Confrontando la (3.56) con la (3.54) si ottiene:


= [
[R]
][R] .

(3.57)

CAPITOLO 3. CINEMATICA DEL CORPO RIGIDO NELLO SPAZIO

35

3.3.2 Velocit`a angolare e angoli di Eulero


Consideriamo un corpo rigido che ruota intorno a un punto fisso O con velocit`a angolare
~ . Sia
quindi la rappresentazione del vettore
~ nel sistema di riferimento fisso Oxyz. Utilizziamo
la regola di addizione delle velocit`a angolari per esprimere in funzione delle derivate degli
,
.

angoli di Eulero ,
La rotazione del corpo rigido con velocit`a pu`o essere vista come risultante di tre rotazioni:

una rotazione intorno allasse z con velocit`a angolare ;


una rotazione intorno allasse y 0 con velocit`a angolare

una rotazione intorno allasse z1 con velocit`a angolare .


In altri termini:

+ 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)

analogamente per il versore z1 risulta:

cos () sin ()

sin
()
sin
()
z1 =

cos ()

Sostituendo le (3.59) e (3.60) nella (3.58) si ottiene quindi:

cos () sin ()
sin

+ cos + sin () sin ()


= k

0
cos ()

0 sin cos () sin ()

0 cos sin () sin ()


=

1
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.

CAPITOLO 3. CINEMATICA DEL CORPO RIGIDO NELLO SPAZIO

36

3.3.3 Velocit`a angolare e parametri di Eulero


Consideriamo lespressione della derivata della matrice di rotazione definita in precedenza
(equazione (3.57)):
= [
[R]
][R] ,
post-moltiplichiamo per la trasposta della matrice di rotazione:
T

[R][R]
= [
][R][RT ] ,
ricordando che [R][R]T = [I], si ha:
T

[R][R]
= [
] .

Gli elementi della matrice [


] rappresentano le componenti del vettore :

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 ) ;

CAPITOLO 3. CINEMATICA DEL CORPO RIGIDO NELLO SPAZIO

37

sviluppando i prodotti e ricordando poi che risulta 21 + 22 + 23 + 24 = 1 si ricava facilmente


che:
1 = 2(4 1 3 2 + 2 3 1 4 ) .
E possibile verificare inoltre che risulta:
[E]1 = E T
e che quindi lespressione (3.68) pu`o essere

1
2

3 =
4

invertita in questo modo:

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.

3.3.4 Coordinate generalizzate e velocit`a generalizzate


Per lanalisi della cinematica e della dinamica dei sistemi multibody abbiamo visto che `e
necessario definire, per ogni corpo rigido, un set di almeno sei coordinate, dette coordinate
generalizzate, in grado di descrivere completamente la posizione e lorientazione del corpo nello
spazio. Sia quindi qi il vettore delle coordinate generalizzate relative al corpo i, contenente la
posizione del baricentro del corpo rispetto alla terna base e gli angoli di Eulero che descrivono
lorientazione della terna baricentrica rispetto agli assi della terna base:

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:

vincoli strutturali dovuti alla presenza delle coppie cinematiche,


dal punto di vista matematico sono caratterizzati dal fatto di non
avere dipendenza esplicita dal tempo. In altri termini, questi
tipi di vincolo saranno rappresentati da una relazione del tipo
k (q) = 0.

Reonomi:

vincoli dovuti alle leggi di moto assegnate ad alcuni membri


del meccanismo. Questo tipo di vincolo `e rappresentato da
una relazione in cui compare esplicitamente il tempo, del tipo
k (q, t) = 0.

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.

4.1.2 Gradi di libert`a nei sistemi piani


Consideriamo un meccanismo piano composto da l corpi rigidi (compreso il telaio) mutuamente
vincolati da j1 coppie elementari1 e j2 coppie superiori.
1

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

CAPITOLO 4. CINEMATICA DEI SISTEMI PIANI

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)

Questa relazione vale nel caso di configurazioni non singolari.


In totale, per i vincoli scleronomi, sar`a possibile scrivere un numero di equazioni di vincolo
pari a 2j1 + j2 . Nelle equazioni di vincolo compariranno le 3(l 1) coordinate generalizzate
del sistema.
Affinche il problema dellanalisi cinematica del meccanismo possa essere risolto, dovranno
essere fornite F = 3(l 1) 2j1 j2 equazioni corrispondenti ai vincoli reonomi presenti
(leggi di moto).

4.1.3 Equazioni di vincolo


Lanalisi cinematica del meccanismo (in termini di definizione della configurazione del sistema
durante il moto) si esaurisce quindi con la soluzione numerica delle equazioni ordinarie non
lineari simultanee:
k (q, t) = 0 , k = 1, . . . , 3(l 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

Esempio 1: quadrilatero articolato

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

F = 3(l 1) 2j1 j2 = 3(4 1) 2 4 = 1


Figura 4.1: Quadrilatero articolato

CAPITOLO 4. CINEMATICA DEI SISTEMI PIANI

40

Figura 4.2: Manovellismo di spinta


4.1.3.2

Esempio 2: Manovellismo di spinta

Supponiamo di voler eseguire lanalisi cinematica di un manovellismo di spinta col metodo


delle equazioni di vincolo: anche in questo caso si devono scrivere 8 equazioni di vincolo (due
per ognuna delle coppie rotoidali) e 1 equazione di moto per un totale di 9 equazioni.

4.1.4 Configurazione del meccanismo


Le (4.2), raccolte in un sistema, si possono scrivere come:
(q, t) = 0 ,

(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)

avendo definito la matrice [q (q)] come:


(q, t)
(4.6)
q
ovvero la matrice Jacobiana della funzione non lineare (q), valutata nella configurazione
qi . Supponendo di conoscere una configurazione approssimata qi , per mezzo della (4.5) `e
possibile determinare una nuova stima della configurazione:

,
(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

CAPITOLO 4. CINEMATICA DEI SISTEMI PIANI

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.1.5 Velocit`a del meccanismo


Se deriviamo la 4.3 rispetto al tempo otteniamo:
(q, t)
(q, t)
d
=
q +
=0 .
dt
q
t

(4.9)

Ricordando la definizione della matrice Jacobiana:


[q ] =
e definendo il vettore
t =

(q, t)
q

(q, t)
t

(4.10)

(4.11)

CAPITOLO 4. CINEMATICA DEI SISTEMI PIANI

42

la (4.9) pu`o essere riscritta:


[q ]q = t

(4.12)

La (4.12) rappresenta un sistema di 3(l 1) equazioni in 3(l 1) incognite (le componenti


di tipo lineare, la cui soluzione, se la matrice [q ] risulta non singolare (se cio`e
del vettore q),
il suo determinante `e diverso da zero), risulta data da:
q = [q ]1 t

(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.

4.1.6 Accelerazioni del meccanismo


Per quanto riguarda le accelerazioni, derivando rispetto al tempo il primo membro della (4.12),
si ottiene:
d

=
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)

Ricordando che [q,t ] = [t,q ] e definendo il vettore come:


=

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)

4.2 Coppie cinematiche elementari


Nei prossimi paragrafi verranno in dettaglio definite le equazioni di vincolo relative alle principali
coppie cinematiche.

4.2.1 Coppia rotoidale


Come `e noto la coppia rotoidale permette solo la rotazione relativa tra i due membri che
collega; nel caso piano tale coppia toglie due gradi di libert`a al sistema e, quindi `e necessario
scrivere due equazioni di vincolo che legano tra di loro le due terne di coordinate generalizzate
dei due membri collegati.
Con riferimento alla figura 4.4, siano i e j i due corpi rigidi vincolati dalla coppia rotoidale
e sia il punto A la traccia nel piano del moto dellasse di rotazione della coppia. Le coordinate

CAPITOLO 4. CINEMATICA DEI SISTEMI PIANI

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

Figura 4.4: Giunto rotoidale


assolute del punto A visto come appartenente al corpo i devono coincidere con quelle dello
stesso punto A, ma visto come appartenente al corpo j. In altri termini esprimiamo le coordinate assolute del punto A una volta attraverso il sistema Oi xi yi zi e una volta attraverso
il sistema Oj xj yj zj ed imponiamo che coincidano. Le due equazioni di vincolo si scrivono
dunque:
XiA XjA = 0

(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)

e quindi le equazioni di vincolo diventano:


A
A
A
k = q3i2 + xA
i cos q3i yi sin q3i [q3j2 + xj cos q3i yj sin q3j ] , (4.22)
A
A
A
k+1 = q3i1 + xA
i sin q3i + yi cos q3i [q3j1 + xj sin q3i yj cos q3j ] . (4.23)

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:

CAPITOLO 4. CINEMATICA DEI SISTEMI PIANI


k
k+1

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)

Dalla definizione di [q ] (??) otteniamo i risultati riassunti nella tabella 5.2


Dalla definizione di (4.16) otteniamo:
2
2
(q3i2 XiA ) q3j
(q3j2 XjA )]
(k) = [q3i

(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.

4.2.2 Coppia prismatica


Anche la coppia prismatica toglie, nel caso piano, due gradi di libert`a al sistema; con il metodo
delle equazioni di vincolo si scrivono dunque due equazioni che legano tra di loro le coordinate
generalizzate dei due corpi tra loro vincolati. In riferimento alla seguente figura si impongono
le due seguenti condizioni:
I due punti Ai e Bi appartenenti al corpo i ed il punto Cj appartenente al corpo j
devono essere allineati lungo lasse della coppia.
Tra i due corpi non `e possibile la rotazione relativa cio`e le due coordinate q3i e q3j
differiscono di una quantit`a ij .
In altri termini:

A
Xi YiA 1

B
k = Xi YiB 1 = 0
XjC YjC 1

(4.28)

k+1 = q3i q3j ij = 0 .

(4.29)

Svolgendo il determinante indicato nelleq. 4.28, si ottiene:


k = XiA (YiB YjC ) YiA (XiB XjC ) + XiB YjC YiB XjC =
= XiA YiB XiA YjC YiA XiB + YiA XjC + XiB YjC YiB XjC

(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.

CAPITOLO 4. CINEMATICA DEI SISTEMI PIANI

45

yi K
xi *

Y 6
YP

Cj
Ai
...i.....
q3i1...................O
...
yY
...
j
...
...
q3j1......................................................................
... Oj
...
...
...
....
....
...
...
...
...
...
...
.
.
q3j2
q3i2
O

xj

Bi

Figura 4.5: Giunto prismatico

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

CAPITOLO 4. CINEMATICA DEI SISTEMI PIANI

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)

4.3 Vincoli elementari


Spesso nellanalisi cinematica di un sistema multibody `e necessario imporre vincoli che non
sono direttamente riconducibili a coppie cinematiche. Fanno parte di questa categoria di vincoli
quelli, per esempio, che consistono nellimporre che due punti appartenenti a due corpi diversi
mantengano fissa la loro distanza. I vincoli in oggetto si distinguono in vincoli di moto assoluto
e vincoli di moto relativo.

4.3.1 Vincoli di moto assoluto


VINCOLO DI DISTANZA DA UN PUNTO FISSO
Si impone che il punto M appartenente al generico corpo i mantenga inalterata la sua distanza
dAM da un generico punto A solidale al sistema di riferimento inerziale.
Le coordinate M nel sistema inerziale sono espresse da (2.10):
M

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)

lequazione di vincolo pu essere scritta:


k = dT d d2AM = 0 .

(4.35)

VINCOLI SULLE COORDINATE CARTESIANE


Talvolta, in un modello multibody di un meccanismo, risulta utile introdurre equazioni vincolari
direttamente agenti sulle coordinate di un punto M di un corpo i. Per esempio si pu`o imporre
che lascissa (o lordinata) del punto M sia pari ad un valore prefissato dx (o dy ).
Le equazioni di vincolo si scrivono immediatamente come:
kax = XiM dx = q3i2 + xM cos q3i y M sin q3i dx = 0 ,

(4.36)

kay = YiM dy = q3i2 + xM sin q3i + y M cos q3i dy = 0 .

(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

CAPITOLO 4. CINEMATICA DEI SISTEMI PIANI

47

yi M
Y 6
1

xi

yiM

xM
i

Oi

XiM

Figura 4.6: Vincolo sullascissa


Si pu`o pensare che le distanze dx e dy non siano fisse, ma variabili nel tempo, cio`e che sia
dx =dx (t) e dy = dy (t). In tal caso gli elementi dei vettori e t introdotti da questi due
vincoli risultano:
ax
ax
t ax
t ay

=
=
=
=

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)

VINCOLO SULLA POSIZIONE ANGOLARE


Se vogliamo imporre la posizione angolare i di un corpo i rispetto al sistema di riferimento
assoluto, le equazioni da scrivere risultano:
ka = q3i i = 0
h
i

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)

4.3.2 Vincoli di moto relativo


VINCOLO DI DISTANZA TRA DUE PUNTI APPARTENENTI A CORPI DIVERSI
I due punti Mi e Mj appartenenti rispettivamente al corpo i e al corpo j devono mantenere

CAPITOLO 4. CINEMATICA DEI SISTEMI PIANI

48

yi M
Y 6
1

xi

i
................................
Oi

XiM

Figura 4.7: Vincolo sulla posizione angolare


inalterata la loro distanza dij diversa da zero.
Esprimendo le coordinate Mi e Mj nel sistema OXY Z (vedi eq.

2.10), se definiamo il

dij

yi O

yj

Oi

Mj

Mi :
xi

Oj

rj

ri

xj R
-

Figura 4.8: Vincolo sulla distanza tra due punti


vettore distanza tra i due punti come:

XiM XjM
YiM YjM

(4.49)

k = dT d d2ij = 0 .

(4.50)

d=
lequazione di vincolo pu`o essere scritta:

VINCOLI SULLE COORDINATE CARTESIANE RELATIVE


In maniera del tutto simile a quanto fatto per le coordinate assolute di un punto si possono
ricavare le equazioni di vincolo sulle coordinate relative di due punti appartenenti a corpi diversi.

CAPITOLO 4. CINEMATICA DEI SISTEMI PIANI

49

4.4 Coppie superiori


Anche le coppie superiori (camme, ingranaggi...) possono essere trattate con il metodo delle
equazioni di vincolo. Con riferimento alla figura precedente si introducono due ulteriori sistemi
Y 6

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
-

Figura 4.9: Coppie superiori


di riferimento solidali con i due corpi formanti la coppia superiore (Pi xik yik zik e Pj xjk yjk zjk );
tali sistemi di riferimento, rispetto ai quali si suppone di conoscere le equazioni parametriche
dei due profili Ci e Ci , hanno origine, rispettivamente, nei punti Pi e Pj e sono orientati come
i due corrispondenti sistemi con origine nei baricentri (Oi xi yi zi e Oj xj yj zj ). Le coordinate di
un generico punto M appartenente al profilo Ci sono dunque espresse dalle seguenti equazioni
parametriche nel riferimento Pi xik yik zik :
xM
= ri (i ) cos i
ik
M
yik
= ri (i ) sin i ,

(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

CAPITOLO 4. CINEMATICA DEI SISTEMI PIANI

50

le cui coordinate sono espresse nel sistema Oi xi yi zi . Se definiamo loperatore matriciale R:

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)

le cui coordinate sono, ancora una volta, espresse nel sistema Oi xi yi zi .


Per mezzo della matrice Ri si possono esprimere le componenti del vettore tangente e
normale al profilo Ci in M nel sistema fisso OXY Z.
ti = Ri ti (i)

(4.60)

ni = Ri ni (i)

(4.61)

Le condizione di contatto dei due profili Ci e Cj risultano dunque le seguenti:


1. le coordinate del punto M visto una volta appartenente al profilo Ci e una volta
appartenente al profilo Cj devono essere uguali, ovvero:
M

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)

Si riscrivono dunque 3 equazioni di vincolo, bench`e il vincolo di tipo superiore tolga un


solo grado di libert`a al sistema . Questo `e dovuto al fatto che al vettore q delle coordinate
generalizzate del sistema si devono aggiungere le due variabili i e j che descrivono la posizione
del punto di contatto. In altri termini lanalisi di posizione permette di individuare i e j e
qundi leffettivo punto di contatto che abbiamo assunto noto allinizio di questa trattazione.
Esplicitando le espressioni precedenti rispetto alle coordinate generalizzate si ottiene:

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
.

CAPITOLO 4. CINEMATICA DEI SISTEMI PIANI

51

rj *
j

k
ri

Figura 4.10: Coppia di ingranaggi e portatreno

4.5 Coppia ad ingranaggi


Senza far ricorso alla procedura generale del paragrafo precedente, sviluppiamo quindi una
trattazione semplificata di questa coppia superiore. In questa trattazione non si utilizzano i
profili dei denti per scrivere le equazioni di vincolo derivanti dal contatto di due di essi, ma si
fa uso delle polari del moto della ruota i e della ruota j. Le due polari i e j sono mantenute a
contatto dal corpo k, il portatreno. La condizione di vincolo si pu`o esprimere imponendo che
le velocit`a relative al portatreno nel punto di contatto siano uguali:
ik ri = jk rj

(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)

da cui, sostituendo nella 4.66, si ottiene:


rj
q3i q3k
= .
q3j q3k
ri

(4.69)

La (4.69) `e la ben nota formula di Willis.


z
r
Posto = rji = zji , con zi e zj numero dei denti (il segno + si riferisce alle ruote interne,
il segno si riferisce alle ruote esterne), si pu`o scrivere:
q3i q3k = q3j q3k

(4.70)

q3i q3j + ( 1) q3kj = 0

(4.71)

da cui:

CAPITOLO 4. CINEMATICA DEI SISTEMI PIANI

52

Integrando rispetto al tempo lequazione (4.71) si ottiene lequazione di vincolo cercata:


0
0
0
k = (q3i q3i
) (q3j q3j
) + ( 1)(q3k q3k
)=
ri
rj ri
0
0
0
= (q3i q3i
) (q3j q3j
)+
(q3k q3k
)
rj
ri

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).

4.6 Esempio: robot planare a due gradi di libert`a


Sono imposte le due leggi di moto q3 = h(t), q6 = g(t). Le equazioni di vincolo strutturale
derivano dalle due coppie rotoidali; per una coppia rotoidale si pu`o scrivere:
A
A
A
k = q3i2 + xA
i cos q3i yi sin q3i [q3j2 + xj cosq3i yj sin q3j ]

k+1 = q3i1 +
xA
i ,

yiA

xA
j

xA
i

sin q3i +

yiA

cos q3i [q3j1 +

yjA

xA
j

sin q3i

yjA

(4.73)

cos q3j ] . (4.74)

sono le coordinate della traccia dellasse della coppia nei sistemi


e
e
dove
Oi xi yi zi e Oj xj yj zj . Nel nostro caso risulta, per la coppia rotoidale in A:
A
xA
i = x1 = L ,
yiA = y1A = 0 ,
A
xA
j = Xj = 0 ,

yjA = YjA = 0 ,

CAPITOLO 4. CINEMATICA DEI SISTEMI PIANI


Y
A

53
x2

y1

q3

q6

O1 = (q1 , q2 )
O2 = (q4 , q5 )

O2

O1
2L

y2

2L

B
x1

Figura 4.11: Manipolatore planare a due gradi di libert`a.


per cui le prime due equazioni di vincolo sono le seguenti:
q1 L cos q3 = 0 ,
q2 L sin q3 = 0 .
Per la coppia rotoidale in B si ha:
B
xB
i = x1 = L ,
yiB = y1B = 0 ,
B
xB
j = x2 = L ,

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)

CAPITOLO 4. CINEMATICA DEI SISTEMI PIANI

54

Figura 4.12: Manovellismo di spinta centrato: schema cinematico


ed il vettore t :

t =

0
0
0
0
h(t)
g(t)

Ed infine, derivando ancora una volta si ottiene il vettore :

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)

4.7 Esempio: Manovellismo di spinta centrato


In questo esempio si analizza, per mezzo della metodologia descritta, la cinematica di un
manovellismo di spinta centrato, schematizzato nella figura 4.12.
Il meccanismo `e costituito da quattro membri (compreso il telaio), collegati tra loro per
mezzo di tre coppie rotoidali (nei punti O, A e B) e da una coppia prismatica. Il meccanismo
ha complessivamente 1 grado di libert`a, dovranno pertanto essere scritte 8 equazioni di vincolo
scleronomo, corrispondenti alle quattro coppie cinematiche, e unequazione di vincolo reonomo.
I sistemi di riferimento solidali ad ogni membro e il sistema di riferimento di base sono
scelti come mostrato in figura. In particolare, per i membri 1 e 2 il sistema `e scelto con origine
nel punto medio del segmento che congiunge gli assi delle coppie rotoidali e lasse x `e scelto
lungo la direzione individuata dal segmento stesso. Il sistema di riferimento dellelemento 3
ha origine nel punto B, proiezione dellasse della coppia rotoidale che lo collega a 2, e lasse x
orientato secondo la direzione di traslazione consentita dalla coppia prismatica. Il sistema di
riferimento del membro 4 `e il sistema di riferimento di base e ha origine nel punto O.
Per gli elementi 2 e 3 si assumono lunghezze pari rispettivamente a 2 e 3.5.
Nella tabella 4.3 si riassumono i dati realtivi alle coppie rotoidali, i dati necessari per
scrivere le equazioni di vincolo sono le coordinate degli assi delle coppie rotoidali nei sistemi
di riferimento relativi ai membri che collegano.

CAPITOLO 4. CINEMATICA DEI SISTEMI PIANI


Membro i
1
1
2

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)

CAPITOLO 4. CINEMATICA DEI SISTEMI PIANI

56

per la coppia rotoidale in A:


3 = q1 + cos q3 q4 + 1.75 cos q6 = 0 ,
4 = q2 + sin q3 q5 + 1.75 sin q6 = 0 ;

(4.81)

per la coppia rotoidale in B:


5 = q4 + 1.75 cos q6 q7 = 0 ,
6 = q5 + 1.75 sin q6 q8 = 0 ;

(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)

CAPITOLO 4. CINEMATICA DEI SISTEMI PIANI

57

In sintesi, le equazioni di vincolo del meccanismo sono le seguenti:

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

E possibile quindi calcolare la matrice Jacobiana q =

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)
,

Il vettore , per il calcolo delle accelerazioni, `e dato da:

cos q3 q32
sin q3 q32

cos q3 q32 + 1.75 cos q6 q62

sin q3 q32 + 1.75 sin q6 q62

2
=
1.75 cos q6 q26
1.75 sin q6 q6

2q9 q7 cos q9 2q9 q8 sin q9 + q2 q7 sin q9 q2 q8 cos q9


9
9

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.

CAPITOLO 4. CINEMATICA DEI SISTEMI PIANI

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)

In questo esempio, si `e partiti da una configurazione iniziale (per t = 0) in cui q3 = 0


(punto morto superiore, vedi figura 4.13), il vettore iniziale delle configurazioni `e quindi il
seguente:

1
0

2.75

,
0
q(0) =
(4.92)

4.5

0
0

4.8 Esempio: quadrilatero articolato


Si analizza quindi la cinematica di un quadrilatero articolato. Le aste hanno lunghezze pari a:
l1 = 0.2m;
l2 = 0.35m;
l3 = 0.25m;
Fissato un sistema di riferimento inerziale O0 x0 y0 , le coppie rotoidali che vincolano lasta 1 e
lasta 4 al telaio hanno coordinate pari a, rispettivamente, (0,0) e (4,0).

CAPITOLO 4. CINEMATICA DEI SISTEMI PIANI

59

5.5

4.5

ascissa del pistone

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

errore nella stima della posizione

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

velocit del pistone

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.

CAPITOLO 4. CINEMATICA DEI SISTEMI PIANI

60

200

accelerazione del pistone

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.

4.8.1 Equazioni di vincolo


Le equazioni di vincolo, relative alle quattro coppie rotoidali, risultano pari a:
per la coppia rotoidale fissa in O0 :
q1 l1 cos q3 = 0 ;
q2 l1 sin q3 = 0 ;
per la coppia rotoidale fissa che collega le aste 1 e 2:
q1 + l1 cos q3 q4 + l2 cos q6 = 0 ;
q2 + l1 sin q3 q5 + l2 sin q6 = 0 ;
per la coppia rotoidale fissa che collega le aste 2 e 3:
q4 + l2 cos q6 q7 + l3 cos q9 = 0 ;
q5 + l2 sin q6 q8 + l3 sin q9 = 0 ;
per la coppia rotoidale fissa che collega lasta 3 al telaio:
q7 + l3 cos q9 = 0 ;
q8 + l3 sin q9 = 0 ;
Il sistema ha un grado di libert`a, `e quindi necessario definire unequazione di vincolo reonomo.
In questo esempio si suppone di imporre il moto alla manovella collegata al telaio nel punto
O0 . La corrispondente equazione di vincolo reonomo sar`a quindi:
q3 = (t) ;

CAPITOLO 4. CINEMATICA DEI SISTEMI PIANI


Riassemblando tutte le equazioni di vincolo si ottiene:

q1 0.1 cos q3

2 0.1 sin q3

q1 + 0.1 cos q3 q4 + 0.175 cos q6

q2 + 0.1 sin q3 q5 + 0.175 sin q6


q4 + 0.175 cos q6 q7 + 0.125 cos q9
=

q5 + 0.175 sin q6 q8 + 0.125 sin q9

7 0.125 cos q9

q 0.125 sin q9

8
q3 (t)

61

=0

(4.93)

4.8.2 Jacobiano delle equazioni di vincolo


Calcolando le derivate parziali della (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

rispetto alle variabili q si ottiene:


0
0
0
0
0
0
0
0
0.175 sin q6 0
0
0
0.175 cos q6
0
0
0
0.175 sin q6 1 0 0.125 sin q9
0.175 cos q6
0 1 0.125 cos q9
0
1
0 0.125 sin q9
0
0
1
0.125 cos q9
0
0
0
0

(4.94)

4.8.3 Configurazione iniziale


Si analizza quindi il problema della configurazione iniziale. Si impone alla manovella l1 una
rotazione pari a /4. La configurazione del meccanismo corrispondente a questa rotazione
viene calcolata per mezzo del metodo iterativo di Newton Raphson descritto nei paragrafi
precedenti.
Si parte da una configurazione iniziale q0 iniziale (assegnata attribuendo un valore random
alle 9 componenti del vettore q). Si sostituiscono i valori numerici nelle espressioni (4.93) e
(4.94), la nuova stima della configurazione si ottiene risolvendo il sistema:
[q ]|q=q0 q1 = |q=q0 [q ]|q=q0 q0

(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 .

CAPITOLO 4. CINEMATICA DEI SISTEMI PIANI

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

Figura 4.18: Quadrilatero articolato, configurazione iniziale.

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

Figura 4.20: Quadrilatero articolato, configurazione iniziale.

CAPITOLO 4. CINEMATICA DEI SISTEMI PIANI

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

Figura 4.22: Quadrilatero articolato, simulazione cinematica.

traiettoria del baricentro della biella


1.5

0.5

0.5

1.5

2.5

3
1

Figura 4.23: Quadrilatero articolato, traiettoria del baricentro della biella.

CAPITOLO 4. CINEMATICA DEI SISTEMI PIANI

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

Figura 4.24: Quadrilatero articolato, velocit`a del baricentro della biella.

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

Figura 4.25: Quadrilatero articolato, velocit`a angolare della biella.

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

Figura 4.26: Quadrilatero articolato, accelerazione del baricentro della biella.

CAPITOLO 4. CINEMATICA DEI SISTEMI PIANI

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

Figura 4.27: Quadrilatero articolato, accelerazione angolare della biella.

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:

il numero di corpi che costituiscono il meccanismo (compreso il


telaio);

j:

il numero di coppie cinematiche;

fi :

il numero di gradi di libert`a lasciati dalli-ma coppia cinematica,

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.

5.2 Sistemi di riferimento


Consideriamo un generico corpo i, a cui `e associato il sistema di riferimento oi xi yi zi ad esso
solidale, con origine nel punto oi , che ne permette la localizzazione nello spazio rispetto al
sistema di riferimento di base OXY Z, che supporremo inerziale.
Nome
rotoidale
prismatica
cilindrica
sferica
sfera nel cilindro

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

Tabella 5.1: Coppie cinematiche usate frequentemente e gradi di libert`a associati


66

CAPITOLO 5. I VINCOLI: SISTEMI TRIDIMENSIONALI

Figura 5.1: Coppia rotoidale

Figura 5.2: Coppia prismatica

Figura 5.3: Coppia cilindrica

Figura 5.4: Coppia sferica

67

CAPITOLO 5. I VINCOLI: SISTEMI TRIDIMENSIONALI

68

Figura 5.5: Riferimento di giunto per il generico corpo rigido i.


Per la caratterizzazione dei vincoli `e utile introdurre degli ulteriori sistemi di riferimento.
Per la generica coppia cinematica k che lega il corpo i al corpo j definiremo due nuovi sistemi
di riferimento (che chiameremo sistemi di riferimento di giunto):
Pik xik yik zik ,

con origine nel punto Pik , solidale al corpo i;

Pjk xjk yjk zjk ,

con origine nel punto Pjk ,solidale al corpo j.

Per il corpo i, (vedi figura 5.5)lorientamento del sistema di riferimento di giunto `e individuata

per mezzo dei tre coseni direttori dei versori f ik ,


g ik e h ik associati ai tre assi xik , yik e

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:

CAPITOLO 5. I VINCOLI: SISTEMI TRIDIMENSIONALI

Figura 5.6: Riferimenti di giunto per i corpi i e j: nomenclatura.

69

CAPITOLO 5. I VINCOLI: SISTEMI TRIDIMENSIONALI

70

Figura 5.7: Prima condizione di ortogonalit`a.


~ri ,~rj :

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 :

i vettori che congiungono le origini dei sistemi di riferimento di


giunto, Pik e Pjk rispettivamente, con le origini dei sistemi di
riferimento solidali ai corpi oi e oj rispettivamente;

d~ij :

il vettore che congiunge Pjk con Pik .

5.3 Vincoli di base


Con il termine vincoli di base indicheremo delle relazioni matematiche tra i sistemi di riferimento
di giunto dei vari corpi rigidi che da sole non rappresentano, nella maggior parte dei casi, coppie
cinematiche vere e proprie, ma che costituiscono appunto la base su cui costruire i vincoli che
caratterizzano il meccanismo.

5.3.1 Vincolo di ortogonalit`a - primo caso


Vogliamo imporre che due vettori non nulli, ~ai (solidale al corpo i) e ~aj (solidale al corpo j)
siano ortogonali tra loro (vedi figura 5.7)
Com`e noto, condizione necessaria e sufficiente affinche due vettori non nulli siano tra loro
ortogonali `e che il loro prodotto scalare sia nullo. La condizione di vincolo di ortogonalit`a tra
~ai e ~aj si pu`o esprimere quindi in questo modo:
~ai ~aj = 0 .

(5.2)

CAPITOLO 5. I VINCOLI: SISTEMI TRIDIMENSIONALI

71

Figura 5.8: Seconda condizione di ortogonalit`a.


In termini di coseni direttori dei vettori rispetto alla terna base risulta:
(a0i )T a0j = 0 .

(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)

La condizione di ortogonalit`a tra i due vettori si traduce in ununica equazione scalare.

5.3.2 Vincolo di ortogonalit`a - secondo caso


Vogliamo imporre che il vettore ~ai (solidale al corpo i) sia ortogonale al vettore ~ai , che
congiunge il punto Pi , solidale al corpo i, con il punto Pj , solidale al corpo j (vedi figura 5.8)
Anche in questo caso si deve imporre che il prodotto scalare tra i vettori ~ai e d~ij sia nullo:
~ai d~ij = 0 .

(5.6)

CAPITOLO 5. I VINCOLI: SISTEMI TRIDIMENSIONALI

72

In termini di componenti dei vettori rispetto al sistema di riferimento di base risulta:


(a0i )T d0ij = 0 .

(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

Sostituendo la (5.9) nella (5.7) si ottiene quindi:

([R0i ]aii )T r0j + [R0j ]sjj r0i [R0i ]sii = 0 ,

(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.3.3 Vincolo sferico


Vogliamo imporre che i due punti Pi , solidale al corpo i, e Pj , solidale al corpo j, siano
geometricamente sovrapposti, ovvero che le loro coordinate, rispetto al sistema di riferimento
di base, siano le stesse (vedi figura 5.9). Le coordinate dei due punti, rispetto al sistema di
riferimento di base, sono date da:
P0i = r0i + [R0i ]sii ,
P0j = r0j + [R0j ]sjj ,
La condizione di vincolo risulta quindi data da:
s (Pi , Pj ) = r0i + [R0i ]sii r0j [R0j ]sjj = 0 .

(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.3.4 Vincolo di distanza


Vogliamo imporre che i due punti Pi , solidale al corpo i, e Pj , solidale al corpo j, si mantengano
a distanza costante C (vedi figura 5.10).
In altri termini, si deve imporre che il modulo del vettore d~ij abbia modulo costante e pari
a C:
|d~ij | = C .
(5.13)
In termini di componenti del vettore rispetto al sistema di riferimento di base risulta:
(d0ij )T d0ij = C 2

(5.14)

Ricordando lespressione (5.9) risulta infine:

T 0

d (Pi , Pj ) = r0j + [R0j ]sjj r0i [R0i ]sii


rj + [R0j ]sjj r0i [R0i ]sii C 2 = 0 . (5.15)
Il vincolo sulla distanza tra due punti appartenenti a due corpi diversi si traduce quindi in
ununica equazione scalare.

CAPITOLO 5. I VINCOLI: SISTEMI TRIDIMENSIONALI

Figura 5.9: Vincolo sferico.

Figura 5.10: Vincolo sulla distanza tra due punti.

73

CAPITOLO 5. I VINCOLI: SISTEMI TRIDIMENSIONALI

74

Figura 5.11: Vincolo di parallelismo tra due vettori, primo caso.

5.3.5 Vincolo di parallelismo - primo caso


Vogliamo imporre che i due versori ~hik , solidale al corpo i, e ~hjk , solidale al corpo j, si
mantengano paralleli (vedi figura 5.11). Affinche il versore ~hjk sia parallelo a ~hik , `e necessario
che risulti perpendicolare al piano perpendicolare a ~hik , che `e definito per mezzo dei versori f~ik
e ~gik . In altri termini, la condizione di parallelismo si traduce in due condizioni di ortogonalit`a:
(
o1 (f~ik , ~hjk )
p1 (~hik , ~hjk ) =
.
(5.16)
o1 (~gik , ~hjk )
La condizione di parallelismo si traduce quindi in due equazioni scalari.

5.3.6 Vincolo di parallelismo - secondo caso


Vogliamo imporre che il versore ~hik , solidale al corpo i si mantenga parallelo al vettore d~ij ,
che congiunge il punto Pi , solidale al corpo i, con il punto j, solidale al corpo j (vedi figura
5.12). Anche in questo caso, affinche il versore d~ij sia parallelo a ~hik , `e necessario che risulti
contemporaneamente perpendicolare ai versori f~ik e ~gik . In altri termini, la condizione di
parallelismo si traduce in due condizioni di ortogonalit`a:
(
o2 (f~ik , d~ij )
p2 (~hik , d~ij ) =
.
(5.17)
o2 (~gik , d~ij )
Anche questa condizione di parallelismo si traduce quindi in due equazioni scalari.

CAPITOLO 5. I VINCOLI: SISTEMI TRIDIMENSIONALI

75

Figura 5.12: Vincolo di parallelismo tra due vettori, secondo caso.


Pi
~hi
f~i

nel centro della coppia


lungo lasse della coppia
arbitrario

Pj
~hj
f~j

nel centro della coppia


lungo lasse della coppia
arbitrario

Tabella 5.2: Coppia rotoidale: sistemi di riferimento di giunto.

5.4 Equazioni di vincolo per alcune coppie cinematiche


5.4.1 Coppia rotoidale
La coppia rotoidale consente solo la rotazione lungo un asse. I sistemi di riferimento di giunto
vengono scelti come rappresentato in figura 5.13e come sintetizzato nella tabella 5.2. Le
condizioni di vincolo che devono essere imposte sono:
Pi e Pj devono coincidere, questa condizione porta alla formulazione di 3 equazioni
scalari;
~hi e ~hj devono essere paralleli, questa condizione porta alla formulazione di 2 equazioni
scalari.
Le equazioni di vincolo per la coppia rotoidale sono quindi:
s
(Pi , Pj )
rot
=
.
p1 (~hi , ~hj )

(5.18)

CAPITOLO 5. I VINCOLI: SISTEMI TRIDIMENSIONALI

76

Figura 5.13: Coppia rotoidale: scelta dei sistemi di riferimento.

Figura 5.14: Coppia prismatica: scelta dei sistemi di riferimento.

5.4.2 Coppia prismatica


La coppia prismatica consente solo la traslazione lungo un asse. I sistemi di riferimento di
giunto vengono scelti come rappresentato in figura 5.14 e come sintetizzato nella tabella 5.3.
Le condizioni di vincolo che devono essere imposte sono:
~hi e ~hj devono essere paralleli, questa condizione porta alla formulazione di 2 equazioni
scalari;
~hi e d~ij devono essere paralleli, questa condizione porta alla formulazione di 2 equazioni
scalari;
Pi
~hi
f~i

sullasse della coppia


parallelo allasse della coppia
arbitrario

Pj
~hj
f~j

sullasse della coppia


parallelo allasse della coppia
perpendicolare a f~i

Tabella 5.3: Coppia prismatica: sistemi di riferimento di giunto.

CAPITOLO 5. I VINCOLI: SISTEMI TRIDIMENSIONALI

77

Figura 5.15: Coppia cilindrica: scelta dei sistemi di riferimento.


Pi
~hi
f~i

sullasse della coppia


parallelo allasse della coppia
arbitrario

Pj
~hj
f~j

sullasse della coppia


parallelo allasse della coppia
arbitrario

Tabella 5.4: Coppia cilindrica: sistemi di riferimento di giunto.


f~i e f~j devono essere perpendicolari, questa condizione porta alla formulazione di unequazione scalare;
Le equazioni di vincolo per la coppia prismatica sono quindi:

p1 (~hi , ~hj )
pr
.
=
p2 (~hi , d~ij )

o1 (f~ , f~ )
i j

(5.19)

5.4.3 Coppia cilindrica


La coppia cilindrica consente la rotazione lungo un asse e la traslazione in direzione parallela
allasse stesso. I sistemi di riferimento di giunto vengono scelti come rappresentato in figura
5.15 e come sintetizzato nella tabella 5.4. Le condizioni di vincolo che devono essere imposte
sono:
~hi e ~hj devono essere paralleli, questa condizione porta alla formulazione di 2 equazioni
scalari;
~hi e d~ij devono essere paralleli, questa condizione porta alla formulazione di 2 equazioni
scalari;
Le equazioni di vincolo per la coppia cilindrica sono quindi:
(
p1 (~hi , ~hj )
.
cil =
p2 (~hi , d~ij )

(5.20)

CAPITOLO 5. I VINCOLI: SISTEMI TRIDIMENSIONALI

78

Figura 5.16: Coppia sferica: scelta dei sistemi di riferimento.


Pi
~hi
f~i

nel centro della coppia


arbitrario
arbitrario

Pj
~hj
f~j

nel centro della coppia


arbitrario
arbitrario

Tabella 5.5: Coppia sferica: sistemi di riferimento di giunto.

5.4.4 Coppia sferica


La coppia sferica consente la rotazione relativa tra due corpi intorno ad un punto fissoI sistemi
di riferimento di giunto vengono scelti come rappresentato in figura 5.16 e come sintetizzato
nella tabella 5.5. La condizione di vincolo di base che deve essere imposta `e:
P~i e P~j devono essere coincidenti, questa condizione porta alla formulazione di 3 equazioni
scalari;
Le equazioni di vincolo per la coppia sferica sono quindi:
sf = s (Pi , Pj ) .

(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.2 Il principio dei lavori virtuali


6.2.1 Spostamenti virtuali
Si definisce spostamento virtuale uno spostamento:
infinitesimo,
compatibile con i vincoli del sistema.
Pi`u in dettaglio:
si definisce spostamento virtuale ~ri di un punto Pi ,in una certa posizione Pi0 allistante
t0 , ciascuno degli infiniti spostamenti elementari tangenti alle taiettorie passanti per Pi0 che
il punto Pi pu`o compiere con i vincoli irrigiditi allistante ti .
Si definiscono quindi spostamenti virtuali reversibili quelli tali che se `e ~ri `e uno spostamento virtuale, lo `e anche -~ri .
Definiremo quindi lavoro virtuale di una generica forza F~i il lavoro fatto in corrispondenza
di uno spostamento virtuale ~ri del suo punto di applicazione, ovvero:
Wi = F~i ~ri
79

(6.1)

CAPITOLO 6. RICHIAMI DI DINAMICA ANALITICA

80

Pi`u in generale, lo spostamento virtuale di un sistema multibody `e costituito da una


variazione infinitesima della sua configurazione congruente con le condizioni di vincolo. Se il
sistema `e identificato per mezzo di un set di parametri che indichiamo con il vettore q (ad
esempio il vettore delle coordinate omogenee), il generico spostamento virtuale `e identificato
dal vettore q.
Lo spostamento virtuale del punto di applicazione della forza F~i , indicato in precedenza
con ~ri pu`o essere calcolato in funzione di q. Indicando con ri le componenti del vettore ~ri
rispetto al sistema di riferimento inerziale, risulta:
ri =

ri
ri
ri
q1 +
q2 + ... +
qn = [riq ]q ;
q1
q2
qn

avendo indicato con [riq ] la matrice Jacobiana cos`definita:


r

ix
ix
... r
q1
qn
r

r
[riq ] = qiy1 ... qiyn .
riz
iz
... r
q1
qn

(6.2)

(6.3)

Sostituendo nellequazione (6.1) si ottiene:


Wi = FTi ri = FTi [riq ]q =
= QT
i q ,

(6.4)

6.2.2 Il principio dei lavori virtuali: enunciato


Un sistema meccanico e` in equilibrio se e solo se e` nullo il lavoro virtuale compiuto da tutte
le forze esterne che agiscono su di esso.

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)

6.3 Equivalenza tra PLV e formulazione newtoniana per


lequilibrio di un corpo rigido
Il moto di un corpo rigido nello spazio `e riconducibile a tre componenti di traslazione e a tre
componenti di rotazione.
Per il moto di traslazione gli spostamenti virtuali ~rj sono identici per tutti i punti del corpo,
quindi il lavoro delle forze esterne F~j associato al moto di traslazione si pu`o esprimere come:
Wt =

n
X
j=1

F~j ~rj = (

n
X
j=1

F~j ) ~rj = 0

(6.7)

CAPITOLO 6. RICHIAMI DI DINAMICA ANALITICA

81

Quindi, perch`e Wt sia nullo, essendo ~rj del tutto arbitrario, deve risultare:
F~ =

n
X

F~j = 0

(6.8)

j=1

Avendo indicato con F~ la risultante delle forze esterne.


Per i moti di rotazione, se indichiamo con ~u il versore dell asse di rotazione e con
langolo di rotazione infinitesimo attorno a tale asse,lo spostamento ~rj del generico punto di
applicazione della forza F~j pu`o essere espresso come:
~rj = ~u ~rj

(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

~ momento risultante delle forze esterne.


avendo indicato con M

6.4 Principio di DAlembert


Per la prima equazione cardinale della dinamica come noto risulta:
m~a = F~

(6.11)

ovvero:
m~a F~ = 0 .
Se, dunque, definiamo il vettore delle forze dinerzia:

la 6.11 si pu`o scrivere :

F~i = m~a ,

(6.12)

F~ + F~i = 0 ,

(6.13)

che costituisce lespressione del Principio di DAlembert


Apparentemente non si `e guadagnato nulla e il principio di DAlembert sembra una semplice operazione algebrica, ma fondamentale `e linterpretazione dellequazione cardinale della
dinamica come equazione di equilibrio. Secondo tale interpretazione la somma delle forze esterne agenti sul sistema e delle forze dinerzia produce equilibrio.
Si pu`o quindi pensare di trattare i problemi di dinamica come problemi di statica, una volta
che si siano messe in conto le forze dinerzia; in particolare si pu`o estendere al problema della
dinamica il PLV.

CAPITOLO 6. RICHIAMI DI DINAMICA ANALITICA

82

6.5 Principio di DAlembert-Lagrange


Il Principio dei Lavori Virtuali pu`o essere usato in dinamica nella seguente forma:
W =

n
X

(F~k mk~ak ) rk

(6.14)

k=1

con ~rk spostamento virtuale reversibile.


Pu`o apparire contraddittorio il fatto che un sistema in movimento venga trattato come se
fosse in equilibriio, ma lapparente contraddizione viene eliminata se si pensa che in 6.14 si fa
esplicitamente riferimento a spostamenti virtuali e non effettivi.

6.6 Esempio: Applicazione del Principio di DAlembert


La massa m `e vincolata ad appartenere ad una circonferenza di equazione : x2 + y 2 = l2 .
Se `e langolo formato dal filo con la verticale, le coordinate del baricentro della massa, nel
sistema di riferimento di figura, sono:
x = l sin ,
y = l cos .
Vogliamo calcolare gli spostamenti virtuali del baricentro della massa.
Possiamo utilizzare la seguenta regola pratica:
si calcolano dapprima gli spostamenti differenziali effettivi drk, facendo comparire sia i differenziali dq delle cordinate che quelli dt del tempo; si pone dt = 0 e si cambia il simbolo d in
.
Calcoliamo i differenziali:

(l) sin dt + l cos d ,


t

dy =
(l) sin dt l sin d .
t

dx =

Applicando la regola precedente gli spostamenti virtuali sono quindi:


x = l cos ,
y = l sin .
Il PLV per il sistema si pu`o quindi scivere:
T sin l cos T cos l sin mgl sin m
xx m
y y = 0 .
Esplicitando x e y e sostituendo nellespressione, si ottiene, dopo le dovute semplificazioni, la
seguente equazione di moto:
l + 2l + g sin = 0 .
(6.15)

CAPITOLO 6. RICHIAMI DI DINAMICA ANALITICA

83

6.7 Principio di Hamilton


Consideriamo lespressione del PLV per un sistema dinamico 6.14 ed integriamola tra due
generici istanti t1 e t2 :
Z

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

Integriamo ora per parti il secondo temine:


Z

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

e il primo termine del secondo membro di questultima espressione si integra immediatamente,


cio`e:
Z t2 X
n
n
X
d
2

(mk vk )rk ]dt =


mk vk rk \t=t
.
(6.19)
[
t=t1
dt
t1
k=1
k=1
Per quanto riguarda il secondo termine abbiamo:
Z

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

dove abbiamo indicato con T l energia potenziale del sistema di masse.


Ricapitolando la 6.16 si pu`o scrivere:
Z

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

Se definiamo la funzione Lagrangiana L come differenza tra lenergia cinetica e lenergia


potenziale:
L=T V

(6.22)

CAPITOLO 6. RICHIAMI DI DINAMICA ANALITICA

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

ovvero otteniamo lespressione del principio di Hamilton:


Z t2

Ldt = 0 .

(6.25)

t1

Secondo tale principio:


il moto di un sistema meccanico, nellipotesi che siano fissate le configurazioni
esRt
treme di tale sistema, procede in modo da rendere stazionario lintegrale t12 Ldt per
oqni possibile variazione di configurazione.
Infine, se consideriamo che sul sistema agiscano anche forze non conservative, dobbiamo
mettere in conto il lavoro virtuale Wn da esse compiuto e il principio di Hamilton si generalizza
nel modo seguente:
Z t2
Z t2

Ldt +
Wn dt = 0 .
(6.26)
t1

t1

6.8 Equazioni di Lagrange


Consideriamo ancora il principio di DAlembert-Lagrange 6.14 per un sistema costituito da N
masse puntiformi:
W =

N
X

(Fek mk ak )rk = 0 .

k=1

Se tale sistema ha n gradi di libert`a, scelto linsieme di coordinate generalizzate (q1 , q2 , . . . , qn ),


si pu`o esprimere il vettore rk in funzione delle coordinate generalizzate:
rk = rk (q1 , q2 , . . . , qn , t) .

(6.27)

CAPITOLO 6. RICHIAMI DI DINAMICA ANALITICA

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)

osservando che valgono le seguenti uguaglianze:


e che possiamo scrivere lenergia cinetica T del sistema di masse come:
N

1X
drk drk
T =
mk
2 k=1
dt dt

(6.33)

fatte le dovute semplificazioni lequazione 6.32 si trasforma in:


N
X

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)

Ritornando quindi all espressione del principio di Dalembert-Lagrange 6.14, sostituendo le


espressioni trovate si ottiene:

CAPITOLO 6. RICHIAMI DI DINAMICA ANALITICA

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.

CAPITOLO 6. RICHIAMI DI DINAMICA ANALITICA

87

6.9 Equazioni di Lagrange per sistemi non conservativi


In generale, di le forze agenti sulla generica massa k esima, possimo fare la distinzione tra
forze conservative Fck e non coservative Fnc
k .
Cio`e si pu`o scrivere:
Fek = Fck + Fnc
k

(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.

7.2 Equazioni di Lagrange per un sistema multibody piano


Consideriamo un sistema costituito da corpi rigidi vincolati tra di loro le cui configurazioni
siano descrivibili mediante le n coordinate lagrangiane q1 , q2 , . . . , qn .
88

CAPITOLO 7. ANALISI DINAMICA DI UN SISTEMA MULTIBODY

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

Se si confronta la trattazione di Hamilton con quella di Lagrange (par. 6.8), si possono


interpretare le equazioni di Lagrange , come relazioni che rendono stazionario lintegrale 6.25.
Possiamo cio`e affermare che:
condizione necessaria e sufficiente perch`e l integrale:
Z t2
L(q1 , . . . , qn , q1 , d . . . , qn , t)dt
(7.6)
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)

dove 1 , . . . , p sono i moltiplicatori di Lagrange da determinare e 1 , . . . , p sono le equazioni


di vincolo.

7.2.1 Calcolo dellenergia cinetica


Lenergia cinetica di un sistema multibody pu`o essere scritta come sommatoria delle energie
cinetiche di ciascun elemento:
(l1)
X
Ti
(7.9)
T =
i=1

Le energie cinetiche di ciascun elemento possono essere calcolate come:


1 2
1 2
2
+ Ji q3i
+ q2i1
Ti = mi q3i2
2
2

(7.10)

essendo mi la massa delli-mo corpo e Ji il momento dinerzia rispetto ad un asse baricentrico


ortogonale al piano del moto.

CAPITOLO 7. ANALISI DINAMICA DI UN SISTEMA MULTIBODY

90

7.2.2 Calcolo dellenergia potenziale della forza peso


Supponendo che il piano del moto sia verticale e che lasse Y del sistema di riferimento di
base sia verticale ascendente, lenergia potenziale della forza peso `e pari a:
V =

l1
X

mi gq3i1

(7.11)

i=1

7.2.3 Equazioni di moto


Applicando le equazioni di Lagrange alla funzione L si ottiene il sistema delle equazioni di
moto:
[M ]
q + [q ]T = Fe ,
(7.12)
dove con [M ] abbiamo indicato la matrice delle masse, con Fe il vettore delle forze generalizzate, il vettore dei moltiplicatori di Lagrange e qT `e la matrice Jacobiana trasposta associata
al sistema di equazioni di vincolo k = 0 con k = 1, . . . , p ( vedi eq. 4.2 par.4.1).

7.2.4 Matrice di massa


Nel caso di moto piano di un sistema composto da n corpi di massa mi e momento di inerzia
baricentrico Ji la matrice di massa sar`a del tipo:

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)

7.3 Calcolo delle forze generalizzate


Le forze generaizzate si calcolano utilizzando la seguente relazione:
N

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 .

7.3.1 Forza applicata nel baricentro e coppia ortogonale al piano


Supponiamo che la forza F~ di componenti [Fx Fy ]T rispetto al sistema di riferimento di base
sia applicata nellorigine del sistema di riferimento solidale alli-mo corpo. Supponiamo inoltre
che sul corpo sia applicata una coppia C ortogonale al piano del moto.
Il lavoro virtuale `e dato da:

Fx
+ Cq3i ,
(7.16)
W = [q3i2 , q3i1 ]
Fy

CAPITOLO 7. ANALISI DINAMICA DI UN SISTEMA MULTIBODY

91

Figura 7.1: Forza applicata nellorigine del sistema di riferimento soliale al corpo i e coppia
ortogonale al piano

Figura 7.2: Forza applicata in un generico punto P solidale al corpo i


che possiamo riscrivere nella forma:
W = qTi Qi

(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.

CAPITOLO 7. ANALISI DINAMICA DI UN SISTEMA MULTIBODY

92

7.3.2 Forza applicata in un punto generico del corpo i


Supponiamo che la forza F~ di componenti [Fx Fy ]T rispetto al sistema di riferimento di base
sia applicata in un punto P solidale al corpo i e avente coordinate [xiP , yPi ]T rispetto al sistema
di riferimento oi xi yi solidale alli-mo corpo.
E definita la matrice di rotazione [Ri ] che permette di passare dalle coordinate nel sistema
di riferimento locale oi xi yi al sistema di riferimento di base OXY :

cos q3i sin q3i


[Ri ] =
;
(7.18)
sin q3i cos q3i
le coordinate del punto P nel sistema di riferimento di base risultano date da:

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 :

sin q3i cos q3i


[Bi ] =
.
(7.21)
cos q3i sin q3i
Calcoliamo quindi il lavoro virtuale della forza F~ :

Fx
Fx
T
i
i
T
W = rP
= [q3i2 , q3i1 ] + [xP , yP ][Bi ] q3i
Fy
Fy

(7.22)

che possiamo scrivere anche in questo caso nella forma:


W = qTi Qi

avendo indicato con qi il vettore [q3i2 , q3i1 , q3i ]T e con Q il vettore:

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)

CAPITOLO 7. ANALISI DINAMICA DI UN SISTEMA MULTIBODY

93

Figura 7.3: Attuatore dinamico lineare tra i corpi i e j.

7.3.3 Elementi elastici e viscosi


Supponiamo che i corpi i e j siano collegati tra loro per mezzo di un attuatore che esercita
una forza Fa e collegato in parallelo con un elemento caratterizzato da propriet`a elastiche e
viscose.
Siano A e B i punti di attacco dellelemento ai corpi i e j rispettivamente. Indicando con
l la distanza tra A e B e con l0 la stessa distanza quando lelemento elastico non `e sollecitato,
il modulo della forza che agisce sui due corpi `e dato da:
F = k(l l0 ) + cl + Fa

(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)

la distanza l tra A e B si pu`o calcolare utilizzando la seguente relazione:


l2 = dTAB dAB

(7.29)

Il lavoro virtuale delle forze esercitate dallattuatore lineare `e dato da:


W = F l

(7.30)

CAPITOLO 7. ANALISI DINAMICA DI UN SISTEMA MULTIBODY

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.4 Sistema di equazioni differenziali


Il sistema costituito dalle equazioni differenziali:
[M ]
q + [q ]T = Q

(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.

CAPITOLO 7. ANALISI DINAMICA DI UN SISTEMA MULTIBODY

95

7.4.1 Moltiplicatori di Lagrange e reazioni vincolari


Abbiamo visto nel paragrafo precedente che, definendo la funzione Lagrangiana estesa L , si
pu`o trattare un sitema meccanico vincolato come se fosse libero. In questo modo, tuttavia,
non si riesce a capire come fisicamente i vincoli agiscano sul sistema.
Definiamo allora una funzione potenziale estesaV :
L = V (1 1 , . . . , p p ) .

(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 Esempio: Formulazione delle equazioni di moto per un pendolo


semplice
7.4.2.1

Generazione delle equazioni di vincolo.

Essendo lasta incernierata al telaio, le equazioni cinematiche di vincolo saranno le seguenti:


1 q1 xG cos q3 = 0 ,
2 q2 xG sin q3 = 0 .
7.4.2.2

Generazione della funzione lagrangiana estesa.


1
1
L = m(q12 + q22 ) + IG q32 1 1 2 2
2
2

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)

CAPITOLO 7. ANALISI DINAMICA DI UN SISTEMA MULTIBODY

Figura 7.4: Pendolo semplice: sistemi di riferimento e coordinate utilizzati.

96

CAPITOLO 7. ANALISI DINAMICA DI UN SISTEMA MULTIBODY


7.4.2.4

97

Applicazione delle equazioni di Lagrange.

Le equazioni che si otterranno sono le seguenti:


m
q1 + 1 = 0 ,
m
q2 + 2 + mg = 0 ,
IG q3 + 3 2 xG cos q3 = T .
7.4.2.5

(7.46)
(7.47)
(7.48)

Soluzione del sistema di equazioni algebrico-differenziali.

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)

Complessivamente quindi necessario risolvere un sistema di equazioni algebrico-differenziali


(DAE).
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 =

(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

opportuno sottolineare che le condizioni iniziali su posizione e velocit`a q(0) = q0 e q(0)


= v0
devono soddisfare le equazioni di vincolo.
Per la soluzione del sistema (8.4), supponiamo che lo Jacobiano [q ] abbia rango pieno.
1
Definiamo quindi la matrice [L] = [M ] 2 , tale che:
1

[M ] = [M ] 2 [M ] 2 = [L][L] .

(8.5)

Si definiscono quindi le matrici [H] e [L1 ]:


[H] = ([L]1 )T [q ]T

(8.6)

[L1 ] = chol([H]T [H]) .

(8.7)

98

CAPITOLO 8. SOLUZIONE DELLE EQUAZIONI DELLA DINAMICA


Con queste definizioni il sistema (8.4) pu`o essere riscritto in questa forma:
T

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)

Quindi `e possibile calcolare il vettore delle accelerazioni:


= ([L]1 )T ([L]1 Q [H]) .
q

(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.2 Formulazione stabilizzata di Baumgarte


Il metodo di calcolo proposto da Baumgarte permette di limitare le violazioni delle equazioni
di vincolo. Le coordinate generalizzate devono soddisfare le seguenti equazioni non lineari
nellincognita q:
(q, t) = 0 ,

(8.12)

(q,
t) = [q ]q + t = 0 ,

(8.13)

t) = [q ]
(q,
q =0 ,

(8.14)

e dei seguenti sistemi lineari:

. Con questo metodo si cerca di controllare la dinamica


rispettivamente nelle incognite q e q
delle violazioni delle equazioni di vincolo, inserendole nel sistema di equazioni differenziali da
risolvere. Si impone che le violazioni delle equazioni di vincolo siano governate dal seguente
sistema lineare a coefficienti costanti:
+ 2 + 2 = 0 ,

(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)

CAPITOLO 8. SOLUZIONE DELLE EQUAZIONI DELLA DINAMICA

100

i ) al tempo ti , tramite il sistema (8.17)


Partendo dalla configurazione q(ti ) e dalla velocit`a q(t
(ti ). La velocit`a e la configurazione al tempo ti+1 possono quindi
si stima laccelerazione q
essere stimate tramite integrazione numerica:
i+1 ) = q(t
i) + q
(ti )t ,
q(t

(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.

8.3 Ortogonalizzazione dei vincoli


Lobiettivo `e riscrivere il sistema algebrico-differenziale costituito dalle equazioni (8.1) e (8.2)
in un sistema di equazioni differenziali ordinarie (ODE), una possibilit`a consiste nelleliminare
la matrice Jacobiana delle equazioni di vincolo [q ] dalle equazioni (8.1). Questo approccio
fornisce i seguenti vantaggi:
nelle equazioni risolutive vengono eliminati i moltiplicatori di Lagrange;
le coordinate generalizzate vengono suddivise in due parti: coordinate indipendenti e
dipendenti;
per la risoluzione dei sistemi ODE sono disponibili numerosi ed efficienti algoritmi
numerici;
si possono analizzare sistemi con vincoli sovrabbondanti o con un numero di gradi di
libert`a variabile durante il funzionamento.

8.3.1 Vincoli scleronomi


Si definisce un set minimo v di F coordinate indipendenti. Il numero F di gradi di libert`a del
meccanismo si calcola come:
F = nq r ,
(8.20)
essendo nq il numero di coordinate generalizzate (dimensione del vettore q) e r il rango della
matrice Jacobiana [q ] delle equazioni di vincolo.
E possibile quindi aggiungere alle m equazioni di vincolo (q) = 0 altre F equazioni che
legano il vettore delle coordinate generalizzate q al set di coordinate indipendenti v, queste
equazioni saranno del tipo (q, v) = 0. Si ottiene quindi un sistema di m + F equazioni non
lineari che pu`o essere riscritto in questo modo:

(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)

CAPITOLO 8. SOLUZIONE DELLE EQUAZIONI DELLA DINAMICA


[q ] =

Rm+F nq

101
(8.24)

Si osserva che se la matrice Jacobiana [q ] ha rango pieno, r = m, la matrice [q ] `e quadrata.


Se [q ] `e non singolare `e possibile definire la matrice:
[V (q, v)] = [q ]1 [v ]

Rnq F

(8.25)

che permette di esprimere le derivate rispetto al tempo delle coordinate generalizzate in


funzione delle derivate delle coordinate indipendenti:
q = [V (q, v)]v .

(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)

Derivando rispetto al tempo la (8.26) si ottiene:


= [V ]v + [V ]v .
q

(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)

si ottiene infine il segunte sistema di equazioni differenziali ordinarie:


.
[V ]T [M ][V ]v = [V ]T Q [V ]T [M ][V ]v)

(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)

possono essere riscritte come:


[u ]
u + [v ]v =

(8.36)

CAPITOLO 8. SOLUZIONE DELLE EQUAZIONI DELLA DINAMICA

102

essendo [u ] Rmnq F e [v ] RmF . Se le equazioni di vincolo sono indipendenti (se lo


Jacobiano q ha rango pieno), si `e visto in precedenza che F = nq m e quindi la matrice
[u ] risulta quadrata e non singolare. E possibile quindi scrivere:
= [u ]1 [v ]v + [u ]1
u

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.3.2 Vincoli scleronomi e reonomi


E possibile calcolare la matrice [V ] anche in presenza di vincoli reonomi. In questo caso le
equazioni di vincolo in termini di velocit`a sono:
[q ]q = t

(8.41)

Le F coordinate indipendenti v possono essere espresse in funzione delle coordinate generalizzate q:


v = [B]q ,

(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

CAPITOLO 8. SOLUZIONE DELLE EQUAZIONI DELLA DINAMICA

103

che conferma la propriet`a di ortogonalit`a:


[q ][V ] = 0 ,

(8.46)

[B][V ] = I

(8.47)

e introduce la nuova condizione:


,

Derivando rispetto al tempo lequazione (8.43), assumendo [B] costante si ottiene:

[q ]
=
.
q
[B]
v

(8.48)

a v:
da cui `e possibile ricavare unespressione che lega q
= [S] + [V ]v .
q

(8.49)

8.4 La formulazione di Udwadia Kalaba


Consideriamo nuovamente le equazioni della dinamica espresse tramite il sistema di equazioni
differenziali:

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)

laccelerazione che il meccanismo avrebbe se non ci fossero i vincoli, lespressione (8.54) si


pu`o riscrivere come:

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)

CAPITOLO 8. SOLUZIONE DELLE EQUAZIONI DELLA DINAMICA

104

sviluppando i prodotti e ricordando la definizione (8.55) si ottiene:

f
= (q M 1 Tq )1 q q
.

(8.58)

Linversa della matrice di massa pu`o essere espressa in questo modo:


1

[M ]1 = [M ] 2 [M ] 2

(8.59)

si definisce quindi la matrice [D]:


1

[D] = [q ][M ] 2

(8.60)

Con queste definizioni `e possibile riscrivere lespressione (8.56):

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)

Tenendo conto della definizione di pseudoinversa destra:


[D]+ = [D]T ([D][D]T )1

(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.

8.4.1 Il principio di Gauss


Il Principio di Gauss per un sistema di n masse discrete asserisce che in ogni istante laccelerazione che compete al sistema soggetto a vincoli `e quella che pi`u si avvicina allaccelerazione
del medesimo meccanismo non vincolato. In altri termini laccelerazione del meccanismo si
trova minimizzando la seguente quantit`a:
G(
q) =

1
T

1
q
f M q
q
f =
f N
f N
q
qN q
qN q
2
2

(8.64)

avendo definito le seguenti accelerazioni normalizzate:


1

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