Adjust Pose Orientation

Functional Description

This operator is used to adjust the orientation of an input pose list to satisfy specific directional constraints. For example, adjusting a tool so its Z-axis points upwards or downwards, or aligning the tool’s X-axis to a specific direction.

Use Cases

  • Standardize Pick Poses: In robot picking applications, even if an object itself has multiple possible pick poses, it is often necessary to restrict the final tool orientation to a few or one standard direction to simplify robot motion planning or avoid collisions. For example, regardless of how the object is placed, the tool’s Z-axis (usually the axis approaching the object) is required to be vertically downwards.

  • Eliminate Rotational Ambiguity: Some pose estimation algorithms may produce ambiguity of 180-degree rotation around an axis. This operator can correct the pose based on prior knowledge (e.g., which face of the object should face upwards).

  • Align to Specific Direction: Need to align a certain axis of the tool to a specific direction vector in the scene (e.g., along the conveyor belt direction).

Inputs and Outputs

Input Items

Grab Positional Information: Input list of poses.

Output Items

Grab Positional Information: List of poses after orientation adjustment.

Parameter Descriptions

Adjustment strategy

Parameter Description

Selects the main orientation adjustment method to apply. Different strategies correspond to different subsequent parameters.

Tuning Description

  • Adjust specified axis positive/negative direction (default): Actively adjusts a certain axis of the pose (Main directional axis) to roughly point towards the positive or negative direction of the corresponding axis in the world coordinate system, and can further optimize the orientation of a second axis (Secondary directional axis) to better meet practical application needs.

  • Align specified axis to specified direction: Precisely aligns a certain axis of the pose (Specify direction axis) to an arbitrary direction vector provided by the user, and can constrain another axis (Fixed directional axis) to point towards a certain positive or negative direction as much as possible in the aligned pose.

Main directional axis

Parameter Description

"Select the main axis (X, Y, or Z) of the pose coordinate system whose orientation is to be adjusted. (Effective when 'Adjustment strategy' is 'Adjust specified axis positive/negative direction')"

Tuning Description

Usually select the axis corresponding to the key direction of the robot tool, for example, the tool’s approach direction (often the Z-axis).

Specified direction of the spindle

Parameter Description

Specify which direction of the corresponding world coordinate system axis the "Main directional axis" selected above should point to. (Effective when 'Adjustment strategy' is 'Adjust specified axis positive/negative direction')

Tuning Description

  • Positive direction (default): For example, if the main direction axis is Z, the pose’s Z-axis will be adjusted to align with the +Z direction of the world coordinate system.

  • Negative direction: For example, if the main direction axis is Z, the pose’s Z-axis will be adjusted to align with the -Z direction of the world coordinate system. The operator checks the angle between the current pose’s main axis direction and the target direction. If the angle is greater than or equal to 90 degrees, a 180-degree rotation adjustment will be performed.

Secondary directional axis

Parameter Description

After the main direction axis adjustment is complete, select a secondary axis (X, Y, or Z) of the pose coordinate system whose orientation needs further optimization. Ensure the selected secondary axis is different from the main direction axis. (Effective when 'Adjustment strategy' is 'Adjust specified axis positive/negative direction')

Tuning Description

Used to eliminate rotational freedom around the main direction axis. For example, if the main axis is Z, the X-axis can be selected as the secondary axis.

Secondary axis specified direction

Parameter Description

Specify the target direction of the corresponding world coordinate system axis that the "Secondary directional axis" selected above should try to align with after the main axis adjustment is complete. (Effective when 'Adjustment strategy' is 'Adjust specified axis positive/negative direction')

Tuning Description

  • Positive direction (default) / Negative direction: Similar to the main axis, the operator checks the angle between the current secondary axis direction and the target direction. If the angle is greater than 90 degrees, a 180-degree rotation around the main axis will be performed for adjustment.

  • Keep original direction: No additional adjustment is made to the secondary axis direction, maintaining its relative orientation after the main axis adjustment.

Specify direction axis

Parameter Description

Select which axis (X, Y, or Z) of the pose coordinate system needs to be precisely aligned to the target direction. (Effective when 'Adjustment strategy' is 'Align specified axis to specified direction')

Tuning Description

Select the tool axis that needs alignment, e.g., the tool’s Z-axis.

Selected axis specified direction

Parameter Description

Provide a 3D vector defining the target direction to which the "Specify direction axis" needs to align. (Effective when 'Adjustment strategy' is 'Align specified axis to specified direction')

Tuning Description

Input a vector representing the direction, e.g., [0, 0, 1] to align with the positive Z-axis of the world coordinate system, [1, 0, 0] to align with the positive X-axis. It can also be an arbitrary direction like [1, 1, 0] (the operator will normalize it internally).

Parameter Range

Default: [0, 0, 1]

Fixed directional axis

Parameter Description

After the "Specify direction axis" is aligned, select another axis (X, Y, or Z) of the pose coordinate system as a reference to eliminate rotation around the aligned axis. Note that it must be different from the specified direction axis. (Effective when 'Adjustment strategy' is 'Align specified axis to specified direction')

Tuning Description

Select an axis whose direction needs further constraint after alignment.

Fixed axis specified direction

Parameter Description

Specify which direction of the corresponding world coordinate system axis the "Fixed directional axis" selected above should try to point to after the main axis alignment. (Effective when 'Adjustment strategy' is 'Align specified axis to specified direction')

Tuning Description

  • Positive direction (default) / Negative direction: The operator checks the angle between the fixed axis and the corresponding world coordinate system axis (determined by which world axis the fixed axis points to, e.g., if the fixed axis is X, it compares with the world X-axis or the closest of Y/Z). If necessary (angle > 90 degrees), it rotates 180 degrees around the already aligned "Specify direction axis".

  • Do not specify direction: No additional constraint is applied to the fixed axis.

Enable node

Parameter Description

Controls whether this operator performs the orientation restriction operation.

Tuning Description

  • If the switch is on, the operator functions normally;

  • If the switch is off, the operator performs no operations and directly passes the input pose list to the output port.