Dark guiding for the GPG guider
One of the primary benefits of the GPG guiding system is the ability to predict the behaviour of the mount at any point in time; not just when guide camera images are received. This PR is intended to introduce a rapid control loop that occurs several times per guide exposure, to correct for the predicted error. This way, not only can the benefits of long duration guide exposures be taken advantage of (e.g. capturing fainter guide stars), but some of the benefit of short-term exposures too; namely, quicker corrections to the mount. TODO: - [x] Synchronise dark guiding options with the code as it changes, rather than just at Ekos loading - [x] Remove `GuideStatus::DARKGUIDING` maybe? - [x] Log predictive corrections - [x] Correct for the guide delay patch - [x] Document FUTURE IDEAS: - Adaptive exposure times. Set a minimum and maximum guide exposure, and adapt it in two ways: 1. Start off with the minimum exposure rate, to get fine-grained samples of the periodic error; after number of periods for inference have passed, slowly increase it to the maximum exposure time. This way, we get a good initial model for the periodic error, while automatically transitioning to the longer duration exposure. 2. When unexpected errors arise past some threshold (e.g. a long gust of wind), shorten the exposure time, to more quickly deal with the unmodeled errors. Once the guide error falls below the threshold again (with some hysteresis), start increasing the duration again. Note that the corrections with the shorter exposures will be associated with a lower SNR, and thus will not contribute too much to the adaptive model (besides, the short-range kernel will probably account for them anyway.) - Model DEC error with GPG; output corrections for it when dark guiding as well. Pass the GPG predictions through a hysteresis-aware control algorithm to deal with backlash. - Add further GPG kernels. E.g., a kernel at sidereal (or King) rate to estimate and neutralise polar alignment errors.
Loading
Please register or sign in to comment