LinuxCNC S-Curve Accelerations
23 Jun 2021 13:04 #212735
by Grotius
Replied by Grotius on topic LinuxCNC S-Curve Accelerations
Hi rmu,
Thanks for the info. I will take a look soon. I have programmed 3d beziers before, but i want to stay at the scurve implemenation following the scientific papers.
For info. A hal s-curve component. It's really easy to test this component using the "demo-mode" hal pin.
github.com/grotius-cnc/hal-scurve
Thanks for the info. I will take a look soon. I have programmed 3d beziers before, but i want to stay at the scurve implemenation following the scientific papers.
For info. A hal s-curve component. It's really easy to test this component using the "demo-mode" hal pin.
github.com/grotius-cnc/hal-scurve
Please Log in or Create an account to join the conversation.
23 Jun 2021 18:31 #212759
by arvidb
Replied by arvidb on topic LinuxCNC S-Curve Accelerations
I've pushed an update to my
repo
. If you've already cloned the repo, use 'git pull' to get the updated code.
Description of update: There was an omission in the build script (in the Submakefile for smooth1d) that could make fresh builds fail with "No such file or directory". This commit should fix that problem and also adds proper source file dependency checking, and a less intrusive integration into the main Makefile.
Description of update: There was an omission in the build script (in the Submakefile for smooth1d) that could make fresh builds fail with "No such file or directory". This commit should fix that problem and also adds proper source file dependency checking, and a less intrusive integration into the main Makefile.
Please Log in or Create an account to join the conversation.
24 Jun 2021 07:45 #212790
by rodw
Replied by rodw on topic LinuxCNC S-Curve Accelerations
Very exciting!
I think the other class of machine that should benefit from this work are light weight plasma cutters with acceleration > 5 m/s/s and 30-40 m/min rapids.
I think the other class of machine that should benefit from this work are light weight plasma cutters with acceleration > 5 m/s/s and 30-40 m/min rapids.
Please Log in or Create an account to join the conversation.
24 Jun 2021 08:41 #212795
by rmu
The tricky thing is not the generation of a jerk limited linear velocity profile but the planning of a trajectory in 2d/3d that respects acceleration- and accuracy-constraints (G64). The clothoid paper somebody posted looks very promising, but it would be a big project hacking that in.
Replied by rmu on topic LinuxCNC S-Curve Accelerations
Hi rmu,
For info. A hal s-curve component. It's really easy to test this component using the "demo-mode" hal pin.
github.com/grotius-cnc/hal-scurve
The tricky thing is not the generation of a jerk limited linear velocity profile but the planning of a trajectory in 2d/3d that respects acceleration- and accuracy-constraints (G64). The clothoid paper somebody posted looks very promising, but it would be a big project hacking that in.
Please Log in or Create an account to join the conversation.
- TheRoslyak
- Offline
- Elite Member
Less
More
- Posts: 238
- Thank you received: 37
24 Jun 2021 09:40 #212806
by TheRoslyak
Replied by TheRoslyak on topic LinuxCNC S-Curve Accelerations
What's wrong? Perhaps I forgot to do something?
Please Log in or Create an account to join the conversation.
24 Jun 2021 13:04 - 24 Jun 2021 13:06 #212818
by arvidb
Replied by arvidb on topic LinuxCNC S-Curve Accelerations
It looks like it's trying to load a different motmod.so than the one built from the smooth1d branch. I would recommend that you don't install the smooth1d code just yet, but use "Run In Place" instead.
Something like this should do it for the build:
Then to run it:
To run your normal install again, just reboot the machine to reset the "rip-environment". You can see which linuxcnc build is "active" by typing
Something like this should do it for the build:
$ git clone https://github.com/arvidbrodin/linuxcnc.git linuxcnc-smooth1d
$ cd linuxcnc-smooth1d/src/
linuxcnc-smooth1d/src$ git checkout smooth1d
linuxcnc-smooth1d/src$ ./autogen.sh
linuxcnc-smooth1d/src$ ./configure --with-realtime=uspace
linuxcnc-smooth1d/src$ make -j4
linuxcnc-smooth1d/src$ sudo make setuid
Then to run it:
cd </path/to/>linuxcnc-smooth1d
linuxcnc-smooth1d$ . scripts/rip-environment
linuxcnc-smooth1d$ linuxcnc
To run your normal install again, just reboot the machine to reset the "rip-environment". You can see which linuxcnc build is "active" by typing
$ which linuxcnc
Last edit: 24 Jun 2021 13:06 by arvidb.
Please Log in or Create an account to join the conversation.
- TheRoslyak
- Offline
- Elite Member
Less
More
- Posts: 238
- Thank you received: 37
24 Jun 2021 13:45 - 24 Jun 2021 13:58 #212821
by TheRoslyak
Replied by TheRoslyak on topic LinuxCNC S-Curve Accelerations
Not. Something wrong. Same error.
The regular version starts - So globally nothing has screwed up
Previous version works. But I still haven't figured out how to check
The regular version starts - So globally nothing has screwed up
Previous version works. But I still haven't figured out how to check
Last edit: 24 Jun 2021 13:58 by TheRoslyak.
Please Log in or Create an account to join the conversation.
- TheRoslyak
- Offline
- Elite Member
Less
More
- Posts: 238
- Thank you received: 37
24 Jun 2021 14:36 #212827
by TheRoslyak
Replied by TheRoslyak on topic LinuxCNC S-Curve Accelerations
Return to the question of how to set it up.
I compared the regular version and the smooth version. The differences seem to be there, but not significant. Perhaps it was necessary to accurately scale the scope. But there seem to be differences - judging by the scope.
In this version, can I somehow customize the S-Curve Accelerations parameters?
I compared the regular version and the smooth version. The differences seem to be there, but not significant. Perhaps it was necessary to accurately scale the scope. But there seem to be differences - judging by the scope.
In this version, can I somehow customize the S-Curve Accelerations parameters?
Please Log in or Create an account to join the conversation.
24 Jun 2021 15:27 - 24 Jun 2021 15:49 #212831
by arvidb
Replied by arvidb on topic LinuxCNC S-Curve Accelerations
I have managed to reproduce the "linuxcnc-smooth1d/rtlib/motmod.so: undefined symbol: smooth1d_reset_pos" error. Something is still wrong in the build scripts. I'm looking into it now.
Edit: It seems to be an ordering issue between the different object files during linking. Still working on it...
Edit: It seems to be an ordering issue between the different object files during linking. Still working on it...
Last edit: 24 Jun 2021 15:49 by arvidb.
The following user(s) said Thank You: tommylight
Please Log in or Create an account to join the conversation.
24 Jun 2021 16:55 #212835
by arvidb
Replied by arvidb on topic LinuxCNC S-Curve Accelerations
I have pushed another commit to my repo which should fix the "linuxcnc-smooth1d/rtlib/motmod.so: undefined symbol: smooth1d_reset_pos" build error. It would be GREAT if someone with more knowledge on the LinuxCNC build system (and/or makefiles in general) could take a look at my changes and see if the linking of the smooth1d library can be done in a better way. Now I have written a specific rule for motmot.so which isn't a very nice solution. Also the library is listed both as a dependency for motmod.so (part of $^) and as a linker include command (-lsmooth1d).
TheRoslyak: Please try the new version. No, there is no way to configure the jerk limit at the moment; it is auto-calculated based on your max acceleration and max velocity settings for each joint. It should "just work". But a manual config option could be added later if necessary. In your halscope images I cannot see any trace of jerk limiting (the velocity plots are straight lines) so I'm guessing you weren't running the smooth1d version (because of the build issue?).
If you still cannot see a difference after a successful build, please post your joint acceleration and velocity settings.
TheRoslyak: Please try the new version. No, there is no way to configure the jerk limit at the moment; it is auto-calculated based on your max acceleration and max velocity settings for each joint. It should "just work". But a manual config option could be added later if necessary. In your halscope images I cannot see any trace of jerk limiting (the velocity plots are straight lines) so I'm guessing you weren't running the smooth1d version (because of the build issue?).
If you still cannot see a difference after a successful build, please post your joint acceleration and velocity settings.
Please Log in or Create an account to join the conversation.
Time to create page: 0.199 seconds