‘Iterations stopped. The solution didn’t converge due to ill conditioned or non finite matrix computation.’ when use function ‘pcregistercpd’.
This is my code, it’s about 2D point set registration. And I want to use the function ‘pcregistercpd’. When I run it, the answer always be ‘Iterations stopped. The solution didn’t converge due to ill conditioned or non finite matrix computation.’. And the rotation matrix always be unit matrix. The input data is generated easily and format is pointCloud. I have no idea where is the problem.
clc;clear;close all
noise_level=0;
num_all=50;
outlier_rate=0;
num_inlier=round(num_all*(1-outlier_rate));
num_outlier=round(num_all-num_inlier);
[data_x,data_y,theta_gt,t_gt]=gen_noise_data(num_inlier,num_outlier,noise_level);
data_x(:,3)=1;
data_y(:,3)=0;
dx = pointCloud(data_x);
dy = pointCloud(data_y);
tic
[tform,rmse] = pcregistercpd(dx,dy,’Transform’,’Rigid’,’Verbose’,true);%%’Tolerance’,1e-6,’OutlierRatio’,0,’MaxIterations’,50,
Tim=toc;This is my code, it’s about 2D point set registration. And I want to use the function ‘pcregistercpd’. When I run it, the answer always be ‘Iterations stopped. The solution didn’t converge due to ill conditioned or non finite matrix computation.’. And the rotation matrix always be unit matrix. The input data is generated easily and format is pointCloud. I have no idea where is the problem.
clc;clear;close all
noise_level=0;
num_all=50;
outlier_rate=0;
num_inlier=round(num_all*(1-outlier_rate));
num_outlier=round(num_all-num_inlier);
[data_x,data_y,theta_gt,t_gt]=gen_noise_data(num_inlier,num_outlier,noise_level);
data_x(:,3)=1;
data_y(:,3)=0;
dx = pointCloud(data_x);
dy = pointCloud(data_y);
tic
[tform,rmse] = pcregistercpd(dx,dy,’Transform’,’Rigid’,’Verbose’,true);%%’Tolerance’,1e-6,’OutlierRatio’,0,’MaxIterations’,50,
Tim=toc; This is my code, it’s about 2D point set registration. And I want to use the function ‘pcregistercpd’. When I run it, the answer always be ‘Iterations stopped. The solution didn’t converge due to ill conditioned or non finite matrix computation.’. And the rotation matrix always be unit matrix. The input data is generated easily and format is pointCloud. I have no idea where is the problem.
clc;clear;close all
noise_level=0;
num_all=50;
outlier_rate=0;
num_inlier=round(num_all*(1-outlier_rate));
num_outlier=round(num_all-num_inlier);
[data_x,data_y,theta_gt,t_gt]=gen_noise_data(num_inlier,num_outlier,noise_level);
data_x(:,3)=1;
data_y(:,3)=0;
dx = pointCloud(data_x);
dy = pointCloud(data_y);
tic
[tform,rmse] = pcregistercpd(dx,dy,’Transform’,’Rigid’,’Verbose’,true);%%’Tolerance’,1e-6,’OutlierRatio’,0,’MaxIterations’,50,
Tim=toc; pcregistercpd, point set registration MATLAB Answers — New Questions