Skip to main content

modify_pose

Skill class for ai.intrinsic.modify_pose skill.

The modify_pose is a skill that transforms a list of input poses. It can be used to post-process or filter results from pose estimators before updating the belief world. The skill allows to:

  • Remove poses which are outside a bounding box.
  • Remove poses which don't point in the correct direction (for example: z axis up).
  • Project poses into a plane.
  • Align poses so that an axis always points to a fixed direction.
  • Disambiguate a symmetric object by selecting a canonical pose.
  • Order poses (for example order by y direction).

Prerequisites

Requires input poses from estimate_pose or other skills that produce a list of poses.

Usage Example

A typical use case is to post process results from the estimate_pose skill. For example we want to remove all poses outside a bounding box and project the remaining poses onto a plane:

Request product in behavior tree

  • The estimate_pose skill returns a list of poses in root_ts_target.

  • The modify_pose skill consumes the list via poses=estimate_pose.root_ts_target and applies the following operations:

    • Remove all poses outside a specified bounding box:

pose_filters=[PoseFilter(bounding_box_filter=BoundingBoxFilter(...))]

  • Project all poses onto xy-plane going through the origin

modifies=[PoseModifier(plane_project_modifier=PlaneProjectModifier(PlaneNormal(z=1)))]

  • The sync_product_objects consumes the list of filtered and modified poses via the return value of the modify_pose skill: root_ts_target=modify_pose.poses

Parameters

poses

Poses to be modified.

pose_filters

Filters which a pose must pass in order to be returned. Note that these filters are applied before the modifiers.

post_modification_pose_filters

These filters are applied after the modifiers.

modifiers

Modifiers to be applied to the input pose applied in the provided order.

remove_when_objects_are_nearby

Removes poses of objects which are hard to grasp and ranks them according to the free-space surounding the objects (this is only a proxy for graspability).

order_poses

Order output poses.

Returns

poses

Resulting poses after all modifiers have been applied.

Error Code

The skill does not have error codes yet