Kolejna próba ujarzmienia robota.. Powracamy do zadań z poprzednich laboratoriów, tym razem postanowiliśmy zmierzyć się z algorytmem sprzątacza.
:- consult('plnxt.pl'). start :- write('-- start --'), nxt_goal(franek, sprzatacz). sprzatacz :- nxt_rotate(60,360), trigger_create(_, smiec, sprzataj). smiec :- nxt_ultrasonic(V), V<20. sprzataj :- stop, nxt_go_cm(300,40), nxt_go_cm(-300,40). stop :- trigger_killall, nxt_stop.
Robot nadal zachowywał się nieprzewidywalnie.
Problem sprawiał mu predykat sprzataj. Zamiast przejechać 80 cm do przodu i wrócić podjeżdżał do przodu, zakręcał o losową ilość stopni i dopiero po tym jechał do tyłu. Pomogła zmiana odległości z 80cm na 40cm (???), ale nie na długo. Przy ponownym uruchomieniu całego algorytmu robot znów tańczył po swojemu.