Difference between revisions of "Simulace jizdy v dopravni zacpe"

From Simulace.info
Jump to: navigation, search
Line 49: Line 49:
  
 
==Grafické rozhraní==
 
==Grafické rozhraní==
[[File:Graficke_rozhrani_a_prostredi_simulace.png|thumb|center|upright|Grafické rozhraní a prostředí simulace]]
+
[[File:Graficke_rozhrani_a_prostredi_simulace.png|thumb|none|upright|Grafické rozhraní a prostředí simulace]]
  
 
==Pravidla==
 
==Pravidla==

Revision as of 19:44, 5 June 2018

Úvodní odstavec

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.

Grafické rozhraní

Grafické rozhraní a prostředí simulace

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

Závěr

Kód

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