Otrzymaliśmy jak zawsze zbudowanego robota o nazwie Dyzio. Dokonaliśmy kilku drobnych modyfikacji tak aby czujnik światła znajdował się jak najbliżej ziemi, zgodnie z instrukcjami do tego laboratorium.
Następnie rozpoczęliśmy poprawianie algorytmu Więzień, który implementowaliśmy na jednym z wcześniejszych laboratoriów. Jak ustaliliśmy z innymi grupami ucieczka po wykryciu koloru czerwonego była bardzo trudna do zrealizowania. Próbowaliśmy wielu różnych sztuczek:
Niestety żaden z tych pomysłów się nie sprawdził. Spróbowaliśmy więc zamienić kolor czerwony jakimś innym. W tym celu wykorzystaliśmy niebieską kartę bankomatową. Jednak i to nie przyniosło żadnego skutku.
Warto tu przytoczyć naszą obserwację: odczytany z czujnika poziom naświetlenia podczas poruszania się był inny niż dla robota stojącego w miejscu! Jest to bardzo ważna informacja, ponieważ kolor biały od czerwonego/niebieskiego różni się bardzo niewiele. Dotatkowy błąd spowodowany wstrząsami poruszającego się robota sprawia, że zadania wydaje się nam nieosiągalne.
Co więcej, podczas jednej z prób pomiarowych kolor biały i czerwony dały identyczne wyniki (!!) zarówno przy włączonej diodzie jak i przy diodzie wyłączonej.
Poniżej znajduje się kod programu, który wielokrotnie modyfikowaliśmy i ustawialiśmy różne przedziały dla próbek sensora światła
start :- nxt_open, nxt_light_LED(activate), nxt_go(200), trigger_create(_,check_distance,obstacle), trigger_create(_,klucz,uciekaj). check_distance :- nxt_light(Value,force), Value < 48. klucz :- nxt_light(Value, force), Value > 61, Value < 64. obstacle :- nxt_stop, Angle is 120 + random(120), nxt_rotate(300,Angle), start. uciekaj :- nxt_play_tone(1000, 500), nxt_stop, trigger_killall, ucieczka. ucieczka :- nxt_light_LED(activate), nxt_go(150, force), trigger_create(_,czy_uciekl,koniec). czy_uciekl :- nxt_light(Value,force), Value < 48. koniec :- trigger_killall, nxt_play_tone(5000, 500), finish. finish :- nxt_stop, nxt_light_LED(passivate), nxt_close.
Niestety pochłonięci problemem rozwiązania zadania straciliśmy na nie zbyt dużo czasu. Również grupa z którą mieliśmy przeprowadzić komunikacje nie uporała się z implementacją algorytmu więc nie mamy żadnych sensownych źródeł programu.