×

INDI Library v2.0.7 is Released (01 Apr 2024)

Bi-monthly release with minor bug fixes and improvements

Internal guider: Correction limits?

  • Posts: 300
  • Thank you received: 57
Hy,

I'll also endorse combining the guide controls into a single place (either on the guider tab or in Options -> Guider).

A couple of questions about these:

1) Proportional Gain and Integral Gain: What are the units? Is the left column RA and the right column DEC?
2) If I want a very light touch on RA, should I set one of these to about 1? Or about 10? Or about 0.001? I just don't have any sense of this.
3) What's the tradeoff between these two "Gain" settings and the Predictive and Control Gain in the Options -> Guider -> GPG RA Guider? Or are they unrelated?

Thanks!
Scott

3 years 6 months ago #60982
Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 1221
  • Thank you received: 565
TL;DR Control gain: It's unit-less. It's a multiplier on the error. You shouldn't use anything > 1. Probably should be near 0.5.

Detail The idea is that if there's say an error of 1 arc-second North in DEC, then in theory, the guider will pulse the DEC motor enough to move it 1 arc-second South when using a control gain of 1.0. If your gain had been 0.5, it would've pulsed enough for a movement of 1/2 arc-second South. Typically you don't want to try to fully correct these errors, (that is, you don't want to use a gain of near 1.0) because given the noise in the measurements, that tends to lead to overcorrection and bad guiding. So typical numbers are in the 0.5 ballpark, but of course you're free to experiment.

That said, I said "theoretically" for the following reason. The internal guider's DEC guider does not really know how much to pulse the motor to move the mount 1 arcsecond. It has a good guess, a hardwired 133 ms/a-s value (though that's user change-able). It does estimate the number of milliseconds of pulsing to move the mount 1 arcsecond in DEC in calibration, but doesn't use it. So, since in the end it's
correction_pulse_milliseconds = control_gain * error_in_arcseconds * milliseconds_of_pulse_per_arcsecond
and if the milliseconds_of_pulse_per_arcsecond number was too low, you could compensate by increasing control_gain. Doesn't matter which number you change.

I changed a lot of things in the Guider, but one thing I didn't change is the default control algorithm.
Honestly, the reason I didn't is that I didn't want to break something that
was working well (at least for me and others I talked to).

Now, if you are using GPG (for RA guiding), that does use the milliseconds_of_pulse_per_arcsecond
value that was estimated in calibration. So, the control gain for GPG is closer to the control gain I discussed above.

I don't have much experience with Integral Gain, but I assume it's like Control Gain. Integral gain won't be used with GPG. It isn't on the GPG settings page.

For a light-touch on GPG RA guiding, lower its control gain.

For fun, follow along with me on GPG code (remember, I wrote the interface (first 2 steps below, but the entire GPG algorithm is Edgar Klenske's code and Phd thesis, he gets the credit).

Look at:

1) We call gpg->computePulse( ERROR_IN_ARCSECONDS, ...) and then use the pulse value directly (except we make sure it's below the max pulse allowed).
invent.kde.org/education/kstars/-/blob/m...uide/gmath.cpp#L1024

2) ComputePulse calls the GPG library, then multiplies the result by cal.raPulseMillisecondsPerArcsecond() on line 226, and breaks out the direction and the magnitude of the pulse.
invent.kde.org/education/kstars/-/blob/m...alguide/gpg.cpp#L221

3) GPG code.
invent.kde.org/education/kstars/-/blob/m...cess_guider.cpp#L291
After doing all its fancy math and setting up its training and predictions...
line 344: Computes a standard proportional error (control_gain * input_error_in_arcseconds)
line 364: Adds in the prediction term multiplied by the prediction gain.
line 373: Possibly blends with "hysteresis_control" which is a backup control system, but that weight goes to 0 after 1 period or so, so most of the time there is no hysteresis control.

Bottom line, GPG adds the prediction of how much periodic error it expects (weighted by prediction_gain) with a standard proportional error (weighted by control_gain) and outputs that, and that is later multiplied by pulse_ms_per_arcsecond and sent to your mount. Both those controls should probably be somewhere near 0.5.

Hy
The following user(s) said Thank You: Alfred
3 years 6 months ago #60992

Please Log in or Create an account to join the conversation.

  • Posts: 989
  • Thank you received: 161

100% agree, do it! I've been using the internal guider for years and always wondered why the all-important settings were hidden like that.
3 years 6 months ago #60999

Please Log in or Create an account to join the conversation.

  • Posts: 1957
  • Thank you received: 420
+1 for Do it!
3 years 6 months ago #61001

Please Log in or Create an account to join the conversation.

  • Posts: 989
  • Thank you received: 161
And while we're at it, IMO "guiding settle" clearly belongs to guiding preferences, too. I never understood why it is placed in the Ekos Main section while all other guiding related preferences are placed somewhere else.

The following user(s) said Thank You: Jim
Last edit: 3 years 6 months ago by Alfred.
3 years 6 months ago #61003
Attachments:

Please Log in or Create an account to join the conversation.

Time to create page: 0.251 seconds