====== Sprawozdanie z laboratorium nr 4 ====== * Robot: **Ewka** * Data wykonania: **02.06.2010 godz. 15:30 * Autorzy: **Marcin Kisielewski, Monika Burda, Mateusz Jop, ** ---- ===== Początek ===== Ustanowienie połączenia z robotem przebiegło bez problemów. Test poprawności połączenia wykonaliśmy wpisując instrukcję nxt_go(200,200). ===== Budowa robota ===== W celu wykonania laboratorium musieliśmy zmodyfikować robota do postaci pokazanej na zdjęciach. Niepotrzebne sensory zostały odpięte, a wymagane zostały podłączone. Modyfikacją robota Ewka Zajmował się Marcin. {{:pl:dydaktyka:piw:2010:sprawozdania:jedenkisiel.jpg|}} {{:pl:dydaktyka:piw:2010:sprawozdania:dwakisiel.jpg|}} =====Implementacja===== :- consult('./plnxt.pl'). start :- nxt_light_LED(activate), nxt_goal(henio, prog), trigger_create(_,czy_czarny,turn), trigger_create(_,clap,stop). obroty :- trigger_create(_,czy_czarny,turn). prog :- nxt_go_cm(150,100), prog. prog2 :- sleep(1), % trigger_create(a,czy_czarny,turn), % trigger_kill(a), nxt_go_cm(300,1), prog. turn :- nxt_stop, nxt_go(-300,force), sleep(2), nxt_turn(400,30), % % stop, % nxt_turn(800,90), trigger_create(_,czy_czarny,turn) panika :- nxt_stop, nxt_go_cm(800,10), nxt_rotate(800,45), nxt_go_cm(800,10), nxt_rotate(800,-90), nxt_go_cm(800,20), nxt_rotate(800,90), nxt_go_cm(800,10), nxt_rotate(800,-45). czy_koniec :- trigger_create(_,push,stop). clap :- nxt_sound(Value,force), Value > 15. push :- nxt_stop, nxt_touch(Value,force), Value = 1. czy_czarny :- light(V), V<59. czy_czerwony :- light(V), V<31, v>25. czy_bialy :- light(V), V>60. light(Value) :- %nxt_stop, nxt_light(Value,force). %write("light wynosi "),write(Value) stop :- trigger_killall, nxt_stop. Niestety w początkowej fazie implementacji popełniliśmy błąd, który dzięki pomocy prowadzącego zostął naprawiony. Przez wykonanie owego błędu nie mogliśmy ukończyć laboratorium. Zdefinjowany algorytm jest jedynie więzniem, który napotykając obiekt zatrzymuje się. Dodatkowo z porzednich laboratoriów umięscilsmy w programie awaryjne wyłączenie robota w skutek klasnięcia. =====Wnioski i spostrzeżenia===== * Kilkakrotnie wystąpił problem z komunikacją poprzez bluetooth, co zmuszało nas do restartu robota oraz ponownego nawiązywania połączenia. * Kolejnym problemem który wystąpił to wypadający kabel łączący silnik A z sterownikiem. W trakcie poruszania się robot ulegał drganiom, co było powodem wypadania kabla. Problem ten zauważylismy dopiero w połowie laboratorium. Wymiana kabla na inny rozwiązała problem. * Problemem okazało się również obracanie robota. Po pełnym obrocie, robot nie był w tej samej pozycji co było pewnym utrudnieniem w jego programowaniu. * Ostatnim problemem było ustawienie planszy. Plansza musiała się znajdować w takim samym oświetleniu, ponieważ gdy na planszę padało światło tylko w jednym miejscu, to sensor światła odczytywał inną wartość czerni, bieli, czerwieni niż ta część planszy znajdująca się w "cieniu". =====Uwagi do laboratorium===== Przydałaby się lista z problemami oraz rozwiązaniem(przynajmniej teoretycznym) na jakie napotykali się studenci w trakcie wykonywania laboratoriów. Lista taka mogła by się znajdować na wiki.