Robotics StackExchange | Archived questions

How are Goals Used in Move_Base?

I'm trying to get a better understanding of how MoveBase uses goals it receives from /movebase_simple/goal.

Looking at the code, I know that if I publish something to /movebasesimple/goal, it will use the callback function MoveBase::goalCB. Look into goalCB, I see that it serializes the message from /movebasesimple/goal into a MoveBaseActionGoal, and publishes it to the topic movebase/goal. When I do a "ros topic info movebase/goal", I see that the only node that subscribes to that topic is movebase, indicating that somewhere in movebase I should find that topic being subscribed to and used. That said, I don't see any place in movebase that subscribes to the topic "movebase/goal" of type MoveBaseActionGoal.

What is going on with the goal here? Where does it get read and processed to get sent to the global planner?

Asked by cmcheung on 2022-02-14 17:06:29 UTC

Comments

Answers

Isn't the code there:

https://github.com/ros-planning/navigation/blob/6e9de3f16c76329fc8d218189d90e4ebe51d61c2/move_base/src/move_base.cpp#L106

what are you expecting?

You can read more about the actions from actionlib used there with the MoveBaseActionGoal and /move_base_simple. For sure you have seen it already, but this tutorial: http://wiki.ros.org/navigation/Tutorials/SendingSimpleGoals can be helpful too.

These slides were nice introduction to understanding ROS Navigation for me, maybe it will help someone later too: https://prezi.com/cbkzfojsuwvx/ros-navigation/

Asked by ljaniec on 2022-02-14 19:31:25 UTC

Comments