Version 1.15 Testing and Feedback

The first image had the square true to the Y access. The section post was corrected to align to x

Scott wrote:

The first image had the square true to the Y access. The section post was
corrected to align to x

I was trying to just use the distances between the anchors. I was using the
numbers from the 2nd post.

David Lang

1 Like

I printed up a target and a laser holder to fit the anchor holes last nights. I considered using a bolt, but wanted to ensure a true center was measured from. Using this method, the measurements read the same in both directions for all 4 anchors and diagonals.

Looking at the CAD, you can see in the upper right corner drift is about 1mm, so I think the measurements are better this reading.

The CAD is aligned to the X axis and dimensions are off the parallels

Maslow Table Dimensions On X v1.2.dxf (755.9 KB)


Maslow Table Dimensions On X v1.2.pdf (23.1 KB)

Let me know if there is something else I can do to help out. -Scott

1 Like

This is super helpful! Thank you for taking those measurements!

From my calculations I’m finding (Mostly for my own memory so I don’t forget):

TLX: 26.879
TLY: 2351.84
TRX: 3563.1
TRY: 2363.99
BRX: 3565

yep, same results from my onshape based calculations. much better than the prior numbers I was using.

1 Like

So I can follow this better, if I look at the original numbers (tape measure converted to mm) they are off by 6mm along the top and smaller values elsewhere. .

The updated measurements (latest ones) using the laser tray tightened things up to about 1mm.

So this leaves the delta between the configuration which varies around 30-55ish mm?

A thought I have is to ensure the z settings (wihch on the table are all the same) are in the config before calibration. I did block them up to offset bit length and stock thinkness, but the calibration was done with just the spoil board.

What do you think the next step should be? -

calibration should be done with the Z all the way down (no bit)

the default Z offsets assume that the anchors are even with the bottom of the sled, If that isn’t the case, this should be changed (1.16 will honor the wasteboard/workpiece settings during configuration, 1.15 doesn’t)

I’m not sure exactly what you mean by:

So this leaves the delta between the configuration which varies around 30-55ish mm?

What I mean is comparing the Maslow_tlY 2292.3 with the measurement reading of 2352, are these supposed to be close?

What are 1:16 and 1:15? Is this the Maslow_SpoilboardThickness and Maslow_WorkThickness? If I count from the top of the YAML, they the 17th and 18th values.

What would be better? If I change the Maslow Kinematics Z values from the values 100, 56, 34,78 to the correct anchor points, would this adjust the math correctly or lower the anchor points to be even with the router base. Or maybe just use a thicker spoilboard setting?

-Scott

Here’s what I’m working on.

I put together this simulator which simulates the whole process from taking measurements to computing the results: Maslow Calibration Simulator

It seems to me like there are three possible types of errors. They are a constant offset to each measurement (like we think the arm is 123mm long but it is actually 124), a random measurement error (basically we don’t measure exactly correctly), and a scaled error (basically we think that the belt teeth are 2mm apart but they are actually 1.99mm apart).

The simulator lets you play with each of those things and see how they impact the results.

My takeaway is that only random measurement errors can impact the result fitness. The other two will result in anchor points which are either further or closer than expected, but the fitness will be high in both cases.

Then I built this simulation to experiment with looking at your data to see what I could learn.

So far I haven’t made any huge breakthroughs, but I’m still messing with it

So, one thing I’ve been wondering (and part of the motivation for the tension measuring experiment) is whether we might find that if we can establish the force a particular arm applies at different lengths and current, and capture the current from the motors at each measurement point.

We could then use this to scale the recorded values by what people measured for belt stretch, we might find that’s the secret for the calibration calculation.

1 Like

Scott wrote:

What I mean is comparing the Maslow_tlY 2292.3 with the measurement reading of 2352, are these supposed to be close?

What are 1:16 and 1:15? Is this the Maslow_SpoilboardThickness and Maslow_WorkThickness? If I count from the top of the YAML, they the 17th and 18th values.

firmware v1.15 (the current most recent) and v1.16 (the next one that will be
released)

there was a bug found where all versions up to and including v1.15 do not use
Maslow_SpoilboardThickness and Maslow_WorkThicknes during calibration (they are
used for movement after calibration, just not during calibration)

What would be better? If I change the Maslow Kinematics Z values from the
values 100, 56, 34,78 to the correct anchor points, would this adjust the math
correctly or lower the anchor points to be even with the router base. Or maybe
just use a thicker spoilboard setting?

right now, with firmware v1.15, you need to change the Z values to properly
represent the distance from the anchors to the arms. With v1.16 and later, you
could make the adjustement with the Maslow_SpoilboardThickness setting.

The default values (100, 56, 34,78) assumed that the anchors were at the height
of the bottom of the sled (with the frame as shown in the kickstarter, they
were). Now that it’s common to have the frame horizontal with anchors lower than
that, they should be adjusted. @bar questioned if it made any difference or not,
but we’ve since had several people get much better results after they made the
adjustment.

does this help?

David Lang

Dave wrote:

So, one thing I’ve been wondering (and part of the motivation for the tension
measuring experiment) is whether we might find that if we can establish the
force a particular arm applies at different lengths and current, and capture
the current from the motors at each measurement point.

the problem is that we don’t know how much friction there is in the arm, so how
much of the force from the motors is being used to just move the spool, and how
much is being used to stretch the belt?

we could do a test where we ramp up the current from low values until the belts
start moving and record how much current it takes for each arm, but is that
going to be consistant when the belt (and therefor the spool) is under tension?

I think it’s worth experimenting with, just to see if it correlates with
anything, but I have doubts on how well it can work.

I had a machine that was moving smoothly at 900 limits go to neeing 1800 limits
over a very short time.

David Lang

See:
5 dollarydoo tension experiment (+ sled immobiliser)

I was trying to measure directly current to force - it wouldn’t be an automated solution, more an aim to show if it’s true or not to then work out what next.

Also @bar - one thing I found interesting back when I was playing with calibration algorithms - delete either all the outside rows or all the outside columns and re-run calibration on a set of data and compare - it seemed like it tended to give different results, which I think implied to me that differing belt stretch due to angles might be a thing, but obviously without any proof.

1 Like

Dave wrote:

See:
5 dollarydoo tension experiment (+ sled immobiliser)

I was trying to measure directly current to force - it wouldn’t be an automated solution, more an aim to show if it’s true or not to then work out what next.

I am watching that with interest, my concern is around generalizing it from one
machine to many.

David Lang

1 Like

I believe that the build at

includes the fix to honor the Maslow_SpoilboardThickness and Maslow_WorkThicknes
values, it also should save the old maslow.yaml when you start a new calibration
(untested, please report if you test it)

David Lang

1 Like

Yeah, that’s fair - I think my approach is more - every increment towards the goal helps, even if it’s getting the modelling right for one machine. Enough increments and you solve the problem.

1 Like

Dave wrote:

Yeah, that’s fair - I think my approach is more - every increment towards the
goal helps, even if it’s getting the modelling right for one machine. Enough
increments and you solve the problem.

I try to strike the balance between “thought of that, here are the problems” and
“the person saying something can’t be done shouldn’t interrupt the person doing
it”

I don’t always succeed.

David Lang

1 Like

Yes, it does help. I actually thought 1.15 was an array index but it is clear now. I will adjust the values and re-run the config. Basically (distance to bottom of anchor - spoil board thickness).+ existing value in yaml for each arm.

1 Like

I re-ran calibration. My table is using the triangle anchors from the Not Shop that are 10mm thick at the base. My spoil board is 5mm, and the risers that I use (because I was compensating for material thickness but realize these are separate YAML settings) are 38mm, so I have added 43mm to each of the Z offsets - 143, 99, 77, 121.

I rer-ran calibration, the following are the new values:

Calibration values:
Fitness: 2.4419750107813196
Maslow_tlX: -27.1
Maslow_tlY: 2316.9
Maslow_trX: 3581.3
Maslow_trY: 2325.1
Maslow_blX: 0.0
Maslow_blY: 0.0
Maslow_brX: 3576.0
Maslow_brY: 0.0

For reference, the following are the previous values:

Calibration values:
Fitness: 2.952430440738816
Maslow_tlX: -26.5
Maslow_tlY: 2292.3
Maslow_trX: 3597.3
Maslow_trY: 2305.6
Maslow_blX: 0.0
Maslow_blY: 0.0
Maslow_brX: 3598.8
Maslow_brY: 0.0

Attached is the latest log.

Maslow-serial Updated anchor Z values.log (46.1 KB)

1 Like

I tried to repeat the experiment of getting precise measurements by hand and comparing them to the values found by the automatic process, but I wasn’t 100% successful. I bought a high precision tape measure, 3D printed an adapter to make it so that the end could fit into the mounting points…then discovered that my tape measure was like 300mm too short to measure the diagonals :joy:

I was able to fake it, but I don’t feel that great about the precision of my measurements by hand.

Here’s what I came up with:

Measured (Machine) [Difference]
TLX: 131.25 (128.2) [3.05]
TLY: 3257.35 (3221) [36.35]
TRX: 4318.8 (4314.3) [4.5]
TRY: 3259.9 (3222.9) [37]
BRX: 4345 (4342.6) [3.4]