Project status?

Hi,

I’ve been quietly following this project since its beginning. Thanks for all your work!

What’s the current status of the trajectory planner? Is it stable enough to be used on 3 axes machines? What about the 5 axes planner?

Last I checked there were still some bugs open in opencn-matlab. How severe are these?

Thanks,
Julien

Hi Julien,

Thanks for your question !

If you followed closely, you may have seen a branch called “194-lctp”. It’s the integration of the LinuxCnc Path Planner (thus LCTP acronym) that will be merged soon. In the current state :

For Feedopt : (Original OpenCN Path planner) :

  • 3 axis : Okayish. You may have trouble depending on some path radius, gcode length…
  • 3+2 axis : Okayish. Same has 3 axis.
  • 5 axis interpolated (all axis move simultaneously) : Not ok, approximated path, very slow motion.

I won’t go into all the why’s, but to resume, it lack error message to understand what’s wrong with your g-code/ feedopt optimization, also, it lack some stability regarding various gcode generated from a CAM. Moreover, the kinematics parameter is hardcoded in matlab.
Therefore, we wanted to integrate another -stable- trajectory-planner so we can have both experimental one (Feedopt) to test new things, and a stable traj-planner (LinuxCnc) when we need to get the job done.

To properly answer your question : I would personally NOT use Feedopt in its current state on a CNC used to produce part, as mentionned earlier, it’s experimental.

Regarding LCTP :

It’s a basic integration (3axis, trivial kinematic only, no gcode remap, no python etc…). We will likely still work on it to integrate the more advanced part in the future (kinematics, remap, toolchange, etc…). We will properly document it’s capabitly at the merge of branch 194.

Regarding other part of the OpenCN environnement :

I can say we-@jmi will likely agree- are pretty happy of the current state of OpenCN. We currently have a pretty flexible system that should work has we increase it’s capability. OpenCN is currently running on a 3axis / 5 axis / Laser engraving machine, and… a wheelchair (WIP) !! However, some gray zone still here : communication between the host/target still need improvement, and the homing system need to support wider homing methods, but once done, I feel OpenCN will start to become a good base for new people to take -if they wish to.

Finally :

As all CNC system, things take time to do right, and I feel we are getting there one step at a time.
Sorry for the long post, I did not get into all the details, but feel free to ask any question :slight_smile:

Disclaimer :

Please note that the following message reflects my personal tought on the current state of OpenCN. Others are, of course, welcome to share their thoughts as well — though to the best of my knowledge, I may be the only one using it on a daily basis.

Xavier,

Thanks for your extensive reply!

Sad to hear that feedopt is not production-ready yet. A good TP with jerk-limiting is sorely missing in the open-source space. Is further work on feedopt planned?

Julien,

You’re welcome ! :slight_smile:

I totally agree with you. Sadly, for now, no work is planned on Feedopt.

However, regarding the open source space, I saw a LinuxCNC post recently where they where able to make an S-curve motion profile work. I don’t know the state of it (i.e production ready) but it seem installable on a LinuxCNC Machine, check here.

Also, I don’t the type of machine you run, but most 3D printers today run Input Shaping - another way to mitigate machine vibration.
Look here at klipper firmware for example. (Prusa & Bambulab also use it on their new machine).

I’m familiar with Grotius effort to implement a better TP for LinuxCNC, but Feedopt seems more mature and with solid foundations, even if it’s not yet perfect.

I also know Klipper quite well (I implemented CAN-FD support for my 3D printer) but it’s limited to 3D printers and is not very reliable. At the moment I’m interested in a better TP for my 3-axes milling machine, running LinuxCNC. It could greatly benefit from a jerk-limiting TP.

Do you know what’s the “best”/“most stable” opencn-matlab revision to use for 3-axes experimentation (I don’t care about the 5-axes one for now)? The master branch?

Ok nice !

Well, I wouldn’t say Feedopt is mature enough for production ready (although we use it daily but in a minimal setup (i.e not complex gcode).

However, if you wish to test it, purely in simulation, you can follow the documentation . It does need some improvement for newcomer, don’t hesitate if you need any help.
You should be able to run it in Qemu (x86-qemu target is prefered for higher simulation rate), by default, the Micro5 milling machine configuration start at boot.
Then you can run a gcode, and look at the sampler output under /root/log_sampler_0.csv
If you’re familiar with linuxcnc, you can look at the machine config file called micro5.hal (be sure to take the one regarding your target under the proper folder).

IMPORTANT : I don’t want to discourage you has we always like new user to OpenCN, but if you wish to move to your physical machine, I forgot to mention that OpenCN only support EtherCAT fieldbus for now. Also, depending on your drive type, you may need to implement your own, see here. Supported slaves here

GLHF :wink:

Thanks for your help!

I’ll let you know if I encounter any issue.

1 Like