Modello di simulazione del traffico semplice [chiuso]

3

Voglio scrivere una semplice simulazione del traffico con una intersezione stradale. Per prima cosa ho pensato ad un automa cellulare nel modello, ma non dovrebbe essere limitato da un sistema a griglia discreto sottostante, quindi le strade potrebbero essere più indipendenti dalla posizione o dai livelli. Attualmente riesco a pensare a tre approcci e mi piacerebbe avere una tua opinione.

  1. Via come entità Un agente fa parte di questa entità quando ci sta guidando.

  2. Intersezione (o endpoint) come entità Un agente guida dall'endpoint A alla B.

  3. Intersezione e via come entità Unite i punti 1 e 2 in un unico sistema.

Questo mi ricorda in qualche modo il vantaggio di una macchina Moore vs Mealy (Stati contro Transizione). Cosa pensi sarebbe la migliore rappresentazione per andare con. Come accennato, l'intero sistema dovrebbe essere non solo limitato da valori discreti, perché mi piacerebbe animare la transizione dell'agente dalla strada A alla B. Qualche idea apprezzabile.

    
posta seb-mtl 20.12.2014 - 20:23
fonte

1 risposta

5

Solo alcuni pensieri.

(Esonero di responsabilità obbligatorio: l'uso delle informazioni per scopi diversi dall'uso o intrattenimento strettamente personale, o l'uso per scopi che possono danneggiare la sicurezza o causare la perdita di beni o la vita, è severamente vietato.)

Dato che non sono certo su cosa intendi per "entità", elencherò solo le proprietà (modello e comportamento) che una persona (che può codificare) si aspetterebbe naturalmente da queste strutture stradali e veicoli.

Strade, un fascio di corsie

  • Le strade possono essere a una riga, a più corsie, a una direzione o bidirezionali.
  • Per semplicità, scegliamo i comportamenti che cambiano corsia e tutte le fonti di ostacoli:
    • Inserimento del veicolo da un lotto in una corsia.
    • Uscita di un veicolo da una corsia in un lotto.
    • Cambio di corsia in generale.
      • È consentito a più veicoli di entrare in una strada in una direzione, assegnando inizialmente un numero di corsia da 1 a N.
      • All'uscita dall'altra parte della strada, è possibile trovare questi veicoli con assegnazioni di corsia commutate magicamente .
      • Per semplicità, la simulazione non esaminerà il modo in cui ciò è accaduto.
    • Lane-passaggio.
    • Parcheggio sul marciapiede e occasionali lievi ostruzioni del traffico che provoca.
    • Pedoni Jaywalking

Lane, una posizione unidimensionale su una curva.

  • Matematicamente parlando, la posizione (trasversale) di un veicolo su una corsia è un numero reale tra 0 e x , dove x è la lunghezza fisica dell'arco della corsia (un tratto di una strada) .
  • Mentre un veicolo si trova su una corsia, avrà una velocità istantanea e anche un'accelerazione / decelerazione (velocità di variazione della velocità).
    • Per semplicità, valutiamo la meccanica rotazionale, la coppia, il raggio di sterzata o il ribaltamento (incidente).
    • La simulazione tratterà tutti gli attraversamenti di corsie come movimenti strettamente lineari per quanto riguarda la fisica.

Intersection, un complicato diagramma di Venn delle zone esclusive

  • Anche con la simulazione più semplice, dobbiamo essere d'accordo sul fatto che non possiamo permettere al traffico nord-sud e est-ovest di fluire allo stesso tempo. Se è così, non sarebbe un'intersezione a livello; sarebbe un cavalcavia o un sottopassaggio.
  • Di seguito facciamo la tipica ipotesi di un'intersezione a quattro vie, cioè con quattro direzioni di ingresso (in entrata) e quattro uscite (in partenza).
  • 4 x 4 rende possibili 16 traiettorie del veicolo. (Ciò include le inversioni a U.)
  • Utilizzando la penna e la carta, è possibile elaborare le regole di esclusione che consentono di utilizzare combinazioni diverse di queste traiettorie con segnali di traffico diversi.
  • Un veicolo che entra nell'intersezione avrà una velocità
  • Ogni traiettoria richiede una certa quantità di tempo per attraversare data una velocità. Lavora all'indietro e si può ottenere un valore "lunghezza" falso.
    • È risaputo che un veicolo deve rallentare entrando in un'intersezione e tornare alla velocità normale all'uscita, ma per ragioni di semplicità verrà omesso dalla simulazione.

Come faccio a eseguire una simulazione, con molti agenti, con il tempo e con molte lunghezze e velocità diverse?

Mi vengono in mente due idee.

  • Intervalli di tempo finiti e fissi. Dì, al secondo.

    • Al timestamp corrente, calcola dove si troverà ogni veicolo (posizione, velocità e accelerazione / decelerazione) e quali saranno i comportamenti del veicolo e del pedale del gas (in base agli stimoli ricevuti da ciascun agente)
  • Simulazione del tempo basata sugli eventi.

    • Per ogni agente, si prevede il prossimo timestamp futuro in cui si deve riesaminare il luogo in cui si trova l'agente e le risposte. Memorizza questo timestamp futuro ("evento") in una coda di priorità.
    • Dopo aver previsto eventi futuri da tutti gli agenti, verrà elaborato l'agente con il timestamp più vicino. Anche i veicoli che circondano l'agente avranno il loro stato aggiornato. Se tutti i calcoli risultano corretti (nessun conflitto), il timestamp di simulazione globale viene aggiornato e il prossimo timestamp futuro verrà prelevato dalla coda ed elaborato.
risposta data 21.12.2014 - 03:58
fonte

Leggi altre domande sui tag