genericroboticarm.robo_APIs package

Subpackages

Submodules

Module contents

class genericroboticarm.robo_APIs.InteractiveRobot(start_simulating: bool = True, **kwargs)[source]

Bases: RoboInterface, InteractiveTransfer, ABC

_abc_impl = <_abc._abc_data object>
class genericroboticarm.robo_APIs.InteractiveTransfer[source]

Bases: ABC

_abc_impl = <_abc._abc_data object>
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 cancel_transfer()[source]
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:

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:

abstractmethod prepare_for_output(internal_pos: int, device: str, position: int) bool[source]
Parameters:
  • position

  • device

  • internal_pos

Returns:

abstractmethod put_labware(intermediate_actions: List[str], device: str, position: int)[source]
Parameters:
  • position

  • device

  • intermediate_actions

Returns:

class genericroboticarm.robo_APIs.RoboInterface(start_simulating: bool = True, **kwargs)[source]

Bases: ABC

_abc_impl = <_abc._abc_data object>
abstract property current_coordinates: Dict[str, float]

return:

current_position: str | None = None
end_connection(**kwargs)[source]

Is executed when the server stops :return:

abstractmethod classmethod get_name() str[source]

The name will be used as parameter in command line startup (-r), as sila server name and to save the position graph. :return: the name

abstractmethod classmethod get_used_cli_args() dict[str, str][source]

Defines the arguments that are forwarded from the command line to the robots constructor. :return: a dictionary of type [constructor parameter name, command line argument name]

abstractmethod grip_close(**kwargs)[source]
Returns:

abstractmethod grip_open(**kwargs)[source]
Returns:

abstractmethod init_connection(**kwargs)[source]

Sets up the hardware connection :return:

abstract property joint_names: list[str]

Returns a list of names of the individual coordinates used by the robot. For example [x, y, z, roll, pitch, grip] or [j1, j2, j3, j4, j5] :return:

abstractmethod move_relative(movements: List[Tuple[str, float]], **kwargs)[source]
Parameters:

movements

Returns:

move_straight_to_position(identifier: str, offset: Dict[str, float] | None = None)[source]

Moves the robot straight to the specified position, i.e. queries its coordinates, adds the offset and call move_to_coordinates() on the result. :param offset: :param identifier: :return:

abstractmethod move_to_coordinates(coords: Dict[str, float], **kwargs) None[source]
Parameters:

coords

Returns:

move_to_nearest_known_position(offset: Dict[str, float] | None = None)[source]
Returns:

move_to_position(target_position: str, offset: Dict[str, float] | None = None)[source]
Parameters:
  • offset

  • target_position

Returns:

property name: str
next_positions: List[str]
pick_at_position(identifier: str, offset: Dict[str, float] | None = None)[source]

Opens the gripper, moves to a specified location and closes the gripper there :param identifier: Position identifier :param offset: :return:

pick_from_device(device: str, pos: int, offset: Dict[str, float] | None = None)[source]
Parameters:
  • device

  • pos

  • offset

Returns:

place_at_device(device: str, pos: int, offset: Dict[str, float] | None = None, plate_type: str = 'plate_type')[source]
Parameters:
  • plate_type

  • device

  • pos

  • offset

Returns:

place_at_position(identifier: str, offset: Dict[str, float] | None = None)[source]

Opens the gripper, moves to a specified location and opens the gripper there :param identifier: Position identifier :param offset: :return:

run_custom_command(cmd: str) str[source]

Runs a custom command on the hardware. The implementation for a specific hardware might look very different and the response must be a string. Be default returns ‘Not Implemented’. Use on your own risk. :param cmd: :return:

set_acceleration(new_acceleration: float, **kwargs)[source]
Parameters:

new_acceleration

Returns:

set_metrik(metrik: Callable[[Dict[str, float], Dict[str, float]], float])[source]

Sets the way :param metrik: :return:

set_speed(new_speed: float)[source]

Set the speed :param new_speed: :return:

site_to_position_identifier(device: str, slot: int) str[source]
stop_moving()[source]

Immediately(Or as quickly as possible) stops all movements :return:

genericroboticarm.robo_APIs.collect_robo_implementations(package: str = 'genericroboticarm.robo_APIs') set[type[RoboInterface]][source]

Recursively find all subclasses of RoboInterface in a package.

Parameters:

package – Dotted path of the package

Returns:

list of RoboInterface subclasses