LinuxCNC S-Curve Accelerations

More
8 years 5 months ago #110839 by rmu
Replied by rmu on topic LinuxCNC S-Curve Accelerations
What I don't understand is what to do if accel/decel in a segment is short enough to never reach full acceleration, in this case execution of the segment takes longer than planned for.

Please Log in or Create an account to join the conversation.

More
8 years 5 months ago #110879 by rodw
Replied by rodw on topic LinuxCNC S-Curve Accelerations
When I wrote a trapezoidal acceleration algorithm for an Arduino, I truncated the acceleration profile when required so that it could ramp down and finish where it should. eg. in short segments it never got to full speed (so it was triangular rather than trapezoidal). You would need to do the same thing with an S curve.

Please Log in or Create an account to join the conversation.

More
8 years 5 months ago - 8 years 5 months ago #110889 by rmu
Replied by rmu on topic LinuxCNC S-Curve Accelerations
I was actually replying to the message from automata, but I'm not very used to forum software, seems the quote was lost.

If you use the planner as is with something as an effective average acceleration and substitute the s-curve in the execution phase it could in theory happen that you don't leave the "S" on beginning/end, so the assumption that the planner will keep up with this "average" acceleration does not hold for short segments IMHO.

While at it, did anybody have a look at the synthetos g2core 6th order bezier smooth motion planner?
Last edit: 8 years 5 months ago by rmu. Reason: replaced tinyG with synthethos g2core

Please Log in or Create an account to join the conversation.

More
8 years 5 months ago #110953 by automata
Hi rmu,
The jerk percentage method will not guarantee any limits on the max jerk. It only takes the current acceleration phase and divides it into 3 parts based on the percentage.
For a trapezoidal velocity planner, you will have either 1, 2 or 3 phases based on your starting velocity, ending velocity, and max velocity for the segment.
If you have a segment that is accelerating or decelerating, you divide that segment into 3 parts on the time axis (NOTE that parts are not made on the distance axis).
Alternately like Fanuc, you can limit jerk from 0 upto 128 msec (based on a user editable parameter). That way your segment has to longer than 128*2 msec for execution.
In both cases you will always reach the max acceleration since the jerk limitation phase was allocated after the trapezoidal velocity planner has finished the planning of the complete time of the trajectory.
hope the explanation helps.
-automata

Please Log in or Create an account to join the conversation.

More
8 years 5 months ago #110954 by rmu
Replied by rmu on topic LinuxCNC S-Curve Accelerations

If you have a segment that is accelerating or decelerating, you divide that segment into 3 parts on the time axis (NOTE that parts are not made on the distance axis).


Yes, I understood that you divide a segment with constant acceleration a (coming from the trapezoidal planner) into a segment with acceleration < a and some sufficiently smooth form, then a "cruise" with acceleration slightly larger than a to make up for the slower smooth start/end segments, and then a smooth "deceleration" phase to get to the commanded exit velocity.

My question was regarding this smooth transition at the beginning/end of the segment, if the segment is too short (for a given jerk limit), you can't make up for lost time with larger acceleration.

If you don't guarantee a maximum jerk, that explains it. Short segments will then be executed violating the jerk limit.

I noticed that the linuxcnc trajectory planner has a cubic interpolator switched between the trajectory planner and command outputs, this seems to be a remnant from times when TRAJ_PERIOD usually was n times SERVO_PERIOD, n>1. If I understand correctly, this interpolator limits jerk somewhat. A step is spread out over 3 periods.

Please Log in or Create an account to join the conversation.

More
8 years 3 months ago #113452 by Methier
Hi, what happened to this topic? any news on this? i find it interesting even necessary and i have machines available for testing.

Meth

Please Log in or Create an account to join the conversation.

Time to create page: 0.090 seconds
Powered by Kunena Forum