You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add accurate S-curve jerk output for joint motion commands
Add infrastructure to output precise jerk values from the trajectory planner
to joint commands during S-curve (planner_type=1) coordinated motion.
Previously, joint jerk values were derived from cubic interpolation, which
introduces numerical delays and inaccuracies. This change passes the exact
path jerk and direction vector from the TP through emcmotStatus, allowing
control.c to compute per-joint jerk as: joint_jerk = path_jerk * direction.
Changes:
- motion.h: Add current_acc, current_jerk, current_dir fields to emcmot_status_t
- tc.c/tc.h: Add tcGetCurrentTangentUnitVector() for direction at current progress
- tp.c: Output S-curve motion state in tpUpdateMovementStatus()
- control.c: Override joint jerk values for XYZ joints in S-curve mode
This improves jerk accuracy for Cartesian machines using S-curve planning,
which is important for servo tuning and motion smoothness analysis.
ABC-UVW to come in future
0 commit comments