http://bugs.orocos.org/show_bug.cgi?id=1037
Summary: GetRot() : angle-axis calculation not robust
Product: KDL
Version: unspecified
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: P3
Component: Primitives
AssignedTo: orocos-dev [..] ...
ReportedBy: bert [dot] willaert [..] ...
CC: orocos-dev [..] ...
Estimated Hours: 0.0
KDL::Rotation rot = KDL::Rotation::Quaternion(x,y,z,w);
KDL::vector axis = rot.getRot();
Two more or less the same quaternions give a completely different result
-------------------------------
45.085 [ Warning][Logger] Commanded Quaternion: 0.999991 , -0.00419755 ,
-3.73226e-16 , 1.04598e-16
45.085 [ Warning][Logger] Commanded axis: 4.29121e-12 , -1.80127e-14 , 0
-------------------------------
47.162 [ Warning][Logger] Commanded Quaternion: 0.999969 , -0.00783564 ,
3.20454e-16 , 5.25546e-17
47.162 [ Warning][Logger] Commanded axis: -3.1415 , 0.0246159 , -nan
It turned out to be a problem with the epsilon value of
getRotAngle(axis,epsilon)
For epsilon bigger than 0.001 it works fine!
[Bug 1037] GetRot() : angle-axis calculation not robust
http://bugs.orocos.org/show_bug.cgi?id=1037
Ruben Smits <ruben [dot] smits [..] ...> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |ruben.smits@intermodalics.e
| |u
Resolution| |FIXED