Update pose_republisher_node.cpp#236
Conversation
`tf2::Transform receiver_world_pose = last_robot_pose_ * receiver_pose;` should be enough when transforming the receiver pose (in robot frame) into the world frame using the robot pose (in world frame). Similarly for emitter pose.
|
Can you include pictures of the TF frames from RVIZ before and after the change. Thanks! |
|
It is hard to visualize the frames since they are internal topics. (the tf is in the However, I can show you how the tf tree looks before and after the fix. This part is all good. But, the pose republisher doesn't use the main tf tree, but the internal. Echo of the Echo of the It is clear that these are oriented in the same direction. I think that is because of the mistake in the Even without this error, it makes sense to replace this function with an appropriate multiplication of the |


tf2::Transform receiver_world_pose = last_robot_pose_ * receiver_pose;should be enough when transforming the receiver pose (in robot frame) into the world frame using the robot pose (in world frame).Similarly for emitter pose.
Description
The function
inline tf2::Transform static_link_wrt_global_frame(tf2::Transform static_link, tf2::Transform base_frame)inirobot_create_ignition_toolbox/include/irobot_create_ignition_toolbox/utils.hppis not necessary and might be wrong.This is a simple change that addresses this mistake.
Type of change
How Has This Been Tested?
Changing the orientation of the ir opcode sensors with respect to the base frame results in wrong transforms due to the mistake in transforms mentioned above. This fix makes sure that the transforms are correct. I have tested this by adding a dummy base_link frame that is 180 off the original base_link frame.
Checklist