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 13:58]
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. 
-Robot 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. 
-====== 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