what difference does it make in NavStack(move_base) with frame_id as map vs odom
We set global_frame for different nodes of the NavStack. Below are the ones I am eager to know about and how they affect the system.
Costmap params:
/global_costmap/global_frame: map vs odom
/local_costmap/local_frame: map vs odom
planner params:
/DWAPlannerROS/global_frame_id: map vs odom
/GlobalPlanner/global_frame_id: map vs odom
If you are using an
external map
to naviagte, then it makes sense to set theglobal_frame
paramter in the costmap configuration file tomap
.Thanks for response @skpro19 . I load the map obtained from
gmapping
usingmap_server
package.global_frame
in the costmap configuration even if I am using ONE single map for amcl in my NavStack?By
external_map
, I mean any map that is being published on the/map
topic.Whenever you are running a program (i.e. node) that publishes on the
/map
topic, and you want to use that/map
topic to build yourglobal_costmap
, you would need to set theglobal_frame
parameter to/map
.Sometimes, it could also happen that you don't really care about the
map
, and just want to operate the bot in theodom
frame. In such cases, you would need to set theglobal_frame
(for yourglobal_costmap
) to/odom
. You would also need to manually set thewidth
andheight
for theglobal_costmap
.Does that make sense?
You could also try to visualize the
global_costmap
onRviz
for more clarity.Hi @skpro19,
It totally makes sense now and even answers my question. So basically if we do not have a external grid_map we use odom frame.
One of the use case example of this would be when we totally rely on GPS for localization and few range sensors for obstacle avoidance via local_costmap and global_costmap.
Thank you so much for the help.