Sprawozdanie z laboratorium 1
1. Wstęp
Celem pierwszego laboratorium było zapoznanie się z: brickiem ( Czesław), sposobem komunikacji i środowiskiem programistycznym Lego NXT. Po zapoznaniu należało zaimplementować kilka prostych algorytmów.
2. Przebieg ćwiczenia
Początek
Pierwszą czynnością którą zajęliśmy się podczas laboratorium było zapoznanie się z stanowiskiem pracy. W skład stanowisko weszły następujące elementy: Legobrick, UserGuide, mapa zawierająca przykładową trasę, skrzynka wraz z klockami i komputer PC z oprgogramowaniem LEGONXT. Następnie zajęliśmy się komunikacją robota z komputerem. Sukcesem zakończyła się probą łączności przy wykorzystaniu protokołu USB. Niestety nie udało nam się podłączyć robota przy wykorzystaniu bluetooth ( brak hasła administratora).
Zapoznanie
Kolejną rzeczą którą zrobiliśmy było testowanie Czesława. W tym celu przeglądliśmy listę funkcji dostępnych na panelu operatorskim. Z poziomu bricka możemy uruchamiać programy, kasować je, wyszukiwać inne bricki, ustawić widoczność naszego robota. Sprawdziliśmy działanie robota poprzez uruchamianie testowych algorytmów zawartych w Try me. Niestety nasi koledzy narzekali na dźwięki wydawane przez Czesława, sygnalizujące np. odległość od przeszkody, stopień rozwarcia szczęk. Następnie naszą uwagę skupiliśmy na wskazaniu sensorów zawartych w View. Okazało się to pomocne przy formułowaniu warunków instrukcji sterujących w dalszych pracach. Należy zwrócić uwagę na wybranie odpowiednich portów podczas konfiguracji wskazań sensorów.
Programowanie
Ostatnim owocem naszej pracy było napisanie kilku programów, sprawdzających działanie Czesława.
Wykorzystanie sensorów
Pierwsze napisane przez nas programy wykorzystywały zainstalowane sensory do rozpoczęcia ruchu robota. W tym celu wykorzystaliśmy wszystkie dostępne urządzenia pomiarowe
Najważniejszym elementem programu jest pętla while, która wykonuje się do momentu aż zostanie zarejestrowany dźwięk o odpowiednim natężeniu. Następnie następuje ruch Czesława do przodu. Czynność ta wymagała użycia bloku move, który umożliwia sterowanie poszczególnymi silnikami ( ruch szczęk, ruch lewego koła, ruch prawego koła). W tym bloczku możemy ustalić moc silników, czas wykonywania komendy, co ma zrobić robot po zakończeniu ruchu, kierunek ruchu.
Wykorzystanie sensora dotyku: http://www.youtube.com/watch?v=UAJuditITtQ
Wykorzystanie sensora dźwięku: http://www.youtube.com/watch?v=GuXKaCbU6TA
Wykorzystanie sensora światła: http://www.youtube.com/watch?v=I2AGFFk1118
Logika
Celem programu było wykorzystanie instrukcji switch. Robot jeśli usłyszał dźwięk ma jechać do tyłu przez 2 sekundy, w przeciwnym wypadku ma poruszać się do przodu.
Film: http://www.youtube.com/watch?v=TY8QyJFaYHM
Ostatni program miał umożliwić robotowi podniesienie piłki. Po podniesieniu, robot ma się cofać.
Pierwszą czynnością był rozwarcie szczęk. Wykorzystano blok „move”, należy pamiętać o nieprzekraczaniu kątu rozwarcia szczęk. Pętla while posłużyła do zlokalizowania kulki. Zadziałanie sensora dotyku pozwoliło wyjść z pętli, a następnie umożliwiło Czesławowi złapanie piłki.
Film:http://www.youtube.com/watch?v=i88rx1onKRA
3. Podsumowanie i sugestie
Laboratorium pozwoliło nam zapoznać się z podstawami obsługi LegoMindstorms. Wykorzystanie View wydatnie ułatwia konstrukcję instrukcji warunkowych ( warunki stopu while, warunek przełączania switch). Do minusów należy zaliczyć kłopoty z konfiguracją bluetooth, która umożliwiłaby efektywne wykorzystanie czasu dostępnego podczas laboratorium. W instrukcji zauważyliśmy różne konfigurację bricków, uważamy że może posłużyć to do urozmaicenia laboratorium. Myślimy że ważnym elementem laboratorium wprowadzającego powinno być zbudowanie od początku robota. Niemniej jednak przyjemnie spędziliśmy czas, a przy poznając środowisko Lego ( szkoda że tego nie było na pierwszym roku :)).
4. Spakowane programy