Hello, I'm using Control 1.0.243 - Windows Command G0 X10 Y10 -> Randomly ends with X10 Y9.99 A quick video is attached. Same for Z. Any clue ? Thanks !
Happens all the time, just the way the mathematics of the motion calculations shake out when grbl reports them. Think of the command more like "Y10 +/-0.05" - in physical reality, it's the exact same position to within the tolerances of the machine.
Just to add to Rob's correct explanation. Let's say your motion actuator, be it a screw or a pulley, advances , let's say, 3 per revolution (could be any other number). If you're command is 'go to 10' it just can't do it since 10/3=3.333..... If your DRO would display enough digits after the decimal point it will show 9.999.... which is darn close enough to 10. If your DRO displays less digits it may only show 9.99. The flip side is that if you tell the machine to go to 9.999 it will do it perfectly where as a machine that would go perfectly to 10 in the first example would still go to 10.
Not only the limitations of base-10 math, but the limitations of binary math too; floating point arithmetic is far from precise, and some numbers literally cannot be represented in the floating point space. Add the conversion of decimal to binary and then back again, and you have several sets of rounding going on. And that's before you start considering the limitations of an 8-bit processor operating in real-time.