Labolatorium

Podczas laboratorium zapoznaliśmy się z przykładami algorytmów oraz ze sposobem działania wątków. Zaprojektowaliśmy oraz zaimplementowaliśmy algorytm, dzięki któremu robot na zmianę zatrzymywał się i ruszał zmieniając kierunek jazdy po wykryciu odpowiedniego sygnały dźwiękowego.

Implementacja algorytmu Panikarz

:- consult('../plnxt.pl').
 
start :-
    nxt_open,
    thread_create(go_on_buddy,_,[detached(true)]).
 
go_on_buddy :-
    go,
    trigger_create(_, touch, stop).
 
go :-
    nxt_go(200),
    trigger_create(_, clap, runaway, 1).
 
runaway :-
    nxt_rotate(350, 180, force),
    nxt_go_sec(400, 5),
    timer_create(_, 6, go).
 
clap :-
    nxt_sound(Value,force),
    Value > 40.
 
touch :-
    nxt_touch(Value, force),
    Value is 1.
 
stop :-
    trigger_killall,
    nxt_stop,
    nxt_close.

Napotkane problemy

Na samym początku laboratorium mieliśmy duże problemy z rozpoczęciem pracy, ponieważ nie mogliśmy połączyć robota z komputerem. Sukces przyniosła dopiero interwencja prowadzącego. Jednym z problemów był problem z BT - pomogła zmiana portu oraz restart systemu.

Warto także sprawdzić czy w robocie jest włączony Bluetooth. Czasami Bluetooth sam się wyłącza (być może oszczędzanie energii) i tym samym płata ogromnego psikusa osobom próbującym wykonać laboratorium.

Dodatkowym czynnikiem wzmagającym występowanie problemów związanych z komunikacją, było przekonanie iż poprzednia grupa pracująca przy tym samym stanowisku używała tego samego robota, a tym samym brak potrzeby re konfiguracji pliku plnxt.pl. Czego objawem jest przy skonsultowaniu powyższego pliku i wydaniu komendy nxt_open. w interpreterze prolog'a komunikat: ?- nxt_open. ERROR: source_sink `/dev/rfcomm3' does not exist (Host is down) Exception: (10) open('/dev/rfcomm3', write, _L182, [buffer(false)]) ?.

Dopiero po rozwiązaniu wszystkich problemów związanych z przygotowanie stanowiska pracy mogliśmy przystąpić do implementacji zadanych algorytmów. Niestety czas który pozostał do końca laboratorium pozwolił nam tylko na opracowanie jednego, którego kod źródłowy zamieściliśmy powyżej.

pl/dydaktyka/piw/2009/sprawozdania/piw20090422-14d.txt · ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0