Mactec54
I've been saying that since the other thread... he's almost as bad as you :P
In coordinated motion on CNC it can't be controlled by the drive, otherwise you no longer have coordinated motion. Many new drives have all sorts of single axis trajectory planning, but this all needs to be disabled except the most basic of filtering when run by a CNC control.
The control commands a trajectory, including all acceleration and jerk profiles. The drive MUST obey. If the control has no jerk control (infinite jerk), the drive still MUST attempt (and usually fail) to match that intended motion. Undershooting the position command at the drive (too low P in the velocity loop for example being one way people are familiar with) definitely creates the effect of jerk control in a single axis, but when all 3 motions are combined (g 1 x1 y 2 z 3 for example) if each axis is filtering independently you no longer have a straight line. In reality the drive tends to be tuned to overshoot as little as possible trying to tightly hold the commanded movement, which makes the effect of not having jerk controlled trajectories even more violent. Best case to aim for with a modern drive is that you are able in most motions to hold an extremely small overshoot or undershoot such that position is well within your desired tolerance for motion. To maintain adequate precision your drives filter for acceleration ramp will have to act in well under 0.0005" even on a hobby machine, which isn't doing anything to bring jerk down to a good level. Won't be infinite, but will still be extreme. This is why any high performance CNC control implements some type of jerk control in the trajectory planner and drives are "dumb". The amount of acceleration ramp distance needed on a fast machine (could be several mm or even cm) just can't be done blindly on the drives or those sections of the cut will not be accurate.
hy fish is possible to have a straigth line, when that P is not absolute, but only regarded as the upper limit; as a consequence, each axis get's it's own p<=P; or p<= a value that is not user controled <= P ( user controled value )
yup, ordinay cam has no clue ... unless real motion algorithms are there; but who needs such stuff ? obviosuly, is not the for the common programmerCAM has absolutely zero to do with trajectory planning
feed ramps are synced, while rapids may/may not beThe amount of acceleration ramp distance needed on a fast machine (could be several mm or even cm) just can't be done blindly on the drives or those sections of the cut will not be accurate.
why should it hold ? you mean like wait ?Best case to aim for with a modern drive is that you are able in most motions to hold an extremely small overshoot or undershoot such that position is well within your desired tolerance for motion
undershoot is ok, because you may correct it later, but overshoot isn't, it can not be corrected; if it is small, it may not matter, but as a concept, overshooting is not ok
take it with a bit of salt ... is possible to have tolerance for position ( like exact stop ), and tolerance for toolpath deviation, and in such a case, you can overshoot within that allowed deviation; in other words, for common stuff, there is no overshoot, while a nurbs toolpath can overshoot
mr pete i have been thinking, i also just saw a few seconds ago that image with your final machine in another thread, and i believe is needed to back off from this stage, to that one where cam has a much more impact
fancy solutions like adaptive, inertia, planing, long bufers, nurbs, etc, had to be taken out, and go back at the moment where planing inside a cam really matters
i think you allready noticed that some actual machines do not care about what the cam is doing
unfortunately, i have no experience with such machines that need good cam planning, so my answer will be a guess-type; i need to think a bit about what i will say / kindly
Ladyhawke - My Delirium, https://www.youtube.com/watch?v=X_bFO1SNRZg
I'm specifically meaning a situation where the control is sending out pulses and each drive is doing its own thing.
That's why use used G1 in my example although linuxcnc has fully coordinated rapids (including G64). I expect many new ones do as well because rapids are often used to weave in between the part and fixture. The TC225 control definitely did not coordinate anything about rapid moves.
feed ramps are synced, while rapids may/may not be
Bad wording, sorry. What I mean is you want to "tune" the servo to follow commands as precise as you can. Under or overshoot need to be small enough to not effect precision, which will make them also "jerk", if the control had no jerk control. The "amount" the drive would need to undershoot to effectively limit jerk would also affect precision. I basically mean you can't have the drive to manipulate motion commands to any significant degree..why should it hold ? you mean like wait ?
Here is a bit of fanuc's feature manual. I suppose mactec will say they have no experience either... (there is a reason most of the forum has him on ignore for the last 10 years, just sayin)
---
Advanced Acceleration Control: Acceleration is the time it takes any motion system to transition from one speed to another. Limiting factors to the maximum acceleration rate in a machine tool system come from mechanical design, load inertia and servo torque. Advanced acceleration control provides features that, within the capabilities of the mechanical system, control the shape of the acceleration curve. This is achieved through pre-calculating the acceleration curve, fine acceleration control, optimized acceleration based on contour moves and acceleration jerk control.
In any programmed contour move, no matter how well the servo system is tuned, error is induced along the acceleration curve. These advanced features work to mitigate that error by including the acceleration curve in the move calculation, and shaping the resulting acceleration profile to best fit the contour profile. In addition to increasing the precision of the move, advanced acceleration control is also directly responsible for providing smoother and faster transitions between speed changes. This will result in smoother surface finishes and shorter cycle times
(stuff about g64)
Advanced Acceleration Control: By including the acceleration and deceleration curves as part of the command rather
than the result of the servo algorithm, the program path can
be followed more closely at higher speeds.
link:
https://www.fanucamerica.com/CMSMedi...art%202_13.pdf
Hi - If a CAM system is calculating V,A and jerk, then modifying the trajectory; then its part of the trajectory planning system (eg volumill and Rosetta and others). I'm not fussed where we draw the lines to achieve smooth control. I'm interested in what's happening in the black boxes that achieve it. I have little control over the CAM side but I can try to make an encoder feedback system at hobby/DIY level. It maybe not needed but so far been fun stirring the pot about it and learning Peter
Cam calculates nothing in terms of velocity, acceleration or jerk that is relevant to the control. It certainly can *predict* what the control might do if you feed it parameters (simulate the trajectory the control *might* make) but the control still has to DO it.
Rosetta is a CNC control, and has nothing to do with CAM.
Cam draws a toolpath, nothing more. "trajectory" in CNC terms is not equal to "toolpath". a trajectory planner takes the path (gcode) and determines how to rotate motors to follow said path.
Sorry - Yes Rosetta is a machine controller. Therefore by your definition Volumill is not a CAM system? There are many steps to go from geometry to toolpath and that workflow can occur in different ways depending on how you want it done. Current functional breakdown of that workflow is a function of software and hardware and how a company sits in the commercial domain. Some companies like Fanuc and Okuma like to control it all. Some just deal with a small piece of the puzzle. Currently I'm interested in the hardware and its feedback loop to create smooth motion. This can be independent of a controller or feed back thru the controller.... Peter
hey pete let's have it your way : you have acces to a software that does "close to real machine simulation", thus uses same algorithms as the mcsHi - If a CAM system is calculating V,A and jerk, then modifying the trajector
after you export g-code, load an execute it, will the motion of the cnc be smooth ?
Ladyhawke - My Delirium, https://www.youtube.com/watch?v=X_bFO1SNRZg
Hi DK - My FE software can model the motion and inertia to provide the V,A and J of that structure given force or displacement inputs. But its sort of a chicken and egg problem. It does not use the shaping algorithms of the machine controller as these are not published. FE gives you what will happen if the inputs, structure and constraints are specified. Its not the same as gcode as gcode gets modified by the trajectory planner and machine controller to produce the actual toolpath.
Will the motion be smooth? Y + N. Y if the toolpath generated is within the machines capacity to be executed N - if the machine is compliant, under powered or too much inertia.....
if you use a cam with mcs algorithms, and there is also a virtual FE to analize motion, will it output smooth motion ?
can you trust your top tier CAM and FE, to remove the feedback loop ?
Ladyhawke - My Delirium, https://www.youtube.com/watch?v=X_bFO1SNRZg
That is an old example of something the Fanuc control can do, they changed, the way they do this a long time ago, try and understand what you are posting, most modern controls do this, it does not have to be Fanuc, even some Hobby controls Eding being one of them, your example is control tech from 2001
Mactec54
Usually CAM works in reign of model, creating a toolpath which meets CAM operations and limitely they knows axis max vel and rarely they needs to know accelerations. This because CAM are abstracted from CNC interpolator algorithms, which changes from brand and also in different models of same brand.
They uses max speed to apply a sort of smart feed when CNC do not suppprt RTCP or 4 axis feed correction depending by distance from rotating fulcrum.
Almost all create models (gcode) with straight lines, arcs or arcs made with many points, rarely they put out nurbs or bezier path flow.
Often CNC converts internally line, arcs, points sequences in nurbs curves used by interpolator (path generator, smooth resolver, look-ahead stage, jerk control, etc).
The point is that CAM can't know how a specific CNC elaborate and manage a path model..
That fanuc article is from 2012 and still considered valid methodology although the exact feature naming has changed. It is still a trajectory planning algorithm and has nothing to do with the drives.
---------
Features
Whereas the rate-of-change of velocity is referred to as Acceleration, the rate-of-change of acceleration is technically
known as Jerk. Jerk is therefore the third derivative of Position, with Acceleration the second and Velocity the first.
Wherever a part program causes a significant change in cutter-path direction, such as in a transition from a straight line
to curve, any axis acceleration that is required to maintain a constant cutter-path vector feedrate through that transition
may cause vibration or shock to be induced into the machine structure.
The Jerk Control function can be used to reduce shock and any resultant position error from sudden axis acceleration.
Jerk Control temporarily modifies the cutter-path vector feedrate by applying a smoothing effect progressively modifying
the rate-of-change of acceleration (Jerk).
Without using Jerk Control, Bell-Shaped Acceleration alone would apply a harsher, constant rate-of-change, acceleration
profile. The permissible rate-of-change of acceleration (Jerk) is set by CNC parameters for each machine axis; these
limits are usually set in advance by the machine-tool-builder. Any velocity adjustments applied by the Jerk Control
function are calculated as true positional commands and hence incur only minimal acceleration or deceleration delays
(Acc/Dec Before Interpolation).
This function is a basic function in FANUC Series 0i-MF Plus (Type 0, 1 and 3) and 0i-LF Plus.
Benefits
• Reduction of machining errors caused by shock and vibration induced into the machine structure that result of
sudden changes in axis acceleration
----------
Page 262 of their current 2020 feature catalogue (more specifically relating to jerk control COMBINED with G64 motions, but its all the same at the root. https://www.fanucamerica.com/docs/de...-catalogue.pdf
Likewise siemens who outline the same method. And Delta. And LNC. And SGZH. And Heidenhain. And DDCS. And Centroid. And Beckhoff. In fact, I have yet to find a single control that states they do anything differently besides the hobby controls which do nothing at all.... Including Eding.
Eding has no jerk control methodology, it makes no reference to anything other than constant acceleration in the manual. It is also a open loop pulse driven system with no communication with the drive - not even encoder feedback. "Make your servo settings sloppy and hope for the best" is not jerk control, it's NO control.
You need to do way better in your trolling, this is getting old. I only reply to make sure people don't take your information as some sort advice, but by now they all get it, so I'm done.
Morning All - - Here are my current thoughts on motion control. I've made a logic chart for simple and advanced control. We should have moved way past simple by now. Some of these blocks can be broken into more detail. This would include smoothing, optimisation, do we do analysis in the continuum (spline) space or the tessellated (gcode) space? etc. Should be in the spline space... Currently the workflow is divided up (CAD CAM MC servos etc) due to historic and commercial organic growth. But perhaps we are at a time when many of the motion control elements could be brought back into a single domain. These terms are flexible. We currently strive for constant chip thickness via constant velocity feeds but this still limits our MRR and cycle time due to the constant vel. Perhaps we could even have constant chipload and variable feed speed related via variable spindle speed to create constant chip load at any feed... anywho additive manufacture will replace roughing in due course then we will be concerned with finishing... Peter
and advanced could include position feedback via a laser field but I left that out. One of my clients is investigating a lidar field for siting large equipment for hard facing via robotic welding. Not a big step to take to go to laser field to check the tool is doing what it should. I have read some very very large machines do this already.
hey pete, this is adaptive your thinking is ok, but from the machine perspective, it does not know that it targets chiploadPerhaps we could even have constant chipload and variable feed speed related via variable spindle speed to create constant chip load at any feed
machine has no clue how much if it's load is caused by cutting; again, sorry for repeting my self : it could be roughing, finishig, inertia or crashing
do not corelate adaptive only with chipload; think of adaptive as the capacity of the system to output within a defined domain ( position, inertia, load, etc )
non contact : there are tool setters and micrometers that use lasersadvanced could include position feedback via a laser field
ps : be back later on those images
Ladyhawke - My Delirium, https://www.youtube.com/watch?v=X_bFO1SNRZg
Hi DK - You ask could a sophisticated CAM system replace the mechanical feedback. Yes and No. Yes if tests are done and the inertial constraints of the system are known and these are placed into the motion control system then yes. But if we are aiming at high tolerances this will not consider machine or tool deflection. So the highest precision systems will always require some sort of positional-accel and jerk feedback to take account of that.
Adaptive control these days means that the system is calculating a result, comparing that to something, then changing the input, recalculating again (may take several adaptions) until the answer falls into a satisfactory tolerance. Automotive call it active control vs passive control. There is no reason the geometric chip load can't be used as a input. Then machine vibration can be measured and use AI to tune the spindle speed vs feedrate to minimise vibration yet max MRR. A 20m long micrometer would be a bit hard to adjust in time and space....
morning pete yeees, that was a retorical question ... i wish to highlight that the feedbackloop will deliver in places where cam with/without mcs algorithm and top simulations will fail
the reason behind this, is that cam and simulation do not handle hazard of machinining enviroment
by hazard, i mean those spontanous / real world situations
feedback loop is built to handle those hazards, and, if you wish, it's data is used to train algorithms, so software is simply a trained thing, is driven, not critical
main focus is the feedback loop, obviosuly, and only a limited part of what is going on is reproduced inside software
it's analizing results from the feedback loop... after a few cycles/samplings, something should happenAdaptive control these days means that the system is calculating a result, comparing that to something, then changing the input, recalculating again (may take several adaptions) until the answer falls into a satisfactory tolerance.
please remember, machine does not know if what it sees is chipload, or crash; machine does not know that it is cutting metal it is a box with circuits ...There is no reason the geometric chip load can't be used as a input.
it's tuning itself without AI;nothing fancy; will reach that soonThen machine vibration can be measured and use AI to tune
Ladyhawke - My Delirium, https://www.youtube.com/watch?v=X_bFO1SNRZg