ICP transformation Précision initiale de traduction varie avec

voix
0

Bonne journée à tous,

J'ai construit un pipeline de perception du nuage de points pour mon robot en simulation à l'aide Library point Cloud (PCL de) et plus particulièrement le module itératives point le plus proche (ICP). Je vais avoir du mal à obtenir la matrice de transformation correcte du PCI PCL. Je pensais d'abord c'était quelque chose avec mes nuages ​​de points particuliers ou mon code, mais la même chose se produit en utilisant le nuage de code tutoriel et le point.

Pour un exemple de travail minimum, je copiais le Code ICP Interactive , compilé et utilisé le monkey.ply fichier et il fonctionne comme prévu. Cependant, lorsque je change seulement la composante de translation de la transformation de la valeur initiale dans le didacticiel de t = <0,0, 0,0, 0,4> à t = <1,0, 1,0, 0,0> , la matrice de transformation de sortie ICP est désactivé par au moins 0,2 dans chaque axe comprenant l'axe Z non traduite.

Y at-il quelque chose que je manque en ce qui concerne la traduction initiale entre les nuages? Y at-il une traduction minimale entre les nuages ​​pour ICP au travail?

Voir la sortie ci - dessous à l' aide du monkey.ply fichier, j'écourté la sortie de sorte que son plus lisible:

CODE DE interactive_icp.cpp COPIEE

Applying this rigid transformation to: cloud_in -> cloud_icp
Rotation matrix :
     |  0.924 -0.383  0.000 | 
R =  |  0.383  0.924  0.000 | 
     |  0.000  0.000  1.000 | 
Translation vector :
t = <  0.000,  0.000,  0.400 >

Applied 1 ICP iteration(s) in 11 ms

ICP has converged, score is 0.0256485
ICP has converged, score is +2e-02
~
~
ICP has converged, score is +8e-06-> cloud_in
ICP has converged, score is +3e-12-> cloud_in
ICP transformation 14 : cloud_icp -> cloud_in
ICP transformation 15 : cloud_icp -> cloud_in
Rotation matrix :81 -0.036 |
     |  0.924  0.381 -0.036 |
R =  | -0.381  0.924  0.012 |
     |  0.037  0.003  0.999 |
Translation vector :, -0.402
t = <  0.016, -0.006, -0.402 >

TRADUCTION CHANGÉ DE t = <0,0, 0,0, 0,4> à t = <1,0, 1,0, 0,0>

Rotation matrix :
     |  0.924 -0.383  0.000 | 
R =  |  0.383  0.924  0.000 | 
     |  0.000  0.000  1.000 | 
Translation vector :
t = <  1.000,  1.000,  0.000 >

Applied 1 ICP iteration(s) in 11 ms

ICP has converged, score is 0.157621
ICP has converged, score is +2e-01
~
~
ICP has converged, score is +8e-09-> cloud_in
ICP has converged, score is +5e-12-> cloud_in
ICP transformation 24 : cloud_icp -> cloud_in
ICP transformation 25 : cloud_icp -> cloud_in
Rotation matrix :75 -0.025 |
     |  0.927  0.375 -0.025 |
R =  | -0.375  0.927  0.029 |
     |  0.034 -0.017  0.999 |
Translation vector :,  0.265
t = < -1.391, -0.471,  0.265 >

Toute aide serait appréciée!

Mahalo,

Chris Rowe

Créé 13/02/2020 à 23:54
source utilisateur
Dans d'autres langues...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more