Trajectory Planner using Ruckig Lib
30 Nov 2023 20:36 #286903
by Grotius
Replied by Grotius on topic Trajectory Planner using Ruckig Lib
Hi Joco,
Oke thanks for your efforts again. If it won't work we will soon revert to another scurve component soon.
For a few day's now i am coding a 3d fillet libary. The status is that line-line fillets are working.
The line-arc fillets are almost working, see picture.
I had tried the opencascade fillet functions, but 1% off fillet requests will fail. So i spend 2 days on it, and had to move on.
Then i coded a new functions from scratch again,.
Every line-arc fillet has to be coded in 3d. Then things take some time. But we will do this.
The spheres are for controlling what i coded is ok.
Oke thanks for your efforts again. If it won't work we will soon revert to another scurve component soon.
For a few day's now i am coding a 3d fillet libary. The status is that line-line fillets are working.
The line-arc fillets are almost working, see picture.
I had tried the opencascade fillet functions, but 1% off fillet requests will fail. So i spend 2 days on it, and had to move on.
Then i coded a new functions from scratch again,.
Every line-arc fillet has to be coded in 3d. Then things take some time. But we will do this.
The spheres are for controlling what i coded is ok.
Attachments:
The following user(s) said Thank You: Joco
Please Log in or Create an account to join the conversation.
30 Nov 2023 21:26 #286907
by Joco
Replied by Joco on topic Trajectory Planner using Ruckig Lib
All good. We do need to bottom out that ferror business. If its a quirk of this specific version then that would be a win. Looking forward to the next iteration.
Cheers - J.
Cheers - J.
Please Log in or Create an account to join the conversation.
30 Nov 2023 23:47 #286917
by rmu
here is another complete AI generated C++ kernel module example joke: codepal.ai/code-generator/query/F52Ghwzg/c-kernel-driver
I know how to insert kernel modules, no need to point that out. A single hint to the place in your CMAKE files where you enable / configure / build for RTAI and compile the c++ stuff would suffice. or some pointer in your source how you manage to put libruckig (btw, ruckig uses exceptions!) into kernel mode. No c++ init found here github.com/grotius-cnc/linuxcnc/blob/33b...c/emc/tp/tpmod.c#L22 nor anywhere else. I only find the userspace stuff, but probably I'm not looking in the right place.
You are building for and running a userspace system on rt preempt. I don't know why you insist on that C++ kernel stuff. If that was possible, there would be no reason for the C interfaces in linuxcnc AT ALL and complex drivers (hostmot etc) could (and would) be written in C++. In the end it probably doesn't matter anyways because "nobody" is running RTAI and all kernel-mode realtime interfaces will become obsolete rather soonish. Be that as it may...
Much has been written about geometry, continuity, blablabla and that arc<->line transition geometry involves infinite jerk at the transition blablabla, I won't repeat more of that. You will need "fillets" of a different kind if you want jerk limited transitions, something like those quintic polynomials that openCN is using or something similar. Ruckig won't do that for you.
Ultimately it's your time to spend and your definition of fun. godspeed. I will check back in the new year.
Replied by rmu on topic Trajectory Planner using Ruckig Lib
is this a joke? That chatgpt quote is a hallucination - that parrot has no idea what it is saying. And it misses some big points, like "c++ runtime system" (static object initialization), dynamic memory (stl::vector uses new and needs malloc, not possible in kernel, allocating kernel memory in a realtime thread while on deadline can be disastrous) and a few other points (8K stack limit?).@Rmu,
here is another complete AI generated C++ kernel module example joke: codepal.ai/code-generator/query/F52Ghwzg/c-kernel-driver
I know how to insert kernel modules, no need to point that out. A single hint to the place in your CMAKE files where you enable / configure / build for RTAI and compile the c++ stuff would suffice. or some pointer in your source how you manage to put libruckig (btw, ruckig uses exceptions!) into kernel mode. No c++ init found here github.com/grotius-cnc/linuxcnc/blob/33b...c/emc/tp/tpmod.c#L22 nor anywhere else. I only find the userspace stuff, but probably I'm not looking in the right place.
You are building for and running a userspace system on rt preempt. I don't know why you insist on that C++ kernel stuff. If that was possible, there would be no reason for the C interfaces in linuxcnc AT ALL and complex drivers (hostmot etc) could (and would) be written in C++. In the end it probably doesn't matter anyways because "nobody" is running RTAI and all kernel-mode realtime interfaces will become obsolete rather soonish. Be that as it may...
Much has been written about geometry, continuity, blablabla and that arc<->line transition geometry involves infinite jerk at the transition blablabla, I won't repeat more of that. You will need "fillets" of a different kind if you want jerk limited transitions, something like those quintic polynomials that openCN is using or something similar. Ruckig won't do that for you.
Ultimately it's your time to spend and your definition of fun. godspeed. I will check back in the new year.
The following user(s) said Thank You: dm17ry
Please Log in or Create an account to join the conversation.
02 Dec 2023 10:38 #287012
by Grotius
Replied by Grotius on topic Trajectory Planner using Ruckig Lib
@Joco,
For the following error, i just loaded the project in qt, and searched for "ferror" then at this line it's set.
If you outcomment that line like: // SET_JOINT_FERROR_FLAG(joint, 1);
and recompile i think no following error any more. This then for you to test the
component without triggering the ferror.
For the following error, i just loaded the project in qt, and searched for "ferror" then at this line it's set.
If you outcomment that line like: // SET_JOINT_FERROR_FLAG(joint, 1);
and recompile i think no following error any more. This then for you to test the
component without triggering the ferror.
The following user(s) said Thank You: Beef
Please Log in or Create an account to join the conversation.
- ihavenofish
- Offline
- Platinum Member
Less
More
- Posts: 675
- Thank you received: 116
02 Dec 2023 12:46 #287019
by ihavenofish
Replied by ihavenofish on topic Trajectory Planner using Ruckig Lib
Ferror on a stepper system is because the system cannot provide the steps requested. It could be asking for too high an acceleration at some point on the curve. Try increasing the stepgen max velocity and acceleration to give the system more headroom. Put max stepgen acceleration 2-3x the actual axis acceleration. It could also be limited by stepper timing, which might require lowering your speeds a little.
I just had some issue with this on my system for a different reason. I had to turn down stepper timing to catch missed steps, but then it would run out of steps for my rapid speeds. In my case I was just turned down the rapids a little.
I just had some issue with this on my system for a different reason. I had to turn down stepper timing to catch missed steps, but then it would run out of steps for my rapid speeds. In my case I was just turned down the rapids a little.
Please Log in or Create an account to join the conversation.
03 Dec 2023 03:40 #287063
by Joco
Replied by Joco on topic Trajectory Planner using Ruckig Lib
This will be a bit short/terse as doing from mobile phone. I’m currently IP locked out of the forums.
1. Not very keen to disable follow error as being in a gantry machine if the Y joints get too out of sync it could bend stuff.
2. re accelerations too high. I struggle with that explanation as using the exact same max acceleration settings with standard tpmod I have no issues. Plus with reference to my tpmod experience It also implies the ruckig or something is ignoring max acceleration settings. All of which smells like a dangerous bug to be ignoring on physical kit.
j.
1. Not very keen to disable follow error as being in a gantry machine if the Y joints get too out of sync it could bend stuff.
2. re accelerations too high. I struggle with that explanation as using the exact same max acceleration settings with standard tpmod I have no issues. Plus with reference to my tpmod experience It also implies the ruckig or something is ignoring max acceleration settings. All of which smells like a dangerous bug to be ignoring on physical kit.
j.
Please Log in or Create an account to join the conversation.
- ihavenofish
- Offline
- Platinum Member
Less
More
- Posts: 675
- Thank you received: 116
03 Dec 2023 16:24 #287103
by ihavenofish
Replied by ihavenofish on topic Trajectory Planner using Ruckig Lib
Sorry. for clarity:
There are instances where you need some "buffer" for acceleration and velocity. Backlash compensation is one. When I got that error recently it was because I had lowered my stepper timing settings to the point my rapids could not be met.
Specifically when you use an S curve acceleration, to get an "average" of say 1m/s/s the middle of the move will be higher. I don't know how this is being set up, so maybe this is not the issue, but it is something to look at.
There are instances where you need some "buffer" for acceleration and velocity. Backlash compensation is one. When I got that error recently it was because I had lowered my stepper timing settings to the point my rapids could not be met.
Specifically when you use an S curve acceleration, to get an "average" of say 1m/s/s the middle of the move will be higher. I don't know how this is being set up, so maybe this is not the issue, but it is something to look at.
The following user(s) said Thank You: Beef
Please Log in or Create an account to join the conversation.
03 Dec 2023 18:55 - 05 Dec 2023 20:14 #287121
by Joco
Replied by Joco on topic Trajectory Planner using Ruckig Lib
SOLVED - VPN to the rescue. While my fixed IP is still blocked (pushing 4 days now) I can use a VPN (lucky I have a subscription) to get in. And since that is a floating IP I can just shift servers if there are anymore silly blocking issues.
Team - my IP address has been blocked by the forum for several days. The only way I can access things is via my mobile phone which is very awkward and annoying.
While I will periodically check access, I am sad to say that until the situation resolves I will be, for all intents and purposes, absent.
If an administrator sees this and can remedy the problem that would be greatly appreciated.
Regards - Joco (James)
Team - my IP address has been blocked by the forum for several days. The only way I can access things is via my mobile phone which is very awkward and annoying.
While I will periodically check access, I am sad to say that until the situation resolves I will be, for all intents and purposes, absent.
If an administrator sees this and can remedy the problem that would be greatly appreciated.
Regards - Joco (James)
Last edit: 05 Dec 2023 20:14 by Joco. Reason: VPN to rescue.
Please Log in or Create an account to join the conversation.
13 Dec 2023 12:49 #288023
by Beef
Replied by Beef on topic Trajectory Planner using Ruckig Lib
@ihavenofish
IIRC the backlash and screw compensation work by increasing the max acceleration *above* the limits in the ini ... I've seen it while documenting but did a quick search and didn't find it, I will get back to you with the details another day.
Small update, this time of year is (as I mentioned) terrible for forward progress on my end but I've been slowly working my way through Doxygen-ating everything we've changed so it's a bit easier to see how it all fits together.
I don't think the outputs from Doxygen are easy to upload to the GitHub wiki though, so I will probably host it on my website and include a script for self-generating the documentation as well.
IIRC the backlash and screw compensation work by increasing the max acceleration *above* the limits in the ini ... I've seen it while documenting but did a quick search and didn't find it, I will get back to you with the details another day.
Small update, this time of year is (as I mentioned) terrible for forward progress on my end but I've been slowly working my way through Doxygen-ating everything we've changed so it's a bit easier to see how it all fits together.
I don't think the outputs from Doxygen are easy to upload to the GitHub wiki though, so I will probably host it on my website and include a script for self-generating the documentation as well.
Please Log in or Create an account to join the conversation.
08 Jan 2024 06:04 #290186
by Joco
Replied by Joco on topic Trajectory Planner using Ruckig Lib
Just checking in. Are things paused due to holiday season? Or has a wall been hit? Or lots of beavering away just not posted any updates? Just wondering is all, given the activity then pause.
cheers - J.
cheers - J.
The following user(s) said Thank You: Beef
Please Log in or Create an account to join the conversation.
Time to create page: 0.210 seconds