Labolatorium z PLNXT (2)

Autorzy: Michał Chalupczak, Słowamorir Widlarz, Grzegorz Dydo-Rozniecki

Robot: Jasio


Cel labolatorium

Na laboratoriach staraliśmy się zaimplementować jeden z algorytmów zaproponowanych w opisie: Śledzenie linii. Robot umieszczony na planszy testowej dojeżdża do grubej czarnej linii i od tego momentu stara się poruszać wzdłuż tej linii. Po wciśnięciu sensora dotyku kończy pracę.

Wykonanie ćwiczenia

:- consult('plnxt.pl').
 
start:-
	nxt_open,
	nxt_light_LED(activate, force),
	go_on_buddy,
	trigger_create(_,pushed,nxt_stop).
 
go_on_buddy :-
	nxt_go(500),
	trigger_create(_,line,find_way).
 
find_way :-
	nxt_stop,
	sleep(0.1),
	nxt_go(300,50),
	nxt_stop,
	sleep(0.1),
	nxt_turn(300, 160),
	nxt_go_sec(300, 2),
	trigger_create(_,line,tracking).
 
 
tracking :-
	nxt_stop,
	sleep(0.1),
	nxt_turn(300, -160),
	go_on_buddy.
 
 
line :-
	nxt_light(Value,force),
	Value < 20.
 
pushed :-
	nxt_touch(Value,force),
	Value=1. 

Problemy

  • Za każdym razem po wykonaniu programy interpreter Prologa sygnalizował ostrzeżenie: „Warning: [Thread 4] Thread running (…) died on exception: Out of global stack”, a po wyjściu z Prologa wyjątek: „1 threads wouldn't die”. Zapewne jest to spowodowane błędem w implemetacji PLNXT, choć z punktu widzenia wykonania ćwiczenia jest nieszkodliwe.
  • Skręcanie robota o 90 stopni nie ma „okrągłej” wartości i bardzo ciężko wymierzyć dokładnie obrót o kąt prosty.
  • Dwa razy Jaś zaczął niespodziewanie wydawać z siebie wysoki, cichy dźwięk, który ustawał po wyłączeniu i ponownym włączeniu robota.
pl/mindstorms/studenci/przedmioty/jsi/jsi2008/jsi20090121-09b.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