mat = transforms3d.axangles.axangle2mat([1,1,1], 4*np.pi/3)
_, angle = transforms3d.axangles.mat2axangle(mat)
assert angle == 4*np.pi/3, "should be the same"
Looks like axangle2mat is picking the direction based on smallest distance. However, in robotic applications it's important to preserve the direction of rotation encoded in the matrix representation. Preserving the original direction should be default.
The following sequence of calls shouldn't fail:
Looks like axangle2mat is picking the direction based on smallest distance. However, in robotic applications it's important to preserve the direction of rotation encoded in the matrix representation. Preserving the original direction should be default.