\def \obr {02_Aimsun/fig/}

\chapter{AIMSUN} 
AIMSUN (Advanced Interactive Microscopic Simulator for Urban and Non-Urban Networks),
je mikrosimulátor dopravy. Podstatou mikroskopické simulace (mikrosimulace) je modelování
jízdy jednotlivých vozidel po dané komunikační síti, přičemž se zohledňují všechny parametry
infrastruktury i dopravních prostředků, a to včetně chování řidiče.
V této kapitole je popsána základní charakteristika mikrosimulátoru AIMSUN.
Podrobnější informace lze nalézt například v \cite{aimsunget} nebo \cite{aimsunman}.

\section{Vstupní data pro AIMSUN}
AIMSUN potřebuje pro svůj běh simulační scénář a množinu simulačních parametrů, které definují
experiment. Scénář se skládá ze čtyř druhů dat: popis dopravní sítě, plány řízení dopravy,
požadovaná dopravní data, a plány hromadné dopravy.
\subsection{Scénář}
Popis dopravní sítě zahrnuje geometrii sítě, popis křižovatek a rozmístění detektorů,
které jsou rozmístěny podél dopravní sítě.
\\
\\
Plány řízení odpravy obsahují fáze a jejich délky pro křižovatky, které jsou řízeny dopravními světly.
V každé fázi je definováno která signální skupina je průjezdná.
\\
\\
Dopravní data se dají zadat dvěma způsoby:

\begin{itemize}
 \item Pomocí objemů dopravy v určitých místech dopravní sítě, poměrů odbočení a počátečního stavu
 \item Pomocí matice, kde prvek na $i$-tém řádku a v $j$-sloupci udává kolik jízd se uskuteční z místa $i$ do místa $j$
\end{itemize}
V prvním případě se vozidla rozmístí stochasticky podle požadovaných počtů a poměrů odbočení do dopravní sítě,
v případě druhém je každému vozidlu přiřazena trasa z místa $i$ do místa $j$.
\\
\\
Plány hromadné dopravy obsahují linky autobusů, jejich zastávky a jízdní řády.
\subsection{Výstupní data AIMSUNu}
AIMSUN poskytuje jak statistické výstupy v podobě hodnot doby průjezdu vozidla sítí, počtu zastavení, zpoždění a průměrné rychlosti,
tak výstupy z detektorů - počet vozidel, rychlost a doba stání na detektoru, tak i plynule modelovaný grafický výstup.
\begin{figure}[H]
\begin{center}
    {\includegraphics[width=346px]{\obr aimsun01.eps}}
    \caption{Grafický výstup ze simulátoru AIMSUN}\label{fig:aimsun01}
\end{center}
\end{figure}

\begin{figure}[H]
\begin{center}
    {\includegraphics[width=346px]{\obr aimsun02.eps}}
    \caption{Grafický výstup ze simulátoru AIMSUN - detail}\label{fig:aimsun02}
\end{center}
\end{figure}

\subsection{VGS API}\label{ss:vgs_api}
VGS API je rozhraní napsané v jazyce C++, které rozšiřuje funkčnost mikrosimulátoru AIMSUN.
Jeho dva nejdůležitější úkoly jsou zjednodušení reálné simulace a statistické zpracování
výstupních dat.

\subsubsection{Reálná simulace}
AIMSUN umožňuje simulaci reálné dopravní sítě, kdy hodnoty hustoty dopravy
odpovídají skutečně naměřeným hodnotám v reálném prostření simulované sítě.
Běžně se používají ručně sečtené hodnoty v intervalech jedné hodiny.
Údaje se potom vkládají opět ručně do simulátoru.
\\
\\
Pro přesnější simulaci se používají data z detektorů v simulované oblasti.
Objem dat je ale pro ruční vkládání neúnosně velký. Proto bylo vyvinuto
VGS API, které umožňuje generování vozidel v průběhu simulace.
VGS API se předá soubor s uloženými údaji z detektorů, to automaticky
rozběhne AIMSUN, do kterého generuje v průběhu simulace vozidla podle reálných dat.

\subsubsection{Zpracování dat}\label{sss:zpracovani_dat}
Druhým důležitým úkolem VGS API je shromažďovat data potřebná pro
vyhodnocení experimentu. AIMSUN sice disponuje jednoduchým rozhraním pro
vizualizaci dat a jejich export do textových souborů, není ale možné
například porovnávat jednotlivé scénáře simulací. VGS API proto
periodicky ukládá všechny klíčové ukazatele jak pro jednotlivé segmenty
dopravní sítě, tak i pro celý simulovaný systém. Uživatel má po ukončení
simulace k dispozici údaje o počtu zastavení vozidla, o jeho zpoždění,
průměrné rychlosti, době jízdy a době stání, o dopravím toku a hustotě
dopravy na jednotlivých segmentech.
\\
\\
Jedním z nejpodstatnějších údajů, které nám VGS API poskytuje, je délka
fronty pro daný jízdní pruh.
Tento údaj je prakticky nemožné určovat podle dat z detektorů, podstatně zkreslených
chybami dvojího typu. Jednak vzniká chyba při přejezdu vozidla z pruhu do pruhu v oblasti detektorů,
kdy jedno vozidlo zaznamenají oba detektory. Vozidlo by se potom přičetlo do obou front. K druhému případu
chyby dochází, pokud je mezi dvěma vozidly tak malý rozestup, že je detektor považuje za jedno.
V tomto případě naopak dochází k samovolnému vytrácení vozidel.
Pokud bychom chtěli počítat délku fronty jako rozdíl počtů vozidel, která do křižovatky přijela a která ji opustila,
docházelo by ke kumulaci této chyby v průběhu simulace.
Hodnota délky fronty se ve VGS API získá sečtením vozidel s
menší rychlostí než 3,6 km/h po segmentech jízdního pruhu.


\subsection{Řadiče}
K řízení signálních skupin křižovatky se používá tzv. řadič. V reálném případě se jedná
o počítač napojený na dopravní ústřednu, signální skupiny křižovatky a její detektory.
v případě simulace je použit emulátor řadiče ELS3 firmy ELTODO. Ten má implementován 
pouze algoritmus řízení. O simulaci detektorů a přepínání signálních skupin se stará AIMSUN.
\\
\\
Parametry křižovatky (signální skupiny, fáze, detektory, …) a dopravní
vztahy nad těmito parametry (signální plány, dynamické řízení, …)
se načítají na začátku simulace z konfiguračního souboru. Jsou
součástí dopravního návrhu a v průběhu simulace se nemění.
Přenastavují se pouze vnější parametry.
\\
\\
Vstupní a výstupní data se do řadiče načítají přes komunikační API.
Na začátku každého simulačního kroku se z AIMSUNu předají údaje z detektorů.
Po zpracování dat program určí hodnotu vnějších parametrů pro řízení křižovatky,
a na konci kroku simulace je předá řadiči pomocí knihovny BDM, která zastává roli
dopravní ústředny v reálném případě.
\\
\\
Vnějšími parametry jsou
\begin{itemize}
 \item délka cyklu - čas, za který se vystřídají všechny fáze
 \item offset - posunutí začátku cyklu oproti globálnímu času
\end{itemize}
Úkolem této práce je řídit provoz pouze pomocí nastavení délky cyklu.
To změní i délky jednotlivých fází, jejichž součet se musí délce cyklu rovnat,
neovlivní však jejich poměr, který je konstantní. To znamená, že se nezmění
ani poměr doby průjezdnosti a neprůjezdnosti dopravních pruhů.


\subsection{Oblast simulace}\label{ss:oblast_simulace}
Pro simulaci bylo použito schéma dvou křižovatek na ulici Řevnické, sestavené
podle skutečné situace. Následující schémata znázorňují křižovatky s označením
495 - Na Radosti a 601 - terminál BUS, jejich pruhy (VA, VB, VC, VD, VE, VF a VA, VAa, VB, VBa, VC, VD, VE, Se)
a detektory, znázorněné zelenými obdélníky.

\begin{figure}[H]
\begin{center}
    {\includegraphics[width=12cm]{\obr 601.eps}}
    \caption{Křižovatka 601}\label{fig:601}
\end{center}
\end{figure}

\begin{figure}[H]
\begin{center}
    {\includegraphics[width=12cm]{\obr 495.eps}}
    \caption{Křižovatka 495}\label{fig:601}
\end{center}
\end{figure}


