[Documentation] [TitleIndex] [WordIndex



The cart_pushing stack is an extension to the navigation stack that performs the sensing, planning, and control needed to make the PR2 move while pushing wheeled objects such as carts.

Requirements and Limitations

Cart_pushing is currently released against the unstable ROS distribution. It assumes a holonomic cart, though extending to nonholonomic movable objects is an area of current work. It has only been tested on, and is only currently supported on, PR2 robots; porting to other physically capable mobile manipulators should, however, be feasible.

System Overview

The navigation system is based on the move_base executive, which is part of the ROS navigation stack. It therefore consists of a global and local planner. The global planner is in the sbpl_cart_planner package, and is based on A* search using motion primitives. The local planner is in the cart_local_planner package, and simply tries to follow the global plan closely. One difference between the standard move_base setting and this package is that the arms must be commanded as well. This is done by having cart_local_planner also send desired cart twists to controller in the articulate_cart package, which in turn commands the arms. State estimation, used for cart control and filtering out laser hits, is done in the cart_state_estimator package.


See the tutorials for general tutorials on running and configuring the cart pushing stack. See individual packages for more detailed documentation. In particular, parameters for configuring the system are described in cart_pushing_executive.

Report a Bug

<<TracLink(wg-ros-pkg motion_planners)>>

2024-07-13 12:38