2012-03-26 8 views
25

Pracuję nad projektem, który ma wykorzystywać możliwości GPS telefonu z Androidem i pobliskiej stacji do obliczania pozycjonowania w znacznie bardziej precyzyjny sposób (cm), przy użyciu technologii RTK DGPS.Korekty DGPS na Androida

Do tej pory nie widziałem nikogo mówiącego, że udało im się wykonać podobne zadanie (poza @GPSmaster, who doesn't explain how), a APK nie oferuje żadnych informacji z układu GPS innych niż aktualizacje informacji o lokalizacji i NMEA. Potrzebuję, jeśli to możliwe, pseudo-zakresów i faz nośnych.

Zastanawiałem się, czy:

  • Byłoby możliwe, aby szukać haków niższych poziomów na moim telefonie z wykorzystaniem kodu macierzystego lub innej Snooping niższy poziom;
  • Możliwe byłoby wysłanie korekcji RTCM do układu GPS znajdującego się na jednym z tych urządzeń;

Wszelkie pomysły?

+4

Wydaje się, że jest to całkowicie chipset obsługa wymaga natywną dostępu (o minimalnym) jest europejską inicjatywą, aby uzyskać lepsza dokładność GPS przez ich system. Mają zestaw narzędzi do swojego systemu na obsługiwanym sprzęcie. Nie dokładnie to, czego szukasz, ale prawdopodobnie możesz skontaktować się z nimi i uzyskać pomysły, jak postępować, ponieważ używają podobnych technik. http://egnos-portal.gsa.europa.eu/developer-platform/egnos-toolkits/egnos-sdk. Oczywiście wymagają one również dodatkowego sprzętu, ale warto z nimi porozmawiać (ekspertami domeny i wszystkim). – Idistic

+0

Ponadto, GPS na platformach Android jest zwykle wspomagany przez telefon komórkowy lub obsługę lokalizacji WiFi. Załadowanie GPS jest zazwyczaj wspomagane przez sieć komórkową, jeśli ta funkcja jest obsługiwana przez operatora, a interfejs API lokalizacji jest dodatkowo wspomagany przez usługi lokalizacyjne WiFi, jeśli jest włączony. Ponadto system WAAS lub EGNOS powinien być obsługiwany w sposób przezroczysty przez stos GPS, ale wydaje się, że nie są one dostępne pomimo krótkich okresów testowych/obszarów w Europie. – dronus

+0

Wygląda na to, że po prostu mieli dwa urządzenia blisko siebie. Jeśli używasz tego samego odbiornika (w tym przypadku obu Droidów X), większość źródeł błędów powinna być bardzo podobna. Dla identycznych urządzeń błędy jonosferyczne, efemerydalne i zegarowe powinny być bardzo podobne (http://en.wikipedia.org/wiki/Error_analysis_for_the_Global_Positioning_System). –

Odpowiedz

4

Nie, nie ma praktycznego dostępu do niższego poziomu dostępu do urządzenia GPS za pomocą aplikacji dla systemu Android. Ma to kilka przyczyn:

  • Aplikacja nie ma innych sposobów dostępu do urządzenia GPS, jak za pośrednictwem interfejsu API opartego na języku Java. Kod natywny jest zabroniony do korzystania z większości urządzeń i zwykle wymaga opakowania Java do tunelowania przez piaskownicę dla urządzeń sensorowych z Androidem. To stanowi główną koncepcję bezpieczeństwa.

  • Jeśli natywny kod miałby dostęp do urządzenia GPS na niższym poziomie, musiałby poradzić sobie z kilkoma różnymi protokołami producentów, które nie są obecnie pobierane przez interfejs API. Największą szansą jest uzyskanie dostępu do niestandardowych kodów NMEA, które mogą nadal podlegać ograniczeniom zależnym od urządzenia.

  • Nawet jeśli dostęp niższego poziomu byłby możliwy, jeden traci zintegrowane łączenie innych źródeł lokalizacji, takich jak WLAN i operator telefonii komórkowej, które są prawdopodobnie połączone w natywny kod pod API Java, ale powyżej protokołu NMEA.

0

Powinny być powiązane z implementacją sprzętu, a nie z implementacją oprogramowania.

W rzeczywistości GPS zwykle towarzyszy Wi-Fi lub 3G, aby pomóc w wyszukiwaniu aktualnej pozycji.

2

Umm. Twój Android prawdopodobnie ma taką badziewną antenę GPS, że osiągnięcie dokładności cm jest niemożliwe. Być może, jeśli przeciętnie zajmujesz pozycję przez kilka dni ... zwykle obsługa DGPS nie jest publikowana i nie obsługuje wielu chipsetów. Ostatnim razem, kiedy zobaczyłem, że DGPS zaimplementował to, włamało się do rzeczywistego oprogramowania układowego układu GPS, aby dodać obsługę. Nawet uzyskanie A-GPS do pracy na losowym chipsecie jest niepewne, ponieważ mogą one nie wspierać udokumentowanego sposobu dostarczania danych pomocniczych.

0

RTCM korekta może zostać wysłana do telefonu Android przy użyciu NTRIP 'provider'. Następnie musisz zastosować go do swojego surowego GPS w swoim Androidzie.

+0

Czy jesteś pewien? Najbardziej mogłem znaleźć aplikację, która łączyła się z serwerami NTRIP, a następnie była w stanie przekazać te poprawki za pośrednictwem Bluetooth innym odbiorcom. – ravemir

1

Możesz użyć korekt DGPS w Europie poprzez niestandardową aplikację dla SISnet odbierającą sygnały korekcyjne z satelitów rozszerzających EGNOS (http://egnos-portal.gsa.europa.eu/news/egnos-gets-invite-your-smartphone-11). Jednak potrzebuje subskrypcji (która nie jest jeszcze dostępna publicznie) do SISnet, aby uzyskać nazwę użytkownika i hasło do połączenia z ich serwerami. Opublikowano niektóre SDK, które mogą okazać się przydatne.Pamiętaj tylko, że jesteś ograniczony tylko do sygnałów C/A (pseudorange) i NIE MOŻNA uzyskać danych fazy (L1/L2) z tanich układów wewnątrz smartfonów. Potrzebujesz precyzyjnego odbiornika GNSS, takiego jak Trimble BD910 (http://www.trimble.com/gnss-inertial/bd910.aspx?dtID=overview) w stanie uzyskać dostęp do sygnału fazy nośnej L1 dla GLONASS GPS &. Są jednak tańsze chipy, które obsługują SBAS, ale żadne nie są jeszcze instalowane natywnie w telefonach.

5

Ogólnie rzecz biorąc DGPS to technika, która poprawia rzeczywistą dokładność pozycji, eliminując większość efektów atmosferycznych na sygnał GPS. W typowym bezpośrednim pomiarze GPS występuje około losowy błąd w zakresach obliczanych do satelitów z powodu efektów atmosferycznych. Właśnie dlatego odbiornik GPS, który zbiera dane w ustalonym miejscu, wydaje się błądzić w elipsie błędu. Dla dwóch stacji odbiorczych w tym samym obszarze efekty atmosferyczne są prawie identyczne i będą błądzić równolegle w obrębie podobnych wielkości i orientowanych wielokropków błędu. Jeśli jeden z dwóch odbiorników znajduje się w znanym miejscu, wówczas różnice w ich widocznych lokalizacjach GPS mogą być pobierane i wykreślane z rzeczywistej lokalizacji znanej stacji w celu znalezienia prawdziwej lokalizacji nieznanej stacji.

Wracając do dnia (około 1992), kiedy musieliśmy wykonać DGPS przez "przetwarzanie końcowe", używaliśmy surowych danych NEMA zebranych na dwóch stacjach, dopasowując czasy, obliczając wektor bazowy i stosując go do znany punkt, aby znaleźć nieznany punkt. Myślę, że dane NEMA, których używaliśmy, zostały zarejestrowane tylko do najbliższych 10 sekund. Matematyka wcale nie jest taka trudna.

Podejrzewam, że wiadomości NEMA GPS [] z tabletu w znanym punkcie (z jasnym widokiem nieba) mogą być prawdopodobnie wysyłane przez gniazdo internetowe do smartfona (również z jasnym widokiem nieba), co może następnie obliczyć różnicę i osiągnąć względną lokalizację pod licznikiem na odległości kilku kilometrów, nawet jeśli założone czasy tranzytu internetowego zostały zignorowane. Ta technika prawdopodobnie nadal działałaby, nawet gdyby tablety i smartfony miały zastosowanie w dostosowaniu emisji DGPS.

+0

Wracając, gdy próbowałem tego użyć, rozważałem użycie komunikatów NMEA, ponieważ moje urządzenia nagrywały wiadomości. Problem polega na tym, że nie mogłem znaleźć żadnego urządzenia, które przesłałoby wymagane dane.Następnie wykopałem się, aby znaleźć wiadomości, które mogą mi pomóc NMEA, ale okazało się, że większość układów GPS z Androidem ich nie nagrywa, więc zrezygnowałem. – ravemir

4

Wraz z Androidem 7.1, surowe dane z układów GPS będą dostępne dla programistów. (http://gpsworld.com/google-to-provide-raw-gnss-measurements/)

Inni zdają się zrobić coś podobnego do tego, co chcesz osiągnąć (http://gpsworld.com/innovation-precise-positioning-using-raw-gps-measurements-from-android-smartphones/)

+0

Wow, zabrał ich wystarczająco długo, ale oni tam dotarli! Jednak z artykułu: "Pierwsze dostępne produkty Android z surowymi pomiarami GNSS to [...]: tablet Nexus 9, telefon Nexus 5x, telefon Nexus 6p, telefon Pixel i telefon Pixel XL. [...] The Nexus 5x, telefony Nexus 6p i Pixel śledzą GPS i GLONASS, ale surowe pomiary z tych telefonów pochodzą tylko z GPS i nie obejmują fazy nośnej. ". Czy nie spowoduje to, że DGPS stanie się niezdatny do użytku? – ravemir

+0

Niektórzy próbowali uzyskać pomiar fazy [link] (http://gpsworld.com/accuracy-in-the-palm-of-your-)/i są w stanie uzyskać dokładność na poziomie cm. Chociaż musieli używać anteny ekstrenalalnej. – cLupus