|
|
pl:mindstorms:studenci:przedmioty:jsi:jsi2008:jsi20081217-08b [2009/01/13 23:52] jsi08 |
pl:mindstorms:studenci:przedmioty:jsi:jsi2008:jsi20081217-08b [2019/06/27 15:50] |
====== 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:\\ | |
\\ | |
{{:pl:mindstorms:studenci:przedmioty:jsi:jsi2008:photo.jpg|}} \\ | |
//Rysunek 1. Widok z przodu// \\ | |
\\ | |
{{:pl:mindstorms:studenci:przedmioty:jsi:jsi2008:photo(3).jpg|}} \\ | |
//Rysunek 2. Widok z boku// \\ | |
\\ | |
{{:pl:mindstorms:studenci:przedmioty:jsi:jsi2008:photo(4).jpg|}} \\ | |
//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), 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 (kulkę), wycofać (praca silników przez 2 sekundy), wykonac zwrot o 180° i odjechać. | |
| |
=== 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 === | |
Plik do środowiska NXT - ladunek.rbt zawierający algorytm z punktu 2.2.1. | |
| |
{{:pl:mindstorms:studenci:przedmioty:jsi:jsi2008:ladunek.rbt|}} | |