← Retour au portfolio

Calibration 3D d'un capteur ultrason

Estimation de la position d'un micro-contrôleur à partir de mesures de distance ultrason bruitées vers plusieurs tags de référence, par maximum de vraisemblance et algorithme de Gauss-Newton : cas des tags connus, inconnus, puis partiellement connus. Projet réalisé en binôme avec Steeve Mbock.

PDF Rapport complet17 pages · maximum de vraisemblance, Gauss-Newton, cas partiellement connu Télécharger →

Le problème

Localiser un point p ∈ ℝ³ (3 degrés de liberté) à partir de mesures de distance ultrason bruitées vers des tags de référence. Géométriquement, un seul tag laisse une sphère entière de solutions, deux tags un cercle : il faut au moins 3 tags pour réduire l'ensemble des solutions à un nombre fini de points, et un 4ᵉ tag lève l'ambiguïté restante et améliore la robustesse au bruit. Chaque mesure est modélisée par un bruit gaussien additif : zᵢ = dᵢ + nᵢ, nᵢ ~ 𝒩(0, σᵢ²).

Cas 1 : tags connus

Maximiser la vraisemblance revient à minimiser la somme des résidus au carré ‖φ(p)‖², résolue par une descente de Gauss-Newton itérative. Avec un tag fortement bruité (obstacle imposant une variance 30 fois supérieure aux autres, sans repondération), l'algorithme classique diverge : l'erreur moyenne passe de 0,18 m à 14,96 m. Passer à un Gauss-Newton pondéré par l'inverse de la matrice de covariance Σ⁻¹ restaure la convergence, chaque mesure étant pondérée selon la confiance qu'on lui accorde.

% Gauss-Newton pondéré (matrice de covariance Sigma^-1)
for l = 1:iteration
    for i = 1:N
        di = norm(p - C(:,i));
        phi(i) = z(i) - di;
        J(i,:) = -(C(:,i) - p)' / di;
    end
    delta = (J' * sigma_inv * J) \ (J' * sigma_inv * phi);
    p = p + delta;
end

Cas 2 : tags inconnus

Lorsque les positions des tags {cᵢ} sont elles-mêmes inconnues, le vecteur d'état s'étend à θ = [p, c₁, …, c_N] et la jacobienne devient une matrice N×(3+3N) bloc-diagonale par tag. L'algorithme de Gauss-Newton estime conjointement la position du récepteur et celles des tags, avec une erreur moyenne de 1,25 m, un résultat cohérent compte tenu de la variance unitaire imposée sur chaque paramètre de tag.

Cas 3 : tags partiellement connus

Un cadre bayésien intermédiaire combine les mesures de distance et une connaissance a priori imparfaite des positions des tags (résidus empilés, covariance augmentée Σₐ). Le réglage de l'incertitude a priori σᶜᵢ permet d'interpoler continûment entre les deux cas extrêmes :

ConfigurationErreur d'estimation
Cas 1 — tags parfaitement connusBorne basse (≈ 0,18 m)
Cas 3 — a priori précis (σᶜ faible)Proche du cas 1
Cas 3 — a priori large (σᶜ élevé)Converge vers le cas 2
Cas 2 — tags totalement inconnusBorne haute (≈ 1,25 m)

Ce cadre donne à l'ingénieur un moyen principié d'intégrer une connaissance partielle des positions de référence plutôt que de choisir arbitrairement entre les deux extrêmes.

← Retour au portfolio