calculate screw corrections of Auto-leveling
-
hey,
I am try to understand & solved the corrections matrix for auto-leveling.
but i didn't understand this line "probePoints.GetZHeight(0)". what value it take?code:
FixedMatrix<floatc_t, MaxLeadscrews, MaxLeadscrews + 1> normalMatrix;
for (size_t i = 0; i < numFactors; ++i)
{
for (size_t j = 0; j < numFactors; ++j)
{
floatc_t temp = derivativeMatrix(0, i) * derivativeMatrix(0, j);
for (size_t k = 1; k < numPoints; ++k)
{
temp += derivativeMatrix(k, i) * derivativeMatrix(k, j);
}
normalMatrix(i, j) = temp;
}
floatc_t temp = derivativeMatrix(0, i) * -((floatc_t)probePoints.GetZHeight(0));
for (size_t k = 1; k < numPoints; ++k)
{
temp += derivativeMatrix(k, i) * -((floatc_t)probePoints.GetZHeight(k));
}
normalMatrix(i, numFactors) = temp;
} -
@R006 thats the first of the probe points.
-
@oliof i know that. but my question is what value it will give at every point.
-
so you are not asking about the value of probepoints.GetZHeight(0) but the preceding calculations in the surrounding loop?
-
@oliof :
I want to know 2 things:
a) what is the value stored in " probepoints.GetZHeight(0)", IF I probe 0th point and receive value 2.500 from BLtouch probing.
Dive height 5mm, trigger height 3.000.b) Can you direct me to any literature that explains how are these auto-level deviations calculated? (any standard theory/formula)
-
@R006 the value stored in probepoints.GetZHeight(x) is the height error (i.e. actual height at which the probe triggered less the configured trigger height) that was measured by the G30 Px command in your bed.g file. So in your example the stored value would be 0.5.
The bed is modelled as a flat plan if there 4 leadscrews are configured or as a twisted plane if 4 are configured. RRF uses a linear least squares algorithm to calculate the corrections.