Różnice

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

Odnośnik do tego porównania

pl:mindstorms:studenci:przedmioty:jsi:jsi2008:jsi20090114-08d [2009/01/20 14:08]
jsi08
pl:mindstorms:studenci:przedmioty:jsi:jsi2008:jsi20090114-08d [2019/06/27 15:50]
Linia 1: Linia 1:
-====== Cel ====== 
-Celem była konstrukcja robota wg instrukcji oraz zapoznanie się z możliwościami sterowania robotem za pomocą Prologu z użyciem PLNXT. 
-===== Konstrukcja ===== 
-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 ze względu na ilość czasu poświęconą na konstrukcję ograniczył się jedynie do podstawowego zadania magazyniera:​ 
- 
-  * Jedź prosto na kulkę 
-  * Dotknąwszy kulkę zatrzymaj się 
-  * Zewrzyj szczęki 
-  * Cofnij 
-  * Zawróć 
-  * Jedź na zadaną odległość 
-  * Połóż kulkę 
- 
-====== Wykonanie ====== 
-===== 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. 
- 
-{{:​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 ===== 
-Nasza realizacja algorytmu magazyniera:​ 
-<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 ===== 
-Czasami Jasio robił się niegrzeczny:​ 
-  * Wykonywał przypadkowe ruchy 
-  * Nie wykonywał wgranego programu 
-  * 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. 
-===== 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. 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 ====== 
-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.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