Różnice

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

Odnośnik do tego porównania

Nowa wersja
Poprzednia wersja
pl:mindstorms:studenci:przedmioty:jsi:jsi2008:jsi20090121-11c [2009/01/26 02:16]
jsi08 utworzono
pl:mindstorms:studenci:przedmioty:jsi:jsi2008:jsi20090121-11c [2019/06/27 15:50] (aktualna)
Linia 3: Linia 3:
 === Prezentacja robota: === === Prezentacja robota: ===
  
 +Na ostatnich zajęciach współpracowaliśmy z Bolkiem. Wyglądał on podobnie jak jego poprzednicy,​ różnił się tylko tym że dodatkowo miał wbudowany czujnik światła, dzięki któremu wiedział po jakim kolorze się porusza no i był w sumie trochę bardziej przerażający 8-). Dodatkowo mieliśmy dostępną planszę na której była przestrzeń ograniczona czarną linią oraz kilka innych elementów, między innymi czerwone koło oznaczające klucz do wyjścia z zamkniętego obszaru.
  
-**Zdjęcia ​Bola:**+**Zdjęcia ​Bolka:**
  
 {{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​bolo_1.jpg|}}{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​bolo_2.jpg|}}{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​bolo3.jpg|}} {{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​bolo_1.jpg|}}{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​bolo_2.jpg|}}{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​bolo3.jpg|}}
 +
 ---- ----
  
 === Projektowanie algorytmów:​ === === Projektowanie algorytmów:​ ===
  
 +Na dzisiejszych zajęciach po raz drugi projektowaliśmy algorytmy przy wykorzystaniu interfejsu programistycznego PLNXT. Tym razem do labolatorium dołączona była dodatkowa instrukcja o triggerach i timerach, przy wykorzystaniu których można pisać o algorytmy dużo bardziej zaawansowane niż na poprzednich zajęciach. W tym tygodniu nie mieliśmy żadnych problemów jeśli chodzi o połączenie i komunikację z Bolkiem więc od razu wzięliśmy się za pisanie algorytmu.
 +
 +**Algorytm** ​
 +
 +Do wyboru mieliśmy kilka algorytmów takich jak: "​więzień",​ "​sprzątacz",​ "​śledzenie linii",​ "co przybyło?"​. Postanowiliśmy wybrać algorytm "​więzień",​ który polegał na zatrzymaniu Bolka w obrębie czarnej linii do póki nie odnajdzie klucza którym było pole oznaczone kolorem czerwonym. Po zdobyciu klucza Bolek mógł zwiać z więzienia.
 +
 +<code prolog>
 +:​-consult('​plnxt.pl'​).
 + 
 +start:-
 + nxt_open,
 + nxt_light_LED(activate,​force),​
 + go_on_buddy.
 + 
 +go_on_buddy:​-
 + nxt_go(200),​
 + trigger_create(_,​linia,​[nxt_stop,​wycofaj]),​
 + trigger_create(_,​klucz,​[nxt_stop,​wyjedz]).
 + 
 +wycofaj:-
 + nxt_go_cm(-200,​20),​
 + nxt_rotate(200,​90),​
 + go_on_buddy.
 + 
 +wyjedz:-
 + nxt_go_cm(900,​ 100).
 +  ​
 +linia:-
 + nxt_light(Value,​force),​
 + Value<​30.
 + 
 +klucz:-
 + nxt_light(Value,​force),​
 + Value>​55,​
 + Value<​60.
 +</​code>​
 +
 +Plik algorytmu: {{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​wiezien.pl|}}
  
 ---- ----
Linia 16: Linia 56:
 === Integracja i testowanie: === === Integracja i testowanie: ===
  
 +Po stworzeniu algorytmów rozpoczęliśmy ich testowanie. Najpierw jednak postanowiliśmy przetestować czujniki jakie Bolek posiadał. Czujnik ultradźwiękowy spisywał się znakomicie, lecz jeśli chodzi o czujnik światła to z tym mieliśmy niestety nie małe problemy.
 ---- ----
  
 === Problemy: === === Problemy: ===
  
- +  * Przy testowaniu czujnika światła mieliśmy dziwny problem. Czujnik się uruchamiał co sygnalizował zapaleniem diody, natomiast nie chciał nam rozpoznawać kolorów. Czasami czujnik wykrywał kolor który chcieliśmy a czasami po prostu tak jak by nie reagował na żaden z kolorów. Problemu tego tak naprawdę nie udało nam się rozwiązać.
  
 ---- ----
Linia 27: Linia 67:
 === Wnioski: === === Wnioski: ===
  
- +  * Przy wykorzystaniu nowo poznanych poleceń z API PLNXT można tworzyć o wiele bardziej zaawansowane algorytmy w których można wprowadzić ograniczenia czasowe oraz bardziej złożone operacje przy wykorzystywaniu triggerów. 
 +  * Dokumentacja wymaga dopracowania pod względem opisu podstawowych czujników. Znalezienie interesującego przedziału koloru w czujniku światła było bardzo trudne. 
 ---- ----
  
 === Propozycje rozszerzenia wiki: === === Propozycje rozszerzenia wiki: ===
  
- +  * Proponujemy wzbogacenie wiki o lepszy opis do niektórych funkcji z API PLNXT zwłaszcza tych dotyczących triggerów i wykorzystania czujników oraz dodanie przykładów wykorzystania tych funkcji w różnego rodzaju algorytmach. 
-=== Inne propozycje zmian: ===+  * Na pewno przydał by się dokładny opis wartości które reprezentują dany kolor w funkcji nxt_light/​2. Jest to całkowicie nieintuicyjne i nie wiadomo nawet w jakich przedziałach dany kolor się znajduje. Przeprowadzane w tym kierunku doświadczenia są bardzo czasochłonne.
  
pl/mindstorms/studenci/przedmioty/jsi/jsi2008/jsi20090121-11c.1232932608.txt.gz · ostatnio zmienione: 2019/06/27 15:57 (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