====== Sprawozdanie z laboratorium ======
* Robot: **Kajtek**
* Data wykonania: **9.06.2010 godz. 15:30**
* Autorzy: **Boisse Dawid, Mlaś Paulina, Woliński Krzysztof**
----
==== Początek ====
Na początku laboratorium zapoznaliśmy się z [[https://ai.ia.agh.edu.pl/wiki/pl:mindstorms:lab:lab_plnxt_multiple|zadaniem do wykonania]].
{{:pl:dydaktyka:piw:2010:sprawozdania:bojza_robot.jpg?450}}
{{:pl:dydaktyka:piw:2010:sprawozdania:bojza_plansza.jpg?450}}
==== Kod programów ====
Na początku napisaliśmy program, który korzystał z wątków:
:- consult('plnxt.pl').
start :-
nxt_goal(kajtek, go_on_buddy).
go_on_buddy :-
nxt_light_LED(activate),
go_go_go.
go_go_go :-
stop,
nxt_go(250),
trigger_create(_,sprawdz, check_more).
sprawdz :-
nxt_light(Value, force),
Value > 41. %bialy
check_more :-
stop,
nxt_go_cm(50,2),
nxt_light(Value, force),
decide(Value).
decide(Value) :-
Value < 30, %czarny
escape.
decide(Value) :-
Value >= 31,
Value < 41. %czerwony
escape :-
nxt_rotate(100, 120, force),
go_go_go.
stop :-
trigger_killall,
nxt_stop.
Niestety program nie działał poprawnie, zmodyfikowaliśmy więc kod:
:- consult('plnxt.pl').
start :-
nxt_goal(kajtek, go_on_buddy).
go_on_buddy :-
write('[GO ]'),
nxt_go_cm(300,1),
szukaj.
szukaj :-
write('szukam - '),
nxt_light(Value,force),
write(Value),
decyzja(Value).
decyzja(Value) :-
Value < 35, %czarny
write(' - czarny'),nl,
obrot.
decyzja(Value) :-
Value > 34,
Value < 40, %czerwony
write(' - czerwony'),nl,
uciekaj.
decyzja(Value) :-
Value > 39, %bialy
write(' - bialy'),nl,
nxt_stop,
go_on_buddy.
obrot :-
nxt_rotate(300,120),
write('OBROT'),nl,
nxt_stop,
go_on_buddy.
uciekaj :-
nxt_go_cm(300,50),
write('UCIEKAJ'),nl.
Mimo zmian(zrezygnowaliśmy z wątków) robot niepoprawnie reagował na polecenia, główną przyczyną takiego stanu rzeczy były problemy z dobraniem odpowiednich wartości dla poszczególnych kolorów. Czytnik jest wrażliwy na zmiany takie jak: inne oświetlenie, cień, ruch itp., które uniemożliwiały trafne dobranie wartości kolorów.
==== Wartości kolorów ====
pod szafą Z LED:
bialy: 63,69,49,46,
czerwony: 68
carny:
pod szafą BEZ LED:
biały: 32,27,33,21
czarny: 11,10
czerwony: 23,21,22,26
pod oknem BEZ LED:
biały: 32,25,27,28,33,24
czarny: 16,17,15,16,
czerwony: 25,26,14,16
pod oknem Z LED:
biały: 69
czarny:
czerwony: 67,68,66,
===== Spostrzeżenia, napotkane problemy, wnioski =====
=== Napotkane problemy ===
* Głównym problemem była zbieżność wartości koloru czerwonego i białego, przez co robot czasem na białym polu 'znajdował' czerwony kolor i zaczynał uciekać. Próbowaliśmy zmieniać miejsce, włączać i wyłączać diodę, ale nie dawało to większych rezultatów, gdyż robot sam sobie rzucał cień. Większą część laboratorium spędziliśmy na szukaniu odpowiedniego miejsca, gdzie różnica między kolorami będzie optymalna dla zadania.
* Brak dokumentacji do komunikacji między robotami dla PLNXT, przez co nie udało nam się nawiązać połączenia między robotami.
===== Uwagi dotyczące laboratorium ====
* Bardzo przydatne byłoby wprowadzenie do komunikacji między robotami w PLNXT.
* Pomocna mogłaby być zmiana koloru klucza dla więźnia na inny, tak by różnice wartości zczytywanych dla różnych kolorów były znaczące.