Professional Documents
Culture Documents
Jerk Controlled Motion Explained Synthetos - TinyG Wiki
Jerk Controlled Motion Explained Synthetos - TinyG Wiki
TinyG and G2 Core use 6th-order jerk-controlled motion planning in real-time. Other motion control systems
(both open-source and most proprietary) use constant acceleration motion planning for real-time applications.
This page explains what those terms mean, and the differences and benefits of controlled-jerk motion planning.
As a point of clarification, g2core performs true jerk-bound 6th order planning, which plans non-zero jerk
transitions between moves. It is not simply a 2nd order planner that plugs in higher order acceleration ramps. This
allows moves to be executed as fast as possible while observing jerk limits, achieving smoother motion than is
possible with lower order planners.
Better surface finish - speeds change gradually without discontinuities that result in temporary micro-
positional errors
Less machine vibration and resonance, resulting in less chatter and skip
Less wear on mechanical parts, as machine "impacts" are greatly reduced
"Steadier hand" for rapid operations such as pick and place, pipetting, etc.
Motors run smoother and cooler
Controlled jerk gets more out of the motors. Higher accelerations and better power transfer are possible as the
motors do not have to deal with instantaneous changes in acceleration. By overcoming these "worst case" start
and stop conditions faster transitions between stop and full speed are possible, as are higher overall acceleration
and deceleration speeds.
The animations below illustrate a typical acceleration move from 0 mm/min to 2000mm/min, using both controlled
jerk and constant acceleration. Settings used are typical for machines such as a Shapeoko2, Shapeoko3, or Xcarve.
The image above shows a controlled jerk acceleration move with the maximum jerk value set to 23,100
mm/sec^3 (or ~5 billion mm/min^3). The length of the acceleration phase is 1.52 mm, and the time to accelerate
is 91.2 milliseconds. This yields an average acceleration of ~366mm/sec^2, starting and ending with zero
acceleration, and with a peak acceleration of 685mm/sec^2.
The constant acceleration example uses the average acceleration value from the jerk-controlled example of
366mm/sec^2 as the constant acceleration value. (Default settings for these machines range from 250mm/sec^2
to 400mm/sec^2). The length of the move and the time to accelerate are thus the same.
The start of acceleration (at 0.02 sec in the animation) causes an infinite spike in jerk. Physics dictates that the rise
time of the motor acceleration is not zero, hence the jerk is not infinite, but will take effect over time. The mass of
the tool resists this instantaneous change, stressing the motor, and either stretching belts or stressing linkages in
the machine. This also has a visible effect on the resulting surface finish of the job.
The rate of change of acceleration ( jerk) is limited to the amount the motor and its load can actually sustain
without stalling, fixing an upper limit on the acceleration setting before the motor stalls or loses steps. In fact, the
motor is capable of far greater acceleration once it gets past this critical point, so the "constant" acceleration
value used must be set to a lower value than the machine can handle simply to account for these "infinite jerk"
points.
You can see in the detail how in the jerk-controlled motion the acceleration (rate of change of velocity) gradually
rises from zero and lowers back to zero, matching the physics of overcoming and then maintaining inertia. This
gradual start is where most of the benefit is achieved, getting the motor past the infinite jerk point present in the
constant acceleration case. Most motors are capable of much higher peak accelerations than the midpoint
acceleration shown, so the jerk limit could be raised, therefore faster transitions between stop and full speed are
possible.
Transitions from move-to-move are handled in a similar manner; jerk imparted to the machine during cornering
stays within the configured limits. This ensures that motion remains smooth, workpiece surface finish is high
quality and free of motion-control artifacts, and motor stressing is reduced to known limits so as not to lose steps
during cornering.
The math used is as accurate as the floating point math of the processors allows for, and motion is true to the
provided GCode within the configured machine limits. The inevitable inaccuracies of floating point math are
accounted for and corrected: positional accuracy is maintained at the fractional-microstep level over jobs of any
length.
The gradual handling of start and stop conditions also reduces the possibility of stepper stalling. Combine that
with very carefully controlled step timing that prevents step-timing artifacts (such as "bunching" and "scalloping"
of diagonal moves) and the result is overall higher resulting surface finish for the same mechanics, motors, and
power supply, with the job being accomplished in the same amount of time or less.
Pages 89
Home
What is TinyG?
Getting Started
Connecting TinyG
Configuring TinyG
Sending Gcode Files
Flashing TinyG
Chilipeppr
Reference Pages
Discussion Topics
Test-Drive-TinyG
Jerk Controlled Motion
Gcode Parsing
Shapeoko Setup
OX CNC TinyG Guide
Creating Gcode Files
Milling With Noisy Spindles
Stepper Motors and Power Supplies
Text Wrappers and Transaction IDs
Using External Drivers
TinyG Projects
Chilipeppr
Chilipeppr
Chilipeppr Advanced Usage
Chilipeppr Archive and Restore Parameters
ChiliPeppr PCB Auto Level
Automatic Z Homing When Milling PCBs
Troubleshooting
Troubleshooting
SpDir Continues To Flash Error
Developer Pages
https://github.com/synthetos/TinyG.wiki.git