====== Sprawozdanie nr 5 ====== * Robot: Dyzio * Data: 2.06.2010, godz. 15.30 * Autorzy: Andrzej Gryboś, Michał Henslok, Tomasz Jama ===== Sprzątacz ===== :- consult('plnxt.pl'). start :- nxt_rotate(100,30), smiec, start. smiec :- nxt_ultrasonic(Value, force), Value < 10,!, sprzatnij. smiec :- 1 = 1. sprzatnij :- nxt_go_cm(250, 15), nxt_play_tone(400,500), nxt_go_cm(-250, 15), nxt_play_tone(600,1000). Początkowo chcieliśmy stworzyć program wielowątkowy jednak to podejście skutkowało irytującymi błędami, które powodowały nieustanne bugowanie się środowiska i przymusowy restart zarówno połączenia z robotem jak i kompilatora. Zmieniliśmy zatem program na sekwencyjny i robot zaczął posłusznie wykonywać nasze polecenia. Pojawiło się trochę błędów z powodu zakłóceń czujnika ultradźwiękowego jednak były one sporadyczne. ===== Co przybyło ===== :- consult('plnxt.pl'). start :- nxt_rotate(100,360), trigger_create(_,clap,obrot), trigger_create(_, X is smiec :- nxt_ultrasonic(Value, force), Value < 10. clap :- nxt_sound(Value,force), Value > 70. obrot :- nxt_rotate(100,360). stop :- nxt_stop, nxt_close. Niestety nie udało się nam zakończyć pracy nad tym programem (Następna grupa nie dała nam szansy :( choć chcieliśmy zostać). Program posiada elementy wątków, które miały być usunięte. Robot obraca się i reaguje na klaśnięcie. W celu realizacji programu wydaje nam się iż należało użyć poleceń assert/retract w celu dodania w sposób dynamiczny faktów do bazy (przeszkody) w celu rozróżnienia starych i nowych przeszkód.