How SBPL lattice planner generates path that avoids real-time obstacles.

asked 2022-02-08 09:05:06 -0500

R2D2 gravatar image

Hi everyone,

I came up with the SBPL Lattice planner, it's a global planner plugin for ROS navigation stack, the SBPL planner re-generates the path by taking the real-time obstacles into consideration, meaning, the global path generated will consider the real-time obstacles and generates the path that avoids them. I was wondering how it's been done since the global planner plugin doesn't have access to local cost map data. In the global planner plugin, it has 3 functions that move_base uses,

  1. GlobalPlanner(std::string name, Costmap2DROS* costmap_ros) ---------------->(constructor)
  2. initialize(String name, Costmap2DROS* costmap_ros)
  3. makePlan(PoseStamped& start, PoseStamped& goal, vector<posestamped>& plan)

the constructor and initialize functions have costmap2dROS pointer as argument but it is of global costmap. How does the makePlan() function able to generate path that avoids real-time obstacles, does the costmap2DROS pointer has data of local costmap too or is it done in some other way??

Thanks in advance.

here's the link to global planner plugin documentation and this is for SBPL lattice planner.

edit retag flag offensive close merge delete