New Trajectory Planner - Testers/programs wanted
PK
Please Log in or Create an account to join the conversation.
- skunkworks
- Offline
- Moderator
- Posts: 361
- Thank you received: 150
My spiral was made in Inkscape which was saved with thier version of an AutoCad R14 format. That's where the splines come from. I then converted the spiral to polyines.
Thanks...
PK
Please Log in or Create an account to join the conversation.
This seems to be one of those typical 'welcome to CAM-software' issues. If the new TP is good enough in optimizing line-line transitions, there is virtually no problem anymore since everything can be approximated using line segments. Nice solution? No. Practical? Yes.
Please Log in or Create an account to join the conversation.
- skunkworks
- Offline
- Moderator
- Posts: 361
- Thank you received: 150
sam
Skunkworks was faster; I was just going to give the same answer.
This seems to be one of those typical 'welcome to CAM-software' issues. If the new TP is good enough in optimizing line-line transitions, there is virtually no problem anymore since everything can be approximated using line segments. Nice solution? No. Practical? Yes.
Please Log in or Create an account to join the conversation.
Paul
Please Log in or Create an account to join the conversation.
exactly.. And in the future there may be a solution for other segment transitions..
That would be nice, but if it was my priority list it would not be on top of it.
Handwritten code already runs really OK on the current TP. The new TP solves the line-line and line-tangent arc transitions that are so important to make CAM-generated code run well. That covers most code, I suppose.
Please Log in or Create an account to join the conversation.
There is a lead in move, a straight move, a circle made up of 4 arcs then a straight move and a lead out move.
It then repeats with a lead in move, a straight move, a complete circle, then a straight move and a lead out move.
The current TP runs the first portion slow as it is prepared to stop at each section of the arcs, then blends on to the straight exit section.
The second portion it runs the circle faster then blends on the exit.
The new TP runs the arcs and the circle at the same steady speed, so the first portion runs smoother and faster. This speed is somewhat slower than the current TP did the full circle.
Where the current TP blends on exiting the circle to the straight the new TP appears not to and prepares for a stop even thought there is a extra lead out move.
To recap - so far the readahead works with
line-line segments
tangent line-arc segmetns
tangent arc-arc segments
Which makes sense if tangent arc-line is not complete yet. But again the first section of line-arc and arc-arc is a great improvement on achieving a smooth cut.
%
G90
F100
G0 X2 Y0
G0 X0 Y0
G91
G1 X1
G1 X1
G3 X1 Y1 R1
G3 X-1 Y1 R1
G3 X-1 Y-1 R1
G3 X1 Y-1 R1
G1 X1
G1 X1
G90
G0 X0 Y0
G91
G1 X1
G1 X1
G3 J1
G1 X1
G1 X1
G90
%
Rick G
Please Log in or Create an account to join the conversation.
- rellenberg
- Offline
- Junior Member
- Posts: 37
- Thank you received: 10
The new TP runs the arcs and the circle at the same steady speed, so the first portion runs smoother and faster. This speed is somewhat slower than the current TP did the full circle.
I ran your test file, and I think slowdown you're seeing was fixed in the experimental branch. I'm working on an update to push out to the beta branch that will fix this and a few other minor issues.
Where the current TP blends on exiting the circle to the straight the new TP appears not to and prepares for a stop even thought there is a extra lead out move.
I'm seeing this too, and I think it's because Naive CAM is turned on (Q0.001), which combines the lead-out move into a single segment. Since this new single segment is the last move in the program, there is still that pesky exact stop. I'm looking into ways to get around this limitation, but it's surprisingly tricky. There isn't currently a way for the motion module to know that a program is complete. Falling back to a parabolic blend on-the-fly is tricky because parabolic blends have a lower max acceleration. One thing that could work for this is reducing the acceleration that the optimizer sees for the last segment, so that we can safely fall back to parabolic blends on the fly. If that works, I should have a fix out today.
I am also looking into line-arc and arc-arc blends. The good news is, I've managed to get line-arc blends working in some circumstances (see attached). Unfortunately, I'm still working some bugs out, and the line-arc code is rather messier than line-line. The trade-off with circular arc blends is that line-line stuff is mathematically easy, but anything more complicated has to be handled case-by-case. Luckily, as you said, line-line intersections are the most common.
-Rob
Please Log in or Create an account to join the conversation.
- skunkworks
- Offline
- Moderator
- Posts: 361
- Thank you received: 150
thanks for all your hard work!
sam
The new TP runs the arcs and the circle at the same steady speed, so the first portion runs smoother and faster. This speed is somewhat slower than the current TP did the full circle.
I ran your test file, and I think slowdown you're seeing was fixed in the experimental branch. I'm working on an update to push out to the beta branch that will fix this and a few other minor issues.
Where the current TP blends on exiting the circle to the straight the new TP appears not to and prepares for a stop even thought there is a extra lead out move.
I'm seeing this too, and I think it's because Naive CAM is turned on (Q0.001), which combines the lead-out move into a single segment. Since this new single segment is the last move in the program, there is still that pesky exact stop. I'm looking into ways to get around this limitation, but it's surprisingly tricky. There isn't currently a way for the motion module to know that a program is complete. Falling back to a parabolic blend on-the-fly is tricky because parabolic blends have a lower max acceleration. One thing that could work for this is reducing the acceleration that the optimizer sees for the last segment, so that we can safely fall back to parabolic blends on the fly. If that works, I should have a fix out today.
I am also looking into line-arc and arc-arc blends. The good news is, I've managed to get line-arc blends working in some circumstances (see attached). Unfortunately, I'm still working some bugs out, and the line-arc code is rather messier than line-line. The trade-off with circular arc blends is that line-line stuff is mathematically easy, but anything more complicated has to be handled case-by-case. Luckily, as you said, line-line intersections are the most common.
-Rob
Please Log in or Create an account to join the conversation.
- rellenberg
- Offline
- Junior Member
- Posts: 37
- Thank you received: 10
wow - rob, as aways, very impressive. (I am someone that keeps checking you experimental branch to see if you have added any commits.. )
Glad to hear it! It's been a little quiet lately because I've got a few features in development, but they aren't quite ready for testing. I'm trying to get at least one out today, and also push the stable fixes to the beta branch.
Please Log in or Create an account to join the conversation.