Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:mindstorms:lab:lab_plnxt_podstawy [2010/02/06 20:50] bejo |
pl:mindstorms:lab:lab_plnxt_podstawy [2019/06/27 15:50] (aktualna) |
===== Budowa robota ===== | ===== Budowa robota ===== |
| |
Prowadzący powinien udostępnić złożonego robota TriBot lub jego uproszczoną wersję (wg. instrukcji QuickStart). Po wybraniu algorytmu do implementacji (poniżej), proszę zwrócić uwagę, czy robot ma odpowiednie sensory. Jeśli nie, proszę dokonać odpowiednich modyfikacji. | Prowadzący powinien udostępnić złożonego robota TriBot lub jego uproszczoną wersję (wg. instrukcji QuickStart). Przed implementacją każdego algorytmu proszę zwrócić uwagę czy robot ma odpowiednie sensory. Jeśli nie, proszę dokonać odpowiednich modyfikacji. |
| |
| ===== Podstawy programowania ===== |
| |
| Jeśli nie udało się Państwu wykonać tego w zeszłym tygodniu, proszę rozpocząć zajęcia od zaimplementowania dwóch poniższych zadań. |
| |
| ==== Algorytm 1 ==== |
| Robot porusza się dowolnie wewnątrz obszaru ograniczonego czarną linią (można wykorzystać planszę testową). Nie może poza niego wyjechać! Gdy najedzie na czarną linię, powinien zawrócić -- niekoniecznie o 180 stopni, żeby było ciekawiej. Podpowiedź: można użyć formuły typu "//Angle is 120 + random(120)//". |
| |
| ==== Algorytm 2 ==== |
| Robot podąża wzdłuż czarnej linii (można wykorzystać planszę testową). Nie może jej zgubić! Gdy napotka przeszkodę, powinien się zatrzymać i poinformować o problemie sygnałem dźwiękowym. Po usunięciu przeszkody robot powinien kontynuować jazdę. |
| |
===== Program + komendy z konsoli ===== | ===== Program + komendy z konsoli ===== |
nxt_close. | nxt_close. |
</code> | </code> |
| |
===== Szablon programu ===== | ===== Szablon programu ===== |
| |
start :- | start :- |
nxt_open, | nxt_open, |
thread_create(my_actions,_,[detached(true)]). | nxt_goal(NAZWA_ROBOTA, my_actions). |
| |
my_actions :- (...). | my_actions :- (...). |
| |
Nowy wątek tworzy się zadając mu pewien cel (tutaj //my_actions/0//) oraz ustawiając opcje. Opcja detached powoduje automatyczne odzyskiwanie zasobów używanych przez wątek po zakończeniu jego pracy. | Nowy wątek tworzy się zadając mu pewien cel (tutaj //my_actions/0//) oraz ustawiając opcje. Opcja detached powoduje automatyczne odzyskiwanie zasobów używanych przez wątek po zakończeniu jego pracy. |
| |
===== Przykład algorytmu ===== | ===== Przykład algorytmu ===== |
| |
* uwagi dotyczące funkcjonalności PLNXT. | * uwagi dotyczące funkcjonalności PLNXT. |
| |
[[pl:dydaktyka:piw2009:wykaz_sprawozdan|Wykaz sprawozdań]] | [[pl:dydaktyka:piw:2010:wykaz_sprawozdan|Wykaz sprawozdań]] |