Nowa wersja
|
Poprzednia wersja
|
pl:dydaktyka:piw:2010:sprawozdania:piw20100609-15a [2010/06/13 19:44] piw10 utworzono |
pl:dydaktyka:piw:2010:sprawozdania:piw20100609-15a [2019/06/27 15:50] (aktualna) |
| |
==== Kod programów ==== | ==== Kod programów ==== |
| |
| Na początku napisaliśmy program, który korzystał z wątków: |
| |
<code prolog> | <code prolog> |
nxt_stop. | nxt_stop. |
</code> | </code> |
| Niestety program nie działał poprawnie, zmodyfikowaliśmy więc kod: |
| |
| <code prolog> |
| :- consult('plnxt.pl'). |
| |
| start :- |
| nxt_goal(kajtek, go_on_buddy). |
| |
| go_on_buddy :- |
| write('[GO ]'), |
| nxt_go_cm(300,1), |
| szukaj. |
| |
| szukaj :- |
| write('szukam - '), |
| nxt_light(Value,force), |
| write(Value), |
| decyzja(Value). |
| |
| decyzja(Value) :- |
| Value < 35, %czarny |
| write(' - czarny'),nl, |
| obrot. |
| |
| decyzja(Value) :- |
| Value > 34, |
| Value < 40, %czerwony |
| write(' - czerwony'),nl, |
| uciekaj. |
| |
| decyzja(Value) :- |
| Value > 39, %bialy |
| write(' - bialy'),nl, |
| nxt_stop, |
| go_on_buddy. |
| |
| obrot :- |
| nxt_rotate(300,120), |
| write('OBROT'),nl, |
| nxt_stop, |
| go_on_buddy. |
| |
| uciekaj :- |
| nxt_go_cm(300,50), |
| write('UCIEKAJ'),nl. |
| </code> |
| Mimo zmian(zrezygnowaliśmy z wątków) robot niepoprawnie reagował na polecenia, główną przyczyną takiego stanu rzeczy były problemy z dobraniem odpowiednich wartości dla poszczególnych kolorów. Czytnik jest wrażliwy na zmiany takie jak: inne oświetlenie, cień, ruch itp., które uniemożliwiały trafne dobranie wartości kolorów. |
==== Wartości kolorów ==== | ==== Wartości kolorów ==== |
| |
| |
=== Napotkane problemy === | === Napotkane problemy === |
* Gproblemem była zbieżność wartości koloru czerwonego i białego, przez co robot czasem na białym polu 'znajdował' czerwony kolor i zaczynał uciekać. Próbowaliśmy zmieniać miejsce, włączać i wyłączać diodę, ale nie dawało to większych rezultatów, gdyż robot sam sobie rzucał cień. Większą część laboratorium spędziliśmy na szukaniu odpowiedniego miejsca, gdzie różnica między kolorami będzie optymalna dla zadania. | * Głównym problemem była zbieżność wartości koloru czerwonego i białego, przez co robot czasem na białym polu 'znajdował' czerwony kolor i zaczynał uciekać. Próbowaliśmy zmieniać miejsce, włączać i wyłączać diodę, ale nie dawało to większych rezultatów, gdyż robot sam sobie rzucał cień. Większą część laboratorium spędziliśmy na szukaniu odpowiedniego miejsca, gdzie różnica między kolorami będzie optymalna dla zadania. |
* Brak dokumentacji do komunikacji między robotami dla PLNXT, przez co nie udało nam się nawiązać połączenia między robotami. | * Brak dokumentacji do komunikacji między robotami dla PLNXT, przez co nie udało nam się nawiązać połączenia między robotami. |
| |
===== Uwagi dotyczące laboratorium ==== | ===== Uwagi dotyczące laboratorium ==== |
* Przydało by się wprowadzenie do komunikacji między robotami w PLNXT. | * Bardzo przydatne byłoby wprowadzenie do komunikacji między robotami w PLNXT. |
* Wypadało by zmienić kolor klucza dla więźnia na inny, tak by różnice wartości sczytywanych dla różnych kolorów były znaczące. | * Pomocna mogłaby być zmiana koloru klucza dla więźnia na inny, tak by różnice wartości zczytywanych dla różnych kolorów były znaczące. |