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

The low-level Rotator controller should use TAI time when processing track commands

    XMLWordPrintable

Details

    • 1
    • TSSW Sprint - Apr 26 - May 10
    • Telescope and Site
    • No

    Description

      All axis controllers are expected to use TAI date to understand and process tracking commands, which contain a position, a velocity, and a time at which the position applies. Tracking commands specify a path of constant velocity:

      position(tai) = position0 + velocity0 * (tai - tai0)
      

      Where position0, velocity0 and tai0 are the values in the track command.

      The axis controller is expected to interpolate between adjacent tracking commands, so that the commanded path is more complicated than the equation shown above. But to do that interpolation correctly, it is necessary for the axis controller to know the current TAI date.

      Unfortunately it appears that the rotator does not know anything about TAI time. It should read time from the CLOCK_TAI system clock for processing track commands.

      It would also be helpful if it used CLOCK_TAI for other times, such as the timestamp in the telemetry header. The standard unix real time clock (which is what the rotator is using) is not well defined near a leap second, whereas CLOCK_TAI is completely uniform and unaffected by leap seconds.

      Attachments

        Issue Links

          Activity

            ttsai Te-Wei Tsai added a comment -

            Use the TAI time in telemetry and Simulink model.

            ttsai Te-Wei Tsai added a comment - Use the TAI time in telemetry and Simulink model.
            ttsai Te-Wei Tsai added a comment -

            Updated the controller code and EUI.

            ttsai Te-Wei Tsai added a comment - Updated the controller code and EUI.
            ttsai Te-Wei Tsai added a comment - Please help to review the PRs: 1. https://github.com/lsst-ts/ts_rotator_gui/pull/9 2. https://github.com/lsst-ts/ts_rotator_controller/pull/18 Thanks!
            rowen Russell Owen added a comment -

            Thank you very much for making this important change.

            If practical, please also make this change to the hexapod controllers, so that the headers are consistent between the two. I can file a separate ticket if you prefer. That work would be much lower priority than the rotator work.

            rowen Russell Owen added a comment - Thank you very much for making this important change. If practical, please also make this change to the hexapod controllers, so that the headers are consistent between the two. I can file a separate ticket if you prefer. That work would be much lower priority than the rotator work.
            ttsai Te-Wei Tsai added a comment -

            Add the DM-30120 to do the same change for hexapod.

            ttsai Te-Wei Tsai added a comment - Add the DM-30120 to do the same change for hexapod.

            People

              ttsai Te-Wei Tsai
              rowen Russell Owen
              Russell Owen
              Russell Owen, Te-Wei Tsai
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Jenkins

                  No builds found.