[Documentation] [TitleIndex] [WordIndex


Provides a move_base global-planner plugin, that uses anytime ARA* search as implemented by the sbpl motion planner. In addition to finding a global plan for the base as required by move base, it also publishes a corresponding plan for the cart. The planner is currently configured to plan in (x,y,theta,cartangle) space where (x,y,theta) is the position and orientation of the robot base. The cart angle is the articulation angle of the cart about an (imaginary) pivot point that can be configured using ROS parameters (below). Currently, the planner plans only from and to states where the cart angle is zero.

ROS interface

Advertised topics

sbpl_robot_cart_plan (cart_pushing_msgs/RobotCartPath)

sbpl_plan_array (visualization_msgs/MarkerArray)

sbpl_plan_footprint (visualization_msgs/MarkerArray)

Main ROS parameters

Cart parameters

These are in the cart_pushing namespace.

{length, width}



Planner parameters

These are in the private namespace of the plugin.

allocated_time default: 10.0

initial_epsilon default: 3.0

environment_type default: XYThetaLattice

planner_type default: ARAPlanner

forward_search default: false

cart_pivot_offset\x default: 0.6

cart_pivot_offset\y default: 0.0

visualizer_skip_poses default: 10

primitive_filename default="$(find sbpl_cart_planner)/launch/pr2_cart_articulate.mprim" />

Configuration file location

By default, these parameters are launched from the sbpl_cart_planner/launch/move_base/sbpl_global_planner.yaml file.

Configuring the motion primitives

There are currently two sets of motion primitive files available for cart pushing.

Sample path


2024-07-13 14:38