RCI::Orientation should be represented as unit quaternions
RCI::Orientations are represented as quaternions. But as far as I know, they are not checked for being (or automatically transformed to) unit quaternions. If there is no dedicated reason for this, we should integrate this check/transformation into the Orientation representation.Advantages would be:
- if I want to create an Orientation from values, I dont have to care for delivering a unit quaternion
- when getting an Orientation as quaternions, I can be sure to get unit quaternions
#1 Updated by Anonymous about 9 years ago
Currently RCI uses boost quaternions for representation. This is not necessarily the best choice. We could for example check, in what shape Eigen quaternions are and if they provide some convenience functions could use (normalization, transformations to other representations, etc.).
#2 Updated by C. Emmerich about 9 years ago
Yes, sounds good.
BTW, I just got aware that the method asQuaternions() does not deliver a nemo::RealVector but a boost::quaternion. I propose - in order to get your interface independent from the implementation - to change that. This is now becoming important, because if you think of changing the implementation e.g. to Eigen quaternions you also have to change the interface, which is undesirable, I guess.