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

Mathématiques Discussion :

Trilatération dans l'espace


Sujet :

Mathématiques

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 30
    Points : 43
    Points
    43
    Par défaut Trilatération dans l'espace
    Bonjour,

    Je travaille dans le cadre d'un projet sur la localisation de robots au sein d'une habitation. Le but est de savoir la position du robot dans une salle. Pour ce faire trois capteurs ont été placés dans des endroits bien connus. Chaque capteur i doit calculer la distance di qui le sépare de l'objet (robot). En suite, sachant les coordonnées des trois capteurs et les distances i l'objet est localisé à travers la technique de trilatération (dans l'espace).

    Le problème se ramène alors au calcul d'intersection de trois sphères (S1, S2 et S3) de centres les capteurs i et de rayons di.

    Après quelques recherches j'ai procédé comme suit: Trouver l'intersection de S1 et S2 qui est un cercle C1, ensuite l'intersection de S1 et S3 ce qui donne un cercle C2 puis calculer l'intersection des cercles C1 et C2.
    Et là je suis tombé dans une erreur car la méthode de calcul d'intersection de cercles que j'ai appliquée ( Cette méthode) ne s'applique que dans le cas où les deux cercles se trouvent dans le même plan. (Dans l'espace un cercle n'est pas défini par son équation mais plutôt par son centre, son rayon et le plan dans lequel il se trouve. )

    Ma question est alors la suivante:
    - Comment calculer l'intersection des deux cercles dans ce cas,

    OU si c'est plus facile

    - Comment calculer l'intersection du cercle C1 avec la sphère S3 ?

    Merci d'avance

  2. #2
    Membre éclairé
    Homme Profil pro
    Ingénieur R&D en apprentissage statistique
    Inscrit en
    Juin 2009
    Messages
    447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur R&D en apprentissage statistique

    Informations forums :
    Inscription : Juin 2009
    Messages : 447
    Points : 752
    Points
    752
    Par défaut
    Bonjour,

    A mon avis tu n'auras jamais des distances assez précises pour que test équations d'intersection aient une solution.

    A ta place j'essaierais plutôt une approche par minimisation d'une fonction de coût comme la somme des différences quadratiques entre les distances mesurées et la distance effective:

    E = sum_i ( || pi - x || - di )^2
    avec pi tes points de référence, di la distance mesurée et x la position à trouver. (cela ressemble à l'énergie d'un système à base de ressorts).

    En faisant attention au fait que cette fonction aura des minima locaux. Pour initialiser la minimisation tu peux calculer l'intersection de deux cercles (2 points) et tu choisis comme point de départ le point d'intersection dont la distance au troisième point de référence et la plus proche de la distance annoncée.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 30
    Points : 43
    Points
    43
    Par défaut
    Merci pour ta réponse,

    Ce que tu as dit est très intéressant pour moi, à tu me donnes une piste pour traiter un autre problème que j'ai. En fait, j'avais choisi de laisser le problème de la précision des distances mesurées pour le traiter ultérieurement en supposant que les distances sont données avec précision.

    Tu dis:
    En faisant attention au fait que cette fonction aura des minima locaux. Pour initialiser la minimisation tu peux calculer l'intersection de deux cercles (2 points) et tu choisis comme point de départ le point d'intersection dont la distance au troisième point de référence et la plus proche de la distance annoncée.
    Malgré que je n'ai pas bien compris l'approche que tu expliques ici, mais je vois que j'aurai besoin d'un calcul d'intersection de cercles, alors que c'est ça exactement qui me pose un problème (intersection deux cercles dans l'espace).


    Merci

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur R&D en apprentissage statistique
    Inscrit en
    Juin 2009
    Messages
    447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur R&D en apprentissage statistique

    Informations forums :
    Inscription : Juin 2009
    Messages : 447
    Points : 752
    Points
    752
    Par défaut
    fais une simple recherche sur Google

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 30
    Points : 43
    Points
    43
    Par défaut
    fais une simple recherche sur Google
    J'ai déjà fait cette recherche, les résultats que j'ai trouvés (par exemple ici ) concernent l'intersection de deux cercles dans le plan pas dans l'espace.

    J'ai trouvé ce lien intéressant mais je n'est pas su comment prendre en compte la troisième dimension. C'est à dire caculer z de la même manière qu'il a calculé x et y.

    x3 = x2 +- h ( y1 - y0 ) / d

    y3 = y2 -+ h ( x1 - x0 ) / d

  6. #6
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut!
    Le problème se ramène alors au calcul d'intersection de trois sphères
    Tu écris les équations de tes 3 sphères, qui sont du deuxième degré en X, Y et Z. Tu as donc un système non linéaire de 3 équations à 3 inconnues. Pour le résoudre, tu trouveras diverses méthodes dans les sections 9.6 et 9.7 de Numerical Recipes. Personnellement, comme on ne dispose pas de la matrice jacobienne, j'essaierais d'abord avec la méthode de Broyden.
    Jean-Marc Blanc

  7. #7
    Membre éclairé
    Homme Profil pro
    Ingénieur R&D en apprentissage statistique
    Inscrit en
    Juin 2009
    Messages
    447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur R&D en apprentissage statistique

    Informations forums :
    Inscription : Juin 2009
    Messages : 447
    Points : 752
    Points
    752
    Par défaut
    Si ton robot est sur le sol, tu peux ramener ton problème à l'intersection de cercles dans le plan en projetant le problème au niveau du sol.

    Si ton détecteur est à une hauteur h, tu appliques juste Pythagorre:

    d_sol = sqrt( r^2 - d^2)

  8. #8
    Membre éclairé
    Avatar de edfed
    Profil pro
    être humain
    Inscrit en
    Décembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : être humain

    Informations forums :
    Inscription : Décembre 2007
    Messages : 476
    Points : 701
    Points
    701
    Billets dans le blog
    1
    Par défaut
    la recherche sur google donne comme premier resultat un bon article sur wiki en anglais.
    http://en.wikipedia.org/wiki/Trilateration

    puis c'est de l'anglais facile, 80% des mots sont comme en français, les autres c'est les mots de base qu'on apprend tous au college.

  9. #9
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 30
    Points : 43
    Points
    43
    Par défaut
    Merci pour toutes vos réponses.

    Citation Envoyé par edfed Voir le message
    la recherche sur google donne comme premier résultat un bon article sur wiki en anglais.
    http://en.wikipedia.org/wiki/Trilateration

    puis c'est de l'anglais facile, 80% des mots sont comme en français, les autres c'est les mots de base qu'on apprend tous au college.
    Effectivement l'article de Wikipedia en anglais est très bon. J'avais regardé l'article en français qui ne correspond pas à ce que je cherche.

    Sur la page de discussion de l'article anglais il y a même un programme en C.


    @FR119492 : Merci pour le bouquin, ça me servir certainement un jour.
    @Alexis.M : Merci de me donner une piste pour l'autre problème (précisions des mesures).

    @+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Pointer dans l'espace mémoriel
    Par Alfred12 dans le forum Langage
    Réponses: 5
    Dernier message: 01/04/2006, 11h26
  2. linker 2 projets inclus dans un espace de travail
    Par petdelascar dans le forum C
    Réponses: 2
    Dernier message: 12/01/2006, 20h02
  3. Problème d'équations dans l'espace (perspective -> 3D)
    Par Rémiz dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 19/12/2005, 17h43
  4. rotations dans l'espace -validation d'un modèle mathématique
    Par khayyam90 dans le forum Mathématiques
    Réponses: 20
    Dernier message: 16/08/2005, 13h26
  5. Découpage dun string dans l'espace
    Par Clad3 dans le forum OpenGL
    Réponses: 4
    Dernier message: 24/03/2005, 17h25

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