← Back to packages

Package intrinsic_proto.grasping

Message AttemptedGrasp

Message AxisConstraint

Message BaseGraspPlannerParams

Message BoundingBoxConstraint

Message BoxShapedGraspAnnotationParams

Message DebugInfo

Message DisableAnnotation

Message DiversityRankerParams

Message FingerGrasp

Message Grasp

Message GraspAdaptersParams

Message GraspAnnotationConstraint

Message GraspAnnotations

Message GraspAnnotationsEdit

Message GraspAnnotationsEdits

Message GraspCommand

Message GraspConstraint

Message GraspExecutionPlan

Message GraspExecutionPlannerParams

Message GraspExecutionPlanningResult

Message GraspHistory

Message GraspPlan

Message GraspPlannerParams

Message GraspRankersParams

Message GraspTarget

Message HeightRankerParams

Message HeuristicResult

Message IkCollisionCheckerParams

Message InsertionConstraint

Message ManualGraspAnnotation

Message ManualGraspAnnotations

Message MeshBytesData

Message MeshData

Message MetricWeights

Message MockGraspPlannerParams

Message ObjectPose

Message ParameterizedCentricGripperSpecs

Message ParameterizedGripperSpecs

Message ParameterizedPinchGripperSpecs

Message ParameterizedSuctionGripperSpecs

Message PinchGripperParams

Message PlacementConstraintCheckerParams

Message PlacementConstraints

Message PlacementPoseConstraint

Message PlateConfig

Message PoseBasedGrasp

Message PoseBasedGraspInfo

Message PoseEstimatesTarget

Message Poses

Message RepeatedFingerGrasps

Message RepeatedGrasps

Message RepeatedPoseBasedGrasps

Message SamplingOptions

Message SchmalzMultiAxisGraspAnnotation

Message SchmalzMultiAxisGraspCommand

Message StoredGraspAnnotations

Message StraightLineCheckerParams

Message TopDownAdapterParams

Message TopDownGraspRankerParams

Message VisibilityRankerParams

Enum FailureReason

Messages

message AttemptedGrasp intrinsic/manipulation/grasping/grasp.proto

Field Type Description
1 grasp intrinsic_proto.grasping.Grasp

The attempted grasp.

2 success bool

Whether the grasp successfully picked up an object.

message AxisConstraint (Nested in intrinsic_proto.grasping.GraspAnnotationConstraint ) intrinsic/manipulation/grasping/grasp_annotator.proto

Field Type Description
1 axis repeated intrinsic_proto.Vector3

The axis to filter grasp poses by, in the base frame of the object. Grasp poses are filtered out if the Z-axis of the grasp pose is not aligned and in the same direction as the axis.

2 angle_tolerance_in_radians optional float

The angle tolerance in radians to filter grasp poses. The default value is 0.01 radians.

message BaseGraspPlannerParams intrinsic/manipulation/grasping/grasp_planner_params.proto

Parameters to construct a BaseGraspPlanner

Field Type Description
1 grasp_infos repeated intrinsic_proto.grasping.PoseBasedGraspInfo
2 max_num_grasps optional int64

Maximum number of grasps to return.

3 grasp_frame_z_offset_m optional float

Grasp frame z-axis offset in its positive direction. Used to locally adjust the grasp point. E.g., 0.02 means grasp is 2cm further along the z-axis (usually means it's 2cm deeper into the object or closer to the object).

4 retract_dist_m optional float

The distance between grasp and pregrasp frames.

6 tool_frame intrinsic_proto.world.TransformNodeReference

The tool frame to use for the grasp.

7 robot_name string

The robot to perform this grasp.

8 rankers_params optional intrinsic_proto.grasping.GraspRankersParams

Ranker specific parameters.

10 grasp_bbox_zone optional intrinsic_proto.manipulation.OrientedBoundingBoxWorkspace

Use this to specify target picking zone and perform zone-based grasp planning. This is only used if objects is empty

11 adapters_params optional intrinsic_proto.grasping.GraspAdaptersParams

Adapter specific parameters.

12 max_num_recent_grasps optional int32

The maximum number of recently executed grasps to consider in planning.

13 category string

The object category used by PoseBasedGraspProposer. Used as a key to map object categories to grasps.

The value of this field must match the category of the grasp target in use. For example, if pose_estimates is provided, then pose_estimates.object_category.name must be used, similarly, for grasp_zone use grasp_zone.object_category.name.

message BoundingBoxConstraint (Nested in intrinsic_proto.grasping.GraspAnnotationConstraint ) intrinsic/manipulation/grasping/grasp_annotator.proto

Field Type Description
1 oriented_bounding_boxes repeated intrinsic_proto.geometry.OrientedBoundingBox3
2 exclude_poses_in_box optional bool

Only select grasp poses outside the box, defaults to false.

message BoxShapedGraspAnnotationParams intrinsic/manipulation/grasping/grasp_annotations.proto

Field Type Description
1 obj_dims_in_meters optional intrinsic_proto.Vector3

Dimensions of the box shaped object in its x, y, z axes. Used to compute grasp poses with respect to the target object.

2 obj_t_obj_center optional intrinsic_proto.Pose

The pose of object's center in its mesh frame. Useful when the mesh frame isn't at the center of the box. Used to compute grasp poses with respect to the target object. Defaults to the identity pose.

3 num_rotations optional int32

Number of grasps to add on each surface. These are grasp poses at the center position of a surface, rotated around the z-axis, evenly spread in 360 degrees. E.g., if num_rotations=6, then the grasps are 60 degree rotations around z-axis. Used to compute grasp poses with respect to the target object. Defaults to 4.

4 surfaces repeated int32

The object surfaces to which to add grasps. Defaults to all surfaces if unspecified or empty. Used to compute grasp poses with respect to the target object. 0 for the surface that intersects the x-axis positive axis; 1 for the surface that intersects the x-axis negative axis; 2 for y-axis positive axis; 3 for y-axis negative axis, 4 for z-axis positive, 5 for z-axis negative.

message DebugInfo (Nested in intrinsic_proto.grasping.GraspPlan ) intrinsic/manipulation/grasping/grasp.proto

Field Type Description
1 timing_info map<string, double>
2 scene_uuid optional string

Scene ID if this grasp plan is computed from a perception scene.

message DisableAnnotation intrinsic/manipulation/grasping/grasp_annotations.proto

Field Type Description
1 annotation_idx int32

message DiversityRankerParams intrinsic/manipulation/grasping/grasp_ranker_params.proto

Field Type Description
1 min_score optional float

The score to return if a grasp is too close to a recently failed grasp. Defaults to 0.001 when unspecified. Set this to 0 will effectively cause the grasp to be filtered.

2 distance_threshold_in_meters optional float

The translation distance used to decide whether a grasp G1 is too close to a grasp G2 in target_grasps. If dist(G1,G2) < distance_threshold, return a score of min_score. Defaults to 0.01.

3 distance_threshold_z_in_meters optional float

Similar to distance_threshold, but only used to check the distance in the z axis. dist(G1_z, G2_z)) < distance_threshold_z must be true for returning min_score for a grasp. Defaults to +inf.

4 name optional string

Name of the ranker. Default to diversity_grasp_ranker.

message FingerGrasp intrinsic/manipulation/grasping/grasp.proto

Field Type Description
1 grasp intrinsic_proto.grasping.Grasp
2 open_position double

FingerGrasp specific

3 close_position double
4 max_effort double

Max force.

message Grasp intrinsic/manipulation/grasping/grasp.proto

Field Type Description
1 grasp_id string
2 grasp_motion_spec intrinsic_proto.motion_planning.v1.PoseEquality
3 grasp_command intrinsic_proto.grasping.GraspCommand
4 postgrasp_motion_spec intrinsic_proto.motion_planning.v1.PoseEquality
5 object_pose intrinsic_proto.grasping.ObjectPose
6 history repeated intrinsic_proto.grasping.Grasp.GraspHistory
7 object_category string
8 pregrasp_motion_spec intrinsic_proto.motion_planning.v1.PoseEquality
9 score double

The score of the grasp. Range: [0, 1]. A higher score means a higher probability of execution success.

10 object_name optional string

The name of the target object to grasp in the world.

11 visibility optional float

Confidence of detection, in range [0, 1].

12 pregrasp_ik_solution intrinsic_proto.icon.JointVec

An IK solution for the pregrasp pose.

13 grasp_ik_solution intrinsic_proto.icon.JointVec

An IK solution for the grasp pose.

14 possible_placement_pose optional intrinsic_proto.motion_planning.v1.PoseEquality

A possible placement pose only if PlacementConstraints.placement_pose_constraint is specified and the constraint is feasible. This provides a feasible placement pose for the grasp for the user when PlacementPoseConstraint.target_frame_margins is specified, when the user is expecting the placement to take place within the margins but not sure where exactly would guarantee the placement success. Its IK is guaranteed to be feasible, while trajectories towards it are not.

message GraspAdaptersParams intrinsic/manipulation/grasping/grasp_adapter_params.proto

Field Type Description
1 top_down_adapter_params optional intrinsic_proto.grasping.TopDownAdapterParams

Parameters for top-down adapter.

message GraspAnnotationConstraint intrinsic/manipulation/grasping/grasp_annotator.proto

Field Type Description
3 min_finger_contact_area optional float

The minimum contact area between the finger and the object, expressed as a percentage of the finger area (width x length). Annotations with the contact area below this will be filtered out. Defaults to 0.0. Must be within [0.0, 1.0]. This will be satisfied for each finger and will be ignored if not using a ParameterizedPinchGripper.

oneof Constraint
1 bounding_box_constraint intrinsic_proto.grasping.GraspAnnotationConstraint.BoundingBoxConstraint

The bounding box to filter grasp poses, in base frame of the object.

2 axis_constraint intrinsic_proto.grasping.GraspAnnotationConstraint.AxisConstraint

Axis constraint to filter grasp poses.

message GraspAnnotations intrinsic/manipulation/grasping/grasp_annotations.proto

Field Type Description
oneof grasp_annotations
1 box_shaped_grasp_annotations intrinsic_proto.grasping.BoxShapedGraspAnnotationParams
2 manual_grasp_annotations intrinsic_proto.grasping.ManualGraspAnnotations
4 stored_annotations intrinsic_proto.grasping.StoredGraspAnnotations

message GraspAnnotationsEdit intrinsic/manipulation/grasping/grasp_annotations.proto

Field Type Description
oneof edit
1 disable_annotation intrinsic_proto.grasping.DisableAnnotation

message GraspAnnotationsEdits intrinsic/manipulation/grasping/grasp_annotations.proto

Field Type Description
1 edits repeated intrinsic_proto.grasping.GraspAnnotationsEdit

message GraspCommand intrinsic/manipulation/grasping/grasp.proto

Field Type Description
oneof grasp_command
1 grasp_request intrinsic_proto.eoat.GraspRequest
2 pinch_gripper_command intrinsic_proto.gripper.PinchGripperCommand

message GraspConstraint (Nested in intrinsic_proto.grasping.GraspTarget ) intrinsic/manipulation/grasping/grasp.proto

Define a message to use it with "optional".

Field Type Description
oneof grasp_constraint_type
1 poses intrinsic_proto.grasping.GraspTarget.Poses
2 geometric_constraint intrinsic_proto.motion_planning.v1.GeometricConstraint

message GraspExecutionPlan intrinsic/manipulation/grasping/grasp.proto

Field Type Description
1 traj_to_pregrasp optional intrinsic_proto.icon.JointTrajectoryPVA

Trajectory to move from starting position to pregrasp position/pose. If unspecified, then traj_to_grasp moves from starting position to grasp position/pose via pregrasp position/pose in a single trajectory.

2 traj_to_grasp intrinsic_proto.icon.JointTrajectoryPVA

If traj_to_pregrasp is specified, then this trajectory moves from pregrasp position/pose to grasp position/pose; otherwise this moves from start to grasp via pregrasp in a single trajectory.

3 traj_to_postgrasp intrinsic_proto.icon.JointTrajectoryPVA

Trajectory to move from grasp position to post position/pose.

message GraspExecutionPlannerParams intrinsic/manipulation/grasping/grasp_execution_planner_params.proto

Field Type Description
1 robot_name string

The robot to execute a grasp.

2 path_planning_time_out_in_sec optional int64

The timeout in second for the path planning. If not set, use default value set in MotionPlannerService.

3 blend_pregrasp_and_grasp_trajs optional bool

If True, the robot moves from starting position to grasp position via pregrasp position in a single trajectory. Default to False.

4 pregrasp_motion_path_constraints optional intrinsic_proto.motion_planning.v1.PathConstraint

The path constraints applied to the motion segment from start to the pregrasp pose.

5 grasp_motion_path_constraints optional intrinsic_proto.motion_planning.v1.PathConstraint

The path constraints applied to the motion segment from the pregrasp pose to the grasp pose.

6 postgrasp_motion_path_constraints optional intrinsic_proto.motion_planning.v1.PathConstraint

The path constraints applied to the motion segment from the grasp pose to the postgrasp pose.

7 pregrasp_motion_dynamic_cartesian_limits optional intrinsic_proto.motion_planning.v1.DynamicCartesianLimits

The DynamicCartesianLimits applied to the motion segment from start to the pregrasp pose.

8 grasp_motion_dynamic_cartesian_limits optional intrinsic_proto.motion_planning.v1.DynamicCartesianLimits

The DynamicCartesianLimits applied to the motion segment from the pregrasp pose to the grasp pose.

9 postgrasp_motion_dynamic_cartesian_limits optional intrinsic_proto.motion_planning.v1.DynamicCartesianLimits

The DynamicCartesianLimits applied to the motion segment from the grasp pose to the postgrasp pose.

10 collision_excluded_eoat optional string

DEPRECATED: Use collision_excluded_eoat_parts instead. If specified, ignore collisions between the given EOAT (end-of-arm tool) and the target object at grasp pose. This isn't part of the path constraints because the target object is often unknown at construction time.

11 collision_excluded_eoat_parts repeated intrinsic_proto.world.ObjectReference

If specified, ignore collisions between the given EOAT (end-of-arm tool) parts and the target object at grasp pose. This isn't part of the path constraints because the target object is often unknown at construction time.

message GraspExecutionPlanningResult intrinsic/manipulation/grasping/grasp.proto

Field Type Description
1 grasp_id string

The ID of the grasp that we were asked to plan for.

4 planning_time_in_seconds double

The total time took to plan this grasp execution.

5 debug_message optional string

Message to give more details to this grasp execution planning.

oneof planning_result
2 grasp_execution_plan intrinsic_proto.grasping.GraspExecutionPlan

The actual plan if planning is successful.

3 failure_reason intrinsic_proto.grasping.GraspExecutionPlanningResult.FailureReason

Cause of planning failure.

message GraspHistory (Nested in intrinsic_proto.grasping.Grasp ) intrinsic/manipulation/grasping/grasp.proto

Field Type Description
1 name string
2 result intrinsic_proto.grasping.HeuristicResult

message GraspPlan intrinsic/manipulation/grasping/grasp.proto

Direct mapping to the GraspPlan type.

Field Type Description
1 filtered_grasps repeated intrinsic_proto.grasping.Grasp
2 grasps repeated intrinsic_proto.grasping.Grasp
3 unexamined_grasps repeated intrinsic_proto.grasping.Grasp
4 debug_info optional intrinsic_proto.grasping.GraspPlan.DebugInfo

Optional debug information.

message GraspPlannerParams intrinsic/manipulation/grasping/grasp_planner_params.proto

Field Type Description
oneof params
1 base_grasp_planner_params intrinsic_proto.grasping.BaseGraspPlannerParams
2 mock_grasp_planner_params intrinsic_proto.grasping.MockGraspPlannerParams

message GraspRankersParams intrinsic/manipulation/grasping/grasp_ranker_params.proto

Field Type Description
2 height_ranker_params optional intrinsic_proto.grasping.HeightRankerParams

Parameters for height based ranker.

3 ik_collision_checker_params optional intrinsic_proto.grasping.IkCollisionCheckerParams

Parameters for IK-collision checker. IK and collision parameters specified here are also used for the StraightLineChecker if the latter is enabled.

4 visibility_ranker_params optional intrinsic_proto.grasping.VisibilityRankerParams

Parameters for visibility based ranker.

5 top_down_grasp_ranker_params optional intrinsic_proto.grasping.TopDownGraspRankerParams

Parameters for TopDownGraspRanker.

6 straight_line_checker_params optional intrinsic_proto.grasping.StraightLineCheckerParams

Parameters for StraightLineChecker. This uses the same IK and collision settings specified in ik_collision_checker_params; if the latter is unspecified, then the default settings are used (checks collisions at pregrasp pose, allows collisions at grasp pose, and requires same branch IK).

7 ranker_weights map<string, float>

Weights for the rankers. Weight values have to be non-negative. If the map is empty and a visibility ranker is used, then the visibility ranker's weight is set to 10, and others set to 1; if the map is empty and no visibility rankers are used, then all weights are 1.

8 diversity_ranker_params optional intrinsic_proto.grasping.DiversityRankerParams

Parameters for diversity grasp ranker.

9 placement_constraint_checker_params optional intrinsic_proto.grasping.PlacementConstraintCheckerParams

Parameters for placement constraint checker.

message GraspTarget intrinsic/manipulation/grasping/grasp.proto

The object to grasp and grasp constraints

Field Type Description
3 grasp_constraint optional intrinsic_proto.grasping.GraspTarget.GraspConstraint
oneof target_type
1 object_category string
2 object_reference intrinsic_proto.world.ObjectReference
4 pose_estimates intrinsic_proto.grasping.PoseEstimatesTarget

message HeightRankerParams intrinsic/manipulation/grasping/grasp_ranker_params.proto

Field Type Description
1 min_grasp_height float

Minimum expected height (in meters) of an object when grasping, expressed in root frame.

2 max_grasp_height float

Maximum expected height (in meters) of an object when grasping, expressed in root frame.

3 name optional string

Name of the ranker. Default to height_grasp_ranker.

message HeuristicResult intrinsic/manipulation/grasping/grasp.proto

Field Type Description
1 score double

Score range between 0.0 and 1.0.

2 description optional string
3 pregrasp_ik_solution optional intrinsic_proto.icon.JointVec

An IK solution for the pregrasp pose. Only populated if straightline checker is enabled and if an IK solution is available. Unspecified otherwise.

4 grasp_ik_solution optional intrinsic_proto.icon.JointVec

An IK solution for the grasp pose. Only populated if straightline checker is enabled and if an IK solution is available. Unspecified otherwise.

message IkCollisionCheckerParams intrinsic/manipulation/grasping/grasp_ranker_params.proto

Field Type Description
1 joint_limits optional intrinsic_proto.JointLimitsUpdate

Joint limits used in grasp/pregrasp pose IK checks.

2 check_collision_at_grasp_pose optional bool

Whether to check collisions at grasp pose. On top of this, if collision_excluded_eoat_parts is specified, then collisions are ignored between the eoat parts and the target object at grasp pose.

3 require_same_branch_ik optional bool

Whether to require grasp pose to have same kinematic branch as starting robot joint positions.

4 max_num_solutions optional int32

Passed to MotionPlannerClient.compute_ik. This has to be 1 if require_same_branch_ik is set to True.

6 name optional string

Name of the ranker. Default to ik_collision_checker.

8 collision_excluded_eoat_parts repeated intrinsic_proto.world.ObjectReference

Reference(s) to EOAT (end-of-arm tool) parts to allow collision with the target object at grasp pose. Has no effect if unspecified.

9 pinch_gripper_params optional intrinsic_proto.grasping.PinchGripperParams

Parameters for pinch gripper used for collision checks. If specified, pinch gripper collisions will be checked at grasp pose. Do not set this field if the gripper is not a pinch gripper type.

message InsertionConstraint intrinsic/manipulation/grasping/grasp_placement_constraint.proto

The insertion constraint to be satisfied at grasp planning.

Field Type Description
1 moving_frame intrinsic_proto.world.TransformNodeReference

Moving frame that will be aligned with the target frame(s) at placement. This typically is a tool or tip frame.

2 target_frames repeated intrinsic_proto.world.TransformNodeReference

The representative frames during insertion to check for reachability. This can be a set of insertion waypoints that define the "boundary" of the insertion motion(s) that should be checked. If insertion is a linear motion, the start and end frames can be used. If insertion consists of one or more force skills: for moving to contact, use the start and end frames; for skills involving pattern search, include representative boundary points of the pattern and optionally the start point, e.g. the -X, X, -Y, Y, O points as illustrated below on the boundary of the following pattern bounding box. Y


  • ^ *
  • | * -X * O|------>* X
  • *
  • *

      -Y

Optionally specify other representative points within the motion range, but keep in mind that any new point will consume additional planning time.

3 collision_settings optional intrinsic_proto.world.CollisionSettings

Local collision settings when checking force constraints. If not defined, it will use the global collision settings if defined or the default collision settings with zero margin if none are set.

message ManualGraspAnnotation intrinsic/manipulation/grasping/grasp_annotations.proto

Field Type Description
1 obj_t_ref optional intrinsic_proto.Pose

The reference frame pose in the object frame. E.g., this can be the object center frame. If unspecified, use the object frame as the reference frame.

2 ref_t_annotation intrinsic_proto.Pose

The annotation pose in the object frame.

3 num_rotations optional int32

Number of rotations to add at this annotation around its z-axis, evenly spread in 360 degrees. E.g., if num_rotations=6, then the poses are 60 degree rotations around z-axis of the annotation pose. Defaults to 1.

4 score optional float

Score of this grasp annotation that reflects the preference of picking locations. E.g., a surface center pose might have a higher score than a pose near an edge, since center grasps are more stable. Default value: 1.0.

message ManualGraspAnnotations intrinsic/manipulation/grasping/grasp_annotations.proto

Field Type Description
1 annotations repeated intrinsic_proto.grasping.ManualGraspAnnotation

message MeshBytesData (Nested in intrinsic_proto.grasping.MeshData ) intrinsic/manipulation/grasping/grasp_annotator.proto

Field Type Description
1 mesh_bytes bytes

The mesh data as bytes.

2 file_type string

The file type of the mesh bytes, e.g.: "glb", "obj", "stl".

message MeshData intrinsic/manipulation/grasping/grasp_annotator.proto

Field Type Description
oneof mesh_data
1 triangle_mesh intrinsic_proto.geometry.TriangleMesh

The triangle mesh with of the part with both faces and vertices specified within. The expectation is three dimensional vertices and triangles for the faces. Specified in row major order.

2 mesh_path string

The path to a mesh.

3 mesh_bytes intrinsic_proto.grasping.MeshData.MeshBytesData

The mesh bytes with the file type.

4 triangle_mesh_v1 intrinsic_proto.geometry.v1.TriangleMesh

The triangle mesh with of the part with both faces and vertices specified within. The expectation is three dimensional vertices and triangles for the faces. Specified in row major order.

message MetricWeights intrinsic/manipulation/grasping/grasp_annotator.proto

The weights of the metrics to use for scoring annotation. Weights should be non-negative, and are used to compute the weighted geometric mean of the respective metrics. Only specified metrics are used for scoring annotation.

Field Type Description
1 distance_to_center_of_mass_weight optional float

The weight of the distance to center of mass metric. When unspecified, the metric is not used for scoring annotation.

2 distance_to_bounding_box_corner_weight optional float

The weight of the distance to bounding box corner metric. When unspecified, the metric is not used for scoring annotation.

message MockGraspPlannerParams intrinsic/manipulation/grasping/grasp_planner_params.proto

Parameters to construct a MockGraspPlanner

Field Type Description
1 plan_to_return optional intrinsic_proto.grasping.GraspPlan

message ObjectPose intrinsic/manipulation/grasping/grasp.proto

Field Type Description
1 reference intrinsic_proto.world.TransformNodeReference
2 pose intrinsic_proto.Pose

message ParameterizedCentricGripperSpecs intrinsic/manipulation/grasping/grasp_annotator.proto

Field Type Description
1 opening_radius_in_meters float

The maximum opening radius of the gripper in meters.

2 closing_radius_in_meters float

The minimum closing radius of the gripper in meters, must be less than the opening radius.

3 finger_length_in_meters float

The length of the gripper fingers in meters.

4 finger_thickness_in_meters optional float

The thickness of fingers in meters, defaults to 0.01 meters.

5 num_rotations optional int32

The number of rotations to search for grasp annotations. The default value is 8.

6 min_search_increment_in_meters optional float

Minimum increment in meter to search for along the axis of the cylinder. The default value is 0.005, must be greater than 0.001.

7 gripper_origin_t_tool_frame optional intrinsic_proto.Pose

The transform to apply to the centric gripper relative to its origin. By default, the gripper z-axis points towards the object.

message ParameterizedGripperSpecs intrinsic/manipulation/grasping/grasp_annotator.proto

Field Type Description
oneof gripper_specs
1 suction_gripper_specs intrinsic_proto.grasping.ParameterizedSuctionGripperSpecs

The specifications for a parameterized suction type gripper.

2 pinch_gripper_specs intrinsic_proto.grasping.ParameterizedPinchGripperSpecs

The specifications for a parameterized pinch type gripper.

3 centric_gripper_specs intrinsic_proto.grasping.ParameterizedCentricGripperSpecs

The specifications for a parameterized centric type gripper.

message ParameterizedPinchGripperSpecs intrinsic/manipulation/grasping/grasp_annotator.proto

Field Type Description
1 opening_in_meters float

The opening of the gripper in meters.

2 finger_width_in_meters float

The width of the finger in meters.

3 finger_length_in_meters float

The length of the finger in meters.

4 antipodal_threshold_in_radians optional float

The antipodal threshold in radians. If the two surface normals on the object is larger than the threshold, the pose is considered as antipodal. The default value is 3.0 radians.

5 gripper_origin_t_tool_frame optional intrinsic_proto.Pose

The transform to apply to the pinch gripper relative to its origin. By default, the gripper z-axis points towards the object, y-axis is algined to the gripper opening direction, and x-axis is aligned to the gripper finger width.

6 min_closing_distance_in_meters optional float

The minimum closing distance of the gripper in meters. Should be a non-negative value less than the opening of the gripper. By default, the value is assumed to be 0.0, i.e., the gripper closes completely.

7 collision_mesh optional intrinsic_proto.grasping.MeshData

The additional collision mesh of the gripper. The mesh is assumed to be relative to the tool frame.

message ParameterizedSuctionGripperSpecs intrinsic/manipulation/grasping/grasp_annotator.proto

Field Type Description
1 radius_in_meters float

The radius of the suction cup in meters.

2 surface_roughness_threshold_in_meters optional float

The surface roughness threshold of the suction cup in meters. This is a measure of the "flatness" of the contact surface. Defaults to a lower bounded value of 0.003 meters, enter a larger value for more aggressive filtering.

3 suction_cup_coordinates repeated intrinsic_proto.Vector2

The 2D coordinates of the suction cup locations in meters in the x-y plane of the tool frame where z = 0.

4 rotation_increment_in_radians optional float

The rotation increment to search for grasp annotations in radians. The default value is pi/4 radians.

5 max_rotation_in_radians optional float

The maximum rotation to stop searching for grasp annotations in radians. The default value is pi radians.

6 gripper_origin_t_tool_frame optional intrinsic_proto.Pose

The transform to apply to the suction gripper relative to its origin. By default, the gripper z-axis points towards the object.

message PinchGripperParams intrinsic/manipulation/grasping/grasp_ranker_params.proto

Field Type Description
1 eoat_reference intrinsic_proto.world.ObjectReference

Reference to the pinch gripper object.

2 open_position repeated double

Joint positions for fully opening the gripper fingers.

3 close_position repeated double

Joint positions for fully closing the gripper fingers.

message PlacementConstraintCheckerParams intrinsic/manipulation/grasping/grasp_ranker_params.proto

Field Type Description
1 placement_constraints intrinsic_proto.grasping.PlacementConstraints

Placement constraints to consider during grasp planning.

2 name optional string

Name of the ranker. Default to placement_constraint_checker.

message PlacementConstraints intrinsic/manipulation/grasping/grasp_placement_constraint.proto

Placement constraints to consider during grasp planning. Any specified constraints will be satisfied.

Field Type Description
1 placement_pose_constraint optional intrinsic_proto.grasping.PlacementPoseConstraint

The placement pose constraint to be satisfied during grasp planning.

2 insertion_constraint optional intrinsic_proto.grasping.InsertionConstraint

The insertion constraint to be satisfied during grasp planning. This checks the reachability of specified waypoints during insertion. For example, if the insertion is a linear motion, the two waypoints before and after the motion can be checked here; or if it's one or more force skills, some representative waypoints can be checked here.

message PlacementPoseConstraint intrinsic/manipulation/grasping/grasp_placement_constraint.proto

The placement constraint of the exact placement pose to be satisfied during grasp planning.

Field Type Description
1 moving_frame intrinsic_proto.world.TransformNodeReference

Moving frame that will be aligned with the target frame at placement. This typically is the object reference frame, but can also be a tool or tip frame.

2 target_frame intrinsic_proto.world.TransformNodeReference

Target frame to align the moving frame with at placement. This should be the target frame before any force skills (if any) at placement, i.e. the beginning frame of any force skills at the end of placement.

3 target_frame_margins optional intrinsic_proto.Point

The margins allowed in the [x, y, z] directions around the target frame. Must be non-negative. Set it to 0 for directions where no margin is needed. Currently only support margin in one of the [X, Y, Z] directions. Only specify this when specifying just the exact target frame does not fulfill the purpose, as it increases planning time.

4 disable_requiring_same_branch_ik optional bool

Whether to require the IK of placement pose to have the same kinematic branch. Default to false.

message PlateConfig (Nested in intrinsic_proto.grasping.SchmalzMultiAxisGraspAnnotation ) intrinsic/manipulation/grasping/schmalz_multi_axis_grasp.proto

Field Type Description
1 from_geometry_origin_to_plate_frame intrinsic_proto.Pose

The plate pose in the geometry origin frame.

2 suction_cups_to_activate repeated uint32

Indices of the suction cups to activate.

message PoseBasedGrasp intrinsic/manipulation/grasping/grasp.proto

Field Type Description
1 grasp_id string
2 grasp_frame intrinsic_proto.world.TransformNodeReference

For convenience, this frame is a child frame of the object.

3 pre_grasp_frame intrinsic_proto.world.TransformNodeReference

For convenience, this frame is a child frame of the object.

4 object intrinsic_proto.world.ObjectReference

The target object to pick

5 object_frame intrinsic_proto.world.TransformNodeReference

Object reference frame Will remove after b/296861796 is fixed.

6 pregrasp_ik_solution intrinsic_proto.icon.JointVec

An IK solution for the pregrasp pose. Only populated if straightline checker is enabled.

7 grasp_ik_solution intrinsic_proto.icon.JointVec

An IK solution for the grasp pose. Only populated if straightline checker is enabled.

8 possible_placement_pose intrinsic_proto.motion_planning.v1.PoseEquality

The placement pose only if PlacementPoseConstraint is specified and met. The moving_frame and target_frame here are set to the same values as set in PlacementPoseConstraint. This provides a feasible placement pose for the grasp for the user when PlacementPoseConstraint.target_frame_margins is specified, when the user is expecting the placement to take place within the margins but not sure where exactly would guarantee the placement success. Populated the same as PlacementPoseConstraint.target_frame when no PlacementPoseConstraint.target_frame_margins is specified. This only guarantees its IK but not the trajectories towards it.

message PoseBasedGraspInfo intrinsic/manipulation/grasping/grasp.proto

Predefined grasp related information.

Field Type Description
1 obj_t_grasp intrinsic_proto.Pose

Grasp pose in the object frame.

2 score double

The estimated probability of success for this grasp assuming object pose is accurate, in the range [0, 1].

3 grasp_label_in_set string

The label of this grasp in the given grasp set.

message PoseEstimatesTarget intrinsic/manipulation/grasping/grasp.proto

Field Type Description
1 estimates repeated intrinsic_proto.perception.v1.PoseEstimateInRoot

Pose estimates for objects in the scene.

3 object_category intrinsic_proto.assets.Id

The id of the Scene Object asset for which the pose estimates belong to. The asset must be installed in the solution.

message Poses (Nested in intrinsic_proto.grasping.GraspTarget ) intrinsic/manipulation/grasping/grasp.proto

Define a list of poses to use it in oneof.

Field Type Description
1 poses repeated intrinsic_proto.Pose

message RepeatedFingerGrasps intrinsic/manipulation/grasping/grasp.proto

Field Type Description
1 finger_grasps repeated intrinsic_proto.grasping.FingerGrasp

message RepeatedGrasps intrinsic/manipulation/grasping/grasp.proto

Field Type Description
1 grasps repeated intrinsic_proto.grasping.Grasp

message RepeatedPoseBasedGrasps intrinsic/manipulation/grasping/grasp.proto

Field Type Description
1 pose_based_grasps repeated intrinsic_proto.grasping.PoseBasedGrasp

message SamplingOptions intrinsic/manipulation/grasping/grasp_annotator.proto

Field Type Description
1 centered_samples optional bool

Add additional samples (on top of num_samples) along the center lines of each face. Number of additonal samples are computed based on object dimensions and spacing. Defaults to true.

2 min_sample_distance_in_meters optional float

Minimum distance between samples in meters, defaults to 0.005m.

message SchmalzMultiAxisGraspAnnotation intrinsic/manipulation/grasping/schmalz_multi_axis_grasp.proto

Catesian-pose based grasp annotation for Schmalz multi-axis grippers that specifies the plate poses and suction cups to activate. This gripper has 6 linear axis motors driving 4 plates, where each plate has 36 cups (total of 144). And each cups can be manually actuated. See https://docs.google.com/document/d/1caMlP20Ia8-a2r-beM5nnug-1SJEOSPyoctiyNvT2vg for more details.

Field Type Description
1 plate_configs repeated intrinsic_proto.grasping.SchmalzMultiAxisGraspAnnotation.PlateConfig

List of plate configs for the four gripper plates, in the ordering of numbers in schmalz_multi_axis_gripper.sdf (e.g., the plate with tool_frame_0 corresponds to the first config).

2 score optional double

Score of this grasp annotation that reflects the preference among different grasps. This is because certain grasps are more likely to succeed than others. Default value: 1.0.

message SchmalzMultiAxisGraspCommand intrinsic/manipulation/grasping/schmalz_multi_axis_grasp.proto

Grasp command for a Schmalz multi-axis gripper. Includes information for target joint positions, the suction cups to activate, as well as the target suction feedback for determining grasp success. This is different from the SchmalzMultiAxisGraspAnnotation proto in that this uses joint values instead of Cartesian poses.

Field Type Description
1 geometry_id string

The product part name of the geometry. Call it geometry_id to be consistent with the Metal Morph project.

2 gripper_id string

Name of the gripper object in the world. Call it gripper_id to be consistent with the Metal Morph project.

3 from_geometry_origin_to_gripper_tcp intrinsic_proto.Pose

The pose of the gripper TCP in the geometry's (i.e., the object's) origin frame.

4 joint_values repeated double

Target positions of the 6 linear joints.

5 suction_cups_to_activate repeated uint32

Indices of the suction cups to activate. Value has to be in the range of [0, 143].

6 grasp_success_threshold optional float

Grasp success threshold (e.g., percentage of suction cups that feels suction among those to activate). Default value: 1.0.

message StoredGraspAnnotations intrinsic/manipulation/grasping/grasp_annotations.proto

Field Type Description
1 asset_id optional string

The asset id of the object to which these annotations apply. Can be left out in situations where the asset_id can be inferred. Specifically, if the plan_targets for PlanGrasp either use the pose estimates or the grasp zone, then the asset_id will be inferred from those. Once b/462510961 is fixed, this field will be deprecated.

2 annotations_id optional string

The annotations_id of the stored annotations. Defaults to "default".

message StraightLineCheckerParams intrinsic/manipulation/grasping/grasp_ranker_params.proto

Field Type Description
3 name optional string

Name of the ranker. Default to straight_line_checker.

4 traj_planning_timeout_sec optional int32

Time limit to compute trajectory. Default to 10 seconds.

5 check_full_trajectory optional bool

If true, check the full trajectory from the robot's current joint position to pregrasp pose and then to grasp pose. Otherwise, only check the straightline segment from pregrasp pose to grasp pose.

message TopDownAdapterParams intrinsic/manipulation/grasping/grasp_adapter_params.proto

Field Type Description
1 target_angle_in_radians optional float
2 max_tilt_angle_in_radians optional float
3 append_to_grasp_id optional string
4 replace_adapted_grasps optional bool

message TopDownGraspRankerParams intrinsic/manipulation/grasping/grasp_ranker_params.proto

Field Type Description
1 top_down_score_threshold float

Used to filter out grasps based on how "top down" their approaching directions are. Grasps whose normalized top-down value is less than this will have a score of 0. E.g., When this is 0.5, all horizontal and bottom-up pointed grasps are scored 0; if 0.75, then all grasps lower than 45 degrees top-down are scored 0. See TopDownGraspRanker for details.

2 name optional string

Name of the ranker. Default to top_down_grasp_ranker.

message VisibilityRankerParams intrinsic/manipulation/grasping/grasp_ranker_params.proto

Field Type Description
2 visibility_threshold float

Minimum detection visibility in range [0,1] for a grasp to be considered valid.

3 name optional string

Name of the ranker. Default to visibility_grasp_ranker.

Enums

enum FailureReason intrinsic/manipulation/grasping/grasp.proto

Name Number Description
UNSET 0
PREGRASP_MOTION_PLAN_FAILED 1
GRASP_MOTION_PLAN_FAILED 2
POSTGRASP_MOTION_PLAN_FAILED 3
START_POSITION_IN_COLLISION 4