hector_navigation icon indicating copy to clipboard operation
hector_navigation copied to clipboard

Frame of published goal_pose and observation_pose

Open sayali-purdue opened this issue 4 years ago • 0 comments

The HectorExplorationPlanner::makePlan function publishes original_goal on 'goal_pose' topic and adjusted_goal on 'observation_pose' topic. However, the frame info of these published poses (i.e., frame_id field) is not always available:

  1. the function takes original_goal as input and assumes it to be in 'map' frame. To make the code more robust, it should check for the frame of original_goal before computing the plan.
  2. HectorExplorationPlanner class computes adjusted_goal and sets its frame to be 'map' in one program execution path. In other execution paths, adjusted_goal is same as original_goal whose frame_id can be empty. So, the frame of adjusted_goal is not always set. Moreover, the hard-coded 'map' values assumes that costmap global frame is set to 'map' in the config file.

I think checking and specifying frame info would make the code more robust and readable for its users, as well as would force developers to set the frame_id of the goal pose before passing it to makePlan(..) and thus avoid potential issues in their applications.

Would really appreciate if you could explain your perspective on not enforcing the frame info check and its effects/usefulness for the other developers who use this application node.

Thank you!

sayali-purdue avatar Dec 17 '20 12:12 sayali-purdue