orocos / orocos_kinematics_dynamics

Orocos Kinematics and Dynamics C++ library
704 stars 408 forks source link

Additional suggestions for the fix >> orocos/orocos_kinematics_dynamics: 1cceebe #80

Open gabrijels opened 8 years ago

gabrijels commented 8 years ago
  1. The condition of trace being larger than epsilon (1e-12) made sense before the fix, but now it is not necessary. Before the fix this was checking the condition of the (trace + 1 > epsilon) which is relevant for matrices with trace being near -1. (e.q. R = [-1,0,0; 0,-1,0;0,0,1]) The new condition should be such that trace needs to be larger or equal to zero. Epsilon is not required. ( you can check this by looking into a matrix (eg. R = [0,-1,0; 0,0,1,-1,0,0]) which has a trace = 0).
  2. The quaternion can be still normalized at the end of all the transformations to ensure the unity condition.
MatthijsBurgh commented 4 years ago

Related to 1cceebe