Turn-mill kinematics
- automata
- Offline
- Premium Member
-
Less
More
- Posts: 98
- Thank you received: 86
17 Mar 2026 07:10 #344392
by automata
Turn-mill kinematics was created by automata
I have been working on a turn-mill kinematics component.
I am not able to understand how the G43 and G54 and G92 offsets should be accounted for in the kinematics.
I would like to do polar as well as cylindrical interpolation using these kinematics.
Polar interpolation will be turned on by G12.1 and off by G13.1
Cylindrical interpolation will be turned on by G7.1 and off by G7.2
It also uses the adaptive feed to slow down when the radius (Joint 0 position) is very close to 0 i.e., joint 0 is very close to the centerline of rotation.
Any comments on how to account for the offsets or general comments for this component are welcome and appreciated.
-automata
I am not able to understand how the G43 and G54 and G92 offsets should be accounted for in the kinematics.
I would like to do polar as well as cylindrical interpolation using these kinematics.
Polar interpolation will be turned on by G12.1 and off by G13.1
Cylindrical interpolation will be turned on by G7.1 and off by G7.2
It also uses the adaptive feed to slow down when the radius (Joint 0 position) is very close to 0 i.e., joint 0 is very close to the centerline of rotation.
Any comments on how to account for the offsets or general comments for this component are welcome and appreciated.
-automata
Attachments:
The following user(s) said Thank You: akb1212, besriworld, spumco
Please Log in or Create an account to join the conversation.
- spumco
- Offline
- Platinum Member
-
Less
More
- Posts: 2022
- Thank you received: 830
17 Mar 2026 13:32 #344406
by spumco
Replied by spumco on topic Turn-mill kinematics
Thank you for working on this... advanced lathe stuff is a little niche in LCNC-space.
I don't know how the kinematics coding works, but maybe consider not hard-coding 'JOINT_0, JOINT_1, etc" and let the user/integrator determine which joints/axes are the rotational, axial, and radial ones.
Reason being someone with a mill and a 4th axis might want to rotate the A or B axis and use Y instead of X for the radial moves. Would make the kinematics more flexible for different setups.
In addition to a tool-slide, I have a linear slide bolted to the headstock of my lathe used for a parting tool. I've defined it as axis V, joint 3... and it'd be nice/interesting if I could mount a live tool to it and use polar/cylindrical interp on it.
Perhaps expose some HAL pins, or an INI section with explicit statements like:
[MILL_TURN]
RADIAL_JOINT = 0
AXIAL_JOINT = 1
ROTATIONAL_JOINT = 2
Would permit adjusting the kinematics to suit edge cases, even it if defaults to the standard X/Z/C arrangement.
Regarding offsets... I'd think G43 would be pretty straightforward, but I'm no expert. I've attached the programming manual for my Emco lathe, which has Emco's interpretation of the Fanuc 21TB polar/cylindrical interpolation. Please see pages 35-39.
To summarize, 21TB:
Hope this helps a little
I don't know how the kinematics coding works, but maybe consider not hard-coding 'JOINT_0, JOINT_1, etc" and let the user/integrator determine which joints/axes are the rotational, axial, and radial ones.
Reason being someone with a mill and a 4th axis might want to rotate the A or B axis and use Y instead of X for the radial moves. Would make the kinematics more flexible for different setups.
In addition to a tool-slide, I have a linear slide bolted to the headstock of my lathe used for a parting tool. I've defined it as axis V, joint 3... and it'd be nice/interesting if I could mount a live tool to it and use polar/cylindrical interp on it.
Perhaps expose some HAL pins, or an INI section with explicit statements like:
[MILL_TURN]
RADIAL_JOINT = 0
AXIAL_JOINT = 1
ROTATIONAL_JOINT = 2
Would permit adjusting the kinematics to suit edge cases, even it if defaults to the standard X/Z/C arrangement.
Regarding offsets... I'd think G43 would be pretty straightforward, but I'm no expert. I've attached the programming manual for my Emco lathe, which has Emco's interpretation of the Fanuc 21TB polar/cylindrical interpolation. Please see pages 35-39.
To summarize, 21TB:
- Only permits cutter compensation to be programmed after polar/cylindrical interpolation mode has been engaged
- Cutter comp must be turned off before disengaging interpolation
- "The coordinate system must not be altered" - I take that to mean G92 offsets must be zeroed before engaging interpolation
Hope this helps a little
The following user(s) said Thank You: akb1212, besriworld
Please Log in or Create an account to join the conversation.
- spumco
- Offline
- Platinum Member
-
Less
More
- Posts: 2022
- Thank you received: 830
17 Mar 2026 14:20 #344411
by spumco
Replied by spumco on topic Turn-mill kinematics
The following user(s) said Thank You: besriworld
Please Log in or Create an account to join the conversation.
Time to create page: 0.085 seconds