# ROS co-ordinate system for orientation

So I know through reading http://www.ros.org/reps/rep-0103.html that the ROS co-ordinate frame follows the right hand rule. So when getting transformation data from a VR device I have to convert:

x= -z, y=-x, z= y

I've managed to map movements of positions correctly, however I'm having trouble with rotations... I tried doing the same mapping for for rotations & it doesn't seem to work. Is there another rule I have to adhere to or another conversion I can do to get correct mapping for orientation (roll, pitch, yaw)? or perhaps a way to find the correct mapping..?

Thanks!

edit retag close merge delete

1) What are you trying to do? 2) Did you check this? https://answers.unity.com/storage/tem...

( 2018-07-24 19:56:32 -0500 )edit

Can you provide more info on what your setup looks like? What information is your device reporting (e.g., position, velocity, orientation, acceleration, angular vel)?

( 2018-07-24 19:58:19 -0500 )edit

Hi, I'm trying to map HTC controllers to a Baxter robot through ROS to achieve teleoperation. Right now, I believe I have got the position (x, y ,z) mapped correctly using the right hand rule, but struggling with orientation now...

( 2018-07-25 05:58:46 -0500 )edit

Sort by ยป oldest newest most voted
1. You can convert any left-handed coordinate system to right-handed by flipping the sign of one of its axes. [1] By changing more axes, you are rotating the coordinate system.

2. A quaternion (x, y, z, w) in a left-handed coordinate system (x,y,z) should simply become (x, y, -z, w) in a right-handed coordinate system (x, y, -z). Please try it out and report back.

Sources:
[2] https://stackoverflow.com/questions/2...
[3] https://en.wikipedia.org/wiki/Quaternion
[4] Reasoning for the second part of this answer: https://meta.wikimedia.org/wiki/Cunni...

more