Laboratorium (sterowanie wieloma robotami w PLNXT)

Opis

Cel: testowanie możliwości interfejsu programistycznego PLNXT przez budowę algorytmów sterujących więcej niż jednym robotem jednocześnie.

Środki:

  • zestaw LEGO,
  • plansza testowa,
  • adapter BT,
  • PLNXT.

Przygotowanie stanowiska

UWAGA! Przed rozpoczęciem ćwiczeń należy starannie przygotować swoje stanowisko pracy zgodnie z instrukcją.

Dokumentacja

Warstwa behawioralna: nxt_movement.pdf
Tiggery, timery, zadania (goals): threads.pdf
Wykorzystanie dodatkowych bibliotek SWI Prolog

Budowa robota

Prowadzący powinien udostępnić złożonego robota TriBot lub jego uproszczoną wersję (wg. instrukcji QuickStart). Robot powinien posiadać sensor światła, zwrócony ku dołowi (odległość diody od planszy powinna być jak najmniejsza w celu uniknięcia fałszywych odczytów spowodowanych ingerencją zewnętrznych źródeł światła). UWAGA! Dla celów niniejszego laboratorium sensor światła musi być podłączony do portu nr 3.

Implementacja algorytmu

Proszę zaimplementować algorytm „Więzień” z poprzedniego laboratorium, będą o niego oparte programy w ramach niniejszego laboratorium.

Sterowanie wieloma robotami

Pierwszy etapem laboratorium będzie uruchomienie zaimplementowanego wcześniej algorytmu więzień na 2 robotach jednocześnie. Dodatkowo, znalezienie przez jednego z robotów klucza, tj. czerwonego obszaru, ma spowodować iż drugi również zasygnalizuje dźwiękiem znalezienie klucza i również rozpocznie ucieczkę. Program należy testować na 2 osobnych planszach. W tym celu zespoły powinny nawiązać ze sobą współpracę, tj. dobrać się w pary i na zmianę korzystać z obu robotów oraz plansz.

Komunikacja między robotami

Pary zespołów powinny stworzyć dwa niezależne programy sterujące robotami i rozbudować je o możliwość komunikacji w celu osiągnięcia efektu jak powyżej (do komunikacji najprościej wykorzystać protokół TCP/IP, którego obsługa jest wbudowana w SWI Prolog).

Zakończenie

UWAGA! Prosze nie rozmontowywać robota!

UWAGA! Jeżeli należycie Państwo do ostatniej tego dnia grupy ćwiczeniowej, należy wyciągnąć baterie z robota i przekazać je prowadzącemu do naładowania!

Sprawozdanie

W przypisanej grupie przestrzeni nazw stworzyć stronę, na której umieścić:

  • kod Państwa programów,
  • spostrzeżenia, napotkane problemy, wnioski,
  • uwagi dotyczące funkcjonalności PLNXT.

Wykaz sprawozdań

pl/mindstorms/lab/lab_plnxt_multiple.txt · ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0