An A* path planner for grid-based navigation
cd ~/catkin_ws/src
git clone https://github.com/qutas/breadcrumb
cd ~/catkin_ws
catkin_make
source ~/catkin_ws/devel/setup.bash
roscd breadcrumb
git pull
cd ~/catkin_ws
catkin_make
source ~/catkin_ws/devel/setup.bash
This node listens for an OccupancyGrid and will advertise a service which can be called to do path planning within this grid space.
First, copy the launch file and open it to edit:
mkdir -p ~/catkin_ws/launch
cd ~/catkin_ws/launch
roscp breadcrumb breadcrumb.launch ./
nano breadcrumb.launch
At this point, you will have to uncomment the grid remap command to tell breadcrumb which occupancy grid to connect to:
<remap from="~grid" to="/grid" />
You can now run breadcrumb:
roslaunch ~/catkin_ws/breadcrumb.launch
If breadcrumb stops with the message [Breadcrumb] Waiting for occupancy grid
, then it is waiting to recieve the grid. You will recieve the message [Breadcrumb] Received a new occupancy grid, path planning service started!
when breadcrumb has successfully received the occupancy grid and is ready for operation.
- Request Path
- Topic:
~request_path
- Type:
breadcrumb/RequestPath
- Description: This is a service server that allows a service client to query breadcrumb for a path from point A to point B. This interface only becomes available after breadcrumb has received a valid occupancy grid. The response message may return an empty path (size of 0), which represents that no solution could be found.
- Topic:
- Occupancy Grid
- Topic:
grid
- Type:
nav_msgs/OccupancyGrid
- Description: This input sets the grid that is used by breadcrumb to perform the path planning steps. This should be connected to a pre-determined occupancy grid.
- Topic:
The breadcrumb path planner does not publish to any topics.
This package utilizes source code developed by github user daancode.