Spis treści

Laboratorium 2

środa 9.30 22 IV 2009

Team w składzie:
Jarosław Luks
Wojciech Kubik
Jakub Kościółek

Wstęp do laboratorium

Opracowane algorytmy

Panikarz

:- consult('plnxt.pl').
 
start :-
	nxt_open,
	thread_create(go_on_buddy,_,[detached(true)]).
 
go_on_buddy :-
	nxt_go(200),
        sleep(1), % Chwila przerwy, aby jedno klaśniecie nie było rozpoznane jako dwa
	trigger_create(_,clap,run_buddy).
 
run_buddy :-
	nxt_stop,
	nxt_rotate(300, 100 + random(100)),
sleep(1),
	nxt_go_sec(400,2),
sleep(2),
	go_on_buddy.
 
 
% Sprawdzenie, czy dźwięk przekracza wartość progową
clap :-
	nxt_sound(Value,force),
	Value > 60.
 
stop :-
	trigger_killall,
	nxt_stop,
	nxt_close.

Omijanie przeszkód

:- consult('plnxt.pl').
 
start :-
	nxt_open,
	thread_create(go_on_buddy,_,[detached(true)]).
 
go_on_buddy :-
	nxt_go(200),
        sleep(1), % Chwila przerwy, aby jedno klaśniecie nie było rozpoznane jako dwa
	trigger_create(6,clap,stop),
	trigger_create(_,odleglosc,[nxt_stop, run_buddy]).
 
odleglosc :- 
	nxt_ultrasonic(Distance,force),
	Distance < 15.
 
 
run_buddy :-
	nxt_stop,
	trigger_kill(6),
	nxt_rotate(300, 100 + random(100)),
sleep(1),
	nxt_go_sec(400,2),
sleep(2),
	go_on_buddy.
 
 
% Sprawdzenie, czy dźwięk przekracza wartość progową
clap :-
	nxt_sound(Value,force),
	Value > 60.
 
stop :-
	trigger_killall,
	nxt_stop,
	nxt_close.

Problemy

Problem z wątkami

1 threads wouldn't die


Co oczywiście zmuszało nas do zabicia odpowiedniego procesu i ponownego łączenia się z zestawem.

Rozwiązanie

Pliki z laboratorium

lab2_dream_team.zip