Prolog
Celem naszym było zapoznanie z interfejsem programistycznym PLNXT i budowa prostych algorytmów.
Epejsodion I
Jako pierwsza grupa mieliśmy dość skomplikowane zadanie, gdyż poza napisaniem algorytmów musieliśmy dodatkowo zbudować robota zgodnie z instrukcją. W związku z tym, że była to sprawa sprzętowa, zajęło nam to dość dużo czasu.
W trakcie budowy szef zespołu próbował połączyć komputer z lego przez bluetooth. Niestety próby sparowania urządzenia i użycia wiedzy na temat połączenia przez bluetooth pod linuksem nie przyniosły rezultatu. Po dłuższej chwili dzielny zespół zauważył instrukcję jak należy komunikować urządzenie z komputerem i przystąpił do pracy. Budowa robota dobiegała końca, gdy szef zespołu wraz ze swym pomocnikiem testowali pracę w powłoce SWIPL. Wszystko przebiegało dobrze. Następnie grupa przystąpiła do testowania prostych programów. Waleczny robot Agatka zaczął poruszać się o własnych siłach, a zespół dzielnie go wspierał. Po napisaniu kilku prostych programów przystąpiliśmy do pisania algorytmu. Długie zmagania z konstrukcją robota pożarły nasz cenny czas i nie pozwoliły nam zrealizować obu algorytmów. Udało nam się zaimplementować tylko drugi algorytm.
Stasimon I
kod programu prezentuję się następująco:
Code Text
:- consult('plnxt/plnxt.pl').
start :-
nxt_open,
go.
go :-
trigger_create(_,check_distance,[dist_event]),
nxt_go(300).
check_distance :-
nxt_ultrasonic(Distance,force),
Distance < 15.
dist_event :-
nxt_stop,
nxt_rotate(500,100 - random(300)),
go.
stop :-
nxt_stop,
nxt_close.
A to nasz waleczny żołnierz Agatka:
Epejsodion II
Nie tylko w pełni zaimplementowaliśmy algorytm, ale również dodaliśmy również możliwość zatrzymania szalonego robota po wpisaniu w konsoli stop.
Eksodos
Udało nam się zrealizować zamierzenie, a przy tym bawić. Nawet Prolog okazał się nie taki straszny jak się wydawał.
Niestety na około 10 testów robota raz zdarzyło się, że nie zauważył przeszkody i postanowił staranować monitor. Na szczęście nie udało mu się to, gdyż na czas wpisaliśmy stop.
Uwagi
Jak do tej pory nie mieliśmy żadnych problemów z PLNXT za wyjątkiem połączenia z robotem. Praca z nim wydawała się łatwa i przyjemna.
Niewątpliwie dużym plusem byłaby większa liczba prostych i mniej prostych programów, dzięki którym łatwiej byłoby zapoznać się ze składnią i sposobem rozwiązywania problemów.