genericroboticarm.robo_APIs.interactive_transfer module¶
An interface for robotic arm that implement the necessary utility to use the SiLA feature LabTransferManipulatorController.
- class genericroboticarm.robo_APIs.interactive_transfer.InteractiveTransfer[source]¶
Bases:
ABC- _abc_impl = <_abc._abc_data object>¶
- _announced_intermediate_actions: List[str] = []¶
- announce_intermediate_actions(intermediate_actions: List[str])[source]¶
Tells the arm which intermediate actions the upcoming transfer command will request, so that prepare_for_input() can already do the part of them that concerns only the arm. Announcing is optional and non-binding: the actions are passed to get_labware() as usual, which has to work whether they were announced or not. :param intermediate_actions: :return:
- property announced_intermediate_actions: List[str]¶
The intermediate actions announced for the upcoming transfer command. :return:
- property available_handover_positions: List[Tuple[str, int]]¶
return:
- property available_intermediate_actions: List[str]¶
- List of functionalities the arm can do together with put/get labware commands,
like (un-)lidding, shaking reading barcode, etc.
- Returns:
- abstractmethod get_labware(intermediate_actions: List[str], device: str, position: int)[source]¶
- Parameters:
position
device
intermediate_actions
- Returns:
- abstract property number_internal_positions: int¶
return:
- property preparable_intermediate_actions: List[str]¶
The subset of the available intermediate actions the arm can already work on during prepare_for_input(), provided they were announced beforehand. Fetching a lid is such an action: it concerns only the arm and can be done while the other device prepares itself. Arms that ignore announcements return nothing here. :return:
- abstractmethod prepare_for_input(internal_pos: int, device: str, position: int, plate_type: str) bool[source]¶
- Parameters:
plate_type
plate_type
position
device
internal_pos
- Returns: