ICP Transformation Точность варьируя Initial Translation

голоса
0

Добрый день всем,

Я строительство трубопровода восприятия облака точек для моего робота моделирования с использованием точки помутнения Library (PCL) и, в частности Ближайшего модуля итерационных точек (ICP). У меня возникли трудности с получением правильной матрицы преобразования из PCL ПМС. Первоначально я думал, что это было что-то с моим конкретным облаком точек или моим кодом, но то же самое происходит с использованием учебником кода и точкой помутнения.

Рабочий пример минимального, я скопировал код Interactive ICP , компилируется и использовали monkey.ply файл и он работает , как ожидалось. Однако, когда я изменить только поступательную составляющую преобразования от начального значения в учебнике по т = <0,0, 0,0, 0,4> к т = <1,0, 1,0, 0,0> , выходная матрица преобразования ПМС выключена , по крайней мере , 0,2 в каждой оси , включая нетранслируемую ось Z.

Есть ли что-то я пропускаю, когда дело доходит до первоначального перевода между облаками? Есть ли минимальный перевод между облаками ПМС работать?

Смотрите вывод ниже , используя monkey.ply файл, я сократил выпуск поэтому его более удобным для чтения:

КОД, скопированные из 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 >

ИЗМЕНИЛА Перевод с т = <0,0, 0,0, 0,4> к т = <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 >

Любая помощь на всех была бы оценена!

Mahalo,

Крис Роу

Задан 13/02/2020 в 23:54
источник пользователем
На других языках...                            

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