Difference between revisions of "Simulace emisi spalovacich motoru"

From Simulace.info
Jump to: navigation, search
Line 135: Line 135:
 
=Výsledky=
 
=Výsledky=
  
Prahou denně projede kolem 300 tisíc vozidel. Simulace bude tedy nastavena na porovnání dvou běhů, jednou s maximální povolenou rychlostí 30 km/h. Druhý běh s 50 km/h.
+
Prahou denně projede kolem 300 tisíc vozidel<ref name="vozidla">Prague Transportation Yearbook 2020. (2024, June 6 ). Development of vehicle and car ownership TSK Praha. https://www.tsk-praha.cz/static/udi-rocenka-2020-vm-cz-HTML/kapitola_03.html#:~:text=Based%20on%20counts%20done%20at,the%20outer%20cordon%2C%20of%20which</ref>. Simulace bude tedy nastavena na porovnání dvou běhů, jednou s maximální povolenou rychlostí 30 km/h. Druhý běh s 50 km/h.
  
 
==3O km/h==
 
==3O km/h==
Line 172: Line 172:
 
[[File:Příklad.jpg]]
 
[[File:Příklad.jpg]]
 
=Reference=
 
=Reference=
{{Citation | year=2020 | title=Prague Transportation Yearbook 2020 | url=https://www.tsk-praha.cz/static/udi-rocenka-2020-vm-cz-HTML/kapitola_03.html#:~:text=Based%20on%20counts%20done%20at,the%20outer%20cordon%2C%20of%20which | access-date=10 June 2024}}
+
)

Revision as of 22:34, 10 June 2024

Tato stránka je slouží jako Výzkumná zpráva simulace "Doprava na semaforové křižovatce a kruhové křižovatce" k semestrálnímu projektu pro předmět 4IT495 Simulace systémů (LS 2022/2023) na VŠE v Praze.

Definice problému

Jelikož jsme si mohli všimnout, že se v České republice děly protesty proti aktuálnímu limitu rychlosti 50 km/h, kde skupina "30 pro Prahu" bojuje za to, aby byly nastaveny limity na 30 km/h. Jedním z jejich cílů je snížení emisí. Rozhodl jsem se tedy sestavit simulaci, která znázorňuje jak by v aktuální dopravě vypadaly emise, kdyby byla nastavena maximální rychlost na 30 oproti 50 km/h. Budu porovnávat, zda jet pomaleji, spotřebovávat méně a generovat méně emisí je výhodnější oproti vyšší rychlosti, spotřebě a emisím.

Metoda

Pro simulaci dopravy na semaforové zvolíme aplikaci NetLogo, která je díky svému specializovanému prostředí pro modelování a simulaci komplexních systémů velmi vhodná. Pomocí programovacího jazyka v NetLogu můžeme přesně definovat chování vozidel, semaforů a dopravních pravidel. Real-time vizualizace nám umožní sledovat pohyb vozidel a změny na semaforech, což poskytne důležité informace o dopravním chování. NetLogo také umožňuje zkoumat různé dopravní scénáře a parametry, což nám dává příležitost analyzovat a optimalizovat provoz na křižovatkách. Celkově je NetLogo ideálním nástrojem pro simulaci dopravy na semaforové křižovatce díky svému specializovanému prostředí, programovacímu jazyku a možnostem vizualizace a analýzy.

Model

Samotný model má rozměry 81x81.

Agenti

Simulace obsahuje dva typy agentů a to vozidla (turtles), roads + intersections (patches).

Vozidla

Vozidla obsahují proměnné které udávají jejich rychlost, směr, délku po jakou čekají na křižovatce nebo zácpě, jejich délku života, ujetou vzdálenost a počet vygenerovaných emisí (při jízdě a v klidu).

Ujetá vzdálenost slouží k výpočtu celkových vyprodukovaných emisí.

  speed               ;; the speed of the turtle
  up-car?             ;; true if the turtle moves downwards and false if it moves to the right
  wait-time           ;; the amount of time since the last time a turtle has moved
  lifetime            ;; how many tics the turtle has until it dies
  distance-traveled   ;; distance traveled by the car
  emissions           ;; emissions generated by the car
  emissions-idle      ;; emissions generated by the car on idle


Spawn a nastavení vozidla

K nastavení slouží funkce setup-cars, která nastaví počáteční hodnoty speed, wait-time a lifetime na 0. Následně je zavolána funkce, která auto spawne na cestu (jedná se o jednoduchý kód, který postaví auto na patch (road), který na sobě nemá žádné jiné vozidlo. Poslední část se zabývá počátečním natočením vozidla. Pokud pojede vertikálně nebo horizontálně. Pokud se vozidlo spawne na křižovatce, tak je jedno, kudy pojede, proto necháme rozhodnout náhodu, která vygeneruje číslo 0 nebo 1. Pokud je vybráno číslo 0, tak vozidlo pojede vertikálně.

V případě, že je vozidlo spawnuto na silnici, tak je potřeba ověřit, zda se jedná o silnici vertikální, či horizontální. To zjistíme pomocí podmínky, která určuje, zda je vozidlo zarovnáno se vertikálním gridem na základě jeho souřadnice x (pxcor). Pokud je podmínka pravdivá, nastaví se hodnota up-car? na true (což znamená, že se auto bude pohybovat vertikálně). V opačném případě je hodnota up-car? nastavena na false (což znamená, že se auto bude pohybovat horizontálně).


Rychlost vozidla

Regulace rychlosti vozidla je tvořena ze čtyř částí, akcelerace, decelerace a hlídání si vozidel před sebou a zastavení na semaforech. Akcelerace a decelerace jsou poměrně jednoduché, jedná se o postupné navyšování/snižování rychlosti o malé části (acceleration) každý běh (go). Limity jsou maximální rychlost (proměnná speed-limit) a 0, tudíž stav, kdy auto stojí.

Roads & Intersections

Způsob jakým jsou cesty a křižovatky generovány, tj. dynamický grid, tak je potřeba evidovat v jakém sloupci a v jaké řadě se cesta nebo křižovatka nachází.

Nastavení patches

Nastavení obsahuje proměnné:

  • boolean zda se jedná o křižovatku
  • zda křižovatka obsahuje zelené světlo, pro cestu je to false
  • informace o tom, v jaké části gridu se cesta/křižovatka nachází
  • fáze pro křižovatku, slouží k časování změny světel, pro cestu je to -1
patches-own
[
  intersection?   ;; true if the patch is at the intersection of two roads
  green-light-up? ;; true if the green light is above the intersection.  otherwise, false.
                  ;; false for a non-intersection patches.
  my-row          ;; the row of the intersection counting from the upper left corner of the
                  ;; world.  -1 for non-intersection patches.
  my-column       ;; the column of the intersection counting from the upper left corner of the
                  ;; world.  -1 for non-intersection patches.
  my-phase        ;; the phase for the intersection.  -1 for non-intersection patches.
  auto?           ;; whether or not this intersection will switch automatically.
                  ;; false for non-intersection patches.
]

Simulace

Nastavení

Jak již zaznělo v úvodu, cíl této simulace je zobrazení vytvořených emisí vozidla během cesty přes křižovatky. K tomu využijeme tyto proměnné: Globální proměnné

  emission-rate            ;; grams of CO2 per kilometer
  emission-rate-idle       ;; grams of CO2 per second

Hodnoty emisí jsou získány z ověřených zdrojů. Pro simulaci si zvolíme vozidlo, které je v České republice jedno z nejčastěji používaných Škoda Octavia.

  set emission-rate 112          ;; grams of CO2 per kilometer
  set emission-rate-idle 0.4032  ;; grams of CO2 per second

Běh

V samotném běhu simulace (funkce go) se dějí čtyři hlavní události.

  • Mění se světla na semaforech.
  • Vozidla se uvádí do pohybu a zapisují se důležité hodnoty per tick.
  • Probíhá kontrola, zda se vozidla nezasekla.
  • Spawning dalších vozidel do předem definovaného počtu.

Výpočet důležitých údajů

Proměnné vozidla

  emissions           ;; emissions generated by the car
  emissions-idle      ;; emissions generated by the car on idle

Výpočet samotných vyprodukovaných emisí jedoucím vozidlem je představen ve funkci record-data.

  let distance-per-tick speed                                 ;; Assuming speed is in meters per tick, convert to kilometers
  set distance-traveled distance-traveled + distance-per-tick ;; Add distance traveled
  set emissions distance-traveled * emission-rate             ;; emissions in kilograms

V případě, že vozidlo stojí, tak předpokládáme, že má zapnutý motor, tudíž stále spaluje palivo a vytváří emise.

ifelse speed = 0
  [
    set num-cars-stopped num-cars-stopped + 1
    set wait-time wait-time + 1
    set emissions-idle emissions-idle + emission-rate-idle  ;; emissions in grams
  ]
  [ set wait-time 0 ]

Hodnoty, které vozidlo za svůj život nasbírá budou uloženy do globálních proměnných

total-emissions
total-emissions-idle

Interface

V samotném interface jsou připraveny monitory, které zobrazují:

  • Průměrná rychlost vozidel
  • Průměrný čas čekání (tj. rychlost = 0)
  • Průměrné emise v klidu
  • Průměrné emise během jízdy
  • Počet stojících vozidel

Dále nabízí možnost si za běhu simulace upravit:

  • Max povolenou rychlost
  • Zda budou fungovat semafory nebo budou křižovatky jen bez semaforů.
  • Nastavení semaforů a jejich intervalu přepínání

Semestralni prace final interface.png


Výsledky

Prahou denně projede kolem 300 tisíc vozidel[1]. Simulace bude tedy nastavena na porovnání dvou běhů, jednou s maximální povolenou rychlostí 30 km/h. Druhý běh s 50 km/h.

3O km/h

  • Total cars: 300000
  • Total emissions (total-emissions): 433986592,5 g/km
  • Total emissions idle (total-emissions-idle): 8105994,49 g/sec
  • Total sum of emissions per car 1473,641957 gramů

50 km/h

  • Total cars: 300000
  • Total emissions (total-emissions): 445937330,6 g/km
  • Total emissions idle (total-emissions-idle): 2710763,194 g/sec
  • Total sum of emissions per car 1495,493646 gramů


Simulace ukázala, že sice při rychlejší jízdě jsou ušetřeny emise při čekání (8105994,49-2710763,194 = 5395231,296g), tak ale za rychlou jízdu a větším spalování jsou tyto rozdíly vyrovnány (445937330,6 - 433986592,5 = 11950738,1g).

Při finálním součtu emisí a zprůměrovaným na jedno vozidlo, tak vidíme, že při jízdě 30 km/h je vygenerováno méně emisí. Tímto experimentem jsem ověřil, že hnutí "30 pro Prahu" má vskutku pravdu, nicméně se jedná o tak zanedbatelné množství, že se nevyplatí reformu maximální rychlosti prosazovat.


Nedostatky a prostor pro zlepšení

Současná implementace dopravní situace v programu NetLogo úspěšně simulovala řadu klíčových jevů. Stejně jako všechny modely však není bez omezení a potenciálních oblastí pro zlepšení. Níže je popsáno několik nedostatků a návrhů na vylepšení:

Měřítko vs. realita

Simulace byla nastavena tak, aby křižovatkami projelo odpovídající počet vozidel, nicméně již nepočítá s ujetou vzdáleností, kterou průměrně vozidla v Praze ujedou. Tím mohou být výsledky zkresleny, protože se na trase potkají s více křižovatkami a tudíž i vzroste rozdíl mezi generováním emisí v klidovém stavu a za běhu.

Start-stop

Simulace nepracuje s technologií start-stop, kterou moderní vozy disponují, tato technologie vypne motor v době, kdy jej řidič nevyužívá. Při opětovném startu motoru se ale vytvoří více emisí naráz, proto by implementace této technologie do simulace mohla zajímavě ovlivnit výsledky.

Závěr

Získané výsledky prokazují, že regulace maximální rychlosti v obci není ten kritický bod, který by planetě zásadně pomohl. Rozvojem této simulace by mohl být upravený pohled na nastavení maximální rychlosti, a to regulace rychlosti s ohledem na plynulost provozu, místo ekologického dopadu.

Kód

Příklad.jpg Příklad.jpg

Reference

)

  1. Prague Transportation Yearbook 2020. (2024, June 6 ). Development of vehicle and car ownership TSK Praha. https://www.tsk-praha.cz/static/udi-rocenka-2020-vm-cz-HTML/kapitola_03.html#:~:text=Based%20on%20counts%20done%20at,the%20outer%20cordon%2C%20of%20which