Skocz do zawartości

Robot i nawigacja


pi1er

Pomocna odpowiedź

Potrafię to sobie wyobrazić, ale chętnie zobaczę jak Ty to widzisz 🙂

Myślałem, że kołnierze (rurki termokurczliwe) zakładać raczej na odbiornik niż nadajniki - jakoś tak mi to na dokładniejsze wygląda.

Widziałem, że moduły radiowe są dość tanie - jednak pewnie do nawigacji by się nie nadawały.

GPS byłby idealny, ale odpada z racji 5 metrów dokładności (w skali mieszkania 5 metrów w jedną czy drugą stronę to już inne pomieszczenie)

  • Lubię! 1
Link do komentarza
Share on other sites

Pomysł BoBBiego może działać, jednak i tak trzeba jakieś enkodery dodać, żeby nie namierzać co chwilę, czy jedziemy jak trzeba. A w mojej koncepcji nie ma żadnej kamerki, jedynie komunikacja z telefonem jak w artykule o module bluetooth, Przy idealnie dokładnych enkoderach wystarczą współrzędne startowe i mapa, w rzeczywistości trzeba postawić pytanie o korektę błędów. Może sprobuję takie coś zrobić w następnym robocie, jak się uda to opiszę

Link do komentarza
Share on other sites

Oczywiście, że na robocie 'obtermokurczkowany'.

na robocie obudowany termokurczką odbiornik typu tsop/sfh, na obrotowej wieżyczce (albo niech cały robot się kręci).

No a swoją drogą GPS działa na podobnej zasadzie do tego, co ja opisałem (na podstawie widoczności satelit i ich położeniu względem odbiornika).

ED. Chodzi mi o coś takiego jak tu:

http://letsmakerobots.com/node/6737

http://letsmakerobots.com/node/6499

Z tym, że byłoby kilka beaconów, i wysyłałyby dane dodatkowo (choćby togglowanie nośnej co jakiś czas, różny dla każdej latarni, przez co uC wiedziałby, którego beacona widzi).

Dokładnie chodzi mi o coś takiego:

Link do komentarza
Share on other sites

Ah, faktycznie odczytałem, że nadajniki mają być obtermokurczkowane 😋

Rozumiem o co Ci chodzi, po prawej i po lewej stronie "bazy" jest beacon. Robot namierza prawy, potem lewy i na podstawie kątów ustala odpowiedni obrót aby dojechać między je - czyli do bazy.

Problem jest taki, że o ile dobrze rozumuje (a jest późna godzina i od rana na nogach) konieczne jest zastosowanie kompasu elektronicznego w tej konstrukcji w celu sprawdzenia, czy robot jedzie pod dobrym kątem.

IMHO opcja z wieżyczką jest o wiele praktyczniejsza, mógłby ją obsługiwać osobny uC.

O to Ci chodzi

, prawda?

Szczerze mówiąc, teraz zgłupiałem - na jakiej zasadzie on sprawdza odległość?

W GPS to proste, obliczamy czas dotarcia sygnału, a tutaj? Triangulacja?

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Problem jest taki, że o ile dobrze rozumuje (a jest późna godzina i od rana na nogach) konieczne jest zastosowanie kompasu elektronicznego w tej konstrukcji w celu sprawdzenia, czy robot jedzie pod dobrym kątem.

Niekoniecznie. Algorytm wyglądałby mniej-więcej tak:

**************

kręć się dopóki nie zobaczysz beaconu1

kręć się dopóki nie zobaczysz beaconu2 (zapamiętaj kąt obrotu)

kąt do obrócenia = zapamiętany kat obrotu/2

obróć się o kąt obrotu

jedź do przodu ileśtam

**************

Zapętlając toto robot powinien jechać dokładnie pomiędzy 2 beacony, przejeżdżając 'ileśtam' powinien korygować pozycję (która na 100% nie będzie zbyt dokładna przy pierwszym 'pomiarze').

Jeśli chcesz zrobić obliczanie położenia robota względem xy (oś x określałby np beacon1, y beacon2) musiałbyś troszkę bardziej obciążyć proca. Powiedz mi, czy to koniecznie, bo nie bardzo chce mi się tak bardzo produkować (miałeś w szkole (rozumiesz) funkcje trygonometryczne)?

ed. Poczytaj tutaj: http://en.wikipedia.org/wiki/Polar_coordinate_system powinno ci to troszkę rozjaśnić.

Link do komentarza
Share on other sites

Mialem i rozumiem 🙂

Jezeli to dla Ciebie problem, to najwyzej w wolnej chwili to opiszesz 🙂

Generalnie dostalem sie na studia zwiazane z robotyka, wiec obiecuje ze Twoj wysilek nie pojdzie na marne i bardzo mi sie przyda ta wiedza.

Jak bede na kompie to poprawie na polskie znaki 🙂

Link do komentarza
Share on other sites

Dobra, wziąłem się teraz za rozrysowanie tego, i jednak nie dałem rady 😋 Musiałbyś najpierw ogarnąć triangulację (nie do końca wiem, gdzie to zaimplementować). A po odpowiednim przeczytaniu i wyciągnięciu odpowiednich informacji z tych dwóch linków:

http://en.wikipedia.org/wiki/Polar_coordinate_system

http://www.asimo.pl/teoria/triangulacja.php

Powinno poskładać się to w całość. Trzeba by znać odległość między beaconami.

ed. Znalazłem jeszcze jeden link:

http://www.nauticalissues.com/nav16.html

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Już kiedyś pisałem o latarniach ultradźwiękowych, widziałem na necie taki projekt. Robot posiada nadajnik radiowy, który włącza kilka różnych latarni ultradźwiękowych, mierzony jest czas od wysłania sygnału radiowego do odebrania ultradźwięków z poszczególnych latarni, na tej podstawie z dość dużą dokładnością mógłbyś ustalić pozycję względem latarni.

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Już kiedyś pisałem o latarniach ultradźwiękowych, widziałem na necie taki projekt. Robot posiada nadajnik radiowy, który włącza kilka różnych latarni ultradźwiękowych, mierzony jest czas od wysłania sygnału radiowego do odebrania ultradźwięków z poszczególnych latarni, na tej podstawie z dość dużą dokładnością mógłbyś ustalić pozycję względem latarni.

Hmm, tylko czy użycie bascoma wtedy wchodzi w rachubę? (z racji na jego "prędkość") Pomysł jest dobry, ale jego dokładność zależy od zegaru uC o ile dobrze rozumuję. Bałbym się, że ATmegowe 8-16 MHz może być za wolne.

Poczytałem o tej triangulacji, po całonocnej walce z tym - w końcu wiem jak to obliczać.

Wystarczą nam 2 beacony (latarnie IR) + znajomość dokładnej odległości między nimi.

Resztę na podstawie odczytów i obliczeń 🙂

To dobry materiał na artykuł, może coś skrobnę na ten temat jak mi się uda opanować to w praktyce - Tak, więc czas złożyć takiego robocika i 2 beacony. Sporo będzie z tym walki, ale na pewno mniej niż z ultradźwiękami.

Link do komentarza
Share on other sites

Hmm, tylko czy użycie bascoma wtedy wchodzi w rachubę? Pomysł jest dobry, ale jego dokładność zależy od zegaru uC o ile dobrze rozumuję. Bałbym się, że ATmegowe 8-16 MHz może być za wolne.

Przyjmując prędkość dźwięku jako 340m/s, to fala dźwiękowa przebędzie 1m po 2,94ms, 1 cm po 29us. Więc taktując mikrokontroler nawet z 1MHz masz 29 cykli na 1cm. Wydaje mi się, że bez problemu można to zmierzyć i obsługiwać w Bascomie z dokładnością nawet większą niż 1cm. W rzeczywistości nie liczy się środowisko, tylko sam mikrokontroler i elektronika wokół niego, która odbierze sygnał i poda impuls na wejście przerwania w momencie odebrania dźwięku. Wysyłasz sygnał drogą radiową do pierwszej latarni, można spokojnie przyjąć, że fala radiowa dotrze w tym samym momencie do wszystkich latarni ultradźwiękowych, po wysłaniu zaczynasz mierzyć czas do momentu odebrania dźwięku z pierwszej latarni. Powtarzasz to samo dla kolejnych. Oczywiście w danym momencie może nadawać tylko 1 latarnia, aby brać pod uwagę tylko 1 dźwięk bez kolejnych odbić.

  • Pomogłeś! 1
Link do komentarza
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!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

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

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.