Spis treści

Sprawozdanie z laboratorium (zapoznanie z PLNXT)

Przygotowanie do pracy

Pierwszym etapem było przeglądnięcie instrukcji do PLNXT. Następnie zgodnie z zaleceniem prowadzącego ściągnęliśmy najnowszy plik z modułem PLNXT. Podpięliśmy bluetooth do komputera oraz wykryliśmy nasz robot - Dyzio. Sparowaliśmy naszego robota z komputerem i zaczęliśmy edycję pliku plnxt.pl dodając poniższa linijkę:

nxt_robot_definition(dyzio,'/dev/rfcomm4',bt,off,on_demand,17.5,11,'C','B','A',false,'S1','S2','S3','S4').

Budowa robota

Dokonaliśmy modyfikacji robota tak aby wszystkie sensory jakie mieliśmy do dyspozycji znalazły się na jego „pokładzie”.

Przebieg laboratorium

Zgodnie z poleceniem zamieszczonym na stronie lab_plnxt_zapoznanie przygotowaliśmy stanowisko według instrukcji lab215. W wyniku późniejszych trudności wielokrotnie powtarzaliśmy opisane tam kroki oraz stosowaliśmy się do wskazówek zawartych w sekcji „Rozwiązywanie problemów”. Po pierwszym przygotowaniu stanowiska postanowiliśmy sprawdzić konfigurację (jak zaleca instrukcja konfiguracji stanowiska) korzystając ze strony pierwsze_kroki. Wydaje się nam, że to w tym miejscu popełniliśmy błąd.

Przy próbie uzgodnienia pliku plnxt na konsolę było wypisywane kilka błędów - postanowiliśmy więc uzgadniać plik dwa razy, przy drugim uzgodnieniu błędów już nie było. Niestety powodowało to zawieszanie się predykatu nxt_open. Sporo czasu nam zajęło dojście do tego, że mimo błędów plik plnxt należy uzgodnić tylko raz.

Następnym problemem były komunikaty o błędach wypisywane podczas uzgadniania predykatu nxt_open. Wielokrotnie powtarzaliśmy konfigurację stanowiska, nawet resetowaliśmy komputer. Ostatecznie okazało się, że mimo wypisania błędu o braku połączenia, połączenie było nawiązywane.

Po nawiązaniu połączenia z robotem przetestowaliśmy większość poleceń (przemieszczanie, odczyt sensorów) wpisując je w powłoce prologu (praca_w_powloce_swipl). Przetestowaliśmy również kilka programów ze strony pierwsze_kroki: otwieranie_polaczenia, poruszanie, opcja_force, odczyt_sensorow1, timer

Ostatecznie wróciliśmy do instrukcji lab_plnxt_zapoznanie i wykonaliśmy jescze do_czego_w_takim_razie_przydaje_sie_force. Niestety nie zdążyliśmy wykonać ostatniego punktu implementacja_algorytmu

Wnioski, uwagi, spostrzeżenia

Głównym problemem na zajęciach było nawiązanie komunikacji przy pomocy interfejsu bluetooth. Jak udało nam się ustalić z innymi grupami nie tylko nas dopadł ten problem. Właściwie brak połączenia pozostał niewyjaśnionym problemem, gdyż coś, co raz działa, a raz mimo braku jakichkolwiek zmian nie działa wydaje się mocno nieracjonalne. Możliwe, że w wyniku jakiś zaniekłóceń tylko 2 grupy jednocześnie mogły podjąć wyzwanie zaprogramowania zaplanowanych na zajęcia algorytmów i ich sprawnego przetestowania.

Po wielu niepowodzeniach doszliśmy do wniosku, że może gdyby zajęcia trwały dłużej udało by się jakoś rozwiązać problemy i przystąpić do zasadniczej części zajęć.