Top Camera to Nozzle Offset on Secondary Z fiducial.

238 views
Skip to first unread message

Zdenko Stanec

unread,
Apr 9, 2022, 12:53:11 PM4/9/22
to OpenPnP
Greeting all,

@Mark or anyone with a similar issue,

I machined new tape feeders as I wanted to have all components on the same Z height on the table but It seems I have some kind of issue as none of the nozzles on this "component Z height -20.30mm" picks up component correctly, it has some offset around 0.30mm and this can be seen in the Video when I recalibrated top camera, I even put the second Z from calibration on the same height of tape feeders, recalibrated one more time, but I still have some kind of offset on that height with all 4 Nozzles, but for example on Working Z where PCB is on -32mm I don't have that issue.

Is there anything I can do to fix this?

The issue can be seen here :  https://www.youtube.com/watch?v=S7qmftHtMCI

I am running the latest Test revision.

Best regards,

Ian Arkver

unread,
Apr 9, 2022, 1:17:05 PM4/9/22
to OpenPnP
It looks to me like the Z height for the PCB is slightly wrong - the nozzle is pushed down and the spring compresses a little - watch it on slomo or single frame.
I don't know if this would be enough to throw the calibration and account for the horizontal offset you see.

Regards,
ian

Zdenko Stanec

unread,
Apr 9, 2022, 1:26:57 PM4/9/22
to OpenPnP
Hi Ian,

On PCB Z -32.00 It goes 0.15mm lower yes so -32.15mm, but that should not be an issue, Primary Fiducial and camera to Nozzle is OK, I have an issue on the Secondary Fiducial which can be seen in the video.

Fid_2.png

Best regards,

mark maker

unread,
Apr 9, 2022, 2:14:39 PM4/9/22
to ope...@googlegroups.com

Hi Zdenko

I don't seem to understand the question, or how the secondary fiducial height is related/relevant for the feeder's Z(?)

Usually, all Z coordinates are just captured from the feeder (etc.) by moving the nozzle tip there. The Z is then simply re-used. It all comes down to motion repeatability, not absolute accuracy. The Z coordinates captured in the calibration rig (in your video) are basically used to calibrate the 3D Units per Pixel of the camera, not really to establish some kind of "universal table Z". Yes the primary Z should be close to the table Z, but this is just a "recommendation".

https://github.com/openpnp/openpnp/wiki/3D-Units-per-Pixel

I assume it is very difficult to build a perfectly planar machine, therefore OpenPnP does not make any assumptions about such a "universal table Z", but instead each feeder is typically Z-captured individually.

Except if you have a ContactProbing Nozzle, where the feeder (etc.) Z can be a rough estimate, and is then precision-probed on first use:

https://github.com/openpnp/openpnp/wiki/Contact-Probing-Nozzle

_Mark

--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/a122ef07-7edb-4373-8a4e-a1cfc85aae23n%40googlegroups.com.

Zdenko Stanec

unread,
Apr 9, 2022, 4:05:45 PM4/9/22
to OpenPnP
Hi Mark,

Thanks for the feedback, 

Basically, I am just using Secondary fiducial here to demonstrate the problem of the offset from what Top camera sees and where the Nozzle is going to be placed.

For example, if I press "Move the camera at the selected feeder pick up location" my Top cam goes on the center of the component in that feeder, then I press "Move the tool to the selected feeder pick up location"   - Nozzle goes there on Z height that is needed, but it has an offset of around 0.3mm in X axsis. 

If this is a mechanical issue I can easily adjust that, but the machine is super rigid, CNC machined all the parts, and when I was assembling it I was using 0.01 precision dial indicators to mount all parts in the best way possible so parallelity and squares should be spot on, but for sure I will check this again.

Best regards,

Zdenko Stanec

unread,
Apr 9, 2022, 4:15:42 PM4/9/22
to OpenPnP
Just to mention again,

This offset of 0.3mm in X axsis only happens on Z height of the feeders -20.30mm, on Z height of the PCB if I target for example Fiducial with Top cam, and tell OpenPnP to put Nozzle_1 on that fiducial on -32.00mm (PCB level), Nozzle_1 is spot on in the direct center of the fiducial, so the offset of 0.3mm in X axis only occurs at Z height of the feeder.

Best regards,

Jan

unread,
Apr 9, 2022, 4:47:28 PM4/9/22
to ope...@googlegroups.com
Hi Zdenko!
I would guess that your entire head is tilted on Y-axis.
To my understanding down-looking camera calibration compensates for any
camera tilts and precise nozzle to camera calibration fixes the offset
between camera and nozzle at one specific Z. If your head is tilted,
this offset will be wrong for any other Z. You said, that all four
nozzles are affected the same way, hence this is not a single nozzle
issue but the entire head is tilted.
Unfortunately I don't know if there is any calibration feature that
allows to compensate for that.

Jan
> --
> You received this message because you are subscribed to the Google
> Groups "OpenPnP" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to openpnp+u...@googlegroups.com
> <mailto:openpnp+u...@googlegroups.com>.
> <https://groups.google.com/d/msgid/openpnp/a122ef07-7edb-4373-8a4e-a1cfc85aae23n%40googlegroups.com?utm_medium=email&utm_source=footer>.

Zdenko Stanec

unread,
Apr 9, 2022, 5:00:47 PM4/9/22
to OpenPnP
Hi Jan,

I will measure the complete assembly again, I will be smarter tomorrow.

Br,

Ian Arkver

unread,
Apr 9, 2022, 5:11:25 PM4/9/22
to OpenPnP
Hi Zdenko,

My thought was that the 3D camera calibration could be fooled if you told it the primary fidu was at Z = -32.15 but it's actually at -32.0 which might lead to a miscalculation when it's adjusting the offsets for other higher Zs. But if you told it the correct height of the primary fidu, then ok.

A tilted head could also explain it but would be a lot harder to fix. :-(

All the best,
Ian

Zdenko Stanec

unread,
Apr 9, 2022, 5:22:02 PM4/9/22
to OpenPnP
Hi Ian,

I will machine some more feeder plates tomorrow so I will have some time to take dial indicators out and drag them across all axis and head again, will be interesting to see where this offset is coming from. :-/

Best regards,

Noël

unread,
Apr 10, 2022, 5:58:50 AM4/10/22
to OpenPnP
If you plae the nozzle on top of the bottom camera and move the z to both extrmities does the nozzle tip shift up/down and left/right? 

Zdenko Stanec

unread,
Apr 10, 2022, 7:53:14 AM4/10/22
to OpenPnP
Hi Noel,

Yes, I see some movement in the Bottom Camera when going up and down with Nozzle, and I think this is due to Camera mounting Deg. error in X-axis, I will adjust this after lunch, but if I measure the movement with a dial indicator I don't see any issues, which can be seen here: https://www.youtube.com/watch?v=8KVM5T5ICuw so this must be just an issue with Bottom camera placement, I hope.

Bottom_Cam.jpg


I managed to adjust the Top camera pretty well, I will do the same with the Botton camera and then recalibrate complete machine one more time together with Offsets from all 4 Nozzles, maybe I manage to pull something out :-/

Top_Cam.jpg

Best regards,

Harjit Singh

unread,
Apr 10, 2022, 9:48:36 AM4/10/22
to ope...@googlegroups.com
I might be wrong but this isn't a bottom camera issue because you are showing that the slider is not moving and it we assume the bottom camera is not moving, then, the bottom camera will see that the slider wasn't moving either.

But, if the nozzle tip is not parallel to the slider you showed on the video, then, as the tip comes down, it will appear to move to the side.



To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/a3e02ee5-0e3f-4f73-8fd8-93a88ddd46b2n%40googlegroups.com.

mark maker

unread,
Apr 10, 2022, 11:29:47 AM4/10/22
to ope...@googlegroups.com

Hi everybody,

Just in case this was not clear:

  1. Only the Advanced Camera Calibration does compensate camera tilt. The Preliminary Calibration, does not. So in case the OP has not yet done the Advanced calibration in the down-looking camera (which I believe he has not specified), this should be the first step.
  2. The Advanced Camera Calibration adjusts the down-looking camera tilt, by shifting the center of the image, i.e. it determines which of the pixels or imaginary "light rays" in the camera view is the truly perpendicular one, i.e. perpendicular to the X, Y motion plane.
    perpendicular
  3. And because we are talking about the centered camera, there is no adjustment in X/Y dependent of Z, precisely because it is assumed to be perpendicular. Which means, even if the Z coordinate is wrong or unknown, it does not matter!
  4. However, as others said, yes, the nozzle Z axis might be tilted, and if all the nozzles show the same tilt, then yes, it is likely the whole head is mounted at an angle.
  5. And, again as others said, no there is no calibration for nozzle tilt, with one exception: nozzle tip calibration can compensate nozzle tilt if the bottom camera focal plane Z is not at table/PCB surface Z.
    https://github.com/openpnp/openpnp/wiki/Nozzle-Tip-Calibration-Setup#what-is-the-bottom-camera-location-and-how-can-it-vary-between-nozzles
  6. Zdenko, I think you cannot measure nozzle tilt the way you did in https://www.youtube.com/watch?v=8KVM5T5ICuw . This is just measuring how the thickness of that metal bar changes, it does not measure at what tilt angle it moves by. You would have to mount the dial indicator onto the nozzle and then measure up/down along a trusted 90° angle surface mounted on a  trusted X/Y surface (that you need to confirm first, by moving in X/Y, with the dial indicator mounted on the head).

_Mark

Zdenko Stanec

unread,
Apr 10, 2022, 12:40:32 PM4/10/22
to OpenPnP
Hi,

Yes, I am using the Advanced Camera Calibration, 

I just can't figure this out, I'm so tired of it...trying to fix this from 08:00 in the morning, I measured the complete head and table and the ting is all parts are machined in such a way you can not assemble them in a wrong angle and 1-2-3 blocks prove that head is perfectly parallel in all axis against the working table, linear rails are mounted too in such a way you can not mount them wrong as they have precise CNC machined grooves where they slide in.

All 4 nozzles have the same Offset on the X-axis at Z -20.30mm and the head is mounted super precisely... I just don't get it, If I tilt complete head I just create a bigger problem.

I am completely out of the ideas...

Thanks all for helping,



Ian Arkver

unread,
Apr 10, 2022, 2:16:22 PM4/10/22
to OpenPnP
Perhaps you can make/machine a pair of calibration fiducials where the relative positions are known precisely (or can be measured accurately off the machine).

Then you can set the fidu positions in OpenPnP manually, not using the camera. That might shed light on whether it's the camera transforms throwing off where the camera thinks the fidu is, or the nozzle positioning being askew.

But I'm out of ideas, since Mark shot down my one vague guess. :-)

Good Luck,
Ian

Jan

unread,
Apr 10, 2022, 2:21:49 PM4/10/22
to ope...@googlegroups.com
Hi Zdenko!
As Mark just confirmed, there is no nozzle tilt compensation, the
situation is (at least for me) clear now: an X offset as function of Z
is a tilted nozzle. If all nozzles on the head have the same offset,
either all nozzles are equally tilted. Sounds not unrealistic to me as
you said, that all linear rails are mounted in precisely CNCed grooves
and you likely bought all linear rails at once. So, if the groves are
perfect and the head sits perfect, there are just the linear rails left
to blame...
If you don't wont or can't fix the tilt, I see just two options: a)
follow the general advice and have everything on almost the same Z level
and b) try to compensate the tilt using a transformed X axis in the same
way as none-squareness is compensated (X axis will be a function of Z).
If you'd follow the second path, make sure to recalibrate everything as
you new X will do interesting things...
If anyone thinks, this is a bad advice, please speak up and safe Zdenko
from spending to much time on it.

Jan

On 10.04.2022 18:40, Zdenko Stanec wrote:
> Hi,
>
> Yes, I am using the *Advanced* Camera Calibration,
>
> I just can't figure this out, I'm so tired of it...trying to fix this
> from 08:00 in the morning, I measured the complete head and table and
> the ting is all parts are machined in such a way you can not assemble
> them in a wrong angle and 1-2-3 blocks prove that head is perfectly
> parallel in all axis against the working table, linear rails are mounted
> too in such a way you can not mount them wrong as they have precise CNC
> machined grooves where they slide in.
>
> All 4 nozzles have the same Offset on the *X-axis* at *Z -20.30mm* and
> the head is mounted super precisely... I just don't get it, If I tilt
> complete head I just create a bigger problem.
>
> I am completely out of the ideas...
>
> Thanks all for helping,
>
>
>
> On Sunday, 10 April 2022 at 17:29:47 UTC+2 ma...@makr.zone wrote:
>
> Hi everybody,
>
> Just in case this was not clear:
>
> 1. Only the *Advanced* Camera Calibration /does/ compensate camera
> tilt. The *P**reliminary* Calibration/, does *not*./ So in case
> the OP has not yet done the *Advanced* calibration in the
> /down-looking/ camera (which I believe he has not specified),
> this should be the first step.
> 2. The Advanced Camera Calibration adjusts the down-looking camera
> tilt, by shifting the center of the image, i.e. it determines
> which of the pixels or imaginary "light rays" in the camera view
> is the truly perpendicular one, i.e. perpendicular to the X, Y
> /motion/ plane.
> perpendicular
> 3. And because we are talking about the /centered/ camera, there is
> no adjustment in X/Y dependent of Z, precisely /because/ it is
> assumed to be perpendicular. Which means, even if the Z
> coordinate is wrong or unknown, it does not matter!
> 4. However, as others said, *yes*, the nozzle Z axis might be
> tilted, and if all the nozzles show the same tilt, then yes, it
> is likely the whole head is mounted at an angle.
> 5. And, again as others said, *no* there is no calibration for
> nozzle tilt, *with one exception*: nozzle tip calibration can
> compensate nozzle tilt if the bottom camera focal plane Z is not
> at table/PCB surface Z.
> https://github.com/openpnp/openpnp/wiki/Nozzle-Tip-Calibration-Setup#what-is-the-bottom-camera-location-and-how-can-it-vary-between-nozzles
> <https://github.com/openpnp/openpnp/wiki/Nozzle-Tip-Calibration-Setup#what-is-the-bottom-camera-location-and-how-can-it-vary-between-nozzles>
> 6. Zdenko, I think you cannot measure nozzle tilt the way you did
> in https://www.youtube.com/watch?v=8KVM5T5ICuw
> <https://www.youtube.com/watch?v=8KVM5T5ICuw> . This is just
> measuring how the thickness of that metal bar changes, it does
> not measure at what tilt angle it moves by. You would have to
> mount the dial indicator onto the nozzle and then measure
> up/down along a trusted 90° angle surface mounted on a trusted
> X/Y surface (that you need to confirm first, by moving in X/Y,
> with the dial indicator mounted on the head).
>
> _Mark
>
>
> On 10.04.22 15:48, Harjit Singh wrote:
>> I might be wrong but this isn't a bottom camera issue because you
>> are showing that the slider is not moving and it we assume the
>> bottom camera is not moving, then, the bottom camera will see that
>> the slider wasn't moving either.
>>
>> But, if the nozzle tip is not parallel to the slider you showed on
>> the video, then, as the tip comes down, it will appear to move to
>> the side.
>>
>>
>>
>> On Sun, Apr 10, 2022, 4:53 AM Zdenko Stanec <zdenko...@gmail.com>
>> wrote:
>>
>> Hi Noel,
>>
>> Yes, I see some movement in the Bottom Camera when going up
>> and down with Nozzle, and I think this is due to Camera
>> mounting Deg. *error in X-axis,* I will adjust this after
>> lunch, but if I measure the movement with a dial indicator I
>> don't see any issues, which can be seen here:
>> https://www.youtube.com/watch?v=8KVM5T5ICuw
>> <https://www.youtube.com/watch?v=8KVM5T5ICuw> so this must be
>> just an issue with Bottom camera placement, I hope.
>>
>> Bottom_Cam.jpg
>>
>>
>> I managed to adjust the *Top camera* pretty well, I will do
>> the same with the Botton camera and then recalibrate complete
>> machine one more time together with Offsets from all 4
>> Nozzles, maybe I manage to pull something out :-/
>>
>> https://www.youtube.com/watch?v=S7qmftHtMCI <https://www.youtube.com/watch?v=S7qmftHtMCI>
>>
>> >
>> > I am running the latest Test revision.
>> >
>> > Best regards,
>> >
>> > --
>> > You received this message because you
>> are subscribed to the Google
>> > Groups "OpenPnP" group.
>> > To unsubscribe from this group and stop
>> receiving emails from it, send
>> > an email to openpnp+u...@googlegroups.com
>> > <mailto:openpnp+u...@googlegroups.com>.
>> > To view this discussion on the web visit
>> >
>> https://groups.google.com/d/msgid/openpnp/a122ef07-7edb-4373-8a4e-a1cfc85aae23n%40googlegroups.com
>> <https://groups.google.com/d/msgid/openpnp/a122ef07-7edb-4373-8a4e-a1cfc85aae23n%40googlegroups.com>
>>
>> >
>> <https://groups.google.com/d/msgid/openpnp/a122ef07-7edb-4373-8a4e-a1cfc85aae23n%40googlegroups.com?utm_medium=email&utm_source=footer
>> <https://groups.google.com/d/msgid/openpnp/a122ef07-7edb-4373-8a4e-a1cfc85aae23n%40googlegroups.com?utm_medium=email&utm_source=footer>>.
>>
>>
>> --
>> You received this message because you are subscribed to the
>> Google Groups "OpenPnP" group.
>> To unsubscribe from this group and stop receiving emails from
>> it, send an email to openpnp+u...@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/openpnp/a3e02ee5-0e3f-4f73-8fd8-93a88ddd46b2n%40googlegroups.com
>> <https://groups.google.com/d/msgid/openpnp/a3e02ee5-0e3f-4f73-8fd8-93a88ddd46b2n%40googlegroups.com?utm_medium=email&utm_source=footer>.
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "OpenPnP" group.
>> To unsubscribe from this group and stop receiving emails from it,
>> send an email to openpnp+u...@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/openpnp/CAEm8oETHX%2BeRKrueOpQCLTvvWN7N%3DFf5eWr8aQVO95e-RKMt6Q%40mail.gmail.com
>> <https://groups.google.com/d/msgid/openpnp/CAEm8oETHX%2BeRKrueOpQCLTvvWN7N%3DFf5eWr8aQVO95e-RKMt6Q%40mail.gmail.com?utm_medium=email&utm_source=footer>.
>
> --
> You received this message because you are subscribed to the Google
> Groups "OpenPnP" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to openpnp+u...@googlegroups.com
> <mailto:openpnp+u...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/eb97e037-cf91-4184-a181-8a4662213e44n%40googlegroups.com
> <https://groups.google.com/d/msgid/openpnp/eb97e037-cf91-4184-a181-8a4662213e44n%40googlegroups.com?utm_medium=email&utm_source=footer>.

mark maker

unread,
Apr 10, 2022, 2:40:27 PM4/10/22
to ope...@googlegroups.com
I still don't think this riddle is solved. Relax, Zdenko, take a breath, maybe sleep over it, I'm sure we'll get to the root of it. 😁

Then please answer to my point 6. 😎

Like Jan said, compensating by a linear transform (like X/Y non-sqareness) would work, but it would introduce backlash compensation moves on the X/Y axes when you move Z, which is OK, if your machine is good enough to have DirectionalCompensation, but otherwise, it is not a thing you want!

So if nothing else helps, go for Jan's option a) ... but again, I'm sure the riddle isn't solved yet.

_Mark

Zdenko Stanec

unread,
Apr 10, 2022, 2:43:37 PM4/10/22
to OpenPnP
Thanks for the tips guys.

I'm burned out from this, all day measuring, recalibrating, and ended up with the same thing all over again.

I will now just take a bath and while doing that I will contemplate my life choices... hehe

I will probably disassemble the complete head tomorrow after work, remove all parts and one by one will be checked and measured again.

Cheers,

mark maker

unread,
Apr 10, 2022, 3:07:14 PM4/10/22
to ope...@googlegroups.com

> I will probably disassemble the complete head tomorrow after work, remove all parts and one by one will be checked and measured again.

Before you do, answer/follow-up my point 6. It is important to know the facts!

_Mark

Zdenko Stanec

unread,
Apr 10, 2022, 3:09:52 PM4/10/22
to OpenPnP
Apologies Mark, 

We were probably typing at the same time so I did not see your post, 

Before I went to bath to answer your 6. take a look at my awesome paint skills. 😁

With an indicator like in my a video, I could easily see if the complete linear rail and block are not Perpendicular to a working surface, because that block from what I am measuring is parallel with the Linear rail, and on that block is another 90deg angle block where motor from a nozzle is mounted, so measuring it from that direction i could see oscillations in X-axis.

 Probing.png

mark maker

unread,
Apr 10, 2022, 3:33:58 PM4/10/22
to ope...@googlegroups.com

> With an indicator like in my a video, I could easily see if the complete linear rail and block are not Perpendicular to a working surface

No, sorry, you would not.

Your drawing shows that nicely. The red block would just move along its tilted trajectory (yellow arrow), the probe would not be affected by the tilt. See the orange, displaced block, here, despite the huge tilt, it does not change the position of the probe:

For a conclusive measurement either attach the probe to the nozzle, if possible... 

...or find a way to move the probe up/down in Z like indicated with the blue arrow here:

_Mark

Zdenko Stanec

unread,
Apr 10, 2022, 4:36:45 PM4/10/22
to OpenPnP
Mark, you are absolutely right, and It seems I am absolutely destroyed with this issue I am having. 🤕

Need a good sleep and I will continue with this tomorrow. 

Best regards,

bert shivaan

unread,
Apr 10, 2022, 7:43:22 PM4/10/22
to OpenPnP
I assume it has been determined already that the camera is not tilted? Remember even the sensor could be not flat on the PCB giving an angle to the camera

mark maker

unread,
Apr 11, 2022, 1:47:10 AM4/11/22
to ope...@googlegroups.com

Bert, yes, Zdenko has used Advanced calibration, which eliminates tilt.

_Mark

Jan

unread,
Apr 11, 2022, 4:45:28 AM4/11/22
to ope...@googlegroups.com
Hi Mark!
Would it be possible to at least measure the nozzle tilt by repeating
the precise nozzle to camera calibration at a different Z level? This
would help to identify Zdenko's type of problems... I guess repeating
the existing procedure would be simple as well as calculating the angles
but designing a meaningful GUI rather time consuming...
@Zdenko: to my understanding you're looking for a \abs ( \delta X /
\delta Z ) = 0.3 / 11.7 rad <=> 1.47° tilt along the Y axis.

Jan

On 11.04.2022 07:47, mark maker wrote:
> Bert, yes, Zdenko has used Advanced calibration, which eliminates tilt.
>
> _Mark
>
> On 11.04.22 01:43, bert shivaan wrote:
>> I assume it has been determined already that the camera is not tilted?
>> Remember even the sensor could be not flat on the PCB giving an angle
>> to the camera
>>
>> On Sun, Apr 10, 2022 at 4:36 PM Zdenko Stanec
>> <zdenko...@gmail.com> wrote:
>>
>> Mark, you are absolutely right, and It seems I am absolutely
>> destroyed with this issue I am having. 🤕
>>
>> Need a good sleep and I will continue with this tomorrow.
>>
>> Best regards,
>>
>>
>>
>> On Sunday, 10 April 2022 at 21:33:58 UTC+2 ma...@makr.zone wrote:
>>
>> /> //With an indicator like in my a video, I could easily see
>> if the complete linear rail and block are not Perpendicular to
>> a working surface/
>>
>> No, sorry, you would not.
>>
>> Your drawing shows that nicely. The red block would just move
>> along its tilted trajectory (yellow arrow), the probe would
>> not be affected by the tilt. See the orange, displaced block,
>> here, despite the huge tilt, it does not change the position
>> of the probe:
>>
>> For a conclusive measurement either attach the probe to the
>> nozzle, if possible...
>>
>> ...or find a way to move the probe up/down in Z like indicated
>> with the blue arrow here:
>>
>> _Mark
>>
>>
>> On 10.04.22 21:09, Zdenko Stanec wrote:
>>> Apologies Mark,
>>>
>>> We were probably typing at the same time so I did not see
>>> your post,
>>>
>>> Before I went to bath to answer your *6*. take a look at my
>>> awesome paint skills. 😁
>>>
>>> With an indicator like in my a video, I could easily see if
>>> the complete linear rail and block are not Perpendicular to a
>>> working surface, because that block from what I am measuring
>>> is parallel with the Linear rail, and on that block is
>>> another 90deg angle block where motor from a nozzle is
>>> mounted, so measuring it from that direction i could see
>>> oscillations in *X-axis.*
>>> <https://groups.google.com/d/msgid/openpnp/d1c2786d-7826-42fb-a3e7-0f7b171e245cn%40googlegroups.com?utm_medium=email&utm_source=footer>.
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "OpenPnP" group.
>> To unsubscribe from this group and stop receiving emails from it,
>> send an email to openpnp+u...@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/openpnp/df18339c-3c44-437d-8525-aa3f4a95f1d6n%40googlegroups.com
>> <https://groups.google.com/d/msgid/openpnp/df18339c-3c44-437d-8525-aa3f4a95f1d6n%40googlegroups.com?utm_medium=email&utm_source=footer>.
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "OpenPnP" group.
>> To unsubscribe from this group and stop receiving emails from it, send
>> an email to openpnp+u...@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/openpnp/CA%2BKNHNzHiPjpa1-aFPGKH%2BeRKgDyzn4MYYRopgSHtUKPMhaiWg%40mail.gmail.com
>> <https://groups.google.com/d/msgid/openpnp/CA%2BKNHNzHiPjpa1-aFPGKH%2BeRKgDyzn4MYYRopgSHtUKPMhaiWg%40mail.gmail.com?utm_medium=email&utm_source=footer>.
>
> --
> You received this message because you are subscribed to the Google
> Groups "OpenPnP" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to openpnp+u...@googlegroups.com
> <mailto:openpnp+u...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/80909460-30a7-d594-3ba0-b30219167e7c%40makr.zone
> <https://groups.google.com/d/msgid/openpnp/80909460-30a7-d594-3ba0-b30219167e7c%40makr.zone?utm_medium=email&utm_source=footer>.

mark maker

unread,
Apr 11, 2022, 6:13:41 AM4/11/22
to ope...@googlegroups.com

@tonyluken, could you please confirm the following?

Remembering you initially developed the Advanced Camera Calibration for the down-looking camera, and now assuming it works the same way for the up-looking camera, it does not require the two calibration planes at different Z to be at the same X/Y location, i.e. it does not care whether the X/Y location where the nozzle appears to be centered in the (uncalibrated) image at secondary Z is the same as at primary Z.

If the above is true, the actual tilt shift is effectively obtained from the key-stone effect observed from X/Y motion, and not from the difference between primary/secondary apparent X/Y centers.

If the above is true, we can take the advance-calibrated camera tilt as solely the tilt of the camera vis-a-vis the X/Y motion plane (I'm aware that I was mistaken about that fact in the past).

If the above is true, we can therefore determine nozzle tilts absolutely, simply by detecting the shift when lifting them from the advance-calibrated, i.e. tilt-shifted camera center. So in-deed such a calibration could be implemented very easily.

Right?

Note: even if we can detect Nozzle Z tilt, it is yet another problem to compensate it. The problem is backlash compensation of the needed X/Y adjustments (like I said earlier in this thread).

_Mark


P.S.: The only small error in all that would be the cos(tilt angle) shortening of delta-Z due to the nozzle tilt, which cancels-out for the same nozzle, and remains negligible for other nozzles. Even a 5° tilt between nozzles results in less than 0.4% error, i.e. "nothing" in comparison to other errors.


On 11.04.22 10:45, 'Jan' via OpenPnP wrote:Hi Mark!

Zdenko Stanec

unread,
Apr 11, 2022, 8:51:40 AM4/11/22
to OpenPnP
Hi,

@Jan, I was thinking the same thing!

@Mark Sounds so good, when the update will be released? Hehe 😁

Going home in an hour or two, I was not able to sleep because of this issue 🤪, I will solve it in some way, but if you guys manage to do it via some calibration...that would be so helpful.

Best regards,

Zdenko

mark maker

unread,
Apr 11, 2022, 9:00:04 AM4/11/22
to ope...@googlegroups.com

Have you read the last sentence though?

> Note: even if we can detect Nozzle Z tilt, it is yet another problem to compensate it. The problem is backlash compensation of the needed X/Y adjustments (like I said earlier in this thread).

I mean it. The first step would probably just indicate the tilt, not compensate for it. So all you'd get is guidance to square the machine (which is valuable in itself, I think).

_Mark

Mike Menci

unread,
Apr 11, 2022, 9:04:52 AM4/11/22
to OpenPnP
Hi, 
Rough test can be done on Juki with placing a cleaning needle (from 3D printer nozzle cleaning) into Juki and observe with up looking camera what you see - just a circle or side wall as well. 
See picture of -Juki 503 with needle enclosed. Juki-needle test.jpg

Zdenko Stanec

unread,
Apr 11, 2022, 9:28:17 AM4/11/22
to OpenPnP
@Mark, I was just joking, I will for sure square the machine first in a mechanical way, I really want to know what is wrong and from where this offset is coming.

Best regards,

tonyl...@gmail.com

unread,
Apr 11, 2022, 10:34:49 AM4/11/22
to OpenPnP
Advanced calibration of the bottom camera already provides an estimate of the nozzle axis tilt.  After calibration is run, look in the log file for a 2x2 matrix dump identified as "linearFit =". The top row of this matrix indicates how much the nozzle moves in x and y for each millimeter of z.  I already tried to use those numbers to correct the nozzle tilt and it works well other than the problem of backlash compensation being applied after a negative z movement.  See the previous discussion here.  While bottom camera calibration provides an estimate of the nozzle tilt, I think a better way to measure the tilt is to perform the nozzle offset measurement (using the confetti trick) at two different heights (on the primary and secondary calibration fiducial). That would be a more direct measurement and wouldn't involve the bottom camera at all.

Tony

mark maker

unread,
Apr 11, 2022, 11:45:36 AM4/11/22
to ope...@googlegroups.com

Thanks, Tony, very valuable input.

And good point, the confetti trick would work too...

... and it could even be rolled into the existing precision nozzle offsets calibration solution.

_Mark

Zdenko Stanec

unread,
Apr 11, 2022, 3:31:16 PM4/11/22
to OpenPnP
Hi,

I am back after 4 hours of debugging this issue, in short, I could not find what is causing this offset, the only thing that is on my mind are bad linear rails in some way.

What I did,

1. Linear Transform Axis, I calculated how much X needs to move in regard to the 1mm movement on Z, it was around 0,015625mm and I managed to target Secondary fiducial without an issue, but it overshot Primary fiducial, so I recalibrated Nozzle_1 Offset from Camera and I managed to hit Primary fiducial again but I was failing on Secondary one same as before without Linear Transform Axis, as expected. After that, I rolled back to previous settings without Linear Transform Axis.

2. I machined some aluminum parts to see if my complete head is tilted in some way in regard to the working table, and It is not, sharing some pictures here, the machine is so rigid that any tilt would result in HiSpeed ballscrews to "bite" and not go smooth, same as linear guides.

20220411_205013_1280x721.jpg20220411_205021_1280x721.jpg20220411_205110_1280x721.jpg20220411_205117_1280x721.jpg20220411_201422_1280x721.jpg20220411_201649_1280x721.jpg20220411_201852_1280x721.jpg

With that in mind, linear rails from Nozzles should be perfectly mounted as they have machined slots that guide them.

I don't see any other possibility on how to fix this except to move the "working plane" up to the same Z height where the components are, in that case, everything will be at the same Z and I would have no issues.

I will probably just for sake of science order new linear guides, and I will try to figure something out tomorrow about what else could be the issue.

Best regards,

bert shivaan

unread,
Apr 11, 2022, 3:57:47 PM4/11/22
to OpenPnP
In the first picture showing the square and block standing up, it looks like a gap at the top but not the bottom.
That said, the only explanation seems to be the z axis is not perpendicular to the table.

Now, based on your measurements above, you would be out .46875mm per 30mm of travel. We can confirm this if we knew how far the Z is moving. Not knowing how this is all assembled, I am not sure why you "know" the rails are perp to the table. There looks to be at least 15 joints between the z rail and the table.
Is the head adjustable relative to what it is mounted on? If so make this easy on yourself and "knock" it in alignment using the camera/fiducial/nozzle as a guide.
The easy test to decide if it is the rail itself is to flip one over. If the error goes the other way it is the rail. If not, it is not the rail and you can rest assured 1 thing has been eliminated.



bert shivaan

unread,
Apr 11, 2022, 4:03:57 PM4/11/22
to OpenPnP
OR he camera view is tilted

tonyl...@gmail.com

unread,
Apr 11, 2022, 6:48:23 PM4/11/22
to OpenPnP
> I calculated how much X needs to move in regard to the 1mm movement on Z, it was around 0,015625mm

How did you arrive at that number - maybe a typo?  If your calibration fiducials are really at -32.0mm and -20.3mm, and your observed shift is about 0.3mm, doesn't that work out to be 0.3/(-20.3 - -32.0) = 0.02564mm per 1mm of Z motion?

>OR he camera view is tilted
This appears to be a very well built machine but it is also worth checking to make sure the table is not tilted and/or twisted. An assumption in the calibration is that the top camera and nozzle tips all move in parallel Euclidean planes as X and Y are changed (and Z is held constant).  The table should also parallel to those same planes - use your dial indicator or simply lower a nozzle tip until it is just touching the table's surface at several different points on the table  (at the corners and in the center)  and verify they all have the same Z coordinate.  If you can verify that table is flat and parallel to the X-Y plane, try putting a good quality mirror face-up on the table and have the top camera take a picture of itself.  The image will probably be blurry but the reticle crosshairs should at least intersect somewhere over the camera's lens (but they probably won't be exactly centered on the lens because of the tilt correction).  You can also repeat that with Advanced Calibration disabled for a comparison.

Tony

Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted

Zdenko Stanec

unread,
Apr 12, 2022, 7:17:26 AM4/12/22
to OpenPnP
@cncmachineguy

I have tested with a 0.04mm shim all around the 90deg angle tool and that block, it is fine, I think shadows are playing tricks here.

How could I know that linear rails are mounted correctly, well, if an outer side of the head is perpendicular to the working plane, then the internal one should be too as all the parts are machined flat, addition to that linear rails sit in a machined "slots" and they are pressed against one of the "slot" walls to ensure mounting position.

Complete head design is made in a such way it is hard to assemble in a wrong way as all parts have some kind of slots that all fit together. I can test and rotate one Linear rail just to see what will happen.

@Tony.

Correct, I tested both things as I wanted to see what will happen, for -32.00mm where X needs to move 0.015625mm in relation to 1mm Z movement, and for -20.30mm where X needs to move 0.025 with 1mm of Z travel. The good thing is that this actually works for Z -20.30mm and I can hit the spot on Secondary fiducial, but then it overshoots on Primary Fiducial, and if I recalibrate Nozzle with a confetti trick again it just all goes back to the same problem in which I would be able to hit -32.00mm, but not -20.30mm any more, so basically the same thing but with X now moving in relating to Z movement. Maybe I am doing something wrong here...

Regarding table flatness, I tested that too, I lowered one nozzle and measured across the whole table, oscillations are minor, around 0.05mm across 550mm of travel, so we could say that table is "flat". I will see if I can do something with the mirror.

Best regards,

Jan

unread,
Apr 12, 2022, 7:54:55 AM4/12/22
to ope...@googlegroups.com
Hi all!
Let me repeat a few things, likely without new information, but
hopefully helps someone to find a new hint:
- advanced camera calibration tries to correct any tilt in the camera
axis. -> calibrating the primary and secondary calibration fiducial
using vision should provide their true locations (in X and Y).
- precise camera to nozzle calibration (using confetti) provides the
true offset between camera and nozzle at one single Z. -> at any other Z
any nozzle to camera offset can only be caused by a tilted nozzle.
- Zdenko wrote that all nozzles are effected by the same offset -> all
nozzles are equally tilted, either all nozzles themself or entire head.
- According to Zdenko's measurements, the head is not tilted -> the
nozzles themself have to be tilted.
- According to the head design, two nozzles are facing each other -> its
unlikely, that the linear rails or their mounting is wrong. (would
result in opposite offsets for this nozzles)
- The nozzle is mounted in a stepper motor, which is mounted onto a
sled, which runs on the rail. -> if the nozzle is tilted and the rail is
good, it can either be the sled or the motor...

@Zdenko: could you use one of your known-good test blocks mount it to a
fix position in X direction of one of your nozzles, take anything that
has a fixed length which can be used to verify the distance between the
mounted block and the nozzle tip (like a 3mm rod) and check the distance
at different Z levels of the nozzle? I assume, that 0.3mm difference for
12mm of Z should be visible.

Jan
> *1mm* movement on Z, it was around* 0,015625mm*
> *
> *
> 1. *Linear Transform Axis*, I calculated how much X
> needs to move in regard to the *1mm* movement on Z, it
> was around*0,015625mm *and I managed to target
> *Secondary fiducial* without an issue, but it overshot
> *Primary fiducial*, so I recalibrated*Nozzle_1* Offset
> from Camera and I managed to hit *Primary fiducial*
> again but I was failing on Secondary one same as before
> without *Linear Transform Axis*, as expected. After
> that, I rolled back to previous settings without *Linear
> Transform Axis.*
>
> 2. I machined some aluminum parts to see if my complete
> head is tilted in some way in regard to the working
> table, and It is not, sharing some pictures here, the
> machine is so rigid that any tilt would result in
> HiSpeed ballscrews to "bite" and not go smooth, same as
> linear guides.
>
> 20220411_205013_1280x721.jpg20220411_205021_1280x721.jpg20220411_205110_1280x721.jpg20220411_205117_1280x721.jpg20220411_201422_1280x721.jpg20220411_201649_1280x721.jpg20220411_201852_1280x721.jpg
>> <https://groups.google.com/g/openpnp/c/hqo1fLsMMXI/m/z9ClOZhuAwAJ#:~:text=advanced%20camera%20calibration:%20position%20of%20the%20up-looking%20camera>.
>> enclosed. Juki-needle test.jpg
>>
>> On Monday, 11 April 2022 at 15:00:04 UTC+2
>> ma...@makr.zone wrote:
>>
>> Have you read the last sentence though?
>>
>> /> //Note: even if we can detect
>> Nozzle Z tilt, it is yet another
>> problem to compensate it. The problem
>> is backlash compensation of the needed
>> X/Y adjustments (like I said earlier
>> in this thread). /
>>
>> I mean it. The first step would
>> probably *just indicate* the tilt, not
>>> location, i.e. it does not /care/
>>> whether the X/Y location where
>>> the nozzle appears to be centered
>>> in the (uncalibrated) image at
>>> secondary Z is the same as at
>>> primary Z.
>>>
>>> If the above is true, the actual
>>> tilt shift is effectively
>>> obtained from the key-stone
>>> effect
>>> <https://en.wikipedia.org/wiki/Keystone_effect>
>>> observed from X/Y motion, and
>>> *not* from the difference between
>>> primary/secondary apparent X/Y
>>> centers.
>>>
>>> If the above is true, we can take
>>> the *advance-calibrated* camera
>>> tilt as*solely the tilt of the
>>> camera* vis-a-vis the X/Y motion
>>> plane (I'm aware that I was
>>> mistaken about that fact in the
>>> past).
>>>
>>> If the above is true, we can
>>> therefore determine nozzle tilts
>>> absolutely, simply by detecting
>>> the shift when lifting them from
>>> the *advance-calibrated*, i.e.
>>> tilt-shifted camera center. So
>>> in-deed such a calibration could
>>> be implemented very easily.
>>>
>>> Right?
>>>
>>> Note: even if we can detect
>>> Nozzle Z tilt, it is yet another
>>> problem to compensate it. The
>>> problem is backlash compensation
>>> of the needed X/Y adjustments
>>> (like I said earlier in this
>>> thread).
>>>
>>> _Mark
>>>
>>>
>>> P.S.: The only small error in all
>>> that would be the /cos(tilt
>>> angle)/ shortening of delta-Z due
>>>>>>> <https://groups.google.com/d/msgid/openpnp/d1c2786d-7826-42fb-a3e7-0f7b171e245cn%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>> <https://groups.google.com/d/msgid/openpnp/d1c2786d-7826-42fb-a3e7-0f7b171e245cn%40googlegroups.com?utm_medium=email&utm_source=footer>.
>>>>>>
>>>>>>     --     You received this
>>>>>> message because you are
>>>>>> subscribed to the Google
>>>>>>     Groups "OpenPnP" group.
>>>>>>     To unsubscribe from this
>>>>>> group and stop receiving
>>>>>> emails from it,
>>>>>>     send an email to
>>>>>> openpnp+u...@googlegroups.com.
>>>>>>     To view this discussion on
>>>>>> the web visit
>>>>>> https://groups.google.com/d/msgid/openpnp/df18339c-3c44-437d-8525-aa3f4a95f1d6n%40googlegroups.com
>>>>>> <https://groups.google.com/d/msgid/openpnp/df18339c-3c44-437d-8525-aa3f4a95f1d6n%40googlegroups.com>
>>>>>> <https://groups.google.com/d/msgid/openpnp/df18339c-3c44-437d-8525-aa3f4a95f1d6n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>> <https://groups.google.com/d/msgid/openpnp/df18339c-3c44-437d-8525-aa3f4a95f1d6n%40googlegroups.com?utm_medium=email&utm_source=footer>.
>>>>>>
>>>>>> --
>>>>>> You received this message
>>>>>> because you are subscribed to
>>>>>> the Google Groups "OpenPnP"
>>>>>> group.
>>>>>> To unsubscribe from this group
>>>>>> and stop receiving emails from
>>>>>> it, send an email to
>>>>>> openpnp+u...@googlegroups.com.
>>>>>> To view this discussion on the
>>>>>> web visit
>>>>>> https://groups.google.com/d/msgid/openpnp/CA%2BKNHNzHiPjpa1-aFPGKH%2BeRKgDyzn4MYYRopgSHtUKPMhaiWg%40mail.gmail.com
>>>>>> <https://groups.google.com/d/msgid/openpnp/CA%2BKNHNzHiPjpa1-aFPGKH%2BeRKgDyzn4MYYRopgSHtUKPMhaiWg%40mail.gmail.com>
>>>>>> <https://groups.google.com/d/msgid/openpnp/CA%2BKNHNzHiPjpa1-aFPGKH%2BeRKgDyzn4MYYRopgSHtUKPMhaiWg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>> <https://groups.google.com/d/msgid/openpnp/CA%2BKNHNzHiPjpa1-aFPGKH%2BeRKgDyzn4MYYRopgSHtUKPMhaiWg%40mail.gmail.com?utm_medium=email&utm_source=footer>.
>>>>>>
>>>>>
>>>>> --
>>>>> You received this message
>>>>> because you are subscribed to
>>>>> the Google Groups "OpenPnP" group.
>>>>> To unsubscribe from this group
>>>>> and stop receiving emails from
>>>>> it, send an email to
>>>>> openpnp+u...@googlegroups.com
>>>>> <mailto:openpnp+u...@googlegroups.com>.
>>>>>
>>>>> To view this discussion on the
>>>>> web visit
>>>>> https://groups.google.com/d/msgid/openpnp/80909460-30a7-d594-3ba0-b30219167e7c%40makr.zone
>>>>> <https://groups.google.com/d/msgid/openpnp/80909460-30a7-d594-3ba0-b30219167e7c%40makr.zone>
>>>>> <https://groups.google.com/d/msgid/openpnp/80909460-30a7-d594-3ba0-b30219167e7c%40makr.zone?utm_medium=email&utm_source=footer>
>>>>> <https://groups.google.com/d/msgid/openpnp/80909460-30a7-d594-3ba0-b30219167e7c%40makr.zone?utm_medium=email&utm_source=footer>.
>>>>>
>>>>
>>> --
>>> You received this message because you
>>> are subscribed to the Google Groups
>>> "OpenPnP" group.
>>> To unsubscribe from this group and
>>> stop receiving emails from it, send
>>> an email to
>>> openpnp+u...@googlegroups.com.
>>> To view this discussion on the web
>>> visit
>>> https://groups.google.com/d/msgid/openpnp/17824119-b3b1-448f-9a25-f3fe31a85d6cn%40googlegroups.com
>>> <https://groups.google.com/d/msgid/openpnp/17824119-b3b1-448f-9a25-f3fe31a85d6cn%40googlegroups.com?utm_medium=email&utm_source=footer>.
>>
>> --
>> You received this message because you are
>> subscribed to the Google Groups "OpenPnP" group.
>> To unsubscribe from this group and stop receiving
>> emails from it, send an email to
>> openpnp+u...@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/openpnp/ef54fae6-d000-44ed-b5f4-74ff3c29a075n%40googlegroups.com
>> <https://groups.google.com/d/msgid/openpnp/ef54fae6-d000-44ed-b5f4-74ff3c29a075n%40googlegroups.com?utm_medium=email&utm_source=footer>.
>
> --
> You received this message because you are subscribed to
> the Google Groups "OpenPnP" group.
> To unsubscribe from this group and stop receiving emails
> from it, send an email to openpnp+u...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/cc12d3cb-aa9c-4f3b-b0a9-64ab0ffea335n%40googlegroups.com
> <https://groups.google.com/d/msgid/openpnp/cc12d3cb-aa9c-4f3b-b0a9-64ab0ffea335n%40googlegroups.com?utm_medium=email&utm_source=footer>.
>
> --
> You received this message because you are subscribed to the Google
> Groups "OpenPnP" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to openpnp+u...@googlegroups.com
> <mailto:openpnp+u...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/a1b838a6-eec8-434f-9342-a182fd97be16n%40googlegroups.com
> <https://groups.google.com/d/msgid/openpnp/a1b838a6-eec8-434f-9342-a182fd97be16n%40googlegroups.com?utm_medium=email&utm_source=footer>.

bert shivaan

unread,
Apr 12, 2022, 7:56:43 AM4/12/22
to OpenPnP
Seems like maybe the most likely issue is camera tilt then. It would be awesome if you could somehow mount an indicator to a Z to watch it go up and down for correctness.

As Mark agreed, I thought camera tilt is corrected for, ie at Z=20, offset is x, but at z=30, offset is x+something

mark maker

unread,
Apr 12, 2022, 8:11:33 AM4/12/22
to ope...@googlegroups.com

Hi Zdenko

After eliminating all these potential causes and nicely showing the enviable machine quality, I do second cncmachineguy in concluding it most likely must be camera tilt. Maybe there was a glitch in the Advanced Camera Calibration, and it got the tilt wrong. Maybe your machine is so stiff, it shakes the camera lens loose (at least on my ELP is is simply secured by a single tiny set-screw).

If I'm not mistaken, you have never actually posted the machine.xml, right? Please do.

Even better: run a fresh Advanced Camera Calibration at TRACE log level and send the log too.

_Mark

Zdenko Stanec

unread,
Apr 12, 2022, 8:54:07 AM4/12/22
to OpenPnP
Hi Mark,

I did not share the machine.xml yet, I will share it today with a trace log when I perform the new clean Advanced Camera Calibration.

I have an ELP camera with two M6 screws on a Camera case by default, I machined a custom Aluminium holder just for that camera that makes the camera completely stiff, and that holder is then mounted on a complete head frame with 4 M4 screws, 2 on each side to eliminate any possible play in the camera.

You mention it could be an issue in the stiffness, That might be a case, I have seen that the machine had really rapid accelerations and stops even if I limited machine speed to 50%, maybe the complete "calibration" jig is moving too, I will glue it to the table.

I will report back after I perform these tests when I get back home from work.

Thanks for your support guys.

Best regards,

tonyl...@gmail.com

unread,
Apr 12, 2022, 9:32:36 AM4/12/22
to OpenPnP
Something else you can do to check the camera, assuming your table really is flat and parallel to the X-Y plane, is to place a truly rectangular object of known size (or good quality graph paper) on the table and look at it with the camera.  Turn on the grid reticle and jog the camera's virtual Z-axis to the height of the object.  Rotate the object so that one of its sides is parallel with the lines of the grid reticle.  The other three sides should then also be perfectly parallel with the grid and the size of the object as measured by the reticle should be correct as well.  Again, you can repeat this with Advanced calibration disabled as well for a comparison.

Tony

tonyl...@gmail.com

unread,
Apr 12, 2022, 12:04:16 PM4/12/22
to OpenPnP
> Correct, I tested both things as I wanted to see what will happen, for -32.00mm where X needs to move 0.015625mm in relation to 1mm Z movement, and for -20.30mm where X needs to move 0.025 with 1mm of Z travel.

I'm not understanding what you're trying to say. The amount to move per 1mm of Z travel should be the same regardless of whether it is at -32.00mm or -20.30mm.  The relevant equation is:

additionalMovement = zFactor*z + offset

At z=-32.00, you don't want any additional x movement so you have:
0.00 = zFactor*(-32.00) + offset

And, at z=-20.30, you want an additional x movement of 0.30mm so you have:
0.30 = zFactor*(-20.30) + offset

Solving simultaneously for the two unknowns means your linear x-axis transform should have a Z factor of 0.02564 and an offset of 0.8205 so that at z=-32.00 the transformation results in 0.02564*(-32.00)+0.8205 = 0.0000mm of extra x-axis movement and at z=-20.30, the transformation results in  0.02564*(-20.30)+0.8205 = 0.3000mm of extra x-axis movement.

Tony

Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted

Harjit Singh

unread,
Apr 13, 2022, 10:40:36 AM4/13/22
to ope...@googlegroups.com
Can you swap some linear rails and see if the problem follows the specific linear rail?

Reply all
Reply to author
Forward
0 new messages