Skocz do zawartości

Podąża za sygnałem radiowym


hektor001

Pomocna odpowiedź

Chciałem zbudować robota który podąża za sygnałem radiowym, może nadajnik 433MHz. W ten sposób można zrealizować na przykład powrót do ładowarki, lub podążanie za osobą. Mierzy sygnał radiowy i podąża w kierunku najsilniejszego sygnału teoretycznie zawsze powinien dotrzeć do nadajnika. Niestety nie mam pojęcia jak to zrealizować najlepiej (dla mnie najprościej) na arduino.

Link do komentarza
Share on other sites

To zły pomysł. Po pierwsze w eterze panuje taki śmietnik a szczególnie w pasmach ISM, że Twój robot będzie widział/słyszał wiele różnych nadajników na raz. A nawet jeśli puścisz go na odludziu, to i tak trudno będzie zrobić odbiornik jednoznacznie i precyzyjnie określający siłę sygnału. Na nią bowiem składają się zarówno charakterystyki kierunkowe anten (nadawczej i odbiorczej) jak i rodzaj otoczenia (drzewa, ściany, podłoże itp). Już sama konstrukcja robota i położenie anteny odbiorczej będzie wypływać na jej kierunkowość. Co robot ma zrobić, gdy po obrocie w miejscu o 40 stopni w prawo sygnał spadnie 2 razy? Czy oddalił się od nadajnika? A co jeśli przejedzie kilka metrów i sygnał wzrośnie? Czy jedzie w dobrym kierunku czy dostał się w zasięg mocniejszego listka anteny nadawczej? Mógłbyś spróbować zamocować antenę nadajnika na maszcie w dużej odległości od przeszkód tak, by jej ch-ka kierunkowa była prawie idealnie kołowa a w odbiorniku zamontować obracaną antenę kierunkową. Na pewno jednak nie chcesz tego robić z jednej prostej przyczyny: antena o sensownej charakterystyce kierunkowej na pasmo 4xx MHz będzie wielka, bo sama fala ma 80cm długości. Chyba, że robisz coś w rodzaju czołgu, ale to pewnie byś napisał...

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

Masz dwie możliwości plus inne pomysły.

Pierwsza to bazujesz na znanym położeniu bazy i robota czyli GPS/GLONASS albo jakaś inna metoda lokalizacji np. w znanym pomieszczeniu (odległość od kilku zidentyfikowanych przeszkód?) i wtedy wyznaczasz trasę na podstawie mapy terenu i położenia celu lub w najprostszym przypadku jest to azymut celu bo trasa jest linią prostą. Nie musisz widzieć bazy ani odbierać żadnego sygnału od niej, ale precyzyjne określanie położenia nie jest łatwe.

Druga metoda to co co zaproponowałeś, ale nie przez radio lub nie na tej częstotliwości nośnej. Baza ma na sobie coś aktywnego np. może w jakiś charakterystyczny sposób nadawać coś diodą LED lub podczerwoną, może popiskiwać z cicha (ultradźwięki?) lub też radio, ale to raczej gdzieś wyżej, na 2.4GHz? Światło lub podczerwień są łatwe na nadawania i do kierunkowego odbioru - wystarczy zwykła rurka założona na fotodiodę zamocowaną na obrotowej podstawie lub w pewnym przypadku nawet nieruchoma kamera (a może linijka CCD) z szerokokątnym obiektywem i analiza obrazu. Dźwięki mogą trochę przeszkadzać, ale je także łatwo w procesorze przetwarzać więc zrobienie obrotowego, pojedynczego mikrofonu kierunkowego lub jakiejś nieruchomej matrycy określającej kierunek nadchodzącego dźwięku nie powinno być trudne. Ktoś tu niedawno próbował 3-4 mikrofonów i porównywania czasu złapania impulsu klaśnięcia, ale nie znam wyników. Niestety fala akustyczna dobrze odbija się od sztywnych przeszkód np. od ścian i w słabo tłumionym pomieszczeniu (pusty pokój) system może głupieć na skutek dużej liczby dobrych ech i długiego pogłosu. Radio ma tą samą wadę którą już opisałem - ilość zakłóceń, ale antena kierunkowa na 2.4GHz będzie dużo mniejsza. Musiałbyś poszukać projektów takich anten w sieci, zbudować taką i obracając ją na robocie poszukiwać znanego Ci, umówionego sygnału. Wtedy jest szansa nie kierowania się na router WiFi sąsiada lub włączony Bluetooth własnego telefonu.

No i jest na pewno mnóstwo rozwiązań alternatywnych. Na szybko podrzucam kilka:

a. Paski narysowane/wyklejone na podłodze prowadzące po zamkniętej trasie do celu (LineFollower). Gdy robot zaczyna odczuwać głód szuka paska i niezależnie w którą stronę pojedzie trafi na do bazy.

b. Prawie to samo ale w postaci wyklejonych z rzadka klinów/strzałek. Kamera obserwująca podłoże wykrywa taki znacznik i analizując jego położenie/orientację wyznacza kierunek bazy i tam kieruje robota.

c. Znaczniki wyklejone na ścianach. Szukamy charakterystycznych obrazów na ścianach (coś w rodzaju kodów QR, ale moga być dużo prostsze) , na ich podstawie wyznaczamy swoje aktualne położenie trasę do celu lub wręcz to one wskazują bezpośrednio położenie bazy bo są naklejone przy niej.

d. Znaczniki na suficie - to samo co powyżej, ale możemy nieruchomą kamerą widzieć od razu kilka i w każdej chwili wiemy gdzie jesteśmy.

e. Aktywność systemu przenosimy do bazy która ma więcej energii i może mieć np. większy, szybszy komputer. Np. wyposażamy bazę w ruchomy skaner np. fotodiodę szukająca robota lub kamerę i to baza nadaje komendy (lub tylko informacje o położeniu) do robota co ma biedak zrobić (lub gdzie jest) żeby trafił do gniazdka. Robot gdy zgłodnieje jeździ bez celu aż trafi w pole widzenia bazy. Dalej już sobie radzi bazując na odbieranych danych. Ten system pokazuje swoje zalety przy wielu robotach, bo to baza zarządza ich ruchem mogąc np. zorganizować kolejkę głodomorów złapanych w jej zasięg lub odsyłając niektórych do koleżanki w innym pokoju (Daj trochę w prawo i jedź dalej prosto aż znajdziesz sygnał innej bazy, good luck).

f. Coś bardzo prostego typu baza jest przy ścianie a głodny robot jeździ wzdłuż ściany aż napotka bazę.

Napisz coś więcej w jakich warunkach ten system miałby działać. Inaczej jest na zewnątrz a inaczej w pomieszczeniach. Inaczej w jednej dużej hali czy na stole pokazowym a inaczej w zagraconym mieszkaniu.

Na pewno pojawi się tu zaraz lawina innych pomysłów bo problem identyfikacji celu i wyznaczania trasy jest tak stary jak jeżdżące roboty. A nawet starszy 🙂

Nie wiem czy to wszystko da się zrobić na Arduino, choć - jak piszą "Arduino i każdy może zostać elektronikiem". No to próbuj...

  • Lubię! 1
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

Wielkie podziękowanie dla marek1707. Co do działa systemu to ładowanie w pomieszczeniu i zawsze tym samym więc wchodzi w grę jakieś oznakowanie miejsca ładowania. Ale już podążanie za osobą to już w różnych pomieszczeniach i na zewnątrz.

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!

Gość
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.