Indice · processi chimici (e.g., ASPEN Plus[2], SpeedUp[59]). Escludendo poche eccezioni, tali...
-
Upload
vuongkhanh -
Category
Documents
-
view
215 -
download
0
Transcript of Indice · processi chimici (e.g., ASPEN Plus[2], SpeedUp[59]). Escludendo poche eccezioni, tali...
Indice
1 Introduzione 1
2 Modellizzazione orientata agli oggetti e simulazione 32.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 Modellizzazione multi-dominio orientata agli oggetti con Modelica . . . . . . . 52.3 Un semplice modello Modelica . . . . . . . . . . . . . . . . . . . . . . . . . . 82.4 L’ambiente di simulazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.5 Dal modello Modelica al codice di simulazione . . . . . . . . . . . . . . . . . 12
3 Il modello della motocicletta 173.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.2 Corpo della motocicletta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.3 Superficie stradale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.4 Interazione pneumatico-superficie stradale . . . . . . . . . . . . . . . . . . . . 223.5 Aerodinamica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4 Il Package MotorcycleDynamics 374.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.2 La libreria Multibody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.3 Il package MotorcycleDynamics . . . . . . . . . . . . . . . . . . . . . . 394.4 Geometrie, inerzie, masse e altri parametri . . . . . . . . . . . . . . . . . . . . 404.5 Il modello Motorcycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424.6 Il package Suspension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424.7 Il package Wheel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.7.1 Il modello Wheel Road Interaction . . . . . . . . . . . . . . . 454.8 Il package Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564.9 Il package Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.9.1 Il modello Road . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584.10 Il package Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5 Il pilota e il controllo della motocicletta 655.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655.2 Controllo dello sterzo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
i
Indice
5.2.1 Controllo in Curvatura . . . . . . . . . . . . . . . . . . . . . . . . . . 705.2.2 Controllo dell’angolo di rollio . . . . . . . . . . . . . . . . . . . . . . 745.2.3 Controllo con joystick . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.3 Controllo di Velocita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765.4 Impianto frenante dotato di ABS . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.4.1 Il pilota . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795.4.2 ABS: Antilock Brake System . . . . . . . . . . . . . . . . . . . . . . 795.4.3 I freni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6 Simulazioni 856.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 856.2 Prove di pilotaggio per il controllo tramite joystick . . . . . . . . . . . . . . . 85
6.2.1 Disturbo composto da rampe . . . . . . . . . . . . . . . . . . . . . . . 866.2.2 Disturbo sinusoidale . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
6.3 Percorrenza di una rotonda e manovra ad otto . . . . . . . . . . . . . . . . . . 906.3.1 Percorrenza di una rotonda molto stretta . . . . . . . . . . . . . . . . . 906.3.2 Manovra ad otto su superficie irregolare . . . . . . . . . . . . . . . . . 91
6.4 Condizioni di aderenza al limite in curva . . . . . . . . . . . . . . . . . . . . . 946.4.1 Rotonda con split-mue . . . . . . . . . . . . . . . . . . . . . . . . . . 946.4.2 Rotonda affrontata a velocita crescente fino alla perdita di aderenza . . 98
6.5 Prove di frenata con e senza ABS in diverse condizioni . . . . . . . . . . . . . 1016.5.1 Prove realizzate in rettilineo . . . . . . . . . . . . . . . . . . . . . . . 1016.5.2 Prove realizzate in curva . . . . . . . . . . . . . . . . . . . . . . . . . 106
7 Conclusioni e sviluppi futuri 1157.1 Realizzazione di altri veicoli basati su ruote . . . . . . . . . . . . . . . . . . . 1167.2 Sospensioni attive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1177.3 ABS con centralina di calcolo e sensori . . . . . . . . . . . . . . . . . . . . . 1177.4 Controllo in traiettoria/percorso . . . . . . . . . . . . . . . . . . . . . . . . . 1177.5 Controllo di trazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Elenco delle figure 121
Bibliografia 125
ii
Capitolo 1
Introduzione
La crescente competitivita tra le societa multinazionali ha causato una continua metamorfosi
del processo produttivo; negli ultimi decenni, oltre ai requisiti di qualita, si e rivelato indispens-
abile, sia nel campo motociclistico che in quello dei motori in genere, minimizzare il time-to-
market e i costi di progettazione. E’ in questo scenario innovativo, caratterizzato da una crescita
significativa della potenza di calcolo degli elaboratori elettronici, che si cala perfettamente la
prototipazione virtuale, diventando parte integrante o realta progettuale a se stante.
La modellizzazione del sistema fisico, finalizzata al processo di prototipazione, cerca, tramite
leggi fisiche e rappresentazioni simboliche, di astrarre dalla realta per costruire un prototipo, una
riproduzione virtuale ma fedele dell’esperimento empirico.
In questo studio gli strumenti di astrazione utilizzati sono sostanzialmente di due determi-
nazioni differenti e complementari tra loro: equazioni e librerie standard. La prima garantisce
una totale capacita di particolarizzazione del problema, mentre la seconda l’interscambiabilita
dei moduli, il tutto implementato in un linguaggio orientato agli oggetti: Modelica.
Questo scritto ha lo scopo di documentare il progetto MotorcycleDynamics, finalizzato
alla modellizzazione di una motocicletta e del relativo pilota. In particolare, nei capitoli suc-
cessivi, saranno analizzati in dettaglio: l’ambiente acausale di simulazione Dymola (Dynamic
Modeling Laboratory) di Dynasim AB © Sweden (nel quale il progetto e ambientato), il mod-
ello fisico-meccanico della motocicletta e la relativa rappresentazione, il sistema di controllo e
qualche risultato di simulazione.
1
2 1. Introduzione
Organizzazione della tesi
Questo scritto e articolato in diversi capitoli cosı organizzati:
• Capitolo 2 (Modellizzazione orientata agli oggetti e simulazione): e un introduzione
al mondo della modellizazione acausale orientata agli oggetti e all’ambiente di sviluppo
Dymola, con annessi degli esempi esplicativi;
• Capitolo 3 (Modello di un motociclo): contiene la descrizione del modello “concettuale”
a vari livelli di astrazione, vengono inoltre presentati tutti i sotto-modelli di cui e compos-
ta la motocicletta (sospensioni, pneumatici, impianto frenante,. . .) e la rappresentazione
della superficie stradale;
• Capitolo 4 (Il Package MotorcycleDynamics): viene illustrato come e stato ef-
fettivamente implementato il modello, descrivendo nel dettaglio tutti i componenti del
package;
• Capitolo 5 (Il pilota): contiene tutte le informazioni relative alla modellizazione e im-
plementazione del modello rappresentante il pilota, con una descrizione dei fenomeni in
gioco e delle varie strategie di controllo adottate;
• Capitolo 6 (Simulazioni): vengono presentate alcune tra le prove di simulazione mag-
giormente significative, realizzate allo scopo di validare il modello e per evidenziare
fenomeni reali;
• Capitolo 7 (Evoluzioni future e conclusioni): vengono riportate le conclusioni finali
tratte dai risultati ottenuti e proposti alcuni degli sviluppi futuri che possono essere real-
izzati in un eventuale proseguimento del progetto in questione.
Capitolo 2
Modellizzazione orientata agli oggetti e
simulazione
In questo capitolo e fornita un presentazione generale dei principi fondamentali delle tecniche
di modellizzazione e simulazione orientata agli oggetti. In seguito e introdotto Modelica, un in-
novativo linguaggio per la modellizzazione di sistemi fisici. In conclusione, e presentato l’am-
biente di simulazione Dymola, utilizzato per simulare i modelli Modelica sviluppati in questo
lavoro, con una breve illustrazione delle tecniche di manipolazione simbolica che costituiscono
la caratteristica distintiva di tale ambiente.
2.1 Introduzione
Sul mercato esistono innumerevoli strumenti per la modellizzazione e simulazione dei siste-
mi dinamici. La maggior parte dei linguaggi e delle rappresentazioni dei modelli sono propi-
etari e sono stati sviluppati specificatamente per alcuni ambienti di simulazione. Esistono stru-
menti di carattere generale come ASCL[1], Simulink[75] e SystemBuild[48], basati sull’uti-
lizzo di blocchi ingresso/uscita cosı come proposto in uno dei primi tentativi di standardiz-
zazione, CSSL[72]. Inoltre esistono strumenti per domini specifici, come l’elettronica (e.g.,
SPICE[19], Saber[73]), sistemi multicorpo (e.g., ADAMS[47], DADS[38], SIMPACK[71]) e
processi chimici (e.g., ASPEN Plus[2], SpeedUp[59]). Escludendo poche eccezioni, tali stru-
3
4 2. Modellizzazione orientata agli oggetti e simulazione
menti sono stati ideati in riferimento ad un unico dominio, e non permettono di modellizzare, in
modo soddisfacente, fenomeni fisici appartenenti a domini differenti da quello originario. Cio
costituisce un fattore limitante, dato che i sistemi tecnici diventano sempre piu eterogenei, inte-
grando componenti provenienti da domini ingegneristici differenti. Il ragionamento e analogo
se si considera la prototipazione dei sistemi di controllo, dato che molte delle piu avanzate e
moderne tecniche di progetto sono basate sulla metodologia di progetto integrato dei processi e
del loro sistema di controllo (e.g., l’approccio meccatronico: progetto integrato di meccanica,
elettronica e controllo), questo sottolinea la necessita di un tool multi-dominio. In generale, le
caratteristiche chiave per un tool di modellizzazione e simulazione multi-dominio dovrebbero
essere:
• Modularita: il modello del sistema dovrebbe poter essere costruito componendo i mod-
elli dei suoi componenti, che dovrebbero poter essere scritti indipendentemente dalle
“condizioni al contorno”.
• Chiarezza: il codice di ogni componente del modello dovrebbe essere chiaramente leg-
gibile, racchiudere le equazioni originali ed essere facilmente personalizzabile.
• Efficienza: il codice di simulazione dovrebbe essere veloce ed ottimizzato per la pi-
attaforma di esecuzione.
• Supportabilita: gli strumenti di simulazione dovrebbe essere basati su software sicuro,
testato e ben documentato.
Il numero degli strumenti di simulazione che sembra possedere contemporaneamente tutte
le caratteristiche desiderate e molto ristretto, nonostante negli ultimi decenni siano state svilup-
pate tecniche innovative per la modellizzazione fisica di carattere generale (non legate ad un
dominio specifico). Tali tecniche sono basate su di un approccio a-causale (i.e., sull’utiliz-
zo di vere e proprie equazioni all’interno dei modelli), combinato con l’utilizzo di tecniche
orientate agli oggetti, in modo da facilitare lo sviluppo di modelli modulari, gerarchicamente
organizzati e riutilizzabili. Esempi di linguaggi e ambienti di simulazione basati su tali tec-
2.2 Modellizzazione multi-dominio orientata agli oggetti con Modelica 5
niche sono MOSES[41], ASCEND[59], gPROMS[6], NMF[61], ObjectMath[25], Omola[43],
SIDOPS+[5], Smile[34], U.L.M.[32], VHDL-AMS[31] e 20-sim[10].
Tra gli strumenti dotati delle caratteristiche sopracitate, Modelica[76] e Dymola[18] sono
emersi rispettivamente come linguaggio standard per la modellistica a-causale e orientata agli
oggetti e come ambiente di simulazione, basato su Modelica, completo ed efficiente. Tutti i
modelli sviluppati in questo lavoro sono basati su Modelica e tutte le simulazioni associate a
tali modelli sono state effettuate utilizzando l’ambiente Dymola.
2.2 Modellizzazione multi-dominio orientata agli oggetti con
Modelica
Modelica e un linguaggio orientato agli oggetti per la modellizzazione di sistemi fisici comp-
lessi ed eterogenei[45, 77]. E’ stato proposto alla comunita scientifica nel 1997, al termine di
un progetto di cooperazione internazionale per la definizione di un linguaggio per la model-
lizzazione di sistemi fisici multi-dominio descritti da equazioni algebriche, differenziali e alle
differenze. La definizione del linguaggio, di proprieta dell’organizzazione non-profit Modelica
Association, e di pubblico dominio (http://www.modelica.org).
La maggior parte dei concetti alla base del linguaggio derivano dalla teoria della modelliz-
zazione dei sistemi fisici basata su porte, di cui e fornita un’ampia descrizione in [78]. All’inter-
no di questa teoria, i sistemi fisici complessi sono visti come un’aggregazione di semplici com-
ponenti di base, che interagiscono tra loro attraverso delle “porte”, associate con degli scambi
di “potenza” generalizzata.
Il linguaggio Modelica e stato progettato per la modellizzazione fisica multi-dominio, in-
cludendo, per esempio, sistemi meccatronici per applicazioni robotiche, automobilistiche (i.e.,
di controllo della dinamica dei veicoli) e aerospaziali (con sottosistemi meccanici, elettrici,
idraulici e di controllo), applicazioni orientate ai processi di produzione dell’energia e sistemi
multicorpo.
Le caratteristiche principali del linguaggio possono essere riassunte nel seguente elenco:
6 2. Modellizzazione orientata agli oggetti e simulazione
• A-causalita. Le equazioni per ciascun modello sono scritte in forma dichiarativa, in-
dipendentemente dalle condizioni al contorno, e senza decidere a priori quali siano gli
ingressi e le uscite. Il modello e quindi in forma a-causale ed e descritto da sistemi
DAE (Differential-Algebraic Equations), che permettono di rappresentare nel modo piu
naturale e fisicamente coerente ogni componente del sistema. Il compito di determinare
la causalita del modello e demandata all’interprete o compilatore Modelica, che agira
a livello di sistema (i.e., per tutti i componenti aggregati). Utilizzando questo approc-
cio, i modelli risultanti sono piu semplici da scrivere, da documentare e maggiormente
riutilizzabili.
• Trasparenza del codice. Le equazioni sono scritte nei modelli Modelica esattamente
come sono scritte su carta, in modo da semplificare notevolmente la comprensione del
contenuto del modello stesso e la sua eventuale modifica.
• Incapsulamento. L’interazione tra componenti puo avvenire solamente attraverso in-
terfacce rigorosamente definite, chiamate connettori, la cui progettazione e di estrema
importanza. Un connettore e definito attraverso un insieme di variabili di sforzo ed uno
di variabili di flusso. Effettuare una connessione tra due connettori, e quindi tra i com-
ponenti a loro associati, equivale ad eguagliare le variabili di sforzo dei due connettori
e a bilanciare le variabili di flusso (i.e., ad imporre che la loro somma sia nulla). L’uti-
lizzo di tale approccio risulta perfettamente naturale in molti domini, come ad esempio
quello elettrico, dove il connettore e definito da una tensione (sforzo) e una corrente (flus-
so): la connessione equivale ad eguagliare la tensione dei due connettori e a bilanciare le
correnti (i.e., ad applicare la legge di Kirchoff al nodo identificato dalla connessione stes-
sa). Altri esempi sono costituiti dai connettori termici, che trasportano una temperatura
(sforzo) e un flusso termico (flusso) e dai connettori meccanici per assi rotanti monodi-
mensionali, caratterizzati da un angolo (flusso) e da una coppia (sforzo). Utilizzando tale
approccio, due componenti differenti, ma con connettori compatibili, possono essere con-
nessi indipendentemente dalle equazioni contenute all’interno dei singoli modelli. Questa
caratteristica e essenziale per lo sviluppo di librerie di modelli ri-usabili; inoltre, permette
2.2 Modellizzazione multi-dominio orientata agli oggetti con Modelica 7
di rimpiazzare semplicemente una parte del modello di un sistema con una piu dettagliata
o con una semplificata, senza influenzare il resto del modello.
• Ereditarieta. Le librerie di componenti possono essere organizzate in una struttura gerar-
chica, nella quale modelli i complessi sono ottenuti da modelli basilari aggiungendo vari-
abili specifiche, equazioni o altri modelli. Ad esempio, e possibile scrivere le equazioni
per descrivere il flusso di un gas generico all’interno un condotto; successivamente,
il modello del flusso di un gas particolare, ad esempio quello di una miscela di dieci
gas ideali, puo essere ottenuto tramite estensione dal modello generale (i.e., sfruttando
l’ereditarieta), e aggiungendo i modelli per i singoli gas ideali utilizzati.
• Dominio multi-fisica. Il linguaggio Modelica e stato ideato per modellistica fisica multi-
dominio, basata su modelli descritti da equazioni algebriche, differenziali e alle differen-
ze, e non e vincolato ad un particolare contesto applicativo, come quello dell’ingegner-
ia meccanica, elettrica o termodinamica. Tale linguaggio risulta quindi particolarmente
utile nella modellizzazione di sistemi eterogenei, come, ad esempio, i sistemi meccatron-
ici, risultato dell’interazione di componenti meccaniche, elettriche e di controllo, o gli
impianti nucleari, risultato dell’interazione di sottosistemi termoidraulici, nucleari e di
controllo.
• Riutilizzabilita. La modellizzazione a-causale, l’incapsulamento e l’utilizzo dell’eredi-
tarieta costituiscono un forte incentivo allo sviluppo di librerie di modelli riutilizzabili.
Alcune librerie per domini ingegneristici molto ampi (e.g., elettrico, meccanico, termi-
co, etc...) sono state standardizzate e fanno parte della definizione stessa del linguaggio
Modelica. Sono presenti inoltre librerie sviluppate per domini specifici, sia di carattere
commerciale che di carattere open-source.
Il linguaggio Modelica e stato applicato ad un ampio spettro di problemi di modellizzazione,
in differenti domini ingegneristici [25, 52, 50]. Il linguaggio e stato progettato per supportare
sia la sviluppo “ad alto livello” (i.e., componendo modelli di libreria) che di “basso livello”
(i.e., scrivendo ex novo le equazioni per i singoli componenti). In genere, quando si sviluppa un
8 2. Modellizzazione orientata agli oggetti e simulazione
nuova applicazione utilizzando Modelica, alcuni o la maggior parte dei modelli necessari, sono
gia disponibili in librerie precedentemente sviluppate, cosı da rendere possibile uno sviluppo
molto rapido.
E’ inoltre possibile definire un modello utilizzando un editor grafico per disegnare un di-
agramma strutturale (chiamato schematics), contente le icone che rappresentano i modelli dei
componenti e le connessioni tra i connettori dei diversi componenti. I costrutti per inserire an-
notazioni grafiche in Modelica permettono di implementare rappresentazioni portabili tra tool
differenti.
2.3 Un semplice modello Modelica
In figura 2.1 e rappresentato il diagramma di composizione per un sistema costituito da un sem-
plice motore servoassistito. Il sistema puo essere suddiviso in singoli componenti connessi tra
loro: un motore elettrico, una trasmissione, un carico, un sensore per la misura della posizione
angolare del carico, un sistema di controllo, un segnale di riferimento e un blocco sommatore. Il
codice Modelica corrispondente alla rappresentazione schematica e il seguente (le annotazioni
che descrivono le disposizioni grafiche dei componenti e delle linee di connessione non sono
mostrate):
model MotorDrive
Motor motor;
IdealGear gearbox(n=100);
Inertia load(J=10) ;
AngleSensor phiload;
Feedback positionerror ;
PID controller ;
Step Reference;
equation
connect(gearbox.flange_b,load. flange_a);
connect(load.flange_b,phiload. flange_a);
connect(positionerror.inPort2,phiload.outPort);
2.3 Un semplice modello Modelica 9
connect(motor.flange_b,gearbox. flange_a);
connect(positionerror.outPort,controller.inPort)
connect(controller.outPort,motor.inPort);
connect(Reference.outPort,positionerror.inPort1);
end MotorDriveTesi;
Questo modello e ottenuto tramite composizione e connessione di componenti di domini dif-
ferenti (e.g., meccanico e controllistico). L’istruzione IdealGear gearbox(n = 100);
dichiara un componente gearbox di tipo IdealGear e imposta il valore del rapporto di
trasmissione, (n), a 100. L’istruzione connect genera automaticamente le equazioni di
bilancio per le variabili di flusso e le equazioni di uguaglianza per le variabili di sforzo.
Figura 2.1: Un modello di un semplice motore controllato
Ogni componente puo a sua volta essere un modello strutturato, ottenuto per composizione
di altri componenti. Tale strutturazione gerarchica semplifica di fatto lo sviluppo e la gestione di
modelli complessi. Ad esempio, il diagramma di composizione del modello Motor e mostrato
in figura 2.2 ed e costituito da sottomodelli appartenenti a domini fisici differenti (elettrico
e meccanico): il generatore di tensione pilotato Vs, il resistore Ra, l’induttore La, la forza
elettromotrice emf e l’inerzia meccanica Jm.
I modelli dei componenti base sono in genere semplici e facilmente comprensibili, come si
puo vedere nel caso del modello della forza elettromotrice:
model EMF "Electromotoric force (electric/mechanic transformer)"
parameter Real k = 1 "Transformation coefficient";
10 2. Modellizzazione orientata agli oggetti e simulazione
Figura 2.2: Il modello Motor
Voltage v "Voltage drop between the two pins";
Current i "Current flowing from positive to negative pin";
AngularVelocity w "Angular velocity of flange_b";
PositivePin p;
NegativePin n;
Flange_b flange_b;
equation
v = p.v - n.v;
0 = p.i + n.i;
i = p.i;
w = der(flange_b.phi);
k*w = v;
flange_b.tau = -k*i;
end EMF;
2.4 L’ambiente di simulazione
Modelica costituisce, di per se, solo un linguaggio di descrizione dei sistemi: per poter effet-
tivamente simulare un modello Modelica e necessario ricorrere a specifici strumenti software.
Attualmente, esistono diversi strumenti che supportano Modelica: alcuni tra questi, come Dy-
mola[18], che verra utilizzato come sistema di sviluppo di riferimento per questo lavoro, e
2.4 L’ambiente di simulazione 11
MathModelica[3] sono di carattere commerciale, mentre altri come OpenModelica[56] sono
open-source.
Dymola (Dynamic Modeling Laboratory) e un ambiente di simulazione sviluppato per la
modellizzazione basata su Modelica di sistemi fisici eterogenei, supportando la composizione
gerarchica di modelli e offrendo ampie librerie di componenti predefiniti e riutilizzabili. Tali
librerie coprono svariati domini ingegneristici, come quello dei sistemi elettrici, fluidi e termici,
dei sistemi multicorpo, ecc. Dymola incorpora potenti funzioni automatiche di manipolazione
simbolica delle equazioni del modello, in modo da produrre codice di simulazione altamente
efficiente. Altre caratteristiche comprendono:
• gestione di modelli multi-fisica ampi e complessi;
• accelerazione della modellizzazione tramite la composizione di modelli grafici;
• simulazione piu veloce con il pre-processing simbolico;
• possibilita di definizione di componenti per modelli definiti dall’utente;
• possibilita di interfacciamento con altri programmi;
• animazioni 3D;
• supporto per la simulazione real-time;
L’architettura del programma e mostrata in figura 2.3. Dymola ha un potente editor grafico
per la composizione dei modelli ed e basato sull’utilizzo di modelli Modelica memorizzati in
file. I dati e le icone associate ai modelli possono anche essere importate dai file. Dymola
contiene un traduttore complesso, basato algoritmi allo stato dell’arte per la manipolazione
simbolica, per generare codice C efficiente ed ottimizzato per la simulazione. Il codice C puo
essere inoltre esportato in Simulink e piattaforme hardware-in-the-loop. E’ inoltre incluso un
generatore di documentazione automatico.
In aggiunta a quanto detto finora, Dymola offre un supporto speciale per i modelli multi-
corpo, permettendo la connessione di componenti in una modalita praticamente arbitraria. Nel
12 2. Modellizzazione orientata agli oggetti e simulazione
Figura 2.3: L’architettura di Dymola
caso in cui sia necessario modellizzare una catena cinematica chiusa, non e necessario adottare
alcun accorgimento particolare, dato che e tale struttura e automaticamente rielaborata in modo
efficiente attraverso tecniche di manipolazione simbolica. Inoltre, quando si realizza un model-
lo di un multicorpo, tutti i componenti vengono automaticamente visualizzati in un ambiente di
animazione tridimensionale, utilizzando appropriate dimensioni e colori definibili dall’utente,
permettendo un semplice controllo visuale del modello costruito, senza lavoro aggiuntivo per il
modellista.
2.5 Dal modello Modelica al codice di simulazione
Il passaggio dal codice Modelica all’attuale codice di simulazione e complesso e composto
da vari passi, come mostrato in figura 2.4. E’ importante sottolineare che tale processo e
completamente automatico e trasparente all’utente.
Il primo passo consiste nella traduzione nel cosiddetto “codice piatto” (per esempio un
2.5 Dal modello Modelica al codice di simulazione 13
codice composto da sole equazioni, costanti, variabili e chiamate a funzioni): prima viene ef-
fettuato un controllo sintattico sul codice originale, successivamente tutte le classi sono espanse
e, alla fine, tutte le equazioni esplicite del modello Modelica e dei suoi sottomodelli sono rag-
gruppate insieme a tutte le equazioni derivate dalle dichiarazioni di connessione. Il risultato di
questo primo passo e un sistema DAE (Differential-Algebraic Equation) della forma seguente:
F(t, x,x,y,u, p) = 0 (2.1)
dove t e la variabile tempo (indipendente), x e un vettore contenente tutte le variabili che com-
paiono come differenziate, y contiene tutte le variabili di equazioni esclusivamente algebriche,
u e il vettore degli input (noti) e p e il vettore dei parametri.
Un sistema DAE puo essere estremamente difficile da risolvere numericamente, special-
mente in caso di indice elevato1, richiedendo quindi una manipolazione simbolica ulteriore per
trasformare il sistema in una forma che permette un’integrazione facile ed efficiente.
In un secondo passo, il codice piatto e analizzato per verificare che il sistema DAE sia strut-
turalmente non singolare2, quindi il sistema viene riformulato in modo che la matrice d’inci-
denza sia triangolare bassa (detta anche BLT (Block Lower Triangular)) utilizzando l’algoritmo
di Tarjan[74]. Il sistema DAE originario e ora partizionato in sottosistemi DAE (i blocchi della
matrice) che possono essere risolti in sequenza.
Il terzo passo, la fase di ottimizzazione, racchiude operazioni molto complicate: prima le
equazioni corrispondenti a semplici assegnamenti (per esempio x = w, x = wT ), generalmente
utilizzate in grande numero nelle dichiarazioni di connessione, sono semplificate ed eliminate,
successivamente vengono scelte le variabili di stato e, se necessario, viene ridotto l’indice del
sistema sfruttando l’algoritmo di Pantelides [54] e il metodo delle derivate fittizie. Successi-
vamente, viene estrapolata una matrice di adiacenza ridotta, dove le righe rappresentano tutte
le equazioni e le colonne solamente le variabili algebriche. In seguito l’operazione di tear-
ing viene effettuata sulla matrice in questione: l’obiettivo e riformulare il sistema di equazioni1 L’indice differenziale di un sistema DAE e definito come il minimo numero di volte che tutte le parti del
sistema stesso devono essere differenziate rispetto al tempo per estrarre, attraverso la manipolazione simbolica, unODE esplicito per tutte le incognite[39]. Un sistema DAE e detto ad indice elevato se il suo indice e almeno 2.
2 Dato un sistema di equazioni F(z) = 0, la matrice di incidenza del sistema e la matrice dove l’elementodella posizione (i,j) e diverso da zero se e solo se la variabile z j compare nell’equazione f j. Il sistema e dettostrutturalmente singolare se la matrice di incidenza e singolare
14 2. Modellizzazione orientata agli oggetti e simulazione
acausale per trasformarlo in un insieme di assegnamenti (causali, dove le variabili alla sinistra
del segno di assegnamento sono calcolate direttamente iniziando dall’espressione a destra) e
da equazioni implicite dove le variabili che devono essere risolte sono inizializzate, sebbene
non sia possibile trasformare le equazioni in assegnamenti (solitamente a causa di forti non lin-
earita). Dopo le operazioni di tearing, la matrice di adiacenza ridotta del sistema e in forma
BTF (Bounded Triangular Form), con assegnamenti che corrispondono alla parte triangolare
ed equazioni implicite che corrispondono alla parte che e stata ridotta. Alla fine di questa fase
si ottiene un set minimale di equazioni differenziali (che corrisponde agli stati selezionati) e
equazioni algebriche (il generico sistema DAE ha indice 0 o 1).
Il quarto passo genera codice C, che verra utilizzato per la simulazione attuale, collegando
il sistema di equazioni al solutore numerico. In Dymola si possono scegliere molti solutori nu-
merici, sia a passo variabile (per esempio DASSL[58], ODASSL[27], DOPRI[16], MEXX[40],
LSODAR[65], DEABM[65], eccetera) che a passo fisso (per esempio Eulero implicito ed
esplicito, Runge-Kutta di ordini differenti, eccetera).
Nell’ultima fase, il codice C generato precedentemente viene compilato per produrre un file
eseguibile di simulazione. Sono supportati differenti compilatori C, sia open-source, come gcc,
che proprietari, come Microsoft Visual C++.
In generale, e opportuno chiedersi se la scelta di utilizzare un linguaggio di modellizzazione
di alto livello come Modelica, che facilita molto il compito del modellista, debba essere “pa-
gata” in termini di efficienza del codice di simulazione e quindi in termini di complessita
computazionale. La risposta, almeno per il caso di Modelica e Dymola, e negativa; infatti, le
tecniche di manipolazione simbolica delle equazioni permettono di ottenere automaticamente
codice di simulazione la cui efficienza e spesso comparabile, o addirittura migliore, rispetto a
quella di codice Fortran, C o Matlab sviluppato laboriosamente “a mano”, con notevoli difficolta
di sviluppo, potenzialmente fonte di errori e difficili da documentare e riusare.
2.5 Dal modello Modelica al codice di simulazione 15
Figura 2.4: Il processo dal codice Modelica alla simulazione
16 2. Modellizzazione orientata agli oggetti e simulazione
Capitolo 3
Il modello della motocicletta
3.1 Introduzione
L’implementazione e la simulazione di sistemi di oggetti multicorpo, in ambiente totalmente
acausale, consente di ottenere risultati relativi al comportamento statico e dinamico di tali
modelli e alle interazioni fisico-meccaniche che si verificano tra i vari componenti. Grazie
a questo tipo di approccio, la realta e vista come totalmente modularizzata: ogni blocco puo
essere considerato distintamente e, in base a leggi fisiche, puo scambiare forze con quelli col-
legati. Questa peculiarita e fondamentale e rappresenta uno dei maggiori vantaggi offerti da
Modelica, in quanto permette di simulare fenomeni complessi senza doverli necessariamente
introdurre in modo esplicito. Per esempio e possibile apprezzare gli effetti centrifughi e giro-
scopici causati dal rotolamento degli pneumatici senza aver inserito esplicitamente il momento
di autoallineamento.
Questo studio si propone, sfruttando le potenzialita precedentemente citate, di approfondire
i complessi fenomeni che caratterizzano la dinamica dei veicoli a due ruote. Il processo di mod-
ellizzazione della realta fisica ha fatto emergere, in prima approssimazione, tre entita principali
(figura 3.1):
• Corpo: comprende il pilota e tutto il “corpo” della motocicletta (sospensioni, pneumatici,
sterzo,. . . );
17
18 3. Il modello della motocicletta
Figura 3.1: Macro-schema del modello
• Superficie stradale: e la modellizzazione del manto stradale sul quale si muove la moto-
cicletta;
• Interazione pneumatico-strada: interfaccia i due componenti precedenti, simulando le
forze di contatto presenti.
Nel contesto di analisi sopra citato e importante sottolineare che alcuni aspetti sono stati
considerati secondari ed estranei a questo lavoro. In particolare il modello in questione ha
subito le seguenti assunzioni semplificative:
• la trasmissione della potenza del motore alla ruota avviene in modo ideale,
• il pilota e solidale con la motocicletta,
• tutti i componenti, tranne gli pneumatici e gli ammortizzatori, sono stati considerati corpi
rigidi,
3.2 Corpo della motocicletta 19
• il manto stradale e stato considerato indeformabile,
• tutti i giunti rotazionali (sterzo, mozzo anteriore e posteriore e giunto del braccio flottante
posteriore) sono stati considerati privi di attrito,
• gli pneumatici e i freni non sono soggetti a surriscaldamento,
• le pastiglie dei freni si usurano uniformemente e
• le forze di resistenza aerodinamica non hanno componenti in direzione trasversale rispetto
all’asse della motocicletta.
3.2 Corpo della motocicletta
Il processo di astrazione seguito ha identificato come caratteristiche fondamentali del “corpo”
di una motocicletta le geometrie, il peso e l’inerzia dei vari componenti. Macroscopicamente la
struttura puo essere suddivisa in diverse entita fondamentali:
Chassis: comprende il telaio, il giunto rotazionale che rappresenta lo sterzo e il manubrio;
Sospensione anteriore: e rappresentata da un doppio sistema molla-smorzatore con caratter-
istica non lineare personalizzabile, e connessa sia al giunto rotazionale dello sterzo che al
mozzo della ruota anteriore;
Sospensione posteriore: e costituita da una molla ed uno smorzatore posti in parallelo, en-
trambi con caratteristica non lineare personalizzabile;
Braccio flottante posteriore: e il braccio che connette, tramite un giunto rotazionale, il telaio
al mozzo della ruota posteriore;
Freno anteriore/posteriore: e costituito da un freno a disco con attuazione pneumatica;
Pneumatici: contengono al loro interno il modello di interazione con il terreno (con due dif-
ferenti modelli d’attrito);
20 3. Il modello della motocicletta
Pilota: rappresenta il pilota e comprende i baricentri e le inerzie della parte superiore e inferiore
di questo e le leggi di controllo della motocicletta.
Sebbene i componenti precedentemente citati accomunino quasi tutti i veicoli a due ruote, e
altresı vero che le differenze geometriche, dimensionali, strutturali, di peso e di assemblamento
contribuiscono a differenziare notevolmente ogni motocicletta. Il comportamento dinamico,
anche se strettamente influenzato dallo stile di guida e dai riflessi del pilota, e caratteristico della
particolare moto. Tra gli aspetti geometrici maggiormente significativi si devono menzionare
l’angolo di caster, il passo e trail.
Figura 3.2: Passo, angolo di caster e trail
In seguito sono riportate delle considerazioni per analizzare differenti aspetti dinamici al
variare del passo, dell’angolo di caster e trail (si varia una grandezza alla volta, mantenendo
costanti le altre due, a rotazione).
Il valore del passo1 varia in base al tipo di veicolo considerato: si parte da 1200 mm per
gli scooter fino ad arrivare a quasi 1600 mm delle motociclette da turismo di grossa stazza. Un
passo elevato causa alcuni problemi, tra cui:
1 Il passo e la distanza tra il punto di contatto del pneumatico anteriore e quello posteriore.
3.2 Corpo della motocicletta 21
• un indesiderato aumento della deformabilita flessionale e torsionale del telaio che provoca
una diminuzione della manovrabilita,
• una diminuzione del raggio minimo di curvatura,
• un aumento della coppia da fornire allo sterzo per poter effettuare una curva,
ma migliora alcuni aspetti:
• ottimizza la distribuzione del carico tra ruota anteriore e posteriore, migliorando l’assetto
in frenata e in accelerazione,
• riduce il movimento di beccheggio in corrispondenza delle irregolarita della strada,
• accresce la stabilita direzionale.
L’angolo di caster2 e molto importante per la manovrabilita della motocicletta e varia da 19°
delle motociclette Speedway a 33° per quelle da turismo.
Da un punto di vista strutturale, un angolo molto piccolo causa un notevole stress sulla for-
cella durante la fase di frenata e quindi delle pericolose vibrazioni sulla parte anteriore.
Il valore di trail3 dipende dal tipo di motocicletta e dal passo, varia tra valori di 75-90 mm
per le motociclette da competizione fino a 120 mm per quelle da puro turismo.
E’ strettamente legato al valore dell’angolo di caster: in generale, per avere un buon feeling
con la motocicletta, un aumento del trail deve essere abbinato ad un aumento dell’angolo di
caster.
2 L’angolo di caster e l’angolo compreso tra l’asse di funzionamento degli ammortizzatori anteriori e l’asseverticale assoluto.
3 Trail e la distanza tra la proiezione del mozzo della ruota anteriore sul piano stradale e il punto ottenuto dalprolungamento dell’ammortizzatore anteriore (lungo il suo asse) sulla strada.
22 3. Il modello della motocicletta
3.3 Superficie stradale
La modellizzazione della superficie stradale e di notevole importanza: e indispensabile per
simulare correttamente l’interazione del pneumatico con la strada, soprattutto in condizioni di
attrito e pendenza variabili.
Lo studio svolto e stato focalizzato sull’aspetto geometrico-vettoriale del manto stradale:
la strada e ipotizzata essere una superficie indeformabile definita da una specifica funzione
matematica z = f (x,y), della quale e possibile calcolare quota e versore normale (n) in ogni
punto (x,y).
La superficie stradale e caratterizzata inoltre, in ogni suo punto, da uno specifico coefficiente
d’attrito, utile per modellizzare condizioni di bagnato, ghiaccio e neve.
3.4 Interazione pneumatico-superficie stradale
I fenomeni fisici che si verificano nel processo di rotolamento e sfregamento tra due superfici
sono di natura molto complessa e non sempre identificabili da leggi ben determinate.
In questo studio la superficie di contatto e identificata da un sistema di riferimento, nel
quale sono definite tutte le forze di interazione. L’identificazione della terna del punto di con-
tatto reale parte da una considerazione di carattere puramente logico-analitico: il sistema di
equazioni (vincoli) deve essere espresso correttamente e deve avere sempre una e una sola
soluzione, perlomeno negli scenari considerati. Per rispettare questa ipotesi e necessario con-
centrare l’attenzione sull’interpretazione geometrica del punto di contatto e verificare che non
sia ambigua.
Lo schema generale
Lo schema concettuale del modello d’interazione tra il pneumatico e la superficie stradale e
illustrato in figura 3.3. Il modello d’interazione pneumatico-strada calcola le forze generate dal
contatto tra il pneumatico e la strada e quelle derivanti dalla connessione al mozzo della ruo-
ta, inserite esplicitamente attraverso un connettore meccanico. Queste forze vengono definite
3.4 Interazione pneumatico-superficie stradale 23
considerando le caratteristiche della superficie stradale e determinate nel relativo modello. La
connessione tra il modello d’interazione pneumatico-strada e quello del manto stradale e quindi
realizzata implicitamente attraverso dichiarazioni di tipo inner/outer, generalmente usate
per descrivere campi di forze. In questo modo la descrizione della strada e disponibile per tutti
i componenti presenti.
Figura 3.3: Schema concettuale d’interazione tra il pneumatico e la superficie stradale
Le caratteristiche d’attrito
Come descritto precedentemente, il modello della strada e essenzialmente definito da una su-
perficie di equazione f (x,y,z) = 0, della quale e possibile calcolare il versore normale tramite
la formula:
n =∇ f|∇ f |
, (3.1)
e dalle caratteristiche d’attrito, che possono essere associate ai coefficienti d’attrito longitudi-
nale e laterale:
µx =|Fx||Fz|
, (3.2)
µy =|Fy||Fz|
, (3.3)
24 3. Il modello della motocicletta
dove:
Fx e la forza d’attrito longitudinale,
Fy e la forza d’attrito laterale e
Fz e il carico verticale.
Questi coefficienti determinano le caratteristiche della superficie stradale (figura 3.4), sono fun-
zione del pattinamento della ruota e permettono al modello di simulare differenti condizioni
d’aderenza.
Figura 3.4: Comportamento della funzione µx(λ) in differenti condizioni stradali
I sistemi di riferimento del modello
L’interazione pneumatico-strada viene descritta introducendo quattro sistemi di riferimento,
chiamati in seguito frame e mostrati in figura 3.5:
• il frame del mozzo,
3.4 Interazione pneumatico-superficie stradale 25
• il frame della ruota,
• il frame del punto di contatto ideale e
• il frame del punto di contatto reale.
Figura 3.5: I quattro frame: frame del mozzo (in verde), wheel (in giallo), frame del punto dicontatto ideale (in rosso) e del punto di contatto reale (in blu).
Il frame del mozzo e connesso al mozzo della ruota e si muove solidalmente a questa, quin-
di ruota attorno all’asse yh (asse di rotazione del mozzo). Questo frame e connesso al giunto
rotazionale e collega la ruota al mozzo.
Il frame wheel e connesso, come il precedente, al mozzo della ruota, ha il versore yw coin-
cidente con yh, ma differisce per gli altri due. La direzione e il verso dell’asse xw coincidono
con quelli della velocita di rotazione equivalente della ruota, che si ottengono dall’intersezione
tra due piani: quello tangente alla superficie nel punto di contatto ideale (d’ora in poi chiamato
piano stradale) e il piano su cui giace la ruota (figura 3.6).
Il piano stradale viene individuato dal versore normale alla superficie (n) e dalla quota alla
quale si trova il punto di contatto ideale.
26 3. Il modello della motocicletta
Il piano su cui giace la ruota e il piano ortogonale al versore uscente dal mozzo yw e che
contiene l’origine del mozzo stesso4. Il versore zw del frame wheel completa la terna:
yw = yh , (3.4)
xw =yw×n|yw×n|
, (3.5)
zw = xw×yw . (3.6)
Figura 3.6: Identificazione della direzione della velocita di rotazione equivalente della ruota
Il frame del punto di contatto ideale ha l’origine appartenente al piano della strada, lungo
la direzione identificata da zw, il versore zi corrispondente con il versore della strada n, xi
coincidente con xw e yi che completa la terna del frame:
zi = n , (3.7)
xi = xw , (3.8)
yi = zi×xi . (3.9)4 L’intersezione tra due piani non paralleli ha sempre come risultato una retta; nel caso in cui il piano della
ruota e quello stradale fossero paralleli si verificherebbero situazioni che esulano dagli scopi di questo studio,ossia quando l’angolo di rollio, in valore assoluto, supera π
2 . Nemmeno la proiezione di un punto su di una rettae un’operazione che da adito ad ambiguita, quindi l’ipotesi di univocita istantanea del frame del punto di contattoideale e verificata.
3.4 Interazione pneumatico-superficie stradale 27
L’individuazione di ri, origine del frame del punto di contatto ideale, e calcolato come:
ri = rh−∆zzw (3.10)
dove:
rh corrisponde all’origine del frame del mozzo,
∆z rappresenta la distanza tra il frame del mozzo e il piano della strada, lungo la direzione di
zw.
La traslazione dal punto di contatto ideale a quello reale
Il frame del punto di contatto ideale e reale hanno il medesimo orientamento e differiscono
esclusivamente per l’origine. L’origine del frame del punto di contatto reale e traslato rispetto
a ri attraverso le cosiddette tracce del pneumatico:
rr = ri +Rr
δx
δy
0
, (3.11)
dove Rr rappresenta la matrice di rotazione dal frame del punto di contatto reale al frame
assoluto.
In sequenza, gli spostamenti δx, δy e δz, sono stati calcolati come5:
δx = fwR sgn(vx), (3.12)
δy = (∆z−R)sin(ϕ), (3.13)
δz = (∆z−R)cos(ϕ), (3.14)
dove:
R e il raggio della ruota,
vx e la velocita di avanzamento del punto di contatto sul terreno e
5 La funzione sgn(x) e stata smussata, utilizzando la funzione sgn(x)≈ 2π
arctan(kx), con k ≈ 1010.
28 3. Il modello della motocicletta
fw e il coefficiente di attrito volvente, che puo essere calcolato come:
fw = A+Bp
+Cp
v2x , (3.15)
dove:
p e la pressione dello pneumatico,
vx la velocita di avanzamento della ruota, cioe:vx
vy
vz
= RTr vr = RT
rdrr
dt,e (3.16)
A, B e C opportuni parametri non negativi.
L’angolo di rollio φ e calcolato come:
φ =−arctanzT
wyr
zTwzr
. (3.17)
Le forze scambiate con la superficie stradale
Le forze che nascono dall’interazione pneumatico-strada possono essere decomposte in una
forza verticale Fz, una forza longitudinale Fx e una forza laterale Fy.
Forza normale
La forza normale, Fz, puo essere calcolata come:
Fz =−(
Kelδz +Deldδz
dt
)zr (3.18)
con:
Kel costante elastica e
Del costante di smorzamento,
che descrivono le proprieta elastiche del pneumatico.
Allo stesso modo possono essere definite le forze longitudinali e laterali, impiegando differ-
enti modelli in base alle finalita perseguite. E’ possibile adottare il modello lineare o quello piu
complesso che utilizza la formula di Pacejka[20, 67].
3.4 Interazione pneumatico-superficie stradale 29
Forza longitudinale e laterale con il modello d’attrito lineare
La forza longitudinale Fx e sia una forza di trazione Ft , durante la fase di accelerazione, che
una forza frenante F f . Nel modello lineare sono entrambe calcolate esclusivamente in funzione
dello slittamento della ruota λ, come:
Fx = µ0xλxr, (3.19)
dove:
µ0x =
∂|Fx|∂λ
∣∣∣λ=0
, (3.20)
rappresenta il coefficiente lineare della curva descritto in figura 3.3 e
λ = R
0
1
0
T
RTr ωr− vx. (3.21)
La forza laterale Fy e calcolata come:
Fy =(kαα− kϕϕ
)Fz =
(Kαα−Kϕϕ
)yr, (3.22)
con α che rappresenta l’angolo di sideslip, cioe l’angolo compreso tra il vettore rappresentante
la velocita equivalente di rotazione della ruota (ωR) e quello della velocita del punto di contatto
sulla superficie stradale vx. Questo valore e dato da:
α =−arctanvy
vx. (3.23)
inoltre:
Kα :=∂|Fy|∂α
∣∣∣α=0,ϕ=0
(3.24)
rappresenta cornering stiffness, mentre
Kϕ :=∂|Fy|∂ϕ
∣∣∣α=0,ϕ=0
(3.25)
descrive camber stiffness.
30 3. Il modello della motocicletta
Forza longitudinale e laterale con il modello d’attrito di Pacejka
Anche in questa modellizzazione la forza longitudinale Fx e sia una forza di trazione Ft ,
durante la fase di accelerazione, che una forza frenante F f . Nel modello di attrito di Pacejka
sono definite come:
Fx = Dx sinCx arctan[Bxλ−Ex(Bxλ− arctan(Bxλ))], (3.26)
dove:
Bx = Kxλ/(CxDx), e un coefficiente che definisce l’inclinazione della curva,
Cx e un parametro che regola il valore asintotico,
Dx = ρxFz, influenza il valore di picco (solo se E < 1) e dipende dal carico verticale,
ρx = pDx1 +PDx2d fz,
Ex = (pEx1 + pEx2d fz + pEx3d f 2z )(1− pEx4sgn(λ)) caratterizza la curvatura in prossimita del
picco,
Kxλ = Fz(pKx1 + pKx2d fz) · exp(pKx3d fz),
d fz = (Fz−Fz0)/Fz0,
Fz0 e la reazione vincolare nominale.
Il discorso e analogo per la forza laterale, che e calcolata come:
Fy = Dy sinCy arctan[Byβ−Ey(Byβ−arctan(Byβ))]+Cγ arctan[Bγλ−Eγ(Bγλ−arctan(Bγλ))],
(3.27)
dove:
β e il sideslip,
By = Kyα/(CyDy),
Cy e un parametro positivo,
3.4 Interazione pneumatico-superficie stradale 31
Dy = ρyFz,
ρy = pDy1 exp(pDy2d fz)/(1+ pDy3γ2),
γ e l’angolo di camber,
Ey = pEy1 + pEy2γ2 + pEy4γsgn(β),
Kyγ = Fz(pKy6 + pKy7d fz),
Kyα0 = pKy1Fz0 sinpKy2 arctan[Fz/((pKy3 + pKy4λ2)Fz0)],
Kyα = Kyα0/(1+ pKy5γ2),
Bγ = Kyγ/(CγDy),
Cγ e un altro parametro positivo,
Eγ = pEy5 .
Nel complesso le forze di interazione possono essere studiate direttamente nel punto di con-
tatto, evitando quindi di dover considerare anche tutti gli effetti causati dallo spostamento di
questo, come ad esempio il momento di attrito, forniti automaticamente inserendo le equazioni
di bilancio al mozzo della ruota.
Le equazioni di bilancio: coppie e momenti generati
Per esprimere correttamente le equazioni di bilancio delle forze e opportuno considerare, oltre
alle forze d’interazione precedentemente descritte, anche le forze Fh (e coppie τh) del mozzo:
0 = Fh +Fx +Fz +Fy (3.28)
0 = τh +(rr− rh)× (Fx +Fz +Fy) . (3.29)
Le coppie generate dall’interazione tra pneumatico e superficie stradale sono, in gran parte, au-
tomaticamente ricavate dalle equazioni di bilancio delle forze al mozzo della ruota, descritte
32 3. Il modello della motocicletta
precedentemente. Sebbene molte di queste siano da considerarsi intrinseche alla modelliz-
zazione proposta, e interessante studiare alcuni fenomeni che coinvolgono l’interazione tra gli
pneumatici e la strada, quali momento di autoallineamento e momento di twisting.
La distribuzione del carico, inteso come sforzo di taglio laterale, generato dal sideslip della
ruota, non e simmetrico, quindi la forza laterale risultante e applicata in un punto differente dal
punto di contatto a ruota ferma. Questo offset di applicazione della forza laterale genera un
momento che tende a far diminuire l’angolo di camber.
Un altro fenomeno molto interessante da osservare e il momento di twisting. Si consideri
una ruota che si muove su di un piano a velocita angolare costante Ω e con l’asse di rotazione
inclinato rispetto al piano stradale e si indichi con C0 l’intersezione dell’asse di rotazione col
piano della strada e con C il centro di rotazione della traiettoria descritta dalla ruota (figura 3.7).
Nel caso in cui C e C0 coincidano la ruota si sta muovendo in assenza di pattinamento longi-
tudinale, infatti la velocita tangenziale e quella di avanzamento di due punti A e B, appartenenti
alla superficie di contatto, sono uguali6:
ω rA = Ω RA; (3.30)
ω rB = Ω RB. (3.31)
dove:
rA e la distanza tra C0 e B;
rB e la distanza tra C0 e B;
RA e la distanza tra C e A;
RB e la distanza tra C e B.
6 La velocita tangenziale di A (o B), calcolata come prodotto della velocita angolare della ruota per il raggio(distanza tra C0 e A (o B)), e uguale a quella di avanzamento, risultato del prodotto tra la velocita angolare dipercorrenza della curva e il raggio (distanza tra C e A (o B)).
3.5 Aerodinamica 33
Figura 3.7: Generazione del momento di twist
Nel caso in cui C e C0 non coincidano, come accade solitamente per la ruota di una motoci-
cletta, dove il centro di curvatura C e posizionato sempre esternamente rispetto a C0, i due punti
A e B si muovono con velocita differenti.
Ipotizzando che al centro dell’area di contatto la velocita sia uguale a quella di avanza-
mento, si potrebbero identificare due zone della superficie di contatto: quella interna che ha
complessivamente velocita inferiore a quella di avanzamento, e quindi slip negativo, e quella
esterna con velocita superiore e quindi slip positivo. Queste differenze di slip causano un mo-
mento sulla ruota che viene chiamato di twisting. Il momento di twisting assume circa lo stesso
valore dell’angolo di rollio (espresso in gradi), influisce percio considerevolmente nelle curve
piu impegnative.
3.5 Aerodinamica
Per simulare correttamente le manovre a velocita medio-alte e indispensabile includere nel mod-
ello le forze aerodinamiche, dovute all’attrito tra l’aria e il complesso motocicletta-pilota, che
34 3. Il modello della motocicletta
si oppongono al movimento.
Le forze di resistenza aerodinamica sono sostanzialmente tre:
• Drag Force (Forza di tiro): si oppone al moto longitudinale;
• Lift Force (Forza di sollevamento): tende ad alzare la motocicletta (fenomeno simile alla
portanza aerodinamica);
• Lateral Force (Forza Laterale): agisce in direzione laterale, perpendicolarmente all’asse
della motocicletta;
Figura 3.8: Forze di resistenza aerodinamica
Queste forze possono essere applicate in un punto denominato centro delle pressioni che
non coincide con il baricentro della motocicletta ma si trova generalmente davanti ad esso. Le
componenti piu significative sono Drag Force e Lift Force e la loro risultante genera un momen-
to di beccheggio.
Drag Force influenza pesantemente le performance in termini di velocita massima e acceler-
azione dato che cresce proporzionalmente al quadrato della velocita longitudinale. Il suo valore
viene calcolato tramite la formula:
Fd =12
ρ Cx A (vx)2 (3.32)
3.5 Aerodinamica 35
ρ rappresenta la densita dell’aria (e pari a 1.167Kg/m3 alla pressione atmosferica di 987mbar
e alla temperatura di 20°C);
Cx rappresenta il coefficiente di penetrazione aerodinamica frontale. Il suo valore e influen-
zato principalmente dalla forma della motocicletta, in particolare dalla presenza o meno
della carenatura e dai vortici che si possono formare;
A e la sezione frontale della motocicletta. E’ influenzata marcatamente sia dalla statura che
dalla postura del pilota;
vx e la componente longitudinale della velocita.
Un’altra forza non trascurabile e Lift Force (anch’essa proporzionale al quadrato della ve-
locita) che riduce il carico sul pneumatico anteriore e posteriore. Viene calcolata tramite la
formula:
Fl =12
ρ Cl A(vx)2 , (3.33)
dove Cl rappresenta il coefficiente di sollevamento.
Questa forza (a causa dell’alleggerimento di carico che provoca) puo avere effetti dele-
teri sull’aderenza degli pneumatici, specialmente su quello anteriore dato che il centro delle
pressioni e collocato anteriormente.
36 3. Il modello della motocicletta
Capitolo 4
Il Package MotorcycleDynamics
4.1 Introduzione
In questo capitolo e illustrata l’implementazione del modello “concettuale” di una motociclet-
ta (presentato nel capitolo precedente). Inizialmente e introdotta la libreria Multibody, con la
quale e stato realizzato il modello, e in seguito e descritto dettagliatamente il package
MotorcycleDynamics, esaminando ogni modulo di cui e composto e gli aspetti implemen-
tativi ritenuti piu significativi.
4.2 La libreria Multibody
La libreria Multibody del linguaggio Modelica offre svariati modelli di componenti meccanici
tridimensionali (e.g. giunti rotazionali e prismatici, corpi con forme differenti, molle, smorza-
tori, ecc. . .) adatti a rappresentare sistemi complessi di oggetti multicorpo. E’ anche possibile
creare, in modo semplice, nuovi componenti che possono essere usati in combinazione con
quelli predefiniti.
L’interfaccia standard (connector) e associata ad un frame di riferimento, quindi per con-
nettere due componenti e necessario collegare tra loro i due frame di riferimento. Questa con-
nessione equivale ad una “saldatura” ideale realizzata tra i due corpi. Il connettore (figura 4.1)
considera le forze e le coppie come variabili di flusso, mentre le variabili di sforzo sono ricavate
37
38 4. Il Package MotorcycleDynamics
Figura 4.1: Schema di un connettore meccanico
sia dalla posizione del frame del connettore rispetto al frame assoluto (world) che da un “ori-
entation object”. Quest’ultimo e stato progettato per rappresentare efficientemente la rotazione
relativa tra il frame del connettore e quello assoluto in qualsiasi condizione dinamica.
La rappresentazione interna dell’orientamento (i componenti della matrice di rotazione) e
completamente mascherata all’utente. Inoltre sono disponibili dei metodi per calcolare le ma-
trici di rotazione, le velocita angolari,. . . , in questo modo non e necessario essere a conoscenza
della descrizione reale dell’orientamento.
La velocita, l’accelerazione lineare e l’accelerazione angolare possono essere facilmente
calcolate applicando l’operatore di derivazione der() all’opportuna variabile.
I modelli multicorpo possono essere realizzati in modo semplice tramite adeguate oper-
azioni di “drag & drop” dei componenti disponibili nella libreria e con semplici connessioni.
Il componente world deve essere presente in tutti i modelli per definire il frame di riferimen-
to assoluto e il tipo di campo gravitazionale (nessuna gravita, gravita uniforme o puntiforme).
Un esempio e mostrato in figura 4.2, dove e rappresentato il modello di una catena cinemat-
ica, spesso usato come unita di costruzione basilare nei meccanismi, costituito da sei giunti
rotazionali, un giunto prismatico e quattro aste. Questo esempio dimostra che, per creare catene
4.3 Il package MotorcycleDynamics 39
cinematiche, non e richiesta nessuna particolare conoscenza da parte dell’utente, e solamente
necessario collegare, in modo coerente al sistema che si intende modellizzare, i giunti e le aste.
Figura 4.2: Esempio di catena cinematica: lo schema delle connessioni e il contributo graficodell’animazione creata
4.3 Il package MotorcycleDynamics
Il package MotorcycleDynamics e un pacchetto di libreria per Dymola, scritto in Modelica
2.2 che fornisce tutti gli strumenti utili per lo studio tramite prototipazione virtuale di qualsiasi
componente a due ruote: biciclo e motociclo.
Per la realizzazione del modello, e stata sfruttata la possibilita di incapsulamento offerta dal
linguaggio Modelica con una duplice finalita: sia per dare una struttura gerarchica al progetto
che per poter agire in modo trasparente e intuitivo su ogni singolo componente.
Il package qui descritto, e stato sviluppato per affiancare la libreria VehicleDynamics pre-
sente in Dymola e ne rispecchia, almeno in parte, l’organizzazione strutturale. Macroscopi-
camente il package e organizzato ad albero, nel livello piu alto sono presenti un modello di
motocicletta (standard) e 8 sotto-package:
• Motorcycle: e il modello di una motocicletta assemblata con tutti i componenti di
default (sospensioni, ruote,. . . );
40 4. Il Package MotorcycleDynamics
• Package Chassis: contiene la struttura standard dello chassis e i relativi dati dimen-
sionali. E’ possibile definire nuovi chassis o personalizzare quelli esistenti;
• Package Suspension: racchiude il modello dell’ammortizzatore anteriore, comprensi-
vo di forcella e sterzo, e dell’ammortizzatore posteriore;
• Package Rear Swinging Arm: all’interno e definito il braccio flottante posteriore,
anch’esso di dimensioni e caratteristiche fisiche totalmente parametrizzabili;
• Package Wheel: contiene tutti i componenti, i parametri, le dimensioni, le inerzie e i
modelli d’attrito delle ruote;
• Package Driver: fornisce diversi modelli di pilota che controllano la motocicletta agen-
do su sterzo e acceleratore;
• Package Environmets: contiene la modellizzazione della superficie stradale;
• Package Aerodynamics: racchiude il modello delle forza di resistenza aerodinamica;
• Package Example: alcuni esempi di utilizzo della libreria.
Di seguito sono state descritte le parti piu siginificative dell’implementazione di questo
pacchetto di libreria, con espliciti riferimenti a stralci di codice Modelica.
4.4 Geometrie, inerzie, masse e altri parametri
Per svolgere simulazioni realistiche non e necessario solamente un buon modello fisico ma an-
che un modello che rispetti le specifiche tecniche del progetto, si pensi solamente a quanto
influisce sul comportamento dinamico una variazione, anche minima, dell’angolo di caster (si
veda il capitolo precedente). Inoltre, un altro fattore molto importante e la possibilita di “per-
sonalizzare” i componenti: ogni blocco parametrico accresce la scalabilita del modello che puo
adattarsi a motociclette con caratteristiche diverse. All’interno di ogni sottopackage sono pre-
senti dei record1 (allo stesso livello di visibilita del componente che li utilizza) che contengono1 I record sono organizzazioni strutturate di dati che sono state associate ad ogni componente parametrico
presente nella libreria.
4.4 Geometrie, inerzie, masse e altri parametri 41
Figura 4.3: Le geometrie della moto, del pilota e le posizioni dei baricentri
dati per definire geometrie, inerzie, masse e parametri di ogni singolo componente, tra questi:
• Base Dimension MassPosition Data: contiene i dati relativi al pilota e le di-
mensioni dei vari componenti della motocicletta, oltre che la posizione dei baricentri
(figura 4.3).
• Base Chassis Data: utilizzato per definire i tensori d’inerzia e la massa dello chas-
sis;
• Base Front Suspension Data: per modificare i tensori d’inerzia, la massa della
forcella anteriore e dello sterzo e le caratteristiche della molla e dello smorzatore della
sospensione anteriore;
• Base Rear Suspension Data: contiene le caratteristiche della molla e dello smorza-
tore per la sospensione posteriore;
• Base Swinging Arm Data: definisce inerzie e masse del braccio flottante posteriore;
42 4. Il Package MotorcycleDynamics
• Base Wheel Data: contiene le inerzie, le masse e le dimensioni delle ruote e il coeffi-
ciente elastico e smorzante del pneumatico (per il calcolo della reazione vincolare).
4.5 Il modello Motorcycle
Il modello Motorcycle collega tutti i componenti della moto: telaio, sospensioni, ruote,. . . Nella
figura 4.4 e rappresentato lo schema generale del modello, dove e possibile osservare tutti i sot-
tosistemi che compongono la motocicletta. Le doppie frecce indicano le connessioni esistenti
tra i vari componenti, ossia i collegamenti tra frame che permettono il bilancio di forze e coppie.
Volutamente il blocco che rappresenta la strada non presenta connessioni, in quanto la motoci-
cletta non deve essere immaginata come “incollata” al manto stradale, ma come un corpo che
“naviga” nell’aria.
Figura 4.4: Schema generale delle connessioni
4.6 Il package Suspension
Questo package contiene il modello base degli ammortizzatori Base Suspension, le sospen-
sioni anteriori Front Suspension (che comprendono la forcella anteriore, il manubrio e il
relativo fondocorsa Steer Stopper) e quelle posteriori Rear Suspension.
4.6 Il package Suspension 43
Sia gli ammortizzatori anteriori che quelli posteriori sfruttano il medesimo modello di am-
mortizzatore composto da un doppio sistema molla-smorzatore di tipo monodirezionale:
Spring_Force.u[1] = s_unstretched - s;
Shock_Absorber.u[1] = der(-s);
f = - Spring_Force.y[1] - Shock_Absorber.y[1] - PreLoad;
• (s unstretched - s) rappresenta la compressione/estensione della molla (differen-
za tra la lunghezza a riposo e sotto carico);
• Spring Force.y[1] (molla) dipende dalla compressione/estensione della molla;
• Shock Absorber.y[1] (smorzatore) dipende dalla velocita di compressione/estensione
della molla;
• PreLoad e un valore costante (parametrico) e dipende dalla taratura effettuata sugli am-
mortizzatori, consente di variare la zona di funzionamento dell’ammortizzatore e quindi
l’assetto della motocicletta.
Come si puo vedere dal codice Modelica, la forza risultante e pari alla somma di tre com-
ponenti e non considera le torsioni che la molla subisce. La prima e la seconda componente
vengono calcolate in base a due tabelle, che contengono le caratteristiche della molla e dello
smorzatore. Queste ultime consentono di specificare le non linearita presenti (il coefficiente di
elasticita della molla e il coefficiente di smorzamento dello smorzatore) e sono definiti tramite
una funzione lineare a tratti2.
E’ importante sottolineare che i valori di uscita delle tabelle vengono interpolati. Inoltre,
utilizzando le tabelle, e possibile definire con semplicita anche i fondocorsa (figura 4.5), au-
mentando opportunamente la pendenza agli estremi della caratteristica.
Anche il funzionamento del fondocorsa dello sterzo Steer Stopper e associato ad una
tabella: questo componente fornisce coppia nulla sullo sterzo quando l’angolo di sterzo si trova2 Inserendo i valori nella tabella si costruisce una funzione lineare a tratti (spezzata). Nel
caso della molla la funzione lega la deformazione (variabile indipendente s unstretched - s =Spring Force.u[1]) alla forza elastica (variabile dipendente Spring Force.y[1]); mentre, per losmorzatore, definisce il legame tra la velocita di deformazione (variabile indipendente der(s unstretched- s) = Shock Absorber.u[1]) e la forza di smorzamento (Shock Absorber.y[1]).
44 4. Il Package MotorcycleDynamics
Figura 4.5: Caratteristiche di default della molla (in alto a destra) e dello smorzatore (in altoa sinistra) della sospensione anteriore e ingrandimento della zona di funzionamento “normale”della molla (in basso)
4.7 Il package Wheel 45
all’interno della zona di funzionamento normale e coppia molto elevata nei dintorni del fondo-
corsa, assicurando quindi che l’angolo di sterzo non aumenti (in valore assoluto) oltre il limite
prefissato.
4.7 Il package Wheel
Questo package contiene tutti i componenti che riguardano ruote e pneumatici:
• la ruota standard (Standard Wheel) che puo essere opportunamente estesa e modifi-
cata;
• il modello di interazione tra il pneumatico e il manto stradale
(Wheel Road Interaction);
• i dati della ruota (package Data);
• i modelli d’attrito (package Friction Model);
• l’interfaccia di connessione tra il modello d’interazione e modello d’attrito
(Friction Connector).
In seguito verranno descritti i moduli piu rilevanti di questo package, riportando stralci di
codice Modelica per ulteriore chiarezza.
4.7.1 Il modello Wheel Road Interaction
Il modello Wheel Road Interaction, come si puo facilmente intuire, rappresenta il pneu-
matico di una motocicletta e racchiude tutte le leggi fisiche inerenti l’interazione ruota-strada.
Per comprendere la logica implementativa di questa entita e necessario evidenziare tre
aspetti fondamentali:
1. l’acausalita delle equazioni che lo compongono,
46 4. Il Package MotorcycleDynamics
Figura 4.6: Una possibile implementazione del modello di una ruota (Standard Wheel). Sipuo notare il connettore (in giallo), il sensore (triangolo con il contorno blu), il record dei dati(in alto a destra) e il corpo della ruota (in blu).
4.7 Il package Wheel 47
2. la presenza di un unico “connettore” (il mozzo della ruota) tramite il quale scambiare le
forze con l’esterno,
3. la causalita della strada, entita esterna che per ogni riferimento (x,y) fornisce il valore di
quota e il versore normale (si veda il paragrafo “Il modello Road”).
L’acausalita delle equazioni garantisce una valenza “multidirezionale” delle stesse; infatti
le formule fisiche non sono verificate esclusivamente nella forma in cui sono state esplicitate.
Questo permette di semplificare notevolmente il processo implementativo; e possibile, ad esem-
pio, considerare la reazione vincolare come N = Kel δz−Del δz, senza dover imporre direzion-
alita di esplicitazione: e implicito che N sia f (δz, δz) e che δz = f (N, δz) e, . . . . Come spiegato
in precedenza, le equazioni sono scritte in maniera indipendente dalle condizioni al contorno,
senza decidere a priori quali siano gli ingressi e quali le uscite: la causalita del sistema viene
determinata automaticamente da compilatori o interpreti Modelica.
La presenza di un unico connettore (quello del mozzo) e giustificata dal fatto che nel punto
di contatto non possono essere applicate forze esterne al pneumatico, quindi il connettore del
punto di contatto non e presente.
In terza istanza e importante sottolineare la natura causale della strada: le sue grandezze non
sono influenzate da fenomeni esterni (ipotesi), e globalmente indeformabile e statica.
L’obiettivo di questo modulo e quindi di:
1. determinare, esprimendo vincoli geometrici, il punto di contatto ideale,
2. definire le forze che sono presenti nel sistema di riferimento del punto di contatto e
3. definire le equazioni di bilancio energetico tra il frame del punto di contatto e il frame del
mozzo.
48 4. Il Package MotorcycleDynamics
1 - Individuazione del punto di contatto e relativo sistema di riferimento
Per poter introdurre l’aspetto implementativo e necessario preporre qualche considerazione ge-
ometrica, e infatti fondamentale identificare, da subito, i frame che saranno utilizzati in segui-
to3 (figura 4.7). Se si focalizza l’attenzione sulla ruota, si possono identificare due sistemi di
Figura 4.7: Le terne della ruota: frame b in verde, wheel in giallo, P in rosso e POC in blu
riferimento, entrambi con origine nel mozzo della ruota:
• frame b: rappresenta la terna del frame solidale alla ruota: ha l’asse y coincidente
con l’asse di rotazione del mozzo e gli assi x e z nel piano della ruota (questo frame
corrisponde al frame del mozzo);
• wheel: ha l’asse y coincidente con quello precedente, l’asse x orientato come la di-
rezione di avanzamento e l’asse z di conseguenza (coincide con il frame della ruota).
Per quanto concerne il punto di contatto e possibile individuare due sistemi di riferimento:
• P: terna del punto di contatto ideale (ruota ferma): l’asse x corrisponde alla direzione di
avanzamento, l’asse z coincide con il versore normale alla superficie stradale e l’asse y di
conseguenza (equivale al frame del punto di contatto ideale);
3 I frame, che si possono notare in figura 4.7, sono stati individuati e vincolati nella fase di modellizzazionefisica del progetto descritta nel capitolo precedente, sono: frame del mozzo, frame della ruota, frame del punto dicontatto ideale e frame del punto di contatto reale. Nella fase implementativa sono stati associati a variabili conuna differente nomenclatura e, per chiarezza, di seguito sono stati rappresentati.
4.7 Il package Wheel 49
• POC: terna del punto di contatto reale (ruota in movimento), e orientata analogamente alla
precedente ma con origine opportunamente traslata (coincide con il sistema di riferimento
del punto di contatto reale).
Di seguito e riportata una descrizione dettagliata dell’implementazione dei vincoli per l’i-
dentificazione della terna e dell’origine di tali frame, con annessi dei riferimenti a stralci di
codice Modelica.
Figura 4.8: Il frame solidale con la ruota frame b (in verde) e wheel (in giallo)
Se si considera il frame del mozzo della ruota (frame b) si puo facilmente calcolare l’asse
di rotazione della ruota stessa, y wheel, tramite una rotazione che porta il vettore 0,0,1dal sistema di riferimento locale del mozzo al sistema di riferimento assoluto:
y_wheel = resolve1(frame_b.r_0,0,0,1);
L’asse z del frame del punto di contatto z POC e fornito dal blocco Road in base alle coordinate
(x,y) del punto di contatto stesso (per ulteriori chiarimenti si veda il paragrafo relativo alla
modellizzazione della strada):
z_POC = normalize(-road.get_nx(P[1],P[2]),-road.get_ny(P[1],P[2]),1);
50 4. Il Package MotorcycleDynamics
L’asse x wheel, risultato dell’intersezione tra due piani, puo essere calcolato normalizzando il
prodotto vettoriale tra y wheel e il vettore normale al piano stradale (il vettore z POC) (figura
4.9):
x_wheel = normalize(cross(y_wheel, z_POC));
Figura 4.9: Il versore x wheel (in giallo) e il risultato della normalizzazione del prodottovettoriale di y wheel (in giallo) e z POC (in blu)
Il versore x del sistema di riferimento del punto di contatto x POC coincide con il versore
x wheel (figura 4.10):
x_POC = x_wheel;
L’asse y del sistema di riferimento del punto di contatto, y POC, e vincolato di conseguenza
(in modo implicito):
y_POC = cross(z_POC, x_POC);
In questo modo sono stati definiti tutti i versori del frame del punto di contatto teorico, che
coincidono con quelli della terna del punto di contatto reale (rappresentata in figura 4.11): i due
4.7 Il package Wheel 51
Figura 4.10: Gli assi x wheel (in giallo) e x POC (in blu) sono paralleli
Figura 4.11: Terna del punto di contatto
52 4. Il Package MotorcycleDynamics
sistemi di riferimento sono solamente traslati tra loro.
Le tre coordinate del punto di contatto ideale P sono fissate dal sistema di equazioni:
P = frame_b.r_0-dist_z*z_wheel;
P[3] = road.get_z(P[1],P[2]);
dove dist z e pari alla differenza tra la lunghezza del raggio della ruota e la quantita di pneu-
matico deformata, ovvero la distanza lungo l’asse z (del sistema di riferimento del mozzo) tra il
centro del mozzo stesso e il punto di contatto.
Per ulteriori chiarimenti di seguito e riportata una figura riassuntiva nel quale sono rappre-
sentate tutte le terne in questione: in verde la terna del frame b, in giallo la terna wheel, in
rosso e in blu rispettivamente le terne di P e POC.
Figura 4.12: Le terne della ruota: frame b in verde, wheel in giallo, P in rosso e POC in blu
Ora e anche possibile calcolare la rotazione che porta dal sistema di riferimento assoluto a
quello di P, chiamata POC R:
POC_R = from_nxy(x_POC, y_POC);
Infine, per il calcolo del punto di contatto, POC, e necessario traslare P di una quantita pari a
dx,dy,0, che espressa nel sistema di riferimento assoluto e pari a:
POC = P + resolve1(POC_R, dx,dy,0);
4.7 Il package Wheel 53
2 - Definizione delle forze presenti nel frame del punto di contatto
Le forze di contatto considerate sono [11]:
• longitudinale: TF (forza di trazione)
• laterale: FS (attrito laterale) e
• normale: N (reazione vincolare),
Ognuna delle forze precedenti e rappresentata da un componente del vettore POC f.
I modelli di attrito (figura 4.13) implementati sono due:
• Lineare (Linear Friction Model) e
• Pacejka (Pacejka Friction Model).
Sono perfettamente intercambiabili, grazie al connettore Friction Connector.
Figura 4.13: Caratteristiche dei modelli d’attrito longitudinale: Lineare e di Pacejka
Il modello d’attrito lineare (Linear Friction Model)
La forza di trazione e data da:
54 4. Il Package MotorcycleDynamics
TF = k * slip;
dove:
• k: e un coefficiente che determina la pendenza della caratteristica;
• slip: rappresenta lo slittamento, ossia la differenza tra la velocita che la ruota dovrebbe
avere in assenza di scivolamento e la velocita lineare effettiva.
La forza laterale e pari a:
FS = contact*(Kl*lambda-Kt*roll)*N
dove:
• Kl e Kt: sono due costanti caratteristiche;
• contact: e una variabile che assume valori compresi tra 0 e 1 e identifica la condizione
di contatto tra terreno e pneumatico;
• lambda: e l’angolo tra la componente y e la componente x della velocita (sideslip)4;
• roll: e l’angolo di rollio della motocicletta.
Il modello d’attrito di Pacejka (Pacejka Friction Model)
Nel secondo modello la forza di trazione e la forza laterale sono descritte dalla magic
formula:
dfz = (Pin.N-Fz0)/Fz0;
Dx = (pdx1+pdx2*dfz)*Pin.N;
Ex = (pex1+pex2*dfz+pex3*dfzˆ2)*(1-pex4*signSlip);
Kxk = Pin.N*(pkx1+pkx2*dfz)*exp(pkx3*dfz);
Bx = Kxk/(Cx*Dx);
//longitudinal force as function of the longitudinal slip
4 In realta, al fine di migliorare le performance di simulazione, e stato utilizzato il seno del sideslip (per velocitainferiori a 0,5 m/s). Questo ha permesso di attenuare le brusche variazioni, causate dai continui cambi di segnodella componente laterale della velocita (quando la motocicletta si muove a velocita ridotte).
4.7 Il package Wheel 55
fact = atan(Bx*Pin.slip-Ex*(Bx*Pin.slip-atan(Bx*Pin.slip)));
Fx0 = Dx*sin(Cx*fact);
//final longitudinal force with sideslip effects
Bxalpha = rbx1*cos(atan(rbx2*Pin.slip));
Pin.TF = cos(Cxalpha*atan(Bxalpha*Pin.sideslip))*Fx0*Pin.contact;
signSideslip = (atan(10ˆ6*(Pin.sideslip)))*2/pi;
Dy = Pin.N*pdy1*exp(pdy2*dfz)/(1+pdy3*Pin.rollˆ2);
Ey = pey1+pey2*Pin.rollˆ2+pey4*Pin.roll*signSideslip;
Kyalpha = pky1*Fz0*sin(pky2*atan(Pin.N/((pky3+pky4*Pin.rollˆ2)*Fz0)))/
(1+pky5*Pin.rollˆ2);
By = Kyalpha/(Cy*Dy);
Kygamma = (pky6+pky7*dfz)*Pin.N;
Bgamma = Kygamma/(Cgamma*Dy);
fact1 = Cy*atan(By*Pin.sideslip-Ey*(By*Pin.sideslip-atan(By*
Pin.sideslip)));
fact2 = Bgamma*Pin.roll-Egamma*(Bgamma*Pin.roll-atan(Bgamma*Pin.roll));
Fy0 = Dy*sin(fact1)+Cgamma*atan(fact2);
Byk = rby1*cos(atan(rby2*(Pin.sideslip-rby3)));
Pin.Fs = cos(Cyk*atan(Byk*Pin.slip))*Fy0*Pin.contact;
Reazione vincolare
La reazione vincolare non dipende dal modello di attrito ed e calcolata come somma di
due contributi, uno lineare in funzione della deformazione del pneumatico Kel*dz ed uno
smorzante Del*der(dz).
3 - Descrizione delle equazioni di bilancio tra il frame del mozzo e quello del punto di
contatto
Tutte le forze, rappresentate dal vettore POC f, sono state finora studiate e descritte nel sistema
di riferimento di POC, ma, affinche possano entrare a far parte dei bilanci del modello, e neces-
56 4. Il Package MotorcycleDynamics
sario che siano descritte le equazioni che legano le forze POC f a quelle del mozzo della ruota.
Dato che la matrice di rotazione dal sistema di riferimento assoluto a quello di POC e nota
ed e POC R, per effettuare il bilancio e sufficiente inserire il seguente sistema di equazioni:
r_rel_POC = resolve2(POC_R, POC-frame_b.r_0);
zeros(3) = frame_b.f + resolve2(frame_b.R, resolve1(POC_R, POC_f))
zeros(3) = frame_b.t + resolve2(frame_b.R, resolve1(POC_R, POC_t +
cross(r_rel_POC, POC_f)));
Queste trasformano le forze e le coppie di POC (POC f e POC t) espresse nel sistema di
riferimento di POC riportandole nel sistema di riferimento del mozzo, con i dovuti bilanci di
coppia.
4.8 Il package Driver
Il package Driver definisce tutto cio che fa parte del controllo di una motocicletta, come: il
pilota base Standard Driver, il controllo di sterzo Steering Control, alcuni percorsi
Path, il controllo di velocita Torque Control e il sistema di frenata assistita ABS; per
ulteriori particolari implementativi si rimanda il lettore al capitolo successivo.
4.9 Il package Environments
Il package Environments racchiude tutto cio che riguarda l’ambiente che circonda il mod-
ello: la strada, le condizioni climatiche (vento, pioggia,...).
Attualmente e stato implementato esclusivamente un modulo che definisce la strada: Road,
descritto in seguito. In futuro sara possibile estendere questo package aggiungendo il modello
del vento, dato che la struttura e gia predisposta per questa modifica.
4.9 Il package Environments 57
Figura 4.14: Esempio implementativo del modello del pilota Joystick Driver
58 4. Il Package MotorcycleDynamics
4.9.1 Il modello Road
Il modello si ispira al blocco Road presente nella libreria VehicleDynamics con l’aggiunta del-
la terza dimensione. E’ stata quindi introdotta una quota variabile in funzione della posizione
(x,y), a differenza di quella disponibile nella libreria di Dymola che presenta un valore di quota
modificabile ma che deve essere costante per tutta la durata della simulazione.
Tutte le informazioni relative alla strada, disponibili tramite il blocco Road, comprendono
i seguenti elementi:
• il vettore (n) normale alla superficie tangente alla strada (nel punto (x,y) di contatto
pneumatico-manto stradale);
• la quota alla quale si trova il suddetto punto (z);
• il coefficiente di attrito (µ).
Il coefficiente µ risulta particolarmente utile nel caso in cui si desideri simulare il compor-
tamento della motocicletta in presenza di superfici stradali diverse (asfalto asciutto, bagnato
e ghiacciato, pave,. . . ) e in particolare situazioni indesiderate (come la perdita improvvisa di
aderenza dovuta a fenomeni come l’acquaplaning).
E’ necessario notare che il punto di contatto viene calcolato, per evitare discontinuita che
penalizzerebbero le performance di simulazione, come il punto corrispondente alla proiezione
del mozzo sulla retta identificata dall’intersezione tra la piano stradale e il piano su cui giace la
ruota. Questo implica che il punto di contatto si trova sempre sulla superficie stradale, anche
nel caso in cui la ruota non aderisca all’asfalto (per maggiori delucidazioni al riguardo si veda
il relativo capitolo).
Sono disponibili diverse superfici, rappresentanti manti stradali differenti, ognuna delle
quali utilizza una funzione matematica diversa, che e possibile configurare a piacimento tramite
alcuni parametri.
4.9 Il package Environments 59
Le superfici disponibili sono:
• superficie piana,
• superficie in salita e
• paraboloide iperbolico (sella).
Inoltre e possibile visualizzare, nell’animazione generata da Dymola, la rappresentazione
della superficie stradale mostrando un file dxf appositamente creato sfruttando una procedura
Matlab (creata ad hoc) e QuikGrid, un programma gratuito, che permette di convertire una
matrice di punti in un file “.dxf” 3DFace. Nelle figure 4.15 e 4.16 sono mostrate parti di superfici
che sono state create tramite questo procedimento.
Figura 4.15: Strada a sella con vettore normale (in rosso) e quota (in blu)
Note implementative
Il modello Road (causale) e costituito da tre coppie di funzioni, una pubblica ed una privata,
realizzate per vincoli di visibilita imposti dal linguaggio orientato agli oggetti Modelica. La
funzione pubblica chiamata nome funzione invoca quella privata nome funzione pro,
altrimenti inaccessibile dall’esterno. Le funzioni implementate sono tre:
60 4. Il Package MotorcycleDynamics
Figura 4.16: Strada piana con salita
1) get z: ritorna la quota alla quale si trova il potenziale5 punto di contatto. Questa
viene calcolata come risultato di una funzione matematica z = f (x,y), come, ad esem-
pio z =((x
a
)2−
(yb
)2)
c + d (paraboloide iperbolico). Tale funzione e scelta in base
alla variabile choice che determina il tipo di strada (piana, con salita/discesa o a sella).
2) get nx: restituisce la componente lungo l’asse x assoluto del versore normale alla
superficie stradale. Tale componente e calcolata derivando rispetto a x la funzione il-
lustrata precedentemente z = f (x,y). Il calcolo della derivata simbolica di una fun-
zione e totalmente automatizzato in ambiente Dymola, infatti e sufficiente aggiungere
annotation(partialderivative(x)) alla fine della dichiarazione della fun-
zione get nx pro.
3) get ny: restituisce la componente lungo l’asse y assoluto del versore normale. Il calcolo
e analogo al precedente, utilizzando come variabile quella associata all’asse y al posto di
x.
Per evitare discontinuita strutturali eccessive dei valori del vettore normale n e stato oppor-
tuno dotare la superficie di raccordi (calcolati mediante funzioni trigonometriche, in particolare
5 Quando il pneumatico non e in contatto con la strada questa funzione restituisce la quota della superficiestradale calcolata nel punto (x,y).
4.10 Il package Example 61
l’arcotangente).
4.10 Il package Example
Questo package contiene i modelli dei veicoli a due ruote completamente parametrizzati, “pronti
per essere simulati” in un determinato ambiente. Ogni modello rappresenta infatti un veicolo
a se stante, una determinazione particolare della realta che si intende osservare attraverso la
simulazione. La motocicletta e inserita in un particolare scenario, definito da una superficie
stradale specifica e ben precise azioni sui comandi (note a priori).
Il modello Supermotard
Il modello Supermotard, che e stato utilizzato per diverse prove, e un esempio di come i
componenti del package MotorcycleDynamics possono essere composti e parametrizzati
per ottenere una particolare simulazione.
Come e possibile notare in figura 4.17, dove e riportato un esempio di un supermotard, sono
presenti diversi sottomodelli:
• Record: sono indispensabili e definiscono le caratteristiche di ruote, ammortizzatori e
braccio flottante posteriore, le dimensioni e i baricentri del pilota e della motocicletta;
• Road: anch’esso e obbligatorio e serve per definire la superficie stradale su cui si muove
la motocicletta;
• Joystick Driver: e il modello rappresentante il pilota. In questa prova viene fornita
una coppia allo sterzo, tramite la tabella temporizzata Joystick Table, e
Joystick Driver agisce da stabilizzatore;
• Front Pacejka Friction Model e Rear Pacejka Friction Model: iden-
tificano il modello d’attrito adottato per gli pneumatici (alternativamente sarebbe stato
possibile utilizzare il modello di attrito lineare);
62 4. Il Package MotorcycleDynamics
Figura 4.17: Il modello MotorcycleDynamics.Supermotard
4.10 Il package Example 63
• Torque Control: serve per regolare la velocita longitudinale. Il set-point e contenu-
to in una tabella temporizzata (Velocity) dove sono riportati i valori in funzione del
tempo;
• Front ABS e Rear ABS: modellizzano l’impianto frenante anteriore e posteriore, in
base a quanto stabilito dalle tabelle temporizzate (Front Brake Table e
Rear Brake Table) che contengono la parzializzazione nel tempo della leva del freno
anteriore e posteriore.
64 4. Il Package MotorcycleDynamics
Capitolo 5
Il pilota e il controllo della motocicletta
5.1 Introduzione
Probabilmente un gran numero di persone ha provato, almeno qualche volta, ad utilizzare la
bicicletta, testando empiricamente il comportamento dinamico e cercando, inconsciamente, di
ricavare lo schema mentale di funzionamento, stabilire le leggi per l’equilibrio e per imporre
una determinata traiettoria.
Il pilotaggio di un veicolo a due ruote puo sembrare un controllo semplice ed intuitivo, in
realta deve padroneggiare una serie di fenomeni intrinseci al mondo di cicli e motocicli, come
per esempio: la manovra con controsterzo in entrata/uscita di curva o la coppia applicata allo
sterzo per controbilanciare gli effetti giroscopici (tra cui il momento di autoallineamento in cur-
va).
L’obiettivo del controllo presentato e di simulare, il piu fedelmente possibile, il comporta-
mento del pilota che pragmaticamente consiste nell’agire su sterzo, acceleratore e freni in modo
da impedire la caduta del veicolo, cercando di seguire una traiettoria prefissata.
Per riuscire a considerare il comportamento del motociclista e necessario cercare di focaliz-
zare l’attenzione sulle variabili da monitorare:
65
66 5. Il pilota e il controllo della motocicletta
• angolo di rollio: per imporre una determinata curvatura alla traiettoria,
• velocita e accelerazione dell’angolo di rollio: per cercare di stabilizzare la motocicletta
in curva,
e sulle variabili controllate:
• coppia fornita sullo sterzo,
• coppia fornita alle ruote (accelerazione e frenata) e
• angolo di rollio e di beccheggio della parte superiore del pilota (upper-body) per agevolare
il bilanciamento dei carichi in curva (non trattati in questo studio).
A grandi linee le azioni che il pilota puo svolgere sono di due tipi:
• controllare lo sterzo: consente di mantenere stabile la motocicletta e seguire una determi-
nata traiettoria;
• controllare la velocita: agendo opportunamente sull’acceleratore e sull’impianto frenante.
Il pilota, dal punto di vista fisico, viene modellizzato da due masse solidali con la motoci-
cletta aventi specifiche inerzie:
• Upper Body: parte superiore del corpo del pilota comprendente il busto, le braccia e il
capo;
• Lower Body: parte inferiore comprendente le gambe.
5.2 Controllo dello sterzo
Per capire le strategie di controllo adottate in questo frangente e importante sottolineare al-
cuni aspetti del comportamento dinamico della motocicletta. Si parte dal presupposto che, a
prescindere dalla traiettoria desiderata, per far inclinare la motocicletta da un lato, e sempre
necessario sterzare dal lato opposto. Questo ha conseguenze poco intuitive sul comportamento
5.2 Controllo dello sterzo 67
Figura 5.1: Componenti che modellizzano il pilota
che deve assumere il pilota durante le manovre. Per esempio le operazioni da compiere per
effettuare una curva sono in sequenza:
1. Controsterzo: sterzare (quasi bruscamente) verso l’esterno della curva per far inclinare
la motocicletta verso l’interno (per effetto della forza centrifuga che si viene a creare);
2. Sterzo: sterzare (meno bruscamente) verso l’interno della curva allo scopo di creare una
forza centrifuga che freni la caduta della motocicletta verso l’interno della curva fino ad
annullare la velocita di rollio;
3. Mantenimento: sterzare verso l’interno o l’esterno della curva a seconda dell’angolo di
rollio necessario per vincere la forza centrifuga, il momento di autoallineamento e per
poter percorrere la curva con il raggio di curvatura desiderato;
4. Chiusura della curva: sterzare leggermente verso l’interno della curva per riportare la
motocicletta in posizione verticale grazie all’aumento della forza centrifuga causata dalla
momentanea riduzione del raggio di curva.
In realta questo comportamento e fortemente influenzato dalla velocita con la quale si esegue
la manovra: per velocita basse (minori di una certa velocita detta critica) la fase di controsterzo
68 5. Il pilota e il controllo della motocicletta
Figura 5.2: Le 4 fasi di una curva: controsterzo, sterzo, mantenimento e chiusura
Figura 5.3: Azioni sullo sterzo in curva
5.2 Controllo dello sterzo 69
Figura 5.4: Le 4 fasi di una curva: angolo dello sterzo, coppia fornita allo sterzo e angolo dirollio
non e piu necessaria ed e compensata con opportuni movimenti del pilota; oltre la velocita
critica il controsterzo diventa necessario a causa degli effetti giroscopici.
Il valore della velocita critica puo essere facilmente calcolato tramite la formula:
Vc =√
pgtan(λ)
, (5.1)
dove:
p e il passo della motocicletta;
g corrisponde all’accelerazione di gravita;
λ identifica il particolare angolo di caster.
E’ importante notare che, per una motocicletta con un angolo di caster di 27.8° e passo di 1.8
m, il valore della velocita critica e di soli 21 Km/h:
Vc =
√1,8 ·9,81tan(27,8)
= 5,7872 m/s∼= 21 Km/h. (5.2)
Alla luce di questo risultato e possibile suffragare l’ipotesi che vede il pilota come solidale
e in asse con la motocicletta ignorando conseguentemente il suo movimento rispetto ad essa.
70 5. Il pilota e il controllo della motocicletta
Un’altra considerazione importante e che la motocicletta, quando viaggia a velocita supe-
riori a quella critica e in assenza di coppie esterne applicate allo sterzo, diventa un sistema
stabile: il momento di autoallineamento, dovuto agli effetti giroscopici e centrifughi delle ruote
e dello sterzo, assume valori considerevoli in grado di riportare la motocicletta in posizione
verticale. Questo e il motivo per il quale un pilota incontra molte difficolta nel condurre, senza
l’ausilio delle mani, una motocicletta a bassa velocita, mentre a velocita maggiori il compito
risulta molto piu semplice.
5.2.1 Controllo in Curvatura
Una possibile strategia di controllo consiste nel pilotare la motocicletta in base alla curvatura
desiderata. Come illustrato precedentemente, il moto rettilineo, superata la velocita critica, non
presenta particolari problematiche. In curva il comportamento dinamico e nettamente differ-
ente, e quindi opportuno identificare la condizione di equilibrio che permette alla motocicletta di
percorrere una determinata curva ad una determinata velocita. Questa condizione di equilibrio
si ottiene in corrispondenza di un certo valore dell’angolo di rollio.
Le principali forze in gioco sono:
Fc = m R ω2 (forza centrifuga), (5.3)
Fp = m g (forza peso) (5.4)
con:
m massa della motocicletta
R raggio di curva desiderato (misurato dal baricentro)
g accelerazione di gravita
ω velocita di imbardata (yaw rate)
Come si puo notare in figura, la condizione di equilibrio tra la forza peso e la forza centrifu-
ga si ottiene quando la direzione della forza risultante tra le due passa attraverso la retta che
5.2 Controllo dello sterzo 71
Figura 5.5: Angolo di rollio di equilibrio in curva
congiunge i due punti di contatto degli pneumatici.
E’ possibile calcolare il valore dell’angolo di rollio di equilibrio tramite un semplice bilancio
di forze, ottenendo l’espressione:
φ = arctan(
m R ω2
m g
)= arctan
(R ω2
g
)= arctan
(v2
xR g
)= arctan
(C v2
xg
), (5.5)
in cui:
C e la curvatura (1/R)
vx corrisponde alla velocita di avanzamento (vx = R ω)
La formula precedente risulta di grande utilita dato che prescinde dalle caratteristiche tec-
niche della motocicletta. E’ valida sotto alcune ipotesi semplificative:
• raggio di curva costante;
• velocita costante;
• effetti giroscopici nulli;
72 5. Il pilota e il controllo della motocicletta
• pilota solidale e in asse con la motocicletta;
• pneumatici lenticolari (con spessore nullo) in quanto non viene considerato lo spostamen-
to laterale del punto di contatto.
Tutte queste semplificazioni possono sussistere in quanto si presuppone che il controllo,
nell’inseguire il set-point, corregga le imprecisioni legate al calcolo precedente.
Controllo PPP
Tramite questo sistema di controllo, tratto dalla tesi di [42, Marescotti], e possibile controllare
in curvatura la motocicletta.
Figura 5.6: Schema generale controllo in curvatura
Come si puo osservare in figura il sistema di controllo e composto da tre sotto-sistemi
(identificati dai rami di K1, K2 e K3):
Controllo della curvatura desiderata E’ costituito da un blocco che converte il set-point di
curvatura in un set-point di rollio (tramite la formula illustrata in precedenza). Il set point di
rollio cosı calcolato entra in un sistema di controllo costituito da un regolatore proporzionale
chiuso in retroazione con l’angolo di rollio misurato.
Stabilizzatore di velocita e accelerazione di rollio Gli altri due sotto-sistemi costituiscono
uno “stabilizzatore” in grado di evitare la caduta della motocicletta. L’azione di controllo del
primo sottosistema tenta di annullare la velocita di rollio (φ), mentre l’azione di controllo del
secondo tenta di regolare a zero l’accelerazione (φ).
5.2 Controllo dello sterzo 73
Figura 5.7: Regolatore di curvatura
Le due retroazioni che derivano dalle considerazioni precedenti, non interferiscono in maniera
significativa con il primo sotto-sistema (feedback chiuso sull’angolo di rollio) dato che le loro
costanti presentano valori decisamente inferiori. In base al risultato che si desidera ottenere e
Figura 5.8: Stabilizzatore di velocita
Figura 5.9: Stabilizzatore di accelerazione
possibile tarare in modo adeguato le tre costanti (K1, K2 e K3):
• K1 regola la risposta al set-point di curvatura. Aumentando K1 si ottiene una risposta
maggiormente pronta ad una variazione del set-point di curvatura. Oltre un certo valore
il sistema si instabilizza anche per variazioni minime del set-point;
• K2 regola lo smorzamento dell’oscillazione del sistema intorno all’equilibrio. Aumen-
tando questo valore si ottiene un sistema maggiormente stabile (risposte meno brusche)
ma piu lento a raggiungere il set-point di curvatura. Oltre un certo valore il controllo in
curvatura non ha alcun effetto sulla motocicletta;
74 5. Il pilota e il controllo della motocicletta
• K3 regola la risposta a spostamenti bruschi del set-point.
5.2.2 Controllo dell’angolo di rollio
Un controllo alternativo al precedente consiste nel pilotare direttamente l’angolo di rollio invece
che la curvatura. Il sistema di controllo risultante differisce da quello in curvatura per l’assenza
del blocco che calcola l’angolo di rollio ideale e per la presenza di un controllore PI al posto
del regolatore proporzionale.
Figura 5.10: Sistema di controllo dell’angolo di rollio
Inoltre e stato necessario moltiplicare per un coefficiente variabile l’errore dell’angolo di
rollio a causa dell’intrinseca non linearita del modello. Questo coefficiente e ovviamente non
lineare ed e funzione della velocita longitudinale della motocicletta e dell’angolo di roll. E’
stato tarato empiricamente a causa della “doppia” non linearita esistente:
• a parita di angolo di rollio il valore che deve assumere il coefficiente non e lineare con la
velocita longitudinale ma cresce esponenzialmente;
• a parita di velocita longitudinale non e lineare al crescere dell’angolo di roll.
Conseguentemente questo coefficiente e il risultato del prodotto di due termini: il primo, fun-
zione della velocita longitudinale, calcolato tramite l’operazione Coeff V=expˆ(Vxˆ2) e il
secondo (Coeff Roll) con l’uso di una tabella non lineare con in ingresso l’angolo di rollio
(figura 5.11).
5.2 Controllo dello sterzo 75
Figura 5.11: Valore assunto dal coefficiente non lineare Coeff Roll al variare dell’angolo dirollio
5.2.3 Controllo con joystick
Il controllo di tipo joystick e stato pensato per pilotare la motocicletta agendo direttamente con
un’opportuna coppia sullo sterzo, eventualmente utilizzando un dispositivo di input/output in
una simulazione real-time (e.g. joystick con ritorno di forza).
E’ importante sottolineare, fin da subito, che e impensabile che la coppia misurata1 sia l’u-
nica (esterna alla moto) fornita allo sterzo, in tal caso l’utente dovrebbe avere una notevole
sensibilita di pilotaggio e controsterzare in corrispondenza dell’ingresso e dell’uscita da ogni
curva.
Obiettivo di questo controllo e che a fronte di un opportuno scalino di coppia sullo sterzo
la motocicletta si assesti attorno ad un determinato angolo di rollio. L’ampiezza dello scalino
deve controbilanciare il momento di autoallineamento, riportato al manubrio, calcolato nelle
condizioni di assestamento della motocicletta a fine transitorio (angolo di rollio costante). Nel
caso in cui il valore dello scalino sia troppo elevato la motocicletta deve cadere.
1 Presumibilmente stimata attraverso un potenziometro collegato ad un manubrio joystick.
76 5. Il pilota e il controllo della motocicletta
Nel complesso il sistema di controllo puo quindi essere descritto come una sorta di stabiliz-
zatore che ha come obiettivo l’annullamento della velocita di roll.
Figura 5.12: Schema riassuntivo del pilota joystick
Per poter utilizzare il controllo ritenuto piu performante (il PPP precedentemente citato)
sarebbe necessario conoscere a priori il set point di angolo di rollio da utilizzare in funzione del
tempo, cosa impossibile perche imprevedibile a priori in una simulazione real-time. Per ovviare
a questo problema si e pensato di calcolare il valore di errore di rollio integrando l’errore di
velocita di roll, come rappresentato in figura 5.13.
Per ulteriori chiarimenti, limitatamente all’aspetto dinamico, si faccia riferimento alla sim-
ulazioni di prova del controllo joystick, in cui si applicano due differenti disturbi allo sterzo (tre
rampe nel primo e una sinusoide nel secondo).
5.3 Controllo di Velocita
Il controllo di velocita e affidato ad un regolatore di tipo PI che agisce sulla coppia applicata alla
ruota posteriore. In realta, per simulare correttamente il pilota, sarebbe necessario modellizzare
il funzionamento della manopola dell’acceleratore (e Il motore), e la dinamica del pilota nel-
l’agire su questa. Questa soluzione e stata ritenuta eccessiva per le finalita di questo studio, se
paragonata alla perdita di prestazioni simulative che si pagherebbero in seguito all’introduzione
di tali dettagli.
5.4 Impianto frenante dotato di ABS
Per dare un valore aggiunto al progetto si e pensato di realizzare un impianto frenante dotato
del sistema ABS (Antilock Brake System) in grado di migliorare le performance in frenata, sia
5.4 Impianto frenante dotato di ABS 77
Figura 5.13: Dal controllo PPP al controllo joystick
Figura 5.14: Controllo di velocita
78 5. Il pilota e il controllo della motocicletta
in termini di spazio d’arresto che di stabilita, a fronte di manovre ritenute pericolose.
Come si puo notare in figura 5.15 lo schema generale dell’impianto frenante e composto da
vari elementi:
• il pilota (comprensivo della leva del freno);
• il controllo ABS;
• il freno vero e proprio (disco e pastiglia).
Figura 5.15: Schema generale dell’impianto frenante
In seguito sono trattati in dettaglio i vari componenti.
5.4 Impianto frenante dotato di ABS 79
5.4.1 Il pilota
Per rappresentare correttamente la dinamica della frenata e indispensabile tenere in consider-
azione anche la dinamica del pilota nell’agire sulla leva. Questa viene modellizzata da un filtro
passa basso con una banda passante di 8 Hz (modificabile a piacere).
Figura 5.16: Dinamica del pilota
Come possiamo vedere in figura 5.16, in ingresso e presente l’intenzione del pilota (come
vorrebbe agire sulla leva del freno) e in uscita l’effettiva attuazione sull’impianto frenante.
5.4.2 ABS: Antilock Brake System
Per realizzare un sistema ABS occorre stabilire in che condizioni si ottiene la massima aderenza
al fondo stradale, preservando la stabilita e direzionalita della motocicletta. Questa dipende
principalmente da diversi fattori:
• tipo e condizioni della superficie stradale;
• geometrie, materiale e condizioni dei pneumatici;
• velocita longitudinale e laterale della motocicletta;
• angolo di rollio.
In una frenata con angolo di rollio nullo la grandezza che meglio rappresenta le condizioni
di aderenza e lo slip (figura 5.4.2), che rappresenta il pattinamento del pneumatico rispetto
alla superficie stradale. Ipotizzando di adottare il modello dell’attrito di Pacejka e possibile
individuare un valore di slip ottimale che garantisca la massima adesione al terreno. L’obi-
ettivo dell’ABS e di confinare il valore dello slip all’interno di una zona di funzionamento
(slip ottimale−δ÷ slip ottimale+δ) centrata sul valore ottimale e il piu ristretta possibile.
80 5. Il pilota e il controllo della motocicletta
Figura 5.17: Andamento della forza longitudinale al variare dello slip
Al fine di perseguire questo obiettivo si e pensato di realizzare un sistema di controllo di
tipo on/off, che annulla l’azione frenante non appena il valore assunto dallo slip supera il valore
ottimale. L’algoritmo equivalente e:
if (slip > slip_ottimale)
then frenata = 0
else frenata = frenata_normale
Per evitare che la simulazione diventi marcatamente stiffness, a causa delle continue brusche
variazioni della variabile controllata (imposte dall’antibloccaggio), si e pensato realizzare l’ABS
moltiplicando l’ingresso dell’attuazione per un coefficiente non lineare. Questo coefficiente
(rappresentato in figura 5.18) e ovviamente in funzione dello slip ed e stato realizzato modifi-
cando opportunamente una funzione matematica ( l’arcotangente):
out =(
0,5+arctan((slip+1)(1− slipottimale)) ·10c
π
)· in , (5.6)
dove:
c e un coefficiente che indica il grado di approssimazione del sistema on/off (un valore
minore impone un andamento maggiormente smussato)
5.4 Impianto frenante dotato di ABS 81
Figura 5.18: Coefficiente non lineare ABS
Quando l’angolo di rollio non e nullo, differentemente dal caso precedente, il limite di tenu-
ta diminuisce in modo importante; infatti in curva e necessario sollecitare al minimo l’impianto
frenante per evitare la caduta della motocicletta. Per ovviare a questo problema sarebbe oppor-
tuno modificare il coefficiente in funzione del sideslip o almeno dell’angolo di rollio, purtroppo
questo e valido solo teoricamente dato che non sono grandezze misurabili.
Per garantire la stabilita anche in curva, di conseguenza, e necessario ridurre il valore otti-
male di slip. Per ulteriori chiarimenti si faccia riferimento al capitolo riguardante le simulazioni
(sono state effettuate diverse prove per analizzare ed evidenziare il fenomeno).
5.4.3 I freni
Particolare attenzione e stata dedicata all’implementazione dell’impianto frenante, infatti si e
scelto di parametrizzare un modello di freno predefinito della libreria Modelica 2.2:
Modelica.Rotational.Brake (figura 5.19).
I freni sono composti da due corpi rigidi: una flangia (corrispondente ad una o piu pastiglie
del freno) e il disco; la coppia generata e causata dall’attrito radente di sfregamento tra le due
superfici. Per aumentare/diminuire la coppia d’attrito si modula la forza generata dai pistoncini
82 5. Il pilota e il controllo della motocicletta
Figura 5.19: Il modello dei freni: Modelica.Rotational.Brake
del freno.
In questo modello vengono considerate diverse caratteristiche, tra le quali:
• cgeo: e un coefficiente che e funzione delle caratteristiche geometriche. Si calcola come:
cgeo = N(r0+ri)/2, dove N sono il numero delle pastiglie, r0 il raggio esterno del
disco e ri il raggio interno del disco;
• mue(w): e un coefficiente che definisce la caratteristica dell’attrito in base alla velocita
angolare, e possibile inserire una dipendenza non lineare;
• peak: definisce il valore di picco della coppia frenante a ruota bloccata;
• fn: percentuale della massima forza imprimibile sulle pastiglie.
Nel complesso sono presenti tre stati di funzionamento:
• freno non azionato: la coppia frenante e nulla;
• freno azionato con ruota bloccata (ω = 0): in questo caso la coppia frenante vale
frictional torque = peak * cgeo * mue(w) * fn.
5.4 Impianto frenante dotato di ABS 83
• freno azionato con ruota in movimento (ω 6= 0): la coppia frenante e calcolata tramite la
formula frictional torque = cgeo * mue(w) * fn;
In seguito, in figura 5.20, e riportato un grafico della funzione risultante: in ascissa e
presente la velocita angolare della ruota e in ordinata la coppia frenante.
Figura 5.20: Andamento della coppia frenate (d’attrito) al variare della velocita angolare.
Infine, per completare correttamente il modello, e stato necessario modellizzare la dinam-
ica del circuito pneumatico che aziona l’impianto frenante. A questo scopo e stato inserito
un filtro passa-basso con banda passante di 10÷ 20 Hz (in base alle caratteristiche specifiche
dell’impianto).
Figura 5.21: Dinamica del circuito pneumatico dei freni
84 5. Il pilota e il controllo della motocicletta
Capitolo 6
Simulazioni
6.1 Introduzione
Il modello realizzato, per un corretto procedimento di validazione, e stato sottoposto a differenti
prove di simulazione.
Per brevita di seguito sono riportate solamente alcune tra le piu significative:
• prove di funzionamento del pilota joystick,
• percorrenza di una rotonda e una manovra ad otto,
• condizioni di aderenza al limite in curva e
• prove di frenata d’emergenza con e senza l’ausilio dell’ABS (con differenti tarature).
6.2 Prove di pilotaggio per il controllo tramite joystick
Il controllo joystick, descritto nel capitolo precedente, presuppone che la motocicletta sia pi-
lotata con un disturbo di coppia che agisce direttamente sullo sterzo.
Per tarare adeguatamente i parametri del sistema di controllo sono state necessarie innu-
merevoli prove, effettuate con l’intento di verificare, per un range opportuno di valori (di angolo
di rollio e velocita), il corretto funzionamento.
85
86 6. Simulazioni
Di seguito sono stati riportati i risultati di due tra le simulazioni piu rilevanti.
6.2.1 Disturbo composto da rampe
In questa simulazione la motocicletta parte da ferma, accelera fino a raggiungere la velocita di
20 m/s e mantiene tale velocita fino alla fine della simulazione. Durante il tratto percorso a
velocita costante vengono applicati dei disturbi di coppia sullo sterzo.
Si verfica che, a fronte di un disturbo composto da tre rampe (come mostrato in figura 6.1),
l’angolo di rollio si stabilizza.
Figura 6.1: Disturbo a rampa e andamento dell’angolo di rollio
La motocicletta, in seguito ad un disturbo di coppia di 3 Nm, si stabilizza mantenendo un
angolo di rollio positivo (0,228 radianti circa); quando la coppia viene annullata con una rampa
uguale ma opposta in segno (che interviene dopo 20 secondi) la motocicletta si raddrizza1.
Successivamente, a 40 secondi, interviene la terza rampa, di ampiezza pari a -5 Nm. In questo
caso si inclina fino a raggiungere un angolo di rollio costante e negativo.
1 L’angolo di rollio diventa nullo a causa del momento di autoallineamento.
6.2 Prove di pilotaggio per il controllo tramite joystick 87
Questa simulazione dimostra che la motocicletta e completamente manovrabile: e suf-
ficiente pilotare opportunamente2 un disturbo di coppia che agisce sullo sterzo per imporre
l’angolo di rollio, e quindi la direzione, desiderati.
6.2.2 Disturbo sinusoidale
Nella seconda simulazione (riportata in figura 6.2), si applica allo sterzo un disturbo sinusoidale.
In questo caso la motocicletta continua a cambiare inclinazione: l’angolo di rollio varia
come una funzione sinusoidale, con periodo pari a quello del disturbo, e con ampiezza pari
a 0,228 radianti. Nella prima simulazione (quella in cui il disturbo e una composizione di
Figura 6.2: Controllo joystick: disturbo sinusoidale e angolo di rollio
rampe) la motocicletta, per raggiungere ognuna delle condizioni di regime, impiega un tempo
di assestamento pressoche costante, Tass, pari a circa 11 secondi. E’ importante rilevare che, in
una simulazione qui non riportata, la motocicletta, a fronte di un disturbo di coppia pari a 1 Nm
si assesta ad un angolo di rollio pari a 0,089 radianti.
2 La coppia fornita allo sterzo deve controbilanciare gli effetti del momento di autoallineamento riportati allosterzo.
88 6. Simulazioni
Grazie a queste informazioni e ipotizzando di analizzare il connubio motocicletta-pilota
come un unico sistema con in ingresso la coppia fornita allo sterzo e in uscita l’angolo di rollio,
e possibile dimostrare come il processo in questione, sotto certe condizioni, si comporti come
un processo del primo ordine (linearizzato nell’intorno di una condizione di equilibrio3).
Se fosse un sistema lineare, o comunque a polo dominante, il tempo di assestamento, Tass,
sarebbe pari a 4÷ 5 volte la costante di tempo del polo a piu bassa frequenza. Considerando
valido quanto ipotizzato finora, e possibile calcolare la costante di tempo del presunto polo, T ,
come:
T = Tass/(4÷5) = Tass/(4,5) = 2,444 (6.1)
e il guadagno,
µ = lim(t→∞,s→0)
G(s) · sca(t) = 0,089 . (6.2)
La funzione di trasferimento risulterebbe quindi essere:
G(s) =µ
1+T s=
0,0891+2,444 s
(6.3)
Se si considerano i risultati della seconda simulazione, in cui la coppia e una sinusoide di
ampiezza pari a 3 Nm, e interessante notare che la risposta, anch’essa sinusoidale, raggiunge
un valore massimo di rollio pari a 0,228 radianti.
Come si puo vedere dalla figura 6.2 il ritardo tra i picchi delle due funzioni e sempre costante
e pari a 2,7 secondi, viene rilevato a:
• a 8,88 s per la coppia e 11,58 s per il rollio,
• a 24,54 s e 27,24 s per il secondo picco,
• a 40,26 s e 42,96 s per il terzo;
questo dimostra che le due sinusoidi hanno il medesimo periodo, ma sono sfasate di 2,7 radianti,
cioe 154°.
Ritenendo valida l’assunzione che il sistema sia equiparabile ad uno del primo ordine, e
possibile calcolare, oltre alla fase (154°), il valore del modulo.3 Angolo di rollio nullo.
6.2 Prove di pilotaggio per il controllo tramite joystick 89
Per calcolare il modulo e opportuno ricordare che, in un sistema del primo ordine, quando
in ingresso e presente una sinusoide del tipo:
u(t) = A sin(ω t) , (6.4)
l’uscita sara:
y(t) = B sin(ω t +φ)4. (6.5)
Il rapporto BA corrisponde al modulo di G(s) per la particolare frequenza ω, mentre φ e la fase
di G(s), anch’essa calcolata per la particolare frequenza.
In questo caso ω = 0,2, quindi G(s) = G( jω) = B/A = 0,076; mentre la fase, calcolata
precedentemente, e pari a 154°.
Per dimostrare la validita di quanto citato, e opportuno determinare, per poterli poi con-
frontare, gli stessi valori (modulo e fase), utilizzando la funzione di trasferimento calcolata con
la prima simulazione:
G(s) =µ
1+ s T=
0,0891+ s 2,444
, (6.6)
ma se s = jω e se ω = 0,2 (frequenza del disturbo di coppia), allora:
G( j 0,2) =0,089
1+0,2 ·2,444 j= 0,071−0,035 j. (6.7)
Il calcolo del modulo e della fase sono molto semplici, rispettivamente:
• modulo:√
0,0712 +0,0352 = 0,079 e
• fase: arctan(−0,0350,071
)= −26° ma, dato che l’angolo e calcolato nel quarto quadrante:
φ = 180° − 26° = 154°.
Come si puo facilmente notare, gli angoli calcolati coincidono perfettamente e i moduli dis-
costano, uno dall’altro, di meno del 3% (errore probabilmente dovuto a qualche imprecisione di
rilevamento per la costante di tempo del polo); questo dimostra che il sistema, nelle condizioni4 Il sistema deve essere asintoticamente stabile e la frequenza ω con cui viene sollecitato deve essere inferiore
a quella critica. In un sistema reale anche l’ampiezza della sinusoide in ingresso (A) deve essere adeguata.
90 6. Simulazioni
considerate, si comporta come un sistema del primo ordine, con una banda passante di circa 0,4
Hz.
E’ inevitabile aggiungere che le considerazioni sviluppate finora sono da ritenersi valide
esclusivamente per un valore di velocita di 20 m/s; a velocita piu alte/basse il ragionamento deve
essere opportunamente scalato a causa dell’influenza che la velocita esercita sul comportamento
dinamico: al crescere della velocita aumentera il tempo di assestamento ma anche l’angolo di
rollio raggiunto.
Analoghe considerazioni potrebbero essere sviluppate considerando altri fattori, come il
passo o l’angolo di caster, notoriamente legati alla manovrabilita della motocicletta. In conclu-
sione si e dimostrato che il controllo joystick, testato anche in molti altri scenari non citati, e
certamente una soluzione semplice ed efficace al problema del pilotaggio di una motocicletta.
6.3 Percorrenza di una rotonda e manovra ad otto
Prima di presentare i risultati ottenuti e necessario premettere che, d’ora in poi, quando si parlera
di curvatura della traiettoria si intendera indicare il risultato della seguente formula:
C =tan(φ)
V 2x
g, (6.8)
ottenuta dalle equazioni di bilancio descritte nel capitolo precedente.
6.3.1 Percorrenza di una rotonda molto stretta
Il primo scenario prevede di far percorrere alla motocicletta una rotonda molto stretta con cur-
vatura pari a 0,114, che, in termini dimensionali, si traduce in un raggio di curvatura superiore
a 8,5 metri, precisamente:
r =1C
=1
tan(φ)(Vx)2 g
=1
tan(0,76)(9)2 ·9,81
∼= 8,75metri. (6.9)
6.3 Percorrenza di una rotonda e manovra ad otto 91
La manovra affrontata, come si puo vedere dai frame riassuntivi presenti in figura 6.3, e molto
impegnativa: l’angolo di rollio, dopo un transitorio iniziale, si assesta attorno ad un valore di
0,76 radianti, valore prossimo a quello di tilt.
Nella figura 6.4 sono presenti la coppia complessiva che agisce sullo sterzo e l’angolo di
rollio. Si nota come la motocicletta inizi ad inclinarsi lateralmente in modo graduale dopo 4
secondi, questo perche il disturbo di coppia fornito allo sterzo e una rampa che parte ritardata
dello stesso intervallo di tempo (necessario dato che la motocicletta parte da ferma).
I risultati sono realistici, infatti e perfettamente plausibile che un pilota, per affrontare la
rotonda in questione, ad una velocita pressoche costante di 9 m/s, generi al massimo 3,5 N/m di
coppia sullo sterzo.
E’ interessante notare l’azione controsterzante del pilota (nei primi 8 secondi), che permette
di sbilanciare la motocicletta verso l’interno della curva per agevolare la manovra.
Dalla figura 6.5 si puo notare come nel primo giro la motocicletta tenda a curvare eccessi-
vamente. Questa sovraelongazione e l’effetto causato da due fattori:
1. il valore di angolo di rollio da raggiungere e estremo, prossimo a quello che causerebbe
la perdita d’aderenza e la successiva caduta,
2. la rampa in realta e piu simile ad uno scalino, infatti il tempo per raggiungere la con-
dizione di regime e di solo 0,5 secondi.
Nei giri successivi al primo, la traiettoria si discosta solamente in modo marginale da quella
ideale.
6.3.2 Manovra ad otto su superficie irregolare
Questa simulazione prevede che la motocicletta affronti una manovra ad otto su superficie
collinare. La superficie collinare e modellizzata da un paraboloide iperbolico di equazione:
z =(( x
20
)2+
( y30
)2)
+0,55. (6.10)
92 6. Simulazioni
Figura 6.3: Frame tratti dall’animazione generata dalla percorrenza di una rotonda
6.3 Percorrenza di una rotonda e manovra ad otto 93
Figura 6.4: Coppia allo sterzo e angolo di rollio
Figura 6.5: Traiettoria della motocicletta per affrontare una rotonda con raggio di 8,75 metri
94 6. Simulazioni
Per accrescere il contributo grafico la simulazione e stata arricchita con un manto stradale
tridimensionale realizzato con l’ausilio di una procedura matlab creata ad hoc e il software
QuickGrid.
In questo caso il disturbo, che agisce sullo sterzo, e il risultato della sommatoria di quattro
rampe opportunamente parametrizzate. Come si puo notare dalla figura 6.7 la motocicletta
affronta dislivelli di poco inferiori a 10 metri, sicuramente una grandezza considerevole.
Anche in questo caso le coppie che agiscono sullo sterzo, riportate in figura, sono sicu-
ramente paragonabili a quelle che potrebbe esercitare il pilota, per affrontare questo tipo di
manovra.
Nel grafico della coppia misurata sullo sterzo non e possibile evidenziare con chiarezza le 4
fasi della curva. La presenza dei dislivelli e rilevante e influisce direttamente sul comportamento
dinamico della motocicletta: in alcuni casi agevola la manovra di sterzo, in altri la ostacola.
6.4 Condizioni di aderenza al limite in curva
6.4.1 Rotonda con split-mue
In questa simulazione la motocicletta percorre inizialmente un tratto rettilineo che le permette
di raggiungere la velocita di 18 Km/h circa e, successivamente, intraprende una traiettoria a
curvatura costante con un raggio di circa 8 metri.
L’aspetto interessante e che la superficie stradale presenta un coefficiente d’attrito µ vari-
abile. Nella parte superiore della circonferenza µ assume il valore di 1 (manto stradale in con-
dizioni ottimali) e nella parte inferiore assume il valore di circa 0.5 che indica la presenza di
asfalto decisamente scivoloso (quasi ghiacciato).
Come si puo notare in figura 6.9 la motocicletta procede senza problemi fino al cambio di
aderenza dove “scoda” vistosamente, nei giri successivi si stabilizza sempre piu, anche se si
verifica un leggero drift del centro della circonferenza.
Osservando il valore assunto dal sideslip della ruota anteriore e posteriore e possibile indi-
viduare con precisione il momento in cui la motocicletta perde aderenza. E’ interessante notare
6.4 Condizioni di aderenza al limite in curva 95
Figura 6.6: Frame tratti dall’animazione generata da una manovra ad otto su superficie collinare
96 6. Simulazioni
Figura 6.7: Quota del punto di contatto durante la simulazione
Figura 6.8: Coppia allo sterzo
6.4 Condizioni di aderenza al limite in curva 97
Figura 6.9: Traiettoria seguita dalla motocicletta
Figura 6.10: Sideslip del pneumatico posteriore (in blu) e anteriore (in rosso)
98 6. Simulazioni
che la ruota posteriore presenta un valore di sideslip decisamente maggiore a causa dello “sco-
damento”. Inoltre il sideslip anteriore cambia di valore leggermente in anticipo rispetto a quello
posteriore dato che il pneumatico anteriore subisce per primo la variazione del coefficiente
d’attrito.
Figura 6.11: Angolo di rollio della motocicletta e posizione angolare dello sterzo
Esaminando l’angolo di rollio abbinato alla posizione angolare dello sterzo e possibile indi-
viduare l’azione del pilota nel momento in cui l’aderenza diminuisce: quando l’angolo di rollio
aumenta improvvisamente (la motocicletta sta cadendo) il pilota sterza verso l’interno della
curva per evitare la caduta e successivamente verso l’esterno per controllare la parte posteriore
della motocicletta. Nei giri successivi si verifica lo stesso fenomeno ma in maniera piu lieve,
dato che l’angolo di rollio si e gia stabilizzato sul valore di equilibrio (imposto dalla curvatura
di set-point).
6.4.2 Rotonda affrontata a velocita crescente fino alla perdita di aderenza
In questa simulazione il pilota percorre inizialmente un breve rettilineo che gli permette di
raggiungere la velocita di circa 20 Km/h, in seguito affronta una curva a raggio costante (set-
point di curvatura costante) di circa 12 metri di diametro. Infine, dopo aver compiuto alcuni giri,
6.4 Condizioni di aderenza al limite in curva 99
incrementa gradualmente (con accelerazione costante nel tempo) la velocita, fino ad oltrepassare
il limite di tenuta (come si puo notare in figura 6.13).
Figura 6.12: Traiettoria percorsa dalla motocicletta
Figura 6.13: Velocita dalla motocicletta
Osservando il valore assunto dal sideslip del pneumatico anteriore possiamo distinguere due
fasi differenti:
• inizialmente il sideslip aumenta fino a stabilizzarsi su un certo valore (dato che la velocita
e il raggio di curva sono costanti);
• successivamente, quando la motocicletta inizia ad accelerare, il sideslip cresce fino ad
arrivare al valore di 1, che corrisponde alla perdita totale di aderenza e in seguito scivola
per la tangente.
100 6. Simulazioni
Figura 6.14: Caduta della motocicletta
Figura 6.15: Sideslip del pneumatico anteriore
Esaminando l’angolo di rollio abbinato alla posizione angolare dello sterzo si possono
osservare diversi fenomeni legati alle manovre effettuate dal pilota:
• inizialmente si puo osservare l’azione controsterzante per favorire l’entrata in curva (e la
conseguente variazione dell’angolo di rollio),
• in seguito l’angolo di rollio e quello di sterzo rimangono costanti (dato che il set-point di
curvatura e di velocita sono costanti),
• nell’ultima parte della simulazione l’aumento della velocita di percorrenza della curva
richiede un aumento dell’angolo di rollio (dato che l’angolo di rollio d’equilibrio aumen-
6.5 Prove di frenata con e senza ABS in diverse condizioni 101
Figura 6.16: Angolo di rollio del pneumatico anteriore e angolo di sterzo
ta) ed il pilota e costretto a sterzare verso l’esterno della curva. Questo provoca inizial-
mente un allargamento della traiettoria e in seguito la caduta della motocicletta dato che
e stato superato l’angolo di tilt.
6.5 Prove di frenata con e senza ABS in diverse condizioni
6.5.1 Prove realizzate in rettilineo
Per convalidare il modello dell’impianto frenante sul rettilineo, e stato necessario realizzare
delle simulazioni, aventi diversi obiettivi:
• tarare opportunamente il sistema ABS;
• misurare l’andamento dello spazio d’arresto al variare della banda passante dell’impianto
frenante;
102 6. Simulazioni
Figura 6.17: Spostamento del carico verticale in frenata
Taratura dell’impianto ABS
Inizialmente sono stati svolti dei test al fine di individuare il valore di slip ottimale, cioe quel
valore per cui e minimo lo spazio d’arresto (quindi massimo l’integrale doppio nel tempo della
forza frenante).
Per svolgere queste simulazioni la dinamica dell’impianto frenante e quella del pilota sono
state considerate quasi istantanee (complessivamente 1000 Hz di banda passante) in modo da
non influenzare l’esito finale. In seguito sono stati misurati gli spazi d’arresto (ad una velocita
prossima ai 100 Km/h) al variare dello slip ottimale.
Come si puo notare, dalla figura 6.18 e dalla figura 6.19, il valore che consente di ottenere
le prestazioni migliori e di 0,11: permette di fermare la motocicletta in soli 35,73 metri.
I valori ottenuti sono perfettamente plausibili, anche se paragonati a quelli dalle motociclette
reali (da enduro).
6.5 Prove di frenata con e senza ABS in diverse condizioni 103
Figura 6.18: Tabella degli spazi d’arresto al variare dello slip ottimale
Figura 6.19: Grafico degli spazi di arresto al variare dello slip ottimale
104 6. Simulazioni
Andamento dello spazio d’arresto al variare della banda passante
Queste simulazioni hanno lo scopo di studiare l’andamento dello spazio d’arresto al variare
della dinamica dell’impianto frenante.
In tutte queste prove la banda passante del pilota e stata considerata di 8 Hz, lo slip ottimale
anteriore di 0,11 e posteriore di 0,12.
Gli esperimenti in questione sono stati realizzati nelle medesime condizioni esterne di quel-
li precedenti (l’aderenza e quella dell’asfalto asciutto). Il pilota, lanciato con la motocicletta
in rettilineo alla velocita di 100 Km/h, aziona bruscamente (senza rilasciare) la leva del freno.
L’ABS, se attivo, modula la frenata cercando di mantenere il valore di slip ottimale (0,11).
In figura 6.20 e possibile notare l’andamento dello slip del pneumatico anteriore in tre casi
distinti:
• Frenata senza ABS: lo slip assume bruscamente il valore di -1 (ruota bloccata), senza
accennare ad un aumento, fino al completo arresto della motocicletta;
• Frenata con ABS (banda 10 Hz): il valore dello slip, dopo brusche oscillazioni iniziali, si
assesta sul valore ottimale (0,11);
• Frenata con ABS (banda 20 Hz): lo slip si assesta piu velocemente sul valore ottimale e
con minori oscillazioni.
Come si puo notare dalla figura 6.21, nella prima simulazione l’ABS e stato disattivato;
infatti lo spazio d’arresto e decisamente elevato. Per quanto riguarda le altre prove, effettuate
con ABS attivato, la frenata diventa soddisfacente superati i 10 Hz (valore tipico degli impianti
d’attuazione associati agli ABS moderni).
E’ interessante notare che oltre un certo valore la dinamica dei freni influenza solo in modo
marginale gli spazi d’arresto, probabilmente perche il fattore limitante (collo di bottiglia) e
determinato dalle caratteristiche degli pneumatici utilizzati.
6.5 Prove di frenata con e senza ABS in diverse condizioni 105
Figura 6.20: Valore assunto dallo slip del pneumatico anteriore al variare della banda passantedell’impianto d’attuazione dei freni
Figura 6.21: Tabella degli spazi d’arresto al variare della banda passante dell’impiantod’attuazione dei freni
106 6. Simulazioni
Figura 6.22: Grafico degli spazi d’arresto ottenuti al variare della banda passante dell’impiantod’attuazione dei freni
6.5.2 Prove realizzate in curva
In questo paragrafo saranno descritte alcune delle prove che sono state effettuate per appro-
fondire e verificare il comportamento in frenata in curva di una motocicletta. In particolare
saranno analizzate frenate in condizioni diverse (con diverse tarature dell’ABS).
Le simulazioni prevedono che il pilota, impegnato in una curva, debba affrontare una manovra
d’emergenza e agisca bruscamente sulla leva del freno anteriore, senza rilasciarla piu.
Gli scenari proposti sono:
1 - curva con raggio di 112 metri (circa) percorsa a 20 m/s,
2 - curva con raggio di 112 metri (circa) percorsa a 30 m/s,
2 - curva con raggio di 54 metri (circa) percorsa a 22 m/s,
4 - curva con raggio di 112 metri (circa) percorsa a 30 m/s e con asfalto bagnato.
6.5 Prove di frenata con e senza ABS in diverse condizioni 107
Figura 6.23: Spostamento del carico verticale in una frenata in curva
Curva con raggio di 112 metri percorsa a 20 m/s
Questo scenario prevede che la motocicletta affronti una curva con raggio di 112 metri (circa)
ad una velocita pressoche costante di 20 m/s. La motocicletta, per poter mantenere la curvatura,
si assesta intorno ad un angolo di rollio di circa 20°.
I dati presentati in seguito si riferiscono a prove di frenata:
• senza ABS,
• con ABS tarato per il rettilineo (slip ottimale = 0,11) e differenti impianti frenanti5 (con
banda passante differente).
Come si puo notare dalla figura 6.24, dove sono riportati i tempi necessari per frenare da 20
a 5 m/s, utilizzando l’ABS e un impianto frenante piu performante, e possibile impiegare meno
di due secondi.
E’ importante specificare che, nel caso in cui si utilizzi un impianto frenante privo di sistema
di antibloccaggio o con dinamica di attuazione pneumatica inferiore a 6 Hz, la motocicletta cade
prima di raggiungere la velocita di 5 m/s.
5 L’attuazione dell’impianto frenante, come descritto precedentemente, e stata modellizzata con un filtropassa-basso, con banda passante differente a seconda del tipo di impianto considerato. A frequenze piu elevatecorrispondono impianti frenanti piu veloci.
108 6. Simulazioni
Figura 6.24: Tempo per frenare da 20 a 5 m/s in una curva di 112 metri di raggio
Per poter analizzare nello specifico tutte le prove che sono state eseguite in questo scenario
e necessario riportare gli istanti di caduta delle varie prove.
Sebbene non si possa definire con chiarezza l’istante di caduta di una motocicletta, si e pen-
sato di considerare l’istante in cui l’angolo di rollio supera un determinato valore che identifica
la perdita di controllo, valore differente per ogni set di prove. Dopo tale istante l’angolo cresce
rapidamente fino a π
2 , senza riuscire piu a ristabilizzarsi nell’intorno di quello desiderato. E’
opportuno non considerare un valore di angolo troppo elevato, ad esempio superiore all’angolo
di tilt, poiche le dinamiche di caduta sono molto differenti, e falserebbero i risultati6. Per questo
ciclo di simulazioni l’angolo di caduta e stato fissato a 0,5 radianti (circa 29°).
Dalla figura 6.25 si puo notare come la presenza di un sistema di antibloccaggio sia un
requisito indispensabile: senza ABS la motocicletta cade quasi subito, praticamente senza
rallentare.
Un altro requisito di fondamentale importanza e avere un discreto circuito di attuazione
pneumatica: con 8 Hz la frenata e molto buona, al di sotto dei 7 Hz diventa scadente.
6 E’ importante sottolineare che le non linearita del sistema vietano di effettuare considerazioni puntigliose aldi sotto della velocita critica.
6.5 Prove di frenata con e senza ABS in diverse condizioni 109
Figura 6.25: Velocita e tempo di frenata prima di cadere in una curva lenta
Curva con raggio di 112 metri percorsa a 30 m/s
In questo set di simulazioni la motocicletta affronta una curva simile alla precedente ma a
velocita molto piu elevata: 30 m/s. Le condizioni sono molto vicine al limite di tenuta: la moto,
per mantenere la curvatura, si assesta con un angolo di rollio di circa 38°(vicino all’angolo
limite).
In queste simulazioni si analizza il valore ottimale di slip longitudinale, variando da 0,11
(taratura per il rettilineo) a 0,02.
Come si puo vedere dai risultati in figura 6.26 le prestazioni migliori si ottengono imponen-
do un valore ottimale di slip pari a 0,11, ossia l’ABS tarato per il rettilineo.
Anche per le velocita registrate nell’istante in cui si perde il controllo, riportate in figura
6.27 il discorso e analogo: l’ABS tarato per il rettilineo riesce, fino all’istante di caduta, a far
rallentare maggiormente la motocicletta e in un tempo inferiore, e quindi il piu performante.
110 6. Simulazioni
Figura 6.26: Tempo per frenare da 30 a 5 m/s in una curva di 112 metri di raggio
Figura 6.27: Velocita e tempo di frenata prima di cadere in una curva veloce
6.5 Prove di frenata con e senza ABS in diverse condizioni 111
Curva con raggio di 54 metri percorsa a 22 m/s
In queste simulazioni la motocicletta deve affrontare una curva al limite della tenuta, infatti
deve mantenere un angolo di rollio di poco superiore a 42°. Utilizzando il medesimo pilota e
impianto frenante, si prova a variare il valore ottimale di slip per l’ABS.
I dati rilevati evidenziano come il sistema di antibloccaggio tarato per il rettilineo, che fino
ad ora era risultato il piu performante, sia del tutto inadeguato in queste condizioni. Come si
puo vedere in figura 6.28, nel caso in cui lo slip ottimale sia pari a 0,11 la motocicletta cade,
mentre con valori minori o uguali a 0,08 mantiene l’equilibrio.
Figura 6.28: Tempo per frenare da 22 a 5 m/s in una curva di 54 metri di raggio
La figura 6.29 evidenzia ulteriormente il problema: utilizzando l’ABS tarato con slip otti-
male pari a 0,11 la motocicletta cade quasi istantaneamente, ad oltre 16 m/s.
Diminuendo il valore di slip ottimale la motocicletta conserva la stabilita ma lo spazio di
frenata aumenta eccessivamente.
Da queste simulazioni risulta evidente che, nel caso in cui l’angolo di rollio sia di circa 42°,
112 6. Simulazioni
sarebbe opportuno utilizzare un valore di slip ottimale, per la taratura dell’ABS, leggermente
inferiore.
Figura 6.29: Velocita e tempo di frenata prima di cadere in una curva stretta
Curva con raggio di 112 metri percorsa a 30 m/s su asfalto bagnato
Queste prove sono analoghe a quelle effettuate precedentemente, ma su asfalto bagnato.
Come si puo notare in figura 6.30, quando il valore di slip ottimale per l’ABS e superiore a
0,09 la motocicletta cade prima di raggiungere i 5 m/s.
Il miglior tempo di frenata si ottiene con slip ottimale pari a 0,09: poco meno di 5 secondi
per passare da 30 a 5 m/s.
Nella figura 6.31 si nota ancora meglio quanto descritto precedentemente.
6.5 Prove di frenata con e senza ABS in diverse condizioni 113
Figura 6.30: Tempo per frenare da 30 a 5 m/s sul bagnato in una curva di 112 metri di raggio
Figura 6.31: Velocita e tempo di frenata prima di cadere su asfalto bagnato in una curva veloce
114 6. Simulazioni
Capitolo 7
Conclusioni e sviluppi futuri
Questo scritto documenta il lavoro che ha portato alla realizzazione di un modello virtuale,
tramite il quale e possibile simulare la dinamica di un generico veicolo a due ruote. Grazie al
package MotorcycleDynamics sara possibile disporre di uno strumento software utile per
analizzare le piu svariate proprieta dinamiche di qualsiasi mezzo a due ruote.
Il modello presentato e stato concepito essenzialmente con una duplice finalita: sia per
affrontare le fasi preliminari della progettazione di un veicolo, evitando ingenti costi di fab-
bricazione dei prototipi e riducendo notevolmente i tempi realizzativi, che per effettuare prove
ritenute troppo rischiose per i collaudatori.
La comprovata veridicita dei risultati delle simulazioni e giustificata dalla meticolosita che
ha contraddistinto sia il procedimento di rappresentazione del sistema fisico che lo studio e la
creazione del sistema di controllo. L’implementazione seguita ha consentito di ridurre consid-
erevolmente il numero e la consistenza delle approssimazioni, assottigliando cosı il confine tra
realta e simulazione.
Il contenuto decisamente innovativo delle prove di simulazione proposte e legato alla rivolu-
zionaria logica di controllo introdotta e allo studio, approfondito in svariate condizioni, del
dispositivo di antibloccaggio delle ruote in frenata, meglio noto come ABS (Antilock Brake
System).
Il sistema di pilotaggio presuppone che l’utente interagisca, in tempo reale, eventualmente
utilizzando un interfaccia di input/output opportunamente configurata (come un joystick dota-
115
116 7. Conclusioni e sviluppi futuri
to di potenziometri e ritorno di forza), con la simulazione, manovrando sterzo, acceleratore e
freni. Le simulazioni, finalizzate alla validazione di questo controllo, hanno evidenziato come il
complesso motocicletta-pilota possa essere giustamente equiparato ad un sistema del primo or-
dine, linearizzato nell’intorno della condizione “angolo di rollio nullo”. Questa considerazione
e stata promotrice di molti altri approfondimenti; per esempio si e dimostrato che, fornendo
la medesima coppia sullo sterzo, a velocita piu elevate aumenta il tempo di assestamento del
sistema, ma anche l’angolo di rollio raggiunto.
Un altro aspetto fondamentale di questo studio e legato all’analisi del comportamento di-
namico della motocicletta in corrispondenza di una frenata d’emergenza. L’impianto frenante,
di cui e dotata la motocicletta, e stato sottoposto a prove di simulazione con diverse condizioni
stradali, traiettorie e utilizzando differenti regolazioni. Dai dati rilevati e emerso che l’ABS
tarato per la frenata in rettilineo garantisce prestazioni eccellenti anche in curva, ma solo su as-
falto asciutto (in condizioni ottimali) e con angolo di rollio inferiore a 38°. L’aderenza influisce
marcatamente sul valore di slip ottimale per il sistema di antibloccaggio, in particolare, su asfal-
to bagnato o con coefficiente d’attrito inferiore, sarebbe preferibile utilizzare un valore minore
di 0,11, ideale per la frenata in rettilineo su asfalto asciutto. Probabilmente sarebbe opportuno
utilizzare un valore di slip ottimale che sia funzione del sideslip (grandezza che meglio rapp-
resenta la condizione di aderenza laterale), ma dato che questo non e misurabile, si potrebbe
sfruttare congiuntamente l’angolo di rollio e lo slip.
Come e facile intuire, ogni progetto e il completamento di una fase produttiva ma, in-
evitabilmente, apre la strada a nuovi sviluppi, integrazioni, aggiunte, ottimizzazioni e rielab-
orazioni costruttive; anche questo lavoro potra, in futuro, essere potenziato, percio di seguito
sono presentate alcune tra le possibili proposte di sviluppo.
7.1 Realizzazione di altri veicoli basati su ruote
Grazie all’approccio acausale utilizzato, sarebbe possibile realizzare, senza modificare i mod-
elli dei pneumatici e della strada, qualsiasi altro veicolo. Per esempio si potrebbero simulare
7.2 Sospensioni attive 117
monocicli, veicoli a tre, quattro o piu ruote, con geometrie di sterzo sperimentali, un aspetto
decisamente importante dati i costi ingenti per la realizzazione dei prototipi.
7.2 Sospensioni attive
Le sospensioni attive, ideate negli anni ’80 in formula 1, successivamente sono approdate nel
mondo dei veicoli a quattro ruote e, solo recentemente, in quello delle due ruote.
Al giorno d’oggi, sembra che la fase di sperimentazione, perlomeno nel campo dei moto-
cicli, non abbia raggiunto risultati esaurienti e che la ricerca debba ancora approfondire alcuni
aspetti salienti legati al funzionamento dinamico di questi sistemi.
Utilizzando il package MotorcycleDynamics e modificando opportunamente il model-
lo delle sospensioni sarebbe possibile ottenere dati preziosi.
7.3 ABS con centralina di calcolo e sensori
Per un’analisi veramente approfondita dell’impianto frenante dotato di ABS sarebbe opportuno
riconsiderare le semplificazioni che ha subito il modello presentato in questo studio, come:
• idealita dei sensori per stimare lo slip,
• banda passante del sistema di controllo ideale,
• attuazione sui freni regolata dal controllo in tempo continuo e non a intervalli di tempo
discreti,
• attuazione sui freni pilotata dal sistema di controllo con valori continui e non discreti (non
molto influente, legato alla precisione di campionamento, cioe al numero di bit dedicati).
7.4 Controllo in traiettoria/percorso
In aggiunta al controllo in curvatura e a quello in angolo di rollio risulterebbe molto utile re-
alizzare un controllo che permetta alla motocicletta di seguire un percorso prestabilito. Per
118 7. Conclusioni e sviluppi futuri
realizzare questo controllo e necessario scegliere una rappresentazione opportuna del percorso.
Esistono due alternative possibili:
• textbfCaso 1: il percorso puo essere inteso semplicemente come luogo geometrico dei
punti che la motocicletta deve attraversare (a prescindere dal tempo);
• Caso 2: e possibile aggiungere una legge oraria che lo descriva in modo da introdurre
informazioni riguardanti la velocita e l’accelerazione.
In entrambi i casi e necessario stimare in modo adeguato l’errore di traiettoria istantaneo, in
particolare:
• un errore di posizione (distanza tra il punto desiderato e la motocicletta);
• un errore di direzione (angolo esistente tra la tangente alla traiettoria e la direzione desider-
ata).
Nel primo caso per errore di posizione si intende la distanza tra la motocicletta e il punto
piu vicino appartenente al percorso desiderato e per errore di direzione l’angolo minimo tra la
retta su cui giace il vettore velocita della motocicletta e la tangente alla traiettoria nel punto piu
vicino (appartenente al percorso desiderato).
Figura 7.1: Caso 1: calcolo dell’errore di traiettoria dato il luogo geometrico dei punti
Nel secondo caso per errore di posizione si intende la distanza tra la motocicletta e il pun-
to in cui si dovrebbe trovare (secondo la legge oraria). Come mostrato in figura, si possono
individuare due componenti:
7.5 Controllo di trazione 119
• errore laterale: indica in che misura sara necessario spostarsi lateralmente agendo oppor-
tunamente sullo sterzo;
• errore longitudinale: indica di quanto sara necessario spostarsi longitudinalmente agendo
sull’acceleratore o sul freno.
Per errore di direzione si intende l’angolo minimo tra la retta su cui giace il vettore velocita e
la tangente alla traiettoria nel punto in cui si dovrebbe trovare la motocicletta (secondo la legge
oraria).
Figura 7.2: Caso 2: calcolo dell’errore di traiettoria data la legge oraria
Dopo aver definito gli errori occorre semplicemente adottare un controllo in curvatura e
modificare il set-point aggiungendo i due errori (ovviamente “pesati” in modo adeguato). Nel
secondo caso sara necessario agire (con la stessa logica) sulla coppia fornita alla ruota posteriore
e a quella anteriore fornendo una coppia proporzionale all’errore longitudinale.
7.5 Controllo di trazione
Dalle prove di simulazione e emerso un inconveniente che riguarda il sistema di controllo in
velocita: il fenomeno di wind-up. Questo si verifica quando il set-point di velocita longitudi-
nale richiesto non puo essere raggiunto dalla motocicletta a causa della saturazione dovuta al
120 7. Conclusioni e sviluppi futuri
pattinamento della ruota posteriore (ovviamente quando slip >> slipottimale).
Per ovviare a questo problema e possibile adottare due strategie differenti:
• inviare al sistema di controllo un set-point di velocita “plausibile” tenendo in consider-
azione i limiti di accelerazione e pattinamento della motocicletta.
• inserire un filtro anti-windup possibilmente integrato con un sistema di “traction control”
dal funzionamento molto simile all’ABS mostrato in precedenza. Quando il valore as-
sunto dallo slip supera lo slip ottimale, la coppia fornita alla ruota posteriore viene ridotta
o annullata. In questo modo si otterrebbero performance in accelerazione decisamente
migliori di quelle attuali. A questo punto si potrebbero introdurre anche la dinamica del
pilota (tramite un filtro passa basso con 8 Hz di banda passante) e quella del motore
e adottare come variabile di controllo la posizione angolare (opportunamente saturata)
della manopola dell’acceleratore (o un valore percentuale derivato da questo).
Elenco delle figure
2.1 Un modello di un semplice motore controllato . . . . . . . . . . . . . . . . . . 92.2 Il modello Motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.3 L’architettura di Dymola . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.4 Il processo dal codice Modelica alla simulazione . . . . . . . . . . . . . . . . 15
3.1 Macro-schema del modello . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.2 Passo, angolo di caster e trail . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.3 Schema concettuale d’interazione tra il pneumatico e la superficie stradale . . . 233.4 Comportamento della funzione µx(λ) in differenti condizioni stradali . . . . . . 243.5 I quattro frame: frame del mozzo (in verde), wheel (in giallo), frame del punto
di contatto ideale (in rosso) e del punto di contatto reale (in blu). . . . . . . . . 253.6 Identificazione della direzione della velocita di rotazione equivalente della ruota 263.7 Generazione del momento di twist . . . . . . . . . . . . . . . . . . . . . . . . 333.8 Forze di resistenza aerodinamica . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.1 Schema di un connettore meccanico . . . . . . . . . . . . . . . . . . . . . . . 384.2 Esempio di catena cinematica: lo schema delle connessioni e il contributo
grafico dell’animazione creata . . . . . . . . . . . . . . . . . . . . . . . . . . 394.3 Le geometrie della moto, del pilota e le posizioni dei baricentri . . . . . . . . . 414.4 Schema generale delle connessioni . . . . . . . . . . . . . . . . . . . . . . . . 424.5 Caratteristiche di default della molla (in alto a destra) e dello smorzatore (in alto
a sinistra) della sospensione anteriore e ingrandimento della zona di funziona-mento “normale” della molla (in basso) . . . . . . . . . . . . . . . . . . . . . 44
4.6 Una possibile implementazione del modello di una ruota (Standard Wheel).Si puo notare il connettore (in giallo), il sensore (triangolo con il contorno blu),il record dei dati (in alto a destra) e il corpo della ruota (in blu). . . . . . . . . . 46
4.7 Le terne della ruota: frame b in verde, wheel in giallo, P in rosso e POC in blu 484.8 Il frame solidale con la ruota frame b (in verde) e wheel (in giallo) . . . . . 494.9 Il versore x wheel (in giallo) e il risultato della normalizzazione del prodotto
vettoriale di y wheel (in giallo) e z POC (in blu) . . . . . . . . . . . . . . . . 504.10 Gli assi x wheel (in giallo) e x POC (in blu) sono paralleli . . . . . . . . . . 514.11 Terna del punto di contatto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514.12 Le terne della ruota: frame b in verde, wheel in giallo, P in rosso e POC in blu 52
121
122 ELENCO DELLE FIGURE
4.13 Caratteristiche dei modelli d’attrito longitudinale: Lineare e di Pacejka . . . . . 534.14 Esempio implementativo del modello del pilota Joystick Driver . . . . . 574.15 Strada a sella con vettore normale (in rosso) e quota (in blu) . . . . . . . . . . 594.16 Strada piana con salita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604.17 Il modello MotorcycleDynamics.Supermotard . . . . . . . . . . . . . 62
5.1 Componenti che modellizzano il pilota . . . . . . . . . . . . . . . . . . . . . . 675.2 Le 4 fasi di una curva: controsterzo, sterzo, mantenimento e chiusura . . . . . . 685.3 Azioni sullo sterzo in curva . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685.4 Le 4 fasi di una curva: angolo dello sterzo, coppia fornita allo sterzo e angolo
di rollio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695.5 Angolo di rollio di equilibrio in curva . . . . . . . . . . . . . . . . . . . . . . 715.6 Schema generale controllo in curvatura . . . . . . . . . . . . . . . . . . . . . . 725.7 Regolatore di curvatura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735.8 Stabilizzatore di velocita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735.9 Stabilizzatore di accelerazione . . . . . . . . . . . . . . . . . . . . . . . . . . 735.10 Sistema di controllo dell’angolo di rollio . . . . . . . . . . . . . . . . . . . . . 745.11 Valore assunto dal coefficiente non lineare Coeff Roll al variare dell’angolo
di rollio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755.12 Schema riassuntivo del pilota joystick . . . . . . . . . . . . . . . . . . . . . . 765.13 Dal controllo PPP al controllo joystick . . . . . . . . . . . . . . . . . . . . . . 775.14 Controllo di velocita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775.15 Schema generale dell’impianto frenante . . . . . . . . . . . . . . . . . . . . . 785.16 Dinamica del pilota . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795.17 Andamento della forza longitudinale al variare dello slip . . . . . . . . . . . . 805.18 Coefficiente non lineare ABS . . . . . . . . . . . . . . . . . . . . . . . . . . . 815.19 Il modello dei freni: Modelica.Rotational.Brake . . . . . . . . . . . 825.20 Andamento della coppia frenate (d’attrito) al variare della velocita angolare. . . 835.21 Dinamica del circuito pneumatico dei freni . . . . . . . . . . . . . . . . . . . . 83
6.1 Disturbo a rampa e andamento dell’angolo di rollio . . . . . . . . . . . . . . . 866.2 Controllo joystick: disturbo sinusoidale e angolo di rollio . . . . . . . . . . . . 876.3 Frame tratti dall’animazione generata dalla percorrenza di una rotonda . . . . . 926.4 Coppia allo sterzo e angolo di rollio . . . . . . . . . . . . . . . . . . . . . . . 936.5 Traiettoria della motocicletta per affrontare una rotonda con raggio di 8,75 metri 936.6 Frame tratti dall’animazione generata da una manovra ad otto su superficie
collinare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 956.7 Quota del punto di contatto durante la simulazione . . . . . . . . . . . . . . . 966.8 Coppia allo sterzo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 966.9 Traiettoria seguita dalla motocicletta . . . . . . . . . . . . . . . . . . . . . . . 976.10 Sideslip del pneumatico posteriore (in blu) e anteriore (in rosso) . . . . . . . . 976.11 Angolo di rollio della motocicletta e posizione angolare dello sterzo . . . . . . 986.12 Traiettoria percorsa dalla motocicletta . . . . . . . . . . . . . . . . . . . . . . 99
ELENCO DELLE FIGURE 123
6.13 Velocita dalla motocicletta . . . . . . . . . . . . . . . . . . . . . . . . . . . . 996.14 Caduta della motocicletta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1006.15 Sideslip del pneumatico anteriore . . . . . . . . . . . . . . . . . . . . . . . . . 1006.16 Angolo di rollio del pneumatico anteriore e angolo di sterzo . . . . . . . . . . 1016.17 Spostamento del carico verticale in frenata . . . . . . . . . . . . . . . . . . . . 1026.18 Tabella degli spazi d’arresto al variare dello slip ottimale . . . . . . . . . . . . 1036.19 Grafico degli spazi di arresto al variare dello slip ottimale . . . . . . . . . . . . 1036.20 Valore assunto dallo slip del pneumatico anteriore al variare della banda pas-
sante dell’impianto d’attuazione dei freni . . . . . . . . . . . . . . . . . . . . 1056.21 Tabella degli spazi d’arresto al variare della banda passante dell’impianto d’at-
tuazione dei freni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056.22 Grafico degli spazi d’arresto ottenuti al variare della banda passante dell’impianto
d’attuazione dei freni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1066.23 Spostamento del carico verticale in una frenata in curva . . . . . . . . . . . . . 1076.24 Tempo per frenare da 20 a 5 m/s in una curva di 112 metri di raggio . . . . . . 1086.25 Velocita e tempo di frenata prima di cadere in una curva lenta . . . . . . . . . . 1096.26 Tempo per frenare da 30 a 5 m/s in una curva di 112 metri di raggio . . . . . . 1106.27 Velocita e tempo di frenata prima di cadere in una curva veloce . . . . . . . . . 1106.28 Tempo per frenare da 22 a 5 m/s in una curva di 54 metri di raggio . . . . . . . 1116.29 Velocita e tempo di frenata prima di cadere in una curva stretta . . . . . . . . . 1126.30 Tempo per frenare da 30 a 5 m/s sul bagnato in una curva di 112 metri di raggio 1136.31 Velocita e tempo di frenata prima di cadere su asfalto bagnato in una curva veloce113
7.1 Caso 1: calcolo dell’errore di traiettoria dato il luogo geometrico dei punti . . . 1187.2 Caso 2: calcolo dell’errore di traiettoria data la legge oraria . . . . . . . . . . . 119
124 ELENCO DELLE FIGURE
Bibliografia
[1] AEgis Technologies, ACSL home page, http://www.acslsim.com/.
[2] AspenTech, ASPEN Plus and SpeedUp home page, http://www.aspentech.com/.
[3] K. J. Astrom, Bycycle dynamics and control, Delft.
[4] K.E. Brenan, S.L. Campbell, and L.R. Petzold, Numerical Solution of Initial-ValueProblems in Differential Algebraic Equations, North-Holland, New York, 1989.
[5] A. P. Breunese and J.F. Broenink, Modeling mechatronics systems using the SIDOPS+ lan-guage., ICBGM’97, 3rd International Conference on Bond Graph Modeling and Simula-tion (The Society for Computer Simulation International, ed.), Simulation Series, vol. 21,1997, pp. 301–306.
[6] P. Burton and C. Pantelides, Modeling of combined discrete/continuous processes, AIChEJournal 40 (1994), 966–979.
[7] G. Castelnuovo, L. Gotti, Progetto di un modello in scala di un dispositivo rotante daimbarcare a bordo della stazione spaziale, Ph.D. thesis, Politecnico di Milano, 2002.
[8] F.E. Cellier and H. Elmqvist, Automated formula manipulation supports object-orientedcontinuous-system modelling, IEEE Control Systems Magazine 13 (1993), no. 2, 28–38.
[9] Tang-Hsien Chang, Eight-degrees-of-freedom kinematic model demonstrating after-impact motorcycle’s behavior, Journal of the Chinese Institute of Engineers 25 (2002),no. 6, 679–691.
[10] Controllab Products B.V., 20sim home page, http://www.20sim.com.
[11] V. Cossalter, Motorcycle Dynamics, Race Dynamics, Milwaukee, USA, 2002.
[12] V. Cossalter, A. Doria, and R. Lot, Steady Turning of Two-Wheeled Vehicles, VehicleSystem Dynamics 31 (1999), 157–181.
[13] V. Cossalter and R. Lot, A motorcycle multi-body model for real time simulations basedon the natural coordinates approach, Vehicle System Dynamics: International Journal ofVehicle Mechanics and Mobility 37 (2002), 423–447.
125
126 BIBLIOGRAFIA
[14] V. Cossalter, R. Lot R., and F. Maggio, The Influence of Tire Properties on the Stability ofa Motorcycle in Straight Running and in Curve, SAE Automotive Dynamics & StabilityConference (ADSC) (Detroit, Michigan, USA, May 7-9), 2002.
[15] , On the Stability of Motorcycle during Braking, SAE Small Engine TechnologyConference & Exhibition (Graz, Austria, September 2004), 2004, SAE Paper number:2004-32-0018 / 20044305.
[16] J.R. Dormand and P.J. Prince, A family of embedded runge-kutta formulae, Journal ofComputational and Applied Mathematics 6 (1980), 19–26.
[17] http://www.dynasim.se/.
[18] Dynasim AB, Dymola−Dynamic Modelling Laboratory, Lund, Sweden, http://www.dynasim.se/dymola.htm.
[19] EECS Department of the University of California at Berkeley, SPICE home page, http://bwrc.eecs.berkeley.edu/Classes/IcBook/SPICE/.
[20] Simos Evangelou, The control and stability analysis of two-wheeled road vehicles, Ph.D.thesis, University of London, 2003.
[21] G. Ferretti, Systematic dynamic modelling of mechanical systems containing kinematicloops, Mathematical Modelling of Systems 2 (1996), no. 3, 212–235.
[22] G. Ferretti (ed.), Modelling and simulation of motorcycle dynamics for active controlsystem prototyping, 5th MATHMOD Vienna, February 2006.
[23] G. Ferretti, F. Schiavo, and L. Vigano, Modular modelling of flexible thin beams in multi-body systems, 44th IEEE Conference on Decision and Control (Seville, Spain), 12-15December, 2005.
[24] , Object-oriented modelling and simulation of flexible multibody thin beams inmodelica with the finite element method, 4th Modelica Conference (Hamburg-Harburg,Germany), March 7-8, 2005.
[25] P. Fritson, L. Viklund, D. Fritson, and J. Herber, High level mathematical modeling andprogramming, IEEE Software 12 (1995), no. 3, all pages.
[26] P. Fritzson (ed.), 3th international modelica conference, Linkopings Universitet,Linkoping, Sweden, November 3-4 2003, http://www.modelica.org/events/Conference2003.
[27] C. Fuhrer, Differential-algebraische-gleichungssysteme in mechanischen mehrkorper-systemen: Theorie, numerische ansatze und anwendungen., Ph.D. thesis, Fakultat furMathematik und Informatik, Technische Universitat Munchen, 1988.
BIBLIOGRAFIA 127
[28] K. Guo and H. Guan, Modeling of Driver/Vehicle Directional Control Systems, VehicleSystem Dynamics 22 (1993), 141–184.
[29] N.M. Hall, S.R. Wereley, Linear control issues in the higher control of helicopter vibra-tion, Proceedings of the 35th Annual Forum of American Helicopter Society (1989), allpages.
[30] A.C. Hindmarsh, ODEPACK, a systematized collection of ode solvers, IMACS Trans-actions on Scientific Computation, vol. 1, pp. 55–64, Noth-Holland, Amsterdam,1983.
[31] IEEE, Standard VHDL analog and mixed signal extensions, Techical Report 1076.1, IEEE,1997.
[32] A. Jeandel, F. Boudaud, P. Ravier, and A. Bushing, U.L.M. un language de modelisation,a modeling language, CESA’96 IMACS Multiconference (Lille, France) (IMACS, ed.),1996.
[33] U. Kiencke and L. Nielsen, Automotive Control Systems, Springer-Verlag, Berlin, 2000.
[34] M. Kloas, V. Friesen, and M. Simons, Smile - a simulation environment for energy sys-tems, SAS’95, 5th International IMACS Symposium on Systems Analysis and Simulation,1995.
[35] A. Leva and C. Maffezzoni, Modelling of power plants, Thermal power plant simulationand control (London) (D. Flynn, ed.), IEE, 2003, pp. 17–60.
[36] L.Formaggia, F.Nobile, A.Quarteroni, and A.Veneziani, Multiscale modelling of the circu-latory system: a preliminary analysis, Computing and Visualization in Science 2 (1999),no. 2, 75–83.
[37] D. J. N. Limebeer, R. S. Sharp, and S. Evangelou, The stability of motorcycles underacceleration and braking, Proc. I. Mech. E., Part C, Journal of Mechanical EngineeringScience 215 (2001), 1095–1109.
[38] LMS engineering innovation, DADS home page, http://www.lmsintl.com.
[39] S.L. Campbell L.R. Petzold, K.E. Brenan, The numerical solution of initial value problemsin differential-algebraic equations, Elseveir Science Publishing Co., 1989.
[40] Ch. Lubich, U. Nowak, U. Pohle, and Ch. Engstler, An overview of MEXX: numericalsoftware for integration of multibody systems, Advanced Multibody Dynamics, pp. 421–426, Kluwer Academic Publishers, 1993.
[41] C. Maffezzoni and R. Girelli, MOSES: modular modeling of physical systems in an object-oriented database, Mathematical Modeling of Systems 4 (1998), no. 2, 121–147.
128 BIBLIOGRAFIA
[42] Luca Marescotti, Modellazione del sistema pilota-veicolo a due ruote in ambienteintegrato Matlab-Adams, Master’s thesis, Universita di Pisa, 2003.
[43] S.E. Mattsson and M. Andersson, Omola - an object-oriented modeling language, RecentAdvances in Computer Aided Control Systems, pp. 291–310, Elsevier Science, 1993.
[44] S.E. Mattsson, M. Andersson, and K.J. Astrom, Object-oriented modeling and simulation,ch. 2, pp. 31–69, Marcel Dekker Inc., 1993.
[45] S.E. Mattsson, H. Elmqvist, and M. Otter, Physical System Modeling with Modelica,Control Engineering Practice 6 (1998), 501–510.
[46] S.E. Mattsson and G. Soderlind, Index reduction in differential-algebraic equations usingdummy derivatives, SIAM Journal on Scientific Computing 14 (1993), no. 3, 677–692.
[47] MSC software, ADAMS home page, http://www.mscsoftware.com.
[48] National Instruments MATRIXx Design and Development Tools, SystemBuild HomePage, http://ni.com/matrixx/systembuild.htm.
[49] M. Oh and C.C. Pantelides, A modeling and simulation language for combined lumped anddistributed parameter systems, Computers and Chemical Engineering 20 (1996), 611–633.
[50] H. Olsson, H. Tummescheit, and H. Elmqvist, Using automatic differentiation for par-tial derivatives of functions in modelica, Proc. 4th International Modelica Conference(Hamburg-Harburg, Germany, March 7-84), 2005, pp. 105–112.
[51] M. Otter (ed.), 2th international modelica conference, Deutsches Zentrum fur Luft undRaumfahrt (DLR), Oberpfaffenhofen, Germany, March 18-19 2002, http://www.modelica.org/events/Conference2002.
[52] M. Otter, H. Elmqvist, and S.E. Mattsson, The new modelica multibody library, Proc. 3rdInternational Modelica Conference (Linkoping, Sweden, November 3-4), 2003, pp. 311–330.
[53] H.B. Pacejka, Tyre and Vehicle Dynamics, Buttherworth Heinemann, Oxford, 2002.
[54] C.C. Pantelides, The consistent initialization of differential-algebraic systems, SIAMJournal Scientific Statistical Computation 9 (1988), no. 2, 213–231.
[55] J.T. Goodall R.M. Pearson, Adaptive schemes for the active control of helicopter structuralresponse, IEEE Transactions on Control Systems Technology 2 (1994), no. 2, 61–72.
[56] PELAB, Openmodelica, Linkoping, Sweden, http://www.ida.liu.se/˜pelab/modelica/OpenModelica.html.
[57] S. Perotto, S. Micheletti, and F. Schiavo, Modelling heat exchangers by the finite elementmethod with grid adaption in modelica, 4th Modelica Conference (Hamburg-Harburg,Germany), March 7-8, 2005.
BIBLIOGRAFIA 129
[58] L.R. Petzold, A description of DASSL - a differential/algebraic system solver, 10th WorldCongress on System Simulation and Scientific Computation (Montreal, Canada), 1982,pp. 430–432.
[59] P. Piela, T. Epperly, Westerberg K., and Westerberg A., Ascend: An object-oriented com-puter environment for modeling and analysis: the modeling language, Computers andChemical Engineering 15 (1991), no. 1, 53–72.
[60] A. Quarteroni, S. Ragni, and A. Veneziani, Coupling between lumped and distributedmodels for blood flow problems, Computing and Visualization in Science 4 (2001), no. 2,111–124.
[61] P. Sahlin, A. Bring, and E.F. Sowell, The neutral model format for building simulation,version 3.02, Techincal report, Department of Building Sciences, The Royal Institute ofTechnology, Stockolm, Sweden, 1996.
[62] F. Schiavo, L. Vigano, and G. Ferretti, Modular modelling of flexible beams for multibodysystems, Multibody System Dynamics (2006), all pages, (submitted).
[63] Francesco Schiavo, Modelling and simulation of lumped and distribuited parametersphysical systems with object oriented techniques, Ph.D. thesis, Politecnico di Milano,2006.
[64] G. Schmitz (ed.), 4th international modelica conference, Hamburg University of Technol-ogy, Hamburg-Harburg, Germany, March 7-8 2005, http://www.modelica.org/events/Conference2005.
[65] L.F. Shampine and M.K. Gordon, Computer solution of ordinary differential equations:the initial value problem, W.H. Freeman, San Francisco, 1975.
[66] R. S. Sharp, Stability, control and steering responses of motorcycles, Vehicle SystemDynamics 35 (2001), 291–318.
[67] R. S. Sharp, S. Evangelou, and D. J. N. Limebeer, Advances in the modelling of motorcycledynamics, Multibody System Dynamics 12 (2004), 251–283.
[68] R. S. Sharp and D. J. N. Limebeer, A motorcycle model for stability and control analysis,Multibody System Dynamics 6 (2001), 123–142.
[69] R.S. Sharp, The stability and control of motorcycles, Journal of Mechanical EngineeringScience 13 (1971), 316–329.
[70] A.H. Sievers, L.A. von Flotow, Comparison and extensions of control methods for narrow-band disturbance rejection, IEEE Transactions on Signal Processing 40 (1992), no. 10, allpages.
[71] Simpack, Simpack home page, http://www.simpack.com.
130 BIBLIOGRAFIA
[72] J.C. Strauss, The SCi continuous systems simulation language, Simulation 9 (1967), 281–303.
[73] Synopsys, Saber home page, http://www.synopsys.com/products/mixedsignal/saber/saber.html.
[74] R.E. Tarjan, Depth-first search and linear graph algorithms, SIAM Journal of Computing1 (1972), 146–160;.
[75] The MathWorks, Matlab and Simulink for Technical Computing, http://www.mathworks.com/.
[76] The Modelica Association, Modelica - a unified object-oriented language for physical sys-tems modeling, Language Specification Version 2.2, 2005, http://www.modelica.org.
[77] M. Tiller, Introduction to Physical Modeling with Modelica, Kluwer, 2001.
[78] P.E. Wellstead, Introduction to Physical Modelling, Academic Press, London, 1979.
[79] S.R. Wereley, N.M. Hall, Frequency response of linear time periodic systems, Proceedingsof the 29th IEEE Conference on Decision and Control (1990), 3650–3655.