linuxcnc trajectory planner

More
2 years 3 weeks ago #311826 by ihavenofish
Yay!
Take you time...











... Is it done yet?
The following user(s) said Thank You: Grotius

Please Log in or Create an account to join the conversation.

More
2 years 2 weeks ago #311859 by Grotius
Replied by Grotius on topic linuxcnc trajectory planner
Hi,

Hurray!! \o/  great news to see this in motion once more! so excited!
image missing /media/kunena/emoticons/smile.png
Take you time...
... Is it done yet?
image missing /media/kunena/emoticons/whistling.png

Did some coding today.

Now at the point, the gcode file loads into a vector.
Then it calls the optimizer to optimize the path respecting the gcode G64 P.. & Q.. values.

For the Q value, this is interpreted for removing tiny segments.
For the P value, this is interpreted for path deviation.

For creating the fillets, i will use 3d splines. As the clothoid lib is currently only 2d.

This code is running in the motmod.so, motion control component.
This is not involving the tpmod.so trajectory planners code so far,
the original trajectory planner is still running and functional now.

repository link
vector
optimizer
The following user(s) said Thank You: akb1212, tommylight, pommen, Aciera, Darium, Unlogic

Please Log in or Create an account to join the conversation.

More
2 years 2 weeks ago #311902 by Grotius
Replied by Grotius on topic linuxcnc trajectory planner
Hi,

Now given the G64 P.. Q.. value's for a gcode line, this is hiding : emcmotInternal->coord_tp.execTag.fields_float[3 & 4];
This can differ along the file. As the file may have multiple of these commands using different values.

1. The motmod.so (motion controller) component loads the file into a vector.
2. It initializes the lines & arc's inside the vector, just as the tpmod.so does written by Rob Ellenberg. Same struct's are used.
3. It trim's the segments given the G64 P.. value for that gcode line. The trim logic is there to produce a nice trim if it can.
4. Interpolation for arc's is used from original lcnc functions. and tested ok.
5. Interpolation for line's i added a new function wich make more sence.

The picture is a print result after loading the entire gcode, simulating a 5 second delay,
and after trimming is done to connect the spline fillets later on.
 

Next step is to add the spline fillets. But not too fast now.
First create the G64 Q.. (naive cam)  filter function. We want to filter out tiny segments first.

How important is rigid tapping for the planner?
The following user(s) said Thank You: akb1212, Aciera, tiagounderground

Please Log in or Create an account to join the conversation.

More
2 years 2 weeks ago #311905 by tiagounderground
At this stage scurve algorithm is already working?

Please Log in or Create an account to join the conversation.

More
2 years 2 weeks ago - 2 years 2 weeks ago #311929 by Aciera
Replied by Aciera on topic linuxcnc trajectory planner

How important is rigid tapping for the planner?

Certainly an important function (at least on some machines) but likely does not need optimization. Problem might be that the end position is not known before it is actually executed (I think).

[edit]
It might be a good idea to exclude the difficult cases for now. There are likely others, like where the gcode execution depends on input during runtime (eg where probing is run during gcode execution).
Last edit: 2 years 2 weeks ago by Aciera.
The following user(s) said Thank You: Grotius

Please Log in or Create an account to join the conversation.

More
2 years 2 weeks ago #311936 by juliankoenig87
While probing its also important to have predictable decceleration distances. Otherwise it is not easy to implement safety functions.

Im not sure where to place my thoughts. So maybe its wrong in this thread.

Best regards
Julian
The following user(s) said Thank You: Grotius

Please Log in or Create an account to join the conversation.

Time to create page: 0.419 seconds
Powered by Kunena Forum