Po pewnym czasie wracam do EE, więc proszę wybacz moją ignorancję. Szukam sposobu, aby wykryć dokładną lokalizację na zewnątrz, aby nawigować robotem w projekcie z moimi synami.
Czy istnieje tani sposób na triangulację lub korzystanie z GPS? Szukam precyzji z dokładnością do cala. Nie dbam też o to, czy muszę umieścić niektóre nadajniki w różnych lokalizacjach, aby podać urządzenie.
To jest dla kosiarki zautomatyzowanej. Mam podwórko o powierzchni 2 akrów i mój dom znajduje się w pobliżu środka, z kilkoma drzewami jako przeszkodami.
Dwóch z moich trzech chłopców (14 lat, 11 lat, 5 lat) podniosło ten pomysł, więc prawdziwym celem tego projektu jest spędzanie z nimi czasu i wzbudzanie zainteresowania EE i CE.
Biorąc to pod uwagę, koszt jest istotny, ale nie obchodzi mnie, czy będziemy nad tym pracować przez następne 2 lata i spędzić trochę czasu.
Oto moje obecne plany
- Dołącz komputer z systemem Windows na pokładzie, aby móc kodować czujniki.
- Microsoft Connect on board, aby pomóc w wykrywaniu przeszkód (powód dla komputera z systemem Windows)
- Dołącz USB GPS do ogólnej lokalizacji
- Dołącz aparat tylko dla zabawy
Za 2 lata, jeśli mam trochę pieniędzy, to jest w porządku, ale nie chcę zaczynać od szalonego, drogiego GPS.
Dziękujemy wszystkim, którzy mi pomogli !!!!
Odpowiedzi:
Powinieneś rozważyć odwrócenie systemu. Sam robot nie musi określać lokalizacji. Musi tylko wiedzieć, co robić. Można to przekazać z poziomu stacjonarnego komputera za pośrednictwem łącza Wi-Fi. Przy takim łączu nie ma znaczenia, czy robot obliczy lokalizację, czy też zostanie to zrobione w stałej instalacji, a następnie wynik zostanie przesłany do robota. Jeśli robot kiedykolwiek utraci połączenie Wi-Fi, może po prostu przestać. To powstrzymuje go przed wydostaniem się z zasięgu, a tym samym nie uzyskuje informacji, że powinien zawrócić, tymczasem kosić wszystkie ogrody kwiatowe w okolicy. Myślę, że dobrym pomysłem jest również utrzymanie robota tak prostym, jak to tylko możliwe i obciąenie stałej instalacji tak dużym obciążeniem, aby łatwiej było monitorować, naprawiać i pracować.
Właściwie nie zrobiłem tego, ale wpadłem na pomysł, kiedy zastanawiałem się nad twoim problemem. Mają obracający się nadajnik podczerwieni na robocie. To może się obracać raz na sekundę. Wystrzeliwuje dość wąską pionową szczelinę modulowanego IR. Następnie umieszczasz stałe czujniki podczerwieni wokół miejsca, głównie na peryferiach. Wskazują one, kiedy wyczują wiązkę z robota, która będzie występować tylko przez niewielką część przedziału powtórzeń. Porównując czas sygnałów z różnych czujników i znając ich lokalizację, powinieneś być w stanie obliczyć pozycję robota. Przesunięcie czasu między dowolnymi dwoma czujnikami podzielonymi przez okres sygnału ostrzegawczego informuje o względnych kątach tych dwóch czujników widzianych z robota. Z wystarczającą liczbą czujników i mnóstwem matematyki (łatwe do wykonania na dowolnym nowoczesnym komputerze w ułamku sekundy), możesz rozwiązać dla absolutnej pozycji robota. Następnie komputer wysyła odpowiednie polecenia do robota za pośrednictwem połączenia TCP za pośrednictwem łącza WiFi.
Robot tak naprawdę nie potrzebuje informacji o pozycji. Całe „myślenie” odbywa się na stałym komputerze. Wszystko, czego potrzebuje robot, to mały wbudowany system z modułem WiFI i stosem TCP / IP. Możesz wysyłać podstawowe polecenia do robota, takie jak względny kierunek, prędkość itp.
Dane z dowolnych dwóch czujników ustawiają robota na łuku, który obejmuje również dwa czujniki. Dokładny łuk zależy od przesunięcia kąta dwóch czujników. Teoretycznie wszystko czego potrzebujesz to trzy łuki, co oznacza trzy czujniki. Użyłbym kilku innych, aby poszczególne czujniki mogły tymczasowo wypaść z różnych powodów. To nadmiernie ograniczy problem, ale przy odpowiednim algorytmie możesz wykorzystać wszystkie te dane i znaleźć najbardziej prawdopodobną lokalizację robota.
Jak powiedziałem, nie próbowałem tego, ale myślę, że powinieneś być w stanie uzyskać dokładność wystarczająco dobrą, aby kontrolować kosiarkę. Przynajmniej ten schemat nie opiera się na niczym szczególnie drogim, trudnym do zdobycia lub na popychaniu tego, co można rozsądnie zmierzyć na własnym podwórku (na przykład brak czasu w nanosekundach).
źródło
Poprzednie odpowiedzi rozwiązują ten problem z punktu widzenia sposobu, w jaki kosiarka może wykryć swoją pozycję. Jednak czujniki mogą być zewnętrzne, tj. W domu. Umieść kamery tak, aby widziały kosiarkę w dowolnym miejscu na podwórku. Umieść symbol lub flagę lub coś kolorowego na kosiarce i kilka punktów odniesienia (lub użyj odbłyśników podczerwieni lub diod LED, w ten sposób możesz zainstalować soczewki filtra wycinającego w kamerach i wpuszczać ir, trywializując kod śledzenia). Ponieważ kamery są nieruchome, lokalizacja punktów odniesienia i kosiarki w ramkach wideo powinna zapewniać jednoznaczne dane lokalizacyjne. Precyzja zależy od rozdzielczości kamery. W ten sposób nie musisz wydawać tyle na elektronikę pokładową, a kod przetwarzania obrazu może działać „z domu”.
źródło
Mogę wymyślić kilka sposobów, które można to osiągnąć w zależności od zasięgu, w którym chcesz poruszać się robotem (metry czy setki metrów?)
Jednak GPS z pewnością nie zapewni ci precyzji w calach dzięki łatwo dostępnemu sprzętowi. Aby osiągnąć tę precyzję, konieczne będzie wykonanie korekcji różnicowej fazy nośnej. Chociaż nie jest to zbyt trudne, nie jest tak proste jak podłączenie modułu. Możesz obejrzeć ten projekt, aby zobaczyć jego realizację.
Łatwiejszym podejściem może być użycie nadajników podczerwieni lub ultradźwięków i czujników robota w celu określenia względnego zasięgu między nim a różnymi nadajnikami. Odbiornik zamontowany na serwomechanizmie może izolować kąt względem nadajnika i względną siłę sygnału. Niestety prawdopodobnie nie uzyskasz w ten sposób dokładności cala.
źródło
Inną opcją jest użycie kamery internetowej i niektórych znanych kształtów / kolorów oraz uruchomienie prostego rozpoznawania obrazu. Użyj triangulacji (być może obracając kamerę internetową z silnikiem krokowym), aby dowiedzieć się, gdzie jesteś. Jest to możliwe, jeśli masz na pokładzie znaczną moc procesora (np. BeagleBone lub netbook), a nie coś małego jak Arduino.
źródło
Spojrzałbym inną drogą niż wszystkie inne odpowiedzi. Zakop drut na swoim podwórku na całym obwodzie. Napęd to małym obwodem, który wysyła sygnał 100 kHz (lub coś w tym rodzaju). Byłoby to bardzo łatwe do wykrycia za pomocą platformy mobilnej. Jest to dokładnie ta sama technika, której używają te bezkostne systemy stosowane do trzymania psów na podwórku. Do diabła, prawdopodobnie mógłbyś złapać jedną z jednostek i użyć jej jako czujnika.
To dałoby ci kontrolę obwodu. Jeśli wyczujesz sygnał 100 kHz, jesteś na krawędzi. Oczywiście najpierw przetestuj to bez kosiarki (być może twoim pierwszym projektem powinien być zmodyfikowany samochód R / C. Porzuciłbym również komputer z systemem Windows i wziął system Arduino. Są tanie i za wstępną inwestycję kilkaset dolarów i samochód R / C, masz swój prototyp.
Jako rodzic jestem pewien, że chcesz uczynić to tak bezpiecznym, jak to możliwe. Oznaczałoby to NIE przywiązanie wiązki elektroniki do twojego sprawdzonego dwusuwowego. Sprawdź, czy możesz znaleźć starą kopię magazynu Radio-Electronics z lat 80. Mieli tam zautomatyzowaną kosiarkę zwaną Lawn Ranger. Oczywiście nie odtworzyłbyś ich oryginalnego projektu, ale mieli kilka nowatorskich innowacji, w tym łatwy w budowie czujnik wykrywający skoszoną trawę (unikanie przeszkód, wykrywanie obwodu i nawigację), a co ważniejsze, mieli unikalny projekt tnących ostrzy, które były znacznie bezpieczniejsze niż funt zaostrzonej, hartowanej stali, obracanej wokół. Ich system cięcia był zasadniczo parą wahliwych tarcz z przymocowanymi do nich ostrzami x-acto. Tarcze obracałyby się, co oznaczałoby, że kamień (lub stopa!) Wpadłby w sposób, w jaki dałby, powodując mniej katastrofalne obrażenia. Bardzo polecam sprawdzenie tej serii artykułów i zastosowanie niektórych zasad w swoim nowoczesnym designie. Możesz być w stanie uzyskać je ze swojej biblioteki publicznej; Wiem, że mój je miał.
Powodzenia, to brzmi jak świetny projekt, który zainteresuje młodych i zastanowi.
źródło
Zastanawiam się, czy byłoby możliwe użycie GPS z żyroskopami do stabilnego śledzenia pozycji. Można by zastosować metody uczenia się w rozmytej logice, gdyby się wiedziało i posiadało stabilne sygnały błędu pozycji (PES) z obu źródeł. GPS do wykrywania pozycji na dużą skalę +/- 10 m oraz Gyro lub inne środki do śledzenia pozycji na krótkim dystansie +/- 0,1 m
Plan 1) Zmierz dane śledzenia ścieżki GPS dla każdego dziecka koszącego trawnik za pomocą radia Zigbee lub pokładowego systemu gromadzenia danych. Później przeanalizuj stabilność, wzór, prędkość, skuteczność w programie analizy ścieżki, który agreguje odległość, analizuje drgania nachylenia, nakładanie się lub efektywną liczbę ścieżek X i Y.
2) Następnie wybierz optymalną ścieżkę i zapamiętaj ją. (okruchy plików cookie) do rejestrowania różnych ścieżek używanych przez każde dziecko i oceny zarejestrowanej ścieżki pod kątem wydajności i bezpieczeństwa ścieżki.
3) Zmierz różne ścieżki PES poprzez koszenie przy użyciu wektorów ortogonalnych, wektorów ukośnych, ścieżek kołowych i określ efektywny błąd śledzenia dla każdej metody prowadzenia pojazdu i komentuj warianty estetyczne wytworzonego trawnika.
Wystarczy użyć zarejestrowanych sygnałów pozycji zgromadzonych do analizy, a następnie podjąć próbę automatycznego śledzenia za pomocą 4-kanałowego systemu sterowanego serwomechanizmem. (Gaz, układ kierowniczy, hamulec i inne.)
Największą lekcją jest nauczenie się komunikacji (z dziećmi, klientami i inżynierami). NAUKA, jak napisać specyfikację przed jej zaprojektowaniem, jest największą lekcją. Jakie dane wejściowe, procesy i wyniki, dane środowiskowe oraz parametry testowalne / mierzalne z kryteriami akceptacji i odrzucenia. Powinny również istnieć odpowiednie nagrody za każdy kamień milowy i konsekwencje niepowodzenia.
To jest miniatura planu projektu, specyfikacji projektu i planu DVT. (Test walidacyjny projektu)
Twój sukces zależy od tego. Powodzenia i miłej zabawy.
źródło
Chociaż jest to tylko punkt wyjścia, gorąco polecam przejrzenie tego pliku PDF wyjaśniającego teorię stojącą za lokalizatorem audio Johna Swindle'a . Jak pamiętam, wyjaśnia różne metody lokalizacji i wyjaśnia metodę Johna, która jest dokładna z dokładnością do pół cala! (Konfiguracja nie jest trywialna i kod nie jest dostarczany, ale jest stosowany z dobrym skutkiem dla zdarzenia RoboColumbus (Dallas Personal Robotics Group)).
źródło
/electronics//a/23506/5439
Zobacz moją odpowiedź na inne pytanie dotyczące LPS. Krótka odpowiedź brzmi: jest to dość trudny problem, a istniejące systemy są dość drogie (od kilku tysięcy dolarów). Sugestia korzystania z czujników ultradźwiękowych jest dobra, jeśli Google może znaleźć w stanie techniki stosowanie ultradźwięków, a nawet dźwięk do tego celu.
źródło
Obecnie udacity oferuje bezpłatny kurs online Programowanie robota samochodowego, który uczy, jak Google robi to dla swoich samochodów. Zasadniczo używają GPS do ogólnego pozycjonowania wraz z zapisanymi mapami i wykrywaniem widzenia do lokalizacji z dużą dokładnością. Oprogramowanie wykorzystuje filtry cząstek stałych.
Możesz to zrobić z samym GPS, jeśli użyjesz bardzo drogiego różnicowego sprzętu GPS używanego przez geodetów, ale nie byłoby to opłacalne. Jak sugerujesz, jeśli używasz kilku tanich nadajników (być może Xbee?), Możesz łatwo zmierzyć odległość z niezwykle wysoką dokładnością, przesyłając impuls i mierząc czas potrzebny na podróż z nadajnika robota do zdalny repeater i powrót. To jest jak RADAR, tyle że zamiast odbić sygnał od powierzchni pasywnej, jest on wysyłany z powrotem przez stacjonarne transpondery.
EDYCJA: Odkąd Kevin został do mnie wezwany, być może lepiej wyjaśnię ;-) (Dobra zabawa, mam najwyższy szacunek dla Kevina i ma rację, że nie przedstawiłem wystarczających szczegółów, aby pokazać, jak zaimplementuj to).
Dokładny pomiar opóźnienia propagacji między dwoma punktami wymaga przede wszystkim dwóch rzeczy: 1) Prosta ścieżka sygnału, ponieważ odbicia powodują zniekształcenia. 2) Niektóre elementy elektroniczne na obu końcach wykorzystujące zsynchronizowane zegary i możliwość pomiaru odstępów czasu z wymaganą precyzją.
Zsynchronizowane zegary są stosunkowo łatwe, ponieważ stacja odbiorcza może czerpać swój zegar z sygnału przesyłanego przez drugą stację. Jest to standardowa synchroniczna transmisja danych z odzyskiwaniem zegara.
Oto artykuł Pomiar opóźnienia propagacji w dwukierunkowym łączu danych 1,25 Gb / s, w którym łatwo uzyskują tego rodzaju dokładność na kawałku światłowodu o długości 10 km. Mówią: „Powinno być w stanie zsynchronizować ~ 1000 węzłów z dokładnością poniżej nanosekundy na długości do 10 km”.
również
UŻYTE WYPOSAŻENIE:
Oczywiście ta szczególna konfiguracja jest przesadą w przypadku większości projektów robotyki hobbystycznej, ale można ją łatwo odtworzyć w domu, ponieważ wykorzystuje ona gotowe płyty programistyczne i nie wymaga żadnych specjalnych talentów, aby działać. W przypadku robota łączem byłoby radio, a nie kabel światłowodowy. Być może może to być nawet łącze podczerwieni jak pilot do telewizora, chociaż podejrzewam, że na zewnątrz w jasnym słońcu może to być problematyczne. W nocy może działać świetnie!
źródło
Jak powiedzieli inni, lokalizacja jest trudnym problemem, a rozdzielczość jednego cala przy rozsądnych kosztach jest bardzo trudna. Być może zainteresuje Cię informacja, że na poziomie uczelni odbywają się konkursy dotyczące robotów koszących: konkurs ION Robotic Lawower Mower . Byłem częścią zespołu przygotowującego się do ION; ostatecznie nie rywalizowaliśmy, ale z pewnością spędziliśmy dużo czasu zastanawiając się nad problemem, który jest zdecydowanie trudniejszy niż się wydaje. Zauważ, że większość konkurentóww ostatnim konkursie ION skosił mniej niż 50% pola w wyznaczonym czasie, a platformy kosztują dziesiątki tysięcy dolarów! Masz jednak tę zaletę, że ION nie zezwala na zewnętrzne pomoce nawigacyjne, takie jak sygnalizatory, które znacznie ułatwiają rozwiązanie problemu. (I nie masz limitu czasu.) Przejrzenie raportów projektowych zespołów byłoby dobrym źródłem pomysłów.
Gdybym rozpoczynał projekt kosiarki zautomatyzowanej, taki jak twój, prawdopodobnie użyłbym kombinacji taniego GPS (do szorstkiej lokalizacji), podczerwieni / ultradźwięków / wielokolorowych sygnałów nawigacyjnych (dokładna (r) lokalizacja), koderów (szacowanie pozycji) i wizji komputerowej (różny). Nie radziłbym wydawać tysięcy dolarów na fantazyjne systemy GPS i IMU. Kinect to dobry pomysł i na pewno jest znacznie tańszy niż Lidar; na pewno będziesz miał wiele do żucia między mapą głębi a kamerą.
Polecam także kurs Udacity na temat programowania samochodów samojezdnych w celu zapoznania się z pojęciami.
źródło
Teraz, gdy zmodyfikowałeś pytanie, aby usunąć wymaganie rozdzielczości jednego cala i powiedziałeś nam, że będziesz mieć komputer z systemem Windows i Microsoft Connect na pokładzie, myślę, że możesz zrobić bardzo dobrą lokalizację za pomocą tego sprzętu na robocie.
Czy widziałeś niektóre tanie lunety do golfa, których ludzie używają do określania odległości do tee?
Ich działanie polega na pomiarze postrzeganej wysokości flagi na zieleni (która jest stałą wysokością) i pokazaniu odległości do tee. Jest to prosty prawy trójkąt, w którym znając kąt i wysokość odległego boku, można obliczyć długość podstawy. To jest dokładnie to, czego twoi synowie będą się uczyć w geometrii, a później w trygonometrii.
Ponieważ wydaje się, że Twój dom jest widoczny ze wszystkich części działki, być może łatwo byłoby zobaczyć 2 rogi i obliczyć odległość?
źródło
Wykorzystaj energię akustyczną samej kosiarki. To jego własny pinger. A może jego hałas może być wykorzystywany do maskowania w głównej mierze kosiarki dodanej do kosiarki, być może zsynchronizowanej z wałem korbowym lub ostrzem. Umieść mikrofon w kosiarce i w kilku miejscach na podwórku. Uzyskaj przybliżoną ocenę lokalizacji na podstawie głośności. Najbliższe mikrofony nie będą miały tak wielu problemów z wieloma ścieżkami. Następnie skoreluj dźwięk z najbliższych mikrofonów, aby oszacować opóźnienie dźwięku w czasie lotu. Filtr Average lub Kalman, aby pozbyć się szumów w oszacowaniach opóźnienia i zastosować trig. Jeśli możesz ukryć (przed ludźmi) i wykryć (poprzez korelację krzyżową) wibracje ćwierkania lub silnika kosiarki, możesz uzyskać centymetry dokładności.
źródło
Sprawdź http://porcupineelectronics.com/uploads/LR3_Data_Sheet.pdf Ten mały adapter LR3 (jest przestarzały, ale lepszy jest w drodze) pozwala na połączenie komputera PC lub SBC z dalmierzem Fluke 411D, dokładność do +/- 3 mm do 30 M, jak pamiętam. Nowa jednostka wychodzi (LR4) współpracuje z nowszymi miernikami Fluke. W połączeniu z kamerą na platformie panoramowania / pochylania, dzięki czemu można skierować go na znane cele i enkoderem wysokiej rozdzielczości na serwomechanizmie panoramowania w celu uzyskania precyzyjnych pomiarów kąta, powinieneś być w stanie triangulować pozycję robota względem mapy twojego podwórza za pomocą dokładność, której potrzebujesz. Będziesz potrzebował trochę trygonometrii w kodzie (powyżej mojej matematyki w szkole średniej). Potrzebne równanie znalazłem w Internecie (Wikipedia). Chciałbym dołączyć to tutaj, ale jestem z dala od mojej domowej maszyny, w której przechowywane są informacje. System może również ułatwić generowanie mapy. Możesz potrzebować stabilizowanej żyroskopu platformy z pasywną izolacją drgań (kosiarki mają dużo wibracji). Do pomiarów w locie możesz potrzebować oprogramowania śledzącego, aby utrzymać laser również na celu. Dokładna odometria da ci więcej czasu między „poprawkami”, jeśli Twoja moc obliczeniowa jest niewielka.
źródło