Читать книгу Pojazdy autonomiczne i systemy transportu autonomicznego - Maciej Kozłowski - Страница 11
На сайте Литреса книга снята с продажи.
1.2.1.1. Opis reguł ruchu
ОглавлениеW chwili ustalenia struktury grafu odzwierciedlającego topologię sieci PRT elementy dynamiczne (tj. pojazdy, zajezdnie, skrzyżowania, moduły logiczne) otrzymują warunki początkowe (między innymi położenia, prędkości, wagi). Po ustaleniu i zdefiniowaniu wszystkich elementów składowych automatu komórkowego można przejść do opisu reguł określających ewolucję automatu w czasie.
Jak wspomniano, wszystkie komórki zmieniają stan synchronicznie, realizując pojedynczy „tik” (krok iteracji) upływu czasu. Realizację tiku można podzielić na kilka faz, które scharakteryzowano poniżej.
1 Sprawdzanie reguł przejść – w tej fazie jest sprawdzany aktualny stan komórki oraz stany komórek sąsiednich.
2 Sprawdzanie sąsiedztwa – w tej fazie bada się, czy jedna z komórek sąsiednich nie wchodzi w stan, w którym wykonanie kolejnego kroku iteracji jest niezgodne z założonymi zasadami ewolucji automatu (np. jeden pojazd najedzie na drugi). Takie stany będziemy nazywali konfliktami. Należy wyeliminować wszystkie istniejące konflikty według ustalonych wcześniej reguł (np. przez redukcję prędkości).
3 Sprawdzanie warunków brzegowych – sprawdzane są komórki znajdujące się na krawędziach automatu komórkowego (np. gdy pojazd wjeżdża do zajezdni). Należy je usunąć z automatu (pojazdy przebywające w zajezdni nie biorą udziału w ewolucji automatu do chwili, w której z niej wyjadą).
4 Sprawdzanie liczby iteracji – jeśli jest to automat o skończonym, z góry określonym cyklu życiowym, w tej fazie sprawdza się, czy może nastąpić koniec ewolucji automatu.
Rys. 1.9. Ewolucja automatu komórkowego w czasie
Aktualizacja konfiguracji modelu w ramach taktu (automat komórkowy realizuje zmiany stanów synchronicznie) składa się z faz wykonywanych równolegle dla wszystkich pojazdów w sieci (rys. 1.9), które opisano poniżej.
1 Przyspieszanie – gdy prędkość pojazdu v jest mniejsza od prędkości maksymalnej (ustalonej dla pojazdu bądź na odcinku drogi) oraz dystans do kolejnego pojazdu jest większy niż v + 1 komórek, wówczas zwiększ prędkość o jedną jednostkę, czyli wykonaj v = v + 1 (drugi wiersz na rys. 1.9 − ograniczeniem prędkości jest 2, pojazd czerwony zmienił prędkość z 1 na 2).
2 Zwalnianie – jeśli dwa pojazdy poruszają się odcinkiem drogi jeden za drugim w odległości j komórek, upewnij się, czy prędkość pojazdu jadącego z tyłu wynosi co najwyżej j; jeśli ten warunek nie jest spełniony, zredukuj prędkość do j − 1, czyli wykonaj v = j − 1 (trzeci wiersz na rys. 1.9 − pojazd zielony zmniejszył prędkość z 2 do 0, ponieważ przed nim stoi inny pojazd).
3 Randomizacja prędkości (faza opcjonalna) – z prawdopodobieństwem p1 prędkość pojazdu jest zmniejszana o 1 (jeżeli jest ona większa od 0), czyli v = v – 1.
4 Randomizacja awarii (faza opcjonalna) – z prawdopodobieństwem p2 pojazd ulega awarii na ustaloną liczbę jednostek czasu (wtedy prędkość pojazdu jest ustawiana na 0 przez ten okres).
5 Pierwszeństwo i ruch – jeśli w następnym kroku iteracji (jednostce czasu) pojazd przejeżdża przez skrzyżowanie, sprawdź następujące warunki:gdy nie ma konfliktu na skrzyżowaniu, tzn. inny pojazd z innego kierunku nie będzie w tym samym czasie przejeżdżał przez skrzyżowanie, nie rób nic;w przeciwnym razie ustal kolejność przejazdu pojazdów (za szeregowanie jest odpowiedzialny moduł logiki omawiany w następnym punkcie); pojazd z pierwszeństwem przejazdu przejeżdża normalnie, natomiast pojazdy, które muszą ustąpić, zwalniają i czekają przed skrzyżowaniem;ruch: przenieś pojazdy o v komórek w kierunku jazdy (ostatni wiersz na rys. 1.9 − pojazd czerwony prawdopodobnie stoi przed skrzyżowaniem, które jest zajęte, ponieważ jego prędkość została zmniejszona do 0; pojazd zielony nadal stoi, a pozostałe pojazdy − niebieskie – zostały przesunięte odpowiednio do przodu).