To jest stara wersja strony!


Sprawozdanie z laboratorium nr 6

  • Robot: Irek oraz gościnnie Henio
  • Data laboratorium: 09.06.2010 godz. 9:30
  • Data wykonania: 09.06.2010
  • Autorzy: Jakub Gorzała, Oskar Jankiewicz, Łukasz Kowalski

Budowa robota

Podczas ćwiczenia wykorzystywaliśmy w pełni wyposażonego robota, TriBota.

Konfiguracja stanowiska pracy

Po uruchomieniu komputerów i pomyślnym połączeniu się z robotem Dyziem, przystąpiliśmy do pracy nad programem.

Zaimplementowane algorytmy

Więzień (wersja na dwa roboty)

Pierwszą część laboratorium poświęciliśmy na odpowiednie zkaliborwanie robota. Celem kalibracji było tak dobranie wartości pobieranych przez fotokomórkę, aby odpowiednio wykrywane były kolor czarny oraz biały. Pojawiły się z tym spore problemy. Oświetlenie na stolikach różniło się znacznie od oświetlenia na podłodze, co uniemożliwiło uniwersalną kalibrację. Nawet na samym stoliku (przy wyłączonej jak i włączonej diodzie doświetlającej) fotokomórka zwracała wartości bardzo różne. Po dłuższej chwili, gdy kalibracja wydawała się być zadowalająca, przystąpiliśmy do realizacji programu „Więzień” z użyciem dwóch robotów.

:- consult('plnxt.pl').

start :-

     nxt_goal(dyzio, go_go_go),
     nxt_goal(henio,go_go_go).

go_go_go :-

     nxt_go(120),
     nxt_light_LED(activate,force),
     trigger_create(1,black_hole, die_robots),
     trigger_create(2, red_light, run_run).

black_hole :-

     nxt_light(Value,force),
     write(Value), write(', \n'),
     Value < 50,
     nxt_light(Value,force),
     Value < 50.

red_light :-

     nxt_light(Value,force),
     write(Value), write(', red\n'),
     Value < 63,
     Value > 55.

die_robots :-

     nxt_switch_robot(henio),
     nxt_rotate(200,180,force),
     nxt_go(900,force),
     nxt_switch_robot(dyzio),
     nxt_rotate(200,180,force),
     nxt_go(900,force).

run_run :-

     trigger_kill(1),
     trigger_create(3,black_hole, stop),
     nxt_go(300).

turner_brown :-

     nxt_rotate(120, 120,force),
     go_go_go.

stop :-

     trigger_killall,
     nxt_stop,
     nxt_close.

Zdołaliśmy podczas zajęć zaimplementować poprawnie i w całości jeden algorytm - Sprzątacz. Rezultat możemy uznać za zadowalający, czego dowodem jest: (Youtube) Film ilustrujący działanie robota
Po raz kolejny dość problematyczna okazała się kalibracja sensorów. Na filmie powyżej widać, że np. robot reaguje na czerwoną piłeczkę, która słusznie interpretuje jako element nieporządany podlegający posprzątaniu, ale już zieloną gąbkę w zupełności ignoruje. Niemniej ze sporą skutecznością irek zdał egzamin na wykwalifikowanego konserwatora powierzchni płaskich.

Co przybyło?

Tutaj zabrakło nie chęci, a czasu ;)

Spostrzeżenia, wnioski

Wydaje się, że ilość pracy przewidziana na laboratorium jest możliwa do zrealizowania w teorii. W warunkach praktycznych narzut na konfigurację sensorów, problemy techniczne z oświetleniem itd, przekładają się na niemożność realizacji wszystkich interesujących algorytmów, w tak krótkim czasie. Z pewnością baza sensorów, a może dobór planszy z kolorami łatwiej-interpretowalnymi przez sensor pozwolą przyspieszyć realizację zadań w przyszłości.

Plik z programem

pl/dydaktyka/piw/2010/sprawozdania/piw20100609-09b.1276268655.txt.gz · ostatnio zmienione: 2019/06/27 15:54 (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