Skip to content

Configure Grasping Pipeline

aurone edited this page Sep 27, 2017 · 1 revision

h1. Tweaking the Grasping Pipeline

The grasping pipeline procedure is as follows:

  • Generate grasp poses (poses for the wrist) given the object pose
  • Move the limb to the pre-grasp pose (fixed offset from the grasp pose)
  • Open the gripper
  • Move the limb to the grasp pose
  • Close the gripper
  • Move the limb to a stow position
  • Check whether the gascan was picked up

In addition to the parameters specified in gascan_grasping.yaml, the grasping pipeline has additional parameters listed in @rcta/config/planning/grasp_object_executor.yaml@.

h2. stow_positions

This is a list of stow positions for the arm to move to after it has grasped the gascan. It will try each one in order until one succeeds. The name field is arbitrary for logging purposes.

h2. use_extrusion_octomap

This was for the previous demo where we extruded the 2D costmap to use as the 3D octomap. You probably don't need to enable this.

h2. object_filter_radius_m

This is the approximate radius of the gascan, used to check for whether the gascan exists in the 2D costmap after an attempted pickup. The detection model applies a gaussian on top of the costmap centered at where the object was detected, so cells near the gascan's detected pose will contribute more to the prediction of whether the gascan was removed from the costmap. The radius determines the variance of the gaussian (somehow, I forget).

h2. gas_can_detection_threshold

This is the threshold at which and above the gascan is believed to have been picked up. Basically the product of the gaussian described above, and the occupied cells centered around the gascan's detected pose.

h2. skip_viservo

Whether to skip the visual servo'ing step (currently true for the Roman)