Sadece sesli düşünüyorum ve henüz bir android ivme ölçer API ile oynamadım, bu yüzden bana katlanın.
Her şeyden önce, geleneksel olarak, ivmeölçerlerden navigasyon almak için 6 eksenli bir ivmeölçere ihtiyacınız olacaktır. X, Y ve Z'de hızlanmalara, aynı zamanda Xr, Yr ve Zr dönüşlerine de ihtiyacınız var. Döndürme verileri olmadan, cihazın tutumunu asla değiştirmediğini varsaymazsanız, bu oldukça sınırlayıcı bir vektör oluşturmak için yeterli veriye sahip olmazsınız. Zaten kimse Hizmet Şartları'nı okumaz.
Oh, ve INS'nin dünyanın dönüşüyle sürüklendiğini biliyorsun, değil mi? Yani o da var. Bir saat sonra ve gizemli bir şekilde 15 ° 'lik bir yokuştan uzaya tırmanıyorsunuz. Bu, bir telefonun henüz yapamayacağı, konumu bu kadar uzun süre koruyabilen bir INS'ye sahip olduğunuzu varsayar.
Navigasyon için ivmeölçerleri (3 eksenli ivmeölçer ile bile) kullanmanın daha iyi bir yolu, INS'yi mümkün olduğunca kalibre etmek için GPS'e bağlanmaktır. GPS yetersiz kaldığında, INS güzel bir şekilde iltifat ediyor. Bir ağaca çok yaklaştığınız için GPS sizi aniden 3 blok öteden vurabilir. INS harika değil, ama en azından size bir meteor çarpmadığını biliyor.
Yapabileceğiniz şey, telefon ivme ölçer verilerini ve birçoğunu kaydetmek. Haftalar değerinde. Bunu iyi (gerçekten iyi demek istiyorum) GPS verileriyle karşılaştırın ve ivmeölçer verileri ile bilinen GPS verileri arasındaki eğilimlerin ilişkisini kurmak için veri işlemeyi kullanın. (Uzman ipucu: İyi geometriye ve çok sayıda uyduya sahip günler için GPS almanağı kontrol etmek isteyeceksiniz. Bazı günler yalnızca 4 uydunuz olabilir ve bu yeterli değildir) Yapabilecekleriniz, bir kişinin Cep telefonuyla yürürken ivmeölçer verileri çok özel bir model kaydediyor. Veri belirlemesine bağlı olarak, o cihaz için o kullanıcıyla bir profil oluşturursunuz ve GPS verisine sahip olduğunda bu modelin ne tür bir hızı temsil ettiğini belirlersiniz. Dönüşleri, merdiven çıkmayı, oturmayı algılayabilmelisiniz (0 hız süresine kalibrasyon! ) ve çeşitli diğer görevler. Telefonun nasıl tutulduğu tamamen ayrı veri girişleri olarak ele alınmalıdır. Veri madenciliği yapmak için kullanılan bir sinir ağı kokusu alıyorum. Başka bir deyişle, girdilerin ne anlama geldiğine kör bir şey. Algoritma, yalnızca kalıplardaki eğilimleri arar ve INS'nin gerçek ölçümlerine gerçekten dikkat etmez. Tek bileceğihistorically, 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.
Ve parçayı buna göre ilerletecekti. Tamamen kör olması önemlidir, çünkü cebinize bir telefon koymak, 4 farklı yönden birine ve cepleri değiştirirseniz 8'e yönlendirilebilir. Ayrıca telefonunuzu tutmanın birçok yolu var. Burada çok fazla veriden bahsediyoruz.
Açıkçası hala çok fazla sürükleneceksiniz, ancak bence bu şekilde daha iyi şansınız olacak çünkü cihaz yürümeyi ne zaman bıraktığınızı bilecek ve konumsal sürüklenme sürekli olmayacak. Geçmiş verilere göre hareketsiz durduğunuzu biliyor. Geleneksel INS sistemleri bu özelliğe sahip değildir. Sürüklenme, katlanarak gelecekteki tüm ölçümler ve bileşikler için devam eder. İnanılmaz doğruluk veya düzenli aralıklarla kontrol edilecek ikincil bir navigasyona sahip olmak, geleneksel INS için kesinlikle hayati önem taşır.
Her cihaz ve her kişinin kendi profiline sahip olması gerekir. Bu çok fazla veri ve çok fazla hesaplama. Herkes farklı adımlarla farklı hızlarda yürür ve telefonlarını farklı ceplere koyar, vb. Elbette bunu gerçek dünyada uygulamak, sunucu tarafında işlenecek numara hesaplamaları gerektirir.
Başlangıçtaki temel için GPS kullandıysanız, sorunun bir kısmı GPS'in zaman içinde kendi geçişlerine sahip olma eğiliminde olmasıdır, ancak bunlar kalıcı olmayan hatalardır. Bir alıcıyı tek bir yere yerleştirin ve verileri kaydedin. WAAS düzeltmesi yoksa, çevrenizde 100 fitlik rastgele yönlerde sürüklenen konum düzeltmelerini kolayca alabilirsiniz. WAAS ile belki 6 fit'e kadar. En azından YSA'nın algoritmasını düşürmek için bir sırt çantasında metre altı RTK sistemi ile daha iyi şansınız olabilir.
Benim yöntemimi kullanarak INS ile hala açısal kaymaya sahip olacaksınız. Bu bir problem. Ancak, n kullanıcı arasında haftalarca GPS ve INS verisi dökmek için bir YSA oluşturmak için bu kadar ileri gittiyseniz ve gerçekten bu noktaya kadar çalıştırdıysanız, açıkçası şu ana kadar büyük veriye aldırış etmiyorsunuz. Bu yolda ilerlemeye devam edin ve açısal kaymayı çözmeye yardımcı olmak için daha fazla veri kullanın: İnsanlar alışkanlığın yaratıklarıdır. Kaldırımlarda, kapılardan, merdivenlerden yukarı yürümek gibi hemen hemen aynı şeyleri yapıyoruz ve otoyollarda, duvarlardan veya balkonlardan yürümek gibi çılgınca şeyler yapmıyoruz.
Diyelim ki Big Brother'dan bir sayfa alıyorsunuz ve insanların nereye gittiğine dair verileri depolamaya başlıyorsunuz. İnsanların yürümesinin beklendiği yerlerin haritasını çıkarmaya başlayabilirsiniz. Oldukça kesin bir bahis, eğer kullanıcı merdivenlerden yukarı çıkmaya başlarsa, kendisinden önceki kişinin çıktığı merdivenle aynı basamakta olacaktır. 1000 yineleme ve en küçük kareler ayarlamasından sonra, veritabanınız bu merdivenlerin nerede olduğunu büyük bir doğrulukla bilir. Artık kişi yürümeye başladığında açısal kaymayı ve konumu düzeltebilirsiniz. O merdivenlere çarptığında veya o koridordan döndüğünde ya da bir kaldırımdan aşağı indiğinde herhangi bir kayma düzeltilebilir. Veritabanınız, bir kişinin oraya yürüme olasılığına veya bu kullanıcının geçmişte oraya gitmiş olmasına göre ağırlıklandırılan sektörler içerir. Mekansal veritabanları bunun için optimize edilmiştirdivide and conquer
sadece anlamlı olan sektörleri tahsis etmek için. Lazer donanımlı robotun siyah bir görüntü ile başladığı ve labirenti hafızaya boyadığı, her dönüşü alarak, tüm duvarların olduğu yeri aydınlattığı MIT projeleri gibi olurdu.
Trafiğin yoğun olduğu alanlar daha fazla ağırlık alır ve hiç kimsenin 0 ağırlık almadığı alanlar. Daha yüksek trafik alanları daha yüksek çözünürlüğe sahiptir. Esasen herhangi birinin bulunduğu her yerin bir haritasına sahip olursunuz ve bunu bir tahmin modeli olarak kullanırsınız.
Bu yöntemi kullanarak bir kişinin tiyatroda hangi koltukta oturduğunu belirleyebilirseniz şaşırmam. Sinemaya giden yeterli sayıda kullanıcı ve yeterli çözünürlük verildiğinde, tiyatronun her sırasını ve her sıranın ne kadar geniş olduğunu eşleyen veri elde edersiniz. Bir yeri ne kadar çok insan ziyaret ederse, o kişinin bulunduğunu tahmin edebileceğiniz doğruluk o kadar yüksek olur.
Ayrıca, bu tür şeylerle ilgili güncel araştırmalarla ilgileniyorsanız, GPS World dergisine (ücretsiz) abonelik almanızı şiddetle tavsiye ederim. Her ay bununla uğraşıyorum.