Sprawozdanie z laboratorium 2

Kamil Kuduk (zajęcia odrabiane)

1. Wstęp

Celem drugiego laboratorium z Lego była implementacja kilku algorytmów przy pomocy dedykowanej aplikacji Lego. W związku z tym, że robot był już zbudowany niezwłocznie przystąpiłem do pracy. Wszak stawiać czoło trudom laboratorium musiałem samotnie i nie było ani chwili do stracenia.

2. Programowanie robota

2.1 Patrol

Pierwszym zadaniem, z którym się zmierzono było stworzenie algorytmu sterowania, który sprawi, że robot będzie poruszał się po zadanej trajektorii (zrealizowane jako sześciokąt foremny) oraz reagował na pojawienie się przeszkody poprzez wydanie sygnału dźwiękowego i wycofanie się. Jak widać na screenie poniżej 'opcja awaryjna' wykonywana jest przez 'zrównolegloną' odnogę algorytmu i, jak pokazały testy, zostawała ona wykonywana dopiero po zakończeniu ostatniej operacji z 'opcji głównej'. Pożądanym zachowaniem było natychmiastowe przejście do 'opcji awaryjnej' jednak mimo kilku prób nie udało tego zrealizować.

http://www.youtube.com/watch?v=S9DBCQ03MGw&feature=player_embedded

2.2 Uniki

Program wykorzystywał sensor odległości, robot jechał do przodu, aż do momentu napotkania przeszkody (odległość z sensora mniejsza od zadanej). Gdy ją napotkał, skręcał w zadanym kierunku i, jeśli przeszkoda nie była już na jego drodze, jechał dalej. W przeciwnym wypadku obracał się dalej aż do znalezienia wolnej drogi. Zrzutu ekranu brak, plik programu znajduje się w archiwum, do którego link znajduje się na końcu sprawozdania.

http://www.youtube.com/watch?v=czJdHS3ZMoQ

2.3 Śledzenie (Line follower)

Kolejnym zralizowanym programem był prosty algorytm podążania za linią. Prosty, bowiem dostosowany do konkretnego „toru” dostępnego na planszy. Kluczem do realizacji programu było zastosowanie podświetlenia przy czujniku światła oraz zebranie (poprzez podgląd z menu NTXa) odpowiednich danych pozwalających na określenie, kiery robot znajduje się na linii a kiedy nie. Sama realizacja była dość prosta, bowiem robot w tym prostym algorytmie szukał poprawnej ścieżki tylko poprzez obrót w lewo, dało to jednak zadowalające rezultaty. Mimo, że filmik tego nie pokazuje, robot pokonuje cały tor nieznacznie tylko ścinając go w końcowej fazie :)

http://www.youtube.com/watch?v=pkSsrC37eXQ

3. Podsumowanie

Zadania z laboratorium 2. nie były bardzo skomplikowane, zwłaszcza że miałem już za sobą laboratorium nr 3. Nie mniej jednak wymagały użycia „zrównoleglonych bloków” jak i zastosowanie pętel. Potrzebne również było umiejętne korzystanie z sensorów, bowiem poziom sygnałów z nich odbieranych zmienia się wraz z warunkami. Mimo, że pracowałem sam, udało mi się zrealizować 3 z zadanych programów. Praca z robotami NTX jest samą przyjemnością i 90 minut zajęć mija bardzo szybko. Pozostaje jednak pewien niedosyt - wszelkie napotkane problemy wynikają raczej z ograniczeń środowiska a nie braku pomysłów na realizację zadań. P.S Sprawozdanie wykonane zostało z pewnym opóźnieniem, ale nie wynikało ono w 100% z lenistwa wykonującego. Pojawiły się pewne problemy z dostępem do plików wideo, które na szczęście udało się rozwiązać ;) Tak, można było zrobić sprawozdanie bez tych plików, ale to właśnie one pozwoliły na dokładniejsze przypomnienie sobie zajęć i trafniejsze spostrzeżenia odnośnie minionych zajęć :)

4. Pliki programów

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