concepts.dm.crowhat.manipulation_utils.pivot_sampler.calc_object_rotation_pose_trajectory#

calc_object_rotation_pose_trajectory(planning_world, object_id, support_id, rotation, nr_steps=100, min_distance_from_support=0.0)[source]#

Generate an object pose trajectory that rotates the object along the given axis by the given angle. This function asserts that the object is currently resting on a support surface with the given support_id. During its rotation, the object will not penetrate the support surface.

The rotation center and the axis specifies a ray in the 3D space, and the object will rotate around this ray. It can be generated, by, for example, fitting the principle axes of the object point cloud and using the center and one of the principle axes as the rotation center and axis.

Parameters:
  • planning_world (PlanningWorldInterface) – the PlanningWorldInterface instance.

  • object_id (int) – the ID of the object to rotate.

  • support_id (int) – the ID of the support surface.

  • rotation (RotationAlongAxis) – the rotation information.

  • nr_steps (int) – the number of steps in the trajectory.

  • min_distance_from_support (float)

Return type:

list