[[
✎ pl:dydaktyka:piw:2010:sprawozdania:piw20100526-17c
]]
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 (zaawansowane algorytmy w PLNXT) ====== * Robot: **Ewka** * Data wykonania: **26.05.2010 godz. 17:00** * Autorzy: **Gabriela Pasek, Michał Paszko, Leszek Piątek** ---- ==== Początek ==== Na początku zaznajomiliśmy się z tematyką laboratorium oraz specyfikacją algorytmów. Tym razem //Ewka// nie budziła jakichkolwiek podejrzeń co do nieprawidłowego działania. Robot początkowo zawierał szczypce, jednakże postanowiliśmy je usunąć w celu prawidłowego umocowania czujnika światła. {{:pl:dydaktyka:piw:2010:sprawozdania:ewka_ppp_wiezien.png|}} ==== Uwolnić Ewkę .. ==== Zaczęliśmy od algorytmu Więźnia. Nasz program budowaliśmy modułowo, to znaczy dodając kolejną funkcjonalność, sprawdzialiśmy jej działanie na dołączonej macie testowej. Kiedy na początku skalibrowaliśmy wartości odbieranie przez czujnik światła z kolorami wzorcowymi na macie testowej, nic nie budziło naszych wątpliwości. Aczkolwiek po pierwszym załadowaniu programu do //Ewki// i uruchomieniu predykatu //start// zdaliśmy sobie sprawę, że kolory nie są dobrze odwzorowane. Stwierdziliśmy, że powodem może być zbyt dużego natężenie światła na macie, którą umieściliśmy na biurku przy oknie. Dlatego też spróbowaliśmy poeksperymentować z umiejscowieniem czujnika światła co do wysokości. W taki sposób zebraliśmy kilka próbek wartości referencyjnych kolorów odbieranych przez czujnik, uruchamialiśmy algorytm na //Ewce//, jednak nic nie wskazywało na poprawne działanie.. //Ewka// dalej była uwięziona .. Ostatecznie postanowiliśmy umieścić matę testową na podłodze i pobierać wskazania czujnika właśnie z tej pozycji. Jak przypuszczaliśmy - nawet ponowna modyfikacja wysokości czujnika światła nie pozwoliła nam na ustalenie prawidłowych i jednoznacznych wartości i przedziałów dla identyfikacji kolorów. W dodatku ponownie pojawiały się problemy z połączeniem Bluetooth oraz 'wieszaniem się' predykatów //nxt_open// oraz //stop//. ==== Kod programów ==== === Więzień === <code prolog> :- consult('plnxt.pl'). %czarny: 17, czerwony: 40, biały: 43, szary: 35 %18,37,41,36 start :- nxt_light_LED(activate), nxt_goal(ewka, alg1). alg1 :- nxt_go(250), trigger_create(_,check_red,[nxt_stop, nxt_play_tone(1000,1000),stop]), trigger_create(_,check_line,[nxt_stop,Angle is 120 + random(120),nxt_rotate(300,Angle),alg1]). check_line :- nxt_light(Value, force),write(Value),nl, Value < 25. check_red :- nxt_light(Value, force),write(Value),nl, Value < 41, Value > 38. stop :- trigger_killall, nxt_stop, nxt_close. </code> Spakowane pliki: {{:pl:dydaktyka:piw:2010:sprawozdania:pasek_paszko_piatek_lab4.rar|}} ===== Spostrzeżenia, napotkane problemy, wnioski ===== === Napotkane problemy === * Głownym problemem na opisywanym laboratorium była mała różnica którą zwracał czujnik światła dla czerwieni (w stosunku do białego). Przez to nie byliśmy w stanie dobrze skalibrować funkcji wykrywającej nam kolor czerwony. * Ponownie pojawiał się problem z połączeniami Bluetooth oraz predykatami //nxt_open// oraz //stop//. * Czerwone pole było otoczone czarnym co spowodowało, że docelowo trzeba by użyć bardziej zaawansowanego algorytmu poszukiwania czerwieni niż się nam na początku wydawało - robot miał nie przekraczać czarnej linii. === Spostrzeżenia === * Praca w środowisku NXT będzie jeszcze większą przyjemnością, jeśli zapewni się bezawaryjną komunikację Bluetooth komputera z robotem. Może warto poświęcić trochę czasu na identyfikację źródła tego problemu. Na pewno przyszłe grupy zyskały by na czasie. * Reset połączenia bluetooth, reset bricka, środowiska PLNXT oraz wykonanie nxt_open pomagał w 100% na przywrócenie połączenia === Wnioski === * Z przyczyn od nas niezależnych nie mogliśmy zaprogramować wszystkich trzech algorytmów z laboratorium (poprzez niedokładne odczyty czujnika //Ewka// dalej jest uwięziona). ===== Uwagi dotyczące funkcjonalności PLNXT ==== * Po raz kolejny użycie dowolnych predykatów czasami powodowało 'wieszanie się' środowiska PLNXT - interpreter nie przyjmował poleceń.
pl/dydaktyka/piw/2010/sprawozdania/piw20100526-17c.txt
· ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
Pokaż stronę
Poprzednie wersje
Menadżer multimediów
Do góry