OK - Here is a log from my own centering routine - again using only SGP to do the imaging, plate solving - etc. It shows an initial miss on the first slew of 478 arc-seconds - but after taking that error into consideration, the next slew has an error, based on the plate solve after it slewed, of only 4.86 arc-seconds. SGP and its centering routine have never come close to that after many iterations - and this happened in the second slew.
You are saying that the SGP routine centers well - and you make effort to show the user how far the plate solve position is from the target - yet your feedback system for doing the centering only looks at the error of the encoder compared to the current position - and never looks at the error of the target position from the plate solve. Yet that is what you show to the user in the centering routine - because you know that is what really matters: how well did you actually center on your target location.
If that error that you show to the user is obviously the thing that is important to the user, why don’t you use it in your feedback loop so that you are minimizing it - instead of something else?
So - would you consider making this slight change in logic - so that all mounts would be able to center well, including celestron mounts? Focus on the error in the final plate solve vs. the slew target - i.e. the error you are already showing the user. Not the final plate solve vs. where the mount thinks that it is.
slewing from encoder position 20.093043 -73.076757
To encoder position 20.233333 -70.862222
Slew complete. Landed at encoder position 20.232860 -70.852536 with encoder miss of -25.560805 34.871264 - distance 43.236093 arc-seconds
Try 1 has solved error: ra, dec, dist = -478.701384 4.340442 478.721062 arc-sec
slewing from encoder position 20.232857 -70.852514
To encoder position 20.242198 -70.863428
Slew complete. Landed at encoder position 20.241758 -70.853680 with encoder miss of -23.756124 35.093578 - distance 42.378209 arc-seconds
Try 2 has solved error: ra, dec, dist = 1.899740 -4.479441 4.865635 arc-sec
slewing from encoder position 20.241751 -70.853615
To encoder position 20.242163 -70.862184
Slew complete. Landed at encoder position 20.241729 -70.852113 with encoder miss of -23.412259 36.254998 - distance 43.157372 arc-seconds
Try 3 has solved error: ra, dec, dist = -0.035024 3.888722 3.888880 arc-sec
slewing from encoder position 20.241739 -70.852092
To encoder position 20.242164 -70.863264
Slew complete. Landed at encoder position 20.241692 -70.852477 with encoder miss of -25.476613 38.833322 - distance 46.444426 arc-seconds
Try 4 has solved error: ra, dec, dist = -1.965663 2.253042 2.989988 arc-sec
slewing from encoder position 20.241686 -70.852477
To encoder position 20.242200 -70.863890
Slew complete. Landed at encoder position 20.241714 -70.853507 with encoder miss of -26.249149 37.377120 - distance 45.673482 arc-seconds