Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:mindstorms:studenci:przedmioty:jsi:jsi2008:jsi20081217-08b [2009/01/13 23:16]
jsi08
pl:mindstorms:studenci:przedmioty:jsi:jsi2008:jsi20081217-08b [2019/06/27 15:50] (aktualna)
Linia 8: Linia 8:
  
 == 2.1. Budowa robota == == 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:​+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 dotyku
   * czujnik odległości   * czujnik odległości
-  * sterowany silnikiem podnośnik ładunku ( w naszym przypadku kulki)+  * sterowany silnikiem podnośnik ładunku ​ (w naszym przypadku kulki)
 \\ \\
 Poniżej przedstawiono zdjęcia zbudowanego robota:\\ Poniżej przedstawiono zdjęcia zbudowanego robota:\\
Linia 25: Linia 25:
  
 == 2.2. Projektowanie algorytmu ==  == 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.+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. ​Patrol ​** \\ +** 2.2.1. ​Unik ** \\ 
-Zaprojektowany algorytm prowadził robota po trajektorii kwadratupowtarzając przejazd 2 razy. Realizacja algorytmu była trywialna ​polegała na sterowaniu silnikami B i C odpowiedzialnymi za ruch kół robota.+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 znów rusza przed siebie - od tego momentu algorytm jest powtarzany od początku.
  
-** 2.2.2. ​Przewóz kulki ** \\ +** 2.2.2. ​Ładunek ​** \\ 
-Zgodnie z naszym projektem robot wyposażony w widły przewozowe powinien: +Robot wyposażony w podnośnik ma za zadanie podjechać do rampy i zatrzymać się (czujnik ​odległości ​reagujący na specjalny pałąna rampie)następnie podnieść ładunek (serwomechanizm manipulatora)wycofać (praca silników przez 2 sekundy), wykonać zwrot 180° i odjechać.
-\\ +
-- dojechać do rampy – silniki napędowe B C [Rysunek 3], \\ +
-zatrzymać się odległości ​ok. 4 cm od ściany – sensor ultradźwiękowy [Rysunek 4], \\ +
-- podnieść kulkę znajdującą się na rampie ​– silnik A\\ +
-- wycofać wraz z ładunkiem\\ +
-- obrócić się 180O, \\ +
-odjechać ​z pełną prędkością\\ +
-\\ +
-{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​rampa1.jpg|}} \\ +
-//Rysunek 3// \\ +
-\\ +
-{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​rampa2.jpg|}} \\ +
-//Rysunek 4// +
- +
  
 === 3. Integracja i testy === === 3. Integracja i testy ===
-Kompilacja i załadowanie plików do bricka były bardzo proste dzięki pomocy ​środowiska NXT pliki przesyłaliśmy przy pomocy interfejsu USB. System umożliwia również komunikację między autonomicznymi brickami (robotami) za pośrednictwem protokołu Bluetooth – niestety ze względu na ograniczony czas trwania laboratorium,​ nie zdążyliśmy zaimplementować i przetestować tego rozwiązania. W zrealizowanych testach okazało się, że przygotowane algorytmy działają poprawniejakkolwiek pewne problemy sprawiał sensor ultradźwiękowy, który przy każdej próbie inaczej oceniał odległość, w związku z czym występowały problemy z odpowiednim hamowaniem przed przeszkodą. Odpowiednia kalibracja sensora powinna poprawić zachowanie robota. Mimo opisanych powyżej problemów, udało się przeprowadzić kilka, zakończonych pełnym sukcesem, prób podjęcia i przeniesienia ładunku. ​+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ł wykrywanyprzez co robot nie zawsze zatrzymywał się żądanym miejscu (np. czasami przesuwał dość lekką rampę) - podejrzewamy że przyczyną tego jest fakt, że był za cienki (pojedyncza belka LEGO)
  
-=== 4.Wnioski === +=== 4.Wnioski ​i propozycje zmian === 
-Budowa robotów z zestawu LEGO Mindstorms i tworzenie algorytmów przy pomocy środowiska NXT jest bardzo proste i daje dużo frajdy – algorytmy tworzy się na zasadzie intuicyjnego łączenia gotowych bloczkówprzy czym nie ma jakichkolwiek problemów z komunikacją i niekompatybilnymi czujnikami – jedyne problemy na jakie możemy natrafić to, wspomniana w poprzednim punkcie ​nieoprawna kalibracja czujników). Ponadto, podczas ​zajęć z zestawem można choć na chwilę powrócić do czasów dzieciństwa...+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 czasuktórego brakuje później na pisanie i testowanie faktycznie pouczającycha 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 === === 5.Załączniki ===
-Wraz ze sprawozdaniem załączamy plik do środowiska NXT - hitandrun.rbt zawierający algorytm ​ +Plik do środowiska NXT - ladunek.rbt zawierający algorytm z punktu ​2.2.1. ​
-z punktu+
  
-\\ +{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​ladunek.rbt|}}
-{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​hitandrun.rbt.zip|}}+
pl/mindstorms/studenci/przedmioty/jsi/jsi2008/jsi20081217-08b.1231884974.txt.gz · ostatnio zmienione: 2019/06/27 15:57 (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