XZC Lathe Rotational feed rate - Kinematics?
07 Jun 2015 07:07 #59553
by cts1085
XZC Lathe Rotational feed rate - Kinematics? was created by cts1085
I am running LinuxCNC 2.5.4 and successfully have configured a XZC lathe - the X axis is from center to the operator, the Z axis is from the headstock to the tailstock and C rotates around the Z axis.
My question is one of feed rates. When I am operating in the X plane and milling the end of a piece, when i move from X=50, C=0 to X=100, C=0 the feed works as expected. when I move from X=50, C=0 to X=50, C=20 at the same feed rate it progresses MUCH faster probably due to the feed rate being simply in degrees a minute. Is there a way to adjust/configure the kinematics to take into consideration the current X value and compute the arc feed rate during rotation to be the same as if there was no rotation?
Is the new version of 2.6.8 any better in this regards (i.e. should I take the trouble to upgrade?)
All thoughts and suggestions would be welcome. Thank you!
-Tom
My question is one of feed rates. When I am operating in the X plane and milling the end of a piece, when i move from X=50, C=0 to X=100, C=0 the feed works as expected. when I move from X=50, C=0 to X=50, C=20 at the same feed rate it progresses MUCH faster probably due to the feed rate being simply in degrees a minute. Is there a way to adjust/configure the kinematics to take into consideration the current X value and compute the arc feed rate during rotation to be the same as if there was no rotation?
Is the new version of 2.6.8 any better in this regards (i.e. should I take the trouble to upgrade?)
All thoughts and suggestions would be welcome. Thank you!
-Tom
Please Log in or Create an account to join the conversation.
07 Jun 2015 20:47 #59578
by andypugh
This isn't really a job for kinematics (and no, nothing has changed in newer releases)
The motion control system has no real way to know how long the path defined by a combined linear and radial move is. There is no way to tell if your X value starts at the origin or the material surface, for example. You might know, and it might always be the same way, but there is no means to pass that to the motion controller, and making assumptions would be wrong as often as right. Your lathe will always have X = 0 at the rotation axis, but an engraver engraving onto cylindrical parts would always have Z=0 at the material surface.
The solution is to work out the feed rates at the G-code level (or earlier) and to then use the "inverse time" feed mode to tell the motion controller how long the move should take in the time domain.
Inverse time feed is a bit strange because higher numbers move faster.
www.linuxcnc.org/docs/html/gcode/gcode.h...sec:G93-G94-G95-Mode
It is a bit painful, but would be amenable to an input filter if your system is always set up with X=0 at the rotation axis.
www.linuxcnc.org/docs/html/config/ini_co...l#sub:FILTER-Section
Replied by andypugh on topic XZC Lathe Rotational feed rate - Kinematics?
Is there a way to adjust/configure the kinematics to take into consideration the current X value and compute the arc feed rate during rotation to be the same as if there was no rotation?
This isn't really a job for kinematics (and no, nothing has changed in newer releases)
The motion control system has no real way to know how long the path defined by a combined linear and radial move is. There is no way to tell if your X value starts at the origin or the material surface, for example. You might know, and it might always be the same way, but there is no means to pass that to the motion controller, and making assumptions would be wrong as often as right. Your lathe will always have X = 0 at the rotation axis, but an engraver engraving onto cylindrical parts would always have Z=0 at the material surface.
The solution is to work out the feed rates at the G-code level (or earlier) and to then use the "inverse time" feed mode to tell the motion controller how long the move should take in the time domain.
Inverse time feed is a bit strange because higher numbers move faster.
www.linuxcnc.org/docs/html/gcode/gcode.h...sec:G93-G94-G95-Mode
It is a bit painful, but would be amenable to an input filter if your system is always set up with X=0 at the rotation axis.
www.linuxcnc.org/docs/html/config/ini_co...l#sub:FILTER-Section
Please Log in or Create an account to join the conversation.
07 Jun 2015 21:55 #59581
by cts1085
Replied by cts1085 on topic XZC Lathe Rotational feed rate - Kinematics?
Andy, Thank you for your thoughts. Yes the X=0 always in my configuration being a lathe.
I will look into this - what is weird is that depending on the move command I am seeing different interpretations of the feed rate.
for example:
F2
G1 X42.003 C54.000 Z59.000
G1 X42.003 C56.000 Z59.000
Moves quickly
F2
G1 X42.003 C54.000 Z59.000
G1 C56.000
Moves very slowly.
I am wondering why this is happening...
I will look into this - what is weird is that depending on the move command I am seeing different interpretations of the feed rate.
for example:
F2
G1 X42.003 C54.000 Z59.000
G1 X42.003 C56.000 Z59.000
Moves quickly
F2
G1 X42.003 C54.000 Z59.000
G1 C56.000
Moves very slowly.
I am wondering why this is happening...
Please Log in or Create an account to join the conversation.
07 Jun 2015 22:09 #59583
by cts1085
Replied by cts1085 on topic XZC Lathe Rotational feed rate - Kinematics?
I just upgraded to 2.6.8 with my simulator and I am seeing the same behavior even without the z axis directive.
F2
g1 C250.00 X54.00
g1 C255.00 X54.00 (Fast)
g1 C260.00 (Slow)
Interesting...
F2
g1 C250.00 X54.00
g1 C255.00 X54.00 (Fast)
g1 C260.00 (Slow)
Interesting...
Please Log in or Create an account to join the conversation.
07 Jun 2015 22:13 #59584
by cts1085
Replied by cts1085 on topic XZC Lathe Rotational feed rate - Kinematics?
Sorry - more information. Maybe this is my own doing???
When the moves are long - the behavior seems to be as expected.
When the moves are short - the move is much faster - is this a situation where the move is so short that the acceleration / deceleration exceeds the feed rate?
When the moves are long - the behavior seems to be as expected.
When the moves are short - the move is much faster - is this a situation where the move is so short that the acceleration / deceleration exceeds the feed rate?
Please Log in or Create an account to join the conversation.
07 Jun 2015 22:17 #59585
by cts1085
Replied by cts1085 on topic XZC Lathe Rotational feed rate - Kinematics?
Sorry for so many posts - just trying to be specific...
The following is interesting
F2
G1 C250.0 X54.0
G1 C255.0 X54.0 (Slow as expected)
G1 C257.5 X54.01 (Fast- so when moving in multiple axis it seems to run much faster???)
The following is interesting
F2
G1 C250.0 X54.0
G1 C255.0 X54.0 (Slow as expected)
G1 C257.5 X54.01 (Fast- so when moving in multiple axis it seems to run much faster???)
Please Log in or Create an account to join the conversation.
07 Jun 2015 22:17 #59586
by andypugh
I don't think that there should be such a situation. Short moves without time to accelerate should be slower, not faster.
In a pure rotary move the current F-rate is interpreted to be degrees per minute so will typically be slow.
If there is a linear move then the F-word is interpreted as mm/min or in/min and the rotary axis moves at the speed necessary to reach the end point at the same time as the linear move.
I think that that is all that you are seeing.
Replied by andypugh on topic XZC Lathe Rotational feed rate - Kinematics?
is this a situation where the move is so short that the acceleration / deceleration exceeds the feed rate?
I don't think that there should be such a situation. Short moves without time to accelerate should be slower, not faster.
In a pure rotary move the current F-rate is interpreted to be degrees per minute so will typically be slow.
If there is a linear move then the F-word is interpreted as mm/min or in/min and the rotary axis moves at the speed necessary to reach the end point at the same time as the linear move.
I think that that is all that you are seeing.
Please Log in or Create an account to join the conversation.
07 Jun 2015 22:22 #59587
by cts1085
Replied by cts1085 on topic XZC Lathe Rotational feed rate - Kinematics?
Andy, I think this makes sense.
So when the linear move is a fraction of a MM the rotational speed will increase (or decrease) so that the linear move happens in the specified feed rate.
Interesting - so the system is then running at potentially the maximum rotational speed to make sure it ends up as close as possible to the linear feed rate.
Is this true with inverse time as well?
Thank you for your patience in responding...
-Tom
So when the linear move is a fraction of a MM the rotational speed will increase (or decrease) so that the linear move happens in the specified feed rate.
Interesting - so the system is then running at potentially the maximum rotational speed to make sure it ends up as close as possible to the linear feed rate.
Is this true with inverse time as well?
Thank you for your patience in responding...
-Tom
Please Log in or Create an account to join the conversation.
07 Jun 2015 22:26 #59588
by andypugh
Yes, but it won't look that way.
If you are in inverse time mode and program F30 then the move will take 2 seconds no matter how long it is.
So, as you reduce the length of the linear move the linear feed rate will reduce to still take 2 seconds.
The rotary move will still be set at a rate to finish at the same time as the linear move, but in inverse-time mode you won't see tiny linear moves making very fast rotary moves happen.
Replied by andypugh on topic XZC Lathe Rotational feed rate - Kinematics?
Is this true with inverse time as well?
Yes, but it won't look that way.
If you are in inverse time mode and program F30 then the move will take 2 seconds no matter how long it is.
So, as you reduce the length of the linear move the linear feed rate will reduce to still take 2 seconds.
The rotary move will still be set at a rate to finish at the same time as the linear move, but in inverse-time mode you won't see tiny linear moves making very fast rotary moves happen.
Please Log in or Create an account to join the conversation.
07 Jun 2015 23:22 #59596
by cts1085
Replied by cts1085 on topic XZC Lathe Rotational feed rate - Kinematics?
ok - so inverse time does the same thing.
If there is no linear movement, just rotational, it still moves quickly in degrees/min feed rate.
I probably will need to work on a filter or modify my original code so that if there is a rotational only move then the feed rate is reduced so the actual feed rate does not increase dramatically.
For example:
G93
G1 C255 X54 F75
G1 C257 X54.1 F75 (Slow move)
G1 C259 X54.1 F75 (Moves fast)
If there is no linear movement, just rotational, it still moves quickly in degrees/min feed rate.
I probably will need to work on a filter or modify my original code so that if there is a rotational only move then the feed rate is reduced so the actual feed rate does not increase dramatically.
For example:
G93
G1 C255 X54 F75
G1 C257 X54.1 F75 (Slow move)
G1 C259 X54.1 F75 (Moves fast)
Please Log in or Create an account to join the conversation.
Time to create page: 0.087 seconds