1. Wstęp

Celem drugiego laboratorium z cyklu Lego Mindstorms było zaimplementowanie kilku prostych algorytmów. Miały one na celu, przede wszystkim, wykorzystanie sensorów do modyfikacji trajektorii ruchu robota. Ta strona przedstawia to co udało nam się wykonać podczas tych zajęć.

2. Przebieg laboratorium

2.1 Patrol

Naszym zadaniem było zaprogramowanie robota w taki sposób aby poruszał się po określonej trajektorii, a po napotkaniu przeszkody, robot miał się zatrzymać wydając sygnał dźwiękowy. Nasz robot poruszał się po okręgu. Po napotkaniu przeszkody, cofał się wydając sygnał dźwiękowy. Oto schemat programu :

Drugim pomysłem było wykorzystanie mikrofonu do zmiany toru jazdy. Robot jechał prosto, a po „usłyszeniu” klaśnięcia skręcał w jedną ze stron. To zadanie zostało zrealizowane następująco :

Zadanie nie do końca zostało zrealizowane po naszej myśli, gdyż mieliśmy pewne problemy z doborem odpowiednich bloczków. W przypadku pierwszego programu, jak zostało napisane powyżej, robot poruszał się po trajektorii kołowej. Po napotkaniu przeszkody miał za zadanie się cofać przez jedną sekundę wydając sygnał dźwiękowy. W założeniach, opisane działanie robota miało być wykonywane w pętli. To znaczy robot miał wracać do patrolowania. W naszym programie była to jednorazowa sytuacja i robot po cofnięciu się od przeszkody kończył program. Poniżej zamieszczam krótki filmik z działaniem tego programu : wideo005.rar. Drugi program zrobiliśmy bardziej jako dodatek i sprawdzenie jak działa sensor dźwięku, dlatego nie nagrywaliśmy żadnego filmiku. Paczka ze spakowanym programem : patrol.rar

2.2 Unik

W tym podpunkcie naszym zadaniem było zaprogramowanie robota tak, aby uniknął kolizji z przeszkodą. W naszym przypadku, robot jechał prosto z dość dużą prędkością. Po napotkaniu przeszkody odtwarzany był dźwięk i robot miał zawrócić. Niestety z niewiadomych nam przyczyn screen ze schematem układu dla tego przypadku się nie zachował. Zachowanie robota przedstawia filmik : wideo006.rar. Paczka z programem :unik.rar

2.3 Inne

Do innych zadań na tym laboratorium jakie mieliśmy wykonać był np program „Śledzenie”. Miał on na celu poprowadzić robota w kierunku światła bądź dźwięku. Zdecydowaliśmy się w tym przypadku na wykorzystanie planszy która była dołączona do zestawu. Naszym celem było zaprogramowanie robota tak aby poruszał się tylko po białych polach, omijając czarne linie. Niestety nasz program nie działał poprawnie z różnych powodów i nie zasługuje na opisanie go w tym miejscu. Błędne działanie objawiało się tym, że robot nie zachowywał się zgodnie z naszymi przewidywaniami. Czasami nie zauważał czarnej linii, a czasami kończył program w najmniej oczekiwanym momencie (np w przypadku najechania na czarną linię). Niestety zostało nam zbyt mało czasu na poprawę.

3. Wnioski

Laboratorium jest skonstruowane w ciekawy sposób i nie jest wykonane w sposób abstrakcyjny. Widać tutaj dosłownie efekty naszej pracy. Jednak jest kilka rzeczy które zasługują na osobny komentarz. Pierwszą sprawą o której warto wspomnieć jest środowisko pracy. Jest ono dość nieintuicyjne i sprawia wrażenie jakby było robione dla dzieci. Twórcy Mindstorms narzucili dość specyficzny tok rozumowania i nie do końca jest on dla nas zrozumiały. Zdarza się, że program jest przerywany w przypadku, gdy mogło by się wydawać, jest wszystko w porządku. Dodatkowym utrudnieniem jest brak odpowiednika instrukcji case. Jest co prawda bloczek „switch” jednak jego działanie nie jest do końca tym czego można by się spodziewać. Sporo czasu zajmuje zaznajomienie się ze środowiskiem. Jest to główny powód dla dzięki któremu nie udało nam się dokończyć zamierzonego celu. Dobrym pomysłem byłoby krótkie wprowadzenie w specyfikę oprogramowania i krótkie opisanie działania najpotrzebniejszych bloczków.

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