New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
There is a logic error in the code of the computeTransformation function in the gicp.hpp file when calculating the transformation matrix T #6022
Comments
@mawenwuda Sorry, I am having difficulties interpreting your modifications. Could you explain, what exactly does not work currently? If you could provide an example where you call GICP, and show how the result does not match your expectations, that would be very helpful. |
@mvieth While reading the source code of the computeTransformation function in the gicp.hpp file, I encountered some issues that I couldn't understand, as follows: |
@mawenwuda But have you tried running GICP? I have successfully used GICP several times, and as far as I can tell, the transformation it returned was always correct.
As I said in my last comment, if you have a test case where you run GICP and the behaviour is different from what you expected (so you observe a bug in practice), I am happy to investigate, but so far it seems to me that you simply misunderstand the code and assume it is a logic error. |
@mvieth I think I misunderstood this piece of code, thank you very much for your explanation! |
You are welcome |
`final_transformation_ = guess; //New code
while (!converged_) {
for (std::size_t i = 0; i < 4; i++)
for (std::size_t j = 0; j < 4; j++) //modified
transform_R(i, j) = static_cast(final_transformation_(i, j));
}
//Computation of the final transformation matrix is not possible, because the previous_transformation_ variable does not implement the cumulative transformation matrix.
final_transformation_ = previous_transformation_ * guess; //delete`
The text was updated successfully, but these errors were encountered: