Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Nowa wersja
Poprzednia wersja
pl:dydaktyka:piw:2010:sprawozdania:piw20100519-17c [2010/05/22 18:27]
piw10 utworzono
pl:dydaktyka:piw:2010:sprawozdania:piw20100519-17c [2019/06/27 15:50] (aktualna)
Linia 1: Linia 1:
-====== Sprawozdanie z laboratorium (zapoznanie z PLNXT) ======+====== Sprawozdanie z laboratorium (proste algorytmy w PLNXT) ======
   * Robot: **Ewka**   * Robot: **Ewka**
   * Data wykonania: **19.05.2010 godz. 17:00**   * Data wykonania: **19.05.2010 godz. 17:00**
Linia 6: Linia 6:
 ---- ----
  
 +==== Kod programów ====
 +
 +=== Algorytm1 ===
 +
 +<code prolog>
 +:- consult('​plnxt.pl'​).
 + 
 +start :-
 + nxt_open,
 + nxt_goal(ewka,​ alg1).
 +
 +alg1 :- 
 + nxt_go(200),​
 + ​ trigger_create(_,​check_line,​[nxt_stop,​Angle is 120 + random(120),​nxt_rotate(100,​Angle)]),​
 + alg1.
 +
 +check_line :-
 + nxt_light(Value,​ force),​write(Value),​nl,​
 + Value < 30.
 + 
 +stop :-
 + trigger_killall,​
 + nxt_stop,
 + nxt_close.
 +</​code>​
 +
 +=== Algorytm2 ===
 +
 +<code prolog>
 +:- consult('​plnxt.pl'​).
 + 
 +start :-
 + nxt_open,
 + nxt_goal(ewka,​ alg2).
 +
 +alg2 :- 
 + nxt_go(100),​
 + ​ trigger_create(_,​check_line,​[wroc_na_linie]),​
 + alg2.
 +
 +check_line :-
 + nxt_light(Value,​ force),​write(Value),​nl,​
 + Value > 30.
 +
 +wroc_na_linie :-
 + nxt_stop,
 + nxt_rotate(100,​ 10),
 +        trigger_create(_,​not(check_line),​[alg2]).
 +
 +stop :-
 + trigger_killall,​
 + nxt_stop,
 + nxt_close.
 +
 +</​code>​
 +
 +Spakowane pliki: {{:​pl:​dydaktyka:​piw:​2010:​sprawozdania:​pasek_paszko_piatek_lego_lab3.rar|}}
 ===== Spostrzeżenia,​ napotkane problemy, wnioski ===== ===== Spostrzeżenia,​ napotkane problemy, wnioski =====
 +
 +=== Spotrzeżenia ===
 +  * Bez wątpienia praca w środowisku PLNXT daję nam większa kontrolę nad robotem, niż wykorzystywanie środowiska LEGO - przynajmniej na razie.
 +
 +=== Napotkane problemy ===
   * Pierwszym zauważonym przez nas problemem był brak charakterystycznego dźwięku przy włączaniu //​brick'​a//​ robota //Ewka//.   * Pierwszym zauważonym przez nas problemem był brak charakterystycznego dźwięku przy włączaniu //​brick'​a//​ robota //Ewka//.
 +  * Drugim mogącym budzić podejrzenia objawem było dziwnie zachowanie ikonki baterii //​brick'​a//,​ to znaczy kiedy robot był w stanie //idle// stan baterii wynosił 100%, natomiast kiedy robot wykonywał algorytmy poziom baterii malał do poziomu 40% - 50%, a następnie ustalił się na poziomie 100% po ponownym przejściu do stanu //idle//.
 +  * Problemowym predykatem okazał się dla naszego zespołu predykat //​nxt_goal//,​ który miał tworzyć nowy wątek i kierować robotem, jednak nie zawsze predykat ten spełniał swoje przeznaczenie - nie wiem co było tego przyczyną.
 +  * Niestety po raz kolejny zawiodło połączenie Blutetooth pomiędzy komputerem, a naszym robotem. Na szczęście tym razem udało nam się zaprogramować i wykonać Algorytm1 oraz Algorytm2 z laboratorium. Kiedy przystąpiliśmy do implementacji i częściowego testowania poszczególnych predykatów,​ połączenie z //Ewką// przestało istnieć. Wykorzystywaliśmy doświadczenie zdobyte na poprzednim laboratorium,​ ale nie udało nam się ponownie połączyć z robotem - nie pomagał restart komputera, restart robota, ponowne sparowanie urządzeń oraz usuwanie skojarzonych wcześniej urządzeń.
 +
 +=== Wnioski ===
 +  * Jest nam bardzo przykro, że z powodu problemów z połączeniem Bluetooth - a mimo wielkich chęci - nie wykonaliśmy wszystkich zadań z opisywanych zajęć.
  
 +===== Uwagi dotyczące funkcjonalności PLNXT ====
  
 +  * PLNXT często dziwnie zachowuje się, gdy chcemy zakończyć działanie programu. Nie pomaga wywołanie predykatów //stop.// oraz //halt.// - ostatecznym rozwiązaniem jest '​zabicie'​ procesu.
 +  * Przy wykonywaniu predykatu //​nxt_open.//​ PLNXT często zawieszał się.
pl/dydaktyka/piw/2010/sprawozdania/piw20100519-17c.1274545624.txt.gz · ostatnio zmienione: 2019/06/27 15:54 (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