Incorrect feedrate with six axes?

More
16 Apr 2019 22:47 #131013 by jamesgao
Hi everyone, I'm building a custom machine which is basically two gantry mills right next to each other. Since the two mills have to move in a coordinated fashion, I configured my LinuxCNC with XYZ for the left mill and ABC on the right mill.

I wrote some code that will take two gcode files and combine them into XYZABC lines. I does this by resampling the points on both sides to have equal length, to ensure the distance travelled per line on each side is exactly the same. However, when I run this file, the machine's reported velocity fluctuates wildly, and rarely even makes it up to 10% of the set feedrate. If I run only the left half using XYZ commands, the machine is able to hit the full feedrate without an issue.

Any ideas why this would be happening?

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

More
16 Apr 2019 22:55 #131016 by tommylight
ABC axis are for rotational motion.
You could try to use UVW instead

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

More
16 Apr 2019 23:02 #131017 by jamesgao
I do have the configuration set for ABC as linear axes, but I will give the UVW axes a try instead tonight!

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

More
16 Apr 2019 23:51 #131020 by tommylight
I can not recall for sure but i think you will need to use "inverse time" or similar for it to work properly.
Someone else can help with it, i never used it.

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

More
17 Apr 2019 00:23 #131023 by cmorley
IIRC linuxcnc assumes ABC are rotational in many places.
Also the trajectory planner look ahead only works on XYZ

Chris M

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

More
17 Apr 2019 00:37 #131024 by jamesgao
I gave the inverse feedrate mode a try and it's exactly the same feed as the regular feedrate mode -- it seems to ignore the duration as soon as I add the ABC axes. I haven't had a chance to try out the UVW axes yet. Can anyone point me to where in the code to find the look-ahead trajectory planner queue? I'm pretty handy with code, and I can probably at least figure out what's going wrong with the feedrate, or even patch the code to fix the issue!

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

More
17 Apr 2019 00:45 #131025 by tommylight
Are the two gantry's always doing the same thing?
If yes, then that is easy with the 2.8 version of Linuxcnc.
You just have to make three double axis, meaning XX, YY, ZZ , in the ini and hal files. It can also have separate homing for all axis, granted all 6 axis have home switches.
And the best thing, no need to mess with gcode, or kinematics.

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

More
17 Apr 2019 03:59 #131033 by jamesgao
Sadly, the two gantry mills are not doing the same thing. This mill is a special system that cuts two halves of the same object -- the coordination is necessary to avoid running into itself.

I just tried the UVW axes instead of the ABC, and it had the same behavior. Interestingly, if I issue long G1 moves in MDI, it seems to achieve the requested speed. However, the fairly short G1 moves required for the contour milling seems to bog down the machine. If I adjust the resampling algorithm to return fewer points (IE one ever 2mm instead of 1mm), the feedrate goes up. Is this because my controller is too slow?

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

More
17 Apr 2019 05:20 #131035 by cmorley
This certainly sounds like the look ahead planner. If you use any axes other then xyz then it switches to one block look ahead which does not handle many small moves well.

Chris M

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

More
17 Apr 2019 05:29 #131036 by jamesgao
Interesting... Where does the code for the lookahead planner live? I'd like to see if I can make a patch.

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

Time to create page: 0.096 seconds
Powered by Kunena Forum