Skip to content

Conversation

@BioCam
Copy link
Collaborator

@BioCam BioCam commented Dec 15, 2025

Hi everyone,

In previous PRs I've added different object probing methods to the STARBackend class:

Z-Probing

Y-Probing

This PR

Here I am completing the series by adding X-Probing using cLLD:

  async def clld_probe_x_position_using_channel(
    self,
    channel_idx: int,  # 0-based indexing of channels!
    probing_direction: Literal["right", "left"],
    start_pos_search: Optional[float] = None,  # mm
    end_pos_search: Optional[float] = None,  # mm
    move_to_safe_z_before_move_to_start_pos: bool = True,
    post_detection_dist: float = 2.0,  # mm,
    tip_bottom_diameter: float = 1.2,  # mm
    read_timeout=240.0,  # seconds
  ) -> float

Warnings this STARBackend method...

  • can ONLY be used to probe conductive materials (!),
  • assumes you are using a Hamilton 1_000uL teaching needle for probing - if you use a different conductive tip, you have to modify the tip_bottom_diameter argument,
  • should be used with caution - improper usage could break the channel.

Though, I've measured the default speed of this method to be 0.45 mm / second - so you have plenty of time to hit the emergency stop button if you e.g. accidentally made it probe a non-conductive material (e.g. a plate, tube, trough, ...).

Power
Together with z-probing and y-probing, x-probing now enables PyLabRobot programmers to make the STAR measure its own environment... and correct itself if something differs to the workcell model 👀

We are now deep in PLR's "autonomation" stage 🚀

Please let us know your thoughts, and whether you encounter any issues.

Happy automation 🦾

@BioCam BioCam requested a review from rickwierenga December 15, 2025 16:40
@BioCam BioCam requested a review from Copilot December 15, 2025 16:43
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces X-axis probing functionality using capacitive liquid level detection (cLLD) to complete the suite of object probing capabilities for the STAR robot system.

Key Changes:

  • Adds clld_probe_x_position_using_channel() method to enable lateral X-axis probing of conductive materials
  • Updates clld_probe_y_position_using_channel() to round return value to 1 decimal place for consistency

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@rickwierenga
Copy link
Member

Completing the Trinity!!

Copy link
Member

@rickwierenga rickwierenga left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

excellent

BioCam and others added 3 commits December 16, 2025 09:36
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@BioCam BioCam merged commit f335774 into PyLabRobot:main Dec 16, 2025
9 checks passed
@BioCam BioCam deleted the create-clld-probe-in-x-dimension branch December 16, 2025 20:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants