Sprawozdanie z laboratorium nr 1

  • Robot: Dyzio
  • Data wykonania: 05.05.2010 godz. 9:30
  • Autorzy: Renata Niedziela, Artur Glier, Michał Urbańczyk

Początek

Zaczynając laboratoria od razu zabraliśmy się do testowania modułu Mindstorms NXT. Podłączyliśmy kolejno wszystkie sensory i programem „Try Me” sprawdziliśmy ich działanie. Później mieliśmy sprawdzić kompletność naszego zestawu LEGO. Po pomieszaniu wszystkich części okazało się, o dziwo, że niczego nie brakuje i możemy poukładać wszystko z powrotem i zacząć konstruować naszego pierwszego robota.

Budowa robota

Nasz robot został zbudowany na podstawie instrukcji przykładowego robota, dostępnej w dostarczonych nam instrukcjach. Nie ma sensu wklejać tu naszych zdjęć, ponieważ ich jakość przypomina średniowieczne freski. Aby zobaczyć naszego robota wystarczy spojrzeć na jakąkolwiek okładkę zestawu LEGO Mindstorms - sztandarowy trójkołowy robot, z dwoma kołami napędowymi(niezależnymi) i trzecim „wleczonym” za sobą. Trzeci silnik, zamontowany z przodu, odpowiadał za dodatkowe elementy np. chwytak, ale nie wykorzystaliśmy tej możliwości. Nasze możliwości Boba Budowniczego zostały wyczerpane po zamocowaniu z przodu czujnika nacisku. Naszego robota dopadły jednak choroby wieku dziecięcego i czujnik namiętnie obluzowywał się - na przyszłość trzeba pomyśleć nad lepszym jego zamocowaniem, akurat ten sensor ma styczność ze ścianami i przeszkodami więc musi być szczególnie dobrze zamocowany.

Programu

Celem naszego programu było odbijanie się od przeszkód. Z założenia miało to wyglądać tak:

Idź tak długo na przód, aż napotkasz przeszkodę. Po napotkaniu przeszkody zatrzymaj się i cofnij o pewną niewielką odległość(aby móc sprawnie zawrócić nie zahaczając o przeszkodę). Obróć się o kąt prosty w lewo. Powrót do początku programu.

Plik programu:proj1.rbt

Wnioski i spostrzeżenia

Oczywiste jest, że przy takim programie robot będzie chodził po mniejszych lub większych prostokątach i w końcu zablokuje się na jednej prostokątnej trasie i będzie ją powtarzał bez końca. Nie udało nam się jednak tego osiągnąć, bo po uderzeniu lub najechaniu w przeszkodę robot czasami skręcał i jego ruchy generalnie bliżej miały się do ruchów Browna niż do logicznego programu. Dodatkowym, może i największym problemem okazało się to, że z początku nie potrafiliśmy zaprogramować przerwania ruchu po uderzeniu w przeszkodę. Próbowaliśmy „próbkować” - poruszać robota o bardzo niewielkie odległości i po każdym takim ruchu sprawdzać stan czujnika. Przynosiło to jednak mierne skutki. Dopiero pod koniec zajęć znaleźliśmy sposób na obejście tego problemu, ale nie udało się tego sprawdzić, bo laboratorium dobiegało końca, a większość grupa bardziej zafascynowana była zamocowaniem do robota chwytaka lub działa laserowego, niż poprawianiem programu, który z założenia okazał się zły.

Największym wnioskiem wyniesionym z pierwszych zajęć jest to, że trzeba dobrze przemyśleć algorytm. W rzeczywistości ani silniki LEGO ani nasz przygotowany tor nie są idealne i może nas spotkać wiele nieprzewidzianych problemów.

Sugestie

Wadą zajęć było to, że nie mieliśmy sprecyzowanego zadania - nie wiadomo było co robić. Każdy kombinował po swojemu, bez specjalnego celu. Lepiej by się sprawdziły dokładnie opisane bardzo proste zadania, może przykładowe programy, którymi powinniśmy się kierować.

pl/dydaktyka/piw/2010/sprawozdania/piw20100505-09e.txt · ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0