Mobile manipulation skillsΒΆ

This page lists system skills (ie, installed by default) related to 🦾 Manipulation. You can directly use these skills in your tasks and mission controller.

hand_graspΒΆ

Controls a robotic hand or gripper to either close (grasp) or open (release). This skill sends a goal to the specified end-effector (left, right, or default) with an optional precision setting for the closing position.

Once invoked, the robot will:
  1. Target the desired hand/gripper.

  2. Perform the requested action (close/open).

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

Typical uses include closing a gripper to get hold of an object, releasing an object, or partially closing the gripper to a specific position for delicate handling.

Input parametersΒΆ

  • hand 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 (the right in case of 2 arms).

    Any other value will be rejected and the default will be used.

  • action integer, default: 0

    The gripper action to perform:
    • 0: Close the gripper (grasp).

    • 1: Open the gripper (release).

    Values outside [0, 1] will be clamped to the closest integer.

  • closing_position float, default: 0.0

    Defines how far to close the gripper. Range: [0.0, 1.0] (0.0 = fully closed, 1.0 = fully open). Values outside the range will be replaced with the default (0.0).

    This allows partial grasps for delicate objects.

  • meta.priority integer, default: 128

    Between 0 and 255. Higher means this skill request will be prioritized.

Output fieldsΒΆ

  • result.error_msg string

    A string describing the execution outcome.

    Examples:
    • Grasp Executed!: Successful grasp/release.

    • Problems during execution.: Action failed.

  • feedback object

    Live updates while the action runs. Can contain:
    • data_str: Text feedback (e.g., which hand, action, position).

    • data_bool: True if action succeeded, False otherwise.

Quick snippetsΒΆ

Call the skill from the command-lineΒΆ
$ ros2 action send_goal /skill/hand_grasp manipulation_skills/action/HandGrasp # then press Tab to complete the message prototype

How to use in your codeΒΆ

See code samples for the corresponding /skill/hand_grasp: code samples