Dobrý den všem,
Byl jsem budování vnímání potrubí point cloud pro mé robot v simulaci pomocí Point Cloud Library (PCL) a konkrétně na nejbližší modul iterativní Point (ICP). Mám potíže dostat správné transformační matice z PCL ICP. Původně jsem si myslel, že to bylo něco s mými konkrétních bodových mraků nebo můj kód, ale to samé se děje pomocí tutorial kódu a mračno bodů.
Minimální pracovní příklad, kopírovat jsem kód Interactive ICP , sestavil a používal monkey.ply soubor a funguje podle očekávání. Nicméně, když se změní pouze translační složku přechodu od počáteční hodnoty v kurzu o t = <0,0, 0,0, 0,4> k t = <1,0, 1,0, 0,0> , ICP výstup transformační matice se liší o alespoň 0,2 v každé osy, včetně nepřekládané ose Z..
Je tu něco, co mi chybí, pokud jde o počáteční překladu mezi mraky? Existuje minimální překlad mezi mraky na ICP do práce?
Podívejte se na výstup níže pomocí monkey.ply souboru jsem zkrátil výstup, takže její lepší čitelnost:
CODE zkopírované z interactive_icp.cpp
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 >
ZMĚNA překlad z t = <0,0, 0,0, 0,4> k 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 >
Jakákoliv pomoc vůbec by ocenili!
Mahalo,
Chris Rowe