Coda modello
/*Queue template*/«Mettetevi in coda con la vostra auto di ogni sorta e modello. Vi accorgerete che se siete in compagnia di tanti altri, le fermate saranno frequenti ed improvvise.» |
Last modified: Sep 13, 2003 (Created: Aug 20, 2003)
Location: http://paris6969.altervista.org
Feedback: paris6969@altervista.org
Tutti i contenuti di paris6969.altervista.org sono proprietà dell'autore paris6969@altervista.org e sono protetti dalle leggi italiane ed internazionali relative ai diritti d'autore (copyright). Non possono essere utilizzati in tutto o in parte.
Modello di coda
Vi siete mai chiesti perché durante la marcia in una coda a volte gli autoveicoli hanno una velocità variabile, addirittura fino a fermarsi anche in assenza apparente di ostacoli?Ebbene vi propongo un modello la cui equazione del moto una volta integrata vi porterà a giustificare l'arcano.
Chiaramente ve lo descrivo in pseudo-codice, e ciascuno dei più volenterosi di voi potranno implementarlo nel linguaggio che più preferisce.
Definizione delle costanti
M ( -> massa del veicolo)
ainit ( -> accelerazione iniziale)
vinit ( -> velocità iniziale)
sinit ( -> posizione iniziale)
dt ( -> passo di integrazione)
DF ( -> soglia per frenare)
DT ( -> soglia per accelerare)
TMax ( -> limite forza traente - STILE DI GUIDA)
TMin ( -> minima forza traente - STILE DI GUIDA)
FMax ( -> limite forza frenante - CONDIZIONI DI ATTRITO)
Definizione delle variabili
Ds ( -> distanza dal veicolo che precede)
Dv ( -> differenza di velocità col veicolo che precede)
ET ( -> integrale dell'energia traente)
EF ( -> integrale dell'energia frenante)
Il modello
A seconda della distanza tra i veicoli, il guidatore decide se accelerare, frenare o procedere di inerzia.DT < Ds ( -> accelerare)
DF < Ds < DT ( -> inerzia)
Ds < DF ( -> frenare)
La forza di trazione è in relazione alla differenza di velocità tra i veicoli, e non potrà essere superiore ad un valore limite (caratteristiche di guida del guidatore o limiti del motore).
La forza di frenata è in relazione alla distanza tra i veicoli e non pu= essere superiore ad un valore limite (slittamento).
T ( -> forza traente = KT * Dv*Dv + Tmin il guidatore accelera di meno quanto
è prossima la velocità tra i veicoli.
Lo stile di guida implica una Tmin.)
F ( -> forza frenante = KF / Ds*Ds il guidatore frena maggiormente quanto
è vicino all'ostacolo)
Integrazione dell'equazione del moto
START
a = ainit ( -> accelerazione iniziale)
v = vinit ( -> velocità iniziale)
s = sinit ( -> posizione iniziale)
ET = 0
EF = 0
INIZIO CICLO
if Ds = 0 ( -> collisione)
collisione()
if Ds < DF ( -> frenare)
T = 0
F = KF / Ds*Ds ( -> division by zero!!!!)
if F > FMax
F = FMax
else
F = 0
if Ds < DT ( -> procedere per inerzia)
T = 0
else ( -> accelerare)
T = KT * Dv*Dv + Tmin
if T > TMax
T = TMax
a = (T - F) / M
v = a*Dt + v
s = v*Dt + s
ET = T*v*Dt + ET
EF = F*v*Dt + EF
END CICLO
FINE