Je suis juste en pensant à voix haute, et je n'ai pas joué avec un android accéléromètre API pourtant, si nu avec moi.
Tout d'abord, traditionnellement, pour obtenir de navigation des accéléromètres vous auriez besoin d'un 6-axe de l'accéléromètre. Vous avez besoin d'accélérations selon les axes X, Y et Z, mais aussi des rotations Xr, Yr, et Zr. Sans la rotation de données, vous n'avez pas assez de données pour établir un vecteur, à moins que vous assumez l'appareil ne change jamais, c'est l'attitude, ce qui serait assez limitant. Personne ne lit les CGU de toute façon.
Oh, et vous savez que l'INS dérives avec la rotation de la terre, non? Donc il n'y a que trop. Une heure plus tard et vous êtes mystérieusement de l'escalade sur un 15° de pente dans l'espace. C'est en supposant que vous avez eu une INS capable de maintenir l'emplacement de long, dont un téléphone ne peut pas encore faire.
Une meilleure façon d'utiliser les accéléromètres -même avec un accéléromètre 3 axes - pour la navigation serait à égalité dans les GPS pour calibrer l'INS chaque fois que possible. Lorsque le GPS est insuffisante, INS compliments bien. Le GPS peut soudainement vous tirer hors de 3 pâtés de maisons parce que vous vous êtes trop près d'un arbre. INS n'est pas très grande, mais au moins il sait que vous n'étiez pas touché par un météore.
Ce que vous pourriez faire est de connecter les téléphones données d'accélérométrie de l', et beaucoup d'elle. Comme les semaines. Comparer avec des bon (je veux dire vraiment bon) données GPS et l'utilisation datamining d'établir une corrélation des tendances entre les données de l'accéléromètre et le GPS connue de données. (Pro tip: Vous aurez envie de vérifier l'almanach du GPS pour les jours avec une bonne géométrie et beaucoup de satellites. Certains jours, vous n'avez que 4 satellites et ça ne suffit pas) Ce que vous pourriez être en mesure de faire est de savoir que quand une personne marche avec leur téléphone dans leur poche, les données de l'accéléromètre journaux d'un modèle très particulier. Basé sur le datamining, vous établir un profil pour cet appareil, avec cet utilisateur, et ce genre de vitesse de ce modèle représente quand il avait données GPS pour aller avec elle. Vous devriez être en mesure de détecter les virages, monter les escaliers, assis (étalonnage à 0 vitesse de temps!) et diverses autres tâches. Comment le téléphone est détenu doivent être considérées comme des entrées de données entièrement. Je sens l'odeur d'un réseau de neurones utilisé pour faire de l'exploration de données. Quelque chose à l'aveugle à ce que les entrées, en d'autres termes. L'algorithme ne porterait que sur les tendances dans les habitudes, et pas vraiment attention aux dimensions réelles de l'INS. Tous qu'il serait de savoir est - historically, 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.
Et il serait passer au morceau en conséquence. Il est important qu'il soit complètement à l'aveugle, car il suffit de mettre un téléphone dans votre poche, vous pourriez être orienté dans une des 4 orientations différentes, et 8 si vous passez poches. Et il y a de nombreuses façons de tenir votre téléphone, ainsi. Nous parlons beaucoup de données ici.
Vous aurez évidemment encore beaucoup de dérive, mais je pense que vous auriez plus de chance de cette façon parce que le dispositif permettra de savoir quand vous avez arrêté de marcher, et la position de la dérive ne sera pas une perpétuation. Il sait que vous êtes debout, toujours basé sur des données historiques. Traditionnelle INS systèmes ne disposent pas de cette fonctionnalité. La dérive perpétue à toutes les futures mesures et les composés de façon exponentielle. Impies précision, ou d'avoir une barre de navigation secondaire de vérifier à intervalles réguliers, est absolument vital avec la traditionnelle INS.
Chaque appareil et chaque personne devrait avoir leur propre profil. C'est beaucoup de données et beaucoup de calculs. Tout le monde marche des vitesses différentes, avec différentes étapes, et met leurs téléphones dans différentes poches, etc. Sûrement à mettre en œuvre dans le monde réel nécessiterait arithmétique être géré côté serveur.
Si vous n'avez utiliser le GPS pour la ligne de base initiale, une partie du problème, il y a le GPS a tendance à avoir son propre migrations de plus de temps, mais ils sont non-perpétuer les erreurs. Asseyez-vous un récepteur à un emplacement pour enregistrer les données. Si il n'y a pas de corrections WAAS, vous pouvez facilement obtenir l'emplacement des correctifs à la dérive dans des directions aléatoires de 100 mètres autour de vous. Avec WAAS, peut-être jusqu'à 6 pieds. Vous pouvez en fait avoir plus de chance avec un sous-compteur RTK système sur un sac à dos d'obtenir au moins les ANN algorithme vers le bas.
Vous aurez toujours angulaire de la dérive avec l'INS à l'aide de ma méthode. C'est un problème. Mais, si vous êtes allé si loin pour construire une ANN de verser sur la valeur de semaines de GPS et INS de données entre les n utilisateurs, et en fait il travail à ce point, manifestement, vous n'avez pas l'esprit de big data jusqu'à présent. Continuez dans cette voie et l'utilisation de plus de données pour les aider à résoudre l'angle de dérive: les Gens sont des créatures d'habitude. Nous avons à peu près les mêmes choses comme marcher sur les trottoirs, à travers les portes, les escaliers, et ne pas faire des choses folles comme marcher à travers les autoroutes, à travers les murs, ou sur les balcons.
Donc, disons que vous prenez une page de Grand Frère et commencez à stocker des données sur l'endroit où les gens vont. Vous pouvez commencer à cartographier où les gens seraient attendus à pied. C'est un pari assez sûr que si l'utilisateur commence à monter les escaliers, elle est à la base de l'escalier que la personne avant sa marchait. Après 1000 itérations et certains des moindres carrés ajustements, votre base de données assez bien sait où les escaliers sont avec la plus grande exactitude. Maintenant, vous pouvez corriger angulaire de la dérive et de l'emplacement de la personne commence à marcher. Quand elle frappe les escaliers, ou tourne en bas de cette salle, ou se déplace le long d'un trottoir, de toute dérive peut être corrigé. Votre base de données devrait contenir des secteurs qui sont pondérées par la probabilité qu'une personne s'y rendre à pied, ou que cet utilisateur a marché dans le passé. Des bases de données spatiales sont optimisés pour cela, utilisez divide and conquer
seulement allouer des secteurs qui sont significatives. Ce serait un peu comme ceux du MIT projets où le laser équipé robot commence avec une image noire, et les peintures du labyrinthe dans la mémoire en prenant à chaque tour, illuminant où tous les murs sont.
Les zones de grand trafic serait d'obtenir un poids plus élevé, et des régions où il n'a jamais été d'obtenir 0 poids. Les zones à circulation élevée ont une résolution plus élevée. Vous serait essentiellement jusqu'à la fin avec une carte de partout, personne n'a été et de l'utiliser comme un modèle de prédiction.
Je ne serais pas surpris si vous pouviez déterminer ce siège une personne a pris dans un théâtre à l'aide de cette méthode. Étant donné un nombre suffisant d'utilisateurs aller au théâtre, et une résolution suffisante, vous auriez des données de la cartographie de chaque ligne de la le théâtre, et la largeur de chaque ligne est. Plus les gens la visite des lieux, le plus élevé de la fidélité avec laquelle vous pouvez prédire que cette personne se trouve.
Aussi, je vous recommande fortement d'obtenir une (gratuit) abonnement GPS le Monde magazine, si vous êtes intéressé dans la recherche actuelle dans ce genre de choses. Chaque mois, je geek.