Following error with unusal kinematics
24 Jan 2014 06:26 #43117
by rgreg
Following error with unusal kinematics was created by rgreg
Hi All,
New to LinuxCNC. I've put together an usual wood carving CNC setup, similar to the hexapod concept but with three arms, and accepting the cutting tool is generally not perfectly vertical. Good enough for my purpose.
The joints have been individually configured with maximum speeds and accelerations, and the appropriate kinematics implemented to map the joints in and out of Cartesian space. A total maximum feed rate is also in the .ini, which is set to speed it could travel if making full use of all joints at the same time.
All works except I get Following Error on all joints unless I set the following limits to be wildly too high. The following error can be seen when moving the cutter, moving (in mm):
G1 X0
G1 X50
and repeat, as the feed rate increases, the cutting tool is increasingly further away from the 0 and 50mm extremes.
Why is that? From what I've read in the docs, LinuxCNC uses the kinematics equations to project into the future what Cartesian feed rate is achievable given the limits of the joints, and limits acceleration and speed to respect the joint limits. But it doesn't seem to do that, it is more like the maximum feed rate is a target, to aim for even if it misses badly. With the simple kinematics these problems aren't visible.
Can anybody shed any light on this? I'm finding the docs to be thin on this area. .ini is attached.
Thanks,
Richard
New to LinuxCNC. I've put together an usual wood carving CNC setup, similar to the hexapod concept but with three arms, and accepting the cutting tool is generally not perfectly vertical. Good enough for my purpose.
The joints have been individually configured with maximum speeds and accelerations, and the appropriate kinematics implemented to map the joints in and out of Cartesian space. A total maximum feed rate is also in the .ini, which is set to speed it could travel if making full use of all joints at the same time.
All works except I get Following Error on all joints unless I set the following limits to be wildly too high. The following error can be seen when moving the cutter, moving (in mm):
G1 X0
G1 X50
and repeat, as the feed rate increases, the cutting tool is increasingly further away from the 0 and 50mm extremes.
Why is that? From what I've read in the docs, LinuxCNC uses the kinematics equations to project into the future what Cartesian feed rate is achievable given the limits of the joints, and limits acceleration and speed to respect the joint limits. But it doesn't seem to do that, it is more like the maximum feed rate is a target, to aim for even if it misses badly. With the simple kinematics these problems aren't visible.
Can anybody shed any light on this? I'm finding the docs to be thin on this area. .ini is attached.
Thanks,
Richard
Please Log in or Create an account to join the conversation.
31 Jan 2014 05:52 #43353
by rgreg
Replied by rgreg on topic Following error with unusal kinematics
No thoughts on this people? Not even bemused comments?
Richard
Richard
Please Log in or Create an account to join the conversation.
31 Jan 2014 16:04 #43365
by cncbasher
Replied by cncbasher on topic Following error with unusal kinematics
post you kinematics and full config folder , so that the error may be reproduced will help
i also notice your ini shows a angular rather than a linear axis is their a reason for this ?
i also notice your ini shows a angular rather than a linear axis is their a reason for this ?
Please Log in or Create an account to join the conversation.
07 Feb 2014 05:08 #43617
by rgreg
Replied by rgreg on topic Following error with unusal kinematics
Thanks.
Technically the Z is angular, it is a wheel rather than a rail. What is is called doesn't matter to the kinematics, it is interpreted as an angle regardless of what LinuxCNC is told.
Just in case, have tested linear Z and the result is the same, laggy when in world mode. For example, when jogging X it is under shooting/over shooting on X but also Y and Z.
Config dir and kinematics attached.
Richard
Technically the Z is angular, it is a wheel rather than a rail. What is is called doesn't matter to the kinematics, it is interpreted as an angle regardless of what LinuxCNC is told.
Just in case, have tested linear Z and the result is the same, laggy when in world mode. For example, when jogging X it is under shooting/over shooting on X but also Y and Z.
Config dir and kinematics attached.
Richard
Please Log in or Create an account to join the conversation.
15 Mar 2014 23:06 #44854
by rgreg
Replied by rgreg on topic Following error with unusal kinematics
Does anybody have any suggestions? Loading the kinematics should show the problem clearly. I'm stuck on this one, don't know how to take it any further.
Richard
Richard
Please Log in or Create an account to join the conversation.
16 Mar 2014 07:28 #44867
by andypugh
Actually, I don't think that it does, which is often a great pity. I have seen this as a problem even with the 5-axis gantry simulator, where orbiting the tool round the work can lead to excessive XY speeds. The "solution" is to limit the C velocity to the worst case, but that leads to much too harsh a limit at other times.
Making this work properly is likely to have to wait until after JA4 is merged into the development version. Not because it is necessary, but because otherwise it will need to be done twice.
If you want to consider _how_ to do this properly, and write it up, this would be a huge help to anyone in the future who decides they want to implement it.
Replied by andypugh on topic Following error with unusal kinematics
Why is that? From what I've read in the docs, LinuxCNC uses the kinematics equations to project into the future what Cartesian feed rate is achievable given the limits of the joints, and limits acceleration and speed to respect the joint limits
Actually, I don't think that it does, which is often a great pity. I have seen this as a problem even with the 5-axis gantry simulator, where orbiting the tool round the work can lead to excessive XY speeds. The "solution" is to limit the C velocity to the worst case, but that leads to much too harsh a limit at other times.
Making this work properly is likely to have to wait until after JA4 is merged into the development version. Not because it is necessary, but because otherwise it will need to be done twice.
If you want to consider _how_ to do this properly, and write it up, this would be a huge help to anyone in the future who decides they want to implement it.
Please Log in or Create an account to join the conversation.
16 Mar 2014 07:30 #44868
by andypugh
Replied by andypugh on topic Following error with unusal kinematics
Oh, by the way, if you are doing any complex kins work, you really want to be working on the JA4 branch. There is now a handy auto-running macro to convert your configs
Please Log in or Create an account to join the conversation.
Time to create page: 0.071 seconds