Trajectory Planner using Ruckig Lib

More
2 years 2 months ago #307313 by vmihalca
Replied by vmihalca on topic Trajectory Planner using Ruckig Lib
Your maths knowledge is light years away from mine. Yesterday evening I was looking at YT videos about splines, with complex equations that are giving my brain stack overflow. You not only that you understood those, but you translated them to code and algorithms...That's a lot!

I pulled the OpenCN code back then and tried to run it but I had no ethercat hardware so it was just simulated.

I don't know how they have handled your challenges on getting the optimal velocity profile for a trajectory. I was in contact with them and I could get you in contact with them.
I know I was reading a while ago that the solution for having jerk control in linuxcnc was to use some sort of mathlab algortithm to do some complex calculations, but there was a licensing problem between linuxcnc and mathlab. Since the guys from OpenCN have behind an university, they had the mathlab with an expensive license on which they were able to generate that c/c++ algorithm.

I might be talking BS, but this is what I understood at that time. Clearly you are way more aware of the limitations than I am.

I could be efficient with the controller part and I would love to do that, but first I need a solid foundation to build upon.
The following user(s) said Thank You: Lcvette

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

More
2 years 2 months ago - 2 years 2 months ago #307315 by vmihalca
Replied by vmihalca on topic Trajectory Planner using Ruckig Lib

If you build that machine gui, and you choose a server type, like lcnc uses nml.

Then you can also connect it to everything.
Halcore can run a server of any type. It's just adding a server and make the connections.

My initial controller app for my lathe was written in kotlin multiplatform. 
Starting from a java project called JCNC Screen, I've build the JNI layer to talk nml with linuxcnc then build the rest of the UI on top of that with.
I abandoned that project for now because linuxcnc has an internal interpreter and an external interpreter. I was using the external one to get the cannonical motions, but the external one does not quite match the internal one. So I might end up drawing things that are not what the machine will do in the reality. I found this issue very problematic and this is where I bumped into how spagetti linuxcnc codebase is. 
I would love to revive this project, but as I said, I need a good foundation and I was hoping OpenCN to be just that, but without spindle sync, I would make my lathe not functional. And unfortunately, I don't have the knowledge (yet) or time to learn and do it myself.
Last edit: 2 years 2 months ago by vmihalca.
The following user(s) said Thank You: Lcvette

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

More
2 years 2 months ago #307324 by rodw
Replied by rodw on topic Trajectory Planner using Ruckig Lib

I know I was reading a while ago that the solution for having jerk control in linuxcnc was to use some sort of mathlab algortithm to do some complex calculations, but there was a licensing problem between linuxcnc and mathlab. Since the guys from OpenCN have behind an university, they had the mathlab with an expensive license on which they were able to generate that c/c++ algorithm.
 
I'm not convinced there was really a licensing problem when I reviewed OpenCN but I can't remember the detail.
The university is obligated to release the code as open source. I could not see where Mathlab's rights were infringed if the Universities code was actually used! Anyway, we can just wait for Grotius now! :) What I find amazing is that he has taught himself how to Code in C as well as mastering the maths!
The following user(s) said Thank You: akb1212, Grotius

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

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

You maybe used the sai as "external interpreter", this sai i made some modifications, like read current plane, etc.
I had the same issue. Not reading in as should. But now it worked quite nice.

As an example original lcnc sai code for arc feed :
saicanon.cc

And edited code :
saicanon.cc

As a result i edited code in the sai to get it functional in different planes, retrieve more info etc.
I could draw the most of lcnc gcode files, also the 3d test file with circles in different planes.

Here you see how i startup the sai, read info and close it when gcode file is done.
This worked good. I had no issue's anymore. But it took a while to get everything done.
interpreter.cpp

but without spindle sync, I would make my lathe not functional.
Depending on your current distance from the centerline of your lathe, the spindle speed is adjusted.
This could be done by a component. Or is it more complex?
The following user(s) said Thank You: akb1212

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

More
2 years 2 months ago #307330 by Grotius
Replied by Grotius on topic Trajectory Planner using Ruckig Lib
Hi Rod,

Thanks for your kind words! But the math at a certain level is still a problem.
I am still unable to read for example the clothoid science papers and turn them into code.

Beef is now doing his master degree. I asked him, should i go to college and get a phd ?
He said something back like, your level is already equal to phd. But i don't feel like that.
The following user(s) said Thank You: akb1212, rodw

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

More
2 years 2 months ago #307332 by vmihalca
Replied by vmihalca on topic Trajectory Planner using Ruckig Lib

I'm not convinced there was really a licensing problem when I reviewed OpenCN but I can't remember the detail.

Perhaps I explained wrong, from what I understood, we needed mathlab to properly solve jerk in linuxcnc, but mathlab was needed for that and we did not had the license. 
They had it and they applied it on their solution.
The following user(s) said Thank You: akb1212

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

Time to create page: 7.972 seconds
Powered by Kunena Forum