|
6 | 6 | "source": [ |
7 | 7 | "# iSWAP Module\n", |
8 | 8 | "\n", |
9 | | - "The iSWAP is a plate transport gripper arm on the Hamilton STAR(let). After {meth}`~pylabrobot.hamilton.liquid_handlers.star.star.STAR.setup`, it is available as `star.iswap` — an {class}`~pylabrobot.arms.arm.OrientableArm` whose backend is an {class}`~pylabrobot.hamilton.liquid_handlers.star.iswap.iSWAPBackend`.\n", |
| 9 | + "The iSWAP is a plate transport gripper arm on the Hamilton STAR(let). After {meth}`~pylabrobot.hamilton.liquid_handlers.star.star.STAR.setup`, it is available as `star.iswap` — an {class}`~pylabrobot.capabilities.arms.arm.OrientableArm` whose backend is an {class}`~pylabrobot.hamilton.liquid_handlers.star.iswap.iSWAPBackend`.\n", |
10 | 10 | "\n", |
11 | 11 | "This notebook covers low-level iSWAP control: parking, gripper, rotations, slow movement, and manual teaching/calibration. For high-level plate movement, use `star.iswap.move_resource(plate, destination)`." |
12 | 12 | ] |
|
36 | 36 | "cell_type": "markdown", |
37 | 37 | "metadata": {}, |
38 | 38 | "source": [ |
39 | | - "After `setup()`, `star.iswap` is an {class}`~pylabrobot.arms.arm.OrientableArm` if the hardware is installed, or `None` if it is not. The low-level backend is `star.iswap.backend`, which is an {class}`~pylabrobot.hamilton.liquid_handlers.star.iswap.iSWAPBackend`." |
| 39 | + "After `setup()`, `star.iswap` is an {class}`~pylabrobot.capabilities.arms.arm.OrientableArm` if the hardware is installed, or `None` if it is not. The low-level backend is `star.iswap.backend`, which is an {class}`~pylabrobot.hamilton.liquid_handlers.star.iswap.iSWAPBackend`." |
40 | 40 | ] |
41 | 41 | }, |
42 | 42 | { |
|
62 | 62 | { |
63 | 63 | "cell_type": "markdown", |
64 | 64 | "metadata": {}, |
65 | | - "source": "### Opening the gripper\n\nOpen the iSWAP gripper using {meth}`~pylabrobot.arms.orientable_arm.OrientableArm.open_gripper`. **Warning**: this will release any object that is gripped. Useful for error recovery." |
| 65 | + "source": "### Opening the gripper\n\nOpen the iSWAP gripper using {meth}`~pylabrobot.capabilities.arms.orientable_arm.OrientableArm.open_gripper`. **Warning**: this will release any object that is gripped. Useful for error recovery." |
66 | 66 | }, |
67 | 67 | { |
68 | 68 | "cell_type": "code", |
|
223 | 223 | { |
224 | 224 | "cell_type": "markdown", |
225 | 225 | "metadata": {}, |
226 | | - "source": "### Closing the gripper\n\nClose the iSWAP gripper using {meth}`~pylabrobot.arms.orientable_arm.OrientableArm.close_gripper`. This will throw an error if there is no object to grip. You can optionally pass {class}`~pylabrobot.hamilton.liquid_handlers.star.iswap.iSWAPBackend.CloseGripperParams` to control grip strength and plate width tolerance." |
| 226 | + "source": "### Closing the gripper\n\nClose the iSWAP gripper using {meth}`~pylabrobot.capabilities.arms.orientable_arm.OrientableArm.close_gripper`. This will throw an error if there is no object to grip. You can optionally pass {class}`~pylabrobot.hamilton.liquid_handlers.star.iswap.iSWAPBackend.CloseGripperParams` to control grip strength and plate width tolerance." |
227 | 227 | }, |
228 | 228 | { |
229 | 229 | "cell_type": "code", |
|
293 | 293 | "\n", |
294 | 294 | "\n", |
295 | 295 | "\n", |
296 | | - "The `rotate` method moves the wrist drive and the rotation drive simultaneously in one smooth motion. It takes a parameter for the rotation drive ({class}`~pylabrobot.hamilton.liquid_handlers.star.iswap.iSWAPBackend.RotationDriveOrientation`), and the final `grip_direction` ({class}`~pylabrobot.arms.standard.GripDirection`) of the iSWAP. The `grip_direction` is the same parameter used by high-level plate movement and is with respect to the deck. This is easier than controlling the rotation drive, which is with respect to the wrist drive.\n", |
| 296 | + "The `rotate` method moves the wrist drive and the rotation drive simultaneously in one smooth motion. It takes a parameter for the rotation drive ({class}`~pylabrobot.hamilton.liquid_handlers.star.iswap.iSWAPBackend.RotationDriveOrientation`), and the final `grip_direction` ({class}`~pylabrobot.capabilities.arms.standard.GripDirection`) of the iSWAP. The `grip_direction` is the same parameter used by high-level plate movement and is with respect to the deck. This is easier than controlling the rotation drive, which is with respect to the wrist drive.\n", |
297 | 297 | "\n", |
298 | 298 | "For example, to extend the iSWAP fully to the left, call `rotate(rotation_drive=iSWAPBackend.RotationDriveOrientation.LEFT, grip_direction=GripDirection.RIGHT)`. `GripDirection.RIGHT` means the gripper will be gripping the object from the right hand side, so the gripper fingers point left with respect to the deck. Compare this to `rotate(rotation_drive=iSWAPBackend.RotationDriveOrientation.RIGHT, grip_direction=GripDirection.RIGHT)`, where the gripper fingers still point left, but the rotation drive points right and the wrist drive is in \"REVERSE\" orientation (folded up).\n", |
299 | 299 | "\n", |
|
307 | 307 | "outputs": [], |
308 | 308 | "source": [ |
309 | 309 | "from pylabrobot.hamilton.liquid_handlers.star.iswap import iSWAPBackend\n", |
310 | | - "from pylabrobot.arms.standard import GripDirection\n", |
| 310 | + "from pylabrobot.capabilities.arms.standard import GripDirection\n", |
311 | 311 | "\n", |
312 | 312 | "await star.iswap.backend.rotate(\n", |
313 | 313 | " rotation_drive=iSWAPBackend.RotationDriveOrientation.LEFT,\n", |
|
0 commit comments