====== Sprawozdanie z laboratorium (zapoznanie z PLNXT) ====== * Robot: **Dyzio** * Data wykonania: **12.05.2010 godz. 17:00** * Autorzy: **Przemysław Brzeziński, Michał Gamrat, Łukasz Różycki** ===== 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 [[pl:mindstorms:lab:lab_plnxt_zapoznanie]] przygotowaliśmy stanowisko według instrukcji [[pl:mindstorms:lab: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 [[pl:plnxt: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 ([[pl:plnxt:pierwsze_kroki#praca_w_powloce_swipl]]). Przetestowaliśmy również kilka programów ze strony [[pl:plnxt:pierwsze_kroki]]: [[pl:plnxt:pierwsze_kroki#otwieranie_polaczenia]], [[pl:plnxt:pierwsze_kroki#poruszanie]], [[pl:plnxt:pierwsze_kroki#opcja_force]], [[pl:plnxt:pierwsze_kroki#odczyt_sensorow1]], [[pl:plnxt:pierwsze_kroki#timer]] Ostatecznie wróciliśmy do instrukcji [[pl:mindstorms:lab:lab_plnxt_zapoznanie]] i wykonaliśmy jescze [[pl:mindstorms:lab:lab_plnxt_zapoznanie#do_czego_w_takim_razie_przydaje_sie_force]]. Niestety nie zdążyliśmy wykonać ostatniego punktu [[pl:mindstorms:lab:lab_plnxt_zapoznanie#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ęć.