# SIU -- Projekt (etap 1)
W ramach 1. etapu projektu przygotowano planszę dla agentów oraz scenariusz opisujący manewry. Oryginalna plansza oraz opis scenariuszu w formacie CSV znajduje się w załączniku.
## Skład zespołu
- Bartłomiej Baran
- Marcel Jarosz
- Filip Lew
- Przemysław Rozwałka
## Plansza

## Opis
Tor składa się z ośmiu zakrętów oraz trzech dłuższych prostych. Ruch odbywa się zgodnie z kierunkiem ruchu wskazówek zegara.
Kolory na planszy zostały zakodowane zgodnie z wytycznymi dot. projektu: kanał czerwony oraz niebieski kodują oczekiwany wektor prędkości w danym pikselu, natomiast kanał zielony definiuje koszt za poruszanie się wbrew nakazanego kierunku jazdy.
<img src="https://i.imgur.com/U8Y2ooY.png" style="zoom: 40%">
Wykorzystano wartości prędkości (tj. długość kodowanego wektora) w zakresie 15-50, przy czym najniższe zostały użyte do opisu zakrętów. W sposób analogiczny wyznaczono wartości kary w zakresie 150-255 za poruszanie się niezgodnie z sugerowanym kierunkiem - niższe kary umieszczono na zakrętach, w celu umożliwienia większej swobody wykonywania manewrów.
Trawnik oznaczony został kolorem RGB: [200; 255; 200], co odpowiada postojowi w miejscu z maksymalną karą.
## Scenariusz
Przygotowano scenariusz dla pojedynczego agenta, złożony z ośmiu manewrów.

Dane o scenariuszu zapisano w formacie CSV, zgodnie z założeniami projektowymi:
```csvpreview
id_scenariusza,liczba_agentow,xmin,xmax,ymin,ymax,xg,yg
0,1,874,1318,201,373,1666,400
0,1,1610,1770,382,583,1615,750
0,1,1176,1521,689,841,940,700
0,1,793,996,555,720,650,519
0,1,570,754,455,590,488,618
0,1,370,546,557,765,186,700
0,1,137,323,239,571,373,130
0,1,478,629,140,263,700,283
```
Po poprawkach (odwrócenie osi Y):
```csvpreview
id_scenariusza,liczba_agentow,xmin,xmax,ymin,ymax,xg,yg
0,1,874,1318,707,879,1666,680
0,1,1610,1770,497,698,1615,330
0,1,1176,1521,239,391,940,380
0,1,793,996,360,525,650,561
0,1,570,754,490,625,488,462
0,1,370,546,315,523,186,380
0,1,137,323,509,841,373,950
0,1,478,629,817,940,700,797
```
## Uzasadnienie
<!-- odcinek prosty max v
wolno na zakrętach
wolniej przed zakrętami
mniejsza kara na zakrętach - większa swoboda przy skręcaniu
większa kara na prostych odcinkach - mniejsza swoboda
... -->
Tor podzielono na segmenty o sugerowanych wektorach prędkości - ponieważ pokonanie zakrętu wymaga płynnej zmiany kierunku ruchu oraz wstępnego zmniejszenia wartości prędkości, liczba segmentów jest większa w takich miejscach. Trasa łączy ze sobą łagodne łuki oraz ostre zakręty oddzielone długimi prostymi. Oczekiwanym rezultatem treningu agentów jest optymalizacja toru jazdy na złożonych odcinkach, co jest możliwe za sprawą niższych kar w dynamicznych fragmentach toru.