NRAO Home  >  Green Bank  |  Wiki Topic:    GB > Software > TWikiUsers > DanaBalser > ModificationRequest1C406
   Changes | Index | Contents | Search | Statistics | Go

Incorporate OOF Holography Zernike Models into Active Surface

Modification Request #1 (C4 2006)



1. Introduction

The purpose of this MR is to incorporate the Out-Of-Focus (OOF) Holography results directly into the Active Surface manager similar to how the Finite Element Model (FEM) works. That is, before a subscan starts the Active Surface will determine the expected elevation at the midpoint of the subscan and set the Zernike coefficients appropriately.

This MR also describes a bug in the active surface, which causes the actuators to lag one sub-scan behind. (i.e. demand positions of the actuators are for the prior sub-scan , not the current sub-scan.)

2. Background

The Active Surface manager is currently able to adjust the surface via the correctionSelect parameter by (1) Zero Offsets; (2) FEM; (3) Random Offsets; and (4) Zernike Model. Recent measurements using OOF Holography have revealed a gain elevation curve in addition to the finite element model. These incremental adjustments are currently being made using user-defined ScanTypes called AutoPeakFocus2 and ZernikeOnV2.

We wish to incorporate these models directly into the Active Surface.

AutoPeakFocus2 and ZernikeModel can be found in /home/groups/ptcs/obs/turtle.

The currently available Zernike Models can be found in /home/groups/ptcs/surfmodels.

3. Requirements

  1. When in the Zernikie model mode, the Active Surface manager shall adjust the surface based on the expected elevation before the start of a subscan using Zernike Coefficents that have been determined from OOF holography observations.
    1. The Zernike Coefficients shall be computed from the elevation and a named gravity model.
    2. The elevation value shall be the antenna's elevation at the midpoint of the subscan.
    3. Pre-determined gravity models shall be identified by a unique name.
  2. The user shall also have a means of directly specifying the desired Zernike Model.
  3. The user shall be able to easily create and name new gravity models.
  4. The name of the active gravity model, correction selections, and correction modes shall be stored in the FITS file.

4. Design

Add Tables to Database

The wavefront error for a given observation can be described by the summation of Zernike polynomials Zn*. Wavefront errors as a function of elevation can be parameterized in the form:

  Zn = An*sin(el) + Bn * cos(el) + Cn

Where n is the Zernike index; and the gravity-model coefficients An,Bn,Cn are used to form the magnitude of Zn for a given sub-scan elevation midpoint. See Memo #47.

For this chacterization, two new tables will be added to the antenna_pfm database.

Add Parameters to the Active Surface Manager

These parameters will allow the Zernike Model to be specified at several levels via the parameters: zernike_gravity_model, zernike_gravity_model_coeff, or zernike_coeff.

FITS Enhancement

If the Zernike Coefficients are computed from the gravity model, then the name of the gravity model will be stored as the keyword value ZERNGMOD of the Primary table header. If the Zernike Coefficients are entered directly or Zernike corrections are turned off then the keyword value is "NONE".

The keyword values ZERO, FEM, RANDOM, and ZERNIKE will be added to the Primary table to describe the settings of the correctionSelect parameter.

Resolution of Pre-Existing Bug

The active surface currently has a bug in that the actuators to lag one sub-scan behind their demands. The cause of this bug is the fact that the active surface does not follow the requirements for devices on an Ygor controlled telescope, namely, that each device must report its Earliest Guranteed Start Time (EGST), i.e., how long it will take the software to configure the device. This is needed to allow the system to prevent a scan from starting before all devices have completed their configurations. This is especially important for devices requiring physical movement such as the antenna or the active surface.

To make the ActiveSurfaceMgr a compliant synchronous manager:

Unfortunately, the current implementation of the active surface system is indeterminate as far as predicting the latency of actuator movements. Though the time required to move an actuator is fairly predictable (linear regression yields r = .9834), the latency from the time the "move" command is sent until the actuators begin to move varies randomly between 2 and 9 seconds (and in one case it took 60 seconds). The longer delays tend to occur for the shorter movement distances, but not always. Until this problem can be solved in the active surface system, the "overshoot", i.e., the movement time beyond the estimated time, has been minimized with the assumption that small movements at the start of a scan are innocuous.

5. Deployment Checklist

Beyond normal build, install, and release procedures ...

Out of Scope

6. Test Plan

6.1 Internal Testing

Add a unit_test_only gravity model for running unit tests in conjunction with the Active Surface Manager. The unit test shall verify:

Configure the ActiveSurfaceMgr mode alternately between zero offsets and zernike model and run scans, verify:

transition estimated - actual (secs)
max min median
random (300) -> zero 4.87 -4.10 .14
zero -> zernike 24.56 -4.15 -.50
random (1) -> zero -4.14 -16.38 -7.98
zernike -> zero .41 -4.83 -.91
zero -> random (1) -.13 -7.93 -4.14
zero -> random (300) 3.29 -4.17 -.41

Confirm that the active surface does not lengthen the inter-scan latency by measuring the time between adjacent Tracks. The delta measured is the time from the end of the first Running state to the start of the second Running state. Each line in the following table represents two tracks as follows:

  1. set ActiveSurface's parameter correctionSelect,zernike value to z1
  2. run Track in J2000 coordinates such that azimuth is at approximately 180 and elevation is at el1 for 5 seconds
  3. during the above Track, set ActiveSurface's parameter correctionSelect,zernike value to z2
  4. run Track in J2000 coordinates such that azimuth is at approximately 180 and elevation is at el2 for 5 seconds
  5. in the case that el1 and el2 are identical, the J2000 coordinates for the two successive Tracks should also be identical

ActiveSurface in use el1 el2 z1 z2 delta
no 10 80 NA NA 3:36
no 80 80 NA NA :13
yes 80 80 False False :17
yes 80 80 True True :26
yes 80 80 False True :17
yes 80 80 True False :16
yes 80 10 True True 3:37
no 10 10 NA NA :14
yes 10 10 False False :25
yes 10 10 True True :16
yes 10 10 False True :16
yes 10 10 True False :16
yes 10 80 True True 3:31
no 80 10 NA NA 3:32

As implemented in script asmgrtest.

The results show for small adjustments to the surface, the Active Surface Manager increases the inter-scan latency by several seconds.

As a result of this test, the algorithm for computing the EGST has been changed. Previously the criterion for ignoring the time needed to set the surface, i.e., allowing the surface to settle for small distances for a short period of time at the beginning of a scan, was when the maximum required movement was less than 100 microns. The new criterion is when the RMS required movements is less than the value of the Active Surface config file value MinimumSignficantRMSActuatorDriveMovement, initially 100 microns. Note no measurements have been collected using this new algorithm.

6.2 Sponsor Testing

Add current zernike gravity models to the database.

Prior to Q-band being available:

Once Q-band is installed:

6.3 Integration/Regression Tests


Signatures

APPROVED: I acknowledge that my request is fully contained in this MR, and if the SDD delivers exactly what I specified, I will be happy.

ACCEPTED: I acknowledge that I have validated the completed code according to the acceptance tests, and I am happy with the results.

Written DONE - MarkClark - 06 Sep 2006
Checked DONE - JoeBrandt - 08 Sep 2006
Approved by Sponsor DONE - RichardPrestage - 11 Sep 2006
Approved by CCC DONE - JohnFord - 22 Sep 2006
Accepted/Delivered by Sponsor DONE - RichardPrestage 25 Sep 2006

Symbols:


CCC Discussion Area


* - Normally a subscript 'n' denoting radial order and a superscript 'm' denoting angular frequency  (Z^{n}_{m}) are used to specify a Zernike coefficient. The notation convention used by the GBT control software uses a single index notation  Z_{N} (or Zn in ASCII) which is described in the page found here.

Attachment: sort Action: Size: Date: Who: Comment:
asmgrtest.py action 1220 20 Sep 2006 - 14:30 MarkClark  

Topic ModificationRequest1C406 . { Edit | Attach | Ref-By | Printable | Diffs | r1.42 | > | r1.41 | > | r1.40 | More }
Revision r1.42 - 25 Sep 2006 - 11:57 GMT - RichardPrestage
Parents: TWikiUsers > DanaBalser
Content copyright © 1999-2007 by the contributing authors.
All material on this collaboration platform is the property of the contributing authors.

Software.ModificationRequest1C406 moved from Main.DanaBalserMRActiveSurface on 09 May 2006 - 17:46 by AmyShelton - put it back