LinuxCNC S-Curve Accelerations

More
21 Jun 2020 17:24 #172263 by cmorley
git d69b15 comment:

motion: wheeljogging *.jog-accel-fraction hal pins

new motion hal pins:
axis.L.jog-accel-fraction
joint.N.jog-accel-fraction

Hal pins specify reduced acceleration for wheel jogging to reduce
impulsive motion when jog count changes occur at low frequency.
The pins specify a fraction (between 0 and 1) of the corresponding
ini setting for [*]MAX_ACCELERATION. Values less than zero or
more than 1 are ignored.

When jog-counts are increased/decreased slowly, the use of full
acceleration can cause disconcerting motion or shaking on machines
with high acceleration capabilities. This feature may be used
with or without auxiliary lowpass filtering of the *.jog-counts
inputs.

Note: Lowpass filtering of jog-counts smooths motion when
jog-counts changes are sustained but is less effective for single
event or low frequency count changes because the leading/trailing
accel occurs at the ini setting for max_acceleration.

The following user(s) said Thank You: arvidb

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

More
21 Jun 2020 17:25 #172264 by cmorley
Dewey Garrett committed the change.

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

More
21 Jun 2020 17:45 #172266 by arvidb
That explains it then - and should mean that that feature would become unneccessary with a jerk limited TP? The short moves would never reach max acceleration. E.g. this is a 1 mm move with v_max = 0.1 m/s, a_max = 2.5 m/s², and jerk = 62.5 m/s³:


An even shorter move, 0.1 mm, would only reach about 0.5 m/s² with the same jerk setting.
Attachments:
The following user(s) said Thank You: tommylight, rodw

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

More
21 Jun 2020 21:36 #172276 by arvidb
In addition to free mode and teleop mode simple_tp:s, there's another one declared in emcmot_axis_t: ext_offset_tp: "planner for external coordinate offsets". Any idea what that's used for?

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

More
21 Jun 2020 21:43 #172278 by cmorley
The following user(s) said Thank You: arvidb

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

More
21 Jun 2020 21:52 #172280 by rodw
Replied by rodw on topic LinuxCNC S-Curve Accelerations

In addition to free mode and teleop mode simple_tp:s, there's another one declared in emcmot_axis_t: ext_offset_tp: "planner for external coordinate offsets". Any idea what that's used for?


If the code was reorganised that might be able to be folded into the jogging TP as at a high level, they are functionally equivalent. Both use a count to adjust position.

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

More
21 Jun 2020 22:45 - 21 Jun 2020 22:48 #172282 by arvidb
Out of curiosity, what is the purpose of these external axis offsets? When would someone use them?

Why not add the offset to the position command sent to the TP rather than using a separate TP and combining their output (which requires that they "split" the total v_max and a_max budget between them through the OFFSET_AV_RATIO setting)?

rodw: The external axis offsets seem to work on cartesian position rather than joint position. How are they functionally equivalent? Just trying to understand what they are used for.
Last edit: 21 Jun 2020 22:48 by arvidb.

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

More
21 Jun 2020 23:20 #172287 by rodw
Replied by rodw on topic LinuxCNC S-Curve Accelerations
External offsets allow applying an offset to an Axis position that is external to the motion controller.
Its used extensively for Torch Height Control in the Plasmac config (where the axis position is adjusted using arc voltage as a process control variable. There is a strong linear relationship between torch height and arc voltage.

There are a number of cool sims demonstrating how else External offsets can be used in v's 2.8 & 2.9 you might like to look at. Machining a cam lobe might be a practical example. Andy has a video demonstrating how this might work. Plasmac is also part of 2.8 & 2.9

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

More
08 Jul 2020 16:13 #173992 by rmu
Replied by rmu on topic LinuxCNC S-Curve Accelerations
In my experiments I tried to jerk-limit not inidividual axis but the tangential movement. Even that should improve things quite a bit.

Dealing with jerk-limits per axis and going back and forth through kinematics will be very interesting.

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

More
08 Jul 2020 17:41 #174001 by arvidb
I've had to take a break from looking at this unfortunately, but yeah, my idea is also to jerk-limit the tool's movement rather than the individual axes (although I've been looking at both tangential and radial jerk limiting). It won't guarantee a certain jerk limit for joints in non-cartesian machines, but it could hardly make things worse either?

(Cute cat BTW. :))

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

Time to create page: 0.141 seconds
Powered by Kunena Forum