Project

General

Profile

Using AOS (Active Optics System)

The active optics system corrects the focus and alignment of DECam automatically using information obtained from the eight focus and alignment sensors. These eight sensors (FS1-FS4 and FN1-FN4) are alternately 1.5 mm above and below focus. The image produced by a star is therefore and image of the pupil plane (donut shaped). Using the time between reading out the 2k x 2k FA sensors and the 2k x 4k science sensors, ~40 donut images will be analyzed and a correction to the hexapod settings will be sent.

Currently SISPI will initialize DECam to control all 5 terms in the hexapod (we call this AOS5). Focus control is extremely robust and should keep the camera focused to within 30 microns rms. An observer wishing to control only focus should enter use the Architect Console as described below.

How to Enable and Disable Full AOS Control

The command to turn on AOS control of DX, DY, tip and tilt is (AOS5) (now default)

FOCUS.AOS init_pid aos5 
Use the Architect Console GUI to send this command:
  • Go to the Architect Console
  • On the left side click on the AOS role. Typically the AOS is running on readout6
  • This fills in FOCUS and AOS in the component and device fields of the Command Section in the upper right corner of the GUI (If you prefer, you can also enter this manually)
  • Enter the command init_pid aos5 in the command field and hit return.
  • The string DX/DY/tip/tilt on will be printed in the log window

The above command will turn on active control of the hexapod for all 5 free parameters (and initialize the PID controllers).

To use focus only control only you have to do two things:

1) issue the command

FOCUS.AOS init_pid aos1

2) clear any accumulated trim values in the hexapod application.
Step-by-step instructions:
  • Go to the Architect Console
  • On the left side click on the AOS role. Typically the AOS is running on readout6
  • This fills in FOCUS and AOS in the component and device fields of the Command Section in the upper right corner of the GUI (If you prefer, you can also enter this manually)
  • Enter the command "init_pid aos1" in the command field and hit return.
  • The string DX/DY/tip/tilt off will be printed in the log window
  • Find the Hexapod section on the ICS GUI
  • Click on the Trim button
  • A new window will pop up. In this window enter a 0 (zero, not the letter O) in the fields for DX, DY, tip and tilt. The fields are not labeled (we'll fix that eventually). From left to right they are DX, DY, DZ, tip, tilt. DZ is the focus. Leave this value alone.
  • Click the Submit button

To disable AOS

1) issue the command

FOCUS.AOS init_pid aos_off

To simply (re)initialize the PID controllers (clears integrals and/or accepts new P, I and/or D constants)

1) issue the command

FOCUS.AOS init_pid aos_init

AOS command syntax

init_pid aos_off # turns off all terms
init_pid aos_init # makes no changes but reinitializes with current constants
init_pid aos1 # initializes DZ (focus only control)
init_pid aos5 #  initializes to control dx/dy/dz and tip/tilt (roll always zero)

Advanced use.

If using any of the following commands, the log windows in architect console should be checked after each command to confirm that command was successful.

AOS1 mode (init_pid aos1) essentially makes the following calls

FOCUS.AOS set p 0.0, 0.0, 0.300, 0.0, 0.0, 0.0 # only dz has proportional gain
FOCUS.AOS set i 0.0, 0.0, 0.120, 0.0, 0.0, 0.0 # only dz has integral gain
FOCUS.AOS set d 0.0, 0.0 ,0.188, 0.0, 0.0, 0.0 # only dz has derivative gain
FOCUS.AOS set move_enabled 0,0,1,0,0,0 # only dz allowed to move
FOCUS.AOS set init_pid aos_init # reinitialize with the values set above

AOS5 mode (init_pid aos5) essentially makes the following calls

FOCUS.AOS set p 0.3, 0.3, 0.300, 0.3, 0.3, 0.0 # proportional gain
FOCUS.AOS set i 0.12, 0.12, 0.120, 0.12, 0.12, 0.0 # integral gain
FOCUS.AOS set d 0.0, 0.0 ,0.188, 0.0, 0.0, 0.0 # derivative gain
FOCUS.AOS set move_enabled 1,1,1,1,1,0 # all but roll (az) allowed to move
FOCUS.AOS set init_pid init_pid # reinitialize with the values set above

Really advanced use.

AOS1 and AOS5 also turn of BCAM input by default (using the following command)

FOCUS.AOS set weight_bcam 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, # bcams not used
FOCUS.AOS set weight_donut 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, # donuts used for dx, dy, dz, ax/tx, ay/ty

Theoretically, bcams should be used for dx and dy (and ax/ay) but have not been integrated for myriad reasons. To use them

FOCUS.AOS set weight_bcam 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, # use bcams for dx, dy, ax/tx, and ay/ty
FOCUS.AOS set weight_donut 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, # use donuts for dz only
FOCUS.AOS set init_pid aos_init # reinitialize with the values set above

Bcam information is known to sometimes not be available when aos requests the info (not debugged). Bcam signs (+/-) are also not debugged. When testing, it is recommended that only one term be switched from donut to bcam at a time.

Really, really advanced use.

During engineering, CTIO may wish to test alternate PID settings for the AOS control loop. This is how to do so.

Note: only experts should ever do this.

To set the AOS to keep one of the variables somewhere other than zero.

FOCUS.AOS set set_points dx,dy,dz,xt,yt,0.0 
FOCUS.AOS set set_points 0,0,0,0,0,0 # [default]

To adjust the proportional, integral and derivative terms of the PID controller [defaults shown above].

FOCUS.AOS set P kpdx,kpdy,kpdz,kpxt,kpyt,0.0
FOCUS.AOS set I kidx,kidy,kidz,kixt,kiyt,0.0 
FOCUS.AOS set D kddx,kddy,kddz,kdxt,kdyt,0.0 

And finally to initialize with these new values

FOCUS.AOS init_pid aos_init