To jest stara wersja strony!


Laboratorium 4

Laboratorium przygotowane w oparciu o MindsotrmsENV .

support: dziedzia@student.agh.edu.pl

Cel

Celem tego laboratorium jest poznanie(porównanie) możliwości tworzenia programów dla LEGO Mindstorms przy pomocy różnych środowisk. Środowiska wykorzystywane w ramach tego ćwiczenia:

  • LEGO Mindsotrms
  • BrixCC
  • Microsoft Robotics Studio

Waszym zadaniem będzie uruchomienie oraz przeanalizowanie dwóch algorytmów (ich implementacji).

Filmiki pokazujące działanie algorytmów:

Przygotowanie stanowiska

Do poprawnego przeprowadzenia ćwiczenia wymagane jest:

  • zbudowany robot TriBot
  • plansza testowa dostarczona z zestawem Lego - postaraj się, aby miała jak najmniej zagięć (zagięcia powodują błędne odczyty z czujnika natężenia swiatła).
  • zainstalowane środowiska: LEGO Mindstorms, BrixCC, Microsoft Robotics Studio
  • konstrukcja robota proponowana przez Lego charakteryzuje się tym, że czujnik natężenia światła jet umieszczony bardzo nisko - powoduje to często pojawianie się nieprawidłowych odczytów, a w konsekwencji błędne działanie algorytmów. Można dokonać niewielkiej modyfikacji konstrukcji TriBot'a.
  • konstrukcja robota Tribot(wysokie umieszczenie sonara) w zasadzie uniemożliwia stosowanie proponowanych przez LEGO platform z piłeczkami jako przeszkody(poza tym robot nie jest w stanie podnieść platformy, która przeszkadzałaby w ruchu). W tym celu należy użyć przeszkody: FIXME

Ćwiczenie

Uwagi ogólne

  • Kalibracja - jest to bardzo ważny krok który jest wykonywany przed każdym algorytmem. Dzięki niemu definiujemy jaki jest zakres możliwych wartości odczytywanych przez sensory. W naszym przypadku kalibrujemy czujnik natężenia światła. Po uruchomieniu każdego algorytmu na ekranie pojawi się napis „MAX:” oraz wartość liczbowa poniżej. Jest wartość odczytywana z czujnika natężenia światła (spróbuj umieścić czujnik nad jasną powierzchnią, a następnie nad ciemną i zauważ jak zmienia się wartość odczytu).

Przebieg kalibracji: Po uruchomieniu algorytmu (na ekranie widoczne jest „MAX: <wartość liczbowa>”) ustaw robota, tak aby czujnik światła znajdował się nad najciemniejszym z obszarów po którym będzie poruszał się robot (np. czarna linia na planszy testowej), zatwierdź używając przycisku lewej strzałki znajdującego się na kostce NXT. W ten sposób ustawiliśmy maksymalną wartość odczytu z czujnika natężenia światła względem, której dokonywana będzie normalizacja pomiaru. Na ekranie powinien być widoczny napis „MIN: <wartość liczbowa>”, umieść tym razem robota nad najjaśniejszym obszarem, po którym będzie się poruszał (białe tło planszy) i wciśnij przycisk prawej strzałki znajdujący się na kostce NXT. Gdy kalibracja jest zakończona na ekranie widoczny jest napis „Calibrated”.

  • Jeżeli po skalibrowaniu czujników robot nie zachowuje się jak powinien (nie rozpoznaję linii, nie rozpoznaję przeszkód, etc.) spróbuj zlokalizować

fragment kodu i zmienić wartość odczytu dla jakiej dana akcja nie wykonuje się prawidłowo. Oczywiście wszelki modyfikacje kodu wskazane:)

  • Usuwanie programów - ponieważ pamięć przeznaczona na przechowywanie plików jest ograniczona (124kB) prawdopodobnie konieczne będzie usuwanie plików z programami z kostki. W tym celu:
    1. otwórz Lego Mindstorms NXT
    2. wybierz File→New - pojawi się okno edytora
    3. z Menu znajdującego się w prawej-dolnej części ekranu wybierz „NXT Window”, a następnie zakładkę „Memory”
    4. w tym miejscu można zobaczyć ile pamięci zajmuje każdy z programów oraz usunąć, te które są już niepotrzebne

Program można też usunąć bezpośrednio z kostki NXT(My Software Siles → <nazwa programu> → Delete)

Lego Mindstorms

  1. Ściągnij implementację algorytmów dla środowiska LEGO:
    • saper_rbt.zip - implementacja algorytmu Saper w natywnym środowisku LEGO Mindstorms.
    • patrol_rbt.zip - implementacja algorytmu Patrol w natywnym środowisku LEGO Mindstorms.
  2. Podłącz robota poprzez USB do komuptera.
  3. Uruchom środowisko Mindstorms NXT. Wybierz File→Open…, a następnie wskaż uprzednio rozpakowany plik z implementacją algorytmu.
  4. Zapoznaj się z kodem algorytmów.
  5. Załaduj program na kostkę.
  6. Spróbuj porównać implementację algorytmów z diagramami aktywności, które je opisują:

BrixCC

  1. Ściągnij implementację algorytmów dla środowiska BrixCC:
  2. Podłącz robota poprzez USB do komputera.
  3. Uruchom środowisko BrixCC.
  4. W oknie, które się pojawi wybierz:
    • Port - Automatic
    • Brick Type - NXT
  5. Otwórz plik z wcześniej ściągniętym kodem (File→Open…)
  6. Zapoznaj się z kodem algorytmów (czytanie kodu należy rozpocząć od metody main() znajdującej się na samym końcu pliku z kodem źródłowym).
  7. Skompiluj oraz prześlij program na kostkę (F6)
  8. Podobnie jak w poprzednim przykładzie porównaj implementację z diagramami algorytmów (diagramy są te same).

Microsoft Robotics Studio

Sprawozdanie

Proszę o przesłanie informacji dotyczących:

  • Waszych uwag (plusy/minusy) sprawdzanych środowisk
  • problemów z uruchamianiem algorytmów
  • problemów z działaniem algorytmów
pl/mindstorms/lab/lab4.1211278705.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