Lab Prolog NXT API

Cel

Celem laboratorium jest wykorzystanie PlNXT (API w języku Prolog) w tworzeniu programów sterujących robotem Mindstorms NXT.

Wstęp

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ą.

Przebieg ćwiczenia

Wykorzystując PlNXT zaimplementujcie Państwo jeden z poniższych algorytmów. Mile widziany swój pomysł (oczywiście odpowiednio skomplikowany).

Algorytm I - Poszukiwanie piłki

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.

Algorytm II - Omijanie przeszkód

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.

Uwagi

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.

Sprawozdanie

W sprawozdaniu należy zawrzeć:

  • krótki opis algorytmu (co się udało zrobić, czego nie),
  • kod programu,
  • uwagi dotyczące funkcjonalności PlNXT.
pl/mindstorms/lab/lab5.txt · ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0