• Aucun résultat trouvé

∂Z =        ∂ρw ∂ρr ∂ρw ∂ϕr ∂ρw ∂ψr ∂ϕw ∂ρr ∂ϕw ∂ϕr ∂ϕw ∂ψr ∂ψw ∂ρr ∂ψw ∂ϕr ∂ψw ∂ψr        (5.67) alors : ∇zg(k) =       1 β1 β2 0 1 0 0 0 1       avec :

β1 = − sin(ϕr+ θv) sin ψr xv+ cos(ϕr+ θv) sin ψryv

β2 = cos(ϕr+ θv) cos ψr xv+ sin(ϕr+ θv) cos ψryv

(5.68)

5.3 Amers lignes 2D dans la Carte

An d'enrichir la représentation de l'environnement d'intérieur, nous prenons en compte les segments de droites qui sont aussi omniprésents : coins, bords des portes, bords des posters, etc. Pour les inclure dans la carte stochastique, nous avons choisi comme expliqué en section 4.7, d'utiliser les segments de droites 3D comme des segments de droite 2D portés par un plan (déjà inclus dans la carte). L'état d'un amer plan (voir section 5.2) qui est considéré comme un plan inni est donné par Xπ,j(k) = [ρj(k), ϕj(k), ψj(k)]T. Un segment 2D attaché à un plan peut

être considéré comme une droite innie 2D, et peut être représenté de manière optimale par deux paramètres : δ la distance à l'origine et γ l'angle avec l'axe des abscisses. L'état d'un amer segment 2D dans la carte est donné par XL,i(k) = [δi(k), γi(k)]T. Bien sûr un amer plan peut

porter plusieurs amers lignes 2D, mais un amer ligne 2D ne peut pas être déni sans un amer plan porteur. La carte stochastique devient donc hétérogène : elle contient deux types d'amers.

Notons que dans nos perspectives proches, nous souhaitons aussi introduire des points d'in- térêt 2D, également portés par des amers plans, dans cette carte hétérogène.

5.3.1 Observation des amers lignes 2D

Le processus de mise à jour de la carte est le suivant : d'abord on met à jour les amers plans en utilisant les données laser 3D seulement, ensuite on met à jour les amers lignes 2D sur chaque plan. Ceci peut être traduit par le fait que lors de la mise à jour des amers lignes 2D, les plans porteurs sont déjà à jour dans la carte.

Chapitre 5. Construction de la Carte Hétérogène Fonction d'innovation

Nous dénissons la fonction d'innovation de l'amer ligne 2D par :

ν =   δπ,Mi − δπ i γiπ,M − γπ i   (5.69) où (δπ,M i , γ π,M

i ) sont les paramètres du segment 2D dans le repère amer plan (qui fait partie

de la carte), et (δπ

i, γiπ) sont les paramètres du segment 2D dans le repère plan (perçu dans la

scène courante).

Dans l'algorithme SLAM "traditionnel" (voir par exemple SLAM avec des amers plans), la fonction d'innovation s'écrit :

ν(k) = Z(k) − ˆZ(k|k − 1) (5.70)

avec :

 Z(k) : la mesure courante, c'est-à-dire les plans extraits à partir des données laser 3D dans le repère robot.

 ˆZ(k|k − 1) : l'estimation des mesures, c'est-à-dire, comment sont placés dans le repère robot, les plans de la carte stochastique, c'est-à-dire la position relative au robot des amers déjà inclus dans la carte. Ainsi l'estimation des mesures est une fonction de l'état prédit :

ˆ

Z(k|k − 1) = h( ˆX(k|k − 1)) (5.71) En revanche, dans notre approche de SLAM avec amers lignes 2D collés sur amers plans, la fonction d'innovation s'écrit toujours :

ν = Z(k) − ˆZ(k|k − 1) (5.72)

mais avec :

 Z(k) : la mesure courante de l'amer ligne 2D collé sur un amer plan. En fait, on obtient cette mesure à partir des données issues de la caméra (XI(k)) fusionnées avec les données

de l'amer plan porteur (voir section 4.7). Ainsi la mesure courante est une fonction de l'état courant prédit du système et des données caméra. Cette mesure est représentée dans le repère amer plan.

5.3. Amers lignes 2D dans la Carte

Z(k) = h ˆX(k|k − 1), XI(k)



(5.73)  ˆZ(k|k − 1) : l'estimation des mesures, c'est-à-dire, comment sont placés les amers lignes de la carte stochastique par rapport au repère amer plan porteur. En fait comme les amers lignes sont déjà attachés au plan porteur, on peut considérer :

ˆ

Z(k|k − 1) = ˆZ(k − 1|k − 1) (5.74)

Matrice de Covariance de l'innovation

S(k) = Pii(k|k − 1) + R(k) (5.75)

avec Pii(k|k −1): la matrice de covariance de l'amer ligne 2D numéro i, et R(k) est la matrice

de covariance de la mesure courante. Or, comme on a détaillé auparavant, on peut écrire : Z(k) = h ˆXv(k|k − 1), ˆXj(k|k − 1), XI(k)



(5.76) où ˆXj(k|k−1)est l'état prédit de l'amer plan porteur, et XI(k)représente les données caméra

(les paramètres de la ligne 2D dans l'image) dont la matrice de covariance est ΛI.

Soient ∇vh, ∇jh et ∇Ih les Jacobiennes de la fonction h par rapport à l'état du robot, du

plan amer porteur j et de la ligne 2D dans l'image lI respectivement, on écrit :

R(k) = ∇vh Pvv ∇vhT +∇vh Pvj ∇jhT +∇jh Pjj ∇jhT +∇jh PTvj ∇vhT +∇Ih ΛI ∇IhT (5.77)

Dans cette dernière équation, nous identions clairement le rôle des données de la caméra qui ne sont pas corrélées ni avec les données laser ni avec les données d'odomètre. Ainsi, nous pouvons justier notre choix des amers lignes 2D attachés aux amers plans porteurs. Le fait qu'un amer ligne 2D est attaché à un amer plan porteur peut faire croire que ces deux amers sont corrélés. En eet, l'équation 5.77 démontre qu'un amer plan n'est pas corrélé avec les amers lignes 2D attachés à lui. Les données caméra qui participent à dénir un amer ligne 2D sont totalement non corrélées avec les données laser (qui identient l'amer plan porteur). Ceci donne une preuve théorique que les deux amers ne sont pas corrélés. Avec cette technique, nous arrivons à fusionner les données des deux capteurs, et à les intégrer de manière cohérente dans une carte hétérogène (plan + ligne 2D).

Chapitre 5. Construction de la Carte Hétérogène

5.4 Association de Données

L'association de données est le processus de rechercher des correspondances entre les amers perçus et les amers déjà enregistrés dans la carte. En d'autres termes, de pouvoir décider si les amers trouvés dans la scène courante sont des amers déjà vus dans les scènes précédentes. L'association de données est cruciale pour garantir la cohérence de la carte. En fait une corres- pondance erronée peut provoquer la divergence du ltre, et ainsi la non cohérence de la carte stochastique [Neira et Tardós, 2001].

5.4.1 L'association de données fondée sur la distance de Mahalanobis

Rappelons tout d'abord les dénitions de la distribution de χ2 et de la distance de Mahala-

nobis.

Dénition de la Distribution χ2

La distribution du Chi-2 (notée χ2) est la somme des carrés des observations issues de la

distribution N(0, 1). Soient X1, X2, . . . , Xn : n variables indépendantes et toutes ∼ N(0, 1).

Alors la distribution χ2

n est dénie comme celle de la somme X12+ X22+ . . . + Xn2



X12+ X22+ . . . + Xn2 

∼ χ2n (5.78)

Il n'y a donc pas une distribution du χ2, mais une famille de distributions indexée par le

paramètre entier n. Ce paramètre est appelé "nombre de degrés de liberté" de la distribution. La distribution "Chi-2 à n degrés de liberté" est donc dénie comme celle de la somme des carrés de n variables indépendantes toutes ∼ N(0, 1).

Dans le cas où X est une variable normale quelconque : X ∼ N(µ, σ2), la variable centrée et

normalisée X−µ

σ est une variable normale standard ∼ N(0, 1). Dans ce cas, la somme des carrés

des variables standardisées est de distribution χ2.

 (X1− µ1 σ1 )2+ (X2− µ2 σ2 )2+ . . . + (Xn− µn σn )2  ∼ χ2n (5.79) La Distance de Mahalanobis

Soient z une variable aléatoire de moyenne et covariance (ˆz, Λz), et x une variable aléatoire de

moyenne et covariance (ˆx, Λx). Comment déterminer d'une façon plausible si ces deux variables

5.4. Association de Données