====== Sprawozdanie. Laboratorium nr 1 ====== ===== 1. Cel zajęć ===== Celem zajęć było zapoznanie się z zestawem do samodzielnego programowania i budowania robotów Lego Mindstorms. Podczas zajęć poznaliśmy części składowe robota, sposób komunikacji z komputerem, typy elementów pomiarowych, rodzaj napędu. Posiedliśmy również podstawowe informacje na temat programowiania (zarówno z poziomu wyświetlacza umieszczonego na robocie, jak i przystosowanego do tego środowiska). Udało nam sie wykonać proste zadania. ===== 2. Informacje wstępne ===== Po wejściu do sali, naszym oczą ukazały się roboty Lego Mindstorms. Do tej pory znaliśmy je tylko z telewizji lub wystaw. Żądni wiedzy zabraliśmy się do zapoznania się z ich systemem. Zaczęliśmy od instrukcji. Skąd dowiedzieliśmy się o częściach składowym zestawu oraz sposobu komunikacji z nimi. Masz robot posiadał główny kontroler, 4 czujniki (natężenia dźwięku, odległości, koloru oraz nacisku) 3 serwonapędy oraz części mechaniczne wykonane z elementów znanych nam z Lego Technics. Ku naszemu zaskoczeniu proste programy można było realizować z poziomu kontrolera. Mianowicie można było zadać robotowi ciąg prostych 5 komend, a następnie wrzucić w pętle dla lepszego efektu. Zabraliśmy się do roboty. I zaczęliśmy testować różne czujniki. Jako pierwszy z nich wybraliśmy czujnik dźwięku. Na dźwiek testowany przez nas robot miał zmieniać kierunek jazdy z "do przodu" na "do tyłu". Niestety pomimo naszych starań i czułych słówek, a także grożenia Bolkowi skręcał, na nasze oko, w losowych momentach. Następny był czujnik nacisku. Podczas naciskania robot sprawował się bez zarzutu. Czujnik odległości też działał dość zastanawiająco. Także czujnik zmiany koloru działał tylko gdy podnieśliśmy Bolka i podstawiliśmy mu czarny telefon. Po dość długich próbach i usłyszeniu denerwujących dźwięków uruchomiliśmy środowisko Lego Mindstorms NXT. ===== 3. Programowanie w środowisku graficznym ===== Po odpaleniu środowiska w pierwszym momencie wydało nam się dość dziwne. Aczkolwiek po paru chwilach bez trudu posługiwalismy sie większością funkcji. Nasze programy opierały się głównie na wykonywaniu sekwencji ruchów, uzależnionych od danych płynących z czujników. Jako, że z poruszaniem Bolkiem nie mieliśmy najmniejszych problemów. Postanowiliśmy użyć szczypcy. Dokonaliśmy odpowiedniej konfiguracji robota. Niestety leżąca piłka nie miała wystarczająco dużo tarcia by nacisnąć czujnik. Po krótkim zastanowieniu. Postanowiliśmy wykorzystać ścianę i czujnik odległości. Umieściliśmy piłkę pod ścianą. Następnie ustawiliśmy robota na wprost ściany i staraliśmy się znaleźć odpowiedni odległość, w której nasz robot powienien zacząć zamykać szczypce. Po paru próbach stwierdziliśmy, iż najłatwiej będzie podchodzić do ściany z małym krokiem, a następnie po każdym przesunięciu sprawdzać odległość. Piłka była nasza. Potem tylko odjazd od ściany i sekwencja ruchów. Próbowaliśmy także okiełznać czujnik natężenia dźwięku. Niestety, na początku nie zawsze robot działał według naszych przewidywań (niektóre z naszych dźwięków były za ciche). Oto przykładowy schemat wykonujący podjazd do ściany, chwytający kulkę, następnie odjazd, skręt, chwila prosto i stop. {{ http://student.agh.edu.pl/~wwiktor/tn_lego.JPG }} ===== 4. Podsumowanie ===== Laboratorium bardzo nam się podobało. Nareszcie przedmiot naszych zajęć znajdował się poza komputerem i nie był pełną abstrakcją. W prosty i przyjemny sposób sterowaliśmy prawdziwym robotem :)