Sprawozdanie 6

  • Robot: Ewka
  • Data wykonania: 09.06.2010 godz. 17:00
  • Autorzy: Agata Krysian, Łukasz Mendakiewicz, Tomasz Skrzypczak

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

  • Nie ma możliwości odróżnienia kolorów. Łatwo jest wykryć tylko kolor czarny. Po laboratorium zastanawialiśmy się jakie wartości zwróciłby kolor szary?
  • Ciężko było rozwiązać ten problem, może zabrakło nam dodatkowej wiedzy? Jeśli tak, to przydatne byłoby podanie linku do wyjaśnienia tego zadania lub naprowadzenia studentów do rozwiązania tego problemu.
  • Pomimo naszych wielkich starań i chęci jest nam przykro z niezadowalającego wyniku naszej pracy.
  • Laboratoria uważamy za bardzo ciekawe, dzięki nim mogliśmy spróbować swoich sił w nowej dziedzinie. Po raz pierwszy mogliśmy praktycznie wykorzystać programowanie w prologu :)

pl/dydaktyka/piw/2010/sprawozdania/piw20100609-17c.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