In the general case there may be no closed form solution so numeric
integration is the only possible solution.    I don't think there is any
other way to do it other than numeric integration except to require the
user to supply a function for closed form integrals.      But for a 3-axis
mill that uses trivial kinematics there is an easy closed form integral.
So the problem is very different depending on what kind of machine you want
to control.    For people here, almost all are using trivial kinematics.

The problem is also VERY different based on another decision.  Do you want
only simple jerk limiting or do you want an optimal path?   In other words,
do you simply take your foot off the gas to avoid going over the speed
limit or do you want to drive to work in the absolute minimum time but
without speeding.  Those are different problems.  The first one is easy to
do, the second takes quite a lot of effort.

Jerk limited, optimal paths for non trivial kinematics is a very hard
problem.  Putting a simple jerk limit on a simple machine is easy, Marlin
does this on my 3D printer and it runs on an Aruino.




On Sun, Aug 29, 2021 at 10:07 AM Curtis Dutton <[email protected]> wrote:

> I'm not sure about all this yet, brainstorming here...
>
> After looking at TinyG code for handling jerk limitation in the joint
> control it appears that they are using the forward physics equations and
> numerically integrating to avoid violations.
>
> Since numerical integration needs to be used for jerk equations (as well as
> snap crackle and pop...)  The forward kinematic equations will need to be
> fed into the integrator for non trivial kinematics.
>
> The integrator should be pluggable as well. We should find an open source
> library for this as numerical integration methods are always advancing and
> high performance integration is not easy to implement.
>
>
>
>
>
> On Sun, Aug 29, 2021 at 11:55 AM Andy Pugh <[email protected]> wrote:
>
> >
> >
> > > On 29 Aug 2021, at 11:40, Alexander Brock <[email protected]>
> > wrote:
> > >
> > > The idea can be implemented in C and for simple cases like 1D funktions
> > > it should be fairly straight-forward.
> >
> > My point is that the kinematics modules already exist, and  not all of
> > them are under our control. Various users’ machines are out there with
> > their own custom kinematics.
> > Also, AFAIK if they are kernel modules then they have to be written in C.
> >
> > Hence my suggestion of calling the kinematics function repeatedly to
> > perform simple numerical differentiation.
> >
> >
> >
> > _______________________________________________
> > Emc-users mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/emc-users
> >
>
> _______________________________________________
> Emc-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/emc-users
>


-- 

Chris Albertson
Redondo Beach, California

_______________________________________________
Emc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to