Wachttijdvoorspeller versus “nieuwe” Use Case 4

Vanuit oogpunt van optimaliseren (Use Case 5) willen we tot op het laatste moment de fasevolgorde kunnen wijzigen. Dit optimaliseren leeft op gespannen voet met de wens om de weggebruikers zo goed mogelijk te informeren (Use Case 4). Om aan beide Use Cases tegemoet te kunnen komen is het binnen Flowtack mogelijk om de voorspellingen te bevriezen. Dit moment van bevriezen is gekoppeld aan een instelbare grenswaarde van de voorspelde tijd tot groen van desbetreffende richting. Wanneer de voorspelling onder deze grenswaarde (freezeHorizonMs) komt, wordt de voorspelling vastgehouden en laten we het optimaliseren van deze richting los.

Deze manier van werken sluit aan op de wijze waarop moet worden omgegaan met SPaT berichten in het kader van Use Case 4 infomeren en maakt het ook mogelijk om ook wachttijdvoorspellers op een betrouwbare manier te kunnen aansturen met behulp van Flowtack en. Een wegbeheerder moet daarvoor wel de (fundamentele) keuze maken tussen maximaal optimaliseren (Use Case 5, zonder informeren) of semi-maximaal optimaliseren (Use Case 5 met een beetje Use Case 4).

Deze specificatie beschrijft de werking zoals we die voor ogen hebben om semi-maximaal te optimaliseren, rekening houdend met de nieuwe Use Case 4. Allereerst wordt ingegaan op de stadia (confidence level / betrouwbaarheidsniveau) tijdens een rood verkeerslicht:

  • Niveau 0: Geen aanvraag.

  • Niveau 3: Aanvraag, maar niet bekend wanneer groen gaat volgen.

  • Niveau 6: Aanvraag, andere richtingen zijn groen of kunnen nog eerder groen worden.

  • Niveau 9: Aanvraag, laatste conflicten zijn groen. Als eerstvolgende aan de beurt om groen te worden

  • Niveau 12: Aanvraag, geen conflicten meer groen. Richting wordt groen (conflicterende prioriteitsingreep met reden/indicatie is nog mogelijk).

  • Niveau 15: aanvraag, richting wordt zeker groen. Geen conflicterende prioriteitsingreep meer mogelijk.

Met Flowtack sturen we nu alleen niveau 0 of niveau 6 uit, maar dit gaan we uitbreiden met niveau 9, 12 en 15. Niveau 3 sturen we niet uit, omdat Flowtack een seconde na aanvraag al een prediction heeft. Niveau 3 zou dan slechts 1 seconde actief zijn, wat verder geen toegevoegde waarde heeft.

Niveau 15 zouden we nu al kunnen uitsturen voor een signaalgroep waarop absolute prioriteit is aangevraagd door hulpdiensten en deze richting met zekerheid groen wordt.
Niveau 15 kunnen we ook uitsturen voor een volgrichting die hard gekoppeld is, nadat de voedende richting al groen is geworden, zoals dat bij interne greenWaves en greenWalks het geval is. Vanuit veiligheidsoogpunt mag het volglicht dan niet op rood blijven staan, maar wordt keihard ingepland. Alleen de voedende richting mag afgekapt worden en de volgrichting moet daarna de naloop maken.

Niveau 12 sturen we aan tijdens de ontruimingsfase (intergroentijd) van het laatste conflict, waarbij er alleen nog een prioriteitsingreep tussendoor mag komen (bus/vracht/politie/ambulance/brandweer).
Aangezien we de predictions nog niet kunnen bevriezen, zou het actuele gewichtenspel hierbij een rol kunnen spelen. In sommige gevallen is het gewichtenspel (ook voor de komende seconden tot de ontruimingsfase is afgelopen) zodanig duidelijk (bijvoorbeeld bij een lange wachttijd, busprioriteit of vrachtwagens (Vsmile)) dat het zeer onwaarschijnlijk is dat de volgorde door optimalisatie (Use Case 5) nog gaat wijzigen.

Bij een prioriteitsingreep in niveau 12 moet een reden wachttijd worden afgegeven, wat in Flowtack op dit moment alleen in het geval van emergency wordt gedaan. Andere prioriteitsingrepen kunnen we op dit moment dus niet toestaan gedurende niveau 12 (en niveau 9), tenzij de eerstvolgende met rust wordt gelaten. Om niveau 12 te kunnen garanderen zou er in Demand tijdelijk een hoog gewicht op de richting gezet kunnen worden om de realisatie ook echt af te dwingen (zoals dat nu ook gebeurt met has_granted_green() bij richtingen voorzien van Vsmile borden).

Niveau 9 (tijdens groen van een conflictrichting aangeven dat je als eerstvolgende bent) is de meest onzekere fase en afhankelijk van een aantal elementen (al dan niet in samenhang):

  • Het actuele gewichtenspel moet zo (over)duidelijk zijn dat (onder normale omstandigheden) niet zomaar een ander eerst kan komen (net als bij niveau 12).

  • Extensies moeten zo min mogelijk plaatvinden, omdat deze predictions drastisch kunnen wijzigen en onbetrouwbaar maken.

  • Eventueel betrouwbaarder maken van predictions door rekening te houden met de laatste realisaties (afgevlakt) of eventueel met historische data (beslissingen).

Niveau 9 en 12 kunnen op dit moment al worden gegarandeerd met het instellen van freezeHorizonMs. Deze instelling zet vanaf een instelbare tijd-tot-groen de voorspelling van een richting vast. Dit wordt in ieder geval toegepast al op richtingen die zijn voorzien van een wachttijdvoorspeller.