Keep translation in transform_log_from_transform for tiny rotations - #374
AlexanderFabisch merged 2 commits into
Conversation
AlexanderFabisch
left a comment
There was a problem hiding this comment.
Thanks again @jashshah999 . I need a bit more time to analyze this though.
|
Hi @jashshah999 , one problem here is that the angle calculation of |
57ab4fb to
49a1515
Compare
|
Rebased on #376 and removed the One thing I noticed while testing: #376 on its own fails |
|
Thanks a lot for this contribution @jashshah999 . With #378 , all tests pass. The PR is on develop now. |
transform_log_from_transformreturns an all-zero matrix for a transform whose rotation is tiny but not exactly identity, dropping the translation:norm(I - R)is about 1.4e-8 here, so the early pure-translation branch is skipped, butcompact_axis_angle_from_matrixreturns a zero vector, and thetheta == 0branch then returns the log withoutp.exponential_coordinates_from_transformhas the same two branches and already keepspin the second one; this does the same.test_transform_log_from_almost_identity_transformexpected all zeros for an input whose translation is about 1e-4, so it was asserting the dropped translation. I changed it to check that the rotation part is zero and the translation isp, and added a test for the case above.Found with a randomized round-trip check over rotations near 0 and pi. Full test suite passes locally (3095 passed, 3 skipped for open3d).