Input Shapers - klipper ?
-
Anyone checked out klipper's input shapers. I'm seeing images ppl share and looks very interesting.
https://github.com/KevinOConnor/klipper/issues/3025
I'm still reading what it actually does but after "diagonal read" (so I might be totally off, but wanted to check here if anyone looked already) looks like combination of S-Curve with dynamic acceleration removing resonant frequencies ..
-
found better link, looks like DAA from RRF
https://github.com/KevinOConnor/klipper/blob/master/docs/Resonance_Compensation.md -
I don't think it's quite the same as DAA -- the klipper devs have stated as much.
It's quite interesting, I'd like to try it but have so many other things to do, getting klipper up and running on a duet 2 is not gonna happen soon for me.
-
iiuc daa removes single frequency, input shapers remove single frequency .. so looks like it's attacking the same issue, the input parameter is the same too (freq.) .. now they are maybe implementing it differently
-
robthide37 commented 15 days ago:
https://duet3d.dozuki.com/Wiki/Gcode#Section_M593_Configure_Dynamic_Acceleration_Adjustment
Did they copy you already ? @dmbutyugin
dmbutyugin commented 15 days ago:
@robthide37 No, this is a very different approach, that was implemented before. Unlike input shapers that put no restrictions on move timing, that feature works by adjusting acceleration/deceleration time to cancel vibrations. I'm afraid it has certain limitations and is not very robust because it is not always possible to time the acceleration appropriately, it can only cancel 1 resonance frequency, and even in the best conditions is as good as ZV input shaper.
-
@bot so yes, attacking same problem using different technique... dunno what's better, DAA works rather nicely, have not tried this shaper thingy yet
-
DAA is a basic form of input shaping, whereby the length of the acceleration segment is adjusted to cancel a vibration. However, there are more general forms of input shaping, which can better handle higher frequency vibrations (not a big problem in 3D printing I think), are less sensitive to the tuning, and can provide better cancellation when the damping factor is high. They would also allow separate X and Y cancellation frequencies to be used, although with the possibility of introducing artefacts if they are applied to printing moves. I have it on my list to research these.
-
I've been experimenting with DAA and it has proven to be quite useful and nice when you are using constant speed profiles for printing. The problem is when you often change the speed of your profiles - you need to re-calibrate the DAA and change the parameters for that speed. I don't know if there can be a way to automatically compensate for those speed changes once the inital parameter is set (like detecting the speed in the gcode and compensating for the DAA value on the firmware level.) I've also kind of noticed that once you cancel out the base low frequency - the harmonics (higher frequency vibrations) also tend to get much smoother.
-
It shouldn't in theory be necessary to adjust the DAA settings for speed changes, because the vibration frequencies don't change with speed. However, DAA doesn't currently account for jerk completely, so changing the jerk may well affect DAA. In particular, high jerk settings make DAA ineffective.