Sprawozdanie z laboratorium nr 2

  • Robot: Agatka, Henio
  • Data wykonania: 12.05.2010 godz. 9:30
  • Autorzy: Jakub Gorzała, Oskar Jankiewicz, Łukasz Kowalski

Konfiguracja środowiska pracy

Odpowiednia konfiguracja środowiska pracy wydaje się być niepodważalnym fundamentem przystąpienia do pracy na laboratorium. Jak bowiem dokonać implementacji wspaniałych algorytmów nie posiadając medium łączności z robotem? Niestety, to pytanie stało się kwintesencją naszej pracy. Oczywiście postępowaliśmy zgodnie z instrukcją. Mimo usilnych prób połączenia stacji roboczej z robotem poprzez interfejs bluetooth, a także tegoż robota ze stacją, nasze wysiłki spełzły na niczym. Nie pomogło nam zastąpienie Agatki - Heniem. Bowiem i Henio, mimo swoich gabarytów i nieocenionych możliwości złapania piłeczki, odmówił posługi. Ten generalny strajk robotów nie zabił w nas poczucia misji doskonalenia umiejętności z zakresu inżynierii wiedzy. Postanowiliśmy więc skorzystać z doświadczeń kolegów, którzy w sposób bardziej lub mniej skuteczny radzili sobie z podobnym problemem. Niestety bez skutku. Nasza potyczka trwała ponad godzinę. W tym czasie staraliśmy się przemyśleć założenia laboratorium.

Budowa robota

Agatka była robotem zbudowanym w sposób zasadniczo najprostszy. Do mechanizmu nośnego dołączyliśmy sensor światła, tak by skierowany ku dołowi mógł rejestrować zmianę barwy podłoża po którym porusza się robot. Henio, który został nam przekazany zamiennie był już maszyną uzbrojoną we wszystkie sensory i widać było w owej konstrukcji połączenie umysłu ścisłego i humanistycznego zmysłu estetyki ;-)

Implementacja algorytmów

Jako, że nie udało nam się porozumieć z robotem trudno udokumentować nasze dokonania programistyczne… Sama propozycja implementacji algorytmu jest łudząco podobna do tej z przykładu nr 2 zaprezentowanego na stronie laboratorium:

:- consult('sciezka_do_plnxt.pl').
 
start :-
	nxt_open,
	trigger_create(_,check_color,[get_angle(Angle),nxt_rotate(250,Angle,force)]),
	nxt_go(250).

get_angle(Angle) :-
        Angle is 120 + random(120).

check_color :-
	nxt_light(Value, force),
	Value < X. // gdzie X jest arbitralnie dobranym progiem dla potraktowania koloru jako czarny - wartość bliska 0.

Implementacji drugiego algorytmu nie podejmowaliśmy się bez możliwości wypróbowania.

Spostrzeżenia i wnioski

Implementacja funkcjonalności robota za pomocą api PLNXT wydaje się dalece bardziej interesująca, niż korzystanie z graficznego edytora LEGO. Przede wszystkim jest to narzędzie, które pozwala wreszcie poczuć kontrolę nad robotem i wykorzystać mechanizm dedukcyjny prologu w celu nadania maszynie inteligencji. Samo laboratorium stanowiło próbę praktycznego wykorzystania umiejętności programowania w logice.

Uwagi odnośnie PLNXT

Uważamy, że projekt podąża w odpowiednim kierunku. Dość dobra dokumentacja, intuicyjność nazw funkcji i łatwość ich wykorzystania sprawiają, że w środowisku pracuję się łątwo i przyjemnie, o ile w ogóle jesteśmy upoważnieni by wystawiać takie opinie, nie mając okazji przetestowania efektów naszej pracy w praktyce ;-)

A wystarczyło dokładnie przeczytać instrukcje…Weronika T. Furmańska 2010/06/01 13:38 Niemniej jestem pełna uznania dla Panów polotu literackiego.

pl/dydaktyka/piw/2010/sprawozdania/piw20100512-09b.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