Skip to content

ilowpass: deprecate, smooth wheel jogs with jog-accel-fraction - #4809

Open
grandixximo wants to merge 2 commits into
LinuxCNC:masterfrom
grandixximo:ilowpass-deprecate
Open

grandixximo wants to merge 2 commits into
LinuxCNC:masterfrom
grandixximo:ilowpass-deprecate

Conversation

@grandixximo

Copy link
Copy Markdown
Contributor

Follow-up to #4796, as agreed there: motion plans wheel jogs itself under the axis and joint limits, so ilowpass in front of jog-counts is no longer needed.

The first commit moves every in-tree user to jog-accel-fraction 0.25: the two pico pendant.hal files, configs/common/shuttle.hal with the scorbot-er-3 customization, touchy.hal.example and its notes, and the mpg.adoc example. The jog scales grow by the ilowpass scale they no longer divide. The scorbot-er-3 INI pointed at a shuttlexpress.hal that does not exist; it is shuttle.hal.

The second commit marks ilowpass deprecated in its man page and in the component list, so it can be removed a release later.

I compared both in a sim (1 ms servo, trapezoid planner, 1 mm click and 0.1 mm/click spins):

1 mm click, peak accel spin, peak accel still moving after the wheel stops
3000 mm/s², ilowpass gain .01 / .02 2936 / 3000 600 / 1100 610-760 / 290-380 ms
3000 mm/s², jog-accel-fraction 0.25 750 750 22-74 ms
500 mm/s², ilowpass gain .01 / .02 500 / 500 390 / 500 610-760 / 290-380 ms
500 mm/s², jog-accel-fraction 0.25 126 126 54-177 ms

ilowpass does not soften a single click: motion chases the first filtered step at full acceleration. It only lowers the acceleration during a steady spin, and then trails the wheel by up to 2.4 mm. On a fast machine 0.25 sits between the two ilowpass gains during a spin, also caps the click, and stops 5-10 times sooner. On a slow machine it is softer than ilowpass was. With PLANNER_TYPE = 1 and a MAX_JERK the wheel jogs are also jerk limited.

The configs need hardware (ppmc, shuttle, hm2), so I have not run them.

Comment thread docs/src/examples/mpg.adoc Resolved
Comment thread src/hal/components/ilowpass.comp Resolved
Comment thread src/hal/components/ilowpass.comp Resolved
Motion plans wheel jogs itself under the axis and joint limits, and
jog-accel-fraction lowers the acceleration of wheel jogs. With
PLANNER_TYPE = 1 and a MAX_JERK they are also jerk limited. ilowpass in
front of jog-counts only adds a lag after the wheel stops and defeats
jog-vel-mode, as motion never sees the wheel stop.

The pico pendants, shuttle.hal, the touchy example and the MPG example
now feed the counts straight to jog-counts and set jog-accel-fraction to
0.25. The jog scales grow by the ilowpass scale they no longer divide.
The scorbot-er-3 INI pointed at a shuttlexpress.hal that does not exist;
it is shuttle.hal.
No in-tree config uses ilowpass any more. Point its man page and the
component list at jog-accel-fraction, so it can be removed a release
later.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants