ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

You need to split the setRPY call and the multiplication into two different statements. At the moment the last line of your code is trying to multiply m a tf::Matrix3x3 by the returned value of the setRPY() method. This is a void function so you code is trying to do tf::Matrix3x3 * void hence your problem. Try the following code instead:

tf::Quaternion q( four_result_pose.orientation.x,  four_result_pose.orientation.y,  four_result_pose.orientation.z, four_result_pose.orientation.w);
tf::Matrix3x3 m = tf::getRotation(q);
tf::Matrix3x3 x_90_deg_turn;
x_90_deg_turn.setRPY(1,0,0);
tf::Matrix3x3 result_matrix = m *x_90_deg_turn;

This should solve your problem.