Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
pl:mindstorms:mindstorms_lab [2007/12/17 18:40]
wojnicki
pl:mindstorms:mindstorms_lab [2008/04/23 10:00]
wojnicki dodane BT
Linia 1: Linia 1:
-====== 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:​ [[http://​bricxcc.sourceforge.net/​nbc/​|NBC]],​ [[http://​bricxcc.sourceforge.net/​|BrixCC]],​ [[http://​nxtpp.sourceforge.net/​|NXT++]],​ [[http://​lejos.sourceforge.net/​|LeJOS]] 
- 
-FIXME 
- --- //​[[gjn@agh.edu.pl|Grzegorz 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 
- 
-===== 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: 
-  - budowa prostego robota mobilnego, równolegle z 
-  - projektowaniem prostego algorytmu, następnie 
-  - integracja i testowanie, 
-  - 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: 
-  - zapoznanie się z budową robota UG (robot zożony, instrukcja budowy znajduje sie w Users Guide) 
-  - uruchomienie przygototowanego programu ''​Robo3''​ //na sucho// 
-    - unieś robota tak aby nie dotykal kolami podloża, 
-    - uruchom program -- kola zaczną się obracać 
-    - aktywuj sensor dotyku -- kola powinny się zatrzymać 
-    - aktywuj sensor dźwieku (gwizdnij, klaśnij, dmuchnij...) -- kola zaczną sie obracać, szczęki zostaną rozwarte 
-  - uruchomienie ''​Robo3''​ 
-    - ustaw robota na plaskiej powierzchni na przeciwko koszyka z kulką 
-    - uruchom program ''​Robo3''​ 
-    - co zrobil robot? 
-  - projektowanie algorytmu sterowania, 
-  - integracja i testowanie, 
-  - 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: 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