Po zapoznaniu się z instrukcjami do laboratorium oraz odkomentowaniu kody odpowiedzialnego za komunikację z naszym robotem, czyli Dyziem tak aby był on wykrywany przez wirtualny port Comm 4 przystąpiliśmy do realizacji laboratorium.
nxt_robot_definition(dyzio,'/dev/rfcomm4',bt,off,on_demand,17.5,11,'C','B','A',false,'S1','S2','S3','S4').
Od samego początku zaczęliśmy naszą pracę od dostosowania programu Więzień do aktualnie panujących warunków świetlnych. Dokonaliśmy zmian konstrukcyjnych robota - tak aby sensor świetlny był jak najbliżej powierzchni po której przemieszcza się robot.
Poniżej kod programu Więzień.
:- consult('plnxt.pl'). start :- nxt_go(100), trigger_create(10,czarny,szukaj), trigger_create(_,klucz,uciekaj). czarny :- nxt_light(Value,force), Value < 50. szukaj :- nxt_stop, nxt_rotate(100, 60), trigger_kill(10), start. klucz :- nxt_light(Value, force), Value > 68, Value < 70. uciekaj :- nxt_play_tone(400,500), nxt_go_cm(500, 1000), nxt_play_tone(600,1000), stop. stop :- trigger_killall, nxt_stop, nxt_close.
Niestety nie udało nam się nawiązać komunikacji między robotami. Powodami były:
trigger_kill(ID) / trigger_killall
i mogą prowadzić do zapętlenia się programu.