1. Snake
1.1 Opis
Celem konkurencji jest zaprojektowanie i zaprogramowanie robota zdolnego do wyszukania i przejechania możliwie najdłuższej ścieżki po planszy 6×6 pól omijając przy tym przeszkody.
1.2 Regulamin
- Maksymalny czas wykonania zadania to 4 minuty,
- Przez pole planszy rozumie się każde skrzyżowanie linii planszy,
- Robot porusza się po białej kwadratowej planszy podzielonej, za pomocą czarnej linii grubości 2cm, na 25 kwadratów (w układzie 5×5), o wymiarze 20x20cm każde, tworzących 36 pól (w układzie 6×6). Na zewnątrz planszy znajduję się strefa o szerokości 20cm, po której robot może się swobodnie poruszać,
- Przez znajdowanie się na polu rozumie się, że pole (skrzyżowanie) jest pod kostką NXT (w kwestiach spornych w tej materii ostateczną decyzję podejmuje jury),
- Robot zaczyna konkurencje w prawym dolnym rogu mapy (w taki sposób, że kostka znajduje się nad prawym dolnym polem), zwrócony do góry (orientację robota definiujemy jako kierunek w którym zacznie się on poruszać w przypadku włączenia silników – jeśli ta definicja jest niewystarczająca za obowiązującą przyjmuje się zadeklarowaną przez kapitana drużyny),
- Na mapie znajdują się 3 sześciany wykonane z klocków lego (dowolnego koloru), stojące na niektórych skrzyżowaniach linii planszy,
- Układ mapy będzie taki sam dla wszystkich drużyn i zostanie wylosowany bezpośrednio przed rozpoczęciem konkurencji,
- Poprzez zadeklarowanie pola rozumie się wydanie sygnału dźwiękowego (pojedyncze piknięcie) podczas znajdowania się na nim,
- Robot sygnalizuje zakończenie konkurencji wydaniem dźwięku (2 szybkie piknięcia)
- Robot może zostać zdyskwalifikowany w następujących momentach:
- Łamanie zasad konkursu,
- Przekroczenie murku bezpieczeństwa jakąkolwiek swoją częścią,
- Wykonywanie dalszych czynności po zasygnalizowaniu zakończenia,
- Wykonywanie dalszych czynności po upływie czasu konkurencji.
- Zadaniem robota jest:
- Zeskanowanie mapy (wykrycie 3 przeszkód) i wyświetlenie jej na ekranie,
- Znalezienie możliwie najdłuższej ścieżki po polach planszy (nie przechodzącej przez przeszkody)
- Przejechanie znalezionej ścieżki
- Definicja ścieżki przejechanej przez robota:
- Na początku konkurencji ścieżka robota jest pusta
- Za każdym razem, gdy robot próbuje zadeklarować pole:
- Jeśli znajduje się na jakimś polu (kostka jest nad skrzyżowaniem), pole to nie występuje jeszcze na ścieżce, nie znajduje (znajdowała) się na nim przeszkoda, a pole jest spójne z dotychczasową ścieżką (jest 4-spójne z ostatnio dodanym polem do ścieżki) – to jest ono dodawane do ścieżki,
- Jeśli robot nie znajduje się na żadnym polu, nie jest ono 4-spójne z ostatnim polem na ścieżce lub pole jest już na ścieżce – nic się nie dzieje (poza naliczeniem odpowiednich punktów karnych)
- Jeśli robot znajduje się na polu zajmowanym (pierwotnie) przez przeszkodę – przejazd uznawany jest za zakończony w tym miejscu
1.3 Punktacja
- +5 punktów za każde wyświetlenie poprawnie lokalizacji przeszkody
- -5 punktów za każde wyświetlenie przeszkody tam, gdzie jej nie ma
- -1 punkt za każde zadeklarowanie pola, które nie może być (ze względu na regulamin) dodane do ścieżki (ale nie więcej niż -5 punktów w sumie)
- +1 punkt za każdy punkt ciągłej, poprawnej ścieżki wyświetlonej na LCD (poprawnej w sensie – bez samoprzecięć oraz nie przechodzącej przez żadną z prawdziwych przeszkód)
- +2 punkty za każdy punkt ciągłej, poprawnej (i zgodnej z wyświetloną na LCD) ścieżki przejechanej przez robota (poprawnej w sensie – bez samoprzecięć oraz nie przechodzącej przez żadną z prawdziwych przeszkód)
- +1 punkt za każdy punkt ciągłej, poprawnej (ale nie zgodnej z wyświetloną na LCD) ścieżki przejechanej przez robota (poprawnej w sensie – bez samoprzecięć oraz nie przechodzącej przez żadną z prawdziwych przeszkód)
Ścieżki analizowane są pole po polu, więc jeśli w którymś miejscu przechodzi ona przez przeszkodę/ma samoprzecięcie to naliczane są punkty za ten odcinek, który był poprawny
1.4 Opis planszy
- Plansza jest kwadratem o boku 152cm na którym centralnie umieszczona jest krata 5×5.
- Krata składa się z 25 pól o wymiarach 20x20cm rozdzielonych czarną linią o grubości 2cm (linia nie wlicza się w rozmiar pola).
- Na zewnątrz kraty znajduję się strefa o bezpieczeństwa o szerokości 20cm. Robot może opuścić planszę na własną odpowiedzialność.
- Przeszkodami są prostopadłościany z klocków Lego o podstawi 6×6 pinów i wysokości 10 klocków (około 10cm).
1.5 Opis wyświetlania informacji na LCD
Zważywszy na ograniczone miejsce na LCD (8×16 znaków) używamy następującej konwencji:
Pola ponumerowane są od lewego górnego rogu od lewej do prawej a następnie z góry na dół, czyli
1__2__3__4__5__6
7__8__9__10_11_12
13_14_15_16_17_18
19_20_21_22_23_24
25_26_27_28_29_30
31_32_33_34_35_36
Format odpowiedzi:
a1,a2,a3|b1,b2,...,b33
gdzie:
a1,a2,a3 – lokalizacje przeszkód (numery, albo „_”, jeśli robot nie chce ich deklarować)
b1,b2,…,b33 – numery kolejnych elementów ścieżki po której robot zamierza jechać (kolejne numery, jeśli ścieżka jest krótsza niż 33 pola, to po prostu kolejnych nie wyświetla)
Przykłady:
------
XX----
------
----X-
------
------
LCD: 7,8,23|1,2,3,4,5,6,12,11,10,9,15,14,13,19,20,21,22,16,17,18,24,30,29,28,27,26,25,31,32,33,34,35,36
Zakładając, że robot poprawnie przejechał po planszy daje mu to:
15pkt (za poprawnie oznaczone przeszkody) + 33pkt (za wyświetloną ścieżkę) + 66pkt (za poprawny przejazd) = 114pkt
Przykładowo ten sam przejazd, jeśli robot niczego nie wyświetli na LCD:
33pkt (za poprawny przejazd, ale bez pokrycia na LCD)