380 likes | 476 Views
Analisi e Ottimizzazione di Traiettorie per SPHERES. Zero Robotics Competition 2012. Di cosa si tratta?. Occorre muoversi da un punto A ad un punto B e nel frattempo far fuoriuscire del pulviscolo Entro un tempo dato (vincolo) Consumando poco (minimizzazione/vincolo)
E N D
Analisi e Ottimizzazione di Traiettorie per SPHERES Zero Robotics Competition 2012
Di cosa si tratta? • Occorre muoversi da un punto A ad un punto B e nel frattempo far fuoriuscire del pulviscolo • Entro un tempo dato (vincolo) • Consumando poco (minimizzazione/vincolo) • Ottenendo il massimo dei punti (ottimizzazione) • Qual e’ la strategia e/o la traiettoria migliore per ottenere tutto cio’? Proviamo a fare un po di conti ?
Spostamento e Rotazione (nube) C B (nube) A (punto di partenza)
Spostamento Rettilineo (A->C) • Satellite inizialmente fermo • Accelerazione uniforme (quanta?) • Moto rettilineo uniforme (per quanto tempo?) • Decelerazione uniforme (quanta?) • Arresto (circa…)
Spostamento Rettilineo Consumo (s) RILASCIO PULVISCOLO F(N) v(m/s) B t(s) A C acc moto uniforme dec acc moto uniforme dec
Spostamento Rapido Consumo (s) F(N) V(m/s) B B t(s) A C C
Facciamo un po di conti… Azione e reazione Legge di Newton: F = M*a • F = forza applicata (N) • M = massa di SPHERES (kg), NON “peso” • a = accelerazione (m/s2) CO2
Facciamo un po di conti… Durante l’accelerazione (moto accelerato, da fermo): V = a*t S = ½*a*t2 • V = velocita’ (m/s) • a = accelerazione (m/s2) • t = tempo (s) • S = spostamento (m)
Facciamo un po di conti… Moto rettilineo uniforme: V = costante S = V*t • V = velocita’ (m/s) • S = spostamento (m) • t = tempo (s)
Facciamo un po di conti… Consumo (carburante): CS = KC * F * t CS = KC * M * a * t = KC * M * V • CS = consumo (espresso in s di carburante consumato) • F = forza (N) • t = tempo (s) • KC = consumo specifico (dipende dal motore…) (s/(Ns)) • V = velocita’ (m/s) • M = massa (kg)
Caratterizzazione SPHERES Ma quanto valgono i parametri di SPHERES? Si lanciano delle simulazioni variando F: KR ≈ 0.05s/(o/s)
E per rilasciare la polvere? Occorre far ruotare SPHERES a 30o/s, una tantum, tramite una coppia. Ma quanto consumo? CR = KR*ωROT • CR = consumo per ruotare (s) • ωROT = velocita’ angolare di rotazione (o/s) • KR = consumo specifico per ruotare ≈ 0.05 s/(o/s) CR ≈ 1.5s
Prossimo passo E ora proviamo a: • unire le varie formule, • fare un po di conti, • ragionarci sopra, • ottimizzare le scelte… Sembra facile… ma lo e’!
Spostamento Rettilineo Consumo (s) F(N) V(m/s) t(s) TA TS TA TA TS TA
Carburante totale Sapendo che: CS = KC*F*t il consumo per giungere a destinazione sara’: • CD = consumo per giungere a destinaz. • P = numero di tratti rettilinei • KC = consumo specifico • TA = tempo di accelerazione/decelerazione CD =P*2*(KC*F*TA) CD = 2*(KC*F*TA) CD = (KC*F*TA)
Spostamento Rettilineo Consumo (s) F(N) V(m/s) t(s) TA TS TA TA TS TA V/2 V/2 V/2 V/2
Spostamento complessivo Spazio totale percorso: ST = P*V*(TA+TS) (TA+TS) = ST / (P*V) • ST = spazio totale percorso per giungere a destinazione • P = numero di tratti rettilinei • TA = tempo di accelerazione/decelerazione • TS = tempo di moto uniforme
Combiniamo le formule… Partendo quindi da: CD = P*2*KC*F*TAF*TA = CD/(P*2*KC) (impulso) F = M*a a=F/M V = a*TA V = F/M*TAF*TA=V*M (impulso) Uguagliando, si ottiene la velocita’ di crociera: V = CD/(P*2*KC*M) • CD = consumo per giungere a destinazione • P = numero di tratti rettilinei • KC = consumo specifico • M = massa di SPHERES
Spostamento Rettilineo Consumo (s) F(N) V(m/s) t(s) TA TS TA TA TS TA
Tempo per giungere Tempo per giungere a destinazione: TD = P*(2*TA+TS) TD =P*(TA+TS)+P*TA • TD = tempo per giungere a destinazione • P = numero di tratti rettilinei • TA = tempo di accelerazione/decelerazione • TS = tempo di moto uniforme
Combiniamo le formule… Partendo da: F*TA=V*M TA=V*M/F (TA+TS) = ST / (P*V) TD =P*(TA+TS)+P*TA Tempo per giungere a destinazione: TD = P*ST/(P*V) + P*V*M/F Sostituendo ancora: V = CD/(2*P*KC*M) Si ha: TD =(2*ST*P*KC*M/CD) + CD/(2*KC*F) • TD = tempo per giungere a destinazione • P = numero di tratti rettilinei • ST = spazio totale percorso per giungere a destinazione • CD = Consumo di carburante per giungere a destinazione
Combiniamo le formule… Attenzione alle formule! Valgono fintanto che TA+TS > TA OvveroP*(TA+TS) > P*TA (2*ST*P*KC*M/CD) >CD/(2*KC*F) Ovvio! Ma non scordiamolo! 1o termine 2o termine
Verifica dimensionale Proviamo a verificare le “unita’ di misura” della formula TD = (83s2/m * P*ST/CD) + CD/0.92 • ST e’ espresso in m • CD e’ espresso in s (unita’ di misura “strana” per un consumo, ma e’ quella usata per SPHERES) • P e’ un numero intero puro Quindi… [s] = ([s2/m] * [m]/[s]) + [s] Corretto!
> Un esempio TD = (83s2/m * P*ST/CD) + CD/0.92 Se: • ST = 0.9m (p.to di partenza – satellite) • P = 5 (= 4/5 nubi) • CD = 10s Si ha: TD =(83s2/m * 5*0.9m/10s) + 10s/0.92 = 37.3s + 10.8s = 48.1s
Z Y F X Attenzione… • Le formule trovate valgono se la forza e’ applicata lungo uno degli assi propri del satellite Xs,Ys,Zs. • Cosa succede se si vuole applicare una forza lungo una direzione diversa? • Caso peggiore: la direzione Fx=Fy=Fz=F • Tre propulsori attivi (X, Y, Z) consumo triplo • Forza √ (Fx2+Fy2+Fz2) = √3 * F • Quindi consumo di piu’ a parita’ di forza • KC aumenta di un fattore √3.
> Prima ottimizzazione… Sapendo che: TD = (2*ST*P*KC*M/CD) + CD/(2*KC*F) Premesso che: ST, M, KC, NON si possono variare • Quale valore di F scegliero’? Il MASSIMO! (FMAX ) TD = (83s2/m * P*ST/CD) + CD/0.92 • Quale valore di CD scegliero’? Dipende… • Quale valore di P scegliero’? Dipende…
TD CD Adesso tocca a voi… TD = (83s2/m * P*ST/CD) + CD/0.92
Adesso tocca a voi… TD = (83s2/m * P*ST/CD) + CD/0.92
Ragioniamo un po’… … sulla formula TD = (83s2/m * (P*ST)/CD) + CD/0.92 • A parita’ di consumo CD il tempo totale TD aumenta all’aumentare del prodotto (P * ST) • A parita’ di punti P e di percorso totale ST, il tempo totale dipende dal consumo CD.Ci sara’ un “ottimo” (prossima pagina). • A parita’ di tempo totale TD il consumo CD dipende dal prodotto (P * ST)
TA+TS < TA TD TA+TS > TA CD Seconda ottimizzazione… Se: TD = (83s2/m * (P*ST)/CD) + CD/0.92 Ha un TD “minimo”, dove la derivata e’ nulla! d TD(CD) / d CD = 0 -(83s2/m * (P*ST)/CD2) + 1/0.92 = 0 CD,opt2 = (83s2/m* (P*ST) * 0.92) CD,opt = √(76.4s2/m*(P*ST))
TD CD Oppure… … il grafico puo’ essere letto “a rovescio” Se voglio far in fretta, consumo parecchio Se voglio consumare poco, devo andare adagio Cosa mi conviene? In entrambi i casi perdo punti…
Ottimizzazione Punteggio Se arrivo per primo, il punteggio finale sara’ dato da : Q = (K – TD) + 2 * (CTOT - CD) Dove: • Punti per chi arriva primo (piu’ si arriva in fretta, piu’ si guadagna) • K e’ una costante che tiene conto del tempo necessario per le “altre manovre” e del tempo richiesto al secondo per terminare • TD e’ il tempo necessario per depositare le nubi ed uscire da zona 1 • Carburante rimasto • CTOT e’ il carburante a disposizione (sommato al rifornimento) • CD e’ il consumo per depositare le nubi ed uscire dalla zona 1 Da cui: Q = K’ – TD– 2 * CD
Ottimizzazione Punteggio Sostituendo, si ha: Q = K’ – ((83s2/m * P*ST/CD) + CD/0.92) - 2 * CD Q = K’ - (83s2/m * P*ST/CD) – 3.09 * CD Di cui si cerca il massimo in funzione di CD (derivata = 0, come prima…) CD,opt = 5.18s * √((P*ST) * m-1) e, sostituendo: Qopt = K’ – 2 * 3.09 * CD,opt Qopt = K’ – 32.0s * √((P*ST) * m-1) Quindi, quanti punti “costa” una nube in piu?
Spostamento e Rotazione P=1 P=2 P=3 P=4 P=5 +S4+ ST=S1+ P=2 +S5 +S2+ +S3+ A P=1 (sat) (punto di partenza)
Ma Attenzione… Ci sono anche tanti altri fattori da tenere in considerazione… • Piu’ pulviscolo rilascio piu’ rallento l’avversario… • Piu’ velocemente arrivo al rifornimento piu’ probabilita’ ho di prendere il piu’ fornito… • Ecc. Ecc. Ora avete gli strumenti matematici per considerarli tutti…
Concludendo… BUONA GARA E CHE VINCA IL MIGLIORE!