Switching between different kinematics on-the-fly

More
7 years 4 months ago - 7 years 4 months ago #136408 by jakap
Hello everyone,

my goal is to engrave the inner part of the ring by a V-carving using a drag-engraving method. I have a four axis milling machine: 3 axis XYZ + spindle rotation control (tangential knife). I made a holder to mount diamond engraving bit perpendicular to the spindle axis. The ring should be fixed to the table and the drag engraver should be moved around such that the dragging bit is always pointing perpendicular to the inner surface of the ring.

Normally, I would prefer to use Fusion360 CAM to do the job. Unfortunately, this is not possible for two reasons:
a) I am not able to convince it to engrave the inner part of the ring (wrapping the toolpaths in Fusion360 seem to work only for the outer surface).
b) it only supports 2D wrapped geometry (constant depth of engraving), not 4 axis simultaneous machining required for V-carving.

So for this engraving I set out to do a classical V-carving of flattened ring on the XY plane (y is equal to width of the ring and x equal to circumference of the ring) to export the 3 axis g-code and rather modify the kinematics of the machine to account for correct 4 axis motion. I would like to implement the following mapping:

alpha=x/(pi*D)*360;
x_new=sin(alpha)*(D/2-r-z);
y_new=cos(alpha)*(D/2-r-z)
z_new=y;

with D being the inner diameter of the ring and the r being the distance between the tip of the diamond bit and the rotation axis of the spindle.

I think implementation of the kinematics is pretty straightforward. However the problem is that I would like to switch the kinematics only when needed, while I would otherwise like to keep the old trivial kinematics (in order to home and set up the entire process).
I wonder if this is possible and how to implement this?

Alternative solution for that would be to modify the EMC2 post-processor, but I don't know how to do this.
Any ideas?
Last edit: 7 years 4 months ago by jakap.

Please Log in or Create an account to join the conversation.

More
7 years 4 months ago - 7 years 4 months ago #136409 by Grotius
@Jaka,

Did you ever tried the Sheetcam Tangential Option?
This works very nice. And you can modify the post processor to your needs if needed...

I used it for plasma bevel cutting. I could have made a patent with this, but l leave it so far.
There is no tangential plasma bevel head around.... I had one in my factory. I trowed it away a short time ago.
Last edit: 7 years 4 months ago by Grotius.

Please Log in or Create an account to join the conversation.

More
7 years 4 months ago #136446 by jakap
Unfortunately I do not have access to Sheetcam.

I just learned one can switch between "joint mode" and "world mode" in the GUI menu.
I wonder if I can then use "joint mode" for homing and jogging to position, and then switch to "world mode" to run a g-code with changed kinematics?

Maybe a bit out of my scope, but how does the homing work in complex parallel machines? Does homing setting apply to joint or world mode?

Please Log in or Create an account to join the conversation.

More
7 years 4 months ago #136448 by Hakan
There was a thread about switching between kinematics a(few?) months ago.
I think the issues they found were solved, at least the kinematics could be switched at zero,
not sure if at arbitrary position.
forum.linuxcnc.org/10-advanced-configura...s-kinematics?start=0

Please Log in or Create an account to join the conversation.

More
7 years 4 months ago #136716 by andypugh

JakaP wrote: Alternative solution for that would be to modify the EMC2 post-processor, but I don't know how to do this.
Any ideas?


You could use XYZ for cartesian and UVW for rotary (or vice-versa)
Or maybe XYZ and XVW.

A lot of "magic" can be achieved by the use of input filters that pre-process G-code files dependant on file extension.

Better, though, might be a simple kinematis with a HAL input switch, so once you are ready to "go rotary" you can set the switch and have the kinematics automatically make Y-delta distances into A-rotations.

Please Log in or Create an account to join the conversation.

More
7 years 4 months ago #137008 by jakap
Thank you all for your input.

Andy, can you elaborate on input filters for G-code preprocessing a bit more? What are they, where can I find and set them? I was thinking of doing this automatically using some simple Python scripts, however mapping some in-plane arc movements (G02/G03) to a more complex kinematics does not seem to be so straightforward.

In any case, I am more interested in changing kinematics, as this seems to be more universal solution to problems I may encounter in the future. Can you please explain a bit how to implement such HAL switch to change kinematics?

Please Log in or Create an account to join the conversation.

Time to create page: 0.354 seconds
Powered by Kunena Forum