Sprawozdanie z zajęć laboratoryjnych realizowanych przez: Świerkosz(!), Wróbel, Kowalski.
Realizacja zadań
Po przyjściu na stanowisko zastaliśmy zbudowanego robota, dzięki czemu mogliśmy od razu przystąpić do realizowania właściwej części laboratorium.
Algorytm numer 1
:- consult('plnxt.pl').
% uruchamia algorytm
start :-
nxt_open,
nxt_light_LED(activate),
trigger_create(_,check_track,[turn]),
nxt_go(300).
% "patrzy pod koła"
check_track :-
nxt_light(Light,force),
Light < 20.
% wykonuje obrót i jedzie dalej
turn :-
nxt_stop,
Angle is 120 + random(120),
nxt_rotate(300, Angle),
trigger_create(_,check_track,[turn]),
nxt_go(300).
% zatrzymuje robota
stop :-
trigger_killall,
nxt_stop,
nxt_close.
Algorytm numer 2
:- consult('plnxt.pl').
% uruchamia algorytm
start :-
nxt_open,
trigger_create(_,check_distance,[turn]),
nxt_go(300).
% sprawdza odległość od potencjalnej przeszkody
check_distance :-
nxt_ultrasonic(Distance,force),
Distance < 20.
% wykonuje obrót i jedzie dalej
turn :-
nxt_stop,
nxt_rotate(350,90),
trigger_create(_,check_distance,[turn]),
nxt_go(300).
% zatrzymuje robota
stop :-
trigger_killall,
nxt_stop,
nxt_close.
Uwagi do laboratorium
Uruchomienie robota
Pierwszym napotkanym przez nas problemem była nadgorliwość poprzedniej grupy w edytowaniu źródeł oprogramowania. Na stronie Konfiguracja stanowiska do pracy z NXT brak ostatniej linijki kodu we fragmencie, który należy zmodyfikować może sugerować potrzebę jej usunięcia.
% Specify the device files.
nxt_serial_device(write,'/dev/rfcomm2').
nxt_serial_device(read,'/dev/rfcomm2').
nxt_actions_connection_type(bt). % brakująca linijka
Usunięcie wskazanej linijki skutkuje niemożliwością uruchomienia jakiegokolwiek przykładu.
Działanie robota
Robot nie obraca się dokładnie o zadany kąt, dlatego próby realizacji omijania przeszkód kończyły się czasem dziwnym kątem skrętu.
Konsola
Podczas pracy nad poszczególnymi algorytmami wiele prób kończyło się niepowodzeniem. Zatrzymanie algorytmu nie powodowało zakończenia wątków i potrzebny był restart prologa.
Nawigacja po stronach
Działanie menu po lewej stronie nie jest do końca jasne dla nas. Przydałaby się lepsza nawigacja pomiędzy stronami wiki, tak aby nie marnować czasu na szukanie materiałów potrzebnych do realizacji ćwiczenia.
Linkowanie do strony
W instrukcji jest napisane, aby podlinkować niniejsze sprawozdanie na stronie
07-gienek, ale nie jest to możliwe, ze względu na niedostateczny poziom uprawnień na wiki.