Na początku przeglądnęliśmy instrukcję do laboratorium w celu poznania tematyki oraz zadań do wykonania. Uruchomiliśmy moduł Bluetooth, sparowaliśmy urządzenia.
Udało nam się wykonać z sukcesem skrypt ./bin/plnxt_stty agatka. Jednak zaraz później napotkaliśmy na bardzo uciążliwy błąd - przy wykonywaniu predykatu nxt_open pojawiał się trzykrotnie komunikat: Connection Refused Not Connected. Na Bricku nie było żadnego aktywnego połączenia BlueTooth, przy samym parowaniu urządzeń pojawiał się komunikat Line busy.
Kilkukrotnie próbowaliśmy powtarzać całą procedurę od początku, resetować komputer, bricka, zajrzeliśmy nawet do działu Rozwiązywanie problemów https://ai.ia.agh.edu.pl/wiki/pl:mindstorms:lab:lab215, ale nic nie pomagało.
W końcu spróbowaliśmy wykonać ćwiczenie na starszej wersji oprogramowania PINXT - nie zgłaszała ona żadnych błędów przy kompilacji i łączeniu się z brickiem, ale rezultatem komendy nxt_go(300) było jedynie zablokowanie jednego z kółek (nie można było nim obracać). Co więcej cały interpreter swipl się zawieszał (nie pojawiał się znak zachęty).
Przewróciliśmy nowszą wersję PINXT.
Mniej więcej 20 minut przed końcem laboratorium okazało się, że robot pomimo komunikatu Not Connected i braku aktywnego połączenia BlueTooth jest połączony z komputerem. Udało nam się zrealizować podpunkt testowania komend:
Robot zachowywał się zgodnie ze specyfikacją, wszystkie sensory i ich odczyty działały poprawnie.
Udało się nam wykonać pierwszy złożony program bez żadnych problemów. Mogliśmy go dowolnie dużo razy powtarzać.
Przy przejściu do wykonywania bardziej złożonych programów a dokładniej:
:- consult('sciezka_do_plnxt.pl'). start :- nxt_open, trigger_create(_,check_distance,[nxt_stop,nxt_close]), nxt_go(300). check_distance :- nxt_ultrasonic(Distance,force), Distance < 15.
Robot się zawiesił po jednokrotnym, prawidłowym wykonaniu programu. Interpreter swipl nie zawieszał się, jednak wpisywane komendy w żaden sposób nie sterowały robotem.
Takie zachowanie powtórzyło się dokładnie za drugim razem (udało się nam zresetować połączenie, odzyskać komunikację z agatką i jeszcze raz wykonać program).