diff --git a/src/icp.cpp b/src/icp.cpp index a2ca9a996cc4f0abd3a4dacf60d32275c8a16916..617a09b4e43819c77d86c8d65608bf1fde4e598e 100644 --- a/src/icp.cpp +++ b/src/icp.cpp @@ -92,7 +92,10 @@ icpOutput ICP::matchPC(LaserScan &_last_ls, LaserScan &_origin_ls, LaserScanPara result.res_transf(2) = csm_output.x[2]; result.nvalid = csm_output.nvalid; - result.error = csm_output.error; + result.error = csm_output.error; + + std::cout << "ICP: add covariance!" << '\n'; + // result.res_covar = Eigen::Zeros(); // std::cout << "Number of valid correspondences: " << csm_output.nvalid << '\n'; // std::cout << "Number of iterations: " << csm_output.iterations << '\n'; diff --git a/src/icp.h b/src/icp.h index eb58cacc73edfb098455a2087ef0f7433fc9741a..fb222aa10e4fa1c67816ea1289f2b2c0409ffff8 100644 --- a/src/icp.h +++ b/src/icp.h @@ -3,15 +3,17 @@ #include <random> #include "laser_scan.h" #include <csm/csm_all.h> - +#include <Eigen // using namespace CSM; namespace laserscanutils{ struct icpOutput{ + int valid; /** 1 if the result is valid */ Eigen::Vector3s res_transf; + Eigen::Matrix3s res_covar; int nvalid; /** Number of valid correspondence in the end */ - double error; /** Total correspondence error */ + double error; /** Total correspondence error */ }; struct icpParams{