Sprawozdanie z laboratorium 2 (zapoznanie z PLNXT)

Data: 08.04.2009
Godzina: 14.00
Skład grupy: Tomasz Dzierżanowski, Miłosz Fedak, Paweł Bicz
Robot: HENIO
AGH, WEAIiE, Informatyka Stosowana, IV rok, 2008/2009

Implementacja algorytmów

Algorytm 1

start_light :-
	nxt_open,
	trigger_create(_,check_light,[nxt_stop,rotate,start_light]),
	nxt_go(400).
 
check_light :-
	nxt_light(Value,force),
	Value > 50.
 
rotate :-
	Angle is 90 + random(180),
	nxt_rotate(350, Angle).

Algorytm 2

start_sonic :-
	nxt_open,
	trigger_create(_,check_distance,[nxt_stop,rotate, start_sonic]),
	nxt_go(400).
 
check_distance :-
	nxt_ultrasonic(Distance,force),
	Distance < 30.
 
rotate :-
	Angle is 90 + random(180),
	nxt_rotate(350, Angle).

Zdjęcia robota

Zdjęcie robota w czasie testów początkowych.

Zdjęcie robota w czasie jazdy z zastosowaniem algorytmu 2.

Spostrzeżenia, napotkane problemy, wnioski

Przedstawione przez nas dwa algorytmy działają poprawnie jednak zachowują się niestabilnie. - niestabilnośc wynika wprost z zastosowanego przez nas modelu rozwiązania tj.

start_light :-

nxt_open,
trigger_create(_,check_light,[nxt_stop,rotate,start_light]),
nxt_go(400).

- wykorzystana przez nas rekurencja tworzy w każdym nawrocie nowy proces/wątek, co przy braku synchronizacji z istniejącymi bardzo utrudnia/ uniemożliwia np. zatrzymanie robota po zaczęciu czynności. - Przy uzyskaniu sychnchronizacji rozwiązanie to było by bardzo eleganckie.

Uwagi dotyczące funkcjonalności PLNXT

  • Problemy z połączeniem Bluetooth: zdarzające się przypadki zerwania połączenia oraz braku reakcji na wydawane komendy.
pl/dydaktyka/piw/2009/sprawozdania/piw20090408-14a.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