pycram.designators.action_designator#
Attributes#
Classes#
Move the torso of the robot up and down. |
|
Set the gripper state of the robot. |
|
Releases an Object from the robot. |
|
Grip an object with the robot. |
|
Park the arms of the robot. |
|
Let the robot reach a specific pose. |
|
Let the robot pick up an object. |
|
Places an Object at a position using an arm. |
|
Navigates the Robot to a position. |
|
Transports an object to a position using an arm |
|
Lets the robot look at a position. |
|
Detects an object that fits the object description and returns an object designator_description describing the object. |
|
Opens a container like object |
|
Closes a container like object. |
|
Grasps an object described by the given Object Designator description |
|
Turn the robot chassis such that is faces the |
|
Navigate to standing_position, then turn towards the object and pick it up. |
|
Navigate to standing_position, then turn towards the object and pick it up. |
|
Searches for a target object around the given location. |
Functions#
|
Record the object before the action is performed. |
|
Validates if the container is opened or closed by checking the joint position of the container. |
|
|
|
Module Contents#
- pycram.designators.action_designator.record_object_pre_perform(action)#
Record the object before the action is performed.
This should be appended to the pre performs of every action that interacts with an object.
- class pycram.designators.action_designator.MoveTorsoAction#
Bases:
pycram.designator.ActionDescriptionMove the torso of the robot up and down.
- torso_state: pycram.datastructures.enums.TorsoState#
The state of the torso that should be set
- plan() None#
Plan of the action. To be overridden by subclasses.
- Returns:
The result of the action, if there is any
- validate(result: typing_extensions.Optional[typing_extensions.Any] = None, max_wait_time: datetime.timedelta = timedelta(seconds=2))#
Create a goal validator for the joint positions and wait until the goal is achieved or the timeout is reached.
- classmethod description(torso_state: typing_extensions.Union[typing_extensions.Iterable[pycram.datastructures.enums.TorsoState], pycram.datastructures.enums.TorsoState]) pycram.datastructures.partial_designator.PartialDesignator[typing_extensions.Type[MoveTorsoAction]]#
- class pycram.designators.action_designator.SetGripperAction#
Bases:
pycram.designator.ActionDescriptionSet the gripper state of the robot.
- gripper: pycram.datastructures.enums.Arms#
The gripper that should be set
- motion: pycram.datastructures.enums.GripperState#
The motion that should be set on the gripper
- plan() None#
Plan of the action. To be overridden by subclasses.
- Returns:
The result of the action, if there is any
- validate(result: typing_extensions.Optional[typing_extensions.Any] = None, max_wait_time: datetime.timedelta = timedelta(seconds=2))#
Needs gripper state to be read or perceived.
- classmethod description(gripper: typing_extensions.Union[typing_extensions.Iterable[pycram.datastructures.enums.Arms], pycram.datastructures.enums.Arms], motion: typing_extensions.Union[typing_extensions.Iterable[pycram.datastructures.enums.GripperState], pycram.datastructures.enums.GripperState] = None) pycram.datastructures.partial_designator.PartialDesignator[typing_extensions.Type[SetGripperAction]]#
- class pycram.designators.action_designator.ReleaseAction#
Bases:
pycram.designator.ActionDescriptionReleases an Object from the robot.
Note: This action can not ve used yet.
- object_designator: pycram.world_concepts.world_object.Object#
The object that should be released
- object_at_execution: typing_extensions.Optional[pycram.datastructures.dataclasses.FrozenObject] = None#
The object at the time this Action got created. It is used to be a static, information holding entity
- gripper: pycram.datastructures.enums.Arms#
The gripper that should be used to release the object
- _pre_perform_callbacks = []#
List to save the callbacks which should be called before performing the action.
- __post_init__()#
- abstract plan() None#
Plan of the action. To be overridden by subclasses.
- Returns:
The result of the action, if there is any
- classmethod description(object_designator: pycram.designator.ObjectDesignatorDescription, gripper: typing_extensions.Optional[typing_extensions.Union[typing_extensions.Iterable[pycram.datastructures.enums.Arms], pycram.datastructures.enums.Arms]] = None) pycram.datastructures.partial_designator.PartialDesignator[typing_extensions.Type[ReleaseAction]]#
- class pycram.designators.action_designator.GripAction#
Bases:
pycram.designator.ActionDescriptionGrip an object with the robot.
Note: This action can not be used yet.
- object_designator: pycram.world_concepts.world_object.Object#
The object that should be gripped
- object_at_execution: typing_extensions.Optional[pycram.datastructures.dataclasses.FrozenObject] = None#
The object at the time this Action got created. It is used to be a static, information holding entity
- gripper: pycram.datastructures.enums.Arms#
The gripper that should be used to grip the object
- effort: float = None#
The effort that should be used to grip the object
- _pre_perform_callbacks = []#
List to save the callbacks which should be called before performing the action.
- __post_init__()#
- abstract plan() None#
Plan of the action. To be overridden by subclasses.
- Returns:
The result of the action, if there is any
- classmethod description(object_designator: typing_extensions.Union[typing_extensions.Iterable[pycram.world_concepts.world_object.Object], pycram.world_concepts.world_object.Object], gripper: typing_extensions.Union[typing_extensions.Iterable[pycram.datastructures.enums.Arms], pycram.datastructures.enums.Arms] = None, effort: typing_extensions.Union[typing_extensions.Iterable[float], float] = None) pycram.datastructures.partial_designator.PartialDesignator[typing_extensions.Type[GripAction]]#
- class pycram.designators.action_designator.ParkArmsAction#
Bases:
pycram.designator.ActionDescriptionPark the arms of the robot.
- arm: pycram.datastructures.enums.Arms#
Entry from the enum for which arm should be parked
- plan() None#
Plan of the action. To be overridden by subclasses.
- Returns:
The result of the action, if there is any
- get_joint_poses() typing_extensions.Dict[str, float]#
- Returns:
The joint positions that should be set for the arm to be in the park position.
- validate(result: typing_extensions.Optional[typing_extensions.Any] = None, max_wait_time: datetime.timedelta = timedelta(seconds=2))#
Create a goal validator for the joint positions and wait until the goal is achieved or the timeout is reached.
- classmethod description(arm: typing_extensions.Union[typing_extensions.Iterable[pycram.datastructures.enums.Arms], pycram.datastructures.enums.Arms]) pycram.datastructures.partial_designator.PartialDesignator[typing_extensions.Type[ParkArmsAction]]#
- pycram.designators.action_designator.SPECIAL_KNOWLEDGE#
- class pycram.designators.action_designator.ReachToPickUpAction#
Bases:
pycram.designator.ActionDescriptionLet the robot reach a specific pose.
- object_designator: pycram.world_concepts.world_object.Object#
Object designator_description describing the object that should be picked up
- arm: pycram.datastructures.enums.Arms#
The arm that should be used for pick up
- grasp_description: pycram.datastructures.grasp.GraspDescription#
The grasp description that should be used for picking up the object
- object_at_execution: typing_extensions.Optional[pycram.datastructures.dataclasses.FrozenObject] = None#
The object at the time this Action got created. It is used to be a static, information holding entity. It is not updated when the world object is changed.
- _pre_perform_callbacks = []#
List to save the callbacks which should be called before performing the action.
- __post_init__()#
- plan() None#
Plan of the action. To be overridden by subclasses.
- Returns:
The result of the action, if there is any
- move_gripper_to_pose(pose: pycram.datastructures.pose.PoseStamped, movement_type: pycram.datastructures.enums.MovementType = MovementType.CARTESIAN, add_vis_axis: bool = True)#
Move the gripper to a specific pose.
- Parameters:
pose – The pose to go to.
movement_type – The type of movement that should be performed.
add_vis_axis – If a visual axis should be added to the world.
- property local_transformer: pycram.local_transformer.LocalTransformer#
- property arm_chain: pycram.robot_description.KinematicChainDescription#
- property end_effector: pycram.robot_description.EndEffectorDescription#
- validate(result: typing_extensions.Optional[typing_extensions.Any] = None, max_wait_time: typing_extensions.Optional[datetime.timedelta] = None)#
Check if object is contained in the gripper such that it can be grasped and picked up.
- classmethod description(object_designator: typing_extensions.Union[typing_extensions.Iterable[pycram.world_concepts.world_object.Object], pycram.world_concepts.world_object.Object], arm: typing_extensions.Union[typing_extensions.Iterable[pycram.datastructures.enums.Arms], pycram.datastructures.enums.Arms] = None, grasp: typing_extensions.Union[typing_extensions.Iterable[pycram.datastructures.enums.Grasp], pycram.datastructures.enums.Grasp] = None) pycram.datastructures.partial_designator.PartialDesignator[typing_extensions.Type[ReachToPickUpAction]]#
- class pycram.designators.action_designator.PickUpAction#
Bases:
pycram.designator.ActionDescriptionLet the robot pick up an object.
- object_designator: pycram.world_concepts.world_object.Object#
Object designator_description describing the object that should be picked up
- arm: pycram.datastructures.enums.Arms#
The arm that should be used for pick up
- grasp_description: pycram.datastructures.grasp.GraspDescription#
The GraspDescription that should be used for picking up the object
- object_at_execution: typing_extensions.Optional[pycram.datastructures.dataclasses.FrozenObject] = None#
The object at the time this Action got created. It is used to be a static, information holding entity. It is not updated when the BulletWorld object is changed.
- _pre_perform_callbacks = []#
List to save the callbacks which should be called before performing the action.
- __post_init__()#
- plan() None#
Plan of the action. To be overridden by subclasses.
- Returns:
The result of the action, if there is any
- lift_object(distance: float = 0.1)#
- gripper_pose() pycram.datastructures.pose.PoseStamped#
Get the pose of the gripper.
- Returns:
The pose of the gripper.
- validate(result: typing_extensions.Optional[typing_extensions.Any] = None, max_wait_time: typing_extensions.Optional[datetime.timedelta] = None)#
Check if picked up object is in contact with the gripper.
- property arm_chain: pycram.robot_description.KinematicChainDescription#
- classmethod description(object_designator: typing_extensions.Union[typing_extensions.Iterable[pycram.world_concepts.world_object.Object], pycram.world_concepts.world_object.Object], arm: typing_extensions.Union[typing_extensions.Iterable[pycram.datastructures.enums.Arms], pycram.datastructures.enums.Arms] = None, grasp_description: typing_extensions.Union[typing_extensions.Iterable[pycram.datastructures.grasp.GraspDescription], pycram.datastructures.grasp.GraspDescription] = None) pycram.datastructures.partial_designator.PartialDesignator[typing_extensions.Type[PickUpAction]]#
- class pycram.designators.action_designator.PlaceAction#
Bases:
pycram.designator.ActionDescriptionPlaces an Object at a position using an arm.
- object_designator: pycram.world_concepts.world_object.Object#
Object designator_description describing the object that should be place
- target_location: pycram.datastructures.pose.PoseStamped#
Pose in the world at which the object should be placed
- arm: pycram.datastructures.enums.Arms#
Arm that is currently holding the object
- object_at_execution: typing_extensions.Optional[pycram.datastructures.dataclasses.FrozenObject] = None#
The object at the time this Action got created. It is used to be a static, information holding entity. It is not updated when the BulletWorld object is changed.
- _pre_perform_callbacks = []#
List to save the callbacks which should be called before performing the action.
- __post_init__()#
- plan() None#
Plan of the action. To be overridden by subclasses.
- Returns:
The result of the action, if there is any
- property gripper_link: pycram.description.Link#
- property arm_chain: pycram.robot_description.KinematicChainDescription#
- property end_effector: pycram.robot_description.EndEffectorDescription#
- property local_transformer: pycram.local_transformer.LocalTransformer#
- validate(result: typing_extensions.Optional[typing_extensions.Any] = None, max_wait_time: typing_extensions.Optional[datetime.timedelta] = None)#
Check if the object is placed at the target location.
- validate_loss_of_contact()#
Check if the object is still in contact with the robot after placing it.
- validate_placement_location()#
Check if the object is placed at the target location.
- classmethod description(object_designator: typing_extensions.Union[typing_extensions.Iterable[pycram.world_concepts.world_object.Object], pycram.world_concepts.world_object.Object], target_location: typing_extensions.Union[typing_extensions.Iterable[pycram.datastructures.pose.PoseStamped], pycram.datastructures.pose.PoseStamped], arm: typing_extensions.Union[typing_extensions.Iterable[pycram.datastructures.enums.Arms], pycram.datastructures.enums.Arms] = None) pycram.datastructures.partial_designator.PartialDesignator[typing_extensions.Type[PlaceAction]]#
Bases:
pycram.designator.ActionDescriptionNavigates the Robot to a position.
Location to which the robot should be navigated
Keep the joint states of the robot the same during the navigation.
Plan of the action. To be overridden by subclasses.
- Returns:
The result of the action, if there is any
Validate the action after performing it, by checking if the action effects are as expected.
- Parameters:
result – The result of the action if there is any
max_wait_time – The maximum time to wait for the action to be validated, before raising an error.
- class pycram.designators.action_designator.TransportAction#
Bases:
pycram.designator.ActionDescriptionTransports an object to a position using an arm
- object_designator: pycram.world_concepts.world_object.Object#
Object designator_description describing the object that should be transported.
- target_location: pycram.datastructures.pose.PoseStamped#
Target Location to which the object should be transported
- arm: pycram.datastructures.enums.Arms#
Arm that should be used
- _pre_perform_callbacks = []#
List to save the callbacks which should be called before performing the action.
- __post_init__()#
- plan() None#
Plan of the action. To be overridden by subclasses.
- Returns:
The result of the action, if there is any
- validate(result: typing_extensions.Optional[typing_extensions.Any] = None, max_wait_time: typing_extensions.Optional[datetime.timedelta] = None)#
Validate the action after performing it, by checking if the action effects are as expected.
- Parameters:
result – The result of the action if there is any
max_wait_time – The maximum time to wait for the action to be validated, before raising an error.
- classmethod description(object_designator: typing_extensions.Union[typing_extensions.Iterable[pycram.world_concepts.world_object.Object], pycram.world_concepts.world_object.Object], target_location: typing_extensions.Union[typing_extensions.Iterable[pycram.datastructures.pose.PoseStamped], pycram.datastructures.pose.PoseStamped], arm: typing_extensions.Union[typing_extensions.Iterable[pycram.datastructures.enums.Arms], pycram.datastructures.enums.Arms] = None) pycram.datastructures.partial_designator.PartialDesignator[typing_extensions.Type[TransportAction]]#
- class pycram.designators.action_designator.LookAtAction#
Bases:
pycram.designator.ActionDescriptionLets the robot look at a position.
- target: pycram.datastructures.pose.PoseStamped#
Position at which the robot should look, given as 6D pose
- plan() None#
Plan of the action. To be overridden by subclasses.
- Returns:
The result of the action, if there is any
- validate(result: typing_extensions.Optional[typing_extensions.Any] = None, max_wait_time: typing_extensions.Optional[datetime.timedelta] = None)#
Check if the robot is looking at the target location by spawning a virtual object at the target location and creating a ray from the camera and checking if it intersects with the object.
- classmethod description(target: typing_extensions.Union[typing_extensions.Iterable[pycram.datastructures.pose.PoseStamped], pycram.datastructures.pose.PoseStamped]) pycram.datastructures.partial_designator.PartialDesignator[typing_extensions.Type[LookAtAction]]#
- class pycram.designators.action_designator.DetectAction#
Bases:
pycram.designator.ActionDescriptionDetects an object that fits the object description and returns an object designator_description describing the object.
If no object is found, an PerceptionObjectNotFound error is raised.
- technique: pycram.datastructures.enums.DetectionTechnique#
The technique that should be used for detection
- state: pycram.datastructures.enums.DetectionState = None#
The state of the detection, e.g Start Stop for continues perception
- object_designator: typing_extensions.Optional[pycram.world_concepts.world_object.Object] = None#
The type of the object that should be detected, only considered if technique is equal to Type
- region: pycrap.ontologies.Location = None#
The region in which the object should be detected
- _pre_perform_callbacks = []#
List to save the callbacks which should be called before performing the action.
- __post_init__()#
- plan() None#
Plan of the action. To be overridden by subclasses.
- Returns:
The result of the action, if there is any
- validate(result: typing_extensions.Optional[typing_extensions.Any] = None, max_wait_time: typing_extensions.Optional[datetime.timedelta] = None)#
Validate the action after performing it, by checking if the action effects are as expected.
- Parameters:
result – The result of the action if there is any
max_wait_time – The maximum time to wait for the action to be validated, before raising an error.
- classmethod description(technique: typing_extensions.Union[typing_extensions.Iterable[pycram.datastructures.enums.DetectionTechnique], pycram.datastructures.enums.DetectionTechnique], state: typing_extensions.Union[typing_extensions.Iterable[pycram.datastructures.enums.DetectionState], pycram.datastructures.enums.DetectionState] = None, object_designator: typing_extensions.Union[typing_extensions.Iterable[pycram.world_concepts.world_object.Object], pycram.world_concepts.world_object.Object] = None, region: typing_extensions.Union[typing_extensions.Iterable[pycrap.ontologies.Location], pycrap.ontologies.Location] = None) pycram.datastructures.partial_designator.PartialDesignator[typing_extensions.Type[DetectAction]]#
- class pycram.designators.action_designator.OpenAction#
Bases:
pycram.designator.ActionDescriptionOpens a container like object
- object_designator: pycram.description.ObjectDescription.Link#
Object designator_description describing the object that should be opened
- arm: pycram.datastructures.enums.Arms#
Arm that should be used for opening the container
- grasping_prepose_distance: float#
The distance in meters the gripper should be at in the x-axis away from the handle.
- plan() None#
Plan of the action. To be overridden by subclasses.
- Returns:
The result of the action, if there is any
- validate(result: typing_extensions.Optional[typing_extensions.Any] = None, max_wait_time: typing_extensions.Optional[datetime.timedelta] = None)#
Check if the container is opened, this assumes that the container state can be read accurately from the real world.
- classmethod description(object_designator_description: typing_extensions.Union[typing_extensions.Iterable[pycram.description.ObjectDescription.Link], pycram.description.ObjectDescription.Link], arm: typing_extensions.Union[typing_extensions.Iterable[pycram.datastructures.enums.Arms], pycram.datastructures.enums.Arms] = None, grasping_prepose_distance: typing_extensions.Union[typing_extensions.Iterable[float], float] = ActionConfig.grasping_prepose_distance) pycram.datastructures.partial_designator.PartialDesignator[typing_extensions.Type[OpenAction]]#
- class pycram.designators.action_designator.CloseAction#
Bases:
pycram.designator.ActionDescriptionCloses a container like object.
- object_designator: pycram.description.ObjectDescription.Link#
Object designator_description describing the object that should be closed
- arm: pycram.datastructures.enums.Arms#
Arm that should be used for closing
- grasping_prepose_distance: float#
The distance in meters between the gripper and the handle before approaching to grasp.
- plan() None#
Plan of the action. To be overridden by subclasses.
- Returns:
The result of the action, if there is any
- validate(result: typing_extensions.Optional[typing_extensions.Any] = None, max_wait_time: typing_extensions.Optional[datetime.timedelta] = None)#
Check if the container is closed, this assumes that the container state can be read accurately from the real world.
- classmethod description(object_designator_description: typing_extensions.Union[typing_extensions.Iterable[pycram.description.ObjectDescription.Link], pycram.description.ObjectDescription.Link], arm: typing_extensions.Union[typing_extensions.Iterable[pycram.datastructures.enums.Arms], pycram.datastructures.enums.Arms] = None, grasping_prepose_distance: typing_extensions.Union[typing_extensions.Iterable[float], float] = ActionConfig.grasping_prepose_distance) pycram.datastructures.partial_designator.PartialDesignator[typing_extensions.Type[CloseAction]]#
- pycram.designators.action_designator.validate_close_open(object_designator: pycram.description.ObjectDescription.Link, arm: pycram.datastructures.enums.Arms, action_type: typing_extensions.Union[typing_extensions.Type[OpenAction], typing_extensions.Type[CloseAction]])#
Validates if the container is opened or closed by checking the joint position of the container.
- Parameters:
object_designator – The object designator_description describing the object that should be opened or closed.
arm – The arm that should be used for opening or closing the container.
action_type – The type of the action that should be validated.
- pycram.designators.action_designator.check_opened(joint_obj: pycram.description.Joint, obj_part: pycram.description.Link, arm: pycram.datastructures.enums.Arms, upper_limit: float)#
- pycram.designators.action_designator.check_closed(joint_obj: pycram.description.Joint, obj_part: pycram.description.Link, arm: pycram.datastructures.enums.Arms, lower_limit: float)#
- class pycram.designators.action_designator.GraspingAction#
Bases:
pycram.designator.ActionDescriptionGrasps an object described by the given Object Designator description
- object_designator: typing_extensions.Union[pycram.world_concepts.world_object.Object, pycram.description.ObjectDescription.Link]#
Object Designator for the object that should be grasped
- arm: pycram.datastructures.enums.Arms#
The arm that should be used to grasp
- prepose_distance: float#
The distance in meters the gripper should be at before grasping the object
- plan() None#
Plan of the action. To be overridden by subclasses.
- Returns:
The result of the action, if there is any
- validate(result: typing_extensions.Optional[typing_extensions.Any] = None, max_wait_time: typing_extensions.Optional[datetime.timedelta] = None)#
Validate the action after performing it, by checking if the action effects are as expected.
- Parameters:
result – The result of the action if there is any
max_wait_time – The maximum time to wait for the action to be validated, before raising an error.
- classmethod description(object_designator: typing_extensions.Union[typing_extensions.Iterable[pycram.world_concepts.world_object.Object], pycram.world_concepts.world_object.Object], arm: typing_extensions.Union[typing_extensions.Iterable[pycram.datastructures.enums.Arms], pycram.datastructures.enums.Arms] = None, prepose_distance: typing_extensions.Union[typing_extensions.Iterable[float], float] = ActionConfig.grasping_prepose_distance) pycram.datastructures.partial_designator.PartialDesignator[typing_extensions.Type[GraspingAction]]#
- class pycram.designators.action_designator.FaceAtAction#
Bases:
pycram.designator.ActionDescriptionTurn the robot chassis such that is faces the
poseand after that perform a look at action.- pose: pycram.datastructures.pose.PoseStamped#
The pose to face
- keep_joint_states: bool#
Keep the joint states of the robot the same during the navigation.
- plan() None#
Plan of the action. To be overridden by subclasses.
- Returns:
The result of the action, if there is any
- validate(result: typing_extensions.Optional[typing_extensions.Any] = None, max_wait_time: typing_extensions.Optional[datetime.timedelta] = None)#
Validate the action after performing it, by checking if the action effects are as expected.
- Parameters:
result – The result of the action if there is any
max_wait_time – The maximum time to wait for the action to be validated, before raising an error.
- classmethod description(pose: typing_extensions.Union[typing_extensions.Iterable[pycram.datastructures.pose.PoseStamped], pycram.datastructures.pose.PoseStamped], keep_joint_states: typing_extensions.Union[typing_extensions.Iterable[bool], bool] = ActionConfig.face_at_keep_joint_states) pycram.datastructures.partial_designator.PartialDesignator[typing_extensions.Type[FaceAtAction]]#
- class pycram.designators.action_designator.MoveAndPickUpAction#
Bases:
pycram.designator.ActionDescriptionNavigate to standing_position, then turn towards the object and pick it up.
- standing_position: pycram.datastructures.pose.PoseStamped#
The pose to stand before trying to pick up the object
- object_designator: pycram.world_concepts.world_object.Object#
The object to pick up
- arm: pycram.datastructures.enums.Arms#
The arm to use
- grasp: pycram.datastructures.enums.Grasp#
The grasp to use
- keep_joint_states: bool#
Keep the joint states of the robot the same during the navigation.
- plan()#
Plan of the action. To be overridden by subclasses.
- Returns:
The result of the action, if there is any
- validate(result: typing_extensions.Optional[typing_extensions.Any] = None, max_wait_time: typing_extensions.Optional[datetime.timedelta] = None)#
Validate the action after performing it, by checking if the action effects are as expected.
- Parameters:
result – The result of the action if there is any
max_wait_time – The maximum time to wait for the action to be validated, before raising an error.
- classmethod description(standing_position: typing_extensions.Union[typing_extensions.Iterable[pycram.datastructures.pose.PoseStamped], pycram.datastructures.pose.PoseStamped], object_designator: typing_extensions.Union[typing_extensions.Iterable[pycram.datastructures.pose.PoseStamped], pycram.datastructures.pose.PoseStamped], arm: typing_extensions.Union[typing_extensions.Iterable[pycram.datastructures.enums.Arms], pycram.datastructures.enums.Arms] = None, grasp: typing_extensions.Union[typing_extensions.Iterable[pycram.datastructures.enums.Grasp], pycram.datastructures.enums.Grasp] = None, keep_joint_states: typing_extensions.Union[typing_extensions.Iterable[bool], bool] = ActionConfig.navigate_keep_joint_states) pycram.datastructures.partial_designator.PartialDesignator[typing_extensions.Type[MoveAndPickUpAction]]#
- class pycram.designators.action_designator.MoveAndPlaceAction#
Bases:
pycram.designator.ActionDescriptionNavigate to standing_position, then turn towards the object and pick it up.
- standing_position: pycram.datastructures.pose.PoseStamped#
The pose to stand before trying to pick up the object
- object_designator: pycram.world_concepts.world_object.Object#
The object to pick up
- target_location: pycram.datastructures.pose.PoseStamped#
The location to place the object.
- arm: pycram.datastructures.enums.Arms#
The arm to use
- keep_joint_states: bool#
Keep the joint states of the robot the same during the navigation.
- plan()#
Plan of the action. To be overridden by subclasses.
- Returns:
The result of the action, if there is any
- validate(result: typing_extensions.Optional[typing_extensions.Any] = None, max_wait_time: typing_extensions.Optional[datetime.timedelta] = None)#
Validate the action after performing it, by checking if the action effects are as expected.
- Parameters:
result – The result of the action if there is any
max_wait_time – The maximum time to wait for the action to be validated, before raising an error.
- classmethod description(standing_position: typing_extensions.Union[typing_extensions.Iterable[pycram.datastructures.pose.PoseStamped], pycram.datastructures.pose.PoseStamped], object_designator: typing_extensions.Union[typing_extensions.Iterable[pycram.world_concepts.world_object.Object], pycram.world_concepts.world_object.Object], target_location: typing_extensions.Union[typing_extensions.Iterable[pycram.datastructures.pose.PoseStamped], pycram.datastructures.pose.PoseStamped], arm: typing_extensions.Union[typing_extensions.Iterable[pycram.datastructures.enums.Arms], pycram.datastructures.enums.Arms] = None, keep_joint_states: typing_extensions.Union[typing_extensions.Iterable[bool], bool] = ActionConfig.navigate_keep_joint_states) pycram.datastructures.partial_designator.PartialDesignator[typing_extensions.Type[MoveAndPlaceAction]]#
- class pycram.designators.action_designator.SearchAction#
Bases:
pycram.designator.ActionDescriptionSearches for a target object around the given location.
- target_location: pycram.datastructures.pose.PoseStamped#
Location around which to look for a target object.
- object_type: typing_extensions.Type[pycrap.ontologies.PhysicalObject]#
Type of the object which is searched for.
- plan() None#
Plan of the action. To be overridden by subclasses.
- Returns:
The result of the action, if there is any
- validate(result: typing_extensions.Optional[typing_extensions.Any] = None, max_wait_time: typing_extensions.Optional[datetime.timedelta] = None)#
Validate the action after performing it, by checking if the action effects are as expected.
- Parameters:
result – The result of the action if there is any
max_wait_time – The maximum time to wait for the action to be validated, before raising an error.
- classmethod description(target_location: typing_extensions.Union[typing_extensions.Iterable[pycram.datastructures.pose.PoseStamped], pycram.datastructures.pose.PoseStamped], object_type: typing_extensions.Union[typing_extensions.Iterable[pycrap.ontologies.PhysicalObject], pycrap.ontologies.PhysicalObject]) pycram.datastructures.partial_designator.PartialDesignator[typing_extensions.Type[SearchAction]]#
- pycram.designators.action_designator.MoveTorsoActionDescription#
- pycram.designators.action_designator.SetGripperActionDescription#
- pycram.designators.action_designator.ParkArmsActionDescription#
- pycram.designators.action_designator.ReachToPickUpActionDescription#
- pycram.designators.action_designator.PickUpActionDescription#
- pycram.designators.action_designator.PlaceActionDescription#
- pycram.designators.action_designator.TransportActionDescription#
- pycram.designators.action_designator.LookAtActionDescription#
- pycram.designators.action_designator.DetectActionDescription#
- pycram.designators.action_designator.OpenActionDescription#
- pycram.designators.action_designator.CloseActionDescription#
- pycram.designators.action_designator.GraspingActionDescription#
- pycram.designators.action_designator.FaceAtActionDescription#
- pycram.designators.action_designator.MoveAndPickUpActionDescription#
- pycram.designators.action_designator.MoveAndPlaceActionDescription#
- pycram.designators.action_designator.ReleaseActionDescription#
- pycram.designators.action_designator.GripActionDescription#
- pycram.designators.action_designator.SearchActionDescription#