Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:mindstorms:studenci:przedmioty:jsi:jsi2008:jsi20090121-09b [2009/02/02 10:58] jsi08 nagłówki |
pl:mindstorms:studenci:przedmioty:jsi:jsi2008:jsi20090121-09b [2019/06/27 15:50] (aktualna) |
| |
**Autorzy**: Michał Chalupczak, Słowamorir Widlarz, Grzegorz Dydo-Rozniecki | **Autorzy**: Michał Chalupczak, Słowamorir Widlarz, Grzegorz Dydo-Rozniecki |
| |
**Robot**: Jasio | **Robot**: Jasio |
| |
---- | ---- |
| |
==== Cel labolatorium ==== | ===== 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 ===== |
| |
| <code prolog> |
| :- 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. |
| |
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 ==== | line :- |
| nxt_light(Value,force), |
| Value < 20. |
| |
FIXME | pushed :- |
| nxt_touch(Value,force), |
| Value=1. |
| </code> |
| |
==== Problemy ==== | ===== 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. | * 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. | * 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. | * Dwa razy Jaś zaczął niespodziewanie wydawać z siebie wysoki, cichy dźwięk, który ustawał po wyłączeniu i ponownym włączeniu robota. |
| |