LinuxCNC S-Curve Accelerations

More
9 months 1 week ago #341697 by ihavenofish
Jerk limiting should in no way affect the path. Ever.

g64 smoothing should ideally be decoupled from jerk limiting - it functionally has a built in jerk limiting as it is.

Acceptable choices are:

1: NOT use jerk limiting on smoothed line to line transitions - only jerk limit the start and end and any breaks in smoothing (acute angles etc), and then all exact stop moves. This will make motion smooth in almost all critical cases.

2: Create a new constant velocity planner with jerk limited smoothing strategies.

Option 2 is where jerk limiting goes to die in linuxcnc. I would focus on option one and making it 100% fully stable - you seem to have a good proof of concept started, but still have a ways to go. I would not get side tracked by trying to reinvent what already works quite well.

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

More
9 months 1 week ago - 9 months 1 week ago #341699 by Aciera
The ultimate goal is to have both Option 1 and Option 2. Jerk limited velocity planning AND G2-continuous transition curves.

Option 2 is where jerk limiting goes to die in linuxcnc.


Not sure what makes you say that as one does not exclude the other they actually complement each other.
Last edit: 9 months 1 week ago by Aciera.

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

More
9 months 1 week ago #341703 by grandixximo
I think he is right, I tend for option 1 as well, actually already have it work pretty well in my testing.
Option 2 which is what the big boys use, Siemens Fanuc etc. as far as we understand, requires a complete TP rewrite

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

More
9 months 1 week ago - 9 months 1 week ago #341706 by grandixximo
Slow down at curvature changes: reduce Vel so the centripetal acceleration change is manageable. (this defeats high-speed machining)

This is what I mean is feasible, not ideal, but what we are working with that moment.

YangYang I think tends toward Béziers and smooth High Speed, but this changes toolpath, I'd rather slow down when necessary to make things smooth, and stay on path, which is generally more important than High Speed in our line of work.
I think slowing down on arcs is simpler to implement, Béziers complicate things, and I think, we will still need to slow down or at least calculate the proper speed to execute and stitch in the blend smooth Béziers at, which could prove to be a headache in my opinion, even though the path is smooth doesn't mean you can run tangential speed jerk control and get rid of jerk spikes, I don't think it works like that, but I'd be glad to be proven wrong, but still you would not be following a programmed arc and I don't like that...
Last edit: 9 months 1 week ago by grandixximo.

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

More
9 months 1 week ago - 9 months 1 week ago #341707 by Aciera
I don't understand this focus on not changing toolpaths.
The important thing is that we can define how much we deviate from the exact path.
The less deviation we allow the more we have to slow down. 

Even with perfect g2 continuous path blending there is jerk limiting needed at the beginning and the end of the blended paths as well as for jogging. So it's really always going to be Option 1 plus ideally Option 2.

Béziers complicate things


Well, that is certainly true. MUCH easier working with circular arcs. I won't argue there :)
Last edit: 9 months 1 week ago by Aciera.
The following user(s) said Thank You: akb1212

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

More
9 months 1 week ago #341708 by grandixximo
You cannot maintain velocity, follow the exact programmed path, AND have smooth jerk.

This is physically impossible. What I am saying is I would sacrifice velocity rather than programmed path on G2/G3 programmed arcs. At the moment if you run something with tangent arcs even with G61 the velocity is kept, this messes with jerk. G61 with jerk will have to slow down more.
For many line segments G64 Pxx it also slow down more, the more tight the tolerance, the smaller blending arcs the slower you have to move.
Béziers will give you better speed, because you can run them faster, but they are NOT arcs, meaning when you program a square for example, just 4 lines, you set G64 to 0.5 let's say, what kind of path error would you accept? A 0.5mm perfect radius which I have to slow down more to make smooth, or a squashed up Béziers which I can run faster?
The following user(s) said Thank You: besriworld, Aciera

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

Time to create page: 0.126 seconds
Powered by Kunena Forum