With input shaping active, the toolhead’s real velocity differs from the commanded one. To keep pressure advance synchronized, the extruder convolves the motion with a polynomial kernel w(t) fitted to approximate the shaped toolhead velocity. Every PA model (linear, tanh, recipr) consumes that smoothed velocity, so kernel quality matters for all of them. This compares the fitted kernel before and after the extruder_smoother.py rework — analytic velocity targets, constrained (KKT) least squares, a well-conditioned Legendre basis, and soft non-negativity.
Click a legend entry to hide or show that line.
Kernels generated by running the actual host code from upstream/bleeding-edge-v2 (old) and the reworked extruder_smoother.py (new) at damping ratio 0.1, then evaluating the fitted polynomial w(t) against the band-averaged analytic target velocity. Fit error is the relative RMS of kernel minus target; magnitudes here use band-averaging and are indicative — see KalicoCrew/kalico#909 for the project’s validation figures (e.g. a 100→20 mm/s corner produces an 8.4 mm/s over-extrusion spike with the old 3hump_ei kernel vs 2.3 mm/s with the new). Rendered with Chart.js.