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:
Filmik przedstawiający działanie programu:
mk_wl-1kwadrat.rar
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.