simonsobs / socs

Simons Observatory specific OCS agents.
BSD 2-Clause "Simplified" License
12 stars 12 forks source link

HWP ACU checks for spin-up #688

Open jlashner opened 4 weeks ago

jlashner commented 4 weeks ago

This PR adds a check of the ACU elevation before allowing for spinup of the HWP.

Description

Adds ACU state information to the HWPState class. This state info is used by the control-state update function to check the ACU elevation and last update time before enabling spin-up.

Motivation and Context

Motivation is described in Kyohei's discussion here: https://github.com/simonsobs/daq-discussions/discussions/96.

How Has This Been Tested?

This has not yet been tested! @ykyohei can we test this on one of the SATs? To test at a safe elevation, we can raise the acu_min_el param.

Types of changes

Checklist:

ykyohei commented 4 weeks ago

Thank you so much for doing this quickly. Yes, we can test this.

I have a question. Do you plan to implement the constraints between gripper and ACU by implementing it directly in the gripper agent? Or do you plan to add gripper control in the supervisor function?

jlashner commented 4 weeks ago

@ykyohei My intention is to implement grip / ungrip procedures (or at least a wrapper for the gripper agent ops) in the supervisor, and to add the acu checks here. That will be the next PR.

ykyohei commented 2 weeks ago

I tested the acu_check in daq-dev and made small debugs. I believe it's working now.

jlashner commented 2 weeks ago

Great, thanks Kyohei!

I just implemented Matthew's suggestion for acquiring the last_updated timestamp from ACU session data, and also added a brief section to the docs on ACU safety checks that we can expand as we add the gripper operations and checks.