0

I have a pose (position as 3d vector + orientation as quaternion or RPY) sensor that streams data with respect to a known coordinate system. The translations and rotations are relative to those 3 known space axis, let's call it "world".

I would like however to get the relative translations and rotations with respect to another coordinate system, in which the origin happens to be the same as world but the axis are rotated by known angles. For the translations, a simple rotation matrix can transform an (x,y,z) 3d position from the world coordinate system to a new, rotated one by knowing the roll, pitch and yaw rotations.

But how could I get the rotations with respect to my coordinate system? Rotating around one world axis will result in 2 or 3 custom coordinate rotations. How can I transform the rotations, any ideas?

  • You say you know the new "axes are rotated by known angles". You could turn that into a quaternion and then multiply it by the quaternions from your pose data. How you do this will depend on the quaternion convention you are using ... do you know what that is? – James Tursa Sep 14 '20 at 16:40
  • I was not aware there are 2 quaternion conventions, thank you. The actual data from my sensor comes in the form of quaternion, and then I get the RPY angles by using a [transfrom](https://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles) . I believe that it should be possible to modify the transform to get RPY wrt a different coordinate system. But still do not know how. – nicolas005 Sep 15 '20 at 08:07

0 Answers0