Laboratorium 5
Prezentacja robota:
Na ostatnich zajęciach współpracowaliśmy z Bolkiem. Wyglądał on podobnie jak jego poprzednicy, różnił się tylko tym że dodatkowo miał wbudowany czujnik światła, dzięki któremu wiedział po jakim kolorze się porusza no i był w sumie trochę bardziej przerażający . Dodatkowo mieliśmy dostępną planszę na której była przestrzeń ograniczona czarną linią oraz kilka innych elementów, między innymi czerwone koło oznaczające klucz do wyjścia z zamkniętego obszaru.
Zdjęcia Bolka:
Projektowanie algorytmów:
Na dzisiejszych zajęciach po raz drugi projektowaliśmy algorytmy przy wykorzystaniu interfejsu programistycznego PLNXT. Tym razem do labolatorium dołączona była dodatkowa instrukcja o triggerach i timerach, przy wykorzystaniu których można pisać o algorytmy dużo bardziej zaawansowane niż na poprzednich zajęciach. W tym tygodniu nie mieliśmy żadnych problemów jeśli chodzi o połączenie i komunikację z Bolkiem więc od razu wzięliśmy się za pisanie algorytmu.
Algorytm
Do wyboru mieliśmy kilka algorytmów takich jak: „więzień”, „sprzątacz”, „śledzenie linii”, „co przybyło?”. Postanowiliśmy wybrać algorytm „więzień”, który polegał na zatrzymaniu Bolka w obrębie czarnej linii do póki nie odnajdzie klucza którym było pole oznaczone kolorem czerwonym. Po zdobyciu klucza Bolek mógł zwiać z więzienia.
:-consult('plnxt.pl').
start:-
nxt_open,
nxt_light_LED(activate,force),
go_on_buddy.
go_on_buddy:-
nxt_go(200),
trigger_create(_,linia,[nxt_stop,wycofaj]),
trigger_create(_,klucz,[nxt_stop,wyjedz]).
wycofaj:-
nxt_go_cm(-200,20),
nxt_rotate(200,90),
go_on_buddy.
wyjedz:-
nxt_go_cm(900, 100).
linia:-
nxt_light(Value,force),
Value<30.
klucz:-
nxt_light(Value,force),
Value>55,
Value<60.
Plik algorytmu: wiezien.pl
Integracja i testowanie:
Po stworzeniu algorytmów rozpoczęliśmy ich testowanie. Najpierw jednak postanowiliśmy przetestować czujniki jakie Bolek posiadał. Czujnik ultradźwiękowy spisywał się znakomicie, lecz jeśli chodzi o czujnik światła to z tym mieliśmy niestety nie małe problemy.
Problemy:
Przy testowaniu czujnika światła mieliśmy dziwny problem. Czujnik się uruchamiał co sygnalizował zapaleniem diody, natomiast nie chciał nam rozpoznawać kolorów. Czasami czujnik wykrywał kolor który chcieliśmy a czasami po prostu tak jak by nie reagował na żaden z kolorów. Problemu tego tak naprawdę nie udało nam się rozwiązać.
Wnioski:
Propozycje rozszerzenia wiki: