Spis treści

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 8-). 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:


Wnioski:


Propozycje rozszerzenia wiki: