Skip to content

Commit 1fba478

Browse files
committed
Handle missing resource during get_plate
1 parent e64a7a7 commit 1fba478

1 file changed

Lines changed: 29 additions & 10 deletions

File tree

src/sciclops_interface.py

Lines changed: 29 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -578,8 +578,13 @@ def get_plate(self, source, target):
578578
grab_height = self.plate_info[plate_type]["grab_tower"]
579579
self.jog("Z", grab_height)
580580
self.close()
581-
plate, _ = self.resource_client.pop(source.resource_id)
582-
self.resource_client.push(self.gripper_id, plate)
581+
try:
582+
plate, _ = self.resource_client.pop(source.resource_id)
583+
self.resource_client.push(self.gripper_id, plate)
584+
except Exception as e:
585+
self.open()
586+
self.move_neutral()
587+
raise e
583588
self.set_speed(100)
584589
self.jog("Z", 1000)
585590
# check coordinates
@@ -598,8 +603,13 @@ def get_plate(self, source, target):
598603
self.set_speed(5)
599604
self.jog("Z", -30)
600605
self.open()
601-
plate, _ = self.resource_client.pop(self.gripper_id)
602-
self.resource_client.push(target.resource_id, plate)
606+
try:
607+
plate, _ = self.resource_client.pop(self.gripper_id)
608+
self.resource_client.push(target.resource_id, plate)
609+
except Exception as e:
610+
self.move_neutral()
611+
raise e
612+
603613
self.set_speed(100)
604614
self.jog("Z", 1000)
605615
# check coordinates
@@ -652,12 +662,17 @@ def return_plate(self, source, target):
652662
grab_height = self.plate_info[plate_type]["grab_tower"]
653663
self.jog("Z", grab_height)
654664
self.close()
655-
plate, _ = self.resource_client.pop(source.resource_id)
656-
self.resource_client.push(self.gripper_id, plate)
657-
self.set_speed(100)
665+
try:
666+
plate, _ = self.resource_client.pop(source.resource_id)
667+
self.resource_client.push(self.gripper_id, plate)
668+
except Exception as e:
669+
self.open()
670+
self.move_neutral()
671+
raise e
672+
self.set_speed(50)
658673
self.jog("Z", 1000)
659674

660-
# Place in exchange
675+
# Place in tower
661676
self.move(
662677
R=target.location["R"],
663678
Z=23.5188,
@@ -668,8 +683,12 @@ def return_plate(self, source, target):
668683
self.jog("Z", -1000)
669684
self.jog("Z", 10)
670685
self.open()
671-
plate, _ = self.resource_client.pop(self.gripper_id)
672-
self.resource_client.push(target.resource_id, plate)
686+
try:
687+
plate, _ = self.resource_client.pop(self.gripper_id)
688+
self.resource_client.push(target.resource_id, plate)
689+
except Exception as e:
690+
self.move_neutral()
691+
raise e
673692
self.set_speed(100)
674693
self.jog("Z", 1000)
675694
self.move_neutral()

0 commit comments

Comments
 (0)