SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf ·...

87
UNIVERSITA’ DEGLI STUDI DI PADOVA Dipartimento di Ingegneria Industriale DII Corso di Laurea in Ingegneria Meccanica SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO POSTERIORE CON IL METODO DELLE COORDINATE NATURALI Relatore: Ch.mo Prof. Vittore Cossalter Correlatore: Ing. Matteo Massaro Laureando: Nicolò Ceranto Matr. 1078895 Anno Accademico 2015/2016

Transcript of SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf ·...

Page 1: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

UNIVERSITA’ DEGLI STUDI DI PADOVA

Dipartimento di Ingegneria Industriale DII

Corso di Laurea in Ingegneria Meccanica

SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO

POSTERIORE CON IL METODO DELLE COORDINATE

NATURALI

Relatore: Ch.mo Prof. Vittore Cossalter

Correlatore: Ing. Matteo Massaro

Laureando: Nicolò Ceranto Matr. 1078895

Anno Accademico 2015/2016

Page 2: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento
Page 3: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

“Da dove vieni è irrilevante,

è ciò che fai del dono della vita

che stabilisce chi sei”

Page 4: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento
Page 5: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

5

INDICE

Indice ........................................................................................................................................................... 5

Sommario .................................................................................................................................................... 7

1. Sospensione Motociclistica Posteriore ..................................................................................................... 9

1.1 Introduzione ............................................................................................................................................. 9

1.2 Forcellone Oscillante .............................................................................................................................. 10

1.3 Forcellone Cantilever ............................................................................................................................. 12

1.4 Meccanismi ............................................................................................................................................ 13

1.5 Rigidezza ridotta della sospensione ....................................................................................................... 15

1.6 Curva della rigidezza ridotta .................................................................................................................. 17

2. Metodo delle coordinate naturali .......................................................................................................... 19

2.1 Introduzione ........................................................................................................................................... 19

2.2 Modellizzazione generale dei meccanismi ............................................................................................. 20

2.3 Analisi cinematica .................................................................................................................................. 22

3. Analisi del quadrilatero articolato .......................................................................................................... 27

3.1 Equazioni del meccanismo ..................................................................................................................... 27

3.2 Valori iniziali ........................................................................................................................................... 29

3.3 Esempi .................................................................................................................................................... 30

4. Implementazione del modello sospensione ........................................................................................... 37

4.1 Descrizione del sistema .......................................................................................................................... 37

4.2 Dati di input ............................................................................................................................................ 39

4.3 Esecuzione degli algoritmi ...................................................................................................................... 41

4.4 Stampa dei risultati ................................................................................................................................ 44

5. Simulazioni e analisi dei dati .................................................................................................................. 47

5.1 Rapporto di velocità costante 0.5 .......................................................................................................... 48

5.2 Rapporto di velocità crescente 0.5-0.7 .................................................................................................. 54

5.3 Rapporto di velocità decrescente 0.5-0.35 ............................................................................................ 60

Conclusioni ................................................................................................................................................ 67

Appendice A .............................................................................................................................................. 69

Appendice B ............................................................................................................................................... 71

Bibliografia ................................................................................................................................................ 87

Page 6: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

6

Page 7: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

7

SOMMARIO

Il presente lavoro tratta lo sviluppo di un algoritmo per la descrizione e ottimizzazione

della sospensione posteriore motociclistica. Nella storia si sono sviluppate diverse

tipologie di sistemi sospensivi e in questa sede ci si intende concentrare nello schema a

quadrilatero biella-telaio, data la capacità di generare curve di rigidezza molto variegate. A

partire dallo studio cinematico del quadrilatero articolato si passa in seguito all’analisi

dell’intera sospensione. Il parametro su cui si realizzano le ottimizzazioni è il rapporto tra

la velocità di compressione della molla e la velocità di sollevamento verticale dello

pneumatico posteriore. Le procedure di ottimizzazione avvengono per via numerica: nel

software di calcolo viene implementata l’intera cinematica e i relativi algoritmi di

ottimizzazione: al termine delle iterazioni vengono presentate le dimensioni geometriche

ottimali degli elementi facenti parte del sistema sospensivo. Per esplorare il numero più

elevato possibile di soluzioni si fa riferimento a diversi metodi matematici basati su

altrettanto diverse strutture risolutrici. Vengono infine presentati degli esempi di

ottimizzazione per sospensioni a comportamento lineare, progressivo e regressivo.

Page 8: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

8

Page 9: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

9

1. SOSPENSIONE MOTOCICLISTICA

POSTERIORE

1.1. INTRODUZIONE

Poiché spesso le strade cittadine risultano avere un manto irregolare, la guida di un

motociclo privo di sospensioni risulta essere particolarmente difficoltosa, a causa del

disagio avvertito dal pilota a seguito della perdita di aderenza sul piano stradale. Gli

pneumatici sono sufficienti per assorbire piccole asperità, ma necessitano di un supporto

per affrontare quelle di maggiore entità: di qui la necessità di ricorrere a sistemi

sospensivi.

Nel dettaglio, le sospensioni devono contemporaneamente pervenire ai seguenti scopi:

garantire la corretta aderenza degli pneumatici al manto stradale, al fine di

trasferire nel modo ottimale le forze di trazione e frenata imposte dal veicolo;

assicurare l’assetto desiderato della motocicletta nelle diverse condizioni di

utilizzo dello stesso;

eseguire un corretto isolamento delle masse sospese dalle vibrazioni risultanti

dall’interazione degli pneumatici con il terreno: in questo senso le sospensioni

devono conseguire il duplice obiettivo di permettere alle ruote di seguire il

profilo della strada e garantire un ottimale comfort di guida al pilota.

Page 10: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

10

La soddisfazione contemporanea di questi aspetti risulta essere quasi impossibile: per

massimizzare il comfort sono infatti necessarie delle molle molto soffici, le quali tuttavia

presentano una notevole escursione nelle fasi di accelerazione e frenata con un

conseguente difficile mantenimento di assetto e stabilità desiderati [1]. L’importanza di

queste tre funzioni viene quindi variata in base all’utilizzo del veicolo in questione: le moto

da Gran Premio privilegiano assetto e aderenza, al fine di massimizzare la prestazione in

gara, e riservano al comfort un’importanza secondaria; d’altro canto le moto da turismo

devono assicurare un elevato comfort di guida e quindi relegano la prestazione ad un

ruolo minore.

Un altro aspetto fondamentale è legato al fatto che un particolare assetto è in grado di

soddisfare al meglio una particolare condizione di guida, ad esempio con la strada

asciutta, mentre con terreno bagnato può rispondere in modo totalmente diverso; in

egual misura la variazione dei carichi sul motoveicolo stesso (diversa corporatura dei

piloti, presenza di un passeggero, etc. …) comporta, a parità di condizioni stradali, una

variazione di risposta del sistema-veicolo.

Per soddisfare tutte queste necessità sono state sviluppate diverse tipologie di

sospensione posteriore motociclistica, caratterizzate dal proprio comportamento e da

vantaggi/svantaggi che verranno in seguito esposti.

1.2. FORCELLONE OSCILLANTE

Tradizionalmente la sospensione posteriore classica è composta da un forcellone

composto da due bracci oscillanti ognuno dei quali dotato di una propria unità molla-

smorzatore.

Page 11: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

11

Gli angoli particolari con cui vengono realizzati tali schemi consentono di gestire la

risposta del sistema e di ottenere una lieve progressività. La semplicità costruttiva di tale

apparato ne ha permesso una vasta distribuzione ed utilizzo da parte dei principali

costruttori a tal punto da risultare lo schema sospensivo più diffuso; in aggiunta a ciò si

evidenziano una facile dissipazione del calore prodotto dagli ammortizzatori, delle basse

forze reattive trasmesse al telaio attraverso la coppia rotoidale ed una grande ampiezza di

movimento del gruppo molla-smorzatore, la quale costringe gli ammortizzatori a lavorare

ad alte velocità di compressione ed estensione e rende più agevole il controllo dello

smorzamento. Per contro questo sistema presenta una limitata oscillazione verticale della

ruota, un comportamento non molto progressivo e la possibilità di ottenere degli sforzi

torcenti sul forcellone, causati da variazioni nei precarichi delle due molle o nelle

caratteristiche degli ammortizzatori.

Figura 1: schema della sospensione a forcellone oscillante tradizionale e applicazione su Guzzi California

Page 12: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

12

1.3. FORCELLONE CANTILEVER

Per contrastare i principali difetti del forcellone classico si ricorre quindi al sistema

“cantilever”: esso è composto da un forcellone a bracci uniti con un’unica unità molla-

ammortizzatore.

Questa soluzione riduce le masse sospese in gioco, realizza elevate rigidezze torsionali e

flessionali, permette una notevole escursione verticale della ruota posteriore, riduce

notevolmente il rischio di sforzi torsionali sul forcellone e consente un facile

aggiustamento o taratura dell’unità, in quanto è presente un singolo ammortizzatore. La

problematica principale è legata alla posizione dell’ammortizzatore stesso che, posto

sopra o dietro al motore, può provocare problemi di dissipazione del calore; oltre a ciò, al

pari del forcellone tradizionale, la sospensione cantilever non consente di ottenere una

caratteristica forza-spostamento progressiva. Una possibile variante del sistema

sospensivo, con caratteristiche di funzionamento simili, può prevedere il posizionamento

laterale del gruppo molla-ammortizzatore.

Figura 2: schema della sospensione “cantilever” e applicazione su Aprilia RSV4 Factory

Page 13: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

13

Figura 3: Aprilia SMV 750 Dorsoduro con applicazione del meccanismo sospensivo “Cantilever” laterale

1.4. MECCANISMI

La necessità di ottenere delle particolari curve di rigidezza desiderate (e quindi un

comportamento progressivo) porta all’introduzione di meccanismi nello schema della

sospensione: generalmente essi sono basati sul quadrilatero. Le varie case costruttrici

hanno risposto a queste esigenze ricorrendo a diverse soluzioni che si differenziano

principalmente per il punto di collegamento del gruppo molla-ammortizzatore. Esso si può

quindi realizzare tra il telaio e il bilancere (Kawasaki-Unitrak), tra la biella e il telaio

(ProLink-Honda) o tra il forcellone e il bilancere (Full Floater-Suzuki).

Page 14: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

14

Figura 4: principali schemi di sospensioni con meccanismi a quadrilatero

Questi schemi consentono inoltre ottenere elevate escursioni della ruota e ridotte masse

non sospese, ma si registrano anche elevate forze reattive scambiate tra i vari membri. La

presenza del quadrilatero sta alla base anche delle sospensioni utilizzate per la

trasmissione ad albero con giunti cardanici (in sostituzione della tradizionale trasmissione

a catena). In tal caso la ruota è collegata alla biella del quadrilatero e il suo centro di

rotazione è dato dall’intersezione dei due bilanceri (e quindi dipende dagli angoli di

inclinazione degli stessi).

Un ulteriore schema sospensivo è costituito dal sistema ad esalatero realizzato da

Morbidelli: dal punto di visto teorico esso consente di ottenere delle curve di rigidezza

molto particolari ed articolate, ma tale vantaggio non è giustificato dalla notevole

complessità geometrica costruttiva.

Page 15: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

15

Figura 5: schema sospensivo a quadrilatero per trasmissione ad albero con giunti cardanici (sx) e sistema ad esalatero Morbidelli (dx)

1.5. RIGIDEZZA RIDOTTA DELLA SOSPENSIONE

Al fine di confrontare le rigidezze delle diverse tipologie di sospensioni sopraelencate

risulta utile ricorrere ad una metodologia particolare: il calcolo della rigidezza ridotta.

Procedendo in tal senso è possibile realizzare un modello semplificato del sistema

Figura 6: rigidezza ridotta della sospensione posteriore

Page 16: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

16

sospensivo, a partire dalla molla reale di rigidezza (spring rate).

Il modello scelto per il presente lavoro si basa sulla riduzione della sospensione ad una

molla verticale di rigidezza (wheel rate) collegata direttamente al perno ruota. Da ciò si

deduce che lo spring rate corrisponde alla forza necessaria per ottenere una

compressione unitaria dell’ammortizzatore, mentre il wheel rate è legata alla forza

necessaria per sollevare verticalmente la ruota della stessa quantità [2]. Il legame tra

questi due spostamenti, che dipende dalla tipologia di meccanismo sospensivo, viene

espresso dal rapporto di velocità . Dal punto di vista matematico è possibile

esprimere la rigidezza ridotta a partire dalla forza elastica della molla:

(1)

in cui è la lunghezza iniziale mentre la lunghezza della molla deformata. A

partire dalla definizione del rapporto tra la velocità di deformazione della molla e la

velocità verticale della ruota

(2)

si può ricavare la forza elastica ridotta :

(3)

Derivando quest’ultima espressione rispetto allo spostamento verticale della ruota si

ottiene la rigidezza ridotta

(4)

Dal punto di vista strettamente numerico si evince che il 2° addendo è meno importante

del primo (assume un valore inferiore al 10% rispetto al primo termine), perciò in prima

approssimazione si può trascurare e procedere al troncamento.

Page 17: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

17

Per quanto concerne le sospensioni a quadrilatero il rapporto di velocità varia tra

0.25 e 0.5: ciò implica che la rigidezza reale del gruppo molla-ammortizzatore deve essere

4 volte più grande rispetto alla rigidezza ridotta del relativo schema.

1.6. CURVA DELLA RIGIDEZZA RIDOTTA

Per valutare il comportamento della sospensione risulta utile fare riferimento alla curva

di rigidezza: si procede quindi a graficare, in funzione dell’escursione verticale della ruota

, la forza elastica e la rigidezza ridotta.

Figura 7: forza elastica e rigidezza ridotta della sospensione in funzione dell’escursione verticale dello pneumatico posteriore

In tal modo si può evidenziare l’andamento lineare, progressivo o regressivo della

sospensione: è bene ricordare che nella figura nella destra tali termini si riferiscono alla

rigidezza ridotta del sistema, la quale può essere crescente/costante/decrescente mentre

la forza elastica risulta essere sempre crescente ma con pendenza dipendente da .

Storicamente il comportamento lineare della sospensione è stato il primo introdotto, sia

per la semplicità della sua gestione sia per la particolare disposizione del gruppo molla-

ammortizzatore nel sistema a forcellone oscillante. Col progredire dell’evoluzione tuttavia

Page 18: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

18

si è passati allo studio di sospensioni progressive, le quali offrono dei particolari vantaggi

di primaria importanza: come già affermato in precedenza, la motocicletta deve assolvere

alle funzioni di aderenza, comfort e assetto. La scelta di molle rigide permette di avere un

assetto costante al variare delle condizioni di utilizzo, ma pregiudica notevolmente gli altri

due aspetti: le vibrazioni dovute alle asperità stradali vengono infatti interamente

trasmesse al veicolo e quindi al pilota, compromettendone il comfort di guida. Oltre a

questo aspetto, ne risulta penalizzata anche la tenuta di strada, poiché le sospensioni non

permettono agli pneumatici di seguire gli avvallamenti del manto. Viceversa, l’utilizzo di

molle molto morbide migliora notevolmente il comfort e l’aderenza ma genera notevoli

escursioni della sospensione, con conseguente variazione dell’assetto specialmente nelle

fasi di sterzata, accelerazione e frenata (quando cioè si evidenzia il trasferimento di

carico). Queste considerazioni portano alla conseguente necessità di adottare uno schema

sospensivo a comportamento progressivo: in tal modo i piccoli disturbi della carreggiata

vengono facilmente assorbiti ma si evitano escursioni elevate della molla (aumentando

appunto progressivamente la rigidezza delle sospensioni), a beneficio del comfort e della

tenuta. Dal punto di vista delle vibrazioni questa soluzione permette inoltre di mantenere

costanti le frequenze dei modi di vibrare del veicolo, al variare della massa sul veicolo

(peso del pilota, presenza di un passeggero o di bagagli, etc…).

L’utilizzo di sospensioni di tipo regressivo invece ricopre una ristretta nicchia di mercato,

per lo più legata a veicoli progettati per il fuoristrada: esse infatti permettono al pilota di

ottimizzare il controllo su fondi stradali caratterizzati da una bassa aderenza.

Page 19: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

19

2. METODO DELLE COORDINATE

NATURALI

2.1. INTRODUZIONE

Lo sviluppo delle tecniche multibody e di sofisticati algoritmi di calcolo ha permesso, in

tempi relativamente recenti, lo studio di meccanismi e sistemi sempre più complessi; i

primi metodi utilizzati per analisi e sintesi si basano sulle coordinate angolari per

descrivere posizione e moto dei corpi, al fine di ridurre al minimo il numero di equazioni

[3]. Dal punto di vista numerico tuttavia questo rappresenta un ostacolo importante, in

quanto le grandezze trigonometriche richiedono elevati tempi di calcolo. Si perviene

quindi, nei primi anni ’60, allo sviluppo delle coordinate naturali: questo approccio

permette di determinare la posizione di un meccanismo facendo ricorso esclusivamente

alle coordinate cartesiane, i punti base, ed eventuali coseni direttori di versori solidali al

corpo. Si osserva sin da subito che il numero di variabili richieste per lo studio del sistema

non corrisponde al minimo assoluto: un corpo infatti necessita di 4 coordinate per essere

descritto nel piano (invece di 3) e di 12 nello spazio (anziché 6). Le coordinate naturali

sono quindi ridondanti e l’utilizzo di equazioni di congruenza risulta necessario per

preservare la rigidità del corpo [4]. Questo svantaggio viene tuttavia ampiamente

bilanciato dal fatto che le equazioni in questione sono lineari o quadratiche, consentendo

Page 20: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

20

una notevole riduzione in termini di tempi di calcolo per analisi e sintesi. Quando inoltre si

studiano sistemi di corpi, il numero di coordinate naturali viene notevolmente ridotto

tramite i punti condivisi in prossimità delle coppie cinematiche [5]. Una coppia rotoidale

necessita infatti di un singolo punto base per essere descritta, appartenente ad entrambi i

corpi, e per soddisfare implicitamente le condizioni di vincolo; una coppia prismatica

invece fa riferimento a due punti base,uno per ciascuno dei corpi vincolati, ed un versore,

il quale definisce la retta d’azione della coppia stessa. Le relazioni che invece descrivono la

congruenza nel piano possono essere di tre tipi:

La distanza tra due punti solidali ad un corpo deve mantenersi costante, descritta

dalla nota formula della distanza;

L’angolo tra vettori solidali ad un corpo deve mantenersi costante, espresso dal

prodotto scalare/vettoriale dei vettori stessi;

La proiezione di un vettore in una direzione assegnata deve mantenersi costante,

delineata matematicamente come nel caso precedente (condizione utilizzata per

esempio nelle coppie prismatiche).

2.2. MODELLIZZAZIONE GENERALE DEI MECCANISMI

Attraverso alcune considerazioni cinematiche è possibile definire un metodo generale per

la descrizione matematica di meccanismi, al fine di studiarne particolari caratteristiche o

applicazioni [6]. Nel caso presente si faccia riferimento ad un generico meccanismo con un

grado di libertà, coordinate naturali e dimensioni geometriche essenziali

dei corpi. Dalla teoria della meccanica applicata si ricava che devono esistere

equazioni di congruenza derivanti dalle condizioni di rigidità del sistema:

(5)

Page 21: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

21

Nelle fasi relative all’ottimizzazione del meccanismo, l’algoritmo impostato cercherà il

valore ottimale delle lunghezze che permettano al meccanismo di seguire una

particolare funzione desiderata. Tipicamente vi sono tre diverse tipologie di sintesi di

meccanismi: generazione di funzione, generazione di traiettorie e guida di corpo rigido,

con o senza correlazione. La tecnica di ottimizzazione in esame permette di trattarle con

lo stesso metodo, imponendo le opportune equazioni e minimizzando l’errore strutturale.

A titolo di esempio, nel caso della sintesi con generazione di traiettorie senza correlazione

si considera un particolare punto appartenente al corpo e le relative posizioni

desiderate parametrizzate nella coordinata continua . È quindi possibile definire

il sistema di funzioni obiettivo associato al meccanismo:

(6)

Nel caso invece si intenda effettuare una sintesi di traiettoria con correlazione è

sufficiente inserire le equazioni relative all’angolo desiderato e ad un’eventuale

parametro addizionale :

(7)

dove , e sono grandezze relative ad al corpo in esame.

Lo studio della sintesi per guida di corpo rigido e generazione di funzione si articola con la

stessa struttura matematica: procedendo in questo modo è possibile inserire tutte le

condizioni desiderate ed ottenere il sistema di funzioni obiettivo:

(8)

Page 22: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

22

Oltre alle funzioni obiettivo relative alla movimentazione desiderata del meccanismo, vi

sono altre condizioni di natura geometrica (lunghezza massima di elementi, ostacoli, …),

operativa (angoli di trasmissione, …) e dinamica (forze, deformazioni, …) che possono

essere richieste al sistema: molte di esse possono essere descritte da diseguaglianze e,

sebbene esuli dagli intenti del presente lavoro, è comunque possibile raggiungere tali

obiettivi con specifiche funzioni penalità.

2.3. ANALISI CINEMATICA

Lo studio dell’analisi cinematica del meccanismo in esame svolge un ruolo fondamentale

nel processo di ottimizzazione, in quanto permette di valutarne la prestazione. Nello

sviluppo dell’algoritmo infatti le dimensioni sono temporaneamente fissate e si

valuta la performance facendo riferimento al sistema di funzioni obiettivo (8). Risulta

evidente che in questa fase il numero di equazioni è maggiore del numero

di variabili indipendenti , quindi il problema è sovravincolato: ciò implica che

qualunque combinazione delle coordinate indipendenti non sarà in grado di soddisfare

esattamente tutte le funzioni obiettivo.

Si procede pertanto alla configurazione che soddisfa al meglio le funzioni

obiettivo (8) e che soddisfa esattamente solo le equazioni di congruenza (5) (la mancata

soddisfazione di queste ultime porterebbe infatti alla non assemblabilità del meccanismo);

in tal modo si “muove” il meccanismo il più vicino possibile alle posizioni richieste in input.

Per valutare il grado di ottimizzazione raggiunto è conveniente ricorrere ad un criterio di

performance e quindi si calcola la “distanza” tra le configurazioni attuale e obiettivo

introducendo la norma euclidea, basata sui residui delle eq. (8):

(9)

Page 23: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

23

Tale parametro è indicativo della prestazione puntuale del meccanismo, pertanto si

procede all’integrazione numerica in tutto l’intervallo all’interno del quale si

devono soddisfare le funzioni obiettivo:

(10)

Questo indice di performance viene calcolato parallelamente all’esecuzione dell’analisi

cinematica e permette quindi di valutarne il livello di ottimizzazione. Il sistema in esame

quindi rientra nella categoria dei problemi ad ottimizzazione vincolata; è pertanto

conveniente ricorrere ai moltiplicatori di Lagrange per ottenere un problema ad

ottimizzazione non vincolata.

La funzione integranda di (10) viene quindi sostituita dal lagrangiano:

(11)

in cui i valori sono i moltiplicatori di Lagrange.

Applicando la teoria del calcolo delle variazioni è possibile derivare un set di

equazioni per le funzioni incognite :

(12)

Si osserva che le ultime equazioni sono relative alla condizione di congruenza (5)

mentre le prime richiedono il gradiente di e lo Jacobiano delle funzioni . Questo

sistema rappresenta per intero l’analisi cinematica del meccanismo, tuttavia è composto

da equazioni algebriche non lineari che richiedono un costo computazionale elevato per la

ricerca della loro soluzione.

Per ridurre i tempi di calcolo e facilitare il raggiungimento delle soluzioni è opportuno

trasformare le (12) in un sistema ordinario del primo ordine di equazioni differenziali nella

variabile : tale metodo viene utilizzato di frequente per le equazioni algebriche nei

Page 24: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

24

sistemi dinamici multi-body [7]. Una generica funzione algebrica può essere

sostituita dall’equazione differenziale

(13)

in cui il parametro è una costante di tempo.

Applicando questa trasformazione al suddetto sistema, sostituendo con e , si

ottiene:

(14)

Attraverso tali sostituzioni le equazioni sviluppano un sistema di ordinario del primo

ordine:

(15)

Si osserva che l’analisi cinematica è stata ricondotta ad un problema ai valori iniziali; nei

capitoli successivi verrà evidenziato il metodo per la scelta dei valori iniziali di e

. Analizzando la forma del lagrangiano (11) è possibile semplificare ulteriormente il

sistema (15) per ottenere una formulazione più vantaggiosa dal punto di vista

computazionale:

(16)

I risultati ottenuti si possono presentare in forma ulteriormente più compatta nella

seguente forma:

Page 25: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

25

(17)

A seconda del meccanismo in esame i componenti A, B e C avranno una particolare

descrizione matematica: nel seguente capitolo verrà riportato l’esempio dello studio

dell’analisi cinematica del quadrilatero articolato.

Page 26: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

26

Page 27: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

27

3. ANALISI DEL QUADRILATERO

ARTICOLATO

3.1. EQUAZIONI DEL MECCANISMO

Per conseguire lo studio delle sospensioni composte da meccanismi è utile, in prima

analisi, procedere allo studio del quadrilatero articolato, per poi implementare la

sospensione completa. In primo luogo è necessario ricavare le equazioni che descrivono il

moto del meccanismo, facendo riferimento a due diverse formule: la distanza tra due

punti viene utilizzata per esprimere la lunghezza dei membri L1, L2 e L3 mentre le

grandezza a e b sono valutate in termini di proiezioni di vettori nelle due direzioni

cartesiane.

Figura 8: schematizzazione base del quadrilatero articolato

Page 28: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

28

Si osserva facilmente dalla figura che i punti 0, 1, 2 e 3 sono posti in corrispondenza delle

coppie rotoidali del sistema, mentre il punto 3 è quello che genera la traiettoria che si

intende controllare ed è solidale alla biella [6].

Considerando fisse le coordinate le uniche variabili indipendenti sono

): il sistema che quindi descrive le equazioni di vincolo per il

meccanismo è il seguente:

(18)

Tale sistema corrisponde alle equazioni (5) introdotte in precedenza.

La valutazione della prestazione del meccanismo viene effettuata prendendo a riferimento

il punto rispetto all’andamento imposto , parametrizzato dalla coordinata

curvilinea che viene fatta variare da 0 a 1. Si calcola quindi il criterio di performance

(19)

Per ricavare le altre equazioni si introducono i moltiplicatori di Lagrange (

, si calcola la funzione Lagrangiana e le corrispondenti 6 derivate spaziali. A questo

punto è possibile operare in maniera analoga al capitolo precedente e ricavare le matrici

A, B e C del sistema ordinario (17) che vengono riportate in Appendice A. E’ quindi

possibile realizzare l’analisi cinematica completa dei quadrilateri articolati.

Gli studi dei vari meccanismi sono stati eseguiti con il software e, per realizzare

l’analisi cinematica, si è fatto riferimento al risolutore il quale offre un buon

compromesso tra affidabilità e velocità di esecuzione.

Page 29: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

29

3.2. VALORI INIZIALI

Ricordando che l’obiettivo finale è l’esecuzione di un’ottimizzazione in grado di variare le

lunghezze dei membri , è opportuno eseguire alcune valutazioni sui dati di input

da inserire. Una prima opzione riguarda l’inserimento dei valori iniziali delle grandezze

geometriche in esame e le coordinate cartesiane dei punti fissi: si tratterebbe quindi di

una base formata dai nove parametri , ovvero lo spazio delle

lunghezze iniziali. La problematica principale di questa base è legata al fatto che la

posizione iniziale del meccanismo non è nota e ciò richiederebbe la risoluzione di un

sistema non lineare; oltre all’aumento del carico computazionale sono da tenere in

considerazione rischi circa la non assemblabilità del sistema e la possibile esistenza di più

configurazioni per delle date lunghezze. In ultima analisi è da tenere il considerazione la

possibilità che una piccola variazione sul valore iniziale di una lunghezza possa portare ad

una soluzione molto diversa rispetto al caso precedente. Per tutte queste motivazioni è

utile ricorrere allo spazio dei valori iniziali delle coordinate naturali: i parametri in input

sono quindi i dieci valori . E’

necessario pertanto accettare un aumento nelle dimensioni del problema per mitigare gli

svantaggi sopraelencati: la posizione iniziale del meccanismo è infatti nota (eliminando i

problemi di eventuale non assemblabilità), le lunghezze iniziali dei membri possono essere

facilmente calcolate ed una piccola variazione dei valori iniziali porta circa alla stessa

soluzione.

Per la risoluzione analitica del sistema ordinario (17) è necessario introdurre anche i valori

iniziali dei moltiplicatori di Lagrange; poiché le equazioni di congruenza devono essere

soddisfatte in maniera esatta, le restanti in generale non lo sono (poiché, come descritto

in precedenza, il sistema è sovravincolato). Pertanto, per soddisfare al meglio le prime

equazioni del sistema si ricorre al metodo dei minimi quadrati; tale tecnica non è

particolarmente onerosa in quanto le equazioni sono lineari rispetto ai moltiplicatori . Il

sistema di ottimizzazione in seguito provvederà a ridurre quanto possibile il residuo di tali

equazioni minimizzando quindi l’indice di performance.

Page 30: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

30

3.3. ESEMPI

Per valutare il funzionamento dell’analisi cinematica in forma differenziale sono stati

riprodotti tre esempi di quadrilatero articolato presenti in letteratura; per un’ulteriore

conferma si è deciso di eseguire anche un’analisi cinematica algebrica, imponendo la

variazione della coordinata e per poter quindi confrontare la risposta dei meccanismi.

Esempio 1

Con riferimento al lavoro svolto in [6] si riporta lo studio di un quadrilatero generatore di

una traiettoria rettilinea senza correlazione dal punto (3,0) al punto (7,0).

Figura 9: Esempio 1 di studio del quadrilatero articolato e parametri iniziali

La traiettoria è descritta dalle equazioni

s = [0, 1] (20)

coordinate iniziali geometria

x0 -0,3824 l1 13,424

y0 11,856 l2 9,980

x1 -1,298 l3 10,130

y1 -1,537 a 4,237

x2 8,675 b 1,697

y2 -1,911 x3 3 y3 0 x4 9,591 y4 -12

Page 31: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

31

Di seguito sono riportati due grafici relativi al movimento del meccanismo con i due diversi

sistema di analisi, i quali permettono di verificare che effettivamente la traiettoria

eseguita sia la stessa; più in basso invece si evidenzia l’errore di traiettoria, il quale assume

un valore massimo di ben quattro ordini di grandezza inferiore al millimetro.

Figura 10: Analisi cinematica differenziale e algebrica del quadrilatero 1 ed errore di traiettoria

Page 32: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

32

Esempio 2

Il secondo caso di studio si ricava da [4] ed affronta una problematica più complessa: il

punto deve infatti eseguire una traiettoria formata da due segmenti di linea retta.

Figura 11: Esempio 2 di studio del quadrilatero articolato e parametri iniziali

Le equazioni che descrivono il target da seguire sono:

s = [0, 1] (21)

Analogamente al caso precedente si può osservare nella pagina a fianco che il sistema

differenziale e quello algebrico offrono le medesime soluzioni; valutando i due grafici

relativi alla traiettoria è possibile notare che, come prevedibile, il punto più penalizzato

della traiettoria è il valore mediano (5,2) cui è assegnato un errore di 5 centesimi di

millimetro.

coordinate iniziali geometria

x0 2,654 l1 5,081

y0 -5,371 l2 8,738

x1 0,502 l3 13,000

y1 -0,768 a 1,128

x2 -5,423 b 2,358

y2 5,655 x3 3 y3 0,001 x4 7,423 y4 3,656

Page 33: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

33

Esempio 3

Il terzo caso è presente in [4] e richiede al sistema di eseguire la medesima traiettoria del

caso precedente, utilizzando comunque un meccanismo meno ingombrante in termini di

spazio di manovra occupato.

Figura 12: Analisi cinematica differenziale e algebrica del quadrilatero 2, traiettoria del tracer point ed errore di traiettoria

Page 34: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

34

Con riferimento alle equazioni target (21) si esegue lo studio del quadrilatero; dai grafici

seguenti si può osservare che la compattezza del sistema si paga in termini di errore

maggiore nel punto più critico (6 centesimi di millimetro).

coordinate iniziali geometria

x0 -2,272 l1 10,000

y0 -7,437 l2 1,325

x1 2,001 l3 3,725

y1 1,603 a 0,846

x2 3,321 b 1,704

y2 1,724 x3 3 y3 -0,016 x4 6,716 y4 3,257

Figura 13: Esempio 3 di studio del quadrilatero articolato e parametri iniziali

Page 35: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

35

Figura 14: Analisi cinematica differenziale e algebrica del quadrilatero 3, traiettoria del tracer point ed errore di traiettoria.

Page 36: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

36

Page 37: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

37

4. IMPLEMENTAZIONE DEL

MODELLO SOSPENSIONE

4.1. DESCRIZIONE DEL SISTEMA

Nei capitoli precedenti è stato studiato il comportamento del modello quadrilatero

articolato e se ne sono eseguite diverse prove di analisi cinematica. Nel presente capitolo

invece si intende estendere lo studio del quadrilatero all’intera sospensione per poi

integrare diversi algoritmi di ottimizzazione sulla base degli obiettivi da raggiungere.

Poiché esistono tre diverse tipologie di sospensioni a quadrilatero (bilancere-forcellone,

biella-telaio e bilancere-telaio) si è deciso di restringere il campo ad un singolo caso,

ovvero al meccanismo biella-telaio: come già evidenziato nei capitoli precedenti, questa

soluzione permette di generare delle curve di rigidezza molto varie e quindi si presta

molto al ruolo di “caso generale” di studio. Oltre a ciò, per utilizzare delle dimensioni

compatibili con quelle dell’industria motociclistica, si è fatto riferimento allo schema

sospensivo della moto in fase di progettazione nel gruppo Motostudent Unipd, anch’essa

basata sul meccanismo biella-telaio. Nel caso si volesse far vertere lo studio su un tipo di

sospensione diversa è comunque sufficiente addentrarsi nel codice di calcolo e modificare

le equazioni riportate in Appendice B. Per gentile concessione del gruppo Motostudent,

nel corso di alcune simulazioni, si sono quindi utilizzati i dati relativi alle posizioni fisse dei

Page 38: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

38

perni; è stato inoltre possibile eseguire un confronto tra la soluzione originale e quelle

ottimizzate dal presente algoritmo.

Viene riportata di seguito l’immagine che funge da riferimento per la scrittura delle

equazioni che governano il moto della sospensione:

Figura 15: Schema di riferimento per la sospensione posteriore biella - telaio

Il Punto 7 ricopre il ruolo di origine degli assi cartesiani e, a partire da esso, sono descritte

tutte le altre coordinate; è possibile riconoscere lo schema del quadrilatero articolato nei

membri di lunghezza L2, L4 e L5.

I punti 1, 2 e 3 si mantengono fissi nello spazio sia nel moto che durante il processo di

ottimizzazione, mentre gli altri sono liberi di muoversi senza alcun vincolo; la simulazione

prevede un sollevamento verticale del perno di attacco della ruota (punto 7) di una quota

pari a . Da ciò se ne ricava che il sistema ha variabili

( e le equazioni che ne descrivono il moto sono:

Page 39: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

39

(22)

Analogamente al caso del quadrilatero sono state utilizzate rispettivamente la formula

della lunghezza tra due punti e la proiezione di un vettore nelle due direzioni cartesiane.

Al fine di perseguire l’ottimizzazione del meccanismo è necessario introdurre un valore

target di una particolare grandezza: nel presente lavoro la scelta è ricaduta sul rapporto di

velocità τ tra la velocità di deformazione della molla e la velocità verticale della ruota,

ovvero lo stesso parametro calcolato per ricavare la rigidezza ridotta delle sospensioni.

Viene quindi calcolata la funzione errore a partire dal confronto tra il valore obiettivo

e il valore attuale :

(22)

Si osserva che per evitare problematiche legate alla compensazione delle aree nella

funzione errore si è scelto di operare l’ottimizzazione sul valore di errore quadratico. Nulla

vieta, in un secondo momento, di variare la grandezza su cui si intende ottimizzare il

sistema: il presente algoritmo infatti calcola anche la forza elastica del forcellone e la

rigidezza ridotta della sospensione.

4.2. DATI DI INPUT

La configurazione di partenza è un requisito di fondamentale importanza per

l’esecuzione dell’ottimizzazione: se infatti la prima iterata ( ) è molto distante dal

Page 40: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

40

target i tempi di calcolo aumentano notevolmente ed è da tenere in considerazione il

rischio di non poter arrivare a convergenza. Riguardo a ciò è bene evidenziare che la

problematica principale non è data dalla “distanza” in termini di valore dell’errore ma

piuttosto in termini di andamento del parametro: se infatti si desidera un rapporto di

velocità crescente 0.5-0.7 e il guess è crescente 0.3-0.5 si raggiunge la convergenza in

tempi relativamente ragionevoli; viceversa se il guess equivale ad un valore costante 0.4 o

decrescente, il costo computazionale cresce in modo deciso in quanto l’algoritmo dovrà

necessariamente correggere di molto le posizioni iniziali delle coordinate naturali.

Una volta scelto il meccanismo di partenza è quindi conveniente eseguire una

preliminare analisi cinematica del sistema, per valutare la prestazione guess: in seguito, in

base ad essa si sceglie se inizializzare il processo di ottimizzazione o variare ulteriormente i

parametri iniziali.

Un secondo parametro di input corrisponde a : poiché la simulazione prevede un

sollevamento della ruota posteriore di 100 si è scelto di discretizzare questa

lunghezza in dieci parti e per ognuna di esse si inserisce il rapporto di velocità desiderato.

Ciò richiede anche l’inserimento del grado di regressione che si intende utilizzare per

eseguire il fit della funzione impostata: per valori costanti o linearmente

crescenti/decrescenti è utile selezionare la regressione lineare, mentre per valori

parabolici conviene inserire la regressione con polinomio di secondo grado. Questi

passaggi sono eseguiti nel codice attraverso la funzione : l’equazione

generata è di fondamentale importanza poiché a partire da essa verranno

successivamente calcolati tutti i valori della funzione errore. Anche in questo caso è quindi

consigliabile eseguire l’analisi cinematica preliminare, per verificare di aver inserito il

target desiderato.

Questi dati devono quindi essere inseriti nel file excel

Vi sono notevoli metodologie per eseguire lo stop delle ottimizzazioni, molte delle quali

basate sulla variazione di errore massimo accettabile tra due iterate successive: nel

presente lavoro non è stato possibile inserire questi criteri per i motivi di seguito elencati.

In primo luogo il particolare meccanismo non assicura una decisa diminuzione dell’errore

al variare delle singole coordinate naturali, soprattutto se la configurazione dà una

Page 41: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

41

funzione errore in prossimità di un punto di flesso a tangente orizzontale (o punto di sella

nello spazio tridimensionale); inoltre una variazione significativa di una coordinata non

assicura un’altrettanta significativa variazione dell’errore. Un’altra motivazione è data

dalla meccanica degli algoritmi scelti: uno di essi infatti procede con iterate realizzate per

piccoli incrementi/decrementi delle variabili indipendenti e quindi si corre il rischio di

ottenere una diminuzione dell’errore quadratico inferiore alla tolleranza richiesta; un altro

algoritmo invece non fa ricorso alle derivate della funzione obiettivo, e quindi può

alternare delle elevate variazioni nei valori dell’errore quadratico a variazioni molto

piccole. Per tutti questi motivi si è scelto di eseguire lo stop dei processi di ottimizzazione

imponendo il valore massimo di errore accettabile: ad ogni iterata, tramite l’utilizzo di una

, si confronta il valore di errore attuale con quello massimo. Qualora si sia

giunti ad un valore inferiore rispetto al target l’algoritmo esegue lo stop e stampa i

risultati, in caso contrario prosegue l’ottimizzazione del meccanismo.

Per una corretta simulazione delle prestazioni sospensive può risultare utile controllare i

valori di forza elastica sulla molla e di rigidezza ridotta: a tal fine viene richiesto, in input,

anche il valore di rigidezza del forcellone in ; nel caso in cui non sia ancora nota la

scelta della molla, è sufficiente inserire un valore unitario (il quale permette anche di

avere un’idea sulla compressione effettiva che il gruppo molla-smorzatore dovrà subire).

4.3. ESECUZIONE DEGLI ALGORITMI

Completata la fase di inserimento dati si procede all’esecuzione vera e propria

dell’algoritmo; come si può osservare dalla figura 16 è possibile scegliere tra quattro

diverse alternative: analisi cinematica, ottimizzazione fminsearch, ottimizzazione lsqnonlin

e ottimizzazione fminunc.

L’ si limita ad eseguire un singolo sollevamento della ruota

posteriore e a fornire i risultati associati: è quindi possibile avere delle informazioni circa il

comportamento e la risposta di una particolare configurazione del sistema sospensivo.

Poiché l’aumento della coordinata è gestito da un’equazione che non viene soddisfatta

Page 42: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

42

in forma esatta (in quanto non è un’equazione di congruenza), talvolta accade che il

sollevamento simulato sia superiore ai desiderati: questa eventualità inoltre può

non presentarsi nelle prime iterate dei cicli di ottimizzazione ma venir fuori in seguito. Per

evitare questa problematica (che potrebbe aumentare notevolmente i tempi di calcolo a

causa del raggiungimento di configurazioni singolari) si fa nuovamente ricorso ad una

: nel processo di analisi cinematica, che richiede la risoluzione di un

sistema di equazioni differenziali, viene costantemente osservato il valore della coordinata

libera . Quando infatti essa raggiunge il valore di 100 l’esecuzione dell’analisi viene

fermata e si procede con la presentazione dei risultati della particolare configurazione

geometrica.

Figura 16: GUI di input per gli algoritmi di analisi e ottimizzazione

Page 43: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

43

L’ è legata all’algoritmo di Nelder-Mead e rientra nei

metodi diretti di ricerca, in quanto non fa uso delle derivate della funzione obiettivo.

Questo particolare ottimizzatore euristico fa riferimento al concetto di simplesso [9]:

inizialmente la funzione obiettivo viene valutata in tutti i vertici del simplesso stesso

(ovvero i valori iniziali delle coordinate naturali), dopodiché uno di essi viene sostituito da

un altro punto (generalmente il centroide dei restanti vertici) in cui viene nuovamente

valutata la funzione obiettivo. Se il nuovo punto assume un valore inferiore al precedente

si procede alla sostituzione e si continua a cercare il minimo in questa direzione, altrimenti

si passa ad un altro vertice ripetendo l’iter. La meccanica dell’algoritmo quindi suggerisce

che le iterate immediatamente successive non necessariamente comportando ad una

costante diminuzione del valore della funzione obiettivo, perciò le valutazioni vanno fatte

considerando un numero più ampio di iterazioni. Questo metodo risulta essere ottimo per

problemi a basso numero di variabili, in genere inferiore a 100; poiché il metodo è non

derivativo, superato tale numero compare il cosiddetto “effetto dimensionalità” che di

fatto lo rende poco efficace. Un'altra problematica di rilievo è il punto di partenza, che se

è troppo lontano dal target può richiedere un numero elevatissimo di iterazioni con rischio

di mancanza di convergenza. Tuttavia, qualora il vettore iniziale fosse vicino alla

configurazione ottima, le simulazioni numeriche hanno rivelato che questo algoritmo, pur

essendo il meno “robusto” dei tre, consente di arrivare a convergenza in tempi più rapidi.

L’ fa riferimento alla teoria di Levenberg-Marquardt, noto

anche come metodo dei minimi quadrati “smorzato”. Dal punto di vista matematico esso

risulta essere una combinazione di altri due metodi: il primo di essi è il “gradient

descendt”, il quale ottimizza i parametri in funzione della direzione del gradiente della

funzione obiettivo ed è generalmente utilizzato quando si è molto lontani dal valore

target; il secondo è del tipo “Gauss-Newton” e perciò esegue le ottimizzazioni assumendo

che localmente la funzione obiettivo sia di tipo quadratico e ricerca il minimo attraverso le

derivate direzionali associate. Poiché l’algoritmo necessita del calcolo della matrice

Jacobiana è facile prevedere che richiederà dei tempi computazionali decisamente elevati

e le simulazioni stesse lo confermano; pur essendo il metodo più lento tuttavia risulta

Page 44: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

44

essere il più affidabile, in quanto ogni iterata successiva garantisce di minimizzare il valore

della funzione errore e quindi di avvicinarsi al target imposto.

Anche l’ risulta essere di tipo derivativo in quanto è legata ad

un algoritmo “quasi-Newton”: pertanto anche essa prevede l’approssimazione della

funzione obiettivo in una forma quadratica, ma ricorre alle derivate prime e seconde per

ricercare i punti stazionari. Inizialmente questi metodi richiedevano il calcolo di tutta la

matrice Hessiana, mentre al giorno d’oggi necessitano soltanto di un’approssimazione di

una parte di essa, la quale non deve essere nemmeno invertita. Si può quindi affermare

che questo algoritmo sia una via di mezzo tra i due precedentemente esposti, e quindi da

preferire come primo tentativo di ottimizzazione.

4.4. STAMPA DEI RISULTATI

Al termine di ogni analisi cinematica e per ogni passo degli ottimizzatori viene realizzata

una figura rappresentante quattro grafici dai quali si possono ottenere delle importanti

informazioni preliminari (figura 17). Il primo di essi rappresenta, nelle coordinate spaziali,

il moto della sospensione completa: viene generalmente rappresentata una “fotografia”

del meccanismo ogni 5/10 iterate, evidenziando nel colore rosso la traiettoria del punto di

attacco del gruppo molla-smorzatore. Questo grafico permette quindi di avere una

visuale completa sul comportamento e il movimento degli elementi dell’apparato

sospensivo con le grandezze in esame in quella specifica iterata. Il secondo grafico nella

parte alta rappresenta l’andamento del rapporto di velocità al variare della coordinata

: con il colore verde viene riportato il che si intende raggiungere con la presente

ottimizzazione, in blu è rappresentato il valore di partenza da cui l’algoritmo deve

partire per raggiungere l’ottimo mentre la linea rossa è indice di ovvero il valore del

rapporto di velocità dell’attuale configurazione. Ciò permette di avere un controllo visivo

circa il raggiungimento del target previsto per il meccanismo in esame e il relativo

andamento.

Page 45: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

45

Nella parte alta del grafico viene inoltre riportato il valore attuale dell’errore quadratico su

che, lo ricordiamo, viene costantemente confrontato con l’errore massimo ammissibile

inserito dall’operatore in fase di input.

Nel terzo riquadro viene rappresentato l’andamento della forza elastica di compressione

nella molla in funzione del sollevamento della ruota posteriore: per ricavare tale dato si è

fatto riferimento allo spostamento del punto di attacco del forcellone e moltiplicato per la

rigidezza della molla inserita all’inizio della GUI. Ciò permette di fare un prima valutazione

circa la progressività della sospensione in esame. (N.B.: qualora si inserisse un valore di

rigidezza unitario è possibile avere un riscontro numerico circa l’ampiezza di compressione

del gruppo molla-ammortizzatore).

Figura 17: Esempio di output per ogni iterata degli algoritmi di ottimizzazione

Page 46: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

46

Il quarto grafico riporta infine l’andamento della rigidezza ridotta, anch’essa in funzione

del sollevamento della ruota posteriore. Matematicamente questo valore è dato dal

quadrato del rapporto di velocità moltiplicato dalla rigidezza della molla inserita (in realtà

questo valore non è esattamente veritiero in quanto frutto di un’approssimazione

comunemente accettata in ambito accademico e motociclistico). Queste ultime due curve

di rigidezza, oltre a consentire delle valutazioni circa la progressività della sospensione,

possono essere spunto di ulteriori ottimizzazioni: imponendo infatti un valore target di

una di esse è possibile imporre l’ottimizzazione del meccanismo su di esse anziché sul

rapporto di velocità.

Oltre a queste rappresentazioni, al termine dell’ottimizzazione la GUI genera in

automatico un’altra figura in cui vengono confrontate la configurazione iniziale di input e

la configurazione finale ottimizzata, in modo da poter verificare a colpo d’occhio quali

sono i parametri maggiormente modificati e dove si sono spostate i vari punti di interesse.

Al fine di poter rendere utilizzabili alcuni dati anche dopo la chiusura del codice, si è scelto

di imporre all’algoritmo di salvare tre diverse variabili: due di esse sono necessarie per la

rappresentazione del rapporto di velocità in funzione di mentre la terza contiene le

coordinate iniziali e ottimizzate per poter facilmente riprodurre le rispettive geometrie del

meccanismo.

Infine, così come per i dati di input, per una comodità legata alla visualizzazione i risultati

vengono anche salvati in un apposito foglio excel : a seconda

dell’algoritmo di ottimizzazione scelto essi verranno posizionati nelle rispettive caselle,

evidenziando sia le coordinate cartesiane dei punti che le lunghezze dei membri della

sospensione nelle configurazioni di input e ottimizzata.

Page 47: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

47

5. SIMULAZIONI E ANALISI DEI DATI

Con riferimento all’algoritmo descritto nel capitolo precedente sono state eseguite

diverse simulazioni al fine di ottimizzare i meccanismi. Il parametro su cui si è deciso di

incentrare il problema è il rapporto di velocità tra la velocità di compressione della molla

del forcellone e la velocità di sollevamento della ruota posteriore della motocicletta; il

sollevamento imposto è pari a .

Per la scelta dei parametri geometrici di input si è fatto ricorso, nelle prime due

simulazioni, ai dati gentilmente offerti dal gruppo : i punti fissi

corrispondono esattamente alla geometria della motocicletta sperimentale mentre per le

coordinate variabili si è scelto di iniziare con un certo scostamento per valutare gli

algoritmi di ottimizzazione. Nella terza simulazione tali coordinate erano troppo lontane

dal punto ottimo, perciò si è fatto riferimento ai valori presenti nell’elaborato [10] con gli

stessi criteri sopra descritti. Al fine di vagliare tutte le possibilità di input, per la prima e la

terza simulazione si è imposto un rapporto di velocità target con andamento lineare,

mentre nel secondo caso si è fatto ricorso ad una funzione parabolica.

In tutte le tre casistiche sono stati applicati tutti gli algoritmi di ottimizzazione a

disposizione nella GUI i cui risultati vengono di seguito rappresentati singolarmente e poi

confrontati; inoltre si evidenzia che è sempre stata utilizzata una rigidezza della molla pari

a .

Page 48: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

48

5.1. RAPPORTO DI VELOCITA’ COSTANTE 0.5

La prima casistica di studio riguarda una sospensione che mantiene il rapporto di velocità

costante al valore 0.5 per l’intera escursione dello pneumatico posteriore: la scelta di tale

valore è da imputare al fatto che la sospensione del gruppo è stata

realizzata con lo stesso criterio, perciò è possibile eseguire un confronto diretto tra la

soluzione reale, quella target e quelle ottimizzate. Per questo primo caso si è scelto un

errore quadratico massimo pari a 0.0005, ovvero un ordine di grandezza più basso rispetto

alle seguenti simulazioni: tale scelta è da imputare al fatto che il meccanismo

essendo già una buona soluzione, fornisce un errore pari a circa

0.002, e quindi si è imposto un errore inferiore di un ordine di grandezza.

Ottimizzazione Fminsearch

Figura 18: Grafici di meccanismo, rapporto di velocità, forza elastica e rigidezza ridotta per l’algoritmo Fminsearch con τ costante

Page 49: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

49

Viene presentato il grafico relativo al primo algoritmo di ottimizzazione: balza subito

all’occhio che questa particolare tecnica di ottimizzazione ha fornito una soluzione con un

errore quadratico di addirittura un ordine di grandezza inferiore a quello massimo; ciò non

deve stupire per quanto già esposto nel paragrafo precedente circa le meccaniche

dell’algoritmo di Nelder-Mead. La durata della simulazione è stata di circa 18 minuti.

Si può osservare che la curva del rapporto di velocità ottenuta si avvicina molto al valore

target e fornisce un comportamento della sospensione prevalentemente lineare: quanto

affermato si può facilmente osservare dalla linearità conclamata della forza elastica.

Anche il quarto grafico conferma un valore prevalentemente costante della rigidezza

ridotta (non tragga in inganno il valore della scala dell’asse delle ordinate, il quale risulta di

due ordini di grandezza inferiore rispetto ai corrispondenti grafici delle casistiche

successive).

Ottimizzazione Lsqnonlin

Figura 19: Grafici di meccanismo, rapporto di velocità, forza elastica e rigidezza ridotta per l’algoritmo Lsqnonlin con τ costante

Page 50: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

50

A partire dagli stessi dati di input dell’algoritmo precedente si è realizzata

l’ottimizzazione con “lsqnonlin”; l’errore ottenuto è in linea con quanto atteso in fase di

input per un tempo totale di calcolo di 23 minuti.

La soluzione trovata presenta un andamento del rapporto di velocità prevalentemente

decrescente per poi aumentare di valore nel tratto finale: esso parte da 0.51 per poi finire

a 0.497. Tutto ciò si riflette in una sospensione leggermente regressiva ma facilmente

approssimabile con una a comportamento lineare (anche in questo caso la scala nel

grafico della rigidezza ridotta è diversa rispetto agli studi successivi, in quanto presenta un

ordine di grandezza inferiore al confronto con essi).

Ottimizzazione Fminunc

Figura 20: Grafici di meccanismo, rapporto di velocità, forza elastica e rigidezza ridotta per l’algoritmo Fminunc con τ costante

Page 51: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

51

Anche il terzo algoritmo parte dagli stessi dati e completa l’esecuzione in un tempo

approssimabile a 20 minuti.

Dai grafici riportati nella pagina precedente si può subito notare una marcata analogia con

il precedente ottimizzatore: ciò è da imputare alla metodologia di ottimizzazione che

risulta essere molto più affine a “lsqnonlin” piuttosto che a “fminsearch”, dato che

quest’ultimo algoritmo è non derivativo. Anche in questo caso infatti il rapporto di

velocità è leggermente decrescente, partendo da 0.513 e concludendosi a 0.5. L’errore

quadratico è quindi leggermente inferiore al caso precedente, mentre valgono le stesse

considerazioni circa le curve di rigidezza.

Per poter valutare le diverse soluzioni si è scelto di riportare tutti i risultati nei medesimi

grafici; sono inoltre state incluse anche le elaborazioni relative all’analisi cinematica della

sospensione del gruppo .

Figura 21: confronto dei rapporti di velocità ottenuti dalle soluzioni per τ costante

Page 52: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

52

Figura 22: confronto tra i meccanismi ricavati dagli algoritmi (in alto) e Zoom nel punto di attacco del forcellone (in basso) per τ costante

Page 53: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

53

coordinate naturali e lunghezze

iniziali motostudent fminunc lsqnonlin fminsearch

x1 -514,98 -514,98 -514,98 -514,98 -514,98

y1 -24,7 -24,7 -24,7 -24,7 -24,7

x3 -474,76 -474,76 -474,76 -474,76 -474,76

y3 227,47 227,47 227,47 227,47 227,47

x2 -512,1 -512,1 -512,1 -512,1 -512,1

y2 90,3 90,3 90,3 90,3 90,3

x7 0 0 -1,4174 -1,6013 0

y7 0 0 0,2011 0,17258 0

x5 -320 -335,44 -321,84 -320,74 -324,883

y5 -45 -37,59 -37,477 -38,037 -44,2776

x4 -365 -356,7 -356,67 -356,35 -350,0554

y4 10 7,67 2,0906 2,2453 9,9282

x6 -400 -412,84 -403,77 -404,3 -426,6044

y6 -70 -77,31 -71,087 -70,892 -73,2847

L1 520,00 520,00 518,57 518,39 520,00

L2 167,59 176,00 178,72 178,92 180,88

L3 365,14 356,78 355,26 354,75 350,20

L4 71,06 50,00 52,71 53,77 59,77

L5 196,03 180,00 193,56 194,70 191,10

L6 83,82 87,00 88,56 89,79 105,78

L7 87,32 101,85 87,03 87,45 113,07

Lm0 306,72 311,01 306,88 306,57 304,59

Il grafico relativo al rapporto di velocità permette di osservare che la soluzione scelta dal

gruppo risulta essere già valida, partendo da 0.495 e crescendo sino

a 0.52; i due algoritmi derivativi hanno fornito una soluzione molto simile sia in termini di

andamento del rapporto di velocità sia in termini di coordinate, portando di fatto ad una

configurazione di sospensione molto simile. L’algoritmo “Fminsearch” ha invece fornito un

risultato marcatamente diverso, pur risultando il migliore in termini di . Questi

risultati confermano che la soluzione ottimale per un dato target non è univoca e ciò

spiega , in parte, anche le notevoli differenze adottate nello schema sospensivo dalle varie

Figura 23: Tabella con le coordinate naturali e lunghezze iniziali, del gruppo Motostudent e ottimizzate dagli algoritmi per τ costante

Page 54: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

54

case motociclistiche per giungere agli stessi obiettivi in termini di comfort, assetto e

aderenza.

5.2. RAPPORTO DI VELOCITA’ CRESCENTE 0.5-0.7

Il secondo gruppo di simulazioni numeriche prevede come target un rapporto di velocità

crescente in forma parabolica da 0.5 a 0.7: a tal scopo si sono imposti dei rapporti di

velocità parziali in modo da rispettare l’equazione .

Al fine di ottenere un meccanismo con un grado di ottimizzazione simile alla sospensione

progettata dal gruppo si è scelto di utilizzare un errore quadratico

massimo pari a 0.005. Si ricorda che la rigidezza del gruppo molla-ammortizzatore viene

imposta con valore unitario; le tempistiche di calcolo degli algoritmi sono in linea con

quelle relative al paragrafo precedente. Considerando i valori target del rapporto di

velocità ci si aspetta di ottenere dei meccanismi dal comportamento spiccatamente

progressivo, utile per permettere alle motociclette di assorbire le piccole asperità del

manto stradale e contemporaneamente aumentare la rigidezza in presenza di elevate

escursioni del forcellone.

Ottimizzazione Fminsearch

A differenza del caso precedente, in questa occasione l’algoritmo ha proposto una

soluzione in linea con i valori di errore massimo imposto. Nuovamente esso si dimostra

essere il più rapido in termini di tempi di convergenza; vengono presentate nella pagina

successiva le caratteristiche del meccanismo finale.

Si può facilmente osservare che la soluzione proposta risulta essere piuttosto simile al

target imposto: il valore di partenza è infatti 0.5 e il valore finale circa 0.69, con un errore

massimo che in generale non supera 0.02. E’ da rilevare inoltre che la soluzione

ottimizzata è molto diversa rispetto ai valori di primo tentativo, a dimostrazione

dell’ottima capacità di convergenza del solutore. Dai due grafici in basso (in particolare dal

Page 55: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

55

secondo) è possibile notare il previsto comportamento progressivo del gruppo sospensivo;

la scelta di un valore unitario per la rigidezza della molla consente inoltre di valutare che,

in corrispondenza del sollevamento pari a dello pneumatico posteriore, il

gruppo molla-ammortizzatore subirà una compressione di circa .

Ottimizzazione Lsqnonlin

L’analisi con il metodo dei minimi quadrati ha offerto un errore leggermente superiore

rispetto a quella non derivativa dell’algoritmo “Fminsearch” ma comunque dello stesso

ordine di grandezza.

A differenza del caso precedente si può osservare che il rapporto di velocità ottimizzato

assume all’inizio un valore superiore al target (0.57) mentre nella parte finale esso è

inferiore (0.69). Le due curve di rigidezza sono invece molto simili alla prima soluzione e

Figura 24: Grafici di meccanismo, rapporto di velocità, forza elastica e rigidezza ridotta per l’algoritmo Fminsearch con τ crescente

Page 56: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

56

quindi, anche in questo caso, è possibile evidenziare il comportamento prettamente

progressivo del meccanismo in esame.

Ottimizzazione Fminunc

Nella casistica a rapporto di velocità crescente questo algoritmo offre la miglior

soluzione, in quanto si ha un errore a regime che è la metà di quello massimo accettato.

Dal grafico dei vari andamenti di τ si evince già a colpo d’occhio che la soluzione ottimale

si adatta davvero molto bene al target imposto, con scostamenti molto ridotti: i valori

iniziale e finale sono infatti rispettivamente 0.51 e 0.69. Le due curve di rigidezza sono

compatibili con quelle precedenti, simboleggianti ancora una volta la progressività del

sistema.

Figura 25: Grafici di meccanismo, rapporto di velocità, forza elastica e rigidezza ridotta per l’algoritmo Lsqnonlin con τ crescente

Page 57: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

57

Figura 26: Grafici di meccanismo, rapporto di velocità, forza elastica e rigidezza ridotta per l’algoritmo Fminunc con τ crescente

Figura 27: confronto dei rapporti di velocità ottenuti dalle soluzioni per τ crescente

Page 58: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

58

Figura 28: confronto tra i meccanismi ricavati dagli algoritmi (in alto) e Zoom nel punto di attacco del forcellone (in basso) per τ crescente

Page 59: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

59

Il confronto dei risultati questa volta non si è potuto corredare con un caso realmente

studiato ma, con riferimento alla casistica a rapporto di velocità costante, si può

facilmente prevedere che le soluzioni delle case motociclistiche si avvicinino molto ai

risultati numerici.

Il grafico di confronto tra i risultati del rapporto di velocità mostra che le soluzioni sono

molto simili in termini di prestazioni; la particolarità di questa casistica è che le

configurazioni geometriche associate sono molto diverse.

coordinate naturali e lunghezze

iniziali fminunc lsqnonlin fminsearch

x1 -514,98 -514,98 -514,98 -514,98

y1 -24,7 -24,7 -24,7 -24,7

x3 -474,76 -474,76 -474,76 -474,76

y3 227,47 227,47 227,47 227,47

x2 -512,1 -512,1 -512,1 -512,1

y2 90,3 90,3 90,3 90,3

x7 0 -0,78097 -0,90085 0

y7 0 -5,5899 -5,4774 0

x5 -350 -354,19 -352,41 -356,56

y5 -45 -36,2 -35,67 -45,844

x4 -365 -355 -355,7 -328,5

y4 10 2,3691 1,7079 10,188

x6 -400 -402,85 -403,65 -407,5

y6 -70 -71,226 -71,193 -71,313

L1 520,00 520,23 520,09 520,00

L2 167,59 180,03 179,75 200,32

L3 365,14 354,31 354,87 328,66

L4 57,01 38,58 37,52 62,67

L5 166,22 161,20 162,94 159,82

L6 55,90 59,96 62,35 56,95

L7 87,32 87,78 87,26 113,51

Lm0 306,72 307,23 307,01 306,26

Figura 29: Tabella con le coordinate naturali e lunghezze iniziali e ottimizzate dagli algoritmi per τ crescente

Page 60: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

60

I due algoritmi derivativi danno coordinate naturali e lunghezze dei membri molto simili

con biella posta verticalmente nella posizione a riposo e ciò è da imputare principalmente

alla filosofia similare dei solutori; la tecnica di Nelder-Mead invece presenta una

configurazione molto diversa: la biella infatti risulta essere di lunghezza quasi doppia

rispetto al caso precedente e a riposo assume una posizione inclinata. Per contro il punto

di attacco del forcellone rimane circa lo stesso e ciò è in accordo con le curve di forza

elastica dei tre solutori che sono molto simili tra loro.

5.3. RAPPORTO DI VELOCITA’ DECRESCENTE 0.5-0.35

La terza raccolta di simulazioni fa riferimento ad un rapporto di velocità decrescente: si è

scelto di ricorrere ad un’interpolazione lineare per valori decrescenti da 0.5 a 0.35. Le

condizioni iniziali utilizzate nei due precedenti casi risultano essere molto lontane

dall’ottimo e tutti e tre gli algoritmi hanno mostrato grossi problemi circa la convergenza:

come già anticipato in precedenza è infatti necessario che i valori di input non siano

troppo distanti dal target prefissato. Analizzando altri risultati presenti nella letteratura è

stato possibile ricavare una configurazione iniziale soddisfacente, in grado cioè di fornire

dei risultati con tempi computazionali accettabili. Il punto di attacco del forcellone è stato

perciò posizionato molto più in alto rispetto alle due casistiche precedenti. Poiché il range

di variazione del rapporto di velocità è stato ridotto si è scelto di diminuire l’errore

quadratico massimo, fissato a 0.002. Ci si aspetta di ottenere in tutti e tre i casi un

comportamento sospensivo prettamente regressivo.

Ottimizzazione Fminsearch

I tempi di calcolo sono ancora in linea con il primo caso di studio, perciò per giungere alla

soluzione ci si attesta su circa 19 minuti.; l’errore quadratico corrisponde in termini di

ordine di grandezza a quella imposto come target.

Page 61: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

61

Si può osservare che il rapporto di velocità ottimizzato si approssima molto bene a quello

imposto come target, salvo poi distanziarsene nel tratto finale ma di una quota pari a 0.01

e quindi accettabile. L’escursione della molla è pari a circa 40 e, analizzando le due

curve di rigidezza, se ne ricava che il meccanismo risponde alle previsioni di regressività

iniziali, passando da una rigidezza ridotta di 0.25 ad un valore pari a 0.13 .

Ottimizzazione Lsqnonlin

L’ottimizzazione con la tecnica “Lsqnonlin” richiede, al pari dei casi precedenti, un tempo

di calcolo superiore: esso infatti corrisponde a circa 25 minuti ed è dovuto alla peculiarità

della ricerca del punto di minimo del metodo stesso. Per quanto concerne l’errore ci si

attesta su 0.0019 e quindi in linea con il target massimo.

Similmente al precedente solutore, anche in questo caso si ottiene un rapporto di velocità

ottimale che fitta molto bene il modello lineare imposto come input. Gli scostamenti

Figura 30: Grafici di meccanismo, rapporto di velocità, forza elastica e rigidezza ridotta per l’algoritmo Fminsearch con τ decrescente

Page 62: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

62

massimi corrispondono ai valori finale e centrale di sollevamento del pneumatico

posteriore ma non sono oltre lo 0.01.

Nonostante le diverse meccaniche di ottimizzazione si riscontra che le curve di rigidezza

sono molto simili a quelle ottenute per l’algoritmo non derivativo; anche quivi infatti si

osserva un comportamento spiccatamente regressivo.

Ottimizzazione Fminunc

Il terzo solutore, basato sul metodo quasi-Newton, realizza l’ottimizzazione in 21 minuti

ed offre l’errore quadratico minore: esso equivale infatti a 0.0014.

Il rapporto di velocità ricalca le due precedenti raccolte di risultati: lo scostamento

massimo si ha infatti nel punto finale in cui raggiunge il valore di 0.36 (anziché 0.35). I

grafici di forza elastica del gruppo molla-ammortizzatore e di rigidezza ridotta evidenziano

l’andamento regressivo del sistema sospensivo.

Figura 31: Grafici di meccanismo, rapporto di velocità, forza elastica e rigidezza ridotta per l’algoritmo Lsqnonlin con τ decrescente

Page 63: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

63

Figura 33: Grafici di meccanismo, rapporto di velocità, forza elastica e rigidezza ridotta per l’algoritmo Fminunc con τ decrescente

Figura 32: confronto dei rapporti di velocità ottenuti dalle soluzioni per τ decrescente

Page 64: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

64

Figura 34: confronto tra i meccanismi ricavati dagli algoritmi (in alto) e Zoom nel punto di attacco del forcellone (in basso) per τ decrescente

Page 65: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

65

Anche in questo caso è utile confrontare i risultati dei vari solutori per effettuare delle

importanti valutazioni sui risultati.

coordinate naturali e lunghezze

iniziali fminunc lsqnonlin fminsearch

x1 -514,98 -514,98 -514,98 -514,98

y1 -24,7 -24,7 -24,7 -24,7

x3 -474,76 -474,76 -474,76 -474,76

y3 227,47 227,47 227,47 227,47

x2 -512,1 -512,1 -512,1 -512,1

y2 90,3 90,3 90,3 90,3

x7 0 -0,61755 -0,61789 0

y7 0 1,2824 1,2872 0

x5 -350 -349,99 -350,03 -325,26

y5 -45 -42,603 -42,771 -42,982

x4 -395 -392,7 -392,61 -395,86

y4 10 4,1732 4,4532 9,6528

x6 -400 -401,43 -401,43 -433,44

y6 80 81,353 81,294 84,389

L1 520,00 519,17 519,17 520,00

L2 141,99 147,22 147,13 141,48

L3 395,13 392,09 392,00 395,98

L4 71,06 63,34 63,59 88,06

L5 166,22 165,96 165,94 190,60

L6 134,63 134,21 134,29 167,11

L7 70,18 77,67 77,35 83,65

Lm0 165,34 163,49 163,54 148,93

Come già anticipato i risultati dell’ottimizzazione offrono circa la stessa soluzione in

termini di rapporto di velocità, con un leggero vantaggio del terzo sistema utilizzato. Ciò

che più colpisce è la marcata differenza nella configurazione dei meccanismi ottimizzati:

come nel caso crescente, anche qui i due algoritmi derivativi offrono due soluzioni

praticamente sovrapponibili. Il primo solutore invece si discosta da molto da tali risultati:

la biella infatti assume una lunghezza nuovamente maggiore delle precedenti e pure il

Figura 35: Tabella con le coordinate naturali e lunghezze iniziali e ottimizzate dagli algoritmi per τ decrescente

Page 66: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

66

punto di attacco del forcellone è più a sinistra di ben ; è bene notare che ciò non

impedisce di giungere alle stesse soluzioni in termini di regressività ed escursione della

molla.

Page 67: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

67

6. CONCLUSIONI

Nel presente studio si è analizzata la sospensione posteriore motociclistica dotata di

quadrilatero con forcellone fissato alla biella e al telaio. A partire dalla sintesi del

meccanismo è stato realizzato un algoritmo di ottimizzazione basata sul rapporto tra la

velocità di compressione del gruppo molla-ammortizzatore e la velocità di sollevamento

dello pneumatico posteriore. Impostato un range di valori di tale rapporto per l’intero

campo di moto e la configurazione geometrica iniziale, il codice di calcolo permette di

effettuare l’analisi cinematica e tre diverse tipologie di ottimizzazione, in relazione

all’errore quadratico massimo accettabile imposto e alla rigidezza della molla. Si è

evidenziata l’importanza dell’inserimento di valori iniziali prossimi alla soluzione ottima, al

fine di non ottenere tempi di calcolo troppo elevati per i quali non è nemmeno assicurata

la convergenza. Le simulazioni hanno permesso di confrontare tra loro le diverse tecniche

di ottimizzazione e le soluzioni offerte: gli algoritmi derivativi hanno presentato delle

soluzioni affini mentre quello non derivativo ha offerto valori diversi ma comunque

soddisfacenti le condizioni di input; ciò può essere spunto di riflessione per la realizzazione

di schemi sospensivi geometricamente differenti in funzione dei vincoli di spazio della

motocicletta. Infine un confronto con una soluzione in via di realizzazione ha permesso di

verificare l’affidabilità degli algoritmi e ha offerto una soluzione migliorativa della stessa.

Page 68: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

68

Page 69: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

69

APPENDICE A

Si riporta di seguito la formulazione matematica delle matrici e dei vettori utili per lo

studio dell’analisi cinematica differenziale del quadrilatero articolato.

[B] =

; [C]=

Page 70: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

70

Page 71: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

71

APPENDICE B

Vengono di seguito riportate alcuni files dell’algoritmo relativo alla GUI Matlab per la

sospensione posteriore. Si omettono i files “Anakin2.mat” e “Anakin3.mat” poiché del

tutto analoghi al codice riportato “Anakin1.mat”. Corrispondentemente si omette anche il

file “StopOptim3.mat” in quanto simile a quello riportato “StopOptim12”.

Codice principale “GUISospBiella.mat”

function varargout = GUIsospBiella(varargin)

% GUISOSPBIELLA MATLAB code for GUIsospBiella.fig

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @GUIsospBiella_OpeningFcn, ...

'gui_OutputFcn', @GUIsospBiella_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

function GUIsospBiella_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject;

guidata(hObject, handles);

function varargout = GUIsospBiella_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

function tautarget_Callback(hObject, eventdata, handles)

num1 = str2double(get(hObject,'String'));

if isnan(num1)

num1 = 0;

set(hObject,'String',num1);

Page 72: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

72

errordlg('Input must be a number', 'Error')

end

handles.tautarget = num1;

guidata(hObject,handles)

function tautarget_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function err_max_Callback(hObject, eventdata, handles)

num2 = str2double(get(hObject,'String'));

if isnan(num2)

num2 = 0;

set(hObject,'String',num2);

errordlg('Input must be a number', 'Error')

end

handles.err_max = num2;

guidata(hObject,handles)

function err_max_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function kforc_Callback(hObject, eventdata, handles)

num3 = str2double(get(hObject,'String'));

if isnan(num3)

num3 = 0;

set(hObject,'String',num3);

errordlg('Input must be a number', 'Error')

end

handles.kforc = num3;

guidata(hObject,handles)

function kforc_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function AnalisiKinematic_Callback(hObject, eventdata, handles)

%ANALISI CINEMATICA

k_spring = handles.kforc;

% INSERIMENTO VALORI INIZIALI DELLE COORDINATE NATURALI

filename = 'InputDataCoordinates.xlsx';

var = xlsread(filename,'C3:C16');

input_tau=xlsread(filename,'G4:G15');

x70= var(1);

y70= var(2);

x10= var(3);

y10= var(4);

x30= var(5);

y30= var(6);

x20= var(7);

y20= var(8);

x50= var(9);

y50= var(10);

x40= var(11);

y40= var(12);

Page 73: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

73

x60= var(13);

y60= var(14);

coordiniziali=[x50,y50,x40,y40,x60,y60,x70,y70];

x2=x20; y2=y20; x1=x10; y1=y10; x5=x50; y5=y50;

x4=x40; y4=y40; x6=x60; y6=y60; x7=x70; y7=y70;

syms s

%point 7 path

xd=0;

yd=200.*s;

s=0; yd=eval(yd);

coordiniz=[x50,y50,x40,y40,x60,y60,x70,y70];

% Calcolo delle lunghezze iniziali

l5=sqrt((x5-x10).^2 + (y5-y10).^2);

l4=sqrt((x5-x4).^2 + (y5-y4).^2);

l2=sqrt((x4-x20).^2 + (y4-y20).^2);

l1=sqrt((x7-x20).^2 + (y7-y20).^2);

l3=sqrt((x4-x7).^2 + (y4-y7).^2);

a0=(l4.*((x5-x4).*(x6-x5)+(y5-y6).*(y4-y5))./((y4-y5).^2.+(x4-x5).^2));

b0=(l4.*((y6-y5).*(x4-x5)-(y4-y5).*(x6-x5))./((y4-y5).^2.+(x4-x5).^2));

a=-a0; b=b0;

%% CALCOLO VALORE INIZIALE DI t0

% equazioni di congruenza

syms x5 y5 x4 y4 x6 y6 x7 y7;

psi1=(x5-x1).^2.+(y5-y1).^2.-l5.^2; %dL/dlambda1

psi2=(x4-x2).^2.+(y4-y2).^2.-l2.^2; %dL/dlambda2

psi3=(x5-x4).^2.+(y5-y4).^2.-l4.^2; %dL/dlambda3

psi4=x6-x5-a.*(x4-x5)./l4+b.*(y4-y5)./l4; %dL/dlambda4

psi5=y6-y5-a.*(y4-y5)./l4-b.*(x4-x5)./l4; %dL/dlambda5

psi6=(x7-x2).^2 + (y7-y2).^2-l1.^2; %dL/dlambda6

psi7=(x4-x7).^2 + (y4-y7).^2-l3.^2; %dL/dlambda7

psi1=-psi1; psi2=-psi2; psi3=-psi3; psi6=-psi6; psi7=-psi7;

% funzione penalità del punto 7

pen=(x7-xd).^2.+(y7-yd).^2;

% lagrangiano

syms lambda1 lambda2 lambda3 lambda4 lambda5 lambda6 lambda7;

lagr=pen+lambda1.*psi1+lambda2.*psi2+lambda3.*psi3+lambda4.*psi4+lambda5.

*psi5+lambda6.*psi6+lambda7.*psi7;

dlx5=diff(lagr, x5); %dL/dx5

dly5=diff(lagr, y5); %dL/dy5

dlx4=diff(lagr, x4); %dL/dx4

dly4=diff(lagr, y4); %dL/dy4

dlx6=diff(lagr, x6); %dL/dx6

dly6=diff(lagr, y6); %dL/dy6

dlx7=diff(lagr, x7); %dL/dx7

dly7=diff(lagr, y7); %dL/dy7

x5=x50; y5=y50; x4=x40; y4=y40; x6=x60; y6=y60; x7=x70; y7=y70;

%valuto le derivate spaziali del lagrangiano

dlx5k=eval(dlx5); dly5k=eval(dly5);

dlx4k=eval(dlx4); dly4k=eval(dly4);

dlx6k=eval(dlx6); dly6k=eval(dly6);

dlx7k=eval(dlx7); dly7k=eval(dly7);

%valuto la funzione indice di performance

t=dlx5k.^2+dly5k.^2+dlx4k.^2+dly4k.^2+dlx6k.^2+dly6k.^2+dlx7k.^2+dly7k.^2

;

%% CALCOLO MOLTIPLICATORI DI LAGRANGE INIZIALI

%ricavo i moltiplicatori di Lagrange iniziali

[H, c]=equationsToMatrix([dlx5k==0, dly5k==0, dlx4k==0, dly4k==0,

dlx6k==0, dly6k==0, dlx7k==0, dly7k==0],...

Page 74: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

74

[lambda1, lambda2, lambda3, lambda4, lambda5, lambda6, lambda7]);

mltpliniz=eval(H)\eval(c); %moltiplicatori di lagr.iniziali

mltpliniz=mltpliniz';

valinizivp=[coordiniz,mltpliniz];

lambda1=mltpliniz(1);

lambda2=mltpliniz(2);

lambda3=mltpliniz(3);

lambda4=mltpliniz(4);

lambda5=mltpliniz(5);

lambda6=mltpliniz(6);

lambda7=mltpliniz(7);

t0=eval(t);

valinizivp=[valinizivp,t0];

%% RISOLVO LA ANALISI CINEMATICA CON SIST. EQ. DIFF.

options=odeset('Events',@odeStopEvent);

kk=0:0.02:1; % integration interval of variable s

sistma=@(s,m) systm(s,m,l5,l4,l2,l1,l3,a,b,x10,y10,x20,y20,x60,y60,t0);

[T,Y,te,ye,ie]=ode45(sistma,kk,valinizivp,options);

Ywh=Y(:,8); %consider only mechanism move with y7<100

Ywheelreal=Ywh(2:end);

%% GRAFICI

%mechanism

figure('position', [200, 50, 1000, 600]), clf

if true

subplot(2,2,1)

for is=1:5:size(Y,1)

hold on

line([Y(is,1),Y(is,5)],[Y(is,2),Y(is,6)])

line([Y(is,3),Y(is,5)],[Y(is,4),Y(is,6)])

line([Y(is,1),Y(is,3)],[Y(is,2),Y(is,4)])

line([x10,Y(is,1)],[y10,Y(is,2)])

line([Y(is,3),x20],[Y(is,4),y20])

line([Y(is,3),Y(is,7)],[Y(is,4),Y(is,8)])

line([x20,Y(is,7)],[y20,Y(is,8)])

line([x30,Y(is,5)],[y30,Y(is,6)],'Color','k')

plot(Y(is,5),Y(is,6),'r.') , title(['meccanismo con rigidezza

k = ',num2str(k_spring),' N/mm']) %point out (x6,y6)

axis equal

xlabel('x (mm)')

ylabel('y (mm)')

hold off

end

end

%tau trend in graphic form

XX6=abs(diff(Y(:,5))); YY6=abs(diff(Y(:,6))); YY7=diff(Y(:,8));

XY6=sqrt(XX6.^2+YY6.^2);

Ytau_r=[];

for is=1:1:size(XX6)

tau_r=XY6(is)./YY7(is);

Ytau_r=[Ytau_r;tau_r];

end

Xtau=[0;10;20;30;40;50;60;70;80;90;100];

if input_tau(12)==1

pol=polyfit(Xtau,input_tau(1:11),1);

Ytau_t=pol(1).*Ywheelreal+pol(2);

else

pol=polyfit(Xtau,input_tau(1:11),2);

Ytau_t=pol(1).*(Ywheelreal).^2+pol(2).*Ywheelreal+pol(3);

Page 75: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

75

end

error_tau=trapz((Ytau_r-Ytau_t).^2); %calculate error

subplot(2,2,2)

plot(Ywheelreal,Ytau_r,'r'),title(['tau error = ',num2str(error_tau)])

hold on

plot(Ywheelreal,Ytau_t,'color',[0 0.6 0])

hold off

xlabel('escursione verticale della ruota (mm)')

ylabel('rapporto di velocità')

xlim([0 105])

% progressiveness suspension reduced stiffness graphic

subplot(2,2,4)

plot(Ywheelreal,k_spring.*(Ytau_r.^2),'c')

xlabel('escursione verticale della ruota (mm)')

ylabel('rigidezza ridotta (N/mm)')

xlim([0 105])

%progressiveness suspension elastic force graphic

X6i=Y(1,5); X6i=X6i.*ones(size(Y(:,5)));

Y6i=Y(1,6); Y6i=Y6i.*ones(size(Y(:,5)));

XY6=sqrt((Y(:,5)-X6i).^2+(Y(:,6)-Y6i).^2);

subplot(2,2,3)

plot(Y(:,8),XY6.*k_spring,'color',[0.7 0.1 0.8])

xlabel('escursione verticale della ruota (mm)')

ylabel('forza elastica (N)')

xlim([0 105])

function Optimization1_Callback(hObject, eventdata, handles)

%ALGORITMO FMINSEARCH

errmaxtau = handles.err_max;

k_spring = handles.kforc;

% INITIAL VALUES OF NATURAL COORDINATES

filename = 'InputDataCoordinates.xlsx';

var = xlsread(filename,'C3:C16');

input_tau=xlsread(filename,'G4:G15');

x70= var(1);

y70= var(2);

x10= var(3);

y10= var(4);

x30= var(5);

y30= var(6);

x20= var(7);

y20= var(8);

x50= var(9);

y50= var(10);

x40= var(11);

y40= var(12);

x60= var(13);

y60= var(14);

coordiniziali=[x50,y50,x40,y40,x60,y60,x70,y70];

x2=x20; y2=y20; x1=x10; y1=y10; x5=x50; y5=y50;

x4=x40; y4=y40; x6=x60; y6=y60; x7=x70; y7=y70;

%% OPTIMIZATION1

options = optimset('OutputFcn', @(x, optimValues, state) stopoptim12(x,

optimValues, state,errmaxtau));

integr=@(n)

anakin1(n,x10,y10,x20,y20,x30,y30,x60,y60,coordiniziali,input_tau,k_sprin

g);

Page 76: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

76

[X,fval,exitflag,output]=fminsearch(integr,coordiniziali,options);

output=output

guess=coordiniziali';

input_coord=[x10;y10;x30;y30;x20;y20;guess];

optim=X';

optim_coord=[x10;y10;x30;y30;x20;y20;optim];

indice={'x5';'y5';'x4';'y4';'x6';'y6';'x7';'y7'};

Tres=table(guess,optim,'RowNames',indice)

%optmized variables

x5=X(1);

y5=X(2);

x4=X(3);

y4=X(4);

x6=X(5);

y6=X(6);

x7=X(7);

y7=X(8);

%input initial lenghts

l50=sqrt((x50-x10).^2 + (y50-y10).^2);

l40=sqrt((x50-x40).^2 + (y50-y40).^2);

l20=sqrt((x40-x20).^2 + (y40-y20).^2);

l10=sqrt((x70-x20).^2 + (y70-y20).^2);

l30=sqrt((x40-x70).^2 + (y40-y70).^2);

l60=sqrt((x50-x60).^2 + (y50-y60).^2);

l70=sqrt((x60-x10).^2 + (y60-y10).^2);

lm00=sqrt((x30-x60).^2 + (y30-y60).^2);

input_lenghts=[l10;l20;l30;l40;l50;l60;l70;lm00];

%optimized final lenghts

l5=sqrt((x5-x10).^2 + (y5-y10).^2);

l4=sqrt((x5-x4).^2 + (y5-y4).^2);

l2=sqrt((x4-x20).^2 + (y4-y20).^2);

l1=sqrt((x7-x20).^2 + (y7-y20).^2);

l3=sqrt((x4-x7).^2 + (y4-y7).^2);

l6=sqrt((x5-x6).^2 + (y5-y6).^2);

l7=sqrt((x6-x10).^2 + (y6-y10).^2);

lm0=sqrt((x30-x6).^2 + (y30-y6).^2);

optim_lenghts=[l1;l2;l3;l4;l5;l6;l7;lm0];

%Save data

xlswrite('OutputData',input_coord,'Output','C6')

xlswrite('OutputData',input_lenghts,'Output','C21')

xlswrite('OutputData',optim_coord,'Output','D6')

xlswrite('OutputData',optim_lenghts,'Output','D21')

%compare initial and optimized mechanism

figure(150),set(gcf,'name','confronto meccanismi'),clf

plot(x60,y60,'b')

hold on

plot(x6,y6,'r')

legend('meccanismo iniziale','meccanismo optim')

line([x10,x5],[y10,y5],'Color','r')

line([x5,x4],[y5,y4],'Color','r')

line([x4,x20],[y4,y20],'Color','r')

line([x5,x6],[y5,y6],'Color','r')

line([x4,x6],[y4,y6],'Color','r')

line([x20,x7],[y20,y7],'Color','r')

line([x4,x7],[y4,y7],'Color','r')

line([x6,x30],[y6,y30],'Color','g')

line([x10,x50],[y10,y50],'Color','b')

line([x50,x40],[y50,y40],'Color','b')

Page 77: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

77

line([x40,x20],[y40,y20],'Color','b')

line([x50,x60],[y50,y60],'Color','b')

line([x40,x60],[y40,y60],'Color','b')

line([x20,x70],[y20,y70],'Color','b')

line([x40,x70],[y40,y70],'Color','b')

line([x60,x30],[y60,y30],'Color','g')

axis equal

xlabel('x (mm)')

ylabel('y (mm)')

function optimization2_Callback(hObject, eventdata, handles)

%ALGORITMO FMINUNC

errmaxtau = handles.err_max;

k_spring = handles.kforc;

% INITIAL VALUES OF NATURAL COORDINATES

filename = 'InputDataCoordinates.xlsx';

var = xlsread(filename,'C3:C16');

input_tau=xlsread(filename,'G4:G15');

x70= var(1);

y70= var(2);

x10= var(3);

y10= var(4);

x30= var(5);

y30= var(6);

x20= var(7);

y20= var(8);

x50= var(9);

y50= var(10);

x40= var(11);

y40= var(12);

x60= var(13);

y60= var(14);

coordiniziali=[x50,y50,x40,y40,x60,y60,x70,y70];

x2=x20; y2=y20; x1=x10; y1=y10; x5=x50; y5=y50;

x4=x40; y4=y40; x6=x60; y6=y60; x7=x70; y7=y70;

%% OPTIMIZATION1

options=optimoptions(@fminunc,'Algorithm','quasi-Newton','OutputFcn',

@(x, optimValues, state)stopoptim12(x, optimValues, state,errmaxtau));

integr=@(n)

anakin2(n,x10,y10,x20,y20,x30,y30,x60,y60,coordiniziali,input_tau,k_sprin

g);

[X,fval,exitflag,output]=fminunc(integr,coordiniziali,options);

output=output

guess=coordiniziali';

input_coord=[x10;y10;x30;y30;x20;y20;guess];

optim=X';

optim_coord=[x10;y10;x30;y30;x20;y20;optim];

indice={'x5';'y5';'x4';'y4';'x6';'y6';'x7';'y7'};

Tres=table(guess,optim,'RowNames',indice)

%optmized variables

x5=X(1);

y5=X(2);

x4=X(3);

y4=X(4);

x6=X(5);

y6=X(6);

x7=X(7);

y7=X(8);

%input initial lenghts

Page 78: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

78

l50=sqrt((x50-x10).^2 + (y50-y10).^2);

l40=sqrt((x50-x40).^2 + (y50-y40).^2);

l20=sqrt((x40-x20).^2 + (y40-y20).^2);

l10=sqrt((x70-x20).^2 + (y70-y20).^2);

l30=sqrt((x40-x70).^2 + (y40-y70).^2);

l60=sqrt((x50-x60).^2 + (y50-y60).^2);

l70=sqrt((x60-x10).^2 + (y60-y10).^2);

lm00=sqrt((x30-x60).^2 + (y30-y60).^2);

input_lenghts=[l10;l20;l30;l40;l50;l60;l70;lm00];

%optimized final lenghts

l5=sqrt((x5-x10).^2 + (y5-y10).^2);

l4=sqrt((x5-x4).^2 + (y5-y4).^2);

l2=sqrt((x4-x20).^2 + (y4-y20).^2);

l1=sqrt((x7-x20).^2 + (y7-y20).^2);

l3=sqrt((x4-x7).^2 + (y4-y7).^2);

l6=sqrt((x5-x6).^2 + (y5-y6).^2);

l7=sqrt((x6-x10).^2 + (y6-y10).^2);

lm0=sqrt((x30-x6).^2 + (y30-y6).^2);

optim_lenghts=[l1;l2;l3;l4;l5;l6;l7;lm0];

%Save data

xlswrite('OutputData',input_coord,'Output','K6')

xlswrite('OutputData',input_lenghts,'Output','K21')

xlswrite('OutputData',optim_coord,'Output','L6')

xlswrite('OutputData',optim_lenghts,'Output','L21')

%compare initial and optimized mechanism

figure(150),set(gcf,'name','confronto meccanismi'),clf

plot(x60,y60,'b')

hold on

plot(x6,y6,'r')

legend('meccanismo iniziale','meccanismo optim')

line([x10,x5],[y10,y5],'Color','r')

line([x5,x4],[y5,y4],'Color','r')

line([x4,x20],[y4,y20],'Color','r')

line([x5,x6],[y5,y6],'Color','r')

line([x4,x6],[y4,y6],'Color','r')

line([x20,x7],[y20,y7],'Color','r')

line([x4,x7],[y4,y7],'Color','r')

line([x6,x30],[y6,y30],'Color','g')

line([x10,x50],[y10,y50],'Color','b')

line([x50,x40],[y50,y40],'Color','b')

line([x40,x20],[y40,y20],'Color','b')

line([x50,x60],[y50,y60],'Color','b')

line([x40,x60],[y40,y60],'Color','b')

line([x20,x70],[y20,y70],'Color','b')

line([x40,x70],[y40,y70],'Color','b')

line([x60,x30],[y60,y30],'Color','g')

axis equal

xlabel('x (mm)')

ylabel('y (mm)')

function optimization3_Callback(hObject, eventdata, handles)

%ALGORITMO LSQNONLIN

errmaxtau = handles.err_max;

k_spring = handles.kforc;

% INITIAL VALUES OF NATURAL COORDINATES

filename = 'InputDataCoordinates.xlsx';

var = xlsread(filename,'C3:C16');

Page 79: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

79

input_tau=xlsread(filename,'G4:G15');

x70= var(1);

y70= var(2);

x10= var(3);

y10= var(4);

x30= var(5);

y30= var(6);

x20= var(7);

y20= var(8);

x50= var(9);

y50= var(10);

x40= var(11);

y40= var(12);

x60= var(13);

y60= var(14);

coordiniziali=[x50,y50,x40,y40,x60,y60,x70,y70];

x2=x20; y2=y20; x1=x10; y1=y10; x5=x50; y5=y50;

x4=x40; y4=y40; x6=x60; y6=y60; x7=x70; y7=y70;

%% OPTIMIZATION1

options=optimoptions(@lsqnonlin,'Algorithm','levenberg-

marquardt','OutputFcn', @(x, optimValues, state)stopoptim3(x,

optimValues, state,errmaxtau));

integr=@(n)

anakin3(n,x10,y10,x20,y20,x30,y30,x60,y60,coordiniziali,input_tau,k_sprin

g);

[X,fval,exitflag,output]=lsqnonlin(integr,coordiniziali,[],[],options);

output=output

guess=coordiniziali';

input_coord=[x10;y10;x30;y30;x20;y20;guess];

optim=X;

optim_coord=[x10;y10;x30;y30;x20;y20;optim];

indice={'x5';'y5';'x4';'y4';'x6';'y6';'x7';'y7'};

Tres=table(guess,optim,'RowNames',indice)

%optmized variables

x5=X(1);

y5=X(2);

x4=X(3);

y4=X(4);

x6=X(5);

y6=X(6);

x7=X(7);

y7=X(8);

%input initial lenghts

l50=sqrt((x50-x10).^2 + (y50-y10).^2);

l40=sqrt((x50-x40).^2 + (y50-y40).^2);

l20=sqrt((x40-x20).^2 + (y40-y20).^2);

l10=sqrt((x70-x20).^2 + (y70-y20).^2);

l30=sqrt((x40-x70).^2 + (y40-y70).^2);

l60=sqrt((x50-x60).^2 + (y50-y60).^2);

l70=sqrt((x60-x10).^2 + (y60-y10).^2);

lm00=sqrt((x30-x60).^2 + (y30-y60).^2);

input_lenghts=[l10;l20;l30;l40;l50;l60;l70;lm00];

%optimized final lenghts

l5=sqrt((x5-x10).^2 + (y5-y10).^2);

l4=sqrt((x5-x4).^2 + (y5-y4).^2);

l2=sqrt((x4-x20).^2 + (y4-y20).^2);

l1=sqrt((x7-x20).^2 + (y7-y20).^2);

l3=sqrt((x4-x7).^2 + (y4-y7).^2);

Page 80: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

80

l6=sqrt((x5-x6).^2 + (y5-y6).^2);

l7=sqrt((x6-x10).^2 + (y6-y10).^2);

lm0=sqrt((x30-x6).^2 + (y30-y6).^2);

optim_lenghts=[l1;l2;l3;l4;l5;l6;l7;lm0];

%Save data

xlswrite('OutputData',input_coord,'Output','G6')

xlswrite('OutputData',input_lenghts,'Output','G21')

xlswrite('OutputData',optim_coord,'Output','H6')

xlswrite('OutputData',optim_lenghts,'Output','H21')

%compare initial and optimized mechanism

figure(150),set(gcf,'name','confronto meccanismi'),clf

plot(x60,y60,'b')

hold on

plot(x6,y6,'r')

legend('meccanismo iniziale','meccanismo optim')

line([x10,x5],[y10,y5],'Color','r')

line([x5,x4],[y5,y4],'Color','r')

line([x4,x20],[y4,y20],'Color','r')

line([x5,x6],[y5,y6],'Color','r')

line([x4,x6],[y4,y6],'Color','r')

line([x20,x7],[y20,y7],'Color','r')

line([x4,x7],[y4,y7],'Color','r')

line([x6,x30],[y6,y30],'Color','g')

line([x10,x50],[y10,y50],'Color','b')

line([x50,x40],[y50,y40],'Color','b')

line([x40,x20],[y40,y20],'Color','b')

line([x50,x60],[y50,y60],'Color','b')

line([x40,x60],[y40,y60],'Color','b')

line([x20,x70],[y20,y70],'Color','b')

line([x40,x70],[y40,y70],'Color','b')

line([x60,x30],[y60,y30],'Color','g')

axis equal

xlabel('x (mm)')

ylabel('y (mm)')

Function “Anakin1.mat”

function

f=anakin1(n,x10,y10,x20,y20,x30,y30,x60,y60,coordiniziali,input_tau,k_spr

ing);

x5=n(1); %specific natural coordinates as variables

y5=n(2);

x4=n(3);

y4=n(4);

x6=n(5);

y6=n(6);

x7=n(7);

y7=n(8);

x2=x20; y2=y20; x1=x10; y1=y10; x3=x30; y3=y30;

coordiniz=[x5,y5,x4,y4,x6,y6,x7,y7];

syms s

%point 7 objective path

xd=0;

Page 81: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

81

yd=350.*s;

s=0; yd=eval(yd);

% initial lenghts

l5=sqrt((x5-x10).^2 + (y5-y10).^2);

l4=sqrt((x5-x4).^2 + (y5-y4).^2);

l2=sqrt((x4-x20).^2 + (y4-y20).^2);

l1=sqrt((x7-x20).^2 + (y7-y20).^2);

l3=sqrt((x4-x7).^2 + (y4-y7).^2);

a0=(l4.*((x5-x4).*(x6-x5)+(y5-y6).*(y4-y5))./((y4-y5).^2.+(x4-x5).^2));

b0=(l4.*((y6-y5).*(x4-x5)-(y4-y5).*(x6-x5))./((y4-y5).^2.+(x4-x5).^2));

a=-a0; b=b0;

%% CALCULATE INITIAL VALUE OF t0

% constraint equation

syms x5 y5 x4 y4 x6 y6 x7 y7;

psi1=(x5-x1).^2.+(y5-y1).^2.-l5.^2; %dL/dlambda1

psi2=(x4-x2).^2.+(y4-y2).^2.-l2.^2; %dL/dlambda2

psi3=(x5-x4).^2.+(y5-y4).^2.-l4.^2; %dL/dlambda3

psi4=x6-x5-a.*(x4-x5)./l4+b.*(y4-y5)./l4; %dL/dlambda4

psi5=y6-y5-a.*(y4-y5)./l4-b.*(x4-x5)./l4; %dL/dlambda5

psi6=(x7-x2).^2 + (y7-y2).^2-l1.^2; %dL/dlambda6

psi7=(x4-x7).^2 + (y4-y7).^2-l3.^2; %dL/dlambda7

psi1=-psi1; psi2=-psi2; psi3=-psi3; psi6=-psi6; psi7=-psi7;

% point 7 penalty

pen=(x7-xd).^2.+(y7-yd).^2;

% lagrangian

syms lambda1 lambda2 lambda3 lambda4 lambda5 lambda6 lambda7;

lagr=pen+lambda1.*psi1+lambda2.*psi2+lambda3.*psi3+lambda4.*psi4+lambda5.

*psi5+lambda6.*psi6+lambda7.*psi7;

dlx5=diff(lagr, x5); %dL/dx5

dly5=diff(lagr, y5); %dL/dy5

dlx4=diff(lagr, x4); %dL/dx4

dly4=diff(lagr, y4); %dL/dy4

dlx6=diff(lagr, x6); %dL/dx6

dly6=diff(lagr, y6); %dL/dy6

dlx7=diff(lagr, x7); %dL/dx7

dly7=diff(lagr, y7); %dL/dy7

x5=n(1);

y5=n(2);

x4=n(3);

y4=n(4);

x6=n(5);

y6=n(6);

x7=n(7);

y7=n(8);

%spatial derivative lagrangian evaluation

dlx5k=eval(dlx5); dly5k=eval(dly5);

dlx4k=eval(dlx4); dly4k=eval(dly4);

dlx6k=eval(dlx6); dly6k=eval(dly6);

dlx7k=eval(dlx7); dly7k=eval(dly7);

%index of performance evaluation

t=dlx5k.^2+dly5k.^2+dlx4k.^2+dly4k.^2+dlx6k.^2+dly6k.^2+dlx7k.^2+dly7k.^2

;

%% CALCULATE INITIAL LAGRANGE MULTIPLIERS

[H, c]=equationsToMatrix([dlx5k==0, dly5k==0, dlx4k==0, dly4k==0,

dlx6k==0, dly6k==0, dlx7k==0, dly7k==0],...

[lambda1, lambda2, lambda3, lambda4, lambda5, lambda6, lambda7]);

mltpliniz=eval(H)\eval(c);

mltpliniz=mltpliniz';

Page 82: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

82

valinizivp=[coordiniz,mltpliniz];

lambda1=mltpliniz(1);

lambda2=mltpliniz(2);

lambda3=mltpliniz(3);

lambda4=mltpliniz(4);

lambda5=mltpliniz(5);

lambda6=mltpliniz(6);

lambda7=mltpliniz(7);

t0=eval(t);

valinizivp=[valinizivp,t0];

%% KINEMATIC ANALYSIS

options=odeset('Events',@odeStopEvent);

kk=0:0.02:1; % integration interval of variable s

sistma=@(s,m) systm(s,m,l5,l4,l2,l1,l3,a,b,x10,y10,x20,y20,x60,y60,t0);

[T,Y,te,ye,ie]=ode45(sistma,kk,valinizivp,options);

Ywh=Y(:,8); %consider only mechanism move with y7<100

Ywheelreal=Ywh(2:end);

%% GRAPHICS

%tau trend in graphic form

XX6=abs(diff(Y(:,5))); YY6=abs(diff(Y(:,6))); YY7=diff(Y(:,8));

XY6=sqrt(XX6.^2+YY6.^2);

Ytau_r=[];

for is=1:1:size(XX6)

tau_r=XY6(is)./YY7(is);

Ytau_r=[Ytau_r;tau_r];

end

Xtau=[0;10;20;30;40;50;60;70;80;90;100];

if coordiniz-coordiniziali==zeros(1,8)

global Ytau_g Ywheelrealg pol

if input_tau(12)==1

pol=polyfit(Xtau,input_tau(1:11),1);

else

pol=polyfit(Xtau,input_tau(1:11),2);

end

Ytau_g=Ytau_r;

Ywheelrealg=Ywheelreal;

end

global Ytau_g Ywheelrealg pol

if input_tau(12)==1

Ytau_t=pol(1).*Ywheelreal+pol(2);

else

Ytau_t=pol(1).*(Ywheelreal).^2+pol(2).*Ywheelreal+pol(3);

end

figure(100)

figure(100), set(100,'position', [200, 50, 1000, 600]), clf

subplot(2,2,2)

error_tau=trapz((Ytau_r-Ytau_t).^2); %calculate error

plot(Ywheelreal,Ytau_r,'r'),title(['tau error =

',num2str(error_tau)])

hold on

plot(Ywheelreal,Ytau_t,'color',[0 0.6 0])

plot(Ywheelrealg,Ytau_g,'b')

hold off

xlabel('escursione verticale della ruota (mm)')

ylabel('rapporto di velocità')

xlim([0 105])

fminsearchtau=Ytau_r;

Page 83: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

83

fminsearchYwh=Ywheelreal;

save('fminsearchtau.mat','fminsearchtau');

save('fminsearchYwh.mat','fminsearchYwh');

%mechanism

if true

subplot(2,2,1)

for is=1:5:size(Y,1)

hold on

line([Y(is,1),Y(is,5)],[Y(is,2),Y(is,6)])

line([Y(is,3),Y(is,5)],[Y(is,4),Y(is,6)])

line([Y(is,1),Y(is,3)],[Y(is,2),Y(is,4)])

line([x10,Y(is,1)],[y10,Y(is,2)])

line([Y(is,3),x20],[Y(is,4),y20])

line([Y(is,3),Y(is,7)],[Y(is,4),Y(is,8)])

line([x20,Y(is,7)],[y20,Y(is,8)])

line([x30,Y(is,5)],[y30,Y(is,6)],'Color','k')

plot(Y(is,5),Y(is,6),'r.') ,title(['meccanismo con rigidezza

k = ',num2str(k_spring),' N/mm (ottimizzazione FMINSEARCH)']) %point

out (x6,y6)

axis equal

xlabel('x (mm)')

ylabel('y (mm)')

hold off

end

end

guess=coordiniziali';

optim=n';

indice={'x5';'y5';'x4';'y4';'x6';'y6';'x7';'y7'};

fminsearchRes=table(guess,optim,'RowNames',indice);

save('fminsearchRes.mat','fminsearchRes');

% progressiveness suspension reduced stiffness graphic

subplot(2,2,4)

plot(Ywheelreal,k_spring.*(Ytau_r.^2),'c')

xlabel('escursione verticale della ruota (mm)')

ylabel('rigidezza ridotta (N/mm)')

xlim([0 105])

%progressiveness suspension elastic force graphic

X6i=Y(1,5); X6i=X6i.*ones(size(Y(:,5)));

Y6i=Y(1,6); Y6i=Y6i.*ones(size(Y(:,5)));

XY6=sqrt((Y(:,5)-X6i).^2+(Y(:,6)-Y6i).^2);

subplot(2,2,3)

plot(Y(:,8),XY6.*k_spring,'color',[0.7 0.1 0.8])

xlabel('escursione verticale della ruota (mm)')

ylabel('forza elastica (N)')

xlim([0 105])

f=error_tau

Function “systm.mat”

function dydt=systm(s,m,l5,l4,l2,l1,l3,a,b,x10,y10,x20,y20,x60,y60,t0)

%GENERATION OF ODE SYSTEM FROM MATRIXES

x5=m(1); %specific natural coordinates,lagrange multipliers and t0 as

variables

y5=m(2);

Page 84: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

84

x4=m(3);

y4=m(4);

x6=m(5);

y6=m(6);

x7=m(7);

y7=m(8);

lambda1=m(9);

lambda2=m(10);

lambda3=m(11);

lambda4=m(12);

lambda5=m(13);

lambda6=m(14);

lambda7=m(15);

t0=m(16);

[A,B,C]=genmatrix(s,m,l5,l4,l2,l1,l3,a,b,x10,y10,x20,y20,x60,y60,t0);

mun=0.1; %time constant

Ai=inv(A);

syst=Ai*(B+mun*C);

dydt(1)=syst(1); %differential equations vector

dydt(2)=syst(2);

dydt(3)=syst(3);

dydt(4)=syst(4);

dydt(5)=syst(5);

dydt(6)=syst(6);

dydt(7)=syst(7);

dydt(8)=syst(8);

dydt(9)=syst(9);

dydt(10)=syst(10);

dydt(11)=syst(11);

dydt(12)=syst(12);

dydt(13)=syst(13);

dydt(14)=syst(14);

dydt(15)=syst(15);

dydt(16)=syst(16);

dydt=[dydt(1); dydt(2); dydt(3); dydt(4); dydt(5); dydt(6); dydt(7);

dydt(8); dydt(9); dydt(10); dydt(11); dydt(12); dydt(13); dydt(14);

dydt(15); dydt(16)];

Function “genmatrix.mat”

function [A,B,C]=genmatrix(s,m,l5,l4,l2,l1,l3,a,b,x10,y10,x20,y20,x60,y60,t0)

x1=x10; y1=y10; x2=x20; y2=y20;

mun=0.1;

x5=m(1);

y5=m(2);

x4=m(3);

y4=m(4);

x6=m(5);

y6=m(6);

x7=m(7);

y7=m(8);

lambda1=m(9);

lambda2=m(10);

Page 85: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

85

lambda3=m(11);

lambda4=m(12);

lambda5=m(13);

lambda6=m(14);

lambda7=m(15);

syms x5 y5 x4 y4 x6 y6 x7 y7 lambda1 lambda2 lambda3 lambda4 lambda5

lambda6 lambda7 k

%point 7 objective path

xd=0;

yd=350.*k;

xd1=0;

yd1=350;

%point 6 objective path

x6d=x60;

y6d=y60+48.*k;

pen2=(x6-x6d).^2.+(y6-y6d).^2;

%% CALCULATE MATRIXES

psi1=(x5-x1).^2.+(y5-y1).^2.-l5.^2; %dL/dlambda1

psi2=(x4-x2).^2.+(y4-y2).^2.-l2.^2; %dL/dlambda2

psi3=(x5-x4).^2.+(y5-y4).^2.-l4.^2; %dL/dlambda3

psi4=x6-x5-a.*(x4-x5)./l4+b.*(y4-y5)./l4; %dL/dlambda4

psi5=y6-y5-a.*(y4-y5)./l4-b.*(x4-x5)./l4; %dL/dlambda5

psi6=(x7-x2).^2 + (y7-y2).^2-l1.^2; %dL/dlambda6

psi7=(x4-x7).^2 + (y4-y7).^2-l3.^2; %dL/dlambda7

psi4=-psi4; psi5=-psi5;

pen=(x7-xd).^2.+(y7-yd).^2;

lagr=pen+lambda1.*psi1+lambda2.*psi2+lambda3.*psi3+lambda4.*psi4+lambda5.

*psi5+lambda6.*psi6+lambda7.*psi7;

dlx5=diff(lagr, x5);

dly5=diff(lagr, y5);

dlx4=diff(lagr, x4);

dly4=diff(lagr, y4);

dlx6=diff(lagr, x6);

dly6=diff(lagr, y6);

dlx7=diff(lagr, x7);

dly7=diff(lagr, y7);

vectvar=[x5; y5; x4; y4; x6; y6; x7; y7; lambda1; lambda2; lambda3;

lambda4; lambda5; lambda6; lambda7];

lagr=-lagr;

A=hessian(lagr,vectvar);

A=[A, zeros(15,1)]; A=[A; 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1];

C=[dlx5;dly5;dlx4;dly4;dlx6;dly6;dlx7;dly7;psi1;psi2;psi3;-psi4;-

psi5;psi6;psi7];

C=[C;0];

C=-C;

B=[0;0;0;0; -2.*xd1; -2.*yd1;0;0;0;0;0;0;0;0;0;pen2];

%%

x5=m(1);

y5=m(2);

x4=m(3);

y4=m(4);

x6=m(5);

y6=m(6);

x7=m(7);

y7=m(8);

lambda1=m(9);

lambda2=m(10);

lambda3=m(11);

Page 86: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

86

lambda4=m(12);

lambda5=m(13);

lambda6=m(14);

lambda7=m(15);

x1=x10; y1=y10; x2=x20; y2=y20;

k=s;

A=eval(A); B=eval(B); C=eval(C);

Function “OdeStopEvent.mat”

function [value,isterminal,direction] = odeStopEvent(T,Y)

value=1;

if Y(8)>100

value=0;

end

isterminal = 1; % Halt integration

direction = 0; % The zero can be approached from either direction

Function “StopOptim12.mat”

function stop = stopoptim12(x, optimValues, state,errmaxtau) stop = false;

% Check if objective function is less than errmaxtau.

if optimValues.fval < errmaxtau

stop = true;

end

Page 87: SINTESI OTTIMALE DEL MECCANISMO SOSPENSIVO …tesi.cab.unipd.it/52151/1/Ceranto_Nicolo_tesi.pdf · Metodo delle coordinate naturali ... progressivo e regressivo. 8 . 9 1. ... un comportamento

87

BIBLIOGRAFIA

[1] V. Cossalter, “Motorcycle dynamics”, Ed. italiana, Padova, 2008

[2] W. F. Milliken, D. L. Milliken, “Race Car Veichle Dynamics”, SAE, 1995.

[3] I. Birò, “Synthesis of some mechanisms using natural coordinates”, Interdisciplinary

Description of Complex Systems 12(3), 255-262, 2014

[4] V. Cossalter, M. Da Lio, R. Lot, “Sull’uso delle coordinate naturali nella sintesi di

meccanismi con metodi di ottimizzazione”, XIII Congresso Nazionale Aimeta, Siena,

1997

[5] V. Lorenzi, R. Riva, M. Camposaragna, R. Strada, B. Zappa, “Metodi numerici per lo

studio di sistemi multicorpo”, Bergamo, dispense del corso

[6] V. Cossalter, M. Da Lio, R. Lot, “On the use of natural coordinates in optimal synthesis

of mechanisms”, Mechanism and Machine Theory 35, 1367-1389, 2000.

[7] J.C. de Jalòn, E. Bayo, “Kinematic and dynamic simulation of Multibody Systems”,

Springer-Verlag, New York, 1994

[8] P. Marchand, O. T. Holland, “Graphics and GUIs with Matlab”, Chapman & Hall/CRC,

Washington D.C., 2003

[9] Desmond J. Higham, Nicholas J. Higham, “Matlab Guide”, Second Edition, 2005.

[10] D. Prandin, “Ottimizzazione cinematica di sospensioni motociclistiche”, Tesi di laurea,

Padova, 2013