# AOS rotation: rotate M1 surface grid

XMLWordPrintable

#### Details

• Type: Improvement
• Status: Done
• Resolution: Done
• Fix Version/s: None
• Component/s:
• Labels:
• Story Points:
3
• Team:
Telescope and Site

#### Description

The finding of DM-34065, which confirms https://confluence.lsstcorp.org/display/LTS/Closed-Loop+Simulation+with+Non-Zero+Camera+Rotation+Angle was that rotTelPos does not change the angle between the camera and the M1M3 assembly. As https://sitcomtn-003.lsst.io/#camera-rotator explains, there are various ways to address nonzero camera rotator angle, and one is implemented in ts_ofc  (https://github.com/lsst-ts/ts_ofc/blob/develop/python/lsst/ts/ofc/camrot.py used in https://github.com/lsst-ts/ts_ofc/blob/f33ffaf1f84dcdd7e7d526118c647cffcc7bf4ef/python/lsst/ts/ofc/ofc.py#L232 ).

The goal of this ticket is to rotate the calculated grid surface for M1, such as randSurfInM in https://github.com/lsst-ts/ts_phosim/blob/2d3ab7a18d5ba89c719a232a4beba19f8443724e/python/lsst/ts/phosim/telescope/M1M3Sim.py#L631 . It would be physically correct to rotate M1, M2, and M3 to "fake" the camera rotation. However, the main perturbation terms come from M1, and dominates those of M2,M3. So to test the principle, we try first only rotate M1.  Then inspect the generated donut images and  OPDs, and compare to the un-rotated images. Check whether retrieved Zernikes are rotated or not.

#### Attachments

1. image-2022-04-29-14-04-39-929.png
298 kB
2. image-2022-04-29-14-05-14-374.png
288 kB

#### Activity

Hide
Krzysztof Suberlak added a comment -
Show
Krzysztof Suberlak added a comment - The notebook with this test is at  https://github.com/suberlak/AOS/blob/main/AOS_DM-34424_rotate_M1_surfaceGrid.ipynb
Hide
Krzysztof Suberlak added a comment - - edited

In summary, we simulate rotation of the  M1M3 surface map, exploring angles 0, 30, 90 (attached image shows a 90 degree CCW rotation).  The surface is random, but repeatable, thanks to identical simulation seed passed to np.random.seed(int(seedNum))

The expectation was that since M1M3 contributes to the majority of perturbations, the orthogonal pairs of Zernikes would be rotated (eg. between 0 and 90, zk5 <–>zk6, etc. ). To confirm that M2 has negligible contribution to wavefront error, we  simulated both  case where M1M3  and M2  is simulated (M2_M1M3 below), or only M1M3 (with the M2 subsystem turned off). The figure below shows the recovered Zernike coefficients for various rotations of M1M3 surface map, with or without M2. The top panel shows indeed very small difference whether M2 is included or not for the same  rotation of M1M3 surface. For this reason the bottom panel displays the residuals between M2_M1M3  and M1M3 only simulations for a given rotation of M1M3 surface. They are on the order of few tens of nm, i.e. contribution of M2 is <1% for most Zk numbers.

Show
Krzysztof Suberlak added a comment - - edited In summary, we simulate rotation of the  M1M3 surface map, exploring angles 0, 30, 90 (attached image shows a 90 degree CCW rotation).  The surface is random, but repeatable, thanks to identical simulation seed passed to np.random.seed(int(seedNum)) The expectation was that since M1M3 contributes to the majority of perturbations, the orthogonal pairs of Zernikes would be rotated (eg. between 0 and 90, zk5 <–>zk6, etc. ). To confirm that M2 has negligible contribution to wavefront error, we  simulated both  case where M1M3  and M2  is simulated (M2_M1M3 below), or only M1M3 (with the M2 subsystem turned off). The figure below shows the recovered Zernike coefficients for various rotations of M1M3 surface map, with or without M2. The top panel shows indeed very small difference whether M2 is included or not for the same  rotation of M1M3 surface. For this reason the bottom panel displays the residuals between M2_M1M3  and M1M3 only simulations for a given rotation of M1M3 surface. They are on the order of few tens of nm, i.e. contribution of M2 is <1% for most Zk numbers.
Hide
Joshua Meyers added a comment -

Fine to close this; nothing to merge.

Show
Joshua Meyers added a comment - Fine to close this; nothing to merge.

#### People

Assignee:
Krzysztof Suberlak
Reporter:
Krzysztof Suberlak
Reviewers:
Joshua Meyers
Watchers:
Andrew Connolly, Joshua Meyers, Krzysztof Suberlak, Te-Wei Tsai
0 Vote for this issue
Watchers:
4 Start watching this issue

#### Dates

Due:
Created:
Updated:
Resolved:
Start date:

#### Jenkins

No builds found.