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

      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

            Hide
            ttsai Te-Wei Tsai added a comment -

            Use the TAI time in telemetry and Simulink model.

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

            Updated the controller code and EUI.

            Show
            ttsai Te-Wei Tsai added a comment - Updated the controller code and EUI.
            Show
            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!
            Hide
            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.

            Show
            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.
            Hide
            ttsai Te-Wei Tsai added a comment -

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

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

              People

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

                Dates

                Created:
                Updated:
                Resolved:
                Start date:
                End date:

                  Jenkins Builds

                  No builds found.