Hi All - I'm interested in how machine controllers, trajectory planners etc and CAM programs control jerk. The machine controller uses position, velocity, acceleration and some use jerk to control the machine. Position is obvious but its still can be a moving target depending on what that position is. Velocity gets us around the table. The velocity profile can be simple (trapezoidal) or more complex (S-curve or parabolic). The more complex velocity profiles aim at minimising acceleration changes which produce jerk. This is done by creating smooth velocity profiles.

At each path inflection point eg a line to an arc the motion can produce infinite accelerations. As the machine moves it dithers, precesses and stick slips slightly producing micro or macro unsteady motion. This can produce "jerk". Stepper motors introduce vibration by their nature.

Smooth velocity curves can minimise accelerations. Accelerations produce inertial forces that contribute to machine vibrations. Large inertial forces can produce machine deflections. Jerk acts in the background as an overlaid agitation causing more vibrations.

Since jerk is a function of path and acceleration it would seem to me that to tackle this issue it has to start at the CAM with the path planner. Early and simple toolpath planners use lines and arcs as these are simple to offset and manipulate. But these have the inflection points. Then it seems they introduced transition curves (clothoids, cyloids) in between these as a subroutine to smooth the path. These days the path planner would use splines as these can be made entirely smooth. To see a little about this heres a vid. It discusses surface curvature but the commentary works for machine toolpathing. If we made the toolpath in G3 or G4 continuity (this G term is not related to Gcode) the paths would be very smooth and produce small accelerations. I presume this is how some HSM roughing codes are produced.

The other issue is that the path planner creates a continuous path and this is then decomposed into polylines. This is because Gcode is point to point. Each small line has an inflection at its start and finish. The controller tells the machine to go to each point and depending on the controllers path settings this path gets smeared back to near the original continuous path created in the CAM. So many issues to cover.

Continuity descriptions | Rhino 3-D modeling

https://www.youtube.com/watch?v=M59ahq5Pozs

So the smoothest paths would be produced in a CAM using splines, then the controller would inherit that code and use S-curve velocity control to produce smooth motion and toolpath jerk would nearly look after itself. It seems however that path creators are rough and controllers are left to smooth things out. Its even up to some motors to do the jerk control. Which is leaving the issue too close to the end for me. I expect some high end controllers to do the right thing from start to finish.

So any insight into how these things work in the real world, I'd be interested in a discussion here. Peter