Trajectory Planner using Ruckig Lib

More
25 Nov 2023 19:52 #286491 by Joco
Interesting you have ended up with a runner for each dof. Since the UI update i had been looking into the single ruckig in relation to multiple axis and considering a real world example (my plasma table) and how it could deal with the different limitations that exist.

I had come to the conclusion that a single ruckig instance could not adequately cope with the realities of, in this example, my machine. I need to have different jerk and acceleration values honoured by axis. This due to the differences in motor strengths on Z, different construction strengths between X and Y and thus different points where excessive flex and harmonics appear.

Intuitively I think having the multiple ruckig runners is where we need to be.

I will, when get time after rebuilding my table, dig into the recent approach.  It could well be leveraging the existing TP with ruckig runners informing/adjusting the accelerations and velocities might be the way.  

great work.

cheers - J. 
The following user(s) said Thank You: Grotius

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

More
27 Nov 2023 09:08 #286610 by Grotius
Hi Joco,

Good luck with your machine.

Indeed the xyz ruckig back-end runners ensure at least a valid motor output with no velocity jumps.

I still believe in our own trajectory planner, I think we have to add blending to it first.
Then we could use the G64 P0.01.

So i started writing a blending function, 3d blending wich works now for line-line blending. Arc-line blending still todo.

Attachments:
The following user(s) said Thank You: akb1212, tommylight, rodw, Unlogic

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

More
27 Nov 2023 20:07 #286635 by Grotius
Hi,

I added fillets for arc's and line's. But still work todo. It's not easy.

One problem is when you have a arc and a line in different planes. I don't know how to create a 3d fillet then.

So far the fillets look amazing.
 
Attachments:
The following user(s) said Thank You: akb1212, tommylight, tivoi, smc.collins, Alexandrion, Mecanix

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

More
28 Nov 2023 01:18 #286648 by ihavenofish
How does a fillet work when like segments are 0.001" long?
Some programs like fusion already have fillets built in to path generation, but they go bonkers on micro segments.

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

More
28 Nov 2023 12:01 #286697 by aleksamc
May I ask one small question in your topic?

I had one problem with A axis (or any other, that not belong to XYZ).
I generated G-codes in ArtCam (it generates a lot of small pieces with length of movement 0.1mm). When I did such code for A-axis (rotary) I received very slow movement. Solution of that was to rename A to X, as example.

Does your trajectory planner could solve this problem?

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

More
28 Nov 2023 16:18 #286707 by TheRoslyak
In globally, this is not a problem of the trajectory planner. It's about the settings of the postprocessor + machine program + the trajectory generation algorithm in the program. Most likely, you need to tick the boxes so that circular and spiral interpolations are not generated into small segments but execute a full frame. Perhaps this also needs to be specified in the postprocessor if you don't have the proper instructions for generating circular and spiral splines.

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

More
28 Nov 2023 20:40 #286726 by Joco
scurve branch has now been synchronised with Grotius's latest works and proven to compile/run using the build_make and build_cmake script sequence from the cmake directory.

This means no need to setup for OCC compile dependencies.

Cheers - J.
The following user(s) said Thank You: Grotius

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

More
28 Nov 2023 21:08 - 28 Nov 2023 21:09 #286729 by aleksamc
Currently, it's only for art models - there is no circles and other similar forms. Such g-code could be only parted with small lines.But thanks.
Last edit: 28 Nov 2023 21:09 by aleksamc.

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

More
28 Nov 2023 23:48 #286739 by ihavenofish
Modern cad spits out micro segments. A modern machine needs to keep up. Linuxcnc actually does mostly keep up, but without jerk control it can be a rattling experience. G64 mode does smooth over 90% of the moves automatically. The last 10% is what I am hoping will eventually get worked out here.

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

More
29 Nov 2023 00:05 #286742 by Mecanix

Modern cad spits out micro segments. A modern machine needs to keep up.

True. The CAM I use for 3d contours is all linear output and constrained within "in-tolerance" & "out-tolerance". Can easily put up a beefy half-a-million blocks for a 5-10min machining operation (eg. mold surfacing). I wouldn't expect this to run on Lcnc without an ultra-fast smoothing algo the like of CYCLE832 (Sinumerik).

This project/thread seems the way to go. 

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

Time to create page: 0.274 seconds
Powered by Kunena Forum