LinuxCNC S-Curve Accelerations

More
23 Jun 2021 13:04 #212735 by Grotius
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

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

More
23 Jun 2021 18:31 #212759 by arvidb
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.

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

More
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.

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

More
24 Jun 2021 08:41 #212795 by rmu
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.

More
24 Jun 2021 09:40 #212806 by TheRoslyak
What's wrong? Perhaps I forgot to do something?
Attachments:

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

More
24 Jun 2021 13:04 - 24 Jun 2021 13:06 #212818 by arvidb
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:
$ 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.

More
24 Jun 2021 13:45 - 24 Jun 2021 13:58 #212821 by TheRoslyak
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
Attachments:
Last edit: 24 Jun 2021 13:58 by TheRoslyak.

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

More
24 Jun 2021 14:36 #212827 by TheRoslyak
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?
Attachments:

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

More
24 Jun 2021 15:27 - 24 Jun 2021 15:49 #212831 by arvidb
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...
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.

More
24 Jun 2021 16:55 #212835 by arvidb
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.

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

Time to create page: 0.199 seconds
Powered by Kunena Forum