This collection of ROS packages represents a simple motion planning stack for a library book delivery robot. This planning stack consists of three primary planning nodes:
primitive_planner
is a path planner that performs an A* search through a tree of motion primitives.primitive_velocity_planner
is a velocity profile planner that plans an optimal velocity profile for a specified path. This node also performs an A* search through a tree of velocity profile primitives.trajectory_following_controller
is a simple trajectory following controller that uses pure pursuit to compute control commands that keep the robot following its planned trajectory.
In addition an rviz-based waypoint UI and a simple simulation node are also provided to allow for out-of-the-box simulation.
To try out the bookbot navigation planner:
- Compile the packages in a ROS workspace (and resource the setup.bash for the workspace to ensure rviz can find the waypoint tool)
- Load the
primitive_velocity_planner/rviz/planner.rviz
config in rviz - Run the planning stack in simulation with a static example obstacle grid:
roslaunch primitive_velocity_planner test_primitive_velocity_planner.launch
- Set new waypoints by clicking on the waypoint tool (or using
w
as a hotkey) and thenshift-click
to append a new waypoint orctrl-click
to replace the existing set of waypoints.
This is not an officially supported Google product.