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

MT Camera Hexapod pivot point modifications are not reported in the EUI or the EFD.

    XMLWordPrintable

    Details

      Description

      The pivot point should be (0,0,0) now but it appears unchanged in the notebook and no event generated in the EFD.

      pivot at (0, 0, -2758400) microns

      Starting the test at 2021-06-14 13:32:24 UTC:

      1. Reading the event configuration

        hexConfig = await hexapod_csc.evt_configuration.aget(timeout=10.)

        Getting the Pivot point and limits:

        pivot at (0, 0, -2758400) microns 
        maxXY = 11400.0 microns, maxZ= 13100.0 microns
        maxUV = 0.36 deg, maxW= 0.1 deg

      2. Moving to test position
        x=2000,y=-3500,z=200,u=0.01,v=-0.05,w=0.002,sync=True)
        Result:

         INFO:Script:START- Camera Hexapod Integration Test -- LVV-T1600 Pivot test - Moving to testing position- Starting time: 2021-06-14 13:49:40.434948 UTC   

         hex position 2000.57 -3499.85 200.17 0.01 -0.05 0.00

      3. Setting new Pivot point

        await hexapod_csc.cmd_setPivot.set_start(x=0,y=0,z=0)

        Result:

         INFO:Script:START- Camera Hexapod Integration Test -- LVV-T1600 Pivot test - Pivot point set to (0,0,0)- Starting time: 2021-06-14 13:35:14.816864 UTC    

        hex position -407.81 -3981.81 198.72 0.01 -0.05 0.00

      Values changed in the EUI (Hex.Pos.Actual) and in the EFD.
      Changes are shown in Chronograph.
      Strut. Pos. Actual in the EUI unchanged – no movement
      Pivot Point (microns!) value in the EUI did not change!

      1. Reading the event configuration again

        hexConfig = await hexapod_csc.evt_configuration.aget(timeout=10.)

        Getting the Pivot point and limits:

        pivot at (0, 0, -2758400) microns 
        maxXY = 11400.0 microns, maxZ= 13100.0 microns
        maxUV = 0.36 deg, maxW= 0.1 deg

        **
        The pivot point should be (0,0,0) now but appears unchanged here and no event generated in the EFD.

      1. Setting back the Pivot point:

        await hexapod_csc.cmd_setPivot.set_start(x=0,y=0,z=-2758400)

      1. Result:

        INFO:Script:START- Camera Hexapod Integration Test -- LVV-T1600 Test Step 29 - Pivot set (0,0,-2758400)- Starting time: 2021-06-14 13:49:40.434948 UTC 
         
        hex position 4408.05 -3018.38 201.33 0.01 -0.05 0.00

         First try: Values did not change back! Not when reading from the EFD, not in the EUI.

      *Second try: Restart the EUI, move to zero, move to test position. Change the Pivot point forth and back between (0,0,0) and (0,0,-2758400) everything seems to be normal. *

       
      Note: Holger asks to add a print for the "pivot" field in the "config" events to the low-level controller.

        Attachments

        1. pivotUpdateEFD.png
          pivotUpdateEFD.png
          342 kB
        2. pivotValueChange.png
          pivotValueChange.png
          672 kB
        3. timeFrame.png
          timeFrame.png
          68 kB

          Issue Links

            Activity

            Hide
            ttsai Te-Wei Tsai added a comment -

            I noticed the DDS does not get the update of pivot. I rewrote the logic in sys.c to publish the data to DDS.

            Show
            ttsai Te-Wei Tsai added a comment - I noticed the DDS does not get the update of pivot. I rewrote the logic in sys.c to publish the data to DDS.
            Hide
            ttsai Te-Wei Tsai added a comment -

            After the discussion with Russell Owen and Tiago Ribeiro, we decided to add the leap second 37 sec to the CLOCK_HOST_REALTIME as a quick and dirty solution (just hard-coded in the code and add "TO DO"). For a long term solution, we may want to add a look-up table in the low-level controller or update the Xenomai source code to support the CLOCK_TAI in clock_gettime().

            Show
            ttsai Te-Wei Tsai added a comment - After the discussion with Russell Owen  and Tiago Ribeiro , we decided to add the leap second 37 sec to the CLOCK_HOST_REALTIME as a quick and dirty solution (just hard-coded in the code and add "TO DO"). For a long term solution, we may want to add a look-up table in the low-level controller or update the Xenomai source code to support the CLOCK_TAI  in clock_gettime() .
            Hide
            ttsai Te-Wei Tsai added a comment -

            Holger and I checked the EFD that the CSC has the update of pivot values now:

            Show
            ttsai Te-Wei Tsai added a comment - Holger and I checked the EFD that the CSC has the update of pivot values now:
            Show
            ttsai Te-Wei Tsai added a comment - Please help to review the PRs: 1. https://github.com/lsst-ts/ts_hexapod_controller/pull/17 2. https://github.com/lsst-ts/ts_hexapod_gui/pull/14 Thanks!
            Hide
            rowen Russell Owen added a comment -

            Reviewed on github

            Show
            rowen Russell Owen added a comment - Reviewed on github

              People

              Assignee:
              ttsai Te-Wei Tsai
              Reporter:
              hdrass Holger Drass
              Reviewers:
              Russell Owen
              Watchers:
              Andy Clements, Holger Drass, Russell Owen, Te-Wei Tsai
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Jenkins

                  No builds found.