Velocity problems
15 Aug 2013 15:57 #37687
by eslavko
Velocity problems was created by eslavko
The mess with speeds, or need to be?
As I configure my 5 axis machine I got little confused about speeds, and limits. Can someone explain why so much settings for same thing?
For now I'm knowing these:
ini file:
[DISPLAY] Section
DEFAULT_LINEAR_VELOCITY = 1
MAX_LINEAR_VELOCITY = 200
MIN_LINEAR_VELOCITY = 0.1
DEFAULT_ANGULAR_VELOCITY = 1
MIN_ANGULAR_VELOCITY = 0.1
MAX_ANGULAR_VELOCITY = 80
[TRAJ] Section
DEFAULT_VELOCITY = 80
DEFAULT_ACCELERATION = 80
MAX_VELOCITY = 80
MAX_ACCELERATION = 80
[AXIS_<num>] Section
#Linear
MAX_VELOCITY = 200
MAX_ACCELERATION = 200
STEPGEN_MAXVEL = 300
STEPGEN_MAXACCEL = 300
#angular
MAX_VELOCITY = 80
MAX_ACCELERATION = 80
STEPGEN_MAXVEL = 120
STEPGEN_MAXACCEL = 120
I think that limits in [AXIS] should never be exceded. But it is! And as result I got joint folowing error.
if I jog machine in joint mode everithing is ok. But when I switch to world mode then I got problems. XYZ are ok. But if I jog B axis the X axis got folowing error. But velocity in OSD are way to high. Then I try to lower jog speed slider and I be able to jog B axis (and X make move too as is needed). Then I increase jog speed in slider and make jog in B. In some point the commanded speed is over that reqired in axis section ] and I got folowing error.
So what relation betwen all that speeds is needed?
I was thinking the [AXIS] section is ultimate limit, and don't know why other even exists?
And where (and who) need to calculate the actual speed?
For example:
Assume B is tilted 90 deggre, and pivot is 250mm.
If I then jog C with max available speed (for C axis) the XY isn't fast enought to folow! So who need to make limit? I was thinking the slowest axis is limiting one, but is not true.
If I limit the B/C speed (taking pivot as pivot length+max tool length) then I should be never exceds speed limit for XYZ. But in that case I had limited even jogs in joint mode.
So what is correct configuration?!?
Thanks
p.s.
Hopefuly I do not overpost forum these day. (I have a lot of question to solve...)
As I configure my 5 axis machine I got little confused about speeds, and limits. Can someone explain why so much settings for same thing?
For now I'm knowing these:
ini file:
[DISPLAY] Section
DEFAULT_LINEAR_VELOCITY = 1
MAX_LINEAR_VELOCITY = 200
MIN_LINEAR_VELOCITY = 0.1
DEFAULT_ANGULAR_VELOCITY = 1
MIN_ANGULAR_VELOCITY = 0.1
MAX_ANGULAR_VELOCITY = 80
[TRAJ] Section
DEFAULT_VELOCITY = 80
DEFAULT_ACCELERATION = 80
MAX_VELOCITY = 80
MAX_ACCELERATION = 80
[AXIS_<num>] Section
#Linear
MAX_VELOCITY = 200
MAX_ACCELERATION = 200
STEPGEN_MAXVEL = 300
STEPGEN_MAXACCEL = 300
#angular
MAX_VELOCITY = 80
MAX_ACCELERATION = 80
STEPGEN_MAXVEL = 120
STEPGEN_MAXACCEL = 120
I think that limits in [AXIS] should never be exceded. But it is! And as result I got joint folowing error.
if I jog machine in joint mode everithing is ok. But when I switch to world mode then I got problems. XYZ are ok. But if I jog B axis the X axis got folowing error. But velocity in OSD are way to high. Then I try to lower jog speed slider and I be able to jog B axis (and X make move too as is needed). Then I increase jog speed in slider and make jog in B. In some point the commanded speed is over that reqired in axis section ] and I got folowing error.
So what relation betwen all that speeds is needed?
I was thinking the [AXIS] section is ultimate limit, and don't know why other even exists?
And where (and who) need to calculate the actual speed?
For example:
Assume B is tilted 90 deggre, and pivot is 250mm.
If I then jog C with max available speed (for C axis) the XY isn't fast enought to folow! So who need to make limit? I was thinking the slowest axis is limiting one, but is not true.
If I limit the B/C speed (taking pivot as pivot length+max tool length) then I should be never exceds speed limit for XYZ. But in that case I had limited even jogs in joint mode.
So what is correct configuration?!?
Thanks
p.s.
Hopefuly I do not overpost forum these day. (I have a lot of question to solve...)
Please Log in or Create an account to join the conversation.
15 Aug 2013 17:26 - 15 Aug 2013 17:27 #37695
by ArcEye
Replied by ArcEye on topic Velocity problems
Hi
See www.linuxcnc.org/docs/devel/html/config/ini_config.html
The entries in [DISPLAY] relate to overrides and jogging only, ie those items you can set in the Axis display.
The items in [TRAJ] are general trajectory figures for any axis or co-ordinated axis moves
DEFAULT_xxx relates to jogs
MAX_xxx is the highest figure of the individual axes to set the overall machine speed (axes not stepgens)
The items in [AXIS_?] are per axis and this is where the STEPGEN_MAX_xxx value should be up to 20% higher than the MAX_xxx value (not 100%, unless you have significant backlash issues)
This is to enable the stepgens to maintain co-ordinated motion with 1 or more other axis.
Rotary axes are normally set much slower and there can be issues with co-ordinated moves involving a rotary axis, these have been covered many times before
Hopefully that answers some of it
regards
See www.linuxcnc.org/docs/devel/html/config/ini_config.html
The entries in [DISPLAY] relate to overrides and jogging only, ie those items you can set in the Axis display.
The items in [TRAJ] are general trajectory figures for any axis or co-ordinated axis moves
DEFAULT_xxx relates to jogs
MAX_xxx is the highest figure of the individual axes to set the overall machine speed (axes not stepgens)
The items in [AXIS_?] are per axis and this is where the STEPGEN_MAX_xxx value should be up to 20% higher than the MAX_xxx value (not 100%, unless you have significant backlash issues)
This is to enable the stepgens to maintain co-ordinated motion with 1 or more other axis.
Rotary axes are normally set much slower and there can be issues with co-ordinated moves involving a rotary axis, these have been covered many times before
Hopefully that answers some of it
regards
Last edit: 15 Aug 2013 17:27 by ArcEye.
Please Log in or Create an account to join the conversation.
15 Aug 2013 18:38 #37701
by andypugh
I think that the problem might be the other way round. You get a following error _because_ the linear axis can't move fast enough to track the rotary axis.
LinuxCNC only properly does trajectory calculations for moves in XYZ, rotary axes are not considered. I think that the solution is to set the rotary axis limits low enough that the linear axes can keep up for the longest tool you have.
This isn't ideal, I agree. It would be better if the trajectory planner calculated the trajectory limits by calling the kinematics routine for two closely-separated points.
Incidentally. what version of LinuxCNC are you using? There is a version called Joints_axes3 which is rather better at complex-kinematics machines (and might even do what I just suggested). Unfortunately I think you have to compile it yourself at the moment.
There is a hope to incorporate this branch into the next major (2.6) release. Be aware that it uses a different INI file format (where the sections [AXIS_X] and [JOINT_0] are different things, for example. This is an example of the new format for a simple 3-axis mill: git.linuxcnc.org/gitweb?p=linuxcnc.git;a...81006f1fc57c270d9f23
Replied by andypugh on topic Velocity problems
I think that limits in [AXIS] should never be exceded. But it is! And as result I got joint folowing error.
I think that the problem might be the other way round. You get a following error _because_ the linear axis can't move fast enough to track the rotary axis.
LinuxCNC only properly does trajectory calculations for moves in XYZ, rotary axes are not considered. I think that the solution is to set the rotary axis limits low enough that the linear axes can keep up for the longest tool you have.
This isn't ideal, I agree. It would be better if the trajectory planner calculated the trajectory limits by calling the kinematics routine for two closely-separated points.
Incidentally. what version of LinuxCNC are you using? There is a version called Joints_axes3 which is rather better at complex-kinematics machines (and might even do what I just suggested). Unfortunately I think you have to compile it yourself at the moment.
There is a hope to incorporate this branch into the next major (2.6) release. Be aware that it uses a different INI file format (where the sections [AXIS_X] and [JOINT_0] are different things, for example. This is an example of the new format for a simple 3-axis mill: git.linuxcnc.org/gitweb?p=linuxcnc.git;a...81006f1fc57c270d9f23
Please Log in or Create an account to join the conversation.
15 Aug 2013 18:50 #37704
by eslavko
Replied by eslavko on topic Velocity problems
So if I understand correctly then [DISPLAY] are just for slides setings but not the motors. But if I remember correctly the wrong setting fut motor to go faster than [AXIS] is set! I will check.
in [AXIS_x] I think all is clear
but [TRAJ] still confuse me. If I understand the value in [TRAJ] is combined speed of all axes (ie speed of tool).
The slowing BC motors down seems bad idea.
Let's think about normal 3 axis machine making bal, and it's just in the half of the bal. The X and Y just make path (circle) wich radii is radii of bal+radii of cutter.
Now imagine 5 axis machine doing same thing. The X and Y must go a lot quicker to keep same tool speed around ball as X and Y path is now the ball radii+pivot_length+tool_lenght. So for that case keeping BC slow seems practical. But in the start of ball cutting (at the top) the C axis is fastest one and for that reason is not practical to slow it down if it has mechanical capabilites to be fast.
I still don't understand why I got joint folowing error. I can jog in joint mode all axes with top speed, but in world mode jogging B/C cause to overspeed XYZ.
in [AXIS_x] I think all is clear
but [TRAJ] still confuse me. If I understand the value in [TRAJ] is combined speed of all axes (ie speed of tool).
The slowing BC motors down seems bad idea.
Let's think about normal 3 axis machine making bal, and it's just in the half of the bal. The X and Y just make path (circle) wich radii is radii of bal+radii of cutter.
Now imagine 5 axis machine doing same thing. The X and Y must go a lot quicker to keep same tool speed around ball as X and Y path is now the ball radii+pivot_length+tool_lenght. So for that case keeping BC slow seems practical. But in the start of ball cutting (at the top) the C axis is fastest one and for that reason is not practical to slow it down if it has mechanical capabilites to be fast.
I still don't understand why I got joint folowing error. I can jog in joint mode all axes with top speed, but in world mode jogging B/C cause to overspeed XYZ.
Please Log in or Create an account to join the conversation.
15 Aug 2013 18:57 #37705
by eslavko
I do think this is the problem too. The keeping rotary to be so slow seems like bad dream.
I use precompiled 2.5.3 LinuxCNC.
Where is Joints_axes3? Where is manual?
To waiting for 2.6 release I think it will take just to much time.
Replied by eslavko on topic Velocity problems
I think that the problem might be the other way round. You get a following error _because_ the linear axis can't move fast enough to track the rotary axis.
LinuxCNC only properly does trajectory calculations for moves in XYZ, rotary axes are not considered. I think that the solution is to set the rotary axis limits low enough that the linear axes can keep up for the longest tool you have.
I do think this is the problem too. The keeping rotary to be so slow seems like bad dream.
I use precompiled 2.5.3 LinuxCNC.
Where is Joints_axes3? Where is manual?
To waiting for 2.6 release I think it will take just to much time.
Please Log in or Create an account to join the conversation.
15 Aug 2013 19:12 - 15 Aug 2013 19:12 #37709
by andypugh
I have not found any documentation other than the odd Wiki page (wiki.linuxcnc.org/cgi-bin/wiki.pl?IniChanges)
I will try to find the time to test your config on Joints_axes3 to see if it is actually better. (I would hate to waste your time setting up to run a dev branch, only to find that it wasn't any better).
Replied by andypugh on topic Velocity problems
I use precompiled 2.5.3 LinuxCNC.
Where is Joints_axes3? Where is manual?.
I have not found any documentation other than the odd Wiki page (wiki.linuxcnc.org/cgi-bin/wiki.pl?IniChanges)
I will try to find the time to test your config on Joints_axes3 to see if it is actually better. (I would hate to waste your time setting up to run a dev branch, only to find that it wasn't any better).
Last edit: 15 Aug 2013 19:12 by andypugh.
Please Log in or Create an account to join the conversation.
16 Aug 2013 04:18 #37721
by andypugh
Easier said than done, I don't have a 7i43 so your config won't work without a fair bit of effort.
Replied by andypugh on topic Velocity problems
I will try to find the time to test your config on Joints_axes3 to see if it is actually better. (I would hate to waste your time setting up to run a dev branch, only to find that it wasn't any better).
Easier said than done, I don't have a 7i43 so your config won't work without a fair bit of effort.
Please Log in or Create an account to join the conversation.
16 Aug 2013 12:32 #37728
by eslavko
Replied by eslavko on topic Velocity problems
Maybe just changing 7i43 to paralel port stepgen. If I didn't mess thing on my head then just few lines need to be changed. (step pos/cmd signals) and simplified estop.
But this is just thinking of greenhorn.....
Maybe is something wrotten in source code... How trajectory is calculated..
But this is just thinking of greenhorn.....
Maybe is something wrotten in source code... How trajectory is calculated..
Please Log in or Create an account to join the conversation.
16 Aug 2013 19:10 #37742
by andypugh
I had a fiddle with the 5axis config in joints_axes3. That also seems to command unlimited velocities from linear axes during rotary jogs.
Do you have the same problem with incremental jog? I realise that isn't a good long-terms solution, but if it works properly with incremental jog then I think that means that it will also work properly with a jog-wheel.
Replied by andypugh on topic Velocity problems
Maybe just changing 7i43 to paralel port stepgen
I had a fiddle with the 5axis config in joints_axes3. That also seems to command unlimited velocities from linear axes during rotary jogs.
Do you have the same problem with incremental jog? I realise that isn't a good long-terms solution, but if it works properly with incremental jog then I think that means that it will also work properly with a jog-wheel.
Please Log in or Create an account to join the conversation.
16 Aug 2013 21:58 #37750
by andypugh
Replied by andypugh on topic Velocity problems
Some discussion here: thread.gmane.org/gmane.linux.distributio...el/10813/focus=10824
It seems that the only current solution (even in JA3) is to limit the rotary axis speed to where the linear axes can keep up even with the longest tool at the worst angle.
If you use JA3 then I think you would have the option of dropping to Joint mode to jog a joint fast when you needed to.
If you calculate the maximum allowable rotary joint speed for your longest tool while staying within the linear axis limits you _might_ find that it isn't as bad as you fear.
It seems that the only current solution (even in JA3) is to limit the rotary axis speed to where the linear axes can keep up even with the longest tool at the worst angle.
If you use JA3 then I think you would have the option of dropping to Joint mode to jog a joint fast when you needed to.
If you calculate the maximum allowable rotary joint speed for your longest tool while staying within the linear axis limits you _might_ find that it isn't as bad as you fear.
Please Log in or Create an account to join the conversation.
Time to create page: 0.083 seconds