ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
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.