Input Shaping Feedback: Square corners vs Radii
-
I am running a test build on my Duet Maestro and found something interesting: input shaping seems far more effective on square corners, than it does on those with a small radius.
I made the following model to test and demonstrate. Each side has a square corner and a corner with a 1.2mm radius:
I ran this print with 2 walls, 70mm/s, 4k accel, 8 jerk. The first 5mm is with input shaping off. Then, is turns on with ZVD @ 20 Hz and layer by layer increments the frequency up to 100Hz at the end.
You can see that when ZVD kicks in at 20Hz, it is pretty aggressive in reducing effective acceleration, with less of an impact as frequency increases (as expected). But what surprises me is that on the radiused corner, the ringing is essentially unaffected. Not sure if this is because of input shaping's nature, or if the implementation could be improved.
-
Anyone else have an experience to contribute?
-
@ccs86 input shaping is applied to individual moves by RRF and only to moves that include a steady speed segment. If the acceleration or deceleration takes place over several short move segments, it will not be applied, except perhaps to the move in which acceleration ends or deceleration starts.
-
@ccs86 I also noticed that when IS is enabled i have to almost double my PA: 0.03 to 0.05 to get the same results. Probably IS is really more effective on sharp corners, but also it introduces some variations to acceleration that alters the tuning we used to have since last 3.3 version.
-
@dc42 said in Input Shaping Feedback: Square corners vs Radii:
@ccs86 input shaping is applied to individual moves by RRF and only to moves that include a steady speed segment. If the acceleration or deceleration takes place over several short move segments, it will not be applied, except perhaps to the move in which acceleration ends or deceleration starts.
That definitely explains the behavior.
Is this current implementation just a jumping off point, with room to try other approaches? Or do you not even see a way to implement it on segments that do not include steady-state speed?