[[
✎ pl:dydaktyka:piw:2009:sprawozdania:piw20090429-09e
]]
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 z laboratorium 'lab_plnxt_zaawansowane' ====== Robot: Gienek Link do [[pl:mindstorms:lab:wyposazenie:07-gienek]]\\ Grupa: środa 9.30 Autorzy: Papciak, Kokoć, Srebrny Użyte narzędzia: * zestaw LEGO, * adapter BT, * PLNXT. ===== Wstęp ===== Rozpoczynając zajęcia laboratoryjne otrzymaliśmy już gotowego, skonstruowanego robota. Naszym zadaniem było dalsza \\ praca z interfejsem PLNXT. \\ Skoncentrowaliśmy się nad zaimplementowaniem algorytmu, który nazwany i opisany został jako: "Śledzenie linii". \\ Użyta została plansza testowa, która posiadała tor w postaci grubej czarnej linii, w kształcie bieżni sportowej. \\ Na niej skoncentrowało się działanie robota, który wykorzystując sensor światła dojeżdżał do niej, a następnie \\ poruszał się wzdłuż niej aż do naciśnięcia sensora dotyku, który kończył pracę algorytmu i robota. {{:pl:dydaktyka:piw2009:sprawozdania:gienek2_1.jpg|Rys. 1. Wygląd robota}} | Rys. 1. Wygląd robota | ===== Kody programów ===== Poniżej znajduje się nasza implementacja algorytmu. <code prolog> :- consult('plnxt.pl'). start :- nxt_open, nxt_light_LED(activate), thread_create(stroll,_,[detached(true)]). stroll :- nxt_go(200), sleep(1), trigger_create(_,swiatlo,prawo), trigger_create(_,pat,stop), stroll. prawo :- nxt_stop, nxt_rotate(160, -50), stroll. swiatlo :- nxt_light(L,force), L<50. pat :- nxt_touch(Value, force), Value=:=1. stop :- trigger_killall, nxt_stop, nxt_close. </code> Plik do pobrania: {{:pl:dydaktyka:piw2009:sprawozdania:wiezienie.pl|}} Włączyliśmy lampę LED, dzięki której mieliśmy lepiej oświetlone "pole manewru". Dodatkowo obniżyliśmy czujnik \\ światła tak, aby dokładniej sczytywane były wartości przez niego otrzymane. Wartość: 50, była optymalna \\ dla takiego ustawienia diody LED i robot dobrze sobie radził z odróżnianiem grubej czarnej od białego pola. \\ Nie ukrywamy jednak, że bez początkowego zaświecenia diody robot miał problemy wynikające ze słabego oświetlenia sali \\ laboratoryjnej, a nawet rzucanym przez siebie samego cieniem, więc zabrało nam trochę czasu odpowiednie dobranie tej \\ wartości. Tutaj znajdują się filmy z działania robota: \\ * [[http://www.youtube.com/watch?v=xCVZRs9ZtBs|Działanie robota]] \\ * [[http://www.youtube.com/watch?v=x025BYlur2Y|Zatrzymanie działania]] \\ ===== Spostrzeżenia, napotkane problemy ===== Co do spostrzeżeń: to nasz główno-budujący inżynier znowu narzekał, że robot już jest zbudowany na początku \\ zajęć i cała satysfakcja z budowania klocków troszkę umyka :) \\ Co do problemów: to znowu nim było fakt, że wątki uruchomione w poprzednim algorytmie nie były ubijane, \\ przez co traci się na tym sporo czasu i zastanawia się, czy samemu nie popełniło się jakiegoś błędu. Przez kilka \\ pierwszych razy fakt ten niezwykle frustruje. Rozwiązanie jest bardzo oporne i przed załadowaniem kolejnego \\ algorytmu powinniśmy uruchomić środowisko XPCE po raz kolejny. \\ Lwią część czasu zabrało nam również szukanie błędu, którego przyczyny do tej pory nie znamy. Otóż w pewnym momencie \\ robot przestał reagować na jakiekolwiek komendy PLNXT! Co śmieszniejsze robot działał z algorytmami, które popełniliśmy \\ na wcześniejszych zajęciach. Zaczęliśmy analizować kod linijka po linijce wycinając kolejne. I tak: nowy algorytm wciąż \\ nie działał, stary: działał. Okazało się, że wystarczył restart robota..., ale nie za drugim razem kiedy problem znowu \\ wystąpił i nie obeszło się bez restartu komputera. ===== uwagi dotyczące funkcjonalności PLNXT ===== * brakuje wyświetlania w na bieżąco wybranych zainstalowanych i wybranych czujników * do tej części laboratorium można stworzyć kilka małych przykładów tak jak w poprzednich opisach ===== inne uwagi ===== * (ktoś krzyczy): więcej grzebania przy klockach :-) * większa ilość plansz testowych
pl/dydaktyka/piw/2009/sprawozdania/piw20090429-09e.txt
· ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
Pokaż stronę
Poprzednie wersje
Menadżer multimediów
Do góry