grasp_object
Skill class for ai.intrinsic.grasp_object skill.
A skill that plans and executes grasps of objects. This supports suction gripper, non-adaptive pinch gripper and adaptive pinch gripper.
There are two workflows, one uses pose estimates (e.g., outputs of a estimate_pose skill) to plan grasps, and the other uses existing objects in the world (e.g., through passed-in PlanGraspParams.candidate_objects). The following preconditions and post-conditions depend on which workflow is taken.
The skill includes the following logic:
- Grasp planning: ** Based on the object poses (extracted from passed in object references; or passedin pose estimates; or from a boundingbox zone and a target object category), proposes grasp and pregrasp poses. ** (Optionally) adapts grasps to increase their chance of success. ** Ranks grasps based on heuristics such as inverse kinematics feasibility, collision freeness, grasp approaching direction. ** Selects the best grasp candidates.
- Grasp executions
** Plans and executes grasp motions. (The motion may be preplanned by the grasp planner service.)
** Opens and closes the gripper.
** Attaches the grasped object to the gripper in the belief world.
** Repeats the execution steps 1*3 for each proposed grasp, until one successfully picks up an object, which is verified by the gripper's gripping indicated signal (sometimes called
part present).
Prerequisites
This skill does not have any prerequisite.
Usage Example
This skill does not have any usage example yet.
Parameters
plan_grasp_params
Grasp planning parameters.
execute_grasp_params
Grasp execution parameters.
fake_grasping
If True, don't turn on suction to pick up the object or check the gripper signal at the end of the grasp. The object will still be attached to the gripper in the world. Default to False.
gripper_type
Gripper type.
Capabilities
gripper
Resource with capability intrinsic_proto.gripper.GenericGripper
robot
Resource having all of the following capabilities:
-
Icon2Connection
-
Icon2PositionPart
Returns
attempted_grasps
Attempted grasps, including both failed and succeeded ones.
grasped_object
Object that has been grasped and is attached to the gripper.
scene_uiid
The ID of the scene used to plan the grasps, if a scene was used.
Error Code
| Code | Title | Recovery Instructions |
|---|---|---|
| 30100 | Plan grasp failure | Please check the error message for recovery instructions. |
| 30200 | Execute grasp failure | Please check the error message for recovery instructions. |
| 30300 | Invalid skill parameterization | Please check input parameters, see https://flowstate.intrinsic.ai/docs/catalog/skills/how_to_guides/grasp_object/ for more details. |
| 30400 | Generic value error | Please check the error message for recovery instructions. |
| 30500 | Generic runtime error | Please check the error message for recovery instructions. |
| 30501 | Cannot create new world object | Please provide a valid ProductReader service. |
| 30502 | Not implemented | Please check the error message for recovery instructions. |