Ask Your Question
0

Quaternion to RPY ROS2

asked 2019-12-09 16:54:17 -0600

LeoE gravatar image

updated 2019-12-09 16:54:56 -0600

In ROS1 we had the possibility to calculate RPY-euler angles from quaternion using tf like this:

tf::Quaternion q(
        msg->pose.pose.orientation.x,
        msg->pose.pose.orientation.y,
        msg->pose.pose.orientation.z,
        msg->pose.pose.orientation.w);
    tf::Matrix3x3 m(q);
    double roll, pitch, yaw;
    m.getRPY(roll, pitch, yaw);

Is there any similar way to do it in ROS2? And if so which file do I have to include? I'm using ROS2-dashing in C++

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2019-12-10 10:08:12 -0600

allenh1 gravatar image

The big thing to note is that tf is not in ROS 2. You need to convert to tf2 first. In tf2, that code would be identical (except for the namespace), however.

tf2::Quaternion q(
        msg->pose.pose.orientation.x,
        msg->pose.pose.orientation.y,
        msg->pose.pose.orientation.z,
        msg->pose.pose.orientation.w);
    tf2::Matrix3x3 m(q);
    double roll, pitch, yaw;
    m.getRPY(roll, pitch, yaw);

So, in short, just use tf2 instead of tf.

edit flag offensive delete link more

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

Stats

Asked: 2019-12-09 16:54:17 -0600

Seen: 30 times

Last updated: Dec 10 '19