To jest stara wersja strony!


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

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 wszystkie programy w ramach niniejszego laboratorium.

Testowanie programu dla 2 robotów

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 przestanie poszukiwać klucza i zatrzyma się. 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.

Zawody robotów

Ten etap laboratorium polega na dostosowaniu zaimplementowanego algorytmu „Więzień” do poniższego szablonu modułu Prolog-a, a następnie przesłaniu pliku z modułem na komputer osoby prowadzącej zajęcia. Nazwa pliku musi być zgodna z formatem NAZWA_ROBOTA.pl, czyli np.: irek.pl

:- module(irek,[
		irek_go/0
		]).
 
:- use_module(../contest_lib).
 
irek_go :-
	% nxt_goal(Robot,Goal).
	% ...
	% po pomyslnym zakonczeniu zadania nalezy wywolac contest_finish(Robot), np.: contest_finish(irek)

Po otrzymaniu od każdej z grup modułu, prowadzący zajęcia ustali pozycje startowe robotów (takie same dla wszystkich zespołów) i uruchomi plik contest.pl ze specjalnie przygotowanego programu. Program wypisze czasy pracy wszystkich robotów, dzięki czemu możliwe będzie wyłonienie zwycięzcy. Nielegalny doping będzie karany dożywotnim wykluczeniem robota z wszelkich zawodów ;)

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.1276005748.txt.gz · ostatnio zmienione: 2019/06/27 15:57 (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