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.
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.
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ł ;)