[Home]NewTrajectoryControl

LinuxCNCKnowledgeBase | RecentChanges | PageIndex | Preferences | LinuxCNC.org

Difference (from prior major revision) (no other diffs)

Changed: 3c3
With the work of Robert Ellenberg Look ahead has been greatly improved. Originally the TP could only look 1 segment ahead. This worked well for most machining operations - but large gcode programs made up of short line/arc segments run poorly at higher speeds. This page is comparing Linuxcnc's current TP (on segment look ahead) with the new TP (Robs work) and also some other machine controls.
With the work of Robert Ellenberg look-ahead has been greatly improved. Originally the TP could only look 1 segment ahead. This worked well for most machining operations - but large gcode programs made up of short line/arc segments ran poorly at higher speeds. This page is comparing Linuxcnc's current TP (on segment look ahead) with the new TP (Robs work) and also some other machine controls.

Changed: 66c66
This is the current TP strait G64. Notice the horizontal divisions. It had to be set to 1sec/div to fit the whole program
This is the current TP straight G64. Notice the horizontal divisions. It had to be set to 1sec/div to fit the whole program

Changed: 70c70
This is the New TP strait G64. Now set to 500msec/div (that is twice as fast...)
This is the New TP straight G64. Now set to 500msec/div (that is twice as fast...)

Changed: 90c90
Now this is mach running the path with strait G64. It seems to run it quite a bit faster. (about 400ms faster) but you can also see that it violates the acceleration constraints >40in/s^2 and approaching 50in/sec^2
Now this is mach running the path with straight G64. It seems to run it quite a bit faster. (about 400ms faster) but you can also see that it violates the acceleration constraints >40in/s^2 and approaching 50in/sec^2

Changed: 94c94
Mach actual path for strait G64 (actually - all mach has is G64 as far as I can tell - if you want to adjust path following - it is done in the machine config. (not adjustable by gcode))
Mach actual path for straight G64 (actually - all Mach has is G64 as far as I can tell - if you want to adjust path following - it is done in the machine config. (not adjustable by gcode))

Changed: 100c100
Now - I modified the config setting in mach 'CV Dist Tolerance_____Units' to get it to follow the path as close as linuxcnc does with P.1Q.1.. A setting of .5 (what ever that means) seems to be closer deviation wise. (this is comparing apples to oranges I know)
Now - I modified the config setting in Mach 'CV Dist Tolerance_____Units' to get it to follow the path as close as linuxcnc does with P.1Q.1.. A setting of .5 (whatever that means) seems to be closer deviation wise. (this is comparing apples to oranges, I know)

Changed: 107c107
This is machs following of path with the above 'CV Dist Tolerance_____Units' set to .5
This is Mach's following of path with the above 'CV Dist Tolerance_____Units' set to .5

Changed: 118c118
Here is another screenshot of mach running a profile flat out with G64. (again the graph in the background is .5mm squares)
Here is another screenshot of Mach running a profile flat out with G64. (again the graph in the background is .5mm squares)

This is an extension of this page TrajectoryControl

With the work of Robert Ellenberg look-ahead has been greatly improved. Originally the TP could only look 1 segment ahead. This worked well for most machining operations - but large gcode programs made up of short line/arc segments ran poorly at higher speeds. This page is comparing Linuxcnc's current TP (on segment look ahead) with the new TP (Robs work) and also some other machine controls.

The new TP allows you to set the number of segments it looks ahead. Most of the testing here had the TP set to 50 segment look ahead. Here is a great ongoing thread that shows how to test the new TP.

[New TP thread]

Couple notes. There are some design changes at this time with the new TP.

 exact stops between G0 and Feed moves (and vice versa..)
 In G64 - P and Q needs to be explicitly entered.  (in the current TP if you don't have a Q then Q=P.)

Most testing on this page have done have been with a config setup with 500ipm and 30in/s^2.

Lets start with a simple program here.

%
(1" square with 1/4"r corners)
G90 G54 G20
G64
G0 X0 Y.25 Z.25
z0
G1 Y.75 F999
G2 X.25 Y1 I.25
G1 X.75
G2 X1 Y.75 J-.25
G1 Y.25
G2 X.75 Y0 I-.25
G1 X.25
G2 X0 Y.25 J.25
G0z.25
M30

This is what it looks like.

upload:BoxTP.png

Here is the Current TP velocity plot.

upload:BoxCurTp.png

Here is the New TP velocity plot. (notice the exact stops at the GO transitions)

upload:BoxNewTP.png

Here is an actual logging of the step/dir signals though a mesa 7i80 board. (linuxcnc)

upload:BoxNewTPLog.png

Here is a actual logging of Mach's step/dir signals. I have noticed mach seems to violate the set acceleration.. 40+in/s^2 (mach seems to exact stop at the begining - not the end of G0 transitions.)

upload:BoxMach3log.png

This is an other profile. Here is the program upload:kafa5.ngc

upload:Profile.png

This is the current TP straight G64. Notice the horizontal divisions. It had to be set to 1sec/div to fit the whole program

upload:ProfileCurrTPG64.png

This is the New TP straight G64. Now set to 500msec/div (that is twice as fast...)

upload:ProfileNewTPG64.png

This is the current TP with G64P.1Q.1 (metric)

upload:ProfilecurrTPG64PQ.png

This is the new TP with G64P.1Q.1 (metric)

upload:ProfileNewTPG64PQ.png

This is the above profile logged through the step/dir

upload:ProfileNewTPG64PQlog.png

Now trying not to be too confusing - but the next screenshot is the above path - just scoped at 200ms/div... This follows the path pretty closely.

upload:Screenshot%20from%202014-02-23%2022_01_07.png

Now this is mach running the path with straight G64. It seems to run it quite a bit faster. (about 400ms faster) but you can also see that it violates the acceleration constraints >40in/s^2 and approaching 50in/sec^2

upload:Screenshot%20from%202014-02-23%2021_49_44.png

Mach actual path for straight G64 (actually - all Mach has is G64 as far as I can tell - if you want to adjust path following - it is done in the machine config. (not adjustable by gcode)) The squares are .5mm

upload:ProfileMachRightG64.png upload:ProfileMachLeftG64.png

Now - I modified the config setting in Mach 'CV Dist Tolerance_____Units' to get it to follow the path as close as linuxcnc does with P.1Q.1.. A setting of .5 (whatever that means) seems to be closer deviation wise. (this is comparing apples to oranges, I know)

The path time is then similar to linuxcnc (again - just a bit faster) but still violating constraints by quite a bit.

upload:Screenshot%20from%202014-02-23%2021_54_43.png

This is Mach's following of path with the above 'CV Dist Tolerance_____Units' set to .5

upload:Screenshot%20from%202014-02-23%2021_52_47.png upload:Screenshot%20from%202014-02-23%2021_52_55.png

Here is Linuxcnc's path following with P.1Q.1

upload:Screenshot%20from%202014-02-24%2000_40_11.png upload:Screenshot%20from%202014-02-24%2000_39_57.png

Here is another screenshot of Mach running a profile flat out with G64. (again the graph in the background is .5mm squares)

upload:Screenshotmach.png


LinuxCNCKnowledgeBase | RecentChanges | PageIndex | Preferences | LinuxCNC.org
This page is read-only. Follow the BasicSteps to edit pages. | View other revisions
Last edited March 14, 2014 6:59 am by KimK (diff)
Search:
Published under a Creative Commons License