Sprawozdanie z laboratorium 3 (proste algorytmy w PLNXT)

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

Implementacja algorytmów

Algorytm Omijanie przeszkód

start:-
	nxt_open,
	go_on_buddy.
 
go_on_buddy :-
	nxt_go(200),
        sleep(1),
	trigger_create(_,sonic,wait_a_second_buddy).
 
wait_a_second_buddy :-
	nxt_stop,
	nxt_rotate(400,80),
	nxt_go_cm(400,20),
	nxt_rotate(400,-90),
	nxt_go_cm(400,40),
	nxt_rotate(400,-90),
	nxt_go_cm(400,20),
	nxt_rotate(400,90),
	go_on_buddy.
 
% Sprawdzenie, czy natężenie dźwięku przekracza progową wartość.
sonic :-
	nxt_ultrasonic(Distance,force),
	Distance < 15.
 
stop :-
	trigger_killall,
	nxt_stop,
	nxt_close.

Algorytm Panikarz

start:-
	nxt_open,
	go_on_buddy.
 
go_on_buddy :-
	nxt_go(200),
        sleep(1),
	trigger_create(_,clap,wait_a_second_buddy).
 
wait_a_second_buddy :-
	nxt_stop,
	nxt_rotate(500,180,force),
        sleep(1),
	trigger_create(_,clap,wait_a_third_buddy).
 
wait_a_third_buddy :- 
	nxt_go_cm(500,20),
        sleep(1),
	go_on_buddy.
 
 
% Sprawdzenie, czy natężenie dźwięku przekracza progową wartość.
clap :-
	nxt_sound(Value,force),
	Value > 20.
 
stop :-
	trigger_killall,
	nxt_stop,
	nxt_close.

Zdjęcia robota

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


Zdjęcie robota wykonane w czasie omijania przeszkody.

Spostrzeżenia, napotkane problemy, wnioski

Przedstawione przez nas dwa algorytmy działają poprawnie z dokładnością do precyzji działania komend. W przypadku testowania algorytmu Omijanie przeszkód komenda obrotu robota o zadany kąt nie działała poprawnie. Kąt obrotu wykonanego przez robota był zauważalnie różny od oczekiwanego. Dla wartości 90° oraz -90° otrzymane kąty obrotów wynosiły odpowiednio około -75° i -105° co znacznie zakłócało poprawną pracę algorytmu. Dodatkowo próba ustawienia wartości kąta obrotu tak aby otrzymać obrót robota o kąt 90° okazała się trudna ze względu na niedeterministyczne działanie komendy obrotu.
W czasie pracy z robotem GIENIO napotkaliśmy problem z uruchamianiem kolejnych programów na robocie. W celu osiągnięcia komunikacji z robotem musieliśmy często restartować robota oraz konfigurować od początku środowisko pracy.
Mieliśmy także przypadek zawieszenia się procesu środowiska pracy xpce, który spowodował niemożliwość pracy z robotem do momentu zabicia zawieszonego procesu.

Uwagi dotyczące funkcjonalności PLNXT

  • Niedeterministyczne działanie komend w niektórych przypadkach, np. obrót o zadany kąt.
pl/dydaktyka/piw/2009/sprawozdania/piw20090422-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