Strange Trajectory Planner behaviour
Posted: Tue Mar 02, 2021 7:00 pm
Dear Tom,
I post again to share a strange behaviour I noticed with TP.
I am currently developing a fairly fast machine and while testing some path generated by our software for Trochoidal milling (fast feed discrete arcs), I experienced a lot noise and jerky motion. I made a long test session and I report only the relevant results I found.
I use the latest 4.35f version (but since 4.35b the issue is the same).
I also disabled any smoothing via KLP to make things clearer.
I created a small test program with a simple half circle (via G3) and the a small spiral arc made with discrete segments. the segments where created by our SW according to a maximum cordal deviation from theoretical curve of 0.01mm.
When I execute the code the machine behaves differently when perfoming the arc (very smooth) and the discrete curve (very jerky).
as parameter of the TP I use: Break Angle 30.0, facet angle 0.5/1.0 (small differences), Corner tolerance 0.01mm, collinear 0.0, arcstosegs=false.
I went deeply into trajectory analysis and it seems to me perfectly tessellated: TP creates small arcs between segments consuming all the half segments (that is what i expect because we discretized with 0.01 chordal error and TP has the same tolerance for rounding): the result is a fairly rounded spiral arc. The issue is the velocity commanded along the spiral: with those parameters is strangely different from the similar arc in G3.
Even more strange if I modify CT to 0.005mm. The trajectoy still appears good (this time it consumes about 1/4 of each segment in rounding each corner) but the velocity has jumps that makes the motion a mess.
Consider Gcode has a feed of 5700mm/min and the max velocity is 200mm/s (12000mm/min) with max acceloeration of 1000mm/s2 for alla axes.
Please see velocity plots attached relative to X axis velocity with CT 0.005 and 0.01 mm; Velocity is axes "last_vel" field.
I also attach Gcode that generated the plots (M102 and M103 are acquisition start/stop programs)
Looking at the plots is quite evident the difference between the first G3 part and the subsequent discrete curve.
It is quite evident that the TP is doing perfectly well with geometry, but it seems to mess something with Feedrates of created segments.
Do I make something wrong?
Thank you
Best regards
Giancarlo
I post again to share a strange behaviour I noticed with TP.
I am currently developing a fairly fast machine and while testing some path generated by our software for Trochoidal milling (fast feed discrete arcs), I experienced a lot noise and jerky motion. I made a long test session and I report only the relevant results I found.
I use the latest 4.35f version (but since 4.35b the issue is the same).
I also disabled any smoothing via KLP to make things clearer.
I created a small test program with a simple half circle (via G3) and the a small spiral arc made with discrete segments. the segments where created by our SW according to a maximum cordal deviation from theoretical curve of 0.01mm.
When I execute the code the machine behaves differently when perfoming the arc (very smooth) and the discrete curve (very jerky).
as parameter of the TP I use: Break Angle 30.0, facet angle 0.5/1.0 (small differences), Corner tolerance 0.01mm, collinear 0.0, arcstosegs=false.
I went deeply into trajectory analysis and it seems to me perfectly tessellated: TP creates small arcs between segments consuming all the half segments (that is what i expect because we discretized with 0.01 chordal error and TP has the same tolerance for rounding): the result is a fairly rounded spiral arc. The issue is the velocity commanded along the spiral: with those parameters is strangely different from the similar arc in G3.
Even more strange if I modify CT to 0.005mm. The trajectoy still appears good (this time it consumes about 1/4 of each segment in rounding each corner) but the velocity has jumps that makes the motion a mess.
Consider Gcode has a feed of 5700mm/min and the max velocity is 200mm/s (12000mm/min) with max acceloeration of 1000mm/s2 for alla axes.
Please see velocity plots attached relative to X axis velocity with CT 0.005 and 0.01 mm; Velocity is axes "last_vel" field.
I also attach Gcode that generated the plots (M102 and M103 are acquisition start/stop programs)
Looking at the plots is quite evident the difference between the first G3 part and the subsequent discrete curve.
It is quite evident that the TP is doing perfectly well with geometry, but it seems to mess something with Feedrates of created segments.
Do I make something wrong?
Thank you
Best regards
Giancarlo