Created a new topic to discuss this potential issue.
In the top center, an error of 1mm in chain length (or actual rotation radius)
can translate into an error of 2+mm, so if we have a measurement between the
points of two triangles, with one having it’s vertex in the top center, and
another having it’s vertex mid or low center, and we assume the measurement is
accurate to 0.5 mm, we should be able to get a final calculated rotation radius
error down somewhere around 0.1mm.
This is what we did in the small window where we added the proper triangulated
calibration and before we added chain sag compensation.
The wide measurements are trying to measure errors are trying to measure the
much smaller error caused by chain sag (combined with the effects of the
rotation radius of the triangulation kit)
Keep in mind, this is what the top measurement does (the measurement between cuts 1 and 2). It can be horizontal or vertical. If you make the measurement in the vertical direction then you’ll introduce error in the horizontal direction.
the math to figure out the rotation radius depends on knowing the chains being
equal lengths and knowing the difference in height of two triangles that are
doing this in the center means that small differences in the effective chain
length (including the rotation radius added by the triangulation kit) are
multiplied to larger differences in the sled location.
When you are out to the side, the sled position effects of small differences in
the effective chain length are much smaller, and the effects of the effective
chain length are mixed by the chain sag effects, which are much larger in this
If measuring a vertical distance makes the resulting calibration wrong in the
horizontal distance, then the calibration strategy is incomplete.
can we add a second cut on the center line and the measurement between the two
cuts on the center line and see what this does with the resulting calibration
I disagree, in part. The effects of chain sag are minimal at the cut 1 and 2 locations. This can be confirmed by playing with the simulator. We can use the center vertical measurement to determine the rotation radius, but it will just introduce error into other areas of the bed.
It’s not the calibration strategy, it’s the kinematics. If the kinematics don’t have the ability to completely accurately position over the entire work area, then the calibration routine can’t make it accurate over the entire work area, nor could any combination of parameters.
I don’t believe that the kinematics prevent us from getting accurate positioning
over the entire work area.
And I don’t believe that getting a more accurate rotation radius will make the
rest of the system less accurate, I don’t see how more accurately modeling the
chain length can cause other things to be less accurate
This is easy to test. Perform the accuracy benchmark test for the calibration-determined parameters and the other rotation radius values, and see how they compare.
Assuming that the rotation radius, motor offset, and chain sag values are kept positive, then only one unique solution exists for the data. I tried to see if I could find alternate solutions by adjusting the weight of the parameters, and always got the same results.
This means that any change of the parameters will introduce error into those portions of the work area.
I may be wrong though, I would say try it out!
first off, I’m not sure that only one unique solution is possible, especially
since we are doing ‘iterate until we are close enough’ rather than an actual
calculated solution, and the fact that our measurements are not that precise.
I think we should have the vertical measurement between two triangles as that
will be far more sensitive to rotation radius changes and far less sensitive to
chain sag changes, so if someone is off a bit in the long measurements (the ones
hardest to do), they are going to be less likely to get horribly bad results
I spent some time on this, both iteratively as well as algebraically, and could not find a second set of values that satisfied the criteria. Not saying they don’t exist, but I at least wasn’t able to find them. I’m definitely open to being proven wrong though, and am happy to assist in any way!
I did develop a version of the calibration routine that used the vertical measurement. I found it to be a double-edged sword. The negative side was that each 0.5mm of measurement of the vertical cuts created a larger difference in rotation radius than a 0.5mm difference in measurement for the horizontal cuts. So effectively, we had less resolution with the vertical cuts. But it’s not hard if someone wants to try it out.
Which PR changed how the cuts were made? I’m having a hard time finding it… I think it must before files were moved into the new directory and it’s making it hard for me to locate.
Edit: nm… found it… change was made when chain sag correction was added
So… do we need to do a vertical measurement or not? Seems like the conversation stalled. I don’t understand the calibration routine enough to have a position. Can someone possibly diagram out the “triangles” that are getting measured and how they relate to the variables? I know this might be a lot of work. Personally I would like to see this well documented because its so critical to the operation of the machine. I’m working on a way to do this optically and will need to understand how the calibration is performed. Trying to figure it out from code, the posts here and on github is a challenge for me.
The more people that test it, the more we will know. If you’re willing, download the test version here and test it.
The test could be as simple as marking the sled outline with a pencil then traversing a distance (12 inches? ) in each direction from the center and measuring the resulting travel. Large accuracy issues that show up over a moderate distance in the middle might be a reasonable first level of check. If the accuracy looks good, cutting a 9-inch-circle.nc would compare with the results folks have posted in the ‘…Oblong Circles’ thread.
Be sure to report your results in the comments to the PR comments, to keep the information specific to that test together.
So if I unzip that file into my ground control folder the calibration routine will add the vertical measurement cuts and then use those in the calibration? I will try it tonight.
My weekend wasn’t as free as I thought it would be so I didn’t actually get to cut anything. I did fiddle with my sled and frame quite a bit though.
Perhaps you should hold off on trying it. @rjon17469 has put the PR on hold for now. As to where to unzip, that varies between the operating systems, and I always try to keep ‘testing’ versions separate from the current release version.
I know what you mean, weekends do fill up and often don’t contain as much cutting time as fiddling time.
I shall hold off on the new routine. I’ll just do a normal calibration and cut a circle
I have a good feeling about it tonight.
I am using the new default frame with a ring kit. Attempting to move the bit 4 inches in the x and y. The actual distance moved by the bit is 4.25 in the x, and 3.5 in the y. I have tried the calibration a number of times. Any thoughts?
I would like to know if someone would maybe design a drawing extension for the Maslow that weighed approximately the same as the router (a tall bottle of water could come close to weight). If we were to attach a bottle to a sharpie marker, and secure it with a 3d printed “jig” we could measure the fluctuations in precision using something that is essentially repeatable and inexpensive. We could even use large format post it notes to provide clean writing surfaces. I think that making cuts for calibration seems is a bit final.
There are a few different designs/hacks for putting a pen into the router housing. Check the Wiki.
I don’t think any have yet taken into account the weight of the missing router, but it’s probably pretty easy to retrofit most of the ideas.
what are teh results of your calibration (the numbers that it finds)?