Work in progress: this documentation is still being written and reviewed. Check details against the source code.

Pipettor action server

Expose pipettor driver commands through PipettorAction.

beambot.action_servers.pipettor_server · Source

Tools and end effectors · Guide · Symbol index

How it is used

The orchestrator sends liquid-handling and tip/LED commands to beambot_pipettor. This server connects PipettorAction to PipettorStages, which forwards commands to the pipettor driver rather than building arm-motion tasks.

main() starts the endpoint. Command execution and driver-result checks are documented with PipettorStages.run().

Start here

Callable

Purpose

main

Run PipettorActionServer through the shared multithreaded ROS server runner.

PipettorActionServer.create_stages

Bind PipettorStages to this action-server node.

Functions

main()

Run PipettorActionServer through the shared multithreaded ROS server runner.

Entry point · Source

main(args=None)

Parameter

Meaning

args

Optional ROS initialization arguments; None uses normal rclpy argument handling.

Returns: None when the server exits.

Errors: KeyboardInterrupt during spin is handled by run_server; initialization/construction and other executor errors propagate.

Side effects: Initializes ROS, constructs the action node, spins until shutdown and destroys the node/context.

PipettorActionServer

Concrete BaseActionServer for pipettor commands. It supplies PipettorStages and inherits the shared one-goal lifecycle.

Inherits from: BaseActionServer.

PipettorActionServer.create_stages()

Bind PipettorStages to this action-server node.

Extension hook · Source

create_stages(self)

Returns: New PipettorStages instance.

Errors: Stage initialization errors propagate.

Side effects: Initializes stage resources and a pipettor driver action client.

PipettorActionServer.__init__()

Configure the shared action base as node beambot_pipettor_server serving beambot_pipettor.

Lifecycle · Source

__init__(self)

Errors: Stage/node/action initialization errors propagate.

Side effects: Constructs the ROS action endpoint and operation stages; logs startup.