|
|
pl:mindstorms:studenci:przedmioty:jsi:jsi2008:jsi20081210-08b [2008/12/16 15:22] jsi08 |
pl:mindstorms:studenci:przedmioty:jsi:jsi2008:jsi20081210-08b [2019/06/27 15:50] |
| |
| |
====== JSI - laboratorium 2 - Paweł Grzesiak, Rafał Dyrda ====== | |
| |
=== 1. Cel ćwiczenia === | |
| |
Celem ćwiczenia było zapoznanie się z podstawowymi możliwościami oferowanymi przez system LEGO Mindstorms przez zbudowanie prostego robota mobilnego i zaprojektowanie algorytmu jego działania. | |
=== 2. Realizacja ćwiczenia === | |
| |
== 2.1. Budowa robota == | |
Nasz robot został zbudowany zgodnie z opisem zawartym w instrukcji Quickstart dołączonej do zestawu, ponadto został on udoskonalony o elementy umożliwiające załadunek oraz przewóz kulki, | |
a także elementy obronne służące do odpierania ataków wrogich robotów, chcących przejąć ładunek. | |
| |
Poniżej przedstawiono zbudowane warianty robota: \\ | |
\\ | |
{{:pl:mindstorms:studenci:przedmioty:jsi:jsi2008:cywilny.jpg|}} \\ | |
//Rysunek 1. Cywilna wersja robota// \\ | |
\\ | |
{{:pl:mindstorms:studenci:przedmioty:jsi:jsi2008:bojowy.jpg|}} \\ | |
//Rysunek 2. Bojowa wersja robota// | |
| |
== 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. | |
| |
** 2.2.1. Patrol ** \\ | |
Zaprojektowany algorytm prowadził robota po trajektorii kwadratu, powtarzając przejazd 2 razy. Realizacja algorytmu była trywialna i polegała na sterowaniu silnikami B i C odpowiedzialnymi za ruch kół robota. | |
| |
** 2.2.2. Przewóz kulki ** \\ | |
Zgodnie z naszym projektem robot wyposażony w widły przewozowe powinien: | |
\\ | |
- 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ą. \\ | |
\\ | |
{{:pl:mindstorms:studenci:przedmioty:jsi:jsi2008:rampa1.jpg|}} \\ | |
//Rysunek 3// \\ | |
\\ | |
{{:pl:mindstorms:studenci:przedmioty:jsi:jsi2008:rampa2.jpg|}} \\ | |
//Rysunek 4// | |
| |
| |
=== 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. | |
| |
=== 4.Wnioski === | |
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... | |
| |
=== 5.Załączniki === | |
Wraz ze sprawozdaniem załączamy plik do środowiska NXT - hitandrun.rbt zawierający algorytm | |
z punktu | |
| |
| |