Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:mindstorms:lab:lab4 [2008/05/18 23:22] miw sprawozdanie |
pl:mindstorms:lab:lab4 [2008/06/03 09:39] miw |
====== Laboratorium 4 ====== | |
| |
===== 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 [[pl:miw:miw08_mindstormsenv#Propozycje_algorytmow|dwóch algorytmów]] (ich implementacji): | |
| |
===== Przygotowanie stanowiska ===== | |
| |
Do poprawnego przeprowadzenia ćwiczenia wymagane jest: | |
* zbudowany robot [[http://mindstorms.lego.com/Overview/MTR_Tribot.aspx|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 [[pl:miw:miw08_mindstormsenv:materialy#Modyfikacja_konstrukcji_TriBot_a | modyfikacji konstrukcji TriBot'a]]. | |
Uwaga: Konstrukcja robota Tribot(wysokie umieszczenie sonara) w zasadzie uniemożliwia stosowanie proponowanych przez LEGO platform z piłeczkami jako 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". | |
* 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: | |
* otwórz Lego Mindstorms NXT | |
* wybierz File->New - pojawi się okno edytora | |
* z Menu znajdującego się w prawej-dolnej części ekranu wybierz "NXT Window", a następnie zakładkę "Memory" | |
* 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 ==== | |
| |
Ściągnij implementację algorytmów dla środowiska LEGO: | |
* {{:pl:miw:miw08_mindstormsenv:saper.rbt.zip|saper.rbt.zip}} - implementacja algorytmu Saper w natywnym środowisku LEGO Mindstorms. | |
* {{:pl:miw:miw08_mindstormsenv:patrol.rbt.zip|patrol.rbt.zip}} - implementacja algorytmu Patrol w natywnym środowisku LEGO Mindstorms. | |
| |
Spróbuj porównać implementację algorytmów z diagramami aktywności, które je opisują: | |
* [[pl:miw:miw08_mindstormsenv:materialy#Saper|algorytm Saper]] - diagram | |
* [[pl:miw:miw08_mindstormsenv:materialy#Patrol|algorytm Patrol]] - diagram | |
| |
| |
==== Brixcc ==== | |
| |
Ściągnij implementację algorytmów dla środowiska Brixcc: | |
* {{:pl:miw:miw08_mindstormsenv:saper.nxc.zip|saper.nxc.zip}} - implementacja algorytmu Saper w języku NXC. | |
* {{:pl:miw:miw08_mindstormsenv:patrol.nxc.zip|patrol.nxc.zip}} - implementacja algorytmu Patrol w języku NXC. | |
| |
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 | |
| |
| |
| |