191
POLITECHNIKA WROCŁAWSKA WYDZIAŁ INFORMATYKI I ZARZĄDZANIA KATEDRA INFORMATYKI I INŻYNIERII SYSTEMÓW ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI W SCENTRALIZOWANYM INFORMATYCZNYM SYSTEMIE KIEROWANIA POJAZDEM Damian Petrecki promotor: prof. dr hab. inż. Jerzy Józefczyk Wrocław 2020

ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

POLITECHNIKA WROCŁAWSKA

WYDZIAŁ INFORMATYKI I ZARZĄDZANIA

KATEDRA INFORMATYKI I INŻYNIERII SYSTEMÓW

ZINTEGROWANY ALGORYTM

WSPOMAGANIA DECYZJI

W SCENTRALIZOWANYM

INFORMATYCZNYM SYSTEMIE

KIEROWANIA POJAZDEM

Damian Petrecki

promotor:

prof. dr hab. inż. Jerzy Józefczyk

Wrocław 2020

Page 2: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…
Page 3: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

3

SPIS TREŚCI

Spis ilustracji ........................................................................................................................................... 6

Spis tabel .................................................................................................................................................. 8

Spis listingów ......................................................................................................................................... 11

Streszczenie ........................................................................................................................................... 12

Abstract .................................................................................................................................................. 14

1. Charakterystyka problematyki pracy ............................................................................................. 15

1.1. Wstęp ..................................................................................................................................... 15

1.2. Motywacja pracy .................................................................................................................... 17

1.3. Przegląd literatury .................................................................................................................. 18

1.4. Podstawowe informacje ......................................................................................................... 21

1.4.1. Podstawowe pojęcia związane z motoryzacją ............................................................... 22

1.4.2. Podstawowe pojęcia związane z informatyką ................................................................ 34

1.5. Opis pracy .............................................................................................................................. 41

1.5.1. Cel i teza ........................................................................................................................ 41

1.5.2. Zadania badawcze .......................................................................................................... 45

1.5.3. Zakres i ograniczenia ..................................................................................................... 46

1.5.4. Uzyskane rezultaty ......................................................................................................... 48

1.5.5. Wkład pracy w rozwój informatyki ............................................................................... 48

1.5.6. Przegląd zawartości pracy .............................................................................................. 49

2. Opis algorytmu IDSA i założenia projektowe ............................................................................... 50

2.1. Geometryczna mapa otoczenia pojazdu ......................................................................... 51

2.2. Dyskretno-ciągły magazyn danych ................................................................................ 54

2.3. Podział na procesy ......................................................................................................... 58

2.4. Analiza jakościowa – zalety i ograniczenia IDSA ......................................................... 60

2.5. Procesy składowe algorytmu ......................................................................................... 61

2.6. Proces przetwarzania danych prostych .......................................................................... 63

2.7. Proces przetwarzania danych o otoczeniu ..................................................................... 67

2.8. Proces predykcji trajektorii ............................................................................................ 68

2.9. Proces wyznaczania zmiennych sterujących.................................................................. 69

2.10. Proces wysyłania zmiennych sterujących ...................................................................... 70

Page 4: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

4

3. Symulacyjne środowisko badawcze .............................................................................................. 72

3.1. Wybór środowiska ................................................................................................................. 72

3.2. Kalibracja pojazdu tradycyjnego ........................................................................................... 76

3.3. Realizacja IDSA na potrzeby badań ...................................................................................... 79

4. Badania symulacyjne algorytmu .................................................................................................... 82

4.1. Podstawy badań symulacyjnych ............................................................................................ 82

4.1.1. Parametry ....................................................................................................................... 82

4.1.2. Wskaźniki oceny ............................................................................................................ 83

4.1.3. Ograniczenia .................................................................................................................. 87

4.2. Plan badań .............................................................................................................................. 88

4.2.1. Wykonanie IDSA ........................................................................................................... 89

4.2.2. Testowanie IDSA ........................................................................................................... 89

4.3. Strojenie IDSA ....................................................................................................................... 95

4.3.1. Dyskretno-ciągły magazyn danych ................................................................................ 95

4.3.2. Proces przetwarzania danych o otoczeniu ..................................................................... 99

4.3.3. Proces predykcji trajektorii .......................................................................................... 101

4.3.4. Proces wyznaczania zmiennych sterujących................................................................ 106

4.3.5. Proces wysyłania zmiennych sterujących .................................................................... 111

4.4. Porównanie zachowania pojazdu sterowanego przy pomocy IDSA i pojazdu referencyjnego .

............................................................................................................................................. 111

4.4.1. Pojazdy skalibrowane .................................................................................................. 112

4.4.2. Pojazd referencyjny bez ECS i TCS ............................................................................ 122

4.4.3. Pojazd referencyjny z komfortowym zawieszeniem ................................................... 124

4.4.4. Pojazd referencyjny z komfortowym zawieszeniem bez ESC i TSC .......................... 126

4.4.5. Pojazd referencyjny ze sportowym zawieszeniem ....................................................... 127

4.4.6. Pojazd referencyjny ze sportowym zawieszeniem bez ESC i TSC ............................. 129

4.4.7. Zwiększenie masy pojazdu o 300[kg] .......................................................................... 131

4.4.8. Zwiększenie masy pojazdu o 300[kg] i przesunięcie środka ciężkości ....................... 134

4.4.9. Pojazd ze zużytymi oponami ....................................................................................... 137

4.4.10. Zmiana bezwładności urządzeń wykonawczych ......................................................... 140

4.4.11. Zmiana stopnia wielomianu aproksymującego ............................................................ 146

4.4.12. Zmniejszona liczba wątków aproksymujących ............................................................ 152

Page 5: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

5

4.4.13. Zmiana liczby generacji w procesie predykcji trajektorii ............................................ 155

4.5. Analiza wyników badań ....................................................................................................... 161

4.5.1. Niezaliczone przejazdy ................................................................................................ 161

4.5.2. Pozostałe wskaźniki cząstkowe ................................................................................... 166

4.5.3. Wskaźniki zagregowane .............................................................................................. 170

4.5.4. Podsumowanie ............................................................................................................. 174

5. Zakończenie ................................................................................................................................. 176

5.1. Problem pracy ...................................................................................................................... 176

5.2. Najważniejsze wyniki .......................................................................................................... 177

5.3. Kierunki dalszych prac i rekomendacje wdrożeniowe ........................................................ 177

Literatura .............................................................................................................................................. 180

Page 6: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

6

SPIS ILUSTRACJI

Rysunek 1 Układ współrzędnych samochodu [7] .................................................................................. 22

Rysunek 2 Klasyczny napęd na 4 koła .................................................................................................. 23

Rysunek 3 Niezależny napęd na 4 koła ................................................................................................. 24

Rysunek 4 Niezależny napęd dwóch osi ................................................................................................ 24

Rysunek 5 Niezależny napęd na 4 koła ze wspólnym silnikiem ........................................................... 25

Rysunek 6 Schemat ideowy (a) i konstrukcyjny (b) wariatora pasowego [44] ..................................... 26

Rysunek 7 Budowa mechanizmu różnicowego [47].............................................................................. 27

Rysunek 8 Schemat układu kierowniczego [51] .................................................................................... 28

Rysunek 9 Zasada Ackermana [53] ....................................................................................................... 29

Rysunek 10 Model zawieszenia pojedynczego koła [55] ...................................................................... 30

Rysunek 11 Schemat budowy stabilizatora [57] .................................................................................... 31

Rysunek 12 Poziomy autonomii pojazdów [68] .................................................................................... 34

Rysunek 13 Schemat systemu podejmowania decyzji ........................................................................... 36

Rysunek 14 Umieszczenie sensorów na podszybiu samochodu [85] .................................................... 42

Rysunek 15 Model otoczenia wytworzony z użyciem lidaru Velodyne Alpha Prime na podstawie [103]

............................................................................................................................................................... 52

Rysunek 16 Model otoczenia utworzony na podstawie modelu geometrycznego ................................ 53

Rysunek 17 Uproszczony schemat działania magazynu danych ........................................................... 55

Rysunek 18 Przykład działania dyskretno-ciągłego magazynu danych ................................................ 56

Rysunek 19 Wejściowo-wyjściowy schemat systemu sterowania ........................................................ 58

Rysunek 20 Schemat budowy IDSA...................................................................................................... 59

Rysunek 21 Przykładowa realizacja IDSA ............................................................................................ 62

Rysunek 22 Horyzont czasowy używany w punktach 2.1.6 - 2.1.10 ................................................... 63

Rysunek 23 Przetwarzanie danych prostych .......................................................................................... 67

Rysunek 24 Przetwarzanie danych o otoczeniu ..................................................................................... 68

Rysunek 25 Planowanie trajektorii ........................................................................................................ 69

Rysunek 26 Wyznaczania zmiennych sterujących ................................................................................ 70

Rysunek 27 Wysyłanie zmiennych sterujących ..................................................................................... 70

Rysunek 28 Model pojazdu w Matlab/Simulink ................................................................................... 74

Rysunek 29 Symulator samochodu na Iwate Prefectural University ..................................................... 75

Rysunek 30 Krzywa mocy i momentu obrotowego w zależności od prędkości obrotowej silnika ....... 77

Rysunek 31 Ustawienia systemów bezpieczeństwa czynnego .............................................................. 78

Rysunek 32 Wizualizacja funkcji (18) – zależność współczynnika skrętu kół od prędkości ................ 79

Page 7: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

7

Rysunek 33 Model przepływu informacji z wykorzystaniem pojazdu referencyjnego ......................... 80

Rysunek 34 Obecny model przepływu informacji z wykorzystaniem IDSA ........................................ 81

Rysunek 35 Test łosia [139] .................................................................................................................. 90

Rysunek 36 Ciasny zakręt ...................................................................................................................... 90

Rysunek 37 Długi zakręt ........................................................................................................................ 91

Rysunek 38 Slalom ................................................................................................................................ 91

Rysunek 39 Przykładowy magazyn dyskretny ...................................................................................... 96

Rysunek 40 Przykładowy magazyn ciągły ............................................................................................ 96

Rysunek 41 Obiekty używane do strojenia procesu przetwarzania danych o otoczeniu ....................... 99

Rysunek 42 Etapy procesu predykcji trajektorii .................................................................................. 102

Rysunek 43 Niezaliczony test łosia ..................................................................................................... 113

Rysunek 44 Zaliczony test łosia .......................................................................................................... 113

Rysunek 45 Przechył samochodów 𝑞1 w eksperymencie 1 ................................................................. 115

Rysunek 46 Zmiana prędkości samochodów 𝑞2 w eksperymencie 1 .................................................. 116

Rysunek 47 Zmiana prędkości samochodów 𝑞2 w eksperymencie 2 .................................................. 118

Rysunek 48 Poślizg kół samochodów 𝑞4 oraz 𝑞5 podczas eksperymentu 3 ........................................ 120

Rysunek 49 Poślizg kół samochodów 𝑞4 oraz 𝑞5 podczas jazdy po różnych podłożach .................... 120

Rysunek 50 Czasy przejazdu 𝑞6 w eksperymencie 4 .......................................................................... 121

Rysunek 51 Przechył samochodu referencyjnego podczas slalomu przy nierównomiernym obciążeniu

............................................................................................................................................................. 137

Rysunek 52 Porównanie domyślnych ustawień opon i ustawień na potrzeby eksperymentów 33 – 36

............................................................................................................................................................. 137

Rysunek 53 Porównanie prędkości maksymalnych dla testu łosia ...................................................... 162

Rysunek 54 Porównanie prędkości maksymalnych dla przejazdu przez ciasny zakręt ....................... 163

Rysunek 55 Porównanie prędkości maksymalnych dla przejazdu przez długi zakręt ......................... 164

Rysunek 56 Porównanie maksymalnych prędkości początkowych dla przejazdu przez slalom ......... 165

Rysunek 57 Czas przejazdu przez slalom w zależności od prędkości początkowej ............................ 166

Rysunek 58 Porównanie liczby lepszych wyników ............................................................................. 169

Rysunek 59 Miary statystyczne wskaźnika bezpieczeństwa ............................................................... 173

Rysunek 60 Miary statystyczne wskaźnika komfortu.......................................................................... 173

Page 8: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

8

SPIS TABEL

Tabela 1 Wyjaśnienie oznaczeń z rysunku 8 ......................................................................................... 28

Tabela 2 Objaśnienia zmiennych użytych w modelu zawieszenia pojedynczego koła ......................... 30

Tabela 3 Założenia dotyczące urządzeń wykonawczych ....................................................................... 46

Tabela 4 Wyjaśnienie zmiennych z rysunku 19 .................................................................................... 59

Tabela 5 Oznaczenie zmiennych określających czas w punktach 2.6 - 2.10 ......................................... 63

Tabela 6 Spis zmiennych prostych ........................................................................................................ 64

Tabela 7 Parametry zawieszenia pojazdu referencyjnego ..................................................................... 77

Tabela 8 Wartości wag używanych do obliczenia wskaźników zagregowanych .................................. 87

Tabela 9 Ograniczenia ........................................................................................................................... 88

Tabela 10 Parametry fizyczne samochodu ............................................................................................ 92

Tabela 11 Parametry dotyczące IDSA lub jego składowych ................................................................. 92

Tabela 12 Parametry dotyczące samochodu referencyjnego ................................................................. 93

Tabela 13 Pozostałe parametry .............................................................................................................. 94

Tabela 14 Eksperyment 1 – test łosia - samochody skalibrowane ....................................................... 113

Tabela 15 Eksperyment 2 – ciasny zakręt - samochody skalibrowane ................................................ 116

Tabela 16 Eksperyment 3 – długi zakręt - samochody skalibrowane .................................................. 118

Tabela 17 Eksperyment 4 – slalom - samochody skalibrowane .......................................................... 121

Tabela 18 Eksperyment 5 - test łosia - samochód referencyjny bez ESC i TSC ................................. 122

Tabela 19 Eksperyment 6 – ciasny zakręt – samochód referencyjny bez ESC i TCS ......................... 122

Tabela 20 Eksperyment 7 – długi zakręt – samochód referencyjny bez ECS i TCS ........................... 123

Tabela 21 Eksperyment 8 – slalom - samochód referencyjny bez ECS i TCS .................................... 123

Tabela 22 Eksperyment 9 – test łosia – samochód referencyjny z komfortowym zawieszeniem ....... 124

Tabela 23 Eksperyment 10 – ciasny zakręt – samochód referencyjny z komfortowym zawieszeniem

............................................................................................................................................................. 125

Tabela 24 Eksperyment 11 – długi zakręt – samochód referencyjny z komfortowym zawieszeniem 125

Tabela 25 Eksperyment 12 – slalom – samochód referencyjny z komfortowym zawieszeniem ......... 125

Tabela 26 Eksperyment 13 – test łosia – samochód referencyjny z komfortowym zawieszeniem bez ECS

i ESP .................................................................................................................................................... 126

Tabela 27 Eksperyment 14 – ciasny zakręt – samochód referencyjny z komfortowym zawieszeniem bez

ECS i ESP ............................................................................................................................................ 126

Tabela 28 Eksperyment 15 – długi zakręt – samochód referencyjny z komfortowym zawieszeniem bez

ECS i ESP ............................................................................................................................................ 127

Page 9: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

9

Tabela 29 Eksperyment 16 – slalom – samochód referencyjny z komfortowym zawieszeniem bez ECS

i ESP .................................................................................................................................................... 127

Tabela 30 Eksperyment 17 – test łosia – samochód referencyjny ze sportowym zawieszeniem ........ 128

Tabela 31 Eksperyment 18 – ciasny zakręt – samochód referencyjny ze sportowym zawieszeniem . 128

Tabela 32 Eksperyment 19 – długi zakręt – samochód referencyjny ze sportowym zawieszeniem ... 128

Tabela 33 Eksperyment 20 – slalom – samochód referencyjny ze sportowym zawieszeniem ............ 129

Tabela 34 Eksperyment 21 – test łosia – samochód referencyjny ze sportowym zawieszeniem bez TSC

i ESC .................................................................................................................................................... 129

Tabela 35 Eksperyment 22 – ciasny zakręt – samochód referencyjny ze sportowym zawieszeniem bez

TSC i ESC ............................................................................................................................................ 130

Tabela 36 Eksperyment 23 – długi zakręt – samochód referencyjny ze sportowym zawieszeniem bez

TSC i ESC ............................................................................................................................................ 130

Tabela 37 Eksperyment 24 – slalom – samochód referencyjny ze sportowym zawieszeniem bez TSC

i ESC .................................................................................................................................................... 131

Tabela 38 Eksperyment 25 – test łosia – masa pojazdu zwiększona do 1600[kg] .............................. 131

Tabela 39 Eksperyment 26 – ciasny zakręt - masa pojazdu zwiększona do 1600[kg] ........................ 132

Tabela 40 Eksperyment 27 – długi zakręt - masa pojazdu zwiększona do 1600[kg] .......................... 133

Tabela 41 Eksperyment 28 – slalom - masa pojazdu zwiększona do 1600[kg] ................................... 133

Tabela 42 Eksperyment 29 – test łosia – masa pojazdu zwiększona do 1600[kg], środek ciężkości

przesunięty ........................................................................................................................................... 134

Tabela 43 Eksperyment 30 – ciasny zakręt - masa pojazdu zwiększona do 1600[kg], środek ciężkości

przesunięty ........................................................................................................................................... 135

Tabela 44 Eksperyment 31 – długi zakręt – masa pojazdu zwiększona do 1600[kg], środek ciężkości

przesunięty ........................................................................................................................................... 135

Tabela 45 Eksperyment 32 – slalom - masa pojazdu zwiększona do 1600[kg], środek ciężkości

przesunięty ........................................................................................................................................... 136

Tabela 46 Eksperyment 33 – test łosia – zużyte opony ....................................................................... 138

Tabela 47 Eksperyment 34 – ciasny zakręt - zużyte opony ................................................................. 139

Tabela 48 Eksperyment 35 – długi zakręt - zużyte opony ................................................................... 139

Tabela 49 Eksperyment 36 – slalom - zużyte opony ........................................................................... 140

Tabela 50 Eksperyment 37 – test łosia - zmniejszona bezwładność urządzeń wykonawczych ......... 140

Tabela 51 Eksperyment 38 – ciasny zakręt - zmniejszona bezwładność urządzeń wykonawczych .... 141

Tabela 52 Eksperyment 39 – długi zakręt - zmniejszona bezwładność urządzeń wykonawczych ...... 142

Tabela 53 Eksperyment 40 – slalom – zmniejszona bezwładność urządzeń wykonawczych ............. 143

Page 10: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

10

Tabela 54 Eksperyment 41 – test łosia - zwiększona bezwładność urządzeń wykonawczych ............ 143

Tabela 55 Eksperyment 42 – ciasny zakręt - zwiększona bezwładność urządzeń wykonawczych ..... 144

Tabela 56 Eksperyment 43 – długi zakręt - zwiększona bezwładność urządzeń wykonawczych ....... 145

Tabela 57 Eksperyment 44 – slalom – zwiększona bezwładność urządzeń wykonawczych............... 145

Tabela 58 Eksperyment 45 – test łosia – stopień wielomianu aproksymującego równy 2 .................. 146

Tabela 59 Eksperyment 46 – ciasny zakręt - stopień wielomianu aproksymującego równy 2 ............ 147

Tabela 60 Eksperyment 47 – długi zakręt - stopień wielomianu aproksymującego równy 2 .............. 148

Tabela 61 Eksperyment 48 – slalom – stopień wielomianu aproksymującego równy 2 ..................... 149

Tabela 62 Eksperyment 49 – test łosia – stopień wielomianu aproksymującego równy 5 .................. 149

Tabela 63 Eksperyment 50 – ciasny zakręt - stopień wielomianu aproksymującego równy 5 ............ 150

Tabela 64 Eksperyment 51 – długi zakręt - stopień wielomianu aproksymującego równy 5 .............. 151

Tabela 65 Eksperyment 52 – slalom – stopień wielomianu aproksymującego równy 5 ..................... 151

Tabela 66 Eksperyment 54 – test łosia - zmniejszona liczba wątków aproksymujących .................... 152

Tabela 67 Eksperyment 55 – ciasny zakręt - zmniejszona liczba wątków aproksymujących ............. 153

Tabela 68 Eksperyment 56 – długi zakręt - zmniejszona liczba wątków aproksymujących ............... 154

Tabela 69 Eksperyment 57 – slalom – zmniejszona liczba wątków aproksymujących ....................... 154

Tabela 70 Eksperyment 58 – test łosia - zmniejszona liczba generacji w procesie predykcji trajektorii

............................................................................................................................................................. 155

Tabela 71 Eksperyment 59 – ciasny zakręt - zmniejszona liczba generacji w procesie predykcji

trajektorii .............................................................................................................................................. 156

Tabela 72 Eksperyment 60 – długi zakręt - zmniejszona liczba generacji w procesie predykcji trajektorii

............................................................................................................................................................. 157

Tabela 73 Eksperyment 61 – slalom – zmniejszona liczba generacji w procesie predykcji trajektorii157

Tabela 74 Eksperyment 62 – test łosia - zwiększona liczba generacji w procesie predykcji trajektorii

............................................................................................................................................................. 158

Tabela 75 Eksperyment 63 – ciasny zakręt - zwiększona liczba generacji w procesie predykcji trajektorii

............................................................................................................................................................. 159

Tabela 76 Eksperyment 64 – długi zakręt - zwiększona liczba generacji w procesie predykcji trajektorii

............................................................................................................................................................. 160

Tabela 77 Eksperyment 65 – slalom – zwiększona liczba generacji w procesie predykcji trajektorii 161

Tabela 78 Porównanie średnich wyników z przejazdów powtarzanych w takich samych warunkach 166

Tabela 79 Miary statystyczne .............................................................................................................. 169

Tabela 80 Porównanie sposobu sterowania pod względem wskaźników zagregowanych .................. 170

Tabela 81 Miary statystyczne wskaźników zagregowanych ............................................................... 172

Page 11: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

11

SPIS LISTINGÓW

Listing 1 Pseudokod dyskretno-ciągłego magazynu danych ................................................................. 57

Listing 2 Pseudokod procesu analizy danych prostych ......................................................................... 67

Listing 3 Pseudokod procesu wysyłania zmiennych sterujących .......................................................... 71

Listing 4 Pseudokod uczenia sieci neuronowej ................................................................................... 100

Listing 5 Pseudokod przetwarzania danych o otoczeniu ..................................................................... 101

Listing 6 Pseudokod algorytmu poprawiania trajektorii ...................................................................... 105

Listing 7 Pseudokod procesu wyznaczania zmiennych sterujących .................................................... 109

Page 12: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

12

STRESZCZENIE

Prace z pogranicza informatyki i motoryzacji spotyka się raczej w wydawnictwach dotyczących tej

drugiej dziedziny. Najczęściej dotyczą one systemów wizyjnych lub sensorycznych, wykorzystania

sztucznej inteligencji, sieci informatycznych lub rzadziej – systemów wsparcia kierowcy. Niniejsza

rozprawa wypełnia lukę dotyczącą systemowego spojrzenia na kierowanie pojazdem z wykorzystaniem

metod znanych w informatyce. Jej motywacją są problemy wynikające ze stosowania wielu systemów

wsparcia kierowcy, wypełniających różne zadania, ale często używających tych samych czujników

i urządzeń wykonawczych. Zamiast tego, w pracy postanowiono skoncentrować się na zagregowanych

wskaźnikach oceny – komforcie i bezpieczeństwie jazdy – oraz zcentralizowanym systemie sterującym

pojazdem, którego celem jest optymalizacja tych wskaźników. Postawiono tezę, mówiącą

że scentralizowany algorytm będący jedynym decydentem w pojeździe może działać lepiej od obecnie

stosowanych algorytmów szczegółowych, mimo że nie rozwiązuje wprost tych samych problemów.

W celu zbadania tezy opracowano i zaimplementowano IDSA – Integrated Driver Support Algorithm –

autorski algorytm heurystyczny, rozwiązujący problem sterowania pojazdem w czasie rzeczywistym

z wykorzystaniem sygnału referencyjnego od kierowcy. Jego zadaniem jest agregowanie wszystkich

dostępnych informacji – od kierowcy, z pojazdu i z otoczenia – do postaci wspólnego modelu danych,

a następnie wykorzystywanie tych informacji do sterowania wszystkimi urządzeniami wykonawczymi

obecnymi w pojeździe. IDSA jest algorytmem nietypowym – nie jest sekwencyjny ani iteracyjny, a jego

wyjście nie jest bezpośrednio powiązane z wejściem. Zamiast tego wykorzystuje on 6 niezależnych

procesów uruchamianych asynchronicznie i korzystających ze wspólnego magazynu danych.

Na potrzeby IDSA opracowano autorską metodę modelowania trójwymiarowego otoczenia pojazdu

i aktualizacji tworzonego w ten sposób modelu, bazując na heterogenicznych i asynchronicznych

sensorach oraz własną reprezentację danych zapewniającą interpolację i ekstrapolację danych

dyskretnych. W ten sposób zapewniono elastyczność rozbudowy algorytmu, niezależność

od właściwości fizycznych sterowanego pojazdu, a także zbioru używanych w nim sensorów

i realizatorów. Co ważne, IDSA realizuje zadanie systemu decyzyjnego, a nie wspomagającego decyzje,

czyli dysponuje wyłączną możliwością kontroli wszystkich urządzeń wykonawczych w pojeździe.

Jednak z punktu widzenia kierowcy działa on właśnie jak system wspomagający, którego interwencje

są zauważalne wyłącznie w sytuacjach krytycznych.

Do oceny IDSA zaproponowano 7 wskaźników oceny cząstkowej, niewywodzących się od wskaźników

oceny używanych w istniejących systemach wsparcia. Obliczono ich wartości w symulowanym

środowisku testowym podczas 1234 jazd testowych samochodem sterowanym z wykorzystaniem IDSA

lub utworzonym i skalibrowanym na potrzeby tej pracy samochodem wyposażonym w rozwiązania

referencyjne. W tym celu zaproponowano 4 trasy testowe, 13 układów eksperymentów oraz różne

warunki szczegółowe. Na ich podstawie udało się pokazać, że wykorzystanie IDSA może zmniejszyć

samo prawdopodobieństwo wypadku w badanych warunkach z 0,15 do 0,04. Na podstawie

przeprowadzonych eksperymentów obliczono i porównano pomiędzy testowanymi samochodami

wartości dwóch zaproponowanych zagregowanych wskaźników oceny – wyrażających bezpieczeństwo

jazdy i komfort jazdy. Dzięki wykorzystaniu IDSA, ogólny, zaproponowany wskaźnik bezpieczeństwa

wzrósł o 24%, a ogólny wskaźnik komfortu – o 81,7%. Prowadzi to do konkluzji, że IDSA,

jako pojedynczy zintegrowany algorytm agregujący i realizujący zadania obecnie stosowanych

Page 13: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

13

algorytmów szczegółowych – odpowiedzialnych za wsparcie kierowcy i zapewnienie bezpieczeństwa –

jest od nich obiektywnie i mierzalnie lepszy, pod względem badanych kryteriów.

W ostatniej części pracy wskazano także rekomendacje badawcze i wdrożeniowe dotyczące dalszych

prac nad algorytmem.

Page 14: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

14

ABSTRACT

Papers from the borderline of computer science and automotive are rather found in publications

concerning the latter field. They often concern computer vision, sensor systems, artificial intelligence

applications, computer networks, or only rarely, driver support systems. This document fills the gap

concerning a system perspective on driving vehicles using computer science methods. It is motivated by

issues resulting from the use of multiple driver support systems, fulfilling different tasks, but often using

the same sensors and actuators. Instead, in the thesis, it is decided to focus on aggregated assessment

indicators – driving comfort and driving safety – and a centralized vehicle control system to optimize

those indicators. The thesis has been formulated that the centralized algorithm, being the only decision-

maker in the vehicle, can perform better than particular algorithms currently in use, even though it does

not explicitly solve the same issues.

To examine the thesis, IDSA – Integrated Driver Support Algorithm – a proprietary heuristic algorithm

that solves the problem of real-time vehicle control using a reference signal from a driver has been

developed and implemented. Its task is to aggregate all available information – from the driver, the

vehicle, and its surrounding – into a common data model, and then use the model to control all the

actuators present in the vehicle. IDSA is an atypical algorithm – it is not sequential or iterative, and its

output is not directly correlated to the input. Instead, it uses six independent processes running

asynchronously and sharing a common data storage. For the needs of IDSA, a novel method has been

developed to model the vehicle’s three-dimensional surrounding, update this model using heterogeneous

and asynchronous sensors, and also a novel data representation to ensure interpolation and extrapolation

of discrete data. This way, the flexibility of the algorithm’s development, independence from the

physical properties, sensors, and actuators of the controlled vehicle, was ensured. What is essential,

IDSA performs the task of a decision-making system, not a decision-supporting one, so it has the

exclusive ability to control all actuators in the vehicle. However, from the driver’s perspective, the

algorithm acts like an assistance system, whose interventions are noticeable in critical conditions only.

For the evaluation of IDSA, seven indicators of sub-assessments were proposed, which are not derived

from the assessment indicators used for existing support systems. Their values were calculated in a

simulated test environment during 1234 test drives in a car driven with IDSA or a car built and calibrated

for this task with reference solutions. For the purpose of those experiments, 4 test tracks, 13 groups of

experimental conditions, and multiple specific conditions were proposed. On their basis, it was possible

to demonstrate that using IDSA can reduce the probability of an accident in the tested conditions from

0.15 to 0.04. Based on the experiments, the values of the two proposed aggregated assessment indicators

– expressing driving comfort and safety - were calculated and compared between the vehicles tested. By

using IDSA, the overall proposed safety indicator has increased by 24% and the overall proposed

comfort indicator by 81,7%. This leads to the conclusion that IDSA, as a single integrated algorithm that

aggregates and performs the tasks of the particular algorithms currently used – responsible for driver

support and safety assurance – is objectively and measurably better than them in terms of the examined

criteria.

In the last part of the document, research, and implementation recommendations for further developing

the IDSA were also indicated.

Page 15: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

15

1. CHARAKTERYSTYKA PROBLEMATYKI PRACY

1.1. Wstęp

W celu zrozumienia przedmiotu tej rozprawy potrzebne jest krótkie przybliżenie wycinka świata

rzeczywistego, którego dotyczy. Sam zaproponowany w tej pracy algorytm został zaprojektowany

do użytku w poruszających się urządzeniach mechanicznych sterowanych przez człowieka, jednak

na potrzeby niniejszej pracy, badania przeprowadzono na wybranym pojeździe mechanicznym –

samochodzie.

Samochód, jaki znamy, został opatentowany w 1886 roku przez Carla Benza. Wtedy było to urządzenie

mechaniczne z silnikiem spalinowym i elektrycznym zapłonem. Z czasem w motoryzacji zaczęły

pojawiać się kolejne urządzenia elektryczne, a później elektroniczne i informatyczne. Komputery

pojawiły się dopiero w roku 1941 i na początku ważyły setki lub nawet tysiące kilogramów. Choć

motoryzacja, rozwój której napędzały między innymi burzliwe czasy wojenne, była już o wiele bardziej

zaawansowana, używanie w czasie jazdy tak ciężkiego, a poza tym ogromnego i energochłonnego

urządzenia nie przychodziło zapewne nikomu do głowy.

Za prekursora połączenia tych dwóch światów uważa się firmę Bosch, która w 1979 roku po raz

pierwszy zastosowała swój sterownik o nazwie Motronic w dwóch modelach BMW, w celu zarządzania

doborem składu mieszanki paliwowej oraz układu zapłonowego z wykorzystaniem realizowanego przez

komputer algorytmu. Co ciekawe, wiele urządzeń obecnych w dzisiejszych samochodach i opartych

na elektronicznych sterownikach wyposażonych w zaawansowane algorytmy, istniało już wcześniej.

Przykładowo, pierwszy hybrydowy układ napędowy powstał już w 1902 roku, a pierwszy tempomat

został wprowadzony na rynek w roku 1957. Co bardziej dla tej pracy istotne, pierwszy system, który

pomagał kierowcy, a tym samym zwiększał bezpieczeństwo jazdy, to zastosowany przez firmę Jensen

w 1966 roku ABS, w którego ducha elektroniki tchnęła w roku 1979 firma Bosch, specjalnie dla

Mercedesa W126, czyli luksusowej „Klasy S” II generacji. Można śmiało powiedzieć, że od tego czasu

rozwój motoryzacji coraz bardziej związany jest z systemami elektronicznymi, czyli zestawami

składającymi się z komputerów w sensie definicji Von Neumanna, gdzie rolę urządzeń wejścia/wyjścia

pełnią czujniki i urządzenia wykonawcze. W roku 1991 zaproponowano klientom aktywny tempomat,

w 2001 – pierwszy pasywny, w 2003 – aktywny system wspomagający utrzymanie na pasie ruchu, a od

2017 roku samochody potrafią choć przez chwilę poruszać się w zmiennym środowisku w pełni

samodzielnie. Co bardzo istotne, w większości były i wciąż są to systemy mechaniczno-elektroniczno-

informatyczne, kupowane przez firmy z branży motoryzacyjnej od poddostawców, a ich integracja

nigdy nie została dopracowana.

W roku 1981 zaproponowano, a w 1985 wdrożono do seryjnej produkcji magistralę CAN, która miała

zapewnić integrację informatyczną wszystkich systemów elektronicznych, a współcześnie ten standard

wypierany jest przez swoich bardziej dopracowanych następców (np. FlexRay [1]). Dzięki temu, dziś

możliwe, choć wciąż niepopularne, jest wykorzystanie tego samego sensora do różnych zadań,

np. jednej kamery w systemie wykrywającym zjechanie z pasa ruchu (i ingerującym w układ

kierowniczy), w systemie wykrywającym nadejście nocy (i uruchamiającym światła), czy w systemie

wykrywającym nadjeżdżające z naprzeciwka samochody (i dostosowującym ustawienie tych świateł).

Pozostała jeszcze kwestia integracji mechanicznej. Często zdarza się, że kilka różnych systemów

Page 16: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

16

wsparcia, czasami pochodzących od różnych poddostawców i używających różnych form komunikacji

pomiędzy swoimi komponentami, ostatecznie steruje tym samym urządzeniem wykonawczym. Żeby

długo nie szukać, system ABS zapobiega uślizgowi kół sterując pompą hamulcową, a system ESP

używa tego samego urządzenia do kontroli toru jazdy podczas pokonywania zakrętów. Oczywistym

i dziś już popularnym rozwiązaniem jest połączenie tych dwóch systemów wsparcia w jeden, jednak jak

zostanie pokazane w kolejnych częściach tej pracy, problem ten nie został jeszcze rozwiązany w sposób

kompleksowy.

Niniejsza praca pokazuje propozycję połączenia systemów zarządzających samochodem, zarówno

sterujących, jak i wspomagających sterowanie, przy wykorzystaniu zdobyczy współczesnej

informatyki. Żeby to osiągnąć, zaproponowano algorytm heurystyczny, łączący role wszystkich

systemów wsparcia kierowcy obecnych we współczesnych samochodach i jednocześnie zastępujący je

wszystkie. Z technicznego punktu widzenia jest on systemem decyzyjnym – sterującym samochodem

na wyłączność, jednak jego użytkownik (kierowca samochodu) nie zdaje sobie z tego sprawy. Będąc

bardziej dokładnym, przy użyciu modelowania metodą czarnej skrzynki, wygląda on faktycznie

na system decyzyjny – przyjmuje polecenia od użytkownika, odczytuje stan pojazdu i mierzy otoczenie,

a ostatecznie wytwarza sygnały sterujące dla wszystkich urządzeń wykonawczych, podczas gdy sam

użytkownik nie ma możliwości ingerencji w zachowanie pojazdu z pominięciem tego systemu.

Z punktu widzenia użytkownika jest to jednak system wspomagający – to kierowca w czasie

rzeczywistym, decyduje o kierunku i prędkości jazdy, a system pomaga mu tylko uniknąć kolizji,

zachować przyczepność przy niekorzystnych warunkach oraz zwiększa wygodę podróży. Jako, że

istniejące obecnie rozwiązania nazywa się właśnie systemami wspomagającymi, mimo że

w określonych sytuacjach to one sterują samochodem i kierowca nie ma na nie bezpośredniego wpływu,

rozwiązanie przedstawione w tej pracy również zakwalifikowano, jako wspomagające.

Warto w tym miejscu zastanowić się, czym jest wspomaganie kierowcy? Na pierwszy rzut oka,

kierowca może mieć pełną kontrolę nad samochodem. Przykładowo, wspomniany system ABS

moduluje siłę hamowania, czyli wykonuje pracę, którą kierujący pojazdem może wykonać sam przy

użyciu pedału hamulca. ABS robi to jednak bardzo dokładnie i bardzo szybko. Mówiąc inaczej, nawet

najbardziej doświadczony kierowca nie będzie w stanie tak precyzyjne operować hamulcem, tak szybko

uderzać w jego pedał, a także tak dokładnie nie uwzględni stopnia zużycia opon, rodzaju nawierzchni,

po której się porusza, czy dziesiątek innych czynników. Załóżmy jednak, że znalazłby się kierowca,

który wykona to zadanie samodzielnie. Nawet on nie będzie jednak w stanie działać jak system ESP,

który przyhamowuje każde koło oddzielnie. Musiałby w tym celu jednocześnie obsługiwać 4 oddzielne

pedały hamulca i kilka innych urządzeń.

Pokazany przykład jest oczywiście dość skrajny, jednak statystyki [2] wskazują wyraźnie, że kierowcy

często nie radzą sobie z dużo prostszymi zadaniami – podczas awaryjnego hamowania nie naciskają

pedału hamulca z pełną siłą przez cały jego przebieg, „przegapiają” punkt hamowania przed

przeszkodzą, opuszczają niezamierzenie swój pas ruchu, nie reagują na wkraczających na drogę

pieszych czy przebiegające zwierzęta itd., itp.. W celu rozwiązania tych problemów (oraz wielu innych)

powstały systemy wspomagające, a ich obecność coraz częściej dziś jest wymagana przez prawo lub ma

wpływ na decyzje klientów kupujących samochody, bardziej niż moc silnika, komfort jazdy czy rozmiar

bagażnika.

Page 17: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

17

W tytule pracy zamiast sterowania występuje słowo „kierowanie”. Należy je rozumieć jako całościowe

zadanie podejmowania i realizowania wszystkich decyzji mających wpływ na zachowanie pojazdu –

realizowane zarówno przez zastosowane algorytmy, jak i kierowcę. Zastosowano słowo „kierowanie”,

ponieważ pierwszym decydentem jest właśnie kierowca, a drugim – proponowany algorytm.

1.2. Motywacja pracy

Pomysł na tę pracę powstał wiele lat temu podczas jazdy samochodem. Był to samochód marki Peugeot

wprowadzony do produkcji w roku 2007, wyposażony w wiele systemów elektronicznych. Na przykład,

był on wyposażony w kamerę, która służyła do oceniania jasności otoczenia i pozwalała dedykowanemu

sterownikowi automatycznie uruchomić światła mijania, gdy zapadał zmrok. Oprócz tego,

na wyposażeniu znajdował się także czujnik oparty na diodach elektroluminescencyjnych i sensorze

generowanego przez nie światła, który miał na celu wykrywanie kropel wody na szybie czołowej. Po jej

wykryciu dedykowany w tym celu komputer uruchamiał wycieraczki. Obydwa wspomniane systemy

elektroniczne podłączone były do jednej sieci informatycznej – magistrali CAN. Magistrala ta działa

w trybie rozgłoszeniowym, więc każdy odbiornik jest w stanie odczytać dane z każdego nadajnika.

Teoretycznie więc mogły one korzystać wzajemnie z wytworzonych przez siebie danych. W praktyce

niemożliwe było skonfigurowanie samochodu tak, żeby automatycznie uruchamiał światła mijania

podczas opadów deszczu, co jest wymagane przez prawo o ruchu drogowym. Podczas kilku

eksperymentów z różnymi samochodami oraz rozmów przeprowadzonych z projektantami systemów

informatycznych przeznaczonych do samochodów, oraz z mechanikami obsługującymi je później,

okazało się, że niektóre auta lepiej integrują różne swoje systemy, a inne gorzej. Przykładowo Mazda

wprowadzona do sprzedaży w 2017 roku nadal nie została wyposażona w funkcję włączania świateł

podczas opadów deszczu, a samochody grupy Volkswagen, od co najmniej 6 lat, w czasie deszczu robią

znacznie więcej - zmniejszają moc silnika podczas gwałtownego ruszania. Przy dalszym wgłębianiu się

w temat, okazało się, że większość firm z branży motoryzacyjnej kupuje tego typu systemy od kilku

firm: Siemens, Bosch, Delphi, itp. Ich producenci coraz częściej kuszą swoich klientów właśnie

integracją pomiędzy różnymi rozwiązaniami, co ma na celu wprowadzenie nowych funkcjonalności,

zmniejszenie kosztów i masy, a także ułatwienie implementacji i budowy samochodu, poprzez

zmniejszenie liczby elementów składających się na zbiór różnych systemów wsparcia kierowcy.

Współcześnie firmy motoryzacyjne coraz więcej zasobów przeznaczają na własne badania w celu

uniezależnienia się od tych poddostawców.

Dalsza analiza tego zagadnienia wskazała na kolejny problem – większość tego typu systemów,

wyprodukowanych przez firmy motoryzacyjne lub poddostawców, to komercyjne, zamknięte

rozwiązania. Często unika się nawet ich patentowania, żeby nie ujawniać ich konstrukcji

i zastosowanych metod. Od tej reguły istnieją oczywiście wyjątki. Najbardziej obiecującym jest

w chwili obecnej system AUTOSAR, czyli AUTomotive Open System Architecture [3]. Co prawda

nadal jest to produkt komercyjny, jednak jest również otwarty i rozwijany nie tylko przez firmy z branży

motoryzacyjnej, ale także przez ośrodki naukowe. Powstaje on przy ogromnym nakładzie pieniężnym,

a jego celem jest stworzenie architektury sprzętu i oprogramowania integrującego różne kompatybilne

rozwiązania. Wciąż jednak nie istnieje system wsparcia ani sterowania, który zamiast łączyć różne

rozwiązania, po prostu samodzielnie wypełni ich rolę. Taki system musiałby zapewniać sterowanie

Page 18: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

18

podstawowymi (związanymi z jazdą) funkcjami samochodu, wspomagać kierowcę oraz udostępniać

swoje dane i interfejs informatyczny dla aplikacji komputerowych sterujących pozostałymi funkcjami.

Nie ma podstaw, żeby ograniczać zastosowanie takiego rozwiązania do klasycznych samochodów.

Mogłoby ono być, na przykład, podstawą dla samochodów autonomicznych. Dziś tego typu funkcje

realizuje się przez system wsparcia, który fizycznie kręci kierownicą, steruje mocą silnika i hamulcem,

ale zadanie, przykładowo, nieblokowania kół podczas hamowania czy zarządzania skrzynią biegów

wciąż wykonywane są przez dedykowane komputery. Nic nie stoi na przeszkodzie, żeby

w proponowanym rozwiązaniu funkcje autonomiczne były tylko kolejnymi krokami algorytmu.

Patrząc na to z innej strony, taki algorytm musi być gotowy do działania w różnych pojazdach –

np. tańszych - z ograniczoną liczbą czujników lub w pojazdach o różnych wymiarach, masach, silnikach

i zbiorach urządzeń wykonawczych. Można nawet pokusić się o stwierdzenie, że skoro taki system musi

być przystosowany do słabszych lub mocniejszych silników, to jego ogólna architektura powinna być

też przygotowana na np. większą liczbę osi pojazdu lub zupełnie inną jego konstrukcję. Teoretycznie

jego zastosowanie powinno być możliwe w dowolnym, kierowanym przez człowieka, poruszającym się

urządzeniu – niekoniecznie poruszającym się po lądzie z wykorzystaniem kół. Ten aspekt nie został

jednak przeanalizowany podczas niniejszych badań.

To wszystko łącznie zaowocowało pomysłem na zintegrowany algorytm wspomagania operatora

poruszającego się urządzenia, które na potrzeby tej pracy został ograniczony do algorytmu

wspomagania decyzji w systemie kierowania pojazdem. Jak zostanie pokazane w kolejnym

podrozdziale, ten temat nie jest popularny w opracowaniach naukowych, co pozostawia lukę badawczą

do wypełnienia. Co ważne, niniejsza praca nie przedstawia rozwiązania inżynierskiego, a nawet

mechanicznego. Zamiast tego proponuje i bada algorytm heurystyczny powstały z nowatorskiego

połączenia istniejących technik i rozwiązań informatycznych.

Na potrzeby niniejszej pracy wprowadza się akronim od angielskiej nazwy Integrated Driver Support

Algorithm, czyli IDSA. Jest on używany do określenia autorskiego, zintegrowanego algorytmu

opracowanego w ramach tej pracy i w celu uzasadnienia postawionej w niej tezy.

1.3. Przegląd literatury

Istniejące źródła literaturowe można podzielić na kilka grup. Bardzo powszechne i niestety niezbyt

przydatne z badawczego punktu widzenia są źródła o charakterze marketingowym – promujące

konkretny system lub rozwiązanie klientom końcowym lub firmom motoryzacyjnym. Niestety często

pojawiają się one w czasopismach naukowych, jak np. praca [4]. Spośród tej grupy można wyróżnić

prezentacje konferencyjne, jak [3], których celem jest zainteresowanie potencjalnych

współpracowników, a nie dzielenie się otrzymanymi wynikami badań. Drugą grupą jest ogromny zbiór

prac, co do których można poddawać w wątpliwość ich naukowy charakter. Są jednak bardzo cenne,

ponieważ ustalają popularne standardy i rozwiązania, a także stanowią wygodny przegląd innych

istniejących publikacji. I tak na przykład, prezentowana w ramach IDSA koncepcja mapowania

otoczenia jest w pewnym sensie rozwinięciem idei algorytmu Simultaneous Localization And Mapping

(SLAM), który został zaprezentowany już w roku 1986 w pracy [5], ale bardzo dobry, choć właściwie

niewiele nowego wnoszący opis, można też znaleźć w młodszej o 20 lat pracy [6]. Innym przykładem

Page 19: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

19

jest powszechnie używany standard lokalizowania obiektów zewnętrznych względem pojazdu SAE

J760 [7]. Idąc dalej w tym kierunku, ogromnym problemem niniejszej pracy jest brak opracowań

typowo naukowych z danej dziedziny. Zamiast nich można znaleźć wspomniane teksty marketingowe,

niezweryfikowane artykuły popularno-naukowe, często publikowane w ramach internetowych blogów,

oraz patenty.

I tak na przykład, tematykę sterowników wielodomenowych przedstawił jeden z ich producentów w [8],

a inny interesujący opis znajduje się w [9]. Można też trafić na całe konferencje skupione wokół

platform informatycznych w motoryzacji, jak np. Automotive Computing Conference, jednak

przedstawione na nich prace, np. [10, 11, 12, 13, 14], nie zostały zrecenzowane, są bardzo techniczne,

a ich autorzy piastują wysokie stanowiska nie na uczelniach i w ośrodkach badawczych, ale w firmach

z branży motoryzacyjnej lub elektronicznej, takich jak kolejnko: Volkswagen, Bosch, ARM, QTronic

oraz Volvo. Odnośnie patentów, to ważne są dzisiaj na przykład patenty składające się na tzw.

„Autopilota” firmy Tesla, np. [15] czy [16], a ich wagę określa fakt, że dzięki temu rozwiązaniu bardzo

popularny stał się temat pojazdów autonomicznych. Co istotne, ich właściciel uwolnił niedawno swoje

patenty udostępniając bezpłatne korzystanie z nich innym firmom. Poza Teslą warto wspomnieć

o rozwiązaniach będących częścią współczesnych systemów elektronicznych w motoryzacji,

np. skoncentrowany na użyciu systemów wizyjnych w motoryzacji [17] lub sugerujący użycie systemu

lidarowego [18].

Przechodząc do prac stricte naukowych, należy wspomnieć o praktyce dominującej i widocznej już

w dwóch poprzednio zacytowanych pracach, tj. publikacjach dotykających tylko fragmentu problemu,

a pomijających podejście holistyczne. Wystarczy spojrzeć na dominujące tematy konferencji

o tematyce motoryzacyjno-informatycznej: systemy sensoryczne, systemy wizyjne, sztuczna

inteligencja w motoryzacji, napędy elektryczne, ekologia napędów spalinowych, systemy wsparcia

kierowców, komunikacja Car2X, inteligentny transport oraz oczywiście – pojazdy autonomiczne.

Przykładowo, na konferencji VEHICULAR 2019 przedstawiono m.in. następujące prace. Praca [19]

przedstawia nowatorskie podejście do przewozu towarów. Autorzy skupiają się na własnym algorytmie,

którego celem jest podzielenie transportu międzymiastowego i wewnątrzmiastowego, w celu

zwiększenia jego efektywności i obniżenia negatywnego wpływu na środowisko. Praca [20] prezentuje

wdrożone na terenie ośrodka badawczego rozwiązanie Car2X, bazujące na uzupełnianiu siatki urządzeń

nadawczo-odbiorczych przy pomocy dronów, oraz prezentuje autorski algorytm sterowania tymi

dronami z uwzględnieniem ich ograniczeń. Praca [21] pokazuje wykorzystanie autonomicznych

lub zdalnie sterowanych ciężarówek w kopalniach, w warunkach zagrażających życiu kierowców.

W temacie systemów wspomagających pojawiły się na tej konferencji następujące prace. Praca [22]

przedstawia algorytm analizujący trajektorię samochodu podczas awaryjnego hamowania

ze skręconymi kołami. Praca [23] prezentuje i analizuje nowy sposób informowania kierowców

o zagrożeniach, przy pomocy silników wibracyjnych wbudowanych w fotel kierowcy. Praca [24] skupia

się na wykrywaniu pojazdów zbliżających się do skrzyżowania, z wykorzystaniem infrastruktury

Car2X. Praca [25] skupia się na ograniczeniu ilości danych powstałych przy wykorzystaniu systemów

wizyjnych, przy pomocy modelu geometrycznego zawierającego znalezione obiekty, zamiast metody

dominującej - macierzy wokseli. Jak widać, cztery ostatnie rozwiązania można zaimplementować

w pojazdach samochodowych, jednak co bardzo ważne dla tej pracy, będą to kolejne systemy

Page 20: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

20

w skomplikowanych już przecież samochodach. W odpowiedzi na ten problem wygłoszono tylko dwie

prezentacje – pierwsza przedstawiała wspomniany system AUTOSAR [3], a druga [26] opisywała

system IDSS (ang. Integrated Driver Support System) realizujący IDSA. Na jej podstawie został również

wydany artykuł [27].

Podobny trend utrzymuje się również w wydawnictwach. Kiedy spojrzeć na najnowsze numery

najbardziej liczących się czasopism (pod względem Impact Factor) o tematyce związanej

z motoryzacją, widać bardzo wyraźne zainteresowanie narzędziami informatycznymi, o wiele większe

niż zagadnieniami matematyczno-fizycznymi, mechanicznymi czy innymi obecnymi w tych samych

czasopismach kilka lat temu. Przykładowo praca [28] prezentuje system wizyjny dedykowany dla

samochodów autonomicznych, [29] opisuje wykorzystanie sieci neuronowych do wykrywania

poruszających się obiektów i, co ważne, ich cech, na podstawie nagrania wideo, również w kontekście

zastosowania w pojeździe autonomicznym, a praca [30] skupia się na budowaniu trajektorii pojazdów

w otoczeniu pojazdu autonomicznego. Trochę inaczej przedstawia się przegląd literatury o tematyce

typowo informatycznej. Podczas gdy prace dotyczące motoryzacji chętnie czerpią z systemów widzenia

komputerowego, algorytmiki, badań operacyjnych i sieci neuronowych, to w czasopismach o tematyce

typowo informatycznej rzadziej widać artykuły dotykające motoryzacji, jak np. skupiony

na zarządzaniu flotą pojazdów [31]. Artykułów związanych z holistycznym sterowaniem pojazdami

właściwie się nie spotyka.

Podobny trend da się zauważyć podczas analizy najwyżej punktowanych czasopism obecnych

w wykazie Ministra Nauki i Szkolnictwa Wyższego. Szukając w czasopismach zakwalifikowanych

do kategorii „informatyka techniczna i telekomunikacja”, pomijając kategorię „inżynieria lądowa i

transport”, „automatyka, elektronika i elektrotechnika” albo „inżynieria mechaniczna”, trudno znaleźć

jakikolwiek artykuł z dziedziny podobnej do niniejszej pracy. Jednak po zawężeniu listy wydawnictw

do opisanych wszystkimi powyższymi kategoriami, na liście zostają takie tytuły, jak „Archives of

Computational Methods in Engineering”, „Computer Methods in Applied Mechanics and Engineering”,

czy „International Journal of Robotics Research”. W ich najnowszych lub przynajmniej tegorocznych

wydaniach można znaleźć ciekawe artykuły, poruszające problemy znane w motoryzacji

lub pojawiające się w niniejszej pracy. Należy jednak uczciwie przyznać, że stanowią one niewielki

odsetek wszystkich publikacji. Na tej podstawie można śmiało powiedzieć, że poruszany w tej pracy

temat jest wysoce interdyscyplinarny oraz że podobne tematy są zaniedbane w wydawnictwach typowo

informatycznych, ale za to bardzo popularne, i wciąż zachowujące informatyczny charakter,

w wydawnictwach związanych z mechaniką, robotyką lub inżynierią maszyn.

Dla przykładu, praca [32] opisuje metody wykrywania pojazdów na podstawie systemów wizyjnych

w trudnym środowisku z cieniami, krawędziami i przysłoniętymi fragmentami sceny. Artykuł [33]

zwraca uwagę na problem złożoności obliczeniowej analizy sceny w postaci chmury punktów

i prezentuje autorskie rozwiązanie wykrywania powierzchni i elementów skończonych oraz

reprezentacji sceny w postaci modelu geometrycznego. Artykuł [34] skupia się na metodach

symulacyjnych zachowania opon samochodowych na mokrej, nierównej nawierzchni (ze szczególnym

uwzględnieniem zachowania podczas tzw. hydroplaningu). Artykuł [35] pokazuje autorską metodę

określania prędkości poruszania się obserwatora korzystającego z kamery, na podstawie analizy

zachowania poruszających się nieliniowo obiektów w otoczeniu. Artykuł [36] prezentuje oryginalną

Page 21: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

21

metodę wykrywania trajektorii poruszającego się obiektu z jednoczesnym modelowaniem terenu, po

którym się porusza.

Podsumowując przegląd literatury należy zauważyć następujące fakty. Przede wszystkim, dużo źródeł

trudno zaliczyć do prac naukowych - nie wnoszą nic nowego, nie są recenzowane, a ich wydawnictwa

są często popularno-naukowe. Na konferencjach prezentuje się komercyjne rozwiązania (choć czasami

otwarto-źródłowe), a ich autorami są działy PR dużych firm, szefowie działów niezaangażowani

w pracę naukową lub po prostu dziennikarze.

Jeśli jednak ograniczymy się wyłącznie do prac naukowych, możemy zauważyć, jak wiele źródła

o profilu motoryzacyjnym czerpią z rozwiązań informatycznych. Obecnie zdecydowana większość

artykułów w tego typu czasopismach, magazynach i na konferencjach, opisuje rozwiązania korzystające

ze zdobyczy informatyki: algorytmiki, przetwarzania obrazów, sztucznej inteligencji, teorii sterowania

itd. Z drugiej strony, w źródłach o profilu informatycznym tego typu zagadnienia pojawiają się rzadko

– raz na kilka wydań. Może to oznaczać jedną z trzech rzeczy – naukowcy-informatycy publikują

w czasopismach dotyczących motoryzacji, naukowcy związani z motoryzacją nabywają wiedzę

informatyczną albo obie grupy współpracują ze sobą w ramach wspólnych badań. W każdym razie

widać wyraźnie, że współczesna motoryzacja i informatyka idą ze sobą w parze i ta pierwsze potrzebuje

tej drugiej, i wykorzystuje jej rozkwit do swojego rozwoju.

Niezależnie od powyższych spostrzeżeń, warto zwrócić uwagę na jeszcze jeden wniosek płynący

z przeglądu literatury. Zdecydowanie dominują wyniki badań poszczególnych aspektów współczesnej

motoryzacji – są to artykuły o rozpoznawaniu obiektów, wyznaczaniu trajektorii, wykorzystaniu sieci

Car2Car oraz Car2X, propozycje kolejnych systemów mających na celu wspomaganie kierowcy czy

sposoby monetyzacji gromadzonych przez samochody danych. Brakuje za to tekstów dotyczących

podejścia holistycznego. Jedynym znaczącym wyjątkiem jest system AUTOSAR, którego celem jest

stworzenie platformy umożliwiającej wspólne uruchamianie istniejących systemów wsparcia kierowcy

lub sterowania.

Tak więc brakuje prac naukowych, skoncentrowanych na teorii i badaniach, których przedmiotem

byłyby rozwiązania informatyczne do zastosowania w motoryzacji w celu całościowego sterowania

pojazdem. Te prace, które już się pojawiają, opisują systemy jazdy autonomicznej, korzystające

z innych znanych systemów (jak ABS, sterowanie aktywnym zawieszeniem) lub proponują nowe

(obliczanie trajektorii, analiza otoczenia). Prawdopodobnie nie ma pracy teoretycznej, ale jednocześnie

popartej badaniami przeprowadzonymi na implementacji proponowanego rozwiązania, które w sposób

całościowy rozwiązywałoby problem wspomagania kierowcy, czyli sterowałoby całym pojazdem

w sposób zlecany w czasie rzeczywistym przez kierowcę, z uwzględnieniem wiedzy o otoczeniu.

Badania, dotyczące prezentowanego w niniejszym dokumencie IDSA zostały opublikowane we

wspomnianych pracach [26] oraz [27], ale także w [37, 38, 39].

1.4. Podstawowe informacje

W celu lepszego zrozumienia przedmiotu tej pracy, potrzebne są podstawowe informacje dotyczące

zagadnień związanych z informatyką oraz motoryzacją. Zostaną one przedstawione w niniejszym

podrozdziale.

Page 22: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

22

1.4.1. Podstawowe pojęcia związane z motoryzacją

Ten podrozdział został podzielony na dwie części. Pierwsza z nich dotyczy zagadnień związanych

z motoryzacją.

Standard SAE J760

W niniejszej pracy używany jest układ współrzędnych zaczepiony w geometrycznym środku bryły

pojazdu, a jego kierunek oraz obrót określony jest w standardzie SAE J760 opisanym w [7] oraz

przedstawionym na rysunku 1.

Rysunek 1 Układ współrzędnych samochodu [7]

Uproszczony opis samochodu na potrzeby niniejszej pracy

Trudno jednoznacznie podać uniwersalną definicję samochodu, więc zamiast tego proponuje się

definicję dopasowaną do niniejszej pracy. Samochód, traktowany dalej jako obiekt podejmowania

decyzji, jest urządzeniem mechanicznym, którego celem jest przewożenie ludzi lub towarów po drogach

publicznych, zgodnie z obowiązującymi przepisami, określającymi zarówno jak może się on poruszać,

oraz jak jest kierowany. Kierowanie samochodem (rozumiane dalej jako działanie nieautomatyczne)

wykonywane jest przez człowieka, który obraca kierownicą, żeby nadać mu kierunek ruchu

(prawo/lewo) oraz używa pedałów: przyspieszenia i hamulca, żeby modyfikować jego prędkość zgodnie

z zadanym kierunkiem jazdy (przód/tył). Samochód może poruszać się dzięki kilku systemom

mechanicznym, które są podstawą jego budowy.

Silnik

Silnik, to urządzenie mechaniczne wytwarzające ruch obrotowy, którego prędkość kątową 𝜔 podaje się

w obrotach na minutę (ang. Rotates Per Minutes) [𝑅𝑃𝑀], a moment siły (zwany momentem

obrotowym) 𝑀 w niutonometrach [𝑁𝑚] . Ilość wytwarzanego momentu obrotowego w zależności

od prędkości obrotowej nie jest stała i podaje się ją w postaci tzw. krzywej momentu obrotowego,

określającej funkcję maksymalnego dostępnego momentu obrotowego w zależności od prędkości

obrotowej, właściwej dla danego silnika [40]. Warto podkreślić, że niewysilony silnik produkuje

Page 23: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

23

mniejszy moment obrotowy od maksymalnego, możliwego dla konkretnej prędkości obrotowej,

określonego ww. krzywą, np. podczas jazdy ze stałą prędkością. Moc silnika 𝑃 obliczamy korzystając

ze wzoru

𝑃 =

𝑀𝜔

9549,3. (1)

Stała w mianowniku ilorazu we wzorze (1) wynika z konieczności przekształcenia jednostki do [𝑘𝑊].

Moc silnika podaje się również w koniach mechanicznych [𝐾𝑀] lub koniach parowych (ang.

Horsepower) [𝐻𝑃]. Jak wynika z powyższego, moc silnika zależy od prędkości obrotowej i momentu

obrotowego, więc może się zdarzyć, że np. silnik o mniejszym maksymalnym momencie obrotowym,

ale osiąganym przy wyższej prędkości obrotowej, osiąga większą moc od silnika o większym momencie

obrotowym, ale osiąganym przy niskiej prędkości obrotowej. Funkcje maksymalnego momentu

obrotowego i maksymalnej mocy w zależności od prędkości obrotowej nazywa się charakterystyką

silnika.

Układ napędowy

Ruch obrotowy silnika przekazywany jest do kół napędzanych. Na potrzeby tej pracy zakłada się, że

wszystkie cztery koła są napędzane. Zadaniem przeniesienia tego ruchu zajmuje się tzw. układ

przeniesienia napędu [41]. Składa się on ze skrzyni biegów, sprzęgła i przynajmniej jednego układu

różnicowego.

W tym miejscu warto zastanowić się, jak może wyglądać układ przeniesienia napędu w pojeździe, przy

założeniu napędu na wszystkie cztery koła. Na rysunkach 2-5 przedstawiono przykładowe układy wraz

z hamulcami.

Silnik

Sprzęgło Skrzynia biegówDyferencjał centralny

Dyferencjał przedni

Dyferencjał tylny

Hamulec

Hamulec

Hamulec

Hamulec

Koło

Koło

Koło

Koło

Rysunek 2 Klasyczny napęd na 4 koła

Page 24: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

24

Rysunek 2 przedstawia klasyczny napęd, używany najczęściej w samochodach terenowych. Widać tutaj,

jak siła napędowa przekazywana jest z silnika przez sprzęgło do skrzyni biegów, następnie przez

dyferencjały (mechanizmy różnicowe) do kół wyposażonych w hamulce. Napęd można rozłączyć

poprzez sprzęgło umieszczone przed skrzynią biegów. Dość popularną wersją tego układu są układy

napędowe posiadające dodatkowe sprzęgło rozłączające jedną z osi.

SilnikHamulecKoło

Silnik Hamulec Koło

Silnik Hamulec Koło

SilnikHamulecKoło

Rysunek 3 Niezależny napęd na 4 koła

Na rysunku 3 przedstawiono napęd niezależny, dużo prostszy w budowie, stosowany w największych

ciężarówkach (np. Komatsu 930E [42]). Składa się on z czterech niezależnych silników napędzających

oddzielnie każde z kół. Najczęściej są to silniki elektryczne, zasilane prądem generowanym przez silnik

spalinowy. Zastosowanie silników elektrycznych umożliwia rezygnację ze skrzyń biegów,

a niezależność silników – likwidację elementów ciernych (sprzęgła) oraz skomplikowanych

mechanizmów różnicowych.

Silnik

Sprzęgło Skrzynia biegów Dyferencjał

HamulecHamulecKoło Koło

Silnik

HamulecKoło Hamulec Koło

Sprzęgło

Dyferencjał

Rysunek 4 Niezależny napęd dwóch osi

Page 25: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

25

Rysunek 4 przedstawia połączenie dwóch poprzednich układów i jest używane w nowoczesnych

samochodach hybrydowych (np. Toyota RAV-4). Przykładowo przednia oś może być napędzana

klasycznym silnikiem spalinowym ze skrzynią biegów, a tylna – silnikiem elektrycznym. Możliwe jest

zastąpienie tylnego sprzęgła i dyferencjału jednym urządzeniem spełniającym obie role albo

zastosowanie z tyłu dwóch silników elektrycznych wyposażonych w sprzęgła.

Silnik

Skrzynia biegówHamulecKoło

Skrzynia biegów Hamulec Koło

Skrzynia biegów Hamulec Koło

Skrzynia biegówHamulecKoło

Sprzęgło Sprzęgło

Sprzęgło Sprzęgło

Rysunek 5 Niezależny napęd na 4 koła ze wspólnym silnikiem

Ostatnie rozwiązanie, prezentowane na rysunku 5, przedstawia układ niezależny, ale wyposażony

w jeden silnik. Dzięki bezstopniowym skrzyniom biegów możliwe jest tu przekazanie na każde z kół

dowolnej prędkości obrotowej, w szczególności wynikającej z całej dostępnej mocy silnika. Nie jest to

możliwe w dwóch poprzednich układach, gdzie przykładowo jedno koło napędzane jest jednym

z czterech silników, więc może wykorzystać maksymalnie czwartą część mocy całego pojazdu.

Sprzęgło

Pomiędzy silnikiem, a skrzynią biegów znajduje się sprzęgło. Jest to urządzenie, które służy do łączenia

i rozłączania wału czynnego (silnika), oraz biernego (skrzyni biegów) [41]. W motoryzacji stosuje się

różne sprzęgła o ograniczonym poślizgu – oparte na tarczach o wysokim współczynniku tarcia

lub wirujący czynnik hydrauliczny o wysokiej gęstości. Dzięki poślizgowi sprzęgła, można ograniczyć

moment obrotowy przekazywany na wał bierny, a więc i działającą wstecznie bezwładność, która

mogłaby nadmiernie spowalniać silnik lub uszkodzić jego mechanizmy.

Skrzynia biegów

Skrzynia biegów, to przekładnia przekazująca ruch z wału czynnego (najczęściej sprzęgła) na wał

bierny (napędowy) [41]. Warto pamiętać, że podczas hamowania silnikiem działa ona w przeciwnym

kierunku. W zależności od wybranego biegu może być przekładnią redukującą lub multiplikującą, czyli

zmniejszać prędkość kątową zwiększając jednocześnie moment obrotowy lub zwiększać prędkość

kosztem momentu obrotowego. Na potrzeby niniejszej pracy zakłada się użycie bezstopniowej skrzyni

Page 26: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

26

biegów, czyli wariatora pasowego, składającego się z dwóch stożków połączonych pasem [43], jak

pokazano na rysunku 6.

Rysunek 6 Schemat ideowy (a) i konstrukcyjny (b) wariatora pasowego [44]

Mechanizm różnicowy

Ruch obrotowy ze skrzyni biegów przekazywany jest na koła poprzez mechanizmy różnicowe.

W przypadku napędu na cztery koła używa się zazwyczaj trzech takich mechanizmów – centralnego,

rozdzielającego moment obrotowy pomiędzy przednią i tylną osią oraz po jednym na każdej osi, w celu

rozdziału momentu obrotowego na lewe i prawe koło. Mechanizm różnicowy (zwany też dyferencjałem

lub przekładnią różnicową), to przekładnia mechaniczna zębata, której zadaniem jest kompensacja

różnicy prędkości różnych kół, np. podczas jazdy po łuku, gdzie prawe koło pokonuje inną drogę

(dłuższą lub krótszą) niż lewe koło [45]. Mówiąc inaczej, wał czynny połączony jest do koła zębatego,

które przekazuje ruch na dwa przeciwległe wały bierne, które połączone są również dodatkowym kołem

zębatym (przekładnią satelitarną), które w takim wypadku obraca się razem z wałami, ale nie wokół

własnej osi. Podczas jazdy po łuku przekładnia planetarna zaczyna się obracać wokół własnej osi,

różnicując prędkości wałów biernych. Zostało to pokazane na rysunku 7.

Wadą tego rozwiązania jest to, że podczas gdy jedno koło zupełnie utraci przyczepność, a drugie

napotka opór, przekładnia satelitarna przestanie obracać się z wałami biernymi, tylko zacznie obracać

wokół własnej osi, przekazując cały ruch na koło pozbawione przyczepności. Rozwiązaniem tego

problemu jest zastosowanie mechanizmu o ograniczonym poślizgu [46] (włączając w to mechanizmy

z funkcją całkowitej blokady) lub przyhamowanie obracającego się swobodnie koła przy pomocy

hamulców, dzięki czemu przekładnia planetarna przekaże ruch na koło przyczepne. Takie układy mogą

być w pełni mechaniczne lub sterowane elektronicznie.

Mówiąc bardziej ogólnie, dzięki zastosowaniu mechanizmów różnicowych, samochód wyposażony

w napęd na cztery koła jest w stanie doprowadzić moment obrotowy do każdego z nich, niezależnie od

ich przyczepności.

Page 27: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

27

Rysunek 7 Budowa mechanizmu różnicowego [47]

Układ hamulcowy

Kolejnym, ważnym układem fizycznym, w który wyposażony jest samochód, jest układ hamulcowy.

Jego podstawą są hamulce - materiały cierne, np. tarcze lub bębny, na które naciskają klocki hamulcowe.

Klocki naciskane są przez czynnik hydrauliczny, którego ciśnienie zwiększa się z wykorzystaniem

niewielkiej prasy hydraulicznej sterowanej przez kierowcę za pomocą pedału hamulca

lub elektronicznie – przy pomocy pompy systemu ESP. Nowoczesne samochody dysponują zaworami

kontrolującymi przepływ płynu hamulcowego do każdego koła, dzięki czemu możliwe jest niezależne

sterowanie hamulcami [48].

Układ kierowniczy

Kolejnym układem obecnym w samochodzie, jest układ kierowniczy. Niektóre współczesne samochody

posiadają dwa układy kierownicze, umożliwiające niezależne sterowanie skrętem tylnych kół,

realizowane przez komputer [49] (pierwszy układ tego typu był w pełni analogowy i bazował na sile

odśrodkowej podczas jazdy w zakręcie [50]). Tylne koła w nowoczesnych samochodach podczas jazdy

z niewielkimi prędkościami skręcają przeciwnie do skrętu kół przednich, zwiększając tym samym

możliwości manewrowania samochodem, albo w tę samą stronę co przednie podczas jazdy z dużą

prędkością, zwiększając stabilność pojazdu. Warto dodać, że podczas skrętu, koła oprócz obracania się

wokół sworzni i własnej osi, pochylają się także w stronę skręcania, kompensując działającą na nie siłę

odśrodkową związaną z masą samochodu.

Typowy układ kierowniczy składa się z wału czynnego, napędzanego przez kierownicę lub silnik

elektryczny, który przy pomocy przekładni zębatej przenosi ruch na zwrotnice, do których

zamontowane są koła. Jego schemat znajduje się na rysunku 8.

Page 28: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

28

Rysunek 8 Schemat układu kierowniczego [51]

Poszczególne elementy tego układu opisane są w tabeli 1.

Tabela 1 Wyjaśnienie oznaczeń z rysunku 8

Numer Opis

1 Zwrotnica

2 Dźwignia zwrotnicy

3 Drążek poprzeczny

4 Belka osi

5 Ramię zwrotnicy

6 Drążek podłużny

7 Ramię przekładni kierowniczej

8 Przekładnia kierownicza

9 Wał kierownicy

10 Koło kierownicy

11 Kolumna kierownicy

Przy klasycznym podejściu, przełożenie układu jest przeważnie stałe, choć współcześnie stosuje się

układy kierownicze o zmiennym przełożeniu, sterowane elektronicznie.

Jako że podczas jazdy po łuku każde z kół porusza się po innym torze, konieczne jest żeby ich skręt

różnił się od siebie. Jest to rozwiązane przy wykorzystaniu zasady Ackermana [52], przedstawionej

na rysunku 9.

Page 29: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

29

Rysunek 9 Zasada Ackermana [53]

Zasadę Ackermana opisuje wzór

{

𝑡𝑔(𝜎𝑧) =𝑓

𝑟+𝑡

2

𝑡𝑔(𝜎𝑤) =𝑓

𝑟−𝑡

2

. (2)

Zawieszenie

Ostatnim, istotnym układem fizycznym w samochodzie jest zawieszenie. Pełni ono kilka ról.

Po pierwsze, pozwala kompensować siły działające na samochód w zakrętach. Podczas jazdy po łuku

siła odśrodkowa powoduje wychylenie samochodu do zewnętrznej strony łuku. Jeśli zawieszenie byłoby

zbyt twarde, koła znajdujące się po wewnętrznej stronie oderwałyby się od podłoża. Jeśli jednak byłoby

zbyt miękkie, środek ciężkości podniósłby się za bardzo, więc koła po wewnętrznej stronie również

nie mogłyby być dostatecznie dociążone [54]. Kolejną rolą zawieszenia jest dociskanie samochodu

do nierówności tak, żeby nie odrywał się on od podłoża podczas pokonywania dziur i wybrzuszeń

w jezdni. Oprócz tego, zawieszenie zapobiega przenoszeniu wibracji na nadwozie i wnętrze pojazdu,

zwiększając jego długowieczność. Bez niego samochód bez przerwy by podskakiwał, aż w końcu,

mówiąc obrazowo, po prostu by się rozpadł. Ostatnią rolą zawieszenia, wbrew powszechnym

przekonaniom najmniej istotną, jest zapewnienie komfortu pasażerom poprzez niwelowanie drgań

i wygaszanie falowania nadwozia wprawionego w ruch wahadłowy.

Istnieje wiele różnych konstrukcji zawieszenia: konstrukcyjnie najstarsze oparte są na resorach

piórowych, później pojawiły się belki skrętne, kolumny McPersona, układy wielowahaczowe,

pneumatyczne, hydropneumatyczne, itd. Każde z nich ma swoje wady i zalety. Na potrzeby tej pracy

przyjmuje się model ogólny, który zakłada, że zawieszenie każdego koła składa się z części sprężystej

Page 30: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

30

i tłumiącej. Taka konstrukcja pozwala niwelować drgania oraz tłumić powstały przy tym ruch

wahadłowy. Schemat pojedynczego koła przedstawiony jest na rysunku 10, którego opis znajduje się

w tabeli 2.

Rysunek 10 Model zawieszenia pojedynczego koła [55]

Tabela 2 Objaśnienia zmiennych użytych w modelu zawieszenia pojedynczego koła

Skrót Objaśnienie

𝑐0 Współczynnik tłumienia amortyzatora

𝑐𝑒 Współczynnik tłumienia innych elementów zawieszenia

𝑐𝑡 Współczynnik tłumienia opony

𝐹𝑟 Stałe tarcie pomiędzy elementami zawieszenia

𝑔 Przyspieszenie grawitacyjne

𝑘1 Współczynnik sprężystości opony

𝑘2 Współczynnik sprężystości sprężyny w zawieszeniu

𝑚1 Masa nieresorowana, czyli masa koła i elementów poruszających się razem z kołem

𝑚2 Masa przypadająca na opisywane koło

𝑞 Droga, po której porusza się koło

𝑧1 Wysokość środka koła nad drogą

𝑧2 Wysokość nadwozia nad drogą

Współczynniki określające pracę zawieszenia są przeważnie przedmiotem bardzo skomplikowanych

badań, indywidualnych dla każdego pojazdu. W nowoczesnych samochodach, istnieje możliwość

zmiany parametrów 𝑐0 oraz 𝑘2 podczas jazdy. Bardzo ważne jest to, że niezwykle rzadko stosuje się

zawieszenie w pełni niezależne. Najczęściej połączone są dwa koła na tej samej osi. Ich połączeniem,

rozważanym w niniejszej pracy, jest stabilizator.

Page 31: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

31

Stabilizator jest poprzeczną belką umieszczoną pomiędzy wahaczami tej samej osi [56]. Schemat jego

budowy znajduje się na rysunku 11. Jego rolą jest niwelowanie przechylenia samochodu podczas jazdy

po łuku. Wykonuje to poprzez przenoszenie nacisku z zawieszenia koła zewnętrznego na koło

wewnętrzne, dzięki czemu zawieszenie po stronie wewnętrznej obniża się, zmniejszając przechył

boczny pojazdu. Wadą tego rozwiązania jest przenoszenie także reakcji na nierówności na drugie koło,

które nie miało z nimi bezpośredniej styczności. Żeby temu zaradzić stosuje się stabilizatory

o określonej odporności na skręcanie i łączniki stabilizatorów o określonej sprężystości. Dodatkowo,

nowoczesne samochody mają możliwość zmiany wymienionych współczynników podczas jazdy.

Rysunek 11 Schemat budowy stabilizatora [57]

Oprócz stabilizatora, inną formą połączenia ruchu kół jest praca całego nadwozia. Samochód nie jest

bryłą sztywną i odkształca się nieznacznie podczas jazdy.

Podsumowując opis samochodu, można powiedzieć, że współczesny samochód jest w stanie regulować

prędkość każdego koła (przyspieszać lub zwalniać), a także osobno sterować sprężystością

i współczynnikiem tłumienia zawieszenia oraz ilością przekazanego momentu siły pomiędzy kołami.

Dzieje się to w dużym stopniu niezależnie od pozostałych kół.

Systemy wspomagania kierowcy

Współczesne samochody wyposażone są w szereg systemów, które mają za zadanie zwiększyć komfort

jazdy, ale przede wszystkim jej bezpieczeństwo. Dlatego nazywa się je zamiennie systemami wsparcia

lub systemami bezpieczeństwa. To bezpieczeństwo dzieli się na bezpieczeństwo czynne i bierne.

Systemy bezpieczeństwa biernego uaktywniają się dopiero podczas wypadku. Są to np. poduszki

powietrzne, napinacze pasów, aktywne fotele, itd. Nie są one przedmiotem niniejszej pracy. Systemy

bezpieczeństwa czynnego mają za zadanie przede wszystkim nie dopuścić do wypadku, choć część

z nich wpływa też na komfort podróżnych. Wiele jest już montowanych seryjnie i wymaganych przez

prawo Unii Europejskiej. Poniżej wymienione są niektóre z nich.

ABS

Podstawowym systemem wsparcia kierowcy jest system zapobiegający blokowaniu kół, czyli ABS [58]

(niem. Antiblockiersystem). Jego rolą jest pulsacyjne ograniczanie siły hamowania, kiedy wykryty

Page 32: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

32

zostaje poślizg kół. Dzięki temu możliwe jest zachowanie sterowności, czyli po prostu skręcanie

podczas gwałtownego hamowania. Czasami zarzuca się, że system ograniczając siłę hamowania,

wydłuża jego drogę. Jednak nowoczesne systemy ABS, wykrywają możliwy uślizg, zanim on nastąpi,

dzięki czemu nie następuje tarcie oponą o podłoże, a skoro tarcie statyczne (bez poślizgu) jest zawsze

większe od dynamicznego (z poślizgiem), to droga hamowania efektywnie skraca się. Warto

wspomnieć, że w szczególnych warunkach bardzo niskiej przyczepności system ABS faktycznie

wydłuża drogę hamowania, ponieważ siła hamowania zmniejszana jest zbyt wcześnie.

Działanie systemu ABS bazuje na pompie hamulcowej, która zmniejsza ciśnienie w układzie

hamulcowym, a następnie wykorzystuje siłę nacisku na pedał hamulca, żeby ponownie je zwiększyć.

BAS

System wspomagania hamowania (ang. Brake Assist System) rozwiązuje problem opisany

w poprzednim zdaniu [59]. Bardzo często kierowcy nie naciskają pedału hamulca do końca [60], więc

ABS nie jest w stanie wystarczająco zwiększyć ciśnienia w układzie. System BAS wykrywa hamowanie

awaryjne i zwiększa ciśnienie do maksymalnego przy użyciu pompy hydraulicznej, niezależnie od

zachowania kierowcy.

EBD

Elektroniczny system rozdziału siły hamowania (ang. Electronic Brakeforce Distribution) wypełnia

kolejną lukę w działaniu systemu ABS [61]. Nie można założyć, że każde koło w samochodzie porusza

się po takiej samej nawierzchni, samochód jest idealnie wyważony, a każda z opon zużyta w takim

samym stopniu. Z tych różnic wynika inne tarcie, więc inny moment zerwania przyczepności na każdym

kole. System EBD steruje przepływem płynu hamulcowego do każdego koła, działając jak cztery

oddzielne systemy ABS.

ASR

Regulator poślizgu przy przyspieszaniu (ang. Acceleration Slip Regulation) to system elektroniczno-

mechaniczno-informatyczny, który zapobiega poślizgowi kół podczas ruszania i gwałtownego

przyspieszania [62]. Może on ograniczać moc silnika lub używać hamulców.

ESP

Program kontroli przyczepności (ang. Electronic Stability Program) to kolejny system zapobiegający

poślizgowi kół, z założenia działający podczas jazdy w zakręcie [63]. Współcześnie coraz częściej jest

on jedynym systemem tego typu, a wszystkie powyższe są tylko jego funkcjami, choć nie jest to jeszcze

regułą. Zadaniem ESP jest zapobieganie nadsterowności lub podsterowności, czyli tendencji

samochodu, odpowiednio, do zacieśniania skrętu poprzez wyrzucanie na zewnątrz łuku tylnej części

samochodu lub zwiększania promienia skrętu poprzez wyrzucanie w kierunku zewnętrznym przedniej

części samochodu. Żeby temu zapobiec moduluje się siłę hamowania na każdym kole oraz moc silnika.

LDWS

System elektroniczno-informatyczny ostrzegający o zjechaniu z pasa ruchu (ang. Lane Departure

Warning System), który monitoruje przy pomocy kamery linie oddzielające pasy ruchu [64].

W przypadku gdy kierowca zbliża się do nich lub je przekracza, może zachować się pasywnie

(poinformować kierowcę o zjechaniu z pasa ruchu), lub aktywnie (skorygować tor jazdy). Systemy

Page 33: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

33

aktywne mogą używać układu kierowniczego lub hamulcowego. Rozwinięciem tego systemu jest Lane

Keeping Assist, który samodzielnie utrzymuje samochód na środku pasa ruchu, a w najnowszych

samochodach – potrafi także ten pas samodzielnie zmieniać.

Aktywny tempomat

Zadaniem zwykłego tempomatu jest utrzymywanie zadanej prędkości jazdy przy użyciu silnika oraz –

w niektórych samochodach – hamulców. Rozwiązanie aktywne oprócz tego dostosowuje prędkość

do poprzedzającego pojazdu (przy użyciu radaru lub kamery), do ograniczeń prędkości (przy użyciu

nawigacji i systemu GPS lub kamery, odczytując prędkość ze znaków) lub do drogi (zwalniając przed

skrzyżowaniami i ostrymi zakrętami, na podstawie map nawigacji i systemu GPS) [65].

EBA

Zadaniem asystenta hamowania awaryjnego (ang. Emergency Brake Assist) jest unikanie zderzenia, jeśli

kierowca sam nie rozpoczyna manewru hamowania [66]. Najczęściej systemy tego typu używają

radarów lub kamer, wykrywając przeszkody nieruchome, ruch poprzeczny, pieszych i zwierzęta. Ich

pierwszą reakcją jest zaalarmowanie kierowcy, a następną – działanie aktywne, czyli samodzielne

rozpoczęcie awaryjnego hamowania, aż do reakcji kierowcy, ustąpienia niebezpieczeństwa

lub całkowitego zatrzymania samochodu.

System monitorowania martwego pola

System monitorowania martwego pola obserwuje otoczenie pojazdu po bokach i za nim [67]. Jego

zadaniem jest informowanie kierowcy o znajdujących się tam innych pojazdach

i obiektach (w szczególności ukrytych w martwym polu, tzn. niewidocznych w lusterkach oraz bez

obrócenia głowy). Jeśli kierowca próbuje zmienić pas na zajęty, system powinien poinformować go

o tym alarmem lub aktywnie uniemożliwić wykonanie manewru. Dodatkową funkcją radarów

wykorzystywanych przez ten system jest monitorowanie stref po bokach samochodu, podczas

wyjeżdżania tyłem z miejsc parkingowych.

Podsumowując tę część, można zauważyć, że różne systemy wsparcia potrafią aktywnie zmieniać moc

silnika, siłę każdego z hamulców oraz skręt kierownicy, wykorzystując do tego wiedzę zdobywaną

dzięki licznym kamerom i radarom, używanym do monitorowania całej przestrzeni wokół samochodu

oraz sterownikom napędzanym przez algorytmy zaprojektowane do różnych celów.

Standard SAE J3016

Mimo, że niniejsza praca dotyczy wyłącznie pojazdów kierowanych przez człowieka, prezentowany

w niej system informatyczny, sterowany przez IDSA, potrafi w pewnym zakresie sterować

autonomicznie. Żeby to sprecyzować, należy odnieść się do powszechnie używanej klasyfikacji

pojazdów autonomicznych, zaproponowanej w ramach standardu SAE J3016 [68]. Jak widać

na rysunku 12, standard ten wyróżnia 5 poziomów jazdy autonomicznej (oraz poziom zerowy,

pozbawiony wszystkich jej cech). Ta klasyfikacja zakłada, że kolejne poziomy spełniają coraz więcej

kryteriów jazdy w pełni autonomicznej, możliwej bez żadnej ingerencji kierowcy. Zaznaczona

na rysunku pogrubioną linią granica oddaje kolejne aspekty prowadzenia samochodu pod wyłączną

kontrolą systemu sterującego (lub wielu systemów). Oznacza to, że standard SAE J3016 nie przewiduje

istnienia rozwiązania spełniającego inny zestaw kryteriów, niż wyznaczony przez tę linię.

Page 34: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

34

Rysunek 12 Poziomy autonomii pojazdów [68]

IDSA steruje przyspieszeniem, hamowaniem i torem jazdy na wyłączność (poziom 2-5), jednak

w większości przypadków ukrywa ten fakt przed użytkownikiem (poziom 0). Poza tym w pełni

monitoruje otoczenie pojazdu (poziomy 3-5), ale jednocześnie wymaga tego od użytkownika (poziomy

0-2). Można jednak powiedzieć, że w sytuacji zagrożenia przejmuje kontrolę (poziomy 4-5), ale nawet

wtedy nie pomija danych wejściowych pochodzących od kierowcy (poziomy 0-3). Pod względem

ostatniego kryterium – ilości scenariuszy (trybów), w których może on zastąpić kierowcę – może go

zastąpić we wszystkich (poziom 5), ale najczęściej robi to tylko w sytuacjach krytycznych (poziomy 2-

3).

1.4.2. Podstawowe pojęcia związane z informatyką

Wraz z zakończeniem punktu 1.4.1, zakończono opisywanie zagadnień związanych z motoryzacją.

Niniejszy punkt rozpoczyna rozważania związane z informatyką poprzez przedstawienie metod,

algorytmów i pojęć, które będą później używane.

Jednoczesne lokalizowanie i mapowanie (ang. Simultaneous Localization and Mapping -

SLAM)

Jednym z problemów, które rozwiązuje proponowany w tej pracy algorytm, jest jednoczesne

mapowanie otoczenia poruszającego się obserwatora oraz lokalizowanie go względem tego otoczenia.

Zaproponowano już wiele rozwiązań tego problemu, a jego istota opisana jest w pracy [6]. Temat ten

pochodzi z robotyki i ciągle jest dość popularny, więc publikowane są coraz wydajniejsze jego

Page 35: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

35

rozwiązania oraz ich implementacje, jednak bazowy pomysł ciągle jest ten sam. Polega on

na zapisywaniu w pamięci łatwych do wykrycia punktów orientacyjnych, np. punktów łączenia

krawędzi (wierzchołków lub kątów obiektów) albo tzw. mapy zajętości, czyli macierzy przechowującej

prawdopodobieństwo, że w danym punkcie mapy otoczenia znajduje się obiekt. Przy każdym nowym

pomiarze wykonywana jest taka mapa zajętości i porównywana z poprzednią (wykonaną przy

poprzednim pomiarze), z wykorzystaniem wiedzy o planowanym przesunięciu obserwatora od

ostatniego pomiaru. Przykładowo, jeśli planowany był ruch o jedną jednostkę odległości do przodu,

wszystkie znane punkty powinny być przesunięte o jedną jednostkę do tyłu względem obserwatora.

Do wyznaczenia nowej siatki punktów orientacyjnych lub mapy zajętości, używa się najczęściej filtru

Kalmana, który w wektorze stanu zawiera nie tylko położenie obserwatora, ale także poprzednie siatki

punktów lub mapy zajętości.

Model

Istnieje wiele definicji modelu. Na potrzeby niniejszej pracy najlepiej pasuje definicja słownikowa [69]:

„konstrukcja, schemat lub opis ukazujący działanie, budowę, cechy, zależności jakiegoś zjawiska

lub obiektu”. W niniejszej pracy mówi się o modelu pojazdu, który jest opisem obiektu rzeczywistego

w postaci struktury danych w pamięci komputera, a w szczególności o modelu symulacyjnym,

ukazującym działanie, budowę, cechy i zależności pojazdu rzeczywistego w warunkach symulacyjnych.

W pracy występuje też sformułowanie „model danych”. Jest to sposób przedstawiania zmiennych i ich

wartości w formie programowej lub matematycznej.

Driver-in-the-loop

Podczas badań, najlepiej byłoby zastosować środowisko badawcze o idealnej powtarzalności. Jednak

w niektórych przypadkach bardzo ważne jest oddziaływanie, na obiekt podejmowania decyzji lub jego

środowisko człowieka, np. operatora tego obiektu. W takim przypadku mówi się o badaniach human-

in-the-loop. Uściśleniem takiego podejścia jest metoda badania samochodów z udziałem kierowcy,

nazywana driver-in-the-loop [70]. W takim przypadku bada się zachowanie pojazdu z uwzględnieniem

faktu, że jest on kierowany przez kierowcę, a co za tym idzie kierowca, zgodnie ze swoją najlepszą wolą

i wiedzą a także doświadczeniem i intuicją, reaguje w czasie rzeczywistym na zachowanie kierowanego

przez siebie pojazdu.

Systemy podejmowania i wspomagania decyzji oraz sterowanie

Jak było wspomniane, niniejsza praca analizuje system podejmowania decyzji, zachowujący się jak

system wspomagania decyzji. Warto więc poznać obydwa i różnice między nimi.

Kiedy mówimy o podejmowaniu decyzji, ważne są następujące pojęcia. Decyzja jest to nielosowy

wybór jednego z wariantów przyszłego działania. Jest ona wynikiem procesu podejmowania decyzji.

Ten proces polega na zbieraniu i przetwarzaniu informacji o przyszłym działaniu. Jako

że „przetwarzanie informacji” jest pojęciem bardzo szerokim, sposoby podejmowania decyzji mogą być

także rozumiane bardzo szeroko. Podmiotem procesu podejmowania decyzji jest decydent. Może to być

człowiek, sterownik fizyczny, elektroniczny lub programowy. Przedmiotem podejmowania decyzji jest

system, proces, obiekt albo zjawisko, którego ta decyzja dotyczy (niekoniecznie wykonawca tej

decyzji). Rozumiejąc system jako określoną całość złożoną z powiązanych ze sobą elementów

(procesów, zjawisk, itp.), którego działanie zależy zarówno od działania poszczególnych elementów,

Page 36: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

36

jak i od sposobu ich powiązania (od struktury), możemy wyróżnić system podejmowania decyzji

zawierający podmiot (decydenta) i przedmiot decyzji.

Decydent Przedmiot decyzjiu

d

vI

Rysunek 13 przedstawia najprostszy schemat systemu podejmowania decyzji, gdzie 𝐼, to informacja

o przedmiocie decyzji wiadoma z góry, 𝑢 – to wyznaczona decyzja, 𝑣 – skutek decyzji. Wejście 𝑑 może

być rozumiane na dwa sposoby – jako obserwacje, np. uzyskane w wyniku badań eksperymentalnych

albo jako niemierzalne zakłócenia działające na przedmiot decyzji. Na bazie tego schematu można

tworzyć bardziej skomplikowane, np. ze sprzężeniem zwrotnym, gdzie 𝐼 = 𝑣 lub z mierzalnymi

zakłóceniami, których decydent jest świadomy. Należy pamiętać, że rysunek 13 nie jest diagramem

przepływu. Tylko niektóre systemy sterowania rzeczywiście działają w sposób iteracyjny, gdzie

w każdej iteracji 𝑖,

𝑢(𝑖) = 𝑓1(𝐼(𝑖)) (3)

oraz

𝑣(𝑖) = 𝑓2(𝑢(𝑖), 𝑑(𝑖)) (4)

oraz ewentualnie

𝐼(𝑖) = 𝑣(𝑖 − 1). (5)

System podejmowania decyzji, który automatycznie realizuje podjętą decyzję i działa w obecności

zakłóceń, nazywamy systemem sterowania. Systemem wspomagania decyzji, nazywamy taki system

podejmowania decyzji, w którym pomiędzy decydentem a przedmiotem decyzji znajduje się człowiek

(operator, ekspert), który każdorazowo musi decyzję zatwierdzić.

Rysunek 13 Schemat systemu podejmowania decyzji

Page 37: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

37

Algorytm

Algorytmem dokładnym nazywamy skończony i uporządkowany ciąg jasno zdefiniowanych czynności,

których celem jest wykonanie pewnego zadania, np. doprowadzenie obiektu z określonego stanu

do innego, określonego stanu [71]. Stan obiektu, to zbiór jego atrybutów, który opisuje ten obiekt

w danej chwili i reprezentuje informacje o historii obiektu. Mogą to być atrybuty wewnętrzne obiektu

oraz jego wyjście. Wyjście, to obserwowalne atrybuty, na rysunku 13 oznaczone literą 𝑣 . Wejście

oznaczone jest na nim literą 𝑢 . Czasami, zależnie od rozwiązywanego problemu i stosowanego

algorytmu, dopuszcza się, żeby algorytm doprowadzał tylko do konkretnej wartości wyjścia, niezależnie

od stanu wewnętrznego.

W przypadku systemów decyzyjnych lub sterujących, kiedy decyzja podejmowana jest fizycznie przez

urządzenie techniczne, na tym urządzeniu najczęściej realizowany jest zaprojektowany w tym celu

algorytm. Dokładnie tak wygląda stosowanie z użyciem IDSA, realizowane przez sterownik

umieszczony w pojeździe lub przez aplikację komputerową połączoną z używanym podczas badań

symulatorem.

Algorytm jako ciąg wykonywanych kroków, musi cechować się następującymi właściwościami:

a) Poprawność – jego wyniki są „dobre”, czyli poprawne, akceptowalne, spodziewane;

b) Powtarzalność – za każdym razem jego zastosowanie na obiekcie o określonym stanie

doprowadzi do takiego samego rezultatu;

c) Wykonalność – każdy krok musi być możliwy do wykonania;

d) Skończoność – liczba jego kroków jest skończona;

e) Sprawność – można określić jego złożoność obliczeniową i pamięciową;

f) Posiadanie wejścia i wyjścia – algorytm musi określać stan początkowy i końcowy obiektu,

co do którego ma być zastosowany.

Złożoność obliczeniowa oraz pamięciowa, to liczba operacji koniecznych do wykonania oraz

wymagana przez algorytm pamięć, która w zależności od rozmiaru danych wejściowych jest znana.

Złożoność algorytmów przeważnie zapisujemy jako 𝑂(𝑓(𝑛)), gdzie 𝑛, to liczba danych wejściowych.

Możemy mówić o złożoności pamięciowej (zależność użytej pamięci od ilości danych wejściowych)

lub czasowej (zależność koniecznego czasu przetwarzania od ilości danych wejściowych).

Przykładowo, złożoność 𝑂(1) oznacza stały czas wykonania algorytmu niezależnie od danych

wejściowych, a złożoność 𝑂(𝑛) oznacza, że wykonanie algorytmu wymaga wykonania liczby operacji

proporcjonalnej do ilości danych wejściowych. Możemy też wyróżnić, np. algorytmy wykładnicze,

opisywane jako 𝑂(𝑘𝑛), gdzie 𝑘 jest stałą, co oznacza, że przy dodaniu nowych danych wejściowych

czas wykonania należy pomnożyć przez liczbę nowych danych wejściowych. Jeśli złożoność algorytmu

rozwiązującego dany problem da się zapisać wielomianem od rozmiaru danych wejściowych, to taki

problem uważa się za łatwy do rozwiązania. Oczywiście problemy rozwiązywane, w najlepszym

przypadku, algorytmami, których złożoności nie da się tak opisać, uważa się za trudne [72], a takie

algorytmy – za nieefektywne.

Niestety niektóre problemy można rozwiązać jedynie algorytmami dokładnymi, których złożoność jest

nieakceptowalna. W takich wypadkach często stosuje się algorytmy heurystyczne. Algorytm

Page 38: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

38

heurystyczny, to skończony i uporządkowany ciąg jasno zdefiniowanych czynności, których celem jest

wykonanie pewnego zadania, jednak w odróżnieniu od algorytmu dokładnego, jego poprawność

i powtarzalność nie jest pewna. Oznacza to, że algorytm heurystyczny wykona zadanie algorytmu

dokładnego tak samo dobrze jak algorytm dokładny, albo przynajmniej akceptowalnie, czyli

wyprodukowane z jego użyciem rozwiązanie będzie poprawne w większości przypadków lub bliskie

poprawnemu. Mimo że wydaje się, że stosowanie algorytmów heurystycznych w sytuacjach, w których

znany jest algorytm dokładny, nie ma żadnego sensu, to zachowanie takie jest bardzo powszechne.

Wynika to z tego, że algorytm heurystyczny jest najczęściej sprawniejszy od algorytmu dokładnego,

a bardzo często jest znacznie szybszy, tzn. jego złożoność czasowa jest mniejsza, często o całe rzędy

wielkości. Dzięki temu, w wielu współczesnych problemach, ze świadomością dostępnych zasobów

(np. mocy obliczeniowej współczesnych komputerów i dostępnego czasu), stosuje się algorytmy

heurystyczne, ponieważ stosowanie ich dokładnych odpowiedników byłoby zbyt kosztowne lub po

prostu niemożliwe.

Sztuczna sieć neuronowa

Współcześnie dość często realizuje się algorytmy heurystyczne z wykorzystaniem tzw. sztucznych sieci

neuronowych. Sztuczna sieć neuronowa, to procedura obliczeniowa wykorzystująca zbiór jednostek

wejściowo-wyjściowych (neuronów) połączonych ze sobą, komunikujących się i pracujących

równolegle [73]. Definicja sieci neuronowej składa się z trzech elementów: modelu sztucznego neuronu,

topologii i reguły uczenia.

Sztuczny neuron

Sztuczny neuron przyjmuje 𝑛 wejść �̿� = [�̿�1, �̿�2, … , �̿�𝑖, … , �̿�𝑛] wraz z odpowiadającymi im wagami

𝑤 = [𝑤1, 𝑤2, … , 𝑤𝑖, … , 𝑤𝑛] oraz produkuje jedną wartość wyjściową �̅� . Pobudzenie neuronu 𝑒

określone jest funkcją

𝑒 =∑𝑤𝑖 ⋅ �̿�𝑖 − Θ

𝑛

𝑖=1

(6)

Wartość Θ, to tzw. próg aktywacji neuronu. Funkcja aktywacji neuronu ma postać �̅� = 𝑓(𝑒). Może mieć

prostą postać, np.

�̅� = 𝑓(𝑒) = {

1 dla 𝑒 ≥ Θ0 𝑤 𝑝. 𝑝.

(7)

Może też być bardziej skomplikowana, np.

�̅� = 𝑓(𝑒) = 𝑡𝑔ℎ (𝛼𝑒

2) (8)

Wartość 𝛼 jest parametrem, najczęściej stałym dla całej sieci.

Page 39: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

39

Topologia

Najprostszą topologią sieci neuronowej jest sieć jednokierunkowa. Sieci jednokierunkowe składają się

z tzw. warstw, czyli grup neuronów, a każda grupa pobiera dane tylko z poprzedniej grupy

(z wyłączeniem pierwszej grupy, tzw. warstwy wejściowej, która przyjmuje dane z zewnątrz) oraz

wysyła dane tylko do następnej grupy (z wyłączeniem ostatniej grupy, tzw. warstwy wyjściowej, która

generuje wynik). Oprócz tego istnieją jeszcze inne topologie, np. rekurencyjne, sieci Kohonena, itp.

Reguła uczenia

Uczenie sieci neuronowej polega na wyznaczeniu wag połączeń pomiędzy neuronami. Może być

nadzorowane, nienadzorowane, przez wzmacnianie lub hybrydowe.

a) W przypadku uczenia nadzorowanego system otrzymuje zbiór danych wejściowych

i oczekiwanych wyjściowych, a następnie ze wszystkich kombinacji wag, wybierane są te,

które pozwalają otrzymać oczekiwane wyjście na podstawie danego wejścia.

b) Uczenie nienadzorowane nie dostarcza do systemu zbioru oczekiwanych wyjść. Podczas tego

procesu system, np. klasteryzuje obiekty wejściowe, przypisując je do tych samych klas

na podstawie podobieństwa.

c) Uczenie przez wzmacnianie nie wymaga zbioru uczącego. System rozpoczyna pracę i jest

„nagradzany” za dobre wyniki oraz „karany” za złe. Dzieje się to tak długo, aż wyniki poprawią

się do akceptowalnego poziomu.

Widzenie komputerowe

Widzenie komputerowe (ang. computer vision), nazywane też rozpoznawaniem obrazu, to zbiór

algorytmów, których celem jest przetworzenie obrazu (na podstawie danych z kamery lub skanera)

do postaci jego opisu, np. klasyfikacja znajdujących się na obrazie obiektów, rozpoznawanie pisma,

tworzenie trójwymiarowego modelu sceny lub bardzo popularne w medycynie wykrywanie anomalii

[74]. Algorytmy widzenia komputerowego przeważnie są trzypoziomowe [75]:

a) Przetwarzanie niskiego poziomu – obejmuje akwizycję obrazu, zmianę jego formatu (np.

dekompresję JPEG do BMP) i poprawę jakości, np. eliminację zakłóceń, poprawienie kontrastu,

itd.

b) Przetwarzanie średniego poziomu – proces segmentacji, detekcji konturów, przetwarzania

morfologicznego, itd.

c) Przetwarzanie wysokiego poziomu – klasyfikacja, rozpoznawanie i interpretacja sceny.

Coraz częściej do przetwarzania wysokiego poziomu stosuje się algorytmy heurystyczne,

np. wykorzystujące sztuczne sieci neuronowe, które mogą także jednocześnie wykonywać

przetwarzanie średniego i wysokiego poziomu [76]. Trudno jest podać formalnie jedną metodę widzenia

komputerowego, ze względu na mnogość technik i zastosowań.

Fuzja informacji

Algorytmy fuzji danych, fuzji informacji, fuzji sensorów lub poznawania prawdy (ang. truth discovery),

skupiają się na agregowaniu heterogenicznych i często asynchronicznych danych dotyczących tego

samego zjawiska rzeczywistego, z uwzględnieniem błędu pomiarowego każdego z czujników,

np. na agregowaniu informacji o scenie pochodzących z dwóch różnych kamer, działających z różną

Page 40: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

40

częstotliwością i ustawionych w różnych miejscach i kierunkach [77]. Ich ogólnym celem jest

wytworzenie opisu badanego zjawiska tak, jakby było mierzone jednym czujnikiem. Istnieje wiele

metod fuzji informacji, zależnych od przypadku użycia oraz zastosowanych sensorów. Podstawowe

z nich wykorzystują elementarne wyrażenia matematyczne, np. jednokładność, wyszukiwanie

wierzchołków, skalowanie i obracanie obrazu. Jeśli jednak założymy, że pomiary obarczone są błędem,

należy zastosować inne metody. Ich częścią wspólną jest przeważnie bazowanie na twierdzeniu Bayesa

lub filtrach Kalmana. Przykładem fuzji informacji zrealizowanej w ramach prac nad IDSA jest proces

opisany w punkcie 2.7.

Funkcje ciągłe – interpolacja, aproksymacja i ekstrapolacja

W celu zamiany opisu dyskretnego na ciągły konieczna jest jego aproksymacja. Jest to proces

odnajdywania funkcji ciągłej takiej, żeby minimalizować jej błąd w stosunku do pomiarów [78].

W tym celu można zastosować twierdzenie Stone’a-Weierstrassa [79] oraz aproksymację wielomianową

[80]. Jeśli założymy, że dane jest 𝑛 pomiarów �̆�1, �̆�2, … , �̆�𝑛 w znanych chwilach czasu 𝑡1, 𝑡2, … , 𝑡𝑛, to

celem jest znalezienie wielomianu 𝐹(𝑡) opisanego w równaniu

𝐹(𝑡) =∑𝑎𝑖𝑡

𝑖 .

𝑛

𝑖=1

(9)

Ten wielomian powinien minimalizować funkcję błędu 𝐻(𝑡1, 𝑡2, … , 𝑡𝑛), np. średniokwadratowego,

𝐻(𝑡1, 𝑡2, … , 𝑡𝑛) =∑𝑤(𝑡𝑗) (�̆�𝑗 −∑𝑎𝑖𝑡𝑗𝑖

𝑚

𝑖=1

)

2

.

𝑛

𝑗=1

(10)

Jeśli założymy, że współczynnik funkcji wagowej 𝑤(𝑡𝑗) jest zawsze równy 1, to minimum tej funkcji

znajdujemy rozwiązując następujący układ równań.

{

𝜕𝐻

𝜕𝑎1= 0

𝜕𝐻

𝜕𝑎2= 0

…𝜕𝐻

𝜕𝑎𝑚= 0

(11)

Stopień wielomianu jest parametrem podlegającym wyborowi. Wartość tego parametru powinna

zapewnić szybkie rozwiązanie układu równań (11) oraz wymaganą dokładność aproksymacji.

Korzystając z aproksymowanej funkcji ciągłej, można dokonać dwóch istotnych obliczeń – interpolacji,

czyli wyliczenia wartości funkcji (estymacji stanu, pomiaru lub wyjścia) pomiędzy pomiarami

Page 41: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

41

rzeczywistymi lub ekstrapolacji czy wyliczenia wartości funkcji (j. w.) po ostatnim pomiarze. To

ostatnie jest szczególnie użyteczne, ponieważ pozwala szybko prognozować wartość funkcji bez

konieczności pomiaru.

1.5. Opis pracy

Niniejszy podrozdział jest niejako streszczeniem całej pracy. Zawiera jej cel, tezę, założenia i zadania

badawcze, prezentuje wyniki w sposób syntetyczny oraz omawia dalszą jej zawartość.

1.5.1. Cel i teza

Jak było powiedziane w podrozdziale 1.2, pomysł na tę pracę dotyczył samochodów i mimo możliwego

uogólnienia na inne urządzenia sterowane przez człowieka, ostatecznie, ze względu na objętość pracy,

podjęto decyzję o zachowaniu ograniczenia do samochodów. Zadanie sterowania nowoczesnym

samochodem – lub inaczej kierowania – jest bardzo skomplikowane. Jego część spoczywa na kierowcy,

a część na samym samochodzie. Teza i cel tej pracy wynikają z istnienia kilku problemów lub cech

istniejącego podejścia do kierowania samochodem, takich jak różnego rodzaju konflikty, używanie

podejścia iteracyjnego, ograniczony dostęp do informacji lub ich zbędne powielanie, niedostateczna

wydajność sterowników, duża złożoność pojazdów oraz niedostateczne bezpieczeństwo informatyczne.

Konflikty

Podczas sterowania wieloma urządzeniami wykonawczymi, na podstawie danych z wielu czujników

i z wykorzystaniem wspólnej sieci teleinformatycznej, mogą następować konflikty danych, zasobów

i sterowania [81]. Sposoby rozwiązywania tych konfliktów są dobrze chronioną własnością

intelektualną ich twórców, więc można o nich mówić wyłącznie bardzo ogólnie. Konfliktów danych

najczęściej się nie rozwiązuje. Mimo że różne czujniki dostarczają danych o tym samym przedmiocie

(procesie, obiekcie lub właściwości) do wspólnej sieci, każdy sterownik wykorzystuje dedykowane

sobie czujniki, więc nie musi scalać różnych danych. W przypadku używania danych z wielu czujników,

np. radaru i kamery, sposób ich agregacji jest szczegółem implementacyjnym sterownika. Jedynym

współdzielonym zasobem informatycznym jest sieć, która łączy wszystkie podsystemy samochodu.

Wciąż popularna sieć CAN jest magistralą, która posiada system blokowania, więc konflikt zasobów

rozwiązywany jest tu poprzez oczekiwanie, aż zasób będzie wolny [82]. W przypadku zasobów

nieinformatycznych, ich konflikty najłatwiej rozwiązuje się poprzez zwiększanie tych zasobów,

np. przez zastosowanie mocniejszej instalacji elektrycznej [83].

Dość ciekawe jest podejście do konfliktów sterowania. Dochodzi do nich, kiedy różne sterowniki oraz

kierowca próbują jednocześnie wpływać na te same urządzenia wykonawcze. Stosuje się wtedy różne

metody, jak np. oczekiwanie, pomijanie sygnału sterującego lub priorytetyzację. W motoryzacji

najczęstsze i najprostsze jest oczekiwanie realizowane tutaj sprzętowo, poprzez oczekiwanie na dostęp

do szyny danych. Czasami może się zdarzyć, że sygnał czekał zbyt długo i jego wykonanie nie ma już

żadnego sensu. W takim wypadku jest po prostu pomijany. Niestety często zdarza się, że dwa sygnały

sterujące, przychodzące po sobie do tego samego urządzenia wykonawczego, są sprzeczne, np. jeden

zwiększa siłę hamowania, a drugi ją zmniejsza. W prostszych, mniej zaawansowanych systemach

sieciowych, obydwa sygnały są wykonywane, co w połączeniu z tym, że żaden nie jest skuteczny

natychmiast (wymaga raczej kilku cykli), prowadzi do tego, że żaden z nich nie spełnia swojej roli [82].

Na wyższym poziomie następuje ustalanie priorytetów wewnątrz sterowników, np. nadawanie

Page 42: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

42

wyższego priorytetu sygnałowi zwiększającemu bezpieczeństwo nad takim, który zapewniłby komfort.

Stąd jest już prosta droga do najlepszego sposobu rozwiązywania wszystkich wspomnianych konfliktów

– optymalizacji algorytmów, które je generują. Jako że te algorytmy wykonywane są pierwotnie

na różnych sterownikach, często wiąże się to z ich fizycznym i logicznym łączeniem [3].

Podejście iteracyjne

Inną cechą współczesnych systemów informatycznych stosowanych w samochodach jest ich

bezstanowość. Jeśli system używa np. kamery do modelowania wycinka świata rzeczywistego, to wraz

z każdą nową klatką obrazu z tej kamery, ponawia tę operację od początku bez wykorzystania wiedzy

historycznej. W ten sposób marnuje się energię i czas procesora [84].

Ograniczony dostęp do powielonych informacji

Współczesne samochody wyposażone są w dziesiątki lub nawet setki czujników. Mogą to być

skomplikowane urządzenia, jak kamery, radary (lub LIDAR-y – ich laserowe, bardziej dokładne

odpowiedniki), mikrofony, czujniki magnetyczne i ultradźwiękowe lub bardzo proste urządzenia –

akcelerometry, termometry, ciśnieniomierze, mierniki położenia, mierniki przepływu gazu albo cieczy.

Istotne jest to, że są one elementami składowymi różnych systemów. Przykładowo, system

rozpoznawania znaków drogowych wyposażony jest w kamerę, podobnie - system wykrywania

pieszych lub zwierząt na drodze również wyposażony jest w kamerę. Obie umieszczone są

na podszybiu, obok lusterka wewnętrznego i monitorują mniej więcej ten sam rejon otoczenia

samochodu (rysunek 14).

Rysunek 14 Umieszczenie sensorów na podszybiu samochodu [85]

Bardzo często nie może to być jedna kamera, ze względu na różną genezę obu systemów. Zdarza się, że

jakiś system nie jest wyposażony w czujnik, którego mógłby użyć, a jednocześnie inny system taki

czujnik posiada. Na przykład system automatycznych świateł w wielu samochodach nie posiada

żadnego czujnika wilgotności szyby, więc nie potrafi uruchomić świateł, gdy pada deszcz. Ważniejszym

przykładem niech będzie system bezpieczeństwa czynnego, który dzięki radarowi wykrywa obiekt

na drodze, jednak nie jest wyposażony w kamerę, która pozwoliłaby ten obiekt sklasyfikować i dzięki

temu przewidzieć jego zachowanie. Rozwiązanie tych dwóch problemów jest oczywiste,

Page 43: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

43

ale jednocześnie trudne do wykonania. Należy po prostu dzielić się danymi pomiędzy systemami. Jest

to prostsze, jeśli wszystkie pochodzą z jednego źródła, jednak nie zdarza się to często.

Niedostateczna wydajność sterowników

Jak było już powiedziane, nad jazdą samochodu czuwa wiele systemów informatycznych jednocześnie.

Ich liczba implikuje rosnące wymagania sprzętowe. Każdy pojedynczy sterownik zajmuje miejsce,

ma określoną masę, potrzebuje odpowiednich czujników, przewodów i energii. Te wszystkie zasoby

są ograniczone. Niektóre z tych problemów można by obejść, stosując droższe rozwiązania

(wydajniejsze sieci elektryczne, wydajniejsze mikroprocesory), jednak najczęściej ten sam system

stosuje się we wszystkich samochodach danej marki ze wszystkich klas i półek cenowych, więc nie ma

możliwości przerzucenia tych kosztów na klienta. Niestety, niektórych problemów nie można rozwiązać

w ten sposób - np. zwiększenie nakładów nie zmniejszy ilości kabli poprowadzonych w nadwoziu.

Rosnąca złożoność

Kolejną cechą współczesnej motoryzacji, a może technologii w ogóle, jest chęć zaproponowania

klientowi kolejnych elementów wyposażenia. W związku z tym produkowane są coraz to nowe i nowe

systemy wsparcia, „wirtualni asystenci” i funkcje dodatkowe. Wiele z nich jest tylko dziełem

marketingu i wynajdywaniem skomplikowanych nazw do prostych rozwiązań, jednak co jakiś czas

pojawia się rzeczywiście nowy, skomplikowany system, który implementuje się obok już istniejących.

Pozwala to klientowi wybrać te systemy wsparcia, które chciałby mieć w swoim samochodzie, a

pominąć inne, ale też pozwala podwykonawcom sprzedać nowe rozwiązania swoim klientom – firmom

motoryzacyjnym. Traci na tym klient końcowy, który nie może rozwijać już wyprodukowanego

samochodu (np. po zakupie na rynku wtórnym) lub płaci za dodatkowe funkcje – często

niedopracowane, bez możliwości aktualizacji i instalacji poprawek, a co za tym idzie – zawodne.

Rozwiązaniem tego problemu byłaby oczywiście redukcja tej złożoności poprzez integrację wielu

systemów w jeden.

Bezpieczeństwo informatyczne

Ten temat od dawna był pomijany przez producentów samochodów. Trudno jest sprzedać nowe metody

szyfrowania czy weryfikacji dostępu, kiedy klient kupując samochód, często jest nieświadomy

obecnych w nim komputerów. Istnieją bardzo interesujące wektory ataku na samochody [86].

przykładowo:

a) metody podsłuchania i ingerencji w sieć CAN bezprzewodowo, bez fizycznej ingerencji

w samochód;

b) metody dostępu do ważnych systemów odpowiedzialnych za bezpieczeństwo w samochodzie

(np. układu hamulcowego) poprzez instalację złośliwego oprogramowania w nieistotnych

systemach peryferyjnych (np. radiu);

c) metody wpływania na ważne systemy w samochodzie, np. oszukiwanie systemu ESP w celu

zablokowania jednego z kół podczas szybkiej jazdy.

Rozwiązaniem jest inwestycja w bezpieczeństwo informatyczne, co niestety skomplikuje każdy

z istniejących systemów, albo wprowadzenie jednej warstwy bezpieczeństwa chroniącej cały samochód.

Page 44: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

44

To ostatnie jest problematyczne tak długo, jak jego systemy składowe mają niewiele cech wspólnych,

a wiele różnych niezależnych luk bezpieczeństwa.

Teza pracy

Wszystkie, wymienione wyzwania, stojące przed projektantami współczesnych samochodów, implikują

jeden, następujący wniosek. Należy redukować liczbę systemów informatycznych w samochodach,

jednocześnie zachowując ich funkcjonalność i zostawiając możliwość ich rozwoju. Już teraz

dokonywane są tego typu zmiany, np. systemy ABS, ESP, EBD, BAS i ASR jednoczą się i stają się

jednym systemem [3]. Taki system ma wspólną warstwę bezpieczeństwa (takie samo szyfrowanie

wiadomości), używa tych samych zasobów sprzętowych (kable, sensory), a oddzielne sterowniki

realizujące algorytmy szczegółowe, zamienione są na pojedynczy sterownik realizujący zintegrowany

algorytm, spełniający kilka zadań, których architektura (zarówno sterownika, jak i algorytmu) może być

przemyślana wspólnie i spójnie. Konsekwencją dotychczasowych rozważań jest przyjęcie tezy

rozprawy w następującej postaci.

Możliwe jest opracowanie scentralizowanego algorytmu kierowania pojazdem, agregującego

obecnie stosowane algorytmy szczegółowe – lepszego od nich pod względem bezpieczeństwa

i komfortu jazdy.

Następujące uwagi doprecyzowują tezę.

Po pierwsze, należy ją ograniczyć do funkcji samochodu, które wpływają na jazdę. Dobrze by było,

gdyby realizacja fizyczna takiego algorytmu, czyli sterownik, pozwoliła na tym samym komputerze

realizować np. system info-rozrywki czy sterowanie klimatyzacją, jednak nie jest to priorytet. Poza tym,

taki system musi koniecznie agregować dane ze wszystkich sensorów na swoje potrzeby, a istniejące

systemy niepowiązane z jazdą samochodu, które również tych danych potrzebują, powinny wykorzystać

zebrane już dane, co oznacza, że w takim razie ten system musi posiadać interfejs eksportujący je

w sposób programowy, ewentualnie sprzętowy, na podstawie istniejących protokołów sieciowych.

Po drugie, należy zdefiniować funkcję oceny takiego algorytmu, czyli co to znaczy, że jest on „lepszy”.

Można mówić o jego zapotrzebowaniu na energię lub o masie komputera, który go realizuje, jednak

te cechy zmieniają się dość szybko, wraz z postępem techniki. Taki system należałoby więc oceniać

w kategoriach dynamicznych – jak radzi sobie ze sterowaniem samochodem. W tym celu proponuje się

oceny zagregowane w postaci kryteriów bezpieczeństwa jazdy i komfortu jazdy. Te kwestie będą

dokładniej omówione w punkcie 4.1.2. Oprócz tego, taki system musiałby rozwiązywać znane już

problemy. Można je podzielić na dwie kategorie – znane z motoryzacji, np. zapobieganie poślizgowi

kół podczas hamowania z jednoczesnym zachowaniem krótkiej drogi hamowania oraz inne - znane

głównie z informatyki lub robotyki, np. problem jednoczesnego lokalizowania i mapowania lub

problem fuzji danych z różnych sensorów. Jednak bardzo ważne jest, że rozwiązywanie takich

problemów nie jest celem tej pracy, więc ocenianie zadań cząstkowych może dać wynik niekorzystny,

podczas gdy najważniejsze kryteria będą ocenione pozytywnie. Poza tym, okazuje się, że trudno jest

zbudować wiarygodne porównanie systemu realizującego jedną tylko funkcję oraz systemu, który ma

inne założenia i inne parametry wejściowe i wyjściowe, a przy okazji realizuje również tę funkcję.

Przykładowo model otoczenia jest tylko elementem IDSA, służącym do realizacji głównego celu, a jego

Page 45: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

45

celem samym w sobie, więc budowany algorytm nie powinien być porównywany z algorytmem

przetwarzającym dane radarowe, którego celem jest wyłącznie budowanie takiego modelu.

Ostatecznie, należy pokazać, co nazywamy współczesnym samochodem i które algorytmy szczegółowe

są zastępowane. Jak było wspomniane, motoryzacja rozwija się bardzo szybko, więc należy dość

dokładnie opisać pojazd referencyjny. Zostanie to pokazane w podrozdziale 3.2.

Cel pracy

Celem pracy jest weryfikacja postawionej tezy. W niniejszym przypadku postanowiono dokonać

weryfikacji eksperymentalnej, czyli zaproponować pojedynczy sterownik sterujący pojazdem. Sam

sterownik jest jednak rozwiązaniem sprzętowym, a jego sprzętowa architektura nie jest obiektem

zainteresowania tej pracy. W takim razie skupiono się na jego warstwie programowej, czyli

na algorytmie, który mógłby w takim sterowniku być zastosowany. Jak napisano w podrozdziale 1.2,

zaproponowany w tym celu algorytm nazwano IDSA.

Tak więc, celem pracy jest opracowanie algorytmu umożliwiającego zintegrowanie zadania

sterowania samochodem, a także jego weryfikacja w środowisku symulacyjnym.

Ta druga kwestia wiąże się przede wszystkim z jego implementacją i strojeniem, a także

z zaprojektowaniem i wykonaniem badań w formie eksperymentów porównawczych z samochodem

sterowanym w sposób klasyczny.

1.5.2. Zadania badawcze

Wykonanie następujących zadań badawczych, podzielonych na trzy etapy, umożliwiła realizację tak

postawionego celu oraz uzasadnienie tezy. W realizacji tych zadań wykorzystano badania zachowania

samochodu w warunkach symulacyjnych, przy okazji modelowania jego zawieszenia na potrzeby pracy

magisterskiej [87], a także koncepcję sterownika samochodu autonomicznego, która była rozwijana

na potrzeby Koła Naukowego Pojazdów i Robotów Mobilnych działającego na Politechnice

Wrocławskiej w latach 2011-2013.

Projektowanie algorytmu

Podczas projektowania algorytmu przyjęto założenia, które można streścić jako maksymalne

wykorzystanie istniejących zdobyczy nauki z zakresu informatyki, zamiast rozwiązywania problemów

znanych w motoryzacji. W ten sposób podjęto decyzję o holistycznym spojrzeniu na cały problem

sterowania samochodem. Podczas projektowania, poszczególne składowe algorytmu były zastępowane,

łączone oraz dzielone, aż uzyskano jego ostateczną formę.

Implementacja algorytmu

W celu przebadania IDSA, zdecydowano się na jego implementację w języku programowania Java oraz

z zastosowaniem znanych protokołów sieciowych. Do testowania implementacji zweryfikowano

przydatność kilku symulatorów, aż ostatecznie wybrano środowisko Unity3D z biblioteką Vehicle

Physics Pro. W tym środowisku utworzono dwa modele pojazdów – referencyjny oraz sterowany przez

IDSA. Obydwa były podczas prac wielokrotnie modyfikowane.

Page 46: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

46

Badania

Pierwszą częścią badań, wykonaną równolegle z implementacją, było strojenie – zarówno samych

wirtualnych pojazdów (ich parametrów fizycznych), istniejących systemów wsparcia kierowcy (np.

ABS, czy ESP), jak i tworzonego na bieżąco algorytmu. Następnie zaproponowano typ eksperymentów

(statystycznych, Driver-in-the-loop) oraz scenariusz badań.

1.5.3. Zakres i ograniczenia

Poniżej przedstawiono listę wszystkich ograniczeń przyjętych w badaniach – zarówno odnoszących się

do badanego IDSA, jak i tej pracy.

a) Wszystkie zagadnienia techniczne związane z badanych algorytmem, jak interfejsy sprzętowe,

zapotrzebowanie na energię, rozmiar sterownika itd., są pominięte. Zakłada się, że IDSA

realizowany jest na komputerze klasy PC.

b) Podczas badań używano komputera wyposażonego w procesor Intel Core i7-7700K, 16GB

pamięci RAM, dysk SSD i kartę graficzną nVidia GeForce GTX 1080. IDSA komunikuje się

z wykorzystaniem protokołów TCP oraz UDP. Założono, że IDSA i sterownik dają się

zabezpieczyć ogólnie znanymi metodami (szyfrowanie, podpisywanie wiadomości, kontrola

dostępu) i pominięto analizę zabezpieczeń.

c) Pominięto sterownik zapasowy, który byłby konieczny na wypadek awarii w rzeczywistym

systemie realizującym IDSA.

d) Bardziej istotne są wymagania, które postawiono przed IDSA. Jego zadaniem jest

przyjmowanie sygnałów od kierowcy w postaci położenia pedałów gazu i hamulca oraz

położenia kierownicy. Podczas badań korzystano także z wybierania biegów: do jazdy

do przodu oraz do tyłu, jednak ewaluacja dotyczy jedynie jazdy do przodu.

e) Przyjęto następujące ograniczenia dotyczące urządzeń wykonawczych.

Tabela 3 Założenia dotyczące urządzeń wykonawczych

Urządzenie

wykonawcze Przyjęte założenia

Silnik

Regulacja mocy współczesnego silnika spalinowego, to wiele parametrów.

Uznano, że w sytuacji rzeczywistej realizowałby to oddzielny program

komputerowy, przyjmujący na wejściu jeden parametr. Roboczo nazwano go

położeniem przepustnicy.

Hamulce Założono, że siłę hamowania podaje się osobno na każde z czterech kół.

Skręt kół Założono, że każde koło może być sterowane osobno, jednakże z ograniczeniem

do zasady Ackermana.

Zawieszenie

Założono możliwość regulowania wysokości oraz współczynników sprężystości

i tłumienia zawieszenia każdego koła oraz współczynników sprężystości

każdego z dwóch stabilizatorów (na przedniej i tylnej osi)

Układ

przeniesienia

napędu

Założono użycie sprzęgła zdolnego do przenoszenia zadanego odsetka momentu

obrotowego oraz bezstopniowej skrzyni biegów i mechanizmów różnicowych

bez poślizgu, zdolnych do pełnego wektorowania ruchu obrotowego (dowolnej

zmiany proporcji jego prędkości pomiędzy poszczególnymi kołami jezdnymi).

Page 47: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

47

f) Każdy z parametrów wspomnianych w tabeli 3 (położenie przepustnicy, siła hamowania

każdego z kół, itd.) realizowany jest w IDSA jako zmienna w zakresie < −1,1 > lub < 0,1 >

(patrz tabela 6). Wartości te są przekształcane na wartości fizyczne w zakresach wyznaczonych

podczas strojenia symulatora, np. współczynnik tłumienia od 1000 do 5000.

g) W badaniach użyto pojazdu referencyjnego, wyposażonego w znane systemy bezpieczeństwa

oferowane przez Vehicle Physics Pro oraz zarządzającego tymi samymi parametrami,

co algorytm w pojeździe badanym.

h) Badania mają charakter statystyczny, przeprowadzono je z wykorzystaniem symulatora oraz

w modelu human-in-the-loop (tutaj: driver-in-the-loop).

i) Zadaniem IDSA jest realizowanie sterowania samodzielnie, czyli kierowca nie ma możliwości

wpływania na samochód inaczej niż przez algorytm (drive-by-wire [88]).

j) Zadaniem IDSA jest sterowanie w czasie rzeczywistym, czyli przekształcanie poleceń kierowcy

na natychmiastową reakcję samochodu.

k) Polecenia kierowcy nie są realizowane bezpośrednio, tzn. skręt kierownicy nie powoduje skrętu

kół. Zamiast tego elementem pośrednim jest trójwymiarowa trajektoria pojazdu. Skręt

kierownicy zmienia trajektorię, a zmiana trajektorii oznacza zmianę położenia kół.

l) Trajektoria ruchu obliczana jest z uwzględnieniem wiedzy o otoczeniu, tj. w taki sposób, żeby

unikać wypadków i maksymalizować komfort.

m) Sterownik realizujący IDSA jest jedynym sterownikiem w pojeździe. Jego sygnały sterujące

interpretowane są przez sterownik silnika, hamulców czy zawieszenia, jednak żaden inny

algorytm ani sterownik nie może ich modyfikować, np. przerywać działania układu

hamulcowego.

n) IDSA nie musi wypełniać tych samych funkcji, co istniejące systemy bezpieczeństwa.

Przykładowo, jeśli uzna, że zablokowanie kół jest potrzebne, to na to pozwoli, mimo że przy

klasycznym podejściu zadziałałby układ ABS.

o) IDSA składa się z procesów asynchronicznych. Każdy proces ma swoją definicję i problem,

który rozwiązuje. Celem pracy i sensem IDSA jest prawidłowe dobranie i połączenie procesów,

a nie ich implementacja. Na potrzeby badań zaproponowano implementację każdego

z procesów (rozwiązanie każdego z problemów) jednak nic nie stoi na przeszkodzie, żeby każdy

z procesów wymienić na inny, rozwiązujący ten sam problem przy tych samych danych

wejściowych i wyjściowych, ale w inny sposób. Na przykład, do interpolacji funkcji użyto

metody wielomianowej, ale równie dobrze można zamienić ją, np. na trygonometryczną.

p) Procedura strojenia IDSA to zarówno dobieranie parametrów każdego procesu, jak i wybór

metody rozwiązania stojącego za nim podprocesu.

q) IDSA nie działa w sposób sekwencyjny, tzn. pojawienie się danych na jego wejściu

nie wyzwala obliczeń i pojawienia się wyniku. Wyniki generowane są w chwilach wybranych

przez algorytm.

r) IDSA buduje i eksportuje stan pojazdu oraz mapę otoczenia, na którą składa się lokalizacja,

trajektoria i wynik klasyfikacji obiektów zewnętrznych.

s) Ocena IDSA oparta jest na pojęciach „komfort jazdy” i „bezpieczeństwo jazdy”.

Bezpieczeństwo jazdy rozumiane jest jako prawdopodobieństwo wypadku, a także

przyczepność, uślizg kół i niezamierzone przez kierowcę zmiany w zachowaniu pojazdu.

Page 48: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

48

Komfort jazdy jest definiowany jako mierzalne parametry drgań, falowania i pochyleń

nadwozia, a także konieczność gwałtownych ruchów kierownicą.

1.5.4. Uzyskane rezultaty

Po przeprowadzeniu badań udało się uzasadnić tezę, czyli zaproponować algorytm zintegrowany

(IDSA), który może być realizowany w pojedynczym sterowniku sterującym samochodem.

Już na podstawie pierwszych opublikowanych wyników badań [37] można powiedzieć,

że z wykorzystaniem proponowanego algorytmu:

a) Prawdopodobieństwo wypadku podczas przewidzianych w badaniach eksperymentów spadło z 0,15

do 0,04

b) Maksymalne przechylenie nadwozia zmniejszyło się z 12,3[°] do 0,5[°]

c) Maksymalny uślizg koła ograniczono z 6,6[𝑚

𝑠] do 2,1[

𝑚

𝑠]

d) Maksymalna zmiana prędkości spowodowana koniecznością ustabilizowania samochodu spadła

z 68[𝑘𝑚

ℎ] do 42 [

𝑘𝑚

ℎ]

Zasadniczą przyczyną istotnej poprawy liczbowych wartości tych wskaźników oceny jazdy samochodu

jest proaktywne działanie IDSA. Polega ono na uprzedzającym unikaniu niepożądanych sytuacji zamiast

reagowania na ich wystąpienie. W ten sposób udało się osiągnąć wyższe wyniki pod względem

zaproponowanych wskaźników zagregowanych, tzn. w ujęciu systemowym, czyli pod względem

holistycznego zachowania samochodu, mimo że w ujęciu klasycznym ten sam cel jest osiągany przez

wiele algorytmów szczegółowych - o różnych celach szczegółowych, a w ujęciu badanym – jedynie

przez IDSA.

1.5.5. Wkład pracy w rozwój informatyki

Mnogość używanych w samochodach algorytmów i konieczność ciągłego ich rozwoju, stawiają przed

ich konstruktorami wymaganie korzystania z informatyki, jako dziedziny nauki – zarówno w zakresie

narzędzi jak i metod przetwarzania informacji. Niniejsza praca prezentuje nową metodę

ich przetwarzania, skoncentrowaną na integracji istniejących rozwiązań informatycznych.

Bardzo dobrze wpisuje się ona w trend naukowy, dotyczący zarówno motoryzacji, jak i informatyki –

myślenie systemowe. Jak pokazano w podrozdziale 1.3 oraz punkcie 1.5.1, w samochodzie należy

podejmować wiele decyzji, które są ze sobą wzajemnie powiązane. Przykładem powiązania fizycznego

jest używanie tych samych urządzeń wykonawczych i sensorów, ale wynika z niego też powiązanie

logiczne – gdy jeden system wsparcia kierowcy (np. LKA) zmienia prędkość kół, a inny system

(np. ESP) musi uwzględnić tę zmianę podczas swojego procesu decyzyjnego. Właśnie w takich

warunkach można zastosować myślenie systemowe. W informatyce jest ono dość powszechne, o czym

świadczą takie prace, jak [89, 90, 91]. W motoryzacji ten kierunek rozpoczął się od sterowników

wielodomenowych już kilka lat temu [8, 92], ale wciąż jest obecny zarówno w nauce [93],

jak i wdrożeniach rynkowych [94]. Poza motoryzacją, myślenie systemowe stosuje się obecnie w wielu

dziedzinach nauki [95, 96, 97]. Warto jeszcze wspomnieć, że myślenie systemowe z wykorzystaniem

zdobyczy informatyki jest już od dawna i z powodzeniem stosowane np. w lotnictwie [98].

Page 49: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

49

W pracach dotyczących zastosowań informatyki w motoryzacji, myślenie systemowe dotyczy

najczęściej integracji niektórych systemów wsparcia kierowcy w jeden [99], ale rzadziej integracji

wszystkich systemów wsparcia. Problem integracji wszystkich systemów wsparcia został

już zasygnalizowany w [100], jednak nie zaproponowano jeszcze rozwiązania, które byłoby gotowe

do wdrożenia. Zamiast tego, dominującym kierunkiem integracji systemów wsparcia kierowcy

jest obecnie stworzenie platformy AUTOSAR [3], która przenosi zależności fizyczne go zależności

programowych.

Niniejsza rozprawa wypełnia dokładnie tę lukę – zastosowania informatyki do stworzenia

zintegrowanego algorytmu zarządzania dynamiką pojazdu, wypełniającego zadania wszystkich obecnie

stosowanych systemów wsparcia kierowcy oraz zapewnienia bezpieczeństwa jazdy i komfortu jazdy.

Oprócz tego, wartym uwzględnienia punktem, jest efekt uboczny prac nad IDSA – nowatorska metoda

wykorzystania sieci neuronowych do lokalizowania obiektów w obrazach i mapach zajętości. Jako,

że nie była ona celem tej pracy, jej zaproponowana postać jest bardzo prosta, ale też bardzo obiecująca.

Z pewnością zasługuje ona na rozwój podczas dalszych prac.

1.5.6. Przegląd zawartości pracy

Dalsza część pracy składa się z 4 głównych rozdziałów. Całość jest uzupełniona wykazem pozycji

literaturowych na końcu oraz streszczeniem w dwóch językach a także spisami ilustracji i tabel

na początku dokumentu.

W rozdziale 2 opisano algorytm zintegrowany nazwany IDSA, podając jego budowę i zasadę działania,

a następnie każdy ze składających się na niego procesów. W rozdziale 3 przedstawiono techniczną

część badań – wybór środowiska symulacyjnego oraz jego implementację, a także zarys implementacji

algorytmu. Ta część zawiera także opis procesu strojenia środowiska testowego oraz pojazdu

referencyjnego. Rozdział 4 zawiera opis badań algorytmu. Tutaj znajduje się plan badań oraz opis

zaproponowanych badanych parametrów i wskaźników oceny, opis przeprowadzonych eksperymentów

oraz opis procesu doboru parametrów IDSA. W tej części zaprezentowano także uzyskane wyniki oraz

ich analizę, a także płynące z niej wnioski. Ostatnią część należy traktować jako podsumowanie,

przedstawiające najważniejsze wyniki, kierunki dalszych prac i uwagi wdrożeniowe.

Page 50: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

50

2. OPIS ALGORYTMU IDSA I ZAŁOŻENIA PROJEKTOWE

W celu weryfikacji postawionej tezy, zaproponowano zintegrowany algorytm heurystyczny nazwany

IDSA, realizujący zadanie sterowania pojazdem, będący rozszerzeniem koncepcji sterowników

wielodomenowych [8], a jednocześnie nie wyczerpujący znamion jazdy autonomicznej [68]. Wykonuje

on zadanie sterowania pojazdem samodzielnie, ale jednocześnie ukrywa to przed użytkownikiem

poprzez precyzyjne wykonywanie jego poleceń w taki sposób, żeby nie zdawał on sobie sprawy z ciągłej

interpretacji jego poleceń przez jakikolwiek algorytm. Ten rozdział ma za zadanie przedstawić zasadę

działania, konstrukcję, założenia i elementy składowe IDSA.

Od rozpoczęcia badań pewne było, że wytworzony w ich ramach algorytm musi być samodzielny w taki

sposób, żeby nie współpracował z innymi sterownikami i znanymi rozwiązaniami. Oznacza to, że

generowane przez niego sygnały sterujące nie są intepretowane przez inne systemy decyzyjne, a tylko

bezpośrednio przez urządzenia wykonawcze. Przykładowo, operacja hamowania wykonywana jest

bezpośrednio przez pompy hamulcowe i/lub regulatory przepływu płynu hamulcowego, a nie przez

układ ABS/ESP/BAS/EBD, który decydowałby, w jaki sposób zrealizować to hamowanie. Prowadzi to

do dwóch oczywistych wniosków. Po pierwsze, algorytm pracuje na jedynym sterowniku obecnym

w pojeździe, a wszystkie inne systemy bezpieczeństwa są w nim nieobecne. Po drugie, funkcjonalność

wszystkich nieobecnych systemów bezpieczeństwa i wsparcia musi być realizowana przez IDSA. Nie

chodzi tu jednak o to, żeby przenieść ich funkcje z oddzielnych sterowników fizycznych na kolejną

warstwę programową, np. wysłać sygnał hamowania do oddzielnej aplikacji, która wykona zadanie

systemu ABS unikając blokowania kół. Zamiast tego IDSA musi wygenerować taki sygnał, który od

razu uwzględni zapobiegnie temu zjawisku, jeśli uzna to za konieczne.

Z powyższego akapitu wynika jeszcze jedno założenie – wszystkie konflikty sterowania pomiędzy

sterownikami rozwiązano rezygnując z zastosowania wielu sterowników na rzecz jednego, jednak

w systemie wciąż jest obecny wpływający na jazdę kierowca. W wielu sprzedawanych aktualnie

samochodach kierowca jest ostatecznym decydentem, przynajmniej przez większość czasu. Mówiąc

dokładniej, układy kierownicze wciąż realizowane są w sposób mechaniczny (z drobnymi wyjątkami,

jak np. opisany w pracy [101]), przyspieszanie już od dawna realizowane jest elektronicznie, a układ

hamulcowy może być sterowany zarówno przez kierowcę, jak i przez komputer. W niniejszej pracy,

zdecydowano się nie tylko zastosować sterowanie typu drive-by-wire, ale także zrezygnowano

z bezpośredniego przekazywania sygnałów wejściowych od kierowcy do urządzeń wykonawczych,

nawet w sposób programowy lub przez bezpośrednie przekształcenie. Zamiast tego, sygnały wejściowe

są przetwarzane asynchronicznie w niezależnych procesach, jak przedstawiono w punkcie 2.5.

Oprócz tego, podczas prac nad algorytmem odrzucono tematykę jazdy autonomicznej. Jak pokazują

dostępne dziś na rynku rozwiązania, ta technologia oraz dziedzina nauki wciąż są niedoskonałe, a poza

tym wciąż istnieje grupa kierowców, którzy sami chcą kierować swoimi autami. Nie można jednak

uznać, że samochody autonomiczne nie istnieją. Niektóre zastosowane rozwiązania, np. użycie lidarów,

elementy drive-by-wire lub koncepcja mapowania otoczenia, są wspólne dla prezentowanego algorytmu

i pojazdów autonomicznych. Poza tym, prezentowane rozwiązanie przyjmuje parametry wejściowe

(prędkość i kierunek jazdy) od kierowcy, jednak nic nie stoi na przeszkodzie, żeby zastąpić go

oddzielnym algorytmem realizującym zadanie jazdy autonomicznej.

Page 51: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

51

Kolejnym założeniem, leżącym u podstaw tych badań, jest użycie rozwiązań informatycznych. Wynikło

to z założenia, bliższego prawdy kilka lat temu, gdy rozpoczynano prace, niż w 2020 roku, że firmom

z branży motoryzacyjnej brakuje wiedzy i specjalistów z branży informatycznej. Wydawało się wtedy,

że firmy motoryzacyjne próbują „na siłę wyważać otwarte drzwi” i rozwiązują problemy, które już

dawno zostały rozwiązane. Było to widać na co dzień, podczas obserwacji większości samochodów, że

producenci, montują np. systemy info-rozrywki odbiegające znacząco jakością od współczesnych

telefonów komórkowych i tabletów lub implementują skomplikowane menu komputerów

pokładowych, ignorując wszystkie lata badań nad interakcjami pomiędzy człowiekiem a maszyną.

Mimo że dokumentacja najważniejszych systemów wsparcia obecnych w samochodach nie jest

dostępna publicznie, nie ma podstaw przypuszczać, że w ich wypadku jest to wykonywane lepiej. Jako

że niniejszy projekt miał być od początku projektem informatycznym, skupiono się na jego

informatycznych aspektach, pomijając wiele bardzo istotnych zagadnień związanych z mechaniką

i budową maszyn. Poza tym, skupiono się na samym zintegrowanym algorytmie, pomijając wszystkie

jego informatyczne zależności, jak szczegóły sprzętowe sterownika czy używanej sieci informatycznej.

Zamiast tego założono, że całą pracę wykonuje jeden sterownik, będący korzeniem sieci typu fat tree

[102], a wszystkie urządzenia wykonawcze i sensory stanowią jej liście. Nie rozważano też kwestii

odporności na awarie, założywszy, że w takiej sytuacji rolę sterowania pojazdem przejmie prosty,

zapasowy sterownik, nie będący częścią niniejszej pracy.

Jednym z założeń było bazowanie na gotowych rozwiązaniach. Zakładano, że w informatyce istnieją

już wszystkie elementy wymagane, żeby w odpowiedni sposób realizować sterowanie pojazdem –

wszystkie metody szeregowania zadań, przesyłania i zapisywania danych, analizy danych wejściowych,

generowania i przesyłania danych wyjściowych i oczywiście wszystkie konieczne metody

przetwarzania informacji. Niestety po podzieleniu zadań, okazało się, że nie istnieje żadna znana metoda

odpowiedniej analizy danych wejściowych, dotyczących otoczenia pojazdu, spełniająca założone

wymagania. W takim wypadku jeden komponent (proces przetwarzania danych o otoczeniu) musiał

zostać opracowany od podstaw na potrzeby tej pracy. Należy podkreślić, że wszystkie procesy pokazane

w tej pracy są przykładowe, a celem pracy nie jest propozycja ich implementacji, a sposób ich

połączenia. Oznacza to, że rozdział 2 zawiera opis IDSA, a podrozdział 4.3 – opis jego strojenia.

2.1. Geometryczna mapa otoczenia pojazdu

Co oczywiste, algorytm spełniający powyższe założenia musi „znać” otoczenie pojazdu. Zgodnie

z decyzją Unii Europejskiej, każdy nowy samochód musi być wyposażony w system EBA, który

wymaga radaru lub kamery. Współcześnie oczywiste jest, że samochód autonomiczny „obserwuje”

swoje otoczenie przy pomocy wielu kamer, radarów, lidarów i czujników. Model otoczenia pojazdu

wytworzony na podstawie danych uzyskanych z lidaru Velodyne Alpha Prime [103] można przedstawić

jak na poniższym rysunku.

Page 52: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

52

Rysunek 15 Model otoczenia wytworzony z użyciem lidaru Velodyne Alpha Prime na podstawie [103]

Taki lidar oferuje macierz dwuwymiarową, zawierającą odległości najbliższych punktów

od obserwatora. Użyty za przykład lidar oferuje rozdzielność kątową 0,2[°] x 0,1[°] i zakres pracy

360[°] x 40[°] oraz zasięg 3[𝑐𝑚] − 245[𝑚], co daje macierz o wymiarach 1800 x 400 x 200. Dane

w tej formie niewygodnie się przetwarza, więc lepiej zamienić je na tzw. mapę zajętości [104], czyli

macierz trójwymiarową, przedstawiającą otoczenie w kartezjańskim układzie współrzędnych, użytą

choćby do wygenerowania rysunku 15. Należy wspomnieć, że nowoczesne lidary zwracają także wektor

normalny znalezionych powierzchni, jednak ta informacja została w badaniach pominięta, ze względu

na jej niewielką przydatność oraz znaczny wzrost obciążenia symulatora, wynikający z jej pobierania.

Obraz z kamery jest łatwiejszy do wyobrażenia – może to być mniej więcej to, co widzi

kierowca, kamera może być skierowana do tyłu, w bok, a także może mieć różne kąty widzenia,

najczęściej do 180[°]. W przypadku odczytu kolejnych klatek z kamery, można wykorzystać algorytm

SLAM [6] do budowania mapy zajętości, prawdziwej dla każdej chwili kolejnego pomiaru i podobnej

do tej otrzymanej na podstawie danych z lidaru. Znane są także prace, które łączą dane z lidaru i kamery

w celu zwiększenia precyzji i redukcji błędu pomiarowego [105]. Takie podejście ma jednak kilka wad.

Przy założeniu, że w pojeździe zamontowanych jest wiele kamer i lidarów o różnych parametrach

(częstotliwość, rozdzielczość i badany wycinek otoczenia), zadanie połączenia wszystkich danych staje

Page 53: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

53

się trudne – tym bardziej w czasie rzeczywistym. Po drugie, otrzymany w ten sposób model może mieć

ogromny rozmiar (np. zakładając rozdzielczość lidaru dookólnego 5[𝑐𝑚], zasięg 245[𝑚] oraz 40[°]

w pionie, otrzymujemy około 323 miliardy punktów, wymagających dalszej analizy, czyli rozpoznania

pojazdów, ich zachowania, a także elementów infrastruktury, takich jak znaki drogowe, czy pasy jezdni.

W obliczu tego problemu postanowiono w niniejszej pracy pominąć wytwarzanie mapy zajętości

i skupić się na danych przetworzonych. Zamiast niej użyto lokalizacji obiektów w otoczeniu względem

podmiotu sterowania, ich kształtu oraz rozpoznanych klas i parametrów. Przykładowo, na rysunku 15

widać 8 pojazdów, 8 pasów ruchu w dwóch kierunkach, jeden znak drogowy, jeden wiadukt i otoczenie,

w którym może znajdować się kilkanaście obiektów (drzew, krzewów lub budynków). Zdecydowano

się zapisać pozycję każdego z nich, wynik jego klasyfikacji (np. „pojazd”, „pas ruchu”) i dodatkowe

parametry (np. znaczenie znaku drogowego lub kierunek pasa ruchu). W ten sposób uzyskany model

danych jest znacząco mniejszy oraz zawiera tylko istotne informacje. Podobny sposób redukcji danych

używanych do przechowywania modelu drogi i ruchu ulicznego przedstawiono w pracy [25].

Taki model danych ma kilka podstawowych zalet. Jak już wspomniano jest mniejszy od mapy zajętości

i nie wymaga dalszego przetwarzania. Poza tym nie traci podstawowej jej zalety, czyli można na jego

podstawie wygenerować taką mapę lub trójwymiarową wizualizację, jak np. na rysunku 16.

Rysunek 16 Model otoczenia utworzony na podstawie modelu geometrycznego

Każdy obiekt widoczny na wizualizacji, posiada następujące parametry:

a) Pozycja uogólniona względem obserwatora

b) Rozpoznana klasa obiektu

c) Rozpoznane parametry obiektu

d) Kształt (zależnie od klasy)

Page 54: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

54

Pozycja uogólniona, to pozycja (𝑥, 𝑦, 𝑧) i obrót (𝛼, 𝛽, 𝛾) w trzech wymiarach, względem wybranego

punktu należącego do podmiotu sterowania – obserwatora. Na potrzeby badań wybrano jego środek

geometryczny. Warto zauważyć, że ten wybór nie ma nic wspólnego z umieszczeniem sensorów.

Klasa obiektu to wynik klasyfikacji na podstawie hierarchicznego metamodelu. Hierarchia

odzwierciedla świat rzeczywisty, czyli np. węzeł „samochód osobowy” jest potomkiem węzła

„samochód”, będącego potomkiem węzła „obiekt poruszający się po drodze” itd. Parametry obiektu

zależą od jego klasy. Wszystkie obiekty posiadają kształt, rozumiany jako zbiór krawędzi względem

punktu należącego do tego obiektu, np. jego środka geometrycznego. Jeśli klasa danego obiektu jest

wystarczająco precyzyjnie określona, to kształt obiektów tej klasy jest stały. Przykładowo obiekty klasy

„Ford Focus I generacji w wersji sedan” posiadają konkretny kształt, ale obiekty klasy „samochód

osobowy” już go nie posiadają, więc należy go rozpoznać. Inne parametry, to informacja o włączonym

oświetleniu zewnętrznym samochodu (np. kierunkowskazy lub sygnały pojazdu uprzywilejowanego),

znaczenie rozpoznanego znaku drogowego, kierunek pasa ruchu, itp.. Ze względu na zmienną liczbę

parametrów trudno porównać wymagania pamięciowe dla mapy otoczenia w takiej postaci oraz

w postaci macierzy punktów. Można jednak śmiało powiedzieć, że rozmiar zaproponowanego modelu

jest w większości przypadków znacząco mniejszy. Taki model, zdefiniowany dla chwili 𝑡𝑖, oznacza się

w tej pracy jako 𝑚(𝑡𝑖).

2.2. Dyskretno-ciągły magazyn danych

Najczęściej rozumiemy algorytmy jako ciąg kroków wykonywanych sekwencyjnie i iteracyjnie. Wiele

powszechnych algorytmów, działających w czasie rzeczywistym, wykonuje się według schematu –

przyjmuje nowe dane, przetwarza je, produkuje wynik i rozpoczyna od początku. Dobrym przykładem

jest tradycyjne rozpoznawanie obrazów przy użyciu sieci neuronowych [17], gdzie każda klatka obrazu

analizowana jest niezależnie. Istnieją jednak algorytmy, również uruchamiane dla każdych nowych

danych wejściowych, jednak przyjmujące oprócz tego również wynik poprzedniego wykonania (lub

kilku poprzednich wykonań). Taką grupę algorytmów nazywamy algorytmami z pamięcią. Przykładem

takiego algorytmu jest SLAM [6]. IDSA wykorzystuje pamięć, jednak nie jest ani iteracyjny, ani

sekwencyjny.

Wyzwaniem w przypadku IDSA stało się zintegrowanie danych z różnych czujników: heterogenicznych

(o różnym modelu danych wyjściowych), asynchronicznych (o różnej częstotliwości pracy, a dokładniej

o różnych chwilach pojawiania się nowych danych) i badających różne wycinki otoczenia. Przykładowo

dane o przyspieszeniach działających na samochód lub aktualną długość zawieszenia konkretnego koła

można odczytywać jako proste dane (odpowiednio: wektor 3-elementowy lub skalar), ale

z częstotliwością wynoszącą setki lub tysiące herców. Kamery wideo mogą działać z różnymi

rozdzielczościami i przestrzeniami kolorów, zbierać dane z różnych wycinków otoczenia pojazdu oraz

działać z różnymi częstotliwościami, przeważnie w zakresie 25 − 100[𝐻𝑧]. Lidary wytwarzają „klatki

obrazu” z częstotliwością około 5 − 25[𝐻𝑧] lub jeden nieprzerwany strumień danych, których rozmiar

zależy od ilości używanych jednocześnie wiązek laserowych.

Żeby połączyć te wszystkie dane, zdecydowano się na wspólny magazyn, który zawsze przyjmuje dane

w formie dyskretnej ze znacznikiem czasowym pomiaru oraz zwraca dane w formie dyskretnej

ze znacznikiem czasowym żądania, przy założeniu, że pomiar i żądanie dostępu do danych nie mają

Page 55: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

55

miejsca w tej samej chwili. Ten sam magazyn danych został użyty do wszystkich danych

przetwarzanych w ramach IDSA.

Używając formalnego zapisu, mówimy, że dana jest funkcja dyskretna 𝑎 określona w chwilach 𝑡 ∈ 𝑇,

zapisywana jako 𝑎(𝑡), gdzie 𝑇 to zbiór wszystkich chwil dokonywania pomiarów. Przyjmuje się, że

odstępy pomiędzy poszczególnymi pomiarami 𝑡𝑖 − 𝑡𝑖−1 nie są równe. Problemem wymagającym

rozwiązania jest wyznaczenie takich wartości 𝑎(𝑡′), gdzie 𝑡′ ∉ 𝑇.

W tym celu zaproponowano przechowywanie w pamięci wszystkich danych w postaci funkcji ciągłych,

określonych na zbiorze liczb rzeczywistych. Zadanie to wypełnia dyskretno-ciągły magazyn danych,

będący dosłownie zbiorem tablic, równań i procesów. Tablice zawierają dane wejściowe wraz z chwilą

ich powstania., czyli funkcje dyskretne. Równania to te same dane dyskretne zamienione do postaci

funkcji czasu rzeczywistego. Procesy zajmują się zamianą tablic na równania. Przebadano kilka metod

wyznaczania funkcji ciągłych, takich jak B-spline [106] oraz interpolacja trygonometryczna [107]

i ostatecznie okazało się, że wystarczającą wydajność i dokładność oferuje prosta interpolacja

wielomianowa. W procesie strojenia algorytmu (podrozdział 4.3) pokazane jest, w jaki sposób wybrano

parametry interpolacji dla każdej klasy danych wejściowych. W ten sposób otrzymano współczynniki

wielomianów reprezentujących dane w postaci funkcji określonych w czasie rzeczywistym, które są

używane do pobierania danych z magazynu. Mówiąc inaczej, dane są odczytywane w chwilach

dyskretnych, zamieniane do postaci funkcji ciągłej i interpolowane lub ekstrapolowane poprzez

wyliczenie wartości tej funkcji dla zadanej chwili, jak pokazano na przykładzie umieszczonym

na rysunku 17.

Zaproponowany model danych obsługuje wszystkie zmienne obecne w IDSA oraz mapę otoczenia. Jak

było opisane w poprzednim podrozdziale, mapa otoczenia składa się z lokalizacji, klasyfikacji

i parametryzacji obiektów w otoczeniu pojazdu (na potrzeby niniejszej pracy klasyfikacja

i parametryzacja nie są uwzględniane w metodzie opisanej w tym podrozdziale, a docelowe rozwiązanie

przedstawione jest w podrozdziale 5.3). Z tego wynika niemożność określenia liczby potrzebnych

procesów wyznaczających funkcje ciągłe. Zaproponowano więc ustalanie kolejności zadań estymacji

metodą FIFO (ang. first in – first out). Zastosowano wypracowaną podczas strojenia liczbę procesów

wyznaczania funkcji, iterujących po kolejce tablic oczekujących na estymację i wykonujących na nich

swoje zadanie. Tablica jest dodawana na koniec kolejki w chwili otrzymania nowych danych, jeśli

jeszcze się na niej nie znajduje, i usuwana po przetworzeniu znajdujących się w niej danych. Proces

𝒕 𝒂(𝒕)

1 2

2 8

3 18

4 32

Rysunek 17 Uproszczony schemat działania magazynu danych

𝑎(𝑡) = 2𝑡2

Funkcja ciągła, zapisana jako

tablica współczynników Dyskretne dane

wejściowe

𝑡′ = 3,5

𝑎(𝑡′) = 2 ⋅ 3,52 = 24,5

Pobrana wartość dla

𝑡′ ∉ 𝑇

Wyznaczenie

funkcji ciągłej

(2,0,0)

Żądanie danych

Page 56: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

56

wyznaczenia funkcji ciągłej może zostać wykonany wielokrotnie, na podstawie nowych danych, zanim

zmienna zostanie odczytana przez inny proces lub odwrotnie – pomiędzy kolejnymi wywołaniami

procesu wyznaczania funkcji dotyczących tego samego parametru do tablicy zawierającej jego

dyskretne wartości może zostać dodanych wiele elementów. Potencjalne problemy z tym związane

rozwiązano odpowiednią kalibracją algorytmu.

Należy w tym miejscu wrócić do postaci mapy otoczenia. Zawiera ona między innymi pozycję

uogólnioną obiektów. Dzięki zastosowaniu dyskretno-ciągłego modelu danych, ta pozycja zmienia się

w trajektorię względem pojazdu sterowanego, czyli w funkcję zmiany pozycji obiektu w czasie. Jako że

wyliczone sterowanie ma zostać wykonane zawsze z opóźnieniem rzędu kilkunastu-kilkudziesięciu

milisekund, każdy sygnał sterujący musi być prawidłowy dla niedalekiej przyszłości. Oznacza to, że

algorytm przez cały czas bazuje na wartościach ekstrapolowanych zamiast na ostatnim pomiarze, który

zawsze jest w jakimś stopniu nieaktualny.

Działanie dyskretno-ciągłego modelu danych jest pokazane na przykładzie na rysunku 18.

Dyskretno-ciągły magazyn danych

Proces wyznaczania

funkcji

Proces zarządzania zadaniami

wyznaczania funkcji

Tymczasowy magazyn danych

dyskretnych

Magazyn funkcji czasu

rzeczywistego

Producent

Konsument

a(ti) (a'i,ti)

a'(tl)

{(a'i,ti), (a'j,tj), (a'k,tk)}

dodanie do kolejki

wyzwalacz

a'(t)

Rysunek 18 Przykład działania dyskretno-ciągłego magazynu danych

Rysunek przedstawia proces – producenta, który na podstawie danej 𝑎 zmierzonej lub podanej w chwili

𝑡(𝑖) produkuje nową daną 𝑎′ . 𝑎′ , przesyłaną do dyskretno-ciągłego modelu danych, jako para wraz

ze znacznikiem czasowym, w którym została wytworzona. Warto zauważyć, że przetwarzanie 𝑎 → 𝑎′

najprawdopodobniej trwało czas 𝜖1 , mimo to wysyłany znacznik czasowy, odpowiada chwili

otrzymania danych do przetworzenia przez producenta 𝑡𝑖, a nie chwili wysłania przetworzonych danych

𝑡𝑖 + ϵ1. Para (𝑎𝑖′, 𝑡𝑖) jest zapisana w tymczasowym magazynie danych dyskretnych. Jeśli ten magazyn

jest pusty, następuje dodanie zmiennej 𝑎′ do kolejki zmiennych oczekujących na przetworzenie.

W momencie gdy jeden z procesów wyznaczania funkcji jest wolny, proces zarządzania zadaniami

wyznaczania funkcji zleca mu przetworzenie zgromadzonych danych, dotyczących zmiennej 𝑎′. Jak

widać na przykładzie, do tego czasu w tymczasowym magazynie danych dyskretnych znalazły się dwie

inne pary: (𝑎𝑗′, 𝑡𝑗) oraz (𝑎𝑘

′ , 𝑡𝑘). Nie jest regułą przesyłanie trzech par jednocześnie – może być ich

więcej lub mniej. W chwili rozpoczęcia przetwarzania magazyn tymczasowy dla omawianej zmiennej

przesuwany jest na koniec kolejki. W wyniku przetwarzania powstaje funkcja 𝑎′(𝑡) w postaci ciągłej,

tj. w postaci tablicy współczynników wielomianu, który ją reprezentuje, zapisana w magazynie funkcji

czasu rzeczywistego. W celu odczytu wartości funkcji 𝑎′(𝑡) w chwili 𝑡𝑙 przez proces – konsumenta,

wylicza się wartość funkcji 𝑎′(𝑡𝑙), co jest operacją szybką. Warto zauważyć, że 𝑡𝑙 może być różne od

𝑡𝑖, 𝑡𝑗 oraz 𝑡𝑘, w szczególności mniejsze od 𝑡𝑖 lub większe od 𝑡𝑘.

Page 57: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

57

Pseudokod dyskretno-ciągłego modelu danych przedstawiony jest na listingu 1.

procedura zapisz(identyfikator, informacja, identyfikator_czasowy):

tablica_danych_dyskretnych = pobierz_tablice_danych_dyskretnych(identyfikator)

kolejka_zadan = pobierz_kolejke_zadan()

dane_do_zapisu = utworz_pare(informacja, identyfikator_czasowy)

zadanie_w_kolejce = kolejka_zadan.czy_zawiera(identyfikator)

tablica_danych_dyskretnych.dodaj(dane_do_zapisu)

jeżeli(!zadanie_w_kolejce):

kolejka_zadan.dodaj(identyfikator)

procedura wyznacz_funkcje_ciagla(identyfikator):

tablica_danych_dyskretnych = pobierz_tablice_danych_dyskretnych(identyfikator)

maksymalna_ilosc_danych_do_przetworzenia =

pobierz_ilosc_danych_do_przetworzenia(identyfikator) //wartość zależna od strojenia

pary_danych_dyskrtnych_do_wyznaczeczenia_funkcji =

tablica_danych_dyskretnych.pobierz_n_ostatnich(

maksymalna_ilosc_danych_do_przetworzenia)

wspolczynniki_wielomianu = wyznacz_wspolczynniki_wielomianu(

pary_danych_dyskrtnych_do_wyznaczeczenia_funkcji) //funkcja zależna od strojenia

magazyn_ciagly = pobierz_magazyn_funkcji_ciaglych(identyfikator)

magazyn_ciagly.zapisz_zastap(wspolczynniki_wielomianu)

usun_zbedne_dane_z_tablicy(tablica_danych_dyskretnych) //funkcja zależna od strojenia

procedura magazyn():

kolejka_zadan = pobierz_kolejke_zadan()

jeżeli(!kolejka_zadan.czy_pusta()):

identyfikator_zadania = kolejka_zadan.pobierz_pierwszy_element()

wyznacz_funkcje_ciagla(identyfikator_zadania)

tablica_danych_dyskretnych = pobierz_tablice_danych_dyskretnych(identyfikator)

if(tablica_danych_dyskretnych.pusty()):

kolejka_zadan.usun(identyfikator_zadania)

w_przeciwnym_przypadku:

kolejka_zadan.przesun_na_koniec(identyfikator_zadania)

magazyn()

funkcja odczytaj(identyfikator, identyfikator_czasowy):

magazyn_ciagly = pobierz_magazyn_funkcji_ciaglych(identyfikator)

return oblicz_wartosc_funkcji(magazyn_ciagly, identyfikator)

Listing 1 Pseudokod dyskretno-ciągłego magazynu danych

Page 58: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

58

Podczas analizy tego listingu warto zwrócić uwagę na kilka punktów.

a) Funkcja „usun_zbedne_dane_z_tablicy” może usuwać dane z tablicy na podstawie ich

wieku (starsze niż zdefiniowany parametr) lub ilości.

b) Funkcja „tablica_danych_dyskretnych.pobierz_n_ostatnich(...)” w przypadku kiedy

tablica zawiera mniej danych niż wymagane, może po prostu pobrać ich mniej lub zastąpić je

danymi odczytanymi z magazynu ciągłego (w losowych lub zdefiniowanych momentach).

c) Funkcja „magazyn” wywołuje na końcu samą siebie – jest to najprostszy, jednowątkowy

zarządca zadań. Można uruchomić ją kilkukrotnie równolegle, w celu użycia większej ilości

wątków lub stworzyć zamiast tego dedykowaną funkcję zarządzającą.

d) Funkcja „oblicz_wartosc_funkcji” tworzy wielomian na podstawie współczynników

i podstawia do niego zmienną „identyfikator_czasowy” w celu obliczenia jego wartości.

e) Najważniejsza wydaje się funkcja „wyznacz_wspolczynniki_wielomianu”, która zostanie

omówiona w podrozdziale 4.3.

2.3. Podział na procesy

Po omówieniu najbardziej skomplikowanych i jednocześnie nowatorskich elementów IDSA, można

przejść do jego ogólnej struktury. Schemat używanego systemu sterowania pokazany jest na rysunku

19, a schemat logiczny algorytmu na rysunku 20.

Kierowca Sensory SterownikUrządzenia

wykonawczeNadwozie

r r, a, v u a v

d

Rysunek 19 Wejściowo-wyjściowy schemat systemu sterowania

Używany system sterowania wygląda dość standardowo – jest tu obecny kierowca/operator, który

zadaje wartość referencyjną 𝑟 , sterownik, który generuje sygnał sterujący 𝑢 , stan urządzeń

wykonawczych 𝑎 oraz obserwowalne zachowanie pojazdu 𝑣. Zachowanie pojazdu - przez kierowcę

obserwowane jest naturalnie, jednak przez sterownik – w postaci względnych zmian otoczenia, np. ruch

otoczenia do tyłu, to w rzeczywistości ruch pojazdu do przodu. Tradycyjnie wyjście z obiektu

podejmowania decyzji opisuje się literą 𝑦, jednak w tym przypadku otoczenie tego obiektu (w sensie

fizycznym – drogę wokół samochodu) traktuje się jako część obiektu podejmowania decyzji, ponieważ

decyzje odnoszące się do samochodu wpływają na to, co się dzieje w jego otoczeniu. Jeśli realizowana

jest decyzja o zwiększeniu prędkości, to ta zmiana obserwowana jest jako przyspieszenie otoczenia

względem pojazdu, a nie pojazdu względem otoczenia. Dlatego uznano, że zmiany otoczenia należą

do stanu systemu zawierającego pojazd (obiekt podejmowania decyzji) i jego otoczenie. Na pełny stan

całego systemu składają się więc zmienne 𝑎 oraz 𝑣. Na rysunku widać też zakłócenia niemierzalne 𝑑,

Page 59: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

59

które są obserwowane przez kierowcę oraz sprzężenia zwrotne 𝑎 oraz 𝑣 mierzone przez sterownik przy

pomocy sensorów. Obiekt reprezentujący sensory został wyszczególniony, żeby podkreślić, że

wszystkie dane wejściowe są przekazywane do sterownika w ten sam sposób i tym samym interfejsem

– niezależnie od pochodzenia i typu. Odnosząc się do rysunku 13, decydentem stał się sterownik,

zmienne 𝑟, 𝑎, 𝑣 tworzą podaną tam zmienną 𝑖, a przedmiot podejmowania decyzji został podzielony

na dwie części: czynną (urządzenia wykonawcze) i bierną (nadwozie). Wracając do rozróżnienia

systemów sterujących i wspomagających decyzję (strona 35) należy podkreślić, że pomimo że

decydentem jest sterownik, a sam system jest teoretycznie systemem sterowania, to ze względu

na przyjmowanie i stosowanie wartości referencyjnych w czasie rzeczywistym, kierowca może uznać,

że to on pełni tę funkcję. Wewnątrz sterownika realizowany jest IDSA, więc rysunek 20 przedstawia

tylko jego wewnętrzną strukturę, a interfejsy sterownika odpowiadają interfejsom algorytmu.

Dla czytelności, wymienione w powyższym akapicie zmienne powtórzono w tabeli 4.

Tabela 4 Wyjaśnienie zmiennych z rysunku 19

Wartości składające się na zmienne 𝑟, 𝑢, 𝑎, zostały wyszczególnione w tabeli 6.

Dyskretno-ciągły magazyn danych

Proces wyznaczania

funkcji 1

Proces wyznaczania

funkcji 2

Proces zarządzania zadaniami wyznaczania

funkcji

...

Tymczasowy magazyn danych

dyskretnych

Magazyn funkcji czasu

rzeczywistego

Proces przetwarzania

danych prostych

Proces przetwarzania

danych o otoczeniu

Proces wysyłania zmiennych sterujących

Proces wyznaczania zmiennych sterujących

Proces predykcji trajektorii

r, a

u

Proces wyznaczania

funkcji i...

Proces wyznaczania

funkcji nv

Rysunek 20 Schemat budowy IDSA

Zmienna Znaczenie

𝑟 Wartość referencyjna podana przez kierowcę – skręt kierownicy (oznaczający zadany

kierunek jazdy) i położenie pedałów (oznaczające zadaną prędkość jazdy)

𝑎 Stan urządzeń wykonawczych, np. długość zawieszenia lub aktualny skręt kół

𝑣 Zachowanie pojazdu, rozumiane jako stan jego otoczenia

𝑢 Sygnały sterujące urządzeniami wykonawczymi, generowane przez IDSA

𝑑 Niemierzalne zakłócenia wpływające na pojazd

Page 60: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

60

Rysunek 20 przedstawia komponenty, z których składa się IDSA i ich interfejsy wraz z kierunkami

przepływu danych. Szarą linią ukośną zaznaczono komponenty niebędące procesami. Należy

podkreślić, że IDSA nie składa się z kroków i nie można o nim mówić, jak o kolejno wykonywanych

zadaniach: przetwarzaniu danych wejściowych, wyznaczaniu trajektorii, wyznaczaniu zmiennych

sterujących i wysyłaniu sygnałów sterujących. Każdy proces uruchamiany jest oddzielnie w swoim

wątku przez określone zdarzenia: pojawienie się nowych danych na jego wejściu, wyzwalacz czasowy

lub intencjonalny wyzwalacz programowy. Opis i przykład przetwarzania wszystkich procesów zostaną

pokazane w punkcie 2.5. Każdy proces posiada swój własny, zdefiniowany niezależnie interfejs

(zależność wejściowo-wyjściową). W ten sposób uzyskano elastyczność modyfikacji algorytmu. Każdy

proces można zaimplementować na nowo lub przestroić oddzielnie. Znacząco ułatwiło to strojenie

całego algorytmu, podczas którego można było modyfikować tylko pojedyncze elementy.

Czas wykonywania poszczególnych procesów nie jest stały i zależy od danych wejściowych. Nie

stanowi to jednak problemu, ponieważ każdy proces otrzymuje dane wejściowe ze znacznikiem

czasowym i generuje dane wyjściowe z tym samym znacznikiem czasowym swojego wejścia,

a nie wyjścia, niezależnie od czasu przetwarzania. Teoretycznie możliwe jest, aby proces uruchamiany

przez pojawienie się nowych danych wejściowych uruchomił się dwa razy dla dwóch danych

wejściowych i zakończył swoje działanie (a więc i zapisał wyniki swojej pracy) w odwrotnej kolejności.

W takim wypadku odpowiednie dane wyjściowe powinny być zapisanie z prawidłowym znacznikiem

czasowym początku przetwarzania, jednak podczas badań nie zaobserwowano takiego przypadku.

2.4. Analiza jakościowa – zalety i ograniczenia IDSA

Projektując nowy algorytm, bardzo ważne jest porównanie z istniejącymi rozwiązaniami. Analiza

ilościowa przedstawiona jest w rozdziale 4. Najpierw jednak warto ocenić algorytm w sposób

jakościowy, pokazując zalety i wady wynikające z jego budowy.

Niniejsza praca ma na celu przedstawienie nowego rozwiązania pozbawionego wad istniejących

rozwiązań. W punkcie 1.5.1 wspomniano w tym zakresie konflikty sterowania, złożoność budowy

i utrzymania aktualnie istniejących sterowników oraz ich ograniczenia. IDSA realizowany jest

na pojedynczym sterowniku, co od razu oznacza, że wszystkie konflikty sprzętowe zostały zamienione

na ewentualne konflikty programowe. Użyto tu zwykłego komputera klasy PC, co automatycznie

rozwiązało wszystkie konflikty dostępu do zasobów. Sterownik i pojazd (lub symulator) komunikują

się ze sobą poprzez protokoły TCP i UDP, co wyczerpuje temat zarządzania siecią informatyczną

i kwestię jej bezpieczeństwa. Sam algorytm składa się z w pełni niezależnych komponentów, przez

co należy rozumieć brak zależności czasowych lub wejściowo-wyjściowych. Ostatecznie nie ma też

konfliktów decyzyjnych, ponieważ wszystkie decyzje, dotyczące wszystkich urządzeń wykonawczych,

generowane są przez jeden komponent.

Kolejnym atutem IDSA jest przeniesienie wysokiego poziomu skomplikowania z urządzeń fizycznych

do komponentów logicznych. Sieć sensorów i urządzeń wykonawczych typu fat tree ogranicza liczbę

przewodów w samochodzie, brak zduplikowanych czujników (np. wiele kamer przypisanych do wielu

systemów wsparcia) zmniejsza ich koszt, a liczba sterowników została zredukowana do jednego

(ewentualnie dwóch, wliczając sterownik awaryjny). Mniejsza liczba sterowników to także mniejsza

masa, łatwiejszy montaż, mniej punktów awarii oraz tylko jeden punkt inwestycji, co pozwala

Page 61: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

61

zastosować urządzenie wyższej klasy, jednocześnie zmniejszając koszty. Jeden sterownik, tym bardziej

zaawansowany technologicznie i wyposażony w powszechny system operacyjny, łatwo jest też

zabezpieczyć pod względem informatycznym, stosując znane metody szyfrowania, autoryzacji

i uwierzytelniania. Warto tu wspomnieć o redukcji zależności producenta samochodów od wielu

poddostawców różnych systemów na rzecz dowolnego dostawcy zwykłego komputera klasy PC.

W ogólności taki system powinien być tańszy i prostszy w budowie oraz serwisowaniu.

Użycie typowego systemu operacyjnego i realizowanie algorytmu sterującego jako zwykłej aplikacji

daje zupełnie nowe możliwości w zakresie jej utrzymania i rozwoju. Taki samochód może być

zdiagnozowany lub zaktualizowany zdalnie, stojąc w garażu, a aktualizacja może być bardzo głęboka,

zaczynając od przestrojenia algorytmu, przez aktualizację używanych sieci neuronowych, podmianę

jednego z procesów, aż po całkowitą wymianę algorytmu na inny. Można też wyeliminować złącze

diagnostyczne i zastosować połączenie bezprzewodowe chronione przez dowolne zasady kontroli

dostępu znane w informatyce. Nawet proces samodiagnostyki, uruchamiany w każdym nowoczesnym

samochodzie przynajmniej podczas jego uruchamiania, w tym przypadku ogranicza się wyłącznie

do diagnostyki jednej aplikacji komputerowej i jej zależności.

Przechodząc do samego IDSA, jego budowa jest uniwersalna w odniesieniu do różnych pojazdów. Jeśli

producent chciałby zastosować go w małym miejskim samochodzie oraz np. w autobusie, wystarczy

wprowadzić do IDSA parametry pojazdu (rozmiar, moc silnika, kąt skrętu kół, itd.). IDSA wykorzysta

wszystkie dostępne dane i urządzenia wykonawcze, a ich liczba może być różna w różnych pojazdach,

np. auto droższe może być wyposażone w więcej kamer niż inny, tańszy model. Usunięcie sensora,

nawet podczas jazdy, pozbawi IDSA danych wejściowych, jednak tak długo, jak dane z innych

sensorów będą dostarczały wystarczającej ilości informacji – samochód może dalej funkcjonować.

Awaria lub usunięcie urządzenia wykonawczego, to dla procesu wyznaczania sterowania tylko kolejne

ograniczenie w procesie optymalizacji, co może prowadzić do uzyskania gorszych wyników, ale

nie do całkowitej awarii.

Interfejsy programowe IDSA są otwarte. Bez problemu można dodać nowy element, np. proces

importujący nowe obiekty do mapy otoczenia na podstawie komunikacji Car-2-Car, proces zdalnej

kontroli lub dowolny inny, który miałby powstać w przyszłości w celu poprawy pracy IDSA. Z drugiej

strony stworzona mapa otoczenia może być przydatna dla innych systemów informatycznych obecnych

w samochodzie, które dzięki temu także można zamienić na aplikacje uruchomione na tym samym

komputerze. Dowolny system sterujący światłami, pokazujący otoczenie w celu ułatwienia parkowania,

lub nawet parkujący samodzielnie, może korzystać z utworzonej mapy otoczenia. To prowadzi

do kolejnego wniosku. IDSA może zostać bardzo łatwo zastosowany do budowy pojazdu

autonomicznego. Wystarczy w tym celu zamienić kierowcę na nowy komponent odczytujący istniejącą

już mapę otoczenia i wyznaczający sygnał referencyjny 𝑟 na jej podstawie.

2.5. Procesy składowe algorytmu

Niniejszy rozdział opisuje procesy, składające się na IDSA. Celowo są w nim ominięte implementacje

tych procesów (w tym – postaci użytych przekształceń), ponieważ istotą tej pracy jest zaproponowanie

rozwiązania, w którym te elementy należy skonfigurować samemu, podczas procesu strojenia.

Page 62: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

62

Proces przetwarzani danych prostych

Proces przetwarzania danych o otoczeniu

Proces predykcji trajektorii

Proces wyznaczania zmiennych sterujących

Proces wysyłania zmiennych sterujących

czas

Zmienna 1

Zmienna 2

Rysunek 21 Przykładowa realizacja IDSA

Wykonywanie IDSA przez krótki okres czasu (około jednej sekundy) może wyglądać, jak

na przykładowym rysunku 21. Widać na nim wykonania wszystkich procesów składowych IDSA

w postaci prostokątów w różnych kolorach, podzielonych na 5 typów procesów, z przykładowym

czasem wykonania i rozpoczynania zadań. Każdy z procesów w przykładzie korzysta z dwóch wątków

procesora. Nie jest to reguła, a wyłącznie przykład. Gdyby któryś proces wymagał uruchomienia po raz

trzeci, podczas gdy dwa wątki jeszcze nie zakończyłyby swojej pracy, po prostu użyłby nowego wątku.

IDSA nie wprowadza tu żadnych limitów, więc wątkami zarządza wyłącznie system operacyjny.

Podczas prezentowanego wycinka czasu, proces przetwarzania danych prostych otrzymał 7 nowych

pomiarów do przetworzenia (dokonano 7 odczytów przy pomocy sensorów), a proces analizy danych

o otoczeniu otrzymał 3 pomiary. Proces planowania trajektorii uruchomił się 6 razy, a proces

wyznaczania zmiennych sterujących – 4 razy. Proces wysyłania zmiennych sterujących wysyłał dwie

zmienne: pierwszą – 6, a drugą – 7 razy. Warto zauważyć, że w przypadku procesu wysyłania

zmiennych sterujących, operacja wysłania wartości konkretnej zmiennej rozpoczyna się ponownie

natychmiast po poprzednim wykonaniu, oraz że czas wysyłania konkretnej zmiennej jest stały, choć

czas wysyłania wartości różnych zmiennych może się różnić. Warto też zauważyć, że tylko ten proces

korzysta z tylu wątków, ile zmiennych przetwarza. Nie ma reguły, według której np. każda dana prosta

przetwarzana byłaby w dedykowanym wątku.

Sekcje w punkcie 2.5 korzystają z horyzontu czasu wprowadzonego w uproszczonym przykładzie,

pokazanym na rysunku 22. Ten przykład ilustruje tylko jedno wykonanie każdego z procesów. Na jego

potrzeby zakłada się, że to nie są pierwsze wykonania po uruchomieniu IDSA, więc dysponuje on

danymi utworzonymi podczas poprzednich uruchomień wszystkich procesów, zapisanymi w dyskretno-

ciągłym magazynie danych.

Page 63: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

63

Proces przetwarzania danych prostych

Proces przetwarzania danych o otoczeniu

Proces predykcji trajektorii

Proces wyznaczania zmiennych sterujących

Proces wysyłania sygnałów sterujących

czast1 t2t3 t4t5 t6t7 t8t9 t10

Rysunek 22 Horyzont czasowy używany w punktach 2.1.6 - 2.1.10

Dla czytelności powyższe zmienne przedstawiono także w tabeli 5.

Tabela 5 Oznaczenie zmiennych określających czas w punktach 2.6 - 2.10

Nazwa

zmiennej

Zdarzenie

w procesie

Nazwa procesu

𝑡1 początek Proces przetwarzania danych prostych

𝑡2 koniec

𝑡3 początek Proces przetwarzania danych o otoczeniu

𝑡4 koniec

𝑡5 początek Proces predykcji trajektorii

𝑡6 koniec

𝑡7 początek Proces wyznaczania zmiennych sterujących

𝑡8 koniec

𝑡9 początek Proces wysyłania zmiennych sterujących

𝑡10 koniec

Proces predykcji trajektorii został pokazany jako pojedynczy prostokąt, chociaż jego implementacja

użyta w niniejszej pracy składa się z trzech podprocesów. Użycie podprocesów nie jest jednak cechą

IDSA, a tylko efektem jego strojenia i implementacji, wykonanych podczas niniejszych badań. Pokazuje

to jednakże zdolność algorytmu do rozdzielania procesów na podprocesy z wykorzystaniem wspólnego

magazynu danych, jako sposobu integracji.

2.6. Proces przetwarzania danych prostych

Obsługa prostych danych wejściowych jest najprostszym procesem w całym algorytmie. Dane proste,

to wszystkie przyjmowane dane, dające się przedstawić jako niezależne wartości skalarne. Na rysunku

20 do komponentu „przetwarzanie danych prostych” skierowane są zmienne 𝑟 oraz 𝑎 , a decyzja

oznaczona jest zmienną 𝑢. Chociaż proces analizy wejściowych danych prostych przyjmuje jedynie

zmienne 𝑟 oraz 𝑎, tabela 6 zawiera wszystkie dane proste występujące w IDSA, czyli 𝑟, 𝑎 oraz 𝑢.

Page 64: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

64

Tabela 6 Spis zmiennych prostych

Zmienna

zawierająca

(wg. rys. 20)

Używane oznaczenie Znaczenie Zakres

𝑟

STEER Położenie kierownicy [−1,1]

THROTHLE Położenie pedału przyspieszenia [0,1]

BRAKE Położenie pedału hamulca [0,1]

𝑎

VELOCITY_FRONT_LEFT Prędkość kątowa lewego

przedniego koła [−1,1]

VELOCITY _FRONT_RIGHT Prędkość kątowa prawego

przedniego koła [−1,1]

VELOCITY _REAR_LEFT Prędkość kątowa lewego tylnego

koła [−1,1]

VELOCITY _REAR_RIGHT Prędkość kątowa prawego

tylnego koła [−1,1]

ACCELERATION_FRONT_LEFT

_LONGITUDINAL

Przyspieszenie wzdłużne

w lewym przednim rogu pojazdu [−1,1]

ACCELERATION_FRONT_LEFT

_LATERAL

Przyspieszenie boczne w lewym

przednim rogu pojazdu [−1,1]

ACCELERATION_FRONT_LEFT

_VERTICAL

Przyspieszenie pionowe

w lewym przednim rogu pojazdu [−1,1]

ACCELERATION_FRONT_RIGHT

_LONGITUDINAL

Przyspieszenie wzdłużne

w prawym przednim rogu

pojazdu

[−1,1]

ACCELERATION_FRONT_RIGHT

_LATERAL

Przyspieszenie boczne

w prawym przednim rogu

pojazdu

[−1,1]

ACCELERATION_FRONT_RIGHT

_VERTICAL

Przyspieszenie pionowe

w prawym przednim rogu

pojazdu

[−1,1]

ACCELERATION_ REAR_LEFT

_LONGITUDINAL

Przyspieszenie wzdłużne

w lewym tylnym rogu pojazdu [−1,1]

ACCELERATION_ REAR_LEFT

_LATERAL

Przyspieszenie boczne w lewym

tylnym rogu pojazdu [−1,1]

ACCELERATION_ REAR_LEFT

_VERTICAL

Przyspieszenie pionowe

w lewym tylnym rogu pojazdu [−1,1]

ACCELERATION_ REAR_RIGHT

_LONGITUDINAL

Przyspieszenie wzdłużne

w prawym tylnym rogu pojazdu [−1,1]

ACCELERATION_ REAR_RIGHT

_LATERAL

Przyspieszenie boczne

w prawym tylnym rogu pojazdu [−1,1]

ACCELERATION_REAR_RIGHT

_VERTICAL

Przyspieszenie pionowe

w prawym tylnym rogu pojazdu [−1,1]

Page 65: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

65

Zmienna

zawierająca

(wg. rys. 20)

Używane oznaczenie Znaczenie Zakres

SUSPENSION_FRONT_LEFT

_LENGHT

Długość lewego przedniego

zawieszenia [0,1]

SUSPENSION_FRONT_RIGHT

_ LENGHT

Długość prawego przedniego

zawieszenia [0,1]

SUSPENSION_REAR_LEFT

_ LENGHT

Długość lewego tylnego

zawieszenia [0,1]

SUSPENSION_REAR_RIGHT

_ LENGHT

Długość prawego tylnego

zawieszenia [0,1]

𝑢

STEER_FRONT_LEFT Skręt przedniego lewego koła [−1,1]

STEER_FRONT_RIGHT Skręt przedniego prawego koła [−1,1]

STEER_REAR_LEFT Skręt tylnego lewego koła [−1,1]

STEER_REAR_RIGHT Skręt tylnego prawego koła [−1,1]

CLUTCH

Ilość momentu obrotowego

przekazywana od silnika przez

sprzęgło do skrzyni biegów

[0,1]

GEARBOX Przełożenie bezstopniowej

skrzyni biegów [0,1]

DIFFERENTIAL_FRONT_LEFT

Ilość momentu obrotowego

przekazywana od skrzyni biegów

przez dyferencjały do lewego

przedniego koła

[0,1]

DIFFERENTIAL_FRONT_RIGHT

Ilość momentu obrotowego

przekazywana od skrzyni biegów

przez dyferencjały do prawego

przedniego koła

[0,1]

DIFFERENTIAL _REAR_LEFT

Ilość momentu obrotowego

przekazywana od skrzyni biegów

przez dyferencjały do lewego

tylnego koła

[0,1]

DIFFERENTIAL _REAR_RIGHT

Ilość momentu obrotowego

przekazywana od skrzyni biegów

przez dyferencjały do prawego

tylnego koła

[0,1]

POWER Położenie przepustnicy [0,1]

BRAKE_FRONT_LEFT Poziom zaciśnięcia lewego

przedniego hamulca [0,1]

BRAKE_FRONT_RIGHT Poziom zaciśnięcia prawego

przedniego hamulca [0,1]

Page 66: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

66

Zmienna

zawierająca

(wg. rys. 20)

Używane oznaczenie Znaczenie Zakres

BRAKE_REAR_LEFT Poziom zaciśnięcia lewego

tylnego hamulca [0,1]

BRAKE_REAR_RIGHT Poziom zaciśnięcia prawego

tylnego hamulca [0,1]

SUSPENSION_FRONT_LEFT

_MOUNTING_POINT_HEIGHT

Wysokość mocowania lewego

przedniego zawieszenia [0,1]

SUSPENSION_FRONT_RIGHT

_MOUNTING_POINT_HEIGHT

Wysokość mocowania prawego

przedniego zawieszenia [0,1]

SUSPENSION_REAR_LEFT

_MOUNTING_POINT_HEIGHT

Wysokość mocowania lewego

tylnego zawieszenia [0,1]

SUSPENSION_REAR_RIGHT

_MOUNTING_POINT_HEIGHT

Wysokość mocowania prawego

tylnego zawieszenia [0,1]

SUSPENSION_FRONT_LEFT

_SPRING_RATE

Współczynnik sprężystości

lewego przedniego zawieszenia [0,1]

SUSPENSION_FRONT_RIGHT

_SPRING_RATE

Współczynnik sprężystości

prawego przedniego zawieszenia [0,1]

SUSPENSION_REAR_LEFT

_SPRING_RATE

Współczynnik sprężystości

lewego tylnego zawieszenia [0,1]

SUSPENSION_REAR_RIGHT

_SPRING_RATE

Współczynnik sprężystości

prawego tylnego zawieszenia [0,1]

SUSPENSION_FRONT_LEFT

_DAMPING_RATE

Współczynnik tłumienia lewego

przedniego zawieszenia [0,1]

SUSPENSION_FRONT_RIGHT

_DAMPING_RATE

Współczynnik tłumienia

prawego przedniego zawieszenia [0,1]

SUSPENSION_REAR_LEFT

_DAMPING_RATE

Współczynnik tłumienia lewego

tylnego zawieszenia [0,1]

SUSPENSION_REAR_RIGHT

_DAMPING_RATE

Współczynnik tłumienia

prawego tylnego zawieszenia [0,1]

ANTI_ROLL_BAR_FRONT Współczynnik sztywności

stabilizatora przedniego [0,1]

ANTI_ROLL_BAR_REAR Współczynnik sztywności

stabilizatora tylnego [0,1]

Używanie wartości względnych (< −1,1 > lub < 0,1 > ) pozwoliło w prosty sposób uzależnić

algorytm od parametrów fizycznych konkretnego pojazdu, np. wartości maksymalnego kąta skrętu kół,

czy mocy silnika. Szczegóły używanego w badaniach samochodu, a więc i wartości bezwzględne,

wynikające z tabeli 6 zostaną opisane w rozdziale 3.

Page 67: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

67

Przetwarzanie danych prostych polega na przyjęciu ich przez algorytm i zapisaniu w magazynie danych

wraz ze znacznikiem czasowym. Odwzorowanie, realizowane przez ten proces, przedstawione jest

wyrażeniem

𝑧(𝑡𝑖) → 𝑧(𝑡𝑖), 𝑡𝑖. (12)

Można to rozumieć jako interfejs programistyczny. Proces przyjmuje wartość pewnej zmiennej 𝑧

w chwili 𝑡𝑖 , a na jego wyjściu znajdują się: ta sama zmienna oraz jej dyskretny argument czasowy.

Wszystkie poniższe procesy przedstawione są w takiej samej notacji. Jak było powiedziane, proces

przetwarzania danych prostych przyjmuje wartość funkcji 𝑟(𝑡) , w chwili 𝑡𝑖 oraz produkuje parę

𝑟(𝑡𝑖), 𝑡𝑖. Podobnie przyjmuje wartość funkcji 𝑎(𝑡) w chwili 𝑡𝑗 oraz produkuje parę 𝑎(𝑡𝑗), 𝑡𝑗.

Korzystając z horyzontu czasu wprowadzonego na rysunku 22, należałoby powiedzieć, że proces

przyjmuje wartości 𝑟 lub 𝑎 w chwili 𝑡1 i zapisuje je w chwili 𝑡2 , jednak do tego zapisu używa

znacznika czasowego 𝑡1. Proces przedstawiony jest we wzorze

𝑟(𝑡1) → 𝑟(𝑡1), 𝑡1 ∨ 𝑎(𝑡1) → 𝑎(𝑡1), 𝑡1. (13)

Stosując model wejściowo-wyjściowy wprowadzony w rysunkach 19 oraz 20, proces przetwarzania

danych prostych przedstawiono na rysunku 23.

Przetwarzanie danych prostych

r(t1)

a(t1)

r(t1),t1

a(t1),t1

Rysunek 23 Przetwarzanie danych prostych

Jako że jest to bardzo prosty proces i nie wymaga on strojenia, na listingu 2 znajduje się od razu jego

pseudokod.

Listing 2 Pseudokod procesu analizy danych prostych

2.7. Proces przetwarzania danych o otoczeniu

Analiza danych o otoczeniu jest zadaniem zupełnie innym niż analiza danych prostych. IDSA został

zaprojektowany do współpracy z heterogenicznymi i asynchronicznymi sensorami, pokrywającymi

różne obszary wokół pojazdu, na podstawie których buduje w czasie rzeczywistym geometryczną mapę

otoczenia pojazdu. Ze względu na heterogeniczność, która sprowadza się do innego formatu

otrzymywanych danych, uzyskanych np. z kamer i lidarów, nie można zastosować znanych algorytmów

procedura analizuj_dane_proste(identyfikator, informacja):

czas_aktualny = pobierz_czas_aktualny()

dyskretno_ciagly_model_danych.zapisz(identyfikator, informacja, czas_aktualny)

Page 68: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

68

bazujących na filtrze Kalmana, jak np. stereo-SLAM [108]. IDSA nie ogranicza liczby ani rodzajów

sensorów, więc wypracowanie metody łączącej bitmapy i mapy zajętości byłoby niewystarczające.

Ze względu na asynchroniczność, nie można też zastosować algorytmów bazujących na fuzji

sensorycznej, jak np. zaprezentowany w pracy [109]. Podczas strojenia IDSA, zaproponowano nowe

rozwiązanie, które łączy zadania fuzji sensorycznej oraz jednoczesnego mapowania i lokalizowania

z wykorzystaniem heterogenicznych sensorów, umieszczonych w różnych miejscach, skierowanych

w różne strony i działających asynchronicznie. Sama metoda zostanie przedstawiona w podrozdziale

4.3, jednak odwzorowanie, które ją opisuje, należy do definicji IDSA.

Najważniejszym elementem procesu analizy danych o otoczeniu jest wykorzystywanie geometrycznej

mapy otoczenia i uaktualnianie jej po każdym pomiarze, zamiast budowania jej od nowa. Dzięki temu,

jeśli na podstawie danych z jednego z sensorów uda się uzyskać informacje o jednym obiekcie

w otoczeniu pojazdu, można tę informację umieścić w mapie otoczenia bez zaburzania pozostałych jej

elementów. Stosując formalny zapis i horyzont czasu wprowadzonego na rysunku 21, niniejszy proces

przekształca odczyt sensoryczny 𝑣(𝑡) odczytany w czasie 𝑡3 oraz istniejącą mapę otoczenia 𝑚(𝑡3)

odczytaną dla tej samej chwili 𝑡3. Na tej podstawie produkuje on uaktualnioną wersję mapy otoczenia

𝑚′(𝑡3) zgodnie z zależnością (14).

𝑣(𝑡3),𝑚(𝑡3) → 𝑚′(𝑡3), 𝑡3 (14)

Stosując model wejściowo-wyjściowy wprowadzony na rysunkach 19 oraz 20, proces przetwarzania

danych o otoczeniu przedstawiono na rysunku 24.

Przetwarzanie danych o otoczeniu

v(t3),m(t3) m t3),t3

Rysunek 24 Przetwarzanie danych o otoczeniu

Zmienna 𝑣 zawiera dane sensoryczne w postaci macierzy, np. bitmapę z kamery lub mapę zajętości

z lidaru, a zmienna 𝑚 – zbiór opisów obiektów składający się na mapę otoczenia. Zmienna 𝑚′, to opisy

nowych lub zmienionych obiektów, które należy uaktualnić w mapie 𝑚. Należy pamiętać, że utworzone

w tym procesie pozycje obiektów zamieniane są na trajektorie ciągłe w czasie dzięki dyskretno-

ciągłemu magazynowi danych.

2.8. Proces predykcji trajektorii

Kolejnym procesem do omówienia jest proces planowania trajektorii. Ten proces analizuje referencyjne

dane wejściowe 𝑟, stan pojazdu 𝑎 oraz mapę otoczenia 𝑚, w celu utworzenia jednego lub kilku punktów

𝑝 , w których w przyszłości powinien znaleźć się pojazd. Powinien on korzystać z wartości

ekstrapolowanych na chwilę, dla której wykonuje obliczenia. Załóżmy, że proces uruchamia się

w chwili 𝑡5 oraz jego zadaniem jest wyznaczenie pozycji uogólnionej przedmiotu sterowania

(nadwozia) w chwili 𝑡5 + 𝜖. Wartość 𝜖 powinna być wybrana tak, żeby 𝑡5 + 𝜖 > 𝑡6.

Page 69: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

69

Przy takich założeniach odwzorowanie opisujące ten proces przedstawione jest we wzorze

𝑟(𝑡5 + 𝜖), 𝑎(𝑡5 + 𝜖),𝑚(𝑡5 + 𝜖) → 𝑝(𝑡5 + 𝜖), 𝑡5 + 𝜖. (15)

Warto zauważyć, że sam proces wykonuje się w czasie od 𝑡5 do 𝑡6.

Stosując model wejściowo-wyjściowy wprowadzony na rysunkach 19 oraz 20, proces planowania

trajektorii przedstawiono na rysunku 25.

Predykcja trajektorii

r(t5+ε),a(t5+ε),m(t5+ε) p(t5+ε),t5+ε

Rysunek 25 Planowanie trajektorii

Można też użyć uogólnionej wersji procesu, zakładającej że generuje on jednocześnie pozycje podmiotu

sterowania dla chwil 𝑡5 + 𝜖1, 𝑡5 + 𝜖2, … , 𝑡5 + 𝜖𝑖, … , 𝑡5 + 𝜖𝑛 , gdzie 𝑛 ≥ 1 , jednak podczas badań

okazało się, że wystarczającą wartością jest 𝑛 = 1.

Jak było powiedziane w punkcie 2.1, pozycja obiektów w otoczeniu obiektu podejmowania decyzji,

należąca do 𝑚, określona jest względem tego obiektu. W przypadku planowania trajektorii samego

obiektu nie jest to proste, ponieważ w chwili dokonywania dowolnych obliczeń, samochód znajduje się

zawsze w początku układu współrzędnych. Rozwiązaniem zastosowanym na potrzeby tych badań jest

zapisywanie trajektorii pojazdu sterowanego w zewnętrznym układzie współrzędnych,

rozpoczynającym się w miejscu, w którym pojazd znajdował się w chwili uruchomienia algorytmu.

2.9. Proces wyznaczania zmiennych sterujących

Proces wyznaczania zmiennych sterujących jest miejscem, w którym realizuje się zadanie sterowania.

Proces ten, podobnie do planowania trajektorii, wylicza swoje wyjście w przyszłości, korzystając

z ekstrapolowanych danych wejściowych, oferowanych przez dyskretno-ciągły magazyn danych.

Stosując zapis formalny, proces przekształca mapę otoczenia 𝑚 , stan pojazdu 𝑎 oraz planowaną

trajektorię 𝑝 w wektor zmiennych sterujących 𝑢 – to wszystko dla chwili 𝑡7 + 𝜖, przy czym powinien

być spełniony warunek 𝑡7 + 𝜖 > 𝑡8.

𝑚(𝑡7 + 𝜖), 𝑎(𝑡7 + 𝜖), 𝑝(𝑡7 + 𝜖) → 𝑢(𝑡7 + 𝜖), 𝑡7 + 𝜖 (16)

Stosując model wejściowo-wyjściowy wprowadzony na rysunkach 19 oraz 20, proces planowania

trajektorii przedstawiono na rysunku 26.

Page 70: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

70

Wyznaczanie zmiennych sterujących

m(t7+ε),a(t7+ε),p(t7+ε) u(t7+ε),t7+ε

Rysunek 26 Wyznaczania zmiennych sterujących

Należy jednak zauważyć, że nie ma konieczności wyznaczania wszystkich zmiennych należących

do wektora 𝑢 jednocześnie. Proces wyznaczania zmiennych sterujących może składać się z wielu

niezależnych procesów generujących różne składowe wektora 𝑢 dla różnych chwil 𝑡7 + 𝜖𝑖.

2.10. Proces wysyłania zmiennych sterujących

Ostatni omawiany proces jest właściwie odwrotnością pierwszego. Dla każdej zmiennej sterującej

𝑢1, 𝑢2, … , 𝑢𝑖, … , 𝑢𝑛 ∈ 𝑢, wysyła on jej wartość do urządzenia wykonawczego w oddzielnym wątku,

powtarzając proces natychmiast po jego zakończeniu. W badaniach użyto 16 zmiennych sterujących,

co oznaczało użycie 16 wątków. Korzystając z horyzontu czasu wprowadzonego na rysunku 21 oraz

zmiennej sterującej 𝑢𝑖 , odwzorowanie realizujące proces przedstawia się, jak we wzorze (17)

i na rysunku 27.

𝑢𝑖(𝑡9 + 𝜖𝑖) → 𝑢𝑖(𝑡9 + 𝜖𝑖) (17)

Wysyłanie zmiennych sterujących

ui(t9+εi) ui(t9+εi)

Rysunek 27 Wysyłanie zmiennych sterujących

Jak widać, wejście i wyjście są takie same. Oznacza to odczyt zmiennej i jej wysłanie. Warto zwrócić

uwagę, że proces wysyłania sterowania trwa od 𝑡9 do 𝑡10, podczas gdy wysyłana jest wartość właściwa

dla chwili 𝑡9 + 𝜖𝑖 . Należy pamiętać, że realizacja sterowania też zajmuje czas, więc zakłada się, że

sterowanie jest zrealizowane właśnie w chwili 𝑡9 + 𝜖𝑖 , przy założeniu, że 𝑡9 + 𝜖𝑖 > 𝑡10. Wartość 𝜖𝑖

należy określić eksperymentalnie dla każdej zmiennej sterującej 𝑢𝑖 . Przy odpowiednio częstym

wysyłaniu sterowania, dokładność wyznaczenia 𝜖𝑖 nie musi być idealna.

Jako że proces wysyłania zmiennych sterujących nie wymaga strojenia rozumianego jako określenie

operacji do wykonania, a tylko określenia wartości zmiennych 𝜖𝑖 , na listingu 3. pokazany jest jego

pseudokod.

Page 71: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

71

Listing 3 Pseudokod procesu wysyłania zmiennych sterujących

procedura wyslij_sterowanie(identyfikator):

czas_aktualny = pobierz_czas_aktualny()

opoznienie = pobierz_opoznienie_dla_zmiennej(identyfikator)

wartosc = dyskretno_ciagly_model_danych.pobierz(identyfikator,

czas_aktualny + opoznienie)

interfejs_sieciowy = pobierz_kanal_komunikacji(identyfikator)

interjest_sieciowy.wyslij(wartosc)

wyslij_sterowanie(identyfikator)

Page 72: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

72

3. SYMULACYJNE ŚRODOWISKO BADAWCZE

Co oczywiste, najbardziej wiarygodne środowisko badawcze, to środowisko rzeczywiste,

z prawdziwym przedmiotem podejmowania decyzji oraz w niesymulowanych warunkach fizycznych.

Jednak badania zachowania pojazdu wymagałyby w tym celu ogromnych środków pieniężnych,

z uwzględnieniem zniszczenia przynajmniej kilku samochodów, wynajęcia toru testowego, kierowców,

itd. Oprócz wielokrotnie niższych kosztów, zastosowanie środowiska symulacyjnego czasu

rzeczywistego ma wiele innych zalet – powtarzalność na żądanie, możliwość generowania przypadków

testowych i wykonywania eksperymentów przez skrypty, możliwość dowolnej i precyzyjnej zmiany

warunków eksperymentów, możliwość dowolnego przerywania testów podczas ich trwania, możliwość

zbadania sytuacji trudnych do wygenerowania w warunkach rzeczywistych oraz pełne bezpieczeństwo

osób biorących udział w eksperymentach. Największą wadą stosowania środowiska symulacyjnego jest

jego dyskusyjna wiarygodność.

3.1. Wybór środowiska

Celem procesu wyboru środowiska nie było znalezienie takiego, które najwierniej odpowiada światu

rzeczywistemu. Istnieją co prawda rozwiązania, szczególnie typu hardware-in-the-loop [110], które

uznawane są za wystarczająco wiarygodne nawet przez firmy motoryzacyjne. Są one jednak bardzo

drogie, wymagają potężnych komputerów, a ich dokładność często wynika ze sposobu modelowania

pojazdu, łącznie z istniejącymi w nich sterownikami. Z drugiej strony, oczywiście podczas pracy

należało odrzucić wszystkie symulatory wyraźnie sprzeczne z prawami fizyki, np. większość gier

komputerowych.

Celem procesu wyboru środowiska było znalezienie takiego, które:

a) zapewnia wystarczająco dokładne odwzorowanie procesów fizycznych,

b) pozwala na symulację całego pojazdu, a nie tylko jego części,

c) oferuje możliwość symulacji istniejących w motoryzacji systemów bezpieczeństwa czynnego,

a także oferuje możliwość pracy bez nich

d) oferuje możliwość konfiguracji parametrów fizycznych pojazdu (rozmiar, masa, itp.),

e) oferuje możliwość konfiguracji układu jezdnego (rodzaj przeniesienia napędu, skrzynia biegów,

itd.),

f) zostało poddane walidacji w niebudzący zastrzeżeń, udokumentowany sposób,

g) oferuje możliwość symulowania sensorów otoczenia pojazdu,

h) oferuje odczyt stanu pojazdu, najlepiej w czasie rzeczywistym,

i) oferuje możliwość zastosowania zewnętrznego sterownika pomiędzy kierowcą a urządzeniami

wykonawczymi,

j) oferuje niezależną możliwość sterowania urządzeniami wykonawczymi,

k) daje się uruchomić na domowym komputerze.

Podczas prac przeanalizowano możliwość i zasadność wykorzystania następujących symulatorów.

MSC Adams Car [111]

Pakiet profesjonalnych narzędzi do budowania symulatorów, używany przez ponad siedemdziesiąt

znaczących firm z branży motoryzacyjnej, głównie producentów symulatorów, ale też bezpośrednio

Page 73: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

73

przez producentów samochodów (np. Tata Motors). Oferuje wiarygodny model pojazdu,

zweryfikowany przez klientów i potwierdzony badaniami na rzeczywistych pojazdach. Oferuje bardzo

szeroką swobodę parametryzacji fizycznej pojazdu. Umożliwia sterowanie pojazdem z zewnętrznej

aplikacji (MatLab [112]) i posiada darmową wersję edukacyjną.

MSC Adams Car skupia się jednak na symulacjach pojedynczych sytuacji off-line (nie w czasie

rzeczywistym), jak przejazd przez zakręt, gwałtowne hamowanie itp. Zbudowanie dłuższego

scenariusza testowego jest problematyczne i niewygodne. Niektóre funkcje oferuje wyłącznie

dla symulacji jednej osi lub symulacji off-line. Nie umożliwia też implementacji własnych sensorów

otoczenia ani odczytu sygnału sterującego z fizycznej kierownicy podłączonej do komputera i przesłania

tego sygnału do zewnętrznej aplikacji.

dSPACE ASM [113]

Profesjonalny symulator o bardzo wysokiej dokładności, wykorzystywany przez największe firmy

motoryzacyjne (np. Porsche), producentów podzespołów i systemów wspomagania kierowcy. Stał się

też podstawą badań nad AUTOSAR. Kilka lat temu oferował darmową wersję zapoznawczą, jednak

pełna licencja jest bardzo droga. dSPACE ASM może pracować jako aplikacja lub w systemie

hardware-in-the-loop. Jest to bardzo skomplikowane rozwiązanie, wymagające dużo pracy

przy tworzeniu środowiska symulacyjnego oraz za drogie do użycia na tym etapie prac.

IPG CarMaker [114]

Kolejny profesjonalny symulator, używany przez przynajmniej dwudziestu pięciu producentów

samochodów (VW, Ford, Dailmer, Tesla, itd.) oraz na ponad stu uniwersytetach. Może pracować

samodzielnie lub w systemie hardware-in-the-loop. Umożliwia implementacje dowolnych systemów

sterowania oraz korzystania z dowolnych obecnych w symulacji danych. Niestety jest to kolejne

rozwiązanie zbyt drogie, żeby mogło być użyte na tym etapie prac.

CarSim [115]

Następny profesjonalny symulator o globalnym zasięgu, używany przez ponad trzydziestu producentów

samochodów lub motocykli oraz ponad stu producentów podzespołów lub ośrodków badawczych.

Niestety nie oferuje on danych dotyczących komponentów pojazdów i skupiony jest bardziej

na symulowaniu sytuacji drogowych z mniej dokładną fizyką, niż na dokładnym modelowaniu

pojazdów, więc tym samym nie udostępnia możliwości ich personalizacji w wystarczającym zakresie.

SIMULIA Simpack [116]

Symulator dużo prostszy od wymienionych powyżej, niestety jednocześnie też o dużo mniejszych

możliwościach. Pozwala na sterowanie z wykorzystaniem zewnętrznej aplikacji, jednak nie udostępnia

danych w czasie rzeczywistym w żaden sposób programowy. Ostatnie warte uwagi publikacje,

stworzone z jego użyciem, zostały wydane 4 lata temu, co sugeruje, że projekt jest obecnie przestarzały.

MatLab z własnym modelem Simulink

Ze względu na niepowodzenie w próbach wykorzystania rozwiązań profesjonalnych, podjęto próbę

stworzenia symulatora własnoręcznie. Utworzono model, widoczny na rysunku 28, i wykonano jego

strojenie. Niestety, mimo że była to bardzo prosta wersja, zawierająca tylko podstawowe elementy

Page 74: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

74

zawieszenia, nie udało się dokonać jego walidacji. Ze względu na brak perspektyw w tym zakresie,

porzucono ten sposób modelowania.

Rysunek 28 Model pojazdu w Matlab/Simulink

Kinematic Car Suspension [117]

Ze względu na problemy ze znalezieniem profesjonalnego symulatora, zwrócono się w stronę świata

gier komputerowych. Przyjęto założenie, że skoro niektóre z nich są tak realistyczne, że używane są

przez kierowców rajdowych do treningów, nie należy ich pomijać bez – przynajmniej – przyjrzenia się

im bliżej. Kinematic Car Suspension jest biblioteką do symulacji samochodów w środowisku Unity3D

[118]. Oferuje między innymi możliwość odczytu sygnałów sterujących z kierownicy i przesłanie ich

do zewnętrznej aplikacji, a sygnałów z tej aplikacji – do wirtualnego pojazdu. Niestety jest na tyle

nierealistyczny, że podejmowanie zadania walidacji nie ma sensu.

BeamNG.drive [119]

Obiecująca gra komputerowa, której twórcy chwalą się jej wysokim realizmem. Umożliwia dość

dowolne zbudowanie wirtualnego pojazdu, jednak nie udostępnia możliwości przekierowania

sterowania do zewnętrznej aplikacji. Zamiast tego oferuje możliwość pisania własnych skryptów

w języku Lua [120], opisujących działanie samochodu. Jednak ich możliwości okazały się być zbyt

ograniczone, a użycie ich poddałoby w wątpliwość zachowanie wiarygodności symulacji.

rFactor2 [121]

Kolejna gra wysoko oceniana ze względu na swój realizm, dostępna w wersji z otwartym kodem

źródłowym. Umożliwia dużą swobodę budowania i personalizacji pojazdów, a także oferuje bogate

wyjście w czasie rzeczywistym (dokładną telemetrię). Niestety, nie umożliwia przekierowania

sterowania do aplikacji zewnętrznej oraz dokonywania zmian właściwości pojazdu w sposób

programowy podczas jazdy.

Page 75: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

75

Symulator z rzeczywistym samochodem umieszczonym na siłownikach hydraulicznych

Próba użycia do badań fizycznego symulatora wymagała zamieszkania na kilka miesięcy w Japonii.

Podjęto próbę walidacji symulatora stworzonego i wykorzystywanego na Iwate Prefectural University

w miejscowości Takizawa. Symulator przedstawiony jest na rysunku 29.

Rysunek 29 Symulator samochodu na Iwate Prefectural University (zdjęcie własne)

Symulator wykorzystuje trójwymiarowy model otoczenia, generowany przez klaster kart graficznych

nVidia, który rzutowany jest na zakrzywiony ekran, pokrywający 180 stopni pola widzenia kierowcy

oraz prezentowany na ekranach widocznych w lusterkach podczas jazdy. Symulator został stworzony

do badania zachowania kierowców podczas jazdy i niestety realizm nie był priorytetem jego twórców.

Oprócz tego korzystanie z niego przez dłuższy czas powoduje zawroty głowy. Jest to o tyle warte uwagi,

że wykorzystuje on metodę przeprowadzania badań driver-in-the-loop, która znacznie i jednocześnie

negatywnie wpływa na kierowcę, zaburzając tym samym jego zachowanie.

Vehicle Physics Pro [122]

Ostatecznie do dalszych prac wybrano Vehicle Physics Pro. Jest to biblioteka do aplikacji Unity 3D.

Należy zacząć od tego, że Unity 3D zostało stworzone do wytwarzania gier komputerowych, jednak

w tej chwili jest używane przez przynamniej 15 firm z branży motoryzacyjnej (np. Audi). Dowodzi to

jego wiarygodności jako narzędzia do symulowania procesów fizycznych, także związanych z budową

pojazdów. Vehicle Physics Pro jest dziełem jednego człowieka, kierowcy rajdowego i mechanika,

Ediego Garcii. Walidację biblioteki potwierdza używanie jej między innymi przez Toyotę, BMW,

Volkswagena czy Scanię, a także jako podstawę innych symulatorów, np. D-Box [123] czy CXC

Simulator [124]. Oprócz tego jest ona używana w badaniach naukowych, np. [125] czy [126]. Warto też

zauważyć, że autor opisuje na swojej stronie i koncie w serwisie Twitter [127] wszystkie fizyczne

aspekty swojego produktu, sposób strojenia zawieszenia, różne modele opon, zależności komponentów

Page 76: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

76

układów napędowych, itd. Jednocześnie biblioteka dostępna jest w wersji z kodem źródłowym w języku

C#, co umożliwiło przekierowania sterowania z fizycznej kierownicy do zewnętrznego sterownika,

a następnie do urządzeń wykonawczych. Oferuje też wachlarz rzeczywistych systemów bezpieczeństwa

czynnego, co znacząco ułatwiło stworzenie symulowanego pojazdu referencyjnego, używanego

do porównania z IDSA, a także uwiarygodniło jego walidację.

3.2. Kalibracja pojazdu tradycyjnego

Pierwszym zadaniem, koniecznym do wykonania przed rozpoczęciem właściwych badań, było

opracowanie symulowanego referencyjnego pojazdu, sterowanego z wykorzystaniem klasycznych,

dobrze znanych, systemów bezpieczeństwa czynnego. Pozwalało to na uwzględnienie dwóch aspektów

– nauczenie się środowiska testowego oraz przygotowanie wiarygodnego punktu odniesienia, będącego

podstawą porównania z IDSA. Vehicle Physics Pro udostępnia dwa gotowe, skalibrowane samochody:

sportowy (stylizowany na model Ferrari) oraz terenowy (stylizowany na Mitsubishi). Jako że obydwa

przedstawiają dość skrajne przykłady pojazdów, podjęto próbę wykonania modelu zwykłego,

przeciętnego samochodu osobowego.

W tym celu posłużono się skórką (modelem graficznym) samochodu osobowego Ford Focus I generacji

w wersji sedan. Za decyzją stoi dostępność skórki oraz dokumentacji tego modelu.

W badaniach wziął udział pojazd skalibrowany, jednak w punktach 4.4.2 – 4.4.6 zbadano jego

wrażliwość na zmianę niektórych jego parametrów.

Samochód waży od ok. 1200 [𝑘𝑔] do ok. 1400 [𝑘𝑔] w zależności od wersji silnikowej

i wyposażeniowej. Założono medianę: 1300 [𝑘𝑔]. Samochód ma 4343 [mm] długości, 1840 [mm]

szerokości i rozstaw osi 2640 [mm]. Rozmiar kół wraz z oponami to 519 [mm]. Na początku badań

założono idealny rozkład masy 25% ma każde koło. Nie jest to prawdziwa wartość dla tego samochodu,

więc w trakcie badań testowano też inne rozkłady masy. Silnik 2.0 dostępny w tym samochodzie

generuje 107 [kW] oraz 193 [Nm]. Krzywe mocy i momentu obrotowego zobrazowane są na rysunku

30. Skala rysunku to 100 [Nm] i oraz 100 [kW] na osi rzędnych oraz 1000 [rpm] na osi odciętych.

Page 77: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

77

Rysunek 30 Krzywa mocy (niebieska linia) i momentu obrotowego (zielona linia) w zależności od prędkości obrotowej

silnika

Założono moment hamujący generowany przez hamulce 1927 [Nm] dla przedniej osi i 1373 [Nm] dla

tylnej osi, na podstawie badania drogi hamowania. W bibliotece Vehicle Physics Pro zaproponowano

stosunek siły przednich hamulców do tylnych hamulców jak 58:42. Całkowitą siłę hamulców określono

eksperymentalnie – dostosowując ją do zadeklarowanej przez producenta drogi hamowania od 100km/h

do zera wynoszącej 37,2 [m]. Do zamodelowania opon wykorzystano wbudowany model Pacejka,

dostosowując jego parametry na podstawie prawdziwych opon [128]. Parametry zawieszenia ustalono

korzystając z serwisu [129]. W ten sposób ustalono wartości pokazane w tabeli 7.

Tabela 7 Parametry zawieszenia pojazdu referencyjnego

Nazwa parametru Wartość dla przedniej osi Wartość dla tylnej osi

Współczynnik sprężystości

zawieszenia 53146 [

𝑁

𝑚]

Współczynnik tłumienia

zawieszenia 2353 [

𝑁

𝑚𝑠−1]

Długość skoku zawieszenia 0,24[𝑚]

Twardość stabilizatora 49[%] 51[%]

Ustawienia systemów bezpieczeństwa czynnego zaczerpnięto z przykładów dla samochodu osobowego,

będących częścią biblioteki Vechicle Physics Pro.

Page 78: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

78

Rysunek 31 Ustawienia systemów bezpieczeństwa czynnego

Na podstawie powyższej konfiguracji nie można powiedzieć, że modelowany samochód odpowiada

swojemu wizualnemu pierwowzorowi, jednak celem badań nie było przeprowadzenie eksperymentów

z użyciem konkretnego modelu, tylko ogólnego modelu samochodu. Uznano jednak, że w tej chwili był

on wystarczająco bliski istniejącemu fizycznie samochodowi, żeby uznać uzyskane z jego pomocą

wyniki badań za wiarygodne. Jednak modelowany do tej pory pojazd nie jest oferowany na rynku już

od kilku lat i nie korzysta z kilku rozwiązań ważnych dla niniejszych badań. W związku z tym,

zmodyfikowano używany model wyposażając go w napęd na 4 koła z wykorzystaniem mechanizmów

różnicowych, których konfigurację skopiowano z przykładowego samochodu sportowego, będącego

częścią biblioteki. Oprócz tego zastosowano skrętne koła tylne, skręcające proporcjonalnie z przednimi

w kierunku zależnym od prędkości jazdy. Przy prędkości mniejszej niż 60 [𝑘𝑚

ℎ] koła tylne skręcają

w kierunku przeciwnym do przednich, a powyżej tej prędkości skręcają w tym samym kierunku co

przednie. Problem zachowania przy zmianie prędkości rozwiązano stosując funkcję proporcji skrętu od

prędkości 𝑠(𝑣) wyrażoną równaniem

Page 79: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

79

𝑠(𝑣) = max(−1,min (

𝑣 − 60

10, 1)) (18)

oraz rysunkiem 32.

Rysunek 32 Wizualizacja funkcji (18) – zależność współczynnika skrętu kół od prędkości

Zachowanie tylnej osi skrętnej wydaje się skomplikowane, jednak jest typowym rozwiązaniem

dostępnym współcześnie na rynku.

Walidację wykonano zgodnie z metodyką zaproponowaną na stronie producenta, Vehicle Physics Pro,

czyli porównując zachowanie symulowanego samochodu z rzeczywistym, korzystając z nagrań

przedstawiających taki samochód podczas prób dynamicznych (slalom, jazda po okręgu, przyspieszenie,

hamowanie, pokonywanie progu zwalniającego), np. [130].

Zasymulowany w ten sposób pojazd nazywa się w tej pracy pojazdem referencyjnym. Na jego

podstawie, w sposób opisany w podrozdziale 3.3, utworzono symulowany pojazd sterowany

z wykorzystaniem IDSA. Podczas pracy nad pojazdem wykorzystującym IDSA, wszystkie jego

parametry fizyczne, niezwiązane z systemami bezpieczeństwa, pozostały niezmienione w stosunku

do pojazdu referencyjnego.

3.3. Realizacja IDSA na potrzeby badań

W celu przebadania IDSA, konieczna była jego implementacja. W tym celu napisano aplikację w języku

Java [131], która realizuje IDSA. Aplikację napisano w czystym języku, bez korzystania z gotowych

framework-ów. Aplikacja budowana jest z użyciem narzędzia Maven [132] i posiada tylko trzy

zależności. Biblioteka SnakeYAML [133] używana jest do parsowania konfiguracji utworzonej

z wykorzystaniem standardu YAML [134], biblioteka Commons Math [135] odpowiada za parsowanie

i wykonywanie działań matematycznych, a biblioteka tensorflow – do integracji z sieciami

neuronowymi. Wszystkie interfejsy, zarządzanie wątkami i struktury danych, wykonano ręcznie

z wykorzystaniem wyłącznie komponentów języka Java. Aplikacja dostępna jest w repozytorium [136].

Zdecydowano się na to rozwiązanie ze względu na bardzo dobrą znajomość języka i możliwość

ograniczenia stosu wywołań, co zapewniło wysoką wydajność i szybkość realizacji prototypu. Z drugiej

Page 80: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

80

strony wykorzystane biblioteki pozwoliły skrócić implementację i jednocześnie uniknąć błędu podczas

potencjalnej implementacji własnej.

Każdy logiczny proces, będący składową IDSA, wykorzystuje w zbudowanej aplikacji własną pulę

wątków o zdefiniowanym rozmiarze. Rozmiar każdej puli określono eksperymentalnie podczas

strojenia algorytmu. Wejściowe interfejsy sieciowe wyposażone są w oddzielne bufory

o „nieskończonym” rozmiarze (do wielkości dostępnej pamięci operacyjnej), które zapisują

przychodzące dane w oczekiwaniu na dostępny wątek procesora. Wszystkie procesy logiczne opisano

interfejsami programowymi, dzięki czemu umożliwiono ich wymianę bez zaburzania implementacji

pozostałych elementów.

Kierownica Logitech

G29

Komputer

System operacyjny

Podgląd symulacji on-line

Symulator

Zapis telemetrii do analizy

off-line

Interfejs wejściowy

Systemy bezpieczeństwa

czynnego Urządzenia wykonawcze

Symulacja fizyczna

Sensory

Rysunek 33 Model przepływu informacji z wykorzystaniem pojazdu referencyjnego

Bardzo ważne jest zrozumienie różnicy pomiędzy sterowaniem pojazdem referencyjnym

i z zastosowaniem IDSA. Na rysunku 33 zademonstrowano przepływ informacji z użyciem symulatora

i pojazdu referencyjnego, a na rysunku 34 zademonstrowano przepływ informacji w wykorzystaniem

symulatora i IDSA. Obydwa rysunki nie posiadają opisu danych na strzałkach ze względu na ich

czytelność. Jak widać na rysunkach, kierownica podłączona do komputera generuje strumień bitów

odpowiadający położeniu koła kierownicy i pedałów. Komponent „Interfejs wejściowy”, będący częścią

symulatora i biblioteki Vehicle Physics Pro, zamienia je na konkretne wartości zmiennoprzecinkowe

dla każdego kroku symulacji. Te wartości na rysunku 33 przekazywane są do urządzeń wykonawczych

i systemów bezpieczeństwa czynnego – dokładnie tak, jak w rzeczywistym, współczesnym

samochodzie. Jak widać, także dane z sensorów, zarówno dotyczących otoczenia pojazdu, jak i samego

pojazdu, przekazywane są do systemów bezpieczeństwa czynnego (rozwiązanie referencyjne)

lub wyłącznie do IDSA. Na rysunku 34 nie ma w ogóle systemów bezpieczeństwa czynnego ani

bezpośredniego połączenia pomiędzy kierownicą a urządzeniami wykonawczymi. Zamiast tego sygnał

jest przetwarzany przez aplikację realizującą IDSA. Następnie, w obu metodach symulacji, sygnał

przetwarzany jest przez symulator jako pozycja urządzeń wykonawczych oraz ostatecznie, jako

zachowanie pojazdu. Symulator udostępnia podgląd symulacji w czasie rzeczywistym oraz zapis stanu

Page 81: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

81

pojazdu (telemetrii) do późniejszej analizy. Podobnie IDSA udostępnia zapis swoich danych

(wszystkich przetwarzanych zmiennych) do późniejszej analizy. Mimo że symulacja realizowana jest

iteracyjnie (w kolejnych krokach symulacji), wejście i wyjście IDSA nie są powiązane czasowo

z symulacją. Połączenie pomiędzy symulatorem i aplikacją realizującą IDSA realizowane jest przez

interfejs sieciowy – protokoły TCP i UDP. Dzięki temu można łatwo rozdzielić symulację i IDSA

na dwa komputery lub zastąpić symulator rzeczywistym pojazdem, zmieniając tylko skonfigurowane

adresy IP.

Kierownica Logitech

G29

Komputer

System operacyjny

Podgląd symulacji on-line

Symulator

Zapis telemetrii do analizy

off-line

Interfejs wejściowy

Urządzenia wykonawcze

Symulacja fizyczna

Aplikacja realizująca IDSA

Interfejs sieciowy (pętla zwrotna)

Sensory

Zapis danych pośrednich do analizy off-line

Rysunek 34 Obecny model przepływu informacji z wykorzystaniem IDSA

Aplikację realizującą IDSA tworzono podczas jego strojenia, dobierając jej architekturę i szczegóły

implementacyjne do wybranych implementacji procesów składowych. Ta aplikacja konfigurowana jest

przez zbiór parametrów. Oprócz parametrów czysto technicznych, jak numery portów sieciowych

przeznaczonych do komunikacji z symulatorem, występują tu też parametry IDSA, np. maksymalne

stopnie wielomianów interpolujących funkcje. Ten proces został szerzej opisany w podrozdziale 4.3.

Page 82: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

82

4. BADANIA SYMULACYJNE ALGORYTMU

Pierwszym etapem badania IDSA, jednocześnie jedynym zrealizowanym w ramach tej pracy, jest

badanie symulacyjne. Polega ono na porównaniu pojazdu sterowanego w sposób tradycyjny

(podrozdział 3.2) oraz pojazdu sterowanego z wykorzystaniem IDSA (podrozdział 3.3). W tym celu

zaimplementowano symulator z dwoma fizycznie identycznymi pojazdami, wybrano ich parametry

(wejście symulacji), wskaźniki oceny (wyjście symulacji), określono ograniczenia, a następnie

zaprojektowano i przeprowadzono konieczne badania. Ich przebieg i wyniki zostały opisane w tym

rozdziale.

4.1. Podstawy badań symulacyjnych

Symulacja to inaczej naśladowanie zdarzeń, systemów lub bytów. W przypadku niniejszych badań

należy zawęzić tę definicję do symulacji komputerowej. Symulacja komputerowa to metoda

naśladowania rzeczywistości przy pomocy komputera, najczęściej bazująca na modelach

matematycznych. Badania symulacyjne z użyciem symulacji komputerowej, to ciąg czynności

prowadzących do analizy wycinka rzeczywistości przy pomocy realizowanych przez komputer modeli

matematycznych naśladujących ten wycinek. Najczęściej opierają się one na założeniu, mówiącym

że używane modele są wystarczająco dokładne, żeby wyniki tej analizy można było odnieść

(niekoniecznie w tożsamy sposób) do świata rzeczywistego.

W niniejszej pracy użyto konkretnego typu badań – eksperymentów czynnych. Taki eksperyment to

rodzaj przeprowadzania badań, polegający na wpływaniu na badany system i obserwacji jego

zachowania. Połączenie eksperymentów i symulacji daje ogromne możliwości powtarzania prób

w identycznych warunkach, a także zapewnia wysoką dokładność wpływania na symulowany obiekt,

często także wykracza poza granice istniejące w świecie rzeczywistym, np. granice fizyki.

Z powyższego wynika, że zastosowana metoda badań – komputerowe eksperymenty symulacyjne –

posiada zarówno zalety, jak i wady. Oprócz cech wymienionych powyżej, należy wspomnieć o niskiej

cenie, możliwości pracy bez nadzoru człowieka (na podstawie skryptów), wysokiej elastyczności,

ale z drugiej strony również o możliwych wątpliwościach, co do walidacji wyników badań.

Przed zaplanowaniem badań symulacyjnych, należało opisać ich zakres, czyli parametry, wskaźniki

oceny i ograniczenia.

4.1.1. Parametry

Zastosowane parametry badań symulacyjnych najłatwiej podzielić na domyślne i niestandardowe.

Parametry domyślne ukryte są w silniku symulacyjnym (Unity3D) oraz bibliotece Vehicle Physics Pro.

Istnieje możliwość ich zmiany, jednak nie było to wykonywane. Bardzo trudno opracować kompletną

listę takich parametrów, więc zakłada się, że wszystkie parametry inne niż wymienione w tej pracy,

to parametry domyślne, których wartości zgadzają się z fizyką i intuicją. Przykładem parametru

domyślnego jest kierunek i siła grawitacji, współczynnik tarcia – statycznego i dynamicznego – opony

o asfalt drogowy lub trawnik, parametry oporu aerodynamicznego czy szerokość pasa drogowego.

Parametry niestandardowe można podzielić na kilka grup. Pierwszą z nich są parametry fizyczne

nadwozia pojazdu, wymienione w podrozdziale 3.2: masa, rozkład masy i rozmiar samochodu. Kolejna

Page 83: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

83

grupa, opisana w tym samym miejscu, to parametry podwozia i silnika: charakterystyka silnika, rozstaw

i położenie osi, rozmiar kół, siła hamowania i jej rozkład, parametry opon i zawieszenia. Parametrem

symulacji można też nazwać trasę, po której poruszały się badane pojazdy, jednak zostanie to omówione

później.

Powyższy zestaw parametrów jest wspólny dla obu badanych pojazdów. Jeśli w danym eksperymencie

zdecydowano się na zmianę któregoś z nich (np. przesunięcie środka ciężkości samochodu), to

wykonano taką zmianę dla obu pojazdów – referencyjnego i sterowanego przez IDSA.

Należy też wymienić parametry właściwe wyłącznie dla jednego samochodu. W przypadku pojazdu

referencyjnego jest to zbiór ustawień systemów ABS, TCS, ECS oraz ASR, pokazany na rysunku 31.

Dla pojazdu sterowanego przez IDSA są to parametry IDSA, wymienione w podrozdziale 4.3.

4.1.2. Wskaźniki oceny

IDSA nie może być porównywany bezpośrednio do żadnego z istniejących algorytmów działających

we współczesnych pojazdach. Przykładowo we wszystkich samochodach wyposażonych w kamery,

stosuje się algorytmy przetwarzania obrazu. Ich celem jest np. poprawa parametrów obrazu,

klasteryzacja, klasyfikacja itd. W nowoczesnych samochodach stosuje się też algorytmy z grupy SLAM,

których celem jest zlokalizowanie obserwatora w otoczeniu i zlokalizowanie w nim innych obiektów.

Idąc dalej, istnieją algorytmy, które wykorzystują tę wiedzę do uruchomienia awaryjnego hamowania.

Ich celem jest wykrycie sytuacji, w której kierowca nie był dostatecznie uważny i dopuścił do

wystąpienia sytuacji niebezpiecznej. Kiedy wszystkie powyższe systemy zadziałają, kolejny system –

ABS – uruchamia się w celu uniknięcia zablokowania kół podczas hamowania. Każdy z powyższych

celów można poddać ocenie w swojej kategorii, a czasami nawet w kilku kategoriach. Jednak rolą IDSA

nie jest analiza obrazu, mapowanie otoczenia, wykrywanie zagrożeń czy uniknięcie blokowania kół.

Jego celem jest przede wszystkim zwiększenie bezpieczeństwa, a w drugiej kolejności – zapewnienie

komfortu jazdy. W powyższym scenariuszu można więc ocenić go tylko w kategoriach uniknięcia

kolizji i – w drugiej kolejności – wysokości przyspieszeń działających na pasażerów.

Warto zauważyć, że IDSA wypełnia niektóre powyższe funkcje (np. analizuje obraz), ale też

nie wypełnia wprost innych (np. nie zapobiega poślizgowi kół). Innymi słowy, nie istnieje

w nim komponent odpowiedzialny za zapobieganie blokowaniu kół. Jeśli algorytm uzna, że można

lub nawet należy je zablokować, to powinien wykonać taką operację i nie powinno się oceniać go za to

negatywnie. Takie same zadania, realizowane przez procesy składowe w przypadku IDSA

i odseparowane algorytmy w klasycznym podejściu, też nie są podstawą do ich bezpośredniego

porównania - i to z dwóch powodów. Po pierwsze, te zadania wykonywane są w różnych celach (np.

w przypadku IDSA wyjściem z procesu analizy obrazu jest od razu geometryczna mapa otoczenia, a nie,

np. obraz poprawiony filtrami graficznymi) oraz w różny sposób (w przypadku IDSA mapę generuje

algorytm z pamięcią). Po drugie, takie porównanie nie miałoby żadnej wartości. Nawet jeśli konkretny

proces będący częścią IDSA realizowałby dokładnie to samo zadanie gorzej niż dedykowany system

używany we współczesnych samochodach, to nie ma to znaczenia dopóty, dopóki nie obniża to oceny

całego IDSA. Mówiąc inaczej, nie zakłada się, żeby niższa ocena procesu składowego oznaczała niższą

ocenę całego IDSA. Można uznać za celowe obniżenie jakości pracy pojedynczego procesu, np. w celu

zaoszczędzenia zasobów, jeśli nie cierpi na tym ocena całego IDSA.

Page 84: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

84

W związku z powyższym zdecydowano się na ocenę zachowania pojazdu w ujęciu holistycznym

lub inaczej systemowym, czyli całego samochodu w konkretnych sytuacjach, a nie na porównaniu

konkretnych, istniejących systemów wspomagania kierowcy do procesów składowych IDSA.

Jak już było powiedziane, IDSA wykonuje optymalizację z użyciem dwóch kryteriów – bezpieczeństwa

i komfortu jazdy. Należy w związku z tym zdefiniować, jak można to bezpieczeństwo i komfort ocenić

ilościowo.

Proponuje się następujące cząstkowe wskaźniki oceny.

Wskaźnik 𝑞1 – przechylenie samochodu wzdłuż osi wzdłużnej

Wskaźnik ten jest równoważny zmiennej 𝑝, wskazanej w standardzie przedstawionym na rysunku 1.

Jest istotny przede wszystkich podczas pokonywania zakrętów. Jego wysoka wartość bezwzględna

oznacza, że samochód mocno się przechylił, co należy ocenić negatywnie z dwóch powodów.

Na potrzeby tego wyjaśnienia zakłada się, że samochód skręca w prawo. Jeśli przechyla się przy tym

z powodu działającej na niego siły odśrodkowej, to przechyla się w lewo. W ten sposób dociąża

zawieszenie i opony z lewej strony i jednocześnie odciąża, a w skrajnej sytuacji nawet podnosi, koła

z prawej strony. Większość typów zawieszeń samochodowych pracuje najlepiej ze średnim

obciążeniem, co należy rozumieć tak, że zachowuje swoje parametry (współczynnik sprężystości

i tłumienia), kiedy nie jest za bardzo ani ściśnięte, ani rozciągnięte. W tym przypadku zawieszenie

z lewej strony jest mocno ściśnięte, a po prawej mocno rozciągnięte. Idąc dalej, opony z lewej strony

również są ściśnięte, a ich bieżnik zniekształcony, co negatywnie wpływa na ich współczynnik tarcia

i zdolność odprowadzania wody. Z drugiej strony jest to skompensowane przez większy nacisk na te

opony. Warto jednak zauważyć, że z prawej strony występuje zarówno zniekształcenie bieżnika, jak

i zmniejszenie nacisku, co ogranicza tarcie [137].

Powyższy opis dotyczy negatywnego wpływu przechylenia samochodu na bezpieczeństwo jazdy.

Oprócz tego, przechylenie samochodu, bezdyskusyjnie, ogranicza również komfort podróżnych.

Wskaźnik 𝑞2 – zmiana prędkości poruszania się

Kolejny wskaźnik brany pod uwagę, to zmiana prędkości podczas prób dynamicznych, czyli różnica

pomiędzy prędkością skrajną (najniższą lub najwyższą) a prędkością początkową. Najczęściej jest to

utrata prędkości końcowej w stosunku do prędkości początkowej. Podczas badań zaobserwowano, że

podczas wykonywania manewrów z wykorzystaniem samochodu referencyjnego, następuje znaczna

utrata prędkości. Jej powodem jest działanie obecnych w pojeździe systemów bezpieczeństwa, które

opierają się na przyhamowywaniu konkretnych kół, co w rezultacie zmniejsza prędkość pojazdu.

W sytuacji zagrożenia utrata prędkości może być zjawiskiem negatywnym, ponieważ może powodować

konieczność ponownego rozpędzenia pojazdu, np. w celu pokonania kolejnej przeszkody. Idealnym

przykładem zagrożenia wynikającego z utraty prędkości jest tzw. test łosia. Podczas tego eksperymentu

samochód gwałtownie zmienia pas ruchu, a następnie gwałtownie wraca na swój pierwotny tor jazdy.

Symuluje to ominięcie pojawiającego się na drodze łosia i szybką ucieczkę na swój pas przed

nadjeżdżającym z naprzeciwka pojazdem. Jeśli prędkość samochodu została zmniejszona, czas

wykonania całego manewru wydłuża się, przez co samochód dłużej porusza się kolizyjnie w stosunku

do samochodów nadjeżdżającymi z przodu.

Page 85: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

85

Wskaźnik 𝑞3 – wymagany skręt kierownicy

Kolejnym badanym wskaźnikiem jest maksymalny kąt, o który konieczne było obrócenie kierownicy

podczas manewru. Z punktu widzenia bezpieczeństwa podczas gwałtownych manewrów najlepiej

byłoby, gdyby kierowca nigdy nie odrywał rąk od kierownicy, co dawałoby możliwość pełnego skrętu

kół od prawej do lewej, przy maksymalnie jednym, pełnym obrocie kierownicą. Z drugiej strony taka

kalibracja układu kierowniczego utrudniłaby jazdę na wprost, podczas której dokonuje się tylko

niewielkich korekt toru jazdy. Z tego powodu stosuje się dwa rozwiązania – zmienne lub aktywne

przełożenie układu kierowniczego. Zmienne przełożenie układu kierowniczego, to zależność

określająca o ile skręcają się koła samochodu przy konkretnym skręcie koła kierownicy. Przykładowo

wartość tego parametru 2: 1 oznacza, że na każde 2[°] skrętu kierownicy przypada 1[°] skrętu kół.

Zmienne przełożenie układu kierowniczego reprezentowane jest przez funkcję przełożenia

od aktualnego skrętu. W ten sposób, podczas jazdy prosto lub prawie prosto, przełożenie jest większe

niż podczas pokonywania ostrego zakrętu. Innym rozwiązaniem, drogim w realizacji, przy pomocy

fizycznego układu kierowniczego, jest aktywne przełożenie tego układu. Uzależnia ono wartość

przełożenia od prędkości jazdy lub gwałtowności skrętu (prędkości kątowej koła kierownicy).

Samochód referencyjny używa zmiennego przełożenia układu kierowniczego, a IDSA implementuje

przełożenie aktywne. Na potrzeby badań założono, że optymalizacja tego wskaźnika, to jego

minimalizacja.

Wskaźniki 𝑞4 oraz 𝑞5 – poślizg opon

Ten wskaźnik podzielono na dwa – maksymalny poślizg koła, zmierzony podczas przeprowadzanego

testu (𝑞4) oraz minimalny poślizg spośród pozostałych kół, zmierzony w tej samej chwili (𝑞5). Poślizg

jest obliczany przy pomocy symulatora, jako prędkość liniowa opony w miejscu styku z powierzchnią,

po której się porusza. Im większy poślizg, tym mniejsze bezpieczeństwo. Wynika to z różnicy pomiędzy

tarciem dynamicznym (kiedy koło się ślizga) a tarciem statycznym (bez poślizgu). Im mniejsze tarcie

(a większy poślizg), tym trudniej opanować samochód.

Wskaźnik 𝑞6 – czas przejazdu

Czas potrzebny na pokonanie trasy testowej, liczony od rozpoczęcia pierwszego skrętu na trasie

do wyprostowania toru jazdy po wykonaniu manewru lub wszystkich potrzebnych manewrów. Wysoka

wartość tego wskaźnika oznacza, że przejazd zajął więcej czasu, co należy rozumieć jako zachowanie

mniej pewne, a co za tym idzie – mniej bezpieczne.

Wskaźnik 𝑞7 - uniknięcie wypadku

Wskaźnik przyjmuje wartość 1, jeśli podczas przejazdu nie doszło do kolizji oraz zachowano zadany

pas ruchu, lub wartość 0, jeśli testowany pojazd w coś uderzył lub swój pas ruchu opuścił.

W podrozdziale 4.4 wypadek jest rozumiany jako opuszczenie zadanego toru i niezaliczenie

konkretnego przejazdu.

Wskaźniki zagregowane 𝑄𝐾 oraz 𝑄𝐵 – komfort jazdy i bezpieczeństwo

Na podstawie powyższych wskaźników oceny opracowano dwa główne wskaźniki, używane do oceny

algorytmu.

Page 86: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

86

Bezpieczeństwo będzie oznaczane przez 𝑄𝐵 , a komfort przez 𝑄𝐾 . Te zmienne wyliczane są według

wzorów

𝑄𝐵 = {∑𝛼𝑖(1 − �̅�𝑖), jeżeli 𝑞7 = 1

6

𝑖=1

0, jeżeli 𝑞7 = 0

, (19)

𝑄𝐾 = {∑𝛽𝑖(1 − �̅�𝑖), jeżeli 𝑞7 = 1

6

𝑖=1

0, jeżeli 𝑞7 = 0

, (20)

gdzie

a) wartość �̅�𝑖 jest unormowaną wartością 𝑞𝑖 obliczaną jako

�̅�𝑖 =

{

1, jeżeli w eksperymencie nie mierzono wartości 𝑞𝑖𝑞𝑖 − 𝑞𝑖,𝑚𝑖𝑛

𝑞𝑖.𝑚𝑎𝑥 − 𝑞𝑖,𝑚𝑖𝑛, jeżeli w eksperymencie mierzono 𝑞𝑖 dla 𝑖 ≠ 2

min(𝑞𝑖 , 0)

𝑞𝑖.𝑚𝑖𝑛, jeżeli w eksperymencie mierzono 𝑞𝑖 dla 𝑖 = 2

, (21)

b) 𝑞𝑖,𝑚𝑖𝑛 , 𝑞𝑖,𝑚𝑎𝑥 są odpowiednio najmniejszą i największą wartością wskaźnika 𝑞𝑖

w przeprowadzonych eksperymentach,

c) 𝛼𝑖, 𝛽𝑖 ∈ [0,1] są nieujemnymi współczynnikami wagowymi wskaźników składowych takimi,

że

∑𝛼𝑖

6

𝑖=1

= 1,∑𝛽𝑖

6

𝑖=1

= 1. (22)

Różnica w normalizacji wskaźnika 𝑞2 w stosunku do pozostałych wskaźników wynika z tego, że jego

najlepszą wartością jest 𝑞2 = 0, oraz im niższe wartości ujemne, tym gorsza ocena, oraz wartości 𝑞2 >

0 nie są oceniane wyżej, niż wartość 𝑞2 = 0 . Dla wszystkich innych wskaźników 𝑞1, 𝑞3, 𝑞4. 𝑞5. 𝑞6

wartość niższa oznacza lepszą ocenę.

Wartości współczynników 𝛼𝑖, 𝛽𝑖 wyznaczono arbitralnie biorąc pod uwagę spodziewany wpływ danego

wskaźnika 𝑞𝑖 na bezpieczeństwo i komfort oraz potwierdzając te wagi podczas eksperymentów

Page 87: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

87

obliczeniowych, gdzie sprawdzano dla jakich 𝛼𝑖 oraz 𝛽𝑖 , wskaźniki 𝑄𝐵 oraz 𝑄𝐾 najlepiej wyrażały

subiektywną ocenę bezpieczeństwa i komfortu. Zdecydowano się na wartości przedstawione w tabeli 8.

Tabela 8 Wartości wag używanych do obliczenia wskaźników zagregowanych

waga wartość

𝛼1 0

𝛼2 1

11

𝛼3 2

11

𝛼4 4

11

𝛼5 3

11

𝛼6 1

11

𝛽1 6

10

𝛽2 1

10

𝛽3 3

10

𝛽4 0

𝛽5 0

𝛽6 0

Jak widać w tabeli 8, najważniejszym wskaźnikiem dotyczącym bezpieczeństwa (oprócz oczywistego

𝑞7) jest maksymalny poślizg 𝑞4. Tylko niewiele mniej istotny jest minimalny poślizg 𝑞5. Kolejną wagę

nadano potrzebnemu skrętowi kierownicy 𝑞3. Na ostatnim miejscu znalazły się z równą wagą: utrata

prędkości 𝑞2, oraz czas przejazdu 𝑞6. Dla komfortu najważniejszym wskaźnikiem jest przechylenie

nadwozia 𝑞1. Dwukrotnie mniej istotny jest wymagany skręt kierownicą 𝑞3. Wyraźnie mniejszy wpływ

na komfort ma ewentualne przyhamowanie podczas manewru 𝑞2.

4.1.3. Ograniczenia

Podobnie, jak w przypadku parametrów opisanych w punkcie 4.1.1, część ograniczeń jest domyślna

i intuicyjna. Przykładowo, siła hamująca nie może być nieskończona, a opona idealnie przyczepna.

Oprócz tego wprowadzono też ograniczenia nieoczywiste, wymienione w tabeli 9.

Page 88: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

88

Tabela 9 Ograniczenia

Ograniczenie Wartość i opis

Kierunek ruchu

Na potrzeby badań założono, że samochód

porusza się wyłącznie do przodu. Dzięki temu

można było odciążyć komputer poprzez

wyłączenie czujników skierowanych do tyłu.

Maksymalny skręt kół przednich 45[°]

Maksymalny skręt kół tylnych 10[°]

Maksymalny moment obrotowy silnika 193[𝑁𝑚]

Liczba badanych nawierzchni, po których

porusza się pojazd Ograniczono badania do trawy i asfaltu

Maksymalna siła hamulców z przodu 1927[N]

Maksymalna siła hamulców z tyłu 1373[𝑁]

Minimalny współczynnik sprężystości

zawieszenia przedniego 40000 [

𝑁

𝑚]

Maksymalny współczynnik sprężystości

zawieszenia przedniego 80000 [

𝑁

𝑚]

Minimalny współczynnik tłumienia zawieszenia

przedniego 1000 [

𝑁

𝑚𝑠−1]

Maksymalny współczynnik tłumienia

zawieszenia przedniego 5000 [

𝑁

𝑚𝑠−1]

Minimalny współczynnik sprężystości

zawieszenia tylnego 40000 [

𝑁

𝑚]

Maksymalny współczynnik sprężystości

zawieszenia tylnego 80000 [

𝑁

𝑚]

Minimalny współczynnik tłumienia zawieszenia

tylnego 1000 [

𝑁

𝑚𝑠−1]

Maksymalny współczynnik tłumienia

zawieszenia tylnego 5000 [

𝑁

𝑚𝑠−1]

Maksymalne opóźnienie wykonania sterowania

0,1[𝑠] Opóźnienie jest losowane z zakresu od 0

do wartości maksymalnej. Odpowiada ono

opóźnieniu w realizacji sterowania przez

fizyczne realizatory

Część ograniczeń jest oczywista, wystarczyło tylko wybrać ich wartości (np. maksymalny skręt kół).

Pozostałe wprowadzono w celu ograniczenia zasobów używanych przez symulator lub celowego

ograniczenia zakresu badań.

4.2. Plan badań

Badania przedstawione w niniejszej pracy podzielono na dwie części. Pierwsza z nich zakładała

wykonanie algorytmu, a druga – jego przetestowanie. Warto zauważyć, że nie można wyraźnie

rozdzielić obu części pracy. Kiedy wydawało się, że pierwsza z nich jest już skończona, wielokrotnie

podczas badań okazywało się, że algorytm należy jeszcze dostroić, żeby działał lepiej – zarówno

Page 89: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

89

w kontekście parametryzacji procesów, jak i wyboru ich implementacji. W podrozdziale 4.4 badania

rozpoczęto od dostrojonej wersji IDSA, jednak w punktach 4.4.10 – 4.4.13 zbadano wrażliwość IDSA

na zmianę niektórych jego parametrów.

4.2.1. Wykonanie IDSA

Przed przystąpieniem do testów funkcjonalnych IDSA, należało go wykonać i nastroić. Podczas

realizacji tego zadania dość trudne stało się oddzielenie samego algorytmu od jego implementacji,

będącej jednocześnie jego strojeniem. W punkcie 1.4.2 określono, że jednym z wymagań stawianych

przed algorytmem jest jego wykonywalność. Z drugiej strony, opis IDSA w rozdziale 2 nie jest

precyzyjny na tyle, żeby można było go wykonać bez wybrania implementacji poszczególnych

procesów. Oznacza to, że częścią strojenia IDSA jest nie tylko dobór parametrów do procesów go

realizujących, ale także wybranie samych procesów tak, żeby spełniały zdefiniowane zależności

wejściowo-wyjściowe (interfejsy programistyczne). Zarówno sam algorytm (rozdział 2), jak i jego

strojenie, czyli implementacja i parametryzacja jego procesów (podrozdział 4.3), były wykonywane

jednocześnie. Oznaczało to konieczność tymczasowego „mock-owania” (podstawiania sztucznych

elementów zamiast prawdziwej implementacji) pozostałych procesów na czas implementacji jednego

z nich. W tym celu stosowano proste przekształcenia zamiast docelowych procesów lub zapisane

w kodzie wartości obliczone ręcznie.

4.2.2. Testowanie IDSA

Gdy uznano, że IDSA jest kompletny i wystarczająco sprawny, zaproponowano scenariusz badań,

mających na celu porównanie go z istniejącymi rozwiązaniami. Zaproponowano wskaźniki oceny

(punkt 4.1.2) i próby dynamiczne w różnych warunkach, a następnie metodę ograniczenia ilości

wszystkich testów.

Zaproponowano 4 trasy testowe:

Test łosia

Test polegający na gwałtownej zmianie pasa ruchu i gwałtownym powrocie na pierwotny pas,

symulujący ominięcie wybiegającego na jezdnię łosia. Przebieg testu został przedstawiony na rysunku

35. Wartość B na tym rysunku oznacza maksymalną szerokość samochodu mierzoną pomiędzy

zewnętrznymi krawędziami opon. Pozostałe wartości podane są w metrach. Test zmodyfikowano

względem standardu ISO 3888:1975 [138], poprzez wydłużenie odcinka zmiany pasa do 60[𝑚], w celu

zbadania zachowania pojazdu przy wyższych prędkościach. Podczas tego testu badano wyłącznie

wskaźniki oceny 𝑞1, 𝑞2 oraz 𝑞3. Uznano, że wskaźnik 𝑞2 (utrata prędkości) jest wystarczający, więc

nie ma potrzeby badania wskaźnika 𝑞6, a wskaźniki 𝑞4 i 𝑞5 nie są istotne, ponieważ w tym manewrze

poślizg kół może być zjawiskiem pożądanym, pomagającym utrzymać zadaną trajektorię ruchu.

Page 90: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

90

Rysunek 35 Test łosia [139]

Ciasny zakręt

Test przedstawiony na rysunku 36, polegający na pokonaniu zakrętu 90[°] , którego promień

wewnętrzny wynosi 5[𝑚], a szerokość pasa (w zakręcie, przed zakrętem i za zakrętem) to 3,5[𝑚].

Dobór badanych na tej trasie wskaźników oceny jest taki sam, jak dla testu łosia. Czas przejazdu 𝑞6

zastąpiono utratą prędkości 𝑞2, a możliwy poślizg uznano za akceptowalny i nieszkodliwy.

Rysunek 36 Ciasny zakręt

Długi zakręt

Test przedstawiony na rysunku 37, polegający na jeździe ciągłej (nieskończenie długi zakręt lub rondo)

po zakręcie, którego promień wewnętrzny wynosi 15[𝑚], a szerokość pasa 3,5[𝑚]. Ta trasa została

stworzona wyłącznie do badania poślizgów (wskaźniki oceny 𝑞4 oraz 𝑞5 ). Ze względu na jazdę po

Page 91: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

91

okręgu ze stałym promieniem i ze stałą prędkością, czas przejazdu 𝑞6 i utrata prędkości 𝑞2 nie mają

żadnego sensu, a skręt kierownicy nie ma żadnego znaczenia.

Rysunek 37 Długi zakręt

Slalom

Test przedstawiony na rysunku 37, polegający na naprzemiennym (raz z prawej – raz z lewej) ominięciu

20 pachołków ustawionych w odległości 5-6 razy większej, niż rozstaw osi pojazdu. W tym przypadku

rozstaw osi wynosi 2615[𝑚𝑚], więc założono odległość między pachołkami 15[𝑚]. W przypadku tego

toru testowego istotne były wszystkie wskaźniki oceny – przechył 𝑞1, wymagany skręt kierownicy 𝑞3,

poślizgi 𝑞4 oraz 𝑞5. Ze względu na długość trasy do badania czasu przejazdu zastosowano wskaźnik 𝑞6

zamiast 𝑞2.

Rysunek 38 Slalom

15[m] 3,5[m]

15[m]

Page 92: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

92

Warunki przeprowadzania eksperymentów

Zaproponowano eksperymenty polegające na zmianie parametrów przedstawionych w tabelach 10 – 13.

Tabela 10 Parametry fizyczne samochodu

Parametr Oznaczenie i wartość domyślna

Liczba

badanych

wartości

Cel badania

Masa własna 𝑚𝑐 = 1300[𝑘𝑔] 2

Wpływ podniesienia

masy (załadunku)

na zachowanie pojazdu

Stosunek masy

przypadającej na

każde z kół

𝑚𝑟 = [0,25; 0,25; 0,25; 0,25] 3

Wpływ

nierównomiernego

załadunku

na zachowanie pojazdu

Długość

zawieszenia 𝑙𝑠 = 0,388[𝑚] 2

Możliwość działania

algorytmu

w samochodzie

uterenowionym

Rodzaj opon 𝑜 (wartość domyślna:

rysunek 52) 2

Wpływ zużycia opon

na zachowanie pojazdu

Tabela 11 Parametry dotyczące IDSA lub jego składowych

Parametr Oznaczenie i wartość domyślna

Liczba

badanych

wartości

Cel badania

Bezwładność

urządzeń

wykonawczych

EXECUTION_DELAY = 0,1[s] 2

Wpływ na działanie

algorytmu zwiększenia

bezwładności urządzeń

wykonawczych

Stopień

wielomianu

aproksymującego

APPROXIMATION_DEGREE=

3 4

Wpływ na działanie

algorytmu zastosowania

wielomianu o małym,

dużym lub bardzo

dużym stopniu

Liczba wątków

aproksymujących

APPROXIMATION_THREAD

_POOL_SIZE=3 2

Wpływ na działanie

algorytmu zmniejszenia

ilości wątków

aproksymujących

(wydłużenia czasu

pomiędzy kolejnymi

aproksymacjami tej

samej funkcji)

Page 93: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

93

Parametr Oznaczenie i wartość domyślna

Liczba

badanych

wartości

Cel badania

Czas generacji

w procesie

predykcji

trajektorii

TRAJECTORY_EVOLUTION_

TIME

=0,1[s]

3

Wpływ na działanie

algorytmu zwiększenia

jakości trajektorii

kosztem czasu jej

generowania

lub zmniejszenia jakości

trajektorii na rzecz czasu

jej generowania

W przypadku parametrów 𝑚𝑐 ,𝑚𝑟, 𝑙𝑠, 𝑜 przedstawionych w tabeli 12, nie planowano skupiać się

na konkretnych wartościach, a raczej na ogólnym zwiększeniu lub zmniejszeniu czułości

poszczególnych systemów bezpieczeństwa czynnego.

Tabela 12 Parametry dotyczące samochodu referencyjnego

Parametr

Oznaczenie i wartość domyślna Liczba

badanych

wartości

Cel badania

Ustawienia ABS

(rysunek 31)

3 Wpływ zmiany ustawień

układu na zachowanie

pojazdu

Ustawienia TSC 3

Ustawienia ESC 3

Ustawienia ASR 3

Współczynnik

sprężystości

zawieszenia

SUSPENSION_FRONT_LEFT

_DAMPING_RATE=53146 [𝑁

𝑚]

SUSPENSION_FRONT_RIGHT

_DAMPING_RATE=53146 [𝑁

𝑚]

SUSPENSION_REAR_LEFT

_DAMPING_RATE=53146 [𝑁

𝑚]

SUSPENSION_REAR_RIGHT

_DAMPING_RATE=53146 [𝑁

𝑚]

3

Wpływ zmiany

parametrów zawieszenia

na zachowanie pojazdu

Page 94: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

94

Parametr

Oznaczenie i wartość domyślna Liczba

badanych

wartości

Cel badania

Współczynnik

tłumienia

zawieszenia

SUSPENSION_FRONT_LEFT

_SPRING_RATE=2353 [𝑁

𝑚𝑠−1]

SUSPENSION_FRONT_RIGHT

_ SPRING_RATE=2353 [𝑁

𝑚𝑠−1]

SUSPENSION_REAR_LEFT

_ SPRING _RATE=2353 [𝑁

𝑚𝑠−1]

SUSPENSION_REAR_RIGHT

_SPRING _RATE=2353 [𝑁

𝑚𝑠−1]

3

Tabela 13 Pozostałe parametry

Parametr

Liczba

badanych

wartości

Cel badania

Rodzaj

nawierzchni 3

Zbadanie zachowania pojazdu na asfalcie, trawie i nawierzchni

mieszanej (o mieszanej przyczepności)

Gładkość

nawierzchni 2

Zbadanie zachowania pojazdu na nawierzchni gładkiej

i nierównej (z dziurami i wypukłościami)

Prędkość 10 Próba określenia wartości granicznej, przy której pojazd

przestaje zachowywać się zadowalająco

Jak wynika z tabel 11 – 13:

a) ze względu na parametry fizyczne pojazdu należałoby wykonać 2 ⋅ 3 ⋅ 2 ⋅ 2 = 24 jazdy

testowe,

b) ze względu na parametry dotyczące IDSA należałoby wykonać 2 ⋅ 4 ⋅ 2 ⋅ 3 = 48 jazd

testowych,

c) ze względu na parametry samochodu referencyjnego należałoby wykonać 3 ⋅ 3 ⋅ 3 ⋅ 3 ⋅ 3 ⋅ 3 =

729 jazd testowych,

d) ze względu na pozostałe parametry należałoby wykonać 3 ⋅ 2 ⋅ 10 = 60 jazd testowych.

Łatwo policzyć, że należałoby wykonać 24 ⋅ 729 ⋅ 60 = 1049760 jazd samochodem referencyjnym

oraz 48 ⋅ 729 ⋅ 60 = 2099570 jazd samochodem wyposażonym w IDSA. Jeśli pomnożymy to

przez liczbę tras testowych, założymy konieczność wykonania przynajmniej 4 takich samych

przejazdów, żeby uśrednić zachowanie kierowcy, oraz założymy, że każda jazda zajmuje około 30[𝑠],

to możemy policzyć, że wszystkie eksperymenty trwałyby 1 511 678 400[𝑠], czyli prawie 48 lat.

W związku z tym oczywista okazała się konieczność ograniczenia zakresu badań. Uznano, że można

zrezygnować z testowania samochodów powyżej prędkości granicznych – jeśli samochód nie zaliczył

ani jednej próby przy danej prędkości, to nie było przesłanek do dalszego jej zwiększania. Oprócz tego

Page 95: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

95

zdecydowano się badać zmianę parametrów fizycznych, dotyczących IDSA oraz pojazdu

referencyjnego tylko pojedynczo (z zachowaniem wartości uznanej za optymalną dla pozostałych

parametrów). Zrezygnowano zupełnie z badania wpływu gładkości nawierzchni na algorytm oraz

zastosowano nawierzchnię o zmiennej przyczepności wyłącznie dla próby przejazdu przez długi zakręt

(w pierwszej fazie testów ten konkretny test, w takich warunkach, dawał najciekawsze rezultaty).

Oprócz tego zdecydowano się nie powtarzać czterokrotnie jazd testowych, jeśli wyniki nie są

interesujące (np. prędkość jest niska, więc samochód nie przechyla się i nie traci przyczepności).

Okazało się, że zmiany parametrów systemów ABS i ASR nie wpływają na wyniki badań, ze względu

na brak scenariuszy testowych weryfikujących bezpośrednio te systemy, natomiast badanie wpływu

ECS i TSC ograniczono do ich wyłączenia lub włączenia. Wykluczono też badanie wpływu długości

zawieszenia na pojazd. Po uwzględnieniu tych ograniczeń oszacowano czas przeprowadzania

eksperymentów na poniżej 40 godzin i uznano go za akceptowalny do dalszego postępowania.

4.3. Strojenie IDSA

Na początku tego podrozdziału należy podkreślić, że zadanie strojenia IDSA nie opiera się wyłącznie

na ustalaniu parametrów IDSA, ale też na ustalaniu całych implementacji konkretnych procesów.

Dlatego w niniejszym tekście skupiono się na opisie implementacji procesów – których interfejsy

w postaci zależności wejściowo-wyjściowych opisano w rozdziale 2 – oraz ich parametrach.

W większości są to parametry tej konkretnej implementacji IDSA, a nie jego ogólnego modelu.

4.3.1. Dyskretno-ciągły magazyn danych

Wybór implementacji

Punktem centralnym IDSA, służącym innym elementom do komunikacji, jest magazyn danych. Jak

pokazano na rysunku 18, składa się on z dwóch magazynów danych i dwóch typów procesów.

Magazyny postanowiono zrealizować jako typowe mapy składające się z kluczy i wartości, dbając przy

tym o zabezpieczenie dostępu wielowątkowego. Kluczami magazynu dyskretnego są nazwy

przechowywanych zmiennych, a wartościami – kolejne mapy, składające się ze znacznika czasowego

i wartości zmiennej (rysunek 39). Magazyn dyskretny posiada funkcję zwracającą zadaną liczbę

najnowszych pomiarów, oraz sam usuwa stare pomiary. Początkowo eksperymentowano z czasem

przechowywania pomiarów, ale proces ich czyszczenia niepotrzebnie zużywał zasoby, więc ostatecznie

zdecydowano się na implementację kolejki o zdefiniowanym rozmiarze, która gdy jest już pełna, usuwa

najstarszy element, aby przyjąć nowy. Magazyn ciągły (rysunek 40) składa się z mapy używającej jako

klucza również nazwy zmiennej, ale jej wartościami są funkcje ciągłe. Jako że używane funkcje mają

postać wielomianową o znanym, maksymalnym stopniu, ich zapis w pamięci to tablica ich

współczynników o znanym rozmiarze.

Page 96: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

96

Zmienna_1

Znacznik czasowy 1

Znacznik czasowy 2

Znacznik czasowy 3

Wartość 1

Wartość 2

Wartość 3

Klucz Wartość

Klucz Wartość

Zmienna_2

Znacznik czasowy 4

Znacznik czasowy 5

Znacznik czasowy 6

Wartość 4

Wartość 5

Wartość 6

Klucz Wartość

Zmienna_3

Znacznik czasowy 7

Znacznik czasowy 8

Znacznik czasowy 9

Wartość 7

Wartość 8

Wartość 9

Klucz Wartość

Rysunek 39 Przykładowy magazyn dyskretny

Zmienna_1 Tablica współczynników funkcji 1

Klucz Wartość

Zmienna_2

Zmienna_3

Tablica współczynników funkcji 2

Tablica współczynników funkcji 3

Rysunek 40 Przykładowy magazyn ciągły

Dyskretno-ciągły model danych składa się też z dwóch procesów. Jako proces wyznaczania funkcji,

zdecydowano się użyć implementacji PolynomialCurveFitter z pakietu Apache Commons Math 3 [140].

Drugim procesem jest proces zarządzania zadaniami wyznaczania funkcji. To zadanie również było

przedmiotem eksperymentów. Ostatecznie zdecydowano się zaimplementować własny system

kolejkowy oparty o dedykowaną pulę wątków. Do kolejki trafiają zadania wyznaczenia funkcji

dla każdej zmiennej. Pierwszy wolny wątek pobiera zadanie z kolejki, wyznacza funkcję ciągłą

na podstawie jej wartości dyskretnych i przekazuje zmienną do magazynu tymczasowego, skąd po

określonym czasie trafia ona znów do kolejki. W ten sposób wątek wykonujący obliczenia nie jest

blokowany na czas oczekiwania przed ponownym umieszczeniem zmiennej w kolejce. Początkowo

Page 97: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

97

proponowano nieskończone sklejanie nowych funkcji z ich historycznymi odpowiednikami,

zachowując wartość i pochodną w miejscu łączenia w celu dokładnego śledzenia obiektu w całej historii

jego obserwacji, ale okazało się to nadmiarowe. Bardziej niż historia pomiarów istotna jest ich

ekstrapolacja.

Strojenie magazynu zrealizowano przekazując wejściowe położenie kierownicy bezpośrednio do układu

kierowniczego i obserwując jego zachowanie. Zachowaniem pożądanym był brak zakłóceń

(nieplanowanych zmian kierunku jazdy) i nieodczuwalne opóźnienie.

Wartości parametrów magazynu danych

W powyższym opisie wyboru zastosowanej implementacji magazynu danych można wyróżnić

następujące zmienne.

Stopień wielomianu reprezentującego funkcję ciągłą

Do aproksymacji funkcji ciągłych używa się funkcji wielomianowych w postaci standardowej

𝑓(�̆�) =∑𝑎𝑖𝑥

�̆�,

𝑛

𝑖=0

(23)

Gdzie �̆� to aproksymowana zmienna, 𝑎𝑖 - współczynnik wielomianu, a 𝑛 oznacza stopień wielomianu.

Ten stopień według definicji IDSA można ustawić niezależnie dla każdej zmiennej. Początkowo

proponowano różne wartości dla różnych kategorii zmiennych (np. oddzielne dla zmiennych

wejściowych i wyjściowych), ale ostatecznie okazało się, że algorytm działa zadowalająco, kiedy

dla wszystkich zmiennych przyjmie się wartość 3 . Przy wartościach 1 lub 2 dało się wyczuć

obserwowalne opóźnienie podczas prowadzenia samochodu, a przy wartościach wyższych funkcja

osiągała wysokie pochodne i amplitudy, czyli duży błąd bezwzględny. Za działanie zadowalające

uznano sytuację, w której kierowca subiektywnie nie zauważał opóźnienia pomiędzy poleceniami

wydawanymi przy pomocy kierownicy i pedałów a zachowaniem samochodu. Niestety nie udało się

zmierzyć tej wartości dokładnie ze względu na różne zegary używane w implementacji IDSA (czas

wydawania polecenia) i w symulatorze (czas rozpoczęcia wykonywania żądanego manewru).

Przy okazji badania tego parametru odkryto problem z zachowaniem procesu wyznaczania funkcji

dla bardzo niskich wartości bezwzględnych, czyli blisko neutralnego położenia kierownicy.

Bezwzględne wartości wyznaczonych funkcji były bardzo wysokie, w okolicach wartości zerowej

(gdzie spodziewano się wartości dążących do zera). Problem udało się zdiagnozować jako

niedokładność obliczeń numerycznych, a jego rozwiązaniem jest ignorowanie sygnałów wejściowych

mniejszych niż zadany próg (tzw. „martwa strefa” lub „luz w położeniu centralnym kierownicy”).

Założono próg 2 [°] od położenia centralnego kierownicy. Ustalono go empirycznie w wyniku

wielokrotnego powtarzania przejazdów z różnymi ustawieniami i obserwacji zachowania pojazdu.

Liczba wątków używanych przez magazyn do wyznaczania funkcji

Większa liczba wątków pozwala jednocześnie wyznaczać więcej funkcji i zmniejsza czas oczekiwania

na nowe dane w postaci ciągłej. Z drugiej strony rezerwacja większej ilości wątków obciąża planistę

systemowego (element systemu operacyjnego), nawet jeśli wątki są nieużywane, oraz zwiększa

Page 98: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

98

obciążenie, gdy są używane. Ostatecznie zdecydowano się na rezerwację 8 wątków. Zmniejszenie tej

wartości powodowało subiektywny wzrost opóźnienia w reakcjach samochodu na wydawane

przez kierowcę polecenia. Zwiększenie tej wartości powodowało gwałtowny wzrost użycia procesora

(do ponad 50% przy 10 wątkach), nawet jeśli samochód stał w miejscu.

Opóźnienie uruchomienia wątków

W początkowych chwilach pracy IDSA (pierwsze kilkanaście sekund), kiedy samochód jeszcze stoi,

wszystkie wątki rozpoczynały pracę jednocześnie, co powodowało systematyczne skoki użycia

procesora. Po tym czasie wątki desynchronizowały się. Żeby uniknąć tego problemu, zdecydowano się

dodawać każdy wątek do puli po losowym czasie w zakresie 0[𝑚𝑠] − 100[𝑚𝑠]. Do losowania użyto

klasy java.util.Random.

Rozmiar magazynu dyskretnego dla każdej zmiennej

Brano pod uwagę kilka wersji procesu wyznaczania funkcji. Ciekawy wydawał się proces używający

najnowszej wartości z magazynu dyskretnego i kilku wartości pobranych z magazynu ciągłego.

Problemem jednak okazało się wyznaczanie chwil pobierania tych wartości – ich ilości i maksymalnego

wieku używanej zmiennej. Zamiast tego zdecydowano się wyznaczać funkcje ciągłe wyłącznie

na podstawie wartości zmierzonych, wyliczonych lub wprowadzonych w inny sposób do magazynu

w dyskretnych chwilach czasu. Dzięki temu można było wyraźnie ograniczyć liczbę przechowywanych

w magazynie dyskretnym wartości i używać wszystkich dostępnych. Tę liczbę ustalono na 10. Wartości

niższe potrafiły czasami generować funkcje o dużym błędzie, a wartości wyższe niczego już

nie poprawiały.

Opóźnienie ponownego umieszczenia zmiennej w kolejce

Oczekiwanie pomiędzy zakończeniem wyznaczania funkcji, a ponownym umieszczeniem funkcji

w kolejce okazało się potrzebne, ponieważ bez niego wyznaczanie funkcji zabierało za dużo zasobów

oraz uruchamiało się wielokrotnie dla tych samych danych wejściowych. Z drugiej strony zbyt duże

opóźnienie oznaczało zbyt długie czekanie na uwzględnienie nowych wartości z magazynu dyskretnego

w magazynie ciągłym. Eksperymentalnie wyznaczono wartość tego opóźnienia na 5[𝑚𝑠] . Po raz

kolejny kryterium była subiektywna ocena opóźnienia przez kierowcę (występująca przy zwiększaniu

wartości opóźnienia) oraz zużycie zasobów (występujące przy zmniejszaniu wartości opóźnienia)

Page 99: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

99

4.3.2. Proces przetwarzania danych o otoczeniu

Schemat wejściowo-wyjściowy tego procesu przedstawiony jest na rysunku 24. Dla przypomnienia,

jego celem jest zbudowanie mapy otoczenia w oparciu o posiadane już informacje i nowe pomiary. Przy

rozpoczynaniu pracy zakładano, że będzie można do tego celu wykorzystać istniejący algorytm, ale

nie udało się takiego znaleźć. Z tego powodu opracowano autorską metodę rozwiązania tego problemu.

Zakłada ona użycie sieci neuronowych do lokalizowania obiektów, a nie do ich rozpoznawania, jak

w większości prac dotyczących takich sieci. Zbudowano prostą sieć neuronową z użyciem języka

Python [141] i narzędzia TensorFlow [142], korzystając z instrukcji w oficjalnej dokumentacji projektu

[143]. Taka sieć składa się domyślnie z 10 warstw i jest opisana przez 3989285 parametrów. Jako zbiór

uczący zastosowano wygenerowane uprzednio klatki obrazu z kamery pracującej w symulatorze,

na których znajdował się ten sam obiekt w różnych pozycjach względem obserwatora, na różnym tle,

oraz lokalizacje tego obiektu względem obserwatora. W sumie dla tego samego obiektu wygenerowano

3,6 ⋅ 109 klatek w postaci bitmap o rozdzielczości 640 x480 , o łącznym rozmiarze ok. 400[𝐺𝐵],

a także symulowanych surowych danych lidarowych o rozmiarze 56[𝐺𝐵] . Zadaniem sieci było

zwrócenie pozycji obiektu względem obserwatora na podstawie nowych danych pomiarowych. Tą samą

operację powtórzono dla czterech obiektów (Ford Focus, Mitsubishi L200, drzewo o konkretnym

kształcie oraz słupek – jak na rysunku 41) i trzech różnych sensorów – dwóch kamer o różnych

soczewkach i jednego lidaru. Bardzo istotne jest, że ten proces udało się wykonać bezproblemowo

głównie dlatego, że generowanie zbioru uczącego w warunkach symulacyjnych udało się opisać

skryptem w języku C# [144], którego pseudokod przedstawiono na listingu 4.

Rysunek 41 Obiekty używane do strojenia procesu przetwarzania danych o otoczeniu

Page 100: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

100

Listing 4 Pseudokod uczenia sieci neuronowej

Jak widać, zbiór uczący jest mapą pomiarów i spodziewanych wyników – pozycji obiektu względem

obserwatora.

Osiągnięto w ten sposób metodę uczenia nadzorowanego przez maszynę. Proces ten zajął jednak dość

dużo czasu i konieczne jest jego powtarzanie dla każdego obiektu i rodzaju sensora. Poza tym, podczas

badań pominięto parametryzację obiektów.

Posiadając zbiór wytrenowanych sieci neuronowych, zdolnych do lokalizowania uprzednio

sklasyfikowanych obiektów, zdecydowano się używać geometrycznej mapy otoczenia do tworzenia jej

wycinków zgodnych z obszarem działania konkretnego sensora, a następnie wybierania znajdujących

się tam obiektów i uruchamiania sieci neuronowych zgodnych z ich klasami i zastosowanymi sensorami.

W ten sposób wybrane sieci neuronowe odkrywają nową pozycję znanych już obiektów i tym samym

aktualizują tylko ten wycinek modelu, który odpowiada obszarowi odczytanemu w danej chwili przez

konkretny sensor. Po wykonaniu tego zadania, stosuje się przekształcenie geometryczne do wykrycia

i „zasłonięcia” (zastąpienia pustymi pikselami) obiektu w danych wejściowych. Dzięki temu można

uruchomić sieć neuronową ponownie w celu znalezienia drugiego obiektu tej samej klasy. W warunkach

badawczych uruchamiano wszystkie dostępne sieci tak długo, aż nie znajdowały już nowych obiektów.

Warto zauważyć, że opisana metoda analizy otoczenia okazała się wyjątkowo wydajna. Sieci neuronowe

cechują się błyskawicznym czasem wykonania, kosztem długiego czasu uczenia (ok. 3,5 dnia dla

każdego obiektu i sensora).

Powyższą operację obrazuje pseudokod przedstawiony na listingu 5. Wymaga on następujących

wyjaśnień. Procedura „pobierz_mape” pobiera listę wszystkich znanych obiektów, znajdujących się

w geometrycznej mapie otoczenia – w czasie zadanym jako pierwszy parametr i w obszarze badanym

przez sensor - zadany jako drugi parametr. Procedura „pobierz_wszystkie_klasy_obiektów” zwraca

funkcja utworz_zbiór_uczący_dla_sensora(obserwator):

zbiór_uczący = utwórz_mapę();

dla_każdego(obiekt : {ford, mitsubishi, drzewo, słupek}):

dla_każdego(obrót_w_poziomie : [1;360;1]):

dla_każdego(obrót_w_pionie: [-1;1;0,2]):

dla_każdego(odległość: [1;50;0,1]):

dla_każdego(numer_losowej_pozycji: [1;1000;1]):

pozycja_obiektu: losuj(); //losuje pozycję w używanej scenie symulacji

ustaw_obiekt(obiekt, pozycja_obiektu); //stawia obiekt

pozycja_obserwatora = ustaw_obserwatora(obserwator, obiekt, obrót_w_pionie,

obrót_w_poziomie, odległość);

/*stawia obserwatora w pozycji względem obiektu, uwzględniając losową pozycję

w kadrze/pomiarze */

pomiar = wygeneruj_pomiar(obserwator);

pozycja_obiektu_względem_obserwatora = wyznacz(pozycja_obserwatora)

zbiór_uczący.dodaj(pomiar, pozycja_obiektu_względem_obserwatora);

return zbiór_uczący;

Page 101: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

101

listę wszystkich znanych klas obiektów (podczas badań – tylko czterech z rysunku 41). Funkcja

„znajdz” wykonuje zapytanie do biblioteki TensorFlow, czyli odpytuje sieć neuronową właściwą

dla danego sensora i klasy. Funkcja „stworz_obiekt” wykorzystuje znany kształt obiektu danej klasy

i jego pozycję do stworzenia jego projekcji dla danego sensora. Następnie funkcja „usun_obiekt”

czyści ten fragment pomiaru, żeby uniknąć ponownego wykrycia tego samego obiektu.

Listing 5 Pseudokod przetwarzania danych o otoczeniu

4.3.3. Proces predykcji trajektorii

Wybór implementacji

Zadaniem tego procesu jest wyznaczenie pozycji pojazdu w przyszłości na podstawie mapy otoczenia

i zmiennych wejściowych. Definicja IDSA nie narzuca sposobu wykonania tego zadania, jednak

do badań wybrano algorytm trójetapowy, pokazany na rysunku 42.

Jak widać, kolejne etapy nie są ze sobą powiązane wejściowo-wyjściowo ani czasowo. Mówiąc inaczej,

etapy nie są wykonywane iteracyjnie i nie przesyłają swoich danych wyjściowych na wejście kolejnego

etapu. Każdy etap uruchamia się w określonych odstępach czasu i pracuje na danych dostępnych

w magazynie. Taką architekturę zastosowano w celu zachowania spójności z resztą IDSA, czyli w celu

zachowania komunikacji pomiędzy komponentami systemu poprzez dyskretno-ciągły magazyn danych,

zamiast bezpośredniego przesyłania danych.

procedura aktualizuj_mape_otoczenia(pomiar, identyfikator_czasowy,

identyfikator_sensora):

mapa_otoczenia = pobierz_mape(identyfikator_czasowy, identyfikator_sensora)

znane_klasy_obiektów = pobierz_wszystkie_klasy_obiektów()

dla_każdego (obiekt : mapa_otoczenia):

zlokalizuj_obiekt(pomiar, obiekt.klasa, znane_klasy_obiektów, identyfikator_sensora)

dla_każdego (klasa : znane_klasy_obiektów):

zlokalizuj_obiekt(pomiar, klasa, znane_klasy_obiektów, identyfikator_sensora)

procedura zlokalizuj_obiekt(pomiar, szukana_klasa, lista_klas_obiektów,

identyfikator_sensora):

znaleziono = fałsz

wykonaj:

pozycja = znajdz(pomiar, szukana_klasa, identyfikator_sensora)

znaleziono = pozycja != null

jeżeli (znaleziono):

obiekt = stworz_obiekt(pozycja, szukana_klasa, identyfikator_sensora)

usun_obiekt(obiekt, pomiar)

dopoki (znaleziono && !pomiar.pusta)

lista_klas_obiektów.usun(szukana_klasa)

Page 102: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

102

Dyskretno-ciągły magazyn danych

Predykcja trajektorii

Wyznaczanie środka zakrętu

Wyznaczanie trajektorii

Poprawianie trajektorii

r(ti),a(tj)

(si,ti)

s(tj),a(tj)

(p k, tk)

p'(t),a(tk),m(tk)

(pk,tk)

Rysunek 42 Etapy procesu predykcji trajektorii

Pierwszy etap predykcji trajektorii jest dość prosty. Jego rolą jest zamiana sygnału 𝑟, czyli pozycji

kierownicy i pedałów na 𝑠 – pozycję punktu, wokół którego poprowadzony jest łuk, którym chce jechać

kierowca. W tym celu wykorzystuje się proste podstawienia do funkcji uzależniających współrzędne

tego punktu od aktualnej szybkości (średniej ze zmiennych VELOCITY_FRONT_LEFT, VELOCITY

_FRONT_RIGHT, VELOCITY _REAR_LEFT, VELOCITY _REAR_RIGHT zawartych w sygnale 𝑎

– patrz tabela 6) i skrętu koła kierownicy (zmienna STEER w sygnale 𝑟 – patrz tabela 6). Współrzędne

te oblicza się korzystając z równań

𝑥𝑠 =𝑡𝑔(𝛼)

𝑙

𝑦𝑠 = −𝑙𝑛

2

, (24)

gdzie:

• 𝑥𝑠 oraz 𝑦𝑠, to współrzędne punktu 𝑠,

• 𝑙𝑛 to długość pomiędzy osiami samochodu

• 𝛼 to położenie kół podczas skrętu w jedną stronę, wyrażone równaniem

𝛼 = min(

max(𝑣 − 3), 0

27, 1)⋅ 𝛽1,3 + (1 −min(

max(𝑣 − 3), 0

27, 1)) ⋅ (

sin(𝛽)

sin 1)

0,8

, (25)

Page 103: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

103

gdzie:

• 𝛽 to współczynnik skrętu kierownicy względem skrętu maksymalnego w zakresie (0,1]

(zmienna STEER),

• 𝑣 to szybkość wyrażona w [𝑚

𝑠] (średnia ze zmiennych VELOCITY_FRONT_LEFT,

VELOCITY _FRONT_RIGHT, VELOCITY _REAR_LEFT, VELOCITY _REAR_RIGHT).

Zastosowane równania (24) zostały wyprowadzone z geometrii zawieszenia wyrażonej równaniem

Ackermana (2). Równanie (25) opracowano eksperymentalnie, rozpoczynając od próby wizualnego

dopasowania go do zależności pomiędzy położeniem kierownicy a średnim skrętem kół przednich dla

pojazdu referencyjnego, przedstawionym graficznie w postaci funkcji ciągłej przez symulator.

Drugi etap wykorzystuje sygnał 𝑠 oraz stan pojazdu 𝑎 w celu określenia pozycji 𝑝′ , w których

samochód znajdzie się w przyszłości, w chwili 𝑡𝑘 , jeśli będzie dalej poruszał się po zadanym łuku.

Stosuje do tego tę samą metodę, która wykorzystywana jest w procesie wyznaczania zmiennych

sterujących i zostanie opisana w punkcie 4.3.4.

Trzeci etap, to „poprawienie” punktu w przestrzeni dwuwymiarowej 𝑝′(𝑡𝑘) na podstawie znajomości

otoczenia 𝑚(𝑡𝑘) oraz z uwzględnieniem ograniczeń wynikających z 𝑎(𝑡𝑘), do postaci punktu 𝑝(𝑡𝑘). Na

tym etapie uwzględnia się omijanie przeszkód (a docelowo – ruch pionowy). W tym celu stosuje się

prosty algorytm ewolucyjny, który w kolejnych pokoleniach wygładza trajektorię 𝑝′(𝑡) względem

otoczenia. Podobnie jak wszystkie funkcje ciągłe używane podczas badań, trajektoria 𝑝′(𝑡) wyrażona

jest przez funkcje wielomianowe o postaci

𝑝′(𝑡) =∑𝛾𝑖𝑡

𝑛,

𝑛

𝑖=0

(26)

gdzie 𝑛 jest stopniem wielomianu, a 𝛾𝑖 to jego współczynniki, tworzące wektor Γ =

[ 𝛾1𝛾2⋮𝛾𝑖⋮𝛾𝑛]

.

Wprowadza się autorską funkcję oceny jakości trajektorii �̅�, zależną od wektora współczynników Γ oraz

od mapy otoczenia m(t), która jest na tym etapie stałym parametrem, a mianowicie

�̅�(𝑝′(𝑡),𝑚(𝑡)) ≜ 𝑔(𝛤). (27)

Postać funkcji g zależy od trzech kryteriów cząstkowych: prawdopodobieństwa braku wypadku

𝑞𝑏 (𝑞𝑏 ∈ [0,1]) , uproszczonej miary wygody jazdy 𝑞𝑘 (𝑞𝑘 ∈ [0,1]) i wykonalności, czyli

prawdopodobieństwa wykonania zadanej trasy w znanych warunkach otoczenia 𝑤 (𝑤 ∈ {0,1}) .

Ostatnie kryterium cząstkowe zostało wprowadzone, ponieważ dwa pierwsze byłyby w oczywisty

Page 104: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

104

sposób bezużyteczne, gdyby docelową trajektorią było np. zatrzymanie pojazdu z prędkości 100 [𝑘𝑚

ℎ]

na odległości 1[𝑚].

Trajektorię ocenia się w trzech krokach. Do każdego z nich używa się trajektorii pobranej z ciągłej

części dyskretno-ciągłego magazynu danych i opisanej równaniami zgodnymi z (26).

a) Pierwszy krok, to sprawdzenie, czy możliwe jest wyznaczenie sterowania, które badaną

trajektorię realizuje. Wykorzystuje się w tym celu trajektorię 𝑝′(𝑡) oraz proces wyznaczania

zmiennych sterujących opisany w 4.3.4. Jeśli trajektoria jest możliwa do wykonania, to podlega

dalszej ocenie.

b) Drugi krok to określenie prawdopodobieństwa braku wypadku. Mimo, że do oceny IDSA

stosuje się kilka kryteriów dotyczących bezpieczeństwa, na tym etapie istotna jest wyłącznie

bezwypadkowość. W celu jej zbadania sprawdza się, czy podczas poruszania się zadaną

trajektorią, występuje przecięcie trajektorii z bryłą znanego obiektu otoczenia, czyli czy funkcja

𝑝′(𝑡) przecina dowolny odcinek należący do dowolnego obiektu w otoczeniu pojazdu.

Początkowo planowano ocenę binarną, jednak okazało się, że lepsze rezultaty osiąga się

zwiększając ocenę proporcjonalnie wraz ze wzrostem odległości od obiektów otoczenia

w zakresie < 0; 0,2[𝑚] > . Podczas badań odkryto, że dalsze zwiększanie odległości

nie poprawia już globalnej oceny całego IDSA.

c) Ostatni wskaźnik optymalizacyjny 𝑞𝑘, to minimalizacja przyspieszeń działających na pojazd,

która odpowiada zwiększającemu się komfortowi. Te przyspieszenia, to pochodne trajektorii

𝑝′(𝑡) po czasie.

Korzystając z powyższego opisu można powiedzieć, że kryteria cząstkowe 𝑤 , 𝑞𝑏 , 𝑞𝑘 na potrzeby

zadania oceny trajektorii oblicza się korzystając z wyrażeń:

𝑤 = {

1, jeżeli istnieje trajektoria realizująca trasę0, 𝑤 𝑝. 𝑝.

, (28)

𝑞𝑏 = max(5𝑜𝑝, 0,2), (29)

gdzie 𝑜𝑝 to odległość do najbliższej przeszkody wyrażona w metrach oraz

𝑞𝑘 = max (1,

𝑚𝑎𝑥(𝑎𝑥,𝑎𝑦)

20), (30)

gdzie 𝑎𝑥 , 𝑎𝑦 to przyspieszenia działające na pojazd w trzech wymiarach.

Page 105: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

105

Warto zauważyć, że zmienne 𝑎𝑥 , 𝑎𝑦, 𝑤, 𝑞𝑏 oraz 𝑞𝑘 są prostsze, niż wskaźniki oceny wprowadzone w

punkcie 4.1.2, a mimo tego ich optymalizacja poprawia ocenę całego algorytmu obliczoną przy użyciu

wskaźników 𝑞1, 𝑞2, 𝑞3, 𝑞4, 𝑞5, 𝑞6, 𝑞7 oraz 𝑄𝐵 i 𝑄𝐾.

Ostatecznie, funkcja oceny trajektorii 𝑔 przyjmuje postać

𝑔(𝛤) = 𝑔(𝑤, 𝑞𝑏 , 𝑞𝑘) = {

𝑤 ⋅ (𝑞𝑏 +𝑞𝑘2) , jeżeli 𝑞𝑏 > 0,5

0 w p. p.. (31)

Algorytm ewolucyjny używa funkcji 𝑝′(𝑡) w zakresie < 𝑡0, 𝑡0 + 𝜖2 >, gdzie 𝑡0 to chwila rozpoczęcia

wywołania tego etapu procesu. Ocenia tę funkcję i generuje kolejne jej pokolenia na podstawie selekcji,

mutacji i krzyżowania. Po skończonej pracy umieszcza w dyskretno-ciągłym modelu danych wyliczoną

wartość 𝑝(𝑡𝑘) . Jak widać, jest to przykład wykorzystania dyskretno-ciągłego modelu danych

do pobrania funkcji ciągłej zamiast wartości w chwili dyskretnej. Brano pod uwagę wyznaczanie nowej

trajektorii na podstawie pozycji (𝑝𝑘′ , 𝑡𝑘) na losowych, dyskretnych punktach w zakresie < 𝑡0, 𝑡0 +

𝜖2 > , jednak nie przyniosło to żadnej poprawy działania algorytmu, która mogłaby uzasadnić

dodatkowe obliczenia.

Działanie algorytmu ewolucyjnego pokazuje listing 6.

Listing 6 Pseudokod algorytmu poprawiania trajektorii

Wartości parametrów procesu predykcji trajektorii

W powyższym opisie widać następujące zmienne.

Czas uruchamiania kolejnych etapów procesu

Ta wartość może się różnić dla każdego procesu, jednak eksperymentalnie ustalono opóźnienie 0,1[𝑠]

po każdym wykonaniu każdego procesu. Nie należy tego mylić z częstotliwością pomiędzy początkami

funkcja popraw_trajektorię(funkcja_opisująca_trajektorię, próg_czasowy):

ocena_funkcji = oblicz_g_od_w,b,k(funkcja_opisująca_trajektorię);

najlepsza_funkcja = funkcja_opisująca_trajektorię;

tablica_funkcji = mutuj(funkcja_opisująca_trajektorię); //mutuje 100 razy

czas_startu = aktualny_czas;

dopóki(aktualny_czas – czas_startu > próg_czasowy):

selekcja(tablica_funkcji);

krzyżowanie(tablica_funkcji);

mutacja(tablica_funkcji);

mapa_ocen = dla każdego(funkcja : tablica_funkcji): utwórz_krotkę(funkcja,

oblicz_g_od_w,b,k(funkcja));

najlepsza_funkcja=wybierz_najlepszą(mapa_ocen);

return najlepsza_funkcja

Page 106: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

106

wykonania następujących po sobie iteracji danego etapu. Ten parametr jest zmienny ze względu

na różny czas wykonywania obliczeń. Zastosowanie opóźnienia zamiast częstotliwości pozytywnie

wpłynęło na zmienność obciążenia procesora komputera realizującego IDSA.

Użyte wyprzedzenie (znacznik czasowy 𝒕𝒌) dla danych wyjściowych

W przypadku tego parametru rozważano jego uzależnienie od aktualnej prędkości, jednak ostatecznie

ustalono go jako stałą wartość 0,2[𝑠] w sposób eksperymentalny. Taka wartość jest wystarczająca

nawet dla dużych prędkości (ok. 150 [𝑘𝑚

ℎ]), a jednocześnie nie zużywa zbyt dużo mocy obliczeniowej.

Zakres poprawiania trajektorii 𝝐

W tym przypadku chodzi o zakres, w jakim badana jest funkcja przedstawiająca trajektorię. Żeby

zadanie to miało jakikolwiek sens, badanie powinno zawierać chwilę 𝑡𝑘, czyli 𝜖2 ≥ 𝑡𝑘 − 𝑡0. Wskazane

byłoby, gdyby 𝑡𝑘 nie występowało na granicy badanego obszaru, czyli 𝜖2 > 𝑡𝑘 − 𝑡0. Skoro założono,

że 𝑡𝑘 − 𝑡0 = 0,2[𝑠] , postanowiono zastosować 𝜖2 = 10[𝑠] . Wartość ta została ustalona z góry

i sprawowała się dostatecznie dobrze, że uznano ją za ostateczną. Stosowanie mniejszych wartości zbyt

często prowadziło do kolizji, ponieważ w chwili, gdy trajektoria zaczynała być kolizyjna, nie było już

czasu na korektę toru jazdy.

Parametry algorytmu ewolucyjnego (warunki selekcji, krzyżowania, mutacji, czas pracy)

W powyższym akapicie przedstawiono kryteria oceny trajektorii. Sam algorytm ewolucyjny używa

następujących operatorów [145]:

a) operator selekcji wybiera do krzyżowania osobniki deterministycznie – parzyste i nieparzyste;

b) operator krzyżowania wykorzystuje metodę krzyżowania równomiernego typu para rodziców –

5 par potomków, z parametrem krzyżowania równym 0,5;

c) operator mutacji wykorzystuje metodę mutacji równomiernej z prawdopodobieństwem 0,05

oraz zakresem mutacji w zakresie od zera do dwukrotności wartości mutowanej.

Funkcja 𝑝′(𝑡) jest funkcją wielomianową, używającą współczynników 𝛾𝑖. Algorytm ewolucyjny używa

szybkiego kodowania, jako jedna tablica binarna zawierająca wszystkie współczynniki 𝛾𝑖 w zapisie

float64 [146].

Przy takim doborze operatorów i ich parametrów uniknięto dużych modyfikacji genów, co pozytywnie

wpływa na gładkość przetwarzanych funkcji. Selekcja polega na wyborze 20% najlepszych trajektorii

w każdym pokoleniu. Algorytm wykonywany jest przez maksymalnie 0,1[s]. Dzięki wielowątkowości

udaje się w tym czasie wygenerować i przetworzyć około 12-13 pokoleń funkcji, z których wybiera się

najlepszą. Warto zauważyć, że w pierwszym pokoleniu istnieje tylko jedna funkcja 𝑝′(𝑡). W związku z

tym nazywa się je pokoleniem zerowym i tworzy pierwsze pokolenie używając wyłącznie operatora

mutacji.

4.3.4. Proces wyznaczania zmiennych sterujących

Ogromną zaletą IDSA jest to, że w porównaniu do współczesnych systemów wyznaczających

sterowanie, sam proces wyznaczania sterowania jest względnie prosty. Jest to zasługą wszystkich

pozostałych procesów i skomplikowanej architektury. Proces wyznaczania zmiennych sterujących,

zgodnie z rysunkiem 19, wyznacza wektor 𝑢 , czyli wszystkie parametry wyjściowe przedstawione

Page 107: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

107

w tabeli 6. Nie jest jednak powiedziane, że wszystkie elementy wektora powstają w tych samych

chwilach. Brak takiego wymagania pozwolił uniezależnić procesy wyznaczające poszczególne elementy

wektora. W związku z tym proces wyznaczania zmiennych sterujących realizowany jest przez trzy

funkcje opisane poniżej – wyznaczającą prędkość kół, skręt kół i parametry zawieszenia.

Prędkość kół

Na prędkość kół składają się następujące zmienne (zdefiniowane w tabeli 6):

a) POWER,

b) CLUTCH,

c) GEARBOX,

d) DIFFERENTIAL_FRONT_LEFT,

e) DIFFERENTIAL_FRONT_RIGHT,

f) DIFFERENTIAL _REAR_LEFT,

g) DIFFERENTIAL _REAR_RIGHT,

h) BRAKE_FRONT_LEFT,

i) BRAKE_FRONT_RIGHT,

j) BRAKE_REAR_LEFT,

k) BRAKE_REAR_RIGHT.

Na potrzeby tego punktu nazywa się je pośrednimi zmiennymi sterującymi układem jezdnym.

Warto tutaj wrócić do rysunków 2 oraz 5. Przedstawiają one różne realizacje napędu na 4 koła z jednym

silnikiem. Można zauważyć, że pośrednie zmienne sterujące układem jezdnym nie są odpowiednie

do bezpośredniego sterowania żadnym z opisanych układów napędowych, ale można je wykorzystać

do sterowania każdym z nich, po dodatkowym przekształceniu. W symulowanym pojeździe

zastosowano układ napędowy z trzema mechanizmami różnicowymi (rysunek 2), co wymusiło

wyliczenie ich sygnałów sterujących z wykorzystaniem wyrażeń

𝑑𝑐 =

dfl + 𝑑𝑓𝑟

drl + 𝑑𝑟𝑟

𝑑𝑓 =

dfl + 𝑑𝑓𝑟𝑑𝑐

⋅ dfl

dfl + 𝑑𝑓𝑟𝑑𝑐

⋅ dfr

𝑑𝑟 =

drl + 𝑑𝑟𝑟𝑑𝑐

⋅ drl

drl + 𝑑𝑟𝑟𝑑𝑐

⋅ drr

, (32)

gdzie:

• 𝑑𝑐 to stosunek przeniesienia momentu obrotowego poprzez centralny dyferencjał pomiędzy

przednią a tylną osią,

Page 108: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

108

• 𝑑𝑓 to stosunek przeniesienia momentu obrotowego poprzez przedni dyferencjał pomiędzy

lewym a prawym kołem,

• 𝑑𝑟 to stosunek przeniesienia momentu obrotowego poprzez tylny dyferencjał pomiędzy lewym

a prawym kołem,

• dfl to DIFFERENTIAL_FRONT_LEFT,

• dfr to DIFFERENTIAL_FRONT_RIGHT,

• drl to DIFFERENTIAL_REAR_LEFT,

• drl to DIFFERENTIAL_REAR_RIGHT.

Mówiąc inaczej, najpierw wyznaczane są pośrednie zmienne sterujące układem jezdnym, a następnie

przekształcane przy pomocy wyrażeń (32) do postaci prawdziwych sygnałów sterujących. W ten sposób

można łatwo zmienić fizyczny sposób przeniesienia napędu (np. na taki, jak na rysunku 5), zmieniając

tylko przekształcenia (32) zamiast sposobu wyznaczania pośrednich zmiennych sterujących układem

jezdnym. Sposób wyznaczania pośrednich zmiennych sterujących układem jezdnym jest następujący.

Posiadając trajektorię 𝑟(𝑡) można wyznaczyć łuk, najbliższy tej trajektorii w zakresie [𝑡0, 𝑡0 + 𝜖3],

gdzie 𝜖3 należy wyznaczyć oddzielnie. Na potrzeby tej pracy ustalono go na wartość 0,1[𝑠]. Następnie

można obliczyć zadaną prędkość liniową poruszania się po łuku na podstawie długości łuku pomiędzy

punktami oddalonymi o 𝜖3 . Następny krok, to ustalenie czy prędkość jest równa lub większa od

aktualnej. W takiej sytuacji należy określić moc silnika i położenie skrzyni biegów, które pozwolą

osiągnąć taką prędkość. Jeśli jednak prędkość ma zostać zredukowana, należy przy pomocy dostępnego

momentu obrotowego silnika obliczyć, czy żądane obniżenie prędkości jest możliwe z wykorzystaniem

samego tylko silnika, czy potrzebne będą również hamulce. Kolejny krok, to obliczenie prędkości

każdego koła osobno i odpowiednia konfiguracja mechanizmów różnicowych.

Cały ten proces pokazuje pseudokod na listingu 7. Jak na nim widać, do obliczeń używana jest aktualna

prędkość samochodu i docelowa prędkość każdego koła z osobna. Okazało się, że taki błąd (użycie

średniej prędkości aktualnej wszystkich kół zamiast każdego koła z osobna) nie pogarsza wyników,

a ułatwia obliczenia. Warto przypomnieć, że wszystkie obliczenia wykonywane są dla chwili 𝑡0 +

0,1[𝑠], gdzie 𝑡0 to chwila wykonywania obliczeń, oraz że ostatnim krokiem przedstawionych procedur

jest zapisanie obliczonych wartości w dyskretno-ciągłym magazynie danych, a nie wysłanie ich

do urządzeń wykonawczych. Tym ostatnim zadaniem zajmuje się proces opisany w punkcie 2.10.

Page 109: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

109

Listing 7 Pseudokod procesu wyznaczania zmiennych sterujących

Wszystkie powyższe wartości wyznaczono na podstawie funkcji wyznaczonych eksperymentalnie:

a) funkcja uzależniająca przyrost prędkości od położenia przypustnicy i ustawienia skrzyni

biegów,

b) funkcja uzależniająca spadek prędkości od położenia przypustnicy i ustawienia skrzyni biegów,

c) funkcja określająca spadek prędkości od zacisku hamulców, aktualnej prędkości i siły

hamującej silnika.

Funkcje a – c zostały zaimplementowane w kodzie realizującym IDSA, podobnie jak wyrażenie (25)

jednak ich postacie matematyczne są trudne do wyodrębnienia z tego kodu, a jednocześnie byłyby

bardzo nieczytelne. Można je znaleźć w klasie Speed w repozytorium [136].

procedura wyznacz_zmienne_sterujące_układem_napędowym():

trajektoria = pobierz_trajektorię(); //pobiera z dyskretno-ciągłego magazynu danych

prędkość_zadana = policz_prędkość(trajektoria, epsilon_3);

prędkość_aktualna = pobierz_prędkość_aktualną();

[POWER, CLUTCH, GEARBOX] = oblicz_napęd(prędkość_zadana, prędkość_aktualna);

/*używa stanu urządzeń wykonawczych a (rysunek 19) */

promień_łuku = policz_promień_łuku(trajektoria);

prędkości_kół = policz_prędkości_koł_w_zakręcie(prędkość_zadana, promień_łuku);

konieczne_użycie_hamulców = !czy_regulacja_prędkości_bez_hamulców(prędkości_kół,

prędkość_aktualna);

/*używa stanu urządzeń wykonawczych a (rysunek 19) */

if (konieczne_użycie_hamulców):

[BRAKE_FRONT_LEFT, BRAKE_FRONT_RIGHT, BRAKE_REAR_LEFT, BRAKE_REAR_RIGHT] =

oblicz_hamulce(prędkości_kół, prędkość_aktualna);

/*używa stanu urządzeń wykonawczych a (rysunek 19) */

[DIFFERENTIAL_FRONT_LEFT, DIFFERENTIAL_FRONT_RIGHT, DIFFERENTIAL_REAR_LEFT,

DIFFERENTIAL_REAR_RIGHT] = oblicz_proporcje(prędkości_kół);

zapisz(POWER, CLUTCH, GEARBOX, BRAKE_FRONT_LEFT, BRAKE_FRONT_RIGHT, BRAKE_REAR_LEFT,

BRAKE_REAR_RIGHT, DIFFERENTIAL_FRONT_LEFT, DIFFERENTIAL_FRONT_RIGHT, DIFFERENTIAL_REAR_LEFT,

DIFFERENTIAL_REAR_RIGHT); /*zapisuje w dyskretno-ciągłym magazynie danych*/

procedura przekształć_wartości_sterujące_dyferencjałami():

[DIFFERENTIAL_FRONT_LEFT, DIFFERENTIAL_FRONT_RIGHT, DIFFERENTIAL_REAR_LEFT,

DIFFERENTIAL_REAR_RIGHT] = pobierz_pośrednie(); /* pobiera z dyskretno-ciągłego magazynu

danych */

[d_c, d_f, d_r] = przekształć([DIFFERENTIAL_FRONT_LEFT, DIFFERENTIAL_FRONT_RIGHT,

DIFFERENTIAL_REAR_LEFT, DIFFERENTIAL_REAR_RIGHT]); //używa przekształcenia (32)

zapisz([d_c, d_f, d_r]); // zapisuje w dyskretno-ciągłym magazynie danych

Page 110: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

110

Oprócz tego użyto stałej wartości prędkości minimalnej, poniżej której następuje odłączenie napędu

(silnika od kół) z użyciem sprzęgła, ustalonej na 10 [𝑘𝑚

ℎ].

Skręt kół

Na skręt kół składają się następujące zmienne:

a) STEER_FRONT_LEFT,

b) STEER_FRONT_RIGHT,

c) STEER_REAR_LEFT,

d) STEER_REAR_RIGHT.

Posłużono się założeniem mówiącym, że tarcie statyczne jest większe od tarcia dynamicznego,

w związku z czym postanowiono minimalizować uślizg kół. W takim wypadku obliczenie kąta skrętu

dla każdego koła oznaczało wykonanie tych samych obliczeń, co w przypadku procesu predykcji

trajektorii, uzależnionych od geometrii pojazdu, promienia łuku i prędkości (prędkość jest użyta

do uzależnienia skrętu kół tylnych i przednich). W tym celu posłużono się po raz kolejny układem

równań (24) oraz obliczeniem długości łuku dla każdego koła osobno.

Zawieszenie

Na parametry zawieszenia składają się następujące zmienne:

• SUSPENSION_FRONT_LEFT_MOUNTING_POINT_HEIGHT,

• SUSPENSION_FRONT_RIGHT_MOUNTING_POINT_HEIGHT,

• SUSPENSION_REAR_LEFT_MOUNTING_POINT_HEIGHT,

• SUSPENSION_REAR_RIGHT_MOUNTING_POINT_HEIGHT

• SUSPENSION_FRONT_LEFT_SPRING_RATE,

• SUSPENSION_FRONT_RIGHT_SPRING_RATE,

• SUSPENSION_REAR_LEFT_SPRING_RATE,

• SUSPENSION_REAR_RIGHT_SPRING_RATE,

• SUSPENSION_FRONT_LEFT_DAMPING_RATE,

• SUSPENSION_FRONT_RIGHT_DAMPING_RATE,

• SUSPENSION_REAR_LEFT_DAMPING_RATE,

• SUSPENSION_REAR_RIGHT_DAMPING_RATE,

• ANTI_ROLL_BAR_FRONT,

• ANTI_ROLL_BAR_REAR.

Wszystkie te parametry ustawiane są przez podstawienie znanych w IDSA wartości do funkcji

wyznaczonych eksperymentalnie i ocenianych subiektywnie. Stabilizatory utwardzane są zależnie

od promienia zakrętu i prędkości. W ten sam sposób opuszcza się i podnosi zawieszenie. Okazało się,

że takie proaktywne działanie daje dużo lepsze rezultaty, niż reakcja na zmierzone pochylenie pojazdu.

Współczynniki sztywności sprężyn i tłumienia amortyzatorów dostosowuje się na podstawie zmiany

prędkości (w celu zapobiegania przechyłom przód-tył) oraz wartości przyspieszeń działających

na pojazd (w celu podniesienia komfortu jazdy). Postaci matematyczne tych funkcji nie zostały opisane.

Można je znaleźć w repozytorium [136] w klasie Suspension.

Page 111: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

111

4.3.5. Proces wysyłania zmiennych sterujących

Proces wysyłania zmiennych sterujących składa się z listy kolejek zadań i klienta UDP. Każda kolejka

odpowiada jednej zmiennej należącej do wektora 𝑢. Jak widać na rysunku 21, zadania z każdej kolejki

mogą być wysyłane z różną częstotliwością. Wynika to z różnej bezwładności urządzeń wykonawczych,

a więc z innego czasu potrzebnego na realizację każdego nowego sterowania. Na potrzeby tych badań

założono jednak, że bezwładność każdego urządzenia wykonawczego jest stała i wynosi 0,1[𝑠]. Tak

samo skonfigurowano opóźnienie każdej kolejki. Opóźnienie to wynika z takiej samej wartości

skonfigurowanej w symulatorze, dla zmian do 10[%] całego zakresu zmienności danej zmiennej.

Proces wysyłania zmiennych sterujących można porównać do procesu przetwarzania danych prostych.

W procesie wejściowym przyjmuje się dane i zapisuje w dyskretno-ciągłym modelu ze znacznikiem

czasowym ich przyjęcia, a w procesie wyjściowym pobiera się dane w przyszłej chwili czasu, zakładając

że jest to chwila ich wykonania. Wyprzedzenie również skonfigurowano na stałą wartość dla wszystkich

elementów wektora 𝑢 wynoszącą 0,1[𝑠]. Oaznacza to, że całe sterowanie realizowane jest na podstawie

danych dwukrotnie ekstrapolowanych – raz w chwili obliczania sterowania w zakresie [𝑡0, 𝑡0 + 𝜖] i po

raz kolejny – podczas wysyłania danych do realizatorów.

4.4. Porównanie zachowania pojazdu sterowanego przy pomocy IDSA

i pojazdu referencyjnego

Ocena badań przedstawionych w tej pracy jest względna, ponieważ zastosowano model symulacji

driver-in-the-loop. Oznacza to, że o ile warunki symulacji można w pełni odtworzyć, tak zachowanie

kierowcy nigdy nie jest identyczne w kolejnych próbach, co oczywiście wpływa na ich wyniki. Z tego

powodu podjęto próbę użycia „sztucznego kierowcy”, czyli zapisania sygnałów sterujących

z kierownicy podczas przejazdu jednym samochodem i użycia ich zamiast prawdziwego kierowcy

dla takiej samej próby z drugim samochodem. Niestety już najprostsze próby tego skończyły się

niepowodzeniem, ponieważ każde takie porównanie wygrywał pierwszy pojazd (sterowany przez IDSA

lub referencyjny w zależności od użytej kolejności). Na tym etapie nie ustalono jeszcze co prawda

formalnych warunków takiej wygranej, więc posługiwano się intuicyjnymi wskaźnikami. Przykładowo,

podczas próby ominięcia przeszkody i powrotu na swój pas ruchu, samochód sterowany przez zapisane

uprzednio sygnały wejściowe nigdy nie kończył manewru jadąc prosto i w rezultacie zjeżdżał

ze swojego pasa ruchu po kilku – kilkunastu metrach.

Z tych prób wyniknął wniosek, mówiący, że w przypadku badania systemu decyzyjnego działającego

w czasie rzeczywistym i zachowującego się jak system wspomagania decyzji, nie jest możliwe

pominięcie w eksperymentach zachowania kierowcy. Z tego powodu niemożliwe stało się porównanie

zachowania pojazdów na podstawie pojedynczych prób.

Eksperymenty przeprowadzono w następującej kolejności:

a) Porównanie samochodu referencyjnego i samochodu sterowanego z wykorzystaniem IDSA

w idealnych warunkach:

• porównanie zachowania pojazdów w docelowej konfiguracji, czyli po kalibracji części

wspólnej obu pojazdów, a także IDSA i systemów wspomagających ABS, ESC, TSC,

ASR (punkt 4.4.1).

Page 112: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

112

b) Badania samochodu referencyjnego – badanie wrażliwości pojazdu referencyjnego:

• wyłączone systemy wsparcia kierowcy (punkt 4.4.2);

• zawieszenie komfortowe z włączonymi systemami wsparcia (punkt 4.4.3);

• zawieszenie komfortowe z wyłączonymi systemami wsparcia (punkt 4.4.4);

• zawieszenie sportowe z włączonymi systemami wsparcia (punkt 4.4.5);

• zawieszenie sportowe z wyłączonymi systemami wsparcia (punkt 4.4.6).

c) Porównanie samochodu referencyjnego i samochodu sterowanego z wykorzystaniem IDSA:

• zwiększenie masy (punkt 4.4.7);

• zwiększenie masy i przesunięcie środka ciężkości (punkt 4.4.8);

• zmniejszona przyczepność kół (punkt 4.4.9).

d) Badania IDSA – badanie wrażliwości algorytmu:

• zmiana bezwładności urządzeń wykonawczych (punkt 4.4.10);

• zmiana stopnia wielomianu aproksymującego w procesie wyznaczania funkcji ciągłych

(punkt 4.4.11);

• zmiana liczby wątków aproksymujących (punkt 4.4.12);

• zmiana liczby generacji algorytmu ewolucyjnego w procesie wyznaczania trajektorii

(punkt 4.4.13).

W punktach 4.4.1 – 4.4.13 przedstawiono wyłącznie wskaźniki cząstkowe, a wskaźniki zagregowane

𝑄𝐵 oraz 𝑄𝐾 wprowadzono w punkcie 4.5.3. Jak widać, badania rozpoczęto od pojazdów

skalibrowanych, dzięki czemu podczas kolejnych eksperymentów można było łatwo odnosić się

do spodziewanych najlepszych wyników. Następnie przebadano wrażliwość pojazdu referencyjny

spodziewając się, że otrzymane wyniki potwierdzą odwrotną zależność pomiędzy bezpieczeństwem

a komfortem. Następnie dokończono badania pojazdu referencyjnego z uwzględnieniem zmiany

warunków, które mogą zmienić się w codziennym użytkowaniu samochodu (masa, zużycie opon).

Na tym etapie dokonano kolejnego bezpośredniego porównania pojazdu referencyjnego z pojazdem

sterowanym z wykorzystaniem IDSA. Ostatni etap (punkt d), to badanie wrażliwości samego algorytmu

IDSA, już bez porównania z pojazdem referencyjnym.

4.4.1. Pojazdy skalibrowane

W tabelach 14 – 17 przedstawiono odpowiednio wyniki eksperymentów 1-4, czyli testu łosia, przejazdu

przez ciasny zakręt, przejazdu przez długi zakręt i przejazdu przez slalom. Scenariusz tych

eksperymentów wraz z doborem badanych wskaźników cząstkowych oceny przedstawiono w punkcie

4.2.2.

Page 113: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

113

Rysunek 43 Niezaliczony test łosia

Rysunek 44 Zaliczony test łosia

Na podstawie eksperymentu 1 można zauważyć, że samochód sterowany przez IDSA zaliczył wszystkie

próby, także z bardzo wysokimi prędkościami. Zachował przy tym mniejszy przechył 𝑞1 niż samochód

referencyjny, jego prędkość 𝑞2 nie ulegała tak dużym zmianom, a kierowca nie musiał kręcić

kierownicą tak gwałtownie (wskaźnik 𝑞3 ). Brak kolizji 𝑞7 (opuszczenia toru jazdy) wynika

bezpośrednio z założeń IDSA. Samochód referencyjny wykorzystywał swoje systemy bezpieczeństwa

do zachowania toru jazdy wskazanego przez kierowcę, podczas gdy samochód sterowany

z wykorzystaniem IDSA korygował ten tor w sposób umożliwiający zmieszczenie się w zadanym torze

jazdy. Mimo że kierowca za każdym razem próbował przejechać trasę testową idealnym torem, to

jednak nie zawsze potrafił to zrobić. Właśnie wtedy IDSA interweniował w sposób nieznany aktualnym

systemom bezpieczeństwa. Poza tym w kilku próbach kierowca stracił panowanie nad samochodem

referencyjnym. Przy próbie powrotu na pierwotny pas ruchu, samochód stał się nadsterowny, wyrzucił

tył w stronę zewnętrzną i nie dało się już tego skompensować. To zachowanie pokazuje rysunek 43 (w

tym wypadku, niezgodnie ze standardem, przeszkodę omijano skrętem w prawo, a nie w lewo – wynika

to z optymalizacji eksperymentów – zawrócenie na końcu toru było szybsze, niż resetowanie

środowiska). Dla porównania rysunek 43 zestawiono z rysunkiem 44, pokazującym prawidłowy

przebieg tego testu. Cyfry nad samochodem na obydwu rysunkach przedstawiają kolejne jednostki

czasu, w których samochód znajdował się w danej pozycji.

Tabela 14 Eksperyment 1 – test łosia - samochody skalibrowane

Prędkość rozpoczęcia manewru

[𝒌𝒎

𝒉]

Samochód referencyjny Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑 𝒒𝟏 𝒒𝟐 𝒒𝟑

80 1,6 -4 170 0,1 2 91

80 1,8 -7 172 0,1 -1 84

80 1,7 -8 168 0,1 0 83

80 1,6 -5 192 0,2 1 86

100 1,6 -6 99 0,1 2 100

100 1,6 -6 97 0,2 11 87

Page 114: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

114

Prędkość rozpoczęcia manewru

[𝒌𝒎

𝒉]

Samochód referencyjny Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑 𝒒𝟏 𝒒𝟐 𝒒𝟑

100 1,7 -10 78 0,1 -2 81

100 1,7 -6 89 0,1 0 82

120 1,8 -9 145 0,2 1 92

120 1,5 -9 150 0,2 4 91

120 1,7 -2 154 0,2 4 97

120 2 -4 140 0,2 -1 95

140 niezaliczony 0,1 2 110

140 1,6 -40 180 0,4 2 101

140 2,1 -36 165 0,2 4 105

140 1,9 -38 79 0,3 1 87

160 1,9 -48 145 0,2 -2 89

160 1,8 -60 138 0,3 1 90

160 2,2 -40 139 0,3 2 98

160 niezaliczony 0,3 2 115

180 niezaliczony 0,4 2 97

180 2,1 -68 165 0,3 2 95

180 niezaliczony 0,3 1 96

180 niezaliczony 0,2 1 97

200 2 -20 66 0,2 2 94

200 niezaliczony 0,2 1 119

200 1,9 -30 81 0,4 -6 126

200 niezaliczony 0,3 -1 83

Drugim elementem wartym dalszej analizy jest mniejszy przechył 𝑞1 . Wynika on z proaktywnego

zachowania pojazdu. Podczas dokładniejszej analizy odkryto, że aktywny stabilizator samochodu

referencyjnego prawidłowo kompensował przechył, jednak robił to zbyt późno – kiedy przechył już

nastąpił. Wynikającą z tego różnicę widać wyraźnie na wykresie na rysunku 45.

Page 115: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

115

Rysunek 45 Przechył samochodów 𝒒𝟏 w eksperymencie 1

Po wyłączeniu aktywnego stabilizatora w samochodzie referencyjnym przechył zwiększył się około

trzykrotnie. Samochód sterowany przez IDSA zaczynał kompensować przechył już w chwili skrętu kół.

Obie wartości (skręt koła i utwardzenie stabilizatora) znajdowały się w wektorze zmiennych sterujących

mniej więcej w tej samej chwili. Kolejny badany element, to zmiana prędkości 𝑞2. Klasyczne systemy

bezpieczeństwa właściwie bazują na obniżaniu prędkości. Za każdym razem, gdy któryś system

wsparcia uruchamiał się, prędkość spadało. Wynika to z wykorzystania dohamowania poszczególnych

kół do osiągnięcia stabilności. Tymczasem IDSA nie obniżał prędkości, jeśli nie dostał takiego

polecenia. Zachowanie to widać na wykresie umieszczonym na rysunku 46.

0

0,5

1

1,5

2

2,5

80 80 80 80 100100100100120120120120140140140140160160160160180180180180200200200200

prz

ech

ył s

amo

cho

du

[ᵒ]

prędkość [km/h]

Samochód referencyjny Samochód sterowany z wykorzystaniem IDSA

Page 116: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

116

Rysunek 46 Zmiana prędkości samochodów 𝒒𝟐 w eksperymencie 1

Jak widać na przykładzie drugiej próby samochodu sterowanego przez IDSA przy prędkości

początkowej 100 [𝑘𝑚

ℎ] (zaznaczonej na czerwono na rysunku 46), kiedy kierowca docisnął pedał gazu

podczas manewru, prędkość wzrosła. IDSA nie musiał nadmiernie używać hamulców, żeby utrzymać

zadany tor jazdy, ponieważ obliczył dokładną prędkość każdego koła, przy której samochód miał

wykonać manewr bez poślizgu i użył zmiennych DIFFERENTIAL_FRONT_LEFT,

DIFFERENTIAL_FRONT_RIGHT, DIFFERENTIAL_REAR_LEFT, DIFFERENTIAL_REAR_

RIGHT, żeby ją osiągnąć. Warto też zwrócić uwagę na mniejsze obroty kierownicą. Ponieważ IDSA

bazuje nie tylko na pozycji kierownicy, ale też na szybkości kątowej obrotu, jest w stanie odczytać

gwałtowny manewr jako manewr głęboki. W tej sytuacji kierowca nie musi krzyżować ani przekładać

rąk na kierownicy.

Tabela 15 Eksperyment 2 – ciasny zakręt - samochody skalibrowane

Prędkość rozpoczęcia manewru

[𝒌𝒎

𝒉]

Samochód referencyjny Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑 𝒒𝟏 𝒒𝟐 𝒒𝟑

10 0,2 2 253 0,2 -1 76

10 0,1 1 268 0,2 1 99

10 0,4 0 342 0,1 2 108

10 0,4 -2 268 0,2 0 104

20 0,8 1 372 0,2 -1 76

20 0,7 2 371 0,2 2 108

-80

-70

-60

-50

-40

-30

-20

-10

0

10

20

80

80

80

80

10

0

10

0

10

0

10

0

12

0

12

0

12

0

12

0

14

0

14

0

14

0

14

0

16

0

16

0

16

0

16

0

18

0

18

0

18

0

18

0

20

0

20

0

20

0

20

0

zmia

na

prę

dko

ści p

od

czas

man

ewru

[km

/h]

prędkość początkowa [km/h]

Samochód referencyjny Samochód sterowany z wykorzystaniem IDSA

Page 117: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

117

Prędkość rozpoczęcia manewru

[𝒌𝒎

𝒉]

Samochód referencyjny Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑 𝒒𝟏 𝒒𝟐 𝒒𝟑

20 0,9 0 365 0,3 1 104

20 1 -1 312 0,2 0 98

30 1,2 2 290 0,2 2 96

30 1,2 1 246 0,2 1 94

30 1,1 -1 256 0,2 2 88

30 1,3 3 267 0,1 3 98

40 1,5 -10 160 0,2 -3 198

40 1,6 -8 381 0,2 -4 197

40 1,5 -12 271 0,3 -4 178

40 niezaliczony 0,4 3 174

50 1,9 -28 450 0,3 3 149

50 niezaliczony 0,2 -24 324

50 niezaliczony 0,3 -23 354

50 niezaliczony niezaliczony

60 niezaliczony 0,4 -38 450

60 niezaliczony 0,4 -39 450

60 niezaliczony niezaliczony

60 niezaliczony 0,4 -42 450

Eksperyment 2 (tabela 15) miał za zadanie porównać obydwa rozwiązania w zwyczajnej sytuacji

drogowej, czyli podczas przejazdu przez skrzyżowanie. Okazało się, że potwierdził prawie wszystkie

spostrzeżenia z eksperymentu 1. W tym przypadku jednak dwie próby zostały niezaliczone. Wynika to

najpewniej z dużej prędkości i braku fizycznego ograniczenia (słupki, ściana), zderzenia z którym IDSA

miałby unikać. Widać też wyraźne obniżenie prędkości w ostatnich próbach. Można przypuszczać, że

bezwładność samochodu nie pozwala przejechać zadanym torem powyżej prędkości ok. 30 [𝑘𝑚

ℎ] .

Na wykresie umieszczonym na rysunku 47 widać wyraźnie, że do tej prędkości zastosowany sposób

sterowania nie ma znaczenia.

Page 118: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

118

Rysunek 47 Zmiana prędkości samochodów 𝒒𝟐 w eksperymencie 2

Z wyższą prędkością początkową i bez utraty prędkości udało się tu wykonać przejazd tylko dwa razy,

samochodem sterowanym z wykorzystaniem IDSA, przypuszczalnie wykorzystując idealną rajdową

trajektorię (od zewnętrznej strony zakrętu do wewnętrznej i znów do zewnętrznej). Udowadnia to, że

jeśli kierowca dysponuje umiejętnościami do szybkiego pokonania zakrętu, to IDSA mu w tym

nie przeszkadza – w odróżnieniu od systemów bezpieczeństwa, w które wyposażony jest samochód

referencyjny.

Tabela 16 Eksperyment 3 – długi zakręt - samochody skalibrowane

Prędkość rozpoczęcia manewru

[𝒌𝒎

𝒉]

Samochód referencyjny Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟒 𝒒𝟓 𝒒𝟒 𝒒𝟓

20 0,23 0,01 0,07 0,07

20 0,25 0,02 0,07 0,06

20 0,22 0,01 0,07 0,05

20 0,23 0,01 0,06 0,06

30 0,4 0,06 0,11 0,1

30 0,42 0,05 0,11 0,09

30 0,41 0,06 0,12 0,09

30 0,4 0,07 0,13 0,11

40 0,72 0,18 0,31 0,27

-45

-40

-35

-30

-25

-20

-15

-10

-5

0

5

10 10 10 10 20 20 20 20 30 30 30 30 40 40 40 40 50 50 50 50 60 60 60 60zm

ian

a p

ręd

kośc

i po

dcz

as m

anew

ru [

km/h

]

prędkość początkowa [km/h]

Samochód referencyjny Samochód sterowany z wykorzystaniem IDSA

Page 119: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

119

Prędkość rozpoczęcia manewru

[𝒌𝒎

𝒉]

Samochód referencyjny Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟒 𝒒𝟓 𝒒𝟒 𝒒𝟓

40 0,7 0,2 0,25 0,22

40 0,7 0,19 0,3 0,25

40 0,71 0,17 0,3 0,27

50 1,81 0,22 0,21 0,2

50 1,9 0,21 0,26 0,23

50 1,86 0,24 0,29 0,25

50 1,78 0,24 0,24 0,21

60 2,59 0,25 0,37 0,26

60 2,72 0,25 0,28 0,25

60 2,58 0,27 0,27 0,25

60 2,58 0,26 0,29 0,26

70 2,42 0,26 0,25 0,21

70 2,44 0,25 0,25 0,22

70 2,53 0,26 0,26 0,21

70 2,51 0,26 0,28 0,25

Eksperyment 3 (tabela 16) porównuje wyłącznie uślizg kół 𝑞4 oraz 𝑞5 , w tym przypadku tylko

na powierzchni asfaltowej. Na rysunku 48 po raz kolejny widać cechę opisaną przy analizie prędkości

w eksperymencie 1. IDSA precyzyjnie oblicza potrzebną prędkość każdego koła, co minimalizuje

poślizg. Warto też zauważyć, że poślizg jest równomierny, tj. różnica 𝑞4 − 𝑞5 jest znacznie mniejsza

niż w przypadku samochodu referencyjnego. Na rysunku 48 widać wyraźnie, że samochód sterowany

w sposób referencyjny cechuje się ogromną różnicą poślizgu pomiędzy kołami, podczas gdy samochód

sterowany przez IDSA zachowuje poślizg minimalny i maksymalny porównywalny z poślizgiem

minimalnym samochodu referencyjnego.

W tym przypadku zdecydowano się wykonać kilka dodatkowych jazd testowych, badając tylko

maksymalny poślizg (wskaźnik 𝑞4) w sytuacji, gdy zewnętrzne koła poruszają się po trawie. Wyniki

przedstawiono na wykresie na rysunku 49. Widać tutaj, że o ile obecność trawy pod kołami samochodu

referencyjnego pogarsza jego wyniki, tak dla samochodu sterowanego przez IDSA nie stanowi żadnej

przeszkody.

Page 120: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

120

Rysunek 48 Poślizg kół samochodów 𝒒𝟒 oraz 𝒒𝟓 podczas eksperymentu 3

Rysunek 49 Poślizg kół samochodów 𝒒𝟒 oraz 𝒒𝟓 podczas jazdy po różnych podłożach

0

0,5

1

1,5

2

2,5

3

20 20 20 20 30 30 30 30 40 40 40 40 50 50 50 50 60 60 60 60 70 70 70 70

uśl

izg

koła

[m

/s]

prędkość [km/h]

Samochód referencyjny (min) Samochód referencyjny (max)

Samochód sterowany z wykorzystaniem IDSA (min) Samochód sterowany z wykorzystaniem IDSA (max)

0

0,5

1

1,5

2

2,5

3

3,5

4

4,5

20 20 20 20 30 30 30 30 40 40 40 40 50 50 50 50 60 60 60 60 70 70 70 70

uśl

izg

koła

[m

/s]

prędkość [km/h]

Samochód referencyjny (aslaft)

Samochód sterowany z wykorzystaniem IDSA

Samochód referencyjny (aslaft/trawa)

Samochód sterowany z wykorzystaniem IDSA (asfalt/trawa)

Page 121: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

121

Tabela 17 Eksperyment 4 – slalom - samochody skalibrowane

Prędkość

rozpoczęcia

manewru

[𝒌𝒎

𝒉]

Samochód referencyjny Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟑 𝒒𝟒 𝒒𝟓 𝒒𝟔 𝒒𝟏 𝒒𝟑 𝒒𝟒 𝒒𝟓 𝒒𝟔

20 0,9 48 0,35 0 54 0,2 76 0,12 0,1 55

30 1,2 46 0,37 0 36 0,2 74 0,13 0,09 36

40 1,4 104 1,2 0,12 28 0,2 87 0,21 0,12 26

40 1,3 48 1,32 0,41 27 0,2 95 0,32 0,24 27

40 1,2 70 1,28 0,36 26 0,3 92 0,44 0,36 26

40 1,4 53 1,11 0,51 25 0,2 104 0,41 0,31 28

50 1,5 95 1,36 0,46 25 0,2 99 0,43 0,29 26

50 1,6 110 1,54 0,71 25 0,3 114 0,49 0,42 25

50 1,3 89 1,61 0,87 25 0,3 112 0,39 0,23 25

50 1,3 93 1,39 0,9 25 0,3 120 0,44 0,42 26

Wyniki eksperymentu 3 (tabela 17) okazały się gorsze, niż zakładano, co odkrywa pewną słabość IDSA.

Co prawda obydwa samochody poddały się przy tej samej prędkości 60 [𝑘𝑚

ℎ], a samochód sterowany

przez IDSA lepiej zarządzał przechyłem 𝑞1, potrzebnym skrętem kierownicy 𝑞3 i przyczepnością kół

𝑞4 oraz 𝑞5, to jednak nie udało się z jego pomocą skrócić czasów przejazdu 𝑞6 (rysunek 50).

Rysunek 50 Czasy przejazdu 𝒒𝟔 w eksperymencie 4

Niestety w środowisku symulacyjnym nie udało się zbadać szerokości całego toru potrzebnego obu

pojazdom, jednak subiektywnie podczas eksperymentu dało się odczuć, że samochód sterowany

0

10

20

30

40

50

60

20 30 40 40 40 40 50 50 50 50

czas

prz

ejaz

du

[s]

prędkość [km/h]

Samochód referencyjny Samochód sterowany z wykorzystaniem IDSA

Page 122: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

122

przez IDSA potrzebuje więcej miejsca. Po analizie odkryto, że ciągłe, gwałtowne zmiany toru jazdy

realizowane są przez IDSA z większym opóźnieniem, więc samochód wyjeżdżał dalej od słupków

zanim zaczynał realizować kolejny skręt. Warto też nadmienić, że podczas niektórych prób z wyższymi

prędkościami, algorytm decydował o ominięciu kolejnego słupka z innej strony, niż chciał kierowca,

co powodowało spore zaskoczenie u prowadzącego pojazd. Z drugiej strony dzięki temu nawet

rozpoczynając próbę z prędkością 70 [𝑘𝑚

ℎ] , IDSA zapobiegał najechaniu na przeszkodę, co dla

samochodu referencyjnego miało miejsce już przy trzecim słupku.

4.4.2. Pojazd referencyjny bez ECS i TCS

Tabele 18 – 37 przedstawiają wpływ zmian w ustawieniach samochodu referencyjnego na zachowanie

w próbach dynamicznych. Najpierw wyłączono układy ECS i TCS przy standardowych nastawach

zawieszenia, a następnie włączano i wyłączano ESC i TSC przy bardziej komfortowych lub sportowych

nastawach zawieszenia.

Tabela 18 Eksperyment 5 - test łosia - samochód referencyjny bez ESC i TSC

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód referencyjny

𝒒𝟏 𝒒𝟐 𝒒𝟑

80 1,7 -4 194

80 1,7 -7 209

80 1,8 6 264

80 1,6 12 186

100 1,9 4 198

100 1,6 -2 179

100 1,8 -3 201

100 1,9 1 212

Tabela 19 Eksperyment 6 – ciasny zakręt – samochód referencyjny bez ESC i TCS

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód referencyjny

𝒒𝟏 𝒒𝟐 𝒒𝟑

10 0,3 2 351

20 0,7 0 298

30 1,4 1 266

30 1,4 1 279

30 1,3 3 272

30 1,5 1 264

40 1,7 -4 261

40 1,5 -6 297

40 niezaliczony

40 1,8 2 321

Page 123: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

123

Tabela 20 Eksperyment 7 – długi zakręt – samochód referencyjny bez ECS i TCS

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód referencyjny

𝒒𝟒 𝒒𝟓

20 0,3 0,02

30 0,38 0,1

30 0,55 0,12

30 0,37 0,06

30 0,84 0,07

40 2,41 0,26

40 2,87 0,44

40 2,97 0,35

40 2,5 0,81

Tabela 21 Eksperyment 8 – slalom - samochód referencyjny bez ECS i TCS

Prędkość

rozpoczęcia

manewru [𝒌𝒎

𝒉]

Samochód referencyjny

𝒒𝟏 𝒒𝟑 𝒒𝟒 𝒒𝟓 𝒒𝟔

20 0,9 94 0,44 0 51

30 1,1 75 0,49 0,11 32

40 1,2 97 1,13 0,4 27

40 1,3 150 1,66 0,52 28

40 1,4 124 1,83 0,43 27

40 1,3 164 2,03 0,51 24

50 1,6 187 2,54 0,22 24

50 1,5 177 2,71 0,34 24

50 1,4 164 2,81 0,28 24

50 1,3 127 3,05 0,65 23

Wnioski z przejazdów samochodem referencyjnym po wyłączeniu systemów odpowiedzialnych

za utrzymanie trakcji okazały się bardzo interesujące. Eksperyment 5 (tabela 18) pokazał, że samochód

poddaje się przy dużo niższych prędkościach w porównaniu do wyników eksperymentu 1. Wynika to

z ogromnej podsterowności, uniemożliwiającej gwałtowną zmianę pasa. Jest to zgodne z intuicją,

ponieważ systemy te zostały wprowadzone właśnie w odpowiedzi na test łosia. Podsterowność

spowodowała także konieczność mocniejszych obrotów kierownicą, w celu utrzymania toru jazdy.

Co ciekawe, wyniki eksperymentu 6 (tabela 19) są lepsze niż eksperymentu 2. Okazało się, że systemy

ECS i TCS w przypadku gwałtownego skrętu zmniejszają wyłącznie prędkość jazdy. Ich obecność

nie pozwala jednak przejechać zakrętu przy większej prędkości początkowej niż ta, która uzyskano by

bez nich. Co więcej, poprzez eliminację systemów ECS i TCS, udało się właściwie wyeliminować utratę

prędkości, a więc skrócić czas wykonywania manewru. Eksperyment 7 (tabela 20) pokazał, że systemy

ECS i TCS są przydatne przy dłuższych manewrach. Ich zdolność do hamowania okazała się niezbędna

przy prędkościach powyżej 40 [𝑚𝑘

ℎ] . Warto też odnotować wyraźnie wyższe uślizgi kół 𝑞4 oraz

𝑞5 występujące przy tej prędkości. Ciekawe są również wyniki przejazdu przez slalom (eksperyment 8,

Page 124: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

124

tabela 21). Zgodnie z eksperymentem 4, prędkość 50 [𝑘𝑚

ℎ] okazała się graniczna, jednak brak obecności

systemów TCS i ESC nie spowodował problemów z zaliczeniem testu. Można było zauważyć niższe

czasy przejazdów 𝑞6, wynikające z braku hamowań realizowanych przez te systemy.

Do tej części warto jeszcze dodać niemierzalne, subiektywne spostrzeżenia kierowcy. Samochód

bez systemów TSC i ESC zachowywał się bardzo dobrze podczas normalnej jazdy. Ze względu

na nieograniczoną tymi systemami podsterowność nie udało się go doprowadzić do sytuacji z rysunku

43. Podczas próby ciasnego zakrętu dawał większą swobodę – kierowca mógł regulować prędkość

wyjściową z zakrętu, a także jego promień, pedałem gazu. Najprawdopodobniej ze względu na obecność

napędu na 4 koła, nie udało się wykonać ślizgu podczas próby długiego zakrętu, który mógłby

zwiększyć możliwą prędkość przejazdu. Podczas ostatniego testu – slalomu – samochód był bardziej

przewidywalny, a kontrolowanie jego poślizgów przy pomocy pedału gazu było przyjemniejsze niż

poleganie na systemach TSC i ESC. Można przypuszczać, że tak dobre wyniki eksperymentów bez

systemów TCS i ECS wynikają z dobrych (sportowych) ustawień zawieszenia.

4.4.3. Pojazd referencyjny z komfortowym zawieszeniem

Zawieszenie komfortowe to takie, w którym współczynniki sprężystości i tłumienia zawieszenia,

a także współczynnik sztywności stabilizatorów zostały zmniejszone o połowę. Dzięki temu

zawieszenie znacznie lepiej radziło sobie z nierównościami, ograniczając przyspieszenia działające

na kabinę, kosztem większego przechyłu nadwozia 𝑞1.

Tabela 22 Eksperyment 9 – test łosia – samochód referencyjny z komfortowym zawieszeniem

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód referencyjny

𝒒𝟏 𝒒𝟐 𝒒𝟑

80 1,9 -8 354

80 1,8 -15 345

80 2 20 387

80 2,3 17 354

100 2,3 -40 349

100 niezaliczony

100 niezaliczony

100 2,4 -28 396

Podczas eksperymentu 9 (tabela 22) widać wyraźnie działającą podsterowność. Przy prędkości

100 [𝑘𝑚

ℎ] samochód poruszał się już 4-kołowym ślizgiem dochodzącym do 6 [

𝑚

𝑠] i tracił około 40 [

𝑘𝑚

ℎ]

swojej prędkości początkowej. Przy prędkości 110 [𝑘𝑚

ℎ] jego opanowanie było już trudne. Za to warto

zauważyć, że przy niższych prędkościach, możliwe było zwiększenie prędkości podczas manewru.

Następowało to w chwilach, w których samochód przestawał się ślizgać i był już ustawiony poprawnie

na torze jazdy, a odległość do kolejnego skrętu była dostatecznie długa.

Page 125: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

125

Tabela 23 Eksperyment 10 – ciasny zakręt – samochód referencyjny z komfortowym zawieszeniem

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód referencyjny

𝒒𝟏 𝒒𝟐 𝒒𝟑

10 0,6 3 354

20 1 -3 341

30 1,9 -1 347

30 1,8 0 297

30 1,8 2 398

30 2 4 365

40 2,4 -17 354

40 2,1 -16 376

40 niezaliczony

40 2,5 -19 371

Tabela 24 Eksperyment 11 – długi zakręt – samochód referencyjny z komfortowym zawieszeniem

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód referencyjny

𝒒𝟒 𝒒𝟓

20 0,16 0

30 0,44 0,1

30 0,45 0,15

30 0,55 0,06

30 0,79 0,09

40 2,11 0,32

40 2,18 0,65

40 2,15 0,56

40 2,25 0,34

Próby przejazdu przez ciasny i długi zakręt (eksperymenty 10 i 11, tabele 23 i 24) dały podobne

rezultaty. Maksymalna prędkość wejściowa to 40 [𝑘𝑚

ℎ] i dopiero przy tej prędkości uruchamia się ESC.

Przy niższych prędkościach zdolność zawieszenia do kompensacji siły odśrodkowej jest wystarczająca,

a przy wyższych ESC uruchamia się zbyt późno, żeby zdążyć utrzymać samochód na zadanym torze

jazdy.

Tabela 25 Eksperyment 12 – slalom – samochód referencyjny z komfortowym zawieszeniem

Prędkość

rozpoczęcia

manewru [𝒌𝒎

𝒉]

Samochód referencyjny

𝒒𝟏 𝒒𝟑 𝒒𝟒 𝒒𝟓 𝒒𝟔

20 1,6 95 0,65 0,23 51

30 1,9 97 1,1 0,45 33

30 2 133 1,76 0,37 33

30 1,8 136 2 0,56 33

30 1,8 165 1,97 0,44 32

Page 126: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

126

Prędkość

rozpoczęcia

manewru [𝒌𝒎

𝒉]

Samochód referencyjny

𝒒𝟏 𝒒𝟑 𝒒𝟒 𝒒𝟓 𝒒𝟔

40 2,3 146 2,19 0,4 25

40 2,3 167 2,43 0,77 25

40 2,4 129 2,7 0,81 25

40 2,3 157 2,5 0,79 25

Eksperyment 12 przedstawiony w tabeli 25, potwierdza pozostałe obserwacje. ESC reaguje na tyle

późno i wyłącza się na tyle wcześnie, że pomiędzy jego akcjami można nieznacznie podnieść prędkość

przejazdu. Niestety przy próbie rozpoczęcia przejazdu z prędkością 50 [𝑘𝑚

ℎ], ESC reaguje zbyt późno

i nie jest w stanie zapobiec uderzeniu w drugi słupek.

4.4.4. Pojazd referencyjny z komfortowym zawieszeniem bez ESC i TSC

Wyłączenie ESC i TSC dla komfortowych nastawów zawieszenia dało kolejne, interesujące rezultaty.

W eksperymencie 13 (tabela 26) widać obniżenie maksymalnej prędkości, z którą manewr był

wykonalny. Powyżej prędkości 80 [𝑘𝑚

ℎ] samochód najpierw wpadał w podsterowność, a po chwilę

w nadsterowność powodującą utratę kontroli.

Tabela 26 Eksperyment 13 – test łosia – samochód referencyjny z komfortowym zawieszeniem bez ECS i ESP

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód referencyjny

𝒒𝟏 𝒒𝟐 𝒒𝟑

80 2,1 5 356

80 2,3 -2 341

80 2,1 -8 329

80 2,3 -10 299

Tabela 27 Eksperyment 14 – ciasny zakręt – samochód referencyjny z komfortowym zawieszeniem bez ECS i ESP

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód referencyjny

𝒒𝟏 𝒒𝟐 𝒒𝟑

10 0,8 1 369

20 1,4 0 374

30 2 3 348

30 1,8 -4 358

30 1,9 4 353

30 2,1 -2 351

40 2,6 -5 361

40 2,6 -6 367

40 2,4 -5 334

40 2,6 2 331

Podczas prób przejazdu przez ciasny zakręt (eksperyment 14, tabela 27) maksymalna możliwa prędkość

wejściowa nie zmieniła się w stosunku do przejazdu z ESC i TSC, jednak przejazd z prędkością 40 [𝑘𝑚

ℎ]

Page 127: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

127

wymagał od kierowcy świadomego dociśnięcia pedału przyspieszenia i wykorzystania pojawiającej się

nadsterowności.

Tabela 28 Eksperyment 15 – długi zakręt – samochód referencyjny z komfortowym zawieszeniem bez ECS i ESP

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód referencyjny

𝒒𝟒 𝒒𝟓

20 0,17 0,2

30 0,35 0,07

30 0,76 0,17

30 0,77 0,4

30 0,59 0,12

40 2,11 0,82

40 1,76 0,85

40 5,32 5

40 6,6 6,11

Próba wykorzystania tej samej nadsterowności w eksperymencie 15 (tabela 28), którą zresztą

próbowano wywołać w eksperymencie 7, nie przyniosła przyrostu prędkości, z którą można

wykonywać długi zakręt. Samochód co prawda realizował ładny, 4-kołowy poślizg, ale jego

opanowanie wymagało dużych umiejętności i, jak wspomniano, nie przyniosło wymiernych korzyści.

Tabela 29 Eksperyment 16 – slalom – samochód referencyjny z komfortowym zawieszeniem bez ECS i ESP

Prędkość

rozpoczęcia

manewru [𝒌𝒎

𝒉]

Samochód referencyjny

𝒒𝟏 𝒒𝟑 𝒒𝟒 𝒒𝟓 𝒒𝟔

20 1 87 0,44 0,15 52

30 1,5 113 0,49 0,16 35

40 1,4 161 1,13 0,22 31

40 1,5 131 1,66 0,29 29

40 1,4 162 1,83 0,27 31

40 1,6 152 2,03 0,33 28

Slalom (eksperyment 16, tabela 29) nie wniósł nic nowego. Tak, jak w eksperymencie 12 ingerencja

ECS była zbyt późna, tak tutaj jej brak zakończył się maksymalną prędkością przejazdu wynoszącą

40 [𝑘𝑚

ℎ].

4.4.5. Pojazd referencyjny ze sportowym zawieszeniem

Do kolejnych testów zwiększono o połowę współczynniki sprężystości i tłumienia zawieszenia oraz

sztywności stabilizatorów. Przed omówieniem wyników należy podać jedną dodatkową informację.

Podczas jazdy przez nierówny fragment toru testowego, na którym obecnych jest dużo nieregularnych

i losowych wybojów, samochód z takim zawieszeniem bardzo często tracił kontakt pomiędzy oponami

a nawierzchnią. Działo się to na tyle często, że uznano taki samochód za niezdatny do codziennego

użytkowania.

Page 128: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

128

Tabela 30 Eksperyment 17 – test łosia – samochód referencyjny ze sportowym zawieszeniem

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód referencyjny

𝒒𝟏 𝒒𝟐 𝒒𝟑

80 1,1 -4 187

80 1,2 -4 193

80 1,1 2 188

80 1,1 -3 201

100 1,2 -2 204

100 1,3 -2 187

100 1,2 2 199

100 1,2 3 216

Eksperyment 17, którego wyniki przedstawiono w tabeli 30, pokazuje zachowanie tak

skonfigurowanego pojazdu podczas testu łosia. Jak widać, pomiary nie różnią się od poprzednich

eksperymentów. Samochód przechyla się znacznie mniej (wskaźnik 𝑞1) , jednak jego pozostałe

obserwowane wskaźniki oceny 𝑞2 oraz 𝑞3 nie ulegają poprawie. Subiektywnie dało się odczuć większą

podsterowność bardzo szybko kompensowaną systemami bezpieczeństwa ECS i TSC. Takie

zachowanie okazało się być zaskakujące dla kierowcy.

Tabela 31 Eksperyment 18 – ciasny zakręt – samochód referencyjny ze sportowym zawieszeniem

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód referencyjny

𝒒𝟏 𝒒𝟐 𝒒𝟑

10 0,2 3 240

20 0,6 1 260

30 1,1 -1 291

30 1,2 -1 297

30 1,1 5 283

30 1,2 8 269

40 1,3 -4 291

40 1,1 -2 277

40 1,4 -5 248

40 1,3 2 290

Tabela 32 Eksperyment 19 – długi zakręt – samochód referencyjny ze sportowym zawieszeniem

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód referencyjny

𝒒𝟒 𝒒𝟓

20 0,38 0,04

30 0,34 0,09

30 0,34 0,22

30 0,66 0,25

30 0,79 0,28

40 2,8 0,26

40 2,92 0,48

Page 129: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

129

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód referencyjny

𝒒𝟒 𝒒𝟓

40 2,76 0,64

40 2,81 0,77

Eksperymenty 18 i 19 (tabele 31 oraz 32) potwierdziły poprzednią obserwację. Systemy ECS i TSC

reagowały bardzo szybko, ale jednocześnie dość słabo i krótko. Pozwoliło to osiągnąć maksymalną

prędkość wejściową w obu eksperymentach 40 [𝑘𝑚

ℎ] . Odnotowano tutaj znacząco mniejsze obroty

kierownicą niż w poprzednich próbach. Najprawdopodobniej wynikają one z dostatecznie szybkiej

kompensacji poślizgu przez układy ECS i TSC.

Tabela 33 Eksperyment 20 – slalom – samochód referencyjny ze sportowym zawieszeniem

Prędkość

rozpoczęcia

manewru [𝒌𝒎

𝒉]

Samochód referencyjny

𝒒𝟏 𝒒𝟑 𝒒𝟒 𝒒𝟓 𝒒𝟔

20 0,3 88 0,22 0,1 50

30 0,8 89 0,36 0,1 31

40 0,9 87 1,36 0,2 26

40 1,1 98 1,1 0,21 29

40 1,1 88 1,12 0,24 29

40 1,1 98 2 0,3 29

50 1,2 112 2 0,65 25

50 1,1 126 2,12 0,65 25

50 1,1 144 2,38 0,69 24

50 1,1 141 2,08 0,64 24

Eksperyment przejazdu przez slalom (eksperyment 20, tabela 33) zakończył się wynikami podobnymi

do przejazdu z komfortowymi nastawami zawieszenia, z wyłączeniem przechyłu 𝑞1 . Subiektywnie

jednak samochód chętniej skręcał, a podsterowność była redukowana błyskawicznie przez układy ESC

i TSC, więc po jej opanowaniu możliwe było zwiększenie prędkości przed kolejnym słupkiem.

4.4.6. Pojazd referencyjny ze sportowym zawieszeniem bez ESC i TSC

Po wyłączeniu ESC i TSC, test łosia (eksperyment 21, tabela 34) pokazał wyraźną podsterowność, którą

bardzo trudno było zamienić w nadsterowność. Oznacza to, że nadsterowność zaobserwowana

w eksperymentach 13-16, najprawdopodobniej wynikała z dużej zmiany sił działających na samochód,

kiedy duży przechył w jedną stronę zmieniał się w duży przechył w drugą stronę, co skutkowało

zerwaniem przyczepności.

Tabela 34 Eksperyment 21 – test łosia – samochód referencyjny ze sportowym zawieszeniem bez TSC i ESC

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód referencyjny

𝒒𝟏 𝒒𝟐 𝒒𝟑

80 1,1 -2 191

80 1,2 0 188

80 1,1 2 187

Page 130: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

130

80 1,1 2 179

100 1,2 1 200

100 1,3 -1 212

100 1,2 3 220

100 1,2 2 198

Tabela 35 Eksperyment 22 – ciasny zakręt – samochód referencyjny ze sportowym zawieszeniem bez TSC i ESC

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód referencyjny

𝒒𝟏 𝒒𝟐 𝒒𝟑

10 0,2 1 265

20 0,5 3 255

30 1 -3 273

30 1,2 -2 290

30 1,2 -6 254

30 1,2 -6 262

40 1,2 -2 269

40 1,2 -1 299

40 1,3 -3 241

40 1,3 0 248

Tabela 36 Eksperyment 23 – długi zakręt – samochód referencyjny ze sportowym zawieszeniem bez TSC i ESC

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód referencyjny

𝒒𝟒 𝒒𝟓

20 0,41 0,11

30 0,3 0,16

30 0,64 0,12

30 0,51 0,13

30 0,7 0,1

40 2,1 0,23

40 2,12 0,49

40 2,56 0,49

40 2,18 0,79

Eksperymenty 22 i 23 (tabele 35 oraz 36) pokazały, że reakcje ESC i TSC w eksperymentach 18 i 19

były właściwie bezcelowe, ponieważ zarówno bez tych systemów, jak i przy ich obecności, prędkością

graniczną okazało się 40 [𝑘𝑚

ℎ]. Przypisuje się to możliwościom zastosowanych opon.

Page 131: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

131

Tabela 37 Eksperyment 24 – slalom – samochód referencyjny ze sportowym zawieszeniem bez TSC i ESC

Prędkość

rozpoczęcia

manewru [𝒌𝒎

𝒉]

Samochód referencyjny

𝒒𝟏 𝒒𝟑 𝒒𝟒 𝒒𝟓 𝒒𝟔

20 0,1 96 0,81 0,12 51

30 0,9 100 0,33 0,14 30

40 0,8 106 0,99 0,19 27

40 1 98 1,13 0,26 27

40 1 94 1,19 0,27 26

40 1,2 115 1,67 0,29 27

50 1,1 195 2,31 0,68 25

50 1,2 151 3,13 0,71 25

50 1,2 130 3,48 0,78 26

50 1,2 166 6,14 2,88 25

Ostatnią obserwację potwierdza przejazd przez slalom (eksperyment 24, tabela 37). Do prędkości

40 [𝑘𝑚

ℎ] samochód zachowywał się bardzo przewidywalnie i nie zdradzał żadnych nietypowych

zachowań, a powyżej tej prędkości kierowca musiał ręcznie kompensować podsterowność,

a jednocześnie miał możliwość zwiększania prędkości pomiędzy słupkami, co utrudniało kompensację

podsterowności przy kolejnym skręcie. Warto tu zauważyć, że podczas skrętu kierowca mógł wymusić

niski bieg i wcisnąć mocno gaz, co zwiększało prędkość, mimo hamowania wykonywanego przez układ

TSC. Ta sama operacja na wyższym biegu nie przynosiła przyrostu prędkości. Jest to typowy przykład

sytuacji, w której dwa systemy (silnik i hamulce) działają jednocześnie przeciw sobie. Jeśli silnik miał

dostatecznie dużo mocy (na niższym biegu), to „wygrywał” z układem hamulcowym i systemem TSC.

4.4.7. Zwiększenie masy pojazdu o 300[kg]

Kolejne tabele przedstawiają wpływ zmian parametrów dotyczących obydwu samochodów na ich

zachowanie.

Tabela 38 Eksperyment 25 – test łosia – masa pojazdu zwiększona do 1600[kg]

Prędkość rozpoczęcia manewru

[𝒌𝒎

𝒉]

Samochód referencyjny Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑 𝒒𝟏 𝒒𝟐 𝒒𝟑

70 1,5 2 150 0,3 2 90

80 1,5 1 161 0,3 1 89

80 1,6 -2 155 0,3 -3 94

80 1,7 -3 167 0,3 2 96

80 1,7 2 168 0,3 -4 95

90 1,6 -9 165 0,4 2 92

90 1,7 -11 170 0,3 3 91

90 1,7 -12 161 0,3 5 92

90 1,6 -10 169 0,3 -1 88

100 1,8 -24 234 0,4 1 88

Page 132: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

132

Prędkość rozpoczęcia manewru

[𝒌𝒎

𝒉]

Samochód referencyjny Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑 𝒒𝟏 𝒒𝟐 𝒒𝟑

100 niezaliczony 0,4 2 95

100 1,8 -19 199 0,4 1 97

100 niezaliczony 0,4 1 99

110 niezaliczony 0,4 3 89

110 niezaliczony 0,4 -1 89

110 niezaliczony 0,4 -2 84

110 niezaliczony 0,4 -4 95

120 niezaliczony 0,4 5 87

120 niezaliczony 0,5 -1 92

120 niezaliczony niezaliczony

120 niezaliczony 0,4 3 91

W eksperymencie 25 (tabela 38) podniesiono masę pojazdu 𝑚𝑐 o 300[𝑘𝑔] – z 1300[𝑘𝑔] do 1600[𝑘𝑔].

W ten sposób zasymulowano obciążenie pojazdu np. kompletem pasażerów. Zachowanie samochodu

referencyjnego jest zaskakująco złe. Warto podkreślić, że ten test pokazuje jazdę z kompletem

pasażerów, więc nie jest to sytuacja wyjątkowa. W teście łosia do 80 [𝑘𝑚

ℎ] samochód zachowuje się

przewidywalnie i podobnie do eksperymentu 1. Jednak już przy 90 [𝑘𝑚

ℎ] widać wyraźną utratę prędkości

𝑞2 (ok. 10 [𝑘𝑚

ℎ] ), a przy 100 [

𝑘𝑚

ℎ] pojawia się trudna do opanowania nadsterowność. Samochód

sterowany z wykorzystaniem IDSA w tym samym eksperymencie pokazuje swoją zdolność

do niwelowania przechyłów 𝑞1 i kontroli toru jazdy bez potrzeby hamowania. Niemniej jednak,

maksymalną prędkością wejściową, z jaką udało się wykonać manewr, było 120 [𝑘𝑚

ℎ] , czyli aż

o 80 [𝑘𝑚

ℎ] mniej niż w eksperymencie 1.

Tabela 39 Eksperyment 26 – ciasny zakręt - masa pojazdu zwiększona do 1600[kg]

Prędkość rozpoczęcia manewru

[𝒌𝒎

𝒉]

Samochód referencyjny Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑 𝒒𝟏 𝒒𝟐 𝒒𝟑

20 1 -1 250 0,4 -5 110

20 0,9 -2 265 0,4 -6 97

20 0,9 3 241 0,4 -3 94

20 0,9 -2 239 0,4 -2 99

30 1,3 -2 287 0,5 -6 97

30 1,3 -3 298 0,4 -7 95

30 1,3 0 276 0,4 -8 93

30 1,2 -2 269 0,4 -5 94

40 1,5 -20 301 0,5 -7 187

40 1,6 -19 286 0,5 -8 177

Page 133: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

133

Prędkość rozpoczęcia manewru

[𝒌𝒎

𝒉]

Samochód referencyjny Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑 𝒒𝟏 𝒒𝟐 𝒒𝟑

40 1,5 -9 271 0,5 -7 193

40 1,5 -9 266 0,5 -9 186

W eksperymencie 26 (tabela 39) wyższa masa 𝑚𝑐 wpłynęła na ograniczenie maksymalnej prędkości

wejściowej do 40 [𝑘𝑚

ℎ] dla obydwóch testowanych pojazdów. Warto zauważyć, że samochód

referencyjny w próbach dla tej prędkości początkowej traci prędkość końcową tylko o ok.

10 [𝑘𝑚

ℎ] lub aż o ok. 20 [

𝑘𝑚

ℎ] (wskaźnik 𝑞2). W tym ostatnim przypadku jest to wynikiem ingerencji

systemu ESC. Co ciekawe, bez niego samochód przejeżdża przez zakręt równie skutecznie. Brak reakcji

ESC nie został wymuszony jego wyłączeniem. Po prostu w dwóch z czterech prób system

nie zainterweniował. Pojazd sterowany z użyciem IDSA potwierdził dotychczasowe wyniki, wyraźnie

redukując przechył 𝑞1 i ograniczając utratę prędkości 𝑞2.

Tabela 40 Eksperyment 27 – długi zakręt - masa pojazdu zwiększona do 1600[kg]

Prędkość rozpoczęcia manewru

[𝒌𝒎

𝒉]

Samochód referencyjny Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟒 𝒒𝟓 𝒒𝟒 𝒒𝟓

20 0,18 0,21 0,18 0,1

30 0,19 0,21 0,19 0,12

40 0,39 0,52 0,39 0,23

40 0,32 0,56 0,32 0,21

40 0,31 0,54 0,31 0,23

40 0,38 0,44 0,38 0,22

50 niezaliczony 0,28 0,33

50 niezaliczony 0,28 0,39

50 niezaliczony niezaliczony

50 niezaliczony 0,36 0,28

W eksperymencie przejazdu przez długi zakręt (eksperyment 27, tabela 40) samochód referencyjny

poddał się przy prędkości 50 [𝑘𝑚

ℎ] , podczas gdy samochód sterowany przez IDSA zaliczył trzy

z czterech prób przy tej prędkości, nie radząc sobie dopiero przy prędkości wyższej. Podobnie, jak

w eksperymencie 3, widać tutaj dokładniejsze sterowanie prędkością każdego koła, oznaczającą

mniejsze uślizgi 𝑞4 oraz 𝑞5.

Tabela 41 Eksperyment 28 – slalom - masa pojazdu zwiększona do 1600[kg]

Prędkość

rozpoczęcia

manewru

[𝒌𝒎

𝒉]

Samochód referencyjny Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟑 𝒒𝟒 𝒒𝟓 𝒒𝟔 𝒒𝟏 𝒒𝟑 𝒒𝟒 𝒒𝟓 𝒒𝟔

30 2,2 97 0,66 0,02 37 0,3 79 0,15 0,1 37

40 2,6 98 0,98 0,09 28 0,4 81 0,2 0,12 28

Page 134: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

134

Prędkość

rozpoczęcia

manewru

[𝒌𝒎

𝒉]

Samochód referencyjny Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟑 𝒒𝟒 𝒒𝟓 𝒒𝟔 𝒒𝟏 𝒒𝟑 𝒒𝟒 𝒒𝟓 𝒒𝟔

40 2,6 109 1,32 0,15 27 0,4 84 0,19 0,12 28

40 2,4 150 1,25 0,22 28 0,4 80 0,18 0,12 28

40 2,6 109 1,29 0,26 29 0,4 81 2,1 0,12 28

Slalom realizowany po podniesieniu masy (eksperyment 28, tabela 41), zakończył się dla obu pojazdów

przy prędkości 40 [𝑘𝑚

ℎ] . Co prawda samochód sterowany przez IDSA zachował lepsze wartości

wszystkich badanych wskaźników, jednak przy wjeździe w slalom z prędkością 50 [𝑘𝑚

ℎ] nie był

w stanie, podobnie jak samochód referencyjny, zmieścić się przed drugim mijanym słupkiem.

4.4.8. Zwiększenie masy pojazdu o 300[kg] i przesunięcie środka ciężkości

W kolejnych czterech eksperymentach oprócz zwiększenia masy pojazdu 𝑚𝑐 do 1600[𝑘𝑔]

zdecydowano się jeszcze przesunąć środek ciężkości 𝑚𝑟 o 50[𝑐𝑚] do tyłu i 20[𝑐𝑚] w lewo. Miało to

zasymulować obciążenie samochodu czymś ciężkim, włożonym do bagażnika. Warto tutaj

przypomnieć, że bazowy rozkład masy badanego pojazdu𝑚𝑟, to 25% masy całkowitej na każdym kole,

a jest to sytuacja raczej rzadka w zwyczajnych, niesportowych samochodach.

Tabela 42 Eksperyment 29 – test łosia – masa pojazdu zwiększona do 1600[kg], środek ciężkości przesunięty

Prędkość rozpoczęcia manewru

[𝒌𝒎

𝒉]

Samochód referencyjny Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑 𝒒𝟏 𝒒𝟐 𝒒𝟑

40 2,4 -11 156 1 2 89

50 2,8 -14 196 1,2 3 87

50 2,9 -14 168 1,1 -2 91

50 2,9 -16 177 1,1 -1 92

50 2,9 -15 196 1,2 -2 90

60 12,3 -8 205 1,2 -9 90

60 4 -21 229 1,3 -8 91

60 3,1 -22 292 1,3 -8 92

60 3,3 -22 199 1,2 -7 87

70 niezaliczony 1,2 -16 104

70 niezaliczony 1,2 -14 96

70 niezaliczony 1,2 -16 95

70 niezaliczony 1,2 -16 93

W tych warunkach, w eksperymencie 29 przedstawionym w tabeli 42, widać zmniejszenie maksymalnej

prędkości wejściowej do zaledwie 60 [𝑘𝑚

ℎ] dla samochodu referencyjnego i 70 [

𝑘𝑚

ℎ] dla samochodu

sterowanego przez IDSA. Powyżej tej prędkości obydwa samochody zachowywały się bardzo nerwowo

– podnosiły koła, wpadały zarówno w podsterowność, jak i nadsterowność lub nawet przewracały się.

Page 135: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

135

Tabela 43 Eksperyment 30 – ciasny zakręt - masa pojazdu zwiększona do 1600[kg], środek ciężkości przesunięty

Prędkość rozpoczęcia manewru

[𝒌𝒎

𝒉]

Samochód referencyjny Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑 𝒒𝟏 𝒒𝟐 𝒒𝟑

20 1,6 2 260 0,8 0 99

30 1,9 -8 275 0,8 -4 98

30 2 -6 264 0,4 -2 97

30 2 -6 249 0,8 -1 99

30 1,9 -6 229 0,4 -1 100

40 niezaliczony 1,3 -15 187

40 2,3 -15 292 0,4 -9 198

40 niezaliczony 1,3 -16 179

40 2,3 -13 288 0,4 -9 198

50 niezaliczony niezaliczony

50 2,3 -26 271 0,4 -9 175

50 niezaliczony niezaliczony

50 2,2 -27 260 0,4 -10 185

W kolejnym eksperymencie o numerze 30, przedstawionym w tabeli 43, zachowanie samochodu

zależało od kierunku wykonywania skrętu. Przy skręcaniu w prawo samochód referencyjny podnosił

dwa koła z prawej strony już przy prędkości 30 [𝑘𝑚

ℎ] , jednak ciągle przejeżdżał przez zakręt.

Przy wyższych prędkościach, niestety, po prostu się przewracał. Przy skręcaniu w lewo dało się

zauważyć bardzo gwałtowną reakcję systemu ESC, widoczną po wyraźnej utracie prędkości 𝑞2 .

Przy prędkości 60 [𝑘𝑚

ℎ] nawet ta reakcja była niewystarczająca i samochód wypadał z drogi. Samochód

sterowany przez IDSA również nie poradził sobie przy prędkości 60 [𝑘𝑚

ℎ] oraz podczas skręcania

w prawo przy 50 [𝑘𝑚

ℎ]. Jednak za to przy mniejszej szybkości, IDSA sprawnie redukował prędkość

i utrzymywał samochód na zadanym torze jazdy.

Tabela 44 Eksperyment 31 – długi zakręt – masa pojazdu zwiększona do 1600[kg], środek ciężkości przesunięty

Prędkość rozpoczęcia manewru

[𝒌𝒎

𝒉]

Samochód referencyjny Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟒 𝒒𝟓 𝒒𝟒 𝒒𝟓

20 1,81 0,21 0,21 0,11

30 1,69 0,66 0,24 0,11

30 2,21 0,45 0,26 0,18

30 1,98 0,91 0,23 0,99

30 2 0,9 0,28 0,13

40 niezaliczony 0,84

40 2,49 0,41 0,33 0,21

40 niezaliczony 0,66

40 2,33 0,44 0,37 0,26

Page 136: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

136

Prędkość rozpoczęcia manewru

[𝒌𝒎

𝒉]

Samochód referencyjny Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟒 𝒒𝟓 𝒒𝟒 𝒒𝟓

50 niezaliczony 0,73

50 niezaliczony niezaliczony

50 niezaliczony 0,99 0,29

50 niezaliczony niezaliczony

Dokładnie przy takich samych prędkościach obydwa samochody nie sprostały próbie długiego zakrętu

(eksperyment 31, tabela 44). Warto jednak opisać, w jakich okolicznościach miało to miejsce.

Samochód sterowany przez IDSA wypadał z drogi przez równy, 4-kołowy poślizg, a samochód

referencyjny zachowywał się nieprzewidywalnie z powodu systemu ESC. Do 30 [𝑘𝑚

ℎ] nie działo się

z nim nic wartego uwagi, a powyżej tej prędkości samochód stawał na dwóch kołach, a następnie ESC

gwałtownie hamował, co przy zwiększonej bezwładności powodowało wypadnięcie z łuku.

Tabela 45 Eksperyment 32 – slalom - masa pojazdu zwiększona do 1600[kg], środek ciężkości przesunięty

Prędkość

rozpoczęcia

manewru

[𝒌𝒎

𝒉]

Samochód referencyjny Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟑 𝒒𝟒 𝒒𝟓 𝒒𝟔 𝒒𝟏 𝒒𝟑 𝒒𝟒 𝒒𝟓 𝒒𝟔

20 1,6 114 3,6 0,32 60 0,4 94 0,89 0,21 61

30 4,3 165 - 0,21 38 4,8 98 - 0,3 39

30 3,3 154 - 0,32 39 4,8 85 - 0,31 38

30 4,2 191 - 0,6 39 4,8 94 - 0,34 38

30 4,9 121 - 0,91 42 4,8 98 - 0,33 39

40 13,9 264 - 0,36 30 5 87 - 0,41 29

40 19 177 - 0,12 31 4,9 90 - 0,64 29

40 13,8 193 - 0,33 35 4,9 89 - 0,48 31

40 14,5 195 - 0,49 30 4,9 99 - 0,77 30

Page 137: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

137

Rysunek 51 Przechył samochodu referencyjnego podczas slalomu przy nierównomiernym obciążeniu

W eksperymencie 32 (tabela 45) obydwa samochody nie potrafiły przejechać slalomu z prędkością

powyżej 40 [𝑘𝑚

ℎ] . Co ciekawe, już powyżej prędkości 20 [

𝑘𝑚

ℎ] obydwa samochody podnosiły koła

z jednej strony. Warto jednak zauważyć, że IDSA utrzymywał przechył do 5[°], podczas gdy samochód

referencyjny przechylał się o około 14[°]. To zachowanie widać na rysunku 51.

4.4.9. Pojazd ze zużytymi oponami

Rysunek 52 Porównanie domyślnych ustawień opon (po lewej) i ustawień na potrzeby eksperymentów 33 – 36 (po

prawej)

Page 138: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

138

Kolejne 4 eksperymenty porównawcze zrealizowano przy bazowej masie pojazdu 𝑚𝑐 i jej rozkładzie

𝑚𝑟 , jednak przy obniżonych parametrach opon 𝑜 . Porównanie zastosowanych parametrów modelu

Pacejka widać na rysunku 52. Miało to na celu zasymulowanie dużego zużycia opon lub niższej

przyczepności wynikającej z jazdy po nawierzchni gorszej jakości.

Tabela 46 Eksperyment 33 – test łosia – zużyte opony

Prędkość rozpoczęcia manewru

[𝒌𝒎

𝒉]

Samochód referencyjny Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑 𝒒𝟏 𝒒𝟐 𝒒𝟑

90 1,6 -2 140 0,1 -2 95

100 1,6 -3 122 0,1 -5 101

100 1,6 -1 135 0,1 -6 112

100 1,6 -3 134 0,1 -7 108

100 1,6 -2 129 0,1 -9 105

110 1,6 3 135 0,1 -9 98

110 1,7 -1 145 0,2 -4 102

110 1,6 -6 139 0,1 -5 100

110 1,6 -2 137 0,1 -4 121

120 1,6 -17 129 0,2 -17 99

120 1,6 -18 121 0,2 -13 109

120 1,6 -3 161 0,1 -12 97

120 1,6 -19 152 0,1 -19 104

130 1,8 -9 182 0,1 -15 101

130 niezaliczony 0,1 -11 97

130 1,9 -11 195 0,2 -14 106

130 1,9 -13 154 0,1 -15 114

140 niezaliczony 0,1 -28 97

140 1,9 -12 161 0,1 -24 99

140 2,0 -9 146 0,1 -21 99

140 niezaliczony 0,1 -22 106

150 2,0 -18 194 0,1 -26 102

150 niezaliczony 0,1 -25 104

150 2,2 -27 183 0,1 -28 103

150 2,0 -23 222 0,1 -28 104

160 niezaliczony 0,2 -30 108

160 niezaliczony niezaliczony

160 niezaliczony 0,1 -32 113

160 niezaliczony 0,1 -30 99

W eksperymencie 33 przedstawionym w tabeli 46 widać, że obydwa samochody radzą sobie z gorszą

przyczepnością znacznie lepiej niż z podniesieniem masy. Samochód sterowany przez IDSA zakończył

próbę z prędkością początkową o 10 [𝑘𝑚

ℎ] większą niż samochód referencyjny, jednak na jego

Page 139: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

139

niekorzyść warto odnotować znaczne spadki prędkości podczas testów. Wynikają one z zastosowania

modelu matematycznego zachowania samochodu, opisanego w punkcie 4.3.4, który został

skalibrowany dla konkretnych opon. O ile systemy TSC i ESC reagują, gdy wykryją poślizg, to IDSA

zakłada jego wystąpienie w konkretnych warunkach. Tutaj musiał on sobie radzić z poślizgiem, który

nastąpił, kiedy warunki nie zostały jeszcze spełnione.

Tabela 47 Eksperyment 34 – ciasny zakręt - zużyte opony

Prędkość rozpoczęcia manewru

[𝒌𝒎

𝒉]

Samochód referencyjny Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑 𝒒𝟏 𝒒𝟐 𝒒𝟑

20 0,8 0 359 0,1 3 100

30 1,2 -2 377 0,1 2 97

30 1,3 -1 359 0,1 -3 95

30 1,2 1 316 0,2 2 98

30 1,2 -1 391 0,2 0 99

40 1,5 -20 375 0,1 -8 189

40 1,5 -23 364 0,2 -8 196

40 1,4 -20 366 0,3 -7 198

40 1,5 -21 392 0,2 -9 198

50 1,7 -33 394 0,4 -12 300

50 niezaliczony 0,3 -18 342

50 1,7 -30 348 0,3 -18 289

50 niezaliczony 0,3 -19 310

Podobne wnioski nasuwają się przy analizie wyników eksperymentu 34 (tabela 47). Można wręcz

powiedzieć, że samochód referencyjny poradził sobie dzięki zdecydowanej reakcji systemów wsparcia,

a samochód sterowany przez IDSA – dzięki wygenerowaniu przez ten system łatwego do opanowania

poślizgu wszystkich kół.

Tabela 48 Eksperyment 35 – długi zakręt - zużyte opony

Prędkość rozpoczęcia manewru

[𝒌𝒎

𝒉]

Samochód referencyjny Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟒 𝒒𝟓 𝒒𝟒 𝒒𝟓

20 0,34 0,03 0,44 0,21

30 0,45 0,1 0,61 0,32

30 0,41 0,15 0,6 0,34

30 0,41 0,14 0,58 0,35

30 1,01 0,09 0,59 0,36

Niestety podczas przejazdu przez długi zakręt (eksperyment 35, tabela 48) żaden z samochodów

nie poradził sobie powyżej prędkości 30 [𝑘𝑚

ℎ]. Co prawda IDSA lepiej równał poślizgi poszczególnych

kół, ale nie wystarczyło to do utrzymania samochodu na zadanym torze jazdy.

Page 140: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

140

Tabela 49 Eksperyment 36 – slalom - zużyte opony

Prędkość

rozpoczęcia

manewru

[𝒌𝒎

𝒉]

Samochód referencyjny Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟑 𝒒𝟒 𝒒𝟓 𝒒𝟔 𝒒𝟏 𝒒𝟑 𝒒𝟒 𝒒𝟓 𝒒𝟔

30 1 100 0,84 0,09 37 0,2 95 0,97 0,13 38

40 niezaliczony 0,2 97 0,97 0,97 28

40 1,3 94 1,06 0,31 36 0,2 101 0,91 0,34 28

40 niezaliczony 0,3 99 0,85 0,85 29

40 niezaliczony 0,2 112 0,9 0,9 27

50 1,5 115 1,01 0,45 35 0,4 98 1,03 0,34 29

50 1,4 131 0,99 0,54 36 niezaliczony

50 1,5 147 0,98 0,41 35 0,4 104 1,11 0,3 26

50 1,5 134 1,14 0,34 36 0,3 94 0,98 0,41 26

Tylko nieznacznie lepiej IDSA poradził sobie podczas slalomu (eksperyment 36, tabela 49). Obydwa

samochody zakończyły próby przy prędkości 50 [𝑘𝑚

ℎ], a samochód sterowany przez IDSA nie zaliczył

tylko jednej próby do tej prędkości, w porównaniu do trzech nieudanych dla samochodu referencyjnego.

Widać tutaj wyraźnie, że w sytuacji slalomu nieprzewidziany poślizg jest skutecznie korygowany przez

systemy ESC i TSC, a tylko nieznacznie korygowany przez IDSA. Widać to wyraźniej w późniejszej

analizie wskaźników zagregowanych.

4.4.10. Zmiana bezwładności urządzeń wykonawczych

Kolejne eksperymenty skupiają się na samym IDSA, bez porównania do rozwiązania referencyjnego.

Tabela 50 Eksperyment 37 – test łosia - zmniejszona bezwładność urządzeń wykonawczych

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑

80 0,1 -2 98

80 0,1 1 97

80 0,1 -5 94

80 0,1 0 82

100 0,2 0 99

100 0,2 -9 91

100 0,1 5 101

100 0,1 7 102

120 0,2 -4 103

120 0,2 -6 96

120 0,2 -1 95

120 0,3 2 81

140 0,2 3 95

Page 141: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

141

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑

140 0,2 -1 85

140 0,2 -4 95

140 0,2 2 94

160 0,2 3 90

160 0,2 -5 90

160 0,3 4 105

160 0,3 -4 106

180 0,4 1 109

180 0,4 -4 104

180 0,3 -6 101

180 0,4 -5 118

200 0,4 -5 118

200 0,2 -4 108

200 0,4 -1 90

200 0,3 -9 109

Tabela 51 Eksperyment 38 – ciasny zakręt - zmniejszona bezwładność urządzeń wykonawczych

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑

10 0,1 -1 94

10 0,1 5 90

10 0,1 2 84

10 0,2 2 74

20 0,1 -3 90

20 0,2 0 98

20 0,3 0 94

20 0,3 3 80

30 0,2 -5 95

30 0,2 2 96

30 0,3 1 80

30 0,3 2 81

40 0,3 1 175

40 0,3 -1 195

40 0,3 -1 141

40 0,4 9 160

50 0,3 1 149

50 0,3 -21 360

Page 142: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

142

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑

50 0,3 -20 349

50 0,3 -20 353

60 niezaliczony

60 niezaliczony

60 0,3 -34 450

60 0,4 -41 450

Tabela 52 Eksperyment 39 – długi zakręt - zmniejszona bezwładność urządzeń wykonawczych

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟒 𝒒𝟓

20 0,16 0,09

20 0,16 0,08

20 0,09 0,01

20 0,09 0,01

30 0,13 0,08

30 0,13 0,09

30 0,19 0,09

30 0,17 0,11

40 0,30 0,22

40 0,29 0,21

40 0,31 0,22

40 0,33 0,27

50 0,3 0,2

50 0,29 0,23

50 0,33 0,25

50 0,38 0,21

60 0,41 0,24

60 0,29 0,25

60 0,23 0,21

60 0,56 0,26

70 0,45 0,26

70 0,69 0,22

70 0,98 0,28

70 0,99 0,26

Page 143: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

143

Tabela 53 Eksperyment 40 – slalom – zmniejszona bezwładność urządzeń wykonawczych

Prędkość

rozpoczęcia

manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟑 𝒒𝟒 𝒒𝟓 𝒒𝟔

20 0,1 77 0,12 0,08 55

30 0,2 76 0,14 0,09 37

40 0,1 78 0,16 0,13 26

40 0,1 99 0,29 0,20 26

40 0,3 110 0,31 0,28 26

40 0,3 100 0,36 0,21 26

50 0,3 98 0,32 0,22 26

50 0,3 116 0,49 0,4 25

50 0,4 125 0,79 0,61 25

50 0,3 144 0,69 0,68 26

Tabela 54 Eksperyment 41 – test łosia - zwiększona bezwładność urządzeń wykonawczych

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑

80 0,1 5 96

80 0,1 8 80

80 0,1 5 95

80 0,1 -2 94

100 0,2 2 91

100 0,1 1 82

100 0,1 -4 96

100 0,1 1 99

120 0,1 0 98

120 0,1 0 94

120 0,2 -2 102

120 0,2 -6 100

140 0,2 6 101

140 0,3 -5 91

140 0,2 -8 90

140 0,2 9 90

160 0,4 5 92

160 0,4 -2 95

160 0,4 -1 118

160 0,4 -5 119

180 0,4 -6 101

180 0,4 -9 109

Page 144: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

144

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑

180 0,4 -1 101

180 0,4 -2 92

200 0,4 -7 129

200 0,5 -3 121

200 0,5 -5 118

200 0,5 -4 169

Tabela 55 Eksperyment 42 – ciasny zakręt - zwiększona bezwładność urządzeń wykonawczych

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑

10 0,1 6 88

10 0,1 6 87

10 0,1 5 87

10 0,1 1 99

20 0,1 5 86

20 0,2 4 95

20 0,2 1 84

20 0,2 2 95

30 0,2 3 82

30 0,2 2 81

30 0,3 1 80

30 0,3 5 80

40 0,2 4 175

40 0,4 5 195

40 0,3 6 141

40 0,4 2 160

50 0,4 5 149

50 0,4 -20 350

50 0,4 -26 359

50 0,4 -16 344

60 0,5 -18 400

60 0,5 -12 391

60 niezaliczony

60 0,4 -21 441

Page 145: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

145

Tabela 56 Eksperyment 43 – długi zakręt - zwiększona bezwładność urządzeń wykonawczych

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟒 𝒒𝟓

20 0,11 0,02

20 0,12 0,02

20 0,13 0,02

20 0,22 0,01

30 0,11 0,06

30 0,22 0,05

30 0,33 0,01

30 0,25 0,02

40 0,14 0,06

40 0,21 0,15

40 0,19 0,18

40 0,36 0,22

50 0,35 0,21

50 0,2 0,11

50 0,41 0,3

50 0,29 0,21

60 0,39 0,3

60 0,45 0,42

60 0,51 0,21

60 0,43 0,38

70 0,54 0,29

70 0,53 0,32

70 0,85 0,61

70 0,6 0,41

Tabela 57 Eksperyment 44 – slalom – zwiększona bezwładność urządzeń wykonawczych

Prędkość

rozpoczęcia

manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟑 𝒒𝟒 𝒒𝟓 𝒒𝟔

20 0,1 87 0,21 0,19 54

30 0,2 89 0,14 0,1 39

40 0,3 89 0,26 0,16 26

40 0,3 80 0,29 0,21 26

40 0,3 90 0,3 0,23 25

40 0,3 112 0,36 0,22 26

50 0,4 98 0,39 0,29 26

50 0,3 100 0,6 0,41 25

Page 146: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

146

Prędkość

rozpoczęcia

manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟑 𝒒𝟒 𝒒𝟓 𝒒𝟔

50 0,6 109 0,7 0,66 25

50 0,3 102 1,12 0,55 26

Co ciekawe, zmiana bezwładności urządzeń wykonawczych EXECUTION_DELAY nie wpływa

praktycznie w żaden sposób na IDSA. Wartość bazowa, w samochodzie skalibrowanym to 0,1[𝑠] .

W eksperymentach 37-44, pokazanych w tabelach 50–57, najpierw obniżono tę wartość do 0,025[𝑠],

a następnie podniesiono do 0,4[𝑠]. Nie widać tu jednak żadnej różnicy w stosunku do eksperymentów

1-4. Warto jednak odnotować, że subiektywne wrażenia z jazdy były inne. Po zmniejszeniu

bezwładności, samochód wydawał się lepiej reagować na ruchy kierownicą, szczególnie w slalomie. Po

zwiększeniu bezwładności trzeba było chwilę pojeździć samochodem przed rozpoczęciem

eksperymentów, żeby przyzwyczaić się do opóźnienia. W tej ostatniej wersji opóźnienie było na tyle

duże, że sprawiało trudność. Kierowca musiał więcej uwagi poświęcić na przewidywanie zachowania

samochodu. Co ciekawe, zmiana tego parametru nie wpłynęła na obciążenie komputera. Zakłada się, że

proces wysyłania sterowania (działający 4 razy częściej lub 4 razy rzadziej) nie stanowi tu istotnego

obciążenia. Oznacza to, że IDSA może być stosowany w samochodach różnych typów, o różnych

fizycznych możliwościach, przynajmniej w zakresie bezwładności urządzeń wykonawczych.

4.4.11. Zmiana stopnia wielomianu aproksymującego

Eksperymenty 45-48, pokazane w tabelach 58-61 miały na celu zbadanie zachowania samochodu po

obniżeniu używanego stopnia wielomianu aproksymującego APPROXIMATION_DEGREE. Niestety,

podobnie jak w eksperymentach 37-44, zmiana jest tylko subiektywna.

Tabela 58 Eksperyment 45 – test łosia – stopień wielomianu aproksymującego równy 2

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑

80 0,1 -1 99

80 0,1 -5 90

80 0,1 -4 95

80 0,1 -2 94

100 0,1 6 90

100 0,1 9 95

100 0,2 -5 8

100 0,1 -5 90

120 0,1 4 100

120 0,2 1 102

120 0,2 0 105

120 0,2 -2 99

140 0,3 0 92

140 0,3 5 98

Page 147: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

147

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑

140 0,3 8 95

140 0,3 1 85

160 0,4 2 130

160 0,4 -5 109

160 0,3 -2 106

160 0,4 -3 115

180 0,4 -6 108

180 0,3 -5 101

180 0,4 -14 102

180 0,5 -1 106

200 0,4 -8 128

200 0,5 -9 106

200 0,2 -20 106

200 0,5 -23 96

Tabela 59 Eksperyment 46 – ciasny zakręt - stopień wielomianu aproksymującego równy 2

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑

10 0,1 -2 90

10 0,1 -6 91

10 0,1 -5 92

10 0,1 -4 91

20 0,1 -8 95

20 0,1 0 90

20 0,2 5 90

20 0,1 1 90

30 0,1 -1 91

30 0,2 -2 91

30 0,1 -2 98

30 0,1 4 109

40 0,2 9 164

40 0,3 -5 176

40 0,3 -5 159

40 0,3 -9 160

50 0,4 0 149

50 0,4 -22 350

50 0,3 -22 348

Page 148: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

148

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑

50 0,4 -12 395

60 0,4 -12 369

60 0,3 -19 399

60 0,4 -20 420

60 0,4 -21 380

Tabela 60 Eksperyment 47 – długi zakręt - stopień wielomianu aproksymującego równy 2

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟒 𝒒𝟓

20 0,11 0,02

20 0,12 0,02

20 0,13 0,02

20 0,22 0,01

30 0,25 0,02

30 0,14 0,06

30 0,21 0,15

30 0,19 0,18

40 0,36 0,22

40 0,21 0,15

40 0,19 0,18

40 0,36 0,22

50 0,21 0,15

50 0,22 0,12

50 0,49 0,36

50 0,49 0,29

60 0,49 0,29

60 0,55 0,48

60 0,59 0,29

60 0,49 0,39

70 0,54 0,2

70 0,53 0,3

70 0,89 0,7

70 0,77 0,41

Page 149: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

149

Tabela 61 Eksperyment 48 – slalom – stopień wielomianu aproksymującego równy 2

Prędkość

rozpoczęcia

manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟑 𝒒𝟒 𝒒𝟓 𝒒𝟔

20 0,1 100 0,29 0,16 55

30 0,2 97 0,19 0,12 34

40 0,3 95 0,28 0,12 26

40 0,3 98 0,4 0,2 26

40 0,3 99 0,3 0,21 26

40 0,3 100 0,36 0,21 26

50 0,4 98 0,44 0,28 26

50 0,4 100 0,8 0,33 26

50 0,4 111 0,6 0,41 26

50 0,3 101 0,66 0,5 26

Jak widać, IDSA prawidłowo realizował swoje zadania i wszystkie przejazdy skończyły się

porównywalnymi wynikami do eksperymentów 1-4. Wyłącznie w slalomie przy prędkości powyżej

40 [𝑘𝑚

ℎ] dało się odczuć spóźnioną reakcję samochodu na zmianę kierunku jazdy.

Tabela 62 Eksperyment 49 – test łosia – stopień wielomianu aproksymującego równy 5

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑

80 0,1 5 95

80 0,1 -8 95

80 0,1 4 95

80 0,2 1 90

100 0,1 3 92

100 0,1 -9 91

100 0,1 9 84

100 0,1 -2 88

120 0,2 -3 105

120 0,1 2 102

120 0,2 -2 95

120 0,1 -2 95

140 0,2 2 99

140 0,2 2 95

140 0,2 0 99

140 0,2 0 85

160 0,3 -3 90

160 0,2 -5 90

160 0,3 -5 94

Page 150: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

150

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑

160 0,2 -5 105

180 0,3 -4 106

180 0,3 -5 109

180 0,3 -6 91

180 0,3 -5 91

200 0,4 -9 92

200 0,4 -9 91

200 0,5 -18 95

200 0,4 -21 109

Tabela 63 Eksperyment 50 – ciasny zakręt - stopień wielomianu aproksymującego równy 5

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑

10 0,1 0 99

10 0,1 0 98

10 0,1 1 95

10 0,1 -3 95

20 0,1 4 85

20 0,1 -5 90

20 0,1 1 90

20 0,1 -2 102

30 0,2 1 105

30 0,2 2 99

30 0,2 -1 99

30 0,2 -2 95

40 0,2 2 165

40 0,3 2 150

40 0,3 2 149

40 0,4 1 195

50 0,4 -20 356

50 0,4 -18 352

50 0,3 -18 326

50 0,4 -23 329

60 0,5 -23 400

60 0,4 -20 411

60 0,4 -24 420

60 0,4 -21 420

Page 151: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

151

Tabela 64 Eksperyment 51 – długi zakręt - stopień wielomianu aproksymującego równy 5

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟒 𝒒𝟓

20 0,4 0,02

20 0,13 0,04

20 0,36 0,05

20 0,27 0,02

30 0,34 0,02

30 0,25 0,06

30 0,5 0,15

30 0,42 0,19

40 0,45 0,23

40 0,24 0,1

40 0,52 0,15

40 0,54 0,21

50 0,44 0,25

50 0,27 0,12

50 0,58 0,38

50 0,63 0,3

60 0,46 0,3

60 0,67 0,49

60 0,72 0,33

60 0,66 0,35

70 0,43 0,29

70 0,45 0,29

70 0,95 0,59

70 0,5 0,31

Tabela 65 Eksperyment 52 – slalom – stopień wielomianu aproksymującego równy 5

Prędkość

rozpoczęcia

manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟑 𝒒𝟒 𝒒𝟓 𝒒𝟔

20 0,1 111 0,41 0,14 45

30 0,2 85 0,43 0,14 34

40 0,3 105 0,33 0,13 26

40 0,3 102 0,52 0,21 25

40 0,3 94 0,35 0,22 26

40 0,3 92 0,64 0,24 26

50 0,4 119 0,44 0,25 26

50 0,5 116 0,42 0,29 26

Page 152: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

152

Prędkość

rozpoczęcia

manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟑 𝒒𝟒 𝒒𝟓 𝒒𝟔

50 0,4 106 0,55 0,29 25

50 0,5 118 0,72 0,33 25

Następne eksperymenty 49-52, zaprezentowane w tabelach 62-65 również nie wprowadziły zmian

w wynikach widocznych w tabeli. Należy jednak odnotować, że w próbie łosia, po pierwszej zmianie

pasa i przed rozpoczęciem powrotu na pierwotny pas, samochód samoistnie zmieniał kierunek ruchu

(gwałtownie choć nieznacznie skręcał naprzemiennie w obie strony). Problem ustępował po kolejnym

skręceniu kierownicą, wymuszonym koniecznością powrotu na pierwotny pas ruchu. W celu

dokładniejszego zbadania tej reakcji, podjęto próbę pojedynczej gwałtownej zmiany pasa ruchu, bez

powrotu na pas pierwotny. W tej próbie okazało się, że odkryte zachowanie samo wygasza się po ok. 2

sekundach. Najprawdopodobniej wynika ono z problemu opisanego w punkcie 4.3.1 w sekcji „Stopień

wielomianu reprezentującego funkcję ciągłą”. Warto jeszcze dodać, że o ile w eksperymentach 45-48

nie zaobserwowano zmiany obciążenia komputera, to podczas przeprowadzania eksperymentów 49-52

użycie procesora wzrosło o około 4%. Wynika to z konieczności dłuższego obliczania współczynników

funkcji aproksymujących.

Eksperyment 53 miał być kolejną serią eksperymentów po podniesieniu parametru

APPROXIMATION_DEGREE do 15. Niestety okazało się, że takim pojazdem nie można wykonać

przejazdu żadną trasą testową i z żadną prędkością. Podobnie, jak w eksperymencie 49, samochód

skręcał samoistnie i gwałtownie, jednak tym razem zakręty były głębsze i nie wygaszały się. Oprócz

tego pojazd w opóźnieniem reagował na skręty kierownicy oraz naciskanie pedałów. Problem może

wynikać z metody aproksymacji albo opóźnień w obliczeniach. Podczas tej próby zużycie procesora

wzrosło do 100%, więc zarządzanie zadaniami wbudowane w IDSA było zaburzane przez planistę

systemu operacyjnego, który w tej sytuacji nie nadawał IDSA wymaganego priorytetu. Próba

poprawienia pracy planisty, poprzez nadanie maszynie wirtualnej Java wyższego priorytetu w systemie

operacyjnym, nie przyniosła pożądanego efektu.

4.4.12. Zmniejszona liczba wątków aproksymujących

Bazowo IDSA skonfigurowano do używania 8 wątków aproksymujących. Eksperymenty 54-57

pokazały, co się stanie po zmniejszeniu wartości APPROXIMATIPON_THREAD_POOL do 3. Warto

wspomnieć, że redukcja ilości wątków do 4 nie spowodowała tak gwałtownych zmian (jedynie utrudniła

przejazd przez slalom), a redukcja do 2 uniemożliwiła jakiekolwiek używanie samochodu. Opóźnienie

w pracy algorytmu było wtedy tak duże, że dopiero po kilkusekundowym trzymaniu pedału gazu

samochód rozpoznawał polecenie i ruszał.

Tabela 66 Eksperyment 54 – test łosia - zmniejszona liczba wątków aproksymujących

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑

80 0,2 2 113

80 0,2 2 87

Page 153: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

153

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑

80 0,2 14 110

80 0,2 -1 95

100 0,4 -12 119

100 0,3 3 111

100 0,4 -4 108

100 0,3 4 120

120 0,2 -6 114

120 0,3 -2 114

120 0,5 3 109

120 0,5 7 89

140 0,5 6 90

140 0,4 -5 98

140 0,2 12 80

140 0,2 6 117

160 0,6 2 97

160 0,5 5 100

160 0,5 5 82

160 0,5 4 85

Tabela 67 Eksperyment 55 – ciasny zakręt - zmniejszona liczba wątków aproksymujących

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑

10 0,1 -8 99

10 0,1 3 83

10 0,1 -5 83

10 0,1 -1 83

20 0,1 -3 81

20 0,1 -7 116

20 0,2 7 81

20 0,2 8 110

30 0,2 9 116

30 0,2 4 86

30 0,4 7 118

30 0,3 -7 89

40 0,3 3 100

40 0,4 5 113

40 0,4 4 117

Page 154: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

154

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑

40 0,3 2 84

Tabela 68 Eksperyment 56 – długi zakręt - zmniejszona liczba wątków aproksymujących

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟒 𝒒𝟓

20 0,36 0,24

20 0,55 0,25

20 0,48 0,27

20 0,37 0,29

30 0,46 0,31

30 0,59 0,33

30 0,52 0,35

30 0,63 0,37

40 0,72 0,39

40 0,77 0,41

40 0,78 0,43

40 0,62 0,45

50 niezaliczony

50 niezaliczony

50 niezaliczony

50 0,78 0,55

60 niezaliczony

60 0,78 0,61

60 niezaliczony

60 niezaliczony

70 niezaliczony

70 niezaliczony

70 0,98 0,66

70 niezaliczony

Tabela 69 Eksperyment 57 – slalom – zmniejszona liczba wątków aproksymujących

Prędkość

rozpoczęcia

manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟑 𝒒𝟒 𝒒𝟓 𝒒𝟔

20 0,1 85 0,50 0,24 55

30 0,2 78 0,55 0,25 37

30 0,2 74 0,38 0,27 37

30 0,2 80 0,39 0,29 38

Page 155: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

155

Prędkość

rozpoczęcia

manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟑 𝒒𝟒 𝒒𝟓 𝒒𝟔

30 0,3 100 0,47 0,31 38

Przy 3 wątkach, w próbie łosia (tabela 66), samochód nie radził sobie przy wyższych prędkościach.

Maksymalna prędkość, przy której udało się wykonać manewr, to 160 [𝑘𝑚

ℎ] . Już przy niższych

prędkościach widać minimalnie większy przechył nadwozia 𝑞1. Wynikał on z opóźnienia w sterowaniu

zawieszeniem, przez co musiało ono kompensować pojawiający się przechył zamiast mu zapobiegać.

Dokładnie te same wnioski można wysnuć z próby przejazdu przez ciasny zakręt (tabela 67). Za to jazda

długim zakrętem (tabela 68) przyniosła nowy wniosek – pojazd zachowywał się dobrze tak długo, jak

długo kierownica i pedały nie zmieniały swojego położenia podczas zakrętu. Wystarczyła jednak

drobna korekta toru jazdy i IDSA nie potrafił sobie z nią poradzić. Slalom (tabela 69) potwierdził tylko

wnioski z eksperymentów 54 i 55. Samochód zachowywał się poprawnie przy niskich prędkościach,

jednak już przy 40 [𝑘𝑚

ℎ] IDSA ignorował drugi słupek oraz polecenie ominięcia go.

4.4.13. Zmiana liczby generacji w procesie predykcji trajektorii

W wersji skalibrowanej IDSA pracuje przez maksymalnie 0,1[𝑠] w celu poprawienia trajektorii ruchu

i uniknięcia kolizji (parametr TRAJECTORY_EVOLUTION_TIME). W eksperymentach 58-61

zmniejszono tę wartość do 0,025[𝑠].

Tabela 70 Eksperyment 58 – test łosia - zmniejszona liczba generacji w procesie predykcji trajektorii

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑

80 0,1 -2 94

80 0,1 -1 101

80 0,1 0 107

80 0,1 -3 92

100 0,1 2 93

100 0,1 5 86

100 0,2 2 85

100 0,1 -5 102

120 0,1 -2 111

120 0,1 -2 97

120 0,2 1 120

120 0,2 2 113

140 0,3 3 100

140 0,3 -5 113

140 0,4 -2 97

140 0,4 -1 102

160 0,3 -5 114

Page 156: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

156

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑

160 0,3 2 116

160 0,4 0 117

160 0,4 0 112

180 0,3 2 96

180 0,3 -5 115

180 0,3 -3 103

180 0,4 -6 92

200 0,4 -5 96

200 0,4 -2 105

200 0,3 1 120

200 0,3 -8 90

Tabela 71 Eksperyment 59 – ciasny zakręt - zmniejszona liczba generacji w procesie predykcji trajektorii

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑

10 0,1 3 94

10 0,1 -5 93

10 0,1 1 95

10 0,1 1 79

20 0,2 3 94

20 0,1 2 82

20 0,1 -3 113

20 0,1 1 95

30 0,1 4 78

30 0,2 -2 93

30 0,2 3 105

30 0,1 -1 96

40 0,12 2 184

40 0,3 -1 175

40 0,2 4 178

40 0,2 3 191

50 0,2 -20 326

50 0,3 -23 392

50 0,2 -32 397

50 0,1 -28 401

60 0,3 -31 377

60 0,4 -37 403

Page 157: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

157

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑

60 0,4 -39 439

60 0,4 -37 344

Tabela 72 Eksperyment 60 – długi zakręt - zmniejszona liczba generacji w procesie predykcji trajektorii

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟒 𝒒𝟓

20 0,65 0,06

20 0,4 0,06

20 0,78 0,07

20 2,17 0,08

30 0,71 0,24

30 1,25 0,19

30 1,13 0,09

30 1,28 0,17

40 1,53 0,2

40 1,64 0,21

40 0,41 0,24

40 1,87 0,26

50 1,88 0,25

50 1,6 0,25

50 1,59 0,21

50 1,92 0,21

60 0,55 0,28

60 1,3 0,27

60 0,88 0,23

60 0,57 0,24

70 1,09 0,27

70 0,63 0,26

70 0,76 0,25

70 0,36 0,24

Tabela 73 Eksperyment 61 – slalom – zmniejszona liczba generacji w procesie predykcji trajektorii

Prędkość

rozpoczęcia

manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟑 𝒒𝟒 𝒒𝟓 𝒒𝟔

20 0,2 75 0,09 0,03 55

30 0,2 75 0,24 0,1 35

40 niezaliczony

Page 158: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

158

Prędkość

rozpoczęcia

manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟑 𝒒𝟒 𝒒𝟓 𝒒𝟔

40 0,2 84 0,21 0,14 27

40 niezaliczony

40 niezaliczony

50 0,2 100 0,44 0,32 27

50 niezaliczony

50 niezaliczony

50 0,3 112 0,48 0,35 27

Jak widać w tabelach 70-72, nie wpłynęło to na ocenę IDSA. Subiektywnie samochód zachowywał się

trochę inaczej, jednak obiektywnie trudno było tę różnicę opisać. Dopiero w tabeli 73 widać ją wyraźnie

– samochód nie zaliczył kilku prób przy różnych prędkościach. Po analizie danych zebranych podczas

jazdy okazało się, że w procesie predykcji trajektorii nie udawało się wyznaczyć żadnej określonej

trajektorii. W eksperymentach 58-60 zaobserwowano to tylko przez ok. 5% czasu całego przejazdu, a

w eksperymencie 61 - przez ok. 75%. Oznacza to, że IDSA tracił swoją zdolność do poprawiania

trajektorii i realizował trajektorię zadaną bezpośrednio przez kierowcę. Różnica w ilości zaliczonych

prób świadczy o wydajności procesu poprawiania trajektorii oraz spadku jakości algorytmu, kiedy ten

proces nie działa prawidłowo. Jednak dzieje się tak tylko w sytuacji, kiedy na drodze znajdują się

przeszkody. Warto dodać, że po obniżeniu czasu pracy algorytmu ewolucyjnego, zużycie CPU spadło

o około 40%.

Tabela 74 Eksperyment 62 – test łosia - zwiększona liczba generacji w procesie predykcji trajektorii

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑

80 0,1 2 94

80 0,1 -3 101

80 0,1 2 107

80 0,1 -5 92

100 0,2 -2 93

100 0,2 -3 86

100 0,1 2 85

100 0,1 0 102

120 0,1 2 111

120 0,1 3 97

120 0,2 -2 120

120 0,2 -1 113

140 0,2 -2 100

140 0,3 -1 113

140 0,3 0 97

Page 159: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

159

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑

140 0,4 2 102

160 0,3 0 114

160 0,2 2 116

160 0,2 -3 117

160 0,3 -3 112

180 0,2 3 96

180 0,3 2 115

180 0,4 1 103

180 0,4 -2 92

200 0,4 -3 96

200 0,3 4 105

200 0,4 -2 120

200 0,3 3 90

Tabela 75 Eksperyment 63 – ciasny zakręt - zwiększona liczba generacji w procesie predykcji trajektorii

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑

10 0,1 -2 111

10 0,1 -1 95

10 0,2 2 93

10 0,1 -3 111

20 0,1 0 98

20 0,2 4 103

20 0,1 4 79

20 0,2 0 107

30 0,3 -2 97

30 0,2 -3 109

30 0,3 -5 87

30 0,2 -3 113

40 0,3 -4 189

40 0,3 0 188

40 0,2 2 200

40 0,3 2 192

50 0,3 -21 362

50 0,2 -23 449

50 0,3 -23 343

50 0,3 -22 447

Page 160: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

160

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑

60 0,4 -34 356

60 0,3 -35 412

60 0,2 -36 415

60 0,3 -39 368

Tabela 76 Eksperyment 64 – długi zakręt - zwiększona liczba generacji w procesie predykcji trajektorii

Prędkość rozpoczęcia manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟒 𝒒𝟓

20 1,62 0,06

20 0,67 0,05

20 1,84 0,07

20 1,92 0,07

30 1,93 0,22

30 0,68 0,25

30 1,74 0,24

30 1,63 0,2

40 0,6 0,27

40 1,29 0,2

40 1,6 0,21

40 1,28 0,24

50 1,34 0,21

50 0,37 0,25

50 0,89 0,27

50 0,58 0,2

60 1,54 0,22

60 1,67 0,27

60 0,84 0,26

60 1,9 0,24

70 1,31 0,22

70 1,61 0,24

70 1,5 0,25

70 1,65 0,27

Page 161: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

161

Tabela 77 Eksperyment 65 – slalom – zwiększona liczba generacji w procesie predykcji trajektorii

Prędkość

rozpoczęcia

manewru [𝒌𝒎

𝒉]

Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟑 𝒒𝟒 𝒒𝟓 𝒒𝟔

20 0,2 79 0,14 0,05 55

30 0,3 78 0,18 0,08 36

40 0,2 89 0,16 0,08 26

40 0,2 99 0,3 0,18 26

40 0,3 82 0,25 0,14 27

40 0,2 89 0,19 0,14 26

50 0,3 109 0,49 0,35 25

50 0,3 90 0,67 0,45 26

50 0,2 101 0,66 0,51 25

50 0,2 103 0,71 0,4 26

Tabele 74-77 przedstawiają wyniki eksperymentów 62-65, podczas których zwiększono maksymalny

czas poprawiania trajektorii TRAJECTORY_EVOLUTION_TIME do 0,4[𝑠]. Spodziewano się tutaj, że

obliczone trajektorie będą lepszej jakości, jednak dostępne zbyt późno, co powinno obniżyć ocenę

IDSA. Należy jednak pamiętać, że trajektorie obliczone poprzednio ciągle były dostępne, więc

samochód cały czas je realizował. Oznacza to, że opóźnienie w analizie trajektorii wprowadziło

opóźnienie w realizacji poleceń kierowcy, wyczuwalne wyłącznie dla gwałtownych manewrów, jednak

opóźnienie to kierowca był w stanie skompensować samodzielnie, podobnie jak w eksperymentach 41-

44.

4.5. Analiza wyników badań

W niniejszym podrozdziale dokonano analizy zbiorczej i porównawczej wyników osiągniętych

w podrozdziale 4.4.

4.5.1. Niezaliczone przejazdy

W celu lepszego zrozumienia eksperymentów 5-65 zebrano wszystkie maksymalne prędkości

początkowe, z którymi udało się pokonać trasę testową – dla każdego typu trasy osobno. Prędkość

początkowa to prędkość pojazdu w chwili rozpoczęcia wykonywania badanego manewru wyrażona

w [𝑘𝑚

ℎ]. Na rysunkach 53-56 pokazano po lewej stronie maksymalne prędkości początkowe dla pojazdu

sterowanego z wykorzystaniem tradycyjnych systemów wsparcia, a po prawej stronie maksymalne

prędkości początkowe realizowane przez pojazd sterowany z pomocą IDSA. Kolorem niebieskim

(samochód referencyjny) i pomarańczowym (samochód sterowany z wykorzystaniem IDSA) oznaczono

maksymalną prędkość wejściową samochodów przed pierwszym niezaliczonym przejazdem, a kolorem

szarym maksymalną badaną prędkość wejściową przed czterema niezaliczonymi przejazdami przy tej

samej prędkości i tym samym przed przerwaniem eksperymentu. Przed ich analizą należy pamiętać,

że niektóre eksperymenty były wykonywane wyłącznie jednym z badanych pojazdów.

Page 162: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

162

Rysunek 53 Porównanie prędkości maksymalnych dla testu łosia

Na rysunku 53 porównano prędkości maksymalne w teście łosia. Warto zauważyć, że pojazd sterowany

z wykorzystaniem istniejących systemów wsparcia kierowcy, po nieudanych przejazdach z niższą

prędkością bardzo często pozwalał na udane przejazdy z prędkością wyższą. Widać to w szczególności

w eksperymencie 1. Pojazd sterowany przez IDSA dużo częściej poddawał się po raz pierwszy dopiero

przy granicy swoich możliwości. Oprócz tego na wykresie po prawej stronie widać dużo więcej

wyższych prędkości. Właściwie wyraźnie niższe prędkości widoczne są wyłącznie w eksperymentach

25 (zwiększona masa pojazdu) i 29 (zwiększona masa i przesunięty środek ciężkości). Samochód

referencyjny radził sobie znacznie gorzej w przejazdach tego typu także dla innych zakłóceń.

0

50

100

150

200

250

1 5 9 13 17 21 25 29 33

Prę

dko

ść [

km/h

]

Numer eksperymentu

Pojazd referencyjny

Przejazd bez problemów Maksymalna prędkość

0

50

100

150

200

250

1 25 29 33 37 41 45 49 54 58 62

Prę

dko

ść [

km/h

]

Numer eksperymentu

Pojazd sterowany przez IDSA

Przejazd bez problemów Maksymalna prędkość

Page 163: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

163

Rysunek 54 Porównanie prędkości maksymalnych dla przejazdu przez ciasny zakręt

W próbie ciasnego zakrętu (rysunek 54) trudno dopatrzyć się ciekawych wyników. Dla wszystkich

przejazdów widać wyraźnie, że do prędkości 30 [𝑘𝑚

ℎ] dla samochodu referencyjnego lub 40 [

𝑘𝑚

ℎ]

dla samochodu sterowanego przez IDSA, przejazd testową trasą nie stanowił żadnego wyzwania.

Z drugiej strony żadne z testowanych rozwiązań nie pozwoliło podnieść tych wyników w stopniu

istotnym. Oznacza to, że w tym teście najważniejsze okazały się właściwości fizycznie pojazdu –

geometria zawieszenia i opony. Nieznaczną przewagę IDSA można wytłumaczyć jego proaktywnym

działaniem, a co za tym idzie, redukcją przechyłu, która ostatecznie powodowała minimalnie lepszy

rozkład masy na poszczególne opony, i dzięki temu – minimalnie lepszą przyczepność. Warto jeszcze

odnotować, że samochód referencyjny zakończył przejazdy z lepszymi wynikami w eksperymentach

14, 18, 22, 26 oraz 34, niż po kalibracji. Samochód sterowany przez IDSA zakończył przejazdy

z wynikami lepszymi od pojazdu skalibrowanego w eksperymentach 46, 50, 59 i 63. Niestety w tych

przypadkach uzyskane wyniki mogą być powiązane z większym doświadczeniem kierowcy, który lepiej

sobie radził z opanowaniem pojazdu.

0

10

20

30

40

50

60

2 6 10 14 18 22 26 30 34

Prę

dko

ść [

km/h

]

Numer eksperymentu

Pojazd referencyjny

Przejazd bez problemów Maksymalna prędkość

0

10

20

30

40

50

60

70

2 26 30 34 38 42 46 50 55 59 63

Prę

dko

ść [

km/h

]

Numer eksperymentu

Pojazd sterowany przez IDSA

Przejazd bez problemów Maksymalna prędkość

Page 164: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

164

Rysunek 55 Porównanie prędkości maksymalnych dla przejazdu przez długi zakręt

Podczas analizy prędkości maksymalnych uzyskanych przez samochody w eksperymencie polegającym

na przejeździe przez długi zakręt (rysunek 55), wyraźnie rzuca się w oczy, że samochód referencyjny

poradził sobie wyraźnie lepiej po kalibracji, niż w jakimkolwiek innym przypadku. Pojazd sterowany

przez IDSA okazał się znacznie mniej czuły na zmiany parametrów, choć warto odnotować, że w kilku

eksperymentach uzyskał wyraźnie gorsze wyniki – przykładowo w eksperymencie 35 ponad dwa razy

gorsze niż w eksperymencie 3. Wynika to z tego, że podczas tego eksperymentu nie dokonuje się

żadnych gwałtownych manewrów, więc zdolność szybkiej adaptacji do zmieniających się warunków

zaburzona w wyniku zmiany jego parametrów, nie była w tym badaniu kluczowa. Dopiero zmiana masy

i jej rozkładu (eksperymenty 27 i 31) wywarły wyraźny wpływ na IDSA. Wyraźne pogorszenie wyniku

zanotowano także przy użyciu opon o gorszej przyczepności, choć warto tu zaznaczyć, że osiągnięty

wynik w dalszym ciągu nie jest gorszy od wyniku samochodu referencyjnego.

0

10

20

30

40

50

60

70

80

3 7 11 15 19 23 27 31 35

Prę

dko

ść [

km/h

]

Numer eksperymentu

Pojazd referencyjny

Przejazd bez problemów Maksymalna prędkość

0

10

20

30

40

50

60

70

80

3 27 31 35 39 43 47 51 56 60 64

Prę

dko

ść [

km/h

]

Numer eksperymentu

Pojazd sterowany przez IDSA

Przejazd bez problemów Maksymalna prędkość

Page 165: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

165

Rysunek 56 Porównanie maksymalnych prędkości początkowych dla przejazdu przez slalom

Ostatnie porównanie, ukazane na rysunku 56, dotyczy przejazdu przez slalom. Tutaj, podobnie jak

w przypadku przejazdu przez ciasny zakręt, kluczowe okazały się parametry fizycznie pojazdu,

a bezpieczna prędkość jest właściwie stała dla większości eksperymentów i wynosi ok. 30 − 40 [𝑘𝑚

ℎ].

Podczas tych prób zauważono inną ciekawą zależność, pokazaną na rysunku 57, prezentującym

wszystkie czasy przejazdu przez slalom. Zawiera on wartości średnie (krzyżyki), pierwszy i trzeci

kwartyl (zakresy prostokątów), medianę (pozioma linia w prostokątach) oraz wartości minimalne i

maksymalne. Widać tutaj niewielki wpływ zmiany prędkości wejściowej z 40 [𝑘𝑚

ℎ] na 50 [

𝑘𝑚

ℎ] na czas

przejazdu. Oznacza to, że obydwa badane rozwiązania w podobny sposób ograniczały prędkość

do takiej, z którą przejazd był jeszcze możliwy i jednocześnie potwierdza, że ta bezpieczna prędkość

nie przekracza 40 [𝑘𝑚

ℎ] . Każda próba wjechania w slalom z wyższą prędkością kończyła się

niepowodzeniem, ponieważ żadne z badanych rozwiązań nie było w stanie zredukować prędkości

z 60 [𝑘𝑚

ℎ] do bezpiecznych 40 [

𝑘𝑚

ℎ] przed drugim słupkiem.

0

10

20

30

40

50

60

4 8 12 16 20 24 28 32 36

Prę

dko

ść [

km/h

]

Numer eksperymentu

Pojazd referencyjny

Przejazd bez problemów Maksymalna prędkość

0

10

20

30

40

50

60

4 28 32 36 40 44 48 52 57 61 65

Prę

dko

ść [

km/h

]

Numer eksperymentu

Pojazd sterowany przez IDSA

Przejazd bez problemów Maksymalna prędkość

Page 166: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

166

Rysunek 57 Czas przejazdu przez slalom w zależności od prędkości początkowej

4.5.2. Pozostałe wskaźniki cząstkowe

Tabela 78 przedstawia uśrednione wyniki z przejazdów, w których brały udział obydwa badane pojazdy

w takich samych warunkach, zaokrąglone do dwóch miejsc po przecinku. Przede wszystkim należy

zwrócić uwagę na komórki tabeli zaznaczone kolorem szarym, oznaczające prędkości, dla których

samochodem referencyjnym nie udało się pokonać trasy, a samochód sterowany z użyciem IDSA

jeszcze sobie z tym poradził. W tej tabeli widać 7 takich prędkości, co stanowi 10,3% wszystkich

scenariuszy testowych. Oprócz tego kolorem zielonym zaznaczono te wyniki, które są lepsze

w bezpośrednim porównaniu pomiędzy samochodem referencyjnym i samochodem sterowanym przez

IDSA. Po analizie wszystkich wyników widać, że samochód referencyjny zaliczył 349 z 406 prób,

a samochód sterowany z wykorzystaniem IDSA - 792 z 820 prób.

Tabela 78 Porównanie średnich wyników z przejazdów powtarzanych w takich samych warunkach

Nr

ekspery

-mentu

Prędkość

początko

-wa

[km/h]

Samochód referencyjny Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑 𝒒𝟒 𝒒𝟓 𝒒𝟔 𝒒𝟏 𝒒𝟐 𝒒𝟑 𝒒𝟒 𝒒𝟓 𝒒𝟔

1 80 1,68 -6,00 175,50 0,13 0,50 86,00

1 100 1,65 -7,00 90,75 0,13 2,75 87,50

1 120 1,75 -6,00 147,25 0,20 2,00 93,75

1 140 1,87 -38,00 141,33 0,25 2,25 100,75

1 160 1,97 -49,33 140,67 0,28 0,75 98,00

1 180 2,10 -68,00 165,00 0,30 1,50 96,25

1 200 1,95 -25,00 73,50 0,28 -1,00 105,50

2 10 0,28 0,25 282,75 0,18 0,50 96,75

2 20 0,85 0,50 355,00 0,23 0,50 96,50

2 30 1,20 1,25 264,75 0,18 2,00 94,00

Page 167: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

167

Nr

ekspery

-mentu

Prędkość

początko

-wa

[km/h]

Samochód referencyjny Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑 𝒒𝟒 𝒒𝟓 𝒒𝟔 𝒒𝟏 𝒒𝟐 𝒒𝟑 𝒒𝟒 𝒒𝟓 𝒒𝟔

2 40 1,53 -10,00 270,67 0,28 -2,00 186,75

2 50 1,90 -28,00 450,00 0,27 -14,67 275,67

2 60 0,40 -39,67 450,00

3 20 0,23 0,01 0,07 0,06

3 30 0,41 0,06 0,12 0,10

3 40 0,71 0,19 0,29 0,25

3 50 1,84 0,23 0,25 0,22

3 60 2,62 0,26 0,30 0,26

3 70 2,48 0,26 0,26 0,22

4 20 0,90 48,00 0,35 0,00 54,00 0,20 76,00 0,12 0,10 55,00

4 30 1,20 46,00 0,37 0,00 36,00 0,20 74,00 0,13 0,09 36,00

4 40 1,33 68,75 1,23 0,35 26,50 0,23 94,50 0,35 0,26 26,75

4 50 1,43 96,75 1,48 0,74 25,00 0,28 111,25 0,44 0,34 25,50

25 70 1,50 2,00 150,00 0,30 2,00 90,00

25 80 1,63 -0,50 162,75 0,30 -1,00 93,50

25 90 1,65 -10,50 166,25 0,33 2,25 90,75

25 100 1,80 -21,50 216,50 0,40 1,25 94,75

25 110 0,40 -1,00 89,25

25 120 0,43 2,33 90,00

26 20 0,93 -0,50 248,75 0,40 -4,00 100,00

26 30 1,28 -1,75 282,50 0,43 -6,50 94,75

26 40 1,53 -14,25 281,00 0,50 -7,75 185,75

27 20 0,30 0,21 0,18 0,10

27 30 0,38 0,21 0,19 0,12

27 40 1,02 0,52 0,35 0,22

27 50 0,36 0,28

28 30 2,20 97,00 0,66 0,02 37,00 0,30 79,00 0,15 0,10 37,00

28 40 2,55 116,50 1,21 0,18 28,00 0,40 81,50 0,67 0,12 28,00

29 40 2,40 -11,00 156,00 1,00 2,00 89,00

29 50 2,88 -14,75 184,25 1,15 -0,50 90,00

29 60 5,68 -18,25 231,25 1,25 -8,00 90,00

29 70 1,20 -15,50 97,00

30 20 1,60 2,00 260,00 0,80 0,00 99,00

30 30 1,95 -6,50 254,25 0,60 -2,00 98,50

30 40 2,30 -14,00 290,00 0,85 -12,25 190,50

30 50 2,25 -26,50 265,50 0,40 -9,50 180,00

31 20 1,81 0,21 0,21 0,11

31 30 1,97 0,73 0,25 0,35

Page 168: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

168

Nr

ekspery

-mentu

Prędkość

początko

-wa

[km/h]

Samochód referencyjny Samochód sterowany

z wykorzystaniem IDSA

𝒒𝟏 𝒒𝟐 𝒒𝟑 𝒒𝟒 𝒒𝟓 𝒒𝟔 𝒒𝟏 𝒒𝟐 𝒒𝟑 𝒒𝟒 𝒒𝟓 𝒒𝟔

31 40 2,41 0,43 0,55 0,23

31 50 0,86 0,30

32 20 1,60 114,00 3,60 0,32 60,00 0,40 94,00 0,89 0,21 61,00

33 90 1,60 -2,00 140,00 0,10 -2,00 95,00

33 100 1,60 -2,25 130,00 0,10 -6,75 106,50

33 110 1,63 -1,50 139,00 0,13 -5,50 105,25

33 120 1,60 -14,25 140,75 0,15 -15,25 102,25

33 130 1,87 -11,00 177,00 0,13 -13,75 104,50

33 140 1,95 -10,50 153,50 0,10 -23,75 100,25

33 150 2,07 -22,67 199,67 0,10 -26,75 103,25

33 160 0,13 -30,67 106,67

34 20 0,80 0,00 359,00 0,10 3,00 100,00

34 30 1,23 -0,75 360,75 0,15 0,25 97,25

34 40 1,48 -21,00 374,25 0,20 -8,00 195,25

34 50 1,70 -31,50 371,00 0,33 -16,75 310,25

35 20 0,34 0,03 0,44 0,21

35 30 0,57 0,12 0,60 0,34

36 30 1,00 100,00 0,84 0,09 37,00 0,20 95,00 0,97 0,13 38,00

36 40 1,30 94,00 1,06 0,31 36,00 0,23 102,25 0,91 0,33 28,00

36 50 1,48 131,75 1,03 0,44 35,50 0,37 98,67 1,04 0,35 27,00

Wykres na rysunku 58 przedstawia procentową liczbę lepszych rezultatów w bezpośrednich

porównaniach. Wartości w nawiasach pod kolumnami przedstawiają liczbę wszystkich porównywanych

wyników (uśrednionych z wszystkich przejazdów). Jak widać, samochód referencyjny okazał się lepszy

wyłącznie w porównaniu wskaźnika oceny 𝑞6, czyli osiągał lepsze czasy przejazdu przez slalom.

Page 169: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

169

Rysunek 58 Porównanie liczby lepszych wyników

Tabela 79 Miary statystyczne

Wskaźnik

oceny średnia odchylenie standardowe mediana

Samochód

referencyjny

𝒒𝟏 1,72 0,76 1,63

𝒒𝟐 -13,21 15,13 -10,50

𝒒𝟑 194,98 96,62 165,00

𝒒𝟒 1,21 0,88 1,03

𝒒𝟓 0,25 0,20 0,21

𝒒𝟔 37,50 10,75 36,00

Samochód

sterowany

z wykorzystanie

m IDSA

𝒒𝟏 0,35 0,28 0,28

𝒒𝟐 -5,92 9,89 -1,50

𝒒𝟑 118,51 65,35 97,13

𝒒𝟒 0,42 0,29 0,33

𝒒𝟓 0,21 0,09 0,22

𝒒𝟔 36,23 11,81 32,00

Tabela 79 prezentuje średnią arytmetyczną, odchylenie standardowe i medianę obliczone na podstawie

wyników z tabeli 78. Po raz kolejny kolorem zielonym zaznaczono wartości lepsze. W tym przypadku

widać nie tylko wyraźną przewagę w liczbie bezpośrednich porównań na korzyść samochodu

z wykorzystaniem IDSA, ale także różnice tych wartości. Przykładowo średnie przechylenie samochodu

(wskaźnik oceny 𝑞1 ) wynosi 1,72 dla samochodu referencyjnego i tylko 0,35 dla samochodu

sterowanego z wykorzystaniem IDSA, przy kilkukrotnie mniejszym odchyleniu standardowym.

W odróżnieniu od wykresu na rysunku 58, w tabeli 79 pokazane już są konkretne liczby, więc widać

w niej wyraźnie, że w dwóch sytuacjach, w których samochód sterowany z wykorzystaniem IDSA był

gorszy od samochodu referencyjnego, różnica wyników jest niewielka (10,75 w porównaniu do 11,81

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

q_1 (52) q_2 (42) q_3 (52) q_4 (26) q_5 (26) q_6 (10)

Samochód referencyjny Samochód sterowany przez IDSA wyniki równe

Page 170: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

170

dla odchylenia standardowego wskaźnika 𝑞6 oraz 0,21 w porównaniu do 0,22 dla mediany wskaźnika

𝑞5).

4.5.3. Wskaźniki zagregowane

Tabela 80 porównuje zagregowane wskaźniki bezpieczeństwa i komfortu wprowadzone w punkcie

4.1.2.

Tabela 80 Porównanie sposobu sterowania pod względem wskaźników zagregowanych

Nr

eksperymentu

Prędkość

początkowa

[km/h]

Samochód

referencyjny

Samochód

sterowany

z wykorzystaniem

IDSA

𝑸𝑩 𝑸𝑲 𝑸𝑩 𝑸𝑲

1 80 0,206 0,725 0,255 0,967

1 100 0,243 0,790 0,254 0,966

1 120 0,219 0,739 0,251 0,954

1 140 0,179 0,683 0,248 0,943

1 160 0,164 0,656 0,249 0,942

1 180 0,128 0,597 0,250 0,941

1 200 0,227 0,744 0,245 0,935

2 10 0,166 0,805 0,250 0,954

2 20 0,134 0,690 0,250 0,949

2 30 0,174 0,719 0,251 0,956

2 40 0,158 0,665 0,207 0,873

2 50 0,053 0,465 0,150 0,790

2 60 0,000 0,038 0,609

3 20 0,616 0,614

3 30 0,579 0,594

3 40 0,500 0,522

3 50 0,369 0,537

3 60 0,278 0,517

3 70 0,292 0,536

4 20 0,806 0,812 0,778 0,867

4 30 0,850 0,782 0,829 0,868

4 40 0,647 0,751 0,758 0,850

4 50 0,468 0,719 0,715 0,832

25 70 0,226 0,772 0,253 0,946

25 80 0,220 0,748 0,250 0,942

25 90 0,205 0,729 0,253 0,942

25 100 0,167 0,659 0,251 0,932

25 110 0,000 0,252 0,934

25 120 0,000 0,253 0,932

Page 171: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

171

Nr

eksperymentu

Prędkość

początkowa

[km/h]

Samochód

referencyjny

Samochód

sterowany

z wykorzystaniem

IDSA

𝑸𝑩 𝑸𝑲 𝑸𝑩 𝑸𝑲

26 20 0,181 0,759 0,243 0,922

26 30 0,164 0,695 0,242 0,919

26 40 0,148 0,651 0,199 0,842

27 20 0,535 0,588

27 30 0,527 0,580

27 40 0,347 0,526

27 50 0,000 0,503

28 30 0,788 0,636 0,819 0,854

28 40 0,686 0,584 0,780 0,841

29 40 0,209 0,655 0,253 0,871

29 50 0,191 0,577 0,252 0,854

29 60 0,165 0,236 0,242 0,832

29 70 0,000 0,000 0,229 0,821

30 20 0,176 0,680 0,249 0,885

30 30 0,170 0,637 0,246 0,904

30 40 0,144 0,562 0,191 0,794

30 50 0,139 0,567 0,200 0,854

31 20 0,380 0,581

31 30 0,172 0,489

31 40 0,237 0,502

31 50 0,000 0,444

32 20 0,309 0,688 0,635 0,832

33 90 0,228 0,766 0,248 0,961

33 100 0,232 0,773 0,236 0,945

33 110 0,229 0,764 0,239 0,945

33 120 0,211 0,747 0,227 0,930

33 130 0,199 0,696 0,228 0,933

33 140 0,210 0,706 0,217 0,925

33 150 0,173 0,641 0,211 0,918

33 160 0,000 0,204 0,907

34 20 0,132 0,692 0,248 0,960

34 30 0,130 0,644 0,250 0,957

34 40 0,097 0,577 0,195 0,867

34 50 0,084 0,540 0,131 0,754

35 20 0,597 0,521

35 30 0,541 0,456

Page 172: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

172

Nr

eksperymentu

Prędkość

początkowa

[km/h]

Samochód

referencyjny

Samochód

sterowany

z wykorzystaniem

IDSA

𝑸𝑩 𝑸𝑲 𝑸𝑩 𝑸𝑲

36 30 0,742 0,763 0,714 0,853

36 40 0,643 0,735 0,668 0,844

36 50 0,583 0,688 0,651 0,832

Bezpieczeństwo 𝑄𝐵 dało się ocenić w 68 przypadkach, a komfort 𝑄𝐾 w 47. Jak widać, samochód

sterowany przez IDSA w każdym badanym przypadku okazał się być bardziej komfortowy. Udało się

to dzięki proaktywnej redukcji przechyłu i aktywnemu układowi kierowniczemu bez fizycznego

połączenia kierownicy z kołami. Pod względem bezpieczeństwa przewaga nie jest już tak jednoznaczna,

ponieważ samochód referencyjny okazał się lepszy pod względem wskaźnika 𝑄𝐵 w 6 bezpośrednich

porównaniach. W eksperymencie 3 wartość 𝑄𝐵 jest wyższa dla samochodu referencyjnego tylko o dwie

tysięczne i tylko przy najniższej badanej prędkości. W eksperymencie 4 lepszy wynik samochodu

referencyjnego odnotowano również przy niskich prędkościach, gdzie przewaga IDSA nie ma tak

dużego znaczenia. Interesujące są rezultaty eksperymentów 35 i 36. Dotyczą one przejazdów ze

zmniejszoną przyczepnością. Jak widać, w takich sytuacjach IDSA nie poradził sobie z rozpoznaniem i

neutralizacją zagrożenia. W celu poprawy tej sytuacji należałoby uwzględnić przyspieszenia działające

na samochód w procesie obliczania trajektorii jego ruchu.

Tabela 81 Miary statystyczne wskaźników zagregowanych

Samochód

referencyjny

Samochód

sterowany

z wykorzystaniem

IDSA

𝑸𝑩 𝑸𝑲 𝑸𝑩 𝑸𝑲

Wartość minimalna 0 0 0,038 0,609

Wartość maksymalna 0,850 0,812 0,829 0,967

Średnia 0,279 0,491 0,374 0,892

Odchylenie standardowe 0,218 0,246 0,201 0,067

Mediana 0,207 0,688 0,252 0,918

Tabela 81 pokazuje najważniejsze miary obliczone na podstawie tabeli 80. Jak widać, wartość

minimalne obydwu wskaźników 𝑄𝐵 oraz 𝑄𝐾 dla samochodu referencyjnego wynoszą 0 ze względu

na niezaliczone przejazdy z prędkościami, przy których przejazd z IDSA był jeszcze możliwy. Oprócz

tego widać nieznacznie wyższą wartość maksymalną bezpieczeństwa osiągniętą przez samochód

referencyjny i wyraźnie wyższą wartość komfortu samochodu sterowanego przez IDSA. Pod względem

wartości średnich oraz median, wyższe wartości osiągnął samochód sterowany przez IDSA, co wskazuje

na jego lepszą ocenę ogólną. Potwierdzają to też niższe wartości odchylenia standardowego (w

przypadku komfortu nawet bardzo niskie) potwierdzające, że zachowanie samochodu sterowane przez

IDSA jest bardziej stabilne niezależnie od warunków.

Page 173: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

173

Rysunek 59 Miary statystyczne wskaźnika bezpieczeństwa

Rysunek 60 Miary statystyczne wskaźnika komfortu

Page 174: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

174

Rysunki 59 oraz 60 przedstawiają miary statystyczne w rozbiciu na poszczególne eksperymenty. Na obu

wykresach widać ilustrację analizy danych z tabeli 80. Na rysunku 59 widać przewagę pojazdu

referencyjnego w eksperymentach 35 i 36, a na rysunku 60 – ogólną przewagę samochodu sterowanego

z wykorzystaniem IDSA. Na obu rysunkach widoczne są też różnice pomiędzy pierwszym i trzecim

kwartylem, potwierdzające obserwacje wynikające z analizy odchylenia standardowego.

4.5.4. Podsumowanie

Pierwszym wnioskiem nasuwającym się po przeprowadzeniu badań przedstawionych w podrozdziale

4.4 jest lepsze zachowanie samochodu skalibrowanego sterowanego przez IDSA w stosunku

do samochodu referencyjnego, wykorzystującego istniejące systemy wspomagające. Widać to przede

wszystkim w mniejszej liczbie niezaliczonych przejazdów, co jednoznacznie wskazuje na większe

bezpieczeństwo IDSA w porównaniu do sterowania referencyjnego. Oprócz tego zredukowane zostały

przechyły nadwozia, poślizgi, utraty prędkości podczas manewrów, a nawet skręt kierownicy konieczny

podczas gwałtownych zmian kierunku. Wszystkie pozytywne rezultaty są bezpośrednim efektem pro-

aktywności IDSA, czyli reagowania na zmiany zanim jeszcze nastąpią. Jest to możliwe dzięki

świadomości otoczenia i centralnemu podmiotowi podejmowania decyzji, który z tej wiedzy korzysta.

Drugim wnioskiem jest ogromny wpływ kierowcy na uzyskane wyniki badań. Widać to po malejącej

liczbie niezaliczonych przejazdów wraz z rosnącym doświadczeniem kierowcy. Oznacza to, że obydwa

badane rozwiązania nie są rozwiązaniami autonomicznymi, a zachowanie kierowcy jest ciągle kluczowe

dla bezpieczeństwa podróży.

Trzeci wniosek dotyczy wyłącznie samochodu referencyjnego – jego kalibrację należy wykonywać

całościowo – uwzględniając wszystkie obecne systemy wsparcia, dane fizyczne pojazdu, opon

i zawieszenia. Próba kalibracji wyłącznie jednego elementu, np. zawieszenia,

bez „przeprogramowania” systemów ECS i TSC kończyła się negatywnym zachowaniem,

np. spóźnioną i jednocześnie zbyt gwałtowną reakcją wspomnianych systemów.

Czwarty wniosek dotyczy zachowania pojazdu referencyjnego bez standardowych systemów wsparcia.

Co zaskakujące, po wyłączeniu systemów ECS i TSC, przejazdy z różnymi ustawieniami zawieszenia

kończyły się podobnymi maksymalnymi prędkościami, ponieważ kluczowa okazała się granica

wytrzymałości opon. Kierowca mógł ją nieznacznie przesuwać poprzez kontrolowane poślizgi,

ale wymagało to doświadczenia i umiejętności wykorzystania zmian w zawieszeniu, np. skontrowania

kierownicą podczas zmiany strony przechyłu nadwozia, w celu kompensacji poślizgu przed jego

pojawieniem się. Niemniej jednak, takie zachowanie kierowcy nie wpływało znacząco na wyniki badań.

Piątym wnioskiem jest bardzo złe zachowanie obu pojazdów po podniesieniu masy własnej oraz jeszcze

gorsze po przesunięciu środka ciężkości. Samochody łatwo wpadały w poślizgi zarówno podsterowne,

jak i nadsterowne, podnosiły koła, a nawet przewracały się (wyłącznie referencyjny). Żadne

z prezentowanych rozwiązań nie było kalibrowane po zmianie masy pojazdu, jednak wydaje się, że

w obu przypadkach wszystkie negatywne efekty da się zniwelować zmieniając parametry systemów

wsparcia. Oczywista wydaje się konieczność uwzględnienia masy pojazdu w parametrach systemów

TSC oraz IDSA, ponieważ trudno wyobrazić sobie tak radykalną zmianę zachowania pojazdu z

kierowcą i kompletem pasażerów w stosunku do zachowania samochodu z samym kierowcą. Można

Page 175: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

175

jednak przypuszczać, że gdyby samochód bazowy nie był skalibrowany na idealny rozkład masy (25%

na każde koło), wpływ zmiany masy i jej rozkładu mógłby być mniej negatywny.

Szósty wniosek dotyczy zachowania obu pojazdów po obniżeniu parametrów opon. Samochód

referencyjny nadspodziewanie pozytywnie zachował się w próbach z niską przyczepnością opon.

Co prawda systemy TSC i ECS reagowały trochę gwałtownie i wcześnie, co mogło być zaskakujące dla

kierowcy, jednak z powodzeniem pomagały w zachowaniu zadanego toru jazdy. Niestety, ten test

pokazał istotną wadę wybranej implementacji IDSA. Oblicza ona prędkość samochodu korzystając

z prędkości obrotowej kół, więc IDSA zupełnie nie reagował na pojawiający się poślizg, ponieważ go

nie wykrywał. Zlikwidowanie tego problemu wymagałoby uwzględnienia wskazań akcelerometrów

przy obliczaniu prędkości pojazdu. Bez tego elementu, samochód np. przechylał nadwozie adekwatnie

do spodziewanego promienia skrętu, a nie rzeczywistego, który był w tym przypadku większy.

Siódmy wniosek dotyczy braku możliwości działania IDSA w przypadku niedostatecznych zasobów

obliczeniowych. Widać to wyraźnie w eksperymencie 53, gdzie po podniesieniu stopnia wielomianu

do 15, samochód nie nadawał się do jazdy. W sytuacji mniej skrajnej, kiedy algorytm pracował, lecz

niektóre jego procesy nie nadążały za resztą, IDSA ciągle zachowywał się dobrze lub przynajmniej

akceptowalnie. Należy jednak zauważyć, że w eksperymencie 57 stracił on możliwość poprawiania

trajektorii zadanej przez kierowcę. Niestety może to być istotna wada, ponieważ kierowca

przyzwyczajony do tego, że samochód koryguje jego tor jazdy, mniej dokładnie ten tor jazdy kontroluje.

Z drugiej strony warto zauważyć, że przedstawiony przykład dotyczy slalomu, czyli sytuacji bardzo

nietypowej dla przeciętnego kierowcy.

Ósmy wniosek dotyczy kalibracji. Przy spojrzeniu ogólnym, można zauważyć, że IDSA wymaga

dokładnej kalibracji – ustalenia opóźnień, liczby wątków i dostosowania do dostępnych zasobów.

Wymaga także zapewnienia dostępności przez cały czas pracy algorytmu zasobów użytych podczas

kalibracji.

Większa liczba zaliczonych przejazdów, a także wzrost obliczonych wartości kryteriów

zagregowanych, prowadzą do następującej konkluzji. IDSA jako pojedynczy zintegrowany

algorytm, agregujący i realizujący zadania obecnie stosowanych algorytmów szczegółowych –

odpowiedzialnych za wsparcie kierowcy i zapewnienie bezpieczeństwa – jest od nich obiektywnie

i mierzalnie lepszy, pod względem badanych kryteriów. Oznacza to, że IDSA lepiej realizuje

zadania stawiane przed rozwiązaniami tradycyjnymi przy zastosowaniu zaproponowanej oceny

zagregowanej, mimo że nie realizuje wprost funkcjonalności realizowanych przez systemy

wsparcia kierowcy, które zastępuje. Poza tym, w większości przypadków, osiąga on także lepsze

rezultaty pod względem używanych cząstkowych wskaźników oceny: przechyłu samochodu,

zmiany prędkości podczas manewrów, wymaganego skrętu kierownicy, poślizgu opon oraz czasu

wykonania manewrów. Jest to potwierdzenie tezy tej pracy postawionej w punkcie 1.5.1.

Page 176: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

176

5. ZAKOŃCZENIE

Najtrudniejszy i najbardziej żmudny etap tej pracy nie został szczegółowo opisany w prezentowanej

rozprawie. Polegał on na wielokrotnych próbach opracowania IDSA, wymieniania jego komponentów,

zmieniania założeń i ograniczeń. Dopiero po ustabilizowaniu założeń można było przystąpić do pracy

badawczej – budowania rozwiązania referencyjnego, planowania eksperymentów i implementacji

IDSA.

Podczas tego procesu zdobyto doświadczenie, które będzie bardzo przydatne w dalszych pracach

i jednocześnie wskazuje ono popełnione błędy i osiągnięte sukcesy.

Najważniejszym sukcesem tej pracy jest potwierdzenie postawionej tezy.

5.1. Problem pracy

Problem badany w niniejszej pracy dotyczy zadania sterowania realizowanego we współczesnych

samochodach. Postawiono w niej pytanie, czy współczesne podejście, wykorzystywane w dziesiątkach

tysięcy produkowanych codziennie samochodów, da się zastąpić podejściem alternatywnym. Zbadano

możliwość wykorzystania wiedzy z zakresu informatyki do rozwiązania problemu obecnego

w mechanice i budowie maszyn, a używając nomenklatury rynkowej – w motoryzacji.

W niniejszej pracy zdecydowano się wyeliminować wszystkie znane systemy czynnego wsparcia

kierowcy, takie jak system kontroli trakcji, system zapobiegania blokowaniu kół, system zapobiegania

poślizgom, system aktywnego zawieszenia itd., oraz zastąpić je przez jeden system zdolny do kontroli

wszystkich urządzeń wykonawczych – sterowanych tradycyjnie przez niezależne lub częściowo zależne

systemy. Ta praca proponuje algorytm heurystyczny, realizujący postawione zadanie badawcze,

nazwany Integrated Driver Support Algorithm (IDSA). Problem wspomagania kierowcy został w tej

pracy zdekomponowany na zupełnie inne składowe, więc jego celem jest analiza danych wejściowych

dotyczących pojazdu, jego otoczenia i wydawanych przez kierowcę poleceń oraz kontrolowanie

wszystkich urządzeń wykonawczych obecnych w pojeździe. Jednak IDSA nie jest typowym

algorytmem realizującym ciąg operacji zależnych w sensie wejściowo-wyjściowym. Zamiast tego

zastosowano nietypowe, autorskie połączenie niezależnych procesów składowych oraz autorski model

danych przyjmujących zmienne w dyskretnych chwilach czasu, budujący ich ciągłą reprezentację

i używający tej interpretacji do interpolacji lub nawet ekstrapolacji przechowywanych wartości. Dzięki

temu w większości udało się zachować bardzo prostą architekturę procesów składowych. Jedynym

wyjątkiem jest proces przetwarzania danych o otoczeniu. Nie udało się znaleźć w literaturze żadnego

rozwiązania wykonującego zadanie agregacji asynchronicznych i heterogenicznych danych

sensorycznych, więc w ramach tej pracy zaproponowano taki proces, wykorzystujący sieci neuronowe.

W ten sposób buduje się i uaktualnia geometryczną mapę otoczenia zbudowaną ze zbioru

sklasyfikowanych i sparametryzowanych obiektów oraz ich trajektorii. Warto zauważyć, że IDSA

realizuje zadanie systemu decyzyjnego zachowującego się jak system wspomagania decyzji, podczas

gdy sam proces wyznaczania decyzji został tu zredukowany do prostego wyszukiwania ekstremów

trzech funkcji wielowymiarowych.

Page 177: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

177

Przeprowadzone badania pokazują wyraźnie, że dzięki świadomości otoczenia, braku konfliktów

sterowania i wielu stopniom swobody, IDSA jest w stanie osiągać lepsze wartości wskaźników

opisujących bezpieczeństwo i komfort jazdy.

5.2. Najważniejsze wyniki

Najważniejszym osiągniętym wynikiem, widocznym już na pierwszy rzut oka, jest mniejsza

wypadkowość pojazdu sterowanego przez IDSA w stosunku do pojazdu wykorzystującego współczesne

rozwiązania. Podczas badań dokonano 1234 jazd testowych, w tym 476 jazd bezpośrednio

porównujących IDSA i pojazd referencyjny (po 238 jazd każdy). Samochód referencyjny pozytywnie

zaliczył 182 z nich, a samochód sterowany przez IDSA – 228. Widać tu wyraźny wzrost bezpośredniego

bezpieczeństwa o 19,3%. Dla samochodów skalibrowanych ten wskaźnik wyniósł 15,1%. Ogólnie,

samochód referencyjny zaliczył 85,5% z 414 przejazdów, a samochód sterowany przez IDSA: 96,5%

z 820 przejazdów.

Kolejnymi widocznymi zaletami są: minimalizacja przechyłów przy używaniu IDSA – wynikająca

z jego pro-aktywności, minimalizacja koniecznych do wykonania manewrów skrętu kierownicy –

wynikająca z elastyczności oraz minimalizacja utraty prędkości – wynikająca ze świadomości otoczenia

i braku konfliktów sterowania.

Największą odkrytą wadą IDSA jest brak zdolności do radzenia sobie z zakłóceniami niemierzonymi –

w tym przypadku ze zmniejszoną przyczepnością, wynikającą ze zużycia opon. Mimo tej wady udało

się uzasadnić postawioną w pracy tezę, czyli pokazać wyższość IDSA nad rozwiązaniami

referencyjnymi w badanych warunkach i z użyciem zaproponowanych wskaźników oceny.

5.3. Kierunki dalszych prac i rekomendacje wdrożeniowe

Wyeliminowanie zauważonych wad IDSA oraz jego dalsze udoskonalanie wymagają dalszych prac.

Następujące przyszłe działania wydają się obecnie najważniejsze:

a) W procesie analizy danych o otoczeniu należy uwzględnić wiedzę ekspercką do wyznaczenia

kolejności uruchamiania kolejnych sieci neuronowych, rozpoznających obiekty konkretnych

typów, np. na drodze należy najpierw szukać innych pojazdów, a dopiero w następnej

kolejności drzew. W tym samym procesie należy wykorzystać metamodel obiektów otoczenia

do wyznaczenia kolejności uruchamiania sieci neuronowych w przypadku negatywnego

rozpoznania, tzn., jeśli spodziewano się obiektu reprezentującego klasę „samochód osobowy”,

ale nie udało się go znaleźć, należy w pierwszej kolejności uruchomić sieć odpowiedzialną

za klasę nadrzędną „samochód” zamiast klasy niezwiązanej, np. „drzewo”. Oprócz tego należy

uwzględnić odczyty z akcelerometrów do określenia rzeczywistego ruchu pojazdu, oprócz

bazowania wyłącznie na prędkości obrotowej kół.

b) W zaprezentowanych badaniach wykorzystano możliwość użycia skryptów do nadzorowania

uczenia sieci neuronowych. Należy znaleźć sposób na szybkie uczenie tych sieci na podstawie

pomiarów pobranych ze świata rzeczywistego. Można też zbadać dostępne metody aktualizacji

posiadanych sieci neuronowych w pojeździe poprzez komunikację peer-2-peer (w tym

przypadku car-2-car lub car-2-X) lub aktualizację oprogramowania samochodu przez Internet

podczas postoju w garażu.

Page 178: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

178

c) W dotychczasowych badaniach pominięto udział danych niepewnych. Należy rozważyć

zastosowanie niedeterministycznych opisów przetwarzania danych, tak aby odzwierciedlić

niepewność działania sieci neuronowych oraz niepewność pomiarową.

d) Należy rozważyć zastosowanie funkcji wyższego stopnia do predykcji trajektorii, zamiast

różnicować tylko jazdę po łuku lub jazdę na wprost. Idąc tą drogą, można też użyć większej

liczby przyszłych chwil czasu w procesie poprawiania trajektorii, zamiast wyznaczania wartości

dla jednej chwili 𝑝(𝑡𝑘). Oprócz tego zauważono, że wygodniejsze może być przesuwanie,

co określony czas lub przebyty dystans, początku układu współrzędnych, względem którego

wyznacza się trajektorię pojazdu sterowanego, zamiast ciągłego bazowania na punkcie

uruchomienia IDSA.

e) Używany obecnie planista systemowy jest dość prosty. Można rozważyć potencjalne ulepszenia

używanych planistów systemowych, np. priorytetyzację zadań w zależności od istotności

procesu, oraz wywłaszczanie lub przerwania w przypadku pojawienia się nowych, istotnych

danych do analizy.

f) Przed przeniesieniem badań do świata rzeczywistego, można ulepszyć używane środowisko

symulacyjne. Polegałoby to na podziale środowiska badawczego na dwa komputery (realizujący

symulację i realizujący IDSA), w celu uniezależnienia mocy obliczeniowej. Warto

też rozważyć poprawę scenariuszy eksperymentów i używanych wskaźników oceny.

Najważniejsze wydaje się teraz dodanie nowych tras testowych, np. uwzględniających

nierówności asfaltu lub powszechne sytuacje drogowe, jednak warto też rozszerzyć badania

o dodatkowe wskaźniki oceny, np. efektywność energetyczną lub pamięciową, użyteczność

modelu danych w innych zadaniach spotykanych w samochodzie (np. sterowanie światłami

lub tempomatem) lub subiektywne oceny różnych kierowców.

Po zakończeniu badań symulacyjnych możliwe będzie przystąpienie do badań z użyciem rzeczywistych

pojazdów. Ze względu na wymaganą przez IDSA metodę sterowania drive-by-wire oraz założenie

wykluczenia istniejących systemów wsparcia kierowcy, odradza się modyfikację istniejącego pojazdu

w celu użycia w nim IDSA. Potrzebne do wprowadzenia zmiany byłyby w takim przypadku bardzo

duże. Zamiast tego warto zacząć od stworzenia prostego pojazdu składającego się z ramy, prostego

silnika (zapewne elektrycznego), prostego układu jezdnego, kierowniczego, hamulcowego

oraz zawieszenia. Należy tylko zapewnić odpowiednie interfejsy, umożliwiające sterowanie tymi

urządzeniami przez IDSA. Przy zapewnieniu odpowiednio wydajnej sieci bezprzewodowej, można

nawet pokusić się o model sterowany zdalnie, np. mniejszy od prawdziwego samochodu.

Jeśli ten etap zakończy się powodzeniem, można będzie rozważyć przynajmniej trzy dalsze drogi

rozwoju – pełnowymiarowy samochód z kierowcą, pojazd autonomiczny lub inny pojazd.

W przypadku rozpoczęcia badań w samochodzie z kierowcą, należy koniecznie zastosować układ

sterowania zapasowego – prosty informatyczny lub fizyczny sterownik, pozwalający bezpośrednio

sterować hamulcami, silnikiem i skrętem kół. Alternatywnie można rozważyć użycie algorytmu

autonomicznego. Taki algorytm musiałbym rozwiązywać problemy zachowania pojazdu w ruchu

drogowym i mógłby zadawać bezpośrednio trajektorię 𝑝(𝑡) do modelu danych IDSA. W założeniach

IDSA leży także możliwość użycia go w innych pojazdach. Interesujące jest, jaki dodatkowy nakład

pracy jest potrzebny w celu użycia IDSA do sterowania np. pojazdem wielokołowym lub łodzią.

Page 179: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

179

Równolegle do badań na fizycznym przedmiocie podejmowania decyzji, warto wciąż rozwijać

symulator, który może stać się podstawą dalszych badań przy ograniczonych kosztach lub środowiskiem

treningowym dla kierowców.

Podsumowując, zaproponowany algorytm, nazwany IDSA, spełnia cel niniejszej pracy i potwierdza

zawartą w niej tezę. Oprócz tego, w pracy wskazuje się jego ewaluację oraz kilka ścieżek badawczych

dalszego jego rozwoju.

Page 180: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

180

LITERATURA

[1] R. Makowitz, „FlexRay – A Communications Network for Automotive Control Systems,”

w IEEE International Workshop on Factory Communication Systems, Turyn, 2006.

[2] Komenda Główna Policji, „WYPADKI DROGOWE - RAPORTY ROCZNE,” [Online].

Available: http://statystyka.policja.pl/st/ruch-drogowy/76562,Wypadki-drogowe-raporty-

roczne.html. [Data uzyskania dostępu: 5 października 2020].

[3] T. Scharnhorst and G. Reichart, "Progress on the AUTOSAR Adaptive Platform for

Intelligent Vehicles," in VEHICULAR 2019, Rzym, 2019.

[4] A. Haghighatkhah, M. Oivo, A. Banijamali and P. Kuvaja, "Improving the State of

Automotive Software Engineering," IEEE Software, vol. 34, no. 5, pp. 82-86, 26 września

2017.

[5] R. Chatila i J.-P. Laumond, „Position referencing and consistent world modeling for mobile

robots,” w Proceedings. 1985 IEEE International Conference on Robotics and Automation,

Saint Louis, IEEE, 1985, pp. 138-145.

[6] H. Durrant-Whyte i T. Bailey, „Simultaneous Localisation and Mapping (SLAM): part I,” IEEE

Robotics & Automation Magazine, tom 13, nr 2, pp. 99-110, June 2006.

[7] Road Illumination Devices Standards Committee, „Automotive Engineering,” SAE

International, Warrendale, 1974.

[8] Delphi, „Delphi Multi-domain Controller,” 2015. [Online]. Available: https://s3-

prod.autonews.com/s3fs-public/CA106710823.PDF. [Data uzyskania dostępu: 19 listopada

2019].

[9] Continental AG, „Just in Case: Continental Uses Safety Domain Control Unit as Fallback

Path in Automated Driving,” 10 stycznia 2018. [Online]. Available:

https://www.continental.com/en/press/press-releases/safety-domain-control-unit-118020.

[Data uzyskania dostępu: 14 listopada 2019].

[10] M. Wille, „Adaptive AUTOSAR is on the road – challenges & experiences for series

development at Volkswagen,” w Automotive Computing Conference, Frankfurt, 2019.

[11] P. Lobert, „Software empowering vehicle computer,” w Automotive Computing Conference,

Frankfurt, 2019.

[12] R. Day, „Performance computing for future autonomous systems,” w Automotive Computing

Conference, Frankfurt, 2019.

Page 181: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

181

[13] J. Mauss, „Virtual ECUs for automotive development: a success story,” w Automotive

Computing Conference, Frankfurt, 2019.

[14] M. Hiller, „Future E/E architecture trends and computation needs,” w Automotive Computing

Conference, Frankfurt, 2019.

[15] M. D. Cave, „Autonomous driving system emergency signaling”. United States, CA, Palo

Alto Patent 2019/0138018, 9 maja 2019.

[16] T. Fortenberry, S. D. Crowder, P. Kaminski, D. W. Bailey i D. Glasco, „Autonomous driving

conroller encrypted communications”. United States of America Patent 2019/0334706, 18

kwietnia 2019.

[17] J. Behtel, J. Stam i S. Kemeny, „Vehicle vision system”. United States of America Patent

2009/7567291, 28 czerwca 2009.

[18] D. Hall, „High devinition LIDAR system”. United States of America Patent 2011/7969558,

28 czerwca 2011.

[19] J. Kretzschmar i F. Eckardt, „A Blockchain Approach towards Cargo Sharing in Last Mile

Logistics,” w VEHICULAR 2019, Rzym, 2019.

[20] H. Menouar i M. B. Brahim, „Real Deployment of the V2X-Based Data Probe Application

and its Integration with a Commercial Traffic Platform,” w VEHICULAR 2019, Rzym, 2019.

[21] F. Jiménez, J. E. Naranjo, M. Martin, A. Ramirez, M. Anguera i P. García, „Operation in

Tunnels Construction Works with Autonomous or Tele-operated Trucks,” w VEHICULAR

2019, Rzym, 2019.

[22] F. Terhar i C. Icking, „A New Model for Hard Braking Vehicles and Collision Avoiding

Trajectories,” w VEHICULAR 2019, Rzym, 2019.

[23] A. Suzuki, Y. Murata i S. Fujimura, „Robustness Against Hazard Notifications Around

a Vehicle Using Seat Actuators,” w VEHICULAR 2019, Rzym, 2019.

[24] J. Marchal, D. Gingras i H. Pollart, „Vehicle Detection Assistance in Urban Intersection

Using Data Exchange Between Road Infrastructure,” w VEHICULAR 2019, Rzym, 2019.

[25] M. Loizou i P. Kaimakis, „Model-Based 3D Visual Tracking of Rigid Bodies using Distance

Transform,” w VEHICULAR, Rzym, 2019.

[26] D. Petrecki, „Asynchronous Vehicle Control System Basing on Analitical Continous-Time

Functions,” w VEHICULAR, Rzym, 2019.

Page 182: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

182

[27] D. Petrecki, „Asynchronous Vehicle Control System Based on Integrated Driver Support

Algorithm,” International Journal On Advances in Systems and Measurements, tom 13,

nr 1&2, pp. 36-45, 2020.

[28] A. Mhalla, T. Chateau, S. Gazzah i N. Amara, „An Embedded Computer-Vision System for

Multi-Object Detection in Traffic Survellance,” IEEE Transactions on Intelligent

Transportation Systems, nr 11, pp. 4006-4018, 27 listopada 2019.

[29] P. Patil i S. Murala, „MSFgNet: A Novel Compact End-to-End Deep Network for Moving

Object Detection,” IEEE Transactions on Intelligent Transportation Systems, tom 20, nr 11,

pp. 4066-4077, 2019.

[30] D. Lovell, „Kinematics-enabled lossless compression of freeway and arterial vehicle

trajectories,” Journal of Intelligent Transportation Systems, tom 23, nr 5, pp. 452-476, 2019.

[31] C. A. Foldestad, N. Hansen, K. Fagerholt, H. Andersson i G. Pantuso, „Optimal charging and

repositioning of electric vehicles in a free-floating carsharing system,” Computers &

Operations Research, tom 113, 2020.

[32] K. Sakhare, T. Tewari i V. Vyas, „Review of Vehicle Detection Systems in Advanced Driver

Assistant Systems,” Archives of Computational Methods in Engineering, pp. 1-20, 12 marca

2019.

[33] L. Kudela, S. Kollmannsberger, U. Almac i E. Rank, „Direct structural analysis of domains

defined by point clouds,” Computer Methods in Applied Mechanics and Engineering, tom

358, 2020.

[34] C. Hermange, G. Oger, Y. Le Chenadec i D. Le Touzé, „A 3D SPH–FE coupling for FSI

problems and its application to tire hydroplaning simulations on rough ground,” Computer

Methods in Applied Mechanics and Engineering, tom 355, pp. 558-590, 2019.

[35] E. Bjørne, E. Brekke, T. Bryne, J. Delaune i T. Johanses, „Globally stable velocity estimation

using normalized velocity measurement,” The International Journal of Robotics Research,

tom 39, nr 1, pp. 143-157, 2019.

[36] V. Guizilini i F. Ramos, „Variational Hilbert regression for terrain modeling and trajectory

optimization,” The International Journal of Robotics Research, tom 38, nr 12-13, pp. 1375-

1387, 2019.

[37] D. Petrecki i J. Józefczyk, „A New Method for Asynchronous Mapping, Localization and

Control of Vehicles,” w Systems Management, Rzym, Giappichelli-Routledge, 2017.

Page 183: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

183

[38] J. Józefczyk, M. Ławrynowicz i D. Petrecki, „Selected problems and methods of decision-

making in complex system,” Advances in analysis and decision-making for complex and

uncertain systems, tom 6, pp. 41-49, 2019.

[39] D. Petrecki, I. Jóźwiak i J. Gruber, „Propozycja wykorzystania scentralizowanego systemu

informatycznego w samochodach,” Zeszyty Naukowe - Politechnika Śląska. Organizacja i

Zarządzanie, nr 68, pp. 367-376, 2014.

[40] M. Bernhardt, „Krzywa momentu obrotowego,” w Teoria silników spalinowych tłokowych,

Warszawa, Wydawnictwo Naukowo-Techniczne, 1963, p. 297.

[41] P. Fundowicz, M. Radzimierski i M. Wieczorek, „Układ napędowy,” w Konstrukcja

pojazdów samochodowych, Warszawa, WSiP, 2013, pp. 47-90.

[42] Komatsu America Corp., „Komatsu 930E-4,” lutego 2007. [Online]. Available:

https://www.webcitation.org/5nwccAClr?url=http://www.equipmentcentral.com/north_ameri

ca/data/new_equipment/930E_4_AESS743-00_FINAL.pdf. [Data uzyskania dostępu: 23

października 2020].

[43] N. Srivastana i I. Haque, „A review on belt and chain continuously variable transmissions

(CVT): Dynamics and control,” Mechanism and Machine Theory, tom 44, nr 1, pp. 19-41,

2009.

[44] Online Digital Education Connection, „ Continuously Variable Transmissions,” 2007.

[Online]. Available: http://www.odec.ca/projects/2007/viva7s2/cvts2.htm. [Data uzyskania

dostępu: 11 12 2016].

[45] Z. Jaśkiewicz, Mosty Napędowe, Warszawa: WKŁ, 1977.

[46] J. Dzida, „Mechanizmy różnicowe sterowane regulatorami mechanicznymi,” Archiwum

motoryzacji, tom 3, pp. 227-246, 2007.

[47] ASE Certification Practice Tests, „Differentials: Side Bearings,” 2019. [Online]. Available:

https://www.freeasestudyguides.com/differential-side-bearing-preload.html. [Data uzyskania

dostępu: 5 października 2020].

[48] J. Zhang, Y. Zhang i G. Li, „Functional Safety Design of Four-Wheel Independent Brake

System on Electric Vehicle,” w IOP Conference Series Earth and Environmental Science,

Banda Aceh, 2018.

[49] S. Saxena, V. Kumar, S. S. Luthra i A. Kumar, „4 WHEEL STEERING SYSTEMS,”

International Journal of Mechanical Engineering and Robotics Research, tom 1, nr 1, 2014.

Page 184: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

184

[50] K. Ernst, „Lost Cars of the 1980s – 1988 Honda Prelude 4WS,” Hemmings, 2 grudnia 2013.

[Online]. Available: https://www.hemmings.com/blog/2013/12/02/lost-cars-of-the-1980s-

1988-honda-prelude-4ws/. [Data uzyskania dostępu: 6 października 2020].

[51] I. Kulczyk, „Układ kierowniczy,” 5 lutego 2017. [Online]. Available:

https://silo.tips/download/ukad-kierowniczy-potrzeb-stosowania-ukadu-kierowniczego-ze-

zwrotnicami-przedstaw. [Data uzyskania dostępu: 6 października 2020].

[52] J.-S. Zhao, Z.-J. F. X. Liu i J. S. Dai, „Design of an Ackermann Type Steering Mechanism,”

Journal of Mechanical Engineering Science, tom II, nr 227, pp. 2249-2262, 2013.

[53] AutoTURN.net.pl, „Zasada ACKERMANa,” AutoTURN, 11 sierpnia 2017. [Online].

Available: https://autoturn.net.pl/wsparcie-autoturn/s%C5%82owniczek/45-zasada-

ackermana.html. [Data uzyskania dostępu: 6 października 2020].

[54] WP Autokult, „Układy zawieszenia w samochodach osobowych,” 10 stycznia 2011. [Online].

Available: https://autokult.pl/14518,uklady-zawieszenia-w-samochodach-osobowych. [Data

uzyskania dostępu: 20 lutego 2020].

[55] L. Chen, „2,4,7 DOFs Suspension Model for Simulink,” 25 maja 2006. [Online]. Available:

http://uk.mathworks.com/matlabcentral/fileexchange/11199-247-dofs-suspension-model-for-

simulink. [Data uzyskania dostępu: 6 października 2020].

[56] M. Theriault, „Three-Dimensional Control Valve with Complex Geometry,” w Great

Maritime Inventions 1833-1950, Fredericton, Goose Lane Editions, 2001, p. 69.

[57] opony.com.pl, „Jak korygować podsterowność i nadsterowność?,” 9 sierpnia 2010. [Online].

Available: https://www.opony.com.pl/artykul/jak-korygowac-podsterownosc-i-

nadsterownosc/?id=962. [Data uzyskania dostępu: 6 października 2020].

[58] J. Koscs, „Anti-lock Brakes: Who Was Really First?,” Hagerty, 9 kwietnia 2013. [Online].

Available: https://www.hagerty.com/articles-videos/articles/2013/04/09/antilock-brakes.

[Data uzyskania dostępu: 3 marca 2020].

[59] Komisja Europejska, „Brake Assist,” 11 marca 2020. [Online]. Available:

https://ec.europa.eu/transport/road_safety/specialist/knowledge/esave/esafety_measures_unkn

own_safety_effects/brake_assist_en. [Data uzyskania dostępu: 11 października 2020].

[60] The Royal Society for the Prevention of Accidents, „Brake Assist,” 06 grudnia 2006.

[Online]. Available: http://www.rospa.com/roadsafety/info/brake_assist.pdf. [Data uzyskania

dostępu: 11 marca 2020].

Page 185: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

185

[61] G. Buschmann, H. T. Ebner i W. Kuhn, „Electronic Brake Force Distribution Control - A

Sophisticated Addition to ABS,” SAE 1992 Transactions: Journal of Passenger Cars, tom

101, nr 6, pp. 9-40, 1992.

[62] L. Austin i D. Morrey, „Recent advances in antilock braking systems and traction control

systems,” Proceedings of the Institution of Mechanical Engineers Part D Journal of

Automobile Engineering, tom 6, nr 214, pp. 625-638, 2000.

[63] P. Jóźwik, J. Marciszewski, M. Stępień i R. Dychto, „Determination of sensitivity of the

Electronic Stability Program Algorithm,” Mechanics and Mechanical Engineering, tom 4, nr

21, pp. 953-969, 2017.

[64] S. Motoyoma, T. Ohta, T. Watanabe i Y. Ito, „Proceedings of the 7th world congress on

intelligent systems,” w Development of Lane Departure Warning System, Turyn, 2000.

[65] J. Brinkley, J. Dunbar, D. Smitch i J. Gilbert, „A Usability Evaluation of the BMW Active

Cruise Control System With “Stop and Go” Function,” Proceedings of the Human Factors

and Ergonomics Society 2017 Annual Meeting, tom 61, nr 1, pp. 1536-1540, 2017.

[66] S. Awano, H. Yoshida i T. Kamada, „Investigation of Emergency Brake Assist System for

Elderly Driver,” w Transport / Logistics Division Conference, Pekin, 2005.

[67] D. Uselmann i L. Uselmann, „Sonic blind spot monitoring system,” The Journal of the

Acoustical Society of America, tom 6, nr 122, pp. 4-27, 2007.

[68] SAE International, „Automated Driving – Levels of Driving Automation are Defined in New

SAE International Standard J3016,” 01 czerwca 2018. [Online]. Available:

https://web.archive.org/web/20180701034327/https://cdn.oemoffhighway.com/files/base/acb

m/ooh/document/2016/03/automated_driving.pdf. [Data uzyskania dostępu: 25 grudnia

2019].

[69] W. Doroszewski, Słownik Języka Polskiego, Warszawa: PWN, 2009.

[70] K. Cammaerts, P. Morse i K. Kidera, „Improving Performance through the Use of Driver-in-

the-Loop Simulations,” ATZ worldwide, tom 121, pp. 52-57, 2019.

[71] Y. Gurevich, „What Is an Algorithm?,” w Sofsem 2012: Theory and Practice of Computer

Science: 38th Conference on Current Trends in Theory and Practice of Computer Science,

Szpindlerowy Młyn, 2012.

[72] M. Li i P. Vitányi, „Algorithmic Complexity,” w An Introduction to Kolmogorov Complexity

and Its Applications, Nowy Jork, Springer, 1997, pp. 101-199.

[73] M. Islam, „Neural Network,” Chongqing University of Science & Technology, Chongqing,

2020.

Page 186: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

186

[74] S. Colyer, M. Evans, D. Cosker i A. Salo, „A Review of the Evolution of Vision-Based

Motion Analysis and the Integration of Advanced Computer Vision Methods Towards

Developing a Markerless System,” Sports Medicine - Open, tom 4, nr 24, 5 czerwca 2018.

[75] E. Diamant, „Does a Plane Imitate a Bird? Does Computer Vision Have to Follow Biological

Paradigms?,” w Brain, Vision, and Artificial Intelligence, Berlin, Springer, 2005, pp. 108-

115.

[76] R. G. Domenella i A. Plebe, „A Neural Model of Human Object Recognition Development,”

w Brain, Vision, and Artificial Intelligence, Berlin, Springer, 2005, pp. 116-126.

[77] M. Miyake, H. Takai i K. Tachibana, „Workspace mapping based on multisensor information

fusion using heterogeneous onboard sensors,” Artificial Life and Robotics volume, tom 14, nr

401, pp. 401-404, 2009.

[78] S. Abe, „Function Approximation,” w Support Vector Machines for Pattern Classification,

Londyn, Springer, 2010, pp. 395-442.

[79] A. Krall, „The Stone-Weierstrass Theorem,” w Applied Analysis, Dordrecht, Springer, 1986,

pp. 117-126.

[80] A. Blinov i V. Fralenko, „Multidimensional approximation for modeling and optimization

problems,” Approximate and Numerical Methods, pp. 652-662, 24 kwietnia 2009.

[81] W. Marańda, „Rozwiązywanie konfliktów,” 6 stycznia 2009. [Online]. Available:

https://neo.dmcs.pl/ak/solving_hazards.pdf. [Data uzyskania dostępu: 6 października 2020].

[82] W. Buchanan, „CAN Bus,” w The Handbook of Data Communications and Networks,

Boston, Springer, 2004, pp. 705-714.

[83] M. Timmann i M. Renz, „48V at Mercedes-Benz – options for further applications,” w 14.

Internationales Stuttgarter Symposium, Wiesbaden, 2014.

[84] O. Mitchell, „Self-Driving Cars Have Power Consumption Problems,” The Robot Report, 26

lutego 2018. [Online]. Available: https://www.therobotreport.com/self-driving-cars-power-

consumption/. [Data uzyskania dostępu: 11 lutego 2020].

[85] „ADAS,” ADAS - Sheppard’s Glass. [Online]. Available:

https://www.sheppardsglass.com/adas/. [Data uzyskania dostępu: 2020 listopada 15].

[86] D. Möller i R. Haas, „Automotive Cybersecurity,” w Guide to Automotive Connectivity and

Cybersecurity, Cham, Springer, 2019, pp. 265-377.

[87] D. Petrecki, Opracowanie modelu matematyczne i komputerowego nowoczesnego samochodu

na potrzeby zadania stabilizacji podwozia, Wrocław: Politechnika Wrocławska, 2013.

Page 187: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

187

[88] A. Pruckner, R. Stroph i P. Pfeffer, „Drive-By-Wire,” w Handbook of Intelligent Vehicles,

Londyn, Springer, 2012, pp. 235-282.

[89] J. Józefczyk i M. Hojda, „Systems Approach in Complex Problems of Decision-Making and

Decision-Support,” Studies in Systems, Decision and Control, tom 296, pp. 589-615, 2021.

[90] M. Antal, C. Pop, T. Cioara, I. Anghel, I. Salomie i P. Florin, „A System of Systems

approach for data centers optimization and integration into smart energy grids,” Future

Generation Computer Systems, tom 105, pp. 948-963, 2020.

[91] O. D. Montoya, W. Gil-González i L. F. Grisales-Noreña, „An exact MINLP model for

optimal location and sizing of DGs in distribution networks: A general algebraic modeling

system approach,” Ain Shams Engineering Journal, tom 11, nr 2, pp. 409-418, 2020.

[92] F. Borrelli, A. Bomporad, M. Fodor i D. Hrovat, „An MPC/hybrid system approach to

traction control,” IEEE Transactions adn Control Systems Technology, tom 14, nr 3, pp. 541-

552, 2006.

[93] L. König, F. Schindele i A. Zimmermann, „ITC – Integrated traction control for sports car

applications,” w 19. Internationales Stuttgarter Symposium, Stuttgart, 2019.

[94] 360 iResearch, „Anti Lock Braking System (ABS) & Electronic Stability Control (ESC)

System Market Research Report - United States Forecast to 2025 - Cumulative Impact of

COVID-19,” Lyon, 2020.

[95] R. Sujith i V. Unni, „Complex system approach to investigate and mitigate thermoacoustic

instability in turbulent combustors,” Physics of Fluids, tom 32, pp. 6-26, 2020.

[96] A. Bonci, A. Carbonari, A. Cucchiarelli, L. Messi, M. Pirani i M. Vaccarini, „A cyber-

physical system approach for building efficiency monitoring,” Automation in Construction,

tom 102, pp. 68-85, 2019.

[97] P. Ferrinho, M. Sidat, G. Leiras, F. P. Cupertino de Barros i H. Arruda, „Principalism in

public health decision making in the context of the COVID‐19 pandemic,” Health Planning

Management, tom 35, nr 5, pp. 997-1000, 2020.

[98] N. Aouf, D. Gates, I. Postlethwaite i B. Boulet, „Scheduling schemes for an integrated flight

and propulsion control system,” Control Engineering Practice, tom 10, nr 7, pp. 685-696,

2002.

[99] M. Indu i K. Aswatha, „Electric Vehicle Control and Driving Safety Systems: A Review,”

IETE Journal of Research, tom 17, 2020.

Page 188: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

188

[100] M. Tomizuka, C. Zong, C. Guoying, Z. Zhang, P. Song i N. Lin, „Integrated Control Method

for a Full Drive-by-Wire Electric Vehicle Based on Driver’s Intention Recognition,”

University of California, Berkeley, 2020.

[101] C. Huang, F. Naghdy, H. Du i H. Huang, „Fault tolerant steer-by-wire systems: An

overview,” Annual Reviews in Control, tom 47, pp. 98-111, 2019.

[102] C. Leiseison, „Fat-trees: universal networks for hardware-efficient supercomputing,” IEEE

Transactions on Computers, tom 10, nr 34, p. 892–901, 1985.

[103] Velodyne Lidars, „Alpha Prime,” Velodyne Lidars, [Online]. Available:

https://velodynelidar.com/products/alpha-prime/. [Data uzyskania dostępu: 16 marca 2020].

[104] A. Hoover i B. D. Olsen, „A real-time occupancy map from multiple video streams,”

Proceedings 1999 IEEE International Conference on Robotics and Automation, tom 3, pp.

2261-2266, 1999.

[105] M. H. Daraei, Tightly-Coupled Lidar and Camera for Autonomous Vehicles, Santa Cruz:

University of California, 2018.

[106] W. Gordon i R. Riesenfeld, „B-Spline curves and surfaces,” w Computer Aided Geometric

Design, Utah, Academic Press, 1974, pp. 95-126.

[107] C. Lanczos, „Trigonometric Interpolation of Empirical and Analytical Functions,” Journal of

Mathematics and Physics, tom 17, nr 1-4, pp. 123-134, Kwiecień 1938.

[108] D. Schleicher, L. Bergasa, M. Ocaña, R. Barea i E. López, „Real-time hierarchical stereo

Visual SLAM in large-scale environments,” Robotics and Autonomous Systems, tom 58, nr 8,

p. 991–1002, 2010.

[109] H. Song, W. Choi i H. Kim, „Robust Vision-Based Relative-Localization Approach Using an

RGB-Depth Camera and LiDAR Sensor Fusion,” IEEE Transactions on Industrial

Electronics, tom 63, nr 6, pp. 3725-3736, 2016.

[110] N. Ahman, A. Meng i M. Sultan, „Applications of Hardware-in-the-Loop Simulation in

Automotive Embedded Systems,” SAE Technical Paper 2020-01-1289, 14 kwietnia 2020.

[111] MSC Software, „Adams Car Real Dynamics for Vehicle Design and Testing,” MSC

Software, 2020. [Online]. Available: https://www.mscsoftware.com/product/adams-car. [Data

uzyskania dostępu: 17 maja 2020].

[112] MathWorks, „MatLab,” Mathworks, 2020. [Online]. Available:

https://www.mathworks.com/products/matlab.html. [Data uzyskania dostępu: 17 maja 2020].

Page 189: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

189

[113] dSPACE, „Automotive Simulation Models,” dSPACE, 2020. [Online]. Available:

https://www.dspace.com/en/inc/home/products/sw/automotive_simulation_models.cfm. [Data

uzyskania dostępu: 17 maja 2020].

[114] IPG Automotive, „CarMaker: Virtual testing of automobiles and light-duty vehicles,” IPG

Automotive, 2020. [Online]. Available: https://ipg-automotive.com/products-

services/simulation-software/carmaker/. [Data uzyskania dostępu: 17 maja 2020].

[115] Mechanical Simulation Corporation, „CarSim,” Mechanical Simulation Corporation, 2020.

[Online]. Available: https://www.carsim.com/. [Data uzyskania dostępu: 17 maja 2020].

[116] Dassault Systèmes, „Simpack MBS Software,” Dassault Systèmes, [Online]. Available:

https://www.3ds.com/products-services/simulia/products/simpack/. [Data uzyskania dostępu:

17 maja 2020].

[117] Keeree, „Kinematic Car Suspension - Sport Car,” Unity Technologies, 2020. [Online].

Available: https://assetstore.unity.com/packages/tools/animation/kinematic-car-suspension-

sport-car-75321. [Data uzyskania dostępu: 17 maja 2020].

[118] Unity Technologies, „https://unity.com/,” Unity Technologies, 2020. [Online]. Available:

https://unity.com/. [Data uzyskania dostępu: 17 maja 2020].

[119] BeamNG, „BeamNG.drive,” BeamNG, 2020. [Online]. Available: https://www.beamng.com/.

[Data uzyskania dostępu: 18 października 2020].

[120] Puc Rio, „Lua,” Puc Rio, [Online]. Available: https://www.lua.org/. [Data uzyskania dostępu:

17 maja 2020].

[121] Image Space Incorporated, „rFactor 2,” Image Space Incorporated, [Online]. Available:

https://www.studio-397.com/. [Data uzyskania dostępu: 17 maja 2020].

[122] E. Garcia, „Vehicle Physics Pro,” Vehicle Physics, [Online]. Available:

https://vehiclephysics.com/.

[123] D-BOX Technologies Inc., „D-BOX,” D-BOX Technologies Inc., [Online]. Available:

http://tech.d-box.com/training-and-simulation/. [Data uzyskania dostępu: 17 maja 2020].

[124] CXC Simulations, „Motion Pro II Racing Simulator,” CXC Simulations, [Online]. Available:

https://www.cxcsimulations.com/. [Data uzyskania dostępu: 12 kwietnia 2020].

[125] K. Park, S. Han i H. Lee, „A Study on Shared Steering Control in Driving Experience

Perspective: How Strong and How Soon Should Intervention Be?,” arXiv, 16 września 2018.

[126] H. Harrison, „Multi-Level Dynamical Parameter Estimation: Hypothesis Testing with

Dynamical Systems,” University of Connecticut, 9 czerwca 2017.

Page 190: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

190

[127] Vehicle Physics, „@VehiclePhysics,” Vehicle Physics, [Online]. Available:

https://twitter.com/VehiclePhysics. [Data uzyskania dostępu: 19 maja 2020].

[128] White Smoke, „Traction ellipse and tyre force,” White Smoke, [Online]. Available:

http://white-smoke.wikifoundry.com/page/Traction+ellipse+and+tyre+force. [Data uzyskania

dostępu: 25 maja 2020].

[129] cars-data.com, „Cars-data,” cars-data.com, 2019. [Online]. Available: https://www.cars-

data.com/. [Data uzyskania dostępu: 25 maja 2020].

[130] M. Sheridan, „Ford Focus with ESP,” 21 kwietnia 2009. [Online]. Available:

https://www.youtube.com/watch?v=YjvNxzT31Wc. [Data uzyskania dostępu: 25 maja 2020].

[131] Oracle, „Java,” Oracle, [Online]. Available: https://www.java.com. [Data uzyskania dostępu:

6 października 2020].

[132] The Apache Software Foundation, „Apache Maven Project,” The Apache Software

Foundation, [Online]. Available: https://maven.apache.org/. [Data uzyskania dostępu: 27

maja 2020].

[133] A. Somov, „SnakeYaml,” [Online]. Available:

https://bitbucket.org/asomov/snakeyaml/src/master/. [Data uzyskania dostępu: 27 maja 2020].

[134] C. Evans i O. Ben-Kiki, „YAML Ain't Markup Language,” [Online]. Available:

https://yaml.org/. [Data uzyskania dostępu: 27 maja 2020].

[135] The Apache Software Foundation, „Commons Math: The Apache Commons Mathematics

Library,” The Apache Software Foundation, 2016. [Online]. Available:

http://commons.apache.org/proper/commons-math/. [Data uzyskania dostępu: 6 października

2020].

[136] D. Petrecki, „Integrated Driver Support System,” 14 czerwca 2018. [Online]. Available:

https://github.com/dpetrecki/research-idss. [Data uzyskania dostępu: 21 października 2020].

[137] R. Rajamani, „Lateral Vehicle Dynamics,” w Vehicle Dynamics and Control, Boston,

Springer, 2011, pp. 15-46.

[138] ISO/TC 22 Road vehicles Technical Committee, „Road vehicles — Test procedure for a

severe lane-change manoeuvre,” września 1975. [Online]. Available:

https://www.iso.org/standard/9494.html. [Data uzyskania dostępu: 18 października 2020].

[139] A. Reński, „Identification of Driver Model Parameters,” International journal of

occupational safety and ergonomics, pp. 79-90, 01 lutego 2001.

[140] The Apache Software Foundation, „Class PolynomialCurveFitter,” 15 maja 2014. [Online].

Available: https://commons.apache.org/proper/commons-math/javadocs/api-

Page 191: ZINTEGROWANY ALGORYTM WSPOMAGANIA DECYZJI ... - wiz…

191

3.3/org/apache/commons/math3/fitting/PolynomialCurveFitter.html. [Data uzyskania

dostępu: 16 lipca 2020].

[141] Python Software Foundation, „Python 3.0,” Python Software Foundation, [Online].

Available: https://www.python.org/. [Data uzyskania dostępu: 18 marca 2020].

[142] Google inc., „TensorFlow,” Google inc., [Online]. Available: https://www.tensorflow.org/.

[Data uzyskania dostępu: 18 marca 2020].

[143] The TensorFlow Authors, „Load images,” 10 września 2020. [Online]. Available:

https://www.tensorflow.org/tutorials/load_data/images. [Data uzyskania dostępu: 20

października 2020].

[144] Microsoft Corp, „Dokumentacja języka C#,” Microsoft Corp, [Online]. Available:

https://docs.microsoft.com/pl-pl/dotnet/csharp/. [Data uzyskania dostępu: 18 marca 2020].

[145] S. Osowski, Sieci neuronowe w ujęciu algorytmicznym, Warszawa: WNT, 1997.

[146] W. Kahan, „IEEE Standard 754 for Binary Floating-Point Arithmetic,” Lecture Notes on the

Status of, 1 października 1997.

[147] C. Chui i G. Chen, „Kalman Filter: An Elementary Approach,” w Kalman FIltering with

Real-TIme Applications, Berlin, Springer, 2009, pp. 20-32.

[148] B. de Finetti, M. C. Galavotti, H. Hosni i A. Mura, „Bayes’ Theorem,” w Philosophical

Lectures on Probability, Dordrecht, Springer, 2008, pp. 31-45.

[149] D. Ashlock, Evolutionary Computation for Modeling and Optimization, Nowy Jork: Springer,

2006.

[150] S. Siddabattuni i T. Schuman, „Dielectric spectroscopy and stimulated current analyses of

polymer-ceramic nanocomposites,” w Spectroscopy of Polymer Nanocomposites, Nowy Jork,

William Andrew, 2016, pp. 276-311.

[151] H. Lee, H. Kim i S. Choi, „Driving Skill Modeling Using Neural Networks for Performance-

based Haptic Assistance,” arXiv, 12 sierpnia 2018.

[152] S. Nan, S. Danfeng i Y. Dejun, „An Integrated Stability Control System for Decentralized

Drive Electric Vehicles,” w 36th Chinese Control Conference (CCC), Dalian, 2017.