Skill grasp

Commands the robot to grasp a specified object. This skill sends a goal to the robot’s manipulation system to execute a grasping action using a specified strategy.

Once invoked, the robot will:
  1. Identify the target object.

  2. Execute the grasping Behavior Tree strategy.

  3. Report back feedback and a result message indicating success or failure.

Typical uses include picking up objects from tables, bins, or other surfaces.

The skill assumes that the robot’s hand is empty. See Skill place for the placing action.

Input parameters

  • object_id string, required

    The identifier of the object to be grasped.

  • side string, default: ""

    Which hand or end-effector to use. Supported values:
    • left: Use the left hand.

    • right: Use the right hand.

    • default (empty string): Use the default hand.

  • strategy string, default: ""

    The strategy (optional, implementation-dependent) defines how the grasp implementation should perform the grasp. For instance, the strategy could refer to a specific behaviour-tree definition (if the skill implementation uses behaviour trees) or any other kind of ‘recipe’.

Output fields

  • result.error_msg string

    A string describing the execution outcome.

  • feedback object

    Live updates while the action runs. Can contain:

    • data_str: Text feedback (e.g., which hand, tree loaded, position, node

    status..).

Quick snippets

Call the skill from the command-line

$ ros2 action send_goal /skill/grasp manipulation_skills/action/Grasp # then press Tab to complete the message prototype

See also