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:dydaktyka:jsi:2009:sprawozdania:jsi20091216-11c [2009/12/20 20:21]
jsi09
pl:dydaktyka:jsi:2009:sprawozdania:jsi20091216-11c [2019/06/27 15:50] (aktualna)
Linia 1: Linia 1:
 ====== Sprawozdanie z laboratorium 3 ====== ====== Sprawozdanie z laboratorium 3 ======
- 
-Do zrobienia: 
-Wstawić zdjęcia 
-filmiki i opisy 
-poprawić tekst 
 ===== - Wstęp ​ ===== ===== - Wstęp ​ =====
  
 Celem trzeciego, ostatniego laboratorium było zapoznanie się z bardziej zaawansowanymi funkcjami jakie oferuje środowisko dostarczone do zestawu LEGO Mindstorms. Celem trzeciego, ostatniego laboratorium było zapoznanie się z bardziej zaawansowanymi funkcjami jakie oferuje środowisko dostarczone do zestawu LEGO Mindstorms.
  
-W ramach bliższego zapoznawania się z zestawem i jego możliwościami mieliśmy oprogramować jeden bądź więcej z proponowanych algorytmów. Po długiej i konstruktywnej dyskusji na temat tego, jaki algorytm powinniśmy wybrać, doszliśmy do porozumienia. Wybraliśmy drogę, która oferowała największą możliwość zapoznania się z funkcjami oferowanymi przez zestaw, czyli algorytm złodziej (w pewnych kręgach mówi się, że wpływ na decyzję mógł mieć kolega z Nowej Huty, jednak jest to oczywista ​nie prawda). +W ramach bliższego zapoznawania się z zestawem i jego możliwościami mieliśmy oprogramować jeden bądź więcej z proponowanych algorytmów. Po długiej i konstruktywnej dyskusji na temat, jaki algorytm powinniśmy wybrać, doszliśmy do porozumienia. Wybraliśmy drogę, która oferowała największą możliwość zapoznania się z funkcjami oferowanymi przez zestaw, czyli algorytm złodziej (w pewnych kręgach mówi się, że wpływ na decyzję mógł mieć kolega z Nowej Huty, jednak jest to oczywista ​nieprawda).
 ===== - Algorytm ===== ===== - Algorytm =====
  
-Na zajęciach stworzyliśmy tylko jeden algorytm. Nie było to spowodowane tym, że nie mieliśmy ochotybądź odpowiednich umiejętności do tego. Było wręcz przeciwnie (zwłaszcza w przypadku chęci). Po stworzeniu podstawowej wersji algorytmu stworzyliśmy dwie kolejne. W pełnej wersji jednak opisany został wyłącznie ostatni algorytm. Zawiera on bowiem funkcjonalność i możliwości poprzednich i nie było by konstruktywnym kilkukrotne powtarzanie tej samej informacji (było by za to bardzo nudne).+Na zajęciach stworzyliśmy tylko jeden algorytm. Nie było to spowodowane tym, że nie mieliśmy ochoty bądź odpowiednich umiejętności do tego. Było wręcz przeciwnie (zwłaszcza w przypadku chęci). Po stworzeniu podstawowej wersji algorytmu stworzyliśmy dwie kolejne. W pełnej wersji jednak opisany został wyłącznie ostatni algorytm. Zawiera on bowiem funkcjonalność i możliwości poprzednich i nie było by konstruktywnym kilkukrotne powtarzanie tej samej informacji (było by za to bardzo nudne).
  
 ==== - Wersja noob ==== ==== - Wersja noob ====
Linia 24: Linia 18:
 W celu zaimplementowania wszystkich opcji naszego algorytmu należało wykonać drobną modyfikację i przenieść czujnik odległości na tył robota. Po delikatnym tuningu nasz zrobotyzowany złodziej przedstawia się następująco:​ W celu zaimplementowania wszystkich opcji naszego algorytmu należało wykonać drobną modyfikację i przenieść czujnik odległości na tył robota. Po delikatnym tuningu nasz zrobotyzowany złodziej przedstawia się następująco:​
  
-Tutaj będzie zdjęcie.+{{:​pl:​dydaktyka:​jsi:​2009:​sprawozdania:​modyfikacja2.jpg|}}
  
 Schemat postępowania naszego złodzieja można opisać w następujący sposób: Schemat postępowania naszego złodzieja można opisać w następujący sposób:
Linia 35: Linia 29:
   * Kiedy tylko poczuje gorący oddech na swoim karku, zatrzymuje się gwałtownie,​ żeby zdezorientować przeciwnika,​ rzuca "​towar"​ na ziemię i zaczyna uciekać najszybciej jak to możliwe,   * Kiedy tylko poczuje gorący oddech na swoim karku, zatrzymuje się gwałtownie,​ żeby zdezorientować przeciwnika,​ rzuca "​towar"​ na ziemię i zaczyna uciekać najszybciej jak to możliwe,
   * Ponieważ prawdziwy złodziej nigdy nie daje za wygraną, nasz robot ucieka dopóki starczy mu sił (w bateriach), bądź dopóki nie znajdzie się w oświetlonym miejscu (oznacza to dom, bądź policyjną izbę przesłuchań z ostrymi światłami skierowanymi prosto w oczy).   * Ponieważ prawdziwy złodziej nigdy nie daje za wygraną, nasz robot ucieka dopóki starczy mu sił (w bateriach), bądź dopóki nie znajdzie się w oświetlonym miejscu (oznacza to dom, bądź policyjną izbę przesłuchań z ostrymi światłami skierowanymi prosto w oczy).
 +
 +Implementacja powyższych kroków w środowisku Lego przedstawia się następująco:​
 +
 +{{:​pl:​dydaktyka:​jsi:​2009:​sprawozdania:​zlodziejulitmate-prog-algorytm.png|}}
 +
 +Poniżej znajdują się filmiki przedstawiające złodzieja w akcji:
 +
 +[[http://​www.youtube.com/​watch?​v=OAxSQq9LEC8]] - Pełnia możliwości
 +
 +[[http://​www.youtube.com/​watch?​v=_Cdo2vcyCQM]] - Szybki sukces
 ===== - Podsumowanie ===== ===== - Podsumowanie =====
 Nie wiemy jak zakończyła się misja naszego robo-złodzieja,​ jednak pewną wskazówką mogą być zdjęcia jakie otrzymaliśmy od niego jakiś czas po sprawozdaniu. Nie wiemy jak zakończyła się misja naszego robo-złodzieja,​ jednak pewną wskazówką mogą być zdjęcia jakie otrzymaliśmy od niego jakiś czas po sprawozdaniu.
  
-Tu będzie zdjęcie po fotoshopie.+{{:​pl:​dydaktyka:​jsi:​2009:​sprawozdania:​koniec2.jpg|}}
  
 Laboratorium dostarczyło nam dużo zabawy związanej z wymyślaniem i wdrażaniem opracowanych rozwiązań. Ciekawym rozwinięciem dla danego algorytmu mogło by być dodanie współpracy pomiędzy dwoma robotami w celu efektywniejszego dostarczenia "​towaru"​ do bazy. Laboratorium dostarczyło nam dużo zabawy związanej z wymyślaniem i wdrażaniem opracowanych rozwiązań. Ciekawym rozwinięciem dla danego algorytmu mogło by być dodanie współpracy pomiędzy dwoma robotami w celu efektywniejszego dostarczenia "​towaru"​ do bazy.
 +
 +Dodatkowo bardzo ciekawym urozmaiceniem laboratorium było by zwiększenie roli mechanika. Można by było to uzyskać poprzez podejście odwrotne niż prezentowane na laboratorium. Dostępny był by opis oraz algorytm, który trzeba by było przenieść na robota, którego dopiero należało by zbudować. Chociaż i tak najwięcej nauki i przyjemności mogło by dać faktyczne podzielenie zespołu na konstruktora i programistę.
 +
 +W celu przedstawienia pełni możliwości zestawu LEGO Mindstorms, można by zaprezentować możliwości programowania na przykład z wykorzystaniem języka C. Środowisko LEGO Mindstorms NXT jest czasem dosyć irytujące (problemy ze ścieżkami,​ brak możliwości wyciągnięcia wszystkich elementów z pętli) i może część osób zniechęcić. Przedstawienie funkcjonalności robota, po napisaniu programu w C mogło by sprawić, że część osób zainteresowało by się głębiej tą tematyką. Dodatkowo ciekawe było by porównanie jakości sterowania i szybkości działania przy wykonywaniu programu stworzonego za pomocą dostarczonego środowiska oraz z wykorzystaniem innych środowisk.
  
 ===== - Spakowany program ===== ===== - Spakowany program =====
 +Ostateczny algorytm został spakowany i umieszczony w poniższym pliku:
 +
 +{{:​pl:​dydaktyka:​jsi:​2009:​sprawozdania:​zlodziej.rar|}}
pl/dydaktyka/jsi/2009/sprawozdania/jsi20091216-11c.1261336860.txt.gz · ostatnio zmienione: 2019/06/27 15:52 (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