Celem laboratorium jest wykorzystanie PlNXT (API w języku Prolog) w tworzeniu programów sterujących robotem Mindstorms NXT.
PlNXT składa się z czterech modułów:
Proszę pobieżnie zapoznać się z dokumentacją:
Powinniście mieć Państwo do dyspozycji robota TriBot. Proszę zapoznać się z jego opisem. Jeśli wszystko jest na miejscu, poprzednia grupa nie przywłaszczyła sobie żadnego klocka i można przystąpić do ćwiczenia. ;)
Proszę otworzyć plik test.pl i załadować w SWI Prolog. Analizując plik, proszę obserwować wykonanie. W razie potrzeby posiłkować się dokumentacją.
Wykorzystując PlNXT zaimplementujcie Państwo jeden z poniższych algorytmów. Mile widziany swój pomysł (oczywiście odpowiednio skomplikowany).
Robot przeszukuje jakiś obszar w poszukiwaniu piłki. Np. kwadrat o boku 50 cm albo koło o promieniu 75 cm. Jeśli jej nie znajdzie, wraca do punktu początkowego i przeszukuje obszar jeszcze raz. Po znalezieniu zatrzaskuje szczęki i prezentuje „taniec radości”. Tutaj można wykazać się artyzmem. ;) Na sygnał dźwiękowy przerywa/wznawia poszukiwanie.
Robot przemieszcza się z punktu A do B. Po napotkaniu przeszkody zatrzymuje się i próbuje ją ominąć. Na sygnał dźwiękowy przerywa/wznawia ruch.
Należy zamykać połączenie po wykonaniu programu przy użyciu predykatu nxt_sensomoto:nxt_connection_close/0. Jeśli w wyniku błędu w programie poprawne zamknięcie połączenia nie będzie możliwe, należy wyłączyć i włączyć MindstormsNXT oraz adapter Bluetooth, a także ponownie uruchomić SWI Prolog. W przeciwnym razie mogą wystąpić problemy przy nawiązywaniu ponownego połączenia.
W sprawozdaniu należy zawrzeć: