DiamondLightSource / hyperion

Unattended Data Collection using BlueSky / Ophyd
BSD 3-Clause "New" or "Revised" License
5 stars 5 forks source link

Save and restore lower gonio poisitions before/after robot load #1439

Open DominicOram opened 3 weeks ago

DominicOram commented 3 weeks ago

The smargon is mounted on a set of lower gonio stages BL03I-MO-GONP-01:X etc. The robot is taught to load/unload on to the smargon when these stages are at 0. However, throughout the run this gonio is recalibrated to make sure pins are still correctly aligned with the OAV when they are mounted.

Acceptance criteria

For every robot load we need to:

DominicOram commented 3 weeks ago

GDA does this by doing the following:

DominicOram commented 3 weeks ago

Discussed with scientists at https://diamondlightsource.slack.com/archives/C048RD0KFFF/p1718118995771029. Happy to not read the xml in hyperion and just cache the motor positions before load then reapply them

ndg63276 commented 3 weeks ago

A couple of minor points:

GDA does both of these things already.

DominicOram commented 3 weeks ago

Additionally, we should have a limit of if the cached position is > 0.2 mm away from 0 then do not do the robot load. GDA currently does this too

DominicOram commented 3 weeks ago

Made an initial start at doing this in a plan at https://github.com/DiamondLightSource/dodal/tree/hyperion_1439_cache_lower_gonio but it may be easier to do by using the reset_positions_wrapper pre-processor see https://diamondlightsource.slack.com/archives/C04TCA0AF2P/p1718201303789869.