Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-34424

AOS rotation: rotate M1 surface grid

    XMLWordPrintable

Details

    • Improvement
    • Status: Done
    • Resolution: Done
    • None
    • ts_aos

    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

        Issue Links

          Activity

            ksuberlak 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    
            ksuberlak 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. 

             

            ksuberlak 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.   

            Fine to close this; nothing to merge.

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

            People

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

              Dates

                Created:
                Updated:
                Resolved:

                Jenkins

                  No builds found.