Sei sulla pagina 1di 105

Universit` a degli Studi di Trento

` DI INGEGNERIA FACOLTA Course: Progettazione Funzionale

Report

Analisi numerica del telaio di un quadcopter

Studente:

Matteo Ragni
Matricola 161822

Anno Accademico 2012-2013

Matteo Ragni

Progettazione Funzionale

Analisi numerica del telaio di un quadcopter | 2

Indice
1 Introduzione 2 Impostazione del problema
2.1 Modello matematico 2.1.1 2.1.2 Cinematica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dinamica del propulsore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Spinta e momento resistente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Eetti giroscopici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.3 2.1.4 2.2 2.3 Dinamica e controllo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Controllo in traiettoria del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5 7
7 7 8 8 9 11 14 15 19 19 19

Scegliere il telaio

Le analisi da svolgere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Analisi del modello non ottimizzato. Analisi del modello ottimizzato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3 Analisi FEM del telaio


3.1 Analisi del modello non ottimizzato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 Analisi preliminare Analisi statica

21
21 21 21 24 29 33 37 39 40 42 45 47 48 50 52

BEAM188

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

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

Analisi modale e analisi armonica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Inertial relief del modello 3.1.2 3.1.3 Analisi di un modello Analisi statica Analisi modale 3.2 Modello ottimizzato Analisi statica Analisi del modello di contatto -

SHELL181:CONTA174:TARGE170 tridimensionale - SOLID186 . . . . . . . . . .

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

Analisi armonica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

SOLID187

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

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

Analisi Modale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Risposta armonica Un problema di tensioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4 Conclusioni 5 Allegati
5.1 5.2 5.3 5.4 Indipendenza dierenziale delle accelerazioni angolari . . . . . . . . . . . . . . . . . . . . . . . . . Gli elementi del quadcopter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modello Simulink del sistema di controllo Allegato modello 5.4.1 5.4.2 5.4.3 Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

55 57
57 58 59 62 62 65 73

BEAM188

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

Disegno Tecnico

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

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

Elementi utilizzati

Matteo Ragni

Progettazione Funzionale

5.4.4 5.5 5.5.1 5.5.2 5.6 5.6.1 5.6.2 5.7 5.7.1 5.7.2 5.7.3

Risultati dell'inertia relief analisys Script

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

74 74 74 82 82 82 95 97 97 98

Allegati modello

SHELL281:CONTA174:TARGE170

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

Elementi utilizzati Script

Allegati modello

SOLID186

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

Elementi utilizzati Disegno tenico Script

Allegati modello

SOLID187

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

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

Elementi utilizzati

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

Analisi numerica del telaio di un quadcopter | 4

Capitolo 1

Introduzione
In questo documento contenuta una analisi numerica di un telaio di un Quadcopter, ovvero un drone dalla caratteristica forma a croce, avente quattro propulsori agli estremi come elementi di spinta attiva. Il tempo di volo direttamente proporzionale alla massa complessiva del drone, eppure raramente gli amatori e i ricercatori che si cimentano nella costruzione di tale oggetto si sono mai concentrati sulla analisi del telaio, mantenendo una struttura spesso sovradimensionata che limita tempo di volo e agilit. Per questo, dopo una attenta scelta del telaio iniziale, che deve essere comunque basata sulle caratteristiche del gruppo di propulsione del drone, ci si concentrer sulla ottimizzazione della massa, in particolare dei bracci esterni che sostengono tale elemento di spinta. La ottimizzazione della massa del telaio porta con se due svantaggi che devono essere attentamente considerati: l'aumento dello spostamento dell'estremo del braccio, che pu vancare l'ipotesi di corpo rigido sulla quale il sistema di controllo del drone basato, e uno spostamento delle frequenze naturali del telaio, e la corrispondente risposta dinamica, che potrebbe portare il sistema in condizioni di risonanza, in cui il sistema diventerebbe incontrollabile. Il problema qui presentato lo studio di ottimizzazione di un telaio, al ne di avere uno spostamento sucientemente contenuto da garantire il mantenimento di una ipotesi fondamentale nello studio dinamico, ovvero il mantenimento della rigidezza del corpo del telaio. Si pone quindi l'obbiettivo di minimizzazione della massa complessiva del telaio, sotto i vincoli di spostamento, rotazione e tensioni. Partendo da una analisi estremamente analitica della dinamica del sistema del quadcopter, per poi invertire la dinamica e identicare le forze che si esprimono sul telaio durante la fase di volo. Una volta identicate le forze, mediante una minimizzazione con KKT, si sceglie una base di partenza tra l'insieme pressocch innito di soluzioni disponibili sul mercato. La palla passa in seguito alla analisi FEM. Si studia il comportamento del sistema mediante modelli di complessit sempre maggiori, consci della criticit delle analisi ad elementi niti e della necessit di provare le eventuali correttezze del modello. Si cercher infatti di analizzare il modello in tono critico, cercando di seguire il principio di worst case scenario come faro direttivo per eventuali ipotesi semplicatrici dove non sia possibile approfondire ulteriormente il problema. Una volta investigato il comportamento del telaio, si passer alla analisi nale di un sistema ulteriormente ottimizzato, per il quale impensabile fornire una soluzione analitica mediante la teoria delle travi. L'idea nale, da sviluppare non appena possibile, la costruzione di un modello reale funzionante.

Matteo Ragni

Progettazione Funzionale

Analisi numerica del telaio di un quadcopter | 6

Capitolo 2

Impostazione del problema


2.1 Modello matematico
2.1.1 Cinematica
necessario fare una introduzione sulla dinamica del modello di un quadrottero per capire quali sono le condizioni che possano portare il telaio alla massima sollecitazione. Si considerino i sistemi di riferimento:

^ z B ^ y C ^ z W ^ y B

^ z W

^ z B

^ x C

^ x W ^ y W

Figura 2.1.1: Sistemi di riferimento


Sistema di riferimento globale:


identicato dal versore

identicato da tre versori

{x W , y W , z W }, avente origine in {0, 0, 0} r = {x(t), y (t), z (t)}


T

Sistema di riferimento di imbardata: ruotato rispetto al sistema di riferimento globale attorno all'asse
z W ,
di un angolo

(t) = .

Il sistema ha origine in

{x, y, z }

, con

dai tre versori

r vettore che rappresenta la posizione {x C (t), y C (t), z W } = {x C , y C , z W }. y C

del centro di massa del quadrottero. Identicato

Sistema di riferimento solidale al corpo:


attorno gli assi identicato dai e

avente origine nel punto identicato dal vettore

r, e ruotato

x C , di angoli (t) = e (t) = . La versori {x B (t), y B (t), z B (t)} = {x B , y B , z B }

rotazione tra questo sistema di riferimento, e il sistema di riferimento globale pu essere

ottenuto mediante radici di rototraslazione, di cui consideriamo prevalentemente la parte riguardante la

Matteo Ragni
1

Progettazione Funzionale

rotazione :

RB =W RC C RB (t). r
La velocit

La velocit del corpo ovviamente espressa dalla derivata temporale del vettore posizione: sistema gloabale. Espressa nel sistema di riferimento del corpo:

angolare del corpo pu essere espressa come la velocit angolare del sistema di riferimento solidale rispetto al

BW = p(t) x B + q (t) y B + r(t) z B = p x B + q y B + r z B


2.1.2 Dinamica del propulsore

Spinta e momento resistente


La dinamica del propulsore pu essere fortemente semplicata facendo alcune considerazioni largamente condivise nella letteratura. Come gi analizzato in [1], la spinta verticale e il momento resistente sono i due principali eetti presi in considerazione nella analisi dinamica. fenomeno di Sebbene sia presente un momento ettente, dovuto al

appeggio di portanza

sulle lame, all'albero questo risulta essere bilanciato dallo stesso momento

che si esprime sulla lama opposta.

Distribuzione di forza sul propulsore

FT

0 .7
cavg

MD

Figura 2.1.2: Forze che si esprimono sul propulsore


Dalla inversione delle equazioni del coeciente di spinta (CLif t ) e del coeciente di resistenza (CDrag ) si possono identicare le funzioni che esprimino la spinta e il momento resistente:

FT ( )

= =

1 CLif t ( ) S v 2 = 2 1 CLif t ( ) (R cavg ) (0.7 R )2 2

(2.1)

M D ( )

= =

1 CDrag ( ) S v 2 (0.7 R) = 2 1 CDrag ( ) (R cavg ) (0.7 R )2 (0.7 R) 2 cavg

(2.2)

dove

rappresenta la densit dell'aria,

la dimensione media della corda della lama del propulsore, utile Questo modello, presentato in dettaglio

ad approssimare la sezione media della lama, che solitamente per propulsori APC a passo sso si esprime alla distanza di circa

0.7 R,

dove

il raggio del propulsore [6].

33 Matrice di rototraslazione: M = [Rotazione] 0 0 0 Matrice di rotazione: R = submatrix (M, 1..3 1..3)

{Spostamento}31 1

Analisi numerica del telaio di un quadcopter | 8

Matteo Ragni

Progettazione Funzionale

in un precedente lavoro di chi scrive, stato validato rispetto ad alcuni risultati sperimentali collezionati da ricercatori, come ad esempio in [4], e amatori.

Interpolazione di CLift e CDrag


0.14 Dati sperimentali: CLift Dati sperimentali: CDrag Interpolazione: CLift Interpolazione: CDrag

Cx() = (A + B ) (1 - e/45)
0.12

0.1

Cx
0.08 0.06 0.04 0.02 250 300 350 400 450 500 550 600 650 700

Figura 2.1.3: Interpolazione dei coecienti CLif t e CDrag , tratto dal lavoro precedente [1]
In questo caso si esprime una ulteriore approssimazione: si considerino i coecienti di spinta e di resistenza come parametri costanti (cosa che sembra essere particolarmente vera per il coeciente di resistenza, a giudicare dalla gura 2.1.3), allora possibile riscrivere le due equazioni precedenti come segue:

FT ( )

1 CLif t (R cavg ) (0.7 R )2 2 = kf 2

(2.3)

MD ( )

1 CDrag (R cavg ) (0.7 R )2 (0.7 R) 2 = km 2

(2.4)

Il quadrottero presenta quattro propulsori, la cui velocit angolare rappresenta anche l'unico elemento di controllo del sistema, che possono essere ricondotti ad una forza e a tre momenti esercitati sul baricentro del corpo. Usando la 2.3 e la 2.4:

F kf kf Mx 0 k f L = kf L M 0 y km k m Mz
con

2 kf kf 1 2 0 k f L 2 2 kf L 0 3 2 km k m 4

u1 u2 = u3 u4

(2.5)

distanza del baricentro dall'asse di rotazione del corpo.

Eetti giroscopici
L'eetto giroscopico nasce quando l'asse attorno al quale il corpo sta ruotando viene sollecitato a spostarsi da una forza che agisce su uno qualsiasi dei piani di che contengono l'asse di rotazione, ed dovuto alla

conservazione del momento angolare.


il proprio asse di rotazione di

legge di

Questo fenomeno molto simile a quello che porta una trottola a inclinare

90

rispetto alla direzione di caduta.

Consideriamo una situazione di volo nel quale il veivolo stia traslando. Nella fase di avvicinamento all'assetto desiderato, sul corpo si genera una coppia:

C = JP
con

JP

momento di inerzia del propulsore e

rotazione di assetto. La coppia giroscopica agisce in un piano

perpendicolare alla rotazione dei propulsori. La controrotazione dei propulsori ci permette di dire che questa

Analisi numerica del telaio di un quadcopter | 9

Matteo Ragni

Progettazione Funzionale

si autobilanci al centro di massa del corpo, a meno di piccole dierenze dovuto alle

dierenti dei singoli

propulsori per eettuare la manovra. Agisce comunque come una forzante al telaio, ma considerando il valore in modulo di tale coppia risulta evidente che il suo eetto sia trascurabile, sia come modulo, sia per la lunghezza del periodo di transitorio in cui si assiste alla variazione dell'angolo di assetto. Non si riscontrano in questa forzante sollecitazioni euritmiche che possano giusticare una eventuali analisi armonica.

Jp

Figura 2.1.4: Eetto giroscopico dovuto alle variazioni di assetto del veivolo
Diverso discorso deve essere fatto per eventuali sbilanciamenti statici e dinamici del propulsore (dovuti ad errori di fabbricazione, rigidezza delle bronzine, etc.). Considerando gli assi principali di inerzia nel piano di rotazione dell'elica, si pu notare la presenza di un momento di sbilanciamento dinamico.

Ms, D2 P
Terna rotante, solidale al propulsore, principale di inerzia per il propulsore

D2 D1

Ms, D1

{m, JP, JD1, JD2}

Figura 2.1.5: Sbilanciamento del propulsore


Semplicando al massimo il problema, rispetto al sistema di riferimento solidale al propulsore, e pensando di poter disaccoppiare l'eetto tra i due assi diametrali, si pu scrivere il momento che lega l'asse polare a quelli

Analisi numerica del telaio di un quadcopter | 10

Matteo Ragni

Progettazione Funzionale

diametrali:

MS, D1 MS, D1
2

= =

(JD1 JP ) 2 (JD2 JP ) 2

Questi due momenti, che giaciono nel piano identicato dai due assi diametrali, considerando un sistema di riferimento solidale al telaio , possono essere scritte come una composizione:

MS = |MS, D1 | ei t + |MS, D2 | ei t

(2.6)

dove si nota l'evidente legame con la velocit angolare. Il valore assoluto di tale forzante molto dicile da valutare (anche a causa del appeggio), e le frequenze a cui opera la rendono irrilevante per una analisi di tipo statico, ma non si pu assolutamente evitare di tenere in considerazione il fattore armonico che tale momento di sbilanciamento introduce. Si ritiene quindi indispensabile una analisi modale e armonica della struttura in seguito alla ottimizzazione, al ne di assicurarsi che le velocit angolari operative del motore non siano anche frequenze naturali del telaio, al ne di evitare fenomeni di risonanza. Un altro fenomeno da citare il

brandeggio,

dovuto alla dierenza di portanza tra lame anteriori rispetto

quelle posteriori (rispetto alla direzione del moto), cosa che aumenta il appaggio della anteriore rispetto alla posteriore; conseguenza diretta di questo fenomeno un avvicinamento del baricentro della lama anteriore al centro rotorico e quindi per eetto centrifugo aumenta la sua velocit. Questo fenomeno si pu ridurre no a rendere il suo eetto trascurabile mantenendo leggermente lasco il serraggio delle lame al mozzo centrale, in modo che le forze centrifughe le possano muovere avanti/indietro. Tale problema arontato e risolto allo stesso modo su elicotteri di grandi dimensioni.

2.1.3

Dinamica e controllo

Le equazioni della dinamica possono essere facilmente ottenute mediante la formulazione di Newton - Eulero:

m r = m g z W + u1 z B u2 u3 J BW = BW J BW + u4
dove

(2.7)

(2.8)

risulta essere la matrice di inerzia del quadcopter rispetto al sistema di riferimento

{x B , y B , z B }.

Alla

luce di questa formulazione, lo stato del sistema pu essere identicato da:

posizione del centro di massa: velocit del centro di massa:

r;

; r
W

matrice di rotazione del corpo: velocit angolare del corpo:

RB ;

BW . = {x, y, z, , , , x, y, z, p, q, r}
T
Ma facendo riferimento a

ovvero il vettore:

ha dimensione

12,

contro la dimensione

del vettore delle variabili di controllo.

[2, 3] si pu dimostrare che il sistema sia dierentially at, il che ci garantisce l'estensione delle propriet di controllabilit di un sistema lineare allo stato del nostro sistema, che non lineare. Questo possibile se si pu dimostrare che:

scelto un subset

di

possibile dimostrare che

y = (\ ) = f ( , .., , u, .., u )

con

indice di

derivazione nito; che

u = g (y, .., y , u, .., u );

quindi non al propulsore propulsore


Analisi numerica del telaio di un quadcopter | 11

Matteo Ragni

Progettazione Funzionale

i componenti di nella forma

y siano indipendenti (y, .., y ) = 0.

dierenzialmente, ovvero non esista alcuna equazione dierenziale

Si scelga ad esempio:

x y = z
risulta immediato che:

= [1..3]
(2.9)

r = [1..3]
sostituire la equazione 2.9 nella equazione di Newton 2.7 ci permette di ricavare

z B :

[1..3] + g z W =

u1 z B m

comparando gli elementi vettoriali e applicando la propriet di normalit del versore si ottiene:

z B =

{x , y , z + g} {x , y , z + g}

T T
(2.10)

Prendendo in considerazione invece la seguente gura:

^W z ^C y ^W x ^ xC ^W y

Figura 2.1.6: Rappresentazione di {x W , y W , z W } e {x C , y C , z W }


diventa facile esprimere la relazione che lega

[4]

x C :
T

x C = {cos , sin , 0}
Analizzando le rotazioni che sussistono in al piano identicato dalla coppia normalizzato:

RB si pu notare che la coppia {x C , z B } identica un piano identico {x B , z B }e quindi si pu esprimere il versore y B come prodotto vettoriale y B = z B x C |z B x C |
(2.11)

sotto l'ipotesi che

|z B x C | = 0.

Il problema di singolarit tipico della formulazione mediante angoli di

rollio-beccheggio-imbardata. Per evitarlo, in [1], si erano utilizzati i quaternioni. Utilizzando la 2.10 e la 2.11 siamo in grado di denire completamente la matrice di rotazione del sistema:

x B = y B z B

(2.12)

Analisi numerica del telaio di un quadcopter | 12

Matteo Ragni

Progettazione Funzionale

e quindi:

RB =

x B

y B

z B
3

(2.13)

A questo punto necessario denire le velovit angolari del frame solidal al corpo come funzione di la 2.7, si denir una proiezione di un vettore, funzione dello strappo :

; derivando

mr

...

d d (m g z W ) + (u1 z B ) = dt dt
=0
(2.14)

= u 1z B + BW u1 z B m r z B
...

(u 1z B + BW u1 z B ) z B =
=1 =0
nella 2.14

= u 1z B z B + BW u1 z B z B B = u 1 sostituire m r z
... ... ...

B m r = (m r z B ) z B + BW u1 z m ... ... h = BW z B = (r (r z B ) z B ) (2.15) u1 m ... r , funzione unicamente di questo che abbiamo appena ricavato rappresenta la proiezione del vettore e di u1 u, sul piano identicato dai versori {x B , y B }, dal quale possiamo denire le componenti di velocit angolare: p q = h y B = h x B
(2.16) (2.17)

Molto pi semplice denire l'ultima componente, come derivata dell'angolo di imbardata proiettata sull'asse verticale del sistema di riferimento solidale al corpo:

r = z W z B
identica a quella appena eseguita si possono identicare le relazioni tra accelerazioni angolari e vettori

(2.18)

La dimostrazione della indipendenza dierenziale richiederebbe un'altra derivazione, e seguendo una procedura

{ , u}.

Non essendo geometricamente evidente si tralascia questa dimostrazione, che riportata solo come allegato: 5.1. In denitiva possiamo identicare in modo univoco lo stato del sistema con le seguenti equazioni dierenziali del primo ordine:

r s s BW

= = = =

[1..3] r m g z W + u1 z B arg [4]


W

RB , {, }
(2.19)

= h y B + h x B + [4] z W z B = BW u2 = J1 BW J BW + u3 u4
T

risolvibili note le condizioni iniziali del sistema:

0 = {x0 , y0 , z0 , 0 , 0 , 0 , x 0, y 0 , z 0 , p 0 , q 0 , r0 }

questo perch la condizione di dierentially atness ci garantisce l'estensione delle sole propriet di controllo dal sistema lineare a non lineare, ma non ci permette assolutamente di rendere univoca la soluzione del problema di Cauchy associato alla 2.19 riducendo la dimensione del vettore di condizioni iniziali.

Per strappo si intende la derivata dell'accelerazione, meglio conosciuto in letterattura come jerk o, per i puristi anglofoni, jolt.
Analisi numerica del telaio di un quadcopter | 13

Matteo Ragni

Progettazione Funzionale

2.1.4

Controllo in traiettoria del sistema


T

Senza entrare eccessivamente nel dettaglio, si mostra la strategia di controllo che si intende implementare per seguire una determinata traiettoria:

T = {rT , T } ep ev

, attualmente in uso per il controllo di quadrotteri per

manovre aggressive [3, 2]. Si deniscono errori di posizione e di velocit:

= r rT r T = r z B :

e si identica il vettore forza che dovr essere applicato al sistema, lungo l'asse

Fdes = Kp ep Kv ev + m g z W + m r
dove

Kp

Kv

rappresentano due matrici di guadagno denite positive. Proiettando la forza si ottiene il primo

ingresso:

u1 = Fdes z B
Per determinare gli altri tre ingressi si deve calcolare l'errore nella rotazione, valutando la matrice di rotazione desiderata rispetto a quella reale:

z B, des =

Fdes |Fdes |

a questo punto si implementa la stessa procedura fatta in precedenza per ricavare la matrice di rotazione:

x C, des = {cos T , sin T , 0} y B, des = z B, des x C, des |z B, des x C, des |

x B, des = y B, des z B, des


W

RB, des =

x B, des

y B, des

z B, des
A questo punto si valuta l'errore

sempre secondo l'ipotesi di non giungere a singolarit sulle rotazioni mediante la vee-map:

(|z B, des x C, des | = 0).

er

1 2

W W RT R B W R T RB, des B, des B 1 a[1,2] 2 1 1 [A] = a[1,3] 2 2 1 a[2,3] 2

Per quanto riguarda l'errore delle velocit angolari, queste risultano essere la dierenza tra la velocit angolare desiderata e la attuale velocit di assetto nel sistema di riferimento del corpo, valutata a partire dalla funzione

(eq.: 2.15):

e = BW BW, des
I restanti tre input sono:

{u2 , u3 , u4 } = Kr er K e
con

Kr

matrici di guadagno diagonali. Si tenga conto che il

La analisi del modello di controllo, in feedback con matrici di guadagno, si ferma qui.

sistema deve essere tarato in funzione delle caratteristiche dinamiche del sistema (denite anche dalla geometria nale del telaio). Nell'allegato 5.3, possibile vedere una implementazione in Simulink del sistema di controllo [8]. Un ulteriore step andrebbe fatto per la modellazione della risposta del motore all'ingresso in corrente che attualmente non stata eettuata.

(i = i (t, I )),

Analisi numerica del telaio di un quadcopter | 14

Matteo Ragni

Progettazione Funzionale

2.2 Scegliere il telaio


Il problema fondamentale a cui vogliamo rispondere : come scegliere il telaio date alcune dimensioni di massima? Partiamo quindi con un problema di ottimizzazione analitica secondo alcune ipotesi preliminari:

peso iniziale approssimato a

2 kg (1 kg

di drone +

1 kg

di carico supplementare); un modulo elastico

telaio in alluminio, quindi si ipotizza una densit carico di snervamento

= 2700 kg/m3 ,

E = 69 GP a

Y = 120 M P a.

Si escluso a priori il frame in acciaio per problemi legati alla

instabilit dell'equilibrio;

congurazione delle componenti come segue:

batteria: 3S1500 20C motore: Turnigy Aerodrive SK3 (diretto) ESC: HobbyWing 10A propulsore: 8 4.5 APC propellers in bra di carbonio (2 CW + 2 CCW )
Da tali parametri si pu fare una stima di massima , mediante software di simulazione specici [7] della velocit che pu raggiungere il drone in funzione della massima corrente assorbibile dal comparto elettronico scelto (

max burst current), sulla base di una equivalenza energetica (il modello quindi non fornisce altre analisi dinamiche:
dalla massima energia si ottiene la massima energia cinetica dato il peso del modello, in funzione del rendimento del blocco batteria - esc - motore - propulsore, misurati sperimentalmente). La stima, nel nostro caso si avvicina ai

57 km/h 15.83 m/s.

Analizziamo una congurazione di volo, per la quale la soluzione delle equazioni del moto risulta essere particolarmente semplice ma anche molto stressante per il telaio: la congurazione di volo verticale vede infatti il gruppo di propulsione esprimere la massima forza verticale e il massimo momento resistente al frame. Dalle equazioni di moto in steady state stazionario il drone:

(d()/dt = 0)

otteniamo la forza necessaria per mantenere in volo

0 u1 FT, i

{,, }0

lim

(m g z W + u1 z B ) = m g z W + u1 z W

= mg 1 = m g = 4.905 N 4

i = [1..4]

Considerando che, secondo la scheda tecnica della batteria, questa pu fornire la massima corrente di burst per un periodo massimo di risalita da

0 m/s

5 s prima di deteriorare 15.83 m/s di terzo ordine:

irreversibilmente le celle, possiamo ipotizzare una traiettoria di

z (t) = a t3 + b t2 + c t + d
risolvendo il sistema:

z (0) = 0 a = 0.253 m/s4 z (0) = 0 b = 1.900 m/s3 z (5) = 15.83 c = 0 m/s2 z (5) = 0 d = 0 m/s

derivando la soluzione rispetto ai parametri si ottiene una funzione di forza:

FT, i

1 (m g + m z (t)) = 4 = 0.38 t2 + 1.90 t + 4.905 N

Valutiamo il valore massimo di forza e il momento in cui si esprime:

dFT, i = 0 {t = 2.5 s, F = 7.28 N } dt

Analisi numerica del telaio di un quadcopter | 15

Matteo Ragni

Progettazione Funzionale

Andiamo a denire adesso quello che il momento massimo del propulsore. Il rapporto tra il coeciente di spinta e il coeciente di resistenza ci permette di ottenere direttamente questo valore, dalla inversione delle equazioni 2.3 e 2.4:

1 2 FT, i MD, i km i = = MD, i = FT, i 2 kf km kf


Sebbene il valore di questo rapporto sia variabile tra valore di massima sollecitazione pari a

1/10

1/3

in funzione del propulsore scelto, ed andrebbe

valutato mediante prove sperimentali, non avendo questa possibilit, per il worst-case-scenario scegliamo il

1/3.
Forza:

Minimo Massimo

FT, i [N ] 4.905 7.280

Coppia:

MD, i [N mm] 1635 2427

Tabella 2.2.1: Sollecitazione dal gruppo di propulsione


Il campo operativo del motore si estende tra i tervallo dai

5000 rpm

ai

12000 rpm,

che implica forzanti armoniche nell'in-

523 Hz

ai

1257 Hz

Si imposta su questa analisi il problema di minimizzazione analitico: sforzo massimo.

minimizzare il peso di un telaio,

modellato come trave incastrata soggetta a essione e carico verticale, secondo il vincolo di spostamento e di Si imposta il problema come minimizzazione vincolata con moltiplicatori KKT. I parametri di minimizzazione sono strettamente correlati al tipo di sezione possibile tra quelle esistenti in commercio. Per:

dj = dj (a1 , ..., an ) Aj = A(a1 , ..., an ) J x, j = Jx, j (a1 , ..., an ) Jy, j = Jy, j (a1 , ..., an )
con

{a1 , ..., an }j

set di parametri che identica la sezione

j,

si esprime il problema di minimizzazione come

segue:

minimizzare
soggetto a

mj = L Aj umax max dj 1 P L3 3 E Jx, j PL Jx, j


2 2

+ +

1 M L2 2 E Jy, j M Jy, j
2

j (a1 , ..., an ) 0
dove

j ()

rappresenta un vettore di vincoli sulla forma della sezione. Inne il risultato nale

sar:

m = min(mj , j = 1, ..., h)
Si denisce la lagrangiana come segue:

L (a1 , ..., an , 1 , ..., m+2 )

L Aj + 1 umax 2 max dj
m

1 PL 3 E Jx, j PL Jx, j
2

1 ML + 2 E Jy, j 2 M + Jy, j

k=3

k j, k2

Analisi numerica del telaio di un quadcopter | 16

Matteo Ragni

Progettazione Funzionale

il cui minimo si ricava dalla soluzione del sistema:

a L =0 2 2 3 2 1 PL 1 ML =0 1 umax + 3 E J 2 E Jy, j x, j 2 2 P L M =0 2 max dj + Jx, j Jy, j k j, k2 = 0 k = [3..m] 2 2 1 M L2 1 P L3 + 0 umax 3 E Jx, j 2 E Jy, j 2 2 PL M d + 0 max j Jx, j Jy, j (a , ..., an ) 0 j 1 k 0 k = [1..m]

A livello computazionale, questo metodo particolarmente pesante, perch richiede la soluzione di sistemi di equazioni anche piuttosto ampi. In questo caso stato testato su due sezioni relativamente semplici, particolarmente sfruttate per la realizzazione di telai per quadrotteri: la sezione circolare cava e la sezione rettangolare. Di seguito i parametri di ottimizzazione e la tabella con la soluzione:

Analisi numerica del telaio di un quadcopter | 17

Matteo Ragni

Progettazione Funzionale

De

s
Di

j a

1 {De , Di }
2 2 De Di 4 4 4 De Di 64 4 4 Di De 64

2 {b, h, s} per h = b

b h (b s) (h s) b h3 (b s) (h s)3 12 12 b3 h (b s)3 (h s) 12 12 1 2 h + b2 2 b h s 0 b 2s h 2s

Jx

Jy d

De /2

De Di 0 De Di

Tabella 2.2.2: Sezioni


Di seguito i risultati:

Sezione circolare

Sezione rettangolare

Risultato parametro Funzione obbiettivo

De = 8.45 mm Di = 0 mm m = 45.42 g

b = 8.79 mm h=b s = 0.67 mm m = 25.23 g

Tabella 2.2.3: Risultati


Dal risultato della ottimizzazione , si scelto di utilizzare il Wartox Frame, come elemento di studio, le cui caratteristiche gemometriche sono in appendice. maggiore. Il lato della barra ha una altezza minore, ma uno spessore

4 Si ammette che il risultato della sezione circolare ha lasciato perplesso chi scrive, ma risulta essere anche l'unica soluzione che rispetta i vincoli imposti dai moltiplicatori 0

Analisi numerica del telaio di un quadcopter | 18

Matteo Ragni

Progettazione Funzionale

2.3 Le analisi da svolgere


Sulla base di quanto abbiamo appena detto, ecco le analisi che verranno approfondite:

Analisi del modello non ottimizzato.

Si esegue una analisi statica di una parte del modello, considerando sia la simmetria che il contatto tra il braccio e la piastra centrale, mediante diverse formulazioni. La analisi del contatto verr utilizzata per approndire la condizione di vincolamento, al ne di valutare se possibile sostituire al contatto una approssimazione che ci consenta di avere sfruttare per le simulazioni successive un modello lineare. La valutazione del modello viene fatta a partire di altri modelli semplicati di tipo beam. Inne si mostra un modello di trave solida, lineare.

A seguire della analisi statica, si aettua una analisi modale, al ne di avere una indicazione delle frequenze naturali del modello da confrontare con la versione ottimizzata. La analisi armonica nel campo operativo delle frequenze del gruppo propulsore ci permetter di capire la risposta del sistema rispetto alla eccitazione del motore. eettuata una analisi di Inertial Relief. Si tratta di una analisi statica, eettuata a diversi timestep, dove le forze applicate al telaio sono controbilanciate con l'eetto inerziale ai vincoli, al ne di simulare una sorta di risposta dinamica che discende dal principio di d'Alambert (F

m a = 0).

Analisi del modello ottimizzato



Si esegue una analisi statica, mediante un modello importato da modellatore solido, al ne di vericare che lo spostamento della versione ottimizzata non sia eccessivo. Alla analisi statica segue una analisi modale. I modi di vibrari estratti dal modello a minor massa sono messi a confronto con il modello non ottimizzato. Si esegue una analisi armonica nel campo di frequenze operative del motore, per vericare la risposta del modello ad eventuali forzanti date dallo sbilanciamento dei propulsori.

Analisi numerica del telaio di un quadcopter | 19

Matteo Ragni

Progettazione Funzionale

Analisi numerica del telaio di un quadcopter | 20

Capitolo 3

Analisi FEM del telaio


3.1 Analisi del modello non ottimizzato
3.1.1 Analisi preliminare -

BEAM188

Analisi statica
Ci concentriamo su un primo modello a travi, molto semplice. travi Tutta la struttura espressa sotto forma di

BEAM188,

e il vincolamento stato eettuato per mezzo di elementi

MPC184,

ch simulano la rigidezza

molto pi elevata dell'acciaio delle viti di collegamento. Ne valutiamo lo spostamento massimo, e cerchiamo la convergenza. L'elemento

BEAM188

ci permette di denire delle sezioni preintegrate, che garantiscono una certa

corrispondenza tra il modello e l'oggetto reale, sgravendo notevolmente il carico computazionale. Il modello quello presentato nella immagine sottostante:

Y Z X

Y Z X

Figura 3.1.1: Modello BEAM188

visualizzando anche le sezioni preintegrate:

21

Matteo Ragni

Progettazione Funzionale

M0

Y Z X Z

Y X

Figura 3.1.2: Visualizzazione delle sezioni pre-integrate


La prima analisi che viene eettuata su questo modello una analisi statica, nella quale si fa uso della simmetria della struttura per abbassare l'onere di calcolo. La simmetria viene mantenuta garantendo la traslazione lungo la normale alle ali della piastra centrale. Al ne di ottenere una matrice delle rigidezze non singolare, viene vincolato il punto interno del cerchio centrale rispetto all'asse libero. Sebbene un modello denito con queste condizioni al contorno non rispecchi quelle di un corpo libero, questa situazione molto simile a quello che si viene a vericare nel telaio entro l'intervallo di tempo necessario alle tensioni per giungere dai punti di applicazione della forza alla zona vincolata. Sebbene questa condizione di carico non si verichi mai, perch le onde di tensione viaggiano alla velocit di propagazione del suono nell'alluminio, raggiungendo il centro ben prima che la dinamica del blocco propulsivo ci permetta di raggiungere la massima spinta, la simulazione presenta comunque un worst-case scenario. Inne, la simulazione potrebbe essere paragonata al tentativo di sollevamento del drone nel caso di un carico centrale troppo elevato. Queste considerazioni valgono sia per il modello appena presentato che per i prossimi.

Y X

Figura 3.1.3: Vincolamento del modello


Andiamo ora ad eseguire lo script 5.4, nel quale sono state abilitate le seguenti ags per la analisi statica:

! >>>> FLAGS <<<<

Analisi numerica del telaio di un quadcopter | 22

Matteo Ragni

Progettazione Funzionale

VINCOLI VINCOLI2 FORZA TorqueARM FORZAIn INERZIA_MOTORE STATICO INERTIALREL MODALE ARMONICA INREL_FORCE ! >>>> FLAGS <<<<

= = = = = = = = = = =

1 1 1 0 0 1 1 0 0 0 0

umax umotore

z y x

Rotmotore
Piano di proiezione rotazione

Figura 3.1.4: Riferimenti utilizzati nel report per alcuni punti di interesse particolare

Il parametro che permette di denire la dimensione del reticolo di elementi la variabile la dimensione media dell'elemento in

mesh,

che rappresenta

mm.

Il risultato di spostamento che si ottiene:

mesh [mm] 2.00 1.50 1.00 0.50 0.25

utot, max [mm] 5.00391 5.00386 5.00383 5.00380 5.00379

Tabella 3.1.1: Convergenza dello spostamento

Analisi numerica del telaio di un quadcopter | 23

Matteo Ragni

Progettazione Funzionale

Convergenza umax
5.00392

5.0039

5.00388

umax [mm]

5.00386

5.00384

5.00382

5.0038

5.00378 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

delemento [mm]

Figura 3.1.5: Convergenza del risultato di spostamento. Notare la diminuzione della pendenza della retta da destra verso sinistra.
che risulta essere in linea con quanto abbiamo calcolato analiticamente. Lo spostamento risulta essere il principale vincolo di ottimizzazione che dovremo tenere in considerazione anche sul modello modicato.

PLOT NO. 1 NODAL SOLUTION STEP=1 SUB =1 TIME=1 USUM (AVG) RSYS=0 PowerGraphics EFACET=1 AVRES=Mat DMX =5.00379 SMN =.003328 SMX =5.00379

13

Y Z Modello BEAM188 - Mesh = 0.25 [mm]


11

12

Figura 3.1.6: Struttura deformata

Analisi modale e analisi armonica


Per la analisi modale non importante impostare i carichi, ma importante impostare le condizioni al contorno e le eventuali masse. Nel nostro caso si impone la presenza di una massa iniziale data dal motore in punta alla

Analisi numerica del telaio di un quadcopter | 24

Matteo Ragni

Progettazione Funzionale

trave, con le seguenti caratteristiche:

Baricentro

m = 34 g

0 0 mm 11 1 0 0 0 1 0 0 0 1

Momenti di inerzia

2663 2663 P = g mm2 2948

Tabella 3.1.2: Caratteristiche inerziali del motore, ripetto al piano di appoggio sulla trave

3 {mM, PMx, PMy, PMz}

34

z y x 28

Figura 3.1.7: Propriet inerziali del motore


La analisi modale estrae una serie di modi di vibrare in funzione delle condizioni al contorno.

modellato senza smorzamento, anche se il contatto tra i plates e il braccio sicuramente una fonte di attenuanecessario impostare le seguenti ag all'interno dello script:

zione, ma non si hanno sucienti dati sperimentali per poterlo stimare. Per ottenere una soluzione modale

11

Il sistema

! >>>> FLAGS <<<< VINCOLI VINCOLI2 FORZA TorqueARM FORZAIn INERZIA_MOTORE STATICO INERTIALREL MODALE ARMONICA INREL_FORCE ! >>>> FLAGS <<<<

= = = = = = = = = = =

1 1 0 0 0 1 0 0 1 0 0 100 modi di vibrare1 .


Una delle analisi pi signica-

Con il codice, e data la semplicit del modello, sono estratti opera nel campo delle frequenze tra i

tive il comportamento del sistema in funzione di diverse frequenze forzanti, considerando il fatto che il motore

500 Hz

e i

1300 Hz .

Vediamo dai graci la presenza di una condizione

vibrazionale di forte impatto per lo spostamento del baricentro del motore, attorno al valore di circa

54.05 Hz ,

particolarmente elevata a causa della mancanza di smorzamento. Prendiamo come riferimento lo spostamento

Soluzioni modali che possono essere considerate relativemente adabili devono seguire il principio: n < 2 gdl
Analisi numerica del telaio di un quadcopter | 25

Matteo Ragni

Progettazione Funzionale

2 2 u2 x, mot + uy, mot + uz, mot

0.5

e la rotazione massima della normale di propulsione

2 2 Rx, mot + Ry, mot

0.5

im-

pressi dai modi di vibrare sul baricentro del motore. Questo ci fornisce una idea della condizione nale in cui si verr a trovare il vettore di spinta.

Analisi modale umotore


100 mesh = 2 mesh = 1.5 mesh = 1 mesh = 0.5 mesh = 0.25 80

60

umotore [mm]
40 20 0 0 10000 20000 30000 40000 50000 60000 70000 80000 90000 100000 110000 120000 130000 140000 150000

[Hz]

Figura 3.1.8: Modi di vibrare, spostamento del nodo rappresentativo del motore, per diversi valori della variabile mesh

Analisi Modale Rotmotore


16 15 14 13 12 11 10 mesh = 2 mesh = 1.5 mesh = 1 mesh = 0.5 mesh = 0.25

Rotmotore []

9 8 7 6 5 4 3 2 1 0 0 10000 20000 30000 40000 50000 60000 70000 80000 90000 100000 110000 120000 130000 140000 150000

[Hz]

Figura 3.1.9: Modi di vibrare, rotazione del nodo rappresentativo del motore, per diversi valori della variabile mesh

Analisi numerica del telaio di un quadcopter | 26

Matteo Ragni

Progettazione Funzionale

Possiamo eseguire la analisi sia con matrice lumped che con matrice consistent. Le due formulazioni presentano un errore che tende a divergere all'aumentare del numero di frequenze naturali ricercate.

Comparazione tra formulazione Lumped e Consistent


50000 media consistent lumped 45000

40000

35000

30000

[Hz]

25000

20000

15000

10000

5000

0 0 20 40 60 80 100

Substep

Figura 3.1.10: Dierenza dei modi estratti tra la formulazione lumped e la formulazione consistent

Ultimo passo una analisi armonica, all'interno delle frequenze operative del motore, applicando delle forzanti armoniche simili a quelle che verrebbero generate dallo sbilanciamento del propulsore. Notiamo la presenza di alcuni picchi di risonanza, che a causa della mancanza di smorzamento risultano essere molto elevati. Per fare la analisi armonica le ag dello script devono essere aggiustate come segue:

! >>>> FLAGS <<<< VINCOLI VINCOLI2 FORZA TorqueARM FORZAIn INERZIA_MOTORE STATICO INERTIALREL MODALE ARMONICA INREL_FORCE ! >>>> FLAGS <<<<

= = = = = = = = = = =

1 1 0 1 0 1 0 0 0 1 0

Dal quale ricaviamo i seguenti risultati:

Analisi numerica del telaio di un quadcopter | 27

Matteo Ragni

Progettazione Funzionale

Analisi Armonica umax


100 mesh = 2 mesh = 1.5 mesh = 1 mesh = 0.5 mesh = 0.25 80

60

umax [mm]
40 20 0 500 550 600 650 700 750 800 850 900 950 1000 1050 1100 1150 1200 1250 1300

t [s]

Figura 3.1.11: Risposta armonica nel punto di massima essione

Analisi Armonica umotore


100 mesh = 2 mesh = 1.5 mesh = 1 mesh = 0.5 mesh = 0.25 80

60

umotore [mm]
40 20 0 500 550 600 650 700 750 800 850 900 950 1000 1050 1100 1150 1200 1250 1300

t [s]

Figura 3.1.12: Risposta armonica nel centro di massa del motore: spostamento

Analisi numerica del telaio di un quadcopter | 28

Matteo Ragni

Progettazione Funzionale

Analisi Armonica Rotmotore


5 mesh = 2 mesh = 1.5 mesh = 1 mesh = 0.5 mesh = 0.25 4.5

3.5

Rotmotore [ ]

2.5

1.5

0.5

0 500 550 600 650 700 750 800 850 900 950 1000 1050 1100 1150 1200 1250 1300

t [s]

Figura 3.1.13: Risposta armonica nel centro di massa del motore: rotazione

Il motivo per cui non si stressa tanto la quanticazione del valore di smorzamento semplice: potendo approssimare concettualmente la dinamica strutturale ad una qualche forma di modello a poli complessi coniugati, lo smorzamento non cambia la frequenza a cui si assiste al fenomeno di risonanza della struttura, ma solamente la forma e la magnitudine di tale picco.

Inertial relief del modello

Quella che viene presentata qui una tecnica particolare per applicare il principio di d'Alambert alla struttura, facendo uso di una analisi statica e del comando di un vero e proprio risolutore dinamico.

IRLF,

mediante il quale siamo in grado di determinare la

accelerazione nel centro di massa del corpo, al ne di ottenere una sorta di simulazione dinamica, senza fare uso

Analisi numerica del telaio di un quadcopter | 29

Matteo Ragni

Progettazione Funzionale

F M

F M

PLOT NO.

Y Z X

Y Z X

Modello BEAM188 - IRLF

Figura 3.1.14: Modello completo. In alto a sinistra il particolare di vincolamento


Il nostro modello manca delle caratteristiche inerziali degli elementi al corpo centrale, quali la batteria e la elettronica di controllo, quindi i fattori di accelerazione devono essere scalati rispetto al peso teorico del modello, che abbiamo supposto attorno i

2 kg : = = 0 F mtel (atel + g ) = 0 F mqdc (aqdc + g ) = 0

F m (a + g ) aqdc

mtel (atel + g ) g mqdc

Inoltre usiamo le equazioni ricavate nella sezione 2.2, per valutare i risultati di questo tipo di simulazione. La simulazione con inertial relief si ottiene applicando le seguenti ags allo script:

! >>>> FLAGS <<<< VINCOLI VINCOLI2 FORZA TorqueARM FORZAIn INERZIA_MOTORE STATICO INERTIALREL MODALE ARMONICA INREL_FORCE ! >>>> FLAGS <<<<

= = = = = = = = = = =

1 0 0 0 1 1 0 1 0 0 0

Inertial Relief non supporta le simmetrie del modello, per questo motivo lo script ne genera uno nuovo, completo, vincolato al centro, a cui sono applicati unicamenti 6 gradi di vincolo (al centro). Il programma in questo modo in grado di valutare ecacemente sia la massa che i momenti di inerzia principali. Il modello eettua 20 analisi statiche e produce 20 output di inertial relief contenenti le accelerazioni rispetto i 6 assi di riferimento del workspace. I risultati estrapolati dalla simulazione numerica sono riportati tabulati in sezione 5.4.4. Qui

Analisi numerica del telaio di un quadcopter | 30

Matteo Ragni

Progettazione Funzionale

presentiamo un po' di elaborazione dei dati, solamente lungo l'asse mediante metodo dei trapezi.

z.

L'integrazione numerica eettuata

t
0.25 0.50 0.75 1.00 1.25 1.50 1.75 2.00 2.25 2.50 2.75 3.00 3.25 3.50 3.75 4.00 4.25 4.50 4.75

z tel
85.671 92.129 97.827 102.77 106.94 110.36 113.02 114.92 116.06 116.44 116.06 114.92 113.02 110.36 106.94 102.77 97.827 92.129 85.671

z qdc
0.899 1.706 2.418 3.036 3.558 3.985 4.318 4.555 4.698 4.745 4.698 4.555 4.318 3.985 3.558 3.036 2.418 1.706 0.899

z qdc
0.112 0.438 0.954 1.635 2.460 3.402 4.440 5.549 6.706 7.886 9.066 10.223 11.332 12.370 13.313 14.137 14.819 15.334 15.660

zqdc
0.014 0.083 0.257 0.580 1.092 1.825 2.805 4.054 5.586 7.410 9.529 11.940 14.635 17.597 20.808 24.239 27.858 31.627 35.502

T EOR z qdc
0.90 1.71 2.42 3.04 3.56 3.99 4.33 4.56 4.71 4.76 4.71 4.57 4.33 4.00 3.58 3.06 2.44 1.73 0.93 0.5198%

T EOR z qdc
0.11 0.44 0.96 1.65 2.47 3.42 4.46 5.58 6.74 7.92 9.11 10.27 11.38 12.43 13.38 14.21 14.90 15.42 15.75 0.6554%

Errore medio %

Tabella 3.1.3: Elaborazione risultati dell'inertial relief, lungo l'asse di accelerazione

Accelerazione del telaio


6 ANSYS solver Teorico Errore 0.1 0.09 0.08 0.07 0.06 4.5 0.05 4 0.04 0.03 5.5

az [m/s2]

0.02 3 0.01 0 2.5 -0.01 2 -0.02 -0.03 1.5 -0.04 1 -0.05 -0.06 0.5 -0.07 0 0.25 -0.08 4.25

0.5

0.75

1.25

1.5

1.75

2.25

2.5

2.75

3.25

3.5

3.75

t [s]

Figura 3.1.15: Accelerazione

Analisi numerica del telaio di un quadcopter | 31

Errore [m/s]

3.5

Matteo Ragni

Progettazione Funzionale

Velocita del telaio


18 17 16 15 14 13 12 11 ANSYS solver Teorico Errore 0.1 0.09 0.08 0.07 0.06 0.05 0.04 0.03 0.02 0.01 0 -0.01 -0.02 -0.03 -0.04 -0.05 -0.06 -0.07 -0.08 4.25

vz [m/s]

10 9 8 7 6 5 4 3 2 1 0 0.25

0.5

0.75

1.25

1.5

1.75

2.25

2.5

2.75

3.25

3.5

3.75

t [s]

Figura 3.1.16: Velocit

Posizione del telaio


30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0.25 1 ANSYS solver Teorico Errore 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 -0.1 -0.2 -0.3 -0.4 -0.5 -0.6 -0.7 -0.8 -0.9 -1 4.25

0.5

0.75

1.25

1.5

1.75

2.25

2.5

2.75

3.25

3.5

3.75

t [s]

Figura 3.1.17: Spostamento


L'idea di questo metodo quella di riutilizzare la accelerazione ottenuta al baricentro e riapplicarla agli elementi per capire lo stato tensionale del corpo in funzione delle forze esterne e delle forze inerziali, facendo agire il sistema come un corpo libero. Pu essere comodo valutare questa situazione per

t = 2.50 s,

Errore [m]
quando forza

applicata e accelerazioni sono massime. Impostiamo le ag dello script come segue:

sz [m]

Analisi numerica del telaio di un quadcopter | 32

Errore [m/s]

Matteo Ragni

Progettazione Funzionale

! >>>> FLAGS <<<< VINCOLI VINCOLI2 FORZA TorqueARM FORZAIn INERZIA_MOTORE STATICO INERTIALREL MODALE ARMONICA INREL_FORCE ! >>>> FLAGS <<<<

= = = = = = = = = = =

1 1 1 0 0 1 1 0 0 0 1

In questo modo eseguita una analisi statica nella quale su tutti i nodi applicato un elemento del carico inerziale. moto. Questa analisi ovviamente semplica molti eetti dinamici e molti eetti dovuti al transitorio del Consci di ci, valutando i risultati di questa analisi per valori

mesh = 0.25,

si pu notare come lo

spostamento del corpo libero sia eettivamente minore dello stesso modello vincolato, come potevamo aspettarci. Ma poich il valore di spostamento ottenuto non molto inferiore rispetto a quello del telaio vincolato, con buona approssimazione per le prossime simulazioni possiamo mantenere lo schema di vincolamento verticale senza scostarci troppo dalle condizioni di corpo libero.

umax, vincolato 5.00379

umax, libero 4.80352

u % 4.00 %

Tabella 3.1.4: Spostamento del frame vincolato e di quello libero

Consideriamo questa dierenza percentuale come un ulteriore errore da sommare all'errore numerico della soluzione, sapendo che cautelativo e quindi accettabile.

3.1.2

Analisi del modello di contatto -

SHELL181:CONTA174:TARGE170
A causa della

Questo modello stato denito per capire il comportamento del contatto tra piastre e trave. analisi modale e armonica (sebbene con l'ultima release

presenza di elementi di contatto, e quindi della non linearit del problema, non sono state implementate le

AN SY S 13.0

sia possibile eettuarle nonostante la non

linearit). Il modello in questo caso fatto da elementi SHELL, dei quali denita la propriet di spessore. La geometria delle piastre leggermente semplicata e contiene dei punti che possono portare a singolarit, analizzabili mediante un inttimento localizzato delle mesh, implementati variando alcune delle impostazioni nella parte dedicate alle ag. Il modello, rappresentato di seguito, fa uso delle stesse condizioni di vincolamento e delle stesse condizioni di carico usate per il modello precedente. Lo script completo presentato in sezione 5.5.1: per questo modello bisogna fare particolarmente attenzione alle (CONTA174 e

keyoptions

degli elementi di contatto

TARGE170)

Analisi numerica del telaio di un quadcopter | 33

Matteo Ragni

Progettazione Funzionale

PLOT NO.

Y Z

Figura 3.1.18: Modello SHELL181:CONTA174:TARGE170

Analisi numerica del telaio di un quadcopter | 34

Modello SHELL281:CONTA174:TARGE170

ELEMENTS U F M CP

Matteo Ragni

Progettazione Funzionale

Ref_B Ref_E Ref_D Ref_A Ref_C

Ref_H

Ref_G

Ref_F

U F M CP

PLOT NO.

U F M CP

PLOT NO.

Y Z X Z

Y X

Figura 3.1.19: Inttimento del reticolo di elementi

Andando a compiere la soluzione, troviamo l'andamento di convergenza della soluzione in funzione del parametro di dimensioni elemento

mesh.

mesh [mm] 2.5 3.75 7.5

utot, max [mm] 5.50228 5.50741 5.50495

Tabella 3.1.5: Valori di convergenza sullo spostamento

Analisi numerica del telaio di un quadcopter | 35

Matteo Ragni

Progettazione Funzionale

Convergenza umax
5.6 5.58

5.56

5.54

5.52

umax [mm]

5.5

5.48

5.46

5.44

5.42

5.4 2 3 4 5 6 7 8

delemento [mm]

Figura 3.1.20: Convergenza dello spostamento


Le posizioni in cui si chiude il contatto possono essere visualizzate in gura 3.1.21:

NODAL SOLUTION STEP=1 SUB =3 TIME=1 CONTSTAT (AVG) RSYS=0 DMX =.142382 SMN =1 SMX =2.5 CP

PLOT NO. Y Z X

NODAL SOLUTION STEP=1 SUB =3 TIME=1 CONTSTAT (AVG) RSYS=0 DMX =.142382 SMN =1 SMX =2.5 CP

PLOT NO.

Z Y X

Modello SHELL281:CONTA174:TARGE170

Figura 3.1.21: Visualizzazione della chiusura di contatto, a sinistra il contatto superiore e a destra il contatto inferiore. Attenzione alla direzione del riferimento.
Lo spostamento ottenuto maggiore rispetto a quello delle simulazioni precedenti, di circa

10%, decisamente un

valore non trascurabile. Chi scrive pensa che questo possa essere dovuto allo scorrimento relativo tra piastre e

Analisi numerica del telaio di un quadcopter | 36

Matteo Ragni

Progettazione Funzionale

corpo centrale e della deformazione della piastra. Qui necessario fare una ulteriore ipotesi: al nostro risultato di spostamento verr aggiunto uno spostamento di circa

0.5 mm,

derivato dallo scorrimento relativo eviden-

ziato da questa analisi. I prossimi modelli tridimensionali che verranno presentati non potrebbero raggiungere convergenza in tempi accettabili senza questa ipotesi, ed imposibile analizzare il modello ottimizzato senza passare ad una formulazione tridimensionale, a causa della sua particolare geometria. Lo studio di convergenza di questo modello potrebbe essere eettuato mediante l'utilizzo delle ag di inttimento. Sono state aggiunte procedure di inttimento della mesh per tutti quei punti in cui si presentavano tensioni particolarmente localizzate, come i punti di vincolamento tra piastra e trave, i raggi di raccordo e la linea di ne contatto. Applicando queste ag, il tempo computazionale aumenta considerevolmente.

umax, BEAM 5.00379

umax, contatto 5.50228

u% 9.28 %

Tabella 3.1.6: Spostamento del modello BEAM188 e del modello di contatto

3.1.3

Analisi di un modello tridimensionale -

SOLID186
I

Andiamo a validare i risultati ottenuti nora con un modello leggermente pi complicato, che usi elementi 3D e una mesh strutturata. Il modello caratterizzato dala sola trave centrale, vincolata tra le due piastre. carichi sono applicati come gi spiegato in precedenza. Anche di questo modello si eettua lo studio statico, modale e armonico. Il modello ha un alto numero di nodi, ed esige un carico computazionale piuttosto elevato, presenta inoltre il problema della singolarit nella zona di applicazione del carico. Si nota infatti che nei punti in cui il modello si collega con gli elementi

MPC184,

questi portino ad una eccessiva deformazione gli elementi

SOLID186.

Chi scrive si aspettava questa situazione e pensa che la presenza di singolarit potrebbe essere

evitata andando a riformulare il collegamento, ma anche che l'errore numerico si disperda molto rapidamente nell'intorno del punto di collegamento, e che quindi la soluzione generale non sia eccessivamente modicata da questa singolarit. Rimane ovvio che le soluzioni di tensione in quell'intorno siano da considerare inutilizzabili. Se si prende come riferimento il punto di vincolamento della piastra, l'errore numerico stato risolto utilizzando i nodi che facevano parte delle aree del foro. era possibile, in quanto il ponte di elementi dell'elemento di massa Per il punto di applicazione della immagine 3.1.24 ci non stato usato anche per trasmettere il carico inerziale

MPC184

MASS21

che rappresenta il motore.

F M

PLOT NO.

Modello BEAM186 - Particolare MESH

Figura 3.1.23: Particolare della mesh

Analisi numerica del telaio di un quadcopter | 37

Matteo Ragni

Progettazione Funzionale

PLOT NO.

Y Z

Figura 3.1.22: Modello SOLID186 con mesh strutturata

Analisi numerica del telaio di un quadcopter | 38

Modello BEAM186

F M

Matteo Ragni

Progettazione Funzionale

F M

PLOT NO.

Modello BEAM186 - Particolare MESH

Figura 3.1.24: Singolarit in soluzione sul collegamento elementi SOLID186 - MPC184. Questo comportamento molto pi evidente nella analisi modale che nella analisi statica, nella quale non visibile una deformazione come quella della immagine.

Analisi statica
Per ottenere la analisi statica necessario impostare le ags dello script come segue:

! >>>> FLAGS <<<< MODELLO = 1 GENERA_MESH = 1 MESH_COMPLETE = 1 VINC_CONTATTO = 1 VINC_PIASTRE = 1 MOTORE = 1 INERZIA_MOTORE = 1 FORZE = 1 STATICA = 1 MODALE = 0 ARMONICA = 0 ! >>>> FLAGS <<<<
Il risultato di spostamento che si ottiene leggermente maggiore rispetto a quello ottenuto per mezzo del modello

BEAM188,

inferiore rispetto a quello ottenuto dal modello di contatto.

umax, BEAM 5.00379

umax, SOLID 5.39474

u% 7.81 %

Tabella 3.1.7: Spostamento del modello BEAM188 e del modello SOLID186

umax, SHELL 5.50228

umax, SOLID 5.39474 + 0.50

u% 7.13 %

Tabella 3.1.8: Spostamento del modello SHELL281:CONTA174:TARGE170 e del modello (corretto) SOLID186

Analisi numerica del telaio di un quadcopter | 39

Matteo Ragni

Progettazione Funzionale

DISPLACEMENT STEP=1 SUB =1 TIME=1 DMX =5.39474

PLOT NO. Y Z

Modello SOLID186

Figura 3.1.25: Rappresentazione dello spostamento al carico statico

Analisi modale
La analisi modale si ottiene impostando nella script la ag

STATICA = 0 FORZE = 0 e la ag MODALE = 1.

Analisi modale
180 umotore 160

140

120

umotore [mm]

100

80

60

40

20

0 0 5000 10000 15000 20000 25000 30000 35000 40000 45000

[Hz]

Figura 3.1.26: Rappresentazione dello spostamento in funzione del modo di vibrare


Di seguito la diferenza tra i modi di vibrare del modello

BEAM188

e il modello

SOLID186.

Ovviamente, causa

la complessit del modello sono stati estratti un numero sensibilmente inferiore di modi di vibrare. Notare che il confronto regge considerando che il modello a travi contiene una rappresentazione della struttura centrale, che nel modello tridimensionale non presente. In rigore di questo, e con il fatto che la parte centrale sia multisimmetrica, possiamo considerare il fatto che alcuni modi di vibrare a stesso valore di frequenza siano presenti pi volte (4 o pi) nella analisi del modello a travi, e rappresentano punti di simmetria posti in

Analisi numerica del telaio di un quadcopter | 40

Matteo Ragni

Progettazione Funzionale

vibrazione dalla stessa frequenza. La cosa testimoniata anche dall'evidente andamento a gradini della curva

BEAM188

nella immagine 3.1.27.

Confronto frequenze
N modo di vibrare BEAM188
0 100000 SOLID186 BEAM188 20 40 60 80 100

10000

Log10() [Hz]

1000

100

10 0 10 20 30 40 50

N modo di vibrare SOLID186

Figura 3.1.27: Distribuzione dei modi di vibrare estratti con il modello BEAM188 e con il modello SOLID186

Analisi modale - confronto


180 umotore SOLID186 umotore BEAM188 160

140

120

umotore [mm]

100

80

60

40

20

0 0 20000 40000 60000 80000 100000 120000 140000

[Hz]

Figura 3.1.28: Rappresentazione della risposta allo spostamento del modello BEAM188 e del modello SOLID186, per lo stesso intervallo di frequenze

Analisi numerica del telaio di un quadcopter | 41

Matteo Ragni

Progettazione Funzionale

Analisi modale - confronto


180 umotore SOLID186 umotore BEAM188 160

140

120

umotore [mm]

100

80

60

40

20

0 0 500 1000 1500 2000 2500 3000

[Hz]

Figura 3.1.29: Zoom del confronto per il primo intervallo di frequenze. Si nota una certa sovrapposizione della risposta

Analisi armonica

La analisi armonica si ottiene impostando la ag

MODALE = 0

e la ag

ARMONICA = 1.

La analisi armonica ci d un punto critico operativo, la frequenza di una delle deformate di risonanza.

580 Hz , che risulta essere di forte risonanza

per il nostro modello, nel punto di applicazione della spinta. In gura 3.1.33 si rappresenta anche la forma di

Analisi numerica del telaio di un quadcopter | 42

Matteo Ragni

Progettazione Funzionale

Analisi armonica - umax


6 Modello SOLID186

umax [mm]

0 500 600 700 800 900 1000 1100 1200 1300

[Hz]

Figura 3.1.30: Analisi armonica: risposta forzante dell'apice

Analisi armonica - uMotore


6 Modello SOLID186 Modello BEAM188 60 5 70

50 4

uMotore [mm]

40 3 30

2 20

1 10

0 500 600 700 800 900 1000 1100 1200

0 1300

[Hz]

Figura 3.1.31: Analisi armonica: risposta forzante spostamento del motore. Confronto tra modello SOLID186 e BEAM188

Analisi numerica del telaio di un quadcopter | 43

Matteo Ragni

Progettazione Funzionale

Analisi armonica - RotMotore


0.4 Modello SOLID186 Modello BEAM188 4.5 0.35 4 0.3 3.5 0.25 5

RotMotore [mm]

0.2

2.5

2 0.15 1.5 0.1 1 0.05 0.5

0 500 600 700 800 900 1000 1100 1200

0 1300

[Hz]

Figura 3.1.32: Analisi armonica: risposta forzante rotazione del motore.Confronto tra modello SOLID186 e BEAM188

PLOT NO. Y Z

Modello SOLID186 - Spostamento in risonanza

Figura 3.1.33: Analisi armonica: forma della deformata in risonanza


Risulta essere abbastanza evidente uno spostamento verso le basse frequenze dei picchi di risonanza. Questo probabilemente causato dalla riduzione di rigidezza della sezione., che nel modello tridimensionale si comporta in maniera elastica, mentre nel modello a travi preintegrata in forma rigida. Considerando a livello concettuale

poich in questo modello assistiamo ad una riduzione della

k m k , quando la m resta pressocch invariata, ci saremmo

dovuti aspettare uno spostamento verso le basse frequenze degli autovalori della struttura.

Analisi numerica del telaio di un quadcopter | 44

Matteo Ragni

Progettazione Funzionale

3.2 Modello ottimizzato - SOLID187


Passiamo nalmente alla analisi del modello ottimizzato. Abbiamo visto che lo spostamento risultato nora inferiore al limite dell'5 % (al di sopra del quale la ipotesi di linearit non pu essere pi considerata valida), possiamo permetterci di diminuire la massa del modello operando sulla sua geometria. Senza reinventare la ruota, i sistemi di sollevamento sono un ottimo spunto per la soluzione di questo problema. Prendendo l'esempio della gru a traliccio, che lavora a essione come il nostro braccio, possiamo pensare che l'introduzione di una sorta di struttura reticolare, fresando le facce laterali della barra, possa essere una strategia vincente. Le facce superiori e inferiori, che supportano il carico del forte momento ettente introdotto dal gruppo di propulsione, sono mantenute intatte. Confrontando le masse del modello:

mN ormale [g ] 17.38

mOttimizzato [g ] 14.93

m% 14.1 %

Tabella 3.2.1: Confronto tra massa prima e dopo la ottimizzazzione

Lo script completo presentato in sezione 5.7.2. Il disegno tecnico quotato esposto come allegato in gura 5.7.1. In questo caso, a dierenza delle analisi precedenti, deniamo direttamente il modello sotto forma di Parasolid geometrical modeling kernel mediante un modellatore solido (SolidW orks di importarla direttamente nella fase di preprocessing del problema. possa generare la free mesh del modello.

2013

), che ci permette

Il kernel generato presenta dei piccoli

problemi nei semicerchi, che devono essere spezzati in due linee, anch il mesher automatico di

AN SY S 13.0 L'utilizzo di una free mesh spiega l'utilizzo degli elementi SOLID187, di mesh.
Sono state implementate alcune procedure di renement nei

natura tetraedrica ed adatti a questa particolare procedura. Nello script si pu modicare la dimensione media dell'elemento attraverso la solita variabile punti critici della struttura.

U F M

PLOT NO.

PLOT NO.

Modello SOLID187 - Particolare della mesh - mesh = 1.00

Modello SOLID187 - Particolare della mesh - mesh = 0.25

Figura 3.2.2: Particolare della mesh del modello SOLID187. Dierenze tra la mesh con parametro mesh = 1.00 (a sinistra) e mesh = 0.25 (a destra)

Analisi numerica del telaio di un quadcopter | 45

Matteo Ragni

Progettazione Funzionale

Y Z

PLOT NO.

Figura 3.2.1: Mesh

Analisi numerica del telaio di un quadcopter | 46

Matteo Ragni

Progettazione Funzionale

Analisi statica
Convergenza statica
7.37

7.36

7.35

7.34

7.33

umax
7.32 7.31 7.3 7.29 7.28 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

mesh [mm]

Figura 3.2.3: Convergenza della analisi statica

Anche in questo caso il graco da leggersi da destra verso sinistra. La diminuzione della pendenza della retta ci lascia supporre l'avvicinarsi ad una condizione di convergenza. Andiamo a confrontare i dati di spostamento nel modello ottimizzato e nel modello di partenza:

umax, SOLID 5.39474

umax, OP T 7.36971

u% 36.6 %

Tabella 3.2.2: Confronto dello spostamento nel modello iniziale e nel modello ottimizzato

umax, SOLID 5.39474 + 0.50

umax, OP T 7.36971 + 0.50 = 7.86971

u% 33.5 %

Tabella 3.2.3: Confronto dello spostamento nel modello iniziale e nel modello ottimizzato, corretti rispetto allo spostamento

L = 250 mm SOLID186 SOLID187

umax [mm] 5.89474 7.86971

% 2.35 % 3.14 %

Tabella 3.2.4: Eetto sulla struttura della ottimizzazione

Analisi numerica del telaio di un quadcopter | 47

Matteo Ragni

Progettazione Funzionale

Analisi Modale
Analisi modale
80 uMotore

70

60

50

umotore

40

30

20

10

0 0 5000 10000 15000 20000 25000 30000 35000 40000

[Hz]

Figura 3.2.4: Risposta della struttura


Il graco della immagine 3.2.7 eloquente. nella analisi armonica. La struttura indebolita dal punto di vista della rigidezza e si assiste quindi ad un abbassamento delle frequenze dei modi di vibrare. Questo sar particolarmente importante

Analisi modale: confronto uMotore


180 uMotore SOLID187 uMotore SOLID186 160

140

120

uMotore

100

80

60

40

20

0 0 5000 10000 15000 20000 25000 30000 35000 40000 45000

Figura 3.2.5: Confronto tra l'analisi modale del modello SOLID187 e SOLID186

Analisi numerica del telaio di un quadcopter | 48

Matteo Ragni

Progettazione Funzionale

Analisi modale: confronto uMotore


180 uMotore SOLID187 uMotore SOLID186 160

140

120

uMotore

100

80

60

40

20

0 0 100 200 300 400 500 600 700 800 900 1000

Figura 3.2.6: Confronto tra l'analisi modale del modello SOLID187 e SOLID186. Zoom sulle prime frequenze

Comparazione tra modi del modello iniziale e ottimizzato


45000 SOLID187 SOLID186 40000

35000

30000

[Hz]

25000

20000

15000

10000

5000

0 0 5 10 15 20 25 30 35 40 45 50

Figura 3.2.7: Confronto tra le frequenze del modello SOLID187 e SOLID186

Analisi numerica del telaio di un quadcopter | 49

Matteo Ragni

Progettazione Funzionale

Comparazione tra formulazione Lumped e Consistent


40000 Consistent Lumped Medio Errore 300 250

35000

200

30000

150

100 25000

20000

-50 15000 -100

10000

-150

-200 5000 -250

0 0 5 10 15 20 25 30 35 40 45

-300 50

Figura 3.2.8: Confronto tra le frequenze naturali del modello con matrice di massa Lumped e matrice Consistent

Risposta armonica

Risposta armonica - umax


0.25

0.2

0.15

umax

0.1

0.05

0 500 600 700 800 900 1000 1100 1200 1300

[Hz]

Figura 3.2.9: Risposta armonica del nodo all'apice della struttura

Analisi numerica del telaio di un quadcopter | 50

Errore [Hz]

50

[Hz]

Matteo Ragni

Progettazione Funzionale

Risposta armonica - umotore


0.14

0.12

0.1

0.08

umotore
0.06 0.04 0.02

0 500 600 700 800 900 1000 1100 1200 1300

[Hz]

Figura 3.2.10: Risposta armonica del baricentro del motore (spostamento)

Risposta armonica - Rotmotore


0.1 0.09

0.08

0.07

0.06

Rotmotore

0.05

0.04

0.03

0.02

0.01

0 500 600 700 800 900 1000 1100 1200 1300

[Hz]

Figura 3.2.11: Risposta armonica del baricentro del rotore (rotazione)

Analisi numerica del telaio di un quadcopter | 51

Matteo Ragni

Progettazione Funzionale

Risposta armonica - umotore


6 Modello SOLID187 Modello SOLID186 0.35 5 0.4

Risposta armonica - Rotmotore


Modello SOLID187 Modello SOLID186

0.3

4 0.25

Rotmotore

umotore

0.2

0.15 2

0.1

1 0.05

0 500 600 700 800 900 1000 1100 1200 1300

0 500 600 700 800 900 1000 1100 1200 1300

[Hz]

[Hz]

Figura 3.2.12: Confronto tra le risposte armoniche del motore del modello SOLID187 e SOLID186
Il confronto presente nella immagine 3.2.12, che ci mostra la risposta armonica del modello al modello

SOLID186

rispetto

SOLID187,

illustra la completa sparizione dei picchi di risonanza, che sono passati a frequenze Questa situazione discende direttamente dalla

inferiori rispetto al range di frequenze operative del motore.

diminuzione delle frequenze che rappresentano gli autovalori della struttura, e anche in questo caso si pu supporre che la causa di questo fenomeno sia una riduzione della rigidezza della struttura in forma maggiore rispetto alla riduzione della massa, come gi visto nella analisi modale della sezione

SOLID186.

Un problema di tensioni
La analisi no a qui sempre stata condotta tenedo conto dello spostamento massimo, che rappresenta il primo vincolo che veniva ad attivarsi nei primi modelli analitici; ma con questo ultimo modello non possiamo sottovalutare che le zone di intaglio agiscano come zone di concentrazione dello sforzo. Compiamo nuovamente la analisi per i modelli tridimensionali, e i risultati son presentati medianti i graci di gura 3.2.13 e 3.2.14. Nella immagine 3.2.14 evidente che nella zona a maggiore essione, prima del contatto, le tensioni sono eccessive e potrebbero portare a deformazione plastica la struttura. Questo ci porta a concludere che sia necessario un nuovo design.

Analisi numerica del telaio di un quadcopter | 52

Matteo Ragni

Progettazione Funzionale

PLOT NO.

108 72 36

Figura 3.2.13: Sforzo di Von Mises del modello SOLID186

Analisi numerica del telaio di un quadcopter | 53

18

54

90

120

Matteo Ragni

Progettazione Funzionale

PLOT NO.

108 72 36

Figura 3.2.14: Sforzo di Von Mises del modello SOLID187

Analisi numerica del telaio di un quadcopter | 54

18

54

90

120

Capitolo 4

Conclusioni
La ottimizzazione di un pezzo meccanico un processo iterativo, e particolarmente spinoso per chi se ne deve occupare. Quando non possibile esplorare lo spazio delle soluzioni mediante metodi strettamente analitici, il processo diventa una sequenza iterativa di guess and try che dicilemente porta verso il punto di ottimo globale, ma unicamente verso un ottimo locale. Superata la fase preliminare di ottimizzazione analitica ed esplorazione del modello di base, ci siamo lanciati nella esplorazione di una prima soluzione, che per quanto non si possa ritenere come denitiva, ci permette di esprimere alcune considerazioni molto importanti. Il modello presentato pu essere considerato come un estremo dello spazio delle possibili soluzioni, che attiva il vincolo di tensione massima, ma allo stesso tempo ci mostra una ottima risposta in condizioni modali, indipendenti dal carico applicato, e armoniche, dipendenti da un carico completamente diverso. Questo ci lascia suppporre che forse la prima ipotesi non si mossa nella direzione sbagliata, e che oltre ad esser eun punto di ottimo rispetto al tempo di volo, la riduzione di massa porti anche ad un ottimo strutturale rendendo robusto il telaio rispetto alla sollecitazione armonica del motore. In pratica siamo arrivati a stabilire il problema in una ottica nuova, che potrebbe essere sintetizzata con il seguente schema:

Ottimizzazione armonica Spazio delle soluzioni m, umax Modello iniziale


elastic

Modello SOLID187 Ottimizzazione tensioni


plastic plastic

elastic

Figura 4.0.1: La ricerca delle soluzioni


Alla base di tutto questo c' una analisi ad elementi niti, che sore evidentemente della inesperienza di chi ha scritto il codice APDL, seppur sia stata eettuata con un software il cui valore riconosciuto a livello internazionale e siano stati seguiti il pi possibile i manuali forniti con tale software. In particolare la analisi di contatto, nonostante sia la simulazione sulla quale chi scrive ha concentrato la maggior parte dei propri sforzi, risulta essere la pi instabile e poco propensa a dimostrare la convergenza. Si riscontra una zona di singolarit nella linea estrema di ne contatto tra i plates e la trave centrale, che nonostante l'inttimento continua ad essere di forte unicit nonostante l'inttimento del reticolo. Ancora una volta, probabile che il problema sia esclusivamente di chi scrive e della sua inesperienza, ciononostante si scelto di non approfondire le soluzioni ottenute mediante questo modello, proprio perch non si stati in grado di

55

Matteo Ragni

Progettazione Funzionale

appurare la correttezza delle soluzioni, optando invece per un valore correttivo medio da utilizzare sugli altri modelli. In denitiva, chi scrive ha molto apprezzato la opportunit di testare direttamente le potenzialit di una analisi FEM, ma ha anche capito quanto sia fondamentale aancare, se possibile, a tale modellazione una sessione di prove sperimentali che possano testimoniare fuori di ogni dubbio la eventuale correttezza delle soluzioni, a prescindere di chi abbia scritto il codice.

Analisi numerica del telaio di un quadcopter | 56

Capitolo 5

Allegati
5.1 Indipendenza dierenziale delle accelerazioni angolari
Abbiamo gi dimostrato la indipendenza dierenziale delle accelerazioni:

T r = {x , y , z + g}
....

per le accelerazioni angolari la cosa si fa leggermente pi complicata. sbalzo :

Denito

r = a ,

che rappresenta lo

ma z ma B

B + BW BW z B ) = u 1 z B + 2 u 1 ( BW z B ) + u1 ( BW z =

(5.1)

BW BW z B ) z B u 1 + 2 u 1 ( BW z B ) z B + u1 ( BW z B ) z B + (
=0 =0

= u 1 + u1 ( BW BW z B ) z B z u 1 = m a B u1 ( BW BW z B ) z B sostituire = (m a z ma B u1 ( BW BW z B ) z B ) z B + ma u1

nella 5.1

BW z B = h

+2 u 1 ( BW z B ) + u1 ( BW z B + BW BW z B ) 1 z = ((m a B u1 ( BW BW z B ) z B ) z B ) + u1 u 1 +2 ( BW z B ) + ( BW z B ) + ( BW BW z B ) u1 ma 1 z = ((m a B u1 ( BW BW z B ) z B ) z B ) + u1 u1 u 1 2 ( BW z B ) ( BW BW z B ) u1

(5.2)

Non assolutamente banale vedere la proiezione delle velocit angolari sul piano orizzontale del corpo del quadrottero, ma la relazione precedente ci garantisce la propriet di dientially atness che fondamentale per il controllo.

1 Lo sbalzo la derivata dello strappo, meglio conosciuto in letteratura come snap, derivata di quarto ordine dello spostamento. Se si volesse approfondire ulteriormente il controllo in traiettoria del quadcopter, si potrebbe dimostrare che questa deve essere ottimizzata rispetto a questo componente di traiettoria.
57

Matteo Ragni

Progettazione Funzionale

5.2 Gli elementi del quadcopter

ESC - Hobbywing 10A

Elettronica - Controller

APC Propeller 8"x4.5"

Figura 5.2.1: Quadcopter, assemblato

Analisi numerica del telaio di un quadcopter | 58

Wartox Frame

Batteria - 3S1500 20C

Turnigy Aerodrive SK3

Matteo Ragni

Progettazione Funzionale

5.3 Modello Simulink del sistema di controllo

Figura 5.3.1: Master Model

Analisi numerica del telaio di un quadcopter | 59

Matteo Ragni

Progettazione Funzionale

Figura 5.3.2: Subsystem Quadcopter

Analisi numerica del telaio di un quadcopter | 60

Matteo Ragni

Progettazione Funzionale

Figura 5.3.3: Subsystem Controller

Analisi numerica del telaio di un quadcopter | 61

Matteo Ragni

Progettazione Funzionale

5.4 Allegato modello BEAM188


5.4.1 Disegno Tecnico

Figura 5.4.1: Disegno del telaio Wartox Frame

Analisi numerica del telaio di un quadcopter | 62

Matteo Ragni

Progettazione Funzionale

B-B 250

Figura 5.4.2: Particolare del braccio

M3

7.50

7.50 242 234 226 32 17.86 0

Analisi numerica del telaio di un quadcopter | 63

Matteo Ragni

Progettazione Funzionale

1.50 15

M 3

13

20

R5

24 17

R5
100

Figura 5.4.3: Particolare dell'elemento di collegamento centrale

R5

Analisi numerica del telaio di un quadcopter | 64

Matteo Ragni

Progettazione Funzionale

5.4.2

Script

! Matteo Ragni - 2013 finish /clear,start,new /title,Modello BEAM188 !/filname,line_model ! >>>> FLAGS <<<< VINCOLI = VINCOLI2 = FORZA = TorqueARM = FORZAIn = INERZIA_MOTORE = 1 STATICO = INERTIALREL = 1 MODALE = ARMONICA = INREL_FORCE = ! >>>> FLAGS <<<< ! >>>> INFITTIMENTO <<<< mesh = 0.25 ! mm ! >>>> INFITTIMENTO <<<< ! >>>> Costanti <<<<

12

1 0 1 0 1 0 0 0 0

17

22

27

32

! unit PI eps eps2 GoldR

in mm = acos(-1) = 1e-3 = 1e-5 = 0.5+sqrt(1.25)

! Tolleranza 1 ! Tolleranza 2 ! Rapporto aureo

37

! Parametri materiale E_YOUNG = 69000 ni = 0.33 E_TAN = 26000 rho = 2700e-12 ! Dimensioni lunA = 50 - 4.5 lunB = 15 - 4.5 lunC = 10 + 3.5 lunD = 32/sqrt(2) lunE = lunA - lunB - lunD lunF = 10/sqrt(2) lunG = lunA - lunB - lunF lunH = lunA - lunB lunI = lunA - 2*lunB lunJ = 32 lunK = 226 lunL = 8 lunM = 250 lunN = 10 Spes = 1.5 S1B = 7

! ! ! !

MPa undef MPa Mg/mm^3

Modulo Young Poisson Modulo Tangente Densit

42

47

52

Analisi numerica del telaio di un quadcopter | 65

Matteo Ragni

Progettazione Funzionale

57

S2B = 9 S3B = 13 Altezza = 3.75 hrec_h = 7.5 hrec_s = 1 /prep7

62

67

! >>>> SELEZIONE ELEMENTI <<<< et,1,beam188 keyopt,1,1,0 keyopt,1,2,1 keyopt,1,3,2 keyopt,1,4,2 keyopt,1,6,0 keyopt,1,7,0 keyopt,1,9,0 keyopt,1,11,0 keyopt,1,12,0 keyopt,1,15,0 mp,ex,1,E_young mp,prxy,1,ni mp,dens,1,rho esize,mesh

72

77

82

87

et,2,mpc184,1

92

! Definizione delle sezioni che verranno ! utilizzate nel modello sectype,1,beam,RECT secdata,S1B,Spes sectype,2,beam,RECT secdata,S2B,Spes sectype,3,beam,RECT secdata,S3B,Spes

97

102

sectype,4,beam,hrec secdata,hrec_h,hrec_h,hrec_s,hrec_s,hrec_s,hrec_s ! >>>> GEOMETRIA E MESHING <<<<

107

112

! Modello dei due plate centrali ! distanziati 7.5 millimetri + spess/2 local,11,cart,0,0,Altezza+Spes/2,45 local,12,cart,0,0,-Altezza-Spes/2,45 csys,0 ii = 0 jj = 0 *do,ii,0,100,100

Analisi numerica del telaio di un quadcopter | 66

Matteo Ragni

Progettazione Funzionale

117

csys,11+jj ! Kp k,100 + ii,0,0,0 k,101 + ii,0, lunC,0 k,102 + ii,LunC/sqrt(2),lunC/sqrt(2),0 k,103 + ii,lunC,0, 0 k,104 + ii,lunE,lunE,0 k,105 + ii,lunG,lunG,0 k,106 + ii,lunH,lunH,0 k,107 + ii,0, lunA,0 k,108 + ii,lunA,0, 0

122

127

132

k,109 + ii,lunI,lunA,0 k,110 + ii,lunA,lunI,0 ! Line numstr,line,ii+1 larc,101 + ii,102 + ii,100 + ii,lunC larc,103 + ii,102 + ii,100 + ii,lunC l,102 + ii,104 + ii l,104 + ii,105 + ii l,105 + ii,106 + ii l,107 l,109 l,108 l,110 + + + + ii,109 ii,106 ii,110 ii,106 + + + + ii ii ii ii

137

142

147

! Meshing type,1 mat,1

152

lsel,s,line,,1+ii,2+ii,1 secnum,1 lmesh,all lsel,all lsel,s,line,,3+ii,5+ii,1 secnum,3 lmesh,all lsel,all lsel,s,line,,6+ii,9+ii,1 secnum,2 lmesh,all lsel,all csys,0 jj = 1 *enddo

157

162

167

172

y_csys13 = 17.49747468 ! preso direttamente da SLDWRKS local,13,cart,0,y_csys13,0

Analisi numerica del telaio di un quadcopter | 67

Matteo Ragni

Progettazione Funzionale

csys,13 k,50,0,0,0 k,51,0,lunJ-lunN,0 k,52,0,lunJ,0 k,53,0,lunK,0 k,54,0,lunK+lunL,0 k,55,0,lunK+2*lunL,0 k,56,0,lunM,0 numstr,line,200 *do,ll,50,55,1 l,ll,ll+1 *enddo lsel,s,line,,200,205,1 type,1 secnum,4 lmesh,all lsel,all ! Design dellelemento motore z_motore = Altezza/2 + hrec_s/2 + 11.0 k,60,0,lunK,z_motore k,61,0,lunK+lunL,z_motore k,62,0,lunK+2*lunL,z_motore numstr,line,300 l,53,60 l,55,62 l,60,61 l,62,61 lsel,s,line,,300,303,1 type,2 lmesh,all allsel,all csys,0 ! >>>> DEFINIZIONE DELLE CONDIZIONI DI VINCOLAMENTO <<<< *if,VINCOLI,eq,1,then ! Vincolamento trave plates, non si ! considera il contatto numstr,line,400 ! Superiore l,51,105 l,52,106 ! Inferiore l,51,205 l,52,206 lsel,s,line,,400,403,1 type,2 lmesh,all allsel,all

177

182

187

192

197

202

207

212

217

222

227

Analisi numerica del telaio di un quadcopter | 68

Matteo Ragni

Progettazione Funzionale

232

csys,0 *endif *if,VINCOLI2,eq,1,then

237

242

! Vincolamento simmetrico delle plate ! per modelli risolti facendo uso di ! simmetria ksel,s,,,101,201,100 ksel,a,,,103,203,100 ksel,a,,,107,207,100 ksel,a,,,108,208,100 nslk,s d,all,ux d,all,uy ksel,s,,,102,202,100 nslk,s d,all,uz allsel,all *endif ! >>>> DEFINIZIONE DEI CARICHI <<<< *if,FORZA,eq,1,then Forza = 7.280 ! N Momento = 2427 ! N mm ksel,s,,,61 nslk,s

247

252

257

262
*endif

f,all,FZ,Forza f,all,MZ,Momento allsel,all

267

272

*if,INREL_FORCE,eq,1,then FInerziale = -(1/4*0.11644E+06*0.25008E-03) ! Ricavati con InertialRelief esel,s,type,,1 nsle,s *get,COUNT_NODE,node,,count FInerziale_app = FInerziale/COUNT_NODE f,all,FZ,FInerziale_app allsel,all

277

*endif *if,TorqueARM,eq,1,then Torque = 1000

282
*endif

ksel,s,,,61 nslk,s f,all,MX,Torque,Torque f,all,MY,Torque,Torque

287

*if,FORZAIn,eq,1,then

Analisi numerica del telaio di un quadcopter | 69

Matteo Ragni

Progettazione Funzionale

292

! Definizione della forza *dim,ForzaInt,table,20,,,time *taxis,ForzaInt(1,1),1,0.00,0.25,0.50,0.75,1.00,1.25,1.50,1.75,2.00,2.25 *taxis,ForzaInt(11,1),1,2.50,2.75,3.00,3.25,3.50,3.75,4.00,4.25,4.50,4.75 ForzaInt(1,1) = 4.905,5.35625,5.760,6.11625,6.425,6.68625,6.900,7.06625,7.185,7.25625 ForzaInt(11,1) = 7.280,7.25625,7.185,7.06625,6.900,6.68625,6.425,6.11625,5.760,5.35625 ! Definizione del momento motore *dim,MomInt,table,20,,,time *taxis,MomInt(1,1),1,0.00,0.25,0.50,0.75,1.00,1.25,1.50,1.75,2.00,2.25 *taxis,MomInt(11,1),1,2.50,2.75,3.00,3.25,3.50,3.75,4.00,4.25,4.50,4.75 MomInt(1,1) = 1635,1785.4,1920,2038.75,2141.7,2228.75,2300,2355.4,2395,2418.7 MomInt(11,1) = 2426.7,2418.7,2395,2355.4,2300,2228.7,2141.7,2038.7,1920,1785.4 *dim,MomInt2,table,20,,,time *taxis,MomInt2(1,1),1,0.00,0.25,0.50,0.75,1.00,1.25,1.50,1.75,2.00,2.25 *taxis,MomInt2(11,1),1,2.50,2.75,3.00,3.25,3.50,3.75,4.00,4.25,4.50,4.75 MomInt2(1,1) = -1635,-1785.-4,1920,-2038.75,-2141.7,-2228.75,-2300,-2355.4,-2395,-2418.7 MomInt2(11,1) = -2426.7,-2418.7,-2395,-2355.4,-2300,-2228.7,-2141.7,-2038.7,-1920,-1785.4 *endif ! >>>> ELEMENTO DI MASSA <<<<

297

302

307

312

317

322

327

*if,INERZIA_MOTORE,eq,1,then et,10,mass21 ! Inerzia del motore da SLDWRKS M_mot = 34*1e-6 ! Mg Px_mot = 2663*1e-6 ! Mg/mm^2 Pz_mot = 2663*1e-6 ! Py_mot = 2948*1e-6 ! keyopt,10,1,0 keyopt,10,2,0 keyopt,10,3,0 r,10,M_mot,M_mot,M_mot,Px_mot,Py_mot,Pz_mot ! Meshing dellelemento massa type,10 real,10 kmesh,61 allsel,all *endif ! >>>> SOLUZIONE STATICA <<<<

332

337

*if,STATICO,eq,1,then /solu antype,static,new solve /post1 pldisp *endif ! >>>> INERTIAL RELIEF <<<<

342

*if,INERTIALREL,eq,1,then

Analisi numerica del telaio di un quadcopter | 70

Matteo Ragni

Progettazione Funzionale

347

! ! ! ! !

Se si vuole usare linertial relief non si possono avere assi di simmetria. necessario specchiare tutto, piazzare un vincolo nel centro con sei gradi di vincolamento. le forze devono essere piazzate in modo corretto. Abilitare INERZIA_MOTORE

352

local,14,0,0,0,0,45 csys,14 lplot lsel,all lsymm,y,all lsel,all lsymm,x,all csys,0 nummrg,all ! Definisco delle nuove condizioni di vincolamento ! di tipo ideale k,1000,0,0,0 klists = 2,32,72,102,12,42,82,202 numstr,line,1000 *do,jj,1,8,1 l,1000,klists(jj) *enddo lsel,s,,,1000,1008,1 type,2 lmesh,all ! >>>> Inertial relief *do,jj,1,20,1 time,jj*0.25 ! Forza ksel,s,,,30,61,31 ksel,a,,,70,111,41 nslk,s f,all,FZ,%ForzaInt% ! Momento resistente ksel,s,,,30,70,40 nslk,s f,all,MZ,%MomInt% ksel,s,,,61,111,50 nslk,s f,all,MZ,%MomInt2% allsel,all

357

362

367

372

377

382

387

392

397
*endif

/solu antype,static irlf,1 psolve,elform psolve,elprep irlist fdele,all *enddo ! End <<<<

Analisi numerica del telaio di un quadcopter | 71

Matteo Ragni

Progettazione Funzionale

402

! >>>> SOLUZIONE MODALE <<<< *if,MODALE,eq,1,then /solu antype,modal,new modopt,lanp,300 pcgopt,0,,auto,no,,auto Consistent = 1 *if,Consistent,eq,1,then lumpm,off *endif *if,Consistent,eq,0,then lumpm,on endif * mxpand,100 solve finish /post26 numvar,200 ! espande il numero di variabili disponibili ksel,s,,,56 nslk,s *get,NODO_FINALE,node,,num,max ! *BeginFunction U_SUM ! ! Name: U_SUM ! ID: 2 ! Function: sqrt(nsol(NODO_FINALE,u,x)^2+nsol(NODO_FINALE,u,y)^2+nsol( NODO_FINALE,u,z)^2) ! ! Ottiene dalla soluzione il valore di spostamento nsol,100,NODO_FINALE,u,x ! X nsol,101,NODO_FINALE,u,y ! Y nsol,102,NODO_FINALE,u,z ! Z ! elevazione a quadrato prod,105,100,100 ! X^2 prod,106,101,101 ! Y^2 prod,107,102,102 ! Z^2 ! somma degli elementi add,110,107,106 ! Z^2 + Y^2 add,111,110,105 ! Z^2 + Y^2 + Z^2 ! radice quadrata sqrt,2,111,,,U_SUM ! sqrt(X^2 + Y^2 + Z^2) ! *EndFunction ksel,s,,,61 nslk,s *get,NODO_PRP,node,,num,max ! *BeginFunction U_SUM2 ! ! Name: U_SUM2 ! ID: 3 ! Function: sqrt(nsol(NODO_PRP,u,x)^2+nsol(NODO_PRP,u,y)^2+nsol(NODO_PRP, u,z)^2) nsol,90,NODO_PRP,u,x ! X nsol,91,NODO_PRP,u,y ! Y nsol,92,NODO_PRP,u,z ! Z ! elevazione a quadrato prod,95,90,90 ! X^2

407

412

417

422

427

432

437

442

447

452

Analisi numerica del telaio di un quadcopter | 72

Matteo Ragni

Progettazione Funzionale

457

462

467

472

477

482

prod,96,91,91 ! Y^2 prod,97,92,92 ! Z^2 ! somma degli elementi add,98,97,96 ! Z^2 + Y^2 add,99,98,95 ! Z^2 + Y^2 + Z^2 ! radice quadrata sqrt,3,99,,,U_SUM2 ! sqrt(X^2 + Y^2 + Z^2) ! *EndFunction ! *BeginFunction ROT_SUM ! ! Name: ROT_SUM ! ID: 4 ! Function: sqrt(nsol(NODO_PRP,rot,x)^2+nsol(NODO_PRP,rot,y)^2) nsol,80,NODO_PRP,rot,x ! Rx nsol,81,NODO_PRP,rot,y ! Ry ! elevazione a quadrato prod,85,80,80 ! Rx^2 prod,86,81,81 ! Ry^2 ! somma degli elementi add,87,85,86 ! Rx^2 + Ry^2 ! radice quadrata sqrt,4,87,,,ROT_SUM ! sqrt(Rx^2 + Ry^2) ! *EndFunction plvar,4 allsel,all *endif ! >>>> SOLUZIONE ARMONICA <<<<

487

492

497

*if,ARMONICA,eq,1,then /solu BeginFR = 500 ! Hz EndFR = 1300 ! Hz antype,harmic hropt,full hrout,off harfrq,BeginFR,EndFR nsubst,200 kbc,1 solve ! Qui viene ripreso il postprocessing ! della analisi modale. *endif

5.4.3

Elementi utilizzati

Punti di integrazione

Sezione definita con SECDATA

Figura 5.4.4: BEAM188

Analisi numerica del telaio di un quadcopter | 73

Matteo Ragni

Progettazione Funzionale

5.4.4

Risultati dell'inertia relief analisys

t [s]
0.25 0.50 0.75 1.00 1.25 1.50 1.75 2.00 2.25 2.50 2.75 3.00 3.25 3.50 3.75 4.00 4.25 4.75

x
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

y
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

z [m/s2 ]
85.671 92.129 97.827 102.77 106.94 110.36 113.02 114.92 116.06 116.44 116.06 114.92 113.02 110.36 106.94 102.77 97.827 85.671

[1/s2 ]
5.38E-13 5.85E-13 6.19E-13 6.50E-13 6.76E-13 6.98E-13 7.15E-13 7.22E-13 7.34E-13 7.37E-13 7.34E-13 7.27E-13 7.15E-13 6.98E-13 6.76E-13 6.50E-13 6.19E-13 5.83E-13


-4.60E-14 -1.55E-14 -2.03E-14 -2.13E-14 -2.22E-14 -5.92E-14 -6.06E-14 9.28E-15 9.37E-15 -6.25E-14 -2.88E-14 -6.17E-14 -6.07E-14 -2.29E-14 8.61E-15 -2.55E-14 -5.25E-14 -2.29E-14


-0.68531 7.31E+02 3.46E-13 -2.30E-31 -2.39E-31 -2.52E-31 -2.58E-31 4.38E-32 4.45E-32 -2.65E-31 3.93E-32 -2.62E-31 -2.58E-31 -2.47E-31 4.10E-32 3.48E-32 -2.23E-31 3.12E-32

Baricentro

m = 0.25008 kg 5.2709 106 5.2721 106 P = g mm2 6 10.506 10

Momenti di inerzia

0 0 7.2905 1 0 0 1 0 0

mm

0 0 1

Tabella 5.4.1: Risultati Inertial Relief. I parametri di massa comprendono sia frame che motori.

5.5 Allegati modello SHELL281:CONTA174:TARGE170


5.5.1 Script

! Analisi di contatto, Versione 3 ! Ragni Matteo 2013 finish /clear,start,new /title,Modello SHELL281:CONTA174:TARGE170 /nerr,0,99999999

11

16

! >>>> FLAGS <<<< Modello = 1 DoMesh = 1 Contatto = 1 Motore = 1 Loading = 1 SolutionSetup = 1 Risolvi = 1 ! Applicazione dei carichi *if,Loading,eq,1,then

Analisi numerica del telaio di un quadcopter | 74

Matteo Ragni

Progettazione Funzionale

21

SPINTA MOMENTO VINCOLO1 VINCOLO2

= = = =

1 1 1 1

26

31

36

41

46

*endif ! >>>> FLAGS <<<< ! >>>> INFITTIMENTO <<<< mesh = 2 ! mm !mesh = 3.75 !mesh = 7.5 ! >>>> Meshing controls <<<< ! I parametri qui elencati permettono di attivare funzioni di meshing ! sul modello, quale infittimento in determinati punti. Questo deve ! essere fatto prima dellinserimento di elementi superficiali di contatto ! NB = i refin aumentano il carico computazionale! ! Il valore di refinement indica lindice di infittimento della mesh ! Valori uguali o minori di zero disattivano la procedura ! REF PIASTRA ref_A = 0 ! Linea di contatto anteriore ref_B = 0 ! Linea di contatto posteriore ref_C = 0 ! Keypoint di vincolamento beam piastra ref_D = 0 ! Raccordo ali esterne ref_E = 0 ! Raccordo ali interne ! REF TRAVE ref_F = 0 ! Keypoint di vincolamento ref_G = 0 ! Line di inizio contatto ref_H = 0 ! Linea di fine contatto ! >>>> INFITTIMENTO <<<< /prep7

51

! Impostazioni di visualizzazione isometrica /VIEW,1,1,1,1 /ANG,1 /REP,FAST ! Epsilons eps = 1e-3 eps2 = 1e-5 ! Dimensioni Geometriche ! - dimensioni trave in mm tk_beam = 1 altezza = 3.75 l0 = altezza - tk_beam/2 lc = 39.1 l2 = 16 lf1 = 32 - 10*sqrt(2) lf2 = 32 ll = 226 z_dim = 0, lf1, lf2, lc, ll, ll+l2, ll+l2+l2/2 ! - dimensioni piatra tk_piastra = 1.5 zdim = 0, lf1, 28, lf2, lc, -8.1 xdim = 0, 6.5 ydim = altezza + tk_piastra/2 X2dim = 3.5, 7, 12, 12.5, 14.12, 29, 35.3 z2dim = -8.10, -10.4, -5.10, 28, 39.1, 11.5, 17.9

56

61

66

71

76

Analisi numerica del telaio di un quadcopter | 75

Matteo Ragni

Progettazione Funzionale

y_motore

= 11.0 + altezza

81

86

! Parametri materiale e_young = 69000 ni = 0.33 e_tan = 26000 rho = 2700e-12 mu = 1.5

! ! ! !

MPa undef MPa Mg/mm^3 !

= Modulo Young = Poisson = Modulo Tangente = Densit Coefficiente attrito statico al-al

91

96

101

106

111

! >>> MODELLO :: allinterno dellif la routine disegna il modello *if,Modello,eq,1,then ! Modello della trave *do,j,0,6,1 ! creazione dei keypoints ! kp superiori k, j*10+01, 0, L0, z_dim(j+1) k, j*10+02, L0, L0, z_dim(j+1) k, j*10+03, -L0, L0, z_dim(j+1) ! kp inferiori k, j*10+04, 0, -L0, z_dim(j+1) k, j*10+05, L0, -L0, z_dim(j+1) k, j*10+06, -L0, -L0, z_dim(j+1) *enddo *do,k,0,50,10 ! creazione delle aree ! Superiori a,k+01,k+11,k+12,k+02,k+01 a,k+01,k+03,k+13,k+11,k+01 ! Inferiori a,k+04,k+05,k+15,k+14,k+04 a,k+04,k+14,k+16,k+06,k+04 ! Laterale x+ a,k+02,k+12,k+15,k+05,k+02 ! Laterale xa,k+03,k+06,k+16,k+13,k+03 enddo * ! Modello delle pastre ! - Piastra superiore ! - - creazione dei keypoints numstr,kp,100 *do,j,1,6,1 k,,Xdim(1),Ydim,Zdim(j) enddo * numstr,kp,110 *do,j,1,5,1 k,,Xdim(2),Ydim,Zdim(j) *enddo numstr,kp,120 *do,j,1,7,1 k,,X2dim(j),Ydim,Z2dim(j) *enddo ! - - generazione delle aree numstr,area,100 *do,j,0,3,1 a,100+j,110+j,111+j,101+j,100+j *enddo a,112,123,124,114,112 a,124,123,125,126,124 a,100,105,120,110,100

116

121

126

131

Analisi numerica del telaio di un quadcopter | 76

Matteo Ragni

Progettazione Funzionale

136

141

146

151

156

161

166
*endif

a,120,121,122,110,120 ! - - unione delle aree asel,s,loc,y,YDIM-eps,YDIM+eps arsym,x,all nummrg,kp allsel,all ! - Piastra inferiore ! - - generazione dei keypoints numstr,kp,200 *do,j,1,6,1 k,,Xdim(1),-Ydim,Zdim(j) *enddo numstr,kp,210 *do,j,1,5,1 k,,Xdim(2),-Ydim,Zdim(j) *enddo numstr,kp,220 *do,j,1,7,1 k,,X2dim(j),-Ydim,Z2dim(j) *enddo ! - generazione delle aree numstr,area,200 *do,j,0,3,1 a,200+j,201+j,211+j,210+j,200+j *enddo a,212,214,224,223,212 a,224,226,225,223,224 a,200,210,220,205,200 a,220,210,222,221,220 ! - - unione delle aree asel,s,loc,y,-YDIM-eps,-YDIM+eps arsym,x,all nummrg,kp allsel,all

171

! >>> DOMESH :: allinterno dellif la routine genera la mesh del modello *if,DoMesh,eq,1,then

176

181

186

! Definizione degli elementi di meshing sh281 = 1 et,sh281,shell281 ! Elemento shell 281 :: Elemento a 8 nodi e 6 gradi di libert keyopt,sh281,1,0 ! 6 gradi di libert : membrana e piastra keyopt,sh281,8,2 ! Presenza di un unico layer in spessore, ! Riduci salvataggio a TOP e BOTTOM layer. keyopt,sh281,9,0 ! Non usare funzione UTHICK sectype,100,shell ! spessore trave secdata,tk_beam sectype,200,shell ! spessore piastra secdata,tk_piastra esize,mesh ! dimensioni elemento ! Definizione delle propriet mp,EX,sh281,e_young mp,PRXY,sh281,ni mp,MU,sh281,mu del materiale

191

Analisi numerica del telaio di un quadcopter | 77

Matteo Ragni

Progettazione Funzionale

mp,DENS,sh281,rho ! Meshing della trave centrale asel,s,loc,y,-altezza,altezza type,sh281 ! tipo elemento secnum,100 ! spessore elemento amesh,all ! free mesh asel,all ! Meshing della piastra superiore asel,s,loc,y,altezza+tk_piastra/2-eps,altezza+tk_piastra/2+eps type,sh81 secnum,200 amesh,all asel,all ! Meshing della piastra inferiore asel,s,loc,y,-altezza-tk_piastra/2-eps,-altezza-tk_piastra/2+eps type,sh281 secnum,200 amesh,all asel,all ! MESHING REFINEMENT ROUTINES ! ! Refinement sulla linea di fine contatto anteriore *if,ref_A,gt,0,then ! Piastre lrefine,90,116,116-90,ref_A,,on lrefine,137,163,163-137,ref_A,,on *endif ! Refinement sulla linea di fine contatto posteriore *if,ref_B,gt,0,then lrefine,79,105,105-79,ref_B,,on lrefine,117,155,155-117,ref_B,,on *endif ! Refinement su kp di vincolamento *if,ref_C,gt,0,then krefine,101,103,2,ref_C,,on krefine,201,203,2,ref_C,,on endif * ! Refinement sul raccordo 1 *if,ref_D,gt,0,then lrefine,92,118,118-92,ref_D,,on lrefine,142,168,168-142,ref_D,,on *endif ! Refinement sul raccordo 2 *if,ref_E,gt,0,then krefine,110,128,128-110,ref_E,,on krefine,210,230,20,ref_E,,on *endif ! Refinement sui punti di vincolamento trave *if,ref_F,gt,0,then krefine,11,21,10,ref_F,,on krefine,14,24,10,ref_F,,on *endif ! Refinement linea di contatto interna *if,ref_G,gt,0,then lrefine,32,35,3,ref_G,,on lrefine,37,39,2,ref_G,,on

196

201

206

211

216

221

226

231

236

241

246

Analisi numerica del telaio di un quadcopter | 78

Matteo Ragni

Progettazione Funzionale

251

256

*endif ! Refinement linea di contatto esterna *if,ref_H,gt,0,then lrefine,4,5,,1,ref_H,,on lrefine,8,14,6,ref_H,,on *endif *endif ! >>> CONTATTO :: allinterno dellif la routine genera le superfici ! di contatto, oltre a selezionare le opzioni per gli elementi if,Contatto,eq,1,then * ! Definizione degli elementi di contatto targ = 10 et,10,targe170 keyopt,targ,4,111111 ! DOF target surface cont = 11 et,11,conta174 keyopt,cont,1,0 ! keyopt,cont,2,0 ! keyopt,cont,5,3 ! keyopt,cont,8,2 ! keyopt,cont,9,2 ! keyopt,cont,10,2 keyopt,cont,11,1 ! Real constant per i due superiore = 100 inferiore = 200 r,superiore,,,1,eps2,,, r,inferiore,,,1,eps2,,,

261

266

271

276

DOF Algoritmo di contatto Riduci/annulla gap/penetrazione Contatto di tipo asimmetrico Ramp initial pen ! Aggiorna rigidezza ogni iterazione ! Includi spessore shell set di contatto

281

286

291

296

301

306

! Surface meshing delle due zone di contatto ! - Zona superiore ! - - Trave asel,s,area,,1,13,6 asel,a,area,,2,14,6 ! Selezione aree di contatto esla,s ! selezione elementi su area type,targ ! tipo elementi real,superiore ! real const associata esurf,all ! meshing superfice allsel,all ! seleziona tutto ! - - Piastra superiore asel,s,,,100,103,1 asel,a,,,108,111,1 esla,s type,cont real,superiore esurf,all allsel,all ! - Zona inferiore ! - - Trave asel,s,area,,3,15,6 asel,a,area,,4,16,6 esla,s type,targ real,inferiore esurf,all

Analisi numerica del telaio di un quadcopter | 79

Matteo Ragni

Progettazione Funzionale

311

316
*endif

allsel,all ! - - Piastra inferiore asel,s,,,200,203,1 asel,a,,,208,211,1 esla,s type,cont real,inferiore esurf,all allsel,all

321

*if,Motore,eq,1,then empc = 3 emass = 4 rmass = 5 et,empc,mpc184,1 et,emass,mass21 ! Inerzia del motore da SLDWRKS M_mot = 34*1e-6 ! Mg Px_mot = 2663*1e-6 ! Mg/mm^2 Pz_mot = 2663*1e-6 ! Py_mot = 2948*1e-6 ! keyopt,emass,1,0 keyopt,emass,2,0 keyopt,emass,3,0 r,rmass,M_mot,M_mot,M_mot,Px_mot,Py_mot,Pz_mot numstr,line,1000 k,500,0,y_motore,z_dim(5)+(z_dim(6)-z_dim(5))/2 k,499,0,y_motore,z_dim(5) k,501,0,y_motore,z_dim(6) l,41,499 l,51,501 l,499,500 l,501,500 ! ! ! ! 1000 1001 1002 1003

326

331

336

341

346

351

lsel,s,line,,1000,1003,1 type,empc lmesh,all allsel,all ksel,s,,,500 type,emass real,rmass kmesh,all allsel,all *endif

356

361

*if,SPINTA,eq,1,then FORZA = 7.28 ! N ksel,s,kp,,500 nslk,s f,all,FY,FORZA

Analisi numerica del telaio di un quadcopter | 80

Matteo Ragni

Progettazione Funzionale

366
*endif

allsel,all

371

376

*if,MOMENTO,eq,1,then fMOMENTO = 2427 ! N mm ksel,s,kp,,500 nslk,s f,all,MY,fMOMENTO allsel,all *endif *if,VINCOLO1,eq,1,then kp1sel = 101,103,201,203 kp2sel = 11,21,14,24 *do,j,1,4,1 ksel,s,,,kp2sel(j),kp1sel(j),kp1sel(j)-kp2sel(j) nslk,s cp,,all,all *enddo *endif

381

386

391

*if,VINCOLO2,eq,1,then lsel,s,line,,97,103,6 lsel,a,line,,123,144,21 lsel,a,line,,150,170,20 lsel,a,line,,129,176,47 nsll,s d,all,ux d,all,uz allsel,all ! Vincoli centrali lsel,s,line,,100,126,26 lsel,a,line,,147,173,26

396

401

406
*endif

nsll,s d,all,uy allsel,all

411

416

421

*if,SolutionSetup,eq,1,then /solu antype,static,new eqslv,pcg conj nropt,full,,off nlgeom,on cnvtol,U,,eps,2 lnsrch,on time,1 nsubst,3 lswrite,1

! nuova analisi statica ! Utilizza il gradiente precondizionato ! Full Newton-Rapson ! Nonlinearit geometrica ! Convergenza allo spostamento ! Abilita line search ! Final time = 1 ! Effettua la soluzione in 3 substep

Analisi numerica del telaio di un quadcopter | 81

Matteo Ragni

Progettazione Funzionale

426
*endif
5.5.2

*if,Risolvi,eq,1,then lssolve,1 *endif


Elementi utilizzati

=== RISOLVI ===

l z0 k i
KEYOPT(1) = 0 TCK (SECDATA)

m rotx

roty ux j

Figura 5.5.1: SHELL281

TARGE170

Direzione ereditata dagli elementi sottostanti

^ n ^ n

i
CONTA174

m n k uy ux

p l o uz

j
TCK KEYOPT(11) = 1

KEYOPT(1) = 0

Figura 5.5.2: CONTA174 TARGE170

5.6 Allegati modello SOLID186


5.6.1 Script

! Ragni Matteo 2013

finish /clear,start,new /title,Modello SOLID186

/prep7 ! >>>> FLAGS <<<<

Analisi numerica del telaio di un quadcopter | 82

Matteo Ragni

Progettazione Funzionale

13

18

23

MODELLO = 1 GENERA_MESH = 1 MESH_COMPLETE = 1 VINC_CONTATTO = 1 VINC_PIASTRE = 1 MOTORE = 1 INERZIA_MOTORE = 1 FORZE = 1 STATICA = 1 MODALE = 0 ARMONICA = 0 ! >>>> FLAGS <<<< ! >>>> MESHING CONTROL <<<< ! PARAMETRI MESH ######### mesh = 1 ! bigger is finer mesh2= 4 ! little is finer ! ######################## ! Line divisions ndiv_a = mesh*6 ndiv_b = mesh*4 ndiv_c = mesh*2 ndiv_d = mesh*(ndiv_a+ndiv_b+ndiv_c) size_a size_b size_c size_d ! >>>> MESHING = 1/ndiv_a = 1/ndiv_b = 1/ndiv_c = 1/ndiv_d CONTROL <<<<

28

33

38

43

! >>>> COSTANTI <<<< ! Utility PI = acos(-1) eps = 1e-3 ! Tolleranza 1 eps2 = 1e-5 ! Tolleranza 2 GoldR = 0.5+sqrt(1.25) ! PARAMETRI MATERIALE E_YOUNG = 69000 ! MPa Modulo Young ni = 0.33 ! undef Poisson E_TAN = 26000 ! MPa Modulo Tangente rho = 2700e-12 ! kg/mm^3 Densit ! PARAMETRI GEOMETRICI Altezza = 7.5 ! mm Larghezza = 7.5 ! mm Spess = 1 ! mm Lunghezza = 250 ! mm z1 z2 z3 z4 z5 = = = = = 32 - 14.14213562 32 234 - 8 234 234 + 8 ! ! ! ! ! mm mm mm mm mm

48

53

58

63

68

r1 = 1.5 r2 = 2

! mm ! mm

Analisi numerica del telaio di un quadcopter | 83

Matteo Ragni

Progettazione Funzionale

! >>>> DEFINIZIONE ELEMENTI <<<< esolid = 1 et,1,solid186 desize,5*mesh mp,ex,esolid,E_YOUNG mp,prxy,esolid,ni mp,dens,esolid,rho erigid = 2 et,erigid,mpc184,1 emass = 3 et,emass,mass21 ! Inerzia del motore da SLDWRKS M_mot = 34*1e-6 ! Mg Px_mot = 2663*1e-6 ! Mg/mm^2 Pz_mot = 2663*1e-6 ! Py_mot = 2948*1e-6 ! keyopt,emass,1,0 keyopt,emass,2,0 keyopt,emass,3,0 r,emass,M_mot,M_mot,M_mot,Px_mot,Py_mot,Pz_mot ! >>>> DISEGNO <<<< *if,MODELLO,eq,1,then ! Modellazione profilo k,1,Larghezza/2,0 k,2,Larghezza/2-spess,0 k,3,0,Altezza/2 k,4,0,Altezza/2-spess k,5,Larghezza/2,Altezza/2 k,6,Larghezza/2-spess,Altezza/2-spess l,1,2 l,1,5 l,2,6 l,3,4 l,3,5 l,4,6 lfillt,3,6,0.3,101 lfillt,2,5,0.3,102 l2ang,7,2,90,90 l2ang,7,5,90,90 lesize,8,,,ndiv_c lesize,9,,,ndiv_c,1/GoldR lesize,11,,,ndiv_c,1/GoldR lesize,7,,,3*ndiv_c lsel,s,line,,1,4,3 lesize,all,,,ndiv_c,1/GoldR lsel,s,line,,10,12,2 lesize,all,,,ndiv_c,GoldR lsel,all

73

78

83

88

93

98

103

108

113

118

123

Analisi numerica del telaio di un quadcopter | 84

Matteo Ragni

Progettazione Funzionale

128

! ! ! !

lsel,s,line,,5,6,1 lsel,a,line,,2,3,1 lesize,all,,,ndiv_a,1/GoldR lsel,all

133

al,12,6,4,5 largA1 = 2.45 /pnum,area,1

138

! Volumi voffst,1,z1-largA1 voffst,2,largA1 ! foro1 voffst,7,largA1 voffst,12,(z2-largA1)-(z1+largA1) voffst,17,largA1 ! foro2 voffst,22,largA1 voffst,27,(z3-largA1)-(z2+largA1)

143

148

153

voffst,32,largA1 ! foro3 voffst,37,largA1 voffst,42,(z4-largA1)-(z3+largA1)

158

voffst,47,largA1 ! foro4 voffst,52,largA1 voffst,57,(z5-largA1)-(z4+largA1) voffst,62,largA1 ! foro5 voffst,67,largA1

163

168

voffst,72,Lunghezza-(z5+largA1) ! Generazione dei cerchi /pnum,area,0 /pnum,line,1 k,1110,0,Altezza/2,z1 k,1111,0,Altezza/2,z2 k,1112,0,Altezza/2,z3 k,1113,0,Altezza/2,z4 k,1114,0,Altezza/2,z5 k,1120,0,Altezza/2+1,z1 k,1121,0,Altezza/2+1,z2 k,1122,0,Altezza/2+1,z3 k,1123,0,Altezza/2+1,z4 k,1124,0,Altezza/2+1,z5

173

178

183

Analisi numerica del telaio di un quadcopter | 85

Matteo Ragni

Progettazione Funzionale

188

circle,1110,r1,1120 circle,1111,r1,1121 circle,1112,r1,1122 circle,1113,r2,1123 circle,1114,r1,1124 lsel,s,line,,142,143,1 lsel,a,line,,146,147,1 lsel,a,line,,150,151,1 lsel,a,line,,154,155,1 lsel,a,line,,158,159,1 ldele,all lsel,all lcsl,27,141 lcsl,22,141 lcsl,35,144

193

198

203

lcsl,51,145 lcsl,46,145 lcsl,59,148 lcsl,75,149 lcsl,70,149 lcsl,83,152 lcsl,99,153 lcsl,94,153 lcsl,107,156 lcsl,123,157 lcsl,118,157 lcsl,131,160 ! generazione dei fori ! Foro1 al,141,146,143 al,22,146,144 voffst,82,-(Spess+eps) voffst,83,-(Spess+eps) vsbv,2,17 vsbv,3,18 ! Foro2 al,150,145,151 al,151,148,46 voffst,7,(Spess+eps) voffst,14,(Spess+eps) vsbv,5,3 vsbv,6,17 ! Foro3 al,155,149,158 al,70,158,152 voffst,14,Spess+eps voffst,22,-(Spess+eps) vsbv,8,5 vsbv,9,6 ! Foro4 al,161,153,162

208

213

218

223

228

233

238

Analisi numerica del telaio di un quadcopter | 86

Matteo Ragni

Progettazione Funzionale

243

248

253
*endif

al,162,156,94 voffst,22,Spess+eps voffst,37,Spess+eps vsbv,11,6 vsbv,12,8 ! Foro5 al,165,164,157 al,165,160,118 voffst,37,-(Spess+eps) voffst,45,Spess+eps vsbv,14,8 vsbv,15,11

258

263

268

*if,GENERA_MESH,eq,1,then MAPPED = 1 *if,MAPPED,eq,1,then ! Suddivisione delle linee del primo volume ! Volume1 lsel,s,line,,5,16,11 lesize,all,,,ndiv_a,1/GoldR lsel,all lsel,s,line,,6 lesize,all,,,ndiv_a,1/GoldR lsel,all lsel,s,line,,14 lesize,all,,,ndiv_a,GoldR lsel,all lsel,s,line,,17,20,1 lesize,all,size_a*largA1*mesh2 lsel,all ! Volume 19 lsel,s,line,,25,26,1 lesize,all,,,ndiv_a,GoldR lsel,all accat,2,8 lsel,s,line,,141,182,182-141 lesize,all,,,2*ndiv_a lsel,all lsel,s,line,,179,181,2 lesize,all,,,ndiv_c,1/GoldR lsel,all lesize,131,,,ndiv_c,1/GoldR nummrg,kp ! Volume 2 lsel,s,line,,33,34,1 lesize,all,,,ndiv_a,GoldR lsel,all lsel,s,line,,30 lesize,all,,,ndiv_a,GoldR lsel,all lsel,s,line,,32 lesize,all,,,ndiv_a,1/GoldR lsel,all accat,12,13

273

278

283

288

293

298

Analisi numerica del telaio di un quadcopter | 87

Matteo Ragni

Progettazione Funzionale

303

lsel,s,line,,144,168,168-144 lesize,all,,,2*ndiv_a lsel,all lsel,s,line,,31,167,167-31 lesize,all,,,ndiv_c,1/GoldR lsel,all ! Volume4 lsel,s,line,,42,44,1 lesize,all,size_a*largA1*mesh2 lsel,all lsel,s,line,,38 lesize,all,,,ndiv_a,GoldR lsel,all lsel,s,line,,40 lesize,all,,,ndiv_a,1/GoldR lsel,all lsel,s,line,,37,39,2 lesize,all,,,ndiv_c,1/GoldR lsel,all ! Volume18 lsel,s,line,,49,50,1 lesize,all,,,ndiv_a,GoldR lsel,all lsel,s,line,,145,185,185-145 lesize,all,,,2*ndiv_a lsel,all lsel,s,line,,23 lesize,all,,,ndiv_c,GoldR lsel,all lsel,s,line,,177 lesize,all,,,ndiv_c,1/GoldR lsel,all accat,17,23 ! Volume3 lsel,s,line,,57,58,1 lesize,all,,,ndiv_a,1/GoldR lsel,all lsel,s,line,,56 lesize,all,,,ndiv_a,1/GoldR lsel,all lsel,s,line,,54 lesize,all,,,ndiv_a,GoldR lsel,all lsel,s,line,,52,148,148-52 lesize,all,,,2*ndiv_a lsel,all lsel,s,line,,36 lesize,all,,,ndiv_c,GoldR lsel,all accat,27,28 ! Volume7 lsel,s,line,,65,68,1 lesize,all,size_a*largA1*mesh2 lsel,all

308

313

318

323

328

333

338

343

348

353

358

Analisi numerica del telaio di un quadcopter | 88

Matteo Ragni

Progettazione Funzionale

363

368

lsel,s,line,,62 lesize,all,,,ndiv_a,GoldR lsel,all lsel,s,line,,64 lesize,all,,,ndiv_a,1/GoldR lsel,all lsel,s,line,,61,63,2 lesize,all,,,ndiv_c,1/GoldR lsel,all ! Volume17 lsel,s,line,,73,74,1 lesize,all,,,ndiv_a,GoldR lsel,all lsel,s,line,,47,175,175-47 lsel,all lesize,175,,,ndiv_c,1/GoldR accat,32,38 ! Volume5 lsel,s,line,,81,82,1 lesize,all,,,ndiv_a,GoldR lsel,all lsel,s,line,,78 lesize,all,,,ndiv_a,GoldR lsel,all lsel,s,line,,80 lesize,all,,,ndiv_a,1/GoldR lsel,all lsel,s,line,,47,60,60-47 lesize,all,,,ndiv_c,GoldR lsel,all lsel,s,line,,76,152,152-76 lesize,all,,,2*ndiv_a lsel,all accat,42,43 ! Volume10 lsel,s,line,,89,92,1 lesize,all,size_a*largA1*mesh2 lsel,all lsel,s,line,,86 lesize,all,,,ndiv_a,GoldR lsel,all lsel,s,line,,88 lesize,all,,,ndiv_a,1/GoldR lsel,all lsel,s,line,,85,87,2 lesize,all,,,ndiv_c,GoldR lsel,all ! Volume9 lsel,s,line,,97,98,1 lesize,all,,,ndiv_a,GoldR lsel,all lsel,s,line,,153,191,191-153 lesize,all,,,2*ndiv_a lsel,all

373

378

383

388

393

398

403

408

413

Analisi numerica del telaio di un quadcopter | 89

Matteo Ragni

Progettazione Funzionale

418

423

lsel,s,line,,71,93,93-71 lesize,all,,,ndiv_c,GoldR lsel,all lsel,s,line,,173 lesize,all,,,ndiv_c,1/GoldR lsel,all accat,47,53 ! Volume6 lsel,s,line,,105,106,1 lesize,all,,,ndiv_a,1/GoldR lsel,all lsel,s,line,,102 lesize,all,,,ndiv_a,GoldR lsel,all lsel,s,line,,104 lesize,all,,,ndiv_a,1/GoldR lsel,all lesize,84,,,ndiv_c,GoldR lsel,s,line,,100,156,56 lesize,all,,,2*ndiv_a lsel,all accat,57,58 ! Volume13 lsel,s,line,,109,111,2 lesize,all,,,ndiv_c,GoldR lsel,all lsel,s,line,,113,116,1 lesize,all,size_a*largA1*mesh2 lsel,all lsel,s,line,,110 lesize,all,,,ndiv_a,GoldR lsel,all lsel,s,line,,112 lesize,all,,,ndiv_a,1/GoldR lsel,all ! Volume12 lsel,s,line,,121,122,1 lesize,all,,,ndiv_a,1/GoldR lsel,all lsel,s,line,,157,194,194-157 lesize,all,,,2*ndiv_a lsel,all lesize,171,,,ndiv_c,1/GoldR lesize,95,,,ndiv_c,GoldR accat,62,68 ! Volume8 lsel,s,line,,129,130,1 lesize,all,,,ndiv_a,1/GoldR lsel,all lesize,128,,,ndiv_a,1/GoldR lesize,126,,,ndiv_a,GoldR lesize,108,,,ndiv_c,GoldR lsel,s,line,,124,160,160-124 lesize,all,,,2*ndiv_a

428

433

438

443

448

453

458

463

468

473

Analisi numerica del telaio di un quadcopter | 90

Matteo Ragni

Progettazione Funzionale

lsel,all accat,72,73

478

483
*endif

! volume16 lesize,134,,,ndiv_a,GoldR lesize,136,,,ndiv_a,1/GoldR lsel,s,line,,137,140,1 lesize,all,size_a*largA1*mesh2 lsel,all

488

! >>>> MESHING <<<< vsel,all *if,MAPPED,eq,1,then mshape,0,3d mshkey,1 *endif type,esolid vmesh,1 vmesh,19 vmesh,2 vmesh,4 vmesh,18 vmesh,3 vmesh,7 vmesh,17 vmesh,5 vmesh,10 vmesh,9 vmesh,6 vmesh,13 vmesh,12 vmesh,8 vmesh,16 asel,s,area,,3,73,10 asel,a,area,,8,78,10 vdrag,all,,,,,,7,3 asel,all nummrg,all *endif *if,MESH_COMPLETE,eq,1,then vsymm,y,all vsymm,x,all nummrg,all *endif *if,MOTORE,eq,1,then numstr,kp,5000 numstr,line,5000 AltezzaMot = 11.0 ! mm kplist1 = 85,86,87,88,31,109,359,32 kplist2 = 93,94,95,96,55,56,113,383

493

498

503

508

513

518

523

528

Analisi numerica del telaio di un quadcopter | 91

Matteo Ragni

Progettazione Funzionale

533
k,5000,0,Altezza/2-Spess/2,z3 k,5001,0,Altezza/2-Spess/2,z5 k,5002,0,Altezza/2+AltezzaMot,z3 k,5003,0,Altezza/2+AltezzaMot,z5 k,5010,0,Altezza/2+AltezzaMot,z4 l,5000,5002 l,5001,5003 l,5002,5010 l,5003,5010 ! ! ! ! 5000 5001 5002 5003

538

543

548

*do,jj,1,8,1 l,5000,kplist1(jj) ! 5004 - 5018 l,5001,kplist2(jj) ! 5005 - 5019 *enddo type,erigid lsel,s,line,,5000,5019,1 lmesh,all allsel,all *endif

553

558

563

*if,INERZIA_MOTORE,eq,1,then type,emass real,emass kmesh,5010 *endif *if,FORZE,eq,1,then FORZA = 7.280 ! N MOMENTO = 2427 ! N mm

568

ksel,s,,,5010 nslk,s f,all,FY,FORZA f,all,MY,MOMENTO allsel,all *endif *if,ARMONICA,eq,1,then Torque = 1000 ksel,s,,,5010 nslk,s

573

578

583
*endif

f,all,MX,Torque,Torque f,all,MZ,Torque,Torque

588

*if,VINC_CONTATTO,eq,1,then ! Vincolamento della struttura - contatto nsel,s,loc,y,3.75-eps,3.75+eps nsel,a,loc,y,-3.75-eps,-3.75+eps nsel,r,loc,z,0,39.1

Analisi numerica del telaio di un quadcopter | 92

Matteo Ragni

Progettazione Funzionale

593

d,all,uy allsel,all *endif *if,VINC_PIASTRE,eq,1,then ! Vincolamento della struttura - viti: asel,s,area,,11,16,5 asel,a,area,,94,97,3 asel,a,area,,239,245,6 asel,a,area,,327,332,5 asel,a,area,,460,466,6 asel,a,area,,548,553,5 asel,a,area,,681,687,6 nsla,s d,all,ux d,all,uz allsel,all *endif *if,STATICA,eq,1,then /solu antype,static,new solve /post1 pldisp *endif *if,MODALE,eq,1,then /solu antype,modal,new MODOPT,LANP,50 PCGOPT,0,,AUTO,NO,,AUTO Consistent = 1 *if,Consistent,eq,1,then lumpm,off *endif *if,Consistent,eq,0,then lumpm,on *endif mxpand,50 solve /post1 set,list SPOSTAMENTO_ESTREMO = 1 SPOSTAMENTO_MOTORE = 1 *endif *if,ARMONICA,eq,1,then /solu BeginFR = 500 ! Hz EndFR = 1300 ! Hz antype,harmic hropt,full hrout,off harfrq,BeginFR,EndFR nsubst,100 kbc,1 solve

598

603

608

613

618

623

628

633

638

643

648

Analisi numerica del telaio di un quadcopter | 93

Matteo Ragni

Progettazione Funzionale

SPOSTAMENTO_ESTREMO = 1 SPOSTAMENTO_MOTORE = 1 *endif

653

*if,SPOSTAMENTO_ESTREMO,eq,1,then NODESEL = 13563 /post26 numvar,200 ! espande il numero di variabili disponibili nsel,s,,,NODESEL ! *BeginFunction U_SUM ! ! Name: U_SUM ! ID: 2 ! Function: sqrt(nsol(NODESEL,u,x)^2+nsol(NODESEL,u,y)^2+nsol(NODESEL,u,z )^2) ! ! Ottiene dalla soluzione il valore di spostamento nsol,100,NODESEL,u,x ! X nsol,101,NODESEL,u,y ! Y nsol,102,NODESEL,u,z ! Z ! elevazione a quadrato prod,105,100,100 ! X^2 prod,106,101,101 ! Y^2 prod,107,102,102 ! Z^2 ! somma degli elementi add,110,107,106 ! Z^2 + Y^2 add,111,110,105 ! Z^2 + Y^2 + Z^2 ! radice quadrata sqrt,2,111,,,U_SUM ! sqrt(X^2 + Y^2 + Z^2) ! *EndFunction allsel,all *endif

658

663

668

673

678

683

688

693

698

703

*if,SPOSTAMENTO_MOTORE,eq,1,then ksel,s,,,5010 nslk,s *get,NODO_PRP,node,,num,max ! *BeginFunction U_SUM2 ! ! Name: U_SUM2 ! ID: 3 ! Function: sqrt(nsol(NODO_PRP,u,x)^2+nsol(NODO_PRP,u,y)^2+nsol(NODO_PRP, u,z)^2) nsol,90,NODO_PRP,u,x ! X nsol,91,NODO_PRP,u,y ! Y nsol,92,NODO_PRP,u,z ! Z ! elevazione a quadrato prod,95,90,90 ! X^2 prod,96,91,91 ! Y^2 prod,97,92,92 ! Z^2 ! somma degli elementi add,98,97,96 ! Z^2 + Y^2 add,99,98,95 ! Z^2 + Y^2 + Z^2 ! radice quadrata sqrt,3,99,,,U_SUM2 ! sqrt(X^2 + Y^2 + Z^2) ! *EndFunction ! *BeginFunction ROT_SUM

Analisi numerica del telaio di un quadcopter | 94

Matteo Ragni

Progettazione Funzionale

708

713

718
*endif

! ! Name: ROT_SUM ! ID: 4 ! Function: sqrt(nsol(NODO_PRP,rot,x)^2+nsol(NODO_PRP,rot,y)^2) nsol,80,NODO_PRP,rot,x ! Rx nsol,81,NODO_PRP,rot,z ! Ry ! elevazione a quadrato prod,85,80,80 ! Rx^2 prod,86,81,81 ! Ry^2 ! somma degli elementi add,87,85,86 ! Rx^2 + Ry^2 ! radice quadrata sqrt,4,87,,,ROT_SUM ! sqrt(Rx^2 + Ry^2) ! *EndFunction

5.6.2

Elementi utilizzati

p x m b l y t i u x0 uz q ux z0

w v n y0 s z r uy j

o a

Figura 5.6.1: SOLID186

Analisi numerica del telaio di un quadcopter | 95

Matteo Ragni

Progettazione Funzionale

Analisi numerica del telaio di un quadcopter | 96

Matteo Ragni

Progettazione Funzionale

5.7 Allegati modello SOLID187


5.7.1 Disegno tenico

B-B

7.50

6.50 4.50 B B M3 4.50 56 7.50 9 3 250

R1

45

242 234 226 32 17.86 0

Analisi numerica del telaio di un quadcopter | 97

Figura 5.7.1: Disegno del braccio ottimizzato

Matteo Ragni

Progettazione Funzionale

5.7.2

Script

! Ragni Matteo - 2013 finish /clear,start,new

/title,Modello Ottimizzato /prep7 ! >>>> FLAGS <<<< IMPORTMODEL = 1 DOMESH = 1 SETFORZA = 1 MOTORE = 1 VINCOLI = 1 CONTATTO = 1 ! set: 1 = contatto normale, 2 = simil modello SHELL281 SETFORZA = 1 SETARMONICA = 0 STATICO = 1 MODALE = 0 ARMONICA = 0 ! >>>> FLAGS <<<< ! >>>> MESH <<<< mesh = 0.25 ! >>>> MESH <<<< ! >>>> PARAMETRI <<<< PI = acos(-1) ! qualcuno ha chiesto del pigreco? eps = 1e-3

11

16

21

26

31

36

! Parametri materiale E_YOUNG = 69000 ! MPa ni = 0.33 ! undef E_TAN = 26000 ! MPa rho = 2700e-12 ! Mg/mm^3 Y_G_MOT = 11.0 ! mm

Modulo Young Poisson Modulo Tangente Densit Altezza baricentro motore

41

! >>>> ELEMENTI <<<< ! Elementi solid et,1,solid187 keyopt,1,6,0 ! Elementi di collegamento et,2,mpc184,1 ! Elementi massa et,10,mass21 ! Inerzia del motore M_mot = 192.95*1e-6 Px_mot = 27137.17*1e-6 Pz_mot = 52792.09*1e-6 Py_mot = 52792.09*1e-6 keyopt,10,1,0 keyopt,10,2,0 keyopt,10,3,0

46

51

! Mg ! Mg/mm^2 ! !

56

Analisi numerica del telaio di un quadcopter | 98

Matteo Ragni

Progettazione Funzionale

r,10,M_mot,M_mot,M_mot,Px_mot,Py_mot,Pz_mot mp,EX,1,E_YOUNG mp,PRXY,1,ni mp,dens,1,rho ! >>>> MODELLO E MESHING <<<<

61

66

71

76

*if,IMPORTMODEL,eq,1,then ! >>>> IMPORT <<<< ~parain,Frame_arm_2,x_t ! >>>> IMPORT <<<< vlscale,all,,,1000,1000,1000,,,1 ! modello scalato a [mm] asel,s,,,1,10,1 asel,a,,,21,30,1 lsla,s lsel,r,,,201,240,1 ldiv,all allsel,all ! Visualizzazione isometrica /view,1,1,1,1 /ang,1 /rep,fast *endif *if,DOMESH,eq,1,then mshape,1,3D mshkey,0 mopt,aorder,off ! comincia il meshing dalle aree piu piccole mopt,expnd,4 mopt,trans,2 esize,mesh vmesh,1 *endif ! >>>> CONDIZIONI AL CONTORNO <<<<

81

86

91

96

101

*if,VINCOLI,eq,1,then asel,s,,,7,10,1 asel,a,,,21,24,1 nsla,s d,all,ux d,all,uz allsel,all *endif ! Genera un contatto uniforme che sar quello che intendo usare per ! il modello attuale *if,CONTATTO,eq,1,then nsel,s,loc,y,3.75-eps,3.75+eps nsel,a,loc,y,-3.75-eps,-3.75+eps nsel,r,loc,z,0,39.1+eps d,all,uy *endif ! Genera un contatto molto simile al contatto estrapolato ! dal modello SHELL281:CONTA174:TARGE170

106

111

Analisi numerica del telaio di un quadcopter | 99

Matteo Ragni

Progettazione Funzionale

116

121

126

*if,CONTATTO,eq,2,then nsel,s,loc,y,3.75-eps,3.75+eps nsel,r,loc,z,39.1+eps-5,39.1 d,all,uy nsel,all nsel,s,loc,y,3.75-eps,3.75+eps nsel,r,loc,z,0-eps,5 d,all,uy nsel,s,loc,y,-3.75-eps,-3.75+eps nsel,r,loc,z,32-5,32+5 d,all,uy *endif *if,MOTORE,eq,1,then asel,s,,,2,6,4 asel,a,,,25,29,4 lsla,s ksll,s numstr,kp,1000 ! Da 1000 i kp che corrispondono al motore kcenter,kp,21,703,23 ! 1000 kcenter,kp,22,700,24 ! 1001 kcenter,kp,5,719,7 ! 1002 kcenter,kp,6,716,8 ! 1003 kcircle1 = 21,703,23,704 kcircle2 = 22,700,24,699 kcircle3 = 5,719,7,720 kcircle4 = 6,716,8,715 numstr,line,2000 *do,j,1,4 l,1000,kcircle1(j) l,1001,kcircle2(j) l,1002,kcircle3(j) l,1003,kcircle4(j) enddo * l,1000,1001 l,1002,1003 lsel,s,,,2000,2017,1 type,2 mat,2 lmesh,all k,3000,0,3.75+Y_G_MOT,226 k,3001,0,3.75+Y_G_MOT,242 k,3010,0,3.75+Y_G_MOT,226+(242-226)/2 ! Punto di applicazione massa numstr,line,3000 l,3000,3010 ! 3000 l,3001,3010 ! 3001 l,1000,3000 ! 3002 l,1002,3001 ! 3003 lsel,s,,,3000,3003,1 type,2 mat,2 lmesh,all type,10 real,10 kmesh,3010 allsel,all endif *

131

136

141

146

151

156

161

166

171

Analisi numerica del telaio di un quadcopter | 100

Matteo Ragni

Progettazione Funzionale

176

181

*if,SETFORZA,eq,1,then FORZA = 7.28 ! N MOMENTO = 2427 ! N*mm ksel,s,,,3010 nslk,s f,all,FY,FORZA f,all,MY,MOMENTO allsel,all *endif *if,SETARMONICA,eq,1,then ArmForce = 1000 ! N mm ksel,s,,,3010 nslk,s f,all,MX,ArmForce,ArmForce f,all,MZ,ArmForce,ArmForce allsel,all *endif ! >>>> SOLUZIONI <<<< *if,STATICO,eq,1,then /solu antype,static,new solve /post1 pldisp *endif *if,MODALE,eq,1,then /solu antype,modal,new MODOPT,LANP,50 PCGOPT,0,,AUTO,NO,,AUTO Consistent = 1 *if,Consistent,eq,1,then lumpm,off endif * *if,Consistent,eq,0,then lumpm,on *endif mxpand,50 solve /post1 set,list SPOSTAMENTO_ESTREMO = 1 SPOSTAMENTO_MOTORE = 1 *endif *if,ARMONICA,eq,1,then /solu BeginFR = 500 ! Hz EndFR = 1300 ! Hz antype,harmic hropt,full hrout,off harfrq,BeginFR,EndFR nsubst,100

186

191

196

201

206

211

216

221

226

Analisi numerica del telaio di un quadcopter | 101

Matteo Ragni

Progettazione Funzionale

231
*endif

kbc,1 solve SPOSTAMENTO_ESTREMO = 1 SPOSTAMENTO_MOTORE = 1

236

! >>>> POSTPROC <<<< *if,SPOSTAMENTO_ESTREMO,eq,1,then

241

/post26 numvar,200

! espande il numero di variabili disponibili

NODESEL = 212585

246

251

256

261

266
*endif

! *BeginFunction U_SUM ! ! Name: U_SUM ! ID: 2 ! Function: sqrt(nsol(NODESEL,u,x)^2+nsol(NODESEL,u,y)^2+nsol(NODESEL,u,z )^2) ! ! Ottiene dalla soluzione il valore di spostamento nsol,100,NODESEL,u,x ! X nsol,101,NODESEL,u,y ! Y nsol,102,NODESEL,u,z ! Z ! elevazione a quadrato prod,105,100,100 ! X^2 prod,106,101,101 ! Y^2 prod,107,102,102 ! Z^2 ! somma degli elementi add,110,107,106 ! Z^2 + Y^2 add,111,110,105 ! Z^2 + Y^2 + Z^2 ! radice quadrata sqrt,2,111,,,U_SUM ! sqrt(X^2 + Y^2 + Z^2) ! *EndFunction allsel,all

271

276

281

286

*if,SPOSTAMENTO_MOTORE,eq,1,then ksel,s,,,3010 nslk,s *get,NODO_PRP,node,,num,max ! *BeginFunction U_SUM2 ! ! Name: U_SUM2 ! ID: 3 ! Function: sqrt(nsol(NODO_PRP,u,x)^2+nsol(NODO_PRP,u,y)^2+nsol(NODO_PRP, u,z)^2) nsol,90,NODO_PRP,u,x ! X nsol,91,NODO_PRP,u,y ! Y nsol,92,NODO_PRP,u,z ! Z ! elevazione a quadrato prod,95,90,90 ! X^2 prod,96,91,91 ! Y^2 prod,97,92,92 ! Z^2 ! somma degli elementi add,98,97,96 ! Z^2 + Y^2

Analisi numerica del telaio di un quadcopter | 102

Matteo Ragni

Progettazione Funzionale

291

296

301

306

add,99,98,95 ! Z^2 + Y^2 + Z^2 ! radice quadrata sqrt,3,99,,,U_SUM2 ! sqrt(X^2 + Y^2 + Z^2) ! *EndFunction ! *BeginFunction ROT_SUM ! ! Name: ROT_SUM ! ID: 4 ! Function: sqrt(nsol(NODO_PRP,rot,x)^2+nsol(NODO_PRP,rot,y)^2) nsol,80,NODO_PRP,rot,x ! Rx nsol,81,NODO_PRP,rot,z ! Ry ! elevazione a quadrato prod,85,80,80 ! Rx^2 prod,86,81,81 ! Ry^2 ! somma degli elementi add,87,85,86 ! Rx^2 + Ry^2 ! radice quadrata sqrt,4,87,,,ROT_SUM ! sqrt(Rx^2 + Ry^2) ! *EndFunction *endif
5.7.3 Elementi utilizzati

l z0 p uz x0 i ux uy m j

r y0 q

k n

Figura 5.7.2: SOLID187

Analisi numerica del telaio di un quadcopter | 103

Matteo Ragni

Progettazione Funzionale

Analisi numerica del telaio di un quadcopter | 104

Bibliograa
[1]

M. Ragni, Quacopter Model Report, Report di progetto per il corso Modeling and simulation of mechanical systems, 2012 D. Mellinger, V. Kumar, Minimum Snap Trajectory Generation and Control IEEE International Conference on Robotics and Automation (ICRA), 2011
for Quadrotors,

[2]

[3]

T. Lee, M. Leok, N. H. McClamroch, Control of Complex Maneuvers for a Quadrotor UAV using Geometric Methods on SE (3), Cornell University Library, 2011 J. B. Brandt, M. S. Selig,
Propeller Performance Data at Low Reynolds Numbers, 49th AIAA Aerospace Sciences Meeting,

[4]

2011

[5]

S. K. Phang, C. Cai, B. M. Chen, T. H. Lee, Design and mathematical model of a 4-standardpropeller (4SP) quadrotor, Proceeding of the 10th congress on Intelligent Control and Automation,

2012

[6]

M. Selig, Modeling Propeller Aerodynamics and Slipstream AIAA Atmospheric Flight Mechanics Conference, 2010 C. Persson, Drive Calculator v3.4 F. Garza, E. Morelli,  A Research Langley, 2003

Eects on Small UAVs in Realtime,

[7] [8]

collection of Nonlinear Aircraft Simulations in MATLAB ,

NASA

[9] Ansys Release 13.0, ANSYS Command Reference, [10] [11] [12] [13]

2010 Ansys Release 13.0, ANSYS Element Reference, 2010 Ansys Release 13.0,  ANSYS Structural Analysis Guide, 2010 Ansys Release 13.0, ANSYS Mechanical APDL Tutorial, 2010 Ansys Release 13.0, ANSYS Contact Technology Guide, 2010

105