Symulacja ruchu pojazdów w mieście Paweł Gora 2013-11-05
Plan prezentacji Dlaczego badać ruch pojazdów w mieście? Dotychczasowe wyniki Model Implementacja Predykcja Optymalizacja Analiza stanów Plany przyszłych badań
Duże natężenie ruchu dlaczego badać to zjawisko? Problem cywilizacyjny: - Dłuższy czas dojazdu na miejsce - Stres kierowców - Wzrost zanieczyszczenia środowiska - Wzrost zużycia paliwa - Hałas - Organizacja życia w mieście (komunikacja miejska, budowa dróg) Problem komercyjny: - Osoby pracujące w 7 największych polskich miastach tracą rocznie ponad 3.5 mld złotych z powodu korków w mieście 1 - W USA kierowcy tracą rocznie 5.5 mld godzin i 2.9 mld galonów paliwa z powodu dużego natężenie ruchu 2 1 Raport firmy doradczej Deloitte i portalu Targeo.pl z 2012 roku 2 Raport firmy doradczej McKinsey z 2011 roku
Jak badać ruch drogowy? Zagadnienia: - Modelowanie (implementacja modelu) - Analiza - Predykcja - Optymalizacja
Modelowanie ruchu pojazdów Rodzaje modeli: Podział ze względu na granularność: makroskopowe mikroskopowe Podział ze względu na skalę/wymiar: jednowymiarowe (np. autostradę) wielowymiarowe (np. ruch w mieście) Ze względu na determinizm: deterministyczne probabilistyczne
Model Nagela-Schreckenberga (1992) Model mikroskopowy Probabilistyczny, jednowymiarowy automat komórkowy (cykliczna taśma) Długość komórki odpowiada 7.5 metra Czas jest dyskretny, prędkości też Prędkości pojazdów to ilość komórek, o które się przemieściły (V MAX = 5) Każda komórka może być pusta (ma stan pusty null) lub zajęta przez 1 pojazd (stan to prędkość pojazdu) Pojazdy są nierozróżnialne
Model Nagela-Schreckenberga Reguły przejścia dla pojazdu i: 1. V i := min{v i +1, V MAX } (przyspieszenie) 2. V i := min{v i, d i } (bezpieczeństwo) (d i odległość do pojazdu bezpośrednio przed i) 3. V i := max{0, V i - 1} z prawdopodobieństwem p (randomizacja) 4. Pojazd i porusza się o V i komórek do przodu
Model NaSch zgodność z rzeczywistością Wyniki symulacji komputerowej Dane z rzeczywistych pomiarów ruchu W wyniku dalszych badań okazało się, że kluczowym czynnikiem dla spontanicznego formowania się korków jest krok 3 reguły, czyli randomizacja.
Model NaSch - uogólnienia Powstało sporo rozszerzeń modelu, np. wiele pasów ruchu, model 2-wymiarowy (Chowdhury- Schadshneider).
Model mój Sieć drogowa reprezentowana jako graf skierowany (dane z serwisu OpenStreetMap): Wierzchołki to skrzyżowania lub punkty zmiany parametrów drogi W niektórych wierzchołkach znajdują się światła Krawędzie podzielone na taśmy (pasy ruchu), podzielone na komórki (jak w modelu NaSch) Krawędzie posiadają atrybutu takie jak: ilość pasów ruchu, maksymalna prędkość
Model mój Sieć drogowa reprezentowana jako graf skierowany: Reguły ruchu po prostej/krawędziach jak w modelu NaSch i jego rozszerzeniach, ale Kierowcy są rozróżnialni maksymalną prędkością z jaką chcieliby jechać (atrybut agresywność - losowany z rozkładu normalnego) Ta prędkość jest redukowana w przypadku skręcania oraz przejazdu na wprost przez skrzyżowanie Wjazd na odpowiedni pas w przypadku skręcania
Model mój Synchronizacja świateł na skrzyżowaniu Sygnalizacja świetlna = obiekt posiadający atrybuty: aktualna faza (ze zbioru {światło zielone, światło czerwone}) czas trwania fazy światła zielonego (default = 58 sek.) czas trwania fazy światła czerwonego (default = 62 sek.) przesunięcie w fazie (w stosunku do początku symulacji) = czas (w sekundach) do najbliższej zmiany fazy ze światła czerwonego na zielone
Model mój Obliczanie trasy: Punkty startowe i końcowe to wierzchołki grafu Trasy liczone wg algorytmu A* (heurystyka będącą odległością geograficzną między punktami) Do wyboru punktów startowych/końcowych często wykorzystuje się Macierz O-D (Origin-Destination Matrix). W przypadku Warszawy takiej macierzy jeszcze nie ma (można próbować ją aproksymować ciekawy temat badawczy).
Model mój Mapa miasta podzielona na obszary, każdy ma stopień określający prawdopodobieństwo wylosowania punktu z danego obszaru jako punkt początkowy (to samo dla punktów końcowych tras). Punkty początkowe i końcowe to wierzchołki grafu losowane z wybranego obszaru z rozkładem jednostajnym.
Traffic Simulation Framework
Dane - output Struktura sieci drogowej - Graf, Światła Natężenie ruchu - Ilość pojazdów przejeżdżających przez daną trasę/odcinek Średnie prędkości przejazdów Położenia pojazdów Kolejność formowania się korków
Zastosowania TSF - predykcja IEEE ICDM Contest: TomTom Traffic Prediction for Intelligent GPS Navigation: 575 zarejestrowanych uczestników 3 kategorie: predykcja natężenia ruchu, predykcja średnich prędkości, predykcja kolejności powstawania korków Patronat firmy TomTom i organizacji IEEE Sprawozdanie (workshop) na konferencji ICDM 2010 w Sydney
Zastosowania TSF - predykcja Mając dane rzeczywiste o odpowiedniej rozdzielczości (np. pętle indukcyjne, odbiorniki GPS), można dokonać dokładnej kalibracji modelu i przeprowadzać szybką symulację komputerową, aby dokonać predykcję stanu ruchu np. za 30 minut. Na podobnej zasadzie działa system Autobahn w Zagłębiu Ruhry w Niemczech (http://www.autobahn.nrw.de/olsim3_6/nrw_e.html)
Zastosowania TSF - optymalizacja W momencie wykrycia (np. 10-20 minut wcześniej) zagrożenia powstania korka (lub innej niepożądanej sytuacji) można spróbować wykonać odpowiednie akcje, aby zapobiec takiej sytuacji. Możliwe akcje: propozycja nowych tras przejazdu dla części kierowców rekonfiguracja sygnalizacji świetlnej
Zastosowania TSF - optymalizacja Znajdowanie (sub)optymalnej konfiguracji świateł W Warszawie jest ok. 800 skrzyżowań ze światłami Można sterować przesunięciami w fazie lub długościami cykli/faz Można założyć, że w obrębie pojedynczego skrzyżowania światła są zsynchronizowane Przestrzeń rozwiązań jest olbrzymia, może pomóc np. klasteryzacja grafu (znajdowanie lokalnych rozwiązań i łączenie w większe) Potencjalne rozwiązanie musi być przetestowane, np. poprzez przeprowadzenie symulacji komputerowej (czasem kilku)
Co optymalizować Możliwe miary jakości ruchu: Średnia prędkość (globalna, w zadanym czasie) Łączny czas, w którym pojazdy mają prędkość 0 km/h Łączny czas, w którym pojazdy mają prędkość mniejszą niż 20 km/h Opóźnienie Łączne zużycie paliwa Łączna emisja spalin Połączenie kilku powyższych funkcji Jak obliczać wartości miar: Przeprowadzanie symulacji komputerowych
Analiza stanów Eksperyment przeprowadzony w czerwcu 2013 wspólnie z dr Piotrem Wasilewskim Wygenerowaliśmy 51 sytuacji dotyczących ruchu drogowego w okolicach ulic Banacha, Bitwy Warszawskiej i Grójeckiej 10-ciominutowe sytuacje podzielone na 5 części, razem 255 (2-minutowych) części 75 ekspertów oceniało każdą część pod kątem tego, jakie było natężenie ruchu (małe, średnie, duże, korek/zator)
Analiza stanów Poza odpowiedziami ekspertów mamy dane sensoryczny z symulacji (położenia i prędkości pojazdów) oraz wyjaśnienia do odpowiedzi Dzięki temu mamy zbiór treningowy do konstrukcji klasyfikatorów aproksymujących wysokopoziomowe pojęcia (jak małe/średnie/duże natężenie ruchu) Klasyfikatory będą wykorzystywały wiedzę dziedzinową wyjaśnienia ekspertów posłużą do konstrukcji zbioru atrybutów
Analiza stanów co nam to da? Przeprowadzamy symulację komputerową (lub pozyskujemy dane sensoryczne na temat ruchu pojazdów lub innego procesu). Wykrywamy aktualne stany procesu (przy pomocy klasyfikatorów). Wykrywamy bardziej złożone wzorce zachowań (np. formowanie się korka na skrzyżowaniu). Uruchamiamy algorytmy sterowania celem przeciwdziałania niepożądanym sytuacjom lub optymalizacji pewnych parametrów procesu.
Dziękuję za uwagę!! Pytania? pawelg@mimuw.edu.pl http://www.mimuw.edu.pl/~pawelg