ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
On the command line: rosrun tf tf_echo source_frame target_frame
In Python:
import tf
listener = tf.TransformListener()
p_joint = geometry_msgs.msg.PoseStamped()
p_joint.header.frame_id = "your_joint"
p_joint_in_world = listener.transformPose("world", p_joint)
q = p_joint_in_world.pose.orientation # Quaternion
rpy = tf.transformations.euler_from_quaternion(q.x, q.y, q.z, q.w)
In C++, I don't have boilerplate code on hand, but you could convert the geometry_msg.msg.Quaternion
a Tf::Quaternion, convert it to a Matrix3x3 and call getRPY.
This answer assumes that you meant "Roll Pitch Yaw", because this is the standard in robotics. If you really need the YPR Euler angles, use the euler_from_quaternion function's axes
parameter in Python, or the getEulerYPR function in C++.