On line 676 in mapOptmization.cpp, the code uses
Eigen::Affine3f tCorrect = correctionLidarFrame * tWrong;
As I understand it, if the current pointcloud is used as the source and the loop pointcloud is used as the target in ICP, then the resulting pose transformation should be $T{correct}^{wrong}$, which should be in the form of right multiplication.
tWrong is $T{wrong}^{world}$ ,
tCorrect is $T{correct}^{world}$ .
we can launch:
$T{correct}^{world} = T{wrong}^{world} \cdot T{correct}^{wrong}$
Eigen::Affine3f tCorrect = tWrong * correctionLidarFrame;
Sorry for taking up your time, could you help me with my doubts?
https://github.com/gisbi-kim/SC-LIO-SAM/blob/d43ca00d97a756303c10975e32e8d66bfabb337d/SC-LIO-SAM/src/mapOptmization.cpp#L670-L683
On line 676 in mapOptmization.cpp, the code uses
Eigen::Affine3f tCorrect = correctionLidarFrame * tWrong;
As I understand it, if the current pointcloud is used as the source and the loop pointcloud is used as the target in ICP, then the resulting pose transformation should be $T{correct}^{wrong}$, which should be in the form of right multiplication. tWrong is $T{wrong}^{world}$ , tCorrect is $T{correct}^{world}$ . we can launch: $T{correct}^{world} = T{wrong}^{world} \cdot T{correct}^{wrong}$Eigen::Affine3f tCorrect = tWrong * correctionLidarFrame;
Sorry for taking up your time, could you help me with my doubts?