Custom costmap values of non-trinary character (move_base with global_planner)

asked 2019-06-30 12:22:01 -0500

ge57dop gravatar image

Hello together,

I do have the problem that I would like to create a custom costmap2D layer as described in [http://wiki.ros.org/costmap_2d/Tutori...] that just holds values in a certain range, e.g. [0,100] that when aggregating all layers (static- from SLAM, obstacle- and inflation-layer + custom-costmap) the robot does not just move along the shortest path possible within the former free space. Instead, it would be nice if the robot could explore more of the room based on a user-specific metric, e.g. entropy (how often the robot visited a particular location in the recent timeframe). The overall goal is then to encourage the robot to not take the shortest path from a Euclidean-standpoint but from a mixture of Euclidean distance and maximum room exploration.

Our idea was to compute a potential field externally that reflects which positions are desirable and which are not and feeding this potential to a costmap2d-instance. However, it seems like as if the global_planner in the move_base just discriminates between free, obstacle, and inflation area and does not take values in between into account.

Is there another way to achieve this like modifying the global planner?

Thanks in advance!

edit retag flag offensive close merge delete