Hi Raoul,
That's impressive work! Thanks for sharing it with all of us. It's been a
long-standing goal for us to support limited-jerk planning and smoother
blends. It's a major achievement to both create G2-continuous blends and
optimize the overall feedrate, and I'm excited to see your future work on
5-axis machines.
After looking through your documentation and videos, I have a few questions:
1. What license are you releasing your source code under? It looks like
the generated C code in the FeedOpt library is an academic-use-only
license, which would seem to prohibit personal or commercial use. Do you
have any interest in porting the source code to a form that would be usable
under a broader license like LGPL?
2. In your architecture, how much path optimization do you do in the
kernel / realtime? From your block diagram, it looks like smoothing and G2
blending are done in the non-realtime side, and the resulting G2 continuous
path is sent to the RT component.
3. Does your TP support any online alteration of feed rate? For example:
1. Feed hold
2. Adaptive feed
3. Feed override / maximum velocity limits
4. Spindle position tracking for threading and tapping
4. How does your path optimization approach compare with this paper
<https://www.researchgate.net/publication/259981920_Time-Optimal_Path_Following_for_Robots_with_Trajectory_Jerk_Constraints_using_Sequential_Convex_Programming>?
Specifically, they claim that finite jerk path optimization is in general a
DCP (Difference of Convex optimization Problem). It looks like you found a
way to do the optimization as an LP problem. What did you have to do to
avoid solving the more complex problem?
5. How are you sending data back and forth between the realtime and user
portions?
Thanks!
Rob
On Fri, Nov 22, 2019 at 10:20 AM Herzog Raoul <[email protected]>
wrote:
>
>
> dear Les,
>
> the modifications we had to introduce to LinuxCNC are very substantial,
> mainly due to
> 1) the fact that we use a minimalistic, highy patched Xenomai, where we
> can dedicate processor cores to specific tasks (asymmetric multiprocessing
> (AMP)).
> 2) the fact that the trajectory planning is completely rewritten
>
> For the time being, we also had to leave away certain functionalities of
> LinuxCNC to keep it simple.
> I believe a later merge of OpenCN and LinuxCNC would be extremely
> difficult, if not impossible.
>
> One of our goals was to establish a stable high speed EtherCAT
> communication to the drives at a rate of 10 kHz using the distributed clock
> (DC).
> It turned out that this is nearly impossible on x86, even with our Xenomai
> AMP : the GPU is perturbing too much with DMA access to the main memory ...
> One solution would be to "externalize" the GUI (work in progress here).
>
> So, please consider our OpenCN as an experimental branch, where, maybe,
> some ideas could be helpful for the future evolution of LinuxCNC.
>
> best regards,
>
> Raoul
>
> -----Message d'origine-----
> De : Les Newell <[email protected]>
> Envoyé : vendredi, 22 novembre 2019 13:37
> À : [email protected]
> Objet : Re: [Emc-developers] announcement OpenCN, a new fork of LinuxCNC
>
> Hi Raul,
>
> Why create a fork? Maintaining a project like this is a huge amount of
> work and forking often results in a lot of duplicated work. LCNC is very
> modular so it is possible to add a lot of functionality without breaking
> existing code. If you work with the LCNC project you have access to a lot
> of users and developers to help you with testing and debugging. If you
> create a fork of your own you need to then build up your own user base,
> which could take a long time.
>
> Les
>
> On 22/11/2019 07:32, Herzog Raoul wrote:
> > dear Linux developers,
> >
> > I'm pleased to announce a new fork of LinuxCNC, called "OpenCN* :
> >
> > OpenCN is an open source numerical control (CNC) for high end machining
> applications (high dynamics, high precision).
> >
> > OpenCN is originally based on LinuxCNC, but with strong enhancements :
> >
> > -) completely reworked trajectory planning (TP) including jerk control
> > based on embedded optimization
> > -) Xenomai asymmetric multiprocessing (AMP) for hard real time, low
> > latency
> > -) up to date Linux kernel
> > -) EtherCat with 10 kHz frame rate and distributed clock (DC), mode B
> > -) new Qt based GUI superseding "axis"
> >
> > The HW platforms are x86 (available) and ARM (in preparation).
> >
> > Software :
> > gitlab.com/mecatronyx/opencnc/opencn<https://gitlab.com/mecatronyx/ope
> > ncnc/opencn> Doc :
> > mecatronyx.gitlab.io/opencnc/doc/<https://mecatronyx.gitlab.io/opencnc
> > /doc/> Youtube :
> > www.youtube.com/channel/UC8FQCu_fKYfK7QRDN0j_dBw<https://www.youtube.c
> > om/channel/UC8FQCu_fKYfK7QRDN0j_dBw>
> >
> >
> > best regards,
> >
> > Raoul
> >
> >
> >
> > [http://correspondance.heig-vd.ch/assets/heig.png]
> >
> > Raoul Herzog
> > Dr.
> >
> > Professeur
> > Institut d'Automatisation Industrielle (iAi) Groupe mecatronYx Prof. :
> >
> > +41 24 557 61 93
> >
> > Site web :
> >
> > http://www.iai.heig-vd.ch
> >
> >
> > [email protected]<mailto:[email protected]>
> >
> >
> >
> >
> > _______________________________________________
> > Emc-developers mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/emc-developers
>
>
>
>
> _______________________________________________
> Emc-developers mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/emc-developers
>
>
> _______________________________________________
> Emc-developers mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/emc-developers
>
_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers