IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Android Discussion :

Améliorer précision GPS sous Android


Sujet :

API standards et tierces Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Septembre 2010
    Messages : 76
    Par défaut Améliorer précision GPS sous Android
    Bonjour,

    Je souhaite (enfin j'essaie surtout...) de faire une application de réalité augmentée, basée sur le positionnement GPS pour réaliser des visites de lieux.

    Le problème vient de la précision aléatoire de la position GPS envoyée par un appareil, en gros j'affiche des points sur un radar (j'utilise le super droidAR comme base) mais les points ne font que sauter et bouger tout seul (même si droidAR fait une moyenne des dernières positions pour filter un peu).

    Bref, j'aurais voulu savoir s'il y avait des petits trucs ou outils de développement (pas des applications du marker, qui ne m'ont servi à rien) qui peuvent aider pour essayer d'avoir quelque chose d'à peu près fiable à quelques mètres prêt ?

    Par exemple est-il possible, en utilisant uniquement les accéléromètres par un algorithme, de définir une position de départ et de se repérer uniquement par rapport à cette position (dans un système relatif, sans utiliser les coordonnées GPS) ? Ou y'a-t-il d'autres possibilités ?

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 16
    Par défaut
    Bonjour,

    La précision de 50m est inhérente au GPS.

    Les solutions que tu préconisent sont les bonnes, pour obtenir une meilleure précision en temps réel, il faut ajouter des capteurs :
    - Android permet déjà d'utiliser le Wifi pour améliorer le positionnement (trilateration wifi et/ou GSM)
    - utiliser les capteurs du téléphone (accéléromètre, gyroscope & magnétomètre) et les intégrer (DCM ou filtre de kalman) pour obtenir une meilleure précision relative
    - utiliser la (les) caméra(s) du téléphone et un algorithme de type optical flow/tracker (KLT) pour en déduire les mouvements du téléphone, c'est utilisé sur certains drones pour les phases stationnaires ou d'atterrissage

    Dans tous les cas, il faut bien intégrer que l'on obtient un meilleure précision relative (les points ne bouge plus) mais la précision absolue (ou je me trouve réellement) dépend toujours de l'estimation initiale (GPS + trilatération Wifi/GSM).
    Eventuellement, les logiciels GPS du commerce font un recalage sur la cartographie vectorielle (il te positionne sur la route et non dans les champs).

    Quelques liens intéressants :
    - Un article de Xavier Raffin
    - une discussion sur l'algorithme DCM (Direct Cosine matrix), initialement sur le site diydrones.com dans le forum
    et pour plus d'info google :"Direct cosine matrix on android"

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Septembre 2010
    Messages : 76
    Par défaut Avec quelle précision ?
    Merci pour votre réponse, le DCM a l'air d'être exactement ce qu'il me faudrait.

    Toutefois, savez-vous quelle précision cela permet-il d'approcher ? Si par exemple on donne des à-coups ou que l'on secoue l'appareil Android, le résultat est-il toujours fiable ?

    Enfin, savez-vous s'il existe des portages de l'algorithmes en Java ou Android (parce que entre moi et les maths, ça va être compliqué...)

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 16
    Par défaut
    Pour la précision, mieux que ±30 cm (voire quelques mm), il y a pas mal de vidéo sur diydrones (dans le forum) qui permettent de se donner une idée de la stabilité obtenue.

    Pour le portage Android, cela semble avoir été fait içi
    mais pas encore en open-source, il faudrait demander à l'auteur .

    Il y a des portage en C ici

  5. #5
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Les solutions que tu préconisent sont les bonnes, pour obtenir une meilleure précision en temps réel, il faut ajouter des capteurs :
    - Android permet déjà d'utiliser le Wifi pour améliorer le positionnement (trilateration wifi et/ou GSM)
    - utiliser les capteurs du téléphone (accéléromètre, gyroscope & magnétomètre) et les intégrer (DCM ou filtre de kalman) pour obtenir une meilleure précision relative
    - utiliser la (les) caméra(s) du téléphone et un algorithme de type optical flow/tracker (KLT) pour en déduire les mouvements du téléphone, c'est utilisé sur certains drones pour les phases stationnaires ou d'atterrissage
    J'aimerais bien savoir l'autonomie de l'appareil quand tout ces services sont lancés ?

    A vouloir être trop précis on fini par être trop gourmand ^^.

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 16
    Par défaut
    Jamais essayé sous Android mais avec une IMU (acc, gyro, magnéto + pression) couplé avec une petit ARM pour gérer l'algo DCM, j'avais 75 mA max. de consommation (plutôt 60 mA en continu) sous 3.3V auquel il faut ajouter la consommation du GPS et d'une caméra .

Discussions similaires

  1. Vérifier l'état du GPS sous android
    Par Invité dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 29/09/2015, 17h57
  2. [WM 17] Comment fait on pour activer le GPS sous Android ?
    Par popoy dans le forum Windev Mobile
    Réponses: 0
    Dernier message: 20/03/2013, 11h27
  3. Précision GPS smartphone android
    Par auxiliaire dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 07/03/2013, 00h22
  4. Faire un GPS sous Android
    Par rolintoucour dans le forum API standards et tierces
    Réponses: 0
    Dernier message: 08/05/2012, 00h09
  5. Réponses: 11
    Dernier message: 31/08/2010, 16h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo