Trajectory Planner using Ruckig Lib

More
2 years 4 months ago #302437 by Aciera
Replied by Aciera on topic Trajectory Planner using Ruckig Lib

2) We need to figure out how to solve the problem of mixing linear and rotary axes at the same time - this is a big problem with the current planner - it does not do smoothing when connecting any rotary axis, and this problem does not allow working with rotary axes at sufficient speed. A solution to this problem has been requested by all A/BC axle users for many years...

I think that this would require blending tool position and tool orientation separately with deviation constraints defined for each.
 
The following user(s) said Thank You: Grotius

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

More
2 years 4 months ago #302440 by Grotius
Replied by Grotius on topic Trajectory Planner using Ruckig Lib
@Andrew,

Here is the scurve doing 100 segments:
Code:
// Example auto mode. double dist=1*25.4; maxvel=100*25.4; maxacc=50*25.4; maxjer=20*25.4; double a=0, b=0; int nr=0; for(uint i=0; i<100; i++){     sc_segment seg;     seg.pnt_s={a,0,0};     seg.pnt_e={a+dist,0,0};     seg.vo=0;     seg.ve=0;     seg.primitive_id=sc_primitive_id::sc_line;     seg.type=sc_motion_type::sc_linear;     seg.gcode_line_nr=nr;     seg.path_lenght=dist; //lenght(seg.pnt_s,seg.pnt_e);     vector_add_segment_c(ptr,seg);     vector_at_id_set_tarpositions_c(ptr);     a+=dist;     nr++; }
The following user(s) said Thank You: Aciera

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

More
2 years 4 months ago #302441 by TheRoslyak
Replied by TheRoslyak on topic Trajectory Planner using Ruckig Lib

Essentially, I need to implement Pick and Place movements with conveyor tracking. I spent all day yesterday trying to install MoveIt2, but ultimately without success. ROS2 also needs to be installed, and I haven't managed to install any version of it either. I don't know where the problem lies. GPT suggested installing it in a Docker container, but that's not an option for me. If anyone has experience installing ROS2+MoveIt2 on Debian 12, I would love to hear about it.

I then tried to install Tesseract Planning, but it was not very successful either. One repository is broken or something like that. Ultimately, OMLP installed without any issues. It installed and compiled without major problems. The test program with Task thread Hal doesn't give any errors or latency warnings. However, the functionality and applicability are still unknown. Perhaps other libraries would be more suitable, but installing them has proven to be difficult.

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

More
2 years 4 months ago #302442 by Aciera
Replied by Aciera on topic Trajectory Planner using Ruckig Lib
Seems to me that this motion comes to a full stop at the end of every segment. Wouldn't we want all these short segments to be blended into a single acceleration phase in the first few segments then a constant velocity over most of the following segments and a deceleration phase over the last few segments?

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

More
2 years 4 months ago #302447 by Grotius
Replied by Grotius on topic Trajectory Planner using Ruckig Lib
Hi hmnijp,

Thanks for your mayor contribution again.

comparing code execution time with the old planner and other cnc
Yes this we can add on the todo list.

it is obvious that S-curves are slower on a trajectory with sharp corners.
This is just for info, in theory the scurve should use at least the same time as a trapezium curve.
 

I can share a test G-code similar to the one used in real work, which I used to adjust the PQ parameters of the post processor.
I found the P value, but the Q value, i still not found.

We need to figure out how to solve the problem of mixing linear and rotary axes at the same time.
This entiry abc uvw external axis section has to be coded in a proper way it will work out the different solutions.
Like in a science paper we must have a function flow paper. That walks it's way to the solution and is
reviewed by multiple people.

3) The linuxcnc interpreter has support for interpolation G5 Cubic Spline, G5.1 Quadratic Spline, G5.2 G5.3 NURBS Block -
Yes, in the past i have tried this.
If the planner has good smoothing algo's, maybe just let the planner do the work.

@Arciera,
When using 5 axis machine gcode.
The trajectory planner does the path blending offline now.

This is really nice! You can see the blended path before program start.

So when runnig the program online it's just following the blended path.
In theory it's not blending anymore, just following a blended path.

** A new development would be to update the blended gcode in the gcode viewer.
Adding the tri_clothoids or other exotics within the gcode.
This would simplify the trajectory planners execution, restart, pause etc.

Then the tool position xyz and tool orientation abc are just following the exact blended
path coordinates. Then synchronized motion xyz abc uvw is done by a function derived from
a function flow science paper.

Or do you think something else is better?

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

More
2 years 4 months ago #302448 by Grotius
Replied by Grotius on topic Trajectory Planner using Ruckig Lib
@Rosalyk,

If you don't need gcode, you can just use ruckig or any other scurve lib.

Ruckig works excellent if you dont need velocity ends, acceleration ends, don't need waypoints.
Then if you need to get a to position xyz, then interpolate the scurve over a 3d line.

Where lies your problem?


 

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

Time to create page: 0.164 seconds
Powered by Kunena Forum