Re: [Algorithms] Quaternions in IK
Brought to you by:
vexxed72
From: <ro...@do...> - 2000-09-06 15:52:56
|
Jason Zisk wrote: >Can you convert between Quaternion and Euler without any loss of >information? I have a routine to convert Euler->Quat but I've never seen >one that goes from Quat->Euler. This would be most helpful for my current >project. > It is not a question of loss of information, but of absence of information from the start. What I mean by this is that the real geometric thing is the rotation (or orientation) not an Euler angle construction of it. The rotation does not uniquely determine the Euler angles. If FREE rotation is allowed (think a ship on the sea or an aircraft or spacecraft) , then a given rotation can be decomposed into Euler components in infinitely many ways. So if you start with an Euler construction to get a rotation matrix (or a quaternion) then use a routine such as one that Dave Eberly points to on his site to get Euler angles from that quaternion or matrix, then there is no guarantee that they will be the same Euler angles you started with....The rotation does not determine the Euler angles. On the other hand, for the systems at issue in IK problems, viz., linked structures with constrained joints, such as robots and animated characters, the rotation of the end effectors are NOT free, but constrained. Typically, the Euler axes DO have a mechanical reality in the construction of your robot as a linkage of defined 1-DOF joints, and the range of rotation of each joint is limited. In many such cases, no doubt, the Euler angles ARE uniquely determined by the orientation of the end effector, and in principle one could find an algorithm to determine them from the rotation. But it would be fortuitous if one of Dave's routines gave the correct decomposition in your particular case. These considerations lead to a question that keeps coming up for me, but for which I have not found the answer. I've posted it on various forums and lists from time to time, without response. I'm going to ask it again here, because at least a few will understand its statement, and maybe Dave or Jeff's grad student or someone will remember seeing it discussd somewhere: In the rotation group SO(3), how can one characterize a maximal neighborhood of the identity that has a unique analytic Euler angle parametrization? |