Difference between revisions of "Simulace jizdy v dopravni zacpe"

From Simulace.info
Jump to: navigation, search
(Created page with "Úvodní odstavec =Definice problému= =Metoda= =Model= =Výsledky= =Závěr= =Kód=")
 
 
(35 intermediate revisions by the same user not shown)
Line 1: Line 1:
Úvodní odstavec
+
Autor: Daniel Nejezchleb, xnejd00
 +
 
  
 
=Definice problému=
 
=Definice problému=
 +
 +
Cílem simulace je zjistit, zda se v dopravni zacpe na dalnici vyplati stridat pruhy podle aktualne se pohybujiciho pruhu nebo zda je stejne vyhodne nebo i vyhodnejsi drzet se ve vybranem pruhu. Vyhodnosti je rozumeno rychlejsi projeti dopravni situace za soucasne minimalizace rizika vlastni dopravni nehody zpusobene agresivni jizdou.
 +
 +
Hlavními entitami navrhovaného modelu budou vozidla, která budou v pruzích silnice a busou se snažit překonat dopravní zácpu. Agent vozidla bude obsahovat fyzické atributy jako jsou délka, akcelerace, typ. Budou také obsahovat chování jízda v pruhu a změna pruhu. Pro implementaci těchto chování je nutné, aby agenti neustále monitorovali okolí srze své senzory. Takto inteligentní chování budou složena dohromady z řady jednoduchých pravidel, kterými se agenti budou řídit.
 +
 +
Chování jízda v pruhu <br />
 +
:Toto chování se bude starat o to, že auta budou následovat pruh silnice. Nebudou do sebe narážet, tedy jestliže se nachází jiné auto před agentem, tak zpomalí na úroveň jeho rychlosti, aby dodržel minimální vzdálenost mezi vozidly.
 +
 +
Chování změna pruhu <br />
 +
:Jestliže agent zjistí, že jeho pruh stojí a okolní pruh se hýbe, tak se pokusí změnit pruh. Přitom se bude snažit nezpůsobit dopravní nehodu.
 +
 +
Parametry modelu:
 +
 +
*<b>Počet aut</b> - Uvidíme zda simulace prokáže, jestli má hustota zácpy vliv na výsledek testu
 +
*<b>Počet proudů silnice</b> - Jeden pruh silnice nedává pro tuto simulaci smysl. Podle podmínek většiny českých silnic bude simulace zkoumat hlavně dvou a tří pruhové silnice
 +
*<b>Typ auta (osobni, nakladni)</b> - Modelovaná situace bude zobecňovat vozidla do dvou typů, každý zaštiťující přibližně stejné paramtry vozidel té kategorie. Pro různé typy vozidel platí také jiné dopravní omezení a povinnosti. <br />
 +
::Osobní: Osobní vozidlo charakterizuje nejmenší velikost, nejrychlejší akcelerace a nejvyšší rychlost <br />
 +
::Nákladní: Vozidla charakterizována nejvetší velikostí, nejpomalejší akcelerací a nejpomalejší rychlostí <br />
 +
*<b>Typ řidiče</b> - Agenti tohoto typu bodou rozhodovat o stylu jízdy. <br />
 +
::Uvědomělý: značí řidiče dodržujícího dopravní pravidla <br />
 +
::Neuvědomělý: značí řidiče, který často inklinuje k nedodržení dopravních pravidel <br />
 +
::Agresivní: značí řidiče, který svou jízdou zvyšuje riziko dopravní nehody <br />
 +
::Klidný: naopak začí řidiče, který naopak minimalizuje riziko dopravní nehody <br />
 +
::Toleratní: řidič, který spíše dovolí jinému změnit pruh <br />
 +
::Netolerantní: naopak spíše nedovolí ostatním změnit pruh <br />
 +
*<b>Nehoda na silnici</b> - často bývají dopravní zácpy způsobené nehodou a pak nás zajímá jak překážka v jednom z průhů ovlivní výsledek simulace
 +
*<b>Styl jizdy ridice</b> - Nosný parametr simulace, zjišťující zda střidat pruhy či se držet v jednom vybraném pruhu. <br />
 +
: <b>Střídání pruhů</b> <br />
 +
:: Řidič se podle aktualní situace v jeho bezprostředním okolí rozhoduje, zda má změnit pruh, protože v okolním pruhu plyne provoz rychleji; Výsledek tohoto stylu jízdy, také závisí na vůli řidiče, který má odbočujícího řidiče pustit. <br />
 +
:<b>Držení se v pruhu</b> <br />
 +
::Opak předchozího, kdy se řidič drží svého pruhu <br />
 +
Co se týče nastavení parametrů, tak pro poměr typů bych se pokusil najít nějaký behaviorální výzkum řidičů a jejich vlastností, podle toho by se potom odvodili hodnoty. Pro typy vozidel už jsem nalezl konkrétní Celostátní sčítání dopravy, o které se může simulace opřít http://scitani2016.rsd.cz/pages/results/default.aspx.
  
 
=Metoda=
 
=Metoda=
 +
 +
K řešení stanoveného problému byla vybrána aplikace NetLogo<ref>Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.</ref>, jelikož se jedná o multiagentní socilání simulaci, kterou lze zjednodušeně zobrazit ve 2D prostředí. Jako základ mé simulace jsem využil model Traffic 2 Lanes<ref>Wilensky, U. & Payette, N. (1998). NetLogo Traffic 2 Lanes model. http://ccl.northwestern.edu/netlogo/models/Traffic2Lanes. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.</ref> z knihovny předinstalovaných modelů NetLoga. Zejména mám na mysli využití hezkého grafického rozhraní celé simulace. Datový základ pro určení poměru typu vozidel jsem získal z celostátního sčítání dopravy z roku 2016<ref>http://scitani2016.rsd.cz/pages/map/default.aspx</ref>, ze kterého jsem si vybral úsek dálnice D1 mezi Chodovem a Pruhonicemi. Bohužel v souvislosti s osobnostní charakteristikou řidičů se mi podobně nepodařilo získat statistické údaje. V souvistlosti s cílem simulace jsem stanovil tedy tři základní charakteristiky řidiče: uvědomnělost, klidnost a tolerantnost respektive neuvědomnělost, agresivitu a netolerantnost. Každá z charakteristik je množina od 0 do 100% reprezentující míru naplnění dané charakteristiky a jejího opaku. Jednotlivé hodnoty jsou generované normálním náhodnostním rozdělením se stření hodnotou 50% a standardní odchylkou 50%, přičemž maximální a minimální hodnoty jsou omezeny na 90% respektive 10%. Toto omezení bych zdůvodnil argumentem, že normální člověk nemůže být nikdy stoprocentně klidný nebo agresivní a takový extrém by se dal považovat za bláznostvní, a tedy člověk by neměl mít ani řidičské oprávnění.
  
 
=Model=
 
=Model=
 +
Vozidla se budou pohybovat po rovné a nekonečně dlouhé silnici s nastaveným počtem pruhů a možnou překážkou. Hustotu provozu lze měnit podle potřeb a vozidla se jí musí přizpůsobit, přičemž kolonu chtějí projet nejrychleji při respektování základních dopravních pravidel. Grafické prostředí je, jak už bylo zmíněno, převzané z již stávajícího modelu Traffic 2 Lanes.
 +
 +
==Omezení modelu==
 +
*Model neobsahuje pokročile způsoby chování, kterými jsou například uplatňování pravidla zipu v koloně před překážkou, ale pouze chování popsaná níže v kapitole Běh simulace.´
 +
*Model nobsahuje veškeré dopravní pravidla a omezení.
 +
*Přestože byl kladen důraz na kvalitu simulování jízdy vozidla ve smyslu, že bude vozidlo schopno reálného rozjíždění, brždění a udržování rychlosti. Naprogramovaný výsledek má daleko k realitě. Bylo by zapotřebí zapojit více fyzikálních rovnic a zákonitostí, což samozřejmě vyžaduje více času a znalostí v této oblasti. Také samotné prostředí simulace založené na cyklech neumožňuje lepší výsledky, protože se zvyšující se rychlostí uplyne příliš velká vzdálenost mezi možnými rozhodnutími řidiče, proto je pohyb vozidel upravován navíc negativní zpětnou vazbou, což se vzdaluje realitě.
 +
*Model je taktéž omezen výpočetním výkonem pracovní stanice, na které byl vytvářen. V současném stavu probíhají simulace již na hraně možností stanice a při plném obsazení agentů se stává, že program simulace přestane odpovídat.
 +
*Model je připraven na práci s osobnostní charakteristikou člověka, avšak v době tvorby model, nebyl nalezen vhodný výzkum těchto charakteristik v souvislosti s řízením vozidla. Na každou charakteristiku je potom nahlíženo jako na soubor hodnot ze škály 0-100%.
 +
 +
 +
==Grafické rozhraní==
 +
[[File:Graficke_rozhrani_a_prostredi_simulace.png|thumb|none|upright|Grafické rozhraní a prostředí simulace]]
 +
 +
Grafické rozhraní definuje tři základní oblasti: ovládací prvky, samotné prostředí simulace a monitorovací oblast.<br/>
 +
Ovládací prvky jsou popsány v sestupném pořadí:
 +
* 3 tlačítka názorně pojmenovaná sloužící k ovládání spouštění simulace
 +
* Sada prvků nastavující parametry prostředí simulace
 +
* Sada prvků nastavující parametry osobnostních charakteristik zkoumaného vozidla
 +
* Ovládací tlačítka k pohodlnému sledování zkoumaných vozidel
 +
<br/>
 +
Monitorovací oblast poskytuje zobrazení grafů průměrné rychlosti a uražené vzdálenosti sledovaných vozidel a graf počtu vozidel podle jednotlivých pruhů.
 +
 +
==Pravidla==
 +
*Vozidla následují pruhy na vozovce
 +
*Vozidla můžou měnit pruhy za účelem přejetí do, podle řidičova uvážení, rychleji jedoucího pruhu nebo kvůli objetí překážky
 +
*Vozidla do sebe nesmí nabourat
 +
*Vozidla se snaží dodržet stanovený minimální rozestup mezi vozy
 +
*Vozidla jedou jedním směrem a nesmí couvat
 +
 +
==Příprava simulace==
 +
Podle nastavených parametrů se vytvoří vozovka s daným počtem pruhů a na ní se rozestaví daný počet vozidel s náhodnými hodnotami atributů, konkrétněji popsaných v kapitole Agenti. Nákladní vozidla jsou umístěna vždy do nejpomalejšího, tedy nejspodnějšího pruhu. Na vozovku se do některého z pruhů náhodně umístí překážka, je-li nastavená. Poté se vyberou 2 osobní vozy, které bude simulace zkoumat z hlediska výhodnosti stylu jízdy řidiče, tedy střídání pruhů nebo setrvání v jednm pruhu. Vůz, jehož strategie je střídání pruhů je označen zelenou barvou a vůz s opačnou strategií je označený červeně. Ostatní atributy ovlivňující jízdu jsou totžné a navíc jsou těmto vozům přiřazeny hodnoty atributů modelu Tolerantnost, Uvědomnělost a Klidnost.
 +
 +
==Běh simulace==
 +
Hrubá kostra cyklického běhu simulace vypadá následovně: Vozidla, jejichž řidičům došla trpělivost se pokusí vybrait si lepší jízdní pruh a když si vyberou, tak se do něj pokusí přejet. Dále všechna vozdila udělají v simulaci krok kupředu, nebo-li pokračují v jízdě vzhledem k daným okolnostem. Nakonec se všem řidičům vozidel upraví jejich míra trpělivosti.
 +
 +
===Chování výběr a přejetí do jiného pruhu===
 +
Když řidiči dojde trpělivost nastane proces výběru jiného pruhu. Vozdilo jednoduše porovná svou aktuální rychlost s průměrnou rychlostí vozidel v pruzích kolem sebe a do krátké vzdálenosti ve směru jízdy. Jesliže nalezne jiný pruh vyšší průměrnou rychlostí vozidel a není v kratké dohledné vzdálenosti navíc překážka, tak se rozhodne pro přesun do onoho pruhu, protože tím vylepší svou stávající situaci.<br/>
 +
Nyní když je rozhodnutý, tak dá najevo svůj záměr nahozením flagu o změně směru jízdy do určitého pruhu. Aby se přesunul, musí mít v cílovém pruhu prostor, takže kontroluje zda je velde něj dostatečné místo a když je, tak zda ho řidič v druhém pruhu vůbec pouští, protože nemá přednost v jízdě. Je-li situace bezpečná konečně se může přesunout a dokončit tak celý úkon. Nepustí-li řidiče nikdo do pruhu, tak musí počkat do doby, než to někdo udělá. Ovšem čeká-li příliš dlouho a trpělivost mu znovu dojde, může vyhodnotit, že návrat zpět do svého pruhu je pro něj lepší volbou.
 +
 +
===Chování jízda v pruhu===
 +
Voidlo se pohybuje opředným směrem, následuje jízdní pruh, monitoruje situaci před vozidlem v jeho pruhu i v okolních přiléhavých pruzích a podle toho přizpůsobuje rychlost situaci tak, aby nenabouralo a dodrželo si dostatečný odstup. Důležitými podprocesy jsou zde tedy zrychlování, zpomalování a monitoring. Vozidlo zrychluje a stejně tak zpomaluje podle svých fyzických atributů, kterými jsou míra maximální zrychlení respektive maximální zpomalení. Avšak tyto limitní hodnoty jsou upravovány faktorem Klidnosti řidiče, takže klidný řidič se rozjíždí a brzdí pomaleji, možno říci rozvážněji. Tento model nepřipouští autonehodu, a tak v situacích, kdy se vozidlo rozjíždí nebo brzdí před jakoukoliv překážkou vždy počítá s fyzikální formulí rovnoměrného zrychlení/zpomalení a minimální brzdnou vzdáleností. Je-li to nutné, tak i klidný řidič brzdí maximálnín zpomalením nebo naopak agresivní řidič nezrychluje takovou mírou, aby si vždy udržel minimální brzdnou vzdálenost.<br/>
 +
Podproces adaptace se snaží vlastně zajišťovat realistickou plynulost provozu, aby vozidla mezi sebou nekmitala, když by pouze zrychlovala a brzdila. Opět se vozidlo na základě rovnoměrně zrychleného pohybu a minimální brzdné vzdálenosti pro danou rychlost snaží najít optimální vzdálenost, ve které může setrvat a jakoby aktivovat tempomat.<br/>
 +
 +
===Chování umožnění změny pruhu===
 +
Vozidlo také musí kontrolovat situaci v dopředném směru v přilehlých pruzích. Může se stát, že jiný vůz bude chtít odbočit do našeho pruhu a na to musí agent reagovat. Na základě míry tolerance a minimální brzdné vzdálenosti se řidič rozhodne, zda jinému vozidlu umožní změnu směru. Jestliže je rozhodnutí kladné, chová se jako v situaci, kdy by odbočující vozidlo stálo a snaží se mu přizpůsobit rychlost zpomalením a je-li to nutné tak i zastavením, aby mohlo odbočující vozidlo bezpečně přejet do pruhu. V připadě že se rozhodne vozidlo nepustit do pruhu, pokračuje v běžné adaptaci na situaci v jeho pruhu.
 +
 +
===Adaptace míry trpělivosti===
 +
Každé kolo simulace se musí všem řidičům upravit míra trpělivosti. Dochází k tomu podobně jako v případě vyběru nového pruhu. Tedy vozdilo jednoduše porovná svou aktuální rychlost s průměrnou rychlostí vozidel v pruzích kolem sebe a do krátké vzdálenosti ve směru jízdy. Jesliže nalezne jiný pruh vyšší průměrnou rychlostí vozidel, tak se mu poníží míra trpělivosti o 10% krát koeficient Klidnosti a koeficient míry rozdílu rychlostí.
 +
 +
==Parametry modelu==
 +
*<b>Počet vozidel</b> - Dynamický parametr umožňující nastavit hustotu dopravy od 1 vozidla po maximum vozidel vměstnající se na do simulovaného prostředí s ohledem na minimální vzdálenost mezi vozy.
 +
*<b>Počet jízdních pruhů</b> - Statický paramter smulace umožňující nastavit 2 nebo 3 pruhy silnice.
 +
*<b>Překážka</b> - Do simulace se také může přidat statická překážka na silnici za pomoci tohoto boolovského statického parametru.
 +
*<b>Rychlostní limit</b> - Tento dynamický parametr nastavuje rychlostní limit silnice, který se dá do realitě přeložit jako dopravní pravidlo nebo značení omezující rychlost na tomto úseku vozovky. Řidiči se mohou rozhodnout tento limit nedodržovat.
 +
*<b>Tolerantnost</b> - Statický parametr simulace, umožňuje simulující osobě nastavit si vlastní povahové charakteristiky a získat tak výsledek na míru. Popis je totožný jako popis v kapitole Atributy vozidla.
 +
*<b>Uvědomělost</b> - Statický parametr simulace, umožňuje simulující osobě nastavit si vlastní povahové charakteristiky a získat tak výsledek na míru. Popis je totožný jako popis v kapitole Atributy vozidla.
 +
*<b>Klidnost</b> - Statický parametr simulace, umožňuje simulující osobě nastavit si vlastní povahové charakteristiky a získat tak výsledek na míru. Popis je totožný jako popis v kapitole Atributy vozidla.
 +
 +
==Agenti==
 +
 +
Hlavními agenty simulace jsou vozidla, která vlastně zaobalují většinu paramterů simulace. Dále existují ještě agenti typu překážka, ty sice neobsahují speciální paramtetry pro simulaci, je nutné je mít extra definované, protože s nimi počítají různé metody simulace.
 +
 +
===Vozidla===
 +
Vozidla se pohybují po silnici přirozeným způsobem jako v reálném světě. Následují pruh silnice, přičemž monitorují okolní vozidla a přizpůsobují jim svou rychlost tak, aby do sebe nenarazila. Mají tendenci zrychlovat po svou maximální rychlost nebo po nastavený rychlostní limit, aby rychle projeli úsekem, stejně jako se chce racionální řidič dostat z bodu A do bodu B v přiměřeném čase. Za tímto účelem jsou schopna vozidla předjíždět a zároveň pouštět ostatní do svého pruhu, když předjíždí. Jízda vozidla je se přibližuje charakteristikám reálné jízdy tím, že vozidlo plynule zrychluje a zpomaluje podle svých vlastností a psychologických vlastností řidiče. Vlastnosti vozidla závisí na typu vozidla a podle toho náhodně vygenerovaných hodnotách pro onen daný typ, blíže jsou hodnoty popsány v kapiole o atributech. Vozidla byla rozdělena do dvou generických typů osobního auta a nákladního vozu, pro které jsou připravena statistická data o hustotě provozu.
 +
 +
====Atributy vozidla====
 +
*<b>Fyzické atributy</b><br/>Specifikace atributů týkajících se fyzických vlastností vozidel a tedy jejich jízdních vlastností
 +
**<b>Typ vozidla</b> - Rozdělení vozidel podle typu na osobní auta a nákladní vozy. Od tohoto atributu se následně odvíjí další parametry závislé na typu vozu. Hodnoty jsou určovány náhodně, avšak upraveny pravděpodobností na základě poměru typu aut z výše zmiňovaného celostátního sčítání dopravy podle celoročního průměru.
 +
**<b>Velikost</b> - Osobní vůz má referenční hodnotu 1.0, naproti tomu má nákladní vůz velikost 2.0. NetLogo agenty dovoluje evidovat pouze čtvercového typu, proto přestože je délka nákladního vozu ve skutečnosti většinou i více než 2x vetší, tak omezení NetLoga mají negativní dopad na šířku vozidla, která by pak byla neúměrně veliká. Omezíme se tedy pouze na dva typy velikostí vozů.
 +
**<b>Maximální rychlost</b> - Pro osobní vozy byla vybrána arbitrární hodnota 1.0 a pro nákladní vozy o 40% nižší. K odvození hodnot došlo na základě maximální rychlosti na dálnici pro obě kategorie vozů. Tyto hodnoty jsou dále upraveny přičtením normálního pravděpodobnostního rozdělení N(0, 0.25), respektive N(0, 0.1).
 +
**<b>Maximální zrychlení</b> - Průběh zrychlování rychlosti vozidla je podle diplomové práce Měření zrychlení vozidla od Mareše<ref> https://is.mendelu.cz/lide/clovek.pl?zalozka=13;id=10873;studium=50549;zp=30030;download_prace=1;lang=cz</ref> víceméně lineární a pro simulaci je toto zjednodušení dostatečné dokonalé. Hodnoty jsou nastaveny na 0.2 pro osobní vůz a 0.1 pro nákladní vůz s tím, že jsou dále upraveny přičtením normálního pravděpodobnostního rozdělení N(0, 0.05), respektive N(0, 0.03).
 +
**<b>Maximální zpomalení</b> - Stejně jako zrychlení je půběh zpomalování lineární a hodnotami jsou tedy 40% z maximální rychlosti pro osobní vůz a 20% z maximální rychlosti pro nákladní vůz s tím, že jsou dále upraveny přičtením normálního pravděpodobnostního rozdělení N(0, 0.03), respektive N(0, 0.03). Za ovlivněním koeficientu brždění maximální rychlostí stojí myšlenka, že se zvyšující se maximální rychlostí musí výrobce dodávat účinnější brzdný systém, aby vlastně vůz zůstal dobře ovladatelný.
 +
*<b>Atributy osobnosti řidiče</b><br/>Specifikace atributů operátora vozidla a tedy způsobu jakým bude vozidlo řízeno<br/>
 +
**<b>Uvědomnělost</b> - Škála od 0 do 100% popisující to, jak řidič inklinuje k dodržování dopravních pravidel. 0% znamená naprosté nedodržování a 100% znamená naprosté dodržování dopravních pravidel. Hodnoty generované pro jednotlivé agenty jsou normálního pravděpodobnostního rozdělění N(0.5, 0.5). Tyto hodnoty jsou zbaveny extrémů, na základě argumentace v kapitole Metoda. A to tak, že hodnoty přesahující 0.9 a nižší než 0.1 jsou zarovnány na 0.9 respektive 0.1.
 +
**<b>Klidnost</b> - Škála od 0 do 100% popisující to, jak je řidič klidný a tedy jak plynule se rozjíždí a brzdí. 0% znamená naprostou agresivitu a 100% znamená naprostý klid. Hodnoty generované pro jednotlivé agenty jsou normálního pravděpodobnostního rozdělění N(0.5, 0.5). Tyto hodnoty jsou zbaveny extrémů, na základě argumentace v kapitole Metoda. A to tak, že hodnoty přesahující 0.9 a nižší než 0.1 jsou zarovnány na 0.9 respektive 0.1.
 +
**<b>Tolerantnost</b> - Škála od 0 do 100% popisující to, zda řidič umožní jinému řidiči přejetí do jeho pruhu. 0% znamená naprostou netolerantnost a 100% znamená naprostou toleranci a umožnění změny pruhu. Hodnoty generované pro jednotlivé agenty jsou normálního pravděpodobnostního rozdělění N(0.5, 0.5). Tyto hodnoty jsou zbaveny extrémů, na základě argumentace v kapitole Metoda. A to tak, že hodnoty přesahující 0.9 a nižší než 0.1 jsou zarovnány na 0.9 respektive 0.1.
 +
**<b>Řidičský styl střídání pruhů</b> - Boolean paramter značící, zda se auto bude pokoušet střídat pruhy v situaci, kdy jiný pruh jede rychleji. Parametr je nastavený na true pouze u jednoho sledovaného vozidla
 +
**<b>Řidičský styl držení se v pruhu</b> -  Boolean paramter značící, že se auto bude držet v jednom pruhu, bez ohledu na situaci kolem. Změní pruh pouze v situaci, že narazí na překážku, kterou je nutno objet. Parametr je nastavený na true pouze u jednoho sledovaného vozidla.
 +
**<b>Trpělivost</b> - Interní atribut trpělivosti řidiče o škále 0-100%. Tento parametr udává mírutrpělivosti, která když dojde na nulu, tak se řidič rozhodne, že by se měl pokusit svoji situaci vylepšit a pokusí se najít lepší (rychleji jedoucí) pruh kolem sebe, do kterého by se mohl zařadit. Tento parametr je při probíhající simulaci ponižován mírou vysvětlenou v kapitole Model. Simulace prvotně nastavuje parametr kvůli diverzitě na velikost hodnoty atributu Klidnosti.
 +
 +
===Překážky===
 +
Mají význam dopravní nehody nebo překážky na silnici, kterou je nutné objet a kvůli které se například mohla vytvořit dopravní kolona.
 +
 +
====Atributy překážky====
 +
*<b>Umístění</b> - Překážka je umístěna na náhodné místo do některého z puhů.
 +
*<b>Velikost</b> - Bylo rozhodnuto, že překážka bude mít velikost 1.0, tedy takovou, že bude svou šíří zabírat pouze jeden pruh.
 +
 +
  
 
=Výsledky=
 
=Výsledky=
 +
 +
Jelikož čas simulace bude vždy daný, tak rozhodující metrikou indikující lepší projetí dopravní situací byla zvolena Ujetá vzdálenost, potažmo celková průměrná rychlost vozidel. Bylo provedeno 20 běhů simulací, ve kterých se docházelo k různému nastavení parametrů prostředí pro vozidla. Neměnými parametry byly osobnostní charakteristiky řidiče ovládající dvě vyznačená zkoumaná vozidla s odlišnými styly jízdy. Tyto parametry byly nastaveny podle osobního ohodnocení autorovi povahy. To znamená, že se autor mohl dozvědet, jaký styl jízdy by měl uplatnit, chce-li projíždět dopravní situaci nejrychleji.<br/>
 +
Kód simulace není bezchybný, a tak se může stát, že se vozidla v simulaci zaseknou, výsledky těchto simulací nejsou brány v potaz. Samotná simulace je také náročná na HW požadavky počítače a vypadá to, že 4GB RAM dostatečně nestačí na delší průběh simulací. Proto je ve výsledném souboru provedeno pouze 20 simulací, přičemž většina má délku simulace 5-7 tisíc tiků. Pro 16. - 20. simulaci se podařilo spuštění na výkonném stroji s 16GB RAM a 4GHZ porcesorem, jejich doba běhu je přes 20 000 tiků. Údaje o jednotlivých simulacích jsou shrnuty v přiloženém Excel souboru přičemž pro nejdelší 16. simulaci jsou přiloženy i detailněji grafy z NetLoga.<br/>
 +
Shrnu-li výsledky, tak 16-krát vyhrál způsob jízdy střídání pruhů a pouze 4-krát způsob držení se v jednom pruhu. Závěrem na základě takto omezeného vzorku simulací je, že v 80% případů se pro testovaný charakter řidiče, čili pro mě, vyplatí jízdní styl "agresivního" střídání pruhů. Opačná strategie jízdního stylu, tedy držet se jednoho pruhu, se vyplácela jen v případech tří proudové silnice s tím, že byla-li překážka na silnici, tak byla v jednom z krajních pruhů a zkoumané vozidlo jelo po opačném, tedy nejvzdálenějším pruhu. Nebyla-li překážka na silnici, tak zkoumaný vůz cestoval v nejlevějším pruhu ve směru jízdy a existoval značný rychlostní limit.
  
 
=Závěr=
 
=Závěr=
  
=Kód=
+
Cílem zadání bylo zjistit, zda se v dopravní zácpě při určitých podmínkách vyplatí projíždějícímu řidiči držet jednoho pruhu nebo zda by měl pruhy aktivně střídat podle situace okolo. Vytvořená simulace staví na zjednodušeném, ale kvalitním modelu jízdních vlastností vozidel. Vzhledem ke krátkému času na vytvoření modelu se průběh simulace občas neobejde bez divného chování vozidel. To je způsobeno sekvenčním prováděním operací jednotlivých agentů a příliš velkými  skoky (uražená dráha) mezi dalším rozhodnutím agenta. V realitě je situace přemýšlení řidičů souběžná a běží v reálném čase. Přesto model přináší tazateli odpověd na danou otázku o strategii jízdy. Výhodou navíc je, že za pomoci nastavitelných parametrů můžeme jednoduše studovat výsledky simulace pro různé druhy povahy řidiče.
 +
 
 +
=Přiložené soubory=
 +
 
 +
Kód: [[File:Simulace_jizdy_v_dopravni_zacpe.nlogo]]<br/>
 +
Výsledky excel: [[File:Simulace_jizdy_v_dopravni_zacpe_Vysledky_simulaci.xlsx]]
 +
 
 +
=Reference=
 +
<references />
 +
 
 +
--[[User:Xnejd00|Xnejd00]] ([[User talk:Xnejd00|talk]]) 01:30, 7 June 2018 (CEST)

Latest revision as of 19:45, 7 June 2018

Autor: Daniel Nejezchleb, xnejd00


Definice problému

Cílem simulace je zjistit, zda se v dopravni zacpe na dalnici vyplati stridat pruhy podle aktualne se pohybujiciho pruhu nebo zda je stejne vyhodne nebo i vyhodnejsi drzet se ve vybranem pruhu. Vyhodnosti je rozumeno rychlejsi projeti dopravni situace za soucasne minimalizace rizika vlastni dopravni nehody zpusobene agresivni jizdou.

Hlavními entitami navrhovaného modelu budou vozidla, která budou v pruzích silnice a busou se snažit překonat dopravní zácpu. Agent vozidla bude obsahovat fyzické atributy jako jsou délka, akcelerace, typ. Budou také obsahovat chování jízda v pruhu a změna pruhu. Pro implementaci těchto chování je nutné, aby agenti neustále monitorovali okolí srze své senzory. Takto inteligentní chování budou složena dohromady z řady jednoduchých pravidel, kterými se agenti budou řídit.

Chování jízda v pruhu

Toto chování se bude starat o to, že auta budou následovat pruh silnice. Nebudou do sebe narážet, tedy jestliže se nachází jiné auto před agentem, tak zpomalí na úroveň jeho rychlosti, aby dodržel minimální vzdálenost mezi vozidly.

Chování změna pruhu

Jestliže agent zjistí, že jeho pruh stojí a okolní pruh se hýbe, tak se pokusí změnit pruh. Přitom se bude snažit nezpůsobit dopravní nehodu.

Parametry modelu:

  • Počet aut - Uvidíme zda simulace prokáže, jestli má hustota zácpy vliv na výsledek testu
  • Počet proudů silnice - Jeden pruh silnice nedává pro tuto simulaci smysl. Podle podmínek většiny českých silnic bude simulace zkoumat hlavně dvou a tří pruhové silnice
  • Typ auta (osobni, nakladni) - Modelovaná situace bude zobecňovat vozidla do dvou typů, každý zaštiťující přibližně stejné paramtry vozidel té kategorie. Pro různé typy vozidel platí také jiné dopravní omezení a povinnosti.
Osobní: Osobní vozidlo charakterizuje nejmenší velikost, nejrychlejší akcelerace a nejvyšší rychlost
Nákladní: Vozidla charakterizována nejvetší velikostí, nejpomalejší akcelerací a nejpomalejší rychlostí
  • Typ řidiče - Agenti tohoto typu bodou rozhodovat o stylu jízdy.
Uvědomělý: značí řidiče dodržujícího dopravní pravidla
Neuvědomělý: značí řidiče, který často inklinuje k nedodržení dopravních pravidel
Agresivní: značí řidiče, který svou jízdou zvyšuje riziko dopravní nehody
Klidný: naopak začí řidiče, který naopak minimalizuje riziko dopravní nehody
Toleratní: řidič, který spíše dovolí jinému změnit pruh
Netolerantní: naopak spíše nedovolí ostatním změnit pruh
  • Nehoda na silnici - často bývají dopravní zácpy způsobené nehodou a pak nás zajímá jak překážka v jednom z průhů ovlivní výsledek simulace
  • Styl jizdy ridice - Nosný parametr simulace, zjišťující zda střidat pruhy či se držet v jednom vybraném pruhu.
Střídání pruhů
Řidič se podle aktualní situace v jeho bezprostředním okolí rozhoduje, zda má změnit pruh, protože v okolním pruhu plyne provoz rychleji; Výsledek tohoto stylu jízdy, také závisí na vůli řidiče, který má odbočujícího řidiče pustit.
Držení se v pruhu
Opak předchozího, kdy se řidič drží svého pruhu

Co se týče nastavení parametrů, tak pro poměr typů bych se pokusil najít nějaký behaviorální výzkum řidičů a jejich vlastností, podle toho by se potom odvodili hodnoty. Pro typy vozidel už jsem nalezl konkrétní Celostátní sčítání dopravy, o které se může simulace opřít http://scitani2016.rsd.cz/pages/results/default.aspx.

Metoda

K řešení stanoveného problému byla vybrána aplikace NetLogo[1], jelikož se jedná o multiagentní socilání simulaci, kterou lze zjednodušeně zobrazit ve 2D prostředí. Jako základ mé simulace jsem využil model Traffic 2 Lanes[2] z knihovny předinstalovaných modelů NetLoga. Zejména mám na mysli využití hezkého grafického rozhraní celé simulace. Datový základ pro určení poměru typu vozidel jsem získal z celostátního sčítání dopravy z roku 2016[3], ze kterého jsem si vybral úsek dálnice D1 mezi Chodovem a Pruhonicemi. Bohužel v souvislosti s osobnostní charakteristikou řidičů se mi podobně nepodařilo získat statistické údaje. V souvistlosti s cílem simulace jsem stanovil tedy tři základní charakteristiky řidiče: uvědomnělost, klidnost a tolerantnost respektive neuvědomnělost, agresivitu a netolerantnost. Každá z charakteristik je množina od 0 do 100% reprezentující míru naplnění dané charakteristiky a jejího opaku. Jednotlivé hodnoty jsou generované normálním náhodnostním rozdělením se stření hodnotou 50% a standardní odchylkou 50%, přičemž maximální a minimální hodnoty jsou omezeny na 90% respektive 10%. Toto omezení bych zdůvodnil argumentem, že normální člověk nemůže být nikdy stoprocentně klidný nebo agresivní a takový extrém by se dal považovat za bláznostvní, a tedy člověk by neměl mít ani řidičské oprávnění.

Model

Vozidla se budou pohybovat po rovné a nekonečně dlouhé silnici s nastaveným počtem pruhů a možnou překážkou. Hustotu provozu lze měnit podle potřeb a vozidla se jí musí přizpůsobit, přičemž kolonu chtějí projet nejrychleji při respektování základních dopravních pravidel. Grafické prostředí je, jak už bylo zmíněno, převzané z již stávajícího modelu Traffic 2 Lanes.

Omezení modelu

  • Model neobsahuje pokročile způsoby chování, kterými jsou například uplatňování pravidla zipu v koloně před překážkou, ale pouze chování popsaná níže v kapitole Běh simulace.´
  • Model nobsahuje veškeré dopravní pravidla a omezení.
  • Přestože byl kladen důraz na kvalitu simulování jízdy vozidla ve smyslu, že bude vozidlo schopno reálného rozjíždění, brždění a udržování rychlosti. Naprogramovaný výsledek má daleko k realitě. Bylo by zapotřebí zapojit více fyzikálních rovnic a zákonitostí, což samozřejmě vyžaduje více času a znalostí v této oblasti. Také samotné prostředí simulace založené na cyklech neumožňuje lepší výsledky, protože se zvyšující se rychlostí uplyne příliš velká vzdálenost mezi možnými rozhodnutími řidiče, proto je pohyb vozidel upravován navíc negativní zpětnou vazbou, což se vzdaluje realitě.
  • Model je taktéž omezen výpočetním výkonem pracovní stanice, na které byl vytvářen. V současném stavu probíhají simulace již na hraně možností stanice a při plném obsazení agentů se stává, že program simulace přestane odpovídat.
  • Model je připraven na práci s osobnostní charakteristikou člověka, avšak v době tvorby model, nebyl nalezen vhodný výzkum těchto charakteristik v souvislosti s řízením vozidla. Na každou charakteristiku je potom nahlíženo jako na soubor hodnot ze škály 0-100%.


Grafické rozhraní

Grafické rozhraní a prostředí simulace

Grafické rozhraní definuje tři základní oblasti: ovládací prvky, samotné prostředí simulace a monitorovací oblast.
Ovládací prvky jsou popsány v sestupném pořadí:

  • 3 tlačítka názorně pojmenovaná sloužící k ovládání spouštění simulace
  • Sada prvků nastavující parametry prostředí simulace
  • Sada prvků nastavující parametry osobnostních charakteristik zkoumaného vozidla
  • Ovládací tlačítka k pohodlnému sledování zkoumaných vozidel


Monitorovací oblast poskytuje zobrazení grafů průměrné rychlosti a uražené vzdálenosti sledovaných vozidel a graf počtu vozidel podle jednotlivých pruhů.

Pravidla

  • Vozidla následují pruhy na vozovce
  • Vozidla můžou měnit pruhy za účelem přejetí do, podle řidičova uvážení, rychleji jedoucího pruhu nebo kvůli objetí překážky
  • Vozidla do sebe nesmí nabourat
  • Vozidla se snaží dodržet stanovený minimální rozestup mezi vozy
  • Vozidla jedou jedním směrem a nesmí couvat

Příprava simulace

Podle nastavených parametrů se vytvoří vozovka s daným počtem pruhů a na ní se rozestaví daný počet vozidel s náhodnými hodnotami atributů, konkrétněji popsaných v kapitole Agenti. Nákladní vozidla jsou umístěna vždy do nejpomalejšího, tedy nejspodnějšího pruhu. Na vozovku se do některého z pruhů náhodně umístí překážka, je-li nastavená. Poté se vyberou 2 osobní vozy, které bude simulace zkoumat z hlediska výhodnosti stylu jízdy řidiče, tedy střídání pruhů nebo setrvání v jednm pruhu. Vůz, jehož strategie je střídání pruhů je označen zelenou barvou a vůz s opačnou strategií je označený červeně. Ostatní atributy ovlivňující jízdu jsou totžné a navíc jsou těmto vozům přiřazeny hodnoty atributů modelu Tolerantnost, Uvědomnělost a Klidnost.

Běh simulace

Hrubá kostra cyklického běhu simulace vypadá následovně: Vozidla, jejichž řidičům došla trpělivost se pokusí vybrait si lepší jízdní pruh a když si vyberou, tak se do něj pokusí přejet. Dále všechna vozdila udělají v simulaci krok kupředu, nebo-li pokračují v jízdě vzhledem k daným okolnostem. Nakonec se všem řidičům vozidel upraví jejich míra trpělivosti.

Chování výběr a přejetí do jiného pruhu

Když řidiči dojde trpělivost nastane proces výběru jiného pruhu. Vozdilo jednoduše porovná svou aktuální rychlost s průměrnou rychlostí vozidel v pruzích kolem sebe a do krátké vzdálenosti ve směru jízdy. Jesliže nalezne jiný pruh vyšší průměrnou rychlostí vozidel a není v kratké dohledné vzdálenosti navíc překážka, tak se rozhodne pro přesun do onoho pruhu, protože tím vylepší svou stávající situaci.
Nyní když je rozhodnutý, tak dá najevo svůj záměr nahozením flagu o změně směru jízdy do určitého pruhu. Aby se přesunul, musí mít v cílovém pruhu prostor, takže kontroluje zda je velde něj dostatečné místo a když je, tak zda ho řidič v druhém pruhu vůbec pouští, protože nemá přednost v jízdě. Je-li situace bezpečná konečně se může přesunout a dokončit tak celý úkon. Nepustí-li řidiče nikdo do pruhu, tak musí počkat do doby, než to někdo udělá. Ovšem čeká-li příliš dlouho a trpělivost mu znovu dojde, může vyhodnotit, že návrat zpět do svého pruhu je pro něj lepší volbou.

Chování jízda v pruhu

Voidlo se pohybuje opředným směrem, následuje jízdní pruh, monitoruje situaci před vozidlem v jeho pruhu i v okolních přiléhavých pruzích a podle toho přizpůsobuje rychlost situaci tak, aby nenabouralo a dodrželo si dostatečný odstup. Důležitými podprocesy jsou zde tedy zrychlování, zpomalování a monitoring. Vozidlo zrychluje a stejně tak zpomaluje podle svých fyzických atributů, kterými jsou míra maximální zrychlení respektive maximální zpomalení. Avšak tyto limitní hodnoty jsou upravovány faktorem Klidnosti řidiče, takže klidný řidič se rozjíždí a brzdí pomaleji, možno říci rozvážněji. Tento model nepřipouští autonehodu, a tak v situacích, kdy se vozidlo rozjíždí nebo brzdí před jakoukoliv překážkou vždy počítá s fyzikální formulí rovnoměrného zrychlení/zpomalení a minimální brzdnou vzdáleností. Je-li to nutné, tak i klidný řidič brzdí maximálnín zpomalením nebo naopak agresivní řidič nezrychluje takovou mírou, aby si vždy udržel minimální brzdnou vzdálenost.
Podproces adaptace se snaží vlastně zajišťovat realistickou plynulost provozu, aby vozidla mezi sebou nekmitala, když by pouze zrychlovala a brzdila. Opět se vozidlo na základě rovnoměrně zrychleného pohybu a minimální brzdné vzdálenosti pro danou rychlost snaží najít optimální vzdálenost, ve které může setrvat a jakoby aktivovat tempomat.

Chování umožnění změny pruhu

Vozidlo také musí kontrolovat situaci v dopředném směru v přilehlých pruzích. Může se stát, že jiný vůz bude chtít odbočit do našeho pruhu a na to musí agent reagovat. Na základě míry tolerance a minimální brzdné vzdálenosti se řidič rozhodne, zda jinému vozidlu umožní změnu směru. Jestliže je rozhodnutí kladné, chová se jako v situaci, kdy by odbočující vozidlo stálo a snaží se mu přizpůsobit rychlost zpomalením a je-li to nutné tak i zastavením, aby mohlo odbočující vozidlo bezpečně přejet do pruhu. V připadě že se rozhodne vozidlo nepustit do pruhu, pokračuje v běžné adaptaci na situaci v jeho pruhu.

Adaptace míry trpělivosti

Každé kolo simulace se musí všem řidičům upravit míra trpělivosti. Dochází k tomu podobně jako v případě vyběru nového pruhu. Tedy vozdilo jednoduše porovná svou aktuální rychlost s průměrnou rychlostí vozidel v pruzích kolem sebe a do krátké vzdálenosti ve směru jízdy. Jesliže nalezne jiný pruh vyšší průměrnou rychlostí vozidel, tak se mu poníží míra trpělivosti o 10% krát koeficient Klidnosti a koeficient míry rozdílu rychlostí.

Parametry modelu

  • Počet vozidel - Dynamický parametr umožňující nastavit hustotu dopravy od 1 vozidla po maximum vozidel vměstnající se na do simulovaného prostředí s ohledem na minimální vzdálenost mezi vozy.
  • Počet jízdních pruhů - Statický paramter smulace umožňující nastavit 2 nebo 3 pruhy silnice.
  • Překážka - Do simulace se také může přidat statická překážka na silnici za pomoci tohoto boolovského statického parametru.
  • Rychlostní limit - Tento dynamický parametr nastavuje rychlostní limit silnice, který se dá do realitě přeložit jako dopravní pravidlo nebo značení omezující rychlost na tomto úseku vozovky. Řidiči se mohou rozhodnout tento limit nedodržovat.
  • Tolerantnost - Statický parametr simulace, umožňuje simulující osobě nastavit si vlastní povahové charakteristiky a získat tak výsledek na míru. Popis je totožný jako popis v kapitole Atributy vozidla.
  • Uvědomělost - Statický parametr simulace, umožňuje simulující osobě nastavit si vlastní povahové charakteristiky a získat tak výsledek na míru. Popis je totožný jako popis v kapitole Atributy vozidla.
  • Klidnost - Statický parametr simulace, umožňuje simulující osobě nastavit si vlastní povahové charakteristiky a získat tak výsledek na míru. Popis je totožný jako popis v kapitole Atributy vozidla.

Agenti

Hlavními agenty simulace jsou vozidla, která vlastně zaobalují většinu paramterů simulace. Dále existují ještě agenti typu překážka, ty sice neobsahují speciální paramtetry pro simulaci, je nutné je mít extra definované, protože s nimi počítají různé metody simulace.

Vozidla

Vozidla se pohybují po silnici přirozeným způsobem jako v reálném světě. Následují pruh silnice, přičemž monitorují okolní vozidla a přizpůsobují jim svou rychlost tak, aby do sebe nenarazila. Mají tendenci zrychlovat po svou maximální rychlost nebo po nastavený rychlostní limit, aby rychle projeli úsekem, stejně jako se chce racionální řidič dostat z bodu A do bodu B v přiměřeném čase. Za tímto účelem jsou schopna vozidla předjíždět a zároveň pouštět ostatní do svého pruhu, když předjíždí. Jízda vozidla je se přibližuje charakteristikám reálné jízdy tím, že vozidlo plynule zrychluje a zpomaluje podle svých vlastností a psychologických vlastností řidiče. Vlastnosti vozidla závisí na typu vozidla a podle toho náhodně vygenerovaných hodnotách pro onen daný typ, blíže jsou hodnoty popsány v kapiole o atributech. Vozidla byla rozdělena do dvou generických typů osobního auta a nákladního vozu, pro které jsou připravena statistická data o hustotě provozu.

Atributy vozidla

  • Fyzické atributy
    Specifikace atributů týkajících se fyzických vlastností vozidel a tedy jejich jízdních vlastností
    • Typ vozidla - Rozdělení vozidel podle typu na osobní auta a nákladní vozy. Od tohoto atributu se následně odvíjí další parametry závislé na typu vozu. Hodnoty jsou určovány náhodně, avšak upraveny pravděpodobností na základě poměru typu aut z výše zmiňovaného celostátního sčítání dopravy podle celoročního průměru.
    • Velikost - Osobní vůz má referenční hodnotu 1.0, naproti tomu má nákladní vůz velikost 2.0. NetLogo agenty dovoluje evidovat pouze čtvercového typu, proto přestože je délka nákladního vozu ve skutečnosti většinou i více než 2x vetší, tak omezení NetLoga mají negativní dopad na šířku vozidla, která by pak byla neúměrně veliká. Omezíme se tedy pouze na dva typy velikostí vozů.
    • Maximální rychlost - Pro osobní vozy byla vybrána arbitrární hodnota 1.0 a pro nákladní vozy o 40% nižší. K odvození hodnot došlo na základě maximální rychlosti na dálnici pro obě kategorie vozů. Tyto hodnoty jsou dále upraveny přičtením normálního pravděpodobnostního rozdělení N(0, 0.25), respektive N(0, 0.1).
    • Maximální zrychlení - Průběh zrychlování rychlosti vozidla je podle diplomové práce Měření zrychlení vozidla od Mareše[4] víceméně lineární a pro simulaci je toto zjednodušení dostatečné dokonalé. Hodnoty jsou nastaveny na 0.2 pro osobní vůz a 0.1 pro nákladní vůz s tím, že jsou dále upraveny přičtením normálního pravděpodobnostního rozdělení N(0, 0.05), respektive N(0, 0.03).
    • Maximální zpomalení - Stejně jako zrychlení je půběh zpomalování lineární a hodnotami jsou tedy 40% z maximální rychlosti pro osobní vůz a 20% z maximální rychlosti pro nákladní vůz s tím, že jsou dále upraveny přičtením normálního pravděpodobnostního rozdělení N(0, 0.03), respektive N(0, 0.03). Za ovlivněním koeficientu brždění maximální rychlostí stojí myšlenka, že se zvyšující se maximální rychlostí musí výrobce dodávat účinnější brzdný systém, aby vlastně vůz zůstal dobře ovladatelný.
  • Atributy osobnosti řidiče
    Specifikace atributů operátora vozidla a tedy způsobu jakým bude vozidlo řízeno
    • Uvědomnělost - Škála od 0 do 100% popisující to, jak řidič inklinuje k dodržování dopravních pravidel. 0% znamená naprosté nedodržování a 100% znamená naprosté dodržování dopravních pravidel. Hodnoty generované pro jednotlivé agenty jsou normálního pravděpodobnostního rozdělění N(0.5, 0.5). Tyto hodnoty jsou zbaveny extrémů, na základě argumentace v kapitole Metoda. A to tak, že hodnoty přesahující 0.9 a nižší než 0.1 jsou zarovnány na 0.9 respektive 0.1.
    • Klidnost - Škála od 0 do 100% popisující to, jak je řidič klidný a tedy jak plynule se rozjíždí a brzdí. 0% znamená naprostou agresivitu a 100% znamená naprostý klid. Hodnoty generované pro jednotlivé agenty jsou normálního pravděpodobnostního rozdělění N(0.5, 0.5). Tyto hodnoty jsou zbaveny extrémů, na základě argumentace v kapitole Metoda. A to tak, že hodnoty přesahující 0.9 a nižší než 0.1 jsou zarovnány na 0.9 respektive 0.1.
    • Tolerantnost - Škála od 0 do 100% popisující to, zda řidič umožní jinému řidiči přejetí do jeho pruhu. 0% znamená naprostou netolerantnost a 100% znamená naprostou toleranci a umožnění změny pruhu. Hodnoty generované pro jednotlivé agenty jsou normálního pravděpodobnostního rozdělění N(0.5, 0.5). Tyto hodnoty jsou zbaveny extrémů, na základě argumentace v kapitole Metoda. A to tak, že hodnoty přesahující 0.9 a nižší než 0.1 jsou zarovnány na 0.9 respektive 0.1.
    • Řidičský styl střídání pruhů - Boolean paramter značící, zda se auto bude pokoušet střídat pruhy v situaci, kdy jiný pruh jede rychleji. Parametr je nastavený na true pouze u jednoho sledovaného vozidla
    • Řidičský styl držení se v pruhu - Boolean paramter značící, že se auto bude držet v jednom pruhu, bez ohledu na situaci kolem. Změní pruh pouze v situaci, že narazí na překážku, kterou je nutno objet. Parametr je nastavený na true pouze u jednoho sledovaného vozidla.
    • Trpělivost - Interní atribut trpělivosti řidiče o škále 0-100%. Tento parametr udává mírutrpělivosti, která když dojde na nulu, tak se řidič rozhodne, že by se měl pokusit svoji situaci vylepšit a pokusí se najít lepší (rychleji jedoucí) pruh kolem sebe, do kterého by se mohl zařadit. Tento parametr je při probíhající simulaci ponižován mírou vysvětlenou v kapitole Model. Simulace prvotně nastavuje parametr kvůli diverzitě na velikost hodnoty atributu Klidnosti.

Překážky

Mají význam dopravní nehody nebo překážky na silnici, kterou je nutné objet a kvůli které se například mohla vytvořit dopravní kolona.

Atributy překážky

  • Umístění - Překážka je umístěna na náhodné místo do některého z puhů.
  • Velikost - Bylo rozhodnuto, že překážka bude mít velikost 1.0, tedy takovou, že bude svou šíří zabírat pouze jeden pruh.


Výsledky

Jelikož čas simulace bude vždy daný, tak rozhodující metrikou indikující lepší projetí dopravní situací byla zvolena Ujetá vzdálenost, potažmo celková průměrná rychlost vozidel. Bylo provedeno 20 běhů simulací, ve kterých se docházelo k různému nastavení parametrů prostředí pro vozidla. Neměnými parametry byly osobnostní charakteristiky řidiče ovládající dvě vyznačená zkoumaná vozidla s odlišnými styly jízdy. Tyto parametry byly nastaveny podle osobního ohodnocení autorovi povahy. To znamená, že se autor mohl dozvědet, jaký styl jízdy by měl uplatnit, chce-li projíždět dopravní situaci nejrychleji.
Kód simulace není bezchybný, a tak se může stát, že se vozidla v simulaci zaseknou, výsledky těchto simulací nejsou brány v potaz. Samotná simulace je také náročná na HW požadavky počítače a vypadá to, že 4GB RAM dostatečně nestačí na delší průběh simulací. Proto je ve výsledném souboru provedeno pouze 20 simulací, přičemž většina má délku simulace 5-7 tisíc tiků. Pro 16. - 20. simulaci se podařilo spuštění na výkonném stroji s 16GB RAM a 4GHZ porcesorem, jejich doba běhu je přes 20 000 tiků. Údaje o jednotlivých simulacích jsou shrnuty v přiloženém Excel souboru přičemž pro nejdelší 16. simulaci jsou přiloženy i detailněji grafy z NetLoga.
Shrnu-li výsledky, tak 16-krát vyhrál způsob jízdy střídání pruhů a pouze 4-krát způsob držení se v jednom pruhu. Závěrem na základě takto omezeného vzorku simulací je, že v 80% případů se pro testovaný charakter řidiče, čili pro mě, vyplatí jízdní styl "agresivního" střídání pruhů. Opačná strategie jízdního stylu, tedy držet se jednoho pruhu, se vyplácela jen v případech tří proudové silnice s tím, že byla-li překážka na silnici, tak byla v jednom z krajních pruhů a zkoumané vozidlo jelo po opačném, tedy nejvzdálenějším pruhu. Nebyla-li překážka na silnici, tak zkoumaný vůz cestoval v nejlevějším pruhu ve směru jízdy a existoval značný rychlostní limit.

Závěr

Cílem zadání bylo zjistit, zda se v dopravní zácpě při určitých podmínkách vyplatí projíždějícímu řidiči držet jednoho pruhu nebo zda by měl pruhy aktivně střídat podle situace okolo. Vytvořená simulace staví na zjednodušeném, ale kvalitním modelu jízdních vlastností vozidel. Vzhledem ke krátkému času na vytvoření modelu se průběh simulace občas neobejde bez divného chování vozidel. To je způsobeno sekvenčním prováděním operací jednotlivých agentů a příliš velkými skoky (uražená dráha) mezi dalším rozhodnutím agenta. V realitě je situace přemýšlení řidičů souběžná a běží v reálném čase. Přesto model přináší tazateli odpověd na danou otázku o strategii jízdy. Výhodou navíc je, že za pomoci nastavitelných parametrů můžeme jednoduše studovat výsledky simulace pro různé druhy povahy řidiče.

Přiložené soubory

Kód: File:Simulace jizdy v dopravni zacpe.nlogo
Výsledky excel: File:Simulace jizdy v dopravni zacpe Vysledky simulaci.xlsx

Reference

  1. Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.
  2. Wilensky, U. & Payette, N. (1998). NetLogo Traffic 2 Lanes model. http://ccl.northwestern.edu/netlogo/models/Traffic2Lanes. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.
  3. http://scitani2016.rsd.cz/pages/map/default.aspx
  4. https://is.mendelu.cz/lide/clovek.pl?zalozka=13;id=10873;studium=50549;zp=30030;download_prace=1;lang=cz

--Xnejd00 (talk) 01:30, 7 June 2018 (CEST)