Part two of the previous post:
As an experiment I have implemented a grbl/Klipper style junction deviation algorithm (they are both very similar, the major difference is that Klipper specifies the allowed junction deviation in terms of square corner velocity, which I think is probably a better way to express what is happening). Using this algorithm with the square corner velocity set to 5mm/s (and with the m204 settings from above) I get the following results for the square:
X 1.00e+2 Y 0.00e+0 start 0.00e+0 end 5.00e+0 ts 1.00e+2 rs 1.00e+2 acc 8.00e+3 dec 8.00e+3 dist 1.00e+2
X 1.00e+2 Y 1.00e+2 start 5.00e+0 end 5.00e+0 ts 1.00e+2 rs 1.00e+2 acc 8.00e+3 dec 8.00e+3 dist 1.00e+2
X 0.00e+0 Y 1.00e+2 start 5.00e+0 end 5.00e+0 ts 1.00e+2 rs 1.00e+2 acc 8.00e+3 dec 8.00e+3 dist 1.00e+2
X 0.00e+0 Y 0.00e+0 start 5.00e+0 end 0.00e+0 ts 1.00e+2 rs 1.00e+2 acc 8.00e+3 dec 8.00e+3 dist 1.00e+2
Here you can see that the start/end speed for the right angle corners is indeed being limited to 5mm/s (which is slower then the same corners using RRF jerk settings). If I then run the circle test:
X 1.40e+2 Y 9.02e+1 start 0.00e+0 end 6.20e+0 ts 1.50e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.66e+2
X 1.41e+2 Y 8.90e+1 start 6.20e+0 end 7.26e+1 ts 1.30e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.79e+0
X 1.42e+2 Y 8.79e+1 start 7.26e+1 end 7.21e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.79e+0
X 1.44e+2 Y 8.71e+1 start 7.21e+1 end 7.27e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.80e+0
X 1.46e+2 Y 8.64e+1 start 7.27e+1 end 7.20e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.79e+0
X 1.47e+2 Y 8.60e+1 start 7.20e+1 end 7.25e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.80e+0
X 1.49e+2 Y 8.57e+1 start 7.25e+1 end 7.24e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.80e+0
X 1.51e+2 Y 8.57e+1 start 7.24e+1 end 7.24e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.79e+0
X 1.53e+2 Y 8.60e+1 start 7.24e+1 end 7.25e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.80e+0
X 1.54e+2 Y 8.64e+1 start 7.25e+1 end 7.20e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.80e+0
X 1.56e+2 Y 8.71e+1 start 7.20e+1 end 7.25e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.79e+0
X 1.58e+2 Y 8.79e+1 start 7.25e+1 end 7.25e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.80e+0
X 1.59e+2 Y 8.90e+1 start 7.25e+1 end 7.24e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.79e+0
X 1.60e+2 Y 9.02e+1 start 7.24e+1 end 7.23e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.79e+0
X 1.62e+2 Y 9.16e+1 start 7.23e+1 end 7.26e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.79e+0
X 1.63e+2 Y 9.31e+1 start 7.26e+1 end 7.21e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.80e+0
X 1.63e+2 Y 9.47e+1 start 7.21e+1 end 7.22e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.79e+0
X 1.64e+2 Y 9.64e+1 start 7.22e+1 end 7.28e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.79e+0
X 1.64e+2 Y 9.82e+1 start 7.28e+1 end 7.19e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.79e+0
X 1.64e+2 Y 1.00e+2 start 7.19e+1 end 7.29e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.80e+0
X 1.64e+2 Y 1.02e+2 start 7.29e+1 end 7.19e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.80e+0
X 1.64e+2 Y 1.04e+2 start 7.19e+1 end 7.28e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.79e+0
X 1.63e+2 Y 1.05e+2 start 7.28e+1 end 7.22e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.79e+0
X 1.63e+2 Y 1.07e+2 start 7.22e+1 end 7.21e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.79e+0
X 1.62e+2 Y 1.08e+2 start 7.21e+1 end 7.26e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.80e+0
X 1.60e+2 Y 1.10e+2 start 7.26e+1 end 7.23e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.79e+0
X 1.59e+2 Y 1.11e+2 start 7.23e+1 end 7.26e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.79e+0
X 1.58e+2 Y 1.12e+2 start 7.26e+1 end 7.21e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.79e+0
X 1.56e+2 Y 1.13e+2 start 7.21e+1 end 7.27e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.80e+0
X 1.54e+2 Y 1.14e+2 start 7.27e+1 end 7.20e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.79e+0
X 1.53e+2 Y 1.14e+2 start 7.20e+1 end 7.25e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.80e+0
X 1.51e+2 Y 1.14e+2 start 7.25e+1 end 7.24e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.80e+0
X 1.49e+2 Y 1.14e+2 start 7.24e+1 end 7.24e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.79e+0
X 1.47e+2 Y 1.14e+2 start 7.24e+1 end 7.25e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.80e+0
X 1.46e+2 Y 1.14e+2 start 7.25e+1 end 7.20e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.80e+0
X 1.44e+2 Y 1.13e+2 start 7.20e+1 end 7.25e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.79e+0
X 1.42e+2 Y 1.12e+2 start 7.25e+1 end 7.25e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.80e+0
X 1.41e+2 Y 1.11e+2 start 7.25e+1 end 7.24e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.79e+0
X 1.40e+2 Y 1.10e+2 start 7.24e+1 end 7.23e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.79e+0
X 1.38e+2 Y 1.08e+2 start 7.23e+1 end 7.25e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.79e+0
X 1.37e+2 Y 1.07e+2 start 7.25e+1 end 7.32e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.77e+0
X 1.37e+2 Y 1.05e+2 start 7.32e+1 end 7.12e+1 ts 1.41e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.82e+0
X 1.36e+2 Y 1.04e+2 start 7.12e+1 end 7.28e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.79e+0
X 1.36e+2 Y 1.02e+2 start 7.28e+1 end 7.19e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.79e+0
X 1.36e+2 Y 1.00e+2 start 7.19e+1 end 7.29e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.80e+0
X 1.36e+2 Y 9.82e+1 start 7.29e+1 end 7.19e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.80e+0
X 1.36e+2 Y 9.64e+1 start 7.19e+1 end 7.28e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.79e+0
X 1.37e+2 Y 9.47e+1 start 7.28e+1 end 7.12e+1 ts 1.40e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.79e+0
X 1.37e+2 Y 9.31e+1 start 7.12e+1 end 7.33e+1 ts 1.41e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.82e+0
X 1.38e+2 Y 9.17e+1 start 7.33e+1 end 7.65e+1 ts 1.38e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.67e+0
X 1.40e+2 Y 9.02e+1 start 7.65e+1 end 0.00e+0 ts 1.34e+2 rs 1.50e+2 acc 8.00e+3 dec 8.00e+3 dist 1.89e+0
The start/end speeds are now much more consistent (for why they are not identical see below), as is the top speed. I tried to choose the square corner velocity setting to make the speeds match the speeds obtained using RRF on the circle test as well as I could, which on my printer produces "smooth sounding motion", interestingly this ended up being the value that Klipper uses by default.
I'm not totally sure what to conclude from this. Personally I think that junction deviation provides a better overall way of managing the velocity at a junction than the current RRF jerk system, with a slower speed being used at sharper corners and a more consistent speed on the shallow corners of the circle. I appreciate that the curve used may not be "correct" for all printers, but the nice thing about the grbl algorithm is that it seems to be reasonably efficient (and has been tested on a wide variety of machines). If we plan to replace jerk I'd certainly suggest that we use something that can be applied to the velocity of the move rather than to the motors/drivers (though perhaps the current jerk mechanism could be used as a per motor upper limit rather like m201 acceleration is used when combined with M204 limits).
NOTE 1: I'm currently not 100% sure why the start/end speeds are not identical when using the junction deviation code. I suspect it is mainly down to the variation in segment length (this circle was taken from slicer generated gcode). It may also possibly be caused by the type of approximation used by the grbl based code?
Note 2: Amusing to see that it looks like the forum considers "jerk" to be a "rude" word!