====== Labolatorium z PLNXT (2) ====== **Autorzy**: Michał Chalupczak, Słowamorir Widlarz, Grzegorz Dydo-Rozniecki **Robot**: Jasio ---- ===== Cel labolatorium ===== Na laboratoriach staraliśmy się zaimplementować jeden z algorytmów zaproponowanych w opisie: **Śledzenie linii**. Robot umieszczony na planszy testowej dojeżdża do grubej czarnej linii i od tego momentu stara się poruszać wzdłuż tej linii. Po wciśnięciu sensora dotyku kończy pracę. ===== Wykonanie ćwiczenia ===== :- consult('plnxt.pl'). start:- nxt_open, nxt_light_LED(activate, force), go_on_buddy, trigger_create(_,pushed,nxt_stop). go_on_buddy :- nxt_go(500), trigger_create(_,line,find_way). find_way :- nxt_stop, sleep(0.1), nxt_go(300,50), nxt_stop, sleep(0.1), nxt_turn(300, 160), nxt_go_sec(300, 2), trigger_create(_,line,tracking). tracking :- nxt_stop, sleep(0.1), nxt_turn(300, -160), go_on_buddy. line :- nxt_light(Value,force), Value < 20. pushed :- nxt_touch(Value,force), Value=1. ===== Problemy ===== * Za każdym razem po wykonaniu programy interpreter Prologa sygnalizował ostrzeżenie: //"Warning: [Thread 4] Thread running (...) died on exception: Out of global stack"//, a po wyjściu z Prologa wyjątek: //"1 threads wouldn't die"//. Zapewne jest to spowodowane błędem w implemetacji PLNXT, choć z punktu widzenia wykonania ćwiczenia jest nieszkodliwe. * Skręcanie robota o 90 stopni nie ma "okrągłej" wartości i bardzo ciężko wymierzyć dokładnie obrót o kąt prosty. * Dwa razy Jaś zaczął niespodziewanie wydawać z siebie wysoki, cichy dźwięk, który ustawał po wyłączeniu i ponownym włączeniu robota.