Sprawozdanie (laboratorium 2)

1. Cel zajęć

Na kolejnym laboratorium z cyklu Lego Mindstorm mieliśmy zaprojektować kilka algorytmów sterowania w środowisku Lego Mindstorm NXT dostarczonym przez Lego, Dzięki czemu mogliśmy lepiej zapoznać się z możliwościami programowania w tym środowisku. Ponieważ robot był już zbudowany od razu przeszliśmy do tworzenia algorytmów sterowania nim.

2. Sesja zdjęciowa Czesława

2.1 Zdjęcie z przodu

2.2 Czesław z profilu

2.3 Czesław w akcji

3. Algorytmy sterowania

3.1 Patrol

Plik .rbt

Opis działania: Program uruchamiany przez dotyk odpowiedniego czujnika. Ruch robota wykonuje się w pętli. Porusza się on do przodu i jeżeli odległość od przeszkody jest mniejsza od ustawionej w programie, odtwarzany jest sygnał dźwiękowy i robot cofa. Jeżeli odległość jest większa od podanej robot porusza się nadal do przodu. W dalszej części algorytmu wykonywane jest skręcanie robota i wracamy do początku pętli. Zdajemy sobie sprawę z wad powyższego algorytmu jednak z braku czasu nie zdołaliśmy wymyślić lepszej wersji. Nie od razu również doszliśmy do tego, że nie jest sprawdzony warunek jeśli poruszanie się robota jest realizowane przez skończony czas w bloczku 'Move'.

Stworzona została druga wersja algorytmu, jednak nie zdążyliśmy jej przetestować. Działanie teoretycznie podobne do powyższego.

Plik .rbt

3.2 Uniki

Plik .rbt

Robot jedzie do przodu, sprawdzane jest czy nie zbliża się on do przeszkody, jeśli taka sytuacja nastąpi, odtwarzany jest dźwięk i robot skręca.

Film pokazujący działanie algorytmu 'uniki'

3.3 Śledzenie

Plik .rbt

W tym programie zaczynamy od sprawdzenia natężenia dźwięku w początkowej pozycji, następnie robot skręca o zadaną część pełnego obrotu i ponownie ‘nasłuchuje’. Dalej dokonujemy porównania i jeżeli w pierwszej pozycji natężenie dźwięku było większe niż w drugiej, robot wraca do początkowej pozycji i jedzie w tamtym kierunku. W sytuacji przeciwnej po prostu jedzie do przodu. Całość programu wykonywana jest w pętli. Niestety tak zbudowany algorytm nie spełniał naszych oczekiwań, a nasz robot po prostu kręcił się w koło. Nie doszliśmy do przyczyny takiego zachowania Czesława.

4. Podsumowanie i wnioski

4.1 Komunikacja bluetooth

Próbowaliśmy nawiązać komunikację naszego robota z komputerem. Jednak mimo, że połączenie zostało nawiązane nie udało nam się zaprogramować robota. Nie przeanalizowaliśmy możliwości komunikacji między dwoma robotami.

4.2 Działanie algorytmów

Niestety nie udało nam się zbudować wszystkich algorytmów wymienionych w opisie laboratorium 2, a te zbudowane nie zawsze działały zgodnie z naszymi oczekiwaniami. Myślimy, że przyczyną może być fakt, że to dopiero nasze drugie spotkanie z Lego Mindstorms i nie znamy jeszcze wszystkich funkcjonalności bloczków i generalnie dostępnego środowiska Lego. Zauważyliśmy również, że czujnik odległości Czesława działa z zauważalnym opóźnieniem i musieliśmy to uwzględnić w algorytmach go wykorzystujących. Mimo małych kłopotów czas spędzony na drugim laboratorium był jak najbardziej pozytywnym przeżyciem i prosimy o wyrozumiałość w ocenie naszej pracy.

5. Spakowane programy

pl/dydaktyka/jsi/2009/sprawozdania/jsi20091209-08b.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