robotology / idyntree

Multibody Dynamics Library designed for Free Floating Robots
BSD 3-Clause "New" or "Revised" License
177 stars 67 forks source link

iDynTree::Rotation : Extend setters/getters of RPY to handle other RPY conventions #107

Open traversaro opened 8 years ago

traversaro commented 8 years ago

There are a lot of Euler Angles / RPY convention out there. For now we just defined our convention to be compatible with an existing KDL method for compatibility (see http://wiki.icub.org/codyco/dox/html/idyntree/html/classiDynTree_1_1Rotation.html#a8a09f91f852dfc6eef646cdf737cb572 ), but we should provide a self-contained precise definition of the function and add support for the most used convention.

The most unambiguous way of defining the behaviour of the method is probably to just write the rotation matrix as function of the three angles in input in the doxygen documentation.

Thanks to @mfocchi and @gtournois for the feedback.

traversaro commented 8 years ago

I think https://www.astro.rug.nl/software/kapteyn/_downloads/attitude.pdf could be a good reference document to refer to for implementing the different Euler angles / RPY conventions.

traversaro commented 8 years ago

Relevant YARP issue : https://github.com/robotology/yarp/issues/635 .

One problem not addressed in https://www.astro.rug.nl/software/kapteyn/_downloads/attitude.pdf that in the past caused problem when working with Eigen eulerAngles function is that to fully define a chart of SO(3) suitable ranges for the euler angles should be defined.