×

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

Bi-monthly release with minor bug fixes and improvements

Linear 1 Pass gives wrong solution

  • Posts: 15
  • Thank you received: 0

Hi John,

I'm running version 3.6.0 stable on Windows 11. INDI is running on a Raspberry PI but I don't think that's the issue. I just today installed 3.6.1 but haven't tried it yet.

The 6166 is the position of sample #10 which isn't showing in my screen shot. You can see it in the log file. It took the last photo at 6166 and it left the focus there rather than moving to the solution position. Almost like it aborted or something. I attached the full log of the session. It's pretty verbose as I run with debug on for everything. Let me know if you need anything else. I appreciate you looking into this.

thekenr.com/temp/log_20-28-36.zip

Later in the log I switched to "Hyperbola" mode and it seemed to work OK based on the HFR of the few images I captured. Also, at the end of the log you'll see lots and lots of errors.... my USB cable got snagged at the meridian flip I think and disconnected itself. :( Anyway, not related to the focus issue.

Ken
Last edit: 1 year 6 months ago by Ken.
1 year 6 months ago #86991

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

  • Posts: 597
  • Thank you received: 279
Hi Ken,

I've spent some time looking through the log. Thanks for sending it. For some reason the MyFocuser2 isn't playing nicely with the focus algorithm. The inward steps look to be working correctly in the sense that if the algorithm requests a move in by 20steps then that is what the focuser does. But this is not the case on the outward steps.

As an example, after 9 datapoints the algorithm finds a solution at 6280.95. The focuser is at datapoint 9 = 6203.

[2022-10-03T21:11:10.178 Atlantic Daylight Time DEBG ][ org.kde.kstars.ekos.focus] - "Linear: step 9, newMeasurement(6203, 2.11623 -> 1.89872, 436)"
[2022-10-03T21:11:10.178 Atlantic Daylight Time DEBG ][ org.kde.kstars.ekos.focus] - "Linear: fit(9): 6280.95 = 0.939617 @ 6203 distToMin -77"
[2022-10-03T21:11:10.178 Atlantic Daylight Time DEBG ][ org.kde.kstars.ekos.focus] - "Linear: Solution #2: 6280.95 = 0.939617 @ 6203"
[2022-10-03T21:11:10.179 Atlantic Daylight Time DEBG ][ org.kde.kstars.ekos.focus] - "Linear: 1stPass solution @ 6203: pos 6280.95 val 0.939617, min measurement 0.932548"
[2022-10-03T21:11:10.181 Atlantic Daylight Time DEBG ][ org.kde.kstars.ekos.focus] - "Error in CurveFitting::calculateR2 called for Quadratic"
[2022-10-03T21:11:10.185 Atlantic Daylight Time DEBG ][ org.kde.kstars.ekos.focus] - "Linear: extending outward movement by 100"
[2022-10-03T21:11:10.185 Atlantic Daylight Time INFO ][ org.kde.kstars.ekos.focus] - "Focusing outward by 178 steps..."

So to move from 6203 to 6281 it needs to move out by 78 steps. The algorithm attempts to do this in 2 parts:
1. Moving out by 178 to 6381
2. Moving in by 100 to 6281

The focuser starts off by trying to move to 6381...
[2022-10-03T21:11:10.389 Atlantic Daylight Time INFO ][ org.kde.kstars.indi] - MyFocuserPro2 : "[INFO] Focuser is moving to position 6381 "

The algorithm checks after a second what's happened. The focuser is at 6266 but still moving, all OK.
[2022-10-03T21:11:10.937 Atlantic Daylight Time DEBG ][ org.kde.kstars.indi] - MyFocuserPro2 : "[DEBUG] CMD <:00#> "
[2022-10-03T21:11:10.944 Atlantic Daylight Time DEBG ][ org.kde.kstars.indi] - MyFocuserPro2 : "[DEBUG] RES <P6266#> "
[2022-10-03T21:11:10.945 Atlantic Daylight Time DEBG ][ org.kde.kstars.ekos.focus] - Abs Focuser position changed to 6266 State: Busy
[2022-10-03T21:11:10.945 Atlantic Daylight Time DEBG ][ org.kde.kstars.indi] - MyFocuserPro2 : "[DEBUG] CMD <:01#> "
[2022-10-03T21:11:10.992 Atlantic Daylight Time DEBG ][ org.kde.kstars.indi] - MyFocuserPro2 : "[DEBUG] RES <I1#> "
[2022-10-03T21:11:11.032 Atlantic Daylight Time DEBG ][ org.kde.kstars.indi] - MyFocuserPro2 : "[DEBUG] CMD <:01#> "

then a bit later...
[2022-10-03T21:11:11.076 Atlantic Daylight Time DEBG ][ org.kde.kstars.indi] - MyFocuserPro2 : "[DEBUG] RES <I1#> "

then a bit later the algorithm thinks the focuser has got to 6381 and requests the 100 tick inward movement to unwind backlash. I don't think the focuser is at 6381 however. My guess is that it is still at 6266 (although I don't understand why) so moving in by 100 ticks takes it to 6166.
[2022-10-03T21:11:12.044 Atlantic Daylight Time DEBG ][ org.kde.kstars.indi] - MyFocuserPro2 : "[DEBUG] CMD <:01#> "
[2022-10-03T21:11:12.094 Atlantic Daylight Time DEBG ][ org.kde.kstars.indi] - MyFocuserPro2 : "[DEBUG] RES <I0#> "
[2022-10-03T21:11:12.138 Atlantic Daylight Time DEBG ][ org.kde.kstars.ekos.focus] - "Linear: un-doing extension. Moving back in by 100"
[2022-10-03T21:11:12.140 Atlantic Daylight Time INFO ][ org.kde.kstars.ekos.focus] - "Focusing inward by 100 steps..."
[2022-10-03T21:11:12.144 Atlantic Daylight Time INFO ][ org.kde.kstars.indi] - MyFocuserPro2 : "[INFO] Focuser reached requested position. "
[2022-10-03T21:11:12.296 Atlantic Daylight Time DEBG ][ org.kde.kstars.indi] - MyFocuserPro2 : "[DEBUG] CMD <:01#> "
[2022-10-03T21:11:12.296 Atlantic Daylight Time DEBG ][ org.kde.kstars.indi] - MyFocuserPro2 : "[DEBUG] RES <I0#> "
[2022-10-03T21:11:12.297 Atlantic Daylight Time DEBG ][ org.kde.kstars.indi] - MyFocuserPro2 : "[DEBUG] CMD <:056166#> "
[2022-10-03T21:11:12.298 Atlantic Daylight Time INFO ][ org.kde.kstars.indi] - MyFocuserPro2 : "[INFO] Focuser is moving to position 6166 "


More checking on the focus position...
[2022-10-03T21:11:13.124 Atlantic Daylight Time DEBG ][ org.kde.kstars.indi] - MyFocuserPro2 : "[DEBUG] CMD <:00#> "
[2022-10-03T21:11:13.145 Atlantic Daylight Time DEBG ][ org.kde.kstars.indi] - MyFocuserPro2 : "[DEBUG] RES <P6276#> "
[2022-10-03T21:11:13.186 Atlantic Daylight Time DEBG ][ org.kde.kstars.ekos.focus] - Abs Focuser position changed to 6276 State: Busy
[2022-10-03T21:11:13.186 Atlantic Daylight Time DEBG ][ org.kde.kstars.indi] - MyFocuserPro2 : "[DEBUG] CMD <:01#> "
[2022-10-03T21:11:13.226 Atlantic Daylight Time DEBG ][ org.kde.kstars.indi] - MyFocuserPro2 : "[DEBUG] RES <I1#> "
[2022-10-03T21:11:13.226 Atlantic Daylight Time DEBG ][ org.kde.kstars.indi] - MyFocuserPro2 : "[DEBUG] CMD <:01#> "
[2022-10-03T21:11:13.267 Atlantic Daylight Time DEBG ][ org.kde.kstars.indi] - MyFocuserPro2 : "[DEBUG] RES <I1#> "

Again, this seems to stop the focuser at this position (this time at 6276)...
[2022-10-03T21:11:14.300 Atlantic Daylight Time DEBG ][ org.kde.kstars.ekos.focus] - "Focus position reached at 6276, starting capture in 0 seconds."
[2022-10-03T21:11:14.300 Atlantic Daylight Time INFO ][ org.kde.kstars.ekos.focus] - "Capturing image..."

Meantime...
[2022-10-03T21:11:15.309 Atlantic Daylight Time DEBG ][ org.kde.kstars.indi] - MyFocuserPro2 : "[DEBUG] CMD <:00#> "

then...
[2022-10-03T21:11:15.379 Atlantic Daylight Time DEBG ][ org.kde.kstars.indi] - MyFocuserPro2 : "[DEBUG] RES <P6166#> "
[2022-10-03T21:11:15.379 Atlantic Daylight Time DEBG ][ org.kde.kstars.ekos.focus] - Abs Focuser position changed to 6166 State: Ok


So... the focus algorithm expects the focuser to move to where its requested but this isn't happening. It looks to me like the algorithm has done a reasonable job of doing a pass from out to in, calculated the point of best focus and requested the focuser to move to it, but then things go wrong and the focuser moves to a different place. I don't understand why at the moment. Given this is happening on outward movements my initial guess is that its backlash related and that both the algorithm and the focuser are trying to control backlash and clashing.
1. Do you have any other software running that is attempting to control the focuser?
2. Does your focuser try to control backlash itself? If so, are you able to turn this off?
3. Can you let me know which Indi driver you are using to control the focuser - I"ll see if I can spot any clues there. There are a few Indi driver debug msgs that I'm not familiar with that might help shed some light on what's going on so I'll try and research these some more.

I suppose 1 thing you could try is moving the focuser in and out using the in/out buttons or specifying an absolute position and seeing what the focuser actually does. It may be that the you get problems with the out movement like the problems in the auto focus run.
1 year 6 months ago #87002

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

  • Posts: 207
  • Thank you received: 18
Hi John, thank you for looking into this.
In answer to your questions:
1. 'verbose' was ticked for logging under KStars preferences/advanced. Is there another place where I need to select 'verbose' to get the more detailed info you are looking for? For next time I will also check the 'save focus images' option.

2. The only other software that is running at the same time is MountWizzard4, but that is only for the mount, so unlikely to interfere with the focusing routines. Nevertheless, next time I will shut that software off.
I am using INDI 1.9.7 and Sesto Senso 2 driver v 0.7. Backlash is set to 0. To be honest I never really have experience backlash of any significant amount, and other focusing algorithms have always worked fine. Would you recommend to add a value in the backlash field (e.g. 100 or so) just to exclude that as an issue? I guess for Linear 1 Pass it does not matter if this setting is too high?

3. It is hard for me to comment on this, I don't know what these numbers mean exactly. As mentioned above, I have not set any backlash correction (perhaps I should...). But if there is any, I would guess it is much less than 100. In comparison, for my setup one degree of temperature change is about 70-80 steps focus change, and with no backlash set, running an autofocus routine typically gets me that level of detail repeatedly. But you're raising a good point, it is probably good to do a proper assessment of it.
Your comment on the 32 steps at the start made me look into the logs myself as well, and I noticed something strange:

[2022-10-06T20:48:53.280 CEST INFO ][ org.kde.kstars.ekos.focus] - Starting focus with Detection: "SEP" Algorithm: "Linear 1 Pass" Box size: 112 Subframe: no Autostar: no Full frame: yes [ 10 %, 70 %] Step Size: 200 Threshold: 150 Gaussian Sigma: 1.5 Gaussian Kernel size: 5 Multi row average: 3 Tolerance: 5 Frames: 1 Maximum Travel: 3000 Curve Fit: "Hyperbola" Use Weights: yes R2 Limit: 0
[2022-10-06T20:48:53.283 CEST INFO ][ org.kde.kstars.ekos.focus] - "Focusing outward by 2.000 steps..."
[2022-10-06T20:48:53.560 CEST INFO ][ org.kde.kstars.indi] - Sesto Senso 2 : "[INFO] Focuser is moving to position 60845 "
[2022-10-06T20:48:56.857 CEST INFO ][ org.kde.kstars.ekos.focus] - "Focusing inward by 1.000 steps..."
[2022-10-06T20:48:56.862 CEST INFO ][ org.kde.kstars.indi] - Sesto Senso 2 : "[INFO] Focuser reached requested position. "
[2022-10-06T20:48:57.116 CEST INFO ][ org.kde.kstars.indi] - Sesto Senso 2 : "[INFO] Focuser is moving to position 59480 "
[2022-10-06T20:48:58.010 CEST INFO ][ org.kde.kstars.ekos.focus] - "Capturing image..."
[2022-10-06T20:48:59.557 CEST INFO ][ org.kde.kstars.indi] - Sesto Senso 2 : "[INFO] Focuser reached requested position. "
[2022-10-06T20:49:00.900 CEST INFO ][ org.kde.kstars.ekos.focus] - "Image received."
[2022-10-06T20:49:00.903 CEST INFO ][ org.kde.kstars.ekos.focus] - "Detecting sources..."
[2022-10-06T20:49:01.234 CEST INFO ][ org.kde.kstars.ekos.focus] - "Detection complete."
[2022-10-06T20:49:01.259 CEST INFO ][ org.kde.kstars.ekos.focus] - "Focusing outward by 1.365 steps..."
[2022-10-06T20:49:01.288 CEST INFO ][ org.kde.kstars.indi] - Sesto Senso 2 : "[INFO] Focuser is moving to position 60845 "
[2022-10-06T20:49:03.717 CEST INFO ][ org.kde.kstars.ekos.focus] - "Focusing inward by 1.000 steps..."
[2022-10-06T20:49:03.726 CEST INFO ][ org.kde.kstars.indi] - Sesto Senso 2 : "[INFO] Focuser reached requested position. "
[2022-10-06T20:49:03.975 CEST INFO ][ org.kde.kstars.indi] - Sesto Senso 2 : "[INFO] Focuser is moving to position 59596 "
[2022-10-06T20:49:04.943 CEST INFO ][ org.kde.kstars.ekos.focus] - "Capturing image..."
[2022-10-06T20:49:06.424 CEST INFO ][ org.kde.kstars.indi] - Sesto Senso 2 : "[INFO] Focuser reached requested position. "
[2022-10-06T20:49:07.812 CEST INFO ][ org.kde.kstars.ekos.focus] - "Image received."
[2022-10-06T20:49:07.815 CEST INFO ][ org.kde.kstars.ekos.focus] - "Detecting sources..."
[2022-10-06T20:49:08.123 CEST INFO ][ org.kde.kstars.ekos.focus] - "Detection complete."
[2022-10-06T20:49:08.161 CEST INFO ][ org.kde.kstars.ekos.focus] - "Focusing outward by 1.249 steps..."
[2022-10-06T20:49:08.178 CEST INFO ][ org.kde.kstars.indi] - Sesto Senso 2 : "[INFO] Focuser is moving to position 60845 "
[2022-10-06T20:49:10.623 CEST INFO ][ org.kde.kstars.ekos.focus] - "Focusing inward by 1.000 steps..."
[2022-10-06T20:49:10.629 CEST INFO ][ org.kde.kstars.indi] - Sesto Senso 2 : "[INFO] Focuser reached requested position. "
[2022-10-06T20:49:10.880 CEST INFO ][ org.kde.kstars.indi] - Sesto Senso 2 : "[INFO] Focuser is moving to position 59677 "
[2022-10-06T20:49:11.847 CEST INFO ][ org.kde.kstars.ekos.focus] - "Capturing image..."
[2022-10-06T20:49:13.324 CEST INFO ][ org.kde.kstars.indi] - Sesto Senso 2 : "[INFO] Focuser reached requested position. "
[2022-10-06T20:49:14.870 CEST INFO ][ org.kde.kstars.ekos.focus] - "Image received."
[2022-10-06T20:49:14.872 CEST INFO ][ org.kde.kstars.ekos.focus] - "Detecting sources..."
[2022-10-06T20:49:15.156 CEST INFO ][ org.kde.kstars.ekos.focus] - "Detection complete."
[2022-10-06T20:49:15.207 CEST INFO ][ org.kde.kstars.ekos.focus] - "Focusing inward by 32 steps..."
[2022-10-06T20:49:15.255 CEST INFO ][ org.kde.kstars.indi] - Sesto Senso 2 : "[INFO] Focuser is moving to position 59645 "
[2022-10-06T20:49:16.137 CEST INFO ][ org.kde.kstars.indi] - Sesto Senso 2 : "[INFO] Focuser reached requested position. "
[2022-10-06T20:49:17.354 CEST INFO ][ org.kde.kstars.ekos.focus] - "Capturing image..."
[2022-10-06T20:49:20.233 CEST INFO ][ org.kde.kstars.ekos.focus] - "Image received."
[2022-10-06T20:49:20.235 CEST INFO ][ org.kde.kstars.ekos.focus] - "Detecting sources..."
[2022-10-06T20:49:20.552 CEST INFO ][ org.kde.kstars.ekos.focus] - "Detection complete."
[2022-10-06T20:49:20.578 CEST INFO ][ org.kde.kstars.ekos.focus] - "Focusing inward by 200 steps..."
[2022-10-06T20:49:20.648 CEST INFO ][ org.kde.kstars.indi] - Sesto Senso 2 : "[INFO] Focuser is moving to position 59445 "
[2022-10-06T20:49:21.536 CEST INFO ][ org.kde.kstars.indi] - Sesto Senso 2 : "[INFO] Focuser reached requested position. "
[2022-10-06T20:49:22.672 CEST INFO ][ org.kde.kstars.ekos.focus] - "Capturing image..."
[2022-10-06T20:49:25.548 CEST INFO ][ org.kde.kstars.ekos.focus] - "Image received."
[2022-10-06T20:49:25.550 CEST INFO ][ org.kde.kstars.ekos.focus] - "Detecting sources..."
[2022-10-06T20:49:25.931 CEST INFO ][ org.kde.kstars.ekos.focus] - "Detection complete."
[2022-10-06T20:49:25.977 CEST INFO ][ org.kde.kstars.ekos.focus] - "Focusing inward by 200 steps..."


Are the lines in bold correct? Take for example the first one. The focuser is at 60845, then moves in 1000 steps, and confirms it has reached position. One would assume this is then 59845. But then instead of taking an image, it moves to 59480. It then captures an image, followed by a confirmation that position is reached. So did the focuser move while taking a picture? Why was that move to 59480 triggered? Would it not be more logical to take an image at 59845? I don't know how the algorithm works, so maybe this is just normal, but just thought to point it out.

Thanks again for looking into this, hopefully we can find the source of the error soon. Next time, I will capture the actual images and you can run the off-line analysis.

Best regards,

Willem Jan.
1 year 6 months ago #87007
Attachments:

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

  • Posts: 15
  • Thank you received: 0

Hi John,

I think one of those moves was a manual move that I did. The last one I think. Once I seen it stop at 6166 I manually moved it to the bottom of the curve. The 6166 position was the #10 sample. I didn't get it in the screen shot but it's there. If it found a solution after 9 samples why would it do the 10th and then stay there?

Thanks for taking a look. To answer your questions:
1. No, there is nothing else controlling the focuser. INDI is running on a RPi with the latest version of all drivers.
2. There is no backlash control on the focuser itself. It just drives the stepper motor to absolute locations.
3. The INDI driver is part of the 3rd Party collection I believe. I see in the log file it's "org.kde.kstars.ekos] - "MyFocuserPro2" Version: "1.0" Interface: 8 is connected.". I believe the source is here github.com/indilib/indi/tree/master/drivers/focuser

Moving the focuser in and out manually goes to the count I specify every time. I didn't seem to have an issue with the 2-pass method in the past.

I've contacted the developer of the MyFocusPro2 to see if I'm running the most up to date firmware just in case.

Thanks
Ken
1 year 6 months ago #87008

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

  • Posts: 597
  • Thank you received: 279
Hi Willem Jan,
Thanks for the reply.
1. Can you configure logging like this please (I think I'm missing the Ekos focuser msgs)...

2. MountWizzard shouldn't be causing a problem but worth a try. I'm just been looking at the manual for the focuser online. I see there is some software that comes with it as well as the ability to control the focuser over wifi from another device. Are you using any of these methods?
3. Yes there is a problem here. The messages with [ org.kde.kstars.ekos.focus] are from the focuser algorithm and those from [ org.kde.kstars.indi] - Sesto Senso 2 are from the driver. Basically they should be consistent but they aren't. The focuser algorithm commands the focuser to move to a position but for some reason it moves somewhere else. I don't understand why yet.

One thing you could try is to set Backlash in the Mechanics tab of the Focuser screen from 0 to 1. I don't know if that will improve things or not but its a simple test. And of course, if you capture the focus images and another log with the config in point 1, that might give us some more clues.

Sorry not to have the answer but hopefully we'll figure it out and get it working.
1 year 6 months ago #87016
Attachments:

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

  • Posts: 597
  • Thank you received: 279
Hi Ken,

Thanks very much for the reply. I've been looking online at the MyFocuserPro2...
indilib.org/media/kunena/attachments/6151/myFP2-301b.pdf

Seems like you can setup backlash compensation in the firmware with this focuser. I was just wondering what values you have setup (maybe if you haven't set some explicit values it has some default values)?

I'll continue digging around and see if I can come up with something a bit more tangible.
1 year 6 months ago #87017

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

  • Posts: 207
  • Thank you received: 18
Thank you John, for your continued efforts to help solve this issue.
1. Apologies, I had not realised that there are two places to set the logging details. Found it now, and will do so as soon as I'm under the stars again. Forecast for tomorrow is ok-ish.
2. All software that comes with the focuser is windows-only and I am on Mac/Linux, so I'm not using any of Primalucelab's software. The connection from other devices via WiFi is rather limited. The focuser creates its own WiFi network. You can connect to that for example via your phone and then control the focuser via a web-based interface. It's kind of a modern hand controller more than a helpful tool for automated operation. So in my setting nothing is connected to that network.
3. Let's hope the more detailed logging may give a solution. I found in the driver also an option to log all the focuser information to file, so turned that on as well. I guess that is the same information as what goes to Ekos, but we'll see. Also I will set backlash compensation to 1.

Thanks, Willem Jan.
1 year 6 months ago #87020

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

  • Posts: 15
  • Thank you received: 0

Hi John,

I have it disabled in the settings. Here's a screenshot. I also see there's an error that's interesting! Not sure what that's all about.



I did notice there is new firmware available so I'll load that up tomorrow. I don't see anything in the release notes that would indicate it would address this but who knows. Maybe it'll address that error message I see on startup.

Thanks
Ken
1 year 6 months ago #87023

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

  • Posts: 597
  • Thank you received: 279
Hi Ken,
Thanks for sending the screenshot. I just looked at the driver code. Looks like that Backlash OUT enabled error is printed when there's an unexpected reply from the focuser on initialisation when its trying to get the value of Backlash out enabled. Obviously something isn't quite right but its not obvious to me that this would cause the issues you are having as even if the focuser thinks its compensating for Backlash Out itself the backlash value is still zero.

Still it would make sense to update to the latest firmware and try and fix this error.

If you still get the problem after the firmware update, the next thing to try is to set the backlash in the focus->mechanics tab from 0 to 1 when you next get a chance. This will minimise the backlash compensation performed by the Ekos autofocus algorithm (there is currently no way to turn it off completely). If the problem is due to a clash in backlash compensation between the focuser / driver / Ekos autofocus then this should improve things. If it makes no difference then the problem is likely to be somewhere else.
1 year 6 months ago #87029

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

  • Posts: 207
  • Thank you received: 18
Hi John, Some good news to report. Had some clear skies yesterday and could experiment a bit further. It seems like the problem is solved when adding a backlash of 1 instead of 0.... Attached the verbose log (wow, that is a lot more info indeed...).

File Attachment:

File Name: log_16-42-53.txt.zip
File Size:650 KB

There are multiple autofocus routines in there, with different settings, but lets compare two examples:
1. The autofocus routine that ends in line 89660 (19:57:58). It used backlash 0.
Solution is 57966, while V-curve suggest more something like 58440. Forgot to take screenshots, so curve here reconstructed from the datapoints in line 89656

2. The autofocus routine that ends in line 88170 (19:55:44). It used backlash 1.
Solution is 58530, confirmed by the reconstructed V-curve:


Later I also tried backlash values of 100, but they also had no good solutions. The rest of the night I kept using backlash value 1, which worked well.
Do you think this would help to find the root cause?

The individual images are also attached for both autofocus runs. I've recorded all images, so should you need other images, please let me know.
idexim.box.com/s/36d90z22y9kd5ssx4vc8175plawjdf79
idexim.box.com/s/4vompimal53tdrbmaptausg3ng6sfe36

Thanks again for all your efforts here, so much appreciated.

Willem Jan.
1 year 6 months ago #87067
Attachments:

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

  • Posts: 597
  • Thank you received: 279
Hi Willem Jan,

Thanks very much for all the information, its very helpful.

I looked first at the "successful" run with backlash=1. Generally this looks to have worked. I think the solution is out by 1 tick but that is manageable at least temporarily.

The problem is that there appears to be a conflict whenever the algorithm moves the focuser outward. Basically, the algorithm says goto position x, but the focuser goes to position y. Looking at the Sesto Senso 2 driver code, it attempts to manage backlash within the driver which I think is conflicting with the focus algorithm trying to do the same thing. I need to spend more time going through the logs to convince myself that this really is the issue though.

The algorithm moves the focuser out in 2 places during a focus run. Firstly the initial move. You can see on the graphs you posted that all datapoints are evenly spaced (on the x-axis) except the first 2 (rightmost) which are much closer together. This is the first instance of the problem. The second, as we know, is when the algorithm tries to move the focuser to the point of optimum focus at the end of the run.

So I'll spend some more time looking at this tomorrow.
The following user(s) said Thank You: W J Drijfhout
1 year 6 months ago #87078

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

  • Posts: 597
  • Thank you received: 279
So it seems to be going wrong on an inward direction change. For the backlash=0 run from the log, the solver found a solution at 58423 when the focuser is at 57331.
[2022-10-09T19:57:46.860 CEST DEBG ][ org.kde.kstars.ekos.focus] - "LM Solver (Hyperbola): Solution found after 5 iterations. A=-276.89 B=1.40383, C=58422.7, D=-0.39721"
[2022-10-09T19:57:46.860 CEST DEBG ][ org.kde.kstars.ekos.focus] - "Linear: fit(12): 58422.7 = 1.00662 @ 57331 distToMin -1091"
[2022-10-09T19:57:46.860 CEST DEBG ][ org.kde.kstars.ekos.focus] - "Linear: Solution #4: 58422.7 = 1.00662 @ 57331"
[2022-10-09T19:57:46.860 CEST DEBG ][ org.kde.kstars.ekos.focus] - "Linear: 1stPass solution @ 57331: pos 58422.7 val 1.00662, min measurement 1.09409"


So the algorithm wants to move the focuser out by 58423 - 57331 ticks = 1092 ticks. It adds backlash of 5 * 200 =1000 so requests a move out of 2092 tocks to 59423.

[2022-10-09T19:57:50.145 CEST INFO ][ org.kde.kstars.ekos.focus] - "Focusing inward by 1.000 steps..."
[2022-10-09T19:57:50.149 CEST INFO ][ org.kde.kstars.indi] - Sesto Senso 2 : "[INFO] Focuser reached requested position. "
[2022-10-09T19:57:50.149 CEST DEBG ][ org.kde.kstars.indi] - Sesto Senso 2 : "[DEBUG] Sending command: {\"req\":{\"get\":{\"MOT1\":\"\"}}} with property: ABS_POS "
[2022-10-09T19:57:50.552 CEST DEBG ][ org.kde.kstars.indi] - Sesto Senso 2 : "[DEBUG] Received response: {\"res\":{\"get\":{\"MOT1\":{\"ABS_POS\":59423,\"EL_POS\":392,\"MARK\":0,\"SPEED\":0,\"ACC\":5,\"DEC\":5,\"MAX_SPEED\":4,\"MIN_SPEED\":0,\"TVAL_HOLD\":4,\"TVAL_RUN\":20,\"TVAL_ACC\":20,\"TVAL_DEC\":20,\"T_FAST\":25,\"TON_MIN\":41,\"TOFF_MIN\":41,\"FS_SPD\":1023,\"OC "


The focuser gets there and reports done so the algorithm tries to undo the backbash by moving in by 1000 ticks from 59423 to 58423.

The driver takes that request and modifies it to goto 57966...
[2022-10-09T19:57:50.553 CEST DEBG ][ org.kde.kstars.indi] - Sesto Senso 2 : "[DEBUG] Sending command: {\"req\":{\"cmd\":{\"MOT1\" :{\"GOTO\":57966}}}} with property: GOTO "

Here is the driver code
IPState SestoSenso2::MoveAbsFocuser(uint32_t targetTicks)
{
targetPos = targetTicks;

if (isSimulation() == false)
{
backlashDirection = targetTicks < lastPos ? FOCUS_INWARD : FOCUS_OUTWARD;
if(backlashDirection == FOCUS_INWARD)
{
targetPos -= backlashTicks;
}
else
{
targetPos += backlashTicks;
}
char res[SESTO_LEN] = {0};
if (command->go(static_cast<uint32_t>(targetPos), res) == false)
return IPS_ALERT;


So the driver has adjusted the request by 58423 - 57966 = 423 ticks which must be value of backlashTicks.

Any idea where this number would come from?

So i'm currently diffing into this.
1 year 6 months ago #87089

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

Time to create page: 0.593 seconds