I still argue that it just a matter of definition. I am not sure about the current implementation in V1 and RMOD (V2) though...
If you want the tube center to be the reference, fine. In that case you have to change the order of calibration steps and apply the needle wobble correction factor when measuring camera - needle distance:
1. calibrate needle height
2. measure needle wobble
3. determine rotational center
4. determine camera-needle distance
For step 3, Manfred's approach probably works:
mawa wrote:Well the wobble calibration describes a circular set of points around that very center point we want to know. In Rezas version you can follow the calibration and each angle wobble result is displayed as a blue cross.
So its just a little bit of trigonometry to compute that center point.
IMHO it is easier to center the needle above the up camera than the rotational center - so I would prefer my approach:
1. calibrate needle height
2. set A = 0 and measure needle-camera distance
3. calibrate needle center above camera
3. measure needle wobble
I also claim that you have to rerun these calibration each time you start the machine and also each time you change the needle - it is the same as homing your machine. After motors are powered off, you simply cannot rely on the position of any of the axis. Thus I would prefer these steps to be executed in an easy wizard.
Knas wrote:the tube center will not be the needle center - it's height-dependent.
This supports my claim that simply centering the needle above the up camera is simpler, as angles and pixel-to-mm rations do not matter when centering a part.
Another remark to the dependency on height (Z): As we do not use telecentric lenses, we will also face perspective and projection errors.
This is the reason why we have to calibrate needle height first, so the needle tip is at PCB surface level when running the calibration. Also, the pixel-to-mm ration for up camera needs to be calibrated for this Z-level (but only once).
For practical reasons, I would assume that steel tube has relatively little or no wobble and is perfectly orthogonal to table surface while needle wobble will be the same on all Z-levels - this can be sorted out mechanically and is important when picking up larger components or using thick component trays as I do.