To jest stara wersja strony!


Sprawozdanie z laboratorium 3

1 Wstęp

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).

2 Algorytm

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).

2.1 Wersja noob

Pierwotna wersja algorytmu ukazywała mało profesjonalnego złodzieja. Po tym jak udało mu się pochwycić „towar” odwracał się i zaczynał uciekać. Jednak jak tylko usłyszał, że goni go policja, zatrzymywał się. Prawdziwy i odważny złodziej tak nie postępuje, co dało nam podwaliny do kolejnej wersji.

2.2 Wersja normal

Druga wersja już odważniejszego złodzieja zakładała, że po przechwyceniu „towaru” nasz robot odwracał się, a następnie powoli zaczynał się oddalać. Jak usłyszał za sobą krzyk policjanta, bądź jakiegoś uczciwego obywatela zaczynał uciekać szybciej. Dopiero przy drugim zawołaniu zatrzymywał się i czekał aż dosięgnie go ręka sprawiedliwości.

2.3 Wersja ultimate

Ostateczna wersja naszego programu powstała dzięki wiedzy i doświadczeniu kolegi z grupy, zamieszkującego część Krakowa popularnie zwaną Nową Hutą. Kwestia gdzie i w jaki sposób uzyskał wiedzę i doświadczenie nie została jednak w pełni wyjaśniona (i mamy nadzieje, że tak pozostanie). W celu zaimplementowania wszystkich opcji naszego algorytmu należało wykonać drobną modyfikację i przenieść czujnik odległości na tył robota. Schemat postępowania naszego złodzieja można opisać w następujący sposób:

  • Złodziej porusza się do przodu, dopóki nie napotka odpowiedniej „okazji”,
  • Ponieważ każdą nadarzającą się okazję należy łapać, to samo robi nasz robot,
  • Żeby nie budzić podejrzeć odwraca się i powoli udaje w przeciwnym kierunku,
  • Od tego momentu jeśli tylko znajdzie się w bazie (czujnik światła reagujący na wysokie natężenie światła) kończy „misję”,
  • Jeżeli ktoś za nim krzyknie zaczyna uciekać. Ponieważ mamy do czynienia z doświadczonym złodziejem, nie wykorzystuje całego potencjału prędkości na samym początku,
  • Jeśli tylko zauważy, że ręka sprawiedliwości zaczyna go dosięgać, zaczyna przyspieszać,
  • 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).

3 Podsumowanie

4 Spakowany program

pl/dydaktyka/jsi/2009/sprawozdania/jsi20091216-11c.1261336133.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