Skew compensation in the Bambu X1C Firmware

Interesting ideas, I don’t know what to make of some of this, but after thinking on it for a while I believe you have to step back and view the machine and its kinematics as it relates to the “skew”.

Technically, manipulating a trapezoid wouldn’t change the lengths of its sides but I dont think thats whats really being corrected - the machine control isn’t correcting skew for the geometric shape, its just correcting the skew of that one axis. The compensation for X being Skewed is applied solely via the machines Y-Axis and that’s why the width (in the X-Axis direction) stays constant. There’s no axis scaling or coordinate rotation going on, just the internal math that turns that angle into a compensation - as the machine travels in X a small steady comp move in Y is applied, like a ratio (eg: for every 100mm of X travel the machine also travels +/-1mm in Y. With skew compensation the machine would make a diagonal XY move although you’ve programmed an X only move).

To me this makes sense, particularly if you look at how the machine is built. Consider the image below. This is extreme, but its how our printers are physically built. That X gantry is crooked to the Y rails in all these machines to varying degrees (an I’ve come to realize slightly sloppy, its fixed semi-rigid to the left rail and floats on the right, the orientation only comes from one side and isn’t super rigid or precise - this allows it rock more than it should, I have some loose thought’s about this and how it relates to other issues as well - its somethin I’m still looking into and need more time with).

My opinion is that the Skew comp is doing exactly what it needs to do because its relative to what’s physically off on the machine (That’s why my calculator is set up the way it is - In my mind I’m looking at that bottom A-X-D triangle as the most relevant piece of info - its got the angle the gantry is off, and shows a linear value of how much comp the machine applies over the shapes width [Leg X-D]). Skew comp may have its limitations - but I think what would really be needed would be for Bambu to also give us some kind of independant X & Y axis scaling to balance them out (after the gantry skew is comped for). For what its worth I don’t necessarily think it should be all rolled into one.

1 Like