Skill place

Commands the robot to place an object at a specified location. This skill sends a goal to the robot’s manipulation system to execute a placing action.

Once invoked, the robot will:
  1. Move to the target location.

  2. Release the object.

  3. Return to a safe position.

Typical uses include placing objects on tables, shelves, or designated drop-off points.

The skill assumes that the robot is already holding an object. See Skill grasp for the grasping action.

Input parameters

  • target geometry_msgs/msg/PoseStamped, required

    The target pose where the object should be placed. This includes position and orientation.

  • release_upon_completion boolean, default: True

    If true, the robot will release the object upon reaching the target pose. If false, the robot will move to the target pose without releasing the object.

  • 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.

  • constraint manipulation_skills/msg/Constraint

    The motion planning constraint to apply. Contains:

    • constraint_type (uint8): type of constraint

      • 0: FREE_PLAN (no constraint)

      • 1: ORIENTATION_CONSTRAINT (apply orientation constraint)

    • orientation_constraint (moveit_msgs/OrientationConstraint): the actual orientation constraint to use if constraint_type = ORIENTATION_CONSTRAINT.

Quick snippets

Call the skill from the command-line

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

See also