This is a very long one. Please bear with me.
Given that the new 3.1 SGP should be as bug clean as possible, I would like to address an old centering problem related to the “Target Offest” method. It only applies for settings where the telescope uses a pointing model and, for this reason, can not use the “Sync” centering.
A short description:
When using Target offset as a centering model, the first one or two corrections will improve the pointing. After that, no significant change in the centering accuracy can be achieved. Sometimes the correction is sufficient, sometimes not.
A recent example can be found in this thread:
The example in this thread is based on the SGP-Log uploaded there by Eric. Unfortunately, it contains a lot of error messages from TheSkyX, so it is not easy to read. In order to document just the bug I had to extract the relevant lines:
SGP-Centering-Extract.txt (36.7 KB)
The target is the Helix Nebula. The centering will attempt to center 10 times and the accepted error is 150 pix. The evolution for the first 6 steps is:
It can be easily seen that after the first two steps the centering error stays almost constant as that SGP does not apply the necessary correction to the Slew Coordinates (GoTo Coord. in the table). The correction algorithm is basically flawed.
For a correct and very easy implementation let’s first define some variables. All coordinates are J2000, and all variables are RA/DEC structures.
TargetCoord – Contains the Target coordinates (RA and DEC); this is a constant. We want to center the image on this point.
GoToCoord – contains the coordinates for the slew command sent to the telescope. It is maintained as J2000 and should be converted to JNow before being sent if the mount so requires.
SolveCoord – The result of the Plate Solve
Error – Contains the pointing error and is computed as:
Error = SolveCoord – TargetCoord
AllowedError – The allowed centering error, in degrees
The correction formula is then:
GoToCoord = GoToCoord - Error
And the correction procedure would look like this:
- GoToCoord = TargetCoord
- Slew to TargetCoord
- Plate solve to get SolveCoord
- Compute Error = SolveCoord – TargetCoord
- Compute GoToCoord = GoToCoord - Error
- If Error-Magnitude > AllowedError go to 2 (but limit the number of loops!); else Done
That’s it. Very simple and it always works.
This would take care of the bug, but there are some more points to be improved:
- The target setting has one option to <“Slew to” when target starts> and a second option to <“Center on” when target starts>. I can not imagine a use case where somebody would want to start a target without first slewing to it, independent of the option to center on it or not. The option “Slew to when target starts” is unnecessary and should be dropped.
- The solve hint coordinates should always be the target coordinates and never some corrected coordinates, like this example:
- It looks like SGP changes the user setting for the pixel scale, without telling. I do not know if this happens after every solve or only for manual solves. Anyway, this is a bad idea: I had one case where – due to some passing haziness – the solve was somehow wrong but not as bad as to be considered unsuccessful. The solved pixel scale was false, and it have been applied to my settings. That killed the night and I needed some detective work to understand why suddenly my solves where not working anymore.
- Once the “Target Offest” algorithm has been corrected, we only need two target centering options: “Sync” and “Target Offset”. The third one, called “Scope Offset” does nothing useful. The fourth one called “None” is redundant: if no centering is wanted, unchecking the <“Center on” when target starts> option on the target settings does the same.
- The wording “Sync Behavior” on the Telescope tab is a misnomer. It should read: “Centering Method” or something equivalent, as “Target Offset” does not use Sync
Kind regards,
Horia