TLCProF

TLCProF (Traffic Light Controller Programming Framework) is een open source framework voor het programmeren van verkeersregelingen, geschreven in de taal C#. TLCProF biedt de mogelijkheid voor het opbouwen van een volledige voertuigafhankelijke verkeersregeling met een blokkenstructuur als basis.

Belangrijkste kenmerken:

  • Open source framework, vrij beschikbaar
  • Snel opbouwen complete verkeersregeling, zelfs zonder programmeren
  • Eenvoudig uit te breiden door modulaire opzet
  • Gebruikt moderne technieken (C# & .NET) en is cross platform (Windows, Linux)

Hieronder is een regeling gemaakt met TLCProF in actie te zien in een microsimulatie. De simulatie is opgebouwd met SUMO, een open source software pakket voor microsimulatie. De koppeling tussen SUMO en TLCProF loopt via TraCI.NET, eveneens open source beschikbaar. Het betreft hier een niet bestaande test kruising.

Achtergrond

TLCProF is ontstaan vanuit een pilot project in samenwerking met de provincie Noord Holland. Dit project had als doel de toepasbaarheid van het koppelvlak TLC-FI aan te tonen, door een nieuwe regelstructuur middels het TLC-FI te koppelen aan een bestaande iVRI. Om dit traject zoveel mogelijk los te laten lopen van bestaande ontwikkelingen rond de iVRI, is daarbij gekozen om een geheel nieuwe regelstructuur op te bouwen: TLCProF. Het pilot project is oktober 2017 afgerond, waarna de source code voor de nieuwe regelstructuur, als ook voor de implementatie van de TLC-FI (zie TLCFI.NET), online zijn geplaatst. Alle sources zijn open source beschikbaar onder de MIT licentie.

Functionaliteit

Het framework biedt momenteel out-of-the-box (ofwel vrijwelzonder handmatig programmeren) de volgende functionaliteit:

  • Voertuigafhankelijke regeling, op basis van detectie (incl. garantie- en minimumtijden, hiaat- en bezettijden, kopmax, etc.)
  • Toedeling groen op basis van blokkenstructuur
  • Intergroen regeling: sluit hiermee aan op de iVRI
  • Mogelijkheid voor langstwachtende alternatief en vooruit realisatie (momenteel max. 1 blok)
  • Een eenvoudige (onvolledige) commando parser
  • Modulaire opbouw: gemakkelijk uit te breiden en/of aan te passen
  • Mogelijkheid de regeling handmatig te testen middels een interactieve bitmap
  • Mogelijkheid de regeling te testen een random detectie simulator (al dan niet met bitmap)
  • Geschreven in C# (versie 6.0, met .NET 4.5), bruikbaar in alle .NET talen, zoals VB.NET, F#, etc.
  • Functioneert tevens onder Linux, met gebruik van Mono
  • Relatief eenvoudig te koppelen met een iVRI middels de library TLCFI.NET
  • Mogelijkheid regeling te specificeren middels XML; de XML kan tevens worden gegenereerd met de applicatie TLCGen
  • Open source onder de MIT licentie: https://github.com/CodingConnected/CodingConnected.TLCProF

In de toekomst staan de volgende functionaliteiten op de nominatie voor implementatie en opname in de kern van het framework:

  • Periode gerelateerde maximum groentijden
  • Ingreep voor openbaar vervoer en hulpdiensten
  • Coordinaties zoals nalopen, gelijkstarten en voorstarten
  • Implementatie van logging
  • Toevoegen van TTG/TTR functionaliteit (time to green/red of predicties)

Status

Het framework is momenteel in beta vorm online beschikbaar. Dit betekent: het is getest en volledig functioneel, kan echter nog onvolkomenheden bevatten. Daarnaast is het waarschijnlijk dat delen van de huidige opbouw en inrichting van de relevante classes de komende tijd nog zullen wijzigen. TLCProF is in de huidige vorm goed bruikbaar voor testen en simulaties; voor gebruik op straat wordt aangeraden uitgebreid te testen.

Stand januari 2018: het pilot project wat ten grondslag lag aan de totstandkoming van TLCProF is in oktober 2017 afgerond. Eind 2017 is de code nog opgeschoond. Momenteel wordt nagedacht over de invulling van het vervolg traject, inclusief verdere ontwikkeling van de nieuwe regelstructuur. Tot die tijd zijn bijdragen en/of voorstellen voor aanpassing/uitbreiding zeer welkom, bijvoorbeeld in de vorm van een pull request op Github.

14-06-2018, 7:40