pylabrobot.brooks.precise_flex.PreciseFlexDriver#
- class pylabrobot.brooks.precise_flex.PreciseFlexDriver(host: str, gripper_length: float, gripper_z_offset: float, closed_gripper_position: float, port: int = 10100, timeout: int = 20, is_dual_gripper: bool = False, has_rail: bool = False, read_kinematics_from_device: bool = True, recover_out_of_range: bool = True, parking_position: Dict[PreciseFlexAxis, float] | None = None, base_plate: Resource | None = None, declared_configuration_json: str | None = None)#
Bases:
objectDriver for PreciseFlex robotic arms.
Owns the Socket I/O connection and device-level operations (power, attach, home, response mode). Exposes
send_commandas the generic wire method.Documentation and error codes available at https://www2.brooksautomation.com/#Root/Welcome.htm
Attributes
use
gripper.closed_gripper_position.The device configuration resolved at setup.
use
arm.horizontal_compliance.use
arm.horizontal_compliance_torque.use
arm.station_index.use
gripper.jaw_width_range.use
gripper.jaw_width_range.use
arm.parking_position.use
arm.profile_index.Methods
__init__(host, gripper_length, ...[, port, ...])are_grippers_closed(*args, **kwargs)Deprecated: use
gripper.sense_each_fully_closed.attach([attach_state])Attach or release the robot, or get attachment state.
change_config(*args, **kwargs)Deprecated: use
arm.change_elbow_orientation.change_config2(*args, **kwargs)Deprecated: use
arm.change_elbow_orientation_by_algorithm.connect()Open the link and agree the response protocol.
dest_c(*args, **kwargs)Deprecated: use
arm.request_destination_joint_state.dest_j(*args, **kwargs)Deprecated: use
arm.request_destination_joint_state.detach()Detach the robot.
Hand the arm back and close the links.
discover()Read the controller's configuration and adopt it.
drop_at_joint_position(*args, **kwargs)Deprecated: use
arm.drop_at_joint_state.drop_at_location(*args, **kwargs)Deprecated: use
arm.drop_at_location.halt(*args, **kwargs)Deprecated: use
arm.halt.here_c(*args, **kwargs)Deprecated: use
arm.set_station_to_current_joint_state.here_j(*args, **kwargs)Deprecated: use
arm.set_station_to_current_joint_state.home()Home the robot associated with this thread.
home_all()Home all robots.
Raise high power, take control, end any freedrive, and read the configuration (
discover).is_gripper_closed(*args, **kwargs)Deprecated: use
gripper.sense_fully_closed.move_gripper(width[, force_sensing])Deprecated: use
gripper.move_to_jaw_position.move_gripper_joint_position(position[, ...])Deprecated: use
gripper.move_to_jaw_position_firmware_units.move_rail(*args, **kwargs)Deprecated: use
rail.move_rail.move_through_cartesian_poses(*args, **kwargs)Deprecated: use
arm.move_through_cartesian_poses.move_to_joint_position(*args, **kwargs)Deprecated: use
arm.move_to_joint_state.move_to_location(*args, **kwargs)Deprecated: use
arm.move_to_location.nop()No operation command.
park(*args, **kwargs)Deprecated: use
arm.park.pick_up_at_joint_position(*args, **kwargs)Deprecated: use
arm.pick_up_at_joint_state.pick_up_at_location(*args, **kwargs)Deprecated: use
arm.pick_up_at_location.Power off the robot.
Power on the robot.
recover_axes_within_limits(*args, **kwargs)Deprecated: use
arm.recover_axes_within_limits.Recover after a collision / fault that stopped the arm and dropped power, leaving it usable.
release_brake(*args, **kwargs)Deprecated: use
arm.release_brake.Number of servoed axes.
Capability/option bit field (rail, dual gripper, ...).
request_base(*args, **kwargs)Deprecated: use
arm.request_base.Number of non-servoed (extra) axes.
Controller firmware/runtime version (distinct from
request_version, the TCS app).request_gripper_pose(*args, **kwargs)Deprecated: use
arm.request_gripper_pose.request_joint_limits(*args, **kwargs)Deprecated: use
arm.request_joint_limits.request_joint_position(*args, **kwargs)Deprecated: use
arm.request_joint_state.request_kinematic_parameters(*args, **kwargs)Deprecated: use
arm.request_kinematic_parameters.request_link_lengths(*args, **kwargs)Deprecated: use
arm.request_link_lengths.request_max_acceleration_percent(*args, **kwargs)Deprecated: use
arm.request_max_acceleration_percent.request_max_deceleration_percent(*args, **kwargs)Deprecated: use
arm.request_max_deceleration_percent.request_max_speed_percent(*args, **kwargs)Deprecated: use
arm.request_max_speed_percent.Get the current response mode.
request_monitor_speed(*args, **kwargs)Deprecated: use
arm.request_monitor_speed.request_motion_profile_values(*args, **kwargs)Deprecated: use
arm.request_motion_profile_values.request_parameter(data_id[, unit_number, ...])Get the value of a numeric parameter database item.
request_payload(*args, **kwargs)Deprecated: use
arm.request_payload.Get the current robot power state.
request_profile_acceleration(*args, **kwargs)Deprecated: use
arm.request_profile_acceleration.request_profile_acceleration_ramp(*args, ...)Deprecated: use
arm.request_profile_acceleration_ramp.request_profile_deceleration(*args, **kwargs)Deprecated: use
arm.request_profile_deceleration.request_profile_deceleration_ramp(*args, ...)Deprecated: use
arm.request_profile_deceleration_ramp.request_profile_in_range(*args, **kwargs)Deprecated: use
arm.request_profile_in_range.request_profile_speed(*args, **kwargs)Deprecated: use
arm.request_profile_speed.request_profile_speed2(*args, **kwargs)Deprecated: use
arm.request_profile_speed2.request_profile_straight(*args, **kwargs)Deprecated: use
arm.request_profile_straight.request_reference_acceleration(*args, **kwargs)Deprecated: use
arm.request_reference_acceleration.Deprecated: use
arm.request_reference_cartesian_acceleration.request_reference_cartesian_speed(*args, ...)Deprecated: use
arm.request_reference_cartesian_speed.request_reference_speed(*args, **kwargs)Deprecated: use
arm.request_reference_speed.Built-in kinematic model id (PF400 = 12).
Get the number of the currently selected robot.
request_signal(signal_number)Get the value of the specified digital input or output signal.
request_state(*args, **kwargs)Deprecated: use
arm.request_state.Controller power/system-state word (the
sysStatecommand, == DataID 234).request_tool_length(*args, **kwargs)Deprecated: use
arm.request_tool_length.request_tool_transformation_values(*args, ...)Deprecated: use
arm.request_tool_transformation_values.Get the current version of TCS and any installed plug-ins.
reset(robot_number)Reset the threads associated with the specified robot.
save_configuration(path[, indent])Write what this device reported to a file, to be declared from later.
select_robot(robot_number)Change the robot associated with this communications link.
send_command(command)Send a command and return the accepted
<code> <data>payload.set_axis_parameter(data_id, axis, value[, ...])Change one joint's element of a per-axis parameter array (
pc); the rest are untouched.set_base(*args, **kwargs)Deprecated: use
arm.set_base.set_brake(*args, **kwargs)Deprecated: use
arm.reengage_brake.set_monitor_speed(*args, **kwargs)Deprecated: use
arm.set_monitor_speed.set_motion_profile_values(*args, **kwargs)Deprecated: use
arm.set_motion_profile_values.set_parameter(data_id, value[, unit_number, ...])Change a value in the controller's parameter database.
set_payload(*args, **kwargs)Deprecated: use
arm.set_payload.set_power(enable[, timeout])Enable or disable robot high power.
set_profile_acceleration(*args, **kwargs)Deprecated: use
arm.set_profile_acceleration.set_profile_acceleration_ramp(*args, **kwargs)Deprecated: use
arm.set_profile_acceleration_ramp.set_profile_deceleration(*args, **kwargs)Deprecated: use
arm.set_profile_deceleration.set_profile_deceleration_ramp(*args, **kwargs)Deprecated: use
arm.set_profile_deceleration_ramp.set_profile_in_range(*args, **kwargs)Deprecated: use
arm.set_profile_in_range.set_profile_speed(*args, **kwargs)Deprecated: use
arm.set_profile_speed.set_profile_speed2(*args, **kwargs)Deprecated: use
arm.set_profile_speed2.set_profile_straight(*args, **kwargs)Deprecated: use
arm.set_profile_straight.set_response_mode(mode)Set the response mode.
set_signal(signal_number, value)Set the specified digital input or output signal.
setup([skip_home])Bring the arm fully up:
connect,initialize, thenhomeunless skipped.start_freedrive_mode(*args, **kwargs)Deprecated: use
arm.start_freedrive_mode.stop()Hand the arm back and close the link (
disconnect).stop_freedrive_mode(*args, **kwargs)Deprecated: use
arm.stop_freedrive_mode.zero_torque(enable[, axis_mask])Deprecated: use
arm.start_zero_torqueorarm.stop_zero_torque.- Parameters:
host (str)
gripper_length (float)
gripper_z_offset (float)
closed_gripper_position (float)
port (int)
timeout (int)
is_dual_gripper (bool)
has_rail (bool)
read_kinematics_from_device (bool)
recover_out_of_range (bool)
parking_position (Dict[PreciseFlexAxis, float] | None)
base_plate (Resource | None)
declared_configuration_json (str | None)