• Nie Znaleziono Wyników

D Algorytm scalania decyzji

W dokumencie Index of /rozprawy2/11061 (Stron 140-147)

private S u g g e s t e d S p e e d M e r g e S u g g e s t i o n s ( L i s t <S u g g e s t e d S p e e d > s u g g e s t i o n L i s t , double a c t u a l S p e e d , i n t p o i I d ) { // o d r z u ć w s z y s t k i e s u g e s t i e k t ó r y c h w y k o n a n i e n i e musi by ć p o d j ę t e na d y s t a n s i e minimum 50m double TOLERANCE_DISTANCE = 5 0 ; S u g g e s t e d S p e e d r e s u l t = new S u g g e s t e d S p e e d ( ) ; i f ( d e s i r e d S p e e d L i s t . Count == 0 ) return r e s u l t ; b o o l h a s B r a k i n g = f a l s e ; b o o l h a s A c c e l e r a t i o n = f a l s e ; b o o l s h o u l d S t o p = f a l s e ; // tymczasowa l i s t a d e c y z j i v a r tmp = new L i s t <S u g g e s t e d S p e e d >() ; f o r e a c h ( s u g g e s t i o n i n s u g g e s t i o n L i s t ) { // pomiń d e c y z j e n i e z m i e n i a j ą c e p r ę dko ś c i i f ( s u g g e s t i o n . s p e e d == −1) continue ; // o b l i c z e n i e j a k i minimalny d y s t a n s j e s t p o t r z e b n y do r e a l i z a c j i s u g e s t i i s u g g e s t i o n . r e a l i z a t i o n D i s t a n c e = c a l c u l a t e R e a l i z a t i o n D i s t a n c e ( a c t u a l S p e e d , s u g g e s t i o n . s p e e d ) , p o i I d ) ; // d y s t a n s po k t órym r e a l i z a c j a z a d a n i a b ę d z i e niemo ż l i w a v a r m i n R e a l i z a t i o n D i s t a n c e = s u g g e s t i o n . d i s t a n c e − s u g g e s t i o n . r e a l i z a t i o n D i s t a n c e ; i f ( m i n R e a l i z a t i o n D i s t a n c e < TOLERANCE_DISTANCE) { // s u g e s t i a ca ł k o w i t e g o z a t r z y m a n i a s i ę i f ( s u g g e s t i o n . s p e e d < 0 . 1 ) s h o u l d S t o p = true ; // i s t n i e j e s u g e s t i a p r z y s p i e s z e n i a i f ( s u g g e s t i o n . s p e e d > a c t u a l S p e e d ) h a s A c c e l e r a t i o n = true ; // i s t n i e j e s u g e s t i a z w o l n i e n i a i f ( s u g g e s t i o n . s p e e d < a c t u a l S p e e d | | s u g g e s t i o n . s p e e d == 0 )

Algorytm scalania decyzji h a s B r a k i n g = true ; // d o d a j s u g e s t i ę do d a l s z e g o r o z p a t r y w a n i a v a r s = new S u g g e s t e d S p e e d ( s u g g e s t i o n ) ; tmp . Add ( s ) ; } } // i s t n i e j e co n a j m n i e j j e d n a s u g e s t i a hamowania i f ( h a s B r a k i n g ) { // z n a j d ź n a j b l i ż s z ą s u g e s t i e v a r m i n S t a r t R e a l i z a t i o n D i s t a n c e = Double . MaxValue ; f o r e a c h ( t i n tmp ) { i f ( t . s p e e d < a c t u a l S p e e d | | t . s p e e d == 0 ) { v a r m i n R e a l i z a t i o n D i s t a n c e = t . d i s t a n c e − t . r e a l i z a t i o n D i s t a n c e ; i f ( m i n R e a l i z a t i o n D i s t a n c e < m i n S t a r t R e a l i z a t i o n D i s t a n c e ) { m i n S t a r t R e a l i z a t i o n D i s t a n c e = m i n R e a l i z a t i o n D i s t a n c e ; r e s u l t = t ; } } }

// n i e p o t r z e b u j e m y hamować , moż emy p r z y s p i e s z a ć j e ż e l i i s t n i e j e t a k a s u g e s t i a e l s e i f ( h a s A c c e l e r a t i o n && ! s h o u l d S t o p ) { // z n a j d ź n a j b l i ż s z ą s u g e s t i e v a r m i n S t a r t R e a l i z a t i o n D i s t a n c e = Double . MaxValue ; f o r e a c h ( t i n tmp ) { i f ( t . s p e e d > a c t u a l S p e e d ) { v a r m i n R e a l i z a t i o n D i s t a n c e = t . d i s t a n c e − t . r e a l i z a t i o n D i s t a n c e ; i f ( m i n R e a l i z a t i o n D i s t a n c e < m i n S t a r t R e a l i z a t i o n D i s t a n c e ) { m i n S t a r t R e a l i z a t i o n D i s t a n c e = m i n R e a l i z a t i o n D i s t a n c e ; r e s u l t = t ; } } } } return r e s u l t ; }

Listing 2: Algorytm scalania decyzji dostarczonych przez poszczególne submoduły poziomu taktycznego.

SPIS TABEL

Spis tabel

2 Pierwsze pięć próbek oraz średnia dla dwóch różnych kierowców. . . 62

3 Wyniki klasyfikacji kierowców przy użyciu wybranych metod. . . 62

4 Wartości średnie µ oraz odchylenie standardowe σ cech charakterystycznych dla trzech różnych kierowców. . . 65

5 Czas przejazdu 40 jednakowych kierowców, D0 – kierowca agresywny, D1 – kie-rowca spokojny. . . 101

6 Czas przejazdu naprzemiennie ustawionych kierowców, D0 – kierowca agre-sywny oraz D1 – kierowca spokojny. . . 102

7 Czas przejazdu kolejno ustawionych kierowców D0 – kierowca agresywny oraz D1 – kierowca spokojny. . . 103

8 Czas przejazdu kolejno ustawionych kierowców D1 – kierowca spokojny oraz D0 – kierowca agresywny. . . 103

9 Czas przejazdu poszczególnych kierowców dla D0x40. . . 116

10 Czas przejazdu poszczególnych kierowców dla D1x40. . . 117

11 Czas przejazdu poszczególnych kierowców dla naprzemiennie D0, D1. . . 118

12 Czas przejazdu poszczególnych kierowców dla naprzemiennie D1, D0. . . 119

13 Czas przejazdu poszczególnych kierowców dla naprzemiennie D0x2, D1x2. . 120

14 Czas przejazdu poszczególnych kierowców dla naprzemiennie D1x2, D0x2. . 121

15 Czas przejazdu poszczególnych kierowców dla naprzemiennie D0x5, D1x5. . 122

16 Czas przejazdu poszczególnych kierowców dla naprzemiennie D1x5, D0x5. . 123

17 Czas przejazdu poszczególnych kierowców dla naprzemiennie D0x10, D1x10. 124 18 Czas przejazdu poszczególnych kierowców dla naprzemiennie D1x10, D0x10. 125 19 Czas przejazdu poszczególnych kierowców dla kolejno D0x5 i D1x35. . . 126

20 Czas przejazdu poszczególnych kierowców dla kolejno D0x10 i D1x30. . . 127

21 Czas przejazdu poszczególnych kierowców dla kolejno D0x20 i D1x20. . . 128

22 Czas przejazdu poszczególnych kierowców dla kolejno D0x30 i D1x10. . . 129

23 Czas przejazdu poszczególnych kierowców dla kolejno D0x35 i D1x5. . . 130

24 Czas przejazdu poszczególnych kierowców dla kolejno D0x5 i D1x35. . . 131

25 Czas przejazdu poszczególnych kierowców dla kolejno D1x10 i D0x30. . . 132

26 Czas przejazdu poszczególnych kierowców dla kolejno D1x20 i D0x20. . . 133

27 Czas przejazdu poszczególnych kierowców dla kolejno D1x30 i D0x10. . . 134

SPIS RYSUNKÓW

Spis rysunków

2.1 Przykłady reprezentacji obiektów w OpenStreetMaps [44]. . . 16

2.2 Hierarchiczna struktura modelu reprezentacji dróg [48]. . . 18

2.3 Model hierarchiczny zachowania kierowców, opracowanie na podstawie J.A. Michona [55]. . . 21

2.4 Model hierarchiczny z wydzielonym modułem dynamiki pojazdu, źródło [64]. 22 2.5 Model agentowy, hierarchiczny, źródło [65]. . . 23

3.1 Typowy model kierowcy (a) oraz proponowany model kierowcy (b). . . 27

4.1 Węzły i ścieżki w modelu opisu środowiska. . . 30

4.2 Pięć kolejnych SectionAreas zdefiniowanych przez pięć elementów S. Każdy węzeł N ode może mieć inną wartość promienia r, w rezultacie czego możemy zmieniać szerokość pasa ruchu. . . 32

4.3 Przykład kolizji pomiędzy dwoma pasami ruchu. Nachodzące na siebie ob-szary przecinają się w punktach oznaczonych czarnymi kropkami. W takim przypadku rzutujemy punkty przecięcia na ścieżkę pomiędzy istniejącymi węzłami i w tym miejscu tworzymy nowy węzeł. . . 34

4.4 Model pojedynczego skrzyżowania (Kraków, ul.Lea i ul.Przybyszewskiego). . 35

4.5 Crossedit, przykład edycji kilku przecznic miasta. . . 36

4.6 Crossedit, przykład edycji pojedynczego skrzyżowania. . . 37

5.1 Poglądowy schemat rozmieszczenia elementów mobilnej platformy badawczej. 39 5.2 Samochód - mobilne laboratorium badawcze, rozmieszczenie kamer. . . 40

5.3 Schemat połączeń komponentów mobilnej platformy badawczej. . . 41

5.4 Logiczna budowa klastra służącego do gromadzenia danych. . . 42

5.5 Klaster zbudowany z 8 mikrokomputerów Pandaboadrd. . . 43

5.6 Synchronizacja danych. . . 47

5.7 Wykrywanie tylnych świateł. . . 48

5.8 Wykrywanie tylnych świateł "stop" oraz pomiar odległości pomiędzy świa-tłami w obrazie stereo. . . 48

5.9 Wykres aproksymacji zależności odległości pomiędzy tylnymi światłami "stop" - oś X a odległości do samochodu poprzedzającego - oś Y . . . 49

5.10 Architektura programowa systemu do przetwarzania danych z mobilnego labolatorium badawczego. . . 50

5.11 Manewr hamowania - średnia arytmetyczna i odchylenie. Oś X w dziedzinie drogi, odwrócona. . . 54

5.12 Manewr przyspieszania - średnia arytmetyczna i odchylenie. Oś X w dzie-dzinie drogi. . . 55

SPIS RYSUNKÓW

5.14 Aplikacja analityczna, widok mapowy dla pojedynczego manewru. . . 56

5.15 Aplikacja analityczna, widok podglądu pojedynczej kamery. . . 57

5.16 Trasa przejazdu dla eksperymentu "Manewr skrętu w lewo". . . 58

5.17 Proces przetwarzania zgromadzonych danych. . . 59

5.18 Wykres prędkości pojazdu podczas trwania eksperymentu. . . 60

5.19 Wykres położenia pedału gazu podczas jazdy (zielone trójkąty), stanu pe-dałów sprzęgła (czerwone gwiazdki) i hamulca (niebieskie kółka). . . 60

5.20 Wykres położenia pedału gazu (zielone kółka), stanu pedałów sprzęgła (czer-wone gwiazdki) i hamulca (niebieskie trójkąty) po przefiltrowaniu w otocze-niu punktu P OI. . . 60

5.21 Wykres prędkości oraz położenia pedału gazu (zielone kółka), stanu peda-łów sprzęgła (czerwone gwiazdki) i hamulca (niebieskie trójkąty) dla dwóch różnych kierowców w otoczeniu tego samego punktu P OI. . . 61

5.22 Prędkość samochodu [km/h] – linia ciągła, odległość pomiędzy samochoda-mi [m] – trójkąty, wykres w dziedzinie czasu. . . 64

5.23 Manewr hamowania dla jednego kierowcy. Prędkość [km/h] - kwadraty, od-ległość pomiędzy samochodami [m] - "diamenty", wykres w dziedzinie czasu. 64 5.24 Trasa dla eksperymentu jazdy w warunkach miejskich. . . 66

5.25 Manewr przyspieszania dla dwóch różnych kierowców, różne zachowanie. . . 67

5.26 Manewr przyspieszania dla dwóch różnych kierowców, podobne zachowanie. 67 5.27 Manewr hamowania dla dwóch różnych kierowców. . . 68

5.28 Manewr przyspieszania dla dwóch różnych kierowców na drugim biegu. . . . 69

5.29 Manewr hamowania dla dwóch różnych kierowców w dziedzinie drogi. . . 69

5.30 Przyspieszanie dla dwóch różnych kierowców w pojedynczym punkcie P OI. 70 5.31 Manewr hamowania dla dwóch kierowców w dziedzinie drogi w tym samym punkcie P OI. . . 70

5.32 Manewr hamowania dla dwóch kierowców w trzech różnych punktach P OI. 71 5.33 Manewr hamowania w dziedzinie czasu dla kilkunastu kierowców. . . 72

5.34 Manewr przyspieszania w wybranym pojedynczym punkcie P OI dla kilku-nastu kierowców. . . 73

5.35 Manewr skrętu w lewo w pojedynczym punkcie P OI dla kilkunastu kierowców. 73 5.36 Manewr hamowania w dziedzinie drogi dla trzech wybranych kierowców. . . 74

5.37 Manewr przyspieszania w dziedzinie drogi dla trzech wybranych kierowców. 74 5.38 Manewr skrętu w prawo w dziedzinie drogi dla trzech wybranych kierowców. 75 5.39 Architektura modelu kierowcy. . . 76

5.40 Przykład planowania trasy przejazdu z węzła nr 1 do węzła nr 7. . . 77

5.41 Wizualizacja działania modułu detekcji kolizji. . . 78

SPIS RYSUNKÓW

5.43 Estymacja odległości potrzebnej do wykonania manewru przyspieszania. . . 80

5.44 Estymacja odległości potrzebnej do wykonania manewru hamowania. . . 81

5.45 Przykład podejmowania decyzji D1 (przyspieszanie) na podstawie trzech sugestii (D1, D2, D3). . . 81

5.46 Automat działający na poziomi kontroli pojazdu z użyciem rzeczywistych charakterystyk. . . 82

5.47 Procedura hamowania po krzywej wykresu. . . 83

5.48 Procedura przyspieszania po krzywej wykresu. . . 84

5.49 Procedura interpolacji brakujących danych. . . 85

6.1 Struktura modelu świata systemu RoBOSS, źródło [36]. . . 89

6.2 Komponenty symulatora RoBOSS, źródło [36]. . . 90

6.3 Architektura platformy symulacyjnej. . . 91

6.4 Wizualizacja testowej trasy przygotowanej na potrzeby walidacji modelu kierowcy. . . 92

6.5 Wykres prędkości pojedynczego pojazdu z użyciem stworzonego modelu kie-rowcy. . . 92

6.6 Błąd względny δv symulacji manewru hamowania. . . 94

6.7 Błąd względny δv symulacji manewru przyspieszania. . . 94

6.8 Wizualizacja uproszczonej trasy przejazdu przygotowanej na potrzeby pierw-szych eksperymentów symulacyjnych. . . 95

6.9 Wykres prędkości trzech pojazdów z użyciem tego samego modelu kierowcy. 96 6.10 Manewr hamowania w dziedzinie drogi dwóch skrajnie zachowujących się kierowców. . . 96

6.11 Manewr przyspieszania dwóch skrajnie zachowujących się kierowców. . . 97

6.12 Jazda po prostej dwóch skrajnie zachowujących się kierowców. . . 97

6.13 Manewr skrętu w lewo dwóch skrajnie zachowujących się kierowców. . . 98

6.14 Wizualizacja trasy przejazdu przygotowanej na potrzeby kolejnych ekspery-mentów symulacyjnych. . . 100

6.15 Porównanie czasu przejazdu kierowców mieszanych 2 * Tmixed z czasem przejazdu kierowców posortowanych ze względu na temperament (Tlazy + Taggresive). . . 102

A.1 Wykres symulacji przejazdu dla D0x40. . . 116

A.2 Wykres symulacji przejazdu dla D1x40. . . 117

A.3 Wykres symulacji przejazdu dla naprzemiennie D0, D1. . . 118

A.4 Wykres symulacji przejazdu dla naprzemiennie D1, D0. . . 119

A.5 Wykres symulacji przejazdu dla naprzemiennie D0x2, D1x2. . . 120

A.6 Wykres symulacji przejazdu dla naprzemiennie D1x2, D0x2. . . 121

SPIS RYSUNKÓW

A.8 Wykres symulacji przejazdu dla naprzemiennie D1x5, D0x5. . . 123

A.9 Wykres symulacji przejazdu dla naprzemiennie D0x10, D1x10. . . 124

A.10 Wykres symulacji przejazdu dla naprzemiennie D1x10, D0x10. . . 125

A.11 Wykres symulacji przejazdu dla kolejno D0x5 i D1x35. . . 126

A.12 Wykres symulacji przejazdu dla kolejno D0x10 i D1x30. . . 127

A.13 Wykres symulacji przejazdu dla kolejno D0x20 i D1x20. . . 128

A.14 Wykres symulacji przejazdu dla kolejno D0x30 i D1x10. . . 129

A.15 Wykres symulacji przejazdu dla kolejno D0x35 i D1x5. . . 130

A.16 Wykres symulacji przejazdu dla kolejno D0x5 i D1x35. . . 131

A.17 Wykres symulacji przejazdu dla kolejno D1x10 i D0x30. . . 132

A.18 Wykres symulacji przejazdu dla kolejno D1x20 i D0x20. . . 133

A.19 Wykres symulacji przejazdu dla kolejno D1x30 i D0x10. . . 134

Wykaz ważniejszych skrótów i oznaczeń

W dokumencie Index of /rozprawy2/11061 (Stron 140-147)

Powiązane dokumenty