UseCaseImplementations - NewtonFund/NewTCS GitHub Wiki
These are attempts to encode the use cases (ListOfUseCases) in the current ACS command set.
1 "Simple non-siderial tracking"
- Zej is putting a worked example in the ICS doc.
2 "Source centred on a specific pixel (x, y)"
- Doing exactly this is illustrated in use case 21
- It is not an automated feature of the ACS though. The iteration, decision making and command sequencing is out of scope of the ACS.
3 "Defocus secondary mirror by 1mm"
- There are no ACS commands required for defocus observations.
- Focus is out of scope of the ACS
- Optionally the hardware level controllers are free to send
AxisInfo,AxisFocus=xxx
messages which might hypothetically impact on the pointing.
ACS:TrackInit TrackRA=6.7524778 TrackDec=-16.7161111 TrackEquinox=J2000 TrackEpoch=2000-01-01T11:58:55.816 TrackRotFrame=celestial TrackRotAngle=0 TrackFreq=20 TrackDest=<IP of the NARIT command broker>
ACS starts sending AxisDemand
messages 20 times per second.
ACS is expecting to be receiving AxisInfo
messages and may enter a fail state if it does not.
Something else (not the ACS) needs to tell the secondary to move
Wait until mirror gets in position
Now I am free to start the exposures
4 "Coordinate multiple telescopes"
- Out of scope.
- This interface is designed to be appropriate to a single supervisory system that is driving multiple telescopes simultaneously so it certainly supports the concept but that coordination is entirely outside the ACS scope.
5 "Non-linear, non-siderial tracking"
- Yes possible. Zej is looking at a worked example to put in the ICD.
6 "Automated mosaic tiling"
- Out of scope.
- UI or scheduler function. Not an ACS function.
7 "Named objects"
- Out of scope.
- UI function. Not an ACS function.
- Technically is actually possible to read a catalogue from disk through use of the TrackRead command.
8 "Arbitrary coordinate systems"
- Out of scope.
- ACS does support arbitrary equinoxes, (e.g., J2010 as opposed the usual J2000) but only that one limited case of either B or J with an arbitrary equinox year.
9 "Measuring parallax"
- Out of scope.
- Scheduler function. Not an ACS function.
10. "Offset the telescope 10 arcsec in X coordinate of my instrument"
ACS:TrackInit TrackRA=6.7524778 TrackDec=-16.7161111 TrackEquinox=J2000 TrackRotFrame=celestial TrackRotAngle=0 TrackFreq=0.2 TrackDest=<IP of the NARIT command broker> TrackUseAG=false
ACS starts sending AxisDemand
messages once every five seconds. It is ignoring anything that might be coming from the AG.
ACS is expecting to be receiving AxisInfo
messages and may enter a fail state if it does not.
ACS:InstInfo InstName=ULTRASPEC InstRotAngle=45.0 InstRotates=true
ACS:TrackOffset OffsetType=fixed OffsetFrame=instrument OffsetX=10000 OffsetY=0
Something else (not the ACS) needs to start the AG after we arrive at the target
Something else (not the ACS) waits until AG has locked itself
ACS:AGDatum
Now I am free to start the exposures
- The offset would not have been applied if
TrackInit,TrackUseOff=false
. Safer would have been to set ittrue
in the originalTrackInit
- If we have not set the
InstInfo
explicitly then ACS would have performed the offset according to what instrument was last used.
11 "Offset the telescope 10 arcsec in RA coordinate"
- Identical to case 10 except
OffsetFrame=celestial
and no need forInstInfo
12 "Offset the telescope 10 arcsec in azimuth"
- Identical to case 10 except
OffsetFrame=mount
and no need forInstInfo
13 "How long until I hit an axis limit?"
- Not in latest ACS spec. document, but it is coming
- There will be a list of calculable parameters which a user can poll for, including this.
14 "Should I unwrap a limit when a slew is requested?"
- Out of scope.
- Driving to a MOUNT angle is a TCS function, not an ACS function.
- The following command will automatically favour a wrap position that allows the telescope track 6000sec.
ACS:TrackInit TrackRA=6.7524778 TrackDec=-16.7161111 TrackEquinox=J2000 TrackEpoch=2000-01-01T11:58:55.816 TrackRotFrame=celestial TrackRotAngle=0 TrackFreq=20 TrackDest=<IP of the NARIT command broker> TrackDuration=6000
- ACS always goes to the solution closest to wherever it currently is unless that violates
TrackDuration
when it will go to the closest that fulfilsTrackDuration
. - There is no explicit "force maximum wrap" command, but that can be done from the UI if you really want by first driving the mechanism to its limit and then sending
TrackInit
.
15 "I have two auto guiders. Can I improve my auto guiding (e.g. by correcting rotator errors?)"
- No.
- Any guide error is explicitly assumed to be caused by an AZM,ZD error
16 "Tip-tilt secondary mirror"
- Not available
17. To acquire an IR only target, I want to use the autoguider to acquire on a nearby visible target and then do an offset to put the IR target at a position on the instrument (not autoguider) focal plane.
- Zej producing a worked example of this one for the ICD.
18. How do I get out of an axis limit?
- telescope stopped inside hardware limits and servos can accept demands
- Send any track of slew command. Motion is not inhibited by being outside software limits. The ACS will not send demands outside limits, but if it is outside limits it can still send a demand that is back inside limits.
- telescope outside limits so motion inhibited by hardware or controllers
- Cannot be recovered by ACS.
19. "Acquire pointing model data"
- Example using
TrackWrite
is shown in ICD
20. "Recalibrate after earthquake"
- Outside scope. Any earthquake strong enough to change anything necessitates a re-commissioning process.
21. "Acquire faint target offset by 15,5arcsec from a bright star"
ACS:TrackCorr OffsetType=fixed OffsetFrame=celestial OffsetX=0 OffsetY=0
ACS:TrackOffset OffsetType=fixed OffsetFrame= celestial OffsetX=0 OffsetY=0
ACS:TrackInit TrackRA=6.7524778 TrackDec=-16.7161111 TrackEquinox=J2000 TrackRotFrame=celestial TrackRotAngle=0 TrackFreq=1 TrackDest=<IP of the NARIT command broker> TrackUseCorr=true TrackUseOffset=true TrackUseAG=false
ACS starts sending AxisDemand
messages once per seconds.
ACS is expecting to be receiving AxisInfo
messages and may enter a fail state if it does not.
Something else (not the ACS) sets telescope focus
Something else (not the ACS) sets instrument fold mirror
Something else (not the ACS) configures instrument and starts acquisition integration
Something else (not the ACS) inspects the resulting image, finds the reference star, calculates an offset to move the reference star to the reference point of the focal plane. Presumably that is a slit entrance or something, but generally can be any point in the focal plane.
ACS:TrackCorr OffsetType=cumulative OffsetFrame=instrument OffsetX=30 OffsetY=55
Something else (not the ACS) configures instrument and starts acquisition integration. Inspect the resulting image. Either accept the pointing as now correct or iterate TrackCorr,OffsetType=cumulative,OffsetFrame=instrument,OffsetX=,OffsetY=
commands until it is.
ACS:TrackOffset OffsetType=fixed OffsetFrame=celestial OffsetX=15000 OffsetY=5000
Something else (not the ACS) configures instrument and starts science integration.
Wait for science exposure to complete
ACS:TrackCorr OffsetType=fixed OffsetFrame=instrument OffsetX=0 OffsetY=0
ACS:TrackOffset OffsetType=fixed OffsetFrame=instrument OffsetX=0 OffsetY=0
- If those final
TrackCorr, TrackOffset
were omitted then the 'correction' would still be in force for the next slew. Depending on local conditions this may or may not be what the observer wanted. I don't think either retaining or clearing the correction is always the right answer. What we will do simply needs defining.
22. "Offset 120 arcsec by Y in instrument plane to mosaic frames while maintaining auto guiding"
ACS:TrackInit TrackRA=6.7524778 TrackDec=-16.7161111 TrackEquinox=J2000 TrackRotFrame=celestial TrackRotAngle=0 TrackFreq=1 TrackDest=<IP of the NARIT command broker> TrackUseAG=false
ACS starts sending AxisDemand
messages once per seconds.
ACS is expecting to be receiving AxisInfo
messages and may enter a fail state if it does not.
Something else (not the ACS) needs to start the AG after we arrive at the target
Something else (not the ACS) waits until AG has locked itself
ACS:AGDatum
ACS is now tracking and applying guide packets
Something else (not the ACS) sets telescope focus
Something else (not the ACS) sets instrument fold mirror
Something else (not the ACS) configures instrument and starts first integration
ACS:TrackOffset OffsetType=fixed OffsetFrame=instrument OffsetX=0 OffsetY=120000
Something else (not the ACS) configures instrument and starts the second integration
ACS:TrackControl ControlAG=false
- As well as moving the axes, the 120arcsec offset is applied internally in the ACS to the AG datum so the ACS will not try to drag the telescope back to the original position. However note that the AG itself must be able to cope with the 120sec offset. That is fine for a wide-field full-frame AG but will fail for an AG dependent on a small guide window. There is no communication from the ACS to the AG to tell it that the telescope has been offset however the UI could tell the AG that at the same time as it sent the
TrackOffset
to the ACS.