Hi There!
I was just tired to measure my gantry corner values (although it seems to be good enough to have a coarse guess) and was thinking of calculating these values out of a simple measurement. Why is the world better with this? You do not have to do it manually and it should be much more accurate, so the QGL should converge faster.
Basic Idea: You measure by probe two X-Positions of the Table. First (measuring#1) at some position of the Z-Axis(es) and second (measuring#2) moving one side of the gantry a little up (maybe you have to move two motors, to be discussed below!). From the difference, you should now be able to calculate the “left” distance from Z-Axis to the edge of the table. You may do it again for the other side, let J2 be static and move J1 (or both J1 joints).
Here is the basic sketch for 2D approach:
J is a joint from the gantry to the Z-Axis where J1 is the “left” joint and J2 the “right” one. J1,1 is the position of J1 at measuring#1 and J1,2 J1 at measuring#2 (stays the same for J1, is different for J2).
P1 is the Position of the “left” measuring point (for measuring #1 and #2), where Tx1 in known (X-Position counting from left edge of the table)
P2 is the Position of the “right” measuring point (for measuring #1 and #2) where Tx2 is known.
d is the wanted distance of J1 from the table edge
X1 is the position of P1 from J1
X2 is the position of P2 from J1
h is the (unknown) height of J1 or of the probe
Y1,1 is the measured probe value of Position 1 at measuring#1
Y1,2 is the measured probe value of Position 1 at measuring#2
Y2,1 is the measured probe value of Position 2 at measuring#1
Y2,2 is the measured probe value of Position 2 at measuring#2
Now the calculation:
We use the intercept theorem for solving this.
we see that (Y2,2-h) is the height of a triangle, that has its left point in J1. Line 1 shows this behavior of Y1,1 and Y1,2. The result is in line 3 an equation for h
Since the same approach can be done for measuring #2 and h is the same, you get equation line 2 and 3. All values of the middle bracket are known from probe values, so we define this to be “a”.
From the definition of X1 and X2 we now can calculate d=f(a). Since we know all values of this, d should be solvable. q.e.d.
Question: Does this makes sense to you? Is that function helpful enough to implement it? Is it already implemented? Is it solvable also for 3d gantries? May it help somewhere for bedslinger kinematics?
Any comment is welcome.