Skocz do zawartości
Treker

Ogólnie o robotach MicroMouse

Pomocna odpowiedź

mati 6 taka myszka nie miałaby bytu w naszych czasach 😉 Główną ideą jest rozwiązywanie labiryntu z kontrolą trakcji (taka to się chyba nazywa 🤣 ). Prawdą jest, że będzie to MM, ale bez zapamiętywania przebytej drogi. To nie będzie nawet metoda Bruteforce 😉

[ Dodano: 15-09-2011, 16:17 ]

Znalazłem kilka fajnych filmików co do MM:

Część pierwsza:

Część druga:

Część trzecia:

Część czwarta:

Datasheet robota 😉 Co ciekawe ma on proste enkodery, proste czujniki odbiciowe (wydaje mi się, że są na diodach IR oraz fototranzystorach o odpowiednim widmie) oraz soft napisany w Basicu (nie w BASCOMIE!). Minusem jak dla mnie jest zasilanie z akumulatorka 9V 🤣

Udostępnij ten post


Link to post
Share on other sites

Tak się włączę do dyskusji pomimo że konkurencja jest dla mnie praktycznie zupełnie obca. Co do prędkości potrzebnych robotowi. Możliwe, że jestem w błędzie, ale czy te roboty w ogóle przekraczają średnio 30-50cm/s? Jak patrzyłem na któryś zawodach (chyba Robocomp 2010) to te konstrukcje były wolniejsze od najwolniejszych minisumo. Wg MNIE spokojnie tutaj można nadrabiać prędkość algorytmem i dobrymi czujnikami.

Co do enkoderów pozycji i małych kosztów- przy rzeczonych prędkościach idealna wydaje się mycha optyczna- nie wiem może się wykorzystuje? 4 sprężynki od długopisu 😃 i powierzchnia nie straszna. Ewentualnie enkodery ze starych myszek kulkowych.

Pytanie do znawców- czy są jakieś wytyczne co do materiału/koloru podłoża/ścian? Bo to miałoby ewidentny wpływ na wykorzystanie powyższych rozwiązań.

Efektowność konkurencji jak już ktoś zauważył jest raczej tylko dla znawców. Dla zwykłego widza tak jak i w przypadku sumo czy LF liczy się prędkość, moc i ewentualnie długie ekscytujące pojedynki dla tych pierwszych.

I na koniec wbrew pozorom pierwsze pytanie, które mi się nawinęło- czy dozwolone jest, aby wprowadzić do robota trasę przejazdu? Coś na zasadzie- 2 w lewo , 1 w prawo, 3 w lewo.etc. Przecież ujawniając trasy przejazdu najpoźniej w dniu zawodów spokojnie człowiek może wyznaczyć przejazd na trasie start meta , a później wklepać sekwencję sterującą w kodzie.

Powyższe to tylko moje wolne spostrzeżenia 😋- nikomu nie będę udowadniał budując MM że to ma sens 🙂. No może z wyjątkiem zapamiętywania trasy, ale to inna historia 🙂

Udostępnij ten post


Link to post
Share on other sites
Co do prędkości potrzebnych robotowi. Możliwe, że jestem w błędzie, ale czy te roboty w ogóle przekraczają średnio 30-50cm/s? Jak patrzyłem na któryś zawodach (chyba Robocomp 2010) to te konstrukcje były wolniejsze od najwolniejszych minisumo. Wg MNIE spokojnie tutaj można nadrabiać prędkość algorytmem i dobrymi czujnikami.

W Polsce faktycznie nie ma na co jeszcze popatrzeć, ale zagranicą według mnie jest to bardzo widowiskowe, ale spokojnie dojdziemy do tego 😉 Tylko tak jak wspomniałem, może warto się wspierać chociaż wymianą informacji.

BTW Większość ludzi niestety tylko czyta i narzeka, ale od siebie nic nie dołoży. Świetny przykład pojawił się w tej ankiecie, którą niedawno wypełnialiście - chyba kiedyś go przytoczę na forum 😉

Co do enkoderów pozycji i małych kosztów- przy rzeczonych prędkościach idealna wydaje się mycha optyczna- nie wiem może się wykorzystuje? 4 sprężynki od długopisu 😃 i powierzchnia nie straszna. Ewentualnie enkodery ze starych myszek kulkowych.

Sam czujnik z myszki chyba nic nie da, bo w MM enkodery potrzebne są też do dokładnych obrotów.

Pytanie do znawców- czy są jakieś wytyczne co do materiału/koloru podłoża/ścian? Bo to miałoby ewidentny wpływ na wykorzystanie powyższych rozwiązań.

Są one opisane według specyfikacji pewnych. Te ścianki, które chciał sprowadzać Ownya są w każdym razie zgodne z jakimiś wytycznymi, ale to pewnie sam Bartek może napisać.

I na koniec wbrew pozorom pierwsze pytanie, które mi się nawinęło- czy dozwolone jest, aby wprowadzić do robota trasę przejazdu? Coś na zasadzie- 2 w lewo , 1 w prawo, 3 w lewo.etc. Przecież ujawniając trasy przejazdu najpoźniej w dniu zawodów spokojnie człowiek może wyznaczyć przejazd na trasie start meta , a później wklepać sekwencję sterującą w kodzie.

Raczej nie, po to są przejazdy, w których robot ma zapamiętać trasę, aby później sam to wykorzystywał ładnie.

Ja dziś sobie wymyśliłem rano, że zrobię prostą myszkę na płytce uniwersalnej. No i zrobiłem ją w kilka godzin. Z tego co miałem w domu + wydałem w elektronicznym 40zł. Cud to nie jest (ba daleko mu nawet do prowizorki w niektórych miejscach 😃 ), ale do swojego zadania - czyli testowania jest ok. Pokażę to cudo na dniach, jak trochę kodu napisze 😉

Udostępnij ten post


Link to post
Share on other sites
wietny przykład pojawił się w tej ankiecie, którą niedawno wypełnialiście - chyba kiedyś go przytoczę na forum 😉

No to jak się już wygadałeś to go przytocz 😉

Udostępnij ten post


Link to post
Share on other sites

Ankieta była anonimowa, dlatego przekręcę jeszcze trochę to co tutaj podam, ale zachowam sens.

Ogólnie w pytaniu "Dlaczego nie opisujesz swoich robotów na forum" ktoś zaznaczył, że nie chce się dzielić swoimi pomysłami. A w pytaniu "Czego Ci brakuje na Forbocie" napisał, że za mało osób dzieli się projektami, on na przykład szuka XXX i nikt nie chce się podzielić takim schematem. Dodam, że nie było to pytanie o schemat do światłoluba - chodziło o coś po czym mogę sądzić, że respondent ten był dość doświadczonym robotykiem 😉

Samemu coś dać to nie, ale od kogoś to chętnie i jeszcze ponarzekać.

Dobra, koniec tego offtopu 😉

Udostępnij ten post


Link to post
Share on other sites

Miałem założyć nowy temat, ale skoro ten pasuje tematyką, to się pod niego podepnę.

Na tegorocznym Sumo Challenge (termin pewny, oficjalne zaproszenie za kilka dni, po aktualizacji strony) chcemy dodać micromouse. Jako że kompletnie nic nie wiem o tej konkurencji to prosiłbym o kilka rad.

1. Regulamin

Ciężko pisać o czymś czego się nie zna, ale w załączniku demo regulaminu. Jeśli ktoś ma jakieś uwagi - proszę o kontakt. Chyba widać wyraźnie, że się wzorowałem na tym z innej imprezy... 🙂

2. Z czego labirynt?

W mojej wizji labirynt wyglądał podobnie do tego z Robocomp, czyli poskręcane płytki wiórowe/podobne. Ale czytając teraz forbota zauważyłem, ze labirynt Robomaticon był chyba "taki jak na świecie".

3. Jak określać dostęp do trasy?

Tego rozgryźć już totalnie nie mogę. Na innych imprezach dominuje dostęp czasowy, czyli masz kilka minut, a jak będziesz miał w tym czasie awarię lub wykryjesz błąd do naprawienia w np. 15 minut, to trudno, twoja strata. Nie jest to chyba sprawiedliwe, poza tym ktoś przychodzi puścić micromouse, a tu musi poczekać 10 min, aż poprzedniemu zawodnikowi skończy się czas... Czyli myślałem np. o trzech próbach po 3 przejazdy, ale nie wiem czy to dobry pomysł. Między innymi dlatego, że to ułatwi oszustwo.

4. To co napisał Barto.

Tak, jestem w 90% pewien, że na Robocompie jedna drużyna wklepała na sztywno w kodzie (prosto, lewo, prosto, prawo itp) jak robot ma przejechać trasę. To oszustwo i prawdę mówiąc nie wiem jak je uniemożliwić - stąd zapiska w regulaminie, że sędzia może poprosić zawodnika o ustawienie robota w dowolnym miejscu. Macie inne pomysły jak to wytępić?

5. Co do labiryntu.

Uprzedzając ewentualne pytania czy trasa będzie przejezdna dla robotów z brute force. Pewnie będzie (w którą stronę - to przed zawodami, jak powstanie projekt), ale specjalnie tak wredna, żeby w ten sposób długo jechać.

Gorąco zachęcam do dyskusji.

1. Cel rozgrywki

Celem robota (tzw. myszy) jest znalezienie możliwie najszybszej lub najkrótszej drogi w labiryncie.


2. Roboty

2.1 Maksymalne wymiary

szerokość - 16 cm
długość - 16 cm
wysokość - bez ograniczeń
masa - bez ograniczeń

3. Labirynt

Na zawodach zostanie użyta zmodyfikowana (mniejsza od klasycznej) wersja labiryntu. Labirynt składać się będzie z 90 (9x10) kwadratowych pól o wymiarach 180x180 mm, które będą pooddzielane ściankami o wysokości co najmniej 5 mm i grubości 12 mm. Ściany labiryntu będą koloru białego, natomiast górna krawędź koloru czerwonego.
Punkt startowy i docelowy znajdować się będą w przeciwległych narożnikach labiryntu. Punkt docelowy będzie składał się z czterech pól nie oddzielonych ściankami (a więc 380 x 380 mm pomniejszone o grubość ścianki).

4. Harmonogram zawodów

Po rozpoczęciu zawodów labirynt zostaje udostępniony zawodnikom, którzy mogą dowolnie przetestować swoje roboty. O godzinie przewidzianej harmonogramem startuje faza finałowa. Każdy przejazd nadzorowany jest przez sędziego. W trakcie trwania fazy finałowej zawodnicy mają możliwość jednokrotnego zgłoszenia robota do pokonywania labiryntu. Po zgłoszeniu robot ma określony czas, w którym może odbywać przejazdy pomiarowe. Długość tego czasu zostanie określona i podana do wiadomości zawodnikom po zakończeniu rejestracji.

Czas trwania jednego przejazdu nie może przekroczyć 2 minut.


5. Sposób pokonywania trasy

Robot zostaje ustawiony w punkcie startowym. Po znaku danym przez sędziego robot przeszukuje labirynt w poszukiwaniu punktu docelowego. Po dotarciu do punktu docelowego możliwa jest dalsza eksploracja labiryntu w celu znalezienia innej, bardziej optymalnej trasy. Robot może powrócić do punktu startowego i sam rozpocząć przejazd pomiarowy lub zostać ustawiony przez operatora, po tym jak osiągnął punkt docelowy. Jeśli robot zakleszczy się lub zablokuje możliwe jest dotknięcie robota, jednak każda ingerencja powoduje doliczenie 5 karnych sekund do końcowego czasu. Niedozwolone jest przeskakiwanie, ani przechodzenie nad ścianami.

6. Ograniczenia

Robot musi być w pełni autonomiczny. Każda forma komunikacji z robotem (poza startem) jest niedozwolona. Jeśli robot startowany jest z pilota, to bezpośrednio po starcie należy odłożyć go w widoczne miejsce.

7. Rola sędziego

Każdy przejazd fazy finałowej nadzorowany jest przez sędziego. Czas mierzony jest za pomocą stopera. Do końcowego czasu doliczane są kary za dotknięcie w trakcie przejazdu. Dla uniknięcia prób oszustwa sędzia może poprosić zawodnika o ustawienie robota w dowolnym miejscu labiryntu w celu zbadania zachowania robota.

Udostępnij ten post


Link to post
Share on other sites
Tak, jestem w 90% pewien, że na Robocompie jedna drużyna wklepała na sztywno w kodzie (prosto, lewo, prosto, prawo itp) jak robot ma przejechać trasę. To oszustwo i prawdę mówiąc nie wiem jak je uniemożliwić - stąd zapiska w regulaminie, że sędzia może poprosić zawodnika o ustawienie robota w dowolnym miejscu. Macie inne pomysły jak to wytępić?

Raczej ciężko z tym stawianiem w innej części labiryntu, bo przecież robot musi wiedzieć skąd startuje, aby się nie zgubił w labiryncie. Zagranicą chyba (wnioskuję to po zdjęciach) podczas zawodów roboty stoją sobie w jednym miejscu wszystkie i zawodnicy nic przy nich nie robią.

Udostępnij ten post


Link to post
Share on other sites
Raczej ciężko z tym stawianiem w innej części labiryntu, bo przecież robot musi wiedzieć skąd startuje, aby się nie zgubił w labiryncie.

Tak, tak, przejazd pomiarowy oczywiście z punktu startowego jasno określonego. To postawienie w innym miejscu, to tylko dla zbadania czy robot usilnie próbuje skręcić w ścianę lub ominąć taką której nie ma 😃

Udostępnij ten post


Link to post
Share on other sites

A czy nie po to robi właśnie się mapowanie rasy, aby przy następnym przejeździe jechać od razu do mety? To że ktoś ma na sztywno wklepaną mapę zwalnia go tylko z napisania algorytmu mapującego.

Udostępnij ten post


Link to post
Share on other sites

W takim razie po co czujniki, róbmy roboty na jednym czujniku (bądź enkoderze), albo jeszcze lepiej po zbadaniu trasy czasowo określić jak długo w przód itp. Programiści, do dzieła! 🙂

Udostępnij ten post


Link to post
Share on other sites

Na świecie panuje zasada, że przed otwarciem zawodów roboty MicroMouse są oddawane w ręce sędziów w celu kontroli, a następnie odkładane na jednym stoliku. W trakcie zawodów uczestnik zostaje wywoływany, bierze robota i ma 10 minut na wykonanie przejazdów. W tym czasie może jedynie dokonać zmian z poziomu menu robota: wybrać algorytm, skalibrować czujniki, zmienić nastawy prędkości, ewentualnie zmienić baterię i dokonać napraw, pod warunkiem, że nie wpłynie to na wagę robota! Wklepywanie informacji dotyczących labiryntu jest zabronione!

Udostępnij ten post


Link to post
Share on other sites
A czy nie po to robi właśnie się mapowanie rasy, aby przy następnym przejeździe jechać od razu do mety? To że ktoś ma na sztywno wklepaną mapę zwalnia go tylko z napisania algorytmu mapującego.

A czy nie o to chodzi, żeby właśnie robot samodzielnie zrobił mapę trasy i wybrał najkrótsza drogę? Ja widzę jedno wyjście na takich cwaniaków - losowanie miejsca startu w labiryncie tuż przed przejazdem i bezpośrednio po losowaniu dwa przejazdy - mapowanie i przejazd na czas, żeby nie było już czasu na dokonywanie zmian w programie.

Wydaje mi się, że sposób opisany przez grabo jest jednak najlepszy. Tylko wiadomo jak to u nas w Polsce na zawodach wygląda, 1/4 robotów jest na nich dokańczana 😉

Udostępnij ten post


Link to post
Share on other sites

Mam pytanie. W jaki sposób micromouse rozpoznaje że dotarł do celu?

Udostępnij ten post


Link to post
Share on other sites

KD93, ale musisz ustawić w robocie jakoś, z którego miejsca startuje.

Logon, robot tworzy mapę labiryntu, wie ile przyjechał. Komórki docelowe labiryntu są z góry znane i ustawione w programie.

Udostępnij ten post


Link to post
Share on other sites

Zasady MicroMouse jasno określają z którego pola robot startuje: jest to zawsze lewa dolna komórka, która musi być zamknięta ściankami z 3 stron (wschód, zachód, południe) a sama mysz skierowana musi być na północ

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Napisz odpowiedź...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...