Oto mamy do czynienia z laboratorium, podczas którego problemy techniczne z komunikacją nie zaistniały, tak więc mogliśmy skupić się na implementacji.
Na niepowodzenie implementacyjne „Więźnia” złożyły się problemy z kalibracją sensora oświetlenia w stosunku do kolorów planszy - min. podobieństwo wartości odczytu z sensora bieli i czerwieni. Ponieważ czas jest mocno ograniczony postanowiliśmy przejść do kolejnego algorytmu, naszym zdaniem ciekawszego.
:- consult('plnxt.pl'). start :- nxt_goal(irek, go_on_buddy). o :- nxt_open, start. go_on_buddy :- wall, clean, go_on_buddy. go_on_buddy :- nxt_rotate(100,10), go_on_buddy. wall :- nxt_ultrasonic(Value, force), write(Value), write(','), Value < 35. clean :- nxt_go_cm(200,40), nxt_rotate(200,180), nxt_go_cm(200,40). stop :- trigger_killall, nxt_stop, nxt_close.
Zdołaliśmy podczas zajęć zaimplementować poprawnie i w całości jeden algorytm - Sprzątacz.
Rezultat możemy uznać za zadowalający, czego dowodem jest:
(Youtube) Film ilustrujący działanie robota
Po raz kolejny dość problematyczna okazała się kalibracja sensorów. Na filmie powyżej widać, że np. robot reaguje na czerwoną piłeczkę, która słusznie interpretuje jako element nieporządany podlegający posprzątaniu, ale już zieloną gąbkę w zupełności ignoruje. Niemniej ze sporą skutecznością irek zdał egzamin na wykwalifikowanego konserwatora powierzchni płaskich.
Tutaj zabrakło nie chęci, a czasu ;)
Wydaje się, że ilość pracy przewidziana na laboratorium jest możliwa do zrealizowania w teorii. W warunkach praktycznych narzut na konfigurację sensorów, problemy techniczne z oświetleniem itd, przekładają się na niemożność realizacji wszystkich interesujących algorytmów, w tak krótkim czasie. Z pewnością baza sensorów, a może dobór planszy z kolorami łatwiej-interpretowalnymi przez sensor pozwolą przyspieszyć realizację zadań w przyszłości.