Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:dydaktyka:piw:2010:sprawozdania:piw20100512-09d [2010/05/17 19:03] piw10 |
pl:dydaktyka:piw:2010:sprawozdania:piw20100512-09d [2019/06/27 15:50] (aktualna) |
**Sprawozdanie 2** | ====== Sprawozdanie 2 ====== |
** | |
Robot:** Agatka// | |
**Data wykonania:** 12.05.2010 godz. 9:30// | **Robot:** Ewka\\ |
**Autorzy:** Martyka Łukasz, Stereńczak Agata, Szczurek Joanna | **Data wykonania:** 12.05.2010 godz. 9:30\\ |
| **Autorzy:** Martyka Łukasz, Stereńczak Agata, Szczurek Joanna\\ |
| |
| ===== Budowa robota ===== |
| |
| Po przyjściu na zajęcia otrzymaliśmy już zmontowanego robota. Jedyne co dobudowaliśmy to ramię do czujnika ultradźwięków. |
| |
| ===== Konfiguracja środowiska PLNXT ===== |
| |
| Postępując zgodnie z instrukcją do laboratorium w pliku plnxt.pl odkomentowaliśmy linię |
| <code> :- use_module(lib/nxt_actions_serial).</code> |
| |
| a następnie w poniższej linii wstawilismy nr naszego robota - 5. Ten sam numer wstawiliśmy w trzech analogicznych liniach. |
| <code>nxt_goal_definition(my_robot,'/dev/rfcomm5',bt,off,on_demand,17.5,11,'C','B','A',false,'S1','S2','S3','S4').</code> |
| |
| ===== Testowanie połączenia ===== |
| Aby dokonać połączenia z robotem w powłoce SWIPL wpisaliśmy poniższy kod: |
| <code>$ pl |
| ?- [plnxt]. |
| ?- nxt_open.</code> |
| |
| Połączenie poprzez Bluetooth sprawiło nam wiele problemów. W sytuacji gdy Brick przechodził w stan uśpienia następowało przerwanie połączenia, którego ponowne nawiązanie wymagało usuwania ustawień z komputera. Zabiegi te musiały być często powtarzane i nie zawsze przynosiły pożądany skutek.\\ Odkrytym przez nas sposobem, który umożliwiał skuteczne połączenie było usunięcie połączeń z komputera a następnie nawiązanie połączenia od strony Brick-a. |
| |
| ===== Praca w powłoce SWIPL ===== |
| Pracę rozpoczęliśmy od przetestowanie komend podanych w treści laboratorium. |
| |
| ===== Zadanie 1 ===== |
| Robot porusza się dowolnie wewnątrz obszaru ograniczonego czarną linią (można wykorzystać planszę testową). Nie może poza niego wyjechać! Gdy najedzie na czarną linię, powinien zawrócić – niekoniecznie o 180 stopni, żeby było ciekawiej.\\ |
| |
| Kod programu: |
| <code>:- consult('plnxt.pl'). |
| |
| start :- |
| nxt_open, |
| nxt_light_LED(activate, force), |
| trigger_create(_,check_light,change_angle), |
| nxt_go(300). |
| |
| change_angle :- |
| Angle is 100 + random(60), |
| nxt_rotate(360, Angle, force), start. |
| |
| check_light :- |
| nxt_light(Light,force), |
| Light < 44. |
| |
| :- start. </code> |
| |
| Działanie naszego robota prezentuje nakręcony przez nas filmik: |
| [[http://www.youtube.com/watch?v=iu3KdBIg-Pk|zadanie 1 na robocie Ewka]]\\ |
| ===== Zadanie 2 ===== |
| Robot podąża wzdłuż czarnej linii (można wykorzystać planszę testową). Nie może jej zgubić! Gdy napotka przeszkodę, powinien się zatrzymać i poinformować o problemie sygnałem dźwiękowym. Po usunięciu przeszkody robot powinien kontynuować jazdę. \\ |
| |
| Kod: |
| <code>:- consult('plnxt.pl'). |
| |
| start :- |
| nxt_open, |
| nxt_light_LED(activate, force), |
| trigger_create(_,check_light,change_angle), |
| nxt_go(400). |
| |
| change_angle :- |
| Angle is 3, |
| nxt_rotate(140, Angle, force), start. |
| |
| check_light :- |
| nxt_light(Light,force), |
| Light > 44. |
| |
| :- start. |
| </code> |
| |
| Nasz robot jeździł po czarnej linii, kiedy z niej zjeżdżał zmieniał kąt jazdy o 3 stopnie. Jednak jego działanie nie było w pełni poprawne. Na dodanie sygnału dźwiękowego zabrakł nam czasu. |
| |
| |
| ===== Wnioski ===== |
| Uważamy, że praca w powłoce PLNXT była dużo bardziej przyjazna, niż praca w graficznym oprogramowaniu LEGO.\\ Plusem był również fakt, iż komendy można testować na robocie wpisując od razu z konsoli, bez konieczności przesyłania pliku do Brick-a.\\ Gdyby nie problemy z połączeniem Bluetooth praca w powłoce PLNXT byłaby o wiele bardziej owocna i przyjemna.\\ Proponowanym przez nas ulepszeniem powłoki PLNXT jest to, aby w sytuacji przerwania połączenia Bluetooth, naprawa połączenia dokonywana była w bardziej zautomatyzowany sposób.\\ |
| |
| ===== Spakowane pliki ===== |
| |
| {{:pl:dydaktyka:piw:2010:sprawozdania:piw20100512-09d.rar|pliki lab2}} |