„SUMO” változatai közötti eltérés

Innen: GIS Wiki
(Hálózat generátor)
(Hálózat generátor)
76. sor: 76. sor:
 
* Csúcsokat leíró xml file, pl.:  hello.nod.xml
 
* Csúcsokat leíró xml file, pl.:  hello.nod.xml
 
{{{
 
{{{
 +
 
<nodes>
 
<nodes>
 
     <node id="1" x="-500.0" y="0.0" />
 
     <node id="1" x="-500.0" y="0.0" />
81. sor: 82. sor:
 
     <node id="3" x="+501.0" y="0.0" />
 
     <node id="3" x="+501.0" y="0.0" />
 
</nodes>
 
</nodes>
 +
 
}}}
 
}}}
  

A lap 2014. június 1., 16:06-kori változata

A SUMO egy közúti, tömegközlekedési és vasúti mikroszimulációs nyílt forráskódú szoftver. Felhasználását tekintve alkalmas kereszteződések, lokális úthálózatok, lámpabeállítások, menetrendek tervezésének támogatásához. Pontosabban ezek teszteléséhez. Lehetőséget nyújt úgynevezett online szimulációhoz, ami azt jelenti, hogy szimuláció közben megváltoztathatjuk az úthálózat adatait, például egy balesetet szimulálhatunk. Illetve a lámpa beállításokat is megváltoztathatjuk szimuláció közben, ezzel pl napszak vagy detektor alapú lámpabeállításokat is tesztelhetünk.


Története

A SUMO-t 2000-ben kezték el írni, ​GPLv3-el. Az első verzió 2009-ben készült el. Jelenleg 0.13.0-ás verzió a legújabb. Célja a közúti forgalom kutatások támogatása.

Telepítés

A telepítendő bináris ezen linken érhető el. Elérhető Windowsra, Suse Linuxra, Fedorára, Scientific-re és Ubuntura is. Open Source jellegéből következik, hogy buildelhető tetszőleges környezetben, természetesen ehhez szükséges QT és pyton támogatás

Technológiai Leírása

A SUMO alapvetően c++-ban írt szoftver, a hozzá tartozó kiegészítő eszközök pytonban írt scriptek. A grafikus felülete Qt-ben íródott. A szimulációhoz használt matematikai modell jól elkülönített modulban helyezkedik el.

Matematikai háttér

A SUMO-ban beállítható minden jármű típushoz tartozó követési modell. A követési modell azt határozza meg, hogy egy jármű milyen sebességgel haladjon.

Wiedemann

Ennek a modellnek két változata is létezik, a 74-es és a 99-es. Előbbi kevesebb paraméterrel dolgozik, második viszont 10 paraméterrel, így különböző sebesség tartományokban más-más viselkedéssel ruházhatjuk fel a járműveket, ezzel alkalmassá válik országúti forgalom modellezésére, de a városi forgalom esetén a túl sok paraméter miatt nehézkes a paraméterezése. A modell egyszerű nulladrendű képlettel adja meg a kívánt követési távolságot. Ennek kiértékelése során kell eldönteni, hogy az adott jármű, hogyan változtassa a sebességét. Erre is ad kiszámítási módot a modell.

A modell egyetlen lineáris összefüggéssel leírható: bx= (bx_add+bx_Multi*z)* √v, a hol a bx a biztonságos távolság, v a sebesség, bx_add a biztonságos távolsági komponens, z paraméter 0 és 1 közti érték, általában 0,5 , 0,15-ös standard eltérés mellett. Tehát az első lökhárítók közti távolság az ax+bx, ax pedig a nyugalmi távolságuk, azaz ax = L(n-1) +AXadd. Ahol az AXadd kalibrációs paraméter. A bx_add és a bx_multi becsülhetők a kapacitás mértékéből. A modell a szükséges követési távolságot határozza meg, tehát a sebesség meghatározása további számításokat igényel.

Bizonyos implementációkban az additív kalibrációs paramétert elhagyják, a SUMO-ban, pedig fixen 1. Ha determinisztikus modellre van szükség, akkor a z=1 választást használják. Az első lökhárítók közti távolság az ax+bx, ax pedig a nyugalmi távolságuk, azaz ax = L(n-1) +AXadd. Ahol az AXadd kalibrációs paraméter, az L(n-1) pedig a követett jármű hossza. A bx_add és a bx_multi becsülhetők a kapacitás mértékéből. Ennek módja a kalibráció fejezetben található. A bx értéke alapján el kell dönteni, hogy hogyan változzon a jármű sebessége, ehhez meg kell határozni jelenlegi távolság alapján. Ennek a döntésnek a meghozatalához a további mutató számokat kell meghatározni, ezek alapján lehet eldönteni, hogy követésre, közelítésre, vészfékezésre, vagy intenzív gyorsításra van szükség. Ilyen felosztásra látható példa az alábbi diagramon. Vegyük észre,hogy az ezen lévő értéken nem a számunkra rendelkezésre álló értékek, azokat ki kellene számítani. Implementációkor viszont inkább használt stratégia ezen elv visszavezetése a rendelkezésre álló értékekre.

A modell tovább fejlesztett változatának (Wiedemann 99) 10 paramétere van. Ez inkább az autópályák forgalmára van kifejlesztve.


Krauss

A SUMO a Krauss modelt használja alapértelmezésként. Ez a modell a biztonságos sebességet adja meg. Itt a modell közvetlenül megadja az új sebességet. Előnye, hogy jól paraméterezhető, akár különböző forgalmi szituációkra különböző viselkedést is definiálhatunk. Sőt a SUMO képes különböző járművek esetén is különböző paraméterezést használni. Ezzel szimulálva az agrasszív és a "szőke" vezetőket is. Az útviszonyok is ezen paraméterek beállításával történhet. Bár a SUMO ezt nem támogatja közvetlenül.

Modul szerkezet

A modul szerkezet kialakításánál a funkciók elkülönítését tartották szemelőtt. A nyílt forráskód miatt ez igen hasznos. Két szemszögből is, az egyik, hogy az egyikben vétett hiba a másikban nem jelentkezik. A másik, hogy így szakértői területek szerint is tagolódik. Érdekessége viszont, hogy a különböző modulok nem minden esetben vannak össze integrálva.

A szoftver rendszer az alábbi modulokból áll:

  • DFRouter: Utvonal készítés ciklussal indukálva
  • Daurouter: Legrövidebb út választása
  • Foreign: külső packagek interfészelése, úgy mint R fa, openGl stb…
  • GUI: graphical itnerface in Qt
  • GUInetLader: Hálózat megjeleníítése
  • GUISim: Szimuláció megjelenítése
  • jtrrouter: Útvonal készítés junction swichelési módszerrel
  • microsim: A simuláció futatása, ez tartalmazza pl a járművek jármű típusok definícióját
  • netbuild: Az útvonal hálózat gráfjának elkészítése, és módosítása szimuláció könnyű futatásához, pl hurokélek transzformálása
  • netgen: absztrakt network
  • netimport: Úthálózat importálása
  • od2trips: OD mátrixból generál utakat
  • polyconvert: A „tájat” adja hozzá a hálózathoz, tehát a térkép szinezését végzi
  • router: alapértelmezett útválasztóó modell
  • utils: globális segéd osztályok gyüjteménye

Projekt szervezés

A SUMO egy open source szoftver, tehát nyilt repozitorival kell, hogy rendelkezzen. A ticketing rendszere is nyílt. A projekt szervezéséhez a Trac nevű eszközt használják, ez wikioldalt, ticketing rendszert és verzió kontrolt is tartalmaz.

Használata

Kiegészítő Eszközök

Hálózat generátor

A hálózat építést a netconvert nevű program végzi. Három inputra van szüksége:

  • Csúcsokat leíró xml file, pl.: hello.nod.xml

{{{

<nodes>

   <node id="1" x="-500.0" y="0.0" />
   <node id="2" x="+500.0" y="0.0" />
   <node id="3" x="+501.0" y="0.0" />

</nodes>

}}}

Szimuláció

Grafikus Interfész