Program

Do realizacji wybrałem program „Śledzenie linii”. Mój program działał następująco: robot jechał po linii, kiedy zauważył że z niej zjechał („czujnik światła”) wykonywał obrót w lewo w poszukiwaniu linii (45st) a następnie w prawo(90st). Jeżeli podczas obrotu natrafił na linię to poruszał się dalej wzdłuż niej (aż do kolejnego jej zgubienia itd.). Po kliknięciu przycisku (czy „czujnika nacisku”) robot się zatrzymywał. Nie zaimplementowałem części „dojazdowej” kiedy robot na początku jedzie na wprost w poszukiwaniu linii - nie wyrobiłem się w czasie. Dodatkowo dodałem różne 'melodie' do różnych akcji tak żeby móc 'debugować' działania robota.

:- consult('plnxt.pl').
 
start :-
	nxt_open,
	thread_create(first_run,_,[detached(true)]).
 
first_run :-
	trigger_create(_,white_check,search_for_line),
	trigger_create(_,press,stop),
	go_on_buddy.
 
go_on_buddy :-
	nxt_play_tone(1500,500),
	nxt_go(150),
	sleep(1).
 
press :-
	nxt_touch(Value,force),
	Value > 0.
 
white_check :-
	nxt_light(Value,force),
	Value > 50.
 
black_check :-
	nxt_light(Value,force),
	Value < 51.
 
search_for_line :-
	nxt_stop,
	nxt_play_tone(1000,1000),nxt_play_tone(1500,1000),nxt_play_tone(2000,1000),
	trigger_create(_,black_check,line_found),
 	nxt_rotate(150,-45),
	nxt_rotate(150,90).
 
line_found :-
	nxt_stop,
	nxt_play_tone(1500,1000),nxt_play_tone(2000,1000),nxt_play_tone(1000,1000),
	trigger_create(_,white_check,search_for_line),
	go_on_buddy.
 
stop :-
	trigger_killall,
	nxt_stop,
	nxt_close.

Uwagi

Przez całe zajęcia musiałem dobierać wartości dla czujnika światła. Ciągle zmieniały się warunki oświetlenia. I muszę przyznać, że tylko na początku zajęć udało mi się osiągnąć zadowalające efekty (czarne było czarne, a białe było białe - robot dobrze rozróżniał czy jedzie po linii czy z niej zjechał). Wszystkie cienie (rzucane np. przez samego robota) utrudniały działanie skryptu.

pl/dydaktyka/piw/2009/sprawozdania/piw20090429-15e.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