Trajectory Planner using Ruckig Lib
06 Oct 2024 20:04 #311435
by Lcvette
Replied by Lcvette on topic Trajectory Planner using Ruckig Lib
say it isn't so!Are you still working on the trajectory planner or has that project been shelved?
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
Less
More
- Posts: 5007
- Thank you received: 1440
07 Oct 2024 12:20 #311484
by Todd Zuercher
Replied by Todd Zuercher on topic Trajectory Planner using Ruckig Lib
The thread does seem to have drifted a bit off topic.
Please Log in or Create an account to join the conversation.
07 Oct 2024 19:06 #311513
by Grotius
Replied by Grotius on topic Trajectory Planner using Ruckig Lib
Please Log in or Create an account to join the conversation.
- ihavenofish
- Offline
- Platinum Member
Less
More
- Posts: 686
- Thank you received: 124
08 Oct 2024 18:23 #311599
by ihavenofish
Replied by ihavenofish on topic Trajectory Planner using Ruckig Lib
let the guy have a firkin vacation! Yeesh!
... is it done yet?
... is it done yet?
Please Log in or Create an account to join the conversation.
10 Oct 2024 14:32 #311732
by Grotius
Replied by Grotius on topic Trajectory Planner using Ruckig Lib
Hi all,
I moved the discussion to a new topic, as the name of this topic is obsolete.
For further discussion's please visit:
forum.linuxcnc.org/38-general-linuxcnc-q...c-trajectory-planner
I moved the discussion to a new topic, as the name of this topic is obsolete.
For further discussion's please visit:
forum.linuxcnc.org/38-general-linuxcnc-q...c-trajectory-planner
Please Log in or Create an account to join the conversation.
10 Oct 2024 21:26 #311772
by grijalvap
Replied by grijalvap on topic Trajectory Planner using Ruckig Lib
What about the socket server can you make another topic to follow up, it is interesting.
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
Less
More
- Posts: 19107
- Thank you received: 6401
10 Oct 2024 21:33 #311774
by tommylight
Please Log in or Create an account to join the conversation.
17 Oct 2024 20:25 #312427
by robh
Replied by robh on topic Trajectory Planner using Ruckig Lib
superimposed control
there are alot of multi turret and multi spindle lathes about now, old controls etc so needing some love of a new control , but to get the best from them you need run multi programs at once, superimposed if machine layout allows etc.
more so when you want to use two turrets on the main and do "pinch turning"
with super imposed you can offset pinch turn also so one tool will be slighly infront of the 2nd tool doing the finish.
you can start to do machines like this
this is superimposed control, where other axis sets must follow a master
basicly you "offset" the slave X Y Z to the master X Y Z which gives you axis following each other as you see.
yes there are macros that you call todo all this, (citizen call these sync codes) but its only setting up the system to group axis for use in each program, defind what will follow what and who and how.
the macro will also postion the machine in place for you to a setup drive on point. so the operators never see anything complex and scary to program as its been done for them interms of axis selection
you just program as if it was a normal X Z lathe.
i only have back ground on citizen machiens which have a lot of macros todo this alot of this, but have a good back ground how its basicly working things in the back ground. i think star has a different way todo things in terms of sync codes but i dont know never seen a program for one etc.
here is a video of my M20 sliding head Citizen, quick part i had to make.
here is a video of the program running
here you have 3 programs that run together using sync codes and wait codes.
these are kept in 1 file on citizens they just define each program by a $ sign for each program start $1,$2,$3 , when loaded on machine its displayed as 3 programs as seen in the video
here main slid on main spindle is working at its own speed while bottom turret is working on back end of the part in the sub spindle
once done, it waits for the main to be ready for turret to work on the main (you can use turret and main slid at the same time also, also can use the turret to say drill/bore on main and sub can drill or bore on turret also)
there are alot of multi turret and multi spindle lathes about now, old controls etc so needing some love of a new control , but to get the best from them you need run multi programs at once, superimposed if machine layout allows etc.
more so when you want to use two turrets on the main and do "pinch turning"
with super imposed you can offset pinch turn also so one tool will be slighly infront of the 2nd tool doing the finish.
you can start to do machines like this
this is superimposed control, where other axis sets must follow a master
basicly you "offset" the slave X Y Z to the master X Y Z which gives you axis following each other as you see.
yes there are macros that you call todo all this, (citizen call these sync codes) but its only setting up the system to group axis for use in each program, defind what will follow what and who and how.
the macro will also postion the machine in place for you to a setup drive on point. so the operators never see anything complex and scary to program as its been done for them interms of axis selection
you just program as if it was a normal X Z lathe.
i only have back ground on citizen machiens which have a lot of macros todo this alot of this, but have a good back ground how its basicly working things in the back ground. i think star has a different way todo things in terms of sync codes but i dont know never seen a program for one etc.
here is a video of my M20 sliding head Citizen, quick part i had to make.
here is a video of the program running
here you have 3 programs that run together using sync codes and wait codes.
these are kept in 1 file on citizens they just define each program by a $ sign for each program start $1,$2,$3 , when loaded on machine its displayed as 3 programs as seen in the video
here main slid on main spindle is working at its own speed while bottom turret is working on back end of the part in the sub spindle
once done, it waits for the main to be ready for turret to work on the main (you can use turret and main slid at the same time also, also can use the turret to say drill/bore on main and sub can drill or bore on turret also)
The following user(s) said Thank You: tommylight, Grotius
Please Log in or Create an account to join the conversation.
05 Nov 2024 18:50 - 05 Nov 2024 18:51 #313841
by Grotius
Replied by Grotius on topic Trajectory Planner using Ruckig Lib
@Robh,
superimposed control.
Rob, you inspired me. It's really fun to get this running.
Now i let it run for a few hours. Everything goes well. Mutexes are set correclty.
Here it runs a example of 3 interpreters :
- Master interpreter xyz
- Sub interpreter abc
- Sub interpreter uvw
The master interpreter is sending programs to the sub's.
There can be set a flag that master should wait for sub to complete.
Without the flag set in the gcode, the sub will just run without callback.
Altough i have still a question.
At wich point path optimisation is the best to do?
Is this outside the while loops? Outside every command like WHILE, GOTO, IF, etc.
What do you think about it?
Specs super imposed interpreter library :
Load multiple (sub)interpreter in a pool.
Every interpreter run's in it's own thread pool. (multi threading)
Variables, conditions, expressions are solved by the mu::parser library.
Support for nested while loops, if goto, and a few others. Not complete yet.
Adjustable buffer, cq queue size.
Machine callback function. Machine sends ok to recieve next gcode line.
source codeberg
superimposed control.
Rob, you inspired me. It's really fun to get this running.
Now i let it run for a few hours. Everything goes well. Mutexes are set correclty.
Here it runs a example of 3 interpreters :
- Master interpreter xyz
- Sub interpreter abc
- Sub interpreter uvw
The master interpreter is sending programs to the sub's.
There can be set a flag that master should wait for sub to complete.
Without the flag set in the gcode, the sub will just run without callback.
Altough i have still a question.
At wich point path optimisation is the best to do?
Is this outside the while loops? Outside every command like WHILE, GOTO, IF, etc.
What do you think about it?
Specs super imposed interpreter library :
Load multiple (sub)interpreter in a pool.
Every interpreter run's in it's own thread pool. (multi threading)
Variables, conditions, expressions are solved by the mu::parser library.
Support for nested while loops, if goto, and a few others. Not complete yet.
Adjustable buffer, cq queue size.
Machine callback function. Machine sends ok to recieve next gcode line.
source codeberg
Attachments:
Last edit: 05 Nov 2024 18:51 by Grotius.
Please Log in or Create an account to join the conversation.
06 Nov 2024 13:09 #313895
by Grotius
Replied by Grotius on topic Trajectory Planner using Ruckig Lib
Hi Robh,
I was reviewing the video and saw something was not ok in the output.
Here is a revised video.
It shows clearly the waitcomplete cycle at the abc interpreter.
And shows the internal updated variable list, wich is interesting to evaluate.
readme how it works
Your comments about path offset given a value, is interesting.
To work with multiple tools on the same path, given a offset.
Have to think about how to achieve this.
The idea so far is to use the super imposed interpreter as a front end solution.
Wich now simplyfies the source code drasticly.
Path planning, etc. is then done by the machine controller itself.
Then for a path offset, we could pass a gcode or mcode from the super imposed interpreter to
the machine controllers, telling it to one controller stay behind the tp given a offset.
When working with multiple tools on the same path, a collision detection in the form of boundary boxes
is no prohibited luxury.
Greetings.
I was reviewing the video and saw something was not ok in the output.
Here is a revised video.
It shows clearly the waitcomplete cycle at the abc interpreter.
And shows the internal updated variable list, wich is interesting to evaluate.
readme how it works
Your comments about path offset given a value, is interesting.
To work with multiple tools on the same path, given a offset.
Have to think about how to achieve this.
The idea so far is to use the super imposed interpreter as a front end solution.
Wich now simplyfies the source code drasticly.
Path planning, etc. is then done by the machine controller itself.
Then for a path offset, we could pass a gcode or mcode from the super imposed interpreter to
the machine controllers, telling it to one controller stay behind the tp given a offset.
When working with multiple tools on the same path, a collision detection in the form of boundary boxes
is no prohibited luxury.
Greetings.
Please Log in or Create an account to join the conversation.
Time to create page: 0.200 seconds