Skip to content

Commit a467c91

Browse files
authored
(place.py) Typing and formatting (#1319)
Removed unused variable and added type-hinting
2 parents 77ae731 + 6cbbcc6 commit a467c91

File tree

1 file changed

+14
-11
lines changed
  • robot_smach_states/src/robot_smach_states/manipulation

1 file changed

+14
-11
lines changed

robot_smach_states/src/robot_smach_states/manipulation/place.py

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from __future__ import absolute_import, print_function
2+
from typing import Union, Optional
23

34
# ROS
45
from pykdl_ros import FrameStamped
@@ -8,18 +9,20 @@
89
# TU/e Robotics
910
from ed.entity import Entity
1011
from robot_skills.arm.arms import PublicArm, GripperTypes
12+
from robot_skills.robot import Robot
1113
from .place_designator import EmptySpotDesignator
1214
from ..navigation.navigate_to_place import NavigateToPlace
1315
from ..utility import LockDesignator, ResolveArm, check_arm_requirements
1416
from ..util.designators import check_type
1517
from ..util.designators.utility import LockingDesignator
1618
from robot_smach_states.world_model.world_model import Inspect
19+
from ..util.designators.core import Designator
1720

1821

1922
class Put(smach.State):
2023
REQUIRED_ARM_PROPERTIES = {"required_gripper_types": [GripperTypes.GRASPING], }
2124

22-
def __init__(self, robot, item_to_place, placement_pose, arm):
25+
def __init__(self, robot: Robot, item_to_place: Entity, placement_pose: FrameStamped, arm: PublicArm) -> None:
2326
"""
2427
Drive the robot back a little and move the designated arm to place the designated item at the designated pose
2528
@@ -75,7 +78,7 @@ def execute(self, userdata=None):
7578

7679
# Pre place
7780
if not arm.send_goal(FrameStamped.from_xyz_rpy(place_pose_bl.frame.p.x(), place_pose_bl.frame.p.y(),
78-
height+0.15, 0, 0, 0, rospy.Time(0),
81+
height + 0.15, 0, 0, 0, rospy.Time(0),
7982
frame_id=self._robot.base_link_frame),
8083
timeout=10,
8184
pre_grasp=True):
@@ -84,7 +87,7 @@ def execute(self, userdata=None):
8487

8588
rospy.loginfo("Retrying preplace")
8689
if not arm.send_goal(FrameStamped.from_xyz_rpy(place_pose_bl.frame.p.x(), place_pose_bl.frame.p.y(),
87-
height+0.15, 0, 0, 0, rospy.Time(0),
90+
height + 0.15, 0, 0, 0, rospy.Time(0),
8891
frame_id=self._robot.base_link_frame),
8992
timeout=10, pre_grasp=True):
9093
rospy.logwarn("Cannot pre-place the object")
@@ -94,8 +97,8 @@ def execute(self, userdata=None):
9497
# Place
9598
place_pose_bl = self._robot.tf_buffer.transform(placement_fs, self._robot.base_link_frame)
9699
actual_place_pose_bl = FrameStamped.from_xyz_rpy(place_pose_bl.frame.p.x(), place_pose_bl.frame.p.y(),
97-
height+0.1, 0, 0, 0, rospy.Time(0),
98-
frame_id=self._robot.base_link_frame)
100+
height + 0.1, 0, 0, 0, rospy.Time(0),
101+
frame_id=self._robot.base_link_frame)
99102
if not arm.send_goal(actual_place_pose_bl, timeout=10, pre_grasp=False):
100103
rospy.logwarn("Cannot place the object, dropping it...")
101104

@@ -104,9 +107,9 @@ def execute(self, userdata=None):
104107
rospy.logerr("Arm not holding an entity to place. This should never happen")
105108
else:
106109
place_pose_map = self._robot.tf_buffer.transform(actual_place_pose_bl, "map")
107-
new_entity_pose = FrameStamped(place_pose_map.frame*place_entity.pose.frame,
110+
new_entity_pose = FrameStamped(place_pose_map.frame * place_entity.pose.frame,
108111
place_pose_bl.header.stamp,
109-
"map")
112+
"map")
110113
self._robot.ed.update_entity(place_entity.uuid, frame_stamped=new_entity_pose)
111114
arm.gripper.occupied_by = None
112115

@@ -144,7 +147,8 @@ def execute(self, userdata=None):
144147

145148
class Place(smach.StateMachine):
146149

147-
def __init__(self, robot, item_to_place, place_pose, arm, place_volume=None, update_supporting_entity=False):
150+
def __init__(self, robot: Robot, item_to_place: Entity, place_pose: Union[str, FrameStamped, Entity],
151+
arm: PublicArm, place_volume: Optional[str] = None) -> None:
148152
"""
149153
Drive the robot to be close to the designated place_pose and move the designated arm to place the designated
150154
item there
@@ -159,8 +163,6 @@ def __init__(self, robot, item_to_place, place_pose, arm, place_volume=None, upd
159163
ArmHoldingEntityDesignator
160164
:param place_volume: (optional) string identifying the volume where to place the object, e.g., 'on_top_of',
161165
'shelf3'
162-
:param update_supporting_entity: (optional) bool to indicate whether the supporting entity should be updated.
163-
This can only be used if the supporting entity is supplied, case 2 or 3 mentioned under item_to_place
164166
"""
165167
smach.StateMachine.__init__(self, outcomes=['done', 'failed'])
166168

@@ -239,5 +241,6 @@ def __init__(self, robot, item_to_place, place_pose, arm, place_volume=None, upd
239241
arm = ArmDesignator(robot, arm_properties={"required_trajectories": ["prepare_place"],
240242
"required_gripper_types": [arms.GripperTypes.GRASPING]})
241243

242-
sm = Place(robot=robot, item_to_place=place_entity, place_pose='dinner_table', arm=arm.lockable(), place_volume='on_top_of')
244+
sm = Place(robot=robot, item_to_place=place_entity, place_pose='dinner_table', arm=arm.lockable(),
245+
place_volume='on_top_of')
243246
print(sm.execute())

0 commit comments

Comments
 (0)