|
@@ -49,6 +49,7 @@ class RobotController:
|
|
|
self.work_queue: List[MeasurementResult] = []
|
|
self.work_queue: List[MeasurementResult] = []
|
|
|
|
|
|
|
|
self.gripper_occupied = False
|
|
self.gripper_occupied = False
|
|
|
|
|
+ self.suction_state = False
|
|
|
|
|
|
|
|
# Initialize MQTT handler
|
|
# Initialize MQTT handler
|
|
|
mqtt_config = self.config.get_mqtt_config()
|
|
mqtt_config = self.config.get_mqtt_config()
|
|
@@ -66,6 +67,9 @@ class RobotController:
|
|
|
num_slots=len(device.slots),
|
|
num_slots=len(device.slots),
|
|
|
callback=lambda measurement_result: self.work_queue.append(measurement_result)
|
|
callback=lambda measurement_result: self.work_queue.append(measurement_result)
|
|
|
)
|
|
)
|
|
|
|
|
+
|
|
|
|
|
+ def set_suction_state(self, state:bool):
|
|
|
|
|
+ self.suction_state = state
|
|
|
|
|
|
|
|
async def connect(self):
|
|
async def connect(self):
|
|
|
await self.grbl_handler.connect()
|
|
await self.grbl_handler.connect()
|
|
@@ -153,6 +157,9 @@ class RobotController:
|
|
|
# Grip cell
|
|
# Grip cell
|
|
|
try:
|
|
try:
|
|
|
await self.movement.activate_endeffector()
|
|
await self.movement.activate_endeffector()
|
|
|
|
|
+ if not self.suction_state:
|
|
|
|
|
+ logger.error("Suction state is off, cannot pick cell")
|
|
|
|
|
+ return False
|
|
|
self.gripper_occupied = True
|
|
self.gripper_occupied = True
|
|
|
logger.info(f"Moving to feeder position (safe) {safe_pos}...")
|
|
logger.info(f"Moving to feeder position (safe) {safe_pos}...")
|
|
|
await self.movement.move_to_position(*safe_pos)
|
|
await self.movement.move_to_position(*safe_pos)
|
|
@@ -232,6 +239,9 @@ class RobotController:
|
|
|
# Grip cell
|
|
# Grip cell
|
|
|
try:
|
|
try:
|
|
|
await self.movement.activate_endeffector()
|
|
await self.movement.activate_endeffector()
|
|
|
|
|
+ if not self.suction_state:
|
|
|
|
|
+ logger.error("Suction state is off, cannot pick cell")
|
|
|
|
|
+ return False
|
|
|
self.gripper_occupied = True
|
|
self.gripper_occupied = True
|
|
|
cell_id = slot.cell_id
|
|
cell_id = slot.cell_id
|
|
|
slot.occupied = False
|
|
slot.occupied = False
|