JSI - laboratorium 2 - Paweł Grzesiak, Rafał Dyrda
1. Cel ćwiczenia
Celem ćwiczenia było skonstruowanie robota oraz odpalenie na nim prostych algorytmów sterowania zbudowanych w środowisku LEGO NTX.
2. Realizacja ćwiczenia
2.1. Budowa robota
Zbudowany przez nas robot oparty jest o model zawarty w instrukcji Quickstart dołączonej do zestawu. Dodatkowo wyposażyliśmy go w następujący zestaw czujników i manipulatorów pozwalających realizacje ciekawych zadań:
Poniżej przedstawiono zdjęcia zbudowanego robota:
Rysunek 1. Widok z przodu
Rysunek 2. Widok z boku
Rysunek 2. Robot z ładunkiem
2.2. Projektowanie algorytmu
Algorytmy tworzone były przy pomocy środowiska NXT, gdzie metodą drag-and-drop mogliśmy szybko skonstruować działający algorytm z gotowych bloczków. Ze względu na znikomą ilość czasu spowodowaną koniecznością złożenia robota od postaw, a następnie rozebrania go, zrealizowaliśmy i przetestowaliśmy jedynie 2 algorytmy:
2.2.1. Unik
Robot jedzie przed siebie aż do momentu napotkania przeszkody (wciśnięcie czujnika dotyku znajdującego się na specjalnie skonstruowanym wysięgniku) po czym cofa się (1 obrót kół napędowych), wydaje sygnał dźwiękowy, wykonuje zwrot o 90° w lewo i znów rusza przed siebie - od tego momentu algorytm jest powtarzany od początku.
2.2.2. Ładunek
Robot wyposażony w podnośnik ma za zadanie podjechać do rampy i zatrzymać się (czujnik odległości reagujący na specjalny pałąk na rampie), następnie podnieść ładunek (serwomechanizm manipulatora), wycofać (praca silników przez 2 sekundy), wykonać zwrot o 180° i odjechać.
3. Integracja i testy
Testy algorytmu pierwszego przebiegły bez najmniejszych problemów - robot skutecznie 'odbijał' się od kolejnych przeszkód błądząc po terenie laboratorium. Podczas testowania algorytmu drugiego natrafiliśmy an 2 problemy:
zbudowana rampa była niestabilnym podłożem dla kulki, która często spadała zanim robot zdążył załadować kulkę
wysięgnik służący jako punkt odniesienia dla sensora odległości nie zawsze był wykrywany, przez co robot nie zawsze zatrzymywał się w żądanym miejscu (np. czasami przesuwał dość lekką rampę) - podejrzewamy że przyczyną tego jest fakt, że był za cienki (pojedyncza belka LEGO)
4.Wnioski i propozycje zmian
Rzeczą, która była najbardziej uciążliwa podczas zajęć laboratoryjnych, była konieczność budowania robota od podstaw, a następnie rozkładanie go na czynniki pierwsze. Zabiera to zdecydowanie zbyt wiele czasu, którego brakuje później na pisanie i testowanie faktycznie pouczających, a także ciekawych programów (budowanie klocków wg instrukcji to żadna filozofia). datego proponujemy pozostawienie robotów po zajęciach - kolejne grupy będą mogły dostosować go do swoich potrzeb przez wprowadzanie modyfikacji do konstrukcji bazowej.
5.Załączniki
Plik do środowiska NXT - ladunek.rbt zawierający algorytm z punktu 2.2.1.
ladunek.rbt