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
A
acc
t(s)
C
moto uniforme
dec
acc
moto uniforme
dec
Spostamento Rapido
Consumo
(s)
F(N)
V(m/s)
B
A
C
C
B
t(s)
Facciamo un po di conti…
Azione e reazione
Legge di Newton:
CO2
F = M*a
• F = forza applicata (N)
• M = massa di SPHERES (kg), NON “peso”
• a = accelerazione (m/s2)
Facciamo un po di conti…
Durante l’accelerazione (moto accelerato, da fermo):
V = a*t
2
S = ½*a*t
•
•
•
•
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:
F
T
S
CS
KC
M
FMAX
0.001N 10s
0
0.01N 10s 0.12m
0
1s
10s/(Ns)
4.15kg
-
0.02N
10s 0.24m
2s
10s/(Ns)
4.15kg
-
0.05N
10s 0.54m 4.5s 10s/(Ns)
4.15kg 0.046N
0.1N
10s 0.54m 4.5s 10s/(Ns)
4.15kg 0.046N
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 = P*2*(K
2*(K
(KC*F*TA)
•
•
•
•
CD = consumo per giungere a destinaz.
P = numero di tratti rettilinei
KC = consumo specifico
TA = tempo di accelerazione/decelerazione
Spostamento Rettilineo
Consumo
(s)
F(N)
V(m/s)
TA
V/2
TS
TA
TA
V/2
V/2
TS
TA
t(s)
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*TA  F*TA = CD/(P*2*KC) (impulso)
F = M*a  a=F/M
V = a*TA  V = F/M*TA  F*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
Ovvero P*(TA+TS) > P*TA
(2*ST*P*KC*M/CD) > CD/(2*KC*F)
1o termine
Ovvio! Ma non scordiamolo!
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
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
Z
• KC aumenta di un fattore √3.
Y
F
X
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…
Adesso tocca a voi…
TD = (83s2/m * P*ST/CD) + CD/0.92
TD
CD
P*ST
1m
1s
84.1s
2m 3m 4m 6m 8m
TD
2s
3s
5s
7.5s
10s
15s
20s
CD
Adesso tocca a voi…
TD = (83s2/m * P*ST/CD) + CD/0.92
Tempo a destino
150
1
1.5
2
100
Td (s)
2.5
3
4
5
50
6
8
10
0
0
5
10
15
Cd (s)
20
25
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)
Seconda ottimizzazione…
Se:
TD = (83s2/m * (P*ST)/CD) + CD/0.92
Ha un TD “minimo”, dove la derivata e’ nulla!
TA+TS < TA
d TD(CD) / d CD = 0
T
-(83s2/m * (P*ST)/CTD2+T) >+T 1/0.92 = 0
CD,opt2 = (83s2/m * (P*ST) * 0.92)
D
A
S
A
CD,opt = √(76.4s2/m * (P*ST))
CD
Oppure…
… il grafico puo’ essere letto “a rovescio”
Se voglio far in fretta,
consumo parecchio
Se voglio consumare
TD
poco, devo andare adagio
Cosa mi conviene?
In entrambi i casi perdo punti…
CD
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=5
P=4
P=3
P=2
P=1
+S4+
ST=S1+
P=2
+S5
+S2+
+S3+
A
(punto di partenza)
P=1
(sat)
Punteggio finale (ST = 1m)
P (nubi)
1 (0)
2 (1)
3 (2)
4 (3)
5 (4)
7 (6)
9 (8)
11 (10)
Q
Penalty Pulv.
-32s
-12s
-42.3s -8.8s -8s
-55.4s -5.4s -16s
-64s
-2.3s -24s
-71.6s
-28s
-84.7s
-28s
-96s
-28s
-106.1s
-28s
TOT
-44s
-59.1s
-76.8s
-90.3s
-100s
-113s
-124s
-134s
CD,opt
5.2s
7.3s
9.0s
10.4s
11.6s
13.7s
15.5s
17.2s
Punteggio finale (ST = 1m)
P (nubi)
1 (1)
2 (2)
3 (3)
4 (4)
5 (5)
7 (7)
Q
Penalty Pulv.
-32s
-8.8s -8s
-42.3s -5.4s -16s
-55.4s -2.3s -24s
-64s
-28s
-71.6s
-28s
-84.7s
-28s
TOT
-48.8s
-63.7s
-81.7s
-92s
-100s
-113s
CD,opt
5.2s
7.3s
9.0s
10.4s
11.6s
13.7s
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!
Scarica

Analisi e Ottimizzazione di Traiettorie per SPHERES