08.04.2009, godz. 8.00
Skład grupy: Maciej Żywioł, Przemysław Krupiński, robot Franek
Budowa robota
Większa część czasu, przeznaczonego na ćwiczenie, upłynęła nam na próbie zbudowania oryginalnego robota, zamiast standardowego z instrukcji QuickStart. Niestety, próby te spełzły na niczym i zmuszeni byliśmy zbudować maszynę bez udziwnień, wprost według instrukcji.
Nie zrobiliśmy też żadnych zdjęć maszyny, nad która pracowaliśmy. Poniżej natomiast zamieszczamy zdjęcie robota, którego zbudowaliśmy:
Robot posiada podłączone z przodu czujniki światła oraz dotyku, które mieliśmy w planie oprogramować w celu wykonania ćwiczenia.
Podłączenie robota
Nawiązanie połączenia z robotem Frankiem przeszło bez żadnych komplikacji. Rozkazy, które mu wydawaliśmy w ramach testów także wykonywał bez problemów.
Odkryliśmy także przyczynę niepowodzenia budowy alternatywnego robota - wynikało to z podpięcia silniczków z przodu i z tyłu robota w lustrzanym odbiciu, wobec czego po wydaniu komendy „do przodu” robot nie mógł ruszyć z miejsca, gdyż obydwa silniczki chciały jechać w przeciwne sobie strony.
Przeprowadzenie ćwieczenia
Niestety, ze względu na czas stracony na eksperymentach z budową robota, nie zdążyliśmy w pełni opracować algorytmów.
Wczesna wersja pierwszego algorytmu wyglądała następująco:
:- [plnxt.pl].
start :-
nxt_open,
nxt_light_LED(activate),
trigger_create(_,look_down,[turn]),
nxt_go(200).
look_down :-
nxt_light(Light,force),
Light < 20.
turn :-
nxt_stop,
Angle is 120 + random(120),
nxt_rotate(300, Angle),
trigger_create(_,look_down,[turn]),
nxt_go(200).
Niestety, ze względu na kiepską organizację pracy nie udało nam się dokonczyć prac nad algorytmem ani odpowiednio go przetetstować.
Wnioski
Z ćwiczenia przede wszystkim wynieśliśmy naukę, że nie należy mnożyć bytów ponad potrzebę ani zastępować istniejących dobrych rozwiązań niepewnymi eksperymentami, zwłaszcza, jeśli czas na wykonanie określonego zadania jest ograniczony.