Yep, a time consuming experiment. I have been working on ROS2 robotics framework for several years now for other projects. ROS (Robotic Operating System) is an incredible huge package supported all over the world by mostly academics but thousands of them. Just google ROS2 or Gazebosim (a simulator I use). Seems like every robot jock assumes a robot moves around. This one just sits in one place and jiggles.
In a previous lifetime I was a software engineer, mostly on low level government communications equipment. I have a Tormach 1100S3 mill and a SlantPro CNC lathe that are near and dear to my pocketbook. I have been working on a project to make it much easier for newbies, prototypers (like me), scientists, engineers, artists and students to get into LinuxCNC machines. I spend way to much time on Fusion 360 when I should have bought an old knee mill and a tool room lathe to make simple one time parts. G-Code sucks so much for me. The other side of me loves the hundreds of software tools provided in ROS for free (like LinuxCNC).
So what I have is large pile of GUI (graphic user interface) pages that integrate every machine tool imaginable, any LinuxCNC machine, all material machineable, raw stock etc, etc. I call these databases "Catalogs". What is really different about this approach is that it moves from the painful HOW of machining with g-code to WHAT you want to do to some stock with your milling machine or lathe. So I call the key solutions "Operations". These operations are canned g-code software routines gathered by expert g-coders for a specific "What" operation like "Drill", Profile, Face, Bore, Pocket, Thread, on and on. The user fills in parameters on a form specific to each operation. Most of the parameters come from your past experience or from experts who will contribute. An example, what tool, a fly cutter to do some Facing, that comes from your library or some experts library, What material, just pick 6061 aluminum. That's where speeds and feeds etc come from. Your stock sizes are sketched out or picked from someone else's catalog and modified by you. It only takes a minute or two to gather these parameters for each catalog item because you or someone else you trust did some facing before. When the form is filled in your push a button and the Facing operation goes into you operation chain. Now, lets drill some holes. Same same but different parameters. When your Operation Chain is complete you run a Chain Test. One operation at a time. All of this goes toward using what is called the Automatic Mode.
What I find more interesting is the Manual Mode. We use modified Operations but rather than filling out forms we have a GUI that provides crank controls that the robot sends to your LinuxCNC controller (over Ethernet) like the old days with manual controls. An X Axis, Y Axis, Z Axis, Theta Angle, Spindle Rate, Run button and E-Stop. Oh, your mill doesn't have a Theta Angle. Through the magic of some trigonometry and a robot you can tilt the X and Y axis to make straight cuts on an angle.
What your knee mill can't do manually like the robot will help you do is provide a Manual Arc/Circle page. Now the control cranks become X, Y position for the center point, Z Axis up/down, a Radius crank, and an assisted Step Over for the next pass. Plus, a Profile page. A Pocket page. A Threading page. I haven't started on those last two yet. The parameters you manually crank in can be saved to build Automatic Operations we already mentioned above.
Your LinuxCNC control doesn't have to be destroyed. LCNC has an Ethernet port that will allow your existing machine to accept the G-Code messages from the robot machine that I call CNCToday. Open source. Free like LinuxCNC.
Since Tormach mills and lathes have LinuxCNC under the hood they will be a target too. Actually, Pathpilot is a GUI wrapper around LCNC. They hide most of the free stuff so their competitors have to at least buy a machine to copy there gillions of hours of development.
Here's my problem
I don't want to tear into my Tormach control computer(s) to get this up and debug the software. I plan to use one of my Ubuntu computers with ROS2 and LinuxCNC installed and the same Mesa parallel interface card as the PCNC. Sooner or later I will have to open the Tormach box (it's just a desktop computer) but maybe someone can tell me which of the many Mesa models are in the PCNC 1100S3.
If I can figure out how to upload some photos and GUI pages on this forum I will. Later.