Sprawozdanie 3
Robot: Henio
Data Wykonania: 19.05.2010 g. 9:30
Autorzy: Grzegorz Wojciechowski, Kacper Zieliński, Piotr Bator
Wstęp
Rozwiązano problem z połączeniem robota przez bluetooth. Problemem był
brak wpisywania polecenia plnxt ssty <nazwa_robota> i zła nazwa robota
w pliku plnxt.pl
Poprawna metoda połączenia z robotem:
otwarcie pliku poleceniem emacs plnxt.pl
zmiana nazwy robota w pliku plnxt.pl
nawiązanie połączenia poleceniem ./bin/plnxt ssty <nazwa_robota>
Test połączenia:
otwarcie połączenia poleceniem nxt_open
wydanie komendy jechania nxt_go_cm(800,40).
Ponieważ na poprzednich zajęciach nie udało się nam nawiązać
połączenia z robotem rozpoczęliśmy od zapoznania się ze środowiskiem
PLNXT
Algorytm 1
Robot jeździ wewnątrz elipsy, zawracając po napotkaniu jej krawędzi.
Wykorzystaliśmy sensor jasności
start:- nxt_open, drive2(100,1).
drive(X,Y) :- nxt_light(Z),Z>20,
nxt_go_cm(X,Y), drive(X,Y).
drive(X,Y) :- nxt_light(Z),Z<20,
nxt_rotate(100,120), drive(X,Y).
Algorytm 2
Następnie próbowaliśmy nauczyć robota reagowania na dźwięk.
Zmodyfikowaliśmy w tym celu kod następująca:
start:- nxt_open, drive2(100,1).
drive(X,Y) :- nxt_light(Z),Z>20,
nxt_go_cm(X,Y), drive(X,Y).
drive(X,Y) :- nxt_light(Z),Z<20,
nxt_rotate(100,120), drive(X,Y).
drive(X,Y) :- nxt_sound(U), U>15,nxt_rotate(100,90), nxt_stop.
drive2(X,Y) :- nxt_sound(Z),Z>50,
nxt_go_cm(X,Y), drive(X,Y).
drive2(X,Y) :- nxt_sound(Z),Z<50,
nxt_rotate(100,120), drive(X,Y).
Kod nie działał prawidłowo, robot nie reagował na dźwięk, jednak
zabrakło nam czau na rozwiązanie problemu, może to być problem z
niewłaściwym progiem głośności.
Wnioski
Środowisko PLNXT zwiększa możliwości kontrolowania robota.
Powrót do poprzednich zadań ograniczył nas czas na pisanie algorytmów
tych zajęć, udało się jednak napisać obsługę sensora jasności i
rozpocząć pracę z sensorem głośności.
Plik z algorytmem alg1.pl