Spis treści

Sprawozdanie 6


Więzień

Prace rozpoczęliśmy od poprawienia kodu więźnia, ponieważ nie udało nam się go dobrze zaimplementować. Ponownie próbowaliśmy zczytać wartości dla poszczególnych kolorów biały, czerwony, czarny.

?
start :-
	write('-- start 0.1 --'),
	nxt_goal(ewka, my_actions).
 
my_actions :-
	nxt_light_LED(passivate),
	gogo.
 
gogo :-
	stop,
	trigger_create(_, check, checked),
	nxt_go(250).
 
check :-
	nxt_light(V, force),
	V < 20.
 
checked :-
	nxt_light(V, force),
	decide(V),
	stop.
 
decide(V) :-
	V < 12,!,
	write('black\n'),
	escape.
 
decide(V) :-
	V >= 12,!,
	write('red\n'),
	escape.
 
escape :-
	Angle is 150 + random(60), 
	nxt_rotate(100, Angle, force),
	gogo.
 
stop :-
	trigger_killall,
	nxt_stop.
 
readcolor :-
	nxt_light_LED(activate),
	nxt_light(V1),
	nxt_light_LED(passivate),
	nxt_light(V2),
	D is V1 - V2,
	write(V1),write(' '),write(V2),write(' '),write(D),write('\n').

Używaliśmy funkcji readcolor do szybkiego odczytu wartości z włączoną i wyłączoną diodą. Próbowaliśmy w różnych miejscach sali. Poniżej przedstawiamy odczytane zakresy wartości dla kilku pobranych próbek.

|-----------------------------------------------
|         |z włączoną diodą |z wyłączoną diodą |
|-----------------------------------------------
|biały    |  61 - 70        |  30 - 44         |
|-----------------------------------------------
|czerwony |  68 - 68        |  28 - 36         |
|-----------------------------------------------
|czarny   |  40 - 43        |  14 - 20         |
|-----------------------------------------------

Możemy wywnioskować, że odróżnić możemy jedynie tylko kolor czarny. Przebudowaliśmy robota, aby zmieniać odległość sensora od podłoża, jednak takie działanie również nie przyniosło efektu, zakresu koloru białego i czerwonego nakładały się.

Kolejny pomysł to taki, aby zamiast koloru czerwonego wykrywać inny kolor (podpatrzyliśmy ten pomysł od kolegów z innej grupy). Tak jak oni wyjęliśmy karty bankomate, legitymacje, karte mpk. Sprawdziliśmy to dla kolorów: pomarańczowy, zielony, niebieski, czerwony(karta IKEA FAMILY). Nasza walka oraz próby na różnych odcieniach nie przyniosły rezultatu. Niestety nie byliśmy w stanie wykonać tego ćwiczenia. Próby połączenia z innym robotem nie zrobiliśmy - najpierw chcieliśmy dobrze zaimplementować algorytm więźnia.


Wnioski i spostrzeżenia