Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:mindstorms:lab:lab4 [2008/05/20 14:50] miw |
pl:mindstorms:lab:lab4 [2019/06/27 15:50] (aktualna) |
[[pl:miw:miw08_mindstormscontrolj]] | [[pl:miw:miw08_mindstormscontrolj]] |
support P. Gutowski | support P. Gutowski |
| |
| |
===== Cel ===== | ===== Cel ===== |
* LEGO Mindsotrms | * LEGO Mindsotrms |
* BrixCC | * BrixCC |
* Microsoft Robotics Studio | * Microsoft Robotics Studio (opcjonalnie) |
| |
Waszym zadaniem będzie uruchomienie oraz przeanalizowanie [[pl:miw:miw08_mindstormsenv#Propozycje_algorytmow|dwóch algorytmów]] (ich implementacji). | Waszym zadaniem będzie uruchomienie oraz przeanalizowanie [[pl:miw:miw08_mindstormsenv#Propozycje_algorytmow|dwóch algorytmów]] (ich implementacji). |
Filmiki pokazujące działanie algorytmów: | Filmiki pokazujące działanie algorytmów: |
* [[http://www.youtube.com/watch?v=dollW5dg_v0 | Saper]] | * [[http://www.youtube.com/watch?v=dollW5dg_v0 | Saper]] |
| |
| Uwaga: Ostatanie 5 minut laboratorium proszę poświęcić na [[pl:mindstorms:lab:lab4#sprawozdanie | Sprawozdanie]] |
| |
===== Przygotowanie stanowiska ===== | ===== Przygotowanie stanowiska ===== |
==== Uwagi ogólne ==== | ==== 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). | * 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". | **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ć | * Jeżeli po skalibrowaniu czujników robot nie zachowuje się jak powinien (nie rozpoznaję linii, nie rozpoznaję przeszkód, etc.) spróbuj zlokalizować |
- w tym miejscu można zobaczyć ile pamięci zajmuje każdy z programów oraz usunąć, te które są już niepotrzebne | - 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) | Program można też usunąć bezpośrednio z kostki NXT(My Software Siles -> <nazwa programu> -> Delete) |
| |
| * Komunikacja z robotem najlepiej działa przy użyciu USB (wyjątkiem jest Microsoft Robotics Studio, dla którego jedenym możliwym kanałem komunikacji jest BlueTooth) |
| |
==== Lego Mindstorms ==== | ==== Lego Mindstorms ==== |
- Ściągnij implementację algorytmów dla środowiska LEGO: | - Ś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: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. | * {{:pl:miw:miw08_mindstormsenv:patrol_rbt.zip|patrol_rbt.zip}} - implementacja algorytmu Patrol w natywnym środowisku LEGO Mindstorms (wersja nieco różniąca się od wersji napisanej w BrixCC (uboższa))FIXME. |
- Podłącz robota poprzez USB do komuptera. | - Podłącz robota poprzez USB do komuptera. |
- Uruchom środowisko Mindstorms NXT. Wybierz File->Open..., a następnie wskaż uprzednio rozpakowany plik z implementacją algorytmu. | - Uruchom środowisko Mindstorms NXT. Wybierz File->Open..., a następnie wskaż uprzednio rozpakowany plik z implementacją algorytmu. |
* [[pl:miw:miw08_mindstormsenv:materialy#Saper|algorytm Saper]] - diagram | * [[pl:miw:miw08_mindstormsenv:materialy#Saper|algorytm Saper]] - diagram |
* [[pl:miw:miw08_mindstormsenv:materialy#Patrol|algorytm Patrol]] - diagram | * [[pl:miw:miw08_mindstormsenv:materialy#Patrol|algorytm Patrol]] - diagram |
| |
| |
| |
- Otwórz plik z wcześniej ściągniętym kodem (File->Open...) | - Otwórz plik z wcześniej ściągniętym kodem (File->Open...) |
- 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). | - 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). |
- Skompiluj oraz prześlij program na kostkę (F6) | - Skompiluj oraz prześlij program na kostkę |
- Podobnie jak w poprzednim przykładzie porównaj implementację z diagramami algorytmów (diagramy są te same). | - Podobnie jak w poprzednim przykładzie porównaj implementację z diagramami algorytmów (diagramy są te same). |
| |
==== Microsoft Robotics Studio ==== | ==== Microsoft Robotics Studio ==== |
| |
| Ponieważ środowisko Microsoft Robotics Studio udostępnia inne od ww. środowisk możliwości, przygotowane zostały inne programy pokazujące możliwości tego środowiska. |
| Działanie przygotowanego programu zostało przedstawione [[pl:miw:miw08_mindstormsenv:materialy#Messages|tutaj]].\\ |
| Aby uruchomic program należy: |
| - Ściągnij plik {{:pl:miw:miw08_mindstormsenv:messages.zip|messages.zip}}, a następnie go rozpakuj |
| - Upewnij się, że do komputera podłączony jest adapter BlueTooth |
| - W środowisku Lego Mindstorms NXT załaduj plik Msg.rbt, zapoznaj sie z nim, a następnie skompiluj i przeżlij do modułu NXT |
| - W środowisku Microsoft Robotics Studio otwórz projekt Messages, zapoznaj się z nim |
| - Upewnij się czy blok LegoNXTBrickv2(pierwszy blok na schemacie wskazuje na właściwy port, przez który odbywa się koumunikacja) |
| - Uruchom program |
| Po chwili powinno otworzyć się okno przegladarki internetowej zawierające informacje o połączeniu. Po uruchomieniu pojawiają się także 'alerty' informujące o sukcesie/niepowodzeniu kolejnych kroków. |
| \\ |
| Uwaga: Komunikacja poprzez BlueTooth dla niektórych adapterów jest uciążliwa. Jeżeli nie można się połączyć należy spróbować kilkakrotnie (za każdym razem upewniając się czy na kostce NXT widnieje symbol nawiązanego połączenia BlueTooth "B<>") |
===== Sprawozdanie ===== | ===== Sprawozdanie ===== |
| |