Sprawozdanie z laboratorium 2

1. Wstęp

Naszym zadaniem było wymyślenie i implementacja kilku zadanych algorytmów które miał realizować robot Bolek. Był on już w pełni zbudowany, więc zajęliśmy się wyłącznie częścią programistyczną.

2. Algorytmy

Patrol

Algorytm miał: Poruszać się po zadanej trajektorii, a w momencie napotkania przeszkody, wykrytej przy pomocy sensora dotyku, zatrzymać się, wygenerować sygnał dźwiękowy a następnie cofnąć się. Zadane trajektorie:

  • Kwadrat oraz trójkąt – różniły się wyłącznie kątem obrotu w 2 ostatnich bloczkach – dla kwadratu było to 200 stopni, a dla trójkąta 360 na każde z kół.

Filmik przedstawiający działanie programu: mk_wl-1kwadrat.rar

  • Okrąg – tutaj wykorzystaliśmy wbudowaną w bloczek „move” opcję poruszania się po łuku

Filmik przedstawiający działanie programu: mk_wl-1okrag.rar

Jedynym elementem, który wymagał od nas chwili zastanowienia była realizacja wychwycenia sygnału od czujnika dotyku podczas jazdy z możliwością natychmiastowego „wyskoczenia” z pętli głównego programu.

Uniki

Algorytm miał: Poruszać robotem w prostej linii, a w przypadku wykrycia przeszkody w pewnej odległości przed sobą wykonać zwrot i tak kontynuować pracę. Stworzony przez nas program:

Oraz filmik: mk_wl-2.rar

To zadanie okazało się bardzo proste i za pierwszym razem napisaliśmy prawidłowy algorytm.

Śledzenie

Zadaniem algorytmu było śledzenie czarnej linii na białym arkuszu papieru. Nasz wstępny program:

Jego zadaniem było: jechać na wprost jeżeli wykrywa czarną linię, a gdy brak czarnej linii to miał skręcać aż do jej napotkania aby znów ruszyć naprzód. Był to algorytm „wstępny” gdyż docelowo chcieliśmy zrobić wyszukiwanie linii po zjechaniu z niej w dwie strony, tzn. robot miał się obracać na przemian w prawo i w lewo o coraz większe kąty aby wykryć jak zmienił się kierunek czarnej linii. Niestety utknęliśmy na naszym „wstępnym” algorytmie, gdyż staraliśmy się wykalibrować graniczne natężenie światła decydujące o tym czy robot znajduje się nad czarną linią czy nie – i to zajęło nam czas do końca zajęć.

3. Wnioski

Laboratoria były ciekawe - żałujemy że brakło nam czasu na dokończenie wszystkich zadań. Chcieliśmy użyć Bluetooth'a aby przyspieszyć proces programowania robota, jednak nie udało się nam niestety nawiązać połączenia przez co zmuszeni byliśmy każdorazowo podłączać go przez kabel USB.

4. Spakowane programy

5. Sugestie

Programowanie robota w dostarczonym środowisku nie jest wygodne dla osób doświadczonych w programowaniu. Uważamy, że skupienie się na użyciu takich języków jak C czy prolog było by o wiele bardziej przydatne.

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