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ń:

  • czujnik dotyku
  • czujnik odległości
  • sterowany silnikiem podnośnik ładunku (w naszym przypadku kulki)


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:

  1. zbudowana rampa była niestabilnym podłożem dla kulki, która często spadała zanim robot zdążył załadować kulkę
  2. 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

pl/mindstorms/studenci/przedmioty/jsi/jsi2008/jsi20081217-08b.txt · ostatnio zmienione: 2017/07/17 08:08 (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