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:12]
piw10
pl:dydaktyka:piw:2010:sprawozdania:piw20100512-09d [2019/06/27 15:50] (aktualna)
Linia 1: Linia 1:
-**Sprawozdanie 2**+====== ​Sprawozdanie 2 ======
  
-**Robot:​** ​Agatka\\ + 
 +**Robot:​** ​Ewka\\ 
 **Data wykonania:​** 12.05.2010 godz. 9:​30\\ ​ **Data wykonania:​** 12.05.2010 godz. 9:​30\\ ​
 **Autorzy:​** Martyka Łukasz, Stereńczak Agata, Szczurek Joanna\\ **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.1274116346.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