Update
This commit is contained in:
parent
d7d20f4559
commit
1f092ee58a
27
main.py
27
main.py
@ -213,7 +213,9 @@ bricks_start =[{
|
|||||||
|
|
||||||
|
|
||||||
class PickAndPlace(object):
|
class PickAndPlace(object):
|
||||||
def __init__(self, limb, hover_distance = 0.10, verbose=True):
|
def __init__(self, limb, hover_distance = 0.10, verbose=True, speed=0.9, accuracy=baxter_interface.settings.JOINT_ANGLE_TOLERANCE):
|
||||||
|
self._speed = speed
|
||||||
|
self._accuracy = accuracy
|
||||||
self._limb_name = limb # string
|
self._limb_name = limb # string
|
||||||
self._hover_distance = hover_distance # in meters
|
self._hover_distance = hover_distance # in meters
|
||||||
self._verbose = verbose # bool
|
self._verbose = verbose # bool
|
||||||
@ -272,7 +274,9 @@ class PickAndPlace(object):
|
|||||||
|
|
||||||
def _guarded_move_to_joint_position(self, joint_angles):
|
def _guarded_move_to_joint_position(self, joint_angles):
|
||||||
if joint_angles:
|
if joint_angles:
|
||||||
self._limb.move_to_joint_positions(joint_angles)
|
self._limb.set_joint_position_speed(_speed)
|
||||||
|
self._limb.move_to_joint_positions(joint_angles, timeout=20.0, threshold=self._accuracy)
|
||||||
|
self._limb.set_joint_position_speed(0.3)
|
||||||
else:
|
else:
|
||||||
rospy.logerr("No Joint Angles provided for move_to_joint_positions. Staying put.")
|
rospy.logerr("No Joint Angles provided for move_to_joint_positions. Staying put.")
|
||||||
|
|
||||||
@ -337,6 +341,12 @@ class PickAndPlace(object):
|
|||||||
self._retract()
|
self._retract()
|
||||||
|
|
||||||
|
|
||||||
|
def cleanup():
|
||||||
|
delete_model = rospy.ServiceProxy('/gazebo/delete_model', DeleteModel)
|
||||||
|
for group in [[table], bricks_start, bricks_end]:
|
||||||
|
for obj in group:
|
||||||
|
delete_model(obj['id'])
|
||||||
|
|
||||||
|
|
||||||
def load_objects():
|
def load_objects():
|
||||||
# Load Table SDFs
|
# Load Table SDFs
|
||||||
@ -369,6 +379,8 @@ def load_objects():
|
|||||||
|
|
||||||
rospy.init_node("ik_pick_and_place_demo")
|
rospy.init_node("ik_pick_and_place_demo")
|
||||||
|
|
||||||
|
cleanup()
|
||||||
|
|
||||||
hover_distance = 0.1 # meters
|
hover_distance = 0.1 # meters
|
||||||
# Starting Pose for left arm
|
# Starting Pose for left arm
|
||||||
left_pose = Pose()
|
left_pose = Pose()
|
||||||
@ -397,13 +409,14 @@ right_pnp = PickAndPlace('right', hover_distance)
|
|||||||
left_pnp.move_to_start(left_pnp.ik_request(left_pose))
|
left_pnp.move_to_start(left_pnp.ik_request(left_pose))
|
||||||
right_pnp.move_to_start(right_pnp.ik_request(right_pose))
|
right_pnp.move_to_start(right_pnp.ik_request(right_pose))
|
||||||
|
|
||||||
|
load_objects()
|
||||||
|
|
||||||
pose1 = Pose()
|
# pose1 = Pose()
|
||||||
pose1.position = Point(x=bricks_start[0]['x'], y=bricks_start[0]['y'], z=bricks_start[0]['z'])
|
# pose1.position = Point(x=bricks_start[0]['x'], y=bricks_start[0]['y'], z=bricks_start[0]['z'])
|
||||||
hqo = quaternion_from_euler(bricks_start[0]['roll'], bricks_start[0]['pitch'], bricks_start[0]['yaw'])
|
# hqo = quaternion_from_euler(bricks_start[0]['roll'], bricks_start[0]['pitch'], bricks_start[0]['yaw'])
|
||||||
pose1.orientation = Quaternion(hqo[0], hqo[1], hqo[2], hqo[3])
|
# pose1.orientation = Quaternion(hqo[0], hqo[1], hqo[2], hqo[3])
|
||||||
|
|
||||||
right_pnp.move_to_start(right_pnp.ik_request(pose1))
|
# right_pnp.move_to_start(right_pnp.ik_request(pose1))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user