genericroboticarm.robo_APIs.precise_flex.pf_implementation module

class genericroboticarm.robo_APIs.precise_flex.pf_implementation.PFImplementation(start_simulating: bool = True, host: str = '10.10.0.98', port: int = 10100)[source]

Bases: InteractiveRobot

_abc_impl = <_abc._abc_data object>
cancel_transfer()[source]
Returns:

property current_coordinates: Dict[str, float]

return:

finish_movement(max_time: float = 60, tolerance: float = 1) bool[source]

Returns True as soon as the robots position is tolerance near its current target or False if this does not happen until max_time seconds elapsed. :param max_time: :param tolerance: :return:

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

  • device

  • intermediate_actions

Returns:

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

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]

grip_close(**kwargs)[source]
Returns:

grip_open(**kwargs)[source]
Returns:

property gripper_fully_closed: bool
init_connection(host: str, port: int)[source]

Sets up the hardware connection :return:

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:

move_joint(joint_index: int, target_angle: float) str[source]

Moves a specific joint. The movement will be executed after current movements have finished :param joint_index: :param target_angle: :return:

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

movements

Returns:

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

coords

Returns:

property name: str
next_positions: List[str]
property number_internal_positions: int

return:

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:

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

  • device

  • internal_pos

Returns:

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

  • device

  • intermediate_actions

Returns:

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_speed(new_speed: float)[source]

Set the speed :param new_speed: :return:

socket: PFSocket | PFSimulation
stop_moving()[source]

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

class genericroboticarm.robo_APIs.precise_flex.pf_implementation.PFSocket(host: str, port: int)[source]

Bases: object

BYTES_BUFFER = 1024
configure_movement_profiles()[source]
connect()[source]

Enables the robot high power. Returns an error if power does not come on within the specified timeout. Also attaches the robot. The robot must be attached to allow motion commands.

disconnect()[source]

Also attaches the robot. The robot must be attached to allow motion commands and disables the robot high power.

receive_data()[source]
send_command(cmd: str)[source]
set_movement_profile(profile_index: int, speed: int = None, speed_2: int = None, accel: int = None, decel: int = None, accel_ramp: int = None, decel_ramp: int = None, in_range: int = None, straight: int = None)[source]
socket: socket | None