De Wachtrijschatter – Cruciaal onderdeel van het regelconcept van de Praktijkproef

______
Dit artikel hoort bij het thema-artikel ‘Praktijkproef Amsterdam’.
______

Een van de belangrijkste componenten van het regelconcept van de Praktijkproef Amsterdam is de Wachtrijschatter. Dit algoritme ontvangt elke minuut de real-time data van alle toeritdoseerinstallaties en verkeersregelinstallaties in het projectgebied. Op basis daarvan bepaalt het de lengte van de wachtrijen op 37 verschillende locaties: op 6 toeritten en 31 armen van geregelde kruispunten.

Het algoritme van de Wachtrijschatter gebruikt signaal- en detectorgegevens die uit real-time VLOG-data worden gehaald. Wat die data precies inhouden, verduidelijken we aan de hand van het tijd-wegdiagram in figuur 1. Aan de linkerkant van het plaatje is een schematische weergave van de weg te zien, met de positie van het signaal en de posities van de lussen. Op de horizontale as is de tijd weergegeven, op de verticale as de afstand tot de stopstreep. De figuur presenteert een wegvak van zo’n 120 meter lang over een periode van 6 minuten.
Onder in het diagram zijn de signaalgegevens getekend in rood, geel en groen. Om 15:25:05 is bijvoorbeeld een ‘signaal rood’ doorgegeven. Op 15:27:05 wordt het signaal weer groen. Op respectievelijk 1, 24, 84 en 118 meter afstand tot de stopstreep liggen vier lussen. Met grijs is aangegeven of de lussen een signaal afgeven. De korte grijze verticale streepjes staan voor voertuigpassages, terwijl de lange grijze strepen aangeven dat er een voertuig stilstond op een lus.
Alle gegevens van de lussen en signalen zijn samengevoegd in één omgeving, zodat we data van de ene verkeersregelinstallatie ook kunnen gebruiken voor het schatten van wachtrijen bij een andere verkeersregelinstallatie.

Figuur 1: Ruimte-tijddiagram met signaalgegevens (in rood, geel en groen) en detectorgegevens (in grijs). De groen- en roodfasen veroorzaken schokgolven die stroomopwaarts bewegen en daarmee invloed hebben op de toestand op de stroomopwaartse lussen.

Het algoritme
Aan de hand van figuur 2 kunnen we nu uitleggen hoe het algoritme precies werkt. In dit voorbeeld schatten we met behulp van vier lussen de wachtrijlengte om 15:41:00, op basis van de dan aanwezige data.
Het algoritme gebruikt de detector- en signaalgegevens in twee stappen om de wachtrij zo nauwkeurig mogelijk te schatten. In de eerste stap wordt de globale positie van de staart van de wachtrij bepaald. Dit doen we met behulp van de bezettingsgraad van de lussen: per detector wordt de actuele gemiddelde ruimtelijke bezettingsgraad bepaald, rekening houdend met de lengte van de detector. Ligt deze bezettingsgraad boven een bepaalde grenswaarde, dan bevat de detector een wachtrij; zo niet, dan staat er geen wachtrij op de detector. Op basis van de grenswaarde classificeren we een lus dus als ‘vrije lus’ of als ‘wachtrijlus’.
In figuur 2 hebben we aan de rechterkant de ruimtelijke bezettingsgraad weergegeven (de waarden van 1%, 3%, 28% en 63%). De grenswaarde ligt op 20%, dus de twee stroomafwaartse lussen kunnen we classificeren als wachtrijlussen en de twee stroomopwaartse als vrije lussen.

Figuur 2: Illustratie van de werking van het algoritme. De percentages aan de rechterkant van het diagram zijn de bezettingsgraad op iedere detector van de afgelopen 90 seconden. De gele lijn is de gereconstrueerde positie van de staart van de wachtrij.

De tweede stap in het algoritme is het nauwkeurig reconstrueren van de staart van de wachtrij. De start van iedere rood- en groenfase veroorzaakt een schokgolf, die stroomopwaarts door de wachtrij heen beweegt en de wachtrij uiteindelijk laat groeien of krimpen. De passage van een schokgolf is te detecteren op de wachtrijlussen. Door vervolgens de juiste snelheden van alle schokgolven te schatten is een nauwkeurige reconstructie mogelijk van het precieze verloop van de wachtrij.
De gele lijn in figuur 2 toont het geschatte verloop van de staart van de wachtrij. Het algoritme is hier als volgt te werk gegaan:

  • De staart van de wachtrij ligt ergens tussen de wachtrijlus op 24 m en de vrije lus op 84 m.
  • Om de wachtrij te reconstrueren gaan we uit van de meest stroomopwaartse wachtrijlus (in dit geval de lus op 24 m). Het beginpunt is het eerste moment dat die lus lange tijd bezet raakt, letter A in de figuur. Vanaf dit tijdstip A groeit de wachtrij.
  • De faseovergang van rood naar groen op 15:40:06 veroorzaakt een schokgolf van optrekkende voertuigen. Deze schokgolf is te herkennen op de wachtrijlus aan het feit dat de voertuigen weer gaan stromen, aangegeven met de letter B.
  • De snelheid waarmee de wachtrij tussen tijdstip A en tijdstip B groeit, hangt af van de instroom. Deze instroom wordt gemeten op de stroomopwaartse vrije lussen. Door middel van een iteratief proces wordt het snijpunt bepaald van de gele, groeiende lijn vanaf A en de schokgolf vanaf B.
  • Vanaf dit snijpunt krimpt de wachtrij weer. De snelheid waarmee de wachtrij krimpt wordt bepaald door de afrijcapaciteit, die wordt gemeten op de wachtrijlussen.
  • Om 15:40:36 start een roodfase. Dit veroorzaakt een nieuwe schokgolf die is te herkennen op de wachtrijlus aan het feit dat de lus voor lange tijd bezet raakt, aangegeven met de letter D.
  • De reconstructie wordt gecontinueerd tot aan het huidige tijdstip, in dit geval 15:41:00. De geschatte wachtrijlengte is op dat moment 35 m.

De snelheid waarmee de staart van de wachtrij groeit of krimpt, hangt dus af van een aantal factoren: 1) de snelheid van de schokgolven, 2) de instroom en 3) de afrijcapaciteit van het signaal. Het algoritme bevat een aantal zelflerende componenten die elk van deze grootheden continu bijschat op basis van de data en de automatisch gedetecteerde schokgolfpassages op de lussen. Deze zelflerende componenten zorgen er ook voor dat het algoritme robuust is voor bijvoorbeeld het ‘lekken’ van verkeer via onbemeten zijwegen halverwege de wachtrij.

Wanneer de staart van de wachtrij zich voorbij de verste lus bevindt, wordt de instroom niet meer gemeten. In dat geval zijn er twee opties: je gebruikt de uitstroom van de koplussen van een stroomopwaartse verkeersregelinstallatie of je gebruikt nauwkeurig gekalibreerde historische profielen.

Validatie
Door in real-time de beelden van webcams in Amsterdam te vergelijken met tijd-wegdiagrammen zoals in figuur 2 hebben we in enkele weken tijd een groot aantal wachtrijen gevalideerd. Op basis van die input is het algoritme ook verder aangescherpt.
In de toekomst zal de Wachtrijschatter nog worden doorontwikkeld, zodat deze cruciale component ook in andere projecten en op andere locaties kan worden ingezet. Daarbij zullen we met onder meer drones de wachtrijschatter verder verbeteren en ook cijfermatig valideren.

____

De auteur
Dr. ir. Chris van Hinsbergen is mede-oprichter van Fileradar BV. Fileradar is de ontwikkelaar van de Wachtrijschatter, die in de Praktijkproef samen met Arane Adviseurs is geperfectioneerd.