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: {{:pl:dydaktyka:piw2009:sprawozdania:franek_ex1.jpg|}} 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.