Po prostu głośno myślę, a nie grałem jeszcze z API akcelerometru dla Androida, więc wytrzymaj ze mną.
Przede wszystkim tradycyjnie, aby uzyskać nawigację z akcelerometrów, potrzebujesz akcelerometru 6-osiowego. Potrzebujesz przyspieszeń w X, Y i Z, ale także obrotów Xr, Yr i Zr. Bez danych o rotacji nie masz wystarczających danych do ustalenia wektora, chyba że założymy, że urządzenie nigdy nie zmieni swojego nastawienia, co byłoby dość ograniczające. I tak nikt nie czyta TOS.
Aha, i wiesz, że INS dryfuje wraz z obrotem Ziemi, prawda? Więc to też. Godzinę później w tajemniczy sposób wspinasz się po 15-stopniowym zboczu w kosmos. To przy założeniu, że masz INS zdolny do utrzymywania lokalizacji tak długo, czego telefon jeszcze nie potrafi.
Lepszym sposobem wykorzystania akcelerometrów - nawet z akcelerometrem 3-osiowym - do nawigacji byłoby połączenie z GPS w celu kalibracji INS, gdy tylko jest to możliwe. Tam, gdzie GPS nie działa, INS ładnie komplementuje. GPS może nagle zestrzelić Cię 3 przecznice dalej, ponieważ znalazłeś się zbyt blisko drzewa. INS nie jest świetny, ale przynajmniej wie, że nie uderzył cię meteor.
Możesz zarejestrować dane akcelerometru telefonu i wiele z nich. Warte tygodni. Porównaj to z dobrymi (mam na myśli naprawdę dobrymi) danymi GPS i użyj przetwarzania danych do ustalenia korelacji trendów między danymi akcelerometru a znanymi danymi GPS. (Wskazówka od profesjonalisty: będziesz chciał sprawdzać almanach GPS przez kilka dni z dobrą geometrią i dużą liczbą satelitów. Czasami możesz mieć tylko 4 satelity, a to nie wystarczy). idzie z telefonem w kieszeni, dane akcelerometru rejestrują bardzo specyficzny wzorzec. Na podstawie gromadzenia danych ustalasz profil dla tego urządzenia, z tym użytkownikiem i jaką prędkość reprezentuje ten wzorzec, kiedy ma dane GPS. Powinieneś być w stanie wykryć zakręty, wchodzenie po schodach, siadanie (kalibracja do czasu prędkości 0! ) i różne inne zadania. Sposób trzymania telefonu musiałby być traktowany jako osobne dane wejściowe. Czuję sieć neuronową używaną do eksploracji danych. Innymi słowy, coś ślepego na znaczenie danych wejściowych. Algorytm szukałby tylko trendów we wzorcach i tak naprawdę nie zwracałby uwagi na rzeczywiste pomiary INS. Wszystko, co by wiedział, tohistorically, when this pattern occurs, the device is traveling and 2.72 m/s X, 0.17m/s Y, 0.01m/s Z, so the device must be doing that now.
I odpowiednio przesunąłby utwór do przodu. Ważne jest, aby był całkowicie ślepy, ponieważ samo włożenie telefonu do kieszeni może być zorientowane w jednej z 4 różnych orientacji i 8, jeśli zmienisz kieszenie. Telefon można też trzymać na wiele sposobów. Mówimy tutaj o dużej ilości danych.
Oczywiście nadal będziesz mieć dużo dryfu, ale myślę, że w ten sposób będziesz miał więcej szczęścia, ponieważ urządzenie będzie wiedzieć, kiedy przestałeś chodzić, a dryf pozycyjny nie będzie utrwalał się. Wie, że stoisz w miejscu na podstawie danych historycznych. Tradycyjne systemy INS nie mają tej funkcji. Dryf utrwala się we wszystkich przyszłych pomiarach i związkach wykładniczo. Bezbożna dokładność lub posiadanie dodatkowej nawigacji do sprawdzania w regularnych odstępach czasu jest absolutnie niezbędne w przypadku tradycyjnych INS.
Każde urządzenie i każda osoba musiałyby mieć swój własny profil. To dużo danych i dużo obliczeń. Każdy porusza się z różnymi prędkościami, różnymi krokami, wkłada telefony do różnych kieszeni itp. Z pewnością wdrożenie tego w prawdziwym świecie wymagałoby obsługi przetwarzania liczb po stronie serwera.
Jeśli używałeś GPS do początkowej linii bazowej, część problemu polega na tym, że GPS ma własne migracje w czasie, ale nie są to błędy utrwalające. Umieść odbiornik w jednym miejscu i zarejestruj dane. Jeśli nie ma poprawek WAAS, możesz łatwo uzyskać poprawki lokalizacji dryfujące w przypadkowych kierunkach 100 stóp wokół ciebie. Z WAAS, może nawet do 6 stóp. W rzeczywistości możesz mieć więcej szczęścia z systemem RTK poniżej metra w plecaku, aby przynajmniej obniżyć algorytm SSN.
Nadal będziesz mieć dryft kątowy z INS, używając mojej metody. To jest problem. Ale jeśli posunąłeś się tak daleko, aby zbudować sieć SSN, która przez tygodnie przelewałaby dane GPS i INS między n użytkowników i faktycznie działało do tego momentu, oczywiście nie masz nic przeciwko big data. Podążaj dalej tą ścieżką i wykorzystaj więcej danych, aby rozwiązać problem dryfu kątowego: ludzie są stworzeniami z przyzwyczajenia. Robimy prawie to samo, jak chodzenie po chodnikach, drzwiach, wchodzeniu po schodach i nie robimy szalonych rzeczy, takich jak chodzenie po autostradach, ścianach czy balkonach.
Powiedzmy, że bierzesz stronę z Big Brother i zaczynasz przechowywać dane o tym, dokąd się udają. Możesz rozpocząć mapowanie miejsc, w których ludzie powinni chodzić. Można się założyć, że jeśli użytkownik zacznie wchodzić po schodach, znajdzie się u tej samej podstawy schodów, co osoba przed nią. Po 1000 iteracjach i kilku korektach metodą najmniejszych kwadratów Twoja baza danych prawie wie, gdzie znajdują się te schody z dużą dokładnością. Teraz możesz skorygować odchylenie kątowe i lokalizację, gdy osoba zaczyna chodzić. Kiedy uderza w te schody, skręca w dół korytarza lub jedzie chodnikiem, każdy dryf można skorygować. Twoja baza danych zawierałaby sektory ważone według prawdopodobieństwa, że ktoś tam chodził lub że ten użytkownik przeszedł tam w przeszłości. Przestrzenne bazy danych są zoptymalizowane pod kątem tego użyciadivide and conquer
przydzielać tylko sektory, które mają znaczenie. To byłoby coś w rodzaju tych projektów MIT, w których robot wyposażony w laser zaczyna od czarnego obrazu i maluje labirynt w pamięci, wykonując każdy obrót, oświetlając miejsca, w których są wszystkie ściany.
Obszary o dużym natężeniu ruchu otrzymałyby większą wagę, a obszary, w których nikt nigdy nie miał wagi 0. Obszary o większym natężeniu ruchu mają wyższą rozdzielczość. W gruncie rzeczy skończyłbyś z mapą wszędzie, gdzie ktokolwiek był, i użyłby jej jako modelu przewidywania.
Nie zdziwiłbym się, gdyby za pomocą tej metody można było określić, jakie miejsce w teatrze zajmuje dana osoba. Biorąc pod uwagę wystarczającą liczbę użytkowników chodzących do kina i wystarczającą rozdzielczość, będziesz mieć dane mapujące każdy rząd kina i szerokość każdego rzędu. Im więcej osób odwiedza lokalizację, tym większa dokładność, z jaką można przewidzieć, że dana osoba się znajduje.
Ponadto, gorąco polecam zakup (bezpłatnej) subskrypcji magazynu GPS World, jeśli jesteś zainteresowany obecnymi badaniami tego rodzaju. Każdego miesiąca się z tym upajam.