Laboratorium LEGO Mindstorms

Cele Lab:

  • Zapoznanie się z technologią Mindstorms
  • Programowanie podzespołów robotów przy pomocy istniejących metod i narzędzi
  • Przygotowanie do rozwijania w oparciu o Mindstorms mechanizmów projektowania logiki sterujących dla robotów, z wykorzystaniem wizualnych metod reprezentacji wiedzy i języka Prolog

Środki:

  • zestawy Mindstorms NXT
  • oprogramowanie LEGO dostarczone z w.w.
  • software opensource, w szczególności: NBC, BrixCC, NXT++, LeJOS

FIXMEGrzegorz J. Nalepa 2007/11/29 13:27

Zaliczenie

Uwagi dla JSI 2007

  • w czasie 1. lab należy pokazać co się udalo zrobić
  • o ile grupa narysowala jakiś ciekawy alg. sterujący w środowisku LEGO należy go zachować (np. wyslać sobie mailem)
  • na 2. lab: zademonstrować co udalo się zrobić
  • po 2. lab należy zachować swoje pliki z algorytmami i wyslac emailem
  • przygotować krótki opis/sprawozdanie i wyslać do prowadzącego emailem, w formacie TXT, szkielet:
    • JSI2007, imiona, nazwiska, data
    • co udalo się zrobić
    • krótki opis opracowanych zalączonych algorytmów (1-2 akapity na każdy)
    • sugestie, pomysly, życzenia, uwagi
    • zalączyć wszystkie opracowane pliki (projekty środowiska LEGO)

LAB1

Opis

Cel:

  • Zapoznać się z elementami sprzętowymi zestawu NXT: NXTbrick, sensorami i silnikami.
  • Zapoznać się z podstawami programowania i komunikacji w.w. przy pomocy środowiska LEGO

Środki:

  • sprzęt: NXTbrick, 2 silniki, 3 sensory, kable łączące, kabel USB, ew. łącze BT
  • software: środowisko LEGO

Przygotowanie

Ważne jest przemyślane zagospodarowanie przestrzeni. Każda grupa ma obok swojego stołu inny, wolny. Należy mieć na tyle przestrzeni, żeby klocki nie leżały na klawiaturze, nic nie spadlo na podlogę, etc.

Istotny jest podzial ról w zespole: należy wybrać osobę obslugującą

  • komputer (wiki, instrukcja, email)
  • pudelko (wyciaganie i podawanie elementów)
  • klocki (skladanie, podlączanie elementów)

Wstęp

W zależności od sytuacji i stanu zestawu NXT, zidentyfikować:

  • opisy Quickstart (QS) i User Manual (UM)
  • podzespoły:
    • Brick (komputer) - małe białe pudełko
    • sensory x4
    • silniki x2
    • kable 2+4+1
  • ew. czarne pudełko Quickstart a w nim zestaw podstawowych elementów do silnika

Uwaga: przed zakończeniem zajęć należy wszystko spakować tak, jak się zastalo, więc proszę zwrócić uwagę na sposób pakowania!

Podłączenie Zmysłów

  • włożyć baterie do Brick
  • podłączyć silniki i sensory (QS:2, UM:7) zgodnie z numerami portów
  • włączyć Brick,

I'm alive!

Przetestować UI Brick.

  • podstawy, QS:3
  • uruchomić testowe programy UM:14–17 („Try Me”)
  • pełny opis UI w UM:20–21
  • oglądnąć dane ze zmysłów przez „View”

Podłączenie do komputera

  • uruchomić aplikację LEGO
  • podłączyć Brick przez USB do komputera
  • utworzyć nowy projekt
  • nawiązać połączenie
  • przetestować połączenie BT

Programowanie

  • skonstruować trywialny program składający się z 2 elementów w sekwencji sensor/motor
  • przesłać program do Brick i przetestować
  • powyższe 2 kroki powtórzyć dla kilku sensorów

Logika

Użycie podstawowych konstrukcji sterujących (np. warunkowych) do budowania trywialnych miniprogramów.

  • zaprogramować algorytmy typu: jeżeli jakieś zdarzenie sensoryczne, wtedy, jeżeli inne coś innego, etc.

Koniec

Po zakończeniu laboratorium a przed wyjściem z sali należy:

  • wyłączyć Brick i odłączyć USB
  • wylogować się
  • rozłączyć elementy
  • schować brick, silniki i sensory do pudełek

LAB2

Cel: budowa prostych algorytmów sterowania w środowisku LEGO

Środki: Brick ze zmysłami, ew. gotowy mini/robot + software LEGO

Opis

Przebieg lab:

  1. budowa prostego robota mobilnego, równolegle z
  2. projektowaniem prostego algorytmu, następnie
  3. integracja i testowanie,
  4. ewaluacja i wnioski.

Podział zespołu:

  • budowniczy robota 1,2 osoby,
  • tworzenie algorytmu 1,2 osoby

UWAGA:

  • należy używać wyłącznie niezbędnych klocków,
  • należy wyciągać klocki stopniowo,
  • wszystkie nieużyte klocki należy schować do zamykanego pojemnika.

Budowa robota

(Zespół budowniczy)

  • Należy zbudować trywialnego robota mobilnego opisanego w QS.
  • Należy znaleźć odpowiedni woreczek z elementami - podpisany QS
  • W przypadku braku w.w, należy je skompletować z pomocą prowadzącego i włożyć do woreczka.
  • Dołączyć z boku lub z przodu Brick wybrany sensor (np. sonar), do tego mogą być potrzebne dodatkowe klocki z innego woreczka

Tworzenie algorytmu

(Zespół sterowania)

  • stworzyć proste (1-2) alg. sterowania,
  • założyć użycie 1 sensora
  • zapisać pliki projektów

Algorytmy

Patrol

  • robot jeździ po zadanej trajektorii (kwadrat, koło, trójkąt)
  • powtarza przejazd N razy
  • robot zatrzymuje się po napotkaniu przeszkody (zbliżenie, dotyk)
  • odtwarzany jest sygnał dźwiękowy
  • robot cofa

Uniki

  • robot jedzie prosto, ew. po trajektorii
  • po zbliżeniu do przeszkody (sonar) wykonuje unik, np. obrót w prawo
  • przy uniku odtwarzany jest dźwięk

Śledzenie

  • robot podąża za źródłem światła, dźwięku

Sterowanie

  • sterowanie robotem za pomocą sygnałów dźwiękowych, klaśnięcie, ew dotykowych?
  • np. 1 klaśnięcie - przód, 2 - tył

Komunikacja

  • proszę przeanalizować możliwość komunikacji między robotami przez Bluetooth

Integracja

Oba zespoły testują stworzony algorytm na zbudowanym robocie.

Proszę pamiętać, że po wgraniu do robota programu sterującego, można odlączyć kabel USB i puścić go na podlodze.

Zakończenie

  • Rozmontować robota, wkladając wszystkie części (poza kablami, silnikami,sonsorem i Brick), do jednego większego pojemnika, woreczka. UWAGA: należy to robić powoli i ostrożnie - polamanie klocków przy rozmontowaniu jest latwiejsze niż przy montażu. :-(
  • wyslać emailem sprawozdanie zawierające: pliki stworzonych algorytmów, kilkuzdaniowe opisy algorytmów, pomysly na inne algorytmy, zdjęcia zrobionych robotów, etc.

LAB3

Cel: zaawansowane programowanie w LEGO

Środki:

Opis

Przebieg lab:

  1. zapoznanie się z budową robota UG (robot zożony, instrukcja budowy znajduje sie w Users Guide)
  2. uruchomienie przygototowanego programu Robo3 na sucho
    1. unieś robota tak aby nie dotykal kolami podloża,
    2. uruchom program – kola zaczną się obracać
    3. aktywuj sensor dotyku – kola powinny się zatrzymać
    4. aktywuj sensor dźwieku (gwizdnij, klaśnij, dmuchnij…) – kola zaczną sie obracać, szczęki zostaną rozwarte
  3. uruchomienie Robo3
    1. ustaw robota na plaskiej powierzchni na przeciwko koszyka z kulką
    2. uruchom program Robo3
    3. co zrobil robot?
  4. projektowanie algorytmu sterowania,
  5. integracja i testowanie,
  6. ewaluacja i wnioski.

Tworzenie algorytmu

  • stworzyć algorytm sterowania,
  • założyć użycie wielu sensorów
  • zapisać pliki projektów

Algorytmy

Poniżej znajdują się przykladowe algorytmy. Zaimplementuj przynajmniej jeden z nich. Oczywiście można zaproponować swój wlasny algorytm.

Magazynier

  • podnieś kulkę (użyj sensora dotyku)
  • wykonaj zwrot o 180 stopni
  • przenieś kulkę pod ścianę (użyj sonaru do określenia co jest ścianą)
  • wylacznik awaryjny: klaśniecie

Magazynier 2

  • podnieś kulkę (użyj sensora dotyku)
  • wykonaj zwrot o 180 stopni
  • przenieś kulkę w miejsce oznaczone innym kolorem (np. biala kartka), wykorzystaj sensor światla
  • wylacznik awaryjny: klaśniecie

Zlodziej

  • zlap kulke gdy znajdzie się z odpowiedniej odleglości od szczęk
  • cofnij
  • wykonaj zwrot np. o 180 stopni
  • jedź tak dlugo az ktoś krzyknie: 'Stać, policja!' ;-)

Zlodziej 2

  • tak jak Zlodziej, ale przyspiesza i/lub zaczyna kluczyć na wiadomośc o policji

Integracja

Algorytm należy przetestować na robocie UG

Proszę pamiętać, że po wgraniu do robota programu sterującego, można odlączyć kabel USB i puścić go na podlodze.

Zakończenie

  • Proszę nie rozmotowywać robota
  • wyslać emailem sprawozdanie zawierające: pliki stworzonych algorytmów, kilkuzdaniowe opisy algorytmów, pomysly na inne algorytmy, zdjęcia zrobionych robotów, etc.

LAB

Cel: programowanie NXT przy pomocy NBC, Bricxcc

Środki:

LAB

Cel:

Środki:

pl/mindstorms/mindstorms_lab.txt · ostatnio zmienione: 2017/07/17 08:08 (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