To jest stara wersja strony!


Sprawozdanie z laboratorium (zaawansowane algorytmy w PLNXT)

  • Robot: Ewka
  • Data wykonania: 2.06.2010 godz. 9:30
  • Autorzy: Gabriela Pasek, Michał Paszko, Leszek Piątek

Początek

Jak zawsze na początku zapoznaliśmy się z tematyką laboratorium. Z racji tego, że na poprzednich zajęciach udało nam się zaimplementować tylko algorytm Więźnia, zaczęliśmy od algorytmu Sprzątacza.

Dostaliśmy zbudowanego już robota, jednakże postanowiliśmy usunąć szczypce i zamienić je na własny spychacz. Zmieniliśmy także umiejscowienie czujników na Ewce.

Zadanie postanowiliśmy realizować w następujący sposób: robot miał obracać się i sprawdzać, czy w promieniu 30-40 cm znajduje się jakiś przedmiot; jeśli tak - podjeżdżał do niego i wypychał go a następnie cofał się na początkową pozycję. Na początku zaimplementowaliśmy algorytm bez stosowania triggerów. Robot zachowywał się poprawnie, jednak nie kończył pracy po wypchnięciu wszystkich przedmiotów. Aby zrealizować tą własność użyliśmy triggerów. Pomimo, że kod programu jest poprawny, otrzymaliśmy błąd arytmetyczny, co nie pozwoliło na pełne przetestowanie nowej wersji.

Kod programów

Sprzątacz ver. 1

:- consult('plnxt.pl').
 
start :-
	nxt_goal(ewka, alg1).
 
alg1 :- 
	nxt_rotate(200, 10),
	nxt_ultrasonic(Value,force),write(Value),nl,
	Value < 21,
 	%trigger_create(_,check_distance,[nxt_go_cm(200, 30),nxt_go_cm(-200, 30)]),
	alg1.
 
alg1 :-
	alg1 :- 
	nxt_rotate(200, 10),
	nxt_ultrasonic(Value,force),write(Value),nl,
	Value > 21,
 	%trigger_create(_,check_distance,[nxt_go_cm(200, 30),nxt_go_cm(-200, 30)]),
	alg1.
 
 
check_distance :-
	nxt_ultrasonic(Value,force),write(Value),nl,
	Value < 21.
 
stop :-
	trigger_killall,
	nxt_stop,
	nxt_close.

Sprzątacz ver. 2

:- consult('plnxt.pl').
 
start :-
	nxt_goal(ewka, alg1).
 
alg1 :- 
	nxt_rotate(200, 360),
 	trigger_create(_,check_distance,[nxt_go_cm(200, 30),nxt_go_cm(-200, 30)]),
	alg.
 
check_distance :-
	nxt_ultrasonic(Value,force),write(Value),nl,
	Value < 21.
 
stop :-
	trigger_killall,
	nxt_stop,
	nxt_close.

Spakowane pliki źródłowe: lab5_ewka_ppp.rar

Spostrzeżenia, napotkane problemy, wnioski

Napotkane problemy

Spostrzeżenia

Wnioski

Uwagi dotyczące funkcjonalności PLNXT

pl/dydaktyka/piw/2010/sprawozdania/piw20100602-09e.1275850908.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