and I will be a happy man once some wonderful person works it out:)

On Mon, Aug 23, 2021 at 1:49 PM Curtis Dutton <curtd...@gmail.com> wrote:

> The goal is allow both accuracy and speed. However there is a tradeoff
> between those two just as there is now.
>
>  During any move all vel, acc, jerk values must be coordinated to follow a
> given path. For a coordinated move any limiting constraints will limit the
> other related joints to prevent violations.
>
>
> To perform multiple move through a sequence of lines the motion planner has
> to blend moves and cut corners. The blend is also shaped to avoid violating
> any limits but go as fast as possible. The distance the corner can be cut
> by will be user specified. G64 just like now.
>
> Ultimatly the gcode program combined with your machine and its capabilities
> are still going to limit the upper feed rates that can be accomplished.
>
> With jerk limiting the max acceleration values for any given machine will
> be able to be increased while still having less following error. This
> should lead to decreased cycle times for any given g-code program.
>
>
>
>
> On Sun, Aug 22, 2021, 8:15 PM John Dammeyer <jo...@autoartisans.com>
> wrote:
>
> > This jerk control raises some questions for me.  They probably have
> simple
> > answers rather than as complex as jerk control but perhaps it's related.
> >
> > Each axis has a MAX_ACCELERATION value.  Simple math says that if X and Y
> > are moving at an identical velocity then the path of the tool is 45
> > degrees.
> >
> > I suspect that the MAX_ACCELERATION is exactly that: maximum.  If we want
> > that 45 degree line to remain straight then both axis have to accelerate
> at
> > the same rate and end up at the same velocity at the same time so the
> > acceleration that’s used is the lowest of the MAX_ACCELERATION value?
> >
> > From a feed rate perspective we want to get up to the target feed as
> > quickly as possible since chip load, tool rubbing etc. can have adverse
> > effects if the speed is too slow?
> >
> > By the same token the speed along that 45 degree path is the F parameter
> > so each axis speed isn't the F value but the amount required to create
> the
> > speed on that path?
> >
> > Finally if the combination of acceleration and distance is such that the
> F
> > parameter isn't reached before it's time to decelerate then the tool
> > reaches 0 before ever hitting the requested speed?
> >
> > This is all for a simple move that starts and stops.  And clearly would
> > cause a jerk like motion but it's precise from point A to point B.  As I
> > understand the jerk side of things the requirement is to look ahead at
> the
> > next move and only accelerate or decelerate as required to reach the new
> > velocity for each axis and change the rate of acceleration within that
> > envelope.
> >
> > But now the two axis are no longer following the target path right?
> >  There is one that has to slow down to half the speed while the other
> > accelerates up to twice the speed (for example).  The path followed now
> is
> > more complex?  And which acceleration is used and is it changed as the
> path
> > is followed?
> >
> > What's the goal?  To traverse the path as accurately as possible or to
> > reduce the shaking from sudden speed changes (the jerk)?
> >
> > Mostly just confused.
> > John
> >
> >
> >
> >
> >
> > > -----Original Message-----
> > > From: Curtis Dutton [mailto:curtd...@gmail.com]
> > > Sent: August-22-21 11:48 AM
> > > To: Enhanced Machine Controller (EMC)
> > > Subject: Re: [Emc-users] jerk control
> > >
> > > I have a desire to implement this.
> > >
> > >  My business is in need of another cnc router and I will be building as
> > > high speed of a machine as I can afford. It is going to be a dual table
> > but
> > > a horizontal spindle. 1m x 1m working envelope. I plan on using linear
> > > motors.
> > >
> > > It will require jerk limiting to really get the value out of the
> machine.
> > >
> > > I have been working on bits and pieces in my spare time but I have very
> > > little time right now.
> > >
> > >
> > > My main approach so far is....
> > >
> > >
> > >  The realtime motion component will be enhanced so as to interpolate
> > nurbs
> > > curves. Those curves need be in a specific form of parameterization.
> > (coord
> > > length parameterized)
> > >
> > >
> > > The other part is in user space and it is the hard part. To perform
> > > blending of line segments it converts segments to nurbs curves, and
> > blends
> > > them together by fitting a segment of a clothoid (euler spirals) in
> > between
> > > them. It must do all of this while fitting within all of the velocity,
> > > accel, jerk and limit constraints. Then it reparameterizes these curves
> > for
> > > consumption by the motion component.
> > >
> > > This is essentially plotting a reasonable driving path on an N
> > dimensional
> > > race track.
> > >
> > >  From some of the papers that I have read it looks like it will involve
> > > numerical integration and/or linear programming. Adding jerk equations
> > into
> > > standard physics makes it very much harder to solve. Closed form
> > equations
> > > don't really seem to exist. (If you have experience with this I could
> > > sorely use pointers, links, papers)
> > >
> > >
> > > Ultimately this is a very difficult task. Building a stripped down
> > version
> > > of a jerk controlled motion planner is what many people have done to
> > earn a
> > > PHD.
> > >
> > >
> > > I would be happy to join up with anyone else that is interested in
> > working
> > > on this. Even ideas, papers, demos is very helpful. Timeline for
> this...
> > > sadly a few years at best before completion.
> > >
> > >
> > > Thanks,
> > >     Curt
> > >
> > > On Tue, Aug 17, 2021, 10:10 PM andrew beck <andrewbeck0...@gmail.com>
> > wrote:
> > >
> > > > Here is the text from your link sam
> > > >
> > > >
> > > > Ramped velocity in this case just means constant acceleration over
> the
> > > > whole segment. This is less optimal than a trapezoidal velocity
> > profile,
> > > > since the acceleration is not maximized. However, if the segment is
> > short
> > > > enough, there isn�t enough time to accelerate much before we hit the
> > next
> > > > segment. Recall the short line segments from the previous example.
> > Since
> > > > they�re lines, there�s no cornering acceleration, so we�re free to
> > > > accelerate up to the requested speed. However, if this line is
> between
> > two
> > > > arcs, then it will have to quickly decelerate again to be within the
> > > > maximum speed of the next segment. This means that we have a spike of
> > > > acceleration, then a spike of deceleration, causing a large jerk, for
> > very
> > > > little performance gain. This setting is a way to eliminate this jerk
> > for
> > > > short segments.
> > > >
> > > > Basically, if a segment will complete in less time than 1 /
> > > > ARC_BLEND_RAMP_FREQ, we don�t bother with a trapezoidal velocity
> > profile on
> > > > that segment, and use constant acceleration. (Setting
> > ARC_BLEND_RAMP_FREQ =
> > > > 1000 is equivalent to always using trapezoidal acceleration, if the
> > servo
> > > > loop is 1kHz).
> > > >
> > > > You can characterize the worst-case loss of performance by comparing
> > the
> > > > velocity that a trapezoidal profile reaches vs. the ramp:
> > > >
> > > > # v_ripple = a_max / (4.0 * f) # where: # v_ripple = average velocity
> > > > "loss" due to ramping # a_max = max axis acceleration # f = cutoff
> > > > frequency from INI
> > > >
> > > > For the aforementioned machine, the ripple for a 20Hz cutoff
> frequency
> > is
> > > > 100 / (4 * 20) = 1.25 IPS. This seems high, but keep in mind that it
> is
> > > > only a worst-case estimate. In reality , the trapezoidal motion
> > profile is
> > > > limited by other factors, such as normal acceleration or requested
> > > > velocity, and so the actual performance loss should be much smaller.
> > > > Increasing the cutoff frequency can squeeze out more performance, but
> > make
> > > > the motion rougher due to acceleration discontinuities. A value in
> the
> > > > range 20Hz to 200Hz should be reasonable to start.
> > > >
> > > > Finally, no amount of tweaking will speed up a toolpath with lots of
> > small,
> > > > tight corners, since you�re limited by cornering acceleration.
> > > >
> > > > On Wed, Aug 18, 2021, 2:06 PM John Dammeyer <jo...@autoartisans.com>
> > > > wrote:
> > > >
> > > > > This is what we're talking about right?
> > > > > Ramping acceleration?
> > > > > https://www.mmsonline.com/articles/understanding-jerk-control
> > > > >
> > > > > John
> > > > >
> > > > >
> > > > > > -----Original Message-----
> > > > > > From: Feral Engineer [mailto:theferalengin...@gmail.com]
> > > > > > Sent: August-17-21 6:46 PM
> > > > > > To: Enhanced Machine Controller (EMC)
> > > > > > Subject: Re: [Emc-users] jerk control
> > > > > >
> > > > > > I'm curious what the current level of block lookahead is on lcnc
> > > > compared
> > > > > > to commercial controls. Anyone know the amount of data buffering
> > that
> > > > it
> > > > > > can handle?
> > > > > >
> > > > > > Phil T.
> > > > > > The Feral Engineer
> > > > > >
> > > > > > Check out my LinuxCNC tutorials, machine builds and other antics
> at
> > > > > > www.youtube.com/c/theferalengineer
> > > > > >
> > > > > > Help support my channel efforts and coffee addiction:
> > > > > > www.patreon.com/theferalengineer
> > > > > >
> > > > > > On Tue, Aug 17, 2021, 9:36 PM Sam Sokolik <samco...@gmail.com>
> > wrote:
> > > > > >
> > > > > > > It would be the same setup...  Just using servo amps..
> >  Velocity out
> > > > > of
> > > > > > > the pid - position back from the encoders.
> > > > > > >
> > > > > > > On Tue, Aug 17, 2021, 8:14 PM andrew beck <
> > andrewbeck0...@gmail.com>
> > > > > > > wrote:
> > > > > > >
> > > > > > > > Not sure Sam.
> > > > > > > >
> > > > > > > > I have a 7i77 on this mill though also.  So analog control
> > > > > > > >
> > > > > > > > On Wed, Aug 18, 2021, 12:51 PM Sam Sokolik <
> samco...@gmail.com
> > >
> > > > > wrote:
> > > > > > > >
> > > > > > > > > I am going to ask a stuid question..  If you have a
> velocity
> > run
> > > > > step
> > > > > > > gen
> > > > > > > > > with pid.   Couldn't you hook a limit3 between the pid and
> > > > steghen.
> > > > > > > > > Because the input is velocity instead of position -
> wouldn't
> > the
> > > > > > > > > acceleration limit in the limit3 be jerk instead of
> > acceleration?
> > > > >  I
> > > > > > > am
> > > > > > > > > sure it doesn't work that way.. I was just thinking you
> have
> > > > moved
> > > > > the
> > > > > > > > > derivatives up one..
> > > > > > > > >
> > > > > > > > > (I can tell you it doesn't seem to work in practice -
> > probably
> > > > > because
> > > > > > > > the
> > > > > > > > > pid will always try to correct the error.  Like maybe you
> > would
> > > > > need to
> > > > > > > > > negate the limit3 amount on the feedback side..)
> > > > > > > > >
> > > > > > > > > On Tue, Aug 17, 2021 at 1:28 PM Scott Harwell via
> Emc-users <
> > > > > > > > > emc-users@lists.sourceforge.net> wrote:
> > > > > > > > >
> > > > > > > > > >  I haven't tried it yet, but this looks promising.
> > > > > > > > > > LinuxCNC S-Curve Accelerations
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > Scott H
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >     On Tuesday, August 17, 2021, 12:57:06 PM CDT, Ralph
> > > > Stirling
> > > > > <
> > > > > > > > > > ralph.stirl...@wallawalla.edu> wrote:
> > > > > > > > > >
> > > > > > > > > >  I've also been hoping to see this appear in a Linuxcnc
> > update,
> > > > > > > > > > as it has been worked on by a number of people for years.
> > > > > > > > > > Here are the most recent threads about jerk-limited
> > trajectory
> > > > > > > > planning:
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > >
> > > >
> >
> https://forum.linuxcnc.org/24-hal-components/40152-jerk-limited-trajectory-planner-hal-component
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > >
> > > >
> >
> https://forum.linuxcnc.org/38-general-linuxcnc-questions/34666-c2-smooth-velocity-profile?start=0
> > > > > > > > > >
> > > > > > > > > > -- Ralph
> > > > > > > > > > ________________________________________
> > > > > > > > > > From: David Berndt [ber...@uberwin.com]
> > > > > > > > > > Sent: Tuesday, August 17, 2021 9:01 AM
> > > > > > > > > > To: Enhanced Machine Controller (EMC); andrew beck
> > > > > > > > > > Subject: Re: [Emc-users] jerk control
> > > > > > > > > >
> > > > > > > > > > CAUTION: This email originated from outside the Walla
> Walla
> > > > > > > University
> > > > > > > > > > email system.
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > I don't have a great need for it with my machines, or the
> > > > > time/brains
> > > > > > > > to
> > > > > > > > > > implement it. It just seems like a feature we really
> should
> > > > have.
> > > > > > > > > >
> > > > > > > > > >   I'd be willing to participate monetarily in some sort
> of
> > > > > system to
> > > > > > > > > > incentivize the inclusion of jerk control. Perhaps an
> > > > open-source
> > > > > > > > feature
> > > > > > > > > > bounty? Does the community want to consider that sort of
> > thing?
> > > > > > > > > >
> > > > > > > > > > -Dave
> > > > > > > > > >
> > > > > > > > > > On Mon, 16 Aug 2021 23:06:05 -0400, andrew beck <
> > > > > > > > > andrewbeck0...@gmail.com>
> > > > > > > > > > wrote:
> > > > > > > > > >
> > > > > > > > > > > hey guys
> > > > > > > > > > >
> > > > > > > > > > > I am sitting here watching my cnc mill atm its shaking
> > quite
> > > > a
> > > > > bit
> > > > > > > > > > > acceleration is 600mm/sec2  which is not that high i
> > think.
> > > > > > > compared
> > > > > > > > > to
> > > > > > > > > > > every other cnc mill i have used with a commercial
> > > > controller.
> > > > > > > they
> > > > > > > > > have
> > > > > > > > > > > jerk control and work much better.  so looking forward
> to
> > > > when
> > > > > we
> > > > > > > get
> > > > > > > > > > > jerk
> > > > > > > > > > > control here on linuxcnc!
> > > > > > > > > > >
> > > > > > > > > > > but in the mean time i need a poor mans jerk control
> and
> > > > > thinking
> > > > > > > of
> > > > > > > > a
> > > > > > > > > > > limit on the pid output to chop down the initial
> > acceleration
> > > > > for
> > > > > > > the
> > > > > > > > > > > first
> > > > > > > > > > > moment in time just so little moves don't shake it to
> > death
> > > > > > > > > > >
> > > > > > > > > > > andy mentioned that I could maybe use a limit component
> > to
> > > > > limit
> > > > > > > the
> > > > > > > > > > > initial acceleration for the first tiny moment in time
> > to cut
> > > > > down
> > > > > > > on
> > > > > > > > > the
> > > > > > > > > > > vibrations.
> > > > > > > > > > >
> > > > > > > > > > > how do you guys think that could work?
> > > > > > > > > > >
> > > > > > > > > > > Regards
> > > > > > > > > > >
> > > > > > > > > > > Andrew
> > > > > > > > > > >
> > > > > > > > > > > _______________________________________________
> > > > > > > > > > > Emc-users mailing list
> > > > > > > > > > > Emc-users@lists.sourceforge.net
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > >
> > > >
> >
> https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Femc-
> > > > > > users&data=04%7C01%7Cralph.stirling%40wallawalla.edu
> > > > > %7C7457b9607a2d4747a1e508d961a1b508%7Cd958f048e43142779c8de
> > > > > >
> > > > >
> > > >
> > >
> >
> bfb75e7aa64%7C0%7C0%7C637648169423748846%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJB
> > > > > >
> > > > >
> > > >
> >
> TiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=ue%2BwIaVhfay08NBevlCAvyOoNp0qVz9ojUuigRuCOOs%3D&reserved=0
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > _______________________________________________
> > > > > > > > > > Emc-users mailing list
> > > > > > > > > > Emc-users@lists.sourceforge.net
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > >
> > > >
> >
> https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Femc-
> > > > > > users&data=04%7C01%7Cralph.stirling%40wallawalla.edu
> > > > > %7C7457b9607a2d4747a1e508d961a1b508%7Cd958f048e43142779c8de
> > > > > >
> > > > >
> > > >
> > >
> >
> bfb75e7aa64%7C0%7C0%7C637648169423748846%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJB
> > > > > >
> > > > >
> > > >
> >
> TiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=ue%2BwIaVhfay08NBevlCAvyOoNp0qVz9ojUuigRuCOOs%3D&reserved=0
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > _______________________________________________
> > > > > > > > > > Emc-users mailing list
> > > > > > > > > > Emc-users@lists.sourceforge.net
> > > > > > > > > > https://lists.sourceforge.net/lists/listinfo/emc-users
> > > > > > > > > >
> > > > > > > > > > _______________________________________________
> > > > > > > > > > Emc-users mailing list
> > > > > > > > > > Emc-users@lists.sourceforge.net
> > > > > > > > > > https://lists.sourceforge.net/lists/listinfo/emc-users
> > > > > > > > > >
> > > > > > > > >
> > > > > > > > > _______________________________________________
> > > > > > > > > Emc-users mailing list
> > > > > > > > > Emc-users@lists.sourceforge.net
> > > > > > > > > https://lists.sourceforge.net/lists/listinfo/emc-users
> > > > > > > > >
> > > > > > > >
> > > > > > > > _______________________________________________
> > > > > > > > Emc-users mailing list
> > > > > > > > Emc-users@lists.sourceforge.net
> > > > > > > > https://lists.sourceforge.net/lists/listinfo/emc-users
> > > > > > > >
> > > > > > >
> > > > > > > _______________________________________________
> > > > > > > Emc-users mailing list
> > > > > > > Emc-users@lists.sourceforge.net
> > > > > > > https://lists.sourceforge.net/lists/listinfo/emc-users
> > > > > > >
> > > > > >
> > > > > > _______________________________________________
> > > > > > Emc-users mailing list
> > > > > > Emc-users@lists.sourceforge.net
> > > > > > https://lists.sourceforge.net/lists/listinfo/emc-users
> > > > >
> > > > >
> > > > >
> > > > > _______________________________________________
> > > > > Emc-users mailing list
> > > > > Emc-users@lists.sourceforge.net
> > > > > https://lists.sourceforge.net/lists/listinfo/emc-users
> > > > >
> > > >
> > > > _______________________________________________
> > > > Emc-users mailing list
> > > > Emc-users@lists.sourceforge.net
> > > > https://lists.sourceforge.net/lists/listinfo/emc-users
> > > >
> > >
> > > _______________________________________________
> > > Emc-users mailing list
> > > Emc-users@lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/emc-users
> >
> >
> >
> > _______________________________________________
> > Emc-users mailing list
> > Emc-users@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/emc-users
> >
>
> _______________________________________________
> Emc-users mailing list
> Emc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users
>

_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to