Curve acceleration stutters

Has anyone notice when cutting circles in Lightburn that circles are cut in sections and the laser seems to have a slowdown in each section before continuing?

I made a simple test of cutting 5 circles inside each other of different sizes.

Cutting in both RDworks and Lightburn,

In Lightburn, the circle seems to cut the circle in 4 sections, where the laser would speed through one part, slows down and then speeds to the next.

When I do the same test in RDworks, the laser would run smoothly all the way around the circle.

I’ve changed my acceleration values, but makes no difference in either software.

Edit: I did some additional runs at difference speeds. It seems that when running at a higher speed of 400mm/s, both software seems to have the same issue.

If you’re running curves at really high speeds, you might need to decrease the curve tolerance value used to subdivide curves being sent to the laser. Try dropping this to 0.04 or 0.03:

That will produce shallower angles between the segments, so the motion planner won’t need to slow for the ‘corners’. This is only an issue at really high speeds.

Thanks Oz.

Is the curve tolerance the equivalent to setting the small circle speed limit?

No - it does not affect the speed of the job. It controls the smoothness of the output sent to the laser. Read here: https://github.com/LightBurnSoftware/Documentation/blob/master/Settings.md#curve-tolerance

Hi Oz,

I just had a chance to try out the Curve tolerance, but it didn’t have much effect on the stuttering.

I did play around with my acceleration settings.
Lowering acceleration down to 25mm/s seems to make the lines run really smooth, but that would slow the machine down also when cutting straight lines.

However, in RDworks, if I setup the Small Circle Speed Limits, this works out, to slow the speed down for the curves, but doesn’t effect straight cuts.

So this brings up my questions, do we have any settings similar to small circle speed limits in Lightburn?

There isn’t at this time, no. Decreasing the acceleration that low would have the opposite effect - It’s likely just made the whole job go slower. Increasing it from what you have should make it able to take those small corners faster.

What speed are you running, and what size of circles are you cutting? So far you’ve spoken in generalities, but if you give me specifics it helps. I assume you actually have the small circle speed limit enabled on RDWorks?

The stuttering is just the motion planner slowing for the corner and speeding back up again. If your settings are reasonable it might sound funny, but shouldn’t hurt anything.

I wonder if increasing the curve tolerance would help - you might actually be hitting what’s called a look-ahead limit. If the motion planner in the controller is getting too many small segments, it might not be able to plan far enough ahead to know that it will be able to stop in time. This is common on open source GCode systems trying to run raster engraving jobs. A simple test to see if this is what’s happening would be to create a square, convert it to a path, and then use the node editor to add a lot of extra nodes to it, but leaving it as a straight line:

You might need more than this, but it gets the idea across:
image

If that hits a speed limit, then it’s the lookahead buffer, not the corners, and increasing the curve tolerance would help.

I can likely add the corner speed limit, but I’ll have to figure out how it actually works and where the thresholds are.

I’m doing a 100mm circle at 400mm/sec speed.

In RDWorks, I’ve tested the small circle speed limit up to 100mm/sec and the circle still runs smooth. Haven’t had a chance to run at a faster speed yet.

I believe you hit the nail on the head with the motion control stopping at each end point and then changing direction. That would describe what I’m seeing in the circles at higher speed.

I have my engraving acceleration at 10,000(x)mm/sec, and so far haven’t had a lost step issues.
Right now, cutting acceleration is set at 2,000mm/sec, so next step would be to try a higher acceleration to see if I can achieve a higher cutting speed and report back.

I’ll also try to increase the Curve tolerance and see if there are any changes to how the controller reacts when it hits a corner.

Update: I ran a couple of tests.

1: Increasing curve tolerance (max in Lightburn) to 0.500mm
The resulting was the circle ran smoother, but the larger circles will still step through sections, and not run as smooth, whereas smaller circles did run smoother without stuttering.
2: Increased the acceleration setting to 7,000mm/sec.
This did not make any difference compared to the lower 2,000mm/sec acceleration.

So my question would be, how high can the curve tolerance be before it has an adverse effect on other settings?

Ultimately, I have a 12" circle that I cut on cardstock from time to time, but with the motion control “stuttering” I get a spot where the beam burns the edge of the sheet.

Engraving is just back & forth, so it’s less prone to resonance (unless you engrave something really narrow). If your system can handle that, you can likely go to 4000 or 5000 for the cutting accel, and maybe just limit the Y axis accel in the vendor settings if that axis needs to be a little lower.

2000 is pretty low, but it depends a lot on the machine - larger machines carrying more gantry weight have to be more conservative.

The machine is a 1390 bed, and so far the 10,000mm/sec x-axis acceleration hasn’t had any ill effect.

Granted, I’ve only had the machine for a month now.

Is there any update on your issue and resolution?

I haven’t found a good working solution for this yet.

My understanding is unless we have a way to limit speed on curved lines, there will be a stutter.

I found Ruida’s smaller circle speed limit, is very helpful in this circumstance, but doesn’t stop this altogether.

A quick followup to this.

I read a thread from this forum, but I forgot the name of the thread. Oz gave an answer in that thread about the Backlash setting in the User Settings that clicked with me.

I basically disabled (zero’d) the backlash setting and now I can draw a perfect circle without an stutter/hesitation when the machine moves around.

I was able to successfully do a 10" Circle on 100lb card stock running at 400 mm/s on my machine and it came out perfect.

With zero wobble or waviness in the cut.

Edit: Found the link to the thread about backlash

I’ll have to remember that tip - it didn’t occur to me until the other user mentioned it happened exactly 4 times when cutting a circle. That specific number was what made me suspect backlash compensation, because that’s how many direction changes there are in a circle. Glad it helped you!

I’m back with this again.

I just ran about 100 8" circles, and noticed significant stuttering at higher speed.

I know my machine can cut 120# Cover stock with ease at 300 mm/s, but when I run at any higher than 50 mm/s, I’m getting a stuttering effect which isn’t just at the 4 quadrants, but pretty much at every 50mm of run on the circle.

When I slow the speed down to 50 mm/s, I still notice a slight pause/stutter at the 4 quadrants, so it’s not as bad. What I did notice though is that it’s not exactly at the quadrant, but slightly pass the point where the laser would make the turn.

My thoughts on this would be:

1: The controller can’t keep up with the speed
2: The stepper motor/driver can’t keep up (might need to upgrade to Hybrid/servo to fix?)

If you guys have any thoughts on this please help me understand what I’m doing wrong with the machine.

Do you have non-zero values in the Backlash setting for X & Y? If you do, faster motors won’t help, because the controller is making 90 degree “turns” whenever there is a direction change on an axis that requires taking up backlash.

To be clear your 8" circles only have the 4 nodes right? I know some programs do a bunch of small segments and this KILLS the motion planner buffer(at least it does on my smoothieboard, it may also affect ruida but unsure) Just trying to help eliminate the variables :slight_smile:

@LightBurn Backlash has been set to 0, and when I look closely, it happens slightly past the apex by a few degree. I can see the laser starting to make the turn before it slows down and then continue the cut.

Sorry for my ignorance, but what determines the motion control in the motors? is it the Ruida controller? the stepper driver? or Lightburn/RDWorks?

@domm434 I double checked the file, and there are only 4 nodes in the circle. The file was created in Illustrator.

Side note: I just did about 10 runs sending the same file from Lightburn and RDWorks.
The runs were done at 350mm/s
In Lightburn, it took 23sec to cut 2 8" circles out of the sheet, and there are noticeable multiple slowdowns.
In Rdworks, it took 8 seconds to run the same 2 circles, and there was absolute no pause at all and the cuts came out very smooth.
Settings were the same on from both software.

I’m attaching my Lightburn file, I have the rdworks file as well if there is a way for me to attach it.

Circles.lbrn (5.7 KB)

Do this instead: from each package, save an RD file (UFile output in RDWorks). Label them so it’s clear which one came from which program and email both to developer at lightburnsoftware dot com with a reference to this thread.

I likely won’t be able to look into it for a few days because we’re moving into a hotel today for a week or two before taking possession of a new home, so I’ll have limited access to hardware, and a bunch of time commitments over the next week or so.

Regarding your motion question, LightBurn and RDWorks both convert everything into small line segments, and that’s what gets sent to the controller. All the motion planning happens in the controller itself.

You can import an RD file exported from RDWorks into LightBurn, and you can press Ctrl+Shift+C to convert a shape to a “cut” in LightBurn (which converts the curves into linear segments, exactly as they’d be sent to the controller). If you un-group and node edit the result, you’ll see the segments.

The default in LightBurn is to subdivide curves until the lines are within 0.05mm of the original curve.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.