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:jsi20081217-11c [2008/12/19 16:31]
jsi08
pl:mindstorms:studenci:przedmioty:jsi:jsi2008:jsi20081217-11c [2019/06/27 15:50] (aktualna)
Linia 3: Linia 3:
 === Prezentacja robota: === === Prezentacja robota: ===
  
-W tym tygodniu mięliśmy o wiele ułatwione zadanie. Nie musieliśmy sami budować robota, bo zrobili to koledzy z wcześniejszej grupy. Nam przypadło zadanie napisania algorytmów sterowania dla Gienia. Po wejściu do sali byliśmy pod wrażeniem tworów jakie zostawili nasi koledzy. Roboty wykonane zgodnie z instrukcjami producenta Lego robiły wrażenie swoim wyglądem. Trzeba przyznać że na samodzielne wymyślenie podobnych konstrukcji należało by poświęcić bardzo dużo czasu, a na to nie pozwalają jedynie półtoragodzinne zajęcia. Czas przy robotach płynie bardzo szybko - a strasznie dużo pomysłów przychodzi do głowy i niestety tylko nieliczne można przetestować. W tym tygodniu współpracowaliśmy razem z Gieniem, który przy pomocy kolegów zamienił się w dźwig. Bardzo ciekawie został wymyślony mechanizm poruszania ramieniem i zamykania chwytaka, co przez chwilę z zainteresowaniem analizowaliśmy. Dodatkowo Gieniu miał zamontowane dwa czujniki: czujnik światła i czujnik dotyku, które ​wykorzystalismy ​w naszych algorytmach.+W tym tygodniu mięliśmy o wiele ułatwione zadanie. Nie musieliśmy sami budować robota, bo zrobili to koledzy z wcześniejszej grupy. Nam przypadło zadanie napisania algorytmów sterowania dla Gienia. Po wejściu do sali byliśmy pod wrażeniem tworów jakie zostawili nasi koledzy. Roboty wykonane zgodnie z instrukcjami producenta Lego robiły wrażenie swoim wyglądem. Trzeba przyznać że na samodzielne wymyślenie podobnych konstrukcji należało by poświęcić bardzo dużo czasu, a na to nie pozwalają jedynie półtoragodzinne zajęcia. Czas przy robotach płynie bardzo szybko - a strasznie dużo pomysłów przychodzi do głowy i niestety tylko nieliczne można przetestować. W tym tygodniu współpracowaliśmy razem z Gieniem, który przy pomocy kolegów zamienił się w dźwig. Bardzo ciekawie został wymyślony mechanizm poruszania ramieniem i zamykania chwytaka, co przez chwilę z zainteresowaniem analizowaliśmy. Dodatkowo Gieniu miał zamontowane dwa czujniki: czujnik światła i czujnik dotyku, które ​wykorzystaliśmy ​w naszych algorytmach.
  
-**Zdjęcia Gienia**  ​+**Zdjęcia Gienia:**  ​
  
 {{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​gienek_-_dzwig_1.jpg}}{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​gienek_-_dzwig_2.jpg|}}{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​gienek_-_dzwig_3.jpg|}} {{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​gienek_-_dzwig_1.jpg}}{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​gienek_-_dzwig_2.jpg|}}{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​gienek_-_dzwig_3.jpg|}}
Linia 15: Linia 15:
  
 **Algorytm I**  **Algorytm I** 
 +
 +Pierwszy algorytm został napisany w celu przetestowania ruchu ramienia w obydwu kierunkach. Robot wysuwa ramię, następnie przekręca je w jedną stronę, po chwili przekręca je z powrotem i składa je do pozycji wyjściowej. Schemat algorytmu został przedstawiony niżej:
  
 {{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​galg-1d.png|}} {{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​galg-1d.png|}}
  
 +{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​alg-1.rbt|}}
 +
 +**Algorytm II**
 +
 +Zadaniem algorytmu jest przeniesienie piłki z jednego stojaka na drugi z założeniem że znajdują się one w odpowiedniej empirycznie wybranej odległości,​ które są w zasięgu ramienia robota. Ten algorytm został napisany zgodnie z instrukcją zamieszczoną w dokumentacji. Robot wysuwa ramię i zaciska chwytak. Jeżeli nie ma przedmiotu przycisk czujnika nie zostanie wciśnięty i robot wraca do pozycji wyjściowej. Jeżeli natomiast znajdzie przedmiot, przekręca ramię w kierunku drugiego stojaka i odkłada piłkę na miejsce. Algorytm działał bardzo dobrze, jednak nie działał tak jak oczekiwaliśmy dlatego dokonaliśmy pewnych poprawek.
 +
 +{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​galg-2d.png|}}
 +
 +{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​alg-2.rbt|}}
 +
 +**Algorytm III** 
 +
 +Zamieszczamy tutaj algorytm III, który jest poprawioną wersją algorytmu II. W poprzedniej wersji nie spodobało nam się to, że po zaciśnięciu chwytaka ramię pozostawało na tej samej wysokości i tylko przekręcało się w bok. Powodowało to że zaczepiało ono o stojak, na którym umieszczaliśmy piłki. Nasza modyfikacja objęła dźwignięcie ramienia do góry po złapaniu przedmiotu, przekręcenie i opuszczenie ramienia a następnie wypuszczenie przedmiotu.
 +
 +{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​galg-3d.png|}}
 +
 +{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​alg-3.rbt|}}
 +
 +**Algorytm IV** 
 +
 +Algorytm ten, również został napisany zgodnie z instrukcją zamieszczoną w dokumentacji. Tym razem wykorzystujemy czujnik natężenia światła. Zadaniem robota jest rozróżnienie,​ którą piłkę złapał. Jeżeli jest to piłka niebieska ma zostać na stojaku. Przenosimy jedynie piłkę czerwoną. Algorytm działał zgodnie z tym co zostało zaprogramowane. Robot przenosi piłkę czerwoną, a zostawia niebieską. ​
 +
 +{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​galg-4d.png|}}
 +
 +{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​alg-4.rbt|}}
 +
 +
 +**Algorytm V** 
 +
 +Jest to podobna modyfikacja tym razem algorytmu IV. I tym razem ramię robota po zaciśnięciu się na piłce pozostawało na tej samej wysokości. Dodaliśmy podnoszenie i opuszczanie ramienia, przy przenoszeniu piłki. ​   ​
 +
 +{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​galg-5d.png|}}
 +
 +{{:​pl:​mindstorms:​studenci:​przedmioty:​jsi:​jsi2008:​alg-5.rbt|}}
 +
 +Widząc jak Gienio świetnie sobie radzi postanowiliśmy uwiecznić jego prace ;)
 +\\
 +[[http://​pl.youtube.com/​watch?​v=27lS8LX-vjs|Gienio lubi czerwony]]
 +\\
 +[[http://​pl.youtube.com/​watch?​v=CDOvcV2DQr4|Gienio nie lubi niebieskiego]]
 +
 +----
 +
 +=== Integracja i testowanie: ===
 +
 +Po napisaniu algorytmu przychodził czas na testowanie tego co stworzyliśmy. Testowaliśmy każdy algorytm dla różnych ustawień początkowych ramienia oraz różnych wysokości stojaków. Nie mięliśmy w tym tygodniu większych problemów, a te co napotkaliśmy znajdują się opisane niżej.
 +
 +----
 +
 +=== Problemy: ===
 +
 +  * Mieliśmy problem ze stojakami na piłki. Te których opis budowy został zamieszczony w instrukcji były bardzo niestabilne i za wysokie tak że ramię robota nie mogło się swobodnie ruszać. Problem rozwiązaliśmy wykorzystując krótsze klocki z których były zbudowane stojaki. ​  
 +  * Na początku pracy Gienia stwierdziliśmy że podczas ruchu ramienia coś jest nie tak gdyż było słychać dziwne odgłosy stukania i zgrzytania. Było to spowodowane zapewne niedokładnością wykonania Gienia przez kolegów z grupy poprzedniej. My postanowiliśmy oszczędzić Gieniowi cierpienia i lekko zmodyfikowaliśmy jego konstrukcję tak alby działał jak należy.
 +
 +----
 +
 +=== Wnioski: ===
 +
 +  * Zestaw Lego Mindstorms daje bardzo duże możliwości budowy różnorakich robotów jak i ich programowanie. Każda grupa miała innego robota zbudowanego z tego samego zestawu. ​
 +
 +  * Oprogramowanie mindstorms NXT daje duże możliwości programowania dość skomplikowanych algorytmów w bardzo prosty sposób. ​
 +
 +  * Mimo niedoskonałości czujniki zarówno dotykowy jak i koloru są wystarczająco niezawodne. Spełniają swoje zadanie w 100% bez większych problemów.
 +
 +----
 +
 +=== Propozycje rozszerzenia wiki: ===
 +
 +  * Proponujemy wzbogacić wiki o instrukcję budowy ciekawych robotów wymyślonych przez studentów. Zamieszczanie algorytmów,​ które nie są standardowymi propozycjami producenta. ​
  
  
  
pl/mindstorms/studenci/przedmioty/jsi/jsi2008/jsi20081217-11c.1229700673.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