[[
✎ pl:dydaktyka:piw:2010:sprawozdania:piw20100526-15a
]]
aiWiki
Pokaż stronę
Ostatnie zmiany
Indeks
Zaloguj
Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić.
====Sprawozdanie nr 4==== Robot:[[https://ai.ia.agh.edu.pl/wiki/pl:mindstorms:lab:wyposazenie:11-kajtek|Kajtek]]\\ Data:** 26.05.2010**\\ Grupa:** Woliński Krzysztof, Dawid Boisse, Paulina Mlaś**\\ ===Przygotowanie do zajęć=== Najpierw uruchomiliśmy dwa testowe programy, aby sprawdzić naszą komunikację z //Kajtkiem//. ==Ćwiczenie pierwsze== <code> :- consult('plnxt.pl'). start :- nxt_open, rectangle_loop. rectangle_loop :- nxt_go_cm(350,40), nxt_rotate(350,90), rectangle_loop. </code> ==Ćwiczenie drugie== <code> :- consult('plnxt.pl'). start :- nxt_open, nxt_goal(kajtek, rectangle_loop). rectangle_loop :- nxt_go_cm(350,40), nxt_rotate(350,90), rectangle_loop. stop :- trigger_killall, nxt_stop, nxt_close. </code> ===Pierwsze zadanie=== Zgodnie z instrukcją rozpoczęliśmy implementację pierwszego zadania o nazwie "Więzień". W pierwszej kolejności używając czujnika światła odczytaliśmy wartości dla kolorów: białego, czerwonego i czarnego. <code> Biały:42,40,41 Czerwony:35,37,37 Czarny:19,25,26,26 </code> ==Kod programu== <code> :- consult('plnxt.pl'). start :- nxt_open, nxt_goal(kajtek, go_on_buddy). go_on_buddy :- nxt_go(800,30), nxt_light(Value), trigger_create(_,check_red,go_go_go), trigger_create(_,check_black,go_round), write(Value),nl, go_on_buddy. check_black :- nxt_light(Value,force), Value < 30, write('black'),write(Value),nl. check_red :- nxt_light(Value,force), Value > 34,Value < 38, write('red'),write(Value),nl. go_go_go :- nxt_go(500,300), write('go'),nl. go_round :- nxt_rotate(300,90), write('round'),nl. stop :- trigger_killall, nxt_stop, nxt_close. </code> Niestety zauważyliśmy, iż robot nie poruszał się zgodnie z naszymi oczekiwaniami: przekraczał czarną linię zanim napotkał czerwony kwadrat. Spostrzegliśmy jednak, że plansza nie była jednorodnie oświetlona, np. z powodu cieni generowanych przez samego robota albo biurko. Aby rozwiązać ten problem włączyliśmy LEDa, jednak to także nie rozwiązało całkowicie naszego problemu. Zanotowaliśmy nowe wartości dla kolorów: białego, czerwonego i czarnego, które generował //Kajtek//. Kilka razy członkowie naszego zespołu podnosili robota, co było błędem ponieważ robot nadal zczytywał wartości i błędnie reagował. Nowe wartości to: <code> Biały:41,42,43,44 Czerwony:38,39 Czarny:28,30,31,30,31 </code> ==Poprawiony kod== <code> :- consult('plnxt.pl'). start :- nxt_open, nxt_light_LED(activate), nxt_goal(kajtek, go_on_buddy). go_on_buddy :- nxt_go(800,30), nxt_light(Value), trigger_create(_,check_red,go_go_go), trigger_create(_,check_black,go_round), write(Value),nl, go_on_buddy. check_black :- nxt_light(Value,force), Value < 33, write('black'),write(Value),nl. check_red :- nxt_light(Value,force), Value > 37,Value < 40, write('red'),write(Value),nl. go_go_go :- nxt_go(500,300), write('go'),nl. go_round :- nxt_rotate(300,90), write('round'),nl. stop :- trigger_killall, nxt_stop, nxt_close. </code> ===Podsumowanie=== Robot niekiedy poprawnie wykonywał swoje zadanie, ale zdarzało się również, że nie poruszał się zgodnie z zamierzeniami. Bardzo trudno było dobrać wartości w ten sposób by robot bezbłędnie je odczytywał i dobrze na nie reagował.
pl/dydaktyka/piw/2010/sprawozdania/piw20100526-15a.txt
· ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
Pokaż stronę
Poprzednie wersje
Menadżer multimediów
Do góry