Różnice

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

Odnośnik do tego porównania

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 [2010/06/17 20:37]
piw10
Linia 1: Linia 1:
-**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}}
pl/dydaktyka/piw/2010/sprawozdania/piw20100512-09d.txt · ostatnio zmienione: 2019/06/27 15:50 (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