Sprawozdanie z zajęć laboratoryjnych realizowanych przez: Świerkosz, Wróbel, Kowalski. ==== Realizacja zadań ==== Po przyjściu na stanowisko zastaliśmy zbudowanego robota. Przebudowaliśmy go trochę zmieniając układ sensorów, po czym przystąpiliśmy do realizacji właściwej części laboratorium.\\ {{pl:dydaktyka:piw2009:sprawozdania:200904222-17c-foto_01.jpg}} {{pl:dydaktyka:piw2009:sprawozdania:20090422-17c-foto_2.jpg}} === Algorytm numer 1 === Algorytm naiwny, robot pcha piłkę. :- consult('../plnxt.pl'). % uruchamia algorytm start :- nxt_open, nxt_light_LED(activate), trigger_create(_,check_light,[stop]), nxt_go(200). % sprawdza jasność podłoża check_light :- nxt_light(Value,force), Value < 40. % zatrzymuje robota stop :- trigger_killall, nxt_stop, nxt_close. {{pl:dydaktyka:piw2009:sprawozdania:20090422-17c-foto_07.jpg}} {{pl:dydaktyka:piw2009:sprawozdania:20090422-17c-foto_06.jpg}}\\ [[http://www.youtube.com/watch?v=jHLB776_sxg|YouTube: Ball I]] === Algorytm numer 2 === :- consult('../plnxt.pl'). % uruchamia algorytm start :- nxt_open, nxt_play_tone(1000,1000), nxt_go(300), trigger_create(_,check_distance,[turn]). % sprawdza odległość od potencjalnej przeszkody check_distance :- nxt_ultrasonic(Distance,force), Distance < 20. % nasłuchuje check_sound :- nxt_sound(Value,force), Value > 70. % wykonuje obrót i jedzie dalej turn :- nxt_stop, trigger_create(BZZ,check_sound,[stop]), nxt_rotate(350, 90), nxt_go_sec(300, 2), nxt_rotate(350, -90), trigger_kill(BZZ), trigger_create(_,check_distance,[turn]), nxt_go(300). % zatrzymuje robota stop :- nxt_play_tone(1000,1000), trigger_killall, nxt_stop, nxt_close. [[http://www.youtube.com/watch?v=ErirMhLaPgM|YouTube: Barrier I]], [[http://www.youtube.com/watch?v=u263snQndqI|YouTube: Barrier II]] === Algorytm numer 3 === :- consult('../plnxt.pl'). % uruchamia algorytm start :- nxt_open, trigger_create(_,check_sound,[run]), trigger_create(_,check_touch,[stop]), nxt_go(150). % nasłuchuje check_sound :- nxt_sound(Value,force), Value > 50. % sprawdza czujnik dotyku check_touch :- nxt_touch(Value,force), Value = 1. % wykonuje obrót i jedzie dalej run :- nxt_stop, Angle is 60 + random(60), nxt_rotate(400, Angle), nxt_go_sec(600, 2), trigger_create(_,check_sound,[run]), nxt_go(150). % zatrzymuje robota stop :- trigger_killall, nxt_stop, nxt_close. [[http://www.youtube.com/watch?v=brR4_9eT6F8|YouTube: Panic I]]