Tools and end effectors
Gripper control, sample handling, pipettor commands, and tool exchange, including the local 2FG7 driver and ePick launch configuration.
Read the guide · All subsystems · Symbol index
Start here
EndEffectorStages.run — Follow a named gripper state into an MTC task and check the empty-group no-op behavior.
ToolExchangeManager.exchange — Follow tool exchange across dock/load motion, tool voltage, robot-model relaunch, and vision TF-buffer reset.
PipettorStages.run — See how a high-level pipettor request is forwarded to the driver action.
OnRobot2FG7DriverNode._execute_gripper_command — Inspect 2FG7 width conversion, hardware polling, and the conditions used to report an action result.
Modules
Module |
Responsibility |
Entries |
|---|---|---|
Expose SRDF gripper-state motion through EndEffectorAction. |
3 |
|
Build SRDF group-state gripper moves using joint interpolation. An empty gripper group is explicitly a successful no-op. |
2 |
|
Serve sample pick and place actions with a shared one-goal limit. Perception settings are loaded from the beamline configuration when needed. |
5 |
|
Pick samples using named joint poses or marker-guided approach motion; vision resources are initialized lazily. Result poses represent computed approaches, not raw detections. |
4 |
|
Place samples using named joint poses or marker-guided approach motion; vision resources are initialized lazily. Result poses represent computed approaches, not raw detections. |
4 |
|
Expose pipettor driver commands through PipettorAction. |
3 |
|
Forward high-level pipettor commands to the pipettor_operation action; this layer does not build MTC motion tasks. |
3 |
|
Expose configured dock/load motion through ToolExchangeAction. |
3 |
|
Coordinate tool-exchange actions, real-hardware quick-changer voltage release, model relaunch and vision TF invalidation. |
4 |
|
Compose load/dock motion from beamline YAML, including reference-dock offset and full-fraction Cartesian insertion/retraction. Voltage and runtime relaunch are handled separately by ToolExchangeManager. |
2 |
|
Track ePick grasp/release state and latch a drop flag. The status subscription is disabled, so normal construction does not receive live vacuum updates. |
5 |
|
Expose the 2FG7 gripper through a ROS action and joint-state publisher, with hardware and mock modes. |
10 |
|
Low-level 2FG7 Modbus RTU client over the UR tool serial bridge. Writes width/force/speed/mode registers at 0x0000 and reads eight status registers at 0x0100. Dataclass GripperStatus holds decoded widths, busy flag, raw status and registers; no auto-connect at construction. |
10 |
|
Standalone 2FG7 launch exposes serial_port, slave_id, baudrate and use_mock_hardware and forwards them to the Python driver. Unlike the CMS integrated branch, it uses the driver’s correct mock-parameter name. |
1 |
|
Minimal standalone ePick controller-manager launch stub. Declares parent/USB/mock arguments but only forwards USB and fake-hardware values; no robot description or controller spawners are provided here. |
1 |