Robot: Irek

Grupa: środa 12.30

Autorzy: Jakubas , Kozera, Płaszowski

Wstęp

Celem laboratoriów było przetestowanie możliwości interfejsu programistycznego PLNXT do budowy algorytmów o wyższym stopniu złożoności.

W czasie wykonywania zadania korzystaliśmy z następujących narzędzi:

  • zestaw LEGO
  • plansza testowa (opcjonalnie),
  • adapter BT
  • PLNXT

Problem: Zawieszanie wątków

Podobnie jak na poprzednich zajęciach, często zdarzało się, iż program po wykonaniu i zabiciu nie zwalniał zasobów(pomimo wykorzystania triger_killall), przez co robot nie odpowiadał do inne komendy.

Programy

Algorytm Sprzątacz

Opis programu

Robot zaprogramowany przez nas, po umieszczeniu w środkowej części planszy, porusza się po bokach kwadratu o rosnącej długości, tworząc swoistą spiralę. Przedmioty są spychane coraz bardziej na zewnątrz. Dodatkowym ulepszeniem robota była próba zamontowania części na kształt pługa, który by pomagał zsuwać przedmioty w kierunku obrzeży planszy.

Kod programu

:- consult('../plnxt/plnxt.pl').
 
start :-
	nxt_open,
	walk(1).
 
walk(10) :-	
	die.
 
walk(K) :-
	NK is ( K+(1 - (K mod 2)) ) / 3,
	nxt_go(300),
	sleep(NK),
	nxt_stop,
	nxt_rotate(300,90),
	sleep(2),
	walk(K+1).
 
die :-
	nxt_stop,
	sleep(1),
	trigger_killall,
	sleep(2), 
	nxt_stop,
	nxt_close.
 
obrot :- 
	nxt_stop,
	nxt_rotate(300,60),
	sleep(2),
	trigger_create(_,check_distance,[obrot]),
	nxt_go(300).

Załączniki

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