Bezpečnost a plynulost provozu na křižovatce a kruhovém objezdu

=Zadání= V simulaci bude možnost zobrazení klasické křižovatky nebo kruhového objezdu. U křižovatky bude možné nastavit přehlednost křižovatky. Agenti (auta) budou jezdit po silnicích a na křižovatce / kruhovém objezdu se budou řídit pravidly silničního provozu. Na základě vstupní pravděpodobnosti porušení pravidel silničního provozu, příp. přehlednosti křižovatky agenti buď křižovatkou projedou podle předpisů nebo křižovatkou projedou a zároveň jeden nebo více agentů nebude postupovat podle předpisů nebo křižovatkou neprojedou a dojde ke kolizi.

Klíčové výstupy
=Metoda= Typ simulace: Multiagentní
 * Sledování počtu nehod na křižovatce vs. kruhovém objezdu,
 * sledování plynulosti provozu.

Použitý nástroj: NetLogo 5.2

Nejvhodnější metodou simulace je použití multiagentní simulace, kde agenti představují auta v provozu a řídí se předem definovanými pravidly.

=Informace o modelu= Tato sekce obsahuje informace uvedené v samotném souboru modelu pod záložkou "Info".

CO JE TO?
Simulace má za cíl porovnat bezpečnost klasické křižovatky s kruhovým objezdem z hlediska zapříčinění nehod řidiči, kteří poruší pravidla. Je zcela abstrahováno od chyb z nepozornosti apod. U klasické křižovatky je navíc sledována její přehlednost a zda má přehlednost vliv na nehodovost.

Po silnicích se pohybují agenti (auta) a na křižovatce či kruhovém objezdu se rozhodují jakým směrem se vydají. Zelená auta ctí pravidla silničního provozu, kdežto hnědá auta tato pravidla zcela ignorují.

JAK TO FUNGUJE
Pro účely popisu modelu definujme tři termíny (agenty):
 * POSLUŠNÍ respektují pravidla provozu (viz Definice pravidel provozu),
 * NEPOSLUŠNÍ nerespoektují pravidla provozu,
 * VŠICHNI = POSLUŠNÍ + NEPOSLUŠNÍ

Definice pravidel provozu

 * Auta přijíždějící z vedlejší silnice zastavují u červené čáry symbolizující dopravní značku “stůj, dej přednost v jízdě”.
 * Při odbočování vpravo mají přednost pouze vozidla přijíždějící zleva po hlavní silnici.
 * Při odbočování vlevo mají přednost protijedoucí vozidla. Pokud se vozidlo nachází na vedleší silnici, dává navíc přednost všem vozidlům na hlavní.
 * Při průjezdu křižovatkou (bez odbočování) dávají přednost pouze vozidla přijíždějící z vedlejší silnice a to všem vozidlům na hlavní.
 * Odbočují-li dvě proti sobě jedoucí vozidla vlevo, přednost si nedávají, ale míjejí se.
 * Pokud nějaké auto již zahájilo úkon odbočování vlevo (nachází se tedy v křižovatce), všechna ostatní vozidla mu dávají přednost kromě protijedoucího vozidla odbočujícího rovněž vlevo* (viz předchozí bod).
 * Při nájezdu na kruhový objezd mají přednost vozidla nacházející se v kvadrantu nalevo od odbočujícího vozidla.

(*) V reálném světě by mělo vozidlo, které odbočuje vlevo a již se nachází ve vozovce dát přednost protijedoucím vozidlům, nicméně jedná se o stejné pravidlo, jako když tomuto vozidlu dá přednost vozidlo protijedoucí. Bude-li jeden z těchto řidičů NEPOSLUŠNÝ, ke kolizi dojde se stejnou pravděpodobností ať bude neposlušným odbočující nebo přijíždějící z protisměru.

Další pravidla

 * VŠICHNI dodržují bezpečné rozestupy, tj. alespoň 4 “patches”.

Pravděpodobnostní veličiny (nemodifikovatelné)

 * Auto přijede po hlavní silnici: 2/3
 * Auto přijede po vedleší silnici: 1/3
 * Auto odbočí vlevo: 1/3
 * Auto odbočí vpravo: 1/3
 * Auto sjede z kruhového objezdu: 1/2

Pravděpodobnostní veličiny (modifikovatelné)

 * Poslušnost (obeying-rules): 100% vygeneruje pouze poslušné řidiče (zelená auta), kdežto 0% vygeneruje pouze neposlušné řidiče (hnědá auta).
 * Pravděpodobnost příjezdu nových aut (new-cars-frequency): 100% vygeneruje nové auto v průměru na každé čtvrté tiknutí (tick), 0% negeneruje žádná auta.

Statické veličiny (modifikovatelné)

 * Maximální množství aut vyskytujících se na scéně (max-cars) nastavitelné v rozsahu 0 - 20.
 * Viditelnost (visibility) nastavuje pomyslnou linii od které auto začne být viditelné. To lze zpozorovat změnou popisku u auta z “distant” na “south”, “north”, “east” nebo “west”, tedy označení světové strany z které vozidlo přijíždí. Od této chvíle dává POSLUŠNÝ řidič viditelnému vozidlu přednost, pokud viditelné vozidlo přednost má. Pozn.: Platí pouze pro klasickou křižovatku, u kruhového objezdu se předpokládá, že na něj je vidět (jinými slovy, není nutný rozhled mimo kruhový objezd).

Autonehody
K autonehodě dojde v případě, kdy se na bezprostředně sousedícím “patchi” auta v křiřovatce rovněž vyskytuje jiné auto. V takovém případě auto zčervená a zmizí.

Monitory

 * Počet vozidel (cars-count): aktualní množství aut na scéně.
 * Nehody (accidents): celkový počet dopravních nehod.
 * Projeli (went-through): celkový počet aut, která projela křižovatkou bez nehody.
 * Každé x-té auto havaruje (every x-th car crashes): indikátor vyjádřen vzorcem (went-through + accidents * 2) / accidents - Score: předchozí monitor (indikátor) zanesen do grafu

Číselné vstupy

 * Limit: nastavuje maximální počet aut, která mohou projet křižovatkou / přes kruhový objezd. Po dosažení tohoto limitu se simulace zastaví.

JAK SIMULACI POUŽÍT
Interface (rozhraní) již bylo popsáno v předchozí části. Nejprve je nutno zvolit typ křižovatky (intersection-type), kliknout na “setup” a poté “go”. Pro rychlou analýzu různých scénářů je vhodné nastavit “limit” a simulaci urychlit odškrtnutím check-boxu “view updates”.

MOŽNOSTI ROZŠÍŘENÍ MODELU

 * Další typy křižovatek,
 * různé rychlosti vozidel,
 * reakce agentů na hrozící nebezpečí

=Výsledky= Následující výčet scénářů ukazuje, jaký vliv mají jednotlivé parametry na vznik nehod. Pro porovnání dobře slouží výsledné score (čím vyšší, tím lepší, vyjma situace, kdy nedošlo k žádné nehodě, v takovém případě score = 0), u všech pokusů je nastaven shodně limit = 10 000, tj. simulace se zastaví poté, co projede 10 000 aut a poté se zaznamená výsledné score.

Křižovatka
Zajímavé je, že zvýšení počtu aut i zvýšení frekvence příjezdu nových vozidel způsobí zvýšení score, tedy celkem vznikne méně nehod. Předpokládám, že toto je způsobeno tím, že v případě vyššího množství aut na scéně POSLUŠNÍ řidiči brání NEPOSLUŠNÝM řidičům v porušení předpisů, i.e. řidič čeká na průjezd vozidla po hlavní silnici, zatímco za ním stojí řidič, který by na průjezd nečekal, a protože se v aktuální situaci blížíme limitu maximálního počtu aut na scéně, pravděpodobnost, že poté co projede křižovatkou poslušný řidič přijede další vozidlo po hlavní silnici s kterým by se střetl NEPOSLUŠNÝ řidič je velmi nízká. Výjimku tvoří situace, kdy POSLUŠNÝ odbočuje vpravo, zatímco neposlušný za ním projíždí křižovatkou rovně po vedlejší silnici.

Toto můžeme ověřit následujícím pokusem, kdy omezíme četnost příjezdu nových vozidel například na 50%. Tím zaručíme, že na scéně se málokdy bude pohybovat maximální množství aut.

Score se opět zvýšilo, byť nevýrazně, což může znamenat, že předchozí doměnka může být správná a počet nehod se se zvyšováním frekvence příjezdu vozidel snižuje, kdežto od určitého okamžiku se score se zvyšováním frekvence začne zvyšovat. V následujícím pokusu zůstanou všechny parametry stejné jako v předchozím měření a bude se měnit pouze frekvence.

Výsledek ne zcela potvrzuje předchozí doměnku, nicméně velmi se jí blíží. Při nastavení max-cars = 15 skutečně score klesá se zvýšením frekvence příjezdu nových vozidel, ale právě od cca 50% (zvoleno v předchozím pokusu) dále neroste a je více méně konstantní. Z toho lze odvodit, že v reálném světě riziko dopravních nehod roste s vyšším množstvím vozidel v provozu až do doby, kdy dojde k dopravní zácpě. Další příjezd aut do zácpy pak již na riziko vzniku nehody nebude mít vliv.

Pokud zvýšíme parametr maximálního počtu aut, celá křivka (viz níže) se posune doprava.



Kruhový objezd
Následující pokusy byly provedeny se stéjným nastavením parametrů jako u pokusu s křižovatkou.

Výsledné hodnoty jsou vždy vyšší (riziko dopravní nehody je menší) v případě kruhového objezdu s výjimkou testu Zvýšení počtu aut, kdy výsledné score je pro křižovatku 80, zatímco pro kruhový objezd 72. V pokusu s křižovatkami bylo zjištěno, že významnou roli při simulaci hraje parametr frekvence příjezdu nových vozidel.

V případě kruhového objezdu je vliv následující:



=Závěr= Ve všech testovaných scénářích vyšla bezpečnost lépe ve prospěch kruhového objezdu, kromě situace, kdy se zvýšila frekvence příjezdu vozidel. Následně však bylo zjištěno, že toto je způsobeno dosažením limitu maximálního počtu aut na scéně. Při nastavení nižší frekvence příjezdu vozidel je kruhový objezd jednoznačně bezpečnější (viz níže).



Dále bylo odpozorováno, že provoz je podstatně plynulejší v případě kruhového objezdu, zatímco na křižovatce se často tvoří kolony na vedlejší silnici.

Všechny pokusy testovaly bezpečnost křižovatky a kruhového objezdu pouze z hlediska dodržování pravidel předností, pro získání výsledků více reflektující realitu by bylo třeba model dále rozšířit (viz např. MOŽNOSTI ROZŠÍŘENÍ MODELU).

Tipy k vyzkoušení

 * U většiny pokusů doporučuji nastavení frekvence příjezdu nových vozidel na hodnotu menší než 50% (při max-cars = 15, při vyšším čísle může být hodnota frekvence vyšší pro dosažení stejných výsledků a naopak).
 * U všech zde prováděných pokusů byla simulace zastavena a výsledky zapsány po projetí 10 000 automobilů křižovatkou. Po zvýšení tohoto limitu budou mít výsledné hodnoty vyšší statistickou významnost.
 * Jaký bude výsledek, pokud viditelnost na křižovatce bude nastavena na minimum a všichni budou POSLUŠNÍ?
 * Sledujte plynulost provozu při nastavení vysokých hodnot max-cars a new-cars-frequency.

=Kód=