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:mindstorms:studenci:przedmioty:jsi:jsi2008:jsi20090114-08d [2009/01/20 00:16]
jsi08
pl:mindstorms:studenci:przedmioty:jsi:jsi2008:jsi20090114-08d [2019/06/27 15:50] (aktualna)
Linia 3: Linia 3:
 ===== Konstrukcja ===== ===== Konstrukcja =====
 Postanowiliśmy zbudować robota TriBot zamiast modelu z instrukcji QuickStart, aby nadać robotowi większą funkcjonalność. Postanowiliśmy zbudować robota TriBot zamiast modelu z instrukcji QuickStart, aby nadać robotowi większą funkcjonalność.
 +
 +{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​dsc00149n.jpg|}}
 +----
 +
 +Jednakże kosztowało nas to zdecydowanie za dużo czasu. W związku z tym nie mieliśmy okazji by wypróbować pełne możliwości konstrukcji. ​
 +Wydaje się, iż ze względu na rozbudowę chwytaka oraz użycie sprytnej dźwigni zwiększającej czułość sensora dotyku(widać ją powyżej na zdjęciu),
 +znacząco poprawiają się możliwości motoryczne robota. Wskazanym jest działanie przynajmniej na tej formie maszyny. ​
 +Forma poprzednia pod względem funkcjonalności prezentuje się zdecydowanie bardziej ubogo... pomijając już walory estetyczne co 
 +widać poniżej na zdjęciu.
 +
 +{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​dsc00148.jpg|}}
 +
 ===== Algorytm ===== ===== Algorytm =====
 +
 +Algorytm ze względu na ilość czasu poświęconą na konstrukcję ograniczył się jedynie do podstawowego zadania magazyniera:​
 +
   * Jedź prosto na kulkę   * Jedź prosto na kulkę
   * Dotknąwszy kulkę zatrzymaj się   * Dotknąwszy kulkę zatrzymaj się
Linia 11: Linia 26:
   * Jedź na zadaną odległość   * Jedź na zadaną odległość
   * Połóż kulkę   * Połóż kulkę
 +
 ====== Wykonanie ====== ====== Wykonanie ======
 ===== Budowa robota ===== ===== Budowa robota =====
-Nasz Jasio został wyposażony w mikrofon, czujnik dotyku oraz szczęki do chwytania kuli. Nie umieściliśmy pozostałych czujników z powodu braku czasu na testowanie. Kula została osadzona na przygotowanej platformie. Robot został przekazany następnej grupie laboratoryjnej.+Nasz Jasio został wyposażony w mikrofon, czujnik dotyku oraz szczęki do chwytania kuli. Nie umieściliśmy pozostałych czujników z powodu braku czasu na testowanie. 
 +Kula została osadzona na przygotowanej platformie. 
 + 
 +{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​dsc00150.jpg|}} {{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​dsc00151.jpg|}} 
 + 
 +Robot w takiej formie ​został przekazany następnej grupie laboratoryjnej. 
 ===== Program w Prologu ===== ===== Program w Prologu =====
 Nasza realizacja algorytmu magazyniera:​ Nasza realizacja algorytmu magazyniera:​
-[jakoś muszę tu wsadzić ​code bock]FIXME!+<code prolog>​ 
 +:- consult('​../​plnxt'​). 
 + 
 +check_ball :- 
 + nxt_touch(Value,​force),​ 
 + Value = 1. 
 + 
 +check_sound :- 
 + nxt_sound(Value,​force),​ 
 + Value > 50. 
 + 
 +ball :- 
 + nxt_stop,​ % Stajemy przy kulce 
 + nxt_pincer(close),​ % Lapiemy kulke 
 + nxt_go_cm(-200,​ 15), % Cofamy sie 
 + nxt_rotate(400,​180),​ % Odwracamy sie 
 + nxt_go_cm(400,​ 30), % Odjezdzamy 30cm 
 + nxt_pincer(open). % Puszczamy przedmiot 
 + 
 +start :- 
 + nxt_open,​ 
 + check_sound,​ % Wolamy Jasia 
 + nxt_pincer(open),​ % Rozwieramy kleszcze 
 + nxt_go(400),​ % Jedziemy, az napotkamy kulke 
 + trigger_create(_,​check_ball,​ball). 
 +</​code>​ 
 +Plik programu: {{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​gb-magazynier2.pl|}}
 ===== Problemy ===== ===== Problemy =====
 Czasami Jasio robił się niegrzeczny:​ Czasami Jasio robił się niegrzeczny:​
 +
   * Wykonywał przypadkowe ruchy   * Wykonywał przypadkowe ruchy
   * Nie wykonywał wgranego programu   * Nie wykonywał wgranego programu
   * Nie dał się sterować z konsoli   * Nie dał się sterować z konsoli
-Powodem mogło być niezakończenie poprzedniego programu. + 
-Ponowne uruchomienie powłoki swipl załatwiło sprawę - Jasio znów był grzeczny.+Nie do końca było dla nas jasne czy jest to wina interface'​u komunikacyjnego czy może raczej  
 +samego programu swipl. ​Powodem mogło być niezakończenie poprzedniego programu.  
 +Ponowne uruchomienie powłoki swipl rozwiązało problem.  
 + 
 +Problem ten (miejscami wybitnie irytujący, zwłaszcza gdy dobry program nie raczył poprawnie funkcjonować)  
 +kosztował nas również sporo czasu. 
 ===== Podsumowanie ===== ===== Podsumowanie =====
-Prolog pozwala na programowanie robota w sposób bardziej efektywny. Najważniejszą zaletą jest modelowanie zachowania robota z użyciem reguł. Ponadto Prolog daje możliwość pełniejszej kontroli dzięki lepszemu wykorzystaniu czujników.+Prolog pozwala na programowanie robota w sposób bardziej efektywny. Najważniejszą zaletą jest modelowanie zachowania robota z użyciem reguł. Ponadto Prolog daje możliwość pełniejszej kontroli dzięki lepszemu wykorzystaniu czujników. ​Dzięki formie programowej konstrukcji algorytmów sterowania robotem, możliwe jest rozwiązywanie dużo bardziej złożonych problemów. Dodatkowo prolog jako język programowania wprowadza zdecydowanie krótszą, a zarazem bardziej logiczną składnię co w konsekwencji obfituje w znaczący wzrost efektywności robota. 
 ====== Propozycje ====== ====== Propozycje ======
-Dobrym pomysłem byłoby organizowanie zawodów dla zainteresowanych studentów, polegających nie na budowie robotów, lecz pisaniu programów w prologu działających na konkretnym/​tak samo zbudowanym robocie i spełniających zadane cele. Udział w zawodach byłby udokumentowany w życiorysie robota na aiWiki.+Dobrym pomysłem byłoby organizowanie zawodów dla zainteresowanych studentów, polegających nie na budowie robotów, lecz pisaniu programów w prologu działających na konkretnym/​tak samo zbudowanym robocie i spełniających zadane cele. Udział w zawodach byłby udokumentowany w życiorysie robota na aiWiki. Programy wzbogaciłyby kolekcję algorytmów dostępnych na stronie.
  
  
  
pl/mindstorms/studenci/przedmioty/jsi/jsi2008/jsi20090114-08d.1232407011.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