Understanding the motion planner + settings
Posted: Tue Aug 01, 2017 10:09 pm
In need of a little guidance (before I post something that is wrong in a discussion that I'm having elsewhere).
The application is plasma and I'm in need of understanding the motion planner a little more / clarifying what I think I know and how it relates to UCCNC.
Configuration >> General Settings tab.
Corner Error Max: default (as installed) setting 0.03 units [say the units are mm for this topic as most of the world is metric]
I suspect that most users don't understand, consider or change this setting in relation to their machine setup?
As I understand it, this is the allowable rounding error at corners (in simple terms), and from the manual "This parameter sets the maximal interpolation error at the connection between
two path points and works in constant velocity mode only."
With regards to plasma cutting where we are seeking high constant velocity feedrates, in my opinion we need to adjust this value relative to our machine parameters (and possibly even to the material we are cutting [kerf compensation? changes with ampage + material + thickness]).
I cannot talk about others settings as I only know my own really well, and I've not built many machines execpt my own and tried to understand and experiment on it regarding settings.
In UCCNC, my X&Y acceleration is presently 3000mm/sec/sec (~0.3g) which is high, but from what I've read from Jim Colt, an acceptable target. 8th post down http://www.plasmaspider.com/viewtopic.php?t=18054
In Mach3, my X&Y acceleration was 300 - 400 mm/sec/sec (~0.03g) before loosing steps (with a smooth stepper and the rest of the setup the same with tuned drives).
My machine has 5mm HTD belts, on 20T pulleys, direct drive, 200 step motors, and 10uStep drives set, hence 20 steps / unit [mm], and a resolution of 0.05mm per step. (very course, but remember this is plasma)
hence leaving the Corner Error Max at 0.03mm is pointless (in my opinion) as it's less than my machines minimum resolution.....
Also I believe we need to consider Centripetal acceleration, and I don't believe many people do [I may be wrong however...]
The best "simple" explanation I have found is here, and look at example #1, expand the webpage for the answer (show me the solution)
https://www.khanacademy.org/science/phy ... celeration
hence for a Corner Error Max of 0.03mm, with an acceleration of 3000mm/sec, the feedrate in the corners must slow down to ~9.48mm/sec (570mm/min) before accelerating back up to the desired feedrate
And our target feedrate for plasma could be around 300in/min (fairly common) up to 400"/min (less common, but probably the limit of most hobby machines) or higher in commercial machines
300"/min = 7620mm/min (127mm/sec)
If I set the Corner Error Max at the step resolution of 0.05mm, this would increase the feedrate to 12.2mm/s (735mm/min), although in my opion we could actually go higher for a "better" setting.
"better" because it would be realistic with what we are trying to do.....
With plasma, you have to ask yourself what would be the absolute minimum corner radius you could cut. I would argue that it would the 1/2 the kerf width which is equivelent to the cutting tool on a milling machine, you can never cut an insider corner less than the selected tool radius.
In plasma, the kerf is between 0.5mm (45A /0.8mm) up to 2.5mm (85A, 19mm), although in my application it ranges between 0.5mm to about 2mm, with 1.0 to 1.2mm being the common static setting allowance for offset compensation (as there is also some bevel to take account too)
Say the kerf is 1.0mm, then the minimum corner radius will be 0.5mm, say 1/2 to 2/3rds of this for a safe margin say about 0.3mm (10x default setting) which would then bring our maximum corner feedrate up to 30mm/sec (1800mm/min) to keep within the range of the Corner Error Max tolerance.
Going back to Centripetal Acceleration we know that at a feedrate of 7620mm/min the minimum radius we could cut without droping the feedrate would be ~5.4mm, hence the machine must begin lowering the feedrate 5.4mm from the corner, before reaching the minimum feedrate in the corner of 1800mm/min, before accelerating back up to 7620mm/min on an inside corner
External corners are not normally an issue (unless it's art work) because you can normally loop the corners and get a tight 90º corner (in plasma).
I guess what I'm asking is have I understood the Corner Error Max setting correctly, and should we look to adjust it from the default value relative to the application (in plasma, likley upwards, in precision milling maybe downwards?) in order to improve corner feedrate and minimise the amount of acceleration and deceleration that may be being experianced by setting this value too low (especially maybe if you have a whole load of small lines that are making up your g-code).
An interesting point in Plasma is for holes (or small radius arcs [small as in less than 25mm radius]), you normally lower the linear feedrate to 60% in order than the hole does not come out with an internal bevel (i.e. the plasma arc gets a chance to blow the material out of the hole, whilst it spins and lags the cut), hence this would then lower the "accepatble" feedrate from 7620 to ~5080mm/min, and the minimum radius before the feedrate is lower than considered "acceptable" to ~2.4mm before and after the corner.
Note: I have struggled to understand why I am able to increase the acceleration from the low values in Mach3 (0.03g) up to the much higher values in UCCNC (0.3g) where in Mach3 I began to loose steps and stall the steppers (more correctly they locked out on error). With the same drives and setup just swapping out the Ethernet Smooth Stepper for the UC motion controller.
I can acctually increase the acceleration much higher, but the jerk under acceleration and deceleration can become quite pronounced (in one axis, requires a brace) before the toothed belts begin to slip their pullies (in both axis) [they have a high degree of wrap + tension + are 20mm belts so have a good contact ratio and are steel wire cored]
The application is plasma and I'm in need of understanding the motion planner a little more / clarifying what I think I know and how it relates to UCCNC.
Configuration >> General Settings tab.
Corner Error Max: default (as installed) setting 0.03 units [say the units are mm for this topic as most of the world is metric]
I suspect that most users don't understand, consider or change this setting in relation to their machine setup?
As I understand it, this is the allowable rounding error at corners (in simple terms), and from the manual "This parameter sets the maximal interpolation error at the connection between
two path points and works in constant velocity mode only."
With regards to plasma cutting where we are seeking high constant velocity feedrates, in my opinion we need to adjust this value relative to our machine parameters (and possibly even to the material we are cutting [kerf compensation? changes with ampage + material + thickness]).
I cannot talk about others settings as I only know my own really well, and I've not built many machines execpt my own and tried to understand and experiment on it regarding settings.
In UCCNC, my X&Y acceleration is presently 3000mm/sec/sec (~0.3g) which is high, but from what I've read from Jim Colt, an acceptable target. 8th post down http://www.plasmaspider.com/viewtopic.php?t=18054
In Mach3, my X&Y acceleration was 300 - 400 mm/sec/sec (~0.03g) before loosing steps (with a smooth stepper and the rest of the setup the same with tuned drives).
My machine has 5mm HTD belts, on 20T pulleys, direct drive, 200 step motors, and 10uStep drives set, hence 20 steps / unit [mm], and a resolution of 0.05mm per step. (very course, but remember this is plasma)
hence leaving the Corner Error Max at 0.03mm is pointless (in my opinion) as it's less than my machines minimum resolution.....
Also I believe we need to consider Centripetal acceleration, and I don't believe many people do [I may be wrong however...]
The best "simple" explanation I have found is here, and look at example #1, expand the webpage for the answer (show me the solution)
https://www.khanacademy.org/science/phy ... celeration
hence for a Corner Error Max of 0.03mm, with an acceleration of 3000mm/sec, the feedrate in the corners must slow down to ~9.48mm/sec (570mm/min) before accelerating back up to the desired feedrate
And our target feedrate for plasma could be around 300in/min (fairly common) up to 400"/min (less common, but probably the limit of most hobby machines) or higher in commercial machines
300"/min = 7620mm/min (127mm/sec)
If I set the Corner Error Max at the step resolution of 0.05mm, this would increase the feedrate to 12.2mm/s (735mm/min), although in my opion we could actually go higher for a "better" setting.
"better" because it would be realistic with what we are trying to do.....
With plasma, you have to ask yourself what would be the absolute minimum corner radius you could cut. I would argue that it would the 1/2 the kerf width which is equivelent to the cutting tool on a milling machine, you can never cut an insider corner less than the selected tool radius.
In plasma, the kerf is between 0.5mm (45A /0.8mm) up to 2.5mm (85A, 19mm), although in my application it ranges between 0.5mm to about 2mm, with 1.0 to 1.2mm being the common static setting allowance for offset compensation (as there is also some bevel to take account too)
Say the kerf is 1.0mm, then the minimum corner radius will be 0.5mm, say 1/2 to 2/3rds of this for a safe margin say about 0.3mm (10x default setting) which would then bring our maximum corner feedrate up to 30mm/sec (1800mm/min) to keep within the range of the Corner Error Max tolerance.
Going back to Centripetal Acceleration we know that at a feedrate of 7620mm/min the minimum radius we could cut without droping the feedrate would be ~5.4mm, hence the machine must begin lowering the feedrate 5.4mm from the corner, before reaching the minimum feedrate in the corner of 1800mm/min, before accelerating back up to 7620mm/min on an inside corner
External corners are not normally an issue (unless it's art work) because you can normally loop the corners and get a tight 90º corner (in plasma).
I guess what I'm asking is have I understood the Corner Error Max setting correctly, and should we look to adjust it from the default value relative to the application (in plasma, likley upwards, in precision milling maybe downwards?) in order to improve corner feedrate and minimise the amount of acceleration and deceleration that may be being experianced by setting this value too low (especially maybe if you have a whole load of small lines that are making up your g-code).
An interesting point in Plasma is for holes (or small radius arcs [small as in less than 25mm radius]), you normally lower the linear feedrate to 60% in order than the hole does not come out with an internal bevel (i.e. the plasma arc gets a chance to blow the material out of the hole, whilst it spins and lags the cut), hence this would then lower the "accepatble" feedrate from 7620 to ~5080mm/min, and the minimum radius before the feedrate is lower than considered "acceptable" to ~2.4mm before and after the corner.
Note: I have struggled to understand why I am able to increase the acceleration from the low values in Mach3 (0.03g) up to the much higher values in UCCNC (0.3g) where in Mach3 I began to loose steps and stall the steppers (more correctly they locked out on error). With the same drives and setup just swapping out the Ethernet Smooth Stepper for the UC motion controller.
I can acctually increase the acceleration much higher, but the jerk under acceleration and deceleration can become quite pronounced (in one axis, requires a brace) before the toothed belts begin to slip their pullies (in both axis) [they have a high degree of wrap + tension + are 20mm belts so have a good contact ratio and are steel wire cored]