Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:mindstorms:studenci:przedmioty:jsi:jsi2008:jsi20081217-08b [2009/01/13 23:39] jsi08 |
pl:mindstorms:studenci:przedmioty:jsi:jsi2008:jsi20081217-08b [2019/06/27 15:50] (aktualna) |
| |
** 2.2.1. Unik ** \\ | ** 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), wykonuje zwrot o 90° w lewo i znów rusza przed siebie - od tego momentu algorytm jest powtarzany od początku. | 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. 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łąk na rampie), następnie podnieść ładunek (serwomechanizm manipulatora), wycofać (praca silników przez 2 sekundy), wykonać zwrot o 180° i odjechać. |
\\ | |
- dojechać do rampy – silniki napędowe B i C [Rysunek 3], \\ | |
- zatrzymać się w 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ę o 180O, \\ | |
- odjechać z pełną prędkością. \\ | |
| |
=== 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ą poprawnie, jakkolwiek 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ł 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 === | === 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ów, przy 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 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 === | === 5.Załączniki === |
Wraz ze sprawozdaniem załączamy plik do środowiska NXT - ladunek.rbt zawierający algorytm | Plik do środowiska NXT - ladunek.rbt zawierający algorytm z punktu 2.2.1. |
z punktu 2.2.1. | |
| |
\\ | {{:pl:mindstorms:studenci:przedmioty:jsi:jsi2008:ladunek.rbt|}} |
{{:pl:mindstorms:studenci:przedmioty:jsi:jsi2008:hitandrun.rbt.zip|}} | |