![]() |
APIs, concepts, guides, and more
|
void MoveSCurve | ( | const double *const | position, |
const double *const | vel, | ||
const double *const | accel, | ||
const double *const | decel, | ||
const double *const | jerkPct ) |
*position | Array of target positions (in UserUnits for each Axis). |
*vel | Array of velocities (UserUnits/second). |
*accel | Array of average accelerations (UserUnits/second/second). (peak up to 2× accel when jerkPercent = 100, see below) |
*decel | Array of average decelerations (UserUnits). (peak up to 2× decel when jerkPercent = 100, see below) |
*jerkPct | Array of jerk percents, which defines the percentage of acceleration time which is smoothed, 0.0 to 100.0 |
Using a non-zero JerkPercent increases the maximum acceleration above the user-specified average.
If your system can’t handle the higher peak, you risk overshoot or excessive load. The relation between average acceleration and maximum acceleration is:
\[ Maximum Acceleration \;=\; \frac{accel}{1 - \bigl(jerkPercent \times 0.005\bigr)} \]
See the S-Curve Motion concept page for more information.
Using a non-zero JerkPercent increases the maximum deceleration above the user-specified average.
If your system can’t handle the higher peak, you risk overshoot or excessive load. The relation between average deceleration and maximum deceleration is:
\[ Maximum Deceleration \;=\; \frac{decel}{1 - \bigl(jerkPercent \times 0.005\bigr)} \]
See the S-Curve Motion concept page for more information.