Sprawozdanie 4

Robot: Ewka
Data wykonania: 26.05.2010 godz. 9:30
Autorzy: Martyka Łukasz, Stereńczak Agata, Szczurek Joanna

Budowa robota

Otrzymaliśmy już w pełni zbudowanego robota Ewkę. Dokonaliśmy niewielkich zmian z umocowaniem sensora światła tak, aby jego położenie było odpowiednio nisko nad powierzchnią.

Algorytm Więzień

Pracę rozpoczęliśmy od implementacji algorytmu Więzień. Po przeanalizowaniu treści zadania wydawało nam się iż sama implementacja nie powinna przysporzyć większych problemów, gdyż algorytm ten jest rozbudowaną wersję algorytmu który już pisaliśmy. Okazało się jednak inaczej. Głównym problemem było rozpoznanie koloru czerwonego na planszy. Kolor czerwony rozpoznawany był jako wartość 66, kolor biały to wartość 67. Ta niewielka różnica powodowała iż czasami gdy robot się obrócił, cień który rzucał zmieniał wartość rozpoznawaną na kolorze białym na 66. Przez te problemy robot uciekał z więzienia nie wtedy kiedy powinien. Sytuacja taka przedstawiona jest na załączonym filmiku. Robot jedzie wewnątrz więzienia, cień padający z niego powoduje iż na białym obszarze odbiera wartość odpowiadającą czerwonemu i zaczyna uciekać.

niecałkiem działający więzień

Kod programu:

:- consult('plnxt.pl').
 
normal_go :- trigger_create(_,check_light,change_angle),
        trigger_create(_,check_red,run),
        nxt_go(100).

start :-nxt_light_LED(activate, force),
        write("start"),
        normal_go.
stop :-
        trigger_killall,
        nxt_stop.

change_angle :-
        Angle is 100 + random(60), 
        nxt_rotate(360, Angle, force), normal_go,
        write("zmieniam kat").

check_light :-
        nxt_light(Light,force),
        Light < 50,
        write("znalazlem czarny").

check_red :-
        nxt_light(Light,force),
        Light > 60, Light < 66, 
        write("znalazlem czerwony").

run :- nxt_go_cm(800,50, force),
    nxt_play_tone(500, 2000), stop. 

Niestety więcej algorytmów nie udało się nam zaimplementować, chociaż wydały nam się bardzo interesujące.

Wnioski

W pewnym momencie zauważyliśmy iż nasza Ewka zbyt często kręci się w kółko. Okazało się iż jedno z kół blokowało się i przez to powodowało nadmierne kręcenie się robota. Po wymianie koła na inne problem ustąpił.
Proponowaną przez nas poprawą algorytmu, może być zmiana klucza ucieczki. Uważamy, iż kolor czerwony tak niewiele różni się od białego, że wykrycie go jest bardzo problematyczne. Można by go zastąpić innym kolorem charakteryzującym się inną wartością lub np więzień ucieka po klaśnięciu, znalezieniu pionowej przeszkody.

Plik z algorytmem

pl/dydaktyka/piw/2010/sprawozdania/piw20100526-09d.txt · ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0