Issue with relative scale of apriltag.z_translation() output?

I’m using a modified script of the find_apriltags.py example script included in the IDE. I’m reading the output into a python script on another computer.

I’ve applied a conversion coefficient to the translational output (x,y,z) and am noticing that I cannot get all three to agree on the same conversion coefficient.

For instance, I have a TAG36H11 tag printed with dimensions of 2.65 x 2.65.
If I use a coefficient of 1.31 I get a pretty accurate horizontal (x) translation output.
But, my z translation is at about 74% of the real measurement. (10.5" measured. 7.77" in output with the 1.31 conversion)
If I didn’t apply the conversion coefficient, the Z translation would almost be accurate!

Do each translations require their own conversion coefficient, or is there something wrong with my simple logic?

I don’t actually know the answer to this that well. The documentation on how this works in the AprilTag code was pretty thin. It was a challenge to even get this output.

That said, given the camera pixels are non square and that the lens is unrelated to the camera I would expect all 3 directions to need different coefficients. So, please use three different conversion values.

I will adjust the code to tune each axis.
Have you determined if there are any better lenses, with April marks, for the M7 that work best in the 5’ to 12" range? I’d still like to maintain at least a 45 deg field of view.

Go to like 4mm or 8mm. These give you above 45 degrees and produce less lens distortion.