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 :

Calcul vitesse Android (accéléromètre / GPS)


Sujet :

API standards et tierces Android

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Calcul vitesse Android (accéléromètre / GPS)
    Bonjour à tous,

    Je développe en ce moment même une application Android permettant d'améliorer les systèmes GPS mobile. Je me sert de techniques tels que :
    -la mécanisation des systèmes de navigation inertiels (SNI) grâce au gyroscope et l'accéléromètre : grâce à une position k , une vitesse initiale et les mesures des capteurs, on peut prédire la vitesse et la postion à l'instant k+1.
    -le Filtre de Kalman : corrige la vitesse, la matrice de rotation et la position aux instants GPS grâce à une matrice d'erreur calculée pendant la mécanisation inertiel (SNI)

    Mon problème est que mon calcul de la vitesse durant la mécanisation inertiels (SNI) est assez imprécise. Sachant que
    -l'intervalle des mesures des capteurs = 0.2sec
    -mon calcul prends tout juste moins de 0.2sec
    Je ne peut donc pas diminuer l'intervalle de temps des mesures de mes capteurs inertiels pour une meilleur précision des calculs de ma mécanisation, car sinon mon application bug.

    La matrice d'erreur du Filtre de Kalman permettant de corriger la vitesse est beaucoup trop grande, je ne peut donc pas la corriger aux instants GPS. Si je corrige cette vitesse avec le filtre de Kalman, elle augment de façon incohérente.

    Je cherche donc une solution qui me permettrait d'avoir une vitesse plus précise. Sachant qu'un système GPS a une imprécision de 30 mètres pour une cordonnées. Je préfère donc éviter la piste d'un calcul de vitesse avec les coordonnées GPS. Certaines applications arrivent à avoir une vitesse a peu près potable. Je me demandais comment arrivent-elles à l'avoir.

    D'où ma question: Quel est le meilleur moyen de calculer une vitesse sous Android ?

    Merci d'avance,

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Sans la calculer via les coordoonées GPS directement , la vitesse est fournie dans la trame GPS que tu reçois. Voir :

    En revanche il faut utiliser le GPS provider et pas le NETWORK provider.
    Si vraiment tu veux appliquer tes traitements , tu peux gagner en temps de calcul en les réalisant en natif en C++.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup,

    Après pour les calculs en natif C++, je ne pense pas que l'on puisse récupérer les données des accéléromètre,gyromètre et GPS en C++ sous Android.
    Ce qui oblige beaucoup de transfert entre les deux langages(JAVA, C++) donc beaucoup de temps?

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Tu ne peux effectivement pas récupérer le GPS via le NDK (c++) mais si ce qui prend du temps c'est tes calculs , tu peux facilement y gagner des facteurs 2 ou 3.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 20
    Points : 31
    Points
    31
    Par défaut
    Bonjour,

    pour information on peut récupérer les données accéléromètres et GPS via le NDK, donc tout peut être fait en C++.

    Pour cela, il faut juste créer une classe java qui se chargera de récupérer les données souhaitées et ensuite de faire l'instance de cette classe avec la librairie jni en c++ pour récupérer les données et effectuer les calculs.

    En QT, avec Qtcreator bien configuré, on peut aisément faire ce genre de développement.

  6. #6
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Citation Envoyé par Scinarf Voir le message
    pour information on peut récupérer les données accéléromètres et GPS via le NDK, donc tout peut être fait en C++.
    Ce que je voulais dire c'est que tu n'as pas accès au donnée directement en C++ sans passé par une classe java qui va sans doute être le point limitant coté performance.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 20
    Points : 31
    Points
    31
    Par défaut
    Je ne me suis pas replonger dans le NDK depuis près de 1 an, mais je pense qu'il doit être possible maintenant de récupérer directement ces données sans interfaces java (peut être je me mouille un peu trop) mais à l'époque j'avais récupéré le gyroscope et l'accéléromètre directement en QT. Pour les données GPS (ou NMEA) j'étais effectivement passé par une classe java.

    Il y a peut être matière à creuser si vraiment tu veux un truc plus optimisé.

Discussions similaires

  1. calcul vitesse d'une voiture avec MATLAB
    Par rony99 dans le forum Traitement d'images
    Réponses: 2
    Dernier message: 17/06/2013, 18h28
  2. [WD17] Calcul vitesse moyenne dans une table
    Par roultabille dans le forum WinDev
    Réponses: 4
    Dernier message: 09/01/2013, 10h24
  3. Android : Simuler GPS
    Par nicolofontana12 dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 15/03/2010, 14h10
  4. Réponses: 11
    Dernier message: 13/01/2006, 21h54
  5. [Language]Calculer Vitesse d'execution
    Par schneiderj dans le forum Langage
    Réponses: 12
    Dernier message: 27/04/2005, 20h43

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