Sprawozdanie z laboratorium nr 2

  • Robot: Franek
  • Data wykonania: 12.05.2010 godz. 9:30
  • Autorzy: Tomasz Krużel, Mateusz Stawowiak, Janusz Lisiecki

Konfiguracja stanowiska do pracy z NXT

Konfiguracja stanowiska polegała na zestawieniu połączenia robot-komputer przez interfejs Blueetooth. Sprawiło to niemało problemów wszystkim grupom.

Pierwszym robotem, którym się zajmowaliśmy był Kajtek (nr 11). Po wielu próbach i ustawieniach w rezultacie nie udało nam się zastawić połączenia z tym robotem. Odkryliśmy jednak tego powód. Otóż: Kajtek jest przystosowany do komunikacji na porcie 11(rfcomm11), ale niestety system nie posiada takiego portu (nie ma go w lokalizacji: /dev/rfcomm11 ).

Po odkryciu tego błędu poprosiliśmy o zmianę robota i otrzymaliśmy Franka (nr 6). Tutaj komunikację nawiązaliśmy bardzo szybko. Odbyło się to poprzez: usunięcie wszystkich sparowań z robotami w menu Bluetooth, uruchomieniu skryptu: ./bin/plnxt_stty franek i w trakcie jego działania sparowania urządzeń. Następnie należało edytować plik plnxt.pl poprzez dodanie/edycję wpisu: nxt_robot_definition(franek,'/dev/rfcomm6',bt,off,on_demand,17.5,11,'C','B','A',false,'S1','S2','S3','S4').

Sprawdzenie połączenia poprzez nxt_open. dało wynik pozytywny.

Praca w powłoce SWIPL

Na początek sprawdziliśmy kilka pojedynczych poleceń, przesyłanych robotowi, m.in. :

  • nxt_go(250).
  • nxt_go_cm(400,50).
  • nxt_light_LED(activate).
  • nxt_rotate(350,360).
  • nxt_voltage_millivolt(Voltage).

Filmik (youtube) - jazda robota po wydaniu polecenia w swipl

Przetestowaliśmy też programy zapisane w plikach. Robot wykonywał kilka poleceń po sobie. Skorzystaliśmy też z polecenia force które sprawia, że polecenia mogą wykonywać się cyklicznie.

Implementacja algorytmu

Z powodu problemów z połączeniem bluetooth w pierwszej części zajęć, na implementację algorytmów nie mieliśmy zbyt wiele czasu. Ale udało nam się zaimplementować ruch wewnątrz obszaru ograniczonego czarną linią.

Franek na planszy

Kod programu: Kod algorytmu 1

Robot nie jeździł do końca poprawnie, co wynikało z nie do końca dobrze ustawionego progu wykrywającego czarną linię. Różne odcień światła padający na planszę trochę mylił naszego robota. Nie zdążyliśmy już ustawić odpowiedniej wartości bo brakło nam czasu. Jednak możemy pochwalić się, że nasz robot mimo, iż czasami zdarzało mu się uciec poza planszę to jednak po chwili na nią wracał ;)

Filmik (youtube) - Franek jeździ po planszy

Spostrzeżenia, napotkane problemy, wnioski

  • Głównym problemem na zajęciach było nawiązanie komunikacji przy pomocy interfejsu bluetooth, udało nam się to dopiero przy drugim robocie, problem z pierwszym (Kajtek-11) został przez nas znaleziony i opisany na początku tego dokumentu.
  • Kolejny problem, wynikający z opisanych powyżej technicznych problemów niezależnych od nas, to mało czasu na implementację algorytmów i właściwą zabawę z robotem. Gdy robot zaczyna nas słuchać i chcielibyśmy rozwinąć nasz algorytm, czas przeznaczony na zajęcia niestety się kończy. Sugerujemy, że zajęcia powinny trwać dłużej, tak żeby na spokojnie można było programować i testować robota.
pl/dydaktyka/piw/2010/sprawozdania/piw20100512-09c.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