- Posts: 203
- Thank you received: 19
New Trajectory Planner - Testers/programs wanted
- DaBit
- Offline
- Elite Member
-
rellenberg wrote: What I meant by "high speed" was simply that the original trajectory planner was running artificially slowly due to the segment length. This meant that you could have a toolpath that had gentle curvature, but it would still run very slowly.
Yes, I have seen that too while doing spiral milling using sin/cos and a lot of G1's (the easy way out, that is).
I'm impressed that limited jerk allowed you to run at almost twice the acceleration. What was the maximum jerk for this case?
I can run up to about 1400mm/sec^2 also without anything special, but the machine (Chinese mill) doesn't like it. Using limited jerk to soften the hard edges makes a noticeable difference. The downside is that it also fights with software backlash compensation, and it causes a small deviation from the programmed path since it is the servo loop doing the limited jerk and not the motion planner. The backlash bites me during every experiment, but the current method of fixing it is building a new mill. All this experimentation with steppers in velocity mode and a separate PID component in HAL, feedback with linear glass scale, etc. is basically for the new mill although I use the current one for testing ideas.
Being able to do all this is why i love LinuxCNC, by the way.
I will check the actual number of the 'maxa' parameter used for the limit3 component (which is fed velocity, so maxa is jerk) for you tomorrow.
And acceleration is useful. Unless you are only milling large squares with rounded corners I would trade high speed for high acceleration anytime. Even with perfect blending you do need a high acceleration to follow a circular path at some speed.
Since you've had first-hand experience with the limits of infinite-jerk planning, would you be willing to test the new TP on your machine?
Yes. Probably this weekend I will find an hour or two to build a RIP environment with your TP. If it runs normally, I will use that build for actual milling.
I have no fine-detailed milling jobs to do, but I always wanted to try making a lithophane. All those parallel scanlines carving out a photograph would be a good test for the new TP.
The new TP has some large theoretical gains, but if we can't fully reach them without shaking the machine to death, it would make a good case for a limited-jerk version.
On the other hand: half-decent hobby-class mills are probably not LinuxCNC's main target.
But still, I really think that a lighter machine with top-notch TP can outperform tons of cast iron with a prehistoric control. When using smaller endmills, higher speeds and softer materials (aluminum, plastic, wood) it is the acceleration/deceleration and jerk that strains the machine frame the most, not the forces created by actual milling. IMHO, that is.
Please Log in or Create an account to join the conversation.
- DaBit
- Offline
- Elite Member
-
- Posts: 203
- Thank you received: 19
Is there a quick way to switch between old and new TP behaviour? Preferrably while AXIS is running a program? (halcmd setp blabla.bla maybe?)
As promised before: the HAL code with jerk limit:
Not exactly nice&shiny and not tuned to perfection, but it does work with little following error and a rounding at the constant velocity->ramping up/down velocity boundary
Please Log in or Create an account to join the conversation.
- skunkworks
- Offline
- Moderator
-
- Posts: 351
- Thank you received: 153
sam
ArcEye wrote: Hi
I don't pretend to understand it, but here is a non-scientific test that shows a difference
Run 1 - the patched linuxcnc-beta RIP
Velocity during the spiral in axis_mm sim, with all the [TRAJ] settings made, max velocity set to 3200
1701mm/min
Run 2 - 'standard' RIP of 2.6~pre
Same sim and velocity settings
1828/1813 mm/min fluctuates between 2 as each segment changes
The code is here (it is imperial, but I didn't have a metric equivilent)
Code:G40 G90 G20 G17 G40 G8 F3000 ;M3 S600 ;G4 P10 ;M5 G00 X0.7500 Y0.7700 G01 Z-0.0300 G03X0.7000Y0.7200I0.0000J-0.0500 X0.7500Y0.6700I0.0500J0.0000 X0.8300Y0.7500I0.0000J0.0800 X0.7500Y0.8300I-0.0800J0.0000 X0.6400Y0.7200I0.0000J-0.1100 X0.7500Y0.6100I0.1100J0.0000 X0.8900Y0.7500I0.0000J0.1400 X0.7500Y0.8900I-0.1400J0.0000 X0.5800Y0.7200I0.0000J-0.1700 X0.7500Y0.5500I0.1700J0.0000 X0.9500Y0.7500I0.0000J0.2000 X0.7500Y0.9500I-0.2000J0.0000 X0.5200Y0.7200I0.0000J-0.2300 X0.7500Y0.4900I0.2300J0.0000 X1.0100Y0.7500I0.0000J0.2600 X0.7500Y1.0100I-0.2600J0.0000 X0.4600Y0.7200I0.0000J-0.2900 X0.7500Y0.4300I0.2900J0.0000 X1.0700Y0.7500I0.0000J0.3200 X0.7500Y1.0700I-0.3200J0.0000 X0.4000Y0.7200I0.0000J-0.3500 X0.7500Y0.3700I0.3500J0.0000 X1.1300Y0.7500I0.0000J0.3800 X0.7500Y1.1300I-0.3800J0.0000 X0.3400Y0.7200I0.0000J-0.4100 X0.7500Y0.3100I0.4100J0.0000 X1.1900Y0.7500I0.0000J0.4400 X0.7500Y1.1900I-0.4400J0.0000 X0.3100Y0.7500I0.0000J-0.4400 X0.7362Y0.3102I0.4400J0.0000 G00Z0.1500 G00X0.0Y0.0 G28 M2
Obviously it is not quite the sort of short segment code some others were testing, but there is a real difference in the 'wrong' direction
regards
Please Log in or Create an account to join the conversation.
- ArcEye
- Offline
- Junior Member
-
- Posts: 22
- Thank you received: 240
I finally got some time to pull the experimental branch. It fixes the issue you are seeing. Your program ran at 1828 mm/min.
sam
Hi Sam
I can see the commit on github, but my git fu is not up to figuring out how to get it into my existing clone
git checkout circular-blend-arc-beta-experimental errors
and doing a pull tells me I am up to date
regards
Please Log in or Create an account to join the conversation.
- skunkworks
- Offline
- Moderator
-
- Posts: 351
- Thank you received: 153
sam
ArcEye wrote:
I finally got some time to pull the experimental branch. It fixes the issue you are seeing. Your program ran at 1828 mm/min.
sam
Hi Sam
I can see the commit on github, but my git fu is not up to figuring out how to get it into my existing clone
git checkout circular-blend-arc-beta-experimental errors
and doing a pull tells me I am up to date
regards
Please Log in or Create an account to join the conversation.
- ArcEye
- Offline
- Junior Member
-
- Posts: 22
- Thank you received: 240
I think the problem was that the original was the master with Robs stuff added, whereas this is all in his fork of the master
I just cloned Robs fork, checked out the experimantal branch and built it
It runs at full speed (1828) all the way around, which is an improvement because the bog standard master fluctuated 1828/1813 as every arc segment ended and a new one began
So yeah, works fine as far as I can see
regards
Please Log in or Create an account to join the conversation.