Ask Your Question

How to perform rotation before translation in tf2?

asked 2017-05-02 04:44:23 -0600

nikhilk gravatar image

Given the rpy values and some translational values , how to perform rotation before translation and then publish while using the tf2 library in ros

edit retag flag offensive close merge delete


Both the C++ and Python tutorials have an example of converting RPY into a quaternion and broadcasting that transform. Do you have a specific question beyond what is covered in the tutorials? C++ tutorial

jarvisschultz gravatar imagejarvisschultz ( 2017-05-02 07:20:31 -0600 )edit
jarvisschultz gravatar imagejarvisschultz ( 2017-05-02 07:20:44 -0600 )edit

yes, actually i am trying to get a frame which is rotated by given rpy values and then translated, hc's solution worked for me (point 1). Thank you guys :)

nikhilk gravatar imagenikhilk ( 2017-05-03 06:56:56 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2017-05-02 14:37:21 -0600

hc gravatar image

I understand what you mean. You want to translate in the rotated frame and not the original frame. Unfortunately tf2 only works with translation and rotation being published with respect to the original frame. Because it is a transform with respect to that particular frame.

To solve your problem there are two ways:

  1. The simple way is to create two frames. A temporary frame which contains only the rotation. And then another transform to translate in this frame.
  2. If you do not want to create a temporary frame, you can calculate what the translational vector will be in the rotated frame. And then use those values instead. To illustrate: If you want to first rotate by r,p,y and then translate in the rotated frame by a,b,c. You should calculate the new translational values R * {a,b,c} where R is the rotation matrix constructed by the rotation angles. Then you can use the tf2 package with these new values.

Hope this helps!

edit flag offensive delete link more


Got it , thank you :)

nikhilk gravatar imagenikhilk ( 2017-05-03 06:57:12 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2017-05-02 04:44:23 -0600

Seen: 1,389 times

Last updated: May 02 '17